diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs index 934d32a5f5a..3538e0cdc75 100644 --- a/.git-blame-ignore-revs +++ b/.git-blame-ignore-revs @@ -14,6 +14,9 @@ # # $ git log --pretty=format:"%H # %cd%n# %s" $PGINDENTGITHASH -1 --date=iso +c739ae9e288c095cfe1b91ce27a2f2c075ed5da4 # 2024-08-26 16:16:09 -0700 +# Fix identation. + da256a4a7fdcca35fe7ca808686ad3de6ee22306 # 2024-05-14 16:34:50 -0400 # Pre-beta mechanical code beautification. diff --git a/configure b/configure index ccac1c11ab7..b1669bcbd86 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for PostgreSQL 17beta2. +# Generated by GNU Autoconf 2.69 for PostgreSQL 17.2. # # Report bugs to . # @@ -582,8 +582,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='PostgreSQL' PACKAGE_TARNAME='postgresql' -PACKAGE_VERSION='17beta2' -PACKAGE_STRING='PostgreSQL 17beta2' +PACKAGE_VERSION='17.2' +PACKAGE_STRING='PostgreSQL 17.2' PACKAGE_BUGREPORT='pgsql-bugs@lists.postgresql.org' PACKAGE_URL='https://www.postgresql.org/' @@ -714,6 +714,7 @@ with_libxml with_uuid with_readline with_systemd +with_libseccomp with_selinux with_ldap with_krb_srvnam @@ -863,6 +864,7 @@ with_bsd_auth with_ldap with_bonjour with_selinux +with_libseccomp with_systemd with_readline with_libedit_preferred @@ -1450,7 +1452,7 @@ if test "$ac_init_help" = "long"; then # 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 17beta2 to adapt to many kinds of systems. +\`configure' configures PostgreSQL 17.2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1515,7 +1517,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of PostgreSQL 17beta2:";; + short | recursive ) echo "Configuration of PostgreSQL 17.2:";; esac cat <<\_ACEOF @@ -1573,6 +1575,7 @@ Optional Packages: --with-ldap build with LDAP support --with-bonjour build with Bonjour support --with-selinux build with SELinux support + --with-libseccomp build with libseccomp support --with-systemd build with systemd support --without-readline do not use GNU Readline nor BSD Libedit for editing --with-libedit-preferred @@ -1690,7 +1693,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -PostgreSQL configure 17beta2 +PostgreSQL configure 17.2 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2443,7 +2446,7 @@ cat >config.log <<_ACEOF 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 17beta2, which was +It was created by PostgreSQL $as_me 17.2, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -8556,6 +8559,39 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_selinux" >&5 $as_echo "$with_selinux" >&6; } +# +# libseccomp +# +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build with libseccomp support" >&5 +$as_echo_n "checking whether to build with libseccomp support... " >&6; } + + + +# Check whether --with-libseccomp was given. +if test "${with_libseccomp+set}" = set; then : + withval=$with_libseccomp; + case $withval in + yes) + : + ;; + no) + : + ;; + *) + as_fn_error $? "no argument expected for --with-libseccomp option" "$LINENO" 5 + ;; + esac + +else + with_libseccomp=no + +fi + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_libseccomp" >&5 +$as_echo "$with_libseccomp" >&6; } + # # Systemd # @@ -13932,6 +13968,56 @@ else fi +fi + +if test "$with_libseccomp" = yes ; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for seccomp_init in -lseccomp" >&5 +$as_echo_n "checking for seccomp_init in -lseccomp... " >&6; } +if ${ac_cv_lib_seccomp_seccomp_init+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lseccomp $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char seccomp_init (); +int +main () +{ +return seccomp_init (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_seccomp_seccomp_init=yes +else + ac_cv_lib_seccomp_seccomp_init=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_seccomp_seccomp_init" >&5 +$as_echo "$ac_cv_lib_seccomp_seccomp_init" >&6; } +if test "x$ac_cv_lib_seccomp_seccomp_init" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBSECCOMP 1 +_ACEOF + + LIBS="-lseccomp $LIBS" + +else + as_fn_error $? "library 'libseccomp' is required for Seccomp BPF support" "$LINENO" 5 +fi + fi # for contrib/uuid-ossp @@ -19786,7 +19872,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # 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 17beta2, which was +This file was extended by PostgreSQL $as_me 17.2, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -19857,7 +19943,7 @@ _ACEOF 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 17beta2 +PostgreSQL config.status 17.2 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index 4852d2f53ce..6cd46799905 100644 --- a/configure.ac +++ b/configure.ac @@ -17,7 +17,7 @@ dnl Read the Autoconf manual for details. dnl m4_pattern_forbid(^PGAC_)dnl to catch undefined macros -AC_INIT([PostgreSQL], [17beta2], [pgsql-bugs@lists.postgresql.org], [], [https://www.postgresql.org/]) +AC_INIT([PostgreSQL], [17.2], [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 @@ -945,6 +945,14 @@ PGAC_ARG_BOOL(with, selinux, no, [build with SELinux support]) AC_SUBST(with_selinux) AC_MSG_RESULT([$with_selinux]) +# +# libseccomp +# +AC_MSG_CHECKING([whether to build with libseccomp support]) +PGAC_ARG_BOOL(with, libseccomp, no, [build with libseccomp support]) +AC_SUBST(with_libseccomp) +AC_MSG_RESULT([$with_libseccomp]) + # # Systemd # @@ -1590,6 +1598,11 @@ dnl If you want to use Apple's own Bonjour code on another platform, dnl just add -ldns_sd to LIBS manually. fi +if test "$with_libseccomp" = yes ; then + AC_CHECK_LIB(seccomp, seccomp_init, [], + [AC_MSG_ERROR([library 'libseccomp' is required for Seccomp BPF support])]) +fi + # for contrib/uuid-ossp if test "$with_uuid" = bsd ; then AC_CHECK_HEADERS(uuid.h, diff --git a/contrib/bloom/blscan.c b/contrib/bloom/blscan.c index 0a303a49b24..6a90c7a7175 100644 --- a/contrib/bloom/blscan.c +++ b/contrib/bloom/blscan.c @@ -121,6 +121,7 @@ blgetbitmap(IndexScanDesc scan, TIDBitmap *tbm) */ bas = GetAccessStrategy(BAS_BULKREAD); npages = RelationGetNumberOfBlocks(scan->indexRelation); + pgstat_count_index_scan(scan->indexRelation); for (blkno = BLOOM_HEAD_BLKNO; blkno < npages; blkno++) { diff --git a/contrib/pageinspect/expected/brin.out b/contrib/pageinspect/expected/brin.out index 3a9d9125e42..b6a43bbb01b 100644 --- a/contrib/pageinspect/expected/brin.out +++ b/contrib/pageinspect/expected/brin.out @@ -114,7 +114,7 @@ CREATE TABLE brin_parallel_test (a int, b text, c bigint) WITH (fillfactor=40); -- for the different opclasses we build later). INSERT INTO brin_parallel_test SELECT (CASE WHEN (mod(i,231) = 0) OR (i BETWEEN 3500 AND 4000) THEN NULL ELSE i END), - (CASE WHEN (mod(i,233) = 0) OR (i BETWEEN 3750 AND 4250) THEN NULL ELSE md5(i::text) END), + (CASE WHEN (mod(i,233) = 0) OR (i BETWEEN 3750 AND 4250) THEN NULL ELSE encode(sha256(i::text::bytea), 'hex') END), (CASE WHEN (mod(i,233) = 0) OR (i BETWEEN 3850 AND 4500) THEN NULL ELSE (i/100) + mod(i,8) END) FROM generate_series(1,5000) S(i); -- Build an index with different opclasses - minmax, bloom and minmax-multi. @@ -152,8 +152,8 @@ SELECT relname, relpages ORDER BY relname; relname | relpages ------------------------+---------- - brin_test_parallel_idx | 3 - brin_test_serial_idx | 3 + brin_test_parallel_idx | 4 + brin_test_serial_idx | 4 (2 rows) -- Check that (A except B) and (B except A) is empty, which means the indexes @@ -186,8 +186,8 @@ SELECT relname, relpages ORDER BY relname; relname | relpages ------------------------+---------- - brin_test_parallel_idx | 3 - brin_test_serial_idx | 3 + brin_test_parallel_idx | 4 + brin_test_serial_idx | 4 (2 rows) SELECT * FROM brin_page_items(get_raw_page('brin_test_parallel_idx', 2), 'brin_test_parallel_idx') diff --git a/contrib/pageinspect/expected/page.out b/contrib/pageinspect/expected/page.out index 80ddb45a60a..3fd3869c82a 100644 --- a/contrib/pageinspect/expected/page.out +++ b/contrib/pageinspect/expected/page.out @@ -239,3 +239,13 @@ SELECT page_checksum(decode(repeat('00', :block_size), 'hex'), 1); (1 row) +-- tests for sequences +create sequence test_sequence start 72057594037927937; +select tuple_data_split('test_sequence'::regclass, t_data, t_infomask, t_infomask2, t_bits) + from heap_page_items(get_raw_page('test_sequence', 0)); + tuple_data_split +------------------------------------------------------- + {"\\x0100000000000001","\\x0000000000000000","\\x00"} +(1 row) + +drop sequence test_sequence; diff --git a/contrib/pageinspect/heapfuncs.c b/contrib/pageinspect/heapfuncs.c index 3faeabc7115..38a539dad1b 100644 --- a/contrib/pageinspect/heapfuncs.c +++ b/contrib/pageinspect/heapfuncs.c @@ -320,7 +320,11 @@ tuple_data_split_internal(Oid relid, char *tupdata, raw_attrs = initArrayResult(BYTEAOID, CurrentMemoryContext, false); nattrs = tupdesc->natts; - if (rel->rd_rel->relam != HEAP_TABLE_AM_OID) + /* + * Sequences always use heap AM, but they don't show that in the catalogs. + */ + if (rel->rd_rel->relkind != RELKIND_SEQUENCE && + rel->rd_rel->relam != HEAP_TABLE_AM_OID) ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("only heap AM is supported"))); diff --git a/contrib/pageinspect/sql/brin.sql b/contrib/pageinspect/sql/brin.sql index aadbf0529f2..4edf17b5a45 100644 --- a/contrib/pageinspect/sql/brin.sql +++ b/contrib/pageinspect/sql/brin.sql @@ -62,7 +62,7 @@ CREATE TABLE brin_parallel_test (a int, b text, c bigint) WITH (fillfactor=40); -- for the different opclasses we build later). INSERT INTO brin_parallel_test SELECT (CASE WHEN (mod(i,231) = 0) OR (i BETWEEN 3500 AND 4000) THEN NULL ELSE i END), - (CASE WHEN (mod(i,233) = 0) OR (i BETWEEN 3750 AND 4250) THEN NULL ELSE md5(i::text) END), + (CASE WHEN (mod(i,233) = 0) OR (i BETWEEN 3750 AND 4250) THEN NULL ELSE encode(sha256(i::text::bytea), 'hex') END), (CASE WHEN (mod(i,233) = 0) OR (i BETWEEN 3850 AND 4500) THEN NULL ELSE (i/100) + mod(i,8) END) FROM generate_series(1,5000) S(i); diff --git a/contrib/pageinspect/sql/page.sql b/contrib/pageinspect/sql/page.sql index 5bff568d3b5..346e4ee142c 100644 --- a/contrib/pageinspect/sql/page.sql +++ b/contrib/pageinspect/sql/page.sql @@ -98,3 +98,9 @@ SHOW block_size \gset SELECT fsm_page_contents(decode(repeat('00', :block_size), 'hex')); SELECT page_header(decode(repeat('00', :block_size), 'hex')); SELECT page_checksum(decode(repeat('00', :block_size), 'hex'), 1); + +-- tests for sequences +create sequence test_sequence start 72057594037927937; +select tuple_data_split('test_sequence'::regclass, t_data, t_infomask, t_infomask2, t_bits) + from heap_page_items(get_raw_page('test_sequence', 0)); +drop sequence test_sequence; diff --git a/contrib/pg_prewarm/autoprewarm.c b/contrib/pg_prewarm/autoprewarm.c index d061731706a..5f0403726e7 100644 --- a/contrib/pg_prewarm/autoprewarm.c +++ b/contrib/pg_prewarm/autoprewarm.c @@ -54,6 +54,7 @@ #include "utils/rel.h" #include "utils/relfilenumbermap.h" #include "utils/resowner.h" +#include "utils/spccache.h" #define AUTOPREWARM_FILE "autoprewarm.blocks" @@ -437,10 +438,12 @@ void autoprewarm_database_main(Datum main_arg) { int pos; + int io_concurrency; BlockInfoRecord *block_info; Relation rel = NULL; BlockNumber nblocks = 0; BlockInfoRecord *old_blk = NULL; + BlockInfoRecord *prefetch_blk = NULL; dsm_segment *seg; /* Establish signal handlers; once that's done, unblock signals. */ @@ -487,6 +490,7 @@ autoprewarm_database_main(Datum main_arg) { relation_close(rel, AccessShareLock); rel = NULL; + io_concurrency = -1; CommitTransactionCommand(); } @@ -506,6 +510,8 @@ autoprewarm_database_main(Datum main_arg) if (!rel) CommitTransactionCommand(); + else + io_concurrency = get_tablespace_maintenance_io_concurrency(rel->rd_rel->reltablespace); } if (!rel) { @@ -538,6 +544,35 @@ autoprewarm_database_main(Datum main_arg) continue; } + /* if prefetching is enabled for this relation */ + if (io_concurrency > 0) + { + /* make prefetch_blk catch up */ + if (blk > prefetch_blk) + { + prefetch_blk = blk; + } + + /* now, prefetch all following blocks */ + while (prefetch_blk <= &block_info[apw_state->prewarm_stop_idx]) + { + /* unless they're of a different relfilenode */ + if (prefetch_blk->filenumber != blk->filenumber || + prefetch_blk->forknum != blk->forknum || + prefetch_blk->blocknum >= nblocks) + break; + + /* or unless they are more than io_concurrency blocks ahead */ + if (blk + io_concurrency <= prefetch_blk) + break; + + PrefetchBuffer(rel, prefetch_blk->forknum, prefetch_blk->blocknum); + + /* continue with the next block */ + prefetch_blk++; + } + } + /* Prewarm buffer. */ buf = ReadBufferExtended(rel, blk->forknum, blk->blocknum, RBM_NORMAL, NULL); diff --git a/contrib/pg_prewarm/pg_prewarm.control b/contrib/pg_prewarm/pg_prewarm.control index 40e3add4810..d40d1a000b7 100644 --- a/contrib/pg_prewarm/pg_prewarm.control +++ b/contrib/pg_prewarm/pg_prewarm.control @@ -3,3 +3,4 @@ comment = 'prewarm relation data' default_version = '1.2' module_pathname = '$libdir/pg_prewarm' relocatable = true +trusted = true diff --git a/contrib/pg_stat_statements/Makefile b/contrib/pg_stat_statements/Makefile index 414a30856e4..72c7994bb3c 100644 --- a/contrib/pg_stat_statements/Makefile +++ b/contrib/pg_stat_statements/Makefile @@ -19,7 +19,8 @@ LDFLAGS_SL += $(filter -lm, $(LIBS)) REGRESS_OPTS = --temp-config $(top_srcdir)/contrib/pg_stat_statements/pg_stat_statements.conf REGRESS = select dml cursors utility level_tracking planning \ - user_activity wal entry_timestamp cleanup oldextversions + user_activity wal entry_timestamp extended cleanup \ + oldextversions # Disabled because these tests require "shared_preload_libraries=pg_stat_statements", # which typical installcheck users do not have (e.g. buildfarm clients). NO_INSTALLCHECK = 1 diff --git a/contrib/pg_stat_statements/expected/extended.out b/contrib/pg_stat_statements/expected/extended.out new file mode 100644 index 00000000000..dbc78680226 --- /dev/null +++ b/contrib/pg_stat_statements/expected/extended.out @@ -0,0 +1,10 @@ +-- Tests with extended query protocol +SET pg_stat_statements.track_utility = FALSE; +-- This test checks that an execute message sets a query ID. +SELECT query_id IS NOT NULL AS query_id_set + FROM pg_stat_activity WHERE pid = pg_backend_pid() \bind \g + query_id_set +-------------- + t +(1 row) + diff --git a/contrib/pg_stat_statements/meson.build b/contrib/pg_stat_statements/meson.build index 9bfc9657e1a..a99468e870b 100644 --- a/contrib/pg_stat_statements/meson.build +++ b/contrib/pg_stat_statements/meson.build @@ -50,6 +50,7 @@ tests += { 'user_activity', 'wal', 'entry_timestamp', + 'extended', 'cleanup', 'oldextversions', ], diff --git a/contrib/pg_stat_statements/pg_stat_statements.c b/contrib/pg_stat_statements/pg_stat_statements.c index d4197ae0f7e..12718dfe45c 100644 --- a/contrib/pg_stat_statements/pg_stat_statements.c +++ b/contrib/pg_stat_statements/pg_stat_statements.c @@ -887,13 +887,6 @@ pgss_planner(Query *parse, * We can't process the query if no query_string is provided, as * pgss_store needs it. We also ignore query without queryid, as it would * be treated as a utility statement, which may not be the case. - * - * Note that planner_hook can be called from the planner itself, so we - * have a specific nesting level for the planner. However, utility - * commands containing optimizable statements can also call the planner, - * same for regular DML (for instance for underlying foreign key queries). - * So testing the planner nesting level only is not enough to detect real - * top level planner call. */ if (pgss_enabled(nesting_level) && pgss_track_planning && query_string diff --git a/contrib/pg_stat_statements/sql/extended.sql b/contrib/pg_stat_statements/sql/extended.sql new file mode 100644 index 00000000000..07b6c5a93d6 --- /dev/null +++ b/contrib/pg_stat_statements/sql/extended.sql @@ -0,0 +1,7 @@ +-- Tests with extended query protocol + +SET pg_stat_statements.track_utility = FALSE; + +-- This test checks that an execute message sets a query ID. +SELECT query_id IS NOT NULL AS query_id_set + FROM pg_stat_activity WHERE pid = pg_backend_pid() \bind \g diff --git a/contrib/pg_trgm/expected/pg_trgm.out b/contrib/pg_trgm/expected/pg_trgm.out index ce4bf1d4e51..0b70d9de256 100644 --- a/contrib/pg_trgm/expected/pg_trgm.out +++ b/contrib/pg_trgm/expected/pg_trgm.out @@ -2372,6 +2372,9 @@ ERROR: value 2025 out of bounds for option "siglen" DETAIL: Valid values are between "1" and "2024". create index trgm_idx on test_trgm using gist (t gist_trgm_ops(siglen=2024)); set enable_seqscan=off; +-- check index compatibility handling when opclass option is specified +alter table test_trgm alter column t type varchar(768); +alter table test_trgm alter column t type text; select t,similarity(t,'qwertyu0988') as sml from test_trgm where t % 'qwertyu0988' order by sml desc, t; t | sml -------------+---------- diff --git a/contrib/pg_trgm/sql/pg_trgm.sql b/contrib/pg_trgm/sql/pg_trgm.sql index 6a9da24d5a7..340c9891899 100644 --- a/contrib/pg_trgm/sql/pg_trgm.sql +++ b/contrib/pg_trgm/sql/pg_trgm.sql @@ -52,6 +52,10 @@ create index trgm_idx on test_trgm using gist (t gist_trgm_ops(siglen=2025)); create index trgm_idx on test_trgm using gist (t gist_trgm_ops(siglen=2024)); set enable_seqscan=off; +-- check index compatibility handling when opclass option is specified +alter table test_trgm alter column t type varchar(768); +alter table test_trgm alter column t type text; + select t,similarity(t,'qwertyu0988') as sml from test_trgm where t % 'qwertyu0988' order by sml desc, t; select t,similarity(t,'gwertyu0988') as sml from test_trgm where t % 'gwertyu0988' order by sml desc, t; select t,similarity(t,'gwertyu1988') as sml from test_trgm where t % 'gwertyu1988' order by sml desc, t; diff --git a/contrib/pgstattuple/expected/pgstattuple.out b/contrib/pgstattuple/expected/pgstattuple.out index 283856e109e..9176dc98b6a 100644 --- a/contrib/pgstattuple/expected/pgstattuple.out +++ b/contrib/pgstattuple/expected/pgstattuple.out @@ -273,6 +273,31 @@ select pgstathashindex('test_partition_hash_idx'); (4,8,0,1,0,0,0,100) (1 row) +-- these should work for sequences +create sequence test_sequence; +select count(*) from pgstattuple('test_sequence'); + count +------- + 1 +(1 row) + +select pg_relpages('test_sequence'); + pg_relpages +------------- + 1 +(1 row) + +-- these should fail for sequences +select pgstatindex('test_sequence'); +ERROR: relation "test_sequence" is not a btree index +select pgstatginindex('test_sequence'); +ERROR: relation "test_sequence" is not a GIN index +select pgstathashindex('test_sequence'); +ERROR: relation "test_sequence" is not a hash index +select pgstattuple_approx('test_sequence'); +ERROR: relation "test_sequence" is of wrong relation kind +DETAIL: This operation is not supported for sequences. +drop sequence test_sequence; drop table test_partitioned; drop view test_view; drop foreign table test_foreign_table; diff --git a/contrib/pgstattuple/pgstattuple.c b/contrib/pgstattuple/pgstattuple.c index 3bd8b96197f..1d012233cbf 100644 --- a/contrib/pgstattuple/pgstattuple.c +++ b/contrib/pgstattuple/pgstattuple.c @@ -323,7 +323,11 @@ pgstat_heap(Relation rel, FunctionCallInfo fcinfo) pgstattuple_type stat = {0}; SnapshotData SnapshotDirty; - if (rel->rd_rel->relam != HEAP_TABLE_AM_OID) + /* + * Sequences always use heap AM, but they don't show that in the catalogs. + */ + if (rel->rd_rel->relkind != RELKIND_SEQUENCE && + rel->rd_rel->relam != HEAP_TABLE_AM_OID) ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("only heap AM is supported"))); diff --git a/contrib/pgstattuple/sql/pgstattuple.sql b/contrib/pgstattuple/sql/pgstattuple.sql index b08c31c21b7..7e72c567a06 100644 --- a/contrib/pgstattuple/sql/pgstattuple.sql +++ b/contrib/pgstattuple/sql/pgstattuple.sql @@ -119,6 +119,18 @@ create index test_partition_hash_idx on test_partition using hash (a); select pgstatindex('test_partition_idx'); select pgstathashindex('test_partition_hash_idx'); +-- these should work for sequences +create sequence test_sequence; +select count(*) from pgstattuple('test_sequence'); +select pg_relpages('test_sequence'); + +-- these should fail for sequences +select pgstatindex('test_sequence'); +select pgstatginindex('test_sequence'); +select pgstathashindex('test_sequence'); +select pgstattuple_approx('test_sequence'); + +drop sequence test_sequence; drop table test_partitioned; drop view test_view; drop foreign table test_foreign_table; diff --git a/contrib/postgres_fdw/expected/postgres_fdw.out b/contrib/postgres_fdw/expected/postgres_fdw.out index 811a68b3ec3..063869c2ad5 100644 --- a/contrib/postgres_fdw/expected/postgres_fdw.out +++ b/contrib/postgres_fdw/expected/postgres_fdw.out @@ -637,6 +637,17 @@ EXPLAIN (VERBOSE, COSTS OFF) SELECT * FROM ft_empty ORDER BY c1; Remote SQL: SELECT c1, c2 FROM public.loct_empty ORDER BY c1 ASC NULLS LAST (3 rows) +-- test restriction on non-system foreign tables. +SET restrict_nonsystem_relation_kind TO 'foreign-table'; +SELECT * from ft1 where c1 < 1; -- ERROR +ERROR: access to non-system foreign table is restricted +INSERT INTO ft1 (c1) VALUES (1); -- ERROR +ERROR: access to non-system foreign table is restricted +DELETE FROM ft1 WHERE c1 = 1; -- ERROR +ERROR: access to non-system foreign table is restricted +TRUNCATE ft1; -- ERROR +ERROR: access to non-system foreign table is restricted +RESET restrict_nonsystem_relation_kind; -- =================================================================== -- WHERE with remotely-executable conditions -- =================================================================== diff --git a/contrib/postgres_fdw/expected/query_cancel.out b/contrib/postgres_fdw/expected/query_cancel.out index afef67aa8de..b091656cf35 100644 --- a/contrib/postgres_fdw/expected/query_cancel.out +++ b/contrib/postgres_fdw/expected/query_cancel.out @@ -2,19 +2,31 @@ SELECT version() ~ 'cygwin' AS skip_test \gset \if :skip_test \quit \endif --- Make sure this big CROSS JOIN query is pushed down -EXPLAIN (VERBOSE, COSTS OFF) SELECT count(*) FROM ft1 CROSS JOIN ft2 CROSS JOIN ft4 CROSS JOIN ft5; +-- Let's test canceling a remote query. Use a table that does not have +-- remote_estimate enabled, else there will be multiple queries to the +-- remote and we might unluckily send the cancel in between two of them. +-- First let's confirm that the query is actually pushed down. +EXPLAIN (VERBOSE, COSTS OFF) +SELECT count(*) FROM ft1 a CROSS JOIN ft1 b CROSS JOIN ft1 c CROSS JOIN ft1 d; QUERY PLAN --------------------------------------------------------------------------------------------------------------------------------------------------------------------- Foreign Scan Output: (count(*)) - Relations: Aggregate on ((((public.ft1) INNER JOIN (public.ft2)) INNER JOIN (public.ft4)) INNER JOIN (public.ft5)) - Remote SQL: SELECT count(*) FROM ((("S 1"."T 1" r1 INNER JOIN "S 1"."T 1" r2 ON (TRUE)) INNER JOIN "S 1"."T 3" r4 ON (TRUE)) INNER JOIN "S 1"."T 4" r6 ON (TRUE)) + Relations: Aggregate on ((((public.ft1 a) INNER JOIN (public.ft1 b)) INNER JOIN (public.ft1 c)) INNER JOIN (public.ft1 d)) + Remote SQL: SELECT count(*) FROM ((("S 1"."T 1" r1 INNER JOIN "S 1"."T 1" r2 ON (TRUE)) INNER JOIN "S 1"."T 1" r4 ON (TRUE)) INNER JOIN "S 1"."T 1" r6 ON (TRUE)) (4 rows) --- Make sure query cancellation works BEGIN; -SET LOCAL statement_timeout = '10ms'; -select count(*) from ft1 CROSS JOIN ft2 CROSS JOIN ft4 CROSS JOIN ft5; -- this takes very long +-- Make sure that connection is open and set up. +SELECT count(*) FROM ft1 a; + count +------- + 822 +(1 row) + +-- Timeout needs to be long enough to be sure that we've sent the slow query. +SET LOCAL statement_timeout = '100ms'; +-- This would take very long if not canceled: +SELECT count(*) FROM ft1 a CROSS JOIN ft1 b CROSS JOIN ft1 c CROSS JOIN ft1 d; ERROR: canceling statement due to statement timeout COMMIT; diff --git a/contrib/postgres_fdw/option.c b/contrib/postgres_fdw/option.c index 630b304338a..d740893918c 100644 --- a/contrib/postgres_fdw/option.c +++ b/contrib/postgres_fdw/option.c @@ -522,7 +522,7 @@ process_pgfdw_appname(const char *appname) appendStringInfoString(&buf, application_name); break; case 'c': - appendStringInfo(&buf, "%lx.%x", (long) (MyStartTime), MyProcPid); + appendStringInfo(&buf, "%" INT64_MODIFIER "x.%x", MyStartTime, MyProcPid); break; case 'C': appendStringInfoString(&buf, cluster_name); diff --git a/contrib/postgres_fdw/sql/postgres_fdw.sql b/contrib/postgres_fdw/sql/postgres_fdw.sql index 8be9f99c192..db694341885 100644 --- a/contrib/postgres_fdw/sql/postgres_fdw.sql +++ b/contrib/postgres_fdw/sql/postgres_fdw.sql @@ -327,6 +327,14 @@ DELETE FROM loct_empty; ANALYZE ft_empty; EXPLAIN (VERBOSE, COSTS OFF) SELECT * FROM ft_empty ORDER BY c1; +-- test restriction on non-system foreign tables. +SET restrict_nonsystem_relation_kind TO 'foreign-table'; +SELECT * from ft1 where c1 < 1; -- ERROR +INSERT INTO ft1 (c1) VALUES (1); -- ERROR +DELETE FROM ft1 WHERE c1 = 1; -- ERROR +TRUNCATE ft1; -- ERROR +RESET restrict_nonsystem_relation_kind; + -- =================================================================== -- WHERE with remotely-executable conditions -- =================================================================== diff --git a/contrib/postgres_fdw/sql/query_cancel.sql b/contrib/postgres_fdw/sql/query_cancel.sql index 8f11f3f9a6a..270e129d77e 100644 --- a/contrib/postgres_fdw/sql/query_cancel.sql +++ b/contrib/postgres_fdw/sql/query_cancel.sql @@ -3,10 +3,18 @@ SELECT version() ~ 'cygwin' AS skip_test \gset \quit \endif --- Make sure this big CROSS JOIN query is pushed down -EXPLAIN (VERBOSE, COSTS OFF) SELECT count(*) FROM ft1 CROSS JOIN ft2 CROSS JOIN ft4 CROSS JOIN ft5; --- Make sure query cancellation works +-- Let's test canceling a remote query. Use a table that does not have +-- remote_estimate enabled, else there will be multiple queries to the +-- remote and we might unluckily send the cancel in between two of them. +-- First let's confirm that the query is actually pushed down. +EXPLAIN (VERBOSE, COSTS OFF) +SELECT count(*) FROM ft1 a CROSS JOIN ft1 b CROSS JOIN ft1 c CROSS JOIN ft1 d; + BEGIN; -SET LOCAL statement_timeout = '10ms'; -select count(*) from ft1 CROSS JOIN ft2 CROSS JOIN ft4 CROSS JOIN ft5; -- this takes very long +-- Make sure that connection is open and set up. +SELECT count(*) FROM ft1 a; +-- Timeout needs to be long enough to be sure that we've sent the slow query. +SET LOCAL statement_timeout = '100ms'; +-- This would take very long if not canceled: +SELECT count(*) FROM ft1 a CROSS JOIN ft1 b CROSS JOIN ft1 c CROSS JOIN ft1 d; COMMIT; diff --git a/contrib/seg/Makefile b/contrib/seg/Makefile index 132ec8dbfea..b408f4049cb 100644 --- a/contrib/seg/Makefile +++ b/contrib/seg/Makefile @@ -14,7 +14,7 @@ PGFILEDESC = "seg - line segment data type" HEADERS = segdata.h -REGRESS = security seg +REGRESS = security seg partition EXTRA_CLEAN = segparse.h segparse.c segscan.c diff --git a/contrib/seg/expected/partition.out b/contrib/seg/expected/partition.out new file mode 100644 index 00000000000..90d8397d5d4 --- /dev/null +++ b/contrib/seg/expected/partition.out @@ -0,0 +1,54 @@ +-- +-- Test that partitioned-index operations cope with objects that are +-- not in the secure search path. (This has little to do with seg, +-- but we need an opclass that isn't in pg_catalog, and the base system +-- has no such opclass.) Note that we need to test propagation of the +-- partitioned index's properties both to partitions that pre-date it +-- and to partitions created later. +-- +create function mydouble(int) returns int strict immutable parallel safe +begin atomic select $1 * 2; end; +create collation mycollation from "POSIX"; +create table pt (category int, sdata seg, tdata text) + partition by list (category); +-- pre-existing partition +create table pt12 partition of pt for values in (1,2); +insert into pt values(1, '0 .. 1'::seg, 'zed'); +-- expression references object in public schema +create index pti1 on pt ((mydouble(category) + 1)); +-- opclass in public schema +create index pti2 on pt (sdata seg_ops); +-- collation in public schema +create index pti3 on pt (tdata collate mycollation); +-- new partition +create table pt34 partition of pt for values in (3,4); +insert into pt values(4, '-1 .. 1'::seg, 'foo'); +\d+ pt + Partitioned table "public.pt" + Column | Type | Collation | Nullable | Default | Storage | Stats target | Description +----------+---------+-----------+----------+---------+----------+--------------+------------- + category | integer | | | | plain | | + sdata | seg | | | | plain | | + tdata | text | | | | extended | | +Partition key: LIST (category) +Indexes: + "pti1" btree ((mydouble(category) + 1)) + "pti2" btree (sdata) + "pti3" btree (tdata COLLATE mycollation) +Partitions: pt12 FOR VALUES IN (1, 2), + pt34 FOR VALUES IN (3, 4) + +\d+ pt12 + Table "public.pt12" + Column | Type | Collation | Nullable | Default | Storage | Stats target | Description +----------+---------+-----------+----------+---------+----------+--------------+------------- + category | integer | | | | plain | | + sdata | seg | | | | plain | | + tdata | text | | | | extended | | +Partition of: pt FOR VALUES IN (1, 2) +Partition constraint: ((category IS NOT NULL) AND (category = ANY (ARRAY[1, 2]))) +Indexes: + "pt12_expr_idx" btree ((mydouble(category) + 1)) + "pt12_sdata_idx" btree (sdata) + "pt12_tdata_idx" btree (tdata COLLATE mycollation) + diff --git a/contrib/seg/meson.build b/contrib/seg/meson.build index abeaf08eff1..018ba5591ae 100644 --- a/contrib/seg/meson.build +++ b/contrib/seg/meson.build @@ -55,6 +55,7 @@ tests += { 'sql': [ 'security', 'seg', + 'partition', ], }, } diff --git a/contrib/seg/sql/partition.sql b/contrib/seg/sql/partition.sql new file mode 100644 index 00000000000..e1febdea873 --- /dev/null +++ b/contrib/seg/sql/partition.sql @@ -0,0 +1,36 @@ +-- +-- Test that partitioned-index operations cope with objects that are +-- not in the secure search path. (This has little to do with seg, +-- but we need an opclass that isn't in pg_catalog, and the base system +-- has no such opclass.) Note that we need to test propagation of the +-- partitioned index's properties both to partitions that pre-date it +-- and to partitions created later. +-- + +create function mydouble(int) returns int strict immutable parallel safe +begin atomic select $1 * 2; end; + +create collation mycollation from "POSIX"; + +create table pt (category int, sdata seg, tdata text) + partition by list (category); + +-- pre-existing partition +create table pt12 partition of pt for values in (1,2); + +insert into pt values(1, '0 .. 1'::seg, 'zed'); + +-- expression references object in public schema +create index pti1 on pt ((mydouble(category) + 1)); +-- opclass in public schema +create index pti2 on pt (sdata seg_ops); +-- collation in public schema +create index pti3 on pt (tdata collate mycollation); + +-- new partition +create table pt34 partition of pt for values in (3,4); + +insert into pt values(4, '-1 .. 1'::seg, 'foo'); + +\d+ pt +\d+ pt12 diff --git a/contrib/test_decoding/expected/stream.out b/contrib/test_decoding/expected/stream.out index 4ab2d47bf8d..a76f77601e2 100644 --- a/contrib/test_decoding/expected/stream.out +++ b/contrib/test_decoding/expected/stream.out @@ -109,6 +109,25 @@ SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL,NULL, 'incl committing streamed transaction (17 rows) +/* + * Test concurrent abort with toast data. When streaming the second insertion, we + * detect that the subtransaction was aborted, and reset the transaction while having + * the TOAST changes in memory, resulting in deallocating both decoded changes and + * TOAST reconstruction data. Memory usage counters must be updated correctly. + */ +BEGIN; +INSERT INTO stream_test SELECT repeat(string_agg(to_char(g.i, 'FM0000'), ''), 50) FROM generate_series(1, 500) g(i); +ALTER TABLE stream_test ADD COLUMN i INT; +SAVEPOINT s1; +INSERT INTO stream_test(data, i) SELECT repeat(string_agg(to_char(g.i, 'FM0000'), ''), 50), 1 FROM generate_series(1, 500) g(i); +ROLLBACK TO s1; +COMMIT; +SELECT count(*) FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1', 'stream-changes', '1'); + count +------- + 5 +(1 row) + DROP TABLE stream_test; SELECT pg_drop_replication_slot('regression_slot'); pg_drop_replication_slot diff --git a/contrib/test_decoding/expected/twophase.out b/contrib/test_decoding/expected/twophase.out index 517f20bc37e..08a7c56b5df 100644 --- a/contrib/test_decoding/expected/twophase.out +++ b/contrib/test_decoding/expected/twophase.out @@ -205,11 +205,34 @@ SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'inc COMMIT (3 rows) +-- Test that accessing a TOAST table is permitted during the decoding of a +-- prepared transaction. +-- Create a table with a column that uses a TOASTed default value. +-- (temporarily hide query, to avoid the long CREATE TABLE stmt) +\set ECHO none +BEGIN; +INSERT INTO test_tab VALUES('test'); +PREPARE TRANSACTION 'test_toast_table_access'; +SELECT count(*) FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1', 'stream-changes', '1'); + count +------- + 3 +(1 row) + +COMMIT PREPARED 'test_toast_table_access'; +-- consume commit prepared +SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1', 'stream-changes', '1'); + data +------------------------------------------- + COMMIT PREPARED 'test_toast_table_access' +(1 row) + -- Test 8: -- cleanup and make sure results are also empty DROP TABLE test_prepared1; DROP TABLE test_prepared2; DROP TABLE test_prepared_savepoint; +DROP TABLE test_tab; -- show results. There should be nothing to show SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1'); data diff --git a/contrib/test_decoding/sql/stream.sql b/contrib/test_decoding/sql/stream.sql index 4feec62972a..7f43f0c2ab7 100644 --- a/contrib/test_decoding/sql/stream.sql +++ b/contrib/test_decoding/sql/stream.sql @@ -44,5 +44,20 @@ toasted-123456789012345678901234567890123456789012345678901234567890123456789012 SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL,NULL, 'include-xids', '0', 'skip-empty-xacts', '1', 'stream-changes', '1'); +/* + * Test concurrent abort with toast data. When streaming the second insertion, we + * detect that the subtransaction was aborted, and reset the transaction while having + * the TOAST changes in memory, resulting in deallocating both decoded changes and + * TOAST reconstruction data. Memory usage counters must be updated correctly. + */ +BEGIN; +INSERT INTO stream_test SELECT repeat(string_agg(to_char(g.i, 'FM0000'), ''), 50) FROM generate_series(1, 500) g(i); +ALTER TABLE stream_test ADD COLUMN i INT; +SAVEPOINT s1; +INSERT INTO stream_test(data, i) SELECT repeat(string_agg(to_char(g.i, 'FM0000'), ''), 50), 1 FROM generate_series(1, 500) g(i); +ROLLBACK TO s1; +COMMIT; +SELECT count(*) FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1', 'stream-changes', '1'); + DROP TABLE stream_test; SELECT pg_drop_replication_slot('regression_slot'); diff --git a/contrib/test_decoding/sql/twophase.sql b/contrib/test_decoding/sql/twophase.sql index 0244795f3d9..4b9ef0c0c44 100644 --- a/contrib/test_decoding/sql/twophase.sql +++ b/contrib/test_decoding/sql/twophase.sql @@ -104,11 +104,33 @@ COMMIT PREPARED 'test_prepared_nodecode'; -- should be decoded now SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1'); +-- Test that accessing a TOAST table is permitted during the decoding of a +-- prepared transaction. + +-- Create a table with a column that uses a TOASTed default value. +-- (temporarily hide query, to avoid the long CREATE TABLE stmt) +\set ECHO none +SELECT 'CREATE TABLE test_tab (a text DEFAULT ''' || string_agg('toast value', '') || ''');' FROM generate_series(1, 4000) +\gexec +\set ECHO all + +BEGIN; +INSERT INTO test_tab VALUES('test'); +PREPARE TRANSACTION 'test_toast_table_access'; + +SELECT count(*) FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1', 'stream-changes', '1'); + +COMMIT PREPARED 'test_toast_table_access'; + +-- consume commit prepared +SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1', 'stream-changes', '1'); + -- Test 8: -- cleanup and make sure results are also empty DROP TABLE test_prepared1; DROP TABLE test_prepared2; DROP TABLE test_prepared_savepoint; +DROP TABLE test_tab; -- show results. There should be nothing to show SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1'); diff --git a/contrib/xml2/xpath.c b/contrib/xml2/xpath.c index b999b1f7066..212cb74aa22 100644 --- a/contrib/xml2/xpath.c +++ b/contrib/xml2/xpath.c @@ -386,7 +386,7 @@ pgxml_xpath(text *document, xmlChar *xpath, xpath_workspace *workspace) workspace->ctxt->node = xmlDocGetRootElement(workspace->doctree); /* compile the path */ - comppath = xmlXPathCompile(xpath); + comppath = xmlXPathCtxtCompile(workspace->ctxt, xpath); if (comppath == NULL) xml_ereport(xmlerrcxt, ERROR, ERRCODE_EXTERNAL_ROUTINE_EXCEPTION, "XPath Syntax Error"); @@ -650,7 +650,7 @@ xpath_table(PG_FUNCTION_ARGS) ctxt->node = xmlDocGetRootElement(doctree); /* compile the path */ - comppath = xmlXPathCompile(xpaths[j]); + comppath = xmlXPathCtxtCompile(ctxt, xpaths[j]); if (comppath == NULL) xml_ereport(xmlerrcxt, ERROR, ERRCODE_EXTERNAL_ROUTINE_EXCEPTION, diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index d35b82a582c..c782fc99a1b 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -5419,8 +5419,9 @@ ANY num_sync ( . @@ -5435,7 +5436,9 @@ ANY num_sync ( ). - The default is on. + The default is on. The + setting must also be + enabled to have the query planner consider index-only-scans. @@ -9384,7 +9387,7 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; If transaction_timeout is shorter or equal to idle_in_transaction_session_timeout or statement_timeout - then the longer timeout is ignored. + then the longer timeout is ignored. @@ -9813,6 +9816,23 @@ SET XML OPTION { DOCUMENT | CONTENT }; + + restrict_nonsystem_relation_kind (string) + + restrict_nonsystem_relation_kind + configuration parameter + + + + + Set relation kinds for which access to non-system relations is prohibited. + The value takes the form of a comma-separated list of relation kinds. + Currently, the supported relation kinds are view and + foreign-table. + + + + diff --git a/doc/src/sgml/ddl.sgml b/doc/src/sgml/ddl.sgml index 4240c342616..c150dd217f9 100644 --- a/doc/src/sgml/ddl.sgml +++ b/doc/src/sgml/ddl.sgml @@ -271,8 +271,8 @@ CREATE TABLE people ( example, with the above definitions and assuming additional appropriate columns, writing -INSERT INTO people (name, address) VALUE ('A', 'foo'); -INSERT INTO people (name, address) VALUE ('B', 'bar'); +INSERT INTO people (name, address) VALUES ('A', 'foo'); +INSERT INTO people (name, address) VALUES ('B', 'bar'); would generate values for the id column starting at 1 and result in the following table data: @@ -285,7 +285,7 @@ INSERT INTO people (name, address) VALUE ('B', 'bar'); Alternatively, the keyword DEFAULT can be specified in place of a value to explicitly request the sequence-generated value, like -INSERT INTO people (id, name, address) VALUE (DEFAULT, 'C', 'baz'); +INSERT INTO people (id, name, address) VALUES (DEFAULT, 'C', 'baz'); Similarly, the keyword DEFAULT can be used in UPDATE commands. @@ -4354,44 +4354,6 @@ ALTER INDEX measurement_city_id_logdate_key ... - - - There is also an option for merging multiple table partitions into - a single partition using the - ALTER TABLE ... MERGE PARTITIONS. - This feature simplifies the management of partitioned tables by allowing - users to combine partitions that are no longer needed as - separate entities. It's important to note that this operation is not - supported for hash-partitioned tables and acquires an - ACCESS EXCLUSIVE lock, which could impact high-load - systems due to the lock's restrictive nature. For example, we can - merge three monthly partitions into one quarter partition: - -ALTER TABLE measurement - MERGE PARTITIONS (measurement_y2006m01, - measurement_y2006m02, - measurement_y2006m03) INTO measurement_y2006q1; - - - - - Similarly to merging multiple table partitions, there is an option for - splitting a single partition into multiple using the - ALTER TABLE ... SPLIT PARTITION. - This feature could come in handy when one partition grows too big - and needs to be split into multiple. It's important to note that - this operation is not supported for hash-partitioned tables and acquires - an ACCESS EXCLUSIVE lock, which could impact high-load - systems due to the lock's restrictive nature. For example, we can split - the quarter partition back to monthly partitions: - -ALTER TABLE measurement SPLIT PARTITION measurement_y2006q1 INTO - (PARTITION measurement_y2006m01 FOR VALUES FROM ('2006-01-01') TO ('2006-02-01'), - PARTITION measurement_y2006m02 FOR VALUES FROM ('2006-02-01') TO ('2006-03-01'), - PARTITION measurement_y2006m03 FOR VALUES FROM ('2006-03-01') TO ('2006-04-01')); - - - diff --git a/doc/src/sgml/event-trigger.sgml b/doc/src/sgml/event-trigger.sgml index 8e009cca050..01a7f1eb18f 100644 --- a/doc/src/sgml/event-trigger.sgml +++ b/doc/src/sgml/event-trigger.sgml @@ -99,6 +99,11 @@ control statements are available to rewrite a table, like CLUSTER and VACUUM, the table_rewrite event is not triggered by them. + To find the OID of the table that was rewritten, use the function + pg_event_trigger_table_rewrite_oid() (see + ). To discover the reason(s) + for the rewrite, use the function + pg_event_trigger_table_rewrite_reason(). diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml index 1a209eaee0a..2cd93163b75 100644 --- a/doc/src/sgml/func.sgml +++ b/doc/src/sgml/func.sgml @@ -2910,7 +2910,7 @@ SELECT NOT(ROW(table.*) IS NOT NULL) FROM TABLE; -- detect at least one null in unicode_assigned unicode_assigned ( text ) - text + boolean Returns true if all characters in the string are @@ -16005,7 +16005,7 @@ table2-mapping which specifies the data type returned. It must be one of json, jsonb, bytea, a character string type (text, char, or varchar), or a type - for which there is a cast from json to that type. + that can be cast to json. By default, the json type is returned. @@ -17965,15 +17965,16 @@ ERROR: jsonpath member accessor can only be applied to an object string - String value converted from a JSON boolean, number, string, or datetime + String value converted from a JSON boolean, number, string, or + datetime jsonb_path_query_array('[1.23, "xyz", false]', '$[*].string()') ["1.23", "xyz", "false"] - jsonb_path_query('"2023-08-15"', '$.datetime().string()') - "2023-08-15" + jsonb_path_query('"2023-08-15 12:34:56"', '$.timestamp().string()') + "2023-08-15T12:34:56" @@ -18054,7 +18055,9 @@ ERROR: jsonpath member accessor can only be applied to an object decimal - Rounded decimal value converted from a JSON number or string. precision and scale must be integer values. + Rounded decimal value converted from a JSON number or string + (precision and scale must be + integer values) jsonb_path_query('1234.5678', '$.decimal(6, 2)') @@ -18156,7 +18159,7 @@ ERROR: jsonpath member accessor can only be applied to an object Time without time zone value converted from a string, with fractional - seconds adjusted to the given precision. + seconds adjusted to the given precision jsonb_path_query('"12:34:56.789"', '$.time(2)') @@ -18185,7 +18188,7 @@ ERROR: jsonpath member accessor can only be applied to an object Time with time zone value converted from a string, with fractional - seconds adjusted to the given precision. + seconds adjusted to the given precision jsonb_path_query('"12:34:56.789 +05:30"', '$.time_tz(2)') @@ -18214,7 +18217,7 @@ ERROR: jsonpath member accessor can only be applied to an object Timestamp without time zone value converted from a string, with - fractional seconds adjusted to the given precision. + fractional seconds adjusted to the given precision jsonb_path_query('"2023-08-15 12:34:56.789"', '$.timestamp(2)') @@ -18243,7 +18246,7 @@ ERROR: jsonpath member accessor can only be applied to an object Timestamp with time zone value converted from a string, with fractional - seconds adjusted to the given precision. + seconds adjusted to the given precision jsonb_path_query('"2023-08-15 12:34:56.789 +05:30"', '$.timestamp_tz(2)') @@ -18829,7 +18832,7 @@ ERROR: jsonpath array subscript is out of bounds JSON_QUERY(jsonb '[1,[2,3],null]', 'lax $[*][$off]' PASSING 1 AS off WITH CONDITIONAL WRAPPER) - [3] + 3 JSON_QUERY(jsonb '{"a": "[1, 2]"}', 'lax $.a' OMIT QUOTES) @@ -21870,6 +21873,54 @@ SELECT NULLIF(value, '(none)') ... No + + + + json_agg_strict + + json_agg_strict ( anyelement ) + json + + + + jsonb_agg_strict + + jsonb_agg_strict ( anyelement ) + jsonb + + + Collects all the input values, skipping nulls, into a JSON array. + Values are converted to JSON as per to_json + or to_jsonb. + + No + + + + + json_arrayagg + json_arrayagg ( + value_expression + ORDER BY sort_expression + { NULL | ABSENT } ON NULL + RETURNING data_type FORMAT JSON ENCODING UTF8 ) + + + Behaves in the same way as json_array + but as an aggregate function so it only takes one + value_expression parameter. + If ABSENT ON NULL is specified, any NULL + values are omitted. + If ORDER BY is specified, the elements will + appear in the array in that order rather than in the input order. + + + SELECT json_arrayagg(v) FROM (VALUES(2),(1)) t(v) + [2, 1] + + No + + json_objectagg @@ -21980,31 +22031,6 @@ SELECT NULLIF(value, '(none)') ... No - - - json_arrayagg - json_arrayagg ( - value_expression - ORDER BY sort_expression - { NULL | ABSENT } ON NULL - RETURNING data_type FORMAT JSON ENCODING UTF8 ) - - - Behaves in the same way as json_array - but as an aggregate function so it only takes one - value_expression parameter. - If ABSENT ON NULL is specified, any NULL - values are omitted. - If ORDER BY is specified, the elements will - appear in the array in that order rather than in the input order. - - - SELECT json_arrayagg(v) FROM (VALUES(2),(1)) t(v) - [2, 1] - - No - - @@ -22113,29 +22139,6 @@ SELECT NULLIF(value, '(none)') ... No - - - - json_agg_strict - - json_agg_strict ( anyelement ) - json - - - - jsonb_agg_strict - - jsonb_agg_strict ( anyelement ) - jsonb - - - Collects all the input values, skipping nulls, into a JSON array. - Values are converted to JSON as per to_json - or to_jsonb. - - No - - @@ -25217,6 +25220,10 @@ SELECT has_function_privilege('joeuser', 'myfunc(int, text)', 'execute'); are immediately available without doing SET ROLE, while SET denotes whether it is possible to change to the role using the SET ROLE command. + WITH ADMIN OPTION or WITH GRANT + OPTION can be added to any of these privilege types to + test whether the ADMIN privilege is held (all + six spellings test the same thing). This function does not allow the special case of setting user to public, because the PUBLIC pseudo-role can never be a member of real roles. @@ -31103,8 +31110,12 @@ CREATE EVENT TRIGGER test_event_trigger_for_drops integer - Returns a code explaining the reason(s) for rewriting. The exact - meaning of the codes is release dependent. + Returns a code explaining the reason(s) for rewriting. The value is + a bitmap built from the following values: 1 + (the table has changed its persistence), 2 + (default value of a column has changed), 4 + (a column has a new data type) and 8 + (the table access method has changed). diff --git a/doc/src/sgml/installation.sgml b/doc/src/sgml/installation.sgml index 1b32d5ca62c..649b74aac18 100644 --- a/doc/src/sgml/installation.sgml +++ b/doc/src/sgml/installation.sgml @@ -941,12 +941,10 @@ build-postgresql: llvm-configllvm-config will be used to find the required compilation options. - llvm-config, and then - llvm-config-$major-$minor for all supported - versions, will be searched for in your PATH. If - that would not yield the desired program, - use LLVM_CONFIG to specify a path to the - correct llvm-config. For example + llvm-config will be searched for in your + PATH. If that would not yield the desired program, + use LLVM_CONFIG to specify a path to the correct + llvm-config. For example ./configure ... --with-llvm LLVM_CONFIG='/path/to/llvm/bin/llvm-config' @@ -3781,11 +3779,11 @@ make: *** [postgres] Error 1 - - Visual + + Visual Studio - - Visual + + Visual Studio installation on @@ -3799,8 +3797,8 @@ make: *** [postgres] Error 1 - PostgreSQL for Windows with Visual can be built using meson, as described - in . + PostgreSQL for Windows with Visual Studio can be built using Meson, as + described in . The native Windows port requires a 32 or 64-bit version of Windows 10 or later. @@ -3870,14 +3868,12 @@ make: *** [postgres] Error 1 - ActiveState Perl + Strawberry Perl - ActiveState Perl is required to run the build generation scripts. MinGW + Strawberry Perl is required to run the build generation scripts. MinGW or Cygwin Perl will not work. It must also be present in the PATH. Binaries can be downloaded from - - (Note: version 5.14 or later is required, - the free Standard Distribution is sufficient). + . @@ -3929,10 +3925,11 @@ make: *** [postgres] Error 1 - ActiveState Tcl + Magicsplat Tcl - Required for building PL/Tcl (Note: version - 8.4 is required, the free Standard Distribution is sufficient). + Required for building PL/Tcl. + Binaries can be downloaded from + . diff --git a/doc/src/sgml/limits.sgml b/doc/src/sgml/limits.sgml index c549447013f..f26f4466719 100644 --- a/doc/src/sgml/limits.sgml +++ b/doc/src/sgml/limits.sgml @@ -135,4 +135,15 @@ created tuples are internally marked as null in the tuple's null bitmap, the null bitmap also occupies space. + + + Each table can store a theoretical maximum of 2^32 out-of-line values; see + for a detailed discussion of out-of-line + storage. This limit arises from the use of a 32-bit OID to identify each + such value. The practical limit is significantly less than the theoretical + limit, because as the OID space fills up, finding an OID that is still free + can become expensive, in turn slowing down INSERT/UPDATE statements. + Typically, this is only an issue for tables containing many terabytes + of data; partitioning is a possible workaround. + diff --git a/doc/src/sgml/logical-replication.sgml b/doc/src/sgml/logical-replication.sgml index a23a3d57e2b..88b2491e09b 100644 --- a/doc/src/sgml/logical-replication.sgml +++ b/doc/src/sgml/logical-replication.sgml @@ -701,10 +701,7 @@ ALTER SUBSCRIPTION failover parameter ensures a seamless transition of those subscriptions after the standby is promoted. They can continue subscribing to publications on the - new primary server without losing data. Note that in the case of - asynchronous replication, there remains a risk of data loss for transactions - committed on the former primary server but have yet to be replicated to the new - primary server. + new primary server. @@ -791,7 +788,7 @@ test_standby=# SELECT slot_name, (synced AND NOT temporary AND NOT conflicting) If all the slots are present on the standby server and the result (failover_ready) of the above SQL query is true, then existing subscriptions can continue subscribing to publications now on the - new primary server without losing data. + new primary server. diff --git a/doc/src/sgml/monitoring.sgml b/doc/src/sgml/monitoring.sgml index 9ca74348c7f..eabc4f5d172 100644 --- a/doc/src/sgml/monitoring.sgml +++ b/doc/src/sgml/monitoring.sgml @@ -2978,7 +2978,10 @@ description | Waiting for a newly initialized WAL file to reach durable storage num_timed bigint - Number of scheduled checkpoints that have been performed + Number of scheduled checkpoints due to timeout. + Note that checkpoints may be skipped if the server has been idle + since the last one, and this value counts both completed and + skipped checkpoints diff --git a/doc/src/sgml/parallel.sgml b/doc/src/sgml/parallel.sgml index 590cb385ddf..cdd4ce258eb 100644 --- a/doc/src/sgml/parallel.sgml +++ b/doc/src/sgml/parallel.sgml @@ -510,12 +510,6 @@ EXPLAIN SELECT * FROM pgbench_accounts WHERE filler LIKE '%x%'; - - - Plan nodes to which an InitPlan is attached. - - - Plan nodes that reference a correlated SubPlan. diff --git a/doc/src/sgml/plperl.sgml b/doc/src/sgml/plperl.sgml index 25b1077ad73..8007261d022 100644 --- a/doc/src/sgml/plperl.sgml +++ b/doc/src/sgml/plperl.sgml @@ -1093,6 +1093,19 @@ $$ LANGUAGE plperl; be permitted to use this language. + + + Trusted PL/Perl relies on the Perl Opcode module to + preserve security. + Perl + documents + that the module is not effective for the trusted PL/Perl use case. If + your security needs are incompatible with the uncertainty in that warning, + consider executing REVOKE USAGE ON LANGUAGE plperl FROM + PUBLIC. + + + Here is an example of a function that will not work because file system operations are not allowed for security reasons: diff --git a/doc/src/sgml/plpgsql.sgml b/doc/src/sgml/plpgsql.sgml index 747b8dc3677..8f4db1b114f 100644 --- a/doc/src/sgml/plpgsql.sgml +++ b/doc/src/sgml/plpgsql.sgml @@ -1295,7 +1295,7 @@ $$ LANGUAGE plpgsql; On failure, this function might produce an error message such as ERROR: query returned no rows -DETAIL: parameters: $1 = 'nosuchuser' +DETAIL: parameters: username = 'nosuchuser' CONTEXT: PL/pgSQL function get_userid(text) line 6 at SQL statement diff --git a/doc/src/sgml/postgres.sgml b/doc/src/sgml/postgres.sgml index ec9f90e283e..7be25c58507 100644 --- a/doc/src/sgml/postgres.sgml +++ b/doc/src/sgml/postgres.sgml @@ -9,6 +9,7 @@ %filelist; + The frontend should also be prepared to handle an ErrorMessage - response to SSLRequest from the server. This would only occur if - the server predates the addition of SSL support - to PostgreSQL. (Such servers are now very ancient, - and likely do not exist in the wild anymore.) + response to SSLRequest from the server. The frontend should not display + this error message to the user/application, since the server has not been + authenticated + (CVE-2024-10977). In this case the connection must be closed, but the frontend might choose to open a fresh connection and proceed without requesting SSL. @@ -1619,12 +1619,13 @@ SELCT 1/0; The frontend should also be prepared to handle an ErrorMessage - response to GSSENCRequest from the server. This would only occur if - the server predates the addition of GSSAPI encryption - support to PostgreSQL. In this case the - connection must be closed, but the frontend might choose to open a fresh - connection and proceed without requesting GSSAPI - encryption. + response to GSSENCRequest from the server. The frontend should not display + this error message to the user/application, since the server has not been + authenticated + (CVE-2024-10977). + In this case the connection must be closed, but the frontend might choose + to open a fresh connection and proceed without requesting + GSSAPI encryption. diff --git a/doc/src/sgml/ref/alter_domain.sgml b/doc/src/sgml/ref/alter_domain.sgml index f6704d7557a..74855172222 100644 --- a/doc/src/sgml/ref/alter_domain.sgml +++ b/doc/src/sgml/ref/alter_domain.sgml @@ -41,6 +41,11 @@ ALTER DOMAIN name RENAME TO new_name ALTER DOMAIN name SET SCHEMA new_schema + +where domain_constraint is: + +[ CONSTRAINT constraint_name ] +{ NOT NULL | CHECK (expression) } @@ -79,8 +84,7 @@ ALTER DOMAIN name ADD domain_constraint [ NOT VALID ] - This form adds a new constraint to a domain using the same syntax as - CREATE DOMAIN. + This form adds a new constraint to a domain. When a new constraint is added to a domain, all columns using that domain will be checked against the newly added constraint. These checks can be suppressed by adding the new constraint using the diff --git a/doc/src/sgml/ref/alter_index.sgml b/doc/src/sgml/ref/alter_index.sgml index e26efec064b..1d42d05d858 100644 --- a/doc/src/sgml/ref/alter_index.sgml +++ b/doc/src/sgml/ref/alter_index.sgml @@ -87,10 +87,11 @@ ALTER INDEX ALL IN TABLESPACE name - ATTACH PARTITION + ATTACH PARTITION index_name - Causes the named index to become attached to the altered index. + Causes the named index (possibly schema-qualified) to become attached + to the altered index. The named index must be on a partition of the table containing the index being altered, and have an equivalent definition. An attached index cannot be dropped by itself, and will automatically be dropped diff --git a/doc/src/sgml/ref/alter_table.sgml b/doc/src/sgml/ref/alter_table.sgml index 6a2822adad7..c6ab432df14 100644 --- a/doc/src/sgml/ref/alter_table.sgml +++ b/doc/src/sgml/ref/alter_table.sgml @@ -37,13 +37,6 @@ ALTER TABLE [ IF EXISTS ] name ATTACH PARTITION partition_name { FOR VALUES partition_bound_spec | DEFAULT } ALTER TABLE [ IF EXISTS ] name DETACH PARTITION partition_name [ CONCURRENTLY | FINALIZE ] -ALTER TABLE [ IF EXISTS ] name - SPLIT PARTITION partition_name INTO - (PARTITION partition_name1 { FOR VALUES partition_bound_spec | DEFAULT }, - PARTITION partition_name2 { FOR VALUES partition_bound_spec | DEFAULT } [, ...]) -ALTER TABLE [ IF EXISTS ] name - MERGE PARTITIONS (partition_name1, partition_name2 [, ...]) - INTO partition_name where action is one of: @@ -1017,20 +1010,18 @@ WITH ( MODULUS numeric_literal, REM A partition using FOR VALUES uses same syntax for partition_bound_spec as - CREATE TABLE. The partition bound specification + CREATE TABLE. + The partition bound specification must correspond to the partitioning strategy and partition key of the target table. The table to be attached must have all the same columns as the target table and no more; moreover, the column types must also match. Also, it must have all the NOT NULL and - CHECK constraints of the target table. Currently + CHECK constraints of the target table, not marked + NO INHERIT. Currently FOREIGN KEY constraints are not considered. UNIQUE and PRIMARY KEY constraints from the parent table will be created in the partition, if they don't already exist. - If any of the CHECK constraints of the table being - attached are marked NO INHERIT, the command will fail; - such constraints must be recreated without the - NO INHERIT clause. @@ -1124,140 +1115,14 @@ WITH ( MODULUS numeric_literal, REM - - SPLIT PARTITION partition_name INTO (PARTITION partition_name1 { FOR VALUES partition_bound_spec | DEFAULT }, PARTITION partition_name2 { FOR VALUES partition_bound_spec | DEFAULT } [, ...]) - - - - This form splits a single partition of the target table. Hash-partitioning - is not supported. Bounds of new partitions should not overlap with new and - existing partitions (except partition_name). - If the split partition is a DEFAULT partition, one of the new partitions must be DEFAULT. - In case one of the new partitions or one of existing partitions is DEFAULT, - new partitions partition_name1, - partition_name2, ... can have spaces - between partitions bounds. If the partitioned table does not have a DEFAULT - partition, the DEFAULT partition can be defined as one of the new partitions. - - - In case new partitions do not contain a DEFAULT partition and the partitioned table - does not have a DEFAULT partition, the following must be true: sum bounds of - new partitions partition_name1, - partition_name2, ... should be - equal to bound of split partition partition_name. - One of the new partitions partition_name1, - partition_name2, ... can have - the same name as split partition partition_name - (this is suitable in case of splitting a DEFAULT partition: we split it, but after - splitting we have a partition with the same name). - Only simple, non-partitioned partition can be split. - - - The new partitions will be created the same as tables created with the - SQL command CREATE TABLE partition_nameN (LIKE name INCLUDING ALL EXCLUDING INDEXES EXCLUDING IDENTITY EXCLUDING STATISTICS). - The indexes and identity are created later, after moving the data - into the new partitions. - Extended statistics aren't copied from the parent table, for consistency with - CREATE TABLE PARTITION OF. - - New partitions will have the same table access method as the parent. - If the parent table is persistent then new partitions are created - persistent. If the parent table is temporary then new partitions - are also created temporary. New partitions will also be created in - the same tablespace as the parent. - - - - This command acquires an ACCESS EXCLUSIVE lock. - This is a significant limitation, which limits the usage of this - command with large partitioned tables under a high load. - - - - - - - MERGE PARTITIONS (partition_name1, partition_name2 [, ...]) INTO partition_name - - - - This form merges several partitions into the one partition of the target table. - Hash-partitioning is not supported. If DEFAULT partition is not in the - list of partitions partition_name1, - partition_name2 [, ...]: - - - - For range-partitioned tables it is necessary that the ranges - of the partitions partition_name1, - partition_name2 [, ...] can - be merged into one range without spaces and overlaps (otherwise an error - will be generated). The combined range will be the range for the partition - partition_name. - - - - - For list-partitioned tables the value lists of all partitions - partition_name1, - partition_name2 [, ...] are - combined and form the list of values of partition - partition_name. - - - - If DEFAULT partition is in the list of partitions partition_name1, - partition_name2 [, ...]: - - - - The partition partition_name - will be the DEFAULT partition. - - - - - For range- and list-partitioned tables the ranges and lists of values - of the merged partitions can be any. - - - - The new partition partition_name - can have the same name as one of the merged partitions. Only simple, - non-partitioned partitions can be merged. - - - The new partition will be created the same as a table created with the - SQL command CREATE TABLE partition_name (LIKE name INCLUDING ALL EXCLUDING INDEXES EXCLUDING IDENTITY EXCLUDING STATISTICS). - The indexes and identity are created later, after moving the data - into the new partition. - Extended statistics aren't copied from the parent table, for consistency with - CREATE TABLE PARTITION OF. - The new partition will have the same table access method as the parent. - If the parent table is persistent then the new partition is created - persistent. If the parent table is temporary then the new partition - is also created temporary. The new partition will also be created in - the same tablespace as the parent. - - - - This command acquires an ACCESS EXCLUSIVE lock. - This is a significant limitation, which limits the usage of this - command with large partitioned tables under a high load. - - - - - All the forms of ALTER TABLE that act on a single table, except RENAME, SET SCHEMA, - ATTACH PARTITION, DETACH PARTITION, - SPLIT PARTITION, and MERGE PARTITIONS - can be combined into + ATTACH PARTITION, and + DETACH PARTITION can be combined into a list of multiple alterations to be applied together. For example, it is possible to add several columns and/or alter the type of several columns in a single command. This is particularly useful with large @@ -1500,8 +1365,7 @@ WITH ( MODULUS numeric_literal, REM partition_name - The name of the table to attach as a new partition or to detach from this table, - or the name of split partition, or the name of the new merged partition. + The name of the table to attach as a new partition or to detach from this table. @@ -1917,31 +1781,6 @@ ALTER TABLE measurement DETACH PARTITION measurement_y2015m12; - - To split a single partition of the range-partitioned table: - -ALTER TABLE sales_range SPLIT PARTITION sales_feb_mar_apr2023 INTO - (PARTITION sales_feb2023 FOR VALUES FROM ('2023-02-01') TO ('2023-03-01'), - PARTITION sales_mar2023 FOR VALUES FROM ('2023-03-01') TO ('2023-04-01'), - PARTITION sales_apr2023 FOR VALUES FROM ('2023-04-01') TO ('2023-05-01')); - - - - To split a single partition of the list-partitioned table: - -ALTER TABLE sales_list SPLIT PARTITION sales_all INTO - (PARTITION sales_west FOR VALUES IN ('Lisbon', 'New York', 'Madrid'), - PARTITION sales_east FOR VALUES IN ('Bejing', 'Delhi', 'Vladivostok'), - PARTITION sales_central FOR VALUES IN ('Warsaw', 'Berlin', 'Kyiv')); - - - - To merge several partitions into one partition of the target table: - -ALTER TABLE sales_list MERGE PARTITIONS (sales_west, sales_east, sales_central) - INTO sales_all; - - diff --git a/doc/src/sgml/ref/create_materialized_view.sgml b/doc/src/sgml/ref/create_materialized_view.sgml index 0d2fea2b97f..62d897931c3 100644 --- a/doc/src/sgml/ref/create_materialized_view.sgml +++ b/doc/src/sgml/ref/create_materialized_view.sgml @@ -143,7 +143,9 @@ CREATE MATERIALIZED VIEW [ IF NOT EXISTS ] table_name A SELECT, TABLE, or VALUES command. This query will run within a security-restricted operation; in particular, calls to functions that - themselves create temporary tables will fail. + themselves create temporary tables will fail. Also, while the query is + running, the is temporarily changed to + pg_catalog, pg_temp. diff --git a/doc/src/sgml/ref/create_table.sgml b/doc/src/sgml/ref/create_table.sgml index f19306e7760..38be1a5a710 100644 --- a/doc/src/sgml/ref/create_table.sgml +++ b/doc/src/sgml/ref/create_table.sgml @@ -924,8 +924,8 @@ WITH ( MODULUS numeric_literal, REM This clause creates the column as an identity column. It will have an implicit sequence attached to it - and the column in new rows will automatically have values from the - sequence assigned to it. + and in newly-inserted rows the column will automatically have values + from the sequence assigned to it. Such a column is implicitly NOT NULL. @@ -955,9 +955,16 @@ WITH ( MODULUS numeric_literal, REM - The optional sequence_options clause can be - used to override the options of the sequence. - See for details. + The optional sequence_options clause can + be used to override the parameters of the sequence. The available + options include those shown for , + plus SEQUENCE NAME name, + LOGGED, and UNLOGGED, which + allow selection of the name and persistence level of the + sequence. Without SEQUENCE NAME, the system + chooses an unused name for the sequence. + Without LOGGED or UNLOGGED, + the sequence will have the same persistence level as the table. diff --git a/doc/src/sgml/ref/drop_extension.sgml b/doc/src/sgml/ref/drop_extension.sgml index 484e5d9b11a..4266c6d1ceb 100644 --- a/doc/src/sgml/ref/drop_extension.sgml +++ b/doc/src/sgml/ref/drop_extension.sgml @@ -82,7 +82,7 @@ DROP EXTENSION [ IF EXISTS ] name [ This option prevents the specified extensions from being dropped if other objects, besides these extensions, their members, and their - explicitly dependent routines, depend on them.  This is the default. + explicitly dependent routines, depend on them. This is the default. diff --git a/doc/src/sgml/ref/pg_basebackup.sgml b/doc/src/sgml/ref/pg_basebackup.sgml index 82d0c8e0088..ad36166c685 100644 --- a/doc/src/sgml/ref/pg_basebackup.sgml +++ b/doc/src/sgml/ref/pg_basebackup.sgml @@ -807,14 +807,18 @@ PostgreSQL documentation will override any conflicting command line options. - The option is called --dbname for consistency with other + This option is called --dbname for consistency with other client applications, but because pg_basebackup doesn't connect to any particular database in the cluster, any database - name in the connection string will be ignored - by PostgreSQL. Middleware, or proxies, used in - connecting to PostgreSQL might however - utilize the value. The database name specified in connection string can - also be used by + name included in the connection string will be ignored by the server. + However, a database name supplied that way overrides the default + database name (replication) for purposes of + looking up the replication connection's password + in ~/.pgpass. Similarly, middleware or proxies + used in connecting to PostgreSQL might + utilize the name for purposes such as connection routing. The + database name can also be used + by logical replication slot synchronization. diff --git a/doc/src/sgml/ref/pg_createsubscriber.sgml b/doc/src/sgml/ref/pg_createsubscriber.sgml index 87a9d3db28e..04af154c4b4 100644 --- a/doc/src/sgml/ref/pg_createsubscriber.sgml +++ b/doc/src/sgml/ref/pg_createsubscriber.sgml @@ -57,13 +57,14 @@ PostgreSQL documentation After a successful run, the state of the target server is analogous to a fresh logical replication setup. The main difference between the logical - replication setup and pg_createsubscriber is the - initial data copy. It does only the synchronization phase, which ensures - each table is brought up to a synchronized state. + replication setup and pg_createsubscriber is how + the data synchronization is done. pg_createsubscriber + does not copy the initial table data. It does only the synchronization phase, + which ensures each table is brought up to a synchronized state. - The pg_createsubscriber targets large database + pg_createsubscriber targets large database systems because in logical replication setup, most of the time is spent doing the initial data copy. Furthermore, a side effect of this long time spent synchronizing data is usually a large amount of changes to be applied @@ -87,8 +88,9 @@ PostgreSQL documentation - The database name to create the subscription. Multiple databases can - be selected by writing multiple switches. + The name of the database in which to create a subscription. Multiple + databases can be selected by writing multiple + switches. @@ -139,7 +141,7 @@ PostgreSQL documentation - + The directory to use for postmaster sockets on target server. The @@ -189,8 +191,8 @@ PostgreSQL documentation Use the specified main server configuration file for the target data - directory. The pg_createsubscriber uses - internally the pg_ctl command to start and + directory. pg_createsubscriber internally uses + the pg_ctl command to start and stop the target server. It allows you to specify the actual postgresql.conf configuration file if it is stored outside the data directory. diff --git a/doc/src/sgml/ref/pg_dump.sgml b/doc/src/sgml/ref/pg_dump.sgml index b95ed875176..f27f2987bab 100644 --- a/doc/src/sgml/ref/pg_dump.sgml +++ b/doc/src/sgml/ref/pg_dump.sgml @@ -997,6 +997,14 @@ PostgreSQL documentation The only exception is that an empty pattern is disallowed. + + + Using wildcards in may result + in access to unexpected foreign servers. Also, to use this option securely, + make sure that the named server must have a trusted owner. + + + When is specified, diff --git a/doc/src/sgml/ref/pg_receivewal.sgml b/doc/src/sgml/ref/pg_receivewal.sgml index 8944eee2a36..9e353a068e5 100644 --- a/doc/src/sgml/ref/pg_receivewal.sgml +++ b/doc/src/sgml/ref/pg_receivewal.sgml @@ -315,13 +315,16 @@ PostgreSQL documentation will override any conflicting command line options. - The option is called --dbname for consistency with other + This option is called --dbname for consistency with other client applications, but because pg_receivewal doesn't connect to any particular database in the cluster, any database - name in the connection string will be ignored by - PostgreSQL. Middleware, or proxies, used in - connecting to PostgreSQL might however - utilize the value. + name included in the connection string will be ignored by the server. + However, a database name supplied that way overrides the default + database name (replication) for purposes of + looking up the replication connection's password + in ~/.pgpass. Similarly, middleware or proxies + used in connecting to PostgreSQL might + utilize the name for purposes such as connection routing. diff --git a/doc/src/sgml/ref/pg_waldump.sgml b/doc/src/sgml/ref/pg_waldump.sgml index a9371e037bd..ce23add5577 100644 --- a/doc/src/sgml/ref/pg_waldump.sgml +++ b/doc/src/sgml/ref/pg_waldump.sgml @@ -284,7 +284,7 @@ PostgreSQL documentation The full page images are saved with the following file name format: - TIMELINE-LSN.RELTABLESPACE.DATOID.RELNODE.BLKNOFORK + TIMELINE-LSN.RELTABLESPACE.DATOID.RELNODE.BLKNO_FORK The file names are composed of the following parts: @@ -335,8 +335,8 @@ PostgreSQL documentation FORK The name of the fork the full page image came from, such as - _main, _fsm, - _vm, or _init. + main, fsm, + vm, or init. diff --git a/doc/src/sgml/ref/set.sgml b/doc/src/sgml/ref/set.sgml index 5459b295259..f0e6047e0b1 100644 --- a/doc/src/sgml/ref/set.sgml +++ b/doc/src/sgml/ref/set.sgml @@ -200,7 +200,7 @@ SELECT setseed(value); - 'PST8PDT' + 'America/Los_Angeles' The time zone for Berkeley, California. @@ -298,7 +298,7 @@ SET datestyle TO postgres, dmy; Set the time zone for Berkeley, California: -SET TIME ZONE 'PST8PDT'; +SET TIME ZONE 'America/Los_Angeles'; diff --git a/doc/src/sgml/regress.sgml b/doc/src/sgml/regress.sgml index d1042e02228..f4cef9e80f7 100644 --- a/doc/src/sgml/regress.sgml +++ b/doc/src/sgml/regress.sgml @@ -576,11 +576,11 @@ make check NO_LOCALE=1 Most of the date and time results are dependent on the time zone environment. The reference files are generated for time zone - PST8PDT (Berkeley, California), and there will be + America/Los_Angeles, and there will be apparent failures if the tests are not run with that time zone setting. The regression test driver sets environment variable - PGTZ to PST8PDT, which normally - ensures proper results. + PGTZ to America/Los_Angeles, + which normally ensures proper results. diff --git a/doc/src/sgml/release-17.sgml b/doc/src/sgml/release-17.sgml index e9cee92ff44..5913e87a490 100644 --- a/doc/src/sgml/release-17.sgml +++ b/doc/src/sgml/release-17.sgml @@ -1,12 +1,1440 @@ + + Release 17.2 + + + Release date: + 2024-11-21 + + + + This release contains a few fixes from 17.1. + For information about new features in major release 17, see + . + + + + Migration to Version 17.2 + + + A dump/restore is not required for those running 17.X. + + + + However, if you are upgrading from a version earlier than 17.1, + see . + + + + + Changes + + + + + + + Repair ABI break for extensions that work with + struct ResultRelInfo (Tom Lane) + § + + + + Last week's minor releases unintentionally broke binary + compatibility with timescaledb and + several other extensions. Restore the affected structure to its + previous size, so that such extensions need not be rebuilt. + + + + + + + Restore functionality of ALTER {ROLE|DATABASE} SET + role (Tom Lane, Noah Misch) + § + + + + The fix for CVE-2024-10978 accidentally caused settings + for role to not be applied if they come from + non-interactive sources, including previous ALTER + {ROLE|DATABASE} commands and + the PGOPTIONS environment variable. + + + + + + + Fix cases where a logical replication + slot's restart_lsn could go backwards + (Masahiko Sawada) + § + + + + Previously, restarting logical replication could sometimes cause the + slot's restart point to be recomputed as an older value than had + previously been advertised + in pg_replication_slots. This is bad, + since for example WAL files might have been removed on the basis of + the later restart_lsn value, in which + case replication would fail to restart. + + + + + + + Avoid deleting still-needed WAL files + during pg_rewind + (Polina Bungina, Alexander Kukushkin) + § + + + + Previously, in unlucky cases, it was possible + for pg_rewind to remove important WAL + files from the rewound demoted primary. In particular this happens + if those files have been marked for archival (i.e., + their .ready files were created) but not yet + archived. Then the newly promoted node no longer has such files + because of them having been recycled, but likely they are needed + for recovery in the demoted node. + If pg_rewind removes them, recovery is + not possible anymore. + + + + + + + Fix race conditions associated with dropping shared statistics + entries (Kyotaro Horiguchi, Michael Paquier) + § + + + + These bugs could lead to loss of statistics data, assertion + failures, or can only drop stats once errors. + + + + + + + Count index scans in contrib/bloom indexes in + the statistics views, such as the + pg_stat_user_indexes.idx_scan + counter (Masahiro Ikeda) + § + + + + + + + Fix crash when checking to see if an index's opclass options have + changed (Alexander Korotkov) + § + + + + Some forms of ALTER TABLE would fail if the + table has an index with non-default operator class options. + + + + + + + Avoid assertion failure caused by disconnected NFA sub-graphs in + regular expression parsing (Tom Lane) + § + + + + This bug does not appear to have any visible consequences in + non-assert builds. + + + + + + + + + + Release 17.1 + + + Release date: + 2024-11-14 + + + + This release contains a variety of fixes from 17.0. + For information about new features in major release 17, see + . + + + + Migration to Version 17.1 + + + A dump/restore is not required for those running 17.X. + + + + However, if you have ever detached a partition from a partitioned + table that has a foreign-key reference to another partitioned table, + and not dropped the former partition, then you may have catalog and/or + data corruption to repair, as detailed in the fifth changelog entry + below. + + + + Also, in the uncommon case that a + database's LC_CTYPE setting is C + while its LC_COLLATE setting is some other locale, + indexes on textual columns should be reindexed, as described in the + sixth changelog entry below. + + + + + Changes + + + + + + + Ensure cached plans are marked as dependent on the calling role when + RLS applies to a non-top-level table reference (Nathan Bossart) + § + + + + If a CTE, subquery, sublink, security invoker view, or coercion + projection in a query references a table with row-level security + policies, we neglected to mark the resulting plan as potentially + dependent on which role is executing it. This could lead to later + query executions in the same session using the wrong plan, and then + returning or hiding rows that should have been hidden or returned + instead. + + + + The PostgreSQL Project thanks + Wolfgang Walther for reporting this problem. + (CVE-2024-10976) + + + + + + + Make libpq discard error messages + received during SSL or GSS protocol negotiation (Jacob Champion) + § + + + + An error message received before encryption negotiation is completed + might have been injected by a man-in-the-middle, rather than being + real server output. Reporting it opens the door to various security + hazards; for example, the message might spoof a query result that a + careless user could mistake for correct output. The best answer + seems to be to discard such data and rely only + on libpq's own report of the connection + failure. + + + + The PostgreSQL Project thanks + Jacob Champion for reporting this problem. + (CVE-2024-10977) + + + + + + + Fix unintended interactions between SET SESSION + AUTHORIZATION and SET ROLE (Tom Lane) + § + § + + + + The SQL standard mandates that SET SESSION + AUTHORIZATION have a side-effect of doing SET + ROLE NONE. Our implementation of that was flawed, + creating more interaction between the two settings than intended. + Notably, rolling back a transaction that had done SET + SESSION AUTHORIZATION would revert ROLE + to NONE even if that had not been the previous + state, so that the effective user ID might now be different from + what it had been before the transaction. Transiently + setting session_authorization in a + function SET clause had a similar effect. + A related bug was that if a parallel worker + inspected current_setting('role'), it + saw none even when it should see something else. + + + + The PostgreSQL Project thanks + Tom Lane for reporting this problem. + (CVE-2024-10978) + + + + + + + Prevent trusted PL/Perl code from changing environment variables + (Andrew Dunstan, Noah Misch) + § + § + § + + + + The ability to manipulate process environment variables such + as PATH gives an attacker opportunities to + execute arbitrary code. Therefore, trusted PLs must + not offer the ability to do that. To fix plperl, + replace %ENV with a tied hash that rejects any + modification attempt with a warning. + Untrusted plperlu retains the ability to change + the environment. + + + + The PostgreSQL Project thanks + Coby Abrams for reporting this problem. + (CVE-2024-10979) + + + + + + + Fix updates of catalog state for foreign-key constraints when + attaching or detaching table partitions (Jehan-Guillaume de + Rorthais, Tender Wang, Álvaro Herrera) + § + § + + + + If the referenced table is partitioned, then different catalog + entries are needed for a referencing table that is stand-alone + versus one that is a partition. ATTACH/DETACH + PARTITION commands failed to perform this conversion + correctly. In particular, after DETACH the now + stand-alone table would be missing foreign-key enforcement triggers, + which could result in the table later containing rows that fail the + foreign-key constraint. A subsequent re-ATTACH + could fail with surprising errors, too. + + + + The way to fix this is to do ALTER TABLE DROP + CONSTRAINT on the now stand-alone table for each faulty + constraint, and then re-add the constraint. If re-adding the + constraint fails, then some erroneous data has crept in. You will + need to manually re-establish consistency between the referencing + and referenced tables, then re-add the constraint. + + + + This query can be used to identify broken constraints and construct + the commands needed to recreate them: + +SELECT conrelid::pg_catalog.regclass AS "constrained table", + conname AS constraint, + confrelid::pg_catalog.regclass AS "references", + pg_catalog.format('ALTER TABLE %s DROP CONSTRAINT %I;', + conrelid::pg_catalog.regclass, conname) AS "drop", + pg_catalog.format('ALTER TABLE %s ADD CONSTRAINT %I %s;', + conrelid::pg_catalog.regclass, conname, + pg_catalog.pg_get_constraintdef(oid)) AS "add" +FROM pg_catalog.pg_constraint c +WHERE contype = 'f' AND conparentid = 0 AND + (SELECT count(*) FROM pg_catalog.pg_constraint c2 + WHERE c2.conparentid = c.oid) <> + (SELECT count(*) FROM pg_catalog.pg_inherits i + WHERE (i.inhparent = c.conrelid OR i.inhparent = c.confrelid) AND + EXISTS (SELECT 1 FROM pg_catalog.pg_partitioned_table + WHERE partrelid = i.inhparent)); + + Since it is possible that one or more of the ADD + CONSTRAINT steps will fail, you should save the query's + output in a file and then attempt to perform each step. + + + + + + + Fix test for C locale + when LC_COLLATE is different + from LC_CTYPE (Jeff Davis) + § + + + + When using libc as the default collation + provider, the test to see if C locale is in use + for collation accidentally checked LC_CTYPE + not LC_COLLATE. This has no impact in the + typical case where those settings are the same, nor if both are + not C (nor its alias POSIX). + However, if LC_CTYPE is C + while LC_COLLATE is some other locale, wrong + query answers could ensue, and corruption of indexes on strings was + possible. Users of databases with such settings should reindex + affected indexes after installing this update. + The converse case with LC_COLLATE + being C while LC_CTYPE is some + other locale would cause performance degradation, but no actual + errors. + + + + + + + Don't use partitionwise joins or grouping if the query's collation + for the key column doesn't match the partition key's collation (Jian + He, Webbo Han) + § + § + + + + Such plans could produce incorrect results. + + + + + + + Avoid planner failure after converting an IS NULL + test on a NOT NULL column to + constant FALSE (Richard Guo) + § + + + + This bug typically led to errors such as variable not found + in subplan target lists. + + + + + + + Avoid possible planner crash while inlining a SQL function whose + arguments contain certain array-related constructs (Tom Lane, Nathan + Bossart) + § + + + + + + + Fix possible wrong answers or wrong varnullingrels + planner errors for MERGE ... WHEN NOT MATCHED BY + SOURCE actions (Dean Rasheed) + § + § + + + + + + + Fix possible could not find pathkey item to sort + error when the output of a UNION ALL member query + needs to be sorted, and the sort column is an expression (Andrei + Lepikhov, Tom Lane) + § + + + + + + + Fix edge case in B-tree ScalarArrayOp index scans (Peter Geoghegan) + § + + + + When a scrollable cursor with a plan of this kind was backed up to its + starting point and then run forward again, wrong answers were + possible. + + + + + + + Fix assertion failure or confusing error message for COPY + (query) TO ..., when + the query is rewritten by a DO + INSTEAD NOTIFY rule (Tender Wang, Tom Lane) + § + + + + + + + Fix validation + of COPY's FORCE_NOT_NULL + and FORCE_NULL options (Joel Jacobson) + § + + + + Some incorrect usages are now rejected as they should be. + + + + + + + Fix server crash when a json_objectagg() call + contains a volatile function (Amit Langote) + § + + + + + + + Fix detection of skewed data during parallel hash join (Thomas + Munro) + § + + + + After repartitioning the inner side of a hash join because one + partition has accumulated too many tuples, we check to see if all + the partition's tuples went into the same child partition, which + suggests that they all have the same hash value and further + repartitioning cannot improve matters. This check malfunctioned in + some cases, allowing repeated futile repartitioning which would + eventually end in a resource-exhaustion error. + + + + + + + Avoid crash when ALTER DATABASE SET is used to + set a server parameter that requires search-path-based lookup, such + as default_text_search_config (Jeff Davis) + § + + + + + + + Avoid repeated lookups of opclasses and collations while creating a + new index on a partitioned table (Tom Lane) + § + + + + This was problematic mainly because some of the lookups would be + done with a restricted search_path, leading to + unexpected failures if the CREATE INDEX command + referenced objects outside pg_catalog. + + + + This fix also prevents comments on the parent partitioned index from + being copied to child indexes. + + + + + + + Add missing dependency from a partitioned table to a non-built-in + access method specified in CREATE TABLE ... USING + (Michael Paquier) + § + + + + Dropping the access method should be blocked when a table exists + that depends on it, but it was not, allowing subsequent odd + behavior. Note that this fix only prevents problems for partitioned + tables created after this update. + + + + + + + Disallow locale names containing non-ASCII characters (Thomas Munro) + § + + + + This is only an issue on Windows, as such locale names are not used + elsewhere. They are problematic because it's quite unclear what + encoding such names are represented in (since the locale itself + defines the encoding to use). In + recent PostgreSQL releases, an abort in + the Windows runtime library could occur because of confusion about + that. + + + + Anyone who encounters the new error message should either create a + new duplicated locale with an ASCII-only name using Windows Locale + Builder, or consider using BCP 47-compliant locale names + like tr-TR. + + + + + + + Fix race condition in committing a serializable transaction (Heikki + Linnakangas) + § + + + + Mis-processing of a recently committed transaction could lead to an + assertion failure or a could not access status of + transaction error. + + + + + + + Fix race condition in COMMIT PREPARED + that resulted in orphaned 2PC files (wuchengwen) + § + + + + A concurrent PREPARE TRANSACTION could + cause COMMIT PREPARED to not remove the on-disk + two-phase state file for the completed transaction. There was no + immediate ill effect, but a subsequent crash-and-recovery could fail + with could not access status of transaction, + requiring manual removal of the orphaned file to restore service. + + + + + + + Avoid invalid memory accesses after skipping an invalid toast index + during VACUUM FULL (Tender Wang) + § + + + + A list tracking yet-to-be-rebuilt indexes was not properly updated + in this code path, risking assertion failures or crashes later on. + + + + + + + Fix ways in which an in place catalog update could be + lost (Noah Misch) + § + § + § + § + § + § + § + + + + Normal row updates write a new version of the row to preserve + rollback-ability of the transaction. However, certain system + catalog updates are intentionally non-transactional and are done + with an in-place update of the row. These patches fix race + conditions that could cause the effects of an in-place update to be + lost. As an example, it was possible to forget having set + pg_class.relhasindex + to true, preventing updates of the new index and thus causing index + corruption. + + + + + + + Reset catalog caches at end of recovery (Noah Misch) + § + + + + This prevents scenarios wherein an in-place catalog update could be + lost due to using stale data from a catalog cache. + + + + + + + Avoid using parallel query while holding off interrupts + (Francesco Degrassi, Noah Misch, Tom Lane) + § + § + + + + This situation cannot arise normally, but it can be reached with + test scenarios such as using a SQL-language function as B-tree + support (which would be far too slow for production usage). If it + did occur it would result in an indefinite wait. + + + + + + + Ignore not-yet-defined Portals in + the pg_cursors view (Tom Lane) + § + + + + It is possible for user-defined code that inspects this view to be + called while a new cursor is being set up, and if that happens a + null pointer dereference would ensue. Avoid the problem by defining + the view to exclude incompletely-set-up cursors. + + + + + + + Avoid unexpected table_index_fetch_tuple call during logical + decoding error while decoding a transaction involving + insertion of a column default value (Takeshi Ideriha, Hou Zhijie) + § + § + + + + + + + Reduce memory consumption of logical decoding (Masahiko Sawada) + § + + + + Use a smaller default block size to store tuple data received during + logical replication. This reduces memory wastage, which has been + reported to be severe while processing long-running transactions, + even leading to out-of-memory failures. + + + + + + + Fix behavior of stable functions called from + a CALL statement's argument list, when + the CALL is within a + PL/pgSQL EXCEPTION block (Tom Lane) + § + + + + As with a similar fix in our previous quarterly releases, this case + allowed such functions to be passed the wrong snapshot, causing them + to see stale values of rows modified since the start of the outer + transaction. + + + + + + + Parse libpq's keepalives + connection option in the same way as other integer-valued options + (Yuto Sasaki) + § + + + + The coding used here rejected trailing whitespace in the option + value, unlike other cases. This turns out to be problematic + in ecpg's usage, for example. + + + + + + + In ecpglib, fix out-of-bounds read when + parsing incorrect datetime input (Bruce Momjian, Pavel Nekrasov) + § + + + + It was possible to try to read the location just before the start of + a constant array. Real-world consequences seem minimal, though. + + + + + + + Fix psql's describe commands to again + work with pre-9.4 servers (Tom Lane) + § + + + + Commands involving display of an ACL (permissions) column failed + with very old PostgreSQL servers, due to + use of a function not present in those versions. + + + + + + + Avoid hanging if an interval less than 1ms is specified + in psql's \watch + command (Andrey Borodin, Michael Paquier) + § + + + + Instead, treat this the same as an interval of zero (no wait between + executions). + + + + + + + Fix failure to find replication password + in ~/.pgpass (Tom Lane) + § + + + + pg_basebackup + and pg_receivewal failed to match an entry + in ~/.pgpass that + had replication in the database name field, if + no or switch was + supplied. This resulted in an unexpected prompt for password. + + + + + + + In pg_combinebackup, throw an error if an + incremental backup file is present in a directory that is supposed to + contain a full backup (Robert Haas) + § + + + + + + + In pg_combinebackup, don't construct + filenames containing double slashes (Robert Haas) + § + + + + This caused no functional problems, but the duplicate slashes were + visible in error messages, which could create confusion. + + + + + + + Avoid trying to reindex temporary tables and indexes + in vacuumdb and in + parallel reindexdb (VaibhaveS, Michael + Paquier, Fujii Masao, Nathan Bossart) + § + § + § + + + + Reindexing other sessions' temporary tables cannot work, but the + check to skip them was missing in some code paths, leading to + unwanted failures. + + + + + + + Fix incorrect LLVM-generated code on ARM64 platforms (Thomas + Munro, Anthonin Bonnefoy) + § + + + + When using JIT compilation on ARM platforms, the generated code + could not support relocation distances exceeding 32 bits, allowing + unlucky placement of generated code to cause server crashes on + large-memory systems. + + + + + + + Fix a few places that assumed that process start time (represented + as a time_t) will fit into a long value + (Max Johnson, Nathan Bossart) + § + + + + On platforms where long is 32 bits (notably Windows), + this coding would fail after Y2038. Most of the failures appear + only cosmetic, but notably pg_ctl start would + hang. + + + + + + + Update time zone data files to tzdata + release 2024b (Tom Lane) + § + § + + + + This tzdata release changes the old + System-V-compatibility zone names to duplicate the corresponding + geographic zones; for example PST8PDT is now an + alias for America/Los_Angeles. The main visible + consequence is that for timestamps before the introduction of + standardized time zones, the zone is considered to represent local + mean solar time for the named location. For example, + in PST8PDT, timestamptz input such + as 1801-01-01 00:00 would previously have been + rendered as 1801-01-01 00:00:00-08, but now it is + rendered as 1801-01-01 00:00:00-07:52:58. + + + + Also, historical corrections for Mexico, Mongolia, and Portugal. + Notably, Asia/Choibalsan is now an alias + for Asia/Ulaanbaatar rather than being a separate + zone, mainly because the differences between those zones were found to + be based on untrustworthy data. + + + + + + + + Release 17 Release date: - 2024-??-??, AS OF 2024-06-17 + 2024-09-26 @@ -18,7 +1446,84 @@ - TO BE COMPLETED LATER + + + New memory management system for VACUUM, which reduces + memory consumption and can improve overall vacuuming performance. + + + + + + New SQL/JSON capabilities, including constructors, + identity functions, and the JSON_TABLE() + function, which converts JSON data into a table representation. + + + + + + Various query performance improvements, including for sequential reads + using streaming I/O, write throughput under high concurrency, and + searches over multiple values in a btree + index. + + + + + + Logical replication enhancements, including: + + + + Failover control + + + + + pg_createsubscriber, + a utility that creates logical replicas from physical standbys + + + + + pg_upgrade now + preserves logical replication slots on publishers and full + subscription state on subscribers. This will allow upgrades + to future major versions to continue logical replication without + requiring copy to resynchronize. + + + + + + + + + New client-side connection option, sslnegotiation=direct, + that performs a direct TLS handshake to avoid a round-trip negotiation. + + + + + + pg_basebackup + now supports incremental backup. + + + + + + COPY adds a new option, + ON_ERROR ignore, that allows a copy operation to + continue in the event of an error. + + @@ -51,17 +1556,23 @@ Change functions to use a safe during maintenance operations (Jeff Davis) + § + § This prevents maintenance operations (ANALYZE, - CLUSTER, REFRESH + CLUSTER, CREATE + INDEX, CREATE + MATERIALIZED VIEW, REFRESH MATERIALIZED VIEW, REINDEX, or VACUUM) from performing unsafe access. Functions used by expression indexes and materialized views that @@ -81,6 +1592,8 @@ Author: Michael Paquier Restrict ago to only appear at the end in interval values (Joseph Koshakow) + § + § @@ -96,6 +1609,7 @@ Author: Thomas Munro Remove server variable old_snapshot_threshold (Thomas Munro) + § @@ -117,6 +1631,7 @@ Author: Nathan Bossart Change SET SESSION AUTHORIZATION handling of the initial session user's superuser status (Joseph Koshakow) + § @@ -134,6 +1649,7 @@ Author: Nathan Bossart Remove feature which simulated per-database users (Nathan Bossart) + § @@ -141,6 +1657,24 @@ Author: Nathan Bossart + + + + + Remove adminpack contrib extension + (Daniel Gustafsson) + § + + + + This was used by now end-of-life pgAdmin + III. + + + Allow granting the right to perform maintenance operations (Nathan Bossart) + § @@ -879,6 +2466,7 @@ Author: Nathan Bossart membership to execute pg_current_logfile() (Pavlo Golub, Nathan Bossart) + § @@ -901,6 +2489,7 @@ Author: Robert Haas Add system variable to disallow ALTER SYSTEM (Jelte Fennema-Nio, Gabriele Bartolini) + § @@ -914,6 +2503,7 @@ Author: Tom Lane Allow ALTER SYSTEM to set unrecognized custom server variables (Tom Lane) + § @@ -936,6 +2526,9 @@ Author: Alexander Korotkov Add server variable to restrict the duration of transactions (Andrey Borodin, Japin Li, Junwang Zhao, Alexander Korotkov) + § + § + § @@ -953,6 +2546,10 @@ Author: Jeff Davis Add a builtin platform-independent collation provider (Jeff Davis) + § + § + § + § @@ -968,8 +2565,9 @@ Author: Michael Paquier - Add server variable to report - the use of huge pages by Postgres (Justin Pryzby) + Add server variable to + report the use of huge pages by Postgres (Justin Pryzby) + § @@ -986,6 +2584,7 @@ Author: Daniel Gustafsson Add server variable to disable event triggers (Daniel Gustafsson) + § @@ -1005,6 +2604,7 @@ Author: Alvaro Herrera linkend="monitoring-pg-stat-slru-view">SLRU cache sizes to be configured (Andrey Borodin, Dilip Kumar, Alvaro Herrera) + § @@ -1043,6 +2643,8 @@ Author: Tomas Vondra Add support for incremental file system backup (Robert Haas, Jakub Wartak, Tomas Vondra) + § + § @@ -1070,6 +2672,10 @@ Author: Robert Haas Allow the creation of WAL summarization files (Robert Haas, Nathan Bossart, Hubert Depesz Lubaczewski) + § + § + § + § @@ -1095,6 +2701,7 @@ Author: Robert Haas Add the system identifier to file system backup manifest files (Amul Sul) + § @@ -1114,6 +2721,7 @@ Author: Amit Kapila linkend="app-pgbasebackup">pg_basebackup writes connection information to postgresql.auto.conf (Vignesh C, Hayato Kuroda) + § @@ -1130,6 +2738,8 @@ Author: Amit Kapila linkend="view-pg-replication-slots">pg_replication_slots.invalidation_reason to report the reason for invalid slots (Shveta Malik, Bharath Rupireddy) + § + § @@ -1147,6 +2757,9 @@ Author: Amit Kapila Add column pg_replication_slots.inactive_since to report slot inactivity duration (Bharath Rupireddy) + § + § + § @@ -1163,6 +2776,8 @@ Author: Amit Kapila linkend="functions-replication-table">pg_sync_replication_slots() to synchronize logical replication slots (Hou Zhijie, Shveta Malik, Ajin Cherian, Peter Eisentraut) + § + § @@ -1176,6 +2791,7 @@ Author: Amit Kapila Add the failover property to the replication protocol (Hou Zhijie, Shveta Malik) + § @@ -1199,6 +2815,7 @@ Author: Peter Eisentraut linkend="app-pgcreatesubscriber">pg_createsubscriber to create a logical replica from a physical standby server (Euler Taveira) + § @@ -1215,6 +2832,8 @@ Author: Amit Kapila linkend="pgupgrade">pg_upgrade migrate valid logical slots and subscriptions (Hayato Kuroda, Hou Zhijie, Vignesh C, Julien Rouhaud, Shlok Kyal) + § + § @@ -1235,6 +2854,7 @@ Author: Amit Kapila Enable the failover of logical slots (Hou Zhijie, Shveta Malik, Ajin Cherian) + § @@ -1255,6 +2875,8 @@ Author: Amit Kapila Add server variable to enable failover logical slot synchronization (Shveta Malik, Hou Zhijie, Peter Smith) + § + § @@ -1271,6 +2893,8 @@ Author: Amit Kapila linkend="sql-createsubscription">CREATE/ALTER SUBSCRIPTION (Shveta Malik, Hou Zhijie, Ajin Cherian) + § + § @@ -1284,6 +2908,7 @@ Author: Amit Kapila Allow the application of logical replication changes to use hash indexes on the subscriber (Hayato Kuroda) + § @@ -1302,6 +2927,7 @@ Author: Masahiko Sawada Improve logical decoding performance in cases where there are many subtransactions (Masahiko Sawada) + § @@ -1314,6 +2940,7 @@ Author: Amit Kapila Restart apply workers if subscription owner's superuser privileges are revoked (Vignesh C) + § @@ -1331,6 +2958,7 @@ Author: Michael Paquier Add flush option to pg_logical_emit_message() (Michael Paquier) + § @@ -1349,6 +2977,8 @@ Author: Amit Kapila Allow specification of physical standbys that must be synchronized before they are visible to subscribers (Hou Zhijie, Shveta Malik) + § + § @@ -1366,6 +2996,7 @@ Author: Nathan Bossart Add worker type column to pg_stat_subscription (Peter Smith) + § @@ -1397,6 +3028,10 @@ Author: Masahiko Sawada option ON_ERROR ignore to discard error rows (Damir Belyalov, Atsushi Torikoshi, Alex Shulgin, Jian He, Yugo Nagata) + § + § + § + § @@ -1414,6 +3049,7 @@ Author: Masahiko Sawada Add new COPY option LOG_VERBOSITY which reports COPY FROM ignored error rows (Bharath Rupireddy) + § @@ -1426,6 +3062,7 @@ Author: Masahiko Sawada Allow COPY FROM to report the number of skipped rows during processing (Atsushi Torikoshi) + § @@ -1443,97 +3080,7 @@ Author: Andrew Dunstan In COPY FROM, allow easy specification that all columns should be forced null or not null (Zhang Mingli) - - - - - - - - Allow EXPLAIN - to report optimizer memory usage (Ashutosh Bapat) - - - - The option is called MEMORY. - - - - - - - - Add EXPLAIN option SERIALIZE - to report the cost of converting data for network transmission - (Stepan Rutz, Matthias van de Meent) - - - - - - - - Add local I/O block read/write timing statistics to - EXPLAIN's BUFFERS output - (Nazir Bilal Yavuz) - - - - - - - - Improve EXPLAIN's display of SubPlan nodes and - output parameters (Tom Lane, Dean Rasheed) - - - - - - - - Add JIT deform_counter - details to EXPLAIN (Dmitry Dolgov) - - - - - - - - Allow partitions to be merged using ALTER TABLE ... MERGE - PARTITIONS (Dmitry Koval) - - - - - - - - Allow partitions to be split using ALTER TABLE ... SPLIT - PARTITION (Dmitry Koval) + § @@ -1545,6 +3092,7 @@ Author: Peter Eisentraut Allow partitioned tables to have identity columns (Ashutosh Bapat) + § @@ -1557,6 +3105,7 @@ Author: Peter Eisentraut Allow exclusion constraints on partitioned tables (Paul A. Jungwirth) + § @@ -1566,21 +3115,6 @@ Author: Peter Eisentraut - - - - - Allow specification of partitioned table - access methods (Justin Pryzby, Soumyadeep Chakraborty, - Michael Paquier) - - - + + + + Allow specification of table access + methods on partitioned tables (Justin Pryzby, Soumyadeep + Chakraborty, Michael Paquier) + § + § + + + + + + + Allow EXPLAIN to report + optimizer memory usage (Ashutosh Bapat) + § + + + + The option is called MEMORY. + + + + + + + + Add EXPLAIN option SERIALIZE + to report the cost of converting data for network transmission + (Stepan Rutz, Matthias van de Meent) + § + + + + + + + + Add local I/O block read/write timing statistics to + EXPLAIN's BUFFERS output + (Nazir Bilal Yavuz) + § + + + + + + + + Improve EXPLAIN's display of SubPlan nodes and + output parameters (Tom Lane, Dean Rasheed) + § + + + + + + + + Add JIT deform_counter + details to EXPLAIN (Dmitry Dolgov) + § + + + + + + + @@ -1687,6 +3324,7 @@ Author: Dean Rasheed Allow the interval data type to support +/-infinity values (Joseph Koshakow, Jian He, Ashutosh Bapat) + § @@ -1701,6 +3339,7 @@ Author: Tom Lane linkend="datatype-enum">ENUM added via ALTER TYPE if the type was created in the same transaction (Tom Lane) + § @@ -1727,6 +3366,7 @@ Author: Dean Rasheed Allow MERGE to modify updatable views (Dean Rasheed) + § @@ -1739,6 +3379,7 @@ Author: Dean Rasheed Add WHEN NOT MATCHED BY SOURCE to MERGE (Dean Rasheed) + § @@ -1756,6 +3397,7 @@ Author: Dean Rasheed Allow MERGE to use the RETURNING clause (Dean Rasheed) + § @@ -1788,6 +3430,8 @@ Author: Amit Langote to convert JSON data to a table representation (Nikita Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander Korotkov, Andrew Dunstan, Amit Langote, Jian He) + § + § @@ -1808,6 +3452,7 @@ Author: Amit Langote JSON_SCALAR(), and JSON_SERIALIZE() (Nikita Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander Korotkov, Andrew Dunstan, Amit Langote) + § @@ -1832,6 +3477,11 @@ Author: Amit Langote JSON_VALUE() (Nikita Glukhov, Teodor Sigaev, Oleg Bartunov, Alexander Korotkov, Andrew Dunstan, Amit Langote, Peter Eisentraut, Jian He) + § + § + § + § + § @@ -1845,6 +3495,7 @@ Author: Andrew Dunstan Add jsonpath methods to convert JSON values to other JSON data types (Jeevan Chalke) + § @@ -1868,6 +3519,7 @@ Author: Tom Lane Add to_timestamp() time zone format specifiers (Tom Lane) + § @@ -1884,7 +3536,8 @@ Author: Michael Paquier Allow the session time zone - to be specified by AS LOCAL (Vik Fearing) + to be specified by AT LOCAL (Vik Fearing) + § @@ -1905,6 +3558,7 @@ Author: Peter Eisentraut linkend="functions-uuid">uuid_extract_timestamp() and uuid_extract_version() to return UUID information (Andrey Borodin) + § @@ -1917,6 +3571,7 @@ Author: Dean Rasheed Add functions to generate random numbers in a specified range (Dean Rasheed) + § @@ -1936,6 +3591,7 @@ Author: Nathan Bossart Add functions to convert integers to binary and octal strings (Eric Radman, Nathan Bossart) + § @@ -1953,6 +3609,7 @@ Author: Jeff Davis Add Unicode informational functions (Jeff Davis) + § @@ -1976,6 +3633,7 @@ Author: Daniel Gustafsson Add function xmltext() to convert text to a single XML text node (Jim Jones) + § @@ -1990,6 +3648,7 @@ Author: Tom Lane linkend="functions-info-catalog-table">to_regtypemod() to return the type modifier of a type specification (David Wheeler, Erik Wienhold) + § @@ -2003,6 +3662,7 @@ Author: Tom Lane Add pg_basetype() function to return a domain's base type (Steve Chavez) + § @@ -2018,6 +3678,7 @@ Author: Nathan Bossart to return a value's TOAST identifier (Yugo Nagata) + § @@ -2046,6 +3707,7 @@ Author: Tom Lane linkend="plpgsql-declaration-type">%TYPE and %ROWTYPE specifications to represent arrays of non-array types (Quan Zongliang, Pavel Stehule) + § @@ -2058,6 +3720,7 @@ Author: Tom Lane Allow plpgsql %TYPE specification to reference composite column (Tom Lane) + § @@ -2078,6 +3741,7 @@ Author: Joe Conway Add libpq function to change role passwords (Joe Conway) + § @@ -2096,6 +3760,7 @@ Author: Michael Paquier Add libpq functions to close portals and prepared statements (Jelte Fennema-Nio) + § @@ -2120,6 +3785,7 @@ Author: Alvaro Herrera Add libpq API which allows for blocking and non-blocking cancel requests, with encryption if already in use (Jelte Fennema-Nio) + § @@ -2139,6 +3805,8 @@ Author: Tom Lane Add libpq function PQsocketPoll() to allow polling of network sockets (Tristan Partin, Tom Lane) + § + § @@ -2152,6 +3820,7 @@ Author: Michael Paquier Add libpq function PQsendPipelineSync() to send a pipeline synchronization point (Anton Kirilov) + § @@ -2172,6 +3841,7 @@ Author: Tom Lane Add libpq function PQsetChunkedRowsMode() to allow retrieval of results in chunks (Daniel Vérité) + § @@ -2199,6 +3869,14 @@ Author: Heikki Linnakangas Allow TLS connections without requiring a network round-trip negotiation (Greg Stark, Heikki Linnakangas, Peter Eisentraut, Michael Paquier, Daniel Gustafsson) + § + § + § + § + § + § + § + § @@ -2227,6 +3905,7 @@ Author: Tom Lane Improve psql display of default and empty privileges (Erik Wienhold, Laurenz Albe) + § @@ -2244,6 +3923,7 @@ Author: Tom Lane Have backslash commands honor \pset null (Erik Wienhold, Laurenz Albe) + § @@ -2260,6 +3940,7 @@ Author: Daniel Gustafsson Allow psql's \watch to stop after a minimum number of rows returned (Greg Sabino Mullane) + § @@ -2276,6 +3957,7 @@ Author: Robert Haas Allow psql connection attempts to be canceled with control-C (Tristan Partin) + § @@ -2289,6 +3971,7 @@ Author: Tom Lane Allow psql to honor FETCH_COUNT for non-SELECT queries (Daniel Vérité) + § @@ -2307,8 +3990,6 @@ Author: Masahiko Sawada 2024-03-28 [f1bb9284f] Improve tab completion for ALTER TABLE ALTER COLUMN SET Author: Masahiko Sawada 2024-04-08 [304b6b1a6] Add more tab completion support for ALTER DEFAULT PRIVIL -Author: Alexander Korotkov -2024-04-30 [60ae37a8b] Add tab completion for partition MERGE/SPLIT operations Author: Michael Paquier 2024-05-01 [2800fbb2b] Add tab completion for EXPLAIN (MEMORY|SERIALIZE) --> @@ -2318,6 +3999,14 @@ Author: Michael Paquier Improve psql tab completion (Dagfinn Ilmari Mannsåker, Gilles Darold, Christoph Heiss, Steve Chavez, Vignesh C, Pavel Borisov, Jian He) + § + § + § + § + § + § + § + § @@ -2340,6 +4029,7 @@ Author: Robert Haas Add application pg_walsummary to dump WAL summary files (Robert Haas) + § @@ -2353,6 +4043,7 @@ Author: Tom Lane Allow pg_dump's large objects to be restorable in batches (Tom Lane) + § @@ -2370,6 +4061,7 @@ Author: Dean Rasheed Add pg_dump option (Ayush Vatsa) + § @@ -2387,6 +4079,7 @@ Author: Daniel Gustafsson linkend="app-pgrestore">pg_restore to specify include/exclude objects in a file (Pavel Stehule, Daniel Gustafsson) + § @@ -2403,6 +4096,7 @@ Author: Nathan Bossart Add the parameter to several client applications (Justin Pryzby, Nathan Bossart) + § @@ -2429,6 +4123,7 @@ Author: Tom Lane linkend="app-pgrestore">pg_restore option to allow object restores in transaction batches (Tom Lane) + § @@ -2448,6 +4143,7 @@ Author: Nathan Bossart linkend="pgbench">pgbench debug mode option from to (Greg Sabino Mullane) + § @@ -2465,6 +4161,7 @@ Author: Tatsuo Ishii Add pgbench option to exit after any client aborts (Yugo Nagata) + § @@ -2477,6 +4174,7 @@ Author: Michael Paquier Add pgbench command \syncpipeline to allow sending of sync messages (Anthonin Bonnefoy) + § @@ -2490,6 +4188,7 @@ Author: Michael Paquier Allow pg_archivecleanup to remove backup history files (Atsushi Torikoshi) + § @@ -2506,6 +4205,7 @@ Author: Michael Paquier Add some long options to pg_archivecleanup (Atsushi Torikoshi) + § @@ -2526,6 +4226,7 @@ Author: Daniel Gustafsson and pg_receivewal to use dbname in their connection specification (Jelte Fennema-Nio) + § @@ -2544,6 +4245,7 @@ Author: Thomas Munro Add pg_upgrade option (Thomas Munro) + § @@ -2563,6 +4265,7 @@ Author: Alexander Korotkov linkend="app-reindexdb">reindexdb to process indexes from different tables in parallel (Maxim Orlov, Svetlana Derevyanko, Alexander Korotkov) + § @@ -2581,6 +4284,9 @@ Author: Nathan Bossart vacuumdb, and clusterdb to process objects in all databases matching a pattern (Nathan Bossart) + § + § + § @@ -2606,6 +4312,7 @@ Author: Michael Paquier Remove support for OpenSSL 1.0.1 (Michael Paquier) + § @@ -2620,6 +4327,8 @@ Author: Peter Eisentraut Allow tests to pass in OpenSSL FIPS mode (Peter Eisentraut) + § + § @@ -2634,6 +4343,8 @@ Author: Nathan Bossart Use CPU AVX-512 instructions for bit counting (Paul Amonson, Nathan Bossart, Ants Aasma) + § + § @@ -2646,6 +4357,7 @@ Author: Thomas Munro Require LLVM version 10 or later (Thomas Munro) + § @@ -2658,6 +4370,7 @@ Author: John Naylor Use native CRC instructions on 64-bit LoongArch CPUs (Xudong Yang) + § @@ -2670,6 +4383,7 @@ Author: Heikki Linnakangas Remove AIX support (Heikki Linnakangas) + § @@ -2683,6 +4397,7 @@ Author: Michael Paquier Remove the Microsoft Visual Studio-specific PostgreSQL build option (Michael Paquier) + § @@ -2702,6 +4417,8 @@ Author: Thomas Munro Remove configure option (Thomas Munro, Heikki Linnakangas) + § + § @@ -2718,6 +4435,7 @@ Author: Heikki Linnakangas Remove configure option (Heikki Linnakangas) + § @@ -2735,6 +4453,7 @@ Author: David Rowley User-defined data type receive functions will no longer receive their data null-terminated (David Rowley) + § @@ -2747,6 +4466,7 @@ Author: Andrew Dunstan Add incremental JSON parser for use with huge JSON documents (Andrew Dunstan) + § @@ -2759,6 +4479,7 @@ Author: Nathan Bossart Convert top-level README file to Markdown (Nathan Bossart) + § @@ -2771,6 +4492,7 @@ Author: Tom Lane Remove no longer needed top-level INSTALL file (Tom Lane) + § @@ -2783,6 +4505,7 @@ Author: Peter Eisentraut Remove make's distprep option (Peter Eisentraut) + § @@ -2796,6 +4519,7 @@ Author: Peter Eisentraut Add make support for Android shared libraries (Peter Eisentraut) + § @@ -2806,11 +4530,17 @@ Author: Michael Paquier 2024-03-04 [37b369dc6] injection_points: Add wait and wakeup of processes Author: Michael Paquier 2024-04-08 [f587338de] injection_points: Introduce runtime conditions +Author: Noah Misch +2024-06-27 [bb93640a6] Add wait event type "InjectionPoint", a custom --> Add backend support for injection points (Michael Paquier) + § + § + § + § @@ -2819,6 +4549,23 @@ Author: Michael Paquier + + + + + Add dynamic shared memory registry (Nathan Bossart) + § + + + + This allows shared libraries which are not initialized at startup + to coordinate dynamic shared memory access. + + + - - - - Remove adminpack contrib extension - (Daniel Gustafsson) - - - - This was used by now end-of-life pgAdmin - III. + § @@ -3023,6 +4766,7 @@ Author: Tom Lane Allow ALTER OPERATOR to set more optimization attributes (Tommy Pavlicek) + § @@ -3046,6 +4790,10 @@ Author: Michael Paquier Allow extensions to define custom wait events (Masahiro Ikeda) + § + § + § + § @@ -3065,6 +4813,7 @@ Author: Thomas Munro Add function pg_buffercache_evict() to allow shared buffer eviction (Palak Chaturvedi, Thomas Munro) + § @@ -3089,6 +4838,7 @@ Author: Michael Paquier Replace CALL parameters in pg_stat_statements with placeholders (Sami Imseih) + § @@ -3102,6 +4852,7 @@ Author: Michael Paquier Replace savepoint names stored in pg_stat_statements with placeholders (Greg Sabino Mullane) + § @@ -3124,6 +4875,7 @@ Author: Michael Paquier Replace the two-phase commit GIDs stored in pg_stat_statements with placeholders (Michael Paquier) + § @@ -3148,6 +4900,7 @@ Author: Michael Paquier linkend="sql-deallocate">DEALLOCATE in pg_stat_statements (Dagfinn Ilmari Mannsåker, Michael Paquier) + § @@ -3167,6 +4920,8 @@ Author: Michael Paquier Add local I/O block read/write timing statistics columns of pg_stat_statements (Nazir Bilal Yavuz) + § + § @@ -3184,6 +4939,7 @@ Author: Daniel Gustafsson Add JIT deform_counter details to pg_stat_statements (Dmitry Dolgov) + § @@ -3197,6 +4953,7 @@ Author: Alexander Korotkov Add optional fourth argument (minmax_only) to pg_stat_statements_reset() to allow for the resetting of only min/max statistics (Andrei Zubkov) + § @@ -3215,6 +4972,7 @@ Author: Alexander Korotkov columns stats_since and minmax_stats_since to track entry creation time and last min/max reset time (Andrei Zubkov) + § @@ -3236,7 +4994,469 @@ Author: Alexander Korotkov - + Abhijit Menon-Sen + Adnan Dautovic + Aidar Imamov + Ajin Cherian + Akash Shankaran + Akshat Jaimini + Alaa Attya + Aleksander Alekseev + Aleksej Orlov + Alena Rybakina + Alex Hsieh + Alex Malek + Alex Shulgin + Alex Work + Alexander Korotkov + Alexander Kozhemyakin + Alexander Kuzmenkov + Alexander Lakhin + Alexander Pyhalov + Alexey Palazhchenko + Alfons Kemper + Álvaro Herrera + Amadeo Gallardo + Amit Kapila + Amit Langote + Amul Sul + Anastasia Lubennikova + Anatoly Zaretsky + Andreas Karlsson + Andreas Ulbrich + Andrei Lepikhov + Andrei Zubkov + Andres Freund + Andrew Alsup + Andrew Atkinson + Andrew Bille + Andrew Dunstan + Andrew Kane + Andrey Borodin + Andrey Rachitskiy + Andrey Sokolov + Andy Fan + Anthonin Bonnefoy + Anthony Hsu + Anton Kirilov + Anton Melnikov + Anton Voloshin + Antonin Houska + Ants Aasma + Antti Lampinen + Aramaki Zyake + Artem Anisimov + Artur Zakirov + Ashutosh Bapat + Ashutosh Sharma + Atsushi Torikoshi + Attila Gulyás + Ayush Tiwari + Ayush Vatsa + Bartosz Chrol + Benoît Ryder + Bernd Helmle + Bertrand Drouvot + Bharath Rupireddy + Bo Andreson + Boshomi Phenix + Bowen Shi + Boyu Yang + Bruce Momjian + Cameron Vogt + Cary Huang + Cédric Villemain + Changhong Fei + Chantal Keller + Chapman Flack + Chengxi Sun + Chris Travers + Christian Maurer + Christian Stork + Christoph Berg + Christoph Heiss + Christophe Courtois + Christopher Kline + Claudio Freire + Colin Caine + Corey Huinker + Curt Kolovson + Dag Lem + Dagfinn Ilmari Mannsåker + Damir Belyalov + Daniel Fredouille + Daniel Gustafsson + Daniel Shelepanov + Daniel Vérité + Daniel Westermann + Darren Rush + Dave Cramer + Dave Page + David Christensen + David Cook + David G. Johnston + David Geier + David Hillman + David Perez + David Rowley + David Steele + David Wheeler + David Zhang + Dean Rasheed + Denis Erokhin + Denis Laxalde + Devrim Gündüz + Dilip Kumar + Dimitrios Apostolou + Dmitry Dolgov + Dmitry Koval + Dmitry Vasiliev + Dominique Devienne + Dong Wook Lee + Donghang Lin + Dongming Liu + Drew Callahan + Drew Kimball + Dzmitry Jachnik + Egor Chindyaskin + Egor Rogov + Ekaterina Kiryanova + Elena Indrupskaya + Elizabeth Christensen + Emre Hasegeli + Eric Cyr + Eric Mutta + Eric Radman + Eric Ridge + Erik Rijkers + Erik Wienhold + Erki Eessaar + Ethan Mertz + Etsuro Fujita + Eugen Konkov + Euler Taveira + Evan Macbeth + Evgeny Morozov + Fabien Coelho + Fabrízio de Royes Mello + Farias de Oliveira + Feliphe Pozzer + Fire Emerald + Flavien Guedez + Floris Van Nee + Francesco Degrassi + Frank Streitzig + Gabriele Bartolini + Garrett Thornburg + Gavin Flower + Gavin Panella + Gilles Darold + Gilles Parc + Grant Gryczan + Greg Nancarrow + Greg Sabino Mullane + Greg Stark + Gurjeet Singh + Haiying Tang + Hajime Matsunaga + Hal Takahara + Hanefi Onaldi + Hannu Krosing + Hans Buschmann + Hao Wu + Hao Zhang + Hayato Kuroda + Heikki Linnakangas + Hemanth Sandrana + Himanshu Upadhyaya + Hironobu Suzuki + Holger Reise + Hongxu Ma + Hongyu Song + Horst Reiterer + Hubert Lubaczewski + Hywel Carver + Ian Barwick + Ian Ilyasov + Ilya Nenashev + Isaac Morland + Israel Barth Rubio + Ivan Kartyshov + Ivan Kolombet + Ivan Lazarev + Ivan Panchenko + Ivan Trofimov + Jacob Champion + Jacob Speidel + Jacques Combrink + Jaime Casanova + Jakub Wartak + James Coleman + James Pang + Jani Rahkola + Japin Li + Jeevan Chalke + Jeff Davis + Jeff Janes + Jelte Fennema-Nio + Jeremy Schneider + Jian Guo + Jian He + Jim Jones + Jim Keener + Jim Nasby + Jingtang Zhang + Jingxian Li + Jingzhou Fu + Joe Conway + Joel Jacobson + John Ekins + John Hsu + John Morris + John Naylor + John Russell + Jonathan Katz + Jordi Gutiérrez + Joseph Koshakow + Josh Kupershmidt + Joshua D. Drake + Joshua Uyehara + Jubilee Young + Julien Rouhaud + Junwang Zhao + Justin Pryzby + Kaido Vaikla + Kambam Vinay + Karen Talarico + Karina Litskevich + Karl O. Pinc + Kashif Zeeshan + Kim Johan Andersson + Kirill Reshke + Kirk Parker + Kirk Wolak + Kisoon Kwon + Koen De Groote + Kohei KaiGai + Kong Man + Konstantin Knizhnik + Kouhei Sutou + Krishnakumar R + Kuntal Ghosh + Kurt Roeckx + Kyotaro Horiguchi + Lang Liu + Lars Kanis + Laurenz Albe + Lauri Laanmets + Legs Mansion + Lukas Fittl + Magnus Hagander + Mahendrakar Srinivasarao + Maiquel Grassi + Manos Emmanouilidis + Marcel Hofstetter + Marcos Pegoraro + Marian Krucina + Marina Polyakova + Mark Dilger + Mark Guertin + Mark Sloan + Markus Winand + Marlene Reiterer + Martín Marqués + Martin Nash + Martin Schlossarek + Masahiko Sawada + Masahiro Ikeda + Masaki Kuwamura + Masao Fujii + Mason Sharp + Matheus Alcantara + Mats Kindahl + Matthias Kuhn + Matthias van de Meent + Maxim Boguk + Maxim Orlov + Maxim Yablokov + Maxime Boyer + Melanie Plageman + Melih Mutlu + Merlin Moncure + Micah Gate + Michael Banck + Michael Bondarenko + Michael Paquier + Michael Wang + Michael Zhilin + Michail Nikolaev + Michal Bartak + Michal Kleczek + Mikhail Gribkov + Mingli Zhang + Miroslav Bendik + Mitsuru Hinata + Moaaz Assali + Muralikrishna Bandaru + Nathan Bossart + Nazir Bilal Yavuz + Neil Tiffin + Ngigi Waithaka + Nikhil Benesch + Nikhil Raj + Nikita Glukhov + Nikita Kalinin + Nikita Malakhov + Nikolay Samokhvalov + Nikolay Shaplov + Nisha Moond + Nishant Sharma + Nitin Jadhav + Noah Misch + Noriyoshi Shinoda + Ole Peder Brandtzæg + Oleg Bartunov + Oleg Sibiryakov + Oleg Tselebrovskiy + Olleg Samoylov + Onder Kalaci + Ondrej Navratil + Pablo Kharo + Palak Chaturvedi + Pantelis Theodosiou + Paul Amonson + Paul Jungwirth + Pavel Borisov + Pavel Kulakov + Pavel Luzanov + Pavel Stehule + Pavlo Golub + Pedro Gallegos + Pete Storer + Peter Eisentraut + Peter Geoghegan + Peter Smith + Philip Warner + Philipp Salvisberg + Pierre Ducroquet + Pierre Fortin + Przemyslaw Sztoch + Quynh Tran + Raghuveer Devulapalli + Ranier Vilela + Reid Thompson + Rian McGuire + Richard Guo + Richard Vesely + Ridvan Korkmaz + Robert Haas + Robert Scott + Robert Treat + Roberto Mello + Robins Tharakan + Roman Lozko + Ronan Dunklau + Rui Zhao + Ryo Matsumura + Ryoga Yoshida + Sameer Kumar + Sami Imseih + Samuel Dussault + Sanjay Minni + Satoru Koizumi + Sebastian Skalacki + Sergei Glukhov + Sergei Kornilov + Sergey Prokhorenko + Sergey Sargsyan + Sergey Shinderuk + Shaozhong Shi + Shaun Thomas + Shay Rojansky + Shihao Zhong + Shinya Kato + Shlok Kyal + Shruthi Gowda + Shubham Khanna + Shulin Zhou + Shveta Malik + Simon Riggs + Soumyadeep Chakraborty + Sravan Velagandula + Stan Hu + Stepan Neretin + Stepan Rutz + Stéphane Schildknecht + Stephane Tachoires + Stephen Frost + Steve Atkins + Steve Chavez + Suraj Khamkar + Suraj Kharage + Svante Richter + Svetlana Derevyanko + Sylvain Frandaz + Takayuki Tsunakawa + Tatsuo Ishii + Tatsuro Yamada + Tender Wang + Teodor Sigaev + Thom Brown + Thomas Munro + Tim Carey-Smith + Tim Needham + Tim Palmer + Tobias Bussmann + Tom Lane + Tomas Vondra + Tommy Pavlicek + Tomonari Katsumata + Tristan Partin + Tristen Raab + Tung Nguyen + Umair Shahid + Uwe Binder + Valerie Woolard + Vallimaharajan G + Vasya Boytsov + Victor Wagner + Victor Yegorov + Victoria Shepard + Vidushi Gupta + Vignesh C + Vik Fearing + Viktor Leis + Vinayak Pokale + Vitaly Burovoy + Vojtech Benes + Wei Sun + Wei Wang + Wenjiang Zhang + Will Mortensen + Willi Mann + Wolfgang Walther + Xiang Liu + Xiaoran Wang + Xing Guo + Xudong Yang + Yahor Yuzefovich + Yajun Hu + Yaroslav Saburov + Yong Li + Yongtao Huang + Yugo Nagata + Yuhang Qiu + Yuki Seino + Yura Sokolov + Yurii Rashkovskii + Yuuki Fujii + Yuya Watari + Yves Colin + Zhihong Yu + Zhijie Hou + Zongliang Quan + Zubeyr Eryilmaz + Zuming Jiang diff --git a/doc/src/sgml/release.sgml b/doc/src/sgml/release.sgml index 87c01696da9..9c72e4a9873 100644 --- a/doc/src/sgml/release.sgml +++ b/doc/src/sgml/release.sgml @@ -69,6 +69,15 @@ For new features, add links to the documentation sections. review, so each item is truly a community effort. + + Section markers (§) in the release notes link to gitweb + pages which show the primary git commit + messages and source tree changes responsible for the release note item. + There might be additional git commits which + are not shown. + + + + + + + + + + + 1.5em diff --git a/doc/src/sgml/wal.sgml b/doc/src/sgml/wal.sgml index 05e2a8f8be9..d5df65bc693 100644 --- a/doc/src/sgml/wal.sgml +++ b/doc/src/sgml/wal.sgml @@ -186,7 +186,7 @@ - Each individual record in a WAL file is protected by a CRC-32 (32-bit) check + Each individual record in a WAL file is protected by a CRC-32C (32-bit) check that allows us to tell if record contents are correct. The CRC value is set when we write each WAL record and checked during crash recovery, archive recovery and replication. @@ -212,7 +212,7 @@ - Individual state files in pg_twophase are protected by CRC-32. + Individual state files in pg_twophase are protected by CRC-32C. diff --git a/meson.build b/meson.build index d31ecef9160..7aa7ef539e0 100644 --- a/meson.build +++ b/meson.build @@ -8,7 +8,7 @@ project('postgresql', ['c'], - version: '17beta2', + version: '17.2', license: 'PostgreSQL', # We want < 0.56 for python 3.5 compatibility on old platforms. EPEL for @@ -1054,7 +1054,10 @@ if not perlopt.disabled() if cc.get_id() == 'msvc' # prevent binary mismatch between MSVC built plperl and Strawberry or # msys ucrt perl libraries - perl_ccflags += ['-DNO_THREAD_SAFE_LOCALE'] + perl_v = run_command(perl, '-V').stdout() + if not perl_v.contains('USE_THREAD_SAFE_LOCALE') + perl_ccflags += ['-DNO_THREAD_SAFE_LOCALE'] + endif endif endif @@ -1065,20 +1068,19 @@ if not perlopt.disabled() # Config's ccdlflags and ldflags. (Those are the choices of those who # built the Perl installation, which are not necessarily appropriate # for building PostgreSQL.) - ldopts = run_command(perl, '-MExtUtils::Embed', '-e', 'ldopts', check: true).stdout().strip() - undesired = run_command(perl_conf_cmd, 'ccdlflags', check: true).stdout().split() - undesired += run_command(perl_conf_cmd, 'ldflags', check: true).stdout().split() - - perl_ldopts = [] - foreach ldopt : ldopts.split(' ') - if ldopt == '' or ldopt in undesired - continue - endif - - perl_ldopts += ldopt.strip('"') - endforeach + perl_ldopts = run_command(perl, '-e', ''' +use ExtUtils::Embed; +use Text::ParseWords; +# tell perl to suppress including these in ldopts +*ExtUtils::Embed::_ldflags =*ExtUtils::Embed::_ccdlflags = sub { return ""; }; +# adding an argument to ldopts makes it return a value instead of printing +# print one of these per line so splitting will preserve spaces in file names. +# shellwords eats backslashes, so we need to escape them. +(my $opts = ldopts(undef)) =~ s!\\!\\\\!g; +print "$_\n" foreach shellwords($opts); +''', + check: true).stdout().strip().split('\n') - message('LDFLAGS recommended by perl: "@0@"'.format(ldopts)) message('LDFLAGS for embedding perl: "@0@"'.format(' '.join(perl_ldopts))) perl_dep_int = declare_dependency( diff --git a/src/Makefile.global.in b/src/Makefile.global.in index a00c909681e..b407fbc891c 100644 --- a/src/Makefile.global.in +++ b/src/Makefile.global.in @@ -186,6 +186,7 @@ with_tcl = @with_tcl@ with_ssl = @with_ssl@ with_readline = @with_readline@ with_selinux = @with_selinux@ +with_libseccomp = @with_libseccomp@ with_systemd = @with_systemd@ with_gssapi = @with_gssapi@ with_krb_srvnam = @with_krb_srvnam@ diff --git a/src/backend/access/brin/brin_xlog.c b/src/backend/access/brin/brin_xlog.c index eb48d5e90da..6258256c111 100644 --- a/src/backend/access/brin/brin_xlog.c +++ b/src/backend/access/brin/brin_xlog.c @@ -69,7 +69,8 @@ brin_xlog_insert_update(XLogReaderState *record, } /* need this page's blkno to store in revmap */ - regpgno = BufferGetBlockNumber(buffer); + /* NEON XXX Don't use BufferGetBlockNumber because wal-redo doesn't pin buffer. */ + XLogRecGetBlockTag(record, 0, NULL, NULL, ®pgno); /* insert the index item into the page */ if (action == BLK_NEEDS_REDO) diff --git a/src/backend/access/gin/gininsert.c b/src/backend/access/gin/gininsert.c index 71f38be90c3..bc82e2df9e8 100644 --- a/src/backend/access/gin/gininsert.c +++ b/src/backend/access/gin/gininsert.c @@ -332,6 +332,8 @@ ginbuild(Relation heap, Relation index, IndexInfo *indexInfo) elog(ERROR, "index \"%s\" already contains data", RelationGetRelationName(index)); + smgr_start_unlogged_build(index->rd_smgr); + initGinState(&buildstate.ginstate, index); buildstate.indtuples = 0; memset(&buildstate.buildStats, 0, sizeof(GinStatsData)); @@ -405,6 +407,8 @@ ginbuild(Relation heap, Relation index, IndexInfo *indexInfo) buildstate.buildStats.nTotalPages = RelationGetNumberOfBlocks(index); ginUpdateStats(index, &buildstate.buildStats, true); + smgr_finish_unlogged_build_phase_1(index->rd_smgr); + /* * We didn't write WAL records as we built the index, so if WAL-logging is * required, write all pages to the WAL now. @@ -414,8 +418,12 @@ ginbuild(Relation heap, Relation index, IndexInfo *indexInfo) log_newpage_range(index, MAIN_FORKNUM, 0, RelationGetNumberOfBlocks(index), true); + SetLastWrittenLSNForBlockRange(XactLastRecEnd, index->rd_smgr->smgr_rlocator.locator, MAIN_FORKNUM, 0, RelationGetNumberOfBlocks(index)); + SetLastWrittenLSNForRelation(XactLastRecEnd, index->rd_smgr->smgr_rlocator.locator, MAIN_FORKNUM); } + smgr_end_unlogged_build(index->rd_smgr); + /* * Return statistics */ diff --git a/src/backend/access/gin/ginxlog.c b/src/backend/access/gin/ginxlog.c index 07ba0b559ea..badd3748902 100644 --- a/src/backend/access/gin/ginxlog.c +++ b/src/backend/access/gin/ginxlog.c @@ -407,6 +407,7 @@ ginRedoSplit(XLogReaderState *record) rootbuf; bool isLeaf = (data->flags & GIN_INSERT_ISLEAF) != 0; bool isRoot = (data->flags & GIN_SPLIT_ROOT) != 0; + XLogRedoAction action; /* * First clear incomplete-split flag on child page if this finishes a @@ -415,21 +416,27 @@ ginRedoSplit(XLogReaderState *record) if (!isLeaf) ginRedoClearIncompleteSplit(record, 3); - if (XLogReadBufferForRedo(record, 0, &lbuffer) != BLK_RESTORED) + action = XLogReadBufferForRedo(record, 0, &lbuffer); + if (action != BLK_RESTORED && action != BLK_DONE) elog(ERROR, "GIN split record did not contain a full-page image of left page"); - if (XLogReadBufferForRedo(record, 1, &rbuffer) != BLK_RESTORED) + action = XLogReadBufferForRedo(record, 1, &rbuffer); + if (action != BLK_RESTORED && action != BLK_DONE) elog(ERROR, "GIN split record did not contain a full-page image of right page"); if (isRoot) { - if (XLogReadBufferForRedo(record, 2, &rootbuf) != BLK_RESTORED) + action = XLogReadBufferForRedo(record, 2, &rootbuf); + if (action != BLK_RESTORED && action != BLK_DONE) elog(ERROR, "GIN split record did not contain a full-page image of root page"); - UnlockReleaseBuffer(rootbuf); + if (rootbuf != InvalidBuffer) + UnlockReleaseBuffer(rootbuf); } - UnlockReleaseBuffer(rbuffer); - UnlockReleaseBuffer(lbuffer); + if (rbuffer != InvalidBuffer) + UnlockReleaseBuffer(rbuffer); + if (lbuffer != InvalidBuffer) + UnlockReleaseBuffer(lbuffer); } /* @@ -443,9 +450,11 @@ ginRedoVacuumPage(XLogReaderState *record) if (XLogReadBufferForRedo(record, 0, &buffer) != BLK_RESTORED) { - elog(ERROR, "replay of gin entry tree page vacuum did not restore the page"); + /* NEON: we do not not apply WAL record if target page is absent at replica */ + elog(DEBUG2, "replay of gin entry tree page vacuum did not restore the page"); } - UnlockReleaseBuffer(buffer); + if (BufferIsValid(buffer)) + UnlockReleaseBuffer(buffer); } static void diff --git a/src/backend/access/gist/gistbuild.c b/src/backend/access/gist/gistbuild.c index ba06df30faf..91ebf84fe2d 100644 --- a/src/backend/access/gist/gistbuild.c +++ b/src/backend/access/gist/gistbuild.c @@ -38,6 +38,8 @@ #include "access/gist_private.h" #include "access/tableam.h" #include "access/xloginsert.h" +#include "catalog/index.h" +#include "catalog/storage.h" #include "miscadmin.h" #include "nodes/execnodes.h" #include "optimizer/optimizer.h" @@ -293,6 +295,8 @@ gistbuild(Relation heap, Relation index, IndexInfo *indexInfo) Buffer buffer; Page page; + smgr_start_unlogged_build(index->rd_smgr); + /* initialize the root page */ buffer = gistNewBuffer(index, heap); Assert(BufferGetBlockNumber(buffer) == GIST_ROOT_BLKNO); @@ -325,6 +329,8 @@ gistbuild(Relation heap, Relation index, IndexInfo *indexInfo) gistFreeBuildBuffers(buildstate.gfbb); } + smgr_finish_unlogged_build_phase_1(index->rd_smgr); + /* * We didn't write WAL records as we built the index, so if * WAL-logging is required, write all pages to the WAL now. @@ -334,7 +340,13 @@ gistbuild(Relation heap, Relation index, IndexInfo *indexInfo) log_newpage_range(index, MAIN_FORKNUM, 0, RelationGetNumberOfBlocks(index), true); + SetLastWrittenLSNForBlockRange(XactLastRecEnd, + index->rd_smgr->smgr_rlocator.locator, + MAIN_FORKNUM, 0, RelationGetNumberOfBlocks(index)); + SetLastWrittenLSNForRelation(XactLastRecEnd, index->rd_smgr->smgr_rlocator.locator, MAIN_FORKNUM); } + + smgr_end_unlogged_build(index->rd_smgr); } /* okay, all heap tuples are indexed */ @@ -448,6 +460,15 @@ gist_indexsortbuild(GISTBuildState *state) memcpy(rootbuf, levelstate->pages[0], BLCKSZ); smgr_bulk_write(state->bulkstate, GIST_ROOT_BLKNO, rootbuf, true); + if (RelationNeedsWAL(state->indexrel)) + { + XLogRecPtr lsn = GetRedoRecPtr(); + + SetLastWrittenLSNForBlock(lsn, state->indexrel->rd_smgr->smgr_rlocator.locator, + MAIN_FORKNUM, GIST_ROOT_BLKNO); + SetLastWrittenLSNForRelation(lsn, state->indexrel->rd_smgr->smgr_rlocator.locator, MAIN_FORKNUM); + } + pfree(levelstate); smgr_bulk_finish(state->bulkstate); diff --git a/src/backend/access/gist/gistvacuum.c b/src/backend/access/gist/gistvacuum.c index 24fb94f473e..9845d6f896c 100644 --- a/src/backend/access/gist/gistvacuum.c +++ b/src/backend/access/gist/gistvacuum.c @@ -23,6 +23,7 @@ #include "storage/indexfsm.h" #include "storage/lmgr.h" #include "utils/memutils.h" +#include "utils/spccache.h" /* Working state needed by gistbulkdelete */ typedef struct @@ -130,8 +131,14 @@ gistvacuumscan(IndexVacuumInfo *info, IndexBulkDeleteResult *stats, BlockNumber num_pages; bool needLock; BlockNumber blkno; + BlockNumber prefetch_blkno; + int io_concurrency; MemoryContext oldctx; + io_concurrency = get_tablespace_maintenance_io_concurrency( + rel->rd_rel->reltablespace + ); + /* * Reset fields that track information about the entire index now. This * avoids double-counting in the case where a single VACUUM command @@ -209,6 +216,7 @@ gistvacuumscan(IndexVacuumInfo *info, IndexBulkDeleteResult *stats, needLock = !RELATION_IS_LOCAL(rel); blkno = GIST_ROOT_BLKNO; + prefetch_blkno = blkno; for (;;) { /* Get the current relation length */ @@ -221,9 +229,21 @@ gistvacuumscan(IndexVacuumInfo *info, IndexBulkDeleteResult *stats, /* Quit if we've scanned the whole relation */ if (blkno >= num_pages) break; + + if (prefetch_blkno < blkno) + prefetch_blkno = blkno; + for (; prefetch_blkno < num_pages && + prefetch_blkno < blkno + io_concurrency; prefetch_blkno++) + PrefetchBuffer(rel, MAIN_FORKNUM, prefetch_blkno); + /* Iterate over pages, then loop back to recheck length */ for (; blkno < num_pages; blkno++) + { + if (io_concurrency > 0 && prefetch_blkno < num_pages) + PrefetchBuffer(rel, MAIN_FORKNUM, prefetch_blkno++); + gistvacuumpage(&vstate, blkno, blkno); + } } /* diff --git a/src/backend/access/hash/hash.c b/src/backend/access/hash/hash.c index 01d06b7c328..440621ae838 100644 --- a/src/backend/access/hash/hash.c +++ b/src/backend/access/hash/hash.c @@ -32,6 +32,7 @@ #include "utils/fmgrprotos.h" #include "utils/index_selfuncs.h" #include "utils/rel.h" +#include "utils/spccache.h" /* Working state for hashbuild and its callback */ typedef struct @@ -469,13 +470,17 @@ hashbulkdelete(IndexVacuumInfo *info, IndexBulkDeleteResult *stats, Bucket orig_maxbucket; Bucket cur_maxbucket; Bucket cur_bucket; + Bucket prf_bucket; Buffer metabuf = InvalidBuffer; HashMetaPage metap; HashMetaPage cachedmetap; + int io_concurrency; tuples_removed = 0; num_index_tuples = 0; + io_concurrency = get_tablespace_maintenance_io_concurrency(rel->rd_rel->reltablespace); + /* * We need a copy of the metapage so that we can use its hashm_spares[] * values to compute bucket page addresses, but a cached copy should be @@ -490,9 +495,14 @@ hashbulkdelete(IndexVacuumInfo *info, IndexBulkDeleteResult *stats, /* Scan the buckets that we know exist */ cur_bucket = 0; + prf_bucket = cur_bucket; cur_maxbucket = orig_maxbucket; loop_top: + for (; prf_bucket <= cur_maxbucket && + prf_bucket < cur_bucket + io_concurrency; prf_bucket++) + PrefetchBuffer(rel, MAIN_FORKNUM, BUCKET_TO_BLKNO(cachedmetap, prf_bucket)); + while (cur_bucket <= cur_maxbucket) { BlockNumber bucket_blkno; @@ -503,6 +513,12 @@ hashbulkdelete(IndexVacuumInfo *info, IndexBulkDeleteResult *stats, Page page; bool split_cleanup = false; + if (io_concurrency > 0 && prf_bucket <= cur_maxbucket) + { + PrefetchBuffer(rel, MAIN_FORKNUM, BUCKET_TO_BLKNO(cachedmetap, prf_bucket)); + prf_bucket++; + } + /* Get address of bucket's start page */ bucket_blkno = BUCKET_TO_BLKNO(cachedmetap, cur_bucket); diff --git a/src/backend/access/hash/hash_xlog.c b/src/backend/access/hash/hash_xlog.c index 4e1ec468569..f3a0661ced4 100644 --- a/src/backend/access/hash/hash_xlog.c +++ b/src/backend/access/hash/hash_xlog.c @@ -18,6 +18,7 @@ #include "access/hash.h" #include "access/hash_xlog.h" #include "access/xlogutils.h" +#include "miscadmin.h" #include "storage/standby.h" /* @@ -49,7 +50,7 @@ hash_xlog_init_meta_page(XLogReaderState *record) * full page image of the metapage. */ XLogRecGetBlockTag(record, 0, NULL, &forknum, NULL); - if (forknum == INIT_FORKNUM) + if (forknum == INIT_FORKNUM && !am_wal_redo_postgres) FlushOneBuffer(metabuf); /* all done */ @@ -87,7 +88,7 @@ hash_xlog_init_bitmap_page(XLogReaderState *record) * full page image of the metapage. */ XLogRecGetBlockTag(record, 0, NULL, &forknum, NULL); - if (forknum == INIT_FORKNUM) + if (forknum == INIT_FORKNUM && !am_wal_redo_postgres) FlushOneBuffer(bitmapbuf); UnlockReleaseBuffer(bitmapbuf); @@ -111,7 +112,7 @@ hash_xlog_init_bitmap_page(XLogReaderState *record) MarkBufferDirty(metabuf); XLogRecGetBlockTag(record, 1, NULL, &forknum, NULL); - if (forknum == INIT_FORKNUM) + if (forknum == INIT_FORKNUM && !am_wal_redo_postgres) FlushOneBuffer(metabuf); } if (BufferIsValid(metabuf)) diff --git a/src/backend/access/hash/hashsort.c b/src/backend/access/hash/hashsort.c index 149cd9fc056..e608d533629 100644 --- a/src/backend/access/hash/hashsort.c +++ b/src/backend/access/hash/hashsort.c @@ -148,6 +148,9 @@ _h_indexbuild(HSpool *hspool, Relation heapRel) /* the tuples are sorted by hashkey, so pass 'sorted' as true */ _hash_doinsert(hspool->index, itup, heapRel, true); + /* allow insertion phase to be interrupted, and track progress */ + CHECK_FOR_INTERRUPTS(); + pgstat_progress_update_param(PROGRESS_CREATEIDX_TUPLES_DONE, ++tups_done); } diff --git a/src/backend/access/heap/README.tuplock b/src/backend/access/heap/README.tuplock index 6441e8baf0e..818cd7f9806 100644 --- a/src/backend/access/heap/README.tuplock +++ b/src/backend/access/heap/README.tuplock @@ -153,3 +153,56 @@ The following infomask bits are applicable: We currently never set the HEAP_XMAX_COMMITTED when the HEAP_XMAX_IS_MULTI bit is set. + +Locking to write inplace-updated tables +--------------------------------------- + +If IsInplaceUpdateRelation() returns true for a table, the table is a system +catalog that receives systable_inplace_update_begin() calls. Preparing a +heap_update() of these tables follows additional locking rules, to ensure we +don't lose the effects of an inplace update. In particular, consider a moment +when a backend has fetched the old tuple to modify, not yet having called +heap_update(). Another backend's inplace update starting then can't conclude +until the heap_update() places its new tuple in a buffer. We enforce that +using locktags as follows. While DDL code is the main audience, the executor +follows these rules to make e.g. "MERGE INTO pg_class" safer. Locking rules +are per-catalog: + + pg_class systable_inplace_update_begin() callers: before the call, acquire a + lock on the relation in mode ShareUpdateExclusiveLock or stricter. If the + update targets a row of RELKIND_INDEX (but not RELKIND_PARTITIONED_INDEX), + that lock must be on the table. Locking the index rel is not necessary. + (This allows VACUUM to overwrite per-index pg_class while holding a lock on + the table alone.) systable_inplace_update_begin() acquires and releases + LOCKTAG_TUPLE in InplaceUpdateTupleLock, an alias for ExclusiveLock, on each + tuple it overwrites. + + pg_class heap_update() callers: before copying the tuple to modify, take a + lock on the tuple, a ShareUpdateExclusiveLock on the relation, or a + ShareRowExclusiveLock or stricter on the relation. + + SearchSysCacheLocked1() is one convenient way to acquire the tuple lock. + Most heap_update() callers already hold a suitable lock on the relation for + other reasons and can skip the tuple lock. If you do acquire the tuple + lock, release it immediately after the update. + + + pg_database: before copying the tuple to modify, all updaters of pg_database + rows acquire LOCKTAG_TUPLE. (Few updaters acquire LOCKTAG_OBJECT on the + database OID, so it wasn't worth extending that as a second option.) + +Ideally, DDL might want to perform permissions checks before LockTuple(), as +we do with RangeVarGetRelidExtended() callbacks. We typically don't bother. +LOCKTAG_TUPLE acquirers release it after each row, so the potential +inconvenience is lower. + +Reading inplace-updated columns +------------------------------- + +Inplace updates create an exception to the rule that tuple data won't change +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(). diff --git a/src/backend/access/heap/heapam.c b/src/backend/access/heap/heapam.c index 91b20147a00..32fb6ae1121 100644 --- a/src/backend/access/heap/heapam.c +++ b/src/backend/access/heap/heapam.c @@ -51,8 +51,11 @@ #include "access/xloginsert.h" #include "access/xlogutils.h" #include "catalog/catalog.h" +#include "catalog/pg_database.h" +#include "catalog/pg_database_d.h" #include "commands/vacuum.h" #include "miscadmin.h" +#include "optimizer/cost.h" #include "pgstat.h" #include "port/atomics.h" #include "port/pg_bitutils.h" @@ -63,11 +66,11 @@ #include "storage/procarray.h" #include "storage/standby.h" #include "utils/datum.h" -#include "utils/injection_point.h" #include "utils/inval.h" #include "utils/relcache.h" #include "utils/snapmgr.h" #include "utils/spccache.h" +#include "access/neon_xlog.h" static HeapTuple heap_prepare_insert(Relation relation, HeapTuple tup, @@ -76,6 +79,12 @@ static XLogRecPtr log_heap_update(Relation reln, Buffer oldbuf, Buffer newbuf, HeapTuple oldtup, HeapTuple newtup, HeapTuple old_key_tuple, bool all_visible_cleared, bool new_all_visible_cleared); +#ifdef USE_ASSERT_CHECKING +static void check_lock_if_inplace_updateable_rel(Relation relation, + ItemPointer otid, + HeapTuple newtup); +static void check_inplace_rel_lock(HeapTuple oldtup); +#endif static Bitmapset *HeapDetermineColumnsInfo(Relation relation, Bitmapset *interesting_cols, Bitmapset *external_cols, @@ -122,6 +131,8 @@ static HeapTuple ExtractReplicaIdentity(Relation relation, HeapTuple tp, bool ke * heavyweight lock mode and MultiXactStatus values to use for any particular * tuple lock strength. * + * These interact with InplaceUpdateTupleLock, an alias for ExclusiveLock. + * * Don't look at lockstatus/updstatus directly! Use get_mxact_status_for_lock * instead. */ @@ -381,6 +392,27 @@ initscan(HeapScanDesc scan, ScanKey key, bool keep_startblock) scan->rs_startblock = 0; } + if (enable_seqscan_prefetch) + { + /* + * Do not use tablespace setting for catalog scans, as we might have + * the tablespace settings in the catalogs locked already, which + * might result in a deadlock. + */ + if (IsCatalogRelation(scan->rs_base.rs_rd)) + scan->rs_prefetch_maximum = effective_io_concurrency; + else + scan->rs_prefetch_maximum = + get_tablespace_io_concurrency(scan->rs_base.rs_rd->rd_rel->reltablespace); + + scan->rs_prefetch_target = 1; + } + else + { + scan->rs_prefetch_maximum = -1; + scan->rs_prefetch_target = -1; + } + scan->rs_numblocks = InvalidBlockNumber; scan->rs_inited = false; scan->rs_ctup.t_data = NULL; @@ -584,6 +616,7 @@ heap_prepare_pagescan(TableScanDesc sscan) static inline void heap_fetch_next_buffer(HeapScanDesc scan, ScanDirection dir) { + TableScanDesc sscan = &scan->rs_base; Assert(scan->rs_read_stream); /* release previous scan buffer, if any */ @@ -600,6 +633,106 @@ heap_fetch_next_buffer(HeapScanDesc scan, ScanDirection dir) */ CHECK_FOR_INTERRUPTS(); + /* Prefetch up to io_concurrency blocks ahead */ + if (scan->rs_prefetch_maximum > 0 && scan->rs_nblocks > 1) + { + int64 block = BlockNumberIsValid(scan->rs_prefetch_block) ? scan->rs_prefetch_block : scan->rs_startblock; + int64 nblocks; + int64 rel_scan_start; + int64 rel_scan_end; /* blockno of end of scan (mod scan->rs_nblocks) */ + int64 scan_pageoff; /* page, but adjusted for scan position as above */ + + int64 prefetch_start; /* start block of prefetch requests this iteration */ + int64 prefetch_end; /* end block of prefetch requests this iteration, if applicable */ + ParallelBlockTableScanWorker pbscanwork = scan->rs_parallelworkerdata; + ParallelBlockTableScanDesc pbscandesc = (ParallelBlockTableScanDesc) sscan->rs_parallel; + + /* + * Parallel scans look like repeated sequential table scans for + * prefetching; with a scan start at nalloc + ch_remaining - ch_size + */ + if (pbscanwork != NULL) + { + uint64 start_offset, + end_offset; + + Assert(pbscandesc != NULL); + start_offset = pbscanwork->phsw_nallocated + + pbscanwork->phsw_chunk_remaining + 1 + - pbscanwork->phsw_chunk_size; + end_offset = Min(pbscanwork->phsw_nallocated + + pbscanwork->phsw_chunk_remaining + 1, + pbscandesc->phs_nblocks); + + rel_scan_start = (int64) (pbscandesc->phs_startblock) + start_offset; + rel_scan_end = (int64) (pbscandesc->phs_startblock) + end_offset; + nblocks = pbscandesc->phs_nblocks; + } + else + { + rel_scan_start = scan->rs_startblock; + rel_scan_end = scan->rs_startblock + scan->rs_nblocks; + nblocks = scan->rs_nblocks; + } + + prefetch_end = rel_scan_end; + + if (block < rel_scan_start) + scan_pageoff = block + nblocks; + else + scan_pageoff = block; + + if (!(rel_scan_start <= scan_pageoff && scan_pageoff <= rel_scan_end)) + goto skip_prefetch; + + /* + * If this is the first page of this seqscan, initiate prefetch of + * pages page..page + n. On each subsequent call, prefetch the next + * page that we haven't prefetched yet, at page + n. + * If this is the last page of the prefetch, + */ + if (rel_scan_start != block) + { + prefetch_start = scan_pageoff + (int64) scan->rs_prefetch_target - 1; + prefetch_end = prefetch_start + 1; + } + else + { + prefetch_start = scan_pageoff; + prefetch_end = rel_scan_end; + } + + /* do not prefetch if the only page we're trying to prefetch is past the end of our scan window */ + if (prefetch_start > rel_scan_end) + prefetch_end = 0; + + if (prefetch_end > prefetch_start + scan->rs_prefetch_target) + prefetch_end = prefetch_start + scan->rs_prefetch_target; + + if (prefetch_end > rel_scan_end) + prefetch_end = rel_scan_end; + + while (prefetch_start < prefetch_end) + { + BlockNumber blckno = (prefetch_start % nblocks); + Assert(blckno < nblocks); + Assert(blckno < INT_MAX); + PrefetchBuffer(scan->rs_base.rs_rd, MAIN_FORKNUM, blckno); + prefetch_start += 1; + } + + /* + * Use exponential growth of readahead up to prefetch_maximum, to + * make sure that a low LIMIT does not result in high IO overhead, + * but operations in general are still very fast. + */ + if (scan->rs_prefetch_target < scan->rs_prefetch_maximum / 2) + scan->rs_prefetch_target *= 2; + else if (scan->rs_prefetch_target < scan->rs_prefetch_maximum) + scan->rs_prefetch_target = scan->rs_prefetch_maximum; + } + skip_prefetch: + /* * If the scan direction is changing, reset the prefetch block to the * current block. Otherwise, we will incorrectly prefetch the blocks @@ -2069,11 +2202,11 @@ heap_insert(Relation relation, HeapTuple tup, CommandId cid, /* XLOG stuff */ if (RelationNeedsWAL(relation)) { - xl_heap_insert xlrec; - xl_heap_header xlhdr; + xl_neon_heap_insert xlrec; + xl_neon_heap_header xlhdr; XLogRecPtr recptr; Page page = BufferGetPage(buffer); - uint8 info = XLOG_HEAP_INSERT; + uint8 info = XLOG_NEON_HEAP_INSERT; int bufflags = 0; /* @@ -2091,7 +2224,7 @@ heap_insert(Relation relation, HeapTuple tup, CommandId cid, if (ItemPointerGetOffsetNumber(&(heaptup->t_self)) == FirstOffsetNumber && PageGetMaxOffsetNumber(page) == FirstOffsetNumber) { - info |= XLOG_HEAP_INIT_PAGE; + info |= XLOG_NEON_INIT_PAGE; bufflags |= REGBUF_WILL_INIT; } @@ -2119,11 +2252,12 @@ heap_insert(Relation relation, HeapTuple tup, CommandId cid, } XLogBeginInsert(); - XLogRegisterData((char *) &xlrec, SizeOfHeapInsert); + XLogRegisterData((char *) &xlrec, SizeOfNeonHeapInsert); xlhdr.t_infomask2 = heaptup->t_data->t_infomask2; xlhdr.t_infomask = heaptup->t_data->t_infomask; xlhdr.t_hoff = heaptup->t_data->t_hoff; + xlhdr.t_cid = HeapTupleHeaderGetRawCommandId(heaptup->t_data); /* * note we mark xlhdr as belonging to buffer; if XLogInsert decides to @@ -2131,7 +2265,7 @@ heap_insert(Relation relation, HeapTuple tup, CommandId cid, * xl_heap_header in the xlog. */ XLogRegisterBuffer(0, buffer, REGBUF_STANDARD | bufflags); - XLogRegisterBufData(0, (char *) &xlhdr, SizeOfHeapHeader); + XLogRegisterBufData(0, (char *) &xlhdr, SizeOfNeonHeapHeader); /* PG73FORMAT: write bitmap [+ padding] [+ oid] + data */ XLogRegisterBufData(0, (char *) heaptup->t_data + SizeofHeapTupleHeader, @@ -2140,14 +2274,25 @@ heap_insert(Relation relation, HeapTuple tup, CommandId cid, /* filtering by origin on a row level is much more efficient */ XLogSetRecordFlags(XLOG_INCLUDE_ORIGIN); - recptr = XLogInsert(RM_HEAP_ID, info); + recptr = XLogInsert(RM_NEON_ID, info); PageSetLSN(page, recptr); } END_CRIT_SECTION(); - UnlockReleaseBuffer(buffer); + if (options & HEAP_INSERT_SPECULATIVE) + { + /* + * NEON: speculative token is not stored in WAL, so if the page is evicted + * from the buffer cache, the token will be lost. To prevent that, we keep the + * buffer pinned. It will be unpinned in heapam_tuple_finish/abort_speculative. + */ + LockBuffer(buffer, BUFFER_LOCK_UNLOCK); + } + else + UnlockReleaseBuffer(buffer); + if (vmbuffer != InvalidBuffer) ReleaseBuffer(vmbuffer); @@ -2431,8 +2576,8 @@ heap_multi_insert(Relation relation, TupleTableSlot **slots, int ntuples, if (needwal) { XLogRecPtr recptr; - xl_heap_multi_insert *xlrec; - uint8 info = XLOG_HEAP2_MULTI_INSERT; + xl_neon_heap_multi_insert *xlrec; + uint8 info = XLOG_NEON_HEAP_MULTI_INSERT; char *tupledata; int totaldatalen; char *scratchptr = scratch.data; @@ -2445,9 +2590,9 @@ heap_multi_insert(Relation relation, TupleTableSlot **slots, int ntuples, */ init = starting_with_empty_page; - /* allocate xl_heap_multi_insert struct from the scratch area */ - xlrec = (xl_heap_multi_insert *) scratchptr; - scratchptr += SizeOfHeapMultiInsert; + /* allocate xl_neon_heap_multi_insert struct from the scratch area */ + xlrec = (xl_neon_heap_multi_insert *) scratchptr; + scratchptr += SizeOfNeonHeapMultiInsert; /* * Allocate offsets array. Unless we're reinitializing the page, @@ -2479,17 +2624,25 @@ heap_multi_insert(Relation relation, TupleTableSlot **slots, int ntuples, for (i = 0; i < nthispage; i++) { HeapTuple heaptup = heaptuples[ndone + i]; - xl_multi_insert_tuple *tuphdr; + xl_neon_multi_insert_tuple *tuphdr; int datalen; if (!init) xlrec->offsets[i] = ItemPointerGetOffsetNumber(&heaptup->t_self); /* xl_multi_insert_tuple needs two-byte alignment. */ - tuphdr = (xl_multi_insert_tuple *) SHORTALIGN(scratchptr); - scratchptr = ((char *) tuphdr) + SizeOfMultiInsertTuple; + tuphdr = (xl_neon_multi_insert_tuple *) SHORTALIGN(scratchptr); + scratchptr = ((char *) tuphdr) + SizeOfNeonMultiInsertTuple; tuphdr->t_infomask2 = heaptup->t_data->t_infomask2; tuphdr->t_infomask = heaptup->t_data->t_infomask; + if (i == 0) + { + xlrec->t_cid = HeapTupleHeaderGetRawCommandId(heaptup->t_data); + } + else + { + Assert(xlrec->t_cid == HeapTupleHeaderGetRawCommandId(heaptup->t_data)); + } tuphdr->t_hoff = heaptup->t_data->t_hoff; /* write bitmap [+ padding] [+ oid] + data */ @@ -2516,7 +2669,7 @@ heap_multi_insert(Relation relation, TupleTableSlot **slots, int ntuples, if (init) { - info |= XLOG_HEAP_INIT_PAGE; + info |= XLOG_NEON_INIT_PAGE; bufflags |= REGBUF_WILL_INIT; } @@ -2536,7 +2689,7 @@ heap_multi_insert(Relation relation, TupleTableSlot **slots, int ntuples, /* filtering by origin on a row level is much more efficient */ XLogSetRecordFlags(XLOG_INCLUDE_ORIGIN); - recptr = XLogInsert(RM_HEAP2_ID, info); + recptr = XLogInsert(RM_NEON_ID, info); PageSetLSN(page, recptr); } @@ -2641,6 +2794,7 @@ compute_infobits(uint16 infomask, uint16 infomask2) ((infomask & HEAP_XMAX_IS_MULTI) != 0 ? XLHL_XMAX_IS_MULTI : 0) | ((infomask & HEAP_XMAX_LOCK_ONLY) != 0 ? XLHL_XMAX_LOCK_ONLY : 0) | ((infomask & HEAP_XMAX_EXCL_LOCK) != 0 ? XLHL_XMAX_EXCL_LOCK : 0) | + ((infomask & HEAP_COMBOCID) != 0 ? XLHL_COMBOCID : 0) | /* note we ignore HEAP_XMAX_SHR_LOCK here */ ((infomask & HEAP_XMAX_KEYSHR_LOCK) != 0 ? XLHL_XMAX_KEYSHR_LOCK : 0) | ((infomask2 & HEAP_KEYS_UPDATED) != 0 ? @@ -2988,8 +3142,8 @@ heap_delete(Relation relation, ItemPointer tid, */ if (RelationNeedsWAL(relation)) { - xl_heap_delete xlrec; - xl_heap_header xlhdr; + xl_neon_heap_delete xlrec; + xl_neon_heap_header xlhdr; XLogRecPtr recptr; /* @@ -3008,6 +3162,7 @@ heap_delete(Relation relation, ItemPointer tid, tp.t_data->t_infomask2); xlrec.offnum = ItemPointerGetOffsetNumber(&tp.t_self); xlrec.xmax = new_xmax; + xlrec.t_cid = HeapTupleHeaderGetRawCommandId(tp.t_data); if (old_key_tuple != NULL) { @@ -3018,7 +3173,7 @@ heap_delete(Relation relation, ItemPointer tid, } XLogBeginInsert(); - XLogRegisterData((char *) &xlrec, SizeOfHeapDelete); + XLogRegisterData((char *) &xlrec, SizeOfNeonHeapDelete); XLogRegisterBuffer(0, buffer, REGBUF_STANDARD); @@ -3029,9 +3184,10 @@ heap_delete(Relation relation, ItemPointer tid, { xlhdr.t_infomask2 = old_key_tuple->t_data->t_infomask2; xlhdr.t_infomask = old_key_tuple->t_data->t_infomask; + xlhdr.t_cid = HeapTupleHeaderGetRawCommandId(old_key_tuple->t_data); xlhdr.t_hoff = old_key_tuple->t_data->t_hoff; - XLogRegisterData((char *) &xlhdr, SizeOfHeapHeader); + XLogRegisterData((char *) &xlhdr, SizeOfNeonHeapHeader); XLogRegisterData((char *) old_key_tuple->t_data + SizeofHeapTupleHeader, old_key_tuple->t_len @@ -3041,7 +3197,7 @@ heap_delete(Relation relation, ItemPointer tid, /* filtering by origin on a row level is much more efficient */ XLogSetRecordFlags(XLOG_INCLUDE_ORIGIN); - recptr = XLogInsert(RM_HEAP_ID, XLOG_HEAP_DELETE); + recptr = XLogInsert(RM_NEON_ID, XLOG_NEON_HEAP_DELETE); PageSetLSN(page, recptr); } @@ -3208,6 +3364,10 @@ heap_update(Relation relation, ItemPointer otid, HeapTuple newtup, (errcode(ERRCODE_INVALID_TRANSACTION_STATE), errmsg("cannot update tuples during a parallel operation"))); +#ifdef USE_ASSERT_CHECKING + check_lock_if_inplace_updateable_rel(relation, otid, newtup); +#endif + /* * Fetch the list of attributes to be checked for various operations. * @@ -3736,7 +3896,7 @@ heap_update(Relation relation, ItemPointer otid, HeapTuple newtup, if (RelationNeedsWAL(relation)) { - xl_heap_lock xlrec; + xl_neon_heap_lock xlrec; XLogRecPtr recptr; XLogBeginInsert(); @@ -3748,8 +3908,9 @@ heap_update(Relation relation, ItemPointer otid, HeapTuple newtup, oldtup.t_data->t_infomask2); xlrec.flags = cleared_all_frozen ? XLH_LOCK_ALL_FROZEN_CLEARED : 0; - XLogRegisterData((char *) &xlrec, SizeOfHeapLock); - recptr = XLogInsert(RM_HEAP_ID, XLOG_HEAP_LOCK); + xlrec.t_cid = HeapTupleHeaderGetRawCommandId(oldtup.t_data); + XLogRegisterData((char *) &xlrec, SizeOfNeonHeapLock); + recptr = XLogInsert(RM_NEON_ID, XLOG_NEON_HEAP_LOCK); PageSetLSN(page, recptr); } @@ -4072,6 +4233,128 @@ heap_update(Relation relation, ItemPointer otid, HeapTuple newtup, return TM_Ok; } +#ifdef USE_ASSERT_CHECKING +/* + * Confirm adequate lock held during heap_update(), per rules from + * README.tuplock section "Locking to write inplace-updated tables". + */ +static void +check_lock_if_inplace_updateable_rel(Relation relation, + ItemPointer otid, + HeapTuple newtup) +{ + /* LOCKTAG_TUPLE acceptable for any catalog */ + switch (RelationGetRelid(relation)) + { + case RelationRelationId: + case DatabaseRelationId: + { + LOCKTAG tuptag; + + SET_LOCKTAG_TUPLE(tuptag, + relation->rd_lockInfo.lockRelId.dbId, + relation->rd_lockInfo.lockRelId.relId, + ItemPointerGetBlockNumber(otid), + ItemPointerGetOffsetNumber(otid)); + if (LockHeldByMe(&tuptag, InplaceUpdateTupleLock, false)) + return; + } + break; + default: + Assert(!IsInplaceUpdateRelation(relation)); + return; + } + + switch (RelationGetRelid(relation)) + { + case RelationRelationId: + { + /* LOCKTAG_TUPLE or LOCKTAG_RELATION ok */ + Form_pg_class classForm = (Form_pg_class) GETSTRUCT(newtup); + Oid relid = classForm->oid; + Oid dbid; + LOCKTAG tag; + + if (IsSharedRelation(relid)) + dbid = InvalidOid; + else + dbid = MyDatabaseId; + + if (classForm->relkind == RELKIND_INDEX) + { + Relation irel = index_open(relid, AccessShareLock); + + SET_LOCKTAG_RELATION(tag, dbid, irel->rd_index->indrelid); + index_close(irel, AccessShareLock); + } + else + SET_LOCKTAG_RELATION(tag, dbid, relid); + + if (!LockHeldByMe(&tag, ShareUpdateExclusiveLock, false) && + !LockHeldByMe(&tag, ShareRowExclusiveLock, true)) + elog(WARNING, + "missing lock for relation \"%s\" (OID %u, relkind %c) @ TID (%u,%u)", + NameStr(classForm->relname), + relid, + classForm->relkind, + ItemPointerGetBlockNumber(otid), + ItemPointerGetOffsetNumber(otid)); + } + break; + case DatabaseRelationId: + { + /* LOCKTAG_TUPLE required */ + Form_pg_database dbForm = (Form_pg_database) GETSTRUCT(newtup); + + elog(WARNING, + "missing lock on database \"%s\" (OID %u) @ TID (%u,%u)", + NameStr(dbForm->datname), + dbForm->oid, + ItemPointerGetBlockNumber(otid), + ItemPointerGetOffsetNumber(otid)); + } + break; + } +} + +/* + * Confirm adequate relation lock held, per rules from README.tuplock section + * "Locking to write inplace-updated tables". + */ +static void +check_inplace_rel_lock(HeapTuple oldtup) +{ + Form_pg_class classForm = (Form_pg_class) GETSTRUCT(oldtup); + Oid relid = classForm->oid; + Oid dbid; + LOCKTAG tag; + + if (IsSharedRelation(relid)) + dbid = InvalidOid; + else + dbid = MyDatabaseId; + + if (classForm->relkind == RELKIND_INDEX) + { + Relation irel = index_open(relid, AccessShareLock); + + SET_LOCKTAG_RELATION(tag, dbid, irel->rd_index->indrelid); + index_close(irel, AccessShareLock); + } + else + SET_LOCKTAG_RELATION(tag, dbid, relid); + + if (!LockHeldByMe(&tag, ShareUpdateExclusiveLock, true)) + elog(WARNING, + "missing lock for relation \"%s\" (OID %u, relkind %c) @ TID (%u,%u)", + NameStr(classForm->relname), + relid, + classForm->relkind, + ItemPointerGetBlockNumber(&oldtup->t_self), + ItemPointerGetOffsetNumber(&oldtup->t_self)); +} +#endif + /* * Check if the specified attribute's values are the same. Subroutine for * HeapDetermineColumnsInfo. @@ -4946,7 +5229,7 @@ heap_lock_tuple(Relation relation, HeapTuple tuple, */ if (RelationNeedsWAL(relation)) { - xl_heap_lock xlrec; + xl_neon_heap_lock xlrec; XLogRecPtr recptr; XLogBeginInsert(); @@ -4957,11 +5240,12 @@ heap_lock_tuple(Relation relation, HeapTuple tuple, xlrec.infobits_set = compute_infobits(new_infomask, tuple->t_data->t_infomask2); xlrec.flags = cleared_all_frozen ? XLH_LOCK_ALL_FROZEN_CLEARED : 0; - XLogRegisterData((char *) &xlrec, SizeOfHeapLock); + xlrec.t_cid = HeapTupleHeaderGetRawCommandId(tuple->t_data); + XLogRegisterData((char *) &xlrec, SizeOfNeonHeapLock); /* we don't decode row locks atm, so no need to log the origin */ - recptr = XLogInsert(RM_HEAP_ID, XLOG_HEAP_LOCK); + recptr = XLogInsert(RM_NEON_ID, XLOG_NEON_HEAP_LOCK); PageSetLSN(page, recptr); } @@ -5873,6 +6157,7 @@ heap_finish_speculative(Relation relation, ItemPointer tid) END_CRIT_SECTION(); + ReleaseBuffer(buffer); /* NEON: release buffer pinned by heap_insert */ UnlockReleaseBuffer(buffer); } @@ -5944,6 +6229,16 @@ heap_abort_speculative(Relation relation, ItemPointer tid) elog(ERROR, "attempted to kill a non-speculative tuple"); Assert(!HeapTupleHeaderIsHeapOnly(tp.t_data)); + /* + * NEON: release buffer pinned by heap_insert + * + * This function is also used on the toast tuples of an aborted speculative + * insertion. For those, there is no token on the tuple, and we didn' t keep + * the pin. + */ + if (HeapTupleHeaderIsSpeculative(tp.t_data)) + ReleaseBuffer(buffer); + /* * No need to check for serializable conflicts here. There is never a * need for a combo CID, either. No need to extract replica identity, or @@ -5998,7 +6293,7 @@ heap_abort_speculative(Relation relation, ItemPointer tid) */ if (RelationNeedsWAL(relation)) { - xl_heap_delete xlrec; + xl_neon_heap_delete xlrec; XLogRecPtr recptr; xlrec.flags = XLH_DELETE_IS_SUPER; @@ -6006,14 +6301,15 @@ heap_abort_speculative(Relation relation, ItemPointer tid) tp.t_data->t_infomask2); xlrec.offnum = ItemPointerGetOffsetNumber(&tp.t_self); xlrec.xmax = xid; + xlrec.t_cid = HeapTupleHeaderGetRawCommandId(tp.t_data); XLogBeginInsert(); - XLogRegisterData((char *) &xlrec, SizeOfHeapDelete); + XLogRegisterData((char *) &xlrec, SizeOfNeonHeapDelete); XLogRegisterBuffer(0, buffer, REGBUF_STANDARD); /* No replica identity & replication origin logged */ - recptr = XLogInsert(RM_HEAP_ID, XLOG_HEAP_DELETE); + recptr = XLogInsert(RM_NEON_ID, XLOG_NEON_HEAP_DELETE); PageSetLSN(page, recptr); } @@ -6041,23 +6337,260 @@ heap_abort_speculative(Relation relation, ItemPointer tid) } /* - * heap_inplace_update - update a tuple "in place" (ie, overwrite it) - * - * Overwriting violates both MVCC and transactional safety, so the uses - * of this function in Postgres are extremely limited. Nonetheless we - * find some places to use it. + * heap_inplace_lock - protect inplace update from concurrent heap_update() + * + * Evaluate whether the tuple's state is compatible with a no-key update. + * Current transaction rowmarks are fine, as is KEY SHARE from any + * transaction. If compatible, return true with the buffer exclusive-locked, + * and the caller must release that by calling + * heap_inplace_update_and_unlock(), calling heap_inplace_unlock(), or raising + * an error. Otherwise, call release_callback(arg), wait for blocking + * transactions to end, and return false. + * + * Since this is intended for system catalogs and SERIALIZABLE doesn't cover + * DDL, this doesn't guarantee any particular predicate locking. + * + * One could modify this to return true for tuples with delete in progress, + * All inplace updaters take a lock that conflicts with DROP. If explicit + * "DELETE FROM pg_class" is in progress, we'll wait for it like we would an + * update. + * + * Readers of inplace-updated fields expect changes to those fields are + * durable. For example, vac_truncate_clog() reads datfrozenxid from + * pg_database tuples via catalog snapshots. A future snapshot must not + * return a lower datfrozenxid for the same database OID (lower in the + * FullTransactionIdPrecedes() sense). We achieve that since no update of a + * tuple can start while we hold a lock on its buffer. In cases like + * BEGIN;GRANT;CREATE INDEX;COMMIT we're inplace-updating a tuple visible only + * to this transaction. ROLLBACK then is one case where it's okay to lose + * inplace updates. (Restoring relhasindex=false on ROLLBACK is fine, since + * any concurrent CREATE INDEX would have blocked, then inplace-updated the + * committed tuple.) + * + * In principle, we could avoid waiting by overwriting every tuple in the + * updated tuple chain. Reader expectations permit updating a tuple only if + * it's aborted, is the tail of the chain, or we already updated the tuple + * referenced in its t_ctid. Hence, we would need to overwrite the tuples in + * order from tail to head. That would imply either (a) mutating all tuples + * in one critical section or (b) accepting a chance of partial completion. + * Partial completion of a relfrozenxid update would have the weird + * consequence that the table's next VACUUM could see the table's relfrozenxid + * move forward between vacuum_get_cutoffs() and finishing. + */ +bool +heap_inplace_lock(Relation relation, + HeapTuple oldtup_ptr, Buffer buffer, + void (*release_callback) (void *), void *arg) +{ + HeapTupleData oldtup = *oldtup_ptr; /* minimize diff vs. heap_update() */ + TM_Result result; + bool ret; + +#ifdef USE_ASSERT_CHECKING + if (RelationGetRelid(relation) == RelationRelationId) + check_inplace_rel_lock(oldtup_ptr); +#endif + + Assert(BufferIsValid(buffer)); + + LockTuple(relation, &oldtup.t_self, InplaceUpdateTupleLock); + LockBuffer(buffer, BUFFER_LOCK_EXCLUSIVE); + + /*---------- + * Interpret HeapTupleSatisfiesUpdate() like heap_update() does, except: + * + * - wait unconditionally + * - already locked tuple above, since inplace needs that unconditionally + * - don't recheck header after wait: simpler to defer to next iteration + * - don't try to continue even if the updater aborts: likewise + * - no crosscheck + */ + result = HeapTupleSatisfiesUpdate(&oldtup, GetCurrentCommandId(false), + buffer); + + if (result == TM_Invisible) + { + /* no known way this can happen */ + ereport(ERROR, + (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg_internal("attempted to overwrite invisible tuple"))); + } + else if (result == TM_SelfModified) + { + /* + * CREATE INDEX might reach this if an expression is silly enough to + * call e.g. SELECT ... FROM pg_class FOR SHARE. C code of other SQL + * statements might get here after a heap_update() of the same row, in + * the absence of an intervening CommandCounterIncrement(). + */ + ereport(ERROR, + (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("tuple to be updated was already modified by an operation triggered by the current command"))); + } + else if (result == TM_BeingModified) + { + TransactionId xwait; + uint16 infomask; + + xwait = HeapTupleHeaderGetRawXmax(oldtup.t_data); + infomask = oldtup.t_data->t_infomask; + + if (infomask & HEAP_XMAX_IS_MULTI) + { + LockTupleMode lockmode = LockTupleNoKeyExclusive; + MultiXactStatus mxact_status = MultiXactStatusNoKeyUpdate; + int remain; + + if (DoesMultiXactIdConflict((MultiXactId) xwait, infomask, + lockmode, NULL)) + { + LockBuffer(buffer, BUFFER_LOCK_UNLOCK); + release_callback(arg); + ret = false; + MultiXactIdWait((MultiXactId) xwait, mxact_status, infomask, + relation, &oldtup.t_self, XLTW_Update, + &remain); + } + else + ret = true; + } + else if (TransactionIdIsCurrentTransactionId(xwait)) + ret = true; + else if (HEAP_XMAX_IS_KEYSHR_LOCKED(infomask)) + ret = true; + else + { + LockBuffer(buffer, BUFFER_LOCK_UNLOCK); + release_callback(arg); + ret = false; + XactLockTableWait(xwait, relation, &oldtup.t_self, + XLTW_Update); + } + } + else + { + ret = (result == TM_Ok); + if (!ret) + { + LockBuffer(buffer, BUFFER_LOCK_UNLOCK); + release_callback(arg); + } + } + + /* + * GetCatalogSnapshot() relies on invalidation messages to know when to + * take a new snapshot. COMMIT of xwait is responsible for sending the + * invalidation. We're not acquiring heavyweight locks sufficient to + * block if not yet sent, so we must take a new snapshot to ensure a later + * attempt has a fair chance. While we don't need this if xwait aborted, + * don't bother optimizing that. + */ + if (!ret) + { + UnlockTuple(relation, &oldtup.t_self, InplaceUpdateTupleLock); + InvalidateCatalogSnapshot(); + } + return ret; +} + +/* + * heap_inplace_update_and_unlock - core of systable_inplace_update_finish * - * The tuple cannot change size, and therefore it's reasonable to assume - * that its null bitmap (if any) doesn't change either. So we just - * overwrite the data portion of the tuple without touching the null - * bitmap or any of the header fields. + * The tuple cannot change size, and therefore its header fields and null + * bitmap (if any) don't change either. * - * tuple is an in-memory tuple structure containing the data to be written - * over the target tuple. Also, tuple->t_self identifies the target tuple. + * Since we hold LOCKTAG_TUPLE, no updater has a local copy of this tuple. + */ +void +heap_inplace_update_and_unlock(Relation relation, + HeapTuple oldtup, HeapTuple tuple, + Buffer buffer) +{ + HeapTupleHeader htup = oldtup->t_data; + uint32 oldlen; + uint32 newlen; + + Assert(ItemPointerEquals(&oldtup->t_self, &tuple->t_self)); + oldlen = oldtup->t_len - htup->t_hoff; + newlen = tuple->t_len - tuple->t_data->t_hoff; + 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(); + + memcpy((char *) htup + htup->t_hoff, + (char *) tuple->t_data + tuple->t_data->t_hoff, + newlen); + + /*---------- + * XXX A crash here can allow datfrozenxid() to get ahead of relfrozenxid: + * + * ["D" is a VACUUM (ONLY_DATABASE_STATS)] + * ["R" is a VACUUM tbl] + * D: vac_update_datfrozenid() -> systable_beginscan(pg_class) + * D: systable_getnext() returns pg_class tuple of tbl + * R: memcpy() into pg_class tuple of tbl + * D: raise pg_database.datfrozenxid, XLogInsert(), finish + * [crash] + * [recovery restores datfrozenxid w/o relfrozenxid] + */ + + MarkBufferDirty(buffer); + + /* XLOG stuff */ + if (RelationNeedsWAL(relation)) + { + xl_heap_inplace xlrec; + XLogRecPtr recptr; + + xlrec.offnum = ItemPointerGetOffsetNumber(&tuple->t_self); + + XLogBeginInsert(); + XLogRegisterData((char *) &xlrec, SizeOfHeapInplace); + + XLogRegisterBuffer(0, buffer, REGBUF_STANDARD); + XLogRegisterBufData(0, (char *) htup + htup->t_hoff, newlen); + + /* inplace updates aren't decoded atm, don't log the origin */ + + recptr = XLogInsert(RM_HEAP_ID, XLOG_HEAP_INPLACE); + + PageSetLSN(BufferGetPage(buffer), recptr); + } + + END_CRIT_SECTION(); + + heap_inplace_unlock(relation, oldtup, buffer); + + /* + * 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. + */ + if (!IsBootstrapProcessingMode()) + CacheInvalidateHeapTuple(relation, tuple, NULL); +} + +/* + * heap_inplace_unlock - reverse of heap_inplace_lock + */ +void +heap_inplace_unlock(Relation relation, + HeapTuple oldtup, Buffer buffer) +{ + LockBuffer(buffer, BUFFER_LOCK_UNLOCK); + UnlockTuple(relation, &oldtup->t_self, InplaceUpdateTupleLock); +} + +/* + * heap_inplace_update - deprecated * - * Note that the tuple updated here had better not come directly from the - * syscache if the relation has a toast relation as this tuple could - * include toast values that have been expanded, causing a failure here. + * This exists only to keep modules working in back branches. Affected + * modules should migrate to systable_inplace_update_begin(). */ void heap_inplace_update(Relation relation, HeapTuple tuple) @@ -6081,7 +6614,6 @@ heap_inplace_update(Relation relation, HeapTuple tuple) (errcode(ERRCODE_INVALID_TRANSACTION_STATE), errmsg("cannot update tuples during a parallel operation"))); - INJECTION_POINT("inplace-before-pin"); buffer = ReadBuffer(relation, ItemPointerGetBlockNumber(&(tuple->t_self))); LockBuffer(buffer, BUFFER_LOCK_EXCLUSIVE); page = (Page) BufferGetPage(buffer); @@ -8359,9 +8891,9 @@ log_heap_update(Relation reln, Buffer oldbuf, HeapTuple old_key_tuple, bool all_visible_cleared, bool new_all_visible_cleared) { - xl_heap_update xlrec; - xl_heap_header xlhdr; - xl_heap_header xlhdr_idx; + xl_neon_heap_update xlrec; + xl_neon_heap_header xlhdr; + xl_neon_heap_header xlhdr_idx; uint8 info; uint16 prefix_suffix[2]; uint16 prefixlen = 0, @@ -8378,9 +8910,9 @@ log_heap_update(Relation reln, Buffer oldbuf, XLogBeginInsert(); if (HeapTupleIsHeapOnly(newtup)) - info = XLOG_HEAP_HOT_UPDATE; + info = XLOG_NEON_HEAP_HOT_UPDATE; else - info = XLOG_HEAP_UPDATE; + info = XLOG_NEON_HEAP_UPDATE; /* * If the old and new tuple are on the same page, we only need to log the @@ -8460,7 +8992,7 @@ log_heap_update(Relation reln, Buffer oldbuf, if (ItemPointerGetOffsetNumber(&(newtup->t_self)) == FirstOffsetNumber && PageGetMaxOffsetNumber(page) == FirstOffsetNumber) { - info |= XLOG_HEAP_INIT_PAGE; + info |= XLOG_NEON_INIT_PAGE; init = true; } else @@ -8471,6 +9003,7 @@ log_heap_update(Relation reln, Buffer oldbuf, xlrec.old_xmax = HeapTupleHeaderGetRawXmax(oldtup->t_data); xlrec.old_infobits_set = compute_infobits(oldtup->t_data->t_infomask, oldtup->t_data->t_infomask2); + xlrec.t_cid = HeapTupleHeaderGetRawCommandId(oldtup->t_data); /* Prepare WAL data for the new page */ xlrec.new_offnum = ItemPointerGetOffsetNumber(&newtup->t_self); @@ -8486,7 +9019,7 @@ log_heap_update(Relation reln, Buffer oldbuf, if (oldbuf != newbuf) XLogRegisterBuffer(1, oldbuf, REGBUF_STANDARD); - XLogRegisterData((char *) &xlrec, SizeOfHeapUpdate); + XLogRegisterData((char *) &xlrec, SizeOfNeonHeapUpdate); /* * Prepare WAL data for the new tuple. @@ -8512,6 +9045,7 @@ log_heap_update(Relation reln, Buffer oldbuf, xlhdr.t_infomask2 = newtup->t_data->t_infomask2; xlhdr.t_infomask = newtup->t_data->t_infomask; xlhdr.t_hoff = newtup->t_data->t_hoff; + xlhdr.t_cid = HeapTupleHeaderGetRawCommandId(newtup->t_data); Assert(SizeofHeapTupleHeader + prefixlen + suffixlen <= newtup->t_len); /* @@ -8519,7 +9053,7 @@ log_heap_update(Relation reln, Buffer oldbuf, * * The 'data' doesn't include the common prefix or suffix. */ - XLogRegisterBufData(0, (char *) &xlhdr, SizeOfHeapHeader); + XLogRegisterBufData(0, (char *) &xlhdr, SizeOfNeonHeapHeader); if (prefixlen == 0) { XLogRegisterBufData(0, @@ -8553,8 +9087,9 @@ log_heap_update(Relation reln, Buffer oldbuf, xlhdr_idx.t_infomask2 = old_key_tuple->t_data->t_infomask2; xlhdr_idx.t_infomask = old_key_tuple->t_data->t_infomask; xlhdr_idx.t_hoff = old_key_tuple->t_data->t_hoff; + xlhdr_idx.t_cid = HeapTupleHeaderGetRawCommandId(old_key_tuple->t_data); - XLogRegisterData((char *) &xlhdr_idx, SizeOfHeapHeader); + XLogRegisterData((char *) &xlhdr_idx, SizeOfNeonHeapHeader); /* PG73FORMAT: write bitmap [+ padding] [+ oid] + data */ XLogRegisterData((char *) old_key_tuple->t_data + SizeofHeapTupleHeader, @@ -8564,7 +9099,7 @@ log_heap_update(Relation reln, Buffer oldbuf, /* filtering by origin on a row level is much more efficient */ XLogSetRecordFlags(XLOG_INCLUDE_ORIGIN); - recptr = XLogInsert(RM_HEAP_ID, info); + recptr = XLogInsert(RM_NEON_ID, info); return recptr; } @@ -8949,7 +9484,16 @@ heap_xlog_visible(XLogReaderState *record) PageSetAllVisible(page); - if (XLogHintBitIsNeeded()) + /* + * NEON: despite to the comment above we need to update page LSN here. + * See discussion at hackers: https://www.postgresql.org/message-id/flat/039076d4f6cdd871691686361f83cb8a6913a86a.camel%40j-davis.com#101ba42b004f9988e3d54fce26fb3462 + * For Neon this assignment is critical because otherwise last written LSN tracked at compute doesn't + * match with page LSN assignee by WAL-redo and as a result, prefetched page is rejected. + * + * It is fixed in upstream in https://github.com/neondatabase/postgres/commit/7bf713dd2d0739fbcd4103971ed69c17ebe677ea + * but until it is merged we still need to carry a patch here. + */ + if (true || XLogHintBitIsNeeded()) PageSetLSN(page, lsn); MarkBufferDirty(buffer); @@ -9039,7 +9583,7 @@ static void fix_infomask_from_infobits(uint8 infobits, uint16 *infomask, uint16 *infomask2) { *infomask &= ~(HEAP_XMAX_IS_MULTI | HEAP_XMAX_LOCK_ONLY | - HEAP_XMAX_KEYSHR_LOCK | HEAP_XMAX_EXCL_LOCK); + HEAP_XMAX_KEYSHR_LOCK | HEAP_XMAX_EXCL_LOCK | HEAP_COMBOCID); *infomask2 &= ~HEAP_KEYS_UPDATED; if (infobits & XLHL_XMAX_IS_MULTI) @@ -9048,6 +9592,8 @@ fix_infomask_from_infobits(uint8 infobits, uint16 *infomask, uint16 *infomask2) *infomask |= HEAP_XMAX_LOCK_ONLY; if (infobits & XLHL_XMAX_EXCL_LOCK) *infomask |= HEAP_XMAX_EXCL_LOCK; + if (infobits & XLHL_COMBOCID) + *infomask |= HEAP_COMBOCID; /* note HEAP_XMAX_SHR_LOCK isn't considered here */ if (infobits & XLHL_XMAX_KEYSHR_LOCK) *infomask |= HEAP_XMAX_KEYSHR_LOCK; diff --git a/src/backend/access/heap/rewriteheap.c b/src/backend/access/heap/rewriteheap.c index 473f3aa9bef..c438ae14eed 100644 --- a/src/backend/access/heap/rewriteheap.c +++ b/src/backend/access/heap/rewriteheap.c @@ -115,6 +115,8 @@ #include "lib/ilist.h" #include "miscadmin.h" #include "pgstat.h" +#include "replication/logical.h" +#include "replication/message.h" #include "replication/slot.h" #include "storage/bufmgr.h" #include "storage/bulk_write.h" @@ -750,6 +752,41 @@ raw_heap_insert(RewriteState state, HeapTuple tup) * ------------------------------------------------------------------------ */ +/* + * NEON: we need to persist mapping file in WAL + */ +static void +wallog_mapping_file(char const* path, int fd) +{ + char prefix[MAXPGPATH]; + + /* Do not wallog AUX file at replica */ + if (!XLogInsertAllowed()) + return; + + snprintf(prefix, sizeof(prefix), "neon-file:%s", path); + if (fd < 0) + { + elog(DEBUG1, "neon: deleting contents of rewrite file %s", path); + /* unlink file */ + LogLogicalMessage(prefix, NULL, 0, false, false); + } + else + { + off_t size = lseek(fd, 0, SEEK_END); + char* buf; + elog(DEBUG1, "neon: writing contents of rewrite file %s, size %ld", path, (long)size); + if (size < 0) + elog(ERROR, "Failed to get size of mapping file: %m"); + buf = palloc((size_t)size); + lseek(fd, 0, SEEK_SET); + if (read(fd, buf, (size_t)size) != size) + elog(ERROR, "Failed to read mapping file: %m"); + LogLogicalMessage(prefix, buf, (size_t)size, false, false); + pfree(buf); + } +} + /* * Do preparations for logging logical mappings during a rewrite if * necessary. If we detect that we don't need to log anything we'll prevent @@ -885,6 +922,7 @@ logical_heap_rewrite_flush_mappings(RewriteState state) errmsg("could not write to file \"%s\", wrote %d of %d: %m", src->path, written, len))); src->off += len; + wallog_mapping_file(src->path, FileGetRawDesc(src->vfd)); XLogBeginInsert(); XLogRegisterData((char *) (&xlrec), sizeof(xlrec)); @@ -970,7 +1008,7 @@ logical_rewrite_log_mapping(RewriteState state, TransactionId xid, src->off = 0; memcpy(src->path, path, sizeof(path)); src->vfd = PathNameOpenFile(path, - O_CREAT | O_EXCL | O_WRONLY | PG_BINARY); + O_CREAT | O_EXCL | O_RDWR | PG_BINARY); if (src->vfd < 0) ereport(ERROR, (errcode_for_file_access(), @@ -1135,6 +1173,8 @@ heap_xlog_logical_rewrite(XLogReaderState *r) errmsg("could not fsync file \"%s\": %m", path))); pgstat_report_wait_end(); + wallog_mapping_file(path, fd); + if (CloseTransientFile(fd) != 0) ereport(ERROR, (errcode_for_file_access(), @@ -1212,6 +1252,7 @@ CheckPointLogicalRewriteHeap(void) ereport(ERROR, (errcode_for_file_access(), errmsg("could not remove file \"%s\": %m", path))); + wallog_mapping_file(path, -1); } else { @@ -1240,6 +1281,8 @@ CheckPointLogicalRewriteHeap(void) errmsg("could not fsync file \"%s\": %m", path))); pgstat_report_wait_end(); + wallog_mapping_file(path, fd); + if (CloseTransientFile(fd) != 0) ereport(ERROR, (errcode_for_file_access(), diff --git a/src/backend/access/heap/vacuumlazy.c b/src/backend/access/heap/vacuumlazy.c index abb47ae5960..158226fd1e1 100644 --- a/src/backend/access/heap/vacuumlazy.c +++ b/src/backend/access/heap/vacuumlazy.c @@ -49,6 +49,8 @@ #include "common/int.h" #include "executor/instrument.h" #include "miscadmin.h" +#include "optimizer/cost.h" +#include "optimizer/paths.h" #include "pgstat.h" #include "portability/instr_time.h" #include "postmaster/autovacuum.h" @@ -59,6 +61,7 @@ #include "utils/memutils.h" #include "utils/pg_rusage.h" #include "utils/timestamp.h" +#include "utils/spccache.h" /* @@ -140,6 +143,9 @@ typedef struct LVRelState Relation *indrels; int nindexes; + /* prefetch */ + int io_concurrency; + /* Buffer access strategy and parallel vacuum state */ BufferAccessStrategy bstrategy; ParallelVacuumState *pvs; @@ -356,6 +362,8 @@ heap_vacuum_rel(Relation rel, VacuumParams *params, /* Set up high level stuff about rel and its indexes */ vacrel->rel = rel; + vacrel->io_concurrency = + get_tablespace_maintenance_io_concurrency(rel->rd_rel->reltablespace); vac_open_indexes(vacrel->rel, RowExclusiveLock, &vacrel->nindexes, &vacrel->indrels); vacrel->bstrategy = bstrategy; @@ -817,6 +825,7 @@ lazy_scan_heap(LVRelState *vacrel) { BlockNumber rel_pages = vacrel->rel_pages, blkno, + next_prefetch_block, next_fsm_block_to_vacuum = 0; bool all_visible_according_to_vm; @@ -841,6 +850,8 @@ lazy_scan_heap(LVRelState *vacrel) vacrel->next_unskippable_block = InvalidBlockNumber; vacrel->next_unskippable_allvis = false; vacrel->next_unskippable_vmbuffer = InvalidBuffer; + /* initialize prefetching system */ + next_prefetch_block = 0; while (heap_vac_scan_next_block(vacrel, &blkno, &all_visible_according_to_vm)) { @@ -907,6 +918,33 @@ lazy_scan_heap(LVRelState *vacrel) PROGRESS_VACUUM_PHASE_SCAN_HEAP); } + if (vacrel->io_concurrency > 0) + { + /* + * Prefetch io_concurrency blocks ahead + */ + uint32 prefetch_budget = vacrel->io_concurrency; + + /* never trail behind the current scan */ + if (next_prefetch_block < blkno) + next_prefetch_block = blkno; + + /* but only up to the end of the relation */ + if (prefetch_budget > rel_pages - next_prefetch_block) + prefetch_budget = rel_pages - next_prefetch_block; + + /* And only up to io_concurrency ahead of the current vacuum scan */ + if (next_prefetch_block + prefetch_budget > blkno + vacrel->io_concurrency) + prefetch_budget = blkno + vacrel->io_concurrency - next_prefetch_block; + + /* And only up to the next unskippable block */ + if (next_prefetch_block + prefetch_budget > vacrel->next_unskippable_block) + prefetch_budget = vacrel->next_unskippable_block - next_prefetch_block; + + for (; prefetch_budget-- > 0; next_prefetch_block++) + PrefetchBuffer(vacrel->rel, MAIN_FORKNUM, next_prefetch_block); + } + /* * Pin the visibility map page in case we need to mark the page * all-visible. In most cases this will be very cheap, because we'll @@ -2104,7 +2142,9 @@ lazy_vacuum_heap_rel(LVRelState *vacrel) Buffer vmbuffer = InvalidBuffer; LVSavedErrInfo saved_err_info; TidStoreIter *iter; + TidStoreIter *piter = NULL; TidStoreIterResult *iter_result; + TidStoreIterResult *piter_result = NULL; Assert(vacrel->do_index_vacuuming); Assert(vacrel->do_index_cleanup); @@ -2120,6 +2160,10 @@ lazy_vacuum_heap_rel(LVRelState *vacrel) InvalidBlockNumber, InvalidOffsetNumber); iter = TidStoreBeginIterate(vacrel->dead_items); + + if (vacrel->io_concurrency > 0) + piter = TidStoreBeginIterate(vacrel->dead_items); + while ((iter_result = TidStoreIterateNext(iter)) != NULL) { BlockNumber blkno; @@ -2132,6 +2176,38 @@ lazy_vacuum_heap_rel(LVRelState *vacrel) blkno = iter_result->blkno; vacrel->blkno = blkno; + if (piter != NULL) + { + /* Scan only just started */ + if (piter_result == NULL) + { + int readahead = vacrel->io_concurrency; + + while (readahead-- > 0 && + (piter_result = TidStoreIterateNext(piter)) != NULL) + { + PrefetchBuffer(vacrel->rel, MAIN_FORKNUM, + piter_result->blkno); + } + } + + piter_result = TidStoreIterateNext(piter); + + if (piter_result != NULL) + { + PrefetchBuffer(vacrel->rel, MAIN_FORKNUM, piter_result->blkno); + } + else /* end of iterator */ + { + /* + * We shut down the iterator here. This makes sure we don't + * try iterating again up above. + */ + TidStoreEndIterate(piter); + piter = NULL; + } + } + /* * Pin the visibility map page in case we need to mark the page * all-visible. In most cases this will be very cheap, because we'll diff --git a/src/backend/access/heap/visibilitymap.c b/src/backend/access/heap/visibilitymap.c index 8b24e7bc33c..b92797f3bf6 100644 --- a/src/backend/access/heap/visibilitymap.c +++ b/src/backend/access/heap/visibilitymap.c @@ -297,7 +297,9 @@ visibilitymap_set(Relation rel, BlockNumber heapBlk, Buffer heapBuf, * WAL record inserted above, so it would be incorrect to * update the heap page's LSN. */ - if (XLogHintBitIsNeeded()) + /* NEON: we have to update page LSN even if wal_log_hints=off + if (XLogHintBitIsNeeded()) + */ { Page heapPage = BufferGetPage(heapBuf); diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c index de751e8e4a3..b123acc5a60 100644 --- a/src/backend/access/index/genam.c +++ b/src/backend/access/index/genam.c @@ -20,6 +20,7 @@ #include "postgres.h" #include "access/genam.h" +#include "access/heapam.h" #include "access/relscan.h" #include "access/tableam.h" #include "access/transam.h" @@ -29,6 +30,7 @@ #include "storage/bufmgr.h" #include "storage/procarray.h" #include "utils/acl.h" +#include "utils/injection_point.h" #include "utils/lsyscache.h" #include "utils/rel.h" #include "utils/rls.h" @@ -700,6 +702,14 @@ systable_beginscan_ordered(Relation heapRelation, index_rescan(sysscan->iscan, key, nkeys, NULL, 0); sysscan->scan = NULL; + /* + * If CheckXidAlive is set then set a flag to indicate that system table + * scan is in-progress. See detailed comments in xact.c where these + * variables are declared. + */ + if (TransactionIdIsValid(CheckXidAlive)) + bsysscan = true; + return sysscan; } @@ -744,5 +754,150 @@ systable_endscan_ordered(SysScanDesc sysscan) index_endscan(sysscan->iscan); if (sysscan->snapshot) UnregisterSnapshot(sysscan->snapshot); + + /* + * Reset the bsysscan flag at the end of the systable scan. See detailed + * comments in xact.c where these variables are declared. + */ + if (TransactionIdIsValid(CheckXidAlive)) + bsysscan = false; + pfree(sysscan); } + +/* + * systable_inplace_update_begin --- update a row "in place" (overwrite it) + * + * Overwriting violates both MVCC and transactional safety, so the uses of + * this function in Postgres are extremely limited. Nonetheless we find some + * places to use it. See README.tuplock section "Locking to write + * inplace-updated tables" and later sections for expectations of readers and + * writers of a table that gets inplace updates. Standard flow: + * + * ... [any slow preparation not requiring oldtup] ... + * systable_inplace_update_begin([...], &tup, &inplace_state); + * if (!HeapTupleIsValid(tup)) + * elog(ERROR, [...]); + * ... [buffer is exclusive-locked; mutate "tup"] ... + * if (dirty) + * systable_inplace_update_finish(inplace_state, tup); + * else + * systable_inplace_update_cancel(inplace_state); + * + * The first several params duplicate the systable_beginscan() param list. + * "oldtupcopy" is an output parameter, assigned NULL if the key ceases to + * find a live tuple. (In PROC_IN_VACUUM, that is a low-probability transient + * condition.) If "oldtupcopy" gets non-NULL, you must pass output parameter + * "state" to systable_inplace_update_finish() or + * systable_inplace_update_cancel(). + */ +void +systable_inplace_update_begin(Relation relation, + Oid indexId, + bool indexOK, + Snapshot snapshot, + int nkeys, const ScanKeyData *key, + HeapTuple *oldtupcopy, + void **state) +{ + ScanKey mutable_key = palloc(sizeof(ScanKeyData) * nkeys); + int retries = 0; + SysScanDesc scan; + HeapTuple oldtup; + BufferHeapTupleTableSlot *bslot; + + /* + * For now, we don't allow parallel updates. Unlike a regular update, + * this should never create a combo CID, so it might be possible to relax + * this restriction, but not without more thought and testing. It's not + * clear that it would be useful, anyway. + */ + if (IsInParallelMode()) + ereport(ERROR, + (errcode(ERRCODE_INVALID_TRANSACTION_STATE), + errmsg("cannot update tuples during a parallel operation"))); + + /* + * Accept a snapshot argument, for symmetry, but this function advances + * its snapshot as needed to reach the tail of the updated tuple chain. + */ + Assert(snapshot == NULL); + + Assert(IsInplaceUpdateRelation(relation) || !IsSystemRelation(relation)); + + /* Loop for an exclusive-locked buffer of a non-updated tuple. */ + do + { + TupleTableSlot *slot; + + CHECK_FOR_INTERRUPTS(); + + /* + * Processes issuing heap_update (e.g. GRANT) at maximum speed could + * drive us to this error. A hostile table owner has stronger ways to + * damage their own table, so that's minor. + */ + if (retries++ > 10000) + elog(ERROR, "giving up after too many tries to overwrite row"); + + memcpy(mutable_key, key, sizeof(ScanKeyData) * nkeys); + INJECTION_POINT("inplace-before-pin"); + scan = systable_beginscan(relation, indexId, indexOK, snapshot, + nkeys, mutable_key); + oldtup = systable_getnext(scan); + if (!HeapTupleIsValid(oldtup)) + { + systable_endscan(scan); + *oldtupcopy = NULL; + return; + } + + slot = scan->slot; + Assert(TTS_IS_BUFFERTUPLE(slot)); + bslot = (BufferHeapTupleTableSlot *) slot; + } while (!heap_inplace_lock(scan->heap_rel, + bslot->base.tuple, bslot->buffer, + (void (*) (void *)) systable_endscan, scan)); + + *oldtupcopy = heap_copytuple(oldtup); + *state = scan; +} + +/* + * systable_inplace_update_finish --- second phase of inplace update + * + * The tuple cannot change size, and therefore its header fields and null + * bitmap (if any) don't change either. + */ +void +systable_inplace_update_finish(void *state, HeapTuple tuple) +{ + SysScanDesc scan = (SysScanDesc) state; + Relation relation = scan->heap_rel; + TupleTableSlot *slot = scan->slot; + BufferHeapTupleTableSlot *bslot = (BufferHeapTupleTableSlot *) slot; + HeapTuple oldtup = bslot->base.tuple; + Buffer buffer = bslot->buffer; + + heap_inplace_update_and_unlock(relation, oldtup, tuple, buffer); + systable_endscan(scan); +} + +/* + * systable_inplace_update_cancel --- abandon inplace update + * + * This is an alternative to making a no-op update. + */ +void +systable_inplace_update_cancel(void *state) +{ + SysScanDesc scan = (SysScanDesc) state; + Relation relation = scan->heap_rel; + TupleTableSlot *slot = scan->slot; + BufferHeapTupleTableSlot *bslot = (BufferHeapTupleTableSlot *) slot; + HeapTuple oldtup = bslot->base.tuple; + Buffer buffer = bslot->buffer; + + heap_inplace_unlock(relation, oldtup, buffer); + systable_endscan(scan); +} diff --git a/src/backend/access/nbtree/README b/src/backend/access/nbtree/README index 52e646c7f75..bf63b519924 100644 --- a/src/backend/access/nbtree/README +++ b/src/backend/access/nbtree/README @@ -1081,3 +1081,47 @@ item is irrelevant, and need not be stored at all. This arrangement corresponds to the fact that an L&Y non-leaf page has one more pointer than key. Suffix truncation's negative infinity attributes behave in the same way. + +Notes About Index Scan Prefetch +------------------------------- + +Prefetch can significantly improve the speed of OLAP queries. +To be able to perform prefetch, we need to know which pages will +be accessed during the scan. It is trivial for heap- and bitmap scans, +but requires more effort for index scans: to implement prefetch for +index scans, we need to find out subsequent leaf pages. + +Postgres links all pages at the same level of the B-Tree in a doubly linked list and uses this list for +forward and backward iteration. This list, however, can not trivially be used for prefetching because to locate the next page because we need first to load the current page. To prefetch more than only the next page, we can utilize the parent page's downlinks instead, as it contains references to most of the target page's sibling pages. + +Because Postgres' nbtree pages have no reference to their parent page, we need to remember the parent page when descending the btree and use it to prefetch subsequent pages. We will utilize the parent's linked list to improve the performance of this prefetch system past the key range of the parent page. + +We should prefetch not only leaf pages, but also the next parent page. +The trick is to correctly calculate the moment when it will be needed: +We should not issue the prefetch request when prefetch requests for all children from the current parent page have already been issued, but when there are only effective_io_concurrency line pointers left to prefetch from the page. + +Currently there are two different prefetch implementations for +index-only scan and index scan. Index-only scan doesn't need to access heap tuples so it prefetches +only B-Tree leave pages (and their parents). Prefetch of index-only scan is performed only +if parallel plan is not used. Parallel index scan is using critical section for obtaining next +page by parallel worker. Leaf page is loaded in this critical section. +And if most of time is spent in loading the page, then it actually eliminates any concurrency +and makes prefetch useless. For relatively small tables Postgres will not choose parallel plan in +any case. And for large tables it can be enforced by setting max_parallel_workers_per_gather=0. + +Prefetch for normal (not index-only) index tries to prefetch heap tuples +referenced from leaf page. Average number of items per page +is about 100 which is comparable with default value of effective_io_concurrency. +So there is not so much sense trying to prefetch also next leaf page. + +As far as it is difficult to estimate number of entries traversed by index scan, +we prefer not to prefetch large number of pages from the very beginning. +Such useless prefetch can reduce the performance of point lookups. +Instead of it we start with smallest prefetch distance and increase it +by INCREASE_PREFETCH_DISTANCE_STEP after processing each item +until it reaches effective_io_concurrency. In case of index-only +scan we increase prefetch distance after processing each leaf pages +and for index scan - after processing each tuple. +The only exception is case when no key bounds are specified. +In this case we traverse the whole relation and it makes sense +to start with the largest possible prefetch distance from the very beginning. diff --git a/src/backend/access/nbtree/nbtinsert.c b/src/backend/access/nbtree/nbtinsert.c index 7e8902e48cd..3c6253b9e5e 100644 --- a/src/backend/access/nbtree/nbtinsert.c +++ b/src/backend/access/nbtree/nbtinsert.c @@ -2165,7 +2165,7 @@ _bt_insert_parent(Relation rel, BlockNumberIsValid(RelationGetTargetBlock(rel)))); /* Find the leftmost page at the next level up */ - pbuf = _bt_get_endpoint(rel, opaque->btpo_level + 1, false); + pbuf = _bt_get_endpoint(rel, opaque->btpo_level + 1, false, NULL); /* Set up a phony stack entry pointing there */ stack = &fakestack; stack->bts_blkno = BufferGetBlockNumber(pbuf); diff --git a/src/backend/access/nbtree/nbtree.c b/src/backend/access/nbtree/nbtree.c index 686a3206f72..3b956fa9cac 100644 --- a/src/backend/access/nbtree/nbtree.c +++ b/src/backend/access/nbtree/nbtree.c @@ -35,6 +35,7 @@ #include "utils/fmgrprotos.h" #include "utils/index_selfuncs.h" #include "utils/memutils.h" +#include "utils/spccache.h" /* @@ -337,6 +338,7 @@ btbeginscan(Relation rel, int nkeys, int norderbys) so->killedItems = NULL; /* until needed */ so->numKilled = 0; + so->prefetch_maximum = 0; /* disable prefetch */ /* * We don't know yet whether the scan will be index-only, so we do not @@ -585,7 +587,10 @@ btparallelrescan(IndexScanDesc scan) * or _bt_parallel_done(). * * The return value is true if we successfully seized the scan and false - * if we did not. The latter case occurs if no pages remain. + * if we did not. The latter case occurs when no pages remain, or when + * another primitive index scan is scheduled that caller's backend cannot + * start just yet (only backends that call from _bt_first are capable of + * starting primitive index scans, which they indicate by passing first=true). * * If the return value is true, *pageno returns the next or current page * of the scan (depending on the scan direction). An invalid block number @@ -596,10 +601,6 @@ btparallelrescan(IndexScanDesc scan) * scan will return false. * * Callers should ignore the value of pageno if the return value is false. - * - * Callers that are in a position to start a new primitive index scan must - * pass first=true (all other callers pass first=false). We just return false - * for first=false callers that require another primitive index scan. */ bool _bt_parallel_seize(IndexScanDesc scan, BlockNumber *pageno, bool first) @@ -616,13 +617,7 @@ _bt_parallel_seize(IndexScanDesc scan, BlockNumber *pageno, bool first) { /* * Initialize array related state when called from _bt_first, assuming - * that this will either be the first primitive index scan for the - * scan, or a previous explicitly scheduled primitive scan. - * - * Note: so->needPrimScan is only set when a scheduled primitive index - * scan is set to be performed in caller's worker process. It should - * not be set here by us for the first primitive scan, nor should we - * ever set it for a parallel scan that has no array keys. + * that this will be the first primitive index scan for the scan */ so->needPrimScan = false; so->scanBehind = false; @@ -630,8 +625,8 @@ _bt_parallel_seize(IndexScanDesc scan, BlockNumber *pageno, bool first) else { /* - * Don't attempt to seize the scan when backend requires another - * primitive index scan unless we're in a position to start it now + * Don't attempt to seize the scan when it requires another primitive + * index scan, since caller's backend cannot start it right now */ if (so->needPrimScan) return false; @@ -653,12 +648,9 @@ _bt_parallel_seize(IndexScanDesc scan, BlockNumber *pageno, bool first) { Assert(so->numArrayKeys); - /* - * If we can start another primitive scan right away, do so. - * Otherwise just wait. - */ if (first) { + /* Can start scheduled primitive scan right away, so do so */ btscan->btps_pageStatus = BTPARALLEL_ADVANCING; for (int i = 0; i < so->numArrayKeys; i++) { @@ -668,11 +660,25 @@ _bt_parallel_seize(IndexScanDesc scan, BlockNumber *pageno, bool first) array->cur_elem = btscan->btps_arrElems[i]; skey->sk_argument = array->elem_values[array->cur_elem]; } - so->needPrimScan = true; - so->scanBehind = false; *pageno = InvalidBlockNumber; exit_loop = true; } + else + { + /* + * Don't attempt to seize the scan when it requires another + * primitive index scan, since caller's backend cannot start + * it right now + */ + status = false; + } + + /* + * Either way, update backend local state to indicate that a + * pending primitive scan is required + */ + so->needPrimScan = true; + so->scanBehind = false; } else if (btscan->btps_pageStatus != BTPARALLEL_ADVANCING) { @@ -731,6 +737,7 @@ _bt_parallel_release(IndexScanDesc scan, BlockNumber scan_page) void _bt_parallel_done(IndexScanDesc scan) { + BTScanOpaque so = (BTScanOpaque) scan->opaque; ParallelIndexScanDesc parallel_scan = scan->parallel_scan; BTParallelScanDesc btscan; bool status_changed = false; @@ -739,6 +746,13 @@ _bt_parallel_done(IndexScanDesc scan) if (parallel_scan == NULL) return; + /* + * Should not mark parallel scan done when there's still a pending + * primitive index scan + */ + if (so->needPrimScan) + return; + btscan = (BTParallelScanDesc) OffsetToPointer((void *) parallel_scan, parallel_scan->ps_offset); @@ -747,6 +761,7 @@ _bt_parallel_done(IndexScanDesc scan) * already */ SpinLockAcquire(&btscan->btps_mutex); + Assert(btscan->btps_pageStatus != BTPARALLEL_NEED_PRIMSCAN); if (btscan->btps_pageStatus != BTPARALLEL_DONE) { btscan->btps_pageStatus = BTPARALLEL_DONE; @@ -931,6 +946,8 @@ btvacuumscan(IndexVacuumInfo *info, IndexBulkDeleteResult *stats, BTVacState vstate; BlockNumber num_pages; BlockNumber scanblkno; + BlockNumber prefetch_blkno; + int io_concurrency; bool needLock; /* @@ -970,6 +987,9 @@ btvacuumscan(IndexVacuumInfo *info, IndexBulkDeleteResult *stats, vstate.maxbufsize = 0; vstate.pendingpages = NULL; vstate.npendingpages = 0; + + io_concurrency = get_tablespace_maintenance_io_concurrency(rel->rd_rel->reltablespace); + /* Consider applying _bt_pendingfsm_finalize optimization */ _bt_pendingfsm_init(rel, &vstate, (callback == NULL)); @@ -1001,6 +1021,8 @@ btvacuumscan(IndexVacuumInfo *info, IndexBulkDeleteResult *stats, needLock = !RELATION_IS_LOCAL(rel); scanblkno = BTREE_METAPAGE + 1; + prefetch_blkno = scanblkno; + for (;;) { /* Get the current relation length */ @@ -1017,9 +1039,19 @@ btvacuumscan(IndexVacuumInfo *info, IndexBulkDeleteResult *stats, /* Quit if we've scanned the whole relation */ if (scanblkno >= num_pages) break; + + if (prefetch_blkno < scanblkno) + prefetch_blkno = scanblkno; + for (; prefetch_blkno < num_pages && + prefetch_blkno < scanblkno + io_concurrency; prefetch_blkno++) + PrefetchBuffer(rel, MAIN_FORKNUM, prefetch_blkno); + /* Iterate over pages, then loop back to recheck length */ for (; scanblkno < num_pages; scanblkno++) { + if (io_concurrency > 0 && prefetch_blkno < num_pages) + PrefetchBuffer(rel, MAIN_FORKNUM, prefetch_blkno++); + btvacuumpage(&vstate, scanblkno); if (info->report_progress) pgstat_progress_update_param(PROGRESS_SCAN_BLOCKS_DONE, diff --git a/src/backend/access/nbtree/nbtsearch.c b/src/backend/access/nbtree/nbtsearch.c index 57bcfc7e4c6..16360576924 100644 --- a/src/backend/access/nbtree/nbtsearch.c +++ b/src/backend/access/nbtree/nbtsearch.c @@ -18,11 +18,14 @@ #include "access/nbtree.h" #include "access/relscan.h" #include "access/xact.h" +#include "catalog/catalog.h" #include "miscadmin.h" +#include "optimizer/cost.h" #include "pgstat.h" #include "storage/predicate.h" #include "utils/lsyscache.h" #include "utils/rel.h" +#include "utils/spccache.h" static void _bt_drop_lock_and_maybe_pin(IndexScanDesc scan, BTScanPos sp); @@ -47,6 +50,7 @@ static Buffer _bt_walk_left(Relation rel, Buffer buf); static bool _bt_endpoint(IndexScanDesc scan, ScanDirection dir); static inline void _bt_initialize_more_data(BTScanOpaque so, ScanDirection dir); +#define INCREASE_PREFETCH_DISTANCE_STEP 1 /* * _bt_drop_lock_and_maybe_pin() @@ -852,6 +856,70 @@ _bt_compare(Relation rel, return 0; } + +/* + * _bt_read_parent_for_prefetch - read parent page and extract references to children for prefetch. + * This functions returns offset of first item. + */ +static int +_bt_read_parent_for_prefetch(IndexScanDesc scan, BlockNumber parent, ScanDirection dir) +{ + Relation rel = scan->indexRelation; + BTScanOpaque so = (BTScanOpaque) scan->opaque; + Buffer buf; + Page page; + BTPageOpaque opaque; + OffsetNumber offnum; + OffsetNumber n_child; + int next_parent_prefetch_index; + int i, j; + + buf = _bt_getbuf(rel, parent, BT_READ); + page = BufferGetPage(buf); + opaque = (BTPageOpaque) PageGetSpecialPointer(page); + offnum = P_FIRSTDATAKEY(opaque); + n_child = PageGetMaxOffsetNumber(page) - offnum + 1; + + /* Position where we should insert prefetch of parent page: we intentionally use prefetch_maximum here instead of current_prefetch_distance, + * assuming that it will reach prefetch_maximum before we reach and of the parent page + */ + next_parent_prefetch_index = (n_child > so->prefetch_maximum) + ? n_child - so->prefetch_maximum : 0; + + if (ScanDirectionIsForward(dir)) + { + so->next_parent = opaque->btpo_next; + if (so->next_parent == P_NONE) + next_parent_prefetch_index = -1; + for (i = 0, j = 0; i < n_child; i++) + { + ItemId itemid = PageGetItemId(page, offnum + i); + IndexTuple itup = (IndexTuple) PageGetItem(page, itemid); + if (i == next_parent_prefetch_index) + so->prefetch_blocks[j++] = so->next_parent; /* time to prefetch next parent page */ + so->prefetch_blocks[j++] = BTreeTupleGetDownLink(itup); + } + } + else + { + so->next_parent = opaque->btpo_prev; + if (so->next_parent == P_NONE) + next_parent_prefetch_index = -1; + for (i = 0, j = 0; i < n_child; i++) + { + ItemId itemid = PageGetItemId(page, offnum + n_child - i - 1); + IndexTuple itup = (IndexTuple) PageGetItem(page, itemid); + if (i == next_parent_prefetch_index) + so->prefetch_blocks[j++] = so->next_parent; /* time to prefetch next parent page */ + so->prefetch_blocks[j++] = BTreeTupleGetDownLink(itup); + } + } + so->n_prefetch_blocks = j; + so->last_prefetch_index = 0; + _bt_relbuf(rel, buf); + return offnum; +} + /* * _bt_first() -- Find the first item in a scan. * @@ -893,8 +961,6 @@ _bt_first(IndexScanDesc scan, ScanDirection dir) Assert(!BTScanPosIsValid(so->currPos)); - pgstat_count_index_scan(rel); - /* * Examine the scan keys and eliminate any redundant keys; also mark the * keys that must be matched to continue the scan. @@ -957,6 +1023,12 @@ _bt_first(IndexScanDesc scan, ScanDirection dir) _bt_start_array_keys(scan, dir); } + /* + * Count an indexscan for stats, now that we know that we'll call + * _bt_search/_bt_endpoint below + */ + pgstat_count_index_scan(rel); + /*---------- * Examine the scan keys to discover where we need to start the scan. * @@ -1142,6 +1214,37 @@ _bt_first(IndexScanDesc scan, ScanDirection dir) } } + /* Neon: initialize prefetch */ + so->n_prefetch_requests = 0; + so->n_prefetch_blocks = 0; + so->last_prefetch_index = 0; + so->next_parent = P_NONE; + so->prefetch_maximum = IsCatalogRelation(rel) + ? effective_io_concurrency + : get_tablespace_io_concurrency(rel->rd_rel->reltablespace); + + if (scan->xs_want_itup) /* index only scan */ + { + if (enable_indexonlyscan_prefetch) + { + /* We disable prefetch for parallel index-only scan. + * Neon prefetch is efficient only if prefetched blocks are accessed by the same worker + * which issued prefetch request. The logic of splitting pages between parallel workers in + * index scan doesn't allow to satisfy this requirement. + * Also prefetch of leave pages will be useless if expected number of rows fits in one page. + */ + if (scan->parallel_scan) + so->prefetch_maximum = 0; /* disable prefetch */ + } + else + so->prefetch_maximum = 0; /* disable prefetch */ + } + else if (!enable_indexscan_prefetch || !scan->heapRelation) + so->prefetch_maximum = 0; /* disable prefetch */ + + /* If key bounds are not specified, then we will probably scan the whole relation and it make sense to start with the largest possible prefetch distance */ + so->current_prefetch_distance = (keysz == 0) ? so->prefetch_maximum : 0; + /* * If we found no usable boundary keys, we have to start from one end of * the tree. Walk down that edge to the first or last key, and scan from @@ -1387,6 +1490,21 @@ _bt_first(IndexScanDesc scan, ScanDirection dir) Assert(ScanDirectionIsBackward(dir) == inskey.backward); stack = _bt_search(rel, NULL, &inskey, &buf, BT_READ); + /* Start prefetching for index only scan */ + if (so->prefetch_maximum > 0 && stack != NULL && scan->xs_want_itup) /* index only scan */ + { + int first_offset = _bt_read_parent_for_prefetch(scan, stack->bts_blkno, dir); + int skip = ScanDirectionIsForward(dir) + ? stack->bts_offset - first_offset + : first_offset + so->n_prefetch_blocks - 1 - stack->bts_offset; + Assert(so->n_prefetch_blocks >= skip); + so->current_prefetch_distance = INCREASE_PREFETCH_DISTANCE_STEP; + so->n_prefetch_requests = Min(so->current_prefetch_distance, so->n_prefetch_blocks - skip); + so->last_prefetch_index = skip + so->n_prefetch_requests; + for (int j = skip; j < so->last_prefetch_index; j++) + PrefetchBuffer(rel, MAIN_FORKNUM, so->prefetch_blocks[j]); + } + /* don't need to keep the stack around... */ _bt_freestack(stack); @@ -1518,8 +1636,64 @@ _bt_next(IndexScanDesc scan, ScanDirection dir) /* OK, itemIndex says what to return */ currItem = &so->currPos.items[so->currPos.itemIndex]; scan->xs_heaptid = currItem->heapTid; - if (scan->xs_want_itup) - scan->xs_itup = (IndexTuple) (so->currTuples + currItem->tupleOffset); + + if (scan->xs_want_itup) /* index-only scan */ + { + scan->xs_itup = (IndexTuple) (so->currTuples + currItem->tupleOffset); + } + else if (so->prefetch_maximum > 0) + { + int prefetchLimit, prefetchDistance; + + /* Neon: prefetch referenced heap pages. + * As far as it is difficult to predict how much items index scan will return + * we do not want to prefetch many heap pages from the very beginning because + * them may not be needed. So we are going to increase prefetch distance by INCREASE_PREFETCH_DISTANCE_STEP + * at each index scan iteration until it reaches prefetch_maximum. + */ + + /* Advance pefetch distance until it reaches prefetch_maximum */ + if (so->current_prefetch_distance + INCREASE_PREFETCH_DISTANCE_STEP <= so->prefetch_maximum) + so->current_prefetch_distance += INCREASE_PREFETCH_DISTANCE_STEP; + else + so->current_prefetch_distance = so->prefetch_maximum; + + /* How much we can prefetch */ + prefetchLimit = Min(so->current_prefetch_distance, so->currPos.lastItem - so->currPos.firstItem + 1); + + /* Active prefeth requests */ + prefetchDistance = so->n_prefetch_requests; + + /* + * Consume one prefetch request (if any) + */ + if (prefetchDistance != 0) + prefetchDistance -= 1; + + /* Keep number of active prefetch requests equal to the current prefetch distance. + * When prefetch distance reaches prefetch maximum, this loop performs at most one iteration, + * but at the beginning of index scan it performs up to INCREASE_PREFETCH_DISTANCE_STEP+1 iterations + */ + if (ScanDirectionIsForward(dir)) + { + while (prefetchDistance < prefetchLimit && so->currPos.itemIndex + prefetchDistance <= so->currPos.lastItem) + { + BlockNumber blkno = BlockIdGetBlockNumber(&so->currPos.items[so->currPos.itemIndex + prefetchDistance].heapTid.ip_blkid); + PrefetchBuffer(scan->heapRelation, MAIN_FORKNUM, blkno); + prefetchDistance += 1; + } + } + else + { + while (prefetchDistance < prefetchLimit && so->currPos.itemIndex - prefetchDistance >= so->currPos.firstItem) + { + BlockNumber blkno = BlockIdGetBlockNumber(&so->currPos.items[so->currPos.itemIndex - prefetchDistance].heapTid.ip_blkid); + PrefetchBuffer(scan->heapRelation, MAIN_FORKNUM, blkno); + prefetchDistance += 1; + } + } + so->n_prefetch_requests = prefetchDistance; /* update number of active prefetch requests */ + } return true; } @@ -1624,6 +1798,7 @@ _bt_readpage(IndexScanDesc scan, ScanDirection dir, OffsetNumber offnum, * corresponding need for the left-link, since splits always go right. */ so->currPos.nextPage = opaque->btpo_next; + so->currPos.dir = dir; /* initialize tuple workspace to empty */ so->currPos.nextTupleOffset = 0; @@ -2079,16 +2254,48 @@ _bt_steppage(IndexScanDesc scan, ScanDirection dir) * In effect, btrestpos leaves advancing the arrays up to the first * _bt_readpage call (that takes place after it has restored markPos). */ - Assert(so->markPos.dir == dir); if (so->needPrimScan) { - if (ScanDirectionIsForward(dir)) + if (ScanDirectionIsForward(so->currPos.dir)) so->markPos.moreRight = true; else so->markPos.moreLeft = true; } } + /* + * Cancel primitive index scans that were scheduled when the call to + * _bt_readpage for currPos happened to use the opposite direction to the + * one that we're stepping in now. (It's okay to leave the scan's array + * keys as-is, since the next _bt_readpage will advance them.) + */ + if (so->currPos.dir != dir) + so->needPrimScan = false; + + if (scan->xs_want_itup && so->prefetch_maximum > 0) /* Prefetching of leaf pages for index-only scan */ + { + /* Advance pefetch distance until it reaches prefetch_maximum */ + if (so->current_prefetch_distance + INCREASE_PREFETCH_DISTANCE_STEP <= so->prefetch_maximum) + so->current_prefetch_distance += INCREASE_PREFETCH_DISTANCE_STEP; + + so->n_prefetch_requests -= 1; /* we load next leaf page, so decrement number of active prefetch requests */ + + /* Check if the are more children to prefetch at current parent page */ + if (so->last_prefetch_index == so->n_prefetch_blocks && so->next_parent != P_NONE) + { + /* we have prefetched all items from current parent page, let's move to the next parent page */ + _bt_read_parent_for_prefetch(scan, so->next_parent, dir); + so->n_prefetch_requests -= 1; /* loading parent page consumes one more prefetch request */ + } + + /* Try to keep number of active prefetch requests equal to current prefetch distance */ + while (so->n_prefetch_requests < so->current_prefetch_distance && so->last_prefetch_index < so->n_prefetch_blocks) + { + so->n_prefetch_requests += 1; + PrefetchBuffer(scan->indexRelation, MAIN_FORKNUM, so->prefetch_blocks[so->last_prefetch_index++]); + } + } + if (ScanDirectionIsForward(dir)) { /* Walk right to the next page with data */ @@ -2476,7 +2683,8 @@ _bt_walk_left(Relation rel, Buffer buf) * The returned buffer is pinned and read-locked. */ Buffer -_bt_get_endpoint(Relation rel, uint32 level, bool rightmost) +_bt_get_endpoint(Relation rel, uint32 level, bool rightmost, + BlockNumber* parent) { Buffer buf; Page page; @@ -2484,6 +2692,7 @@ _bt_get_endpoint(Relation rel, uint32 level, bool rightmost) OffsetNumber offnum; BlockNumber blkno; IndexTuple itup; + BlockNumber parent_blocknum = P_NONE; /* * If we are looking for a leaf page, okay to descend from fast root; @@ -2500,6 +2709,7 @@ _bt_get_endpoint(Relation rel, uint32 level, bool rightmost) page = BufferGetPage(buf); opaque = BTPageGetOpaque(page); + blkno = BufferGetBlockNumber(buf); for (;;) { @@ -2537,6 +2747,7 @@ _bt_get_endpoint(Relation rel, uint32 level, bool rightmost) offnum = P_FIRSTDATAKEY(opaque); itup = (IndexTuple) PageGetItem(page, PageGetItemId(page, offnum)); + parent_blocknum = blkno; blkno = BTreeTupleGetDownLink(itup); buf = _bt_relandgetbuf(rel, buf, blkno, BT_READ); @@ -2544,6 +2755,9 @@ _bt_get_endpoint(Relation rel, uint32 level, bool rightmost) opaque = BTPageGetOpaque(page); } + if (parent) + *parent = parent_blocknum; + return buf; } @@ -2566,13 +2780,14 @@ _bt_endpoint(IndexScanDesc scan, ScanDirection dir) BTPageOpaque opaque; OffsetNumber start; BTScanPosItem *currItem; + BlockNumber parent; /* * Scan down to the leftmost or rightmost leaf page. This is a simplified * version of _bt_search(). We don't maintain a stack since we know we * won't need it. */ - buf = _bt_get_endpoint(rel, 0, ScanDirectionIsBackward(dir)); + buf = _bt_get_endpoint(rel, 0, ScanDirectionIsBackward(dir), &parent); if (!BufferIsValid(buf)) { @@ -2585,6 +2800,17 @@ _bt_endpoint(IndexScanDesc scan, ScanDirection dir) return false; } + /* Start prefetching for index-only scan */ + if (so->prefetch_maximum > 0 && parent != P_NONE && scan->xs_want_itup) /* index only scan */ + { + _bt_read_parent_for_prefetch(scan, parent, dir); + so->n_prefetch_requests = so->last_prefetch_index = + Min(so->prefetch_maximum, so->n_prefetch_blocks); + + for (int i = 0; i < so->last_prefetch_index; i++) + PrefetchBuffer(rel, MAIN_FORKNUM, so->prefetch_blocks[i]); + } + PredicateLockPage(rel, BufferGetBlockNumber(buf), scan->xs_snapshot); page = BufferGetPage(buf); opaque = BTPageGetOpaque(page); @@ -2649,7 +2875,6 @@ _bt_endpoint(IndexScanDesc scan, ScanDirection dir) static inline void _bt_initialize_more_data(BTScanOpaque so, ScanDirection dir) { - so->currPos.dir = dir; if (so->needPrimScan) { Assert(so->numArrayKeys); diff --git a/src/backend/access/nbtree/nbtutils.c b/src/backend/access/nbtree/nbtutils.c index d6de2072d40..8d047d8873f 100644 --- a/src/backend/access/nbtree/nbtutils.c +++ b/src/backend/access/nbtree/nbtutils.c @@ -2426,8 +2426,10 @@ _bt_advance_array_keys(IndexScanDesc scan, BTReadPageState *pstate, /* * End this primitive index scan, but schedule another. * - * Note: If the scan direction happens to change, this scheduled primitive - * index scan won't go ahead after all. + * Note: We make a soft assumption that the current scan direction will + * also be used within _bt_next, when it is asked to step off this page. + * It is up to _bt_next to cancel this scheduled primitive index scan + * whenever it steps to a page in the direction opposite currPos.dir. */ pstate->continuescan = false; /* Tell _bt_readpage we're done... */ so->needPrimScan = true; /* ...but call _bt_first again */ @@ -4091,7 +4093,7 @@ _bt_checkkeys_look_ahead(IndexScanDesc scan, BTReadPageState *pstate, */ if (!pstate->targetdistance) pstate->targetdistance = LOOK_AHEAD_DEFAULT_DISTANCE; - else + else if (pstate->targetdistance < MaxIndexTuplesPerPage / 2) pstate->targetdistance *= 2; /* Don't read past the end (or before the start) of the page, though */ diff --git a/src/backend/access/spgist/spginsert.c b/src/backend/access/spgist/spginsert.c index 1bec19c2b88..f3652531867 100644 --- a/src/backend/access/spgist/spginsert.c +++ b/src/backend/access/spgist/spginsert.c @@ -83,6 +83,8 @@ spgbuild(Relation heap, Relation index, IndexInfo *indexInfo) elog(ERROR, "index \"%s\" already contains data", RelationGetRelationName(index)); + smgr_start_unlogged_build(index->rd_smgr); + /* * Initialize the meta page and root pages */ @@ -129,6 +131,8 @@ spgbuild(Relation heap, Relation index, IndexInfo *indexInfo) SpGistUpdateMetaPage(index); + smgr_finish_unlogged_build_phase_1(index->rd_smgr); + /* * We didn't write WAL records as we built the index, so if WAL-logging is * required, write all pages to the WAL now. @@ -138,8 +142,13 @@ spgbuild(Relation heap, Relation index, IndexInfo *indexInfo) log_newpage_range(index, MAIN_FORKNUM, 0, RelationGetNumberOfBlocks(index), true); + SetLastWrittenLSNForBlockRange(XactLastRecEnd, index->rd_smgr->smgr_rlocator.locator, + MAIN_FORKNUM, 0, RelationGetNumberOfBlocks(index)); + SetLastWrittenLSNForRelation(XactLastRecEnd, index->rd_smgr->smgr_rlocator.locator, MAIN_FORKNUM); } + smgr_end_unlogged_build(index->rd_smgr); + result = (IndexBuildResult *) palloc0(sizeof(IndexBuildResult)); result->heap_tuples = reltuples; result->index_tuples = buildstate.indtuples; diff --git a/src/backend/access/spgist/spgvacuum.c b/src/backend/access/spgist/spgvacuum.c index 0da069fd4d7..fb13c28ef06 100644 --- a/src/backend/access/spgist/spgvacuum.c +++ b/src/backend/access/spgist/spgvacuum.c @@ -26,6 +26,7 @@ #include "storage/indexfsm.h" #include "storage/lmgr.h" #include "utils/snapmgr.h" +#include "utils/spccache.h" /* Entry in pending-list of TIDs we need to revisit */ @@ -806,7 +807,14 @@ spgvacuumscan(spgBulkDeleteState *bds) Relation index = bds->info->index; bool needLock; BlockNumber num_pages, - blkno; + blkno, + prefetch_blkno; + int io_concurrency; + + /* initiate concurrency */ + io_concurrency = get_tablespace_maintenance_io_concurrency( + index->rd_rel->reltablespace + ); /* Finish setting up spgBulkDeleteState */ initSpGistState(&bds->spgstate, index); @@ -834,6 +842,8 @@ spgvacuumscan(spgBulkDeleteState *bds) * in btvacuumscan(). */ blkno = SPGIST_METAPAGE_BLKNO + 1; + prefetch_blkno = blkno; + for (;;) { /* Get the current relation length */ @@ -846,9 +856,19 @@ spgvacuumscan(spgBulkDeleteState *bds) /* Quit if we've scanned the whole relation */ if (blkno >= num_pages) break; + + if (prefetch_blkno < blkno) + prefetch_blkno = blkno; + for (; prefetch_blkno < num_pages && + prefetch_blkno < blkno + io_concurrency; prefetch_blkno++) + PrefetchBuffer(index, MAIN_FORKNUM, prefetch_blkno); + /* Iterate over pages, then loop back to recheck length */ for (; blkno < num_pages; blkno++) { + if (io_concurrency > 0 && prefetch_blkno < num_pages) + PrefetchBuffer(index, MAIN_FORKNUM, prefetch_blkno++); + spgvacuumpage(bds, blkno); /* empty the pending-list after each page */ if (bds->pendingList != NULL) diff --git a/src/backend/access/transam/multixact.c b/src/backend/access/transam/multixact.c index c601ff98a14..b7b47ef076a 100644 --- a/src/backend/access/transam/multixact.c +++ b/src/backend/access/transam/multixact.c @@ -120,7 +120,7 @@ MultiXactIdToOffsetEntry(MultiXactId multi) return multi % MULTIXACT_OFFSETS_PER_PAGE; } -static inline int +static inline int64 MultiXactIdToOffsetSegment(MultiXactId multi) { return MultiXactIdToOffsetPage(multi) / SLRU_PAGES_PER_SEGMENT; @@ -174,7 +174,7 @@ MXOffsetToMemberPage(MultiXactOffset offset) return offset / MULTIXACT_MEMBERS_PER_PAGE; } -static inline int +static inline int64 MXOffsetToMemberSegment(MultiXactOffset offset) { return MXOffsetToMemberPage(offset) / SLRU_PAGES_PER_SEGMENT; @@ -3039,10 +3039,10 @@ SlruScanDirCbFindEarliest(SlruCtl ctl, char *filename, int64 segpage, void *data static void PerformMembersTruncation(MultiXactOffset oldestOffset, MultiXactOffset newOldestOffset) { - const int maxsegment = MXOffsetToMemberSegment(MaxMultiXactOffset); - int startsegment = MXOffsetToMemberSegment(oldestOffset); - int endsegment = MXOffsetToMemberSegment(newOldestOffset); - int segment = startsegment; + const int64 maxsegment = MXOffsetToMemberSegment(MaxMultiXactOffset); + int64 startsegment = MXOffsetToMemberSegment(oldestOffset); + int64 endsegment = MXOffsetToMemberSegment(newOldestOffset); + int64 segment = startsegment; /* * Delete all the segments but the last one. The last segment can still diff --git a/src/backend/access/transam/parallel.c b/src/backend/access/transam/parallel.c index 8613fc6fb54..125a297e6ec 100644 --- a/src/backend/access/transam/parallel.c +++ b/src/backend/access/transam/parallel.c @@ -83,12 +83,14 @@ typedef struct FixedParallelState /* Fixed-size state that workers must restore. */ Oid database_id; Oid authenticated_user_id; - Oid current_user_id; + Oid session_user_id; Oid outer_user_id; + Oid current_user_id; Oid temp_namespace_id; Oid temp_toast_namespace_id; int sec_context; - bool is_superuser; + bool session_user_is_superuser; + bool role_is_superuser; PGPROC *parallel_leader_pgproc; pid_t parallel_leader_pid; ProcNumber parallel_leader_proc_number; @@ -230,6 +232,15 @@ InitializeParallelDSM(ParallelContext *pcxt) shm_toc_estimate_chunk(&pcxt->estimator, sizeof(FixedParallelState)); shm_toc_estimate_keys(&pcxt->estimator, 1); + /* + * If we manage to reach here while non-interruptible, it's unsafe to + * launch any workers: we would fail to process interrupts sent by them. + * We can deal with that edge case by pretending no workers were + * requested. + */ + if (!INTERRUPTS_CAN_BE_PROCESSED()) + pcxt->nworkers = 0; + /* * Normally, the user will have requested at least one worker process, but * if by chance they have not, we can skip a bunch of things here. @@ -327,9 +338,11 @@ InitializeParallelDSM(ParallelContext *pcxt) shm_toc_allocate(pcxt->toc, sizeof(FixedParallelState)); fps->database_id = MyDatabaseId; fps->authenticated_user_id = GetAuthenticatedUserId(); + fps->session_user_id = GetSessionUserId(); fps->outer_user_id = GetCurrentRoleId(); - fps->is_superuser = current_role_is_superuser; GetUserIdAndSecContext(&fps->current_user_id, &fps->sec_context); + fps->session_user_is_superuser = GetSessionUserIsSuperuser(); + fps->role_is_superuser = current_role_is_superuser; GetTempNamespaceState(&fps->temp_namespace_id, &fps->temp_toast_namespace_id); fps->parallel_leader_pgproc = MyProc; @@ -476,6 +489,9 @@ InitializeParallelDSM(ParallelContext *pcxt) shm_toc_insert(pcxt->toc, PARALLEL_KEY_ENTRYPOINT, entrypointstate); } + /* Update nworkers_to_launch, in case we changed nworkers above. */ + pcxt->nworkers_to_launch = pcxt->nworkers; + /* Restore previous memory context. */ MemoryContextSwitchTo(oldcontext); } @@ -539,10 +555,11 @@ ReinitializeParallelWorkers(ParallelContext *pcxt, int nworkers_to_launch) { /* * The number of workers that need to be launched must be less than the - * number of workers with which the parallel context is initialized. + * number of workers with which the parallel context is initialized. But + * the caller might not know that InitializeParallelDSM reduced nworkers, + * so just silently trim the request. */ - Assert(pcxt->nworkers >= nworkers_to_launch); - pcxt->nworkers_to_launch = nworkers_to_launch; + pcxt->nworkers_to_launch = Min(pcxt->nworkers, nworkers_to_launch); } /* @@ -1391,6 +1408,17 @@ ParallelWorkerMain(Datum main_arg) entrypt = LookupParallelWorkerFunction(library_name, function_name); + /* + * Restore current session authorization and role id. No verification + * happens here, we just blindly adopt the leader's state. Note that this + * has to happen before InitPostgres, since InitializeSessionUserId will + * not set these variables. + */ + SetAuthenticatedUserId(fps->authenticated_user_id); + SetSessionAuthorization(fps->session_user_id, + fps->session_user_is_superuser); + SetCurrentRoleId(fps->outer_user_id, fps->role_is_superuser); + /* Restore database connection. */ BackgroundWorkerInitializeConnectionByOid(fps->database_id, fps->authenticated_user_id, @@ -1456,13 +1484,13 @@ ParallelWorkerMain(Datum main_arg) InvalidateSystemCaches(); /* - * Restore current role id. Skip verifying whether session user is - * allowed to become this role and blindly restore the leader's state for - * current role. + * Restore current user ID and security context. No verification happens + * here, we just blindly adopt the leader's state. We can't do this till + * after restoring GUCs, else we'll get complaints about restoring + * session_authorization and role. (In effect, we're assuming that all + * the restored values are okay to set, even if we are now inside a + * restricted context.) */ - SetCurrentRoleId(fps->outer_user_id, fps->is_superuser); - - /* Restore user ID and security context. */ SetUserIdAndSecContext(fps->current_user_id, fps->sec_context); /* Restore temp-namespace state to ensure search path matches leader's. */ diff --git a/src/backend/access/transam/slru.c b/src/backend/access/transam/slru.c index 248aa1a6553..1218521671c 100644 --- a/src/backend/access/transam/slru.c +++ b/src/backend/access/transam/slru.c @@ -71,6 +71,7 @@ #include "storage/fd.h" #include "storage/shmem.h" #include "utils/guc_hooks.h" +#include "storage/smgr.h" /* * Converts segment number to the filename of the segment. @@ -733,6 +734,67 @@ SimpleLruWritePage(SlruCtl ctl, int slotno) SlruInternalWritePage(ctl, slotno, NULL); } + +/* + * NEON: we do not want to include large pg_xact/multixact files in basebackup and prefer + * to download them on demand to reduce startup time. + * If SLRU segment is not found, we try to download it from page server + */ +static int +SimpleLruDownloadSegment(SlruCtl ctl, int pageno, char const* path) +{ + SlruShared shared = ctl->shared; + int segno; + int fd = -1; + int n_blocks; + char* buffer; + + static SMgrRelationData dummy_smgr_rel = {0}; + + /* If page is greater than latest written page, then do not try to download segment from server */ + if (ctl->PagePrecedes(pg_atomic_read_u64(&shared->latest_page_number), pageno)) + return -1; + + if (!dummy_smgr_rel.smgr) + { + RelFileLocator rlocator = {0}; + dummy_smgr_rel.smgr = smgr(INVALID_PROC_NUMBER, rlocator); + } + segno = pageno / SLRU_PAGES_PER_SEGMENT; + + buffer = palloc(BLCKSZ * SLRU_PAGES_PER_SEGMENT); + n_blocks = smgr_read_slru_segment(&dummy_smgr_rel, path, segno, buffer); + if (n_blocks > 0) + { + fd = OpenTransientFile(path, O_RDWR | O_CREAT | PG_BINARY); + if (fd < 0) + { + slru_errcause = SLRU_OPEN_FAILED; + slru_errno = errno; + pfree(buffer); + return -1; + } + errno = 0; + pgstat_report_wait_start(WAIT_EVENT_SLRU_WRITE); + if (pg_pwrite(fd, buffer, n_blocks*BLCKSZ, 0) != n_blocks*BLCKSZ) + { + pgstat_report_wait_end(); + /* if write didn't set errno, assume problem is no disk space */ + if (errno == 0) + errno = ENOSPC; + slru_errcause = SLRU_WRITE_FAILED; + slru_errno = errno; + + CloseTransientFile(fd); + pfree(buffer); + return -1; + } + pgstat_report_wait_end(); + } + pfree(buffer); + return fd; +} + /* * Return whether the given page exists on disk. * @@ -760,12 +822,18 @@ SimpleLruDoesPhysicalPageExist(SlruCtl ctl, int64 pageno) { /* expected: file doesn't exist */ if (errno == ENOENT) - return false; - - /* report error normally */ - slru_errcause = SLRU_OPEN_FAILED; - slru_errno = errno; - SlruReportIOError(ctl, pageno, 0); + { + fd = SimpleLruDownloadSegment(ctl, pageno, path); + if (fd < 0) + return false; + } + else + { + /* report error normally */ + slru_errcause = SLRU_OPEN_FAILED; + slru_errno = errno; + SlruReportIOError(ctl, pageno, 0); + } } if ((endpos = lseek(fd, 0, SEEK_END)) < 0) @@ -819,18 +887,30 @@ SlruPhysicalReadPage(SlruCtl ctl, int64 pageno, int slotno) fd = OpenTransientFile(path, O_RDONLY | PG_BINARY); if (fd < 0) { - if (errno != ENOENT || !InRecovery) + if (errno != ENOENT) { slru_errcause = SLRU_OPEN_FAILED; slru_errno = errno; return false; } - - ereport(LOG, - (errmsg("file \"%s\" doesn't exist, reading as zeroes", - path))); - MemSet(shared->page_buffer[slotno], 0, BLCKSZ); - return true; + fd = SimpleLruDownloadSegment(ctl, pageno, path); + if (fd < 0) + { + if (!InRecovery) + { + slru_errcause = SLRU_OPEN_FAILED; + slru_errno = errno; + return false; + } + else + { + ereport(LOG, + (errmsg("file \"%s\" doesn't exist, reading as zeroes", + path))); + MemSet(shared->page_buffer[slotno], 0, BLCKSZ); + return true; + } + } } errno = 0; @@ -1184,7 +1264,7 @@ SlruSelectLRUPage(SlruCtl ctl, int64 pageno) Assert(LWLockHeldByMe(SimpleLruGetBankLock(ctl, pageno))); /* See if page already has a buffer assigned */ - for (int slotno = 0; slotno < shared->num_slots; slotno++) + for (int slotno = bankstart; slotno < bankend; slotno++) { if (shared->page_status[slotno] != SLRU_PAGE_EMPTY && shared->page_number[slotno] == pageno) @@ -1532,7 +1612,7 @@ SlruDeleteSegment(SlruCtl ctl, int64 segno) did_write = false; for (int slotno = 0; slotno < shared->num_slots; slotno++) { - int pagesegno; + int64 pagesegno; int curbank = SlotGetBankNumber(slotno); /* diff --git a/src/backend/access/transam/twophase.c b/src/backend/access/transam/twophase.c index 9a8257fcafb..ae23f407b98 100644 --- a/src/backend/access/transam/twophase.c +++ b/src/backend/access/transam/twophase.c @@ -1505,6 +1505,7 @@ FinishPreparedTransaction(const char *gid, bool isCommit) GlobalTransaction gxact; PGPROC *proc; TransactionId xid; + bool ondisk; char *buf; char *bufptr; TwoPhaseFileHeader *hdr; @@ -1657,6 +1658,12 @@ FinishPreparedTransaction(const char *gid, bool isCommit) PredicateLockTwoPhaseFinish(xid, isCommit); + /* + * Read this value while holding the two-phase lock, as the on-disk 2PC + * file is physically removed after the lock is released. + */ + ondisk = gxact->ondisk; + /* Clear shared memory state */ RemoveGXact(gxact); @@ -1672,7 +1679,7 @@ FinishPreparedTransaction(const char *gid, bool isCommit) /* * And now we can clean up any files we may have left. */ - if (gxact->ondisk) + if (ondisk) RemoveTwoPhaseFile(xid, true); MyLockedGxact = NULL; diff --git a/src/backend/access/transam/varsup.c b/src/backend/access/transam/varsup.c index fb6a86afcb1..cfe8c6cf8dc 100644 --- a/src/backend/access/transam/varsup.c +++ b/src/backend/access/transam/varsup.c @@ -153,14 +153,14 @@ GetNewTransactionId(bool isSubXact) if (oldest_datname) ereport(ERROR, (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), - errmsg("database is not accepting commands that assign new XIDs to avoid wraparound data loss in database \"%s\"", + errmsg("database is not accepting commands that assign new transaction IDs to avoid wraparound data loss in database \"%s\"", oldest_datname), errhint("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."))); else ereport(ERROR, (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), - errmsg("database is not accepting commands that assign new XIDs to avoid wraparound data loss in database with OID %u", + errmsg("database is not accepting commands that assign new transaction IDs to avoid wraparound data loss in database with OID %u", oldest_datoid), errhint("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."))); @@ -175,7 +175,7 @@ GetNewTransactionId(bool isSubXact) (errmsg("database \"%s\" must be vacuumed within %u transactions", oldest_datname, xidWrapLimit - xid), - errhint("To avoid XID assignment failures, execute a database-wide VACUUM in that database.\n" + errhint("To avoid transaction ID 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."))); else ereport(WARNING, diff --git a/src/backend/access/transam/xact.c b/src/backend/access/transam/xact.c index 9bda1aa6bc6..4cecf630060 100644 --- a/src/backend/access/transam/xact.c +++ b/src/backend/access/transam/xact.c @@ -646,7 +646,7 @@ AssignTransactionId(TransactionState s) if (IsInParallelMode() || IsParallelWorker()) ereport(ERROR, (errcode(ERRCODE_INVALID_TRANSACTION_STATE), - errmsg("cannot assign XIDs during a parallel operation"))); + errmsg("cannot assign transaction IDs during a parallel operation"))); /* * Ensure parent(s) have XIDs, so that a child always has an XID later diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c index 7f136026277..d359b71bafd 100644 --- a/src/backend/access/transam/xlog.c +++ b/src/backend/access/transam/xlog.c @@ -84,6 +84,7 @@ #include "replication/walreceiver.h" #include "replication/walsender.h" #include "storage/bufmgr.h" +#include "storage/buf_internals.h" #include "storage/fd.h" #include "storage/ipc.h" #include "storage/large_object.h" @@ -92,6 +93,7 @@ #include "storage/proc.h" #include "storage/procarray.h" #include "storage/reinit.h" +#include "storage/sinvaladt.h" #include "storage/spin.h" #include "storage/sync.h" #include "utils/guc_hooks.h" @@ -135,6 +137,8 @@ int wal_retrieve_retry_interval = 5000; int max_slot_wal_keep_size_mb = -1; int wal_decode_buffer_size = 512 * 1024; bool track_wal_io_timing = false; +uint64 predefined_sysidentifier; +int lastWrittenLsnCacheSize; #ifdef WAL_DEBUG bool XLOG_DEBUG = false; @@ -142,6 +146,8 @@ bool XLOG_DEBUG = false; int wal_segment_size = DEFAULT_XLOG_SEG_SIZE; +/* NEON: Hook to allow the neon extension to restore running-xacts from CLOG at replica startup */ +restore_running_xacts_callback_t restore_running_xacts_callback; /* * Number of WAL insertion locks to use. A higher value allows more insertions * to happen concurrently, but adds some CPU overhead to flushing the WAL, @@ -201,6 +207,25 @@ const struct config_enum_entry archive_mode_options[] = { {NULL, 0, false} }; +typedef struct LastWrittenLsnCacheEntry +{ + BufferTag key; + XLogRecPtr lsn; + /* double linked list for LRU replacement algorithm */ + dlist_node lru_node; +} LastWrittenLsnCacheEntry; + + +/* + * Cache of last written LSN for each relation page. + * Also to provide request LSN for smgrnblocks, smgrexists there is pseudokey=InvalidBlockId which stores LSN of last + * relation metadata update. + * Size of the cache is limited by GUC variable lastWrittenLsnCacheSize ("lsn_cache_size"), + * pages are replaced using LRU algorithm, based on L2-list. + * Access to this cache is protected by 'LastWrittenLsnLock'. + */ +static HTAB *lastWrittenLsnCache; + /* * Statistics for current checkpoint are collected in this global struct. * Because only the checkpointer or a stand-alone backend can perform @@ -550,6 +575,20 @@ typedef struct XLogCtlData */ XLogRecPtr lastFpwDisableRecPtr; + /* + * Maximal last written LSN for pages not present in lastWrittenLsnCache + */ + XLogRecPtr maxLastWrittenLsn; + + /* + * Double linked list to implement LRU replacement policy for last written LSN cache. + * Access to this list as well as to last written LSN cache is protected by 'LastWrittenLsnLock'. + */ + dlist_head lastWrittenLsnLRU; + + /* neon: copy of startup's RedoStartLSN for walproposer's use */ + XLogRecPtr RedoStartLSN; + slock_t info_lck; /* locks shared variables shown above */ } XLogCtlData; @@ -655,6 +694,15 @@ static bool holdingAllLocks = false; static MemoryContext walDebugCxt = NULL; #endif + +/* + * Variables read from 'zenith.signal' file. + */ +bool ZenithRecoveryRequested = false; +XLogRecPtr zenithLastRec = InvalidXLogRecPtr; +bool zenithWriteOk = false; + + static void CleanupAfterArchiveRecovery(TimeLineID EndOfLogTLI, XLogRecPtr EndOfLog, TimeLineID newTLI); @@ -665,6 +713,7 @@ static void CreateEndOfRecoveryRecord(void); static XLogRecPtr CreateOverwriteContrecordRecord(XLogRecPtr aborted_lsn, XLogRecPtr pagePtr, TimeLineID newTLI); +static void PreCheckPointGuts(int flags); static void CheckPointGuts(XLogRecPtr checkPointRedo, int flags); static void KeepLogSeg(XLogRecPtr recptr, XLogSegNo *logSegNo); static XLogRecPtr XLogGetReplicationSlotMinimumLSN(void); @@ -3564,11 +3613,15 @@ InstallXLogFileSegment(XLogSegNo *segno, char *tmppath, XLogFilePath(path, tli, *segno, wal_segment_size); - LWLockAcquire(ControlFileLock, LW_EXCLUSIVE); - if (!XLogCtl->InstallXLogFileSegmentActive) - { - LWLockRelease(ControlFileLock); - return false; + if (XLogCtl) + { + /* Neon: in case of sync-safekeepers shared memory is not inialized */ + LWLockAcquire(ControlFileLock, LW_EXCLUSIVE); + if (!XLogCtl->InstallXLogFileSegmentActive) + { + LWLockRelease(ControlFileLock); + return false; + } } if (!find_free) @@ -3584,7 +3637,8 @@ InstallXLogFileSegment(XLogSegNo *segno, char *tmppath, if ((*segno) >= max_segno) { /* Failed to find a free slot within specified range */ - LWLockRelease(ControlFileLock); + if (XLogCtl) + LWLockRelease(ControlFileLock); return false; } (*segno)++; @@ -3595,12 +3649,14 @@ InstallXLogFileSegment(XLogSegNo *segno, char *tmppath, Assert(access(path, F_OK) != 0 && errno == ENOENT); if (durable_rename(tmppath, path, LOG) != 0) { - LWLockRelease(ControlFileLock); + if (XLogCtl) + LWLockRelease(ControlFileLock); /* durable_rename already emitted log message */ return false; } - LWLockRelease(ControlFileLock); + if (XLogCtl) + LWLockRelease(ControlFileLock); return true; } @@ -4833,11 +4889,8 @@ GetActiveWalLevelOnStandby(void) return ControlFile->wal_level; } -/* - * Initialization of shared memory for XLOG - */ -Size -XLOGShmemSize(void) +static Size +XLOGCtlShmemSize(void) { Size size; @@ -4886,6 +4939,16 @@ XLOGShmemSize(void) return size; } +/* + * Initialization of shared memory for XLOG + */ +Size +XLOGShmemSize(void) +{ + return XLOGCtlShmemSize() + + hash_estimate_size(lastWrittenLsnCacheSize, sizeof(LastWrittenLsnCacheEntry)); +} + void XLOGShmemInit(void) { @@ -4913,7 +4976,18 @@ XLOGShmemInit(void) XLogCtl = (XLogCtlData *) - ShmemInitStruct("XLOG Ctl", XLOGShmemSize(), &foundXLog); + ShmemInitStruct("XLOG Ctl", XLOGCtlShmemSize(), &foundXLog); + + if (lastWrittenLsnCacheSize > 0) + { + static HASHCTL info; + info.keysize = sizeof(BufferTag); + info.entrysize = sizeof(LastWrittenLsnCacheEntry); + lastWrittenLsnCache = ShmemInitHash("last_written_lsn_cache", + lastWrittenLsnCacheSize, lastWrittenLsnCacheSize, + &info, + HASH_ELEM | HASH_BLOBS); + } localControlFile = ControlFile; ControlFile = (ControlFileData *) @@ -5029,10 +5103,17 @@ BootStrapXLOG(void) * determine the initialization time of the installation, which could * perhaps be useful sometimes. */ - gettimeofday(&tv, NULL); - sysidentifier = ((uint64) tv.tv_sec) << 32; - sysidentifier |= ((uint64) tv.tv_usec) << 12; - sysidentifier |= getpid() & 0xFFF; + if (predefined_sysidentifier != 0) + { + sysidentifier = predefined_sysidentifier; + } + else + { + gettimeofday(&tv, NULL); + sysidentifier = ((uint64) tv.tv_sec) << 32; + sysidentifier |= ((uint64) tv.tv_usec) << 12; + sysidentifier |= getpid() & 0xFFF; + } /* page buffer must be aligned suitably for O_DIRECT */ buffer = (char *) palloc(XLOG_BLCKSZ + XLOG_BLCKSZ); @@ -5394,6 +5475,81 @@ CheckRequiredParameterValues(void) } } +static void +readZenithSignalFile(void) +{ + int fd; + + fd = BasicOpenFile(ZENITH_SIGNAL_FILE, O_RDONLY | PG_BINARY); + if (fd >= 0) + { + struct stat statbuf; + char *content; + char prev_lsn_str[20]; + + /* Slurp the file into a string */ + if (stat(ZENITH_SIGNAL_FILE, &statbuf) != 0) + ereport(ERROR, + (errcode_for_file_access(), + errmsg("could not stat file \"%s\": %m", + ZENITH_SIGNAL_FILE))); + content = palloc(statbuf.st_size + 1); + if (read(fd, content, statbuf.st_size) != statbuf.st_size) + ereport(ERROR, + (errcode_for_file_access(), + errmsg("could not read file \"%s\": %m", + ZENITH_SIGNAL_FILE))); + content[statbuf.st_size] = '\0'; + + /* Parse it */ + if (sscanf(content, "PREV LSN: %19s", prev_lsn_str) != 1) + ereport(ERROR, + (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("invalid data in file \"%s\"", ZENITH_SIGNAL_FILE))); + + if (strcmp(prev_lsn_str, "invalid") == 0) + { + /* No prev LSN. Forbid starting up in read-write mode */ + zenithLastRec = InvalidXLogRecPtr; + zenithWriteOk = false; + } + else if (strcmp(prev_lsn_str, "none") == 0) + { + /* + * The page server had no valid prev LSN, but assured that it's ok + * to start without it. This happens when you start the compute + * node for the first time on a new branch. + */ + zenithLastRec = InvalidXLogRecPtr; + zenithWriteOk = true; + } + else + { + uint32 hi, + lo; + + if (sscanf(prev_lsn_str, "%X/%X", &hi, &lo) != 2) + ereport(ERROR, + (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("invalid data in file \"%s\"", ZENITH_SIGNAL_FILE))); + zenithLastRec = ((uint64) hi) << 32 | lo; + + /* If prev LSN is given, it better be valid */ + if (zenithLastRec == InvalidXLogRecPtr) + ereport(ERROR, + (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("invalid prev-LSN in file \"%s\"", ZENITH_SIGNAL_FILE))); + zenithWriteOk = true; + } + ZenithRecoveryRequested = true; + close(fd); + + elog(LOG, + "[ZENITH] found 'zenith.signal' file. setting prev LSN to %X/%X", + LSN_FORMAT_ARGS(zenithLastRec)); + } +} + /* * This must be called ONCE during postmaster or standalone-backend startup */ @@ -5425,10 +5581,15 @@ StartupXLOG(void) CurrentResourceOwner == AuxProcessResourceOwner); CurrentResourceOwner = AuxProcessResourceOwner; + /* + * Read zenith.signal before anything else. + */ + readZenithSignalFile(); + /* * Check that contents look valid. */ - if (!XRecOffIsValid(ControlFile->checkPoint)) + if (!XRecOffIsValid(ControlFile->checkPoint) && !ZenithRecoveryRequested) ereport(FATAL, (errcode(ERRCODE_DATA_CORRUPTED), errmsg("control file contains invalid checkpoint location"))); @@ -5661,6 +5822,14 @@ StartupXLOG(void) RedoRecPtr = XLogCtl->RedoRecPtr = XLogCtl->Insert.RedoRecPtr = checkPoint.redo; doPageWrites = lastFullPageWrites; + /* + * Setup last written lsn cache, max written LSN. + * Starting from here, we could be modifying pages through REDO, which requires + * the existance of maxLwLsn + LwLsn LRU. + */ + XLogCtl->maxLastWrittenLsn = RedoRecPtr; + dlist_init(&XLogCtl->lastWrittenLsnLRU); + /* REDO */ if (InRecovery) { @@ -5755,8 +5924,9 @@ StartupXLOG(void) */ if (ArchiveRecoveryRequested && EnableHotStandby) { - TransactionId *xids; + TransactionId *xids = NULL; int nxids; + bool apply_running_xacts = false; ereport(DEBUG1, (errmsg_internal("initializing for hot standby"))); @@ -5784,14 +5954,33 @@ StartupXLOG(void) * nothing was running on the primary at this point. So fake-up an * empty running-xacts record and use that here and now. Recover * additional standby state for prepared transactions. + * + * Neon: We also use a similar mechanism to start up sooner at + * replica startup, by scanning the CLOG and faking a running-xacts + * record based on that. */ if (wasShutdown) + { + /* Update pg_subtrans entries for any prepared transactions */ + StandbyRecoverPreparedTransactions(); + apply_running_xacts = true; + } + else if (restore_running_xacts_callback) + { + /* + * Update pg_subtrans entries for any prepared transactions before + * calling the extension hook. + */ + StandbyRecoverPreparedTransactions(); + apply_running_xacts = restore_running_xacts_callback(&checkPoint, &xids, &nxids); + } + + if (apply_running_xacts) { RunningTransactionsData running; TransactionId latestCompletedXid; - /* Update pg_subtrans entries for any prepared transactions */ - StandbyRecoverPreparedTransactions(); + /* Neon: called StandbyRecoverPreparedTransactions() above already */ /* * Construct a RunningTransactions snapshot representing a @@ -6037,6 +6226,30 @@ StartupXLOG(void) XLogCtl->LogwrtRqst.Write = EndOfLog; XLogCtl->LogwrtRqst.Flush = EndOfLog; + /* + * Invalidate all sinval-managed caches before READ WRITE transactions + * begin. The xl_heap_inplace WAL record doesn't store sufficient data + * for invalidations. The commit record, if any, has the invalidations. + * However, the inplace update is permanent, whether or not we reach a + * commit record. Fortunately, read-only transactions tolerate caches not + * reflecting the latest inplace updates. Read-only transactions + * experience the notable inplace updates as follows: + * + * - relhasindex=true affects readers only after the CREATE INDEX + * transaction commit makes an index fully available to them. + * + * - datconnlimit=DATCONNLIMIT_INVALID_DB affects readers only at + * InitPostgres() time, and that read does not use a cache. + * + * - relfrozenxid, datfrozenxid, relminmxid, and datminmxid have no effect + * on readers. + * + * Hence, hot standby queries (all READ ONLY) function correctly without + * the missing invalidations. This avoided changing the WAL format in + * back branches. + */ + SIResetAll(); + /* * Preallocate additional log files, if wanted. */ @@ -6462,6 +6675,312 @@ GetInsertRecPtr(void) return recptr; } +/* + * GetLastWrittenLSN -- Returns maximal LSN of written page. + * It returns an upper bound for the last written LSN of a given page, + * either from a cached last written LSN or a global maximum last written LSN. + * If rnode is InvalidOid then we calculate maximum among all cached LSN and maxLastWrittenLsn. + * If cache is large enough, iterating through all hash items may be rather expensive. + * But GetLastWrittenLSN(InvalidOid) is used only by zenith_dbsize which is not performance critical. + */ +XLogRecPtr +GetLastWrittenLSN(RelFileLocator rlocator, ForkNumber forknum, BlockNumber blkno) +{ + XLogRecPtr lsn; + LastWrittenLsnCacheEntry* entry; + + Assert(lastWrittenLsnCacheSize != 0); + + LWLockAcquire(LastWrittenLsnLock, LW_SHARED); + + /* Maximal last written LSN among all non-cached pages */ + lsn = XLogCtl->maxLastWrittenLsn; + + if (rlocator.relNumber != InvalidOid) + { + BufferTag key; + key.spcOid = rlocator.spcOid; + key.dbOid = rlocator.dbOid; + key.relNumber = rlocator.relNumber; + key.forkNum = forknum; + key.blockNum = blkno; + entry = hash_search(lastWrittenLsnCache, &key, HASH_FIND, NULL); + if (entry != NULL) + lsn = entry->lsn; + else + { + LWLockRelease(LastWrittenLsnLock); + return SetLastWrittenLSNForBlock(lsn, rlocator, forknum, blkno); + } + } + else + { + HASH_SEQ_STATUS seq; + /* Find maximum of all cached LSNs */ + hash_seq_init(&seq, lastWrittenLsnCache); + while ((entry = (LastWrittenLsnCacheEntry *) hash_seq_search(&seq)) != NULL) + { + if (entry->lsn > lsn) + lsn = entry->lsn; + } + } + LWLockRelease(LastWrittenLsnLock); + + return lsn; +} + +/* + * GetLastWrittenLSN -- Returns maximal LSN of written page. + * It returns an upper bound for the last written LSN of a given page, + * either from a cached last written LSN or a global maximum last written LSN. + * If rnode is InvalidOid then we calculate maximum among all cached LSN and maxLastWrittenLsn. + * If cache is large enough, iterating through all hash items may be rather expensive. + * But GetLastWrittenLSN(InvalidOid) is used only by zenith_dbsize which is not performance critical. + */ +void +GetLastWrittenLSNv(RelFileLocator relfilenode, ForkNumber forknum, + BlockNumber blkno, int nblocks, XLogRecPtr *lsns) +{ + LastWrittenLsnCacheEntry* entry; + + Assert(lastWrittenLsnCacheSize != 0); + Assert(nblocks > 0); + Assert(PointerIsValid(lsns)); + + LWLockAcquire(LastWrittenLsnLock, LW_SHARED); + + if (relfilenode.relNumber != InvalidOid) + { + BufferTag key; + key.spcOid = relfilenode.spcOid; + key.dbOid = relfilenode.dbOid; + key.relNumber = relfilenode.relNumber; + key.forkNum = forknum; + + for (int i = 0; i < nblocks; i++) + { + /* Maximal last written LSN among all non-cached pages */ + key.blockNum = blkno + i; + + entry = hash_search(lastWrittenLsnCache, &key, HASH_FIND, NULL); + + if (entry != NULL) + lsns[i] = entry->lsn; + else + { + XLogRecPtr lsn; + lsns[i] = lsn = XLogCtl->maxLastWrittenLsn; + + LWLockRelease(LastWrittenLsnLock); + SetLastWrittenLSNForBlock(lsn, relfilenode, forknum, key.blockNum); + LWLockAcquire(LastWrittenLsnLock, LW_SHARED); + } + } + } + else + { + HASH_SEQ_STATUS seq; + XLogRecPtr lsn = XLogCtl->maxLastWrittenLsn; + /* Find maximum of all cached LSNs */ + hash_seq_init(&seq, lastWrittenLsnCache); + while ((entry = (LastWrittenLsnCacheEntry *) hash_seq_search(&seq)) != NULL) + { + if (entry->lsn > lsn) + lsn = entry->lsn; + } + + for (int i = 0; i < nblocks; i++) + lsns[i] = lsn; + } + LWLockRelease(LastWrittenLsnLock); +} + +/* + * SetLastWrittenLSNForBlockRange -- Set maximal LSN of written page range. + * We maintain cache of last written LSNs with limited size and LRU replacement + * policy. Keeping last written LSN for each page allows to use old LSN when + * requesting pages of unchanged or appended relations. Also it is critical for + * efficient work of prefetch in case massive update operations (like vacuum or remove). + * + * rlocator.relNumber can be InvalidOid, in this case maxLastWrittenLsn is updated. + * SetLastWrittenLsn with dummy rlocator is used by createdb and dbase_redo functions. + */ +XLogRecPtr +SetLastWrittenLSNForBlockRange(XLogRecPtr lsn, RelFileLocator rlocator, ForkNumber forknum, BlockNumber from, BlockNumber n_blocks) +{ + if (lsn == InvalidXLogRecPtr || n_blocks == 0 || lastWrittenLsnCacheSize == 0) + return lsn; + + LWLockAcquire(LastWrittenLsnLock, LW_EXCLUSIVE); + if (rlocator.relNumber == InvalidOid) + { + if (lsn > XLogCtl->maxLastWrittenLsn) + XLogCtl->maxLastWrittenLsn = lsn; + else + lsn = XLogCtl->maxLastWrittenLsn; + } + else + { + LastWrittenLsnCacheEntry* entry; + BufferTag key; + bool found; + BlockNumber i; + + key.spcOid = rlocator.spcOid; + key.dbOid = rlocator.dbOid; + key.relNumber = rlocator.relNumber; + key.forkNum = forknum; + for (i = 0; i < n_blocks; i++) + { + key.blockNum = from + i; + entry = hash_search(lastWrittenLsnCache, &key, HASH_ENTER, &found); + if (found) + { + if (lsn > entry->lsn) + entry->lsn = lsn; + else + lsn = entry->lsn; + /* Unlink from LRU list */ + dlist_delete(&entry->lru_node); + } + else + { + entry->lsn = lsn; + if (hash_get_num_entries(lastWrittenLsnCache) > lastWrittenLsnCacheSize) + { + /* Replace least recently used entry */ + LastWrittenLsnCacheEntry* victim = dlist_container(LastWrittenLsnCacheEntry, lru_node, dlist_pop_head_node(&XLogCtl->lastWrittenLsnLRU)); + /* Adjust max LSN for not cached relations/chunks if needed */ + if (victim->lsn > XLogCtl->maxLastWrittenLsn) + XLogCtl->maxLastWrittenLsn = victim->lsn; + + hash_search(lastWrittenLsnCache, victim, HASH_REMOVE, NULL); + } + } + /* Link to the end of LRU list */ + dlist_push_tail(&XLogCtl->lastWrittenLsnLRU, &entry->lru_node); + } + } + LWLockRelease(LastWrittenLsnLock); + return lsn; +} + +/* + * SetLastWrittenLSNForBlockv -- Set maximal LSN of pages to their respective + * LSNs. + * + * We maintain cache of last written LSNs with limited size and LRU replacement + * policy. Keeping last written LSN for each page allows to use old LSN when + * requesting pages of unchanged or appended relations. Also it is critical for + * efficient work of prefetch in case massive update operations (like vacuum or remove). + */ +XLogRecPtr +SetLastWrittenLSNForBlockv(const XLogRecPtr *lsns, RelFileLocator relfilenode, + ForkNumber forknum, BlockNumber blockno, + int nblocks) +{ + LastWrittenLsnCacheEntry* entry; + BufferTag key; + bool found; + XLogRecPtr max = InvalidXLogRecPtr; + + if (lsns == NULL || nblocks == 0 || lastWrittenLsnCacheSize == 0 || + relfilenode.relNumber == InvalidOid) + return InvalidXLogRecPtr; + + key.relNumber = relfilenode.relNumber; + key.dbOid = relfilenode.dbOid; + key.spcOid = relfilenode.spcOid; + key.forkNum = forknum; + + LWLockAcquire(LastWrittenLsnLock, LW_EXCLUSIVE); + + for (int i = 0; i < nblocks; i++) + { + XLogRecPtr lsn = lsns[i]; + max = Max(max, lsn); + + key.blockNum = blockno + i; + entry = hash_search(lastWrittenLsnCache, &key, HASH_ENTER, &found); + if (found) + { + if (lsn > entry->lsn) + entry->lsn = lsn; + else + lsn = entry->lsn; + /* Unlink from LRU list */ + dlist_delete(&entry->lru_node); + } + else + { + entry->lsn = lsn; + if (hash_get_num_entries(lastWrittenLsnCache) > lastWrittenLsnCacheSize) + { + /* Replace least recently used entry */ + LastWrittenLsnCacheEntry* victim = dlist_container(LastWrittenLsnCacheEntry, lru_node, dlist_pop_head_node(&XLogCtl->lastWrittenLsnLRU)); + /* Adjust max LSN for not cached relations/chunks if needed */ + if (victim->lsn > XLogCtl->maxLastWrittenLsn) + XLogCtl->maxLastWrittenLsn = victim->lsn; + + hash_search(lastWrittenLsnCache, victim, HASH_REMOVE, NULL); + } + } + /* Link to the end of LRU list */ + dlist_push_tail(&XLogCtl->lastWrittenLsnLRU, &entry->lru_node); + } + + if (max > XLogCtl->maxLastWrittenLsn) + XLogCtl->maxLastWrittenLsn = max; + + LWLockRelease(LastWrittenLsnLock); + + return max; +} + +/* + * SetLastWrittenLSNForBlock -- Set maximal LSN for block + */ +XLogRecPtr +SetLastWrittenLSNForBlock(XLogRecPtr lsn, RelFileLocator rlocator, ForkNumber forknum, BlockNumber blkno) +{ + return SetLastWrittenLSNForBlockRange(lsn, rlocator, forknum, blkno, 1); +} + +/* + * SetLastWrittenLSNForRelation -- Set maximal LSN for relation metadata + */ +XLogRecPtr +SetLastWrittenLSNForRelation(XLogRecPtr lsn, RelFileLocator rlocator, ForkNumber forknum) +{ + return SetLastWrittenLSNForBlock(lsn, rlocator, forknum, REL_METADATA_PSEUDO_BLOCKNO); +} + +/* + * SetLastWrittenLSNForDatabase -- Set maximal LSN for the whole database + */ +XLogRecPtr +SetLastWrittenLSNForDatabase(XLogRecPtr lsn) +{ + RelFileLocator dummyNode = {InvalidOid, InvalidOid, InvalidOid}; + return SetLastWrittenLSNForBlock(lsn, dummyNode, MAIN_FORKNUM, 0); +} + +void +SetRedoStartLsn(XLogRecPtr RedoStartLSN) +{ + XLogCtl->RedoStartLSN = RedoStartLSN; +} + +/* + * RedoStartLsn is set only once by startup process, locking is not required + * after its exit. + */ +XLogRecPtr +GetRedoStartLsn(void) +{ + return XLogCtl->RedoStartLSN; +} + /* * GetFlushRecPtr -- Returns the current flush position, ie, the last WAL * position known to be fsync'd to disk. This should only be used on a @@ -6470,7 +6989,8 @@ GetInsertRecPtr(void) XLogRecPtr GetFlushRecPtr(TimeLineID *insertTLI) { - Assert(XLogCtl->SharedRecoveryState == RECOVERY_STATE_DONE); + // NEON + //Assert(XLogCtl->SharedRecoveryState == RECOVERY_STATE_DONE); RefreshXLogWriteResult(LogwrtResult); @@ -6898,6 +7418,11 @@ CreateCheckPoint(int flags) */ SyncPreCheckpoint(); + /* + * NEON: perform checkpiont action requiring write to the WAL before we determine the REDO pointer. + */ + PreCheckPointGuts(flags); + /* * Use a critical section to force system panic if we have trouble. */ @@ -7465,6 +7990,33 @@ CreateOverwriteContrecordRecord(XLogRecPtr aborted_lsn, XLogRecPtr pagePtr, return recptr; } +static void +CheckPointReplicationState(int flags) +{ + if (flags & CHECKPOINT_IS_SHUTDOWN) + { + CheckPointRelationMap(); + CheckPointReplicationSlots(true); + CheckPointSnapBuild(); + CheckPointLogicalRewriteHeap(); + CheckPointReplicationOrigin(); + } + else + CheckPointReplicationSlots(false); +} + +/* + * NEON: we use logical records to persist information of about slots, origins, relation map... + * If it is done inside shutdown checkpoint, then Postgres panics: "concurrent write-ahead log activity while database system is shutting down" + * So it before checkpoint REDO position is determined. + */ +static void +PreCheckPointGuts(int flags) +{ + if (flags & CHECKPOINT_IS_SHUTDOWN) + CheckPointReplicationState(flags); +} + /* * Flush all data in shared memory to disk, and fsync * @@ -7474,11 +8026,7 @@ CreateOverwriteContrecordRecord(XLogRecPtr aborted_lsn, XLogRecPtr pagePtr, static void CheckPointGuts(XLogRecPtr checkPointRedo, int flags) { - CheckPointRelationMap(); - CheckPointReplicationSlots(flags & CHECKPOINT_IS_SHUTDOWN); - CheckPointSnapBuild(); - CheckPointLogicalRewriteHeap(); - CheckPointReplicationOrigin(); + CheckPointReplicationState(flags); /* Write out all dirty data in SLRUs and the main buffer pool */ TRACE_POSTGRESQL_BUFFER_CHECKPOINT_START(flags); @@ -8442,6 +8990,7 @@ xlog_redo(XLogReaderState *record) for (uint8 block_id = 0; block_id <= XLogRecMaxBlockId(record); block_id++) { Buffer buffer; + XLogRedoAction result; if (!XLogRecHasBlockImage(record, block_id)) { @@ -8450,9 +8999,23 @@ xlog_redo(XLogReaderState *record) continue; } - if (XLogReadBufferForRedo(record, block_id, &buffer) != BLK_RESTORED) + result = XLogReadBufferForRedo(record, block_id, &buffer); + + if (result == BLK_DONE && (!IsUnderPostmaster || StandbyMode)) + { + /* + * NEON: In the special WAL redo process, blocks that are being + * ignored return BLK_DONE. Accept that. + * Additionally, in standby mode, blocks that are not present + * in shared buffers are ignored during replay, so we also + * ignore those blocks. + */ + } + else if (result != BLK_RESTORED) elog(ERROR, "unexpected XLogReadBufferForRedo result when restoring backup block"); - UnlockReleaseBuffer(buffer); + + if (buffer != InvalidBuffer) + UnlockReleaseBuffer(buffer); } } else if (info == XLOG_BACKUP_END) @@ -9475,3 +10038,30 @@ SetWalWriterSleeping(bool sleeping) XLogCtl->WalWriterSleeping = sleeping; SpinLockRelease(&XLogCtl->info_lck); } + +void +XLogUpdateWalBuffers(char* data, XLogRecPtr start, size_t len) +{ + XLogRecPtr end; + int idx; + XLogRecPtr pagebegptr; + + end = start + len; + Assert(len + (start & (XLOG_BLCKSZ - 1)) <= XLOG_BLCKSZ); + + LWLockAcquire(WALBufMappingLock, LW_EXCLUSIVE); + idx = XLogRecPtrToBufIdx(end); + pagebegptr = pg_atomic_read_u64(&XLogCtl->xlblocks[idx]) - XLOG_BLCKSZ; + + if (pagebegptr + XLOG_BLCKSZ >= end && pagebegptr < end) + { + /* Last page of the segment is present in WAL buffers */ + char* page = &XLogCtl->pages[idx * XLOG_BLCKSZ]; + size_t overlap = end - pagebegptr; + if (overlap <= len) + memcpy(page, data + len - overlap, overlap); + else + memcpy(page + overlap - len, data, len); + } + LWLockRelease(WALBufMappingLock); +} diff --git a/src/backend/access/transam/xloginsert.c b/src/backend/access/transam/xloginsert.c index 90476015347..c06101a7f43 100644 --- a/src/backend/access/transam/xloginsert.c +++ b/src/backend/access/transam/xloginsert.c @@ -36,9 +36,11 @@ #include "miscadmin.h" #include "pg_trace.h" #include "replication/origin.h" +#include "replication/walsender.h" #include "storage/bufmgr.h" #include "storage/proc.h" #include "utils/memutils.h" +#include "utils/wait_event.h" /* * Guess the maximum buffer size required to store a compressed version of @@ -86,6 +88,11 @@ typedef struct char compressed_page[COMPRESS_BUFSIZE]; } registered_buffer; +/* GUCs */ +int max_replication_apply_lag; +int max_replication_flush_lag; +int max_replication_write_lag; + static registered_buffer *registered_buffers; static int max_registered_buffers; /* allocated size */ static int max_registered_block_id = 0; /* highest block_id + 1 currently @@ -501,6 +508,11 @@ XLogInsert(RmgrId rmid, uint8 info) return EndPos; } + if (delay_backend_us != NULL && delay_backend_us() > 0) + { + InterruptPending = true; + } + do { XLogRecPtr RedoRecPtr; @@ -657,22 +669,30 @@ XLogRecordAssemble(RmgrId rmid, uint8 info, */ if (regbuf->flags & REGBUF_STANDARD) { - /* Assume we can omit data between pd_lower and pd_upper */ - uint16 lower = ((PageHeader) page)->pd_lower; - uint16 upper = ((PageHeader) page)->pd_upper; - - if (lower >= SizeOfPageHeaderData && - upper > lower && - upper <= BLCKSZ) + if (PageIsNew(page)) { - bimg.hole_offset = lower; - cbimg.hole_length = upper - lower; + bimg.hole_offset = 0; + cbimg.hole_length = BLCKSZ; } else { - /* No "hole" to remove */ - bimg.hole_offset = 0; - cbimg.hole_length = 0; + /* Assume we can omit data between pd_lower and pd_upper */ + uint16 lower = ((PageHeader) page)->pd_lower; + uint16 upper = ((PageHeader) page)->pd_upper; + + if (lower >= SizeOfPageHeaderData && + upper > lower && + upper <= BLCKSZ) + { + bimg.hole_offset = lower; + cbimg.hole_length = upper - lower; + } + else + { + /* No "hole" to remove */ + bimg.hole_offset = 0; + cbimg.hole_length = 0; + } } } else @@ -766,6 +786,11 @@ XLogRecordAssemble(RmgrId rmid, uint8 info, rdt_datas_last->data = page; rdt_datas_last->len = BLCKSZ; } + else if (bimg.length == 0) + { + rdt_datas_last->data = page; + rdt_datas_last->len = 0; + } else { /* must skip the hole */ diff --git a/src/backend/access/transam/xlogprefetcher.c b/src/backend/access/transam/xlogprefetcher.c index 84023d61baf..bb7800c757d 100644 --- a/src/backend/access/transam/xlogprefetcher.c +++ b/src/backend/access/transam/xlogprefetcher.c @@ -41,6 +41,7 @@ #include "utils/fmgrprotos.h" #include "utils/guc_hooks.h" #include "utils/hsearch.h" +#include "utils/rel.h" #include "utils/timestamp.h" /* @@ -717,8 +718,10 @@ XLogPrefetcherNextBlock(uintptr_t pgsr_private, XLogRecPtr *lsn) * We could try to have a fast path for repeated references to the * same relation (with some scheme to handle invalidations * safely), but for now we'll call smgropen() every time. + * + * Only permanent relations are WAL-logged, so RELPERSISTENCE_PERMANENT. */ - reln = smgropen(block->rlocator, INVALID_PROC_NUMBER); + reln = smgropen(block->rlocator, INVALID_PROC_NUMBER, RELPERSISTENCE_PERMANENT); /* * If the relation file doesn't exist on disk, for example because diff --git a/src/backend/access/transam/xlogreader.c b/src/backend/access/transam/xlogreader.c index 37d2a57961d..e6464aea587 100644 --- a/src/backend/access/transam/xlogreader.c +++ b/src/backend/access/transam/xlogreader.c @@ -230,7 +230,7 @@ WALOpenSegmentInit(WALOpenSegment *seg, WALSegmentContext *segcxt, void XLogBeginRead(XLogReaderState *state, XLogRecPtr RecPtr) { - Assert(!XLogRecPtrIsInvalid(RecPtr)); + Assert(!XLogRecPtrIsInvalid(RecPtr) || state->skip_lsn_checks); ResetDecoder(state); @@ -254,6 +254,14 @@ XLogReleasePreviousRecord(XLogReaderState *state) if (!state->record) return InvalidXLogRecPtr; +#define SKIP_INVALID_RECORD(rec_ptr) do { \ + rec_ptr = MAXALIGN(rec_ptr + 1); \ + if (rec_ptr % XLOG_BLCKSZ <= MAXALIGN(1)) \ + goto restart; \ + else \ + goto skip_invalid; \ + } while (0); + /* * Remove it from the decoded record queue. It must be the oldest item * decoded, decode_queue_head. @@ -434,7 +442,7 @@ XLogReadRecord(XLogReaderState *state, char **errormsg) * Return NULL if there is no space in the decode buffer and allow_oversized * is false, or if memory allocation fails for an oversized buffer. */ -static DecodedXLogRecord * +DecodedXLogRecord * XLogReadRecordAlloc(XLogReaderState *state, size_t xl_tot_len, bool allow_oversized) { size_t required_space = DecodeXLogRecordRequiredSpace(xl_tot_len); @@ -577,7 +585,7 @@ XLogDecodeNextRecord(XLogReaderState *state, bool nonblocking) * valid record starting position or alternatively to the beginning of * a page. See the header comments for XLogBeginRead. */ - Assert(RecPtr % XLOG_BLCKSZ == 0 || XRecOffIsValid(RecPtr)); + Assert(RecPtr % XLOG_BLCKSZ == 0 || XRecOffIsValid(RecPtr) || state->skip_lsn_checks); randAccess = true; } @@ -616,18 +624,24 @@ XLogDecodeNextRecord(XLogReaderState *state, bool nonblocking) } else if (targetRecOff < pageHeaderSize) { - report_invalid_record(state, "invalid record offset at %X/%X: expected at least %u, got %u", - LSN_FORMAT_ARGS(RecPtr), - pageHeaderSize, targetRecOff); - goto err; + if(!state->skip_page_validation) + { + report_invalid_record(state, "invalid record offset at %X/%X: expected at least %u, got %u", + LSN_FORMAT_ARGS(RecPtr), + pageHeaderSize, targetRecOff); + goto err; + } } if ((((XLogPageHeader) state->readBuf)->xlp_info & XLP_FIRST_IS_CONTRECORD) && targetRecOff == pageHeaderSize) { - report_invalid_record(state, "contrecord is requested by %X/%X", - LSN_FORMAT_ARGS(RecPtr)); - goto err; + if(!state->skip_page_validation) + { + report_invalid_record(state, "contrecord is requested by %X/%X", + LSN_FORMAT_ARGS(RecPtr)); + goto err; + } } /* ReadPageInternal has verified the page header */ @@ -642,6 +656,7 @@ XLogDecodeNextRecord(XLogReaderState *state, bool nonblocking) * cannot access any other fields until we've verified that we got the * whole header. */ +skip_invalid: record = (XLogRecord *) (state->readBuf + RecPtr % XLOG_BLCKSZ); total_len = record->xl_tot_len; @@ -657,7 +672,13 @@ XLogDecodeNextRecord(XLogReaderState *state, bool nonblocking) { if (!ValidXLogRecordHeader(state, RecPtr, state->DecodeRecPtr, record, randAccess)) - goto err; + { + if(!state->skip_invalid_records) + goto err; + + SKIP_INVALID_RECORD(RecPtr); + } + gotheader = true; } else @@ -665,11 +686,16 @@ XLogDecodeNextRecord(XLogReaderState *state, bool nonblocking) /* There may be no next page if it's too small. */ if (total_len < SizeOfXLogRecord) { - report_invalid_record(state, - "invalid record length at %X/%X: expected at least %u, got %u", - LSN_FORMAT_ARGS(RecPtr), - (uint32) SizeOfXLogRecord, total_len); - goto err; + if(!state->skip_invalid_records) + { + report_invalid_record(state, + "invalid record length at %X/%X: expected at least %u, got %u", + LSN_FORMAT_ARGS(RecPtr), + (uint32) SizeOfXLogRecord, total_len); + goto err; + } + + SKIP_INVALID_RECORD(RecPtr); } /* We'll validate the header once we have the next page. */ gotheader = false; @@ -754,10 +780,15 @@ XLogDecodeNextRecord(XLogReaderState *state, bool nonblocking) /* Check that the continuation on next page looks valid */ if (!(pageHeader->xlp_info & XLP_FIRST_IS_CONTRECORD)) { - report_invalid_record(state, - "there is no contrecord flag at %X/%X", - LSN_FORMAT_ARGS(RecPtr)); - goto err; + if(!state->skip_invalid_records) + { + report_invalid_record(state, + "there is no contrecord flag at %X/%X", + LSN_FORMAT_ARGS(RecPtr)); + goto err; + } + + SKIP_INVALID_RECORD(RecPtr); } /* @@ -767,12 +798,17 @@ XLogDecodeNextRecord(XLogReaderState *state, bool nonblocking) if (pageHeader->xlp_rem_len == 0 || total_len != (pageHeader->xlp_rem_len + gotlen)) { - report_invalid_record(state, - "invalid contrecord length %u (expected %lld) at %X/%X", - pageHeader->xlp_rem_len, - ((long long) total_len) - gotlen, - LSN_FORMAT_ARGS(RecPtr)); - goto err; + if(!state->skip_invalid_records) + { + report_invalid_record(state, + "invalid contrecord length %u (expected %lld) at %X/%X", + pageHeader->xlp_rem_len, + ((long long) total_len) - gotlen, + LSN_FORMAT_ARGS(RecPtr)); + goto err; + } + + SKIP_INVALID_RECORD(RecPtr); } /* Append the continuation from this page to the buffer */ @@ -803,7 +839,12 @@ XLogDecodeNextRecord(XLogReaderState *state, bool nonblocking) record = (XLogRecord *) state->readRecordBuf; if (!ValidXLogRecordHeader(state, RecPtr, state->DecodeRecPtr, record, randAccess)) - goto err; + { + if(!state->skip_invalid_records) + goto err; + + SKIP_INVALID_RECORD(RecPtr); + } gotheader = true; } @@ -833,7 +874,12 @@ XLogDecodeNextRecord(XLogReaderState *state, bool nonblocking) record = (XLogRecord *) state->readRecordBuf; if (!ValidXLogRecord(state, record, RecPtr)) - goto err; + { + if(!state->skip_invalid_records) + goto err; + + SKIP_INVALID_RECORD(RecPtr); + } pageHeaderSize = XLogPageHeaderSize((XLogPageHeader) state->readBuf); state->DecodeRecPtr = RecPtr; @@ -852,7 +898,12 @@ XLogDecodeNextRecord(XLogReaderState *state, bool nonblocking) /* Record does not cross a page boundary */ if (!ValidXLogRecord(state, record, RecPtr)) - goto err; + { + if(!state->skip_invalid_records) + goto err; + + SKIP_INVALID_RECORD(RecPtr); + } state->NextRecPtr = RecPtr + MAXALIGN(total_len); @@ -1049,7 +1100,8 @@ ReadPageInternal(XLogReaderState *state, XLogRecPtr pageptr, int reqLen) Assert(readLen == XLOG_BLCKSZ); if (!XLogReaderValidatePageHeader(state, targetSegmentPtr, - state->readBuf)) + state->readBuf) && + !state->skip_page_validation) goto err; } @@ -1090,7 +1142,8 @@ ReadPageInternal(XLogReaderState *state, XLogRecPtr pageptr, int reqLen) /* * Now that we know we have the full header, validate it. */ - if (!XLogReaderValidatePageHeader(state, pageptr, (char *) hdr)) + if (!XLogReaderValidatePageHeader(state, pageptr, (char *) hdr) && + !state->skip_page_validation) goto err; /* update read state information */ @@ -1149,7 +1202,7 @@ ValidXLogRecordHeader(XLogReaderState *state, XLogRecPtr RecPtr, * We can't exactly verify the prev-link, but surely it should be less * than the record's own address. */ - if (!(record->xl_prev < RecPtr)) + if (!(record->xl_prev < RecPtr) && !state->skip_lsn_checks) { report_invalid_record(state, "record with incorrect prev-link %X/%X at %X/%X", @@ -1165,7 +1218,7 @@ ValidXLogRecordHeader(XLogReaderState *state, XLogRecPtr RecPtr, * check guards against torn WAL pages where a stale but valid-looking * WAL record starts on a sector boundary. */ - if (record->xl_prev != PrevRecPtr) + if (record->xl_prev != PrevRecPtr && !state->skip_lsn_checks) { report_invalid_record(state, "record with incorrect prev-link %X/%X at %X/%X", @@ -1310,7 +1363,7 @@ XLogReaderValidatePageHeader(XLogReaderState *state, XLogRecPtr recptr, * check typically fails when an old WAL segment is recycled, and hasn't * yet been overwritten with new data yet. */ - if (hdr->xlp_pageaddr != recptr) + if (hdr->xlp_pageaddr != recptr && !state->skip_lsn_checks) { char fname[MAXFNAMELEN]; @@ -1810,7 +1863,9 @@ DecodeXLogRecord(XLogReaderState *state, if ((blk->bimg_info & BKPIMAGE_HAS_HOLE) && (blk->hole_offset == 0 || blk->hole_length == 0 || - blk->bimg_len == BLCKSZ)) + blk->bimg_len == BLCKSZ) && + !(blk->hole_offset == 0 && + blk->hole_length == BLCKSZ)) /* null page */ { report_invalid_record(state, "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X", diff --git a/src/backend/access/transam/xlogrecovery.c b/src/backend/access/transam/xlogrecovery.c index b45b8331720..bbbd5f93a2d 100644 --- a/src/backend/access/transam/xlogrecovery.c +++ b/src/backend/access/transam/xlogrecovery.c @@ -338,6 +338,7 @@ typedef struct XLogRecoveryCtlData XLogRecPtr lastReplayedReadRecPtr; /* start position */ XLogRecPtr lastReplayedEndRecPtr; /* end+1 position */ TimeLineID lastReplayedTLI; /* timeline */ + ConditionVariable replayProgressCV; /* CV for waiters */ /* * When we're currently replaying a record, ie. in a redo function, @@ -467,6 +468,7 @@ XLogRecoveryShmemInit(void) SpinLockInit(&XLogRecoveryCtl->info_lck); InitSharedLatch(&XLogRecoveryCtl->recoveryWakeupLatch); + ConditionVariableInit(&XLogRecoveryCtl->replayProgressCV); ConditionVariableInit(&XLogRecoveryCtl->recoveryNotPausedCV); } @@ -488,6 +490,64 @@ EnableStandbyMode(void) disable_startup_progress_timeout(); } +/* + * Wait for recovery to complete replaying all WAL up to and including + * redoEndRecPtr. + * + * This gets woken up for every WAL record replayed, so make sure you're not + * trying to wait an LSN that is too far in the future. + */ +void +XLogWaitForReplayOf(XLogRecPtr redoEndRecPtr) +{ + static XLogRecPtr replayRecPtr = 0; + + if (!RecoveryInProgress()) + return; + + /* + * Check the backend-local variable first, we may be able to skip accessing + * shared memory (which requires locking) + */ + if (redoEndRecPtr <= replayRecPtr) + return; + + replayRecPtr = GetXLogReplayRecPtr(NULL); + + /* + * Check again if we're going to need to wait, now that we've updated + * the local cached variable. + */ + if (redoEndRecPtr <= replayRecPtr) + return; + + /* + * We need to wait for the variable, so prepare for that. + * + * Note: This wakes up every time a WAL record is replayed, so this can + * be expensive. + */ + ConditionVariablePrepareToSleep(&XLogRecoveryCtl->replayProgressCV); + + while (redoEndRecPtr > replayRecPtr) + { + bool timeout; + timeout = ConditionVariableTimedSleep(&XLogRecoveryCtl->replayProgressCV, + 10000000, /* 10 seconds */ + WAIT_EVENT_RECOVERY_WAL_STREAM); + + replayRecPtr = GetXLogReplayRecPtr(NULL); + + if (timeout) + ereport(LOG, + (errmsg("Waiting for recovery to catch up to %X/%X (currently %X/%X)", + LSN_FORMAT_ARGS(redoEndRecPtr), + LSN_FORMAT_ARGS(replayRecPtr)))); + } + + ConditionVariableCancelSleep(); +} + /* * Prepare the system for WAL recovery, if needed. * @@ -701,6 +761,56 @@ InitWalRecovery(ControlFileData *ControlFile, bool *wasShutdown_ptr, /* tell the caller to delete it later */ haveBackupLabel = true; } + else if (ZenithRecoveryRequested) + { + /* + * Zenith hacks to spawn compute node without WAL. Pretend that we + * just finished reading the record that started at 'zenithLastRec' + * and ended at checkpoint.redo + */ + elog(LOG, "starting with zenith basebackup at LSN %X/%X, prev %X/%X", + LSN_FORMAT_ARGS(ControlFile->checkPointCopy.redo), + LSN_FORMAT_ARGS(zenithLastRec)); + + CheckPointLoc = zenithLastRec; + CheckPointTLI = ControlFile->checkPointCopy.ThisTimeLineID; + RedoStartLSN = ControlFile->checkPointCopy.redo; + // FIXME needs review. rebase of ff41b709abea6a9c42100a4fcb0ff434b2c846c9 + // Is it still relevant? + /* make basebackup LSN available for walproposer */ + SetRedoStartLsn(RedoStartLSN); + //EndRecPtr = ControlFile->checkPointCopy.redo; + + memcpy(&checkPoint, &ControlFile->checkPointCopy, sizeof(CheckPoint)); + + /* + * When a primary Neon compute node is started, we pretend that it + * started after a clean shutdown and no recovery is needed. We don't + * need to do WAL replay to make the database consistent, the page + * server does that on a page-by-page basis. + * + * When starting a read-only replica, we will also start from a + * consistent snapshot of the cluster the start LSN, so we don't need + * to perform WAL replay to get there. However, wasShutdown must be + * set to false, because wasShutdown==true would imply that there are + * no transactions still in-progress at the start LSN, and we would + * initialize the known-assigned XIDs machinery for hot standby + * incorrectly. If this is a static read-only node that doesn't follow + * the primary though, then it's OK, as we will never see the possible + * commits of the in-progress transactions. + */ + if (StandbyModeRequested && + PrimaryConnInfo != NULL && *PrimaryConnInfo != '\0') + { + wasShutdown = false; + } + else + wasShutdown = true; + + /* Initialize expectedTLEs, like ReadRecord() does */ + expectedTLEs = readTimeLineHistory(checkPoint.ThisTimeLineID); + XLogPrefetcherBeginRead(xlogprefetcher, ControlFile->checkPointCopy.redo); + } else { /* No backup_label file has been found if we are here. */ @@ -774,6 +884,7 @@ InitWalRecovery(ControlFileData *ControlFile, bool *wasShutdown_ptr, CheckPointLoc = ControlFile->checkPoint; CheckPointTLI = ControlFile->checkPointCopy.ThisTimeLineID; RedoStartLSN = ControlFile->checkPointCopy.redo; + SetRedoStartLsn(RedoStartLSN); RedoStartTLI = ControlFile->checkPointCopy.ThisTimeLineID; record = ReadCheckpointRecord(xlogprefetcher, CheckPointLoc, CheckPointTLI); @@ -823,6 +934,9 @@ InitWalRecovery(ControlFileData *ControlFile, bool *wasShutdown_ptr, else if (recoveryTarget == RECOVERY_TARGET_IMMEDIATE) ereport(LOG, (errmsg("starting point-in-time recovery to earliest consistent point"))); + else if (ZenithRecoveryRequested) + ereport(LOG, + (errmsg("starting zenith recovery"))); else ereport(LOG, (errmsg("starting archive recovery"))); @@ -893,7 +1007,7 @@ InitWalRecovery(ControlFileData *ControlFile, bool *wasShutdown_ptr, (errmsg("invalid next transaction ID"))); /* sanity check */ - if (checkPoint.redo > CheckPointLoc) + if (checkPoint.redo > CheckPointLoc && !ZenithRecoveryRequested) ereport(PANIC, (errmsg("invalid redo in checkpoint record"))); @@ -1519,8 +1633,13 @@ FinishWalRecovery(void) lastRec = XLogRecoveryCtl->lastReplayedReadRecPtr; lastRecTLI = XLogRecoveryCtl->lastReplayedTLI; } - XLogPrefetcherBeginRead(xlogprefetcher, lastRec); - (void) ReadRecord(xlogprefetcher, PANIC, false, lastRecTLI); + + if (!ZenithRecoveryRequested) + { + XLogPrefetcherBeginRead(xlogprefetcher, lastRec); + (void) ReadRecord(xlogprefetcher, PANIC, false, lastRecTLI); + } + endOfLog = xlogreader->EndRecPtr; /* @@ -1554,11 +1673,68 @@ FinishWalRecovery(void) } } + /* + * When starting from a zenith base backup, we don't have WAL. Initialize + * the WAL page where we will start writing new records from scratch, + * instead. + */ + if (ZenithRecoveryRequested) + { + if (!zenithWriteOk) + { + /* + * We cannot start generating new WAL if we don't have a valid prev-LSN + * to use for the first new WAL record. (Shouldn't happen.) + */ + ereport(ERROR, + (errmsg("cannot start in read-write mode from this base backup"))); + } + else + { + int offs = endOfLog % XLOG_BLCKSZ; + XLogRecPtr pageBeginPtr = endOfLog - offs; + bool isLongHeader = (pageBeginPtr % wal_segment_size) == 0; + int lastPageSize = isLongHeader ? SizeOfXLogLongPHD : SizeOfXLogShortPHD; + char *page = palloc0(offs); + XLogPageHeader xlogPageHdr = (XLogPageHeader) page; + + xlogPageHdr->xlp_pageaddr = pageBeginPtr; + xlogPageHdr->xlp_magic = XLOG_PAGE_MAGIC; + xlogPageHdr->xlp_tli = recoveryTargetTLI; + xlogPageHdr->xlp_info = 0; + /* + * If we start writing with offset from page beginning, pretend in + * page header there is a record ending where actual data will + * start. + */ + xlogPageHdr->xlp_rem_len = offs - lastPageSize; + if (xlogPageHdr->xlp_rem_len > 0) + xlogPageHdr->xlp_info |= XLP_FIRST_IS_CONTRECORD; + readOff = XLogSegmentOffset(pageBeginPtr, wal_segment_size); + + if (isLongHeader) + { + XLogLongPageHeader longHdr = (XLogLongPageHeader) page; + + longHdr->xlp_sysid = GetSystemIdentifier(); + longHdr->xlp_seg_size = wal_segment_size; + longHdr->xlp_xlog_blcksz = XLOG_BLCKSZ; + + xlogPageHdr->xlp_info |= XLP_LONG_HEADER; + } + result->lastPageBeginPtr = pageBeginPtr; + result->lastPage = page; + elog(LOG, "Continue writing WAL at %X/%X", LSN_FORMAT_ARGS(xlogreader->EndRecPtr)); + + // FIXME: should we unlink zenith.signal? + } + } + /* * Copy the last partial block to the caller, for initializing the WAL * buffer for appending new WAL. */ - if (endOfLog % XLOG_BLCKSZ != 0) + else if (endOfLog % XLOG_BLCKSZ != 0) { char *page; int len; @@ -1610,7 +1786,10 @@ ShutdownWalRecovery(void) char recoveryPath[MAXPGPATH]; /* Final update of pg_stat_recovery_prefetch. */ - XLogPrefetcherComputeStats(xlogprefetcher); + if (!ZenithRecoveryRequested) + { + XLogPrefetcherComputeStats(xlogprefetcher); + } /* Shut down xlogreader */ if (readFile >= 0) @@ -1619,7 +1798,11 @@ ShutdownWalRecovery(void) readFile = -1; } XLogReaderFree(xlogreader); - XLogPrefetcherFree(xlogprefetcher); + + if (!ZenithRecoveryRequested) + { + XLogPrefetcherFree(xlogprefetcher); + } if (ArchiveRecoveryRequested) { @@ -1720,7 +1903,10 @@ PerformWalRecovery(void) else { /* just have to read next record after CheckPoint */ - Assert(xlogreader->ReadRecPtr == CheckPointLoc); + if (ZenithRecoveryRequested) + xlogreader->ReadRecPtr = CheckPointLoc; + else + Assert(xlogreader->ReadRecPtr == CheckPointLoc); replayTLI = CheckPointTLI; record = ReadRecord(xlogprefetcher, LOG, false, replayTLI); } @@ -2062,6 +2248,8 @@ ApplyWalRecord(XLogReaderState *xlogreader, XLogRecord *record, TimeLineID *repl /* Reset the prefetcher. */ XLogPrefetchReconfigure(); } + + ConditionVariableBroadcast(&XLogRecoveryCtl->replayProgressCV); } /* diff --git a/src/backend/access/transam/xlogutils.c b/src/backend/access/transam/xlogutils.c index 5295b85fe07..a92ed50a58e 100644 --- a/src/backend/access/transam/xlogutils.c +++ b/src/backend/access/transam/xlogutils.c @@ -30,6 +30,8 @@ #include "utils/rel.h" +bool (*redo_read_buffer_filter) (XLogReaderState *record, uint8 block_id); + /* GUC variable */ bool ignore_invalid_pages = false; @@ -370,6 +372,21 @@ XLogReadBufferForRedoExtended(XLogReaderState *record, block_id); } + if (redo_read_buffer_filter && redo_read_buffer_filter(record, block_id)) + { + if (mode == RBM_ZERO_AND_LOCK || mode == RBM_ZERO_AND_CLEANUP_LOCK) + { + *buf = ReadBufferWithoutRelcache(rlocator, forknum, + blkno, mode, NULL, true); + return BLK_DONE; + } + else + { + *buf = InvalidBuffer; + return BLK_DONE; + } + } + /* * Make sure that if the block is marked with WILL_INIT, the caller is * going to initialize it. And vice versa. @@ -411,7 +428,7 @@ XLogReadBufferForRedoExtended(XLogReaderState *record, * force the on-disk state of init forks to always be in sync with the * state in shared buffers. */ - if (forknum == INIT_FORKNUM) + if (forknum == INIT_FORKNUM && !am_wal_redo_postgres) FlushOneBuffer(*buf); return BLK_RESTORED; @@ -488,7 +505,7 @@ XLogReadBufferExtended(RelFileLocator rlocator, ForkNumber forknum, } /* Open the relation at smgr level */ - smgr = smgropen(rlocator, INVALID_PROC_NUMBER); + smgr = smgropen(rlocator, INVALID_PROC_NUMBER, RELPERSISTENCE_PERMANENT); /* * Create the target file if it doesn't already exist. This lets us cope @@ -617,7 +634,8 @@ CreateFakeRelcacheEntry(RelFileLocator rlocator) * Set up a non-pinned SMgrRelation reference, so that we don't need to * worry about unpinning it on error. */ - rel->rd_smgr = smgropen(rlocator, INVALID_PROC_NUMBER); + rel->rd_smgr = smgropen(rlocator, INVALID_PROC_NUMBER, + RELPERSISTENCE_PERMANENT); return rel; } diff --git a/src/backend/backup/basebackup_incremental.c b/src/backend/backup/basebackup_incremental.c index af361f38a6c..15082c29878 100644 --- a/src/backend/backup/basebackup_incremental.c +++ b/src/backend/backup/basebackup_incremental.c @@ -953,7 +953,7 @@ manifest_process_system_identifier(JsonManifestParseContext *context, if (manifest_system_identifier != system_identifier) context->error_cb(context, - "manifest system identifier is %llu, but database system identifier is %llu", + "system identifier in backup manifest is %llu, but database system identifier is %llu", (unsigned long long) manifest_system_identifier, (unsigned long long) system_identifier); } diff --git a/src/backend/bootstrap/bootstrap.c b/src/backend/bootstrap/bootstrap.c index 986f6f1d9ca..e80f01189f0 100644 --- a/src/backend/bootstrap/bootstrap.c +++ b/src/backend/bootstrap/bootstrap.c @@ -43,6 +43,7 @@ uint32 bootstrap_data_checksum_version = 0; /* No checksum */ +extern uint64 predefined_sysidentifier; static void CheckerModeMain(void); static void bootstrap_signals(void); @@ -217,13 +218,23 @@ BootstrapModeMain(int argc, char *argv[], bool check_only) argv++; argc--; - while ((flag = getopt(argc, argv, "B:c:d:D:Fkr:X:-:")) != -1) + while ((flag = getopt(argc, argv, "B:c:d:D:Fkr:s:X:-:")) != -1) { switch (flag) { case 'B': SetConfigOption("shared_buffers", optarg, PGC_POSTMASTER, PGC_S_ARGV); break; + case 's': + { + char* endptr; +#ifdef HAVE_STRTOULL + predefined_sysidentifier = strtoull(optarg, &endptr, 10); +#else + predefined_sysidentifier = strtoul(optarg, &endptr, 10); +#endif + break; + } case 'c': case '-': { diff --git a/src/backend/catalog/aclchk.c b/src/backend/catalog/aclchk.c index a44ccee3b68..bc0e259f69f 100644 --- a/src/backend/catalog/aclchk.c +++ b/src/backend/catalog/aclchk.c @@ -75,6 +75,7 @@ #include "nodes/makefuncs.h" #include "parser/parse_func.h" #include "parser/parse_type.h" +#include "storage/lmgr.h" #include "utils/acl.h" #include "utils/aclchk_internal.h" #include "utils/builtins.h" @@ -1848,7 +1849,7 @@ ExecGrant_Relation(InternalGrant *istmt) HeapTuple tuple; ListCell *cell_colprivs; - tuple = SearchSysCache1(RELOID, ObjectIdGetDatum(relOid)); + tuple = SearchSysCacheLocked1(RELOID, ObjectIdGetDatum(relOid)); if (!HeapTupleIsValid(tuple)) elog(ERROR, "cache lookup failed for relation %u", relOid); pg_class_tuple = (Form_pg_class) GETSTRUCT(tuple); @@ -2060,6 +2061,7 @@ ExecGrant_Relation(InternalGrant *istmt) values, nulls, replaces); CatalogTupleUpdate(relation, &newtuple->t_self, newtuple); + UnlockTuple(relation, &tuple->t_self, InplaceUpdateTupleLock); /* Update initial privileges for extensions */ recordExtensionInitPriv(relOid, RelationRelationId, 0, new_acl); @@ -2072,6 +2074,8 @@ ExecGrant_Relation(InternalGrant *istmt) pfree(new_acl); } + else + UnlockTuple(relation, &tuple->t_self, InplaceUpdateTupleLock); /* * Handle column-level privileges, if any were specified or implied. @@ -2185,7 +2189,7 @@ ExecGrant_common(InternalGrant *istmt, Oid classid, AclMode default_privs, Oid *oldmembers; Oid *newmembers; - tuple = SearchSysCache1(cacheid, ObjectIdGetDatum(objectid)); + tuple = SearchSysCacheLocked1(cacheid, ObjectIdGetDatum(objectid)); if (!HeapTupleIsValid(tuple)) elog(ERROR, "cache lookup failed for %s %u", get_object_class_descr(classid), objectid); @@ -2261,6 +2265,7 @@ ExecGrant_common(InternalGrant *istmt, Oid classid, AclMode default_privs, nulls, replaces); CatalogTupleUpdate(relation, &newtuple->t_self, newtuple); + UnlockTuple(relation, &tuple->t_self, InplaceUpdateTupleLock); /* Update initial privileges for extensions */ recordExtensionInitPriv(objectid, classid, 0, new_acl); diff --git a/src/backend/catalog/catalog.c b/src/backend/catalog/catalog.c index 6c39434a306..da7e73bf416 100644 --- a/src/backend/catalog/catalog.c +++ b/src/backend/catalog/catalog.c @@ -138,6 +138,15 @@ IsCatalogRelationOid(Oid relid) /* * IsInplaceUpdateRelation * True iff core code performs inplace updates on the relation. + * + * This is used for assertions and for making the executor follow the + * locking protocol described at README.tuplock section "Locking to write + * inplace-updated tables". Extensions may inplace-update other heap + * tables, but concurrent SQL UPDATE on the same table may overwrite + * those modifications. + * + * The executor can assume these are not partitions or partitioned and + * have no triggers. */ bool IsInplaceUpdateRelation(Relation relation) @@ -520,10 +529,10 @@ GetNewOidWithIndex(Relation relation, Oid indexId, AttrNumber oidcolumn) RelFileNumber GetNewRelFileNumber(Oid reltablespace, Relation pg_class, char relpersistence) { - RelFileLocatorBackend rlocator; - char *rpath; + RelFileLocator locator; bool collides; ProcNumber procNumber; + SMgrRelation srel; /* * If we ever get here during pg_upgrade, there's something wrong; all @@ -547,53 +556,29 @@ GetNewRelFileNumber(Oid reltablespace, Relation pg_class, char relpersistence) } /* This logic should match RelationInitPhysicalAddr */ - rlocator.locator.spcOid = reltablespace ? reltablespace : MyDatabaseTableSpace; - rlocator.locator.dbOid = - (rlocator.locator.spcOid == GLOBALTABLESPACE_OID) ? + locator.spcOid = reltablespace ? reltablespace : MyDatabaseTableSpace; + locator.dbOid = + (locator.spcOid == GLOBALTABLESPACE_OID) ? InvalidOid : MyDatabaseId; - /* - * The relpath will vary based on the backend number, so we must - * initialize that properly here to make sure that any collisions based on - * filename are properly detected. - */ - rlocator.backend = procNumber; - do { CHECK_FOR_INTERRUPTS(); /* Generate the OID */ if (pg_class) - rlocator.locator.relNumber = GetNewOidWithIndex(pg_class, ClassOidIndexId, + locator.relNumber = GetNewOidWithIndex(pg_class, ClassOidIndexId, Anum_pg_class_oid); else - rlocator.locator.relNumber = GetNewObjectId(); + locator.relNumber = GetNewObjectId(); /* Check for existing file of same name */ - rpath = relpath(rlocator, MAIN_FORKNUM); - - if (access(rpath, F_OK) == 0) - { - /* definite collision */ - collides = true; - } - else - { - /* - * Here we have a little bit of a dilemma: if errno is something - * other than ENOENT, should we declare a collision and loop? In - * practice it seems best to go ahead regardless of the errno. If - * there is a colliding file we will get an smgr failure when we - * attempt to create the new relation file. - */ - collides = false; - } - - pfree(rpath); + srel = smgropen(locator, procNumber, relpersistence); + collides = smgrexists(srel, MAIN_FORKNUM); + smgrclose(srel); } while (collides); - return rlocator.locator.relNumber; + return locator.relNumber; } /* diff --git a/src/backend/catalog/heap.c b/src/backend/catalog/heap.c index ee4b718a9a0..4d0e18fb145 100644 --- a/src/backend/catalog/heap.c +++ b/src/backend/catalog/heap.c @@ -1470,9 +1470,11 @@ heap_create_with_catalog(const char *relname, * access method is. * * No need to add an explicit dependency for the toast table, as the - * main table depends on it. + * main table depends on it. Partitioned tables may not have an + * access method set. */ - if (RELKIND_HAS_TABLE_AM(relkind) && relkind != RELKIND_TOASTVALUE) + if ((RELKIND_HAS_TABLE_AM(relkind) && relkind != RELKIND_TOASTVALUE) || + (relkind == RELKIND_PARTITIONED_TABLE && OidIsValid(accessmtd))) { ObjectAddressSet(referenced, AccessMethodRelationId, accessmtd); add_exact_object_address(&referenced, addrs); diff --git a/src/backend/catalog/index.c b/src/backend/catalog/index.c index a819b4197ce..6c47b3cd739 100644 --- a/src/backend/catalog/index.c +++ b/src/backend/catalog/index.c @@ -2782,12 +2782,51 @@ index_update_stats(Relation rel, bool hasindex, double reltuples) { + bool update_stats; + BlockNumber relpages = 0; /* keep compiler quiet */ + BlockNumber relallvisible = 0; Oid relid = RelationGetRelid(rel); Relation pg_class; + ScanKeyData key[1]; HeapTuple tuple; + void *state; Form_pg_class rd_rel; bool dirty; + /* + * As a special hack, if we are dealing with an empty table and the + * existing reltuples is -1, we leave that alone. This ensures that + * creating an index as part of CREATE TABLE doesn't cause the table to + * prematurely look like it's been vacuumed. The rd_rel we modify may + * differ from rel->rd_rel due to e.g. commit of concurrent GRANT, but the + * commands that change reltuples take locks conflicting with ours. (Even + * if a command changed reltuples under a weaker lock, this affects only + * statistics for an empty table.) + */ + if (reltuples == 0 && rel->rd_rel->reltuples < 0) + reltuples = -1; + + /* + * Don't update statistics during binary upgrade, because the indexes are + * created before the data is moved into place. + */ + update_stats = reltuples >= 0 && !IsBinaryUpgrade; + + /* + * Finish I/O and visibility map buffer locks before + * systable_inplace_update_begin() locks the pg_class buffer. The rd_rel + * we modify may differ from rel->rd_rel due to e.g. commit of concurrent + * GRANT, but no command changes a relkind from non-index to index. (Even + * if one did, relallvisible doesn't break functionality.) + */ + if (update_stats) + { + relpages = RelationGetNumberOfBlocks(rel); + + if (rel->rd_rel->relkind != RELKIND_INDEX) + visibilitymap_count(rel, &relallvisible, NULL); + } + /* * We always update the pg_class row using a non-transactional, * overwrite-in-place update. There are several reasons for this: @@ -2818,33 +2857,12 @@ index_update_stats(Relation rel, pg_class = table_open(RelationRelationId, RowExclusiveLock); - /* - * Make a copy of the tuple to update. Normally we use the syscache, but - * we can't rely on that during bootstrap or while reindexing pg_class - * itself. - */ - if (IsBootstrapProcessingMode() || - ReindexIsProcessingHeap(RelationRelationId)) - { - /* don't assume syscache will work */ - TableScanDesc pg_class_scan; - ScanKeyData key[1]; - - ScanKeyInit(&key[0], - Anum_pg_class_oid, - BTEqualStrategyNumber, F_OIDEQ, - ObjectIdGetDatum(relid)); - - pg_class_scan = table_beginscan_catalog(pg_class, 1, key); - tuple = heap_getnext(pg_class_scan, ForwardScanDirection); - tuple = heap_copytuple(tuple); - table_endscan(pg_class_scan); - } - else - { - /* normal case, use syscache */ - tuple = SearchSysCacheCopy1(RELOID, ObjectIdGetDatum(relid)); - } + ScanKeyInit(&key[0], + Anum_pg_class_oid, + BTEqualStrategyNumber, F_OIDEQ, + ObjectIdGetDatum(relid)); + systable_inplace_update_begin(pg_class, ClassOidIndexId, true, NULL, + 1, key, &tuple, &state); if (!HeapTupleIsValid(tuple)) elog(ERROR, "could not find tuple for relation %u", relid); @@ -2853,15 +2871,6 @@ index_update_stats(Relation rel, /* Should this be a more comprehensive test? */ Assert(rd_rel->relkind != RELKIND_PARTITIONED_INDEX); - /* - * As a special hack, if we are dealing with an empty table and the - * existing reltuples is -1, we leave that alone. This ensures that - * creating an index as part of CREATE TABLE doesn't cause the table to - * prematurely look like it's been vacuumed. - */ - if (reltuples == 0 && rd_rel->reltuples < 0) - reltuples = -1; - /* Apply required updates, if any, to copied tuple */ dirty = false; @@ -2871,20 +2880,8 @@ index_update_stats(Relation rel, dirty = true; } - /* - * Avoid updating statistics during binary upgrade, because the indexes - * are created before the data is moved into place. - */ - if (reltuples >= 0 && !IsBinaryUpgrade) + if (update_stats) { - BlockNumber relpages = RelationGetNumberOfBlocks(rel); - BlockNumber relallvisible; - - if (rd_rel->relkind != RELKIND_INDEX) - visibilitymap_count(rel, &relallvisible, NULL); - else /* don't bother for indexes */ - relallvisible = 0; - if (rd_rel->relpages != (int32) relpages) { rd_rel->relpages = (int32) relpages; @@ -2907,11 +2904,12 @@ index_update_stats(Relation rel, */ if (dirty) { - heap_inplace_update(pg_class, tuple); + systable_inplace_update_finish(state, tuple); /* the above sends a cache inval message */ } else { + systable_inplace_update_cancel(state); /* no need to change tuple, but force relcache inval anyway */ CacheInvalidateRelcacheByTuple(tuple); } @@ -4000,6 +3998,14 @@ reindex_relation(const ReindexStmt *stmt, Oid relid, int flags, errmsg("cannot reindex invalid index \"%s.%s\" on TOAST table, skipping", get_namespace_name(indexNamespaceId), get_rel_name(indexOid)))); + + /* + * Remove this invalid toast index from the reindex pending list, + * as it is skipped here due to the hard failure that would happen + * in reindex_index(), should we try to process it. + */ + if (flags & REINDEX_REL_SUPPRESS_INDEX_USE) + RemoveReindexPending(indexOid); continue; } diff --git a/src/backend/catalog/namespace.c b/src/backend/catalog/namespace.c index 43b707699d7..30807f91904 100644 --- a/src/backend/catalog/namespace.c +++ b/src/backend/catalog/namespace.c @@ -305,17 +305,32 @@ static SearchPathCacheEntry *LastSearchPathCacheEntry = NULL; static void spcache_init(void) { - Assert(SearchPathCacheContext); - if (SearchPathCache && searchPathCacheValid && SearchPathCache->members < SPCACHE_RESET_THRESHOLD) return; - /* make sure we don't leave dangling pointers if nsphash_create fails */ + searchPathCacheValid = false; + baseSearchPathValid = false; + + /* + * Make sure we don't leave dangling pointers if a failure happens during + * initialization. + */ SearchPathCache = NULL; LastSearchPathCacheEntry = NULL; - MemoryContextReset(SearchPathCacheContext); + if (SearchPathCacheContext == NULL) + { + /* Make the context we'll keep search path cache hashtable in */ + SearchPathCacheContext = AllocSetContextCreate(TopMemoryContext, + "search_path processing cache", + ALLOCSET_DEFAULT_SIZES); + } + else + { + MemoryContextReset(SearchPathCacheContext); + } + /* arbitrary initial starting size of 16 elements */ SearchPathCache = nsphash_create(SearchPathCacheContext, 16, NULL); searchPathCacheValid = true; @@ -4742,11 +4757,6 @@ InitializeSearchPath(void) } else { - /* Make the context we'll keep search path cache hashtable in */ - SearchPathCacheContext = AllocSetContextCreate(TopMemoryContext, - "search_path processing cache", - ALLOCSET_DEFAULT_SIZES); - /* * In normal mode, arrange for a callback on any syscache invalidation * that will affect the search_path cache. diff --git a/src/backend/catalog/storage.c b/src/backend/catalog/storage.c index f56b3cc0f23..89db7e3b840 100644 --- a/src/backend/catalog/storage.c +++ b/src/backend/catalog/storage.c @@ -146,7 +146,7 @@ RelationCreateStorage(RelFileLocator rlocator, char relpersistence, return NULL; /* placate compiler */ } - srel = smgropen(rlocator, procNumber); + srel = smgropen(rlocator, procNumber, relpersistence); smgrcreate(srel, MAIN_FORKNUM, false); if (needs_wal) @@ -186,6 +186,7 @@ void log_smgrcreate(const RelFileLocator *rlocator, ForkNumber forkNum) { xl_smgr_create xlrec; + XLogRecPtr lsn; /* * Make an XLOG entry reporting the file creation. @@ -195,7 +196,8 @@ log_smgrcreate(const RelFileLocator *rlocator, ForkNumber forkNum) XLogBeginInsert(); XLogRegisterData((char *) &xlrec, sizeof(xlrec)); - XLogInsert(RM_SMGR_ID, XLOG_SMGR_CREATE | XLR_SPECIAL_REL_UPDATE); + lsn = XLogInsert(RM_SMGR_ID, XLOG_SMGR_CREATE | XLR_SPECIAL_REL_UPDATE); + SetLastWrittenLSNForRelation(lsn, *rlocator, forkNum); } /* @@ -660,7 +662,7 @@ smgrDoPendingDeletes(bool isCommit) { SMgrRelation srel; - srel = smgropen(pending->rlocator, pending->procNumber); + srel = smgropen(pending->rlocator, pending->procNumber, 0); /* allocate the initial array, or extend it, if needed */ if (maxrels == 0) @@ -741,7 +743,7 @@ smgrDoPendingSyncs(bool isCommit, bool isParallelWorker) BlockNumber total_blocks = 0; SMgrRelation srel; - srel = smgropen(pendingsync->rlocator, INVALID_PROC_NUMBER); + srel = smgropen(pendingsync->rlocator, INVALID_PROC_NUMBER, 0); /* * We emit newpage WAL records for smaller relations. @@ -950,7 +952,8 @@ smgr_redo(XLogReaderState *record) xl_smgr_create *xlrec = (xl_smgr_create *) XLogRecGetData(record); SMgrRelation reln; - reln = smgropen(xlrec->rlocator, INVALID_PROC_NUMBER); + reln = smgropen(xlrec->rlocator, INVALID_PROC_NUMBER, + RELPERSISTENCE_PERMANENT); smgrcreate(reln, xlrec->forkNum, true); } else if (info == XLOG_SMGR_TRUNCATE) @@ -963,7 +966,8 @@ smgr_redo(XLogReaderState *record) int nforks = 0; bool need_fsm_vacuum = false; - reln = smgropen(xlrec->rlocator, INVALID_PROC_NUMBER); + reln = smgropen(xlrec->rlocator, INVALID_PROC_NUMBER, + RELPERSISTENCE_PERMANENT); /* * Forcibly create relation if it doesn't exist (which suggests that diff --git a/src/backend/catalog/toasting.c b/src/backend/catalog/toasting.c index 738bc46ae82..ad3082c62ac 100644 --- a/src/backend/catalog/toasting.c +++ b/src/backend/catalog/toasting.c @@ -29,6 +29,7 @@ #include "catalog/toasting.h" #include "miscadmin.h" #include "nodes/makefuncs.h" +#include "utils/fmgroids.h" #include "utils/rel.h" #include "utils/syscache.h" @@ -333,21 +334,36 @@ create_toast_table(Relation rel, Oid toastOid, Oid toastIndexOid, */ class_rel = table_open(RelationRelationId, RowExclusiveLock); - reltup = SearchSysCacheCopy1(RELOID, ObjectIdGetDatum(relOid)); - if (!HeapTupleIsValid(reltup)) - elog(ERROR, "cache lookup failed for relation %u", relOid); - - ((Form_pg_class) GETSTRUCT(reltup))->reltoastrelid = toast_relid; - if (!IsBootstrapProcessingMode()) { /* normal case, use a transactional update */ + reltup = SearchSysCacheCopy1(RELOID, ObjectIdGetDatum(relOid)); + if (!HeapTupleIsValid(reltup)) + elog(ERROR, "cache lookup failed for relation %u", relOid); + + ((Form_pg_class) GETSTRUCT(reltup))->reltoastrelid = toast_relid; + CatalogTupleUpdate(class_rel, &reltup->t_self, reltup); } else { /* While bootstrapping, we cannot UPDATE, so overwrite in-place */ - heap_inplace_update(class_rel, reltup); + + ScanKeyData key[1]; + void *state; + + ScanKeyInit(&key[0], + Anum_pg_class_oid, + BTEqualStrategyNumber, F_OIDEQ, + ObjectIdGetDatum(relOid)); + systable_inplace_update_begin(class_rel, ClassOidIndexId, true, + NULL, 1, key, &reltup, &state); + if (!HeapTupleIsValid(reltup)) + elog(ERROR, "cache lookup failed for relation %u", relOid); + + ((Form_pg_class) GETSTRUCT(reltup))->reltoastrelid = toast_relid; + + systable_inplace_update_finish(state, reltup); } heap_freetuple(reltup); diff --git a/src/backend/commands/copy.c b/src/backend/commands/copy.c index df7a4a21c94..e557982071d 100644 --- a/src/backend/commands/copy.c +++ b/src/backend/commands/copy.c @@ -397,7 +397,9 @@ defGetCopyOnErrorChoice(DefElem *def, ParseState *pstate, bool is_from) if (!is_from) ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("COPY ON_ERROR cannot be used with COPY TO"), + /*- 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 */ + errmsg("COPY %s cannot be used with %s", "ON_ERROR", "COPY TO"), parser_errposition(pstate, def->location))); /* @@ -410,7 +412,8 @@ defGetCopyOnErrorChoice(DefElem *def, ParseState *pstate, bool is_from) ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("COPY ON_ERROR \"%s\" not recognized", sval), + /*- translator: first %s is the name of a COPY option, e.g. ON_ERROR */ + errmsg("COPY %s \"%s\" not recognized", "ON_ERROR", sval), parser_errposition(pstate, def->location))); return COPY_ON_ERROR_STOP; /* keep compiler quiet */ } @@ -434,7 +437,8 @@ defGetCopyLogVerbosityChoice(DefElem *def, ParseState *pstate) ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("COPY LOG_VERBOSITY \"%s\" not recognized", sval), + /*- translator: first %s is the name of a COPY option, e.g. ON_ERROR */ + errmsg("COPY %s \"%s\" not recognized", "LOG_VERBOSITY", sval), parser_errposition(pstate, def->location))); return COPY_LOG_VERBOSITY_DEFAULT; /* keep compiler quiet */ } @@ -647,17 +651,18 @@ ProcessCopyOptions(ParseState *pstate, if (opts_out->binary && opts_out->delim) ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR), - errmsg("cannot specify DELIMITER in BINARY mode"))); + /*- translator: %s is the name of a COPY option, e.g. ON_ERROR */ + errmsg("cannot specify %s in BINARY mode", "DELIMITER"))); if (opts_out->binary && opts_out->null_print) ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR), - errmsg("cannot specify NULL in BINARY mode"))); + errmsg("cannot specify %s in BINARY mode", "NULL"))); if (opts_out->binary && opts_out->default_print) ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR), - errmsg("cannot specify DEFAULT in BINARY mode"))); + errmsg("cannot specify %s in BINARY mode", "DEFAULT"))); if (opts_out->binary && opts_out->on_error != COPY_ON_ERROR_STOP) ereport(ERROR, @@ -731,13 +736,15 @@ ProcessCopyOptions(ParseState *pstate, if (opts_out->binary && opts_out->header_line) ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("cannot specify HEADER in BINARY mode"))); + /*- translator: %s is the name of a COPY option, e.g. ON_ERROR */ + errmsg("cannot specify %s in BINARY mode", "HEADER"))); /* Check quote */ if (!opts_out->csv_mode && opts_out->quote != NULL) ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("COPY QUOTE requires CSV mode"))); + /*- translator: %s is the name of a COPY option, e.g. ON_ERROR */ + errmsg("COPY %s requires CSV mode", "QUOTE"))); if (opts_out->csv_mode && strlen(opts_out->quote) != 1) ereport(ERROR, @@ -753,7 +760,8 @@ ProcessCopyOptions(ParseState *pstate, if (!opts_out->csv_mode && opts_out->escape != NULL) ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("COPY ESCAPE requires CSV mode"))); + /*- translator: %s is the name of a COPY option, e.g. ON_ERROR */ + errmsg("COPY %s requires CSV mode", "ESCAPE"))); if (opts_out->csv_mode && strlen(opts_out->escape) != 1) ereport(ERROR, @@ -764,71 +772,101 @@ ProcessCopyOptions(ParseState *pstate, if (!opts_out->csv_mode && (opts_out->force_quote || opts_out->force_quote_all)) ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("COPY FORCE_QUOTE requires CSV mode"))); + /*- translator: %s is the name of a COPY option, e.g. ON_ERROR */ + errmsg("COPY %s requires CSV mode", "FORCE_QUOTE"))); if ((opts_out->force_quote || opts_out->force_quote_all) && is_from) ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("COPY FORCE_QUOTE cannot be used with COPY FROM"))); + /*- 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 */ + errmsg("COPY %s cannot be used with %s", "FORCE_QUOTE", + "COPY FROM"))); /* Check force_notnull */ - if (!opts_out->csv_mode && opts_out->force_notnull != NIL) + if (!opts_out->csv_mode && (opts_out->force_notnull != NIL || + opts_out->force_notnull_all)) ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("COPY FORCE_NOT_NULL requires CSV mode"))); - if (opts_out->force_notnull != NIL && !is_from) + /*- translator: %s is the name of a COPY option, e.g. ON_ERROR */ + errmsg("COPY %s requires CSV mode", "FORCE_NOT_NULL"))); + if ((opts_out->force_notnull != NIL || opts_out->force_notnull_all) && + !is_from) ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("COPY FORCE_NOT_NULL cannot be used with COPY TO"))); + /*- 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 */ + errmsg("COPY %s cannot be used with %s", "FORCE_NOT_NULL", + "COPY TO"))); /* Check force_null */ - if (!opts_out->csv_mode && opts_out->force_null != NIL) + if (!opts_out->csv_mode && (opts_out->force_null != NIL || + opts_out->force_null_all)) ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("COPY FORCE_NULL requires CSV mode"))); + /*- translator: %s is the name of a COPY option, e.g. ON_ERROR */ + errmsg("COPY %s requires CSV mode", "FORCE_NULL"))); - if (opts_out->force_null != NIL && !is_from) + if ((opts_out->force_null != NIL || opts_out->force_null_all) && + !is_from) ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("COPY FORCE_NULL cannot be used with COPY TO"))); + /*- 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 */ + errmsg("COPY %s cannot be used with %s", "FORCE_NULL", + "COPY TO"))); /* Don't allow the delimiter to appear in the null string. */ if (strchr(opts_out->null_print, opts_out->delim[0]) != NULL) ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("COPY delimiter character must not appear in the NULL specification"))); + /*- translator: %s is the name of a COPY option, e.g. NULL */ + errmsg("COPY delimiter character must not appear in the %s specification", + "NULL"))); /* Don't allow the CSV quote char to appear in the null string. */ if (opts_out->csv_mode && strchr(opts_out->null_print, opts_out->quote[0]) != NULL) ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("CSV quote character must not appear in the NULL specification"))); + /*- translator: %s is the name of a COPY option, e.g. NULL */ + errmsg("CSV quote character must not appear in the %s specification", + "NULL"))); /* Check freeze */ if (opts_out->freeze && !is_from) ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("COPY FREEZE cannot be used with COPY TO"))); + /*- 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 */ + errmsg("COPY %s cannot be used with %s", "FREEZE", + "COPY TO"))); if (opts_out->default_print) { if (!is_from) ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("COPY DEFAULT only available using COPY FROM"))); + /*- 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 */ + errmsg("COPY %s cannot be used with %s", "DEFAULT", + "COPY TO"))); /* Don't allow the delimiter to appear in the default string. */ if (strchr(opts_out->default_print, opts_out->delim[0]) != NULL) ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("COPY delimiter must not appear in the DEFAULT specification"))); + /*- translator: %s is the name of a COPY option, e.g. NULL */ + errmsg("COPY delimiter character must not appear in the %s specification", + "DEFAULT"))); /* Don't allow the CSV quote char to appear in the default string. */ if (opts_out->csv_mode && strchr(opts_out->default_print, opts_out->quote[0]) != NULL) ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("CSV quote character must not appear in the DEFAULT specification"))); + /*- translator: %s is the name of a COPY option, e.g. NULL */ + errmsg("CSV quote character must not appear in the %s specification", + "DEFAULT"))); /* Don't allow the NULL and DEFAULT string to be the same */ if (opts_out->null_print_len == opts_out->default_print_len && diff --git a/src/backend/commands/copyfrom.c b/src/backend/commands/copyfrom.c index ce4d62e707c..f25af1fa1e8 100644 --- a/src/backend/commands/copyfrom.c +++ b/src/backend/commands/copyfrom.c @@ -1444,8 +1444,9 @@ BeginCopyFrom(ParseState *pstate, if (!list_member_int(cstate->attnumlist, attnum)) ereport(ERROR, (errcode(ERRCODE_INVALID_COLUMN_REFERENCE), - errmsg("FORCE_NOT_NULL column \"%s\" not referenced by COPY", - NameStr(attr->attname)))); + /*- translator: first %s is the name of a COPY option, e.g. FORCE_NOT_NULL */ + errmsg("%s column \"%s\" not referenced by COPY", + "FORCE_NOT_NULL", NameStr(attr->attname)))); cstate->opts.force_notnull_flags[attnum - 1] = true; } } @@ -1486,8 +1487,9 @@ BeginCopyFrom(ParseState *pstate, if (!list_member_int(cstate->attnumlist, attnum)) ereport(ERROR, (errcode(ERRCODE_INVALID_COLUMN_REFERENCE), - errmsg("FORCE_NULL column \"%s\" not referenced by COPY", - NameStr(attr->attname)))); + /*- translator: first %s is the name of a COPY option, e.g. FORCE_NOT_NULL */ + errmsg("%s column \"%s\" not referenced by COPY", + "FORCE_NULL", NameStr(attr->attname)))); cstate->opts.force_null_flags[attnum - 1] = true; } } diff --git a/src/backend/commands/copyfromparse.c b/src/backend/commands/copyfromparse.c index 7efcb891598..97a4c387a30 100644 --- a/src/backend/commands/copyfromparse.c +++ b/src/backend/commands/copyfromparse.c @@ -987,7 +987,7 @@ NextCopyFrom(CopyFromState cstate, ExprContext *econtext, attval = CopyLimitPrintoutLength(cstate->cur_attval); ereport(NOTICE, - errmsg("skipping row due to data type incompatibility at line %llu for column %s: \"%s\"", + errmsg("skipping row due to data type incompatibility at line %llu for column \"%s\": \"%s\"", (unsigned long long) cstate->cur_lineno, cstate->cur_attname, attval)); @@ -995,7 +995,7 @@ NextCopyFrom(CopyFromState cstate, ExprContext *econtext, } else ereport(NOTICE, - errmsg("skipping row due to data type incompatibility at line %llu for column %s: null input", + errmsg("skipping row due to data type incompatibility at line %llu for column \"%s\": null input", (unsigned long long) cstate->cur_lineno, cstate->cur_attname)); diff --git a/src/backend/commands/copyto.c b/src/backend/commands/copyto.c index ae8b2e36d72..84dc465cbae 100644 --- a/src/backend/commands/copyto.c +++ b/src/backend/commands/copyto.c @@ -475,7 +475,7 @@ BeginCopyTo(ParseState *pstate, if (q->querySource == QSRC_NON_INSTEAD_RULE) ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("DO ALSO rules are not supported for the COPY"))); + errmsg("DO ALSO rules are not supported for COPY"))); } ereport(ERROR, @@ -492,7 +492,11 @@ BeginCopyTo(ParseState *pstate, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("COPY (SELECT INTO) is not supported"))); - Assert(query->utilityStmt == NULL); + /* The only other utility command we could see is NOTIFY */ + if (query->utilityStmt != NULL) + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("COPY query must not be a utility command"))); /* * Similarly the grammar doesn't enforce the presence of a RETURNING @@ -593,8 +597,9 @@ BeginCopyTo(ParseState *pstate, if (!list_member_int(cstate->attnumlist, attnum)) ereport(ERROR, (errcode(ERRCODE_INVALID_COLUMN_REFERENCE), - errmsg("FORCE_QUOTE column \"%s\" not referenced by COPY", - NameStr(attr->attname)))); + /*- translator: %s is the name of a COPY option, e.g. FORCE_NOT_NULL */ + errmsg("%s column \"%s\" not referenced by COPY", + "FORCE_QUOTE", NameStr(attr->attname)))); cstate->opts.force_quote_flags[attnum - 1] = true; } } diff --git a/src/backend/commands/dbcommands.c b/src/backend/commands/dbcommands.c index be629ea92cf..253c3c36c99 100644 --- a/src/backend/commands/dbcommands.c +++ b/src/backend/commands/dbcommands.c @@ -275,7 +275,7 @@ ScanSourceDatabasePgClass(Oid tbid, Oid dbid, char *srcpath) rlocator.dbOid = dbid; rlocator.relNumber = relfilenumber; - smgr = smgropen(rlocator, INVALID_PROC_NUMBER); + smgr = smgropen(rlocator, INVALID_PROC_NUMBER, RELPERSISTENCE_PERMANENT); nblocks = smgrnblocks(smgr, MAIN_FORKNUM); smgrclose(smgr); @@ -1512,6 +1512,11 @@ createdb(ParseState *pstate, const CreatedbStmt *stmt) CreateDatabaseUsingFileCopy(src_dboid, dboid, src_deftablespace, dst_deftablespace); + /* + * Update global last written LSN after wal-logging create database command + */ + SetLastWrittenLSNForDatabase(XactLastRecEnd); + /* * Close pg_database, but keep lock till commit. */ @@ -1637,6 +1642,8 @@ dropdb(const char *dbname, bool missing_ok, bool force) bool db_istemplate; Relation pgdbrel; HeapTuple tup; + ScanKeyData scankey; + void *inplace_state; Form_pg_database datform; int notherbackends; int npreparedxacts; @@ -1774,11 +1781,6 @@ dropdb(const char *dbname, bool missing_ok, bool force) */ pgstat_drop_database(db_id); - tup = SearchSysCacheCopy1(DATABASEOID, ObjectIdGetDatum(db_id)); - if (!HeapTupleIsValid(tup)) - elog(ERROR, "cache lookup failed for database %u", db_id); - datform = (Form_pg_database) GETSTRUCT(tup); - /* * Except for the deletion of the catalog row, subsequent actions are not * transactional (consider DropDatabaseBuffers() discarding modified @@ -1790,8 +1792,17 @@ dropdb(const char *dbname, bool missing_ok, bool force) * modification is durable before performing irreversible filesystem * operations. */ + ScanKeyInit(&scankey, + Anum_pg_database_datname, + BTEqualStrategyNumber, F_NAMEEQ, + CStringGetDatum(dbname)); + systable_inplace_update_begin(pgdbrel, DatabaseNameIndexId, true, + NULL, 1, &scankey, &tup, &inplace_state); + if (!HeapTupleIsValid(tup)) + elog(ERROR, "cache lookup failed for database %u", db_id); + datform = (Form_pg_database) GETSTRUCT(tup); datform->datconnlimit = DATCONNLIMIT_INVALID_DB; - heap_inplace_update(pgdbrel, tup); + systable_inplace_update_finish(inplace_state, tup); XLogFlush(XactLastRecEnd); /* @@ -1799,6 +1810,7 @@ dropdb(const char *dbname, bool missing_ok, bool force) * the row will be gone, but if we fail, dropdb() can be invoked again. */ CatalogTupleDelete(pgdbrel, &tup->t_self); + heap_freetuple(tup); /* * Drop db-specific replication slots. @@ -1857,6 +1869,7 @@ RenameDatabase(const char *oldname, const char *newname) { Oid db_id; HeapTuple newtup; + ItemPointerData otid; Relation rel; int notherbackends; int npreparedxacts; @@ -1928,11 +1941,13 @@ RenameDatabase(const char *oldname, const char *newname) errdetail_busy_db(notherbackends, npreparedxacts))); /* rename */ - newtup = SearchSysCacheCopy1(DATABASEOID, ObjectIdGetDatum(db_id)); + newtup = SearchSysCacheLockedCopy1(DATABASEOID, ObjectIdGetDatum(db_id)); if (!HeapTupleIsValid(newtup)) elog(ERROR, "cache lookup failed for database %u", db_id); + otid = newtup->t_self; namestrcpy(&(((Form_pg_database) GETSTRUCT(newtup))->datname), newname); - CatalogTupleUpdate(rel, &newtup->t_self, newtup); + CatalogTupleUpdate(rel, &otid, newtup); + UnlockTuple(rel, &otid, InplaceUpdateTupleLock); InvokeObjectPostAlterHook(DatabaseRelationId, db_id, 0); @@ -2153,6 +2168,7 @@ movedb(const char *dbname, const char *tblspcname) */ { xl_dbase_create_file_copy_rec xlrec; + XLogRecPtr lsn; xlrec.db_id = db_id; xlrec.tablespace_id = dst_tblspcoid; @@ -2163,8 +2179,10 @@ movedb(const char *dbname, const char *tblspcname) XLogRegisterData((char *) &xlrec, sizeof(xl_dbase_create_file_copy_rec)); - (void) XLogInsert(RM_DBASE_ID, - XLOG_DBASE_CREATE_FILE_COPY | XLR_SPECIAL_REL_UPDATE); + lsn = XLogInsert(RM_DBASE_ID, + XLOG_DBASE_CREATE_FILE_COPY | XLR_SPECIAL_REL_UPDATE); + // TODO: Do we really need to set the LSN here? + SetLastWrittenLSNForDatabase(lsn); } /* @@ -2181,6 +2199,7 @@ movedb(const char *dbname, const char *tblspcname) ereport(ERROR, (errcode(ERRCODE_UNDEFINED_DATABASE), errmsg("database \"%s\" does not exist", dbname))); + LockTuple(pgdbrel, &oldtuple->t_self, InplaceUpdateTupleLock); new_record[Anum_pg_database_dattablespace - 1] = ObjectIdGetDatum(dst_tblspcoid); new_record_repl[Anum_pg_database_dattablespace - 1] = true; @@ -2189,6 +2208,7 @@ movedb(const char *dbname, const char *tblspcname) new_record, new_record_nulls, new_record_repl); CatalogTupleUpdate(pgdbrel, &oldtuple->t_self, newtuple); + UnlockTuple(pgdbrel, &oldtuple->t_self, InplaceUpdateTupleLock); InvokeObjectPostAlterHook(DatabaseRelationId, db_id, 0); @@ -2419,6 +2439,7 @@ AlterDatabase(ParseState *pstate, AlterDatabaseStmt *stmt, bool isTopLevel) ereport(ERROR, (errcode(ERRCODE_UNDEFINED_DATABASE), errmsg("database \"%s\" does not exist", stmt->dbname))); + LockTuple(rel, &tuple->t_self, InplaceUpdateTupleLock); datform = (Form_pg_database) GETSTRUCT(tuple); dboid = datform->oid; @@ -2468,6 +2489,7 @@ AlterDatabase(ParseState *pstate, AlterDatabaseStmt *stmt, bool isTopLevel) newtuple = heap_modify_tuple(tuple, RelationGetDescr(rel), new_record, new_record_nulls, new_record_repl); CatalogTupleUpdate(rel, &tuple->t_self, newtuple); + UnlockTuple(rel, &tuple->t_self, InplaceUpdateTupleLock); InvokeObjectPostAlterHook(DatabaseRelationId, dboid, 0); @@ -2517,6 +2539,7 @@ AlterDatabaseRefreshColl(AlterDatabaseRefreshCollStmt *stmt) if (!object_ownercheck(DatabaseRelationId, db_id, GetUserId())) aclcheck_error(ACLCHECK_NOT_OWNER, OBJECT_DATABASE, stmt->dbname); + LockTuple(rel, &tuple->t_self, InplaceUpdateTupleLock); datum = heap_getattr(tuple, Anum_pg_database_datcollversion, RelationGetDescr(rel), &isnull); oldversion = isnull ? NULL : TextDatumGetCString(datum); @@ -2545,6 +2568,7 @@ AlterDatabaseRefreshColl(AlterDatabaseRefreshCollStmt *stmt) bool nulls[Natts_pg_database] = {0}; bool replaces[Natts_pg_database] = {0}; Datum values[Natts_pg_database] = {0}; + HeapTuple newtuple; ereport(NOTICE, (errmsg("changing version from %s to %s", @@ -2553,14 +2577,15 @@ AlterDatabaseRefreshColl(AlterDatabaseRefreshCollStmt *stmt) values[Anum_pg_database_datcollversion - 1] = CStringGetTextDatum(newversion); replaces[Anum_pg_database_datcollversion - 1] = true; - tuple = heap_modify_tuple(tuple, RelationGetDescr(rel), - values, nulls, replaces); - CatalogTupleUpdate(rel, &tuple->t_self, tuple); - heap_freetuple(tuple); + newtuple = heap_modify_tuple(tuple, RelationGetDescr(rel), + values, nulls, replaces); + CatalogTupleUpdate(rel, &tuple->t_self, newtuple); + heap_freetuple(newtuple); } else ereport(NOTICE, (errmsg("version has not changed"))); + UnlockTuple(rel, &tuple->t_self, InplaceUpdateTupleLock); InvokeObjectPostAlterHook(DatabaseRelationId, db_id, 0); @@ -2672,6 +2697,8 @@ AlterDatabaseOwner(const char *dbname, Oid newOwnerId) (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE), errmsg("permission denied to change owner of database"))); + LockTuple(rel, &tuple->t_self, InplaceUpdateTupleLock); + repl_repl[Anum_pg_database_datdba - 1] = true; repl_val[Anum_pg_database_datdba - 1] = ObjectIdGetDatum(newOwnerId); @@ -2693,6 +2720,7 @@ AlterDatabaseOwner(const char *dbname, Oid newOwnerId) newtuple = heap_modify_tuple(tuple, RelationGetDescr(rel), repl_val, repl_null, repl_repl); CatalogTupleUpdate(rel, &newtuple->t_self, newtuple); + UnlockTuple(rel, &tuple->t_self, InplaceUpdateTupleLock); heap_freetuple(newtuple); @@ -3323,6 +3351,15 @@ dbase_redo(XLogReaderState *record) */ copydir(src_path, dst_path, false); + /* + * Make sure any future requests to the page server see the new + * database. + */ + { + XLogRecPtr lsn = record->EndRecPtr; + SetLastWrittenLSNForDatabase(lsn); + } + pfree(src_path); pfree(dst_path); } @@ -3343,6 +3380,16 @@ dbase_redo(XLogReaderState *record) /* Create the database directory with the version file. */ CreateDirAndVersionFile(dbpath, xlrec->db_id, xlrec->tablespace_id, true); + + /* + * Make sure any future requests to the page server see the new + * database. + */ + { + XLogRecPtr lsn = record->EndRecPtr; + SetLastWrittenLSNForDatabase(lsn); + } + pfree(dbpath); } else if (info == XLOG_DBASE_DROP) diff --git a/src/backend/commands/event_trigger.c b/src/backend/commands/event_trigger.c index 7a5ed6b9850..05a6de68ba3 100644 --- a/src/backend/commands/event_trigger.c +++ b/src/backend/commands/event_trigger.c @@ -388,6 +388,7 @@ SetDatabaseHasLoginEventTriggers(void) /* Set dathasloginevt flag in pg_database */ Form_pg_database db; Relation pg_db = table_open(DatabaseRelationId, RowExclusiveLock); + ItemPointerData otid; HeapTuple tuple; /* @@ -399,16 +400,18 @@ SetDatabaseHasLoginEventTriggers(void) */ LockSharedObject(DatabaseRelationId, MyDatabaseId, 0, AccessExclusiveLock); - tuple = SearchSysCacheCopy1(DATABASEOID, ObjectIdGetDatum(MyDatabaseId)); + tuple = SearchSysCacheLockedCopy1(DATABASEOID, ObjectIdGetDatum(MyDatabaseId)); if (!HeapTupleIsValid(tuple)) elog(ERROR, "cache lookup failed for database %u", MyDatabaseId); + otid = tuple->t_self; db = (Form_pg_database) GETSTRUCT(tuple); if (!db->dathasloginevt) { db->dathasloginevt = true; - CatalogTupleUpdate(pg_db, &tuple->t_self, tuple); + CatalogTupleUpdate(pg_db, &otid, tuple); CommandCounterIncrement(); } + UnlockTuple(pg_db, &otid, InplaceUpdateTupleLock); table_close(pg_db, RowExclusiveLock); heap_freetuple(tuple); } @@ -946,25 +949,18 @@ EventTriggerOnLogin(void) { Relation pg_db = table_open(DatabaseRelationId, RowExclusiveLock); HeapTuple tuple; + void *state; Form_pg_database db; ScanKeyData key[1]; - SysScanDesc scan; - /* - * Get the pg_database tuple to scribble on. Note that this does - * not directly rely on the syscache to avoid issues with - * flattened toast values for the in-place update. - */ + /* Fetch a copy of the tuple to scribble on */ ScanKeyInit(&key[0], Anum_pg_database_oid, BTEqualStrategyNumber, F_OIDEQ, ObjectIdGetDatum(MyDatabaseId)); - scan = systable_beginscan(pg_db, DatabaseOidIndexId, true, - NULL, 1, key); - tuple = systable_getnext(scan); - tuple = heap_copytuple(tuple); - systable_endscan(scan); + systable_inplace_update_begin(pg_db, DatabaseOidIndexId, true, + NULL, 1, key, &tuple, &state); if (!HeapTupleIsValid(tuple)) elog(ERROR, "could not find tuple for database %u", MyDatabaseId); @@ -980,13 +976,15 @@ EventTriggerOnLogin(void) * that avoids possible waiting on the row-level lock. Second, * that avoids dealing with TOAST. * - * It's known that changes made by heap_inplace_update() may - * be lost due to concurrent normal updates. However, we are - * OK with that. The subsequent connections will still have a - * chance to set "dathasloginevt" to false. + * 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. */ - heap_inplace_update(pg_db, tuple); + systable_inplace_update_finish(state, tuple); } + else + systable_inplace_update_cancel(state); table_close(pg_db, RowExclusiveLock); heap_freetuple(tuple); } diff --git a/src/backend/commands/explain.c b/src/backend/commands/explain.c index 8086607710e..fa5e3aff15b 100644 --- a/src/backend/commands/explain.c +++ b/src/backend/commands/explain.c @@ -137,6 +137,8 @@ static void show_foreignscan_info(ForeignScanState *fsstate, ExplainState *es); static const char *explain_get_index_name(Oid indexId); static bool peek_buffer_usage(ExplainState *es, const BufferUsage *usage); static void show_buffer_usage(ExplainState *es, const BufferUsage *usage); +static void show_prefetch_info(ExplainState *es, const PrefetchInfo* prefetch_info); +static void show_file_cache_info(ExplainState *es, const FileCacheInfo* file_cache_info); static void show_wal_usage(ExplainState *es, const WalUsage *usage); static void show_memory_counters(ExplainState *es, const MemoryContextCounters *mem_counters); @@ -205,6 +207,10 @@ ExplainQuery(ParseState *pstate, ExplainStmt *stmt, es->costs = defGetBoolean(opt); else if (strcmp(opt->defname, "buffers") == 0) es->buffers = defGetBoolean(opt); + else if (strcmp(opt->defname, "prefetch") == 0) + es->prefetch = defGetBoolean(opt); + else if (strcmp(opt->defname, "filecache") == 0) + es->file_cache = defGetBoolean(opt); else if (strcmp(opt->defname, "wal") == 0) es->wal = defGetBoolean(opt); else if (strcmp(opt->defname, "settings") == 0) @@ -635,7 +641,7 @@ ExplainOnePlan(PlannedStmt *plannedstmt, IntoClause *into, ExplainState *es, else if (es->analyze) instrument_option |= INSTRUMENT_ROWS; - if (es->buffers) + if (es->buffers || es->prefetch || es->file_cache) instrument_option |= INSTRUMENT_BUFFERS; if (es->wal) instrument_option |= INSTRUMENT_WAL; @@ -2283,6 +2289,14 @@ ExplainNode(PlanState *planstate, List *ancestors, if (es->wal && planstate->instrument) show_wal_usage(es, &planstate->instrument->walusage); + /* Show prefetch usage */ + if (es->prefetch && planstate->instrument) + show_prefetch_info(es, &planstate->instrument->bufusage.prefetch); + + /* Show file cache usage */ + if (es->file_cache && planstate->instrument) + show_file_cache_info(es, &planstate->instrument->bufusage.file_cache); + /* Prepare per-worker buffer/WAL usage */ if (es->workers_state && (es->buffers || es->wal) && es->verbose) { @@ -3737,7 +3751,57 @@ peek_buffer_usage(ExplainState *es, const BufferUsage *usage) } /* - * Show buffer usage details. This better be sync with peek_buffer_usage. + * Show prefetch statistics + */ +static void +show_prefetch_info(ExplainState *es, const PrefetchInfo* prefetch_info) +{ + if (es->format == EXPLAIN_FORMAT_TEXT) + { + ExplainIndentText(es); + appendStringInfo(es->str, "Prefetch: hits=%lld misses=%lld expired=%lld duplicates=%lld\n", + (long long) prefetch_info->hits, + (long long) prefetch_info->misses, + (long long) prefetch_info->expired, + (long long) prefetch_info->duplicates); + } + else + { + ExplainPropertyInteger("Prefetch Hits", NULL, + prefetch_info->hits, es); + ExplainPropertyInteger("Prefetch Misses", NULL, + prefetch_info->misses, es); + ExplainPropertyInteger("Prefetch Expired Requests", NULL, + prefetch_info->expired, es); + ExplainPropertyInteger("Prefetch Duplicated Requests", NULL, + prefetch_info->duplicates, es); + } +} + +/* + * Show local file cache statistics + */ +static void +show_file_cache_info(ExplainState *es, const FileCacheInfo* file_cache_info) +{ + if (es->format == EXPLAIN_FORMAT_TEXT) + { + ExplainIndentText(es); + appendStringInfo(es->str, "File cache: hits=%lld misses=%lld\n", + (long long) file_cache_info->hits, + (long long) file_cache_info->misses); + } + else + { + ExplainPropertyInteger("File Cache Hits", NULL, + file_cache_info->hits, es); + ExplainPropertyInteger("File Cache Misses", NULL, + file_cache_info->misses, es); + } +} + +/* + * Show buffer usage details. This better be synced with peek_buffer_usage. */ static void show_buffer_usage(ExplainState *es, const BufferUsage *usage) diff --git a/src/backend/commands/extension.c b/src/backend/commands/extension.c index 1643c8c69a0..e4e23b5cc82 100644 --- a/src/backend/commands/extension.c +++ b/src/backend/commands/extension.c @@ -404,6 +404,7 @@ get_extension_script_directory(ExtensionControlFile *control) { char sharepath[MAXPGPATH]; char *result; + struct stat fst; /* * The directory parameter can be omitted, absolute, or relative to the @@ -419,6 +420,16 @@ get_extension_script_directory(ExtensionControlFile *control) result = (char *) palloc(MAXPGPATH); snprintf(result, MAXPGPATH, "%s/%s", sharepath, control->directory); + // If directory does not exist, check remote extension storage + if (stat(result, &fst) < 0) + { + // request download of extension files from for control->directory + if (download_extension_file_hook != NULL) + { + download_extension_file_hook(control->directory, false); + } + } + return result; } @@ -1504,6 +1515,13 @@ CreateExtensionInternal(char *extensionName, * will get us there. */ filename = get_extension_script_filename(pcontrol, NULL, versionName); + + // request download of extension files from compute_ctl + if (download_extension_file_hook != NULL) + { + download_extension_file_hook(extensionName, false); + } + if (stat(filename, &fst) == 0) { /* Easy, no extra scripts */ diff --git a/src/backend/commands/functioncmds.c b/src/backend/commands/functioncmds.c index 6593fd7d811..d43b89d3efa 100644 --- a/src/backend/commands/functioncmds.c +++ b/src/backend/commands/functioncmds.c @@ -1689,13 +1689,18 @@ CreateCast(CreateCastStmt *stmt) errmsg("source and target data types are not physically compatible"))); /* - * We know that composite, enum and array types are never binary- - * compatible with each other. They all have OIDs embedded in them. + * We know that composite, array, range and enum types are never + * binary-compatible with each other. They all have OIDs embedded in + * them. * * Theoretically you could build a user-defined base type that is - * binary-compatible with a composite, enum, or array type. But we - * disallow that too, as in practice such a cast is surely a mistake. - * You can always work around that by writing a cast function. + * binary-compatible with such a type. But we disallow it anyway, as + * in practice such a cast is surely a mistake. You can always work + * around that by writing a cast function. + * + * NOTE: if we ever have a kind of container type that doesn't need to + * be rejected for this reason, we'd likely need to recursively apply + * all of these same checks to the contained type(s). */ if (sourcetyptype == TYPTYPE_COMPOSITE || targettyptype == TYPTYPE_COMPOSITE) @@ -1703,18 +1708,26 @@ CreateCast(CreateCastStmt *stmt) (errcode(ERRCODE_INVALID_OBJECT_DEFINITION), errmsg("composite data types are not binary-compatible"))); - if (sourcetyptype == TYPTYPE_ENUM || - targettyptype == TYPTYPE_ENUM) - ereport(ERROR, - (errcode(ERRCODE_INVALID_OBJECT_DEFINITION), - errmsg("enum data types are not binary-compatible"))); - if (OidIsValid(get_element_type(sourcetypeid)) || OidIsValid(get_element_type(targettypeid))) ereport(ERROR, (errcode(ERRCODE_INVALID_OBJECT_DEFINITION), errmsg("array data types are not binary-compatible"))); + if (sourcetyptype == TYPTYPE_RANGE || + targettyptype == TYPTYPE_RANGE || + sourcetyptype == TYPTYPE_MULTIRANGE || + targettyptype == TYPTYPE_MULTIRANGE) + ereport(ERROR, + (errcode(ERRCODE_INVALID_OBJECT_DEFINITION), + errmsg("range data types are not binary-compatible"))); + + if (sourcetyptype == TYPTYPE_ENUM || + targettyptype == TYPTYPE_ENUM) + ereport(ERROR, + (errcode(ERRCODE_INVALID_OBJECT_DEFINITION), + errmsg("enum data types are not binary-compatible"))); + /* * We also disallow creating binary-compatibility casts involving * domains. Casting from a domain to its base type is already diff --git a/src/backend/commands/indexcmds.c b/src/backend/commands/indexcmds.c index c5a56c75f69..f7fe1fae91c 100644 --- a/src/backend/commands/indexcmds.c +++ b/src/backend/commands/indexcmds.c @@ -28,6 +28,7 @@ #include "catalog/namespace.h" #include "catalog/pg_am.h" #include "catalog/pg_authid.h" +#include "catalog/pg_collation.h" #include "catalog/pg_constraint.h" #include "catalog/pg_database.h" #include "catalog/pg_inherits.h" @@ -50,6 +51,7 @@ #include "optimizer/optimizer.h" #include "parser/parse_coerce.h" #include "parser/parse_oper.h" +#include "parser/parse_utilcmd.h" #include "partitioning/partdesc.h" #include "pgstat.h" #include "rewrite/rewriteManip.h" @@ -61,6 +63,7 @@ #include "utils/builtins.h" #include "utils/fmgroids.h" #include "utils/guc.h" +#include "utils/injection_point.h" #include "utils/inval.h" #include "utils/lsyscache.h" #include "utils/memutils.h" @@ -357,10 +360,12 @@ static bool CompareOpclassOptions(const Datum *opts1, const Datum *opts2, int natts) { int i; + FmgrInfo fm; if (!opts1 && !opts2) return true; + fmgr_info(F_ARRAY_EQ, &fm); for (i = 0; i < natts; i++) { Datum opt1 = opts1 ? opts1[i] : (Datum) 0; @@ -376,8 +381,12 @@ CompareOpclassOptions(const Datum *opts1, const Datum *opts2, int natts) else if (opt2 == (Datum) 0) return false; - /* Compare non-NULL text[] datums. */ - if (!DatumGetBool(DirectFunctionCall2(array_eq, opt1, opt2))) + /* + * Compare non-NULL text[] datums. Use C collation to enforce binary + * equivalence of texts, because we don't know anything about the + * semantics of opclass options. + */ + if (!DatumGetBool(FunctionCall2Coll(&fm, C_COLLATION_OID, opt1, opt2))) return false; } @@ -1444,55 +1453,20 @@ DefineIndex(Oid tableId, */ if (!found) { - IndexStmt *childStmt = copyObject(stmt); - bool found_whole_row; - ListCell *lc; + IndexStmt *childStmt; ObjectAddress childAddr; /* - * We can't use the same index name for the child index, - * so clear idxname to let the recursive invocation choose - * a new name. Likewise, the existing target relation - * field is wrong, and if indexOid or oldNumber are set, - * they mustn't be applied to the child either. + * Build an IndexStmt describing the desired child index + * in the same way that we do during ATTACH PARTITION. + * Notably, we rely on generateClonedIndexStmt to produce + * a search-path-independent representation, which the + * original IndexStmt might not be. */ - childStmt->idxname = NULL; - childStmt->relation = NULL; - childStmt->indexOid = InvalidOid; - childStmt->oldNumber = InvalidRelFileNumber; - childStmt->oldCreateSubid = InvalidSubTransactionId; - childStmt->oldFirstRelfilelocatorSubid = InvalidSubTransactionId; - - /* - * Adjust any Vars (both in expressions and in the index's - * WHERE clause) to match the partition's column numbering - * in case it's different from the parent's. - */ - foreach(lc, childStmt->indexParams) - { - IndexElem *ielem = lfirst(lc); - - /* - * If the index parameter is an expression, we must - * translate it to contain child Vars. - */ - if (ielem->expr) - { - ielem->expr = - map_variable_attnos((Node *) ielem->expr, - 1, 0, attmap, - InvalidOid, - &found_whole_row); - if (found_whole_row) - elog(ERROR, "cannot convert whole-row table reference"); - } - } - childStmt->whereClause = - map_variable_attnos(stmt->whereClause, 1, 0, - attmap, - InvalidOid, &found_whole_row); - if (found_whole_row) - elog(ERROR, "cannot convert whole-row table reference"); + childStmt = generateClonedIndexStmt(NULL, + parentIndex, + attmap, + NULL); /* * Recurse as the starting user ID. Callee will use that @@ -3782,8 +3756,16 @@ ReindexRelationConcurrently(const ReindexStmt *stmt, Oid relationOid, const Rein RestrictSearchPath(); /* determine safety of this index for set_indexsafe_procflags */ - idx->safe = (indexRel->rd_indexprs == NIL && - indexRel->rd_indpred == NIL); + idx->safe = (RelationGetIndexExpressions(indexRel) == NIL && + RelationGetIndexPredicate(indexRel) == NIL); + +#ifdef USE_INJECTION_POINTS + if (idx->safe) + INJECTION_POINT("reindex-conc-index-safe"); + else + INJECTION_POINT("reindex-conc-index-not-safe"); +#endif + idx->tableId = RelationGetRelid(heapRel); idx->amId = indexRel->rd_rel->relam; @@ -4413,14 +4395,17 @@ update_relispartition(Oid relationId, bool newval) { HeapTuple tup; Relation classRel; + ItemPointerData otid; classRel = table_open(RelationRelationId, RowExclusiveLock); - tup = SearchSysCacheCopy1(RELOID, ObjectIdGetDatum(relationId)); + tup = SearchSysCacheLockedCopy1(RELOID, ObjectIdGetDatum(relationId)); if (!HeapTupleIsValid(tup)) elog(ERROR, "cache lookup failed for relation %u", relationId); + otid = tup->t_self; Assert(((Form_pg_class) GETSTRUCT(tup))->relispartition != newval); ((Form_pg_class) GETSTRUCT(tup))->relispartition = newval; - CatalogTupleUpdate(classRel, &tup->t_self, tup); + CatalogTupleUpdate(classRel, &otid, tup); + UnlockTuple(classRel, &otid, InplaceUpdateTupleLock); heap_freetuple(tup); table_close(classRel, RowExclusiveLock); } diff --git a/src/backend/commands/publicationcmds.c b/src/backend/commands/publicationcmds.c index 6ea709988ee..ca89fff23bf 100644 --- a/src/backend/commands/publicationcmds.c +++ b/src/backend/commands/publicationcmds.c @@ -721,6 +721,13 @@ CheckPubRelationColumnList(char *pubname, List *tables, } } +static bool +is_neon_superuser(void) +{ + Oid neon_superuser_oid = get_role_oid("neon_superuser", true /*missing_ok*/); + return neon_superuser_oid != InvalidOid && has_privs_of_role(GetUserId(), neon_superuser_oid); +} + /* * Create new publication. */ @@ -748,7 +755,7 @@ CreatePublication(ParseState *pstate, CreatePublicationStmt *stmt) get_database_name(MyDatabaseId)); /* FOR ALL TABLES requires superuser */ - if (stmt->for_all_tables && !superuser()) + if (stmt->for_all_tables && !superuser() && !is_neon_superuser()) ereport(ERROR, (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE), errmsg("must be superuser to create FOR ALL TABLES publication"))); @@ -819,7 +826,7 @@ CreatePublication(ParseState *pstate, CreatePublicationStmt *stmt) &schemaidlist); /* FOR TABLES IN SCHEMA requires superuser */ - if (schemaidlist != NIL && !superuser()) + if (schemaidlist != NIL && !superuser() && !is_neon_superuser()) ereport(ERROR, errcode(ERRCODE_INSUFFICIENT_PRIVILEGE), errmsg("must be superuser to create FOR TABLES IN SCHEMA publication")); diff --git a/src/backend/commands/sequence.c b/src/backend/commands/sequence.c index b4ad19c0539..a29550ccad8 100644 --- a/src/backend/commands/sequence.c +++ b/src/backend/commands/sequence.c @@ -55,7 +55,9 @@ * so we pre-log a few fetches in advance. In the event of * crash we can lose (skip over) as many values as we pre-logged. */ -#define SEQ_LOG_VALS 32 +/* NEON XXX: to ensure sequence order of sequence in Zenith we need to WAL log each sequence update. */ +/* #define SEQ_LOG_VALS 32 */ +#define SEQ_LOG_VALS 0 /* * The "special area" of a sequence's buffer page looks like this. @@ -343,7 +345,8 @@ fill_seq_with_data(Relation rel, HeapTuple tuple) { SMgrRelation srel; - srel = smgropen(rel->rd_locator, INVALID_PROC_NUMBER); + srel = smgropen(rel->rd_locator, INVALID_PROC_NUMBER, + rel->rd_rel->relpersistence); smgrcreate(srel, INIT_FORKNUM, false); log_smgrcreate(&rel->rd_locator, INIT_FORKNUM); fill_seq_fork_with_data(rel, tuple, INIT_FORKNUM); @@ -1347,7 +1350,10 @@ init_params(ParseState *pstate, List *options, bool for_identity, /* * The parser allows this, but it is only for identity columns, in * which case it is filtered out in parse_utilcmd.c. We only get - * here if someone puts it into a CREATE SEQUENCE. + * here if someone puts it into a CREATE SEQUENCE, where it'd be + * redundant. (The same is true for the equally-nonstandard + * LOGGED and UNLOGGED options, but for those, the default error + * below seems sufficient.) */ ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR), diff --git a/src/backend/commands/subscriptioncmds.c b/src/backend/commands/subscriptioncmds.c index e407428dbcf..8ecb6e0bb87 100644 --- a/src/backend/commands/subscriptioncmds.c +++ b/src/backend/commands/subscriptioncmds.c @@ -1230,7 +1230,7 @@ AlterSubscription(ParseState *pstate, AlterSubscriptionStmt *stmt, if (!sub->slotname) ereport(ERROR, (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("cannot set %s for a subscription that does not have a slot name", + errmsg("cannot set option \"%s\" for a subscription that does not have a slot name", "failover"))); /* diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c index 937d47417e4..36717ffcb0a 100644 --- a/src/backend/commands/tablecmds.c +++ b/src/backend/commands/tablecmds.c @@ -345,6 +345,14 @@ typedef struct ForeignTruncateInfo List *rels; } ForeignTruncateInfo; +/* Partial or complete FK creation in addFkConstraint() */ +typedef enum addFkConstraintSides +{ + addFkReferencedSide, + addFkReferencingSide, + addFkBothSides, +} addFkConstraintSides; + /* * Partition tables are expected to be dropped when the parent partitioned * table gets dropped. Hence for partitioning we use AUTO dependency. @@ -504,16 +512,25 @@ static ObjectAddress ATAddForeignKeyConstraint(List **wqueue, AlteredTableInfo * Relation rel, Constraint *fkconstraint, bool recurse, bool recursing, LOCKMODE lockmode); -static ObjectAddress addFkRecurseReferenced(List **wqueue, Constraint *fkconstraint, - Relation rel, Relation pkrel, Oid indexOid, Oid parentConstr, - int numfks, int16 *pkattnum, int16 *fkattnum, - Oid *pfeqoperators, Oid *ppeqoperators, Oid *ffeqoperators, - int numfkdelsetcols, int16 *fkdelsetcols, - bool old_check_ok, - Oid parentDelTrigger, Oid parentUpdTrigger); static void validateFkOnDeleteSetColumns(int numfks, const int16 *fkattnums, int numfksetcols, const int16 *fksetcolsattnums, List *fksetcols); +static ObjectAddress addFkConstraint(addFkConstraintSides fkside, + char *constraintname, + Constraint *fkconstraint, Relation rel, + Relation pkrel, Oid indexOid, + Oid parentConstr, + int numfks, int16 *pkattnum, int16 *fkattnum, + Oid *pfeqoperators, Oid *ppeqoperators, + Oid *ffeqoperators, int numfkdelsetcols, + int16 *fkdelsetcols, bool is_internal); +static void addFkRecurseReferenced(Constraint *fkconstraint, + Relation rel, Relation pkrel, Oid indexOid, Oid parentConstr, + int numfks, int16 *pkattnum, int16 *fkattnum, + Oid *pfeqoperators, Oid *ppeqoperators, Oid *ffeqoperators, + int numfkdelsetcols, int16 *fkdelsetcols, + bool old_check_ok, + Oid parentDelTrigger, Oid parentUpdTrigger); static void addFkRecurseReferencing(List **wqueue, Constraint *fkconstraint, Relation rel, Relation pkrel, Oid indexOid, Oid parentConstr, int numfks, int16 *pkattnum, int16 *fkattnum, @@ -657,11 +674,6 @@ static void ATDetachCheckNoForeignKeyRefs(Relation partition); static char GetAttributeCompression(Oid atttypid, const char *compression); static char GetAttributeStorage(Oid atttypid, const char *storagemode); -static void ATExecSplitPartition(List **wqueue, AlteredTableInfo *tab, - Relation rel, PartitionCmd *cmd, - AlterTableUtilityContext *context); -static void ATExecMergePartitions(List **wqueue, AlteredTableInfo *tab, Relation rel, - PartitionCmd *cmd, AlterTableUtilityContext *context); /* ---------------------------------------------------------------- * DefineRelation @@ -3609,6 +3621,7 @@ SetRelationTableSpace(Relation rel, { Relation pg_class; HeapTuple tuple; + ItemPointerData otid; Form_pg_class rd_rel; Oid reloid = RelationGetRelid(rel); @@ -3617,9 +3630,10 @@ SetRelationTableSpace(Relation rel, /* Get a modifiable copy of the relation's pg_class row. */ pg_class = table_open(RelationRelationId, RowExclusiveLock); - tuple = SearchSysCacheCopy1(RELOID, ObjectIdGetDatum(reloid)); + tuple = SearchSysCacheLockedCopy1(RELOID, ObjectIdGetDatum(reloid)); if (!HeapTupleIsValid(tuple)) elog(ERROR, "cache lookup failed for relation %u", reloid); + otid = tuple->t_self; rd_rel = (Form_pg_class) GETSTRUCT(tuple); /* Update the pg_class row. */ @@ -3627,7 +3641,8 @@ SetRelationTableSpace(Relation rel, InvalidOid : newTableSpaceId; if (RelFileNumberIsValid(newRelFilenumber)) rd_rel->relfilenode = newRelFilenumber; - CatalogTupleUpdate(pg_class, &tuple->t_self, tuple); + CatalogTupleUpdate(pg_class, &otid, tuple); + UnlockTuple(pg_class, &otid, InplaceUpdateTupleLock); /* * Record dependency on tablespace. This is only required for relations @@ -4121,6 +4136,7 @@ RenameRelationInternal(Oid myrelid, const char *newrelname, bool is_internal, bo { Relation targetrelation; Relation relrelation; /* for RELATION relation */ + ItemPointerData otid; HeapTuple reltup; Form_pg_class relform; Oid namespaceId; @@ -4143,9 +4159,10 @@ RenameRelationInternal(Oid myrelid, const char *newrelname, bool is_internal, bo */ relrelation = table_open(RelationRelationId, RowExclusiveLock); - reltup = SearchSysCacheCopy1(RELOID, ObjectIdGetDatum(myrelid)); + reltup = SearchSysCacheLockedCopy1(RELOID, ObjectIdGetDatum(myrelid)); if (!HeapTupleIsValid(reltup)) /* shouldn't happen */ elog(ERROR, "cache lookup failed for relation %u", myrelid); + otid = reltup->t_self; relform = (Form_pg_class) GETSTRUCT(reltup); if (get_relname_relid(newrelname, namespaceId) != InvalidOid) @@ -4170,7 +4187,8 @@ RenameRelationInternal(Oid myrelid, const char *newrelname, bool is_internal, bo */ namestrcpy(&(relform->relname), newrelname); - CatalogTupleUpdate(relrelation, &reltup->t_self, reltup); + CatalogTupleUpdate(relrelation, &otid, reltup); + UnlockTuple(relrelation, &otid, InplaceUpdateTupleLock); InvokeObjectPostAlterHookArg(RelationRelationId, myrelid, 0, InvalidOid, is_internal); @@ -4691,14 +4709,6 @@ AlterTableGetLockLevel(List *cmds) cmd_lockmode = ShareUpdateExclusiveLock; break; - case AT_SplitPartition: - cmd_lockmode = AccessExclusiveLock; - break; - - case AT_MergePartitions: - cmd_lockmode = AccessExclusiveLock; - break; - case AT_CheckNotNull: /* @@ -5125,16 +5135,6 @@ ATPrepCmd(List **wqueue, Relation rel, AlterTableCmd *cmd, /* No command-specific prep needed */ pass = AT_PASS_MISC; break; - case AT_SplitPartition: - ATSimplePermissions(cmd->subtype, rel, ATT_TABLE); - /* No command-specific prep needed */ - pass = AT_PASS_MISC; - break; - case AT_MergePartitions: - ATSimplePermissions(cmd->subtype, rel, ATT_TABLE); - /* No command-specific prep needed */ - pass = AT_PASS_MISC; - break; default: /* oops */ elog(ERROR, "unrecognized alter table type: %d", (int) cmd->subtype); @@ -5531,22 +5531,6 @@ ATExecCmd(List **wqueue, AlteredTableInfo *tab, case AT_DetachPartitionFinalize: address = ATExecDetachPartitionFinalize(rel, ((PartitionCmd *) cmd->def)->name); break; - case AT_SplitPartition: - cmd = ATParseTransformCmd(wqueue, tab, rel, cmd, false, lockmode, - cur_pass, context); - Assert(cmd != NULL); - Assert(rel->rd_rel->relkind == RELKIND_PARTITIONED_TABLE); - ATExecSplitPartition(wqueue, tab, rel, (PartitionCmd *) cmd->def, - context); - break; - case AT_MergePartitions: - cmd = ATParseTransformCmd(wqueue, tab, rel, cmd, false, lockmode, - cur_pass, context); - Assert(cmd != NULL); - Assert(rel->rd_rel->relkind == RELKIND_PARTITIONED_TABLE); - ATExecMergePartitions(wqueue, tab, rel, (PartitionCmd *) cmd->def, - context); - break; default: /* oops */ elog(ERROR, "unrecognized alter table type: %d", (int) cmd->subtype); @@ -6535,10 +6519,6 @@ alter_table_type_to_string(AlterTableType cmdtype) return "DETACH PARTITION"; case AT_DetachPartitionFinalize: return "DETACH PARTITION ... FINALIZE"; - case AT_SplitPartition: - return "SPLIT PARTITION"; - case AT_MergePartitions: - return "MERGE PARTITIONS"; case AT_AddIdentity: return "ALTER COLUMN ... ADD IDENTITY"; case AT_SetIdentity: @@ -9968,25 +9948,37 @@ ATAddForeignKeyConstraint(List **wqueue, AlteredTableInfo *tab, Relation rel, ffeqoperators[i] = ffeqop; } - /* - * Create all the constraint and trigger objects, recursing to partitions - * as necessary. First handle the referenced side. - */ - address = addFkRecurseReferenced(wqueue, fkconstraint, rel, pkrel, - indexOid, - InvalidOid, /* no parent constraint */ - numfks, - pkattnum, - fkattnum, - pfeqoperators, - ppeqoperators, - ffeqoperators, - numfkdelsetcols, - fkdelsetcols, - old_check_ok, - InvalidOid, InvalidOid); - - /* Now handle the referencing side. */ + /* First, create the constraint catalog entry itself. */ + address = addFkConstraint(addFkBothSides, + fkconstraint->conname, fkconstraint, rel, pkrel, + indexOid, + InvalidOid, /* no parent constraint */ + numfks, + pkattnum, + fkattnum, + pfeqoperators, + ppeqoperators, + ffeqoperators, + numfkdelsetcols, + fkdelsetcols, + false); + + /* Next process the action triggers at the referenced side and recurse */ + addFkRecurseReferenced(fkconstraint, rel, pkrel, + indexOid, + address.objectId, + numfks, + pkattnum, + fkattnum, + pfeqoperators, + ppeqoperators, + ffeqoperators, + numfkdelsetcols, + fkdelsetcols, + old_check_ok, + InvalidOid, InvalidOid); + + /* Lastly create the check triggers at the referencing side and recurse */ addFkRecurseReferencing(wqueue, fkconstraint, rel, pkrel, indexOid, address.objectId, @@ -10046,46 +10038,41 @@ validateFkOnDeleteSetColumns(int numfks, const int16 *fkattnums, } /* - * addFkRecurseReferenced - * subroutine for ATAddForeignKeyConstraint; recurses on the referenced - * side of the constraint - * - * Create pg_constraint rows for the referenced side of the constraint, - * referencing the parent of the referencing side; also create action triggers - * on leaf partitions. If the table is partitioned, recurse to handle each - * partition. + * addFkConstraint + * Install pg_constraint entries to implement a foreign key constraint. + * Caller must separately invoke addFkRecurseReferenced and + * addFkRecurseReferencing, as appropriate, to install pg_trigger entries + * and (for partitioned tables) recurse to partitions. * - * wqueue is the ALTER TABLE work queue; can be NULL when not running as part - * of an ALTER TABLE sequence. - * fkconstraint is the constraint being added. - * rel is the root referencing relation. - * pkrel is the referenced relation; might be a partition, if recursing. - * indexOid is the OID of the index (on pkrel) implementing this constraint. - * parentConstr is the OID of a parent constraint; InvalidOid if this is a - * top-level constraint. - * numfks is the number of columns in the foreign key - * pkattnum is the attnum array of referenced attributes. - * fkattnum is the attnum array of referencing attributes. - * numfkdelsetcols is the number of columns in the ON DELETE SET NULL/DEFAULT + * fkside: the side of the FK (or both) to create. Caller should + * call addFkRecurseReferenced if this is addFkReferencedSide, + * addFkRecurseReferencing if it's addFkReferencingSide, or both if it's + * addFkBothSides. + * constraintname: the base name for the constraint being added, + * copied to fkconstraint->conname if the latter is not set + * fkconstraint: the constraint being added + * rel: the root referencing relation + * pkrel: the referenced relation; might be a partition, if recursing + * indexOid: the OID of the index (on pkrel) implementing this constraint + * parentConstr: the OID of a parent constraint; InvalidOid if this is a + * top-level constraint + * numfks: the number of columns in the foreign key + * pkattnum: the attnum array of referenced attributes + * fkattnum: the attnum array of referencing attributes + * pf/pp/ffeqoperators: OID array of operators between columns + * numfkdelsetcols: the number of columns in the ON DELETE SET NULL/DEFAULT * (...) clause - * fkdelsetcols is the attnum array of the columns in the ON DELETE SET + * fkdelsetcols: the attnum array of the columns in the ON DELETE SET * NULL/DEFAULT clause - * pf/pp/ffeqoperators are OID array of operators between columns. - * old_check_ok signals that this constraint replaces an existing one that - * was already validated (thus this one doesn't need validation). - * parentDelTrigger and parentUpdTrigger, when being recursively called on - * a partition, are the OIDs of the parent action triggers for DELETE and - * UPDATE respectively. */ static ObjectAddress -addFkRecurseReferenced(List **wqueue, Constraint *fkconstraint, Relation rel, - Relation pkrel, Oid indexOid, Oid parentConstr, - int numfks, - int16 *pkattnum, int16 *fkattnum, Oid *pfeqoperators, - Oid *ppeqoperators, Oid *ffeqoperators, - int numfkdelsetcols, int16 *fkdelsetcols, - bool old_check_ok, - Oid parentDelTrigger, Oid parentUpdTrigger) +addFkConstraint(addFkConstraintSides fkside, + char *constraintname, Constraint *fkconstraint, + Relation rel, Relation pkrel, Oid indexOid, Oid parentConstr, + int numfks, int16 *pkattnum, + int16 *fkattnum, Oid *pfeqoperators, Oid *ppeqoperators, + Oid *ffeqoperators, int numfkdelsetcols, int16 *fkdelsetcols, + bool is_internal) { ObjectAddress address; Oid constrOid; @@ -10093,8 +10080,6 @@ addFkRecurseReferenced(List **wqueue, Constraint *fkconstraint, Relation rel, bool conislocal; int coninhcount; bool connoinherit; - Oid deleteTriggerOid, - updateTriggerOid; /* * Verify relkind for each referenced partition. At the top level, this @@ -10113,13 +10098,16 @@ addFkRecurseReferenced(List **wqueue, Constraint *fkconstraint, Relation rel, */ if (ConstraintNameIsUsed(CONSTRAINT_RELATION, RelationGetRelid(rel), - fkconstraint->conname)) + constraintname)) conname = ChooseConstraintName(RelationGetRelationName(rel), ChooseForeignKeyConstraintNameAddition(fkconstraint->fk_attrs), "fkey", RelationGetNamespace(rel), NIL); else - conname = fkconstraint->conname; + conname = constraintname; + + if (fkconstraint->conname == NULL) + fkconstraint->conname = pstrdup(conname); if (OidIsValid(parentConstr)) { @@ -10171,33 +10159,107 @@ addFkRecurseReferenced(List **wqueue, Constraint *fkconstraint, Relation rel, conislocal, /* islocal */ coninhcount, /* inhcount */ connoinherit, /* conNoInherit */ - false); /* is_internal */ + is_internal); /* is_internal */ ObjectAddressSet(address, ConstraintRelationId, constrOid); /* - * Mark the child constraint as part of the parent constraint; it must not - * be dropped on its own. (This constraint is deleted when the partition - * is detached, but a special check needs to occur that the partition - * contains no referenced values.) + * In partitioning cases, create the dependency entries for this + * constraint. (For non-partitioned cases, relevant entries were created + * by CreateConstraintEntry.) + * + * On the referenced side, we need the constraint to have an internal + * dependency on its parent constraint; this means that this constraint + * cannot be dropped on its own -- only through the parent constraint. It + * also means the containing partition cannot be dropped on its own, but + * it can be detached, at which point this dependency is removed (after + * verifying that no rows are referenced via this FK.) + * + * When processing the referencing side, we link the constraint via the + * special partitioning dependencies: the parent constraint is the primary + * dependent, and the partition on which the foreign key exists is the + * secondary dependency. That way, this constraint is dropped if either + * of these objects is. + * + * Note that this is only necessary for the subsidiary pg_constraint rows + * in partitions; the topmost row doesn't need any of this. */ if (OidIsValid(parentConstr)) { ObjectAddress referenced; ObjectAddressSet(referenced, ConstraintRelationId, parentConstr); - recordDependencyOn(&address, &referenced, DEPENDENCY_INTERNAL); + + Assert(fkside != addFkBothSides); + if (fkside == addFkReferencedSide) + recordDependencyOn(&address, &referenced, DEPENDENCY_INTERNAL); + else + { + recordDependencyOn(&address, &referenced, DEPENDENCY_PARTITION_PRI); + ObjectAddressSet(referenced, RelationRelationId, RelationGetRelid(rel)); + recordDependencyOn(&address, &referenced, DEPENDENCY_PARTITION_SEC); + } } /* make new constraint visible, in case we add more */ CommandCounterIncrement(); + return address; +} + +/* + * addFkRecurseReferenced + * Recursive helper for the referenced side of foreign key creation, + * which creates the action triggers and recurses + * + * If the referenced relation is a plain relation, create the necessary action + * triggers that implement the constraint. If the referenced relation is a + * partitioned table, then we create a pg_constraint row referencing the parent + * of the referencing side for it and recurse on this routine for each + * partition. + * + * fkconstraint: the constraint being added + * rel: the root referencing relation + * pkrel: the referenced relation; might be a partition, if recursing + * indexOid: the OID of the index (on pkrel) implementing this constraint + * parentConstr: the OID of a parent constraint; InvalidOid if this is a + * top-level constraint + * numfks: the number of columns in the foreign key + * pkattnum: the attnum array of referenced attributes + * fkattnum: the attnum array of referencing attributes + * numfkdelsetcols: the number of columns in the ON DELETE SET + * NULL/DEFAULT (...) clause + * fkdelsetcols: the attnum array of the columns in the ON DELETE SET + * NULL/DEFAULT clause + * pf/pp/ffeqoperators: OID array of operators between columns + * old_check_ok: true if this constraint replaces an existing one that + * was already validated (thus this one doesn't need validation) + * parentDelTrigger and parentUpdTrigger: when recursively called on a + * partition, the OIDs of the parent action triggers for DELETE and + * UPDATE respectively. + */ +static void +addFkRecurseReferenced(Constraint *fkconstraint, Relation rel, + Relation pkrel, Oid indexOid, Oid parentConstr, + int numfks, + int16 *pkattnum, int16 *fkattnum, Oid *pfeqoperators, + Oid *ppeqoperators, Oid *ffeqoperators, + int numfkdelsetcols, int16 *fkdelsetcols, + bool old_check_ok, + Oid parentDelTrigger, Oid parentUpdTrigger) +{ + Oid deleteTriggerOid, + updateTriggerOid; + + Assert(CheckRelationLockedByMe(pkrel, ShareRowExclusiveLock, true)); + Assert(CheckRelationLockedByMe(rel, ShareRowExclusiveLock, true)); + /* * Create the action triggers that enforce the constraint. */ createForeignKeyActionTriggers(rel, RelationGetRelid(pkrel), fkconstraint, - constrOid, indexOid, + parentConstr, indexOid, parentDelTrigger, parentUpdTrigger, &deleteTriggerOid, &updateTriggerOid); @@ -10216,7 +10278,9 @@ addFkRecurseReferenced(List **wqueue, Constraint *fkconstraint, Relation rel, AttrMap *map; AttrNumber *mapped_pkattnum; Oid partIndexId; + ObjectAddress address; + /* XXX would it be better to acquire these locks beforehand? */ partRel = table_open(pd->oids[i], ShareRowExclusiveLock); /* @@ -10235,13 +10299,23 @@ addFkRecurseReferenced(List **wqueue, Constraint *fkconstraint, Relation rel, else mapped_pkattnum = pkattnum; - /* do the deed */ + /* Determine the index to use at this level */ partIndexId = index_get_partition(partRel, indexOid); if (!OidIsValid(partIndexId)) elog(ERROR, "index for %u not found in partition %s", indexOid, RelationGetRelationName(partRel)); - addFkRecurseReferenced(wqueue, fkconstraint, rel, partRel, - partIndexId, constrOid, numfks, + + /* Create entry at this level ... */ + address = addFkConstraint(addFkReferencedSide, + fkconstraint->conname, fkconstraint, rel, + partRel, partIndexId, parentConstr, + numfks, mapped_pkattnum, + fkattnum, pfeqoperators, ppeqoperators, + ffeqoperators, numfkdelsetcols, + fkdelsetcols, true); + /* ... and recurse to our children */ + addFkRecurseReferenced(fkconstraint, rel, partRel, + partIndexId, address.objectId, numfks, mapped_pkattnum, fkattnum, pfeqoperators, ppeqoperators, ffeqoperators, numfkdelsetcols, fkdelsetcols, @@ -10257,13 +10331,12 @@ addFkRecurseReferenced(List **wqueue, Constraint *fkconstraint, Relation rel, } } } - - return address; } /* * addFkRecurseReferencing - * subroutine for ATAddForeignKeyConstraint and CloneFkReferencing + * Recursive helper for the referencing side of foreign key creation, + * which creates the check triggers and recurses * * If the referencing relation is a plain relation, create the necessary check * triggers that implement the constraint, and set up for Phase 3 constraint @@ -10275,27 +10348,27 @@ addFkRecurseReferenced(List **wqueue, Constraint *fkconstraint, Relation rel, * deletions. If it's a partitioned relation, every partition must be so * locked. * - * wqueue is the ALTER TABLE work queue; can be NULL when not running as part - * of an ALTER TABLE sequence. - * fkconstraint is the constraint being added. - * rel is the referencing relation; might be a partition, if recursing. - * pkrel is the root referenced relation. - * indexOid is the OID of the index (on pkrel) implementing this constraint. - * parentConstr is the OID of the parent constraint (there is always one). - * numfks is the number of columns in the foreign key - * pkattnum is the attnum array of referenced attributes. - * fkattnum is the attnum array of referencing attributes. - * pf/pp/ffeqoperators are OID array of operators between columns. - * numfkdelsetcols is the number of columns in the ON DELETE SET NULL/DEFAULT + * wqueue: the ALTER TABLE work queue; NULL when not running as part + * of an ALTER TABLE sequence. + * fkconstraint: the constraint being added + * rel: the referencing relation; might be a partition, if recursing + * pkrel: the root referenced relation + * indexOid: the OID of the index (on pkrel) implementing this constraint + * parentConstr: the OID of the parent constraint (there is always one) + * numfks: the number of columns in the foreign key + * pkattnum: the attnum array of referenced attributes + * fkattnum: the attnum array of referencing attributes + * pf/pp/ffeqoperators: OID array of operators between columns + * numfkdelsetcols: the number of columns in the ON DELETE SET NULL/DEFAULT * (...) clause - * fkdelsetcols is the attnum array of the columns in the ON DELETE SET + * fkdelsetcols: the attnum array of the columns in the ON DELETE SET * NULL/DEFAULT clause - * old_check_ok signals that this constraint replaces an existing one that - * was already validated (thus this one doesn't need validation). - * lockmode is the lockmode to acquire on partitions when recursing. - * parentInsTrigger and parentUpdTrigger, when being recursively called on - * a partition, are the OIDs of the parent check triggers for INSERT and - * UPDATE respectively. + * old_check_ok: true if this constraint replaces an existing one that + * was already validated (thus this one doesn't need validation) + * lockmode: the lockmode to acquire on partitions when recursing + * parentInsTrigger and parentUpdTrigger: when being recursively called on + * a partition, the OIDs of the parent check triggers for INSERT and + * UPDATE respectively. */ static void addFkRecurseReferencing(List **wqueue, Constraint *fkconstraint, Relation rel, @@ -10310,6 +10383,8 @@ addFkRecurseReferencing(List **wqueue, Constraint *fkconstraint, Relation rel, updateTriggerOid; Assert(OidIsValid(parentConstr)); + Assert(CheckRelationLockedByMe(rel, ShareRowExclusiveLock, true)); + Assert(CheckRelationLockedByMe(pkrel, ShareRowExclusiveLock, true)); if (rel->rd_rel->relkind == RELKIND_FOREIGN_TABLE) ereport(ERROR, @@ -10383,10 +10458,7 @@ addFkRecurseReferencing(List **wqueue, Constraint *fkconstraint, Relation rel, AttrMap *attmap; AttrNumber mapped_fkattnum[INDEX_MAX_KEYS]; bool attached; - char *conname; - Oid constrOid; - ObjectAddress address, - referenced; + ObjectAddress address; ListCell *cell; CheckAlterTableIsSafe(partition); @@ -10429,65 +10501,18 @@ addFkRecurseReferencing(List **wqueue, Constraint *fkconstraint, Relation rel, /* * No luck finding a good constraint to reuse; create our own. */ - if (ConstraintNameIsUsed(CONSTRAINT_RELATION, - RelationGetRelid(partition), - fkconstraint->conname)) - conname = ChooseConstraintName(RelationGetRelationName(partition), - ChooseForeignKeyConstraintNameAddition(fkconstraint->fk_attrs), - "fkey", - RelationGetNamespace(partition), NIL); - else - conname = fkconstraint->conname; - constrOid = - CreateConstraintEntry(conname, - RelationGetNamespace(partition), - CONSTRAINT_FOREIGN, - fkconstraint->deferrable, - fkconstraint->initdeferred, - fkconstraint->initially_valid, - parentConstr, - partitionId, - mapped_fkattnum, - numfks, - numfks, - InvalidOid, - indexOid, - RelationGetRelid(pkrel), - pkattnum, - pfeqoperators, - ppeqoperators, - ffeqoperators, - numfks, - fkconstraint->fk_upd_action, - fkconstraint->fk_del_action, - fkdelsetcols, - numfkdelsetcols, - fkconstraint->fk_matchtype, - NULL, - NULL, - NULL, - false, - 1, - false, - false); - - /* - * Give this constraint partition-type dependencies on the parent - * constraint as well as the table. - */ - ObjectAddressSet(address, ConstraintRelationId, constrOid); - ObjectAddressSet(referenced, ConstraintRelationId, parentConstr); - recordDependencyOn(&address, &referenced, DEPENDENCY_PARTITION_PRI); - ObjectAddressSet(referenced, RelationRelationId, partitionId); - recordDependencyOn(&address, &referenced, DEPENDENCY_PARTITION_SEC); - - /* Make all this visible before recursing */ - CommandCounterIncrement(); + address = addFkConstraint(addFkReferencingSide, + fkconstraint->conname, fkconstraint, + partition, pkrel, indexOid, parentConstr, + numfks, pkattnum, + mapped_fkattnum, pfeqoperators, + ppeqoperators, ffeqoperators, + numfkdelsetcols, fkdelsetcols, true); /* call ourselves to finalize the creation and we're done */ addFkRecurseReferencing(wqueue, fkconstraint, partition, pkrel, indexOid, - constrOid, + address.objectId, numfks, pkattnum, mapped_fkattnum, @@ -10620,6 +10645,7 @@ CloneFkReferenced(Relation parentRel, Relation partitionRel) int numfkdelsetcols; AttrNumber confdelsetcols[INDEX_MAX_KEYS]; Constraint *fkconstraint; + ObjectAddress address; Oid deleteTriggerOid, updateTriggerOid; @@ -10649,13 +10675,8 @@ CloneFkReferenced(Relation parentRel, Relation partitionRel) continue; } - /* - * Because we're only expanding the key space at the referenced side, - * we don't need to prevent any operation in the referencing table, so - * AccessShareLock suffices (assumes that dropping the constraint - * acquires AEL). - */ - fkRel = table_open(constrForm->conrelid, AccessShareLock); + /* We need the same lock level that CreateTrigger will acquire */ + fkRel = table_open(constrForm->conrelid, ShareRowExclusiveLock); indexOid = constrForm->conindid; DeconstructFkConstraintRow(tuple, @@ -10719,12 +10740,19 @@ CloneFkReferenced(Relation parentRel, Relation partitionRel) constrForm->confrelid, constrForm->conrelid, &deleteTriggerOid, &updateTriggerOid); - addFkRecurseReferenced(NULL, - fkconstraint, + /* Add this constraint ... */ + address = addFkConstraint(addFkReferencedSide, + fkconstraint->conname, fkconstraint, fkRel, + partitionRel, partIndexId, constrOid, + numfks, mapped_confkey, + conkey, conpfeqop, conppeqop, conffeqop, + numfkdelsetcols, confdelsetcols, false); + /* ... and recurse */ + addFkRecurseReferenced(fkconstraint, fkRel, partitionRel, partIndexId, - constrOid, + address.objectId, numfks, mapped_confkey, conkey, @@ -10754,8 +10782,8 @@ CloneFkReferenced(Relation parentRel, Relation partitionRel) * child. * * If wqueue is given, it is used to set up phase-3 verification for each - * cloned constraint; if omitted, we assume that such verification is not - * needed (example: the partition is being created anew). + * cloned constraint; omit it if such verification is not needed + * (example: the partition is being created anew). */ static void CloneFkReferencing(List **wqueue, Relation parentRel, Relation partRel) @@ -10771,6 +10799,23 @@ CloneFkReferencing(List **wqueue, Relation parentRel, Relation partRel) { ForeignKeyCacheInfo *fk = lfirst(cell); + /* + * Refuse to attach a table as partition that this partitioned table + * already has a foreign key to. This isn't useful schema, which is + * proven by the fact that there have been no user complaints that + * it's already impossible to achieve this in the opposite direction, + * i.e., creating a foreign key that references a partition. This + * restriction allows us to dodge some complexities around + * pg_constraint and pg_trigger row creations that would be needed + * during ATTACH/DETACH for this kind of relationship. + */ + if (fk->confrelid == RelationGetRelid(partRel)) + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot attach table \"%s\" as a partition because it is referenced by foreign key \"%s\"", + RelationGetRelationName(partRel), + get_constraint_name(fk->conoid)))); + clone = lappend_oid(clone, fk->conoid); } @@ -10822,9 +10867,7 @@ CloneFkReferencing(List **wqueue, Relation parentRel, Relation partRel) Constraint *fkconstraint; bool attached; Oid indexOid; - Oid constrOid; - ObjectAddress address, - referenced; + ObjectAddress address; ListCell *lc; Oid insertTriggerOid, updateTriggerOid; @@ -10921,7 +10964,7 @@ CloneFkReferencing(List **wqueue, Relation parentRel, Relation partRel) fkconstraint->old_conpfeqop = NIL; fkconstraint->old_pktable_oid = InvalidOid; fkconstraint->skip_validation = false; - fkconstraint->initially_valid = true; + fkconstraint->initially_valid = constrForm->convalidated; for (int i = 0; i < numfks; i++) { Form_pg_attribute att; @@ -10931,71 +10974,29 @@ CloneFkReferencing(List **wqueue, Relation parentRel, Relation partRel) fkconstraint->fk_attrs = lappend(fkconstraint->fk_attrs, makeString(NameStr(att->attname))); } - if (ConstraintNameIsUsed(CONSTRAINT_RELATION, - RelationGetRelid(partRel), - NameStr(constrForm->conname))) - fkconstraint->conname = - ChooseConstraintName(RelationGetRelationName(partRel), - ChooseForeignKeyConstraintNameAddition(fkconstraint->fk_attrs), - "fkey", - RelationGetNamespace(partRel), NIL); - else - fkconstraint->conname = pstrdup(NameStr(constrForm->conname)); indexOid = constrForm->conindid; - constrOid = - CreateConstraintEntry(fkconstraint->conname, - constrForm->connamespace, - CONSTRAINT_FOREIGN, - fkconstraint->deferrable, - fkconstraint->initdeferred, - constrForm->convalidated, - parentConstrOid, - RelationGetRelid(partRel), - mapped_conkey, - numfks, - numfks, - InvalidOid, /* not a domain constraint */ - indexOid, - constrForm->confrelid, /* same foreign rel */ - confkey, - conpfeqop, - conppeqop, - conffeqop, - numfks, - fkconstraint->fk_upd_action, - fkconstraint->fk_del_action, - confdelsetcols, - numfkdelsetcols, - fkconstraint->fk_matchtype, - NULL, - NULL, - NULL, - false, /* islocal */ - 1, /* inhcount */ - false, /* conNoInherit */ - true); - - /* Set up partition dependencies for the new constraint */ - ObjectAddressSet(address, ConstraintRelationId, constrOid); - ObjectAddressSet(referenced, ConstraintRelationId, parentConstrOid); - recordDependencyOn(&address, &referenced, DEPENDENCY_PARTITION_PRI); - ObjectAddressSet(referenced, RelationRelationId, - RelationGetRelid(partRel)); - recordDependencyOn(&address, &referenced, DEPENDENCY_PARTITION_SEC); + + /* Create the pg_constraint entry at this level */ + address = addFkConstraint(addFkReferencingSide, + NameStr(constrForm->conname), fkconstraint, + partRel, pkrel, indexOid, parentConstrOid, + numfks, confkey, + mapped_conkey, conpfeqop, + conppeqop, conffeqop, + numfkdelsetcols, confdelsetcols, + false); /* Done with the cloned constraint's tuple */ ReleaseSysCache(tuple); - /* Make all this visible before recursing */ - CommandCounterIncrement(); - + /* Create the check triggers, and recurse to partitions, if any */ addFkRecurseReferencing(wqueue, fkconstraint, partRel, pkrel, indexOid, - constrOid, + address.objectId, numfks, confkey, mapped_conkey, @@ -11159,6 +11160,81 @@ tryAttachPartitionForeignKey(ForeignKeyCacheInfo *fk, TriggerSetParentTrigger(trigrel, updateTriggerOid, parentUpdTrigger, partRelid); + /* + * If the referenced table is partitioned, then the partition we're + * attaching now has extra pg_constraint rows and action triggers that are + * no longer needed. Remove those. + */ + if (get_rel_relkind(fk->confrelid) == RELKIND_PARTITIONED_TABLE) + { + Relation pg_constraint = table_open(ConstraintRelationId, RowShareLock); + ObjectAddresses *objs; + HeapTuple consttup; + + ScanKeyInit(&key, + Anum_pg_constraint_conrelid, + BTEqualStrategyNumber, F_OIDEQ, + ObjectIdGetDatum(fk->conrelid)); + + scan = systable_beginscan(pg_constraint, + ConstraintRelidTypidNameIndexId, + true, NULL, 1, &key); + objs = new_object_addresses(); + while ((consttup = systable_getnext(scan)) != NULL) + { + Form_pg_constraint conform = (Form_pg_constraint) GETSTRUCT(consttup); + + if (conform->conparentid != fk->conoid) + continue; + else + { + ObjectAddress addr; + SysScanDesc scan2; + ScanKeyData key2; + int n PG_USED_FOR_ASSERTS_ONLY; + + ObjectAddressSet(addr, ConstraintRelationId, conform->oid); + add_exact_object_address(&addr, objs); + + /* + * First we must delete the dependency record that binds the + * constraint records together. + */ + n = deleteDependencyRecordsForSpecific(ConstraintRelationId, + conform->oid, + DEPENDENCY_INTERNAL, + ConstraintRelationId, + fk->conoid); + Assert(n == 1); /* actually only one is expected */ + + /* + * Now search for the triggers for this constraint and set + * them up for deletion too + */ + ScanKeyInit(&key2, + Anum_pg_trigger_tgconstraint, + BTEqualStrategyNumber, F_OIDEQ, + ObjectIdGetDatum(conform->oid)); + scan2 = systable_beginscan(trigrel, TriggerConstraintIndexId, + true, NULL, 1, &key2); + while ((trigtup = systable_getnext(scan2)) != NULL) + { + ObjectAddressSet(addr, TriggerRelationId, + ((Form_pg_trigger) GETSTRUCT(trigtup))->oid); + add_exact_object_address(&addr, objs); + } + systable_endscan(scan2); + } + } + /* make the dependency deletions visible */ + CommandCounterIncrement(); + performMultipleDeletions(objs, DROP_RESTRICT, + PERFORM_DELETION_INTERNAL); + systable_endscan(scan); + + table_close(pg_constraint, RowShareLock); + } + CommandCounterIncrement(); return true; } @@ -12730,6 +12806,16 @@ ATPrepAlterColumnType(List **wqueue, errmsg("cannot alter system column \"%s\"", colName))); + /* + * Cannot specify USING when altering type of a generated column, because + * that would violate the generation expression. + */ + if (attTup->attgenerated && def->cooked_default) + ereport(ERROR, + (errcode(ERRCODE_INVALID_COLUMN_DEFINITION), + errmsg("cannot specify USING when altering type of generated column"), + errdetail("Column \"%s\" is a generated column.", colName))); + /* * Don't alter inherited columns. At outer level, there had better not be * any inherited definition; when recursing, we assume this was checked at @@ -12806,11 +12892,12 @@ ATPrepAlterColumnType(List **wqueue, (errcode(ERRCODE_DATATYPE_MISMATCH), errmsg("column \"%s\" cannot be cast automatically to type %s", colName, format_type_be(targettype)), + !attTup->attgenerated ? /* translator: USING is SQL, don't translate it */ errhint("You might need to specify \"USING %s::%s\".", quote_identifier(colName), format_type_with_typemod(targettype, - targettypmod)))); + targettypmod)) : 0)); } /* Fix collations after all else */ @@ -14917,7 +15004,7 @@ ATExecSetRelOptions(Relation rel, List *defList, AlterTableType operation, /* Fetch heap tuple */ relid = RelationGetRelid(rel); - tuple = SearchSysCache1(RELOID, ObjectIdGetDatum(relid)); + tuple = SearchSysCacheLocked1(RELOID, ObjectIdGetDatum(relid)); if (!HeapTupleIsValid(tuple)) elog(ERROR, "cache lookup failed for relation %u", relid); @@ -15021,6 +15108,7 @@ ATExecSetRelOptions(Relation rel, List *defList, AlterTableType operation, repl_val, repl_null, repl_repl); CatalogTupleUpdate(pgclass, &newtuple->t_self, newtuple); + UnlockTuple(pgclass, &tuple->t_self, InplaceUpdateTupleLock); InvokeObjectPostAlterHook(RelationRelationId, RelationGetRelid(rel), 0); @@ -17170,7 +17258,8 @@ AlterRelationNamespaceInternal(Relation classRel, Oid relOid, ObjectAddress thisobj; bool already_done = false; - classTup = SearchSysCacheCopy1(RELOID, ObjectIdGetDatum(relOid)); + /* no rel lock for relkind=c so use LOCKTAG_TUPLE */ + classTup = SearchSysCacheLockedCopy1(RELOID, ObjectIdGetDatum(relOid)); if (!HeapTupleIsValid(classTup)) elog(ERROR, "cache lookup failed for relation %u", relOid); classForm = (Form_pg_class) GETSTRUCT(classTup); @@ -17189,6 +17278,8 @@ AlterRelationNamespaceInternal(Relation classRel, Oid relOid, already_done = object_address_present(&thisobj, objsMoved); if (!already_done && oldNspOid != newNspOid) { + ItemPointerData otid = classTup->t_self; + /* check for duplicate name (more friendly than unique-index failure) */ if (get_relname_relid(NameStr(classForm->relname), newNspOid) != InvalidOid) @@ -17201,7 +17292,9 @@ AlterRelationNamespaceInternal(Relation classRel, Oid relOid, /* classTup is a copy, so OK to scribble on */ classForm->relnamespace = newNspOid; - CatalogTupleUpdate(classRel, &classTup->t_self, classTup); + CatalogTupleUpdate(classRel, &otid, classTup); + UnlockTuple(classRel, &otid, InplaceUpdateTupleLock); + /* Update dependency on schema if caller said so */ if (hasDependEntry && @@ -17213,6 +17306,8 @@ AlterRelationNamespaceInternal(Relation classRel, Oid relOid, elog(ERROR, "could not change schema dependency for relation \"%s\"", NameStr(classForm->relname)); } + else + UnlockTuple(classRel, &classTup->t_self, InplaceUpdateTupleLock); if (!already_done) { add_exact_object_address(&thisobj, objsMoved); @@ -18319,37 +18414,6 @@ QueuePartitionConstraintValidation(List **wqueue, Relation scanrel, } } -/* - * attachPartitionTable: attach a new partition to the partitioned table - * - * wqueue: the ALTER TABLE work queue; can be NULL when not running as part - * of an ALTER TABLE sequence. - * rel: partitioned relation; - * attachrel: relation of attached partition; - * bound: bounds of attached relation. - */ -static void -attachPartitionTable(List **wqueue, Relation rel, Relation attachrel, PartitionBoundSpec *bound) -{ - /* OK to create inheritance. Rest of the checks performed there */ - CreateInheritance(attachrel, rel, true); - - /* Update the pg_class entry. */ - StorePartitionBound(attachrel, rel, bound); - - /* Ensure there exists a correct set of indexes in the partition. */ - AttachPartitionEnsureIndexes(wqueue, rel, attachrel); - - /* and triggers */ - CloneRowTriggersToPartition(rel, attachrel); - - /* - * Clone foreign key constraints. Callee is responsible for setting up - * for phase 3 constraint verification. - */ - CloneForeignKeyConstraints(wqueue, rel, attachrel); -} - /* * ALTER TABLE ATTACH PARTITION FOR VALUES * @@ -18552,8 +18616,23 @@ ATExecAttachPartition(List **wqueue, Relation rel, PartitionCmd *cmd, check_new_partition_bound(RelationGetRelationName(attachrel), rel, cmd->bound, pstate); - /* Attach a new partition to the partitioned table. */ - attachPartitionTable(wqueue, rel, attachrel, cmd->bound); + /* OK to create inheritance. Rest of the checks performed there */ + CreateInheritance(attachrel, rel, true); + + /* Update the pg_class entry. */ + StorePartitionBound(attachrel, rel, cmd->bound); + + /* Ensure there exists a correct set of indexes in the partition. */ + AttachPartitionEnsureIndexes(wqueue, rel, attachrel); + + /* and triggers */ + CloneRowTriggersToPartition(rel, attachrel); + + /* + * Clone foreign key constraints. Callee is responsible for setting up + * for phase 3 constraint verification. + */ + CloneForeignKeyConstraints(wqueue, rel, attachrel); /* * Generate partition constraint from the partition bound specification. @@ -19204,7 +19283,6 @@ DetachPartitionFinalize(Relation rel, Relation partRel, bool concurrent, ForeignKeyCacheInfo *fk = lfirst(cell); HeapTuple contup; Form_pg_constraint conform; - Constraint *fkconstraint; Oid insertTriggerOid, updateTriggerOid; @@ -19221,7 +19299,10 @@ DetachPartitionFinalize(Relation rel, Relation partRel, bool concurrent, continue; } - /* unset conparentid and adjust conislocal, coninhcount, etc. */ + /* + * The constraint on this table must be marked no longer a child of + * the parent's constraint, as do its check triggers. + */ ConstraintSetParentConstraint(fk->conoid, InvalidOid, InvalidOid); /* @@ -19239,33 +19320,87 @@ DetachPartitionFinalize(Relation rel, Relation partRel, bool concurrent, RelationGetRelid(partRel)); /* - * Make the action triggers on the referenced relation. When this was - * a partition the action triggers pointed to the parent rel (they - * still do), but now we need separate ones of our own. + * Lastly, create the action triggers on the referenced table, using + * addFkRecurseReferenced, which requires some elaborate setup (so put + * it in a separate block). While at it, if the table is partitioned, + * that function will recurse to create the pg_constraint rows and + * action triggers for each partition. + * + * Note there's no need to do addFkConstraint() here, because the + * pg_constraint row already exists. */ - fkconstraint = makeNode(Constraint); - fkconstraint->contype = CONSTRAINT_FOREIGN; - fkconstraint->conname = pstrdup(NameStr(conform->conname)); - fkconstraint->deferrable = conform->condeferrable; - fkconstraint->initdeferred = conform->condeferred; - fkconstraint->location = -1; - fkconstraint->pktable = NULL; - fkconstraint->fk_attrs = NIL; - fkconstraint->pk_attrs = NIL; - fkconstraint->fk_matchtype = conform->confmatchtype; - fkconstraint->fk_upd_action = conform->confupdtype; - fkconstraint->fk_del_action = conform->confdeltype; - fkconstraint->fk_del_set_cols = NIL; - fkconstraint->old_conpfeqop = NIL; - fkconstraint->old_pktable_oid = InvalidOid; - fkconstraint->skip_validation = false; - fkconstraint->initially_valid = true; + { + Constraint *fkconstraint; + int numfks; + AttrNumber conkey[INDEX_MAX_KEYS]; + AttrNumber confkey[INDEX_MAX_KEYS]; + Oid conpfeqop[INDEX_MAX_KEYS]; + Oid conppeqop[INDEX_MAX_KEYS]; + Oid conffeqop[INDEX_MAX_KEYS]; + int numfkdelsetcols; + AttrNumber confdelsetcols[INDEX_MAX_KEYS]; + Relation refdRel; + + DeconstructFkConstraintRow(contup, + &numfks, + conkey, + confkey, + conpfeqop, + conppeqop, + conffeqop, + &numfkdelsetcols, + confdelsetcols); + + /* Create a synthetic node we'll use throughout */ + fkconstraint = makeNode(Constraint); + fkconstraint->contype = CONSTRAINT_FOREIGN; + fkconstraint->conname = pstrdup(NameStr(conform->conname)); + fkconstraint->deferrable = conform->condeferrable; + fkconstraint->initdeferred = conform->condeferred; + fkconstraint->skip_validation = true; + fkconstraint->initially_valid = true; + /* a few irrelevant fields omitted here */ + fkconstraint->pktable = NULL; + fkconstraint->fk_attrs = NIL; + fkconstraint->pk_attrs = NIL; + fkconstraint->fk_matchtype = conform->confmatchtype; + fkconstraint->fk_upd_action = conform->confupdtype; + fkconstraint->fk_del_action = conform->confdeltype; + fkconstraint->fk_del_set_cols = NIL; + fkconstraint->old_conpfeqop = NIL; + fkconstraint->old_pktable_oid = InvalidOid; + fkconstraint->location = -1; + + /* set up colnames, used to generate the constraint name */ + for (int i = 0; i < numfks; i++) + { + Form_pg_attribute att; + + att = TupleDescAttr(RelationGetDescr(partRel), + conkey[i] - 1); + + fkconstraint->fk_attrs = lappend(fkconstraint->fk_attrs, + makeString(NameStr(att->attname))); + } - createForeignKeyActionTriggers(partRel, conform->confrelid, - fkconstraint, fk->conoid, - conform->conindid, - InvalidOid, InvalidOid, - NULL, NULL); + refdRel = table_open(fk->confrelid, ShareRowExclusiveLock); + + addFkRecurseReferenced(fkconstraint, partRel, + refdRel, + conform->conindid, + fk->conoid, + numfks, + confkey, + conkey, + conpfeqop, + conppeqop, + conffeqop, + numfkdelsetcols, + confdelsetcols, + true, + InvalidOid, InvalidOid); + table_close(refdRel, NoLock); /* keep lock till end of xact */ + } ReleaseSysCache(contup); } @@ -20068,728 +20203,3 @@ GetAttributeStorage(Oid atttypid, const char *storagemode) return cstorage; } - -/* - * Struct with context of new partition for inserting rows from split partition - */ -typedef struct SplitPartitionContext -{ - ExprState *partqualstate; /* expression for checking slot for partition - * (NULL for DEFAULT partition) */ - BulkInsertState bistate; /* state of bulk inserts for partition */ - TupleTableSlot *dstslot; /* slot for inserting row into partition */ - Relation partRel; /* relation for partition */ -} SplitPartitionContext; - - -/* - * createSplitPartitionContext: create context for partition and fill it - */ -static SplitPartitionContext * -createSplitPartitionContext(Relation partRel) -{ - SplitPartitionContext *pc; - - pc = (SplitPartitionContext *) palloc0(sizeof(SplitPartitionContext)); - pc->partRel = partRel; - - /* - * Prepare a BulkInsertState for table_tuple_insert. The FSM is empty, so - * don't bother using it. - */ - pc->bistate = GetBulkInsertState(); - - /* Create tuple slot for new partition. */ - pc->dstslot = MakeSingleTupleTableSlot(RelationGetDescr(pc->partRel), - table_slot_callbacks(pc->partRel)); - ExecStoreAllNullTuple(pc->dstslot); - - return pc; -} - -/* - * deleteSplitPartitionContext: delete context for partition - */ -static void -deleteSplitPartitionContext(SplitPartitionContext *pc, int ti_options) -{ - ExecDropSingleTupleTableSlot(pc->dstslot); - FreeBulkInsertState(pc->bistate); - - table_finish_bulk_insert(pc->partRel, ti_options); - - pfree(pc); -} - -/* - * moveSplitTableRows: scan split partition (splitRel) of partitioned table - * (rel) and move rows into new partitions. - * - * New partitions description: - * partlist: list of pointers to SinglePartitionSpec structures. - * newPartRels: list of Relations. - * defaultPartOid: oid of DEFAULT partition, for table rel. - */ -static void -moveSplitTableRows(Relation rel, Relation splitRel, List *partlist, List *newPartRels, Oid defaultPartOid) -{ - /* The FSM is empty, so don't bother using it. */ - int ti_options = TABLE_INSERT_SKIP_FSM; - CommandId mycid; - EState *estate; - ListCell *listptr, - *listptr2; - TupleTableSlot *srcslot; - ExprContext *econtext; - TableScanDesc scan; - Snapshot snapshot; - MemoryContext oldCxt; - List *partContexts = NIL; - TupleConversionMap *tuple_map; - SplitPartitionContext *defaultPartCtx = NULL, - *pc; - bool isOldDefaultPart = false; - - mycid = GetCurrentCommandId(true); - - estate = CreateExecutorState(); - - forboth(listptr, partlist, listptr2, newPartRels) - { - SinglePartitionSpec *sps = (SinglePartitionSpec *) lfirst(listptr); - - pc = createSplitPartitionContext((Relation) lfirst(listptr2)); - - if (sps->bound->is_default) - { - /* We should not create constraint for detached DEFAULT partition. */ - defaultPartCtx = pc; - } - else - { - List *partConstraint; - - /* Build expression execution states for partition check quals. */ - partConstraint = get_qual_from_partbound(rel, sps->bound); - partConstraint = - (List *) eval_const_expressions(NULL, - (Node *) partConstraint); - /* Make boolean expression for ExecCheck(). */ - partConstraint = list_make1(make_ands_explicit(partConstraint)); - - /* - * Map the vars in the constraint expression from rel's attnos to - * splitRel's. - */ - partConstraint = map_partition_varattnos(partConstraint, - 1, splitRel, rel); - - pc->partqualstate = - ExecPrepareExpr((Expr *) linitial(partConstraint), estate); - Assert(pc->partqualstate != NULL); - } - - /* Store partition context into list. */ - partContexts = lappend(partContexts, pc); - } - - /* - * Create partition context for DEFAULT partition. We can insert values - * into this partition in case spaces with values between new partitions. - */ - if (!defaultPartCtx && OidIsValid(defaultPartOid)) - { - /* Indicate that we allocate context for old DEFAULT partition */ - isOldDefaultPart = true; - defaultPartCtx = createSplitPartitionContext(table_open(defaultPartOid, AccessExclusiveLock)); - } - - econtext = GetPerTupleExprContext(estate); - - /* Create necessary tuple slot. */ - srcslot = MakeSingleTupleTableSlot(RelationGetDescr(splitRel), - table_slot_callbacks(splitRel)); - - /* - * Map computing for moving attributes of split partition to new partition - * (for first new partition, but other new partitions can use the same - * map). - */ - pc = (SplitPartitionContext *) lfirst(list_head(partContexts)); - tuple_map = convert_tuples_by_name(RelationGetDescr(splitRel), - RelationGetDescr(pc->partRel)); - - /* Scan through the rows. */ - snapshot = RegisterSnapshot(GetLatestSnapshot()); - scan = table_beginscan(splitRel, snapshot, 0, NULL); - - /* - * Switch to per-tuple memory context and reset it for each tuple - * produced, so we don't leak memory. - */ - oldCxt = MemoryContextSwitchTo(GetPerTupleMemoryContext(estate)); - - while (table_scan_getnextslot(scan, ForwardScanDirection, srcslot)) - { - bool found = false; - TupleTableSlot *insertslot; - - /* Extract data from old tuple. */ - slot_getallattrs(srcslot); - - econtext->ecxt_scantuple = srcslot; - - /* Search partition for current slot srcslot. */ - foreach(listptr, partContexts) - { - pc = (SplitPartitionContext *) lfirst(listptr); - - if (pc->partqualstate /* skip DEFAULT partition */ && - ExecCheck(pc->partqualstate, econtext)) - { - found = true; - break; - } - ResetExprContext(econtext); - } - if (!found) - { - /* Use DEFAULT partition if it exists. */ - if (defaultPartCtx) - pc = defaultPartCtx; - else - ereport(ERROR, - (errcode(ERRCODE_CHECK_VIOLATION), - errmsg("can not find partition for split partition row"), - errtable(splitRel))); - } - - if (tuple_map) - { - /* Need to use map to copy attributes. */ - insertslot = execute_attr_map_slot(tuple_map->attrMap, srcslot, pc->dstslot); - } - else - { - /* Copy attributes directly. */ - insertslot = pc->dstslot; - - ExecClearTuple(insertslot); - - memcpy(insertslot->tts_values, srcslot->tts_values, - sizeof(Datum) * srcslot->tts_nvalid); - memcpy(insertslot->tts_isnull, srcslot->tts_isnull, - sizeof(bool) * srcslot->tts_nvalid); - - ExecStoreVirtualTuple(insertslot); - } - - /* Write the tuple out to the new relation. */ - table_tuple_insert(pc->partRel, insertslot, mycid, - ti_options, pc->bistate); - - ResetExprContext(econtext); - - CHECK_FOR_INTERRUPTS(); - } - - MemoryContextSwitchTo(oldCxt); - - table_endscan(scan); - UnregisterSnapshot(snapshot); - - if (tuple_map) - free_conversion_map(tuple_map); - - ExecDropSingleTupleTableSlot(srcslot); - - FreeExecutorState(estate); - - foreach(listptr, partContexts) - deleteSplitPartitionContext((SplitPartitionContext *) lfirst(listptr), ti_options); - - /* Need to close table and free buffers for DEFAULT partition. */ - if (isOldDefaultPart) - { - Relation defaultPartRel = defaultPartCtx->partRel; - - deleteSplitPartitionContext(defaultPartCtx, ti_options); - /* Keep the lock until commit. */ - table_close(defaultPartRel, NoLock); - } -} - -/* - * createPartitionTable: create table for a new partition with given name - * (newPartName) like table (modelRel) - * - * Emulates command: CREATE [TEMP] TABLE (LIKE - * INCLUDING ALL EXCLUDING INDEXES EXCLUDING IDENTITY EXCLUDING STATISTICS) - * - * Also, this function sets the new partition access method same as parent - * table access methods (similarly to CREATE TABLE ... PARTITION OF). It - * checks that parent and child tables have compatible persistence. - * - * Function returns the created relation (locked in AccessExclusiveLock mode). - */ -static Relation -createPartitionTable(RangeVar *newPartName, Relation modelRel, - AlterTableUtilityContext *context) -{ - CreateStmt *createStmt; - TableLikeClause *tlc; - PlannedStmt *wrapper; - Relation newRel; - - /* If existing rel is temp, it must belong to this session */ - if (modelRel->rd_rel->relpersistence == RELPERSISTENCE_TEMP && - !modelRel->rd_islocaltemp) - ereport(ERROR, - (errcode(ERRCODE_WRONG_OBJECT_TYPE), - errmsg("cannot create as partition of temporary relation of another session"))); - - /* New partition should have the same persistence as modelRel */ - newPartName->relpersistence = modelRel->rd_rel->relpersistence; - - createStmt = makeNode(CreateStmt); - createStmt->relation = newPartName; - createStmt->tableElts = NIL; - createStmt->inhRelations = NIL; - createStmt->constraints = NIL; - createStmt->options = NIL; - createStmt->oncommit = ONCOMMIT_NOOP; - createStmt->tablespacename = get_tablespace_name(modelRel->rd_rel->reltablespace); - createStmt->if_not_exists = false; - createStmt->accessMethod = get_am_name(modelRel->rd_rel->relam); - - tlc = makeNode(TableLikeClause); - tlc->relation = makeRangeVar(get_namespace_name(RelationGetNamespace(modelRel)), - RelationGetRelationName(modelRel), -1); - - /* - * Indexes will be inherited on "attach new partitions" stage, after data - * moving. We also don't copy the extended statistics for consistency - * with CREATE TABLE PARTITION OF. - */ - tlc->options = CREATE_TABLE_LIKE_ALL & - ~(CREATE_TABLE_LIKE_INDEXES | CREATE_TABLE_LIKE_IDENTITY | CREATE_TABLE_LIKE_STATISTICS); - tlc->relationOid = InvalidOid; - createStmt->tableElts = lappend(createStmt->tableElts, tlc); - - /* Need to make a wrapper PlannedStmt. */ - wrapper = makeNode(PlannedStmt); - wrapper->commandType = CMD_UTILITY; - wrapper->canSetTag = false; - wrapper->utilityStmt = (Node *) createStmt; - wrapper->stmt_location = context->pstmt->stmt_location; - wrapper->stmt_len = context->pstmt->stmt_len; - - ProcessUtility(wrapper, - context->queryString, - false, - PROCESS_UTILITY_SUBCOMMAND, - NULL, - NULL, - None_Receiver, - NULL); - - /* - * Open the new partition with no lock, because we already have - * AccessExclusiveLock placed there after creation. - */ - newRel = table_openrv(newPartName, NoLock); - - /* - * We intended to create the partition with the same persistence as the - * parent table, but we still need to recheck because that might be - * affected by the search_path. If the parent is permanent, so must be - * all of its partitions. - */ - if (modelRel->rd_rel->relpersistence != RELPERSISTENCE_TEMP && - newRel->rd_rel->relpersistence == RELPERSISTENCE_TEMP) - ereport(ERROR, - (errcode(ERRCODE_WRONG_OBJECT_TYPE), - errmsg("cannot create a temporary relation as partition of permanent relation \"%s\"", - RelationGetRelationName(modelRel)))); - - /* Permanent rels cannot be partitions belonging to temporary parent */ - if (newRel->rd_rel->relpersistence != RELPERSISTENCE_TEMP && - modelRel->rd_rel->relpersistence == RELPERSISTENCE_TEMP) - ereport(ERROR, - (errcode(ERRCODE_WRONG_OBJECT_TYPE), - errmsg("cannot create a permanent relation as partition of temporary relation \"%s\"", - RelationGetRelationName(modelRel)))); - - return newRel; -} - -/* - * ALTER TABLE SPLIT PARTITION INTO - */ -static void -ATExecSplitPartition(List **wqueue, AlteredTableInfo *tab, Relation rel, - PartitionCmd *cmd, AlterTableUtilityContext *context) -{ - Relation splitRel; - Oid splitRelOid; - char relname[NAMEDATALEN]; - Oid namespaceId; - ListCell *listptr, - *listptr2; - bool isSameName = false; - char tmpRelName[NAMEDATALEN]; - List *newPartRels = NIL; - ObjectAddress object; - Oid defaultPartOid; - - defaultPartOid = get_default_oid_from_partdesc(RelationGetPartitionDesc(rel, true)); - - /* - * We are going to detach and remove this partition: need to use exclusive - * lock for preventing DML-queries to the partition. - */ - splitRel = table_openrv(cmd->name, AccessExclusiveLock); - - splitRelOid = RelationGetRelid(splitRel); - - /* Check descriptions of new partitions. */ - foreach(listptr, cmd->partlist) - { - Oid existing_relid; - SinglePartitionSpec *sps = (SinglePartitionSpec *) lfirst(listptr); - - strlcpy(relname, sps->name->relname, NAMEDATALEN); - - /* - * Look up the namespace in which we are supposed to create the - * partition, check we have permission to create there, lock it - * against concurrent drop, and mark stmt->relation as - * RELPERSISTENCE_TEMP if a temporary namespace is selected. - */ - sps->name->relpersistence = rel->rd_rel->relpersistence; - namespaceId = - RangeVarGetAndCheckCreationNamespace(sps->name, NoLock, NULL); - - /* - * This would fail later on anyway if the relation already exists. But - * by catching it here we can emit a nicer error message. - */ - existing_relid = get_relname_relid(relname, namespaceId); - if (existing_relid == splitRelOid && !isSameName) - /* One new partition can have the same name as split partition. */ - isSameName = true; - else if (existing_relid != InvalidOid) - ereport(ERROR, - (errcode(ERRCODE_DUPLICATE_TABLE), - errmsg("relation \"%s\" already exists", relname))); - } - - /* Detach split partition. */ - RemoveInheritance(splitRel, rel, false); - /* Do the final part of detaching. */ - DetachPartitionFinalize(rel, splitRel, false, defaultPartOid); - - /* - * If new partition has the same name as split partition then we should - * rename split partition for reusing name. - */ - if (isSameName) - { - /* - * We must bump the command counter to make the split partition tuple - * visible for renaming. - */ - CommandCounterIncrement(); - /* Rename partition. */ - sprintf(tmpRelName, "split-%u-%X-tmp", RelationGetRelid(rel), MyProcPid); - RenameRelationInternal(splitRelOid, tmpRelName, false, false); - - /* - * We must bump the command counter to make the split partition tuple - * visible after renaming. - */ - CommandCounterIncrement(); - } - - /* Create new partitions (like split partition), without indexes. */ - foreach(listptr, cmd->partlist) - { - SinglePartitionSpec *sps = (SinglePartitionSpec *) lfirst(listptr); - Relation newPartRel; - - newPartRel = createPartitionTable(sps->name, rel, context); - newPartRels = lappend(newPartRels, newPartRel); - } - - /* Copy data from split partition to new partitions. */ - moveSplitTableRows(rel, splitRel, cmd->partlist, newPartRels, defaultPartOid); - /* Keep the lock until commit. */ - table_close(splitRel, NoLock); - - /* Attach new partitions to partitioned table. */ - forboth(listptr, cmd->partlist, listptr2, newPartRels) - { - SinglePartitionSpec *sps = (SinglePartitionSpec *) lfirst(listptr); - Relation newPartRel = (Relation) lfirst(listptr2); - - /* - * wqueue = NULL: verification for each cloned constraint is not - * needed. - */ - attachPartitionTable(NULL, rel, newPartRel, sps->bound); - /* Keep the lock until commit. */ - table_close(newPartRel, NoLock); - } - - /* Drop split partition. */ - object.classId = RelationRelationId; - object.objectId = splitRelOid; - object.objectSubId = 0; - /* Probably DROP_CASCADE is not needed. */ - performDeletion(&object, DROP_RESTRICT, 0); -} - -/* - * moveMergedTablesRows: scan partitions to be merged (mergingPartitionsList) - * of the partitioned table (rel) and move rows into the new partition - * (newPartRel). - */ -static void -moveMergedTablesRows(Relation rel, List *mergingPartitionsList, - Relation newPartRel) -{ - CommandId mycid; - - /* The FSM is empty, so don't bother using it. */ - int ti_options = TABLE_INSERT_SKIP_FSM; - ListCell *listptr; - BulkInsertState bistate; /* state of bulk inserts for partition */ - TupleTableSlot *dstslot; - - mycid = GetCurrentCommandId(true); - - /* Prepare a BulkInsertState for table_tuple_insert. */ - bistate = GetBulkInsertState(); - - /* Create necessary tuple slot. */ - dstslot = MakeSingleTupleTableSlot(RelationGetDescr(newPartRel), - table_slot_callbacks(newPartRel)); - ExecStoreAllNullTuple(dstslot); - - foreach(listptr, mergingPartitionsList) - { - Relation mergingPartition = (Relation) lfirst(listptr); - TupleTableSlot *srcslot; - TupleConversionMap *tuple_map; - TableScanDesc scan; - Snapshot snapshot; - - /* Create tuple slot for new partition. */ - srcslot = MakeSingleTupleTableSlot(RelationGetDescr(mergingPartition), - table_slot_callbacks(mergingPartition)); - - /* - * Map computing for moving attributes of merged partition to new - * partition. - */ - tuple_map = convert_tuples_by_name(RelationGetDescr(mergingPartition), - RelationGetDescr(newPartRel)); - - /* Scan through the rows. */ - snapshot = RegisterSnapshot(GetLatestSnapshot()); - scan = table_beginscan(mergingPartition, snapshot, 0, NULL); - - while (table_scan_getnextslot(scan, ForwardScanDirection, srcslot)) - { - TupleTableSlot *insertslot; - - /* Extract data from old tuple. */ - slot_getallattrs(srcslot); - - if (tuple_map) - { - /* Need to use map to copy attributes. */ - insertslot = execute_attr_map_slot(tuple_map->attrMap, srcslot, dstslot); - } - else - { - /* Copy attributes directly. */ - insertslot = dstslot; - - ExecClearTuple(insertslot); - - memcpy(insertslot->tts_values, srcslot->tts_values, - sizeof(Datum) * srcslot->tts_nvalid); - memcpy(insertslot->tts_isnull, srcslot->tts_isnull, - sizeof(bool) * srcslot->tts_nvalid); - - ExecStoreVirtualTuple(insertslot); - } - - /* Write the tuple out to the new relation. */ - table_tuple_insert(newPartRel, insertslot, mycid, - ti_options, bistate); - - CHECK_FOR_INTERRUPTS(); - } - - table_endscan(scan); - UnregisterSnapshot(snapshot); - - if (tuple_map) - free_conversion_map(tuple_map); - - ExecDropSingleTupleTableSlot(srcslot); - } - - ExecDropSingleTupleTableSlot(dstslot); - FreeBulkInsertState(bistate); - - table_finish_bulk_insert(newPartRel, ti_options); -} - -/* - * ALTER TABLE MERGE PARTITIONS INTO - */ -static void -ATExecMergePartitions(List **wqueue, AlteredTableInfo *tab, Relation rel, - PartitionCmd *cmd, AlterTableUtilityContext *context) -{ - Relation newPartRel; - ListCell *listptr; - List *mergingPartitionsList = NIL; - Oid defaultPartOid; - Oid namespaceId; - Oid existingRelid; - - /* - * Lock all merged partitions, check them and create list with partitions - * contexts. - */ - foreach(listptr, cmd->partlist) - { - RangeVar *name = (RangeVar *) lfirst(listptr); - Relation mergingPartition; - - /* - * We are going to detach and remove this partition: need to use - * exclusive lock for preventing DML-queries to the partition. - */ - mergingPartition = table_openrv(name, AccessExclusiveLock); - - /* Store a next merging partition into the list. */ - mergingPartitionsList = lappend(mergingPartitionsList, - mergingPartition); - } - - /* - * Look up the namespace in which we are supposed to create the partition, - * check we have permission to create there, lock it against concurrent - * drop, and mark stmt->relation as RELPERSISTENCE_TEMP if a temporary - * namespace is selected. - */ - cmd->name->relpersistence = rel->rd_rel->relpersistence; - namespaceId = - RangeVarGetAndCheckCreationNamespace(cmd->name, NoLock, NULL); - - /* - * Check if this name is already taken. This helps us to detect the - * situation when one of the merging partitions has the same name as the - * new partition. Otherwise, this would fail later on anyway but catching - * this here allows us to emit a nicer error message. - */ - existingRelid = get_relname_relid(cmd->name->relname, namespaceId); - - if (OidIsValid(existingRelid)) - { - Relation sameNamePartition = NULL; - - foreach_ptr(RelationData, mergingPartition, mergingPartitionsList) - { - if (RelationGetRelid(mergingPartition) == existingRelid) - { - sameNamePartition = mergingPartition; - break; - } - } - - if (sameNamePartition) - { - /* - * The new partition has the same name as one of merging - * partitions. - */ - char tmpRelName[NAMEDATALEN]; - - /* Generate temporary name. */ - sprintf(tmpRelName, "merge-%u-%X-tmp", RelationGetRelid(rel), MyProcPid); - - /* - * Rename the existing partition with a temporary name, leaving it - * free for the new partition. We don't need to care about this - * in the future because we're going to eventually drop the - * existing partition anyway. - */ - RenameRelationInternal(RelationGetRelid(sameNamePartition), - tmpRelName, false, false); - - /* - * We must bump the command counter to make the new partition - * tuple visible for rename. - */ - CommandCounterIncrement(); - } - else - { - ereport(ERROR, - (errcode(ERRCODE_DUPLICATE_TABLE), - errmsg("relation \"%s\" already exists", cmd->name->relname))); - } - } - - /* Detach all merged partitions. */ - defaultPartOid = - get_default_oid_from_partdesc(RelationGetPartitionDesc(rel, true)); - foreach(listptr, mergingPartitionsList) - { - Relation mergingPartition = (Relation) lfirst(listptr); - - /* Remove the pg_inherits row first. */ - RemoveInheritance(mergingPartition, rel, false); - /* Do the final part of detaching. */ - DetachPartitionFinalize(rel, mergingPartition, false, defaultPartOid); - } - - /* Create table for new partition, use partitioned table as model. */ - newPartRel = createPartitionTable(cmd->name, rel, context); - - /* Copy data from merged partitions to new partition. */ - moveMergedTablesRows(rel, mergingPartitionsList, newPartRel); - - /* Drop the current partitions before attaching the new one. */ - foreach(listptr, mergingPartitionsList) - { - ObjectAddress object; - Relation mergingPartition = (Relation) lfirst(listptr); - - /* Get relation id before table_close() call. */ - object.objectId = RelationGetRelid(mergingPartition); - object.classId = RelationRelationId; - object.objectSubId = 0; - - /* Keep the lock until commit. */ - table_close(mergingPartition, NoLock); - - performDeletion(&object, DROP_RESTRICT, 0); - } - list_free(mergingPartitionsList); - - /* - * Attach a new partition to the partitioned table. wqueue = NULL: - * verification for each cloned constraint is not needed. - */ - attachPartitionTable(NULL, rel, newPartRel, cmd->bound); - - /* Keep the lock until commit. */ - table_close(newPartRel, NoLock); -} diff --git a/src/backend/commands/vacuum.c b/src/backend/commands/vacuum.c index 48f8eab2022..79fe26a9325 100644 --- a/src/backend/commands/vacuum.c +++ b/src/backend/commands/vacuum.c @@ -1405,7 +1405,9 @@ vac_update_relstats(Relation relation, { Oid relid = RelationGetRelid(relation); Relation rd; + ScanKeyData key[1]; HeapTuple ctup; + void *inplace_state; Form_pg_class pgcform; bool dirty, futurexid, @@ -1416,7 +1418,12 @@ vac_update_relstats(Relation relation, rd = table_open(RelationRelationId, RowExclusiveLock); /* Fetch a copy of the tuple to scribble on */ - ctup = SearchSysCacheCopy1(RELOID, ObjectIdGetDatum(relid)); + ScanKeyInit(&key[0], + Anum_pg_class_oid, + BTEqualStrategyNumber, F_OIDEQ, + ObjectIdGetDatum(relid)); + systable_inplace_update_begin(rd, ClassOidIndexId, true, + NULL, 1, key, &ctup, &inplace_state); if (!HeapTupleIsValid(ctup)) elog(ERROR, "pg_class entry for relid %u vanished during vacuuming", relid); @@ -1524,7 +1531,9 @@ vac_update_relstats(Relation relation, /* If anything changed, write out the tuple. */ if (dirty) - heap_inplace_update(rd, ctup); + systable_inplace_update_finish(inplace_state, ctup); + else + systable_inplace_update_cancel(inplace_state); table_close(rd, RowExclusiveLock); @@ -1576,6 +1585,7 @@ vac_update_datfrozenxid(void) bool bogus = false; bool dirty = false; ScanKeyData key[1]; + void *inplace_state; /* * Restrict this task to one backend per database. This avoids race @@ -1699,20 +1709,18 @@ vac_update_datfrozenxid(void) relation = table_open(DatabaseRelationId, RowExclusiveLock); /* - * Get the pg_database tuple to scribble on. Note that this does not - * directly rely on the syscache to avoid issues with flattened toast - * values for the in-place update. + * Fetch a copy of the tuple to scribble on. We could check the syscache + * tuple first. If that concluded !dirty, we'd avoid waiting on + * concurrent heap_update() and would avoid exclusive-locking the buffer. + * For now, don't optimize that. */ ScanKeyInit(&key[0], Anum_pg_database_oid, BTEqualStrategyNumber, F_OIDEQ, ObjectIdGetDatum(MyDatabaseId)); - scan = systable_beginscan(relation, DatabaseOidIndexId, true, - NULL, 1, key); - tuple = systable_getnext(scan); - tuple = heap_copytuple(tuple); - systable_endscan(scan); + systable_inplace_update_begin(relation, DatabaseOidIndexId, true, + NULL, 1, key, &tuple, &inplace_state); if (!HeapTupleIsValid(tuple)) elog(ERROR, "could not find tuple for database %u", MyDatabaseId); @@ -1746,7 +1754,9 @@ vac_update_datfrozenxid(void) newMinMulti = dbform->datminmxid; if (dirty) - heap_inplace_update(relation, tuple); + systable_inplace_update_finish(inplace_state, tuple); + else + systable_inplace_update_cancel(inplace_state); heap_freetuple(tuple); table_close(relation, RowExclusiveLock); diff --git a/src/backend/commands/variable.c b/src/backend/commands/variable.c index 9345131711e..61eae295fa8 100644 --- a/src/backend/commands/variable.c +++ b/src/backend/commands/variable.c @@ -811,63 +811,77 @@ check_session_authorization(char **newval, void **extra, GucSource source) if (*newval == NULL) return true; - if (!IsTransactionState()) + if (InitializingParallelWorker) { /* - * Can't do catalog lookups, so fail. The result of this is that - * session_authorization cannot be set in postgresql.conf, which seems - * like a good thing anyway, so we don't work hard to avoid it. + * In parallel worker initialization, we want to copy the leader's + * state even if it no longer matches the catalogs. ParallelWorkerMain + * already installed the correct role OID and superuser state. */ - return false; + roleid = GetSessionUserId(); + is_superuser = GetSessionUserIsSuperuser(); } + else + { + if (!IsTransactionState()) + { + /* + * Can't do catalog lookups, so fail. The result of this is that + * session_authorization cannot be set in postgresql.conf, which + * seems like a good thing anyway, so we don't work hard to avoid + * it. + */ + return false; + } - /* - * When source == PGC_S_TEST, we don't throw a hard error for a - * nonexistent user name or insufficient privileges, only a NOTICE. See - * comments in guc.h. - */ + /* + * When source == PGC_S_TEST, we don't throw a hard error for a + * nonexistent user name or insufficient privileges, only a NOTICE. + * See comments in guc.h. + */ - /* Look up the username */ - roleTup = SearchSysCache1(AUTHNAME, PointerGetDatum(*newval)); - if (!HeapTupleIsValid(roleTup)) - { - if (source == PGC_S_TEST) + /* Look up the username */ + roleTup = SearchSysCache1(AUTHNAME, PointerGetDatum(*newval)); + if (!HeapTupleIsValid(roleTup)) { - ereport(NOTICE, - (errcode(ERRCODE_UNDEFINED_OBJECT), - errmsg("role \"%s\" does not exist", *newval))); - return true; + if (source == PGC_S_TEST) + { + ereport(NOTICE, + (errcode(ERRCODE_UNDEFINED_OBJECT), + errmsg("role \"%s\" does not exist", *newval))); + return true; + } + GUC_check_errmsg("role \"%s\" does not exist", *newval); + return false; } - GUC_check_errmsg("role \"%s\" does not exist", *newval); - return false; - } - roleform = (Form_pg_authid) GETSTRUCT(roleTup); - roleid = roleform->oid; - is_superuser = roleform->rolsuper; + roleform = (Form_pg_authid) GETSTRUCT(roleTup); + roleid = roleform->oid; + is_superuser = roleform->rolsuper; - ReleaseSysCache(roleTup); + ReleaseSysCache(roleTup); - /* - * Only superusers may SET SESSION AUTHORIZATION a role other than itself. - * Note that in case of multiple SETs in a single session, the original - * authenticated user's superuserness is what matters. - */ - if (roleid != GetAuthenticatedUserId() && - !superuser_arg(GetAuthenticatedUserId())) - { - if (source == PGC_S_TEST) + /* + * Only superusers may SET SESSION AUTHORIZATION a role other than + * itself. Note that in case of multiple SETs in a single session, the + * original authenticated user's superuserness is what matters. + */ + if (roleid != GetAuthenticatedUserId() && + !superuser_arg(GetAuthenticatedUserId())) { - ereport(NOTICE, - (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE), - errmsg("permission will be denied to set session authorization \"%s\"", - *newval))); - return true; + if (source == PGC_S_TEST) + { + ereport(NOTICE, + (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE), + errmsg("permission will be denied to set session authorization \"%s\"", + *newval))); + return true; + } + GUC_check_errcode(ERRCODE_INSUFFICIENT_PRIVILEGE); + GUC_check_errmsg("permission denied to set session authorization \"%s\"", + *newval); + return false; } - GUC_check_errcode(ERRCODE_INSUFFICIENT_PRIVILEGE); - GUC_check_errmsg("permission denied to set session authorization \"%s\"", - *newval); - return false; } /* Set up "extra" struct for assign_session_authorization to use */ @@ -918,6 +932,16 @@ check_role(char **newval, void **extra, GucSource source) roleid = InvalidOid; is_superuser = false; } + else if (InitializingParallelWorker) + { + /* + * In parallel worker initialization, we want to copy the leader's + * state even if it no longer matches the catalogs. ParallelWorkerMain + * already installed the correct role OID and superuser state. + */ + roleid = GetCurrentRoleId(); + is_superuser = current_role_is_superuser; + } else { if (!IsTransactionState()) @@ -957,13 +981,8 @@ check_role(char **newval, void **extra, GucSource source) ReleaseSysCache(roleTup); - /* - * Verify that session user is allowed to become this role, but skip - * this in parallel mode, where we must blindly recreate the parallel - * leader's state. - */ - if (!InitializingParallelWorker && - !member_can_set_role(GetSessionUserId(), roleid)) + /* Verify that session user is allowed to become this role */ + if (!member_can_set_role(GetSessionUserId(), roleid)) { if (source == PGC_S_TEST) { diff --git a/src/backend/executor/execExpr.c b/src/backend/executor/execExpr.c index 9b52bab52fc..ab89ad9afbf 100644 --- a/src/backend/executor/execExpr.c +++ b/src/backend/executor/execExpr.c @@ -2317,6 +2317,8 @@ ExecInitExprRec(Expr *node, ExprState *state, { JsonValueExpr *jve = (JsonValueExpr *) node; + Assert(jve->raw_expr != NULL); + ExecInitExprRec(jve->raw_expr, state, resv, resnull); Assert(jve->formatted_expr != NULL); ExecInitExprRec(jve->formatted_expr, state, resv, resnull); break; @@ -4233,9 +4235,11 @@ ExecInitJsonExpr(JsonExpr *jsexpr, ExprState *state, List *jumps_return_null = NIL; List *jumps_to_end = NIL; ListCell *lc; - ErrorSaveContext *escontext = - jsexpr->on_error->btype != JSON_BEHAVIOR_ERROR ? - &jsestate->escontext : NULL; + ErrorSaveContext *escontext; + bool returning_domain = + get_typtype(jsexpr->returning->typid) == TYPTYPE_DOMAIN; + + Assert(jsexpr->on_error != NULL); jsestate->jsexpr = jsexpr; @@ -4313,6 +4317,9 @@ ExecInitJsonExpr(JsonExpr *jsexpr, ExprState *state, scratch->d.constval.isnull = true; ExprEvalPushStep(state, scratch); + escontext = jsexpr->on_error->btype != JSON_BEHAVIOR_ERROR ? + &jsestate->escontext : NULL; + /* * To handle coercion errors softly, use the following ErrorSaveContext to * pass to ExecInitExprRec() when initializing the coercion expressions @@ -4384,9 +4391,18 @@ ExecInitJsonExpr(JsonExpr *jsexpr, ExprState *state, * Step to check jsestate->error and return the ON ERROR expression if * there is one. This handles both the errors that occur during jsonpath * evaluation in EEOP_JSONEXPR_PATH and subsequent coercion evaluation. + * + * Speed up common cases by avoiding extra steps for a NULL-valued ON + * ERROR expression unless RETURNING a domain type, where constraints must + * be checked. ExecEvalJsonExprPath() already returns NULL on error, + * making additional steps unnecessary in typical scenarios. Note that the + * default ON ERROR behavior for JSON_VALUE() and JSON_QUERY() is to + * return NULL. */ - if (jsexpr->on_error && - jsexpr->on_error->btype != JSON_BEHAVIOR_ERROR) + if (jsexpr->on_error->btype != JSON_BEHAVIOR_ERROR && + (!(IsA(jsexpr->on_error->expr, Const) && + ((Const *) jsexpr->on_error->expr)->constisnull) || + returning_domain)) { ErrorSaveContext *saved_escontext; @@ -4441,9 +4457,15 @@ ExecInitJsonExpr(JsonExpr *jsexpr, ExprState *state, /* * Step to check jsestate->empty and return the ON EMPTY expression if * there is one. + * + * See the comment above for details on the optimization for NULL-valued + * expressions. */ if (jsexpr->on_empty != NULL && - jsexpr->on_empty->btype != JSON_BEHAVIOR_ERROR) + jsexpr->on_empty->btype != JSON_BEHAVIOR_ERROR && + (!(IsA(jsexpr->on_empty->expr, Const) && + ((Const *) jsexpr->on_empty->expr)->constisnull) || + returning_domain)) { ErrorSaveContext *saved_escontext; diff --git a/src/backend/executor/execExprInterp.c b/src/backend/executor/execExprInterp.c index 1633ea83731..aa68c115ba9 100644 --- a/src/backend/executor/execExprInterp.c +++ b/src/backend/executor/execExprInterp.c @@ -4414,8 +4414,8 @@ ExecEvalJsonExprPath(ExprState *state, ExprEvalStep *op, /* Set up to catch coercion errors of the ON EMPTY value. */ jsestate->escontext.error_occurred = false; jsestate->escontext.details_wanted = true; - Assert(jsestate->jump_empty >= 0); - return jsestate->jump_empty; + /* Jump to end if the ON EMPTY behavior is to return NULL */ + return jsestate->jump_empty >= 0 ? jsestate->jump_empty : jsestate->jump_end; } } else if (jsexpr->on_error->btype != JSON_BEHAVIOR_ERROR) @@ -4424,8 +4424,9 @@ ExecEvalJsonExprPath(ExprState *state, ExprEvalStep *op, /* Set up to catch coercion errors of the ON ERROR value. */ jsestate->escontext.error_occurred = false; jsestate->escontext.details_wanted = true; - Assert(!throw_error && jsestate->jump_error >= 0); - return jsestate->jump_error; + Assert(!throw_error); + /* Jump to end if the ON ERROR behavior is to return NULL */ + return jsestate->jump_error >= 0 ? jsestate->jump_error : jsestate->jump_end; } if (jsexpr->column_name) @@ -4445,14 +4446,15 @@ ExecEvalJsonExprPath(ExprState *state, ExprEvalStep *op, */ if (error) { - Assert(!throw_error && jsestate->jump_error >= 0); + Assert(!throw_error); *op->resvalue = (Datum) 0; *op->resnull = true; jsestate->error.value = BoolGetDatum(true); /* Set up to catch coercion errors of the ON ERROR value. */ jsestate->escontext.error_occurred = false; jsestate->escontext.details_wanted = true; - return jsestate->jump_error; + /* Jump to end if the ON ERROR behavior is to return NULL */ + return jsestate->jump_error >= 0 ? jsestate->jump_error : jsestate->jump_end; } return jump_eval_coercion >= 0 ? jump_eval_coercion : jsestate->jump_end; @@ -4634,13 +4636,17 @@ ExecEvalJsonCoercionFinish(ExprState *state, ExprEvalStep *op) if (DatumGetBool(jsestate->error.value)) ereport(ERROR, (errcode(ERRCODE_DATATYPE_MISMATCH), - errmsg("could not coerce ON ERROR expression (%s) to the RETURNING type", + /*- translator: first %s is a SQL/JSON clause (e.g. ON ERROR) */ + errmsg("could not coerce %s expression (%s) to the RETURNING type", + "ON ERROR", GetJsonBehaviorValueString(jsestate->jsexpr->on_error)), errdetail("%s", jsestate->escontext.error_data->message))); else if (DatumGetBool(jsestate->empty.value)) ereport(ERROR, (errcode(ERRCODE_DATATYPE_MISMATCH), - errmsg("could not coerce ON EMPTY expression (%s) to the RETURNING type", + /*- translator: first %s is a SQL/JSON clause (e.g. ON ERROR) */ + errmsg("could not coerce %s expression (%s) to the RETURNING type", + "ON EMPTY", GetJsonBehaviorValueString(jsestate->jsexpr->on_empty)), errdetail("%s", jsestate->escontext.error_data->message))); diff --git a/src/backend/executor/execMain.c b/src/backend/executor/execMain.c index 4d7c92d63c1..f8113d116d0 100644 --- a/src/backend/executor/execMain.c +++ b/src/backend/executor/execMain.c @@ -124,10 +124,12 @@ void ExecutorStart(QueryDesc *queryDesc, int eflags) { /* - * In some cases (e.g. an EXECUTE statement) a query execution will skip - * parse analysis, which means that the query_id won't be reported. Note - * that it's harmless to report the query_id multiple times, as the call - * will be ignored if the top level query_id has already been reported. + * In some cases (e.g. an EXECUTE statement or an execute message with the + * extended query protocol) the query_id won't be reported, so do it now. + * + * Note that it's harmless to report the query_id multiple times, as the + * call will be ignored if the top level query_id has already been + * reported. */ pgstat_report_query_id(queryDesc->plannedstmt->queryId, false); @@ -1029,6 +1031,10 @@ CheckValidResultRel(ResultRelInfo *resultRelInfo, CmdType operation, Relation resultRel = resultRelInfo->ri_RelationDesc; FdwRoutine *fdwroutine; + /* Expect a fully-formed ResultRelInfo from InitResultRelInfo(). */ + Assert(resultRelInfo->ri_needLockTagTuple == + IsInplaceUpdateRelation(resultRel)); + switch (resultRel->rd_rel->relkind) { case RELKIND_RELATION: @@ -1209,6 +1215,8 @@ InitResultRelInfo(ResultRelInfo *resultRelInfo, resultRelInfo->ri_NumIndices = 0; resultRelInfo->ri_IndexRelationDescs = NULL; resultRelInfo->ri_IndexRelationInfo = NULL; + resultRelInfo->ri_needLockTagTuple = + IsInplaceUpdateRelation(resultRelationDesc); /* make a copy so as not to depend on relcache info not changing... */ resultRelInfo->ri_TrigDesc = CopyTriggerDesc(resultRelationDesc->trigdesc); if (resultRelInfo->ri_TrigDesc) diff --git a/src/backend/executor/execReplication.c b/src/backend/executor/execReplication.c index d0a89cd5778..f18efdb6f26 100644 --- a/src/backend/executor/execReplication.c +++ b/src/backend/executor/execReplication.c @@ -559,8 +559,12 @@ ExecSimpleRelationUpdate(ResultRelInfo *resultRelInfo, Relation rel = resultRelInfo->ri_RelationDesc; ItemPointer tid = &(searchslot->tts_tid); - /* For now we support only tables. */ + /* + * We support only non-system tables, with + * check_publication_add_relation() accountable. + */ Assert(rel->rd_rel->relkind == RELKIND_RELATION); + Assert(!IsCatalogRelation(rel)); CheckCmdReplicaIdentity(rel, CMD_UPDATE); diff --git a/src/backend/executor/execUtils.c b/src/backend/executor/execUtils.c index 5737f9f4ebd..d8dd36685c5 100644 --- a/src/backend/executor/execUtils.c +++ b/src/backend/executor/execUtils.c @@ -756,7 +756,7 @@ ExecInitRangeTable(EState *estate, List *rangeTable, List *permInfos) * ExecGetRangeTableRelation * Open the Relation for a range table entry, if not already done * - * The Relations will be closed again in ExecEndPlan(). + * The Relations will be closed in ExecEndPlan(). */ Relation ExecGetRangeTableRelation(EState *estate, Index rti) diff --git a/src/backend/executor/functions.c b/src/backend/executor/functions.c index 692854e2b3e..39880663307 100644 --- a/src/backend/executor/functions.c +++ b/src/backend/executor/functions.c @@ -1972,6 +1972,12 @@ check_sql_fn_retval(List *queryTreeLists, rtr->rtindex = 1; newquery->jointree = makeFromExpr(list_make1(rtr), NULL); + /* + * Make sure the new query is marked as having row security if the + * original one does. + */ + newquery->hasRowSecurity = parse->hasRowSecurity; + /* Replace original query in the correct element of the query list */ lfirst(parse_cell) = newquery; } diff --git a/src/backend/executor/instrument.c b/src/backend/executor/instrument.c index 268ae8a945f..b6845ecce5c 100644 --- a/src/backend/executor/instrument.c +++ b/src/backend/executor/instrument.c @@ -239,8 +239,13 @@ BufferUsageAdd(BufferUsage *dst, const BufferUsage *add) INSTR_TIME_ADD(dst->shared_blk_write_time, add->shared_blk_write_time); INSTR_TIME_ADD(dst->local_blk_read_time, add->local_blk_read_time); INSTR_TIME_ADD(dst->local_blk_write_time, add->local_blk_write_time); - INSTR_TIME_ADD(dst->temp_blk_read_time, add->temp_blk_read_time); - INSTR_TIME_ADD(dst->temp_blk_write_time, add->temp_blk_write_time); + /* Neon-specific stats*/ + dst->prefetch.hits += add->prefetch.hits; + dst->prefetch.misses += add->prefetch.misses; + dst->prefetch.expired += add->prefetch.expired; + dst->prefetch.duplicates += add->prefetch.duplicates; + dst->file_cache.hits += add->file_cache.hits; + dst->file_cache.misses += add->file_cache.misses; } /* dst += add - sub */ @@ -271,6 +276,13 @@ BufferUsageAccumDiff(BufferUsage *dst, add->temp_blk_read_time, sub->temp_blk_read_time); INSTR_TIME_ACCUM_DIFF(dst->temp_blk_write_time, add->temp_blk_write_time, sub->temp_blk_write_time); + /* Neon-only stats */ + dst->prefetch.hits += add->prefetch.hits - sub->prefetch.hits; + dst->prefetch.misses += add->prefetch.misses - sub->prefetch.misses; + dst->prefetch.expired += add->prefetch.expired - sub->prefetch.expired; + dst->prefetch.duplicates += add->prefetch.duplicates - sub->prefetch.duplicates; + dst->file_cache.hits += add->file_cache.hits - sub->file_cache.hits; + dst->file_cache.misses += add->file_cache.misses - sub->file_cache.misses; } /* helper functions for WAL usage accumulation */ diff --git a/src/backend/executor/nodeBitmapHeapscan.c b/src/backend/executor/nodeBitmapHeapscan.c index 6b48a6d8350..5603fe8cc94 100644 --- a/src/backend/executor/nodeBitmapHeapscan.c +++ b/src/backend/executor/nodeBitmapHeapscan.c @@ -146,37 +146,21 @@ BitmapHeapNext(BitmapHeapScanState *node) * multiple processes to iterate jointly. */ pstate->tbmiterator = tbm_prepare_shared_iterate(tbm); -#ifdef USE_PREFETCH - if (node->prefetch_maximum > 0) - { - pstate->prefetch_iterator = - tbm_prepare_shared_iterate(tbm); - - /* - * We don't need the mutex here as we haven't yet woke up - * others. - */ - pstate->prefetch_pages = 0; - pstate->prefetch_target = -1; - } -#endif /* We have initialized the shared state so wake up others. */ BitmapDoneInitializingSharedState(pstate); } +#ifdef USE_PREFETCH + node->prefetch_head = 0; + node->prefetch_pages = 0; + node->prefetch_target = -1; +#endif /* Allocate a private iterator and attach the shared state to it */ node->shared_tbmiterator = shared_tbmiterator = tbm_attach_shared_iterate(dsa, pstate->tbmiterator); node->tbmres = tbmres = NULL; -#ifdef USE_PREFETCH - if (node->prefetch_maximum > 0) - { - node->shared_prefetch_iterator = - tbm_attach_shared_iterate(dsa, pstate->prefetch_iterator); - } -#endif /* USE_PREFETCH */ } /* @@ -222,9 +206,25 @@ BitmapHeapNext(BitmapHeapScanState *node) if (tbmres == NULL) { if (!pstate) - node->tbmres = tbmres = tbm_iterate(tbmiterator); + tbmres = tbm_iterate(tbmiterator); else - node->tbmres = tbmres = tbm_shared_iterate(shared_tbmiterator); + { + if (node->prefetch_pages != 0) + { + tbmres = (TBMIterateResult *)&node->prefetch_requests[node->prefetch_head]; + node->prefetch_pages -= 1; + node->prefetch_head = (node->prefetch_head + 1) % MAX_IO_CONCURRENCY; + } + else + tbmres = tbm_shared_iterate(shared_tbmiterator); + if (tbmres) + { + /* Need to copy result because iterator can be used for prefetch and vocant position in prefetch ring buffer can also be reused */ + memcpy(&node->tbmres_copy, tbmres, offsetof(TBMIterateResult, offsets) + sizeof(OffsetNumber)*Max(tbmres->ntuples, 0)); + tbmres = (TBMIterateResult *)&node->tbmres_copy; + } + } + node->tbmres = tbmres; if (tbmres == NULL) { /* no more entries in the bitmap */ @@ -261,19 +261,8 @@ BitmapHeapNext(BitmapHeapScanState *node) * Try to prefetch at least a few pages even before we get to the * second page if we don't stop reading after the first tuple. */ - if (!pstate) - { - if (node->prefetch_target < node->prefetch_maximum) - node->prefetch_target++; - } - else if (pstate->prefetch_target < node->prefetch_maximum) - { - /* take spinlock while updating shared state */ - SpinLockAcquire(&pstate->mutex); - if (pstate->prefetch_target < node->prefetch_maximum) - pstate->prefetch_target++; - SpinLockRelease(&pstate->mutex); - } + if (node->prefetch_target < node->prefetch_maximum) + node->prefetch_target++; #endif /* USE_PREFETCH */ } @@ -345,54 +334,24 @@ BitmapAdjustPrefetchIterator(BitmapHeapScanState *node, BlockNumber blockno) { #ifdef USE_PREFETCH - ParallelBitmapHeapState *pstate = node->pstate; + TBMIterator *prefetch_iterator = node->prefetch_iterator; - if (pstate == NULL) - { - TBMIterator *prefetch_iterator = node->prefetch_iterator; - - if (node->prefetch_pages > 0) - { - /* The main iterator has closed the distance by one page */ - node->prefetch_pages--; - } - else if (prefetch_iterator) - { - /* Do not let the prefetch iterator get behind the main one */ - TBMIterateResult *tbmpre = tbm_iterate(prefetch_iterator); - - if (tbmpre == NULL || tbmpre->blockno != blockno) - elog(ERROR, "prefetch and main iterators are out of sync"); - } + /* NEON: we are not using prefetch iterator for parallel plan so no need to adjust it */ + if (node->pstate != NULL) return; - } - if (node->prefetch_maximum > 0) + if (node->prefetch_pages > 0) { - TBMSharedIterator *prefetch_iterator = node->shared_prefetch_iterator; - - SpinLockAcquire(&pstate->mutex); - if (pstate->prefetch_pages > 0) - { - pstate->prefetch_pages--; - SpinLockRelease(&pstate->mutex); - } - else - { - /* Release the mutex before iterating */ - SpinLockRelease(&pstate->mutex); + /* The main iterator has closed the distance by one page */ + node->prefetch_pages--; + } + else if (prefetch_iterator) + { + /* Do not let the prefetch iterator get behind the main one */ + TBMIterateResult *tbmpre = tbm_iterate(prefetch_iterator); - /* - * In case of shared mode, we can not ensure that the current - * blockno of the main iterator and that of the prefetch iterator - * are same. It's possible that whatever blockno we are - * prefetching will be processed by another process. Therefore, - * we don't validate the blockno here as we do in non-parallel - * case. - */ - if (prefetch_iterator) - tbm_shared_iterate(prefetch_iterator); - } + if (tbmpre == NULL || tbmpre->blockno != blockno) + elog(ERROR, "prefetch and main iterators are out of sync"); } #endif /* USE_PREFETCH */ } @@ -409,35 +368,14 @@ static inline void BitmapAdjustPrefetchTarget(BitmapHeapScanState *node) { #ifdef USE_PREFETCH - ParallelBitmapHeapState *pstate = node->pstate; - - if (pstate == NULL) - { - if (node->prefetch_target >= node->prefetch_maximum) - /* don't increase any further */ ; - else if (node->prefetch_target >= node->prefetch_maximum / 2) - node->prefetch_target = node->prefetch_maximum; - else if (node->prefetch_target > 0) - node->prefetch_target *= 2; - else - node->prefetch_target++; - return; - } - - /* Do an unlocked check first to save spinlock acquisitions. */ - if (pstate->prefetch_target < node->prefetch_maximum) - { - SpinLockAcquire(&pstate->mutex); - if (pstate->prefetch_target >= node->prefetch_maximum) - /* don't increase any further */ ; - else if (pstate->prefetch_target >= node->prefetch_maximum / 2) - pstate->prefetch_target = node->prefetch_maximum; - else if (pstate->prefetch_target > 0) - pstate->prefetch_target *= 2; - else - pstate->prefetch_target++; - SpinLockRelease(&pstate->mutex); - } + if (node->prefetch_target >= node->prefetch_maximum) + /* don't increase any further */ ; + else if (node->prefetch_target >= node->prefetch_maximum / 2) + node->prefetch_target = node->prefetch_maximum; + else if (node->prefetch_target > 0) + node->prefetch_target *= 2; + else + node->prefetch_target++; #endif /* USE_PREFETCH */ } @@ -486,56 +424,47 @@ BitmapPrefetch(BitmapHeapScanState *node, TableScanDesc scan) PrefetchBuffer(scan->rs_rd, MAIN_FORKNUM, tbmpre->blockno); } } - - return; } - - if (pstate->prefetch_pages < pstate->prefetch_target) + else { - TBMSharedIterator *prefetch_iterator = node->shared_prefetch_iterator; - - if (prefetch_iterator) + while (1) { - while (1) - { - TBMIterateResult *tbmpre; - bool do_prefetch = false; - bool skip_fetch; + TBMIterateResult *tbmpre; + bool do_prefetch = false; + bool skip_fetch; - /* - * Recheck under the mutex. If some other process has already - * done enough prefetching then we need not to do anything. - */ - SpinLockAcquire(&pstate->mutex); - if (pstate->prefetch_pages < pstate->prefetch_target) - { - pstate->prefetch_pages++; - do_prefetch = true; - } - SpinLockRelease(&pstate->mutex); + if (node->prefetch_pages < node->prefetch_target) + { + Assert(node->prefetch_pages < MAX_IO_CONCURRENCY); + do_prefetch = true; + } - if (!do_prefetch) - return; + if (!do_prefetch) + return; - tbmpre = tbm_shared_iterate(prefetch_iterator); - if (tbmpre == NULL) - { - /* No more pages to prefetch */ - tbm_end_shared_iterate(prefetch_iterator); - node->shared_prefetch_iterator = NULL; - break; - } + tbmpre = tbm_shared_iterate(node->shared_tbmiterator); + if (tbmpre != NULL) + { + memcpy(&node->prefetch_requests[(node->prefetch_head + node->prefetch_pages) % MAX_IO_CONCURRENCY], + tbmpre, + offsetof(TBMIterateResult, offsets) + sizeof(OffsetNumber)*Max(tbmpre->ntuples, 0)); + node->prefetch_pages += 1; + } + else + { + /* No more pages to prefetch */ + break; + } - /* As above, skip prefetch if we expect not to need page */ - skip_fetch = (!(scan->rs_flags & SO_NEED_TUPLES) && - !tbmpre->recheck && - VM_ALL_VISIBLE(node->ss.ss_currentRelation, - tbmpre->blockno, - &node->pvmbuffer)); + /* As above, skip prefetch if we expect not to need page */ + skip_fetch = (!(scan->rs_flags & SO_NEED_TUPLES) && + !tbmpre->recheck && + VM_ALL_VISIBLE(node->ss.ss_currentRelation, + tbmpre->blockno, + &node->pvmbuffer)); - if (!skip_fetch) - PrefetchBuffer(scan->rs_rd, MAIN_FORKNUM, tbmpre->blockno); - } + if (!skip_fetch) + PrefetchBuffer(scan->rs_rd, MAIN_FORKNUM, tbmpre->blockno); } } #endif /* USE_PREFETCH */ @@ -593,8 +522,6 @@ ExecReScanBitmapHeapScan(BitmapHeapScanState *node) tbm_end_iterate(node->prefetch_iterator); if (node->shared_tbmiterator) tbm_end_shared_iterate(node->shared_tbmiterator); - if (node->shared_prefetch_iterator) - tbm_end_shared_iterate(node->shared_prefetch_iterator); if (node->tbm) tbm_free(node->tbm); if (node->pvmbuffer != InvalidBuffer) @@ -605,7 +532,6 @@ ExecReScanBitmapHeapScan(BitmapHeapScanState *node) node->prefetch_iterator = NULL; node->initialized = false; node->shared_tbmiterator = NULL; - node->shared_prefetch_iterator = NULL; node->pvmbuffer = InvalidBuffer; ExecScanReScan(&node->ss); @@ -648,8 +574,6 @@ ExecEndBitmapHeapScan(BitmapHeapScanState *node) tbm_free(node->tbm); if (node->shared_tbmiterator) tbm_end_shared_iterate(node->shared_tbmiterator); - if (node->shared_prefetch_iterator) - tbm_end_shared_iterate(node->shared_prefetch_iterator); if (node->pvmbuffer != InvalidBuffer) ReleaseBuffer(node->pvmbuffer); @@ -701,7 +625,6 @@ ExecInitBitmapHeapScan(BitmapHeapScan *node, EState *estate, int eflags) scanstate->prefetch_target = 0; scanstate->initialized = false; scanstate->shared_tbmiterator = NULL; - scanstate->shared_prefetch_iterator = NULL; scanstate->pstate = NULL; /* @@ -746,8 +669,7 @@ ExecInitBitmapHeapScan(BitmapHeapScan *node, EState *estate, int eflags) * Maximum number of prefetches for the tablespace if configured, * otherwise the current value of the effective_io_concurrency GUC. */ - scanstate->prefetch_maximum = - get_tablespace_io_concurrency(currentRelation->rd_rel->reltablespace); + scanstate->prefetch_maximum = get_tablespace_io_concurrency(currentRelation->rd_rel->reltablespace); scanstate->ss.ss_currentRelation = currentRelation; diff --git a/src/backend/executor/nodeHash.c b/src/backend/executor/nodeHash.c index 61480733a12..adcc8af0396 100644 --- a/src/backend/executor/nodeHash.c +++ b/src/backend/executor/nodeHash.c @@ -1244,6 +1244,7 @@ ExecParallelHashIncreaseNumBatches(HashJoinTable hashtable) if (BarrierArriveAndWait(&pstate->grow_batches_barrier, WAIT_EVENT_HASH_GROW_BATCHES_DECIDE)) { + ParallelHashJoinBatch *old_batches; bool space_exhausted = false; bool extreme_skew_detected = false; @@ -1251,25 +1252,31 @@ ExecParallelHashIncreaseNumBatches(HashJoinTable hashtable) ExecParallelHashEnsureBatchAccessors(hashtable); ExecParallelHashTableSetCurrentBatch(hashtable, 0); + old_batches = dsa_get_address(hashtable->area, pstate->old_batches); + /* Are any of the new generation of batches exhausted? */ for (int i = 0; i < hashtable->nbatch; ++i) { - ParallelHashJoinBatch *batch = hashtable->batches[i].shared; + ParallelHashJoinBatch *batch; + ParallelHashJoinBatch *old_batch; + int parent; + batch = hashtable->batches[i].shared; if (batch->space_exhausted || batch->estimated_size > pstate->space_allowed) - { - int parent; - space_exhausted = true; + parent = i % pstate->old_nbatch; + old_batch = NthParallelHashJoinBatch(old_batches, parent); + if (old_batch->space_exhausted || + batch->estimated_size > pstate->space_allowed) + { /* * Did this batch receive ALL of the tuples from its * parent batch? That would indicate that further * repartitioning isn't going to help (the hash values * are probably all the same). */ - parent = i % pstate->old_nbatch; if (batch->ntuples == hashtable->batches[parent].shared->old_ntuples) extreme_skew_detected = true; } diff --git a/src/backend/executor/nodeHashjoin.c b/src/backend/executor/nodeHashjoin.c index 5f4073eabda..96014f5bf7d 100644 --- a/src/backend/executor/nodeHashjoin.c +++ b/src/backend/executor/nodeHashjoin.c @@ -1609,8 +1609,13 @@ void ExecHashJoinReInitializeDSM(HashJoinState *state, ParallelContext *pcxt) { int plan_node_id = state->js.ps.plan->plan_node_id; - ParallelHashJoinState *pstate = - shm_toc_lookup(pcxt->toc, plan_node_id, false); + ParallelHashJoinState *pstate; + + /* Nothing to do if we failed to create a DSM segment. */ + if (pcxt->seg == NULL) + return; + + pstate = shm_toc_lookup(pcxt->toc, plan_node_id, false); /* * It would be possible to reuse the shared hash table in single-batch diff --git a/src/backend/executor/nodeModifyTable.c b/src/backend/executor/nodeModifyTable.c index 4913e493199..02be41845ac 100644 --- a/src/backend/executor/nodeModifyTable.c +++ b/src/backend/executor/nodeModifyTable.c @@ -2321,6 +2321,8 @@ ExecUpdate(ModifyTableContext *context, ResultRelInfo *resultRelInfo, } else { + ItemPointerData lockedtid; + /* * If we generate a new candidate tuple after EvalPlanQual testing, we * must loop back here to try again. (We don't need to redo triggers, @@ -2329,6 +2331,7 @@ ExecUpdate(ModifyTableContext *context, ResultRelInfo *resultRelInfo, * to do them again.) */ redo_act: + lockedtid = *tupleid; result = ExecUpdateAct(context, resultRelInfo, tupleid, oldtuple, slot, canSetTag, &updateCxt); @@ -2422,6 +2425,14 @@ ExecUpdate(ModifyTableContext *context, ResultRelInfo *resultRelInfo, ExecInitUpdateProjection(context->mtstate, resultRelInfo); + if (resultRelInfo->ri_needLockTagTuple) + { + UnlockTuple(resultRelationDesc, + &lockedtid, InplaceUpdateTupleLock); + LockTuple(resultRelationDesc, + tupleid, InplaceUpdateTupleLock); + } + /* Fetch the most recent version of old tuple. */ oldSlot = resultRelInfo->ri_oldTupleSlot; if (!table_tuple_fetch_row_version(resultRelationDesc, @@ -2526,6 +2537,14 @@ ExecOnConflictUpdate(ModifyTableContext *context, TransactionId xmin; bool isnull; + /* + * Parse analysis should have blocked ON CONFLICT for all system + * relations, which includes these. There's no fundamental obstacle to + * supporting this; we'd just need to handle LOCKTAG_TUPLE like the other + * ExecUpdate() caller. + */ + Assert(!resultRelInfo->ri_needLockTagTuple); + /* Determine lock mode to use */ lockmode = ExecUpdateLockMode(context->estate, resultRelInfo); @@ -2851,6 +2870,7 @@ ExecMergeMatched(ModifyTableContext *context, ResultRelInfo *resultRelInfo, { ModifyTableState *mtstate = context->mtstate; List **mergeActions = resultRelInfo->ri_MergeActions; + ItemPointerData lockedtid; List *actionStates; TupleTableSlot *newslot = NULL; TupleTableSlot *rslot = NULL; @@ -2887,14 +2907,32 @@ ExecMergeMatched(ModifyTableContext *context, ResultRelInfo *resultRelInfo, * target wholerow junk attr. */ Assert(tupleid != NULL || oldtuple != NULL); + ItemPointerSetInvalid(&lockedtid); if (oldtuple != NULL) + { + Assert(!resultRelInfo->ri_needLockTagTuple); ExecForceStoreHeapTuple(oldtuple, resultRelInfo->ri_oldTupleSlot, false); - else if (!table_tuple_fetch_row_version(resultRelInfo->ri_RelationDesc, - tupleid, - SnapshotAny, - resultRelInfo->ri_oldTupleSlot)) - elog(ERROR, "failed to fetch the target tuple"); + } + else + { + if (resultRelInfo->ri_needLockTagTuple) + { + /* + * This locks even for CMD_DELETE, for CMD_NOTHING, and for tuples + * that don't match mas_whenqual. MERGE on system catalogs is a + * minor use case, so don't bother optimizing those. + */ + LockTuple(resultRelInfo->ri_RelationDesc, tupleid, + InplaceUpdateTupleLock); + lockedtid = *tupleid; + } + if (!table_tuple_fetch_row_version(resultRelInfo->ri_RelationDesc, + tupleid, + SnapshotAny, + resultRelInfo->ri_oldTupleSlot)) + elog(ERROR, "failed to fetch the target tuple"); + } /* * Test the join condition. If it's satisfied, perform a MATCHED action. @@ -2966,7 +3004,7 @@ ExecMergeMatched(ModifyTableContext *context, ResultRelInfo *resultRelInfo, tupleid, NULL, newslot, &result)) { if (result == TM_Ok) - return NULL; /* "do nothing" */ + goto out; /* "do nothing" */ break; /* concurrent update/delete */ } @@ -2977,11 +3015,11 @@ ExecMergeMatched(ModifyTableContext *context, ResultRelInfo *resultRelInfo, { if (!ExecIRUpdateTriggers(estate, resultRelInfo, oldtuple, newslot)) - return NULL; /* "do nothing" */ + goto out; /* "do nothing" */ } else { - /* called table_tuple_fetch_row_version() above */ + /* checked ri_needLockTagTuple above */ Assert(oldtuple == NULL); result = ExecUpdateAct(context, resultRelInfo, tupleid, @@ -3000,7 +3038,8 @@ ExecMergeMatched(ModifyTableContext *context, ResultRelInfo *resultRelInfo, if (updateCxt.crossPartUpdate) { mtstate->mt_merge_updated += 1; - return context->cpUpdateReturningSlot; + rslot = context->cpUpdateReturningSlot; + goto out; } } @@ -3018,7 +3057,7 @@ ExecMergeMatched(ModifyTableContext *context, ResultRelInfo *resultRelInfo, NULL, NULL, &result)) { if (result == TM_Ok) - return NULL; /* "do nothing" */ + goto out; /* "do nothing" */ break; /* concurrent update/delete */ } @@ -3029,11 +3068,11 @@ ExecMergeMatched(ModifyTableContext *context, ResultRelInfo *resultRelInfo, { if (!ExecIRDeleteTriggers(estate, resultRelInfo, oldtuple)) - return NULL; /* "do nothing" */ + goto out; /* "do nothing" */ } else { - /* called table_tuple_fetch_row_version() above */ + /* checked ri_needLockTagTuple above */ Assert(oldtuple == NULL); result = ExecDeleteAct(context, resultRelInfo, tupleid, @@ -3115,7 +3154,7 @@ ExecMergeMatched(ModifyTableContext *context, ResultRelInfo *resultRelInfo, * let caller handle it under NOT MATCHED [BY TARGET] clauses. */ *matched = false; - return NULL; + goto out; case TM_Updated: { @@ -3189,7 +3228,7 @@ ExecMergeMatched(ModifyTableContext *context, ResultRelInfo *resultRelInfo, * more to do. */ if (TupIsNull(epqslot)) - return NULL; + goto out; /* * If we got a NULL ctid from the subplan, the @@ -3207,6 +3246,15 @@ ExecMergeMatched(ModifyTableContext *context, ResultRelInfo *resultRelInfo, * we need to switch to the NOT MATCHED BY * SOURCE case. */ + if (resultRelInfo->ri_needLockTagTuple) + { + if (ItemPointerIsValid(&lockedtid)) + UnlockTuple(resultRelInfo->ri_RelationDesc, &lockedtid, + InplaceUpdateTupleLock); + LockTuple(resultRelInfo->ri_RelationDesc, &context->tmfd.ctid, + InplaceUpdateTupleLock); + lockedtid = context->tmfd.ctid; + } if (!table_tuple_fetch_row_version(resultRelationDesc, &context->tmfd.ctid, SnapshotAny, @@ -3235,7 +3283,7 @@ ExecMergeMatched(ModifyTableContext *context, ResultRelInfo *resultRelInfo, * MATCHED [BY TARGET] actions */ *matched = false; - return NULL; + goto out; case TM_SelfModified: @@ -3263,13 +3311,13 @@ ExecMergeMatched(ModifyTableContext *context, ResultRelInfo *resultRelInfo, /* This shouldn't happen */ elog(ERROR, "attempted to update or delete invisible tuple"); - return NULL; + goto out; default: /* see table_tuple_lock call in ExecDelete() */ elog(ERROR, "unexpected table_tuple_lock status: %u", result); - return NULL; + goto out; } } @@ -3316,6 +3364,10 @@ ExecMergeMatched(ModifyTableContext *context, ResultRelInfo *resultRelInfo, /* * Successfully executed an action or no qualifying action was found. */ +out: + if (ItemPointerIsValid(&lockedtid)) + UnlockTuple(resultRelInfo->ri_RelationDesc, &lockedtid, + InplaceUpdateTupleLock); return rslot; } @@ -3767,6 +3819,7 @@ ExecModifyTable(PlanState *pstate) HeapTupleData oldtupdata; HeapTuple oldtuple; ItemPointer tupleid; + bool tuplock; CHECK_FOR_INTERRUPTS(); @@ -4079,6 +4132,8 @@ ExecModifyTable(PlanState *pstate) break; case CMD_UPDATE: + tuplock = false; + /* Initialize projection info if first time for this table */ if (unlikely(!resultRelInfo->ri_projectNewInfoValid)) ExecInitUpdateProjection(node, resultRelInfo); @@ -4090,6 +4145,7 @@ ExecModifyTable(PlanState *pstate) oldSlot = resultRelInfo->ri_oldTupleSlot; if (oldtuple != NULL) { + Assert(!resultRelInfo->ri_needLockTagTuple); /* Use the wholerow junk attr as the old tuple. */ ExecForceStoreHeapTuple(oldtuple, oldSlot, false); } @@ -4098,6 +4154,11 @@ ExecModifyTable(PlanState *pstate) /* Fetch the most recent version of old tuple. */ Relation relation = resultRelInfo->ri_RelationDesc; + if (resultRelInfo->ri_needLockTagTuple) + { + LockTuple(relation, tupleid, InplaceUpdateTupleLock); + tuplock = true; + } if (!table_tuple_fetch_row_version(relation, tupleid, SnapshotAny, oldSlot)) @@ -4109,6 +4170,9 @@ ExecModifyTable(PlanState *pstate) /* Now apply the update. */ slot = ExecUpdate(&context, resultRelInfo, tupleid, oldtuple, slot, node->canSetTag); + if (tuplock) + UnlockTuple(resultRelInfo->ri_RelationDesc, tupleid, + InplaceUpdateTupleLock); break; case CMD_DELETE: diff --git a/src/backend/executor/spi.c b/src/backend/executor/spi.c index e516c0a67c6..cf07d47e958 100644 --- a/src/backend/executor/spi.c +++ b/src/backend/executor/spi.c @@ -334,13 +334,13 @@ _SPI_rollback(bool chain) MemoryContext oldcontext = CurrentMemoryContext; SavedTransactionCharacteristics savetc; - /* see under SPI_commit() */ + /* see comments in _SPI_commit() */ if (_SPI_current->atomic) ereport(ERROR, (errcode(ERRCODE_INVALID_TRANSACTION_TERMINATION), errmsg("invalid transaction termination"))); - /* see under SPI_commit() */ + /* see comments in _SPI_commit() */ if (IsSubTransaction()) ereport(ERROR, (errcode(ERRCODE_INVALID_TRANSACTION_TERMINATION), @@ -582,8 +582,11 @@ SPI_inside_nonatomic_context(void) { if (_SPI_current == NULL) return false; /* not in any SPI context at all */ + /* these tests must match _SPI_commit's opinion of what's atomic: */ if (_SPI_current->atomic) return false; /* it's atomic (ie function not procedure) */ + if (IsSubTransaction()) + return false; /* if within subtransaction, it's atomic */ return true; } @@ -2044,6 +2047,8 @@ SPI_result_code_string(int code) * SPI_plan_get_plan_sources --- get a SPI plan's underlying list of * CachedPlanSources. * + * CAUTION: there is no check on whether the CachedPlanSources are up-to-date. + * * This is exported so that PL/pgSQL can use it (this beats letting PL/pgSQL * look directly into the SPIPlan for itself). It's not documented in * spi.sgml because we'd just as soon not have too many places using this. @@ -2409,9 +2414,12 @@ _SPI_execute_plan(SPIPlanPtr plan, const SPIExecuteOptions *options, /* * We allow nonatomic behavior only if options->allow_nonatomic is set - * *and* the SPI_OPT_NONATOMIC flag was given when connecting. + * *and* the SPI_OPT_NONATOMIC flag was given when connecting and we are + * not inside a subtransaction. The latter two tests match whether + * _SPI_commit() would allow a commit; see there for more commentary. */ - allow_nonatomic = options->allow_nonatomic && !_SPI_current->atomic; + allow_nonatomic = options->allow_nonatomic && + !_SPI_current->atomic && !IsSubTransaction(); /* * Setup error traceback support for ereport() diff --git a/src/backend/foreign/foreign.c b/src/backend/foreign/foreign.c index f4f35728b40..bb67d9f92b8 100644 --- a/src/backend/foreign/foreign.c +++ b/src/backend/foreign/foreign.c @@ -22,6 +22,7 @@ #include "foreign/foreign.h" #include "funcapi.h" #include "miscadmin.h" +#include "tcop/tcopprot.h" #include "utils/builtins.h" #include "utils/memutils.h" #include "utils/rel.h" @@ -326,6 +327,15 @@ GetFdwRoutine(Oid fdwhandler) Datum datum; FdwRoutine *routine; + /* Check if the access to foreign tables is restricted */ + if (unlikely((restrict_nonsystem_relation_kind & RESTRICT_RELKIND_FOREIGN_TABLE) != 0)) + { + /* there must not be built-in FDW handler */ + ereport(ERROR, + (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("access to non-system foreign table is restricted"))); + } + datum = OidFunctionCall0(fdwhandler); routine = (FdwRoutine *) DatumGetPointer(datum); diff --git a/src/backend/jit/llvm/Makefile b/src/backend/jit/llvm/Makefile index 0036c4f5520..e9fd195cc22 100644 --- a/src/backend/jit/llvm/Makefile +++ b/src/backend/jit/llvm/Makefile @@ -47,7 +47,8 @@ OBJS += \ llvmjit.o \ llvmjit_error.o \ llvmjit_inline.o \ - llvmjit_wrap.o + llvmjit_wrap.o \ + SectionMemoryManager.o # Code generation OBJS += \ diff --git a/src/backend/jit/llvm/SectionMemoryManager.LICENSE b/src/backend/jit/llvm/SectionMemoryManager.LICENSE new file mode 100644 index 00000000000..fa6ac540007 --- /dev/null +++ b/src/backend/jit/llvm/SectionMemoryManager.LICENSE @@ -0,0 +1,279 @@ +============================================================================== +The LLVM Project is under the Apache License v2.0 with LLVM Exceptions: +============================================================================== + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +---- LLVM Exceptions to the Apache 2.0 License ---- + +As an exception, if, as a result of your compiling your source code, portions +of this Software are embedded into an Object form of such source code, you +may redistribute such embedded portions in such Object form without complying +with the conditions of Sections 4(a), 4(b) and 4(d) of the License. + +In addition, if you combine or link compiled forms of this Software with +software that is licensed under the GPLv2 ("Combined Software") and if a +court of competent jurisdiction determines that the patent provision (Section +3), the indemnity provision (Section 9) or other Section of the License +conflicts with the conditions of the GPLv2, you may retroactively and +prospectively choose to deem waived or otherwise exclude such Section(s) of +the License, but only in their entirety and only with respect to the Combined +Software. + +============================================================================== +Software from third parties included in the LLVM Project: +============================================================================== +The LLVM Project contains third party software which is under different license +terms. All such code will be identified clearly using at least one of two +mechanisms: +1) It will be in a separate directory tree with its own `LICENSE.txt` or + `LICENSE` file at the top containing the specific license and restrictions + which apply to that software, or +2) It will contain specific license and restriction terms at the top of every + file. + +============================================================================== +Legacy LLVM License (https://llvm.org/docs/DeveloperPolicy.html#legacy): +============================================================================== +University of Illinois/NCSA +Open Source License + +Copyright (c) 2003-2019 University of Illinois at Urbana-Champaign. +All rights reserved. + +Developed by: + + LLVM Team + + University of Illinois at Urbana-Champaign + + http://llvm.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal with +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimers. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimers in the + documentation and/or other materials provided with the distribution. + + * Neither the names of the LLVM Team, University of Illinois at + Urbana-Champaign, nor the names of its contributors may be used to + endorse or promote products derived from this Software without specific + prior written permission. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE +SOFTWARE. + diff --git a/src/backend/jit/llvm/SectionMemoryManager.cpp b/src/backend/jit/llvm/SectionMemoryManager.cpp new file mode 100644 index 00000000000..c4fbf15a961 --- /dev/null +++ b/src/backend/jit/llvm/SectionMemoryManager.cpp @@ -0,0 +1,412 @@ +/* + * This file is from https://github.com/llvm/llvm-project/pull/71968 + * with minor modifications to avoid name clash and work with older + * LLVM versions. The llvm::backport::SectionMemoryManager class is a + * drop-in replacement for llvm::SectionMemoryManager, for use with + * llvm::RuntimeDyld. It fixes a memory layout bug on large memory + * ARM systems (see pull request for details). If the LLVM project + * eventually commits the change, we may need to resynchronize our + * copy with any further modifications, but they would be unlikely to + * backport it into the LLVM versions that we target so we would still + * need this copy. + * + * In the future we will switch to using JITLink instead of + * RuntimeDyld where possible, and later remove this code (.cpp, .h, + * .LICENSE) after all LLVM versions that we target allow it. + * + * This file is a modified copy of a part of the LLVM source code that + * we would normally access from the LLVM library. It is therefore + * covered by the license at https://llvm.org/LICENSE.txt, reproduced + * verbatim in SectionMemoryManager.LICENSE in fulfillment of clause + * 4a. The bugfix changes from the pull request are also covered, per + * clause 5. + */ + +//===- SectionMemoryManager.cpp - Memory manager for MCJIT/RtDyld *- C++ -*-==// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// +// +// This file implements the section-based memory manager used by the MCJIT +// execution engine and RuntimeDyld +// +//===----------------------------------------------------------------------===// + +#include "jit/llvmjit_backport.h" + +#ifdef USE_LLVM_BACKPORT_SECTION_MEMORY_MANAGER + +#include "jit/SectionMemoryManager.h" +#include "llvm/Support/MathExtras.h" +#include "llvm/Support/Process.h" + +namespace llvm { +namespace backport { + +bool SectionMemoryManager::hasSpace(const MemoryGroup &MemGroup, + uintptr_t Size) const { + for (const FreeMemBlock &FreeMB : MemGroup.FreeMem) { + if (FreeMB.Free.allocatedSize() >= Size) + return true; + } + return false; +} + +#if LLVM_VERSION_MAJOR < 16 +void SectionMemoryManager::reserveAllocationSpace(uintptr_t CodeSize, + uint32_t CodeAlign_i, + uintptr_t RODataSize, + uint32_t RODataAlign_i, + uintptr_t RWDataSize, + uint32_t RWDataAlign_i) { + Align CodeAlign(CodeAlign_i); + Align RODataAlign(RODataAlign_i); + Align RWDataAlign(RWDataAlign_i); +#else +void SectionMemoryManager::reserveAllocationSpace( + uintptr_t CodeSize, Align CodeAlign, uintptr_t RODataSize, + Align RODataAlign, uintptr_t RWDataSize, Align RWDataAlign) { +#endif + if (CodeSize == 0 && RODataSize == 0 && RWDataSize == 0) + return; + + static const size_t PageSize = sys::Process::getPageSizeEstimate(); + + // Code alignment needs to be at least the stub alignment - however, we + // don't have an easy way to get that here so as a workaround, we assume + // it's 8, which is the largest value I observed across all platforms. + constexpr uint64_t StubAlign = 8; + CodeAlign = Align(std::max(CodeAlign.value(), StubAlign)); + RODataAlign = Align(std::max(RODataAlign.value(), StubAlign)); + RWDataAlign = Align(std::max(RWDataAlign.value(), StubAlign)); + + // Get space required for each section. Use the same calculation as + // allocateSection because we need to be able to satisfy it. + uint64_t RequiredCodeSize = alignTo(CodeSize, CodeAlign) + CodeAlign.value(); + uint64_t RequiredRODataSize = + alignTo(RODataSize, RODataAlign) + RODataAlign.value(); + uint64_t RequiredRWDataSize = + alignTo(RWDataSize, RWDataAlign) + RWDataAlign.value(); + + if (hasSpace(CodeMem, RequiredCodeSize) && + hasSpace(RODataMem, RequiredRODataSize) && + hasSpace(RWDataMem, RequiredRWDataSize)) { + // Sufficient space in contiguous block already available. + return; + } + + // MemoryManager does not have functions for releasing memory after it's + // allocated. Normally it tries to use any excess blocks that were allocated + // due to page alignment, but if we have insufficient free memory for the + // request this can lead to allocating disparate memory that can violate the + // ARM ABI. Clear free memory so only the new allocations are used, but do + // not release allocated memory as it may still be in-use. + CodeMem.FreeMem.clear(); + RODataMem.FreeMem.clear(); + RWDataMem.FreeMem.clear(); + + // Round up to the nearest page size. Blocks must be page-aligned. + RequiredCodeSize = alignTo(RequiredCodeSize, PageSize); + RequiredRODataSize = alignTo(RequiredRODataSize, PageSize); + RequiredRWDataSize = alignTo(RequiredRWDataSize, PageSize); + uint64_t RequiredSize = + RequiredCodeSize + RequiredRODataSize + RequiredRWDataSize; + + std::error_code ec; + sys::MemoryBlock MB = MMapper->allocateMappedMemory( + AllocationPurpose::RWData, RequiredSize, nullptr, + sys::Memory::MF_READ | sys::Memory::MF_WRITE, ec); + if (ec) { + return; + } + // CodeMem will arbitrarily own this MemoryBlock to handle cleanup. + CodeMem.AllocatedMem.push_back(MB); + uintptr_t Addr = (uintptr_t)MB.base(); + FreeMemBlock FreeMB; + FreeMB.PendingPrefixIndex = (unsigned)-1; + + if (CodeSize > 0) { + assert(isAddrAligned(CodeAlign, (void *)Addr)); + FreeMB.Free = sys::MemoryBlock((void *)Addr, RequiredCodeSize); + CodeMem.FreeMem.push_back(FreeMB); + Addr += RequiredCodeSize; + } + + if (RODataSize > 0) { + assert(isAddrAligned(RODataAlign, (void *)Addr)); + FreeMB.Free = sys::MemoryBlock((void *)Addr, RequiredRODataSize); + RODataMem.FreeMem.push_back(FreeMB); + Addr += RequiredRODataSize; + } + + if (RWDataSize > 0) { + assert(isAddrAligned(RWDataAlign, (void *)Addr)); + FreeMB.Free = sys::MemoryBlock((void *)Addr, RequiredRWDataSize); + RWDataMem.FreeMem.push_back(FreeMB); + } +} + +uint8_t *SectionMemoryManager::allocateDataSection(uintptr_t Size, + unsigned Alignment, + unsigned SectionID, + StringRef SectionName, + bool IsReadOnly) { + if (IsReadOnly) + return allocateSection(SectionMemoryManager::AllocationPurpose::ROData, + Size, Alignment); + return allocateSection(SectionMemoryManager::AllocationPurpose::RWData, Size, + Alignment); +} + +uint8_t *SectionMemoryManager::allocateCodeSection(uintptr_t Size, + unsigned Alignment, + unsigned SectionID, + StringRef SectionName) { + return allocateSection(SectionMemoryManager::AllocationPurpose::Code, Size, + Alignment); +} + +uint8_t *SectionMemoryManager::allocateSection( + SectionMemoryManager::AllocationPurpose Purpose, uintptr_t Size, + unsigned Alignment) { + if (!Alignment) + Alignment = 16; + + assert(!(Alignment & (Alignment - 1)) && "Alignment must be a power of two."); + + uintptr_t RequiredSize = Alignment * ((Size + Alignment - 1) / Alignment + 1); + uintptr_t Addr = 0; + + MemoryGroup &MemGroup = [&]() -> MemoryGroup & { + switch (Purpose) { + case AllocationPurpose::Code: + return CodeMem; + case AllocationPurpose::ROData: + return RODataMem; + case AllocationPurpose::RWData: + return RWDataMem; + } + llvm_unreachable("Unknown SectionMemoryManager::AllocationPurpose"); + }(); + + // Look in the list of free memory regions and use a block there if one + // is available. + for (FreeMemBlock &FreeMB : MemGroup.FreeMem) { + if (FreeMB.Free.allocatedSize() >= RequiredSize) { + Addr = (uintptr_t)FreeMB.Free.base(); + uintptr_t EndOfBlock = Addr + FreeMB.Free.allocatedSize(); + // Align the address. + Addr = (Addr + Alignment - 1) & ~(uintptr_t)(Alignment - 1); + + if (FreeMB.PendingPrefixIndex == (unsigned)-1) { + // The part of the block we're giving out to the user is now pending + MemGroup.PendingMem.push_back(sys::MemoryBlock((void *)Addr, Size)); + + // Remember this pending block, such that future allocations can just + // modify it rather than creating a new one + FreeMB.PendingPrefixIndex = MemGroup.PendingMem.size() - 1; + } else { + sys::MemoryBlock &PendingMB = + MemGroup.PendingMem[FreeMB.PendingPrefixIndex]; + PendingMB = sys::MemoryBlock(PendingMB.base(), + Addr + Size - (uintptr_t)PendingMB.base()); + } + + // Remember how much free space is now left in this block + FreeMB.Free = + sys::MemoryBlock((void *)(Addr + Size), EndOfBlock - Addr - Size); + return (uint8_t *)Addr; + } + } + + // No pre-allocated free block was large enough. Allocate a new memory region. + // Note that all sections get allocated as read-write. The permissions will + // be updated later based on memory group. + // + // FIXME: It would be useful to define a default allocation size (or add + // it as a constructor parameter) to minimize the number of allocations. + // + // FIXME: Initialize the Near member for each memory group to avoid + // interleaving. + std::error_code ec; + sys::MemoryBlock MB = MMapper->allocateMappedMemory( + Purpose, RequiredSize, &MemGroup.Near, + sys::Memory::MF_READ | sys::Memory::MF_WRITE, ec); + if (ec) { + // FIXME: Add error propagation to the interface. + return nullptr; + } + + // Save this address as the basis for our next request + MemGroup.Near = MB; + + // Copy the address to all the other groups, if they have not + // been initialized. + if (CodeMem.Near.base() == nullptr) + CodeMem.Near = MB; + if (RODataMem.Near.base() == nullptr) + RODataMem.Near = MB; + if (RWDataMem.Near.base() == nullptr) + RWDataMem.Near = MB; + + // Remember that we allocated this memory + MemGroup.AllocatedMem.push_back(MB); + Addr = (uintptr_t)MB.base(); + uintptr_t EndOfBlock = Addr + MB.allocatedSize(); + + // Align the address. + Addr = (Addr + Alignment - 1) & ~(uintptr_t)(Alignment - 1); + + // The part of the block we're giving out to the user is now pending + MemGroup.PendingMem.push_back(sys::MemoryBlock((void *)Addr, Size)); + + // The allocateMappedMemory may allocate much more memory than we need. In + // this case, we store the unused memory as a free memory block. + unsigned FreeSize = EndOfBlock - Addr - Size; + if (FreeSize > 16) { + FreeMemBlock FreeMB; + FreeMB.Free = sys::MemoryBlock((void *)(Addr + Size), FreeSize); + FreeMB.PendingPrefixIndex = (unsigned)-1; + MemGroup.FreeMem.push_back(FreeMB); + } + + // Return aligned address + return (uint8_t *)Addr; +} + +bool SectionMemoryManager::finalizeMemory(std::string *ErrMsg) { + // FIXME: Should in-progress permissions be reverted if an error occurs? + std::error_code ec; + + // Make code memory executable. + ec = applyMemoryGroupPermissions(CodeMem, + sys::Memory::MF_READ | sys::Memory::MF_EXEC); + if (ec) { + if (ErrMsg) { + *ErrMsg = ec.message(); + } + return true; + } + + // Make read-only data memory read-only. + ec = applyMemoryGroupPermissions(RODataMem, sys::Memory::MF_READ); + if (ec) { + if (ErrMsg) { + *ErrMsg = ec.message(); + } + return true; + } + + // Read-write data memory already has the correct permissions + + // Some platforms with separate data cache and instruction cache require + // explicit cache flush, otherwise JIT code manipulations (like resolved + // relocations) will get to the data cache but not to the instruction cache. + invalidateInstructionCache(); + + return false; +} + +static sys::MemoryBlock trimBlockToPageSize(sys::MemoryBlock M) { + static const size_t PageSize = sys::Process::getPageSizeEstimate(); + + size_t StartOverlap = + (PageSize - ((uintptr_t)M.base() % PageSize)) % PageSize; + + size_t TrimmedSize = M.allocatedSize(); + TrimmedSize -= StartOverlap; + TrimmedSize -= TrimmedSize % PageSize; + + sys::MemoryBlock Trimmed((void *)((uintptr_t)M.base() + StartOverlap), + TrimmedSize); + + assert(((uintptr_t)Trimmed.base() % PageSize) == 0); + assert((Trimmed.allocatedSize() % PageSize) == 0); + assert(M.base() <= Trimmed.base() && + Trimmed.allocatedSize() <= M.allocatedSize()); + + return Trimmed; +} + +std::error_code +SectionMemoryManager::applyMemoryGroupPermissions(MemoryGroup &MemGroup, + unsigned Permissions) { + for (sys::MemoryBlock &MB : MemGroup.PendingMem) + if (std::error_code EC = MMapper->protectMappedMemory(MB, Permissions)) + return EC; + + MemGroup.PendingMem.clear(); + + // Now go through free blocks and trim any of them that don't span the entire + // page because one of the pending blocks may have overlapped it. + for (FreeMemBlock &FreeMB : MemGroup.FreeMem) { + FreeMB.Free = trimBlockToPageSize(FreeMB.Free); + // We cleared the PendingMem list, so all these pointers are now invalid + FreeMB.PendingPrefixIndex = (unsigned)-1; + } + + // Remove all blocks which are now empty + erase_if(MemGroup.FreeMem, [](FreeMemBlock &FreeMB) { + return FreeMB.Free.allocatedSize() == 0; + }); + + return std::error_code(); +} + +void SectionMemoryManager::invalidateInstructionCache() { + for (sys::MemoryBlock &Block : CodeMem.PendingMem) + sys::Memory::InvalidateInstructionCache(Block.base(), + Block.allocatedSize()); +} + +SectionMemoryManager::~SectionMemoryManager() { + for (MemoryGroup *Group : {&CodeMem, &RWDataMem, &RODataMem}) { + for (sys::MemoryBlock &Block : Group->AllocatedMem) + MMapper->releaseMappedMemory(Block); + } +} + +SectionMemoryManager::MemoryMapper::~MemoryMapper() = default; + +void SectionMemoryManager::anchor() {} + +namespace { +// Trivial implementation of SectionMemoryManager::MemoryMapper that just calls +// into sys::Memory. +class DefaultMMapper final : public SectionMemoryManager::MemoryMapper { +public: + sys::MemoryBlock + allocateMappedMemory(SectionMemoryManager::AllocationPurpose Purpose, + size_t NumBytes, const sys::MemoryBlock *const NearBlock, + unsigned Flags, std::error_code &EC) override { + return sys::Memory::allocateMappedMemory(NumBytes, NearBlock, Flags, EC); + } + + std::error_code protectMappedMemory(const sys::MemoryBlock &Block, + unsigned Flags) override { + return sys::Memory::protectMappedMemory(Block, Flags); + } + + std::error_code releaseMappedMemory(sys::MemoryBlock &M) override { + return sys::Memory::releaseMappedMemory(M); + } +}; +} // namespace + +SectionMemoryManager::SectionMemoryManager(MemoryMapper *UnownedMM, + bool ReserveAlloc) + : MMapper(UnownedMM), OwnedMMapper(nullptr), + ReserveAllocation(ReserveAlloc) { + if (!MMapper) { + OwnedMMapper = std::make_unique(); + MMapper = OwnedMMapper.get(); + } +} + +} // namespace backport +} // namespace llvm + +#endif diff --git a/src/backend/jit/llvm/llvmjit.c b/src/backend/jit/llvm/llvmjit.c index abfe444c7ed..503c8bc840a 100644 --- a/src/backend/jit/llvm/llvmjit.c +++ b/src/backend/jit/llvm/llvmjit.c @@ -38,6 +38,7 @@ #endif #include "jit/llvmjit.h" +#include "jit/llvmjit_backport.h" #include "jit/llvmjit_emit.h" #include "miscadmin.h" #include "portability/instr_time.h" @@ -1273,8 +1274,14 @@ llvm_log_jit_error(void *ctx, LLVMErrorRef error) static LLVMOrcObjectLayerRef llvm_create_object_layer(void *Ctx, LLVMOrcExecutionSessionRef ES, const char *Triple) { +#ifdef USE_LLVM_BACKPORT_SECTION_MEMORY_MANAGER + LLVMOrcObjectLayerRef objlayer = + LLVMOrcCreateRTDyldObjectLinkingLayerWithSafeSectionMemoryManager(ES); +#else LLVMOrcObjectLayerRef objlayer = LLVMOrcCreateRTDyldObjectLinkingLayerWithSectionMemoryManager(ES); +#endif + #if defined(HAVE_DECL_LLVMCREATEGDBREGISTRATIONLISTENER) && HAVE_DECL_LLVMCREATEGDBREGISTRATIONLISTENER if (jit_debugging_support) diff --git a/src/backend/jit/llvm/llvmjit_wrap.cpp b/src/backend/jit/llvm/llvmjit_wrap.cpp index 641c8841ca3..1d061cfaa84 100644 --- a/src/backend/jit/llvm/llvmjit_wrap.cpp +++ b/src/backend/jit/llvm/llvmjit_wrap.cpp @@ -24,6 +24,14 @@ extern "C" #include #include "jit/llvmjit.h" +#include "jit/llvmjit_backport.h" + +#ifdef USE_LLVM_BACKPORT_SECTION_MEMORY_MANAGER +#include +#include +#include "jit/SectionMemoryManager.h" +#include +#endif /* @@ -41,3 +49,15 @@ LLVMGetFunctionType(LLVMValueRef r) { return llvm::wrap(llvm::unwrap(r)->getFunctionType()); } + +#ifdef USE_LLVM_BACKPORT_SECTION_MEMORY_MANAGER +DEFINE_SIMPLE_CONVERSION_FUNCTIONS(llvm::orc::ExecutionSession, LLVMOrcExecutionSessionRef) +DEFINE_SIMPLE_CONVERSION_FUNCTIONS(llvm::orc::ObjectLayer, LLVMOrcObjectLayerRef); + +LLVMOrcObjectLayerRef +LLVMOrcCreateRTDyldObjectLinkingLayerWithSafeSectionMemoryManager(LLVMOrcExecutionSessionRef ES) +{ + return wrap(new llvm::orc::RTDyldObjectLinkingLayer( + *unwrap(ES), [] { return std::make_unique(nullptr, true); })); +} +#endif diff --git a/src/backend/jit/llvm/meson.build b/src/backend/jit/llvm/meson.build index 4a4232661ba..b76e2e70547 100644 --- a/src/backend/jit/llvm/meson.build +++ b/src/backend/jit/llvm/meson.build @@ -14,6 +14,7 @@ llvmjit_sources += files( 'llvmjit_error.cpp', 'llvmjit_inline.cpp', 'llvmjit_wrap.cpp', + 'SectionMemoryManager.cpp', ) # Code generation diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c index ace0da9d04e..486a66b0bf1 100644 --- a/src/backend/libpq/be-secure-openssl.c +++ b/src/backend/libpq/be-secure-openssl.c @@ -269,9 +269,8 @@ be_tls_init(bool isServerStart) */ #ifdef HAVE_SSL_CTX_SET_NUM_TICKETS SSL_CTX_set_num_tickets(context, 0); -#else - SSL_CTX_set_options(context, SSL_OP_NO_TICKET); #endif + SSL_CTX_set_options(context, SSL_OP_NO_TICKET); /* disallow SSL session caching, too */ SSL_CTX_set_session_cache_mode(context, SSL_SESS_CACHE_OFF); diff --git a/src/backend/main/main.c b/src/backend/main/main.c index 4672aab8378..3dfbe3232d2 100644 --- a/src/backend/main/main.c +++ b/src/backend/main/main.c @@ -32,6 +32,7 @@ #include "bootstrap/bootstrap.h" #include "common/username.h" +#include "miscadmin.h" #include "port/atomics.h" #include "postmaster/postmaster.h" #include "tcop/tcopprot.h" @@ -50,6 +51,41 @@ static void init_locale(const char *categoryname, int category, const char *loca static void help(const char *progname); static void check_root(const char *progname); +typedef int (*MainFunc) (int argc, char *argv[]); + +static int +CallExtMain(char *library_name, char *main_func_name, int argc, char *argv[], bool load_config) +{ + MainFunc main_func; + + /* + * Perform just enough initialization that we can load external libraries + */ + InitStandaloneProcess(argv[0]); + + SetProcessingMode(InitProcessing); + + /* + * Set default values for command-line options. + */ + InitializeGUCOptions(); + + /* Acquire configuration parameters */ + if (load_config && !SelectConfigFiles(NULL, progname)) + exit(1); + + /* + * Imitate we are early in bootstrap loading shared_preload_libraries; + * neon extension sets PGC_POSTMASTER gucs requiring this. + */ + process_shared_preload_libraries_in_progress = true; + + main_func = load_external_function(library_name, main_func_name, true, NULL); + + process_shared_preload_libraries_in_progress = false; + + return main_func(argc, argv); +} /* * Any Postgres server process begins execution here. @@ -193,6 +229,10 @@ main(int argc, char *argv[]) else if (argc > 1 && strcmp(argv[1], "--single") == 0) PostgresSingleUserMain(argc, argv, strdup(get_user_name_or_exit(progname))); + else if (argc > 1 && strcmp(argv[1], "--wal-redo") == 0) + CallExtMain("neon_walredo", "WalRedoMain", argc, argv, false); + else if (argc > 1 && strcmp(argv[1], "--sync-safekeepers") == 0) + CallExtMain("neon", "WalProposerSync", argc, argv, true); else PostmasterMain(argc, argv); /* the functions above should not return */ diff --git a/src/backend/optimizer/path/costsize.c b/src/backend/optimizer/path/costsize.c index ee23ed7835d..2028ce5b31f 100644 --- a/src/backend/optimizer/path/costsize.c +++ b/src/backend/optimizer/path/costsize.c @@ -152,6 +152,9 @@ bool enable_parallel_hash = true; bool enable_partition_pruning = true; bool enable_presorted_aggregate = true; bool enable_async_append = true; +bool enable_seqscan_prefetch = true; +bool enable_indexscan_prefetch = true; +bool enable_indexonlyscan_prefetch = true; typedef struct { @@ -4635,6 +4638,9 @@ cost_rescan(PlannerInfo *root, Path *path, * preferred since it allows caching of the results.) * The result includes both a one-time (startup) component, * and a per-evaluation component. + * + * Note: in some code paths root can be passed as NULL, resulting in + * slightly worse estimates. */ void cost_qual_eval(QualCost *cost, List *quals, PlannerInfo *root) diff --git a/src/backend/optimizer/path/equivclass.c b/src/backend/optimizer/path/equivclass.c index 51d806326eb..503eb0f3c94 100644 --- a/src/backend/optimizer/path/equivclass.c +++ b/src/backend/optimizer/path/equivclass.c @@ -38,7 +38,6 @@ static EquivalenceMember *add_eq_member(EquivalenceClass *ec, JoinDomain *jdomain, EquivalenceMember *parent, Oid datatype); -static bool is_exprlist_member(Expr *node, List *exprs); static void generate_base_implied_equalities_const(PlannerInfo *root, EquivalenceClass *ec); static void generate_base_implied_equalities_no_const(PlannerInfo *root, @@ -806,9 +805,18 @@ find_ec_member_matching_expr(EquivalenceClass *ec, * expressions appearing in "exprs"; return NULL if no match. * * "exprs" can be either a list of bare expression trees, or a list of - * TargetEntry nodes. Either way, it should contain Vars and possibly - * Aggrefs and WindowFuncs, which are matched to the corresponding elements - * of the EquivalenceClass's expressions. + * TargetEntry nodes. Typically it will contain Vars and possibly Aggrefs + * and WindowFuncs; however, when considering an appendrel member the list + * could contain arbitrary expressions. We consider an EC member to be + * computable if all the Vars, PlaceHolderVars, Aggrefs, and WindowFuncs + * it needs are present in "exprs". + * + * There is some subtlety in that definition: for example, if an EC member is + * Var_A + 1 while what is in "exprs" is Var_A + 2, it's still computable. + * This works because in the final plan tree, the EC member's expression will + * be computed as part of the same plan node targetlist that is currently + * represented by "exprs". So if we have Var_A available for the existing + * tlist member, it must be OK to use it in the EC expression too. * * Unlike find_ec_member_matching_expr, there's no special provision here * for binary-compatible relabeling. This is intentional: if we have to @@ -828,12 +836,24 @@ find_computable_ec_member(PlannerInfo *root, Relids relids, bool require_parallel_safe) { + List *exprvars; ListCell *lc; + /* + * Pull out the Vars and quasi-Vars present in "exprs". In the typical + * non-appendrel case, this is just another representation of the same + * list. However, it does remove the distinction between the case of a + * list of plain expressions and a list of TargetEntrys. + */ + exprvars = pull_var_clause((Node *) exprs, + PVC_INCLUDE_AGGREGATES | + PVC_INCLUDE_WINDOWFUNCS | + PVC_INCLUDE_PLACEHOLDERS); + foreach(lc, ec->ec_members) { EquivalenceMember *em = (EquivalenceMember *) lfirst(lc); - List *exprvars; + List *emvars; ListCell *lc2; /* @@ -851,18 +871,18 @@ find_computable_ec_member(PlannerInfo *root, continue; /* - * Match if all Vars and quasi-Vars are available in "exprs". + * Match if all Vars and quasi-Vars are present in "exprs". */ - exprvars = pull_var_clause((Node *) em->em_expr, - PVC_INCLUDE_AGGREGATES | - PVC_INCLUDE_WINDOWFUNCS | - PVC_INCLUDE_PLACEHOLDERS); - foreach(lc2, exprvars) + emvars = pull_var_clause((Node *) em->em_expr, + PVC_INCLUDE_AGGREGATES | + PVC_INCLUDE_WINDOWFUNCS | + PVC_INCLUDE_PLACEHOLDERS); + foreach(lc2, emvars) { - if (!is_exprlist_member(lfirst(lc2), exprs)) + if (!list_member(exprvars, lfirst(lc2))) break; } - list_free(exprvars); + list_free(emvars); if (lc2) continue; /* we hit a non-available Var */ @@ -880,31 +900,6 @@ find_computable_ec_member(PlannerInfo *root, return NULL; } -/* - * is_exprlist_member - * Subroutine for find_computable_ec_member: is "node" in "exprs"? - * - * Per the requirements of that function, "exprs" might or might not have - * TargetEntry superstructure. - */ -static bool -is_exprlist_member(Expr *node, List *exprs) -{ - ListCell *lc; - - foreach(lc, exprs) - { - Expr *expr = (Expr *) lfirst(lc); - - if (expr && IsA(expr, TargetEntry)) - expr = ((TargetEntry *) expr)->expr; - - if (equal(node, expr)) - return true; - } - return false; -} - /* * relation_can_be_sorted_early * Can this relation be sorted on this EC before the final output step? diff --git a/src/backend/optimizer/plan/createplan.c b/src/backend/optimizer/plan/createplan.c index 6b64c4a362d..c0af10ebd34 100644 --- a/src/backend/optimizer/plan/createplan.c +++ b/src/backend/optimizer/plan/createplan.c @@ -41,6 +41,7 @@ #include "parser/parse_clause.h" #include "parser/parsetree.h" #include "partitioning/partprune.h" +#include "tcop/tcopprot.h" #include "utils/lsyscache.h" @@ -2026,7 +2027,7 @@ create_projection_plan(PlannerInfo *root, ProjectionPath *best_path, int flags) * Convert our subpath to a Plan and determine whether we need a Result * node. * - * In most cases where we don't need to project, creation_projection_path + * In most cases where we don't need to project, create_projection_path * will have set dummypp, but not always. First, some createplan.c * routines change the tlists of their nodes. (An example is that * create_merge_append_plan might add resjunk sort columns to a @@ -7141,7 +7142,19 @@ make_modifytable(PlannerInfo *root, Plan *subplan, if (rte->rtekind == RTE_RELATION && rte->relkind == RELKIND_FOREIGN_TABLE) + { + /* Check if the access to foreign tables is restricted */ + if (unlikely((restrict_nonsystem_relation_kind & RESTRICT_RELKIND_FOREIGN_TABLE) != 0)) + { + /* there must not be built-in foreign tables */ + Assert(rte->relid >= FirstNormalObjectId); + ereport(ERROR, + (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("access to non-system foreign table is restricted"))); + } + fdwroutine = GetFdwRoutineByRelId(rte->relid); + } else fdwroutine = NULL; } diff --git a/src/backend/optimizer/plan/initsplan.c b/src/backend/optimizer/plan/initsplan.c index e2c68fe6f99..cd0ce25bd86 100644 --- a/src/backend/optimizer/plan/initsplan.c +++ b/src/backend/optimizer/plan/initsplan.c @@ -2657,11 +2657,18 @@ add_base_clause_to_rel(PlannerInfo *root, Index relid, /* * Substitute the origin qual with constant-FALSE if it is provably - * always false. Note that we keep the same rinfo_serial. + * always false. + * + * Note that we need to keep the same rinfo_serial, since it is in + * practice the same condition. We also need to reset the + * last_rinfo_serial counter, which is essential to ensure that the + * RestrictInfos for the "same" qual condition get identical serial + * numbers (see deconstruct_distribute_oj_quals). */ if (restriction_is_always_false(root, restrictinfo)) { int save_rinfo_serial = restrictinfo->rinfo_serial; + int save_last_rinfo_serial = root->last_rinfo_serial; restrictinfo = make_restrictinfo(root, (Expr *) makeBoolConst(false, false), @@ -2674,6 +2681,7 @@ add_base_clause_to_rel(PlannerInfo *root, Index relid, restrictinfo->incompatible_relids, restrictinfo->outer_relids); restrictinfo->rinfo_serial = save_rinfo_serial; + root->last_rinfo_serial = save_last_rinfo_serial; } } diff --git a/src/backend/optimizer/plan/planner.c b/src/backend/optimizer/plan/planner.c index 4711f912390..f2c05f31f68 100644 --- a/src/backend/optimizer/plan/planner.c +++ b/src/backend/optimizer/plan/planner.c @@ -4017,9 +4017,10 @@ create_ordinary_grouping_paths(PlannerInfo *root, RelOptInfo *input_rel, * If this is the topmost relation or if the parent relation is doing * full partitionwise aggregation, then we can do full partitionwise * aggregation provided that the GROUP BY clause contains all of the - * partitioning columns at this level. Otherwise, we can do at most - * partial partitionwise aggregation. But if partial aggregation is - * not supported in general then we can't use it for partitionwise + * partitioning columns at this level and the collation used by GROUP + * BY matches the partitioning collation. Otherwise, we can do at + * most partial partitionwise aggregation. But if partial aggregation + * is not supported in general then we can't use it for partitionwise * aggregation either. * * Check parse->groupClause not processed_groupClause, because it's @@ -7999,8 +8000,8 @@ create_partitionwise_grouping_paths(PlannerInfo *root, /* * group_by_has_partkey * - * Returns true, if all the partition keys of the given relation are part of - * the GROUP BY clauses, false otherwise. + * Returns true if all the partition keys of the given relation are part of + * the GROUP BY clauses, including having matching collation, false otherwise. */ static bool group_by_has_partkey(RelOptInfo *input_rel, @@ -8028,13 +8029,40 @@ group_by_has_partkey(RelOptInfo *input_rel, foreach(lc, partexprs) { + ListCell *lg; Expr *partexpr = lfirst(lc); + Oid partcoll = input_rel->part_scheme->partcollation[cnt]; - if (list_member(groupexprs, partexpr)) + foreach(lg, groupexprs) { - found = true; - break; + Expr *groupexpr = lfirst(lg); + Oid groupcoll = exprCollation((Node *) groupexpr); + + /* + * Note: we can assume there is at most one RelabelType node; + * eval_const_expressions() will have simplified if more than + * one. + */ + if (IsA(groupexpr, RelabelType)) + groupexpr = ((RelabelType *) groupexpr)->arg; + + if (equal(groupexpr, partexpr)) + { + /* + * Reject a match if the grouping collation does not match + * the partitioning collation. + */ + if (OidIsValid(partcoll) && OidIsValid(groupcoll) && + partcoll != groupcoll) + return false; + + found = true; + break; + } } + + if (found) + break; } /* diff --git a/src/backend/optimizer/prep/prepjointree.c b/src/backend/optimizer/prep/prepjointree.c index 5482ab85a76..ef0115a773e 100644 --- a/src/backend/optimizer/prep/prepjointree.c +++ b/src/backend/optimizer/prep/prepjointree.c @@ -158,6 +158,9 @@ transform_MERGE_to_join(Query *parse) int joinrti; List *vars; RangeTblRef *rtr; + FromExpr *target; + Node *source; + int sourcerti; if (parse->commandType != CMD_MERGE) return; @@ -226,13 +229,36 @@ transform_MERGE_to_join(Query *parse) * parse->jointree->quals are restrictions on the target relation (if the * target relation is an auto-updatable view). */ + /* target rel, with any quals */ rtr = makeNode(RangeTblRef); rtr->rtindex = parse->mergeTargetRelation; + target = makeFromExpr(list_make1(rtr), parse->jointree->quals); + + /* source rel (expect exactly one -- see transformMergeStmt()) */ + Assert(list_length(parse->jointree->fromlist) == 1); + source = linitial(parse->jointree->fromlist); + + /* + * index of source rel (expect either a RangeTblRef or a JoinExpr -- see + * transformFromClauseItem()). + */ + if (IsA(source, RangeTblRef)) + sourcerti = ((RangeTblRef *) source)->rtindex; + else if (IsA(source, JoinExpr)) + sourcerti = ((JoinExpr *) source)->rtindex; + else + { + elog(ERROR, "unrecognized source node type: %d", + (int) nodeTag(source)); + sourcerti = 0; /* keep compiler quiet */ + } + + /* Join the source and target */ joinexpr = makeNode(JoinExpr); joinexpr->jointype = jointype; joinexpr->isNatural = false; - joinexpr->larg = (Node *) makeFromExpr(list_make1(rtr), parse->jointree->quals); - joinexpr->rarg = linitial(parse->jointree->fromlist); /* source rel */ + joinexpr->larg = (Node *) target; + joinexpr->rarg = source; joinexpr->usingClause = NIL; joinexpr->join_using_alias = NULL; joinexpr->quals = parse->mergeJoinCondition; @@ -256,14 +282,83 @@ transform_MERGE_to_join(Query *parse) bms_make_singleton(parse->mergeTargetRelation), bms_make_singleton(joinrti)); + /* + * If the source relation is on the outer side of the join, mark any + * source relation Vars in the join condition, actions, and RETURNING list + * as nullable by the join. These Vars will be added to the targetlist by + * preprocess_targetlist(), so it's important to mark them correctly here. + * + * It might seem that this is not necessary for Vars in the join + * condition, since it is inside the join, but it is also needed above the + * join (in the ModifyTable node) to distinguish between the MATCHED and + * NOT MATCHED BY SOURCE cases -- see ExecMergeMatched(). Note that this + * creates a modified copy of the join condition, for use above the join, + * without modifying the the original join condition, inside the join. + */ + if (jointype == JOIN_LEFT || jointype == JOIN_FULL) + { + parse->mergeJoinCondition = + add_nulling_relids(parse->mergeJoinCondition, + bms_make_singleton(sourcerti), + bms_make_singleton(joinrti)); + + foreach_node(MergeAction, action, parse->mergeActionList) + { + action->qual = + add_nulling_relids(action->qual, + bms_make_singleton(sourcerti), + bms_make_singleton(joinrti)); + + action->targetList = (List *) + add_nulling_relids((Node *) action->targetList, + bms_make_singleton(sourcerti), + bms_make_singleton(joinrti)); + } + + parse->returningList = (List *) + add_nulling_relids((Node *) parse->returningList, + bms_make_singleton(sourcerti), + bms_make_singleton(joinrti)); + } + /* * If there are any WHEN NOT MATCHED BY SOURCE actions, the executor will * use the join condition to distinguish between MATCHED and NOT MATCHED * BY SOURCE cases. Otherwise, it's no longer needed, and we set it to * NULL, saving cycles during planning and execution. + * + * We need to be careful though: the executor evaluates this condition + * using the output of the join subplan node, which nulls the output from + * the source relation when the join condition doesn't match. That risks + * producing incorrect results when rechecking using a "non-strict" join + * condition, such as "src.col IS NOT DISTINCT FROM tgt.col". To guard + * against that, we add an additional "src IS NOT NULL" check to the join + * condition, so that it does the right thing when performing a recheck + * based on the output of the join subplan. */ - if (!have_action[MERGE_WHEN_NOT_MATCHED_BY_SOURCE]) - parse->mergeJoinCondition = NULL; + if (have_action[MERGE_WHEN_NOT_MATCHED_BY_SOURCE]) + { + Var *var; + NullTest *ntest; + + /* source wholerow Var (nullable by the new join) */ + var = makeWholeRowVar(rt_fetch(sourcerti, parse->rtable), + sourcerti, 0, false); + var->varnullingrels = bms_make_singleton(joinrti); + + /* "src IS NOT NULL" check */ + ntest = makeNode(NullTest); + ntest->arg = (Expr *) var; + ntest->nulltesttype = IS_NOT_NULL; + ntest->argisrow = false; + ntest->location = -1; + + /* combine it with the original join condition */ + parse->mergeJoinCondition = + (Node *) make_and_qual((Node *) ntest, parse->mergeJoinCondition); + } + else + parse->mergeJoinCondition = NULL; /* join condition not needed */ } /* @@ -2490,14 +2585,48 @@ pullup_replace_vars_callback(Var *var, else wrap = false; } + else if (rcon->wrap_non_vars) + { + /* Caller told us to wrap all non-Vars in a PlaceHolderVar */ + wrap = true; + } else { /* - * Must wrap, either because we need a place to insert - * varnullingrels or because caller told us to wrap - * everything. + * If the node contains Var(s) or PlaceHolderVar(s) of the + * subquery being pulled up, and does not contain any + * non-strict constructs, then instead of adding a PHV on top + * we can add the required nullingrels to those Vars/PHVs. + * (This is fundamentally a generalization of the above cases + * for bare Vars and PHVs.) + * + * This test is somewhat expensive, but it avoids pessimizing + * the plan in cases where the nullingrels get removed again + * later by outer join reduction. + * + * This analysis could be tighter: in particular, a non-strict + * construct hidden within a lower-level PlaceHolderVar is not + * reason to add another PHV. But for now it doesn't seem + * worth the code to be more exact. + * + * For a LATERAL subquery, we have to check the actual var + * membership of the node, but if it's non-lateral then any + * level-zero var must belong to the subquery. */ - wrap = true; + if ((rcon->target_rte->lateral ? + bms_overlap(pull_varnos(rcon->root, newnode), + rcon->relids) : + contain_vars_of_level(newnode, 0)) && + !contain_nonstrict_functions(newnode)) + { + /* No wrap needed */ + wrap = false; + } + else + { + /* Else wrap it in a PlaceHolderVar */ + wrap = true; + } } if (wrap) @@ -2518,18 +2647,14 @@ pullup_replace_vars_callback(Var *var, } } - /* Must adjust varlevelsup if replaced Var is within a subquery */ - if (var->varlevelsup > 0) - IncrementVarSublevelsUp(newnode, var->varlevelsup, 0); - - /* Propagate any varnullingrels into the replacement Var or PHV */ + /* Propagate any varnullingrels into the replacement expression */ if (var->varnullingrels != NULL) { if (IsA(newnode, Var)) { Var *newvar = (Var *) newnode; - Assert(newvar->varlevelsup == var->varlevelsup); + Assert(newvar->varlevelsup == 0); newvar->varnullingrels = bms_add_members(newvar->varnullingrels, var->varnullingrels); } @@ -2537,14 +2662,26 @@ pullup_replace_vars_callback(Var *var, { PlaceHolderVar *newphv = (PlaceHolderVar *) newnode; - Assert(newphv->phlevelsup == var->varlevelsup); + Assert(newphv->phlevelsup == 0); newphv->phnullingrels = bms_add_members(newphv->phnullingrels, var->varnullingrels); } else - elog(ERROR, "failed to wrap a non-Var"); + { + /* There should be lower-level Vars/PHVs we can modify */ + newnode = add_nulling_relids(newnode, + NULL, /* modify all Vars/PHVs */ + var->varnullingrels); + /* Assert we did put the varnullingrels into the expression */ + Assert(bms_is_subset(var->varnullingrels, + pull_varnos(rcon->root, newnode))); + } } + /* Must adjust varlevelsup if replaced Var is within a subquery */ + if (var->varlevelsup > 0) + IncrementVarSublevelsUp(newnode, var->varlevelsup, 0); + return newnode; } diff --git a/src/backend/optimizer/util/clauses.c b/src/backend/optimizer/util/clauses.c index b4e085e9d4b..8e39795e245 100644 --- a/src/backend/optimizer/util/clauses.c +++ b/src/backend/optimizer/util/clauses.c @@ -2915,13 +2915,25 @@ eval_const_expressions_mutator(Node *node, case T_JsonValueExpr: { JsonValueExpr *jve = (JsonValueExpr *) node; - Node *formatted; + Node *raw_expr = (Node *) jve->raw_expr; + Node *formatted_expr = (Node *) jve->formatted_expr; - formatted = eval_const_expressions_mutator((Node *) jve->formatted_expr, - context); - if (formatted && IsA(formatted, Const)) - return formatted; - break; + /* + * If we can fold formatted_expr to a constant, we can elide + * the JsonValueExpr altogether. Otherwise we must process + * raw_expr too. But JsonFormat is a flat node and requires + * no simplification, only copying. + */ + formatted_expr = eval_const_expressions_mutator(formatted_expr, + context); + if (formatted_expr && IsA(formatted_expr, Const)) + return formatted_expr; + + raw_expr = eval_const_expressions_mutator(raw_expr, context); + + return (Node *) makeJsonValueExpr((Expr *) raw_expr, + (Expr *) formatted_expr, + copyObject(jve->format)); } case T_SubPlan: diff --git a/src/backend/optimizer/util/inherit.c b/src/backend/optimizer/util/inherit.c index 4797312ae53..c5b906a9d43 100644 --- a/src/backend/optimizer/util/inherit.c +++ b/src/backend/optimizer/util/inherit.c @@ -386,8 +386,17 @@ expand_partitioned_rtentry(PlannerInfo *root, RelOptInfo *relinfo, Index childRTindex; RelOptInfo *childrelinfo; - /* Open rel, acquiring required locks */ - childrel = table_open(childOID, lockmode); + /* + * Open rel, acquiring required locks. If a partition was recently + * detached and subsequently dropped, then opening it will fail. In + * this case, behave as though the partition had been pruned. + */ + childrel = try_table_open(childOID, lockmode); + if (childrel == NULL) + { + relinfo->live_parts = bms_del_member(relinfo->live_parts, i); + continue; + } /* * Temporary partitions belonging to other sessions should have been diff --git a/src/backend/optimizer/util/joininfo.c b/src/backend/optimizer/util/joininfo.c index 5fb0c17630a..65993bd6599 100644 --- a/src/backend/optimizer/util/joininfo.c +++ b/src/backend/optimizer/util/joininfo.c @@ -106,12 +106,19 @@ add_join_clause_to_rels(PlannerInfo *root, return; /* - * Substitute constant-FALSE for the origin qual if it is always false. - * Note that we keep the same rinfo_serial. + * Substitute the origin qual with constant-FALSE if it is provably always + * false. + * + * Note that we need to keep the same rinfo_serial, since it is in + * practice the same condition. We also need to reset the + * last_rinfo_serial counter, which is essential to ensure that the + * RestrictInfos for the "same" qual condition get identical serial + * numbers (see deconstruct_distribute_oj_quals). */ if (restriction_is_always_false(root, restrictinfo)) { int save_rinfo_serial = restrictinfo->rinfo_serial; + int save_last_rinfo_serial = root->last_rinfo_serial; restrictinfo = make_restrictinfo(root, (Expr *) makeBoolConst(false, false), @@ -124,6 +131,7 @@ add_join_clause_to_rels(PlannerInfo *root, restrictinfo->incompatible_relids, restrictinfo->outer_relids); restrictinfo->rinfo_serial = save_rinfo_serial; + root->last_rinfo_serial = save_last_rinfo_serial; } cur_relid = -1; diff --git a/src/backend/optimizer/util/plancat.c b/src/backend/optimizer/util/plancat.c index 775955363ef..86655f05dc8 100644 --- a/src/backend/optimizer/util/plancat.c +++ b/src/backend/optimizer/util/plancat.c @@ -45,6 +45,7 @@ #include "rewrite/rewriteManip.h" #include "statistics/statistics.h" #include "storage/bufmgr.h" +#include "tcop/tcopprot.h" #include "utils/builtins.h" #include "utils/lsyscache.h" #include "utils/partcache.h" @@ -528,6 +529,17 @@ get_relation_info(PlannerInfo *root, Oid relationObjectId, bool inhparent, /* Grab foreign-table info using the relcache, while we have it */ if (relation->rd_rel->relkind == RELKIND_FOREIGN_TABLE) { + /* Check if the access to foreign tables is restricted */ + if (unlikely((restrict_nonsystem_relation_kind & RESTRICT_RELKIND_FOREIGN_TABLE) != 0)) + { + /* there must not be built-in foreign tables */ + Assert(RelationGetRelid(relation) >= FirstNormalObjectId); + + ereport(ERROR, + (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("access to non-system foreign table is restricted"))); + } + rel->serverid = GetForeignServerIdByRelId(RelationGetRelid(relation)); rel->fdwroutine = GetFdwRoutineForRelation(relation, true); } diff --git a/src/backend/optimizer/util/relnode.c b/src/backend/optimizer/util/relnode.c index e05b21c884e..610093fe915 100644 --- a/src/backend/optimizer/util/relnode.c +++ b/src/backend/optimizer/util/relnode.c @@ -2188,6 +2188,10 @@ have_partkey_equi_join(PlannerInfo *root, RelOptInfo *joinrel, if (ipk1 != ipk2) continue; + /* Reject if the partition key collation differs from the clause's. */ + if (rel1->part_scheme->partcollation[ipk1] != opexpr->inputcollid) + return false; + /* * The clause allows partitionwise join only if it uses the same * operator family as that specified by the partition key. diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y index a043fd4c669..bca627c5463 100644 --- a/src/backend/parser/gram.y +++ b/src/backend/parser/gram.y @@ -269,7 +269,6 @@ static Node *makeRecursiveViewSelect(char *relname, List *aliases, Node *query); PartitionElem *partelem; PartitionSpec *partspec; PartitionBoundSpec *partboundspec; - SinglePartitionSpec *singlepartspec; RoleSpec *rolespec; PublicationObjSpec *publicationobjectspec; struct SelectLimit *selectlimit; @@ -646,8 +645,6 @@ static Node *makeRecursiveViewSelect(char *relname, List *aliases, Node *query); %type part_elem %type part_params %type PartitionBoundSpec -%type SinglePartitionSpec -%type partitions_list %type hash_partbound %type hash_partbound_elem @@ -763,7 +760,7 @@ static Node *makeRecursiveViewSelect(char *relname, List *aliases, Node *query); ORDER ORDINALITY OTHERS OUT_P OUTER_P OVER OVERLAPS OVERLAY OVERRIDING OWNED OWNER - PARALLEL PARAMETER PARSER PARTIAL PARTITION PARTITIONS PASSING PASSWORD PATH + PARALLEL PARAMETER PARSER PARTIAL PARTITION PASSING PASSWORD PATH PLACING PLAN PLANS POLICY POSITION PRECEDING PRECISION PRESERVE PREPARE PREPARED PRIMARY PRIOR PRIVILEGES PROCEDURAL PROCEDURE PROCEDURES PROGRAM PUBLICATION @@ -778,7 +775,7 @@ static Node *makeRecursiveViewSelect(char *relname, List *aliases, Node *query); SAVEPOINT SCALAR SCHEMA SCHEMAS SCROLL SEARCH SECOND_P SECURITY SELECT SEQUENCE SEQUENCES SERIALIZABLE SERVER SESSION SESSION_USER SET SETS SETOF SHARE SHOW - SIMILAR SIMPLE SKIP SMALLINT SNAPSHOT SOME SPLIT SOURCE SQL_P STABLE STANDALONE_P + SIMILAR SIMPLE SKIP SMALLINT SNAPSHOT SOME SOURCE SQL_P STABLE STANDALONE_P START STATEMENT STATISTICS STDIN STDOUT STORAGE STORED STRICT_P STRING_P STRIP_P SUBSCRIPTION SUBSTRING SUPPORT SYMMETRIC SYSID SYSTEM_P SYSTEM_USER @@ -2311,23 +2308,6 @@ alter_table_cmds: | alter_table_cmds ',' alter_table_cmd { $$ = lappend($1, $3); } ; -partitions_list: - SinglePartitionSpec { $$ = list_make1($1); } - | partitions_list ',' SinglePartitionSpec { $$ = lappend($1, $3); } - ; - -SinglePartitionSpec: - PARTITION qualified_name PartitionBoundSpec - { - SinglePartitionSpec *n = makeNode(SinglePartitionSpec); - - n->name = $2; - n->bound = $3; - - $$ = n; - } - ; - partition_cmd: /* ALTER TABLE ATTACH PARTITION FOR VALUES */ ATTACH PARTITION qualified_name PartitionBoundSpec @@ -2338,7 +2318,6 @@ partition_cmd: n->subtype = AT_AttachPartition; cmd->name = $3; cmd->bound = $4; - cmd->partlist = NULL; cmd->concurrent = false; n->def = (Node *) cmd; @@ -2353,7 +2332,6 @@ partition_cmd: n->subtype = AT_DetachPartition; cmd->name = $3; cmd->bound = NULL; - cmd->partlist = NULL; cmd->concurrent = $4; n->def = (Node *) cmd; @@ -2367,35 +2345,6 @@ partition_cmd: n->subtype = AT_DetachPartitionFinalize; cmd->name = $3; cmd->bound = NULL; - cmd->partlist = NULL; - cmd->concurrent = false; - n->def = (Node *) cmd; - $$ = (Node *) n; - } - /* ALTER TABLE SPLIT PARTITION INTO () */ - | SPLIT PARTITION qualified_name INTO '(' partitions_list ')' - { - AlterTableCmd *n = makeNode(AlterTableCmd); - PartitionCmd *cmd = makeNode(PartitionCmd); - - n->subtype = AT_SplitPartition; - cmd->name = $3; - cmd->bound = NULL; - cmd->partlist = $6; - cmd->concurrent = false; - n->def = (Node *) cmd; - $$ = (Node *) n; - } - /* ALTER TABLE MERGE PARTITIONS () INTO */ - | MERGE PARTITIONS '(' qualified_name_list ')' INTO qualified_name - { - AlterTableCmd *n = makeNode(AlterTableCmd); - PartitionCmd *cmd = makeNode(PartitionCmd); - - n->subtype = AT_MergePartitions; - cmd->name = $7; - cmd->bound = NULL; - cmd->partlist = $4; cmd->concurrent = false; n->def = (Node *) cmd; $$ = (Node *) n; @@ -2412,7 +2361,6 @@ index_partition_cmd: n->subtype = AT_AttachPartition; cmd->name = $3; cmd->bound = NULL; - cmd->partlist = NULL; cmd->concurrent = false; n->def = (Node *) cmd; @@ -4960,6 +4908,10 @@ SeqOptElem: AS SimpleTypename { $$ = makeDefElem("increment", (Node *) $3, @1); } + | LOGGED + { + $$ = makeDefElem("logged", NULL, @1); + } | MAXVALUE NumericOnly { $$ = makeDefElem("maxvalue", (Node *) $2, @1); @@ -4982,7 +4934,6 @@ SeqOptElem: AS SimpleTypename } | SEQUENCE NAME_P any_name { - /* not documented, only used by pg_dump */ $$ = makeDefElem("sequence_name", (Node *) $3, @1); } | START opt_with NumericOnly @@ -4997,6 +4948,10 @@ SeqOptElem: AS SimpleTypename { $$ = makeDefElem("restart", (Node *) $3, @1); } + | UNLOGGED + { + $$ = makeDefElem("unlogged", NULL, @1); + } ; opt_by: BY @@ -17761,7 +17716,6 @@ unreserved_keyword: | PARSER | PARTIAL | PARTITION - | PARTITIONS | PASSING | PASSWORD | PATH @@ -17830,7 +17784,6 @@ unreserved_keyword: | SKIP | SNAPSHOT | SOURCE - | SPLIT | SQL_P | STABLE | STANDALONE_P @@ -18387,7 +18340,6 @@ bare_label_keyword: | PARSER | PARTIAL | PARTITION - | PARTITIONS | PASSING | PASSWORD | PATH @@ -18468,7 +18420,6 @@ bare_label_keyword: | SNAPSHOT | SOME | SOURCE - | SPLIT | SQL_P | STABLE | STANDALONE_P diff --git a/src/backend/parser/parse_agg.c b/src/backend/parser/parse_agg.c index bee7d8346a3..b15d9b152ef 100644 --- a/src/backend/parser/parse_agg.c +++ b/src/backend/parser/parse_agg.c @@ -376,8 +376,6 @@ check_agglevels_and_constraints(ParseState *pstate, Node *expr) break; case EXPR_KIND_FROM_SUBSELECT: - /* Should only be possible in a LATERAL subquery */ - Assert(pstate->p_lateral_active); /* * Aggregate/grouping scope rules make it worth being explicit diff --git a/src/backend/parser/parse_expr.c b/src/backend/parser/parse_expr.c index d2db69a3f90..ef0b560f5e3 100644 --- a/src/backend/parser/parse_expr.c +++ b/src/backend/parser/parse_expr.c @@ -1099,7 +1099,8 @@ transformAExprNullIf(ParseState *pstate, A_Expr *a) if (result->opresulttype != BOOLOID) ereport(ERROR, (errcode(ERRCODE_DATATYPE_MISMATCH), - errmsg("NULLIF requires = operator to yield boolean"), + /* translator: %s is name of a SQL construct, eg NULLIF */ + errmsg("%s requires = operator to yield boolean", "NULLIF"), parser_errposition(pstate, a->location))); if (result->opretset) ereport(ERROR, @@ -3060,7 +3061,9 @@ make_distinct_op(ParseState *pstate, List *opname, Node *ltree, Node *rtree, if (((OpExpr *) result)->opresulttype != BOOLOID) ereport(ERROR, (errcode(ERRCODE_DATATYPE_MISMATCH), - errmsg("IS DISTINCT FROM requires = operator to yield boolean"), + /* translator: %s is name of a SQL construct, eg NULLIF */ + errmsg("%s requires = operator to yield boolean", + "IS DISTINCT FROM"), parser_errposition(pstate, location))); if (((OpExpr *) result)->opretset) ereport(ERROR, @@ -3887,7 +3890,7 @@ transformJsonAggConstructor(ParseState *pstate, JsonAggConstructor *agg_ctor, /* * Transform JSON_OBJECTAGG() aggregate function. * - * JSON_OBJECT() is transformed into a JsonConstructorExpr node of type + * JSON_OBJECTAGG() is transformed into a JsonConstructorExpr node of type * JSCTOR_JSON_OBJECTAGG, which at runtime becomes a * json[b]_object_agg[_unique][_strict](agg->arg->key, agg->arg->value) call * depending on the output JSON format. The result is coerced to the target @@ -4326,15 +4329,22 @@ transformJsonFuncExpr(ParseState *pstate, JsonFuncExpr *func) if (func->column_name == NULL) ereport(ERROR, errcode(ERRCODE_SYNTAX_ERROR), - errmsg("invalid ON EMPTY behavior"), - errdetail("Only ERROR, NULL, EMPTY [ ARRAY ], EMPTY OBJECT, or DEFAULT expression is allowed in ON EMPTY for JSON_QUERY()."), + /*- translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) */ + errmsg("invalid %s behavior", "ON EMPTY"), + /*- 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) */ + errdetail("Only ERROR, NULL, EMPTY ARRAY, EMPTY OBJECT, or DEFAULT expression is allowed in %s for %s.", + "ON EMPTY", "JSON_QUERY()"), parser_errposition(pstate, func->on_empty->location)); else ereport(ERROR, errcode(ERRCODE_SYNTAX_ERROR), - errmsg("invalid ON EMPTY behavior for column \"%s\"", - func->column_name), - errdetail("Only ERROR, NULL, EMPTY [ ARRAY ], EMPTY OBJECT, or DEFAULT expression is allowed in ON EMPTY for formatted columns."), + /*- translator: first %s is name of a SQL/JSON clause (eg. ON EMPTY) */ + errmsg("invalid %s behavior for column \"%s\"", + "ON EMPTY", func->column_name), + /*- translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) */ + errdetail("Only ERROR, NULL, EMPTY ARRAY, EMPTY OBJECT, or DEFAULT expression is allowed in %s for formatted columns.", + "ON EMPTY"), parser_errposition(pstate, func->on_empty->location)); } if (func->on_error != NULL && @@ -4348,15 +4358,22 @@ transformJsonFuncExpr(ParseState *pstate, JsonFuncExpr *func) if (func->column_name == NULL) ereport(ERROR, errcode(ERRCODE_SYNTAX_ERROR), - errmsg("invalid ON ERROR behavior"), - errdetail("Only ERROR, NULL, EMPTY [ ARRAY ], EMPTY OBJECT, or DEFAULT expression is allowed in ON ERROR for JSON_QUERY()."), + /*- translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) */ + errmsg("invalid %s behavior", "ON ERROR"), + /*- 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) */ + errdetail("Only ERROR, NULL, EMPTY ARRAY, EMPTY OBJECT, or DEFAULT expression is allowed in %s for %s.", + "ON ERROR", "JSON_QUERY()"), parser_errposition(pstate, func->on_error->location)); else ereport(ERROR, errcode(ERRCODE_SYNTAX_ERROR), - errmsg("invalid ON ERROR behavior for column \"%s\"", - func->column_name), - errdetail("Only ERROR, NULL, EMPTY [ ARRAY ], EMPTY OBJECT, or DEFAULT expression is allowed in ON ERROR for formatted columns."), + /*- translator: first %s is name of a SQL/JSON clause (eg. ON EMPTY) */ + errmsg("invalid %s behavior for column \"%s\"", + "ON ERROR", func->column_name), + /*- translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) */ + errdetail("Only ERROR, NULL, EMPTY ARRAY, EMPTY OBJECT, or DEFAULT expression is allowed in %s for formatted columns.", + "ON ERROR"), parser_errposition(pstate, func->on_error->location)); } } @@ -4372,15 +4389,20 @@ transformJsonFuncExpr(ParseState *pstate, JsonFuncExpr *func) if (func->column_name == NULL) ereport(ERROR, errcode(ERRCODE_SYNTAX_ERROR), - errmsg("invalid ON ERROR behavior"), - errdetail("Only ERROR, TRUE, FALSE, or UNKNOWN is allowed in ON ERROR for JSON_EXISTS()."), + /*- translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) */ + errmsg("invalid %s behavior", "ON ERROR"), + errdetail("Only ERROR, TRUE, FALSE, or UNKNOWN is allowed in %s for %s.", + "ON ERROR", "JSON_EXISTS()"), parser_errposition(pstate, func->on_error->location)); else ereport(ERROR, errcode(ERRCODE_SYNTAX_ERROR), - errmsg("invalid ON ERROR behavior for column \"%s\"", - func->column_name), - errdetail("Only ERROR, TRUE, FALSE, or UNKNOWN is allowed in ON ERROR for EXISTS columns."), + /*- translator: first %s is name a SQL/JSON clause (eg. ON EMPTY) */ + errmsg("invalid %s behavior for column \"%s\"", + "ON ERROR", func->column_name), + /*- translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) */ + errdetail("Only ERROR, TRUE, FALSE, or UNKNOWN is allowed in %s for EXISTS columns.", + "ON ERROR"), parser_errposition(pstate, func->on_error->location)); } if (func->op == JSON_VALUE_OP) @@ -4393,15 +4415,22 @@ transformJsonFuncExpr(ParseState *pstate, JsonFuncExpr *func) if (func->column_name == NULL) ereport(ERROR, errcode(ERRCODE_SYNTAX_ERROR), - errmsg("invalid ON EMPTY behavior"), - errdetail("Only ERROR, NULL, or DEFAULT expression is allowed in ON EMPTY for JSON_VALUE()."), + /*- translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) */ + errmsg("invalid %s behavior", "ON EMPTY"), + /*- 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) */ + errdetail("Only ERROR, NULL, or DEFAULT expression is allowed in %s for %s.", + "ON EMPTY", "JSON_VALUE()"), parser_errposition(pstate, func->on_empty->location)); else ereport(ERROR, errcode(ERRCODE_SYNTAX_ERROR), - errmsg("invalid ON EMPTY behavior for column \"%s\"", - func->column_name), - errdetail("Only ERROR, NULL, or DEFAULT expression is allowed in ON EMPTY for scalar columns."), + /*- translator: first %s is name of a SQL/JSON clause (eg. ON EMPTY) */ + errmsg("invalid %s behavior for column \"%s\"", + "ON EMPTY", func->column_name), + /*- translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) */ + errdetail("Only ERROR, NULL, or DEFAULT expression is allowed in %s for scalar columns.", + "ON EMPTY"), parser_errposition(pstate, func->on_empty->location)); } if (func->on_error != NULL && @@ -4412,15 +4441,22 @@ transformJsonFuncExpr(ParseState *pstate, JsonFuncExpr *func) if (func->column_name == NULL) ereport(ERROR, errcode(ERRCODE_SYNTAX_ERROR), - errmsg("invalid ON ERROR behavior"), - errdetail("Only ERROR, NULL, or DEFAULT expression is allowed in ON ERROR for JSON_VALUE()."), + /*- translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) */ + errmsg("invalid %s behavior", "ON ERROR"), + /*- 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) */ + errdetail("Only ERROR, NULL, or DEFAULT expression is allowed in %s for %s.", + "ON ERROR", "JSON_VALUE()"), parser_errposition(pstate, func->on_error->location)); else ereport(ERROR, errcode(ERRCODE_SYNTAX_ERROR), - errmsg("invalid ON ERROR behavior for column \"%s\"", - func->column_name), - errdetail("Only ERROR, NULL, or DEFAULT expression is allowed in ON ERROR for scalar columns."), + /*- translator: first %s is name of a SQL/JSON clause (eg. ON EMPTY) */ + errmsg("invalid %s behavior for column \"%s\"", + "ON ERROR", func->column_name), + /*- translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) */ + errdetail("Only ERROR, NULL, or DEFAULT expression is allowed in %s for scalar columns.", + "ON ERROR"), parser_errposition(pstate, func->on_error->location)); } } @@ -4567,13 +4603,13 @@ transformJsonFuncExpr(ParseState *pstate, JsonFuncExpr *func) } /* - * Assume EMPTY ON ERROR when ON ERROR is not specified. + * Assume EMPTY ARRAY ON ERROR when ON ERROR is not specified. * * ON EMPTY cannot be specified at the top level but it can be for * the individual columns. */ jsexpr->on_error = transformJsonBehavior(pstate, func->on_error, - JSON_BEHAVIOR_EMPTY, + JSON_BEHAVIOR_EMPTY_ARRAY, jsexpr->returning); break; diff --git a/src/backend/parser/parse_jsontable.c b/src/backend/parser/parse_jsontable.c index 8a72e498e89..6d4e4968202 100644 --- a/src/backend/parser/parse_jsontable.c +++ b/src/backend/parser/parse_jsontable.c @@ -91,7 +91,7 @@ transformJsonTable(ParseState *pstate, JsonTable *jt) jt->on_error->btype != JSON_BEHAVIOR_EMPTY_ARRAY) ereport(ERROR, errcode(ERRCODE_SYNTAX_ERROR), - errmsg("invalid ON ERROR behavior"), + errmsg("invalid %s behavior", "ON ERROR"), errdetail("Only EMPTY [ ARRAY ] or ERROR is allowed in the top-level ON ERROR clause."), parser_errposition(pstate, jt->on_error->location)); @@ -292,7 +292,7 @@ transformJsonTableColumns(JsonTableParseContext *cxt, List *columns, if (ordinality_found) ereport(ERROR, (errcode(ERRCODE_SYNTAX_ERROR), - errmsg("cannot use more than one FOR ORDINALITY column"), + errmsg("only one FOR ORDINALITY column is allowed"), parser_errposition(pstate, rawc->location))); ordinality_found = true; colexpr = NULL; diff --git a/src/backend/parser/parse_utilcmd.c b/src/backend/parser/parse_utilcmd.c index d5c2b2ff0b0..eaf46ab6871 100644 --- a/src/backend/parser/parse_utilcmd.c +++ b/src/backend/parser/parse_utilcmd.c @@ -32,7 +32,6 @@ #include "catalog/heap.h" #include "catalog/index.h" #include "catalog/namespace.h" -#include "catalog/partition.h" #include "catalog/pg_am.h" #include "catalog/pg_collation.h" #include "catalog/pg_constraint.h" @@ -59,8 +58,6 @@ #include "parser/parse_type.h" #include "parser/parse_utilcmd.h" #include "parser/parser.h" -#include "partitioning/partdesc.h" -#include "partitioning/partbounds.h" #include "rewrite/rewriteManip.h" #include "utils/acl.h" #include "utils/builtins.h" @@ -136,7 +133,7 @@ static void transformConstraintAttrs(CreateStmtContext *cxt, List *constraintList); static void transformColumnType(CreateStmtContext *cxt, ColumnDef *column); static void setSchemaName(const char *context_schema, char **stmt_schema_name); -static void transformPartitionCmd(CreateStmtContext *cxt, PartitionBoundSpec *bound); +static void transformPartitionCmd(CreateStmtContext *cxt, PartitionCmd *cmd); static List *transformPartitionRangeBounds(ParseState *pstate, List *blist, Relation parent); static void validateInfiniteBounds(ParseState *pstate, List *blist); @@ -368,30 +365,22 @@ generateSerialExtraStmts(CreateStmtContext *cxt, ColumnDef *column, { ListCell *option; DefElem *nameEl = NULL; + DefElem *loggedEl = NULL; Oid snamespaceid; char *snamespace; char *sname; + char seqpersistence; CreateSeqStmt *seqstmt; AlterSeqStmt *altseqstmt; List *attnamelist; - int nameEl_idx = -1; /* Make a copy of this as we may end up modifying it in the code below */ seqoptions = list_copy(seqoptions); /* - * Determine namespace and name to use for the sequence. - * - * First, check if a sequence name was passed in as an option. This is - * used by pg_dump. Else, generate a name. - * - * Although we use ChooseRelationName, it's not guaranteed that the - * selected sequence name won't conflict; given sufficiently long field - * names, two different serial columns in the same table could be assigned - * the same sequence name, and we'd not notice since we aren't creating - * the sequence quite yet. In practice this seems quite unlikely to be a - * problem, especially since few people would need two serial columns in - * one table. + * Check for non-SQL-standard options (not supported within CREATE + * SEQUENCE, because they'd be redundant), and remove them from the + * seqoptions list if found. */ foreach(option, seqoptions) { @@ -402,12 +391,24 @@ generateSerialExtraStmts(CreateStmtContext *cxt, ColumnDef *column, if (nameEl) errorConflictingDefElem(defel, cxt->pstate); nameEl = defel; - nameEl_idx = foreach_current_index(option); + seqoptions = foreach_delete_current(seqoptions, option); + } + else if (strcmp(defel->defname, "logged") == 0 || + strcmp(defel->defname, "unlogged") == 0) + { + if (loggedEl) + errorConflictingDefElem(defel, cxt->pstate); + loggedEl = defel; + seqoptions = foreach_delete_current(seqoptions, option); } } + /* + * Determine namespace and name to use for the sequence. + */ if (nameEl) { + /* Use specified name */ RangeVar *rv = makeRangeVarFromNameList(castNode(List, nameEl->arg)); snamespace = rv->schemaname; @@ -421,11 +422,20 @@ generateSerialExtraStmts(CreateStmtContext *cxt, ColumnDef *column, snamespace = get_namespace_name(snamespaceid); } sname = rv->relname; - /* Remove the SEQUENCE NAME item from seqoptions */ - seqoptions = list_delete_nth_cell(seqoptions, nameEl_idx); } else { + /* + * Generate a name. + * + * Although we use ChooseRelationName, it's not guaranteed that the + * selected sequence name won't conflict; given sufficiently long + * field names, two different serial columns in the same table could + * be assigned the same sequence name, and we'd not notice since we + * aren't creating the sequence quite yet. In practice this seems + * quite unlikely to be a problem, especially since few people would + * need two serial columns in one table. + */ if (cxt->rel) snamespaceid = RelationGetNamespace(cxt->rel); else @@ -446,6 +456,30 @@ generateSerialExtraStmts(CreateStmtContext *cxt, ColumnDef *column, cxt->stmtType, sname, cxt->relation->relname, column->colname))); + /* + * Determine the persistence of the sequence. By default we copy the + * persistence of the table, but if LOGGED or UNLOGGED was specified, use + * that (as long as the table isn't TEMP). + * + * For CREATE TABLE, we get the persistence from cxt->relation, which + * comes from the CreateStmt in progress. For ALTER TABLE, the parser + * won't set cxt->relation->relpersistence, but we have cxt->rel as the + * existing table, so we copy the persistence from there. + */ + seqpersistence = cxt->rel ? cxt->rel->rd_rel->relpersistence : cxt->relation->relpersistence; + if (loggedEl) + { + if (seqpersistence == RELPERSISTENCE_TEMP) + ereport(ERROR, + (errcode(ERRCODE_INVALID_TABLE_DEFINITION), + errmsg("cannot set logged status of a temporary sequence"), + parser_errposition(cxt->pstate, loggedEl->location))); + else if (strcmp(loggedEl->defname, "logged") == 0) + seqpersistence = RELPERSISTENCE_PERMANENT; + else + seqpersistence = RELPERSISTENCE_UNLOGGED; + } + /* * Build a CREATE SEQUENCE command to create the sequence object, and add * it to the list of things to be done before this CREATE/ALTER TABLE. @@ -453,16 +487,7 @@ generateSerialExtraStmts(CreateStmtContext *cxt, ColumnDef *column, seqstmt = makeNode(CreateSeqStmt); seqstmt->for_identity = for_identity; seqstmt->sequence = makeRangeVar(snamespace, sname, -1); - - /* - * Copy the persistence of the table. For CREATE TABLE, we get the - * persistence from cxt->relation, which comes from the CreateStmt in - * progress. For ALTER TABLE, the parser won't set - * cxt->relation->relpersistence, but we have cxt->rel as the existing - * table, so we copy the persistence from there. - */ - seqstmt->sequence->relpersistence = cxt->rel ? cxt->rel->rd_rel->relpersistence : cxt->relation->relpersistence; - + seqstmt->sequence->relpersistence = seqpersistence; seqstmt->options = seqoptions; /* @@ -3232,160 +3257,6 @@ transformRuleStmt(RuleStmt *stmt, const char *queryString, } -/* - * checkPartition - * Check that partRelOid is an oid of partition of the parent table rel - */ -static void -checkPartition(Relation rel, Oid partRelOid) -{ - Relation partRel; - - partRel = relation_open(partRelOid, AccessShareLock); - - if (partRel->rd_rel->relkind != RELKIND_RELATION) - ereport(ERROR, - (errcode(ERRCODE_WRONG_OBJECT_TYPE), - errmsg("\"%s\" is not a table", - RelationGetRelationName(partRel)))); - - if (!partRel->rd_rel->relispartition) - ereport(ERROR, - (errcode(ERRCODE_WRONG_OBJECT_TYPE), - errmsg("\"%s\" is not a partition", - RelationGetRelationName(partRel)))); - - if (get_partition_parent(partRelOid, false) != RelationGetRelid(rel)) - ereport(ERROR, - (errcode(ERRCODE_UNDEFINED_TABLE), - errmsg("relation \"%s\" is not a partition of relation \"%s\"", - RelationGetRelationName(partRel), - RelationGetRelationName(rel)))); - - /* Permissions checks */ - if (!object_ownercheck(RelationRelationId, RelationGetRelid(partRel), GetUserId())) - aclcheck_error(ACLCHECK_NOT_OWNER, get_relkind_objtype(partRel->rd_rel->relkind), - RelationGetRelationName(partRel)); - - relation_close(partRel, AccessShareLock); -} - -/* - * transformPartitionCmdForSplit - * Analyze the ALTER TABLE ... SPLIT PARTITION command - * - * For each new partition sps->bound is set to the transformed value of bound. - * Does checks for bounds of new partitions. - */ -static void -transformPartitionCmdForSplit(CreateStmtContext *cxt, PartitionCmd *partcmd) -{ - Relation parent = cxt->rel; - Oid splitPartOid; - ListCell *listptr; - - if (parent->rd_rel->relkind != RELKIND_PARTITIONED_TABLE) - ereport(ERROR, - (errcode(ERRCODE_INVALID_OBJECT_DEFINITION), - errmsg("\"%s\" is not a partitioned table", RelationGetRelationName(parent)))); - - /* Transform partition bounds for all partitions in the list: */ - foreach(listptr, partcmd->partlist) - { - SinglePartitionSpec *sps = (SinglePartitionSpec *) lfirst(listptr); - - cxt->partbound = NULL; - transformPartitionCmd(cxt, sps->bound); - /* Assign transformed value of the partition bound. */ - sps->bound = cxt->partbound; - } - - splitPartOid = RangeVarGetRelid(partcmd->name, NoLock, false); - - checkPartition(parent, splitPartOid); - - /* Then we should check partitions with transformed bounds. */ - check_partitions_for_split(parent, splitPartOid, partcmd->name, partcmd->partlist, cxt->pstate); -} - - -/* - * transformPartitionCmdForMerge - * Analyze the ALTER TABLE ... MERGE PARTITIONS command - * - * Does simple checks for merged partitions. Calculates bound of resulting - * partition. - */ -static void -transformPartitionCmdForMerge(CreateStmtContext *cxt, PartitionCmd *partcmd) -{ - Oid defaultPartOid; - Oid partOid; - Relation parent = cxt->rel; - PartitionKey key; - char strategy; - ListCell *listptr, - *listptr2; - bool isDefaultPart = false; - List *partOids = NIL; - - if (parent->rd_rel->relkind != RELKIND_PARTITIONED_TABLE) - ereport(ERROR, - (errcode(ERRCODE_INVALID_OBJECT_DEFINITION), - errmsg("\"%s\" is not a partitioned table", RelationGetRelationName(parent)))); - - key = RelationGetPartitionKey(parent); - strategy = get_partition_strategy(key); - - if (strategy == PARTITION_STRATEGY_HASH) - ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("partition of hash-partitioned table cannot be merged"))); - - /* Is current partition a DEFAULT partition? */ - defaultPartOid = get_default_oid_from_partdesc( - RelationGetPartitionDesc(parent, true)); - - foreach(listptr, partcmd->partlist) - { - RangeVar *name = (RangeVar *) lfirst(listptr); - - /* Partitions in the list should have different names. */ - for_each_cell(listptr2, partcmd->partlist, lnext(partcmd->partlist, listptr)) - { - RangeVar *name2 = (RangeVar *) lfirst(listptr2); - - if (equal(name, name2)) - ereport(ERROR, - (errcode(ERRCODE_DUPLICATE_TABLE), - errmsg("partition with name \"%s\" is already used", name->relname)), - parser_errposition(cxt->pstate, name2->location)); - } - - /* Search DEFAULT partition in the list. */ - partOid = RangeVarGetRelid(name, NoLock, false); - if (partOid == defaultPartOid) - isDefaultPart = true; - - checkPartition(parent, partOid); - - partOids = lappend_oid(partOids, partOid); - } - - /* Allocate bound of resulting partition. */ - Assert(partcmd->bound == NULL); - partcmd->bound = makeNode(PartitionBoundSpec); - - /* Fill partition bound. */ - partcmd->bound->strategy = strategy; - partcmd->bound->location = -1; - partcmd->bound->is_default = isDefaultPart; - if (!isDefaultPart) - calculate_partition_bound_for_merge(parent, partcmd->partlist, - partOids, partcmd->bound, - cxt->pstate); -} - /* * transformAlterTableStmt - * parse analysis for ALTER TABLE @@ -3654,7 +3525,7 @@ transformAlterTableStmt(Oid relid, AlterTableStmt *stmt, { PartitionCmd *partcmd = (PartitionCmd *) cmd->def; - transformPartitionCmd(&cxt, partcmd->bound); + transformPartitionCmd(&cxt, partcmd); /* assign transformed value of the partition bound */ partcmd->bound = cxt.partbound; } @@ -3662,24 +3533,6 @@ transformAlterTableStmt(Oid relid, AlterTableStmt *stmt, newcmds = lappend(newcmds, cmd); break; - case AT_SplitPartition: - case AT_MergePartitions: - { - PartitionCmd *partcmd = (PartitionCmd *) cmd->def; - - if (list_length(partcmd->partlist) < 2) - ereport(ERROR, - (errcode(ERRCODE_INVALID_OBJECT_DEFINITION), - errmsg("list of new partitions should contain at least two items"))); - - if (cmd->subtype == AT_SplitPartition) - transformPartitionCmdForSplit(&cxt, partcmd); - else - transformPartitionCmdForMerge(&cxt, partcmd); - newcmds = lappend(newcmds, cmd); - break; - } - default: /* @@ -4070,13 +3923,13 @@ setSchemaName(const char *context_schema, char **stmt_schema_name) /* * transformPartitionCmd - * Analyze the ATTACH/DETACH/SPLIT PARTITION command + * Analyze the ATTACH/DETACH PARTITION command * - * In case of the ATTACH/SPLIT PARTITION command, cxt->partbound is set to the - * transformed value of bound. + * In case of the ATTACH PARTITION command, cxt->partbound is set to the + * transformed value of cmd->bound. */ static void -transformPartitionCmd(CreateStmtContext *cxt, PartitionBoundSpec *bound) +transformPartitionCmd(CreateStmtContext *cxt, PartitionCmd *cmd) { Relation parentRel = cxt->rel; @@ -4085,9 +3938,9 @@ transformPartitionCmd(CreateStmtContext *cxt, PartitionBoundSpec *bound) case RELKIND_PARTITIONED_TABLE: /* transform the partition bound, if any */ Assert(RelationGetPartitionKey(parentRel) != NULL); - if (bound != NULL) + if (cmd->bound != NULL) cxt->partbound = transformPartitionBound(cxt->pstate, parentRel, - bound); + cmd->bound); break; case RELKIND_PARTITIONED_INDEX: @@ -4095,7 +3948,7 @@ transformPartitionCmd(CreateStmtContext *cxt, PartitionBoundSpec *bound) * A partitioned index cannot have a partition bound set. ALTER * INDEX prevents that with its grammar, but not ALTER TABLE. */ - if (bound != NULL) + if (cmd->bound != NULL) ereport(ERROR, (errcode(ERRCODE_INVALID_OBJECT_DEFINITION), errmsg("\"%s\" is not a partitioned table", diff --git a/src/backend/parser/scan.l b/src/backend/parser/scan.l index 3248fb51080..c97db946110 100644 --- a/src/backend/parser/scan.l +++ b/src/backend/parser/scan.l @@ -412,16 +412,30 @@ numericfail {decinteger}\.\. real ({decinteger}|{numeric})[Ee][-+]?{decinteger} realfail ({decinteger}|{numeric})[Ee][-+] -decinteger_junk {decinteger}{ident_start} -hexinteger_junk {hexinteger}{ident_start} -octinteger_junk {octinteger}{ident_start} -bininteger_junk {bininteger}{ident_start} -numeric_junk {numeric}{ident_start} -real_junk {real}{ident_start} - /* Positional parameters don't accept underscores. */ param \${decdigit}+ -param_junk \${decdigit}+{ident_start} + +/* + * An identifier immediately following an integer literal is disallowed because + * in some cases it's ambiguous what is meant: for example, 0x1234 could be + * either a hexinteger or a decinteger "0" and an identifier "x1234". We can + * detect such problems by seeing if integer_junk matches a longer substring + * than any of the XXXinteger patterns (decinteger, hexinteger, octinteger, + * bininteger). One "junk" pattern is sufficient because + * {decinteger}{identifier} will match all the same strings we'd match with + * {hexinteger}{identifier} etc. + * + * Note that the rule for integer_junk must appear after the ones for + * XXXinteger to make this work correctly: 0x1234 will match both hexinteger + * and integer_junk, and we need hexinteger to be chosen in that case. + * + * Also disallow strings matched by numeric_junk, real_junk and param_junk + * for consistency. + */ +integer_junk {decinteger}{identifier} +numeric_junk {numeric}{identifier} +real_junk {real}{identifier} +param_junk \${decdigit}+{identifier} other . @@ -1049,19 +1063,7 @@ other . SET_YYLLOC(); yyerror("trailing junk after numeric literal"); } -{decinteger_junk} { - SET_YYLLOC(); - yyerror("trailing junk after numeric literal"); - } -{hexinteger_junk} { - SET_YYLLOC(); - yyerror("trailing junk after numeric literal"); - } -{octinteger_junk} { - SET_YYLLOC(); - yyerror("trailing junk after numeric literal"); - } -{bininteger_junk} { +{integer_junk} { SET_YYLLOC(); yyerror("trailing junk after numeric literal"); } diff --git a/src/backend/partitioning/partbounds.c b/src/backend/partitioning/partbounds.c index 4eda59767ce..c28639d2e3f 100644 --- a/src/backend/partitioning/partbounds.c +++ b/src/backend/partitioning/partbounds.c @@ -3214,9 +3214,8 @@ check_new_partition_bound(char *relname, Relation parent, PartitionRangeDatum *datum; /* - * Point to problematic key in the list of lower - * datums; if we have equality, point to the first - * one. + * Point to problematic key in the lower datums list; + * if we have equality, point to the first one. */ datum = cmpval == 0 ? linitial(spec->lowerdatums) : list_nth(spec->lowerdatums, abs(cmpval) - 1); @@ -4978,899 +4977,3 @@ satisfies_hash_partition(PG_FUNCTION_ARGS) PG_RETURN_BOOL(rowHash % modulus == remainder); } - -/* - * check_two_partitions_bounds_range - * - * (function for BY RANGE partitioning) - * - * This is a helper function for check_partitions_for_split() and - * calculate_partition_bound_for_merge(). - * This function compares upper bound of first_bound and lower bound of - * second_bound. These bounds should be equal except when - * "defaultPart == true" (this means that one of split partitions is DEFAULT). - * In this case upper bound of first_bound can be less than lower bound of - * second_bound because space between these bounds will be included in - * DEFAULT partition. - * - * parent: partitioned table - * first_name: name of first partition - * first_bound: bound of first partition - * second_name: name of second partition - * second_bound: bound of second partition - * defaultPart: true if one of split partitions is DEFAULT - * pstate: pointer to ParseState struct for determining error position - */ -static void -check_two_partitions_bounds_range(Relation parent, - RangeVar *first_name, - PartitionBoundSpec *first_bound, - RangeVar *second_name, - PartitionBoundSpec *second_bound, - bool defaultPart, - ParseState *pstate) -{ - PartitionKey key = RelationGetPartitionKey(parent); - PartitionRangeBound *first_upper; - PartitionRangeBound *second_lower; - int cmpval; - - Assert(key->strategy == PARTITION_STRATEGY_RANGE); - - first_upper = make_one_partition_rbound(key, -1, first_bound->upperdatums, false); - second_lower = make_one_partition_rbound(key, -1, second_bound->lowerdatums, true); - - /* - * lower1=false (the second to last argument) for correct comparison of - * lower and upper bounds. - */ - cmpval = partition_rbound_cmp(key->partnatts, - key->partsupfunc, - key->partcollation, - second_lower->datums, second_lower->kind, - false, first_upper); - if ((!defaultPart && cmpval) || (defaultPart && cmpval < 0)) - { - PartitionRangeDatum *datum = linitial(second_bound->lowerdatums); - - ereport(ERROR, - (errcode(ERRCODE_INVALID_OBJECT_DEFINITION), - errmsg("lower bound of partition \"%s\" conflicts with upper bound of previous partition \"%s\"", - second_name->relname, first_name->relname), - parser_errposition(pstate, datum->location))); - } -} - -/* - * check_partitions_not_overlap_list - * - * (function for BY LIST partitioning) - * - * This is a helper function for check_partitions_for_split(). - * Checks that the values of the new partitions do not overlap. - * - * parent: partitioned table - * parts: array of SinglePartitionSpec structs with info about split partitions - * nparts: size of array "parts" - */ -static void -check_partitions_not_overlap_list(Relation parent, - SinglePartitionSpec **parts, - int nparts, - ParseState *pstate) -{ - PartitionKey key PG_USED_FOR_ASSERTS_ONLY = RelationGetPartitionKey(parent); - int overlap_location = -1; - int i, - j; - SinglePartitionSpec *sps1, - *sps2; - List *overlap; - - Assert(key->strategy == PARTITION_STRATEGY_LIST); - - for (i = 0; i < nparts; i++) - { - sps1 = parts[i]; - - for (j = i + 1; j < nparts; j++) - { - sps2 = parts[j]; - - /* - * Calculate intersection between values of two partitions. - */ - overlap = list_intersection(sps1->bound->listdatums, - sps2->bound->listdatums); - if (list_length(overlap) > 0) - { - Const *val = (Const *) lfirst(list_head(overlap)); - - overlap_location = val->location; - ereport(ERROR, - (errcode(ERRCODE_INVALID_OBJECT_DEFINITION), - errmsg("new partition \"%s\" would overlap with another new partition \"%s\"", - sps1->name->relname, sps2->name->relname), - parser_errposition(pstate, overlap_location))); - } - } - } -} - -/* - * get_partition_bound_spec - * - * Returns description of partition with Oid "partOid" and name "name". - * - * partOid: partition Oid - * name: partition name - */ -static PartitionBoundSpec * -get_partition_bound_spec(Oid partOid, RangeVar *name) -{ - HeapTuple tuple; - Datum datum; - bool isnull; - PartitionBoundSpec *boundspec = NULL; - - /* Try fetching the tuple from the catcache, for speed. */ - tuple = SearchSysCache1(RELOID, partOid); - if (!HeapTupleIsValid(tuple)) - elog(ERROR, "cache lookup failed for relation \"%s\"", - name->relname); - - datum = SysCacheGetAttr(RELOID, tuple, - Anum_pg_class_relpartbound, - &isnull); - if (isnull) - elog(ERROR, "partition bound for relation \"%s\" is null", - name->relname); - - boundspec = stringToNode(TextDatumGetCString(datum)); - - if (!IsA(boundspec, PartitionBoundSpec)) - elog(ERROR, "expected PartitionBoundSpec for relation \"%s\"", - name->relname); - - ReleaseSysCache(tuple); - return boundspec; -} - -/* - * check_partition_bounds_for_split_range - * - * (function for BY RANGE partitioning) - * - * Checks that bounds of new partition "spec" are inside bounds of split - * partition (with Oid splitPartOid). If first=true (this means that "spec" is - * the first of new partitions) then lower bound of "spec" should be equal (or - * greater than or equal in case defaultPart=true) to lower bound of split - * partition. If last=true (this means that "spec" is the last of new - * partitions) then upper bound of "spec" should be equal (or less than or - * equal in case defaultPart=true) to upper bound of split partition. - * - * parent: partitioned table - * relname: name of the new partition - * spec: bounds specification of the new partition - * splitPartOid: split partition Oid - * splitPartName: split partition name - * first: true in case new partition "spec" is first of new partitions - * last: true in case new partition "spec" is last of new partitions - * defaultPart: true in case partitioned table has DEFAULT partition - * pstate: pointer to ParseState struct for determine error position - */ -static void -check_partition_bounds_for_split_range(Relation parent, - char *relname, - PartitionBoundSpec *spec, - Oid splitPartOid, - RangeVar *splitPartName, - bool first, - bool last, - bool defaultPart, - ParseState *pstate) -{ - PartitionKey key = RelationGetPartitionKey(parent); - PartitionRangeBound *lower, - *upper; - int cmpval; - - Assert(key->strategy == PARTITION_STRATEGY_RANGE); - Assert(spec->strategy == PARTITION_STRATEGY_RANGE); - - lower = make_one_partition_rbound(key, -1, spec->lowerdatums, true); - upper = make_one_partition_rbound(key, -1, spec->upperdatums, false); - - /* - * First check if the resulting range would be empty with specified lower - * and upper bounds. partition_rbound_cmp cannot return zero here, since - * the lower-bound flags are different. - */ - cmpval = partition_rbound_cmp(key->partnatts, - key->partsupfunc, - key->partcollation, - lower->datums, lower->kind, - true, upper); - Assert(cmpval != 0); - if (cmpval > 0) - { - /* Point to problematic key in the lower datums list. */ - PartitionRangeDatum *datum = list_nth(spec->lowerdatums, cmpval - 1); - - ereport(ERROR, - (errcode(ERRCODE_INVALID_OBJECT_DEFINITION), - errmsg("empty range bound specified for partition \"%s\"", - relname), - errdetail("Specified lower bound %s is greater than or equal to upper bound %s.", - get_range_partbound_string(spec->lowerdatums), - get_range_partbound_string(spec->upperdatums)), - parser_errposition(pstate, datum->location))); - } - - /* Need to check first and last partitions (from set of new partitions) */ - if (first || last) - { - PartitionBoundSpec *split_spec = get_partition_bound_spec(splitPartOid, splitPartName); - PartitionRangeDatum *datum; - - if (first) - { - PartitionRangeBound *split_lower; - - split_lower = make_one_partition_rbound(key, -1, split_spec->lowerdatums, true); - - cmpval = partition_rbound_cmp(key->partnatts, - key->partsupfunc, - key->partcollation, - lower->datums, lower->kind, - true, split_lower); - - /* - * Lower bound of "spec" should be equal (or greater than or equal - * in case defaultPart=true) to lower bound of split partition. - */ - if (!defaultPart) - { - if (cmpval != 0) - { - datum = list_nth(spec->lowerdatums, abs(cmpval) - 1); - ereport(ERROR, - (errcode(ERRCODE_INVALID_OBJECT_DEFINITION), - errmsg("lower bound of partition \"%s\" is not equal to lower bound of split partition", - relname), - parser_errposition(pstate, datum->location))); - } - } - else - { - if (cmpval < 0) - { - datum = list_nth(spec->lowerdatums, abs(cmpval) - 1); - ereport(ERROR, - (errcode(ERRCODE_INVALID_OBJECT_DEFINITION), - errmsg("lower bound of partition \"%s\" is less than lower bound of split partition", - relname), - parser_errposition(pstate, datum->location))); - } - } - } - else - { - PartitionRangeBound *split_upper; - - split_upper = make_one_partition_rbound(key, -1, split_spec->upperdatums, false); - - cmpval = partition_rbound_cmp(key->partnatts, - key->partsupfunc, - key->partcollation, - upper->datums, upper->kind, - false, split_upper); - - /* - * Upper bound of "spec" should be equal (or less than or equal in - * case defaultPart=true) to upper bound of split partition. - */ - if (!defaultPart) - { - if (cmpval != 0) - { - datum = list_nth(spec->upperdatums, abs(cmpval) - 1); - ereport(ERROR, - (errcode(ERRCODE_INVALID_OBJECT_DEFINITION), - errmsg("upper bound of partition \"%s\" is not equal to upper bound of split partition", - relname), - parser_errposition(pstate, datum->location))); - } - } - else - { - if (cmpval > 0) - { - datum = list_nth(spec->upperdatums, abs(cmpval) - 1); - ereport(ERROR, - (errcode(ERRCODE_INVALID_OBJECT_DEFINITION), - errmsg("upper bound of partition \"%s\" is greater than upper bound of split partition", - relname), - parser_errposition(pstate, datum->location))); - } - } - } - } -} - -/* - * check_partition_bounds_for_split_list - * - * (function for BY LIST partitioning) - * - * Checks that bounds of new partition are inside bounds of split partition - * (with Oid splitPartOid). - * - * parent: partitioned table - * relname: name of the new partition - * spec: bounds specification of the new partition - * splitPartOid: split partition Oid - * pstate: pointer to ParseState struct for determine error position - */ -static void -check_partition_bounds_for_split_list(Relation parent, char *relname, - PartitionBoundSpec *spec, - Oid splitPartOid, - ParseState *pstate) -{ - PartitionKey key = RelationGetPartitionKey(parent); - PartitionDesc partdesc = RelationGetPartitionDesc(parent, false); - PartitionBoundInfo boundinfo = partdesc->boundinfo; - int with = -1; - bool overlap = false; - int overlap_location = -1; - ListCell *cell; - - Assert(key->strategy == PARTITION_STRATEGY_LIST); - Assert(spec->strategy == PARTITION_STRATEGY_LIST); - Assert(boundinfo && boundinfo->strategy == PARTITION_STRATEGY_LIST); - - /* - * Search each value of new partition "spec" in existing partitions. All - * of them should be in split partition (with Oid splitPartOid). - */ - foreach(cell, spec->listdatums) - { - Const *val = lfirst_node(Const, cell); - - overlap_location = val->location; - if (!val->constisnull) - { - int offset; - bool equal; - - offset = partition_list_bsearch(&key->partsupfunc[0], - key->partcollation, - boundinfo, - val->constvalue, - &equal); - if (offset >= 0 && equal) - { - with = boundinfo->indexes[offset]; - if (partdesc->oids[with] != splitPartOid) - { - overlap = true; - break; - } - } - else - ereport(ERROR, - (errcode(ERRCODE_INVALID_OBJECT_DEFINITION), - errmsg("new partition \"%s\" cannot have this value because split partition does not have", - relname), - parser_errposition(pstate, overlap_location))); - } - else if (partition_bound_accepts_nulls(boundinfo)) - { - with = boundinfo->null_index; - if (partdesc->oids[with] != splitPartOid) - { - overlap = true; - break; - } - } - else - ereport(ERROR, - (errcode(ERRCODE_INVALID_OBJECT_DEFINITION), - errmsg("new partition \"%s\" cannot have NULL value because split partition does not have", - relname), - parser_errposition(pstate, overlap_location))); - } - - if (overlap) - { - Assert(with >= 0); - ereport(ERROR, - (errcode(ERRCODE_INVALID_OBJECT_DEFINITION), - errmsg("new partition \"%s\" would overlap with another (not split) partition \"%s\"", - relname, get_rel_name(partdesc->oids[with])), - parser_errposition(pstate, overlap_location))); - } -} - -/* - * find_value_in_new_partitions_list - * - * (function for BY LIST partitioning) - * - * Function returns true in case any of new partitions contains value "value". - * - * partsupfunc: information about comparison function associated with the partition key - * partcollation: partitioning collation - * parts: pointer to array with new partitions descriptions - * nparts: number of new partitions - * value: the value that we are looking for - * isnull: true if the value that we are looking for is NULL - */ -static bool -find_value_in_new_partitions_list(FmgrInfo *partsupfunc, - Oid *partcollation, - SinglePartitionSpec **parts, - int nparts, - Datum value, - bool isnull) -{ - ListCell *valptr; - int i; - - for (i = 0; i < nparts; i++) - { - SinglePartitionSpec *sps = parts[i]; - - foreach(valptr, sps->bound->listdatums) - { - Const *val = lfirst_node(Const, valptr); - - if (isnull && val->constisnull) - return true; - - if (!isnull && !val->constisnull) - { - if (DatumGetInt32(FunctionCall2Coll(&partsupfunc[0], - partcollation[0], - val->constvalue, - value)) == 0) - return true; - } - } - } - return false; -} - -/* - * check_parent_values_in_new_partitions - * - * (function for BY LIST partitioning) - * - * Checks that all values of split partition (with Oid partOid) contains in new - * partitions. - * - * parent: partitioned table - * partOid: split partition Oid - * parts: pointer to array with new partitions descriptions - * nparts: number of new partitions - * pstate: pointer to ParseState struct for determine error position - */ -static void -check_parent_values_in_new_partitions(Relation parent, - Oid partOid, - SinglePartitionSpec **parts, - int nparts, - ParseState *pstate) -{ - PartitionKey key = RelationGetPartitionKey(parent); - PartitionDesc partdesc = RelationGetPartitionDesc(parent, false); - PartitionBoundInfo boundinfo = partdesc->boundinfo; - int i; - bool found = true; - bool searchNull = false; - Datum datum = PointerGetDatum(NULL); - - Assert(key->strategy == PARTITION_STRATEGY_LIST); - - /* - * Special processing for NULL value. Search NULL value if the split - * partition (partOid) contains it. - */ - if (partition_bound_accepts_nulls(boundinfo) && - partdesc->oids[boundinfo->null_index] == partOid) - { - if (!find_value_in_new_partitions_list(&key->partsupfunc[0], - key->partcollation, parts, nparts, datum, true)) - { - found = false; - searchNull = true; - } - } - - /* - * Search all values of split partition with partOid in PartitionDesc of - * partitioned table. - */ - for (i = 0; i < boundinfo->ndatums; i++) - { - if (partdesc->oids[boundinfo->indexes[i]] == partOid) - { - /* We found value that split partition contains. */ - datum = boundinfo->datums[i][0]; - if (!find_value_in_new_partitions_list(&key->partsupfunc[0], - key->partcollation, parts, nparts, datum, false)) - { - found = false; - break; - } - } - } - - if (!found) - { - Const *notFoundVal; - - if (!searchNull) - - /* - * Make Const for getting string representation of not found - * value. - */ - notFoundVal = makeConst(key->parttypid[0], - key->parttypmod[0], - key->parttypcoll[0], - key->parttyplen[0], - datum, - false, /* isnull */ - key->parttypbyval[0]); - - ereport(ERROR, - (errcode(ERRCODE_INVALID_OBJECT_DEFINITION), - errmsg("new partitions do not have value %s but split partition does", - searchNull ? "NULL" : get_list_partvalue_string(notFoundVal)))); - } -} - -/* - * check_partitions_for_split - * - * Checks new partitions for SPLIT PARTITIONS command: - * 1. DEFAULT partition should be one. - * 2. New partitions should have different names - * (with existing partitions too). - * 3. Bounds of new partitions should not overlap with new and existing - * partitions. - * 4. In case split partition is DEFAULT partition, one of new partitions - * should be DEFAULT. - * 5. In case new partitions or existing partitions contains DEFAULT - * partition, new partitions can have any bounds inside split - * partition bound (can be spaces between partitions bounds). - * 6. In case partitioned table does not have DEFAULT partition, DEFAULT - * partition can be defined as one of new partition. - * 7. In case new partitions not contains DEFAULT partition and - * partitioned table does not have DEFAULT partition the following - * should be true: sum bounds of new partitions should be equal - * to bound of split partition. - * - * parent: partitioned table - * splitPartOid: split partition Oid - * splitPartName: split partition name - * list: list of new partitions - * pstate: pointer to ParseState struct for determine error position - */ -void -check_partitions_for_split(Relation parent, - Oid splitPartOid, - RangeVar *splitPartName, - List *partlist, - ParseState *pstate) -{ - PartitionKey key; - char strategy; - Oid defaultPartOid; - bool isSplitPartDefault; - bool existsDefaultPart; - ListCell *listptr; - int default_index = -1; - int i, - j; - SinglePartitionSpec **new_parts; - SinglePartitionSpec *spsPrev = NULL; - int nparts = 0; - - key = RelationGetPartitionKey(parent); - strategy = get_partition_strategy(key); - - switch (strategy) - { - case PARTITION_STRATEGY_LIST: - case PARTITION_STRATEGY_RANGE: - { - /* - * Make array new_parts with new partitions except DEFAULT - * partition. - */ - new_parts = (SinglePartitionSpec **) - palloc0(list_length(partlist) * sizeof(SinglePartitionSpec *)); - i = 0; - foreach(listptr, partlist) - { - SinglePartitionSpec *sps = - (SinglePartitionSpec *) lfirst(listptr); - - if (sps->bound->is_default) - { - if (default_index >= 0) - ereport(ERROR, - (errcode(ERRCODE_INVALID_OBJECT_DEFINITION), - errmsg("DEFAULT partition should be one")), - parser_errposition(pstate, sps->name->location)); - default_index = i; - } - else - { - new_parts[nparts++] = sps; - } - i++; - } - } - break; - - case PARTITION_STRATEGY_HASH: - ereport(ERROR, - (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), - errmsg("partition of hash-partitioned table cannot be split"))); - break; - - default: - elog(ERROR, "unexpected partition strategy: %d", - (int) key->strategy); - break; - } - - if (strategy == PARTITION_STRATEGY_RANGE) - { - PartitionRangeBound **lower_bounds; - SinglePartitionSpec **tmp_new_parts; - - /* - * For simplify check for ranges of new partitions need to sort all - * partitions in ascending order of them bounds (we compare upper - * bound only). - */ - lower_bounds = (PartitionRangeBound **) - palloc0(nparts * sizeof(PartitionRangeBound *)); - - /* Create array of lower bounds. */ - for (i = 0; i < nparts; i++) - { - lower_bounds[i] = make_one_partition_rbound(key, i, - new_parts[i]->bound->lowerdatums, true); - } - - /* Sort array of lower bounds. */ - qsort_arg(lower_bounds, nparts, sizeof(PartitionRangeBound *), - qsort_partition_rbound_cmp, (void *) key); - - /* Reorder array of partitions. */ - tmp_new_parts = new_parts; - new_parts = (SinglePartitionSpec **) - palloc0(nparts * sizeof(SinglePartitionSpec *)); - for (i = 0; i < nparts; i++) - new_parts[i] = tmp_new_parts[lower_bounds[i]->index]; - - pfree(tmp_new_parts); - pfree(lower_bounds); - } - - defaultPartOid = - get_default_oid_from_partdesc(RelationGetPartitionDesc(parent, true)); - - /* isSplitPartDefault flag: is split partition a DEFAULT partition? */ - isSplitPartDefault = (defaultPartOid == splitPartOid); - - if (isSplitPartDefault && default_index < 0) - { - ereport(ERROR, - (errcode(ERRCODE_INVALID_OBJECT_DEFINITION), - errmsg("one partition in the list should be DEFAULT because split partition is DEFAULT")), - parser_errposition(pstate, ((SinglePartitionSpec *) linitial(partlist))->name->location)); - } - else if (!isSplitPartDefault && (default_index >= 0) && OidIsValid(defaultPartOid)) - { - SinglePartitionSpec *spsDef = - (SinglePartitionSpec *) list_nth(partlist, default_index); - - ereport(ERROR, - (errcode(ERRCODE_INVALID_OBJECT_DEFINITION), - errmsg("new partition cannot be DEFAULT because DEFAULT partition already exists")), - parser_errposition(pstate, spsDef->name->location)); - } - - /* Indicator that partitioned table has (or will have) DEFAULT partition */ - existsDefaultPart = OidIsValid(defaultPartOid) || (default_index >= 0); - - for (i = 0; i < nparts; i++) - { - SinglePartitionSpec *sps = new_parts[i]; - - if (isSplitPartDefault) - { - /* - * In case split partition is DEFAULT partition we can use any - * free ranges - as when creating a new partition. - */ - check_new_partition_bound(sps->name->relname, parent, sps->bound, - pstate); - } - else - { - /* - * Checks that bound of current partition is inside bound of split - * partition. For range partitioning: checks that upper bound of - * previous partition is equal to lower bound of current - * partition. For list partitioning: checks that split partition - * contains all values of current partition. - */ - if (strategy == PARTITION_STRATEGY_RANGE) - { - bool first = (i == 0); - bool last = (i == (nparts - 1)); - - check_partition_bounds_for_split_range(parent, sps->name->relname, sps->bound, - splitPartOid, splitPartName, - first, last, - existsDefaultPart, pstate); - } - else - check_partition_bounds_for_split_list(parent, sps->name->relname, - sps->bound, splitPartOid, pstate); - } - - /* Ranges of new partitions should not overlap. */ - if (strategy == PARTITION_STRATEGY_RANGE && spsPrev) - check_two_partitions_bounds_range(parent, spsPrev->name, spsPrev->bound, - sps->name, sps->bound, existsDefaultPart, pstate); - - spsPrev = sps; - - /* Check: new partitions should have different names. */ - for (j = i + 1; j < nparts; j++) - { - SinglePartitionSpec *sps2 = new_parts[j]; - - if (equal(sps->name, sps2->name)) - ereport(ERROR, - (errcode(ERRCODE_DUPLICATE_TABLE), - errmsg("name \"%s\" is already used", sps2->name->relname)), - parser_errposition(pstate, sps2->name->location)); - } - } - - if (strategy == PARTITION_STRATEGY_LIST) - { - /* Values of new partitions should not overlap. */ - check_partitions_not_overlap_list(parent, new_parts, nparts, - pstate); - - /* - * Need to check that all values of split partition contains in new - * partitions. Skip this check if DEFAULT partition exists. - */ - if (!existsDefaultPart) - check_parent_values_in_new_partitions(parent, splitPartOid, - new_parts, nparts, pstate); - } - - pfree(new_parts); -} - -/* - * calculate_partition_bound_for_merge - * - * Calculates the bound of merged partition "spec" by using the bounds of - * partitions to be merged. - * - * parent: partitioned table - * partNames: names of partitions to be merged - * partOids: Oids of partitions to be merged - * spec (out): bounds specification of the merged partition - * pstate: pointer to ParseState struct for determine error position - */ -void -calculate_partition_bound_for_merge(Relation parent, - List *partNames, - List *partOids, - PartitionBoundSpec *spec, - ParseState *pstate) -{ - PartitionKey key = RelationGetPartitionKey(parent); - PartitionBoundSpec *bound; - - Assert(!spec->is_default); - - switch (key->strategy) - { - case PARTITION_STRATEGY_RANGE: - { - int i; - PartitionRangeBound **lower_bounds; - int nparts = list_length(partOids); - List *bounds = NIL; - - lower_bounds = (PartitionRangeBound **) - palloc0(nparts * sizeof(PartitionRangeBound *)); - - /* - * Create array of lower bounds and list of - * PartitionBoundSpec. - */ - for (i = 0; i < nparts; i++) - { - bound = get_partition_bound_spec(list_nth_oid(partOids, i), - (RangeVar *) list_nth(partNames, i)); - - lower_bounds[i] = make_one_partition_rbound(key, i, bound->lowerdatums, true); - bounds = lappend(bounds, bound); - } - - /* Sort array of lower bounds. */ - qsort_arg(lower_bounds, nparts, sizeof(PartitionRangeBound *), - qsort_partition_rbound_cmp, (void *) key); - - /* Ranges of partitions should not overlap. */ - for (i = 1; i < nparts; i++) - { - int index = lower_bounds[i]->index; - int prev_index = lower_bounds[i - 1]->index; - - check_two_partitions_bounds_range(parent, - (RangeVar *) list_nth(partNames, prev_index), - (PartitionBoundSpec *) list_nth(bounds, prev_index), - (RangeVar *) list_nth(partNames, index), - (PartitionBoundSpec *) list_nth(bounds, index), - false, pstate); - } - - /* - * Lower bound of first partition is the lower bound of merged - * partition. - */ - spec->lowerdatums = - ((PartitionBoundSpec *) list_nth(bounds, lower_bounds[0]->index))->lowerdatums; - - /* - * Upper bound of last partition is the upper bound of merged - * partition. - */ - spec->upperdatums = - ((PartitionBoundSpec *) list_nth(bounds, lower_bounds[nparts - 1]->index))->upperdatums; - - pfree(lower_bounds); - list_free(bounds); - break; - } - - case PARTITION_STRATEGY_LIST: - { - ListCell *listptr, - *listptr2; - - /* Consolidate bounds for all partitions in the list. */ - forboth(listptr, partOids, listptr2, partNames) - { - RangeVar *name = (RangeVar *) lfirst(listptr2); - Oid curOid = lfirst_oid(listptr); - - bound = get_partition_bound_spec(curOid, name); - spec->listdatums = list_concat(spec->listdatums, bound->listdatums); - } - break; - } - - default: - elog(ERROR, "unexpected partition strategy: %d", - (int) key->strategy); - } -} diff --git a/src/backend/partitioning/partdesc.c b/src/backend/partitioning/partdesc.c index c661a303bf1..b4e0ed0e710 100644 --- a/src/backend/partitioning/partdesc.c +++ b/src/backend/partitioning/partdesc.c @@ -209,6 +209,10 @@ RelationBuildPartitionDesc(Relation rel, bool omit_detached) * shared queue. We solve this problem by reading pg_class directly * for the desired tuple. * + * If the partition recently detached is also dropped, we get no tuple + * from the scan. In that case, we also retry, and next time through + * here, we don't see that partition anymore. + * * The other problem is that DETACH CONCURRENTLY is in the process of * removing a partition, which happens in two steps: first it marks it * as "detach pending", commits, then unsets relpartbound. If @@ -223,8 +227,6 @@ RelationBuildPartitionDesc(Relation rel, bool omit_detached) Relation pg_class; SysScanDesc scan; ScanKeyData key[1]; - Datum datum; - bool isnull; pg_class = table_open(RelationRelationId, AccessShareLock); ScanKeyInit(&key[0], @@ -233,17 +235,29 @@ RelationBuildPartitionDesc(Relation rel, bool omit_detached) ObjectIdGetDatum(inhrelid)); scan = systable_beginscan(pg_class, ClassOidIndexId, true, NULL, 1, key); + + /* + * We could get one tuple from the scan (the normal case), or zero + * tuples if the table has been dropped meanwhile. + */ tuple = systable_getnext(scan); - datum = heap_getattr(tuple, Anum_pg_class_relpartbound, - RelationGetDescr(pg_class), &isnull); - if (!isnull) - boundspec = stringToNode(TextDatumGetCString(datum)); + if (HeapTupleIsValid(tuple)) + { + Datum datum; + bool isnull; + + datum = heap_getattr(tuple, Anum_pg_class_relpartbound, + RelationGetDescr(pg_class), &isnull); + if (!isnull) + boundspec = stringToNode(TextDatumGetCString(datum)); + } systable_endscan(scan); table_close(pg_class, AccessShareLock); /* - * If we still don't get a relpartbound value, then it must be - * because of DETACH CONCURRENTLY. Restart from the top, as + * If we still don't get a relpartbound value (either because + * boundspec is null or because there was no tuple), then it must + * be because of DETACH CONCURRENTLY. Restart from the top, as * explained above. We only do this once, for two reasons: first, * only one DETACH CONCURRENTLY session could affect us at a time, * since each of them would have to wait for the snapshot under diff --git a/src/backend/po/de.po b/src/backend/po/de.po index 19f1a2abea0..34cde05ea89 100644 --- a/src/backend/po/de.po +++ b/src/backend/po/de.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-06-22 13:41+0000\n" -"PO-Revision-Date: 2024-06-24 00:19+0200\n" +"POT-Creation-Date: 2024-10-30 10:41+0000\n" +"PO-Revision-Date: 2024-10-30 16:14+0100\n" "Last-Translator: Peter Eisentraut \n" "Language-Team: German \n" "Language: de\n" @@ -18,10 +18,9 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../common/binaryheap.c:121 ../common/binaryheap.c:159 -#, fuzzy, c-format -#| msgid "out of background worker slots" +#, c-format msgid "out of binary heap slots" -msgstr "alle Slots für Background-Worker belegt" +msgstr "alle Slots für Binary-Heaps belegt" #: ../common/compression.c:132 ../common/compression.c:141 #: ../common/compression.c:150 @@ -81,7 +80,7 @@ msgid "not recorded" msgstr "nicht aufgezeichnet" #: ../common/controldata_utils.c:93 ../common/controldata_utils.c:97 -#: commands/copyfrom.c:1737 commands/extension.c:3538 utils/adt/genfile.c:123 +#: commands/copyfrom.c:1739 commands/extension.c:3538 utils/adt/genfile.c:123 #: utils/time/snapmgr.c:1430 #, c-format msgid "could not open file \"%s\" for reading: %m" @@ -89,14 +88,14 @@ msgstr "konnte Datei »%s« nicht zum Lesen öffnen: %m" #: ../common/controldata_utils.c:108 ../common/controldata_utils.c:110 #: access/transam/timeline.c:143 access/transam/timeline.c:362 -#: access/transam/twophase.c:1369 access/transam/xlog.c:3471 -#: access/transam/xlog.c:4335 access/transam/xlogrecovery.c:1238 +#: access/transam/twophase.c:1369 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 #: 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:5084 -#: replication/logical/snapbuild.c:2035 replication/slot.c:2236 +#: replication/logical/reorderbuffer.c:5113 +#: replication/logical/snapbuild.c:2052 replication/slot.c:2236 #: replication/slot.c:2277 replication/walsender.c:655 #: 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 @@ -105,9 +104,9 @@ msgid "could not read file \"%s\": %m" msgstr "konnte Datei »%s« nicht lesen: %m" #: ../common/controldata_utils.c:116 ../common/controldata_utils.c:119 -#: access/transam/xlog.c:3476 access/transam/xlog.c:4340 +#: access/transam/xlog.c:3482 access/transam/xlog.c:4346 #: replication/logical/origin.c:750 replication/logical/origin.c:789 -#: replication/logical/snapbuild.c:2040 replication/slot.c:2240 +#: replication/logical/snapbuild.c:2057 replication/slot.c:2240 #: replication/slot.c:2281 replication/walsender.c:660 #: utils/cache/relmapper.c:833 #, c-format @@ -119,14 +118,14 @@ msgstr "konnte Datei »%s« nicht lesen: %d von %zu gelesen" #: 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:1381 -#: access/transam/twophase.c:1793 access/transam/xlog.c:3317 -#: access/transam/xlog.c:3511 access/transam/xlog.c:3516 -#: access/transam/xlog.c:3652 access/transam/xlog.c:4305 -#: access/transam/xlog.c:5239 commands/copyfrom.c:1797 commands/copyto.c:325 +#: access/transam/twophase.c:1800 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 #: libpq/be-fsstubs.c:470 libpq/be-fsstubs.c:540 #: replication/logical/origin.c:683 replication/logical/origin.c:822 -#: replication/logical/reorderbuffer.c:5136 -#: replication/logical/snapbuild.c:1802 replication/logical/snapbuild.c:1926 +#: 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 @@ -158,31 +157,31 @@ msgstr "" #: ../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:1325 access/transam/xlog.c:3224 -#: access/transam/xlog.c:3387 access/transam/xlog.c:3426 -#: access/transam/xlog.c:3619 access/transam/xlog.c:4325 +#: access/transam/twophase.c:1325 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:4263 access/transam/xlogrecovery.c:4366 #: 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:3737 -#: replication/logical/reorderbuffer.c:4291 -#: replication/logical/reorderbuffer.c:5064 -#: replication/logical/snapbuild.c:1757 replication/logical/snapbuild.c:1867 +#: 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 -#: utils/cache/relmapper.c:935 utils/error/elog.c:2091 +#: utils/cache/relmapper.c:935 utils/error/elog.c:2124 #: utils/init/miscinit.c:1526 utils/init/miscinit.c:1660 -#: utils/init/miscinit.c:1737 utils/misc/guc.c:4727 utils/misc/guc.c:4777 +#: utils/init/miscinit.c:1737 utils/misc/guc.c:4736 utils/misc/guc.c:4786 #, c-format msgid "could not open file \"%s\": %m" msgstr "konnte Datei »%s« nicht öffnen: %m" #: ../common/controldata_utils.c:246 ../common/controldata_utils.c:249 -#: access/transam/twophase.c:1766 access/transam/twophase.c:1775 -#: access/transam/xlog.c:9210 access/transam/xlogfuncs.c:698 +#: access/transam/twophase.c:1773 access/transam/twophase.c:1782 +#: access/transam/xlog.c:9280 access/transam/xlogfuncs.c:698 #: backup/basebackup_server.c:173 backup/basebackup_server.c:266 #: backup/walsummary.c:304 postmaster/postmaster.c:4125 #: postmaster/syslogger.c:1522 postmaster/syslogger.c:1535 @@ -195,14 +194,14 @@ msgstr "konnte Datei »%s« nicht schreiben: %m" #: ../common/file_utils.c:418 ../common/file_utils.c:488 #: 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:1787 -#: access/transam/xlog.c:3310 access/transam/xlog.c:3505 -#: access/transam/xlog.c:4298 access/transam/xlog.c:8585 -#: access/transam/xlog.c:8630 backup/basebackup_server.c:207 -#: commands/dbcommands.c:514 replication/logical/snapbuild.c:1795 +#: access/transam/timeline.c:506 access/transam/twophase.c:1794 +#: 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:1329 storage/smgr/md.c:1374 -#: storage/sync/sync.c:446 utils/misc/guc.c:4480 +#: storage/sync/sync.c:446 utils/misc/guc.c:4489 #, c-format msgid "could not fsync file \"%s\": %m" msgstr "konnte Datei »%s« nicht fsyncen: %m" @@ -219,20 +218,20 @@ msgstr "konnte Datei »%s« nicht fsyncen: %m" #: 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:3559 postmaster/postmaster.c:4019 -#: postmaster/postmaster.c:4381 postmaster/walsummarizer.c:820 +#: postmaster/postmaster.c:4381 postmaster/walsummarizer.c:935 #: replication/libpqwalreceiver/libpqwalreceiver.c:387 -#: replication/logical/logical.c:209 replication/walsender.c:835 +#: 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:1453 -#: storage/ipc/procarray.c:2207 storage/ipc/procarray.c:2214 -#: storage/ipc/procarray.c:2719 storage/ipc/procarray.c:3423 +#: 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/adt/formatting.c:1725 utils/adt/formatting.c:1873 -#: utils/adt/formatting.c:2075 utils/adt/pg_locale.c:509 -#: utils/adt/pg_locale.c:673 utils/fmgr/dfmgr.c:229 utils/hash/dynahash.c:516 +#: 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:4458 utils/misc/tzparser.c:477 utils/mmgr/aset.c:451 +#: utils/misc/guc.c:4467 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 @@ -276,8 +275,8 @@ msgstr "konnte kein »%s« zum Ausführen finden" msgid "could not resolve path \"%s\" to absolute form: %m" msgstr "konnte Pfad »%s« nicht in absolute Form auflösen: %m" -#: ../common/exec.c:382 commands/collationcmds.c:876 commands/copyfrom.c:1721 -#: commands/copyto.c:649 libpq/be-secure-common.c:59 +#: ../common/exec.c:382 commands/collationcmds.c:876 commands/copyfrom.c:1723 +#: commands/copyto.c:654 libpq/be-secure-common.c:59 #, c-format msgid "could not execute command \"%s\": %m" msgstr "konnte Befehl »%s« nicht ausführen: %m" @@ -322,10 +321,10 @@ msgstr "konnte Dateisystem für Datei »%s« nicht synchronisieren: %m" #: ../common/file_utils.c:570 access/transam/twophase.c:1337 #: 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:1747 -#: commands/copyto.c:695 commands/extension.c:3527 commands/tablespace.c:804 +#: 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:1653 replication/logical/snapbuild.c:2156 +#: 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 #: 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 @@ -355,7 +354,7 @@ msgstr "konnte Verzeichnis »%s« nicht lesen: %m" #: ../common/file_utils.c:498 access/transam/xlogarchive.c:389 #: postmaster/pgarch.c:834 postmaster/syslogger.c:1559 -#: replication/logical/snapbuild.c:1814 replication/slot.c:936 +#: replication/logical/snapbuild.c:1831 replication/slot.c:936 #: replication/slot.c:1998 replication/slot.c:2140 storage/file/fd.c:838 #: utils/time/snapmgr.c:1255 #, c-format @@ -549,7 +548,7 @@ msgid "unexpected manifest version" msgstr "unerwartete Manifestversion" #: ../common/parse_manifest.c:637 -msgid "manifest system identifier not an integer" +msgid "system identifier in manifest not an integer" msgstr "Systemidentifikator im Manifest ist keine ganze Zahl" #: ../common/parse_manifest.c:662 @@ -646,8 +645,8 @@ msgstr "konnte Backup-Manifest nicht parsen: %s" #: ../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:4662 utils/misc/guc.c:6887 -#: utils/misc/guc.c:6928 +#: utils/misc/guc.c:3283 utils/misc/guc.c:4671 utils/misc/guc.c:6896 +#: utils/misc/guc.c:6937 #, c-format msgid "invalid value for parameter \"%s\": \"%s\"" msgstr "ungültiger Wert für Parameter »%s«: »%s«" @@ -708,11 +707,11 @@ msgid "could not get exit code from subprocess: error code %lu" msgstr "konnte Statuscode des Subprozesses nicht ermitteln: Fehlercode %lu" #: ../common/rmtree.c:97 access/heap/rewriteheap.c:1214 -#: access/transam/twophase.c:1726 access/transam/xlogarchive.c:119 +#: access/transam/twophase.c:1733 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:4560 -#: replication/logical/snapbuild.c:1695 replication/logical/snapbuild.c:2129 +#: 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 #: storage/smgr/md.c:381 storage/smgr/md.c:440 storage/sync/sync.c:243 @@ -923,7 +922,7 @@ msgid "could not open parent table of index \"%s\"" msgstr "konnte Basistabelle von Index »%s« nicht öffnen" #: access/brin/brin.c:1461 access/brin/brin.c:1557 access/gin/ginfast.c:1085 -#: parser/parse_utilcmd.c:2252 +#: parser/parse_utilcmd.c:2277 #, c-format msgid "index \"%s\" is not valid" msgstr "Index »%s« ist nicht gültig" @@ -1054,8 +1053,8 @@ msgstr "Anzahl der Indexspalten (%d) überschreitet Maximum (%d)" msgid "index row requires %zu bytes, maximum size is %zu" msgstr "Indexzeile benötigt %zu Bytes, Maximalgröße ist %zu" -#: access/common/printtup.c:291 commands/explain.c:5375 tcop/fastpath.c:107 -#: tcop/fastpath.c:454 tcop/postgres.c:1940 +#: access/common/printtup.c:292 commands/explain.c:5376 tcop/fastpath.c:107 +#: tcop/fastpath.c:454 tcop/postgres.c:1956 #, c-format msgid "unsupported format code: %d" msgstr "nicht unterstützter Formatcode: %d" @@ -1193,8 +1192,8 @@ msgstr "alte GIN-Indexe unterstützen keine Scans des ganzen Index oder Suchen n msgid "To fix this, do REINDEX INDEX \"%s\"." msgstr "Um das zu reparieren, führen Sie REINDEX INDEX \"%s\" aus." -#: access/gin/ginutil.c:147 executor/execExpr.c:2191 -#: utils/adt/arrayfuncs.c:4009 utils/adt/arrayfuncs.c:6705 +#: access/gin/ginutil.c:147 executor/execExpr.c:2192 +#: utils/adt/arrayfuncs.c:4016 utils/adt/arrayfuncs.c:6712 #: utils/adt/rowtypes.c:974 #, c-format msgid "could not identify a comparison function for type %s" @@ -1273,19 +1272,19 @@ msgstr "Operatorfamilie »%s« für Zugriffsmethode %s enthält nicht unterstüt msgid "operator family \"%s\" of access method %s contains incorrect ORDER BY opfamily specification for operator %s" msgstr "Operatorfamilie »%s« für Zugriffsmethode %s enthält ungültige ORDER-BY-Operatorfamilienangabe für Operator %s" -#: access/hash/hashfunc.c:277 access/hash/hashfunc.c:331 -#: utils/adt/varchar.c:1008 utils/adt/varchar.c:1063 +#: access/hash/hashfunc.c:277 access/hash/hashfunc.c:333 +#: utils/adt/varchar.c:1008 utils/adt/varchar.c:1065 #, c-format msgid "could not determine which collation to use for string hashing" msgstr "konnte die für das Zeichenketten-Hashing zu verwendende Sortierfolge nicht bestimmen" -#: access/hash/hashfunc.c:278 access/hash/hashfunc.c:332 catalog/heap.c:672 -#: catalog/heap.c:678 commands/createas.c:201 commands/createas.c:510 -#: commands/indexcmds.c:2045 commands/tablecmds.c:18071 commands/view.c:81 +#: access/hash/hashfunc.c:278 access/hash/hashfunc.c:334 catalog/heap.c:672 +#: catalog/heap.c:678 commands/createas.c:201 commands/createas.c:508 +#: commands/indexcmds.c:2014 commands/tablecmds.c:18178 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 -#: utils/adt/varchar.c:1009 utils/adt/varchar.c:1064 utils/adt/varlena.c:1521 +#: utils/adt/varchar.c:1009 utils/adt/varchar.c:1066 utils/adt/varlena.c:1521 #, c-format msgid "Use the COLLATE clause to set the collation explicitly." msgstr "Verwenden Sie die COLLATE-Klausel, um die Sortierfolge explizit zu setzen." @@ -1336,37 +1335,43 @@ msgstr "in Operatorfamilie »%s« für Zugriffsmethode %s fehlt Support-Funktion 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:2194 +#: access/heap/heapam.c:2204 #, 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:2713 +#: access/heap/heapam.c:2723 #, 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:2760 +#: access/heap/heapam.c:2770 #, c-format msgid "attempted to delete invisible tuple" msgstr "Versuch ein unsichtbares Tupel zu löschen" -#: access/heap/heapam.c:3208 access/heap/heapam.c:6081 +#: access/heap/heapam.c:3218 access/heap/heapam.c:6515 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:3336 +#: access/heap/heapam.c:3350 #, c-format msgid "attempted to update invisible tuple" msgstr "Versuch ein unsichtbares Tupel zu aktualisieren" -#: access/heap/heapam.c:4725 access/heap/heapam.c:4763 -#: access/heap/heapam.c:5028 access/heap/heapam_handler.c:468 +#: access/heap/heapam.c:4861 access/heap/heapam.c:4899 +#: access/heap/heapam.c:5164 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:6267 commands/trigger.c:3340 +#: executor/nodeModifyTable.c:2376 executor/nodeModifyTable.c:2467 +#, c-format +msgid "tuple to be updated was already modified by an operation triggered by the current command" +msgstr "das zu aktualisierende Tupel wurde schon durch eine vom aktuellen Befehl ausgelöste Operation verändert" + #: access/heap/heapam_handler.c:413 #, c-format msgid "tuple to be locked was already moved to another partition due to concurrent update" @@ -1384,12 +1389,12 @@ msgstr "konnte nicht in Datei »%s« schreiben, %d von %d geschrieben: %m" #: access/heap/rewriteheap.c:977 access/heap/rewriteheap.c:1094 #: access/transam/timeline.c:329 access/transam/timeline.c:481 -#: access/transam/xlog.c:3249 access/transam/xlog.c:3440 -#: access/transam/xlog.c:4277 access/transam/xlog.c:9199 +#: access/transam/xlog.c:3255 access/transam/xlog.c:3446 +#: access/transam/xlog.c:4283 access/transam/xlog.c:9269 #: access/transam/xlogfuncs.c:692 backup/basebackup_server.c:149 #: backup/basebackup_server.c:242 commands/dbcommands.c:494 -#: postmaster/launch_backend.c:328 postmaster/postmaster.c:4112 -#: postmaster/walsummarizer.c:1067 replication/logical/origin.c:603 +#: postmaster/launch_backend.c:340 postmaster/postmaster.c:4112 +#: postmaster/walsummarizer.c:1212 replication/logical/origin.c:603 #: replication/slot.c:2059 storage/file/copydir.c:157 storage/smgr/md.c:230 #: utils/time/snapmgr.c:1234 #, c-format @@ -1403,15 +1408,15 @@ msgstr "konnte Datei »%s« nicht auf %u kürzen: %m" #: access/heap/rewriteheap.c:1122 access/transam/timeline.c:384 #: access/transam/timeline.c:424 access/transam/timeline.c:498 -#: access/transam/xlog.c:3299 access/transam/xlog.c:3496 -#: access/transam/xlog.c:4289 commands/dbcommands.c:506 -#: postmaster/launch_backend.c:339 postmaster/launch_backend.c:351 +#: access/transam/xlog.c:3305 access/transam/xlog.c:3502 +#: access/transam/xlog.c:4295 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:1771 +#: 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:1601 -#: utils/init/miscinit.c:1612 utils/init/miscinit.c:1620 utils/misc/guc.c:4441 -#: utils/misc/guc.c:4472 utils/misc/guc.c:5625 utils/misc/guc.c:5643 +#: utils/init/miscinit.c:1612 utils/init/miscinit.c:1620 utils/misc/guc.c:4450 +#: utils/misc/guc.c:4481 utils/misc/guc.c:5634 utils/misc/guc.c:5652 #: utils/time/snapmgr.c:1239 utils/time/snapmgr.c:1246 #, c-format msgid "could not write to file \"%s\": %m" @@ -1518,17 +1523,17 @@ msgstr "%u Seiten der Tabelle (%.2f%% der Gesamtzahl) haben %lld tote Item-Bezei msgid "index \"%s\": pages: %u in total, %u newly deleted, %u currently deleted, %u reusable\n" msgstr "Index »%s«: Seiten: %u gesamt, %u neu gelöscht, %u gegenwärtig gelöscht, %u wiederverwendbar\n" -#: access/heap/vacuumlazy.c:738 commands/analyze.c:789 +#: access/heap/vacuumlazy.c:738 commands/analyze.c:794 #, c-format msgid "I/O timings: read: %.3f ms, write: %.3f ms\n" msgstr "I/O-Zeitmessungen: Lesen: %.3f ms, Schreiben: %.3f ms\n" -#: access/heap/vacuumlazy.c:748 commands/analyze.c:792 +#: access/heap/vacuumlazy.c:748 commands/analyze.c:797 #, c-format msgid "avg read rate: %.3f MB/s, avg write rate: %.3f MB/s\n" msgstr "durchschn. Leserate: %.3f MB/s, durchschn. Schreibrate: %.3f MB/s\n" -#: access/heap/vacuumlazy.c:751 commands/analyze.c:794 +#: access/heap/vacuumlazy.c:751 commands/analyze.c:799 #, c-format msgid "buffer usage: %lld hits, %lld misses, %lld dirtied\n" msgstr "Puffer-Verwendung: %lld Treffer, %lld Verfehlen, %lld geändert\n" @@ -1538,7 +1543,7 @@ msgstr "Puffer-Verwendung: %lld Treffer, %lld Verfehlen, %lld geändert\n" msgid "WAL usage: %lld records, %lld full page images, %llu bytes\n" msgstr "WAL-Benutzung: %lld Einträge, %lld Full Page Images, %llu Bytes\n" -#: access/heap/vacuumlazy.c:760 commands/analyze.c:798 +#: access/heap/vacuumlazy.c:760 commands/analyze.c:803 #, c-format msgid "system usage: %s" msgstr "Systembenutzung: %s" @@ -1642,19 +1647,19 @@ msgstr "Zugriffsmethode »%s« ist nicht vom Typ %s" msgid "index access method \"%s\" does not have a handler" msgstr "Indexzugriffsmethode »%s« hat keinen Handler" -#: access/index/genam.c:487 +#: access/index/genam.c:489 #, c-format msgid "transaction aborted during system catalog scan" msgstr "Transaktion während eines Systemkatalog-Scans abgebrochen" -#: access/index/genam.c:655 access/index/indexam.c:82 +#: access/index/genam.c:657 access/index/indexam.c:82 #, c-format msgid "cannot access index \"%s\" while it is being reindexed" msgstr "auf Index »%s« kann nicht zugegriffen werden, während er reindiziert wird" #: access/index/indexam.c:203 catalog/objectaddress.c:1356 -#: commands/indexcmds.c:2873 commands/tablecmds.c:281 commands/tablecmds.c:305 -#: commands/tablecmds.c:17766 commands/tablecmds.c:19584 +#: commands/indexcmds.c:2844 commands/tablecmds.c:281 commands/tablecmds.c:305 +#: commands/tablecmds.c:17873 commands/tablecmds.c:19740 #, c-format msgid "\"%s\" is not an index" msgstr "»%s« ist kein Index" @@ -1680,7 +1685,7 @@ msgid "This may be because of a non-immutable index expression." msgstr "Das kann daran liegen, dass der Indexausdruck nicht »immutable« ist." #: access/nbtree/nbtpage.c:157 access/nbtree/nbtpage.c:611 -#: parser/parse_utilcmd.c:2298 +#: parser/parse_utilcmd.c:2323 #, c-format msgid "index \"%s\" is not a btree" msgstr "Index »%s« ist kein B-Tree" @@ -1700,17 +1705,17 @@ msgstr "Index »%s« enthält eine halbtote interne Seite" msgid "This can be caused by an interrupted VACUUM in version 9.3 or older, before upgrade. Please REINDEX it." msgstr "Die Ursache kann ein unterbrochenes VACUUM in Version 9.3 oder älter vor dem Upgrade sein. Bitte REINDEX durchführen." -#: access/nbtree/nbtutils.c:5112 +#: access/nbtree/nbtutils.c:5102 #, c-format msgid "index row size %zu exceeds btree version %u maximum %zu for index \"%s\"" msgstr "Größe %zu der Indexzeile überschreitet btree-Version %u Maximum %zu für Index »%s«" -#: access/nbtree/nbtutils.c:5118 +#: access/nbtree/nbtutils.c:5108 #, c-format msgid "Index row references tuple (%u,%u) in relation \"%s\"." msgstr "Indexzeile verweist auf Tupel (%u,%u) in Relation »%s«." -#: access/nbtree/nbtutils.c:5122 +#: access/nbtree/nbtutils.c:5112 #, c-format msgid "" "Values larger than 1/3 of a buffer page cannot be indexed.\n" @@ -1725,7 +1730,7 @@ msgid "operator family \"%s\" of access method %s is missing support function fo msgstr "in Operatorfamilie »%s« für Zugriffsmethode %s fehlt Support-Funktion für Typen %s und %s" #: access/sequence/sequence.c:75 access/table/table.c:145 -#: optimizer/util/plancat.c:143 +#: optimizer/util/plancat.c:144 #, c-format msgid "cannot open relation \"%s\"" msgstr "kann Relation »%s« nicht öffnen" @@ -1875,15 +1880,12 @@ 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 -#, fuzzy, c-format -#| msgid "" -#| "To avoid a database shutdown, 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." +#, 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 "" -"Um ein Abschalten der Datenbank zu vermeiden, führen Sie ein komplettes VACUUM über diese Datenbank aus.\n" +"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 @@ -1896,17 +1898,17 @@ msgstr "MultiXact-Member-Wraparound-Schutz ist deaktiviert, weil die älteste ge msgid "MultiXact member wraparound protections are now enabled" msgstr "MultiXact-Member-Wraparound-Schutz ist jetzt aktiviert" -#: access/transam/multixact.c:3179 +#: access/transam/multixact.c:3180 #, 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:3197 +#: access/transam/multixact.c:3198 #, 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:3516 +#: access/transam/multixact.c:3517 #, c-format msgid "invalid MultiXactId: %u" msgstr "ungültige MultiXactId: %u" @@ -2001,65 +2003,65 @@ msgstr "Bestehender Resource-Manager mit ID %d hat den gleichen Namen." msgid "registered custom resource manager \"%s\" with ID %d" msgstr "Custom-Resource-Manager »%s« mit ID %d wurde registriert" -#: access/transam/slru.c:346 +#: access/transam/slru.c:361 #, c-format msgid "\"%s\" must be a multiple of %d" msgstr "»%s« muss ein Vielfaches von %d sein" -#: access/transam/slru.c:815 +#: access/transam/slru.c:830 #, c-format msgid "file \"%s\" doesn't exist, reading as zeroes" msgstr "Datei »%s« existiert nicht, wird als Nullen eingelesen" -#: access/transam/slru.c:1044 access/transam/slru.c:1050 -#: access/transam/slru.c:1058 access/transam/slru.c:1063 -#: access/transam/slru.c:1070 access/transam/slru.c:1075 -#: access/transam/slru.c:1082 access/transam/slru.c:1089 +#: 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 #, c-format msgid "could not access status of transaction %u" msgstr "konnte auf den Status von Transaktion %u nicht zugreifen" -#: access/transam/slru.c:1045 +#: access/transam/slru.c:1060 #, c-format msgid "Could not open file \"%s\": %m." msgstr "Konnte Datei »%s« nicht öffnen: %m." -#: access/transam/slru.c:1051 +#: access/transam/slru.c:1066 #, c-format msgid "Could not seek in file \"%s\" to offset %d: %m." msgstr "Konnte Positionszeiger in Datei »%s« nicht auf %d setzen: %m." -#: access/transam/slru.c:1059 +#: access/transam/slru.c:1074 #, c-format msgid "Could not read from file \"%s\" at offset %d: %m." msgstr "Konnte nicht aus Datei »%s« bei Position %d lesen: %m." -#: access/transam/slru.c:1064 +#: access/transam/slru.c:1079 #, c-format msgid "Could not read from file \"%s\" at offset %d: read too few bytes." msgstr "Konnte nicht aus Datei »%s« bei Position %d lesen: zu wenige Bytes gelesen." -#: access/transam/slru.c:1071 +#: access/transam/slru.c:1086 #, c-format msgid "Could not write to file \"%s\" at offset %d: %m." msgstr "Konnte nicht in Datei »%s« bei Position %d schreiben: %m." -#: access/transam/slru.c:1076 +#: access/transam/slru.c:1091 #, c-format msgid "Could not write to file \"%s\" at offset %d: wrote too few bytes." msgstr "Konnte nicht in Datei »%s« bei Position %d schreiben: zu wenige Bytes geschrieben." -#: access/transam/slru.c:1083 +#: access/transam/slru.c:1098 #, c-format msgid "Could not fsync file \"%s\": %m." msgstr "Konnte Datei »%s« nicht fsyncen: %m." -#: access/transam/slru.c:1090 +#: access/transam/slru.c:1105 #, c-format msgid "Could not close file \"%s\": %m." msgstr "Konnte Datei »%s« nicht schließen: %m." -#: access/transam/slru.c:1416 +#: access/transam/slru.c:1431 #, c-format msgid "could not truncate directory \"%s\": apparent wraparound" msgstr "konnte Verzeichnis »%s« nicht leeren: anscheinender Überlauf" @@ -2124,12 +2126,12 @@ msgstr "Setzen Sie »max_prepared_transactions« auf einen Wert höher als null. msgid "transaction identifier \"%s\" is already in use" msgstr "Transaktionsbezeichner »%s« wird bereits verwendet" -#: access/transam/twophase.c:404 access/transam/twophase.c:2541 +#: access/transam/twophase.c:404 access/transam/twophase.c:2547 #, c-format msgid "maximum number of prepared transactions reached" msgstr "maximale Anzahl vorbereiteter Transaktionen erreicht" -#: access/transam/twophase.c:405 access/transam/twophase.c:2542 +#: access/transam/twophase.c:405 access/transam/twophase.c:2548 #, c-format msgid "Increase \"max_prepared_transactions\" (currently %d)." msgstr "Erhöhen Sie »max_prepared_transactions« (aktuell %d)." @@ -2202,7 +2204,7 @@ msgid "calculated CRC checksum does not match value stored in file \"%s\"" msgstr "berechnete CRC-Prüfsumme stimmt nicht mit dem Wert in Datei »%s« überein" #: access/transam/twophase.c:1435 access/transam/xlogrecovery.c:565 -#: postmaster/walsummarizer.c:821 replication/logical/logical.c:210 +#: postmaster/walsummarizer.c:936 replication/logical/logical.c:211 #: replication/walsender.c:836 #, c-format msgid "Failed while allocating a WAL reading processor." @@ -2223,91 +2225,90 @@ msgstr "konnte Zweiphasen-Status nicht aus dem WAL bei %X/%X lesen" msgid "expected two-phase state data is not present in WAL at %X/%X" msgstr "erwartete Zweiphasen-Status-Daten sind nicht im WAL bei %X/%X vorhanden" -#: access/transam/twophase.c:1754 +#: access/transam/twophase.c:1761 #, c-format msgid "could not recreate file \"%s\": %m" msgstr "konnte Datei »%s« nicht neu erzeugen: %m" -#: access/transam/twophase.c:1881 +#: access/transam/twophase.c:1888 #, c-format msgid "%u two-phase state file was written for a long-running prepared transaction" msgid_plural "%u two-phase state files were written for long-running prepared transactions" msgstr[0] "%u Zweiphasen-Statusdatei wurde für eine lange laufende vorbereitete Transaktion geschrieben" msgstr[1] "%u Zweiphasen-Statusdateien wurden für lange laufende vorbereitete Transaktionen geschrieben" -#: access/transam/twophase.c:2117 +#: access/transam/twophase.c:2123 #, c-format msgid "recovering prepared transaction %u from shared memory" msgstr "Wiederherstellung der vorbereiteten Transaktion %u aus dem Shared Memory" -#: access/transam/twophase.c:2210 +#: access/transam/twophase.c:2216 #, c-format msgid "removing stale two-phase state file for transaction %u" msgstr "entferne abgelaufene Zweiphasen-Statusdatei für Transaktion %u" -#: access/transam/twophase.c:2217 +#: access/transam/twophase.c:2223 #, c-format msgid "removing stale two-phase state from memory for transaction %u" msgstr "entferne abgelaufenen Zweiphasen-Status aus dem Speicher für Transaktion %u" -#: access/transam/twophase.c:2230 +#: access/transam/twophase.c:2236 #, c-format msgid "removing future two-phase state file for transaction %u" msgstr "entferne zukünftige Zweiphasen-Statusdatei für Transaktion %u" -#: access/transam/twophase.c:2237 +#: access/transam/twophase.c:2243 #, c-format msgid "removing future two-phase state from memory for transaction %u" msgstr "entferne zukünftigen Zweiphasen-Status aus dem Speicher für Transaktion %u" -#: access/transam/twophase.c:2262 +#: access/transam/twophase.c:2268 #, c-format msgid "corrupted two-phase state file for transaction %u" msgstr "verfälschte Zweiphasen-Statusdatei für Transaktion %u" -#: access/transam/twophase.c:2267 +#: access/transam/twophase.c:2273 #, c-format msgid "corrupted two-phase state in memory for transaction %u" msgstr "verfälschter Zweiphasen-Status im Speicher für Transaktion %u" -#: access/transam/twophase.c:2524 +#: access/transam/twophase.c:2530 #, c-format msgid "could not recover two-phase state file for transaction %u" msgstr "konnte Zweiphasen-Statusdatei für Transaktion %u nicht wiederherstellen" -#: access/transam/twophase.c:2526 +#: access/transam/twophase.c:2532 #, c-format 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:2534 storage/file/fd.c:514 utils/fmgr/dfmgr.c:209 +#: access/transam/twophase.c:2540 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" #: access/transam/varsup.c:156 #, c-format -msgid "database is not accepting commands that assign new XIDs to avoid wraparound data loss in database \"%s\"" -msgstr "Datenbank nimmt keine Befehle an, die neue XIDs zuweisen, um Datenverlust wegen Transaktionsnummernüberlauf in Datenbank »%s« zu vermeiden" +msgid "database is not accepting commands that assign new transaction IDs to avoid wraparound data loss in database \"%s\"" +msgstr "Datenbank nimmt keine Befehle an, die neue Transaktions-IDs zuweisen, um Datenverlust wegen Transaktionsnummernüberlauf in Datenbank »%s« zu vermeiden" #: access/transam/varsup.c:163 #, c-format -msgid "database is not accepting commands that assign new XIDs to avoid wraparound data loss in database with OID %u" -msgstr "Datenbank nimmt keine Befehle an, die neue XIDs zuweisen, um Datenverlust wegen Transaktionsnummernüberlauf in Datenbank mit OID %u zu vermeiden" +msgid "database is not accepting commands that assign new transaction IDs to avoid wraparound data loss in database with OID %u" +msgstr "Datenbank nimmt keine Befehle an, die neue Transaktions-IDs zuweisen, um Datenverlust wegen Transaktionsnummernüberlauf in Datenbank mit OID %u zu vermeiden" #: access/transam/varsup.c:175 access/transam/varsup.c:490 #, c-format msgid "database \"%s\" must be vacuumed within %u transactions" msgstr "Datenbank »%s« muss innerhalb von %u Transaktionen gevacuumt werden" -#: access/transam/varsup.c:178 access/transam/varsup.c:185 -#: access/transam/varsup.c:493 access/transam/varsup.c:500 +#: access/transam/varsup.c:178 #, c-format msgid "" -"To avoid XID assignment failures, execute a database-wide VACUUM in that database.\n" +"To avoid transaction ID 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 "" -"Um ein Fehler bei der Zuweisung von XIDs zu vermeiden, führen Sie ein komplettes VACUUM über diese Datenbank aus.\n" +"Um ein Fehler bei der Zuweisung von Transaktions-IDs 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/varsup.c:182 access/transam/varsup.c:497 @@ -2315,10 +2316,20 @@ msgstr "" msgid "database with OID %u must be vacuumed within %u transactions" msgstr "Datenbank mit OID %u muss innerhalb von %u Transaktionen gevacuumt werden" +#: access/transam/varsup.c:185 access/transam/varsup.c:493 +#: access/transam/varsup.c:500 +#, c-format +msgid "" +"To avoid XID 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 "" +"Um ein Fehler bei der Zuweisung von XIDs 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/xact.c:649 #, c-format -msgid "cannot assign XIDs during a parallel operation" -msgstr "während einer parallelen Operation können keine XIDs zugewiesen werden" +msgid "cannot assign transaction IDs during a parallel operation" +msgstr "während einer parallelen Operation können keine Transaktions-IDs zugewiesen werden" #: access/transam/xact.c:840 #, c-format @@ -2335,564 +2346,564 @@ msgstr "während einer parallelen Operation können keine Befehle gestartet werd 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:1536 +#: 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:1763 +#: 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:2204 access/transam/xlog.c:4495 +#: access/transam/xlog.c:2210 access/transam/xlog.c:4501 #, 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:2222 +#: access/transam/xlog.c:2228 #, c-format msgid "\"%s\" must be set to -1 during binary upgrade mode." msgstr "»%s« muss im Binary-Upgrade-Modus auf -1 gesetzt sein." -#: access/transam/xlog.c:2471 +#: access/transam/xlog.c:2477 #, 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:3733 access/transam/xlogutils.c:831 +#: access/transam/xlog.c:3739 access/transam/xlogutils.c:831 #: replication/walsender.c:3045 #, c-format msgid "requested WAL segment %s has already been removed" msgstr "das angeforderte WAL-Segment %s wurde schon entfernt" -#: access/transam/xlog.c:4055 +#: access/transam/xlog.c:4061 #, c-format msgid "could not rename file \"%s\": %m" msgstr "konnte Datei »%s« nicht umbenennen: %m" -#: access/transam/xlog.c:4098 access/transam/xlog.c:4109 -#: access/transam/xlog.c:4130 +#: access/transam/xlog.c:4104 access/transam/xlog.c:4115 +#: access/transam/xlog.c:4136 #, c-format msgid "required WAL directory \"%s\" does not exist" msgstr "benötigtes WAL-Verzeichnis »%s« existiert nicht" -#: access/transam/xlog.c:4115 access/transam/xlog.c:4136 +#: access/transam/xlog.c:4121 access/transam/xlog.c:4142 #, c-format msgid "creating missing WAL directory \"%s\"" msgstr "erzeuge fehlendes WAL-Verzeichnis »%s«" -#: access/transam/xlog.c:4119 access/transam/xlog.c:4139 -#: commands/dbcommands.c:3242 +#: access/transam/xlog.c:4125 access/transam/xlog.c:4145 +#: 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:4206 +#: access/transam/xlog.c:4212 #, c-format msgid "could not generate secret authorization token" msgstr "konnte geheimes Autorisierungstoken nicht erzeugen" -#: access/transam/xlog.c:4357 access/transam/xlog.c:4367 -#: access/transam/xlog.c:4393 access/transam/xlog.c:4401 -#: access/transam/xlog.c:4409 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:4463 -#: access/transam/xlog.c:4473 access/transam/xlog.c:4481 +#: 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:4461 access/transam/xlog.c:4469 +#: access/transam/xlog.c:4479 access/transam/xlog.c:4487 #: utils/init/miscinit.c:1758 #, c-format msgid "database files are incompatible with server" msgstr "Datenbankdateien sind inkompatibel mit Server" -#: access/transam/xlog.c:4358 +#: access/transam/xlog.c:4364 #, 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:4362 +#: access/transam/xlog.c:4368 #, 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:4368 +#: access/transam/xlog.c:4374 #, 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:4371 access/transam/xlog.c:4397 -#: access/transam/xlog.c:4405 access/transam/xlog.c:4411 +#: access/transam/xlog.c:4377 access/transam/xlog.c:4403 +#: access/transam/xlog.c:4411 access/transam/xlog.c:4417 #, 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:4383 +#: access/transam/xlog.c:4389 #, c-format msgid "incorrect checksum in control file" msgstr "falsche Prüfsumme in Kontrolldatei" -#: access/transam/xlog.c:4394 +#: access/transam/xlog.c:4400 #, 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:4402 +#: access/transam/xlog.c:4408 #, 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:4410 +#: access/transam/xlog.c:4416 #, 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:4416 +#: access/transam/xlog.c:4422 #, 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: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:4459 -#: access/transam/xlog.c:4467 access/transam/xlog.c:4476 -#: access/transam/xlog.c:4484 +#: 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 #, 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:4424 +#: access/transam/xlog.c:4430 #, 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:4432 +#: access/transam/xlog.c:4438 #, 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:4440 +#: access/transam/xlog.c:4446 #, 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:4448 +#: access/transam/xlog.c:4454 #, 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:4456 +#: access/transam/xlog.c:4462 #, 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:4464 +#: access/transam/xlog.c:4470 #, 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:4474 +#: access/transam/xlog.c:4480 #, 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:4482 +#: access/transam/xlog.c:4488 #, 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:4491 +#: access/transam/xlog.c:4497 #, 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:4504 +#: access/transam/xlog.c:4510 #, 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:4508 +#: access/transam/xlog.c:4514 #, 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:4656 catalog/namespace.c:4681 +#: access/transam/xlog.c:4662 catalog/namespace.c:4696 #: commands/tablespace.c:1210 commands/user.c:2529 commands/variable.c:72 -#: replication/slot.c:2429 utils/error/elog.c:2214 +#: replication/slot.c:2429 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:4702 commands/user.c:2545 commands/variable.c:173 -#: utils/error/elog.c:2240 +#: access/transam/xlog.c:4708 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:5122 +#: access/transam/xlog.c:5129 #, 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:5130 +#: access/transam/xlog.c:5137 #, 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:5136 +#: access/transam/xlog.c:5143 #, 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:5354 +#: access/transam/xlog.c:5368 #, 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:5355 +#: access/transam/xlog.c:5369 #, 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:5356 +#: access/transam/xlog.c:5370 #, 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:5421 +#: access/transam/xlog.c:5435 #, c-format msgid "control file contains invalid checkpoint location" msgstr "Kontrolldatei enthält ungültige Checkpoint-Position" -#: access/transam/xlog.c:5432 +#: access/transam/xlog.c:5446 #, c-format msgid "database system was shut down at %s" msgstr "Datenbanksystem wurde am %s heruntergefahren" -#: access/transam/xlog.c:5438 +#: access/transam/xlog.c:5452 #, 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:5444 +#: access/transam/xlog.c:5458 #, 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:5450 +#: access/transam/xlog.c:5464 #, 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:5452 +#: access/transam/xlog.c:5466 #, 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:5458 +#: access/transam/xlog.c:5472 #, 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:5460 +#: access/transam/xlog.c:5474 #, 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:5466 +#: access/transam/xlog.c:5480 #, 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:5473 +#: access/transam/xlog.c:5487 #, c-format msgid "control file contains invalid database cluster state" msgstr "Kontrolldatei enthält ungültigen Datenbankclusterstatus" -#: access/transam/xlog.c:5860 +#: access/transam/xlog.c:5875 #, c-format msgid "WAL ends before end of online backup" msgstr "WAL endet vor dem Ende der Online-Sicherung" -#: access/transam/xlog.c:5861 +#: access/transam/xlog.c:5876 #, 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:5865 +#: access/transam/xlog.c:5880 #, c-format msgid "WAL ends before consistent recovery point" msgstr "WAL endet vor einem konsistenten Wiederherstellungspunkt" -#: access/transam/xlog.c:5911 +#: access/transam/xlog.c:5926 #, c-format msgid "selected new timeline ID: %u" msgstr "gewählte neue Zeitleisten-ID: %u" -#: access/transam/xlog.c:5944 +#: access/transam/xlog.c:5959 #, c-format msgid "archive recovery complete" msgstr "Wiederherstellung aus Archiv abgeschlossen" -#: access/transam/xlog.c:6552 +#: access/transam/xlog.c:6612 #, c-format msgid "shutting down" msgstr "fahre herunter" #. translator: the placeholders show checkpoint options -#: access/transam/xlog.c:6591 +#: access/transam/xlog.c:6651 #, 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:6603 +#: access/transam/xlog.c:6663 #, 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:6668 +#: access/transam/xlog.c:6728 #, 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:6691 +#: access/transam/xlog.c:6751 #, 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:7165 +#: access/transam/xlog.c:7233 #, 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:7749 +#: access/transam/xlog.c:7818 #, c-format msgid "recovery restart point at %X/%X" msgstr "Recovery-Restart-Punkt bei %X/%X" -#: access/transam/xlog.c:7751 +#: access/transam/xlog.c:7820 #, 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:8013 +#: access/transam/xlog.c:8082 #, c-format msgid "restore point \"%s\" created at %X/%X" msgstr "Restore-Punkt »%s« erzeugt bei %X/%X" -#: access/transam/xlog.c:8220 +#: access/transam/xlog.c:8289 #, c-format msgid "online backup was canceled, recovery cannot continue" msgstr "Online-Sicherung wurde storniert, Wiederherstellung kann nicht fortgesetzt werden" -#: access/transam/xlog.c:8277 +#: access/transam/xlog.c:8347 #, 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:8335 +#: access/transam/xlog.c:8405 #, 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:8364 +#: access/transam/xlog.c:8434 #, 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:8635 +#: access/transam/xlog.c:8705 #, c-format msgid "could not fsync write-through file \"%s\": %m" msgstr "konnte Write-Through-Logdatei »%s« nicht fsyncen: %m" -#: access/transam/xlog.c:8640 +#: access/transam/xlog.c:8710 #, c-format msgid "could not fdatasync file \"%s\": %m" msgstr "konnte Datei »%s« nicht fdatasyncen: %m" -#: access/transam/xlog.c:8727 access/transam/xlog.c:9063 +#: access/transam/xlog.c:8797 access/transam/xlog.c:9133 #, 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:8728 access/transam/xlogfuncs.c:248 +#: access/transam/xlog.c:8798 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:8733 +#: access/transam/xlog.c:8803 #, c-format msgid "backup label too long (max %d bytes)" msgstr "Backup-Label zu lang (maximal %d Bytes)" -#: access/transam/xlog.c:8854 +#: access/transam/xlog.c:8924 #, 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:8856 access/transam/xlog.c:9152 +#: access/transam/xlog.c:8926 access/transam/xlog.c:9222 #, 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:8936 backup/basebackup.c:1417 utils/adt/misc.c:354 +#: access/transam/xlog.c:9006 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:8943 backup/basebackup.c:1422 utils/adt/misc.c:359 +#: access/transam/xlog.c:9013 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:9064 +#: access/transam/xlog.c:9134 #, 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:9102 backup/basebackup.c:1281 +#: access/transam/xlog.c:9172 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:9103 backup/basebackup.c:1282 +#: access/transam/xlog.c:9173 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:9150 +#: access/transam/xlog.c:9220 #, 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:9266 +#: access/transam/xlog.c:9336 #, 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:9280 +#: access/transam/xlog.c:9350 #, 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:9282 +#: access/transam/xlog.c:9352 #, 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:9289 +#: access/transam/xlog.c:9359 #, c-format msgid "all required WAL segments have been archived" msgstr "alle benötigten WAL-Segmente wurden archiviert" -#: access/transam/xlog.c:9293 +#: access/transam/xlog.c:9363 #, 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:9332 +#: access/transam/xlog.c:9402 #, 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" @@ -3025,7 +3036,7 @@ msgstr "Verbindung wird abgebrochen wegen unerwartetem Ende des Postmasters" #: access/transam/xlogfuncs.c:740 #, c-format msgid "while waiting on promotion" -msgstr "" +msgstr "beim Warten auf Beförderung" #: access/transam/xlogfuncs.c:744 #, c-format @@ -3200,10 +3211,9 @@ msgid "starting backup recovery with redo LSN %X/%X, checkpoint LSN %X/%X, on ti msgstr "starte Wiederherstellung aus Backup mit Redo-LSN %X/%X, Checkpoint-LSN %X/%X, auf Zeitleisten-ID %u" #: access/transam/xlogrecovery.c:649 -#, fuzzy, c-format -#| msgid "could not find redo location referenced by checkpoint record" +#, c-format msgid "could not find redo location %X/%X referenced by checkpoint record at %X/%X" -msgstr "konnte die vom Checkpoint-Datensatz referenzierte Redo-Position nicht finden" +msgstr "konnte die Redo-Position %X/%X, die vom Checkpoint-Datensatz bei %X/%X referenziert wird, nicht finden" #: access/transam/xlogrecovery.c:651 access/transam/xlogrecovery.c:662 #, c-format @@ -3826,7 +3836,7 @@ msgstr "ungültige Komprimierungsangabe: %s" #: backup/basebackup.c:1024 #, c-format msgid "must UPLOAD_MANIFEST before performing an incremental BASE_BACKUP" -msgstr "" +msgstr "UPLOAD_MANIFEST muss vor einem inkrementellen BASE_BACKUP ausgeführt werden" #: backup/basebackup.c:1157 backup/basebackup.c:1358 #, c-format @@ -3885,84 +3895,65 @@ msgstr "gzip-Komprimierung wird von dieser Installation nicht unterstützt" msgid "could not initialize compression library" msgstr "konnte Komprimierungsbibliothek nicht initialisieren" -#: backup/basebackup_incremental.c:300 +#: backup/basebackup_incremental.c:294 #, c-format msgid "manifest contains no required WAL ranges" -msgstr "" +msgstr "Manifest enthält keine benötigten WAL-Bereiche" -#: backup/basebackup_incremental.c:355 +#: backup/basebackup_incremental.c:349 #, c-format msgid "timeline %u found in manifest, but not in this server's history" msgstr "Zeitleiste %u wurde im Manifest gefunden, aber nicht in der History dieses Servers" -#: backup/basebackup_incremental.c:420 -#, fuzzy, c-format -#| msgid "server stopped streaming timeline %u at %X/%X, but reported next timeline %u to begin at %X/%X" +#: backup/basebackup_incremental.c:414 +#, c-format msgid "manifest requires WAL from initial timeline %u starting at %X/%X, but that timeline begins at %X/%X" -msgstr "Server beendete Streaming von Zeitleiste %u bei %X/%X, aber gab an, dass nächste Zeitleiste %u bei %X/%X beginnt" +msgstr "Manifest benötigt WAL aus der initialen Zeitleiste %u beginnend bei %X/%X, aber diese Zeitleiste beginnt bei %X/%X" -#: backup/basebackup_incremental.c:430 -#, fuzzy, c-format -#| msgid "server stopped streaming timeline %u at %X/%X, but reported next timeline %u to begin at %X/%X" +#: backup/basebackup_incremental.c:424 +#, c-format msgid "manifest requires WAL from continuation timeline %u starting at %X/%X, but that timeline begins at %X/%X" -msgstr "Server beendete Streaming von Zeitleiste %u bei %X/%X, aber gab an, dass nächste Zeitleiste %u bei %X/%X beginnt" +msgstr "Manifest benötigt WAL aus der Fortsetzungszeitleiste %u beginnend bei %X/%X, aber diese Zeitleiste beginnt bei %X/%X" -#: backup/basebackup_incremental.c:441 +#: backup/basebackup_incremental.c:435 #, c-format msgid "manifest requires WAL from final timeline %u ending at %X/%X, but this backup starts at %X/%X" -msgstr "" - -#: backup/basebackup_incremental.c:451 -#, fuzzy, c-format -#| msgid "server stopped streaming timeline %u at %X/%X, but reported next timeline %u to begin at %X/%X" -msgid "manifest requires WAL from non-final timeline %u ending at %X/%X, but this server switched timelines at %X/%X" -msgstr "Server beendete Streaming von Zeitleiste %u bei %X/%X, aber gab an, dass nächste Zeitleiste %u bei %X/%X beginnt" - -#: backup/basebackup_incremental.c:518 -#, c-format -msgid "WAL summarization is not progressing" -msgstr "" - -#: backup/basebackup_incremental.c:519 -#, c-format -msgid "Summarization is needed through %X/%X, but is stuck at %X/%X on disk and %X/%X in memory." -msgstr "" +msgstr "Manifest benötigt WAL aus der finalen Zeitleiste %u endend bei %X/%X, aber dieses Backup startet bei %X/%X" -#: backup/basebackup_incremental.c:532 +#: backup/basebackup_incremental.c:439 #, c-format -msgid "still waiting for WAL summarization through %X/%X after %ld seconds" -msgstr "" +msgid "This can happen for incremental backups on a standby if there was little activity since the previous backup." +msgstr "Das kann für inkrementelle Backups auf einem Standby passieren, wenn es wenig Aktivität seit dem letzten Backup gab." -#: backup/basebackup_incremental.c:535 +#: backup/basebackup_incremental.c:446 #, c-format -msgid "Summarization has reached %X/%X on disk and %X/%X in memory." -msgstr "" +msgid "manifest requires WAL from non-final timeline %u ending at %X/%X, but this server switched timelines at %X/%X" +msgstr "Manifest benötigt WAL aus der nicht-finalen Zeitleiste %u endend bei %X/%X, aber dieser Server hat die Zeitleiste bei %X/%X gewechselt" -#: backup/basebackup_incremental.c:604 +#: backup/basebackup_incremental.c:527 #, c-format msgid "WAL summaries are required on timeline %u from %X/%X to %X/%X, but no summaries for that timeline and LSN range exist" -msgstr "" +msgstr "WAL-Zusammenfassungen auf Zeitleiste %u von %X/%X bis %X/%X werden benötigt, aber für diese Zeitleiste und diesen LSN-Bereich existieren keine Zusammenfassungen." -#: backup/basebackup_incremental.c:611 +#: backup/basebackup_incremental.c:534 #, c-format msgid "WAL summaries are required on timeline %u from %X/%X to %X/%X, but the summaries for that timeline and LSN range are incomplete" -msgstr "" +msgstr "WAL-Zusammenfassungen auf Zeitleiste %u von %X/%X bis %X/%X werden benötigt, aber die Zusammenfassungen für diese Zeitleiste und diesen LSN-Bereich sind unvollständig." -#: backup/basebackup_incremental.c:615 +#: backup/basebackup_incremental.c:538 #, c-format 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:1015 +#: backup/basebackup_incremental.c:938 #, 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:1033 -#, fuzzy, c-format -#| msgid "%s: manifest system identifier is %llu, but control file has %llu" -msgid "manifest system identifier is %llu, but database system identifier is %llu" -msgstr "%s: Systemidentifikator im Manifest ist %llu, aber Kontrolldatei hat %llu" +#: backup/basebackup_incremental.c:956 +#, 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" #: backup/basebackup_lz4.c:67 #, c-format @@ -4046,12 +4037,12 @@ msgstr "konnte Long-Distance-Modus nicht einschalten: %s" msgid "invalid timeline %lld" msgstr "ungültige Zeitleiste %lld" -#: bootstrap/bootstrap.c:239 postmaster/postmaster.c:623 tcop/postgres.c:3859 +#: bootstrap/bootstrap.c:239 postmaster/postmaster.c:623 tcop/postgres.c:3946 #, c-format msgid "--%s requires a value" msgstr "--%s benötigt einen Wert" -#: bootstrap/bootstrap.c:244 postmaster/postmaster.c:628 tcop/postgres.c:3864 +#: bootstrap/bootstrap.c:244 postmaster/postmaster.c:628 tcop/postgres.c:3951 #, c-format msgid "-c %s requires a value" msgstr "-c %s benötigt einen Wert" @@ -4067,664 +4058,664 @@ msgstr "Versuchen Sie »%s --help« für weitere Informationen.\n" msgid "%s: invalid command-line arguments\n" msgstr "%s: ungültige Kommandozeilenargumente\n" -#: catalog/aclchk.c:210 +#: catalog/aclchk.c:211 #, c-format msgid "grant options can only be granted to roles" msgstr "Grant-Optionen können nur Rollen gewährt werden" -#: catalog/aclchk.c:332 +#: catalog/aclchk.c:333 #, c-format msgid "no privileges were granted for column \"%s\" of relation \"%s\"" msgstr "es wurden keine Privilegien für Spalte »%s« von Relation »%s« gewährt" -#: catalog/aclchk.c:337 +#: catalog/aclchk.c:338 #, c-format msgid "no privileges were granted for \"%s\"" msgstr "es wurden keine Privilegien für »%s« gewährt" -#: catalog/aclchk.c:345 +#: catalog/aclchk.c:346 #, c-format msgid "not all privileges were granted for column \"%s\" of relation \"%s\"" msgstr "es wurden nicht alle Priviligien für Spalte »%s« von Relation »%s« gewährt" -#: catalog/aclchk.c:350 +#: catalog/aclchk.c:351 #, c-format msgid "not all privileges were granted for \"%s\"" msgstr "es wurden nicht alle Priviligien für »%s« gewährt" -#: catalog/aclchk.c:361 +#: catalog/aclchk.c:362 #, c-format msgid "no privileges could be revoked for column \"%s\" of relation \"%s\"" msgstr "es konnten keine Privilegien für Spalte »%s« von Relation »%s« entzogen werden" -#: catalog/aclchk.c:366 +#: catalog/aclchk.c:367 #, c-format msgid "no privileges could be revoked for \"%s\"" msgstr "es konnten keine Privilegien für »%s« entzogen werden" -#: catalog/aclchk.c:374 +#: catalog/aclchk.c:375 #, c-format msgid "not all privileges could be revoked for column \"%s\" of relation \"%s\"" msgstr "es konnten nicht alle Privilegien für Spalte »%s« von Relation »%s« entzogen werden" -#: catalog/aclchk.c:379 +#: catalog/aclchk.c:380 #, c-format msgid "not all privileges could be revoked for \"%s\"" msgstr "es konnten nicht alle Privilegien für »%s« entzogen werden" -#: catalog/aclchk.c:411 +#: catalog/aclchk.c:412 #, c-format msgid "grantor must be current user" msgstr "Grantor muss aktueller Benutzer sein" -#: catalog/aclchk.c:479 catalog/aclchk.c:1054 +#: catalog/aclchk.c:480 catalog/aclchk.c:1055 #, c-format msgid "invalid privilege type %s for relation" msgstr "ungültiger Privilegtyp %s für Relation" -#: catalog/aclchk.c:483 catalog/aclchk.c:1058 +#: catalog/aclchk.c:484 catalog/aclchk.c:1059 #, c-format msgid "invalid privilege type %s for sequence" msgstr "ungültiger Privilegtyp %s für Sequenz" -#: catalog/aclchk.c:487 +#: catalog/aclchk.c:488 #, c-format msgid "invalid privilege type %s for database" msgstr "ungültiger Privilegtyp %s für Datenbank" -#: catalog/aclchk.c:491 +#: catalog/aclchk.c:492 #, c-format msgid "invalid privilege type %s for domain" msgstr "ungültiger Privilegtyp %s für Domäne" -#: catalog/aclchk.c:495 catalog/aclchk.c:1062 +#: catalog/aclchk.c:496 catalog/aclchk.c:1063 #, c-format msgid "invalid privilege type %s for function" msgstr "ungültiger Privilegtyp %s für Funktion" -#: catalog/aclchk.c:499 +#: catalog/aclchk.c:500 #, c-format msgid "invalid privilege type %s for language" msgstr "ungültiger Privilegtyp %s für Sprache" -#: catalog/aclchk.c:503 +#: catalog/aclchk.c:504 #, c-format msgid "invalid privilege type %s for large object" msgstr "ungültiger Privilegtyp %s für Large Object" -#: catalog/aclchk.c:507 catalog/aclchk.c:1078 +#: catalog/aclchk.c:508 catalog/aclchk.c:1079 #, c-format msgid "invalid privilege type %s for schema" msgstr "ungültiger Privilegtyp %s für Schema" -#: catalog/aclchk.c:511 catalog/aclchk.c:1066 +#: catalog/aclchk.c:512 catalog/aclchk.c:1067 #, c-format msgid "invalid privilege type %s for procedure" msgstr "ungültiger Privilegtyp %s für Prozedur" -#: catalog/aclchk.c:515 catalog/aclchk.c:1070 +#: catalog/aclchk.c:516 catalog/aclchk.c:1071 #, c-format msgid "invalid privilege type %s for routine" msgstr "ungültiger Privilegtyp %s für Routine" -#: catalog/aclchk.c:519 +#: catalog/aclchk.c:520 #, c-format msgid "invalid privilege type %s for tablespace" msgstr "ungültiger Privilegtyp %s für Tablespace" -#: catalog/aclchk.c:523 catalog/aclchk.c:1074 +#: catalog/aclchk.c:524 catalog/aclchk.c:1075 #, c-format msgid "invalid privilege type %s for type" msgstr "ungültiger Privilegtyp %s für Typ" -#: catalog/aclchk.c:527 +#: catalog/aclchk.c:528 #, c-format msgid "invalid privilege type %s for foreign-data wrapper" msgstr "ungültiger Privilegtyp %s für Fremddaten-Wrapper" -#: catalog/aclchk.c:531 +#: catalog/aclchk.c:532 #, c-format msgid "invalid privilege type %s for foreign server" msgstr "ungültiger Privilegtyp %s für Fremdserver" -#: catalog/aclchk.c:535 +#: catalog/aclchk.c:536 #, c-format msgid "invalid privilege type %s for parameter" msgstr "ungültiger Privilegtyp %s für Parameter" -#: catalog/aclchk.c:574 +#: catalog/aclchk.c:575 #, c-format msgid "column privileges are only valid for relations" msgstr "Spaltenprivilegien sind nur für Relation gültig" -#: catalog/aclchk.c:737 catalog/aclchk.c:3624 catalog/objectaddress.c:1054 +#: catalog/aclchk.c:738 catalog/aclchk.c:3629 catalog/objectaddress.c:1054 #: catalog/pg_largeobject.c:113 storage/large_object/inv_api.c:285 #, c-format msgid "large object %u does not exist" msgstr "Large Object %u existiert nicht" -#: catalog/aclchk.c:1111 +#: catalog/aclchk.c:1112 #, c-format msgid "default privileges cannot be set for columns" msgstr "Vorgabeprivilegien können nicht für Spalten gesetzt werden" -#: catalog/aclchk.c:1147 +#: catalog/aclchk.c:1148 #, c-format msgid "permission denied to change default privileges" msgstr "keine Berechtigung, um Vorgabeprivilegien zu ändern" -#: catalog/aclchk.c:1265 +#: catalog/aclchk.c:1266 #, c-format msgid "cannot use IN SCHEMA clause when using GRANT/REVOKE ON SCHEMAS" msgstr "Klausel IN SCHEMA kann nicht verwendet werden, wenn GRANT/REVOKE ON SCHEMAS verwendet wird" -#: catalog/aclchk.c:1616 catalog/catalog.c:629 catalog/objectaddress.c:1523 -#: catalog/pg_publication.c:528 commands/analyze.c:380 commands/copy.c:913 -#: commands/sequence.c:1645 commands/tablecmds.c:7549 commands/tablecmds.c:7703 -#: commands/tablecmds.c:7753 commands/tablecmds.c:7827 -#: commands/tablecmds.c:7897 commands/tablecmds.c:8027 -#: commands/tablecmds.c:8156 commands/tablecmds.c:8250 -#: commands/tablecmds.c:8351 commands/tablecmds.c:8478 -#: commands/tablecmds.c:8508 commands/tablecmds.c:8650 -#: commands/tablecmds.c:8743 commands/tablecmds.c:8877 -#: commands/tablecmds.c:8989 commands/tablecmds.c:12709 -#: commands/tablecmds.c:12890 commands/tablecmds.c:13051 -#: commands/tablecmds.c:14240 commands/tablecmds.c:16866 commands/trigger.c:942 +#: 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:7541 commands/tablecmds.c:7695 +#: commands/tablecmds.c:7745 commands/tablecmds.c:7819 +#: commands/tablecmds.c:7889 commands/tablecmds.c:8019 +#: commands/tablecmds.c:8148 commands/tablecmds.c:8242 +#: commands/tablecmds.c:8343 commands/tablecmds.c:8470 +#: commands/tablecmds.c:8500 commands/tablecmds.c:8642 +#: commands/tablecmds.c:8735 commands/tablecmds.c:8869 +#: commands/tablecmds.c:8981 commands/tablecmds.c:12797 +#: commands/tablecmds.c:12989 commands/tablecmds.c:13150 +#: commands/tablecmds.c:14339 commands/tablecmds.c:16966 commands/trigger.c:942 #: parser/analyze.c:2530 parser/parse_relation.c:737 parser/parse_target.c:1067 -#: parser/parse_type.c:144 parser/parse_utilcmd.c:3538 -#: parser/parse_utilcmd.c:3578 parser/parse_utilcmd.c:3620 utils/adt/acl.c:2923 -#: utils/adt/ruleutils.c:2811 +#: 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 +#: utils/adt/ruleutils.c:2807 #, c-format msgid "column \"%s\" of relation \"%s\" does not exist" msgstr "Spalte »%s« von Relation »%s« existiert nicht" -#: catalog/aclchk.c:1861 +#: catalog/aclchk.c:1862 #, c-format msgid "\"%s\" is an index" msgstr "»%s« ist ein Index" -#: catalog/aclchk.c:1868 commands/tablecmds.c:14397 commands/tablecmds.c:17775 +#: catalog/aclchk.c:1869 commands/tablecmds.c:14496 commands/tablecmds.c:17882 #, c-format msgid "\"%s\" is a composite type" msgstr "»%s« ist ein zusammengesetzter Typ" -#: catalog/aclchk.c:1876 catalog/objectaddress.c:1363 commands/tablecmds.c:263 -#: commands/tablecmds.c:17739 utils/adt/acl.c:2107 utils/adt/acl.c:2137 +#: catalog/aclchk.c:1877 catalog/objectaddress.c:1363 commands/tablecmds.c:263 +#: commands/tablecmds.c:17846 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 #, c-format msgid "\"%s\" is not a sequence" msgstr "»%s« ist keine Sequenz" -#: catalog/aclchk.c:1914 +#: catalog/aclchk.c:1915 #, c-format msgid "sequence \"%s\" only supports USAGE, SELECT, and UPDATE privileges" msgstr "Sequenz »%s« unterstützt nur die Privilegien USAGE, SELECT und UPDATE" -#: catalog/aclchk.c:1931 +#: catalog/aclchk.c:1932 #, c-format msgid "invalid privilege type %s for table" msgstr "ungültiger Privilegtyp %s für Tabelle" -#: catalog/aclchk.c:2093 +#: catalog/aclchk.c:2097 #, c-format msgid "invalid privilege type %s for column" msgstr "ungültiger Privilegtyp %s für Spalte" -#: catalog/aclchk.c:2106 +#: catalog/aclchk.c:2110 #, c-format msgid "sequence \"%s\" only supports SELECT column privileges" msgstr "Sequenz »%s« unterstützt nur den Spaltenprivilegientyp SELECT" -#: catalog/aclchk.c:2296 +#: catalog/aclchk.c:2301 #, c-format msgid "language \"%s\" is not trusted" msgstr "Sprache »%s« ist nicht »trusted«" -#: catalog/aclchk.c:2298 +#: catalog/aclchk.c:2303 #, c-format msgid "GRANT and REVOKE are not allowed on untrusted languages, because only superusers can use untrusted languages." msgstr "GRANT und REVOKE sind für nicht vertrauenswürdige Sprachen nicht erlaubt, weil nur Superuser nicht vertrauenswürdige Sprachen verwenden können." -#: catalog/aclchk.c:2449 +#: catalog/aclchk.c:2454 #, c-format msgid "cannot set privileges of array types" msgstr "für Array-Typen können keine Privilegien gesetzt werden" -#: catalog/aclchk.c:2450 +#: catalog/aclchk.c:2455 #, c-format msgid "Set the privileges of the element type instead." msgstr "Setzen Sie stattdessen die Privilegien des Elementtyps." -#: catalog/aclchk.c:2454 +#: catalog/aclchk.c:2459 #, c-format msgid "cannot set privileges of multirange types" msgstr "für Multirange-Typen können keine Privilegien gesetzt werden" -#: catalog/aclchk.c:2455 +#: catalog/aclchk.c:2460 #, c-format msgid "Set the privileges of the range type instead." msgstr "Setzen Sie stattdessen die Privilegien des Range-Typs." -#: catalog/aclchk.c:2462 catalog/objectaddress.c:1629 +#: catalog/aclchk.c:2467 catalog/objectaddress.c:1629 #, c-format msgid "\"%s\" is not a domain" msgstr "»%s« ist keine Domäne" -#: catalog/aclchk.c:2648 +#: catalog/aclchk.c:2653 #, c-format msgid "unrecognized privilege type \"%s\"" msgstr "unbekannter Privilegtyp »%s«" -#: catalog/aclchk.c:2715 +#: catalog/aclchk.c:2720 #, c-format msgid "permission denied for aggregate %s" msgstr "keine Berechtigung für Aggregatfunktion %s" -#: catalog/aclchk.c:2718 +#: catalog/aclchk.c:2723 #, c-format msgid "permission denied for collation %s" msgstr "keine Berechtigung für Sortierfolge %s" -#: catalog/aclchk.c:2721 +#: catalog/aclchk.c:2726 #, c-format msgid "permission denied for column %s" msgstr "keine Berechtigung für Spalte %s" -#: catalog/aclchk.c:2724 +#: catalog/aclchk.c:2729 #, c-format msgid "permission denied for conversion %s" msgstr "keine Berechtigung für Konversion %s" -#: catalog/aclchk.c:2727 +#: catalog/aclchk.c:2732 #, c-format msgid "permission denied for database %s" msgstr "keine Berechtigung für Datenbank %s" -#: catalog/aclchk.c:2730 +#: catalog/aclchk.c:2735 #, c-format msgid "permission denied for domain %s" msgstr "keine Berechtigung für Domäne %s" -#: catalog/aclchk.c:2733 +#: catalog/aclchk.c:2738 #, c-format msgid "permission denied for event trigger %s" msgstr "keine Berechtigung für Ereignistrigger %s" -#: catalog/aclchk.c:2736 +#: catalog/aclchk.c:2741 #, c-format msgid "permission denied for extension %s" msgstr "keine Berechtigung für Erweiterung %s" -#: catalog/aclchk.c:2739 +#: catalog/aclchk.c:2744 #, c-format msgid "permission denied for foreign-data wrapper %s" msgstr "keine Berechtigung für Fremddaten-Wrapper %s" -#: catalog/aclchk.c:2742 +#: catalog/aclchk.c:2747 #, c-format msgid "permission denied for foreign server %s" msgstr "keine Berechtigung für Fremdserver %s" -#: catalog/aclchk.c:2745 +#: catalog/aclchk.c:2750 #, c-format msgid "permission denied for foreign table %s" msgstr "keine Berechtigung für Fremdtabelle %s" -#: catalog/aclchk.c:2748 +#: catalog/aclchk.c:2753 #, c-format msgid "permission denied for function %s" msgstr "keine Berechtigung für Funktion %s" -#: catalog/aclchk.c:2751 +#: catalog/aclchk.c:2756 #, c-format msgid "permission denied for index %s" msgstr "keine Berechtigung für Index %s" -#: catalog/aclchk.c:2754 +#: catalog/aclchk.c:2759 #, c-format msgid "permission denied for language %s" msgstr "keine Berechtigung für Sprache %s" -#: catalog/aclchk.c:2757 +#: catalog/aclchk.c:2762 #, c-format msgid "permission denied for large object %s" msgstr "keine Berechtigung für Large Object %s" -#: catalog/aclchk.c:2760 +#: catalog/aclchk.c:2765 #, c-format msgid "permission denied for materialized view %s" msgstr "keine Berechtigung für materialisierte Sicht %s" -#: catalog/aclchk.c:2763 +#: catalog/aclchk.c:2768 #, c-format msgid "permission denied for operator class %s" msgstr "keine Berechtigung für Operatorklasse %s" -#: catalog/aclchk.c:2766 +#: catalog/aclchk.c:2771 #, c-format msgid "permission denied for operator %s" msgstr "keine Berechtigung für Operator %s" -#: catalog/aclchk.c:2769 +#: catalog/aclchk.c:2774 #, c-format msgid "permission denied for operator family %s" msgstr "keine Berechtigung für Operatorfamilie %s" -#: catalog/aclchk.c:2772 +#: catalog/aclchk.c:2777 #, c-format msgid "permission denied for parameter %s" msgstr "keine Berechtigung für Parameter %s" -#: catalog/aclchk.c:2775 +#: catalog/aclchk.c:2780 #, c-format msgid "permission denied for policy %s" msgstr "keine Berechtigung für Policy %s" -#: catalog/aclchk.c:2778 +#: catalog/aclchk.c:2783 #, c-format msgid "permission denied for procedure %s" msgstr "keine Berechtigung für Prozedur %s" -#: catalog/aclchk.c:2781 +#: catalog/aclchk.c:2786 #, c-format msgid "permission denied for publication %s" msgstr "keine Berechtigung für Publikation %s" -#: catalog/aclchk.c:2784 +#: catalog/aclchk.c:2789 #, c-format msgid "permission denied for routine %s" msgstr "keine Berechtigung für Routine %s" -#: catalog/aclchk.c:2787 +#: catalog/aclchk.c:2792 #, c-format msgid "permission denied for schema %s" msgstr "keine Berechtigung für Schema %s" -#: catalog/aclchk.c:2790 commands/sequence.c:647 commands/sequence.c:873 -#: commands/sequence.c:915 commands/sequence.c:956 commands/sequence.c:1743 -#: commands/sequence.c:1789 +#: catalog/aclchk.c:2795 commands/sequence.c:654 commands/sequence.c:880 +#: commands/sequence.c:922 commands/sequence.c:963 commands/sequence.c:1753 +#: commands/sequence.c:1799 #, c-format msgid "permission denied for sequence %s" msgstr "keine Berechtigung für Sequenz %s" -#: catalog/aclchk.c:2793 +#: catalog/aclchk.c:2798 #, c-format msgid "permission denied for statistics object %s" msgstr "keine Berechtigung für Statistikobjekt %s" -#: catalog/aclchk.c:2796 +#: catalog/aclchk.c:2801 #, c-format msgid "permission denied for subscription %s" msgstr "keine Berechtigung für Subskription %s" -#: catalog/aclchk.c:2799 +#: catalog/aclchk.c:2804 #, c-format msgid "permission denied for table %s" msgstr "keine Berechtigung für Tabelle %s" -#: catalog/aclchk.c:2802 +#: catalog/aclchk.c:2807 #, c-format msgid "permission denied for tablespace %s" msgstr "keine Berechtigung für Tablespace %s" -#: catalog/aclchk.c:2805 +#: catalog/aclchk.c:2810 #, c-format msgid "permission denied for text search configuration %s" msgstr "keine Berechtigung für Textsuchekonfiguration %s" -#: catalog/aclchk.c:2808 +#: catalog/aclchk.c:2813 #, c-format msgid "permission denied for text search dictionary %s" msgstr "keine Berechtigung für Textsuchewörterbuch %s" -#: catalog/aclchk.c:2811 +#: catalog/aclchk.c:2816 #, c-format msgid "permission denied for type %s" msgstr "keine Berechtigung für Typ %s" -#: catalog/aclchk.c:2814 +#: catalog/aclchk.c:2819 #, c-format msgid "permission denied for view %s" msgstr "keine Berechtigung für Sicht %s" -#: catalog/aclchk.c:2850 +#: catalog/aclchk.c:2855 #, c-format msgid "must be owner of aggregate %s" msgstr "Berechtigung nur für Eigentümer der Aggregatfunktion %s" -#: catalog/aclchk.c:2853 +#: catalog/aclchk.c:2858 #, c-format msgid "must be owner of collation %s" msgstr "Berechtigung nur für Eigentümer der Sortierfolge %s" -#: catalog/aclchk.c:2856 +#: catalog/aclchk.c:2861 #, c-format msgid "must be owner of conversion %s" msgstr "Berechtigung nur für Eigentümer der Konversion %s" -#: catalog/aclchk.c:2859 +#: catalog/aclchk.c:2864 #, c-format msgid "must be owner of database %s" msgstr "Berechtigung nur für Eigentümer der Datenbank %s" -#: catalog/aclchk.c:2862 +#: catalog/aclchk.c:2867 #, c-format msgid "must be owner of domain %s" msgstr "Berechtigung nur für Eigentümer der Domäne %s" -#: catalog/aclchk.c:2865 +#: catalog/aclchk.c:2870 #, c-format msgid "must be owner of event trigger %s" msgstr "Berechtigung nur für Eigentümer des Ereignistriggers %s" -#: catalog/aclchk.c:2868 +#: catalog/aclchk.c:2873 #, c-format msgid "must be owner of extension %s" msgstr "Berechtigung nur für Eigentümer der Erweiterung %s" -#: catalog/aclchk.c:2871 +#: catalog/aclchk.c:2876 #, c-format msgid "must be owner of foreign-data wrapper %s" msgstr "Berechtigung nur für Eigentümer des Fremddaten-Wrappers %s" -#: catalog/aclchk.c:2874 +#: catalog/aclchk.c:2879 #, c-format msgid "must be owner of foreign server %s" msgstr "Berechtigung nur für Eigentümer des Fremdservers %s" -#: catalog/aclchk.c:2877 +#: catalog/aclchk.c:2882 #, c-format msgid "must be owner of foreign table %s" msgstr "Berechtigung nur für Eigentümer der Fremdtabelle %s" -#: catalog/aclchk.c:2880 +#: catalog/aclchk.c:2885 #, c-format msgid "must be owner of function %s" msgstr "Berechtigung nur für Eigentümer der Funktion %s" -#: catalog/aclchk.c:2883 +#: catalog/aclchk.c:2888 #, c-format msgid "must be owner of index %s" msgstr "Berechtigung nur für Eigentümer des Index %s" -#: catalog/aclchk.c:2886 +#: catalog/aclchk.c:2891 #, c-format msgid "must be owner of language %s" msgstr "Berechtigung nur für Eigentümer der Sprache %s" -#: catalog/aclchk.c:2889 +#: catalog/aclchk.c:2894 #, c-format msgid "must be owner of large object %s" msgstr "Berechtigung nur für Eigentümer des Large Object %s" -#: catalog/aclchk.c:2892 +#: catalog/aclchk.c:2897 #, c-format msgid "must be owner of materialized view %s" msgstr "Berechtigung nur für Eigentümer der materialisierten Sicht %s" -#: catalog/aclchk.c:2895 +#: catalog/aclchk.c:2900 #, c-format msgid "must be owner of operator class %s" msgstr "Berechtigung nur für Eigentümer der Operatorklasse %s" -#: catalog/aclchk.c:2898 +#: catalog/aclchk.c:2903 #, c-format msgid "must be owner of operator %s" msgstr "Berechtigung nur für Eigentümer des Operators %s" -#: catalog/aclchk.c:2901 +#: catalog/aclchk.c:2906 #, c-format msgid "must be owner of operator family %s" msgstr "Berechtigung nur für Eigentümer der Operatorfamilie %s" -#: catalog/aclchk.c:2904 +#: catalog/aclchk.c:2909 #, c-format msgid "must be owner of procedure %s" msgstr "Berechtigung nur für Eigentümer der Prozedur %s" -#: catalog/aclchk.c:2907 +#: catalog/aclchk.c:2912 #, c-format msgid "must be owner of publication %s" msgstr "Berechtigung nur für Eigentümer der Publikation %s" -#: catalog/aclchk.c:2910 +#: catalog/aclchk.c:2915 #, c-format msgid "must be owner of routine %s" msgstr "Berechtigung nur für Eigentümer der Routine %s" -#: catalog/aclchk.c:2913 +#: catalog/aclchk.c:2918 #, c-format msgid "must be owner of sequence %s" msgstr "Berechtigung nur für Eigentümer der Sequenz %s" -#: catalog/aclchk.c:2916 +#: catalog/aclchk.c:2921 #, c-format msgid "must be owner of subscription %s" msgstr "Berechtigung nur für Eigentümer der Subskription %s" -#: catalog/aclchk.c:2919 +#: catalog/aclchk.c:2924 #, c-format msgid "must be owner of table %s" msgstr "Berechtigung nur für Eigentümer der Tabelle %s" -#: catalog/aclchk.c:2922 +#: catalog/aclchk.c:2927 #, c-format msgid "must be owner of type %s" msgstr "Berechtigung nur für Eigentümer des Typs %s" -#: catalog/aclchk.c:2925 +#: catalog/aclchk.c:2930 #, c-format msgid "must be owner of view %s" msgstr "Berechtigung nur für Eigentümer der Sicht %s" -#: catalog/aclchk.c:2928 +#: catalog/aclchk.c:2933 #, c-format msgid "must be owner of schema %s" msgstr "Berechtigung nur für Eigentümer des Schemas %s" -#: catalog/aclchk.c:2931 +#: catalog/aclchk.c:2936 #, c-format msgid "must be owner of statistics object %s" msgstr "Berechtigung nur für Eigentümer des Statistikobjekts %s" -#: catalog/aclchk.c:2934 +#: catalog/aclchk.c:2939 #, c-format msgid "must be owner of tablespace %s" msgstr "Berechtigung nur für Eigentümer des Tablespace %s" -#: catalog/aclchk.c:2937 +#: catalog/aclchk.c:2942 #, c-format msgid "must be owner of text search configuration %s" msgstr "Berechtigung nur für Eigentümer der Textsuchekonfiguration %s" -#: catalog/aclchk.c:2940 +#: catalog/aclchk.c:2945 #, c-format msgid "must be owner of text search dictionary %s" msgstr "Berechtigung nur für Eigentümer des Textsuchewörterbuches %s" -#: catalog/aclchk.c:2954 +#: catalog/aclchk.c:2959 #, c-format msgid "must be owner of relation %s" msgstr "Berechtigung nur für Eigentümer der Relation %s" -#: catalog/aclchk.c:3000 +#: catalog/aclchk.c:3005 #, c-format msgid "permission denied for column \"%s\" of relation \"%s\"" msgstr "keine Berechtigung für Spalte »%s« von Relation »%s«" -#: catalog/aclchk.c:3157 catalog/aclchk.c:4165 catalog/aclchk.c:4196 +#: catalog/aclchk.c:3162 catalog/aclchk.c:4170 catalog/aclchk.c:4201 #, c-format msgid "%s with OID %u does not exist" msgstr "%s mit OID %u existiert nicht" -#: catalog/aclchk.c:3240 catalog/aclchk.c:3259 +#: catalog/aclchk.c:3245 catalog/aclchk.c:3264 #, c-format msgid "attribute %d of relation with OID %u does not exist" msgstr "Attribut %d der Relation mit OID %u existiert nicht" -#: catalog/aclchk.c:3297 catalog/aclchk.c:3360 catalog/aclchk.c:3999 +#: catalog/aclchk.c:3302 catalog/aclchk.c:3365 catalog/aclchk.c:4004 #, c-format msgid "relation with OID %u does not exist" msgstr "Relation mit OID %u existiert nicht" -#: catalog/aclchk.c:3545 +#: catalog/aclchk.c:3550 #, c-format msgid "parameter ACL with OID %u does not exist" msgstr "Parameter-ACL mit OID %u existiert nicht" -#: catalog/aclchk.c:3718 commands/collationcmds.c:853 +#: catalog/aclchk.c:3723 commands/collationcmds.c:853 #: commands/publicationcmds.c:1739 #, c-format msgid "schema with OID %u does not exist" msgstr "Schema mit OID %u existiert nicht" -#: catalog/aclchk.c:3792 catalog/aclchk.c:3819 catalog/aclchk.c:3848 +#: catalog/aclchk.c:3797 catalog/aclchk.c:3824 catalog/aclchk.c:3853 #: utils/cache/typcache.c:392 utils/cache/typcache.c:447 #, c-format msgid "type with OID %u does not exist" msgstr "Typ mit OID %u existiert nicht" -#: catalog/catalog.c:447 +#: catalog/catalog.c:477 #, c-format msgid "still searching for an unused OID in relation \"%s\"" msgstr "suche immer noch nach einer unbenutzten OID in in Relation »%s«" -#: catalog/catalog.c:449 +#: catalog/catalog.c:479 #, c-format msgid "OID candidates have been checked %llu time, but no unused OID has been found yet." msgid_plural "OID candidates have been checked %llu times, but no unused OID has been found yet." msgstr[0] "OID-Kandidaten wurden %llu mal geprüft, aber es wurde bisher keine unbenutzte OID gefunden." msgstr[1] "OID-Kandidaten wurden %llu mal geprüft, aber es wurde bisher keine unbenutzte OID gefunden." -#: catalog/catalog.c:474 +#: catalog/catalog.c:504 #, c-format msgid "new OID has been assigned in relation \"%s\" after %llu retry" msgid_plural "new OID has been assigned in relation \"%s\" after %llu retries" msgstr[0] "neue OID in Relation »%s« wurde zugewiesen nach %llu Versuch" msgstr[1] "neue OID in Relation »%s« wurde zugewiesen nach %llu Versuchen" -#: catalog/catalog.c:607 catalog/catalog.c:674 +#: catalog/catalog.c:637 catalog/catalog.c:704 #, c-format msgid "must be superuser to call %s()" msgstr "nur Superuser können %s() aufrufen" -#: catalog/catalog.c:616 +#: catalog/catalog.c:646 #, c-format msgid "pg_nextoid() can only be used on system catalogs" msgstr "pg_nextoid() kann nur mit Systemkatalogen verwendet werden" -#: catalog/catalog.c:621 parser/parse_utilcmd.c:2245 +#: catalog/catalog.c:651 parser/parse_utilcmd.c:2270 #, c-format msgid "index \"%s\" does not belong to table \"%s\"" msgstr "Index »%s« gehört nicht zu Tabelle »%s«" -#: catalog/catalog.c:638 +#: catalog/catalog.c:668 #, c-format msgid "column \"%s\" is not of type oid" msgstr "Spalte »%s« hat nicht Typ oid" -#: catalog/catalog.c:645 +#: catalog/catalog.c:675 #, c-format msgid "index \"%s\" is not the index for column \"%s\"" msgstr "»%s« ist kein Index für Spalte »%s«" @@ -4775,14 +4766,15 @@ msgid "cannot drop %s because other objects depend on it" msgstr "kann %s nicht löschen, weil andere Objekte davon abhängen" #: catalog/dependency.c:1153 catalog/dependency.c:1160 -#: catalog/dependency.c:1171 commands/tablecmds.c:1447 -#: commands/tablecmds.c:14989 commands/tablespace.c:460 commands/user.c:1302 -#: commands/vacuum.c:211 commands/view.c:441 libpq/auth.c:324 +#: catalog/dependency.c:1171 commands/tablecmds.c:1459 +#: commands/tablecmds.c:15088 commands/tablespace.c:460 commands/user.c:1302 +#: commands/vacuum.c:211 commands/view.c:441 executor/execExprInterp.c:4643 +#: executor/execExprInterp.c:4651 libpq/auth.c:324 #: replication/logical/applyparallelworker.c:1041 replication/syncrep.c:1011 #: storage/lmgr/deadlock.c:1134 storage/lmgr/proc.c:1427 utils/misc/guc.c:3169 -#: utils/misc/guc.c:3210 utils/misc/guc.c:3285 utils/misc/guc.c:6781 -#: utils/misc/guc.c:6815 utils/misc/guc.c:6849 utils/misc/guc.c:6892 -#: utils/misc/guc.c:6934 +#: utils/misc/guc.c:3210 utils/misc/guc.c:3285 utils/misc/guc.c:6790 +#: utils/misc/guc.c:6824 utils/misc/guc.c:6858 utils/misc/guc.c:6901 +#: utils/misc/guc.c:6943 #, c-format msgid "%s" msgstr "%s" @@ -4825,13 +4817,13 @@ msgstr "keine Berechtigung, um »%s.%s« zu erzeugen" msgid "System catalog modifications are currently disallowed." msgstr "Änderungen an Systemkatalogen sind gegenwärtig nicht erlaubt." -#: catalog/heap.c:467 commands/tablecmds.c:2483 commands/tablecmds.c:2905 -#: commands/tablecmds.c:7171 +#: catalog/heap.c:467 commands/tablecmds.c:2495 commands/tablecmds.c:2917 +#: commands/tablecmds.c:7163 #, c-format msgid "tables can have at most %d columns" msgstr "Tabellen können höchstens %d Spalten haben" -#: catalog/heap.c:485 commands/tablecmds.c:7440 +#: catalog/heap.c:485 commands/tablecmds.c:7432 #, c-format msgid "column name \"%s\" conflicts with a system column name" msgstr "Spaltenname »%s« steht im Konflikt mit dem Namen einer Systemspalte" @@ -4863,14 +4855,13 @@ msgstr "zusammengesetzter Typ %s kann nicht Teil von sich selbst werden" msgid "no collation was derived for partition key column %s with collatable type %s" msgstr "für Partitionierungsschlüsselspalte %s mit sortierbarem Typ %s wurde keine Sortierfolge abgeleitet" -#: catalog/heap.c:676 commands/createas.c:198 commands/createas.c:507 +#: catalog/heap.c:676 commands/createas.c:198 commands/createas.c:505 #, c-format msgid "no collation was derived for column \"%s\" with collatable type %s" msgstr "für Spalte »%s« mit sortierbarem Typ %s wurde keine Sortierfolge abgeleitet" -#: catalog/heap.c:1161 catalog/index.c:899 commands/createas.c:403 -#: commands/tablecmds.c:4142 commands/tablecmds.c:20463 -#: commands/tablecmds.c:20725 +#: catalog/heap.c:1161 catalog/index.c:899 commands/createas.c:401 +#: commands/tablecmds.c:4171 #, c-format msgid "relation \"%s\" already exists" msgstr "Relation »%s« existiert bereits" @@ -4903,117 +4894,117 @@ msgstr "Heap-OID-Wert für pg_class ist im Binary-Upgrade-Modus nicht gesetzt" msgid "relfilenumber value not set when in binary upgrade mode" msgstr "Relfile-Nummer-Wert ist im Binary-Upgrade-Modus nicht gesetzt" -#: catalog/heap.c:2121 +#: catalog/heap.c:2130 #, c-format msgid "cannot add NO INHERIT constraint to partitioned table \"%s\"" msgstr "zur partitionierten Tabelle »%s« kann kein NO-INHERIT-Constraint hinzugefügt werden" -#: catalog/heap.c:2393 +#: catalog/heap.c:2402 #, c-format msgid "check constraint \"%s\" already exists" msgstr "Check-Constraint »%s« existiert bereits" -#: catalog/heap.c:2565 catalog/index.c:913 catalog/pg_constraint.c:724 -#: commands/tablecmds.c:9364 +#: catalog/heap.c:2574 catalog/index.c:913 catalog/pg_constraint.c:724 +#: commands/tablecmds.c:9356 #, c-format msgid "constraint \"%s\" for relation \"%s\" already exists" msgstr "Constraint »%s« existiert bereits für Relation »%s«" -#: catalog/heap.c:2572 +#: catalog/heap.c:2581 #, c-format msgid "constraint \"%s\" conflicts with non-inherited constraint on relation \"%s\"" msgstr "Constraint »%s« kollidiert mit nicht vererbtem Constraint für Relation »%s«" -#: catalog/heap.c:2583 +#: catalog/heap.c:2592 #, c-format msgid "constraint \"%s\" conflicts with inherited constraint on relation \"%s\"" msgstr "Constraint »%s« kollidiert mit vererbtem Constraint für Relation »%s«" -#: catalog/heap.c:2593 +#: catalog/heap.c:2602 #, c-format msgid "constraint \"%s\" conflicts with NOT VALID constraint on relation \"%s\"" msgstr "Constraint »%s« kollidiert mit NOT-VALID-Constraint für Relation »%s«" -#: catalog/heap.c:2598 +#: catalog/heap.c:2607 #, c-format msgid "merging constraint \"%s\" with inherited definition" msgstr "Constraint »%s« wird mit geerbter Definition zusammengeführt" -#: catalog/heap.c:2624 catalog/pg_constraint.c:853 commands/tablecmds.c:3062 -#: commands/tablecmds.c:3365 commands/tablecmds.c:7097 -#: commands/tablecmds.c:15807 commands/tablecmds.c:15938 +#: catalog/heap.c:2633 catalog/pg_constraint.c:853 commands/tablecmds.c:3074 +#: commands/tablecmds.c:3377 commands/tablecmds.c:7089 +#: commands/tablecmds.c:15907 commands/tablecmds.c:16038 #, c-format msgid "too many inheritance parents" msgstr "zu viele Elterntabellen" -#: catalog/heap.c:2708 +#: catalog/heap.c:2717 #, c-format msgid "cannot use generated column \"%s\" in column generation expression" msgstr "generierte Spalte »%s« kann nicht im Spaltengenerierungsausdruck verwendet werden" -#: catalog/heap.c:2710 +#: catalog/heap.c:2719 #, c-format msgid "A generated column cannot reference another generated column." msgstr "Eine generierte Spalte kann nicht auf eine andere generierte Spalte verweisen." -#: catalog/heap.c:2716 +#: catalog/heap.c:2725 #, c-format msgid "cannot use whole-row variable in column generation expression" msgstr "Variable mit Verweis auf die ganze Zeile kann nicht im Spaltengenerierungsausdruck verwendet werden" -#: catalog/heap.c:2717 +#: catalog/heap.c:2726 #, c-format msgid "This would cause the generated column to depend on its own value." msgstr "Dadurch würde die generierte Spalte von ihrem eigenen Wert abhängen." -#: catalog/heap.c:2772 +#: catalog/heap.c:2781 #, c-format msgid "generation expression is not immutable" msgstr "Generierungsausdruck ist nicht »immutable«" -#: catalog/heap.c:2800 rewrite/rewriteHandler.c:1281 +#: catalog/heap.c:2809 rewrite/rewriteHandler.c:1282 #, 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:2805 commands/prepare.c:331 parser/analyze.c:2758 +#: catalog/heap.c:2814 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:1286 +#: parser/parse_target.c:892 rewrite/rewriteHandler.c:1287 #, c-format msgid "You will need to rewrite or cast the expression." msgstr "Sie müssen den Ausdruck umschreiben oder eine Typumwandlung vornehmen." -#: catalog/heap.c:2852 +#: catalog/heap.c:2861 #, c-format msgid "only table \"%s\" can be referenced in check constraint" msgstr "nur Verweise auf Tabelle »%s« sind im Check-Constraint zugelassen" -#: catalog/heap.c:3158 +#: catalog/heap.c:3167 #, c-format msgid "unsupported ON COMMIT and foreign key combination" msgstr "nicht unterstützte Kombination aus ON COMMIT und Fremdschlüssel" -#: catalog/heap.c:3159 +#: catalog/heap.c:3168 #, c-format msgid "Table \"%s\" references \"%s\", but they do not have the same ON COMMIT setting." msgstr "Tabelle »%s« verweist auf »%s«, aber sie haben nicht die gleiche ON-COMMIT-Einstellung." -#: catalog/heap.c:3164 +#: catalog/heap.c:3173 #, c-format msgid "cannot truncate a table referenced in a foreign key constraint" msgstr "kann eine Tabelle, die in einen Fremdschlüssel-Constraint eingebunden ist, nicht leeren" -#: catalog/heap.c:3165 +#: catalog/heap.c:3174 #, c-format msgid "Table \"%s\" references \"%s\"." msgstr "Tabelle »%s« verweist auf »%s«." -#: catalog/heap.c:3167 +#: catalog/heap.c:3176 #, c-format msgid "Truncate table \"%s\" at the same time, or use TRUNCATE ... CASCADE." msgstr "Leeren Sie die Tabelle »%s« gleichzeitig oder verwenden Sie TRUNCATE ... CASCADE." -#: catalog/index.c:219 parser/parse_utilcmd.c:2151 +#: catalog/index.c:219 parser/parse_utilcmd.c:2176 #, c-format msgid "multiple primary keys for table \"%s\" are not allowed" msgstr "mehrere Primärschlüssel für Tabelle »%s« nicht erlaubt" @@ -5033,7 +5024,7 @@ msgstr "Primärschlüssel können keine Ausdrücke sein" msgid "primary key column \"%s\" is not marked NOT NULL" msgstr "Primärschlüsselspalte »%s« ist nicht als NOT NULL markiert" -#: catalog/index.c:798 catalog/index.c:1914 +#: catalog/index.c:798 catalog/index.c:1915 #, c-format msgid "user-defined indexes on system catalog tables are not supported" msgstr "benutzerdefinierte Indexe für Systemkatalogtabellen werden nicht unterstützt" @@ -5048,7 +5039,7 @@ msgstr "nichtdeterministische Sortierfolgen werden von Operatorklasse »%s« nic msgid "concurrent index creation on system catalog tables is not supported" msgstr "nebenläufige Indexerzeugung für Systemkatalogtabellen wird nicht unterstützt" -#: catalog/index.c:862 catalog/index.c:1330 +#: catalog/index.c:862 catalog/index.c:1331 #, c-format msgid "concurrent index creation for exclusion constraints is not supported" msgstr "nebenläufige Indexerzeugung für Exclusion-Constraints wird nicht unterstützt" @@ -5058,8 +5049,8 @@ msgstr "nebenläufige Indexerzeugung für Exclusion-Constraints wird nicht unter msgid "shared indexes cannot be created after initdb" msgstr "Cluster-globale Indexe können nicht nach initdb erzeugt werden" -#: catalog/index.c:891 commands/createas.c:418 commands/sequence.c:159 -#: parser/parse_utilcmd.c:212 +#: catalog/index.c:891 commands/createas.c:416 commands/sequence.c:159 +#: parser/parse_utilcmd.c:209 #, c-format msgid "relation \"%s\" already exists, skipping" msgstr "Relation »%s« existiert bereits, wird übersprungen" @@ -5069,199 +5060,199 @@ msgstr "Relation »%s« existiert bereits, wird übersprungen" 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:3790 +#: catalog/index.c:951 utils/cache/relcache.c:3791 #, 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" -#: catalog/index.c:2213 +#: catalog/index.c:2214 #, c-format 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:3669 +#: catalog/index.c:3659 #, c-format msgid "cannot reindex temporary tables of other sessions" msgstr "kann temporäre Tabellen anderer Sitzungen nicht reindizieren" -#: catalog/index.c:3680 commands/indexcmds.c:3648 +#: catalog/index.c:3670 commands/indexcmds.c:3619 #, c-format msgid "cannot reindex invalid index on TOAST table" msgstr "ungültiger Index einer TOAST-Tabelle kann nicht reindiziert werden" -#: catalog/index.c:3696 commands/indexcmds.c:3526 commands/indexcmds.c:3672 -#: commands/tablecmds.c:3557 +#: catalog/index.c:3686 commands/indexcmds.c:3497 commands/indexcmds.c:3643 +#: commands/tablecmds.c:3581 #, c-format msgid "cannot move system relation \"%s\"" msgstr "Systemrelation »%s« kann nicht verschoben werden" -#: catalog/index.c:3833 +#: catalog/index.c:3823 #, c-format msgid "index \"%s\" was reindexed" msgstr "Index »%s« wurde neu indiziert" -#: catalog/index.c:3999 +#: catalog/index.c:3989 #, 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:447 catalog/namespace.c:651 catalog/namespace.c:743 +#: catalog/namespace.c:462 catalog/namespace.c:666 catalog/namespace.c:758 #: commands/trigger.c:5731 #, c-format msgid "cross-database references are not implemented: \"%s.%s.%s\"" msgstr "Verweise auf andere Datenbanken sind nicht implementiert: »%s.%s.%s«" -#: catalog/namespace.c:504 +#: catalog/namespace.c:519 #, c-format msgid "temporary tables cannot specify a schema name" msgstr "temporäre Tabellen können keinen Schemanamen angeben" -#: catalog/namespace.c:585 +#: catalog/namespace.c:600 #, c-format msgid "could not obtain lock on relation \"%s.%s\"" msgstr "konnte Sperre für Relation »%s.%s« nicht setzen" -#: catalog/namespace.c:590 commands/lockcmds.c:143 commands/lockcmds.c:223 +#: catalog/namespace.c:605 commands/lockcmds.c:143 commands/lockcmds.c:223 #, c-format msgid "could not obtain lock on relation \"%s\"" msgstr "konnte Sperre für Relation »%s« nicht setzen" -#: catalog/namespace.c:618 parser/parse_relation.c:1430 +#: catalog/namespace.c:633 parser/parse_relation.c:1430 #, c-format msgid "relation \"%s.%s\" does not exist" msgstr "Relation »%s.%s« existiert nicht" -#: catalog/namespace.c:623 parser/parse_relation.c:1443 +#: catalog/namespace.c:638 parser/parse_relation.c:1443 #: parser/parse_relation.c:1451 utils/adt/regproc.c:913 #, c-format msgid "relation \"%s\" does not exist" msgstr "Relation »%s« existiert nicht" -#: catalog/namespace.c:689 catalog/namespace.c:3507 commands/extension.c:1607 +#: catalog/namespace.c:704 catalog/namespace.c:3522 commands/extension.c:1607 #: commands/extension.c:1613 #, c-format msgid "no schema has been selected to create in" msgstr "kein Schema für die Objekterzeugung ausgewählt" -#: catalog/namespace.c:841 catalog/namespace.c:854 +#: catalog/namespace.c:856 catalog/namespace.c:869 #, c-format msgid "cannot create relations in temporary schemas of other sessions" msgstr "kann keine Relationen in temporären Schemas anderer Sitzungen erzeugen" -#: catalog/namespace.c:845 +#: catalog/namespace.c:860 #, c-format msgid "cannot create temporary relation in non-temporary schema" msgstr "kann keine temporäre Relation in einem nicht-temporären Schema erzeugen" -#: catalog/namespace.c:860 +#: catalog/namespace.c:875 #, c-format msgid "only temporary relations may be created in temporary schemas" msgstr "nur temporäre Relationen können in temporären Schemas erzeugt werden" -#: catalog/namespace.c:2604 +#: catalog/namespace.c:2619 #, c-format msgid "statistics object \"%s\" does not exist" msgstr "Statistikobjekt »%s« existiert nicht" -#: catalog/namespace.c:2746 +#: catalog/namespace.c:2761 #, c-format msgid "text search parser \"%s\" does not exist" msgstr "Textsucheparser »%s« existiert nicht" -#: catalog/namespace.c:2891 utils/adt/regproc.c:1459 +#: catalog/namespace.c:2906 utils/adt/regproc.c:1459 #, c-format msgid "text search dictionary \"%s\" does not exist" msgstr "Textsuchewörterbuch »%s« existiert nicht" -#: catalog/namespace.c:3037 +#: catalog/namespace.c:3052 #, c-format msgid "text search template \"%s\" does not exist" msgstr "Textsuchevorlage »%s« existiert nicht" -#: catalog/namespace.c:3182 commands/tsearchcmds.c:1168 +#: catalog/namespace.c:3197 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 "Textsuchekonfiguration »%s« existiert nicht" -#: catalog/namespace.c:3314 parser/parse_expr.c:869 parser/parse_target.c:1259 +#: catalog/namespace.c:3329 parser/parse_expr.c:868 parser/parse_target.c:1259 #, c-format msgid "cross-database references are not implemented: %s" msgstr "Verweise auf andere Datenbanken sind nicht implementiert: %s" -#: catalog/namespace.c:3320 gram.y:19230 gram.y:19270 parser/parse_expr.c:876 +#: catalog/namespace.c:3335 gram.y:19181 gram.y:19221 parser/parse_expr.c:875 #: parser/parse_target.c:1266 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "falscher qualifizierter Name (zu viele Namensteile): %s" -#: catalog/namespace.c:3450 +#: catalog/namespace.c:3465 #, c-format msgid "cannot move objects into or out of temporary schemas" msgstr "Objekte können nicht in oder aus temporären Schemas verschoben werden" -#: catalog/namespace.c:3456 +#: catalog/namespace.c:3471 #, c-format msgid "cannot move objects into or out of TOAST schema" msgstr "Objekte können nicht in oder aus TOAST-Schemas verschoben werden" -#: catalog/namespace.c:3529 commands/schemacmds.c:264 commands/schemacmds.c:344 -#: commands/tablecmds.c:1392 utils/adt/regproc.c:1688 +#: catalog/namespace.c:3544 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« existiert nicht" -#: catalog/namespace.c:3560 +#: catalog/namespace.c:3575 #, c-format msgid "improper relation name (too many dotted names): %s" msgstr "falscher Relationsname (zu viele Namensteile): %s" -#: catalog/namespace.c:4001 utils/adt/regproc.c:1056 +#: catalog/namespace.c:4016 utils/adt/regproc.c:1056 #, c-format msgid "collation \"%s\" for encoding \"%s\" does not exist" msgstr "Sortierfolge »%s« für Kodierung »%s« existiert nicht" -#: catalog/namespace.c:4056 +#: catalog/namespace.c:4071 #, c-format msgid "conversion \"%s\" does not exist" msgstr "Konversion »%s« existiert nicht" -#: catalog/namespace.c:4397 +#: catalog/namespace.c:4412 #, c-format msgid "permission denied to create temporary tables in database \"%s\"" msgstr "keine Berechtigung, um temporäre Tabellen in Datenbank »%s« zu erzeugen" -#: catalog/namespace.c:4413 +#: catalog/namespace.c:4428 #, c-format msgid "cannot create temporary tables during recovery" msgstr "während der Wiederherstellung können keine temporären Tabellen erzeugt werden" -#: catalog/namespace.c:4419 +#: catalog/namespace.c:4434 #, c-format msgid "cannot create temporary tables during a parallel operation" msgstr "während einer parallelen Operation können keine temporären Tabellen erzeugt werden" #: catalog/objectaddress.c:1371 commands/policy.c:93 commands/policy.c:373 -#: commands/tablecmds.c:257 commands/tablecmds.c:299 commands/tablecmds.c:2315 -#: commands/tablecmds.c:12826 parser/parse_utilcmd.c:3249 +#: commands/tablecmds.c:257 commands/tablecmds.c:299 commands/tablecmds.c:2327 +#: commands/tablecmds.c:12925 #, c-format msgid "\"%s\" is not a table" msgstr "»%s« ist keine Tabelle" #: catalog/objectaddress.c:1378 commands/tablecmds.c:269 -#: commands/tablecmds.c:17744 commands/view.c:114 +#: commands/tablecmds.c:17851 commands/view.c:114 #, c-format msgid "\"%s\" is not a view" msgstr "»%s« ist keine Sicht" -#: catalog/objectaddress.c:1385 commands/matview.c:183 commands/tablecmds.c:275 -#: commands/tablecmds.c:17749 +#: catalog/objectaddress.c:1385 commands/matview.c:199 commands/tablecmds.c:275 +#: commands/tablecmds.c:17856 #, c-format msgid "\"%s\" is not a materialized view" msgstr "»%s« ist keine materialisierte Sicht" #: catalog/objectaddress.c:1392 commands/tablecmds.c:293 -#: commands/tablecmds.c:17754 +#: commands/tablecmds.c:17861 #, c-format msgid "\"%s\" is not a foreign table" msgstr "»%s« ist keine Fremdtabelle" @@ -5305,7 +5296,7 @@ msgid "user mapping for user \"%s\" on server \"%s\" does not exist" msgstr "Benutzerabbildung für Benutzer »%s« auf Server »%s« existiert nicht" #: catalog/objectaddress.c:1834 commands/foreigncmds.c:430 -#: commands/foreigncmds.c:993 commands/foreigncmds.c:1356 foreign/foreign.c:703 +#: commands/foreigncmds.c:993 commands/foreigncmds.c:1356 foreign/foreign.c:713 #, c-format msgid "server \"%s\" does not exist" msgstr "Server »%s« existiert nicht" @@ -6037,8 +6028,8 @@ msgstr "Partition »%s« kann nicht abgetrennt werden" msgid "The partition is being detached concurrently or has an unfinished detach." msgstr "Die Partition wird nebenläufig abgetrennt oder hat eine unfertige Abtrennoperation." -#: catalog/pg_inherits.c:595 commands/tablecmds.c:4778 -#: commands/tablecmds.c:16053 +#: catalog/pg_inherits.c:595 commands/tablecmds.c:4800 +#: commands/tablecmds.c:16153 #, c-format msgid "Use ALTER TABLE ... DETACH PARTITION ... FINALIZE to complete the pending detach operation." msgstr "Verwendet Sie ALTER TABLE ... DETACH PARTITION ... FINALIZE, um die unerledigte Abtrennoperation abzuschließen." @@ -6230,7 +6221,7 @@ msgstr "SQL-Funktionen können keinen Rückgabetyp »%s« haben" msgid "SQL functions cannot have arguments of type %s" msgstr "SQL-Funktionen können keine Argumente vom Typ »%s« haben" -#: catalog/pg_proc.c:986 executor/functions.c:1467 +#: catalog/pg_proc.c:986 executor/functions.c:1468 #, c-format msgid "SQL function \"%s\"" msgstr "SQL-Funktion »%s«" @@ -6622,7 +6613,7 @@ msgstr "Nur Superuser können Zugriffsmethoden anlegen." msgid "access method \"%s\" already exists" msgstr "Zugriffsmethode »%s« existiert bereits" -#: commands/amcmds.c:154 commands/indexcmds.c:221 commands/indexcmds.c:841 +#: commands/amcmds.c:154 commands/indexcmds.c:223 commands/indexcmds.c:843 #: commands/opclasscmds.c:374 commands/opclasscmds.c:832 #, c-format msgid "access method \"%s\" does not exist" @@ -6665,22 +6656,22 @@ msgstr "analysiere »%s.%s«" msgid "column \"%s\" of relation \"%s\" appears more than once" msgstr "Spalte »%s« von Relation »%s« erscheint mehrmals" -#: commands/analyze.c:780 +#: commands/analyze.c:785 #, c-format msgid "automatic analyze of table \"%s.%s.%s\"\n" msgstr "automatisches Analysieren der Tabelle »%s.%s.%s«\n" -#: commands/analyze.c:1295 +#: commands/analyze.c:1300 #, c-format msgid "\"%s\": scanned %d of %u pages, containing %.0f live rows and %.0f dead rows; %d rows in sample, %.0f estimated total rows" msgstr "»%s«: %d von %u Seiten gelesen, enthalten %.0f lebende Zeilen und %.0f tote Zeilen; %d Zeilen in Stichprobe, schätzungsweise %.0f Zeilen insgesamt" -#: commands/analyze.c:1379 +#: commands/analyze.c:1384 #, c-format msgid "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree contains no child tables" msgstr "überspringe Analysieren des Vererbungsbaums »%s.%s« --- dieser Vererbungsbaum enthält keine abgeleiteten Tabellen" -#: commands/analyze.c:1477 +#: commands/analyze.c:1482 #, c-format 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" @@ -6740,7 +6731,7 @@ msgstr "kann temporäre Tabellen anderer Sitzungen nicht clustern" msgid "there is no previously clustered index for table \"%s\"" msgstr "es gibt keinen bereits geclusterten Index für Tabelle »%s«" -#: commands/cluster.c:191 commands/tablecmds.c:14698 commands/tablecmds.c:16629 +#: commands/cluster.c:191 commands/tablecmds.c:14797 commands/tablecmds.c:16729 #, c-format msgid "index \"%s\" for table \"%s\" does not exist" msgstr "Index »%s« für Tabelle »%s« existiert nicht" @@ -6755,7 +6746,7 @@ msgstr "globaler Katalog kann nicht geclustert werden" msgid "cannot vacuum temporary tables of other sessions" msgstr "temporäre Tabellen anderer Sitzungen können nicht gevacuumt werden" -#: commands/cluster.c:513 commands/tablecmds.c:16639 +#: commands/cluster.c:513 commands/tablecmds.c:16739 #, c-format msgid "\"%s\" is not an index for table \"%s\"" msgstr "»%s« ist kein Index für Tabelle »%s«" @@ -6820,7 +6811,7 @@ msgid "collation attribute \"%s\" not recognized" msgstr "Attribut »%s« für Sortierfolge unbekannt" #: commands/collationcmds.c:123 commands/collationcmds.c:129 -#: commands/define.c:388 commands/tablecmds.c:8137 +#: commands/define.c:388 commands/tablecmds.c:8129 #: replication/pgoutput/pgoutput.c:307 replication/pgoutput/pgoutput.c:330 #: replication/pgoutput/pgoutput.c:344 replication/pgoutput/pgoutput.c:354 #: replication/pgoutput/pgoutput.c:364 replication/pgoutput/pgoutput.c:374 @@ -6895,25 +6886,25 @@ msgstr "Version der Standardsortierfolge kann nicht aufgefrischt werden" #. translator: %s is an SQL command #. translator: %s is an SQL ALTER command #: commands/collationcmds.c:447 commands/subscriptioncmds.c:1376 -#: commands/tablecmds.c:7913 commands/tablecmds.c:7923 -#: commands/tablecmds.c:7925 commands/tablecmds.c:14400 -#: commands/tablecmds.c:17777 commands/tablecmds.c:17798 +#: commands/tablecmds.c:7905 commands/tablecmds.c:7915 +#: commands/tablecmds.c:7917 commands/tablecmds.c:14499 +#: commands/tablecmds.c:17884 commands/tablecmds.c:17905 #: commands/typecmds.c:3787 commands/typecmds.c:3872 commands/typecmds.c:4226 #, c-format msgid "Use %s instead." msgstr "Verwenden Sie stattdessen %s." -#: commands/collationcmds.c:480 commands/dbcommands.c:2550 +#: commands/collationcmds.c:480 commands/dbcommands.c:2566 #, c-format msgid "changing version from %s to %s" msgstr "Version wird von %s in %s geändert" -#: commands/collationcmds.c:495 commands/dbcommands.c:2563 +#: commands/collationcmds.c:495 commands/dbcommands.c:2579 #, c-format msgid "version has not changed" msgstr "Version hat sich nicht geändert" -#: commands/collationcmds.c:528 commands/dbcommands.c:2729 +#: commands/collationcmds.c:528 commands/dbcommands.c:2749 #, c-format msgid "database with OID %u does not exist" msgstr "Datenbank mit OID %u existiert nicht" @@ -6933,10 +6924,10 @@ msgstr "nur Superuser können Systemsortierfolgen importieren" msgid "no usable system locales were found" msgstr "keine brauchbaren System-Locales gefunden" -#: commands/comment.c:61 commands/dbcommands.c:1663 commands/dbcommands.c:1875 -#: commands/dbcommands.c:1985 commands/dbcommands.c:2183 -#: commands/dbcommands.c:2421 commands/dbcommands.c:2512 -#: commands/dbcommands.c:2633 commands/dbcommands.c:3141 +#: commands/comment.c:61 commands/dbcommands.c:1665 commands/dbcommands.c:1883 +#: commands/dbcommands.c:1995 commands/dbcommands.c:2193 +#: commands/dbcommands.c:2433 commands/dbcommands.c:2526 +#: commands/dbcommands.c:2650 commands/dbcommands.c:3161 #: utils/init/postinit.c:1033 utils/init/postinit.c:1097 #: utils/init/postinit.c:1170 #, c-format @@ -7043,197 +7034,130 @@ msgstr "»%s« kann nicht mit HEADER in COPY TO verwendet werden" msgid "%s requires a Boolean value or \"match\"" msgstr "%s erfordert einen Boole’schen Wert oder »match«" -#: commands/copy.c:400 +#. 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 #, c-format -msgid "COPY ON_ERROR cannot be used with COPY TO" -msgstr "COPY ON_ERROR kann nicht mit COPY TO verwendet werden" +msgid "COPY %s cannot be used with %s" +msgstr "COPY %s kann nicht mit %s verwendet werden" -#: commands/copy.c:413 -#, fuzzy, c-format -#| msgid "COPY format \"%s\" not recognized" -msgid "COPY ON_ERROR \"%s\" not recognized" -msgstr "COPY-Format »%s« nicht erkannt" - -#: commands/copy.c:437 -#, fuzzy, c-format -#| msgid "COPY format \"%s\" not recognized" -msgid "COPY LOG_VERBOSITY \"%s\" not recognized" -msgstr "COPY-Format »%s« nicht erkannt" +#. translator: first %s is the name of a COPY option, e.g. ON_ERROR +#: commands/copy.c:416 commands/copy.c:441 +#, c-format +msgid "COPY %s \"%s\" not recognized" +msgstr "COPY %s »%s« nicht erkannt" -#: commands/copy.c:498 +#: commands/copy.c:502 #, c-format msgid "COPY format \"%s\" not recognized" msgstr "COPY-Format »%s« nicht erkannt" -#: commands/copy.c:556 commands/copy.c:571 commands/copy.c:586 -#: commands/copy.c:605 +#: commands/copy.c:560 commands/copy.c:575 commands/copy.c:590 +#: commands/copy.c:609 #, c-format msgid "argument to option \"%s\" must be a list of column names" msgstr "Argument von Option »%s« muss eine Liste aus Spaltennamen sein" -#: commands/copy.c:617 +#: commands/copy.c:621 #, c-format msgid "argument to option \"%s\" must be a valid encoding name" msgstr "Argument von Option »%s« muss ein gültiger Kodierungsname sein" -#: commands/copy.c:638 commands/dbcommands.c:866 commands/dbcommands.c:2369 +#: commands/copy.c:642 commands/dbcommands.c:866 commands/dbcommands.c:2381 #, c-format msgid "option \"%s\" not recognized" msgstr "Option »%s« nicht erkannt" -#: commands/copy.c:650 -#, c-format -msgid "cannot specify DELIMITER in BINARY mode" -msgstr "DELIMITER kann nicht im BINARY-Modus angegeben werden" - -#: commands/copy.c:655 -#, c-format -msgid "cannot specify NULL in BINARY mode" -msgstr "NULL kann nicht im BINARY-Modus angegeben werden" - -#: commands/copy.c:660 +#. 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 #, c-format -msgid "cannot specify DEFAULT in BINARY mode" -msgstr "DEFAULT kann nicht im BINARY-Modus angegeben werden" +msgid "cannot specify %s in BINARY mode" +msgstr "%s kann nicht im BINARY-Modus angegeben werden" -#: commands/copy.c:665 +#: commands/copy.c:670 #, c-format msgid "only ON_ERROR STOP is allowed in BINARY mode" -msgstr "" +msgstr "nur ON_ERROR STOP ist im BINARY-Modus erlaubt" -#: commands/copy.c:687 +#: commands/copy.c:692 #, c-format msgid "COPY delimiter must be a single one-byte character" msgstr "DELIMITER für COPY muss ein einzelnes Ein-Byte-Zeichen sein" -#: commands/copy.c:694 +#: commands/copy.c:699 #, c-format msgid "COPY delimiter cannot be newline or carriage return" msgstr "COPY-Trennzeichen kann nicht Newline oder Carriage Return sein" -#: commands/copy.c:700 +#: commands/copy.c:705 #, c-format msgid "COPY null representation cannot use newline or carriage return" msgstr "COPY NULL-Darstellung kann nicht Newline oder Carriage Return enthalten" -#: commands/copy.c:710 +#: commands/copy.c:715 #, c-format msgid "COPY default representation cannot use newline or carriage return" msgstr "COPY DEFAULT-Darstellung kann nicht Newline oder Carriage Return enthalten" -#: commands/copy.c:728 +#: commands/copy.c:733 #, c-format msgid "COPY delimiter cannot be \"%s\"" msgstr "DELIMITER für COPY darf nicht »%s« sein" -#: commands/copy.c:734 -#, c-format -msgid "cannot specify HEADER in BINARY mode" -msgstr "HEADER kann nicht im BINARY-Modus angegeben werden" - -#: commands/copy.c:740 +#. 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 #, c-format -msgid "COPY QUOTE requires CSV mode" -msgstr "COPY QUOTE benötigt CSV-Modus" +msgid "COPY %s requires CSV mode" +msgstr "COPY %s benötigt CSV-Modus" -#: commands/copy.c:745 +#: commands/copy.c:752 #, c-format msgid "COPY quote must be a single one-byte character" msgstr "Quote-Zeichen für COPY muss ein einzelnes Ein-Byte-Zeichen sein" -#: commands/copy.c:750 +#: commands/copy.c:757 #, c-format msgid "COPY delimiter and quote must be different" msgstr "DELIMITER und QUOTE für COPY müssen verschieden sein" -#: commands/copy.c:756 -#, c-format -msgid "COPY ESCAPE requires CSV mode" -msgstr "COPY ESCAPE benötigt CSV-Modus" - -#: commands/copy.c:761 +#: commands/copy.c:769 #, c-format msgid "COPY escape must be a single one-byte character" msgstr "Escape-Zeichen für COPY muss ein einzelnes Ein-Byte-Zeichen sein" -#: commands/copy.c:767 -#, c-format -msgid "COPY FORCE_QUOTE requires CSV mode" -msgstr "COPY FORCE_QUOTE benötigt CSV-Modus" - -#: commands/copy.c:771 -#, c-format -msgid "COPY FORCE_QUOTE cannot be used with COPY FROM" -msgstr "COPY FORCE_QUOTE kann nicht mit COPY FROM verwendet werden" - -#: commands/copy.c:777 -#, c-format -msgid "COPY FORCE_NOT_NULL requires CSV mode" -msgstr "COPY FORCE_NOT_NULL benötigt CSV-Modus" - -#: commands/copy.c:781 -#, c-format -msgid "COPY FORCE_NOT_NULL cannot be used with COPY TO" -msgstr "COPY FORCE_NOT_NULL kann nicht mit COPY TO verwendet werden" - -#: commands/copy.c:787 -#, c-format -msgid "COPY FORCE_NULL requires CSV mode" -msgstr "COPY FORCE_NULL benötigt CSV-Modus" - -#: commands/copy.c:792 -#, c-format -msgid "COPY FORCE_NULL cannot be used with COPY TO" -msgstr "COPY FORCE_NULL kann nicht mit COPY TO verwendet werden" - -#: commands/copy.c:798 -#, c-format -msgid "COPY delimiter character must not appear in the NULL specification" -msgstr "Trennzeichen für COPY darf nicht in der NULL-Darstellung erscheinen" - -#: commands/copy.c:805 -#, c-format -msgid "CSV quote character must not appear in the NULL specification" -msgstr "CSV-Quote-Zeichen darf nicht in der NULL-Darstellung erscheinen" - -#: commands/copy.c:811 -#, c-format -msgid "COPY FREEZE cannot be used with COPY TO" -msgstr "COPY FREEZE kann nicht mit COPY TO verwendet werden" - -#: commands/copy.c:818 -#, c-format -msgid "COPY DEFAULT only available using COPY FROM" -msgstr "COPY DEFAULT ist nur bei COPY FROM verfügbar" - -#: commands/copy.c:824 +#. translator: %s is the name of a COPY option, e.g. NULL +#: commands/copy.c:823 commands/copy.c:859 #, c-format -msgid "COPY delimiter must not appear in the DEFAULT specification" -msgstr "Trennzeichen für COPY darf nicht in der DEFAULT-Darstellung erscheinen" +msgid "COPY delimiter character must not appear in the %s specification" +msgstr "Trennzeichen für COPY darf nicht in der %s-Darstellung erscheinen" -#: commands/copy.c:831 +#. translator: %s is the name of a COPY option, e.g. NULL +#: commands/copy.c:832 commands/copy.c:868 #, c-format -msgid "CSV quote character must not appear in the DEFAULT specification" -msgstr "CSV-Quote-Zeichen darf nicht in der DEFAULT-Darstellung erscheinen" +msgid "CSV quote character must not appear in the %s specification" +msgstr "CSV-Quote-Zeichen darf nicht in der %s-Darstellung erscheinen" -#: commands/copy.c:839 +#: commands/copy.c:877 #, c-format msgid "NULL specification and DEFAULT specification cannot be the same" msgstr "NULL-Darstellung und DEFAULT-Darstellung können nicht gleich sein" -#: commands/copy.c:901 +#: commands/copy.c:939 #, c-format msgid "column \"%s\" is a generated column" msgstr "Spalte »%s« ist eine generierte Spalte" -#: commands/copy.c:903 +#: commands/copy.c:941 #, c-format msgid "Generated columns cannot be used in COPY." msgstr "Generierte Spalten können nicht in COPY verwendet werden." -#: commands/copy.c:918 commands/indexcmds.c:1915 commands/statscmds.c:239 -#: commands/tablecmds.c:2514 commands/tablecmds.c:2985 -#: commands/tablecmds.c:3781 parser/parse_relation.c:3692 +#: commands/copy.c:956 commands/indexcmds.c:1883 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 @@ -7241,7 +7165,7 @@ msgstr "Generierte Spalten können nicht in COPY verwendet werden." msgid "column \"%s\" does not exist" msgstr "Spalte »%s« existiert nicht" -#: commands/copy.c:925 commands/tablecmds.c:2540 commands/trigger.c:951 +#: commands/copy.c:963 commands/tablecmds.c:2552 commands/trigger.c:951 #: parser/parse_target.c:1083 parser/parse_target.c:1094 #, c-format msgid "column \"%s\" specified more than once" @@ -7321,40 +7245,37 @@ msgstr "COPY FREEZE kann nicht durchgeführt werden, weil die Tabelle nicht in d #, c-format msgid "%llu row was skipped due to data type incompatibility" msgid_plural "%llu rows were skipped due to data type incompatibility" -msgstr[0] "" -msgstr[1] "" - -#: commands/copyfrom.c:1447 -#, c-format -msgid "FORCE_NOT_NULL column \"%s\" not referenced by COPY" -msgstr "Spalte »%s« mit FORCE_NOT_NULL wird von COPY nicht verwendet" +msgstr[0] "%llu Zeile wurde übersprungen wegen Datentypinkompatibilität" +msgstr[1] "%llu Zeilen wurden übersprungen wegen Datentypinkompatibilität" -#: commands/copyfrom.c:1489 +#. translator: first %s is the name of a COPY option, e.g. FORCE_NOT_NULL +#. translator: %s is the name of a COPY option, e.g. FORCE_NOT_NULL +#: commands/copyfrom.c:1448 commands/copyfrom.c:1491 commands/copyto.c:601 #, c-format -msgid "FORCE_NULL column \"%s\" not referenced by COPY" -msgstr "Spalte »%s« mit FORCE_NULL wird von COPY nicht verwendet" +msgid "%s column \"%s\" not referenced by COPY" +msgstr "Spalte »%s« mit %s wird von COPY nicht verwendet" -#: commands/copyfrom.c:1542 utils/mb/mbutils.c:385 +#: commands/copyfrom.c:1544 utils/mb/mbutils.c:385 #, c-format msgid "default conversion function for encoding \"%s\" to \"%s\" does not exist" msgstr "Standardumwandlung von Kodierung »%s« nach »%s« existiert nicht" -#: commands/copyfrom.c:1740 +#: commands/copyfrom.c:1742 #, c-format msgid "COPY FROM instructs the PostgreSQL server process to read a file. You may want a client-side facility such as psql's \\copy." msgstr "Mit COPY FROM liest der PostgreSQL-Serverprozess eine Datei. Möglicherweise möchten Sie Funktionalität auf Client-Seite verwenden, wie zum Beispiel \\copy in psql." -#: commands/copyfrom.c:1753 commands/copyto.c:701 +#: commands/copyfrom.c:1755 commands/copyto.c:706 #, c-format msgid "\"%s\" is a directory" msgstr "»%s« ist ein Verzeichnis" -#: commands/copyfrom.c:1821 commands/copyto.c:299 libpq/be-secure-common.c:83 +#: commands/copyfrom.c:1823 commands/copyto.c:299 libpq/be-secure-common.c:83 #, c-format msgid "could not close pipe to external command: %m" msgstr "konnte Pipe zu externem Programm nicht schließen: %m" -#: commands/copyfrom.c:1836 commands/copyto.c:304 +#: commands/copyfrom.c:1838 commands/copyto.c:304 #, c-format msgid "program \"%s\" failed" msgstr "Programm »%s« fehlgeschlagen" @@ -7395,7 +7316,7 @@ msgid "could not read from COPY file: %m" msgstr "konnte nicht aus COPY-Datei lesen: %m" #: commands/copyfromparse.c:278 commands/copyfromparse.c:303 -#: replication/walsender.c:756 replication/walsender.c:782 tcop/postgres.c:377 +#: replication/walsender.c:756 replication/walsender.c:782 tcop/postgres.c:381 #, c-format msgid "unexpected EOF on client connection with an open transaction" msgstr "unerwartetes EOF auf Client-Verbindung mit einer offenen Transaktion" @@ -7438,13 +7359,13 @@ msgstr "fehlende Daten für Spalte »%s«" #: commands/copyfromparse.c:990 #, c-format -msgid "skipping row due to data type incompatibility at line %llu for column %s: \"%s\"" -msgstr "" +msgid "skipping row due to data type incompatibility at line %llu for column \"%s\": \"%s\"" +msgstr "Zeile wird übersprungen wegen Datentypinkompatibilität auf Zeile %llu für Spalte »%s«: »%s«" #: commands/copyfromparse.c:998 #, c-format -msgid "skipping row due to data type incompatibility at line %llu for column %s: null input" -msgstr "" +msgid "skipping row due to data type incompatibility at line %llu for column \"%s\": null input" +msgstr "Zeile wird übersprungen wegen Datentypinkompatibilität auf Zeile %llu für Spalte »%s«: Eingabe ist NULL" #: commands/copyfromparse.c:1044 #, c-format @@ -7594,7 +7515,7 @@ msgstr "DO-INSTEAD-Regeln mit Bedingung werden für COPY nicht unterstützt" #: commands/copyto.c:478 #, c-format -msgid "DO ALSO rules are not supported for the COPY" +msgid "DO ALSO rules are not supported for COPY" msgstr "DO-ALSO-Regeln werden für COPY nicht unterstützt" #: commands/copyto.c:483 @@ -7607,42 +7528,42 @@ msgstr "DO-INSTEAD-Regeln mit mehreren Anweisungen werden für COPY nicht unters msgid "COPY (SELECT INTO) is not supported" msgstr "COPY (SELECT INTO) wird nicht unterstützt" -#: commands/copyto.c:511 +#: commands/copyto.c:499 +#, c-format +msgid "COPY query must not be a utility command" +msgstr "COPY-Anfrage darf kein Utility-Befehl sein" + +#: commands/copyto.c:515 #, c-format msgid "COPY query must have a RETURNING clause" msgstr "COPY-Anfrage muss eine RETURNING-Klausel haben" -#: commands/copyto.c:540 +#: commands/copyto.c:544 #, c-format msgid "relation referenced by COPY statement has changed" msgstr "die von der COPY-Anweisung verwendete Relation hat sich geändert" -#: commands/copyto.c:596 -#, c-format -msgid "FORCE_QUOTE column \"%s\" not referenced by COPY" -msgstr "FORCE_QUOTE-Spalte »%s« wird von COPY nicht verwendet" - -#: commands/copyto.c:666 +#: commands/copyto.c:671 #, c-format msgid "relative path not allowed for COPY to file" msgstr "relativer Pfad bei COPY in Datei nicht erlaubt" -#: commands/copyto.c:685 +#: commands/copyto.c:690 #, c-format msgid "could not open file \"%s\" for writing: %m" msgstr "konnte Datei »%s« nicht zum Schreiben öffnen: %m" -#: commands/copyto.c:688 +#: commands/copyto.c:693 #, c-format msgid "COPY TO instructs the PostgreSQL server process to write a file. You may want a client-side facility such as psql's \\copy." msgstr "Mit COPY TO schreibt der PostgreSQL-Serverprozess eine Datei. Möglicherweise möchten Sie Funktionalität auf Client-Seite verwenden, wie zum Beispiel \\copy in psql." -#: commands/createas.c:210 commands/createas.c:518 +#: commands/createas.c:210 commands/createas.c:516 #, c-format msgid "too many column names were specified" msgstr "zu viele Spaltennamen wurden angegeben" -#: commands/createas.c:541 +#: commands/createas.c:539 #, c-format msgid "policies not yet implemented for this command" msgstr "Policys sind für diesen Befehl noch nicht implementiert" @@ -7677,7 +7598,7 @@ msgstr "%s ist kein gültiger Kodierungsname" msgid "unrecognized locale provider: %s" msgstr "unbekannter Locale-Provider: %s" -#: commands/dbcommands.c:944 commands/dbcommands.c:2402 commands/user.c:299 +#: commands/dbcommands.c:944 commands/dbcommands.c:2414 commands/user.c:299 #: commands/user.c:739 #, c-format msgid "invalid connection limit: %d" @@ -7698,7 +7619,7 @@ msgstr "Template-Datenbank »%s« existiert nicht" msgid "cannot use invalid database \"%s\" as template" msgstr "ungültige Datenbank »%s« kann nicht als Template verwendet werden" -#: commands/dbcommands.c:1000 commands/dbcommands.c:2431 +#: commands/dbcommands.c:1000 commands/dbcommands.c:2444 #: utils/init/postinit.c:1112 #, c-format msgid "Use DROP DATABASE to drop invalid databases." @@ -7844,7 +7765,7 @@ msgstr "Die Template-Datenbank wurde mit Sortierfolgenversion %s erzeugt, aber d msgid "Rebuild all objects in the template database that use the default collation and run ALTER DATABASE %s REFRESH COLLATION VERSION, or build PostgreSQL with the right library version." msgstr "Bauen Sie alle Objekte in der Template-Datenbank, die die Standardsortierfolge verwenden, neu und führen Sie ALTER DATABASE %s REFRESH COLLATION VERSION aus, oder bauen Sie PostgreSQL mit der richtigen Bibliotheksversion." -#: commands/dbcommands.c:1298 commands/dbcommands.c:2031 +#: commands/dbcommands.c:1298 commands/dbcommands.c:2041 #, c-format msgid "pg_global cannot be used as default tablespace" msgstr "pg_global kann nicht als Standard-Tablespace verwendet werden" @@ -7859,7 +7780,7 @@ msgstr "kann neuen Standard-Tablespace »%s« nicht setzen" msgid "There is a conflict because database \"%s\" already has some tables in this tablespace." msgstr "Es gibt einen Konflikt, weil Datenbank »%s« schon einige Tabellen in diesem Tablespace hat." -#: commands/dbcommands.c:1356 commands/dbcommands.c:1904 +#: commands/dbcommands.c:1356 commands/dbcommands.c:1912 #, c-format msgid "database \"%s\" already exists" msgstr "Datenbank »%s« existiert bereits" @@ -7880,7 +7801,7 @@ msgid "data directory with the specified OID %u already exists" msgstr "Datenverzeichnis mit der angegebenen OID %u existiert bereits" #: commands/dbcommands.c:1571 commands/dbcommands.c:1586 -#: utils/adt/pg_locale.c:2565 +#: utils/adt/pg_locale.c:2588 #, c-format msgid "encoding \"%s\" does not match locale \"%s\"" msgstr "Kodierung »%s« stimmt nicht mit Locale »%s« überein" @@ -7895,132 +7816,132 @@ msgstr "Die gewählte LC_CTYPE-Einstellung verlangt die Kodierung »%s«." msgid "The chosen LC_COLLATE setting requires encoding \"%s\"." msgstr "Die gewählte LC_COLLATE-Einstellung verlangt die Kodierung »%s«." -#: commands/dbcommands.c:1670 +#: commands/dbcommands.c:1672 #, c-format msgid "database \"%s\" does not exist, skipping" msgstr "Datenbank »%s« existiert nicht, wird übersprungen" -#: commands/dbcommands.c:1694 +#: commands/dbcommands.c:1696 #, c-format msgid "cannot drop a template database" msgstr "Template-Datenbank kann nicht gelöscht werden" -#: commands/dbcommands.c:1700 +#: commands/dbcommands.c:1702 #, c-format msgid "cannot drop the currently open database" msgstr "kann aktuell geöffnete Datenbank nicht löschen" -#: commands/dbcommands.c:1713 +#: commands/dbcommands.c:1715 #, c-format msgid "database \"%s\" is used by an active logical replication slot" msgstr "Datenbank »%s« wird von einem aktiven logischen Replikations-Slot verwendet" -#: commands/dbcommands.c:1715 +#: commands/dbcommands.c:1717 #, c-format msgid "There is %d active slot." msgid_plural "There are %d active slots." msgstr[0] "%d Slot ist vorhanden." msgstr[1] "%d Slots sind vorhanden." -#: commands/dbcommands.c:1729 +#: commands/dbcommands.c:1731 #, c-format msgid "database \"%s\" is being used by logical replication subscription" msgstr "Datenbank »%s« wird von einer Subskription für logische Replikation verwendet" -#: commands/dbcommands.c:1731 +#: commands/dbcommands.c:1733 #, c-format msgid "There is %d subscription." msgid_plural "There are %d subscriptions." msgstr[0] "%d Subskription ist vorhanden." msgstr[1] "%d Subskriptionen sind vorhanden." -#: commands/dbcommands.c:1752 commands/dbcommands.c:1926 -#: commands/dbcommands.c:2053 +#: commands/dbcommands.c:1754 commands/dbcommands.c:1934 +#: commands/dbcommands.c:2063 #, c-format msgid "database \"%s\" is being accessed by other users" msgstr "auf Datenbank »%s« wird von anderen Benutzern zugegriffen" -#: commands/dbcommands.c:1886 +#: commands/dbcommands.c:1894 #, c-format msgid "permission denied to rename database" msgstr "keine Berechtigung, um Datenbank umzubenennen" -#: commands/dbcommands.c:1915 +#: commands/dbcommands.c:1923 #, c-format msgid "current database cannot be renamed" msgstr "aktuelle Datenbank kann nicht umbenannt werden" -#: commands/dbcommands.c:2009 +#: commands/dbcommands.c:2019 #, c-format msgid "cannot change the tablespace of the currently open database" msgstr "kann den Tablespace der aktuell geöffneten Datenbank nicht ändern" -#: commands/dbcommands.c:2115 +#: commands/dbcommands.c:2125 #, c-format msgid "some relations of database \"%s\" are already in tablespace \"%s\"" msgstr "einige Relationen von Datenbank »%s« ist bereits in Tablespace »%s«" -#: commands/dbcommands.c:2117 +#: commands/dbcommands.c:2127 #, c-format msgid "You must move them back to the database's default tablespace before using this command." msgstr "Sie müssen sie zurück in den Standard-Tablespace der Datenbank verschieben, bevor Sie diesen Befehl verwenden können." -#: commands/dbcommands.c:2244 commands/dbcommands.c:2979 -#: commands/dbcommands.c:3279 commands/dbcommands.c:3392 +#: commands/dbcommands.c:2256 commands/dbcommands.c:2999 +#: commands/dbcommands.c:3299 commands/dbcommands.c:3412 #, c-format msgid "some useless files may be left behind in old database directory \"%s\"" msgstr "einige nutzlose Dateien wurde möglicherweise im alten Datenbankverzeichnis »%s« zurückgelassen" -#: commands/dbcommands.c:2305 +#: commands/dbcommands.c:2317 #, c-format msgid "unrecognized DROP DATABASE option \"%s\"" msgstr "unbekannte DROP-DATABASE-Option »%s«" -#: commands/dbcommands.c:2383 +#: commands/dbcommands.c:2395 #, c-format msgid "option \"%s\" cannot be specified with other options" msgstr "Option »%s« kann nicht mit anderen Optionen angegeben werden" -#: commands/dbcommands.c:2430 +#: commands/dbcommands.c:2443 #, c-format msgid "cannot alter invalid database \"%s\"" msgstr "ungültige Datenbank »%s« kann nicht geändert werden" -#: commands/dbcommands.c:2447 +#: commands/dbcommands.c:2460 #, c-format msgid "cannot disallow connections for current database" msgstr "Verbindungen mit der aktuellen Datenbank können nicht verboten werden" -#: commands/dbcommands.c:2673 +#: commands/dbcommands.c:2690 #, c-format msgid "permission denied to change owner of database" msgstr "keine Berechtigung, um Eigentümer der Datenbank zu ändern" -#: commands/dbcommands.c:3085 +#: commands/dbcommands.c:3105 #, c-format msgid "There are %d other session(s) and %d prepared transaction(s) using the database." msgstr "%d andere Sitzung(en) und %d vorbereitete Transaktion(en) verwenden die Datenbank." -#: commands/dbcommands.c:3088 +#: commands/dbcommands.c:3108 #, c-format msgid "There is %d other session using the database." msgid_plural "There are %d other sessions using the database." msgstr[0] "%d andere Sitzung verwendet die Datenbank." msgstr[1] "%d andere Sitzungen verwenden die Datenbank." -#: commands/dbcommands.c:3093 storage/ipc/procarray.c:3847 +#: commands/dbcommands.c:3113 storage/ipc/procarray.c:3859 #, c-format msgid "There is %d prepared transaction using the database." msgid_plural "There are %d prepared transactions using the database." msgstr[0] "%d vorbereitete Transaktion verwendet die Datenbank." msgstr[1] "%d vorbereitete Transaktionen verwenden die Datenbank." -#: commands/dbcommands.c:3235 +#: commands/dbcommands.c:3255 #, c-format msgid "missing directory \"%s\"" msgstr "Verzeichnis »%s« fehlt" -#: commands/dbcommands.c:3293 commands/tablespace.c:184 +#: commands/dbcommands.c:3313 commands/tablespace.c:184 #: commands/tablespace.c:633 #, c-format msgid "could not stat directory \"%s\": %m" @@ -8064,7 +7985,7 @@ msgid "invalid argument for %s: \"%s\"" msgstr "ungültiges Argument für %s: »%s«" #: commands/dropcmds.c:96 commands/functioncmds.c:1382 -#: utils/adt/ruleutils.c:2909 +#: utils/adt/ruleutils.c:2905 #, c-format msgid "\"%s\" is an aggregate function" msgstr "»%s« ist eine Aggregatfunktion" @@ -8074,14 +7995,14 @@ msgstr "»%s« ist eine Aggregatfunktion" msgid "Use DROP AGGREGATE to drop aggregate functions." msgstr "Verwenden Sie DROP AGGREGATE, um Aggregatfunktionen zu löschen." -#: commands/dropcmds.c:153 commands/sequence.c:462 commands/tablecmds.c:3865 -#: commands/tablecmds.c:4023 commands/tablecmds.c:4075 -#: commands/tablecmds.c:17061 tcop/utility.c:1325 +#: commands/dropcmds.c:153 commands/sequence.c:462 commands/tablecmds.c:3892 +#: commands/tablecmds.c:4050 commands/tablecmds.c:4102 +#: commands/tablecmds.c:17161 tcop/utility.c:1325 #, c-format msgid "relation \"%s\" does not exist, skipping" msgstr "Relation »%s« existiert nicht, wird übersprungen" -#: commands/dropcmds.c:183 commands/dropcmds.c:282 commands/tablecmds.c:1397 +#: commands/dropcmds.c:183 commands/dropcmds.c:282 commands/tablecmds.c:1409 #, c-format msgid "schema \"%s\" does not exist, skipping" msgstr "Schema »%s« existiert nicht, wird übersprungen" @@ -8242,10 +8163,9 @@ msgid "unrecognized filter variable \"%s\"" msgstr "unbekannte Filtervariable »%s«" #: commands/event_trigger.c:181 -#, fuzzy, c-format -#| msgid "This operation is not supported for unlogged tables." +#, c-format msgid "tag filtering is not supported for login event triggers" -msgstr "Diese Operation wird für ungeloggte Tabellen nicht unterstützt." +msgstr "Tag-Filtern wird für Login-Ereignistrigger nicht unterstützt" #: commands/event_trigger.c:224 #, c-format @@ -8263,68 +8183,68 @@ msgstr "Ereignistrigger für %s werden nicht unterstützt" msgid "filter variable \"%s\" specified more than once" msgstr "Filtervariable »%s« mehrmals angegeben" -#: commands/event_trigger.c:435 commands/event_trigger.c:487 -#: commands/event_trigger.c:581 +#: commands/event_trigger.c:438 commands/event_trigger.c:490 +#: commands/event_trigger.c:584 #, c-format msgid "event trigger \"%s\" does not exist" msgstr "Ereignistrigger »%s« existiert nicht" -#: commands/event_trigger.c:519 +#: commands/event_trigger.c:522 #, c-format msgid "event trigger with OID %u does not exist" msgstr "Ereignistrigger mit OID %u existiert nicht" -#: commands/event_trigger.c:549 +#: commands/event_trigger.c:552 #, c-format msgid "permission denied to change owner of event trigger \"%s\"" msgstr "keine Berechtigung, um Eigentümer des Ereignistriggers »%s« zu ändern" -#: commands/event_trigger.c:551 +#: commands/event_trigger.c:554 #, c-format 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:1411 +#: commands/event_trigger.c:1404 #, 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:1504 commands/event_trigger.c:1525 +#: commands/event_trigger.c:1497 commands/event_trigger.c:1518 #, 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:1938 +#: commands/event_trigger.c:1931 #, c-format msgid "%s can only be called in an event trigger function" msgstr "%s kann nur in einer Ereignistriggerfunktion aufgerufen werden" -#: commands/explain.c:240 commands/explain.c:265 +#: commands/explain.c:241 commands/explain.c:266 #, c-format msgid "unrecognized value for EXPLAIN option \"%s\": \"%s\"" msgstr "unbekannter Wert für EXPLAIN-Option »%s«: »%s«" -#: commands/explain.c:272 +#: commands/explain.c:273 #, c-format msgid "unrecognized EXPLAIN option \"%s\"" msgstr "unbekannte EXPLAIN-Option »%s«" -#: commands/explain.c:281 +#: commands/explain.c:282 #, c-format msgid "EXPLAIN option WAL requires ANALYZE" msgstr "EXPLAIN-Option WAL erfordert ANALYZE" -#: commands/explain.c:290 +#: commands/explain.c:291 #, c-format msgid "EXPLAIN option TIMING requires ANALYZE" msgstr "EXPLAIN-Option TIMING erfordert ANALYZE" -#: commands/explain.c:296 +#: commands/explain.c:297 #, c-format msgid "EXPLAIN option SERIALIZE requires ANALYZE" msgstr "EXPLAIN-Option SERIALIZE erfordert ANALYZE" -#: commands/explain.c:302 +#: commands/explain.c:303 #, c-format msgid "EXPLAIN options ANALYZE and GENERIC_PLAN cannot be used together" msgstr "EXPLAIN-Optionen ANALYZE und GENERIC_PLAN können nicht zusammen verwendet werden" @@ -8637,7 +8557,7 @@ msgstr "Nur Superuser können den Eigentümer eines Fremddaten-Wrappers ändern. msgid "The owner of a foreign-data wrapper must be a superuser." msgstr "Der Eigentümer eines Fremddaten-Wrappers muss ein Superuser sein." -#: commands/foreigncmds.c:291 commands/foreigncmds.c:707 foreign/foreign.c:681 +#: commands/foreigncmds.c:291 commands/foreigncmds.c:707 foreign/foreign.c:691 #, c-format msgid "foreign-data wrapper \"%s\" does not exist" msgstr "Fremddaten-Wrapper »%s« existiert nicht" @@ -8707,7 +8627,7 @@ msgstr "Benutzerabbildung für »%s« existiert nicht für Server »%s«" msgid "user mapping for \"%s\" does not exist for server \"%s\", skipping" msgstr "Benutzerabbildung für »%s« existiert nicht für Server »%s«, wird übersprungen" -#: commands/foreigncmds.c:1507 foreign/foreign.c:394 +#: commands/foreigncmds.c:1507 foreign/foreign.c:404 #, c-format msgid "foreign-data wrapper \"%s\" has no handler" msgstr "Fremddaten-Wrapper »%s« hat keinen Handler" @@ -8882,13 +8802,13 @@ msgstr "nur ein AS-Element benötigt für Sprache »%s«" msgid "no language specified" msgstr "keine Sprache angegeben" -#: commands/functioncmds.c:1099 commands/functioncmds.c:2104 +#: commands/functioncmds.c:1099 commands/functioncmds.c:2117 #: commands/proclang.c:235 #, c-format msgid "language \"%s\" does not exist" msgstr "Sprache »%s« existiert nicht" -#: commands/functioncmds.c:1101 commands/functioncmds.c:2106 +#: commands/functioncmds.c:1101 commands/functioncmds.c:2119 #, c-format msgid "Use CREATE EXTENSION to load the language into the database." msgstr "Verwenden Sie CREATE EXTENSION, um die Sprache in die Datenbank zu laden." @@ -8983,406 +8903,410 @@ msgstr "nur Superuser können Typumwandlungen mit WITHOUT FUNCTION erzeugen" msgid "source and target data types are not physically compatible" msgstr "Quelldatentyp und Zieldatentyp sind nicht physikalisch kompatibel" -#: commands/functioncmds.c:1704 +#: commands/functioncmds.c:1709 #, c-format msgid "composite data types are not binary-compatible" msgstr "zusammengesetzte Datentypen sind nicht binärkompatibel" -#: commands/functioncmds.c:1710 -#, c-format -msgid "enum data types are not binary-compatible" -msgstr "Enum-Datentypen sind nicht binärkompatibel" - -#: commands/functioncmds.c:1716 +#: commands/functioncmds.c:1715 #, c-format msgid "array data types are not binary-compatible" msgstr "Array-Datentypen sind nicht binärkompatibel" -#: commands/functioncmds.c:1733 +#: commands/functioncmds.c:1723 +#, c-format +msgid "range data types are not binary-compatible" +msgstr "Range-Datentypen sind nicht binärkompatibel" + +#: commands/functioncmds.c:1729 +#, c-format +msgid "enum data types are not binary-compatible" +msgstr "Enum-Datentypen sind nicht binärkompatibel" + +#: commands/functioncmds.c:1746 #, c-format msgid "domain data types must not be marked binary-compatible" msgstr "Domänendatentypen dürfen nicht als binärkompatibel markiert werden" -#: commands/functioncmds.c:1743 +#: commands/functioncmds.c:1756 #, c-format msgid "source data type and target data type are the same" msgstr "Quelldatentyp und Zieldatentyp sind der selbe" -#: commands/functioncmds.c:1776 +#: commands/functioncmds.c:1789 #, c-format msgid "transform function must not be volatile" msgstr "Transformationsfunktion darf nicht VOLATILE sein" -#: commands/functioncmds.c:1780 +#: commands/functioncmds.c:1793 #, c-format msgid "transform function must be a normal function" msgstr "Transformationsfunktion muss eine normale Funktion sein" -#: commands/functioncmds.c:1784 +#: commands/functioncmds.c:1797 #, c-format msgid "transform function must not return a set" msgstr "Transformationsfunktion darf keine Ergebnismenge zurückgeben" -#: commands/functioncmds.c:1788 +#: commands/functioncmds.c:1801 #, c-format msgid "transform function must take one argument" msgstr "Transformationsfunktion muss ein Argument haben" -#: commands/functioncmds.c:1792 +#: commands/functioncmds.c:1805 #, c-format msgid "first argument of transform function must be type %s" msgstr "erstes Argument der Transformationsfunktion muss Typ %s haben" -#: commands/functioncmds.c:1831 +#: commands/functioncmds.c:1844 #, c-format msgid "data type %s is a pseudo-type" msgstr "Datentyp %s ist ein Pseudotyp" -#: commands/functioncmds.c:1837 +#: commands/functioncmds.c:1850 #, c-format msgid "data type %s is a domain" msgstr "Datentyp %s ist eine Domäne" -#: commands/functioncmds.c:1877 +#: commands/functioncmds.c:1890 #, c-format msgid "return data type of FROM SQL function must be %s" msgstr "Rückgabetyp der FROM-SQL-Funktion muss %s sein" -#: commands/functioncmds.c:1903 +#: commands/functioncmds.c:1916 #, c-format msgid "return data type of TO SQL function must be the transform data type" msgstr "Rückgabetyp der TO-SQL-Funktion muss der zu transformierende Datentyp sein" -#: commands/functioncmds.c:1930 +#: commands/functioncmds.c:1943 #, c-format msgid "transform for type %s language \"%s\" already exists" msgstr "Transformation für Typ %s Sprache »%s« existiert bereits" -#: commands/functioncmds.c:2016 +#: commands/functioncmds.c:2029 #, c-format msgid "transform for type %s language \"%s\" does not exist" msgstr "Transformation für Typ %s Sprache »%s« existiert nicht" -#: commands/functioncmds.c:2040 +#: commands/functioncmds.c:2053 #, c-format msgid "function %s already exists in schema \"%s\"" msgstr "Funktion %s existiert bereits in Schema »%s«" -#: commands/functioncmds.c:2091 +#: commands/functioncmds.c:2104 #, c-format msgid "no inline code specified" msgstr "kein Inline-Code angegeben" -#: commands/functioncmds.c:2137 +#: commands/functioncmds.c:2150 #, c-format msgid "language \"%s\" does not support inline code execution" msgstr "Sprache »%s« unterstützt das Ausführen von Inline-Code nicht" -#: commands/functioncmds.c:2232 +#: commands/functioncmds.c:2245 #, c-format msgid "cannot pass more than %d argument to a procedure" msgid_plural "cannot pass more than %d arguments to a procedure" msgstr[0] "kann nicht mehr als %d Argument an eine Prozedur übergeben" msgstr[1] "kann nicht mehr als %d Argumente an eine Prozedur übergeben" -#: commands/indexcmds.c:647 +#: commands/indexcmds.c:649 #, c-format msgid "must specify at least one column" msgstr "mindestens eine Spalte muss angegeben werden" -#: commands/indexcmds.c:651 +#: commands/indexcmds.c:653 #, c-format msgid "cannot use more than %d columns in an index" msgstr "Index kann nicht mehr als %d Spalten enthalten" -#: commands/indexcmds.c:694 +#: commands/indexcmds.c:696 #, c-format msgid "cannot create index on relation \"%s\"" msgstr "kann keinen Index für Relation »%s« erzeugen" -#: commands/indexcmds.c:720 +#: commands/indexcmds.c:722 #, c-format msgid "cannot create index on partitioned table \"%s\" concurrently" msgstr "kann Index für partitionierte Tabelle »%s« nicht nebenläufig erzeugen" -#: commands/indexcmds.c:730 +#: commands/indexcmds.c:732 #, c-format msgid "cannot create indexes on temporary tables of other sessions" msgstr "kann keine Indexe für temporäre Tabellen anderer Sitzungen erzeugen" -#: commands/indexcmds.c:768 commands/tablecmds.c:806 commands/tablespace.c:1178 +#: commands/indexcmds.c:770 commands/tablecmds.c:818 commands/tablespace.c:1178 #, c-format msgid "cannot specify default tablespace for partitioned relations" msgstr "für partitionierte Relationen kann kein Standard-Tablespace angegeben werden" -#: commands/indexcmds.c:800 commands/tablecmds.c:837 commands/tablecmds.c:3564 +#: commands/indexcmds.c:802 commands/tablecmds.c:849 commands/tablecmds.c:3588 #, c-format msgid "only shared relations can be placed in pg_global tablespace" msgstr "nur geteilte Relationen können in den Tablespace »pg_global« gelegt werden" -#: commands/indexcmds.c:833 +#: commands/indexcmds.c:835 #, c-format msgid "substituting access method \"gist\" for obsolete method \"rtree\"" msgstr "ersetze Zugriffsmethode »gist« für obsolete Methode »rtree«" -#: commands/indexcmds.c:854 +#: commands/indexcmds.c:856 #, c-format msgid "access method \"%s\" does not support unique indexes" msgstr "Zugriffsmethode »%s« unterstützt keine Unique Indexe" -#: commands/indexcmds.c:859 +#: commands/indexcmds.c:861 #, c-format msgid "access method \"%s\" does not support included columns" msgstr "Zugriffsmethode »%s« unterstützt keine eingeschlossenen Spalten" -#: commands/indexcmds.c:864 +#: commands/indexcmds.c:866 #, c-format msgid "access method \"%s\" does not support multicolumn indexes" msgstr "Zugriffsmethode »%s« unterstützt keine mehrspaltigen Indexe" -#: commands/indexcmds.c:869 +#: commands/indexcmds.c:871 #, c-format msgid "access method \"%s\" does not support exclusion constraints" msgstr "Zugriffsmethode »%s« unterstützt keine Exclusion-Constraints" -#: commands/indexcmds.c:998 +#: commands/indexcmds.c:1000 #, c-format msgid "cannot match partition key to an index using access method \"%s\"" msgstr "Partitionierungsschlüssel kann nicht mit Zugriffsmethode »%s« mit einem Index gepaart werden" -#: commands/indexcmds.c:1008 +#: commands/indexcmds.c:1010 #, c-format msgid "unsupported %s constraint with partition key definition" msgstr "nicht unterstützter %s-Constraint mit Partitionierungsschlüsseldefinition" -#: commands/indexcmds.c:1010 +#: commands/indexcmds.c:1012 #, c-format msgid "%s constraints cannot be used when partition keys include expressions." msgstr "%s-Constraints können nicht verwendet werden, wenn Partitionierungsschlüssel Ausdrücke enthalten." -#: commands/indexcmds.c:1060 -#, fuzzy, c-format -#| msgid "cannot match partition key to an index using access method \"%s\"" +#: commands/indexcmds.c:1062 +#, c-format msgid "cannot match partition key to index on column \"%s\" using non-equal operator \"%s\"" -msgstr "Partitionierungsschlüssel kann nicht mit Zugriffsmethode »%s« mit einem Index gepaart werden" +msgstr "Partitionierungsschlüssel kann nicht mit Nicht-Ist-Gleich-Operator »%s« mit Index für Spalte »%s« gepaart werden" -#: commands/indexcmds.c:1076 +#: commands/indexcmds.c:1078 #, c-format msgid "unique constraint on partitioned table must include all partitioning columns" msgstr "Unique-Constraint für partitionierte Tabelle muss alle Partitionierungsspalten enthalten" -#: commands/indexcmds.c:1077 +#: commands/indexcmds.c:1079 #, c-format msgid "%s constraint on table \"%s\" lacks column \"%s\" which is part of the partition key." msgstr "Im %s-Constraint in Tabelle »%s« fehlt Spalte »%s«, welche Teil des Partitionierungsschlüssels ist." -#: commands/indexcmds.c:1096 commands/indexcmds.c:1115 +#: commands/indexcmds.c:1098 commands/indexcmds.c:1117 #, c-format msgid "index creation on system columns is not supported" msgstr "Indexerzeugung für Systemspalten wird nicht unterstützt" -#: commands/indexcmds.c:1344 tcop/utility.c:1515 +#: commands/indexcmds.c:1347 tcop/utility.c:1515 #, c-format msgid "cannot create unique index on partitioned table \"%s\"" msgstr "kann keinen Unique Index für partitionierte Tabelle »%s« erzeugen" -#: commands/indexcmds.c:1346 tcop/utility.c:1517 +#: commands/indexcmds.c:1349 tcop/utility.c:1517 #, c-format msgid "Table \"%s\" contains partitions that are foreign tables." msgstr "Tabelle »%s« enthält Partitionen, die Fremdtabellen sind." -#: commands/indexcmds.c:1831 +#: commands/indexcmds.c:1799 #, c-format msgid "functions in index predicate must be marked IMMUTABLE" msgstr "Funktionen im Indexprädikat müssen als IMMUTABLE markiert sein" -#: commands/indexcmds.c:1910 parser/parse_utilcmd.c:2494 -#: parser/parse_utilcmd.c:2629 +#: commands/indexcmds.c:1878 parser/parse_utilcmd.c:2519 +#: parser/parse_utilcmd.c:2654 #, c-format msgid "column \"%s\" named in key does not exist" msgstr "Spalte »%s«, die im Schlüssel verwendet wird, existiert nicht" -#: commands/indexcmds.c:1934 parser/parse_utilcmd.c:1782 +#: commands/indexcmds.c:1902 parser/parse_utilcmd.c:1807 #, c-format msgid "expressions are not supported in included columns" msgstr "in eingeschlossenen Spalten werden keine Ausdrücke unterstützt" -#: commands/indexcmds.c:1975 +#: commands/indexcmds.c:1943 #, c-format msgid "functions in index expression must be marked IMMUTABLE" msgstr "Funktionen im Indexausdruck müssen als IMMUTABLE markiert sein" -#: commands/indexcmds.c:1990 +#: commands/indexcmds.c:1958 #, c-format msgid "including column does not support a collation" msgstr "inkludierte Spalte unterstützt keine Sortierfolge" -#: commands/indexcmds.c:1994 +#: commands/indexcmds.c:1962 #, c-format msgid "including column does not support an operator class" msgstr "inkludierte Spalte unterstützt keine Operatorklasse" -#: commands/indexcmds.c:1998 +#: commands/indexcmds.c:1966 #, c-format msgid "including column does not support ASC/DESC options" msgstr "inkludierte Spalte unterstützt die Optionen ASC/DESC nicht" -#: commands/indexcmds.c:2002 +#: commands/indexcmds.c:1970 #, c-format msgid "including column does not support NULLS FIRST/LAST options" msgstr "inkludierte Spalte unterstützt die Optionen NULLS FIRST/LAST nicht" -#: commands/indexcmds.c:2044 +#: commands/indexcmds.c:2013 #, c-format msgid "could not determine which collation to use for index expression" msgstr "konnte die für den Indexausdruck zu verwendende Sortierfolge nicht bestimmen" -#: commands/indexcmds.c:2052 commands/tablecmds.c:18078 commands/typecmds.c:811 -#: parser/parse_expr.c:2785 parser/parse_type.c:568 parser/parse_utilcmd.c:3918 +#: commands/indexcmds.c:2021 commands/tablecmds.c:18185 commands/typecmds.c:811 +#: parser/parse_expr.c:2785 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" msgstr "Sortierfolgen werden von Typ %s nicht unterstützt" -#: commands/indexcmds.c:2117 +#: commands/indexcmds.c:2088 #, c-format msgid "operator %s is not commutative" msgstr "Operator %s ist nicht kommutativ" -#: commands/indexcmds.c:2119 +#: commands/indexcmds.c:2090 #, c-format msgid "Only commutative operators can be used in exclusion constraints." msgstr "In Exclusion-Constraints können nur kommutative Operatoren verwendet werden." -#: commands/indexcmds.c:2145 +#: commands/indexcmds.c:2116 #, c-format msgid "operator %s is not a member of operator family \"%s\"" msgstr "Operator %s ist kein Mitglied der Operatorfamilie »%s«" -#: commands/indexcmds.c:2148 +#: commands/indexcmds.c:2119 #, c-format msgid "The exclusion operator must be related to the index operator class for the constraint." msgstr "Der Exklusionsoperator muss in Beziehung zur Indexoperatorklasse des Constraints stehen." -#: commands/indexcmds.c:2183 +#: commands/indexcmds.c:2154 #, c-format msgid "access method \"%s\" does not support ASC/DESC options" msgstr "Zugriffsmethode »%s« unterstützt die Optionen ASC/DESC nicht" -#: commands/indexcmds.c:2188 +#: commands/indexcmds.c:2159 #, c-format msgid "access method \"%s\" does not support NULLS FIRST/LAST options" msgstr "Zugriffsmethode »%s« unterstützt die Optionen NULLS FIRST/LAST nicht" -#: commands/indexcmds.c:2232 commands/tablecmds.c:18103 -#: commands/tablecmds.c:18109 commands/typecmds.c:2311 +#: commands/indexcmds.c:2203 commands/tablecmds.c:18210 +#: commands/tablecmds.c:18216 commands/typecmds.c:2311 #, c-format msgid "data type %s has no default operator class for access method \"%s\"" msgstr "Datentyp %s hat keine Standardoperatorklasse für Zugriffsmethode »%s«" -#: commands/indexcmds.c:2234 +#: commands/indexcmds.c:2205 #, c-format msgid "You must specify an operator class for the index or define a default operator class for the data type." msgstr "Sie müssen für den Index eine Operatorklasse angeben oder eine Standardoperatorklasse für den Datentyp definieren." -#: commands/indexcmds.c:2263 commands/indexcmds.c:2271 +#: commands/indexcmds.c:2234 commands/indexcmds.c:2242 #: commands/opclasscmds.c:204 #, c-format msgid "operator class \"%s\" does not exist for access method \"%s\"" msgstr "Operatorklasse »%s« existiert nicht für Zugriffsmethode »%s«" -#: commands/indexcmds.c:2285 commands/typecmds.c:2299 +#: commands/indexcmds.c:2256 commands/typecmds.c:2299 #, c-format msgid "operator class \"%s\" does not accept data type %s" msgstr "Operatorklasse »%s« akzeptiert Datentyp %s nicht" -#: commands/indexcmds.c:2375 +#: commands/indexcmds.c:2346 #, c-format msgid "there are multiple default operator classes for data type %s" msgstr "es gibt mehrere Standardoperatorklassen für Datentyp %s" -#: commands/indexcmds.c:2703 +#: commands/indexcmds.c:2674 #, c-format msgid "unrecognized REINDEX option \"%s\"" msgstr "unbekannte REINDEX-Option »%s«" -#: commands/indexcmds.c:2935 +#: commands/indexcmds.c:2906 #, c-format msgid "table \"%s\" has no indexes that can be reindexed concurrently" msgstr "Tabelle »%s« hat keine Indexe, die nebenläufig reindiziert werden können" -#: commands/indexcmds.c:2949 +#: commands/indexcmds.c:2920 #, c-format msgid "table \"%s\" has no indexes to reindex" msgstr "Tabelle »%s« hat keine zu reindizierenden Indexe" -#: commands/indexcmds.c:2996 commands/indexcmds.c:3507 -#: commands/indexcmds.c:3637 +#: commands/indexcmds.c:2967 commands/indexcmds.c:3478 +#: commands/indexcmds.c:3608 #, c-format msgid "cannot reindex system catalogs concurrently" msgstr "Systemkataloge können nicht nebenläufig reindiziert werden" -#: commands/indexcmds.c:3020 +#: commands/indexcmds.c:2991 #, c-format msgid "can only reindex the currently open database" msgstr "nur die aktuell geöffnete Datenbank kann reindiziert werden" -#: commands/indexcmds.c:3112 +#: commands/indexcmds.c:3083 #, c-format msgid "cannot reindex system catalogs concurrently, skipping all" msgstr "Systemkataloge können nicht nebenläufig reindiziert werden, werden alle übersprungen" -#: commands/indexcmds.c:3145 +#: commands/indexcmds.c:3116 #, c-format msgid "cannot move system relations, skipping all" msgstr "Systemrelationen können nicht verschoben werden, werden alle übersprungen" -#: commands/indexcmds.c:3191 +#: commands/indexcmds.c:3162 #, c-format msgid "while reindexing partitioned table \"%s.%s\"" msgstr "beim Reindizieren der partitionierten Tabelle »%s.%s«" -#: commands/indexcmds.c:3194 +#: commands/indexcmds.c:3165 #, c-format msgid "while reindexing partitioned index \"%s.%s\"" msgstr "beim Reindizieren des partitionierten Index »%s.%s«" -#: commands/indexcmds.c:3387 commands/indexcmds.c:4255 +#: commands/indexcmds.c:3358 commands/indexcmds.c:4234 #, c-format msgid "table \"%s.%s\" was reindexed" msgstr "Tabelle »%s.%s« wurde neu indiziert" -#: commands/indexcmds.c:3539 commands/indexcmds.c:3592 +#: commands/indexcmds.c:3510 commands/indexcmds.c:3563 #, c-format msgid "skipping reindex of invalid index \"%s.%s\"" msgstr "Reindizieren des ungültigen Index »%s.%s« wird übersprungen" -#: commands/indexcmds.c:3542 commands/indexcmds.c:3595 +#: commands/indexcmds.c:3513 commands/indexcmds.c:3566 #, c-format msgid "Use DROP INDEX or REINDEX INDEX." msgstr "Verwenden Sie DROP INDEX oder REINDEX INDEX." -#: commands/indexcmds.c:3546 +#: commands/indexcmds.c:3517 #, c-format msgid "cannot reindex exclusion constraint index \"%s.%s\" concurrently, skipping" msgstr "Exclusion-Constraint-Index »%s.%s« kann nicht nebenläufig reindizert werden, wird übersprungen" -#: commands/indexcmds.c:3702 +#: commands/indexcmds.c:3673 #, c-format msgid "cannot reindex this type of relation concurrently" msgstr "diese Art Relation kann nicht nebenläufig reindiziert werden" -#: commands/indexcmds.c:3720 +#: commands/indexcmds.c:3691 #, c-format msgid "cannot move non-shared relation to tablespace \"%s\"" msgstr "nicht geteilte Relation kann nicht nach Tablespace »%s« verschoben werden" -#: commands/indexcmds.c:4236 commands/indexcmds.c:4248 +#: commands/indexcmds.c:4215 commands/indexcmds.c:4227 #, c-format msgid "index \"%s.%s\" was reindexed" msgstr "Index »%s.%s« wurde neu indiziert" -#: commands/indexcmds.c:4238 commands/indexcmds.c:4257 +#: commands/indexcmds.c:4217 commands/indexcmds.c:4236 #, c-format msgid "%s." msgstr "%s." @@ -9392,32 +9316,32 @@ msgstr "%s." msgid "cannot lock relation \"%s\"" msgstr "kann Relation »%s« nicht sperren" -#: commands/matview.c:190 +#: commands/matview.c:206 #, c-format msgid "CONCURRENTLY cannot be used when the materialized view is not populated" msgstr "CONCURRENTLY kann nicht verwendet werden, wenn die materialisierte Sicht nicht befüllt ist" -#: commands/matview.c:196 gram.y:18967 +#: commands/matview.c:212 gram.y:18918 #, c-format msgid "%s and %s options cannot be used together" msgstr "Optionen %s und %s können nicht zusammen verwendet werden" -#: commands/matview.c:253 +#: commands/matview.c:269 #, c-format msgid "cannot refresh materialized view \"%s\" concurrently" msgstr "kann materialisierte Sicht »%s« nicht nebenläufig auffrischen" -#: commands/matview.c:256 +#: commands/matview.c:272 #, c-format msgid "Create a unique index with no WHERE clause on one or more columns of the materialized view." msgstr "Erzeugen Sie einen Unique Index ohne WHERE-Klausel für eine oder mehrere Spalten der materialisierten Sicht." -#: commands/matview.c:650 +#: commands/matview.c:666 #, c-format msgid "new data for materialized view \"%s\" contains duplicate rows without any null columns" msgstr "neue Daten für materialisierte Sicht »%s« enthalten doppelte Zeilen ohne Spalten mit NULL-Werten" -#: commands/matview.c:652 +#: commands/matview.c:668 #, c-format msgid "Row: %s" msgstr "Zeile: %s" @@ -9712,10 +9636,10 @@ 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/tablecmds.c:1728 commands/tablecmds.c:2328 -#: commands/tablecmds.c:3675 commands/tablecmds.c:6613 -#: commands/tablecmds.c:9645 commands/tablecmds.c:17665 -#: commands/tablecmds.c:17700 commands/trigger.c:316 commands/trigger.c:1332 +#: commands/tablecmds.c:1740 commands/tablecmds.c:2340 +#: commands/tablecmds.c:3702 commands/tablecmds.c:6605 +#: commands/tablecmds.c:9637 commands/tablecmds.c:17772 +#: commands/tablecmds.c:17807 commands/trigger.c:316 commands/trigger.c:1332 #: commands/trigger.c:1442 rewrite/rewriteDefine.c:268 #: rewrite/rewriteDefine.c:779 rewrite/rewriteRemove.c:74 #, c-format @@ -9768,7 +9692,7 @@ msgid "cannot create a cursor WITH HOLD within security-restricted operation" msgstr "kann WITH-HOLD-Cursor nicht in einer sicherheitsbeschränkten Operation erzeugen" #: commands/portalcmds.c:189 commands/portalcmds.c:242 -#: executor/execCurrent.c:70 utils/adt/xml.c:2873 utils/adt/xml.c:3043 +#: executor/execCurrent.c:70 utils/adt/xml.c:2936 utils/adt/xml.c:3106 #, c-format msgid "cursor \"%s\" does not exist" msgstr "Cursor »%s« existiert nicht" @@ -10050,123 +9974,123 @@ msgstr "Security-Labels werden für diese Art Objekt nicht unterstützt" msgid "cannot set security label on relation \"%s\"" msgstr "Security-Label für Relation »%s« kann nicht gesetzt werden" -#: commands/sequence.c:741 +#: commands/sequence.c:748 #, c-format msgid "nextval: reached maximum value of sequence \"%s\" (%lld)" msgstr "nextval: Maximalwert von Sequenz »%s« erreicht (%lld)" -#: commands/sequence.c:760 +#: commands/sequence.c:767 #, c-format msgid "nextval: reached minimum value of sequence \"%s\" (%lld)" msgstr "nextval: Minimalwert von Sequenz »%s« erreicht (%lld)" -#: commands/sequence.c:879 +#: commands/sequence.c:886 #, c-format msgid "currval of sequence \"%s\" is not yet defined in this session" msgstr "currval von Sequenz »%s« ist in dieser Sitzung noch nicht definiert" -#: commands/sequence.c:898 commands/sequence.c:904 +#: commands/sequence.c:905 commands/sequence.c:911 #, c-format msgid "lastval is not yet defined in this session" msgstr "lastval ist in dieser Sitzung noch nicht definiert" -#: commands/sequence.c:984 +#: commands/sequence.c:991 #, c-format msgid "setval: value %lld is out of bounds for sequence \"%s\" (%lld..%lld)" msgstr "setval: Wert %lld ist außerhalb des gültigen Bereichs von Sequenz »%s« (%lld..%lld)" -#: commands/sequence.c:1347 +#: commands/sequence.c:1357 #, c-format msgid "invalid sequence option SEQUENCE NAME" msgstr "ungültige Sequenzoption SEQUENCE NAME" -#: commands/sequence.c:1373 +#: commands/sequence.c:1383 #, c-format msgid "identity column type must be smallint, integer, or bigint" msgstr "Typ von Identitätsspalte muss smallint, integer oder bigint sein" -#: commands/sequence.c:1374 +#: commands/sequence.c:1384 #, c-format msgid "sequence type must be smallint, integer, or bigint" msgstr "Sequenztyp muss smallint, integer oder bigint sein" -#: commands/sequence.c:1408 +#: commands/sequence.c:1418 #, c-format msgid "INCREMENT must not be zero" msgstr "INCREMENT darf nicht null sein" -#: commands/sequence.c:1456 +#: commands/sequence.c:1466 #, c-format msgid "MAXVALUE (%lld) is out of range for sequence data type %s" msgstr "MAXVALUE (%lld) ist außerhalb des gültigen Bereichs für Sequenzdatentyp %s" -#: commands/sequence.c:1488 +#: commands/sequence.c:1498 #, c-format msgid "MINVALUE (%lld) is out of range for sequence data type %s" msgstr "MINVALUE (%lld) ist außerhalb des gültigen Bereichs für Sequenzdatentyp %s" -#: commands/sequence.c:1496 +#: commands/sequence.c:1506 #, c-format msgid "MINVALUE (%lld) must be less than MAXVALUE (%lld)" msgstr "MINVALUE (%lld) muss kleiner als MAXVALUE (%lld) sein" -#: commands/sequence.c:1517 +#: commands/sequence.c:1527 #, c-format msgid "START value (%lld) cannot be less than MINVALUE (%lld)" msgstr "START-Wert (%lld) kann nicht kleiner als MINVALUE (%lld) sein" -#: commands/sequence.c:1523 +#: commands/sequence.c:1533 #, c-format msgid "START value (%lld) cannot be greater than MAXVALUE (%lld)" msgstr "START-Wert (%lld) kann nicht größer als MAXVALUE (%lld) sein" -#: commands/sequence.c:1547 +#: commands/sequence.c:1557 #, c-format msgid "RESTART value (%lld) cannot be less than MINVALUE (%lld)" msgstr "RESTART-Wert (%lld) kann nicht kleiner als MINVALUE (%lld) sein" -#: commands/sequence.c:1553 +#: commands/sequence.c:1563 #, c-format msgid "RESTART value (%lld) cannot be greater than MAXVALUE (%lld)" msgstr "RESTART-Wert (%lld) kann nicht größer als MAXVALUE (%lld) sein" -#: commands/sequence.c:1564 +#: commands/sequence.c:1574 #, c-format msgid "CACHE (%lld) must be greater than zero" msgstr "CACHE (%lld) muss größer als null sein" -#: commands/sequence.c:1600 +#: commands/sequence.c:1610 #, c-format msgid "invalid OWNED BY option" msgstr "ungültige OWNED BY Option" -#: commands/sequence.c:1601 +#: commands/sequence.c:1611 #, c-format msgid "Specify OWNED BY table.column or OWNED BY NONE." msgstr "Geben Sie OWNED BY tabelle.spalte oder OWNED BY NONE an." -#: commands/sequence.c:1626 +#: commands/sequence.c:1636 #, c-format msgid "sequence cannot be owned by relation \"%s\"" msgstr "Sequenz kann nicht mit Relation »%s« verknüpft werden" -#: commands/sequence.c:1634 +#: commands/sequence.c:1644 #, c-format msgid "sequence must have same owner as table it is linked to" msgstr "Sequenz muss selben Eigentümer wie die verknüpfte Tabelle haben" -#: commands/sequence.c:1638 +#: commands/sequence.c:1648 #, c-format msgid "sequence must be in same schema as table it is linked to" msgstr "Sequenz muss im selben Schema wie die verknüpfte Tabelle sein" -#: commands/sequence.c:1660 +#: commands/sequence.c:1670 #, c-format msgid "cannot change ownership of identity sequence" msgstr "kann Eigentümer einer Identitätssequenz nicht ändern" -#: commands/sequence.c:1661 commands/tablecmds.c:14387 -#: commands/tablecmds.c:17081 +#: commands/sequence.c:1671 commands/tablecmds.c:14486 +#: commands/tablecmds.c:17181 #, c-format msgid "Sequence \"%s\" is linked to table \"%s\"." msgstr "Sequenz »%s« ist mit Tabelle »%s« verknüpft." @@ -10236,12 +10160,12 @@ msgstr "doppelter Spaltenname in Statistikdefinition" msgid "duplicate expression in statistics definition" msgstr "doppelter Ausdruck in Statistikdefinition" -#: commands/statscmds.c:628 commands/tablecmds.c:8628 +#: commands/statscmds.c:628 commands/tablecmds.c:8620 #, c-format msgid "statistics target %d is too low" msgstr "Statistikziel %d ist zu niedrig" -#: commands/statscmds.c:636 commands/tablecmds.c:8636 +#: commands/statscmds.c:636 commands/tablecmds.c:8628 #, c-format msgid "lowering statistics target to %d" msgstr "setze Statistikziel auf %d herab" @@ -10336,10 +10260,9 @@ msgid "cannot set %s for enabled subscription" msgstr "für eine aktivierte Subskription kann nicht %s gesetzt werden" #: commands/subscriptioncmds.c:1233 -#, fuzzy, c-format -#| msgid "cannot enable subscription that does not have a slot name" -msgid "cannot set %s for a subscription that does not have a slot name" -msgstr "eine Subskription ohne Slot-Name kann nicht aktiviert werden" +#, c-format +msgid "cannot set option \"%s\" for a subscription that does not have a slot name" +msgstr "Option »%s« kann nicht für eine Subskription ohne Slot-Name gesetzt werden" #: commands/subscriptioncmds.c:1279 #, c-format @@ -10532,8 +10455,8 @@ msgstr "materialisierte Sicht »%s« existiert nicht, wird übersprungen" msgid "Use DROP MATERIALIZED VIEW to remove a materialized view." msgstr "Verwenden Sie DROP MATERIALIZED VIEW, um eine materialisierte Sicht zu löschen." -#: commands/tablecmds.c:279 commands/tablecmds.c:303 commands/tablecmds.c:19627 -#: parser/parse_utilcmd.c:2226 +#: commands/tablecmds.c:279 commands/tablecmds.c:303 commands/tablecmds.c:19783 +#: parser/parse_utilcmd.c:2251 #, c-format msgid "index \"%s\" does not exist" msgstr "Index »%s« existiert nicht" @@ -10556,8 +10479,8 @@ msgstr "»%s« ist kein Typ" msgid "Use DROP TYPE to remove a type." msgstr "Verwenden Sie DROP TYPE, um einen Typen zu löschen." -#: commands/tablecmds.c:291 commands/tablecmds.c:14226 -#: commands/tablecmds.c:16786 +#: commands/tablecmds.c:291 commands/tablecmds.c:14325 +#: commands/tablecmds.c:16886 #, c-format msgid "foreign table \"%s\" does not exist" msgstr "Fremdtabelle »%s« existiert nicht" @@ -10571,209 +10494,209 @@ msgstr "Fremdtabelle »%s« existiert nicht, wird übersprungen" msgid "Use DROP FOREIGN TABLE to remove a foreign table." msgstr "Verwenden Sie DROP FOREIGN TABLE, um eine Fremdtabelle zu löschen." -#: commands/tablecmds.c:722 +#: commands/tablecmds.c:734 #, c-format msgid "ON COMMIT can only be used on temporary tables" msgstr "ON COMMIT kann nur mit temporären Tabellen verwendet werden" -#: commands/tablecmds.c:753 +#: commands/tablecmds.c:765 #, c-format msgid "cannot create temporary table within security-restricted operation" msgstr "kann temporäre Tabelle nicht in einer sicherheitsbeschränkten Operation erzeugen" -#: commands/tablecmds.c:789 commands/tablecmds.c:15645 +#: commands/tablecmds.c:801 commands/tablecmds.c:15745 #, c-format msgid "relation \"%s\" would be inherited from more than once" msgstr "von der Relation »%s« würde mehrmals geerbt werden" -#: commands/tablecmds.c:1055 +#: commands/tablecmds.c:1067 #, c-format msgid "\"%s\" is not partitioned" msgstr "»%s« ist nicht partitioniert" -#: commands/tablecmds.c:1149 +#: commands/tablecmds.c:1161 #, c-format msgid "cannot partition using more than %d columns" msgstr "Partitionierung kann nicht mehr als %d Spalten verwenden" -#: commands/tablecmds.c:1205 +#: commands/tablecmds.c:1217 #, c-format msgid "cannot create foreign partition of partitioned table \"%s\"" msgstr "kann keine Fremdpartition der partitionierten Tabelle »%s« erzeugen" -#: commands/tablecmds.c:1207 +#: commands/tablecmds.c:1219 #, c-format msgid "Table \"%s\" contains indexes that are unique." msgstr "Tabelle »%s« enthält Unique Indexe." -#: commands/tablecmds.c:1326 commands/tablecmds.c:13242 +#: commands/tablecmds.c:1338 commands/tablecmds.c:13341 #, c-format msgid "too many array dimensions" msgstr "zu viele Array-Dimensionen" -#: commands/tablecmds.c:1331 parser/parse_clause.c:774 +#: commands/tablecmds.c:1343 parser/parse_clause.c:774 #: parser/parse_relation.c:1912 #, c-format msgid "column \"%s\" cannot be declared SETOF" msgstr "Spalte »%s« kann nicht als SETOF deklariert werden" -#: commands/tablecmds.c:1477 +#: commands/tablecmds.c:1489 #, c-format msgid "DROP INDEX CONCURRENTLY does not support dropping multiple objects" msgstr "DROP INDEX CONCURRENTLY unterstützt das Löschen von mehreren Objekten nicht" -#: commands/tablecmds.c:1481 +#: commands/tablecmds.c:1493 #, c-format msgid "DROP INDEX CONCURRENTLY does not support CASCADE" msgstr "DROP INDEX CONCURRENTLY unterstützt kein CASCADE" -#: commands/tablecmds.c:1585 +#: commands/tablecmds.c:1597 #, c-format msgid "cannot drop partitioned index \"%s\" concurrently" msgstr "kann partitionierten Index »%s« nicht nebenläufig löschen" -#: commands/tablecmds.c:1873 +#: commands/tablecmds.c:1885 #, c-format msgid "cannot truncate only a partitioned table" msgstr "kann nicht nur eine partitionierte Tabelle leeren" -#: commands/tablecmds.c:1874 +#: commands/tablecmds.c:1886 #, c-format msgid "Do not specify the ONLY keyword, or use TRUNCATE ONLY on the partitions directly." msgstr "Lassen Sie das Schlüsselwort ONLY weg oder wenden Sie TRUNCATE ONLY direkt auf die Partitionen an." -#: commands/tablecmds.c:1947 +#: commands/tablecmds.c:1959 #, c-format msgid "truncate cascades to table \"%s\"" msgstr "Truncate-Vorgang leert ebenfalls Tabelle »%s«" -#: commands/tablecmds.c:2308 +#: commands/tablecmds.c:2320 #, c-format msgid "cannot truncate foreign table \"%s\"" msgstr "kann Fremdtabelle »%s« nicht leeren" -#: commands/tablecmds.c:2365 +#: commands/tablecmds.c:2377 #, c-format msgid "cannot truncate temporary tables of other sessions" msgstr "kann temporäre Tabellen anderer Sitzungen nicht leeren" -#: commands/tablecmds.c:2594 commands/tablecmds.c:15542 +#: commands/tablecmds.c:2606 commands/tablecmds.c:15642 #, c-format msgid "cannot inherit from partitioned table \"%s\"" msgstr "von partitionierter Tabelle »%s« kann nicht geerbt werden" -#: commands/tablecmds.c:2599 +#: commands/tablecmds.c:2611 #, c-format msgid "cannot inherit from partition \"%s\"" msgstr "von Partition »%s« kann nicht geerbt werden" -#: commands/tablecmds.c:2607 parser/parse_utilcmd.c:2456 -#: parser/parse_utilcmd.c:2598 +#: commands/tablecmds.c:2619 parser/parse_utilcmd.c:2481 +#: parser/parse_utilcmd.c:2623 #, c-format msgid "inherited relation \"%s\" is not a table or foreign table" msgstr "geerbte Relation »%s« ist keine Tabelle oder Fremdtabelle" -#: commands/tablecmds.c:2619 commands/tablecmds.c:20391 +#: commands/tablecmds.c:2631 #, c-format msgid "cannot create a temporary relation as partition of permanent relation \"%s\"" msgstr "eine temporäre Relation kann nicht als Partition der permanenten Relation »%s« erzeugt werden" -#: commands/tablecmds.c:2628 commands/tablecmds.c:15521 +#: commands/tablecmds.c:2640 commands/tablecmds.c:15621 #, c-format msgid "cannot inherit from temporary relation \"%s\"" msgstr "von temporärer Relation »%s« kann nicht geerbt werden" -#: commands/tablecmds.c:2638 commands/tablecmds.c:15529 +#: commands/tablecmds.c:2650 commands/tablecmds.c:15629 #, c-format msgid "cannot inherit from temporary relation of another session" msgstr "von temporärer Relation einer anderen Sitzung kann nicht geerbt werden" -#: commands/tablecmds.c:2779 commands/tablecmds.c:2833 -#: commands/tablecmds.c:12925 parser/parse_utilcmd.c:1240 -#: parser/parse_utilcmd.c:1283 parser/parse_utilcmd.c:1710 -#: parser/parse_utilcmd.c:1818 +#: commands/tablecmds.c:2791 commands/tablecmds.c:2845 +#: commands/tablecmds.c:13024 parser/parse_utilcmd.c:1265 +#: parser/parse_utilcmd.c:1308 parser/parse_utilcmd.c:1735 +#: parser/parse_utilcmd.c:1843 #, c-format msgid "cannot convert whole-row table reference" msgstr "kann Verweis auf ganze Zeile der Tabelle nicht umwandeln" -#: commands/tablecmds.c:2780 parser/parse_utilcmd.c:1241 +#: commands/tablecmds.c:2792 parser/parse_utilcmd.c:1266 #, c-format msgid "Generation expression for column \"%s\" contains a whole-row reference to table \"%s\"." msgstr "Generierungsausdruck für Spalte »%s« enthält einen Verweis auf die ganze Zeile der Tabelle »%s«." -#: commands/tablecmds.c:2834 parser/parse_utilcmd.c:1284 +#: commands/tablecmds.c:2846 parser/parse_utilcmd.c:1309 #, c-format msgid "Constraint \"%s\" contains a whole-row reference to table \"%s\"." msgstr "Constraint »%s« enthält einen Verweis auf die ganze Zeile der Tabelle »%s«." -#: commands/tablecmds.c:2944 commands/tablecmds.c:3215 +#: commands/tablecmds.c:2956 commands/tablecmds.c:3227 #, c-format msgid "column \"%s\" inherits from generated column but specifies default" msgstr "Spalte »%s« erbt von einer generierten Spalte aber hat einen Vorgabewert angegeben" -#: commands/tablecmds.c:2949 commands/tablecmds.c:3220 +#: commands/tablecmds.c:2961 commands/tablecmds.c:3232 #, c-format msgid "column \"%s\" inherits from generated column but specifies identity" msgstr "Spalte »%s« erbt von einer generierten Spalte aber ist als Identitätsspalte definiert" -#: commands/tablecmds.c:2957 commands/tablecmds.c:3228 +#: commands/tablecmds.c:2969 commands/tablecmds.c:3240 #, c-format msgid "child column \"%s\" specifies generation expression" msgstr "abgeleitete Spalte »%s« gibt einen Generierungsausdruck an" -#: commands/tablecmds.c:2959 commands/tablecmds.c:3230 +#: commands/tablecmds.c:2971 commands/tablecmds.c:3242 #, c-format msgid "A child table column cannot be generated unless its parent column is." msgstr "Eine Spalte einer abgeleiteten Tabelle kann nur generiert sein, wenn die Spalte in der Elterntabelle es auch ist." -#: commands/tablecmds.c:3005 +#: commands/tablecmds.c:3017 #, c-format msgid "column \"%s\" inherits conflicting generation expressions" msgstr "Spalte »%s« erbt widersprüchliche Generierungsausdrücke" -#: commands/tablecmds.c:3007 +#: commands/tablecmds.c:3019 #, c-format msgid "To resolve the conflict, specify a generation expression explicitly." msgstr "Um den Konflikt zu lösen, geben Sie einen Generierungsausdruck ausdrücklich an." -#: commands/tablecmds.c:3011 +#: commands/tablecmds.c:3023 #, c-format msgid "column \"%s\" inherits conflicting default values" msgstr "Spalte »%s« erbt widersprüchliche Vorgabewerte" -#: commands/tablecmds.c:3013 +#: commands/tablecmds.c:3025 #, c-format msgid "To resolve the conflict, specify a default explicitly." msgstr "Um den Konflikt zu lösen, geben Sie einen Vorgabewert ausdrücklich an." -#: commands/tablecmds.c:3068 +#: commands/tablecmds.c:3080 #, c-format msgid "check constraint name \"%s\" appears multiple times but with different expressions" msgstr "Check-Constraint-Name »%s« erscheint mehrmals, aber mit unterschiedlichen Ausdrücken" -#: commands/tablecmds.c:3119 +#: commands/tablecmds.c:3131 #, c-format msgid "merging column \"%s\" with inherited definition" msgstr "Spalte »%s« wird mit geerbter Definition zusammengeführt" -#: commands/tablecmds.c:3123 +#: commands/tablecmds.c:3135 #, c-format msgid "moving and merging column \"%s\" with inherited definition" msgstr "Spalte »%s« wird verschoben und mit geerbter Definition zusammengeführt" -#: commands/tablecmds.c:3124 +#: commands/tablecmds.c:3136 #, c-format msgid "User-specified column moved to the position of the inherited column." msgstr "Benutzerdefinierte Spalte wurde auf die Position der geerbten Spalte verschoben." -#: commands/tablecmds.c:3136 +#: commands/tablecmds.c:3148 #, c-format msgid "column \"%s\" has a type conflict" msgstr "für Spalte »%s« besteht ein Typkonflikt" -#: commands/tablecmds.c:3138 commands/tablecmds.c:3172 -#: commands/tablecmds.c:3188 commands/tablecmds.c:3295 -#: commands/tablecmds.c:3328 commands/tablecmds.c:3344 +#: commands/tablecmds.c:3150 commands/tablecmds.c:3184 +#: commands/tablecmds.c:3200 commands/tablecmds.c:3307 +#: commands/tablecmds.c:3340 commands/tablecmds.c:3356 #: parser/parse_coerce.c:2155 parser/parse_coerce.c:2175 #: parser/parse_coerce.c:2195 parser/parse_coerce.c:2216 #: parser/parse_coerce.c:2271 parser/parse_coerce.c:2305 @@ -10784,1216 +10707,1203 @@ msgstr "für Spalte »%s« besteht ein Typkonflikt" msgid "%s versus %s" msgstr "%s gegen %s" -#: commands/tablecmds.c:3150 +#: commands/tablecmds.c:3162 #, c-format msgid "column \"%s\" has a collation conflict" msgstr "für Spalte »%s« besteht ein Sortierfolgenkonflikt" -#: commands/tablecmds.c:3152 commands/tablecmds.c:3314 -#: commands/tablecmds.c:7088 +#: commands/tablecmds.c:3164 commands/tablecmds.c:3326 +#: commands/tablecmds.c:7080 #, c-format msgid "\"%s\" versus \"%s\"" msgstr "»%s« gegen »%s«" -#: commands/tablecmds.c:3170 +#: commands/tablecmds.c:3182 #, c-format msgid "column \"%s\" has a storage parameter conflict" msgstr "für Spalte »%s« besteht ein Konflikt bei einem Storage-Parameter" -#: commands/tablecmds.c:3186 commands/tablecmds.c:3342 +#: commands/tablecmds.c:3198 commands/tablecmds.c:3354 #, c-format msgid "column \"%s\" has a compression method conflict" msgstr "für Spalte »%s« besteht ein Komprimierungsmethodenkonflikt" -#: commands/tablecmds.c:3281 +#: commands/tablecmds.c:3293 #, c-format msgid "merging multiple inherited definitions of column \"%s\"" msgstr "geerbte Definitionen von Spalte »%s« werden zusammengeführt" -#: commands/tablecmds.c:3293 +#: commands/tablecmds.c:3305 #, c-format msgid "inherited column \"%s\" has a type conflict" msgstr "geerbte Spalte »%s« hat Typkonflikt" -#: commands/tablecmds.c:3312 +#: commands/tablecmds.c:3324 #, c-format msgid "inherited column \"%s\" has a collation conflict" msgstr "geerbte Spalte »%s« hat Sortierfolgenkonflikt" -#: commands/tablecmds.c:3326 +#: commands/tablecmds.c:3338 #, c-format msgid "inherited column \"%s\" has a storage parameter conflict" msgstr "geerbte Spalte »%s« hat einen Konflikt bei einem Storage-Parameter" -#: commands/tablecmds.c:3354 +#: commands/tablecmds.c:3366 #, c-format msgid "inherited column \"%s\" has a generation conflict" msgstr "geerbte Spalte »%s« hat einen Generierungskonflikt" -#: commands/tablecmds.c:3573 +#: commands/tablecmds.c:3597 #, c-format msgid "cannot move temporary tables of other sessions" msgstr "temporäre Tabellen anderer Sitzungen können nicht verschoben werden" -#: commands/tablecmds.c:3643 +#: commands/tablecmds.c:3670 #, c-format msgid "cannot rename column of typed table" msgstr "Spalte einer getypten Tabelle kann nicht umbenannt werden" -#: commands/tablecmds.c:3662 +#: commands/tablecmds.c:3689 #, c-format msgid "cannot rename columns of relation \"%s\"" msgstr "Spalten von Relation »%s« können nicht umbenannt werden" -#: commands/tablecmds.c:3757 +#: commands/tablecmds.c:3784 #, c-format msgid "inherited column \"%s\" must be renamed in child tables too" msgstr "vererbte Spalte »%s« muss ebenso in den abgeleiteten Tabellen umbenannt werden" -#: commands/tablecmds.c:3789 +#: commands/tablecmds.c:3816 #, c-format msgid "cannot rename system column \"%s\"" msgstr "Systemspalte »%s« kann nicht umbenannt werden" -#: commands/tablecmds.c:3804 +#: commands/tablecmds.c:3831 #, c-format msgid "cannot rename inherited column \"%s\"" msgstr "kann vererbte Spalte »%s« nicht umbenennen" -#: commands/tablecmds.c:3956 +#: commands/tablecmds.c:3983 #, c-format msgid "inherited constraint \"%s\" must be renamed in child tables too" msgstr "vererbter Constraint »%s« muss ebenso in den abgeleiteten Tabellen umbenannt werden" -#: commands/tablecmds.c:3963 +#: commands/tablecmds.c:3990 #, c-format msgid "cannot rename inherited constraint \"%s\"" msgstr "kann vererbten Constraint »%s« nicht umbenennen" #. translator: first %s is a SQL command, eg ALTER TABLE -#: commands/tablecmds.c:4260 +#: commands/tablecmds.c:4290 #, c-format msgid "cannot %s \"%s\" because it is being used by active queries in this session" msgstr "%s mit Relation »%s« nicht möglich, weil sie von aktiven Anfragen in dieser Sitzung verwendet wird" #. translator: first %s is a SQL command, eg ALTER TABLE -#: commands/tablecmds.c:4269 +#: commands/tablecmds.c:4299 #, c-format msgid "cannot %s \"%s\" because it has pending trigger events" msgstr "%s mit Relation »%s« nicht möglich, weil es anstehende Trigger-Ereignisse dafür gibt" -#: commands/tablecmds.c:4295 +#: commands/tablecmds.c:4325 #, c-format msgid "cannot alter temporary tables of other sessions" msgstr "kann temporäre Tabellen anderer Sitzungen nicht ändern" -#: commands/tablecmds.c:4776 +#: commands/tablecmds.c:4798 #, c-format msgid "cannot alter partition \"%s\" with an incomplete detach" msgstr "kann Partition »%s« mit einer unvollständigen Abtrennoperation nicht ändern" -#: commands/tablecmds.c:4980 commands/tablecmds.c:4995 +#: commands/tablecmds.c:5002 commands/tablecmds.c:5017 #, c-format msgid "cannot change persistence setting twice" msgstr "Persistenzeinstellung kann nicht zweimal geändert werden" -#: commands/tablecmds.c:5016 +#: commands/tablecmds.c:5038 #, c-format msgid "cannot have multiple SET ACCESS METHOD subcommands" msgstr "mehrere SET ACCESS METHOD Unterbefehle sind ungültig" -#: commands/tablecmds.c:5772 +#: commands/tablecmds.c:5768 #, c-format msgid "cannot rewrite system relation \"%s\"" msgstr "Systemrelation »%s« kann nicht neu geschrieben werden" -#: commands/tablecmds.c:5778 +#: commands/tablecmds.c:5774 #, c-format msgid "cannot rewrite table \"%s\" used as a catalog table" msgstr "Tabelle »%s«, die als Katalogtabelle verwendet wird, kann nicht neu geschrieben werden" -#: commands/tablecmds.c:5790 +#: commands/tablecmds.c:5786 #, c-format msgid "cannot rewrite temporary tables of other sessions" msgstr "kann temporäre Tabellen anderer Sitzungen nicht neu schreiben" -#: commands/tablecmds.c:6285 +#: commands/tablecmds.c:6281 #, c-format msgid "column \"%s\" of relation \"%s\" contains null values" msgstr "Spalte »%s« von Relation »%s« enthält NULL-Werte" -#: commands/tablecmds.c:6302 +#: commands/tablecmds.c:6298 #, c-format msgid "check constraint \"%s\" of relation \"%s\" is violated by some row" msgstr "Check-Constraint »%s« von Relation »%s« wird von irgendeiner Zeile verletzt" -#: commands/tablecmds.c:6321 partitioning/partbounds.c:3388 +#: commands/tablecmds.c:6317 partitioning/partbounds.c:3387 #, c-format msgid "updated partition constraint for default partition \"%s\" would be violated by some row" msgstr "aktualisierter Partitions-Constraint der Standardpartition »%s« würde von irgendeiner Zeile verletzt werden" -#: commands/tablecmds.c:6327 +#: commands/tablecmds.c:6323 #, c-format msgid "partition constraint of relation \"%s\" is violated by some row" msgstr "Partitions-Constraint von Relation »%s« wird von irgendeiner Zeile verletzt" #. translator: %s is a group of some SQL keywords -#: commands/tablecmds.c:6596 +#: commands/tablecmds.c:6588 #, c-format msgid "ALTER action %s cannot be performed on relation \"%s\"" msgstr "ALTER-Aktion %s kann nicht mit Relation »%s« ausgeführt werden" -#: commands/tablecmds.c:6851 commands/tablecmds.c:6858 +#: commands/tablecmds.c:6843 commands/tablecmds.c:6850 #, c-format msgid "cannot alter type \"%s\" because column \"%s.%s\" uses it" msgstr "kann Typ »%s« nicht ändern, weil Spalte »%s.%s« ihn verwendet" -#: commands/tablecmds.c:6865 +#: commands/tablecmds.c:6857 #, c-format msgid "cannot alter foreign table \"%s\" because column \"%s.%s\" uses its row type" msgstr "kann Fremdtabelle »%s« nicht ändern, weil Spalte »%s.%s« ihren Zeilentyp verwendet" -#: commands/tablecmds.c:6872 +#: commands/tablecmds.c:6864 #, c-format msgid "cannot alter table \"%s\" because column \"%s.%s\" uses its row type" msgstr "kann Tabelle »%s« nicht ändern, weil Spalte »%s.%s« ihren Zeilentyp verwendet" -#: commands/tablecmds.c:6928 +#: commands/tablecmds.c:6920 #, c-format msgid "cannot alter type \"%s\" because it is the type of a typed table" msgstr "kann Typ »%s« nicht ändern, weil er der Typ einer getypten Tabelle ist" -#: commands/tablecmds.c:6930 +#: commands/tablecmds.c:6922 #, c-format msgid "Use ALTER ... CASCADE to alter the typed tables too." msgstr "Verwenden Sie ALTER ... CASCADE, um die getypten Tabellen ebenfalls zu ändern." -#: commands/tablecmds.c:6976 +#: commands/tablecmds.c:6968 #, c-format msgid "type %s is not a composite type" msgstr "Typ %s ist kein zusammengesetzter Typ" -#: commands/tablecmds.c:7003 +#: commands/tablecmds.c:6995 #, c-format msgid "cannot add column to typed table" msgstr "zu einer getypten Tabelle kann keine Spalte hinzugefügt werden" -#: commands/tablecmds.c:7051 +#: commands/tablecmds.c:7043 #, c-format msgid "cannot add column to a partition" msgstr "zu einer Partition kann keine Spalte hinzugefügt werden" -#: commands/tablecmds.c:7080 commands/tablecmds.c:15760 +#: commands/tablecmds.c:7072 commands/tablecmds.c:15860 #, c-format msgid "child table \"%s\" has different type for column \"%s\"" msgstr "abgeleitete Tabelle »%s« hat unterschiedlichen Typ für Spalte »%s«" -#: commands/tablecmds.c:7086 commands/tablecmds.c:15766 +#: commands/tablecmds.c:7078 commands/tablecmds.c:15866 #, c-format msgid "child table \"%s\" has different collation for column \"%s\"" msgstr "abgeleitete Tabelle »%s« hat unterschiedliche Sortierfolge für Spalte »%s«" -#: commands/tablecmds.c:7104 +#: commands/tablecmds.c:7096 #, c-format msgid "merging definition of column \"%s\" for child \"%s\"" msgstr "Definition von Spalte »%s« für abgeleitete Tabelle »%s« wird zusammengeführt" -#: commands/tablecmds.c:7157 +#: commands/tablecmds.c:7149 #, c-format msgid "cannot recursively add identity column to table that has child tables" msgstr "eine Identitätsspalte kann nicht rekursiv zu einer Tabelle hinzugefügt werden, die abgeleitete Tabellen hat" -#: commands/tablecmds.c:7370 +#: commands/tablecmds.c:7362 #, c-format msgid "column must be added to child tables too" msgstr "Spalte muss ebenso in den abgeleiteten Tabellen hinzugefügt werden" -#: commands/tablecmds.c:7448 +#: commands/tablecmds.c:7440 #, c-format msgid "column \"%s\" of relation \"%s\" already exists, skipping" msgstr "Spalte »%s« von Relation »%s« existiert bereits, wird übersprungen" -#: commands/tablecmds.c:7455 +#: commands/tablecmds.c:7447 #, c-format msgid "column \"%s\" of relation \"%s\" already exists" msgstr "Spalte »%s« von Relation »%s« existiert bereits" -#: commands/tablecmds.c:7521 commands/tablecmds.c:12564 +#: commands/tablecmds.c:7513 commands/tablecmds.c:12652 #, c-format msgid "cannot remove constraint from only the partitioned table when partitions exist" msgstr "Constraint kann nicht nur von der partitionierten Tabelle entfernt werden, wenn Partitionen existieren" -#: commands/tablecmds.c:7522 commands/tablecmds.c:7836 -#: commands/tablecmds.c:8014 commands/tablecmds.c:8121 -#: commands/tablecmds.c:8238 commands/tablecmds.c:9057 -#: commands/tablecmds.c:12565 +#: commands/tablecmds.c:7514 commands/tablecmds.c:7828 +#: commands/tablecmds.c:8006 commands/tablecmds.c:8113 +#: commands/tablecmds.c:8230 commands/tablecmds.c:9049 +#: commands/tablecmds.c:12653 #, c-format msgid "Do not specify the ONLY keyword." msgstr "Lassen Sie das Schlüsselwort ONLY weg." -#: commands/tablecmds.c:7558 commands/tablecmds.c:7762 -#: commands/tablecmds.c:7904 commands/tablecmds.c:8036 -#: commands/tablecmds.c:8165 commands/tablecmds.c:8259 -#: commands/tablecmds.c:8360 commands/tablecmds.c:8517 -#: commands/tablecmds.c:8670 commands/tablecmds.c:8751 -#: commands/tablecmds.c:8885 commands/tablecmds.c:12718 -#: commands/tablecmds.c:14249 commands/tablecmds.c:16875 +#: commands/tablecmds.c:7550 commands/tablecmds.c:7754 +#: commands/tablecmds.c:7896 commands/tablecmds.c:8028 +#: commands/tablecmds.c:8157 commands/tablecmds.c:8251 +#: commands/tablecmds.c:8352 commands/tablecmds.c:8509 +#: commands/tablecmds.c:8662 commands/tablecmds.c:8743 +#: commands/tablecmds.c:8877 commands/tablecmds.c:12806 +#: commands/tablecmds.c:14348 commands/tablecmds.c:16975 #, c-format msgid "cannot alter system column \"%s\"" msgstr "Systemspalte »%s« kann nicht geändert werden" -#: commands/tablecmds.c:7564 commands/tablecmds.c:7910 +#: commands/tablecmds.c:7556 commands/tablecmds.c:7902 #, c-format msgid "column \"%s\" of relation \"%s\" is an identity column" msgstr "Spalte »%s« von Relation »%s« ist eine Identitätsspalte" -#: commands/tablecmds.c:7605 +#: commands/tablecmds.c:7597 #, c-format msgid "column \"%s\" is in a primary key" msgstr "Spalte »%s« ist in einem Primärschlüssel" -#: commands/tablecmds.c:7610 +#: commands/tablecmds.c:7602 #, c-format msgid "column \"%s\" is in index used as replica identity" msgstr "Spalte »%s« ist in einem Index, der als Replik-Identität verwendet wird" -#: commands/tablecmds.c:7633 +#: commands/tablecmds.c:7625 #, c-format msgid "column \"%s\" is marked NOT NULL in parent table" msgstr "Spalte »%s« ist in Elterntabelle als NOT NULL markiert" -#: commands/tablecmds.c:7833 commands/tablecmds.c:9541 +#: commands/tablecmds.c:7825 commands/tablecmds.c:9533 #, c-format msgid "constraint must be added to child tables too" msgstr "Constraint muss ebenso in den abgeleiteten Tabellen hinzugefügt werden" -#: commands/tablecmds.c:7834 +#: commands/tablecmds.c:7826 #, c-format msgid "Column \"%s\" of relation \"%s\" is not already NOT NULL." msgstr "Spalte »%s« von Relation »%s« ist nicht bereits NOT NULL." -#: commands/tablecmds.c:7919 +#: commands/tablecmds.c:7911 #, c-format msgid "column \"%s\" of relation \"%s\" is a generated column" msgstr "Spalte »%s« von Relation »%s« ist eine generierte Spalte" -#: commands/tablecmds.c:8013 -#, fuzzy, c-format -#| msgid "cannot drop column from only the partitioned table when partitions exist" +#: commands/tablecmds.c:8005 +#, c-format msgid "cannot add identity to a column of only the partitioned table" -msgstr "Spalte kann nicht nur aus der partitionierten Tabelle gelöscht werden, wenn Partitionen existieren" +msgstr "Identität kann nicht einer Spalte nur in der partitionierten Tabelle hinzugefügt werden" -#: commands/tablecmds.c:8019 +#: commands/tablecmds.c:8011 #, c-format msgid "cannot add identity to a column of a partition" msgstr "zu einer Spalte einer Partition kann keine Identität hinzugefügt werden" -#: commands/tablecmds.c:8047 +#: commands/tablecmds.c:8039 #, c-format msgid "column \"%s\" of relation \"%s\" must be declared NOT NULL before identity can be added" msgstr "Spalte »%s« von Relation »%s« muss als NOT NULL deklariert werden, bevor Sie Identitätsspalte werden kann" -#: commands/tablecmds.c:8053 +#: commands/tablecmds.c:8045 #, c-format msgid "column \"%s\" of relation \"%s\" is already an identity column" msgstr "Spalte »%s« von Relation »%s« ist bereits eine Identitätsspalte" -#: commands/tablecmds.c:8059 +#: commands/tablecmds.c:8051 #, c-format msgid "column \"%s\" of relation \"%s\" already has a default value" msgstr "Spalte »%s« von Relation »%s« hat bereits einen Vorgabewert" -#: commands/tablecmds.c:8120 -#, fuzzy, c-format -#| msgid "cannot change inheritance of partitioned table" +#: commands/tablecmds.c:8112 +#, c-format msgid "cannot change identity column of only the partitioned table" -msgstr "Vererbung einer partitionierten Tabelle kann nicht geändert werden" +msgstr "Identitätsspalte kann nicht nur in der partitionierten Tabelle geändert werden" -#: commands/tablecmds.c:8126 +#: commands/tablecmds.c:8118 #, c-format msgid "cannot change identity column of a partition" msgstr "Identitätsspalte einer Partition kann nicht geändert werden" -#: commands/tablecmds.c:8171 commands/tablecmds.c:8267 +#: commands/tablecmds.c:8163 commands/tablecmds.c:8259 #, c-format msgid "column \"%s\" of relation \"%s\" is not an identity column" msgstr "Spalte »%s« von Relation »%s« ist keine Identitätsspalte" -#: commands/tablecmds.c:8237 -#, fuzzy, c-format -#| msgid "cannot drop column from only the partitioned table when partitions exist" +#: commands/tablecmds.c:8229 +#, c-format msgid "cannot drop identity from a column of only the partitioned table" -msgstr "Spalte kann nicht nur aus der partitionierten Tabelle gelöscht werden, wenn Partitionen existieren" +msgstr "Identität kann nicht von einer Spalte nur in der partitionierten Tabelle gelöscht werden" -#: commands/tablecmds.c:8243 -#, fuzzy, c-format -#| msgid "cannot add column to a partition" +#: commands/tablecmds.c:8235 +#, c-format msgid "cannot drop identity from a column of a partition" -msgstr "zu einer Partition kann keine Spalte hinzugefügt werden" +msgstr "Identität kann nicht von einer Spalte einer Partition gelöscht werden" -#: commands/tablecmds.c:8272 +#: commands/tablecmds.c:8264 #, c-format msgid "column \"%s\" of relation \"%s\" is not an identity column, skipping" msgstr "Spalte »%s« von Relation »%s« ist keine Identitätsspalte, wird übersprungen" -#: commands/tablecmds.c:8366 +#: commands/tablecmds.c:8358 #, c-format msgid "column \"%s\" of relation \"%s\" is not a generated column" msgstr "Spalte »%s« von Relation »%s« ist keine generierte Spalte" -#: commands/tablecmds.c:8464 +#: commands/tablecmds.c:8456 #, c-format msgid "ALTER TABLE / DROP EXPRESSION must be applied to child tables too" msgstr "ALTER TABLE / DROP EXPRESSION muss auch auf abgeleitete Tabellen angewendet werden" -#: commands/tablecmds.c:8486 +#: commands/tablecmds.c:8478 #, c-format msgid "cannot drop generation expression from inherited column" msgstr "Generierungsausdruck von vererbter Spalte kann nicht gelöscht werden" -#: commands/tablecmds.c:8525 +#: commands/tablecmds.c:8517 #, c-format msgid "column \"%s\" of relation \"%s\" is not a stored generated column" msgstr "Spalte »%s« von Relation »%s« ist keine gespeicherte generierte Spalte" -#: commands/tablecmds.c:8530 +#: commands/tablecmds.c:8522 #, c-format msgid "column \"%s\" of relation \"%s\" is not a stored generated column, skipping" msgstr "Spalte »%s« von Relation »%s« ist keine gespeicherte generierte Spalte, wird übersprungen" -#: commands/tablecmds.c:8608 +#: commands/tablecmds.c:8600 #, c-format msgid "cannot refer to non-index column by number" msgstr "auf eine Nicht-Index-Spalte kann nicht per Nummer verwiesen werden" -#: commands/tablecmds.c:8660 +#: commands/tablecmds.c:8652 #, c-format msgid "column number %d of relation \"%s\" does not exist" msgstr "Spalte Nummer %d von Relation »%s« existiert nicht" -#: commands/tablecmds.c:8679 +#: commands/tablecmds.c:8671 #, c-format msgid "cannot alter statistics on included column \"%s\" of index \"%s\"" msgstr "Statistiken von eingeschlossener Spalte »%s« von Index »%s« können nicht geändert werden" -#: commands/tablecmds.c:8684 +#: commands/tablecmds.c:8676 #, c-format msgid "cannot alter statistics on non-expression column \"%s\" of index \"%s\"" msgstr "kann Statistiken von Spalte »%s« von Index »%s«, welche kein Ausdruck ist, nicht ändern" -#: commands/tablecmds.c:8686 +#: commands/tablecmds.c:8678 #, c-format msgid "Alter statistics on table column instead." msgstr "Ändern Sie stattdessen die Statistiken für die Tabellenspalte." -#: commands/tablecmds.c:8932 +#: commands/tablecmds.c:8924 #, c-format msgid "cannot drop column from typed table" msgstr "aus einer getypten Tabelle können keine Spalten gelöscht werden" -#: commands/tablecmds.c:8995 +#: commands/tablecmds.c:8987 #, c-format msgid "column \"%s\" of relation \"%s\" does not exist, skipping" msgstr "Spalte »%s« von Relation »%s« existiert nicht, wird übersprungen" -#: commands/tablecmds.c:9008 +#: commands/tablecmds.c:9000 #, c-format msgid "cannot drop system column \"%s\"" msgstr "Systemspalte »%s« kann nicht gelöscht werden" -#: commands/tablecmds.c:9018 +#: commands/tablecmds.c:9010 #, c-format msgid "cannot drop inherited column \"%s\"" msgstr "geerbte Spalte »%s« kann nicht gelöscht werden" -#: commands/tablecmds.c:9031 +#: commands/tablecmds.c:9023 #, c-format msgid "cannot drop column \"%s\" because it is part of the partition key of relation \"%s\"" msgstr "Spalte »%s« kann nicht gelöscht werden, weil sie Teil des Partitionierungsschlüssels von Relation »%s« ist" -#: commands/tablecmds.c:9056 +#: commands/tablecmds.c:9048 #, c-format msgid "cannot drop column from only the partitioned table when partitions exist" msgstr "Spalte kann nicht nur aus der partitionierten Tabelle gelöscht werden, wenn Partitionen existieren" -#: commands/tablecmds.c:9261 +#: commands/tablecmds.c:9253 #, c-format msgid "ALTER TABLE / ADD CONSTRAINT USING INDEX is not supported on partitioned tables" msgstr "ALTER TABLE / ADD CONSTRAINT USING INDEX wird für partitionierte Tabellen nicht unterstützt" -#: commands/tablecmds.c:9286 +#: commands/tablecmds.c:9278 #, c-format msgid "ALTER TABLE / ADD CONSTRAINT USING INDEX will rename index \"%s\" to \"%s\"" msgstr "ALTER TABLE / ADD CONSTRAINT USING INDEX benennt Index »%s« um in »%s«" -#: commands/tablecmds.c:9623 +#: commands/tablecmds.c:9615 #, c-format msgid "cannot use ONLY for foreign key on partitioned table \"%s\" referencing relation \"%s\"" msgstr "ONLY nicht möglich für Fremdschlüssel für partitionierte Tabelle »%s« verweisend auf Relation »%s«" -#: commands/tablecmds.c:9629 +#: commands/tablecmds.c:9621 #, c-format msgid "cannot add NOT VALID foreign key on partitioned table \"%s\" referencing relation \"%s\"" msgstr "Hinzufügen von Fremdschlüssel mit NOT VALID nicht möglich für partitionierte Tabelle »%s« verweisend auf Relation »%s«" -#: commands/tablecmds.c:9632 +#: commands/tablecmds.c:9624 #, c-format msgid "This feature is not yet supported on partitioned tables." msgstr "Dieses Feature wird für partitionierte Tabellen noch nicht unterstützt." -#: commands/tablecmds.c:9639 commands/tablecmds.c:10095 +#: commands/tablecmds.c:9631 commands/tablecmds.c:10092 #, c-format msgid "referenced relation \"%s\" is not a table" msgstr "Relation »%s«, auf die verwiesen wird, ist keine Tabelle" -#: commands/tablecmds.c:9662 +#: commands/tablecmds.c:9654 #, c-format msgid "constraints on permanent tables may reference only permanent tables" msgstr "Constraints für permanente Tabellen dürfen nur auf permanente Tabellen verweisen" -#: commands/tablecmds.c:9669 +#: commands/tablecmds.c:9661 #, c-format msgid "constraints on unlogged tables may reference only permanent or unlogged tables" msgstr "Constraints für ungeloggte Tabellen dürfen nur auf permanente oder ungeloggte Tabellen verweisen" -#: commands/tablecmds.c:9675 +#: commands/tablecmds.c:9667 #, c-format msgid "constraints on temporary tables may reference only temporary tables" msgstr "Constraints für temporäre Tabellen dürfen nur auf temporäre Tabellen verweisen" -#: commands/tablecmds.c:9679 +#: commands/tablecmds.c:9671 #, c-format msgid "constraints on temporary tables must involve temporary tables of this session" msgstr "Constraints für temporäre Tabellen müssen temporäre Tabellen dieser Sitzung beinhalten" -#: commands/tablecmds.c:9743 commands/tablecmds.c:9749 +#: commands/tablecmds.c:9735 commands/tablecmds.c:9741 #, c-format msgid "invalid %s action for foreign key constraint containing generated column" msgstr "ungültige %s-Aktion für Fremdschlüssel-Constraint, der eine generierte Spalte enthält" -#: commands/tablecmds.c:9765 +#: commands/tablecmds.c:9757 #, c-format msgid "number of referencing and referenced columns for foreign key disagree" msgstr "Anzahl der Quell- und Zielspalten im Fremdschlüssel stimmt nicht überein" -#: commands/tablecmds.c:9872 +#: commands/tablecmds.c:9864 #, c-format msgid "foreign key constraint \"%s\" cannot be implemented" msgstr "Fremdschlüssel-Constraint »%s« kann nicht implementiert werden" -#: commands/tablecmds.c:9874 +#: commands/tablecmds.c:9866 #, c-format msgid "Key columns \"%s\" and \"%s\" are of incompatible types: %s and %s." msgstr "Schlüsselspalten »%s« und »%s« haben inkompatible Typen: %s und %s." -#: commands/tablecmds.c:10031 +#: commands/tablecmds.c:10035 #, c-format msgid "column \"%s\" referenced in ON DELETE SET action must be part of foreign key" msgstr "Spalte »%s«, auf die in der ON-DELETE-SET-Aktion verwiesen wird, muss Teil des Fremdschlüssels sein" -#: commands/tablecmds.c:10305 commands/tablecmds.c:10775 -#: parser/parse_utilcmd.c:797 parser/parse_utilcmd.c:920 +#: commands/tablecmds.c:10392 commands/tablecmds.c:10832 +#: parser/parse_utilcmd.c:822 parser/parse_utilcmd.c:945 #, c-format msgid "foreign key constraints are not supported on foreign tables" msgstr "Fremdschlüssel-Constraints auf Fremdtabellen werden nicht unterstützt" -#: commands/tablecmds.c:11328 commands/tablecmds.c:11609 -#: commands/tablecmds.c:12521 commands/tablecmds.c:12595 +#: commands/tablecmds.c:10815 +#, c-format +msgid "cannot attach table \"%s\" as a partition because it is referenced by foreign key \"%s\"" +msgstr "kann Tabelle »%s« nicht als Partition anfügen, weil auf sie von Fremdschlüssel »%s« verwiesen wird" + +#: commands/tablecmds.c:11416 commands/tablecmds.c:11697 +#: commands/tablecmds.c:12609 commands/tablecmds.c:12683 #, c-format msgid "constraint \"%s\" of relation \"%s\" does not exist" msgstr "Constraint »%s« von Relation »%s« existiert nicht" -#: commands/tablecmds.c:11335 +#: commands/tablecmds.c:11423 #, c-format msgid "constraint \"%s\" of relation \"%s\" is not a foreign key constraint" msgstr "Constraint »%s« von Relation »%s« ist kein Fremdschlüssel-Constraint" -#: commands/tablecmds.c:11373 +#: commands/tablecmds.c:11461 #, c-format msgid "cannot alter constraint \"%s\" on relation \"%s\"" msgstr "Constraint »%s« von Relation »%s« kann nicht geändert werden" -#: commands/tablecmds.c:11376 +#: commands/tablecmds.c:11464 #, c-format msgid "Constraint \"%s\" is derived from constraint \"%s\" of relation \"%s\"." msgstr "Constraint »%s« ist von Constraint »%s« von Relation »%s« abgeleitet." -#: commands/tablecmds.c:11378 +#: commands/tablecmds.c:11466 #, c-format msgid "You may alter the constraint it derives from instead." msgstr "Sie können stattdessen den Constraint, von dem er abgeleitet ist, ändern." -#: commands/tablecmds.c:11617 +#: commands/tablecmds.c:11705 #, c-format msgid "constraint \"%s\" of relation \"%s\" is not a foreign key or check constraint" msgstr "Constraint »%s« von Relation »%s« ist kein Fremdschlüssel- oder Check-Constraint" -#: commands/tablecmds.c:11694 +#: commands/tablecmds.c:11782 #, c-format msgid "constraint must be validated on child tables too" msgstr "Constraint muss ebenso in den abgeleiteten Tabellen validiert werden" -#: commands/tablecmds.c:11781 +#: commands/tablecmds.c:11869 #, c-format msgid "column \"%s\" referenced in foreign key constraint does not exist" msgstr "Spalte »%s«, die im Fremdschlüssel verwendet wird, existiert nicht" -#: commands/tablecmds.c:11787 +#: commands/tablecmds.c:11875 #, c-format msgid "system columns cannot be used in foreign keys" msgstr "Systemspalten können nicht in Fremdschlüsseln verwendet werden" -#: commands/tablecmds.c:11791 +#: commands/tablecmds.c:11879 #, c-format msgid "cannot have more than %d keys in a foreign key" msgstr "Fremdschlüssel kann nicht mehr als %d Schlüssel haben" -#: commands/tablecmds.c:11856 +#: commands/tablecmds.c:11944 #, c-format msgid "cannot use a deferrable primary key for referenced table \"%s\"" msgstr "aufschiebbarer Primärschlüssel kann nicht für Tabelle »%s«, auf die verwiesen wird, verwendet werden" -#: commands/tablecmds.c:11873 +#: commands/tablecmds.c:11961 #, c-format msgid "there is no primary key for referenced table \"%s\"" msgstr "in Tabelle »%s«, auf die verwiesen wird, gibt es keinen Primärschlüssel" -#: commands/tablecmds.c:11941 +#: commands/tablecmds.c:12029 #, c-format msgid "foreign key referenced-columns list must not contain duplicates" msgstr "die Liste der Spalten, auf die ein Fremdschlüssel verweist, darf keine doppelten Einträge enthalten" -#: commands/tablecmds.c:12033 +#: commands/tablecmds.c:12121 #, c-format msgid "cannot use a deferrable unique constraint for referenced table \"%s\"" msgstr "aufschiebbarer Unique-Constraint kann nicht für Tabelle »%s«, auf die verwiesen wird, verwendet werden" -#: commands/tablecmds.c:12038 +#: commands/tablecmds.c:12126 #, c-format msgid "there is no unique constraint matching given keys for referenced table \"%s\"" msgstr "in Tabelle »%s«, auf die verwiesen wird, gibt es keinen Unique-Constraint, der auf die angegebenen Schlüssel passt" -#: commands/tablecmds.c:12477 +#: commands/tablecmds.c:12565 #, c-format msgid "cannot drop inherited constraint \"%s\" of relation \"%s\"" msgstr "geerbter Constraint »%s« von Relation »%s« kann nicht gelöscht werden" -#: commands/tablecmds.c:12527 +#: commands/tablecmds.c:12615 #, c-format msgid "constraint \"%s\" of relation \"%s\" does not exist, skipping" msgstr "Constraint »%s« von Relation »%s« existiert nicht, wird übersprungen" -#: commands/tablecmds.c:12702 +#: commands/tablecmds.c:12790 #, c-format msgid "cannot alter column type of typed table" msgstr "Spaltentyp einer getypten Tabelle kann nicht geändert werden" -#: commands/tablecmds.c:12729 +#: commands/tablecmds.c:12816 +#, c-format +msgid "cannot specify USING when altering type of generated column" +msgstr "USING kann nicht angegeben werden, wenn der Typ einer generierten Spalte geändert wird" + +#: commands/tablecmds.c:12817 commands/tablecmds.c:18028 +#: commands/tablecmds.c:18118 commands/trigger.c:656 +#: rewrite/rewriteHandler.c:935 rewrite/rewriteHandler.c:970 +#, c-format +msgid "Column \"%s\" is a generated column." +msgstr "Spalte »%s« ist eine generierte Spalte." + +#: commands/tablecmds.c:12827 #, c-format msgid "cannot alter inherited column \"%s\"" msgstr "kann vererbte Spalte »%s« nicht ändern" -#: commands/tablecmds.c:12738 +#: commands/tablecmds.c:12836 #, c-format msgid "cannot alter column \"%s\" because it is part of the partition key of relation \"%s\"" msgstr "Spalte »%s« kann nicht geändert werden, weil sie Teil des Partitionierungsschlüssels von Relation »%s« ist" -#: commands/tablecmds.c:12788 +#: commands/tablecmds.c:12886 #, c-format msgid "result of USING clause for column \"%s\" cannot be cast automatically to type %s" msgstr "Ergebnis der USING-Klausel für Spalte »%s« kann nicht automatisch in Typ %s umgewandelt werden" -#: commands/tablecmds.c:12791 +#: commands/tablecmds.c:12889 #, c-format msgid "You might need to add an explicit cast." msgstr "Sie müssen möglicherweise eine ausdrückliche Typumwandlung hinzufügen." -#: commands/tablecmds.c:12795 +#: commands/tablecmds.c:12893 #, c-format msgid "column \"%s\" cannot be cast automatically to type %s" msgstr "Spalte »%s« kann nicht automatisch in Typ %s umgewandelt werden" #. translator: USING is SQL, don't translate it -#: commands/tablecmds.c:12798 +#: commands/tablecmds.c:12897 #, c-format msgid "You might need to specify \"USING %s::%s\"." msgstr "Sie müssen möglicherweise »USING %s::%s« angeben." -#: commands/tablecmds.c:12897 +#: commands/tablecmds.c:12996 #, c-format msgid "cannot alter inherited column \"%s\" of relation \"%s\"" msgstr "geerbte Spalte »%s« von Relation »%s« kann nicht geändert werden" -#: commands/tablecmds.c:12926 +#: commands/tablecmds.c:13025 #, c-format msgid "USING expression contains a whole-row table reference." msgstr "USING-Ausdruck enthält einen Verweis auf die ganze Zeile der Tabelle." -#: commands/tablecmds.c:12937 +#: commands/tablecmds.c:13036 #, c-format msgid "type of inherited column \"%s\" must be changed in child tables too" msgstr "Typ der vererbten Spalte »%s« muss ebenso in den abgeleiteten Tabellen geändert werden" -#: commands/tablecmds.c:13062 +#: commands/tablecmds.c:13161 #, c-format msgid "cannot alter type of column \"%s\" twice" msgstr "Typ der Spalte »%s« kann nicht zweimal geändert werden" -#: commands/tablecmds.c:13100 +#: commands/tablecmds.c:13199 #, c-format msgid "generation expression for column \"%s\" cannot be cast automatically to type %s" msgstr "Generierungsausdruck der Spalte »%s« kann nicht automatisch in Typ %s umgewandelt werden" -#: commands/tablecmds.c:13105 +#: commands/tablecmds.c:13204 #, c-format msgid "default for column \"%s\" cannot be cast automatically to type %s" msgstr "Vorgabewert der Spalte »%s« kann nicht automatisch in Typ %s umgewandelt werden" -#: commands/tablecmds.c:13409 +#: commands/tablecmds.c:13508 #, c-format msgid "cannot alter type of a column used by a function or procedure" msgstr "Typ einer Spalte, die von einer Funktion oder Prozedur verwendet wird, kann nicht geändert werden" -#: commands/tablecmds.c:13410 commands/tablecmds.c:13425 -#: commands/tablecmds.c:13445 commands/tablecmds.c:13464 -#: commands/tablecmds.c:13523 +#: commands/tablecmds.c:13509 commands/tablecmds.c:13524 +#: commands/tablecmds.c:13544 commands/tablecmds.c:13563 +#: commands/tablecmds.c:13622 #, c-format msgid "%s depends on column \"%s\"" msgstr "%s hängt von Spalte »%s« ab" -#: commands/tablecmds.c:13424 +#: commands/tablecmds.c:13523 #, c-format msgid "cannot alter type of a column used by a view or rule" msgstr "Typ einer Spalte, die von einer Sicht oder Regel verwendet wird, kann nicht geändert werden" -#: commands/tablecmds.c:13444 +#: commands/tablecmds.c:13543 #, c-format msgid "cannot alter type of a column used in a trigger definition" msgstr "Typ einer Spalte, die in einer Trigger-Definition verwendet wird, kann nicht geändert werden" -#: commands/tablecmds.c:13463 +#: commands/tablecmds.c:13562 #, c-format msgid "cannot alter type of a column used in a policy definition" msgstr "Typ einer Spalte, die in einer Policy-Definition verwendet wird, kann nicht geändert werden" -#: commands/tablecmds.c:13494 +#: commands/tablecmds.c:13593 #, c-format msgid "cannot alter type of a column used by a generated column" msgstr "Typ einer Spalte, die von einer generierten Spalte verwendet wird, kann nicht geändert werden" -#: commands/tablecmds.c:13495 +#: commands/tablecmds.c:13594 #, c-format msgid "Column \"%s\" is used by generated column \"%s\"." msgstr "Spalte »%s« wird von generierter Spalte »%s« verwendet." -#: commands/tablecmds.c:13522 +#: commands/tablecmds.c:13621 #, c-format msgid "cannot alter type of a column used by a publication WHERE clause" msgstr "Typ einer Spalte, die in der WHERE-Klausel einer Publikation verwendet wird, kann nicht geändert werden" -#: commands/tablecmds.c:14357 commands/tablecmds.c:14369 +#: commands/tablecmds.c:14456 commands/tablecmds.c:14468 #, c-format msgid "cannot change owner of index \"%s\"" msgstr "kann Eigentümer des Index »%s« nicht ändern" -#: commands/tablecmds.c:14359 commands/tablecmds.c:14371 +#: commands/tablecmds.c:14458 commands/tablecmds.c:14470 #, c-format msgid "Change the ownership of the index's table instead." msgstr "Ändern Sie stattdessen den Eigentümer der Tabelle des Index." -#: commands/tablecmds.c:14385 +#: commands/tablecmds.c:14484 #, c-format msgid "cannot change owner of sequence \"%s\"" msgstr "kann Eigentümer der Sequenz »%s« nicht ändern" -#: commands/tablecmds.c:14410 +#: commands/tablecmds.c:14509 #, c-format msgid "cannot change owner of relation \"%s\"" msgstr "kann Eigentümer der Relation »%s« nicht ändern" -#: commands/tablecmds.c:14877 +#: commands/tablecmds.c:14976 #, c-format msgid "cannot have multiple SET TABLESPACE subcommands" msgstr "mehrere SET TABLESPACE Unterbefehle sind ungültig" -#: commands/tablecmds.c:14954 +#: commands/tablecmds.c:15053 #, c-format msgid "cannot set options for relation \"%s\"" msgstr "für Relation »%s« können keine Optionen gesetzt werden" -#: commands/tablecmds.c:14988 commands/view.c:440 +#: commands/tablecmds.c:15087 commands/view.c:440 #, c-format msgid "WITH CHECK OPTION is supported only on automatically updatable views" msgstr "WITH CHECK OPTION wird nur für automatisch aktualisierbare Sichten unterstützt" -#: commands/tablecmds.c:15238 +#: commands/tablecmds.c:15338 #, c-format msgid "only tables, indexes, and materialized views exist in tablespaces" msgstr "nur Tabellen, Indexe und materialisierte Sichten existieren in Tablespaces" -#: commands/tablecmds.c:15250 +#: commands/tablecmds.c:15350 #, c-format msgid "cannot move relations in to or out of pg_global tablespace" msgstr "Relationen können nicht in den oder aus dem Tablespace »pg_global« verschoben werden" -#: commands/tablecmds.c:15342 +#: commands/tablecmds.c:15442 #, c-format msgid "aborting because lock on relation \"%s.%s\" is not available" msgstr "Abbruch weil Sperre für Relation »%s.%s« nicht verfügbar ist" -#: commands/tablecmds.c:15358 +#: commands/tablecmds.c:15458 #, c-format msgid "no matching relations in tablespace \"%s\" found" msgstr "keine passenden Relationen in Tablespace »%s« gefunden" -#: commands/tablecmds.c:15480 +#: commands/tablecmds.c:15580 #, c-format msgid "cannot change inheritance of typed table" msgstr "Vererbung einer getypten Tabelle kann nicht geändert werden" -#: commands/tablecmds.c:15485 commands/tablecmds.c:15985 +#: commands/tablecmds.c:15585 commands/tablecmds.c:16085 #, c-format msgid "cannot change inheritance of a partition" msgstr "Vererbung einer Partition kann nicht geändert werden" -#: commands/tablecmds.c:15490 +#: commands/tablecmds.c:15590 #, c-format msgid "cannot change inheritance of partitioned table" msgstr "Vererbung einer partitionierten Tabelle kann nicht geändert werden" -#: commands/tablecmds.c:15536 +#: commands/tablecmds.c:15636 #, c-format msgid "cannot inherit to temporary relation of another session" msgstr "an temporäre Relation einer anderen Sitzung kann nicht vererbt werden" -#: commands/tablecmds.c:15549 +#: commands/tablecmds.c:15649 #, c-format msgid "cannot inherit from a partition" msgstr "von einer Partition kann nicht geerbt werden" -#: commands/tablecmds.c:15571 commands/tablecmds.c:18453 +#: commands/tablecmds.c:15671 commands/tablecmds.c:18529 #, c-format msgid "circular inheritance not allowed" msgstr "zirkuläre Vererbung ist nicht erlaubt" -#: commands/tablecmds.c:15572 commands/tablecmds.c:18454 +#: commands/tablecmds.c:15672 commands/tablecmds.c:18530 #, c-format msgid "\"%s\" is already a child of \"%s\"." msgstr "»%s« ist schon von »%s« abgeleitet." -#: commands/tablecmds.c:15585 +#: commands/tablecmds.c:15685 #, c-format msgid "trigger \"%s\" prevents table \"%s\" from becoming an inheritance child" msgstr "Trigger »%s« verhindert, dass Tabelle »%s« ein Vererbungskind werden kann" -#: commands/tablecmds.c:15587 +#: commands/tablecmds.c:15687 #, c-format msgid "ROW triggers with transition tables are not supported in inheritance hierarchies." msgstr "ROW-Trigger mit Übergangstabellen werden in Vererbungshierarchien nicht unterstützt." -#: commands/tablecmds.c:15776 +#: commands/tablecmds.c:15876 #, c-format msgid "column \"%s\" in child table must be marked NOT NULL" msgstr "Spalte »%s« in abgeleiteter Tabelle muss als NOT NULL markiert sein" -#: commands/tablecmds.c:15785 +#: commands/tablecmds.c:15885 #, c-format msgid "column \"%s\" in child table must be a generated column" msgstr "Spalte »%s« in abgeleiteter Tabelle muss eine generierte Spalte sein" -#: commands/tablecmds.c:15789 +#: commands/tablecmds.c:15889 #, c-format msgid "column \"%s\" in child table must not be a generated column" msgstr "Spalte »%s« in abgeleiteter Tabelle darf keine generierte Spalte sein" -#: commands/tablecmds.c:15827 +#: commands/tablecmds.c:15927 #, c-format msgid "child table is missing column \"%s\"" msgstr "Spalte »%s« fehlt in abgeleiteter Tabelle" -#: commands/tablecmds.c:15908 +#: commands/tablecmds.c:16008 #, c-format msgid "child table \"%s\" has different definition for check constraint \"%s\"" msgstr "abgeleitete Tabelle »%s« hat unterschiedliche Definition für Check-Constraint »%s«" -#: commands/tablecmds.c:15915 +#: commands/tablecmds.c:16015 #, c-format msgid "constraint \"%s\" conflicts with non-inherited constraint on child table \"%s\"" msgstr "Constraint »%s« kollidiert mit nicht vererbtem Constraint für abgeleitete Tabelle »%s«" -#: commands/tablecmds.c:15925 +#: commands/tablecmds.c:16025 #, c-format msgid "constraint \"%s\" conflicts with NOT VALID constraint on child table \"%s\"" msgstr "Constraint »%s« kollidiert mit NOT-VALID-Constraint für abgeleitete Tabelle »%s«" -#: commands/tablecmds.c:15963 +#: commands/tablecmds.c:16063 #, c-format msgid "child table is missing constraint \"%s\"" msgstr "Constraint »%s« fehlt in abgeleiteter Tabelle" -#: commands/tablecmds.c:16049 +#: commands/tablecmds.c:16149 #, c-format msgid "partition \"%s\" already pending detach in partitioned table \"%s.%s\"" msgstr "Partition »%s« hat schon eine unerledigte Abtrennoperation in der partitionierten Tabelle »%s.%s«" -#: commands/tablecmds.c:16078 commands/tablecmds.c:16124 -#: parser/parse_utilcmd.c:3261 +#: commands/tablecmds.c:16178 commands/tablecmds.c:16224 #, c-format msgid "relation \"%s\" is not a partition of relation \"%s\"" msgstr "Relation »%s« ist keine Partition von Relation »%s«" -#: commands/tablecmds.c:16130 +#: commands/tablecmds.c:16230 #, c-format msgid "relation \"%s\" is not a parent of relation \"%s\"" msgstr "Relation »%s« ist keine Basisrelation von Relation »%s«" -#: commands/tablecmds.c:16357 +#: commands/tablecmds.c:16457 #, c-format msgid "typed tables cannot inherit" msgstr "getypte Tabellen können nicht erben" -#: commands/tablecmds.c:16387 +#: commands/tablecmds.c:16487 #, c-format msgid "table is missing column \"%s\"" msgstr "Spalte »%s« fehlt in Tabelle" -#: commands/tablecmds.c:16398 +#: commands/tablecmds.c:16498 #, c-format msgid "table has column \"%s\" where type requires \"%s\"" msgstr "Tabelle hat Spalte »%s«, aber Typ benötigt »%s«" -#: commands/tablecmds.c:16407 +#: commands/tablecmds.c:16507 #, c-format msgid "table \"%s\" has different type for column \"%s\"" msgstr "Tabelle »%s« hat unterschiedlichen Typ für Spalte »%s«" -#: commands/tablecmds.c:16421 +#: commands/tablecmds.c:16521 #, c-format msgid "table has extra column \"%s\"" msgstr "Tabelle hat zusätzliche Spalte »%s«" -#: commands/tablecmds.c:16473 +#: commands/tablecmds.c:16573 #, c-format msgid "\"%s\" is not a typed table" msgstr "»%s« ist keine getypte Tabelle" -#: commands/tablecmds.c:16647 +#: commands/tablecmds.c:16747 #, c-format msgid "cannot use non-unique index \"%s\" as replica identity" msgstr "nicht eindeutiger Index »%s« kann nicht als Replik-Identität verwendet werden" -#: commands/tablecmds.c:16653 +#: commands/tablecmds.c:16753 #, c-format msgid "cannot use non-immediate index \"%s\" as replica identity" msgstr "Index »%s« kann nicht als Replik-Identität verwendet werden, weil er nicht IMMEDIATE ist" -#: commands/tablecmds.c:16659 +#: commands/tablecmds.c:16759 #, c-format msgid "cannot use expression index \"%s\" as replica identity" msgstr "Ausdrucksindex »%s« kann nicht als Replik-Identität verwendet werden" -#: commands/tablecmds.c:16665 +#: commands/tablecmds.c:16765 #, c-format msgid "cannot use partial index \"%s\" as replica identity" msgstr "partieller Index »%s« kann nicht als Replik-Identität verwendet werden" -#: commands/tablecmds.c:16682 +#: commands/tablecmds.c:16782 #, c-format msgid "index \"%s\" cannot be used as replica identity because column %d is a system column" msgstr "Index »%s« kann nicht als Replik-Identität verwendet werden, weil Spalte %d eine Systemspalte ist" -#: commands/tablecmds.c:16689 +#: commands/tablecmds.c:16789 #, c-format msgid "index \"%s\" cannot be used as replica identity because column \"%s\" is nullable" msgstr "Index »%s« kann nicht als Replik-Identität verwendet werden, weil Spalte »%s« NULL-Werte akzeptiert" -#: commands/tablecmds.c:16941 +#: commands/tablecmds.c:17041 #, c-format msgid "cannot change logged status of table \"%s\" because it is temporary" msgstr "kann den geloggten Status der Tabelle »%s« nicht ändern, weil sie temporär ist" -#: commands/tablecmds.c:16965 +#: commands/tablecmds.c:17065 #, c-format msgid "cannot change table \"%s\" to unlogged because it is part of a publication" msgstr "kann Tabelle »%s« nicht in ungeloggt ändern, weil sie Teil einer Publikation ist" -#: commands/tablecmds.c:16967 +#: commands/tablecmds.c:17067 #, c-format msgid "Unlogged relations cannot be replicated." msgstr "Ungeloggte Relationen können nicht repliziert werden." -#: commands/tablecmds.c:17012 +#: commands/tablecmds.c:17112 #, c-format msgid "could not change table \"%s\" to logged because it references unlogged table \"%s\"" msgstr "konnte Tabelle »%s« nicht in geloggt ändern, weil sie auf die ungeloggte Tabelle »%s« verweist" -#: commands/tablecmds.c:17022 +#: commands/tablecmds.c:17122 #, c-format msgid "could not change table \"%s\" to unlogged because it references logged table \"%s\"" msgstr "konnte Tabelle »%s« nicht in ungeloggt ändern, weil sie auf die geloggte Tabelle »%s« verweist" -#: commands/tablecmds.c:17080 +#: commands/tablecmds.c:17180 #, c-format msgid "cannot move an owned sequence into another schema" msgstr "einer Tabelle zugeordnete Sequenz kann nicht in ein anderes Schema verschoben werden" -#: commands/tablecmds.c:17185 +#: commands/tablecmds.c:17288 #, c-format msgid "relation \"%s\" already exists in schema \"%s\"" msgstr "Relation »%s« existiert bereits in Schema »%s«" -#: commands/tablecmds.c:17606 +#: commands/tablecmds.c:17713 #, c-format msgid "\"%s\" is not a table or materialized view" msgstr "»%s« ist keine Tabelle oder materialisierte Sicht" -#: commands/tablecmds.c:17759 +#: commands/tablecmds.c:17866 #, c-format msgid "\"%s\" is not a composite type" msgstr "»%s« ist kein zusammengesetzter Typ" -#: commands/tablecmds.c:17789 +#: commands/tablecmds.c:17896 #, c-format msgid "cannot change schema of index \"%s\"" msgstr "kann Schema des Index »%s« nicht ändern" -#: commands/tablecmds.c:17791 commands/tablecmds.c:17805 +#: commands/tablecmds.c:17898 commands/tablecmds.c:17912 #, c-format msgid "Change the schema of the table instead." msgstr "Ändern Sie stattdessen das Schema der Tabelle." -#: commands/tablecmds.c:17795 +#: commands/tablecmds.c:17902 #, c-format msgid "cannot change schema of composite type \"%s\"" msgstr "kann Schema des zusammengesetzten Typs »%s« nicht ändern" -#: commands/tablecmds.c:17803 +#: commands/tablecmds.c:17910 #, c-format msgid "cannot change schema of TOAST table \"%s\"" msgstr "kann Schema der TOAST-Tabelle »%s« nicht ändern" -#: commands/tablecmds.c:17835 +#: commands/tablecmds.c:17942 #, c-format msgid "cannot use \"list\" partition strategy with more than one column" msgstr "Partitionierungsstrategie »list« kann nicht mit mehr als einer Spalte verwendet werden" -#: commands/tablecmds.c:17901 +#: commands/tablecmds.c:18008 #, c-format msgid "column \"%s\" named in partition key does not exist" msgstr "Spalte »%s«, die im Partitionierungsschlüssel verwendet wird, existiert nicht" -#: commands/tablecmds.c:17909 +#: commands/tablecmds.c:18016 #, c-format msgid "cannot use system column \"%s\" in partition key" msgstr "Systemspalte »%s« kann nicht im Partitionierungsschlüssel verwendet werden" -#: commands/tablecmds.c:17920 commands/tablecmds.c:18010 +#: commands/tablecmds.c:18027 commands/tablecmds.c:18117 #, c-format msgid "cannot use generated column in partition key" msgstr "generierte Spalte kann nicht im Partitionierungsschlüssel verwendet werden" -#: commands/tablecmds.c:17921 commands/tablecmds.c:18011 commands/trigger.c:656 -#: rewrite/rewriteHandler.c:934 rewrite/rewriteHandler.c:969 -#, c-format -msgid "Column \"%s\" is a generated column." -msgstr "Spalte »%s« ist eine generierte Spalte." - -#: commands/tablecmds.c:17993 +#: commands/tablecmds.c:18100 #, c-format msgid "partition key expressions cannot contain system column references" msgstr "Partitionierungsschlüsselausdruck kann nicht auf Systemspalten verweisen" -#: commands/tablecmds.c:18040 +#: commands/tablecmds.c:18147 #, c-format msgid "functions in partition key expression must be marked IMMUTABLE" msgstr "Funktionen im Partitionierungsschlüsselausdruck müssen als IMMUTABLE markiert sein" -#: commands/tablecmds.c:18049 +#: commands/tablecmds.c:18156 #, c-format msgid "cannot use constant expression as partition key" msgstr "Partitionierungsschlüssel kann kein konstanter Ausdruck sein" -#: commands/tablecmds.c:18070 +#: commands/tablecmds.c:18177 #, c-format msgid "could not determine which collation to use for partition expression" msgstr "konnte die für den Partitionierungsausdruck zu verwendende Sortierfolge nicht bestimmen" -#: commands/tablecmds.c:18105 +#: commands/tablecmds.c:18212 #, c-format msgid "You must specify a hash operator class or define a default hash operator class for the data type." msgstr "Sie müssen eine hash-Operatorklasse angeben oder eine hash-Standardoperatorklasse für den Datentyp definieren." -#: commands/tablecmds.c:18111 +#: commands/tablecmds.c:18218 #, c-format msgid "You must specify a btree operator class or define a default btree operator class for the data type." msgstr "Sie müssen eine btree-Operatorklasse angeben oder eine btree-Standardoperatorklasse für den Datentyp definieren." -#: commands/tablecmds.c:18393 +#: commands/tablecmds.c:18469 #, c-format msgid "\"%s\" is already a partition" msgstr "»%s« ist bereits eine Partition" -#: commands/tablecmds.c:18399 +#: commands/tablecmds.c:18475 #, c-format msgid "cannot attach a typed table as partition" msgstr "eine getypte Tabelle kann nicht als Partition angefügt werden" -#: commands/tablecmds.c:18415 +#: commands/tablecmds.c:18491 #, c-format msgid "cannot attach inheritance child as partition" msgstr "ein Vererbungskind kann nicht als Partition angefügt werden" -#: commands/tablecmds.c:18429 +#: commands/tablecmds.c:18505 #, c-format msgid "cannot attach inheritance parent as partition" msgstr "eine Tabelle mit abgeleiteten Tabellen kann nicht als Partition angefügt werden" -#: commands/tablecmds.c:18463 +#: commands/tablecmds.c:18539 #, c-format msgid "cannot attach a temporary relation as partition of permanent relation \"%s\"" msgstr "eine temporäre Relation kann nicht als Partition an permanente Relation »%s« angefügt werden" -#: commands/tablecmds.c:18471 +#: commands/tablecmds.c:18547 #, c-format msgid "cannot attach a permanent relation as partition of temporary relation \"%s\"" msgstr "eine permanente Relation kann nicht als Partition an temporäre Relation »%s« angefügt werden" -#: commands/tablecmds.c:18479 +#: commands/tablecmds.c:18555 #, c-format msgid "cannot attach as partition of temporary relation of another session" msgstr "kann nicht als Partition an temporäre Relation einer anderen Sitzung anfügen" -#: commands/tablecmds.c:18486 +#: commands/tablecmds.c:18562 #, c-format msgid "cannot attach temporary relation of another session as partition" msgstr "temporäre Relation einer anderen Sitzung kann nicht als Partition angefügt werden" -#: commands/tablecmds.c:18506 -#, fuzzy, c-format -#| msgid "table \"%s\" has different type for column \"%s\"" +#: commands/tablecmds.c:18582 +#, c-format msgid "table \"%s\" being attached contains an identity column \"%s\"" -msgstr "Tabelle »%s« hat unterschiedlichen Typ für Spalte »%s«" +msgstr "anzufügende Tabelle »%s« enthält eine Identitätsspalte »%s«" -#: commands/tablecmds.c:18508 -#, fuzzy, c-format -#| msgid "The new partition may contain only the columns present in parent." +#: commands/tablecmds.c:18584 +#, c-format msgid "The new partition may not contain an identity column." -msgstr "Die neue Partition darf nur Spalten enthalten, die auch die Elterntabelle hat." +msgstr "Die neue Partition darf keine Identitätsspalte enthalten." -#: commands/tablecmds.c:18516 +#: commands/tablecmds.c:18592 #, c-format msgid "table \"%s\" contains column \"%s\" not found in parent \"%s\"" msgstr "Tabelle »%s« enthält Spalte »%s«, die nicht in der Elterntabelle »%s« gefunden wurde" -#: commands/tablecmds.c:18519 +#: commands/tablecmds.c:18595 #, c-format msgid "The new partition may contain only the columns present in parent." msgstr "Die neue Partition darf nur Spalten enthalten, die auch die Elterntabelle hat." -#: commands/tablecmds.c:18531 +#: commands/tablecmds.c:18607 #, c-format msgid "trigger \"%s\" prevents table \"%s\" from becoming a partition" msgstr "Trigger »%s« verhindert, dass Tabelle »%s« eine Partition werden kann" -#: commands/tablecmds.c:18533 +#: commands/tablecmds.c:18609 #, c-format msgid "ROW triggers with transition tables are not supported on partitions." msgstr "ROW-Trigger mit Übergangstabellen werden für Partitionen nicht unterstützt." -#: commands/tablecmds.c:18694 +#: commands/tablecmds.c:18785 #, c-format msgid "cannot attach foreign table \"%s\" as partition of partitioned table \"%s\"" msgstr "kann Fremdtabelle »%s« nicht als Partition an partitionierte Tabelle »%s« anfügen" -#: commands/tablecmds.c:18697 +#: commands/tablecmds.c:18788 #, c-format msgid "Partitioned table \"%s\" contains unique indexes." msgstr "Partitionierte Tabelle »%s« enthält Unique-Indexe." -#: commands/tablecmds.c:19019 +#: commands/tablecmds.c:19110 #, c-format msgid "cannot detach partitions concurrently when a default partition exists" msgstr "nebenläufiges Abtrennen einer Partition ist nicht möglich, wenn eine Standardpartition existiert" -#: commands/tablecmds.c:19128 +#: commands/tablecmds.c:19219 #, c-format msgid "partitioned table \"%s\" was removed concurrently" msgstr "partitionierte Tabelle »%s« wurde nebenläufig entfernt" -#: commands/tablecmds.c:19134 +#: commands/tablecmds.c:19225 #, c-format msgid "partition \"%s\" was removed concurrently" msgstr "Partition »%s« wurde nebenläufig entfernt" -#: commands/tablecmds.c:19661 commands/tablecmds.c:19681 -#: commands/tablecmds.c:19702 commands/tablecmds.c:19721 -#: commands/tablecmds.c:19763 +#: commands/tablecmds.c:19817 commands/tablecmds.c:19837 +#: commands/tablecmds.c:19858 commands/tablecmds.c:19877 +#: commands/tablecmds.c:19919 #, c-format msgid "cannot attach index \"%s\" as a partition of index \"%s\"" msgstr "kann Index »%s« nicht als Partition an Index »%s« anfügen" -#: commands/tablecmds.c:19664 +#: commands/tablecmds.c:19820 #, c-format msgid "Index \"%s\" is already attached to another index." msgstr "Index »%s« ist bereits an einen anderen Index angefügt." -#: commands/tablecmds.c:19684 +#: commands/tablecmds.c:19840 #, c-format msgid "Index \"%s\" is not an index on any partition of table \"%s\"." msgstr "Index »%s« ist kein Index irgendeiner Partition von Tabelle »%s«." -#: commands/tablecmds.c:19705 +#: commands/tablecmds.c:19861 #, c-format msgid "The index definitions do not match." msgstr "Die Indexdefinitionen stimmen nicht überein." -#: commands/tablecmds.c:19724 +#: commands/tablecmds.c:19880 #, c-format msgid "The index \"%s\" belongs to a constraint in table \"%s\" but no constraint exists for index \"%s\"." msgstr "Der Index »%s« gehört zu einem Constraint in Tabelle »%s«, aber kein Constraint existiert für Index »%s«." -#: commands/tablecmds.c:19766 +#: commands/tablecmds.c:19922 #, c-format msgid "Another index is already attached for partition \"%s\"." msgstr "Ein anderer Index ist bereits für Partition »%s« angefügt." -#: commands/tablecmds.c:20002 +#: commands/tablecmds.c:20158 #, c-format msgid "column data type %s does not support compression" msgstr "Spaltendatentyp %s unterstützt keine Komprimierung" -#: commands/tablecmds.c:20009 +#: commands/tablecmds.c:20165 #, c-format msgid "invalid compression method \"%s\"" msgstr "ungültige Komprimierungsmethode »%s«" -#: commands/tablecmds.c:20035 +#: commands/tablecmds.c:20191 #, c-format msgid "invalid storage type \"%s\"" msgstr "ungültiger Storage-Typ »%s«" -#: commands/tablecmds.c:20045 +#: commands/tablecmds.c:20201 #, c-format msgid "column data type %s can only have storage PLAIN" msgstr "Spaltendatentyp %s kann nur Storage-Typ PLAIN" -#: commands/tablecmds.c:20242 -#, fuzzy, c-format -#| msgid "cannot inherit from a partition" -msgid "can not find partition for split partition row" -msgstr "von einer Partition kann nicht geerbt werden" - -#: commands/tablecmds.c:20328 -#, fuzzy, c-format -#| msgid "cannot attach as partition of temporary relation of another session" -msgid "cannot create as partition of temporary relation of another session" -msgstr "kann nicht als Partition an temporäre Relation einer anderen Sitzung anfügen" - -#: commands/tablecmds.c:20399 -#, c-format -msgid "cannot create a permanent relation as partition of temporary relation \"%s\"" -msgstr "eine permanente Relation kann nicht als Partition der temporären Relation »%s« erzeugt werden" - #: commands/tablespace.c:193 commands/tablespace.c:644 #, c-format msgid "\"%s\" exists but is not a directory" @@ -12357,31 +12267,25 @@ msgstr "Verschieben einer Zeile in eine andere Partition durch einen BEFORE-FOR- msgid "Before executing trigger \"%s\", the row was to be in partition \"%s.%s\"." msgstr "Vor der Ausführung von Trigger »%s« gehörte die Zeile in Partition »%s.%s«." -#: commands/trigger.c:3340 executor/nodeModifyTable.c:2363 -#: executor/nodeModifyTable.c:2446 -#, c-format -msgid "tuple to be updated was already modified by an operation triggered by the current command" -msgstr "das zu aktualisierende Tupel wurde schon durch eine vom aktuellen Befehl ausgelöste Operation verändert" - -#: commands/trigger.c:3341 executor/nodeModifyTable.c:1532 -#: executor/nodeModifyTable.c:1606 executor/nodeModifyTable.c:2364 -#: executor/nodeModifyTable.c:2447 executor/nodeModifyTable.c:3075 -#: executor/nodeModifyTable.c:3236 +#: 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 #, 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." #: commands/trigger.c:3382 executor/nodeLockRows.c:228 -#: executor/nodeLockRows.c:237 executor/nodeModifyTable.c:305 -#: executor/nodeModifyTable.c:1548 executor/nodeModifyTable.c:2381 -#: executor/nodeModifyTable.c:2589 +#: executor/nodeLockRows.c:237 executor/nodeModifyTable.c:314 +#: executor/nodeModifyTable.c:1557 executor/nodeModifyTable.c:2394 +#: executor/nodeModifyTable.c:2618 #, c-format msgid "could not serialize access due to concurrent update" msgstr "konnte Zugriff nicht serialisieren wegen gleichzeitiger Aktualisierung" -#: commands/trigger.c:3390 executor/nodeModifyTable.c:1638 -#: executor/nodeModifyTable.c:2464 executor/nodeModifyTable.c:2613 -#: executor/nodeModifyTable.c:3093 +#: commands/trigger.c:3390 executor/nodeModifyTable.c:1647 +#: executor/nodeModifyTable.c:2485 executor/nodeModifyTable.c:2642 +#: executor/nodeModifyTable.c:3150 #, c-format msgid "could not serialize access due to concurrent delete" msgstr "konnte Zugriff nicht serialisieren wegen gleichzeitigem Löschen" @@ -12864,8 +12768,8 @@ msgstr "Nur Rollen mit dem %s-Attribut können Rollen erzeugen." msgid "Only roles with the %s attribute may create roles with the %s attribute." msgstr "Nur Rollen mit dem %s-Attribut können Rollen mit dem %s-Attribut erzeugen." -#: commands/user.c:354 commands/user.c:1386 commands/user.c:1393 gram.y:17355 -#: gram.y:17401 utils/adt/acl.c:5574 utils/adt/acl.c:5580 +#: commands/user.c:354 commands/user.c:1386 commands/user.c:1393 gram.y:17310 +#: gram.y:17356 utils/adt/acl.c:5574 utils/adt/acl.c:5580 #, c-format msgid "role name \"%s\" is reserved" msgstr "Rollenname »%s« ist reserviert" @@ -13027,7 +12931,7 @@ msgstr "Nur Rollen mit dem %s-Attribut und der %s-Option für Rolle »%s« könn msgid "MD5 password cleared because of role rename" msgstr "MD5-Passwort wegen Rollenumbenennung gelöscht" -#: commands/user.c:1518 gram.y:1297 +#: commands/user.c:1518 gram.y:1294 #, c-format msgid "unrecognized role option \"%s\"" msgstr "unbekannte Rollenoption »%s«" @@ -13281,32 +13185,32 @@ msgstr "" 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:1890 +#: commands/vacuum.c:1900 #, 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:1891 +#: commands/vacuum.c:1901 #, 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:2070 +#: commands/vacuum.c:2080 #, 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:2502 +#: commands/vacuum.c:2512 #, c-format msgid "scanned index \"%s\" to remove %lld row versions" msgstr "Index »%s« gelesen und %lld Zeilenversionen entfernt" -#: commands/vacuum.c:2521 +#: commands/vacuum.c:2531 #, 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:2525 +#: commands/vacuum.c:2535 #, c-format msgid "" "%.0f index row versions were removed.\n" @@ -13386,7 +13290,7 @@ msgstr "SET TRANSACTION ISOLATION LEVEL muss vor allen Anfragen aufgerufen werde msgid "SET TRANSACTION ISOLATION LEVEL must not be called in a subtransaction" msgstr "SET TRANSACTION ISOLATION LEVEL kann nicht in einer Subtransaktion aufgerufen werden" -#: commands/variable.c:606 storage/lmgr/predicate.c:1680 +#: commands/variable.c:606 storage/lmgr/predicate.c:1685 #, c-format msgid "cannot use serializable mode in a hot standby" msgstr "kann serialisierbaren Modus nicht in einem Hot Standby verwenden" @@ -13422,10 +13326,9 @@ msgid "cannot change \"client_encoding\" during a parallel operation" msgstr "»client_encoding« kann nicht während einer parallelen Operation geändert werden" #: commands/variable.c:863 -#, fuzzy, c-format -#| msgid "permission denied to set session authorization" +#, c-format msgid "permission will be denied to set session authorization \"%s\"" -msgstr "keine Berechtigung, um Sitzungsautorisierung zu setzen" +msgstr "es wird keine Berechtigung gegeben werden, um Sitzungsautorisierung »%s« zu setzen" #: commands/variable.c:868 #, c-format @@ -13558,47 +13461,47 @@ msgstr "Typ von Parameter %d (%s) stimmt nicht mit dem überein, als der Plan vo msgid "no value found for parameter %d" msgstr "kein Wert für Parameter %d gefunden" -#: executor/execExpr.c:641 executor/execExpr.c:648 executor/execExpr.c:654 -#: executor/execExprInterp.c:4741 executor/execExprInterp.c:4758 -#: executor/execExprInterp.c:4857 executor/nodeModifyTable.c:194 -#: executor/nodeModifyTable.c:205 executor/nodeModifyTable.c:222 -#: executor/nodeModifyTable.c:230 +#: executor/execExpr.c:642 executor/execExpr.c:649 executor/execExpr.c:655 +#: executor/execExprInterp.c:4840 executor/execExprInterp.c:4857 +#: executor/execExprInterp.c:4956 executor/nodeModifyTable.c:203 +#: executor/nodeModifyTable.c:214 executor/nodeModifyTable.c:231 +#: executor/nodeModifyTable.c:239 #, c-format msgid "table row type and query-specified row type do not match" msgstr "Zeilentyp der Tabelle und der von der Anfrage angegebene Zeilentyp stimmen nicht überein" -#: executor/execExpr.c:642 executor/nodeModifyTable.c:195 +#: executor/execExpr.c:643 executor/nodeModifyTable.c:204 #, c-format msgid "Query has too many columns." msgstr "Anfrage hat zu viele Spalten." -#: executor/execExpr.c:649 executor/nodeModifyTable.c:223 +#: executor/execExpr.c:650 executor/nodeModifyTable.c:232 #, c-format msgid "Query provides a value for a dropped column at ordinal position %d." msgstr "Anfrage liefert einen Wert für eine gelöschte Spalte auf Position %d." -#: executor/execExpr.c:655 executor/execExprInterp.c:4759 -#: executor/nodeModifyTable.c:206 +#: executor/execExpr.c:656 executor/execExprInterp.c:4858 +#: executor/nodeModifyTable.c:215 #, c-format 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:1103 parser/parse_agg.c:840 +#: executor/execExpr.c:1104 parser/parse_agg.c:838 #, c-format msgid "window function calls cannot be nested" msgstr "Aufrufe von Fensterfunktionen können nicht geschachtelt werden" -#: executor/execExpr.c:1640 +#: executor/execExpr.c:1641 #, c-format msgid "target type is not an array" msgstr "Zieltyp ist kein Array" -#: executor/execExpr.c:1980 +#: executor/execExpr.c:1981 #, c-format msgid "ROW() column has type %s instead of type %s" msgstr "ROW()-Spalte hat Typ %s statt Typ %s" -#: executor/execExpr.c:2642 executor/execSRF.c:718 parser/parse_func.c:138 +#: executor/execExpr.c:2645 executor/execSRF.c:718 parser/parse_func.c:138 #: parser/parse_func.c:655 parser/parse_func.c:1033 #, c-format msgid "cannot pass more than %d argument to a function" @@ -13606,18 +13509,18 @@ msgid_plural "cannot pass more than %d arguments to a function" msgstr[0] "kann nicht mehr als %d Argument an eine Funktion übergeben" msgstr[1] "kann nicht mehr als %d Argumente an eine Funktion übergeben" -#: executor/execExpr.c:2669 executor/execSRF.c:738 executor/functions.c:1067 -#: utils/adt/jsonfuncs.c:4035 utils/fmgr/funcapi.c:89 utils/fmgr/funcapi.c:143 +#: executor/execExpr.c:2672 executor/execSRF.c:738 executor/functions.c:1068 +#: utils/adt/jsonfuncs.c:4054 utils/fmgr/funcapi.c:89 utils/fmgr/funcapi.c:143 #, c-format msgid "set-valued function called in context that cannot accept a set" msgstr "Funktion mit Mengenergebnis in einem Zusammenhang aufgerufen, der keine Mengenergebnisse verarbeiten kann" -#: executor/execExpr.c:3075 parser/parse_node.c:272 parser/parse_node.c:322 +#: executor/execExpr.c:3078 parser/parse_node.c:272 parser/parse_node.c:322 #, c-format msgid "cannot subscript type %s because it does not support subscripting" msgstr "kann aus Typ %s kein Element auswählen, weil er Subscripting nicht unterstützt" -#: executor/execExpr.c:3203 executor/execExpr.c:3225 +#: executor/execExpr.c:3206 executor/execExpr.c:3228 #, c-format msgid "type %s does not support subscripted assignment" msgstr "Typ %s unterstützt Wertzuweisungen in Elemente nicht" @@ -13662,8 +13565,8 @@ msgid "Array with element type %s cannot be included in ARRAY construct with ele msgstr "Arrayelement mit Typ %s kann nicht in ARRAY-Konstrukt mit Elementtyp %s verwendet werden." #: executor/execExprInterp.c:2933 utils/adt/arrayfuncs.c:1305 -#: utils/adt/arrayfuncs.c:3496 utils/adt/arrayfuncs.c:5586 -#: utils/adt/arrayfuncs.c:6103 utils/adt/arraysubs.c:150 +#: utils/adt/arrayfuncs.c:3503 utils/adt/arrayfuncs.c:5593 +#: utils/adt/arrayfuncs.c:6110 utils/adt/arraysubs.c:150 #: utils/adt/arraysubs.c:488 #, c-format msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)" @@ -13679,11 +13582,12 @@ msgstr "mehrdimensionale Arrays müssen Arraysausdrücke mit gleicher Anzahl Dim #: utils/adt/arrayfuncs.c:727 utils/adt/arrayfuncs.c:1533 #: utils/adt/arrayfuncs.c:2341 utils/adt/arrayfuncs.c:2356 #: utils/adt/arrayfuncs.c:2618 utils/adt/arrayfuncs.c:2634 -#: utils/adt/arrayfuncs.c:2942 utils/adt/arrayfuncs.c:2957 -#: utils/adt/arrayfuncs.c:3298 utils/adt/arrayfuncs.c:3526 -#: utils/adt/arrayfuncs.c:5358 utils/adt/arrayfuncs.c:6195 -#: utils/adt/arrayfuncs.c:6539 utils/adt/arrayutils.c:83 -#: utils/adt/arrayutils.c:92 utils/adt/arrayutils.c:99 +#: utils/adt/arrayfuncs.c:2895 utils/adt/arrayfuncs.c:2949 +#: utils/adt/arrayfuncs.c:2964 utils/adt/arrayfuncs.c:3305 +#: utils/adt/arrayfuncs.c:3533 utils/adt/arrayfuncs.c:5365 +#: utils/adt/arrayfuncs.c:6202 utils/adt/arrayfuncs.c:6546 +#: utils/adt/arrayutils.c:83 utils/adt/arrayutils.c:92 +#: utils/adt/arrayutils.c:99 #, c-format msgid "array size exceeds the maximum allowed (%d)" msgstr "Arraygröße überschreitet erlaubtes Maximum (%d)" @@ -13703,24 +13607,30 @@ msgstr "Domäne %s erlaubt keine NULL-Werte" msgid "value for domain %s violates check constraint \"%s\"" msgstr "Wert für Domäne %s verletzt Check-Constraint »%s«" -#: executor/execExprInterp.c:4433 +#: executor/execExprInterp.c:4435 #, c-format msgid "no SQL/JSON item found for specified path of column \"%s\"" -msgstr "" +msgstr "kein SQL/JSON-Item für angegebenen Pfad von Spalte »%s« gefunden" -#: executor/execExprInterp.c:4438 +#: executor/execExprInterp.c:4440 #, c-format msgid "no SQL/JSON item found for specified path" -msgstr "" +msgstr "kein SQL/JSON-Item für angegebenen Pfad gefunden" -#: executor/execExprInterp.c:4742 +#. translator: first %s is a SQL/JSON clause (e.g. ON ERROR) +#: executor/execExprInterp.c:4640 executor/execExprInterp.c:4648 +#, c-format +msgid "could not coerce %s expression (%s) to the RETURNING type" +msgstr "konnte %s-Ausdruck (%s) nicht in RETURNING-Typ umwandeln" + +#: executor/execExprInterp.c:4841 #, c-format msgid "Table row contains %d attribute, but query expects %d." msgid_plural "Table row contains %d attributes, but query expects %d." msgstr[0] "Tabellenzeile enthält %d Attribut, aber Anfrage erwartet %d." msgstr[1] "Tabellenzeile enthält %d Attribute, aber Anfrage erwartet %d." -#: executor/execExprInterp.c:4858 executor/execSRF.c:977 +#: executor/execExprInterp.c:4957 executor/execSRF.c:977 #, c-format msgid "Physical storage mismatch on dropped attribute at ordinal position %d." msgstr "Physischer Speicher stimmt nicht überein mit gelöschtem Attribut auf Position %d." @@ -13760,139 +13670,139 @@ msgstr "Schlüssel %s kollidiert mit vorhandenem Schlüssel %s." msgid "Key conflicts with existing key." msgstr "Der Schlüssel kollidiert mit einem vorhandenen Schlüssel." -#: executor/execMain.c:1041 +#: executor/execMain.c:1047 #, c-format msgid "cannot change sequence \"%s\"" msgstr "kann Sequenz »%s« nicht ändern" -#: executor/execMain.c:1047 +#: executor/execMain.c:1053 #, c-format msgid "cannot change TOAST relation \"%s\"" msgstr "kann TOAST-Relation »%s« nicht ändern" -#: executor/execMain.c:1066 +#: executor/execMain.c:1072 #, c-format msgid "cannot change materialized view \"%s\"" msgstr "kann materialisierte Sicht »%s« nicht ändern" -#: executor/execMain.c:1078 +#: executor/execMain.c:1084 #, c-format msgid "cannot insert into foreign table \"%s\"" msgstr "kann nicht in Fremdtabelle »%s« einfügen" -#: executor/execMain.c:1084 +#: executor/execMain.c:1090 #, c-format msgid "foreign table \"%s\" does not allow inserts" msgstr "Fremdtabelle »%s« erlaubt kein Einfügen" -#: executor/execMain.c:1091 +#: executor/execMain.c:1097 #, c-format msgid "cannot update foreign table \"%s\"" msgstr "kann Fremdtabelle »%s« nicht aktualisieren" -#: executor/execMain.c:1097 +#: executor/execMain.c:1103 #, c-format msgid "foreign table \"%s\" does not allow updates" msgstr "Fremdtabelle »%s« erlaubt kein Aktualisieren" -#: executor/execMain.c:1104 +#: executor/execMain.c:1110 #, c-format msgid "cannot delete from foreign table \"%s\"" msgstr "kann nicht aus Fremdtabelle »%s« löschen" -#: executor/execMain.c:1110 +#: executor/execMain.c:1116 #, c-format msgid "foreign table \"%s\" does not allow deletes" msgstr "Fremdtabelle »%s« erlaubt kein Löschen" -#: executor/execMain.c:1121 +#: executor/execMain.c:1127 #, c-format msgid "cannot change relation \"%s\"" msgstr "kann Relation »%s« nicht ändern" -#: executor/execMain.c:1148 +#: executor/execMain.c:1154 #, c-format msgid "cannot lock rows in sequence \"%s\"" msgstr "kann Zeilen in Sequenz »%s« nicht sperren" -#: executor/execMain.c:1155 +#: executor/execMain.c:1161 #, c-format msgid "cannot lock rows in TOAST relation \"%s\"" msgstr "kann Zeilen in TOAST-Relation »%s« nicht sperren" -#: executor/execMain.c:1162 +#: executor/execMain.c:1168 #, c-format msgid "cannot lock rows in view \"%s\"" msgstr "kann Zeilen in Sicht »%s« nicht sperren" -#: executor/execMain.c:1170 +#: executor/execMain.c:1176 #, c-format msgid "cannot lock rows in materialized view \"%s\"" msgstr "kann Zeilen in materialisierter Sicht »%s« nicht sperren" -#: executor/execMain.c:1179 executor/execMain.c:2684 +#: executor/execMain.c:1185 executor/execMain.c:2692 #: executor/nodeLockRows.c:135 #, c-format msgid "cannot lock rows in foreign table \"%s\"" msgstr "kann Zeilen in Fremdtabelle »%s« nicht sperren" -#: executor/execMain.c:1185 +#: executor/execMain.c:1191 #, c-format msgid "cannot lock rows in relation \"%s\"" msgstr "kann Zeilen in Relation »%s« nicht sperren" -#: executor/execMain.c:1898 +#: executor/execMain.c:1906 #, c-format msgid "new row for relation \"%s\" violates partition constraint" msgstr "neue Zeile für Relation »%s« verletzt Partitions-Constraint" -#: executor/execMain.c:1900 executor/execMain.c:1984 executor/execMain.c:2035 -#: executor/execMain.c:2145 +#: executor/execMain.c:1908 executor/execMain.c:1992 executor/execMain.c:2043 +#: executor/execMain.c:2153 #, c-format msgid "Failing row contains %s." msgstr "Fehlgeschlagene Zeile enthält %s." -#: executor/execMain.c:1981 +#: executor/execMain.c:1989 #, c-format msgid "null value in column \"%s\" of relation \"%s\" violates not-null constraint" msgstr "NULL-Wert in Spalte »%s« von Relation »%s« verletzt Not-Null-Constraint" -#: executor/execMain.c:2033 +#: executor/execMain.c:2041 #, c-format msgid "new row for relation \"%s\" violates check constraint \"%s\"" msgstr "neue Zeile für Relation »%s« verletzt Check-Constraint »%s«" -#: executor/execMain.c:2143 +#: executor/execMain.c:2151 #, c-format msgid "new row violates check option for view \"%s\"" msgstr "neue Zeile verletzt Check-Option für Sicht »%s«" -#: executor/execMain.c:2153 +#: executor/execMain.c:2161 #, c-format msgid "new row violates row-level security policy \"%s\" for table \"%s\"" msgstr "neue Zeile verletzt Policy für Sicherheit auf Zeilenebene »%s« für Tabelle »%s«" -#: executor/execMain.c:2158 +#: executor/execMain.c:2166 #, c-format msgid "new row violates row-level security policy for table \"%s\"" msgstr "neue Zeile verletzt Policy für Sicherheit auf Zeilenebene für Tabelle »%s«" -#: executor/execMain.c:2166 +#: executor/execMain.c:2174 #, c-format msgid "target row violates row-level security policy \"%s\" (USING expression) for table \"%s\"" msgstr "Zielzeile verletzt Policy für Sicherheit auf Zeilenebene »%s« (USING-Ausdruck) für Tabelle »%s«" -#: executor/execMain.c:2171 +#: executor/execMain.c:2179 #, c-format msgid "target row violates row-level security policy (USING expression) for table \"%s\"" msgstr "Zielzeile verletzt Policy für Sicherheit auf Zeilenebene (USING-Ausdruck) für Tabelle »%s«" -#: executor/execMain.c:2178 +#: executor/execMain.c:2186 #, c-format msgid "new row violates row-level security policy \"%s\" (USING expression) for table \"%s\"" msgstr "neue Zeile verletzt Policy für Sicherheit auf Zeilenebene »%s« (USING-Ausdruck) für Tabelle »%s«" -#: executor/execMain.c:2183 +#: executor/execMain.c:2191 #, c-format msgid "new row violates row-level security policy (USING expression) for table \"%s\"" msgstr "neue Zeile verletzt Policy für Sicherheit auf Zeilenebene (USING-Ausdruck) für Tabelle »%s«" @@ -13924,54 +13834,54 @@ msgstr "gleichzeitiges Löschen, versuche erneut" #: executor/execReplication.c:352 parser/parse_cte.c:302 #: parser/parse_oper.c:221 utils/adt/array_userfuncs.c:1334 -#: utils/adt/array_userfuncs.c:1477 utils/adt/arrayfuncs.c:3845 -#: utils/adt/arrayfuncs.c:4400 utils/adt/arrayfuncs.c:6419 +#: utils/adt/array_userfuncs.c:1477 utils/adt/arrayfuncs.c:3852 +#: utils/adt/arrayfuncs.c:4407 utils/adt/arrayfuncs.c:6426 #: utils/adt/rowtypes.c:1220 #, c-format msgid "could not identify an equality operator for type %s" msgstr "konnte keinen Ist-Gleich-Operator für Typ %s ermitteln" -#: executor/execReplication.c:683 executor/execReplication.c:689 +#: executor/execReplication.c:687 executor/execReplication.c:693 #, c-format msgid "cannot update table \"%s\"" msgstr "kann Tabelle »%s« nicht aktualisieren" -#: executor/execReplication.c:685 executor/execReplication.c:697 +#: executor/execReplication.c:689 executor/execReplication.c:701 #, c-format msgid "Column used in the publication WHERE expression is not part of the replica identity." msgstr "Im WHERE-Ausdruck der Publikation verwendete Spalte ist nicht Teil der Replika-Identität." -#: executor/execReplication.c:691 executor/execReplication.c:703 +#: executor/execReplication.c:695 executor/execReplication.c:707 #, c-format msgid "Column list used by the publication does not cover the replica identity." msgstr "Die von der Publikation verwendete Spaltenliste umfasst die Replika-Identität nicht." -#: executor/execReplication.c:695 executor/execReplication.c:701 +#: executor/execReplication.c:699 executor/execReplication.c:705 #, c-format msgid "cannot delete from table \"%s\"" msgstr "kann nicht aus Tabelle »%s« löschen" -#: executor/execReplication.c:721 +#: executor/execReplication.c:725 #, c-format msgid "cannot update table \"%s\" because it does not have a replica identity and publishes updates" msgstr "Tabelle »%s« kann nicht aktualisiert werden, weil sie keine Replik-Identität hat und Updates publiziert" -#: executor/execReplication.c:723 +#: executor/execReplication.c:727 #, c-format msgid "To enable updating the table, set REPLICA IDENTITY using ALTER TABLE." msgstr "Um Aktualisieren der Tabelle zu ermöglichen, setzen Sie REPLICA IDENTITY mit ALTER TABLE." -#: executor/execReplication.c:727 +#: executor/execReplication.c:731 #, c-format msgid "cannot delete from table \"%s\" because it does not have a replica identity and publishes deletes" msgstr "aus Tabelle »%s« kann nicht gelöscht werden, weil sie keine Replik-Identität hat und Deletes publiziert" -#: executor/execReplication.c:729 +#: executor/execReplication.c:733 #, c-format msgid "To enable deleting from the table, set REPLICA IDENTITY using ALTER TABLE." msgstr "Um Löschen in der Tabelle zu ermöglichen, setzen Sie REPLICA IDENTITY mit ALTER TABLE." -#: executor/execReplication.c:745 +#: executor/execReplication.c:749 #, c-format msgid "cannot use relation \"%s.%s\" as logical replication target" msgstr "Relation »%s.%s« kann nicht als Ziel für logische Replikation verwendet werden" @@ -14027,13 +13937,12 @@ msgstr "Systemspalte kann in diesem Kontext nicht ausgelesen werden" #: executor/execTuples.c:163 executor/execTuples.c:580 #, c-format msgid "don't have transaction information for this type of tuple" -msgstr "" +msgstr "dieser Tupeltyp hat keine Transaktionsinformationen" #: executor/execTuples.c:390 executor/execTuples.c:794 -#, fuzzy, c-format -#| msgid "cannot retrieve a system column in this context" +#, c-format msgid "don't have a storage tuple in this context" -msgstr "Systemspalte kann in diesem Kontext nicht ausgelesen werden" +msgstr "in diesem Kontext gibt es kein zu speicherndes Tupel" #: executor/execUtils.c:713 #, c-format @@ -14050,76 +13959,76 @@ msgstr "Verwenden Sie den Befehl REFRESH MATERIALIZED VIEW." msgid "could not determine actual type of argument declared %s" msgstr "konnte tatsächlichen Typ von Argument mit deklarierten Typ %s nicht bestimmen" -#: executor/functions.c:512 +#: executor/functions.c:513 #, c-format msgid "cannot COPY to/from client in an SQL function" msgstr "COPY vom/zum Client funktioniert in einer SQL-Funktion nicht" #. translator: %s is a SQL statement name -#: executor/functions.c:518 +#: executor/functions.c:519 #, c-format msgid "%s is not allowed in an SQL function" msgstr "%s ist in SQL-Funktionen nicht erlaubt" #. translator: %s is a SQL statement name -#: executor/functions.c:526 executor/spi.c:1741 executor/spi.c:2649 +#: executor/functions.c:527 executor/spi.c:1744 executor/spi.c:2657 #, c-format msgid "%s is not allowed in a non-volatile function" msgstr "%s ist in als nicht »volatile« markierten Funktionen nicht erlaubt" -#: executor/functions.c:1451 +#: executor/functions.c:1452 #, c-format msgid "SQL function \"%s\" statement %d" msgstr "SQL-Funktion »%s« Anweisung %d" -#: executor/functions.c:1477 +#: executor/functions.c:1478 #, c-format msgid "SQL function \"%s\" during startup" msgstr "SQL-Funktion »%s« beim Start" -#: executor/functions.c:1562 +#: executor/functions.c:1563 #, c-format msgid "calling procedures with output arguments is not supported in SQL functions" msgstr "Aufruf von Prozeduren mit Ausgabeargumenten wird in SQL-Funktionen nicht unterstützt" -#: executor/functions.c:1697 executor/functions.c:1735 -#: executor/functions.c:1749 executor/functions.c:1844 -#: executor/functions.c:1877 executor/functions.c:1891 +#: executor/functions.c:1698 executor/functions.c:1736 +#: executor/functions.c:1750 executor/functions.c:1845 +#: executor/functions.c:1878 executor/functions.c:1892 #, c-format msgid "return type mismatch in function declared to return %s" msgstr "Rückgabetyp von Funktion stimmt nicht überein; deklariert als %s" -#: executor/functions.c:1699 +#: executor/functions.c:1700 #, c-format msgid "Function's final statement must be SELECT or INSERT/UPDATE/DELETE/MERGE RETURNING." msgstr "Die letzte Anweisung der Funktion muss ein SELECT oder INSERT/UPDATE/DELETE/MERGE RETURNING sein." -#: executor/functions.c:1737 +#: executor/functions.c:1738 #, c-format msgid "Final statement must return exactly one column." msgstr "Die letzte Anweisung muss genau eine Spalte zurückgeben." -#: executor/functions.c:1751 +#: executor/functions.c:1752 #, c-format msgid "Actual return type is %s." msgstr "Eigentlicher Rückgabetyp ist %s." -#: executor/functions.c:1846 +#: executor/functions.c:1847 #, c-format msgid "Final statement returns too many columns." msgstr "Die letzte Anweisung gibt zu viele Spalten zurück." -#: executor/functions.c:1879 +#: executor/functions.c:1880 #, c-format msgid "Final statement returns %s instead of %s at column %d." msgstr "Die letzte Anweisung ergibt %s statt %s in Spalte %d." -#: executor/functions.c:1893 +#: executor/functions.c:1894 #, c-format msgid "Final statement returns too few columns." msgstr "Die letzte Anweisung gibt zu wenige Spalten zurück." -#: executor/functions.c:1921 +#: executor/functions.c:1922 #, c-format msgid "return type %s is not supported for SQL functions" msgstr "Rückgabetyp %s wird von SQL-Funktionen nicht unterstützt" @@ -14129,7 +14038,7 @@ msgstr "Rückgabetyp %s wird von SQL-Funktionen nicht unterstützt" 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:682 parser/parse_agg.c:710 +#: executor/nodeAgg.c:3966 parser/parse_agg.c:680 parser/parse_agg.c:708 #, c-format msgid "aggregate function calls cannot be nested" msgstr "Aufrufe von Aggregatfunktionen können nicht geschachtelt werden" @@ -14139,7 +14048,7 @@ msgstr "Aufrufe von Aggregatfunktionen können nicht geschachtelt werden" msgid "custom scan \"%s\" does not support MarkPos" msgstr "Custom-Scan »%s« unterstützt MarkPos nicht" -#: executor/nodeHashjoin.c:1130 executor/nodeHashjoin.c:1160 +#: executor/nodeHashjoin.c:1131 executor/nodeHashjoin.c:1161 #, c-format msgid "could not rewind hash-join temporary file" msgstr "konnte Position in temporärer Datei für Hash-Verbund nicht auf Anfang setzen" @@ -14159,74 +14068,74 @@ msgstr "OFFSET darf nicht negativ sein" msgid "LIMIT must not be negative" msgstr "LIMIT darf nicht negativ sein" -#: executor/nodeMergejoin.c:1578 +#: executor/nodeMergejoin.c:1579 #, c-format msgid "RIGHT JOIN is only supported with merge-joinable join conditions" msgstr "RIGHT JOIN wird nur für Merge-Verbund-fähige Verbundbedingungen unterstützt" -#: executor/nodeMergejoin.c:1596 +#: executor/nodeMergejoin.c:1597 #, c-format msgid "FULL JOIN is only supported with merge-joinable join conditions" msgstr "FULL JOIN wird nur für Merge-Verbund-fähige Verbundbedingungen unterstützt" -#: executor/nodeModifyTable.c:231 +#: executor/nodeModifyTable.c:240 #, c-format msgid "Query has too few columns." msgstr "Anfrage hat zu wenige Spalten." -#: executor/nodeModifyTable.c:1531 executor/nodeModifyTable.c:1605 +#: executor/nodeModifyTable.c:1540 executor/nodeModifyTable.c:1614 #, c-format msgid "tuple to be deleted was already modified by an operation triggered by the current command" msgstr "das zu löschende Tupel wurde schon durch eine vom aktuellen Befehl ausgelöste Operation verändert" -#: executor/nodeModifyTable.c:1760 +#: executor/nodeModifyTable.c:1769 #, c-format msgid "invalid ON UPDATE specification" msgstr "ungültige ON-UPDATE-Angabe" -#: executor/nodeModifyTable.c:1761 +#: executor/nodeModifyTable.c:1770 #, c-format msgid "The result tuple would appear in a different partition than the original tuple." msgstr "Das Ergebnistupel würde in einer anderen Partition erscheinen als das ursprüngliche Tupel." -#: executor/nodeModifyTable.c:2217 +#: executor/nodeModifyTable.c:2226 #, 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 "Tupel kann nicht zwischen Partitionen bewegt werden, wenn ein Fremdschlüssel direkt auf einen Vorgänger (außer der Wurzel) der Quellpartition verweist" -#: executor/nodeModifyTable.c:2218 +#: executor/nodeModifyTable.c:2227 #, c-format msgid "A foreign key points to ancestor \"%s\" but not the root ancestor \"%s\"." msgstr "Ein Fremdschlüssel verweist auf den Vorgänger »%s«, aber nicht auf den Wurzelvorgänger »%s«." -#: executor/nodeModifyTable.c:2221 +#: executor/nodeModifyTable.c:2230 #, c-format msgid "Consider defining the foreign key on table \"%s\"." msgstr "Definieren Sie den Fremdschlüssel eventuell für Tabelle »%s«." #. translator: %s is a SQL command name -#: executor/nodeModifyTable.c:2567 executor/nodeModifyTable.c:3081 -#: executor/nodeModifyTable.c:3242 +#: executor/nodeModifyTable.c:2596 executor/nodeModifyTable.c:3138 +#: executor/nodeModifyTable.c:3308 #, c-format msgid "%s command cannot affect row a second time" msgstr "Befehl in %s kann eine Zeile nicht ein zweites Mal ändern" -#: executor/nodeModifyTable.c:2569 +#: executor/nodeModifyTable.c:2598 #, c-format 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:3074 executor/nodeModifyTable.c:3235 +#: executor/nodeModifyTable.c:3131 executor/nodeModifyTable.c:3301 #, 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:3083 executor/nodeModifyTable.c:3244 +#: executor/nodeModifyTable.c:3140 executor/nodeModifyTable.c:3310 #, 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:3152 +#: executor/nodeModifyTable.c:3209 #, 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" @@ -14332,49 +14241,49 @@ msgstr "Prüfen Sie, ob Aufrufe von »SPI_finish« fehlen." msgid "subtransaction left non-empty SPI stack" msgstr "Subtransaktion ließ nicht-leeren SPI-Stack zurück" -#: executor/spi.c:1599 +#: executor/spi.c:1602 #, c-format msgid "cannot open multi-query plan as cursor" msgstr "Plan mit mehreren Anfragen kann nicht als Cursor geöffnet werden" #. translator: %s is name of a SQL command, eg INSERT -#: executor/spi.c:1609 +#: executor/spi.c:1612 #, c-format msgid "cannot open %s query as cursor" msgstr "%s kann nicht als Cursor geöffnet werden" -#: executor/spi.c:1715 +#: executor/spi.c:1718 #, c-format msgid "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE is not supported" msgstr "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE wird nicht unterstützt" -#: executor/spi.c:1716 parser/analyze.c:2928 +#: executor/spi.c:1719 parser/analyze.c:2928 #, c-format msgid "Scrollable cursors must be READ ONLY." msgstr "Scrollbare Cursor müssen READ ONLY sein." -#: executor/spi.c:2488 +#: executor/spi.c:2496 #, c-format msgid "empty query does not return tuples" msgstr "leere Anfrage gibt keine Tupel zurück" #. translator: %s is name of a SQL command, eg INSERT -#: executor/spi.c:2562 +#: executor/spi.c:2570 #, c-format msgid "%s query does not return tuples" msgstr "%s-Anfrage gibt keine Tupel zurück" -#: executor/spi.c:2979 +#: executor/spi.c:2987 #, c-format msgid "SQL expression \"%s\"" msgstr "SQL-Ausdruck »%s«" -#: executor/spi.c:2984 +#: executor/spi.c:2992 #, c-format msgid "PL/pgSQL assignment \"%s\"" msgstr "PL/pgSQL-Zuweisung »%s«" -#: executor/spi.c:2987 +#: executor/spi.c:2995 #, c-format msgid "SQL statement \"%s\"" msgstr "SQL-Anweisung »%s«" @@ -14384,414 +14293,420 @@ msgstr "SQL-Anweisung »%s«" msgid "could not send tuple to shared-memory queue" msgstr "konnte Tupel nicht an Shared-Memory-Queue senden" -#: foreign/foreign.c:224 +#: foreign/foreign.c:225 #, c-format msgid "user mapping not found for user \"%s\", server \"%s\"" msgstr "Benutzerabbildung für Benutzer »%s«, Server »%s« nicht gefunden" -#: foreign/foreign.c:650 +#: foreign/foreign.c:336 optimizer/plan/createplan.c:7153 +#: optimizer/util/plancat.c:540 +#, c-format +msgid "access to non-system foreign table is restricted" +msgstr "Zugriff auf Nicht-System-Fremdtabelle ist beschränkt" + +#: foreign/foreign.c:660 #, c-format msgid "invalid option \"%s\"" msgstr "ungültige Option »%s«" -#: foreign/foreign.c:652 +#: foreign/foreign.c:662 #, c-format msgid "Perhaps you meant the option \"%s\"." msgstr "Vielleicht meinten Sie die Option »%s«." -#: foreign/foreign.c:654 +#: foreign/foreign.c:664 #, c-format msgid "There are no valid options in this context." msgstr "Es gibt keine gültigen Optionen in diesem Zusammenhang." -#: gram.y:1234 +#: gram.y:1231 #, c-format msgid "UNENCRYPTED PASSWORD is no longer supported" msgstr "UNENCRYPTED PASSWORD wird nicht mehr unterstützt" -#: gram.y:1235 +#: gram.y:1232 #, c-format msgid "Remove UNENCRYPTED to store the password in encrypted form instead." msgstr "Lassen Sie UNENCRYPTED weg, um das Passwort stattdessen in verschlüsselter Form zu speichern." -#: gram.y:1562 gram.y:1578 +#: gram.y:1559 gram.y:1575 #, c-format msgid "CREATE SCHEMA IF NOT EXISTS cannot include schema elements" msgstr "CREATE SCHEMA IF NOT EXISTS kann keine Schemaelemente enthalten" -#: gram.y:1730 +#: gram.y:1727 #, c-format msgid "current database cannot be changed" msgstr "aktuelle Datenbank kann nicht geändert werden" -#: gram.y:1863 +#: gram.y:1860 #, c-format msgid "time zone interval must be HOUR or HOUR TO MINUTE" msgstr "Zeitzonenintervall muss HOUR oder HOUR TO MINUTE sein" -#: gram.y:2539 +#: gram.y:2487 #, c-format msgid "column number must be in range from 1 to %d" msgstr "Spaltennummer muss im Bereich 1 bis %d sein" -#: gram.y:3135 +#: gram.y:3083 #, c-format msgid "sequence option \"%s\" not supported here" msgstr "Sequenzoption »%s« wird hier nicht unterstützt" -#: gram.y:3174 +#: gram.y:3122 #, c-format msgid "modulus for hash partition provided more than once" msgstr "Modulus für Hashpartition mehrmals angegeben" -#: gram.y:3183 +#: gram.y:3131 #, c-format msgid "remainder for hash partition provided more than once" msgstr "Rest für Hashpartition mehrmals angegeben" -#: gram.y:3190 +#: gram.y:3138 #, c-format msgid "unrecognized hash partition bound specification \"%s\"" msgstr "unbekannte Hashpartitionsbegrenzungsangabe »%s«" -#: gram.y:3198 +#: gram.y:3146 #, c-format msgid "modulus for hash partition must be specified" msgstr "Modulus für Hashpartition muss angegeben werden" -#: gram.y:3202 +#: gram.y:3150 #, c-format msgid "remainder for hash partition must be specified" msgstr "Rest für Hashpartition muss angegeben werden" -#: gram.y:3410 gram.y:3444 +#: gram.y:3358 gram.y:3392 #, c-format msgid "STDIN/STDOUT not allowed with PROGRAM" msgstr "STDIN/STDOUT sind nicht mit PROGRAM erlaubt" -#: gram.y:3416 +#: gram.y:3364 #, c-format msgid "WHERE clause not allowed with COPY TO" msgstr "mit COPY TO ist keine WHERE-Klausel erlaubt" -#: gram.y:3764 gram.y:3771 gram.y:13068 gram.y:13076 +#: gram.y:3712 gram.y:3719 gram.y:13023 gram.y:13031 #, c-format msgid "GLOBAL is deprecated in temporary table creation" msgstr "die Verwendung von GLOBAL beim Erzeugen einer temporären Tabelle ist veraltet" -#: gram.y:4047 +#: gram.y:3995 #, c-format msgid "for a generated column, GENERATED ALWAYS must be specified" msgstr "für eine generierte Spalte muss GENERATED ALWAYS angegeben werden" -#: gram.y:4392 utils/adt/ri_triggers.c:2103 +#: gram.y:4340 utils/adt/ri_triggers.c:2103 #, c-format msgid "MATCH PARTIAL not yet implemented" msgstr "MATCH PARTIAL ist noch nicht implementiert" -#: gram.y:4484 +#: gram.y:4432 #, c-format msgid "a column list with %s is only supported for ON DELETE actions" msgstr "eine Spaltenliste für %s wird nur für ON-DELETE-Aktionen unterstützt" -#: gram.y:5196 +#: gram.y:5151 #, c-format msgid "CREATE EXTENSION ... FROM is no longer supported" msgstr "CREATE EXTENSION ... FROM wird nicht mehr unterstützt" -#: gram.y:5894 +#: gram.y:5849 #, c-format msgid "unrecognized row security option \"%s\"" msgstr "unbekannte Zeilensicherheitsoption »%s«" -#: gram.y:5895 +#: gram.y:5850 #, c-format msgid "Only PERMISSIVE or RESTRICTIVE policies are supported currently." msgstr "Aktuell werden nur PERMISSIVE und RESTRICTIVE unterstützt." -#: gram.y:5980 +#: gram.y:5935 #, c-format msgid "CREATE OR REPLACE CONSTRAINT TRIGGER is not supported" msgstr "CREATE OR REPLACE CONSTRAINT TRIGGER wird nicht unterstützt" -#: gram.y:6017 +#: gram.y:5972 msgid "duplicate trigger events specified" msgstr "mehrere Trigger-Ereignisse angegeben" -#: gram.y:6159 parser/parse_utilcmd.c:3839 parser/parse_utilcmd.c:3865 +#: gram.y:6114 parser/parse_utilcmd.c:3692 parser/parse_utilcmd.c:3718 #, c-format msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE" msgstr "Constraint, der als INITIALLY DEFERRED deklariert wurde, muss DEFERRABLE sein" -#: gram.y:6166 +#: gram.y:6121 #, c-format msgid "conflicting constraint properties" msgstr "widersprüchliche Constraint-Eigentschaften" -#: gram.y:6265 +#: gram.y:6220 #, c-format msgid "CREATE ASSERTION is not yet implemented" msgstr "CREATE ASSERTION ist noch nicht implementiert" -#: gram.y:6582 +#: gram.y:6537 #, c-format msgid "dropping an enum value is not implemented" msgstr "Löschen eines Enum-Werts ist nicht implementiert" -#: gram.y:6700 +#: gram.y:6655 #, c-format msgid "RECHECK is no longer required" msgstr "RECHECK wird nicht mehr benötigt" -#: gram.y:6701 +#: gram.y:6656 #, c-format msgid "Update your data type." msgstr "Aktualisieren Sie Ihren Datentyp." -#: gram.y:8574 +#: gram.y:8529 #, c-format msgid "aggregates cannot have output arguments" msgstr "Aggregatfunktionen können keine OUT-Argumente haben" -#: gram.y:9037 utils/adt/regproc.c:670 +#: gram.y:8992 utils/adt/regproc.c:670 #, c-format msgid "missing argument" msgstr "Argument fehlt" -#: gram.y:9038 utils/adt/regproc.c:671 +#: gram.y:8993 utils/adt/regproc.c:671 #, c-format msgid "Use NONE to denote the missing argument of a unary operator." msgstr "Verwenden Sie NONE, um das fehlende Argument eines unären Operators anzugeben." -#: gram.y:11266 gram.y:11285 +#: gram.y:11221 gram.y:11240 #, c-format msgid "WITH CHECK OPTION not supported on recursive views" msgstr "WITH CHECK OPTION wird für rekursive Sichten nicht unterstützt" -#: gram.y:13207 +#: gram.y:13162 #, c-format msgid "LIMIT #,# syntax is not supported" msgstr "Syntax LIMIT x,y wird nicht unterstützt" -#: gram.y:13208 +#: gram.y:13163 #, c-format msgid "Use separate LIMIT and OFFSET clauses." msgstr "Verwenden Sie die getrennten Klauseln LIMIT und OFFSET." -#: gram.y:14083 +#: gram.y:14038 #, c-format msgid "only one DEFAULT value is allowed" msgstr "nur ein DEFAULT-Wert ist erlaubt" -#: gram.y:14092 +#: gram.y:14047 #, c-format msgid "only one PATH value per column is allowed" msgstr "nur ein PATH-Wert pro Spalte ist erlaubt" -#: gram.y:14101 +#: gram.y:14056 #, c-format msgid "conflicting or redundant NULL / NOT NULL declarations for column \"%s\"" msgstr "widersprüchliche oder überflüssige NULL/NOT NULL-Deklarationen für Spalte »%s«" -#: gram.y:14110 +#: gram.y:14065 #, c-format msgid "unrecognized column option \"%s\"" msgstr "unbekannte Spaltenoption »%s«" -#: gram.y:14192 +#: gram.y:14147 #, c-format msgid "only string constants are supported in JSON_TABLE path specification" msgstr "nur Zeichenkettenkonstanten werden in Pfadangaben in JSON_TABLE unterstützt" -#: gram.y:14514 +#: gram.y:14469 #, c-format msgid "precision for type float must be at least 1 bit" msgstr "Präzision von Typ float muss mindestens 1 Bit sein" -#: gram.y:14523 +#: gram.y:14478 #, c-format msgid "precision for type float must be less than 54 bits" msgstr "Präzision von Typ float muss weniger als 54 Bits sein" -#: gram.y:15040 +#: gram.y:14995 #, c-format msgid "wrong number of parameters on left side of OVERLAPS expression" msgstr "falsche Anzahl Parameter auf linker Seite von OVERLAPS-Ausdruck" -#: gram.y:15045 +#: gram.y:15000 #, c-format msgid "wrong number of parameters on right side of OVERLAPS expression" msgstr "falsche Anzahl Parameter auf rechter Seite von OVERLAPS-Ausdruck" -#: gram.y:15222 +#: gram.y:15177 #, c-format msgid "UNIQUE predicate is not yet implemented" msgstr "UNIQUE-Prädikat ist noch nicht implementiert" -#: gram.y:15636 +#: gram.y:15591 #, c-format msgid "cannot use multiple ORDER BY clauses with WITHIN GROUP" msgstr "in WITHIN GROUP können nicht mehrere ORDER-BY-Klauseln verwendet werden" -#: gram.y:15641 +#: gram.y:15596 #, c-format msgid "cannot use DISTINCT with WITHIN GROUP" msgstr "DISTINCT kann nicht mit WITHIN GROUP verwendet werden" -#: gram.y:15646 +#: gram.y:15601 #, c-format msgid "cannot use VARIADIC with WITHIN GROUP" msgstr "VARIADIC kann nicht mit WITHIN GROUP verwendet werden" -#: gram.y:16373 gram.y:16397 +#: gram.y:16328 gram.y:16352 #, c-format msgid "frame start cannot be UNBOUNDED FOLLOWING" msgstr "Frame-Beginn kann nicht UNBOUNDED FOLLOWING sein" -#: gram.y:16378 +#: gram.y:16333 #, c-format msgid "frame starting from following row cannot end with current row" msgstr "Frame der in der folgenden Zeile beginnt kann nicht in der aktuellen Zeile enden" -#: gram.y:16402 +#: gram.y:16357 #, c-format msgid "frame end cannot be UNBOUNDED PRECEDING" msgstr "Frame-Ende kann nicht UNBOUNDED PRECEDING sein" -#: gram.y:16408 +#: gram.y:16363 #, c-format msgid "frame starting from current row cannot have preceding rows" msgstr "Frame der in der aktuellen Zeile beginnt kann keine vorhergehenden Zeilen haben" -#: gram.y:16415 +#: gram.y:16370 #, c-format msgid "frame starting from following row cannot have preceding rows" msgstr "Frame der in der folgenden Zeile beginnt kann keine vorhergehenden Zeilen haben" -#: gram.y:16964 +#: gram.y:16919 #, c-format msgid "unrecognized JSON encoding: %s" msgstr "unbekannte JSON-Kodierung: %s" -#: gram.y:17288 +#: gram.y:17243 #, c-format msgid "type modifier cannot have parameter name" msgstr "Typmodifikator kann keinen Parameternamen haben" -#: gram.y:17294 +#: gram.y:17249 #, c-format msgid "type modifier cannot have ORDER BY" msgstr "Typmodifikator kann kein ORDER BY haben" -#: gram.y:17362 gram.y:17369 gram.y:17376 +#: gram.y:17317 gram.y:17324 gram.y:17331 #, c-format msgid "%s cannot be used as a role name here" msgstr "%s kann hier nicht als Rollenname verwendet werden" -#: gram.y:17466 gram.y:18955 +#: gram.y:17421 gram.y:18906 #, c-format msgid "WITH TIES cannot be specified without ORDER BY clause" msgstr "WITH TIES kann nicht ohne ORDER-BY-Klausel angegeben werden" -#: gram.y:18646 gram.y:18821 +#: gram.y:18597 gram.y:18772 msgid "improper use of \"*\"" msgstr "unzulässige Verwendung von »*«" -#: gram.y:18784 gram.y:18801 tsearch/spell.c:963 tsearch/spell.c:980 +#: gram.y:18735 gram.y:18752 tsearch/spell.c:963 tsearch/spell.c:980 #: tsearch/spell.c:997 tsearch/spell.c:1014 tsearch/spell.c:1079 #, c-format msgid "syntax error" msgstr "Syntaxfehler" -#: gram.y:18885 +#: gram.y:18836 #, c-format msgid "an ordered-set aggregate with a VARIADIC direct argument must have one VARIADIC aggregated argument of the same data type" msgstr "eine Ordered-Set-Aggregatfunktion mit einem direkten VARIADIC-Argument muss ein aggregiertes VARIADIC-Argument des selben Datentyps haben" -#: gram.y:18922 +#: gram.y:18873 #, c-format msgid "multiple ORDER BY clauses not allowed" msgstr "mehrere ORDER-BY-Klauseln sind nicht erlaubt" -#: gram.y:18933 +#: gram.y:18884 #, c-format msgid "multiple OFFSET clauses not allowed" msgstr "mehrere OFFSET-Klauseln sind nicht erlaubt" -#: gram.y:18942 +#: gram.y:18893 #, c-format msgid "multiple LIMIT clauses not allowed" msgstr "mehrere LIMIT-Klauseln sind nicht erlaubt" -#: gram.y:18951 +#: gram.y:18902 #, c-format msgid "multiple limit options not allowed" msgstr "mehrere Limit-Optionen sind nicht erlaubt" -#: gram.y:18978 +#: gram.y:18929 #, c-format msgid "multiple WITH clauses not allowed" msgstr "mehrere WITH-Klauseln sind nicht erlaubt" -#: gram.y:19171 +#: gram.y:19122 #, c-format msgid "OUT and INOUT arguments aren't allowed in TABLE functions" msgstr "OUT- und INOUT-Argumente sind in TABLE-Funktionen nicht erlaubt" -#: gram.y:19304 +#: gram.y:19255 #, c-format msgid "multiple COLLATE clauses not allowed" msgstr "mehrere COLLATE-Klauseln sind nicht erlaubt" #. translator: %s is CHECK, UNIQUE, or similar -#: gram.y:19342 gram.y:19355 +#: gram.y:19293 gram.y:19306 #, c-format msgid "%s constraints cannot be marked DEFERRABLE" msgstr "%s-Constraints können nicht als DEFERRABLE markiert werden" #. translator: %s is CHECK, UNIQUE, or similar -#: gram.y:19368 +#: gram.y:19319 #, c-format msgid "%s constraints cannot be marked NOT VALID" msgstr "%s-Constraints können nicht als NOT VALID markiert werden" #. translator: %s is CHECK, UNIQUE, or similar -#: gram.y:19381 +#: gram.y:19332 #, c-format msgid "%s constraints cannot be marked NO INHERIT" msgstr "%s-Constraints können nicht als NO INHERIT markiert werden" -#: gram.y:19403 +#: gram.y:19354 #, c-format msgid "unrecognized partitioning strategy \"%s\"" msgstr "unbekannte Partitionierungsstrategie »%s«" -#: gram.y:19427 +#: gram.y:19378 #, c-format msgid "invalid publication object list" msgstr "ungültige Publikationsobjektliste" -#: gram.y:19428 +#: gram.y:19379 #, c-format msgid "One of TABLE or TABLES IN SCHEMA must be specified before a standalone table or schema name." msgstr "Entweder TABLE oder TABLES IN SCHEMA muss vor einem alleinstehenden Tabellen- oder Schemanamen angegeben werden." -#: gram.y:19444 +#: gram.y:19395 #, c-format msgid "invalid table name" msgstr "ungültiger Tabellenname" -#: gram.y:19465 +#: gram.y:19416 #, c-format msgid "WHERE clause not allowed for schema" msgstr "für Schemas ist keine WHERE-Klausel erlaubt" -#: gram.y:19472 +#: gram.y:19423 #, c-format msgid "column specification not allowed for schema" msgstr "für Schemas ist keine Spaltenangabe erlaubt" -#: gram.y:19486 +#: gram.y:19437 #, c-format msgid "invalid schema name" msgstr "ungültiger Schemaname" @@ -14838,7 +14753,7 @@ msgstr "zu viele Syntaxfehler gefunden, Datei »%s« wird aufgegeben" #: jsonpath_gram.y:266 jsonpath_gram.y:598 jsonpath_scan.l:640 #: jsonpath_scan.l:651 jsonpath_scan.l:661 jsonpath_scan.l:712 -#: utils/adt/encode.c:492 utils/adt/encode.c:557 utils/adt/jsonfuncs.c:658 +#: utils/adt/encode.c:492 utils/adt/encode.c:557 utils/adt/jsonfuncs.c:659 #: utils/adt/varlena.c:333 utils/adt/varlena.c:374 #, c-format msgid "invalid input syntax for type %s" @@ -14847,7 +14762,7 @@ msgstr "ungültige Eingabesyntax für Typ %s" #: jsonpath_gram.y:267 #, c-format msgid ".decimal() can only have an optional precision[,scale]." -msgstr "" +msgstr ".decimal() kann nur optionale Argumente Präzision[,Skala] haben." #: jsonpath_gram.y:599 #, c-format @@ -14876,7 +14791,7 @@ msgstr "ungültige hexadezimale Zeichensequenz" msgid "unexpected end after backslash" msgstr "unerwartetes Ende nach Backslash" -#: jsonpath_scan.l:201 repl_scanner.l:211 scan.l:742 +#: jsonpath_scan.l:201 repl_scanner.l:211 scan.l:756 msgid "unterminated quoted string" msgstr "Zeichenkette in Anführungszeichen nicht abgeschlossen" @@ -14888,8 +14803,8 @@ msgstr "unerwartetes Kommentarende" msgid "invalid numeric literal" msgstr "ungültige numerische Konstante" -#: jsonpath_scan.l:325 jsonpath_scan.l:331 jsonpath_scan.l:337 scan.l:1050 -#: scan.l:1054 scan.l:1058 scan.l:1062 scan.l:1066 scan.l:1070 scan.l:1074 +#: jsonpath_scan.l:325 jsonpath_scan.l:331 jsonpath_scan.l:337 scan.l:1064 +#: scan.l:1068 scan.l:1072 scan.l:1076 msgid "trailing junk after numeric literal" msgstr "Müll folgt auf numerische Konstante" @@ -14913,7 +14828,7 @@ msgstr "ungültige Eingabe" msgid "invalid hexadecimal digit" msgstr "ungültige hexadezimale Ziffer" -#: jsonpath_scan.l:607 utils/adt/jsonfuncs.c:646 +#: jsonpath_scan.l:607 utils/adt/jsonfuncs.c:647 #, c-format msgid "unsupported Unicode escape sequence" msgstr "nicht unterstützte Unicode-Escape-Sequenz" @@ -15811,171 +15726,171 @@ msgstr "konnte SSL-Protokollversionsbereich nicht setzen" msgid "\"%s\" cannot be higher than \"%s\"" msgstr "»%s« kann nicht höher als »%s« sein" -#: libpq/be-secure-openssl.c:296 +#: libpq/be-secure-openssl.c:307 #, c-format msgid "could not set the cipher list (no valid ciphers available)" msgstr "konnte Cipher-Liste nicht setzen (keine gültigen Ciphers verfügbar)" -#: libpq/be-secure-openssl.c:316 +#: libpq/be-secure-openssl.c:327 #, c-format msgid "could not load root certificate file \"%s\": %s" msgstr "konnte Root-Zertifikat-Datei »%s« nicht laden: %s" -#: libpq/be-secure-openssl.c:365 +#: libpq/be-secure-openssl.c:376 #, c-format msgid "could not load SSL certificate revocation list file \"%s\": %s" msgstr "konnte SSL-Certificate-Revocation-List-Datei »%s« nicht laden: %s" -#: libpq/be-secure-openssl.c:373 +#: libpq/be-secure-openssl.c:384 #, c-format msgid "could not load SSL certificate revocation list directory \"%s\": %s" msgstr "konnte SSL-Certificate-Revocation-List-Verzeichnis »%s« nicht laden: %s" -#: libpq/be-secure-openssl.c:381 +#: libpq/be-secure-openssl.c:392 #, c-format msgid "could not load SSL certificate revocation list file \"%s\" or directory \"%s\": %s" msgstr "konnte SSL-Certificate-Revocation-List-Datei »%s« oder -Verzeichnis »%s« nicht laden: %s" -#: libpq/be-secure-openssl.c:439 +#: libpq/be-secure-openssl.c:450 #, c-format msgid "could not initialize SSL connection: SSL context not set up" msgstr "konnte SSL-Verbindung nicht initialisieren: SSL-Kontext nicht eingerichtet" -#: libpq/be-secure-openssl.c:453 +#: libpq/be-secure-openssl.c:464 #, c-format msgid "could not initialize SSL connection: %s" msgstr "konnte SSL-Verbindung nicht initialisieren: %s" -#: libpq/be-secure-openssl.c:461 +#: libpq/be-secure-openssl.c:472 #, c-format msgid "could not set SSL socket: %s" msgstr "konnte SSL-Socket nicht setzen: %s" -#: libpq/be-secure-openssl.c:517 +#: libpq/be-secure-openssl.c:528 #, c-format msgid "could not accept SSL connection: %m" msgstr "konnte SSL-Verbindung nicht annehmen: %m" -#: libpq/be-secure-openssl.c:521 libpq/be-secure-openssl.c:578 +#: libpq/be-secure-openssl.c:532 libpq/be-secure-openssl.c:589 #, c-format msgid "could not accept SSL connection: EOF detected" msgstr "konnte SSL-Verbindung nicht annehmen: EOF entdeckt" -#: libpq/be-secure-openssl.c:562 +#: libpq/be-secure-openssl.c:573 #, c-format msgid "could not accept SSL connection: %s" msgstr "konnte SSL-Verbindung nicht annehmen: %s" -#: libpq/be-secure-openssl.c:566 +#: libpq/be-secure-openssl.c:577 #, c-format msgid "This may indicate that the client does not support any SSL protocol version between %s and %s." msgstr "Das zeigt möglicherweise an, dass der Client keine SSL-Protokollversion zwischen %s und %s unterstützt." -#: libpq/be-secure-openssl.c:583 libpq/be-secure-openssl.c:798 -#: libpq/be-secure-openssl.c:868 +#: libpq/be-secure-openssl.c:594 libpq/be-secure-openssl.c:809 +#: libpq/be-secure-openssl.c:879 #, c-format msgid "unrecognized SSL error code: %d" msgstr "unbekannter SSL-Fehlercode: %d" -#: libpq/be-secure-openssl.c:611 +#: libpq/be-secure-openssl.c:622 #, c-format msgid "received SSL connection request with unexpected ALPN protocol" -msgstr "" +msgstr "SSL-Verbindungsanfrage mit unerwartetem ALPN-Protokoll erhalten" -#: libpq/be-secure-openssl.c:655 +#: libpq/be-secure-openssl.c:666 #, c-format msgid "SSL certificate's common name contains embedded null" msgstr "Common-Name im SSL-Zertifikat enthält Null-Byte" -#: libpq/be-secure-openssl.c:701 +#: libpq/be-secure-openssl.c:712 #, c-format msgid "SSL certificate's distinguished name contains embedded null" msgstr "Distinguished Name im SSL-Zertifikat enthält Null-Byte" -#: libpq/be-secure-openssl.c:787 libpq/be-secure-openssl.c:852 +#: libpq/be-secure-openssl.c:798 libpq/be-secure-openssl.c:863 #, c-format msgid "SSL error: %s" msgstr "SSL-Fehler: %s" -#: libpq/be-secure-openssl.c:1027 +#: libpq/be-secure-openssl.c:1038 #, c-format msgid "could not open DH parameters file \"%s\": %m" msgstr "konnte DH-Parameterdatei »%s« nicht öffnen: %m" -#: libpq/be-secure-openssl.c:1039 +#: libpq/be-secure-openssl.c:1050 #, c-format msgid "could not load DH parameters file: %s" msgstr "konnte DH-Parameterdatei nicht laden: %s" -#: libpq/be-secure-openssl.c:1049 +#: libpq/be-secure-openssl.c:1060 #, c-format msgid "invalid DH parameters: %s" msgstr "ungültige DH-Parameter: %s" -#: libpq/be-secure-openssl.c:1058 +#: libpq/be-secure-openssl.c:1069 #, c-format msgid "invalid DH parameters: p is not prime" msgstr "ungültige DH-Parameter: p ist keine Primzahl" -#: libpq/be-secure-openssl.c:1067 +#: libpq/be-secure-openssl.c:1078 #, c-format msgid "invalid DH parameters: neither suitable generator or safe prime" msgstr "ungültige DH-Parameter: weder geeigneter Generator noch sichere Primzahl" -#: libpq/be-secure-openssl.c:1203 +#: libpq/be-secure-openssl.c:1214 #, c-format msgid "Client certificate verification failed at depth %d: %s." msgstr "Überprüfung des Client-Zertifikats ist auf Tiefe %d fehlgeschlagen: %s." -#: libpq/be-secure-openssl.c:1240 +#: libpq/be-secure-openssl.c:1251 #, c-format msgid "Failed certificate data (unverified): subject \"%s\", serial number %s, issuer \"%s\"." msgstr "Daten des fehlgeschlagenen Zertifikats (nicht verifiziert): Subject »%s«, Seriennummer %s, Aussteller »%s«." -#: libpq/be-secure-openssl.c:1241 +#: libpq/be-secure-openssl.c:1252 msgid "unknown" msgstr "unbekannt" -#: libpq/be-secure-openssl.c:1378 +#: libpq/be-secure-openssl.c:1389 #, c-format msgid "DH: could not load DH parameters" msgstr "DH: konnte DH-Parameter nicht laden" -#: libpq/be-secure-openssl.c:1386 +#: libpq/be-secure-openssl.c:1397 #, c-format msgid "DH: could not set DH parameters: %s" msgstr "DH: konnte DH-Parameter nicht setzen: %s" -#: libpq/be-secure-openssl.c:1413 +#: libpq/be-secure-openssl.c:1424 #, c-format msgid "ECDH: unrecognized curve name: %s" msgstr "ECDH: unbekannter Kurvenname: %s" -#: libpq/be-secure-openssl.c:1422 +#: libpq/be-secure-openssl.c:1433 #, c-format msgid "ECDH: could not create key" msgstr "ECDH: konnte Schlüssel nicht erzeugen" -#: libpq/be-secure-openssl.c:1450 +#: libpq/be-secure-openssl.c:1461 msgid "no SSL error reported" msgstr "kein SSL-Fehler berichtet" -#: libpq/be-secure-openssl.c:1467 +#: libpq/be-secure-openssl.c:1479 #, c-format msgid "SSL error code %lu" msgstr "SSL-Fehlercode %lu" -#: libpq/be-secure-openssl.c:1624 +#: libpq/be-secure-openssl.c:1636 #, c-format msgid "could not create BIO" msgstr "konnte BIO nicht erzeugen" -#: libpq/be-secure-openssl.c:1634 +#: libpq/be-secure-openssl.c:1646 #, c-format msgid "could not get NID for ASN1_OBJECT object" msgstr "konnte NID für ASN1_OBJECT-Objekt nicht ermitteln" -#: libpq/be-secure-openssl.c:1642 +#: libpq/be-secure-openssl.c:1654 #, c-format msgid "could not convert NID %d to an ASN1_OBJECT structure" msgstr "konnte NID %d nicht in eine ASN1_OBJECT-Struktur umwandeln" @@ -16496,7 +16411,7 @@ msgstr "es besteht keine Client-Verbindung" msgid "could not receive data from client: %m" msgstr "konnte Daten vom Client nicht empfangen: %m" -#: libpq/pqcomm.c:1149 tcop/postgres.c:4446 +#: libpq/pqcomm.c:1149 tcop/postgres.c:4533 #, c-format msgid "terminating connection because protocol synchronization was lost" msgstr "Verbindung wird abgebrochen, weil Protokollsynchronisierung verloren wurde" @@ -16881,8 +16796,8 @@ msgstr "unbenanntes Portal mit Parametern: %s" msgid "FULL JOIN is only supported with merge-joinable or hash-joinable join conditions" msgstr "FULL JOIN wird nur für Merge- oder Hash-Verbund-fähige Verbundbedingungen unterstützt" -#: optimizer/plan/createplan.c:7162 parser/parse_merge.c:203 -#: rewrite/rewriteHandler.c:1695 +#: optimizer/plan/createplan.c:7175 parser/parse_merge.c:203 +#: rewrite/rewriteHandler.c:1696 #, c-format msgid "cannot execute MERGE on relation \"%s\"" msgstr "MERGE kann für Relation »%s« nicht ausgeführt werden" @@ -16894,44 +16809,44 @@ msgid "%s cannot be applied to the nullable side of an outer join" msgstr "%s kann nicht auf die nullbare Seite eines äußeren Verbundes angewendet werden" #. 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 +#: optimizer/plan/planner.c:1386 parser/analyze.c:1771 parser/analyze.c:2029 #: parser/analyze.c:3247 #, c-format msgid "%s is not allowed with UNION/INTERSECT/EXCEPT" msgstr "%s ist nicht in UNION/INTERSECT/EXCEPT erlaubt" -#: optimizer/plan/planner.c:2121 optimizer/plan/planner.c:4107 +#: optimizer/plan/planner.c:2127 optimizer/plan/planner.c:4113 #, c-format msgid "could not implement GROUP BY" msgstr "konnte GROUP BY nicht implementieren" -#: optimizer/plan/planner.c:2122 optimizer/plan/planner.c:4108 -#: optimizer/plan/planner.c:4789 optimizer/prep/prepunion.c:1320 +#: optimizer/plan/planner.c:2128 optimizer/plan/planner.c:4114 +#: optimizer/plan/planner.c:4795 optimizer/prep/prepunion.c:1320 #, c-format msgid "Some of the datatypes only support hashing, while others only support sorting." msgstr "Einige Datentypen unterstützen nur Hashing, während andere nur Sortieren unterstützen." -#: optimizer/plan/planner.c:4788 +#: optimizer/plan/planner.c:4794 #, c-format msgid "could not implement DISTINCT" msgstr "konnte DISTINCT nicht implementieren" -#: optimizer/plan/planner.c:6133 +#: optimizer/plan/planner.c:6139 #, c-format msgid "could not implement window PARTITION BY" msgstr "konnte PARTITION BY für Fenster nicht implementieren" -#: optimizer/plan/planner.c:6134 +#: optimizer/plan/planner.c:6140 #, c-format msgid "Window partitioning columns must be of sortable datatypes." msgstr "Fensterpartitionierungsspalten müssen sortierbare Datentypen haben." -#: optimizer/plan/planner.c:6138 +#: optimizer/plan/planner.c:6144 #, c-format msgid "could not implement window ORDER BY" msgstr "konnte ORDER BY für Fenster nicht implementieren" -#: optimizer/plan/planner.c:6139 +#: optimizer/plan/planner.c:6145 #, c-format msgid "Window ordering columns must be of sortable datatypes." msgstr "Fenstersortierspalten müssen sortierbare Datentypen haben." @@ -16952,32 +16867,32 @@ msgstr "Alle Spaltendatentypen müssen hashbar sein." msgid "could not implement %s" msgstr "konnte %s nicht implementieren" -#: optimizer/util/clauses.c:4951 +#: optimizer/util/clauses.c:4963 #, c-format msgid "SQL function \"%s\" during inlining" msgstr "SQL-Funktion »%s« beim Inlining" -#: optimizer/util/plancat.c:152 +#: optimizer/util/plancat.c:153 #, c-format msgid "cannot access temporary or unlogged relations during recovery" msgstr "während der Wiederherstellung kann nicht auf temporäre oder ungeloggte Tabellen zugegriffen werden" -#: optimizer/util/plancat.c:756 +#: optimizer/util/plancat.c:768 #, c-format msgid "whole row unique index inference specifications are not supported" msgstr "Inferenzangaben mit Unique-Index über die gesamte Zeile werden nicht unterstützt" -#: optimizer/util/plancat.c:773 +#: optimizer/util/plancat.c:785 #, c-format msgid "constraint in ON CONFLICT clause has no associated index" msgstr "Constraint in der ON-CONFLICT-Klausel hat keinen zugehörigen Index" -#: optimizer/util/plancat.c:823 +#: optimizer/util/plancat.c:835 #, c-format msgid "ON CONFLICT DO UPDATE not supported with exclusion constraints" msgstr "ON CONFLICT DO UPDATE nicht unterstützt mit Exclusion-Constraints" -#: optimizer/util/plancat.c:933 +#: optimizer/util/plancat.c:945 #, c-format msgid "there is no unique or exclusion constraint matching the ON CONFLICT specification" msgstr "es gibt keinen Unique-Constraint oder Exclusion-Constraint, der auf die ON-CONFLICT-Angabe passt" @@ -17225,308 +17140,308 @@ msgstr "Aggregatfunktionen sind in JOIN-Bedingungen nicht erlaubt" msgid "grouping operations are not allowed in JOIN conditions" msgstr "Gruppieroperationen sind in JOIN-Bedingungen nicht erlaubt" -#: parser/parse_agg.c:387 +#: parser/parse_agg.c:385 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:389 +#: parser/parse_agg.c:387 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:394 +#: parser/parse_agg.c:392 msgid "aggregate functions are not allowed in functions in FROM" msgstr "Aggregatfunktionen sind in Funktionen in FROM nicht erlaubt" -#: parser/parse_agg.c:396 +#: parser/parse_agg.c:394 msgid "grouping operations are not allowed in functions in FROM" msgstr "Gruppieroperationen sind in Funktionen in FROM nicht erlaubt" -#: parser/parse_agg.c:404 +#: parser/parse_agg.c:402 msgid "aggregate functions are not allowed in policy expressions" msgstr "Aggregatfunktionen sind in Policy-Ausdrücken nicht erlaubt" -#: parser/parse_agg.c:406 +#: parser/parse_agg.c:404 msgid "grouping operations are not allowed in policy expressions" msgstr "Gruppieroperationen sind in Policy-Ausdrücken nicht erlaubt" -#: parser/parse_agg.c:423 +#: parser/parse_agg.c:421 msgid "aggregate functions are not allowed in window RANGE" msgstr "Aggregatfunktionen sind in der Fenster-RANGE-Klausel nicht erlaubt" -#: parser/parse_agg.c:425 +#: parser/parse_agg.c:423 msgid "grouping operations are not allowed in window RANGE" msgstr "Gruppieroperationen sind in der Fenster-RANGE-Klausel nicht erlaubt" -#: parser/parse_agg.c:430 +#: parser/parse_agg.c:428 msgid "aggregate functions are not allowed in window ROWS" msgstr "Aggregatfunktionen sind in der Fenster-ROWS-Klausel nicht erlaubt" -#: parser/parse_agg.c:432 +#: parser/parse_agg.c:430 msgid "grouping operations are not allowed in window ROWS" msgstr "Gruppieroperationen sind in der Fenster-ROWS-Klausel nicht erlaubt" -#: parser/parse_agg.c:437 +#: parser/parse_agg.c:435 msgid "aggregate functions are not allowed in window GROUPS" msgstr "Aggregatfunktionen sind in der Fenster-GROUPS-Klausel nicht erlaubt" -#: parser/parse_agg.c:439 +#: parser/parse_agg.c:437 msgid "grouping operations are not allowed in window GROUPS" msgstr "Gruppieroperationen sind in der Fenster-GROUPS-Klausel nicht erlaubt" -#: parser/parse_agg.c:452 +#: parser/parse_agg.c:450 msgid "aggregate functions are not allowed in MERGE WHEN conditions" msgstr "Aggregatfunktionen sind in MERGE-WHEN-Bedingungen nicht erlaubt" -#: parser/parse_agg.c:454 +#: parser/parse_agg.c:452 msgid "grouping operations are not allowed in MERGE WHEN conditions" msgstr "Gruppieroperationen sind in MERGE-WHEN-Bedingungen nicht erlaubt" -#: parser/parse_agg.c:481 +#: parser/parse_agg.c:479 msgid "aggregate functions are not allowed in check constraints" msgstr "Aggregatfunktionen sind in Check-Constraints nicht erlaubt" -#: parser/parse_agg.c:483 +#: parser/parse_agg.c:481 msgid "grouping operations are not allowed in check constraints" msgstr "Gruppieroperationen sind in Check-Constraints nicht erlaubt" -#: parser/parse_agg.c:490 +#: parser/parse_agg.c:488 msgid "aggregate functions are not allowed in DEFAULT expressions" msgstr "Aggregatfunktionen sind in DEFAULT-Ausdrücken nicht erlaubt" -#: parser/parse_agg.c:492 +#: parser/parse_agg.c:490 msgid "grouping operations are not allowed in DEFAULT expressions" msgstr "Gruppieroperationen sind in DEFAULT-Ausdrücken nicht erlaubt" -#: parser/parse_agg.c:497 +#: parser/parse_agg.c:495 msgid "aggregate functions are not allowed in index expressions" msgstr "Aggregatfunktionen sind in Indexausdrücken nicht erlaubt" -#: parser/parse_agg.c:499 +#: parser/parse_agg.c:497 msgid "grouping operations are not allowed in index expressions" msgstr "Gruppieroperationen sind in Indexausdrücken nicht erlaubt" -#: parser/parse_agg.c:504 +#: parser/parse_agg.c:502 msgid "aggregate functions are not allowed in index predicates" msgstr "Aggregatfunktionen sind in Indexprädikaten nicht erlaubt" -#: parser/parse_agg.c:506 +#: parser/parse_agg.c:504 msgid "grouping operations are not allowed in index predicates" msgstr "Gruppieroperationen sind in Indexprädikaten nicht erlaubt" -#: parser/parse_agg.c:511 +#: parser/parse_agg.c:509 msgid "aggregate functions are not allowed in statistics expressions" msgstr "Aggregatfunktionen sind in Statistikausdrücken nicht erlaubt" -#: parser/parse_agg.c:513 +#: parser/parse_agg.c:511 msgid "grouping operations are not allowed in statistics expressions" msgstr "Gruppieroperationen sind in Statistikausdrücken nicht erlaubt" -#: parser/parse_agg.c:518 +#: parser/parse_agg.c:516 msgid "aggregate functions are not allowed in transform expressions" msgstr "Aggregatfunktionen sind in Umwandlungsausdrücken nicht erlaubt" -#: parser/parse_agg.c:520 +#: parser/parse_agg.c:518 msgid "grouping operations are not allowed in transform expressions" msgstr "Gruppieroperationen sind in Umwandlungsausdrücken nicht erlaubt" -#: parser/parse_agg.c:525 +#: parser/parse_agg.c:523 msgid "aggregate functions are not allowed in EXECUTE parameters" msgstr "Aggregatfunktionen sind in EXECUTE-Parametern nicht erlaubt" -#: parser/parse_agg.c:527 +#: parser/parse_agg.c:525 msgid "grouping operations are not allowed in EXECUTE parameters" msgstr "Gruppieroperationen sind in EXECUTE-Parametern nicht erlaubt" -#: parser/parse_agg.c:532 +#: parser/parse_agg.c:530 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:534 +#: parser/parse_agg.c:532 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:539 +#: parser/parse_agg.c:537 msgid "aggregate functions are not allowed in partition bound" msgstr "Aggregatfunktionen sind in Partitionsbegrenzungen nicht erlaubt" -#: parser/parse_agg.c:541 +#: parser/parse_agg.c:539 msgid "grouping operations are not allowed in partition bound" msgstr "Gruppieroperationen sind in Partitionsbegrenzungen nicht erlaubt" -#: parser/parse_agg.c:546 +#: parser/parse_agg.c:544 msgid "aggregate functions are not allowed in partition key expressions" msgstr "Aggregatfunktionen sind in Partitionierungsschlüsselausdrücken nicht erlaubt" -#: parser/parse_agg.c:548 +#: parser/parse_agg.c:546 msgid "grouping operations are not allowed in partition key expressions" msgstr "Gruppieroperationen sind in Partitionierungsschlüsselausdrücken nicht erlaubt" -#: parser/parse_agg.c:554 +#: parser/parse_agg.c:552 msgid "aggregate functions are not allowed in column generation expressions" msgstr "Aggregatfunktionen sind in Spaltengenerierungsausdrücken nicht erlaubt" -#: parser/parse_agg.c:556 +#: parser/parse_agg.c:554 msgid "grouping operations are not allowed in column generation expressions" msgstr "Gruppieroperationen sind in Spaltengenerierungsausdrücken nicht erlaubt" -#: parser/parse_agg.c:562 +#: parser/parse_agg.c:560 msgid "aggregate functions are not allowed in CALL arguments" msgstr "Aggregatfunktionen sind in CALL-Argumenten nicht erlaubt" -#: parser/parse_agg.c:564 +#: parser/parse_agg.c:562 msgid "grouping operations are not allowed in CALL arguments" msgstr "Gruppieroperationen sind in CALL-Argumenten nicht erlaubt" -#: parser/parse_agg.c:570 +#: parser/parse_agg.c:568 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:572 +#: parser/parse_agg.c:570 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:599 parser/parse_clause.c:1962 +#: parser/parse_agg.c:597 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:602 +#: parser/parse_agg.c:600 #, c-format msgid "grouping operations are not allowed in %s" msgstr "Gruppieroperationen sind in %s nicht erlaubt" -#: parser/parse_agg.c:703 +#: parser/parse_agg.c:701 #, 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:781 +#: parser/parse_agg.c:779 #, 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:782 parser/parse_expr.c:1762 parser/parse_expr.c:2245 +#: parser/parse_agg.c:780 parser/parse_expr.c:1762 parser/parse_expr.c:2245 #: 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:787 +#: parser/parse_agg.c:785 #, 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:866 +#: parser/parse_agg.c:864 msgid "window functions are not allowed in JOIN conditions" msgstr "Fensterfunktionen sind in JOIN-Bedingungen nicht erlaubt" -#: parser/parse_agg.c:873 +#: parser/parse_agg.c:871 msgid "window functions are not allowed in functions in FROM" msgstr "Fensterfunktionen sind in Funktionen in FROM nicht erlaubt" -#: parser/parse_agg.c:879 +#: parser/parse_agg.c:877 msgid "window functions are not allowed in policy expressions" msgstr "Fensterfunktionen sind in Policy-Ausdrücken nicht erlaubt" -#: parser/parse_agg.c:892 +#: parser/parse_agg.c:890 msgid "window functions are not allowed in window definitions" msgstr "Fensterfunktionen sind in Fensterdefinitionen nicht erlaubt" -#: parser/parse_agg.c:903 +#: parser/parse_agg.c:901 msgid "window functions are not allowed in MERGE WHEN conditions" msgstr "Fensterfunktionen sind in MERGE-WHEN-Bedingungen nicht erlaubt" -#: parser/parse_agg.c:928 +#: parser/parse_agg.c:926 msgid "window functions are not allowed in check constraints" msgstr "Fensterfunktionen sind in Check-Constraints nicht erlaubt" -#: parser/parse_agg.c:932 +#: parser/parse_agg.c:930 msgid "window functions are not allowed in DEFAULT expressions" msgstr "Fensterfunktionen sind in DEFAULT-Ausdrücken nicht erlaubt" -#: parser/parse_agg.c:935 +#: parser/parse_agg.c:933 msgid "window functions are not allowed in index expressions" msgstr "Fensterfunktionen sind in Indexausdrücken nicht erlaubt" -#: parser/parse_agg.c:938 +#: parser/parse_agg.c:936 msgid "window functions are not allowed in statistics expressions" msgstr "Fensterfunktionen sind in Statistikausdrücken nicht erlaubt" -#: parser/parse_agg.c:941 +#: parser/parse_agg.c:939 msgid "window functions are not allowed in index predicates" msgstr "Fensterfunktionen sind in Indexprädikaten nicht erlaubt" -#: parser/parse_agg.c:944 +#: parser/parse_agg.c:942 msgid "window functions are not allowed in transform expressions" msgstr "Fensterfunktionen sind in Umwandlungsausdrücken nicht erlaubt" -#: parser/parse_agg.c:947 +#: parser/parse_agg.c:945 msgid "window functions are not allowed in EXECUTE parameters" msgstr "Fensterfunktionen sind in EXECUTE-Parametern nicht erlaubt" -#: parser/parse_agg.c:950 +#: parser/parse_agg.c:948 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:953 +#: parser/parse_agg.c:951 msgid "window functions are not allowed in partition bound" msgstr "Fensterfunktionen sind in Partitionsbegrenzungen nicht erlaubt" -#: parser/parse_agg.c:956 +#: parser/parse_agg.c:954 msgid "window functions are not allowed in partition key expressions" msgstr "Fensterfunktionen sind in Partitionierungsschlüsselausdrücken nicht erlaubt" -#: parser/parse_agg.c:959 +#: parser/parse_agg.c:957 msgid "window functions are not allowed in CALL arguments" msgstr "Fensterfunktionen sind in CALL-Argumenten nicht erlaubt" -#: parser/parse_agg.c:962 +#: parser/parse_agg.c:960 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:965 +#: parser/parse_agg.c:963 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:988 parser/parse_clause.c:1971 +#: parser/parse_agg.c:986 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:1022 parser/parse_clause.c:2804 +#: parser/parse_agg.c:1020 parser/parse_clause.c:2804 #, c-format msgid "window \"%s\" does not exist" msgstr "Fenster »%s« existiert nicht" -#: parser/parse_agg.c:1110 +#: parser/parse_agg.c:1108 #, c-format msgid "too many grouping sets present (maximum 4096)" msgstr "zu viele Grouping-Sets vorhanden (maximal 4096)" -#: parser/parse_agg.c:1250 +#: parser/parse_agg.c:1248 #, 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:1443 +#: parser/parse_agg.c:1441 #, 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:1446 +#: parser/parse_agg.c:1444 #, 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:1451 +#: parser/parse_agg.c:1449 #, 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:1615 +#: parser/parse_agg.c:1613 #, 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" @@ -17576,7 +17491,7 @@ msgstr "WITH ORDINALITY kann nicht mit einer Spaltendefinitionsliste verwendet w msgid "Put the column definition list inside ROWS FROM()." msgstr "Geben Sie die Spaltendefinitionsliste innerhalb von ROWS FROM() an." -#: parser/parse_clause.c:762 +#: parser/parse_clause.c:762 parser/parse_jsontable.c:295 #, c-format msgid "only one FOR ORDINALITY column is allowed" msgstr "nur eine FOR-ORDINALITY-Spalte ist erlaubt" @@ -17804,8 +17719,8 @@ msgstr "Wandeln Sie den Offset-Wert in den genauen beabsichtigten Typ um." #: parser/parse_coerce.c:1050 parser/parse_coerce.c:1088 #: parser/parse_coerce.c:1106 parser/parse_coerce.c:1121 -#: parser/parse_expr.c:2146 parser/parse_expr.c:2754 parser/parse_expr.c:3403 -#: parser/parse_expr.c:3624 parser/parse_expr.c:4388 parser/parse_target.c:998 +#: parser/parse_expr.c:2146 parser/parse_expr.c:2754 parser/parse_expr.c:3405 +#: parser/parse_expr.c:3634 parser/parse_target.c:998 #, c-format msgid "cannot cast type %s to %s" msgstr "kann Typ %s nicht in Typ %s umwandeln" @@ -18120,90 +18035,91 @@ msgstr "rekursive Anfrage »%s« darf keine datenmodifizierenden Anweisungen ent msgid "recursive query \"%s\" does not have the form non-recursive-term UNION [ALL] recursive-term" msgstr "rekursive Anfrage »%s« hat nicht die Form nicht-rekursiver-Ausdruck UNION [ALL] rekursiver-Ausdruck" -#: parser/parse_cte.c:920 +#: parser/parse_cte.c:911 #, c-format msgid "ORDER BY in a recursive query is not implemented" msgstr "ORDER BY in einer rekursiven Anfrage ist nicht implementiert" -#: parser/parse_cte.c:926 +#: parser/parse_cte.c:917 #, c-format msgid "OFFSET in a recursive query is not implemented" msgstr "OFFSET in einer rekursiven Anfrage ist nicht implementiert" -#: parser/parse_cte.c:932 +#: parser/parse_cte.c:923 #, c-format msgid "LIMIT in a recursive query is not implemented" msgstr "LIMIT in einer rekursiven Anfrage ist nicht implementiert" -#: parser/parse_cte.c:938 +#: parser/parse_cte.c:929 #, c-format msgid "FOR UPDATE/SHARE in a recursive query is not implemented" msgstr "FOR UPDATE/SHARE in einer rekursiven Anfrage ist nicht implementiert" -#: parser/parse_cte.c:995 +#: parser/parse_cte.c:1008 #, c-format msgid "recursive reference to query \"%s\" must not appear more than once" msgstr "rekursiver Verweis auf Anfrage »%s« darf nicht mehrmals erscheinen" -#: parser/parse_expr.c:314 +#: parser/parse_expr.c:313 #, c-format msgid "DEFAULT is not allowed in this context" msgstr "DEFAULT ist in diesem Zusammenhang nicht erlaubt" -#: parser/parse_expr.c:407 parser/parse_relation.c:3691 +#: parser/parse_expr.c:406 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 "Spalte %s.%s existiert nicht" -#: parser/parse_expr.c:419 +#: parser/parse_expr.c:418 #, c-format msgid "column \"%s\" not found in data type %s" msgstr "Spalte »%s« nicht gefunden im Datentyp %s" -#: parser/parse_expr.c:425 +#: parser/parse_expr.c:424 #, c-format msgid "could not identify column \"%s\" in record data type" msgstr "konnte Spalte »%s« im Record-Datentyp nicht identifizieren" -#: parser/parse_expr.c:431 +#: parser/parse_expr.c:430 #, c-format msgid "column notation .%s applied to type %s, which is not a composite type" msgstr "Spaltenschreibweise .%s mit Typ %s verwendet, der kein zusammengesetzter Typ ist" -#: parser/parse_expr.c:462 parser/parse_target.c:732 +#: parser/parse_expr.c:461 parser/parse_target.c:732 #, c-format msgid "row expansion via \"*\" is not supported here" msgstr "Zeilenexpansion mit »*« wird hier nicht unterstützt" -#: parser/parse_expr.c:585 +#: parser/parse_expr.c:584 msgid "cannot use column reference in DEFAULT expression" msgstr "Spaltenverweise können nicht in DEFAULT-Ausdrücken verwendet werden" -#: parser/parse_expr.c:588 +#: parser/parse_expr.c:587 msgid "cannot use column reference in partition bound expression" msgstr "Spaltenverweise können nicht in Partitionsbegrenzungsausdrücken verwendet werden" -#: parser/parse_expr.c:847 parser/parse_relation.c:833 +#: parser/parse_expr.c:846 parser/parse_relation.c:833 #: parser/parse_relation.c:915 parser/parse_target.c:1238 #, c-format msgid "column reference \"%s\" is ambiguous" msgstr "Spaltenverweis »%s« ist nicht eindeutig" -#: parser/parse_expr.c:903 parser/parse_param.c:110 parser/parse_param.c:142 +#: parser/parse_expr.c:902 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 "es gibt keinen Parameter $%d" -#: parser/parse_expr.c:1103 +#. translator: %s is name of a SQL construct, eg NULLIF +#: parser/parse_expr.c:1103 parser/parse_expr.c:3065 #, c-format -msgid "NULLIF requires = operator to yield boolean" -msgstr "NULLIF erfordert, dass Operator = boolean ergibt" +msgid "%s requires = operator to yield boolean" +msgstr "%s erfordert, dass Operator = boolean ergibt" #. translator: %s is name of a SQL construct, eg NULLIF -#: parser/parse_expr.c:1109 parser/parse_expr.c:3070 +#: parser/parse_expr.c:1109 parser/parse_expr.c:3072 #, c-format msgid "%s must not return a set" msgstr "%s darf keine Ergebnismenge zurückgeben" @@ -18211,7 +18127,7 @@ msgstr "%s darf keine Ergebnismenge zurückgeben" #: parser/parse_expr.c:1395 #, c-format msgid "MERGE_ACTION() can only be used in the RETURNING list of a MERGE command" -msgstr "" +msgstr "MERGE_ACTION() kann nur in der RETURNING-Liste eines MERGE-Befehls verwendet werden" #: parser/parse_expr.c:1519 parser/parse_expr.c:1551 #, c-format @@ -18281,7 +18197,7 @@ msgstr "Unteranfragen können nicht in COPY-FROM-WHERE-Bedingungen verwendet wer msgid "cannot use subquery in column generation expression" msgstr "Unteranfragen können nicht in Spaltengenerierungsausdrücken verwendet werden" -#: parser/parse_expr.c:1914 parser/parse_expr.c:3756 +#: parser/parse_expr.c:1914 parser/parse_expr.c:3764 #, c-format msgid "subquery must return only one column" msgstr "Unteranfrage darf nur eine Spalte zurückgeben" @@ -18371,123 +18287,174 @@ msgstr "Zeilenvergleichsoperatoren müssen einer »btree«-Operatorfamilie zugeo msgid "There are multiple equally-plausible candidates." msgstr "Es gibt mehrere gleichermaßen plausible Kandidaten." -#: parser/parse_expr.c:3064 -#, c-format -msgid "IS DISTINCT FROM requires = operator to yield boolean" -msgstr "IS DISTINCT FROM erfordert, dass Operator = boolean ergibt" - -#: parser/parse_expr.c:3304 +#: parser/parse_expr.c:3306 #, c-format msgid "JSON ENCODING clause is only allowed for bytea input type" msgstr "JSON-ENCODING-Klausel ist nur für Eingabetyp bytea erlaubt" -#: parser/parse_expr.c:3368 +#: parser/parse_expr.c:3370 #, c-format msgid "cannot use non-string types with implicit FORMAT JSON clause" msgstr "implizite FORMAT-JSON-Klausel kann nicht mit Typen verwendet werden, die keine Zeichenketten sind" -#: parser/parse_expr.c:3369 +#: parser/parse_expr.c:3371 #, c-format msgid "cannot use non-string types with explicit FORMAT JSON clause" msgstr "explizite FORMAT-JSON-Klausel kann nicht mit Typen verwendet werden, die keine Zeichenketten sind" -#: parser/parse_expr.c:3458 +#: parser/parse_expr.c:3460 #, c-format msgid "cannot use JSON format with non-string output types" msgstr "Format JSON kann nicht mit Ausgabetypen verwendet werden, die keine Zeichenketten sind" -#: parser/parse_expr.c:3471 +#: parser/parse_expr.c:3473 #, c-format msgid "cannot set JSON encoding for non-bytea output types" msgstr "JSON-Kodierung kann nur für Ausgabetyp bytea gesetzt werden" -#: parser/parse_expr.c:3476 +#: parser/parse_expr.c:3478 #, c-format msgid "unsupported JSON encoding" msgstr "nicht unterstützte JSON-Kodierung" -#: parser/parse_expr.c:3477 +#: parser/parse_expr.c:3479 #, c-format msgid "Only UTF8 JSON encoding is supported." msgstr "Nur die JSON-Kodierung UTF8 wird unterstützt." -#: parser/parse_expr.c:3514 +#: parser/parse_expr.c:3516 #, c-format msgid "returning SETOF types is not supported in SQL/JSON functions" msgstr "Rückgabe von SETOF-Typen wird in SQL/JSON-Funktionen nicht unterstützt" -#: parser/parse_expr.c:3519 +#: parser/parse_expr.c:3521 #, c-format msgid "returning pseudo-types is not supported in SQL/JSON functions" msgstr "Rückgabe von Pseudotypen wird in SQL/JSON-Funktionen nicht unterstützt" -#: parser/parse_expr.c:3841 parser/parse_func.c:866 +#: parser/parse_expr.c:3849 parser/parse_func.c:866 #, c-format msgid "aggregate ORDER BY is not implemented for window functions" msgstr "ORDER BY in Aggregatfunktion ist für Fensterfunktionen nicht implementiert" -#: parser/parse_expr.c:4063 +#: parser/parse_expr.c:4072 #, c-format msgid "cannot use JSON FORMAT ENCODING clause for non-bytea input types" msgstr "JSON-FORMAT-ENCODING-Klausel kann nur für Eingabetyp bytea verwendet werden" -#: parser/parse_expr.c:4083 +#: parser/parse_expr.c:4092 #, c-format msgid "cannot use type %s in IS JSON predicate" msgstr "Typ %s kann nicht im IS-JSON-Prädikat verwendet werden" -#: parser/parse_expr.c:4109 parser/parse_expr.c:4229 -#, fuzzy, c-format -#| msgid "cannot cast type %s to %s" +#: parser/parse_expr.c:4118 parser/parse_expr.c:4238 +#, c-format msgid "cannot use RETURNING type %s in %s" -msgstr "kann Typ %s nicht in Typ %s umwandeln" +msgstr "kann RETURNING-Typ %s nicht in %s verwenden" -#: parser/parse_expr.c:4158 -#, fuzzy, c-format -#| msgid "cannot use non-string types with implicit FORMAT JSON clause" +#: parser/parse_expr.c:4167 +#, c-format msgid "cannot use non-string types with WITH UNIQUE KEYS clause" -msgstr "implizite FORMAT-JSON-Klausel kann nicht mit Typen verwendet werden, die keine Zeichenketten sind" +msgstr "Klausel WITH UNIQUE KEYS kann nicht mit Typen verwendet werden, die keine Zeichenketten sind" -#: parser/parse_expr.c:4232 +#: parser/parse_expr.c:4241 #, c-format msgid "Try returning a string type or bytea." -msgstr "" +msgstr "Versuchen Sie einen Zeichenkettentyp oder bytea zurückzugeben." -#: parser/parse_expr.c:4297 +#: parser/parse_expr.c:4306 #, c-format msgid "cannot specify FORMAT JSON in RETURNING clause of %s()" -msgstr "" +msgstr "FORMAT JSON kann nicht in der RETURNING-Klausel von %s() angegeben werden" -#: parser/parse_expr.c:4309 +#: parser/parse_expr.c:4319 #, c-format msgid "SQL/JSON QUOTES behavior must not be specified when WITH WRAPPER is used" -msgstr "" +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:4333 parser/parse_expr.c:4362 parser/parse_expr.c:4393 +#: parser/parse_expr.c:4419 parser/parse_expr.c:4445 +#: parser/parse_jsontable.c:94 +#, c-format +msgid "invalid %s behavior" +msgstr "ungültiges »%s«-Verhalten" + +#. 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:4336 parser/parse_expr.c:4365 +#, 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." + +#. 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:4343 parser/parse_expr.c:4372 parser/parse_expr.c:4401 +#: parser/parse_expr.c:4429 parser/parse_expr.c:4455 +#, 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:4346 parser/parse_expr.c:4375 +#, 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:4394 +#, 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." -#: parser/parse_expr.c:4336 +#. translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) +#: parser/parse_expr.c:4404 +#, 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:4422 parser/parse_expr.c:4448 +#, 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:4432 parser/parse_expr.c:4458 +#, 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:4488 #, 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:4684 +#: parser/parse_expr.c:4706 #, c-format msgid "can only specify a constant, non-aggregate function, or operator expression for DEFAULT" -msgstr "" +msgstr "für DEFAULT kann nur eine Konstante, Nicht-Aggregat-Funktion oder ein Operatorausdruck angegeben werden" -#: parser/parse_expr.c:4689 +#: parser/parse_expr.c:4711 #, c-format msgid "DEFAULT expression must not contain column references" msgstr "DEFAULT-Ausdruck darf keine Spaltenverweise enthalten" -#: parser/parse_expr.c:4694 +#: parser/parse_expr.c:4716 #, c-format msgid "DEFAULT expression must not return a set" msgstr "DEFAULT-Ausdruck darf keine Ergebnismenge zurückgeben" -#: parser/parse_expr.c:4728 -#, fuzzy, c-format -#| msgid "cannot cast type %s to %s" +#: parser/parse_expr.c:4792 parser/parse_expr.c:4801 +#, c-format msgid "cannot cast behavior expression of type %s to %s" -msgstr "kann Typ %s nicht in Typ %s umwandeln" +msgstr "kann Verhaltensausdruck nicht von Typ %s in %s umwandeln" + +#: parser/parse_expr.c:4795 +#, 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." #: parser/parse_func.c:194 #, c-format @@ -18823,27 +18790,16 @@ msgstr "Funktionen mit Ergebnismenge sind in COPY-FROM-WHERE-Bedingungen nicht e msgid "set-returning functions are not allowed in column generation expressions" msgstr "Funktionen mit Ergebnismenge sind in Spaltengenerierungsausdrücken nicht erlaubt" -#: parser/parse_jsontable.c:94 -#, c-format -msgid "invalid ON ERROR behavior" -msgstr "ungültiges ON-ERROR-Verhalten" - #: parser/parse_jsontable.c:95 #, c-format -msgid "Only EMPTY or ERROR is allowed in the top-level ON ERROR clause." -msgstr "" +msgid "Only EMPTY [ ARRAY ] or ERROR is allowed in the top-level ON ERROR clause." +msgstr "Nur EMPTY [ ARRAY ] oder ERROR ist in der ON-ERROR-Klausel auf der obersten Ebene erlaubt." #: parser/parse_jsontable.c:189 parser/parse_jsontable.c:203 #, c-format msgid "duplicate JSON_TABLE column or path name: %s" msgstr "doppelter JSON_TABLE-Spalten- oder -Pfadname: %s" -#: parser/parse_jsontable.c:295 -#, fuzzy, c-format -#| msgid "only one FOR ORDINALITY column is allowed" -msgid "cannot use more than one FOR ORDINALITY column" -msgstr "nur eine FOR-ORDINALITY-Spalte ist erlaubt" - #: parser/parse_merge.c:129 #, c-format msgid "WITH RECURSIVE is not supported for MERGE statement" @@ -18924,7 +18880,7 @@ msgstr "op ANY/ALL (array) erfordert, dass Operator keine Ergebnismenge zurückg msgid "inconsistent types deduced for parameter $%d" msgstr "inkonsistente Typen für Parameter $%d ermittelt" -#: parser/parse_param.c:309 tcop/postgres.c:740 +#: parser/parse_param.c:309 tcop/postgres.c:744 #, c-format msgid "could not determine data type of parameter $%d" msgstr "konnte Datentyp von Parameter $%d nicht ermitteln" @@ -19182,343 +19138,325 @@ msgstr "Typmodifikatoren müssen einfache Konstanten oder Bezeichner sein" msgid "invalid type name \"%s\"" msgstr "ungültiger Typname: »%s«" -#: parser/parse_utilcmd.c:266 +#: parser/parse_utilcmd.c:263 #, c-format msgid "cannot create partitioned table as inheritance child" msgstr "partitionierte Tabelle kann nicht als Vererbungskind erzeugt werden" -#: parser/parse_utilcmd.c:586 +#: parser/parse_utilcmd.c:475 +#, c-format +msgid "cannot set logged status of a temporary sequence" +msgstr "kann den geloggten Status einer temporären Sequenz nicht ändern" + +#: parser/parse_utilcmd.c:611 #, c-format msgid "array of serial is not implemented" msgstr "Array aus Typ serial ist nicht implementiert" -#: parser/parse_utilcmd.c:665 parser/parse_utilcmd.c:677 -#: parser/parse_utilcmd.c:736 +#: parser/parse_utilcmd.c:690 parser/parse_utilcmd.c:702 +#: parser/parse_utilcmd.c:761 #, c-format msgid "conflicting NULL/NOT NULL declarations for column \"%s\" of table \"%s\"" msgstr "widersprüchliche NULL/NOT NULL-Deklarationen für Spalte »%s« von Tabelle »%s«" -#: parser/parse_utilcmd.c:689 +#: parser/parse_utilcmd.c:714 #, c-format msgid "multiple default values specified for column \"%s\" of table \"%s\"" msgstr "mehrere Vorgabewerte angegeben für Spalte »%s« von Tabelle »%s«" -#: parser/parse_utilcmd.c:706 +#: parser/parse_utilcmd.c:731 #, c-format msgid "identity columns are not supported on typed tables" msgstr "Identitätsspalten in getypten Tabellen werden nicht unterstützt" -#: parser/parse_utilcmd.c:710 +#: parser/parse_utilcmd.c:735 #, c-format msgid "identity columns are not supported on partitions" msgstr "Identitätsspalten in partitionierten Tabellen werden nicht unterstützt" -#: parser/parse_utilcmd.c:719 +#: parser/parse_utilcmd.c:744 #, c-format msgid "multiple identity specifications for column \"%s\" of table \"%s\"" msgstr "mehrere Identitätsangaben für Spalte »%s« von Tabelle »%s«" -#: parser/parse_utilcmd.c:749 +#: parser/parse_utilcmd.c:774 #, c-format msgid "generated columns are not supported on typed tables" msgstr "generierte Spalten in getypten Tabellen werden nicht unterstützt" -#: parser/parse_utilcmd.c:753 +#: parser/parse_utilcmd.c:778 #, c-format msgid "multiple generation clauses specified for column \"%s\" of table \"%s\"" msgstr "mehrere Generierungsklauseln angegeben für Spalte »%s« von Tabelle »%s«" -#: parser/parse_utilcmd.c:771 parser/parse_utilcmd.c:886 +#: parser/parse_utilcmd.c:796 parser/parse_utilcmd.c:911 #, c-format msgid "primary key constraints are not supported on foreign tables" msgstr "Primärschlüssel für Fremdtabellen werden nicht unterstützt" -#: parser/parse_utilcmd.c:780 parser/parse_utilcmd.c:896 +#: parser/parse_utilcmd.c:805 parser/parse_utilcmd.c:921 #, c-format msgid "unique constraints are not supported on foreign tables" msgstr "Unique-Constraints auf Fremdtabellen werden nicht unterstützt" -#: parser/parse_utilcmd.c:825 +#: parser/parse_utilcmd.c:850 #, c-format msgid "both default and identity specified for column \"%s\" of table \"%s\"" msgstr "sowohl Vorgabewert als auch Identität angegeben für Spalte »%s« von Tabelle »%s«" -#: parser/parse_utilcmd.c:833 +#: parser/parse_utilcmd.c:858 #, c-format msgid "both default and generation expression specified for column \"%s\" of table \"%s\"" msgstr "sowohl Vorgabewert als auch Generierungsausdruck angegeben für Spalte »%s« von Tabelle »%s«" -#: parser/parse_utilcmd.c:841 +#: parser/parse_utilcmd.c:866 #, c-format msgid "both identity and generation expression specified for column \"%s\" of table \"%s\"" msgstr "sowohl Identität als auch Generierungsausdruck angegeben für Spalte »%s« von Tabelle »%s«" -#: parser/parse_utilcmd.c:906 +#: parser/parse_utilcmd.c:931 #, c-format msgid "exclusion constraints are not supported on foreign tables" msgstr "Exclusion-Constraints auf Fremdtabellen werden nicht unterstützt" -#: parser/parse_utilcmd.c:971 +#: parser/parse_utilcmd.c:996 #, c-format msgid "LIKE is not supported for creating foreign tables" msgstr "LIKE wird für das Erzeugen von Fremdtabellen nicht unterstützt" -#: parser/parse_utilcmd.c:984 +#: parser/parse_utilcmd.c:1009 #, c-format msgid "relation \"%s\" is invalid in LIKE clause" msgstr "Relation »%s« ist ungültig in der LIKE-Klausel" -#: parser/parse_utilcmd.c:1711 parser/parse_utilcmd.c:1819 +#: parser/parse_utilcmd.c:1736 parser/parse_utilcmd.c:1844 #, c-format msgid "Index \"%s\" contains a whole-row table reference." msgstr "Index »%s« enthält einen Verweis auf die ganze Zeile der Tabelle." -#: parser/parse_utilcmd.c:2217 +#: parser/parse_utilcmd.c:2242 #, c-format msgid "cannot use an existing index in CREATE TABLE" msgstr "bestehender Index kann nicht in CREATE TABLE verwendet werden" -#: parser/parse_utilcmd.c:2237 +#: parser/parse_utilcmd.c:2262 #, c-format msgid "index \"%s\" is already associated with a constraint" msgstr "Index »%s« gehört bereits zu einem Constraint" -#: parser/parse_utilcmd.c:2258 +#: parser/parse_utilcmd.c:2283 #, c-format msgid "\"%s\" is not a unique index" msgstr "»%s« ist kein Unique Index" -#: parser/parse_utilcmd.c:2259 parser/parse_utilcmd.c:2266 -#: parser/parse_utilcmd.c:2273 parser/parse_utilcmd.c:2350 +#: parser/parse_utilcmd.c:2284 parser/parse_utilcmd.c:2291 +#: parser/parse_utilcmd.c:2298 parser/parse_utilcmd.c:2375 #, c-format msgid "Cannot create a primary key or unique constraint using such an index." msgstr "Ein Primärschlüssel oder Unique-Constraint kann nicht mit einem solchen Index erzeugt werden." -#: parser/parse_utilcmd.c:2265 +#: parser/parse_utilcmd.c:2290 #, c-format msgid "index \"%s\" contains expressions" msgstr "Index »%s« enthält Ausdrücke" -#: parser/parse_utilcmd.c:2272 +#: parser/parse_utilcmd.c:2297 #, c-format msgid "\"%s\" is a partial index" msgstr "»%s« ist ein partieller Index" -#: parser/parse_utilcmd.c:2284 +#: parser/parse_utilcmd.c:2309 #, c-format msgid "\"%s\" is a deferrable index" msgstr "»%s« ist ein aufschiebbarer Index" -#: parser/parse_utilcmd.c:2285 +#: parser/parse_utilcmd.c:2310 #, c-format msgid "Cannot create a non-deferrable constraint using a deferrable index." msgstr "Ein nicht aufschiebbarer Constraint kann nicht mit einem aufschiebbaren Index erzeugt werden." -#: parser/parse_utilcmd.c:2349 +#: parser/parse_utilcmd.c:2374 #, c-format msgid "index \"%s\" column number %d does not have default sorting behavior" msgstr "Index »%s« Spalte Nummer %d hat nicht das Standardsortierverhalten" -#: parser/parse_utilcmd.c:2506 +#: parser/parse_utilcmd.c:2531 #, c-format msgid "column \"%s\" appears twice in primary key constraint" msgstr "Spalte »%s« erscheint zweimal im Primärschlüssel-Constraint" -#: parser/parse_utilcmd.c:2512 +#: parser/parse_utilcmd.c:2537 #, c-format msgid "column \"%s\" appears twice in unique constraint" msgstr "Spalte »%s« erscheint zweimal im Unique-Constraint" -#: parser/parse_utilcmd.c:2846 +#: parser/parse_utilcmd.c:2871 #, c-format msgid "index expressions and predicates can refer only to the table being indexed" msgstr "Indexausdrücke und -prädikate können nur auf die zu indizierende Tabelle verweisen" -#: parser/parse_utilcmd.c:2918 +#: parser/parse_utilcmd.c:2943 #, c-format msgid "statistics expressions can refer only to the table being referenced" msgstr "Statistikausdrücke können nur auf die referenzierte Tabelle verweisen" -#: parser/parse_utilcmd.c:2961 +#: parser/parse_utilcmd.c:2986 #, c-format msgid "rules on materialized views are not supported" msgstr "Regeln für materialisierte Sichten werden nicht unterstützt" -#: parser/parse_utilcmd.c:3021 +#: parser/parse_utilcmd.c:3046 #, c-format msgid "rule WHERE condition cannot contain references to other relations" msgstr "WHERE-Bedingung einer Regel kann keine Verweise auf andere Relationen enthalten" -#: parser/parse_utilcmd.c:3093 +#: parser/parse_utilcmd.c:3118 #, c-format msgid "rules with WHERE conditions can only have SELECT, INSERT, UPDATE, or DELETE actions" msgstr "Regeln mit WHERE-Bedingungen können als Aktion nur SELECT, INSERT, UPDATE oder DELETE haben" -#: parser/parse_utilcmd.c:3111 parser/parse_utilcmd.c:3212 -#: rewrite/rewriteHandler.c:537 rewrite/rewriteManip.c:1095 +#: parser/parse_utilcmd.c:3136 parser/parse_utilcmd.c:3237 +#: rewrite/rewriteHandler.c:538 rewrite/rewriteManip.c:1095 #, c-format msgid "conditional UNION/INTERSECT/EXCEPT statements are not implemented" msgstr "UNION/INTERSECTION/EXCEPT mit Bedingung sind nicht implementiert" -#: parser/parse_utilcmd.c:3129 +#: parser/parse_utilcmd.c:3154 #, c-format msgid "ON SELECT rule cannot use OLD" msgstr "ON-SELECT-Regel kann nicht OLD verwenden" -#: parser/parse_utilcmd.c:3133 +#: parser/parse_utilcmd.c:3158 #, c-format msgid "ON SELECT rule cannot use NEW" msgstr "ON-SELECT-Regel kann nicht NEW verwenden" -#: parser/parse_utilcmd.c:3142 +#: parser/parse_utilcmd.c:3167 #, c-format msgid "ON INSERT rule cannot use OLD" msgstr "ON-INSERT-Regel kann nicht OLD verwenden" -#: parser/parse_utilcmd.c:3148 +#: parser/parse_utilcmd.c:3173 #, c-format msgid "ON DELETE rule cannot use NEW" msgstr "ON-DELETE-Regel kann nicht NEW verwenden" -#: parser/parse_utilcmd.c:3176 +#: parser/parse_utilcmd.c:3201 #, c-format msgid "cannot refer to OLD within WITH query" msgstr "in WITH-Anfrage kann nicht auf OLD verweisen werden" -#: parser/parse_utilcmd.c:3183 +#: parser/parse_utilcmd.c:3208 #, c-format msgid "cannot refer to NEW within WITH query" msgstr "in WITH-Anfrage kann nicht auf NEW verwiesen werden" -#: parser/parse_utilcmd.c:3255 -#, c-format -msgid "\"%s\" is not a partition" -msgstr "»%s« ist keine Partition" - -#: parser/parse_utilcmd.c:3290 parser/parse_utilcmd.c:3335 -#: parser/parse_utilcmd.c:4101 -#, c-format -msgid "\"%s\" is not a partitioned table" -msgstr "»%s« ist keine partitionierte Tabelle" - -#: parser/parse_utilcmd.c:3343 -#, fuzzy, c-format -#| msgid "a hash-partitioned table may not have a default partition" -msgid "partition of hash-partitioned table cannot be merged" -msgstr "eine hashpartitionierte Tabelle kann keine Standardpartition haben" - -#: parser/parse_utilcmd.c:3361 -#, fuzzy, c-format -#| msgid "transaction identifier \"%s\" is already in use" -msgid "partition with name \"%s\" is already used" -msgstr "Transaktionsbezeichner »%s« wird bereits verwendet" - -#: parser/parse_utilcmd.c:3673 -#, c-format -msgid "list of new partitions should contain at least two items" -msgstr "" - -#: parser/parse_utilcmd.c:3811 +#: parser/parse_utilcmd.c:3664 #, c-format msgid "misplaced DEFERRABLE clause" msgstr "falsch platzierte DEFERRABLE-Klausel" -#: parser/parse_utilcmd.c:3816 parser/parse_utilcmd.c:3831 +#: parser/parse_utilcmd.c:3669 parser/parse_utilcmd.c:3684 #, c-format msgid "multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed" msgstr "mehrere DEFERRABLE/NOT DEFERRABLE-Klauseln sind nicht erlaubt" -#: parser/parse_utilcmd.c:3826 +#: parser/parse_utilcmd.c:3679 #, c-format msgid "misplaced NOT DEFERRABLE clause" msgstr "falsch platzierte NOT DEFERRABLE-Klausel" -#: parser/parse_utilcmd.c:3847 +#: parser/parse_utilcmd.c:3700 #, c-format msgid "misplaced INITIALLY DEFERRED clause" msgstr "falsch platzierte INITIALLY DEFERRED-Klausel" -#: parser/parse_utilcmd.c:3852 parser/parse_utilcmd.c:3878 +#: parser/parse_utilcmd.c:3705 parser/parse_utilcmd.c:3731 #, c-format msgid "multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed" msgstr "mehrere INITIALLY IMMEDIATE/DEFERRED-Klauseln sind nicht erlaubt" -#: parser/parse_utilcmd.c:3873 +#: parser/parse_utilcmd.c:3726 #, c-format msgid "misplaced INITIALLY IMMEDIATE clause" msgstr "falsch platzierte INITIALLY IMMEDIATE-Klausel" -#: parser/parse_utilcmd.c:4066 +#: parser/parse_utilcmd.c:3919 #, c-format msgid "CREATE specifies a schema (%s) different from the one being created (%s)" msgstr "CREATE gibt ein Schema an (%s) welches nicht gleich dem zu erzeugenden Schema ist (%s)" -#: parser/parse_utilcmd.c:4108 +#: parser/parse_utilcmd.c:3954 +#, c-format +msgid "\"%s\" is not a partitioned table" +msgstr "»%s« ist keine partitionierte Tabelle" + +#: parser/parse_utilcmd.c:3961 #, c-format msgid "table \"%s\" is not partitioned" msgstr "Tabelle »%s« ist nicht partitioniert" -#: parser/parse_utilcmd.c:4115 +#: parser/parse_utilcmd.c:3968 #, c-format msgid "index \"%s\" is not partitioned" msgstr "Index »%s« ist nicht partitioniert" -#: parser/parse_utilcmd.c:4155 +#: parser/parse_utilcmd.c:4008 #, c-format msgid "a hash-partitioned table may not have a default partition" msgstr "eine hashpartitionierte Tabelle kann keine Standardpartition haben" -#: parser/parse_utilcmd.c:4172 +#: parser/parse_utilcmd.c:4025 #, c-format msgid "invalid bound specification for a hash partition" msgstr "ungültige Begrenzungsangabe für eine Hash-Partition" -#: parser/parse_utilcmd.c:4178 partitioning/partbounds.c:4803 +#: parser/parse_utilcmd.c:4031 partitioning/partbounds.c:4802 #, c-format msgid "modulus for hash partition must be an integer value greater than zero" msgstr "Modulus für Hashpartition muss eine ganze Zahl größer als null sein" -#: parser/parse_utilcmd.c:4185 partitioning/partbounds.c:4811 +#: parser/parse_utilcmd.c:4038 partitioning/partbounds.c:4810 #, c-format msgid "remainder for hash partition must be less than modulus" msgstr "Rest für Hashpartition muss kleiner als Modulus sein" -#: parser/parse_utilcmd.c:4198 +#: parser/parse_utilcmd.c:4051 #, c-format msgid "invalid bound specification for a list partition" msgstr "ungültige Begrenzungsangabe für eine Listenpartition" -#: parser/parse_utilcmd.c:4251 +#: parser/parse_utilcmd.c:4104 #, c-format msgid "invalid bound specification for a range partition" msgstr "ungültige Begrenzungsangabe für eine Bereichspartition" -#: parser/parse_utilcmd.c:4257 +#: parser/parse_utilcmd.c:4110 #, c-format msgid "FROM must specify exactly one value per partitioning column" msgstr "FROM muss genau einen Wert pro Partitionierungsspalte angeben" -#: parser/parse_utilcmd.c:4261 +#: parser/parse_utilcmd.c:4114 #, c-format msgid "TO must specify exactly one value per partitioning column" msgstr "TO muss genau einen Wert pro Partitionierungsspalte angeben" -#: parser/parse_utilcmd.c:4375 +#: parser/parse_utilcmd.c:4228 #, c-format msgid "cannot specify NULL in range bound" msgstr "NULL kann nicht in der Bereichsgrenze angegeben werden" -#: parser/parse_utilcmd.c:4424 +#: parser/parse_utilcmd.c:4277 #, 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:4431 +#: parser/parse_utilcmd.c:4284 #, 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:4474 +#: parser/parse_utilcmd.c:4327 #, 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" @@ -19531,12 +19469,12 @@ msgstr "auf UESCAPE muss eine einfache Zeichenkettenkonstante folgen" msgid "invalid Unicode escape character" msgstr "ungültiges Unicode-Escape-Zeichen" -#: parser/parser.c:347 scan.l:1391 +#: parser/parser.c:347 scan.l:1393 #, c-format msgid "invalid Unicode escape value" msgstr "ungültiger Unicode-Escape-Wert" -#: parser/parser.c:494 scan.l:702 utils/adt/varlena.c:6640 +#: parser/parser.c:494 scan.l:716 utils/adt/varlena.c:6640 #, c-format msgid "invalid Unicode escape" msgstr "ungültiges Unicode-Escape" @@ -19546,7 +19484,7 @@ msgstr "ungültiges Unicode-Escape" msgid "Unicode escapes must be \\XXXX or \\+XXXXXX." msgstr "Unicode-Escapes müssen \\XXXX oder \\+XXXXXX sein." -#: parser/parser.c:523 scan.l:663 scan.l:679 scan.l:695 +#: parser/parser.c:523 scan.l:677 scan.l:693 scan.l:709 #: utils/adt/varlena.c:6665 #, c-format msgid "invalid Unicode surrogate pair" @@ -19578,132 +19516,51 @@ msgstr "Der neue Modulus %d ist kein Faktor von %d, dem Modulus der bestehenden msgid "The new modulus %d is not divisible by %d, the modulus of existing partition \"%s\"." msgstr "Der neue Modulus %d ist nicht durch %d, den Modulus der bestehenden Parition »%s«, teilbar." -#: partitioning/partbounds.c:3127 partitioning/partbounds.c:5202 +#: partitioning/partbounds.c:3127 #, c-format msgid "empty range bound specified for partition \"%s\"" msgstr "leere Bereichsgrenze angegeben für Partition »%s«" -#: partitioning/partbounds.c:3129 partitioning/partbounds.c:5204 +#: partitioning/partbounds.c:3129 #, c-format msgid "Specified lower bound %s is greater than or equal to upper bound %s." msgstr "Angegebene Untergrenze %s ist größer als oder gleich der Obergrenze %s." -#: partitioning/partbounds.c:3238 +#: partitioning/partbounds.c:3237 #, c-format msgid "partition \"%s\" would overlap partition \"%s\"" msgstr "Partition »%s« würde sich mit Partition »%s« überlappen" -#: partitioning/partbounds.c:3355 +#: partitioning/partbounds.c:3354 #, c-format msgid "skipped scanning foreign table \"%s\" which is a partition of default partition \"%s\"" msgstr "Scannen von Fremdtabelle »%s«, die eine Partition der Standardpartition »%s« ist, wurde übersprungen" -#: partitioning/partbounds.c:4807 +#: partitioning/partbounds.c:4806 #, c-format msgid "remainder for hash partition must be an integer value greater than or equal to zero" msgstr "Rest für Hashpartition muss eine ganze Zahl größer als oder gleich null sein" -#: partitioning/partbounds.c:4831 +#: partitioning/partbounds.c:4830 #, c-format msgid "\"%s\" is not a hash partitioned table" msgstr "»%s« ist keine Hash-partitionierte Tabelle" -#: partitioning/partbounds.c:4842 partitioning/partbounds.c:4959 +#: partitioning/partbounds.c:4841 partitioning/partbounds.c:4958 #, c-format msgid "number of partitioning columns (%d) does not match number of partition keys provided (%d)" msgstr "Anzahl der Partitionierungsspalten (%d) stimmt nicht mit der Anzahl der angegebenen Partitionierungsschlüssel (%d) überein" -#: partitioning/partbounds.c:4864 +#: partitioning/partbounds.c:4863 #, c-format msgid "column %d of the partition key has type %s, but supplied value is of type %s" msgstr "Spalte %d des Partitionierungsschlüssels hat Typ %s, aber der angegebene Wert hat Typ %s" -#: partitioning/partbounds.c:4896 +#: partitioning/partbounds.c:4895 #, c-format msgid "column %d of the partition key has type \"%s\", but supplied value is of type \"%s\"" msgstr "Spalte %d des Partitionierungsschlüssels hat Typ »%s«, aber der angegebene Wert hat Typ »%s«" -#: partitioning/partbounds.c:5038 -#, fuzzy, c-format -#| msgid "partition \"%s\" conflicts with existing default partition \"%s\"" -msgid "lower bound of partition \"%s\" conflicts with upper bound of previous partition \"%s\"" -msgstr "Partition »%s« kollidiert mit bestehender Standardpartition »%s«" - -#: partitioning/partbounds.c:5092 -#, fuzzy, c-format -#| msgid "partition \"%s\" would overlap partition \"%s\"" -msgid "new partition \"%s\" would overlap with another new partition \"%s\"" -msgstr "Partition »%s« würde sich mit Partition »%s« überlappen" - -#: partitioning/partbounds.c:5239 -#, c-format -msgid "lower bound of partition \"%s\" is not equal to lower bound of split partition" -msgstr "Untergrenze der Partition »%s« ist nicht gleich der Untergrenze der geteilten Partition" - -#: partitioning/partbounds.c:5251 -#, c-format -msgid "lower bound of partition \"%s\" is less than lower bound of split partition" -msgstr "Untergrenze der Partition »%s« ist kleiner als die Untergrenze der geteilten Partition" - -#: partitioning/partbounds.c:5280 -#, c-format -msgid "upper bound of partition \"%s\" is not equal to upper bound of split partition" -msgstr "Obergrenze der Partition »%s« ist nicht gleich der Obergrenze der geteilten Partition" - -#: partitioning/partbounds.c:5292 -#, c-format -msgid "upper bound of partition \"%s\" is greater than upper bound of split partition" -msgstr "Obergrenze der Partition »%s« ist größer als die Obergrenze der geteilten Partition" - -#: partitioning/partbounds.c:5364 -#, c-format -msgid "new partition \"%s\" cannot have this value because split partition does not have" -msgstr "" - -#: partitioning/partbounds.c:5380 -#, c-format -msgid "new partition \"%s\" cannot have NULL value because split partition does not have" -msgstr "" - -#: partitioning/partbounds.c:5390 -#, fuzzy, c-format -#| msgid "partition \"%s\" would overlap partition \"%s\"" -msgid "new partition \"%s\" would overlap with another (not split) partition \"%s\"" -msgstr "Partition »%s« würde sich mit Partition »%s« überlappen" - -#: partitioning/partbounds.c:5530 -#, fuzzy, c-format -#| msgid "a hash-partitioned table may not have a default partition" -msgid "new partitions do not have value %s but split partition does" -msgstr "eine hashpartitionierte Tabelle kann keine Standardpartition haben" - -#: partitioning/partbounds.c:5607 -#, c-format -msgid "DEFAULT partition should be one" -msgstr "" - -#: partitioning/partbounds.c:5623 -#, fuzzy, c-format -#| msgid "a hash-partitioned table may not have a default partition" -msgid "partition of hash-partitioned table cannot be split" -msgstr "eine hashpartitionierte Tabelle kann keine Standardpartition haben" - -#: partitioning/partbounds.c:5677 -#, c-format -msgid "one partition in the list should be DEFAULT because split partition is DEFAULT" -msgstr "" - -#: partitioning/partbounds.c:5687 -#, c-format -msgid "new partition cannot be DEFAULT because DEFAULT partition already exists" -msgstr "" - -#: partitioning/partbounds.c:5746 -#, fuzzy, c-format -#| msgid "name \"%s\" is already declared" -msgid "name \"%s\" is already used" -msgstr "Name »%s« ist bereits deklariert" - #: port/pg_sema.c:209 port/pg_shmem.c:717 port/posix_sema.c:209 #: port/sysv_sema.c:323 port/sysv_shmem.c:717 #, c-format @@ -19986,7 +19843,7 @@ msgstr "Background-Worker »%s«: ungültiges Neustart-Intervall" msgid "background worker \"%s\": parallel workers may not be configured for restart" msgstr "Background-Worker »%s«: parallele Arbeitsprozesse dürfen nicht für Neustart konfiguriert sein" -#: postmaster/bgworker.c:715 tcop/postgres.c:3285 +#: postmaster/bgworker.c:715 tcop/postgres.c:3312 #, c-format msgid "terminating background worker \"%s\" due to administrator command" msgstr "Background-Worker »%s« wird abgebrochen aufgrund von Anweisung des Administrators" @@ -20035,93 +19892,92 @@ msgstr "Checkpoint-Anforderung fehlgeschlagen" msgid "Consult recent messages in the server log for details." msgstr "Einzelheiten finden Sie in den letzten Meldungen im Serverlog." -#: postmaster/launch_backend.c:369 +#: postmaster/launch_backend.c:381 #, c-format msgid "could not execute server process \"%s\": %m" msgstr "konnte Serverprozess »%s« nicht ausführen: %m" -#: postmaster/launch_backend.c:422 +#: postmaster/launch_backend.c:434 #, c-format msgid "could not create backend parameter file mapping: error code %lu" msgstr "konnte Backend-Parameter-Datei-Mapping nicht erzeugen: Fehlercode %lu" -#: postmaster/launch_backend.c:430 +#: postmaster/launch_backend.c:442 #, c-format msgid "could not map backend parameter memory: error code %lu" msgstr "konnte Backend-Parameter-Speicher nicht mappen: Fehlercode %lu" -#: postmaster/launch_backend.c:447 +#: postmaster/launch_backend.c:459 #, c-format msgid "subprocess command line too long" msgstr "Kommandozeile für Subprozess zu lang" -#: postmaster/launch_backend.c:465 +#: postmaster/launch_backend.c:477 #, c-format msgid "CreateProcess() call failed: %m (error code %lu)" msgstr "Aufruf von CreateProcess() fehlgeschlagen: %m (Fehlercode %lu)" -#: postmaster/launch_backend.c:492 +#: postmaster/launch_backend.c:504 #, c-format msgid "could not unmap view of backend parameter file: error code %lu" msgstr "konnte Sicht der Backend-Parameter-Datei nicht unmappen: Fehlercode %lu" -#: postmaster/launch_backend.c:496 +#: postmaster/launch_backend.c:508 #, c-format msgid "could not close handle to backend parameter file: error code %lu" msgstr "konnte Handle für Backend-Parameter-Datei nicht schließen: Fehlercode %lu" -#: postmaster/launch_backend.c:518 +#: postmaster/launch_backend.c:530 #, c-format msgid "giving up after too many tries to reserve shared memory" msgstr "Aufgabe nach zu vielen Versuchen, Shared Memory zu reservieren" -#: postmaster/launch_backend.c:519 +#: postmaster/launch_backend.c:531 #, c-format msgid "This might be caused by ASLR or antivirus software." msgstr "Dies kann durch ASLR oder Antivirus-Software verursacht werden." -#: postmaster/launch_backend.c:817 +#: postmaster/launch_backend.c:834 #, c-format msgid "could not duplicate socket %d for use in backend: error code %d" msgstr "konnte Socket %d nicht für Verwendung in Backend duplizieren: Fehlercode %d" -#: postmaster/launch_backend.c:849 +#: postmaster/launch_backend.c:866 #, c-format msgid "could not create inherited socket: error code %d\n" msgstr "konnte geerbtes Socket nicht erzeugen: Fehlercode %d\n" -#: postmaster/launch_backend.c:878 +#: postmaster/launch_backend.c:895 #, c-format msgid "could not open backend variables file \"%s\": %m\n" msgstr "konnte Servervariablendatei »%s« nicht öffnen: %m\n" -#: postmaster/launch_backend.c:884 +#: postmaster/launch_backend.c:901 #, c-format msgid "could not read from backend variables file \"%s\": %m\n" msgstr "konnte nicht aus Servervariablendatei »%s« lesen: %m\n" -#: postmaster/launch_backend.c:895 -#, fuzzy, c-format -#| msgid "could not read from backend variables file \"%s\": %s\n" +#: postmaster/launch_backend.c:912 +#, c-format msgid "could not read startup data from backend variables file \"%s\": %m\n" -msgstr "konnte nicht aus Servervariablendatei »%s« lesen: %s\n" +msgstr "konnte Startup-Daten nicht aus Servervariablendatei »%s« lesen: %m\n" -#: postmaster/launch_backend.c:907 +#: postmaster/launch_backend.c:924 #, c-format msgid "could not remove file \"%s\": %m\n" msgstr "konnte Datei »%s« nicht löschen: %m\n" -#: postmaster/launch_backend.c:923 +#: postmaster/launch_backend.c:940 #, c-format msgid "could not map view of backend variables: error code %lu\n" msgstr "konnte Sicht der Backend-Variablen nicht mappen: Fehlercode %lu\n" -#: postmaster/launch_backend.c:942 +#: postmaster/launch_backend.c:959 #, c-format msgid "could not unmap view of backend variables: error code %lu\n" msgstr "konnte Sicht der Backend-Variablen nicht unmappen: Fehlercode %lu\n" -#: postmaster/launch_backend.c:949 +#: postmaster/launch_backend.c:966 #, c-format msgid "could not close handle to backend parameter variables: error code %lu\n" msgstr "konnte Handle für Backend-Parametervariablen nicht schließen: Fehlercode %lu\n" @@ -20422,10 +20278,8 @@ msgid "system logger process" msgstr "Systemlogger-Prozess" #: postmaster/postmaster.c:2660 -#, fuzzy -#| msgid "could not create worker process: %m" msgid "slot sync worker process" -msgstr "konnte Arbeitsprozess nicht erzeugen: %m" +msgstr "Slot-Sync-Arbeitsprozess" #: postmaster/postmaster.c:2716 #, c-format @@ -20606,36 +20460,43 @@ msgstr "konnte Logdatei »%s« nicht öffnen: %m" msgid "disabling automatic rotation (use SIGHUP to re-enable)" msgstr "automatische Rotation abgeschaltet (SIGHUP zum Wiederanschalten verwenden)" -#: postmaster/walsummarizer.c:384 +#: postmaster/walsummarizer.c:740 #, c-format -msgid "switch point from TLI %u to TLI %u is at %X/%X" -msgstr "" +msgid "WAL summarization is not progressing" +msgstr "WAL-Zusammenfassung kommt nicht voran" -#: postmaster/walsummarizer.c:885 +#: postmaster/walsummarizer.c:741 +#, c-format +msgid "Summarization is needed through %X/%X, but is stuck at %X/%X on disk and %X/%X in memory." +msgstr "Zusammenfassung bis %X/%X wird benötigt, aber sie hängt fest bei %X/%X auf Festplatte und %X/%X im Speicher." + +#: postmaster/walsummarizer.c:755 +#, c-format +msgid "still waiting for WAL summarization through %X/%X after %ld second" +msgid_plural "still waiting for WAL summarization through %X/%X after %ld seconds" +msgstr[0] "warte immer noch auf WAL-Zusammenfassung bis %X/%X nach %ld Sekunde" +msgstr[1] "warte immer noch auf WAL-Zusammenfassung bis %X/%X nach %ld Sekunden" + +#: postmaster/walsummarizer.c:760 +#, c-format +msgid "Summarization has reached %X/%X on disk and %X/%X in memory." +msgstr "Zusammenfassung hat %X/%X auf Festplatte und %X/%X im Speicher erreicht." + +#: postmaster/walsummarizer.c:1000 #, c-format msgid "could not find a valid record after %X/%X" msgstr "konnte keinen gültigen Datensatz nach %X/%X finden" -#: postmaster/walsummarizer.c:930 +#: postmaster/walsummarizer.c:1045 #, c-format msgid "could not read WAL from timeline %u at %X/%X: %s" msgstr "konnte WAL aus Zeitleiste %u bei %X/%X nicht lesen: %s" -#: postmaster/walsummarizer.c:936 +#: postmaster/walsummarizer.c:1051 #, c-format msgid "could not read WAL from timeline %u at %X/%X" msgstr "konnte WAL aus Zeitleiste %u bei %X/%X nicht lesen" -#: postmaster/walsummarizer.c:1077 -#, c-format -msgid "summarized WAL on TLI %u from %X/%X to %X/%X" -msgstr "" - -#: postmaster/walsummarizer.c:1385 -#, c-format -msgid "timeline %u became historic, can read up to %X/%X" -msgstr "" - #: regex/regc_pg_locale.c:244 #, c-format msgid "could not determine which collation to use for regular expression" @@ -20848,10 +20709,10 @@ msgid "out of logical replication worker slots" msgstr "alle Slots für Arbeitsprozesse für logische Replikation belegt" #: replication/logical/launcher.c:428 replication/logical/launcher.c:514 -#: replication/slot.c:1524 storage/lmgr/lock.c:963 storage/lmgr/lock.c:1001 -#: storage/lmgr/lock.c:2804 storage/lmgr/lock.c:4189 storage/lmgr/lock.c:4254 -#: storage/lmgr/lock.c:4604 storage/lmgr/predicate.c:2464 -#: storage/lmgr/predicate.c:2479 storage/lmgr/predicate.c:3876 +#: replication/slot.c:1524 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 #, c-format msgid "You might need to increase \"%s\"." msgstr "Sie müssen möglicherweise »%s« erhöhen." @@ -20881,85 +20742,86 @@ msgstr "logische Dekodierung erfordert »wal_level« >= »logical«" msgid "logical decoding requires a database connection" msgstr "logische Dekodierung benötigt eine Datenbankverbindung" -#: replication/logical/logical.c:364 replication/logical/logical.c:518 +#: replication/logical/logical.c:365 replication/logical/logical.c:519 #, 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:369 replication/logical/logical.c:528 +#: replication/logical/logical.c:370 replication/logical/logical.c:529 #, c-format msgid "replication slot \"%s\" was not created in this database" msgstr "Replikations-Slot »%s« wurde nicht in dieser Datenbank erzeugt" -#: replication/logical/logical.c:376 +#: replication/logical/logical.c:377 #, c-format 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:539 +#: replication/logical/logical.c:540 #, 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:541 +#: replication/logical/logical.c:542 replication/slot.c:798 +#: replication/slot.c:829 #, c-format -msgid "This slot is being synchronized from the primary server." -msgstr "Dieser Slot wird vom Primärserver synchronisiert." +msgid "This replication slot is being synchronized from the primary server." +msgstr "Dieser Replikations-Slot wird vom Primärserver synchronisiert." -#: replication/logical/logical.c:542 +#: replication/logical/logical.c:543 #, c-format msgid "Specify another replication slot." msgstr "Geben Sie einen anderen Replikations-Slot an." -#: replication/logical/logical.c:553 replication/logical/logical.c:560 +#: replication/logical/logical.c:554 replication/logical/logical.c:561 #, 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:555 +#: replication/logical/logical.c:556 #, 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:562 +#: replication/logical/logical.c:563 #, 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:627 +#: replication/logical/logical.c:628 #, c-format msgid "starting logical decoding for slot \"%s\"" msgstr "starte logisches Dekodieren für Slot »%s«" -#: replication/logical/logical.c:629 +#: replication/logical/logical.c:630 #, 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:777 +#: replication/logical/logical.c:778 #, 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:783 +#: replication/logical/logical.c:784 #, 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:954 replication/logical/logical.c:999 -#: replication/logical/logical.c:1044 replication/logical/logical.c:1090 +#: replication/logical/logical.c:955 replication/logical/logical.c:1000 +#: replication/logical/logical.c:1045 replication/logical/logical.c:1091 #, 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:1322 replication/logical/logical.c:1371 -#: replication/logical/logical.c:1412 replication/logical/logical.c:1498 -#: replication/logical/logical.c:1547 +#: 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 #, c-format msgid "logical streaming requires a %s callback" msgstr "logisches Streaming benötigt einen %s-Callback" -#: replication/logical/logical.c:1457 +#: replication/logical/logical.c:1458 #, c-format msgid "logical streaming at prepare time requires a %s callback" msgstr "logisches Streaming bei PREPARE TRANSACTION benötigt einen %s-Callback" @@ -20984,7 +20846,7 @@ msgstr "Array muss eindimensional sein" msgid "array must not contain nulls" msgstr "Array darf keine NULL-Werte enthalten" -#: replication/logical/logicalfuncs.c:177 utils/adt/json.c:1406 +#: replication/logical/logicalfuncs.c:177 utils/adt/json.c:1420 #: utils/adt/jsonb.c:1304 #, c-format msgid "array must have even number of elements" @@ -21109,157 +20971,144 @@ msgstr "Zielrelation für logische Replikation »%s.%s« verwendet Systemspalten msgid "logical replication target relation \"%s.%s\" does not exist" msgstr "Zielrelation für logische Replikation »%s.%s« existiert nicht" -#: replication/logical/reorderbuffer.c:3970 +#: replication/logical/reorderbuffer.c:3999 #, c-format msgid "could not write to data file for XID %u: %m" msgstr "konnte nicht in Datendatei für XID %u schreiben: %m" -#: replication/logical/reorderbuffer.c:4316 -#: replication/logical/reorderbuffer.c:4341 +#: replication/logical/reorderbuffer.c:4345 +#: replication/logical/reorderbuffer.c:4370 #, c-format msgid "could not read from reorderbuffer spill file: %m" msgstr "konnte nicht aus Reorder-Buffer-Spill-Datei lesen: %m" -#: replication/logical/reorderbuffer.c:4320 -#: replication/logical/reorderbuffer.c:4345 +#: replication/logical/reorderbuffer.c:4349 +#: replication/logical/reorderbuffer.c:4374 #, c-format msgid "could not read from reorderbuffer spill file: read %d instead of %u bytes" msgstr "konnte nicht aus Reorder-Buffer-Spill-Datei lesen: %d statt %u Bytes gelesen" -#: replication/logical/reorderbuffer.c:4595 +#: replication/logical/reorderbuffer.c:4624 #, c-format msgid "could not remove file \"%s\" during removal of pg_replslot/%s/xid*: %m" msgstr "konnte Datei »%s« nicht löschen, bei Löschen von pg_replslot/%s/xid*: %m" -#: replication/logical/reorderbuffer.c:5091 +#: replication/logical/reorderbuffer.c:5120 #, c-format 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 #, c-format -msgid "could not sync slot \"%s\" as remote slot precedes local slot" -msgstr "" +msgid "could not synchronize replication slot \"%s\" because remote slot precedes local slot" +msgstr "konnte Replikations-Slot »%s« nicht synchronisieren, weil der Remote-Slot dem lokalen vorangeht" #: replication/logical/slotsync.c:217 #, c-format -msgid "Remote slot has LSN %X/%X and catalog xmin %u, but local slot has LSN %X/%X and catalog xmin %u." -msgstr "" +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 "Der Remote-Slot hat LSN %X/%X und Katalog-xmin %u, aber der lokale Slot hat LSN %X/%X und Katalog-xmin %u." #: replication/logical/slotsync.c:459 -#, fuzzy, c-format -#| msgid "dropped replication slot \"%s\" on publisher" -msgid "dropped replication slot \"%s\" of dbid %u" -msgstr "Replikations-Slot »%s« auf dem Publikationsserver wurde gelöscht" +#, c-format +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:579 -#, fuzzy, c-format -#| msgid "could not fsync file \"%s\": %m" -msgid "could not sync slot \"%s\"" -msgstr "konnte Datei »%s« nicht fsyncen: %m" +#, c-format +msgid "could not synchronize replication slot \"%s\"" +msgstr "konnte Replikations-Slot »%s« nicht synchronisieren" #: replication/logical/slotsync.c:580 -#, fuzzy, c-format -#| msgid "logical decoding found consistent point at %X/%X" -msgid "Logical decoding cannot find consistent point from local slot's LSN %X/%X." -msgstr "logisches Dekodieren fand konsistenten Punkt bei %X/%X" +#, c-format +msgid "Logical decoding could not find consistent point from local slot's LSN %X/%X." +msgstr "Logisches Dekodieren konnte keinen konsistenten Punkt von der LSN des lokalen Slots %X/%X finden." #: replication/logical/slotsync.c:589 #, c-format -msgid "newly created slot \"%s\" is sync-ready now" -msgstr "" +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 #, c-format -msgid "skipping slot synchronization as the received slot sync LSN %X/%X for slot \"%s\" is ahead of the standby position %X/%X" -msgstr "" +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 #, c-format msgid "exiting from slot synchronization because same name slot \"%s\" already exists on the standby" -msgstr "" +msgstr "verlasse Slot-Synchronisierung, weil der gleiche Slot »%s« schon auf dem Standby existiert" #: replication/logical/slotsync.c:819 -#, fuzzy, c-format -#| msgid "could not receive timeline history file from the primary server: %s" +#, c-format msgid "could not fetch failover logical slots info from the primary server: %s" -msgstr "konnte Zeitleisten-History-Datei nicht vom Primärserver empfangen: %s" +msgstr "konnte Informationen über logische Failover-Slots nicht vom Primärserver holen: %s" #: replication/logical/slotsync.c:965 -#, fuzzy, c-format -#| msgid "could not receive timeline history file from the primary server: %s" +#, c-format msgid "could not fetch primary_slot_name \"%s\" info from the primary server: %s" -msgstr "konnte Zeitleisten-History-Datei nicht vom Primärserver empfangen: %s" +msgstr "konnte Informationen über primary_slot_name »%s« nicht vom Primärserver holen: %s" #: replication/logical/slotsync.c:967 #, c-format msgid "Check if primary_slot_name is configured correctly." -msgstr "" +msgstr "Prüfen Sie, ob primary_slot_name korrekt konfiguriert ist." #: replication/logical/slotsync.c:987 -#, fuzzy, c-format -#| msgid "cannot copy a replication slot that doesn't reserve WAL" -msgid "cannot synchronize replication slots from a standby server" -msgstr "ein Replikations-Slot, der kein WAL reserviert, kann nicht kopiert werden" - -#: replication/logical/slotsync.c:995 #, c-format -msgid "slot synchronization requires valid primary_slot_name" -msgstr "" +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:997 -#, fuzzy, c-format -#| msgid "publication %s does not exist on the publisher" -#| msgid_plural "publications %s do not exist on the publisher" -msgid "The replication slot \"%s\" specified by %s does not exist on the primary server." -msgstr "Publikation %s existiert auf dem Publikationsserver nicht" +#: replication/logical/slotsync.c:996 +#, 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" +#. translator: first %s is a connection option; second %s is a GUC +#. variable name +#. #: replication/logical/slotsync.c:1029 -#, fuzzy, c-format -#| msgid "option %s requires option %s to be specified" -msgid "slot synchronization requires dbname to be specified in %s" -msgstr "Option %s erfordert, dass Option %s angegeben wird" +#, 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:1050 -#, fuzzy, c-format -#| msgid "slot synchronization requires wal_level >= \"logical\"" -msgid "slot synchronization requires \"wal_level\" >= \"logical\"" -msgstr "logische Dekodierung erfordert wal_level >= »logical«" +#, 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 -#, fuzzy, c-format -#| msgid "option %s requires option %s to be specified" -msgid "slot synchronization requires %s to be defined" -msgstr "Option %s erfordert, dass Option %s angegeben wird" +#, 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 -#, fuzzy, c-format -#| msgid "option %s requires option %s to be specified" -msgid "slot synchronization requires %s to be enabled" -msgstr "Option %s erfordert, dass Option %s angegeben wird" +#, 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 #, c-format -msgid "slot sync worker will shutdown because %s is disabled" -msgstr "" +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 -#, fuzzy, c-format -#| msgid "logical replication worker for subscription \"%s\" will restart because of a parameter change" -msgid "slot sync worker will restart because of a parameter change" -msgstr "Arbeitsprozess für logische Replikation für Subskription »%s« wird neu starten wegen einer Parameteränderung" +#, 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 #, c-format -msgid "slot sync worker is shutting down on receiving SIGINT" -msgstr "" +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" #: replication/logical/slotsync.c:1287 #, c-format msgid "cannot synchronize replication slots when standby promotion is ongoing" -msgstr "" +msgstr "Replikations-Slots können nicht synchronisiert werden, während die Standby-Beförderung läuft" #: replication/logical/slotsync.c:1295 #, c-format @@ -21267,10 +21116,9 @@ msgid "cannot synchronize replication slots concurrently" msgstr "Replikations-Slots können nicht nebenläufig synchronisiert werden" #: replication/logical/slotsync.c:1403 -#, fuzzy, c-format -#| msgid "server started\n" +#, c-format msgid "slot sync worker started" -msgstr "Server gestartet\n" +msgstr "Slot-Sync-Arbeitsprozess gestartet" #: replication/logical/slotsync.c:1466 replication/slotfuncs.c:900 #: replication/walreceiver.c:307 @@ -21278,70 +21126,70 @@ msgstr "Server gestartet\n" msgid "could not connect to the primary server: %s" msgstr "konnte nicht mit dem Primärserver verbinden: %s" -#: replication/logical/snapbuild.c:643 +#: replication/logical/snapbuild.c:653 #, c-format msgid "initial slot snapshot too large" msgstr "initialer Slot-Snapshot ist zu groß" -#: replication/logical/snapbuild.c:697 +#: replication/logical/snapbuild.c:707 #, c-format msgid "exported logical decoding snapshot: \"%s\" with %u transaction ID" msgid_plural "exported logical decoding snapshot: \"%s\" with %u transaction IDs" msgstr[0] "logischer Dekodierungs-Snapshot exportiert: »%s« mit %u Transaktions-ID" msgstr[1] "logischer Dekodierungs-Snapshot exportiert: »%s« mit %u Transaktions-IDs" -#: replication/logical/snapbuild.c:1392 replication/logical/snapbuild.c:1484 -#: replication/logical/snapbuild.c:2000 +#: replication/logical/snapbuild.c:1404 replication/logical/snapbuild.c:1501 +#: replication/logical/snapbuild.c:2017 #, c-format msgid "logical decoding found consistent point at %X/%X" msgstr "logisches Dekodieren fand konsistenten Punkt bei %X/%X" -#: replication/logical/snapbuild.c:1394 +#: replication/logical/snapbuild.c:1406 #, c-format msgid "There are no running transactions." msgstr "Keine laufenden Transaktionen." -#: replication/logical/snapbuild.c:1436 +#: replication/logical/snapbuild.c:1453 #, c-format msgid "logical decoding found initial starting point at %X/%X" msgstr "logisches Dekodieren fand initialen Startpunkt bei %X/%X" -#: replication/logical/snapbuild.c:1438 replication/logical/snapbuild.c:1462 +#: replication/logical/snapbuild.c:1455 replication/logical/snapbuild.c:1479 #, c-format msgid "Waiting for transactions (approximately %d) older than %u to end." msgstr "Warten auf Abschluss der Transaktionen (ungefähr %d), die älter als %u sind." -#: replication/logical/snapbuild.c:1460 +#: replication/logical/snapbuild.c:1477 #, c-format msgid "logical decoding found initial consistent point at %X/%X" msgstr "logisches Dekodieren fand initialen konsistenten Punkt bei %X/%X" -#: replication/logical/snapbuild.c:1486 +#: replication/logical/snapbuild.c:1503 #, c-format msgid "There are no old transactions anymore." msgstr "Es laufen keine alten Transaktionen mehr." -#: replication/logical/snapbuild.c:1887 +#: replication/logical/snapbuild.c:1904 #, c-format msgid "snapbuild state file \"%s\" has wrong magic number: %u instead of %u" msgstr "Scanbuild-State-Datei »%s« hat falsche magische Zahl %u statt %u" -#: replication/logical/snapbuild.c:1893 +#: replication/logical/snapbuild.c:1910 #, c-format msgid "snapbuild state file \"%s\" has unsupported version: %u instead of %u" msgstr "Snapbuild-State-Datei »%s« hat nicht unterstützte Version: %u statt %u" -#: replication/logical/snapbuild.c:1934 +#: replication/logical/snapbuild.c:1951 #, c-format msgid "checksum mismatch for snapbuild state file \"%s\": is %u, should be %u" msgstr "Prüfsummenfehler bei Snapbuild-State-Datei »%s«: ist %u, sollte %u sein" -#: replication/logical/snapbuild.c:2002 +#: replication/logical/snapbuild.c:2019 #, c-format msgid "Logical decoding will begin using saved snapshot." msgstr "Logische Dekodierung beginnt mit gespeichertem Snapshot." -#: replication/logical/snapbuild.c:2109 +#: replication/logical/snapbuild.c:2126 #, c-format msgid "could not parse file name \"%s\"" msgstr "konnte Dateinamen »%s« nicht parsen" @@ -21462,16 +21310,14 @@ msgid "logical replication worker for subscription \"%s\" will restart because o msgstr "Arbeitsprozess für logische Replikation für Subskription »%s« wird neu starten wegen einer Parameteränderung" #: replication/logical/worker.c:3954 -#, fuzzy, c-format -#| msgid "logical replication worker for subscription \"%s\" will stop because the subscription was disabled" +#, c-format msgid "logical replication parallel apply worker for subscription \"%s\" will stop because the subscription owner's superuser privileges have been revoked" -msgstr "Arbeitsprozess für logische Replikation für Subskription »%s« wird anhalten, weil die Subskription deaktiviert wurde" +msgstr "Parallel-Apply-Worker für logische Replikation für Subskription »%s« wird anhalten, weil die Superuser-Privilegien des Eigentümers der Subskription entzogen wurden" #: replication/logical/worker.c:3958 -#, fuzzy, c-format -#| msgid "logical replication worker for subscription \"%s\" will stop because the subscription was disabled" +#, c-format msgid "logical replication worker for subscription \"%s\" will restart because the subscription owner's superuser privileges have been revoked" -msgstr "Arbeitsprozess für logische Replikation für Subskription »%s« wird anhalten, weil die Subskription deaktiviert wurde" +msgstr "Arbeitsprozess für logische Replikation für Subskription »%s« wird neu starten, weil die Superuser-Privilegien des Eigentümers der Subskription entzogen wurden" #: replication/logical/worker.c:4478 #, c-format @@ -21498,62 +21344,62 @@ msgstr "Arbeitsprozess für logische Replikation für Tabellensynchronisation f 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:4734 +#: replication/logical/worker.c:4758 #, c-format msgid "subscription \"%s\" has been disabled because of an error" msgstr "Subskription »%s« wurde wegen eines Fehlers deaktiviert" -#: replication/logical/worker.c:4782 +#: replication/logical/worker.c:4806 #, 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:4796 +#: replication/logical/worker.c:4820 #, 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:4878 +#: replication/logical/worker.c:4902 #, c-format msgid "skip-LSN of subscription \"%s\" cleared" msgstr "Skip-LSN von Subskription »%s« gelöscht" -#: replication/logical/worker.c:4879 +#: replication/logical/worker.c:4903 #, 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:4905 +#: replication/logical/worker.c:4940 #, 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:4909 +#: replication/logical/worker.c:4944 #, 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:4914 +#: replication/logical/worker.c:4949 #, 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:4925 +#: replication/logical/worker.c:4960 #, 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:4932 +#: replication/logical/worker.c:4967 #, 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:4943 +#: replication/logical/worker.c:4978 #, 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:4951 +#: replication/logical/worker.c:4986 #, 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" @@ -21573,17 +21419,10 @@ msgstr "proto_version »%s« ist außerhalb des gültigen Bereichs" msgid "invalid publication_names syntax" msgstr "ungültige Syntax für publication_names" -#: replication/pgoutput/pgoutput.c:407 -#, fuzzy, c-format -#| msgid "proto_version \"%s\" out of range" -msgid "proto_version option missing" -msgstr "proto_version »%s« ist außerhalb des gültigen Bereichs" - -#: replication/pgoutput/pgoutput.c:411 -#, fuzzy, c-format -#| msgid "publication_names parameter missing" -msgid "publication_names option missing" -msgstr "Parameter »publication_names« fehlt" +#: replication/pgoutput/pgoutput.c:407 replication/pgoutput/pgoutput.c:411 +#, c-format +msgid "option \"%s\" missing" +msgstr "Option »%s« fehlt" #: replication/pgoutput/pgoutput.c:452 #, c-format @@ -21641,16 +21480,14 @@ msgid "Replication slot names may only contain lower case letters, numbers, and msgstr "Replikations-Slot-Namen dürfen nur Kleinbuchstaben, Zahlen und Unterstriche enthalten." #: replication/slot.c:333 -#, fuzzy, c-format -#| msgid "Sets the name of the replication slot to use on the sending server." +#, c-format msgid "cannot enable failover for a replication slot created on the standby" -msgstr "Setzt den Namen des zu verwendenden Replikations-Slots auf dem sendenden Server." +msgstr "Failover kann nicht für einen auf dem Standby erzeugten Replikations-Slot eingeschaltet werden" #: replication/slot.c:345 replication/slot.c:849 -#, fuzzy, c-format -#| msgid "cannot inherit from temporary relation \"%s\"" +#, c-format msgid "cannot enable failover for a temporary replication slot" -msgstr "von temporärer Relation »%s« kann nicht geerbt werden" +msgstr "Failover kann nicht für einen temporären Replikations-Slot eingeschaltet werden" #: replication/slot.c:370 #, c-format @@ -21679,56 +21516,44 @@ msgid "replication slot \"%s\" is active for PID %d" msgstr "Replikations-Slot »%s« ist aktiv für PID %d" #: replication/slot.c:638 -#, fuzzy, c-format -#| msgid "cannot copy unfinished logical replication slot \"%s\"" +#, c-format msgid "acquired logical replication slot \"%s\"" -msgstr "kann unfertigen Replikations-Slot »%s« nicht kopieren" +msgstr "logischer Replikations-Slot »%s« wurde akquiriert" #: replication/slot.c:640 -#, fuzzy, c-format -#| msgid "created replication slot \"%s\"" +#, c-format msgid "acquired physical replication slot \"%s\"" -msgstr "Replikations-Slot »%s« wurde erzeugt" +msgstr "physischer Replikations-Slot »%s« wurde akquiriert" #: replication/slot.c:729 -#, fuzzy, c-format -#| msgid "created replication slot \"%s\"" +#, c-format msgid "released logical replication slot \"%s\"" -msgstr "Replikations-Slot »%s« wurde erzeugt" +msgstr "logischer Replikations-Slot »%s« wurde freigegeben" #: replication/slot.c:731 -#, fuzzy, c-format -#| msgid "created replication slot \"%s\"" +#, c-format msgid "released physical replication slot \"%s\"" -msgstr "Replikations-Slot »%s« wurde erzeugt" +msgstr "physischer Replikations-Slot »%s« wurde freigegeben" #: replication/slot.c:797 #, c-format msgid "cannot drop replication slot \"%s\"" msgstr "kann Replikations-Slot »%s« nicht löschen" -#: replication/slot.c:798 replication/slot.c:829 -#, c-format -msgid "This slot is being synced from the primary server." -msgstr "Dieser Slot wird vom Primärserver synchronisiert." - #: replication/slot.c:816 -#, fuzzy, c-format -#| msgid "cannot use %s with a logical replication slot" +#, c-format msgid "cannot use %s with a physical replication slot" -msgstr "%s kann nicht mit einem logischem Replikations-Slot verwendet werden" +msgstr "%s kann nicht mit einem physischem Replikations-Slot verwendet werden" #: replication/slot.c:828 -#, fuzzy, c-format -#| msgid "created replication slot \"%s\"" +#, c-format msgid "cannot alter replication slot \"%s\"" -msgstr "Replikations-Slot »%s« wurde erzeugt" +msgstr "Replikations-Slot »%s« kann nicht geändert werden" #: replication/slot.c:838 -#, fuzzy, c-format -#| msgid "cannot use a logical replication slot for physical replication" +#, c-format msgid "cannot enable failover for a replication slot on the standby" -msgstr "logischer Replikations-Slot kann nicht für physische Replikation verwendet werden" +msgstr "Failover kann nicht für einen Replikations-Slot auf dem Standby eingeschaltet werden" #: replication/slot.c:969 replication/slot.c:1927 replication/slot.c:2311 #, c-format @@ -21831,62 +21656,55 @@ msgstr "zu viele aktive Replikations-Slots vor dem Herunterfahren" msgid "\"%s\" is not a physical replication slot" msgstr "»%s« ist kein physischer Replikations-Slot" -#: replication/slot.c:2637 -#, fuzzy, c-format -#| msgid "replication slot \"%s\" does not exist" -msgid "replication slot \"%s\" specified in parameter %s does not exist" -msgstr "Replikations-Slot »%s« existiert nicht" +#: replication/slot.c:2638 +#, 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:2639 replication/slot.c:2680 replication/slot.c:2695 -#, fuzzy, c-format -#| msgid "replication slot \"%s\" was not created in this database" -msgid "Logical replication is waiting on the standby associated with \"%s\"." -msgstr "Replikations-Slot »%s« wurde nicht in dieser Datenbank erzeugt" +#: replication/slot.c:2640 replication/slot.c:2681 replication/slot.c:2696 +#, 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:2641 -#, fuzzy, c-format -#| msgid "Consider increasing the configuration parameter \"max_wal_size\"." -msgid "Consider creating the slot \"%s\" or amend parameter %s." -msgstr "Erhöhen Sie eventuell den Konfigurationsparameter »max_wal_size«." +#: replication/slot.c:2642 +#, 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:2658 -#, fuzzy, c-format -#| msgid "cannot copy unfinished logical replication slot \"%s\"" -msgid "cannot have logical replication slot \"%s\" in parameter %s" -msgstr "kann unfertigen Replikations-Slot »%s« nicht kopieren" +#: replication/slot.c:2659 +#, 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:2660 -#, fuzzy, c-format -#| msgid "replication slot \"%s\" was not created in this database" -msgid "Logical replication is waiting for correction on \"%s\"." -msgstr "Replikations-Slot »%s« wurde nicht in dieser Datenbank erzeugt" +#: replication/slot.c:2661 +#, 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:2662 +#: replication/slot.c:2663 #, c-format -msgid "Consider removing logical slot \"%s\" from parameter %s." -msgstr "" +msgid "Remove the logical replication slot \"%s\" from parameter \"%s\"." +msgstr "Entfernen Sie den Replikations-Slot »%s« aus dem Parameter »%s«." -#: replication/slot.c:2678 +#: replication/slot.c:2679 #, c-format -msgid "physical slot \"%s\" specified in parameter %s has been invalidated" -msgstr "" +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:2682 -#, fuzzy, c-format -#| msgid "Consider increasing the configuration parameter \"max_wal_size\"." -msgid "Consider dropping and recreating the slot \"%s\" or amend parameter %s." -msgstr "Erhöhen Sie eventuell den Konfigurationsparameter »max_wal_size«." +#: replication/slot.c:2683 +#, 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:2693 -#, fuzzy, c-format -#| msgid "replication slot \"%s\" was not created in this database" -msgid "replication slot \"%s\" specified in parameter %s does not have active_pid" -msgstr "Replikations-Slot »%s« wurde nicht in dieser Datenbank erzeugt" +#: replication/slot.c:2694 +#, 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:2697 +#: replication/slot.c:2698 #, c-format -msgid "Consider starting standby associated with \"%s\" or amend parameter %s." -msgstr "" +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«." #: replication/slotfuncs.c:526 #, c-format @@ -21944,10 +21762,9 @@ msgid "Retry when the source replication slot's confirmed_flush_lsn is valid." msgstr "Versuchen Sie es erneut, wenn confirmed_flush_lsn des Quell-Replikations-Slots gültig ist." #: replication/slotfuncs.c:877 -#, fuzzy, c-format -#| msgid "replication slots can only be used with WAL streaming" +#, c-format msgid "replication slots can only be synchronized to a standby server" -msgstr "Replikations-Slots können nur mit WAL-Streaming verwendet werden" +msgstr "Replikations-Slots können nur zu einem Standby-Server synchronisiert werden" #: replication/syncrep.c:261 #, c-format @@ -22150,9 +21967,9 @@ msgstr "im WAL-Sender für physische Replikation können keine SQL-Befehle ausge msgid "received replication command: %s" msgstr "Replikationsbefehl empfangen: %s" -#: replication/walsender.c:2076 tcop/fastpath.c:209 tcop/postgres.c:1138 -#: tcop/postgres.c:1496 tcop/postgres.c:1736 tcop/postgres.c:2206 -#: tcop/postgres.c:2644 tcop/postgres.c:2722 +#: replication/walsender.c:2076 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 "aktuelle Transaktion wurde abgebrochen, Befehle werden bis zum Ende der Transaktion ignoriert" @@ -22353,267 +22170,271 @@ msgstr "Regel »%s« für Relation »%s« existiert nicht" msgid "renaming an ON SELECT rule is not allowed" msgstr "Umbenennen einer ON-SELECT-Regel ist nicht erlaubt" -#: rewrite/rewriteHandler.c:581 +#: rewrite/rewriteHandler.c:582 #, c-format 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:608 +#: rewrite/rewriteHandler.c:609 #, 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:661 +#: rewrite/rewriteHandler.c:662 #, c-format msgid "cannot have RETURNING lists in multiple rules" msgstr "RETURNING-Listen können nicht in mehreren Regeln auftreten" -#: rewrite/rewriteHandler.c:893 rewrite/rewriteHandler.c:932 +#: rewrite/rewriteHandler.c:894 rewrite/rewriteHandler.c:933 #, 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:895 rewrite/rewriteHandler.c:961 +#: rewrite/rewriteHandler.c:896 rewrite/rewriteHandler.c:962 #, 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:897 +#: rewrite/rewriteHandler.c:898 #, 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:959 rewrite/rewriteHandler.c:967 +#: rewrite/rewriteHandler.c:960 rewrite/rewriteHandler.c:968 #, c-format msgid "column \"%s\" can only be updated to DEFAULT" msgstr "Spalte »%s« kann nur auf DEFAULT aktualisiert werden" -#: rewrite/rewriteHandler.c:1114 rewrite/rewriteHandler.c:1132 +#: rewrite/rewriteHandler.c:1115 rewrite/rewriteHandler.c:1133 #, c-format msgid "multiple assignments to same column \"%s\"" msgstr "mehrere Zuweisungen zur selben Spalte »%s«" -#: rewrite/rewriteHandler.c:1697 +#: rewrite/rewriteHandler.c:1698 #, 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:2110 rewrite/rewriteHandler.c:4197 +#: rewrite/rewriteHandler.c:1738 rewrite/rewriteHandler.c:3229 +#, c-format +msgid "access to non-system view \"%s\" is restricted" +msgstr "Zugriff auf Nicht-System-Sicht »%s« ist beschränkt" + +#: rewrite/rewriteHandler.c:2119 rewrite/rewriteHandler.c:4221 #, c-format msgid "infinite recursion detected in rules for relation \"%s\"" msgstr "unendliche Rekursion entdeckt in Regeln für Relation »%s«" -#: rewrite/rewriteHandler.c:2195 +#: rewrite/rewriteHandler.c:2204 #, c-format msgid "infinite recursion detected in policy for relation \"%s\"" msgstr "unendliche Rekursion entdeckt in Policys für Relation »%s«" -#: rewrite/rewriteHandler.c:2547 +#: rewrite/rewriteHandler.c:2556 msgid "Junk view columns are not updatable." msgstr "Junk-Sichtspalten sind nicht aktualisierbar." -#: rewrite/rewriteHandler.c:2552 +#: rewrite/rewriteHandler.c:2561 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:2555 +#: rewrite/rewriteHandler.c:2564 msgid "View columns that refer to system columns are not updatable." msgstr "Sichtspalten, die auf Systemspalten verweisen, sind nicht aktualisierbar." -#: rewrite/rewriteHandler.c:2558 +#: rewrite/rewriteHandler.c:2567 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:2619 +#: rewrite/rewriteHandler.c:2628 msgid "Views containing DISTINCT are not automatically updatable." msgstr "Sichten, die DISTINCT enthalten, sind nicht automatisch aktualisierbar." -#: rewrite/rewriteHandler.c:2622 +#: rewrite/rewriteHandler.c:2631 msgid "Views containing GROUP BY are not automatically updatable." msgstr "Sichten, die GROUP BY enthalten, sind nicht automatisch aktualisierbar." -#: rewrite/rewriteHandler.c:2625 +#: rewrite/rewriteHandler.c:2634 msgid "Views containing HAVING are not automatically updatable." msgstr "Sichten, die HAVING enthalten, sind nicht automatisch aktualisierbar." -#: rewrite/rewriteHandler.c:2628 +#: rewrite/rewriteHandler.c:2637 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:2631 +#: rewrite/rewriteHandler.c:2640 msgid "Views containing WITH are not automatically updatable." msgstr "Sichten, die WITH enthalten, sind nicht automatisch aktualisierbar." -#: rewrite/rewriteHandler.c:2634 +#: rewrite/rewriteHandler.c:2643 msgid "Views containing LIMIT or OFFSET are not automatically updatable." msgstr "Sichten, die LIMIT oder OFFSET enthalten, sind nicht automatisch aktualisierbar." -#: rewrite/rewriteHandler.c:2646 +#: rewrite/rewriteHandler.c:2655 msgid "Views that return aggregate functions are not automatically updatable." msgstr "Sichten, die Aggregatfunktionen zurückgeben, sind nicht automatisch aktualisierbar." -#: rewrite/rewriteHandler.c:2649 +#: rewrite/rewriteHandler.c:2658 msgid "Views that return window functions are not automatically updatable." msgstr "Sichten, die Fensterfunktionen zurückgeben, sind nicht automatisch aktualisierbar." -#: rewrite/rewriteHandler.c:2652 +#: rewrite/rewriteHandler.c:2661 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:2659 rewrite/rewriteHandler.c:2663 -#: rewrite/rewriteHandler.c:2671 +#: rewrite/rewriteHandler.c:2668 rewrite/rewriteHandler.c:2672 +#: rewrite/rewriteHandler.c:2680 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:2674 +#: rewrite/rewriteHandler.c:2683 msgid "Views containing TABLESAMPLE are not automatically updatable." msgstr "Sichten, die TABLESAMPLE enthalten, sind nicht automatisch aktualisierbar." -#: rewrite/rewriteHandler.c:2698 +#: rewrite/rewriteHandler.c:2707 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:3079 rewrite/rewriteHandler.c:3114 +#: rewrite/rewriteHandler.c:3088 rewrite/rewriteHandler.c:3123 #, c-format msgid "cannot insert into view \"%s\"" msgstr "kann nicht in Sicht »%s« einfügen" -#: rewrite/rewriteHandler.c:3082 +#: rewrite/rewriteHandler.c:3091 #, 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:3087 rewrite/rewriteHandler.c:3123 +#: rewrite/rewriteHandler.c:3096 rewrite/rewriteHandler.c:3132 #, c-format msgid "cannot update view \"%s\"" msgstr "kann Sicht »%s« nicht aktualisieren" -#: rewrite/rewriteHandler.c:3090 +#: rewrite/rewriteHandler.c:3099 #, 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:3095 rewrite/rewriteHandler.c:3132 +#: rewrite/rewriteHandler.c:3104 rewrite/rewriteHandler.c:3141 #, c-format msgid "cannot delete from view \"%s\"" msgstr "kann nicht aus Sicht »%s« löschen" -#: rewrite/rewriteHandler.c:3098 +#: rewrite/rewriteHandler.c:3107 #, 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:3117 +#: rewrite/rewriteHandler.c:3126 #, 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:3126 +#: rewrite/rewriteHandler.c:3135 #, 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:3135 +#: rewrite/rewriteHandler.c:3144 #, 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:3289 +#: rewrite/rewriteHandler.c:3319 #, 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:3297 +#: rewrite/rewriteHandler.c:3327 #, c-format msgid "cannot update column \"%s\" of view \"%s\"" msgstr "kann Spalte »%s« von Sicht »%s« nicht aktualisieren" -#: rewrite/rewriteHandler.c:3305 +#: rewrite/rewriteHandler.c:3335 #, c-format msgid "cannot merge into column \"%s\" of view \"%s\"" msgstr "kann nicht in Spalte »%s« von Sicht »%s« mergen" -#: rewrite/rewriteHandler.c:3333 +#: rewrite/rewriteHandler.c:3363 #, c-format msgid "cannot merge into view \"%s\"" msgstr "kann nicht in Sicht »%s« mergen" -#: rewrite/rewriteHandler.c:3335 +#: rewrite/rewriteHandler.c:3365 #, c-format -msgid "MERGE is not supported for views with INSTEAD OF triggers for some actions, but not others." -msgstr "" +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:3336 -#, fuzzy, c-format -#| msgid "To enable inserting into the view, provide an INSTEAD OF INSERT trigger or an unconditional ON INSERT DO INSTEAD rule." +#: rewrite/rewriteHandler.c:3366 +#, 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 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." +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:3855 +#: rewrite/rewriteHandler.c:3879 #, 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:3866 +#: rewrite/rewriteHandler.c:3890 #, 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:3880 +#: rewrite/rewriteHandler.c:3904 #, 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:3884 +#: rewrite/rewriteHandler.c:3908 #, 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:3889 +#: rewrite/rewriteHandler.c:3913 #, 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:4149 +#: rewrite/rewriteHandler.c:4173 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:4246 +#: rewrite/rewriteHandler.c:4270 #, c-format msgid "cannot perform INSERT RETURNING on relation \"%s\"" msgstr "INSERT RETURNING kann in Relation »%s« nicht ausgeführt werden" -#: rewrite/rewriteHandler.c:4248 +#: rewrite/rewriteHandler.c:4272 #, 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:4253 +#: rewrite/rewriteHandler.c:4277 #, c-format msgid "cannot perform UPDATE RETURNING on relation \"%s\"" msgstr "UPDATE RETURNING kann in Relation »%s« nicht ausgeführt werden" -#: rewrite/rewriteHandler.c:4255 +#: rewrite/rewriteHandler.c:4279 #, 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:4260 +#: rewrite/rewriteHandler.c:4284 #, c-format msgid "cannot perform DELETE RETURNING on relation \"%s\"" msgstr "DELETE RETURNING kann in Relation »%s« nicht ausgeführt werden" -#: rewrite/rewriteHandler.c:4262 +#: rewrite/rewriteHandler.c:4286 #, 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:4280 +#: rewrite/rewriteHandler.c:4304 #, 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:4337 +#: rewrite/rewriteHandler.c:4361 #, 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" @@ -22623,12 +22444,12 @@ msgstr "WITH kann nicht in einer Anfrage verwendet werden, die durch Regeln in m msgid "conditional utility statements are not implemented" msgstr "Utility-Anweisungen mit Bedingung sind nicht implementiert" -#: rewrite/rewriteManip.c:1427 +#: rewrite/rewriteManip.c:1430 #, c-format msgid "WHERE CURRENT OF on a view is not implemented" msgstr "WHERE CURRENT OF mit einer Sicht ist nicht implementiert" -#: rewrite/rewriteManip.c:1762 +#: rewrite/rewriteManip.c:1765 #, c-format msgid "NEW variables in ON UPDATE rules cannot reference columns that are part of a multiple assignment in the subject UPDATE command" msgstr "NEW-Variablen in ON UPDATE-Regeln können nicht auf Spalten verweisen, die Teil einer Mehrfachzuweisung in dem UPDATE-Befehl sind" @@ -22638,117 +22459,117 @@ msgstr "NEW-Variablen in ON UPDATE-Regeln können nicht auf Spalten verweisen, d msgid "with a SEARCH or CYCLE clause, the recursive reference to WITH query \"%s\" must be at the top level of its right-hand SELECT" msgstr "mit einer SEARCH- oder CYCLE-Klausel muss der rekursive Verweis auf WITH-Anfrage »%s« auf der obersten Ebene ihres rechten SELECT sein" -#: scan.l:483 +#: scan.l:497 msgid "unterminated /* comment" msgstr "/*-Kommentar nicht abgeschlossen" -#: scan.l:503 +#: scan.l:517 msgid "unterminated bit string literal" msgstr "Bitkettenkonstante nicht abgeschlossen" -#: scan.l:517 +#: scan.l:531 msgid "unterminated hexadecimal string literal" msgstr "hexadezimale Zeichenkette nicht abgeschlossen" -#: scan.l:567 +#: scan.l:581 #, c-format msgid "unsafe use of string constant with Unicode escapes" msgstr "unsichere Verwendung von Zeichenkette mit Unicode-Escapes" -#: scan.l:568 +#: scan.l:582 #, c-format msgid "String constants with Unicode escapes cannot be used when \"standard_conforming_strings\" is off." msgstr "Zeichenketten mit Unicode-Escapes können nicht verwendet werden, wenn »standard_conforming_strings« aus ist." -#: scan.l:629 +#: scan.l:643 msgid "unhandled previous state in xqs" msgstr "unbehandelter vorheriger Zustand in xqs" -#: scan.l:703 +#: scan.l:717 #, c-format msgid "Unicode escapes must be \\uXXXX or \\UXXXXXXXX." msgstr "Unicode-Escapes müssen \\uXXXX oder \\UXXXXXXXX sein." -#: scan.l:714 +#: scan.l:728 #, c-format msgid "unsafe use of \\' in a string literal" msgstr "unsichere Verwendung von \\' in Zeichenkettenkonstante" -#: scan.l:715 +#: scan.l:729 #, c-format msgid "Use '' to write quotes in strings. \\' is insecure in client-only encodings." msgstr "Verwenden Sie '', um Quotes in Zeichenketten zu schreiben. \\' ist in bestimmten Client-seitigen Kodierungen unsicher." -#: scan.l:787 +#: scan.l:801 msgid "unterminated dollar-quoted string" msgstr "Dollar-Quotes nicht abgeschlossen" -#: scan.l:804 scan.l:814 +#: scan.l:818 scan.l:828 msgid "zero-length delimited identifier" msgstr "Bezeichner in Anführungszeichen hat Länge null" -#: scan.l:825 syncrep_scanner.l:101 +#: scan.l:839 syncrep_scanner.l:101 msgid "unterminated quoted identifier" msgstr "Bezeichner in Anführungszeichen nicht abgeschlossen" -#: scan.l:988 +#: scan.l:1002 msgid "operator too long" msgstr "Operator zu lang" -#: scan.l:1001 +#: scan.l:1015 msgid "trailing junk after parameter" msgstr "Müll folgt auf Parameter" -#: scan.l:1022 +#: scan.l:1036 msgid "invalid hexadecimal integer" msgstr "ungültige hexadezimale Zahl" -#: scan.l:1026 +#: scan.l:1040 msgid "invalid octal integer" msgstr "ungültige oktale Zahl" -#: scan.l:1030 +#: scan.l:1044 msgid "invalid binary integer" msgstr "ungültige binäre Zahl" #. translator: %s is typically the translation of "syntax error" -#: scan.l:1237 +#: scan.l:1239 #, c-format msgid "%s at end of input" msgstr "%s am Ende der Eingabe" #. translator: first %s is typically the translation of "syntax error" -#: scan.l:1245 +#: scan.l:1247 #, c-format msgid "%s at or near \"%s\"" msgstr "%s bei »%s«" -#: scan.l:1437 +#: scan.l:1439 #, c-format msgid "nonstandard use of \\' in a string literal" msgstr "nicht standardkonforme Verwendung von \\' in Zeichenkettenkonstante" -#: scan.l:1438 +#: scan.l:1440 #, c-format msgid "Use '' to write quotes in strings, or use the escape string syntax (E'...')." msgstr "Verwenden Sie '', um Quotes in Zeichenketten zu schreiben, oder verwenden Sie die Syntax für Escape-Zeichenketten (E'...')." -#: scan.l:1447 +#: scan.l:1449 #, c-format msgid "nonstandard use of \\\\ in a string literal" msgstr "nicht standardkonforme Verwendung von \\\\ in Zeichenkettenkonstante" -#: scan.l:1448 +#: scan.l:1450 #, c-format msgid "Use the escape string syntax for backslashes, e.g., E'\\\\'." msgstr "Verwenden Sie die Syntax für Escape-Zeichenketten für Backslashes, z.B. E'\\\\'." -#: scan.l:1462 +#: scan.l:1464 #, c-format msgid "nonstandard use of escape in a string literal" msgstr "nicht standardkonforme Verwendung von Escape in Zeichenkettenkonstante" -#: scan.l:1463 +#: scan.l:1465 #, c-format msgid "Use the escape string syntax for escapes, e.g., E'\\r\\n'." msgstr "Verwenden Sie die Syntax für Escape-Zeichenketten, z.B. E'\\r\\n'." @@ -23106,15 +22927,14 @@ msgid "DSM segment name too long" msgstr "DSN-Segmentname zu lang" #: storage/ipc/dsm_registry.c:150 -#, fuzzy, c-format -#| msgid "WAL segment size could not be parsed" +#, c-format msgid "DSM segment size must be nonzero" -msgstr "WAL-Segmentgröße konnte nicht interpretiert werden" +msgstr "DSM-Segmentgröße darf nicht null sein" #: storage/ipc/dsm_registry.c:176 #, c-format msgid "requested DSM segment size does not match size of existing segment" -msgstr "" +msgstr "angeforderte DSM-Segmentgröße stimmt nicht mit der Größe des existierenden Segments überein" #: storage/ipc/procarray.c:488 storage/lmgr/proc.c:352 #: tcop/backend_startup.c:304 @@ -23122,23 +22942,23 @@ msgstr "" msgid "sorry, too many clients already" msgstr "tut mir leid, schon zu viele Verbindungen" -#: storage/ipc/procarray.c:3845 +#: storage/ipc/procarray.c:3857 #, c-format msgid "database \"%s\" is being used by prepared transactions" msgstr "Datenbank »%s« wird von vorbereiteten Transaktionen verwendet" -#: storage/ipc/procarray.c:3881 storage/ipc/procarray.c:3889 +#: storage/ipc/procarray.c:3893 storage/ipc/procarray.c:3901 #: storage/ipc/signalfuncs.c:235 storage/ipc/signalfuncs.c:242 #, c-format msgid "permission denied to terminate process" msgstr "keine Berechtigung, um Prozess zu beenden" -#: storage/ipc/procarray.c:3882 storage/ipc/signalfuncs.c:236 +#: storage/ipc/procarray.c:3894 storage/ipc/signalfuncs.c:236 #, c-format msgid "Only roles with the %s attribute may terminate processes of roles with the %s attribute." msgstr "Nur Rollen mit dem %s-Attribut können Prozesse von Rollen mit dem %s-Attribut beenden." -#: storage/ipc/procarray.c:3890 storage/ipc/signalfuncs.c:243 +#: storage/ipc/procarray.c:3902 storage/ipc/signalfuncs.c:243 #, c-format msgid "Only roles with privileges of the role whose process is being terminated or with privileges of the \"%s\" role may terminate this process." msgstr "Nur Rollen mit den Privilegien der Rolle deren Prozess beendet werden soll oder den Privilegien der Rolle »%s« können diesen Prozess beenden." @@ -23158,11 +22978,11 @@ msgstr "kann Nachricht mit Größe %zu nicht über Shared-Memory-Queue senden" msgid "invalid message size %zu in shared memory queue" msgstr "ungültige Nachrichtengröße %zu in Shared-Memory-Queue" -#: storage/ipc/shm_toc.c:118 storage/ipc/shm_toc.c:200 storage/lmgr/lock.c:962 -#: storage/lmgr/lock.c:1000 storage/lmgr/lock.c:2803 storage/lmgr/lock.c:4188 -#: storage/lmgr/lock.c:4253 storage/lmgr/lock.c:4603 -#: storage/lmgr/predicate.c:2463 storage/lmgr/predicate.c:2478 -#: storage/lmgr/predicate.c:3875 storage/lmgr/predicate.c:4922 +#: storage/ipc/shm_toc.c:118 storage/ipc/shm_toc.c:200 storage/lmgr/lock.c:984 +#: storage/lmgr/lock.c:1022 storage/lmgr/lock.c:2835 storage/lmgr/lock.c:4220 +#: 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 #, c-format msgid "out of shared memory" @@ -23251,12 +23071,12 @@ msgstr "Wiederherstellung wartet immer noch nach %ld,%03d ms: %s" msgid "recovery finished waiting after %ld.%03d ms: %s" msgstr "Warten der Wiederherstellung beendet nach %ld,%03d ms: %s" -#: storage/ipc/standby.c:920 tcop/postgres.c:3169 +#: storage/ipc/standby.c:920 tcop/postgres.c:3196 #, c-format msgid "canceling statement due to conflict with recovery" msgstr "storniere Anfrage wegen Konflikt mit der Wiederherstellung" -#: storage/ipc/standby.c:921 tcop/postgres.c:2529 +#: storage/ipc/standby.c:921 tcop/postgres.c:2557 #, c-format msgid "User transaction caused buffer deadlock with recovery." msgstr "Benutzertransaktion hat Verklemmung (Deadlock) mit Wiederherstellung verursacht." @@ -23340,122 +23160,122 @@ msgstr "Verklemmung (Deadlock) entdeckt" msgid "See server log for query details." msgstr "Einzelheiten zur Anfrage finden Sie im Serverlog." -#: storage/lmgr/lmgr.c:858 +#: storage/lmgr/lmgr.c:848 #, c-format msgid "while updating tuple (%u,%u) in relation \"%s\"" msgstr "beim Aktualisieren von Tupel (%u,%u) in Relation »%s«" -#: storage/lmgr/lmgr.c:861 +#: storage/lmgr/lmgr.c:851 #, c-format msgid "while deleting tuple (%u,%u) in relation \"%s\"" msgstr "beim Löschen von Tupel (%u,%u) in Relation »%s«" -#: storage/lmgr/lmgr.c:864 +#: storage/lmgr/lmgr.c:854 #, c-format msgid "while locking tuple (%u,%u) in relation \"%s\"" msgstr "beim Sperren von Tupel (%u,%u) in Relation »%s«" -#: storage/lmgr/lmgr.c:867 +#: storage/lmgr/lmgr.c:857 #, c-format msgid "while locking updated version (%u,%u) of tuple in relation \"%s\"" msgstr "beim Sperren von aktualisierter Version (%u,%u) von Tupel in Relation »%s«" -#: storage/lmgr/lmgr.c:870 +#: storage/lmgr/lmgr.c:860 #, c-format msgid "while inserting index tuple (%u,%u) in relation \"%s\"" msgstr "beim Einfügen von Indextupel (%u,%u) in Relation »%s«" -#: storage/lmgr/lmgr.c:873 +#: storage/lmgr/lmgr.c:863 #, c-format msgid "while checking uniqueness of tuple (%u,%u) in relation \"%s\"" msgstr "beim Prüfen der Eindeutigkeit von Tupel (%u,%u) in Relation »%s«" -#: storage/lmgr/lmgr.c:876 +#: storage/lmgr/lmgr.c:866 #, c-format msgid "while rechecking updated tuple (%u,%u) in relation \"%s\"" msgstr "beim erneuten Prüfen des aktualisierten Tupels (%u,%u) in Relation »%s«" -#: storage/lmgr/lmgr.c:879 +#: storage/lmgr/lmgr.c:869 #, c-format msgid "while checking exclusion constraint on tuple (%u,%u) in relation \"%s\"" msgstr "beim Prüfen eines Exclusion-Constraints für Tupel (%u,%u) in Relation »%s«" -#: storage/lmgr/lmgr.c:1249 +#: storage/lmgr/lmgr.c:1239 #, c-format msgid "relation %u of database %u" msgstr "Relation %u der Datenbank %u" -#: storage/lmgr/lmgr.c:1255 +#: storage/lmgr/lmgr.c:1245 #, c-format msgid "extension of relation %u of database %u" msgstr "Erweiterung von Relation %u in Datenbank %u" -#: storage/lmgr/lmgr.c:1261 +#: storage/lmgr/lmgr.c:1251 #, c-format msgid "pg_database.datfrozenxid of database %u" msgstr "pg_database.datfrozenxid der Datenbank %u" -#: storage/lmgr/lmgr.c:1266 +#: storage/lmgr/lmgr.c:1256 #, c-format msgid "page %u of relation %u of database %u" msgstr "Seite %u von Relation %u von Datenbank %u" -#: storage/lmgr/lmgr.c:1273 +#: storage/lmgr/lmgr.c:1263 #, c-format msgid "tuple (%u,%u) of relation %u of database %u" msgstr "Tupel (%u, %u) von Relation %u von Datenbank %u" -#: storage/lmgr/lmgr.c:1281 +#: storage/lmgr/lmgr.c:1271 #, c-format msgid "transaction %u" msgstr "Transaktion %u" -#: storage/lmgr/lmgr.c:1286 +#: storage/lmgr/lmgr.c:1276 #, c-format msgid "virtual transaction %d/%u" msgstr "virtuelle Transaktion %d/%u" -#: storage/lmgr/lmgr.c:1292 +#: storage/lmgr/lmgr.c:1282 #, c-format msgid "speculative token %u of transaction %u" msgstr "spekulatives Token %u von Transaktion %u" -#: storage/lmgr/lmgr.c:1298 +#: storage/lmgr/lmgr.c:1288 #, c-format msgid "object %u of class %u of database %u" msgstr "Objekt %u von Klasse %u von Datenbank %u" -#: storage/lmgr/lmgr.c:1306 +#: storage/lmgr/lmgr.c:1296 #, c-format msgid "user lock [%u,%u,%u]" msgstr "Benutzersperre [%u,%u,%u]" -#: storage/lmgr/lmgr.c:1313 +#: storage/lmgr/lmgr.c:1303 #, c-format msgid "advisory lock [%u,%u,%u,%u]" msgstr "Benutzersperre [%u,%u,%u,%u]" -#: storage/lmgr/lmgr.c:1321 +#: storage/lmgr/lmgr.c:1311 #, c-format msgid "remote transaction %u of subscription %u of database %u" msgstr "Remote-Transaktion %u von Subskription %u in Datenbank %u" -#: storage/lmgr/lmgr.c:1328 +#: storage/lmgr/lmgr.c:1318 #, c-format msgid "unrecognized locktag type %d" msgstr "unbekannter Locktag-Typ %d" -#: storage/lmgr/lock.c:790 +#: storage/lmgr/lock.c:812 #, c-format msgid "cannot acquire lock mode %s on database objects while recovery is in progress" msgstr "Sperrmodus %s kann während der Wiederherstellung nicht auf Datenbankobjekte gesetzt werden" -#: storage/lmgr/lock.c:792 +#: storage/lmgr/lock.c:814 #, c-format msgid "Only RowExclusiveLock or less can be acquired on database objects during recovery." msgstr "Nur Sperren gleich oder unter RowExclusiveLock können während der Wiederherstellung auf Datenbankobjekte gesetzt werden." -#: storage/lmgr/lock.c:3252 storage/lmgr/lock.c:3320 storage/lmgr/lock.c:3436 +#: storage/lmgr/lock.c:3284 storage/lmgr/lock.c:3352 storage/lmgr/lock.c:3468 #, c-format msgid "cannot PREPARE while holding both session-level and transaction-level locks on the same object" msgstr "PREPARE kann nicht ausgeführt werden, wenn für das selbe Objekt Sperren auf Sitzungsebene und auf Transaktionsebene gehalten werden" @@ -23475,46 +23295,46 @@ msgstr "Sie müssten entweder weniger Transaktionen auf einmal ausführen oder msgid "not enough elements in RWConflictPool to record a potential read/write conflict" msgstr "nicht genügend Elemente in RWConflictPool, um einen möglichen Lese-/Schreibkonflikt aufzuzeichnen" -#: storage/lmgr/predicate.c:1681 +#: storage/lmgr/predicate.c:1686 #, c-format msgid "\"default_transaction_isolation\" is set to \"serializable\"." msgstr "»default_transaction_isolation« ist auf »serializable« gesetzt." -#: storage/lmgr/predicate.c:1682 +#: storage/lmgr/predicate.c:1687 #, c-format msgid "You can use \"SET default_transaction_isolation = 'repeatable read'\" to change the default." msgstr "Mit »SET default_transaction_isolation = 'repeatable read'« können Sie die Voreinstellung ändern." -#: storage/lmgr/predicate.c:1733 +#: storage/lmgr/predicate.c:1738 #, c-format msgid "a snapshot-importing transaction must not be READ ONLY DEFERRABLE" msgstr "eine Transaktion, die einen Snapshot importiert, must READ ONLY DEFERRABLE sein" -#: storage/lmgr/predicate.c:1812 utils/time/snapmgr.c:535 +#: storage/lmgr/predicate.c:1817 utils/time/snapmgr.c:535 #: utils/time/snapmgr.c:541 #, c-format msgid "could not import the requested snapshot" msgstr "konnte den angeforderten Snapshot nicht importieren" -#: storage/lmgr/predicate.c:1813 utils/time/snapmgr.c:542 +#: storage/lmgr/predicate.c:1818 utils/time/snapmgr.c:542 #, c-format msgid "The source process with PID %d is not running anymore." msgstr "Der Ausgangsprozess mit PID %d läuft nicht mehr." -#: storage/lmgr/predicate.c:3986 storage/lmgr/predicate.c:4022 -#: storage/lmgr/predicate.c:4055 storage/lmgr/predicate.c:4063 -#: storage/lmgr/predicate.c:4102 storage/lmgr/predicate.c:4332 -#: storage/lmgr/predicate.c:4651 storage/lmgr/predicate.c:4663 -#: storage/lmgr/predicate.c:4710 storage/lmgr/predicate.c:4746 +#: storage/lmgr/predicate.c:3991 storage/lmgr/predicate.c:4027 +#: storage/lmgr/predicate.c:4060 storage/lmgr/predicate.c:4068 +#: storage/lmgr/predicate.c:4107 storage/lmgr/predicate.c:4337 +#: storage/lmgr/predicate.c:4656 storage/lmgr/predicate.c:4668 +#: storage/lmgr/predicate.c:4715 storage/lmgr/predicate.c:4751 #, c-format msgid "could not serialize access due to read/write dependencies among transactions" msgstr "konnte Zugriff nicht serialisieren wegen Lese-/Schreib-Abhängigkeiten zwischen Transaktionen" -#: storage/lmgr/predicate.c:3988 storage/lmgr/predicate.c:4024 -#: storage/lmgr/predicate.c:4057 storage/lmgr/predicate.c:4065 -#: storage/lmgr/predicate.c:4104 storage/lmgr/predicate.c:4334 -#: storage/lmgr/predicate.c:4653 storage/lmgr/predicate.c:4665 -#: storage/lmgr/predicate.c:4712 storage/lmgr/predicate.c:4748 +#: storage/lmgr/predicate.c:3993 storage/lmgr/predicate.c:4029 +#: storage/lmgr/predicate.c:4062 storage/lmgr/predicate.c:4070 +#: storage/lmgr/predicate.c:4109 storage/lmgr/predicate.c:4339 +#: storage/lmgr/predicate.c:4658 storage/lmgr/predicate.c:4670 +#: storage/lmgr/predicate.c:4717 storage/lmgr/predicate.c:4753 #, c-format msgid "The transaction might succeed if retried." msgstr "Die Transaktion könnte erfolgreich sein, wenn sie erneut versucht würde." @@ -23685,7 +23505,7 @@ msgstr "das Datenbanksystem ist im Wiederherstellungsmodus" #: tcop/backend_startup.c:414 #, c-format msgid "received direct SSL connection request without ALPN protocol negotiation extension" -msgstr "" +msgstr "direkte SSL-Verbindungsanfrage ohne ALPN-Protokollerweiterung empfangen" #: tcop/backend_startup.c:420 #, c-format @@ -23710,12 +23530,12 @@ msgstr "ungültige Länge des Startpakets" #: tcop/backend_startup.c:573 #, c-format msgid "SSLRequest accepted" -msgstr "" +msgstr "SSLRequest akzeptiert" #: tcop/backend_startup.c:576 #, c-format msgid "SSLRequest rejected" -msgstr "" +msgstr "SSLRequest abgelehnt" #: tcop/backend_startup.c:585 #, c-format @@ -23735,12 +23555,12 @@ msgstr "Das könnte entweder ein Fehler in der Client-Software oder ein Hinweis #: tcop/backend_startup.c:627 #, c-format msgid "GSSENCRequest accepted" -msgstr "" +msgstr "GSSENCRequest akzeptiert" #: tcop/backend_startup.c:630 #, c-format msgid "GSSENCRequest rejected" -msgstr "" +msgstr "GSSENCRequest abgelehnt" #: tcop/backend_startup.c:639 #, c-format @@ -23787,8 +23607,8 @@ msgstr "Funktion »%s« kann nicht via Fastpath-Interface aufgerufen werden" msgid "fastpath function call: \"%s\" (OID %u)" msgstr "Fastpath-Funktionsaufruf: »%s« (OID %u)" -#: tcop/fastpath.c:313 tcop/postgres.c:1365 tcop/postgres.c:1601 -#: tcop/postgres.c:2055 tcop/postgres.c:2305 +#: tcop/fastpath.c:313 tcop/postgres.c:1369 tcop/postgres.c:1605 +#: tcop/postgres.c:2071 tcop/postgres.c:2333 #, c-format msgid "duration: %s ms" msgstr "Dauer: %s ms" @@ -23818,320 +23638,320 @@ msgstr "ungültige Argumentgröße %d in Funktionsaufruf-Message" msgid "incorrect binary data format in function argument %d" msgstr "falsches Binärdatenformat in Funktionsargument %d" -#: tcop/postgres.c:463 tcop/postgres.c:4925 +#: tcop/postgres.c:467 tcop/postgres.c:5012 #, c-format msgid "invalid frontend message type %d" msgstr "ungültiger Frontend-Message-Typ %d" -#: tcop/postgres.c:1072 +#: tcop/postgres.c:1076 #, c-format msgid "statement: %s" msgstr "Anweisung: %s" -#: tcop/postgres.c:1370 +#: tcop/postgres.c:1374 #, c-format msgid "duration: %s ms statement: %s" msgstr "Dauer: %s ms Anweisung: %s" -#: tcop/postgres.c:1476 +#: tcop/postgres.c:1480 #, c-format msgid "cannot insert multiple commands into a prepared statement" msgstr "kann nicht mehrere Befehle in vorbereitete Anweisung einfügen" -#: tcop/postgres.c:1606 +#: tcop/postgres.c:1610 #, c-format msgid "duration: %s ms parse %s: %s" msgstr "Dauer: %s ms Parsen %s: %s" -#: tcop/postgres.c:1672 tcop/postgres.c:2625 +#: tcop/postgres.c:1677 tcop/postgres.c:2653 #, c-format msgid "unnamed prepared statement does not exist" msgstr "unbenannte vorbereitete Anweisung existiert nicht" -#: tcop/postgres.c:1713 +#: tcop/postgres.c:1729 #, c-format msgid "bind message has %d parameter formats but %d parameters" msgstr "Binden-Nachricht hat %d Parameterformate aber %d Parameter" -#: tcop/postgres.c:1719 +#: tcop/postgres.c:1735 #, c-format msgid "bind message supplies %d parameters, but prepared statement \"%s\" requires %d" msgstr "Binden-Nachricht enthält %d Parameter, aber vorbereitete Anweisung »%s« erfordert %d" -#: tcop/postgres.c:1933 +#: tcop/postgres.c:1949 #, c-format msgid "incorrect binary data format in bind parameter %d" msgstr "falsches Binärdatenformat in Binden-Parameter %d" -#: tcop/postgres.c:2060 +#: tcop/postgres.c:2076 #, c-format msgid "duration: %s ms bind %s%s%s: %s" msgstr "Dauer: %s ms Binden %s%s%s: %s" -#: tcop/postgres.c:2114 tcop/postgres.c:2708 +#: tcop/postgres.c:2131 tcop/postgres.c:2735 #, c-format msgid "portal \"%s\" does not exist" msgstr "Portal »%s« existiert nicht" -#: tcop/postgres.c:2185 +#: tcop/postgres.c:2213 #, c-format msgid "%s %s%s%s: %s" msgstr "%s %s%s%s: %s" -#: tcop/postgres.c:2187 tcop/postgres.c:2313 +#: tcop/postgres.c:2215 tcop/postgres.c:2341 msgid "execute fetch from" msgstr "Ausführen Fetch von" -#: tcop/postgres.c:2188 tcop/postgres.c:2314 +#: tcop/postgres.c:2216 tcop/postgres.c:2342 msgid "execute" msgstr "Ausführen" -#: tcop/postgres.c:2310 +#: tcop/postgres.c:2338 #, c-format msgid "duration: %s ms %s %s%s%s: %s" msgstr "Dauer: %s ms %s %s%s%s: %s" -#: tcop/postgres.c:2458 +#: tcop/postgres.c:2486 #, c-format msgid "prepare: %s" msgstr "Vorbereiten: %s" -#: tcop/postgres.c:2483 +#: tcop/postgres.c:2511 #, c-format msgid "Parameters: %s" msgstr "Parameter: %s" -#: tcop/postgres.c:2498 +#: tcop/postgres.c:2526 #, c-format msgid "Abort reason: recovery conflict" msgstr "Abbruchgrund: Konflikt bei Wiederherstellung" -#: tcop/postgres.c:2514 +#: tcop/postgres.c:2542 #, c-format msgid "User was holding shared buffer pin for too long." msgstr "Benutzer hat Shared-Buffer-Pin zu lange gehalten." -#: tcop/postgres.c:2517 +#: tcop/postgres.c:2545 #, c-format msgid "User was holding a relation lock for too long." msgstr "Benutzer hat Relationssperre zu lange gehalten." -#: tcop/postgres.c:2520 +#: tcop/postgres.c:2548 #, c-format msgid "User was or might have been using tablespace that must be dropped." msgstr "Benutzer hat (möglicherweise) einen Tablespace verwendet, der gelöscht werden muss." -#: tcop/postgres.c:2523 +#: tcop/postgres.c:2551 #, c-format msgid "User query might have needed to see row versions that must be removed." msgstr "Benutzeranfrage hat möglicherweise Zeilenversionen sehen müssen, die entfernt werden müssen." -#: tcop/postgres.c:2526 +#: tcop/postgres.c:2554 #, c-format msgid "User was using a logical replication slot that must be invalidated." msgstr "Benutzer verwendete einen logischen Replikations-Slot, der ungültig gemacht werden muss." -#: tcop/postgres.c:2532 +#: tcop/postgres.c:2560 #, c-format msgid "User was connected to a database that must be dropped." msgstr "Benutzer war mit einer Datenbank verbunden, die gelöscht werden muss." -#: tcop/postgres.c:2571 +#: tcop/postgres.c:2599 #, c-format msgid "portal \"%s\" parameter $%d = %s" msgstr "Portal »%s« Parameter $%d = %s" -#: tcop/postgres.c:2574 +#: tcop/postgres.c:2602 #, c-format msgid "portal \"%s\" parameter $%d" msgstr "Portal »%s« Parameter $%d" -#: tcop/postgres.c:2580 +#: tcop/postgres.c:2608 #, c-format msgid "unnamed portal parameter $%d = %s" msgstr "unbenanntes Portal Parameter $%d = %s" -#: tcop/postgres.c:2583 +#: tcop/postgres.c:2611 #, c-format msgid "unnamed portal parameter $%d" msgstr "unbenanntes Portal Parameter $%d" -#: tcop/postgres.c:2928 +#: tcop/postgres.c:2955 #, c-format msgid "terminating connection because of unexpected SIGQUIT signal" msgstr "Verbindung wird abgebrochen wegen unerwartetem SIGQUIT-Signal" -#: tcop/postgres.c:2934 +#: tcop/postgres.c:2961 #, c-format msgid "terminating connection because of crash of another server process" msgstr "Verbindung wird abgebrochen wegen Absturz eines anderen Serverprozesses" -#: tcop/postgres.c:2935 +#: tcop/postgres.c:2962 #, c-format msgid "The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory." msgstr "Der Postmaster hat diesen Serverprozess angewiesen, die aktuelle Transaktion zurückzurollen und die Sitzung zu beenden, weil ein anderer Serverprozess abnormal beendet wurde und möglicherweise das Shared Memory verfälscht hat." -#: tcop/postgres.c:2939 tcop/postgres.c:3192 +#: tcop/postgres.c:2966 tcop/postgres.c:3219 #, c-format msgid "In a moment you should be able to reconnect to the database and repeat your command." msgstr "In einem Moment sollten Sie wieder mit der Datenbank verbinden und Ihren Befehl wiederholen können." -#: tcop/postgres.c:2946 +#: tcop/postgres.c:2973 #, c-format msgid "terminating connection due to immediate shutdown command" msgstr "Verbindung wird abgebrochen aufgrund von Befehl für sofortiges Herunterfahren" -#: tcop/postgres.c:3024 +#: tcop/postgres.c:3051 #, c-format msgid "floating-point exception" msgstr "Fließkommafehler" -#: tcop/postgres.c:3025 +#: tcop/postgres.c:3052 #, c-format msgid "An invalid floating-point operation was signaled. This probably means an out-of-range result or an invalid operation, such as division by zero." msgstr "Eine ungültige Fließkommaoperation wurde signalisiert. Das bedeutet wahrscheinlich ein Ergebnis außerhalb des gültigen Bereichs oder eine ungültige Operation, zum Beispiel Division durch null." -#: tcop/postgres.c:3190 +#: tcop/postgres.c:3217 #, c-format msgid "terminating connection due to conflict with recovery" msgstr "Verbindung wird abgebrochen wegen Konflikt mit der Wiederherstellung" -#: tcop/postgres.c:3262 +#: tcop/postgres.c:3289 #, c-format msgid "canceling authentication due to timeout" msgstr "storniere Authentifizierung wegen Zeitüberschreitung" -#: tcop/postgres.c:3266 +#: tcop/postgres.c:3293 #, c-format msgid "terminating autovacuum process due to administrator command" msgstr "Autovacuum-Prozess wird abgebrochen aufgrund von Anweisung des Administrators" -#: tcop/postgres.c:3270 +#: tcop/postgres.c:3297 #, c-format msgid "terminating logical replication worker due to administrator command" msgstr "Arbeitsprozess für logische Replikation wird abgebrochen aufgrund von Anweisung des Administrators" -#: tcop/postgres.c:3290 +#: tcop/postgres.c:3317 #, c-format msgid "terminating connection due to administrator command" msgstr "Verbindung wird abgebrochen aufgrund von Anweisung des Administrators" -#: tcop/postgres.c:3321 +#: tcop/postgres.c:3348 #, c-format msgid "connection to client lost" msgstr "Verbindung zum Client wurde verloren" -#: tcop/postgres.c:3373 +#: tcop/postgres.c:3400 #, c-format msgid "canceling statement due to lock timeout" msgstr "storniere Anfrage wegen Zeitüberschreitung einer Sperre" -#: tcop/postgres.c:3380 +#: tcop/postgres.c:3407 #, c-format msgid "canceling statement due to statement timeout" msgstr "storniere Anfrage wegen Zeitüberschreitung der Anfrage" -#: tcop/postgres.c:3387 +#: tcop/postgres.c:3414 #, c-format msgid "canceling autovacuum task" msgstr "storniere Autovacuum-Aufgabe" -#: tcop/postgres.c:3400 +#: tcop/postgres.c:3427 #, c-format msgid "canceling statement due to user request" msgstr "storniere Anfrage wegen Benutzeraufforderung" -#: tcop/postgres.c:3421 +#: tcop/postgres.c:3448 #, c-format msgid "terminating connection due to idle-in-transaction timeout" msgstr "Verbindung wird abgebrochen wegen Zeitüberschreitung in inaktiver Transaktion" -#: tcop/postgres.c:3434 +#: tcop/postgres.c:3461 #, c-format msgid "terminating connection due to transaction timeout" msgstr "Verbindung wird abgebrochen wegen Zeitüberschreitung in Transaktion" -#: tcop/postgres.c:3447 +#: tcop/postgres.c:3474 #, c-format msgid "terminating connection due to idle-session timeout" msgstr "Verbindung wird abgebrochen wegen Zeitüberschreitung in inaktiver Sitzung" -#: tcop/postgres.c:3537 +#: tcop/postgres.c:3564 #, c-format msgid "stack depth limit exceeded" msgstr "Grenze für Stacktiefe überschritten" -#: tcop/postgres.c:3538 +#: tcop/postgres.c:3565 #, c-format msgid "Increase the configuration parameter \"max_stack_depth\" (currently %dkB), after ensuring the platform's stack depth limit is adequate." msgstr "Erhöhen Sie den Konfigurationsparameter »max_stack_depth« (aktuell %dkB), nachdem Sie sichergestellt haben, dass die Stacktiefenbegrenzung Ihrer Plattform ausreichend ist." -#: tcop/postgres.c:3585 +#: tcop/postgres.c:3612 #, c-format msgid "\"max_stack_depth\" must not exceed %ldkB." msgstr "»max_stack_depth« darf %ldkB nicht überschreiten." -#: tcop/postgres.c:3587 +#: tcop/postgres.c:3614 #, c-format msgid "Increase the platform's stack depth limit via \"ulimit -s\" or local equivalent." msgstr "Erhöhen Sie die Stacktiefenbegrenzung Ihrer Plattform mit »ulimit -s« oder der lokalen Entsprechung." -#: tcop/postgres.c:3610 +#: tcop/postgres.c:3637 #, c-format msgid "\"client_connection_check_interval\" must be set to 0 on this platform." msgstr "»client_connection_check_interval« muss auf dieser Plattform auf 0 gesetzt sein." -#: tcop/postgres.c:3631 +#: tcop/postgres.c:3658 #, c-format msgid "Cannot enable parameter when \"log_statement_stats\" is true." msgstr "Kann Parameter nicht einschalten, wenn »log_statement_stats« an ist." -#: tcop/postgres.c:3646 +#: tcop/postgres.c:3673 #, c-format msgid "Cannot enable \"log_statement_stats\" when \"log_parser_stats\", \"log_planner_stats\", or \"log_executor_stats\" is true." msgstr "Kann »log_statement_stats« nicht einschalten, wenn »log_parser_stats«, »log_planner_stats« oder »log_executor_stats« an ist." -#: tcop/postgres.c:4011 +#: tcop/postgres.c:4098 #, c-format msgid "invalid command-line argument for server process: %s" msgstr "ungültiges Kommandozeilenargument für Serverprozess: %s" -#: tcop/postgres.c:4012 tcop/postgres.c:4018 +#: tcop/postgres.c:4099 tcop/postgres.c:4105 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Versuchen Sie »%s --help« für weitere Informationen." -#: tcop/postgres.c:4016 +#: tcop/postgres.c:4103 #, c-format msgid "%s: invalid command-line argument: %s" msgstr "%s: ungültiges Kommandozeilenargument: %s" -#: tcop/postgres.c:4069 +#: tcop/postgres.c:4156 #, c-format msgid "%s: no database nor user name specified" msgstr "%s: weder Datenbankname noch Benutzername angegeben" -#: tcop/postgres.c:4822 +#: tcop/postgres.c:4909 #, c-format msgid "invalid CLOSE message subtype %d" msgstr "ungültiger Subtyp %d von CLOSE-Message" -#: tcop/postgres.c:4859 +#: tcop/postgres.c:4946 #, c-format msgid "invalid DESCRIBE message subtype %d" msgstr "ungültiger Subtyp %d von DESCRIBE-Message" -#: tcop/postgres.c:4946 +#: tcop/postgres.c:5033 #, c-format msgid "fastpath function calls not supported in a replication connection" msgstr "Fastpath-Funktionsaufrufe werden auf einer Replikationsverbindung nicht unterstützt" -#: tcop/postgres.c:4950 +#: tcop/postgres.c:5037 #, c-format msgid "extended query protocol not supported in a replication connection" msgstr "erweitertes Anfrageprotokoll wird nicht auf einer Replikationsverbindung unterstützt" -#: tcop/postgres.c:5130 +#: tcop/postgres.c:5217 #, c-format msgid "disconnection: session time: %d:%02d:%02d.%03d user=%s database=%s host=%s%s%s" msgstr "Verbindungsende: Sitzungszeit: %d:%02d:%02d.%03d Benutzer=%s Datenbank=%s Host=%s%s%s" @@ -24486,11 +24306,15 @@ msgstr "Funktionsaufruf einer gelöschten Funktion" msgid "resetting existing statistics for kind %s, db=%u, oid=%u" msgstr "bestehende Statistiken für Art %s, db=%u, oid=%u werden zurückgesetzt" -#: utils/activity/wait_event.c:210 -#, fuzzy, c-format -#| msgid "too many arguments for cursor \"%s\"" -msgid "too many wait events for extensions" -msgstr "zu viele Argumente für Cursor »%s«" +#: utils/activity/wait_event.c:207 utils/activity/wait_event.c:232 +#, c-format +msgid "wait event \"%s\" already exists in type \"%s\"" +msgstr "Wait-Event »%s« existiert bereits in Typ »%s«" + +#: utils/activity/wait_event.c:246 +#, c-format +msgid "too many custom wait events" +msgstr "zu viele benutzerdefinierte Wait-Events" #: utils/adt/acl.c:183 utils/adt/name.c:93 #, c-format @@ -24613,7 +24437,7 @@ msgstr "Eingabedatentyp ist kein Array" #: 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:1902 utils/adt/numeric.c:4439 +#: utils/adt/int8.c:1256 utils/adt/numeric.c:1917 utils/adt/numeric.c:4454 #: 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 @@ -24654,7 +24478,7 @@ msgid "Arrays with differing dimensions are not compatible for concatenation." msgstr "Arrays mit unterschiedlichen Dimensionen sind nicht kompatibel für Aneinanderhängen." #: utils/adt/array_userfuncs.c:975 utils/adt/array_userfuncs.c:983 -#: utils/adt/arrayfuncs.c:5609 utils/adt/arrayfuncs.c:5615 +#: utils/adt/arrayfuncs.c:5616 utils/adt/arrayfuncs.c:5622 #, c-format msgid "cannot accumulate arrays of different dimensionality" msgstr "Arrays unterschiedlicher Dimensionalität können nicht akkumuliert werden" @@ -24722,8 +24546,8 @@ msgstr "Auf »[« müssen explizit angegebene Array-Dimensionen folgen." msgid "Missing array dimension value." msgstr "Dimensionswert fehlt." -#: utils/adt/arrayfuncs.c:481 utils/adt/arrayfuncs.c:2933 -#: utils/adt/arrayfuncs.c:2978 utils/adt/arrayfuncs.c:2993 +#: utils/adt/arrayfuncs.c:481 utils/adt/arrayfuncs.c:2940 +#: utils/adt/arrayfuncs.c:2985 utils/adt/arrayfuncs.c:3000 #, c-format msgid "upper bound cannot be less than lower bound" msgstr "Obergrenze kann nicht kleiner als Untergrenze sein" @@ -24754,16 +24578,15 @@ msgstr "Unerwartetes Arrayelement." msgid "Specified array dimensions do not match array contents." msgstr "Angegebene Array-Dimensionen stimmen nicht mit dem Array-Inhalt überein." -#: utils/adt/arrayfuncs.c:783 utils/adt/jsonfuncs.c:2597 +#: utils/adt/arrayfuncs.c:783 utils/adt/jsonfuncs.c:2598 #, c-format msgid "Multidimensional arrays must have sub-arrays with matching dimensions." msgstr "Mehrdimensionale Arrays müssen Arraysausdrücke mit gleicher Anzahl Dimensionen haben." #: utils/adt/arrayfuncs.c:871 utils/adt/arrayfuncs.c:905 -#, fuzzy, c-format -#| msgid "Unexpected array element." +#, c-format msgid "Incorrectly quoted array element." -msgstr "Unerwartetes Arrayelement." +msgstr "Inkorrekt gequotetes Arrayelement." #: utils/adt/arrayfuncs.c:942 utils/adt/multirangetypes.c:165 #: utils/adt/rangetypes.c:2464 utils/adt/rangetypes.c:2472 @@ -24772,8 +24595,8 @@ msgstr "Unerwartetes Arrayelement." msgid "Unexpected end of input." msgstr "Unerwartetes Ende der Eingabe." -#: utils/adt/arrayfuncs.c:1301 utils/adt/arrayfuncs.c:3492 -#: utils/adt/arrayfuncs.c:6099 +#: utils/adt/arrayfuncs.c:1301 utils/adt/arrayfuncs.c:3499 +#: utils/adt/arrayfuncs.c:6106 #, c-format msgid "invalid number of dimensions: %d" msgstr "ungültige Anzahl Dimensionen: %d" @@ -24812,17 +24635,17 @@ msgstr "Auswählen von Stücken aus Arrays mit fester Länge ist nicht implement #: utils/adt/arrayfuncs.c:2245 utils/adt/arrayfuncs.c:2267 #: utils/adt/arrayfuncs.c:2316 utils/adt/arrayfuncs.c:2570 -#: utils/adt/arrayfuncs.c:2908 utils/adt/arrayfuncs.c:6085 -#: utils/adt/arrayfuncs.c:6111 utils/adt/arrayfuncs.c:6122 -#: utils/adt/json.c:1419 utils/adt/json.c:1491 utils/adt/jsonb.c:1317 -#: utils/adt/jsonb.c:1401 utils/adt/jsonfuncs.c:4691 utils/adt/jsonfuncs.c:4844 -#: utils/adt/jsonfuncs.c:4955 utils/adt/jsonfuncs.c:5003 +#: utils/adt/arrayfuncs.c:2915 utils/adt/arrayfuncs.c:6092 +#: utils/adt/arrayfuncs.c:6118 utils/adt/arrayfuncs.c:6129 +#: utils/adt/json.c:1433 utils/adt/json.c:1505 utils/adt/jsonb.c:1317 +#: utils/adt/jsonb.c:1401 utils/adt/jsonfuncs.c:4710 utils/adt/jsonfuncs.c:4863 +#: utils/adt/jsonfuncs.c:4974 utils/adt/jsonfuncs.c:5022 #, c-format msgid "wrong number of array subscripts" msgstr "falsche Anzahl Arrayindizes" #: utils/adt/arrayfuncs.c:2250 utils/adt/arrayfuncs.c:2374 -#: utils/adt/arrayfuncs.c:2653 utils/adt/arrayfuncs.c:2983 +#: utils/adt/arrayfuncs.c:2653 utils/adt/arrayfuncs.c:2990 #, c-format msgid "array subscript out of range" msgstr "Arrayindex außerhalb des gültigen Bereichs" @@ -24847,85 +24670,85 @@ msgstr "Array-Slice-Index muss beide Begrenzungen angeben" msgid "When assigning to a slice of an empty array value, slice boundaries must be fully specified." msgstr "Wenn ein Slice eines leeren Array-Wertes zugewiesen wird, dann müssen die Slice-Begrenzungen vollständig angegeben werden." -#: utils/adt/arrayfuncs.c:2898 utils/adt/arrayfuncs.c:3010 +#: utils/adt/arrayfuncs.c:2905 utils/adt/arrayfuncs.c:3017 #, c-format msgid "source array too small" msgstr "Quellarray ist zu klein" -#: utils/adt/arrayfuncs.c:3650 +#: utils/adt/arrayfuncs.c:3657 #, c-format msgid "null array element not allowed in this context" msgstr "NULL-Werte im Array sind in diesem Zusammenhang nicht erlaubt" -#: utils/adt/arrayfuncs.c:3821 utils/adt/arrayfuncs.c:3992 -#: utils/adt/arrayfuncs.c:4383 +#: utils/adt/arrayfuncs.c:3828 utils/adt/arrayfuncs.c:3999 +#: utils/adt/arrayfuncs.c:4390 #, c-format msgid "cannot compare arrays of different element types" msgstr "kann Arrays mit verschiedenen Elementtypen nicht vergleichen" -#: utils/adt/arrayfuncs.c:4170 utils/adt/multirangetypes.c:2805 +#: utils/adt/arrayfuncs.c:4177 utils/adt/multirangetypes.c:2805 #: utils/adt/multirangetypes.c:2877 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" msgstr "konnte keine Hash-Funktion für Typ %s ermitteln" -#: utils/adt/arrayfuncs.c:4298 utils/adt/rowtypes.c:1996 +#: utils/adt/arrayfuncs.c:4305 utils/adt/rowtypes.c:1996 #, c-format msgid "could not identify an extended hash function for type %s" msgstr "konnte keine erweiterte Hash-Funktion für Typ %s ermitteln" -#: utils/adt/arrayfuncs.c:5499 +#: utils/adt/arrayfuncs.c:5506 #, c-format msgid "data type %s is not an array type" msgstr "Datentyp %s ist kein Array-Typ" -#: utils/adt/arrayfuncs.c:5554 +#: utils/adt/arrayfuncs.c:5561 #, c-format msgid "cannot accumulate null arrays" msgstr "Arrays, die NULL sind, können nicht akkumuliert werden" -#: utils/adt/arrayfuncs.c:5582 +#: utils/adt/arrayfuncs.c:5589 #, c-format msgid "cannot accumulate empty arrays" msgstr "leere Arrays können nicht akkumuliert werden" -#: utils/adt/arrayfuncs.c:5983 utils/adt/arrayfuncs.c:6023 +#: utils/adt/arrayfuncs.c:5990 utils/adt/arrayfuncs.c:6030 #, c-format msgid "dimension array or low bound array cannot be null" msgstr "Dimensions-Array oder Untergrenzen-Array darf nicht NULL sein" -#: utils/adt/arrayfuncs.c:6086 utils/adt/arrayfuncs.c:6112 +#: utils/adt/arrayfuncs.c:6093 utils/adt/arrayfuncs.c:6119 #, c-format msgid "Dimension array must be one dimensional." msgstr "Dimensions-Array muss eindimensional sein." -#: utils/adt/arrayfuncs.c:6091 utils/adt/arrayfuncs.c:6117 +#: utils/adt/arrayfuncs.c:6098 utils/adt/arrayfuncs.c:6124 #, c-format msgid "dimension values cannot be null" msgstr "Dimensionswerte dürfen nicht NULL sein" -#: utils/adt/arrayfuncs.c:6123 +#: utils/adt/arrayfuncs.c:6130 #, c-format msgid "Low bound array has different size than dimensions array." msgstr "Untergrenzen-Array hat andere Größe als Dimensions-Array." -#: utils/adt/arrayfuncs.c:6404 +#: utils/adt/arrayfuncs.c:6411 #, c-format msgid "removing elements from multidimensional arrays is not supported" msgstr "Entfernen von Elementen aus mehrdimensionalen Arrays wird nicht unterstützt" -#: utils/adt/arrayfuncs.c:6681 +#: utils/adt/arrayfuncs.c:6688 #, c-format msgid "thresholds must be one-dimensional array" msgstr "Parameter »thresholds« muss ein eindimensionales Array sein" -#: utils/adt/arrayfuncs.c:6686 +#: utils/adt/arrayfuncs.c:6693 #, c-format msgid "thresholds array must not contain NULLs" msgstr "»thresholds«-Array darf keine NULL-Werte enthalten" -#: utils/adt/arrayfuncs.c:6919 +#: utils/adt/arrayfuncs.c:6926 #, c-format msgid "number of elements to trim must be between 0 and %d" msgstr "Anzahl der zu entfernenden Elemente muss zwischen 0 und %d sein" @@ -24966,7 +24789,7 @@ msgid "encoding conversion from %s to ASCII not supported" msgstr "Kodierungsumwandlung zwischen %s und ASCII wird nicht unterstützt" #. translator: first %s is inet or cidr -#: utils/adt/bool.c:149 utils/adt/cash.c:277 utils/adt/datetime.c:4142 +#: utils/adt/bool.c:149 utils/adt/cash.c:354 utils/adt/datetime.c:4142 #: utils/adt/float.c:200 utils/adt/float.c:287 utils/adt/float.c:301 #: utils/adt/float.c:406 utils/adt/float.c:489 utils/adt/float.c:503 #: utils/adt/geo_ops.c:250 utils/adt/geo_ops.c:335 utils/adt/geo_ops.c:974 @@ -24974,8 +24797,8 @@ msgstr "Kodierungsumwandlung zwischen %s und ASCII wird nicht unterstützt" #: 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:796 utils/adt/numeric.c:7206 -#: utils/adt/numeric.c:7409 utils/adt/numeric.c:8356 utils/adt/numutils.c:356 +#: 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/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 @@ -24985,29 +24808,33 @@ msgstr "Kodierungsumwandlung zwischen %s und ASCII wird nicht unterstützt" msgid "invalid input syntax for type %s: \"%s\"" msgstr "ungültige Eingabesyntax für Typ %s: »%s«" -#: utils/adt/cash.c:215 utils/adt/cash.c:240 utils/adt/cash.c:250 -#: utils/adt/cash.c:290 utils/adt/int.c:180 utils/adt/numutils.c:350 -#: utils/adt/numutils.c:612 utils/adt/numutils.c:874 utils/adt/numutils.c:925 -#: utils/adt/numutils.c:964 utils/adt/numutils.c:1011 +#: utils/adt/cash.c:98 utils/adt/cash.c:111 utils/adt/cash.c:124 +#: utils/adt/cash.c:137 utils/adt/cash.c:150 #, c-format -msgid "value \"%s\" is out of range for type %s" -msgstr "Wert »%s« ist außerhalb des gültigen Bereichs für Typ %s" +msgid "money out of range" +msgstr "money ist außerhalb des gültigen Bereichs" -#: utils/adt/cash.c:652 utils/adt/cash.c:702 utils/adt/cash.c:753 -#: utils/adt/cash.c:802 utils/adt/cash.c:854 utils/adt/cash.c:904 -#: utils/adt/float.c:99 utils/adt/int.c:843 utils/adt/int.c:959 -#: utils/adt/int.c:1039 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:3176 utils/adt/numeric.c:3199 -#: utils/adt/numeric.c:3284 utils/adt/numeric.c:3302 utils/adt/numeric.c:3398 -#: utils/adt/numeric.c:8905 utils/adt/numeric.c:9218 utils/adt/numeric.c:9566 -#: utils/adt/numeric.c:9682 utils/adt/numeric.c:11192 -#: utils/adt/timestamp.c:3713 +#: utils/adt/cash.c:161 utils/adt/cash.c:723 utils/adt/float.c:99 +#: utils/adt/int.c:843 utils/adt/int.c:959 utils/adt/int.c:1039 +#: 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 #, c-format msgid "division by zero" msgstr "Division durch Null" +#: utils/adt/cash.c:292 utils/adt/cash.c:317 utils/adt/cash.c:327 +#: utils/adt/cash.c:367 utils/adt/int.c:180 utils/adt/numutils.c:350 +#: utils/adt/numutils.c:612 utils/adt/numutils.c:874 utils/adt/numutils.c:925 +#: utils/adt/numutils.c:964 utils/adt/numutils.c:1011 +#, c-format +msgid "value \"%s\" is out of range for type %s" +msgstr "Wert »%s« ist außerhalb des gültigen Bereichs für Typ %s" + #: utils/adt/char.c:197 #, c-format msgid "\"char\" out of range" @@ -25042,7 +24869,7 @@ msgid "date out of range: \"%s\"" msgstr "date ist außerhalb des gültigen Bereichs: »%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:2489 +#: utils/adt/rangetypes.c:1584 utils/adt/rangetypes.c:1599 utils/adt/xml.c:2552 #, c-format msgid "date out of range" msgstr "date ist außerhalb des gültigen Bereichs" @@ -25116,8 +24943,8 @@ msgstr "Einheit »%s« nicht erkannt für Typ %s" #: 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:2511 -#: utils/adt/xml.c:2518 utils/adt/xml.c:2538 utils/adt/xml.c:2545 +#: 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 #, c-format msgid "timestamp out of range" msgstr "timestamp ist außerhalb des gültigen Bereichs" @@ -25133,26 +24960,23 @@ msgid "time field value out of range: %d:%02d:%02g" msgstr "Zeit-Feldwert ist außerhalb des gültigen Bereichs: %d:%02d:%02g" #: utils/adt/date.c:2020 -#, fuzzy, c-format -#| msgid "cannot convert infinity to %s" +#, c-format msgid "cannot convert infinite interval to time" -msgstr "kann Unendlich nicht in %s umwandeln" +msgstr "kann unendlichen interval-Wert nicht in time umwandeln" #: utils/adt/date.c:2061 utils/adt/date.c:2605 -#, fuzzy, c-format -#| msgid "cannot subtract infinite dates" +#, c-format msgid "cannot add infinite interval to time" -msgstr "kann unendliche date-Werte nicht subtrahieren" +msgstr "kann unendlichen interval-Wert nicht zu time addieren" #: utils/adt/date.c:2084 utils/adt/date.c:2632 -#, fuzzy, c-format -#| msgid "cannot subtract infinite dates" +#, c-format msgid "cannot subtract infinite interval from time" -msgstr "kann unendliche date-Werte nicht subtrahieren" +msgstr "kann unendlichen interval-Wert nicht von time subtrahieren" #: 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:2580 +#: utils/adt/int.c:717 utils/adt/int8.c:413 utils/adt/numeric.c:2595 #: utils/adt/timestamp.c:3810 utils/adt/timestamp.c:3847 #: utils/adt/timestamp.c:3888 #, c-format @@ -25210,17 +25034,17 @@ msgstr "Dieser Zeitzonenname erscheint in der Konfigurationsdatei für Zeitzonen msgid "invalid Datum pointer" msgstr "ungültiger »Datum«-Zeiger" -#: utils/adt/dbsize.c:760 utils/adt/dbsize.c:836 +#: utils/adt/dbsize.c:764 utils/adt/dbsize.c:840 #, c-format msgid "invalid size: \"%s\"" msgstr "ungültige Größe: »%s«" -#: utils/adt/dbsize.c:837 +#: utils/adt/dbsize.c:841 #, c-format msgid "Invalid size unit: \"%s\"." msgstr "Ungültige Größeneinheit: »%s«." -#: utils/adt/dbsize.c:838 +#: utils/adt/dbsize.c:842 #, c-format msgid "Valid units are \"bytes\", \"B\", \"kB\", \"MB\", \"GB\", \"TB\", and \"PB\"." msgstr "Gültige Einheiten sind »bytes«, »B«, »kB«, »MB«, »GB«, »TB« und »PB«." @@ -25330,34 +25154,34 @@ msgstr "»%s« ist außerhalb des gültigen Bereichs für Typ double precision" #: 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:4578 utils/adt/numeric.c:4583 +#: utils/adt/int8.c:1277 utils/adt/numeric.c:4593 utils/adt/numeric.c:4598 #, c-format msgid "smallint out of range" msgstr "smallint ist außerhalb des gültigen Bereichs" -#: utils/adt/float.c:1447 utils/adt/numeric.c:3694 utils/adt/numeric.c:10097 +#: utils/adt/float.c:1447 utils/adt/numeric.c:3709 utils/adt/numeric.c:10112 #, c-format msgid "cannot take square root of a negative number" msgstr "Quadratwurzel von negativer Zahl kann nicht ermittelt werden" -#: utils/adt/float.c:1515 utils/adt/numeric.c:3982 utils/adt/numeric.c:4094 +#: utils/adt/float.c:1515 utils/adt/numeric.c:3997 utils/adt/numeric.c:4109 #, c-format msgid "zero raised to a negative power is undefined" msgstr "null hoch eine negative Zahl ist undefiniert" -#: utils/adt/float.c:1519 utils/adt/numeric.c:3986 utils/adt/numeric.c:10988 +#: utils/adt/float.c:1519 utils/adt/numeric.c:4001 utils/adt/numeric.c:11003 #, c-format msgid "a negative number raised to a non-integer power yields a complex result" msgstr "eine negative Zahl hoch eine nicht ganze Zahl ergibt ein komplexes Ergebnis" -#: utils/adt/float.c:1695 utils/adt/float.c:1728 utils/adt/numeric.c:3894 -#: utils/adt/numeric.c:10768 +#: utils/adt/float.c:1695 utils/adt/float.c:1728 utils/adt/numeric.c:3909 +#: utils/adt/numeric.c:10783 #, c-format msgid "cannot take logarithm of zero" msgstr "Logarithmus von null kann nicht ermittelt werden" -#: utils/adt/float.c:1699 utils/adt/float.c:1732 utils/adt/numeric.c:3832 -#: utils/adt/numeric.c:3889 utils/adt/numeric.c:10772 +#: 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 #, c-format msgid "cannot take logarithm of a negative number" msgstr "Logarithmus negativer Zahlen kann nicht ermittelt werden" @@ -25371,22 +25195,22 @@ msgstr "Logarithmus negativer Zahlen kann nicht ermittelt werden" msgid "input is out of range" msgstr "Eingabe ist außerhalb des gültigen Bereichs" -#: utils/adt/float.c:4000 utils/adt/numeric.c:1842 +#: utils/adt/float.c:4000 utils/adt/numeric.c:1857 #, c-format msgid "count must be greater than zero" msgstr "Anzahl muss größer als null sein" -#: utils/adt/float.c:4005 utils/adt/numeric.c:1853 +#: utils/adt/float.c:4005 utils/adt/numeric.c:1868 #, c-format msgid "operand, lower bound, and upper bound cannot be NaN" msgstr "Operand, Untergrenze und Obergrenze dürfen nicht NaN sein" -#: utils/adt/float.c:4011 utils/adt/numeric.c:1858 +#: utils/adt/float.c:4011 utils/adt/numeric.c:1873 #, c-format msgid "lower and upper bounds must be finite" msgstr "Untergrenze und Obergrenze müssen endlich sein" -#: utils/adt/float.c:4077 utils/adt/numeric.c:1872 +#: utils/adt/float.c:4077 utils/adt/numeric.c:1887 #, c-format msgid "lower bound cannot equal upper bound" msgstr "Untergrenze kann nicht gleich der Obergrenze sein" @@ -25579,10 +25403,9 @@ msgid "unmatched format character \"%s\"" msgstr "Formatzeichen »%s« ohne passende Eingabe" #: utils/adt/formatting.c:3652 -#, fuzzy, c-format -#| msgid "time zone \"%s\" not recognized" +#, c-format msgid "Time zone abbreviation is not recognized." -msgstr "Zeitzone »%s« nicht erkannt" +msgstr "Zeitzonenabkürzung wird nicht erkannt." #: utils/adt/formatting.c:3853 #, c-format @@ -25737,7 +25560,7 @@ msgstr "mindestens 2 Punkte müssen angefordert werden" msgid "invalid int2vector data" msgstr "ungültige int2vector-Daten" -#: utils/adt/int.c:1529 utils/adt/int8.c:1403 utils/adt/numeric.c:1750 +#: utils/adt/int.c:1529 utils/adt/int8.c:1403 utils/adt/numeric.c:1765 #: utils/adt/timestamp.c:6546 utils/adt/timestamp.c:6632 #, c-format msgid "step size cannot equal zero" @@ -25752,7 +25575,7 @@ msgstr "Schrittgröße kann nicht gleich null sein" #: 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:4527 +#: utils/adt/int8.c:1312 utils/adt/int8.c:1347 utils/adt/numeric.c:4542 #: utils/adt/rangetypes.c:1535 utils/adt/rangetypes.c:1548 #: utils/adt/varbit.c:1676 #, c-format @@ -25774,39 +25597,39 @@ msgstr "Schlüsselwert muss skalar sein, nicht Array, zusammengesetzt oder json" msgid "could not determine data type for argument %d" msgstr "konnte Datentyp von Argument %d nicht ermitteln" -#: utils/adt/json.c:1067 utils/adt/json.c:1259 utils/adt/json.c:1435 -#: utils/adt/json.c:1513 utils/adt/jsonb.c:1333 utils/adt/jsonb.c:1423 +#: utils/adt/json.c:1067 utils/adt/json.c:1266 utils/adt/json.c:1449 +#: utils/adt/json.c:1527 utils/adt/jsonb.c:1333 utils/adt/jsonb.c:1423 #, c-format msgid "null value not allowed for object key" msgstr "NULL-Werte sind nicht als Objektschlüssel erlaubt" -#: utils/adt/json.c:1110 utils/adt/json.c:1274 +#: utils/adt/json.c:1117 utils/adt/json.c:1288 #, c-format msgid "duplicate JSON object key value: %s" msgstr "doppelter JSON-Objekt-Schlüsselwert: %s" -#: utils/adt/json.c:1219 utils/adt/jsonb.c:1134 +#: utils/adt/json.c:1226 utils/adt/jsonb.c:1134 #, c-format msgid "argument list must have even number of elements" msgstr "Argumentliste muss gerade Anzahl Elemente haben" #. translator: %s is a SQL function name -#: utils/adt/json.c:1221 utils/adt/jsonb.c:1136 +#: utils/adt/json.c:1228 utils/adt/jsonb.c:1136 #, c-format msgid "The arguments of %s must consist of alternating keys and values." msgstr "Die Argumente von %s müssen abwechselnd Schlüssel und Werte sein." -#: utils/adt/json.c:1413 utils/adt/jsonb.c:1311 +#: utils/adt/json.c:1427 utils/adt/jsonb.c:1311 #, c-format msgid "array must have two columns" msgstr "Array muss zwei Spalten haben" -#: utils/adt/json.c:1502 utils/adt/jsonb.c:1412 +#: utils/adt/json.c:1516 utils/adt/jsonb.c:1412 #, c-format msgid "mismatched array dimensions" msgstr "Array-Dimensionen passen nicht" -#: utils/adt/json.c:1688 utils/adt/jsonb_util.c:1956 +#: utils/adt/json.c:1702 utils/adt/jsonb_util.c:1956 #, c-format msgid "duplicate JSON object key value" msgstr "doppelter JSON-Objekt-Schlüsselwert" @@ -25922,210 +25745,210 @@ msgstr "jsonb-Index muss Typ text haben" msgid "jsonb subscript in assignment must not be null" msgstr "jsonb-Index in Zuweisung darf nicht NULL sein" -#: utils/adt/jsonfuncs.c:582 utils/adt/jsonfuncs.c:829 -#: utils/adt/jsonfuncs.c:2438 utils/adt/jsonfuncs.c:3013 -#: utils/adt/jsonfuncs.c:3929 utils/adt/jsonfuncs.c:4276 +#: utils/adt/jsonfuncs.c:583 utils/adt/jsonfuncs.c:830 +#: utils/adt/jsonfuncs.c:2439 utils/adt/jsonfuncs.c:3015 +#: utils/adt/jsonfuncs.c:3948 utils/adt/jsonfuncs.c:4295 #, c-format msgid "cannot call %s on a scalar" msgstr "%s kann nicht mit einem skalaren Wert aufgerufen werden" -#: utils/adt/jsonfuncs.c:587 utils/adt/jsonfuncs.c:814 -#: utils/adt/jsonfuncs.c:3015 utils/adt/jsonfuncs.c:3916 +#: utils/adt/jsonfuncs.c:588 utils/adt/jsonfuncs.c:815 +#: utils/adt/jsonfuncs.c:3017 utils/adt/jsonfuncs.c:3935 #, c-format msgid "cannot call %s on an array" msgstr "%s kann nicht mit einem Array aufgerufen werden" -#: utils/adt/jsonfuncs.c:723 +#: utils/adt/jsonfuncs.c:724 #, c-format msgid "JSON data, line %d: %s%s%s" msgstr "JSON-Daten, Zeile %d: %s%s%s" -#: utils/adt/jsonfuncs.c:1882 utils/adt/jsonfuncs.c:1919 +#: utils/adt/jsonfuncs.c:1883 utils/adt/jsonfuncs.c:1920 #, c-format msgid "cannot get array length of a scalar" msgstr "kann nicht die Arraylänge eines skalaren Wertes ermitteln" -#: utils/adt/jsonfuncs.c:1886 utils/adt/jsonfuncs.c:1905 +#: utils/adt/jsonfuncs.c:1887 utils/adt/jsonfuncs.c:1906 #, c-format msgid "cannot get array length of a non-array" msgstr "kann nicht die Arraylänge eines Nicht-Arrays ermitteln" -#: utils/adt/jsonfuncs.c:1985 +#: utils/adt/jsonfuncs.c:1986 #, c-format msgid "cannot call %s on a non-object" msgstr "%s kann nicht mit etwas aufgerufen werden, das kein Objekt ist" -#: utils/adt/jsonfuncs.c:2173 +#: utils/adt/jsonfuncs.c:2174 #, c-format msgid "cannot deconstruct an array as an object" msgstr "kann Array nicht in ein Objekt zerlegen" -#: utils/adt/jsonfuncs.c:2187 +#: utils/adt/jsonfuncs.c:2188 #, c-format msgid "cannot deconstruct a scalar" msgstr "kann skalaren Wert nicht zerlegen" -#: utils/adt/jsonfuncs.c:2232 +#: utils/adt/jsonfuncs.c:2233 #, c-format msgid "cannot extract elements from a scalar" msgstr "kann keine Elemente aus einem skalaren Wert auswählen" -#: utils/adt/jsonfuncs.c:2236 +#: utils/adt/jsonfuncs.c:2237 #, c-format msgid "cannot extract elements from an object" msgstr "kann keine Elemente aus einem Objekt auswählen" -#: utils/adt/jsonfuncs.c:2423 utils/adt/jsonfuncs.c:4154 +#: utils/adt/jsonfuncs.c:2424 utils/adt/jsonfuncs.c:4173 #, c-format msgid "cannot call %s on a non-array" msgstr "%s kann nicht mit etwas aufgerufen werden, das kein Array ist" -#: utils/adt/jsonfuncs.c:2514 utils/adt/jsonfuncs.c:2519 -#: utils/adt/jsonfuncs.c:2537 utils/adt/jsonfuncs.c:2543 +#: utils/adt/jsonfuncs.c:2515 utils/adt/jsonfuncs.c:2520 +#: utils/adt/jsonfuncs.c:2538 utils/adt/jsonfuncs.c:2544 #, c-format msgid "expected JSON array" msgstr "JSON-Array wurde erwartet" -#: utils/adt/jsonfuncs.c:2515 +#: utils/adt/jsonfuncs.c:2516 #, c-format msgid "See the value of key \"%s\"." msgstr "Prüfen Sie den Wert des Schlüssels »%s«." -#: utils/adt/jsonfuncs.c:2538 +#: utils/adt/jsonfuncs.c:2539 #, c-format msgid "See the array element %s of key \"%s\"." msgstr "Prüfen Sie das Arrayelement %s des Schlüssels »%s«." -#: utils/adt/jsonfuncs.c:2544 +#: utils/adt/jsonfuncs.c:2545 #, c-format msgid "See the array element %s." msgstr "Prüfen Sie das Arrayelement %s." -#: utils/adt/jsonfuncs.c:2596 +#: utils/adt/jsonfuncs.c:2597 #, c-format msgid "malformed JSON array" msgstr "fehlerhaftes JSON-Array" #. translator: %s is a function name, eg json_to_record -#: utils/adt/jsonfuncs.c:3628 +#: utils/adt/jsonfuncs.c:3647 #, c-format msgid "first argument of %s must be a row type" msgstr "erstes Argument von %s muss ein Zeilentyp sein" #. translator: %s is a function name, eg json_to_record -#: utils/adt/jsonfuncs.c:3652 +#: utils/adt/jsonfuncs.c:3671 #, c-format msgid "could not determine row type for result of %s" msgstr "konnte Zeilentyp für Ergebnis von %s nicht ermitteln" -#: utils/adt/jsonfuncs.c:3654 +#: utils/adt/jsonfuncs.c:3673 #, c-format msgid "Provide a non-null record argument, or call the function in the FROM clause using a column definition list." msgstr "Geben Sie ein »record«-Argument, das nicht NULL ist, an oder rufen Sie die Funktion in der FROM-Klausel mit einer Spaltendefinitionsliste auf." -#: utils/adt/jsonfuncs.c:4040 utils/fmgr/funcapi.c:94 +#: utils/adt/jsonfuncs.c:4059 utils/fmgr/funcapi.c:94 #, c-format msgid "materialize mode required, but it is not allowed in this context" msgstr "Materialisierungsmodus wird benötigt, ist aber in diesem Zusammenhang nicht erlaubt" -#: utils/adt/jsonfuncs.c:4171 utils/adt/jsonfuncs.c:4255 +#: utils/adt/jsonfuncs.c:4190 utils/adt/jsonfuncs.c:4274 #, c-format msgid "argument of %s must be an array of objects" msgstr "Argument von %s muss ein Array von Objekten sein" -#: utils/adt/jsonfuncs.c:4204 +#: utils/adt/jsonfuncs.c:4223 #, c-format msgid "cannot call %s on an object" msgstr "%s kann nicht mit einem Objekt aufgerufen werden" -#: utils/adt/jsonfuncs.c:4637 utils/adt/jsonfuncs.c:4696 -#: utils/adt/jsonfuncs.c:4776 +#: utils/adt/jsonfuncs.c:4656 utils/adt/jsonfuncs.c:4715 +#: utils/adt/jsonfuncs.c:4795 #, c-format msgid "cannot delete from scalar" msgstr "kann nicht aus skalarem Wert löschen" -#: utils/adt/jsonfuncs.c:4781 +#: utils/adt/jsonfuncs.c:4800 #, c-format msgid "cannot delete from object using integer index" msgstr "aus einem Objekt kann nicht per numerischem Index gelöscht werden" -#: utils/adt/jsonfuncs.c:4849 utils/adt/jsonfuncs.c:5008 +#: utils/adt/jsonfuncs.c:4868 utils/adt/jsonfuncs.c:5027 #, c-format msgid "cannot set path in scalar" msgstr "in einem skalaren Wert kann kein Pfad gesetzt werden" -#: utils/adt/jsonfuncs.c:4890 utils/adt/jsonfuncs.c:4932 +#: utils/adt/jsonfuncs.c:4909 utils/adt/jsonfuncs.c:4951 #, c-format msgid "null_value_treatment must be \"delete_key\", \"return_target\", \"use_json_null\", or \"raise_exception\"" msgstr "null_value_treatment muss »delete_key«, »return_target«, »use_json_null« oder »raise_exception« sein" -#: utils/adt/jsonfuncs.c:4903 +#: utils/adt/jsonfuncs.c:4922 #, c-format msgid "JSON value must not be null" msgstr "JSON-Wert darf nicht NULL sein" -#: utils/adt/jsonfuncs.c:4904 +#: utils/adt/jsonfuncs.c:4923 #, c-format msgid "Exception was raised because null_value_treatment is \"raise_exception\"." msgstr "Ausnahme wurde ausgelöst, weil null_value_treatment »raise_exception« ist." -#: utils/adt/jsonfuncs.c:4905 +#: utils/adt/jsonfuncs.c:4924 #, c-format msgid "To avoid, either change the null_value_treatment argument or ensure that an SQL NULL is not passed." msgstr "Um dies zu vermeiden, ändern Sie das Argument null_value_treatment oder sorgen Sie dafür, dass kein SQL NULL übergeben wird." -#: utils/adt/jsonfuncs.c:4960 +#: utils/adt/jsonfuncs.c:4979 #, c-format msgid "cannot delete path in scalar" msgstr "in einem skalaren Wert kann kein Pfad gelöscht werden" -#: utils/adt/jsonfuncs.c:5174 +#: utils/adt/jsonfuncs.c:5193 #, c-format msgid "path element at position %d is null" msgstr "Pfadelement auf Position %d ist NULL" -#: utils/adt/jsonfuncs.c:5193 utils/adt/jsonfuncs.c:5224 -#: utils/adt/jsonfuncs.c:5297 +#: utils/adt/jsonfuncs.c:5212 utils/adt/jsonfuncs.c:5243 +#: utils/adt/jsonfuncs.c:5316 #, c-format msgid "cannot replace existing key" msgstr "existierender Schlüssel kann nicht ersetzt werden" -#: utils/adt/jsonfuncs.c:5194 utils/adt/jsonfuncs.c:5225 +#: utils/adt/jsonfuncs.c:5213 utils/adt/jsonfuncs.c:5244 #, c-format msgid "The path assumes key is a composite object, but it is a scalar value." msgstr "Der Pfad nimmt an, dass der Schlüssel ein zusammengesetztes Objekt ist, aber er ist ein skalarer Wert." -#: utils/adt/jsonfuncs.c:5298 +#: utils/adt/jsonfuncs.c:5317 #, c-format msgid "Try using the function jsonb_set to replace key value." msgstr "Verwenden Sie die Funktion jsonb_set, um den Schlüsselwert zu ersetzen." -#: utils/adt/jsonfuncs.c:5402 +#: utils/adt/jsonfuncs.c:5421 #, c-format msgid "path element at position %d is not an integer: \"%s\"" msgstr "Pfadelement auf Position %d ist keine ganze Zahl: »%s«" -#: utils/adt/jsonfuncs.c:5419 +#: utils/adt/jsonfuncs.c:5438 #, c-format msgid "path element at position %d is out of range: %d" msgstr "Pfadelement auf Position %d ist außerhalb des gültigen Bereichs: %d" -#: utils/adt/jsonfuncs.c:5571 +#: utils/adt/jsonfuncs.c:5590 #, c-format msgid "wrong flag type, only arrays and scalars are allowed" msgstr "falscher Flag-Typ, nur Arrays und skalare Werte sind erlaubt" -#: utils/adt/jsonfuncs.c:5578 +#: utils/adt/jsonfuncs.c:5597 #, c-format msgid "flag array element is not a string" msgstr "Flag-Array-Element ist keine Zeichenkette" -#: utils/adt/jsonfuncs.c:5579 utils/adt/jsonfuncs.c:5601 +#: utils/adt/jsonfuncs.c:5598 utils/adt/jsonfuncs.c:5620 #, c-format msgid "Possible values are: \"string\", \"numeric\", \"boolean\", \"key\", and \"all\"." msgstr "Mögliche Werte sind: »string«, »numeric«, »boolean«, »key« und »all«." -#: utils/adt/jsonfuncs.c:5599 +#: utils/adt/jsonfuncs.c:5618 #, c-format msgid "wrong flag in flag array: \"%s\"" msgstr "falsche Flag im Flag-Array: »%s«" @@ -26140,233 +25963,220 @@ msgstr "@ ist nicht erlaubt in Wurzelausdrücken" msgid "LAST is allowed only in array subscripts" msgstr "LAST ist nur in Arrayindizes erlaubt" -#: utils/adt/jsonpath_exec.c:490 +#: utils/adt/jsonpath_exec.c:491 #, c-format msgid "single boolean result is expected" msgstr "ein einzelnes Ergebnis mit Typ boolean wird erwartet" -#: utils/adt/jsonpath_exec.c:850 +#: utils/adt/jsonpath_exec.c:851 #, c-format msgid "jsonpath wildcard array accessor can only be applied to an array" msgstr "JSON-Path-Wildcard-Array-Indizierung kann nur auf ein Array angewendet werden" -#: utils/adt/jsonpath_exec.c:873 +#: utils/adt/jsonpath_exec.c:874 #, c-format msgid "jsonpath wildcard member accessor can only be applied to an object" msgstr "JSON-Path-Wildcard-Member-Zugriff kann nur auf ein Objekt angwendet werden" -#: utils/adt/jsonpath_exec.c:922 +#: utils/adt/jsonpath_exec.c:923 #, c-format msgid "jsonpath array subscript is out of bounds" msgstr "JSON-Path-Arrayindex ist außerhalb des gültigen Bereichs" -#: utils/adt/jsonpath_exec.c:979 +#: utils/adt/jsonpath_exec.c:980 #, c-format msgid "jsonpath array accessor can only be applied to an array" msgstr "JSON-Path-Array-Indizierung kann nur auf ein Array angewendet werden" -#: utils/adt/jsonpath_exec.c:1043 +#: utils/adt/jsonpath_exec.c:1044 #, c-format msgid "JSON object does not contain key \"%s\"" msgstr "JSON-Objekt enthält Schlüssel »%s« nicht" -#: utils/adt/jsonpath_exec.c:1055 +#: utils/adt/jsonpath_exec.c:1056 #, c-format msgid "jsonpath member accessor can only be applied to an object" msgstr "JSON-Path-Member-Zugriff kann nur auf ein Objekt angewendet werden" -#: utils/adt/jsonpath_exec.c:1113 +#: utils/adt/jsonpath_exec.c:1114 #, c-format msgid "jsonpath item method .%s() can only be applied to an array" msgstr "Jsonpath-Item-Methode .%s() kann nur auf ein Array angewendet werden" -#: utils/adt/jsonpath_exec.c:1166 utils/adt/jsonpath_exec.c:1192 -#, fuzzy, c-format -#| msgid "numeric argument of jsonpath item method .%s() is out of range for type double precision" +#: utils/adt/jsonpath_exec.c:1167 utils/adt/jsonpath_exec.c:1193 +#, c-format msgid "argument \"%s\" of jsonpath item method .%s() is invalid for type double precision" -msgstr "numerisches Argument der JSON-Path-Item-Methode .%s() ist außerhalb des gültigen Bereichs für Typ double precision" +msgstr "Argument »%s« der JSON-Path-Item-Methode .%s() ist ungültig für Typ double precision" -#: utils/adt/jsonpath_exec.c:1171 utils/adt/jsonpath_exec.c:1197 -#: utils/adt/jsonpath_exec.c:1413 utils/adt/jsonpath_exec.c:1445 +#: utils/adt/jsonpath_exec.c:1172 utils/adt/jsonpath_exec.c:1198 +#: utils/adt/jsonpath_exec.c:1414 utils/adt/jsonpath_exec.c:1446 #, c-format msgid "NaN or Infinity is not allowed for jsonpath item method .%s()" -msgstr "" +msgstr "NaN oder unendliche Werte sind für JSON-Path-Item-Methode .%s() nicht erlaubt" -#: utils/adt/jsonpath_exec.c:1210 utils/adt/jsonpath_exec.c:1312 -#: utils/adt/jsonpath_exec.c:1454 utils/adt/jsonpath_exec.c:1592 +#: utils/adt/jsonpath_exec.c:1211 utils/adt/jsonpath_exec.c:1313 +#: utils/adt/jsonpath_exec.c:1455 utils/adt/jsonpath_exec.c:1593 #, c-format msgid "jsonpath item method .%s() can only be applied to a string or numeric value" msgstr "JSON-Path-Item-Methode .%s() kann nur auf eine Zeichenkette oder einen numerischen Wert angewendet werden" -#: utils/adt/jsonpath_exec.c:1280 utils/adt/jsonpath_exec.c:1304 -#, fuzzy, c-format -#| msgid "numeric argument of jsonpath item method .%s() is out of range for type double precision" +#: utils/adt/jsonpath_exec.c:1281 utils/adt/jsonpath_exec.c:1305 +#, c-format msgid "argument \"%s\" of jsonpath item method .%s() is invalid for type bigint" -msgstr "numerisches Argument der JSON-Path-Item-Methode .%s() ist außerhalb des gültigen Bereichs für Typ double precision" +msgstr "Argument »%s« der JSON-Path-Item-Methode .%s() ist ungültig für Typ bigint" -#: utils/adt/jsonpath_exec.c:1356 utils/adt/jsonpath_exec.c:1376 -#, fuzzy, c-format -#| msgid "numeric argument of jsonpath item method .%s() is out of range for type double precision" +#: utils/adt/jsonpath_exec.c:1357 utils/adt/jsonpath_exec.c:1377 +#, c-format msgid "argument \"%s\" of jsonpath item method .%s() is invalid for type boolean" -msgstr "numerisches Argument der JSON-Path-Item-Methode .%s() ist außerhalb des gültigen Bereichs für Typ double precision" +msgstr "Argument »%s« der JSON-Path-Item-Methode .%s() ist ungültig für Typ boolean" -#: utils/adt/jsonpath_exec.c:1385 -#, fuzzy, c-format -#| msgid "jsonpath item method .%s() can only be applied to a string or numeric value" -msgid "jsonpath item method .%s() can only be applied to a bool, string, or numeric value" -msgstr "JSON-Path-Item-Methode .%s() kann nur auf eine Zeichenkette oder einen numerischen Wert angewendet werden" +#: utils/adt/jsonpath_exec.c:1386 +#, c-format +msgid "jsonpath item method .%s() can only be applied to a boolean, string, or numeric value" +msgstr "JSON-Path-Item-Methode .%s() kann nur auf boolean, eine Zeichenkette oder einen numerischen Wert angewendet werden" -#: utils/adt/jsonpath_exec.c:1438 utils/adt/jsonpath_exec.c:1527 -#, fuzzy, c-format -#| msgid "numeric argument of jsonpath item method .%s() is out of range for type double precision" +#: utils/adt/jsonpath_exec.c:1439 utils/adt/jsonpath_exec.c:1528 +#, c-format msgid "argument \"%s\" of jsonpath item method .%s() is invalid for type numeric" -msgstr "numerisches Argument der JSON-Path-Item-Methode .%s() ist außerhalb des gültigen Bereichs für Typ double precision" +msgstr "Argument »%s« der JSON-Path-Item-Methode .%s() ist ungültig für Typ numeric" -#: utils/adt/jsonpath_exec.c:1486 -#, fuzzy, c-format -#| msgid "numeric argument of jsonpath item method .%s() is out of range for type double precision" +#: utils/adt/jsonpath_exec.c:1487 +#, c-format msgid "precision of jsonpath item method .%s() is out of range for type integer" -msgstr "numerisches Argument der JSON-Path-Item-Methode .%s() ist außerhalb des gültigen Bereichs für Typ double precision" +msgstr "Präzision der JSON-Path-Item-Methode .%s() ist außerhalb des gültigen Bereichs für Typ integer" -#: utils/adt/jsonpath_exec.c:1500 -#, fuzzy, c-format -#| msgid "numeric argument of jsonpath item method .%s() is out of range for type double precision" +#: utils/adt/jsonpath_exec.c:1501 +#, c-format msgid "scale of jsonpath item method .%s() is out of range for type integer" -msgstr "numerisches Argument der JSON-Path-Item-Methode .%s() ist außerhalb des gültigen Bereichs für Typ double precision" +msgstr "Skala der JSON-Path-Item-Methode .%s() ist außerhalb des gültigen Bereichs für Typ integer" -#: utils/adt/jsonpath_exec.c:1560 utils/adt/jsonpath_exec.c:1584 -#, fuzzy, c-format -#| msgid "numeric argument of jsonpath item method .%s() is out of range for type double precision" +#: utils/adt/jsonpath_exec.c:1561 utils/adt/jsonpath_exec.c:1585 +#, c-format msgid "argument \"%s\" of jsonpath item method .%s() is invalid for type integer" -msgstr "numerisches Argument der JSON-Path-Item-Methode .%s() ist außerhalb des gültigen Bereichs für Typ double precision" +msgstr "Argument »%s« der JSON-Path-Item-Methode .%s() ist ungültig für Typ integer" -#: utils/adt/jsonpath_exec.c:1666 -#, fuzzy, c-format -#| msgid "jsonpath item method .%s() can only be applied to a string or numeric value" -msgid "jsonpath item method .%s() can only be applied to a bool, string, numeric, or datetime value" -msgstr "JSON-Path-Item-Methode .%s() kann nur auf eine Zeichenkette oder einen numerischen Wert angewendet werden" +#: utils/adt/jsonpath_exec.c:1648 +#, c-format +msgid "jsonpath item method .%s() can only be applied to a boolean, string, numeric, or datetime value" +msgstr "JSON-Path-Item-Methode .%s() kann nur auf boolean, eine Zeichenkette, einen numerischen Wert oder einen datetime-Wert angewendet werden" -#: utils/adt/jsonpath_exec.c:2155 +#: utils/adt/jsonpath_exec.c:2137 #, c-format msgid "left operand of jsonpath operator %s is not a single numeric value" msgstr "linker Operand des JSON-Path-Operators %s ist kein einzelner numerischer Wert" -#: utils/adt/jsonpath_exec.c:2162 +#: utils/adt/jsonpath_exec.c:2144 #, c-format msgid "right operand of jsonpath operator %s is not a single numeric value" msgstr "rechter Operand des JSON-Path-Operators %s ist kein einzelner numerischer Wert" -#: utils/adt/jsonpath_exec.c:2230 +#: utils/adt/jsonpath_exec.c:2212 #, c-format msgid "operand of unary jsonpath operator %s is not a numeric value" msgstr "Operand des unären JSON-Path-Operators %s ist kein numerischer Wert" -#: utils/adt/jsonpath_exec.c:2329 +#: utils/adt/jsonpath_exec.c:2311 #, c-format msgid "jsonpath item method .%s() can only be applied to a numeric value" msgstr "JSON-Path-Item-Methode .%s() kann nur auf einen numerischen Wert angewendet werden" -#: utils/adt/jsonpath_exec.c:2375 +#: utils/adt/jsonpath_exec.c:2357 #, c-format msgid "jsonpath item method .%s() can only be applied to a string" msgstr "JSON-Path-Item-Methode .%s() kann nur auf eine Zeichenkette angewendet werden" -#: utils/adt/jsonpath_exec.c:2468 -#, fuzzy, c-format -#| msgid "numeric argument of jsonpath item method .%s() is out of range for type double precision" +#: utils/adt/jsonpath_exec.c:2450 +#, c-format msgid "time precision of jsonpath item method .%s() is out of range for type integer" -msgstr "numerisches Argument der JSON-Path-Item-Methode .%s() ist außerhalb des gültigen Bereichs für Typ double precision" - -#: utils/adt/jsonpath_exec.c:2502 utils/adt/jsonpath_exec.c:2508 -#: utils/adt/jsonpath_exec.c:2535 utils/adt/jsonpath_exec.c:2563 -#: utils/adt/jsonpath_exec.c:2616 utils/adt/jsonpath_exec.c:2667 -#: utils/adt/jsonpath_exec.c:2723 -#, fuzzy, c-format -#| msgid "datetime format is not recognized: \"%s\"" +msgstr "Zeitpräzision der JSON-Path-Item-Methode .%s() ist außerhalb des gültigen Bereichs für Typ integer" + +#: utils/adt/jsonpath_exec.c:2484 utils/adt/jsonpath_exec.c:2490 +#: utils/adt/jsonpath_exec.c:2517 utils/adt/jsonpath_exec.c:2545 +#: utils/adt/jsonpath_exec.c:2598 utils/adt/jsonpath_exec.c:2649 +#: utils/adt/jsonpath_exec.c:2720 +#, c-format msgid "%s format is not recognized: \"%s\"" -msgstr "Datum-/Zeitformat nicht erkannt: »%s«" +msgstr "%s-Format wird nicht erkannt: »%s«" -#: utils/adt/jsonpath_exec.c:2504 +#: utils/adt/jsonpath_exec.c:2486 #, c-format msgid "Use a datetime template argument to specify the input data format." msgstr "Verwenden Sie das Template-Argument für .datetime(), um das Eingabeformat anzugeben." -#: utils/adt/jsonpath_exec.c:2697 utils/adt/jsonpath_exec.c:2753 -#, fuzzy, c-format -#| msgid "numeric argument of jsonpath item method .%s() is out of range for type double precision" +#: utils/adt/jsonpath_exec.c:2679 utils/adt/jsonpath_exec.c:2760 +#, c-format msgid "time precision of jsonpath item method .%s() is invalid" -msgstr "numerisches Argument der JSON-Path-Item-Methode .%s() ist außerhalb des gültigen Bereichs für Typ double precision" +msgstr "Zeitpräzision der JSON-Path-Item-Methode .%s() ist ungültig" -#: utils/adt/jsonpath_exec.c:2833 +#: utils/adt/jsonpath_exec.c:2840 #, c-format msgid "jsonpath item method .%s() can only be applied to an object" msgstr "JSON-Path-Item-Methode .%s() kann nur auf ein Objekt angewendet werden" -#: utils/adt/jsonpath_exec.c:3117 -#, fuzzy, c-format -#| msgid "%s could not convert type %s to %s" +#: utils/adt/jsonpath_exec.c:3124 +#, c-format msgid "could not convert value of type %s to jsonpath" -msgstr "%s konnte Typ %s nicht in %s umwandeln" +msgstr "konnte Wert vom Typ %s nicht in jsonpath umwandeln" -#: utils/adt/jsonpath_exec.c:3151 +#: utils/adt/jsonpath_exec.c:3158 #, c-format msgid "could not find jsonpath variable \"%s\"" msgstr "konnte JSON-Path-Variable »%s« nicht finden" -#: utils/adt/jsonpath_exec.c:3204 +#: utils/adt/jsonpath_exec.c:3211 #, c-format msgid "\"vars\" argument is not an object" msgstr "Argument »vars« ist kein Objekt" -#: utils/adt/jsonpath_exec.c:3205 +#: utils/adt/jsonpath_exec.c:3212 #, c-format msgid "Jsonpath parameters should be encoded as key-value pairs of \"vars\" object." msgstr "JSON-Path-Parameter sollten als Schüssel-Wert-Paare im »vars«-Objekt kodiert werden." -#: utils/adt/jsonpath_exec.c:3468 +#: utils/adt/jsonpath_exec.c:3475 #, c-format msgid "jsonpath array subscript is not a single numeric value" msgstr "JSON-Path-Arrayindex ist kein einzelner numerischer Wert" -#: utils/adt/jsonpath_exec.c:3480 +#: utils/adt/jsonpath_exec.c:3487 #, c-format msgid "jsonpath array subscript is out of integer range" msgstr "JSON-Path-Arrayindex ist außerhalb des gültigen Bereichs für ganze Zahlen" -#: utils/adt/jsonpath_exec.c:3664 +#: utils/adt/jsonpath_exec.c:3671 #, c-format msgid "cannot convert value from %s to %s without time zone usage" msgstr "Wert kann nicht von %s nach %s konvertiert werden ohne Verwendung von Zeitzonen" -#: utils/adt/jsonpath_exec.c:3666 +#: utils/adt/jsonpath_exec.c:3673 #, c-format msgid "Use *_tz() function for time zone support." msgstr "Verwenden Sie die *_tz()-Funktion für Zeitzonenunterstützung." -#: utils/adt/jsonpath_exec.c:3960 +#: utils/adt/jsonpath_exec.c:3981 #, c-format msgid "JSON path expression for column \"%s\" should return single item without wrapper" -msgstr "" +msgstr "JSON-Path-Ausdruck für Spalte »%s« sollte ein einzelnes Element ohne Wrapper zurückgeben" -#: utils/adt/jsonpath_exec.c:3962 utils/adt/jsonpath_exec.c:3967 +#: utils/adt/jsonpath_exec.c:3983 utils/adt/jsonpath_exec.c:3988 #, c-format -msgid "Use WITH WRAPPER clause to wrap SQL/JSON items into array." -msgstr "" +msgid "Use the WITH WRAPPER clause to wrap SQL/JSON items into an array." +msgstr "Verwenden Sie die WITH-WRAPPER-Klausel, um SQL/JSON-Elemente in ein Array einzupacken." -#: utils/adt/jsonpath_exec.c:3966 +#: utils/adt/jsonpath_exec.c:3987 #, c-format msgid "JSON path expression in JSON_QUERY should return single item without wrapper" -msgstr "" +msgstr "JSON-Pfad-Ausdruck in JSON_QUERY sollte ein einzelnes Element ohne Wrapper zurückgeben" -#: utils/adt/jsonpath_exec.c:4024 utils/adt/jsonpath_exec.c:4048 +#: utils/adt/jsonpath_exec.c:4045 utils/adt/jsonpath_exec.c:4069 #, c-format msgid "JSON path expression for column \"%s\" should return single scalar item" -msgstr "" +msgstr "JSON-Path-Ausdruck für Spalte »%s« sollte ein einzelnes skalares Element zurückgeben" -#: utils/adt/jsonpath_exec.c:4029 utils/adt/jsonpath_exec.c:4053 +#: utils/adt/jsonpath_exec.c:4050 utils/adt/jsonpath_exec.c:4074 #, c-format msgid "JSON path expression in JSON_VALUE should return single scalar item" -msgstr "" +msgstr "JSON-Pfad-Ausdruck in JSON_VALUE sollte ein einzelnes skalares Element zurückgeben" #: utils/adt/levenshtein.c:132 #, c-format @@ -26609,132 +26419,132 @@ msgstr "Ergebnis ist außerhalb des gültigen Bereichs" msgid "cannot subtract inet values of different sizes" msgstr "Subtraktion von »inet«-Werten unterschiedlicher Größe nicht möglich" -#: utils/adt/numeric.c:786 utils/adt/numeric.c:3644 utils/adt/numeric.c:7201 -#: utils/adt/numeric.c:7404 utils/adt/numeric.c:7876 utils/adt/numeric.c:10571 -#: utils/adt/numeric.c:11045 utils/adt/numeric.c:11139 -#: utils/adt/numeric.c:11273 +#: 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 #, c-format msgid "value overflows numeric format" msgstr "Wert verursacht Überlauf im »numeric«-Format" -#: utils/adt/numeric.c:1099 +#: utils/adt/numeric.c:1106 #, c-format msgid "invalid sign in external \"numeric\" value" msgstr "ungültiges Vorzeichen in externem »numeric«-Wert" -#: utils/adt/numeric.c:1105 +#: utils/adt/numeric.c:1112 #, c-format msgid "invalid scale in external \"numeric\" value" msgstr "ungültige Skala in externem »numeric«-Wert" -#: utils/adt/numeric.c:1114 +#: utils/adt/numeric.c:1121 #, c-format msgid "invalid digit in external \"numeric\" value" msgstr "ungültige Ziffer in externem »numeric«-Wert" -#: utils/adt/numeric.c:1329 utils/adt/numeric.c:1343 +#: utils/adt/numeric.c:1336 utils/adt/numeric.c:1350 #, c-format msgid "NUMERIC precision %d must be between 1 and %d" msgstr "Präzision von NUMERIC (%d) muss zwischen 1 und %d liegen" -#: utils/adt/numeric.c:1334 +#: utils/adt/numeric.c:1341 #, c-format msgid "NUMERIC scale %d must be between %d and %d" msgstr "Skala von NUMERIC (%d) muss zwischen %d und %d liegen" -#: utils/adt/numeric.c:1352 +#: utils/adt/numeric.c:1359 #, c-format msgid "invalid NUMERIC type modifier" msgstr "ungültiker Modifikator für Typ NUMERIC" -#: utils/adt/numeric.c:1710 +#: utils/adt/numeric.c:1725 #, c-format msgid "start value cannot be NaN" msgstr "Startwert kann nicht NaN sein" -#: utils/adt/numeric.c:1714 +#: utils/adt/numeric.c:1729 #, c-format msgid "start value cannot be infinity" msgstr "Startwert kann nicht unendlich sein" -#: utils/adt/numeric.c:1721 +#: utils/adt/numeric.c:1736 #, c-format msgid "stop value cannot be NaN" msgstr "Stoppwert kann nicht NaN sein" -#: utils/adt/numeric.c:1725 +#: utils/adt/numeric.c:1740 #, c-format msgid "stop value cannot be infinity" msgstr "Stoppwert kann nicht unendlich sein" -#: utils/adt/numeric.c:1738 +#: utils/adt/numeric.c:1753 #, c-format msgid "step size cannot be NaN" msgstr "Schrittgröße kann nicht NaN sein" -#: utils/adt/numeric.c:1742 +#: utils/adt/numeric.c:1757 #, c-format msgid "step size cannot be infinity" msgstr "Schrittgröße kann nicht unendlich sein" -#: utils/adt/numeric.c:3634 +#: utils/adt/numeric.c:3649 #, c-format msgid "factorial of a negative number is undefined" msgstr "Fakultät einer negativen Zahl ist undefiniert" -#: utils/adt/numeric.c:4241 +#: utils/adt/numeric.c:4256 #, c-format msgid "lower bound cannot be NaN" msgstr "Untergrenze kann nicht NaN sein" -#: utils/adt/numeric.c:4245 +#: utils/adt/numeric.c:4260 #, c-format msgid "lower bound cannot be infinity" msgstr "Untergrenze kann nicht unendlich sein" -#: utils/adt/numeric.c:4252 +#: utils/adt/numeric.c:4267 #, c-format msgid "upper bound cannot be NaN" msgstr "Obergrenze kann nicht NaN sein" -#: utils/adt/numeric.c:4256 +#: utils/adt/numeric.c:4271 #, c-format msgid "upper bound cannot be infinity" msgstr "Obergrenze kann nicht unendlich sein" -#: utils/adt/numeric.c:4417 utils/adt/numeric.c:4505 utils/adt/numeric.c:4565 -#: utils/adt/numeric.c:4761 +#: utils/adt/numeric.c:4432 utils/adt/numeric.c:4520 utils/adt/numeric.c:4580 +#: utils/adt/numeric.c:4776 #, c-format msgid "cannot convert NaN to %s" msgstr "kann NaN nicht in %s umwandeln" -#: utils/adt/numeric.c:4421 utils/adt/numeric.c:4509 utils/adt/numeric.c:4569 -#: utils/adt/numeric.c:4765 +#: utils/adt/numeric.c:4436 utils/adt/numeric.c:4524 utils/adt/numeric.c:4584 +#: utils/adt/numeric.c:4780 #, c-format msgid "cannot convert infinity to %s" msgstr "kann Unendlich nicht in %s umwandeln" -#: utils/adt/numeric.c:4774 +#: utils/adt/numeric.c:4789 #, c-format msgid "pg_lsn out of range" msgstr "pg_lsn ist außerhalb des gültigen Bereichs" -#: utils/adt/numeric.c:7966 utils/adt/numeric.c:8017 +#: utils/adt/numeric.c:7981 utils/adt/numeric.c:8032 #, c-format msgid "numeric field overflow" msgstr "Feldüberlauf bei Typ »numeric«" -#: utils/adt/numeric.c:7967 +#: utils/adt/numeric.c:7982 #, c-format msgid "A field with precision %d, scale %d must round to an absolute value less than %s%d." msgstr "Ein Feld mit Präzision %d, Skala %d muss beim Runden einen Betrag von weniger als %s%d ergeben." -#: utils/adt/numeric.c:8018 +#: utils/adt/numeric.c:8033 #, c-format msgid "A field with precision %d, scale %d cannot hold an infinite value." msgstr "Ein Feld mit Präzision %d, Skala %d kann keinen unendlichen Wert enthalten." -#: utils/adt/numeric.c:11342 utils/adt/pseudorandomfuncs.c:135 +#: utils/adt/numeric.c:11359 utils/adt/pseudorandomfuncs.c:135 #: utils/adt/pseudorandomfuncs.c:159 #, c-format msgid "lower bound must be less than or equal to upper bound" @@ -26776,140 +26586,145 @@ msgstr "gewünschtes Zeichen ist nicht gültig für die Kodierung: %u" msgid "percentile value %g is not between 0 and 1" msgstr "Perzentilwert %g ist nicht zwischen 0 und 1" -#: utils/adt/pg_locale.c:1484 +#: utils/adt/pg_locale.c:326 utils/adt/pg_locale.c:358 +#, 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 #, 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:1495 utils/adt/pg_locale.c:2969 -#: utils/adt/pg_locale.c:3042 +#: utils/adt/pg_locale.c:1518 utils/adt/pg_locale.c:2992 +#: utils/adt/pg_locale.c:3065 #, c-format msgid "ICU is not supported in this build" msgstr "ICU wird in dieser Installation nicht unterstützt" -#: utils/adt/pg_locale.c:1523 +#: utils/adt/pg_locale.c:1546 #, c-format msgid "could not create locale \"%s\": %m" msgstr "konnte Locale »%s« nicht erzeugen: %m" -#: utils/adt/pg_locale.c:1526 +#: utils/adt/pg_locale.c:1549 #, 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:1647 +#: utils/adt/pg_locale.c:1670 #, 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:1694 +#: utils/adt/pg_locale.c:1717 #, 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:1700 +#: utils/adt/pg_locale.c:1723 #, c-format msgid "collation \"%s\" has version mismatch" msgstr "Version von Sortierfolge »%s« stimmt nicht überein" -#: utils/adt/pg_locale.c:1702 +#: utils/adt/pg_locale.c:1725 #, 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:1705 +#: utils/adt/pg_locale.c:1728 #, 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:1749 utils/adt/pg_locale.c:2533 -#: utils/adt/pg_locale.c:2558 +#: utils/adt/pg_locale.c:1772 utils/adt/pg_locale.c:2556 +#: utils/adt/pg_locale.c:2581 #, 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:1791 +#: utils/adt/pg_locale.c:1814 #, c-format msgid "could not load locale \"%s\"" msgstr "konnte Locale »%s« nicht laden" -#: utils/adt/pg_locale.c:1816 +#: utils/adt/pg_locale.c:1839 #, 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:1872 utils/adt/pg_locale.c:1885 +#: utils/adt/pg_locale.c:1895 utils/adt/pg_locale.c:1908 #, 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:1897 +#: utils/adt/pg_locale.c:1920 #, c-format msgid "could not compare Unicode strings: %m" msgstr "konnte Unicode-Zeichenketten nicht vergleichen: %m" -#: utils/adt/pg_locale.c:2071 +#: utils/adt/pg_locale.c:2094 #, c-format msgid "collation failed: %s" msgstr "Vergleichung fehlgeschlagen: %s" -#: utils/adt/pg_locale.c:2290 utils/adt/pg_locale.c:2322 +#: utils/adt/pg_locale.c:2313 utils/adt/pg_locale.c:2345 #, c-format msgid "sort key generation failed: %s" msgstr "Sortierschlüsselerzeugung fehlgeschlagen: %s" -#: utils/adt/pg_locale.c:2612 +#: utils/adt/pg_locale.c:2635 #, 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:2633 utils/adt/pg_locale.c:2649 +#: utils/adt/pg_locale.c:2656 utils/adt/pg_locale.c:2672 #, 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:2674 +#: utils/adt/pg_locale.c:2697 #, c-format msgid "encoding \"%s\" not supported by ICU" msgstr "Kodierung »%s« wird von ICU nicht unterstützt" -#: utils/adt/pg_locale.c:2681 +#: utils/adt/pg_locale.c:2704 #, 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:2699 utils/adt/pg_locale.c:2718 -#: utils/adt/pg_locale.c:2774 utils/adt/pg_locale.c:2785 +#: utils/adt/pg_locale.c:2722 utils/adt/pg_locale.c:2741 +#: utils/adt/pg_locale.c:2797 utils/adt/pg_locale.c:2808 #, c-format msgid "%s failed: %s" msgstr "%s fehlgeschlagen: %s" -#: utils/adt/pg_locale.c:2960 +#: utils/adt/pg_locale.c:2983 #, 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:3001 +#: utils/adt/pg_locale.c:3024 #, 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:3003 utils/adt/pg_locale.c:3032 +#: utils/adt/pg_locale.c:3026 utils/adt/pg_locale.c:3055 #, 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:3030 +#: utils/adt/pg_locale.c:3053 #, c-format msgid "ICU locale \"%s\" has unknown language \"%s\"" msgstr "ICU-Locale »%s« hat unbekannte Sprache »%s«" -#: utils/adt/pg_locale.c:3181 +#: utils/adt/pg_locale.c:3204 #, c-format msgid "invalid multibyte character for locale" msgstr "ungültiges Mehrbytezeichen für Locale" -#: utils/adt/pg_locale.c:3182 +#: utils/adt/pg_locale.c:3205 #, 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." @@ -27052,7 +26867,7 @@ msgstr "Wenn Sie regexp_replace() mit einem Startparameter verwenden wollten, wa #: 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:6776 utils/misc/guc.c:6810 +#: utils/adt/regexp.c:1871 utils/misc/guc.c:6785 utils/misc/guc.c:6819 #, c-format msgid "invalid value for parameter \"%s\": %d" msgstr "ungültiger Wert für Parameter »%s«: %d" @@ -27090,8 +26905,8 @@ msgstr "es gibt mehrere Funktionen namens »%s«" msgid "more than one operator named %s" msgstr "es gibt mehrere Operatoren namens %s" -#: utils/adt/regproc.c:675 utils/adt/regproc.c:2029 utils/adt/ruleutils.c:10424 -#: utils/adt/ruleutils.c:10637 +#: utils/adt/regproc.c:675 utils/adt/regproc.c:2029 utils/adt/ruleutils.c:10498 +#: utils/adt/ruleutils.c:10711 #, c-format msgid "too many arguments" msgstr "zu viele Argumente" @@ -27261,22 +27076,22 @@ msgstr "kann unterschiedliche Spaltentyp %s und %s in Record-Spalte %d nicht ver msgid "cannot compare record types with different numbers of columns" msgstr "kann Record-Typen mit unterschiedlicher Anzahl Spalten nicht vergleichen" -#: utils/adt/ruleutils.c:2693 +#: utils/adt/ruleutils.c:2689 #, c-format msgid "input is a query, not an expression" msgstr "Eingabe ist eine Anfrage, kein Ausdruck" -#: utils/adt/ruleutils.c:2705 +#: utils/adt/ruleutils.c:2701 #, c-format msgid "expression contains variables of more than one relation" msgstr "Ausdruck enthält Verweise auf Variablen von mehr als einer Relation" -#: utils/adt/ruleutils.c:2712 +#: utils/adt/ruleutils.c:2708 #, c-format msgid "expression contains variables" msgstr "Ausdruck enthält Variablen" -#: utils/adt/ruleutils.c:5242 +#: utils/adt/ruleutils.c:5241 #, c-format msgid "rule \"%s\" has unsupported event type %d" msgstr "Regel »%s« hat nicht unterstützten Ereignistyp %d" @@ -27369,10 +27184,9 @@ msgid "origin out of range" msgstr "Anfangspunkt ist außerhalb des gültigen Bereichs" #: utils/adt/timestamp.c:4569 utils/adt/timestamp.c:4774 -#, fuzzy, c-format -#| msgid "timestamps cannot be binned into intervals containing months or years" +#, c-format msgid "timestamps cannot be binned into infinite intervals" -msgstr "timestamp-Werte können nicht in Intervalle, die Monate oder Jahre enthalten, einsortiert werden" +msgstr "timestamp-Werte können nicht in unendliche Intervalle einsortiert werden" #: utils/adt/timestamp.c:4574 utils/adt/timestamp.c:4779 #, c-format @@ -27786,141 +27600,141 @@ msgstr "ungültiger Kodierungsname »%s«" msgid "invalid XML comment" msgstr "ungültiger XML-Kommentar" -#: utils/adt/xml.c:691 +#: utils/adt/xml.c:697 #, c-format msgid "not an XML document" msgstr "kein XML-Dokument" -#: utils/adt/xml.c:987 utils/adt/xml.c:1010 +#: utils/adt/xml.c:1008 utils/adt/xml.c:1031 #, c-format msgid "invalid XML processing instruction" msgstr "ungültige XML-Verarbeitungsanweisung" -#: utils/adt/xml.c:988 +#: utils/adt/xml.c:1009 #, c-format msgid "XML processing instruction target name cannot be \"%s\"." msgstr "Die Zielangabe der XML-Verarbeitungsanweisung darf nicht »%s« sein." -#: utils/adt/xml.c:1011 +#: utils/adt/xml.c:1032 #, c-format msgid "XML processing instruction cannot contain \"?>\"." msgstr "XML-Verarbeitungsanweisung darf nicht »?>« enthalten." -#: utils/adt/xml.c:1090 +#: utils/adt/xml.c:1111 #, c-format msgid "xmlvalidate is not implemented" msgstr "xmlvalidate ist nicht implementiert" -#: utils/adt/xml.c:1146 +#: utils/adt/xml.c:1167 #, c-format msgid "could not initialize XML library" msgstr "konnte XML-Bibliothek nicht initialisieren" -#: utils/adt/xml.c:1147 +#: utils/adt/xml.c:1168 #, c-format msgid "libxml2 has incompatible char type: sizeof(char)=%zu, sizeof(xmlChar)=%zu." msgstr "libxml2 hat inkompatiblen char-Typ: sizeof(char)=%zu, sizeof(xmlChar)=%zu." -#: utils/adt/xml.c:1233 +#: utils/adt/xml.c:1254 #, c-format msgid "could not set up XML error handler" msgstr "konnte XML-Fehlerbehandlung nicht einrichten" -#: utils/adt/xml.c:1234 +#: utils/adt/xml.c:1255 #, 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 "Das deutet wahrscheinlich darauf hin, dass die verwendete Version von libxml2 nicht mit den Header-Dateien der Version, mit der PostgreSQL gebaut wurde, kompatibel ist." -#: utils/adt/xml.c:2218 +#: utils/adt/xml.c:2281 msgid "Invalid character value." msgstr "Ungültiger Zeichenwert." -#: utils/adt/xml.c:2221 +#: utils/adt/xml.c:2284 msgid "Space required." msgstr "Leerzeichen benötigt." -#: utils/adt/xml.c:2224 +#: utils/adt/xml.c:2287 msgid "standalone accepts only 'yes' or 'no'." msgstr "standalone akzeptiert nur »yes« oder »no«." -#: utils/adt/xml.c:2227 +#: utils/adt/xml.c:2290 msgid "Malformed declaration: missing version." msgstr "Fehlerhafte Deklaration: Version fehlt." -#: utils/adt/xml.c:2230 +#: utils/adt/xml.c:2293 msgid "Missing encoding in text declaration." msgstr "Fehlende Kodierung in Textdeklaration." -#: utils/adt/xml.c:2233 +#: utils/adt/xml.c:2296 msgid "Parsing XML declaration: '?>' expected." msgstr "Beim Parsen der XML-Deklaration: »?>« erwartet." -#: utils/adt/xml.c:2236 +#: utils/adt/xml.c:2299 #, c-format msgid "Unrecognized libxml error code: %d." msgstr "Unbekannter Libxml-Fehlercode: %d." -#: utils/adt/xml.c:2490 +#: utils/adt/xml.c:2553 #, c-format msgid "XML does not support infinite date values." msgstr "XML unterstützt keine unendlichen Datumswerte." -#: utils/adt/xml.c:2512 utils/adt/xml.c:2539 +#: utils/adt/xml.c:2575 utils/adt/xml.c:2602 #, c-format msgid "XML does not support infinite timestamp values." msgstr "XML unterstützt keine unendlichen timestamp-Werte." -#: utils/adt/xml.c:2955 +#: utils/adt/xml.c:3018 #, c-format msgid "invalid query" msgstr "ungültige Anfrage" -#: utils/adt/xml.c:3047 +#: utils/adt/xml.c:3110 #, c-format msgid "portal \"%s\" does not return tuples" msgstr "Portal »%s« gibt keine Tupel zurück" -#: utils/adt/xml.c:4299 +#: utils/adt/xml.c:4362 #, c-format msgid "invalid array for XML namespace mapping" msgstr "ungültiges Array for XML-Namensraumabbildung" -#: utils/adt/xml.c:4300 +#: utils/adt/xml.c:4363 #, c-format msgid "The array must be two-dimensional with length of the second axis equal to 2." msgstr "Das Array muss zweidimensional sein und die Länge der zweiten Achse muss gleich 2 sein." -#: utils/adt/xml.c:4324 +#: utils/adt/xml.c:4387 #, c-format msgid "empty XPath expression" msgstr "leerer XPath-Ausdruck" -#: utils/adt/xml.c:4376 +#: utils/adt/xml.c:4439 #, c-format msgid "neither namespace name nor URI may be null" msgstr "weder Namensraumname noch URI dürfen NULL sein" -#: utils/adt/xml.c:4383 +#: utils/adt/xml.c:4446 #, c-format msgid "could not register XML namespace with name \"%s\" and URI \"%s\"" msgstr "konnte XML-Namensraum mit Namen »%s« und URI »%s« nicht registrieren" -#: utils/adt/xml.c:4726 +#: utils/adt/xml.c:4795 #, c-format msgid "DEFAULT namespace is not supported" msgstr "DEFAULT-Namensraum wird nicht unterstützt" -#: utils/adt/xml.c:4755 +#: utils/adt/xml.c:4824 #, c-format msgid "row path filter must not be empty string" msgstr "Zeilenpfadfilter darf nicht leer sein" -#: utils/adt/xml.c:4786 +#: utils/adt/xml.c:4858 #, c-format msgid "column path filter must not be empty string" msgstr "Spaltenpfadfilter darf nicht leer sein" -#: utils/adt/xml.c:4930 +#: utils/adt/xml.c:5005 #, c-format msgid "more than one value returned by column XPath expression" msgstr "XPath-Ausdruck für Spalte gab mehr als einen Wert zurück" @@ -27956,27 +27770,27 @@ msgstr "in Operatorklasse »%s« für Zugriffsmethode %s fehlt Support-Funktion msgid "cached plan must not change result type" msgstr "gecachter Plan darf den Ergebnistyp nicht ändern" -#: utils/cache/relcache.c:3800 +#: utils/cache/relcache.c:3801 #, 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:3808 +#: utils/cache/relcache.c:3809 #, 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:6536 +#: utils/cache/relcache.c:6539 #, 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:6538 +#: utils/cache/relcache.c:6541 #, c-format msgid "Continuing anyway, but there's something wrong." msgstr "Setze trotzdem fort, aber irgendwas stimmt nicht." -#: utils/cache/relcache.c:6868 +#: utils/cache/relcache.c:6871 #, c-format msgid "could not remove cache file \"%s\": %m" msgstr "konnte Cache-Datei »%s« nicht löschen: %m" @@ -28016,97 +27830,97 @@ msgstr "TRAP: fehlgeschlagenes Assert(»%s«), Datei: »%s«, Zeile: %d, PID: %d msgid "error occurred before error message processing is available\n" msgstr "Fehler geschah bevor Fehlermeldungsverarbeitung bereit war\n" -#: utils/error/elog.c:2101 +#: utils/error/elog.c:2134 #, c-format msgid "could not reopen file \"%s\" as stderr: %m" msgstr "konnte Datei »%s« nicht als stderr neu öffnen: %m" -#: utils/error/elog.c:2114 +#: utils/error/elog.c:2147 #, c-format msgid "could not reopen file \"%s\" as stdout: %m" msgstr "konnte Datei »%s« nicht als stdout neu öffnen: %m" -#: utils/error/elog.c:2150 +#: utils/error/elog.c:2183 #, c-format msgid "Invalid character" msgstr "Ungültiges Zeichen" -#: utils/error/elog.c:2856 utils/error/elog.c:2883 utils/error/elog.c:2899 +#: utils/error/elog.c:2889 utils/error/elog.c:2916 utils/error/elog.c:2932 msgid "[unknown]" msgstr "[unbekannt]" -#: utils/error/elog.c:3169 utils/error/elog.c:3493 utils/error/elog.c:3600 +#: utils/error/elog.c:3202 utils/error/elog.c:3526 utils/error/elog.c:3633 msgid "missing error text" msgstr "fehlender Fehlertext" -#: utils/error/elog.c:3172 utils/error/elog.c:3175 +#: utils/error/elog.c:3205 utils/error/elog.c:3208 #, c-format msgid " at character %d" msgstr " bei Zeichen %d" -#: utils/error/elog.c:3185 utils/error/elog.c:3192 +#: utils/error/elog.c:3218 utils/error/elog.c:3225 msgid "DETAIL: " msgstr "DETAIL: " -#: utils/error/elog.c:3199 +#: utils/error/elog.c:3232 msgid "HINT: " msgstr "TIPP: " -#: utils/error/elog.c:3206 +#: utils/error/elog.c:3239 msgid "QUERY: " msgstr "ANFRAGE: " -#: utils/error/elog.c:3213 +#: utils/error/elog.c:3246 msgid "CONTEXT: " msgstr "ZUSAMMENHANG: " -#: utils/error/elog.c:3223 +#: utils/error/elog.c:3256 #, c-format msgid "LOCATION: %s, %s:%d\n" msgstr "ORT: %s, %s:%d\n" -#: utils/error/elog.c:3230 +#: utils/error/elog.c:3263 #, c-format msgid "LOCATION: %s:%d\n" msgstr "ORT: %s:%d\n" -#: utils/error/elog.c:3237 +#: utils/error/elog.c:3270 msgid "BACKTRACE: " msgstr "BACKTRACE: " -#: utils/error/elog.c:3249 +#: utils/error/elog.c:3282 msgid "STATEMENT: " msgstr "ANWEISUNG: " -#: utils/error/elog.c:3645 +#: utils/error/elog.c:3678 msgid "DEBUG" msgstr "DEBUG" -#: utils/error/elog.c:3649 +#: utils/error/elog.c:3682 msgid "LOG" msgstr "LOG" -#: utils/error/elog.c:3652 +#: utils/error/elog.c:3685 msgid "INFO" msgstr "INFO" -#: utils/error/elog.c:3655 +#: utils/error/elog.c:3688 msgid "NOTICE" msgstr "HINWEIS" -#: utils/error/elog.c:3659 +#: utils/error/elog.c:3692 msgid "WARNING" msgstr "WARNUNG" -#: utils/error/elog.c:3662 +#: utils/error/elog.c:3695 msgid "ERROR" msgstr "FEHLER" -#: utils/error/elog.c:3665 +#: utils/error/elog.c:3698 msgid "FATAL" msgstr "FATAL" -#: utils/error/elog.c:3668 +#: utils/error/elog.c:3701 msgid "PANIC" msgstr "PANIK" @@ -28294,7 +28108,7 @@ msgstr "Rechte sollten u=rwx (0700) oder u=rwx,g=rx (0750) sein." msgid "could not change directory to \"%s\": %m" msgstr "konnte nicht in Verzeichnis »%s« wechseln: %m" -#: utils/init/miscinit.c:697 utils/misc/guc.c:3641 +#: utils/init/miscinit.c:697 utils/misc/guc.c:3650 #, c-format msgid "cannot set parameter \"%s\" within security-restricted operation" msgstr "kann Parameter »%s« nicht in einer sicherheitsbeschränkten Operation setzen" @@ -28390,7 +28204,7 @@ msgstr "Die Datei ist anscheinend aus Versehen übrig geblieben, konnte aber nic msgid "could not write lock file \"%s\": %m" msgstr "konnte Sperrdatei »%s« nicht schreiben: %m" -#: utils/init/miscinit.c:1537 utils/init/miscinit.c:1679 utils/misc/guc.c:5715 +#: utils/init/miscinit.c:1537 utils/init/miscinit.c:1679 utils/misc/guc.c:5724 #, c-format msgid "could not read from file \"%s\": %m" msgstr "konnte nicht aus Datei »%s« lesen: %m" @@ -28688,9 +28502,9 @@ msgstr "Gültige Einheiten für diesen Parameter sind »us«, »ms«, »s«, »m msgid "unrecognized configuration parameter \"%s\" in file \"%s\" line %d" msgstr "unbekannter Konfigurationsparameter »%s« in Datei »%s« Zeile %d" -#: utils/misc/guc.c:470 utils/misc/guc.c:3495 utils/misc/guc.c:3739 -#: utils/misc/guc.c:3837 utils/misc/guc.c:3935 utils/misc/guc.c:4059 -#: utils/misc/guc.c:4162 +#: utils/misc/guc.c:470 utils/misc/guc.c:3504 utils/misc/guc.c:3748 +#: utils/misc/guc.c:3846 utils/misc/guc.c:3944 utils/misc/guc.c:4068 +#: utils/misc/guc.c:4171 #, c-format msgid "parameter \"%s\" cannot be changed without restarting the server" msgstr "Parameter »%s« kann nicht geändert werden, ohne den Server neu zu starten" @@ -28809,112 +28623,117 @@ msgstr "%d%s%s ist außerhalb des gültigen Bereichs für Parameter »%s« (%d%s msgid "%g%s%s is outside the valid range for parameter \"%s\" (%g%s%s .. %g%s%s)" msgstr "%g%s%s ist außerhalb des gültigen Bereichs für Parameter »%s« (%g%s%s ... %g%s%s)" -#: utils/misc/guc.c:3447 utils/misc/guc_funcs.c:54 +#: utils/misc/guc.c:3465 #, c-format -msgid "cannot set parameters during a parallel operation" -msgstr "während einer parallelen Operation können keine Parameter gesetzt werden" +msgid "parameter \"%s\" cannot be set during a parallel operation" +msgstr "Parameter »%s« kann nicht während einer parallelen Operation gesetzt werden" -#: utils/misc/guc.c:3472 utils/misc/guc.c:4646 +#: utils/misc/guc.c:3481 utils/misc/guc.c:4655 #, c-format msgid "parameter \"%s\" cannot be changed" msgstr "Parameter »%s« kann nicht geändert werden" -#: utils/misc/guc.c:3505 +#: utils/misc/guc.c:3514 #, c-format msgid "parameter \"%s\" cannot be changed now" msgstr "Parameter »%s« kann jetzt nicht geändert werden" -#: utils/misc/guc.c:3532 utils/misc/guc.c:3594 utils/misc/guc.c:4621 -#: utils/misc/guc.c:6712 +#: utils/misc/guc.c:3541 utils/misc/guc.c:3603 utils/misc/guc.c:4630 +#: utils/misc/guc.c:6721 #, c-format msgid "permission denied to set parameter \"%s\"" msgstr "keine Berechtigung, um Parameter »%s« zu setzen" -#: utils/misc/guc.c:3574 +#: utils/misc/guc.c:3583 #, c-format msgid "parameter \"%s\" cannot be set after connection start" msgstr "Parameter »%s« kann nach Start der Verbindung nicht geändert werden" -#: utils/misc/guc.c:3633 +#: utils/misc/guc.c:3642 #, c-format msgid "cannot set parameter \"%s\" within security-definer function" msgstr "Parameter »%s« kann nicht in einer Security-Definer-Funktion gesetzt werden" -#: utils/misc/guc.c:3654 +#: utils/misc/guc.c:3663 #, c-format msgid "parameter \"%s\" cannot be reset" msgstr "Parameter »%s« kann nicht zurückgesetzt werden" -#: utils/misc/guc.c:3661 +#: utils/misc/guc.c:3670 #, c-format msgid "parameter \"%s\" cannot be set locally in functions" msgstr "Parameter »%s« kann nicht lokal in Funktionen gesetzt werden" -#: utils/misc/guc.c:4320 utils/misc/guc.c:4368 utils/misc/guc.c:5400 +#: utils/misc/guc.c:4329 utils/misc/guc.c:4377 utils/misc/guc.c:5409 #, c-format msgid "permission denied to examine \"%s\"" msgstr "keine Berechtigung, um »%s« zu inspizieren" -#: utils/misc/guc.c:4321 utils/misc/guc.c:4369 utils/misc/guc.c:5401 +#: utils/misc/guc.c:4330 utils/misc/guc.c:4378 utils/misc/guc.c:5410 #, c-format msgid "Only roles with privileges of the \"%s\" role may examine this parameter." msgstr "Nur Rollen mit den Privilegien der Rolle »%s« können diesen Parameter inspizieren." -#: utils/misc/guc.c:4579 +#: utils/misc/guc.c:4588 #, c-format msgid "ALTER SYSTEM is not allowed in this environment" msgstr "ALTER SYSTEM ist in dieser Umgebung nicht erlaubt" -#: utils/misc/guc.c:4611 +#: utils/misc/guc.c:4620 #, c-format msgid "permission denied to perform ALTER SYSTEM RESET ALL" msgstr "keine Berechtigung um ALTER SYSTEM RESET ALL auszuführen" -#: utils/misc/guc.c:4690 +#: utils/misc/guc.c:4699 #, c-format msgid "parameter value for ALTER SYSTEM must not contain a newline" msgstr "Parameterwert für ALTER SYSTEM darf keine Newline enthalten" -#: utils/misc/guc.c:4735 +#: utils/misc/guc.c:4744 #, c-format msgid "could not parse contents of file \"%s\"" msgstr "konnte Inhalt der Datei »%s« nicht parsen" -#: utils/misc/guc.c:4917 +#: utils/misc/guc.c:4926 #, c-format msgid "attempt to redefine parameter \"%s\"" msgstr "Versuch, den Parameter »%s« zu redefinieren" -#: utils/misc/guc.c:5256 +#: utils/misc/guc.c:5265 #, c-format msgid "invalid configuration parameter name \"%s\", removing it" msgstr "ungültiger Konfigurationsparametername »%s«, wird entfernt" -#: utils/misc/guc.c:5258 +#: utils/misc/guc.c:5267 #, c-format msgid "\"%s\" is now a reserved prefix." msgstr "»%s« ist jetzt ein reservierter Präfix." -#: utils/misc/guc.c:6135 +#: utils/misc/guc.c:6144 #, c-format msgid "while setting parameter \"%s\" to \"%s\"" msgstr "beim Setzen von Parameter »%s« auf »%s«" -#: utils/misc/guc.c:6304 +#: utils/misc/guc.c:6313 #, c-format msgid "parameter \"%s\" could not be set" msgstr "Parameter »%s« kann nicht gesetzt werden" -#: utils/misc/guc.c:6394 +#: utils/misc/guc.c:6403 #, c-format msgid "could not parse setting for parameter \"%s\"" msgstr "konnte Wert von Parameter »%s« nicht lesen" -#: utils/misc/guc.c:6844 +#: utils/misc/guc.c:6853 #, c-format msgid "invalid value for parameter \"%s\": %g" msgstr "ungültiger Wert für Parameter »%s«: %g" +#: utils/misc/guc_funcs.c:54 +#, c-format +msgid "cannot set parameters during a parallel operation" +msgstr "während einer parallelen Operation können keine Parameter gesetzt werden" + #: utils/misc/guc_funcs.c:130 #, c-format msgid "SET LOCAL TRANSACTION SNAPSHOT is not implemented" @@ -28930,2067 +28749,2061 @@ msgstr "SET %s darf nur ein Argument haben" msgid "SET requires parameter name" msgstr "SET benötigt Parameternamen" -#: utils/misc/guc_tables.c:675 +#: utils/misc/guc_tables.c:676 msgid "Ungrouped" msgstr "Ungruppiert" -#: utils/misc/guc_tables.c:676 +#: utils/misc/guc_tables.c:677 msgid "File Locations" msgstr "Dateipfade" -#: utils/misc/guc_tables.c:677 +#: utils/misc/guc_tables.c:678 msgid "Connections and Authentication / Connection Settings" msgstr "Verbindungen und Authentifizierung / Verbindungseinstellungen" -#: utils/misc/guc_tables.c:678 +#: utils/misc/guc_tables.c:679 msgid "Connections and Authentication / TCP Settings" msgstr "Verbindungen und Authentifizierung / TCP-Einstellungen" -#: utils/misc/guc_tables.c:679 +#: utils/misc/guc_tables.c:680 msgid "Connections and Authentication / Authentication" msgstr "Verbindungen und Authentifizierung / Authentifizierung" -#: utils/misc/guc_tables.c:680 +#: utils/misc/guc_tables.c:681 msgid "Connections and Authentication / SSL" msgstr "Verbindungen und Authentifizierung / SSL" -#: utils/misc/guc_tables.c:681 +#: utils/misc/guc_tables.c:682 msgid "Resource Usage / Memory" msgstr "Resourcenbenutzung / Speicher" -#: utils/misc/guc_tables.c:682 +#: utils/misc/guc_tables.c:683 msgid "Resource Usage / Disk" msgstr "Resourcenbenutzung / Festplatte" -#: utils/misc/guc_tables.c:683 +#: utils/misc/guc_tables.c:684 msgid "Resource Usage / Kernel Resources" msgstr "Resourcenbenutzung / Kernelresourcen" -#: utils/misc/guc_tables.c:684 +#: utils/misc/guc_tables.c:685 msgid "Resource Usage / Cost-Based Vacuum Delay" msgstr "Resourcenbenutzung / Kostenbasierte Vacuum-Verzögerung" -#: utils/misc/guc_tables.c:685 +#: utils/misc/guc_tables.c:686 msgid "Resource Usage / Background Writer" msgstr "Resourcenbenutzung / Background-Writer" -#: utils/misc/guc_tables.c:686 +#: utils/misc/guc_tables.c:687 msgid "Resource Usage / Asynchronous Behavior" msgstr "Resourcenbenutzung / Asynchrones Verhalten" -#: utils/misc/guc_tables.c:687 +#: utils/misc/guc_tables.c:688 msgid "Write-Ahead Log / Settings" msgstr "Write-Ahead-Log / Einstellungen" -#: utils/misc/guc_tables.c:688 +#: utils/misc/guc_tables.c:689 msgid "Write-Ahead Log / Checkpoints" msgstr "Write-Ahead-Log / Checkpoints" -#: utils/misc/guc_tables.c:689 +#: utils/misc/guc_tables.c:690 msgid "Write-Ahead Log / Archiving" msgstr "Write-Ahead-Log / Archivierung" -#: utils/misc/guc_tables.c:690 +#: utils/misc/guc_tables.c:691 msgid "Write-Ahead Log / Recovery" msgstr "Write-Ahead-Log / Wiederherstellung" -#: utils/misc/guc_tables.c:691 +#: utils/misc/guc_tables.c:692 msgid "Write-Ahead Log / Archive Recovery" msgstr "Write-Ahead-Log / Archivwiederherstellung" -#: utils/misc/guc_tables.c:692 +#: utils/misc/guc_tables.c:693 msgid "Write-Ahead Log / Recovery Target" msgstr "Write-Ahead-Log / Wiederherstellungsziele" -#: utils/misc/guc_tables.c:693 +#: utils/misc/guc_tables.c:694 msgid "Write-Ahead Log / Summarization" msgstr "Write-Ahead-Log / Zusammenfassung (Summarization)" -#: utils/misc/guc_tables.c:694 +#: utils/misc/guc_tables.c:695 msgid "Replication / Sending Servers" msgstr "Replikation / sendende Server" -#: utils/misc/guc_tables.c:695 +#: utils/misc/guc_tables.c:696 msgid "Replication / Primary Server" msgstr "Replikation / Primärserver" -#: utils/misc/guc_tables.c:696 +#: utils/misc/guc_tables.c:697 msgid "Replication / Standby Servers" msgstr "Replikation / Standby-Server" -#: utils/misc/guc_tables.c:697 +#: utils/misc/guc_tables.c:698 msgid "Replication / Subscribers" msgstr "Replikation / Subskriptionsserver" -#: utils/misc/guc_tables.c:698 +#: utils/misc/guc_tables.c:699 msgid "Query Tuning / Planner Method Configuration" msgstr "Anfragetuning / Planermethoden" -#: utils/misc/guc_tables.c:699 +#: utils/misc/guc_tables.c:700 msgid "Query Tuning / Planner Cost Constants" msgstr "Anfragetuning / Planerkosten" -#: utils/misc/guc_tables.c:700 +#: utils/misc/guc_tables.c:701 msgid "Query Tuning / Genetic Query Optimizer" msgstr "Anfragetuning / Genetischer Anfrageoptimierer" -#: utils/misc/guc_tables.c:701 +#: utils/misc/guc_tables.c:702 msgid "Query Tuning / Other Planner Options" msgstr "Anfragetuning / Andere Planeroptionen" -#: utils/misc/guc_tables.c:702 +#: utils/misc/guc_tables.c:703 msgid "Reporting and Logging / Where to Log" msgstr "Berichte und Logging / Wohin geloggt wird" -#: utils/misc/guc_tables.c:703 +#: utils/misc/guc_tables.c:704 msgid "Reporting and Logging / When to Log" msgstr "Berichte und Logging / Wann geloggt wird" -#: utils/misc/guc_tables.c:704 +#: utils/misc/guc_tables.c:705 msgid "Reporting and Logging / What to Log" msgstr "Berichte und Logging / Was geloggt wird" -#: utils/misc/guc_tables.c:705 +#: utils/misc/guc_tables.c:706 msgid "Reporting and Logging / Process Title" msgstr "Berichte und Logging / Prozesstitel" -#: utils/misc/guc_tables.c:706 +#: utils/misc/guc_tables.c:707 msgid "Statistics / Monitoring" msgstr "Statistiken / Überwachung" -#: utils/misc/guc_tables.c:707 +#: utils/misc/guc_tables.c:708 msgid "Statistics / Cumulative Query and Index Statistics" msgstr "Statistiken / Kumulierte Anfrage- und Indexstatistiken" -#: utils/misc/guc_tables.c:708 +#: utils/misc/guc_tables.c:709 msgid "Autovacuum" msgstr "Autovacuum" -#: utils/misc/guc_tables.c:709 +#: utils/misc/guc_tables.c:710 msgid "Client Connection Defaults / Statement Behavior" msgstr "Standardeinstellungen für Clientverbindungen / Anweisungsverhalten" -#: utils/misc/guc_tables.c:710 +#: utils/misc/guc_tables.c:711 msgid "Client Connection Defaults / Locale and Formatting" msgstr "Standardeinstellungen für Clientverbindungen / Locale und Formatierung" -#: utils/misc/guc_tables.c:711 +#: utils/misc/guc_tables.c:712 msgid "Client Connection Defaults / Shared Library Preloading" msgstr "Standardeinstellungen für Clientverbindungen / Shared Library Preloading" -#: utils/misc/guc_tables.c:712 +#: utils/misc/guc_tables.c:713 msgid "Client Connection Defaults / Other Defaults" msgstr "Standardeinstellungen für Clientverbindungen / Andere" -#: utils/misc/guc_tables.c:713 +#: utils/misc/guc_tables.c:714 msgid "Lock Management" msgstr "Sperrenverwaltung" -#: utils/misc/guc_tables.c:714 +#: utils/misc/guc_tables.c:715 msgid "Version and Platform Compatibility / Previous PostgreSQL Versions" msgstr "Versions- und Plattformkompatibilität / Frühere PostgreSQL-Versionen" -#: utils/misc/guc_tables.c:715 +#: utils/misc/guc_tables.c:716 msgid "Version and Platform Compatibility / Other Platforms and Clients" msgstr "Versions- und Plattformkompatibilität / Andere Plattformen und Clients" -#: utils/misc/guc_tables.c:716 +#: utils/misc/guc_tables.c:717 msgid "Error Handling" msgstr "Fehlerbehandlung" -#: utils/misc/guc_tables.c:717 +#: utils/misc/guc_tables.c:718 msgid "Preset Options" msgstr "Voreingestellte Optionen" -#: utils/misc/guc_tables.c:718 +#: utils/misc/guc_tables.c:719 msgid "Customized Options" msgstr "Angepasste Optionen" -#: utils/misc/guc_tables.c:719 +#: utils/misc/guc_tables.c:720 msgid "Developer Options" msgstr "Entwickleroptionen" -#: utils/misc/guc_tables.c:774 +#: utils/misc/guc_tables.c:775 msgid "Enables the planner's use of sequential-scan plans." msgstr "Ermöglicht sequenzielle Scans in Planer." -#: utils/misc/guc_tables.c:784 +#: utils/misc/guc_tables.c:785 msgid "Enables the planner's use of index-scan plans." msgstr "Ermöglicht Index-Scans im Planer." -#: utils/misc/guc_tables.c:794 +#: utils/misc/guc_tables.c:795 msgid "Enables the planner's use of index-only-scan plans." msgstr "Ermöglicht Index-Only-Scans im Planer." -#: utils/misc/guc_tables.c:804 +#: utils/misc/guc_tables.c:805 msgid "Enables the planner's use of bitmap-scan plans." msgstr "Ermöglicht Bitmap-Scans im Planer." -#: utils/misc/guc_tables.c:814 +#: utils/misc/guc_tables.c:815 msgid "Enables the planner's use of TID scan plans." msgstr "Ermöglicht TID-Scans im Planer." -#: utils/misc/guc_tables.c:824 +#: utils/misc/guc_tables.c:825 msgid "Enables the planner's use of explicit sort steps." msgstr "Ermöglicht Sortierschritte im Planer." -#: utils/misc/guc_tables.c:834 +#: utils/misc/guc_tables.c:835 msgid "Enables the planner's use of incremental sort steps." msgstr "Ermöglicht inkrementelle Sortierschritte im Planer." -#: utils/misc/guc_tables.c:844 +#: utils/misc/guc_tables.c:845 msgid "Enables the planner's use of hashed aggregation plans." msgstr "Ermöglicht Hash-Aggregierung im Planer." -#: utils/misc/guc_tables.c:854 +#: utils/misc/guc_tables.c:855 msgid "Enables the planner's use of materialization." msgstr "Ermöglicht Materialisierung im Planer." -#: utils/misc/guc_tables.c:864 +#: utils/misc/guc_tables.c:865 msgid "Enables the planner's use of memoization." msgstr "Ermöglicht Memoization im Planer." -#: utils/misc/guc_tables.c:874 +#: utils/misc/guc_tables.c:875 msgid "Enables the planner's use of nested-loop join plans." msgstr "Ermöglicht Nested-Loop-Verbunde im Planer." -#: utils/misc/guc_tables.c:884 +#: utils/misc/guc_tables.c:885 msgid "Enables the planner's use of merge join plans." msgstr "Ermöglicht Merge-Verbunde im Planer." -#: utils/misc/guc_tables.c:894 +#: utils/misc/guc_tables.c:895 msgid "Enables the planner's use of hash join plans." msgstr "Ermöglicht Hash-Verbunde im Planer." -#: utils/misc/guc_tables.c:904 +#: utils/misc/guc_tables.c:905 msgid "Enables the planner's use of gather merge plans." msgstr "Ermöglicht Gather-Merge-Pläne im Planer." -#: utils/misc/guc_tables.c:914 +#: utils/misc/guc_tables.c:915 msgid "Enables partitionwise join." msgstr "Ermöglicht partitionsweise Verbunde." -#: utils/misc/guc_tables.c:924 +#: utils/misc/guc_tables.c:925 msgid "Enables partitionwise aggregation and grouping." msgstr "Ermöglicht partitionsweise Aggregierung und Gruppierung." -#: utils/misc/guc_tables.c:934 +#: utils/misc/guc_tables.c:935 msgid "Enables the planner's use of parallel append plans." msgstr "Ermöglicht parallele Append-Pläne im Planer." -#: utils/misc/guc_tables.c:944 +#: utils/misc/guc_tables.c:945 msgid "Enables the planner's use of parallel hash plans." msgstr "Ermöglicht parallele Hash-Pläne im Planer." -#: utils/misc/guc_tables.c:954 +#: utils/misc/guc_tables.c:955 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:955 +#: utils/misc/guc_tables.c:956 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:966 +#: utils/misc/guc_tables.c:967 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:969 +#: utils/misc/guc_tables.c:970 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:981 +#: utils/misc/guc_tables.c:982 msgid "Enables the planner's use of async append plans." msgstr "Ermöglicht asynchrone Append-Pläne im Planer." -#: utils/misc/guc_tables.c:991 +#: utils/misc/guc_tables.c:992 msgid "Enables reordering of GROUP BY keys." -msgstr "" +msgstr "Ermöglicht Umordnen von GROUP-BY-Schlüsseln." -#: utils/misc/guc_tables.c:1001 +#: utils/misc/guc_tables.c:1002 msgid "Enables genetic query optimization." msgstr "Ermöglicht genetische Anfrageoptimierung." -#: utils/misc/guc_tables.c:1002 +#: utils/misc/guc_tables.c:1003 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:1016 +#: utils/misc/guc_tables.c:1017 msgid "Shows whether the current user is a superuser." msgstr "Zeigt, ob der aktuelle Benutzer ein Superuser ist." -#: utils/misc/guc_tables.c:1031 +#: utils/misc/guc_tables.c:1032 msgid "Allows running the ALTER SYSTEM command." -msgstr "" +msgstr "Erlaubt das Ausführen des Befehls ALTER SYSTEM." -#: utils/misc/guc_tables.c:1032 +#: utils/misc/guc_tables.c:1033 msgid "Can be set to off for environments where global configuration changes should be made using a different method." -msgstr "" +msgstr "Kann auf aus gesetzt werden in Umgebungen, wo globale Konfigurationsänderungen mit einer anderen Methode gemacht werden sollten." -#: utils/misc/guc_tables.c:1042 +#: utils/misc/guc_tables.c:1043 msgid "Enables advertising the server via Bonjour." msgstr "Ermöglicht die Bekanntgabe des Servers mit Bonjour." -#: utils/misc/guc_tables.c:1051 +#: utils/misc/guc_tables.c:1052 msgid "Collects transaction commit time." msgstr "Sammelt Commit-Timestamps von Transaktionen." -#: utils/misc/guc_tables.c:1060 +#: utils/misc/guc_tables.c:1061 msgid "Enables SSL connections." msgstr "Ermöglicht SSL-Verbindungen." -#: utils/misc/guc_tables.c:1069 +#: utils/misc/guc_tables.c:1070 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:1078 +#: utils/misc/guc_tables.c:1079 msgid "Give priority to server ciphersuite order." msgstr "Der Ciphersuite-Reihenfolge des Servers Vorrang geben." -#: utils/misc/guc_tables.c:1087 +#: utils/misc/guc_tables.c:1088 msgid "Forces synchronization of updates to disk." msgstr "Erzwingt die Synchronisierung von Aktualisierungen auf Festplatte." -#: utils/misc/guc_tables.c:1088 +#: utils/misc/guc_tables.c:1089 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:1099 +#: utils/misc/guc_tables.c:1100 msgid "Continues processing after a checksum failure." msgstr "Setzt die Verarbeitung trotz Prüfsummenfehler fort." -#: utils/misc/guc_tables.c:1100 +#: utils/misc/guc_tables.c:1101 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:1114 +#: utils/misc/guc_tables.c:1115 msgid "Continues processing past damaged page headers." msgstr "Setzt die Verarbeitung trotz kaputter Seitenköpfe fort." -#: utils/misc/guc_tables.c:1115 +#: utils/misc/guc_tables.c:1116 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:1128 +#: utils/misc/guc_tables.c:1129 msgid "Continues recovery after an invalid pages failure." msgstr "Setzt die Wiederherstellung trotz Fehler durch ungültige Seiten fort." -#: utils/misc/guc_tables.c:1129 +#: utils/misc/guc_tables.c:1130 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:1147 +#: utils/misc/guc_tables.c:1148 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:1148 +#: utils/misc/guc_tables.c:1149 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:1161 +#: utils/misc/guc_tables.c:1162 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:1171 +#: utils/misc/guc_tables.c:1172 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:1181 +#: utils/misc/guc_tables.c:1182 msgid "Recycles WAL files by renaming them." msgstr "WAL-Dateien werden durch Umbenennen wiederverwendet." -#: utils/misc/guc_tables.c:1191 +#: utils/misc/guc_tables.c:1192 msgid "Logs each checkpoint." msgstr "Schreibt jeden Checkpoint in den Log." -#: utils/misc/guc_tables.c:1200 +#: utils/misc/guc_tables.c:1201 msgid "Logs each successful connection." msgstr "Schreibt jede erfolgreiche Verbindung in den Log." -#: utils/misc/guc_tables.c:1209 -#, fuzzy -#| msgid "Connections and Authentication / Connection Settings" +#: utils/misc/guc_tables.c:1210 msgid "Logs details of pre-authentication connection handshake." -msgstr "Verbindungen und Authentifizierung / Verbindungseinstellungen" +msgstr "Schreibt Details über den Verbindungs-Handshake vor der Authentifizierung in den Log." -#: utils/misc/guc_tables.c:1219 +#: utils/misc/guc_tables.c:1220 msgid "Logs end of a session, including duration." msgstr "Schreibt jedes Verbindungsende mit Sitzungszeit in den Log." -#: utils/misc/guc_tables.c:1228 +#: utils/misc/guc_tables.c:1229 msgid "Logs each replication command." msgstr "Schreibt jeden Replikationsbefehl in den Log." -#: utils/misc/guc_tables.c:1237 +#: utils/misc/guc_tables.c:1238 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:1248 +#: utils/misc/guc_tables.c:1249 msgid "Terminate session on any error." msgstr "Sitzung bei jedem Fehler abbrechen." -#: utils/misc/guc_tables.c:1257 +#: utils/misc/guc_tables.c:1258 msgid "Reinitialize server after backend crash." msgstr "Server nach Absturz eines Serverprozesses reinitialisieren." -#: utils/misc/guc_tables.c:1266 +#: utils/misc/guc_tables.c:1267 msgid "Remove temporary files after backend crash." msgstr "Temporäre Dateien nach Absturz eines Serverprozesses löschen." -#: utils/misc/guc_tables.c:1276 +#: utils/misc/guc_tables.c:1277 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:1286 +#: utils/misc/guc_tables.c:1287 msgid "Send SIGABRT not SIGKILL to stuck child processes." msgstr "SIGABRT statt SIGKILL an feststeckende Kindprozesse senden." -#: utils/misc/guc_tables.c:1297 +#: utils/misc/guc_tables.c:1298 msgid "Logs the duration of each completed SQL statement." msgstr "Loggt die Dauer jeder abgeschlossenen SQL-Anweisung." -#: utils/misc/guc_tables.c:1306 +#: utils/misc/guc_tables.c:1307 msgid "Logs each query's parse tree." msgstr "Scheibt den Parsebaum jeder Anfrage in den Log." -#: utils/misc/guc_tables.c:1315 +#: utils/misc/guc_tables.c:1316 msgid "Logs each query's rewritten parse tree." msgstr "Schreibt den umgeschriebenen Parsebaum jeder Anfrage in den Log." -#: utils/misc/guc_tables.c:1324 +#: utils/misc/guc_tables.c:1325 msgid "Logs each query's execution plan." msgstr "Schreibt den Ausführungsplan jeder Anfrage in den Log." -#: utils/misc/guc_tables.c:1333 +#: utils/misc/guc_tables.c:1334 msgid "Indents parse and plan tree displays." msgstr "Rückt die Anzeige von Parse- und Planbäumen ein." -#: utils/misc/guc_tables.c:1342 +#: utils/misc/guc_tables.c:1343 msgid "Writes parser performance statistics to the server log." msgstr "Schreibt Parser-Leistungsstatistiken in den Serverlog." -#: utils/misc/guc_tables.c:1351 +#: utils/misc/guc_tables.c:1352 msgid "Writes planner performance statistics to the server log." msgstr "Schreibt Planer-Leistungsstatistiken in den Serverlog." -#: utils/misc/guc_tables.c:1360 +#: utils/misc/guc_tables.c:1361 msgid "Writes executor performance statistics to the server log." msgstr "Schreibt Executor-Leistungsstatistiken in den Serverlog." -#: utils/misc/guc_tables.c:1369 +#: utils/misc/guc_tables.c:1370 msgid "Writes cumulative performance statistics to the server log." msgstr "Schreibt Gesamtleistungsstatistiken in den Serverlog." -#: utils/misc/guc_tables.c:1379 +#: utils/misc/guc_tables.c:1380 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:1391 +#: utils/misc/guc_tables.c:1392 msgid "Collects information about executing commands." msgstr "Sammelt Informationen über ausgeführte Befehle." -#: utils/misc/guc_tables.c:1392 +#: utils/misc/guc_tables.c:1393 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:1402 +#: utils/misc/guc_tables.c:1403 msgid "Collects statistics on database activity." msgstr "Sammelt Statistiken über Datenbankaktivität." -#: utils/misc/guc_tables.c:1411 +#: utils/misc/guc_tables.c:1412 msgid "Collects timing statistics for database I/O activity." msgstr "Sammelt Zeitmessungsstatistiken über Datenbank-I/O-Aktivität." -#: utils/misc/guc_tables.c:1420 +#: utils/misc/guc_tables.c:1421 msgid "Collects timing statistics for WAL I/O activity." msgstr "Sammelt Zeitmessungsstatistiken über WAL-I/O-Aktivität." -#: utils/misc/guc_tables.c:1430 +#: utils/misc/guc_tables.c:1431 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:1431 +#: utils/misc/guc_tables.c:1432 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:1440 +#: utils/misc/guc_tables.c:1441 msgid "Starts the autovacuum subprocess." msgstr "Startet den Autovacuum-Prozess." -#: utils/misc/guc_tables.c:1450 +#: utils/misc/guc_tables.c:1451 msgid "Generates debugging output for LISTEN and NOTIFY." msgstr "Erzeugt Debug-Ausgabe für LISTEN und NOTIFY." -#: utils/misc/guc_tables.c:1462 +#: utils/misc/guc_tables.c:1463 msgid "Emits information about lock usage." msgstr "Gibt Informationen über Sperrenverwendung aus." -#: utils/misc/guc_tables.c:1472 +#: utils/misc/guc_tables.c:1473 msgid "Emits information about user lock usage." msgstr "Gibt Informationen über Benutzersperrenverwendung aus." -#: utils/misc/guc_tables.c:1482 +#: utils/misc/guc_tables.c:1483 msgid "Emits information about lightweight lock usage." msgstr "Gibt Informationen über die Verwendung von Lightweight Locks aus." -#: utils/misc/guc_tables.c:1492 +#: utils/misc/guc_tables.c:1493 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:1504 +#: utils/misc/guc_tables.c:1505 msgid "Logs long lock waits." msgstr "Schreibt Meldungen über langes Warten auf Sperren in den Log." -#: utils/misc/guc_tables.c:1513 +#: utils/misc/guc_tables.c:1514 msgid "Logs standby recovery conflict waits." msgstr "Schreibt Meldungen über Warten wegen Konflikten bei Wiederherstellung in den Log." -#: utils/misc/guc_tables.c:1522 +#: utils/misc/guc_tables.c:1523 msgid "Logs the host name in the connection logs." msgstr "Schreibt den Hostnamen jeder Verbindung in den Log." -#: utils/misc/guc_tables.c:1523 +#: utils/misc/guc_tables.c:1524 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:1534 +#: utils/misc/guc_tables.c:1535 msgid "Treats \"expr=NULL\" as \"expr IS NULL\"." msgstr "Behandelt »ausdruck=NULL« als »ausdruck IS NULL«." -#: utils/misc/guc_tables.c:1535 +#: utils/misc/guc_tables.c:1536 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:1547 +#: utils/misc/guc_tables.c:1548 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:1557 +#: utils/misc/guc_tables.c:1558 msgid "Sets the current transaction's read-only status." msgstr "Setzt die Read-Only-Einstellung der aktuellen Transaktion." -#: utils/misc/guc_tables.c:1567 +#: utils/misc/guc_tables.c:1568 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:1576 +#: utils/misc/guc_tables.c:1577 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:1586 +#: utils/misc/guc_tables.c:1587 msgid "Enable row security." msgstr "Schaltet Sicherheit auf Zeilenebene ein." -#: utils/misc/guc_tables.c:1587 +#: utils/misc/guc_tables.c:1588 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:1595 +#: utils/misc/guc_tables.c:1596 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:1604 +#: utils/misc/guc_tables.c:1605 msgid "Enable input of NULL elements in arrays." msgstr "Ermöglicht die Eingabe von NULL-Elementen in Arrays." -#: utils/misc/guc_tables.c:1605 +#: utils/misc/guc_tables.c:1606 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:1621 +#: utils/misc/guc_tables.c:1622 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:1631 +#: utils/misc/guc_tables.c:1632 msgid "Start a subprocess to capture stderr output and/or csvlogs into log files." msgstr "Startet einen Subprozess, um die Stderr-Ausgabe und/oder CSV-Logs in Logdateien auszugeben." -#: utils/misc/guc_tables.c:1640 +#: utils/misc/guc_tables.c:1641 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:1651 +#: utils/misc/guc_tables.c:1652 msgid "Emit information about resource usage in sorting." msgstr "Gibt Informationen über die Ressourcenverwendung beim Sortieren aus." -#: utils/misc/guc_tables.c:1665 +#: utils/misc/guc_tables.c:1666 msgid "Generate debugging output for synchronized scanning." msgstr "Erzeugt Debug-Ausgabe für synchronisiertes Scannen." -#: utils/misc/guc_tables.c:1680 +#: utils/misc/guc_tables.c:1681 msgid "Enable bounded sorting using heap sort." msgstr "Ermöglicht Bounded Sorting mittels Heap-Sort." -#: utils/misc/guc_tables.c:1693 +#: utils/misc/guc_tables.c:1694 msgid "Emit WAL-related debugging output." msgstr "Gibt diverse Debug-Meldungen über WAL aus." -#: utils/misc/guc_tables.c:1705 +#: utils/misc/guc_tables.c:1706 msgid "Shows whether datetimes are integer based." msgstr "Zeigt ob Datum/Zeit intern ganze Zahlen verwendet." -#: utils/misc/guc_tables.c:1716 +#: utils/misc/guc_tables.c:1717 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:1726 +#: utils/misc/guc_tables.c:1727 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:1736 +#: utils/misc/guc_tables.c:1737 msgid "Warn about backslash escapes in ordinary string literals." msgstr "Warnt bei Backslash-Escapes in normalen Zeichenkettenkonstanten." -#: utils/misc/guc_tables.c:1746 +#: utils/misc/guc_tables.c:1747 msgid "Causes '...' strings to treat backslashes literally." msgstr "Bewirkt, dass Zeichenketten der Art '...' Backslashes als normales Zeichen behandeln." -#: utils/misc/guc_tables.c:1757 +#: utils/misc/guc_tables.c:1758 msgid "Enable synchronized sequential scans." msgstr "Ermöglicht synchronisierte sequenzielle Scans." -#: utils/misc/guc_tables.c:1767 +#: utils/misc/guc_tables.c:1768 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:1777 +#: utils/misc/guc_tables.c:1778 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:1787 +#: utils/misc/guc_tables.c:1788 msgid "Allows connections and queries during recovery." msgstr "Erlaubt Verbindungen und Anfragen während der Wiederherstellung." -#: utils/misc/guc_tables.c:1797 +#: utils/misc/guc_tables.c:1798 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:1807 +#: utils/misc/guc_tables.c:1808 msgid "Shows whether hot standby is currently active." msgstr "Zeigt, ob Hot Standby aktuell aktiv ist." -#: utils/misc/guc_tables.c:1818 +#: utils/misc/guc_tables.c:1819 msgid "Allows modifications of the structure of system tables." msgstr "Erlaubt Änderungen an der Struktur von Systemtabellen." -#: utils/misc/guc_tables.c:1829 +#: utils/misc/guc_tables.c:1830 msgid "Disables reading from system indexes." msgstr "Schaltet das Lesen aus Systemindexen ab." -#: utils/misc/guc_tables.c:1830 +#: utils/misc/guc_tables.c:1831 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:1841 +#: utils/misc/guc_tables.c:1842 msgid "Allows tablespaces directly inside pg_tblspc, for testing." msgstr "Erlaubt Tablespaces direkt in pg_tblspc, zum Testen." -#: utils/misc/guc_tables.c:1852 +#: utils/misc/guc_tables.c:1853 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:1853 +#: utils/misc/guc_tables.c:1854 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:1863 +#: utils/misc/guc_tables.c:1864 msgid "When generating SQL fragments, quote all identifiers." msgstr "Wenn SQL-Fragmente erzeugt werden, alle Bezeichner quoten." -#: utils/misc/guc_tables.c:1873 +#: utils/misc/guc_tables.c:1874 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:1884 +#: utils/misc/guc_tables.c:1885 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:1894 +#: utils/misc/guc_tables.c:1895 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:1904 +#: utils/misc/guc_tables.c:1905 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:1905 +#: utils/misc/guc_tables.c:1906 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:1915 +#: utils/misc/guc_tables.c:1916 msgid "Allow JIT compilation." msgstr "Erlaubt JIT-Kompilierung." -#: utils/misc/guc_tables.c:1926 +#: utils/misc/guc_tables.c:1927 msgid "Register JIT-compiled functions with debugger." msgstr "JIT-kompilierte Funktionen im Debugger registrieren." -#: utils/misc/guc_tables.c:1943 +#: utils/misc/guc_tables.c:1944 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:1954 +#: utils/misc/guc_tables.c:1955 msgid "Allow JIT compilation of expressions." msgstr "Erlaubt JIT-Kompilierung von Ausdrücken." -#: utils/misc/guc_tables.c:1965 +#: utils/misc/guc_tables.c:1966 msgid "Register JIT-compiled functions with perf profiler." msgstr "JIT-kompilierte Funktionen im Profiler perf registrieren." -#: utils/misc/guc_tables.c:1982 +#: utils/misc/guc_tables.c:1983 msgid "Allow JIT compilation of tuple deforming." msgstr "Erlaubt JIT-Kompilierung von Tuple-Deforming." -#: utils/misc/guc_tables.c:1993 +#: utils/misc/guc_tables.c:1994 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:2002 +#: utils/misc/guc_tables.c:2003 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:2011 -#, fuzzy -#| msgid "event trigger %s" +#: utils/misc/guc_tables.c:2012 msgid "Enables event triggers." -msgstr "Ereignistrigger %s" +msgstr "Schaltet Ereignistrigger ein." -#: utils/misc/guc_tables.c:2012 +#: utils/misc/guc_tables.c:2013 msgid "When enabled, event triggers will fire for all applicable statements." -msgstr "" +msgstr "Wenn eingeschaltet, werden Ereignistrigger für alle passenden Anweisungen ausgelöst." -#: utils/misc/guc_tables.c:2021 -msgid "Enables a physical standby to synchronize logical failover slots from the primary server." -msgstr "" +#: utils/misc/guc_tables.c:2022 +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:2039 +#: utils/misc/guc_tables.c:2040 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:2050 +#: utils/misc/guc_tables.c:2051 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:2052 utils/misc/guc_tables.c:2774 +#: utils/misc/guc_tables.c:2053 utils/misc/guc_tables.c:2780 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:2061 +#: utils/misc/guc_tables.c:2062 msgid "Sets the default statistics target." msgstr "Setzt das voreingestellte Statistikziel." -#: utils/misc/guc_tables.c:2062 +#: utils/misc/guc_tables.c:2063 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:2071 +#: utils/misc/guc_tables.c:2072 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:2073 +#: utils/misc/guc_tables.c:2074 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:2084 +#: utils/misc/guc_tables.c:2085 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:2086 +#: utils/misc/guc_tables.c:2087 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:2097 +#: utils/misc/guc_tables.c:2098 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:2107 +#: utils/misc/guc_tables.c:2108 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:2117 +#: utils/misc/guc_tables.c:2118 msgid "GEQO: number of individuals in the population." msgstr "GEQO: Anzahl der Individien in der Bevölkerung." -#: utils/misc/guc_tables.c:2118 utils/misc/guc_tables.c:2128 +#: utils/misc/guc_tables.c:2119 utils/misc/guc_tables.c:2129 msgid "Zero selects a suitable default value." msgstr "Null wählt einen passenden Vorgabewert." -#: utils/misc/guc_tables.c:2127 +#: utils/misc/guc_tables.c:2128 msgid "GEQO: number of iterations of the algorithm." msgstr "GEQO: Anzahl der Iterationen im Algorithmus." -#: utils/misc/guc_tables.c:2139 +#: utils/misc/guc_tables.c:2140 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:2150 +#: utils/misc/guc_tables.c:2151 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:2161 +#: utils/misc/guc_tables.c:2162 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:2172 +#: utils/misc/guc_tables.c:2173 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:2183 +#: utils/misc/guc_tables.c:2184 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:2194 +#: utils/misc/guc_tables.c:2195 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:2205 +#: utils/misc/guc_tables.c:2206 msgid "Sets the maximum number of concurrent connections." msgstr "Setzt die maximale Anzahl gleichzeitiger Verbindungen." -#: utils/misc/guc_tables.c:2216 +#: utils/misc/guc_tables.c:2217 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:2226 +#: utils/misc/guc_tables.c:2227 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:2237 +#: utils/misc/guc_tables.c:2238 msgid "Amount of dynamic shared memory reserved at startup." msgstr "Menge des beim Start reservierten dynamischen Shared Memory." -#: utils/misc/guc_tables.c:2252 +#: utils/misc/guc_tables.c:2253 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:2263 +#: utils/misc/guc_tables.c:2264 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:2274 +#: utils/misc/guc_tables.c:2275 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:2285 +#: utils/misc/guc_tables.c:2286 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:2286 +#: utils/misc/guc_tables.c:2287 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:2296 +#: utils/misc/guc_tables.c:2297 msgid "Sets the size of the dedicated buffer pool used for the commit timestamp cache." -msgstr "" +msgstr "Setzt die Größe des für den Commit-Timestamp-Cache bestimmten Buffer-Pools." -#: utils/misc/guc_tables.c:2297 utils/misc/guc_tables.c:2352 -#: utils/misc/guc_tables.c:2363 +#: utils/misc/guc_tables.c:2298 utils/misc/guc_tables.c:2353 +#: utils/misc/guc_tables.c:2364 msgid "Specify 0 to have this value determined as a fraction of shared_buffers." -msgstr "" +msgstr "Geben Sie 0 an, um diesen Wert als einen Bruchteil von shared_buffers zu ermitteln." -#: utils/misc/guc_tables.c:2307 +#: utils/misc/guc_tables.c:2308 msgid "Sets the size of the dedicated buffer pool used for the MultiXact member cache." -msgstr "" +msgstr "Setzt die Größe des für den MultiXact-Member-Cache bestimmten Buffer-Pools." -#: utils/misc/guc_tables.c:2318 +#: utils/misc/guc_tables.c:2319 msgid "Sets the size of the dedicated buffer pool used for the MultiXact offset cache." -msgstr "" +msgstr "Setzt die Größe des für den MultiXact-Offset-Cache bestimmten Buffer-Pools." -#: utils/misc/guc_tables.c:2329 +#: utils/misc/guc_tables.c:2330 msgid "Sets the size of the dedicated buffer pool used for the LISTEN/NOTIFY message cache." -msgstr "" +msgstr "Setzt die Größe des für den LISTEN/NOTIFY-Message-Cache bestimmten Buffer-Pools." -#: utils/misc/guc_tables.c:2340 +#: utils/misc/guc_tables.c:2341 msgid "Sets the size of the dedicated buffer pool used for the serializable transaction cache." -msgstr "" +msgstr "Setzt die Größe des für den Cache für serialisierbare Transaktionen bestimmten Buffer-Pools." -#: utils/misc/guc_tables.c:2351 -#, fuzzy -#| msgid "Sets the name of the replication slot to use on the sending server." -msgid "Sets the size of the dedicated buffer pool used for the sub-transaction cache." -msgstr "Setzt den Namen des zu verwendenden Replikations-Slots auf dem sendenden Server." +#: utils/misc/guc_tables.c:2352 +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:2362 +#: utils/misc/guc_tables.c:2363 msgid "Sets the size of the dedicated buffer pool used for the transaction status cache." -msgstr "" +msgstr "Setzt die Größe des für den Transaktionsstatus-Cache bestimmten Buffer-Pools." -#: utils/misc/guc_tables.c:2373 +#: utils/misc/guc_tables.c:2374 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:2384 +#: utils/misc/guc_tables.c:2385 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:2394 +#: utils/misc/guc_tables.c:2395 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:2395 +#: utils/misc/guc_tables.c:2396 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:2409 +#: utils/misc/guc_tables.c:2410 msgid "Sets the file permissions for log files." msgstr "Setzt die Dateizugriffsrechte für Logdateien." -#: utils/misc/guc_tables.c:2410 +#: utils/misc/guc_tables.c:2411 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:2424 +#: utils/misc/guc_tables.c:2425 msgid "Shows the mode of the data directory." msgstr "Zeigt die Zugriffsrechte des Datenverzeichnisses." -#: utils/misc/guc_tables.c:2425 +#: utils/misc/guc_tables.c:2426 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:2438 +#: utils/misc/guc_tables.c:2439 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:2439 +#: utils/misc/guc_tables.c:2440 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:2451 +#: utils/misc/guc_tables.c:2457 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:2452 +#: utils/misc/guc_tables.c:2458 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:2462 +#: utils/misc/guc_tables.c:2468 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:2463 +#: utils/misc/guc_tables.c:2469 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:2479 +#: utils/misc/guc_tables.c:2485 msgid "Sets the maximum stack depth, in kilobytes." msgstr "Setzt die maximale Stackgröße, in Kilobytes." -#: utils/misc/guc_tables.c:2490 +#: utils/misc/guc_tables.c:2496 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:2491 +#: utils/misc/guc_tables.c:2497 msgid "-1 means no limit." msgstr "-1 bedeutet keine Grenze." -#: utils/misc/guc_tables.c:2501 +#: utils/misc/guc_tables.c:2507 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:2511 +#: utils/misc/guc_tables.c:2517 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:2521 +#: utils/misc/guc_tables.c:2527 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:2531 +#: utils/misc/guc_tables.c:2537 msgid "Vacuum cost amount available before napping." msgstr "Verfügbare Vacuum-Kosten vor Nickerchen." -#: utils/misc/guc_tables.c:2541 +#: utils/misc/guc_tables.c:2547 msgid "Vacuum cost amount available before napping, for autovacuum." msgstr "Verfügbare Vacuum-Kosten vor Nickerchen, für Autovacuum." -#: utils/misc/guc_tables.c:2551 +#: utils/misc/guc_tables.c:2557 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:2564 +#: utils/misc/guc_tables.c:2570 msgid "Sets the maximum number of simultaneously prepared transactions." msgstr "Setzt die maximale Anzahl von gleichzeitig vorbereiteten Transaktionen." -#: utils/misc/guc_tables.c:2575 +#: utils/misc/guc_tables.c:2581 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:2576 +#: utils/misc/guc_tables.c:2582 msgid "Is used to avoid output on system tables." msgstr "Wird verwendet, um Ausgabe für Systemtabellen zu vermeiden." -#: utils/misc/guc_tables.c:2585 +#: utils/misc/guc_tables.c:2591 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:2597 +#: utils/misc/guc_tables.c:2603 msgid "Sets the maximum allowed duration of any statement." msgstr "Setzt die maximal erlaubte Dauer jeder Anweisung." -#: utils/misc/guc_tables.c:2598 utils/misc/guc_tables.c:2609 -#: utils/misc/guc_tables.c:2620 utils/misc/guc_tables.c:2631 -#: utils/misc/guc_tables.c:2642 +#: 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 msgid "A value of 0 turns off the timeout." msgstr "Der Wert 0 schaltet die Zeitprüfung aus." -#: utils/misc/guc_tables.c:2608 +#: utils/misc/guc_tables.c:2614 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:2619 +#: utils/misc/guc_tables.c:2625 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:2630 -#, fuzzy -#| msgid "Sets the maximum allowed duration of any statement." +#: utils/misc/guc_tables.c:2636 msgid "Sets the maximum allowed duration of any transaction within a session (not a prepared transaction)." -msgstr "Setzt die maximal erlaubte Dauer jeder Anweisung." +msgstr "Setzt die maximal erlaubte Dauer jeder Transaktion innerhalb einer Sitzung (keine vorbereitete Transaktion)." -#: utils/misc/guc_tables.c:2641 +#: utils/misc/guc_tables.c:2647 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:2652 +#: utils/misc/guc_tables.c:2658 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:2662 +#: utils/misc/guc_tables.c:2668 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:2672 +#: utils/misc/guc_tables.c:2678 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:2682 +#: utils/misc/guc_tables.c:2688 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:2692 +#: utils/misc/guc_tables.c:2698 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:2701 +#: utils/misc/guc_tables.c:2707 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:2714 +#: utils/misc/guc_tables.c:2720 msgid "Sets the maximum number of locks per transaction." msgstr "Setzt die maximale Anzahl Sperren pro Transaktion." -#: utils/misc/guc_tables.c:2715 +#: utils/misc/guc_tables.c:2721 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:2726 +#: utils/misc/guc_tables.c:2732 msgid "Sets the maximum number of predicate locks per transaction." msgstr "Setzt die maximale Anzahl Prädikatsperren pro Transaktion." -#: utils/misc/guc_tables.c:2727 +#: utils/misc/guc_tables.c:2733 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:2738 +#: utils/misc/guc_tables.c:2744 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:2739 +#: utils/misc/guc_tables.c:2745 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:2749 +#: utils/misc/guc_tables.c:2755 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:2750 +#: utils/misc/guc_tables.c:2756 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:2760 +#: utils/misc/guc_tables.c:2766 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:2772 +#: utils/misc/guc_tables.c:2778 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:2784 -#, fuzzy -#| msgid "Sets the maximum number of predicate-locked tuples per page." +#: utils/misc/guc_tables.c:2790 msgid "Sets the maximum number of allocated pages for NOTIFY / LISTEN queue." -msgstr "Setzt die maximale Anzahl Prädikatsperren für Tupel pro Seite." +msgstr "Setzt die maximale Anzahl bereitgestellte Seiten für die NOTIFY/LISTEN-Warteschlange." -#: utils/misc/guc_tables.c:2794 +#: utils/misc/guc_tables.c:2800 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:2795 +#: utils/misc/guc_tables.c:2801 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:2805 +#: utils/misc/guc_tables.c:2811 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:2816 +#: utils/misc/guc_tables.c:2822 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:2828 +#: utils/misc/guc_tables.c:2834 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:2840 +#: utils/misc/guc_tables.c:2846 msgid "Sets the maximum time between automatic WAL checkpoints." msgstr "Setzt die maximale Zeit zwischen automatischen WAL-Checkpoints." -#: utils/misc/guc_tables.c:2851 +#: utils/misc/guc_tables.c:2857 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:2853 +#: utils/misc/guc_tables.c:2859 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:2866 utils/misc/guc_tables.c:3084 -#: utils/misc/guc_tables.c:3138 +#: utils/misc/guc_tables.c:2872 utils/misc/guc_tables.c:3090 +#: utils/misc/guc_tables.c:3144 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:2877 +#: utils/misc/guc_tables.c:2883 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:2878 +#: utils/misc/guc_tables.c:2884 msgid "Specify -1 to have this value determined as a fraction of shared_buffers." -msgstr "" +msgstr "Geben Sie -1 an, um diesen Wert als einen Bruchteil von shared_buffers zu ermitteln." -#: utils/misc/guc_tables.c:2888 +#: utils/misc/guc_tables.c:2894 msgid "Time between WAL flushes performed in the WAL writer." msgstr "Zeit zwischen WAL-Flush-Operationen im WAL-Writer." -#: utils/misc/guc_tables.c:2899 +#: utils/misc/guc_tables.c:2905 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:2910 +#: utils/misc/guc_tables.c:2916 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:2921 +#: utils/misc/guc_tables.c:2927 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:2932 +#: utils/misc/guc_tables.c:2938 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:2942 +#: utils/misc/guc_tables.c:2948 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:2943 +#: utils/misc/guc_tables.c:2949 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:2955 +#: utils/misc/guc_tables.c:2961 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:2966 +#: utils/misc/guc_tables.c:2972 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:2978 +#: utils/misc/guc_tables.c:2984 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:2989 +#: utils/misc/guc_tables.c:2995 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:2990 +#: utils/misc/guc_tables.c:2996 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:3002 +#: utils/misc/guc_tables.c:3008 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:3005 +#: utils/misc/guc_tables.c:3011 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:3015 +#: utils/misc/guc_tables.c:3021 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:3017 +#: utils/misc/guc_tables.c:3023 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:3027 +#: utils/misc/guc_tables.c:3033 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:3029 +#: utils/misc/guc_tables.c:3035 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:3039 +#: utils/misc/guc_tables.c:3045 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:3041 utils/misc/guc_tables.c:3053 +#: utils/misc/guc_tables.c:3047 utils/misc/guc_tables.c:3059 msgid "-1 to print values in full." msgstr "-1 um die Werte vollständig auszugeben." -#: utils/misc/guc_tables.c:3051 +#: utils/misc/guc_tables.c:3057 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:3063 +#: utils/misc/guc_tables.c:3069 msgid "Background writer sleep time between rounds." msgstr "Schlafzeit zwischen Durchläufen des Background-Writers." -#: utils/misc/guc_tables.c:3074 +#: utils/misc/guc_tables.c:3080 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:3097 +#: utils/misc/guc_tables.c:3103 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:3111 +#: utils/misc/guc_tables.c:3117 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:3126 +#: utils/misc/guc_tables.c:3132 msgid "Limit on the size of data reads and writes." -msgstr "" +msgstr "Begrenzung der Größe von Datenlese- und -schreibvorgängen." -#: utils/misc/guc_tables.c:3151 +#: utils/misc/guc_tables.c:3157 msgid "Maximum number of concurrent worker processes." msgstr "Maximale Anzahl gleichzeitiger Worker-Prozesse." -#: utils/misc/guc_tables.c:3163 +#: utils/misc/guc_tables.c:3169 msgid "Maximum number of logical replication worker processes." msgstr "Maximale Anzahl Arbeitsprozesse für logische Replikation." -#: utils/misc/guc_tables.c:3175 +#: utils/misc/guc_tables.c:3181 msgid "Maximum number of table synchronization workers per subscription." msgstr "Maximale Anzahl Arbeitsprozesse für Tabellensynchronisation pro Subskription." -#: utils/misc/guc_tables.c:3187 +#: utils/misc/guc_tables.c:3193 msgid "Maximum number of parallel apply workers per subscription." msgstr "Maximale Anzahl Parallel-Apply-Worker pro Subskription." -#: utils/misc/guc_tables.c:3197 +#: utils/misc/guc_tables.c:3203 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:3209 +#: utils/misc/guc_tables.c:3215 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:3221 +#: utils/misc/guc_tables.c:3227 msgid "Shows the maximum number of function arguments." msgstr "Setzt die maximale Anzahl von Funktionsargumenten." -#: utils/misc/guc_tables.c:3232 +#: utils/misc/guc_tables.c:3238 msgid "Shows the maximum number of index keys." msgstr "Zeigt die maximale Anzahl von Indexschlüsseln." -#: utils/misc/guc_tables.c:3243 +#: utils/misc/guc_tables.c:3249 msgid "Shows the maximum identifier length." msgstr "Zeigt die maximale Länge von Bezeichnern." -#: utils/misc/guc_tables.c:3254 +#: utils/misc/guc_tables.c:3260 msgid "Shows the size of a disk block." msgstr "Zeigt die Größe eines Diskblocks." -#: utils/misc/guc_tables.c:3265 +#: utils/misc/guc_tables.c:3271 msgid "Shows the number of pages per disk file." msgstr "Zeigt die Anzahl Seiten pro Diskdatei." -#: utils/misc/guc_tables.c:3276 +#: utils/misc/guc_tables.c:3282 msgid "Shows the block size in the write ahead log." msgstr "Zeigt die Blockgröße im Write-Ahead-Log." -#: utils/misc/guc_tables.c:3287 +#: utils/misc/guc_tables.c:3293 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:3299 +#: utils/misc/guc_tables.c:3305 msgid "Shows the size of write ahead log segments." msgstr "Zeigt die Größe eines Write-Ahead-Log-Segments." -#: utils/misc/guc_tables.c:3312 +#: utils/misc/guc_tables.c:3318 msgid "Time for which WAL summary files should be kept." -msgstr "" +msgstr "Zeit, für die WAL-Summary-Dateien aufgehoben werden sollen." -#: utils/misc/guc_tables.c:3325 +#: utils/misc/guc_tables.c:3331 msgid "Time to sleep between autovacuum runs." msgstr "Wartezeit zwischen Autovacuum-Durchläufen." -#: utils/misc/guc_tables.c:3335 +#: utils/misc/guc_tables.c:3341 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:3344 +#: utils/misc/guc_tables.c:3350 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:3353 +#: utils/misc/guc_tables.c:3359 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:3363 +#: utils/misc/guc_tables.c:3369 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:3375 +#: utils/misc/guc_tables.c:3381 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:3385 +#: utils/misc/guc_tables.c:3391 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:3395 +#: utils/misc/guc_tables.c:3401 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:3405 +#: utils/misc/guc_tables.c:3411 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:3416 +#: utils/misc/guc_tables.c:3422 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:3427 +#: utils/misc/guc_tables.c:3433 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:3438 +#: utils/misc/guc_tables.c:3444 msgid "Time between issuing TCP keepalives." msgstr "Zeit zwischen TCP-Keepalive-Sendungen." -#: utils/misc/guc_tables.c:3439 utils/misc/guc_tables.c:3450 -#: utils/misc/guc_tables.c:3574 +#: utils/misc/guc_tables.c:3445 utils/misc/guc_tables.c:3456 +#: utils/misc/guc_tables.c:3580 msgid "A value of 0 uses the system default." msgstr "Der Wert 0 verwendet die Systemvoreinstellung." -#: utils/misc/guc_tables.c:3449 +#: utils/misc/guc_tables.c:3455 msgid "Time between TCP keepalive retransmits." msgstr "Zeit zwischen TCP-Keepalive-Neuübertragungen." -#: utils/misc/guc_tables.c:3460 +#: utils/misc/guc_tables.c:3466 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:3471 +#: utils/misc/guc_tables.c:3477 msgid "Maximum number of TCP keepalive retransmits." msgstr "Maximale Anzahl an TCP-Keepalive-Neuübertragungen." -#: utils/misc/guc_tables.c:3472 +#: utils/misc/guc_tables.c:3478 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:3483 +#: utils/misc/guc_tables.c:3489 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:3494 +#: utils/misc/guc_tables.c:3500 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:3495 +#: utils/misc/guc_tables.c:3501 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:3506 +#: utils/misc/guc_tables.c:3512 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:3507 +#: utils/misc/guc_tables.c:3513 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:3517 +#: utils/misc/guc_tables.c:3523 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:3518 +#: utils/misc/guc_tables.c:3524 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:3529 +#: utils/misc/guc_tables.c:3535 msgid "Shows the server version as an integer." msgstr "Zeigt die Serverversion als Zahl." -#: utils/misc/guc_tables.c:3540 +#: utils/misc/guc_tables.c:3546 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:3541 +#: utils/misc/guc_tables.c:3547 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:3551 +#: utils/misc/guc_tables.c:3557 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:3562 +#: utils/misc/guc_tables.c:3568 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:3573 +#: utils/misc/guc_tables.c:3579 msgid "TCP user timeout." msgstr "TCP-User-Timeout." -#: utils/misc/guc_tables.c:3584 +#: utils/misc/guc_tables.c:3590 msgid "The size of huge page that should be requested." msgstr "Huge-Page-Größe, die angefordert werden soll." -#: utils/misc/guc_tables.c:3595 +#: utils/misc/guc_tables.c:3601 msgid "Aggressively flush system caches for debugging purposes." msgstr "System-Caches aggressiv flushen, zum Debuggen." -#: utils/misc/guc_tables.c:3618 +#: utils/misc/guc_tables.c:3624 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:3629 +#: utils/misc/guc_tables.c:3635 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:3631 +#: utils/misc/guc_tables.c:3637 msgid "0 turns this feature off." msgstr "0 schaltet dieses Feature aus." -#: utils/misc/guc_tables.c:3641 +#: utils/misc/guc_tables.c:3647 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:3661 +#: utils/misc/guc_tables.c:3667 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:3672 +#: utils/misc/guc_tables.c:3678 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:3683 +#: utils/misc/guc_tables.c:3689 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:3694 +#: utils/misc/guc_tables.c:3700 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:3705 +#: utils/misc/guc_tables.c:3711 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:3716 +#: utils/misc/guc_tables.c:3722 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:3727 +#: utils/misc/guc_tables.c:3733 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:3739 +#: utils/misc/guc_tables.c:3745 msgid "Perform JIT compilation if query is more expensive." msgstr "JIT-Kompilierung durchführen, wenn die Anfrage teurer ist." -#: utils/misc/guc_tables.c:3740 +#: utils/misc/guc_tables.c:3746 msgid "-1 disables JIT compilation." msgstr "-1 schaltet JIT-Kompilierung aus." -#: utils/misc/guc_tables.c:3750 +#: utils/misc/guc_tables.c:3756 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:3751 +#: utils/misc/guc_tables.c:3757 msgid "-1 disables optimization." msgstr "-1 schaltet Optimierung aus." -#: utils/misc/guc_tables.c:3761 +#: utils/misc/guc_tables.c:3767 msgid "Perform JIT inlining if query is more expensive." msgstr "JIT-Inlining durchführen, wenn die Anfrage teurer ist." -#: utils/misc/guc_tables.c:3762 +#: utils/misc/guc_tables.c:3768 msgid "-1 disables inlining." msgstr "-1 schaltet Inlining aus." -#: utils/misc/guc_tables.c:3772 +#: utils/misc/guc_tables.c:3778 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:3784 +#: utils/misc/guc_tables.c:3790 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:3796 +#: utils/misc/guc_tables.c:3802 msgid "GEQO: selective pressure within the population." msgstr "GEQO: selektiver Auswahldruck in der Bevölkerung." -#: utils/misc/guc_tables.c:3807 +#: utils/misc/guc_tables.c:3813 msgid "GEQO: seed for random path selection." msgstr "GEQO: Ausgangswert für die zufällige Pfadauswahl." -#: utils/misc/guc_tables.c:3818 +#: utils/misc/guc_tables.c:3824 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:3829 +#: utils/misc/guc_tables.c:3835 msgid "Multiple of the average buffer usage to free per round." msgstr "Vielfaches der durchschnittlichen freizugebenden Pufferverwendung pro Runde." -#: utils/misc/guc_tables.c:3839 +#: utils/misc/guc_tables.c:3845 msgid "Sets the seed for random-number generation." msgstr "Setzt den Ausgangswert für die Zufallszahlenerzeugung." -#: utils/misc/guc_tables.c:3850 +#: utils/misc/guc_tables.c:3856 msgid "Vacuum cost delay in milliseconds." msgstr "Vacuum-Kosten-Verzögerung in Millisekunden." -#: utils/misc/guc_tables.c:3861 +#: utils/misc/guc_tables.c:3867 msgid "Vacuum cost delay in milliseconds, for autovacuum." msgstr "Vacuum-Kosten-Verzögerung in Millisekunden, für Autovacuum." -#: utils/misc/guc_tables.c:3872 +#: utils/misc/guc_tables.c:3878 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:3882 +#: utils/misc/guc_tables.c:3888 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:3892 +#: utils/misc/guc_tables.c:3898 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:3902 +#: utils/misc/guc_tables.c:3908 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:3912 +#: utils/misc/guc_tables.c:3918 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:3913 +#: utils/misc/guc_tables.c:3919 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:3922 +#: utils/misc/guc_tables.c:3928 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:3923 +#: utils/misc/guc_tables.c:3929 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:3942 +#: utils/misc/guc_tables.c:3948 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:3943 +#: utils/misc/guc_tables.c:3949 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:3952 +#: utils/misc/guc_tables.c:3958 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:3953 +#: utils/misc/guc_tables.c:3959 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:3962 +#: utils/misc/guc_tables.c:3968 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:3972 +#: utils/misc/guc_tables.c:3978 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:3982 +#: utils/misc/guc_tables.c:3988 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:3992 +#: utils/misc/guc_tables.c:3998 msgid "Specifies the timeline to recover into." msgstr "Gibt die Zeitleiste für die Wiederherstellung an." -#: utils/misc/guc_tables.c:4002 +#: utils/misc/guc_tables.c:4008 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:4011 +#: utils/misc/guc_tables.c:4017 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:4020 +#: utils/misc/guc_tables.c:4026 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:4029 +#: utils/misc/guc_tables.c:4035 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:4038 +#: utils/misc/guc_tables.c:4044 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:4048 +#: utils/misc/guc_tables.c:4054 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:4059 +#: utils/misc/guc_tables.c:4065 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:4069 +#: utils/misc/guc_tables.c:4075 msgid "Sets the client's character set encoding." msgstr "Setzt die Zeichensatzkodierung des Clients." -#: utils/misc/guc_tables.c:4080 +#: utils/misc/guc_tables.c:4086 msgid "Controls information prefixed to each log line." msgstr "Bestimmt die Informationen, die vor jede Logzeile geschrieben werden." -#: utils/misc/guc_tables.c:4081 +#: utils/misc/guc_tables.c:4087 msgid "If blank, no prefix is used." msgstr "Wenn leer, dann wird kein Präfix verwendet." -#: utils/misc/guc_tables.c:4090 +#: utils/misc/guc_tables.c:4096 msgid "Sets the time zone to use in log messages." msgstr "Setzt die in Logmeldungen verwendete Zeitzone." -#: utils/misc/guc_tables.c:4100 +#: utils/misc/guc_tables.c:4106 msgid "Sets the display format for date and time values." msgstr "Setzt das Ausgabeformat für Datums- und Zeitwerte." -#: utils/misc/guc_tables.c:4101 +#: utils/misc/guc_tables.c:4107 msgid "Also controls interpretation of ambiguous date inputs." msgstr "Kontrolliert auch die Interpretation von zweideutigen Datumseingaben." -#: utils/misc/guc_tables.c:4112 +#: utils/misc/guc_tables.c:4118 msgid "Sets the default table access method for new tables." msgstr "Setzt die Standard-Tabellenzugriffsmethode für neue Tabellen." -#: utils/misc/guc_tables.c:4123 +#: utils/misc/guc_tables.c:4129 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:4124 +#: utils/misc/guc_tables.c:4130 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:4134 +#: utils/misc/guc_tables.c:4140 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:4145 +#: utils/misc/guc_tables.c:4151 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:4157 +#: utils/misc/guc_tables.c:4163 msgid "Sets the path for dynamically loadable modules." msgstr "Setzt den Pfad für ladbare dynamische Bibliotheken." -#: utils/misc/guc_tables.c:4158 +#: utils/misc/guc_tables.c:4164 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:4171 +#: utils/misc/guc_tables.c:4177 msgid "Sets the location of the Kerberos server key file." msgstr "Setzt den Ort der Kerberos-Server-Schlüsseldatei." -#: utils/misc/guc_tables.c:4182 +#: utils/misc/guc_tables.c:4188 msgid "Sets the Bonjour service name." msgstr "Setzt den Bonjour-Servicenamen." -#: utils/misc/guc_tables.c:4192 +#: utils/misc/guc_tables.c:4198 msgid "Sets the language in which messages are displayed." msgstr "Setzt die Sprache, in der Mitteilungen ausgegeben werden." -#: utils/misc/guc_tables.c:4202 +#: utils/misc/guc_tables.c:4208 msgid "Sets the locale for formatting monetary amounts." msgstr "Setzt die Locale für die Formatierung von Geldbeträgen." -#: utils/misc/guc_tables.c:4212 +#: utils/misc/guc_tables.c:4218 msgid "Sets the locale for formatting numbers." msgstr "Setzt die Locale für die Formatierung von Zahlen." -#: utils/misc/guc_tables.c:4222 +#: utils/misc/guc_tables.c:4228 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:4232 +#: utils/misc/guc_tables.c:4238 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:4243 +#: utils/misc/guc_tables.c:4249 msgid "Lists shared libraries to preload into server." msgstr "Listet dynamische Bibliotheken, die vorab in den Server geladen werden." -#: utils/misc/guc_tables.c:4254 +#: utils/misc/guc_tables.c:4260 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:4265 +#: utils/misc/guc_tables.c:4271 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:4277 +#: utils/misc/guc_tables.c:4283 msgid "Shows the server (database) character set encoding." msgstr "Zeigt die Zeichensatzkodierung des Servers (der Datenbank)." -#: utils/misc/guc_tables.c:4289 +#: utils/misc/guc_tables.c:4295 msgid "Shows the server version." msgstr "Zeigt die Serverversion." -#: utils/misc/guc_tables.c:4301 +#: utils/misc/guc_tables.c:4307 msgid "Sets the current role." msgstr "Setzt die aktuelle Rolle." -#: utils/misc/guc_tables.c:4313 +#: utils/misc/guc_tables.c:4319 msgid "Sets the session user name." msgstr "Setzt den Sitzungsbenutzernamen." -#: utils/misc/guc_tables.c:4324 +#: utils/misc/guc_tables.c:4330 msgid "Sets the destination for server log output." msgstr "Setzt das Ziel für die Serverlogausgabe." -#: utils/misc/guc_tables.c:4325 +#: utils/misc/guc_tables.c:4331 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:4336 +#: utils/misc/guc_tables.c:4342 msgid "Sets the destination directory for log files." msgstr "Bestimmt das Zielverzeichnis für Logdateien." -#: utils/misc/guc_tables.c:4337 +#: utils/misc/guc_tables.c:4343 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:4347 +#: utils/misc/guc_tables.c:4353 msgid "Sets the file name pattern for log files." msgstr "Bestimmt das Dateinamenmuster für Logdateien." -#: utils/misc/guc_tables.c:4358 +#: utils/misc/guc_tables.c:4364 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:4369 +#: utils/misc/guc_tables.c:4375 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:4380 +#: utils/misc/guc_tables.c:4386 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:4390 +#: utils/misc/guc_tables.c:4396 msgid "Selects a file of time zone abbreviations." msgstr "Wählt eine Datei mit Zeitzonenabkürzungen." -#: utils/misc/guc_tables.c:4400 +#: utils/misc/guc_tables.c:4406 msgid "Sets the owning group of the Unix-domain socket." msgstr "Setzt die Eigentümergruppe der Unix-Domain-Socket." -#: utils/misc/guc_tables.c:4401 +#: utils/misc/guc_tables.c:4407 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:4411 +#: utils/misc/guc_tables.c:4417 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:4422 +#: utils/misc/guc_tables.c:4428 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:4437 +#: utils/misc/guc_tables.c:4443 msgid "Sets the server's data directory." msgstr "Setzt das Datenverzeichnis des Servers." -#: utils/misc/guc_tables.c:4448 +#: utils/misc/guc_tables.c:4454 msgid "Sets the server's main configuration file." msgstr "Setzt die Hauptkonfigurationsdatei des Servers." -#: utils/misc/guc_tables.c:4459 +#: utils/misc/guc_tables.c:4465 msgid "Sets the server's \"hba\" configuration file." msgstr "Setzt die »hba«-Konfigurationsdatei des Servers." -#: utils/misc/guc_tables.c:4470 +#: utils/misc/guc_tables.c:4476 msgid "Sets the server's \"ident\" configuration file." msgstr "Setzt die »ident«-Konfigurationsdatei des Servers." -#: utils/misc/guc_tables.c:4481 +#: utils/misc/guc_tables.c:4487 msgid "Writes the postmaster PID to the specified file." msgstr "Schreibt die Postmaster-PID in die angegebene Datei." -#: utils/misc/guc_tables.c:4492 +#: utils/misc/guc_tables.c:4498 msgid "Shows the name of the SSL library." msgstr "Zeigt den Namen der SSL-Bibliothek." -#: utils/misc/guc_tables.c:4507 +#: utils/misc/guc_tables.c:4513 msgid "Location of the SSL server certificate file." msgstr "Ort der SSL-Serverzertifikatsdatei." -#: utils/misc/guc_tables.c:4517 +#: utils/misc/guc_tables.c:4523 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:4527 +#: utils/misc/guc_tables.c:4533 msgid "Location of the SSL certificate authority file." msgstr "Ort der SSL-Certificate-Authority-Datei." -#: utils/misc/guc_tables.c:4537 +#: utils/misc/guc_tables.c:4543 msgid "Location of the SSL certificate revocation list file." msgstr "Ort der SSL-Certificate-Revocation-List-Datei." -#: utils/misc/guc_tables.c:4547 +#: utils/misc/guc_tables.c:4553 msgid "Location of the SSL certificate revocation list directory." msgstr "Ort des SSL-Certificate-Revocation-List-Verzeichnisses." -#: utils/misc/guc_tables.c:4557 +#: utils/misc/guc_tables.c:4563 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:4568 +#: utils/misc/guc_tables.c:4574 msgid "Sets default text search configuration." msgstr "Setzt die vorgegebene Textsuchekonfiguration." -#: utils/misc/guc_tables.c:4578 +#: utils/misc/guc_tables.c:4584 msgid "Sets the list of allowed SSL ciphers." msgstr "Setzt die Liste der erlaubten SSL-Verschlüsselungsalgorithmen." -#: utils/misc/guc_tables.c:4593 +#: utils/misc/guc_tables.c:4599 msgid "Sets the curve to use for ECDH." msgstr "Setzt die für ECDH zu verwendende Kurve." -#: utils/misc/guc_tables.c:4608 +#: utils/misc/guc_tables.c:4614 msgid "Location of the SSL DH parameters file." msgstr "Setzt den Ort der SSL-DH-Parameter-Datei." -#: utils/misc/guc_tables.c:4619 +#: utils/misc/guc_tables.c:4625 msgid "Command to obtain passphrases for SSL." msgstr "Befehl zum Einlesen von Passphrasen für SSL." -#: utils/misc/guc_tables.c:4630 +#: utils/misc/guc_tables.c:4636 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:4641 +#: utils/misc/guc_tables.c:4647 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:4652 +#: utils/misc/guc_tables.c:4658 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:4653 +#: utils/misc/guc_tables.c:4659 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:4663 +#: utils/misc/guc_tables.c:4669 msgid "JIT provider to use." msgstr "Zu verwendender JIT-Provider." -#: utils/misc/guc_tables.c:4674 +#: utils/misc/guc_tables.c:4680 msgid "Log backtrace for errors in these functions." msgstr "Backtrace für Fehler in diesen Funktionen loggen." -#: utils/misc/guc_tables.c:4685 +#: utils/misc/guc_tables.c:4691 msgid "Use direct I/O for file access." msgstr "Direct-I/O für Dateizugriff verwenden." -#: utils/misc/guc_tables.c:4696 -msgid "Lists streaming replication standby server slot names that logical WAL sender processes will wait for." -msgstr "" +#: utils/misc/guc_tables.c:4702 +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:4698 -msgid "Logical WAL sender processes will send decoded changes to plugins only after the specified replication slots confirm receiving WAL." -msgstr "" +#: utils/misc/guc_tables.c:4704 +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:4719 +#: utils/misc/guc_tables.c:4716 +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 msgid "Sets whether \"\\'\" is allowed in string literals." msgstr "Bestimmt, ob »\\'« in Zeichenkettenkonstanten erlaubt ist." -#: utils/misc/guc_tables.c:4729 +#: utils/misc/guc_tables.c:4746 msgid "Sets the output format for bytea." msgstr "Setzt das Ausgabeformat für bytea." -#: utils/misc/guc_tables.c:4739 +#: utils/misc/guc_tables.c:4756 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:4740 utils/misc/guc_tables.c:4836 -#: utils/misc/guc_tables.c:4847 +#: utils/misc/guc_tables.c:4757 utils/misc/guc_tables.c:4853 +#: utils/misc/guc_tables.c:4864 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:4750 +#: utils/misc/guc_tables.c:4767 msgid "Enables in-core computation of query identifiers." msgstr "Schaltet die eingebaute Berechnung von Anfragebezeichnern ein." -#: utils/misc/guc_tables.c:4760 +#: utils/misc/guc_tables.c:4777 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:4761 +#: utils/misc/guc_tables.c:4778 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:4772 +#: utils/misc/guc_tables.c:4789 msgid "Sets the default compression method for compressible values." msgstr "Setzt die Standard-Komprimierungsmethode für komprimierbare Werte." -#: utils/misc/guc_tables.c:4783 +#: utils/misc/guc_tables.c:4800 msgid "Sets the transaction isolation level of each new transaction." msgstr "Setzt den Transaktionsisolationsgrad neuer Transaktionen." -#: utils/misc/guc_tables.c:4793 +#: utils/misc/guc_tables.c:4810 msgid "Sets the current transaction's isolation level." msgstr "Zeigt den Isolationsgrad der aktuellen Transaktion." -#: utils/misc/guc_tables.c:4804 +#: utils/misc/guc_tables.c:4821 msgid "Sets the display format for interval values." msgstr "Setzt das Ausgabeformat für Intervallwerte." -#: utils/misc/guc_tables.c:4815 +#: utils/misc/guc_tables.c:4832 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:4825 +#: utils/misc/guc_tables.c:4842 msgid "Sets the verbosity of logged messages." msgstr "Setzt den Detailgrad von geloggten Meldungen." -#: utils/misc/guc_tables.c:4835 +#: utils/misc/guc_tables.c:4852 msgid "Sets the message levels that are logged." msgstr "Setzt die Meldungstypen, die geloggt werden." -#: utils/misc/guc_tables.c:4846 +#: utils/misc/guc_tables.c:4863 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:4857 +#: utils/misc/guc_tables.c:4874 msgid "Sets the type of statements logged." msgstr "Setzt die Anweisungsarten, die geloggt werden." -#: utils/misc/guc_tables.c:4867 +#: utils/misc/guc_tables.c:4884 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:4878 +#: utils/misc/guc_tables.c:4895 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:4888 +#: utils/misc/guc_tables.c:4905 msgid "Sets the current transaction's synchronization level." msgstr "Setzt den Synchronisationsgrad der aktuellen Transaktion." -#: utils/misc/guc_tables.c:4898 +#: utils/misc/guc_tables.c:4915 msgid "Allows archiving of WAL files using \"archive_command\"." msgstr "Erlaubt die Archivierung von WAL-Dateien mittels »archive_command«." -#: utils/misc/guc_tables.c:4908 +#: utils/misc/guc_tables.c:4925 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:4918 +#: utils/misc/guc_tables.c:4935 msgid "Collects function-level statistics on database activity." msgstr "Sammelt Statistiken auf Funktionsebene über Datenbankaktivität." -#: utils/misc/guc_tables.c:4929 +#: utils/misc/guc_tables.c:4946 msgid "Sets the consistency of accesses to statistics data." msgstr "Setzt die Konsistenz von Zugriffen auf Statistikdaten." -#: utils/misc/guc_tables.c:4939 +#: utils/misc/guc_tables.c:4956 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:4949 +#: utils/misc/guc_tables.c:4966 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:4959 +#: utils/misc/guc_tables.c:4976 msgid "Selects the dynamic shared memory implementation used." msgstr "Wählt die zu verwendende Implementierung von dynamischem Shared Memory." -#: utils/misc/guc_tables.c:4969 +#: utils/misc/guc_tables.c:4986 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:4979 +#: utils/misc/guc_tables.c:4996 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:4989 +#: utils/misc/guc_tables.c:5006 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:4999 +#: utils/misc/guc_tables.c:5016 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:5010 +#: utils/misc/guc_tables.c:5027 msgid "Use of huge pages on Linux or Windows." msgstr "Huge Pages auf Linux oder Windows verwenden." -#: utils/misc/guc_tables.c:5020 +#: utils/misc/guc_tables.c:5037 msgid "Indicates the status of huge pages." -msgstr "" +msgstr "Zeigt den Status von Huge Pages an." -#: utils/misc/guc_tables.c:5031 +#: utils/misc/guc_tables.c:5048 msgid "Prefetch referenced blocks during recovery." msgstr "Während der Wiederherstellung Blöcke, auf die verwiesen wird, vorab einlesen." -#: utils/misc/guc_tables.c:5032 +#: utils/misc/guc_tables.c:5049 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:5041 +#: utils/misc/guc_tables.c:5058 msgid "Forces the planner's use parallel query nodes." msgstr "Erzwingt die Verwendung von Parallel-Query-Knoten im Planer." -#: utils/misc/guc_tables.c:5042 +#: utils/misc/guc_tables.c:5059 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:5054 +#: utils/misc/guc_tables.c:5071 msgid "Chooses the algorithm for encrypting passwords." msgstr "Wählt den Algorithmus zum Verschlüsseln von Passwörtern." -#: utils/misc/guc_tables.c:5064 +#: utils/misc/guc_tables.c:5081 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:5065 +#: utils/misc/guc_tables.c:5082 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:5077 +#: utils/misc/guc_tables.c:5094 msgid "Sets the minimum SSL/TLS protocol version to use." msgstr "Setzt die minimale zu verwendende SSL/TLS-Protokollversion." -#: utils/misc/guc_tables.c:5089 +#: utils/misc/guc_tables.c:5106 msgid "Sets the maximum SSL/TLS protocol version to use." msgstr "Setzt die maximale zu verwendende SSL/TLS-Protokollversion." -#: utils/misc/guc_tables.c:5101 +#: utils/misc/guc_tables.c:5118 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:5110 +#: utils/misc/guc_tables.c:5127 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:5111 +#: utils/misc/guc_tables.c:5128 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." @@ -31141,16 +30954,15 @@ msgstr "aktives Portal »%s« kann nicht gelöscht werden" msgid "cannot PREPARE a transaction that has created a cursor WITH HOLD" msgstr "PREPARE kann nicht in einer Transaktion ausgeführt werden, die einen Cursor mit WITH HOLD erzeugt hat" -#: utils/mmgr/portalmem.c:1229 +#: utils/mmgr/portalmem.c:1232 #, c-format msgid "cannot perform transaction commands inside a cursor loop that is not read-only" msgstr "in einer Cursor-Schleife, die nicht nur liest, können keine Transaktionsbefehle ausgeführt werden" #: utils/sort/logtape.c:266 utils/sort/logtape.c:287 -#, fuzzy, c-format -#| msgid "could not seek to block %ld of temporary file" +#, c-format msgid "could not seek to block %lld of temporary file" -msgstr "konnte Positionszeiger in temporärer Datei nicht auf Block %ld setzen" +msgstr "konnte Positionszeiger in temporärer Datei nicht auf Block %lld setzen" #: utils/sort/sharedtuplestore.c:466 #, c-format diff --git a/src/backend/po/es.po b/src/backend/po/es.po index 0d6dead79e0..d86bddf7b8a 100644 --- a/src/backend/po/es.po +++ b/src/backend/po/es.po @@ -12,6 +12,7 @@ # Glosario: # # character carácter +# checkpoint checkpoint # checksum suma de verificación # cluster (de la orden cluster) reordenar # command orden @@ -62,8 +63,8 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL server 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-05-22 07:10+0000\n" -"PO-Revision-Date: 2024-05-21 13:39+0200\n" +"POT-Creation-Date: 2024-08-05 02:41+0000\n" +"PO-Revision-Date: 2024-08-04 22:25-0400\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" "Language: es\n" @@ -73,6 +74,11 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: BlackCAT 1.1\n" +#: ../common/binaryheap.c:121 ../common/binaryheap.c:159 +#, c-format +msgid "out of binary heap slots" +msgstr "se acabaron los slots de “binary heap”" + #: ../common/compression.c:132 ../common/compression.c:141 #: ../common/compression.c:150 #, c-format @@ -99,8 +105,7 @@ msgid "value for compression option \"%s\" must be an integer" msgstr "el valor para la opción de compresión «%s» debe ser un entero" #: ../common/compression.c:331 -#, fuzzy, c-format -#| msgid "value for compression option \"%s\" must be a boolean" +#, c-format msgid "value for compression option \"%s\" must be a Boolean value" msgstr "el valor para la opción de compresión «%s» debe ser un booleano" @@ -131,64 +136,66 @@ msgstr "el algoritmo de compresión «%s» no acepta modo de larga distancia" msgid "not recorded" msgstr "no registrado" -#: ../common/controldata_utils.c:69 ../common/controldata_utils.c:73 -#: commands/copyfrom.c:1669 commands/extension.c:3456 utils/adt/genfile.c:123 +#: ../common/controldata_utils.c:93 ../common/controldata_utils.c:97 +#: commands/copyfrom.c:1737 commands/extension.c:3538 utils/adt/genfile.c:123 +#: utils/time/snapmgr.c:1430 #, 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:84 ../common/controldata_utils.c:86 +#: ../common/controldata_utils.c:108 ../common/controldata_utils.c:110 #: access/transam/timeline.c:143 access/transam/timeline.c:362 -#: access/transam/twophase.c:1346 access/transam/xlog.c:3193 -#: access/transam/xlog.c:3996 access/transam/xlogrecovery.c:1199 -#: access/transam/xlogrecovery.c:1291 access/transam/xlogrecovery.c:1328 -#: access/transam/xlogrecovery.c:1388 backup/basebackup.c:1842 -#: commands/extension.c:3466 libpq/hba.c:791 replication/logical/origin.c:745 -#: replication/logical/origin.c:781 replication/logical/reorderbuffer.c:5050 -#: replication/logical/snapbuild.c:2027 replication/slot.c:1946 -#: replication/slot.c:1987 replication/walsender.c:643 +#: access/transam/twophase.c:1369 access/transam/xlog.c:3476 +#: access/transam/xlog.c:4340 access/transam/xlogrecovery.c:1238 +#: access/transam/xlogrecovery.c:1336 access/transam/xlogrecovery.c:1373 +#: access/transam/xlogrecovery.c:1440 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:5084 +#: replication/logical/snapbuild.c:2052 replication/slot.c:2236 +#: replication/slot.c:2277 replication/walsender.c:655 #: storage/file/buffile.c:470 storage/file/copydir.c:185 -#: utils/adt/genfile.c:197 utils/adt/misc.c:984 utils/cache/relmapper.c:827 +#: utils/adt/genfile.c:197 utils/adt/misc.c:1028 utils/cache/relmapper.c:829 #, c-format msgid "could not read file \"%s\": %m" msgstr "no se pudo leer el archivo «%s»: %m" -#: ../common/controldata_utils.c:92 ../common/controldata_utils.c:95 -#: access/transam/xlog.c:3198 access/transam/xlog.c:4001 -#: backup/basebackup.c:1846 replication/logical/origin.c:750 -#: replication/logical/origin.c:789 replication/logical/snapbuild.c:2032 -#: replication/slot.c:1950 replication/slot.c:1991 replication/walsender.c:648 -#: utils/cache/relmapper.c:831 +#: ../common/controldata_utils.c:116 ../common/controldata_utils.c:119 +#: access/transam/xlog.c:3481 access/transam/xlog.c:4345 +#: 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 +#: utils/cache/relmapper.c:833 #, c-format msgid "could not read file \"%s\": read %d of %zu" msgstr "no se pudo leer el archivo «%s»: leídos %d de %zu" -#: ../common/controldata_utils.c:104 ../common/controldata_utils.c:108 -#: ../common/controldata_utils.c:233 ../common/controldata_utils.c:236 -#: access/heap/rewriteheap.c:1175 access/heap/rewriteheap.c:1280 +#: ../common/controldata_utils.c:128 ../common/controldata_utils.c:132 +#: ../common/controldata_utils.c:277 ../common/controldata_utils.c:280 +#: 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:1358 -#: access/transam/twophase.c:1770 access/transam/xlog.c:3039 -#: access/transam/xlog.c:3233 access/transam/xlog.c:3238 -#: access/transam/xlog.c:3374 access/transam/xlog.c:3966 -#: access/transam/xlog.c:4885 commands/copyfrom.c:1729 commands/copyto.c:332 +#: access/transam/timeline.c:512 access/transam/twophase.c:1381 +#: access/transam/twophase.c:1793 access/transam/xlog.c:3322 +#: access/transam/xlog.c:3516 access/transam/xlog.c:3521 +#: access/transam/xlog.c:3657 access/transam/xlog.c:4310 +#: access/transam/xlog.c:5245 commands/copyfrom.c:1797 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:5102 -#: replication/logical/snapbuild.c:1798 replication/logical/snapbuild.c:1922 -#: replication/slot.c:1837 replication/slot.c:1998 replication/walsender.c:658 -#: storage/file/copydir.c:208 storage/file/copydir.c:213 storage/file/fd.c:739 -#: storage/file/fd.c:3650 storage/file/fd.c:3756 utils/cache/relmapper.c:839 -#: utils/cache/relmapper.c:945 +#: replication/logical/reorderbuffer.c:5136 +#: 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 +#: utils/cache/relmapper.c:956 #, c-format msgid "could not close file \"%s\": %m" msgstr "no se pudo cerrar el archivo «%s»: %m" -#: ../common/controldata_utils.c:124 +#: ../common/controldata_utils.c:168 msgid "byte ordering mismatch" msgstr "discordancia en orden de bytes" -#: ../common/controldata_utils.c:126 +#: ../common/controldata_utils.c:170 #, c-format msgid "" "possible byte ordering mismatch\n" @@ -202,141 +209,157 @@ msgstr "" "serían erróneos, y la instalación de PostgreSQL sería incompatible con este\n" "directorio de datos." -#: ../common/controldata_utils.c:181 ../common/controldata_utils.c:186 -#: ../common/file_utils.c:228 ../common/file_utils.c:287 -#: ../common/file_utils.c:361 access/heap/rewriteheap.c:1263 -#: access/transam/timeline.c:111 access/transam/timeline.c:251 -#: access/transam/timeline.c:348 access/transam/twophase.c:1302 -#: access/transam/xlog.c:2946 access/transam/xlog.c:3109 -#: access/transam/xlog.c:3148 access/transam/xlog.c:3341 -#: access/transam/xlog.c:3986 access/transam/xlogrecovery.c:4179 -#: access/transam/xlogrecovery.c:4282 access/transam/xlogutils.c:838 -#: backup/basebackup.c:538 backup/basebackup.c:1512 libpq/hba.c:651 -#: postmaster/syslogger.c:1560 replication/logical/origin.c:735 -#: replication/logical/reorderbuffer.c:3706 -#: replication/logical/reorderbuffer.c:4257 -#: replication/logical/reorderbuffer.c:5030 -#: replication/logical/snapbuild.c:1753 replication/logical/snapbuild.c:1863 -#: replication/slot.c:1918 replication/walsender.c:616 -#: replication/walsender.c:2731 storage/file/copydir.c:151 -#: storage/file/fd.c:714 storage/file/fd.c:3407 storage/file/fd.c:3637 -#: storage/file/fd.c:3727 storage/smgr/md.c:660 utils/cache/relmapper.c:816 -#: utils/cache/relmapper.c:924 utils/error/elog.c:2082 -#: utils/init/miscinit.c:1530 utils/init/miscinit.c:1664 -#: utils/init/miscinit.c:1741 utils/misc/guc.c:4600 utils/misc/guc.c:4650 +#: ../common/controldata_utils.c:225 ../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 +#: access/heap/rewriteheap.c:1229 access/transam/timeline.c:111 +#: access/transam/timeline.c:251 access/transam/timeline.c:348 +#: access/transam/twophase.c:1325 access/transam/xlog.c:3229 +#: access/transam/xlog.c:3392 access/transam/xlog.c:3431 +#: access/transam/xlog.c:3624 access/transam/xlog.c:4330 +#: access/transam/xlogrecovery.c:4263 access/transam/xlogrecovery.c:4366 +#: 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:3737 +#: replication/logical/reorderbuffer.c:4291 +#: replication/logical/reorderbuffer.c:5064 +#: 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 +#: utils/cache/relmapper.c:935 utils/error/elog.c:2107 +#: utils/init/miscinit.c:1526 utils/init/miscinit.c:1660 +#: utils/init/miscinit.c:1737 utils/misc/guc.c:4727 utils/misc/guc.c:4777 #, c-format msgid "could not open file \"%s\": %m" msgstr "no se pudo abrir el archivo «%s»: %m" -#: ../common/controldata_utils.c:202 ../common/controldata_utils.c:205 -#: access/transam/twophase.c:1743 access/transam/twophase.c:1752 -#: access/transam/xlog.c:8751 access/transam/xlogfuncs.c:708 -#: backup/basebackup_server.c:175 backup/basebackup_server.c:268 -#: postmaster/postmaster.c:5570 postmaster/syslogger.c:1571 -#: postmaster/syslogger.c:1584 postmaster/syslogger.c:1597 -#: utils/cache/relmapper.c:936 +#: ../common/controldata_utils.c:246 ../common/controldata_utils.c:249 +#: access/transam/twophase.c:1766 access/transam/twophase.c:1775 +#: access/transam/xlog.c:9255 access/transam/xlogfuncs.c:698 +#: backup/basebackup_server.c:173 backup/basebackup_server.c:266 +#: backup/walsummary.c:304 postmaster/postmaster.c:4125 +#: postmaster/syslogger.c:1522 postmaster/syslogger.c:1535 +#: postmaster/syslogger.c:1548 utils/cache/relmapper.c:947 #, c-format msgid "could not write file \"%s\": %m" msgstr "no se pudo escribir el archivo «%s»: %m" -#: ../common/controldata_utils.c:219 ../common/controldata_utils.c:224 -#: ../common/file_utils.c:299 ../common/file_utils.c:369 -#: access/heap/rewriteheap.c:959 access/heap/rewriteheap.c:1169 -#: access/heap/rewriteheap.c:1274 access/transam/timeline.c:432 -#: access/transam/timeline.c:506 access/transam/twophase.c:1764 -#: access/transam/xlog.c:3032 access/transam/xlog.c:3227 -#: access/transam/xlog.c:3959 access/transam/xlog.c:8141 -#: access/transam/xlog.c:8186 backup/basebackup_server.c:209 -#: replication/logical/snapbuild.c:1791 replication/slot.c:1823 -#: replication/slot.c:1928 storage/file/fd.c:731 storage/file/fd.c:3748 -#: storage/smgr/md.c:1132 storage/smgr/md.c:1177 storage/sync/sync.c:453 -#: utils/misc/guc.c:4370 +#: ../common/controldata_utils.c:263 ../common/controldata_utils.c:268 +#: ../common/file_utils.c:418 ../common/file_utils.c:488 +#: 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:1787 +#: access/transam/xlog.c:3315 access/transam/xlog.c:3510 +#: access/transam/xlog.c:4303 access/transam/xlog.c:8630 +#: access/transam/xlog.c:8675 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:1329 storage/smgr/md.c:1374 +#: storage/sync/sync.c:446 utils/misc/guc.c:4480 #, c-format msgid "could not fsync file \"%s\": %m" msgstr "no se pudo sincronizar (fsync) archivo «%s»: %m" -#: ../common/cryptohash.c:261 ../common/cryptohash_openssl.c:133 -#: ../common/cryptohash_openssl.c:332 ../common/exec.c:550 ../common/exec.c:595 -#: ../common/exec.c:687 ../common/hmac.c:309 ../common/hmac.c:325 -#: ../common/hmac_openssl.c:132 ../common/hmac_openssl.c:327 -#: ../common/md5_common.c:155 ../common/psprintf.c:143 -#: ../common/scram-common.c:258 ../common/stringinfo.c:305 ../port/path.c:751 -#: ../port/path.c:789 ../port/path.c:806 access/transam/twophase.c:1411 -#: access/transam/xlogrecovery.c:589 lib/dshash.c:253 libpq/auth.c:1345 -#: libpq/auth.c:1389 libpq/auth.c:1946 libpq/be-secure-gssapi.c:524 -#: postmaster/bgworker.c:352 postmaster/bgworker.c:934 -#: postmaster/postmaster.c:2534 postmaster/postmaster.c:4127 -#: postmaster/postmaster.c:5495 postmaster/postmaster.c:5866 -#: replication/libpqwalreceiver/libpqwalreceiver.c:308 -#: replication/logical/logical.c:208 replication/walsender.c:686 -#: storage/buffer/localbuf.c:601 storage/file/fd.c:823 storage/file/fd.c:1354 -#: storage/file/fd.c:1515 storage/file/fd.c:2428 storage/ipc/procarray.c:1449 -#: storage/ipc/procarray.c:2232 storage/ipc/procarray.c:2239 -#: storage/ipc/procarray.c:2738 storage/ipc/procarray.c:3374 -#: utils/adt/formatting.c:1690 utils/adt/formatting.c:1812 -#: utils/adt/formatting.c:1935 utils/adt/pg_locale.c:469 -#: utils/adt/pg_locale.c:633 utils/fmgr/dfmgr.c:229 utils/hash/dynahash.c:514 -#: utils/hash/dynahash.c:614 utils/hash/dynahash.c:1111 utils/mb/mbutils.c:402 -#: utils/mb/mbutils.c:430 utils/mb/mbutils.c:815 utils/mb/mbutils.c:842 -#: utils/misc/guc.c:640 utils/misc/guc.c:665 utils/misc/guc.c:1053 -#: utils/misc/guc.c:4348 utils/misc/tzparser.c:476 utils/mmgr/aset.c:445 -#: utils/mmgr/dsa.c:713 utils/mmgr/dsa.c:735 utils/mmgr/dsa.c:816 -#: utils/mmgr/generation.c:205 utils/mmgr/mcxt.c:1046 utils/mmgr/mcxt.c:1082 -#: utils/mmgr/mcxt.c:1120 utils/mmgr/mcxt.c:1158 utils/mmgr/mcxt.c:1246 -#: utils/mmgr/mcxt.c:1277 utils/mmgr/mcxt.c:1313 utils/mmgr/mcxt.c:1502 -#: utils/mmgr/mcxt.c:1547 utils/mmgr/mcxt.c:1604 utils/mmgr/slab.c:366 +#: ../common/cryptohash.c:261 ../common/cryptohash_openssl.c:158 +#: ../common/cryptohash_openssl.c:356 ../common/exec.c:562 ../common/exec.c:607 +#: ../common/exec.c:699 ../common/hmac.c:309 ../common/hmac.c:325 +#: ../common/hmac_openssl.c:160 ../common/hmac_openssl.c:357 +#: ../common/md5_common.c:156 ../common/parse_manifest.c:157 +#: ../common/parse_manifest.c:853 ../common/psprintf.c:143 +#: ../common/scram-common.c:269 ../common/stringinfo.c:314 ../port/path.c:751 +#: ../port/path.c:788 ../port/path.c:805 access/transam/twophase.c:1434 +#: 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:3559 postmaster/postmaster.c:4019 +#: postmaster/postmaster.c:4381 postmaster/walsummarizer.c:933 +#: 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 +#: 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:509 +#: utils/adt/pg_locale.c:673 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:4458 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 #, c-format msgid "out of memory" msgstr "memoria agotada" #: ../common/cryptohash.c:266 ../common/cryptohash.c:272 -#: ../common/cryptohash_openssl.c:344 ../common/cryptohash_openssl.c:352 -#: ../common/hmac.c:321 ../common/hmac.c:329 ../common/hmac_openssl.c:339 -#: ../common/hmac_openssl.c:347 +#: ../common/cryptohash_openssl.c:368 ../common/cryptohash_openssl.c:376 +#: ../common/hmac.c:321 ../common/hmac.c:329 ../common/hmac_openssl.c:369 +#: ../common/hmac_openssl.c:377 msgid "success" msgstr "éxito" -#: ../common/cryptohash.c:268 ../common/cryptohash_openssl.c:346 -#: ../common/hmac_openssl.c:341 +#: ../common/cryptohash.c:268 ../common/cryptohash_openssl.c:370 +#: ../common/hmac_openssl.c:371 msgid "destination buffer too small" msgstr "el búfer de destino es demasiado pequeño" -#: ../common/cryptohash_openssl.c:348 ../common/hmac_openssl.c:343 +#: ../common/cryptohash_openssl.c:372 ../common/hmac_openssl.c:373 msgid "OpenSSL failure" msgstr "falla de openSSL" -#: ../common/exec.c:172 +#: ../common/exec.c:174 #, c-format msgid "invalid binary \"%s\": %m" msgstr "binario «%s» no válido: %m" -#: ../common/exec.c:215 +#: ../common/exec.c:217 #, c-format msgid "could not read binary \"%s\": %m" msgstr "no se pudo leer el binario «%s»: %m" -#: ../common/exec.c:223 +#: ../common/exec.c:225 #, c-format msgid "could not find a \"%s\" to execute" msgstr "no se pudo encontrar un «%s» para ejecutar" -#: ../common/exec.c:250 +#: ../common/exec.c:252 #, c-format msgid "could not resolve path \"%s\" to absolute form: %m" msgstr "no se pudo resolver la ruta «%s» a forma absoluta: %m" -#: ../common/exec.c:412 libpq/pqcomm.c:728 storage/ipc/latch.c:1128 -#: storage/ipc/latch.c:1308 storage/ipc/latch.c:1541 storage/ipc/latch.c:1703 -#: storage/ipc/latch.c:1829 +#: ../common/exec.c:382 commands/collationcmds.c:876 commands/copyfrom.c:1721 +#: commands/copyto.c:649 libpq/be-secure-common.c:59 +#, c-format +msgid "could not execute command \"%s\": %m" +msgstr "no se pudo ejecutar la orden «%s»: %m" + +#: ../common/exec.c:394 libpq/be-secure-common.c:71 +#, c-format +msgid "could not read from command \"%s\": %m" +msgstr "no se pudo leer desde la orden «%s»: %m" + +#: ../common/exec.c:397 +#, c-format +msgid "no data was returned by command \"%s\"" +msgstr "la orden «%s» no retornó datos" + +#: ../common/exec.c:424 libpq/pqcomm.c:192 storage/ipc/latch.c:1169 +#: storage/ipc/latch.c:1349 storage/ipc/latch.c:1582 storage/ipc/latch.c:1744 +#: storage/ipc/latch.c:1870 #, c-format msgid "%s() failed: %m" msgstr "%s() falló: %m" #: ../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:753 ../port/path.c:791 -#: ../port/path.c:808 utils/misc/ps_status.c:168 utils/misc/ps_status.c:176 -#: utils/misc/ps_status.c:203 utils/misc/ps_status.c:211 +#: ../common/psprintf.c:145 ../port/path.c:753 ../port/path.c:790 +#: ../port/path.c:807 utils/misc/ps_status.c:193 utils/misc/ps_status.c:201 +#: utils/misc/ps_status.c:228 utils/misc/ps_status.c:236 #, c-format msgid "out of memory\n" msgstr "memoria agotada\n" @@ -346,39 +369,51 @@ msgstr "memoria agotada\n" msgid "cannot duplicate null pointer (internal error)\n" msgstr "no se puede duplicar un puntero nulo (error interno)\n" -#: ../common/file_utils.c:87 ../common/file_utils.c:447 -#: ../common/file_utils.c:451 access/transam/twophase.c:1314 -#: access/transam/xlogarchive.c:112 access/transam/xlogarchive.c:229 -#: backup/basebackup.c:346 backup/basebackup.c:544 backup/basebackup.c:615 -#: commands/copyfrom.c:1679 commands/copyto.c:702 commands/extension.c:3445 -#: commands/tablespace.c:810 commands/tablespace.c:899 postmaster/pgarch.c:590 -#: replication/logical/snapbuild.c:1649 storage/file/fd.c:1879 -#: storage/file/fd.c:1965 storage/file/fd.c:3461 utils/adt/dbsize.c:106 -#: utils/adt/dbsize.c:258 utils/adt/dbsize.c:338 utils/adt/genfile.c:483 -#: utils/adt/genfile.c:658 utils/adt/misc.c:340 +#: ../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" + +#: ../common/file_utils.c:120 ../common/file_utils.c:566 +#: ../common/file_utils.c:570 access/transam/twophase.c:1337 +#: 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:1747 +#: commands/copyto.c:695 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 +#: 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 msgid "could not stat file \"%s\": %m" msgstr "no se pudo hacer stat al archivo «%s»: %m" -#: ../common/file_utils.c:162 ../common/pgfnames.c:48 ../common/rmtree.c:63 -#: commands/tablespace.c:734 commands/tablespace.c:744 -#: postmaster/postmaster.c:1561 storage/file/fd.c:2830 -#: storage/file/reinit.c:126 utils/adt/misc.c:256 utils/misc/tzparser.c:338 +#: ../common/file_utils.c:130 ../common/file_utils.c:227 +#, c-format +msgid "this build does not support sync method \"%s\"" +msgstr "esta instalación no soporta el método de sync «%s»" + +#: ../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:1468 +#: 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:196 ../common/pgfnames.c:69 ../common/rmtree.c:104 -#: storage/file/fd.c:2842 +#: ../common/file_utils.c:169 ../common/file_utils.c:315 +#: ../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" -#: ../common/file_utils.c:379 access/transam/xlogarchive.c:383 -#: postmaster/pgarch.c:746 postmaster/syslogger.c:1608 -#: replication/logical/snapbuild.c:1810 replication/slot.c:723 -#: replication/slot.c:1709 replication/slot.c:1851 storage/file/fd.c:749 -#: utils/time/snapmgr.c:1284 +#: ../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 +#: utils/time/snapmgr.c:1255 #, c-format msgid "could not rename file \"%s\" to \"%s\": %m" msgstr "no se pudo renombrar el archivo de «%s» a «%s»: %m" @@ -387,90 +422,102 @@ msgstr "no se pudo renombrar el archivo de «%s» a «%s»: %m" msgid "internal error" msgstr "error interno" -#: ../common/jsonapi.c:1144 +#: ../common/jsonapi.c:2121 +msgid "Recursive descent parser cannot use incremental lexer." +msgstr "El parser recursivo descendiente no puede usar el lexer incremental." + +#: ../common/jsonapi.c:2123 +msgid "Incremental parser requires incremental lexer." +msgstr "El parser incremental requiere el lexer incremental." + +#: ../common/jsonapi.c:2125 +msgid "JSON nested too deep, maximum permitted depth is 6400." +msgstr "JSON anidado demasiado profundamente, profundidad máxima es 6400." + +#: ../common/jsonapi.c:2127 #, c-format -msgid "Escape sequence \"\\%s\" is invalid." -msgstr "La secuencia de escape «%s» no es válida." +msgid "Escape sequence \"\\%.*s\" is invalid." +msgstr "La secuencia de escape «\\%.*s» no es válida." -#: ../common/jsonapi.c:1147 +#: ../common/jsonapi.c:2131 #, c-format msgid "Character with value 0x%02x must be escaped." msgstr "Los caracteres con valor 0x%02x deben ser escapados." -#: ../common/jsonapi.c:1150 +#: ../common/jsonapi.c:2135 #, c-format -msgid "Expected end of input, but found \"%s\"." -msgstr "Se esperaba el fin de la entrada, se encontró «%s»." +msgid "Expected end of input, but found \"%.*s\"." +msgstr "Se esperaba el fin de la entrada, se encontró «%.*s»." -#: ../common/jsonapi.c:1153 +#: ../common/jsonapi.c:2138 #, c-format -msgid "Expected array element or \"]\", but found \"%s\"." -msgstr "Se esperaba un elemento de array o «]», se encontró «%s»." +msgid "Expected array element or \"]\", but found \"%.*s\"." +msgstr "Se esperaba un elemento de array o «]», se encontró «%.*s»." -#: ../common/jsonapi.c:1156 +#: ../common/jsonapi.c:2141 #, c-format -msgid "Expected \",\" or \"]\", but found \"%s\"." -msgstr "Se esperaba «,» o «]», se encontró «%s»." +msgid "Expected \",\" or \"]\", but found \"%.*s\"." +msgstr "Se esperaba «,» o «]», se encontró «%.*s»." -#: ../common/jsonapi.c:1159 +#: ../common/jsonapi.c:2144 #, c-format -msgid "Expected \":\", but found \"%s\"." -msgstr "Se esperaba «:», se encontró «%s»." +msgid "Expected \":\", but found \"%.*s\"." +msgstr "Se esperaba «:», se encontró «%.*s»." -#: ../common/jsonapi.c:1162 +#: ../common/jsonapi.c:2147 #, c-format -msgid "Expected JSON value, but found \"%s\"." -msgstr "Se esperaba un valor JSON, se encontró «%s»." +msgid "Expected JSON value, but found \"%.*s\"." +msgstr "Se esperaba un valor JSON, se encontró «%.*s»." -#: ../common/jsonapi.c:1165 +#: ../common/jsonapi.c:2150 msgid "The input string ended unexpectedly." msgstr "La cadena de entrada terminó inesperadamente." -#: ../common/jsonapi.c:1167 +#: ../common/jsonapi.c:2152 #, c-format -msgid "Expected string or \"}\", but found \"%s\"." -msgstr "Se esperaba una cadena o «}», se encontró «%s»." +msgid "Expected string or \"}\", but found \"%.*s\"." +msgstr "Se esperaba una cadena o «}», se encontró «%.*s»." -#: ../common/jsonapi.c:1170 +#: ../common/jsonapi.c:2155 #, c-format -msgid "Expected \",\" or \"}\", but found \"%s\"." -msgstr "Se esperaba «,» o «}», se encontró «%s»." +msgid "Expected \",\" or \"}\", but found \"%.*s\"." +msgstr "Se esperaba «,» o «}», se encontró «%.*s»." -#: ../common/jsonapi.c:1173 +#: ../common/jsonapi.c:2158 #, c-format -msgid "Expected string, but found \"%s\"." -msgstr "Se esperaba una cadena, se encontró «%s»." +msgid "Expected string, but found \"%.*s\"." +msgstr "Se esperaba una cadena, se encontró «%.*s»." -#: ../common/jsonapi.c:1176 +#: ../common/jsonapi.c:2161 #, c-format -msgid "Token \"%s\" is invalid." -msgstr "El elemento «%s» no es válido." +msgid "Token \"%.*s\" is invalid." +msgstr "El elemento «%.*s» no es válido." -#: ../common/jsonapi.c:1179 jsonpath_scan.l:597 +#: ../common/jsonapi.c:2164 jsonpath_scan.l:608 #, c-format msgid "\\u0000 cannot be converted to text." msgstr "\\u0000 no puede ser convertido a text." -#: ../common/jsonapi.c:1181 +#: ../common/jsonapi.c:2166 msgid "\"\\u\" must be followed by four hexadecimal digits." msgstr "«\\u» debe ser seguido por cuatro dígitos hexadecimales." -#: ../common/jsonapi.c:1184 +#: ../common/jsonapi.c:2169 msgid "Unicode escape values cannot be used for code point values above 007F when the encoding is not UTF8." msgstr "Los valores de escape Unicode no se pueden utilizar para valores de código superiores a 007F cuando la codificación no es UTF8." -#: ../common/jsonapi.c:1187 +#: ../common/jsonapi.c:2178 #, c-format msgid "Unicode escape value could not be translated to the server's encoding %s." msgstr "El valor de escape Unicode no pudo ser traducido a la codificación del servidor %s." -#: ../common/jsonapi.c:1190 jsonpath_scan.l:630 +#: ../common/jsonapi.c:2185 jsonpath_scan.l:641 #, c-format msgid "Unicode high surrogate must not follow a high surrogate." msgstr "Un «high-surrogate» Unicode no puede venir después de un «high-surrogate»." -#: ../common/jsonapi.c:1192 jsonpath_scan.l:641 jsonpath_scan.l:651 -#: jsonpath_scan.l:702 +#: ../common/jsonapi.c:2187 jsonpath_scan.l:652 jsonpath_scan.l:662 +#: jsonpath_scan.l:713 #, c-format msgid "Unicode low surrogate must follow a high surrogate." msgstr "Un «low-surrogate» Unicode debe seguir a un «high-surrogate»." @@ -495,11 +542,168 @@ msgstr "detalle: " msgid "hint: " msgstr "consejo: " +#: ../common/parse_manifest.c:159 ../common/parse_manifest.c:855 +#, c-format +msgid "could not initialize checksum of manifest" +msgstr "no se pudo inicializar la suma de verificación del manifiesto" + +#: ../common/parse_manifest.c:204 ../common/parse_manifest.c:261 +msgid "manifest ended unexpectedly" +msgstr "el manifiesto terminó inesperadamente" + +#: ../common/parse_manifest.c:210 ../common/parse_manifest.c:862 +#, c-format +msgid "could not update checksum of manifest" +msgstr "no se pudo actualizar la suma de verificación del manifiesto" + +#: ../common/parse_manifest.c:302 +msgid "unexpected object start" +msgstr "inicio de objeto inesperado" + +#: ../common/parse_manifest.c:337 +msgid "unexpected object end" +msgstr "fin de objeto inesperado" + +#: ../common/parse_manifest.c:366 +msgid "unexpected array start" +msgstr "inicio de array inesperado" + +#: ../common/parse_manifest.c:391 +msgid "unexpected array end" +msgstr "fin de array inesperado" + +#: ../common/parse_manifest.c:418 +msgid "expected version indicator" +msgstr "se esperaba indicador de versión" + +#: ../common/parse_manifest.c:454 +msgid "unrecognized top-level field" +msgstr "campo de nivel superior no reconocido" + +#: ../common/parse_manifest.c:473 +msgid "unexpected file field" +msgstr "campo de archivo inesperado" + +#: ../common/parse_manifest.c:487 +msgid "unexpected WAL range field" +msgstr "campo de rango de WAL inesperado" + +#: ../common/parse_manifest.c:493 +msgid "unexpected object field" +msgstr "campo de objeto inesperado" + +#: ../common/parse_manifest.c:583 +msgid "unexpected scalar" +msgstr "escalar inesperado" + +#: ../common/parse_manifest.c:609 +msgid "manifest version not an integer" +msgstr "la versión de manifiesto no es un número entero" + +#: ../common/parse_manifest.c:613 +msgid "unexpected manifest version" +msgstr "versión de manifiesto inesperada" + +#: ../common/parse_manifest.c:637 +msgid "manifest system identifier not an integer" +msgstr "el identificador de sistema del manifiesto no es un número entero" + +#: ../common/parse_manifest.c:662 +msgid "missing path name" +msgstr "ruta de archivo faltante" + +#: ../common/parse_manifest.c:665 +msgid "both path name and encoded path name" +msgstr "hay ambos ruta de archivo (path name) y ruta codificada (encoded path name)" + +#: ../common/parse_manifest.c:667 +msgid "missing size" +msgstr "tamaño faltante" + +#: ../common/parse_manifest.c:670 +msgid "checksum without algorithm" +msgstr "suma de comprobación sin algoritmo" + +#: ../common/parse_manifest.c:684 +msgid "could not decode file name" +msgstr "no se pudo decodificar el nombre del archivo" + +#: ../common/parse_manifest.c:694 +msgid "file size is not an integer" +msgstr "el tamaño del archivo no es un número entero" + +#: ../common/parse_manifest.c:700 backup/basebackup.c:870 +#, c-format +msgid "unrecognized checksum algorithm: \"%s\"" +msgstr "algoritmo de suma de comprobación no reconocido: \"%s\"" + +#: ../common/parse_manifest.c:719 +#, c-format +msgid "invalid checksum for file \"%s\": \"%s\"" +msgstr "suma de comprobación no válida para el archivo \"%s\": \"%s\"" + +#: ../common/parse_manifest.c:762 +msgid "missing timeline" +msgstr "falta el timeline" + +#: ../common/parse_manifest.c:764 +msgid "missing start LSN" +msgstr "falta el LSN de inicio" + +#: ../common/parse_manifest.c:766 +msgid "missing end LSN" +msgstr "falta el LSN de término" + +#: ../common/parse_manifest.c:772 +msgid "timeline is not an integer" +msgstr "el timeline no es un número entero" + +#: ../common/parse_manifest.c:775 +msgid "could not parse start LSN" +msgstr "no se pudo interpretar el LSN de inicio" + +#: ../common/parse_manifest.c:778 +msgid "could not parse end LSN" +msgstr "no se pudo interpretar el LSN de término" + +#: ../common/parse_manifest.c:843 +msgid "expected at least 2 lines" +msgstr "esperado al menos 2 líneas" + +#: ../common/parse_manifest.c:846 +msgid "last line not newline-terminated" +msgstr "última línea no termina en nueva línea" + +#: ../common/parse_manifest.c:865 +#, c-format +msgid "could not finalize checksum of manifest" +msgstr "no se pudo finalizar la suma de verificación del manifiesto" + +#: ../common/parse_manifest.c:869 +#, c-format +msgid "manifest has no checksum" +msgstr "el manifiesto no tiene suma de comprobación" + +#: ../common/parse_manifest.c:873 +#, c-format +msgid "invalid manifest checksum: \"%s\"" +msgstr "suma de comprobación de manifiesto no válida: \"%s\"" + +#: ../common/parse_manifest.c:877 +#, c-format +msgid "manifest checksum mismatch" +msgstr "discordancia en la suma de comprobación del manifiesto" + +#: ../common/parse_manifest.c:892 +#, c-format +msgid "could not parse backup manifest: %s" +msgstr "no se pudo analizar el manifiesto de la copia de seguridad: %s" + #: ../common/percentrepl.c:79 ../common/percentrepl.c:85 #: ../common/percentrepl.c:118 ../common/percentrepl.c:124 -#: postmaster/postmaster.c:2208 utils/misc/guc.c:3118 utils/misc/guc.c:3154 -#: utils/misc/guc.c:3224 utils/misc/guc.c:4547 utils/misc/guc.c:6721 -#: utils/misc/guc.c:6762 +#: tcop/backend_startup.c:741 utils/misc/guc.c:3167 utils/misc/guc.c:3208 +#: utils/misc/guc.c:3283 utils/misc/guc.c:4662 utils/misc/guc.c:6887 +#: utils/misc/guc.c:6928 #, c-format msgid "invalid value for parameter \"%s\": \"%s\"" msgstr "valor no válido para el parámetro «%s»: «%s»" @@ -510,10 +714,9 @@ msgid "String ends unexpectedly after escape character \"%%\"." msgstr "La cadena termina inesperadamente luego del carácter de escape: «%%»" #: ../common/percentrepl.c:119 ../common/percentrepl.c:125 -#, fuzzy, c-format -#| msgid "String contains unexpected escape sequence \"%c\"." +#, c-format msgid "String contains unexpected placeholder \"%%%c\"." -msgstr "La cadena contiene la secuencia de escape inesperada «%c»." +msgstr "La cadena contiene la secuencia de reemplazo inesperada «%c»." #: ../common/pgfnames.c:74 #, c-format @@ -560,45 +763,45 @@ msgstr "no se pudo re-ejecutar con el token restringido: código de error %lu" msgid "could not get exit code from subprocess: error code %lu" msgstr "no se pudo obtener el código de salida del subproceso»: código de error %lu" -#: ../common/rmtree.c:95 access/heap/rewriteheap.c:1248 -#: access/transam/twophase.c:1703 access/transam/xlogarchive.c:120 -#: access/transam/xlogarchive.c:393 postmaster/postmaster.c:1143 -#: postmaster/syslogger.c:1537 replication/logical/origin.c:591 -#: replication/logical/reorderbuffer.c:4526 -#: replication/logical/snapbuild.c:1691 replication/logical/snapbuild.c:2121 -#: replication/slot.c:1902 storage/file/fd.c:789 storage/file/fd.c:3275 -#: storage/file/fd.c:3337 storage/file/reinit.c:262 storage/ipc/dsm.c:316 -#: storage/smgr/md.c:380 storage/smgr/md.c:439 storage/sync/sync.c:250 -#: utils/time/snapmgr.c:1608 +#: ../common/rmtree.c:97 access/heap/rewriteheap.c:1214 +#: access/transam/twophase.c:1726 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:4560 +#: 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 +#: storage/smgr/md.c:381 storage/smgr/md.c:440 storage/sync/sync.c:243 +#: utils/time/snapmgr.c:1591 #, c-format msgid "could not remove file \"%s\": %m" msgstr "no se pudo eliminar el archivo «%s»: %m" -#: ../common/rmtree.c:122 commands/tablespace.c:773 commands/tablespace.c:786 -#: commands/tablespace.c:821 commands/tablespace.c:911 storage/file/fd.c:3267 -#: storage/file/fd.c:3676 +#: ../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 #, c-format msgid "could not remove directory \"%s\": %m" msgstr "no se pudo eliminar el directorio «%s»: %m" -#: ../common/scram-common.c:271 +#: ../common/scram-common.c:282 msgid "could not encode salt" msgstr "no se pudo codificar la sal" -#: ../common/scram-common.c:287 +#: ../common/scram-common.c:298 msgid "could not encode stored key" msgstr "no se pudo codificar la llave almacenada" -#: ../common/scram-common.c:304 +#: ../common/scram-common.c:315 msgid "could not encode server key" msgstr "no se pudo codificar la llave del servidor" -#: ../common/stringinfo.c:306 +#: ../common/stringinfo.c:315 #, c-format msgid "Cannot enlarge string buffer containing %d bytes by %d more bytes." msgstr "No se puede agrandar el búfer de cadena que ya tiene %d bytes en %d bytes adicionales." -#: ../common/stringinfo.c:310 +#: ../common/stringinfo.c:319 #, c-format msgid "" "out of memory\n" @@ -614,7 +817,7 @@ msgstr "" msgid "could not look up effective user ID %ld: %s" msgstr "no se pudo encontrar el ID de usuario efectivo %ld: %s" -#: ../common/username.c:45 libpq/auth.c:1881 +#: ../common/username.c:45 libpq/auth.c:1888 msgid "user does not exist" msgstr "usuario no existe" @@ -708,20 +911,20 @@ msgstr "Es posible que tenga antivirus, sistema de respaldos, o software similar #: ../port/path.c:775 #, c-format -msgid "could not get current working directory: %s\n" -msgstr "no se pudo obtener el directorio de trabajo actual: %s\n" +msgid "could not get current working directory: %m\n" +msgstr "no se pudo obtener el directorio de trabajo actual: %m\n" #: ../port/strerror.c:72 #, c-format msgid "operating system error %d" msgstr "error %d de sistema operativo" -#: ../port/thread.c:50 ../port/thread.c:86 +#: ../port/user.c:43 ../port/user.c:79 #, c-format msgid "could not look up local user ID %d: %s" msgstr "no se pudo buscar el usuario local de ID %d: %s" -#: ../port/thread.c:55 ../port/thread.c:91 +#: ../port/user.c:48 ../port/user.c:84 #, c-format msgid "local user with ID %d does not exist" msgstr "no existe un usuario local con ID %d" @@ -741,115 +944,104 @@ msgstr "no se pudo obtener el SID del grupo PowerUsers: código de error %lu\n" msgid "could not check access token membership: error code %lu\n" msgstr "no se pudo verificar el token de proceso: código de error %lu\n" -#: access/brin/brin.c:216 +#: access/brin/brin.c:405 #, c-format msgid "request for BRIN range summarization for index \"%s\" page %u was not recorded" msgstr "petición para sumarización BRIN de rango para el índice «%s» página %u no fue registrada" -#: access/brin/brin.c:1036 access/brin/brin.c:1137 access/gin/ginfast.c:1035 -#: access/transam/xlogfuncs.c:189 access/transam/xlogfuncs.c:214 -#: access/transam/xlogfuncs.c:247 access/transam/xlogfuncs.c:286 -#: access/transam/xlogfuncs.c:307 access/transam/xlogfuncs.c:328 -#: access/transam/xlogfuncs.c:398 access/transam/xlogfuncs.c:456 +#: access/brin/brin.c:1385 access/brin/brin.c:1493 access/gin/ginfast.c:1040 +#: access/transam/xlogfuncs.c:183 access/transam/xlogfuncs.c:208 +#: access/transam/xlogfuncs.c:241 access/transam/xlogfuncs.c:280 +#: access/transam/xlogfuncs.c:301 access/transam/xlogfuncs.c:322 +#: access/transam/xlogfuncs.c:388 access/transam/xlogfuncs.c:446 #, c-format msgid "recovery is in progress" msgstr "la recuperación está en proceso" -#: access/brin/brin.c:1037 access/brin/brin.c:1138 +#: access/brin/brin.c:1386 access/brin/brin.c:1494 #, c-format msgid "BRIN control functions cannot be executed during recovery." msgstr "Las funciones de control de BRIN no pueden ejecutarse durante la recuperación." -#: access/brin/brin.c:1042 access/brin/brin.c:1143 +#: access/brin/brin.c:1391 access/brin/brin.c:1499 #, c-format msgid "block number out of range: %lld" msgstr "número de bloque fuera de rango: %lld" -#: access/brin/brin.c:1086 access/brin/brin.c:1169 +#: access/brin/brin.c:1436 access/brin/brin.c:1525 #, c-format msgid "\"%s\" is not a BRIN index" msgstr "«%s» no es un índice BRIN" -#: access/brin/brin.c:1102 access/brin/brin.c:1185 +#: access/brin/brin.c:1452 access/brin/brin.c:1541 #, c-format msgid "could not open parent table of index \"%s\"" msgstr "no se pudo abrir la tabla padre del índice «%s»" -#: access/brin/brin_bloom.c:750 access/brin/brin_bloom.c:792 -#: access/brin/brin_minmax_multi.c:3011 access/brin/brin_minmax_multi.c:3148 -#: statistics/dependencies.c:663 statistics/dependencies.c:716 -#: statistics/mcv.c:1484 statistics/mcv.c:1515 statistics/mvdistinct.c:344 -#: statistics/mvdistinct.c:397 utils/adt/pseudotypes.c:43 -#: utils/adt/pseudotypes.c:77 utils/adt/tsgistidx.c:93 +#: access/brin/brin.c:1461 access/brin/brin.c:1557 access/gin/ginfast.c:1085 +#: parser/parse_utilcmd.c:2252 #, c-format -msgid "cannot accept a value of type %s" -msgstr "no se puede aceptar un valor de tipo %s" +msgid "index \"%s\" is not valid" +msgstr "el índice «%s» no es válido" -#: access/brin/brin_minmax_multi.c:2171 access/brin/brin_minmax_multi.c:2178 -#: access/brin/brin_minmax_multi.c:2185 utils/adt/timestamp.c:941 -#: utils/adt/timestamp.c:1518 utils/adt/timestamp.c:2708 -#: utils/adt/timestamp.c:2778 utils/adt/timestamp.c:2795 -#: utils/adt/timestamp.c:2848 utils/adt/timestamp.c:2887 -#: utils/adt/timestamp.c:3184 utils/adt/timestamp.c:3189 -#: utils/adt/timestamp.c:3194 utils/adt/timestamp.c:3244 -#: utils/adt/timestamp.c:3251 utils/adt/timestamp.c:3258 -#: utils/adt/timestamp.c:3278 utils/adt/timestamp.c:3285 -#: utils/adt/timestamp.c:3292 utils/adt/timestamp.c:3322 -#: utils/adt/timestamp.c:3330 utils/adt/timestamp.c:3374 -#: utils/adt/timestamp.c:3796 utils/adt/timestamp.c:3920 -#: utils/adt/timestamp.c:4440 +#: access/brin/brin_bloom.c:783 access/brin/brin_bloom.c:825 +#: access/brin/brin_minmax_multi.c:2993 access/brin/brin_minmax_multi.c:3130 +#: statistics/dependencies.c:661 statistics/dependencies.c:714 +#: statistics/mcv.c:1480 statistics/mcv.c:1511 statistics/mvdistinct.c:343 +#: statistics/mvdistinct.c:396 utils/adt/pseudotypes.c:40 +#: utils/adt/pseudotypes.c:74 utils/adt/tsgistidx.c:94 #, c-format -msgid "interval out of range" -msgstr "interval fuera de rango" +msgid "cannot accept a value of type %s" +msgstr "no se puede aceptar un valor de tipo %s" -#: access/brin/brin_pageops.c:76 access/brin/brin_pageops.c:362 -#: access/brin/brin_pageops.c:852 access/gin/ginentrypage.c:110 -#: access/gist/gist.c:1442 access/spgist/spgdoinsert.c:2002 -#: access/spgist/spgdoinsert.c:2279 +#: 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/spgist/spgdoinsert.c:2278 #, c-format msgid "index row size %zu exceeds maximum %zu for index \"%s\"" msgstr "el tamaño de fila de índice %zu excede el máximo %zu para el índice «%s»" -#: access/brin/brin_revmap.c:393 access/brin/brin_revmap.c:399 +#: access/brin/brin_revmap.c:383 access/brin/brin_revmap.c:389 #, c-format msgid "corrupted BRIN index: inconsistent range map" msgstr "índice BRIN corrompido: mapa de rango inconsistente" -#: access/brin/brin_revmap.c:593 +#: access/brin/brin_revmap.c:583 #, c-format msgid "unexpected page type 0x%04X in BRIN index \"%s\" block %u" msgstr "tipo de página 0x%04X inesperado en el índice BRIN «%s» bloque %u" -#: access/brin/brin_validate.c:118 access/gin/ginvalidate.c:151 -#: access/gist/gistvalidate.c:153 access/hash/hashvalidate.c:139 +#: access/brin/brin_validate.c:118 access/gin/ginvalidate.c:149 +#: access/gist/gistvalidate.c:152 access/hash/hashvalidate.c:139 #: access/nbtree/nbtvalidate.c:120 access/spgist/spgvalidate.c:189 #, c-format msgid "operator family \"%s\" of access method %s contains function %s with invalid support number %d" msgstr "familia de operadores «%s» de método de acceso %s contiene la función %s con número de soporte %d no válido" -#: access/brin/brin_validate.c:134 access/gin/ginvalidate.c:163 -#: access/gist/gistvalidate.c:165 access/hash/hashvalidate.c:118 +#: access/brin/brin_validate.c:134 access/gin/ginvalidate.c:161 +#: access/gist/gistvalidate.c:164 access/hash/hashvalidate.c:118 #: access/nbtree/nbtvalidate.c:132 access/spgist/spgvalidate.c:201 #, c-format msgid "operator family \"%s\" of access method %s contains function %s with wrong signature for support number %d" msgstr "familia de operadores «%s» de método de acceso %s contiene la función %s con signatura incorrecta para el número de soporte %d" -#: access/brin/brin_validate.c:156 access/gin/ginvalidate.c:182 -#: access/gist/gistvalidate.c:185 access/hash/hashvalidate.c:160 +#: access/brin/brin_validate.c:156 access/gin/ginvalidate.c:180 +#: access/gist/gistvalidate.c:184 access/hash/hashvalidate.c:160 #: access/nbtree/nbtvalidate.c:152 access/spgist/spgvalidate.c:221 #, c-format msgid "operator family \"%s\" of access method %s contains operator %s with invalid strategy number %d" msgstr "familia de operadores «%s» de método de acceso %s contiene el operador %s con número de estrategia %d no válido" -#: access/brin/brin_validate.c:185 access/gin/ginvalidate.c:195 +#: access/brin/brin_validate.c:185 access/gin/ginvalidate.c:193 #: access/hash/hashvalidate.c:173 access/nbtree/nbtvalidate.c:165 #: access/spgist/spgvalidate.c:237 #, c-format msgid "operator family \"%s\" of access method %s contains invalid ORDER BY specification for operator %s" msgstr "familia de operadores «%s» de método de acceso %s contiene especificación ORDER BY no válida para el operador %s" -#: access/brin/brin_validate.c:198 access/gin/ginvalidate.c:208 -#: access/gist/gistvalidate.c:233 access/hash/hashvalidate.c:186 +#: access/brin/brin_validate.c:198 access/gin/ginvalidate.c:206 +#: access/gist/gistvalidate.c:232 access/hash/hashvalidate.c:186 #: access/nbtree/nbtvalidate.c:178 access/spgist/spgvalidate.c:253 #, c-format msgid "operator family \"%s\" of access method %s contains operator %s with wrong signature" @@ -872,38 +1064,38 @@ msgstr "la(s) función/funciones de soporte para los tipos %3$s y %4$s faltan de msgid "operator class \"%s\" of access method %s is missing operator(s)" msgstr "faltan operadores de la clase de operadores «%s» del método de acceso %s" -#: access/brin/brin_validate.c:270 access/gin/ginvalidate.c:250 -#: access/gist/gistvalidate.c:274 +#: access/brin/brin_validate.c:270 access/gin/ginvalidate.c:248 +#: access/gist/gistvalidate.c:273 #, c-format msgid "operator class \"%s\" of access method %s is missing support function %d" msgstr "falta la función de soporte %3$d de la clase de operadores «%1$s» del método de acceso %2$s" -#: access/common/attmap.c:122 +#: access/common/attmap.c:121 #, c-format msgid "Returned type %s does not match expected type %s in column %d." msgstr "El tipo retornado %s no coincide con el tipo de registro esperado %s en la columna %d." -#: access/common/attmap.c:150 +#: access/common/attmap.c:149 #, c-format msgid "Number of returned columns (%d) does not match expected column count (%d)." msgstr "La cantidad de columnas retornadas (%d) no coincide con la cantidad esperada de columnas (%d)." -#: access/common/attmap.c:234 access/common/attmap.c:246 +#: access/common/attmap.c:233 access/common/attmap.c:245 #, c-format msgid "could not convert row type" msgstr "no se pudo convertir el tipo de registro" -#: access/common/attmap.c:235 +#: access/common/attmap.c:234 #, c-format msgid "Attribute \"%s\" of type %s does not match corresponding attribute of type %s." msgstr "El atributo «%s» de tipo %s no coincide con el atributo correspondiente de tipo %s." -#: access/common/attmap.c:247 +#: access/common/attmap.c:246 #, c-format msgid "Attribute \"%s\" of type %s does not exist in type %s." msgstr "El atributo «%s» de tipo %s no existe en el tipo %s." -#: access/common/heaptuple.c:1036 access/common/heaptuple.c:1371 +#: access/common/heaptuple.c:1132 access/common/heaptuple.c:1467 #, c-format msgid "number of columns (%d) exceeds limit (%d)" msgstr "el número de columnas (%d) excede el límite (%d)" @@ -913,124 +1105,110 @@ msgstr "el número de columnas (%d) excede el límite (%d)" msgid "number of index columns (%d) exceeds limit (%d)" msgstr "el número de columnas del índice (%d) excede el límite (%d)" -#: access/common/indextuple.c:209 access/spgist/spgutils.c:950 +#: access/common/indextuple.c:209 access/spgist/spgutils.c:970 #, c-format msgid "index row requires %zu bytes, maximum size is %zu" msgstr "fila de índice requiere %zu bytes, tamaño máximo es %zu" -#: access/common/printtup.c:292 tcop/fastpath.c:107 tcop/fastpath.c:454 -#: tcop/postgres.c:1944 +#: access/common/printtup.c:292 commands/explain.c:5376 tcop/fastpath.c:107 +#: tcop/fastpath.c:454 tcop/postgres.c:1940 #, c-format msgid "unsupported format code: %d" msgstr "código de formato no soportado: %d" -#: access/common/reloptions.c:521 access/common/reloptions.c:532 +#: access/common/reloptions.c:519 access/common/reloptions.c:530 msgid "Valid values are \"on\", \"off\", and \"auto\"." msgstr "Los valores aceptables son «on», «off» y «auto»." -#: access/common/reloptions.c:543 +#: access/common/reloptions.c:541 msgid "Valid values are \"local\" and \"cascaded\"." msgstr "Los valores aceptables son «local» y «cascaded»." -#: access/common/reloptions.c:691 +#: access/common/reloptions.c:689 #, c-format msgid "user-defined relation parameter types limit exceeded" msgstr "el límite de tipos de parámetros de relación definidos por el usuario ha sido excedido" -#: access/common/reloptions.c:1233 +#: access/common/reloptions.c:1231 #, c-format msgid "RESET must not include values for parameters" msgstr "RESET no debe incluir valores de parámetros" -#: access/common/reloptions.c:1265 +#: access/common/reloptions.c:1263 #, c-format msgid "unrecognized parameter namespace \"%s\"" msgstr "espacio de nombre de parámetro «%s» no reconocido" -#: access/common/reloptions.c:1302 commands/variable.c:1167 +#: access/common/reloptions.c:1300 commands/variable.c:1191 #, c-format msgid "tables declared WITH OIDS are not supported" msgstr "las tablas declaradas WITH OIDS no están soportadas" -#: access/common/reloptions.c:1470 +#: access/common/reloptions.c:1468 #, c-format msgid "unrecognized parameter \"%s\"" msgstr "parámetro «%s» no reconocido" -#: access/common/reloptions.c:1582 +#: access/common/reloptions.c:1580 #, c-format msgid "parameter \"%s\" specified more than once" msgstr "el parámetro «%s» fue especificado más de una vez" -#: access/common/reloptions.c:1598 +#: access/common/reloptions.c:1596 #, c-format msgid "invalid value for boolean option \"%s\": %s" msgstr "valor no válido para la opción booleana «%s»: «%s»" -#: access/common/reloptions.c:1610 +#: access/common/reloptions.c:1608 #, c-format msgid "invalid value for integer option \"%s\": %s" msgstr "valor no válido para la opción entera «%s»: «%s»" -#: access/common/reloptions.c:1616 access/common/reloptions.c:1636 +#: access/common/reloptions.c:1614 access/common/reloptions.c:1634 #, c-format msgid "value %s out of bounds for option \"%s\"" msgstr "el valor %s está fuera del rango de la opción «%s»" -#: access/common/reloptions.c:1618 +#: access/common/reloptions.c:1616 #, c-format msgid "Valid values are between \"%d\" and \"%d\"." msgstr "Los valores aceptables están entre «%d» y «%d»." -#: access/common/reloptions.c:1630 +#: access/common/reloptions.c:1628 #, c-format msgid "invalid value for floating point option \"%s\": %s" msgstr "valor no válido para la opción de coma flotante «%s»: «%s»" -#: access/common/reloptions.c:1638 +#: access/common/reloptions.c:1636 #, c-format msgid "Valid values are between \"%f\" and \"%f\"." msgstr "Valores aceptables están entre «%f» y «%f»." -#: access/common/reloptions.c:1660 +#: access/common/reloptions.c:1658 #, c-format msgid "invalid value for enum option \"%s\": %s" msgstr "valor no válido para la opción enum «%s»: %s" -#: access/common/reloptions.c:1991 -#, fuzzy, c-format -#| msgid "cannot truncate only a partitioned table" +#: access/common/reloptions.c:1989 +#, c-format msgid "cannot specify storage parameters for a partitioned table" -msgstr "no se puede truncar ONLY una tabla particionada" +msgstr "no se puede especificar parámetros de almacenamiento para una tabla particionada" -#: access/common/reloptions.c:1992 +#: access/common/reloptions.c:1990 #, c-format -msgid "Specify storage parameters for its leaf partitions, instead." -msgstr "" +msgid "Specify storage parameters for its leaf partitions instead." +msgstr "Especifique parámetros de almacenamiento para sus particiones hijas en su lugar." -#: access/common/toast_compression.c:33 +#: access/common/toast_compression.c:31 #, c-format msgid "compression method lz4 not supported" msgstr "el método de compresión lz4 no está soportado" -#: access/common/toast_compression.c:34 +#: access/common/toast_compression.c:32 #, c-format msgid "This functionality requires the server to be built with lz4 support." msgstr "Esta funcionalidad requiere que el servidor haya sido construido con soporte lz4." -#: access/common/tupdesc.c:837 commands/tablecmds.c:6953 -#: commands/tablecmds.c:12973 -#, fuzzy, c-format -#| msgid "mismatched array dimensions" -msgid "too many array dimensions" -msgstr "las dimensiones de array no coinciden" - -#: access/common/tupdesc.c:842 parser/parse_clause.c:772 -#: parser/parse_relation.c:1912 -#, c-format -msgid "column \"%s\" cannot be declared SETOF" -msgstr "la columna «%s» no puede ser declarada SETOF" - #: access/gin/ginbulk.c:44 #, c-format msgid "posting list is too long" @@ -1038,20 +1216,20 @@ msgstr "la «posting list» es demasiado larga" #: access/gin/ginbulk.c:45 #, c-format -msgid "Reduce maintenance_work_mem." -msgstr "Reduzca maintenance_work_mem." +msgid "Reduce \"maintenance_work_mem\"." +msgstr "Reduzca «maintenance_work_mem»." -#: access/gin/ginfast.c:1036 +#: access/gin/ginfast.c:1041 #, c-format msgid "GIN pending list cannot be cleaned up during recovery." msgstr "La lista de pendientes GIN no puede limpiarse durante la recuperación." -#: access/gin/ginfast.c:1043 +#: access/gin/ginfast.c:1048 #, c-format msgid "\"%s\" is not a GIN index" msgstr "«%s» no es un índice GIN" -#: access/gin/ginfast.c:1054 +#: access/gin/ginfast.c:1059 #, c-format msgid "cannot access temporary indexes of other sessions" msgstr "no se pueden acceder índices temporales de otras sesiones" @@ -1071,50 +1249,50 @@ msgstr "los índices GIN antiguos no soportan recorridos del índice completo ni msgid "To fix this, do REINDEX INDEX \"%s\"." msgstr "Para corregir esto, ejecute REINDEX INDEX \"%s\"." -#: access/gin/ginutil.c:146 executor/execExpr.c:2169 -#: utils/adt/arrayfuncs.c:3996 utils/adt/arrayfuncs.c:6683 -#: utils/adt/rowtypes.c:984 +#: access/gin/ginutil.c:147 executor/execExpr.c:2192 +#: utils/adt/arrayfuncs.c:4016 utils/adt/arrayfuncs.c:6712 +#: utils/adt/rowtypes.c:974 #, c-format msgid "could not identify a comparison function for type %s" msgstr "no se pudo identificar una función de comparación para el tipo %s" -#: access/gin/ginvalidate.c:92 access/gist/gistvalidate.c:93 +#: access/gin/ginvalidate.c:90 access/gist/gistvalidate.c:92 #: access/hash/hashvalidate.c:102 access/spgist/spgvalidate.c:102 #, c-format msgid "operator family \"%s\" of access method %s contains support function %s with different left and right input types" msgstr "la familia de operadores «%s» del método de acceso %s contiene el procedimiento de soporte %s registrado entre tipos distintos" -#: access/gin/ginvalidate.c:260 +#: access/gin/ginvalidate.c:258 #, c-format msgid "operator class \"%s\" of access method %s is missing support function %d or %d" msgstr "falta la función de soporte %3$d o %4$d de la clase de operadores «%1$s» del método de accesso %2$s" -#: access/gin/ginvalidate.c:333 access/gist/gistvalidate.c:350 +#: access/gin/ginvalidate.c:331 access/gist/gistvalidate.c:349 #: access/spgist/spgvalidate.c:387 #, c-format msgid "support function number %d is invalid for access method %s" msgstr "el número de función de soporte %d no es válido para el método de acceso %s" -#: access/gist/gist.c:759 access/gist/gistvacuum.c:426 +#: access/gist/gist.c:760 access/gist/gistvacuum.c:426 #, c-format msgid "index \"%s\" contains an inner tuple marked as invalid" msgstr "el índice «%s» contiene una tupla interna marcada como no válida" -#: access/gist/gist.c:761 access/gist/gistvacuum.c:428 +#: access/gist/gist.c:762 access/gist/gistvacuum.c:428 #, c-format msgid "This is caused by an incomplete page split at crash recovery before upgrading to PostgreSQL 9.1." msgstr "Esto es causado por una división de página incompleta durante una recuperación antes de actualizar a PostgreSQL 9.1." -#: access/gist/gist.c:762 access/gist/gistutil.c:801 access/gist/gistutil.c:812 -#: access/gist/gistvacuum.c:429 access/hash/hashutil.c:227 -#: access/hash/hashutil.c:238 access/hash/hashutil.c:250 -#: access/hash/hashutil.c:271 access/nbtree/nbtpage.c:809 -#: access/nbtree/nbtpage.c:820 +#: access/gist/gist.c:763 access/gist/gistutil.c:800 access/gist/gistutil.c:811 +#: access/gist/gistvacuum.c:429 access/hash/hashutil.c:226 +#: access/hash/hashutil.c:237 access/hash/hashutil.c:249 +#: access/hash/hashutil.c:270 access/nbtree/nbtpage.c:813 +#: access/nbtree/nbtpage.c:824 #, c-format msgid "Please REINDEX it." msgstr "Por favor aplíquele REINDEX." -#: access/gist/gist.c:1176 +#: access/gist/gist.c:1196 #, c-format msgid "fixing incomplete split in index \"%s\", block %u" msgstr "arreglando división incompleta en el índice «%s», bloque %u" @@ -1129,52 +1307,52 @@ msgstr "el método picksplit para la columna %d del índice «%s» falló" msgid "The index is not optimal. To optimize it, contact a developer, or try to use the column as the second one in the CREATE INDEX command." msgstr "El índice no es óptimo. Para optimizarlo, contacte un desarrollador o trate de usar la columna en segunda posición en la orden CREATE INDEX." -#: access/gist/gistutil.c:798 access/hash/hashutil.c:224 -#: access/nbtree/nbtpage.c:806 +#: access/gist/gistutil.c:797 access/hash/hashutil.c:223 +#: access/nbtree/nbtpage.c:810 #, c-format msgid "index \"%s\" contains unexpected zero page at block %u" msgstr "índice «%s» contiene páginas vacías no esperadas en el bloque %u" -#: access/gist/gistutil.c:809 access/hash/hashutil.c:235 -#: access/hash/hashutil.c:247 access/nbtree/nbtpage.c:817 +#: access/gist/gistutil.c:808 access/hash/hashutil.c:234 +#: access/hash/hashutil.c:246 access/nbtree/nbtpage.c:821 #, c-format msgid "index \"%s\" contains corrupted page at block %u" msgstr "el índice «%s» contiene una página corrupta en el bloque %u" -#: access/gist/gistvalidate.c:203 +#: access/gist/gistvalidate.c:202 #, c-format msgid "operator family \"%s\" of access method %s contains unsupported ORDER BY specification for operator %s" msgstr "la familia de operadores «%s» del método de acceso %s contiene una especificación ORDER BY no soportada para el operador %s" -#: access/gist/gistvalidate.c:214 +#: access/gist/gistvalidate.c:213 #, c-format msgid "operator family \"%s\" of access method %s contains incorrect ORDER BY opfamily specification for operator %s" msgstr "la familia de operadores «%s» del método de acceso %s contiene una especificación de familia en ORDER BY incorrecta para el operador %s" -#: access/hash/hashfunc.c:279 access/hash/hashfunc.c:333 -#: utils/adt/varchar.c:1009 utils/adt/varchar.c:1064 +#: access/hash/hashfunc.c:277 access/hash/hashfunc.c:333 +#: utils/adt/varchar.c:1008 utils/adt/varchar.c:1065 #, c-format msgid "could not determine which collation to use for string hashing" msgstr "no se pudo determinar qué ordenamiento usar para el hashing de cadenas" -#: access/hash/hashfunc.c:280 access/hash/hashfunc.c:334 catalog/heap.c:668 -#: catalog/heap.c:674 commands/createas.c:206 commands/createas.c:515 -#: commands/indexcmds.c:2023 commands/tablecmds.c:17490 commands/view.c:86 -#: regex/regc_pg_locale.c:243 utils/adt/formatting.c:1648 -#: utils/adt/formatting.c:1770 utils/adt/formatting.c:1893 utils/adt/like.c:191 -#: utils/adt/like_support.c:1025 utils/adt/varchar.c:739 -#: utils/adt/varchar.c:1010 utils/adt/varchar.c:1065 utils/adt/varlena.c:1518 +#: access/hash/hashfunc.c:278 access/hash/hashfunc.c:334 catalog/heap.c:672 +#: catalog/heap.c:678 commands/createas.c:201 commands/createas.c:508 +#: commands/indexcmds.c:2047 commands/tablecmds.c:18083 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 +#: utils/adt/varchar.c:1009 utils/adt/varchar.c:1066 utils/adt/varlena.c:1521 #, c-format msgid "Use the COLLATE clause to set the collation explicitly." msgstr "Use la cláusula COLLATE para establecer el ordenamiento explícitamente." -#: access/hash/hashinsert.c:86 +#: access/hash/hashinsert.c:84 #, c-format msgid "index row size %zu exceeds hash maximum %zu" msgstr "el tamaño de fila de índice %zu excede el máximo para hash %zu" -#: access/hash/hashinsert.c:88 access/spgist/spgdoinsert.c:2006 -#: access/spgist/spgdoinsert.c:2283 access/spgist/spgutils.c:1011 +#: access/hash/hashinsert.c:86 access/spgist/spgdoinsert.c:2005 +#: access/spgist/spgdoinsert.c:2282 access/spgist/spgutils.c:1031 #, c-format msgid "Values larger than a buffer page cannot be indexed." msgstr "Valores mayores a una página del buffer no pueden ser indexados." @@ -1189,17 +1367,17 @@ msgstr "número no válido de bloque de «overflow» %u" msgid "out of overflow pages in hash index \"%s\"" msgstr "se agotaron las páginas de desbordamiento en el índice hash «%s»" -#: access/hash/hashsearch.c:315 +#: access/hash/hashsearch.c:311 #, c-format msgid "hash indexes do not support whole-index scans" msgstr "los índices hash no soportan recorridos del índice completo" -#: access/hash/hashutil.c:263 +#: access/hash/hashutil.c:262 #, c-format msgid "index \"%s\" is not a hash index" msgstr "el índice «%s» no es un índice hash" -#: access/hash/hashutil.c:269 +#: access/hash/hashutil.c:268 #, c-format msgid "index \"%s\" has wrong hash version" msgstr "el índice «%s» tiene una versión de hash incorrecta" @@ -1214,229 +1392,229 @@ msgstr "la familia de operadores «%s» del método de acceso %s no tiene funci 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:2026 +#: access/heap/heapam.c:2195 #, c-format msgid "cannot insert tuples in a parallel worker" msgstr "no se pueden insertar tuplas en un ayudante paralelo" -#: access/heap/heapam.c:2545 +#: access/heap/heapam.c:2714 #, 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:2592 +#: access/heap/heapam.c:2761 #, c-format msgid "attempted to delete invisible tuple" msgstr "se intentó eliminar una tupla invisible" -#: access/heap/heapam.c:3035 access/heap/heapam.c:5902 +#: access/heap/heapam.c:3209 access/heap/heapam.c:6082 #, 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:3163 +#: access/heap/heapam.c:3337 #, c-format msgid "attempted to update invisible tuple" msgstr "se intentó actualizar una tupla invisible" -#: access/heap/heapam.c:4550 access/heap/heapam.c:4588 -#: access/heap/heapam.c:4853 access/heap/heapam_handler.c:467 +#: access/heap/heapam.c:4726 access/heap/heapam.c:4764 +#: access/heap/heapam.c:5029 access/heap/heapam_handler.c:468 #, c-format msgid "could not obtain lock on row in relation \"%s\"" msgstr "no se pudo bloquear un candado en la fila de la relación «%s»" -#: access/heap/heapam_handler.c:412 +#: access/heap/heapam_handler.c:413 #, c-format msgid "tuple to be locked was already moved to another partition due to concurrent update" msgstr "el registro a ser bloqueado ya fue movido a otra partición por un update concurrente" -#: access/heap/hio.c:517 access/heap/rewriteheap.c:659 +#: access/heap/hio.c:535 access/heap/rewriteheap.c:640 #, c-format msgid "row is too big: size %zu, maximum size %zu" msgstr "fila es demasiado grande: tamaño %zu, tamaño máximo %zu" -#: access/heap/rewriteheap.c:919 +#: access/heap/rewriteheap.c:885 #, c-format msgid "could not write to file \"%s\", wrote %d of %d: %m" msgstr "no se pudo escribir al archivo «%s», se escribió %d de %d: %m" -#: access/heap/rewriteheap.c:1011 access/heap/rewriteheap.c:1128 +#: access/heap/rewriteheap.c:977 access/heap/rewriteheap.c:1094 #: access/transam/timeline.c:329 access/transam/timeline.c:481 -#: access/transam/xlog.c:2971 access/transam/xlog.c:3162 -#: access/transam/xlog.c:3938 access/transam/xlog.c:8740 -#: access/transam/xlogfuncs.c:702 backup/basebackup_server.c:151 -#: backup/basebackup_server.c:244 commands/dbcommands.c:518 -#: postmaster/postmaster.c:4554 postmaster/postmaster.c:5557 -#: replication/logical/origin.c:603 replication/slot.c:1770 -#: storage/file/copydir.c:157 storage/smgr/md.c:232 utils/time/snapmgr.c:1263 +#: access/transam/xlog.c:3254 access/transam/xlog.c:3445 +#: access/transam/xlog.c:4282 access/transam/xlog.c:9244 +#: 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:4112 +#: postmaster/walsummarizer.c:1210 replication/logical/origin.c:603 +#: replication/slot.c:2059 storage/file/copydir.c:157 storage/smgr/md.c:230 +#: utils/time/snapmgr.c:1234 #, c-format msgid "could not create file \"%s\": %m" msgstr "no se pudo crear archivo «%s»: %m" -#: access/heap/rewriteheap.c:1138 +#: access/heap/rewriteheap.c:1104 #, c-format msgid "could not truncate file \"%s\" to %u: %m" msgstr "no se pudo truncar el archivo «%s» a %u: %m" -#: access/heap/rewriteheap.c:1156 access/transam/timeline.c:384 +#: access/heap/rewriteheap.c:1122 access/transam/timeline.c:384 #: access/transam/timeline.c:424 access/transam/timeline.c:498 -#: access/transam/xlog.c:3021 access/transam/xlog.c:3218 -#: access/transam/xlog.c:3950 commands/dbcommands.c:530 -#: postmaster/postmaster.c:4564 postmaster/postmaster.c:4574 +#: access/transam/xlog.c:3304 access/transam/xlog.c:3501 +#: access/transam/xlog.c:4294 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:1767 -#: replication/slot.c:1805 storage/file/buffile.c:545 -#: storage/file/copydir.c:197 utils/init/miscinit.c:1605 -#: utils/init/miscinit.c:1616 utils/init/miscinit.c:1624 utils/misc/guc.c:4331 -#: utils/misc/guc.c:4362 utils/misc/guc.c:5490 utils/misc/guc.c:5508 -#: utils/time/snapmgr.c:1268 utils/time/snapmgr.c:1275 +#: 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:1601 +#: utils/init/miscinit.c:1612 utils/init/miscinit.c:1620 utils/misc/guc.c:4441 +#: utils/misc/guc.c:4472 utils/misc/guc.c:5625 utils/misc/guc.c:5643 +#: utils/time/snapmgr.c:1239 utils/time/snapmgr.c:1246 #, c-format msgid "could not write to file \"%s\": %m" msgstr "no se pudo escribir a archivo «%s»: %m" -#: access/heap/vacuumlazy.c:482 +#: access/heap/vacuumlazy.c:473 #, c-format msgid "aggressively vacuuming \"%s.%s.%s\"" msgstr "haciendo vacuum agresivamente a «%s.%s.%s»" -#: access/heap/vacuumlazy.c:487 +#: access/heap/vacuumlazy.c:478 #, c-format msgid "vacuuming \"%s.%s.%s\"" msgstr "haciendo vacuum a «%s.%s.%s»" -#: access/heap/vacuumlazy.c:635 +#: access/heap/vacuumlazy.c:626 #, c-format msgid "finished vacuuming \"%s.%s.%s\": index scans: %d\n" msgstr "se terminó el vacuum de «%s.%s.%s»: recorridos de índice: %d\n" -#: access/heap/vacuumlazy.c:646 +#: access/heap/vacuumlazy.c:637 #, c-format msgid "automatic aggressive vacuum to prevent wraparound of table \"%s.%s.%s\": index scans: %d\n" msgstr "vacuum agresivo automático para prevenir wraparound de la tabla «%s.%s.%s»: recorridos de índice: %d\n" -#: access/heap/vacuumlazy.c:648 +#: access/heap/vacuumlazy.c:639 #, c-format msgid "automatic vacuum to prevent wraparound of table \"%s.%s.%s\": index scans: %d\n" msgstr "vacuum automático para prevenir wraparound de la tabla «%s.%s.%s»: recorridos de índice: %d\n" -#: access/heap/vacuumlazy.c:653 +#: access/heap/vacuumlazy.c:644 #, c-format msgid "automatic aggressive vacuum of table \"%s.%s.%s\": index scans: %d\n" msgstr "vacuum agresivo automático de la tabla «%s.%s.%s»: recorridos de índice: %d\n" -#: access/heap/vacuumlazy.c:655 +#: access/heap/vacuumlazy.c:646 #, c-format msgid "automatic vacuum of table \"%s.%s.%s\": index scans: %d\n" msgstr "vacuum automático de la tabla «%s.%s.%s»: recorridos de índice: %d\n" -#: access/heap/vacuumlazy.c:662 +#: access/heap/vacuumlazy.c:653 #, c-format msgid "pages: %u removed, %u remain, %u scanned (%.2f%% of total)\n" msgstr "páginas: %u eliminadas, %u quedan, %u recorridas (%.2f%% del total)\n" -#: access/heap/vacuumlazy.c:669 +#: access/heap/vacuumlazy.c:660 #, c-format msgid "tuples: %lld removed, %lld remain, %lld are dead but not yet removable\n" msgstr "tuplas: %lld eliminadas, %lld permanecen, %lld están muertas pero aún no se pueden quitar\n" -#: access/heap/vacuumlazy.c:675 +#: access/heap/vacuumlazy.c:666 #, c-format msgid "tuples missed: %lld dead from %u pages not removed due to cleanup lock contention\n" msgstr "tuplas faltantes: %lld muertas en %u páginas no eliminadas debido a contención del lock de limpieza\n" -#: access/heap/vacuumlazy.c:681 +#: access/heap/vacuumlazy.c:672 #, c-format msgid "removable cutoff: %u, which was %d XIDs old when operation ended\n" -msgstr "" +msgstr "punto de corte de eliminación: %u, que era %d XIDs de antiguo cuando la operación terminó\n" -#: access/heap/vacuumlazy.c:688 +#: access/heap/vacuumlazy.c:679 #, c-format msgid "new relfrozenxid: %u, which is %d XIDs ahead of previous value\n" msgstr "nuevo relfrozenxid: %u, que está %d XIDs más adelante del valor anterior\n" -#: access/heap/vacuumlazy.c:696 +#: access/heap/vacuumlazy.c:687 #, c-format msgid "new relminmxid: %u, which is %d MXIDs ahead of previous value\n" msgstr "nuevo relminmxid: %u, que está %d MXIDs más adelante del valor anterior\n" -#: access/heap/vacuumlazy.c:699 -#, fuzzy, c-format -#| msgid "%u pages from table (%.2f%% of total) had %lld dead item identifiers removed\n" +#: access/heap/vacuumlazy.c:690 +#, c-format msgid "frozen: %u pages from table (%.2f%% of total) had %lld tuples frozen\n" -msgstr "en %u páginas de la tabla (%.2f%% del total) se eliminaron %lld identificadores de elementos muertos\n" +msgstr "congelado: %u páginas de la tabla (%.2f%% del total) tuvieron %lld tuplas congeladas\n" -#: access/heap/vacuumlazy.c:707 +#: access/heap/vacuumlazy.c:698 msgid "index scan not needed: " msgstr "recorrido de índice no necesario: " -#: access/heap/vacuumlazy.c:709 +#: access/heap/vacuumlazy.c:700 msgid "index scan needed: " msgstr "recorrido de índice necesario: " -#: access/heap/vacuumlazy.c:711 +#: access/heap/vacuumlazy.c:702 #, c-format msgid "%u pages from table (%.2f%% of total) had %lld dead item identifiers removed\n" msgstr "en %u páginas de la tabla (%.2f%% del total) se eliminaron %lld identificadores de elementos muertos\n" -#: access/heap/vacuumlazy.c:716 +#: access/heap/vacuumlazy.c:707 msgid "index scan bypassed: " msgstr "recorrido de índice pasado por alto: " -#: access/heap/vacuumlazy.c:718 +#: access/heap/vacuumlazy.c:709 msgid "index scan bypassed by failsafe: " msgstr "recorrido de índice pasado por alto debido a modo failsafe: " -#: access/heap/vacuumlazy.c:720 +#: access/heap/vacuumlazy.c:711 #, c-format msgid "%u pages from table (%.2f%% of total) have %lld dead item identifiers\n" msgstr "%u páginas de la tabla (%.2f%% del total) tienen %lld identificadores de elementos muertos\n" -#: access/heap/vacuumlazy.c:735 +#: access/heap/vacuumlazy.c:726 #, c-format msgid "index \"%s\": pages: %u in total, %u newly deleted, %u currently deleted, %u reusable\n" msgstr "índice «%s»: páginas: %u en total, %u recientemente eliminadas, %u eliminadas hasta ahora, %u reusables\n" -#: access/heap/vacuumlazy.c:747 commands/analyze.c:795 +#: access/heap/vacuumlazy.c:738 commands/analyze.c:794 #, c-format msgid "I/O timings: read: %.3f ms, write: %.3f ms\n" msgstr "tiempos de E/S: lectura: %.3f ms, escritura: %.3f ms\n" -#: access/heap/vacuumlazy.c:757 commands/analyze.c:798 +#: access/heap/vacuumlazy.c:748 commands/analyze.c:797 #, c-format msgid "avg read rate: %.3f MB/s, avg write rate: %.3f MB/s\n" msgstr "tasa lectura promedio: %.3f MB/s, tasa escritura promedio: %.3f MB/s\n" -#: access/heap/vacuumlazy.c:760 commands/analyze.c:800 +#: access/heap/vacuumlazy.c:751 commands/analyze.c:799 #, c-format msgid "buffer usage: %lld hits, %lld misses, %lld dirtied\n" msgstr "uso de búfers: %lld aciertos, %lld fallos, %lld ensuciados\n" -#: access/heap/vacuumlazy.c:765 +#: access/heap/vacuumlazy.c:756 #, c-format msgid "WAL usage: %lld records, %lld full page images, %llu bytes\n" msgstr "uso de WAL: %lld registros, %lld imágenes de página completa, %llu bytes\n" -#: access/heap/vacuumlazy.c:769 commands/analyze.c:804 +#: access/heap/vacuumlazy.c:760 commands/analyze.c:803 #, c-format msgid "system usage: %s" msgstr "uso de sistema: %s" -#: access/heap/vacuumlazy.c:2482 +#: access/heap/vacuumlazy.c:2172 #, c-format msgid "table \"%s\": removed %lld dead item identifiers in %u pages" msgstr "tabla «%s»: se eliminaron %lld identificadores de elementos muertos en %u páginas" -#: access/heap/vacuumlazy.c:2642 +#: access/heap/vacuumlazy.c:2326 #, c-format msgid "bypassing nonessential maintenance of table \"%s.%s.%s\" as a failsafe after %d index scans" msgstr "pasando por alto el mantenimiento no esencial de la tabla «%s.%s.%s» como mecanismo de seguridad (failsafe) luego de %d recorridos de índice" -#: access/heap/vacuumlazy.c:2645 +#: access/heap/vacuumlazy.c:2329 #, c-format msgid "The table's relfrozenxid or relminmxid is too far in the past." msgstr "El relfrozenxid o el relminmxid de la tabla es demasiado antiguo." -#: access/heap/vacuumlazy.c:2646 +#: access/heap/vacuumlazy.c:2330 #, c-format msgid "" "Consider increasing configuration parameter \"maintenance_work_mem\" or \"autovacuum_work_mem\".\n" @@ -1445,67 +1623,67 @@ msgstr "" "Considere incrementar el parámetro de configuración «maintenance_work_mem» o «autovacuum_work_mem».\n" "Es probable que también deba considerar otras formas para que VACUUM pueda mantener el paso de la asignación de IDs de transacción." -#: access/heap/vacuumlazy.c:2891 +#: access/heap/vacuumlazy.c:2592 #, c-format msgid "\"%s\": stopping truncate due to conflicting lock request" msgstr "«%s»: suspendiendo el truncado debido a una petición de candado en conflicto" -#: access/heap/vacuumlazy.c:2961 +#: access/heap/vacuumlazy.c:2662 #, c-format msgid "table \"%s\": truncated %u to %u pages" msgstr "tabla «%s»: truncadas %u a %u páginas" -#: access/heap/vacuumlazy.c:3023 +#: access/heap/vacuumlazy.c:2724 #, c-format msgid "table \"%s\": suspending truncate due to conflicting lock request" msgstr "tabla «%s»: suspendiendo el truncado debido a una petición de bloqueo en conflicto" -#: access/heap/vacuumlazy.c:3183 +#: access/heap/vacuumlazy.c:2843 #, c-format msgid "disabling parallel option of vacuum on \"%s\" --- cannot vacuum temporary tables in parallel" msgstr "desactivando el comportamiento paralelo de vacuum en «%s» --- no se puede hacer vacuum de tablas temporales en paralelo" -#: access/heap/vacuumlazy.c:3399 +#: access/heap/vacuumlazy.c:3113 #, c-format msgid "while scanning block %u offset %u of relation \"%s.%s\"" msgstr "recorriendo el bloque %u posición %u de la relación «%s.%s»" -#: access/heap/vacuumlazy.c:3402 +#: access/heap/vacuumlazy.c:3116 #, c-format msgid "while scanning block %u of relation \"%s.%s\"" msgstr "recorriendo el bloque %u de la relación «%s.%s»" -#: access/heap/vacuumlazy.c:3406 +#: access/heap/vacuumlazy.c:3120 #, c-format msgid "while scanning relation \"%s.%s\"" msgstr "recorriendo la relación «%s.%s»" -#: access/heap/vacuumlazy.c:3414 +#: access/heap/vacuumlazy.c:3128 #, c-format msgid "while vacuuming block %u offset %u of relation \"%s.%s\"" msgstr "haciendo «vacuum» al bloque %u posición %u de la relación «%s.%s»" -#: access/heap/vacuumlazy.c:3417 +#: access/heap/vacuumlazy.c:3131 #, c-format msgid "while vacuuming block %u of relation \"%s.%s\"" msgstr "haciendo «vacuum» al bloque %u de la relación «%s.%s»" -#: access/heap/vacuumlazy.c:3421 +#: access/heap/vacuumlazy.c:3135 #, c-format msgid "while vacuuming relation \"%s.%s\"" msgstr "mientras se hacía «vacuum» a la relación «%s.%s»" -#: access/heap/vacuumlazy.c:3426 commands/vacuumparallel.c:1074 +#: access/heap/vacuumlazy.c:3140 commands/vacuumparallel.c:1113 #, c-format msgid "while vacuuming index \"%s\" of relation \"%s.%s\"" msgstr "mientras se hacía «vacuum» al índice «%s» de la relación «%s.%s»" -#: access/heap/vacuumlazy.c:3431 commands/vacuumparallel.c:1080 +#: access/heap/vacuumlazy.c:3145 commands/vacuumparallel.c:1119 #, c-format msgid "while cleaning up index \"%s\" of relation \"%s.%s\"" msgstr "mientras se limpiaba el índice «%s» de la relación «%s.%s»" -#: access/heap/vacuumlazy.c:3437 +#: access/heap/vacuumlazy.c:3151 #, c-format msgid "while truncating relation \"%s.%s\" to %u blocks" msgstr "error mientras se truncaba la relación «%s.%s» a %u bloques" @@ -1520,19 +1698,24 @@ msgstr "el método de acceso «%s» no es de tipo %s" msgid "index access method \"%s\" does not have a handler" msgstr "el método de acceso «%s» no tiene manejador" -#: access/index/genam.c:490 +#: access/index/genam.c:487 #, c-format msgid "transaction aborted during system catalog scan" msgstr "transacción abortada durante recorrido de catálogos de sistema" -#: access/index/indexam.c:142 catalog/objectaddress.c:1394 -#: commands/indexcmds.c:2852 commands/tablecmds.c:272 commands/tablecmds.c:296 -#: commands/tablecmds.c:17191 commands/tablecmds.c:18959 +#: access/index/genam.c:655 access/index/indexam.c:82 +#, c-format +msgid "cannot access index \"%s\" while it is being reindexed" +msgstr "no se puede acceder el índice «%s» mientras está siendo reindexado" + +#: access/index/indexam.c:203 catalog/objectaddress.c:1356 +#: commands/indexcmds.c:2877 commands/tablecmds.c:281 commands/tablecmds.c:305 +#: commands/tablecmds.c:17778 commands/tablecmds.c:19605 #, c-format msgid "\"%s\" is not an index" msgstr "«%s» no es un índice" -#: access/index/indexam.c:979 +#: access/index/indexam.c:1028 #, c-format msgid "operator class %s has no options" msgstr "clase de operadores «%s» no tiene opciones" @@ -1552,38 +1735,38 @@ msgstr "Ya existe la llave %s." msgid "This may be because of a non-immutable index expression." msgstr "Esto puede deberse a una expresión de índice no inmutable." -#: access/nbtree/nbtpage.c:158 access/nbtree/nbtpage.c:607 -#: parser/parse_utilcmd.c:2317 +#: access/nbtree/nbtpage.c:157 access/nbtree/nbtpage.c:611 +#: parser/parse_utilcmd.c:2298 #, c-format msgid "index \"%s\" is not a btree" msgstr "el índice «%s» no es un btree" -#: access/nbtree/nbtpage.c:165 access/nbtree/nbtpage.c:614 +#: access/nbtree/nbtpage.c:164 access/nbtree/nbtpage.c:618 #, c-format msgid "version mismatch in index \"%s\": file version %d, current version %d, minimal supported version %d" msgstr "discordancia de versión en índice «%s»: versión de archivo %d, versión de código %d, mínima versión soportada %d" -#: access/nbtree/nbtpage.c:1862 +#: access/nbtree/nbtpage.c:1861 #, c-format msgid "index \"%s\" contains a half-dead internal page" msgstr "el índice «%s» contiene una página interna parcialmente muerta" -#: access/nbtree/nbtpage.c:1864 +#: access/nbtree/nbtpage.c:1863 #, c-format msgid "This can be caused by an interrupted VACUUM in version 9.3 or older, before upgrade. Please REINDEX it." msgstr "Esto puede ser causado por la interrupción de un VACUUM en la versión 9.3 o anteriores, antes de actualizar. Ejecute REINDEX por favor." -#: access/nbtree/nbtutils.c:2663 +#: access/nbtree/nbtutils.c:5102 #, c-format msgid "index row size %zu exceeds btree version %u maximum %zu for index \"%s\"" msgstr "el tamaño de fila de índice %1$zu excede el máximo %3$zu para btree versión %2$u para el índice «%4$s»" -#: access/nbtree/nbtutils.c:2669 +#: access/nbtree/nbtutils.c:5108 #, c-format msgid "Index row references tuple (%u,%u) in relation \"%s\"." msgstr "La tupla de índice hace referencia a la tupla (%u,%u) en la relación «%s»." -#: access/nbtree/nbtutils.c:2673 +#: access/nbtree/nbtutils.c:5112 #, c-format msgid "" "Values larger than 1/3 of a buffer page cannot be indexed.\n" @@ -1597,12 +1780,18 @@ msgstr "" msgid "operator family \"%s\" of access method %s is missing support function for types %s and %s" msgstr "falta una función de soporte para los tipos %3$s y %4$s en la familia de operadores «%1$s» del método de acceso %2$s" +#: access/sequence/sequence.c:75 access/table/table.c:145 +#: optimizer/util/plancat.c:143 +#, c-format +msgid "cannot open relation \"%s\"" +msgstr "no se puede abrir la relación «%s»" + #: access/spgist/spgutils.c:245 #, c-format msgid "compress method must be defined when leaf type is different from input type" msgstr "método «compress» debe estar definido cuando el tipo hoja es distinto del tipo de entrada" -#: access/spgist/spgutils.c:1008 +#: access/spgist/spgutils.c:1028 #, c-format msgid "SP-GiST inner tuple size %zu exceeds maximum %zu" msgstr "el tamaño de tupla interna SP-GiST %zu excede el máximo %zu" @@ -1617,69 +1806,64 @@ msgstr "el tipo de dato hoja SP-GiST %s no coincide con el tipo declarado %s" msgid "operator family \"%s\" of access method %s is missing support function %d for type %s" msgstr "falta la función de soporte %3$d para el tipo %4$s de la clase de operadores «%1$s» del método de accesso %2$s" -#: access/table/table.c:145 optimizer/util/plancat.c:145 -#, fuzzy, c-format -#| msgid "cannot change relation \"%s\"" -msgid "cannot open relation \"%s\"" -msgstr "no se puede cambiar la relación «%s»" - -#: access/table/tableam.c:265 +#: access/table/tableam.c:255 #, c-format msgid "tid (%u, %u) is not valid for relation \"%s\"" msgstr "el tid (%u, %u) no es válido para la relación «%s»" -#: access/table/tableamapi.c:116 +#: access/table/tableamapi.c:109 #, c-format -msgid "%s cannot be empty." -msgstr "%s no puede ser vacío." +msgid "\"%s\" cannot be empty." +msgstr "«%s» no puede ser vacío." -#: access/table/tableamapi.c:123 access/transam/xlogrecovery.c:4774 +#: access/table/tableamapi.c:116 access/transam/xlogrecovery.c:4858 #, c-format -msgid "%s is too long (maximum %d characters)." -msgstr "%s es demasiado largo (máximo %d caracteres)." +msgid "\"%s\" is too long (maximum %d characters)." +msgstr "«%s» es demasiado largo (máximo %d caracteres)." -#: access/table/tableamapi.c:146 +#: access/table/tableamapi.c:139 #, c-format msgid "table access method \"%s\" does not exist" msgstr "no existe el método de acceso de tabla «%s»" -#: access/table/tableamapi.c:151 +#: access/table/tableamapi.c:144 #, c-format msgid "Table access method \"%s\" does not exist." msgstr "No existe el método de acceso de tabla «%s»." -#: access/tablesample/bernoulli.c:148 access/tablesample/system.c:152 +#: access/tablesample/bernoulli.c:148 access/tablesample/system.c:151 #, c-format msgid "sample percentage must be between 0 and 100" msgstr "el porcentaje de muestreo debe estar entre 0 y 100" -#: access/transam/commit_ts.c:279 +#: access/transam/commit_ts.c:287 #, c-format msgid "cannot retrieve commit timestamp for transaction %u" msgstr "no se puede obtener el timestamp de compromiso de la transacción %u" -#: access/transam/commit_ts.c:377 +#: access/transam/commit_ts.c:385 #, c-format msgid "could not get commit timestamp data" msgstr "no se pudo obtener datos de compromiso de transacción" -#: access/transam/commit_ts.c:379 +#: access/transam/commit_ts.c:387 #, c-format msgid "Make sure the configuration parameter \"%s\" is set on the primary server." msgstr "Asegúrese que el parámetro de configuración «%s» esté definido en el servidor primario." -#: access/transam/commit_ts.c:381 +#: access/transam/commit_ts.c:389 #, c-format 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:1023 +#: access/transam/multixact.c:1091 #, c-format -msgid "database is not accepting commands that generate new MultiXactIds to avoid wraparound data loss in database \"%s\"" -msgstr "la base de datos no está aceptando órdenes que generen nuevos MultiXactIds para evitar pérdida de datos debido al reciclaje de transacciones en la base de datos «%s»" +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:1025 access/transam/multixact.c:1032 -#: access/transam/multixact.c:1056 access/transam/multixact.c:1065 +#: 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 #, c-format msgid "" "Execute a database-wide VACUUM in that database.\n" @@ -1688,247 +1872,250 @@ msgstr "" "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:1030 +#: access/transam/multixact.c:1098 #, c-format -msgid "database is not accepting commands that generate new MultiXactIds to avoid wraparound data loss in database with OID %u" -msgstr "la base de datos no está aceptando órdenes que generen nuevos MultiXactIds para evitar pérdida de datos debido al problema del reciclaje de transacciones en la base con OID %u" +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:1051 access/transam/multixact.c:2333 +#: access/transam/multixact.c:1119 access/transam/multixact.c:2474 #, 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:1060 access/transam/multixact.c:2342 +#: access/transam/multixact.c:1128 access/transam/multixact.c:2483 #, 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:1121 +#: access/transam/multixact.c:1189 #, c-format msgid "multixact \"members\" limit exceeded" msgstr "límite de miembros de multixact alcanzado" -#: access/transam/multixact.c:1122 +#: access/transam/multixact.c:1190 #, 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:1127 +#: access/transam/multixact.c:1195 #, 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." +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:1158 +#: access/transam/multixact.c:1226 #, 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:1163 +#: access/transam/multixact.c:1231 #, 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." +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:1302 +#: access/transam/multixact.c:1371 #, c-format msgid "MultiXactId %u does no longer exist -- apparent wraparound" -msgstr "el MultiXactId %u ya no existe -- aparente problema por reciclaje" +msgstr "el MultiXactId %u ya no existe -- “wraparound” aparente" -#: access/transam/multixact.c:1308 +#: access/transam/multixact.c:1377 #, c-format msgid "MultiXactId %u has not been created yet -- apparent wraparound" -msgstr "el MultiXactId %u no se ha creado aún -- aparente problema por reciclaje" +msgstr "el MultiXactId %u no se ha creado aún -- “wraparound” aparente" -#: access/transam/multixact.c:2338 access/transam/multixact.c:2347 -#: access/transam/varsup.c:151 access/transam/varsup.c:158 -#: access/transam/varsup.c:466 access/transam/varsup.c:473 +#: access/transam/multixact.c:2479 access/transam/multixact.c:2488 #, c-format msgid "" -"To avoid a database shutdown, execute a database-wide VACUUM in that database.\n" +"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 "" -"Para evitar que la base de datos se desactive, ejecute VACUUM en esa base de datos.\n" +"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:2622 +#: access/transam/multixact.c:2767 #, c-format msgid "MultiXact member wraparound protections are disabled because oldest checkpointed MultiXact %u does not exist on disk" -msgstr "las protecciones de reciclaje de miembros de multixact están inhabilitadas porque el multixact más antiguo %u en checkpoint no existe en disco" +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:2644 +#: access/transam/multixact.c:2789 #, c-format msgid "MultiXact member wraparound protections are now enabled" -msgstr "las protecciones de reciclaje de miembros de multixact están habilitadas" +msgstr "las protecciones de “wraparound” de miembros de multixact están habilitadas" -#: access/transam/multixact.c:3027 +#: access/transam/multixact.c:3180 #, 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:3045 +#: access/transam/multixact.c:3198 #, 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:3359 +#: access/transam/multixact.c:3517 #, c-format msgid "invalid MultiXactId: %u" msgstr "el MultiXactId no es válido: %u" -#: access/transam/parallel.c:729 access/transam/parallel.c:848 +#: access/transam/parallel.c:731 access/transam/parallel.c:850 #, c-format msgid "parallel worker failed to initialize" msgstr "el ayudante paralelo no pudo iniciar" -#: access/transam/parallel.c:730 access/transam/parallel.c:849 +#: access/transam/parallel.c:732 access/transam/parallel.c:851 #, 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:910 +#: access/transam/parallel.c:912 #, c-format msgid "postmaster exited during a parallel transaction" msgstr "postmaster terminó durante una transacción paralela" -#: access/transam/parallel.c:1097 +#: access/transam/parallel.c:1099 #, c-format msgid "lost connection to parallel worker" msgstr "se ha perdido la conexión al ayudante paralelo" -#: access/transam/parallel.c:1163 access/transam/parallel.c:1165 +#: access/transam/parallel.c:1155 access/transam/parallel.c:1157 msgid "parallel worker" msgstr "ayudante paralelo" -#: access/transam/parallel.c:1319 +#: access/transam/parallel.c:1327 replication/logical/applyparallelworker.c:890 #, 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:1324 +#: access/transam/parallel.c:1332 replication/logical/applyparallelworker.c:896 #, 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" -#: access/transam/rmgr.c:84 +#: access/transam/rmgr.c:93 #, c-format msgid "resource manager with ID %d not registered" msgstr "el gestor de recursos con ID %d no está registrado" -#: access/transam/rmgr.c:85 +#: access/transam/rmgr.c:94 #, c-format -msgid "Include the extension module that implements this resource manager in shared_preload_libraries." -msgstr "Incluya el módulo de extensión que implementa este gestor de recursos en shared_preload_libraries." +msgid "Include the extension module that implements this resource manager in \"shared_preload_libraries\"." +msgstr "Incluya el módulo de extensión que implementa este gestor de recursos en «shared_preload_libraries»." -#: access/transam/rmgr.c:101 +#: access/transam/rmgr.c:110 #, c-format msgid "custom resource manager name is invalid" msgstr "el nombre de gestor de recursos personalizado no es válido" -#: access/transam/rmgr.c:102 +#: access/transam/rmgr.c:111 #, c-format msgid "Provide a non-empty name for the custom resource manager." msgstr "Provea un nombre no vacío para el gestor de recursos personalizado." -#: access/transam/rmgr.c:105 +#: access/transam/rmgr.c:114 #, c-format msgid "custom resource manager ID %d is out of range" msgstr "el ID %d de gestor de recursos está fuera de rango" -#: access/transam/rmgr.c:106 +#: access/transam/rmgr.c:115 #, c-format msgid "Provide a custom resource manager ID between %d and %d." msgstr "Provea un ID de gestor de recursos personalizado entre %d y %d." -#: access/transam/rmgr.c:111 access/transam/rmgr.c:116 -#: access/transam/rmgr.c:128 +#: access/transam/rmgr.c:120 access/transam/rmgr.c:125 +#: access/transam/rmgr.c:137 #, c-format msgid "failed to register custom resource manager \"%s\" with ID %d" msgstr "no se pudo registrar un gestor de recursos personalizado «%s» con ID %d" -#: access/transam/rmgr.c:112 +#: access/transam/rmgr.c:121 #, c-format -msgid "Custom resource manager must be registered while initializing modules in shared_preload_libraries." -msgstr "El gestor de recursos personalizado debe ser registrado en shared_preload_libraries." +msgid "Custom resource manager must be registered while initializing modules in \"shared_preload_libraries\"." +msgstr "El gestor de recursos personalizado debe ser registrado en «shared_preload_libraries» al inicializar módulos." -#: access/transam/rmgr.c:117 +#: access/transam/rmgr.c:126 #, c-format msgid "Custom resource manager \"%s\" already registered with the same ID." msgstr "El gestor de recursos «%s» ya está registrado con el mismo ID." -#: access/transam/rmgr.c:129 +#: access/transam/rmgr.c:138 #, c-format msgid "Existing resource manager with ID %d has the same name." msgstr "El gestor de recursos con ID %d tiene el mismo nombre." -#: access/transam/rmgr.c:135 +#: access/transam/rmgr.c:144 #, c-format msgid "registered custom resource manager \"%s\" with ID %d" msgstr "se registró el gestor de recursos «%s» con ID %d" -#: access/transam/slru.c:714 +#: access/transam/slru.c:361 +#, c-format +msgid "\"%s\" must be a multiple of %d" +msgstr "«%s» debe ser múltiple de %d" + +#: access/transam/slru.c:830 #, c-format msgid "file \"%s\" doesn't exist, reading as zeroes" msgstr "el archivo «%s» no existe, leyendo como ceros" -#: access/transam/slru.c:946 access/transam/slru.c:952 -#: access/transam/slru.c:960 access/transam/slru.c:965 -#: access/transam/slru.c:972 access/transam/slru.c:977 -#: access/transam/slru.c:984 access/transam/slru.c:991 +#: 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 #, c-format msgid "could not access status of transaction %u" msgstr "no se pudo encontrar el estado de la transacción %u" -#: access/transam/slru.c:947 +#: access/transam/slru.c:1060 #, c-format msgid "Could not open file \"%s\": %m." msgstr "No se pudo abrir el archivo «%s»: %m." -#: access/transam/slru.c:953 +#: access/transam/slru.c:1066 #, c-format msgid "Could not seek in file \"%s\" to offset %d: %m." msgstr "No se pudo posicionar (seek) en el archivo «%s» a la posición %d: %m." -#: access/transam/slru.c:961 +#: access/transam/slru.c:1074 #, c-format msgid "Could not read from file \"%s\" at offset %d: %m." msgstr "No se pudo leer desde el archivo «%s» en la posición %d: %m." -#: access/transam/slru.c:966 +#: access/transam/slru.c:1079 #, c-format msgid "Could not read from file \"%s\" at offset %d: read too few bytes." msgstr "No se pudo leer desde el archivo «%s» en la posición %d: se leyeron muy pocos bytes." -#: access/transam/slru.c:973 +#: access/transam/slru.c:1086 #, c-format msgid "Could not write to file \"%s\" at offset %d: %m." msgstr "No se pudo escribir al archivo «%s» en la posición %d: %m." -#: access/transam/slru.c:978 +#: access/transam/slru.c:1091 #, c-format msgid "Could not write to file \"%s\" at offset %d: wrote too few bytes." msgstr "No se pudo escribir al archivo «%s» en la posición %d: se escribieron muy pocos bytes." -#: access/transam/slru.c:985 +#: access/transam/slru.c:1098 #, c-format msgid "Could not fsync file \"%s\": %m." msgstr "No se pudo sincronizar (fsync) archivo «%s»: %m." -#: access/transam/slru.c:992 +#: access/transam/slru.c:1105 #, c-format msgid "Could not close file \"%s\": %m." msgstr "No se pudo cerrar el archivo «%s»: %m." -#: access/transam/slru.c:1253 +#: access/transam/slru.c:1431 #, c-format msgid "could not truncate directory \"%s\": apparent wraparound" -msgstr "no se pudo truncar el directorio «%s»: aparente problema por reciclaje de transacciones" +msgstr "no se pudo truncar el directorio «%s»: “wraparound” aparente" #: access/transam/timeline.c:163 access/transam/timeline.c:168 #, c-format @@ -1970,773 +2157,815 @@ msgstr "IDs de timeline deben ser menores que el ID de timeline del hijo." msgid "requested timeline %u is not in this server's history" msgstr "el timeline %u solicitado no está en la historia de este servidor" -#: access/transam/twophase.c:385 +#: access/transam/twophase.c:368 #, c-format msgid "transaction identifier \"%s\" is too long" msgstr "identificador de transacción «%s» es demasiado largo" -#: access/transam/twophase.c:392 +#: access/transam/twophase.c:375 #, c-format msgid "prepared transactions are disabled" msgstr "las transacciones preparadas están deshabilitadas" -#: access/transam/twophase.c:393 +#: access/transam/twophase.c:376 #, c-format -msgid "Set max_prepared_transactions to a nonzero value." -msgstr "Defina max_prepared_transactions a un valor distinto de cero." +msgid "Set \"max_prepared_transactions\" to a nonzero value." +msgstr "Defina «max_prepared_transactions» a un valor distinto de cero." -#: access/transam/twophase.c:412 +#: access/transam/twophase.c:395 #, c-format msgid "transaction identifier \"%s\" is already in use" msgstr "identificador de transacción «%s» ya está siendo utilizado" -#: access/transam/twophase.c:421 access/transam/twophase.c:2484 +#: access/transam/twophase.c:404 access/transam/twophase.c:2540 #, c-format msgid "maximum number of prepared transactions reached" msgstr "se alcanzó el número máximo de transacciones preparadas" -#: access/transam/twophase.c:422 access/transam/twophase.c:2485 +#: access/transam/twophase.c:405 access/transam/twophase.c:2541 #, c-format -msgid "Increase max_prepared_transactions (currently %d)." -msgstr "Incremente max_prepared_transactions (actualmente es %d)." +msgid "Increase \"max_prepared_transactions\" (currently %d)." +msgstr "Incremente «max_prepared_transactions» (actualmente es %d)." -#: access/transam/twophase.c:598 +#: access/transam/twophase.c:580 #, c-format msgid "prepared transaction with identifier \"%s\" is busy" msgstr "transacción preparada con identificador «%s» está ocupada" -#: access/transam/twophase.c:604 +#: access/transam/twophase.c:586 #, c-format msgid "permission denied to finish prepared transaction" msgstr "se ha denegado el permiso para finalizar la transacción preparada" -#: access/transam/twophase.c:605 +#: access/transam/twophase.c:587 #, c-format msgid "Must be superuser or the user that prepared the transaction." msgstr "Debe ser superusuario o el usuario que preparó la transacción." -#: access/transam/twophase.c:616 +#: access/transam/twophase.c:598 #, c-format msgid "prepared transaction belongs to another database" msgstr "la transacción preparada pertenece a otra base de datos" -#: access/transam/twophase.c:617 +#: access/transam/twophase.c:599 #, c-format msgid "Connect to the database where the transaction was prepared to finish it." msgstr "Conéctese a la base de datos donde la transacción fue preparada para terminarla." -#: access/transam/twophase.c:632 +#: access/transam/twophase.c:614 #, c-format msgid "prepared transaction with identifier \"%s\" does not exist" msgstr "transacción preparada con identificador «%s» no existe" -#: access/transam/twophase.c:1167 +#: access/transam/twophase.c:1190 #, c-format msgid "two-phase state file maximum length exceeded" msgstr "el largo máximo del archivo de estado de dos fases fue excedido" -#: access/transam/twophase.c:1322 +#: access/transam/twophase.c:1345 #, c-format msgid "incorrect size of file \"%s\": %lld byte" msgid_plural "incorrect size of file \"%s\": %lld bytes" msgstr[0] "tamaño incorrecto de archivo «%s»: %lld byte" msgstr[1] "tamaño incorrecto de archivo «%s»: %lld bytes" -#: access/transam/twophase.c:1331 +#: access/transam/twophase.c:1354 #, c-format msgid "incorrect alignment of CRC offset for file \"%s\"" msgstr "alineamiento incorrecto del offset del CRC para el archivo «%s»" -#: access/transam/twophase.c:1349 +#: access/transam/twophase.c:1372 #, c-format msgid "could not read file \"%s\": read %d of %lld" msgstr "no se pudo leer el archivo «%s»: leídos %d de %lld" -#: access/transam/twophase.c:1364 +#: access/transam/twophase.c:1387 #, c-format msgid "invalid magic number stored in file \"%s\"" msgstr "número mágico no válido almacenado en archivo «%s»" -#: access/transam/twophase.c:1370 +#: access/transam/twophase.c:1393 #, c-format msgid "invalid size stored in file \"%s\"" msgstr "tamaño no válido en archivo «%s»" -#: access/transam/twophase.c:1382 +#: access/transam/twophase.c:1405 #, c-format msgid "calculated CRC checksum does not match value stored in file \"%s\"" msgstr "la suma de verificación calculada no coincide con el valor almacenado en el archivo «%s»" -#: access/transam/twophase.c:1412 access/transam/xlogrecovery.c:590 -#: replication/logical/logical.c:209 replication/walsender.c:687 +#: access/transam/twophase.c:1435 access/transam/xlogrecovery.c:565 +#: postmaster/walsummarizer.c:934 replication/logical/logical.c:211 +#: replication/walsender.c:836 #, c-format msgid "Failed while allocating a WAL reading processor." msgstr "Falló mientras se emplazaba un procesador de lectura de WAL." -#: access/transam/twophase.c:1422 +#: access/transam/twophase.c:1445 #, c-format msgid "could not read two-phase state from WAL at %X/%X: %s" msgstr "no se pudo leer el archivo de estado de dos fases desde WAL en %X/%X: %s" -#: access/transam/twophase.c:1427 +#: access/transam/twophase.c:1450 #, c-format msgid "could not read two-phase state from WAL at %X/%X" msgstr "no se pudo leer el archivo de estado de dos fases desde WAL en %X/%X" -#: access/transam/twophase.c:1435 +#: access/transam/twophase.c:1458 #, c-format msgid "expected two-phase state data is not present in WAL at %X/%X" msgstr "los datos de estado de dos fases esperados no están presentes en WAL en %X/%X" -#: access/transam/twophase.c:1731 +#: access/transam/twophase.c:1754 #, c-format msgid "could not recreate file \"%s\": %m" msgstr "no se pudo recrear archivo «%s»: %m" -#: access/transam/twophase.c:1858 +#: access/transam/twophase.c:1881 #, c-format msgid "%u two-phase state file was written for a long-running prepared transaction" msgid_plural "%u two-phase state files were written for long-running prepared transactions" msgstr[0] "%u archivo de estado de dos fases fue escrito para transacción de larga duración" msgstr[1] "%u archivos de estado de dos fases fueron escritos para transacciones de larga duración" -#: access/transam/twophase.c:2092 +#: access/transam/twophase.c:2116 #, c-format msgid "recovering prepared transaction %u from shared memory" msgstr "recuperando transacción preparada %u desde memoria compartida" -#: access/transam/twophase.c:2185 +#: access/transam/twophase.c:2209 #, c-format msgid "removing stale two-phase state file for transaction %u" msgstr "eliminando archivo obsoleto de estado de dos fases para transacción %u" -#: access/transam/twophase.c:2192 +#: access/transam/twophase.c:2216 #, c-format msgid "removing stale two-phase state from memory for transaction %u" msgstr "eliminando de memoria estado de dos fases obsoleto para transacción %u" -#: access/transam/twophase.c:2205 +#: access/transam/twophase.c:2229 #, c-format msgid "removing future two-phase state file for transaction %u" msgstr "eliminando archivo futuro de estado de dos fases para transacción %u" -#: access/transam/twophase.c:2212 +#: access/transam/twophase.c:2236 #, c-format msgid "removing future two-phase state from memory for transaction %u" msgstr "eliminando estado de dos fases futuro de memoria para transacción %u" -#: access/transam/twophase.c:2237 +#: access/transam/twophase.c:2261 #, c-format msgid "corrupted two-phase state file for transaction %u" msgstr "archivo de estado de dos fases corrupto para transacción %u" -#: access/transam/twophase.c:2242 +#: access/transam/twophase.c:2266 #, c-format msgid "corrupted two-phase state in memory for transaction %u" msgstr "estado de dos fases en memoria corrupto para transacción %u" -#: access/transam/varsup.c:129 +#: access/transam/twophase.c:2523 #, c-format -msgid "database is not accepting commands to avoid wraparound data loss in database \"%s\"" -msgstr "la base de datos no está aceptando órdenes para evitar pérdida de datos debido al problema del reciclaje de transacciones en la base de datos «%s»" +msgid "could not recover two-phase state file for transaction %u" +msgstr "no se pudo recuperar el archivo de estado de dos fases para la transacción %u" -#: access/transam/varsup.c:131 access/transam/varsup.c:138 +#: access/transam/twophase.c:2525 #, c-format -msgid "" -"Stop the postmaster and vacuum that database in single-user mode.\n" -"You might also need to commit or roll back old prepared transactions, or drop stale replication slots." -msgstr "" -"Detenga el postmaster y 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." +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:2533 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" + +#: access/transam/varsup.c:156 +#, c-format +msgid "database is not accepting commands that assign new XIDs to avoid wraparound data loss in database \"%s\"" +msgstr "la base de datos no está aceptando órdenes que asignen nuevos XIDs para evitar pérdida de datos debido al “wraparound” en la base de datos «%s»" -#: access/transam/varsup.c:136 +#: access/transam/varsup.c:163 #, c-format -msgid "database is not accepting commands to avoid wraparound data loss in database with OID %u" -msgstr "la base de datos no está aceptando órdenes para evitar pérdida de datos debido al problema del reciclaje de transacciones en la base con OID %u" +msgid "database is not accepting commands that assign new XIDs to avoid wraparound data loss in database with OID %u" +msgstr "la base de datos no está aceptando órdenes que generen nuevos MultiXactIds para evitar pérdida de datos debido al “wraparound” en la base con OID %u" -#: access/transam/varsup.c:148 access/transam/varsup.c:463 +#: access/transam/varsup.c:175 access/transam/varsup.c:490 #, c-format msgid "database \"%s\" must be vacuumed within %u transactions" msgstr "base de datos «%s» debe ser limpiada dentro de %u transacciones" -#: access/transam/varsup.c:155 access/transam/varsup.c:470 +#: access/transam/varsup.c:178 access/transam/varsup.c:185 +#: access/transam/varsup.c:493 access/transam/varsup.c:500 +#, c-format +msgid "" +"To avoid XID 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 "" +"Para evitar que la base de datos se desactive, 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/varsup.c:182 access/transam/varsup.c:497 #, c-format msgid "database with OID %u must be vacuumed within %u transactions" msgstr "base de datos con OID %u debe ser limpiada dentro de %u transacciones" -#: access/transam/xact.c:1102 +#: access/transam/xact.c:649 +#, c-format +msgid "cannot assign XIDs during a parallel operation" +msgstr "no se puede asignar XIDs durante una operación paralela" + +#: access/transam/xact.c:840 +#, c-format +msgid "cannot modify data in a parallel worker" +msgstr "no se pueden modificar datos en un proceso ayudante paralelo" + +#: access/transam/xact.c:1115 +#, c-format +msgid "cannot start commands during a parallel operation" +msgstr "no se puede iniciar órdenes durante una operación paralela" + +#: access/transam/xact.c:1123 #, c-format 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:1643 +#: access/transam/xact.c:1664 #, 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:2513 +#: access/transam/xact.c:2561 #, 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:2523 +#: access/transam/xact.c:2571 #, 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:3489 +#: access/transam/xact.c:3593 #, 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:3499 +#: access/transam/xact.c:3603 #, 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:3509 -#, fuzzy, c-format -#| msgid "%s cannot be executed from a function" +#: access/transam/xact.c:3613 +#, c-format msgid "%s cannot be executed within a pipeline" -msgstr "%s no puede ser ejecutado desde una función" +msgstr "%s no puede ser ejecutado en un “pipeline”" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3519 +#: access/transam/xact.c:3623 #, 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:3590 access/transam/xact.c:3915 -#: access/transam/xact.c:3994 access/transam/xact.c:4117 -#: access/transam/xact.c:4268 access/transam/xact.c:4337 -#: access/transam/xact.c:4448 +#: 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 #, 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:3801 +#: access/transam/xact.c:3905 #, c-format msgid "there is already a transaction in progress" msgstr "ya hay una transacción en curso" -#: access/transam/xact.c:3920 access/transam/xact.c:3999 -#: access/transam/xact.c:4122 +#: access/transam/xact.c:4024 access/transam/xact.c:4103 +#: access/transam/xact.c:4226 #, c-format msgid "there is no transaction in progress" msgstr "no hay una transacción en curso" -#: access/transam/xact.c:4010 +#: access/transam/xact.c:4114 #, 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:4133 +#: access/transam/xact.c:4237 #, c-format msgid "cannot abort during a parallel operation" msgstr "no se puede abortar durante una operación paralela" -#: access/transam/xact.c:4232 +#: access/transam/xact.c:4336 #, 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:4319 +#: access/transam/xact.c:4423 #, 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:4329 access/transam/xact.c:4380 -#: access/transam/xact.c:4440 access/transam/xact.c:4489 +#: access/transam/xact.c:4433 access/transam/xact.c:4484 +#: access/transam/xact.c:4544 access/transam/xact.c:4593 #, c-format msgid "savepoint \"%s\" does not exist" msgstr "no existe el «savepoint» «%s»" -#: access/transam/xact.c:4386 access/transam/xact.c:4495 +#: access/transam/xact.c:4490 access/transam/xact.c:4599 #, 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:4428 +#: access/transam/xact.c:4532 #, 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:4556 -#, c-format -msgid "cannot start subtransactions during a parallel operation" -msgstr "no se pueden iniciar subtransacciones durante una operación paralela" - -#: access/transam/xact.c:4624 -#, c-format -msgid "cannot commit subtransactions during a parallel operation" -msgstr "no se pueden comprometer subtransacciones durante una operación paralela" - -#: access/transam/xact.c:5270 +#: access/transam/xact.c:5376 #, 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:1466 +#: access/transam/xlog.c:1541 #, 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:2228 +#: access/transam/xlog.c:1768 +#, fuzzy, c-format +msgid "cannot read past end of generated WAL: requested %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:2209 access/transam/xlog.c:4500 #, c-format -msgid "could not write to log file %s at offset %u, length %zu: %m" +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:2227 +#, fuzzy, c-format +msgid "\"%s\" must be set to -1 during binary upgrade mode." +msgstr "debe ser superusuario para conectarse en modo de actualización binaria" + +#: access/transam/xlog.c:2476 +#, fuzzy, 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:3455 access/transam/xlogutils.c:833 -#: replication/walsender.c:2725 +#: access/transam/xlog.c:3738 access/transam/xlogutils.c:831 +#: replication/walsender.c:3045 #, 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:3739 +#: access/transam/xlog.c:4060 #, c-format msgid "could not rename file \"%s\": %m" msgstr "no se pudo renombrar el archivo «%s»: %m" -#: access/transam/xlog.c:3781 access/transam/xlog.c:3791 +#: access/transam/xlog.c:4103 access/transam/xlog.c:4114 +#: access/transam/xlog.c:4135 #, c-format msgid "required WAL directory \"%s\" does not exist" msgstr "no existe el directorio WAL «%s»" -#: access/transam/xlog.c:3797 +#: access/transam/xlog.c:4120 access/transam/xlog.c:4141 #, c-format msgid "creating missing WAL directory \"%s\"" msgstr "creando el directorio WAL faltante «%s»" -#: access/transam/xlog.c:3800 commands/dbcommands.c:3095 +#: access/transam/xlog.c:4124 access/transam/xlog.c:4144 +#: commands/dbcommands.c:3242 #, c-format msgid "could not create missing directory \"%s\": %m" msgstr "no se pudo crear el directorio faltante «%s»: %m" -#: access/transam/xlog.c:3867 +#: access/transam/xlog.c:4211 #, c-format msgid "could not generate secret authorization token" msgstr "no se pudo generar un token de autorización secreto" -#: access/transam/xlog.c:4017 access/transam/xlog.c:4026 -#: access/transam/xlog.c:4050 access/transam/xlog.c:4057 -#: access/transam/xlog.c:4064 access/transam/xlog.c:4069 -#: access/transam/xlog.c:4076 access/transam/xlog.c:4083 -#: access/transam/xlog.c:4090 access/transam/xlog.c:4097 -#: access/transam/xlog.c:4104 access/transam/xlog.c:4111 -#: access/transam/xlog.c:4120 access/transam/xlog.c:4127 -#: utils/init/miscinit.c:1762 +#: access/transam/xlog.c:4362 access/transam/xlog.c:4372 +#: access/transam/xlog.c:4398 access/transam/xlog.c:4406 +#: access/transam/xlog.c:4414 access/transam/xlog.c:4420 +#: access/transam/xlog.c:4428 access/transam/xlog.c:4436 +#: access/transam/xlog.c:4444 access/transam/xlog.c:4452 +#: access/transam/xlog.c:4460 access/transam/xlog.c:4468 +#: access/transam/xlog.c:4478 access/transam/xlog.c:4486 +#: utils/init/miscinit.c:1758 #, 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:4018 +#: access/transam/xlog.c:4363 #, 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:4022 +#: access/transam/xlog.c:4367 #, 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:4027 +#: access/transam/xlog.c:4373 #, 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:4030 access/transam/xlog.c:4054 -#: access/transam/xlog.c:4061 access/transam/xlog.c:4066 +#: access/transam/xlog.c:4376 access/transam/xlog.c:4402 +#: access/transam/xlog.c:4410 access/transam/xlog.c:4416 #, c-format msgid "It looks like you need to initdb." msgstr "Parece que necesita ejecutar initdb." -#: access/transam/xlog.c:4041 +#: access/transam/xlog.c:4388 #, 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:4051 +#: access/transam/xlog.c:4399 #, 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:4058 +#: access/transam/xlog.c:4407 #, 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:4065 +#: access/transam/xlog.c:4415 #, 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:4070 +#: access/transam/xlog.c:4421 #, 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:4073 access/transam/xlog.c:4080 -#: access/transam/xlog.c:4087 access/transam/xlog.c:4094 -#: access/transam/xlog.c:4101 access/transam/xlog.c:4108 -#: access/transam/xlog.c:4115 access/transam/xlog.c:4123 -#: access/transam/xlog.c:4130 +#: access/transam/xlog.c:4424 access/transam/xlog.c:4432 +#: access/transam/xlog.c:4440 access/transam/xlog.c:4448 +#: access/transam/xlog.c:4456 access/transam/xlog.c:4464 +#: access/transam/xlog.c:4472 access/transam/xlog.c:4481 +#: access/transam/xlog.c:4489 #, c-format msgid "It looks like you need to recompile or initdb." msgstr "Parece que necesita recompilar o ejecutar initdb." -#: access/transam/xlog.c:4077 +#: access/transam/xlog.c:4429 #, 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:4084 +#: access/transam/xlog.c:4437 #, 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:4091 +#: access/transam/xlog.c:4445 #, 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:4098 +#: access/transam/xlog.c:4453 #, 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:4105 +#: access/transam/xlog.c:4461 #, 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:4112 +#: access/transam/xlog.c:4469 #, 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:4121 +#: access/transam/xlog.c:4479 #, 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:4128 +#: access/transam/xlog.c:4487 #, 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:4137 +#: access/transam/xlog.c:4496 #, c-format -msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d byte" -msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d bytes" -msgstr[0] "El tamaño del segmento de WAL debe ser una potencia de dos entre 1 MB y 1 GB, pero el archivo de control especifica %d byte" -msgstr[1] "El tamaño del segmento de WAL debe ser una potencia de dos entre 1 MB y 1 GB, pero el archivo de control especifica %d bytes" +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:4149 +#: access/transam/xlog.c:4509 #, 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:4153 +#: access/transam/xlog.c:4513 #, 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:4308 catalog/namespace.c:4335 -#: commands/tablespace.c:1216 commands/user.c:2536 commands/variable.c:72 -#: utils/error/elog.c:2205 +#: access/transam/xlog.c:4661 catalog/namespace.c:4681 +#: commands/tablespace.c:1210 commands/user.c:2529 commands/variable.c:72 +#: replication/slot.c:2429 utils/error/elog.c:2230 #, c-format msgid "List syntax is invalid." msgstr "La sintaxis de lista no es válida." -#: access/transam/xlog.c:4354 commands/user.c:2552 commands/variable.c:173 -#: utils/error/elog.c:2231 +#: access/transam/xlog.c:4707 commands/user.c:2545 commands/variable.c:173 +#: utils/error/elog.c:2256 #, c-format msgid "Unrecognized key word: \"%s\"." msgstr "Palabra clave no reconocida: «%s»." -#: access/transam/xlog.c:4768 +#: access/transam/xlog.c:5128 #, 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:4776 +#: access/transam/xlog.c:5136 #, 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:4782 +#: access/transam/xlog.c:5142 #, 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:4999 +#: access/transam/xlog.c:5367 #, 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" +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:5000 +#: access/transam/xlog.c:5368 #, 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." +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:5001 +#: access/transam/xlog.c:5369 #, 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." +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:5065 +#: access/transam/xlog.c:5434 #, c-format msgid "control file contains invalid checkpoint location" -msgstr "el archivo de control contiene una ubicación no válida de punto de control" +msgstr "el archivo de control contiene una ubicación no válida de checkpoint" -#: access/transam/xlog.c:5076 +#: access/transam/xlog.c:5445 #, 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:5082 +#: access/transam/xlog.c:5451 #, 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:5088 +#: access/transam/xlog.c:5457 #, 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:5094 +#: access/transam/xlog.c:5463 #, 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:5096 +#: access/transam/xlog.c:5465 #, 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:5102 +#: access/transam/xlog.c:5471 #, 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:5104 +#: access/transam/xlog.c:5473 #, 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:5110 +#: access/transam/xlog.c:5479 #, 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:5116 +#: access/transam/xlog.c:5486 #, 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:5500 +#: access/transam/xlog.c:5874 #, 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:5501 +#: access/transam/xlog.c:5875 #, 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:5504 +#: access/transam/xlog.c:5879 #, c-format msgid "WAL ends before consistent recovery point" msgstr "WAL termina antes del punto de recuperación consistente" -#: access/transam/xlog.c:5550 +#: access/transam/xlog.c:5925 #, c-format msgid "selected new timeline ID: %u" msgstr "seleccionado nuevo ID de timeline: %u" -#: access/transam/xlog.c:5583 +#: access/transam/xlog.c:5958 #, c-format msgid "archive recovery complete" msgstr "recuperación completa" -#: access/transam/xlog.c:6185 +#: access/transam/xlog.c:6587 #, c-format msgid "shutting down" msgstr "apagando" #. translator: the placeholders show checkpoint options -#: access/transam/xlog.c:6224 +#: access/transam/xlog.c:6626 #, 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:6236 +#: access/transam/xlog.c:6638 #, 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:6301 +#: access/transam/xlog.c:6703 #, 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 "" +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:6324 +#: access/transam/xlog.c:6726 #, 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 "" +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:6762 +#: access/transam/xlog.c:7208 #, 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:7323 +#: access/transam/xlog.c:7793 #, c-format msgid "recovery restart point at %X/%X" msgstr "restartpoint de recuperación en %X/%X" -#: access/transam/xlog.c:7325 +#: access/transam/xlog.c:7795 #, 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:7573 +#: access/transam/xlog.c:8057 #, c-format msgid "restore point \"%s\" created at %X/%X" msgstr "punto de recuperación «%s» creado en %X/%X" -#: access/transam/xlog.c:7780 +#: access/transam/xlog.c:8264 #, 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:7837 +#: access/transam/xlog.c:8322 #, 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:7895 +#: access/transam/xlog.c:8380 #, 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:7924 +#: access/transam/xlog.c:8409 #, 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:8191 +#: access/transam/xlog.c:8680 #, 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:8196 +#: access/transam/xlog.c:8685 #, c-format msgid "could not fdatasync file \"%s\": %m" msgstr "no se pudo sincronizar (fdatasync) archivo «%s»: %m" -#: access/transam/xlog.c:8281 access/transam/xlog.c:8604 +#: access/transam/xlog.c:8772 access/transam/xlog.c:9108 #, 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:8282 access/transam/xlog.c:8605 -#: access/transam/xlogfuncs.c:254 +#: access/transam/xlog.c:8773 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." +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:8287 +#: access/transam/xlog.c:8778 #, 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:8408 +#: access/transam/xlog.c:8899 #, 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" +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:8410 access/transam/xlog.c:8693 +#: access/transam/xlog.c:8901 access/transam/xlog.c:9197 #, 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." +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:8477 backup/basebackup.c:1351 utils/adt/misc.c:354 +#: access/transam/xlog.c:8981 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:8484 backup/basebackup.c:1356 utils/adt/misc.c:359 +#: access/transam/xlog.c:8988 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:8643 backup/basebackup.c:1217 +#: access/transam/xlog.c:9109 +#, 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:9147 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:8644 backup/basebackup.c:1218 +#: access/transam/xlog.c:9148 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:8691 +#: access/transam/xlog.c:9195 #, 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" +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:8807 +#: access/transam/xlog.c:9311 #, 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:8821 +#: access/transam/xlog.c:9325 #, 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:8823 +#: access/transam/xlog.c:9327 #, 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." +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:8830 +#: access/transam/xlog.c:9334 #, c-format msgid "all required WAL segments have been archived" msgstr "todos los segmentos de WAL requeridos han sido archivados" -#: access/transam/xlog.c:8834 +#: access/transam/xlog.c:9338 #, 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:8873 +#: access/transam/xlog.c:9377 #, 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" -#: access/transam/xlogarchive.c:207 +#: access/transam/xlogarchive.c:213 #, c-format msgid "archive file \"%s\" has wrong size: %lld instead of %lld" msgstr "el archivo «%s» tiene tamaño erróneo: %lld en lugar de %lld" -#: access/transam/xlogarchive.c:216 +#: access/transam/xlogarchive.c:222 #, c-format msgid "restored log file \"%s\" from archive" msgstr "se ha restaurado el archivo «%s» desde el área de archivado" -#: access/transam/xlogarchive.c:230 +#: access/transam/xlogarchive.c:236 #, c-format -msgid "restore_command returned a zero exit status, but stat() failed." -msgstr "restore_command retornó un estado de salida cero, pero stat() falló." +msgid "\"restore_command\" returned a zero exit status, but stat() failed." +msgstr "«restore_command» retornó un estado de salida cero, pero stat() falló." -#: access/transam/xlogarchive.c:262 +#: access/transam/xlogarchive.c:268 #, c-format msgid "could not restore file \"%s\" from archive: %s" msgstr "no se pudo recuperar el archivo «%s»: %s" @@ -2744,333 +2973,295 @@ msgstr "no se pudo recuperar el archivo «%s»: %s" #. translator: First %s represents a postgresql.conf parameter name like #. "recovery_end_command", the 2nd is the value of that parameter, the #. third an already translated error message. -#: access/transam/xlogarchive.c:340 +#: access/transam/xlogarchive.c:346 #, c-format msgid "%s \"%s\": %s" msgstr "%s «%s»: %s" -#: access/transam/xlogarchive.c:450 access/transam/xlogarchive.c:530 +#: access/transam/xlogarchive.c:456 access/transam/xlogarchive.c:536 #, c-format msgid "could not create archive status file \"%s\": %m" msgstr "no se pudo crear el archivo de estado «%s»: %m" -#: access/transam/xlogarchive.c:458 access/transam/xlogarchive.c:538 +#: access/transam/xlogarchive.c:464 access/transam/xlogarchive.c:544 #, c-format msgid "could not write archive status file \"%s\": %m" msgstr "no se pudo escribir el archivo de estado «%s»: %m" -#: access/transam/xlogfuncs.c:75 backup/basebackup.c:973 +#: access/transam/xlogfuncs.c:69 backup/basebackup.c:997 #, c-format msgid "a backup is already in progress in this session" msgstr "ya hay un respaldo en curso en esta sesión" -#: access/transam/xlogfuncs.c:146 +#: access/transam/xlogfuncs.c:140 #, c-format msgid "backup is not in progress" msgstr "no hay respaldo en curso" -#: access/transam/xlogfuncs.c:147 +#: access/transam/xlogfuncs.c:141 #, c-format msgid "Did you call pg_backup_start()?" msgstr "¿Invocó pg_backup_start()?" -#: access/transam/xlogfuncs.c:190 access/transam/xlogfuncs.c:248 -#: access/transam/xlogfuncs.c:287 access/transam/xlogfuncs.c:308 -#: access/transam/xlogfuncs.c:329 +#: access/transam/xlogfuncs.c:184 access/transam/xlogfuncs.c:242 +#: access/transam/xlogfuncs.c:281 access/transam/xlogfuncs.c:302 +#: access/transam/xlogfuncs.c:323 #, c-format msgid "WAL control functions cannot be executed during recovery." msgstr "Las funciones de control de WAL no pueden ejecutarse durante la recuperación." -#: access/transam/xlogfuncs.c:215 access/transam/xlogfuncs.c:399 -#: access/transam/xlogfuncs.c:457 +#: access/transam/xlogfuncs.c:209 access/transam/xlogfuncs.c:389 +#: access/transam/xlogfuncs.c:447 #, c-format msgid "%s cannot be executed during recovery." msgstr "No se puede ejecutar %s durante la recuperación." -# FIXME see logical.c:81 -#: access/transam/xlogfuncs.c:221 -#, fuzzy, c-format -#| msgid "replication slots can only be used if wal_level >= replica" -msgid "pg_log_standby_snapshot() can only be used if wal_level >= replica" -msgstr "los slots de replicación sólo pueden usarse si wal_level >= replica" +#: access/transam/xlogfuncs.c:215 +#, c-format +msgid "pg_log_standby_snapshot() can only be used if \"wal_level\" >= \"replica\"" +msgstr "pg_log_standby_snapshot() sólo puede usarse si «wal_level» >= «replica»" -#: access/transam/xlogfuncs.c:253 +#: access/transam/xlogfuncs.c:247 #, c-format msgid "WAL level not sufficient for creating a restore point" msgstr "el nivel de WAL no es suficiente para crear un punto de recuperación" -#: access/transam/xlogfuncs.c:261 +#: access/transam/xlogfuncs.c:255 #, c-format msgid "value too long for restore point (maximum %d characters)" msgstr "el valor es demasiado largo para un punto de recuperación (máximo %d caracteres)" -#: access/transam/xlogfuncs.c:496 -#, fuzzy, c-format -#| msgid "invalid locale name \"%s\"" +#: access/transam/xlogfuncs.c:486 +#, c-format msgid "invalid WAL file name \"%s\"" -msgstr "nombre de configuración regional «%s» no es válido" +msgstr "nombre de archivo WAL «%s» no válido" -#: access/transam/xlogfuncs.c:532 access/transam/xlogfuncs.c:562 -#: access/transam/xlogfuncs.c:586 access/transam/xlogfuncs.c:609 -#: access/transam/xlogfuncs.c:689 +#: access/transam/xlogfuncs.c:522 access/transam/xlogfuncs.c:552 +#: access/transam/xlogfuncs.c:576 access/transam/xlogfuncs.c:599 +#: access/transam/xlogfuncs.c:679 #, c-format msgid "recovery is not in progress" msgstr "la recuperación no está en proceso" -#: access/transam/xlogfuncs.c:533 access/transam/xlogfuncs.c:563 -#: access/transam/xlogfuncs.c:587 access/transam/xlogfuncs.c:610 -#: access/transam/xlogfuncs.c:690 +#: access/transam/xlogfuncs.c:523 access/transam/xlogfuncs.c:553 +#: access/transam/xlogfuncs.c:577 access/transam/xlogfuncs.c:600 +#: access/transam/xlogfuncs.c:680 #, c-format msgid "Recovery control functions can only be executed during recovery." msgstr "Las funciones de control de recuperación sólo pueden ejecutarse durante la recuperación." -#: access/transam/xlogfuncs.c:538 access/transam/xlogfuncs.c:568 +#: access/transam/xlogfuncs.c:528 access/transam/xlogfuncs.c:558 #, c-format msgid "standby promotion is ongoing" msgstr "la promoción del standby está en curso" -#: access/transam/xlogfuncs.c:539 access/transam/xlogfuncs.c:569 +#: access/transam/xlogfuncs.c:529 access/transam/xlogfuncs.c:559 #, c-format msgid "%s cannot be executed after promotion is triggered." msgstr "%s no puede ser ejecutado después que una promoción es solicitada." -#: access/transam/xlogfuncs.c:695 +#: access/transam/xlogfuncs.c:685 #, c-format msgid "\"wait_seconds\" must not be negative or zero" msgstr "«wait_seconds» no puede ser negativo o cero" -#: access/transam/xlogfuncs.c:715 storage/ipc/signalfuncs.c:260 +#: access/transam/xlogfuncs.c:707 storage/ipc/signalfuncs.c:265 #, c-format msgid "failed to send signal to postmaster: %m" msgstr "no se pudo enviar señal a postmaster: %m" -#: access/transam/xlogfuncs.c:751 +#: access/transam/xlogfuncs.c:739 libpq/be-secure.c:237 libpq/be-secure.c:346 +#, c-format +msgid "terminating connection due to unexpected postmaster exit" +msgstr "terminando la conexión debido al término inesperado de postmaster" + +#: access/transam/xlogfuncs.c:740 +#, c-format +msgid "while waiting on promotion" +msgstr "mientras se esperaba la promoción" + +#: access/transam/xlogfuncs.c:744 #, c-format msgid "server did not promote within %d second" msgid_plural "server did not promote within %d seconds" msgstr[0] "el servidor no se promovió en %d segundo" msgstr[1] "el servidor no se promovió en %d segundos" -#: access/transam/xlogprefetcher.c:1092 +#: access/transam/xlogprefetcher.c:1088 #, c-format -msgid "recovery_prefetch is not supported on platforms that lack posix_fadvise()." -msgstr "recovery_prefetch no está soportado en plataformas que no tienen posix_fadvise()." +msgid "\"recovery_prefetch\" is not supported on platforms that lack posix_fadvise()." +msgstr "«recovery_prefetch» no está soportado en plataformas que no tienen posix_fadvise()." -#: access/transam/xlogreader.c:626 +#: access/transam/xlogreader.c:619 #, c-format msgid "invalid record offset at %X/%X: expected at least %u, got %u" msgstr "desplazamiento de registro no válido en %X/%X: se esperaba al menos %u, se obtuvo %u" -#: access/transam/xlogreader.c:635 +#: access/transam/xlogreader.c:628 #, c-format msgid "contrecord is requested by %X/%X" msgstr "contrecord solicitado por %X/%X" -#: access/transam/xlogreader.c:676 access/transam/xlogreader.c:1123 +#: access/transam/xlogreader.c:669 access/transam/xlogreader.c:1134 #, c-format msgid "invalid record length at %X/%X: expected at least %u, got %u" msgstr "largo de registro no válido en %X/%X: se esperaba al menos %u, se obtuvo %u" -#: access/transam/xlogreader.c:705 -#, c-format -msgid "out of memory while trying to decode a record of length %u" -msgstr "memoria agotada mientras se intentaba decodificar un registro de largo %u" - -#: access/transam/xlogreader.c:727 -#, c-format -msgid "record length %u at %X/%X too long" -msgstr "largo de registro %u en %X/%X demasiado largo" - -#: access/transam/xlogreader.c:776 +#: access/transam/xlogreader.c:758 #, c-format msgid "there is no contrecord flag at %X/%X" msgstr "no hay bandera de contrecord en %X/%X" -#: access/transam/xlogreader.c:789 +#: access/transam/xlogreader.c:771 #, c-format msgid "invalid contrecord length %u (expected %lld) at %X/%X" msgstr "largo de contrecord %u no válido (se esperaba %lld) en %X/%X" -#: access/transam/xlogreader.c:924 -#, c-format -msgid "missing contrecord at %X/%X" -msgstr "falta un contrecord en %X/%X" - -#: access/transam/xlogreader.c:1131 +#: access/transam/xlogreader.c:1142 #, c-format msgid "invalid resource manager ID %u at %X/%X" msgstr "ID de gestor de recursos %u no válido en %X/%X" -#: access/transam/xlogreader.c:1144 access/transam/xlogreader.c:1160 +#: access/transam/xlogreader.c:1155 access/transam/xlogreader.c:1171 #, c-format msgid "record with incorrect prev-link %X/%X at %X/%X" msgstr "registro con prev-link %X/%X incorrecto en %X/%X" -#: access/transam/xlogreader.c:1196 +#: access/transam/xlogreader.c:1209 #, c-format msgid "incorrect resource manager data checksum in record at %X/%X" msgstr "suma de verificación de los datos del gestor de recursos incorrecta en el registro en %X/%X" -#: access/transam/xlogreader.c:1230 +#: access/transam/xlogreader.c:1243 #, c-format msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u" msgstr "número mágico %04X no válido en segmento WAL %s, LSN %X/%X, posición %u" -#: access/transam/xlogreader.c:1245 access/transam/xlogreader.c:1287 +#: access/transam/xlogreader.c:1258 access/transam/xlogreader.c:1300 #, c-format msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u" msgstr "info bits %04X no válidos en segment WAL %s, LSN %X/%X, posición %u" -#: access/transam/xlogreader.c:1261 +#: access/transam/xlogreader.c:1274 #, 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 "archivo WAL es de un sistema de bases de datos distinto: identificador de sistema en archivo WAL es %llu, identificador en pg_control es %llu" -#: access/transam/xlogreader.c:1269 +#: access/transam/xlogreader.c:1282 #, c-format msgid "WAL file is from different database system: incorrect segment size in page header" msgstr "archivo WAL es de un sistema de bases de datos distinto: tamaño de segmento incorrecto en cabecera de paǵina" -#: access/transam/xlogreader.c:1275 +#: access/transam/xlogreader.c:1288 #, c-format msgid "WAL file is from different database system: incorrect XLOG_BLCKSZ in page header" msgstr "archivo WAL es de un sistema de bases de datos distinto: XLOG_BLCKSZ incorrecto en cabecera de paǵina" -#: access/transam/xlogreader.c:1307 +#: access/transam/xlogreader.c:1320 #, c-format msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u" msgstr "pageaddr %X/%X inesperado en segmento WAL %s, LSN %X/%X, posición %u" -#: access/transam/xlogreader.c:1333 +#: access/transam/xlogreader.c:1346 #, c-format msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, offset %u" msgstr "ID de timeline %u fuera de secuencia (después de %u) en segmento WAL %s, LSN %X/%X, posición %u" -#: access/transam/xlogreader.c:1739 +#: access/transam/xlogreader.c:1749 #, c-format msgid "out-of-order block_id %u at %X/%X" msgstr "block_id %u fuera de orden en %X/%X" -#: access/transam/xlogreader.c:1763 +#: access/transam/xlogreader.c:1773 #, c-format msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X" msgstr "BKPBLOCK_HAS_DATA está definido, pero no hay datos en %X/%X" -#: access/transam/xlogreader.c:1770 +#: access/transam/xlogreader.c:1780 #, c-format msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X" msgstr "BKPBLOCK_HAS_DATA no está definido, pero el largo de los datos es %u en %X/%X" -#: access/transam/xlogreader.c:1806 +#: access/transam/xlogreader.c:1816 #, c-format msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X" msgstr "BKPIMAGE_HAS_HOLE está definido, pero posición del agujero es %u largo %u largo de imagen %u en %X/%X" -#: access/transam/xlogreader.c:1822 +#: access/transam/xlogreader.c:1832 #, c-format msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X" msgstr "BKPIMAGE_HAS_HOLE no está definido, pero posición del agujero es %u largo %u en %X/%X" -#: access/transam/xlogreader.c:1836 +#: access/transam/xlogreader.c:1846 #, c-format msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X" msgstr "BKPIMAGE_COMPRESSED definido, pero largo de imagen de bloque es %u en %X/%X" -#: access/transam/xlogreader.c:1851 +#: access/transam/xlogreader.c:1861 #, c-format msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X" msgstr "ni BKPIMAGE_HAS_HOLE ni BKPIMAGE_COMPRESSED están definidos, pero el largo de imagen de bloque es %u en %X/%X" -#: access/transam/xlogreader.c:1867 +#: access/transam/xlogreader.c:1877 #, c-format msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X" msgstr "BKPBLOCK_SAME_REL está definido, pero no hay «rel» anterior en %X/%X " -#: access/transam/xlogreader.c:1879 +#: access/transam/xlogreader.c:1889 #, c-format msgid "invalid block_id %u at %X/%X" msgstr "block_id %u no válido en %X/%X" -#: access/transam/xlogreader.c:1946 +#: access/transam/xlogreader.c:1956 #, c-format msgid "record with invalid length at %X/%X" msgstr "registro con largo no válido en %X/%X" -#: access/transam/xlogreader.c:1972 +#: access/transam/xlogreader.c:1982 #, c-format msgid "could not locate backup block with ID %d in WAL record" msgstr "no se pudo localizar un bloque de respaldo con ID %d en el registro WAL" -#: access/transam/xlogreader.c:2056 +#: access/transam/xlogreader.c:2066 #, c-format msgid "could not restore image at %X/%X with invalid block %d specified" msgstr "no se pudo restaurar la imagen en %X/%X con bloque especifica %d no válido" -#: access/transam/xlogreader.c:2063 +#: access/transam/xlogreader.c:2073 #, c-format msgid "could not restore image at %X/%X with invalid state, block %d" msgstr "no se pudo restaurar la imagen en %X/%X con estado no válido, bloque %d" -#: access/transam/xlogreader.c:2090 access/transam/xlogreader.c:2107 +#: access/transam/xlogreader.c:2100 access/transam/xlogreader.c:2117 #, c-format msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d" msgstr "no se pudo restaurar la imagen en %X/%X comprimida con %s que no está soportado por esta instalación, bloque %d" -#: access/transam/xlogreader.c:2116 +#: access/transam/xlogreader.c:2126 #, c-format msgid "could not restore image at %X/%X compressed with unknown method, block %d" msgstr "no se pudo restaurar la imagen en %X/%X comprimida con un método desconocido, bloque %d" -#: access/transam/xlogreader.c:2124 +#: access/transam/xlogreader.c:2134 #, c-format msgid "could not decompress image at %X/%X, block %d" msgstr "no se pudo descomprimir la imagen en %X/%X, bloque %d" -#: access/transam/xlogrecovery.c:547 -#, c-format -msgid "entering standby mode" -msgstr "entrando al modo standby" - -#: access/transam/xlogrecovery.c:550 -#, 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:554 -#, c-format -msgid "starting point-in-time recovery to %s" -msgstr "comenzando el proceso de recuperación hasta %s" - -#: access/transam/xlogrecovery.c:558 -#, c-format -msgid "starting point-in-time recovery to \"%s\"" -msgstr "comenzando el proceso de recuperación hasta «%s»" - -#: access/transam/xlogrecovery.c:562 -#, 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:566 -#, 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:569 +#: access/transam/xlogrecovery.c:617 #, c-format -msgid "starting archive recovery" -msgstr "comenzando proceso de recuperación" +msgid "starting backup recovery with redo LSN %X/%X, checkpoint LSN %X/%X, on timeline ID %u" +msgstr "iniciando recuperación de backup con LSN de redo %X/%X, LSN de checkpoint %X/%X, en timeline %u" -#: access/transam/xlogrecovery.c:653 +#: access/transam/xlogrecovery.c:649 #, c-format -msgid "could not find redo location referenced by checkpoint record" -msgstr "no se pudo encontrar la ubicación de redo referida por el registro de punto de control" +msgid "could not find redo location %X/%X referenced by checkpoint record at %X/%X" +msgstr "no se pudo encontrar la ubicación de redo %X/%X referida por el registro de checkpoint en %X/%X" # Purposefully deviate from quoting convention here, since argument is a shell command. -#: access/transam/xlogrecovery.c:654 access/transam/xlogrecovery.c:664 -#, c-format +#: access/transam/xlogrecovery.c:651 access/transam/xlogrecovery.c:662 +#, fuzzy, c-format msgid "" -"If you are restoring from a backup, touch \"%s/recovery.signal\" and add required recovery options.\n" +"If you are restoring from a backup, touch \"%s/recovery.signal\" or \"%s/standby.signal\" and add required recovery options.\n" "If you are not restoring from a backup, try removing the file \"%s/backup_label\".\n" "Be careful: removing \"%s/backup_label\" will result in a corrupt cluster if restoring from a backup." msgstr "" @@ -3078,694 +3269,801 @@ msgstr "" "Si no está restaurando de un respaldo, intente eliminar el archivo \"%s/backup_label\".\n" "Tenga cuidado: eliminar \"%s/backup_label\" resultará en un clúster corrupto si está restaurando de un respaldo." -#: access/transam/xlogrecovery.c:663 +#: access/transam/xlogrecovery.c:660 #, c-format -msgid "could not locate required checkpoint record" -msgstr "no se pudo localizar el registro del punto de control requerido" +msgid "could not locate required checkpoint record at %X/%X" +msgstr "no se pudo localizar el registro de checkpoint requerido en %X/%X" -#: access/transam/xlogrecovery.c:692 commands/tablespace.c:670 +#: access/transam/xlogrecovery.c:690 commands/tablespace.c:664 #, c-format msgid "could not create symbolic link \"%s\": %m" msgstr "no se pudo crear el enlace simbólico «%s»: %m" -#: access/transam/xlogrecovery.c:724 access/transam/xlogrecovery.c:730 +#: access/transam/xlogrecovery.c:723 access/transam/xlogrecovery.c:729 #, c-format msgid "ignoring file \"%s\" because no file \"%s\" exists" msgstr "ignorando el archivo «%s» porque no existe un archivo «%s»" -#: access/transam/xlogrecovery.c:726 +#: access/transam/xlogrecovery.c:725 #, c-format msgid "File \"%s\" was renamed to \"%s\"." msgstr "El archivo «%s» fue renombrado a «%s»." -#: access/transam/xlogrecovery.c:732 +#: access/transam/xlogrecovery.c:731 #, c-format msgid "Could not rename file \"%s\" to \"%s\": %m." msgstr "No se pudo renombrar el archivo de «%s» a «%s»: %m." -#: access/transam/xlogrecovery.c:786 +#: access/transam/xlogrecovery.c:770 +#, c-format +msgid "restarting backup recovery with redo LSN %X/%X" +msgstr "reiniciando recuperación del backup con LSN de redo «%X/%X»" + +#: access/transam/xlogrecovery.c:795 +#, c-format +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 +#, c-format +msgid "entering standby mode" +msgstr "entrando al modo standby" + +#: access/transam/xlogrecovery.c:809 +#, 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 +#, c-format +msgid "starting point-in-time recovery to %s" +msgstr "comenzando el proceso de recuperación hasta %s" + +#: access/transam/xlogrecovery.c:817 +#, c-format +msgid "starting point-in-time recovery to \"%s\"" +msgstr "comenzando el proceso de recuperación hasta «%s»" + +#: access/transam/xlogrecovery.c:821 +#, 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 +#, 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 #, c-format -msgid "could not locate a valid checkpoint record" -msgstr "no se pudo localizar un registro de punto de control válido" +msgid "starting archive recovery" +msgstr "comenzando proceso de recuperación" -#: access/transam/xlogrecovery.c:810 +#: access/transam/xlogrecovery.c:849 #, 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:812 +#: access/transam/xlogrecovery.c:851 #, 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 punto de control 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." +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:826 +#: access/transam/xlogrecovery.c:865 #, 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:854 +#: access/transam/xlogrecovery.c:893 #, c-format msgid "invalid next transaction ID" msgstr "el siguiente ID de transacción no es válido" -#: access/transam/xlogrecovery.c:859 +#: access/transam/xlogrecovery.c:898 #, c-format msgid "invalid redo in checkpoint record" -msgstr "redo no es válido en el registro de punto de control" +msgstr "redo no es válido en el registro de checkpoint" -#: access/transam/xlogrecovery.c:870 +#: access/transam/xlogrecovery.c:909 #, c-format msgid "invalid redo record in shutdown checkpoint" -msgstr "registro redo no es válido en el punto de control de apagado" +msgstr "registro redo no es válido en el checkpoint de apagado" -#: access/transam/xlogrecovery.c:899 +#: access/transam/xlogrecovery.c:938 #, 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:903 +#: access/transam/xlogrecovery.c:942 #, 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:946 +#: access/transam/xlogrecovery.c:985 #, 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:947 +#: access/transam/xlogrecovery.c:986 #, 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:1001 +#: access/transam/xlogrecovery.c:1040 #, 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:1066 +#: access/transam/xlogrecovery.c:1105 #, 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:1083 +#: access/transam/xlogrecovery.c:1122 #, c-format -msgid "specified neither primary_conninfo nor restore_command" -msgstr "no se especifica primary_conninfo ni restore_command" +msgid "specified neither \"primary_conninfo\" nor \"restore_command\"" +msgstr "no se especifica «primary_conninfo» ni «restore_command»" -#: access/transam/xlogrecovery.c:1084 +#: access/transam/xlogrecovery.c:1123 #, 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:1092 +#: access/transam/xlogrecovery.c:1131 #, 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" +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:1130 +#: access/transam/xlogrecovery.c:1169 #, 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:1213 access/transam/xlogrecovery.c:1220 -#: access/transam/xlogrecovery.c:1279 access/transam/xlogrecovery.c:1359 -#: access/transam/xlogrecovery.c:1383 +#: 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 #, c-format msgid "invalid data in file \"%s\"" msgstr "datos no válidos en archivo «%s»" -#: access/transam/xlogrecovery.c:1280 +#: access/transam/xlogrecovery.c:1319 #, 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:1662 +#: access/transam/xlogrecovery.c:1330 +#, 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 +#, 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 +#, 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 #, c-format msgid "redo starts at %X/%X" msgstr "redo comienza en %X/%X" -#: access/transam/xlogrecovery.c:1675 +#: access/transam/xlogrecovery.c:1753 #, 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:1767 +#: access/transam/xlogrecovery.c:1843 #, 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:1799 +#: access/transam/xlogrecovery.c:1875 #, 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:1805 +#: access/transam/xlogrecovery.c:1881 #, 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:1814 +#: access/transam/xlogrecovery.c:1890 #, c-format msgid "redo is not required" msgstr "no se requiere redo" -#: access/transam/xlogrecovery.c:1825 +#: access/transam/xlogrecovery.c:1901 #, 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:2019 +#: access/transam/xlogrecovery.c:2095 #, 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:2086 +#: access/transam/xlogrecovery.c:2162 #, c-format msgid "unexpected directory entry \"%s\" found in %s" msgstr "entrada de directorio inesperada «%s» fue encontrada en %s" -#: access/transam/xlogrecovery.c:2088 +#: access/transam/xlogrecovery.c:2164 #, 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:2089 +#: access/transam/xlogrecovery.c:2165 +#, 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 #, 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." +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:2163 +#: access/transam/xlogrecovery.c:2247 #, 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:2201 +#: access/transam/xlogrecovery.c:2285 #, c-format msgid "WAL redo at %X/%X for %s" msgstr "redo WAL en %X/%X para %s" -#: access/transam/xlogrecovery.c:2299 +#: access/transam/xlogrecovery.c:2383 #, 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 punto de control" +msgstr "ID de timeline previo %u inesperado (timeline actual %u) en el registro de checkpoint" -#: access/transam/xlogrecovery.c:2308 +#: access/transam/xlogrecovery.c:2392 #, 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 punto de control" +msgstr "ID de timeline %u inesperado (después de %u) en el registro de checkpoint" -#: access/transam/xlogrecovery.c:2324 +#: access/transam/xlogrecovery.c:2408 #, 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:2508 access/transam/xlogrecovery.c:2784 +#: access/transam/xlogrecovery.c:2592 access/transam/xlogrecovery.c:2868 #, c-format msgid "recovery stopping after reaching consistency" msgstr "deteniendo recuperación al alcanzar un estado consistente" -#: access/transam/xlogrecovery.c:2529 +#: access/transam/xlogrecovery.c:2613 #, 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:2619 +#: access/transam/xlogrecovery.c:2703 #, 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:2626 +#: access/transam/xlogrecovery.c:2710 #, 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:2679 +#: access/transam/xlogrecovery.c:2763 #, 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:2697 +#: access/transam/xlogrecovery.c:2781 #, 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:2764 +#: access/transam/xlogrecovery.c:2848 #, 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:2772 +#: access/transam/xlogrecovery.c:2856 #, 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:2853 +#: access/transam/xlogrecovery.c:2937 #, c-format msgid "pausing at the end of recovery" msgstr "pausando al final de la recuperación" -#: access/transam/xlogrecovery.c:2854 +#: access/transam/xlogrecovery.c:2938 #, c-format msgid "Execute pg_wal_replay_resume() to promote." msgstr "Ejecute pg_wal_replay_resume() para promover." -#: access/transam/xlogrecovery.c:2857 access/transam/xlogrecovery.c:4594 +#: access/transam/xlogrecovery.c:2941 access/transam/xlogrecovery.c:4678 #, c-format msgid "recovery has paused" msgstr "la recuperación está en pausa" -#: access/transam/xlogrecovery.c:2858 +#: access/transam/xlogrecovery.c:2942 #, c-format msgid "Execute pg_wal_replay_resume() to continue." msgstr "Ejecute pg_wal_replay_resume() para continuar." -#: access/transam/xlogrecovery.c:3121 -#, fuzzy, c-format -#| msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u" +#: access/transam/xlogrecovery.c:3205 +#, c-format msgid "unexpected timeline ID %u in WAL segment %s, LSN %X/%X, offset %u" -msgstr "pageaddr %X/%X inesperado en segmento WAL %s, LSN %X/%X, posición %u" +msgstr "ID de timeline %u inesperado en segmento WAL %s, LSN %X/%X, posición %u" -#: access/transam/xlogrecovery.c:3329 -#, fuzzy, c-format -#| msgid "could not read from file %s, offset %d: %m" +#: access/transam/xlogrecovery.c:3413 +#, c-format msgid "could not read from WAL segment %s, LSN %X/%X, offset %u: %m" -msgstr "no se pudo leer desde el archivo «%s» en la posición %d: %m" +msgstr "no se pudo leer desde el segmento de WAL %s, LSN %X/%X, posición %u: %m" -#: access/transam/xlogrecovery.c:3336 -#, fuzzy, c-format -#| msgid "could not read from file %s, offset %d: read %d of %d" +#: access/transam/xlogrecovery.c:3420 +#, 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 archivo %s, posición %d: leídos %d de %d" +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:3976 -#, fuzzy, c-format -#| msgid "invalid checkpoint record" +#: access/transam/xlogrecovery.c:4060 +#, c-format msgid "invalid checkpoint location" -msgstr "el registro del punto de control no es válido" +msgstr "ubicación de checkpoint no válida" -#: access/transam/xlogrecovery.c:3986 +#: access/transam/xlogrecovery.c:4070 #, c-format msgid "invalid checkpoint record" -msgstr "el registro del punto de control no es válido" +msgstr "el registro del checkpoint no es válido" -#: access/transam/xlogrecovery.c:3992 +#: access/transam/xlogrecovery.c:4076 #, c-format msgid "invalid resource manager ID in checkpoint record" -msgstr "el ID de gestor de recursos en el registro del punto de control no es válido" +msgstr "el ID de gestor de recursos en el registro del checkpoint no es válido" -#: access/transam/xlogrecovery.c:4000 +#: access/transam/xlogrecovery.c:4084 #, c-format msgid "invalid xl_info in checkpoint record" -msgstr "xl_info en el registro del punto de control no es válido" +msgstr "xl_info en el registro del checkpoint no es válido" -#: access/transam/xlogrecovery.c:4006 +#: access/transam/xlogrecovery.c:4090 #, c-format msgid "invalid length of checkpoint record" -msgstr "la longitud del registro de punto de control no es válida" +msgstr "la longitud del registro de checkpoint no es válida" -#: access/transam/xlogrecovery.c:4060 +#: access/transam/xlogrecovery.c:4144 #, 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:4074 +#: access/transam/xlogrecovery.c:4158 #, 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:4093 +#: access/transam/xlogrecovery.c:4177 #, c-format msgid "new target timeline is %u" msgstr "el nuevo timeline destino es %u" -#: access/transam/xlogrecovery.c:4296 +#: access/transam/xlogrecovery.c:4380 #, 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:4356 +#: access/transam/xlogrecovery.c:4440 #, c-format msgid "received promote request" msgstr "se recibió petición de promoción" -#: access/transam/xlogrecovery.c:4585 +#: access/transam/xlogrecovery.c:4669 #, 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:4586 access/transam/xlogrecovery.c:4613 -#: access/transam/xlogrecovery.c:4643 +#: access/transam/xlogrecovery.c:4670 access/transam/xlogrecovery.c:4697 +#: access/transam/xlogrecovery.c:4727 #, 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:4595 +#: access/transam/xlogrecovery.c:4679 #, 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:4596 +#: access/transam/xlogrecovery.c:4680 #, 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:4607 +#: access/transam/xlogrecovery.c:4691 #, 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:4617 +#: access/transam/xlogrecovery.c:4701 #, 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:4641 +#: access/transam/xlogrecovery.c:4725 #, 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:4647 +#: access/transam/xlogrecovery.c:4731 #, 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:4689 +#: access/transam/xlogrecovery.c:4773 #, c-format msgid "multiple recovery targets specified" msgstr "múltiples valores de destino de recuperación especificados" -#: access/transam/xlogrecovery.c:4690 +#: access/transam/xlogrecovery.c:4774 #, 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." +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:4701 +#: access/transam/xlogrecovery.c:4785 #, c-format msgid "The only allowed value is \"immediate\"." msgstr "El único valor permitido es «immediate»." -#: access/transam/xlogrecovery.c:4853 utils/adt/timestamp.c:186 -#: utils/adt/timestamp.c:439 +#: access/transam/xlogrecovery.c:4937 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:4898 +#: access/transam/xlogrecovery.c:4982 #, c-format -msgid "recovery_target_timeline is not a valid number." -msgstr "recovery_target_timeline no es un número válido." +msgid "\"recovery_target_timeline\" is not a valid number." +msgstr "«recovery_target_timeline» no es un número válido." -#: access/transam/xlogutils.c:1039 -#, fuzzy, c-format -#| msgid "could not read from file %s, offset %d: %m" +#: access/transam/xlogutils.c:1032 +#, c-format msgid "could not read from WAL segment %s, offset %d: %m" -msgstr "no se pudo leer desde el archivo «%s» en la posición %d: %m" +msgstr "no se pudo leer desde el segmento de WAL %s, posición %d: %m" -#: access/transam/xlogutils.c:1046 -#, fuzzy, c-format -#| msgid "could not read from file %s, offset %d: read %d of %d" +#: access/transam/xlogutils.c:1039 +#, c-format msgid "could not read from WAL segment %s, offset %d: read %d of %d" -msgstr "no se pudo leer del archivo %s, posición %d: leídos %d de %d" +msgstr "no se pudo leer del segmento de WAL %s, posición %d: leídos %d de %d" -#: archive/shell_archive.c:96 +#: archive/shell_archive.c:98 #, c-format msgid "archive command failed with exit code %d" msgstr "la orden de archivado falló con código de retorno %d" -#: archive/shell_archive.c:98 archive/shell_archive.c:108 -#: archive/shell_archive.c:114 archive/shell_archive.c:123 +#: archive/shell_archive.c:100 archive/shell_archive.c:110 +#: archive/shell_archive.c:116 archive/shell_archive.c:125 #, c-format msgid "The failed archive command was: %s" msgstr "La orden fallida era: «%s»" -#: archive/shell_archive.c:105 +#: archive/shell_archive.c:107 #, c-format msgid "archive command was terminated by exception 0x%X" msgstr "la orden de archivado fue terminada por una excepción 0x%X" -#: archive/shell_archive.c:107 postmaster/postmaster.c:3675 +#: archive/shell_archive.c:109 postmaster/postmaster.c:3094 #, c-format msgid "See C include file \"ntstatus.h\" for a description of the hexadecimal value." msgstr "Vea el archivo «ntstatus.h» para una descripción del valor hexadecimal." -#: archive/shell_archive.c:112 +#: archive/shell_archive.c:114 #, c-format msgid "archive command was terminated by signal %d: %s" msgstr "la orden de archivado fue terminada por una señal %d: %s" -#: archive/shell_archive.c:121 +#: archive/shell_archive.c:123 #, c-format msgid "archive command exited with unrecognized status %d" msgstr "la orden de archivado fue terminada con código %d no reconocido" -#: backup/backup_manifest.c:253 +#: backup/backup_manifest.c:254 #, c-format msgid "expected end timeline %u but found timeline %u" msgstr "se esperaba el timeline de término %u pero se encontró el timeline %u" -#: backup/backup_manifest.c:277 +#: backup/backup_manifest.c:278 #, c-format msgid "expected start timeline %u but found timeline %u" msgstr "se esperaba el timeline de inicio %u pero se encontró el timeline %u" -#: backup/backup_manifest.c:304 +#: backup/backup_manifest.c:305 #, c-format msgid "start timeline %u not found in history of timeline %u" msgstr "el timeline de inicio %u no fue encontrado en la historia del timeline %u" -#: backup/backup_manifest.c:355 +#: backup/backup_manifest.c:356 #, c-format msgid "could not rewind temporary file" msgstr "no se puede rebobinar el archivo temporal" -#: backup/basebackup.c:470 +#: backup/basebackup.c:479 #, c-format msgid "could not find any WAL files" msgstr "no se pudo encontrar ningún archivo de WAL" -#: backup/basebackup.c:485 backup/basebackup.c:500 backup/basebackup.c:509 +#: backup/basebackup.c:494 backup/basebackup.c:509 backup/basebackup.c:518 #, c-format msgid "could not find WAL file \"%s\"" msgstr "no se pudo encontrar archivo de WAL «%s»" -#: backup/basebackup.c:551 backup/basebackup.c:576 +#: backup/basebackup.c:560 backup/basebackup.c:585 #, c-format msgid "unexpected WAL file size \"%s\"" msgstr "tamaño del archivo WAL «%s» inesperado" -#: backup/basebackup.c:646 +#: backup/basebackup.c:656 #, c-format msgid "%lld total checksum verification failure" msgid_plural "%lld total checksum verification failures" msgstr[0] "%lld falla de verificación de suma de comprobación en total" msgstr[1] "%lld fallas de verificación de suma de comprobación en total" -#: backup/basebackup.c:653 +#: backup/basebackup.c:663 #, c-format msgid "checksum verification failure during base backup" msgstr "falla en verificación de checksums durante respaldo base" -#: backup/basebackup.c:722 backup/basebackup.c:731 backup/basebackup.c:742 -#: backup/basebackup.c:759 backup/basebackup.c:768 backup/basebackup.c:779 -#: backup/basebackup.c:796 backup/basebackup.c:805 backup/basebackup.c:817 -#: backup/basebackup.c:841 backup/basebackup.c:855 backup/basebackup.c:866 -#: backup/basebackup.c:877 backup/basebackup.c:890 +#: backup/basebackup.c:733 backup/basebackup.c:742 backup/basebackup.c:753 +#: backup/basebackup.c:770 backup/basebackup.c:779 backup/basebackup.c:788 +#: backup/basebackup.c:803 backup/basebackup.c:820 backup/basebackup.c:829 +#: backup/basebackup.c:841 backup/basebackup.c:865 backup/basebackup.c:879 +#: backup/basebackup.c:890 backup/basebackup.c:901 backup/basebackup.c:914 #, c-format msgid "duplicate option \"%s\"" msgstr "nombre de opción «%s» duplicada" -#: backup/basebackup.c:750 -#, fuzzy, c-format -#| msgid "unrecognized object type \"%s\"" +#: backup/basebackup.c:761 +#, c-format msgid "unrecognized checkpoint type: \"%s\"" -msgstr "tipo de objeto «%s» no reconocido" +msgstr "tipo de checkpoint no reconocido: «%s»" + +#: backup/basebackup.c:793 +#, fuzzy, c-format +msgid "incremental backups cannot be taken unless WAL summarization is enabled" +msgstr "los backups incrementales no pueden tomarse a menos que el resumen de WAL esté activado" -#: backup/basebackup.c:785 +#: backup/basebackup.c:809 #, c-format msgid "%d is outside the valid range for parameter \"%s\" (%d .. %d)" msgstr "%d está fuera del rango aceptable para el parámetro «%s» (%d .. %d)" -#: backup/basebackup.c:830 +#: backup/basebackup.c:854 #, c-format msgid "unrecognized manifest option: \"%s\"" msgstr "opción de manifiesto «%s» no reconocida" -#: backup/basebackup.c:846 -#, c-format -msgid "unrecognized checksum algorithm: \"%s\"" -msgstr "algoritmo de suma de comprobación no reconocido: \"%s\"" - -#: backup/basebackup.c:881 +#: backup/basebackup.c:905 #, c-format msgid "unrecognized compression algorithm: \"%s\"" msgstr "algoritmo de compresión no reconocido: «%s»" -#: backup/basebackup.c:897 -#, fuzzy, c-format -#| msgid "unrecognized column option \"%s\"" +#: backup/basebackup.c:921 +#, c-format msgid "unrecognized base backup option: \"%s\"" -msgstr "opción de columna «%s» no reconocida" +msgstr "opción de respaldo base no reconocida: «%s»" -#: backup/basebackup.c:908 +#: backup/basebackup.c:932 #, c-format msgid "manifest checksums require a backup manifest" msgstr "la suma de comprobación del manifiesto requiere un manifiesto de la copia de seguridad" -#: backup/basebackup.c:917 -#, fuzzy, c-format -#| msgid "--no-slot cannot be used with slot name" +#: backup/basebackup.c:941 +#, c-format msgid "target detail cannot be used without target" -msgstr "no se puede usar --no-slot junto con nombre de slot" +msgstr "no se puede usar “target detail” sin un destino" -#: backup/basebackup.c:926 backup/basebackup_target.c:218 -#, fuzzy, c-format -#| msgid "operator class \"%s\" does not accept data type %s" +#: backup/basebackup.c:950 backup/basebackup_target.c:218 +#, c-format msgid "target \"%s\" does not accept a target detail" -msgstr "la clase de operadores «%s» no acepta el tipo de datos %s" +msgstr "el destino «%s» no acepta “target details”" -#: backup/basebackup.c:937 -#, fuzzy, c-format -#| msgid "%s cannot be specified unless locale provider \"%s\" is chosen" +#: backup/basebackup.c:961 +#, c-format msgid "compression detail cannot be specified unless compression is enabled" -msgstr "%s no puede especificarse a menos que el proveedor de locale «%s» sea escogido" +msgstr "el detalle de compresión no puede especificarse a menos que la compresión esté activada" -#: backup/basebackup.c:950 +#: backup/basebackup.c:974 #, c-format msgid "invalid compression specification: %s" msgstr "especificación de compresión no válida: %s" -#: backup/basebackup.c:1116 backup/basebackup.c:1294 +#: backup/basebackup.c:1024 +#, c-format +msgid "must UPLOAD_MANIFEST before performing an incremental BASE_BACKUP" +msgstr "debe ejecutar UPLOAD_MANIFEST antes de lanzar un BASE_BACKUP incremental" + +#: backup/basebackup.c:1157 backup/basebackup.c:1358 #, c-format msgid "could not stat file or directory \"%s\": %m" msgstr "no se pudo hacer stat al archivo o directorio «%s»: %m" -#: backup/basebackup.c:1430 +#: backup/basebackup.c:1544 #, c-format msgid "skipping special file \"%s\"" msgstr "omitiendo el archivo especial «%s»" -#: backup/basebackup.c:1542 -#, c-format -msgid "invalid segment number %d in file \"%s\"" -msgstr "número de segmento %d no válido en archivo «%s»" - -#: backup/basebackup.c:1574 +#: backup/basebackup.c:1751 #, c-format msgid "could not verify checksum in file \"%s\", block %u: read buffer size %d and page size %d differ" msgstr "no se pudo verificar el checksum en el archivo «%s», bloque %u: el tamaño de búfer de lectura %d y el tamaño de página %d difieren" -#: backup/basebackup.c:1658 +#: backup/basebackup.c:1813 +#, c-format +msgid "file \"%s\" has a total of %d checksum verification failure" +msgid_plural "file \"%s\" has a total of %d checksum verification failures" +msgstr[0] "el archivo «%s» tiene un total de %d falla de verificación de checksum" +msgstr[1] "el archivo «%s» tiene un total de %d fallas de verificación de checksums" + +#: backup/basebackup.c:1917 #, c-format msgid "checksum verification failed in file \"%s\", block %u: calculated %X but expected %X" msgstr "verificación de checksums falló en archivo «%s», bloque %u: calculado %X pero se esperaba %X" -#: backup/basebackup.c:1665 +#: backup/basebackup.c:1924 #, c-format msgid "further checksum verification failures in file \"%s\" will not be reported" msgstr "subsiguientes fallas de verificación de checksums en el archivo «%s» no se reportarán" -#: backup/basebackup.c:1721 -#, c-format -msgid "file \"%s\" has a total of %d checksum verification failure" -msgid_plural "file \"%s\" has a total of %d checksum verification failures" -msgstr[0] "el archivo «%s» tiene un total de %d falla de verificación de checksum" -msgstr[1] "el archivo «%s» tiene un total de %d fallas de verificación de checksums" - -#: backup/basebackup.c:1767 +#: backup/basebackup.c:2048 #, c-format msgid "file name too long for tar format: \"%s\"" msgstr "nombre de archivo demasiado largo para el formato tar: «%s»" -#: backup/basebackup.c:1772 +#: backup/basebackup.c:2053 #, c-format msgid "symbolic link target too long for tar format: file name \"%s\", target \"%s\"" msgstr "destino de enlace simbólico demasiado largo para el formato tar: nombre de archivo «%s», destino «%s»" -#: backup/basebackup_gzip.c:67 +#: backup/basebackup.c:2127 #, fuzzy, c-format -#| msgid "Bonjour is not supported by this build" +msgid "could not read file \"%s\": read %zd of %zu" +msgstr "no se pudo leer el archivo «%s»: leídos %d de %zu" + +#: backup/basebackup_gzip.c:67 +#, c-format msgid "gzip compression is not supported by this build" -msgstr "Bonjour no está soportado en este servidor" +msgstr "la compresión gzip no está soportada en este servidor" #: backup/basebackup_gzip.c:143 #, c-format msgid "could not initialize compression library" msgstr "no se pudo inicializar la biblioteca de compresión" -#: backup/basebackup_lz4.c:67 +#: backup/basebackup_incremental.c:294 +#, c-format +msgid "manifest contains no required WAL ranges" +msgstr "el manifiesto no contiene ningún rango WAL requerido" + +#: backup/basebackup_incremental.c:349 #, fuzzy, c-format -#| msgid "Bonjour is not supported by this build" -msgid "lz4 compression is not supported by this build" -msgstr "Bonjour no está soportado en este servidor" +msgid "timeline %u found in manifest, but not in this server's history" +msgstr "el timeline %u solicitado no está en la historia de este servidor" + +#: backup/basebackup_incremental.c:414 +#, c-format +msgid "manifest requires WAL from initial timeline %u starting at %X/%X, but that timeline begins at %X/%X" +msgstr "el manifiesto requiere WAL en el timeline inicial %u desde %X/%X, pero ese timeline inicia en %X/%X" + +#: backup/basebackup_incremental.c:424 +#, c-format +msgid "manifest requires WAL from continuation timeline %u starting at %X/%X, but that timeline begins at %X/%X" +msgstr "el manifiesto requiere WAL del timeline de continuación %u desde %X/%X, pero ese timeline empieza en %X/%X" + +#: backup/basebackup_incremental.c:435 +#, c-format +msgid "manifest requires WAL from final timeline %u ending at %X/%X, but this backup starts at %X/%X" +msgstr "el manifiesto requiere WAL del timeline final %u terminado en %X/%X, pero este backup empieza en %X/%X" + +#: backup/basebackup_incremental.c:439 +#, c-format +msgid "This can happen for incremental backups on a standby if there was little activity since the previous backup." +msgstr "Esto puede pasar para backups incrementales en un standby si hubo insuficiente actividad desde el backup anterior." + +#: backup/basebackup_incremental.c:446 +#, c-format +msgid "manifest requires WAL from non-final timeline %u ending at %X/%X, but this server switched timelines at %X/%X" +msgstr "el manifiesto requiere WAL del timeline no-final %u terminando en %X/%X, pero este servidor cambió de timelines en %X/%X" + +#: backup/basebackup_incremental.c:527 +#, c-format +msgid "WAL summaries are required on timeline %u from %X/%X to %X/%X, but no summaries for that timeline and LSN range exist" +msgstr "se requieren resúmenes de WAL en el timeline %u desde %X/%X hasta %X/%X, pero no existen resúmenes para ese timeline y rango de LSN" + +#: backup/basebackup_incremental.c:534 +#, c-format +msgid "WAL summaries are required on timeline %u from %X/%X to %X/%X, but the summaries for that timeline and LSN range are incomplete" +msgstr "se requieren resúmenes de WAL en el timeline %u desde %X/%X hasta %X/%X, pero los resúmenes en ese timeline y rango de LSN están incompletos" + +#: backup/basebackup_incremental.c:538 +#, c-format +msgid "The first unsummarized LSN in this range is %X/%X." +msgstr "El primer LSN sin resumen en este rango es %X/%X." + +#: backup/basebackup_incremental.c:938 +#, 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_server.c:75 +#: backup/basebackup_incremental.c:956 #, fuzzy, c-format -#| msgid "permission denied to create role" +msgid "manifest system identifier is %llu, but database system identifier is %llu" +msgstr "archivo WAL es de un sistema de bases de datos distinto: identificador de sistema en archivo WAL es %llu, identificador en pg_control es %llu" + +#: backup/basebackup_lz4.c:67 +#, c-format +msgid "lz4 compression is not supported by this build" +msgstr "la compresión lz4 no está soportada en este servidor" + +#: backup/basebackup_server.c:73 +#, c-format msgid "permission denied to create backup stored on server" -msgstr "se ha denegado el permiso para crear el rol" +msgstr "se ha denegado el permiso para crear un respaldo almacenado en el servidor" -#: backup/basebackup_server.c:76 +#: backup/basebackup_server.c:74 #, c-format msgid "Only roles with privileges of the \"%s\" role may create a backup stored on the server." -msgstr "" +msgstr "Sólo los roles con privilegio del rol «%s» pueden crear un respaldo almacenado en el servidor." -#: backup/basebackup_server.c:91 -#, fuzzy, c-format -#| msgid "relative path not allowed for COPY to file" +#: backup/basebackup_server.c:89 +#, c-format msgid "relative path not allowed for backup stored on server" -msgstr "no se permiten rutas relativas para COPY hacia un archivo" +msgstr "no se permiten rutas relativas para un respaldo almacenado en el servidor" -#: backup/basebackup_server.c:104 commands/dbcommands.c:501 -#: commands/tablespace.c:163 commands/tablespace.c:179 -#: commands/tablespace.c:599 commands/tablespace.c:644 replication/slot.c:1697 +#: 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 #: storage/file/copydir.c:47 #, c-format msgid "could not create directory \"%s\": %m" msgstr "no se pudo crear el directorio «%s»: %m" -#: backup/basebackup_server.c:117 +#: backup/basebackup_server.c:115 #, c-format msgid "directory \"%s\" exists but is not empty" msgstr "el directorio «%s» existe pero no está vacío" -#: backup/basebackup_server.c:125 utils/init/postinit.c:1154 +#: backup/basebackup_server.c:123 utils/init/postinit.c:1177 #, c-format msgid "could not access directory \"%s\": %m" msgstr "no se pudo acceder al directorio «%s»: %m" -#: backup/basebackup_server.c:177 backup/basebackup_server.c:184 -#: backup/basebackup_server.c:270 backup/basebackup_server.c:277 -#: storage/smgr/md.c:501 storage/smgr/md.c:508 storage/smgr/md.c:590 -#: storage/smgr/md.c:612 storage/smgr/md.c:862 +#: 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 #, c-format msgid "Check free disk space." msgstr "Verifique el espacio libre en disco." -#: backup/basebackup_server.c:181 backup/basebackup_server.c:274 -#, fuzzy, c-format -#| msgid "could not extend file \"%s\": wrote only %d of %d bytes at block %u" +#: backup/basebackup_server.c:179 backup/basebackup_server.c:272 +#: backup/walsummary.c:309 +#, c-format msgid "could not write file \"%s\": wrote only %d of %d bytes at offset %u" -msgstr "no se pudo extender el archivo «%s»: sólo se escribieron %d de %d bytes en el bloque %u" +msgstr "no se pudo escribir en el archivo «%s»: sólo se escribieron %d de %d bytes en la posición %u" #: backup/basebackup_target.c:146 -#, fuzzy, c-format -#| msgid "unrecognized reset target: \"%s\"" +#, c-format msgid "unrecognized target: \"%s\"" -msgstr "destino de reset no reconocido: «%s»" +msgstr "destino no reconocido: «%s»" #: backup/basebackup_target.c:237 -#, fuzzy, c-format -#| msgid "parameter \"%s\" requires a Boolean value" +#, c-format msgid "target \"%s\" requires a target detail" -msgstr "el parámetro «%s» requiere un valor lógico (booleano)" +msgstr "el destino «%s» requiere un “target detail”" #: backup/basebackup_zstd.c:66 -#, fuzzy, c-format -#| msgid "Bonjour is not supported by this build" +#, c-format msgid "zstd compression is not supported by this build" -msgstr "Bonjour no está soportado en este servidor" +msgstr "la compresión zstd no está soportada en este servidor" #: backup/basebackup_zstd.c:117 #, c-format @@ -3774,714 +4072,723 @@ msgstr "no se pudo definir la cantidad de procesos ayudantes de compresión a %d #: backup/basebackup_zstd.c:129 #, c-format -msgid "could not set compression flag for %s: %s" -msgstr "no se pudo definir una opción de compresión para %s: %s" +msgid "could not enable long-distance mode: %s" +msgstr "no se pudo habilitar el modo “long-distance”: %s" + +#: backup/walsummaryfuncs.c:95 +#, fuzzy, c-format +msgid "invalid timeline %lld" +msgstr "timeline %u no válido" -#: bootstrap/bootstrap.c:243 postmaster/postmaster.c:721 tcop/postgres.c:3819 +#: bootstrap/bootstrap.c:239 postmaster/postmaster.c:623 tcop/postgres.c:3858 #, c-format msgid "--%s requires a value" msgstr "--%s requiere un valor" -#: bootstrap/bootstrap.c:248 postmaster/postmaster.c:726 tcop/postgres.c:3824 +#: bootstrap/bootstrap.c:244 postmaster/postmaster.c:628 tcop/postgres.c:3863 #, c-format msgid "-c %s requires a value" msgstr "-c %s requiere un valor" -#: bootstrap/bootstrap.c:289 -#, c-format -msgid "-X requires a power of two value between 1 MB and 1 GB" -msgstr "-X require un valor potencia de dos entre 1 MB y 1 GB" - -#: bootstrap/bootstrap.c:295 postmaster/postmaster.c:844 -#: postmaster/postmaster.c:857 +#: bootstrap/bootstrap.c:282 postmaster/postmaster.c:746 +#: postmaster/postmaster.c:759 #, c-format msgid "Try \"%s --help\" for more information.\n" msgstr "Pruebe «%s --help» para mayor información.\n" -#: bootstrap/bootstrap.c:304 +#: bootstrap/bootstrap.c:291 #, c-format msgid "%s: invalid command-line arguments\n" msgstr "%s: argumentos de línea de órdenes no válidos\n" -#: catalog/aclchk.c:201 +#: catalog/aclchk.c:210 #, c-format msgid "grant options can only be granted to roles" msgstr "la opción de grant sólo puede ser otorgada a roles" -#: catalog/aclchk.c:323 +#: catalog/aclchk.c:332 #, c-format msgid "no privileges were granted for column \"%s\" of relation \"%s\"" msgstr "no se otorgaron privilegios para la columna «%s» de la relación «%s»" -#: catalog/aclchk.c:328 +#: catalog/aclchk.c:337 #, c-format msgid "no privileges were granted for \"%s\"" msgstr "no se otorgaron privilegios para «%s»" -#: catalog/aclchk.c:336 +#: catalog/aclchk.c:345 #, c-format msgid "not all privileges were granted for column \"%s\" of relation \"%s\"" msgstr "no todos los privilegios fueron otorgados para la columna «%s» de la relación «%s»" -#: catalog/aclchk.c:341 +#: catalog/aclchk.c:350 #, c-format msgid "not all privileges were granted for \"%s\"" msgstr "no todos los privilegios fueron otorgados para «%s»" -#: catalog/aclchk.c:352 +#: catalog/aclchk.c:361 #, c-format msgid "no privileges could be revoked for column \"%s\" of relation \"%s\"" msgstr "ningún privilegio pudo ser revocado para la columna «%s» de la relación «%s»" -#: catalog/aclchk.c:357 +#: catalog/aclchk.c:366 #, c-format msgid "no privileges could be revoked for \"%s\"" msgstr "ningún privilegio pudo ser revocado para «%s»" -#: catalog/aclchk.c:365 +#: catalog/aclchk.c:374 #, c-format msgid "not all privileges could be revoked for column \"%s\" of relation \"%s\"" msgstr "no todos los privilegios pudieron ser revocados para la columna «%s» de la relación «%s»" -#: catalog/aclchk.c:370 +#: catalog/aclchk.c:379 #, c-format msgid "not all privileges could be revoked for \"%s\"" msgstr "no todos los privilegios pudieron ser revocados para «%s»" -#: catalog/aclchk.c:402 +#: catalog/aclchk.c:411 #, c-format msgid "grantor must be current user" msgstr "el cedente (grantor) debe ser el usuario actual" -#: catalog/aclchk.c:470 catalog/aclchk.c:1045 +#: catalog/aclchk.c:479 catalog/aclchk.c:1054 #, c-format msgid "invalid privilege type %s for relation" msgstr "el tipo de privilegio %s no es válido para una relación" -#: catalog/aclchk.c:474 catalog/aclchk.c:1049 +#: catalog/aclchk.c:483 catalog/aclchk.c:1058 #, c-format msgid "invalid privilege type %s for sequence" msgstr "el tipo de privilegio %s no es válido para una secuencia" -#: catalog/aclchk.c:478 +#: catalog/aclchk.c:487 #, c-format msgid "invalid privilege type %s for database" msgstr "el tipo de privilegio %s no es válido para una base de datos" -#: catalog/aclchk.c:482 +#: catalog/aclchk.c:491 #, c-format msgid "invalid privilege type %s for domain" msgstr "el tipo de privilegio %s no es válido para un dominio" -#: catalog/aclchk.c:486 catalog/aclchk.c:1053 +#: catalog/aclchk.c:495 catalog/aclchk.c:1062 #, c-format msgid "invalid privilege type %s for function" msgstr "el tipo de privilegio %s no es válido para una función" -#: catalog/aclchk.c:490 +#: catalog/aclchk.c:499 #, c-format msgid "invalid privilege type %s for language" msgstr "el tipo de privilegio %s no es válido para un lenguaje" -#: catalog/aclchk.c:494 +#: catalog/aclchk.c:503 #, c-format msgid "invalid privilege type %s for large object" msgstr "el tipo de privilegio %s no es válido para un objeto grande" -#: catalog/aclchk.c:498 catalog/aclchk.c:1069 +#: catalog/aclchk.c:507 catalog/aclchk.c:1078 #, c-format msgid "invalid privilege type %s for schema" msgstr "el tipo de privilegio %s no es válido para un esquema" -#: catalog/aclchk.c:502 catalog/aclchk.c:1057 +#: catalog/aclchk.c:511 catalog/aclchk.c:1066 #, c-format msgid "invalid privilege type %s for procedure" msgstr "el tipo de privilegio %s no es válido para un procedimiento" -#: catalog/aclchk.c:506 catalog/aclchk.c:1061 +#: catalog/aclchk.c:515 catalog/aclchk.c:1070 #, c-format msgid "invalid privilege type %s for routine" msgstr "el tipo de privilegio %s no es válido para una rutina" -#: catalog/aclchk.c:510 +#: catalog/aclchk.c:519 #, c-format msgid "invalid privilege type %s for tablespace" msgstr "el tipo de privilegio %s no es válido para un tablespace" -#: catalog/aclchk.c:514 catalog/aclchk.c:1065 +#: catalog/aclchk.c:523 catalog/aclchk.c:1074 #, c-format msgid "invalid privilege type %s for type" msgstr "el tipo de privilegio %s no es válido para un tipo" -#: catalog/aclchk.c:518 +#: catalog/aclchk.c:527 #, c-format msgid "invalid privilege type %s for foreign-data wrapper" msgstr "el tipo de privilegio %s no es válido para un conector de datos externos" -#: catalog/aclchk.c:522 +#: catalog/aclchk.c:531 #, c-format msgid "invalid privilege type %s for foreign server" msgstr "el tipo de privilegio %s no es válido para un servidor foráneo" -#: catalog/aclchk.c:526 +#: catalog/aclchk.c:535 #, c-format msgid "invalid privilege type %s for parameter" msgstr "el tipo de privilegio %s no es válido para un parámetro" -#: catalog/aclchk.c:565 +#: catalog/aclchk.c:574 #, c-format msgid "column privileges are only valid for relations" msgstr "los privilegios de columna son sólo válidos para relaciones" -#: catalog/aclchk.c:728 catalog/aclchk.c:3570 catalog/objectaddress.c:1092 -#: catalog/pg_largeobject.c:116 storage/large_object/inv_api.c:287 +#: catalog/aclchk.c:737 catalog/aclchk.c:3624 catalog/objectaddress.c:1054 +#: catalog/pg_largeobject.c:113 storage/large_object/inv_api.c:285 #, c-format msgid "large object %u does not exist" msgstr "no existe el objeto grande %u" -#: catalog/aclchk.c:1102 +#: catalog/aclchk.c:1111 #, c-format msgid "default privileges cannot be set for columns" msgstr "los privilegios por omisión no pueden definirse para columnas" -#: catalog/aclchk.c:1138 -#, fuzzy, c-format -#| msgid "permission denied to create role" +#: catalog/aclchk.c:1147 +#, c-format msgid "permission denied to change default privileges" -msgstr "se ha denegado el permiso para crear el rol" +msgstr "se ha denegado el permiso para cambiar los privilegios por omisión" -#: catalog/aclchk.c:1256 +#: catalog/aclchk.c:1265 #, c-format msgid "cannot use IN SCHEMA clause when using GRANT/REVOKE ON SCHEMAS" msgstr "No puede utilizar la cláusula IN SCHEMA cuando se utiliza GRANT / REVOKE ON SCHEMAS" -#: catalog/aclchk.c:1595 catalog/catalog.c:631 catalog/objectaddress.c:1561 -#: catalog/pg_publication.c:533 commands/analyze.c:389 commands/copy.c:837 -#: commands/sequence.c:1663 commands/tablecmds.c:7339 commands/tablecmds.c:7495 -#: commands/tablecmds.c:7545 commands/tablecmds.c:7619 -#: commands/tablecmds.c:7689 commands/tablecmds.c:7801 -#: commands/tablecmds.c:7895 commands/tablecmds.c:7954 -#: commands/tablecmds.c:8043 commands/tablecmds.c:8073 -#: commands/tablecmds.c:8201 commands/tablecmds.c:8283 -#: commands/tablecmds.c:8417 commands/tablecmds.c:8525 -#: commands/tablecmds.c:12240 commands/tablecmds.c:12421 -#: commands/tablecmds.c:12582 commands/tablecmds.c:13744 -#: commands/tablecmds.c:16273 commands/trigger.c:949 parser/analyze.c:2480 -#: parser/parse_relation.c:737 parser/parse_target.c:1054 -#: parser/parse_type.c:144 parser/parse_utilcmd.c:3413 -#: parser/parse_utilcmd.c:3449 parser/parse_utilcmd.c:3491 utils/adt/acl.c:2884 -#: utils/adt/ruleutils.c:2799 +#: catalog/aclchk.c:1616 catalog/catalog.c:650 catalog/objectaddress.c:1523 +#: catalog/pg_publication.c:528 commands/analyze.c:380 commands/copy.c:913 +#: commands/sequence.c:1652 commands/tablecmds.c:7561 commands/tablecmds.c:7715 +#: commands/tablecmds.c:7765 commands/tablecmds.c:7839 +#: commands/tablecmds.c:7909 commands/tablecmds.c:8039 +#: commands/tablecmds.c:8168 commands/tablecmds.c:8262 +#: commands/tablecmds.c:8363 commands/tablecmds.c:8490 +#: commands/tablecmds.c:8520 commands/tablecmds.c:8662 +#: commands/tablecmds.c:8755 commands/tablecmds.c:8889 +#: commands/tablecmds.c:9001 commands/tablecmds.c:12721 +#: commands/tablecmds.c:12902 commands/tablecmds.c:13063 +#: commands/tablecmds.c:14252 commands/tablecmds.c:16878 commands/trigger.c:942 +#: parser/analyze.c:2530 parser/parse_relation.c:737 parser/parse_target.c:1067 +#: parser/parse_type.c:144 parser/parse_utilcmd.c:3538 +#: parser/parse_utilcmd.c:3578 parser/parse_utilcmd.c:3620 utils/adt/acl.c:2923 +#: utils/adt/ruleutils.c:2811 #, c-format msgid "column \"%s\" of relation \"%s\" does not exist" msgstr "no existe la columna «%s» en la relación «%s»" -#: catalog/aclchk.c:1840 +#: catalog/aclchk.c:1861 #, c-format msgid "\"%s\" is an index" msgstr "«%s» es un índice" -#: catalog/aclchk.c:1847 commands/tablecmds.c:13901 commands/tablecmds.c:17200 +#: catalog/aclchk.c:1868 commands/tablecmds.c:14409 commands/tablecmds.c:17787 #, c-format msgid "\"%s\" is a composite type" msgstr "«%s» es un tipo compuesto" -#: catalog/aclchk.c:1855 catalog/objectaddress.c:1401 commands/sequence.c:1171 -#: commands/tablecmds.c:254 commands/tablecmds.c:17164 utils/adt/acl.c:2092 -#: utils/adt/acl.c:2122 utils/adt/acl.c:2154 utils/adt/acl.c:2186 -#: utils/adt/acl.c:2214 utils/adt/acl.c:2244 +#: catalog/aclchk.c:1876 catalog/objectaddress.c:1363 commands/tablecmds.c:263 +#: commands/tablecmds.c:17751 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 #, c-format msgid "\"%s\" is not a sequence" msgstr "«%s» no es una secuencia" -#: catalog/aclchk.c:1893 +#: catalog/aclchk.c:1914 #, c-format msgid "sequence \"%s\" only supports USAGE, SELECT, and UPDATE privileges" msgstr "la secuencia «%s» sólo soporta los privilegios USAGE, SELECT, y UPDATE" -#: catalog/aclchk.c:1910 +#: catalog/aclchk.c:1931 #, c-format msgid "invalid privilege type %s for table" msgstr "el tipo de privilegio %s no es válido para una tabla" -#: catalog/aclchk.c:2072 +#: catalog/aclchk.c:2093 #, c-format msgid "invalid privilege type %s for column" msgstr "el tipo de privilegio %s no es válido para una columna" -#: catalog/aclchk.c:2085 +#: catalog/aclchk.c:2106 #, c-format msgid "sequence \"%s\" only supports SELECT column privileges" msgstr "la secuencia «%s» sólo soporta el privilegio SELECT" -#: catalog/aclchk.c:2275 +#: catalog/aclchk.c:2296 #, c-format msgid "language \"%s\" is not trusted" msgstr "el lenguaje «%s» no es confiable (trusted)" -#: catalog/aclchk.c:2277 +#: catalog/aclchk.c:2298 #, c-format msgid "GRANT and REVOKE are not allowed on untrusted languages, because only superusers can use untrusted languages." msgstr "GRANT y REVOKE no están permitidos en lenguajes no confiables, porque sólo los superusuarios pueden usar lenguajes no confiables." -#: catalog/aclchk.c:2427 +#: catalog/aclchk.c:2449 #, c-format msgid "cannot set privileges of array types" msgstr "no se puede definir privilegios para tipos de array" -#: catalog/aclchk.c:2428 +#: catalog/aclchk.c:2450 #, c-format msgid "Set the privileges of the element type instead." msgstr "Defina los privilegios del tipo elemento en su lugar." -#: catalog/aclchk.c:2435 catalog/objectaddress.c:1667 +#: catalog/aclchk.c:2454 +#, fuzzy, c-format +msgid "cannot set privileges of multirange types" +msgstr "no se puede definir privilegios para tipos de array" + +#: catalog/aclchk.c:2455 +#, fuzzy, c-format +msgid "Set the privileges of the range type instead." +msgstr "Defina los privilegios del tipo elemento en su lugar." + +#: catalog/aclchk.c:2462 catalog/objectaddress.c:1629 #, c-format msgid "\"%s\" is not a domain" msgstr "«%s» no es un dominio" -#: catalog/aclchk.c:2621 +#: catalog/aclchk.c:2648 #, c-format msgid "unrecognized privilege type \"%s\"" msgstr "tipo de privilegio «%s» no reconocido" -#: catalog/aclchk.c:2688 +#: catalog/aclchk.c:2715 #, c-format msgid "permission denied for aggregate %s" msgstr "permiso denegado a la función de agregación %s" -#: catalog/aclchk.c:2691 +#: catalog/aclchk.c:2718 #, c-format msgid "permission denied for collation %s" msgstr "permiso denegado al ordenamiento (collation) %s" -#: catalog/aclchk.c:2694 +#: catalog/aclchk.c:2721 #, c-format msgid "permission denied for column %s" msgstr "permiso denegado a la columna %s" -#: catalog/aclchk.c:2697 +#: catalog/aclchk.c:2724 #, c-format msgid "permission denied for conversion %s" msgstr "permiso denegado a la conversión %s" -#: catalog/aclchk.c:2700 +#: catalog/aclchk.c:2727 #, c-format msgid "permission denied for database %s" msgstr "permiso denegado a la base de datos %s" -#: catalog/aclchk.c:2703 +#: catalog/aclchk.c:2730 #, c-format msgid "permission denied for domain %s" msgstr "permiso denegado al dominio %s" -#: catalog/aclchk.c:2706 +#: catalog/aclchk.c:2733 #, c-format msgid "permission denied for event trigger %s" msgstr "permiso denegado al disparador por eventos %s" -#: catalog/aclchk.c:2709 +#: catalog/aclchk.c:2736 #, c-format msgid "permission denied for extension %s" msgstr "permiso denegado a la extensión %s" -#: catalog/aclchk.c:2712 +#: catalog/aclchk.c:2739 #, c-format msgid "permission denied for foreign-data wrapper %s" msgstr "permiso denegado al conector de datos externos %s" -#: catalog/aclchk.c:2715 +#: catalog/aclchk.c:2742 #, c-format msgid "permission denied for foreign server %s" msgstr "permiso denegado al servidor foráneo %s" -#: catalog/aclchk.c:2718 +#: catalog/aclchk.c:2745 #, c-format msgid "permission denied for foreign table %s" msgstr "permiso denegado a la tabla foránea %s" -#: catalog/aclchk.c:2721 +#: catalog/aclchk.c:2748 #, c-format msgid "permission denied for function %s" msgstr "permiso denegado a la función %s" -#: catalog/aclchk.c:2724 +#: catalog/aclchk.c:2751 #, c-format msgid "permission denied for index %s" msgstr "permiso denegado al índice %s" -#: catalog/aclchk.c:2727 +#: catalog/aclchk.c:2754 #, c-format msgid "permission denied for language %s" msgstr "permiso denegado al lenguaje %s" -#: catalog/aclchk.c:2730 +#: catalog/aclchk.c:2757 #, c-format msgid "permission denied for large object %s" msgstr "permiso denegado al objeto grande %s" -#: catalog/aclchk.c:2733 +#: catalog/aclchk.c:2760 #, c-format msgid "permission denied for materialized view %s" msgstr "permiso denegado a la vista materializada %s" -#: catalog/aclchk.c:2736 +#: catalog/aclchk.c:2763 #, c-format msgid "permission denied for operator class %s" msgstr "permiso denegado a la clase de operadores %s" -#: catalog/aclchk.c:2739 +#: catalog/aclchk.c:2766 #, c-format msgid "permission denied for operator %s" msgstr "permiso denegado al operador %s" -#: catalog/aclchk.c:2742 +#: catalog/aclchk.c:2769 #, c-format msgid "permission denied for operator family %s" msgstr "permiso denegado a la familia de operadores %s" -#: catalog/aclchk.c:2745 +#: catalog/aclchk.c:2772 #, c-format msgid "permission denied for parameter %s" msgstr "permiso denegado al parámetro %s" -#: catalog/aclchk.c:2748 +#: catalog/aclchk.c:2775 #, c-format msgid "permission denied for policy %s" msgstr "permiso denegado a la política %s" -#: catalog/aclchk.c:2751 +#: catalog/aclchk.c:2778 #, c-format msgid "permission denied for procedure %s" msgstr "permiso denegado al procedimiento %s" -#: catalog/aclchk.c:2754 +#: catalog/aclchk.c:2781 #, c-format msgid "permission denied for publication %s" msgstr "permiso denegado a la publicación %s" -#: catalog/aclchk.c:2757 +#: catalog/aclchk.c:2784 #, c-format msgid "permission denied for routine %s" msgstr "permiso denegado a la rutina %s" -#: catalog/aclchk.c:2760 +#: catalog/aclchk.c:2787 #, c-format msgid "permission denied for schema %s" msgstr "permiso denegado al esquema %s" -#: catalog/aclchk.c:2763 commands/sequence.c:659 commands/sequence.c:885 -#: commands/sequence.c:927 commands/sequence.c:968 commands/sequence.c:1761 -#: commands/sequence.c:1810 +#: catalog/aclchk.c:2790 commands/sequence.c:654 commands/sequence.c:880 +#: commands/sequence.c:922 commands/sequence.c:963 commands/sequence.c:1750 +#: commands/sequence.c:1796 #, c-format msgid "permission denied for sequence %s" msgstr "permiso denegado a la secuencia %s" -#: catalog/aclchk.c:2766 +#: catalog/aclchk.c:2793 #, c-format msgid "permission denied for statistics object %s" msgstr "permiso denegado al objeto de estadísticas %s" -#: catalog/aclchk.c:2769 +#: catalog/aclchk.c:2796 #, c-format msgid "permission denied for subscription %s" msgstr "permiso denegado a la suscripción %s" -#: catalog/aclchk.c:2772 +#: catalog/aclchk.c:2799 #, c-format msgid "permission denied for table %s" msgstr "permiso denegado a la tabla %s" -#: catalog/aclchk.c:2775 +#: catalog/aclchk.c:2802 #, c-format msgid "permission denied for tablespace %s" msgstr "permiso denegado al tablespace %s" -#: catalog/aclchk.c:2778 +#: catalog/aclchk.c:2805 #, c-format msgid "permission denied for text search configuration %s" msgstr "permiso denegado a la configuración de búsqueda en texto %s" -#: catalog/aclchk.c:2781 +#: catalog/aclchk.c:2808 #, c-format msgid "permission denied for text search dictionary %s" msgstr "permiso denegado a la configuración de búsqueda en texto %s" -#: catalog/aclchk.c:2784 +#: catalog/aclchk.c:2811 #, c-format msgid "permission denied for type %s" msgstr "permiso denegado al tipo %s" -#: catalog/aclchk.c:2787 +#: catalog/aclchk.c:2814 #, c-format msgid "permission denied for view %s" msgstr "permiso denegado a la vista %s" -#: catalog/aclchk.c:2823 +#: catalog/aclchk.c:2850 #, c-format msgid "must be owner of aggregate %s" msgstr "debe ser dueño de la función de agregación %s" -#: catalog/aclchk.c:2826 +#: catalog/aclchk.c:2853 #, c-format msgid "must be owner of collation %s" msgstr "debe ser dueño del ordenamiento (collation) %s" -#: catalog/aclchk.c:2829 +#: catalog/aclchk.c:2856 #, c-format msgid "must be owner of conversion %s" msgstr "debe ser dueño de la conversión %s" -#: catalog/aclchk.c:2832 +#: catalog/aclchk.c:2859 #, c-format msgid "must be owner of database %s" msgstr "debe ser dueño de la base de datos %s" -#: catalog/aclchk.c:2835 +#: catalog/aclchk.c:2862 #, c-format msgid "must be owner of domain %s" msgstr "debe ser dueño del dominio %s" -#: catalog/aclchk.c:2838 +#: catalog/aclchk.c:2865 #, c-format msgid "must be owner of event trigger %s" msgstr "debe ser dueño del disparador por eventos %s" -#: catalog/aclchk.c:2841 +#: catalog/aclchk.c:2868 #, c-format msgid "must be owner of extension %s" msgstr "debe ser dueño de la extensión %s" -#: catalog/aclchk.c:2844 +#: catalog/aclchk.c:2871 #, c-format msgid "must be owner of foreign-data wrapper %s" msgstr "debe ser dueño del conector de datos externos %s" -#: catalog/aclchk.c:2847 +#: catalog/aclchk.c:2874 #, c-format msgid "must be owner of foreign server %s" msgstr "debe ser dueño del servidor foráneo %s" -#: catalog/aclchk.c:2850 +#: catalog/aclchk.c:2877 #, c-format msgid "must be owner of foreign table %s" msgstr "debe ser dueño de la tabla foránea %s" -#: catalog/aclchk.c:2853 +#: catalog/aclchk.c:2880 #, c-format msgid "must be owner of function %s" msgstr "debe ser dueño de la función %s" -#: catalog/aclchk.c:2856 +#: catalog/aclchk.c:2883 #, c-format msgid "must be owner of index %s" msgstr "debe ser dueño del índice %s" -#: catalog/aclchk.c:2859 +#: catalog/aclchk.c:2886 #, c-format msgid "must be owner of language %s" msgstr "debe ser dueño del lenguaje %s" -#: catalog/aclchk.c:2862 +#: catalog/aclchk.c:2889 #, c-format msgid "must be owner of large object %s" msgstr "debe ser dueño del objeto grande %s" -#: catalog/aclchk.c:2865 +#: catalog/aclchk.c:2892 #, c-format msgid "must be owner of materialized view %s" msgstr "debe ser dueño de la vista materializada %s" -#: catalog/aclchk.c:2868 +#: catalog/aclchk.c:2895 #, c-format msgid "must be owner of operator class %s" msgstr "debe ser dueño de la clase de operadores %s" -#: catalog/aclchk.c:2871 +#: catalog/aclchk.c:2898 #, c-format msgid "must be owner of operator %s" msgstr "debe ser dueño del operador %s" -#: catalog/aclchk.c:2874 +#: catalog/aclchk.c:2901 #, c-format msgid "must be owner of operator family %s" msgstr "debe ser dueño de la familia de operadores %s" -#: catalog/aclchk.c:2877 +#: catalog/aclchk.c:2904 #, c-format msgid "must be owner of procedure %s" msgstr "debe ser dueño del procedimiento %s" -#: catalog/aclchk.c:2880 +#: catalog/aclchk.c:2907 #, c-format msgid "must be owner of publication %s" msgstr "debe ser dueño de la publicación %s" -#: catalog/aclchk.c:2883 +#: catalog/aclchk.c:2910 #, c-format msgid "must be owner of routine %s" msgstr "debe ser dueño de la rutina %s" -#: catalog/aclchk.c:2886 +#: catalog/aclchk.c:2913 #, c-format msgid "must be owner of sequence %s" msgstr "debe ser dueño de la secuencia %s" -#: catalog/aclchk.c:2889 +#: catalog/aclchk.c:2916 #, c-format msgid "must be owner of subscription %s" msgstr "debe ser dueño de la suscripción %s" -#: catalog/aclchk.c:2892 +#: catalog/aclchk.c:2919 #, c-format msgid "must be owner of table %s" msgstr "debe ser dueño de la tabla %s" -#: catalog/aclchk.c:2895 +#: catalog/aclchk.c:2922 #, c-format msgid "must be owner of type %s" msgstr "debe ser dueño del tipo %s" -#: catalog/aclchk.c:2898 +#: catalog/aclchk.c:2925 #, c-format msgid "must be owner of view %s" msgstr "debe ser dueño de la vista %s" -#: catalog/aclchk.c:2901 +#: catalog/aclchk.c:2928 #, c-format msgid "must be owner of schema %s" msgstr "debe ser dueño del esquema %s" -#: catalog/aclchk.c:2904 +#: catalog/aclchk.c:2931 #, c-format msgid "must be owner of statistics object %s" msgstr "debe ser dueño del objeto de estadísticas %s" -#: catalog/aclchk.c:2907 +#: catalog/aclchk.c:2934 #, c-format msgid "must be owner of tablespace %s" msgstr "debe ser dueño del tablespace %s" -#: catalog/aclchk.c:2910 +#: catalog/aclchk.c:2937 #, c-format msgid "must be owner of text search configuration %s" msgstr "debe ser dueño de la configuración de búsqueda en texto %s" -#: catalog/aclchk.c:2913 +#: catalog/aclchk.c:2940 #, c-format msgid "must be owner of text search dictionary %s" msgstr "debe ser dueño del diccionario de búsqueda en texto %s" -#: catalog/aclchk.c:2927 +#: catalog/aclchk.c:2954 #, c-format msgid "must be owner of relation %s" msgstr "debe ser dueño de la relación %s" -#: catalog/aclchk.c:2973 +#: catalog/aclchk.c:3000 #, c-format msgid "permission denied for column \"%s\" of relation \"%s\"" msgstr "permiso denegado a la columna «%s» de la relación «%s»" -#: catalog/aclchk.c:3108 catalog/aclchk.c:3994 catalog/aclchk.c:4026 -#, fuzzy, c-format -#| msgid "schema with OID %u does not exist" +#: catalog/aclchk.c:3157 catalog/aclchk.c:4165 catalog/aclchk.c:4196 +#, c-format msgid "%s with OID %u does not exist" -msgstr "no existe el esquema con OID %u" +msgstr "%s con el OID %u no existe" -#: catalog/aclchk.c:3192 catalog/aclchk.c:3211 +#: catalog/aclchk.c:3240 catalog/aclchk.c:3259 #, c-format msgid "attribute %d of relation with OID %u does not exist" msgstr "no existe el atributo %d de la relación con OID %u" -#: catalog/aclchk.c:3306 +#: catalog/aclchk.c:3297 catalog/aclchk.c:3360 catalog/aclchk.c:3999 #, c-format msgid "relation with OID %u does not exist" msgstr "no existe la relación con OID %u" -#: catalog/aclchk.c:3491 +#: catalog/aclchk.c:3545 #, c-format msgid "parameter ACL with OID %u does not exist" msgstr "no existe el ACL de parámetro con OID %u" -#: catalog/aclchk.c:3655 commands/collationcmds.c:808 -#: commands/publicationcmds.c:1746 +#: catalog/aclchk.c:3718 commands/collationcmds.c:853 +#: commands/publicationcmds.c:1739 #, c-format msgid "schema with OID %u does not exist" msgstr "no existe el esquema con OID %u" -#: catalog/aclchk.c:3720 utils/cache/typcache.c:385 utils/cache/typcache.c:440 +#: catalog/aclchk.c:3792 catalog/aclchk.c:3819 catalog/aclchk.c:3848 +#: utils/cache/typcache.c:392 utils/cache/typcache.c:447 #, c-format msgid "type with OID %u does not exist" msgstr "no existe el tipo con OID %u" -#: catalog/catalog.c:449 +#: catalog/catalog.c:468 #, c-format msgid "still searching for an unused OID in relation \"%s\"" msgstr "aún se está buscando algún OID sin utilizar en la relación «%s»" -#: catalog/catalog.c:451 +#: catalog/catalog.c:470 #, c-format msgid "OID candidates have been checked %llu time, but no unused OID has been found yet." msgid_plural "OID candidates have been checked %llu times, but no unused OID has been found yet." msgstr[0] "se han revisado los OID candidatos %llu vez, pero aún no se ha encontrado algún OID sin utilizar." msgstr[1] "se han revisado los OID candidatos %llu veces, pero aún no se ha encontrado algún OID sin utilizar." -#: catalog/catalog.c:476 +#: catalog/catalog.c:495 #, c-format msgid "new OID has been assigned in relation \"%s\" after %llu retry" msgid_plural "new OID has been assigned in relation \"%s\" after %llu retries" msgstr[0] "se ha asignado un nuevo OID en la relación «%s» luego de %llu reintento" msgstr[1] "se ha asignado un nuevo OID en la relación «%s» luego de %llu reintentos" -#: catalog/catalog.c:609 catalog/catalog.c:676 +#: catalog/catalog.c:628 catalog/catalog.c:695 #, c-format msgid "must be superuser to call %s()" msgstr "debe ser superusuario para invocar %s()" -#: catalog/catalog.c:618 +#: catalog/catalog.c:637 #, c-format msgid "pg_nextoid() can only be used on system catalogs" msgstr "pg_nextoid() sólo puede usarse en catálogos de sistema" -#: catalog/catalog.c:623 parser/parse_utilcmd.c:2264 +#: catalog/catalog.c:642 parser/parse_utilcmd.c:2245 #, c-format msgid "index \"%s\" does not belong to table \"%s\"" msgstr "el índice «%s» no pertenece a la tabla «%s»" -#: catalog/catalog.c:640 +#: catalog/catalog.c:659 #, c-format msgid "column \"%s\" is not of type oid" msgstr "la columna «%s» no es de tipo oid" -#: catalog/catalog.c:647 +#: catalog/catalog.c:666 #, c-format msgid "index \"%s\" is not the index for column \"%s\"" msgstr "«el índice %s» no es el índice para la columna «%s»" -#: catalog/dependency.c:546 catalog/pg_shdepend.c:658 +#: catalog/dependency.c:497 catalog/pg_shdepend.c:703 #, c-format msgid "cannot drop %s because it is required by the database system" msgstr "no se puede eliminar %s porque es requerido por el sistema" -#: catalog/dependency.c:838 catalog/dependency.c:1065 +#: catalog/dependency.c:789 catalog/dependency.c:1016 #, c-format msgid "cannot drop %s because %s requires it" msgstr "no se puede eliminar %s porque %s lo requiere" -#: catalog/dependency.c:840 catalog/dependency.c:1067 +#: catalog/dependency.c:791 catalog/dependency.c:1018 #, c-format msgid "You can drop %s instead." msgstr "Puede eliminar %s en su lugar." -#: catalog/dependency.c:1146 catalog/dependency.c:1155 +#: catalog/dependency.c:1097 catalog/dependency.c:1106 #, c-format msgid "%s depends on %s" msgstr "%s depende de %s" -#: catalog/dependency.c:1170 catalog/dependency.c:1179 +#: catalog/dependency.c:1121 catalog/dependency.c:1130 #, c-format msgid "drop cascades to %s" msgstr "eliminando además %s" -#: catalog/dependency.c:1187 catalog/pg_shdepend.c:823 +#: catalog/dependency.c:1138 catalog/pg_shdepend.c:868 #, c-format msgid "" "\n" @@ -4496,720 +4803,716 @@ msgstr[1] "" "\n" "y otros %d objetos (vea el registro del servidor para obtener la lista)" -#: catalog/dependency.c:1199 +#: catalog/dependency.c:1150 #, c-format msgid "cannot drop %s because other objects depend on it" msgstr "no se puede eliminar %s porque otros objetos dependen de él" -#: catalog/dependency.c:1202 catalog/dependency.c:1209 -#: catalog/dependency.c:1220 commands/tablecmds.c:1335 -#: commands/tablecmds.c:14386 commands/tablespace.c:466 commands/user.c:1309 -#: commands/vacuum.c:212 commands/view.c:446 libpq/auth.c:326 -#: replication/logical/applyparallelworker.c:1044 replication/syncrep.c:1017 -#: storage/lmgr/deadlock.c:1135 storage/lmgr/proc.c:1358 utils/misc/guc.c:3120 -#: utils/misc/guc.c:3156 utils/misc/guc.c:3226 utils/misc/guc.c:6615 -#: utils/misc/guc.c:6649 utils/misc/guc.c:6683 utils/misc/guc.c:6726 -#: utils/misc/guc.c:6768 +#: catalog/dependency.c:1153 catalog/dependency.c:1160 +#: catalog/dependency.c:1171 commands/tablecmds.c:1447 +#: commands/tablecmds.c:15001 commands/tablespace.c:460 commands/user.c:1302 +#: commands/vacuum.c:211 commands/view.c:441 executor/execExprInterp.c:4639 +#: executor/execExprInterp.c:4645 libpq/auth.c:324 +#: replication/logical/applyparallelworker.c:1041 replication/syncrep.c:1011 +#: storage/lmgr/deadlock.c:1134 storage/lmgr/proc.c:1427 utils/misc/guc.c:3169 +#: utils/misc/guc.c:3210 utils/misc/guc.c:3285 utils/misc/guc.c:6781 +#: utils/misc/guc.c:6815 utils/misc/guc.c:6849 utils/misc/guc.c:6892 +#: utils/misc/guc.c:6934 #, c-format msgid "%s" msgstr "%s" -#: catalog/dependency.c:1203 catalog/dependency.c:1210 +#: catalog/dependency.c:1154 catalog/dependency.c:1161 #, c-format msgid "Use DROP ... CASCADE to drop the dependent objects too." msgstr "Use DROP ... CASCADE para eliminar además los objetos dependientes." -#: catalog/dependency.c:1207 +#: catalog/dependency.c:1158 #, c-format msgid "cannot drop desired object(s) because other objects depend on them" msgstr "no se puede eliminar el o los objetos deseados porque otros objetos dependen de ellos" -#: catalog/dependency.c:1215 +#: catalog/dependency.c:1166 #, c-format msgid "drop cascades to %d other object" msgid_plural "drop cascades to %d other objects" msgstr[0] "eliminando además %d objeto más" msgstr[1] "eliminando además %d objetos más" -#: catalog/dependency.c:1899 +#: catalog/dependency.c:1850 #, c-format msgid "constant of the type %s cannot be used here" msgstr "no se puede usar una constante de tipo %s aquí" -#: catalog/dependency.c:2420 parser/parse_relation.c:3403 -#: parser/parse_relation.c:3413 +#: catalog/dependency.c:2375 parser/parse_relation.c:3407 +#: parser/parse_relation.c:3417 #, c-format msgid "column %d of relation \"%s\" does not exist" msgstr "no existe la columna %d en la relación «%s»" -#: catalog/heap.c:324 +#: catalog/heap.c:325 #, c-format msgid "permission denied to create \"%s.%s\"" msgstr "se ha denegado el permiso para crear «%s.%s»" -#: catalog/heap.c:326 +#: catalog/heap.c:327 #, c-format msgid "System catalog modifications are currently disallowed." msgstr "Las modificaciones al catálogo del sistema están actualmente deshabilitadas." -#: catalog/heap.c:466 commands/tablecmds.c:2374 commands/tablecmds.c:3047 -#: commands/tablecmds.c:6922 +#: catalog/heap.c:467 commands/tablecmds.c:2483 commands/tablecmds.c:2905 +#: commands/tablecmds.c:7183 #, c-format msgid "tables can have at most %d columns" msgstr "las tablas pueden tener a lo más %d columnas" -#: catalog/heap.c:484 commands/tablecmds.c:7229 +#: catalog/heap.c:485 commands/tablecmds.c:7452 #, c-format msgid "column name \"%s\" conflicts with a system column name" msgstr "el nombre de columna «%s» colisiona con nombre de una columna de sistema" -#: catalog/heap.c:500 +#: catalog/heap.c:501 #, c-format msgid "column name \"%s\" specified more than once" msgstr "el nombre de columna «%s» fue especificado más de una vez" #. translator: first %s is an integer not a name -#: catalog/heap.c:575 +#: catalog/heap.c:579 #, c-format msgid "partition key column %s has pseudo-type %s" msgstr "la columna %s de la llave de partición tiene pseudotipo %s" -#: catalog/heap.c:580 +#: catalog/heap.c:584 #, c-format msgid "column \"%s\" has pseudo-type %s" msgstr "la columna «%s» tiene pseudotipo %s" -#: catalog/heap.c:611 +#: catalog/heap.c:615 #, c-format msgid "composite type %s cannot be made a member of itself" msgstr "un tipo compuesto %s no puede ser hecho miembro de sí mismo" #. translator: first %s is an integer not a name -#: catalog/heap.c:666 +#: catalog/heap.c:670 #, c-format msgid "no collation was derived for partition key column %s with collatable type %s" msgstr "no se derivó ningún ordenamiento (collate) para la columna %s de llave de partición con tipo ordenable %s" -#: catalog/heap.c:672 commands/createas.c:203 commands/createas.c:512 +#: catalog/heap.c:676 commands/createas.c:198 commands/createas.c:505 #, c-format msgid "no collation was derived for column \"%s\" with collatable type %s" msgstr "no se derivó ningún ordenamiento (collate) para la columna «%s» con tipo ordenable %s" -#: catalog/heap.c:1148 catalog/index.c:886 commands/createas.c:408 -#: commands/tablecmds.c:3987 +#: catalog/heap.c:1161 catalog/index.c:899 commands/createas.c:401 +#: commands/tablecmds.c:4154 commands/tablecmds.c:20484 +#: commands/tablecmds.c:20746 #, c-format msgid "relation \"%s\" already exists" msgstr "la relación «%s» ya existe" -#: catalog/heap.c:1164 catalog/pg_type.c:434 catalog/pg_type.c:782 -#: catalog/pg_type.c:954 commands/typecmds.c:249 commands/typecmds.c:261 -#: commands/typecmds.c:754 commands/typecmds.c:1169 commands/typecmds.c:1395 -#: commands/typecmds.c:1575 commands/typecmds.c:2546 +#: catalog/heap.c:1177 catalog/pg_type.c:434 catalog/pg_type.c:805 +#: catalog/pg_type.c:977 commands/typecmds.c:253 commands/typecmds.c:265 +#: commands/typecmds.c:758 commands/typecmds.c:1179 commands/typecmds.c:1405 +#: commands/typecmds.c:1585 commands/typecmds.c:2556 #, c-format msgid "type \"%s\" already exists" msgstr "ya existe un tipo «%s»" -#: catalog/heap.c:1165 +#: catalog/heap.c:1178 #, c-format msgid "A relation has an associated type of the same name, so you must use a name that doesn't conflict with any existing type." msgstr "Una relación tiene un tipo asociado del mismo nombre, de modo que debe usar un nombre que no entre en conflicto con un tipo existente." -#: catalog/heap.c:1205 -#, fuzzy, c-format -#| msgid "pg_enum OID value not set when in binary upgrade mode" +#: catalog/heap.c:1218 +#, c-format msgid "toast relfilenumber value not set when in binary upgrade mode" -msgstr "el valor de OID de pg_enum no se definió en modo de actualización binaria" +msgstr "el valor de relfilenumber de toast no se definió en modo de actualización binaria" -#: catalog/heap.c:1216 +#: catalog/heap.c:1229 #, c-format msgid "pg_class heap OID value not set when in binary upgrade mode" msgstr "el valor de OID de heap de pg_class no se definió en modo de actualización binaria" -#: catalog/heap.c:1226 -#, fuzzy, c-format -#| msgid "pg_enum OID value not set when in binary upgrade mode" +#: catalog/heap.c:1239 +#, c-format msgid "relfilenumber value not set when in binary upgrade mode" -msgstr "el valor de OID de pg_enum no se definió en modo de actualización binaria" +msgstr "el valor de relfilenumber no se definió en modo de actualización binaria" -#: catalog/heap.c:2119 +#: catalog/heap.c:2128 #, c-format msgid "cannot add NO INHERIT constraint to partitioned table \"%s\"" msgstr "no se puede agregar una restricción NO INHERIT a la tabla particionada «%s»" -#: catalog/heap.c:2393 +#: catalog/heap.c:2400 #, c-format msgid "check constraint \"%s\" already exists" msgstr "la restricción «check» «%s» ya existe" -#: catalog/heap.c:2563 catalog/index.c:900 catalog/pg_constraint.c:682 -#: commands/tablecmds.c:8900 +#: catalog/heap.c:2572 catalog/index.c:913 catalog/pg_constraint.c:724 +#: commands/tablecmds.c:9376 #, c-format msgid "constraint \"%s\" for relation \"%s\" already exists" msgstr "la restricción «%s» para la relación «%s» ya existe" -#: catalog/heap.c:2570 +#: catalog/heap.c:2579 #, c-format msgid "constraint \"%s\" conflicts with non-inherited constraint on relation \"%s\"" msgstr "la restricción «%s» está en conflicto con la restricción no heredada de la relación «%s»" -#: catalog/heap.c:2581 +#: catalog/heap.c:2590 #, c-format msgid "constraint \"%s\" conflicts with inherited constraint on relation \"%s\"" msgstr "la restricción «%s» está en conflicto con la restricción heredada de la relación «%s»" -#: catalog/heap.c:2591 +#: catalog/heap.c:2600 #, c-format msgid "constraint \"%s\" conflicts with NOT VALID constraint on relation \"%s\"" msgstr "la restricción «%s» está en conflicto con la restricción NOT VALID de la relación «%s»" -#: catalog/heap.c:2596 +#: catalog/heap.c:2605 #, c-format msgid "merging constraint \"%s\" with inherited definition" msgstr "mezclando la restricción «%s» con la definición heredada" -#: catalog/heap.c:2622 catalog/pg_constraint.c:811 commands/tablecmds.c:2672 -#: commands/tablecmds.c:3199 commands/tablecmds.c:6858 -#: commands/tablecmds.c:15208 commands/tablecmds.c:15349 -#, fuzzy, c-format -#| msgid "too many command-line arguments" +#: catalog/heap.c:2631 catalog/pg_constraint.c:853 commands/tablecmds.c:3062 +#: commands/tablecmds.c:3365 commands/tablecmds.c:7109 +#: commands/tablecmds.c:15819 commands/tablecmds.c:15950 +#, c-format msgid "too many inheritance parents" -msgstr "demasiados argumentos de línea de órdenes" +msgstr "demasiados padres de herencia" -#: catalog/heap.c:2706 +#: catalog/heap.c:2715 #, c-format msgid "cannot use generated column \"%s\" in column generation expression" msgstr "no se puede usar la columna generada «%s» en una expresión de generación de columna" -#: catalog/heap.c:2708 +#: catalog/heap.c:2717 #, c-format msgid "A generated column cannot reference another generated column." msgstr "Una columna generada no puede hacer referencia a otra columna generada." -#: catalog/heap.c:2714 +#: catalog/heap.c:2723 #, c-format msgid "cannot use whole-row variable in column generation expression" msgstr "no se puede usar una variable de fila completa (whole-row) en una expresión de generación de columna" -#: catalog/heap.c:2715 +#: catalog/heap.c:2724 #, c-format msgid "This would cause the generated column to depend on its own value." msgstr "Esto causaría que la columna generada dependa de su propio valor." -#: catalog/heap.c:2768 +#: catalog/heap.c:2779 #, c-format msgid "generation expression is not immutable" msgstr "la expresión de generación no es inmutable" -#: catalog/heap.c:2796 rewrite/rewriteHandler.c:1295 +#: catalog/heap.c:2807 rewrite/rewriteHandler.c:1281 #, 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:2801 commands/prepare.c:334 parser/analyze.c:2704 -#: parser/parse_target.c:593 parser/parse_target.c:874 -#: parser/parse_target.c:884 rewrite/rewriteHandler.c:1300 +#: catalog/heap.c:2812 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:1286 #, 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." -#: catalog/heap.c:2848 +#: catalog/heap.c:2859 #, c-format msgid "only table \"%s\" can be referenced in check constraint" msgstr "sólo la tabla «%s» puede ser referenciada en una restricción «check»" -#: catalog/heap.c:3154 +#: catalog/heap.c:3165 #, c-format msgid "unsupported ON COMMIT and foreign key combination" msgstr "combinación de ON COMMIT y llaves foráneas no soportada" -#: catalog/heap.c:3155 +#: catalog/heap.c:3166 #, c-format msgid "Table \"%s\" references \"%s\", but they do not have the same ON COMMIT setting." msgstr "La tabla «%s» se refiere a «%s», pero no tienen la misma expresión para ON COMMIT." -#: catalog/heap.c:3160 +#: catalog/heap.c:3171 #, c-format msgid "cannot truncate a table referenced in a foreign key constraint" msgstr "no se puede truncar una tabla referida en una llave foránea" -#: catalog/heap.c:3161 +#: catalog/heap.c:3172 #, c-format msgid "Table \"%s\" references \"%s\"." msgstr "La tabla «%s» hace referencia a «%s»." -#: catalog/heap.c:3163 +#: catalog/heap.c:3174 #, c-format msgid "Truncate table \"%s\" at the same time, or use TRUNCATE ... CASCADE." msgstr "Trunque la tabla «%s» al mismo tiempo, o utilice TRUNCATE ... CASCADE." -#: catalog/index.c:224 parser/parse_utilcmd.c:2170 +#: catalog/index.c:219 parser/parse_utilcmd.c:2151 #, c-format msgid "multiple primary keys for table \"%s\" are not allowed" msgstr "no se permiten múltiples llaves primarias para la tabla «%s»" -#: catalog/index.c:238 -#, fuzzy, c-format -#| msgid "primary keys cannot be expressions" +#: catalog/index.c:233 +#, c-format msgid "primary keys cannot use NULLS NOT DISTINCT indexes" -msgstr "las llaves primarias no pueden ser expresiones" +msgstr "las llaves primarias no pueden usar índices NULLS NOT DISTINCT" -#: catalog/index.c:255 +#: catalog/index.c:250 #, c-format msgid "primary keys cannot be expressions" msgstr "las llaves primarias no pueden ser expresiones" -#: catalog/index.c:272 +#: catalog/index.c:267 #, c-format msgid "primary key column \"%s\" is not marked NOT NULL" msgstr "columna de llave primaria «%s» no está marcada NOT NULL" -#: catalog/index.c:785 catalog/index.c:1941 +#: catalog/index.c:798 catalog/index.c:1915 #, c-format msgid "user-defined indexes on system catalog tables are not supported" msgstr "los usuarios no pueden crear índices en tablas del sistema" -#: catalog/index.c:825 +#: catalog/index.c:838 #, c-format msgid "nondeterministic collations are not supported for operator class \"%s\"" msgstr "los ordenamientos no determinísticos no están soportados para la clase de operadores «%s»" -#: catalog/index.c:840 +#: catalog/index.c:853 #, c-format msgid "concurrent index creation on system catalog tables is not supported" msgstr "no se pueden crear índices de forma concurrente en tablas del sistema" -#: catalog/index.c:849 catalog/index.c:1317 +#: catalog/index.c:862 catalog/index.c:1331 #, c-format msgid "concurrent index creation for exclusion constraints is not supported" msgstr "no se pueden crear índices para restricciones de exclusión de forma concurrente" -#: catalog/index.c:858 +#: catalog/index.c:871 #, c-format msgid "shared indexes cannot be created after initdb" msgstr "no se pueden crear índices compartidos después de initdb" -#: catalog/index.c:878 commands/createas.c:423 commands/sequence.c:158 -#: parser/parse_utilcmd.c:209 +#: catalog/index.c:891 commands/createas.c:416 commands/sequence.c:159 +#: parser/parse_utilcmd.c:212 #, c-format msgid "relation \"%s\" already exists, skipping" msgstr "la relación «%s» ya existe, omitiendo" -#: catalog/index.c:928 +#: catalog/index.c:941 #, c-format 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:938 utils/cache/relcache.c:3730 -#, fuzzy, c-format -#| msgid "pg_enum OID value not set when in binary upgrade mode" +#: catalog/index.c:951 utils/cache/relcache.c:3790 +#, c-format msgid "index relfilenumber value not set when in binary upgrade mode" -msgstr "el valor de OID de pg_enum no se definió en modo de actualización binaria" +msgstr "el valor relfilenumber de índice no se definió en modo de actualización binaria" -#: catalog/index.c:2240 +#: catalog/index.c:2214 #, c-format 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:3647 +#: catalog/index.c:3670 #, 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:3658 commands/indexcmds.c:3623 +#: catalog/index.c:3681 commands/indexcmds.c:3652 #, 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:3674 commands/indexcmds.c:3503 commands/indexcmds.c:3647 -#: commands/tablecmds.c:3402 +#: catalog/index.c:3697 commands/indexcmds.c:3530 commands/indexcmds.c:3676 +#: commands/tablecmds.c:3569 #, c-format msgid "cannot move system relation \"%s\"" msgstr "no se puede mover la relación de sistema «%s»" -#: catalog/index.c:3818 +#: catalog/index.c:3834 #, c-format msgid "index \"%s\" was reindexed" msgstr "el índice «%s» fue reindexado" -#: catalog/index.c:3955 +#: catalog/index.c:4000 #, 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:260 catalog/namespace.c:464 catalog/namespace.c:556 -#: commands/trigger.c:5687 +#: catalog/namespace.c:447 catalog/namespace.c:651 catalog/namespace.c:743 +#: commands/trigger.c:5731 #, 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»" -#: catalog/namespace.c:317 +#: catalog/namespace.c:504 #, c-format msgid "temporary tables cannot specify a schema name" msgstr "las tablas temporales no pueden especificar un nombre de esquema" -#: catalog/namespace.c:398 +#: catalog/namespace.c:585 #, c-format msgid "could not obtain lock on relation \"%s.%s\"" msgstr "no se pudo bloquear un candado en la relación «%s.%s»" -#: catalog/namespace.c:403 commands/lockcmds.c:145 commands/lockcmds.c:225 +#: catalog/namespace.c:590 commands/lockcmds.c:143 commands/lockcmds.c:223 #, c-format msgid "could not obtain lock on relation \"%s\"" msgstr "no se pudo bloquear un candado en la relación «%s»" -#: catalog/namespace.c:431 parser/parse_relation.c:1429 +#: catalog/namespace.c:618 parser/parse_relation.c:1430 #, c-format msgid "relation \"%s.%s\" does not exist" msgstr "no existe la relación «%s.%s»" -#: catalog/namespace.c:436 parser/parse_relation.c:1442 -#: parser/parse_relation.c:1450 utils/adt/regproc.c:913 +#: catalog/namespace.c:623 parser/parse_relation.c:1443 +#: parser/parse_relation.c:1451 utils/adt/regproc.c:913 #, c-format msgid "relation \"%s\" does not exist" msgstr "no existe la relación «%s»" -#: catalog/namespace.c:502 catalog/namespace.c:3073 commands/extension.c:1584 -#: commands/extension.c:1590 +#: catalog/namespace.c:689 catalog/namespace.c:3507 commands/extension.c:1607 +#: commands/extension.c:1613 #, c-format msgid "no schema has been selected to create in" msgstr "no se ha seleccionado ningún esquema dentro del cual crear" -#: catalog/namespace.c:654 catalog/namespace.c:667 +#: catalog/namespace.c:841 catalog/namespace.c:854 #, c-format msgid "cannot create relations in temporary schemas of other sessions" msgstr "no se pueden crear relaciones en esquemas temporales de otras sesiones" -#: catalog/namespace.c:658 +#: catalog/namespace.c:845 #, c-format msgid "cannot create temporary relation in non-temporary schema" msgstr "no se pueden crear tablas temporales en esquemas no temporales" -#: catalog/namespace.c:673 +#: catalog/namespace.c:860 #, c-format msgid "only temporary relations may be created in temporary schemas" msgstr "sólo relaciones temporales pueden ser creadas en los esquemas temporales" -#: catalog/namespace.c:2265 +#: catalog/namespace.c:2604 #, c-format msgid "statistics object \"%s\" does not exist" msgstr "no existe el objeto de estadísticas «%s»" -#: catalog/namespace.c:2388 +#: catalog/namespace.c:2746 #, c-format msgid "text search parser \"%s\" does not exist" msgstr "no existe el analizador de búsqueda en texto «%s»" -#: catalog/namespace.c:2514 utils/adt/regproc.c:1439 +#: catalog/namespace.c:2891 utils/adt/regproc.c:1459 #, c-format msgid "text search dictionary \"%s\" does not exist" msgstr "no existe el diccionario de búsqueda en texto «%s»" -#: catalog/namespace.c:2641 +#: catalog/namespace.c:3037 #, c-format msgid "text search template \"%s\" does not exist" msgstr "no existe la plantilla de búsqueda en texto «%s»" -#: catalog/namespace.c:2767 commands/tsearchcmds.c:1162 -#: utils/adt/regproc.c:1329 utils/cache/ts_cache.c:635 +#: catalog/namespace.c:3182 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 "no existe la configuración de búsqueda en texto «%s»" -#: catalog/namespace.c:2880 parser/parse_expr.c:832 parser/parse_target.c:1246 +#: catalog/namespace.c:3314 parser/parse_expr.c:868 parser/parse_target.c:1259 #, c-format msgid "cross-database references are not implemented: %s" msgstr "no están implementadas las referencias entre bases de datos: %s" -#: catalog/namespace.c:2886 parser/parse_expr.c:839 parser/parse_target.c:1253 -#: gram.y:18570 gram.y:18610 +#: catalog/namespace.c:3320 parser/parse_expr.c:875 parser/parse_target.c:1266 +#: gram.y:19230 gram.y:19270 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "el nombre no es válido (demasiados puntos): %s" -#: catalog/namespace.c:3016 +#: catalog/namespace.c:3450 #, c-format msgid "cannot move objects into or out of temporary schemas" msgstr "no se puede mover objetos hacia o desde esquemas temporales" -#: catalog/namespace.c:3022 +#: catalog/namespace.c:3456 #, c-format msgid "cannot move objects into or out of TOAST schema" msgstr "no se puede mover objetos hacia o desde el esquema TOAST" -#: catalog/namespace.c:3095 commands/schemacmds.c:264 commands/schemacmds.c:344 -#: commands/tablecmds.c:1280 utils/adt/regproc.c:1668 +#: catalog/namespace.c:3529 commands/schemacmds.c:264 commands/schemacmds.c:344 +#: commands/tablecmds.c:1392 utils/adt/regproc.c:1688 #, c-format msgid "schema \"%s\" does not exist" msgstr "no existe el esquema «%s»" -#: catalog/namespace.c:3126 +#: catalog/namespace.c:3560 #, c-format msgid "improper relation name (too many dotted names): %s" msgstr "el nombre de relación no es válido (demasiados puntos): %s" -#: catalog/namespace.c:3693 utils/adt/regproc.c:1056 +#: catalog/namespace.c:4001 utils/adt/regproc.c:1056 #, c-format msgid "collation \"%s\" for encoding \"%s\" does not exist" msgstr "no existe el ordenamiento (collation) «%s» para la codificación «%s»" -#: catalog/namespace.c:3748 +#: catalog/namespace.c:4056 #, c-format msgid "conversion \"%s\" does not exist" msgstr "no existe la conversión «%s»" -#: catalog/namespace.c:4012 +#: catalog/namespace.c:4397 #, c-format msgid "permission denied to create temporary tables in database \"%s\"" msgstr "se ha denegado el permiso para crear tablas temporales en la base de datos «%s»" -#: catalog/namespace.c:4028 +#: catalog/namespace.c:4413 #, c-format msgid "cannot create temporary tables during recovery" msgstr "no se pueden crear tablas temporales durante la recuperación" -#: catalog/namespace.c:4034 +#: catalog/namespace.c:4419 #, c-format msgid "cannot create temporary tables during a parallel operation" msgstr "no se pueden crear tablas temporales durante una operación paralela" -#: catalog/objectaddress.c:1409 commands/policy.c:96 commands/policy.c:376 -#: commands/tablecmds.c:248 commands/tablecmds.c:290 commands/tablecmds.c:2206 -#: commands/tablecmds.c:12357 +#: catalog/objectaddress.c:1371 commands/policy.c:93 commands/policy.c:373 +#: commands/tablecmds.c:257 commands/tablecmds.c:299 commands/tablecmds.c:2315 +#: commands/tablecmds.c:12838 parser/parse_utilcmd.c:3249 #, c-format msgid "\"%s\" is not a table" msgstr "«%s» no es una tabla" -#: catalog/objectaddress.c:1416 commands/tablecmds.c:260 -#: commands/tablecmds.c:17169 commands/view.c:119 +#: catalog/objectaddress.c:1378 commands/tablecmds.c:269 +#: commands/tablecmds.c:17756 commands/view.c:114 #, c-format msgid "\"%s\" is not a view" msgstr "«%s» no es una vista" -#: catalog/objectaddress.c:1423 commands/matview.c:187 commands/tablecmds.c:266 -#: commands/tablecmds.c:17174 +#: catalog/objectaddress.c:1385 commands/matview.c:199 commands/tablecmds.c:275 +#: commands/tablecmds.c:17761 #, c-format msgid "\"%s\" is not a materialized view" msgstr "«%s» no es una vista materializada" -#: catalog/objectaddress.c:1430 commands/tablecmds.c:284 -#: commands/tablecmds.c:17179 +#: catalog/objectaddress.c:1392 commands/tablecmds.c:293 +#: commands/tablecmds.c:17766 #, c-format msgid "\"%s\" is not a foreign table" msgstr "«%s» no es una tabla foránea" -#: catalog/objectaddress.c:1471 +#: catalog/objectaddress.c:1433 #, c-format msgid "must specify relation and object name" msgstr "debe especificar nombre de relación y nombre de objeto" -#: catalog/objectaddress.c:1547 catalog/objectaddress.c:1600 +#: catalog/objectaddress.c:1509 catalog/objectaddress.c:1562 #, c-format msgid "column name must be qualified" msgstr "el nombre de columna debe ser calificado" -#: catalog/objectaddress.c:1619 +#: catalog/objectaddress.c:1581 #, c-format msgid "default value for column \"%s\" of relation \"%s\" does not exist" msgstr "no existe el valor por omisión para la columna «%s» de la relación «%s»" -#: catalog/objectaddress.c:1656 commands/functioncmds.c:137 -#: commands/tablecmds.c:276 commands/typecmds.c:274 commands/typecmds.c:3689 +#: 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:4449 +#: utils/adt/acl.c:4560 #, c-format msgid "type \"%s\" does not exist" msgstr "no existe el tipo «%s»" -#: catalog/objectaddress.c:1775 +#: catalog/objectaddress.c:1737 #, c-format msgid "operator %d (%s, %s) of %s does not exist" msgstr "no existe el operador %d (%s, %s) de %s" -#: catalog/objectaddress.c:1806 +#: catalog/objectaddress.c:1768 #, c-format msgid "function %d (%s, %s) of %s does not exist" msgstr "no existe la función %d (%s, %s) de %s" -#: catalog/objectaddress.c:1857 catalog/objectaddress.c:1883 +#: catalog/objectaddress.c:1819 catalog/objectaddress.c:1845 #, c-format msgid "user mapping for user \"%s\" on server \"%s\" does not exist" msgstr "no existe el mapeo para el usuario «%s» en el servidor «%s»" -#: catalog/objectaddress.c:1872 commands/foreigncmds.c:430 -#: commands/foreigncmds.c:993 commands/foreigncmds.c:1356 foreign/foreign.c:700 +#: catalog/objectaddress.c:1834 commands/foreigncmds.c:430 +#: commands/foreigncmds.c:993 commands/foreigncmds.c:1356 foreign/foreign.c:703 #, c-format msgid "server \"%s\" does not exist" msgstr "no existe el servidor «%s»" -#: catalog/objectaddress.c:1939 +#: catalog/objectaddress.c:1901 #, c-format msgid "publication relation \"%s\" in publication \"%s\" does not exist" msgstr "no existe la relación «%s» en la publicación «%s»" -#: catalog/objectaddress.c:1986 -#, fuzzy, c-format -#| msgid "publication relation \"%s\" in publication \"%s\" does not exist" +#: catalog/objectaddress.c:1948 +#, c-format msgid "publication schema \"%s\" in publication \"%s\" does not exist" -msgstr "no existe la relación «%s» en la publicación «%s»" +msgstr "no existe el esquema de publicación «%s» en la publicación «%s»" -#: catalog/objectaddress.c:2044 +#: catalog/objectaddress.c:2006 #, c-format msgid "unrecognized default ACL object type \"%c\"" msgstr "tipo de objeto para ACL por omisión «%c» no reconocido" -#: catalog/objectaddress.c:2045 +#: catalog/objectaddress.c:2007 #, c-format msgid "Valid object types are \"%c\", \"%c\", \"%c\", \"%c\", \"%c\"." msgstr "Tipos válidos de objeto son «%c», «%c», «%c», «%c» y «%c»." -#: catalog/objectaddress.c:2096 +#: catalog/objectaddress.c:2058 #, c-format msgid "default ACL for user \"%s\" in schema \"%s\" on %s does not exist" msgstr "no existe el ACL por omisión para el usuario «%s» en el esquema «%s» en %s" -#: catalog/objectaddress.c:2101 +#: catalog/objectaddress.c:2063 #, c-format msgid "default ACL for user \"%s\" on %s does not exist" msgstr "no existe el ACL por omisión para el usuario «%s» en %s" -#: catalog/objectaddress.c:2127 catalog/objectaddress.c:2184 -#: catalog/objectaddress.c:2239 +#: catalog/objectaddress.c:2089 catalog/objectaddress.c:2146 +#: catalog/objectaddress.c:2201 #, c-format msgid "name or argument lists may not contain nulls" msgstr "las listas de nombres o argumentos no pueden contener nulls" -#: catalog/objectaddress.c:2161 +#: catalog/objectaddress.c:2123 #, c-format msgid "unsupported object type \"%s\"" msgstr "tipo de objeto «%s» no soportado" -#: catalog/objectaddress.c:2180 catalog/objectaddress.c:2197 -#: catalog/objectaddress.c:2262 catalog/objectaddress.c:2346 +#: catalog/objectaddress.c:2142 catalog/objectaddress.c:2159 +#: catalog/objectaddress.c:2224 catalog/objectaddress.c:2308 #, c-format msgid "name list length must be exactly %d" msgstr "el largo de la lista de nombres debe ser exactamente %d" -#: catalog/objectaddress.c:2201 +#: catalog/objectaddress.c:2163 #, c-format msgid "large object OID may not be null" msgstr "el OID de objeto grande no puede ser null" -#: catalog/objectaddress.c:2210 catalog/objectaddress.c:2280 -#: catalog/objectaddress.c:2287 +#: catalog/objectaddress.c:2172 catalog/objectaddress.c:2242 +#: catalog/objectaddress.c:2249 #, c-format msgid "name list length must be at least %d" msgstr "el largo de la lista de nombres debe ser al menos %d" -#: catalog/objectaddress.c:2273 catalog/objectaddress.c:2294 +#: catalog/objectaddress.c:2235 catalog/objectaddress.c:2256 #, c-format msgid "argument list length must be exactly %d" msgstr "el largo de la lista de argumentos debe ser exactamente %d" -#: catalog/objectaddress.c:2508 libpq/be-fsstubs.c:329 +#: catalog/objectaddress.c:2470 libpq/be-fsstubs.c:329 #, c-format msgid "must be owner of large object %u" msgstr "debe ser dueño del objeto grande %u" -#: catalog/objectaddress.c:2523 commands/functioncmds.c:1561 +#: catalog/objectaddress.c:2485 commands/functioncmds.c:1560 #, c-format msgid "must be owner of type %s or type %s" msgstr "debe ser dueño del tipo %s o el tipo %s" -#: catalog/objectaddress.c:2550 catalog/objectaddress.c:2559 -#: catalog/objectaddress.c:2565 +#: catalog/objectaddress.c:2512 catalog/objectaddress.c:2521 +#: catalog/objectaddress.c:2527 #, c-format msgid "permission denied" msgstr "permiso denegado" -#: catalog/objectaddress.c:2551 catalog/objectaddress.c:2560 +#: catalog/objectaddress.c:2513 catalog/objectaddress.c:2522 #, c-format msgid "The current user must have the %s attribute." -msgstr "" +msgstr "El usuario actual debe tener el atributo %s." -#: catalog/objectaddress.c:2566 +#: catalog/objectaddress.c:2528 #, c-format msgid "The current user must have the %s option on role \"%s\"." -msgstr "" +msgstr "El usuario actual debe tener la opción %s en el rol «%s»." -#: catalog/objectaddress.c:2580 +#: catalog/objectaddress.c:2542 #, c-format msgid "must be superuser" msgstr "debe ser superusuario" -#: catalog/objectaddress.c:2649 +#: catalog/objectaddress.c:2611 #, c-format msgid "unrecognized object type \"%s\"" msgstr "tipo de objeto «%s» no reconocido" #. translator: second %s is, e.g., "table %s" -#: catalog/objectaddress.c:2941 +#: catalog/objectaddress.c:2903 #, c-format msgid "column %s of %s" msgstr "columna %s de %s" -#: catalog/objectaddress.c:2956 +#: catalog/objectaddress.c:2918 #, c-format msgid "function %s" msgstr "función %s" -#: catalog/objectaddress.c:2969 +#: catalog/objectaddress.c:2931 #, c-format msgid "type %s" msgstr "tipo %s" -#: catalog/objectaddress.c:3006 +#: catalog/objectaddress.c:2968 #, c-format msgid "cast from %s to %s" msgstr "conversión de %s a %s" -#: catalog/objectaddress.c:3039 +#: catalog/objectaddress.c:3001 #, c-format msgid "collation %s" msgstr "ordenamiento (collation) %s" #. translator: second %s is, e.g., "table %s" -#: catalog/objectaddress.c:3070 +#: catalog/objectaddress.c:3032 #, c-format msgid "constraint %s on %s" msgstr "restricción «%s» en %s" -#: catalog/objectaddress.c:3076 +#: catalog/objectaddress.c:3038 #, c-format msgid "constraint %s" msgstr "restricción %s" -#: catalog/objectaddress.c:3108 +#: catalog/objectaddress.c:3070 #, c-format msgid "conversion %s" msgstr "conversión %s" #. translator: %s is typically "column %s of table %s" -#: catalog/objectaddress.c:3130 +#: catalog/objectaddress.c:3092 #, c-format msgid "default value for %s" msgstr "valor por omisión para %s" -#: catalog/objectaddress.c:3141 +#: catalog/objectaddress.c:3103 #, c-format msgid "language %s" msgstr "lenguaje %s" -#: catalog/objectaddress.c:3149 +#: catalog/objectaddress.c:3111 #, c-format msgid "large object %u" msgstr "objeto grande %u" -#: catalog/objectaddress.c:3162 +#: catalog/objectaddress.c:3124 #, c-format msgid "operator %s" msgstr "operador %s" -#: catalog/objectaddress.c:3199 +#: catalog/objectaddress.c:3161 #, c-format msgid "operator class %s for access method %s" msgstr "clase de operadores «%s» para el método de acceso «%s»" -#: catalog/objectaddress.c:3227 +#: catalog/objectaddress.c:3189 #, c-format msgid "access method %s" msgstr "método de acceso %s" @@ -5218,7 +5521,7 @@ msgstr "método de acceso %s" #. first two %s's are data type names, the third %s is the #. description of the operator family, and the last %s is the #. textual form of the operator with arguments. -#: catalog/objectaddress.c:3276 +#: catalog/objectaddress.c:3238 #, c-format msgid "operator %d (%s, %s) of %s: %s" msgstr "operador %d (%s, %s) de %s: %s" @@ -5227,237 +5530,236 @@ msgstr "operador %d (%s, %s) de %s: %s" #. are data type names, the third %s is the description of the #. operator family, and the last %s is the textual form of the #. function with arguments. -#: catalog/objectaddress.c:3333 +#: catalog/objectaddress.c:3295 #, c-format msgid "function %d (%s, %s) of %s: %s" msgstr "función %d (%s, %s) de %s: %s" #. translator: second %s is, e.g., "table %s" -#: catalog/objectaddress.c:3385 +#: catalog/objectaddress.c:3347 #, c-format msgid "rule %s on %s" msgstr "regla %s en %s" #. translator: second %s is, e.g., "table %s" -#: catalog/objectaddress.c:3431 +#: catalog/objectaddress.c:3393 #, c-format msgid "trigger %s on %s" msgstr "disparador %s en %s" -#: catalog/objectaddress.c:3451 +#: catalog/objectaddress.c:3413 #, c-format msgid "schema %s" msgstr "esquema %s" -#: catalog/objectaddress.c:3479 +#: catalog/objectaddress.c:3441 #, c-format msgid "statistics object %s" msgstr "objeto de estadísticas %s" -#: catalog/objectaddress.c:3510 +#: catalog/objectaddress.c:3472 #, c-format msgid "text search parser %s" msgstr "analizador de búsqueda en texto %s" -#: catalog/objectaddress.c:3541 +#: catalog/objectaddress.c:3503 #, c-format msgid "text search dictionary %s" msgstr "diccionario de búsqueda en texto %s" -#: catalog/objectaddress.c:3572 +#: catalog/objectaddress.c:3534 #, c-format msgid "text search template %s" msgstr "plantilla de búsqueda en texto %s" -#: catalog/objectaddress.c:3603 +#: catalog/objectaddress.c:3565 #, c-format msgid "text search configuration %s" msgstr "configuración de búsqueda en texto %s" -#: catalog/objectaddress.c:3616 +#: catalog/objectaddress.c:3578 #, c-format msgid "role %s" msgstr "rol %s" -#: catalog/objectaddress.c:3653 catalog/objectaddress.c:5505 -#, fuzzy, c-format -#| msgid "removal of role \"%s\" failed: %s" +#: catalog/objectaddress.c:3615 catalog/objectaddress.c:5464 +#, c-format msgid "membership of role %s in role %s" -msgstr "falló la eliminación del rol «%s»: %s" +msgstr "membresía del rol %s en el rol %s" -#: catalog/objectaddress.c:3674 +#: catalog/objectaddress.c:3636 #, c-format msgid "database %s" msgstr "base de datos %s" -#: catalog/objectaddress.c:3690 +#: catalog/objectaddress.c:3652 #, c-format msgid "tablespace %s" msgstr "tablespace %s" -#: catalog/objectaddress.c:3701 +#: catalog/objectaddress.c:3663 #, c-format msgid "foreign-data wrapper %s" msgstr "conector de datos externos %s" -#: catalog/objectaddress.c:3711 +#: catalog/objectaddress.c:3673 #, c-format msgid "server %s" msgstr "servidor %s" -#: catalog/objectaddress.c:3744 +#: catalog/objectaddress.c:3706 #, c-format msgid "user mapping for %s on server %s" msgstr "mapeo para el usuario %s en el servidor %s" -#: catalog/objectaddress.c:3796 +#: catalog/objectaddress.c:3758 #, c-format msgid "default privileges on new relations belonging to role %s in schema %s" msgstr "privilegios por omisión en nuevas relaciones pertenecientes al rol %s en el esquema %s" -#: catalog/objectaddress.c:3800 +#: catalog/objectaddress.c:3762 #, c-format msgid "default privileges on new relations belonging to role %s" msgstr "privilegios por omisión en nuevas relaciones pertenecientes al rol %s" -#: catalog/objectaddress.c:3806 +#: catalog/objectaddress.c:3768 #, c-format msgid "default privileges on new sequences belonging to role %s in schema %s" msgstr "privilegios por omisión en nuevas secuencias pertenecientes al rol %s en el esquema %s" -#: catalog/objectaddress.c:3810 +#: catalog/objectaddress.c:3772 #, c-format msgid "default privileges on new sequences belonging to role %s" msgstr "privilegios por omisión en nuevas secuencias pertenecientes al rol %s" -#: catalog/objectaddress.c:3816 +#: catalog/objectaddress.c:3778 #, c-format msgid "default privileges on new functions belonging to role %s in schema %s" msgstr "privilegios por omisión en nuevas funciones pertenecientes al rol %s en el esquema %s" -#: catalog/objectaddress.c:3820 +#: catalog/objectaddress.c:3782 #, c-format msgid "default privileges on new functions belonging to role %s" msgstr "privilegios por omisión en nuevas funciones pertenecientes al rol %s" -#: catalog/objectaddress.c:3826 +#: catalog/objectaddress.c:3788 #, c-format msgid "default privileges on new types belonging to role %s in schema %s" msgstr "privilegios por omisión en nuevos tipos pertenecientes al rol %s en el esquema %s" -#: catalog/objectaddress.c:3830 +#: catalog/objectaddress.c:3792 #, c-format msgid "default privileges on new types belonging to role %s" msgstr "privilegios por omisión en nuevos tipos pertenecientes al rol %s" -#: catalog/objectaddress.c:3836 +#: catalog/objectaddress.c:3798 #, c-format msgid "default privileges on new schemas belonging to role %s" msgstr "privilegios por omisión en nuevos esquemas pertenecientes al rol %s" -#: catalog/objectaddress.c:3843 +#: catalog/objectaddress.c:3805 #, c-format msgid "default privileges belonging to role %s in schema %s" msgstr "privilegios por omisión pertenecientes al rol %s en el esquema %s" -#: catalog/objectaddress.c:3847 +#: catalog/objectaddress.c:3809 #, c-format msgid "default privileges belonging to role %s" msgstr "privilegios por omisión pertenecientes al rol %s" -#: catalog/objectaddress.c:3869 +#: catalog/objectaddress.c:3831 #, c-format msgid "extension %s" msgstr "extensión %s" -#: catalog/objectaddress.c:3886 +#: catalog/objectaddress.c:3848 #, c-format msgid "event trigger %s" msgstr "disparador por eventos %s" -#: catalog/objectaddress.c:3910 +#: catalog/objectaddress.c:3872 #, c-format msgid "parameter %s" msgstr "parámetro %s" #. translator: second %s is, e.g., "table %s" -#: catalog/objectaddress.c:3953 +#: catalog/objectaddress.c:3915 #, c-format msgid "policy %s on %s" msgstr "política %s en %s" -#: catalog/objectaddress.c:3967 +#: catalog/objectaddress.c:3929 #, c-format msgid "publication %s" msgstr "publicación %s" -#: catalog/objectaddress.c:3980 +#: catalog/objectaddress.c:3942 #, c-format msgid "publication of schema %s in publication %s" msgstr "publicación de esquema %s en la publicación %s" #. translator: first %s is, e.g., "table %s" -#: catalog/objectaddress.c:4011 +#: catalog/objectaddress.c:3973 #, c-format msgid "publication of %s in publication %s" msgstr "publicación de %s en la publicación %s" -#: catalog/objectaddress.c:4024 +#: catalog/objectaddress.c:3986 #, c-format msgid "subscription %s" msgstr "suscripción %s" -#: catalog/objectaddress.c:4045 +#: catalog/objectaddress.c:4007 #, c-format msgid "transform for %s language %s" msgstr "transformación para %s lenguaje %s" -#: catalog/objectaddress.c:4116 +#: catalog/objectaddress.c:4076 #, c-format msgid "table %s" msgstr "tabla %s" -#: catalog/objectaddress.c:4121 +#: catalog/objectaddress.c:4081 #, c-format msgid "index %s" msgstr "índice %s" -#: catalog/objectaddress.c:4125 +#: catalog/objectaddress.c:4085 #, c-format msgid "sequence %s" msgstr "secuencia %s" -#: catalog/objectaddress.c:4129 +#: catalog/objectaddress.c:4089 #, c-format msgid "toast table %s" msgstr "tabla toast %s" -#: catalog/objectaddress.c:4133 +#: catalog/objectaddress.c:4093 #, c-format msgid "view %s" msgstr "vista %s" -#: catalog/objectaddress.c:4137 +#: catalog/objectaddress.c:4097 #, c-format msgid "materialized view %s" msgstr "vista materializada %s" -#: catalog/objectaddress.c:4141 +#: catalog/objectaddress.c:4101 #, c-format msgid "composite type %s" msgstr "tipo compuesto %s" -#: catalog/objectaddress.c:4145 +#: catalog/objectaddress.c:4105 #, c-format msgid "foreign table %s" msgstr "tabla foránea %s" -#: catalog/objectaddress.c:4150 +#: catalog/objectaddress.c:4110 #, c-format msgid "relation %s" msgstr "relación %s" -#: catalog/objectaddress.c:4191 +#: catalog/objectaddress.c:4151 #, c-format msgid "operator family %s for access method %s" msgstr "familia de operadores %s para el método de acceso %s" @@ -5499,7 +5801,7 @@ msgstr "no se puede omitir el valor inicial cuando la función de transición es msgid "return type of inverse transition function %s is not %s" msgstr "el tipo de retorno de la función inversa de transición %s no es %s" -#: catalog/pg_aggregate.c:352 executor/nodeWindowAgg.c:3009 +#: catalog/pg_aggregate.c:352 executor/nodeWindowAgg.c:2992 #, c-format msgid "strictness of aggregate's forward and inverse transition functions must match" msgstr "la opción «strict» de las funciones de transición directa e inversa deben coincidir exactamente en la función de agregación" @@ -5514,7 +5816,7 @@ msgstr "la función final con argumentos extra no debe declararse STRICT" msgid "return type of combine function %s is not %s" msgstr "el tipo de retorno de la función «combine» %s no es %s" -#: catalog/pg_aggregate.c:439 executor/nodeAgg.c:3903 +#: catalog/pg_aggregate.c:439 executor/nodeAgg.c:3902 #, c-format msgid "combine function with transition type %s must not be declared STRICT" msgstr "la función «combine» con tipo de transición %s no debe declararse STRICT" @@ -5529,12 +5831,12 @@ msgstr "el tipo de retorno de la función de serialización %s no es %s" msgid "return type of deserialization function %s is not %s" msgstr "el tipo de retorno de la función de deserialización %s no es %s" -#: catalog/pg_aggregate.c:498 catalog/pg_proc.c:191 catalog/pg_proc.c:225 +#: catalog/pg_aggregate.c:498 catalog/pg_proc.c:189 catalog/pg_proc.c:223 #, c-format msgid "cannot determine result data type" msgstr "no se puede determinar el tipo de dato del resultado" -#: catalog/pg_aggregate.c:513 catalog/pg_proc.c:204 catalog/pg_proc.c:233 +#: catalog/pg_aggregate.c:513 catalog/pg_proc.c:202 catalog/pg_proc.c:231 #, c-format msgid "unsafe use of pseudo-type \"internal\"" msgstr "uso inseguro de pseudotipo «internal»" @@ -5549,7 +5851,7 @@ msgstr "la implementación de la función de agregación en modo «moving» devu msgid "sort operator can only be specified for single-argument aggregates" msgstr "el operador de ordenamiento sólo puede ser especificado para funciones de agregación de un solo argumento" -#: catalog/pg_aggregate.c:706 catalog/pg_proc.c:386 +#: catalog/pg_aggregate.c:706 catalog/pg_proc.c:384 #, c-format msgid "cannot change routine kind" msgstr "no se puede cambiar el tipo de rutina" @@ -5574,13 +5876,13 @@ msgstr "«%s» es una agregación de conjunto hipotético." msgid "cannot change number of direct arguments of an aggregate function" msgstr "no se puede cambiar cantidad de argumentos directos de una función de agregación" -#: catalog/pg_aggregate.c:858 commands/functioncmds.c:691 -#: commands/typecmds.c:1975 commands/typecmds.c:2021 commands/typecmds.c:2073 -#: commands/typecmds.c:2110 commands/typecmds.c:2144 commands/typecmds.c:2178 -#: commands/typecmds.c:2212 commands/typecmds.c:2241 commands/typecmds.c:2328 -#: commands/typecmds.c:2370 parser/parse_func.c:417 parser/parse_func.c:448 +#: catalog/pg_aggregate.c:858 commands/functioncmds.c:686 +#: commands/typecmds.c:1985 commands/typecmds.c:2031 commands/typecmds.c:2083 +#: commands/typecmds.c:2120 commands/typecmds.c:2154 commands/typecmds.c:2188 +#: commands/typecmds.c:2222 commands/typecmds.c:2251 commands/typecmds.c:2338 +#: commands/typecmds.c:2380 parser/parse_func.c:417 parser/parse_func.c:448 #: parser/parse_func.c:475 parser/parse_func.c:489 parser/parse_func.c:611 -#: parser/parse_func.c:631 parser/parse_func.c:2171 parser/parse_func.c:2444 +#: parser/parse_func.c:631 parser/parse_func.c:2172 parser/parse_func.c:2445 #, c-format msgid "function %s does not exist" msgstr "no existe la función %s" @@ -5655,133 +5957,133 @@ msgstr "Esta operación no está soportada en tablas particionadas." msgid "This operation is not supported for partitioned indexes." msgstr "Esta operación no está soportada en índices particionados." -#: catalog/pg_collation.c:102 catalog/pg_collation.c:160 +#: catalog/pg_collation.c:101 catalog/pg_collation.c:159 #, c-format msgid "collation \"%s\" already exists, skipping" msgstr "el ordenamiento «%s» ya existe, omitiendo" -#: catalog/pg_collation.c:104 +#: catalog/pg_collation.c:103 #, c-format msgid "collation \"%s\" for encoding \"%s\" already exists, skipping" msgstr "el ordenamiento «%s» para la codificación «%s» ya existe, omitiendo" -#: catalog/pg_collation.c:112 catalog/pg_collation.c:167 +#: catalog/pg_collation.c:111 catalog/pg_collation.c:166 #, c-format msgid "collation \"%s\" already exists" msgstr "el ordenamiento «%s» ya existe" -#: catalog/pg_collation.c:114 +#: catalog/pg_collation.c:113 #, c-format msgid "collation \"%s\" for encoding \"%s\" already exists" msgstr "la codificación «%2$s» ya tiene un ordenamiento llamado «%1$s»" -#: catalog/pg_constraint.c:690 +#: catalog/pg_constraint.c:732 #, c-format msgid "constraint \"%s\" for domain %s already exists" msgstr "el dominio %2$s ya contiene una restricción llamada «%1$s»" -#: catalog/pg_constraint.c:890 catalog/pg_constraint.c:983 +#: catalog/pg_constraint.c:932 catalog/pg_constraint.c:1025 #, c-format msgid "constraint \"%s\" for table \"%s\" does not exist" msgstr "no existe la restricción «%s» para la tabla «%s»" -#: catalog/pg_constraint.c:1083 +#: catalog/pg_constraint.c:1125 #, c-format msgid "constraint \"%s\" for domain %s does not exist" msgstr "no existe la restricción «%s» para el dominio %s" -#: catalog/pg_conversion.c:67 +#: catalog/pg_conversion.c:64 #, c-format msgid "conversion \"%s\" already exists" msgstr "ya existe la conversión «%s»" -#: catalog/pg_conversion.c:80 +#: catalog/pg_conversion.c:77 #, c-format msgid "default conversion for %s to %s already exists" msgstr "ya existe una conversión por omisión desde %s a %s" -#: catalog/pg_depend.c:222 commands/extension.c:3344 +#: catalog/pg_depend.c:224 commands/extension.c:3397 #, c-format msgid "%s is already a member of extension \"%s\"" msgstr "«%s» ya es un miembro de la extensión «%s»" -#: catalog/pg_depend.c:229 catalog/pg_depend.c:280 commands/extension.c:3384 +#: catalog/pg_depend.c:231 catalog/pg_depend.c:282 commands/extension.c:3437 #, c-format msgid "%s is not a member of extension \"%s\"" msgstr "%s no es un miembro de la extensión «%s»" -#: catalog/pg_depend.c:232 +#: catalog/pg_depend.c:234 #, c-format msgid "An extension is not allowed to replace an object that it does not own." msgstr "A una extensión no se le permite reemplazar un objeto que no posee." -#: catalog/pg_depend.c:283 +#: catalog/pg_depend.c:285 #, c-format msgid "An extension may only use CREATE ... IF NOT EXISTS to skip object creation if the conflicting object is one that it already owns." msgstr "Una extensión sólo puede usar CREATE ... IF NOT EXISTS para omitir la creación de un objeto si el objeto en conflicto es uno de cual ya es dueña." -#: catalog/pg_depend.c:646 +#: catalog/pg_depend.c:648 #, c-format msgid "cannot remove dependency on %s because it is a system object" msgstr "no se puede eliminar dependencia a %s porque es un objeto requerido por el sistema" -#: catalog/pg_enum.c:137 catalog/pg_enum.c:259 catalog/pg_enum.c:554 +#: catalog/pg_enum.c:175 catalog/pg_enum.c:314 catalog/pg_enum.c:624 #, c-format msgid "invalid enum label \"%s\"" msgstr "la etiqueta enum «%s» no es válida" -#: catalog/pg_enum.c:138 catalog/pg_enum.c:260 catalog/pg_enum.c:555 +#: catalog/pg_enum.c:176 catalog/pg_enum.c:315 catalog/pg_enum.c:625 #, c-format msgid "Labels must be %d bytes or less." msgstr "Las etiquetas deben ser de %d bytes o menos." -#: catalog/pg_enum.c:288 +#: catalog/pg_enum.c:343 #, c-format msgid "enum label \"%s\" already exists, skipping" msgstr "la etiqueta de enum «%s» ya existe, omitiendo" -#: catalog/pg_enum.c:295 catalog/pg_enum.c:598 +#: catalog/pg_enum.c:350 catalog/pg_enum.c:668 #, c-format msgid "enum label \"%s\" already exists" msgstr "la etiqueta de enum «%s» ya existe" -#: catalog/pg_enum.c:350 catalog/pg_enum.c:593 +#: catalog/pg_enum.c:405 catalog/pg_enum.c:663 #, c-format msgid "\"%s\" is not an existing enum label" msgstr "«%s» no es una etiqueta de enum existente" -#: catalog/pg_enum.c:408 +#: catalog/pg_enum.c:463 #, c-format msgid "pg_enum OID value not set when in binary upgrade mode" msgstr "el valor de OID de pg_enum no se definió en modo de actualización binaria" -#: catalog/pg_enum.c:418 +#: catalog/pg_enum.c:473 #, c-format msgid "ALTER TYPE ADD BEFORE/AFTER is incompatible with binary upgrade" msgstr "ALTER TYPE ADD BEFORE/AFTER es incompatible con la actualización binaria" -#: catalog/pg_inherits.c:593 +#: catalog/pg_inherits.c:592 #, c-format msgid "cannot detach partition \"%s\"" msgstr "no se puede desprender la partición «%s»" -#: catalog/pg_inherits.c:595 +#: catalog/pg_inherits.c:594 #, c-format msgid "The partition is being detached concurrently or has an unfinished detach." msgstr "La partición está siendo desprendida de forma concurrente o tiene un desprendimiento sin terminar." -#: catalog/pg_inherits.c:596 commands/tablecmds.c:4583 -#: commands/tablecmds.c:15464 +#: catalog/pg_inherits.c:595 commands/tablecmds.c:4790 +#: commands/tablecmds.c:16065 #, c-format msgid "Use ALTER TABLE ... DETACH PARTITION ... FINALIZE to complete the pending detach operation." msgstr "Utilice ALTER TABLE ... DETACH PARTITION ... FINALIZE para completar la operación de desprendimiento pendiente." -#: catalog/pg_inherits.c:600 +#: catalog/pg_inherits.c:599 #, c-format msgid "cannot complete detaching partition \"%s\"" msgstr "no se puede completar el desprendimiento de la partición «%s»" -#: catalog/pg_inherits.c:602 +#: catalog/pg_inherits.c:601 #, c-format msgid "There's no pending concurrent detach." msgstr "No hay desprendimientos concurrentes pendientes." @@ -5791,116 +6093,129 @@ msgstr "No hay desprendimientos concurrentes pendientes." msgid "schema \"%s\" already exists" msgstr "ya existe el esquema «%s»" -#: catalog/pg_operator.c:219 catalog/pg_operator.c:361 +#: catalog/pg_operator.c:213 catalog/pg_operator.c:355 #, c-format msgid "\"%s\" is not a valid operator name" msgstr "«%s» no es un nombre válido de operador" -#: catalog/pg_operator.c:370 +#: catalog/pg_operator.c:379 +#, c-format +msgid "operator %s already exists" +msgstr "ya existe un operador %s" + +#: catalog/pg_operator.c:445 commands/operatorcmds.c:600 +#, fuzzy, c-format +msgid "operator cannot be its own negator" +msgstr "un operador no puede ser su propio negador u operador de ordenamiento" + +#: catalog/pg_operator.c:572 #, c-format msgid "only binary operators can have commutators" msgstr "sólo los operadores binarios pueden tener conmutadores" -#: catalog/pg_operator.c:374 commands/operatorcmds.c:509 +#: catalog/pg_operator.c:576 #, c-format msgid "only binary operators can have join selectivity" msgstr "sólo los operadores binarios pueden tener selectividad de join" -#: catalog/pg_operator.c:378 +#: catalog/pg_operator.c:580 #, c-format msgid "only binary operators can merge join" msgstr "sólo los operadores binarios pueden ser usados en merge join" -#: catalog/pg_operator.c:382 +#: catalog/pg_operator.c:584 #, c-format msgid "only binary operators can hash" msgstr "sólo los operadores binarios pueden ser usados en hash" -#: catalog/pg_operator.c:393 +#: catalog/pg_operator.c:593 #, c-format msgid "only boolean operators can have negators" msgstr "sólo los operadores booleanos pueden tener negadores" -#: catalog/pg_operator.c:397 commands/operatorcmds.c:517 +#: catalog/pg_operator.c:597 #, c-format msgid "only boolean operators can have restriction selectivity" msgstr "sólo los operadores booleanos pueden tener selectividad de restricción" -#: catalog/pg_operator.c:401 commands/operatorcmds.c:521 +#: catalog/pg_operator.c:601 #, c-format msgid "only boolean operators can have join selectivity" msgstr "sólo los operadores booleanos pueden tener selectividad de join" -#: catalog/pg_operator.c:405 +#: catalog/pg_operator.c:605 #, c-format msgid "only boolean operators can merge join" msgstr "sólo los operadores booleanos pueden ser usados en merge join" -#: catalog/pg_operator.c:409 +#: catalog/pg_operator.c:609 #, c-format msgid "only boolean operators can hash" msgstr "sólo los operadores booleanos pueden ser usados en hash" -#: catalog/pg_operator.c:421 -#, c-format -msgid "operator %s already exists" -msgstr "ya existe un operador %s" +#: catalog/pg_operator.c:739 +#, fuzzy, c-format +msgid "commutator operator %s is already the commutator of operator %s" +msgstr "el operator de conmutación %s ya es el conmutador del operador %u" -#: catalog/pg_operator.c:621 +#: catalog/pg_operator.c:744 #, c-format -msgid "operator cannot be its own negator or sort operator" -msgstr "un operador no puede ser su propio negador u operador de ordenamiento" +msgid "commutator operator %s is already the commutator of operator %u" +msgstr "el operator de conmutación %s ya es el conmutador del operador %u" -#: catalog/pg_parameter_acl.c:53 +#: catalog/pg_operator.c:807 #, fuzzy, c-format -#| msgid "parameter ACL with OID %u does not exist" -msgid "parameter ACL \"%s\" does not exist" -msgstr "no existe el ACL de parámetro con OID %u" +msgid "negator operator %s is already the negator of operator %s" +msgstr "el operator de conmutación %s ya es el conmutador del operador %u" -#: catalog/pg_parameter_acl.c:88 +#: catalog/pg_operator.c:812 #, fuzzy, c-format -#| msgid "invalid type name \"%s\"" -msgid "invalid parameter name \"%s\"" -msgstr "el nombre de tipo «%s» no es válido" +msgid "negator operator %s is already the negator of operator %u" +msgstr "el operator de conmutación %s ya es el conmutador del operador %u" + +#: catalog/pg_parameter_acl.c:50 +#, c-format +msgid "parameter ACL \"%s\" does not exist" +msgstr "no existe el ACL de parámetro «%s»" -#: catalog/pg_proc.c:132 parser/parse_func.c:2233 +#: catalog/pg_proc.c:130 parser/parse_func.c:2234 #, c-format msgid "functions cannot have more than %d argument" msgid_plural "functions cannot have more than %d arguments" msgstr[0] "las funciones no pueden tener más de %d argumento" msgstr[1] "las funciones no pueden tener más de %d argumentos" -#: catalog/pg_proc.c:376 +#: catalog/pg_proc.c:374 #, c-format msgid "function \"%s\" already exists with same argument types" msgstr "ya existe una función «%s» con los mismos argumentos" -#: catalog/pg_proc.c:388 +#: catalog/pg_proc.c:386 #, c-format msgid "\"%s\" is an aggregate function." msgstr "«%s» es una función de agregación." -#: catalog/pg_proc.c:390 +#: catalog/pg_proc.c:388 #, c-format msgid "\"%s\" is a function." msgstr "«%s» es una función de agregación." -#: catalog/pg_proc.c:392 +#: catalog/pg_proc.c:390 #, c-format msgid "\"%s\" is a procedure." msgstr "«%s» es un índice parcial." -#: catalog/pg_proc.c:394 +#: catalog/pg_proc.c:392 #, c-format msgid "\"%s\" is a window function." msgstr "«%s» es una función de ventana deslizante." -#: catalog/pg_proc.c:414 +#: catalog/pg_proc.c:412 #, c-format msgid "cannot change whether a procedure has output parameters" msgstr "no se puede cambiar que un procedimiento tenga parámetros de salida" -#: catalog/pg_proc.c:415 catalog/pg_proc.c:445 +#: catalog/pg_proc.c:413 catalog/pg_proc.c:443 #, c-format msgid "cannot change return type of existing function" msgstr "no se puede cambiar el tipo de retorno de una función existente" @@ -5909,120 +6224,114 @@ msgstr "no se puede cambiar el tipo de retorno de una función existente" #. AGGREGATE #. #. translator: first %s is DROP FUNCTION or DROP PROCEDURE -#: catalog/pg_proc.c:421 catalog/pg_proc.c:448 catalog/pg_proc.c:493 -#: catalog/pg_proc.c:519 catalog/pg_proc.c:543 +#: catalog/pg_proc.c:419 catalog/pg_proc.c:446 catalog/pg_proc.c:491 +#: catalog/pg_proc.c:517 catalog/pg_proc.c:541 #, c-format msgid "Use %s %s first." msgstr "Use %s %s primero." -#: catalog/pg_proc.c:446 +#: catalog/pg_proc.c:444 #, c-format msgid "Row type defined by OUT parameters is different." msgstr "Tipo de registro definido por parámetros OUT es diferente." -#: catalog/pg_proc.c:490 +#: catalog/pg_proc.c:488 #, c-format msgid "cannot change name of input parameter \"%s\"" msgstr "no se puede cambiar el nombre del parámetro de entrada «%s»" -#: catalog/pg_proc.c:517 +#: catalog/pg_proc.c:515 #, c-format msgid "cannot remove parameter defaults from existing function" msgstr "no se puede eliminar el valor por omisión de funciones existentes" -#: catalog/pg_proc.c:541 +#: catalog/pg_proc.c:539 #, c-format msgid "cannot change data type of existing parameter default value" msgstr "no se puede cambiar el tipo de dato del valor por omisión de un parámetro" -#: catalog/pg_proc.c:752 +#: catalog/pg_proc.c:750 #, c-format msgid "there is no built-in function named \"%s\"" msgstr "no hay ninguna función interna llamada «%s»" -#: catalog/pg_proc.c:845 +#: catalog/pg_proc.c:843 #, c-format msgid "SQL functions cannot return type %s" msgstr "las funciones SQL no pueden retornar el tipo %s" -#: catalog/pg_proc.c:860 +#: catalog/pg_proc.c:858 #, c-format msgid "SQL functions cannot have arguments of type %s" msgstr "las funciones SQL no pueden tener argumentos de tipo %s" -#: catalog/pg_proc.c:987 executor/functions.c:1466 +#: catalog/pg_proc.c:986 executor/functions.c:1468 #, c-format msgid "SQL function \"%s\"" msgstr "función SQL «%s»" -#: catalog/pg_publication.c:71 catalog/pg_publication.c:79 -#: catalog/pg_publication.c:87 catalog/pg_publication.c:93 +#: catalog/pg_publication.c:66 catalog/pg_publication.c:74 +#: catalog/pg_publication.c:82 catalog/pg_publication.c:88 #, c-format msgid "cannot add relation \"%s\" to publication" msgstr "no se puede agregar la relación «%s» a la publicación" -#: catalog/pg_publication.c:81 +#: catalog/pg_publication.c:76 #, c-format msgid "This operation is not supported for system tables." msgstr "Esta operación no está soportada en tablas de sistema." -#: catalog/pg_publication.c:89 +#: catalog/pg_publication.c:84 #, c-format msgid "This operation is not supported for temporary tables." msgstr "Esta operación no está soportada en tablas temporales." -#: catalog/pg_publication.c:95 +#: catalog/pg_publication.c:90 #, c-format msgid "This operation is not supported for unlogged tables." msgstr "Esta característica no está soportada en tablas «unlogged»." -#: catalog/pg_publication.c:109 catalog/pg_publication.c:117 +#: catalog/pg_publication.c:104 catalog/pg_publication.c:112 #, c-format msgid "cannot add schema \"%s\" to publication" msgstr "no se puede agregar el esquema «%s» a la partición" -#: catalog/pg_publication.c:111 -#, fuzzy, c-format -#| msgid "This operation is not supported for system tables." +#: catalog/pg_publication.c:106 +#, c-format msgid "This operation is not supported for system schemas." -msgstr "Esta operación no está soportada en tablas de sistema." +msgstr "Esta operación no está soportada en esquemas de sistema." -#: catalog/pg_publication.c:119 -#, fuzzy, c-format -#| msgid "Unlogged relations cannot be replicated." +#: catalog/pg_publication.c:114 +#, c-format msgid "Temporary schemas cannot be replicated." -msgstr "Las tablas «unlogged» no pueden replicarse." +msgstr "Los esquemas temporales no pueden replicarse." -#: catalog/pg_publication.c:397 +#: catalog/pg_publication.c:392 #, c-format msgid "relation \"%s\" is already member of publication \"%s\"" msgstr "la relación «%s» ya es un miembro de la publicación «%s»" -#: catalog/pg_publication.c:539 -#, fuzzy, c-format -#| msgid "cannot use system column \"%s\" in partition key" +#: catalog/pg_publication.c:534 +#, c-format msgid "cannot use system column \"%s\" in publication column list" -msgstr "no se puede usar la columna de sistema «%s» en llave de particionamiento" +msgstr "no se puede usar la columna de sistema «%s» en lista de columnas de publicación" -#: catalog/pg_publication.c:545 -#, fuzzy, c-format -#| msgid "cannot use generated column in partition key" +#: catalog/pg_publication.c:540 +#, c-format msgid "cannot use generated column \"%s\" in publication column list" -msgstr "no se puede usar una columna generada en llave de particionamiento" +msgstr "no se puede usar la columna generada «%s» en lista de columnas de publicación" -#: catalog/pg_publication.c:551 -#, fuzzy, c-format -#| msgid "publication of %s in publication %s" +#: catalog/pg_publication.c:546 +#, c-format msgid "duplicate column \"%s\" in publication column list" -msgstr "publicación de %s en la publicación %s" +msgstr "columna «%s» duplicada en lista de columnas de publicación" -#: catalog/pg_publication.c:641 -#, fuzzy, c-format -#| msgid "relation \"%s\" is already member of publication \"%s\"" +#: catalog/pg_publication.c:636 +#, c-format msgid "schema \"%s\" is already member of publication \"%s\"" -msgstr "la relación «%s» ya es un miembro de la publicación «%s»" +msgstr "el esquema «%s» ya es miembro de la publicación «%s»" -#: catalog/pg_shdepend.c:830 +#: catalog/pg_shdepend.c:875 #, c-format msgid "" "\n" @@ -6037,65 +6346,70 @@ msgstr[1] "" "\n" "y objetos en otras %d bases de datos (vea el registro del servidor para obtener la lista)" -#: catalog/pg_shdepend.c:1177 +#: catalog/pg_shdepend.c:1222 #, c-format msgid "role %u was concurrently dropped" msgstr "el rol %u fue eliminado por una transacción concurrente" -#: catalog/pg_shdepend.c:1189 +#: catalog/pg_shdepend.c:1234 #, c-format msgid "tablespace %u was concurrently dropped" msgstr "el tablespace %u fue eliminado por una transacción concurrente" -#: catalog/pg_shdepend.c:1203 +#: catalog/pg_shdepend.c:1248 #, c-format msgid "database %u was concurrently dropped" msgstr "la base de datos %u fue eliminado por una transacción concurrente" -#: catalog/pg_shdepend.c:1254 +#: catalog/pg_shdepend.c:1299 #, c-format msgid "owner of %s" msgstr "dueño de %s" -#: catalog/pg_shdepend.c:1256 +#: catalog/pg_shdepend.c:1301 #, c-format msgid "privileges for %s" msgstr "privilegios para %s" -#: catalog/pg_shdepend.c:1258 +#: catalog/pg_shdepend.c:1303 +#, fuzzy, c-format +msgid "initial privileges for %s" +msgstr "privilegios para %s" + +#: catalog/pg_shdepend.c:1305 #, c-format msgid "target of %s" msgstr "destino de %s" -#: catalog/pg_shdepend.c:1260 +#: catalog/pg_shdepend.c:1307 #, c-format msgid "tablespace for %s" msgstr "tablespace para %s" #. translator: %s will always be "database %s" -#: catalog/pg_shdepend.c:1268 +#: catalog/pg_shdepend.c:1315 #, c-format msgid "%d object in %s" msgid_plural "%d objects in %s" msgstr[0] "%d objeto en %s" msgstr[1] "%d objetos en %s" -#: catalog/pg_shdepend.c:1332 +#: catalog/pg_shdepend.c:1379 #, c-format msgid "cannot drop objects owned by %s because they are required by the database system" msgstr "no se puede eliminar objetos de propiedad de %s porque son requeridos por el sistema" -#: catalog/pg_shdepend.c:1498 +#: catalog/pg_shdepend.c:1560 #, c-format msgid "cannot reassign ownership of objects owned by %s because they are required by the database system" msgstr "no se puede reasignar la propiedad de objetos de %s porque son requeridos por el sistema" -#: catalog/pg_subscription.c:424 +#: catalog/pg_subscription.c:438 #, c-format msgid "could not drop relation mapping for subscription \"%s\"" msgstr "no se pudo eliminar mapeo de relación para suscripción «%s»" -#: catalog/pg_subscription.c:426 +#: catalog/pg_subscription.c:440 #, c-format msgid "Table synchronization for relation \"%s\" is in progress and is in state \"%c\"." msgstr "La sincronización de tabla para la relación «%s» está en progreso y su estado es «%c»." @@ -6103,227 +6417,227 @@ msgstr "La sincronización de tabla para la relación «%s» está en progreso y #. translator: first %s is a SQL ALTER command and second %s is a #. SQL DROP command #. -#: catalog/pg_subscription.c:433 +#: catalog/pg_subscription.c:447 #, c-format msgid "Use %s to enable subscription if not already enabled or use %s to drop the subscription." msgstr "Utilice %s para activar la suscripción si aún no está activada, o utilice %s para eliminar la suscripción." -#: catalog/pg_type.c:134 catalog/pg_type.c:474 +#: catalog/pg_type.c:133 catalog/pg_type.c:474 #, c-format msgid "pg_type OID value not set when in binary upgrade mode" msgstr "el valor de OID de pg_type no se definió en modo de actualización binaria" -#: catalog/pg_type.c:254 +#: catalog/pg_type.c:253 #, c-format msgid "invalid type internal size %d" msgstr "el tamaño interno de tipo %d no es válido" -#: catalog/pg_type.c:270 catalog/pg_type.c:278 catalog/pg_type.c:286 -#: catalog/pg_type.c:295 +#: catalog/pg_type.c:269 catalog/pg_type.c:277 catalog/pg_type.c:285 +#: catalog/pg_type.c:294 #, c-format msgid "alignment \"%c\" is invalid for passed-by-value type of size %d" msgstr "el alineamiento «%c» no es válido para un tipo pasado por valor de tamaño %d" -#: catalog/pg_type.c:302 +#: catalog/pg_type.c:301 #, c-format msgid "internal size %d is invalid for passed-by-value type" msgstr "el tamaño interno %d no es válido para un tipo pasado por valor" -#: catalog/pg_type.c:312 catalog/pg_type.c:318 +#: catalog/pg_type.c:311 catalog/pg_type.c:317 #, c-format msgid "alignment \"%c\" is invalid for variable-length type" msgstr "el alineamiento «%c» no es válido para un tipo de largo variable" -#: catalog/pg_type.c:326 commands/typecmds.c:4140 +#: catalog/pg_type.c:325 commands/typecmds.c:4363 #, c-format msgid "fixed-size types must have storage PLAIN" msgstr "los tipos de tamaño fijo deben tener almacenamiento PLAIN" -#: catalog/pg_type.c:955 +#: catalog/pg_type.c:978 #, c-format msgid "Failed while creating a multirange type for type \"%s\"." msgstr "Falla al crear un tipo de multirango para el tipo «%s»." -#: catalog/pg_type.c:956 +#: catalog/pg_type.c:979 #, c-format 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:505 storage/buffer/bufmgr.c:1145 +#: catalog/storage.c:508 storage/buffer/bufmgr.c:1540 #, 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" -#: commands/aggregatecmds.c:171 +#: commands/aggregatecmds.c:167 #, c-format msgid "only ordered-set aggregates can be hypothetical" msgstr "sólo las funciones de agregación de conjuntos ordenados pueden ser hipotéticas" -#: commands/aggregatecmds.c:196 +#: commands/aggregatecmds.c:192 #, c-format msgid "aggregate attribute \"%s\" not recognized" msgstr "el atributo de la función de agregación «%s» no es reconocido" -#: commands/aggregatecmds.c:206 +#: commands/aggregatecmds.c:202 #, c-format msgid "aggregate stype must be specified" msgstr "debe especificarse el tipo de transición (stype) de la función de agregación" -#: commands/aggregatecmds.c:210 +#: commands/aggregatecmds.c:206 #, c-format msgid "aggregate sfunc must be specified" msgstr "debe especificarse la función de transición (sfunc) de la función de agregación" -#: commands/aggregatecmds.c:222 +#: commands/aggregatecmds.c:218 #, c-format msgid "aggregate msfunc must be specified when mstype is specified" msgstr "debe especificarse la función de transición msfunc cuando se especifica mstype" -#: commands/aggregatecmds.c:226 +#: commands/aggregatecmds.c:222 #, c-format msgid "aggregate minvfunc must be specified when mstype is specified" msgstr "debe especificarse la función de transición minvfunc cuando se especifica mstype" -#: commands/aggregatecmds.c:233 +#: commands/aggregatecmds.c:229 #, c-format msgid "aggregate msfunc must not be specified without mstype" msgstr "no debe especificarse msfunc sin mstype" -#: commands/aggregatecmds.c:237 +#: commands/aggregatecmds.c:233 #, c-format msgid "aggregate minvfunc must not be specified without mstype" msgstr "no debe especificarse minvfunc sin mstype" -#: commands/aggregatecmds.c:241 +#: commands/aggregatecmds.c:237 #, c-format msgid "aggregate mfinalfunc must not be specified without mstype" msgstr "no debe especificarse mfinalfunc sin mstype" -#: commands/aggregatecmds.c:245 +#: commands/aggregatecmds.c:241 #, c-format msgid "aggregate msspace must not be specified without mstype" msgstr "no debe especificarse msspace sin mstype" -#: commands/aggregatecmds.c:249 +#: commands/aggregatecmds.c:245 #, c-format msgid "aggregate minitcond must not be specified without mstype" msgstr "no debe especificarse minitcond sin mstype" -#: commands/aggregatecmds.c:278 +#: commands/aggregatecmds.c:274 #, c-format msgid "aggregate input type must be specified" msgstr "debe especificarse el tipo de entrada de la función de agregación" -#: commands/aggregatecmds.c:308 +#: commands/aggregatecmds.c:304 #, c-format msgid "basetype is redundant with aggregate input type specification" msgstr "el tipo base es redundante con el tipo de entrada en la función de agregación" -#: commands/aggregatecmds.c:351 commands/aggregatecmds.c:392 +#: commands/aggregatecmds.c:347 commands/aggregatecmds.c:388 #, c-format msgid "aggregate transition data type cannot be %s" msgstr "el tipo de transición de la función de agregación no puede ser %s" -#: commands/aggregatecmds.c:363 +#: commands/aggregatecmds.c:359 #, c-format msgid "serialization functions may be specified only when the aggregate transition data type is %s" msgstr "las funciones de serialización pueden especificarse sólo cuando el tipo de transición de la función de agregación es %s" -#: commands/aggregatecmds.c:373 +#: commands/aggregatecmds.c:369 #, c-format msgid "must specify both or neither of serialization and deserialization functions" msgstr "debe especificar ambas o ninguna de las funciones de serialización y deserialización" -#: commands/aggregatecmds.c:438 commands/functioncmds.c:639 +#: commands/aggregatecmds.c:434 commands/functioncmds.c:634 #, c-format msgid "parameter \"parallel\" must be SAFE, RESTRICTED, or UNSAFE" msgstr "el parámetro «parallel» debe ser SAFE, RESTRICTED o UNSAFE" -#: commands/aggregatecmds.c:494 +#: commands/aggregatecmds.c:490 #, c-format msgid "parameter \"%s\" must be READ_ONLY, SHAREABLE, or READ_WRITE" msgstr "el parámetro «%s» debe ser READ_ONLY, SHAREABLE o READ_WRITE" -#: commands/alter.c:86 commands/event_trigger.c:174 +#: commands/alter.c:82 commands/event_trigger.c:191 #, c-format msgid "event trigger \"%s\" already exists" msgstr "el disparador por eventos «%s» ya existe" -#: commands/alter.c:89 commands/foreigncmds.c:593 +#: commands/alter.c:85 commands/foreigncmds.c:593 #, c-format msgid "foreign-data wrapper \"%s\" already exists" msgstr "el conector de datos externos «%s» ya existe" -#: commands/alter.c:92 commands/foreigncmds.c:884 +#: commands/alter.c:88 commands/foreigncmds.c:884 #, c-format msgid "server \"%s\" already exists" msgstr "el servidor «%s» ya existe" -#: commands/alter.c:95 commands/proclang.c:133 +#: commands/alter.c:91 commands/proclang.c:131 #, c-format msgid "language \"%s\" already exists" msgstr "ya existe el lenguaje «%s»" -#: commands/alter.c:98 commands/publicationcmds.c:771 +#: commands/alter.c:94 commands/publicationcmds.c:764 #, c-format msgid "publication \"%s\" already exists" msgstr "la publicación «%s» ya existe" -#: commands/alter.c:101 commands/subscriptioncmds.c:657 +#: commands/alter.c:97 commands/subscriptioncmds.c:669 #, c-format msgid "subscription \"%s\" already exists" msgstr "la suscripción «%s» ya existe" -#: commands/alter.c:124 +#: commands/alter.c:120 #, c-format msgid "conversion \"%s\" already exists in schema \"%s\"" msgstr "ya existe una conversión llamada «%s» en el esquema «%s»" -#: commands/alter.c:128 +#: commands/alter.c:124 #, c-format msgid "statistics object \"%s\" already exists in schema \"%s\"" msgstr "ya existe un objeto de estadísticas llamado «%s» en el esquema «%s»" -#: commands/alter.c:132 +#: commands/alter.c:128 #, c-format msgid "text search parser \"%s\" already exists in schema \"%s\"" msgstr "el analizador de búsqueda en texto «%s» ya existe en el esquema «%s»" -#: commands/alter.c:136 +#: commands/alter.c:132 #, c-format msgid "text search dictionary \"%s\" already exists in schema \"%s\"" msgstr "el diccionario de búsqueda en texto «%s» ya existe en el esquema «%s»" -#: commands/alter.c:140 +#: commands/alter.c:136 #, c-format msgid "text search template \"%s\" already exists in schema \"%s\"" msgstr "la plantilla de búsqueda en texto «%s» ya existe en el esquema «%s»" -#: commands/alter.c:144 +#: commands/alter.c:140 #, c-format msgid "text search configuration \"%s\" already exists in schema \"%s\"" msgstr "la configuración de búsqueda en texto «%s» ya existe en el esquema «%s»" -#: commands/alter.c:217 +#: commands/alter.c:213 #, c-format msgid "must be superuser to rename %s" msgstr "debe ser superusuario para cambiar el nombre de «%s»" -#: commands/alter.c:259 commands/subscriptioncmds.c:636 -#: commands/subscriptioncmds.c:1116 commands/subscriptioncmds.c:1198 -#: commands/subscriptioncmds.c:1830 +#: commands/alter.c:255 commands/subscriptioncmds.c:648 +#: commands/subscriptioncmds.c:1129 commands/subscriptioncmds.c:1212 +#: commands/subscriptioncmds.c:1918 #, c-format msgid "password_required=false is superuser-only" -msgstr "" +msgstr "password_required=false es sólo para superusuario" -#: commands/alter.c:260 commands/subscriptioncmds.c:637 -#: commands/subscriptioncmds.c:1117 commands/subscriptioncmds.c:1199 -#: commands/subscriptioncmds.c:1831 +#: commands/alter.c:256 commands/subscriptioncmds.c:649 +#: commands/subscriptioncmds.c:1130 commands/subscriptioncmds.c:1213 +#: commands/subscriptioncmds.c:1919 #, c-format msgid "Subscriptions with the password_required option set to false may only be created or modified by the superuser." -msgstr "" +msgstr "Las suscripciones con la opción password_required puesta en falso sólo pueden ser creadas o modificadas por el superusuario." -#: commands/alter.c:775 +#: commands/alter.c:734 #, c-format msgid "must be superuser to set schema of %s" msgstr "debe ser superusuario para definir el esquema de %s" @@ -6343,8 +6657,8 @@ msgstr "Debe ser superusuario para crear un método de acceso." msgid "access method \"%s\" already exists" msgstr "el método de acceso «%s» ya existe" -#: commands/amcmds.c:154 commands/indexcmds.c:217 commands/indexcmds.c:840 -#: commands/opclasscmds.c:375 commands/opclasscmds.c:833 +#: commands/amcmds.c:154 commands/indexcmds.c:221 commands/indexcmds.c:841 +#: commands/opclasscmds.c:374 commands/opclasscmds.c:832 #, c-format msgid "access method \"%s\" does not exist" msgstr "no existe el método de acceso «%s»" @@ -6354,175 +6668,174 @@ msgstr "no existe el método de acceso «%s»" msgid "handler function is not specified" msgstr "no se ha especificado una función manejadora" -#: commands/amcmds.c:264 commands/event_trigger.c:183 -#: commands/foreigncmds.c:489 commands/proclang.c:80 commands/trigger.c:709 -#: parser/parse_clause.c:941 +#: commands/amcmds.c:264 commands/event_trigger.c:200 +#: commands/foreigncmds.c:489 commands/proclang.c:78 commands/trigger.c:702 +#: parser/parse_clause.c:943 #, c-format msgid "function %s must return type %s" msgstr "la función %s debe retornar el tipo %s" -#: commands/analyze.c:227 +#: commands/analyze.c:217 #, c-format msgid "skipping \"%s\" --- cannot analyze this foreign table" msgstr "omitiendo «%s»: no se puede analizar esta tabla foránea" -#: commands/analyze.c:244 +#: commands/analyze.c:234 #, c-format msgid "skipping \"%s\" --- cannot analyze non-tables or special system tables" msgstr "omitiendo «%s»: no se pueden analizar objetos que no son tablas, ni tablas especiales de sistema" -#: commands/analyze.c:324 +#: commands/analyze.c:314 #, c-format msgid "analyzing \"%s.%s\" inheritance tree" msgstr "analizando la jerarquía de herencia «%s.%s»" -#: commands/analyze.c:329 +#: commands/analyze.c:319 #, c-format msgid "analyzing \"%s.%s\"" msgstr "analizando «%s.%s»" -#: commands/analyze.c:394 +#: commands/analyze.c:385 #, c-format msgid "column \"%s\" of relation \"%s\" appears more than once" msgstr "la columna «%s» aparece más de una vez en la relación «%s»" -#: commands/analyze.c:786 +#: commands/analyze.c:785 #, c-format msgid "automatic analyze of table \"%s.%s.%s\"\n" msgstr "análisis automático de la tabla «%s.%s.%s»\n" -#: commands/analyze.c:1333 +#: commands/analyze.c:1300 #, c-format msgid "\"%s\": scanned %d of %u pages, containing %.0f live rows and %.0f dead rows; %d rows in sample, %.0f estimated total rows" msgstr "«%s»: se procesaron %d de %u páginas, que contenían %.0f filas vigentes y %.0f filas no vigentes; %d filas en la muestra, %.0f total de filas estimadas" -#: commands/analyze.c:1417 +#: commands/analyze.c:1384 #, c-format msgid "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree contains no child tables" msgstr "omitiendo el análisis del árbol de herencia «%s.%s» --- este árbol no contiene tablas hijas" -#: commands/analyze.c:1515 +#: commands/analyze.c:1482 #, c-format 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:646 +#: commands/async.c:612 #, c-format msgid "channel name cannot be empty" msgstr "el nombre de canal no puede ser vacío" -#: commands/async.c:652 +#: commands/async.c:618 #, c-format msgid "channel name too long" msgstr "el nombre de canal es demasiado largo" -#: commands/async.c:657 +#: commands/async.c:623 #, c-format msgid "payload string too long" msgstr "la cadena de carga es demasiado larga" -#: commands/async.c:876 +#: commands/async.c:842 #, 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:980 +#: commands/async.c:946 #, c-format msgid "too many notifications in the NOTIFY queue" msgstr "demasiadas notificaciones en la cola NOTIFY" -#: commands/async.c:1602 +#: commands/async.c:1553 #, c-format msgid "NOTIFY queue is %.0f%% full" msgstr "la cola NOTIFY está %.0f%% llena" -#: commands/async.c:1604 +#: commands/async.c:1555 #, c-format msgid "The server process with PID %d is among those with the oldest transactions." msgstr "El proceso servidor con PID %d está entre aquellos con transacciones más antiguas." -#: commands/async.c:1607 +#: commands/async.c:1558 #, c-format msgid "The NOTIFY queue cannot be emptied until that process ends its current transaction." msgstr "La cola NOTIFY no puede vaciarse hasta que ese proceso cierre su transacción actual." -#: commands/cluster.c:131 +#: commands/cluster.c:128 #, c-format msgid "unrecognized CLUSTER option \"%s\"" msgstr "opción de CLUSTER «%s» no reconocida" -#: commands/cluster.c:162 commands/cluster.c:435 +#: commands/cluster.c:159 commands/cluster.c:433 #, c-format msgid "cannot cluster temporary tables of other sessions" msgstr "no se pueden reordenar tablas temporales de otras sesiones" -#: commands/cluster.c:180 +#: commands/cluster.c:177 #, c-format msgid "there is no previously clustered index for table \"%s\"" msgstr "no hay un índice de ordenamiento definido para la tabla «%s»" -#: commands/cluster.c:194 commands/tablecmds.c:14200 commands/tablecmds.c:16043 +#: commands/cluster.c:191 commands/tablecmds.c:14710 commands/tablecmds.c:16641 #, c-format msgid "index \"%s\" for table \"%s\" does not exist" msgstr "no existe el índice «%s» en la tabla «%s»" -#: commands/cluster.c:424 +#: commands/cluster.c:422 #, c-format msgid "cannot cluster a shared catalog" msgstr "no se puede reordenar un catálogo compartido" -#: commands/cluster.c:439 +#: commands/cluster.c:437 #, c-format msgid "cannot vacuum temporary tables of other sessions" msgstr "no se puede hacer vacuum a tablas temporales de otras sesiones" -#: commands/cluster.c:515 commands/tablecmds.c:16053 +#: commands/cluster.c:513 commands/tablecmds.c:16651 #, c-format msgid "\"%s\" is not an index for table \"%s\"" msgstr "«%s» no es un índice de la tabla «%s»" -#: commands/cluster.c:523 +#: commands/cluster.c:521 #, c-format msgid "cannot cluster on index \"%s\" because access method does not support clustering" msgstr "no se puede reordenar en índice «%s» porque el método de acceso no soporta reordenamiento" -#: commands/cluster.c:535 +#: commands/cluster.c:533 #, c-format msgid "cannot cluster on partial index \"%s\"" msgstr "no se puede reordenar en índice parcial «%s»" -#: commands/cluster.c:549 +#: commands/cluster.c:547 #, c-format msgid "cannot cluster on invalid index \"%s\"" msgstr "no se puede reordenar en el índice no válido «%s»" -#: commands/cluster.c:573 +#: commands/cluster.c:571 #, c-format msgid "cannot mark index clustered in partitioned table" msgstr "no se puede marcar un índice «clustered» en una tabla particionada" -#: commands/cluster.c:952 +#: commands/cluster.c:956 #, c-format msgid "clustering \"%s.%s\" using index scan on \"%s\"" msgstr "reordenando «%s.%s» usando un recorrido de índice en «%s»" -#: commands/cluster.c:958 +#: commands/cluster.c:962 #, c-format msgid "clustering \"%s.%s\" using sequential scan and sort" msgstr "reordenando «%s.%s» usando un recorrido secuencial y ordenamiento" -#: commands/cluster.c:963 +#: commands/cluster.c:967 #, c-format msgid "vacuuming \"%s.%s\"" msgstr "haciendo vacuum a «%s.%s»" -#: commands/cluster.c:990 -#, fuzzy, c-format -#| msgid "index \"%s\" now contains %.0f row versions in %u pages" +#: commands/cluster.c:994 +#, c-format msgid "\"%s.%s\": found %.0f removable, %.0f nonremovable row versions in %u pages" -msgstr "el índice «%s» ahora contiene %.0f versiones de filas en %u páginas" +msgstr "«%s.%s»: se encontraron %.0f versiones de filas eliminables, %.0f no eliminables en %u páginas" -#: commands/cluster.c:995 +#: commands/cluster.c:999 #, c-format msgid "" "%.0f dead row versions cannot be removed yet.\n" @@ -6531,40 +6844,39 @@ msgstr "" "%.0f versiones muertas de filas no pueden ser eliminadas aún.\n" "%s." -#: commands/cluster.c:1728 +#: commands/cluster.c:1744 #, fuzzy, c-format -#| msgid "permission denied to set role \"%s\"" msgid "permission denied to cluster \"%s\", skipping it" -msgstr "se ha denegado el permiso para definir el rol «%s»" +msgstr "permiso denegado a hacer vacuum a «%s», ignorando" -#: commands/collationcmds.c:112 +#: commands/collationcmds.c:110 #, c-format msgid "collation attribute \"%s\" not recognized" msgstr "el atributo de ordenamiento (collation) «%s» no es reconocido" -#: commands/collationcmds.c:125 commands/collationcmds.c:131 -#: commands/define.c:389 commands/tablecmds.c:7876 -#: replication/pgoutput/pgoutput.c:310 replication/pgoutput/pgoutput.c:333 -#: replication/pgoutput/pgoutput.c:347 replication/pgoutput/pgoutput.c:357 -#: replication/pgoutput/pgoutput.c:367 replication/pgoutput/pgoutput.c:377 -#: replication/pgoutput/pgoutput.c:387 replication/walsender.c:996 -#: replication/walsender.c:1018 replication/walsender.c:1028 +#: commands/collationcmds.c:123 commands/collationcmds.c:129 +#: commands/define.c:388 commands/tablecmds.c:8149 +#: replication/pgoutput/pgoutput.c:307 replication/pgoutput/pgoutput.c:330 +#: replication/pgoutput/pgoutput.c:344 replication/pgoutput/pgoutput.c:354 +#: replication/pgoutput/pgoutput.c:364 replication/pgoutput/pgoutput.c:374 +#: replication/pgoutput/pgoutput.c:386 replication/walsender.c:1146 +#: replication/walsender.c:1168 replication/walsender.c:1178 +#: replication/walsender.c:1187 replication/walsender.c:1426 #, c-format msgid "conflicting or redundant options" msgstr "opciones contradictorias o redundantes" -#: commands/collationcmds.c:126 +#: commands/collationcmds.c:124 #, c-format msgid "LOCALE cannot be specified together with LC_COLLATE or LC_CTYPE." msgstr "LOCALE no puede configurarse junto con LC_COLLATE o LC_CTYPE." -#: commands/collationcmds.c:132 -#, fuzzy, c-format -#| msgid "option \"%s\" cannot be specified with other options" +#: commands/collationcmds.c:130 +#, c-format msgid "FROM cannot be specified together with any other options." -msgstr "la opción «%s» no puede ser especificada con otras opciones" +msgstr "FROM no puede especificarse junto con otras opciones." -#: commands/collationcmds.c:191 +#: commands/collationcmds.c:189 #, c-format msgid "collation \"default\" cannot be copied" msgstr "el ordenamiento «default» no puede copiarse" @@ -6574,435 +6886,429 @@ msgstr "el ordenamiento «default» no puede copiarse" msgid "unrecognized collation provider: %s" msgstr "proveedor de ordenamiento no reconocido: %s" -#: commands/collationcmds.c:253 +#: commands/collationcmds.c:253 commands/collationcmds.c:264 +#: commands/collationcmds.c:270 commands/collationcmds.c:278 #, c-format -msgid "parameter \"lc_collate\" must be specified" -msgstr "debe especificarse el parámetro «lc_collate»" +msgid "parameter \"%s\" must be specified" +msgstr "el parámetro «%s» debe especificarse" -#: commands/collationcmds.c:258 +#: commands/collationcmds.c:293 commands/dbcommands.c:1134 #, c-format -msgid "parameter \"lc_ctype\" must be specified" -msgstr "debe especificarse el parámetro «lc_ctype»" - -#: commands/collationcmds.c:265 -#, fuzzy, c-format -#| msgid "parameter \"lc_collate\" must be specified" -msgid "parameter \"locale\" must be specified" -msgstr "debe especificarse el parámetro «lc_collate»" +msgid "using standard form \"%s\" for ICU locale \"%s\"" +msgstr "usando la forma estándar «%s» para la configuración regional ICU «%s»" -#: commands/collationcmds.c:279 commands/dbcommands.c:1074 -#, fuzzy, c-format -#| msgid "Using language tag \"%s\" for ICU locale \"%s\".\n" -msgid "using standard form \"%s\" for locale \"%s\"" -msgstr "Usando la marca de lenguaje «%s» para la configuración regional ICU «%s».\n" - -#: commands/collationcmds.c:298 +#: commands/collationcmds.c:312 #, c-format msgid "nondeterministic collations not supported with this provider" msgstr "los ordenamientos no determinísticos no están soportados con este proveedor" -#: commands/collationcmds.c:303 commands/dbcommands.c:1093 -#, fuzzy, c-format -#| msgid "ICU locale cannot be specified unless locale provider is ICU" +#: commands/collationcmds.c:317 commands/dbcommands.c:1087 +#, c-format msgid "ICU rules cannot be specified unless locale provider is ICU" -msgstr "no se puede especificar una configuración regional ICU a menos que el proveedor de configuración regional sea ICU" +msgstr "no se pueden especificar reglas ICU a menos que el proveedor de configuración regional sea ICU" -#: commands/collationcmds.c:322 +#: commands/collationcmds.c:340 #, c-format msgid "current database's encoding is not supported with this provider" msgstr "la codificación de la base de datos actual no está soportada con este proveedor" -#: commands/collationcmds.c:382 +#: commands/collationcmds.c:409 #, c-format msgid "collation \"%s\" for encoding \"%s\" already exists in schema \"%s\"" msgstr "ya existe un ordenamiento (collation) llamado «%s» para la codificación «%s» en el esquema «%s»" -#: commands/collationcmds.c:393 +#: commands/collationcmds.c:420 #, c-format msgid "collation \"%s\" already exists in schema \"%s\"" msgstr "ya existe un ordenamiento llamado «%s» en el esquema «%s»" -#: commands/collationcmds.c:418 -#, fuzzy, c-format -#| msgid "change the definition of a collation" +#: commands/collationcmds.c:445 +#, c-format msgid "cannot refresh version of default collation" -msgstr "cambia la definición de un ordenamiento" +msgstr "no se puede refrescar la versión del ordenamiento por omisión" -#: commands/collationcmds.c:419 -#, fuzzy, c-format -#| msgid "Use ALTER TABLE ... ALTER COLUMN ... DROP EXPRESSION instead." -msgid "Use ALTER DATABASE ... REFRESH COLLATION VERSION instead." -msgstr "Use ALTER TABLE ... ALTER COLUMN ... DROP EXPRESSION en su lugar." +#. translator: %s is an SQL command +#. translator: %s is an SQL ALTER command +#: commands/collationcmds.c:447 commands/subscriptioncmds.c:1376 +#: commands/tablecmds.c:7925 commands/tablecmds.c:7935 +#: commands/tablecmds.c:7937 commands/tablecmds.c:14412 +#: commands/tablecmds.c:17789 commands/tablecmds.c:17810 +#: commands/typecmds.c:3787 commands/typecmds.c:3872 commands/typecmds.c:4226 +#, c-format +msgid "Use %s instead." +msgstr "Use %s en su lugar." -#: commands/collationcmds.c:446 commands/dbcommands.c:2447 +#: commands/collationcmds.c:480 commands/dbcommands.c:2550 #, c-format msgid "changing version from %s to %s" msgstr "cambiando versión de %s a %s" -#: commands/collationcmds.c:461 commands/dbcommands.c:2460 +#: commands/collationcmds.c:495 commands/dbcommands.c:2563 #, c-format msgid "version has not changed" msgstr "la versión no ha cambiado" -#: commands/collationcmds.c:494 commands/dbcommands.c:2626 +#: commands/collationcmds.c:528 commands/dbcommands.c:2729 #, c-format msgid "database with OID %u does not exist" msgstr "no existe la base de datos con OID %u" -#: commands/collationcmds.c:515 +#: commands/collationcmds.c:554 #, c-format msgid "collation with OID %u does not exist" msgstr "no existe el ordenamiento (collation) con OID %u" -#: commands/collationcmds.c:803 +#: commands/collationcmds.c:848 #, c-format msgid "must be superuser to import system collations" msgstr "debe ser superusuario para importar ordenamientos del sistema" -#: commands/collationcmds.c:831 commands/copyfrom.c:1653 commands/copyto.c:656 -#: libpq/be-secure-common.c:59 -#, c-format -msgid "could not execute command \"%s\": %m" -msgstr "no se pudo ejecutar la orden «%s»: %m" - -#: commands/collationcmds.c:923 commands/collationcmds.c:1008 +#: commands/collationcmds.c:968 commands/collationcmds.c:1053 #, c-format msgid "no usable system locales were found" msgstr "no se encontraron locales de sistema utilizables" -#: commands/comment.c:61 commands/dbcommands.c:1594 commands/dbcommands.c:1791 -#: commands/dbcommands.c:1901 commands/dbcommands.c:2099 -#: commands/dbcommands.c:2337 commands/dbcommands.c:2420 -#: commands/dbcommands.c:2530 commands/dbcommands.c:3030 -#: utils/init/postinit.c:1025 utils/init/postinit.c:1130 -#: utils/init/postinit.c:1147 +#: commands/comment.c:61 commands/dbcommands.c:1663 commands/dbcommands.c:1875 +#: commands/dbcommands.c:1985 commands/dbcommands.c:2183 +#: commands/dbcommands.c:2421 commands/dbcommands.c:2512 +#: commands/dbcommands.c:2633 commands/dbcommands.c:3141 +#: utils/init/postinit.c:1033 utils/init/postinit.c:1097 +#: utils/init/postinit.c:1170 #, c-format msgid "database \"%s\" does not exist" msgstr "no existe la base de datos «%s»" #: commands/comment.c:101 -#, fuzzy, c-format -#| msgid "cannot alter constraint \"%s\" on relation \"%s\"" +#, c-format msgid "cannot set comment on relation \"%s\"" -msgstr "no se puede modificar la restricción «%s» en la relación «%s»" +msgstr "no se puede definir comentario en la relación «%s»" -#: commands/constraint.c:63 utils/adt/ri_triggers.c:2028 +#: commands/constraint.c:61 utils/adt/ri_triggers.c:2019 #, c-format msgid "function \"%s\" was not called by trigger manager" msgstr "la función «%s» no fue ejecutada por el manejador de triggers" -#: commands/constraint.c:70 utils/adt/ri_triggers.c:2037 +#: commands/constraint.c:68 utils/adt/ri_triggers.c:2028 #, c-format msgid "function \"%s\" must be fired AFTER ROW" msgstr "la función «%s» debe ser ejecutada AFTER ROW" -#: commands/constraint.c:84 +#: commands/constraint.c:82 #, c-format msgid "function \"%s\" must be fired for INSERT or UPDATE" msgstr "la función «%s» debe ser ejecutada en INSERT o UPDATE" -#: commands/conversioncmds.c:69 +#: commands/conversioncmds.c:62 #, c-format msgid "source encoding \"%s\" does not exist" msgstr "no existe la codificación fuente «%s»" -#: commands/conversioncmds.c:76 +#: commands/conversioncmds.c:69 #, c-format msgid "destination encoding \"%s\" does not exist" msgstr "no existe la codificación de destino «%s»" -#: commands/conversioncmds.c:89 +#: commands/conversioncmds.c:82 #, c-format msgid "encoding conversion to or from \"SQL_ASCII\" is not supported" msgstr "la conversión de codificación desde o hacia a «SQL_ASCII» no está soportada" -#: commands/conversioncmds.c:102 +#: commands/conversioncmds.c:95 #, c-format msgid "encoding conversion function %s must return type %s" msgstr "la función de conversión de codificación %s debe retornar tipo %s" -#: commands/conversioncmds.c:132 +#: commands/conversioncmds.c:125 #, c-format msgid "encoding conversion function %s returned incorrect result for empty input" msgstr "la función de conversión de codificación %s retornó un resultado incorrecto para una entrada vacía" -#: commands/copy.c:86 -#, fuzzy, c-format -#| msgid "permission denied to create role" +#: commands/copy.c:84 +#, c-format msgid "permission denied to COPY to or from an external program" -msgstr "se ha denegado el permiso para crear el rol" +msgstr "se ha denegado el permiso para hacer COPY hacia o desde un programa externo" -#: commands/copy.c:87 +#: commands/copy.c:85 #, c-format msgid "Only roles with privileges of the \"%s\" role may COPY to or from an external program." -msgstr "" +msgstr "Sólo los roles con privilegios del rol «%s» pueden hacer COPY desde o hacia un programa externo." -#: commands/copy.c:89 commands/copy.c:100 commands/copy.c:109 +#: commands/copy.c:87 commands/copy.c:98 commands/copy.c:107 #, c-format msgid "Anyone can COPY to stdout or from stdin. psql's \\copy command also works for anyone." msgstr "Cualquier usuario puede usar COPY hacia la salida estándar o desde la entrada estándar. La orden \\copy de psql también puede ser utilizado por cualquier usuario." -#: commands/copy.c:97 -#, fuzzy, c-format -#| msgid "permission denied to drop role" +#: commands/copy.c:95 +#, c-format msgid "permission denied to COPY from a file" -msgstr "se ha denegado el permiso para eliminar el rol" +msgstr "se ha denegado el permiso para hacer COPY desde un archivo" -#: commands/copy.c:98 +#: commands/copy.c:96 #, c-format msgid "Only roles with privileges of the \"%s\" role may COPY from a file." -msgstr "" +msgstr "Sólo los roles con privilegios del rol «%s» pueden hacer COPY desde un archivo." -#: commands/copy.c:106 -#, fuzzy, c-format -#| msgid "permission denied to drop role" +#: commands/copy.c:104 +#, c-format msgid "permission denied to COPY to a file" -msgstr "se ha denegado el permiso para eliminar el rol" +msgstr "se ha denegado el permiso para hacer COPY a un archivo" -#: commands/copy.c:107 +#: commands/copy.c:105 #, c-format msgid "Only roles with privileges of the \"%s\" role may COPY to a file." -msgstr "" +msgstr "Sólo los roles con privilegios del rol «%s» pueden hacer COPY hacia un archivo." -#: commands/copy.c:195 +#: commands/copy.c:193 #, c-format msgid "COPY FROM not supported with row-level security" msgstr "COPY FROM no está soportado con seguridad a nivel de registros" -#: commands/copy.c:196 +#: commands/copy.c:194 #, c-format msgid "Use INSERT statements instead." msgstr "Use sentencias INSERT en su lugar." -#: commands/copy.c:290 -#, fuzzy, c-format -#| msgid "\"EEEE\" not supported for input" -msgid "MERGE not supported in COPY" -msgstr "«EEEE» no está soportado en la entrada" - -#: commands/copy.c:383 +#: commands/copy.c:375 #, c-format msgid "cannot use \"%s\" with HEADER in COPY TO" msgstr "no se puede usar «%s» con HEADER en COPY TO" -#: commands/copy.c:392 -#, fuzzy, c-format -#| msgid "%s requires a Boolean value" +#: commands/copy.c:384 +#, c-format msgid "%s requires a Boolean value or \"match\"" -msgstr "«%s» requiere un valor lógico (booleano)" +msgstr "«%s» requiere un valor lógico (booleano) o «match»" + +#: commands/copy.c:400 +#, fuzzy, c-format +msgid "COPY ON_ERROR cannot be used with COPY TO" +msgstr "la cláusula WHERE no está permitida con COPY TO" + +#: commands/copy.c:413 +#, fuzzy, c-format +msgid "COPY ON_ERROR \"%s\" not recognized" +msgstr "el formato de COPY «%s» no es reconocido" -#: commands/copy.c:451 +#: commands/copy.c:437 +#, fuzzy, c-format +msgid "COPY LOG_VERBOSITY \"%s\" not recognized" +msgstr "el formato de COPY «%s» no es reconocido" + +#: commands/copy.c:498 #, c-format msgid "COPY format \"%s\" not recognized" msgstr "el formato de COPY «%s» no es reconocido" -#: commands/copy.c:509 commands/copy.c:522 commands/copy.c:535 -#: commands/copy.c:554 +#: commands/copy.c:556 commands/copy.c:571 commands/copy.c:586 +#: commands/copy.c:605 #, c-format msgid "argument to option \"%s\" must be a list of column names" msgstr "el argumento de la opción «%s» debe ser una lista de nombres de columna" -#: commands/copy.c:566 +#: commands/copy.c:617 #, c-format msgid "argument to option \"%s\" must be a valid encoding name" msgstr "el argumento de la opción «%s» debe ser un nombre válido de codificación" -#: commands/copy.c:573 commands/dbcommands.c:859 commands/dbcommands.c:2285 +#: commands/copy.c:638 commands/dbcommands.c:866 commands/dbcommands.c:2369 #, c-format msgid "option \"%s\" not recognized" msgstr "no se reconoce la opción «%s»" -#: commands/copy.c:585 +#: commands/copy.c:650 #, c-format msgid "cannot specify DELIMITER in BINARY mode" msgstr "no se puede especificar DELIMITER en modo BINARY" -#: commands/copy.c:590 +#: commands/copy.c:655 #, c-format msgid "cannot specify NULL in BINARY mode" msgstr "no se puede especificar NULL en modo BINARY" -#: commands/copy.c:595 -#, fuzzy, c-format -#| msgid "cannot specify NULL in BINARY mode" +#: commands/copy.c:660 +#, c-format msgid "cannot specify DEFAULT in BINARY mode" -msgstr "no se puede especificar NULL en modo BINARY" +msgstr "no se puede especificar DEFAULT en modo BINARY" -#: commands/copy.c:617 +#: commands/copy.c:665 +#, c-format +msgid "only ON_ERROR STOP is allowed in BINARY mode" +msgstr "sólo ON ERROR STOP es permitido en modo BINARY" + +#: commands/copy.c:687 #, c-format msgid "COPY delimiter must be a single one-byte character" msgstr "el delimitador de COPY debe ser un solo carácter de un byte" -#: commands/copy.c:624 +#: commands/copy.c:694 #, c-format msgid "COPY delimiter cannot be newline or carriage return" msgstr "el delimitador de COPY no puede ser el carácter de nueva línea ni el de retorno de carro" -#: commands/copy.c:630 +#: commands/copy.c:700 #, c-format msgid "COPY null representation cannot use newline or carriage return" msgstr "la representación de null de COPY no puede usar el carácter de nueva línea ni el de retorno de carro" -#: commands/copy.c:640 -#, fuzzy, c-format -#| msgid "COPY null representation cannot use newline or carriage return" +#: commands/copy.c:710 +#, c-format msgid "COPY default representation cannot use newline or carriage return" -msgstr "la representación de null de COPY no puede usar el carácter de nueva línea ni el de retorno de carro" +msgstr "la representación de default de COPY no puede usar el carácter de nueva línea ni el de retorno de carro" -#: commands/copy.c:658 +#: commands/copy.c:728 #, c-format msgid "COPY delimiter cannot be \"%s\"" msgstr "el delimitador de COPY no puede ser «%s»" -#: commands/copy.c:664 -#, fuzzy, c-format -#| msgid "cannot specify DELIMITER in BINARY mode" +#: commands/copy.c:734 +#, c-format msgid "cannot specify HEADER in BINARY mode" -msgstr "no se puede especificar DELIMITER en modo BINARY" +msgstr "no se puede especificar HEADER en modo BINARY" -#: commands/copy.c:670 +#: commands/copy.c:740 #, c-format -msgid "COPY quote available only in CSV mode" -msgstr "el «quote» de COPY está disponible sólo en modo CSV" +msgid "COPY QUOTE requires CSV mode" +msgstr "COPY QUOTE requiere modo CSV" -#: commands/copy.c:675 +#: commands/copy.c:745 #, c-format msgid "COPY quote must be a single one-byte character" msgstr "la comilla («quote») de COPY debe ser un solo carácter de un byte" -#: commands/copy.c:680 +#: commands/copy.c:750 #, c-format msgid "COPY delimiter and quote must be different" msgstr "el delimitador de COPY y la comilla («quote») deben ser diferentes" -#: commands/copy.c:686 +#: commands/copy.c:756 #, c-format -msgid "COPY escape available only in CSV mode" -msgstr "escape de COPY disponible sólo en modo CSV" +msgid "COPY ESCAPE requires CSV mode" +msgstr "COPY ESCAPE requiere modo CSV" -#: commands/copy.c:691 +#: commands/copy.c:761 #, c-format msgid "COPY escape must be a single one-byte character" msgstr "el escape de COPY debe ser un sólo carácter de un byte" -#: commands/copy.c:697 +#: commands/copy.c:767 #, c-format -msgid "COPY force quote available only in CSV mode" -msgstr "el forzado de comillas de COPY sólo está disponible en modo CSV" +msgid "COPY FORCE_QUOTE requires CSV mode" +msgstr "COPY FORCE_QUOTE requiere modo CSV" -#: commands/copy.c:701 -#, c-format -msgid "COPY force quote only available using COPY TO" -msgstr "el forzado de comillas de COPY sólo está disponible en COPY TO" +#: commands/copy.c:771 +#, fuzzy, c-format +msgid "COPY FORCE_QUOTE cannot be used with COPY FROM" +msgstr "DEFAULT de COPY sólo está disponible usando COPY FROM" -#: commands/copy.c:707 +#: commands/copy.c:777 #, c-format -msgid "COPY force not null available only in CSV mode" -msgstr "el forzado de no nulos en COPY sólo está disponible en modo CSV" +msgid "COPY FORCE_NOT_NULL requires CSV mode" +msgstr "COPY FORCE_NOT_NULL requiere modo CSV" -#: commands/copy.c:711 -#, c-format -msgid "COPY force not null only available using COPY FROM" -msgstr "el forzado de no nulos en COPY sólo está disponible usando COPY FROM" +#: commands/copy.c:781 +#, fuzzy, c-format +msgid "COPY FORCE_NOT_NULL cannot be used with COPY TO" +msgstr "la columna FORCE_NOT_NULL «%s» no es referenciada en COPY" -#: commands/copy.c:717 +#: commands/copy.c:787 #, c-format -msgid "COPY force null available only in CSV mode" -msgstr "el forzado de nulos en COPY sólo está disponible en modo CSV" +msgid "COPY FORCE_NULL requires CSV mode" +msgstr "COPY FORCE_NULL requiere modo CSV" -#: commands/copy.c:722 -#, c-format -msgid "COPY force null only available using COPY FROM" -msgstr "el forzado de nulos en COPY sólo está disponible usando COPY FROM" +#: commands/copy.c:792 +#, fuzzy, c-format +msgid "COPY FORCE_NULL cannot be used with COPY TO" +msgstr "la cláusula WHERE no está permitida con COPY TO" -#: commands/copy.c:728 -#, c-format -msgid "COPY delimiter must not appear in the NULL specification" +#: commands/copy.c:798 +#, fuzzy, c-format +msgid "COPY delimiter character must not appear in the NULL specification" msgstr "el delimitador de COPY no debe aparecer en la especificación NULL" -#: commands/copy.c:735 +#: commands/copy.c:805 #, c-format msgid "CSV quote character must not appear in the NULL specification" msgstr "el carácter de «quote» de CSV no debe aparecer en la especificación NULL" -#: commands/copy.c:742 +#: commands/copy.c:811 #, fuzzy, c-format -#| msgid "COPY force null only available using COPY FROM" +msgid "COPY FREEZE cannot be used with COPY TO" +msgstr "la cláusula WHERE no está permitida con COPY TO" + +#: commands/copy.c:818 +#, c-format msgid "COPY DEFAULT only available using COPY FROM" -msgstr "el forzado de nulos en COPY sólo está disponible usando COPY FROM" +msgstr "DEFAULT de COPY sólo está disponible usando COPY FROM" -#: commands/copy.c:748 -#, fuzzy, c-format -#| msgid "COPY delimiter must not appear in the NULL specification" +#: commands/copy.c:824 +#, c-format msgid "COPY delimiter must not appear in the DEFAULT specification" -msgstr "el delimitador de COPY no debe aparecer en la especificación NULL" +msgstr "el delimitador de COPY no debe aparecer en la especificación DEFAULT" -#: commands/copy.c:755 -#, fuzzy, c-format -#| msgid "CSV quote character must not appear in the NULL specification" +#: commands/copy.c:831 +#, c-format msgid "CSV quote character must not appear in the DEFAULT specification" -msgstr "el carácter de «quote» de CSV no debe aparecer en la especificación NULL" +msgstr "el carácter de «quote» de CSV no debe aparecer en la especificación DEFAULT" -#: commands/copy.c:763 +#: commands/copy.c:839 #, c-format msgid "NULL specification and DEFAULT specification cannot be the same" -msgstr "" +msgstr "las especificaciones NULL y DEFAULT no pueden ser la misma" -#: commands/copy.c:825 +#: commands/copy.c:901 #, c-format msgid "column \"%s\" is a generated column" msgstr "la columna «%s» es una columna generada" -#: commands/copy.c:827 +#: commands/copy.c:903 #, c-format msgid "Generated columns cannot be used in COPY." msgstr "Las columnas generadas no pueden usarse en COPY." -#: commands/copy.c:842 commands/indexcmds.c:1894 commands/statscmds.c:242 -#: commands/tablecmds.c:2405 commands/tablecmds.c:3127 -#: commands/tablecmds.c:3626 parser/parse_relation.c:3688 -#: parser/parse_relation.c:3698 parser/parse_relation.c:3716 -#: parser/parse_relation.c:3723 parser/parse_relation.c:3737 -#: utils/adt/tsvector_op.c:2855 +#: commands/copy.c:918 commands/indexcmds.c:1916 commands/statscmds.c:239 +#: commands/tablecmds.c:2514 commands/tablecmds.c:2985 +#: commands/tablecmds.c:3793 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 "no existe la columna «%s»" -#: commands/copy.c:849 commands/tablecmds.c:2431 commands/trigger.c:958 -#: parser/parse_target.c:1070 parser/parse_target.c:1081 +#: commands/copy.c:925 commands/tablecmds.c:2540 commands/trigger.c:951 +#: parser/parse_target.c:1083 parser/parse_target.c:1094 #, c-format msgid "column \"%s\" specified more than once" msgstr "la columna «%s» fue especificada más de una vez" -#: commands/copyfrom.c:122 +#: commands/copyfrom.c:118 #, c-format msgid "COPY %s" -msgstr "" +msgstr "COPY %s" -#: commands/copyfrom.c:130 +#: commands/copyfrom.c:126 #, c-format msgid "COPY %s, line %llu, column %s" -msgstr "" +msgstr "COPY %s, línea %llu, columna %s" -#: commands/copyfrom.c:135 commands/copyfrom.c:181 +#: commands/copyfrom.c:131 commands/copyfrom.c:177 #, c-format msgid "COPY %s, line %llu" -msgstr "" +msgstr "COPY %s, línea %llu" -#: commands/copyfrom.c:147 +#: commands/copyfrom.c:143 #, c-format msgid "COPY %s, line %llu, column %s: \"%s\"" -msgstr "" +msgstr "COPY %s, línea %llu, columna %s: «%s»" -#: commands/copyfrom.c:157 +#: commands/copyfrom.c:153 #, c-format msgid "COPY %s, line %llu, column %s: null input" -msgstr "" +msgstr "COPY %s, línea %llu, columna %s: entrada nula" -#: commands/copyfrom.c:174 +#: commands/copyfrom.c:170 #, c-format msgid "COPY %s, line %llu: \"%s\"" -msgstr "" +msgstr "COPY %s, línea %llu: «%s»" #: commands/copyfrom.c:673 #, c-format @@ -7044,32 +7350,44 @@ msgstr "no se puede ejecutar COPY FREEZE debido a actividad anterior en la trans msgid "cannot perform COPY FREEZE because the table was not created or truncated in the current subtransaction" msgstr "no se puede ejecutar COPY FREEZE porque la tabla no fue creada ni truncada en la subtransacción en curso" -#: commands/copyfrom.c:1411 +#: commands/copyfrom.c:1313 +#, c-format +msgid "%llu row was skipped due to data type incompatibility" +msgid_plural "%llu rows were skipped due to data type incompatibility" +msgstr[0] "" +msgstr[1] "" + +#: commands/copyfrom.c:1447 #, c-format msgid "FORCE_NOT_NULL column \"%s\" not referenced by COPY" msgstr "la columna FORCE_NOT_NULL «%s» no es referenciada en COPY" -#: commands/copyfrom.c:1434 +#: commands/copyfrom.c:1489 #, c-format msgid "FORCE_NULL column \"%s\" not referenced by COPY" msgstr "la columna FORCE_NULL «%s» no es referenciada en COPY" -#: commands/copyfrom.c:1672 +#: commands/copyfrom.c:1542 utils/mb/mbutils.c:385 +#, 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»" + +#: commands/copyfrom.c:1740 #, c-format msgid "COPY FROM instructs the PostgreSQL server process to read a file. You may want a client-side facility such as psql's \\copy." msgstr "COPY FROM indica al proceso servidor de PostgreSQL leer un archivo. Puede desear usar una facilidad del lado del cliente como \\copy de psql." -#: commands/copyfrom.c:1685 commands/copyto.c:708 +#: commands/copyfrom.c:1753 commands/copyto.c:701 #, c-format msgid "\"%s\" is a directory" msgstr "«%s» es un directorio" -#: commands/copyfrom.c:1753 commands/copyto.c:306 libpq/be-secure-common.c:83 +#: commands/copyfrom.c:1821 commands/copyto.c:299 libpq/be-secure-common.c:83 #, c-format msgid "could not close pipe to external command: %m" msgstr "no se pudo cerrar la tubería a la orden externa: %m" -#: commands/copyfrom.c:1768 commands/copyto.c:311 +#: commands/copyfrom.c:1836 commands/copyto.c:304 #, c-format msgid "program \"%s\" failed" msgstr "el programa «%s» falló" @@ -7110,26 +7428,25 @@ msgid "could not read from COPY file: %m" msgstr "no se pudo leer desde archivo COPY: %m" #: commands/copyfromparse.c:278 commands/copyfromparse.c:303 -#: tcop/postgres.c:377 +#: replication/walsender.c:756 replication/walsender.c:782 tcop/postgres.c:377 #, c-format msgid "unexpected EOF on client connection with an open transaction" msgstr "se encontró fin de archivo inesperado en una conexión con una transacción abierta" -#: commands/copyfromparse.c:294 +#: commands/copyfromparse.c:294 replication/walsender.c:772 #, c-format msgid "unexpected message type 0x%02X during COPY from stdin" msgstr "se recibió un mensaje de tipo 0x%02X inesperado durante COPY desde la entrada estándar" -#: commands/copyfromparse.c:317 +#: commands/copyfromparse.c:317 replication/walsender.c:803 #, c-format msgid "COPY from stdin failed: %s" msgstr "falló COPY desde la entrada estándar: %s" #: commands/copyfromparse.c:785 -#, fuzzy, c-format -#| msgid "wrong number of columns: %d, expected %d" +#, c-format msgid "wrong number of fields in header line: got %d, expected %d" -msgstr "número de columnas erróneo: %d, se esperaban %d" +msgstr "número de campos en línea de cabecera erróneo: %d, se esperaban %d" #: commands/copyfromparse.c:801 #, c-format @@ -7141,8 +7458,8 @@ msgstr "discordancia de nombre de columna en campo %d de la línea de encabezado msgid "column name mismatch in header line field %d: got \"%s\", expected \"%s\"" msgstr "discordancia en nombre de columna en campo %d de la línea de encabezado: se obtuvo «%s», se esperaba «%s»" -#: commands/copyfromparse.c:892 commands/copyfromparse.c:1514 -#: commands/copyfromparse.c:1770 +#: commands/copyfromparse.c:892 commands/copyfromparse.c:1554 +#: commands/copyfromparse.c:1810 #, c-format msgid "extra data after last expected column" msgstr "datos extra después de la última columna esperada" @@ -7152,1126 +7469,1177 @@ msgstr "datos extra después de la última columna esperada" msgid "missing data for column \"%s\"" msgstr "faltan datos en la columna «%s»" -#: commands/copyfromparse.c:999 +#: commands/copyfromparse.c:990 +#, c-format +msgid "skipping row due to data type incompatibility at line %llu for column %s: \"%s\"" +msgstr "omitiendo fila debido a incompatibilidad de tipo en la línea %llu para la columna %s: «%s»" + +#: commands/copyfromparse.c:998 +#, c-format +msgid "skipping row due to data type incompatibility at line %llu for column %s: null input" +msgstr "omitiendo fila debido a incompatibilidad de tipo en la línea %llu para la columna %s: entrada nula" + +#: commands/copyfromparse.c:1044 #, c-format msgid "received copy data after EOF marker" msgstr "se recibieron datos de copy después del marcador EOF" -#: commands/copyfromparse.c:1006 +#: commands/copyfromparse.c:1051 #, c-format msgid "row field count is %d, expected %d" msgstr "la cantidad de registros es %d, pero se esperaban %d" -#: commands/copyfromparse.c:1296 commands/copyfromparse.c:1313 +#: commands/copyfromparse.c:1336 commands/copyfromparse.c:1353 #, c-format msgid "literal carriage return found in data" msgstr "se encontró un retorno de carro literal en los datos" -#: commands/copyfromparse.c:1297 commands/copyfromparse.c:1314 +#: commands/copyfromparse.c:1337 commands/copyfromparse.c:1354 #, c-format msgid "unquoted carriage return found in data" msgstr "se encontró un retorno de carro fuera de comillas en los datos" -#: commands/copyfromparse.c:1299 commands/copyfromparse.c:1316 +#: commands/copyfromparse.c:1339 commands/copyfromparse.c:1356 #, c-format msgid "Use \"\\r\" to represent carriage return." msgstr "Use «\\r» para representar el retorno de carro." -#: commands/copyfromparse.c:1300 commands/copyfromparse.c:1317 +#: commands/copyfromparse.c:1340 commands/copyfromparse.c:1357 #, c-format msgid "Use quoted CSV field to represent carriage return." msgstr "Use un campo CSV entre comillas para representar el retorno de carro." -#: commands/copyfromparse.c:1329 +#: commands/copyfromparse.c:1369 #, c-format msgid "literal newline found in data" msgstr "se encontró un salto de línea literal en los datos" -#: commands/copyfromparse.c:1330 +#: commands/copyfromparse.c:1370 #, c-format msgid "unquoted newline found in data" msgstr "se encontró un salto de línea fuera de comillas en los datos" -#: commands/copyfromparse.c:1332 +#: commands/copyfromparse.c:1372 #, c-format msgid "Use \"\\n\" to represent newline." msgstr "Use «\\n» para representar un salto de línea." -#: commands/copyfromparse.c:1333 +#: commands/copyfromparse.c:1373 #, c-format msgid "Use quoted CSV field to represent newline." msgstr "Use un campo CSV entre comillas para representar un salto de línea." -#: commands/copyfromparse.c:1379 commands/copyfromparse.c:1415 +#: commands/copyfromparse.c:1419 commands/copyfromparse.c:1455 #, c-format msgid "end-of-copy marker does not match previous newline style" msgstr "el marcador fin-de-copy no coincide con el estilo previo de salto de línea" -#: commands/copyfromparse.c:1388 commands/copyfromparse.c:1404 +#: commands/copyfromparse.c:1428 commands/copyfromparse.c:1444 #, c-format msgid "end-of-copy marker corrupt" msgstr "marcador fin-de-copy corrupto" -#: commands/copyfromparse.c:1706 commands/copyfromparse.c:1921 -#, fuzzy, c-format -#| msgid "unexpected EOF in COPY data" -msgid "unexpected DEFAULT in COPY data" -msgstr "EOF inesperado en datos de COPY" +#: commands/copyfromparse.c:1746 commands/copyfromparse.c:1961 +#, c-format +msgid "unexpected default marker in COPY data" +msgstr "marcador “default” inesperado en datos de COPY" -#: commands/copyfromparse.c:1707 commands/copyfromparse.c:1922 -#, fuzzy, c-format -#| msgid "column \"%s\" can only be updated to DEFAULT" -msgid "Column \"%s\" has no DEFAULT value." -msgstr "la columna «%s» sólo puede actualizarse a DEFAULT" +#: commands/copyfromparse.c:1747 commands/copyfromparse.c:1962 +#, c-format +msgid "Column \"%s\" has no default value." +msgstr "La columna «%s» no tiene valor por omisión." -#: commands/copyfromparse.c:1854 +#: commands/copyfromparse.c:1894 #, c-format msgid "unterminated CSV quoted field" msgstr "un valor entre comillas está inconcluso" -#: commands/copyfromparse.c:1956 commands/copyfromparse.c:1975 +#: commands/copyfromparse.c:1996 commands/copyfromparse.c:2015 #, c-format msgid "unexpected EOF in COPY data" msgstr "EOF inesperado en datos de COPY" -#: commands/copyfromparse.c:1965 +#: commands/copyfromparse.c:2005 #, c-format msgid "invalid field size" msgstr "el tamaño de campo no es válido" -#: commands/copyfromparse.c:1988 +#: commands/copyfromparse.c:2028 #, c-format msgid "incorrect binary data format" msgstr "el formato de datos binarios es incorrecto" -#: commands/copyto.c:236 +#: commands/copyto.c:229 #, c-format msgid "could not write to COPY program: %m" msgstr "no se pudo escribir al programa COPY: %m" -#: commands/copyto.c:241 +#: commands/copyto.c:234 #, c-format msgid "could not write to COPY file: %m" msgstr "no se pudo escribir archivo COPY: %m" -#: commands/copyto.c:386 +#: commands/copyto.c:379 #, c-format msgid "cannot copy from view \"%s\"" msgstr "no se puede copiar desde la vista «%s»" -#: commands/copyto.c:388 commands/copyto.c:394 commands/copyto.c:400 -#: commands/copyto.c:411 +#: commands/copyto.c:381 commands/copyto.c:387 commands/copyto.c:393 +#: commands/copyto.c:404 #, c-format msgid "Try the COPY (SELECT ...) TO variant." msgstr "Intente la forma COPY (SELECT ...) TO." -#: commands/copyto.c:392 +#: commands/copyto.c:385 #, c-format msgid "cannot copy from materialized view \"%s\"" msgstr "no se puede copiar desde la vista materializada «%s»" -#: commands/copyto.c:398 +#: commands/copyto.c:391 #, c-format msgid "cannot copy from foreign table \"%s\"" msgstr "no se puede copiar desde la tabla foránea «%s»" -#: commands/copyto.c:404 +#: commands/copyto.c:397 #, c-format msgid "cannot copy from sequence \"%s\"" msgstr "no se puede copiar desde la secuencia «%s»" -#: commands/copyto.c:409 +#: commands/copyto.c:402 #, c-format msgid "cannot copy from partitioned table \"%s\"" msgstr "no se puede hacer copy de la tabla particionada «%s»" -#: commands/copyto.c:415 +#: commands/copyto.c:408 #, c-format msgid "cannot copy from non-table relation \"%s\"" msgstr "no se puede copiar desde la relación «%s» porque no es una tabla" -#: commands/copyto.c:467 +#: commands/copyto.c:460 #, c-format msgid "DO INSTEAD NOTHING rules are not supported for COPY" msgstr "las reglas DO INSTEAD NOTHING no están soportadas para COPY" -#: commands/copyto.c:481 +#: commands/copyto.c:474 #, c-format msgid "conditional DO INSTEAD rules are not supported for COPY" msgstr "las reglas DO INSTEAD condicionales no están soportadas para COPY" -#: commands/copyto.c:485 +#: commands/copyto.c:478 #, c-format msgid "DO ALSO rules are not supported for the COPY" msgstr "las reglas DO ALSO no están soportadas para COPY" -#: commands/copyto.c:490 +#: commands/copyto.c:483 #, c-format msgid "multi-statement DO INSTEAD rules are not supported for COPY" msgstr "las reglas DO INSTEAD de múltiples sentencias no están soportadas para COPY" -#: commands/copyto.c:500 +#: commands/copyto.c:493 #, c-format msgid "COPY (SELECT INTO) is not supported" msgstr "COPY (SELECT INTO) no está soportado" -#: commands/copyto.c:517 +#: commands/copyto.c:511 #, c-format msgid "COPY query must have a RETURNING clause" msgstr "la consulta COPY debe tener una cláusula RETURNING" -#: commands/copyto.c:546 +#: commands/copyto.c:540 #, c-format msgid "relation referenced by COPY statement has changed" msgstr "la relación referenciada por la sentencia COPY ha cambiado" -#: commands/copyto.c:605 +#: commands/copyto.c:596 #, c-format msgid "FORCE_QUOTE column \"%s\" not referenced by COPY" msgstr "la columna FORCE_QUOTE «%s» no es referenciada en COPY" -#: commands/copyto.c:673 +#: commands/copyto.c:666 #, c-format msgid "relative path not allowed for COPY to file" msgstr "no se permiten rutas relativas para COPY hacia un archivo" -#: commands/copyto.c:692 +#: commands/copyto.c:685 #, c-format msgid "could not open file \"%s\" for writing: %m" msgstr "no se pudo abrir el archivo «%s» para escritura: %m" -#: commands/copyto.c:695 +#: commands/copyto.c:688 #, c-format msgid "COPY TO instructs the PostgreSQL server process to write a file. You may want a client-side facility such as psql's \\copy." msgstr "COPY TO indica al proceso servidor PostgreSQL escribir a un archivo. Puede desear usar facilidades del lado del cliente, como \\copy de psql." -#: commands/createas.c:215 commands/createas.c:523 +#: commands/createas.c:210 commands/createas.c:516 #, c-format msgid "too many column names were specified" msgstr "se especificaron demasiados nombres de columna" -#: commands/createas.c:546 +#: commands/createas.c:539 #, c-format msgid "policies not yet implemented for this command" msgstr "las políticas no están implementadas para esta orden" -#: commands/dbcommands.c:822 +#: commands/dbcommands.c:829 #, c-format msgid "LOCATION is not supported anymore" msgstr "LOCATION ya no está soportado" -#: commands/dbcommands.c:823 +#: commands/dbcommands.c:830 #, c-format msgid "Consider using tablespaces instead." msgstr "Considere usar tablespaces." -#: commands/dbcommands.c:848 +#: commands/dbcommands.c:855 #, c-format msgid "OIDs less than %u are reserved for system objects" msgstr "los OIDs menores que %u están reservados para objetos del sistema" -#: commands/dbcommands.c:879 utils/adt/ascii.c:146 +#: commands/dbcommands.c:886 utils/adt/ascii.c:146 #, c-format msgid "%d is not a valid encoding code" msgstr "%d no es un código válido de codificación" -#: commands/dbcommands.c:890 utils/adt/ascii.c:128 +#: commands/dbcommands.c:897 utils/adt/ascii.c:128 #, c-format msgid "%s is not a valid encoding name" msgstr "%s no es un nombre válido de codificación" -#: commands/dbcommands.c:919 +#: commands/dbcommands.c:931 #, c-format msgid "unrecognized locale provider: %s" msgstr "proveedor de ordenamiento no reconocido: %s" -#: commands/dbcommands.c:932 commands/dbcommands.c:2318 commands/user.c:300 -#: commands/user.c:740 +#: commands/dbcommands.c:944 commands/dbcommands.c:2402 commands/user.c:299 +#: commands/user.c:739 #, c-format msgid "invalid connection limit: %d" msgstr "límite de conexión no válido: %d" -#: commands/dbcommands.c:953 +#: commands/dbcommands.c:965 #, c-format msgid "permission denied to create database" msgstr "se ha denegado el permiso para crear la base de datos" -#: commands/dbcommands.c:977 +#: commands/dbcommands.c:989 #, c-format msgid "template database \"%s\" does not exist" msgstr "no existe la base de datos patrón «%s»" -#: commands/dbcommands.c:989 +#: commands/dbcommands.c:999 +#, c-format +msgid "cannot use invalid database \"%s\" as template" +msgstr "no se puede usar la base de datos «%s» no válida como plantilla" + +#: commands/dbcommands.c:1000 commands/dbcommands.c:2431 +#: utils/init/postinit.c:1112 +#, c-format +msgid "Use DROP DATABASE to drop invalid databases." +msgstr "Use DROP DATABASE para eliminar una base de datos no válida." + +#: commands/dbcommands.c:1011 #, c-format msgid "permission denied to copy database \"%s\"" msgstr "se ha denegado el permiso para copiar la base de datos «%s»" -#: commands/dbcommands.c:1006 -#, fuzzy, c-format -#| msgid "invalid parameter list format: \"%s\"" +#: commands/dbcommands.c:1028 +#, c-format msgid "invalid create database strategy \"%s\"" -msgstr "el formato de la lista de parámetros no es válido: «%s»" +msgstr "estrategia de creación de base de dato no válida: «%s»" -#: commands/dbcommands.c:1007 -#, fuzzy, c-format -#| msgid "Valid values are \"local\" and \"cascaded\"." -msgid "Valid strategies are \"wal_log\", and \"file_copy\"." -msgstr "Los valores aceptables son «local» y «cascaded»." +#: commands/dbcommands.c:1029 +#, c-format +msgid "Valid strategies are \"wal_log\" and \"file_copy\"." +msgstr "Las estrategias válidas son «wal_log» y «file_copy»." -#: commands/dbcommands.c:1028 +#: commands/dbcommands.c:1050 #, c-format msgid "invalid server encoding %d" msgstr "la codificación de servidor %d no es válida" -#: commands/dbcommands.c:1034 commands/dbcommands.c:1039 +#: commands/dbcommands.c:1056 #, c-format -msgid "invalid locale name: \"%s\"" -msgstr "nombre de configuración regional no válido: «%s»" +msgid "invalid LC_COLLATE locale name: \"%s\"" +msgstr "nombre de configuración regional LC_COLLATE no válido: «%s»" -#: commands/dbcommands.c:1049 -#, fuzzy, c-format -#| msgid "encoding \"%s\" not supported by ICU" -msgid "encoding \"%s\" is not supported with ICU provider" -msgstr "la codificación «%s» no estæ soportada por ICU" +#: commands/dbcommands.c:1057 commands/dbcommands.c:1063 +#, c-format +msgid "If the locale name is specific to ICU, use ICU_LOCALE." +msgstr "Si el nombre de configuración regional es específico a ICU, use ICU_LOCALE." -#: commands/dbcommands.c:1059 +#: commands/dbcommands.c:1062 #, c-format -msgid "ICU locale must be specified" -msgstr "el locale ICU debe ser especificado" +msgid "invalid LC_CTYPE locale name: \"%s\"" +msgstr "nombre de configuración regional LC_CTYPE no válido: «%s»" + +#: commands/dbcommands.c:1074 +#, fuzzy, c-format +msgid "BUILTIN_LOCALE cannot be specified unless locale provider is builtin" +msgstr "no se pueden especificar reglas ICU a menos que el proveedor de configuración regional sea ICU" -#: commands/dbcommands.c:1088 +#: commands/dbcommands.c:1082 #, c-format msgid "ICU locale cannot be specified unless locale provider is ICU" msgstr "no se puede especificar una configuración regional ICU a menos que el proveedor de configuración regional sea ICU" -#: commands/dbcommands.c:1111 +#: commands/dbcommands.c:1100 +#, fuzzy, c-format +msgid "LOCALE or BUILTIN_LOCALE must be specified" +msgstr "debe especificarse LOCALE o ICU_LOCALE" + +#: commands/dbcommands.c:1109 +#, c-format +msgid "encoding \"%s\" is not supported with ICU provider" +msgstr "la codificación «%s» no está soportada por ICU" + +#: commands/dbcommands.c:1119 +#, c-format +msgid "LOCALE or ICU_LOCALE must be specified" +msgstr "debe especificarse LOCALE o ICU_LOCALE" + +#: commands/dbcommands.c:1163 #, c-format msgid "new encoding (%s) is incompatible with the encoding of the template database (%s)" msgstr "la nueva codificación (%s) es incompatible con la codificación de la base de datos patrón (%s)" -#: commands/dbcommands.c:1114 +#: commands/dbcommands.c:1166 #, c-format msgid "Use the same encoding as in the template database, or use template0 as template." msgstr "Use la misma codificación que en la base de datos patrón, o bien use template0 como patrón." -#: commands/dbcommands.c:1119 +#: commands/dbcommands.c:1171 #, c-format msgid "new collation (%s) is incompatible with the collation of the template database (%s)" msgstr "la nueva «collation» (%s) es incompatible con la «collation» de la base de datos patrón (%s)" -#: commands/dbcommands.c:1121 +#: commands/dbcommands.c:1173 #, c-format msgid "Use the same collation as in the template database, or use template0 as template." msgstr "Use la misma «collation» que en la base de datos patrón, o bien use template0 como patrón." -#: commands/dbcommands.c:1126 +#: commands/dbcommands.c:1178 #, c-format msgid "new LC_CTYPE (%s) is incompatible with the LC_CTYPE of the template database (%s)" msgstr "el nuevo LC_CTYPE (%s) es incompatible con el LC_CTYPE de la base de datos patrón (%s)" -#: commands/dbcommands.c:1128 +#: commands/dbcommands.c:1180 #, c-format msgid "Use the same LC_CTYPE as in the template database, or use template0 as template." msgstr "Use el mismo LC_CTYPE que en la base de datos patrón, o bien use template0 como patrón." -#: commands/dbcommands.c:1133 -#, fuzzy, c-format -#| msgid "new encoding (%s) is incompatible with the encoding of the template database (%s)" +#: commands/dbcommands.c:1185 +#, c-format msgid "new locale provider (%s) does not match locale provider of the template database (%s)" -msgstr "la nueva codificación (%s) es incompatible con la codificación de la base de datos patrón (%s)" +msgstr "el nuevo proveedor de configuración regional (%s) no coincide con el proveedor de la base de datos patrón (%s)" -#: commands/dbcommands.c:1135 -#, fuzzy, c-format -#| msgid "Use the same encoding as in the template database, or use template0 as template." +#: commands/dbcommands.c:1187 +#, c-format msgid "Use the same locale provider as in the template database, or use template0 as template." -msgstr "Use la misma codificación que en la base de datos patrón, o bien use template0 como patrón." +msgstr "Use el mismo proveedor de «locale» que en la base de datos patrón, o bien use template0 como patrón." -#: commands/dbcommands.c:1147 -#, fuzzy, c-format -#| msgid "new collation (%s) is incompatible with the collation of the template database (%s)" +#: commands/dbcommands.c:1199 +#, c-format msgid "new ICU locale (%s) is incompatible with the ICU locale of the template database (%s)" -msgstr "la nueva «collation» (%s) es incompatible con la «collation» de la base de datos patrón (%s)" +msgstr "la nueva configuración regional ICU (%s) es incompatible con la configuración regional ICU de la base de datos patrón (%s)" -#: commands/dbcommands.c:1149 -#, fuzzy, c-format -#| msgid "Use the same collation as in the template database, or use template0 as template." +#: commands/dbcommands.c:1201 +#, c-format msgid "Use the same ICU locale as in the template database, or use template0 as template." -msgstr "Use la misma «collation» que en la base de datos patrón, o bien use template0 como patrón." +msgstr "Use la misma configuración regional («locale») que en la base de datos patrón, o bien use template0 como patrón." -#: commands/dbcommands.c:1160 -#, fuzzy, c-format -#| msgid "new collation (%s) is incompatible with the collation of the template database (%s)" +#: commands/dbcommands.c:1212 +#, c-format msgid "new ICU collation rules (%s) are incompatible with the ICU collation rules of the template database (%s)" -msgstr "la nueva «collation» (%s) es incompatible con la «collation» de la base de datos patrón (%s)" +msgstr "las nuevas reglas de «collation» ICU (%s) son incompatibles con las reglas de «collation» ICU de la base de datos patrón (%s)" -#: commands/dbcommands.c:1162 -#, fuzzy, c-format -#| msgid "Use the same collation as in the template database, or use template0 as template." +#: commands/dbcommands.c:1214 +#, c-format msgid "Use the same ICU collation rules as in the template database, or use template0 as template." -msgstr "Use la misma «collation» que en la base de datos patrón, o bien use template0 como patrón." +msgstr "Use las mismas reglas de «collation» ICU que en la base de datos patrón, o bien use template0 como patrón." -#: commands/dbcommands.c:1185 +#: commands/dbcommands.c:1243 #, c-format msgid "template database \"%s\" has a collation version, but no actual collation version could be determined" -msgstr "" +msgstr "la base de datos patrón «%s» tiene una versión de configuración regional, pero no se pudo determinar una versión real" -#: commands/dbcommands.c:1190 -#, fuzzy, c-format -#| msgid "template database \"%s\" does not exist" +#: commands/dbcommands.c:1248 +#, c-format msgid "template database \"%s\" has a collation version mismatch" -msgstr "no existe la base de datos patrón «%s»" +msgstr "discordancia en la versión de «collation» de la base de datos patrón «%s»" -#: commands/dbcommands.c:1192 -#, fuzzy, c-format -#| msgid "The collation in the database was created using version %s, but the operating system provides version %s." +#: commands/dbcommands.c:1250 +#, c-format msgid "The template database was created using collation 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." +msgstr "La base de datos patrón fue creada usando la versión %s, pero el sistema operativo provee la versión %s." -#: commands/dbcommands.c:1195 -#, fuzzy, 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." +#: commands/dbcommands.c:1253 +#, c-format msgid "Rebuild all objects in the template database that use the default collation and run ALTER DATABASE %s REFRESH COLLATION 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." +msgstr "Reconstruya todos los objetos de la base de datos patrón afectados por este ordenamiento y ejecute ALTER DATABASE %s REFRESH COLLATION VERSION, o construya PostgreSQL con la versión correcta de la biblioteca." -#: commands/dbcommands.c:1231 commands/dbcommands.c:1947 +#: commands/dbcommands.c:1298 commands/dbcommands.c:2031 #, c-format msgid "pg_global cannot be used as default tablespace" msgstr "no puede usarse pg_global como tablespace por omisión" -#: commands/dbcommands.c:1257 +#: commands/dbcommands.c:1324 #, c-format msgid "cannot assign new default tablespace \"%s\"" msgstr "no se puede asignar el nuevo tablespace por omisión «%s»" -#: commands/dbcommands.c:1259 +#: commands/dbcommands.c:1326 #, c-format msgid "There is a conflict because database \"%s\" already has some tables in this tablespace." msgstr "Hay un conflicto puesto que la base de datos «%s» ya tiene algunas tablas en este tablespace." -#: commands/dbcommands.c:1289 commands/dbcommands.c:1820 +#: commands/dbcommands.c:1356 commands/dbcommands.c:1904 #, c-format msgid "database \"%s\" already exists" msgstr "la base de datos «%s» ya existe" -#: commands/dbcommands.c:1303 +#: commands/dbcommands.c:1370 #, c-format msgid "source database \"%s\" is being accessed by other users" msgstr "la base de datos de origen «%s» está siendo utilizada por otros usuarios" -#: commands/dbcommands.c:1325 -#, fuzzy, c-format -#| msgid "database \"%s\" already exists" +#: commands/dbcommands.c:1392 +#, c-format msgid "database OID %u is already in use by database \"%s\"" -msgstr "la base de datos «%s» ya existe" +msgstr "el OID de base de datos %u ya está en uso por la base de datos «%s»" -#: commands/dbcommands.c:1331 +#: commands/dbcommands.c:1398 #, c-format msgid "data directory with the specified OID %u already exists" msgstr "el directorio de datos con el OID %u especificado ya existe" -#: commands/dbcommands.c:1503 commands/dbcommands.c:1518 +#: commands/dbcommands.c:1571 commands/dbcommands.c:1586 +#: utils/adt/pg_locale.c:2565 #, c-format msgid "encoding \"%s\" does not match locale \"%s\"" msgstr "la codificación «%s» no coincide con la configuración regional «%s»" -#: commands/dbcommands.c:1506 +#: commands/dbcommands.c:1574 #, c-format msgid "The chosen LC_CTYPE setting requires encoding \"%s\"." msgstr "El parámetro LC_CTYPE escogido requiere la codificación «%s»." -#: commands/dbcommands.c:1521 +#: commands/dbcommands.c:1589 #, c-format msgid "The chosen LC_COLLATE setting requires encoding \"%s\"." msgstr "El parámetro LC_COLLATE escogido requiere la codificación «%s»." -#: commands/dbcommands.c:1601 +#: commands/dbcommands.c:1670 #, c-format msgid "database \"%s\" does not exist, skipping" msgstr "no existe la base de datos «%s», omitiendo" -#: commands/dbcommands.c:1625 +#: commands/dbcommands.c:1694 #, c-format msgid "cannot drop a template database" msgstr "no se puede borrar una base de datos patrón" -#: commands/dbcommands.c:1631 +#: commands/dbcommands.c:1700 #, c-format msgid "cannot drop the currently open database" msgstr "no se puede eliminar la base de datos activa" -#: commands/dbcommands.c:1644 +#: commands/dbcommands.c:1713 #, c-format msgid "database \"%s\" is used by an active logical replication slot" msgstr "la base de datos «%s» está en uso por un slot de replicación activo" -#: commands/dbcommands.c:1646 +#: commands/dbcommands.c:1715 #, c-format msgid "There is %d active slot." msgid_plural "There are %d active slots." msgstr[0] "Hay %d slot activo." msgstr[1] "Hay %d slots activos." -#: commands/dbcommands.c:1660 +#: commands/dbcommands.c:1729 #, c-format msgid "database \"%s\" is being used by logical replication subscription" msgstr "la base de datos «%s» está siendo utilizada por suscripciones de replicación lógica" -#: commands/dbcommands.c:1662 +#: commands/dbcommands.c:1731 #, c-format msgid "There is %d subscription." msgid_plural "There are %d subscriptions." msgstr[0] "Hay %d suscripción." msgstr[1] "Hay %d suscripciones." -#: commands/dbcommands.c:1683 commands/dbcommands.c:1842 -#: commands/dbcommands.c:1969 +#: commands/dbcommands.c:1752 commands/dbcommands.c:1926 +#: commands/dbcommands.c:2053 #, c-format msgid "database \"%s\" is being accessed by other users" msgstr "la base de datos «%s» está siendo utilizada por otros usuarios" -#: commands/dbcommands.c:1802 +#: commands/dbcommands.c:1886 #, c-format msgid "permission denied to rename database" msgstr "se ha denegado el permiso para cambiar el nombre a la base de datos" -#: commands/dbcommands.c:1831 +#: commands/dbcommands.c:1915 #, c-format msgid "current database cannot be renamed" msgstr "no se puede cambiar el nombre de la base de datos activa" -#: commands/dbcommands.c:1925 +#: commands/dbcommands.c:2009 #, c-format msgid "cannot change the tablespace of the currently open database" msgstr "no se puede cambiar el tablespace de la base de datos activa" -#: commands/dbcommands.c:2031 +#: commands/dbcommands.c:2115 #, c-format msgid "some relations of database \"%s\" are already in tablespace \"%s\"" msgstr "algunas relaciones de la base de datos «%s» ya están en el tablespace «%s»" -#: commands/dbcommands.c:2033 +#: commands/dbcommands.c:2117 #, c-format msgid "You must move them back to the database's default tablespace before using this command." msgstr "Debe moverlas de vuelta al tablespace por omisión de la base de datos antes de ejecutar esta orden." -#: commands/dbcommands.c:2160 commands/dbcommands.c:2868 -#: commands/dbcommands.c:3132 commands/dbcommands.c:3245 +#: commands/dbcommands.c:2244 commands/dbcommands.c:2979 +#: commands/dbcommands.c:3279 commands/dbcommands.c:3392 #, c-format msgid "some useless files may be left behind in old database directory \"%s\"" msgstr "algunos archivos inútiles pueden haber quedado en el directorio \"%s\"" -#: commands/dbcommands.c:2221 +#: commands/dbcommands.c:2305 #, c-format msgid "unrecognized DROP DATABASE option \"%s\"" msgstr "opción de DROP DATABASE «%s» no reconocida" -#: commands/dbcommands.c:2299 +#: commands/dbcommands.c:2383 #, c-format msgid "option \"%s\" cannot be specified with other options" msgstr "la opción «%s» no puede ser especificada con otras opciones" -#: commands/dbcommands.c:2355 +#: commands/dbcommands.c:2430 +#, c-format +msgid "cannot alter invalid database \"%s\"" +msgstr "no se puede alterar base de datos no válida «%s»" + +#: commands/dbcommands.c:2447 #, c-format msgid "cannot disallow connections for current database" msgstr "no se pueden prohibir las conexiones para la base de datos actual" -#: commands/dbcommands.c:2570 +#: commands/dbcommands.c:2673 #, c-format msgid "permission denied to change owner of database" msgstr "se ha denegado el permiso para cambiar el dueño de la base de datos" -#: commands/dbcommands.c:2974 +#: commands/dbcommands.c:3085 #, c-format msgid "There are %d other session(s) and %d prepared transaction(s) using the database." msgstr "Hay otras %d sesiones y %d transacciones preparadas usando la base de datos." -#: commands/dbcommands.c:2977 +#: commands/dbcommands.c:3088 #, c-format msgid "There is %d other session using the database." msgid_plural "There are %d other sessions using the database." msgstr[0] "Hay %d otra sesión usando la base de datos." msgstr[1] "Hay otras %d sesiones usando la base de datos." -#: commands/dbcommands.c:2982 storage/ipc/procarray.c:3798 +#: commands/dbcommands.c:3093 storage/ipc/procarray.c:3859 #, c-format msgid "There is %d prepared transaction using the database." msgid_plural "There are %d prepared transactions using the database." msgstr[0] "Hay %d otra transacción preparada usando la base de datos." msgstr[1] "Hay otras %d transacciones preparadas usando la base de datos." -#: commands/dbcommands.c:3088 -#, fuzzy, c-format -#| msgid "removing WAL directory \"%s\"" +#: commands/dbcommands.c:3235 +#, c-format msgid "missing directory \"%s\"" -msgstr "eliminando el directorio de WAL «%s»" +msgstr "directorio «%s» faltante" -#: commands/dbcommands.c:3146 commands/tablespace.c:190 -#: commands/tablespace.c:639 +#: commands/dbcommands.c:3293 commands/tablespace.c:184 +#: commands/tablespace.c:633 #, c-format msgid "could not stat directory \"%s\": %m" msgstr "no se pudo hacer stat al directorio «%s»: %m" -#: commands/define.c:54 commands/define.c:258 commands/define.c:290 -#: commands/define.c:318 commands/define.c:364 +#: commands/define.c:53 commands/define.c:257 commands/define.c:289 +#: commands/define.c:317 commands/define.c:363 #, c-format msgid "%s requires a parameter" msgstr "%s requiere un parámetro" -#: commands/define.c:87 commands/define.c:98 commands/define.c:192 -#: commands/define.c:210 commands/define.c:225 commands/define.c:243 +#: commands/define.c:86 commands/define.c:97 commands/define.c:191 +#: commands/define.c:209 commands/define.c:224 commands/define.c:242 #, c-format msgid "%s requires a numeric value" msgstr "%s requiere un valor numérico" -#: commands/define.c:154 +#: commands/define.c:153 #, c-format msgid "%s requires a Boolean value" msgstr "«%s» requiere un valor lógico (booleano)" -#: commands/define.c:168 commands/define.c:177 commands/define.c:327 +#: commands/define.c:167 commands/define.c:176 commands/define.c:326 #, c-format msgid "%s requires an integer value" msgstr "%s requiere valor entero" -#: commands/define.c:272 +#: commands/define.c:271 #, c-format msgid "argument of %s must be a name" msgstr "el argumento de %s debe ser un nombre" -#: commands/define.c:302 +#: commands/define.c:301 #, c-format msgid "argument of %s must be a type name" msgstr "el argumento de %s debe ser un nombre de tipo" -#: commands/define.c:348 +#: commands/define.c:347 #, c-format msgid "invalid argument for %s: \"%s\"" msgstr "argumento no válido para %s: «%s»" -#: commands/dropcmds.c:101 commands/functioncmds.c:1387 -#: utils/adt/ruleutils.c:2897 +#: commands/dropcmds.c:96 commands/functioncmds.c:1382 +#: utils/adt/ruleutils.c:2909 #, c-format msgid "\"%s\" is an aggregate function" msgstr "«%s» es una función de agregación" -#: commands/dropcmds.c:103 +#: commands/dropcmds.c:98 #, c-format msgid "Use DROP AGGREGATE to drop aggregate functions." msgstr "Use DROP AGGREGATE para eliminar funciones de agregación." -#: commands/dropcmds.c:158 commands/sequence.c:474 commands/tablecmds.c:3710 -#: commands/tablecmds.c:3868 commands/tablecmds.c:3920 -#: commands/tablecmds.c:16468 tcop/utility.c:1335 +#: commands/dropcmds.c:153 commands/sequence.c:462 commands/tablecmds.c:3877 +#: commands/tablecmds.c:4035 commands/tablecmds.c:4087 +#: commands/tablecmds.c:17073 tcop/utility.c:1325 #, c-format msgid "relation \"%s\" does not exist, skipping" msgstr "no existe la relación «%s», omitiendo" -#: commands/dropcmds.c:188 commands/dropcmds.c:287 commands/tablecmds.c:1285 +#: commands/dropcmds.c:183 commands/dropcmds.c:282 commands/tablecmds.c:1397 #, c-format msgid "schema \"%s\" does not exist, skipping" msgstr "el esquema «%s» no existe, omitiendo" -#: commands/dropcmds.c:228 commands/dropcmds.c:267 commands/tablecmds.c:277 +#: commands/dropcmds.c:223 commands/dropcmds.c:262 commands/tablecmds.c:286 #, c-format msgid "type \"%s\" does not exist, skipping" msgstr "el tipo «%s» no existe, omitiendo" -#: commands/dropcmds.c:257 +#: commands/dropcmds.c:252 #, c-format msgid "access method \"%s\" does not exist, skipping" msgstr "no existe el método de acceso «%s», omitiendo" -#: commands/dropcmds.c:275 +#: commands/dropcmds.c:270 #, c-format msgid "collation \"%s\" does not exist, skipping" msgstr "no existe el ordenamiento (collation) «%s», omitiendo" -#: commands/dropcmds.c:282 +#: commands/dropcmds.c:277 #, c-format msgid "conversion \"%s\" does not exist, skipping" msgstr "no existe la conversión «%s», omitiendo" -#: commands/dropcmds.c:293 commands/statscmds.c:654 +#: commands/dropcmds.c:288 commands/statscmds.c:664 #, c-format msgid "statistics object \"%s\" does not exist, skipping" msgstr "no existe el objeto de estadísticas «%s», omitiendo" -#: commands/dropcmds.c:300 +#: commands/dropcmds.c:295 #, c-format msgid "text search parser \"%s\" does not exist, skipping" msgstr "el analizador de búsqueda en texto «%s» no existe, omitiendo" -#: commands/dropcmds.c:307 +#: commands/dropcmds.c:302 #, c-format msgid "text search dictionary \"%s\" does not exist, skipping" msgstr "el diccionario de búsqueda en texto «%s» no existe, omitiendo" -#: commands/dropcmds.c:314 +#: commands/dropcmds.c:309 #, c-format msgid "text search template \"%s\" does not exist, skipping" msgstr "la plantilla de búsqueda en texto «%s» no existe, omitiendo" -#: commands/dropcmds.c:321 +#: commands/dropcmds.c:316 #, c-format msgid "text search configuration \"%s\" does not exist, skipping" msgstr "no existe la configuración de búsqueda en texto «%s», omitiendo" -#: commands/dropcmds.c:326 +#: commands/dropcmds.c:321 #, c-format msgid "extension \"%s\" does not exist, skipping" msgstr "no existe la extensión «%s», omitiendo" -#: commands/dropcmds.c:336 +#: commands/dropcmds.c:331 #, c-format msgid "function %s(%s) does not exist, skipping" msgstr "no existe la función %s(%s), omitiendo" -#: commands/dropcmds.c:349 +#: commands/dropcmds.c:344 #, c-format msgid "procedure %s(%s) does not exist, skipping" msgstr "el procedimiento %s(%s) no existe, omitiendo" -#: commands/dropcmds.c:362 +#: commands/dropcmds.c:357 #, c-format msgid "routine %s(%s) does not exist, skipping" msgstr "no existe la rutina %s(%s), omitiendo" -#: commands/dropcmds.c:375 +#: commands/dropcmds.c:370 #, c-format msgid "aggregate %s(%s) does not exist, skipping" msgstr "la función de agregación %s(%s) no existe, omitiendo" -#: commands/dropcmds.c:388 +#: commands/dropcmds.c:383 #, c-format msgid "operator %s does not exist, skipping" msgstr "el operador %s no existe, omitiendo" -#: commands/dropcmds.c:394 +#: commands/dropcmds.c:389 #, c-format msgid "language \"%s\" does not exist, skipping" msgstr "el lenguaje «%s» no existe, omitiendo" -#: commands/dropcmds.c:403 +#: commands/dropcmds.c:398 #, c-format msgid "cast from type %s to type %s does not exist, skipping" msgstr "no existe la conversión del tipo %s al tipo %s, omitiendo" -#: commands/dropcmds.c:412 +#: commands/dropcmds.c:407 #, c-format msgid "transform for type %s language \"%s\" does not exist, skipping" msgstr "la transformación para el tipo %s lenguaje «%s» no existe, omitiendo" -#: commands/dropcmds.c:420 +#: commands/dropcmds.c:415 #, c-format msgid "trigger \"%s\" for relation \"%s\" does not exist, skipping" msgstr "disparador «%s» para la relación «%s» no existe, omitiendo" -#: commands/dropcmds.c:429 +#: commands/dropcmds.c:424 #, c-format msgid "policy \"%s\" for relation \"%s\" does not exist, skipping" msgstr "la política «%s» para la relación «%s» no existe, omitiendo" -#: commands/dropcmds.c:436 +#: commands/dropcmds.c:431 #, c-format msgid "event trigger \"%s\" does not exist, skipping" msgstr "el disparador por eventos «%s» no existe, omitiendo" -#: commands/dropcmds.c:442 +#: commands/dropcmds.c:437 #, c-format msgid "rule \"%s\" for relation \"%s\" does not exist, skipping" msgstr "la regla «%s» para la relación «%s» no existe, omitiendo" -#: commands/dropcmds.c:449 +#: commands/dropcmds.c:444 #, c-format msgid "foreign-data wrapper \"%s\" does not exist, skipping" msgstr "no existe el conector de datos externos «%s», omitiendo" -#: commands/dropcmds.c:453 commands/foreigncmds.c:1360 +#: commands/dropcmds.c:448 commands/foreigncmds.c:1360 #, c-format msgid "server \"%s\" does not exist, skipping" msgstr "el servidor «%s» no existe, omitiendo" -#: commands/dropcmds.c:462 +#: commands/dropcmds.c:457 #, c-format msgid "operator class \"%s\" does not exist for access method \"%s\", skipping" msgstr "no existe la clase de operadores «%s» para el método de acceso «%s», omitiendo" -#: commands/dropcmds.c:474 +#: commands/dropcmds.c:469 #, c-format msgid "operator family \"%s\" does not exist for access method \"%s\", skipping" msgstr "no existe la familia de operadores «%s» para el método de acceso «%s», omitiendo" -#: commands/dropcmds.c:481 +#: commands/dropcmds.c:476 #, c-format msgid "publication \"%s\" does not exist, skipping" msgstr "no existe la publicación «%s», omitiendo" -#: commands/event_trigger.c:125 +#: commands/event_trigger.c:137 #, c-format msgid "permission denied to create event trigger \"%s\"" msgstr "se ha denegado el permiso para crear el disparador por eventos «%s»" -#: commands/event_trigger.c:127 +#: commands/event_trigger.c:139 #, c-format msgid "Must be superuser to create an event trigger." msgstr "Debe ser superusuario para crear un disparador por eventos." -#: commands/event_trigger.c:136 +#: commands/event_trigger.c:149 #, c-format msgid "unrecognized event name \"%s\"" msgstr "nommre de evento «%s» no reconocido" -#: commands/event_trigger.c:153 +#: commands/event_trigger.c:166 #, c-format msgid "unrecognized filter variable \"%s\"" msgstr "variable de filtro «%s» no reconocida" -#: commands/event_trigger.c:207 +#: commands/event_trigger.c:181 +#, fuzzy, c-format +msgid "tag filtering is not supported for login event triggers" +msgstr "Esta característica no está soportada en tablas «unlogged»." + +#: commands/event_trigger.c:224 #, c-format msgid "filter value \"%s\" not recognized for filter variable \"%s\"" msgstr "el valor de filtro «%s» no es reconocido por la variable de filtro «%s»" #. translator: %s represents an SQL statement name -#: commands/event_trigger.c:213 commands/event_trigger.c:235 +#: commands/event_trigger.c:230 commands/event_trigger.c:252 #, c-format msgid "event triggers are not supported for %s" msgstr "los disparadores por eventos no están soportados para %s" -#: commands/event_trigger.c:248 +#: commands/event_trigger.c:265 #, c-format msgid "filter variable \"%s\" specified more than once" msgstr "la variable de filtro «%s» fue especificada más de una vez" -#: commands/event_trigger.c:376 commands/event_trigger.c:420 -#: commands/event_trigger.c:514 +#: commands/event_trigger.c:435 commands/event_trigger.c:487 +#: commands/event_trigger.c:581 #, c-format msgid "event trigger \"%s\" does not exist" msgstr "no existe el disparador por eventos «%s»" -#: commands/event_trigger.c:452 +#: commands/event_trigger.c:519 #, c-format msgid "event trigger with OID %u does not exist" msgstr "no existe el disparador por eventos con OID %u" -#: commands/event_trigger.c:482 +#: commands/event_trigger.c:549 #, c-format msgid "permission denied to change owner of event trigger \"%s\"" msgstr "se ha denegado el permiso para cambiar el dueño del disparador por eventos «%s»" -#: commands/event_trigger.c:484 +#: commands/event_trigger.c:551 #, c-format msgid "The owner of an event trigger must be a superuser." msgstr "El dueño de un disparador por eventos debe ser un superusuario." -#: commands/event_trigger.c:1304 +#: commands/event_trigger.c:1411 #, 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 disparador en el evento sql_drop" -#: commands/event_trigger.c:1397 commands/event_trigger.c:1418 +#: commands/event_trigger.c:1504 commands/event_trigger.c:1525 #, 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 disparador en el evento table_rewrite" -#: commands/event_trigger.c:1831 +#: commands/event_trigger.c:1938 #, 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 disparador por eventos" -#: commands/explain.c:220 +#: commands/explain.c:241 commands/explain.c:266 #, c-format msgid "unrecognized value for EXPLAIN option \"%s\": \"%s\"" msgstr "valor no reconocido para la opción de EXPLAIN «%s»: «%s»" -#: commands/explain.c:227 +#: commands/explain.c:273 #, c-format msgid "unrecognized EXPLAIN option \"%s\"" msgstr "opción de EXPLAIN «%s» no reconocida" -#: commands/explain.c:236 +#: commands/explain.c:282 #, c-format msgid "EXPLAIN option WAL requires ANALYZE" msgstr "la opción WAL de EXPLAIN requiere ANALYZE" -#: commands/explain.c:245 +#: commands/explain.c:291 #, c-format msgid "EXPLAIN option TIMING requires ANALYZE" msgstr "la opción TIMING de EXPLAIN requiere ANALYZE" -#: commands/explain.c:251 +#: commands/explain.c:297 #, fuzzy, c-format -#| msgid "options -d/--dbname and -f/--file cannot be used together" +msgid "EXPLAIN option SERIALIZE requires ANALYZE" +msgstr "la opción WAL de EXPLAIN requiere ANALYZE" + +#: commands/explain.c:303 +#, c-format msgid "EXPLAIN options ANALYZE and GENERIC_PLAN cannot be used together" -msgstr "las opciones -d/--dbname y -f/--file no pueden usarse juntas" +msgstr "las opciones ANALYZE y GENERIC_PLAN de EXPLAIN no pueden usarse juntas" -#: commands/extension.c:177 commands/extension.c:3009 +#: commands/extension.c:178 commands/extension.c:3031 #, c-format msgid "extension \"%s\" does not exist" msgstr "no existe la extensión «%s»" -#: commands/extension.c:276 commands/extension.c:285 commands/extension.c:297 -#: commands/extension.c:307 +#: commands/extension.c:277 commands/extension.c:286 commands/extension.c:298 +#: commands/extension.c:308 #, c-format msgid "invalid extension name: \"%s\"" msgstr "nombre de extensión no válido: «%s»" -#: commands/extension.c:277 +#: commands/extension.c:278 #, c-format msgid "Extension names must not be empty." msgstr "Los nombres de extensión no deben ser vacíos." -#: commands/extension.c:286 +#: commands/extension.c:287 #, c-format msgid "Extension names must not contain \"--\"." msgstr "Los nombres de extensión no deben contener «--»." -#: commands/extension.c:298 +#: commands/extension.c:299 #, c-format msgid "Extension names must not begin or end with \"-\"." msgstr "Los nombres de extensión no deben empezar ni terminar con «-»." -#: commands/extension.c:308 +#: commands/extension.c:309 #, c-format msgid "Extension names must not contain directory separator characters." msgstr "Los nombres de extensión no deben contener caracteres separadores de directorio." -#: commands/extension.c:323 commands/extension.c:332 commands/extension.c:341 -#: commands/extension.c:351 +#: commands/extension.c:324 commands/extension.c:333 commands/extension.c:342 +#: commands/extension.c:352 #, c-format msgid "invalid extension version name: \"%s\"" msgstr "nombre de versión de extensión no válido: «%s»" -#: commands/extension.c:324 +#: commands/extension.c:325 #, c-format msgid "Version names must not be empty." msgstr "Los nombres de versión no deben ser vacíos." -#: commands/extension.c:333 +#: commands/extension.c:334 #, c-format msgid "Version names must not contain \"--\"." msgstr "Los nombres de versión no deben contener «--»." -#: commands/extension.c:342 +#: commands/extension.c:343 #, c-format msgid "Version names must not begin or end with \"-\"." msgstr "Los nombres de versión no deben empezar ni terminar con «-»." -#: commands/extension.c:352 +#: commands/extension.c:353 #, c-format msgid "Version names must not contain directory separator characters." msgstr "Los nombres de versión no deben contener caracteres separadores de directorio." -#: commands/extension.c:506 -#, fuzzy, c-format -#| msgid "extension \"%s\" does not exist" +#: commands/extension.c:507 +#, c-format msgid "extension \"%s\" is not available" -msgstr "no existe la extensión «%s»" +msgstr "la extensión «%s» no está disponible" -#: commands/extension.c:507 -#, fuzzy, c-format -#| msgid "could not open extension control file \"%s\": %m" +#: commands/extension.c:508 +#, c-format msgid "Could not open extension control file \"%s\": %m." -msgstr "no se pudo abrir el archivo de control de extensión «%s»: %m" +msgstr "No se pudo abrir el archivo de control de extensión «%s»: %m." -#: commands/extension.c:509 +#: commands/extension.c:510 #, c-format msgid "The extension must first be installed on the system where PostgreSQL is running." msgstr "La extensión debe primero ser instalada en el sistema donde PostgreSQL está ejecutándose." -#: commands/extension.c:513 +#: commands/extension.c:514 #, c-format msgid "could not open extension control file \"%s\": %m" msgstr "no se pudo abrir el archivo de control de extensión «%s»: %m" -#: commands/extension.c:536 commands/extension.c:546 +#: commands/extension.c:537 commands/extension.c:547 #, c-format msgid "parameter \"%s\" cannot be set in a secondary extension control file" msgstr "el parámetro «%s» no se puede cambiar en un archivo control secundario de extensión" -#: commands/extension.c:568 commands/extension.c:576 commands/extension.c:584 -#: utils/misc/guc.c:3098 +#: commands/extension.c:569 commands/extension.c:577 commands/extension.c:585 +#: utils/misc/guc.c:3147 #, c-format msgid "parameter \"%s\" requires a Boolean value" msgstr "el parámetro «%s» requiere un valor lógico (booleano)" -#: commands/extension.c:593 +#: commands/extension.c:594 #, c-format msgid "\"%s\" is not a valid encoding name" msgstr "«%s» no es un nombre válido de codificación" -#: commands/extension.c:607 commands/extension.c:622 +#: commands/extension.c:608 commands/extension.c:623 #, c-format msgid "parameter \"%s\" must be a list of extension names" msgstr "el parámetro «%s» debe ser una lista de nombres de extensión" -#: commands/extension.c:629 +#: commands/extension.c:630 #, c-format msgid "unrecognized parameter \"%s\" in file \"%s\"" msgstr "parámetro no reconocido «%s» en el archivo «%s»" -#: commands/extension.c:638 +#: commands/extension.c:639 #, c-format msgid "parameter \"schema\" cannot be specified when \"relocatable\" is true" msgstr "el parámetro «schema» no puede ser especificado cuando «relocatable» es verdadero" -#: commands/extension.c:816 +#: commands/extension.c:817 #, c-format msgid "transaction control statements are not allowed within an extension script" msgstr "las sentencias de control de transacción no están permitidos dentro de un guión de transacción" -#: commands/extension.c:896 +#: commands/extension.c:897 #, c-format msgid "permission denied to create extension \"%s\"" msgstr "se ha denegado el permiso para crear la extensión «%s»" -#: commands/extension.c:899 +#: commands/extension.c:900 #, c-format msgid "Must have CREATE privilege on current database to create this extension." msgstr "Debe tener privilegio CREATE en la base de datos actual para crear esta extensión." -#: commands/extension.c:900 +#: commands/extension.c:901 #, c-format msgid "Must be superuser to create this extension." msgstr "Debe ser superusuario para crear esta extensión." -#: commands/extension.c:904 +#: commands/extension.c:905 #, c-format msgid "permission denied to update extension \"%s\"" msgstr "se ha denegado el permiso para actualizar la extensión «%s»" -#: commands/extension.c:907 +#: commands/extension.c:908 #, c-format msgid "Must have CREATE privilege on current database to update this extension." msgstr "Debe tener privilegio CREATE en la base de datos actual para actualizar esta extensión." -#: commands/extension.c:908 +#: commands/extension.c:909 #, c-format msgid "Must be superuser to update this extension." msgstr "Debe ser superusuario para actualizar esta extensión." -#: commands/extension.c:1265 +#: commands/extension.c:1042 +#, c-format +msgid "invalid character in extension owner: must not contain any of \"%s\"" +msgstr "carácter no válido en dueño de extensión: no debe contener ninguno de «%s»" + +#: commands/extension.c:1066 commands/extension.c:1093 +#, c-format +msgid "invalid character in extension \"%s\" schema: must not contain any of \"%s\"" +msgstr "carácter no válido en esquema de extensión «%s»: no debe contener ninguno de «%s»" + +#: commands/extension.c:1288 #, c-format msgid "extension \"%s\" has no update path from version \"%s\" to version \"%s\"" msgstr "la extensión «%s» no tiene ruta de actualización desde la versión «%s» hasta la versión «%s»" -#: commands/extension.c:1473 commands/extension.c:3067 +#: commands/extension.c:1496 commands/extension.c:3089 #, c-format msgid "version to install must be specified" msgstr "la versión a instalar debe ser especificada" -#: commands/extension.c:1510 +#: commands/extension.c:1533 #, c-format msgid "extension \"%s\" has no installation script nor update path for version \"%s\"" msgstr "la extensión «%s» no tiene script de instalación ni ruta de actualización para la versión «%s»" -#: commands/extension.c:1544 +#: commands/extension.c:1567 #, c-format msgid "extension \"%s\" must be installed in schema \"%s\"" msgstr "la extensión «%s» debe ser instalada en el esquema «%s»" -#: commands/extension.c:1704 +#: commands/extension.c:1727 #, c-format msgid "cyclic dependency detected between extensions \"%s\" and \"%s\"" msgstr "detectada una dependencia cíclica entre las extensiones «%s» y «%s»" -#: commands/extension.c:1709 +#: commands/extension.c:1732 #, c-format msgid "installing required extension \"%s\"" msgstr "instalando la extensión requerida «%s»" -#: commands/extension.c:1732 +#: commands/extension.c:1755 #, c-format msgid "required extension \"%s\" is not installed" msgstr "la extensión requerida «%s» no está instalada" -#: commands/extension.c:1735 +#: commands/extension.c:1758 #, c-format msgid "Use CREATE EXTENSION ... CASCADE to install required extensions too." msgstr "Use CREATE EXTENSION ... CASCADE para instalar además las extensiones requeridas." -#: commands/extension.c:1770 +#: commands/extension.c:1793 #, c-format msgid "extension \"%s\" already exists, skipping" msgstr "la extensión «%s» ya existe, omitiendo" -#: commands/extension.c:1777 +#: commands/extension.c:1800 #, c-format msgid "extension \"%s\" already exists" msgstr "la extensión «%s» ya existe" -#: commands/extension.c:1788 +#: commands/extension.c:1811 #, c-format msgid "nested CREATE EXTENSION is not supported" msgstr "los CREATE EXTENSION anidados no están soportados" -#: commands/extension.c:1952 +#: commands/extension.c:1975 #, c-format msgid "cannot drop extension \"%s\" because it is being modified" msgstr "no se puede eliminar la extensión «%s» porque está siendo modificada" -#: commands/extension.c:2427 +#: commands/extension.c:2450 #, c-format msgid "%s can only be called from an SQL script executed by CREATE EXTENSION" msgstr "%s sólo puede invocarse desde un script SQL ejecutado por CREATE EXTENSION" -#: commands/extension.c:2439 +#: commands/extension.c:2462 #, c-format msgid "OID %u does not refer to a table" msgstr "el OID %u no hace referencia a una tabla" -#: commands/extension.c:2444 +#: commands/extension.c:2467 #, c-format msgid "table \"%s\" is not a member of the extension being created" msgstr "el tabla «%s» no es un miembro de la extensión que se está creando" -#: commands/extension.c:2790 +#: commands/extension.c:2813 #, c-format msgid "cannot move extension \"%s\" into schema \"%s\" because the extension contains the schema" msgstr "no se puede mover la extensión «%s» al esquema «%s» porque la extensión contiene al esquema" -#: commands/extension.c:2831 commands/extension.c:2928 +#: commands/extension.c:2854 commands/extension.c:2948 #, c-format msgid "extension \"%s\" does not support SET SCHEMA" msgstr "la extensión «%s» no soporta SET SCHEMA" -#: commands/extension.c:2885 -#, fuzzy, c-format -#| msgid "cannot drop extension \"%s\" because it is being modified" +#: commands/extension.c:2911 +#, c-format msgid "cannot SET SCHEMA of extension \"%s\" because other extensions prevent it" -msgstr "no se puede eliminar la extensión «%s» porque está siendo modificada" +msgstr "no se puede hacer SET SCHEMA de la extensión «%s» porque otras extensiones lo impiden" -#: commands/extension.c:2887 -#, fuzzy, c-format -#| msgid "relation \"%s\" is not a partition of relation \"%s\"" +#: commands/extension.c:2913 +#, c-format msgid "Extension \"%s\" requests no relocation of extension \"%s\"." -msgstr "relación «%s» no es una partición de la relación «%s»" +msgstr "La extensión «%s» solicita no relocalizar la extensión «%s»." -#: commands/extension.c:2930 +#: commands/extension.c:2950 #, c-format msgid "%s is not in the extension's schema \"%s\"" msgstr "%s no está en el esquema de la extensión, «%s»" -#: commands/extension.c:2989 +#: commands/extension.c:3011 #, c-format msgid "nested ALTER EXTENSION is not supported" msgstr "los ALTER EXTENSION anidados no están soportados" -#: commands/extension.c:3078 +#: commands/extension.c:3100 #, c-format msgid "version \"%s\" of extension \"%s\" is already installed" msgstr "la versión «%s» de la extensión «%s» ya está instalada" -#: commands/extension.c:3290 +#: commands/extension.c:3311 #, c-format msgid "cannot add an object of this type to an extension" msgstr "no se puede añadir un objeto de este tipo a una extensión" -#: commands/extension.c:3356 +#: commands/extension.c:3409 #, c-format msgid "cannot add schema \"%s\" to extension \"%s\" because the schema contains the extension" msgstr "no se puede agregar el esquema «%s» a la extensión «%s» porque el esquema contiene la extensión" -#: commands/extension.c:3450 +#: commands/extension.c:3491 commands/typecmds.c:4042 utils/fmgr/funcapi.c:725 +#, c-format +msgid "could not find multirange type for data type %s" +msgstr "no se pudo encontrar un tipo de multirango para el tipo de dato %s" + +#: commands/extension.c:3532 #, c-format msgid "file \"%s\" is too large" msgstr "el archivo «%s» es demasiado grande" @@ -8301,7 +8669,7 @@ msgstr "Debe ser superusuario para cambiar el dueño de un conector de datos ext msgid "The owner of a foreign-data wrapper must be a superuser." msgstr "El dueño de un conector de datos externos debe ser un superusuario." -#: commands/foreigncmds.c:291 commands/foreigncmds.c:707 foreign/foreign.c:678 +#: commands/foreigncmds.c:291 commands/foreigncmds.c:707 foreign/foreign.c:681 #, c-format msgid "foreign-data wrapper \"%s\" does not exist" msgstr "no existe el conector de datos externos «%s»" @@ -8371,7 +8739,7 @@ msgstr "no existe el mapeo de usuario «%s» para el servidor «%s»" msgid "user mapping for \"%s\" does not exist for server \"%s\", skipping" msgstr "no existe el mapeo de usuario «%s» para el servidor «%s», omitiendo" -#: commands/foreigncmds.c:1507 foreign/foreign.c:391 +#: commands/foreigncmds.c:1507 foreign/foreign.c:394 #, c-format msgid "foreign-data wrapper \"%s\" has no handler" msgstr "el conector de datos externos «%s» no tiene manejador" @@ -8386,920 +8754,923 @@ msgstr "el conector de datos externos «%s» no soporta IMPORT FOREIGN SCHEMA" msgid "importing foreign table \"%s\"" msgstr "importando la tabla foránea «%s»" -#: commands/functioncmds.c:109 +#: commands/functioncmds.c:104 #, c-format msgid "SQL function cannot return shell type %s" msgstr "una función SQL no puede retornar el tipo inconcluso %s" -#: commands/functioncmds.c:114 +#: commands/functioncmds.c:109 #, c-format msgid "return type %s is only a shell" msgstr "el tipo de retorno %s está inconcluso" -#: commands/functioncmds.c:143 parser/parse_type.c:354 +#: commands/functioncmds.c:138 parser/parse_type.c:354 #, c-format msgid "type modifier cannot be specified for shell type \"%s\"" msgstr "no se puede especificar un modificador de tipo para el tipo inconcluso «%s»" -#: commands/functioncmds.c:149 +#: commands/functioncmds.c:144 #, c-format msgid "type \"%s\" is not yet defined" msgstr "el tipo «%s» no ha sido definido aún" -#: commands/functioncmds.c:150 +#: commands/functioncmds.c:145 #, c-format msgid "Creating a shell type definition." msgstr "Creando una definición de tipo inconclusa." -#: commands/functioncmds.c:249 +#: commands/functioncmds.c:244 #, c-format msgid "SQL function cannot accept shell type %s" msgstr "las funciones SQL no pueden aceptar el tipo inconcluso %s" -#: commands/functioncmds.c:255 +#: commands/functioncmds.c:250 #, c-format msgid "aggregate cannot accept shell type %s" msgstr "las funciones de agregación no pueden aceptar el tipo inconcluso %s" -#: commands/functioncmds.c:260 +#: commands/functioncmds.c:255 #, c-format msgid "argument type %s is only a shell" msgstr "el tipo de argumento %s está inconcluso" -#: commands/functioncmds.c:270 +#: commands/functioncmds.c:265 #, c-format msgid "type %s does not exist" msgstr "no existe el tipo %s" -#: commands/functioncmds.c:284 +#: commands/functioncmds.c:279 #, c-format msgid "aggregates cannot accept set arguments" msgstr "las funciones de agregación no pueden aceptar argumentos de conjunto" -#: commands/functioncmds.c:288 +#: commands/functioncmds.c:283 #, c-format msgid "procedures cannot accept set arguments" msgstr "los procedimientos no pueden aceptar argumentos de conjunto" -#: commands/functioncmds.c:292 +#: commands/functioncmds.c:287 #, c-format msgid "functions cannot accept set arguments" msgstr "funciones no pueden aceptar argumentos de conjunto" -#: commands/functioncmds.c:302 +#: commands/functioncmds.c:297 #, c-format msgid "VARIADIC parameter must be the last input parameter" msgstr "el parámetro VARIADIC debe ser el último parámetro de entrada" -#: commands/functioncmds.c:322 +#: commands/functioncmds.c:317 #, c-format msgid "VARIADIC parameter must be the last parameter" msgstr "el parámetro VARIADIC debe ser el último parámetro" -#: commands/functioncmds.c:347 +#: commands/functioncmds.c:342 #, c-format msgid "VARIADIC parameter must be an array" msgstr "el parámetro VARIADIC debe ser un array" -#: commands/functioncmds.c:392 +#: commands/functioncmds.c:387 #, c-format msgid "parameter name \"%s\" used more than once" msgstr "nombre de parámetro «%s» usado más de una vez" -#: commands/functioncmds.c:410 +#: commands/functioncmds.c:405 #, c-format msgid "only input parameters can have default values" msgstr "solo los parámetros de entrada pueden tener valores por omisión" -#: commands/functioncmds.c:425 +#: commands/functioncmds.c:420 #, c-format msgid "cannot use table references in parameter default value" msgstr "no se pueden usar referencias a tablas en el valor por omisión de un parámetro" -#: commands/functioncmds.c:449 +#: commands/functioncmds.c:444 #, c-format msgid "input parameters after one with a default value must also have defaults" msgstr "los parámetros de entrada después de uno que tenga valor por omisión también deben tener valores por omisión" -#: commands/functioncmds.c:459 +#: commands/functioncmds.c:454 #, c-format msgid "procedure OUT parameters cannot appear after one with a default value" msgstr "los parámetros OUT no pueden aparecer después de uno que tenga valor por omisión" -#: commands/functioncmds.c:601 commands/functioncmds.c:780 +#: commands/functioncmds.c:596 commands/functioncmds.c:775 #, c-format msgid "invalid attribute in procedure definition" msgstr "atributo no válido en definición de procedimiento" -#: commands/functioncmds.c:697 +#: commands/functioncmds.c:692 #, c-format msgid "support function %s must return type %s" msgstr "la función de soporte %s debe retornar el tipo %s" -#: commands/functioncmds.c:708 +#: commands/functioncmds.c:703 #, c-format msgid "must be superuser to specify a support function" msgstr "debe ser superusuario para especificar una función de soporte" -#: commands/functioncmds.c:829 commands/functioncmds.c:1432 +#: commands/functioncmds.c:824 commands/functioncmds.c:1427 #, c-format msgid "COST must be positive" msgstr "COST debe ser positivo" -#: commands/functioncmds.c:837 commands/functioncmds.c:1440 +#: commands/functioncmds.c:832 commands/functioncmds.c:1435 #, c-format msgid "ROWS must be positive" msgstr "ROWS debe ser positivo" -#: commands/functioncmds.c:866 +#: commands/functioncmds.c:861 #, c-format msgid "no function body specified" msgstr "no se ha especificado un cuerpo para la función" -#: commands/functioncmds.c:871 +#: commands/functioncmds.c:866 #, c-format msgid "duplicate function body specified" msgstr "se ha especificado por duplicado el cuerpo para la función" -#: commands/functioncmds.c:876 +#: commands/functioncmds.c:871 #, c-format msgid "inline SQL function body only valid for language SQL" msgstr "cuerpo de función SQL en línea solo es válido para lenguaje SQL" -#: commands/functioncmds.c:918 +#: commands/functioncmds.c:913 #, c-format msgid "SQL function with unquoted function body cannot have polymorphic arguments" msgstr "una función SQL con el cuerpo de la función fuera de comillas no puede tener argumentos polimórficos" -#: commands/functioncmds.c:944 commands/functioncmds.c:963 +#: commands/functioncmds.c:939 commands/functioncmds.c:958 #, c-format msgid "%s is not yet supported in unquoted SQL function body" msgstr "%s aún no está soportado en una función SQL con el cuerpo fuera de comillas" -#: commands/functioncmds.c:991 +#: commands/functioncmds.c:986 #, c-format msgid "only one AS item needed for language \"%s\"" msgstr "sólo se requiere un item AS para el lenguaje «%s»" -#: commands/functioncmds.c:1096 +#: commands/functioncmds.c:1091 #, c-format msgid "no language specified" msgstr "no se ha especificado el lenguaje" -#: commands/functioncmds.c:1104 commands/functioncmds.c:2105 -#: commands/proclang.c:237 +#: commands/functioncmds.c:1099 commands/functioncmds.c:2104 +#: commands/proclang.c:235 #, c-format msgid "language \"%s\" does not exist" msgstr "no existe el lenguaje «%s»" -#: commands/functioncmds.c:1106 commands/functioncmds.c:2107 +#: commands/functioncmds.c:1101 commands/functioncmds.c:2106 #, c-format msgid "Use CREATE EXTENSION to load the language into the database." msgstr "Use CREATE EXTENSION para cargar el lenguaje en la base de datos." -#: commands/functioncmds.c:1139 commands/functioncmds.c:1424 +#: commands/functioncmds.c:1134 commands/functioncmds.c:1419 #, c-format msgid "only superuser can define a leakproof function" msgstr "sólo un superusuario puede definir funciones «leakproof»" -#: commands/functioncmds.c:1190 +#: commands/functioncmds.c:1185 #, c-format msgid "function result type must be %s because of OUT parameters" msgstr "tipo de retorno de función debe ser %s debido a los parámetros OUT" -#: commands/functioncmds.c:1203 +#: commands/functioncmds.c:1198 #, c-format msgid "function result type must be specified" msgstr "el tipo de retorno de la función debe ser especificado" -#: commands/functioncmds.c:1256 commands/functioncmds.c:1444 +#: commands/functioncmds.c:1251 commands/functioncmds.c:1439 #, c-format msgid "ROWS is not applicable when function does not return a set" msgstr "ROWS no es aplicable cuando una función no retorna un conjunto" -#: commands/functioncmds.c:1547 +#: commands/functioncmds.c:1546 #, c-format msgid "source data type %s is a pseudo-type" msgstr "el tipo de origen %s es un pseudotipo" -#: commands/functioncmds.c:1553 +#: commands/functioncmds.c:1552 #, c-format msgid "target data type %s is a pseudo-type" msgstr "el tipo de retorno %s es un pseudotipo" -#: commands/functioncmds.c:1577 +#: commands/functioncmds.c:1576 #, c-format msgid "cast will be ignored because the source data type is a domain" msgstr "el cast será ignorado porque el tipo de datos de origen es un dominio" -#: commands/functioncmds.c:1582 +#: commands/functioncmds.c:1581 #, c-format msgid "cast will be ignored because the target data type is a domain" msgstr "el cast será ignorado porque el tipo de datos de destino es un dominio" -#: commands/functioncmds.c:1607 +#: commands/functioncmds.c:1606 #, c-format msgid "cast function must take one to three arguments" msgstr "la función de conversión lleva de uno a tres argumentos" -#: commands/functioncmds.c:1613 +#: commands/functioncmds.c:1612 #, c-format msgid "argument of cast function must match or be binary-coercible from source data type" msgstr "el argumento de la función de conversión debe coincidir o ser binario-convertible con el tipo de origen" -#: commands/functioncmds.c:1617 +#: commands/functioncmds.c:1616 #, c-format msgid "second argument of cast function must be type %s" msgstr "el segundo argumento de la función de conversión debe ser de tipo %s" -#: commands/functioncmds.c:1622 +#: commands/functioncmds.c:1621 #, c-format msgid "third argument of cast function must be type %s" msgstr "el tercer argumento de la función de conversión debe ser de tipo %s" -#: commands/functioncmds.c:1629 +#: commands/functioncmds.c:1628 #, c-format msgid "return data type of cast function must match or be binary-coercible to target data type" msgstr "el tipo de salida de la función de conversión debe coincidir o ser binario-convertible con el tipo de retorno" -#: commands/functioncmds.c:1640 +#: commands/functioncmds.c:1639 #, c-format msgid "cast function must not be volatile" msgstr "la función de conversión no debe ser volatile" -#: commands/functioncmds.c:1645 +#: commands/functioncmds.c:1644 #, c-format msgid "cast function must be a normal function" msgstr "la función de conversión debe ser una función normal" -#: commands/functioncmds.c:1649 +#: commands/functioncmds.c:1648 #, c-format msgid "cast function must not return a set" msgstr "la función de conversión no debe retornar un conjunto" -#: commands/functioncmds.c:1675 +#: commands/functioncmds.c:1674 #, c-format msgid "must be superuser to create a cast WITHOUT FUNCTION" msgstr "debe ser superusuario para crear una conversión sin especificar función" -#: commands/functioncmds.c:1690 +#: commands/functioncmds.c:1689 #, c-format msgid "source and target data types are not physically compatible" msgstr "los tipos de datos de origen y destino no son físicamente compatibles" -#: commands/functioncmds.c:1705 +#: commands/functioncmds.c:1704 #, c-format msgid "composite data types are not binary-compatible" msgstr "los tipos de datos compuestos no son binario-compatibles" -#: commands/functioncmds.c:1711 +#: commands/functioncmds.c:1710 #, c-format msgid "enum data types are not binary-compatible" msgstr "los tipos de datos enum no son binario-compatibles" -#: commands/functioncmds.c:1717 +#: commands/functioncmds.c:1716 #, c-format msgid "array data types are not binary-compatible" msgstr "los tipos de datos de array no son binario-compatibles" -#: commands/functioncmds.c:1734 +#: commands/functioncmds.c:1733 #, c-format msgid "domain data types must not be marked binary-compatible" msgstr "los tipos de dato de dominio no deben ser marcados binario-compatibles" -#: commands/functioncmds.c:1744 +#: commands/functioncmds.c:1743 #, c-format msgid "source data type and target data type are the same" msgstr "el tipo de origen y el tipo de retorno son el mismo" -#: commands/functioncmds.c:1777 +#: commands/functioncmds.c:1776 #, c-format msgid "transform function must not be volatile" msgstr "la función de transformación no debe ser volatile" -#: commands/functioncmds.c:1781 +#: commands/functioncmds.c:1780 #, c-format msgid "transform function must be a normal function" msgstr "la función de transformación debe ser una función normal" -#: commands/functioncmds.c:1785 +#: commands/functioncmds.c:1784 #, c-format msgid "transform function must not return a set" msgstr "la función de transformación no debe retornar un conjunto" -#: commands/functioncmds.c:1789 +#: commands/functioncmds.c:1788 #, c-format msgid "transform function must take one argument" msgstr "la función de transformación debe recibir un argumento" -#: commands/functioncmds.c:1793 +#: commands/functioncmds.c:1792 #, c-format msgid "first argument of transform function must be type %s" msgstr "el primer argumento de la función de transformación debe ser de tipo %s" -#: commands/functioncmds.c:1832 +#: commands/functioncmds.c:1831 #, c-format msgid "data type %s is a pseudo-type" msgstr "el tipo de dato %s es un pseudo-tipo" -#: commands/functioncmds.c:1838 +#: commands/functioncmds.c:1837 #, c-format msgid "data type %s is a domain" msgstr "tipo de dato «%s» es un dominio" -#: commands/functioncmds.c:1878 +#: commands/functioncmds.c:1877 #, c-format msgid "return data type of FROM SQL function must be %s" msgstr "el tipo de dato de retorno de la función FROM SQL debe ser %s" -#: commands/functioncmds.c:1904 +#: commands/functioncmds.c:1903 #, c-format msgid "return data type of TO SQL function must be the transform data type" msgstr "el tipo de dato de retorno de la función TO SQL debe ser el tipo de dato de la transformación" -#: commands/functioncmds.c:1931 +#: commands/functioncmds.c:1930 #, c-format msgid "transform for type %s language \"%s\" already exists" msgstr "la transformación para el tipo %s lenguaje «%s» ya existe" -#: commands/functioncmds.c:2017 +#: commands/functioncmds.c:2016 #, c-format msgid "transform for type %s language \"%s\" does not exist" msgstr "la transformación para el tipo %s lenguaje «%s» no existe" -#: commands/functioncmds.c:2041 +#: commands/functioncmds.c:2040 #, c-format msgid "function %s already exists in schema \"%s\"" msgstr "ya existe una función llamada %s en el esquema «%s»" -#: commands/functioncmds.c:2092 +#: commands/functioncmds.c:2091 #, c-format msgid "no inline code specified" msgstr "no se ha especificado código" -#: commands/functioncmds.c:2138 +#: commands/functioncmds.c:2137 #, c-format msgid "language \"%s\" does not support inline code execution" msgstr "el lenguaje «%s» no soporta ejecución de código en línea" -#: commands/functioncmds.c:2233 +#: commands/functioncmds.c:2232 #, c-format msgid "cannot pass more than %d argument to a procedure" msgid_plural "cannot pass more than %d arguments to a procedure" msgstr[0] "no se pueden pasar más de %d argumento a un procedimiento" msgstr[1] "no se pueden pasar más de %d argumentos a un procedimiento" -#: commands/indexcmds.c:641 +#: commands/indexcmds.c:647 #, c-format msgid "must specify at least one column" msgstr "debe especificar al menos una columna" -#: commands/indexcmds.c:645 +#: commands/indexcmds.c:651 #, c-format msgid "cannot use more than %d columns in an index" msgstr "no se puede usar más de %d columnas en un índice" -#: commands/indexcmds.c:688 -#, fuzzy, c-format -#| msgid "cannot change relation \"%s\"" +#: commands/indexcmds.c:694 +#, c-format msgid "cannot create index on relation \"%s\"" -msgstr "no se puede cambiar la relación «%s»" +msgstr "no se puede crear índice en la relación «%s»" -#: commands/indexcmds.c:714 +#: commands/indexcmds.c:720 #, c-format msgid "cannot create index on partitioned table \"%s\" concurrently" msgstr "no se puede crear un índice en la tabla particionada «%s» concurrentemente" -#: commands/indexcmds.c:719 -#, c-format -msgid "cannot create exclusion constraints on partitioned table \"%s\"" -msgstr "no se pueden create restricciones de exclusión en la tabla particionada «%s»" - -#: commands/indexcmds.c:729 +#: commands/indexcmds.c:730 #, c-format msgid "cannot create indexes on temporary tables of other sessions" msgstr "no se pueden crear índices en tablas temporales de otras sesiones" -#: commands/indexcmds.c:767 commands/tablecmds.c:784 commands/tablespace.c:1184 +#: commands/indexcmds.c:768 commands/tablecmds.c:806 commands/tablespace.c:1178 #, c-format msgid "cannot specify default tablespace for partitioned relations" msgstr "no se puede especificar el tablespace por omisión para las relaciones particionadas" -#: commands/indexcmds.c:799 commands/tablecmds.c:819 commands/tablecmds.c:3409 +#: commands/indexcmds.c:800 commands/tablecmds.c:837 commands/tablecmds.c:3576 #, c-format msgid "only shared relations can be placed in pg_global tablespace" msgstr "sólo relaciones compartidas pueden ser puestas en el tablespace pg_global" -#: commands/indexcmds.c:832 +#: commands/indexcmds.c:833 #, c-format msgid "substituting access method \"gist\" for obsolete method \"rtree\"" msgstr "sustituyendo el método de acceso obsoleto «rtree» por «gist»" -#: commands/indexcmds.c:853 +#: commands/indexcmds.c:854 #, c-format msgid "access method \"%s\" does not support unique indexes" msgstr "el método de acceso «%s» no soporta índices únicos" -#: commands/indexcmds.c:858 +#: commands/indexcmds.c:859 #, c-format msgid "access method \"%s\" does not support included columns" msgstr "el método de acceso «%s» no soporta columnas incluidas" -#: commands/indexcmds.c:863 +#: commands/indexcmds.c:864 #, c-format msgid "access method \"%s\" does not support multicolumn indexes" msgstr "el método de acceso «%s» no soporta índices multicolumna" -#: commands/indexcmds.c:868 +#: commands/indexcmds.c:869 #, c-format msgid "access method \"%s\" does not support exclusion constraints" msgstr "el método de acceso «%s» no soporta restricciones de exclusión" -#: commands/indexcmds.c:995 +#: commands/indexcmds.c:998 #, c-format msgid "cannot match partition key to an index using access method \"%s\"" msgstr "no se puede hacer coincidir la llave de partición a un índice usando el método de acceso «%s»" -#: commands/indexcmds.c:1005 +#: commands/indexcmds.c:1008 #, c-format msgid "unsupported %s constraint with partition key definition" msgstr "restricción %s no soportada con definición de llave de particionamiento" -#: commands/indexcmds.c:1007 +#: commands/indexcmds.c:1010 #, c-format msgid "%s constraints cannot be used when partition keys include expressions." msgstr "No se pueden usar restricciones %s cuando las llaves de particionamiento incluyen expresiones." -#: commands/indexcmds.c:1046 +#: commands/indexcmds.c:1060 +#, fuzzy, c-format +msgid "cannot match partition key to index on column \"%s\" using non-equal operator \"%s\"" +msgstr "no se puede hacer coincidir la llave de partición a un índice usando el método de acceso «%s»" + +#: commands/indexcmds.c:1076 #, c-format msgid "unique constraint on partitioned table must include all partitioning columns" msgstr "las restricciones unique en tablas particionadas deben incluir todas las columnas de particionamiento" -#: commands/indexcmds.c:1047 +#: commands/indexcmds.c:1077 #, c-format msgid "%s constraint on table \"%s\" lacks column \"%s\" which is part of the partition key." msgstr "La restricción %s en la tabla «%s» no incluye la columna «%s» que es parte de la llave de particionamiento." -#: commands/indexcmds.c:1066 commands/indexcmds.c:1085 +#: commands/indexcmds.c:1096 commands/indexcmds.c:1115 #, c-format msgid "index creation on system columns is not supported" msgstr "la creación de índices en columnas de sistema no está soportada" -#: commands/indexcmds.c:1314 tcop/utility.c:1525 +#: commands/indexcmds.c:1345 tcop/utility.c:1515 #, c-format msgid "cannot create unique index on partitioned table \"%s\"" msgstr "no se puede crear un índice único en la tabla particionada «%s»" -#: commands/indexcmds.c:1316 tcop/utility.c:1527 +#: commands/indexcmds.c:1347 tcop/utility.c:1517 #, c-format msgid "Table \"%s\" contains partitions that are foreign tables." msgstr "La tabla «%s» contiene particiones que son tablas foráneas." -#: commands/indexcmds.c:1811 +#: commands/indexcmds.c:1832 #, c-format msgid "functions in index predicate must be marked IMMUTABLE" msgstr "las funciones utilizadas en predicados de índice deben estar marcadas IMMUTABLE" -#: commands/indexcmds.c:1889 parser/parse_utilcmd.c:2513 -#: parser/parse_utilcmd.c:2648 +#: commands/indexcmds.c:1911 parser/parse_utilcmd.c:2494 +#: parser/parse_utilcmd.c:2629 #, c-format msgid "column \"%s\" named in key does not exist" msgstr "no existe la columna «%s» en la llave" -#: commands/indexcmds.c:1913 parser/parse_utilcmd.c:1812 +#: commands/indexcmds.c:1935 parser/parse_utilcmd.c:1782 #, c-format msgid "expressions are not supported in included columns" msgstr "las expresiones no están soportadas en columnas incluidas" -#: commands/indexcmds.c:1954 +#: commands/indexcmds.c:1976 #, c-format msgid "functions in index expression must be marked IMMUTABLE" msgstr "las funciones utilizadas en expresiones de índice deben estar marcadas IMMUTABLE" -#: commands/indexcmds.c:1969 +#: commands/indexcmds.c:1991 #, c-format msgid "including column does not support a collation" msgstr "la columna incluida no permite un ordenamiento (collation)" -#: commands/indexcmds.c:1973 +#: commands/indexcmds.c:1995 #, c-format msgid "including column does not support an operator class" msgstr "la columna incluida no permite una clase de operadores" -#: commands/indexcmds.c:1977 +#: commands/indexcmds.c:1999 #, c-format msgid "including column does not support ASC/DESC options" msgstr "la columna incluida no permite las opciones ASC/DESC" -#: commands/indexcmds.c:1981 +#: commands/indexcmds.c:2003 #, c-format msgid "including column does not support NULLS FIRST/LAST options" msgstr "la columna incluida no permite las opciones NULLS FIRST/LAST" -#: commands/indexcmds.c:2022 +#: commands/indexcmds.c:2046 #, c-format msgid "could not determine which collation to use for index expression" msgstr "no se pudo determinar qué ordenamiento (collation) usar para la expresión de índice" -#: commands/indexcmds.c:2030 commands/tablecmds.c:17497 commands/typecmds.c:807 -#: parser/parse_expr.c:2722 parser/parse_type.c:568 parser/parse_utilcmd.c:3774 -#: utils/adt/misc.c:586 +#: commands/indexcmds.c:2054 commands/tablecmds.c:18090 commands/typecmds.c:811 +#: parser/parse_expr.c:2784 parser/parse_type.c:568 parser/parse_utilcmd.c:3918 +#: utils/adt/misc.c:630 #, c-format msgid "collations are not supported by type %s" msgstr "los ordenamientos (collation) no están soportados por el tipo %s" -#: commands/indexcmds.c:2095 +#: commands/indexcmds.c:2121 #, c-format msgid "operator %s is not commutative" msgstr "el operador %s no es conmutativo" -#: commands/indexcmds.c:2097 +#: commands/indexcmds.c:2123 #, c-format msgid "Only commutative operators can be used in exclusion constraints." msgstr "Sólo operadores conmutativos pueden ser usados en restricciones de exclusión." -#: commands/indexcmds.c:2123 +#: commands/indexcmds.c:2149 #, c-format msgid "operator %s is not a member of operator family \"%s\"" msgstr "el operador %s no es un miembro de la familia de operadores «%s»" -#: commands/indexcmds.c:2126 +#: commands/indexcmds.c:2152 #, c-format msgid "The exclusion operator must be related to the index operator class for the constraint." msgstr "El operador de exclusión debe estar relacionado con la clase de operadores del índice para la restricción." -#: commands/indexcmds.c:2161 +#: commands/indexcmds.c:2187 #, c-format msgid "access method \"%s\" does not support ASC/DESC options" msgstr "el método de acceso «%s» no soporta las opciones ASC/DESC" -#: commands/indexcmds.c:2166 +#: commands/indexcmds.c:2192 #, c-format msgid "access method \"%s\" does not support NULLS FIRST/LAST options" msgstr "el método de acceso «%s» no soporta las opciones NULLS FIRST/LAST" -#: commands/indexcmds.c:2212 commands/tablecmds.c:17522 -#: commands/tablecmds.c:17528 commands/typecmds.c:2301 +#: commands/indexcmds.c:2236 commands/tablecmds.c:18115 +#: commands/tablecmds.c:18121 commands/typecmds.c:2311 #, c-format msgid "data type %s has no default operator class for access method \"%s\"" msgstr "el tipo de dato %s no tiene una clase de operadores por omisión para el método de acceso «%s»" -#: commands/indexcmds.c:2214 +#: commands/indexcmds.c:2238 #, c-format msgid "You must specify an operator class for the index or define a default operator class for the data type." msgstr "Debe especificar una clase de operadores para el índice, o definir una clase de operadores por omisión para el tipo de datos." -#: commands/indexcmds.c:2243 commands/indexcmds.c:2251 -#: commands/opclasscmds.c:205 +#: commands/indexcmds.c:2267 commands/indexcmds.c:2275 +#: commands/opclasscmds.c:204 #, c-format msgid "operator class \"%s\" does not exist for access method \"%s\"" msgstr "no existe la clase de operadores «%s» para el método de acceso «%s»" -#: commands/indexcmds.c:2265 commands/typecmds.c:2289 +#: commands/indexcmds.c:2289 commands/typecmds.c:2299 #, c-format msgid "operator class \"%s\" does not accept data type %s" msgstr "la clase de operadores «%s» no acepta el tipo de datos %s" -#: commands/indexcmds.c:2355 +#: commands/indexcmds.c:2379 #, c-format msgid "there are multiple default operator classes for data type %s" msgstr "hay múltiples clases de operadores por omisión para el tipo de datos %s" -#: commands/indexcmds.c:2683 +#: commands/indexcmds.c:2707 #, c-format msgid "unrecognized REINDEX option \"%s\"" msgstr "opción de REINDEX «%s» no reconocida" -#: commands/indexcmds.c:2910 +#: commands/indexcmds.c:2939 #, c-format msgid "table \"%s\" has no indexes that can be reindexed concurrently" msgstr "la tabla «%s» no tiene índices que puedan ser reindexados concurrentemente" -#: commands/indexcmds.c:2924 +#: commands/indexcmds.c:2953 #, c-format msgid "table \"%s\" has no indexes to reindex" msgstr "la tabla «%s» no tiene índices para reindexar" -#: commands/indexcmds.c:2969 commands/indexcmds.c:3484 -#: commands/indexcmds.c:3612 +#: commands/indexcmds.c:3000 commands/indexcmds.c:3511 +#: commands/indexcmds.c:3641 #, c-format msgid "cannot reindex system catalogs concurrently" msgstr "no se pueden reindexar catálogos de sistema concurrentemente" -#: commands/indexcmds.c:2993 +#: commands/indexcmds.c:3024 #, c-format msgid "can only reindex the currently open database" msgstr "sólo se puede reindexar la base de datos actualmente abierta" -#: commands/indexcmds.c:3091 +#: commands/indexcmds.c:3116 #, c-format msgid "cannot reindex system catalogs concurrently, skipping all" msgstr "no se puede reindexar un catálogo de sistema concurrentemente, omitiéndolos todos" -#: commands/indexcmds.c:3124 +#: commands/indexcmds.c:3149 #, c-format msgid "cannot move system relations, skipping all" msgstr "no se puede mover las relaciones de sistema, omitiendo todas" -#: commands/indexcmds.c:3170 +#: commands/indexcmds.c:3195 #, c-format msgid "while reindexing partitioned table \"%s.%s\"" msgstr "al reindexar tabla particionada «%s.%s»" -#: commands/indexcmds.c:3173 +#: commands/indexcmds.c:3198 #, c-format msgid "while reindexing partitioned index \"%s.%s\"" msgstr "al reindexar índice particionado «%s.%s»" -#: commands/indexcmds.c:3364 commands/indexcmds.c:4220 +#: commands/indexcmds.c:3391 commands/indexcmds.c:4259 #, c-format msgid "table \"%s.%s\" was reindexed" msgstr "la tabla «%s.%s» fue reindexada" -#: commands/indexcmds.c:3516 commands/indexcmds.c:3568 -#, c-format -msgid "cannot reindex invalid index \"%s.%s\" concurrently, skipping" -msgstr "no se puede reindexar el índice no válido «%s.%s» concurrentemente, omitiendo" +#: commands/indexcmds.c:3543 commands/indexcmds.c:3596 +#, fuzzy, c-format +msgid "skipping reindex of invalid index \"%s.%s\"" +msgstr "al reindexar índice particionado «%s.%s»" -#: commands/indexcmds.c:3522 +#: commands/indexcmds.c:3546 commands/indexcmds.c:3599 +#, fuzzy, c-format +msgid "Use DROP INDEX or REINDEX INDEX." +msgstr "Use DROP INDEX para eliminar un índice." + +#: commands/indexcmds.c:3550 #, c-format msgid "cannot reindex exclusion constraint index \"%s.%s\" concurrently, skipping" msgstr "no se puede reindexar el índice de restricción de exclusión «%s.%s» concurrentemente, omitiendo" -#: commands/indexcmds.c:3677 +#: commands/indexcmds.c:3706 #, c-format msgid "cannot reindex this type of relation concurrently" msgstr "no se puede reindexar este tipo de relación concurrentemente" -#: commands/indexcmds.c:3698 +#: commands/indexcmds.c:3724 #, c-format msgid "cannot move non-shared relation to tablespace \"%s\"" msgstr "no se puede mover relación no compartida al tablespace «%s»" -#: commands/indexcmds.c:4201 commands/indexcmds.c:4213 +#: commands/indexcmds.c:4240 commands/indexcmds.c:4252 #, c-format msgid "index \"%s.%s\" was reindexed" msgstr "el índice «%s.%s» fue reindexado" -#: commands/indexcmds.c:4203 commands/indexcmds.c:4222 +#: commands/indexcmds.c:4242 commands/indexcmds.c:4261 #, c-format msgid "%s." msgstr "%s." -#: commands/lockcmds.c:93 -#, fuzzy, c-format -#| msgid "cannot lock rows in relation \"%s\"" +#: commands/lockcmds.c:91 +#, c-format msgid "cannot lock relation \"%s\"" -msgstr "no se puede bloquear registros en la tabla «%s»" +msgstr "no se puede bloquear la relación «%s»" -#: commands/matview.c:194 +#: commands/matview.c:206 #, c-format msgid "CONCURRENTLY cannot be used when the materialized view is not populated" msgstr "no se puede usar CONCURRENTLY cuando la vista materializada no contiene datos" -#: commands/matview.c:200 gram.y:18307 +#: commands/matview.c:212 gram.y:18967 #, c-format msgid "%s and %s options cannot be used together" msgstr "las opciones %s y %s no pueden usarse juntas" -#: commands/matview.c:257 +#: commands/matview.c:269 #, c-format msgid "cannot refresh materialized view \"%s\" concurrently" msgstr "no se puede refrescar la vista materializada «%s» concurrentemente" -#: commands/matview.c:260 +#: commands/matview.c:272 #, c-format msgid "Create a unique index with no WHERE clause on one or more columns of the materialized view." msgstr "Cree un índice único sin cláusula WHERE en una o más columnas de la vista materializada." -#: commands/matview.c:654 +#: commands/matview.c:666 #, c-format msgid "new data for materialized view \"%s\" contains duplicate rows without any null columns" msgstr "nuevos datos para la vista materializada «%s» contiene filas duplicadas sin columnas nulas" -#: commands/matview.c:656 +#: commands/matview.c:668 #, c-format msgid "Row: %s" msgstr "Fila: %s" -#: commands/opclasscmds.c:124 +#: commands/opclasscmds.c:123 #, c-format msgid "operator family \"%s\" does not exist for access method \"%s\"" msgstr "no existe la familia de operadores «%s» para el método de acceso «%s»" -#: commands/opclasscmds.c:267 +#: commands/opclasscmds.c:266 #, c-format msgid "operator family \"%s\" for access method \"%s\" already exists" msgstr "ya exista una familia de operadores «%s» para el método de acceso «%s»" -#: commands/opclasscmds.c:416 +#: commands/opclasscmds.c:415 #, c-format msgid "must be superuser to create an operator class" msgstr "debe ser superusuario para crear una clase de operadores" -#: commands/opclasscmds.c:493 commands/opclasscmds.c:910 -#: commands/opclasscmds.c:1056 +#: commands/opclasscmds.c:492 commands/opclasscmds.c:909 +#: commands/opclasscmds.c:1055 #, c-format msgid "invalid operator number %d, must be between 1 and %d" msgstr "el número de operador %d es incorrecto, debe estar entre 1 y %d" -#: commands/opclasscmds.c:538 commands/opclasscmds.c:960 -#: commands/opclasscmds.c:1072 +#: commands/opclasscmds.c:537 commands/opclasscmds.c:959 +#: commands/opclasscmds.c:1071 #, c-format msgid "invalid function number %d, must be between 1 and %d" msgstr "número de función %d no válido, debe estar entre 1 y %d" -#: commands/opclasscmds.c:567 +#: commands/opclasscmds.c:566 #, c-format msgid "storage type specified more than once" msgstr "el tipo de almacenamiento fue especificado más de una vez" -#: commands/opclasscmds.c:594 +#: commands/opclasscmds.c:593 #, c-format msgid "storage type cannot be different from data type for access method \"%s\"" msgstr "el tipo de almacenamiento no puede ser diferente del tipo de dato para el método de acceso «%s»" -#: commands/opclasscmds.c:610 +#: commands/opclasscmds.c:609 #, c-format msgid "operator class \"%s\" for access method \"%s\" already exists" msgstr "ya exista una clase de operadores «%s» para el método de acceso «%s»" -#: commands/opclasscmds.c:638 +#: commands/opclasscmds.c:637 #, c-format msgid "could not make operator class \"%s\" be default for type %s" msgstr "no se pudo hacer que «%s» sea la clase de operadores por omisión para el tipo %s" -#: commands/opclasscmds.c:641 +#: commands/opclasscmds.c:640 #, c-format msgid "Operator class \"%s\" already is the default." msgstr "Actualmente, «%s» es la clase de operadores por omisión." -#: commands/opclasscmds.c:801 +#: commands/opclasscmds.c:800 #, c-format msgid "must be superuser to create an operator family" msgstr "debe ser superusuario para crear una familia de operadores" -#: commands/opclasscmds.c:861 +#: commands/opclasscmds.c:860 #, c-format msgid "must be superuser to alter an operator family" msgstr "debe ser superusuario para alterar una familia de operadores" -#: commands/opclasscmds.c:919 +#: commands/opclasscmds.c:918 #, c-format msgid "operator argument types must be specified in ALTER OPERATOR FAMILY" msgstr "los tipos de los argumentos de operador deben ser especificados en ALTER OPERATOR FAMILY" -#: commands/opclasscmds.c:994 +#: commands/opclasscmds.c:993 #, c-format msgid "STORAGE cannot be specified in ALTER OPERATOR FAMILY" msgstr "STORAGE no puede ser especificado en ALTER OPERATOR FAMILY" -#: commands/opclasscmds.c:1128 +#: commands/opclasscmds.c:1127 #, c-format msgid "one or two argument types must be specified" msgstr "uno o dos tipos de argumento debe/n ser especificado" -#: commands/opclasscmds.c:1154 +#: commands/opclasscmds.c:1153 #, c-format msgid "index operators must be binary" msgstr "los operadores de índice deben ser binarios" -#: commands/opclasscmds.c:1173 +#: commands/opclasscmds.c:1172 #, c-format msgid "access method \"%s\" does not support ordering operators" msgstr "el método de acceso «%s» no soporta operadores de ordenamiento" -#: commands/opclasscmds.c:1184 +#: commands/opclasscmds.c:1183 #, c-format msgid "index search operators must return boolean" msgstr "los operadores de búsqueda en índices deben retornar boolean" -#: commands/opclasscmds.c:1224 +#: commands/opclasscmds.c:1223 #, c-format msgid "associated data types for operator class options parsing functions must match opclass input type" msgstr "los tipos de dato asociados a las funciones de interpretación de opciones de la clase de operadores deben coincidir exactamente con el tipo de entrada de la clase de operadores" -#: commands/opclasscmds.c:1231 +#: commands/opclasscmds.c:1230 #, c-format msgid "left and right associated data types for operator class options parsing functions must match" msgstr "los tipos de dato izquierdo y derecho asociados a las funciones de interpretación de opciones de la clase de operadores deben coincidir" -#: commands/opclasscmds.c:1239 +#: commands/opclasscmds.c:1238 #, c-format msgid "invalid operator class options parsing function" msgstr "función de interpretación de opciones de la clase de operadores no válida" -#: commands/opclasscmds.c:1240 +#: commands/opclasscmds.c:1239 #, c-format msgid "Valid signature of operator class options parsing function is %s." msgstr "La signatura válida para la función de interpretación de opciones de una clase de operadores es '%s'." -#: commands/opclasscmds.c:1259 +#: commands/opclasscmds.c:1258 #, c-format msgid "btree comparison functions must have two arguments" msgstr "las funciones de comparación btree deben tener dos argumentos" -#: commands/opclasscmds.c:1263 +#: commands/opclasscmds.c:1262 #, c-format msgid "btree comparison functions must return integer" msgstr "las funciones de comparación btree deben retornar entero" -#: commands/opclasscmds.c:1280 +#: commands/opclasscmds.c:1279 #, c-format msgid "btree sort support functions must accept type \"internal\"" msgstr "las funciones btree de soporte de ordenamiento deben aceptar tipo «internal»" -#: commands/opclasscmds.c:1284 +#: commands/opclasscmds.c:1283 #, c-format msgid "btree sort support functions must return void" msgstr "las funciones btree de soporte de ordenamiento deben retornar void" -#: commands/opclasscmds.c:1295 +#: commands/opclasscmds.c:1294 #, c-format msgid "btree in_range functions must have five arguments" msgstr "las funciones btree in_range deben tener cinco argumentos" -#: commands/opclasscmds.c:1299 +#: commands/opclasscmds.c:1298 #, c-format msgid "btree in_range functions must return boolean" msgstr "las funciones btree in_range deben retornar booleano" -#: commands/opclasscmds.c:1315 +#: commands/opclasscmds.c:1314 #, c-format msgid "btree equal image functions must have one argument" msgstr "las funciones btree de igualdad de imagen deben tener un argumento" -#: commands/opclasscmds.c:1319 +#: commands/opclasscmds.c:1318 #, c-format msgid "btree equal image functions must return boolean" msgstr "las funciones btree de igualdad de imagen deben retornar booleano" -#: commands/opclasscmds.c:1332 +#: commands/opclasscmds.c:1331 #, c-format msgid "btree equal image functions must not be cross-type" msgstr "las funciones btree de igualdad de imagen no deben ser entre distintos tipos" -#: commands/opclasscmds.c:1342 +#: commands/opclasscmds.c:1341 #, c-format msgid "hash function 1 must have one argument" msgstr "la función de hash 1 debe tener un argumento" -#: commands/opclasscmds.c:1346 +#: commands/opclasscmds.c:1345 #, c-format msgid "hash function 1 must return integer" msgstr "la función de hash 1 debe retornar integer" -#: commands/opclasscmds.c:1353 +#: commands/opclasscmds.c:1352 #, c-format msgid "hash function 2 must have two arguments" msgstr "la función de hash 2 debe tener dos argumentos" -#: commands/opclasscmds.c:1357 +#: commands/opclasscmds.c:1356 #, c-format msgid "hash function 2 must return bigint" msgstr "la función de hash 2 debe retornar bigint" -#: commands/opclasscmds.c:1382 +#: commands/opclasscmds.c:1381 #, c-format msgid "associated data types must be specified for index support function" msgstr "los tipos de datos asociados deben ser especificados para una función de soporte de índice" -#: commands/opclasscmds.c:1407 +#: commands/opclasscmds.c:1406 #, c-format msgid "function number %d for (%s,%s) appears more than once" msgstr "la función número %d para (%s,%s) aparece más de una vez" -#: commands/opclasscmds.c:1414 +#: commands/opclasscmds.c:1413 #, c-format msgid "operator number %d for (%s,%s) appears more than once" msgstr "el número de operador %d para (%s,%s) aparece más de una vez" -#: commands/opclasscmds.c:1460 +#: commands/opclasscmds.c:1459 #, c-format msgid "operator %d(%s,%s) already exists in operator family \"%s\"" msgstr "ya existe un operador %d(%s,%s) en la familia de operadores «%s»" -#: commands/opclasscmds.c:1566 +#: commands/opclasscmds.c:1565 #, c-format msgid "function %d(%s,%s) already exists in operator family \"%s\"" msgstr "ya existe una función %d(%s,%s) en la familia de operador «%s»" -#: commands/opclasscmds.c:1647 +#: commands/opclasscmds.c:1646 #, c-format msgid "operator %d(%s,%s) does not exist in operator family \"%s\"" msgstr "no existe el operador %d(%s,%s) en la familia de operadores «%s»" -#: commands/opclasscmds.c:1687 +#: commands/opclasscmds.c:1686 #, c-format msgid "function %d(%s,%s) does not exist in operator family \"%s\"" msgstr "no existe la función %d(%s,%s) en la familia de operadores «%s»" -#: commands/opclasscmds.c:1718 +#: commands/opclasscmds.c:1717 #, c-format msgid "operator class \"%s\" for access method \"%s\" already exists in schema \"%s\"" msgstr "ya existe una clase de operadores «%s» para el método de acceso «%s» en el esquema «%s»" -#: commands/opclasscmds.c:1741 +#: commands/opclasscmds.c:1740 #, c-format msgid "operator family \"%s\" for access method \"%s\" already exists in schema \"%s\"" msgstr "ya existe una familia de operadores «%s» para el método de acceso «%s» en el esquema «%s»" @@ -9309,7 +9680,7 @@ msgstr "ya existe una familia de operadores «%s» para el método de acceso «% msgid "SETOF type not allowed for operator argument" msgstr "no se permite un tipo SETOF en los argumentos de un operador" -#: commands/operatorcmds.c:154 commands/operatorcmds.c:481 +#: commands/operatorcmds.c:154 commands/operatorcmds.c:554 #, c-format msgid "operator attribute \"%s\" not recognized" msgstr "el atributo de operador «%s» no es reconocido" @@ -9349,53 +9720,70 @@ msgstr "la función de estimación de join %s tiene múltiples coincidencias" msgid "join estimator function %s must return type %s" msgstr "la función de estimación de join %s debe retornar tipo %s" -#: commands/operatorcmds.c:475 +#: commands/operatorcmds.c:388 parser/parse_oper.c:119 parser/parse_oper.c:637 +#: utils/adt/regproc.c:509 utils/adt/regproc.c:683 +#, c-format +msgid "operator does not exist: %s" +msgstr "el operador no existe: %s" + +#: commands/operatorcmds.c:396 parser/parse_oper.c:702 parser/parse_oper.c:815 +#, c-format +msgid "operator is only a shell: %s" +msgstr "el operador está inconcluso: %s" + +#: commands/operatorcmds.c:548 #, c-format msgid "operator attribute \"%s\" cannot be changed" msgstr "el atributo de operador «%s» no puede ser cambiado" -#: commands/policy.c:89 commands/policy.c:382 commands/statscmds.c:149 -#: commands/tablecmds.c:1616 commands/tablecmds.c:2219 -#: commands/tablecmds.c:3520 commands/tablecmds.c:6369 -#: commands/tablecmds.c:9181 commands/tablecmds.c:17090 -#: commands/tablecmds.c:17125 commands/trigger.c:323 commands/trigger.c:1339 -#: commands/trigger.c:1449 rewrite/rewriteDefine.c:275 -#: rewrite/rewriteDefine.c:786 rewrite/rewriteRemove.c:80 +#: commands/operatorcmds.c:615 commands/operatorcmds.c:622 +#: commands/operatorcmds.c:628 commands/operatorcmds.c:634 +#, fuzzy, c-format +msgid "operator attribute \"%s\" cannot be changed if it has already been set" +msgstr "el atributo de operador «%s» no puede ser cambiado" + +#: commands/policy.c:86 commands/policy.c:379 commands/statscmds.c:146 +#: commands/tablecmds.c:1728 commands/tablecmds.c:2328 +#: commands/tablecmds.c:3687 commands/tablecmds.c:6625 +#: commands/tablecmds.c:9657 commands/tablecmds.c:17677 +#: commands/tablecmds.c:17712 commands/trigger.c:316 commands/trigger.c:1332 +#: commands/trigger.c:1442 rewrite/rewriteDefine.c:268 +#: rewrite/rewriteDefine.c:779 rewrite/rewriteRemove.c:74 #, c-format msgid "permission denied: \"%s\" is a system catalog" msgstr "permiso denegado: «%s» es un catálogo de sistema" -#: commands/policy.c:172 +#: commands/policy.c:169 #, c-format msgid "ignoring specified roles other than PUBLIC" msgstr "ignorando los roles especificados que no son PUBLIC" -#: commands/policy.c:173 +#: commands/policy.c:170 #, c-format msgid "All roles are members of the PUBLIC role." msgstr "Todos los roles son miembros del rol PUBLIC." -#: commands/policy.c:606 +#: commands/policy.c:603 #, c-format msgid "WITH CHECK cannot be applied to SELECT or DELETE" msgstr "WITH CHECK no puede ser aplicado a SELECT o DELETE" -#: commands/policy.c:615 commands/policy.c:918 +#: commands/policy.c:612 commands/policy.c:915 #, c-format msgid "only WITH CHECK expression allowed for INSERT" msgstr "sólo se permite una expresión WITH CHECK para INSERT" -#: commands/policy.c:689 commands/policy.c:1141 +#: commands/policy.c:686 commands/policy.c:1138 #, c-format msgid "policy \"%s\" for table \"%s\" already exists" msgstr "la política «%s» para la tabla «%s» ya existe" -#: commands/policy.c:890 commands/policy.c:1169 commands/policy.c:1240 +#: commands/policy.c:887 commands/policy.c:1166 commands/policy.c:1237 #, c-format msgid "policy \"%s\" for table \"%s\" does not exist" msgstr "no existe la política «%s» para la tabla «%s»" -#: commands/policy.c:908 +#: commands/policy.c:905 #, c-format msgid "only USING expression allowed for SELECT, DELETE" msgstr "sólo se permite una expresión USING para SELECT, DELETE" @@ -9411,270 +9799,244 @@ msgid "cannot create a cursor WITH HOLD within security-restricted operation" msgstr "no se puede crear un cursor WITH HOLD dentro de una operación restringida por seguridad" #: commands/portalcmds.c:189 commands/portalcmds.c:242 -#: executor/execCurrent.c:70 utils/adt/xml.c:2844 utils/adt/xml.c:3014 +#: executor/execCurrent.c:70 utils/adt/xml.c:2915 utils/adt/xml.c:3085 #, c-format msgid "cursor \"%s\" does not exist" msgstr "no existe el cursor «%s»" -#: commands/prepare.c:75 +#: commands/prepare.c:72 #, c-format msgid "invalid statement name: must not be empty" msgstr "el nombre de sentencia no es válido: no debe ser vacío" -#: commands/prepare.c:230 commands/prepare.c:235 +#: commands/prepare.c:227 commands/prepare.c:232 #, c-format msgid "prepared statement is not a SELECT" msgstr "la sentencia preparada no es un SELECT" -#: commands/prepare.c:295 +#: commands/prepare.c:292 #, c-format msgid "wrong number of parameters for prepared statement \"%s\"" msgstr "el número de parámetros es incorrecto en la sentencia preparada «%s»" -#: commands/prepare.c:297 +#: commands/prepare.c:294 #, c-format msgid "Expected %d parameters but got %d." msgstr "Se esperaban %d parámetros pero se obtuvieron %d." -#: commands/prepare.c:330 +#: commands/prepare.c:327 #, c-format msgid "parameter $%d of type %s cannot be coerced to the expected type %s" msgstr "el parámetro $%d de tipo %s no puede ser convertido al tipo esperado %s" -#: commands/prepare.c:414 +#: commands/prepare.c:411 #, c-format msgid "prepared statement \"%s\" already exists" msgstr "la sentencia preparada «%s» ya existe" -#: commands/prepare.c:453 +#: commands/prepare.c:450 #, c-format msgid "prepared statement \"%s\" does not exist" msgstr "no existe la sentencia preparada «%s»" -#: commands/proclang.c:68 +#: commands/proclang.c:66 #, c-format msgid "must be superuser to create custom procedural language" msgstr "debe ser superusuario para crear un lenguaje procedural personalizado" -#: commands/publicationcmds.c:131 postmaster/postmaster.c:1205 -#: postmaster/postmaster.c:1303 storage/file/fd.c:3861 -#: utils/init/miscinit.c:1815 +#: commands/publicationcmds.c:124 postmaster/postmaster.c:1108 +#: postmaster/postmaster.c:1210 utils/init/miscinit.c:1811 #, 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:150 -#, fuzzy, c-format -#| msgid "unrecognized value for EXPLAIN option \"%s\": \"%s\"" +#: commands/publicationcmds.c:143 +#, c-format msgid "unrecognized value for publication option \"%s\": \"%s\"" -msgstr "valor no reconocido para la opción de EXPLAIN «%s»: «%s»" +msgstr "valor no reconocido para la opción de publicación «%s»: «%s»" -#: commands/publicationcmds.c:164 +#: commands/publicationcmds.c:157 #, c-format msgid "unrecognized publication parameter: \"%s\"" msgstr "parámetro de publicación no reconocido: «%s»" -#: commands/publicationcmds.c:205 -#, fuzzy, c-format -#| msgid "no schema has been selected to create in" +#: commands/publicationcmds.c:198 +#, c-format msgid "no schema has been selected for CURRENT_SCHEMA" -msgstr "no se ha seleccionado ningún esquema dentro del cual crear" +msgstr "no se ha seleccionado ningún esquema para CURRENT_SCHEMA" -#: commands/publicationcmds.c:502 -#, fuzzy -#| msgid "System catalog modifications are currently disallowed." +#: commands/publicationcmds.c:495 msgid "System columns are not allowed." -msgstr "Las modificaciones al catálogo del sistema están actualmente deshabilitadas." +msgstr "Las columnas de sistema no son permitidas." -#: commands/publicationcmds.c:509 commands/publicationcmds.c:514 -#: commands/publicationcmds.c:531 -#, fuzzy -#| msgid "grouping operations are not allowed in %s" +#: commands/publicationcmds.c:502 commands/publicationcmds.c:507 +#: commands/publicationcmds.c:524 msgid "User-defined operators are not allowed." -msgstr "no se permiten operaciones «grouping» en %s" +msgstr "Los operadores definidos por el usuario no están permitidos." -#: commands/publicationcmds.c:555 +#: commands/publicationcmds.c:548 msgid "Only columns, constants, built-in operators, built-in data types, built-in collations, and immutable built-in functions are allowed." -msgstr "" +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:567 -#, fuzzy -#| msgid "set-returning functions are not allowed in %s" +#: commands/publicationcmds.c:560 msgid "User-defined types are not allowed." -msgstr "no se permiten funciones que retornan conjuntos en %s" +msgstr "Los tipos definidos por el usuario no están permitidos." -#: commands/publicationcmds.c:570 -#, fuzzy -#| msgid "set-returning functions are not allowed in %s" +#: commands/publicationcmds.c:563 msgid "User-defined or built-in mutable functions are not allowed." -msgstr "no se permiten funciones que retornan conjuntos en %s" +msgstr "Las funciones definidas por el usuario, o las que son mutables, no están permitidas." -#: commands/publicationcmds.c:573 -#, fuzzy -#| msgid "set-returning functions are not allowed in %s" +#: commands/publicationcmds.c:566 msgid "User-defined collations are not allowed." -msgstr "no se permiten funciones que retornan conjuntos en %s" +msgstr "Los «collations» definidos por el usuario no están permitidos." -#: commands/publicationcmds.c:583 -#, fuzzy, c-format -#| msgid "invalid publication_names syntax" +#: commands/publicationcmds.c:576 +#, c-format msgid "invalid publication WHERE expression" -msgstr "sintaxis de publication_names no válida" +msgstr "sintaxis de cláusula WHERE de publicación no válida" -#: commands/publicationcmds.c:636 -#, fuzzy, c-format -#| msgid "cannot alter constraint \"%s\" on relation \"%s\"" +#: commands/publicationcmds.c:629 +#, c-format msgid "cannot use publication WHERE clause for relation \"%s\"" -msgstr "no se puede modificar la restricción «%s» en la relación «%s»" +msgstr "no se puede usar cláusula WHERE de la publicación para la relación «%s»" -#: commands/publicationcmds.c:638 +#: commands/publicationcmds.c:631 #, c-format msgid "WHERE clause cannot be used for a partitioned table when %s is false." -msgstr "" +msgstr "la cláusula WHERE no puede ser usada para una tabla particionada cuando %s es falso." -#: commands/publicationcmds.c:709 commands/publicationcmds.c:723 -#, fuzzy, c-format -#| msgid "cannot alter constraint \"%s\" on relation \"%s\"" +#: commands/publicationcmds.c:702 commands/publicationcmds.c:716 +#, c-format msgid "cannot use column list for relation \"%s.%s\" in publication \"%s\"" -msgstr "no se puede modificar la restricción «%s» en la relación «%s»" +msgstr "no se puede usar lista de columnas para la relación «%s.%s» en la publicación «%s»" -#: commands/publicationcmds.c:712 +#: commands/publicationcmds.c:705 #, c-format msgid "Column lists cannot be specified in publications containing FOR TABLES IN SCHEMA elements." -msgstr "" +msgstr "Las listas de columnas no pueden ser especificadas en publicaciones que contienen elementos FOR TABLES IN SCHEMA." -#: commands/publicationcmds.c:726 +#: commands/publicationcmds.c:719 #, c-format msgid "Column lists cannot be specified for partitioned tables when %s is false." -msgstr "" +msgstr "Las listas de columnas no pueden ser especificadas para tablas particionadas cuando %s es falso." -#: commands/publicationcmds.c:761 +#: commands/publicationcmds.c:754 #, 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:832 -#, fuzzy, c-format -#| msgid "must be superuser to create FOR ALL TABLES publication" +#: commands/publicationcmds.c:825 +#, c-format msgid "must be superuser to create FOR TABLES IN SCHEMA publication" -msgstr "debe ser superusuario para crear publicaciones FOR ALL TABLES" +msgstr "debe ser superusuario para crear publicaciones FOR TABLES IN SCHEMA" -#: commands/publicationcmds.c:868 +#: commands/publicationcmds.c:861 #, c-format -msgid "wal_level is insufficient to publish logical changes" -msgstr "wal_level es insuficiente para publicar cambios lógicos" +msgid "\"wal_level\" is insufficient to publish logical changes" +msgstr "«wal_level» es insuficiente para publicar cambios lógicos" -#: commands/publicationcmds.c:869 -#, fuzzy, c-format -#| msgid "Change wal_level to be logical or higher." -msgid "Set wal_level to \"logical\" before creating subscriptions." -msgstr "Cambie wal_level a logical o superior." +#: commands/publicationcmds.c:862 +#, c-format +msgid "Set \"wal_level\" to \"logical\" before creating subscriptions." +msgstr "Cambie «wal_level» a «logical» antes de crear suscripciones." -#: commands/publicationcmds.c:965 commands/publicationcmds.c:973 -#, fuzzy, c-format -#| msgid "cannot set parameter \"%s\" within security-definer function" +#: commands/publicationcmds.c:958 commands/publicationcmds.c:966 +#, c-format msgid "cannot set parameter \"%s\" to false for publication \"%s\"" -msgstr "no se puede definir el parámetro «%s» dentro una función security-definer" +msgstr "no se puede definir el parámetro «%s» a falso para la publicación «%s»" -#: commands/publicationcmds.c:968 +#: commands/publicationcmds.c:961 #, 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:976 +#: commands/publicationcmds.c:969 #, 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:1299 -#, fuzzy, c-format -#| msgid "cannot add schema \"%s\" to publication" +#: commands/publicationcmds.c:1292 +#, c-format msgid "cannot add schema to publication \"%s\"" -msgstr "no se puede agregar el esquema «%s» a la partición" +msgstr "no se puede agregar el esquema «%s» a la publicación" -#: commands/publicationcmds.c:1301 +#: commands/publicationcmds.c:1294 #, c-format msgid "Schemas cannot be added if any tables that specify a column list are already part of the publication." -msgstr "" +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:1349 +#: commands/publicationcmds.c:1342 #, c-format msgid "must be superuser to add or set schemas" msgstr "debe ser superusuario para agregar o definir esquemas" -#: commands/publicationcmds.c:1358 commands/publicationcmds.c:1366 +#: commands/publicationcmds.c:1351 commands/publicationcmds.c:1359 #, 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:1360 -#, fuzzy, c-format -#| msgid "Tables cannot be added to or dropped from FOR ALL TABLES publications." +#: commands/publicationcmds.c:1353 +#, c-format msgid "Schemas 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." +msgstr "No se pueden agregar ni eliminar esquemas de las publicaciones FOR ALL TABLES." -#: commands/publicationcmds.c:1368 +#: commands/publicationcmds.c:1361 #, 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:1392 commands/publicationcmds.c:1431 -#: commands/publicationcmds.c:1968 utils/cache/lsyscache.c:3592 +#: commands/publicationcmds.c:1385 commands/publicationcmds.c:1424 +#: commands/publicationcmds.c:1961 utils/cache/lsyscache.c:3634 #, c-format msgid "publication \"%s\" does not exist" msgstr "no existe la publicación «%s»" -#: commands/publicationcmds.c:1594 commands/publicationcmds.c:1657 -#, fuzzy, c-format -#| msgid "conflicting or redundant NULL / NOT NULL declarations for column \"%s\"" +#: commands/publicationcmds.c:1587 commands/publicationcmds.c:1650 +#, c-format msgid "conflicting or redundant WHERE clauses for table \"%s\"" -msgstr "declaraciones NULL/NOT NULL en conflicto o redundantes para la columna «%s»" +msgstr "cláusulas WHERE en conflicto o redundantes para la tabla «%s»" -#: commands/publicationcmds.c:1601 commands/publicationcmds.c:1669 -#, fuzzy, c-format -#| msgid "conflicting or redundant options" +#: commands/publicationcmds.c:1594 commands/publicationcmds.c:1662 +#, c-format msgid "conflicting or redundant column lists for table \"%s\"" -msgstr "opciones contradictorias o redundantes" +msgstr "listas de columnas contradictorias o redundantes para la tabla «%s»" -#: commands/publicationcmds.c:1803 -#, fuzzy, c-format -#| msgid "operator argument types must be specified in ALTER OPERATOR FAMILY" +#: commands/publicationcmds.c:1796 +#, c-format msgid "column list must not be specified in ALTER PUBLICATION ... DROP" -msgstr "los tipos de los argumentos de operador deben ser especificados en ALTER OPERATOR FAMILY" +msgstr "la lista de columnas no debe ser especificada en ALTER PUBLICATION ... DROP" -#: commands/publicationcmds.c:1815 +#: commands/publicationcmds.c:1808 #, 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:1822 +#: commands/publicationcmds.c:1815 #, 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:1882 -#, fuzzy, c-format -#| msgid "relation \"%s\" is not part of the publication" +#: commands/publicationcmds.c:1875 +#, c-format msgid "tables from schema \"%s\" are not part of the publication" -msgstr "relación «%s» no es parte de la publicación" +msgstr "las tablas del esquema «%s» no son parte de la publicación" -#: commands/publicationcmds.c:1925 commands/publicationcmds.c:1932 +#: commands/publicationcmds.c:1918 commands/publicationcmds.c:1925 #, 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:1927 +#: commands/publicationcmds.c:1920 #, 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:1934 -#, fuzzy, c-format -#| msgid "The owner of a FOR ALL TABLES publication must be a superuser." +#: commands/publicationcmds.c:1927 +#, 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 ALL TABLES debe ser un superusuario." +msgstr "El dueño de una publicación FOR TABLES IN SCHEMA debe ser un superusuario." -#: commands/publicationcmds.c:2000 +#: commands/publicationcmds.c:1993 #, c-format msgid "publication with OID %u does not exist" msgstr "no existe la publicación con OID %u" @@ -9715,3263 +10077,3276 @@ msgid "security labels are not supported for this type of object" msgstr "las etiquetas de seguirdad no están soportadas para este tipo de objeto" #: commands/seclabel.c:193 -#, fuzzy, c-format -#| msgid "cannot alter constraint \"%s\" on relation \"%s\"" +#, c-format msgid "cannot set security label on relation \"%s\"" -msgstr "no se puede modificar la restricción «%s» en la relación «%s»" +msgstr "no se puede definir la etiqueta de seguridad en la relación «%s»" -#: commands/sequence.c:754 +#: commands/sequence.c:748 #, c-format msgid "nextval: reached maximum value of sequence \"%s\" (%lld)" -msgstr "" +msgstr "nextval: se alcanzó el valor máximo de la secuencia «%s» (%lld)" -#: commands/sequence.c:773 +#: commands/sequence.c:767 #, c-format msgid "nextval: reached minimum value of sequence \"%s\" (%lld)" -msgstr "" +msgstr "nextval: se alcanzó el valor mínimo de la secuencia «%s» (%lld)" -#: commands/sequence.c:891 +#: commands/sequence.c:886 #, c-format msgid "currval of sequence \"%s\" is not yet defined in this session" msgstr "currval de la secuencia «%s» no está definido en esta sesión" -#: commands/sequence.c:910 commands/sequence.c:916 +#: commands/sequence.c:905 commands/sequence.c:911 #, c-format msgid "lastval is not yet defined in this session" msgstr "lastval no está definido en esta sesión" -#: commands/sequence.c:996 -#, fuzzy, c-format -#| msgid "value %s out of bounds for option \"%s\"" +#: commands/sequence.c:991 +#, c-format msgid "setval: value %lld is out of bounds for sequence \"%s\" (%lld..%lld)" -msgstr "el valor %s está fuera del rango de la opción «%s»" +msgstr "setval: el valor %lld está fuera del rango para la secuencia «%s» (%lld..%lld)" -#: commands/sequence.c:1365 +#: commands/sequence.c:1354 #, c-format msgid "invalid sequence option SEQUENCE NAME" msgstr "opción de secuencia no válida SEQUENCE NAME" -#: commands/sequence.c:1391 +#: commands/sequence.c:1380 #, c-format msgid "identity column type must be smallint, integer, or bigint" msgstr "el tipo de columna de identidad debe ser smallint, integer o bigint" -#: commands/sequence.c:1392 +#: commands/sequence.c:1381 #, c-format msgid "sequence type must be smallint, integer, or bigint" msgstr "el tipo de secuencia debe ser smallint, integer o bigint" -#: commands/sequence.c:1426 +#: commands/sequence.c:1415 #, c-format msgid "INCREMENT must not be zero" msgstr "INCREMENT no debe ser cero" -#: commands/sequence.c:1474 -#, fuzzy, c-format -#| msgid "value \"%s\" is out of range for type %s" +#: commands/sequence.c:1463 +#, c-format msgid "MAXVALUE (%lld) is out of range for sequence data type %s" -msgstr "el valor «%s» está fuera de rango para el tipo %s" +msgstr "el MAXVALUE (%lld) está fuera de rango para el tipo de la secuencia %s" -#: commands/sequence.c:1506 -#, fuzzy, c-format -#| msgid "value \"%s\" is out of range for type %s" +#: commands/sequence.c:1495 +#, c-format msgid "MINVALUE (%lld) is out of range for sequence data type %s" -msgstr "el valor «%s» está fuera de rango para el tipo %s" +msgstr "el MINVALUE (%lld) está fuera de rango para el tipo de la secuencia %s" -#: commands/sequence.c:1514 +#: commands/sequence.c:1503 #, c-format msgid "MINVALUE (%lld) must be less than MAXVALUE (%lld)" -msgstr "" +msgstr "MINVALUE (%lld) debe ser menor que MAXVALUE (%lld)" -#: commands/sequence.c:1535 +#: commands/sequence.c:1524 #, c-format msgid "START value (%lld) cannot be less than MINVALUE (%lld)" -msgstr "" +msgstr "el valor START (%lld) no puede ser menor que MINVALUE (%lld)" -#: commands/sequence.c:1541 +#: commands/sequence.c:1530 #, c-format msgid "START value (%lld) cannot be greater than MAXVALUE (%lld)" -msgstr "" +msgstr "el valor START (%lld) no puede ser mayor que el MAXVALUE (%lld)" -#: commands/sequence.c:1565 +#: commands/sequence.c:1554 #, c-format msgid "RESTART value (%lld) cannot be less than MINVALUE (%lld)" -msgstr "" +msgstr "el valor RESTART (%lld) no puede ser menor que MINVALUE (%lld)" -#: commands/sequence.c:1571 +#: commands/sequence.c:1560 #, c-format msgid "RESTART value (%lld) cannot be greater than MAXVALUE (%lld)" -msgstr "" +msgstr "el valor RESTART (%lld) no puede ser mayor que MAXVALUE (%lld)" -#: commands/sequence.c:1582 -#, fuzzy, c-format -#| msgid "stride must be greater than zero" +#: commands/sequence.c:1571 +#, c-format msgid "CACHE (%lld) must be greater than zero" -msgstr "el intervalo de paso (stride) debe ser mayor que cero" +msgstr "el CACHE (%lld) debe ser mayor que cero" -#: commands/sequence.c:1618 +#: commands/sequence.c:1607 #, c-format msgid "invalid OWNED BY option" msgstr "opción OWNED BY no válida" -#: commands/sequence.c:1619 +#: commands/sequence.c:1608 #, c-format msgid "Specify OWNED BY table.column or OWNED BY NONE." msgstr "Especifique OWNED BY tabla.columna o OWNED BY NONE." -#: commands/sequence.c:1644 -#, fuzzy, c-format -#| msgid "cannot move system relation \"%s\"" +#: commands/sequence.c:1633 +#, c-format msgid "sequence cannot be owned by relation \"%s\"" -msgstr "no se puede mover la relación de sistema «%s»" +msgstr "la secuencia no puede ser poseída por la relación «%s»" -#: commands/sequence.c:1652 +#: commands/sequence.c:1641 #, c-format msgid "sequence must have same owner as table it is linked to" msgstr "la secuencia debe tener el mismo dueño que la tabla a la que está enlazada" -#: commands/sequence.c:1656 +#: commands/sequence.c:1645 #, c-format msgid "sequence must be in same schema as table it is linked to" msgstr "la secuencia debe estar en el mismo esquema que la tabla a la que está enlazada" -#: commands/sequence.c:1678 +#: commands/sequence.c:1667 #, c-format msgid "cannot change ownership of identity sequence" msgstr "no se puede cambiar el dueño de la secuencia de identidad" -#: commands/sequence.c:1679 commands/tablecmds.c:13891 -#: commands/tablecmds.c:16488 +#: commands/sequence.c:1668 commands/tablecmds.c:14399 +#: commands/tablecmds.c:17093 #, c-format msgid "Sequence \"%s\" is linked to table \"%s\"." msgstr "La secuencia «%s» está enlazada a la tabla «%s»." -#: commands/statscmds.c:109 commands/statscmds.c:118 tcop/utility.c:1886 +#: commands/statscmds.c:106 commands/statscmds.c:115 tcop/utility.c:1883 #, c-format msgid "only a single relation is allowed in CREATE STATISTICS" msgstr "sólo se permite una relación en CREATE STATISTICS" -#: commands/statscmds.c:136 -#, fuzzy, c-format -#| msgid "cannot rewrite system relation \"%s\"" +#: commands/statscmds.c:133 +#, c-format msgid "cannot define statistics for relation \"%s\"" -msgstr "no se puede reescribir la relación de sistema «%s»" +msgstr "no se puede definir estadísticas para la relación «%s»" -#: commands/statscmds.c:190 +#: commands/statscmds.c:187 #, c-format msgid "statistics object \"%s\" already exists, skipping" msgstr "el objeto de estadísticas «%s» ya existe, omitiendo" -#: commands/statscmds.c:198 +#: commands/statscmds.c:195 #, c-format msgid "statistics object \"%s\" already exists" msgstr "el objeto de estadísticas «%s» ya existe" -#: commands/statscmds.c:209 +#: commands/statscmds.c:206 #, 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:250 commands/statscmds.c:273 commands/statscmds.c:307 +#: commands/statscmds.c:247 commands/statscmds.c:270 commands/statscmds.c:304 #, 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:257 commands/statscmds.c:280 +#: commands/statscmds.c:254 commands/statscmds.c:277 #, 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:324 +#: commands/statscmds.c:321 #, 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:345 +#: commands/statscmds.c:342 #, 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:374 +#: commands/statscmds.c:371 #, c-format msgid "unrecognized statistics kind \"%s\"" msgstr "tipo de estadísticas «%s» no reconocido" -#: commands/statscmds.c:403 +#: commands/statscmds.c:400 #, c-format msgid "extended statistics require at least 2 columns" msgstr "las estadísticas extendidas requieren al menos 2 columnas" -#: commands/statscmds.c:421 +#: commands/statscmds.c:418 #, c-format msgid "duplicate column name in statistics definition" msgstr "nombre de columna duplicado en definición de estadísticas" -#: commands/statscmds.c:456 +#: commands/statscmds.c:453 #, c-format msgid "duplicate expression in statistics definition" msgstr "expresión duplicada en definición de estadísticas" -#: commands/statscmds.c:619 commands/tablecmds.c:8180 +#: commands/statscmds.c:628 commands/tablecmds.c:8640 #, c-format msgid "statistics target %d is too low" msgstr "el valor de estadísticas %d es demasiado bajo" -#: commands/statscmds.c:627 commands/tablecmds.c:8188 +#: commands/statscmds.c:636 commands/tablecmds.c:8648 #, c-format msgid "lowering statistics target to %d" msgstr "bajando el valor de estadísticas a %d" -#: commands/statscmds.c:650 +#: commands/statscmds.c:660 #, c-format msgid "statistics object \"%s.%s\" does not exist, skipping" msgstr "no existe el objeto de estadísticas «%s.%s», omitiendo" -#: commands/subscriptioncmds.c:271 commands/subscriptioncmds.c:359 +#: commands/subscriptioncmds.c:275 commands/subscriptioncmds.c:372 #, c-format msgid "unrecognized subscription parameter: \"%s\"" msgstr "parámetro de suscripción no reconocido: «%s»" -#: commands/subscriptioncmds.c:327 replication/pgoutput/pgoutput.c:398 -#, fuzzy, c-format -#| msgid "unrecognized section name: \"%s\"" +#: commands/subscriptioncmds.c:340 replication/pgoutput/pgoutput.c:397 +#, c-format msgid "unrecognized origin value: \"%s\"" -msgstr "nombre de sección «%s» no reconocido" +msgstr "valor de origen no reconocido: «%s»" -#: commands/subscriptioncmds.c:350 -#, fuzzy, c-format -#| msgid "invalid WAL location: \"%s\"" +#: commands/subscriptioncmds.c:363 +#, c-format msgid "invalid WAL location (LSN): %s" -msgstr "ubicación de WAL no válida: «%s»" +msgstr "ubicación de WAL (LSN) no válida: %s" #. translator: both %s are strings of the form "option = value" -#: commands/subscriptioncmds.c:374 commands/subscriptioncmds.c:381 -#: commands/subscriptioncmds.c:388 commands/subscriptioncmds.c:410 -#: commands/subscriptioncmds.c:426 +#: commands/subscriptioncmds.c:387 commands/subscriptioncmds.c:394 +#: commands/subscriptioncmds.c:401 commands/subscriptioncmds.c:423 +#: commands/subscriptioncmds.c:439 #, c-format msgid "%s and %s are mutually exclusive options" msgstr "%s y %s son opciones mutuamente excluyentes" #. translator: both %s are strings of the form "option = value" -#: commands/subscriptioncmds.c:416 commands/subscriptioncmds.c:432 +#: commands/subscriptioncmds.c:429 commands/subscriptioncmds.c:445 #, c-format msgid "subscription with %s must also set %s" msgstr "suscripción con %s también debe activar %s" -#: commands/subscriptioncmds.c:494 -#, fuzzy, c-format -#| msgid "could not receive list of replicated tables from the publisher: %s" +#: commands/subscriptioncmds.c:506 +#, c-format msgid "could not receive list of publications from the publisher: %s" -msgstr "no se pudo recibir la lista de tablas replicadas desde el editor (publisher): %s" +msgstr "no se pudo recibir la lista de publicaciones desde el publicador: %s" -#: commands/subscriptioncmds.c:526 -#, fuzzy, c-format -#| msgid "publication \"%s\" does not exist" +#: commands/subscriptioncmds.c:538 +#, c-format msgid "publication %s does not exist on the publisher" msgid_plural "publications %s do not exist on the publisher" -msgstr[0] "no existe la publicación «%s»" -msgstr[1] "no existe la publicación «%s»" +msgstr[0] "no existe la publicación «%s» en el “publisher”" +msgstr[1] "no existen las publicaciones «%s» en el “publisher”" -#: commands/subscriptioncmds.c:614 -#, fuzzy, c-format -#| msgid "permission denied for subscription %s" +#: commands/subscriptioncmds.c:626 +#, c-format msgid "permission denied to create subscription" -msgstr "permiso denegado a la suscripción %s" +msgstr "permiso denegado a crear suscripción" -#: commands/subscriptioncmds.c:615 +#: commands/subscriptioncmds.c:627 #, c-format msgid "Only roles with privileges of the \"%s\" role may create subscriptions." -msgstr "" +msgstr "Sólo los roles con privilegio del rol «%s» pueden crear suscripciones." -#: commands/subscriptioncmds.c:745 commands/subscriptioncmds.c:878 -#: replication/logical/tablesync.c:1304 replication/logical/worker.c:4616 +#: commands/subscriptioncmds.c:758 commands/subscriptioncmds.c:891 +#: commands/subscriptioncmds.c:1524 replication/logical/tablesync.c:1345 +#: replication/logical/worker.c:4503 #, c-format msgid "could not connect to the publisher: %s" -msgstr "no se pudo connectar con el editor (publisher): %s" +msgstr "no se pudo connectar con el publicador: %s" -#: commands/subscriptioncmds.c:816 +#: commands/subscriptioncmds.c:829 #, c-format msgid "created replication slot \"%s\" on publisher" -msgstr "se creó el slot de replicación «%s» en el editor (publisher)" +msgstr "se creó el slot de replicación «%s» en el publicador" -#: commands/subscriptioncmds.c:828 -#, fuzzy, c-format -#| msgid "subscription has no replication slot set" +#: commands/subscriptioncmds.c:841 +#, c-format msgid "subscription was created, but is not connected" -msgstr "la suscripción no tiene un slot de replicación establecido" +msgstr "la suscripción fue creada, pero no está conectada" -#: commands/subscriptioncmds.c:829 +#: commands/subscriptioncmds.c:842 #, c-format msgid "To initiate replication, you must manually create the replication slot, enable the subscription, and refresh the subscription." -msgstr "" +msgstr "Para iniciar la replicacióñ, debe manualmente crear el slot de replicación, activar la suscripción, y refrescar la suscripción." -#: commands/subscriptioncmds.c:1096 commands/subscriptioncmds.c:1502 -#: commands/subscriptioncmds.c:1885 utils/cache/lsyscache.c:3642 +#: commands/subscriptioncmds.c:1109 commands/subscriptioncmds.c:1590 +#: commands/subscriptioncmds.c:1973 utils/cache/lsyscache.c:3684 #, c-format msgid "subscription \"%s\" does not exist" msgstr "no existe la suscripción «%s»" -#: commands/subscriptioncmds.c:1152 +#: commands/subscriptioncmds.c:1166 commands/subscriptioncmds.c:1245 #, c-format msgid "cannot set %s for enabled subscription" msgstr "no se puede establecer %s para la suscripción activada" -#: commands/subscriptioncmds.c:1227 +#: commands/subscriptioncmds.c:1233 +#, fuzzy, c-format +msgid "cannot set %s for a subscription that does not have a slot name" +msgstr "no se puede habilitar la suscripción que no tiene un nombre de slot" + +#: commands/subscriptioncmds.c:1279 #, c-format msgid "cannot enable subscription that does not have a slot name" msgstr "no se puede habilitar la suscripción que no tiene un nombre de slot" -#: commands/subscriptioncmds.c:1271 commands/subscriptioncmds.c:1322 +#: commands/subscriptioncmds.c:1323 commands/subscriptioncmds.c:1374 #, c-format msgid "ALTER SUBSCRIPTION with refresh is not allowed for disabled subscriptions" msgstr "ALTER SUBSCRIPTION con actualización no está permitido para las suscripciones desactivadas" -#: commands/subscriptioncmds.c:1272 +#: commands/subscriptioncmds.c:1324 #, c-format msgid "Use ALTER SUBSCRIPTION ... SET PUBLICATION ... WITH (refresh = false)." msgstr "Use ALTER SUBSCRIPTION ... SET PUBLICATION ... WITH (refresh = false)." -#: commands/subscriptioncmds.c:1281 commands/subscriptioncmds.c:1336 -#, fuzzy, c-format -#| msgid "ALTER SUBSCRIPTION with refresh is not allowed for disabled subscriptions" +#: commands/subscriptioncmds.c:1333 commands/subscriptioncmds.c:1388 +#, c-format msgid "ALTER SUBSCRIPTION with refresh and copy_data is not allowed when two_phase is enabled" -msgstr "ALTER SUBSCRIPTION con actualización no está permitido para las suscripciones desactivadas" +msgstr "ALTER SUBSCRIPTION con «refresh» y «copy_data» no está permitido cuando «two_phase» está activo" -#: commands/subscriptioncmds.c:1282 -#, fuzzy, c-format -#| msgid "Use ALTER SUBSCRIPTION ... REFRESH with copy_data = false, or use DROP/CREATE SUBSCRIPTION." +#: commands/subscriptioncmds.c:1334 +#, c-format msgid "Use ALTER SUBSCRIPTION ... SET PUBLICATION with refresh = false, or with copy_data = false, or use DROP/CREATE SUBSCRIPTION." -msgstr "Use ALTER SUBSCRIPTION ... REFRESH con copy_data = false, o use DROP/CREATE SUBSCRIPTION." - -#. translator: %s is an SQL ALTER command -#: commands/subscriptioncmds.c:1324 -#, fuzzy, c-format -#| msgid "Use views instead." -msgid "Use %s instead." -msgstr "Use vistas en su lugar." +msgstr "Use ALTER SUBSCRIPTION ... SET PUBLICATION con refresh = false, o con copy_data=false, o use DROP/CREATE SUBSCRIPTION." #. translator: %s is an SQL ALTER command -#: commands/subscriptioncmds.c:1338 -#, fuzzy, c-format -#| msgid "Use ALTER SUBSCRIPTION ... REFRESH with copy_data = false, or use DROP/CREATE SUBSCRIPTION." +#: commands/subscriptioncmds.c:1390 +#, c-format msgid "Use %s with refresh = false, or with copy_data = false, or use DROP/CREATE SUBSCRIPTION." -msgstr "Use ALTER SUBSCRIPTION ... REFRESH con copy_data = false, o use DROP/CREATE SUBSCRIPTION." +msgstr "Use %s con refresh = false, o con copy_data = false, o use DROP/CREATE SUBSCRIPTION." -#: commands/subscriptioncmds.c:1360 +#: commands/subscriptioncmds.c:1412 #, c-format msgid "ALTER SUBSCRIPTION ... REFRESH is not allowed for disabled subscriptions" msgstr "ALTER SUBSCRIPTION ... REFRESH no está permitido para las suscripciones desactivadas" -#: commands/subscriptioncmds.c:1385 -#, fuzzy, c-format -#| msgid "ALTER SUBSCRIPTION ... REFRESH is not allowed for disabled subscriptions" +#: commands/subscriptioncmds.c:1437 +#, c-format msgid "ALTER SUBSCRIPTION ... REFRESH with copy_data is not allowed when two_phase is enabled" -msgstr "ALTER SUBSCRIPTION ... REFRESH no está permitido para las suscripciones desactivadas" +msgstr "ALTER SUBSCRIPTION ... REFRESH con copy_data no está permitido cuando two_phase está activo" -#: commands/subscriptioncmds.c:1386 +#: commands/subscriptioncmds.c:1438 #, c-format msgid "Use ALTER SUBSCRIPTION ... REFRESH with copy_data = false, or use DROP/CREATE SUBSCRIPTION." msgstr "Use ALTER SUBSCRIPTION ... REFRESH con copy_data = false, o use DROP/CREATE SUBSCRIPTION." -#: commands/subscriptioncmds.c:1421 +#: commands/subscriptioncmds.c:1473 #, c-format msgid "skip WAL location (LSN %X/%X) must be greater than origin LSN %X/%X" msgstr "la ubicación de WAL a saltar (LSN %X/%X) debe ser mayor que el LSN de origen %X/%X" -#: commands/subscriptioncmds.c:1506 +#: commands/subscriptioncmds.c:1594 #, c-format msgid "subscription \"%s\" does not exist, skipping" msgstr "no existe la suscripción «%s», omitiendo" -#: commands/subscriptioncmds.c:1775 +#: commands/subscriptioncmds.c:1863 #, c-format msgid "dropped replication slot \"%s\" on publisher" -msgstr "eliminando el slot de replicación «%s» en editor (publisher)" +msgstr "eliminando el slot de replicación «%s» en publicador" -#: commands/subscriptioncmds.c:1784 commands/subscriptioncmds.c:1792 +#: commands/subscriptioncmds.c:1872 commands/subscriptioncmds.c:1880 #, c-format msgid "could not drop replication slot \"%s\" on publisher: %s" -msgstr "no se pudo eliminar el slot de replicación «%s» en editor (publisher): %s" +msgstr "no se pudo eliminar el slot de replicación «%s» en publicador: %s" -#: commands/subscriptioncmds.c:1917 +#: commands/subscriptioncmds.c:2005 #, c-format msgid "subscription with OID %u does not exist" msgstr "no existe la suscripción con OID %u" -#: commands/subscriptioncmds.c:1988 commands/subscriptioncmds.c:2113 +#: commands/subscriptioncmds.c:2076 commands/subscriptioncmds.c:2201 #, c-format msgid "could not receive list of replicated tables from the publisher: %s" -msgstr "no se pudo recibir la lista de tablas replicadas desde el editor (publisher): %s" +msgstr "no se pudo recibir la lista de tablas replicadas desde el publicador: %s" -#: commands/subscriptioncmds.c:2024 +#: commands/subscriptioncmds.c:2112 #, c-format msgid "subscription \"%s\" requested copy_data with origin = NONE but might copy data that had a different origin" -msgstr "" +msgstr "la suscripción «%s» pidió copy_data con origin = NONE pero podría copiar datos que tenían un origen diferente" -#: commands/subscriptioncmds.c:2026 -#, fuzzy, c-format -#| msgid "relation \"%s\" is not part of the publication" -msgid "Subscribed publication %s is subscribing to other publications." -msgid_plural "Subscribed publications %s are subscribing to other publications." -msgstr[0] "relación «%s» no es parte de la publicación" -msgstr[1] "relación «%s» no es parte de la publicación" +#: commands/subscriptioncmds.c:2114 +#, 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." +msgstr[0] "" +msgstr[1] "" -#: commands/subscriptioncmds.c:2029 +#: commands/subscriptioncmds.c:2117 #, c-format msgid "Verify that initial data copied from the publisher tables did not come from other origins." -msgstr "" +msgstr "Verifique que los datos iniciales copiados desde el publicador no vinieron de otros orígenes." -#: commands/subscriptioncmds.c:2135 replication/logical/tablesync.c:875 -#: replication/pgoutput/pgoutput.c:1115 -#, fuzzy, c-format -#| msgid "cannot use ONLY for foreign key on partitioned table \"%s\" referencing relation \"%s\"" +#: commands/subscriptioncmds.c:2223 replication/logical/tablesync.c:906 +#: replication/pgoutput/pgoutput.c:1117 +#, c-format msgid "cannot use different column lists for table \"%s.%s\" in different publications" -msgstr "no se puede usar ONLY para una llave foránea en la tabla particionada «%s» haciendo referencia a la relación «%s»" +msgstr "no se puede usar distintas listas de columnas para la tabla «%s.%s» en distintas publicaciones" -#: commands/subscriptioncmds.c:2185 +#: commands/subscriptioncmds.c:2273 #, c-format msgid "could not connect to publisher when attempting to drop replication slot \"%s\": %s" -msgstr "no se pudo conectar con el editor (publisher) al intentar eliminar el slot de replicación \"%s\": %s" +msgstr "no se pudo conectar con el publicador al intentar eliminar el slot de replicación \"%s\": %s" #. translator: %s is an SQL ALTER command -#: commands/subscriptioncmds.c:2188 +#: commands/subscriptioncmds.c:2276 #, c-format -msgid "Use %s to disassociate the subscription from the slot." -msgstr "Use %s para disociar la suscripción del slot." +msgid "Use %s to disable the subscription, and then use %s to disassociate it from the slot." +msgstr "Use %s para desactivar la suscripción, luego use %s para disociarla del slot." -#: commands/subscriptioncmds.c:2218 +#: commands/subscriptioncmds.c:2307 #, c-format msgid "publication name \"%s\" used more than once" msgstr "nombre de publicación «%s» usado más de una vez" -#: commands/subscriptioncmds.c:2262 +#: commands/subscriptioncmds.c:2351 #, c-format msgid "publication \"%s\" is already in subscription \"%s\"" msgstr "la publicación «%s» ya existe en la suscripción «%s»" -#: commands/subscriptioncmds.c:2276 +#: commands/subscriptioncmds.c:2365 #, c-format msgid "publication \"%s\" is not in subscription \"%s\"" msgstr "la publicación «%s» no está en la suscripción «%s»" -#: commands/subscriptioncmds.c:2287 +#: commands/subscriptioncmds.c:2376 #, c-format msgid "cannot drop all the publications from a subscription" msgstr "no se puede eliminar todas las publicaciones de una suscripción" -#: commands/subscriptioncmds.c:2344 -#, fuzzy, c-format -#| msgid "%s requires a Boolean value" +#: commands/subscriptioncmds.c:2433 +#, c-format msgid "%s requires a Boolean value or \"parallel\"" -msgstr "«%s» requiere un valor lógico (booleano)" +msgstr "«%s» requiere un valor lógico (booleano) o “parallel”" -#: commands/tablecmds.c:246 commands/tablecmds.c:288 +#: commands/tablecmds.c:255 commands/tablecmds.c:297 #, c-format msgid "table \"%s\" does not exist" msgstr "no existe la tabla «%s»" -#: commands/tablecmds.c:247 commands/tablecmds.c:289 +#: commands/tablecmds.c:256 commands/tablecmds.c:298 #, c-format msgid "table \"%s\" does not exist, skipping" msgstr "la tabla «%s» no existe, omitiendo" -#: commands/tablecmds.c:249 commands/tablecmds.c:291 +#: commands/tablecmds.c:258 commands/tablecmds.c:300 msgid "Use DROP TABLE to remove a table." msgstr "Use DROP TABLE para eliminar una tabla." -#: commands/tablecmds.c:252 +#: commands/tablecmds.c:261 #, c-format msgid "sequence \"%s\" does not exist" msgstr "no existe la secuencia «%s»" -#: commands/tablecmds.c:253 +#: commands/tablecmds.c:262 #, c-format msgid "sequence \"%s\" does not exist, skipping" msgstr "la secuencia «%s» no existe, omitiendo" -#: commands/tablecmds.c:255 +#: commands/tablecmds.c:264 msgid "Use DROP SEQUENCE to remove a sequence." msgstr "Use DROP SEQUENCE para eliminar una secuencia." -#: commands/tablecmds.c:258 +#: commands/tablecmds.c:267 #, c-format msgid "view \"%s\" does not exist" msgstr "no existe la vista «%s»" -#: commands/tablecmds.c:259 +#: commands/tablecmds.c:268 #, c-format msgid "view \"%s\" does not exist, skipping" msgstr "la vista «%s» no existe, omitiendo" -#: commands/tablecmds.c:261 +#: commands/tablecmds.c:270 msgid "Use DROP VIEW to remove a view." msgstr "Use DROP VIEW para eliminar una vista." -#: commands/tablecmds.c:264 +#: commands/tablecmds.c:273 #, c-format msgid "materialized view \"%s\" does not exist" msgstr "no existe la vista materializada «%s»" -#: commands/tablecmds.c:265 +#: commands/tablecmds.c:274 #, c-format msgid "materialized view \"%s\" does not exist, skipping" msgstr "la vista materializada «%s» no existe, omitiendo" -#: commands/tablecmds.c:267 +#: commands/tablecmds.c:276 msgid "Use DROP MATERIALIZED VIEW to remove a materialized view." msgstr "Use DROP MATERIALIZED VIEW para eliminar una vista materializada." -#: commands/tablecmds.c:270 commands/tablecmds.c:294 commands/tablecmds.c:19002 -#: parser/parse_utilcmd.c:2245 +#: commands/tablecmds.c:279 commands/tablecmds.c:303 commands/tablecmds.c:19648 +#: parser/parse_utilcmd.c:2226 #, c-format msgid "index \"%s\" does not exist" msgstr "no existe el índice «%s»" -#: commands/tablecmds.c:271 commands/tablecmds.c:295 +#: commands/tablecmds.c:280 commands/tablecmds.c:304 #, c-format msgid "index \"%s\" does not exist, skipping" msgstr "el índice «%s» no existe, omitiendo" -#: commands/tablecmds.c:273 commands/tablecmds.c:297 +#: commands/tablecmds.c:282 commands/tablecmds.c:306 msgid "Use DROP INDEX to remove an index." msgstr "Use DROP INDEX para eliminar un índice." -#: commands/tablecmds.c:278 +#: commands/tablecmds.c:287 #, c-format msgid "\"%s\" is not a type" msgstr "«%s» no es un tipo" -#: commands/tablecmds.c:279 +#: commands/tablecmds.c:288 msgid "Use DROP TYPE to remove a type." msgstr "Use DROP TYPE para eliminar un tipo." -#: commands/tablecmds.c:282 commands/tablecmds.c:13730 -#: commands/tablecmds.c:16193 +#: commands/tablecmds.c:291 commands/tablecmds.c:14238 +#: commands/tablecmds.c:16798 #, c-format msgid "foreign table \"%s\" does not exist" msgstr "no existe la tabla foránea «%s»" -#: commands/tablecmds.c:283 +#: commands/tablecmds.c:292 #, c-format msgid "foreign table \"%s\" does not exist, skipping" msgstr "la tabla foránea «%s» no existe, omitiendo" -#: commands/tablecmds.c:285 +#: commands/tablecmds.c:294 msgid "Use DROP FOREIGN TABLE to remove a foreign table." msgstr "Use DROP FOREIGN TABLE para eliminar una tabla foránea." -#: commands/tablecmds.c:700 +#: commands/tablecmds.c:722 #, c-format msgid "ON COMMIT can only be used on temporary tables" msgstr "ON COMMIT sólo puede ser usado en tablas temporales" -#: commands/tablecmds.c:731 +#: commands/tablecmds.c:753 #, c-format msgid "cannot create temporary table within security-restricted operation" msgstr "no se puede crear una tabla temporal dentro una operación restringida por seguridad" -#: commands/tablecmds.c:767 commands/tablecmds.c:15038 +#: commands/tablecmds.c:789 commands/tablecmds.c:15657 #, c-format msgid "relation \"%s\" would be inherited from more than once" msgstr "se heredaría de la relación «%s» más de una vez" -#: commands/tablecmds.c:955 -#, c-format -msgid "specifying a table access method is not supported on a partitioned table" -msgstr "especificar un método de acceso de tablas no está soportado en tablas particionadas" - -#: commands/tablecmds.c:1048 +#: commands/tablecmds.c:1055 #, c-format msgid "\"%s\" is not partitioned" msgstr "«%s» no está particionada" -#: commands/tablecmds.c:1142 +#: commands/tablecmds.c:1149 #, c-format msgid "cannot partition using more than %d columns" msgstr "no se puede particionar usando más de %d columnas" -#: commands/tablecmds.c:1198 +#: commands/tablecmds.c:1205 #, c-format msgid "cannot create foreign partition of partitioned table \"%s\"" msgstr "no se puede crear una partición foránea en la tabla particionada «%s»" -#: commands/tablecmds.c:1200 +#: commands/tablecmds.c:1207 #, c-format msgid "Table \"%s\" contains indexes that are unique." msgstr "La tabla «%s» contiene índices que son únicos." -#: commands/tablecmds.c:1365 +#: commands/tablecmds.c:1326 commands/tablecmds.c:13254 +#, c-format +msgid "too many array dimensions" +msgstr "demasiadas dimensiones de array" + +#: commands/tablecmds.c:1331 parser/parse_clause.c:774 +#: parser/parse_relation.c:1912 +#, c-format +msgid "column \"%s\" cannot be declared SETOF" +msgstr "la columna «%s» no puede ser declarada SETOF" + +#: commands/tablecmds.c:1477 #, c-format msgid "DROP INDEX CONCURRENTLY does not support dropping multiple objects" msgstr "DROP INDEX CONCURRENTLY no soporta eliminar múltiples objetos" -#: commands/tablecmds.c:1369 +#: commands/tablecmds.c:1481 #, c-format msgid "DROP INDEX CONCURRENTLY does not support CASCADE" msgstr "DROP INDEX CONCURRENTLY no soporta CASCADE" -#: commands/tablecmds.c:1473 +#: commands/tablecmds.c:1585 #, c-format msgid "cannot drop partitioned index \"%s\" concurrently" msgstr "no se puede eliminar el índice particionado «%s» concurrentemente" -#: commands/tablecmds.c:1761 +#: commands/tablecmds.c:1873 #, c-format msgid "cannot truncate only a partitioned table" msgstr "no se puede truncar ONLY una tabla particionada" -#: commands/tablecmds.c:1762 +#: commands/tablecmds.c:1874 #, c-format msgid "Do not specify the ONLY keyword, or use TRUNCATE ONLY on the partitions directly." msgstr "No especifique la opción ONLY, o ejecute TRUNCATE ONLY en las particiones directamente." -#: commands/tablecmds.c:1835 +#: commands/tablecmds.c:1947 #, c-format msgid "truncate cascades to table \"%s\"" msgstr "truncando además la tabla «%s»" -#: commands/tablecmds.c:2199 +#: commands/tablecmds.c:2308 #, c-format msgid "cannot truncate foreign table \"%s\"" msgstr "no se puede truncar la tabla foránea «%s»" -#: commands/tablecmds.c:2256 +#: commands/tablecmds.c:2365 #, c-format msgid "cannot truncate temporary tables of other sessions" msgstr "no se pueden truncar tablas temporales de otras sesiones" -#: commands/tablecmds.c:2488 commands/tablecmds.c:14935 +#: commands/tablecmds.c:2594 commands/tablecmds.c:15554 #, c-format msgid "cannot inherit from partitioned table \"%s\"" msgstr "no se puede heredar de la tabla particionada «%s»" -#: commands/tablecmds.c:2493 +#: commands/tablecmds.c:2599 #, c-format msgid "cannot inherit from partition \"%s\"" msgstr "no se puede heredar de la partición «%s»" -#: commands/tablecmds.c:2501 parser/parse_utilcmd.c:2475 -#: parser/parse_utilcmd.c:2617 +#: commands/tablecmds.c:2607 parser/parse_utilcmd.c:2456 +#: parser/parse_utilcmd.c:2598 #, c-format msgid "inherited relation \"%s\" is not a table or foreign table" msgstr "la relación heredada «%s» no es una tabla o tabla foránea" -#: commands/tablecmds.c:2513 +#: commands/tablecmds.c:2619 commands/tablecmds.c:20412 #, c-format msgid "cannot create a temporary relation as partition of permanent relation \"%s\"" msgstr "no se puede crear una relación temporal como partición de la relación permanente «%s»" -#: commands/tablecmds.c:2522 commands/tablecmds.c:14914 +#: commands/tablecmds.c:2628 commands/tablecmds.c:15533 #, c-format msgid "cannot inherit from temporary relation \"%s\"" msgstr "no se puede heredar de la tabla temporal «%s»" -#: commands/tablecmds.c:2532 commands/tablecmds.c:14922 +#: commands/tablecmds.c:2638 commands/tablecmds.c:15541 #, c-format msgid "cannot inherit from temporary relation of another session" msgstr "no se puede heredar de una tabla temporal de otra sesión" -#: commands/tablecmds.c:2585 +#: commands/tablecmds.c:2779 commands/tablecmds.c:2833 +#: commands/tablecmds.c:12937 parser/parse_utilcmd.c:1240 +#: parser/parse_utilcmd.c:1283 parser/parse_utilcmd.c:1710 +#: parser/parse_utilcmd.c:1818 #, c-format -msgid "merging multiple inherited definitions of column \"%s\"" -msgstr "mezclando múltiples definiciones heredadas de la columna «%s»" +msgid "cannot convert whole-row table reference" +msgstr "no se puede convertir una referencia a la fila completa (whole-row)" -#: commands/tablecmds.c:2597 +#: commands/tablecmds.c:2780 parser/parse_utilcmd.c:1241 #, c-format -msgid "inherited column \"%s\" has a type conflict" -msgstr "columna heredada «%s» tiene conflicto de tipos" +msgid "Generation expression for column \"%s\" contains a whole-row reference to table \"%s\"." +msgstr "La expresión de generación para la columna «%s» contiene una referencia a la fila completa (whole-row) de la tabla «%s»." -#: commands/tablecmds.c:2599 commands/tablecmds.c:2628 -#: commands/tablecmds.c:2647 commands/tablecmds.c:2919 -#: commands/tablecmds.c:2955 commands/tablecmds.c:2971 -#: parser/parse_coerce.c:2155 parser/parse_coerce.c:2175 -#: parser/parse_coerce.c:2195 parser/parse_coerce.c:2216 -#: parser/parse_coerce.c:2271 parser/parse_coerce.c:2305 -#: parser/parse_coerce.c:2381 parser/parse_coerce.c:2412 -#: parser/parse_coerce.c:2451 parser/parse_coerce.c:2518 -#: parser/parse_param.c:223 +#: commands/tablecmds.c:2834 parser/parse_utilcmd.c:1284 #, c-format -msgid "%s versus %s" -msgstr "%s versus %s" +msgid "Constraint \"%s\" contains a whole-row reference to table \"%s\"." +msgstr "La restricción «%s» contiene una referencia a la fila completa (whole-row) de la tabla «%s»." -#: commands/tablecmds.c:2612 +#: commands/tablecmds.c:2944 commands/tablecmds.c:3215 #, c-format -msgid "inherited column \"%s\" has a collation conflict" -msgstr "columna heredada «%s» tiene conflicto de ordenamiento (collation)" +msgid "column \"%s\" inherits from generated column but specifies default" +msgstr "la columna «%s» hereda de una columna generada pero especifica un valor por omisión" -#: commands/tablecmds.c:2614 commands/tablecmds.c:2935 -#: commands/tablecmds.c:6849 +#: commands/tablecmds.c:2949 commands/tablecmds.c:3220 #, c-format -msgid "\"%s\" versus \"%s\"" -msgstr "«%s» versus «%s»" +msgid "column \"%s\" inherits from generated column but specifies identity" +msgstr "la columna «%s» hereda de una columna generada pero especifica una identidad" -#: commands/tablecmds.c:2626 +#: commands/tablecmds.c:2957 commands/tablecmds.c:3228 #, c-format -msgid "inherited column \"%s\" has a storage parameter conflict" -msgstr "columna heredada «%s» tiene conflicto de parámetros de almacenamiento" +msgid "child column \"%s\" specifies generation expression" +msgstr "la columna hija «%s» especifica una expresión de generación de columna" -#: commands/tablecmds.c:2645 commands/tablecmds.c:2969 +#: commands/tablecmds.c:2959 commands/tablecmds.c:3230 #, c-format -msgid "column \"%s\" has a compression method conflict" -msgstr "la columna «%s» tiene conflicto de método de compresión" +msgid "A child table column cannot be generated unless its parent column is." +msgstr "Una columna de tabla hija no puede ser generada a menos que su columna padre lo sea." -#: commands/tablecmds.c:2661 +#: commands/tablecmds.c:3005 #, c-format -msgid "inherited column \"%s\" has a generation conflict" -msgstr "columna heredada «%s» tiene conflicto de generación" +msgid "column \"%s\" inherits conflicting generation expressions" +msgstr "la columna «%s» hereda expresiones de generación en conflicto" -#: commands/tablecmds.c:2767 commands/tablecmds.c:2822 -#: commands/tablecmds.c:12456 parser/parse_utilcmd.c:1298 -#: parser/parse_utilcmd.c:1341 parser/parse_utilcmd.c:1740 -#: parser/parse_utilcmd.c:1848 +#: commands/tablecmds.c:3007 #, c-format -msgid "cannot convert whole-row table reference" -msgstr "no se puede convertir una referencia a la fila completa (whole-row)" +msgid "To resolve the conflict, specify a generation expression explicitly." +msgstr "Para resolver el conflicto, indique explícitamente una expresión de generación." -#: commands/tablecmds.c:2768 parser/parse_utilcmd.c:1299 +#: commands/tablecmds.c:3011 #, c-format -msgid "Generation expression for column \"%s\" contains a whole-row reference to table \"%s\"." -msgstr "La expresión de generación para la columna «%s» contiene una referencia a la fila completa (whole-row) de la tabla «%s»." +msgid "column \"%s\" inherits conflicting default values" +msgstr "la columna «%s» hereda valores por omisión no coincidentes" -#: commands/tablecmds.c:2823 parser/parse_utilcmd.c:1342 +#: commands/tablecmds.c:3013 #, c-format -msgid "Constraint \"%s\" contains a whole-row reference to table \"%s\"." -msgstr "La restricción «%s» contiene una referencia a la fila completa (whole-row) de la tabla «%s»." +msgid "To resolve the conflict, specify a default explicitly." +msgstr "Para resolver el conflicto, indique explícitamente un valor por omisión." + +#: commands/tablecmds.c:3068 +#, c-format +msgid "check constraint name \"%s\" appears multiple times but with different expressions" +msgstr "la restricción «check» «%s» aparece más de una vez con diferentes expresiones" -#: commands/tablecmds.c:2901 +#: commands/tablecmds.c:3119 #, c-format msgid "merging column \"%s\" with inherited definition" msgstr "mezclando la columna «%s» con la definición heredada" -#: commands/tablecmds.c:2905 +#: commands/tablecmds.c:3123 #, c-format msgid "moving and merging column \"%s\" with inherited definition" msgstr "moviendo y mezclando la columna «%s» con la definición heredada" -#: commands/tablecmds.c:2906 +#: commands/tablecmds.c:3124 #, c-format msgid "User-specified column moved to the position of the inherited column." msgstr "La columna especificada por el usuario fue movida a la posición de la columna heredada." -#: commands/tablecmds.c:2917 +#: commands/tablecmds.c:3136 #, c-format msgid "column \"%s\" has a type conflict" msgstr "la columna «%s» tiene conflicto de tipos" -#: commands/tablecmds.c:2933 +#: commands/tablecmds.c:3138 commands/tablecmds.c:3172 +#: commands/tablecmds.c:3188 commands/tablecmds.c:3295 +#: commands/tablecmds.c:3328 commands/tablecmds.c:3344 +#: parser/parse_coerce.c:2155 parser/parse_coerce.c:2175 +#: parser/parse_coerce.c:2195 parser/parse_coerce.c:2216 +#: parser/parse_coerce.c:2271 parser/parse_coerce.c:2305 +#: parser/parse_coerce.c:2381 parser/parse_coerce.c:2412 +#: parser/parse_coerce.c:2451 parser/parse_coerce.c:2518 +#: parser/parse_param.c:223 +#, c-format +msgid "%s versus %s" +msgstr "%s versus %s" + +#: commands/tablecmds.c:3150 #, c-format msgid "column \"%s\" has a collation conflict" msgstr "la columna «%s» tiene conflicto de ordenamientos (collation)" -#: commands/tablecmds.c:2953 +#: commands/tablecmds.c:3152 commands/tablecmds.c:3314 +#: commands/tablecmds.c:7100 #, c-format -msgid "column \"%s\" has a storage parameter conflict" -msgstr "la columna «%s» tiene conflicto de parámetros de almacenamiento" +msgid "\"%s\" versus \"%s\"" +msgstr "«%s» versus «%s»" -#: commands/tablecmds.c:2999 commands/tablecmds.c:3086 +#: commands/tablecmds.c:3170 #, c-format -msgid "column \"%s\" inherits from generated column but specifies default" -msgstr "la columna «%s» hereda de una columna generada pero especifica un valor por omisión" +msgid "column \"%s\" has a storage parameter conflict" +msgstr "la columna «%s» tiene conflicto de parámetros de almacenamiento" -#: commands/tablecmds.c:3004 commands/tablecmds.c:3091 +#: commands/tablecmds.c:3186 commands/tablecmds.c:3342 #, c-format -msgid "column \"%s\" inherits from generated column but specifies identity" -msgstr "la columna «%s» hereda de una columna generada pero especifica una identidad" +msgid "column \"%s\" has a compression method conflict" +msgstr "la columna «%s» tiene conflicto de método de compresión" -#: commands/tablecmds.c:3012 commands/tablecmds.c:3099 +#: commands/tablecmds.c:3281 #, c-format -msgid "child column \"%s\" specifies generation expression" -msgstr "la columna hija «%s» especifica una expresión de generación de columna" - -#: commands/tablecmds.c:3014 commands/tablecmds.c:3101 -#, fuzzy, c-format -#| msgid "A generated column cannot reference another generated column." -msgid "A child table column cannot be generated unless its parent column is." -msgstr "Una columna generada no puede hacer referencia a otra columna generada." +msgid "merging multiple inherited definitions of column \"%s\"" +msgstr "mezclando múltiples definiciones heredadas de la columna «%s»" -#: commands/tablecmds.c:3147 +#: commands/tablecmds.c:3293 #, c-format -msgid "column \"%s\" inherits conflicting generation expressions" -msgstr "la columna «%s» hereda expresiones de generación en conflicto" - -#: commands/tablecmds.c:3149 -#, fuzzy, c-format -#| msgid "To resolve the conflict, specify a default explicitly." -msgid "To resolve the conflict, specify a generation expression explicitly." -msgstr "Para resolver el conflicto, indique explícitamente un valor por omisión." +msgid "inherited column \"%s\" has a type conflict" +msgstr "columna heredada «%s» tiene conflicto de tipos" -#: commands/tablecmds.c:3153 +#: commands/tablecmds.c:3312 #, c-format -msgid "column \"%s\" inherits conflicting default values" -msgstr "la columna «%s» hereda valores por omisión no coincidentes" +msgid "inherited column \"%s\" has a collation conflict" +msgstr "columna heredada «%s» tiene conflicto de ordenamiento (collation)" -#: commands/tablecmds.c:3155 +#: commands/tablecmds.c:3326 #, c-format -msgid "To resolve the conflict, specify a default explicitly." -msgstr "Para resolver el conflicto, indique explícitamente un valor por omisión." +msgid "inherited column \"%s\" has a storage parameter conflict" +msgstr "columna heredada «%s» tiene conflicto de parámetros de almacenamiento" -#: commands/tablecmds.c:3205 +#: commands/tablecmds.c:3354 #, c-format -msgid "check constraint name \"%s\" appears multiple times but with different expressions" -msgstr "la restricción «check» «%s» aparece más de una vez con diferentes expresiones" +msgid "inherited column \"%s\" has a generation conflict" +msgstr "columna heredada «%s» tiene conflicto de generación" -#: commands/tablecmds.c:3418 +#: commands/tablecmds.c:3585 #, c-format msgid "cannot move temporary tables of other sessions" msgstr "no se pueden mover tablas temporales de otras sesiones" -#: commands/tablecmds.c:3488 +#: commands/tablecmds.c:3655 #, c-format msgid "cannot rename column of typed table" msgstr "no se puede cambiar el nombre a una columna de una tabla tipada" -#: commands/tablecmds.c:3507 -#, fuzzy, c-format -#| msgid "cannot alter inherited column \"%s\" of relation \"%s\"" +#: commands/tablecmds.c:3674 +#, c-format msgid "cannot rename columns of relation \"%s\"" -msgstr "no se puede alterar la columna heredada «%s» de la relación «%s»" +msgstr "no se puede cambiar el nombre de columnas de la relación «%s»" -#: commands/tablecmds.c:3602 +#: commands/tablecmds.c:3769 #, c-format msgid "inherited column \"%s\" must be renamed in child tables too" msgstr "debe cambiar el nombre a la columna heredada «%s» en las tablas hijas también" -#: commands/tablecmds.c:3634 +#: commands/tablecmds.c:3801 #, c-format msgid "cannot rename system column \"%s\"" msgstr "no se puede cambiar el nombre a la columna de sistema «%s»" -#: commands/tablecmds.c:3649 +#: commands/tablecmds.c:3816 #, c-format msgid "cannot rename inherited column \"%s\"" msgstr "no se puede cambiar el nombre a la columna heredada «%s»" -#: commands/tablecmds.c:3801 +#: commands/tablecmds.c:3968 #, c-format msgid "inherited constraint \"%s\" must be renamed in child tables too" msgstr "debe cambiar el nombre a la restricción heredada «%s» en las tablas hijas también" -#: commands/tablecmds.c:3808 +#: commands/tablecmds.c:3975 #, c-format msgid "cannot rename inherited constraint \"%s\"" msgstr "no se puede cambiar el nombre a la restricción heredada «%s»" #. translator: first %s is a SQL command, eg ALTER TABLE -#: commands/tablecmds.c:4105 +#: commands/tablecmds.c:4272 #, c-format msgid "cannot %s \"%s\" because it is being used by active queries in this session" msgstr "no se puede hacer %s en «%s» porque está siendo usada por consultas activas en esta sesión" #. translator: first %s is a SQL command, eg ALTER TABLE -#: commands/tablecmds.c:4114 +#: commands/tablecmds.c:4281 #, c-format msgid "cannot %s \"%s\" because it has pending trigger events" msgstr "no se puede hacer %s en «%s» porque tiene eventos de disparador pendientes" -#: commands/tablecmds.c:4581 +#: commands/tablecmds.c:4307 +#, c-format +msgid "cannot alter temporary tables of other sessions" +msgstr "no se pueden alterar tablas temporales de otras sesiones" + +#: commands/tablecmds.c:4788 #, c-format msgid "cannot alter partition \"%s\" with an incomplete detach" msgstr "no se puede modificar la partición «%s» teniendo un desprendimiento incompleto" -#: commands/tablecmds.c:4774 commands/tablecmds.c:4789 +#: commands/tablecmds.c:4992 commands/tablecmds.c:5007 #, c-format msgid "cannot change persistence setting twice" msgstr "no se puede cambiar la opción de persistencia dos veces" -#: commands/tablecmds.c:4810 -#, fuzzy, c-format -#| msgid "cannot change inheritance of partitioned table" -msgid "cannot change access method of a partitioned table" -msgstr "no se puede cambiar la herencia de una tabla particionada" - -#: commands/tablecmds.c:4816 -#, fuzzy, c-format -#| msgid "cannot have multiple SET TABLESPACE subcommands" +#: commands/tablecmds.c:5028 +#, c-format msgid "cannot have multiple SET ACCESS METHOD subcommands" -msgstr "no se pueden tener múltiples subórdenes SET TABLESPACE" +msgstr "no se pueden tener múltiples subórdenes SET ACCESS METHOD" -#: commands/tablecmds.c:5537 +#: commands/tablecmds.c:5784 #, c-format msgid "cannot rewrite system relation \"%s\"" msgstr "no se puede reescribir la relación de sistema «%s»" -#: commands/tablecmds.c:5543 +#: commands/tablecmds.c:5790 #, c-format msgid "cannot rewrite table \"%s\" used as a catalog table" msgstr "no se puede reescribir la tabla «%s» que es usada como tabla de catálogo" -#: commands/tablecmds.c:5553 +#: commands/tablecmds.c:5802 #, c-format msgid "cannot rewrite temporary tables of other sessions" msgstr "no se puede reescribir tablas temporales de otras sesiones" -#: commands/tablecmds.c:6048 +#: commands/tablecmds.c:6297 #, c-format msgid "column \"%s\" of relation \"%s\" contains null values" msgstr "la columna «%s» de la relación «%s» contiene valores null" -#: commands/tablecmds.c:6065 +#: commands/tablecmds.c:6314 #, c-format msgid "check constraint \"%s\" of relation \"%s\" is violated by some row" msgstr "la restricción check «%s» de la relación «%s» es violada por alguna fila" -#: commands/tablecmds.c:6084 partitioning/partbounds.c:3388 +#: commands/tablecmds.c:6333 partitioning/partbounds.c:3388 #, c-format msgid "updated partition constraint for default partition \"%s\" would be violated by some row" msgstr "la restricción de partición actualizada para la partición default «%s» sería violada por alguna fila" -#: commands/tablecmds.c:6090 +#: commands/tablecmds.c:6339 #, c-format msgid "partition constraint of relation \"%s\" is violated by some row" msgstr "la restricción de partición de la relación «%s» es violada por alguna fila" #. translator: %s is a group of some SQL keywords -#: commands/tablecmds.c:6352 -#, fuzzy, c-format -#| msgid "relation \"%s\" is not a parent of relation \"%s\"" +#: commands/tablecmds.c:6608 +#, c-format msgid "ALTER action %s cannot be performed on relation \"%s\"" -msgstr "relación «%s» no es un padre de la relación «%s»" +msgstr "la acción ALTER %s no puede ser efecutada en la relación «%s»" -#: commands/tablecmds.c:6607 commands/tablecmds.c:6614 +#: commands/tablecmds.c:6863 commands/tablecmds.c:6870 #, c-format msgid "cannot alter type \"%s\" because column \"%s.%s\" uses it" msgstr "no se puede alterar el tipo «%s» porque la columna «%s.%s» lo usa" -#: commands/tablecmds.c:6621 +#: commands/tablecmds.c:6877 #, c-format msgid "cannot alter foreign table \"%s\" because column \"%s.%s\" uses its row type" msgstr "no se puede alterar la tabla foránea «%s» porque la columna «%s.%s» usa su tipo de registro" -#: commands/tablecmds.c:6628 +#: commands/tablecmds.c:6884 #, c-format msgid "cannot alter table \"%s\" because column \"%s.%s\" uses its row type" msgstr "no se puede alterar la tabla «%s» porque la columna «%s.%s» usa su tipo de registro" -#: commands/tablecmds.c:6684 +#: commands/tablecmds.c:6940 #, c-format msgid "cannot alter type \"%s\" because it is the type of a typed table" msgstr "no se puede cambiar el tipo «%s» porque es el tipo de una tabla tipada" -#: commands/tablecmds.c:6686 +#: commands/tablecmds.c:6942 #, c-format msgid "Use ALTER ... CASCADE to alter the typed tables too." msgstr "Use ALTER ... CASCADE para eliminar además las tablas tipadas." -#: commands/tablecmds.c:6732 +#: commands/tablecmds.c:6988 #, c-format msgid "type %s is not a composite type" msgstr "el tipo %s no es un tipo compuesto" -#: commands/tablecmds.c:6759 +#: commands/tablecmds.c:7015 #, c-format msgid "cannot add column to typed table" msgstr "no se puede agregar una columna a una tabla tipada" -#: commands/tablecmds.c:6812 +#: commands/tablecmds.c:7063 #, c-format msgid "cannot add column to a partition" msgstr "no se puede agregar una columna a una partición" -#: commands/tablecmds.c:6841 commands/tablecmds.c:15165 +#: commands/tablecmds.c:7092 commands/tablecmds.c:15772 #, c-format msgid "child table \"%s\" has different type for column \"%s\"" msgstr "la tabla hija «%s» tiene un tipo diferente para la columna «%s»" -#: commands/tablecmds.c:6847 commands/tablecmds.c:15172 +#: commands/tablecmds.c:7098 commands/tablecmds.c:15778 #, c-format msgid "child table \"%s\" has different collation for column \"%s\"" msgstr "la tabla hija «%s» tiene un ordenamiento (collation) diferente para la columna «%s»" -#: commands/tablecmds.c:6865 +#: commands/tablecmds.c:7116 #, c-format msgid "merging definition of column \"%s\" for child \"%s\"" msgstr "mezclando la definición de la columna «%s» en la tabla hija «%s»" -#: commands/tablecmds.c:6908 +#: commands/tablecmds.c:7169 #, c-format msgid "cannot recursively add identity column to table that has child tables" msgstr "no se puede agregar una columna de identidad recursivamente a una tabla que tiene tablas hijas" -#: commands/tablecmds.c:7159 +#: commands/tablecmds.c:7382 #, c-format msgid "column must be added to child tables too" msgstr "la columna debe ser agregada a las tablas hijas también" -#: commands/tablecmds.c:7237 +#: commands/tablecmds.c:7460 #, c-format msgid "column \"%s\" of relation \"%s\" already exists, skipping" msgstr "la columna «%s» de la relación «%s» ya existe, omitiendo" -#: commands/tablecmds.c:7244 +#: commands/tablecmds.c:7467 #, c-format msgid "column \"%s\" of relation \"%s\" already exists" msgstr "ya existe la columna «%s» en la relación «%s»" -#: commands/tablecmds.c:7310 commands/tablecmds.c:12094 +#: commands/tablecmds.c:7533 commands/tablecmds.c:12576 #, c-format msgid "cannot remove constraint from only the partitioned table when partitions exist" msgstr "no se pueden eliminar restricciones sólo de la tabla particionada cuando existen particiones" -#: commands/tablecmds.c:7311 commands/tablecmds.c:7628 -#: commands/tablecmds.c:8593 commands/tablecmds.c:12095 +#: commands/tablecmds.c:7534 commands/tablecmds.c:7848 +#: commands/tablecmds.c:8026 commands/tablecmds.c:8133 +#: commands/tablecmds.c:8250 commands/tablecmds.c:9069 +#: commands/tablecmds.c:12577 #, c-format msgid "Do not specify the ONLY keyword." msgstr "No especifique la opción ONLY." -#: commands/tablecmds.c:7348 commands/tablecmds.c:7554 -#: commands/tablecmds.c:7696 commands/tablecmds.c:7810 -#: commands/tablecmds.c:7904 commands/tablecmds.c:7963 -#: commands/tablecmds.c:8082 commands/tablecmds.c:8221 -#: commands/tablecmds.c:8291 commands/tablecmds.c:8425 -#: commands/tablecmds.c:12249 commands/tablecmds.c:13753 -#: commands/tablecmds.c:16282 +#: commands/tablecmds.c:7570 commands/tablecmds.c:7774 +#: commands/tablecmds.c:7916 commands/tablecmds.c:8048 +#: commands/tablecmds.c:8177 commands/tablecmds.c:8271 +#: commands/tablecmds.c:8372 commands/tablecmds.c:8529 +#: commands/tablecmds.c:8682 commands/tablecmds.c:8763 +#: commands/tablecmds.c:8897 commands/tablecmds.c:12730 +#: commands/tablecmds.c:14261 commands/tablecmds.c:16887 #, c-format msgid "cannot alter system column \"%s\"" msgstr "no se puede alterar columna de sistema «%s»" -#: commands/tablecmds.c:7354 commands/tablecmds.c:7702 +#: commands/tablecmds.c:7576 commands/tablecmds.c:7922 #, c-format msgid "column \"%s\" of relation \"%s\" is an identity column" msgstr "la columna «%s» en la relación «%s» es una columna de identidad" -#: commands/tablecmds.c:7397 +#: commands/tablecmds.c:7617 #, c-format msgid "column \"%s\" is in a primary key" msgstr "la columna «%s» está en la llave primaria" -#: commands/tablecmds.c:7402 +#: commands/tablecmds.c:7622 #, c-format msgid "column \"%s\" is in index used as replica identity" msgstr "la columna «%s» se encuentra en un índice utilizado como identidad de réplica" -#: commands/tablecmds.c:7425 +#: commands/tablecmds.c:7645 #, c-format msgid "column \"%s\" is marked NOT NULL in parent table" msgstr "columna «%s» está marcada NOT NULL en la tabla padre" -#: commands/tablecmds.c:7625 commands/tablecmds.c:9077 +#: commands/tablecmds.c:7845 commands/tablecmds.c:9553 #, c-format msgid "constraint must be added to child tables too" msgstr "la restricción debe ser agregada a las tablas hijas también" -#: commands/tablecmds.c:7626 +#: commands/tablecmds.c:7846 #, c-format msgid "Column \"%s\" of relation \"%s\" is not already NOT NULL." msgstr "La columna «%s» de la relación «%s» no está previamente marcada NOT NULL." -#: commands/tablecmds.c:7704 -#, c-format -msgid "Use ALTER TABLE ... ALTER COLUMN ... DROP IDENTITY instead." -msgstr "Use ALTER TABLE ... ALTER COLUMN ... DROP IDENTITY en su lugar." - -#: commands/tablecmds.c:7709 +#: commands/tablecmds.c:7931 #, c-format msgid "column \"%s\" of relation \"%s\" is a generated column" msgstr "la columna «%s» en la relación «%s» es una columna generada" -#: commands/tablecmds.c:7712 -#, c-format -msgid "Use ALTER TABLE ... ALTER COLUMN ... DROP EXPRESSION instead." -msgstr "Use ALTER TABLE ... ALTER COLUMN ... DROP EXPRESSION en su lugar." +#: commands/tablecmds.c:8025 +#, fuzzy, c-format +msgid "cannot add identity to a column of only the partitioned table" +msgstr "no se pueden eliminar columnas sólo de una tabla particionada cuando existe particiones" + +#: commands/tablecmds.c:8031 +#, fuzzy, c-format +msgid "cannot add identity to a column of a partition" +msgstr "no se puede agregar una columna a una partición" -#: commands/tablecmds.c:7821 +#: commands/tablecmds.c:8059 #, c-format msgid "column \"%s\" of relation \"%s\" must be declared NOT NULL before identity can be added" msgstr "la columna «%s» en la relación «%s» debe ser declarada NOT NULL antes de que una identidad pueda agregarse" -#: commands/tablecmds.c:7827 +#: commands/tablecmds.c:8065 #, c-format msgid "column \"%s\" of relation \"%s\" is already an identity column" msgstr "la columna «%s» en la relación «%s» ya es una columna de identidad" -#: commands/tablecmds.c:7833 +#: commands/tablecmds.c:8071 #, c-format msgid "column \"%s\" of relation \"%s\" already has a default value" msgstr "la columna «%s» en la relación «%s» ya tiene un valor por omisión" -#: commands/tablecmds.c:7910 commands/tablecmds.c:7971 +#: commands/tablecmds.c:8132 +#, fuzzy, c-format +msgid "cannot change identity column of only the partitioned table" +msgstr "no se puede cambiar la herencia de una tabla particionada" + +#: commands/tablecmds.c:8138 +#, fuzzy, c-format +msgid "cannot change identity column of a partition" +msgstr "no puede cambiar la herencia de una partición" + +#: commands/tablecmds.c:8183 commands/tablecmds.c:8279 #, c-format msgid "column \"%s\" of relation \"%s\" is not an identity column" msgstr "la columna «%s» en la relación «%s» no es una columna identidad" -#: commands/tablecmds.c:7976 +#: commands/tablecmds.c:8249 +#, fuzzy, c-format +msgid "cannot drop identity from a column of only the partitioned table" +msgstr "no se pueden eliminar columnas sólo de una tabla particionada cuando existe particiones" + +#: commands/tablecmds.c:8255 +#, fuzzy, c-format +msgid "cannot drop identity from a column of a partition" +msgstr "no se puede agregar una columna a una partición" + +#: commands/tablecmds.c:8284 #, c-format msgid "column \"%s\" of relation \"%s\" is not an identity column, skipping" msgstr "la columna «%s» de la relación «%s» no es una columna identidad, omitiendo" -#: commands/tablecmds.c:8029 +#: commands/tablecmds.c:8378 +#, fuzzy, c-format +msgid "column \"%s\" of relation \"%s\" is not a generated column" +msgstr "la columna «%s» en la relación «%s» es una columna generada" + +#: commands/tablecmds.c:8476 #, c-format msgid "ALTER TABLE / DROP EXPRESSION must be applied to child tables too" msgstr "ALTER TABLE / DROP EXPRESSION se debe aplicar a las tablas hijas también" -#: commands/tablecmds.c:8051 +#: commands/tablecmds.c:8498 #, c-format msgid "cannot drop generation expression from inherited column" msgstr "no se puede eliminar la expresión de generación de una columna heredada" -#: commands/tablecmds.c:8090 +#: commands/tablecmds.c:8537 #, c-format msgid "column \"%s\" of relation \"%s\" is not a stored generated column" msgstr "la columna «%s» en la relación «%s» no es una columna generada almacenada" -#: commands/tablecmds.c:8095 +#: commands/tablecmds.c:8542 #, c-format msgid "column \"%s\" of relation \"%s\" is not a stored generated column, skipping" msgstr "la columna «%s» de la relación «%s» no es una columna generada almacenada, omitiendo" -#: commands/tablecmds.c:8168 +#: commands/tablecmds.c:8620 #, c-format msgid "cannot refer to non-index column by number" msgstr "no se puede referir a columnas que no son de índice por número" -#: commands/tablecmds.c:8211 +#: commands/tablecmds.c:8672 #, c-format msgid "column number %d of relation \"%s\" does not exist" msgstr "no existe la columna número %d en la relación «%s»" -#: commands/tablecmds.c:8230 +#: commands/tablecmds.c:8691 #, c-format msgid "cannot alter statistics on included column \"%s\" of index \"%s\"" msgstr "no se puede alterar estadísticas en la columna incluida «%s» del índice «%s»" -#: commands/tablecmds.c:8235 +#: commands/tablecmds.c:8696 #, c-format msgid "cannot alter statistics on non-expression column \"%s\" of index \"%s\"" msgstr "no se puede alterar estadísticas en la columna no-de-expresión «%s» del índice «%s»" -#: commands/tablecmds.c:8237 +#: commands/tablecmds.c:8698 #, c-format msgid "Alter statistics on table column instead." msgstr "Altere las estadísticas en la columna de la tabla en su lugar." -#: commands/tablecmds.c:8472 +#: commands/tablecmds.c:8944 #, c-format msgid "cannot drop column from typed table" msgstr "no se pueden eliminar columnas de una tabla tipada" -#: commands/tablecmds.c:8531 +#: commands/tablecmds.c:9007 #, c-format msgid "column \"%s\" of relation \"%s\" does not exist, skipping" msgstr "no existe la columna «%s» en la relación «%s», omitiendo" -#: commands/tablecmds.c:8544 +#: commands/tablecmds.c:9020 #, c-format msgid "cannot drop system column \"%s\"" msgstr "no se puede eliminar la columna de sistema «%s»" -#: commands/tablecmds.c:8554 +#: commands/tablecmds.c:9030 #, c-format msgid "cannot drop inherited column \"%s\"" msgstr "no se puede eliminar la columna heredada «%s»" -#: commands/tablecmds.c:8567 +#: commands/tablecmds.c:9043 #, c-format msgid "cannot drop column \"%s\" because it is part of the partition key of relation \"%s\"" msgstr "no se puede eliminar la columna «%s» porque es parte de la llave de partición de la relación «%s»" -#: commands/tablecmds.c:8592 +#: commands/tablecmds.c:9068 #, c-format msgid "cannot drop column from only the partitioned table when partitions exist" msgstr "no se pueden eliminar columnas sólo de una tabla particionada cuando existe particiones" -#: commands/tablecmds.c:8797 +#: commands/tablecmds.c:9273 #, c-format msgid "ALTER TABLE / ADD CONSTRAINT USING INDEX is not supported on partitioned tables" msgstr "ALTER TABLE / ADD CONSTRAINT USING INDEX no está soportado en tablas particionadas" -#: commands/tablecmds.c:8822 +#: commands/tablecmds.c:9298 #, c-format msgid "ALTER TABLE / ADD CONSTRAINT USING INDEX will rename index \"%s\" to \"%s\"" msgstr "ALTER TABLE / ADD CONSTRAINT USING INDEX renombrará el índice «%s» a «%s»" -#: commands/tablecmds.c:9159 +#: commands/tablecmds.c:9635 #, c-format msgid "cannot use ONLY for foreign key on partitioned table \"%s\" referencing relation \"%s\"" msgstr "no se puede usar ONLY para una llave foránea en la tabla particionada «%s» haciendo referencia a la relación «%s»" -#: commands/tablecmds.c:9165 +#: commands/tablecmds.c:9641 #, c-format msgid "cannot add NOT VALID foreign key on partitioned table \"%s\" referencing relation \"%s\"" msgstr "no se puede agregar una llave foránea NOT VALID a la tabla particionada «%s» haciendo referencia a la relación «%s»" -#: commands/tablecmds.c:9168 +#: commands/tablecmds.c:9644 #, c-format msgid "This feature is not yet supported on partitioned tables." msgstr "Esta característica no está aún soportada en tablas particionadas." -#: commands/tablecmds.c:9175 commands/tablecmds.c:9631 +#: commands/tablecmds.c:9651 commands/tablecmds.c:10107 #, c-format msgid "referenced relation \"%s\" is not a table" msgstr "la relación referida «%s» no es una tabla" -#: commands/tablecmds.c:9198 +#: commands/tablecmds.c:9674 #, c-format msgid "constraints on permanent tables may reference only permanent tables" msgstr "las restricciones en tablas permanentes sólo pueden hacer referencia a tablas permanentes" -#: commands/tablecmds.c:9205 +#: commands/tablecmds.c:9681 #, c-format msgid "constraints on unlogged tables may reference only permanent or unlogged tables" msgstr "las restricciones en tablas «unlogged» sólo pueden hacer referencia a tablas permanentes o «unlogged»" -#: commands/tablecmds.c:9211 +#: commands/tablecmds.c:9687 #, c-format msgid "constraints on temporary tables may reference only temporary tables" msgstr "las restricciones en tablas temporales sólo pueden hacer referencia a tablas temporales" -#: commands/tablecmds.c:9215 +#: commands/tablecmds.c:9691 #, c-format msgid "constraints on temporary tables must involve temporary tables of this session" msgstr "las restricciones en tablas temporales sólo pueden hacer referencia a tablas temporales de esta sesión" -#: commands/tablecmds.c:9279 commands/tablecmds.c:9285 +#: commands/tablecmds.c:9755 commands/tablecmds.c:9761 #, c-format msgid "invalid %s action for foreign key constraint containing generated column" msgstr "acción %s no válida para restricción de llave foránea que contiene columnas generadas" -#: commands/tablecmds.c:9301 +#: commands/tablecmds.c:9777 #, c-format msgid "number of referencing and referenced columns for foreign key disagree" msgstr "el número de columnas referidas en la llave foránea no coincide con el número de columnas de referencia" -#: commands/tablecmds.c:9408 +#: commands/tablecmds.c:9884 #, c-format msgid "foreign key constraint \"%s\" cannot be implemented" msgstr "la restricción de llave foránea «%s» no puede ser implementada" -#: commands/tablecmds.c:9410 +#: commands/tablecmds.c:9886 #, c-format msgid "Key columns \"%s\" and \"%s\" are of incompatible types: %s and %s." msgstr "Las columnas llave «%s» y «%s» son de tipos incompatibles: %s y %s" -#: commands/tablecmds.c:9567 +#: commands/tablecmds.c:10043 #, c-format msgid "column \"%s\" referenced in ON DELETE SET action must be part of foreign key" msgstr "la columna «%s» referenciada en la acción ON DELETE SET debe ser parte de la llave foránea" -#: commands/tablecmds.c:9841 commands/tablecmds.c:10311 -#: parser/parse_utilcmd.c:791 parser/parse_utilcmd.c:920 +#: commands/tablecmds.c:10317 commands/tablecmds.c:10787 +#: parser/parse_utilcmd.c:797 parser/parse_utilcmd.c:920 #, c-format msgid "foreign key constraints are not supported on foreign tables" msgstr "las restricciones de llave foránea no están soportadas en tablas foráneas" -#: commands/tablecmds.c:10864 commands/tablecmds.c:11142 -#: commands/tablecmds.c:12051 commands/tablecmds.c:12126 +#: commands/tablecmds.c:11340 commands/tablecmds.c:11621 +#: commands/tablecmds.c:12533 commands/tablecmds.c:12607 #, c-format msgid "constraint \"%s\" of relation \"%s\" does not exist" msgstr "no existe la restricción «%s» en la relación «%s»" -#: commands/tablecmds.c:10871 +#: commands/tablecmds.c:11347 #, c-format msgid "constraint \"%s\" of relation \"%s\" is not a foreign key constraint" msgstr "la restricción «%s» de la relación «%s» no es una restricción de llave foránea" -#: commands/tablecmds.c:10909 +#: commands/tablecmds.c:11385 #, c-format msgid "cannot alter constraint \"%s\" on relation \"%s\"" msgstr "no se puede modificar la restricción «%s» en la relación «%s»" -#: commands/tablecmds.c:10912 +#: commands/tablecmds.c:11388 #, c-format msgid "Constraint \"%s\" is derived from constraint \"%s\" of relation \"%s\"." msgstr "La restricción «%s» deriva de la restricción «%s» de la relación «%s»." -#: commands/tablecmds.c:10914 +#: commands/tablecmds.c:11390 #, c-format -msgid "You may alter the constraint it derives from, instead." +msgid "You may alter the constraint it derives from instead." msgstr "En su lugar, puede modificar la restricción de la cual deriva." -#: commands/tablecmds.c:11150 +#: commands/tablecmds.c:11629 #, c-format msgid "constraint \"%s\" of relation \"%s\" is not a foreign key or check constraint" msgstr "la restricción «%s» de la relación «%s» no es una llave foránea o restricción «check»" -#: commands/tablecmds.c:11227 +#: commands/tablecmds.c:11706 #, c-format msgid "constraint must be validated on child tables too" msgstr "la restricción debe ser validada en las tablas hijas también" -#: commands/tablecmds.c:11314 +#: commands/tablecmds.c:11793 #, c-format msgid "column \"%s\" referenced in foreign key constraint does not exist" msgstr "no existe la columna «%s» referida en la llave foránea" -#: commands/tablecmds.c:11320 -#, fuzzy, c-format -#| msgid "Generated columns cannot be used in COPY." +#: commands/tablecmds.c:11799 +#, c-format msgid "system columns cannot be used in foreign keys" -msgstr "Las columnas generadas no pueden usarse en COPY." +msgstr "las columnas de sistema no pueden usarse en llaves foráneas" -#: commands/tablecmds.c:11324 +#: commands/tablecmds.c:11803 #, c-format msgid "cannot have more than %d keys in a foreign key" msgstr "no se puede tener más de %d columnas en una llave foránea" -#: commands/tablecmds.c:11389 +#: commands/tablecmds.c:11868 #, c-format msgid "cannot use a deferrable primary key for referenced table \"%s\"" msgstr "no se puede usar una llave primaria postergable para la tabla referenciada «%s»" -#: commands/tablecmds.c:11406 +#: commands/tablecmds.c:11885 #, c-format msgid "there is no primary key for referenced table \"%s\"" msgstr "no hay llave primaria para la tabla referida «%s»" -#: commands/tablecmds.c:11470 +#: commands/tablecmds.c:11953 #, c-format msgid "foreign key referenced-columns list must not contain duplicates" msgstr "la lista de columnas referidas en una llave foránea no debe contener duplicados" -#: commands/tablecmds.c:11562 +#: commands/tablecmds.c:12045 #, c-format msgid "cannot use a deferrable unique constraint for referenced table \"%s\"" msgstr "no se puede usar una restricción unique postergable para la tabla referenciada «%s»" -#: commands/tablecmds.c:11567 +#: commands/tablecmds.c:12050 #, c-format msgid "there is no unique constraint matching given keys for referenced table \"%s\"" msgstr "no hay restricción unique que coincida con las columnas dadas en la tabla referida «%s»" -#: commands/tablecmds.c:12007 +#: commands/tablecmds.c:12489 #, c-format msgid "cannot drop inherited constraint \"%s\" of relation \"%s\"" msgstr "no se puede eliminar la restricción «%s» heredada de la relación «%s»" -#: commands/tablecmds.c:12057 +#: commands/tablecmds.c:12539 #, c-format msgid "constraint \"%s\" of relation \"%s\" does not exist, skipping" msgstr "no existe la restricción «%s» en la relación «%s», omitiendo" -#: commands/tablecmds.c:12233 +#: commands/tablecmds.c:12714 #, c-format msgid "cannot alter column type of typed table" msgstr "no se puede cambiar el tipo de una columna de una tabla tipada" -#: commands/tablecmds.c:12260 +#: commands/tablecmds.c:12741 #, c-format msgid "cannot alter inherited column \"%s\"" msgstr "no se puede alterar la columna heredada «%s»" -#: commands/tablecmds.c:12269 +#: commands/tablecmds.c:12750 #, c-format msgid "cannot alter column \"%s\" because it is part of the partition key of relation \"%s\"" msgstr "no se puede alterar la columna «%s» porque es parte de la llave de partición de la relación «%s»" -#: commands/tablecmds.c:12319 +#: commands/tablecmds.c:12800 #, c-format msgid "result of USING clause for column \"%s\" cannot be cast automatically to type %s" msgstr "el resultado de la cláusula USING para la columna «%s» no puede ser convertido automáticamente al tipo %s" -#: commands/tablecmds.c:12322 +#: commands/tablecmds.c:12803 #, c-format msgid "You might need to add an explicit cast." msgstr "Puede ser necesario agregar un cast explícito." -#: commands/tablecmds.c:12326 +#: commands/tablecmds.c:12807 #, c-format msgid "column \"%s\" cannot be cast automatically to type %s" msgstr "la columna «%s» no puede convertirse automáticamente al tipo %s" #. translator: USING is SQL, don't translate it -#: commands/tablecmds.c:12329 +#: commands/tablecmds.c:12810 #, c-format msgid "You might need to specify \"USING %s::%s\"." msgstr "Puede ser necesario especificar «USING %s::%s»." -#: commands/tablecmds.c:12428 +#: commands/tablecmds.c:12909 #, c-format msgid "cannot alter inherited column \"%s\" of relation \"%s\"" msgstr "no se puede alterar la columna heredada «%s» de la relación «%s»" -#: commands/tablecmds.c:12457 +#: commands/tablecmds.c:12938 #, c-format msgid "USING expression contains a whole-row table reference." msgstr "La expresión USING contiene una referencia a la fila completa (whole-row)." -#: commands/tablecmds.c:12468 +#: commands/tablecmds.c:12949 #, c-format msgid "type of inherited column \"%s\" must be changed in child tables too" msgstr "debe cambiar el tipo a la columna heredada «%s» en las tablas hijas también" -#: commands/tablecmds.c:12593 +#: commands/tablecmds.c:13074 #, c-format msgid "cannot alter type of column \"%s\" twice" msgstr "no se puede alterar el tipo de la columna «%s» dos veces" -#: commands/tablecmds.c:12631 +#: commands/tablecmds.c:13112 #, c-format msgid "generation expression for column \"%s\" cannot be cast automatically to type %s" msgstr "la expresión de generación para la columna «%s» no puede ser convertido automáticamente al tipo %s" -#: commands/tablecmds.c:12636 +#: commands/tablecmds.c:13117 #, c-format msgid "default for column \"%s\" cannot be cast automatically to type %s" msgstr "el valor por omisión para la columna «%s» no puede ser convertido automáticamente al tipo %s" -#: commands/tablecmds.c:12717 +#: commands/tablecmds.c:13421 #, c-format -msgid "cannot alter type of a column used by a view or rule" -msgstr "no se puede alterar el tipo de una columna usada en una regla o vista" +msgid "cannot alter type of a column used by a function or procedure" +msgstr "no se puede alterar el tipo de una columna usada en una función o procedimiento" -#: commands/tablecmds.c:12718 commands/tablecmds.c:12737 -#: commands/tablecmds.c:12755 +#: commands/tablecmds.c:13422 commands/tablecmds.c:13437 +#: commands/tablecmds.c:13457 commands/tablecmds.c:13476 +#: commands/tablecmds.c:13535 #, c-format msgid "%s depends on column \"%s\"" msgstr "%s depende de la columna «%s»" -#: commands/tablecmds.c:12736 +#: commands/tablecmds.c:13436 +#, c-format +msgid "cannot alter type of a column used by a view or rule" +msgstr "no se puede alterar el tipo de una columna usada en una regla o vista" + +#: commands/tablecmds.c:13456 #, c-format msgid "cannot alter type of a column used in a trigger definition" msgstr "no se puede alterar el tipo de una columna usada en una definición de trigger" -#: commands/tablecmds.c:12754 +#: commands/tablecmds.c:13475 #, c-format msgid "cannot alter type of a column used in a policy definition" msgstr "no se puede alterar el tipo de una columna usada en una definición de política" -#: commands/tablecmds.c:12785 +#: commands/tablecmds.c:13506 #, c-format msgid "cannot alter type of a column used by a generated column" msgstr "no se puede alterar el tipo de una columna usada por una columna generada" -#: commands/tablecmds.c:12786 +#: commands/tablecmds.c:13507 #, c-format msgid "Column \"%s\" is used by generated column \"%s\"." msgstr "La columna «%s» es usada por la columna generada «%s»." -#: commands/tablecmds.c:13861 commands/tablecmds.c:13873 +#: commands/tablecmds.c:13534 +#, c-format +msgid "cannot alter type of a column used by a publication WHERE clause" +msgstr "no se puede alterar el tipo de una columna usada en una cláusula WHERE de publicación" + +#: commands/tablecmds.c:14369 commands/tablecmds.c:14381 #, c-format msgid "cannot change owner of index \"%s\"" msgstr "no se puede cambiar el dueño del índice «%s»" -#: commands/tablecmds.c:13863 commands/tablecmds.c:13875 +#: commands/tablecmds.c:14371 commands/tablecmds.c:14383 #, c-format -msgid "Change the ownership of the index's table, instead." -msgstr "Considere cambiar el dueño de la tabla en vez de cambiar el dueño del índice." +msgid "Change the ownership of the index's table instead." +msgstr "Cambie el dueño de la tabla del índice en su lugar." -#: commands/tablecmds.c:13889 +#: commands/tablecmds.c:14397 #, c-format msgid "cannot change owner of sequence \"%s\"" msgstr "no se puede cambiar el dueño de la secuencia «%s»" -#: commands/tablecmds.c:13903 commands/tablecmds.c:17201 -#: commands/tablecmds.c:17220 +#: commands/tablecmds.c:14422 #, c-format -msgid "Use ALTER TYPE instead." -msgstr "Considere usar ALTER TYPE." - -#: commands/tablecmds.c:13912 -#, fuzzy, c-format -#| msgid "cannot change owner of index \"%s\"" msgid "cannot change owner of relation \"%s\"" -msgstr "no se puede cambiar el dueño del índice «%s»" +msgstr "no se puede cambiar el dueño de la relación «%s»" -#: commands/tablecmds.c:14274 +#: commands/tablecmds.c:14889 #, c-format msgid "cannot have multiple SET TABLESPACE subcommands" msgstr "no se pueden tener múltiples subórdenes SET TABLESPACE" -#: commands/tablecmds.c:14351 -#, fuzzy, c-format -#| msgid "cannot alter constraint \"%s\" on relation \"%s\"" +#: commands/tablecmds.c:14966 +#, c-format msgid "cannot set options for relation \"%s\"" -msgstr "no se puede modificar la restricción «%s» en la relación «%s»" +msgstr "no se puede definir opciones para la relación «%s»" -#: commands/tablecmds.c:14385 commands/view.c:445 +#: commands/tablecmds.c:15000 commands/view.c:440 #, c-format msgid "WITH CHECK OPTION is supported only on automatically updatable views" msgstr "WITH CHECK OPTION sólo puede usarse en vistas automáticamente actualizables" -#: commands/tablecmds.c:14635 +#: commands/tablecmds.c:15250 #, c-format msgid "only tables, indexes, and materialized views exist in tablespaces" msgstr "solamente tablas, índices y vistas materializadas existen en tablespaces" -#: commands/tablecmds.c:14647 +#: commands/tablecmds.c:15262 #, c-format msgid "cannot move relations in to or out of pg_global tablespace" msgstr "no se puede mover objetos hacia o desde el tablespace pg_global" -#: commands/tablecmds.c:14739 +#: commands/tablecmds.c:15354 #, c-format msgid "aborting because lock on relation \"%s.%s\" is not available" msgstr "cancelando porque el lock en la relación «%s.%s» no está disponible" -#: commands/tablecmds.c:14755 +#: commands/tablecmds.c:15370 #, c-format msgid "no matching relations in tablespace \"%s\" found" msgstr "no se encontraron relaciones coincidentes en el tablespace «%s»" -#: commands/tablecmds.c:14873 +#: commands/tablecmds.c:15492 #, c-format msgid "cannot change inheritance of typed table" msgstr "no se puede cambiar la herencia de una tabla tipada" -#: commands/tablecmds.c:14878 commands/tablecmds.c:15396 +#: commands/tablecmds.c:15497 commands/tablecmds.c:15997 #, c-format msgid "cannot change inheritance of a partition" msgstr "no puede cambiar la herencia de una partición" -#: commands/tablecmds.c:14883 +#: commands/tablecmds.c:15502 #, c-format msgid "cannot change inheritance of partitioned table" msgstr "no se puede cambiar la herencia de una tabla particionada" -#: commands/tablecmds.c:14929 +#: commands/tablecmds.c:15548 #, c-format msgid "cannot inherit to temporary relation of another session" msgstr "no se puede agregar herencia a tablas temporales de otra sesión" -#: commands/tablecmds.c:14942 +#: commands/tablecmds.c:15561 #, c-format msgid "cannot inherit from a partition" msgstr "no se puede heredar de una partición" -#: commands/tablecmds.c:14964 commands/tablecmds.c:17841 +#: commands/tablecmds.c:15583 commands/tablecmds.c:18465 #, c-format msgid "circular inheritance not allowed" msgstr "la herencia circular no está permitida" -#: commands/tablecmds.c:14965 commands/tablecmds.c:17842 +#: commands/tablecmds.c:15584 commands/tablecmds.c:18466 #, c-format msgid "\"%s\" is already a child of \"%s\"." msgstr "«%s» ya es un hijo de «%s»." -#: commands/tablecmds.c:14978 +#: commands/tablecmds.c:15597 #, c-format msgid "trigger \"%s\" prevents table \"%s\" from becoming an inheritance child" msgstr "el trigger «%s» impide a la tabla «%s» convertirse en hija de herencia" -#: commands/tablecmds.c:14980 +#: commands/tablecmds.c:15599 #, c-format msgid "ROW triggers with transition tables are not supported in inheritance hierarchies." msgstr "Los triggers ROW con tablas de transición no están permitidos en jerarquías de herencia." -#: commands/tablecmds.c:15183 +#: commands/tablecmds.c:15788 #, c-format msgid "column \"%s\" in child table must be marked NOT NULL" msgstr "columna «%s» en tabla hija debe marcarse como NOT NULL" -#: commands/tablecmds.c:15192 +#: commands/tablecmds.c:15797 #, c-format msgid "column \"%s\" in child table must be a generated column" msgstr "columna «%s» en tabla hija debe ser una columna generada" -#: commands/tablecmds.c:15197 -#, fuzzy, c-format -#| msgid "column \"%s\" in child table must be a generated column" +#: commands/tablecmds.c:15801 +#, c-format msgid "column \"%s\" in child table must not be a generated column" -msgstr "columna «%s» en tabla hija debe ser una columna generada" +msgstr "columna «%s» en tabla hija no puede ser una columna generada" -#: commands/tablecmds.c:15228 +#: commands/tablecmds.c:15839 #, c-format msgid "child table is missing column \"%s\"" msgstr "tabla hija no tiene la columna «%s»" -#: commands/tablecmds.c:15316 +#: commands/tablecmds.c:15920 #, c-format msgid "child table \"%s\" has different definition for check constraint \"%s\"" msgstr "la tabla hija «%s» tiene una definición diferente para la restricción «check» «%s»" -#: commands/tablecmds.c:15324 +#: commands/tablecmds.c:15927 #, c-format msgid "constraint \"%s\" conflicts with non-inherited constraint on child table \"%s\"" msgstr "la restricción «%s» está en conflicto con la restricción no heredada en la tabla hija «%s»" -#: commands/tablecmds.c:15335 +#: commands/tablecmds.c:15937 #, c-format msgid "constraint \"%s\" conflicts with NOT VALID constraint on child table \"%s\"" msgstr "la restricción «%s» está en conflicto con la restricción NOT VALID en la tabla hija «%s»" -#: commands/tablecmds.c:15374 +#: commands/tablecmds.c:15975 #, c-format msgid "child table is missing constraint \"%s\"" msgstr "tabla hija no tiene la restricción «%s»" -#: commands/tablecmds.c:15460 +#: commands/tablecmds.c:16061 #, c-format msgid "partition \"%s\" already pending detach in partitioned table \"%s.%s\"" msgstr "la partición «%s» ya tiene un desprendimiento pendiente en la tabla particionada «%s.%s»" -#: commands/tablecmds.c:15489 commands/tablecmds.c:15537 +#: commands/tablecmds.c:16090 commands/tablecmds.c:16136 +#: parser/parse_utilcmd.c:3261 #, c-format msgid "relation \"%s\" is not a partition of relation \"%s\"" msgstr "relación «%s» no es una partición de la relación «%s»" -#: commands/tablecmds.c:15543 +#: commands/tablecmds.c:16142 #, c-format msgid "relation \"%s\" is not a parent of relation \"%s\"" msgstr "relación «%s» no es un padre de la relación «%s»" -#: commands/tablecmds.c:15771 +#: commands/tablecmds.c:16369 #, c-format msgid "typed tables cannot inherit" msgstr "las tablas tipadas no pueden heredar" -#: commands/tablecmds.c:15801 +#: commands/tablecmds.c:16399 #, c-format msgid "table is missing column \"%s\"" msgstr "la tabla no tiene la columna «%s»" -#: commands/tablecmds.c:15812 +#: commands/tablecmds.c:16410 #, c-format msgid "table has column \"%s\" where type requires \"%s\"" msgstr "la tabla tiene columna «%s» en la posición en que el tipo requiere «%s»." -#: commands/tablecmds.c:15821 +#: commands/tablecmds.c:16419 #, c-format msgid "table \"%s\" has different type for column \"%s\"" msgstr "la tabla «%s» tiene un tipo diferente para la columna «%s»" -#: commands/tablecmds.c:15835 +#: commands/tablecmds.c:16433 #, c-format msgid "table has extra column \"%s\"" msgstr "tabla tiene la columna extra «%s»" -#: commands/tablecmds.c:15887 +#: commands/tablecmds.c:16485 #, c-format msgid "\"%s\" is not a typed table" msgstr "«%s» no es una tabla tipada" -#: commands/tablecmds.c:16061 +#: commands/tablecmds.c:16659 #, c-format msgid "cannot use non-unique index \"%s\" as replica identity" msgstr "no se puede usar el índice no-único «%s» como identidad de réplica" -#: commands/tablecmds.c:16067 +#: commands/tablecmds.c:16665 #, c-format msgid "cannot use non-immediate index \"%s\" as replica identity" msgstr "no puede usar el índice no-inmediato «%s» como identidad de réplica" -#: commands/tablecmds.c:16073 +#: commands/tablecmds.c:16671 #, c-format msgid "cannot use expression index \"%s\" as replica identity" msgstr "no se puede usar el índice funcional «%s» como identidad de réplica" -#: commands/tablecmds.c:16079 +#: commands/tablecmds.c:16677 #, c-format msgid "cannot use partial index \"%s\" as replica identity" msgstr "no se puede usar el índice parcial «%s» como identidad de réplica" -#: commands/tablecmds.c:16096 +#: commands/tablecmds.c:16694 #, c-format msgid "index \"%s\" cannot be used as replica identity because column %d is a system column" msgstr "el índice «%s» no puede usarse como identidad de réplica porque la column %d es una columna de sistema" -#: commands/tablecmds.c:16103 +#: commands/tablecmds.c:16701 #, c-format msgid "index \"%s\" cannot be used as replica identity because column \"%s\" is nullable" msgstr "el índice «%s» no puede usarse como identidad de réplica porque la column «%s» acepta valores nulos" -#: commands/tablecmds.c:16348 +#: commands/tablecmds.c:16953 #, c-format msgid "cannot change logged status of table \"%s\" because it is temporary" msgstr "no se puede cambiar el estado «logged» de la tabla «%s» porque es temporal" -#: commands/tablecmds.c:16372 +#: commands/tablecmds.c:16977 #, c-format msgid "cannot change table \"%s\" to unlogged because it is part of a publication" msgstr "no se pudo cambiar la tabla «%s» a «unlogged» porque es parte de una publicación" -#: commands/tablecmds.c:16374 +#: commands/tablecmds.c:16979 #, c-format msgid "Unlogged relations cannot be replicated." msgstr "Las tablas «unlogged» no pueden replicarse." -#: commands/tablecmds.c:16419 +#: commands/tablecmds.c:17024 #, c-format msgid "could not change table \"%s\" to logged because it references unlogged table \"%s\"" msgstr "no se pudo cambiar la tabla «%s» a «logged» porque hace referencia a la tabla «unlogged» «%s»" -#: commands/tablecmds.c:16429 +#: commands/tablecmds.c:17034 #, c-format msgid "could not change table \"%s\" to unlogged because it references logged table \"%s\"" msgstr "no se pudo cambiar la tabla «%s» a «unlogged» porque hace referencia a la tabla «logged» «%s»" -#: commands/tablecmds.c:16487 +#: commands/tablecmds.c:17092 #, c-format msgid "cannot move an owned sequence into another schema" msgstr "no se puede mover una secuencia enlazada a una tabla hacia otro esquema" -#: commands/tablecmds.c:16594 +#: commands/tablecmds.c:17197 #, c-format msgid "relation \"%s\" already exists in schema \"%s\"" msgstr "ya existe una relación llamada «%s» en el esquema «%s»" -#: commands/tablecmds.c:17006 +#: commands/tablecmds.c:17618 #, c-format msgid "\"%s\" is not a table or materialized view" msgstr "«%s» no es una tabla o vista materializada" -#: commands/tablecmds.c:17184 +#: commands/tablecmds.c:17771 #, c-format msgid "\"%s\" is not a composite type" msgstr "«%s» no es un tipo compuesto" -#: commands/tablecmds.c:17212 -#, fuzzy, c-format -#| msgid "cannot change owner of index \"%s\"" +#: commands/tablecmds.c:17801 +#, c-format msgid "cannot change schema of index \"%s\"" -msgstr "no se puede cambiar el dueño del índice «%s»" +msgstr "no se puede cambiar el esquema del índice «%s»" -#: commands/tablecmds.c:17214 commands/tablecmds.c:17226 -#, fuzzy, c-format -#| msgid "Change the ownership of the index's table, instead." +#: commands/tablecmds.c:17803 commands/tablecmds.c:17817 +#, c-format msgid "Change the schema of the table instead." -msgstr "Considere cambiar el dueño de la tabla en vez de cambiar el dueño del índice." +msgstr "Cambie el esquema de la tabla en su lugar." -#: commands/tablecmds.c:17218 -#, fuzzy, c-format -#| msgid "cannot convert Perl hash to non-composite type %s" +#: commands/tablecmds.c:17807 +#, c-format msgid "cannot change schema of composite type \"%s\"" -msgstr "no se puede convertir un hash de Perl al tipo no compuesto %s" +msgstr "no se puede cambiar el esquema del tipo compuesto «%s»" -#: commands/tablecmds.c:17224 -#, fuzzy, c-format -#| msgid "cannot change TOAST relation \"%s\"" +#: commands/tablecmds.c:17815 +#, c-format msgid "cannot change schema of TOAST table \"%s\"" -msgstr "no se puede cambiar la relación TOAST «%s»" +msgstr "no se puede cambiar el esquema de la relación TOAST «%s»" -#: commands/tablecmds.c:17256 +#: commands/tablecmds.c:17847 #, c-format msgid "cannot use \"list\" partition strategy with more than one column" msgstr "no se puede usar la estrategia de particionamiento «list» con más de una columna" -#: commands/tablecmds.c:17322 +#: commands/tablecmds.c:17913 #, c-format msgid "column \"%s\" named in partition key does not exist" msgstr "la columna «%s» nombrada en llave de particionamiento no existe" -#: commands/tablecmds.c:17330 +#: commands/tablecmds.c:17921 #, c-format msgid "cannot use system column \"%s\" in partition key" msgstr "no se puede usar la columna de sistema «%s» en llave de particionamiento" -#: commands/tablecmds.c:17341 commands/tablecmds.c:17455 +#: commands/tablecmds.c:17932 commands/tablecmds.c:18022 #, c-format msgid "cannot use generated column in partition key" msgstr "no se puede usar una columna generada en llave de particionamiento" -#: commands/tablecmds.c:17342 commands/tablecmds.c:17456 commands/trigger.c:663 +#: commands/tablecmds.c:17933 commands/tablecmds.c:18023 commands/trigger.c:656 #: rewrite/rewriteHandler.c:934 rewrite/rewriteHandler.c:969 #, c-format msgid "Column \"%s\" is a generated column." msgstr "La columna «%s» es una columna generada." -#: commands/tablecmds.c:17418 -#, c-format -msgid "functions in partition key expression must be marked IMMUTABLE" -msgstr "las funciones utilizadas en expresiones de la llave de particionamiento deben estar marcadas IMMUTABLE" - -#: commands/tablecmds.c:17438 +#: commands/tablecmds.c:18005 #, c-format msgid "partition key expressions cannot contain system column references" msgstr "las expresiones en la llave de particionamiento no pueden contener referencias a columnas de sistema" -#: commands/tablecmds.c:17468 +#: commands/tablecmds.c:18052 +#, c-format +msgid "functions in partition key expression must be marked IMMUTABLE" +msgstr "las funciones utilizadas en expresiones de la llave de particionamiento deben estar marcadas IMMUTABLE" + +#: commands/tablecmds.c:18061 #, c-format msgid "cannot use constant expression as partition key" msgstr "no se pueden usar expresiones constantes como llave de particionamiento" -#: commands/tablecmds.c:17489 +#: commands/tablecmds.c:18082 #, c-format msgid "could not determine which collation to use for partition expression" msgstr "no se pudo determinar qué ordenamiento (collation) usar para la expresión de particionamiento" -#: commands/tablecmds.c:17524 +#: commands/tablecmds.c:18117 #, c-format msgid "You must specify a hash operator class or define a default hash operator class for the data type." msgstr "Debe especificar una clase de operadores hash, o definir una clase de operadores por omisión para hash para el tipo de datos." -#: commands/tablecmds.c:17530 +#: commands/tablecmds.c:18123 #, c-format msgid "You must specify a btree operator class or define a default btree operator class for the data type." msgstr "Debe especificar una clase de operadores btree, o definir una clase de operadores por omisión para btree para el tipo de datos." -#: commands/tablecmds.c:17781 +#: commands/tablecmds.c:18405 #, c-format msgid "\"%s\" is already a partition" msgstr "«%s» ya es una partición" -#: commands/tablecmds.c:17787 +#: commands/tablecmds.c:18411 #, c-format msgid "cannot attach a typed table as partition" msgstr "no puede adjuntar tabla tipada como partición" -#: commands/tablecmds.c:17803 +#: commands/tablecmds.c:18427 #, c-format msgid "cannot attach inheritance child as partition" msgstr "no puede adjuntar hija de herencia como partición" -#: commands/tablecmds.c:17817 +#: commands/tablecmds.c:18441 #, c-format msgid "cannot attach inheritance parent as partition" msgstr "no puede adjuntar ancestro de herencia como partición" -#: commands/tablecmds.c:17851 +#: commands/tablecmds.c:18475 #, c-format msgid "cannot attach a temporary relation as partition of permanent relation \"%s\"" msgstr "no se puede adjuntar una relación temporal como partición de la relación permanente «%s»" -#: commands/tablecmds.c:17859 +#: commands/tablecmds.c:18483 #, c-format msgid "cannot attach a permanent relation as partition of temporary relation \"%s\"" msgstr "no se puede adjuntar una relación permanente como partición de la relación temporal «%s»" -#: commands/tablecmds.c:17867 +#: commands/tablecmds.c:18491 #, c-format msgid "cannot attach as partition of temporary relation of another session" msgstr "no se puede adjuntar como partición de una relación temporal de otra sesión" -#: commands/tablecmds.c:17874 +#: commands/tablecmds.c:18498 #, c-format msgid "cannot attach temporary relation of another session as partition" msgstr "no se adjuntar una relación temporal de otra sesión como partición" -#: commands/tablecmds.c:17894 +#: commands/tablecmds.c:18518 +#, fuzzy, c-format +msgid "table \"%s\" being attached contains an identity column \"%s\"" +msgstr "la tabla «%s» tiene un tipo diferente para la columna «%s»" + +#: commands/tablecmds.c:18520 +#, fuzzy, c-format +msgid "The new partition may not contain an identity column." +msgstr "La nueva partición sólo puede contener las columnas presentes en el padre." + +#: commands/tablecmds.c:18528 #, c-format msgid "table \"%s\" contains column \"%s\" not found in parent \"%s\"" msgstr "la tabla «%s» contiene la columna «%s» no encontrada en el padre «%s»" -#: commands/tablecmds.c:17897 +#: commands/tablecmds.c:18531 #, c-format msgid "The new partition may contain only the columns present in parent." msgstr "La nueva partición sólo puede contener las columnas presentes en el padre." -#: commands/tablecmds.c:17909 +#: commands/tablecmds.c:18543 #, c-format msgid "trigger \"%s\" prevents table \"%s\" from becoming a partition" msgstr "el trigger «%s» impide a la tabla «%s» devenir partición" -#: commands/tablecmds.c:17911 +#: commands/tablecmds.c:18545 #, c-format msgid "ROW triggers with transition tables are not supported on partitions." msgstr "Los triggers ROW con tablas de transición no están soportados en particiones." -#: commands/tablecmds.c:18090 +#: commands/tablecmds.c:18706 #, c-format msgid "cannot attach foreign table \"%s\" as partition of partitioned table \"%s\"" msgstr "no se puede adjuntar la tabla foránea «%s» como partición de la tabla particionada «%s»" -#: commands/tablecmds.c:18093 +#: commands/tablecmds.c:18709 #, c-format msgid "Partitioned table \"%s\" contains unique indexes." msgstr "La tabla particionada «%s» contiene índices únicos." -#: commands/tablecmds.c:18406 +#: commands/tablecmds.c:19031 #, c-format msgid "cannot detach partitions concurrently when a default partition exists" msgstr "no se puede desprender particiones concurrentemente cuando existe una partición por omisión" -#: commands/tablecmds.c:18515 +#: commands/tablecmds.c:19140 #, c-format msgid "partitioned table \"%s\" was removed concurrently" msgstr "la tabla particionada «%s» fue eliminada concurrentemente" -#: commands/tablecmds.c:18521 +#: commands/tablecmds.c:19146 #, c-format msgid "partition \"%s\" was removed concurrently" msgstr "la partición «%s» fue eliminada concurrentemente" -#: commands/tablecmds.c:19036 commands/tablecmds.c:19056 -#: commands/tablecmds.c:19077 commands/tablecmds.c:19096 -#: commands/tablecmds.c:19138 +#: commands/tablecmds.c:19682 commands/tablecmds.c:19702 +#: commands/tablecmds.c:19723 commands/tablecmds.c:19742 +#: commands/tablecmds.c:19784 #, c-format msgid "cannot attach index \"%s\" as a partition of index \"%s\"" msgstr "no se puede adjuntar el índice «%s» como partición del índice «%s»" -#: commands/tablecmds.c:19039 +#: commands/tablecmds.c:19685 #, c-format msgid "Index \"%s\" is already attached to another index." msgstr "El índice «%s» ya está adjunto a otro índice." -#: commands/tablecmds.c:19059 +#: commands/tablecmds.c:19705 #, c-format msgid "Index \"%s\" is not an index on any partition of table \"%s\"." msgstr "El índice «%s» no es un índice en una partición de la tabla «%s»." -#: commands/tablecmds.c:19080 +#: commands/tablecmds.c:19726 #, c-format msgid "The index definitions do not match." msgstr "Las definiciones de los índices no coinciden." -#: commands/tablecmds.c:19099 +#: commands/tablecmds.c:19745 #, c-format msgid "The index \"%s\" belongs to a constraint in table \"%s\" but no constraint exists for index \"%s\"." msgstr "El índice «%s» pertenece a una restricción en la tabla «%s», pero no existe una restricción para el índice «%s»." -#: commands/tablecmds.c:19141 +#: commands/tablecmds.c:19787 #, c-format msgid "Another index is already attached for partition \"%s\"." msgstr "Otro índice ya está adjunto para la partición «%s»." -#: commands/tablecmds.c:19370 +#: commands/tablecmds.c:20023 #, c-format msgid "column data type %s does not support compression" msgstr "el tipo de dato de columna %s no soporta compresión" -#: commands/tablecmds.c:19377 +#: commands/tablecmds.c:20030 #, c-format msgid "invalid compression method \"%s\"" msgstr "método de compresión «%s» no válido" -#: commands/tablecmds.c:19403 +#: commands/tablecmds.c:20056 #, c-format msgid "invalid storage type \"%s\"" msgstr "tipo de almacenamiento no válido «%s»" -#: commands/tablecmds.c:19413 +#: commands/tablecmds.c:20066 #, c-format msgid "column data type %s can only have storage PLAIN" msgstr "el tipo de datos %s de la columna sólo puede tener almacenamiento PLAIN" -#: commands/tablespace.c:199 commands/tablespace.c:650 +#: commands/tablecmds.c:20263 +#, fuzzy, c-format +msgid "can not find partition for split partition row" +msgstr "no se puede heredar de una partición" + +#: commands/tablecmds.c:20349 +#, fuzzy, c-format +msgid "cannot create as partition of temporary relation of another session" +msgstr "no se puede adjuntar como partición de una relación temporal de otra sesión" + +#: commands/tablecmds.c:20420 +#, fuzzy, c-format +msgid "cannot create a permanent relation as partition of temporary relation \"%s\"" +msgstr "no se puede adjuntar una relación permanente como partición de la relación temporal «%s»" + +#: commands/tablespace.c:193 commands/tablespace.c:644 #, c-format msgid "\"%s\" exists but is not a directory" msgstr "«%s» existe pero no es un directorio" -#: commands/tablespace.c:230 +#: commands/tablespace.c:224 #, c-format msgid "permission denied to create tablespace \"%s\"" msgstr "se ha denegado el permiso para crear el tablespace «%s»" -#: commands/tablespace.c:232 +#: commands/tablespace.c:226 #, c-format msgid "Must be superuser to create a tablespace." msgstr "Debe ser superusuario para crear tablespaces." -#: commands/tablespace.c:248 +#: commands/tablespace.c:242 #, c-format msgid "tablespace location cannot contain single quotes" msgstr "la ruta del tablespace no puede contener comillas simples" -#: commands/tablespace.c:261 +#: commands/tablespace.c:255 #, c-format msgid "tablespace location must be an absolute path" msgstr "la ubicación del tablespace debe ser una ruta absoluta" -#: commands/tablespace.c:273 +#: commands/tablespace.c:267 #, c-format msgid "tablespace location \"%s\" is too long" msgstr "la ruta «%s» del tablespace es demasiado larga" -#: commands/tablespace.c:280 +#: commands/tablespace.c:274 #, c-format msgid "tablespace location should not be inside the data directory" msgstr "la ubicación del tablespace no debe estar dentro del directorio de datos" -#: commands/tablespace.c:289 commands/tablespace.c:976 +#: commands/tablespace.c:283 commands/tablespace.c:970 #, c-format msgid "unacceptable tablespace name \"%s\"" msgstr "el nombre de tablespace «%s» es inaceptable" -#: commands/tablespace.c:291 commands/tablespace.c:977 +#: commands/tablespace.c:285 commands/tablespace.c:971 #, c-format msgid "The prefix \"pg_\" is reserved for system tablespaces." msgstr "El prefijo «pg_» está reservado para tablespaces del sistema." -#: commands/tablespace.c:310 commands/tablespace.c:998 +#: commands/tablespace.c:304 commands/tablespace.c:992 #, c-format msgid "tablespace \"%s\" already exists" msgstr "el tablespace «%s» ya existe" -#: commands/tablespace.c:326 -#, fuzzy, c-format -#| msgid "pg_type OID value not set when in binary upgrade mode" +#: commands/tablespace.c:320 +#, c-format msgid "pg_tablespace OID value not set when in binary upgrade mode" -msgstr "el valor de OID de pg_type no se definió en modo de actualización binaria" +msgstr "el valor de OID de pg_tablespace no se definió en modo de actualización binaria" -#: commands/tablespace.c:431 commands/tablespace.c:959 -#: commands/tablespace.c:1048 commands/tablespace.c:1117 -#: commands/tablespace.c:1263 commands/tablespace.c:1466 +#: commands/tablespace.c:425 commands/tablespace.c:953 +#: commands/tablespace.c:1042 commands/tablespace.c:1111 +#: commands/tablespace.c:1257 commands/tablespace.c:1460 #, c-format msgid "tablespace \"%s\" does not exist" msgstr "no existe el tablespace «%s»" -#: commands/tablespace.c:437 +#: commands/tablespace.c:431 #, c-format msgid "tablespace \"%s\" does not exist, skipping" msgstr "el tablespace «%s» no existe, omitiendo" -#: commands/tablespace.c:463 +#: commands/tablespace.c:457 #, c-format msgid "tablespace \"%s\" cannot be dropped because some objects depend on it" msgstr "no se puede eliminar el tablespace «%s» porque otros objetos dependen de él" -#: commands/tablespace.c:530 +#: commands/tablespace.c:524 #, c-format msgid "tablespace \"%s\" is not empty" msgstr "el tablespace «%s» no está vacío" -#: commands/tablespace.c:617 +#: commands/tablespace.c:611 #, c-format msgid "directory \"%s\" does not exist" msgstr "no existe el directorio «%s»" -#: commands/tablespace.c:618 +#: commands/tablespace.c:612 #, c-format msgid "Create this directory for the tablespace before restarting the server." msgstr "Cree este directorio para el tablespace antes de reiniciar el servidor." -#: commands/tablespace.c:623 +#: commands/tablespace.c:617 #, c-format msgid "could not set permissions on directory \"%s\": %m" msgstr "no se pudo definir los permisos del directorio «%s»: %m" -#: commands/tablespace.c:655 +#: commands/tablespace.c:649 #, c-format msgid "directory \"%s\" already in use as a tablespace" msgstr "el directorio «%s» ya está siendo usado como tablespace" -#: commands/tablespace.c:833 commands/tablespace.c:919 +#: commands/tablespace.c:827 commands/tablespace.c:913 #, c-format msgid "could not remove symbolic link \"%s\": %m" msgstr "no se pudo eliminar el enlace simbólico «%s»: %m" -#: commands/tablespace.c:842 commands/tablespace.c:927 +#: commands/tablespace.c:836 commands/tablespace.c:921 #, c-format msgid "\"%s\" is not a directory or symbolic link" msgstr "«%s» no es un directorio o enlace simbólico" -#: commands/tablespace.c:1122 +#: commands/tablespace.c:1116 #, c-format msgid "Tablespace \"%s\" does not exist." msgstr "No existe el tablespace «%s»." -#: commands/tablespace.c:1568 +#: commands/tablespace.c:1562 #, c-format msgid "directories for tablespace %u could not be removed" msgstr "algunos directorios para el tablespace %u no pudieron eliminarse" -#: commands/tablespace.c:1570 +#: commands/tablespace.c:1564 #, c-format msgid "You can remove the directories manually if necessary." msgstr "Puede eliminar los directorios manualmente, si es necesario." -#: commands/trigger.c:232 commands/trigger.c:243 +#: commands/trigger.c:225 commands/trigger.c:236 #, c-format msgid "\"%s\" is a table" msgstr "«%s» es una tabla" -#: commands/trigger.c:234 commands/trigger.c:245 +#: commands/trigger.c:227 commands/trigger.c:238 #, c-format msgid "Tables cannot have INSTEAD OF triggers." msgstr "Las tablas no pueden tener disparadores INSTEAD OF." -#: commands/trigger.c:266 +#: commands/trigger.c:259 #, c-format msgid "\"%s\" is a partitioned table" msgstr "«%s» es una tabla particionada" -#: commands/trigger.c:268 -#, fuzzy, c-format -#| msgid "ROW triggers with transition tables are not supported on partitions." +#: commands/trigger.c:261 +#, c-format msgid "ROW triggers with transition tables are not supported on partitioned tables." -msgstr "Los triggers ROW con tablas de transición no están soportados en particiones." +msgstr "Los triggers ROW con tablas de transición no están soportados en tablas particionadas." -#: commands/trigger.c:280 commands/trigger.c:287 commands/trigger.c:451 +#: commands/trigger.c:273 commands/trigger.c:280 commands/trigger.c:444 #, c-format msgid "\"%s\" is a view" msgstr "«%s» es una vista" -#: commands/trigger.c:282 +#: commands/trigger.c:275 #, c-format msgid "Views cannot have row-level BEFORE or AFTER triggers." msgstr "Las vistas no pueden tener disparadores BEFORE o AFTER a nivel de fila." -#: commands/trigger.c:289 +#: commands/trigger.c:282 #, c-format msgid "Views cannot have TRUNCATE triggers." msgstr "Las vistas no pueden tener disparadores TRUNCATE." -#: commands/trigger.c:297 commands/trigger.c:309 commands/trigger.c:444 +#: commands/trigger.c:290 commands/trigger.c:302 commands/trigger.c:437 #, c-format msgid "\"%s\" is a foreign table" msgstr "«%s» es una tabla foránea" -#: commands/trigger.c:299 +#: commands/trigger.c:292 #, c-format msgid "Foreign tables cannot have INSTEAD OF triggers." msgstr "Las tablas foráneas no pueden tener disparadores INSTEAD OF." -#: commands/trigger.c:311 +#: commands/trigger.c:304 #, c-format msgid "Foreign tables cannot have constraint triggers." msgstr "Las tablas foráneas no pueden tener disparadores de restricción." -#: commands/trigger.c:316 commands/trigger.c:1332 commands/trigger.c:1439 -#, fuzzy, c-format -#| msgid "relation \"%s\" does not exist" +#: commands/trigger.c:309 commands/trigger.c:1325 commands/trigger.c:1432 +#, c-format msgid "relation \"%s\" cannot have triggers" -msgstr "no existe la relación «%s»" +msgstr "la relación «%s» no puede tener triggers." -#: commands/trigger.c:387 +#: commands/trigger.c:380 #, c-format msgid "TRUNCATE FOR EACH ROW triggers are not supported" msgstr "los disparadores TRUNCATE FOR EACH ROW no están soportados" -#: commands/trigger.c:395 +#: commands/trigger.c:388 #, c-format msgid "INSTEAD OF triggers must be FOR EACH ROW" msgstr "los disparadores INSTEAD OF deben ser FOR EACH ROW" -#: commands/trigger.c:399 +#: commands/trigger.c:392 #, c-format msgid "INSTEAD OF triggers cannot have WHEN conditions" msgstr "los disparadores INSTEAD OF no pueden tener condiciones WHEN" -#: commands/trigger.c:403 +#: commands/trigger.c:396 #, c-format msgid "INSTEAD OF triggers cannot have column lists" msgstr "los disparadores INSTEAD OF no pueden tener listas de columnas" -#: commands/trigger.c:432 +#: commands/trigger.c:425 #, c-format msgid "ROW variable naming in the REFERENCING clause is not supported" msgstr "dar nombre a una variable ROW en la cláusula REFERENCING no está soportado" -#: commands/trigger.c:433 +#: commands/trigger.c:426 #, c-format msgid "Use OLD TABLE or NEW TABLE for naming transition tables." msgstr "utilice OLD TABLE o NEW TABLE para nombrar tablas de transición." -#: commands/trigger.c:446 +#: commands/trigger.c:439 #, c-format msgid "Triggers on foreign tables cannot have transition tables." msgstr "Las tablas foráneas no pueden tener tablas de transición." -#: commands/trigger.c:453 +#: commands/trigger.c:446 #, c-format msgid "Triggers on views cannot have transition tables." msgstr "Las triggers en vistas no pueden tener tablas de transición." -#: commands/trigger.c:469 +#: commands/trigger.c:462 #, c-format msgid "ROW triggers with transition tables are not supported on partitions" msgstr "los triggers ROW con tablas de transición no están soportados en particiones" -#: commands/trigger.c:473 +#: commands/trigger.c:466 #, c-format msgid "ROW triggers with transition tables are not supported on inheritance children" msgstr "los triggers ROW con tablas de transición no están soportados con hijas de herencia" -#: commands/trigger.c:479 +#: commands/trigger.c:472 #, c-format msgid "transition table name can only be specified for an AFTER trigger" msgstr "el nombre de la tabla de transición solo se puede especificar para un disparador AFTER" -#: commands/trigger.c:484 +#: commands/trigger.c:477 #, c-format msgid "TRUNCATE triggers with transition tables are not supported" msgstr "los triggers TRUNCATE con tablas de transición no están soportados" -#: commands/trigger.c:501 +#: commands/trigger.c:494 #, c-format msgid "transition tables cannot be specified for triggers with more than one event" msgstr "las tablas de transición no pueden especificarse para triggers con más de un evento" -#: commands/trigger.c:512 +#: commands/trigger.c:505 #, c-format msgid "transition tables cannot be specified for triggers with column lists" msgstr "las tablas de transición no pueden especificarse para triggers con lista de columnas" -#: commands/trigger.c:529 +#: commands/trigger.c:522 #, c-format msgid "NEW TABLE can only be specified for an INSERT or UPDATE trigger" msgstr "NEW TABLE sólo se puede especificar para un disparador INSERT o UPDATE" -#: commands/trigger.c:534 +#: commands/trigger.c:527 #, c-format msgid "NEW TABLE cannot be specified multiple times" msgstr "NEW TABLE no se puede especificar varias veces" -#: commands/trigger.c:544 +#: commands/trigger.c:537 #, c-format msgid "OLD TABLE can only be specified for a DELETE or UPDATE trigger" msgstr "OLD TABLE sólo se puede especificar para un disparador DELETE o UPDATE" -#: commands/trigger.c:549 +#: commands/trigger.c:542 #, c-format msgid "OLD TABLE cannot be specified multiple times" msgstr "OLD TABLE no se puede especificar varias veces" -#: commands/trigger.c:559 +#: commands/trigger.c:552 #, c-format msgid "OLD TABLE name and NEW TABLE name cannot be the same" msgstr "el nombre de OLD TABLE y el nombre de NEW TABLE no pueden ser iguales" -#: commands/trigger.c:623 commands/trigger.c:636 +#: commands/trigger.c:616 commands/trigger.c:629 #, c-format msgid "statement trigger's WHEN condition cannot reference column values" msgstr "la condición WHEN de un disparador por sentencias no pueden referirse a los valores de las columnas" -#: commands/trigger.c:628 +#: commands/trigger.c:621 #, c-format msgid "INSERT trigger's WHEN condition cannot reference OLD values" msgstr "la condición WHEN de un disparador en INSERT no puede referirse a valores OLD" -#: commands/trigger.c:641 +#: commands/trigger.c:634 #, c-format msgid "DELETE trigger's WHEN condition cannot reference NEW values" msgstr "la condición WHEN de un disparador en DELETE no puede referirse a valores NEW" -#: commands/trigger.c:646 +#: commands/trigger.c:639 #, c-format msgid "BEFORE trigger's WHEN condition cannot reference NEW system columns" msgstr "la condición WHEN de un disparador BEFORE no puede referirse a columnas de sistema de NEW" -#: commands/trigger.c:654 commands/trigger.c:662 +#: commands/trigger.c:647 commands/trigger.c:655 #, c-format msgid "BEFORE trigger's WHEN condition cannot reference NEW generated columns" msgstr "la condición WHEN del trigger BEFORE no puede hacer referencia a columnas NEW generadas" -#: commands/trigger.c:655 +#: commands/trigger.c:648 #, c-format msgid "A whole-row reference is used and the table contains generated columns." msgstr "Se utiliza una referencia de la tupla completa, y la tabla contiene columnas generadas" -#: commands/trigger.c:770 commands/trigger.c:1614 +#: commands/trigger.c:763 commands/trigger.c:1607 #, c-format msgid "trigger \"%s\" for relation \"%s\" already exists" msgstr "ya existe un trigger «%s» para la relación «%s»" -#: commands/trigger.c:783 -#, fuzzy, c-format -#| msgid "trigger \"%s\" for relation \"%s\" is a constraint trigger" +#: commands/trigger.c:776 +#, c-format msgid "trigger \"%s\" for relation \"%s\" is an internal or a child trigger" -msgstr "disparador «%s» para la relación «%s» es un disparador de restricción" +msgstr "trigger «%s» para la relación «%s» es interno o derivado" -#: commands/trigger.c:802 +#: commands/trigger.c:795 #, c-format msgid "trigger \"%s\" for relation \"%s\" is a constraint trigger" msgstr "disparador «%s» para la relación «%s» es un disparador de restricción" -#: commands/trigger.c:1404 commands/trigger.c:1557 commands/trigger.c:1838 +#: commands/trigger.c:1397 commands/trigger.c:1550 commands/trigger.c:1831 #, c-format msgid "trigger \"%s\" for table \"%s\" does not exist" msgstr "no existe el trigger «%s» para la tabla «%s»" -#: commands/trigger.c:1529 -#, fuzzy, c-format -#| msgid "no pg_constraint entry for trigger \"%s\" on table \"%s\"" +#: commands/trigger.c:1522 +#, c-format msgid "cannot rename trigger \"%s\" on table \"%s\"" -msgstr "no hay una entrada en pg_constraint para el trigger «%s» en tabla «%s»" +msgstr "no se puede cambiar el nombre del trigger «%s» en tabla «%s»" -#: commands/trigger.c:1531 -#, fuzzy, c-format -#| msgid "Change the ownership of the index's table, instead." +#: commands/trigger.c:1524 +#, c-format msgid "Rename the trigger on the partitioned table \"%s\" instead." -msgstr "Considere cambiar el dueño de la tabla en vez de cambiar el dueño del índice." +msgstr "Cambie el nombre del trigger en la tabla particionada «%s» en su lugar." -#: commands/trigger.c:1631 -#, fuzzy, c-format -#| msgid "cannot alter constraint \"%s\" on relation \"%s\"" +#: commands/trigger.c:1624 +#, c-format msgid "renamed trigger \"%s\" on relation \"%s\"" -msgstr "no se puede modificar la restricción «%s» en la relación «%s»" +msgstr "se renombró el trigger «%s» en la relación «%s»" -#: commands/trigger.c:1777 +#: commands/trigger.c:1770 #, c-format msgid "permission denied: \"%s\" is a system trigger" msgstr "permiso denegado: «%s» es un trigger de sistema" -#: commands/trigger.c:2386 +#: commands/trigger.c:2379 #, c-format msgid "trigger function %u returned null value" msgstr "la función de trigger %u ha retornado un valor null" -#: commands/trigger.c:2446 commands/trigger.c:2664 commands/trigger.c:2917 -#: commands/trigger.c:3252 +#: commands/trigger.c:2439 commands/trigger.c:2657 commands/trigger.c:2910 +#: commands/trigger.c:3263 #, c-format msgid "BEFORE STATEMENT trigger cannot return a value" msgstr "un trigger BEFORE STATEMENT no puede retornar un valor" -#: commands/trigger.c:2522 +#: commands/trigger.c:2515 #, c-format msgid "moving row to another partition during a BEFORE FOR EACH ROW trigger is not supported" msgstr "mover registros a otra partición durante un trigger BEFORE FOR EACH ROW no está soportado" -#: commands/trigger.c:2523 +#: commands/trigger.c:2516 #, c-format msgid "Before executing trigger \"%s\", the row was to be in partition \"%s.%s\"." msgstr "Antes de ejecutar el trigger «%s», la fila iba a estar en la partición «%s.%s»." -#: commands/trigger.c:3329 executor/nodeModifyTable.c:2363 -#: executor/nodeModifyTable.c:2446 +#: commands/trigger.c:3340 executor/nodeModifyTable.c:2373 +#: executor/nodeModifyTable.c:2456 #, c-format msgid "tuple to be updated was already modified by an operation triggered by the current command" msgstr "el registro a ser actualizado ya fue modificado por una operación disparada por la orden actual" -#: commands/trigger.c:3330 executor/nodeModifyTable.c:1531 -#: executor/nodeModifyTable.c:1605 executor/nodeModifyTable.c:2364 -#: executor/nodeModifyTable.c:2447 executor/nodeModifyTable.c:3077 +#: commands/trigger.c:3341 executor/nodeModifyTable.c:1541 +#: executor/nodeModifyTable.c:1615 executor/nodeModifyTable.c:2374 +#: executor/nodeModifyTable.c:2457 executor/nodeModifyTable.c:3093 +#: executor/nodeModifyTable.c:3254 #, c-format msgid "Consider using an AFTER trigger instead of a BEFORE trigger to propagate changes to other rows." msgstr "Considere usar un disparador AFTER en lugar de un disparador BEFORE para propagar cambios a otros registros." -#: commands/trigger.c:3371 executor/nodeLockRows.c:228 -#: executor/nodeLockRows.c:237 executor/nodeModifyTable.c:308 -#: executor/nodeModifyTable.c:1547 executor/nodeModifyTable.c:2381 -#: executor/nodeModifyTable.c:2589 +#: commands/trigger.c:3382 executor/nodeLockRows.c:228 +#: executor/nodeLockRows.c:237 executor/nodeModifyTable.c:314 +#: executor/nodeModifyTable.c:1557 executor/nodeModifyTable.c:2391 +#: executor/nodeModifyTable.c:2599 #, c-format msgid "could not serialize access due to concurrent update" msgstr "no se pudo serializar el acceso debido a un update concurrente" -#: commands/trigger.c:3379 executor/nodeModifyTable.c:1637 -#: executor/nodeModifyTable.c:2464 executor/nodeModifyTable.c:2613 -#: executor/nodeModifyTable.c:2965 +#: commands/trigger.c:3390 executor/nodeModifyTable.c:1647 +#: executor/nodeModifyTable.c:2474 executor/nodeModifyTable.c:2623 +#: executor/nodeModifyTable.c:3111 #, 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:4555 +#: commands/trigger.c:4601 #, c-format msgid "cannot fire deferred trigger within security-restricted operation" msgstr "no se puede ejecutar un disparador postergado dentro de una operación restringida por seguridad" -#: commands/trigger.c:5738 +#: commands/trigger.c:5782 #, c-format msgid "constraint \"%s\" is not deferrable" msgstr "la restricción «%s» no es postergable" -#: commands/trigger.c:5761 +#: commands/trigger.c:5805 #, c-format msgid "constraint \"%s\" does not exist" msgstr "no existe la restricción «%s»" -#: commands/tsearchcmds.c:118 commands/tsearchcmds.c:635 +#: commands/tsearchcmds.c:124 commands/tsearchcmds.c:641 #, c-format msgid "function %s should return type %s" msgstr "la función %s debería retornar el tipo %s" -#: commands/tsearchcmds.c:194 +#: commands/tsearchcmds.c:200 #, c-format msgid "must be superuser to create text search parsers" msgstr "debe ser superusuario para crear analizadores de búsqueda en texto" -#: commands/tsearchcmds.c:247 +#: commands/tsearchcmds.c:253 #, c-format msgid "text search parser parameter \"%s\" not recognized" msgstr "el parámetro de analizador de búsqueda en texto «%s» no es reconocido" -#: commands/tsearchcmds.c:257 +#: commands/tsearchcmds.c:263 #, c-format msgid "text search parser start method is required" msgstr "el método «start» del analizador de búsqueda en texto es obligatorio" -#: commands/tsearchcmds.c:262 +#: commands/tsearchcmds.c:268 #, c-format msgid "text search parser gettoken method is required" msgstr "el método «gettoken» del analizador de búsqueda en texto es obligatorio" -#: commands/tsearchcmds.c:267 +#: commands/tsearchcmds.c:273 #, c-format msgid "text search parser end method is required" msgstr "el método «end» del analizador de búsqueda en texto es obligatorio" -#: commands/tsearchcmds.c:272 +#: commands/tsearchcmds.c:278 #, c-format msgid "text search parser lextypes method is required" msgstr "el método «lextypes» del analizador de búsqueda en texto es obligatorio" -#: commands/tsearchcmds.c:366 +#: commands/tsearchcmds.c:372 #, c-format msgid "text search template \"%s\" does not accept options" msgstr "la plantilla de búsquede en texto «%s» no acepta opciones" -#: commands/tsearchcmds.c:440 +#: commands/tsearchcmds.c:446 #, c-format msgid "text search template is required" msgstr "la plantilla de búsqueda en texto es obligatoria" -#: commands/tsearchcmds.c:701 +#: commands/tsearchcmds.c:707 #, c-format msgid "must be superuser to create text search templates" msgstr "debe ser superusuario para crear una plantilla de búsqueda en texto" -#: commands/tsearchcmds.c:743 +#: commands/tsearchcmds.c:749 #, c-format msgid "text search template parameter \"%s\" not recognized" msgstr "el parámetro de la plantilla de búsqueda en texto «%s» no es reconocido" -#: commands/tsearchcmds.c:753 +#: commands/tsearchcmds.c:759 #, c-format msgid "text search template lexize method is required" msgstr "el método «lexize» de la plantilla de búsqueda en texto es obligatorio" -#: commands/tsearchcmds.c:933 +#: commands/tsearchcmds.c:939 #, c-format msgid "text search configuration parameter \"%s\" not recognized" msgstr "el parámetro de configuración de búsqueda en texto «%s» no es reconocido" -#: commands/tsearchcmds.c:940 +#: commands/tsearchcmds.c:946 #, c-format msgid "cannot specify both PARSER and COPY options" msgstr "no se puede especificar simultáneamente las opciones PARSER y COPY" -#: commands/tsearchcmds.c:976 +#: commands/tsearchcmds.c:982 #, c-format msgid "text search parser is required" msgstr "el analizador de búsqueda en texto es obligatorio" -#: commands/tsearchcmds.c:1241 +#: commands/tsearchcmds.c:1277 #, c-format msgid "token type \"%s\" does not exist" msgstr "no existe el tipo de elemento «%s»" -#: commands/tsearchcmds.c:1501 +#: commands/tsearchcmds.c:1540 #, c-format msgid "mapping for token type \"%s\" does not exist" msgstr "no existe un mapeo para el tipo de elemento «%s»" -#: commands/tsearchcmds.c:1507 +#: commands/tsearchcmds.c:1546 #, c-format msgid "mapping for token type \"%s\" does not exist, skipping" msgstr "el mapeo para el tipo de elemento «%s» no existe, omitiendo" -#: commands/tsearchcmds.c:1670 commands/tsearchcmds.c:1785 +#: commands/tsearchcmds.c:1707 commands/tsearchcmds.c:1822 #, c-format msgid "invalid parameter list format: \"%s\"" msgstr "el formato de la lista de parámetros no es válido: «%s»" -#: commands/typecmds.c:217 +#: commands/typecmds.c:221 #, c-format msgid "must be superuser to create a base type" msgstr "debe ser superusuario para crear un tipo base" -#: commands/typecmds.c:275 +#: commands/typecmds.c:279 #, c-format msgid "Create the type as a shell type, then create its I/O functions, then do a full CREATE TYPE." msgstr "Cree el tipo como un tipo inconcluso, luego cree sus funciones de I/O, luego haga un CREATE TYPE completo." -#: commands/typecmds.c:327 commands/typecmds.c:1450 commands/typecmds.c:4257 +#: commands/typecmds.c:331 commands/typecmds.c:1460 commands/typecmds.c:4480 #, c-format msgid "type attribute \"%s\" not recognized" msgstr "el atributo de tipo «%s» no es reconocido" -#: commands/typecmds.c:382 +#: commands/typecmds.c:386 #, c-format msgid "invalid type category \"%s\": must be simple ASCII" msgstr "la categoría de tipo «%s» no es válida: debe ser ASCII simple" -#: commands/typecmds.c:401 +#: commands/typecmds.c:405 #, c-format msgid "array element type cannot be %s" msgstr "el tipo de elemento de array no puede ser %s" -#: commands/typecmds.c:433 +#: commands/typecmds.c:437 #, c-format msgid "alignment \"%s\" not recognized" msgstr "el alineamiento «%s» no es reconocido" -#: commands/typecmds.c:450 commands/typecmds.c:4131 +#: commands/typecmds.c:454 commands/typecmds.c:4354 #, c-format msgid "storage \"%s\" not recognized" msgstr "el almacenamiento «%s» no es reconocido" -#: commands/typecmds.c:461 +#: commands/typecmds.c:465 #, c-format msgid "type input function must be specified" msgstr "debe especificarse la función de ingreso del tipo" -#: commands/typecmds.c:465 +#: commands/typecmds.c:469 #, c-format msgid "type output function must be specified" msgstr "debe especificarse la función de salida de tipo" -#: commands/typecmds.c:470 +#: commands/typecmds.c:474 #, c-format msgid "type modifier output function is useless without a type modifier input function" msgstr "la función de salida de modificadores de tipo es inútil sin una función de entrada de modificadores de tipo" -#: commands/typecmds.c:512 +#: commands/typecmds.c:516 #, c-format msgid "element type cannot be specified without a subscripting function" msgstr "no se puede especificar tipo de elemento sin una función de subindexación" -#: commands/typecmds.c:781 +#: commands/typecmds.c:785 #, c-format msgid "\"%s\" is not a valid base type for a domain" msgstr "«%s» no es un tipo de dato base válido para un dominio" -#: commands/typecmds.c:879 +#: commands/typecmds.c:883 #, c-format msgid "multiple default expressions" msgstr "múltiples expresiones default" -#: commands/typecmds.c:942 commands/typecmds.c:951 +#: commands/typecmds.c:946 commands/typecmds.c:955 #, c-format msgid "conflicting NULL/NOT NULL constraints" msgstr "las restricciones NULL/NOT NULL no coinciden" -#: commands/typecmds.c:967 +#: commands/typecmds.c:971 #, c-format msgid "check constraints for domains cannot be marked NO INHERIT" msgstr "las restricciones «check» en dominios no pueden ser marcadas NO INHERIT" -#: commands/typecmds.c:976 commands/typecmds.c:2956 +#: commands/typecmds.c:980 commands/typecmds.c:2940 #, c-format msgid "unique constraints not possible for domains" msgstr "no se pueden poner restricciones de unicidad a un dominio" -#: commands/typecmds.c:982 commands/typecmds.c:2962 +#: commands/typecmds.c:986 commands/typecmds.c:2946 #, c-format msgid "primary key constraints not possible for domains" msgstr "no se pueden poner restricciones de llave primaria a un dominio" -#: commands/typecmds.c:988 commands/typecmds.c:2968 +#: commands/typecmds.c:992 commands/typecmds.c:2952 #, c-format msgid "exclusion constraints not possible for domains" msgstr "las restricciones de exclusión no son posibles para los dominios" -#: commands/typecmds.c:994 commands/typecmds.c:2974 +#: commands/typecmds.c:998 commands/typecmds.c:2958 #, c-format msgid "foreign key constraints not possible for domains" msgstr "no se pueden poner restricciones de llave foránea a un dominio" -#: commands/typecmds.c:1003 commands/typecmds.c:2983 +#: commands/typecmds.c:1007 commands/typecmds.c:2967 #, c-format msgid "specifying constraint deferrability not supported for domains" msgstr "no se puede especificar la postergabilidad de las restricciones a un dominio" -#: commands/typecmds.c:1317 utils/cache/typcache.c:2561 +#: commands/typecmds.c:1327 utils/cache/typcache.c:2570 #, c-format msgid "%s is not an enum" msgstr "%s no es un enum" -#: commands/typecmds.c:1458 +#: commands/typecmds.c:1468 #, c-format msgid "type attribute \"subtype\" is required" msgstr "el atributo de tipo «subtype» es obligatorio" -#: commands/typecmds.c:1463 +#: commands/typecmds.c:1473 #, c-format msgid "range subtype cannot be %s" msgstr "el subtipo de rango no puede ser %s" -#: commands/typecmds.c:1482 +#: commands/typecmds.c:1492 #, c-format msgid "range collation specified but subtype does not support collation" msgstr "se especificó un ordenamiento (collation) al rango, pero el subtipo no soporta ordenamiento" -#: commands/typecmds.c:1492 +#: commands/typecmds.c:1502 #, c-format msgid "cannot specify a canonical function without a pre-created shell type" msgstr "no se puede especificar una función canónica sin antes crear un tipo inconcluso" -#: commands/typecmds.c:1493 +#: commands/typecmds.c:1503 #, c-format msgid "Create the type as a shell type, then create its canonicalization function, then do a full CREATE TYPE." msgstr "Cree el tipo como un tipo inconcluso, luego cree su función de canonicalización, luego haga un CREATE TYPE completo." -#: commands/typecmds.c:1965 +#: commands/typecmds.c:1975 #, c-format msgid "type input function %s has multiple matches" msgstr "la función de entrada %s del tipo tiene múltiples coincidencias" -#: commands/typecmds.c:1983 +#: commands/typecmds.c:1993 #, c-format msgid "type input function %s must return type %s" msgstr "la función de entrada %s del tipo debe retornar %s" -#: commands/typecmds.c:1999 +#: commands/typecmds.c:2009 #, c-format msgid "type input function %s should not be volatile" msgstr "la función de entrada %s no debe ser volatile" -#: commands/typecmds.c:2027 +#: commands/typecmds.c:2037 #, c-format msgid "type output function %s must return type %s" msgstr "la función de salida %s del tipo debe retornar %s" -#: commands/typecmds.c:2034 +#: commands/typecmds.c:2044 #, c-format msgid "type output function %s should not be volatile" msgstr "la función de salida %s no debe ser volatile" -#: commands/typecmds.c:2063 +#: commands/typecmds.c:2073 #, c-format msgid "type receive function %s has multiple matches" msgstr "la función de recepción %s del tipo tiene múltiples coincidencias" -#: commands/typecmds.c:2081 +#: commands/typecmds.c:2091 #, c-format msgid "type receive function %s must return type %s" msgstr "la función de recepción %s del tipo debe retornar %s" -#: commands/typecmds.c:2088 +#: commands/typecmds.c:2098 #, c-format msgid "type receive function %s should not be volatile" msgstr "la función «receive» %s del tipo no debe ser volatile" -#: commands/typecmds.c:2116 +#: commands/typecmds.c:2126 #, c-format msgid "type send function %s must return type %s" msgstr "la función «send» %s del tipo debe retornar %s" -#: commands/typecmds.c:2123 +#: commands/typecmds.c:2133 #, c-format msgid "type send function %s should not be volatile" msgstr "la función «send» %s no debe ser volatile" -#: commands/typecmds.c:2150 +#: commands/typecmds.c:2160 #, c-format msgid "typmod_in function %s must return type %s" msgstr "la función typmod_in %s debe retornar tipo %s" -#: commands/typecmds.c:2157 +#: commands/typecmds.c:2167 #, c-format msgid "type modifier input function %s should not be volatile" msgstr "la función de modificadores de tipo %s no debe ser volatile" -#: commands/typecmds.c:2184 +#: commands/typecmds.c:2194 #, c-format msgid "typmod_out function %s must return type %s" msgstr "la función typmod_out %s debe retornar tipo %s" -#: commands/typecmds.c:2191 +#: commands/typecmds.c:2201 #, c-format msgid "type modifier output function %s should not be volatile" msgstr "la función de salida de modificadores de tipo %s no debe ser volatile" -#: commands/typecmds.c:2218 +#: commands/typecmds.c:2228 #, c-format msgid "type analyze function %s must return type %s" msgstr "la función de análisis %s del tipo debe retornar %s" -#: commands/typecmds.c:2247 +#: commands/typecmds.c:2257 #, c-format msgid "type subscripting function %s must return type %s" msgstr "la función de subindexación %s del tipo debe retornar %s" -#: commands/typecmds.c:2257 +#: commands/typecmds.c:2267 #, c-format msgid "user-defined types cannot use subscripting function %s" msgstr "los tipos definidos por el usuario no pueden usar la función de subindexación %s" -#: commands/typecmds.c:2303 +#: commands/typecmds.c:2313 #, c-format msgid "You must specify an operator class for the range type or define a default operator class for the subtype." msgstr "Debe especificar una clase de operadores para el tipo de rango, o definir una clase de operadores por omisión para el subtipo." -#: commands/typecmds.c:2334 +#: commands/typecmds.c:2344 #, c-format msgid "range canonical function %s must return range type" msgstr "la función canónica %s del rango debe retornar tipo de rango" -#: commands/typecmds.c:2340 +#: commands/typecmds.c:2350 #, c-format msgid "range canonical function %s must be immutable" msgstr "la función canónica %s del rango debe ser inmutable" -#: commands/typecmds.c:2376 +#: commands/typecmds.c:2386 #, c-format msgid "range subtype diff function %s must return type %s" msgstr "la función «diff» de subtipo, %s, debe retornar tipo %s" -#: commands/typecmds.c:2383 +#: commands/typecmds.c:2393 #, c-format msgid "range subtype diff function %s must be immutable" msgstr "la función «diff» de subtipo, %s, debe ser inmutable" -#: commands/typecmds.c:2410 +#: commands/typecmds.c:2420 #, c-format msgid "pg_type array OID value not set when in binary upgrade mode" msgstr "el valor de OID de pg_type no se definió en modo de actualización binaria" -#: commands/typecmds.c:2443 +#: commands/typecmds.c:2453 #, c-format msgid "pg_type multirange OID value not set when in binary upgrade mode" msgstr "el valor de OID de multirango de pg_type no se definió en modo de actualización binaria" -#: commands/typecmds.c:2476 +#: commands/typecmds.c:2486 #, c-format msgid "pg_type multirange array OID value not set when in binary upgrade mode" msgstr "el valor de OID de arreglo de multirango de pg_type no se definió en modo de actualización binaria" -#: commands/typecmds.c:2772 -#, c-format -msgid "column \"%s\" of table \"%s\" contains null values" -msgstr "la columna «%s» de la tabla «%s» contiene valores null" - -#: commands/typecmds.c:2885 commands/typecmds.c:3086 +#: commands/typecmds.c:2868 commands/typecmds.c:3093 #, c-format msgid "constraint \"%s\" of domain \"%s\" does not exist" msgstr "no existe la restricción «%s» en el dominio «%s»" -#: commands/typecmds.c:2889 +#: commands/typecmds.c:2872 #, c-format msgid "constraint \"%s\" of domain \"%s\" does not exist, skipping" msgstr "no existe la restricción «%s» en el dominio «%s», omitiendo" -#: commands/typecmds.c:3093 +#: commands/typecmds.c:3100 #, c-format msgid "constraint \"%s\" of domain \"%s\" is not a check constraint" msgstr "la restricción «%s» en el dominio «%s» no es una restricción «check»" -#: commands/typecmds.c:3194 +#: commands/typecmds.c:3180 +#, c-format +msgid "column \"%s\" of table \"%s\" contains null values" +msgstr "la columna «%s» de la tabla «%s» contiene valores null" + +#: commands/typecmds.c:3269 #, c-format msgid "column \"%s\" of table \"%s\" contains values that violate the new constraint" msgstr "la columna «%s» de la relación «%s» contiene valores que violan la nueva restricción" -#: commands/typecmds.c:3423 commands/typecmds.c:3622 commands/typecmds.c:3703 -#: commands/typecmds.c:3889 +#: commands/typecmds.c:3498 commands/typecmds.c:3772 commands/typecmds.c:3857 +#: commands/typecmds.c:4073 #, c-format msgid "%s is not a domain" msgstr "%s no es un dominio" -#: commands/typecmds.c:3455 +#: commands/typecmds.c:3532 commands/typecmds.c:3686 #, c-format msgid "constraint \"%s\" for domain \"%s\" already exists" msgstr "el dominio «%2$s» ya contiene una restricción llamada «%1$s»" -#: commands/typecmds.c:3506 +#: commands/typecmds.c:3583 #, c-format msgid "cannot use table references in domain check constraint" msgstr "no se pueden usar referencias a tablas en restricción «check» para un dominio" -#: commands/typecmds.c:3634 commands/typecmds.c:3715 commands/typecmds.c:4006 +#: commands/typecmds.c:3784 commands/typecmds.c:3869 commands/typecmds.c:4223 #, c-format msgid "%s is a table's row type" msgstr "%s es el tipo de registro de una tabla" -#: commands/typecmds.c:3636 commands/typecmds.c:3717 commands/typecmds.c:4008 -#, c-format -msgid "Use ALTER TABLE instead." -msgstr "Considere usar ALTER TABLE." - -#: commands/typecmds.c:3642 commands/typecmds.c:3723 commands/typecmds.c:3921 +#: commands/typecmds.c:3794 commands/typecmds.c:3879 commands/typecmds.c:4121 #, c-format msgid "cannot alter array type %s" msgstr "no se puede alterar el tipo de array «%s»" -#: commands/typecmds.c:3644 commands/typecmds.c:3725 commands/typecmds.c:3923 +#: commands/typecmds.c:3796 commands/typecmds.c:3881 commands/typecmds.c:4123 #, c-format msgid "You can alter type %s, which will alter the array type as well." msgstr "Puede alterar el tipo %s, lo cual alterará el tipo de array también." -#: commands/typecmds.c:3991 +#: commands/typecmds.c:3892 +#, fuzzy, c-format +msgid "cannot alter multirange type %s" +msgstr "no se puede alterar el tipo de array «%s»" + +#: commands/typecmds.c:3895 +#, fuzzy, c-format +msgid "You can alter type %s, which will alter the multirange type as well." +msgstr "Puede alterar el tipo %s, lo cual alterará el tipo de array también." + +#: commands/typecmds.c:4202 #, c-format msgid "type \"%s\" already exists in schema \"%s\"" msgstr "ya existe un tipo llamado «%s» en el esquema «%s»" -#: commands/typecmds.c:4159 +#: commands/typecmds.c:4382 #, c-format msgid "cannot change type's storage to PLAIN" msgstr "no se puede cambiar el almacenamiento del tipo a PLAIN" -#: commands/typecmds.c:4252 +#: commands/typecmds.c:4475 #, c-format msgid "type attribute \"%s\" cannot be changed" msgstr "el atributo de tipo «%s» no puede ser cambiado" -#: commands/typecmds.c:4270 +#: commands/typecmds.c:4493 #, c-format msgid "must be superuser to alter a type" msgstr "debe ser superusuario para alterar un tipo" -#: commands/typecmds.c:4291 commands/typecmds.c:4300 +#: commands/typecmds.c:4514 commands/typecmds.c:4523 #, c-format msgid "%s is not a base type" msgstr "«%s» no es un tipo base" -#: commands/user.c:201 +#: commands/user.c:200 #, c-format msgid "SYSID can no longer be specified" msgstr "SYSID ya no puede ser especificado" -#: commands/user.c:319 commands/user.c:325 commands/user.c:331 -#: commands/user.c:337 commands/user.c:343 +#: commands/user.c:318 commands/user.c:324 commands/user.c:330 +#: commands/user.c:336 commands/user.c:342 #, c-format msgid "permission denied to create role" msgstr "se ha denegado el permiso para crear el rol" -#: commands/user.c:320 +#: commands/user.c:319 #, c-format msgid "Only roles with the %s attribute may create roles." -msgstr "" +msgstr "Sólo los roles con el atributo %s pueden crear roles." -#: commands/user.c:326 commands/user.c:332 commands/user.c:338 -#: commands/user.c:344 +#: commands/user.c:325 commands/user.c:331 commands/user.c:337 +#: commands/user.c:343 #, c-format -msgid "Only roles with the %s attribute may create roles with %s." -msgstr "" +msgid "Only roles with the %s attribute may create roles with the %s attribute." +msgstr "Sólo los roles con el atributo %s pueden crear roles con el atributo %s." -#: commands/user.c:355 commands/user.c:1393 commands/user.c:1400 -#: utils/adt/acl.c:5409 utils/adt/acl.c:5415 gram.y:16727 gram.y:16773 +#: commands/user.c:354 commands/user.c:1386 commands/user.c:1393 +#: utils/adt/acl.c:5574 utils/adt/acl.c:5580 gram.y:17355 gram.y:17401 #, c-format msgid "role name \"%s\" is reserved" msgstr "el nombre de rol «%s» está reservado" -#: commands/user.c:357 commands/user.c:1395 commands/user.c:1402 +#: commands/user.c:356 commands/user.c:1388 commands/user.c:1395 #, c-format msgid "Role names starting with \"pg_\" are reserved." msgstr "Los nombres de rol que empiezan con «pg_» están reservados." -#: commands/user.c:378 commands/user.c:1417 +#: commands/user.c:377 commands/user.c:1410 #, c-format msgid "role \"%s\" already exists" msgstr "el rol «%s» ya existe" -#: commands/user.c:440 commands/user.c:925 +#: commands/user.c:439 commands/user.c:924 #, c-format msgid "empty string is not a valid password, clearing password" msgstr "la cadena vacía no es una contraseña válida, limpiando la contraseña" -#: commands/user.c:469 +#: commands/user.c:468 #, c-format msgid "pg_authid OID value not set when in binary upgrade mode" msgstr "el valor de OID de pg_authid no se definió en modo de actualización binaria" -#: commands/user.c:653 commands/user.c:1011 -#, fuzzy -#| msgid "cannot alter inherited column \"%s\"" +#: commands/user.c:652 commands/user.c:1010 msgid "Cannot alter reserved roles." -msgstr "no se puede alterar la columna heredada «%s»" +msgstr "No se pueden alterar roles reservados." -#: commands/user.c:760 commands/user.c:766 commands/user.c:782 -#: commands/user.c:790 commands/user.c:804 commands/user.c:810 -#: commands/user.c:816 commands/user.c:825 commands/user.c:870 -#: commands/user.c:1033 commands/user.c:1044 -#, fuzzy, c-format -#| msgid "permission denied to create role" +#: commands/user.c:759 commands/user.c:765 commands/user.c:781 +#: commands/user.c:789 commands/user.c:803 commands/user.c:809 +#: commands/user.c:815 commands/user.c:824 commands/user.c:869 +#: commands/user.c:1032 commands/user.c:1043 +#, c-format msgid "permission denied to alter role" -msgstr "se ha denegado el permiso para crear el rol" +msgstr "se ha denegado el permiso para alterar el rol" -#: commands/user.c:761 commands/user.c:1034 +#: commands/user.c:760 commands/user.c:1033 #, c-format -msgid "Only roles with the %s attribute may alter roles with %s." -msgstr "" +msgid "Only roles with the %s attribute may alter roles with the %s attribute." +msgstr "Sólo los roles con el atributo %s pueden alterar roles con el atributo %s." -#: commands/user.c:767 commands/user.c:805 commands/user.c:811 -#: commands/user.c:817 +#: commands/user.c:766 commands/user.c:804 commands/user.c:810 +#: commands/user.c:816 #, c-format msgid "Only roles with the %s attribute may change the %s attribute." -msgstr "" +msgstr "Sólo roles con el atributo %s pueden cambiar el atributo %s." -#: commands/user.c:783 commands/user.c:1045 +#: commands/user.c:782 commands/user.c:1044 #, c-format msgid "Only roles with the %s attribute and the %s option on role \"%s\" may alter this role." -msgstr "" +msgstr "Sólo los roles con el atributo %s y la opción %s en el rol «%s» pueden alterar este rol." -#: commands/user.c:791 +#: commands/user.c:790 #, c-format msgid "To change another role's password, the current user must have the %s attribute and the %s option on the role." -msgstr "" +msgstr "Para cambiar la password de otro rol, el usuario actual debe tener el atributo %s y la opción %s en el rol." -#: commands/user.c:826 +#: commands/user.c:825 #, c-format msgid "Only roles with the %s option on role \"%s\" may add members." -msgstr "" +msgstr "Sólo los roles con la opción %s en el rol «%s» pueden agregar miembros." -#: commands/user.c:871 +#: commands/user.c:870 #, c-format -msgid "The bootstrap user must have the %s attribute." -msgstr "" +msgid "The bootstrap superuser must have the %s attribute." +msgstr "El superusuario de \"bootstrap\" debe tener el atributo %s." -#: commands/user.c:1076 -#, fuzzy, c-format -#| msgid "permission denied to create role" +#: commands/user.c:1075 +#, c-format msgid "permission denied to alter setting" -msgstr "se ha denegado el permiso para crear el rol" +msgstr "se ha denegado el permiso para modificar la configuración" -#: commands/user.c:1077 +#: commands/user.c:1076 #, c-format msgid "Only roles with the %s attribute may alter settings globally." -msgstr "" +msgstr "Sólo los roles con el atributo %s pueden modificar parámetros de configuración globalmente." -#: commands/user.c:1101 commands/user.c:1173 commands/user.c:1179 +#: commands/user.c:1100 commands/user.c:1171 commands/user.c:1177 #, c-format msgid "permission denied to drop role" msgstr "se ha denegado el permiso para eliminar el rol" -#: commands/user.c:1102 +#: commands/user.c:1101 #, c-format msgid "Only roles with the %s attribute and the %s option on the target roles may drop roles." -msgstr "" +msgstr "Sólo los roles con el atributo %s y la opción %s en los roles de destino pueden borrar roles." -#: commands/user.c:1127 +#: commands/user.c:1125 #, c-format msgid "cannot use special role specifier in DROP ROLE" msgstr "no se puede usar un especificador especial de rol en DROP ROLE" -#: commands/user.c:1137 commands/user.c:1364 commands/variable.c:836 -#: commands/variable.c:839 commands/variable.c:923 commands/variable.c:926 -#: utils/adt/acl.c:359 utils/adt/acl.c:379 utils/adt/acl.c:5264 -#: utils/adt/acl.c:5312 utils/adt/acl.c:5340 utils/adt/acl.c:5359 -#: utils/adt/regproc.c:1551 utils/init/miscinit.c:757 +#: commands/user.c:1135 commands/user.c:1357 commands/variable.c:838 +#: commands/variable.c:841 commands/variable.c:947 commands/variable.c:950 +#: 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/regproc.c:1571 utils/init/miscinit.c:762 #, c-format msgid "role \"%s\" does not exist" msgstr "no existe el rol «%s»" -#: commands/user.c:1142 +#: commands/user.c:1140 #, c-format msgid "role \"%s\" does not exist, skipping" msgstr "el rol «%s» no existe, omitiendo" -#: commands/user.c:1155 commands/user.c:1159 +#: commands/user.c:1153 commands/user.c:1157 #, c-format msgid "current user cannot be dropped" msgstr "el usuario activo no puede ser eliminado" -#: commands/user.c:1163 +#: commands/user.c:1161 #, c-format msgid "session user cannot be dropped" msgstr "no se puede eliminar un usuario de la sesión" -#: commands/user.c:1174 +#: commands/user.c:1172 #, c-format -msgid "Only roles with the %s attribute may drop roles with %s." -msgstr "" +msgid "Only roles with the %s attribute may drop roles with the %s attribute." +msgstr "Sólo los roles con el atributo %s pueden borrar roles con el atributo %s." -#: commands/user.c:1180 +#: commands/user.c:1178 #, c-format msgid "Only roles with the %s attribute and the %s option on role \"%s\" may drop this role." -msgstr "" +msgstr "Sólo los roles con el atributo %s y la opción %s en el rol «%s» pueden borrar este rol." -#: commands/user.c:1306 +#: commands/user.c:1299 #, c-format msgid "role \"%s\" cannot be dropped because some objects depend on it" msgstr "no se puede eliminar el rol «%s» porque otros objetos dependen de él" -#: commands/user.c:1380 +#: commands/user.c:1373 #, c-format msgid "session user cannot be renamed" msgstr "no se puede cambiar el nombre a un usuario de la sesión" -#: commands/user.c:1384 +#: commands/user.c:1377 #, c-format msgid "current user cannot be renamed" msgstr "no se puede cambiar el nombre al usuario activo" -#: commands/user.c:1428 commands/user.c:1438 +#: commands/user.c:1421 commands/user.c:1431 #, c-format msgid "permission denied to rename role" msgstr "se ha denegado el permiso para cambiar el nombre al rol" -#: commands/user.c:1429 +#: commands/user.c:1422 #, c-format -msgid "Only roles with the %s attribute may rename roles with %s." -msgstr "" +msgid "Only roles with the %s attribute may rename roles with the %s attribute." +msgstr "Sólo los roles con el atributo %s pueden cambiar nombre a roles con el atributo %s." -#: commands/user.c:1439 +#: commands/user.c:1432 #, c-format msgid "Only roles with the %s attribute and the %s option on role \"%s\" may rename this role." -msgstr "" +msgstr "Sólo los roles con el atributo %s y la opción %s en el rol «%s» pueden cambiar nombre a este rol." -#: commands/user.c:1461 +#: commands/user.c:1454 #, c-format msgid "MD5 password cleared because of role rename" msgstr "la contraseña MD5 fue borrada debido al cambio de nombre del rol" -#: commands/user.c:1525 gram.y:1263 +#: commands/user.c:1518 gram.y:1297 #, c-format msgid "unrecognized role option \"%s\"" msgstr "opción de rol «%s» no reconocida" -#: commands/user.c:1530 -#, fuzzy, c-format -#| msgid "unrecognized value for option %s: %s" +#: commands/user.c:1523 +#, c-format msgid "unrecognized value for role option \"%s\": \"%s\"" -msgstr "valor no reconocido para la opción %s: %s" +msgstr "valor no reconocido para la opción de rol «%s»: «%s»" -#: commands/user.c:1563 +#: commands/user.c:1556 #, c-format msgid "column names cannot be included in GRANT/REVOKE ROLE" msgstr "los nombres de columna no pueden ser incluidos en GRANT/REVOKE ROLE" -#: commands/user.c:1603 +#: commands/user.c:1596 #, c-format msgid "permission denied to drop objects" msgstr "se ha denegado el permiso para eliminar objetos" -#: commands/user.c:1604 +#: commands/user.c:1597 #, c-format msgid "Only roles with privileges of role \"%s\" may drop objects owned by it." -msgstr "" +msgstr "Sólo los roles con privilegios del rol «%s» pueden borrar objetos de que es dueño." -#: commands/user.c:1632 commands/user.c:1643 +#: commands/user.c:1625 commands/user.c:1636 #, c-format msgid "permission denied to reassign objects" msgstr "se ha denegado el permiso para reasignar objetos" -#: commands/user.c:1633 +#: commands/user.c:1626 #, c-format msgid "Only roles with privileges of role \"%s\" may reassign objects owned by it." -msgstr "" +msgstr "Sólo los roles con privilegios del rol «%s» pueden reasignar objetos de que es dueño." -#: commands/user.c:1644 +#: commands/user.c:1637 #, c-format msgid "Only roles with privileges of role \"%s\" may reassign objects to it." -msgstr "" +msgstr "Sólo los roles con privilegios del rol «%s» pueden reasignar objetos a él." -#: commands/user.c:1740 +#: commands/user.c:1733 #, c-format msgid "role \"%s\" cannot be a member of any role" msgstr "el rol «%s» no puede ser miembro de ningún rol" -#: commands/user.c:1753 +#: commands/user.c:1746 #, c-format msgid "role \"%s\" is a member of role \"%s\"" msgstr "el rol «%s» es un miembro del rol «%s»" -#: commands/user.c:1793 commands/user.c:1819 -#, fuzzy, c-format -#| msgid "grant options cannot be granted back to your own grantor" +#: commands/user.c:1786 commands/user.c:1812 +#, c-format msgid "%s option cannot be granted back to your own grantor" -msgstr "la opción de grant no puede ser otorgada de vuelta a quien la otorgó" +msgstr "la opción %s no puede ser otorgada de vuelta a quien la otorgó" -#: commands/user.c:1896 -#, fuzzy, c-format -#| msgid "role \"%s\" is a member of role \"%s\"" +#: commands/user.c:1889 +#, c-format msgid "role \"%s\" has already been granted membership in role \"%s\" by role \"%s\"" -msgstr "el rol «%s» es un miembro del rol «%s»" +msgstr "el rol «%s» ya recibió membresía en el rol «%s» por parte del rol «%s»" -#: commands/user.c:2031 -#, fuzzy, c-format -#| msgid "role \"%s\" cannot be a member of any role" +#: commands/user.c:2024 +#, c-format msgid "role \"%s\" has not been granted membership in role \"%s\" by role \"%s\"" -msgstr "el rol «%s» no puede ser miembro de ningún rol" +msgstr "al rol «%s» no se le ha otorgado membresía en el rol «%s» por parte del rol «%s»" -#: commands/user.c:2131 +#: commands/user.c:2124 #, c-format msgid "role \"%s\" cannot have explicit members" msgstr "el rol «%s» no puede tener miembros explícitos" -#: commands/user.c:2142 commands/user.c:2165 -#, fuzzy, c-format -#| msgid "permission denied to set role \"%s\"" +#: commands/user.c:2135 commands/user.c:2158 +#, c-format msgid "permission denied to grant role \"%s\"" -msgstr "se ha denegado el permiso para definir el rol «%s»" +msgstr "se ha denegado el permiso para otorgar el rol «%s»" -#: commands/user.c:2144 +#: commands/user.c:2137 #, c-format -msgid "Only roles with the %s attribute may grant roles with %s." -msgstr "" +msgid "Only roles with the %s attribute may grant roles with the %s attribute." +msgstr "Sólo los roles con el atributo %s pueden otorgar roles con el atributo %s." -#: commands/user.c:2149 commands/user.c:2172 -#, fuzzy, c-format -#| msgid "permission denied to set role \"%s\"" +#: commands/user.c:2142 commands/user.c:2165 +#, c-format msgid "permission denied to revoke role \"%s\"" -msgstr "se ha denegado el permiso para definir el rol «%s»" +msgstr "se ha denegado el permiso para revocar el rol «%s»" -#: commands/user.c:2151 +#: commands/user.c:2144 #, c-format -msgid "Only roles with the %s attribute may revoke roles with %s." -msgstr "" +msgid "Only roles with the %s attribute may revoke roles with the %s attribute." +msgstr "Sólo los roles con el atributo %s pueden revocar roles con el atributo %s." -#: commands/user.c:2167 +#: commands/user.c:2160 #, c-format msgid "Only roles with the %s option on role \"%s\" may grant this role." -msgstr "" +msgstr "Sólo los roles con la opción %s en el rol «%s» pueden otorgar este rol." -#: commands/user.c:2174 +#: commands/user.c:2167 #, c-format msgid "Only roles with the %s option on role \"%s\" may revoke this role." -msgstr "" +msgstr "Sólo los roles con la opción %s en el rol «%s» pueden revocar este rol." -#: commands/user.c:2254 commands/user.c:2263 -#, fuzzy, c-format -#| msgid "permission denied to set role \"%s\"" +#: commands/user.c:2247 commands/user.c:2256 +#, c-format msgid "permission denied to grant privileges as role \"%s\"" -msgstr "se ha denegado el permiso para definir el rol «%s»" +msgstr "se ha denegado el permiso para otorgar privilegio de rol «%s»" -#: commands/user.c:2256 +#: commands/user.c:2249 #, c-format msgid "Only roles with privileges of role \"%s\" may grant privileges as this role." -msgstr "" +msgstr "Sólo los roles con privilegios del rol «%s» pueden otorgar privilegios como este rol." -#: commands/user.c:2265 -#, fuzzy, c-format -#| msgid "cannot use the \"%s\" option with the \"%s\" option" +#: commands/user.c:2258 +#, c-format msgid "The grantor must have the %s option on role \"%s\"." -msgstr "no se puede usar la opción «%s» junto con la opción «%s»" +msgstr "El otorgador debe tener la opción %s en el rol «%s»." -#: commands/user.c:2273 -#, fuzzy, c-format -#| msgid "permission denied to set role \"%s\"" +#: commands/user.c:2266 +#, c-format msgid "permission denied to revoke privileges granted by role \"%s\"" -msgstr "se ha denegado el permiso para definir el rol «%s»" +msgstr "se ha denegado el permiso a revocar permisos otorgados por el rol «%s»" -#: commands/user.c:2275 +#: commands/user.c:2268 #, c-format msgid "Only roles with privileges of role \"%s\" may revoke privileges granted by this role." -msgstr "" +msgstr "Sólo los roles con privilegios del rol «%s» pueden revocar privilegios otorgados por este rol." -#: commands/user.c:2498 utils/adt/acl.c:1312 +#: commands/user.c:2491 utils/adt/acl.c:1324 #, c-format msgid "dependent privileges exist" msgstr "existen privilegios dependientes" -#: commands/user.c:2499 utils/adt/acl.c:1313 +#: commands/user.c:2492 utils/adt/acl.c:1325 #, c-format msgid "Use CASCADE to revoke them too." msgstr "Use CASCADE para revocarlos también." -#: commands/vacuum.c:138 +#: commands/vacuum.c:134 #, c-format msgid "\"vacuum_buffer_usage_limit\" must be 0 or between %d kB and %d kB" -msgstr "" +msgstr "«vacuum_buffer_usage_limit» debe ser 0 o estar entre %d kB y %d kB" -#: commands/vacuum.c:210 -#, fuzzy, c-format -#| msgid "NUMERIC precision %d must be between 1 and %d" +#: commands/vacuum.c:209 +#, c-format msgid "BUFFER_USAGE_LIMIT option must be 0 or between %d kB and %d kB" -msgstr "la precisión %d de NUMERIC debe estar entre 1 y %d" +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:219 #, c-format msgid "unrecognized ANALYZE option \"%s\"" msgstr "opción de ANALYZE «%s» no reconocida" -#: commands/vacuum.c:260 +#: commands/vacuum.c:259 #, 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:271 #, 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:292 #, c-format msgid "unrecognized VACUUM option \"%s\"" msgstr "opción de VACUUM «%s» no reconocida" -#: commands/vacuum.c:319 +#: commands/vacuum.c:318 #, 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:329 #, c-format msgid "BUFFER_USAGE_LIMIT cannot be specified for VACUUM FULL" -msgstr "" +msgstr "BUFFER_USAGE_LIMIT no puede ser especificado para VACUUM FULL" -#: commands/vacuum.c:344 +#: commands/vacuum.c:343 #, 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:355 #, 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:362 #, c-format msgid "PROCESS_TOAST required with VACUUM FULL" msgstr "se requiere especificar PROCESS_TOAST al hacer VACUUM FULL" -#: commands/vacuum.c:372 -#, fuzzy, c-format -#| msgid "OLD TABLE cannot be specified multiple times" +#: commands/vacuum.c:371 +#, c-format msgid "ONLY_DATABASE_STATS cannot be specified with a list of tables" -msgstr "OLD TABLE no se puede especificar varias veces" +msgstr "ONLY_DATABASE_STATS no se puede especificar con una lista de tablas" -#: commands/vacuum.c:381 -#, fuzzy, c-format -#| msgid "option \"%s\" cannot be specified with other options" +#: commands/vacuum.c:380 +#, c-format msgid "ONLY_DATABASE_STATS cannot be specified with other VACUUM options" -msgstr "la opción «%s» no puede ser especificada con otras opciones" +msgstr "ONLY_DATABASE_STATS no puede ser especificada con otras opciones de VACUUM" -#: commands/vacuum.c:516 +#: commands/vacuum.c:515 #, c-format msgid "%s cannot be executed from VACUUM or ANALYZE" msgstr "%s no puede ejecutarse desde VACUUM o ANALYZE" -#: commands/vacuum.c:736 -#, fuzzy, c-format -#| msgid "permission denied for column %s" +#: commands/vacuum.c:730 +#, c-format msgid "permission denied to vacuum \"%s\", skipping it" -msgstr "permiso denegado a la columna %s" +msgstr "permiso denegado a hacer vacuum a «%s», ignorando" -#: commands/vacuum.c:749 -#, fuzzy, c-format -#| msgid "permission denied to set role \"%s\"" +#: commands/vacuum.c:743 +#, c-format msgid "permission denied to analyze \"%s\", skipping it" -msgstr "se ha denegado el permiso para definir el rol «%s»" +msgstr "se ha denegado el permiso para hacer analyze a «%s», ignorando" -#: commands/vacuum.c:827 commands/vacuum.c:924 +#: commands/vacuum.c:821 commands/vacuum.c:918 #, c-format msgid "skipping vacuum of \"%s\" --- lock not available" msgstr "omitiendo el vacuum de «%s»: el candado no está disponible" -#: commands/vacuum.c:832 +#: commands/vacuum.c:826 #, 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:848 commands/vacuum.c:929 +#: commands/vacuum.c:842 commands/vacuum.c:923 #, c-format msgid "skipping analyze of \"%s\" --- lock not available" msgstr "omitiendo analyze de «%s»: el candado no está disponible" -#: commands/vacuum.c:853 +#: commands/vacuum.c:847 #, 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:1164 +#: commands/vacuum.c:1139 #, c-format msgid "cutoff for removing and freezing tuples is far in the past" -msgstr "" +msgstr "el punto de corte para eliminar y congelar tuplas es demasiado antiguo" -#: commands/vacuum.c:1165 commands/vacuum.c:1170 +#: commands/vacuum.c:1140 commands/vacuum.c:1145 #, 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 "" -"Cierre transaciones abiertas pronto para impedir problemas por reciclaje de contadores.\n" +"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:1169 +#: commands/vacuum.c:1144 #, c-format msgid "cutoff for freezing multixacts is far in the past" -msgstr "" +msgstr "el punto de corte para congelar multixacts es demasiado antiguo" -#: commands/vacuum.c:1897 +#: commands/vacuum.c:1890 #, 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:1898 +#: commands/vacuum.c:1891 #, c-format msgid "You might have already suffered transaction-wraparound data loss." -msgstr "Puede haber sufrido ya problemas de pérdida de datos por reciclaje del contador de transacciones." +msgstr "Puede haber sufrido ya problemas de pérdida de datos por “wraparound” del contador de transacciones." -#: commands/vacuum.c:2063 +#: commands/vacuum.c:2070 #, 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:2488 -#, c-format -msgid "scanned index \"%s\" to remove %d row versions" +#: commands/vacuum.c:2502 +#, fuzzy, c-format +msgid "scanned index \"%s\" to remove %lld row versions" msgstr "se recorrió el índice «%s» para eliminar %d versiones de filas" -#: commands/vacuum.c:2507 +#: commands/vacuum.c:2521 #, 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:2511 +#: commands/vacuum.c:2525 #, c-format msgid "" "%.0f index row versions were removed.\n" "%u index pages were newly deleted.\n" "%u index pages are currently deleted, of which %u are currently reusable." msgstr "" +"%.0f versiones de filas de índice fueron eliminadas.\n" +"%u páginas de índice fueron recién eliminadas.\n" +"%u páginas de índice están actualmente eliminadas, de las cuales %u son actualmente reusables." -#: commands/vacuumparallel.c:677 +#: commands/vacuumparallel.c:708 #, c-format msgid "launched %d parallel vacuum worker for index vacuuming (planned: %d)" msgid_plural "launched %d parallel vacuum workers for index vacuuming (planned: %d)" msgstr[0] "se lanzó %d proceso asistente para «vacuum» de índices (planeados: %d)" msgstr[1] "se lanzaron %d procesos asistentes para «vacuum» índices (planeados: %d)" -#: commands/vacuumparallel.c:683 +#: commands/vacuumparallel.c:714 #, 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)" @@ -13033,7 +13408,7 @@ msgstr "SET TRANSACTION ISOLATION LEVEL debe ser llamado antes de cualquier cons msgid "SET TRANSACTION ISOLATION LEVEL must not be called in a subtransaction" msgstr "SET TRANSACTION ISOLATION LEVEL no debe ser llamado en una subtransacción" -#: commands/variable.c:606 storage/lmgr/predicate.c:1629 +#: commands/variable.c:606 storage/lmgr/predicate.c:1680 #, c-format msgid "cannot use serializable mode in a hot standby" msgstr "no se puede utilizar el modo serializable en un hot standby" @@ -13065,91 +13440,100 @@ msgstr "No se puede cambiar «client_encoding» ahora." #: commands/variable.c:781 #, c-format -msgid "cannot change client_encoding during a parallel operation" +msgid "cannot change \"client_encoding\" during a parallel operation" msgstr "no se puede cambiar «client_encoding» durante una operación paralela" -#: commands/variable.c:948 +#: commands/variable.c:863 +#, fuzzy, c-format +msgid "permission will be denied to set session authorization \"%s\"" +msgstr "se ha denegado el permiso para cambiar el usuario actual" + +#: commands/variable.c:868 +#, fuzzy, c-format +msgid "permission denied to set session authorization \"%s\"" +msgstr "se ha denegado el permiso para cambiar el usuario actual" + +#: commands/variable.c:972 #, c-format msgid "permission will be denied to set role \"%s\"" msgstr "se denegará el permiso para definir el rol «%s»" -#: commands/variable.c:953 +#: commands/variable.c:977 #, c-format msgid "permission denied to set role \"%s\"" msgstr "se ha denegado el permiso para definir el rol «%s»" -#: commands/variable.c:1153 +#: commands/variable.c:1177 #, c-format msgid "Bonjour is not supported by this build" msgstr "Bonjour no está soportado en este servidor" -#: commands/variable.c:1181 +#: commands/variable.c:1205 #, c-format -msgid "effective_io_concurrency must be set to 0 on platforms that lack posix_fadvise()." -msgstr "effective_io_concurrency debe ser 0 en plataformas que no tienen posix_fadvise()." +msgid "\"effective_io_concurrency\" must be set to 0 on platforms that lack posix_fadvise()." +msgstr "«effective_io_concurrency» debe ser 0 en plataformas que no tienen posix_fadvise()." -#: commands/variable.c:1194 +#: commands/variable.c:1218 #, c-format -msgid "maintenance_io_concurrency must be set to 0 on platforms that lack posix_fadvise()." -msgstr "maintenance_io_concurrency debe ser 0 en plataformas que no tienen posix_fadvise()." +msgid "\"maintenance_io_concurrency\" must be set to 0 on platforms that lack posix_fadvise()." +msgstr "«maintenance_io_concurrency» debe ser 0 en plataformas que no tienen posix_fadvise()." -#: commands/variable.c:1207 +#: commands/variable.c:1231 #, c-format msgid "SSL is not supported by this build" msgstr "SSL no está soportado en este servidor" -#: commands/view.c:84 +#: commands/view.c:79 #, c-format msgid "could not determine which collation to use for view column \"%s\"" msgstr "no se pudo determinar el ordenamiento (collation) a usar para la columna «%s» de vista" -#: commands/view.c:279 commands/view.c:290 +#: commands/view.c:274 commands/view.c:285 #, c-format msgid "cannot drop columns from view" msgstr "no se pueden eliminar columnas de una vista" -#: commands/view.c:295 +#: commands/view.c:290 #, c-format msgid "cannot change name of view column \"%s\" to \"%s\"" msgstr "no se puede cambiar el nombre de la columna «%s» de la vista a «%s»" -#: commands/view.c:298 +#: commands/view.c:293 #, c-format msgid "Use ALTER VIEW ... RENAME COLUMN ... to change name of view column instead." msgstr "Use ALTER VIEW ... RENAME COLUMN ... para cambiar el nombre de una columna de una vista." -#: commands/view.c:309 +#: commands/view.c:304 #, c-format msgid "cannot change data type of view column \"%s\" from %s to %s" msgstr "no se puede cambiar el tipo de dato de la columna «%s» de la vista de %s a %s" -#: commands/view.c:323 -#, fuzzy, c-format -#| msgid "cannot change data type of view column \"%s\" from %s to %s" +#: commands/view.c:318 +#, c-format msgid "cannot change collation of view column \"%s\" from \"%s\" to \"%s\"" -msgstr "no se puede cambiar el tipo de dato de la columna «%s» de la vista de %s a %s" +msgstr "no se puede cambiar el ordenamiento de la columna «%s» de la vista de «%s» a «%s»" -#: commands/view.c:392 +#: commands/view.c:387 #, c-format msgid "views must not contain SELECT INTO" msgstr "una vista no puede tener SELECT INTO" -#: commands/view.c:404 +#: commands/view.c:399 #, c-format msgid "views must not contain data-modifying statements in WITH" msgstr "las vistas no deben contener sentencias que modifiquen datos en WITH" -#: commands/view.c:474 +#: commands/view.c:469 #, c-format msgid "CREATE VIEW specifies more column names than columns" msgstr "CREATE VIEW especifica más nombres de columna que columnas" -#: commands/view.c:482 +#: commands/view.c:477 #, c-format msgid "views cannot be unlogged because they do not have storage" msgstr "las vistas no pueden ser «unlogged» porque no tienen almacenamiento" -#: commands/view.c:496 +#: commands/view.c:491 #, c-format msgid "view \"%s\" will be a temporary view" msgstr "la vista «%s» será una vista temporal" @@ -13185,515 +13569,509 @@ msgstr "el cursor «%s» no está posicionado en una fila" msgid "cursor \"%s\" is not a simply updatable scan of table \"%s\"" msgstr "el cursor «%s» no es un recorrido simplemente actualizable de la tabla «%s»" -#: executor/execCurrent.c:280 executor/execExprInterp.c:2497 +#: executor/execCurrent.c:280 executor/execExprInterp.c:2543 #, c-format msgid "type of parameter %d (%s) does not match that when preparing the plan (%s)" msgstr "el tipo del parámetro %d (%s) no coincide aquel con que fue preparado el plan (%s)" -#: executor/execCurrent.c:292 executor/execExprInterp.c:2509 +#: executor/execCurrent.c:292 executor/execExprInterp.c:2555 #, c-format msgid "no value found for parameter %d" msgstr "no se encontró un valor para parámetro %d" -#: executor/execExpr.c:637 executor/execExpr.c:644 executor/execExpr.c:650 -#: executor/execExprInterp.c:4229 executor/execExprInterp.c:4246 -#: executor/execExprInterp.c:4345 executor/nodeModifyTable.c:197 -#: executor/nodeModifyTable.c:208 executor/nodeModifyTable.c:225 -#: executor/nodeModifyTable.c:233 +#: executor/execExpr.c:642 executor/execExpr.c:649 executor/execExpr.c:655 +#: executor/execExprInterp.c:4834 executor/execExprInterp.c:4851 +#: executor/execExprInterp.c:4950 executor/nodeModifyTable.c:203 +#: executor/nodeModifyTable.c:214 executor/nodeModifyTable.c:231 +#: executor/nodeModifyTable.c:239 #, c-format msgid "table row type and query-specified row type do not match" msgstr "el tipo de registro de la tabla no coincide con el tipo de registro de la consulta" -#: executor/execExpr.c:638 executor/nodeModifyTable.c:198 +#: executor/execExpr.c:643 executor/nodeModifyTable.c:204 #, c-format msgid "Query has too many columns." msgstr "La consulta tiene demasiadas columnas." -#: executor/execExpr.c:645 executor/nodeModifyTable.c:226 +#: executor/execExpr.c:650 executor/nodeModifyTable.c:232 #, c-format msgid "Query provides a value for a dropped column at ordinal position %d." msgstr "La consulta entrega un valor para una columna eliminada en la posición %d." -#: executor/execExpr.c:651 executor/execExprInterp.c:4247 -#: executor/nodeModifyTable.c:209 +#: executor/execExpr.c:656 executor/execExprInterp.c:4852 +#: executor/nodeModifyTable.c:215 #, c-format 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:1099 parser/parse_agg.c:827 +#: executor/execExpr.c:1104 parser/parse_agg.c:840 #, c-format msgid "window function calls cannot be nested" msgstr "no se pueden anidar llamadas a funciones de ventana deslizante" -#: executor/execExpr.c:1618 +#: executor/execExpr.c:1641 #, c-format msgid "target type is not an array" msgstr "el tipo de destino no es un array" -#: executor/execExpr.c:1958 +#: executor/execExpr.c:1981 #, c-format msgid "ROW() column has type %s instead of type %s" msgstr "la columna de ROW() es de tipo %s en lugar de ser de tipo %s" -#: executor/execExpr.c:2587 executor/execSRF.c:719 parser/parse_func.c:138 -#: parser/parse_func.c:655 parser/parse_func.c:1032 +#: executor/execExpr.c:2643 executor/execSRF.c:718 parser/parse_func.c:138 +#: parser/parse_func.c:655 parser/parse_func.c:1033 #, c-format msgid "cannot pass more than %d argument to a function" msgid_plural "cannot pass more than %d arguments to a function" msgstr[0] "no se pueden pasar más de %d argumento a una función" msgstr[1] "no se pueden pasar más de %d argumentos a una función" -#: executor/execExpr.c:2614 executor/execSRF.c:739 executor/functions.c:1066 -#: utils/adt/jsonfuncs.c:3780 utils/fmgr/funcapi.c:89 utils/fmgr/funcapi.c:143 +#: executor/execExpr.c:2670 executor/execSRF.c:738 executor/functions.c:1068 +#: utils/adt/jsonfuncs.c:4054 utils/fmgr/funcapi.c:89 utils/fmgr/funcapi.c:143 #, c-format msgid "set-valued function called in context that cannot accept a set" msgstr "se llamó una función que retorna un conjunto en un contexto que no puede aceptarlo" -#: executor/execExpr.c:3020 parser/parse_node.c:277 parser/parse_node.c:327 +#: executor/execExpr.c:3076 parser/parse_node.c:272 parser/parse_node.c:322 #, c-format msgid "cannot subscript type %s because it does not support subscripting" msgstr "no se puede poner subíndices al tipo %s porque no soporta subíndices" -#: executor/execExpr.c:3148 executor/execExpr.c:3170 +#: executor/execExpr.c:3204 executor/execExpr.c:3226 #, c-format msgid "type %s does not support subscripted assignment" msgstr "el tipo %s no soporta asignación subindexada" -#: executor/execExprInterp.c:1962 +#: executor/execExprInterp.c:2007 #, c-format msgid "attribute %d of type %s has been dropped" msgstr "El atributo %d de tipo %s ha sido eliminado" -#: executor/execExprInterp.c:1968 +#: executor/execExprInterp.c:2013 #, c-format msgid "attribute %d of type %s has wrong type" msgstr "el atributo %d del tipo %s tiene tipo erróneo" -#: executor/execExprInterp.c:1970 executor/execExprInterp.c:3103 -#: executor/execExprInterp.c:3149 +#: executor/execExprInterp.c:2015 executor/execExprInterp.c:3214 +#: executor/execExprInterp.c:3260 #, c-format msgid "Table has type %s, but query expects %s." msgstr "La tabla tiene tipo %s, pero la consulta esperaba %s." -#: executor/execExprInterp.c:2049 utils/adt/expandedrecord.c:99 -#: utils/adt/expandedrecord.c:231 utils/cache/typcache.c:1743 -#: utils/cache/typcache.c:1902 utils/cache/typcache.c:2049 -#: utils/fmgr/funcapi.c:561 +#: executor/execExprInterp.c:2095 utils/adt/expandedrecord.c:99 +#: utils/adt/expandedrecord.c:231 utils/cache/typcache.c:1752 +#: utils/cache/typcache.c:1911 utils/cache/typcache.c:2058 +#: utils/fmgr/funcapi.c:569 #, c-format msgid "type %s is not composite" msgstr "el tipo %s no es compuesto" -#: executor/execExprInterp.c:2587 +#: executor/execExprInterp.c:2698 #, c-format msgid "WHERE CURRENT OF is not supported for this table type" msgstr "WHERE CURRENT OF no está soportado para este tipo de tabla" -#: executor/execExprInterp.c:2800 +#: executor/execExprInterp.c:2911 #, c-format msgid "cannot merge incompatible arrays" msgstr "no se puede mezclar arrays incompatibles" -#: executor/execExprInterp.c:2801 +#: executor/execExprInterp.c:2912 #, c-format msgid "Array with element type %s cannot be included in ARRAY construct with element type %s." msgstr "El array con tipo de elemento %s no puede ser incluido en una sentencia ARRAY con tipo de elemento %s." -#: executor/execExprInterp.c:2822 utils/adt/arrayfuncs.c:265 -#: utils/adt/arrayfuncs.c:575 utils/adt/arrayfuncs.c:1329 -#: utils/adt/arrayfuncs.c:3483 utils/adt/arrayfuncs.c:5567 -#: utils/adt/arrayfuncs.c:6084 utils/adt/arraysubs.c:150 +#: executor/execExprInterp.c:2933 utils/adt/arrayfuncs.c:1305 +#: utils/adt/arrayfuncs.c:3503 utils/adt/arrayfuncs.c:5593 +#: utils/adt/arrayfuncs.c:6110 utils/adt/arraysubs.c:150 #: utils/adt/arraysubs.c:488 #, c-format msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)" msgstr "el número de dimensiones del array (%d) excede el máximo permitido (%d)" -#: executor/execExprInterp.c:2842 executor/execExprInterp.c:2877 +#: executor/execExprInterp.c:2953 executor/execExprInterp.c:2988 #, c-format msgid "multidimensional arrays must have array expressions with matching dimensions" msgstr "los arrays multidimensionales deben tener expresiones de arrays con dimensiones coincidentes" -#: executor/execExprInterp.c:2854 utils/adt/array_expanded.c:274 -#: utils/adt/arrayfuncs.c:959 utils/adt/arrayfuncs.c:1568 -#: utils/adt/arrayfuncs.c:3285 utils/adt/arrayfuncs.c:3513 -#: utils/adt/arrayfuncs.c:6176 utils/adt/arrayfuncs.c:6517 -#: utils/adt/arrayutils.c:104 utils/adt/arrayutils.c:113 -#: utils/adt/arrayutils.c:120 +#: executor/execExprInterp.c:2965 utils/adt/array_expanded.c:274 +#: utils/adt/arrayfuncs.c:335 utils/adt/arrayfuncs.c:494 +#: utils/adt/arrayfuncs.c:727 utils/adt/arrayfuncs.c:1533 +#: utils/adt/arrayfuncs.c:2341 utils/adt/arrayfuncs.c:2356 +#: utils/adt/arrayfuncs.c:2618 utils/adt/arrayfuncs.c:2634 +#: utils/adt/arrayfuncs.c:2895 utils/adt/arrayfuncs.c:2949 +#: utils/adt/arrayfuncs.c:2964 utils/adt/arrayfuncs.c:3305 +#: utils/adt/arrayfuncs.c:3533 utils/adt/arrayfuncs.c:5365 +#: utils/adt/arrayfuncs.c:6202 utils/adt/arrayfuncs.c:6546 +#: utils/adt/arrayutils.c:83 utils/adt/arrayutils.c:92 +#: utils/adt/arrayutils.c:99 #, c-format msgid "array size exceeds the maximum allowed (%d)" msgstr "el tamaño del array excede el máximo permitido (%d)" -#: executor/execExprInterp.c:3102 executor/execExprInterp.c:3148 +#: executor/execExprInterp.c:3213 executor/execExprInterp.c:3259 #, c-format msgid "attribute %d has wrong type" msgstr "el atributo %d tiene tipo erróneo" -#: executor/execExprInterp.c:3730 utils/adt/domains.c:155 +#: executor/execExprInterp.c:3845 utils/adt/domains.c:158 #, c-format msgid "domain %s does not allow null values" msgstr "el dominio %s no permite valores null" -#: executor/execExprInterp.c:3745 utils/adt/domains.c:193 +#: executor/execExprInterp.c:3860 utils/adt/domains.c:196 #, c-format msgid "value for domain %s violates check constraint \"%s\"" msgstr "el valor para el dominio %s viola la restricción «check» «%s»" -#: executor/execExprInterp.c:4230 +#: executor/execExprInterp.c:4434 +#, c-format +msgid "no SQL/JSON item found for specified path of column \"%s\"" +msgstr "ningún ítem SQL/JSON fue encontrado para la ruta especificada de la columna «%s»" + +#: executor/execExprInterp.c:4439 +#, c-format +msgid "no SQL/JSON item found for specified path" +msgstr "ningún ítem SQL/JSON fue encontrado para la ruta especificada" + +#: executor/execExprInterp.c:4637 +#, c-format +msgid "could not coerce ON ERROR expression (%s) to the RETURNING type" +msgstr "no se pudo convertir la expresión ON ERROR (%s) al tipo RETURNING" + +#: executor/execExprInterp.c:4643 +#, c-format +msgid "could not coerce ON EMPTY expression (%s) to the RETURNING type" +msgstr "no se pudo convertir la expresión ON EMPTY (%s) al tipo RETURNING" + +#: executor/execExprInterp.c:4835 #, c-format msgid "Table row contains %d attribute, but query expects %d." msgid_plural "Table row contains %d attributes, but query expects %d." msgstr[0] "La fila de la tabla contiene %d atributo, pero la consulta esperaba %d." msgstr[1] "La fila de la tabla contiene %d atributos, pero la consulta esperaba %d." -#: executor/execExprInterp.c:4346 executor/execSRF.c:978 +#: executor/execExprInterp.c:4951 executor/execSRF.c:977 #, c-format msgid "Physical storage mismatch on dropped attribute at ordinal position %d." msgstr "Discordancia de almacenamiento físico en atributo eliminado en la posición %d." -#: executor/execIndexing.c:588 +#: executor/execIndexing.c:593 #, c-format msgid "ON CONFLICT does not support deferrable unique constraints/exclusion constraints as arbiters" msgstr "ON CONFLICT no soporta las restricciones únicas o de exclusión postergables como árbitros" -#: executor/execIndexing.c:865 +#: executor/execIndexing.c:870 #, c-format msgid "could not create exclusion constraint \"%s\"" msgstr "no se pudo crear la restricción de exclusión «%s»" -#: executor/execIndexing.c:868 +#: executor/execIndexing.c:873 #, c-format msgid "Key %s conflicts with key %s." msgstr "La llave %s está en conflicto con la llave %s." -#: executor/execIndexing.c:870 +#: executor/execIndexing.c:875 #, c-format msgid "Key conflicts exist." msgstr "Existe un conflicto de llave." -#: executor/execIndexing.c:876 +#: executor/execIndexing.c:881 #, c-format msgid "conflicting key value violates exclusion constraint \"%s\"" msgstr "llave en conflicto viola la restricción de exclusión «%s»" -#: executor/execIndexing.c:879 +#: executor/execIndexing.c:884 #, c-format msgid "Key %s conflicts with existing key %s." msgstr "La llave %s está en conflicto con la llave existente %s." -#: executor/execIndexing.c:881 +#: executor/execIndexing.c:886 #, c-format msgid "Key conflicts with existing key." msgstr "La llave está en conflicto con una llave existente." -#: executor/execMain.c:1030 +#: executor/execMain.c:1041 #, c-format msgid "cannot change sequence \"%s\"" msgstr "no se puede cambiar la secuencia «%s»" -#: executor/execMain.c:1036 +#: executor/execMain.c:1047 #, c-format msgid "cannot change TOAST relation \"%s\"" msgstr "no se puede cambiar la relación TOAST «%s»" -#: executor/execMain.c:1054 rewrite/rewriteHandler.c:3078 -#: rewrite/rewriteHandler.c:3965 -#, c-format -msgid "cannot insert into view \"%s\"" -msgstr "no se puede insertar en la vista «%s»" - -#: executor/execMain.c:1056 rewrite/rewriteHandler.c:3081 -#: rewrite/rewriteHandler.c:3968 -#, 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 disparador INSTEAD OF INSERT o una regla incodicional ON INSERT DO INSTEAD." - -#: executor/execMain.c:1062 rewrite/rewriteHandler.c:3086 -#: rewrite/rewriteHandler.c:3973 -#, c-format -msgid "cannot update view \"%s\"" -msgstr "no se puede actualizar la vista «%s»" - -#: executor/execMain.c:1064 rewrite/rewriteHandler.c:3089 -#: rewrite/rewriteHandler.c:3976 -#, 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 disparador INSTEAD OF UPDATE o una regla incondicional ON UPDATE DO INSTEAD." - -#: executor/execMain.c:1070 rewrite/rewriteHandler.c:3094 -#: rewrite/rewriteHandler.c:3981 -#, c-format -msgid "cannot delete from view \"%s\"" -msgstr "no se puede eliminar de la vista «%s»" - -#: executor/execMain.c:1072 rewrite/rewriteHandler.c:3097 -#: rewrite/rewriteHandler.c:3984 -#, 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 disparador INSTEAD OF DELETE o una regla incondicional ON DELETE DO INSTEAD." - -#: executor/execMain.c:1083 +#: executor/execMain.c:1066 #, c-format msgid "cannot change materialized view \"%s\"" msgstr "no se puede cambiar la vista materializada «%s»" -#: executor/execMain.c:1095 +#: executor/execMain.c:1078 #, c-format msgid "cannot insert into foreign table \"%s\"" msgstr "no se puede insertar en la tabla foránea «%s»" -#: executor/execMain.c:1101 +#: executor/execMain.c:1084 #, c-format msgid "foreign table \"%s\" does not allow inserts" msgstr "la tabla foránea «%s» no permite inserciones" -#: executor/execMain.c:1108 +#: executor/execMain.c:1091 #, c-format msgid "cannot update foreign table \"%s\"" msgstr "no se puede actualizar la tabla foránea «%s»" -#: executor/execMain.c:1114 +#: executor/execMain.c:1097 #, c-format msgid "foreign table \"%s\" does not allow updates" msgstr "la tabla foránea «%s» no permite actualizaciones" -#: executor/execMain.c:1121 +#: executor/execMain.c:1104 #, c-format msgid "cannot delete from foreign table \"%s\"" msgstr "no se puede eliminar desde la tabla foránea «%s»" -#: executor/execMain.c:1127 +#: executor/execMain.c:1110 #, c-format msgid "foreign table \"%s\" does not allow deletes" msgstr "la tabla foránea «%s» no permite eliminaciones" -#: executor/execMain.c:1138 +#: executor/execMain.c:1121 #, c-format msgid "cannot change relation \"%s\"" msgstr "no se puede cambiar la relación «%s»" -#: executor/execMain.c:1165 +#: executor/execMain.c:1148 #, c-format msgid "cannot lock rows in sequence \"%s\"" msgstr "no se puede bloquear registros de la secuencia «%s»" -#: executor/execMain.c:1172 +#: executor/execMain.c:1155 #, c-format msgid "cannot lock rows in TOAST relation \"%s\"" msgstr "no se puede bloquear registros en la relación TOAST «%s»" -#: executor/execMain.c:1179 +#: executor/execMain.c:1162 #, c-format msgid "cannot lock rows in view \"%s\"" msgstr "no se puede bloquear registros en la vista «%s»" -#: executor/execMain.c:1187 +#: executor/execMain.c:1170 #, c-format msgid "cannot lock rows in materialized view \"%s\"" msgstr "no se puede bloquear registros en la vista materializada «%s»" -#: executor/execMain.c:1196 executor/execMain.c:2699 +#: executor/execMain.c:1179 executor/execMain.c:2684 #: executor/nodeLockRows.c:135 #, c-format msgid "cannot lock rows in foreign table \"%s\"" msgstr "no se puede bloquear registros en la tabla foránea «%s»" -#: executor/execMain.c:1202 +#: executor/execMain.c:1185 #, c-format msgid "cannot lock rows in relation \"%s\"" msgstr "no se puede bloquear registros en la tabla «%s»" -#: executor/execMain.c:1913 +#: executor/execMain.c:1898 #, c-format msgid "new row for relation \"%s\" violates partition constraint" msgstr "el nuevo registro para la relación «%s» viola la restricción de partición" -#: executor/execMain.c:1915 executor/execMain.c:1999 executor/execMain.c:2050 -#: executor/execMain.c:2160 +#: executor/execMain.c:1900 executor/execMain.c:1984 executor/execMain.c:2035 +#: executor/execMain.c:2145 #, c-format msgid "Failing row contains %s." msgstr "La fila que falla contiene %s." -#: executor/execMain.c:1996 +#: executor/execMain.c:1981 #, c-format msgid "null value in column \"%s\" of relation \"%s\" violates not-null constraint" msgstr "el valor nulo en la columna «%s» de la relación «%s» viola la restricción de no nulo" -#: executor/execMain.c:2048 +#: executor/execMain.c:2033 #, c-format msgid "new row for relation \"%s\" violates check constraint \"%s\"" msgstr "el nuevo registro para la relación «%s» viola la restricción «check» «%s»" -#: executor/execMain.c:2158 +#: executor/execMain.c:2143 #, c-format msgid "new row violates check option for view \"%s\"" msgstr "el nuevo registro para la vista «%s» viola la opción check" -#: executor/execMain.c:2168 +#: executor/execMain.c:2153 #, c-format msgid "new row violates row-level security policy \"%s\" for table \"%s\"" msgstr "el nuevo registro viola la política de seguridad de registros «%s» para la tabla «%s»" -#: executor/execMain.c:2173 +#: executor/execMain.c:2158 #, c-format msgid "new row violates row-level security policy for table \"%s\"" msgstr "el nuevo registro viola la política de seguridad de registros para la tabla «%s»" -#: executor/execMain.c:2181 -#, fuzzy, c-format -#| msgid "new row violates row-level security policy \"%s\" (USING expression) for table \"%s\"" +#: executor/execMain.c:2166 +#, c-format msgid "target row violates row-level security policy \"%s\" (USING expression) for table \"%s\"" -msgstr "el nuevo registro viola la política de seguridad de registros «%s» (expresión USING) para la tabla «%s»" +msgstr "el registro destino viola la política de seguridad de registros «%s» (expresión USING) para la tabla «%s»" -#: executor/execMain.c:2186 -#, fuzzy, c-format -#| msgid "new row violates row-level security policy (USING expression) for table \"%s\"" +#: executor/execMain.c:2171 +#, c-format msgid "target row violates row-level security policy (USING expression) for table \"%s\"" -msgstr "el nuevo registro viola la política de seguridad de registros (expresión USING) para la tabla «%s»" +msgstr "el registro destino viola la política de seguridad de registros (expresión USING) para la tabla «%s»" -#: executor/execMain.c:2193 +#: executor/execMain.c:2178 #, c-format msgid "new row violates row-level security policy \"%s\" (USING expression) for table \"%s\"" msgstr "el nuevo registro viola la política de seguridad de registros «%s» (expresión USING) para la tabla «%s»" -#: executor/execMain.c:2198 +#: executor/execMain.c:2183 #, c-format msgid "new row violates row-level security policy (USING expression) for table \"%s\"" msgstr "el nuevo registro viola la política de seguridad de registros (expresión USING) para la tabla «%s»" -#: executor/execPartition.c:330 +#: executor/execPartition.c:327 #, c-format msgid "no partition of relation \"%s\" found for row" msgstr "no se encontró una partición de «%s» para el registro" -#: executor/execPartition.c:333 +#: executor/execPartition.c:330 #, c-format msgid "Partition key of the failing row contains %s." msgstr "La llave de particionamiento de la fila que falla contiene %s." -#: executor/execReplication.c:240 executor/execReplication.c:424 +#: executor/execReplication.c:272 executor/execReplication.c:456 #, c-format msgid "tuple to be locked was already moved to another partition due to concurrent update, retrying" msgstr "el registro a ser bloqueado ya fue movido a otra partición debido a un update concurrente, reintentando" -#: executor/execReplication.c:244 executor/execReplication.c:428 +#: executor/execReplication.c:276 executor/execReplication.c:460 #, c-format msgid "concurrent update, retrying" msgstr "actualización simultánea, reintentando" -#: executor/execReplication.c:250 executor/execReplication.c:434 +#: executor/execReplication.c:282 executor/execReplication.c:466 #, c-format msgid "concurrent delete, retrying" msgstr "eliminacón concurrente, reintentando" -#: executor/execReplication.c:320 parser/parse_cte.c:308 -#: parser/parse_oper.c:233 utils/adt/array_userfuncs.c:1348 -#: utils/adt/array_userfuncs.c:1491 utils/adt/arrayfuncs.c:3832 -#: utils/adt/arrayfuncs.c:4387 utils/adt/arrayfuncs.c:6397 -#: utils/adt/rowtypes.c:1230 +#: executor/execReplication.c:352 parser/parse_cte.c:302 +#: 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:6426 +#: utils/adt/rowtypes.c:1220 #, c-format msgid "could not identify an equality operator for type %s" msgstr "no se pudo identificar un operador de igualdad para el tipo %s" -#: executor/execReplication.c:651 executor/execReplication.c:657 -#, fuzzy, c-format -#| msgid "cannot update foreign table \"%s\"" +#: executor/execReplication.c:683 executor/execReplication.c:689 +#, c-format msgid "cannot update table \"%s\"" -msgstr "no se puede actualizar la tabla foránea «%s»" +msgstr "no se puede actualizar la tabla «%s»" -#: executor/execReplication.c:653 executor/execReplication.c:665 +#: executor/execReplication.c:685 executor/execReplication.c:697 #, c-format msgid "Column used in the publication WHERE expression is not part of the replica identity." msgstr "La columna usada en la expresión WHERE de la publicación no es parte de la identidad de replicación." -#: executor/execReplication.c:659 executor/execReplication.c:671 +#: executor/execReplication.c:691 executor/execReplication.c:703 #, c-format msgid "Column list used by the publication does not cover the replica identity." msgstr "La lista de columnas usada por la publicación no incluye la identidad de replicación." -#: executor/execReplication.c:663 executor/execReplication.c:669 -#, fuzzy, c-format -#| msgid "cannot delete from foreign table \"%s\"" +#: executor/execReplication.c:695 executor/execReplication.c:701 +#, c-format msgid "cannot delete from table \"%s\"" -msgstr "no se puede eliminar desde la tabla foránea «%s»" +msgstr "no se puede eliminar desde la tabla «%s»" -#: executor/execReplication.c:689 +#: executor/execReplication.c:721 #, c-format msgid "cannot update table \"%s\" because it does not have a replica identity and publishes updates" msgstr "no se puede actualizar la tabla «%s» porque no tiene identidad de replicación y publica updates" -#: executor/execReplication.c:691 +#: executor/execReplication.c:723 #, c-format msgid "To enable updating the table, set REPLICA IDENTITY using ALTER TABLE." msgstr "Para habilitar la actualización de la tabla, configure REPLICA IDENTITY utilizando ALTER TABLE." -#: executor/execReplication.c:695 +#: executor/execReplication.c:727 #, c-format msgid "cannot delete from table \"%s\" because it does not have a replica identity and publishes deletes" msgstr "no se puede eliminar de la tabla «%s» porque no tiene una identidad de replicación y publica deletes" -#: executor/execReplication.c:697 +#: executor/execReplication.c:729 #, c-format msgid "To enable deleting from the table, set REPLICA IDENTITY using ALTER TABLE." msgstr "para habilitar la eliminación en la tabla, configure REPLICA IDENTITY utilizando ALTER TABLE." -#: executor/execReplication.c:713 +#: executor/execReplication.c:745 #, c-format msgid "cannot use relation \"%s.%s\" as logical replication target" msgstr "no se puede usar la relación «%s.%s» como destino de replicación lógica" -#: executor/execSRF.c:316 +#: executor/execSRF.c:315 #, c-format msgid "rows returned by function are not all of the same row type" msgstr "las filas retornadas por la función no tienen todas el mismo tipo de registro" -#: executor/execSRF.c:366 +#: executor/execSRF.c:365 #, c-format msgid "table-function protocol for value-per-call mode was not followed" msgstr "no se siguió el protocolo de función tabular para el modo de valor por llamada" -#: executor/execSRF.c:374 executor/execSRF.c:668 +#: executor/execSRF.c:373 executor/execSRF.c:667 #, c-format msgid "table-function protocol for materialize mode was not followed" msgstr "no se siguió el protocolo de función tabular para el modo de materialización" -#: executor/execSRF.c:381 executor/execSRF.c:686 +#: executor/execSRF.c:380 executor/execSRF.c:685 #, c-format msgid "unrecognized table-function returnMode: %d" msgstr "modo de retorno de la función tabular no es reconocido: %d" -#: executor/execSRF.c:895 +#: executor/execSRF.c:894 #, c-format msgid "function returning setof record called in context that cannot accept type record" msgstr "se llamó una función que retorna «setof record» en un contexto que no puede aceptar el tipo record" -#: executor/execSRF.c:951 executor/execSRF.c:967 executor/execSRF.c:977 +#: executor/execSRF.c:950 executor/execSRF.c:966 executor/execSRF.c:976 #, c-format msgid "function return row and query-specified return row do not match" msgstr "la fila de retorno especificada en la consulta no coincide con fila de retorno de la función" -#: executor/execSRF.c:952 +#: executor/execSRF.c:951 #, c-format msgid "Returned row contains %d attribute, but query expects %d." msgid_plural "Returned row contains %d attributes, but query expects %d." msgstr[0] "Fila retornada contiene %d atributo, pero la consulta esperaba %d." msgstr[1] "Fila retornada contiene %d atributos, pero la consulta esperaba %d." -#: executor/execSRF.c:968 +#: executor/execSRF.c:967 #, c-format msgid "Returned type %s at ordinal position %d, but query expects %s." msgstr "Tipo retornado %s en posición ordinal %d, pero la consulta esperaba %s." -#: executor/execTuples.c:146 executor/execTuples.c:353 -#: executor/execTuples.c:521 executor/execTuples.c:713 +#: executor/execTuples.c:147 executor/execTuples.c:368 +#: executor/execTuples.c:563 executor/execTuples.c:772 #, c-format msgid "cannot retrieve a system column in this context" msgstr "no se puede obtener una columna de sistema en este contexto" -#: executor/execUtils.c:744 +#: executor/execTuples.c:163 executor/execTuples.c:580 +#, c-format +msgid "don't have transaction information for this type of tuple" +msgstr "no se tiene información de transacción para este tipo de tupla" + +#: executor/execTuples.c:390 executor/execTuples.c:794 +#, c-format +msgid "don't have a storage tuple in this context" +msgstr "" + +#: executor/execUtils.c:713 #, c-format msgid "materialized view \"%s\" has not been populated" msgstr "la vista materializada «%s» no ha sido poblada" -#: executor/execUtils.c:746 +#: executor/execUtils.c:715 #, c-format msgid "Use the REFRESH MATERIALIZED VIEW command." msgstr "Use la orden REFRESH MATERIALIZED VIEW." @@ -13703,111 +14081,111 @@ msgstr "Use la orden REFRESH MATERIALIZED VIEW." msgid "could not determine actual type of argument declared %s" msgstr "no se pudo determinar el tipo de argumento declarado %s" -#: executor/functions.c:512 +#: executor/functions.c:513 #, c-format msgid "cannot COPY to/from client in an SQL function" msgstr "no se puede ejecutar COPY desde/a un cliente en una función SQL" #. translator: %s is a SQL statement name -#: executor/functions.c:518 +#: executor/functions.c:519 #, c-format msgid "%s is not allowed in an SQL function" msgstr "%s no está permitido en una función SQL" #. translator: %s is a SQL statement name -#: executor/functions.c:526 executor/spi.c:1742 executor/spi.c:2635 +#: executor/functions.c:527 executor/spi.c:1741 executor/spi.c:2649 #, c-format msgid "%s is not allowed in a non-volatile function" msgstr "%s no está permitido en una función no-«volatile»" -#: executor/functions.c:1450 +#: executor/functions.c:1452 #, c-format msgid "SQL function \"%s\" statement %d" msgstr "función SQL «%s» en la sentencia %d" -#: executor/functions.c:1476 +#: executor/functions.c:1478 #, c-format msgid "SQL function \"%s\" during startup" msgstr "función SQL «%s» durante el inicio" -#: executor/functions.c:1561 +#: executor/functions.c:1563 #, c-format msgid "calling procedures with output arguments is not supported in SQL functions" msgstr "no está permitido invocar procedimientos con argumentos de salida en funciones SQL" -#: executor/functions.c:1694 executor/functions.c:1732 -#: executor/functions.c:1746 executor/functions.c:1836 -#: executor/functions.c:1869 executor/functions.c:1883 +#: executor/functions.c:1698 executor/functions.c:1736 +#: executor/functions.c:1750 executor/functions.c:1845 +#: executor/functions.c:1878 executor/functions.c:1892 #, c-format msgid "return type mismatch in function declared to return %s" msgstr "el tipo de retorno de función declarada para retornar %s no concuerda" -#: executor/functions.c:1696 +#: executor/functions.c:1700 #, c-format -msgid "Function's final statement must be SELECT or INSERT/UPDATE/DELETE RETURNING." -msgstr "La sentencia final de la función debe ser un SELECT o INSERT/UPDATE/DELETE RETURNING." +msgid "Function's final statement must be SELECT or INSERT/UPDATE/DELETE/MERGE RETURNING." +msgstr "La sentencia final de la función debe ser un SELECT o INSERT/UPDATE/DELETE/MERGE RETURNING." -#: executor/functions.c:1734 +#: executor/functions.c:1738 #, c-format msgid "Final statement must return exactly one column." msgstr "La sentencia final debe retornar exactamente una columna." -#: executor/functions.c:1748 +#: executor/functions.c:1752 #, c-format msgid "Actual return type is %s." msgstr "El verdadero tipo de retorno es %s." -#: executor/functions.c:1838 +#: executor/functions.c:1847 #, c-format msgid "Final statement returns too many columns." msgstr "La sentencia final retorna demasiadas columnas." -#: executor/functions.c:1871 +#: executor/functions.c:1880 #, c-format msgid "Final statement returns %s instead of %s at column %d." msgstr "La sentencia final retorna %s en lugar de %s en la columna %d." -#: executor/functions.c:1885 +#: executor/functions.c:1894 #, c-format msgid "Final statement returns too few columns." msgstr "La sentencia final retorna muy pocas columnas." -#: executor/functions.c:1913 +#: executor/functions.c:1922 #, c-format msgid "return type %s is not supported for SQL functions" msgstr "el tipo de retorno %s no es soportado en funciones SQL" -#: executor/nodeAgg.c:3937 executor/nodeWindowAgg.c:2993 +#: executor/nodeAgg.c:3936 executor/nodeWindowAgg.c:2976 #, c-format 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:3967 parser/parse_agg.c:669 parser/parse_agg.c:697 +#: executor/nodeAgg.c:3966 parser/parse_agg.c:682 parser/parse_agg.c:710 #, c-format msgid "aggregate function calls cannot be nested" msgstr "no se pueden anidar llamadas a funciones de agregación" -#: executor/nodeCustom.c:154 executor/nodeCustom.c:165 +#: executor/nodeCustom.c:144 executor/nodeCustom.c:155 #, c-format msgid "custom scan \"%s\" does not support MarkPos" msgstr "el scan personalizado «%s» no soporta MarkPos" -#: executor/nodeHashjoin.c:1143 executor/nodeHashjoin.c:1173 +#: executor/nodeHashjoin.c:1131 executor/nodeHashjoin.c:1161 #, c-format msgid "could not rewind hash-join temporary file" msgstr "no se puede rebobinar el archivo temporal del hash-join" -#: executor/nodeIndexonlyscan.c:238 +#: executor/nodeIndexonlyscan.c:239 #, c-format msgid "lossy distance functions are not supported in index-only scans" msgstr "no se permiten funciones de ventana deslizante en predicados de índice" -#: executor/nodeLimit.c:374 +#: executor/nodeLimit.c:373 #, c-format msgid "OFFSET must not be negative" msgstr "OFFSET no debe ser negativo" -#: executor/nodeLimit.c:400 +#: executor/nodeLimit.c:399 #, c-format msgid "LIMIT must not be negative" msgstr "LIMIT no debe ser negativo" @@ -13822,76 +14200,74 @@ msgstr "RIGHT JOIN sólo está soportado con condiciones que se pueden usar con msgid "FULL JOIN is only supported with merge-joinable join conditions" msgstr "FULL JOIN sólo está soportado con condiciones que se pueden usar con merge join" -#: executor/nodeModifyTable.c:234 +#: executor/nodeModifyTable.c:240 #, c-format msgid "Query has too few columns." msgstr "La consulta tiene muy pocas columnas." -#: executor/nodeModifyTable.c:1530 executor/nodeModifyTable.c:1604 +#: executor/nodeModifyTable.c:1540 executor/nodeModifyTable.c:1614 #, c-format msgid "tuple to be deleted was already modified by an operation triggered by the current command" msgstr "el registro a ser eliminado ya fue modificado por una operación disparada por la orden actual" -#: executor/nodeModifyTable.c:1758 +#: executor/nodeModifyTable.c:1769 #, c-format msgid "invalid ON UPDATE specification" msgstr "especificación ON UPDATE no válida" -#: executor/nodeModifyTable.c:1759 +#: executor/nodeModifyTable.c:1770 #, c-format msgid "The result tuple would appear in a different partition than the original tuple." msgstr "La tupla de resultado aparecería en una partición diferente que la tupla original." -#: executor/nodeModifyTable.c:2217 +#: executor/nodeModifyTable.c:2226 #, 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 "no se puede mover una tupla entre particiones cuando un ancestro no-raíz de la partición de origen es referenciada directamente en una llave foránea" -#: executor/nodeModifyTable.c:2218 +#: executor/nodeModifyTable.c:2227 #, c-format msgid "A foreign key points to ancestor \"%s\" but not the root ancestor \"%s\"." -msgstr "" +msgstr "Una llave foránea apunta al ancestro «%s» pero no al ancestro raíz «%s»." -#: executor/nodeModifyTable.c:2221 -#, fuzzy, c-format -#| msgid "cannot insert into foreign table \"%s\"" +#: executor/nodeModifyTable.c:2230 +#, c-format msgid "Consider defining the foreign key on table \"%s\"." -msgstr "no se puede insertar en la tabla foránea «%s»" +msgstr "Considere definir una llave foránea en la tabla «%s»." #. translator: %s is a SQL command name -#: executor/nodeModifyTable.c:2567 executor/nodeModifyTable.c:2954 +#: executor/nodeModifyTable.c:2577 executor/nodeModifyTable.c:3099 +#: executor/nodeModifyTable.c:3260 #, c-format msgid "%s command cannot affect row a second time" -msgstr "" +msgstr "la orden %s no puede afectar una fila por segunda vez" -#: executor/nodeModifyTable.c:2569 +#: executor/nodeModifyTable.c:2579 #, c-format 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:2956 +#: executor/nodeModifyTable.c:3092 executor/nodeModifyTable.c:3253 +#, 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:3101 executor/nodeModifyTable.c:3262 #, 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:3037 -#, fuzzy, c-format -#| msgid "tuple to be locked was already moved to another partition due to concurrent update" -msgid "tuple to be deleted was already moved to another partition due to concurrent update" -msgstr "el registro a ser bloqueado ya fue movido a otra partición por un update concurrente" - -#: executor/nodeModifyTable.c:3076 -#, fuzzy, c-format -#| msgid "tuple to be updated was already modified by an operation triggered by the current command" -msgid "tuple to be updated or deleted was already modified by an operation triggered by the current command" -msgstr "el registro a ser actualizado ya fue modificado por una operación disparada por la orden actual" +#: executor/nodeModifyTable.c:3170 +#, 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" -#: executor/nodeSamplescan.c:260 +#: executor/nodeSamplescan.c:244 #, c-format msgid "TABLESAMPLE parameter cannot be null" msgstr "el parámetro TABLESAMPLE no puede ser null" -#: executor/nodeSamplescan.c:272 +#: executor/nodeSamplescan.c:256 #, c-format msgid "TABLESAMPLE REPEATABLE parameter cannot be null" msgstr "el parámetro TABLESAMPLE REPEATABLE no puede ser null" @@ -13902,7 +14278,7 @@ msgstr "el parámetro TABLESAMPLE REPEATABLE no puede ser null" msgid "more than one row returned by a subquery used as an expression" msgstr "una subconsulta utilizada como expresión retornó más de un registro" -#: executor/nodeTableFuncscan.c:375 +#: executor/nodeTableFuncscan.c:370 #, c-format msgid "namespace URI must not be null" msgstr "la URI del espacio de nombres no debe ser null" @@ -13912,17 +14288,17 @@ msgstr "la URI del espacio de nombres no debe ser null" msgid "row filter expression must not be null" msgstr "la expresión filtro de filas no debe ser null" -#: executor/nodeTableFuncscan.c:415 +#: executor/nodeTableFuncscan.c:416 #, c-format msgid "column filter expression must not be null" msgstr "la expresión filtro de columnas no debe ser null" -#: executor/nodeTableFuncscan.c:416 +#: executor/nodeTableFuncscan.c:417 #, c-format msgid "Filter for column \"%s\" is null." msgstr "El filtro para la columna «%s» es null." -#: executor/nodeTableFuncscan.c:506 +#: executor/nodeTableFuncscan.c:507 #, c-format msgid "null is not allowed in column \"%s\"" msgstr "null no está permitido en la columna «%s»" @@ -13952,84 +14328,84 @@ msgstr "la posición final del marco no debe ser null" msgid "frame ending offset must not be negative" msgstr "la posición final del marco no debe ser negativa" -#: executor/nodeWindowAgg.c:2909 +#: executor/nodeWindowAgg.c:2892 #, c-format msgid "aggregate function %s does not support use as a window function" msgstr "la función de agregación %s no permite ser usada como función ventana" -#: executor/spi.c:242 executor/spi.c:342 +#: executor/spi.c:241 executor/spi.c:341 #, c-format msgid "invalid transaction termination" msgstr "terminación de transacción no válida" -#: executor/spi.c:257 +#: executor/spi.c:256 #, c-format msgid "cannot commit while a subtransaction is active" msgstr "no se puede comprometer mientras hay una subtransacción activa" -#: executor/spi.c:348 +#: executor/spi.c:347 #, c-format msgid "cannot roll back while a subtransaction is active" msgstr "no se puede hacer rollback mientras hay una subtransacción activa" -#: executor/spi.c:472 +#: executor/spi.c:471 #, c-format msgid "transaction left non-empty SPI stack" msgstr "transacción dejó un stack SPI no vacío" -#: executor/spi.c:473 executor/spi.c:533 +#: executor/spi.c:472 executor/spi.c:532 #, c-format msgid "Check for missing \"SPI_finish\" calls." msgstr "Revise llamadas a «SPI_finish» faltantes." -#: executor/spi.c:532 +#: executor/spi.c:531 #, c-format msgid "subtransaction left non-empty SPI stack" msgstr "subtransacción dejó un stack SPI no vacío" -#: executor/spi.c:1600 +#: executor/spi.c:1599 #, c-format msgid "cannot open multi-query plan as cursor" msgstr "no se puede abrir plan de varias consultas como cursor" #. translator: %s is name of a SQL command, eg INSERT -#: executor/spi.c:1610 +#: executor/spi.c:1609 #, c-format msgid "cannot open %s query as cursor" msgstr "no se puede abrir consulta %s como cursor" -#: executor/spi.c:1716 +#: executor/spi.c:1715 #, c-format msgid "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE is not supported" msgstr "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE no está soportado" -#: executor/spi.c:1717 parser/analyze.c:2874 +#: executor/spi.c:1716 parser/analyze.c:2928 #, c-format msgid "Scrollable cursors must be READ ONLY." msgstr "Los cursores declarados SCROLL deben ser READ ONLY." -#: executor/spi.c:2474 +#: executor/spi.c:2488 #, c-format msgid "empty query does not return tuples" msgstr "la consulta vacía no retorna tuplas" #. translator: %s is name of a SQL command, eg INSERT -#: executor/spi.c:2548 +#: executor/spi.c:2562 #, c-format msgid "%s query does not return tuples" msgstr "la consulta «%s» no retorna tuplas" -#: executor/spi.c:2963 +#: executor/spi.c:2979 #, c-format msgid "SQL expression \"%s\"" msgstr "expresión SQL «%s»" -#: executor/spi.c:2968 +#: executor/spi.c:2984 #, c-format msgid "PL/pgSQL assignment \"%s\"" msgstr "asignación PL/pgSQL «%s»" -#: executor/spi.c:2971 +#: executor/spi.c:2987 #, c-format msgid "SQL statement \"%s\"" msgstr "sentencia SQL: «%s»" @@ -14039,35 +14415,28 @@ msgstr "sentencia SQL: «%s»" msgid "could not send tuple to shared-memory queue" msgstr "no se pudo enviar la tupla a la cola en memoria compartida" -#: foreign/foreign.c:222 +#: foreign/foreign.c:224 #, c-format -msgid "user mapping not found for \"%s\"" -msgstr "no se encontró un mapeo para el usuario «%s»" +msgid "user mapping not found for user \"%s\", server \"%s\"" +msgstr "no se encontró un mapeo para el usuario «%s», servidor «%s»" -#: foreign/foreign.c:647 storage/file/fd.c:3881 +#: foreign/foreign.c:650 #, c-format msgid "invalid option \"%s\"" msgstr "el nombre de opción «%s» no es válido" -#: foreign/foreign.c:649 -#, fuzzy, c-format -#| msgid "Perhaps you meant to reference the column \"%s.%s\"." +#: foreign/foreign.c:652 +#, c-format msgid "Perhaps you meant the option \"%s\"." -msgstr "Probablemente quiera hacer referencia a la columna «%s.%s»." - -#: foreign/foreign.c:651 -#, fuzzy, c-format -#| msgid "There are no old transactions anymore." -msgid "There are no valid options in this context." -msgstr "Ya no hay transacciones antiguas en ejecución." +msgstr "Quizás se refiere a la opción «%s»." -#: jit/jit.c:205 utils/fmgr/dfmgr.c:209 utils/fmgr/dfmgr.c:415 +#: foreign/foreign.c:654 #, c-format -msgid "could not access file \"%s\": %m" -msgstr "no se pudo acceder al archivo «%s»: %m" +msgid "There are no valid options in this context." +msgstr "No hay opciones válidas en este contexto." -#: lib/dshash.c:254 utils/mmgr/dsa.c:714 utils/mmgr/dsa.c:736 -#: utils/mmgr/dsa.c:817 +#: lib/dshash.c:254 utils/mmgr/dsa.c:708 utils/mmgr/dsa.c:730 +#: utils/mmgr/dsa.c:811 #, c-format msgid "Failed on DSA request of size %zu." msgstr "Falla en petición DSA de tamaño %zu." @@ -14077,708 +14446,700 @@ msgstr "Falla en petición DSA de tamaño %zu." msgid "expected SASL response, got message type %d" msgstr "se esperaba una respuesta SASL, se obtuvo mensaje de tipo %d" -#: libpq/auth-scram.c:270 +#: libpq/auth-scram.c:263 #, c-format msgid "client selected an invalid SASL authentication mechanism" msgstr "cliente eligió un mecanismo de autentificación SASL no válido" -#: libpq/auth-scram.c:294 libpq/auth-scram.c:543 libpq/auth-scram.c:554 +#: libpq/auth-scram.c:287 libpq/auth-scram.c:536 libpq/auth-scram.c:547 #, c-format msgid "invalid SCRAM secret for user \"%s\"" msgstr "el secreto SCRAM para el usuario «%s» no es válido" -#: libpq/auth-scram.c:305 +#: libpq/auth-scram.c:298 #, c-format msgid "User \"%s\" does not have a valid SCRAM secret." msgstr "El usuario «%s» no tiene un secreto SCRAM válido." -#: libpq/auth-scram.c:385 libpq/auth-scram.c:390 libpq/auth-scram.c:744 -#: libpq/auth-scram.c:752 libpq/auth-scram.c:857 libpq/auth-scram.c:870 -#: libpq/auth-scram.c:880 libpq/auth-scram.c:988 libpq/auth-scram.c:995 -#: libpq/auth-scram.c:1010 libpq/auth-scram.c:1025 libpq/auth-scram.c:1039 -#: libpq/auth-scram.c:1057 libpq/auth-scram.c:1072 libpq/auth-scram.c:1386 -#: libpq/auth-scram.c:1394 +#: libpq/auth-scram.c:378 libpq/auth-scram.c:383 libpq/auth-scram.c:737 +#: libpq/auth-scram.c:745 libpq/auth-scram.c:850 libpq/auth-scram.c:863 +#: libpq/auth-scram.c:873 libpq/auth-scram.c:981 libpq/auth-scram.c:988 +#: libpq/auth-scram.c:1003 libpq/auth-scram.c:1018 libpq/auth-scram.c:1032 +#: libpq/auth-scram.c:1050 libpq/auth-scram.c:1065 libpq/auth-scram.c:1379 +#: libpq/auth-scram.c:1387 #, c-format msgid "malformed SCRAM message" msgstr "mensaje SCRAM mal formado" -#: libpq/auth-scram.c:386 +#: libpq/auth-scram.c:379 #, c-format msgid "The message is empty." msgstr "El mensaje está vacío." -#: libpq/auth-scram.c:391 +#: libpq/auth-scram.c:384 #, c-format msgid "Message length does not match input length." msgstr "El largo del mensaje no coincide con el largo de entrada." -#: libpq/auth-scram.c:423 +#: libpq/auth-scram.c:416 #, c-format msgid "invalid SCRAM response" msgstr "respuesta SCRAM no válida" -#: libpq/auth-scram.c:424 +#: libpq/auth-scram.c:417 #, c-format msgid "Nonce does not match." msgstr "El «nonce» no coincide." -#: libpq/auth-scram.c:500 +#: libpq/auth-scram.c:493 #, c-format msgid "could not generate random salt" msgstr "no se pudo generar una sal aleatoria" -#: libpq/auth-scram.c:745 +#: libpq/auth-scram.c:738 #, c-format msgid "Expected attribute \"%c\" but found \"%s\"." msgstr "Se esperaba un atributo «%c» pero se encontró «%s»." -#: libpq/auth-scram.c:753 libpq/auth-scram.c:881 +#: libpq/auth-scram.c:746 libpq/auth-scram.c:874 #, c-format msgid "Expected character \"=\" for attribute \"%c\"." msgstr "Se esperaba el carácter «=» para el atributo «%c»." -#: libpq/auth-scram.c:858 +#: libpq/auth-scram.c:851 #, c-format msgid "Attribute expected, but found end of string." msgstr "Se esperaba un atributo, se encontró el fin de la cadena." -#: libpq/auth-scram.c:871 +#: libpq/auth-scram.c:864 #, c-format msgid "Attribute expected, but found invalid character \"%s\"." msgstr "Se esperaba un atributo, se encontró el carácter no válido «%s»." -#: libpq/auth-scram.c:989 libpq/auth-scram.c:1011 +#: libpq/auth-scram.c:982 libpq/auth-scram.c:1004 #, c-format msgid "The client selected SCRAM-SHA-256-PLUS, but the SCRAM message does not include channel binding data." msgstr "El cliente seleccionó SCRAM-SHA-256-PLUS, pero el mensaje SCRAM no incluye los datos de enlazado (binding) del canal." -#: libpq/auth-scram.c:996 libpq/auth-scram.c:1026 +#: libpq/auth-scram.c:989 libpq/auth-scram.c:1019 #, c-format msgid "Comma expected, but found character \"%s\"." msgstr "Se esperaba una coma, se encontró el carácter «%s»." -#: libpq/auth-scram.c:1017 +#: libpq/auth-scram.c:1010 #, c-format msgid "SCRAM channel binding negotiation error" msgstr "error de negociación de enlazado (binding) de canal SCRAM" -#: libpq/auth-scram.c:1018 +#: libpq/auth-scram.c:1011 #, c-format msgid "The client supports SCRAM channel binding but thinks the server does not. However, this server does support channel binding." msgstr "El cliente soporta enlazado (binding) de canal SCRAM, pero piensa que el servidor no. Sin embargo, este servidor sí soporta enlazado de canal." -#: libpq/auth-scram.c:1040 +#: libpq/auth-scram.c:1033 #, c-format msgid "The client selected SCRAM-SHA-256 without channel binding, but the SCRAM message includes channel binding data." msgstr "El cliente seleccionó SCRAM-SHA-256 sin enlazado de canal, pero el mensaje SCRAM incluye datos de enlazado de canal." -#: libpq/auth-scram.c:1051 +#: libpq/auth-scram.c:1044 #, c-format msgid "unsupported SCRAM channel-binding type \"%s\"" msgstr "tipo de enlazado de canal SCRAM «%s» no soportado" -#: libpq/auth-scram.c:1058 +#: libpq/auth-scram.c:1051 #, c-format msgid "Unexpected channel-binding flag \"%s\"." msgstr "Indicador de enlazado de canal «%s» inesperado." -#: libpq/auth-scram.c:1068 +#: libpq/auth-scram.c:1061 #, c-format msgid "client uses authorization identity, but it is not supported" msgstr "el cliente usa identidad de autorización, pero no está soportada" -#: libpq/auth-scram.c:1073 +#: libpq/auth-scram.c:1066 #, c-format msgid "Unexpected attribute \"%s\" in client-first-message." msgstr "Atributo inesperado \"%s\" en client-first-message." -#: libpq/auth-scram.c:1089 +#: libpq/auth-scram.c:1082 #, c-format msgid "client requires an unsupported SCRAM extension" msgstr "el cliente requiere una extensión SCRAM no soportada" -#: libpq/auth-scram.c:1103 +#: libpq/auth-scram.c:1096 #, c-format msgid "non-printable characters in SCRAM nonce" msgstr "caracteres no imprimibles en el «nonce» SCRAM" -#: libpq/auth-scram.c:1234 +#: libpq/auth-scram.c:1227 #, c-format msgid "could not generate random nonce" msgstr "no se pudo generar un «nonce» aleatorio" -#: libpq/auth-scram.c:1244 +#: libpq/auth-scram.c:1237 #, c-format msgid "could not encode random nonce" msgstr "no se pudo codificar un «nonce» aleatorio" -#: libpq/auth-scram.c:1350 +#: libpq/auth-scram.c:1343 #, c-format msgid "SCRAM channel binding check failed" msgstr "la verificación de enlazado (binding) de canal SCRAM falló" -#: libpq/auth-scram.c:1368 +#: libpq/auth-scram.c:1361 #, c-format msgid "unexpected SCRAM channel-binding attribute in client-final-message" msgstr "atributo de enlazado de canal SCRAM inesperado en client-final-message" -#: libpq/auth-scram.c:1387 +#: libpq/auth-scram.c:1380 #, c-format msgid "Malformed proof in client-final-message." msgstr "Prueba (proof) mal formada en client-final-message." -#: libpq/auth-scram.c:1395 +#: libpq/auth-scram.c:1388 #, c-format msgid "Garbage found at the end of client-final-message." msgstr "Basura encontrada al final de client-final-message." -#: libpq/auth.c:271 +#: libpq/auth.c:269 #, c-format msgid "authentication failed for user \"%s\": host rejected" msgstr "la autentificación falló para el usuario «%s»: anfitrión rechazado" -#: libpq/auth.c:274 +#: libpq/auth.c:272 #, c-format msgid "\"trust\" authentication failed for user \"%s\"" msgstr "la autentificación «trust» falló para el usuario «%s»" -#: libpq/auth.c:277 +#: libpq/auth.c:275 #, c-format msgid "Ident authentication failed for user \"%s\"" msgstr "la autentificación Ident falló para el usuario «%s»" -#: libpq/auth.c:280 +#: libpq/auth.c:278 #, c-format msgid "Peer authentication failed for user \"%s\"" msgstr "la autentificación Peer falló para el usuario «%s»" -#: libpq/auth.c:285 +#: libpq/auth.c:283 #, c-format msgid "password authentication failed for user \"%s\"" msgstr "la autentificación password falló para el usuario «%s»" -#: libpq/auth.c:290 +#: libpq/auth.c:288 #, c-format msgid "GSSAPI authentication failed for user \"%s\"" msgstr "la autentificación GSSAPI falló para el usuario «%s»" -#: libpq/auth.c:293 +#: libpq/auth.c:291 #, c-format msgid "SSPI authentication failed for user \"%s\"" msgstr "la autentificación SSPI falló para el usuario «%s»" -#: libpq/auth.c:296 +#: libpq/auth.c:294 #, c-format msgid "PAM authentication failed for user \"%s\"" msgstr "la autentificación PAM falló para el usuario «%s»" -#: libpq/auth.c:299 +#: libpq/auth.c:297 #, c-format msgid "BSD authentication failed for user \"%s\"" msgstr "la autentificación BSD falló para el usuario «%s»" -#: libpq/auth.c:302 +#: libpq/auth.c:300 #, c-format msgid "LDAP authentication failed for user \"%s\"" msgstr "la autentificación LDAP falló para el usuario «%s»" -#: libpq/auth.c:305 +#: libpq/auth.c:303 #, c-format msgid "certificate authentication failed for user \"%s\"" msgstr "la autentificación por certificado falló para el usuario «%s»" -#: libpq/auth.c:308 +#: libpq/auth.c:306 #, c-format msgid "RADIUS authentication failed for user \"%s\"" msgstr "la autentificación RADIUS falló para el usuario «%s»" -#: libpq/auth.c:311 +#: libpq/auth.c:309 #, c-format msgid "authentication failed for user \"%s\": invalid authentication method" msgstr "la autentificación falló para el usuario «%s»: método de autentificación no válido" -#: libpq/auth.c:315 -#, fuzzy, c-format -#| msgid "reconnection failed: %s" -msgid "Connection matched %s line %d: \"%s\"" -msgstr "falló la reconexión: %s" +#: libpq/auth.c:313 +#, c-format +msgid "Connection matched file \"%s\" line %d: \"%s\"" +msgstr "La conexión coincidió con el archivo «%s» línea %d: «%s»" -#: libpq/auth.c:359 +#: libpq/auth.c:357 #, c-format msgid "authentication identifier set more than once" msgstr "identificador de autentificación establecido más de una vez" -#: libpq/auth.c:360 +#: libpq/auth.c:358 #, c-format msgid "previous identifier: \"%s\"; new identifier: \"%s\"" msgstr "identificador anterior: «%s»; nuevo identificador: «%s»" -#: libpq/auth.c:370 +#: libpq/auth.c:368 #, c-format msgid "connection authenticated: identity=\"%s\" method=%s (%s:%d)" msgstr "conexión autenticada: identidad=«%s» método=%s (%s:%d)" -#: libpq/auth.c:410 +#: libpq/auth.c:408 #, c-format msgid "client certificates can only be checked if a root certificate store is available" msgstr "los certificados de cliente sólo pueden verificarse si un almacén de certificado raíz está disponible" -#: libpq/auth.c:421 +#: libpq/auth.c:419 #, c-format msgid "connection requires a valid client certificate" msgstr "la conexión requiere un certificado de cliente válido" -#: libpq/auth.c:452 libpq/auth.c:498 +#: libpq/auth.c:450 libpq/auth.c:496 msgid "GSS encryption" msgstr "cifrado GSS" -#: libpq/auth.c:455 libpq/auth.c:501 +#: libpq/auth.c:453 libpq/auth.c:499 msgid "SSL encryption" msgstr "cifrado SSL" -#: libpq/auth.c:457 libpq/auth.c:503 +#: libpq/auth.c:455 libpq/auth.c:501 msgid "no encryption" msgstr "sin cifrado" #. translator: last %s describes encryption state -#: libpq/auth.c:463 +#: libpq/auth.c:461 #, c-format msgid "pg_hba.conf rejects replication connection for host \"%s\", user \"%s\", %s" msgstr "pg_hba.conf rechaza la conexión de replicación para el servidor «%s», usuario «%s», %s" #. translator: last %s describes encryption state -#: libpq/auth.c:470 +#: libpq/auth.c:468 #, c-format msgid "pg_hba.conf rejects connection for host \"%s\", user \"%s\", database \"%s\", %s" msgstr "pg_hba.conf rechaza la conexión para el servidor «%s», usuario «%s», base de datos «%s», %s" -#: libpq/auth.c:508 +#: libpq/auth.c:506 #, c-format msgid "Client IP address resolved to \"%s\", forward lookup matches." msgstr "La dirección IP del cliente fue resuelta a «%s», este resultado es coincidente." -#: libpq/auth.c:511 +#: libpq/auth.c:509 #, c-format msgid "Client IP address resolved to \"%s\", forward lookup not checked." msgstr "La dirección IP del cliente fue resuelta a «%s», este resultado no fue verificado." -#: libpq/auth.c:514 +#: libpq/auth.c:512 #, c-format msgid "Client IP address resolved to \"%s\", forward lookup does not match." msgstr "La dirección IP del cliente fue resuelta a «%s», este resultado no es coincidente." -#: libpq/auth.c:517 +#: libpq/auth.c:515 #, c-format msgid "Could not translate client host name \"%s\" to IP address: %s." msgstr "No se pudo traducir el nombre de host del cliente «%s» a una dirección IP: %s." -#: libpq/auth.c:522 +#: libpq/auth.c:520 #, c-format msgid "Could not resolve client IP address to a host name: %s." msgstr "No se pudo obtener la dirección IP del cliente a un nombre de host: %s." #. translator: last %s describes encryption state -#: libpq/auth.c:530 +#: libpq/auth.c:528 #, c-format msgid "no pg_hba.conf entry for replication connection from host \"%s\", user \"%s\", %s" msgstr "no hay una línea en pg_hba.conf para la conexión de replicación desde el servidor «%s», usuario «%s», %s" #. translator: last %s describes encryption state -#: libpq/auth.c:538 +#: libpq/auth.c:536 #, c-format msgid "no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\", %s" msgstr "no hay una línea en pg_hba.conf para «%s», usuario «%s», base de datos «%s», %s" -#: libpq/auth.c:711 +#: libpq/auth.c:656 +#, c-format +msgid "connection authenticated: user=\"%s\" method=%s (%s:%d)" +msgstr "conexión autenticada: usuario=«%s» método=%s (%s:%d)" + +#: libpq/auth.c:725 #, c-format msgid "expected password response, got message type %d" msgstr "se esperaba una respuesta de contraseña, se obtuvo mensaje de tipo %d" -#: libpq/auth.c:732 +#: libpq/auth.c:746 #, c-format msgid "invalid password packet size" msgstr "el tamaño del paquete de contraseña no es válido" -#: libpq/auth.c:750 +#: libpq/auth.c:764 #, c-format msgid "empty password returned by client" msgstr "el cliente retornó una contraseña vacía" -#: libpq/auth.c:879 libpq/hba.c:1749 -#, c-format -msgid "MD5 authentication is not supported when \"db_user_namespace\" is enabled" -msgstr "la autentificación MD5 no está soportada cuando «db_user_namespace» está activo" - -#: libpq/auth.c:885 +#: libpq/auth.c:892 #, c-format msgid "could not generate random MD5 salt" msgstr "no se pudo generar una sal MD5 aleatoria" -#: libpq/auth.c:936 libpq/be-secure-gssapi.c:540 +#: libpq/auth.c:943 libpq/be-secure-gssapi.c:540 #, c-format msgid "could not set environment: %m" msgstr "no se pudo establecer el ambiente: %m" -#: libpq/auth.c:975 +#: libpq/auth.c:982 #, c-format msgid "expected GSS response, got message type %d" msgstr "se esperaba una respuesta GSS, se obtuvo mensaje de tipo %d" -#: libpq/auth.c:1041 +#: libpq/auth.c:1048 msgid "accepting GSS security context failed" msgstr "falló la aceptación del contexto de seguridad GSS" -#: libpq/auth.c:1082 +#: libpq/auth.c:1089 msgid "retrieving GSS user name failed" msgstr "falló la obtención del nombre de usuario GSS" -#: libpq/auth.c:1228 +#: libpq/auth.c:1235 msgid "could not acquire SSPI credentials" msgstr "no se pudo obtener las credenciales SSPI" -#: libpq/auth.c:1253 +#: libpq/auth.c:1260 #, c-format msgid "expected SSPI response, got message type %d" msgstr "se esperaba una respuesta SSPI, se obtuvo mensaje de tipo %d" -#: libpq/auth.c:1331 +#: libpq/auth.c:1338 msgid "could not accept SSPI security context" msgstr "no se pudo aceptar un contexto SSPI" -#: libpq/auth.c:1372 +#: libpq/auth.c:1379 msgid "could not get token from SSPI security context" msgstr "no se pudo obtener un testigo (token) desde el contexto de seguridad SSPI" -#: libpq/auth.c:1508 libpq/auth.c:1527 +#: libpq/auth.c:1515 libpq/auth.c:1534 #, c-format msgid "could not translate name" msgstr "no se pudo traducir el nombre" -#: libpq/auth.c:1540 +#: libpq/auth.c:1547 #, c-format msgid "realm name too long" msgstr "nombre de «realm» demasiado largo" -#: libpq/auth.c:1555 +#: libpq/auth.c:1562 #, c-format msgid "translated account name too long" msgstr "nombre de cuenta traducido demasiado largo" -#: libpq/auth.c:1734 +#: libpq/auth.c:1741 #, c-format msgid "could not create socket for Ident connection: %m" msgstr "no se pudo crear un socket para conexión Ident: %m" -#: libpq/auth.c:1749 +#: libpq/auth.c:1756 #, c-format msgid "could not bind to local address \"%s\": %m" msgstr "no se pudo enlazar a la dirección local «%s»: %m" -#: libpq/auth.c:1761 +#: libpq/auth.c:1768 #, c-format msgid "could not connect to Ident server at address \"%s\", port %s: %m" msgstr "no se pudo conectar al servidor Ident en dirección «%s», port %s: %m" -#: libpq/auth.c:1783 +#: libpq/auth.c:1790 #, c-format msgid "could not send query to Ident server at address \"%s\", port %s: %m" msgstr "no se pudo enviar consulta Ident al servidor «%s», port %s: %m" -#: libpq/auth.c:1800 +#: libpq/auth.c:1807 #, c-format msgid "could not receive response from Ident server at address \"%s\", port %s: %m" msgstr "no se pudo recibir respuesta Ident desde el servidor «%s», port %s: %m" -#: libpq/auth.c:1810 +#: libpq/auth.c:1817 #, c-format msgid "invalidly formatted response from Ident server: \"%s\"" msgstr "respuesta del servidor Ident en formato no válido: «%s»" -#: libpq/auth.c:1863 +#: libpq/auth.c:1870 #, c-format msgid "peer authentication is not supported on this platform" msgstr "método de autentificación peer no está soportado en esta plataforma" -#: libpq/auth.c:1867 +#: libpq/auth.c:1874 #, c-format msgid "could not get peer credentials: %m" msgstr "no se pudo recibir credenciales: %m" -#: libpq/auth.c:1879 +#: libpq/auth.c:1886 #, c-format msgid "could not look up local user ID %ld: %s" msgstr "no se pudo encontrar el ID del usuario local %ld: %s" -#: libpq/auth.c:1981 +#: libpq/auth.c:1988 #, c-format msgid "error from underlying PAM layer: %s" msgstr "se ha recibido un error de la biblioteca PAM: %s" -#: libpq/auth.c:1992 +#: libpq/auth.c:1999 #, c-format msgid "unsupported PAM conversation %d/\"%s\"" msgstr "conversación PAM no soportada: %d/«%s»" -#: libpq/auth.c:2049 +#: libpq/auth.c:2056 #, c-format msgid "could not create PAM authenticator: %s" msgstr "no se pudo crear autenticador PAM: %s" -#: libpq/auth.c:2060 +#: libpq/auth.c:2067 #, c-format msgid "pam_set_item(PAM_USER) failed: %s" msgstr "pam_set_item(PAM_USER) falló: %s" -#: libpq/auth.c:2092 +#: libpq/auth.c:2099 #, c-format msgid "pam_set_item(PAM_RHOST) failed: %s" msgstr "pam_set_item(PAM_RHOST) falló: %s" -#: libpq/auth.c:2104 +#: libpq/auth.c:2111 #, c-format msgid "pam_set_item(PAM_CONV) failed: %s" msgstr "pam_set_item(PAM_CONV) falló: %s" -#: libpq/auth.c:2117 +#: libpq/auth.c:2124 #, c-format msgid "pam_authenticate failed: %s" msgstr "pam_authenticate falló: %s" -#: libpq/auth.c:2130 +#: libpq/auth.c:2137 #, c-format msgid "pam_acct_mgmt failed: %s" msgstr "pam_acct_mgmt falló: %s" -#: libpq/auth.c:2141 +#: libpq/auth.c:2148 #, c-format msgid "could not release PAM authenticator: %s" msgstr "no se pudo liberar autenticador PAM: %s" -#: libpq/auth.c:2221 +#: libpq/auth.c:2228 #, c-format msgid "could not initialize LDAP: error code %d" msgstr "no se pudo inicializar LDAP: código de error %d" -#: libpq/auth.c:2258 +#: libpq/auth.c:2265 #, c-format msgid "could not extract domain name from ldapbasedn" msgstr "no se pudo extraer el nombre de dominio de ldapbasedn" -#: libpq/auth.c:2266 +#: libpq/auth.c:2273 #, c-format msgid "LDAP authentication could not find DNS SRV records for \"%s\"" msgstr "la autentificación LDAP no pudo encontrar registros DNS SRV para «%s»" -#: libpq/auth.c:2268 +#: libpq/auth.c:2275 #, c-format msgid "Set an LDAP server name explicitly." msgstr "Defina un nombre de servidor LDAP explícitamente." -#: libpq/auth.c:2320 +#: libpq/auth.c:2327 #, c-format msgid "could not initialize LDAP: %s" msgstr "no se pudo inicializar LDAP: %s" -#: libpq/auth.c:2330 +#: libpq/auth.c:2337 #, c-format msgid "ldaps not supported with this LDAP library" msgstr "ldaps no está soportado con esta biblioteca LDAP" -#: libpq/auth.c:2338 +#: libpq/auth.c:2345 #, c-format msgid "could not initialize LDAP: %m" msgstr "no se pudo inicializar LDAP: %m" -#: libpq/auth.c:2348 +#: libpq/auth.c:2355 #, c-format msgid "could not set LDAP protocol version: %s" msgstr "no se pudo definir la versión de protocolo LDAP: %s" -#: libpq/auth.c:2364 +#: libpq/auth.c:2371 #, c-format msgid "could not start LDAP TLS session: %s" msgstr "no se pudo iniciar sesión de LDAP TLS: %s" -#: libpq/auth.c:2441 +#: libpq/auth.c:2448 #, c-format msgid "LDAP server not specified, and no ldapbasedn" msgstr "servidor LDAP no especificado, y no hay ldapbasedn" -#: libpq/auth.c:2448 +#: libpq/auth.c:2455 #, c-format msgid "LDAP server not specified" msgstr "servidor LDAP no especificado" -#: libpq/auth.c:2510 +#: libpq/auth.c:2517 #, c-format msgid "invalid character in user name for LDAP authentication" msgstr "carácter no válido en nombre de usuario para autentificación LDAP" -#: libpq/auth.c:2527 +#: libpq/auth.c:2534 #, c-format msgid "could not perform initial LDAP bind for ldapbinddn \"%s\" on server \"%s\": %s" msgstr "no se pudo hacer el enlace LDAP inicial para el ldapbinddb «%s» en el servidor «%s»: %s" -#: libpq/auth.c:2557 +#: libpq/auth.c:2564 #, c-format msgid "could not search LDAP for filter \"%s\" on server \"%s\": %s" msgstr "no se pudo hacer la búsqueda LDAP para el filtro «%s» en el servidor «%s»: %s" -#: libpq/auth.c:2573 +#: libpq/auth.c:2580 #, c-format msgid "LDAP user \"%s\" does not exist" msgstr "no existe el usuario LDAP «%s»" -#: libpq/auth.c:2574 +#: libpq/auth.c:2581 #, c-format msgid "LDAP search for filter \"%s\" on server \"%s\" returned no entries." msgstr "La búsqueda LDAP para el filtro «%s» en el servidor «%s» no retornó elementos." -#: libpq/auth.c:2578 +#: libpq/auth.c:2585 #, c-format msgid "LDAP user \"%s\" is not unique" msgstr "el usuario LDAP «%s» no es única" -#: libpq/auth.c:2579 +#: libpq/auth.c:2586 #, c-format msgid "LDAP search for filter \"%s\" on server \"%s\" returned %d entry." msgid_plural "LDAP search for filter \"%s\" on server \"%s\" returned %d entries." msgstr[0] "La búsqueda LDAP para el filtro «%s» en el servidor «%s» retornó %d elemento." msgstr[1] "La búsqueda LDAP para el filtro «%s» en el servidor «%s» retornó %d elementos." -#: libpq/auth.c:2599 +#: libpq/auth.c:2606 #, c-format msgid "could not get dn for the first entry matching \"%s\" on server \"%s\": %s" msgstr "no se pudo obtener el dn para la primera entrada que coincide con «%s» en el servidor «%s»: %s" -#: libpq/auth.c:2620 -#, c-format -msgid "could not unbind after searching for user \"%s\" on server \"%s\"" -msgstr "no se pudo desconectar (unbind) después de buscar al usuario «%s» en el servidor «%s»" - -#: libpq/auth.c:2651 +#: libpq/auth.c:2633 #, c-format msgid "LDAP login failed for user \"%s\" on server \"%s\": %s" msgstr "falló el inicio de sesión LDAP para el usuario «%s» en el servidor «%s»: %s" -#: libpq/auth.c:2683 +#: libpq/auth.c:2665 #, c-format msgid "LDAP diagnostics: %s" msgstr "Diagnóstico LDAP: %s" -#: libpq/auth.c:2721 +#: libpq/auth.c:2703 #, c-format msgid "certificate authentication failed for user \"%s\": client certificate contains no user name" msgstr "la autentificación con certificado falló para el usuario «%s»: el certificado de cliente no contiene un nombre de usuario" -#: libpq/auth.c:2742 +#: libpq/auth.c:2724 #, c-format msgid "certificate authentication failed for user \"%s\": unable to retrieve subject DN" msgstr "la autentificación por certificado falló para el usuario «%s»: no se pudo obtener el DN del sujeto" -#: libpq/auth.c:2765 +#: libpq/auth.c:2747 #, c-format msgid "certificate validation (clientcert=verify-full) failed for user \"%s\": DN mismatch" msgstr "la validación de certificado (clientcert=verify-full) falló para el usuario «%s»: discordancia de DN" -#: libpq/auth.c:2770 +#: libpq/auth.c:2752 #, c-format msgid "certificate validation (clientcert=verify-full) failed for user \"%s\": CN mismatch" msgstr "la validación de certificado (clientcert=verify-full) falló para el usuario «%s»: discordancia de CN" -#: libpq/auth.c:2872 +#: libpq/auth.c:2854 #, c-format msgid "RADIUS server not specified" msgstr "servidor RADIUS no especificado" -#: libpq/auth.c:2879 +#: libpq/auth.c:2861 #, c-format msgid "RADIUS secret not specified" msgstr "secreto RADIUS no especificado" -#: libpq/auth.c:2893 +#: libpq/auth.c:2875 #, c-format msgid "RADIUS authentication does not support passwords longer than %d characters" msgstr "la autentificación RADIUS no soporta contraseñas más largas de %d caracteres" -#: libpq/auth.c:2995 libpq/hba.c:2391 +#: libpq/auth.c:2977 libpq/hba.c:2352 #, c-format msgid "could not translate RADIUS server name \"%s\" to address: %s" msgstr "no se pudo traducir el nombre de servidor RADIUS «%s» a dirección: %s" -#: libpq/auth.c:3009 +#: libpq/auth.c:2991 #, c-format msgid "could not generate random encryption vector" msgstr "no se pudo generar un vector aleatorio de encriptación" -#: libpq/auth.c:3046 -#, fuzzy, c-format -#| msgid "could not encrypt password: %s" +#: libpq/auth.c:3028 +#, c-format msgid "could not perform MD5 encryption of password: %s" -msgstr "no se pudo cifrar contraseña: %s" +msgstr "no se pudo efectuar cifrado MD5 de contraseña: %s" -#: libpq/auth.c:3073 +#: libpq/auth.c:3055 #, c-format msgid "could not create RADIUS socket: %m" msgstr "no se pudo crear el socket RADIUS: %m" -#: libpq/auth.c:3089 +#: libpq/auth.c:3071 #, c-format msgid "could not bind local RADIUS socket: %m" msgstr "no se pudo enlazar el socket RADIUS local: %m" -#: libpq/auth.c:3099 +#: libpq/auth.c:3081 #, c-format msgid "could not send RADIUS packet: %m" msgstr "no se pudo enviar el paquete RADIUS: %m" -#: libpq/auth.c:3133 libpq/auth.c:3159 +#: libpq/auth.c:3115 libpq/auth.c:3141 #, c-format msgid "timeout waiting for RADIUS response from %s" msgstr "se agotó el tiempo de espera de la respuesta RADIUS desde %s" -#: libpq/auth.c:3152 +#: libpq/auth.c:3134 #, c-format msgid "could not check status on RADIUS socket: %m" msgstr "no se pudo verificar el estado en el socket %m" -#: libpq/auth.c:3182 +#: libpq/auth.c:3164 #, c-format msgid "could not read RADIUS response: %m" msgstr "no se pudo leer la respuesta RADIUS: %m" -#: libpq/auth.c:3190 +#: libpq/auth.c:3172 #, c-format msgid "RADIUS response from %s was sent from incorrect port: %d" msgstr "la respuesta RADIUS desde %s fue enviada desde el port incorrecto: %d" -#: libpq/auth.c:3198 +#: libpq/auth.c:3180 #, c-format msgid "RADIUS response from %s too short: %d" msgstr "la respuesta RADIUS desde %s es demasiado corta: %d" -#: libpq/auth.c:3205 +#: libpq/auth.c:3187 #, c-format msgid "RADIUS response from %s has corrupt length: %d (actual length %d)" msgstr "la respuesta RADIUS desde %ss tiene largo corrupto: %d (largo real %d)" -#: libpq/auth.c:3213 +#: libpq/auth.c:3195 #, c-format msgid "RADIUS response from %s is to a different request: %d (should be %d)" msgstr "la respuesta RADIUS desde %s es a una petición diferente: %d (debería ser %d)" -#: libpq/auth.c:3238 -#, fuzzy, c-format -#| msgid "could not send feedback packet: %s" +#: libpq/auth.c:3220 +#, c-format msgid "could not perform MD5 encryption of received packet: %s" -msgstr "no se pudo enviar el paquete de retroalimentación: %s" +msgstr "no se pudo efectuar cifrado MD5 del paquete recibido: %s" -#: libpq/auth.c:3248 +#: libpq/auth.c:3230 #, c-format msgid "RADIUS response from %s has incorrect MD5 signature" msgstr "la respuesta RADIUS desde %s tiene firma MD5 incorrecta" -#: libpq/auth.c:3266 +#: libpq/auth.c:3248 #, c-format msgid "RADIUS response from %s has invalid code (%d) for user \"%s\"" msgstr "la respuesta RADIUS desde %s tiene código no válido (%d) para el usuario «%s»" @@ -14835,64 +15196,51 @@ msgstr "no se pudo escribir el archivo del servidor «%s»: %m" msgid "large object read request is too large" msgstr "el tamaño de petición de lectura de objeto grande es muy grande" -#: libpq/be-fsstubs.c:816 utils/adt/genfile.c:262 utils/adt/genfile.c:294 -#: utils/adt/genfile.c:315 +#: libpq/be-fsstubs.c:816 utils/adt/genfile.c:248 utils/adt/genfile.c:269 #, c-format msgid "requested length cannot be negative" msgstr "el tamaño solicitado no puede ser negativo" -#: libpq/be-fsstubs.c:871 storage/large_object/inv_api.c:299 -#: storage/large_object/inv_api.c:311 storage/large_object/inv_api.c:508 -#: storage/large_object/inv_api.c:619 storage/large_object/inv_api.c:809 -#, c-format -msgid "permission denied for large object %u" -msgstr "permiso denegado al objeto grande %u" - -#: libpq/be-secure-common.c:71 -#, c-format -msgid "could not read from command \"%s\": %m" -msgstr "no se pudo leer desde la orden «%s»: %m" - -#: libpq/be-secure-common.c:91 +#: libpq/be-secure-common.c:94 #, c-format msgid "command \"%s\" failed" msgstr "la orden «%s» falló" -#: libpq/be-secure-common.c:119 +#: libpq/be-secure-common.c:123 #, c-format msgid "could not access private key file \"%s\": %m" msgstr "no se pudo acceder al archivo de la llave privada «%s»: %m" -#: libpq/be-secure-common.c:129 +#: libpq/be-secure-common.c:133 #, c-format msgid "private key file \"%s\" is not a regular file" msgstr "el archivo de llave privada «%s» no es un archivo regular" -#: libpq/be-secure-common.c:155 +#: libpq/be-secure-common.c:159 #, c-format msgid "private key file \"%s\" must be owned by the database user or root" msgstr "el archivo de llave privada «%s» debe ser de propiedad del usuario de base de datos o root" -#: libpq/be-secure-common.c:165 +#: libpq/be-secure-common.c:169 #, c-format msgid "private key file \"%s\" has group or world access" msgstr "el archivo de la llave privada «%s» tiene acceso para el grupo u otros" -#: libpq/be-secure-common.c:167 +#: libpq/be-secure-common.c:171 #, c-format 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 "El archivo debe tener permisos u=rw (0600) o menos si es de propiedad del usuario de base deatos, o permisos u=rw,g=r (0640) o menos si es de root." -#: libpq/be-secure-gssapi.c:204 +#: libpq/be-secure-gssapi.c:201 msgid "GSSAPI wrap error" msgstr "error de «wrap» de GSSAPI" -#: libpq/be-secure-gssapi.c:211 +#: libpq/be-secure-gssapi.c:208 #, c-format msgid "outgoing GSSAPI message would not use confidentiality" msgstr "mensaje saliente GSSAPI no proveería confidencialidad" -#: libpq/be-secure-gssapi.c:218 libpq/be-secure-gssapi.c:634 +#: libpq/be-secure-gssapi.c:215 libpq/be-secure-gssapi.c:634 #, c-format msgid "server tried to send oversize GSSAPI packet (%zu > %zu)" msgstr "el servidor intentó enviar un paquete GSSAPI demasiado grande (%zu > %zu)" @@ -14924,819 +15272,810 @@ msgstr "no se pudo aceptar un contexto de seguridad GSSAPI" msgid "GSSAPI size check error" msgstr "error de verificación de tamaño GSSAPI" -#: libpq/be-secure-openssl.c:125 +#: libpq/be-secure-openssl.c:131 #, c-format msgid "could not create SSL context: %s" msgstr "no se pudo crear un contexto SSL: %s" -#: libpq/be-secure-openssl.c:151 +#: libpq/be-secure-openssl.c:157 #, c-format msgid "could not load server certificate file \"%s\": %s" msgstr "no se pudo cargar el archivo de certificado de servidor «%s»: %s" -#: libpq/be-secure-openssl.c:171 +#: libpq/be-secure-openssl.c:177 #, c-format msgid "private key file \"%s\" cannot be reloaded because it requires a passphrase" msgstr "el archivo de clave privada \"%s\" no se puede volver a cargar porque requiere una contraseña" -#: libpq/be-secure-openssl.c:176 +#: libpq/be-secure-openssl.c:182 #, c-format msgid "could not load private key file \"%s\": %s" msgstr "no se pudo cargar el archivo de la llave privada «%s»: %s" -#: libpq/be-secure-openssl.c:185 +#: libpq/be-secure-openssl.c:191 #, c-format msgid "check of private key failed: %s" msgstr "falló la revisión de la llave privada: %s" #. translator: first %s is a GUC option name, second %s is its value -#: libpq/be-secure-openssl.c:198 libpq/be-secure-openssl.c:221 +#: libpq/be-secure-openssl.c:204 libpq/be-secure-openssl.c:227 #, c-format msgid "\"%s\" setting \"%s\" not supported by this build" msgstr "el valor «%2$s» para la opción «%1$s» no está soportado en este servidor" -#: libpq/be-secure-openssl.c:208 +#: libpq/be-secure-openssl.c:214 #, c-format msgid "could not set minimum SSL protocol version" msgstr "no se pudo definir la versión mínima de protocolo SSL" -#: libpq/be-secure-openssl.c:231 +#: libpq/be-secure-openssl.c:237 #, c-format msgid "could not set maximum SSL protocol version" msgstr "no se pudo definir la versión máxima de protocolo SSL" -#: libpq/be-secure-openssl.c:247 +#: libpq/be-secure-openssl.c:253 #, c-format msgid "could not set SSL protocol version range" msgstr "no se pudo definir el rango de versión de protocolo SSL" -#: libpq/be-secure-openssl.c:248 +#: libpq/be-secure-openssl.c:254 #, c-format msgid "\"%s\" cannot be higher than \"%s\"" msgstr "«%s» no puede ser más alto que «%s»" -#: libpq/be-secure-openssl.c:285 +#: libpq/be-secure-openssl.c:308 #, c-format msgid "could not set the cipher list (no valid ciphers available)" msgstr "no se pudo establecer la lista de cifrado (no hay cifradores disponibles)" -#: libpq/be-secure-openssl.c:305 +#: libpq/be-secure-openssl.c:328 #, c-format msgid "could not load root certificate file \"%s\": %s" msgstr "no se pudo cargar el archivo del certificado raíz «%s»: %s" -#: libpq/be-secure-openssl.c:354 +#: libpq/be-secure-openssl.c:377 #, c-format msgid "could not load SSL certificate revocation list file \"%s\": %s" msgstr "no se pudo cargar el archivo de lista de revocación de certificados SSL «%s»: %s" -#: libpq/be-secure-openssl.c:362 +#: libpq/be-secure-openssl.c:385 #, c-format msgid "could not load SSL certificate revocation list directory \"%s\": %s" msgstr "no se pudo cargar el directorio de lista de revocación de certificados SSL «%s»: %s" -#: libpq/be-secure-openssl.c:370 +#: libpq/be-secure-openssl.c:393 #, c-format msgid "could not load SSL certificate revocation list file \"%s\" or directory \"%s\": %s" msgstr "no se pudo cargar el archivo de lista de revocación de certificados SSL «%s» o directorio «%s»: %s" -#: libpq/be-secure-openssl.c:428 +#: libpq/be-secure-openssl.c:451 #, c-format msgid "could not initialize SSL connection: SSL context not set up" msgstr "no se pudo inicializar la conexión SSL: el contexto SSL no está instalado" -#: libpq/be-secure-openssl.c:439 +#: libpq/be-secure-openssl.c:465 #, c-format msgid "could not initialize SSL connection: %s" msgstr "no se pudo inicializar la conexión SSL: %s" -#: libpq/be-secure-openssl.c:447 +#: libpq/be-secure-openssl.c:473 #, c-format msgid "could not set SSL socket: %s" msgstr "no se definir un socket SSL: %s" -#: libpq/be-secure-openssl.c:502 +#: libpq/be-secure-openssl.c:529 #, c-format msgid "could not accept SSL connection: %m" msgstr "no se pudo aceptar una conexión SSL: %m" -#: libpq/be-secure-openssl.c:506 libpq/be-secure-openssl.c:561 +#: libpq/be-secure-openssl.c:533 libpq/be-secure-openssl.c:590 #, c-format msgid "could not accept SSL connection: EOF detected" msgstr "no se pudo aceptar una conexión SSL: se detectó EOF" -#: libpq/be-secure-openssl.c:545 +#: libpq/be-secure-openssl.c:574 #, c-format msgid "could not accept SSL connection: %s" msgstr "no se pudo aceptar una conexión SSL: %s" -#: libpq/be-secure-openssl.c:549 +#: libpq/be-secure-openssl.c:578 #, c-format msgid "This may indicate that the client does not support any SSL protocol version between %s and %s." msgstr "Esto puede indicar que el cliente no soporta ninguna versión del protocolo SSL entre %s y %s." -#: libpq/be-secure-openssl.c:566 libpq/be-secure-openssl.c:746 -#: libpq/be-secure-openssl.c:810 +#: libpq/be-secure-openssl.c:595 libpq/be-secure-openssl.c:810 +#: libpq/be-secure-openssl.c:880 #, c-format msgid "unrecognized SSL error code: %d" msgstr "código de error SSL no reconocido: %d" -#: libpq/be-secure-openssl.c:612 +#: libpq/be-secure-openssl.c:623 +#, c-format +msgid "received SSL connection request with unexpected ALPN protocol" +msgstr "recibido una solicitud de conexión SSL con protocolo ALPN inesperado" + +#: libpq/be-secure-openssl.c:667 #, c-format msgid "SSL certificate's common name contains embedded null" msgstr "el «common name» del certificado SSL contiene un carácter null" -#: libpq/be-secure-openssl.c:652 +#: libpq/be-secure-openssl.c:713 #, c-format msgid "SSL certificate's distinguished name contains embedded null" msgstr "el elemento de nombre distinguido en el certificado SSL contiene un carácter null" -#: libpq/be-secure-openssl.c:735 libpq/be-secure-openssl.c:794 +#: libpq/be-secure-openssl.c:799 libpq/be-secure-openssl.c:864 #, c-format msgid "SSL error: %s" msgstr "error de SSL: %s" -#: libpq/be-secure-openssl.c:976 +#: libpq/be-secure-openssl.c:1039 #, c-format msgid "could not open DH parameters file \"%s\": %m" msgstr "no se pudo abrir el archivo de parámetros DH «%s»: %m" -#: libpq/be-secure-openssl.c:988 +#: libpq/be-secure-openssl.c:1051 #, c-format msgid "could not load DH parameters file: %s" msgstr "no se pudo cargar el archivo de parámetros DH: %s" -#: libpq/be-secure-openssl.c:998 +#: libpq/be-secure-openssl.c:1061 #, c-format msgid "invalid DH parameters: %s" msgstr "parámetros DH no válidos: %s" -#: libpq/be-secure-openssl.c:1007 +#: libpq/be-secure-openssl.c:1070 #, c-format msgid "invalid DH parameters: p is not prime" msgstr "parámetros DH no válidos: p no es primo" -#: libpq/be-secure-openssl.c:1016 +#: libpq/be-secure-openssl.c:1079 #, c-format msgid "invalid DH parameters: neither suitable generator or safe prime" msgstr "parámetros DH no válidos: no hay generador apropiado o primo seguro" -#: libpq/be-secure-openssl.c:1152 -#, fuzzy, c-format -#| msgid "certificate authentication failed for user \"%s\"" +#: libpq/be-secure-openssl.c:1215 +#, c-format msgid "Client certificate verification failed at depth %d: %s." -msgstr "la autentificación por certificado falló para el usuario «%s»" +msgstr "La autentificación por certificado de cliente falló en la profundidad %d: %s." -#: libpq/be-secure-openssl.c:1189 +#: libpq/be-secure-openssl.c:1252 #, c-format msgid "Failed certificate data (unverified): subject \"%s\", serial number %s, issuer \"%s\"." -msgstr "" +msgstr "Datos del certificado fallido (sin verificar): sujeto «%s», número de serie %s, emisor «%s»." -#: libpq/be-secure-openssl.c:1190 +#: libpq/be-secure-openssl.c:1253 msgid "unknown" msgstr "desconocido" -#: libpq/be-secure-openssl.c:1281 +#: libpq/be-secure-openssl.c:1390 #, c-format msgid "DH: could not load DH parameters" msgstr "DH: no se pudo cargar los parámetros DH" -#: libpq/be-secure-openssl.c:1289 +#: libpq/be-secure-openssl.c:1398 #, c-format msgid "DH: could not set DH parameters: %s" msgstr "DH: no se pudo definir los parámetros DH: %s" -#: libpq/be-secure-openssl.c:1316 +#: libpq/be-secure-openssl.c:1425 #, c-format msgid "ECDH: unrecognized curve name: %s" msgstr "ECDH: nombre de curva no reconocida: %s" -#: libpq/be-secure-openssl.c:1325 +#: libpq/be-secure-openssl.c:1434 #, c-format msgid "ECDH: could not create key" msgstr "ECDH: no se pudo crear la llave" -#: libpq/be-secure-openssl.c:1353 +#: libpq/be-secure-openssl.c:1462 msgid "no SSL error reported" msgstr "código de error SSL no reportado" -#: libpq/be-secure-openssl.c:1357 +#: libpq/be-secure-openssl.c:1480 #, c-format msgid "SSL error code %lu" msgstr "código de error SSL %lu" -#: libpq/be-secure-openssl.c:1516 +#: libpq/be-secure-openssl.c:1637 #, c-format msgid "could not create BIO" msgstr "no se pudo crear BIO" -#: libpq/be-secure-openssl.c:1526 +#: libpq/be-secure-openssl.c:1647 #, c-format msgid "could not get NID for ASN1_OBJECT object" msgstr "no se pudo obtener NID para objeto ASN1_OBJECT" -#: libpq/be-secure-openssl.c:1534 +#: libpq/be-secure-openssl.c:1655 #, c-format msgid "could not convert NID %d to an ASN1_OBJECT structure" msgstr "no se pudo convertir NID %d en una estructura ASN1_OBJECT" -#: libpq/be-secure.c:207 libpq/be-secure.c:303 -#, c-format -msgid "terminating connection due to unexpected postmaster exit" -msgstr "terminando la conexión debido al término inesperado de postmaster" - -#: libpq/crypt.c:49 +#: libpq/crypt.c:48 #, c-format msgid "Role \"%s\" does not exist." msgstr "No existe el rol «%s»." -#: libpq/crypt.c:59 +#: libpq/crypt.c:58 #, c-format msgid "User \"%s\" has no password assigned." msgstr "El usuario «%s» no tiene una contraseña asignada." -#: libpq/crypt.c:77 +#: libpq/crypt.c:76 #, c-format msgid "User \"%s\" has an expired password." msgstr "El usuario «%s» tiene contraseña expirada." -#: libpq/crypt.c:183 +#: libpq/crypt.c:182 #, c-format msgid "User \"%s\" has a password that cannot be used with MD5 authentication." msgstr "El usuario \"%s\" tiene una contraseña que no se puede usar con la autentificación MD5." -#: libpq/crypt.c:204 libpq/crypt.c:246 libpq/crypt.c:266 +#: libpq/crypt.c:203 libpq/crypt.c:245 libpq/crypt.c:265 #, c-format msgid "Password does not match for user \"%s\"." msgstr "La contraseña no coincide para el usuario «%s»." -#: libpq/crypt.c:285 +#: libpq/crypt.c:284 #, c-format msgid "Password of user \"%s\" is in unrecognized format." msgstr "La contraseña del usuario \"%s\" está en un formato no reconocido." -#: libpq/hba.c:234 -#, c-format -msgid "authentication file token too long, skipping: \"%s\"" -msgstr "una palabra en el archivo de autentificación es demasiado larga, omitiendo: «%s»" - -#: libpq/hba.c:357 +#: libpq/hba.c:327 #, c-format msgid "invalid regular expression \"%s\": %s" msgstr "la expresión regular «%s» no es válida: %s" -#: libpq/hba.c:359 libpq/hba.c:688 libpq/hba.c:1272 libpq/hba.c:1292 -#: libpq/hba.c:1315 libpq/hba.c:1328 libpq/hba.c:1381 libpq/hba.c:1409 -#: libpq/hba.c:1417 libpq/hba.c:1429 libpq/hba.c:1450 libpq/hba.c:1463 -#: libpq/hba.c:1488 libpq/hba.c:1515 libpq/hba.c:1527 libpq/hba.c:1586 -#: libpq/hba.c:1606 libpq/hba.c:1620 libpq/hba.c:1640 libpq/hba.c:1651 -#: libpq/hba.c:1666 libpq/hba.c:1685 libpq/hba.c:1701 libpq/hba.c:1713 -#: libpq/hba.c:1750 libpq/hba.c:1791 libpq/hba.c:1804 libpq/hba.c:1826 -#: libpq/hba.c:1838 libpq/hba.c:1856 libpq/hba.c:1906 libpq/hba.c:1950 -#: libpq/hba.c:1961 libpq/hba.c:1977 libpq/hba.c:1994 libpq/hba.c:2005 -#: libpq/hba.c:2024 libpq/hba.c:2040 libpq/hba.c:2056 libpq/hba.c:2115 -#: libpq/hba.c:2132 libpq/hba.c:2145 libpq/hba.c:2157 libpq/hba.c:2176 -#: libpq/hba.c:2262 libpq/hba.c:2280 libpq/hba.c:2374 libpq/hba.c:2393 -#: libpq/hba.c:2422 libpq/hba.c:2435 libpq/hba.c:2458 libpq/hba.c:2480 -#: libpq/hba.c:2494 tsearch/ts_locale.c:243 +#: libpq/hba.c:329 libpq/hba.c:661 libpq/hba.c:1245 libpq/hba.c:1265 +#: libpq/hba.c:1288 libpq/hba.c:1301 libpq/hba.c:1354 libpq/hba.c:1382 +#: libpq/hba.c:1390 libpq/hba.c:1402 libpq/hba.c:1423 libpq/hba.c:1436 +#: libpq/hba.c:1461 libpq/hba.c:1488 libpq/hba.c:1500 libpq/hba.c:1559 +#: libpq/hba.c:1579 libpq/hba.c:1593 libpq/hba.c:1613 libpq/hba.c:1624 +#: libpq/hba.c:1639 libpq/hba.c:1658 libpq/hba.c:1674 libpq/hba.c:1686 +#: libpq/hba.c:1752 libpq/hba.c:1765 libpq/hba.c:1787 libpq/hba.c:1799 +#: libpq/hba.c:1817 libpq/hba.c:1867 libpq/hba.c:1911 libpq/hba.c:1922 +#: libpq/hba.c:1938 libpq/hba.c:1955 libpq/hba.c:1966 libpq/hba.c:1985 +#: libpq/hba.c:2001 libpq/hba.c:2017 libpq/hba.c:2076 libpq/hba.c:2093 +#: libpq/hba.c:2106 libpq/hba.c:2118 libpq/hba.c:2137 libpq/hba.c:2223 +#: libpq/hba.c:2241 libpq/hba.c:2335 libpq/hba.c:2354 libpq/hba.c:2383 +#: libpq/hba.c:2396 libpq/hba.c:2419 libpq/hba.c:2441 libpq/hba.c:2455 +#: tsearch/ts_locale.c:241 #, c-format msgid "line %d of configuration file \"%s\"" msgstr "línea %d del archivo de configuración «%s»" -#: libpq/hba.c:484 -#, fuzzy, c-format -#| msgid "skipping missing configuration file \"%s\"" +#: libpq/hba.c:457 +#, c-format msgid "skipping missing authentication file \"%s\"" -msgstr "omitiendo el archivo de configuración faltante «%s»" +msgstr "omitiendo el archivo de autentificación faltante «%s»" -#: libpq/hba.c:636 -#, fuzzy, c-format -#| msgid "could not open configuration file \"%s\": maximum nesting depth exceeded" +#: libpq/hba.c:609 +#, c-format msgid "could not open file \"%s\": maximum nesting depth exceeded" -msgstr "no se pudo abrir el archivo de configuración «%s»: nivel de anidamiento máximo excedido" +msgstr "no se pudo abrir el archivo «%s»: nivel de anidamiento máximo excedido" -#: libpq/hba.c:1243 +#: libpq/hba.c:1216 #, c-format msgid "error enumerating network interfaces: %m" msgstr "error al enumerar interfaces de red: %m" #. translator: the second %s is a list of auth methods -#: libpq/hba.c:1270 +#: libpq/hba.c:1243 #, c-format msgid "authentication option \"%s\" is only valid for authentication methods %s" msgstr "la opción de autentificación «%s» sólo es válida para los métodos de autentificación %s" -#: libpq/hba.c:1290 +#: libpq/hba.c:1263 #, c-format msgid "authentication method \"%s\" requires argument \"%s\" to be set" msgstr "el método de autentificación «%s» requiere que el argumento «%s» esté definido" -#: libpq/hba.c:1314 -#, fuzzy, c-format -#| msgid "missing \"%s\" at end of SQL expression" +#: libpq/hba.c:1287 +#, c-format msgid "missing entry at end of line" -msgstr "falta «%s» al final de la expresión SQL" +msgstr "falta una entrada al final de la línea" -#: libpq/hba.c:1327 +#: libpq/hba.c:1300 #, c-format msgid "multiple values in ident field" msgstr "múltiples valores en campo «ident»" -#: libpq/hba.c:1379 +#: libpq/hba.c:1352 #, c-format msgid "multiple values specified for connection type" msgstr "múltiples valores especificados para tipo de conexión" -#: libpq/hba.c:1380 +#: libpq/hba.c:1353 #, c-format msgid "Specify exactly one connection type per line." msgstr "Especifique exactamente un tipo de conexión por línea." -#: libpq/hba.c:1407 +#: libpq/hba.c:1380 #, c-format msgid "hostssl record cannot match because SSL is disabled" msgstr "el registro hostssl no puede coincidir porque SSL está deshabilitado" -#: libpq/hba.c:1408 +#: libpq/hba.c:1381 #, c-format -msgid "Set ssl = on in postgresql.conf." +msgid "Set \"ssl = on\" in postgresql.conf." msgstr "Defina «ssl = on» en postgresql.conf." -#: libpq/hba.c:1416 +#: libpq/hba.c:1389 #, c-format msgid "hostssl record cannot match because SSL is not supported by this build" msgstr "el registro hostssl no puede coincidir porque SSL no está soportado en esta instalación" -#: libpq/hba.c:1428 +#: libpq/hba.c:1401 #, c-format msgid "hostgssenc record cannot match because GSSAPI is not supported by this build" msgstr "el registro hostgssenc no puede coincidir porque GSSAPI no está soportado en esta instalación" -#: libpq/hba.c:1448 +#: libpq/hba.c:1421 #, c-format msgid "invalid connection type \"%s\"" msgstr "tipo de conexión «%s» no válido" -#: libpq/hba.c:1462 +#: libpq/hba.c:1435 #, c-format msgid "end-of-line before database specification" msgstr "fin de línea antes de especificación de base de datos" -#: libpq/hba.c:1487 +#: libpq/hba.c:1460 #, c-format msgid "end-of-line before role specification" msgstr "fin de línea antes de especificación de rol" -#: libpq/hba.c:1514 +#: libpq/hba.c:1487 #, c-format msgid "end-of-line before IP address specification" msgstr "fin de línea antes de especificación de dirección IP" -#: libpq/hba.c:1525 +#: libpq/hba.c:1498 #, c-format msgid "multiple values specified for host address" msgstr "múltiples valores especificados para la dirección de anfitrión" -#: libpq/hba.c:1526 +#: libpq/hba.c:1499 #, c-format msgid "Specify one address range per line." msgstr "Especifique un rango de direcciones por línea." -#: libpq/hba.c:1584 +#: libpq/hba.c:1557 #, c-format msgid "invalid IP address \"%s\": %s" msgstr "dirección IP «%s» no válida: %s" -#: libpq/hba.c:1604 +#: libpq/hba.c:1577 #, c-format msgid "specifying both host name and CIDR mask is invalid: \"%s\"" msgstr "especificar tanto el nombre de host como la máscara CIDR no es válido: «%s»" -#: libpq/hba.c:1618 +#: libpq/hba.c:1591 #, c-format msgid "invalid CIDR mask in address \"%s\"" msgstr "máscara CIDR no válida en dirección «%s»" -#: libpq/hba.c:1638 +#: libpq/hba.c:1611 #, c-format msgid "end-of-line before netmask specification" msgstr "fin de línea antes de especificación de máscara de red" -#: libpq/hba.c:1639 +#: libpq/hba.c:1612 #, c-format msgid "Specify an address range in CIDR notation, or provide a separate netmask." msgstr "Especifique un rango de direcciones en notación CIDR, o provea una netmask separadamente." -#: libpq/hba.c:1650 +#: libpq/hba.c:1623 #, c-format msgid "multiple values specified for netmask" msgstr "múltiples valores especificados para la máscara de red" -#: libpq/hba.c:1664 +#: libpq/hba.c:1637 #, c-format msgid "invalid IP mask \"%s\": %s" msgstr "máscara IP «%s» no válida: %s" -#: libpq/hba.c:1684 +#: libpq/hba.c:1657 #, c-format msgid "IP address and mask do not match" msgstr "La dirección y máscara IP no coinciden" -#: libpq/hba.c:1700 +#: libpq/hba.c:1673 #, c-format msgid "end-of-line before authentication method" msgstr "fin de línea antes de especificación de método de autentificación" -#: libpq/hba.c:1711 +#: libpq/hba.c:1684 #, c-format msgid "multiple values specified for authentication type" msgstr "múltiples valores especificados para el tipo de autentificación" -#: libpq/hba.c:1712 +#: libpq/hba.c:1685 #, c-format msgid "Specify exactly one authentication type per line." msgstr "Especifique exactamente un tipo de autentificación por línea." -#: libpq/hba.c:1789 +#: libpq/hba.c:1750 #, c-format msgid "invalid authentication method \"%s\"" msgstr "método de autentificación «%s» no válido" -#: libpq/hba.c:1802 +#: libpq/hba.c:1763 #, c-format msgid "invalid authentication method \"%s\": not supported by this build" msgstr "método de autentificación «%s» no válido: este servidor no lo soporta" -#: libpq/hba.c:1825 +#: libpq/hba.c:1786 #, c-format msgid "gssapi authentication is not supported on local sockets" msgstr "la autentificación gssapi no está soportada en conexiones locales" -#: libpq/hba.c:1837 +#: libpq/hba.c:1798 #, c-format msgid "peer authentication is only supported on local sockets" msgstr "la autentificación peer sólo está soportada en conexiones locales" -#: libpq/hba.c:1855 +#: libpq/hba.c:1816 #, c-format msgid "cert authentication is only supported on hostssl connections" msgstr "la autentificación cert sólo está soportada en conexiones hostssl" -#: libpq/hba.c:1905 +#: libpq/hba.c:1866 #, c-format msgid "authentication option not in name=value format: %s" msgstr "opción de autentificación en formato nombre=valor: %s" -#: libpq/hba.c:1949 +#: libpq/hba.c:1910 #, c-format msgid "cannot use ldapbasedn, ldapbinddn, ldapbindpasswd, ldapsearchattribute, ldapsearchfilter, or ldapurl together with ldapprefix" msgstr "no se puede usar ldapbasedn, ldapbinddn, ldapbindpasswd, ldapsearchattribute, ldapsearchfilter o ldapurl junto con ldapprefix" -#: libpq/hba.c:1960 +#: libpq/hba.c:1921 #, c-format msgid "authentication method \"ldap\" requires argument \"ldapbasedn\", \"ldapprefix\", or \"ldapsuffix\" to be set" msgstr "el método de autentificación «ldap» requiere que los argumento «ldapbasedn», «ldapprefix» o «ldapsuffix» estén definidos" -#: libpq/hba.c:1976 +#: libpq/hba.c:1937 #, c-format msgid "cannot use ldapsearchattribute together with ldapsearchfilter" msgstr "no se puede usar ldapsearchattribute junto con ldapsearchfilter" -#: libpq/hba.c:1993 +#: libpq/hba.c:1954 #, c-format msgid "list of RADIUS servers cannot be empty" msgstr "la lista de servidores RADIUS no puede ser vacía" -#: libpq/hba.c:2004 +#: libpq/hba.c:1965 #, c-format msgid "list of RADIUS secrets cannot be empty" msgstr "la lista de secretos RADIUS no puede ser vacía" -#: libpq/hba.c:2021 +#: libpq/hba.c:1982 #, c-format msgid "the number of RADIUS secrets (%d) must be 1 or the same as the number of RADIUS servers (%d)" msgstr "el número de secretos RADIUS (%d) debe ser 1 o igual al número de servidores RADIUS (%d)" -#: libpq/hba.c:2037 +#: libpq/hba.c:1998 #, c-format msgid "the number of RADIUS ports (%d) must be 1 or the same as the number of RADIUS servers (%d)" msgstr "el número de puertos RADIUS (%d) debe ser 1 o igual al número de servidores RADIUS (%d)" -#: libpq/hba.c:2053 +#: libpq/hba.c:2014 #, c-format msgid "the number of RADIUS identifiers (%d) must be 1 or the same as the number of RADIUS servers (%d)" msgstr "el número de identificadores RADIUS (%d) debe ser 1 o igual al número de servidores RADIUS (%d)" -#: libpq/hba.c:2105 +#: libpq/hba.c:2066 msgid "ident, peer, gssapi, sspi, and cert" msgstr "ident, peer, gssapi, sspi y cert" -#: libpq/hba.c:2114 +#: libpq/hba.c:2075 #, c-format msgid "clientcert can only be configured for \"hostssl\" rows" msgstr "clientcert sólo puede ser configurado en líneas «hostssl»" -#: libpq/hba.c:2131 +#: libpq/hba.c:2092 #, c-format msgid "clientcert only accepts \"verify-full\" when using \"cert\" authentication" msgstr "clientcert solo acepta «verify-full» cuando se emplea autentificación «cert»" -#: libpq/hba.c:2144 +#: libpq/hba.c:2105 #, c-format msgid "invalid value for clientcert: \"%s\"" msgstr "valor no válido para el parámetro clientcert: «%s»" -#: libpq/hba.c:2156 +#: libpq/hba.c:2117 #, c-format msgid "clientname can only be configured for \"hostssl\" rows" msgstr "clientname solo puede ser configurado en líneas «hostssl»" -#: libpq/hba.c:2175 +#: libpq/hba.c:2136 #, c-format msgid "invalid value for clientname: \"%s\"" msgstr "valor no válido para el parámetro clientname: «%s»" -#: libpq/hba.c:2208 +#: libpq/hba.c:2169 #, c-format msgid "could not parse LDAP URL \"%s\": %s" msgstr "no se pudo interpretar la URL LDAP «%s»: %s" -#: libpq/hba.c:2219 +#: libpq/hba.c:2180 #, c-format msgid "unsupported LDAP URL scheme: %s" msgstr "esquema de URL LDAP no soportado: %s" -#: libpq/hba.c:2243 +#: libpq/hba.c:2204 #, c-format msgid "LDAP URLs not supported on this platform" msgstr "las URLs LDAP no está soportado en esta plataforma" -#: libpq/hba.c:2261 +#: libpq/hba.c:2222 #, c-format msgid "invalid ldapscheme value: \"%s\"" msgstr "valor ldapscheme no válido: «%s»" -#: libpq/hba.c:2279 +#: libpq/hba.c:2240 #, c-format msgid "invalid LDAP port number: \"%s\"" msgstr "número de puerto LDAP no válido: «%s»" -#: libpq/hba.c:2325 libpq/hba.c:2332 +#: libpq/hba.c:2286 libpq/hba.c:2293 msgid "gssapi and sspi" msgstr "gssapi y sspi" -#: libpq/hba.c:2341 libpq/hba.c:2350 +#: libpq/hba.c:2302 libpq/hba.c:2311 msgid "sspi" msgstr "sspi" -#: libpq/hba.c:2372 +#: libpq/hba.c:2333 #, c-format msgid "could not parse RADIUS server list \"%s\"" msgstr "no se pudo interpretar la lista de servidores RADIUS «%s»" -#: libpq/hba.c:2420 +#: libpq/hba.c:2381 #, c-format msgid "could not parse RADIUS port list \"%s\"" msgstr "no se pudo interpretar la lista de port RADIUS «%s»" -#: libpq/hba.c:2434 +#: libpq/hba.c:2395 #, c-format msgid "invalid RADIUS port number: \"%s\"" msgstr "número de puerto RADIUS no válido: «%s»" -#: libpq/hba.c:2456 +#: libpq/hba.c:2417 #, c-format msgid "could not parse RADIUS secret list \"%s\"" msgstr "no se pudo interpretar la lista de secretos RADIUS «%s»" -#: libpq/hba.c:2478 +#: libpq/hba.c:2439 #, c-format msgid "could not parse RADIUS identifiers list \"%s\"" msgstr "no se pudo interpretar la lista de identificadores RADIUS «%s»" -#: libpq/hba.c:2492 +#: libpq/hba.c:2453 #, c-format msgid "unrecognized authentication option name: \"%s\"" msgstr "nombre de opción de autentificación desconocido: «%s»" -#: libpq/hba.c:2684 +#: libpq/hba.c:2645 #, c-format msgid "configuration file \"%s\" contains no entries" msgstr "el archivo de configuración «%s» no contiene líneas" -#: libpq/hba.c:2838 +#: libpq/hba.c:2798 #, c-format msgid "regular expression match for \"%s\" failed: %s" msgstr "la coincidencia de expresión regular para «%s» falló: %s" -#: libpq/hba.c:2862 +#: libpq/hba.c:2822 #, c-format msgid "regular expression \"%s\" has no subexpressions as requested by backreference in \"%s\"" msgstr "la expresión regular «%s» no tiene subexpresiones según lo requiere la referencia hacia atrás en «%s»" -#: libpq/hba.c:2965 +#: libpq/hba.c:2925 #, c-format msgid "provided user name (%s) and authenticated user name (%s) do not match" msgstr "el nombre de usuario entregado (%s) y el nombre de usuario autentificado (%s) no coinciden" -#: libpq/hba.c:2985 +#: libpq/hba.c:2945 #, c-format msgid "no match in usermap \"%s\" for user \"%s\" authenticated as \"%s\"" msgstr "no hay coincidencia en el mapa «%s» para el usuario «%s» autentificado como «%s»" -#: libpq/pqcomm.c:200 +#: libpq/pqcomm.c:211 libpq/pqcomm.c:219 libpq/pqcomm.c:250 libpq/pqcomm.c:259 +#: libpq/pqcomm.c:1648 libpq/pqcomm.c:1693 libpq/pqcomm.c:1733 +#: libpq/pqcomm.c:1777 libpq/pqcomm.c:1816 libpq/pqcomm.c:1855 +#: libpq/pqcomm.c:1891 libpq/pqcomm.c:1930 +#, c-format +msgid "%s(%s) failed: %m" +msgstr "%s(%s) falló: %m" + +#: libpq/pqcomm.c:296 #, c-format msgid "could not set socket to nonblocking mode: %m" msgstr "no se pudo establecer el socket en modo no bloqueante: %m" -#: libpq/pqcomm.c:361 +#: libpq/pqcomm.c:456 #, 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)" -#: libpq/pqcomm.c:381 +#: libpq/pqcomm.c:476 #, c-format msgid "could not translate host name \"%s\", service \"%s\" to address: %s" msgstr "no se pudo traducir el nombre de host «%s», servicio «%s» a dirección: %s" -#: libpq/pqcomm.c:385 +#: libpq/pqcomm.c:480 #, c-format msgid "could not translate service \"%s\" to address: %s" msgstr "no se pudo traducir el servicio «%s» a dirección: %s" -#: libpq/pqcomm.c:412 +#: libpq/pqcomm.c:502 #, c-format msgid "could not bind to all requested addresses: MAXLISTEN (%d) exceeded" msgstr "no se pudo enlazar a todas las direcciones pedidas: MAXLISTEN (%d) fue excedido" -#: libpq/pqcomm.c:421 +#: libpq/pqcomm.c:511 msgid "IPv4" msgstr "IPv4" -#: libpq/pqcomm.c:424 +#: libpq/pqcomm.c:514 msgid "IPv6" msgstr "IPv6" -#: libpq/pqcomm.c:427 +#: libpq/pqcomm.c:517 msgid "Unix" msgstr "Unix" -#: libpq/pqcomm.c:431 +#: libpq/pqcomm.c:521 #, c-format msgid "unrecognized address family %d" msgstr "la familia de direcciones %d no reconocida" #. translator: first %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:455 +#: libpq/pqcomm.c:545 #, c-format msgid "could not create %s socket for address \"%s\": %m" msgstr "no se pudo crear el socket %s de escucha para la dirección «%s»: %m" #. translator: third %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:481 libpq/pqcomm.c:499 +#: libpq/pqcomm.c:574 libpq/pqcomm.c:592 #, c-format msgid "%s(%s) failed for %s address \"%s\": %m" msgstr "%s(%s) falló para la dirección %s «%s»: %m" #. translator: first %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:522 +#: libpq/pqcomm.c:615 #, c-format msgid "could not bind %s address \"%s\": %m" msgstr "no se pudo enlazar a la dirección %s «%s»: %m" -#: libpq/pqcomm.c:526 +#: libpq/pqcomm.c:619 #, c-format msgid "Is another postmaster already running on port %d?" msgstr "¿Hay otro postmaster en ejecución en el puerto %d?" -#: libpq/pqcomm.c:528 +#: libpq/pqcomm.c:621 #, c-format msgid "Is another postmaster already running on port %d? If not, wait a few seconds and retry." msgstr "¿Hay otro postmaster en ejecución en el puerto %d? Si no, aguarde unos segundos y reintente." #. translator: first %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:557 +#: libpq/pqcomm.c:650 #, c-format msgid "could not listen on %s address \"%s\": %m" msgstr "no se pudo escuchar en la dirección %s «%s»: %m" -#: libpq/pqcomm.c:565 +#: libpq/pqcomm.c:658 #, c-format msgid "listening on Unix socket \"%s\"" msgstr "escuchando en el socket Unix «%s»" #. translator: first %s is IPv4 or IPv6 -#: libpq/pqcomm.c:570 +#: libpq/pqcomm.c:663 #, c-format msgid "listening on %s address \"%s\", port %d" msgstr "escuchando en la dirección %s «%s», port %d" -#: libpq/pqcomm.c:659 +#: libpq/pqcomm.c:753 #, c-format msgid "group \"%s\" does not exist" msgstr "no existe el grupo «%s»" -#: libpq/pqcomm.c:669 +#: libpq/pqcomm.c:763 #, c-format msgid "could not set group of file \"%s\": %m" msgstr "no se pudo definir el grupo del archivo «%s»: %m" -#: libpq/pqcomm.c:680 +#: libpq/pqcomm.c:774 #, c-format msgid "could not set permissions of file \"%s\": %m" msgstr "no se pudo definir los permisos del archivo «%s»: %m" -#: libpq/pqcomm.c:708 +#: libpq/pqcomm.c:803 #, c-format msgid "could not accept new connection: %m" msgstr "no se pudo aceptar una nueva conexión: %m" -#: libpq/pqcomm.c:748 libpq/pqcomm.c:757 libpq/pqcomm.c:789 libpq/pqcomm.c:799 -#: libpq/pqcomm.c:1624 libpq/pqcomm.c:1669 libpq/pqcomm.c:1709 -#: libpq/pqcomm.c:1753 libpq/pqcomm.c:1792 libpq/pqcomm.c:1831 -#: libpq/pqcomm.c:1867 libpq/pqcomm.c:1906 -#, c-format -msgid "%s(%s) failed: %m" -msgstr "%s(%s) falló: %m" - -#: libpq/pqcomm.c:903 +#: libpq/pqcomm.c:885 #, c-format msgid "there is no client connection" msgstr "no hay conexión de cliente" -#: libpq/pqcomm.c:954 libpq/pqcomm.c:1050 +#: libpq/pqcomm.c:941 libpq/pqcomm.c:1042 #, c-format msgid "could not receive data from client: %m" msgstr "no se pudo recibir datos del cliente: %m" -#: libpq/pqcomm.c:1155 tcop/postgres.c:4403 +#: libpq/pqcomm.c:1149 tcop/postgres.c:4445 #, c-format msgid "terminating connection because protocol synchronization was lost" msgstr "terminando la conexión por pérdida de sincronía del protocolo" -#: libpq/pqcomm.c:1221 +#: libpq/pqcomm.c:1215 #, c-format msgid "unexpected EOF within message length word" msgstr "EOF inesperado dentro de la palabra de tamaño del mensaje" -#: libpq/pqcomm.c:1231 +#: libpq/pqcomm.c:1225 #, c-format msgid "invalid message length" msgstr "el largo de mensaje no es válido" -#: libpq/pqcomm.c:1253 libpq/pqcomm.c:1266 +#: libpq/pqcomm.c:1247 libpq/pqcomm.c:1260 #, c-format msgid "incomplete message from client" msgstr "mensaje incompleto del cliente" -#: libpq/pqcomm.c:1377 +#: libpq/pqcomm.c:1401 #, c-format msgid "could not send data to client: %m" msgstr "no se pudo enviar datos al cliente: %m" -#: libpq/pqcomm.c:1592 +#: libpq/pqcomm.c:1616 #, c-format msgid "%s(%s) failed: error code %d" msgstr "%s(%s) falló: código de error %d" -#: libpq/pqcomm.c:1681 +#: libpq/pqcomm.c:1705 #, c-format msgid "setting the keepalive idle time is not supported" msgstr "establecer el tiempo de inactividad para keepalive no está soportado" -#: libpq/pqcomm.c:1765 libpq/pqcomm.c:1840 libpq/pqcomm.c:1915 +#: libpq/pqcomm.c:1789 libpq/pqcomm.c:1864 libpq/pqcomm.c:1939 #, c-format msgid "%s(%s) not supported" msgstr "%s(%s) no está soportado" -#: libpq/pqformat.c:407 +#: libpq/pqformat.c:404 #, c-format msgid "no data left in message" msgstr "no hay datos restantes en el mensaje" -#: libpq/pqformat.c:518 libpq/pqformat.c:536 libpq/pqformat.c:557 -#: utils/adt/array_userfuncs.c:799 utils/adt/arrayfuncs.c:1506 -#: utils/adt/rowtypes.c:615 +#: libpq/pqformat.c:515 libpq/pqformat.c:533 libpq/pqformat.c:554 +#: utils/adt/array_userfuncs.c:797 utils/adt/arrayfuncs.c:1481 +#: utils/adt/rowtypes.c:613 #, c-format msgid "insufficient data left in message" msgstr "los datos restantes del mensaje son insuficientes" -#: libpq/pqformat.c:598 libpq/pqformat.c:627 +#: libpq/pqformat.c:595 libpq/pqformat.c:624 #, c-format msgid "invalid string in message" msgstr "cadena no válida en el mensaje" -#: libpq/pqformat.c:643 +#: libpq/pqformat.c:640 #, c-format msgid "invalid message format" msgstr "formato de mensaje no válido" -#: main/main.c:235 +#: main/main.c:234 #, c-format msgid "%s: WSAStartup failed: %d\n" msgstr "%s: WSAStartup falló: %d\n" -#: main/main.c:329 +#: main/main.c:322 #, c-format msgid "" "%s is the PostgreSQL server.\n" @@ -15745,7 +16084,7 @@ msgstr "" "%s es el servidor PostgreSQL.\n" "\n" -#: main/main.c:330 +#: main/main.c:323 #, c-format msgid "" "Usage:\n" @@ -15756,110 +16095,109 @@ msgstr "" " %s [OPCION]...\n" "\n" -#: main/main.c:331 +#: main/main.c:324 #, c-format msgid "Options:\n" msgstr "Opciones:\n" -#: main/main.c:332 +#: main/main.c:325 #, c-format msgid " -B NBUFFERS number of shared buffers\n" msgstr " -B NBUFFERS número de búfers de memoria compartida\n" -#: main/main.c:333 +#: main/main.c:326 #, c-format msgid " -c NAME=VALUE set run-time parameter\n" msgstr " -c VAR=VALOR definir parámetro de ejecución\n" -#: main/main.c:334 +#: main/main.c:327 #, c-format msgid " -C NAME print value of run-time parameter, then exit\n" msgstr " -C NOMBRE imprimir valor de parámetro de configuración, luego salir\n" -#: main/main.c:335 +#: main/main.c:328 #, c-format msgid " -d 1-5 debugging level\n" msgstr " -d 1-5 nivel de depuración\n" -#: main/main.c:336 +#: main/main.c:329 #, c-format msgid " -D DATADIR database directory\n" msgstr " -D DATADIR directorio de bases de datos\n" -#: main/main.c:337 +#: main/main.c:330 #, c-format msgid " -e use European date input format (DMY)\n" msgstr " -e usar estilo europeo de fechas (DMY)\n" -#: main/main.c:338 +#: main/main.c:331 #, c-format msgid " -F turn fsync off\n" msgstr " -F desactivar fsync\n" -#: main/main.c:339 +#: main/main.c:332 #, c-format msgid " -h HOSTNAME host name or IP address to listen on\n" msgstr " -h NOMBRE nombre de host o dirección IP en que escuchar\n" -#: main/main.c:340 -#, fuzzy, c-format -#| msgid " -l enable SSL connections\n" +#: main/main.c:333 +#, c-format msgid " -i enable TCP/IP connections (deprecated)\n" -msgstr " -l activar conexiones SSL\n" +msgstr " -i activar conexiones TCP/IP (obsoleto)\n" -#: main/main.c:341 +#: main/main.c:334 #, c-format msgid " -k DIRECTORY Unix-domain socket location\n" msgstr " -k DIRECTORIO ubicación del socket Unix\n" -#: main/main.c:343 +#: main/main.c:336 #, c-format msgid " -l enable SSL connections\n" msgstr " -l activar conexiones SSL\n" -#: main/main.c:345 +#: main/main.c:338 #, c-format msgid " -N MAX-CONNECT maximum number of allowed connections\n" msgstr " -N MAX-CONN número máximo de conexiones permitidas\n" -#: main/main.c:346 +#: main/main.c:339 #, c-format msgid " -p PORT port number to listen on\n" msgstr " -p PUERTO número de puerto en el cual escuchar\n" -#: main/main.c:347 +#: main/main.c:340 #, c-format msgid " -s show statistics after each query\n" msgstr " -s mostrar estadísticas después de cada consulta\n" -#: main/main.c:348 +#: main/main.c:341 #, c-format msgid " -S WORK-MEM set amount of memory for sorts (in kB)\n" msgstr " -S WORK-MEM definir cantidad de memoria para ordenamientos (en kB)\n" -#: main/main.c:349 +#: main/main.c:342 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version mostrar información de la versión, luego salir\n" -#: main/main.c:350 +#: main/main.c:343 #, c-format msgid " --NAME=VALUE set run-time parameter\n" msgstr " --NOMBRE=VALOR definir parámetro de ejecución\n" -#: main/main.c:351 +#: main/main.c:344 #, c-format msgid " --describe-config describe configuration parameters, then exit\n" msgstr "" " --describe-config\n" " mostrar parámetros de configuración y salir\n" -#: main/main.c:352 +#: main/main.c:345 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help muestra esta ayuda, luego sale\n" -#: main/main.c:354 +#: main/main.c:347 #, c-format msgid "" "\n" @@ -15868,38 +16206,37 @@ msgstr "" "\n" "Opciones de desarrollador:\n" -#: main/main.c:355 +#: main/main.c:348 #, c-format msgid " -f s|i|o|b|t|n|m|h forbid use of some plan types\n" -msgstr "" +msgstr " -f s|i|o|b|t|n|m|h impedir el uso de algunos tipos de planes\n" -#: main/main.c:356 +#: main/main.c:349 #, c-format msgid " -O allow system table structure changes\n" msgstr " -O permitir cambios en estructura de tablas de sistema\n" -#: main/main.c:357 +#: main/main.c:350 #, c-format msgid " -P disable system indexes\n" msgstr " -P desactivar índices de sistema\n" -#: main/main.c:358 +#: main/main.c:351 #, c-format msgid " -t pa|pl|ex show timings after each query\n" msgstr " -t pa|pl|ex mostrar tiempos después de cada consulta\n" -#: main/main.c:359 -#, fuzzy, c-format -#| msgid " -P disable system indexes\n" +#: main/main.c:352 +#, c-format msgid " -T send SIGABRT to all backend processes if one dies\n" -msgstr " -P desactivar índices de sistema\n" +msgstr " -T enviar SIGABRT a todos los procesos backend si uno muere\n" -#: main/main.c:360 +#: main/main.c:353 #, c-format msgid " -W NUM wait NUM seconds to allow attach from a debugger\n" msgstr " -W NÚM espera NÚM segundos para permitir acoplar un depurador\n" -#: main/main.c:362 +#: main/main.c:355 #, c-format msgid "" "\n" @@ -15908,37 +16245,37 @@ msgstr "" "\n" "Opciones para modo mono-usuario:\n" -#: main/main.c:363 +#: main/main.c:356 #, c-format msgid " --single selects single-user mode (must be first argument)\n" msgstr " --single selecciona modo mono-usuario (debe ser el primer argumento)\n" -#: main/main.c:364 +#: main/main.c:357 #, c-format msgid " DBNAME database name (defaults to user name)\n" msgstr " DBNAME nombre de base de datos (el valor por omisión es el nombre de usuario)\n" -#: main/main.c:365 +#: main/main.c:358 #, c-format msgid " -d 0-5 override debugging level\n" msgstr " -d 0-5 nivel de depuración\n" -#: main/main.c:366 +#: main/main.c:359 #, c-format msgid " -E echo statement before execution\n" msgstr " -E mostrar las consultas antes de su ejecución\n" -#: main/main.c:367 +#: main/main.c:360 #, c-format msgid " -j do not use newline as interactive query delimiter\n" msgstr " -j no usar saltos de línea como delimitadores de consulta\n" -#: main/main.c:368 main/main.c:374 +#: main/main.c:361 main/main.c:367 #, c-format msgid " -r FILENAME send stdout and stderr to given file\n" msgstr " -r ARCHIVO enviar salida estándar y de error a ARCHIVO\n" -#: main/main.c:370 +#: main/main.c:363 #, c-format msgid "" "\n" @@ -15947,23 +16284,22 @@ msgstr "" "\n" "Opciones para modo de inicio (bootstrapping):\n" -#: main/main.c:371 +#: main/main.c:364 #, c-format msgid " --boot selects bootstrapping mode (must be first argument)\n" msgstr " --boot selecciona modo de inicio (debe ser el primer argumento)\n" -#: main/main.c:372 -#, fuzzy, c-format -#| msgid " --single selects single-user mode (must be first argument)\n" +#: main/main.c:365 +#, c-format msgid " --check selects check mode (must be first argument)\n" -msgstr " --single selecciona modo mono-usuario (debe ser el primer argumento)\n" +msgstr " --check selecciona modo de verificación (debe ser el primer argumento)\n" -#: main/main.c:373 +#: main/main.c:366 #, c-format msgid " DBNAME database name (mandatory argument in bootstrapping mode)\n" msgstr " DBNAME nombre de base de datos (argumento obligatorio en modo de inicio)\n" -#: main/main.c:376 +#: main/main.c:369 #, c-format msgid "" "\n" @@ -15980,12 +16316,12 @@ msgstr "" "\n" "Reporte errores a <%s>.\n" -#: main/main.c:380 +#: main/main.c:373 #, c-format msgid "%s home page: <%s>\n" msgstr "Sitio web de %s: <%s>\n" -#: main/main.c:391 +#: main/main.c:384 #, c-format msgid "" "\"root\" execution of the PostgreSQL server is not permitted.\n" @@ -15999,12 +16335,12 @@ msgstr "" "Vea la documentación para obtener más información acerca de cómo\n" "iniciar correctamente el servidor.\n" -#: main/main.c:408 +#: main/main.c:401 #, c-format msgid "%s: real and effective user IDs must match\n" msgstr "%s: los IDs de usuario real y efectivo deben coincidir\n" -#: main/main.c:415 +#: main/main.c:408 #, c-format msgid "" "Execution of PostgreSQL by a user with administrative permissions is not\n" @@ -16029,21 +16365,15 @@ msgstr "el tipo de nodo extensible «%s» ya existe" msgid "ExtensibleNodeMethods \"%s\" was not registered" msgstr "ExtensibleNodeMethods «%s» no fue registrado" -#: nodes/makefuncs.c:153 statistics/extended_stats.c:2335 +#: nodes/makefuncs.c:152 statistics/extended_stats.c:2310 #, c-format msgid "relation \"%s\" does not have a composite type" msgstr "la relación «%s» no tiene un tipo compuesto" -#: nodes/makefuncs.c:878 -#, fuzzy, c-format -#| msgid "unrecognized encoding: \"%s\"" -msgid "unrecognized JSON encoding: %s" -msgstr "no se reconoce la codificación: «%s»" - -#: nodes/nodeFuncs.c:116 nodes/nodeFuncs.c:147 parser/parse_coerce.c:2567 +#: nodes/nodeFuncs.c:118 nodes/nodeFuncs.c:149 parser/parse_coerce.c:2567 #: parser/parse_coerce.c:2705 parser/parse_coerce.c:2752 -#: parser/parse_expr.c:2049 parser/parse_func.c:710 parser/parse_oper.c:883 -#: utils/fmgr/funcapi.c:661 +#: parser/parse_expr.c:2111 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" msgstr "no se pudo encontrar un tipo de array para el tipo de dato %s" @@ -16058,938 +16388,936 @@ msgstr "portal «%s» con parámetros: %s" msgid "unnamed portal with parameters: %s" msgstr "portal sin nombre con parámetros: %s" -#: optimizer/path/joinrels.c:973 +#: optimizer/path/joinrels.c:972 #, c-format msgid "FULL JOIN is only supported with merge-joinable or hash-joinable join conditions" msgstr "FULL JOIN sólo está soportado con condiciones que se pueden usar con merge join o hash join" -#: optimizer/plan/createplan.c:7111 parser/parse_merge.c:182 -#: parser/parse_merge.c:189 -#, fuzzy, c-format -#| msgid "cannot change relation \"%s\"" +#: optimizer/plan/createplan.c:7162 parser/parse_merge.c:203 +#: rewrite/rewriteHandler.c:1695 +#, c-format msgid "cannot execute MERGE on relation \"%s\"" -msgstr "no se puede cambiar la relación «%s»" +msgstr "no se puede ejecutar MERGE en la relación «%s»" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: optimizer/plan/initsplan.c:1392 +#: optimizer/plan/initsplan.c:1407 #, c-format msgid "%s cannot be applied to the nullable side of an outer join" msgstr "%s no puede ser aplicado al lado nulable de un outer join" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: optimizer/plan/planner.c:1359 parser/analyze.c:1723 parser/analyze.c:1980 -#: parser/analyze.c:3193 +#: optimizer/plan/planner.c:1380 parser/analyze.c:1771 parser/analyze.c:2029 +#: parser/analyze.c:3247 #, c-format msgid "%s is not allowed with UNION/INTERSECT/EXCEPT" msgstr "%s no está permitido con UNION/INTERSECT/EXCEPT" -#: optimizer/plan/planner.c:2080 optimizer/plan/planner.c:4038 +#: optimizer/plan/planner.c:2121 optimizer/plan/planner.c:4107 #, c-format msgid "could not implement GROUP BY" msgstr "no se pudo implementar GROUP BY" -#: optimizer/plan/planner.c:2081 optimizer/plan/planner.c:4039 -#: optimizer/plan/planner.c:4679 optimizer/prep/prepunion.c:1053 +#: optimizer/plan/planner.c:2122 optimizer/plan/planner.c:4108 +#: optimizer/plan/planner.c:4789 optimizer/prep/prepunion.c:1320 #, c-format msgid "Some of the datatypes only support hashing, while others only support sorting." msgstr "Algunos de los tipos sólo soportan hashing, mientras que otros sólo soportan ordenamiento." -#: optimizer/plan/planner.c:4678 +#: optimizer/plan/planner.c:4788 #, c-format msgid "could not implement DISTINCT" msgstr "no se pudo implementar DISTINCT" -#: optimizer/plan/planner.c:6017 +#: optimizer/plan/planner.c:6133 #, c-format msgid "could not implement window PARTITION BY" msgstr "No se pudo implementar PARTITION BY de ventana" -#: optimizer/plan/planner.c:6018 +#: optimizer/plan/planner.c:6134 #, 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:6022 +#: optimizer/plan/planner.c:6138 #, c-format msgid "could not implement window ORDER BY" msgstr "no se pudo implementar ORDER BY de ventana" -#: optimizer/plan/planner.c:6023 +#: optimizer/plan/planner.c:6139 #, 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." -#: optimizer/prep/prepunion.c:516 +#: optimizer/prep/prepunion.c:467 #, c-format msgid "could not implement recursive UNION" msgstr "no se pudo implementar UNION recursivo" -#: optimizer/prep/prepunion.c:517 +#: optimizer/prep/prepunion.c:468 #, c-format msgid "All column datatypes must be hashable." msgstr "Todos los tipos de dato de las columnas deben ser tipos de los que se puedan hacer un hash." #. translator: %s is UNION, INTERSECT, or EXCEPT -#: optimizer/prep/prepunion.c:1052 +#: optimizer/prep/prepunion.c:1319 #, c-format msgid "could not implement %s" msgstr "no se pudo implementar %s" -#: optimizer/util/clauses.c:4869 +#: optimizer/util/clauses.c:4951 #, c-format msgid "SQL function \"%s\" during inlining" msgstr "función SQL «%s», durante expansión en línea" -#: optimizer/util/plancat.c:154 +#: optimizer/util/plancat.c:152 #, c-format msgid "cannot access temporary or unlogged relations during recovery" msgstr "no se puede acceder a tablas temporales o «unlogged» durante la recuperación" -#: optimizer/util/plancat.c:726 +#: optimizer/util/plancat.c:756 #, c-format msgid "whole row unique index inference specifications are not supported" msgstr "no están soportadas las especificaciones de inferencia de índice único de registro completo" -#: optimizer/util/plancat.c:743 +#: optimizer/util/plancat.c:773 #, c-format msgid "constraint in ON CONFLICT clause has no associated index" msgstr "la restricción en la cláusula ON CONFLICT no tiene un índice asociado" -#: optimizer/util/plancat.c:793 +#: optimizer/util/plancat.c:823 #, c-format msgid "ON CONFLICT DO UPDATE not supported with exclusion constraints" msgstr "ON CONFLICT DO UPDATE no está soportado con restricciones de exclusión" -#: optimizer/util/plancat.c:898 +#: optimizer/util/plancat.c:933 #, c-format msgid "there is no unique or exclusion constraint matching the ON CONFLICT specification" msgstr "no hay restricción única o de exclusión que coincida con la especificación ON CONFLICT" -#: parser/analyze.c:788 parser/analyze.c:1502 +#: parser/analyze.c:824 parser/analyze.c:1550 #, c-format msgid "VALUES lists must all be the same length" msgstr "las listas VALUES deben ser todas de la misma longitud" -#: parser/analyze.c:990 +#: parser/analyze.c:1027 #, c-format msgid "INSERT has more expressions than target columns" msgstr "INSERT tiene más expresiones que columnas de destino" -#: parser/analyze.c:1008 +#: parser/analyze.c:1045 #, c-format msgid "INSERT has more target columns than expressions" msgstr "INSERT tiene más columnas de destino que expresiones" -#: parser/analyze.c:1012 +#: parser/analyze.c:1049 #, c-format msgid "The insertion source is a row expression containing the same number of columns expected by the INSERT. Did you accidentally use extra parentheses?" msgstr "La fuente de inserción es una expresión de fila que contiene la misma cantidad de columnas que esperaba el INSERT. ¿Usó accidentalmente paréntesis extra?" -#: parser/analyze.c:1309 parser/analyze.c:1696 +#: parser/analyze.c:1357 parser/analyze.c:1744 #, c-format msgid "SELECT ... INTO is not allowed here" msgstr "SELECT ... INTO no está permitido aquí" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:1625 parser/analyze.c:3425 +#: parser/analyze.c:1673 parser/analyze.c:3479 #, c-format msgid "%s cannot be applied to VALUES" msgstr "%s no puede ser aplicado a VALUES" -#: parser/analyze.c:1862 +#: parser/analyze.c:1911 #, c-format msgid "invalid UNION/INTERSECT/EXCEPT ORDER BY clause" msgstr "cláusula UNION/INTERSECT/EXCEPT ORDER BY no válida" -#: parser/analyze.c:1863 +#: parser/analyze.c:1912 #, c-format msgid "Only result column names can be used, not expressions or functions." msgstr "Sólo nombres de columna del resultado pueden usarse, no expresiones o funciones." -#: parser/analyze.c:1864 +#: parser/analyze.c:1913 #, c-format msgid "Add the expression/function to every SELECT, or move the UNION into a FROM clause." msgstr "Agregue la función o expresión a todos los SELECT, o mueva el UNION dentro de una cláusula FROM." -#: parser/analyze.c:1970 +#: parser/analyze.c:2019 #, c-format msgid "INTO is only allowed on first SELECT of UNION/INTERSECT/EXCEPT" msgstr "sólo se permite INTO en el primer SELECT de UNION/INTERSECT/EXCEPT" -#: parser/analyze.c:2042 +#: parser/analyze.c:2091 #, c-format msgid "UNION/INTERSECT/EXCEPT member statement cannot refer to other relations of same query level" msgstr "una sentencia miembro de UNION/INSERT/EXCEPT no puede referirse a otras relaciones del mismo nivel de la consulta" -#: parser/analyze.c:2129 +#: parser/analyze.c:2178 #, c-format msgid "each %s query must have the same number of columns" msgstr "cada consulta %s debe tener el mismo número de columnas" #: parser/analyze.c:2535 #, c-format +msgid "SET target columns cannot be qualified with the relation name." +msgstr "Las columnas de destino SET no pueden ser calificadas con el nombre de relación." + +#: parser/analyze.c:2589 +#, c-format msgid "RETURNING must have at least one column" msgstr "RETURNING debe tener al menos una columna" -#: parser/analyze.c:2638 +#: parser/analyze.c:2692 #, c-format msgid "assignment source returned %d column" msgid_plural "assignment source returned %d columns" msgstr[0] "fuente de asignación retornó %d columna" msgstr[1] "fuente de asignación retornó %d columnas" -#: parser/analyze.c:2699 +#: parser/analyze.c:2753 #, c-format msgid "variable \"%s\" is of type %s but expression is of type %s" msgstr "la variable «%s» es de tipo %s pero la expresión es de tipo %s" #. translator: %s is a SQL keyword -#: parser/analyze.c:2824 parser/analyze.c:2832 +#: parser/analyze.c:2878 parser/analyze.c:2886 #, c-format msgid "cannot specify both %s and %s" msgstr "no se puede especificar %s junto con %s" -#: parser/analyze.c:2852 +#: parser/analyze.c:2906 #, c-format msgid "DECLARE CURSOR must not contain data-modifying statements in WITH" msgstr "DECLARE CURSOR no debe contener sentencias que modifiquen datos en WITH" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:2860 +#: parser/analyze.c:2914 #, c-format msgid "DECLARE CURSOR WITH HOLD ... %s is not supported" msgstr "DECLARE CURSOR WITH HOLD ... %s no está soportado" -#: parser/analyze.c:2863 +#: parser/analyze.c:2917 #, c-format msgid "Holdable cursors must be READ ONLY." msgstr "Los cursores declarados HOLD deben ser READ ONLY." #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:2871 +#: parser/analyze.c:2925 #, c-format msgid "DECLARE SCROLL CURSOR ... %s is not supported" msgstr "DECLARE SCROLL CURSOR ... %s no está soportado" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:2882 +#: parser/analyze.c:2936 #, c-format msgid "DECLARE INSENSITIVE CURSOR ... %s is not valid" msgstr "DECLARE INSENSITIVE CURSOR ... %s no es válido" -#: parser/analyze.c:2885 +#: parser/analyze.c:2939 #, c-format msgid "Insensitive cursors must be READ ONLY." msgstr "Los cursores insensitivos deben ser READ ONLY." -#: parser/analyze.c:2979 +#: parser/analyze.c:3033 #, c-format msgid "materialized views must not use data-modifying statements in WITH" msgstr "las vistas materializadas no deben usar sentencias que modifiquen datos en WITH" -#: parser/analyze.c:2989 +#: parser/analyze.c:3043 #, c-format msgid "materialized views must not use temporary tables or views" msgstr "las vistas materializadas no deben usar tablas temporales o vistas" -#: parser/analyze.c:2999 +#: parser/analyze.c:3053 #, c-format msgid "materialized views may not be defined using bound parameters" msgstr "las vistas materializadas no pueden definirse usando parámetros enlazados" -#: parser/analyze.c:3011 +#: parser/analyze.c:3065 #, c-format msgid "materialized views cannot be unlogged" msgstr "las vistas materializadas no pueden ser «unlogged»" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3200 +#: parser/analyze.c:3254 #, c-format msgid "%s is not allowed with DISTINCT clause" msgstr "%s no está permitido con cláusulas DISTINCT" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3207 +#: parser/analyze.c:3261 #, c-format msgid "%s is not allowed with GROUP BY clause" msgstr "%s no está permitido con cláusulas GROUP BY" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3214 +#: parser/analyze.c:3268 #, c-format msgid "%s is not allowed with HAVING clause" msgstr "%s no está permitido con cláusulas HAVING" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3221 +#: parser/analyze.c:3275 #, c-format msgid "%s is not allowed with aggregate functions" msgstr "%s no está permitido con funciones de agregación" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3228 +#: parser/analyze.c:3282 #, c-format msgid "%s is not allowed with window functions" msgstr "%s no está permitido con funciones de ventana deslizante" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3235 +#: parser/analyze.c:3289 #, c-format msgid "%s is not allowed with set-returning functions in the target list" msgstr "%s no está permitido con funciones que retornan conjuntos en la lista de resultados" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3334 +#: parser/analyze.c:3388 #, c-format msgid "%s must specify unqualified relation names" msgstr "%s debe especificar nombres de relaciones sin calificar" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3398 +#: parser/analyze.c:3452 #, c-format msgid "%s cannot be applied to a join" msgstr "%s no puede ser aplicado a un join" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3407 +#: parser/analyze.c:3461 #, c-format msgid "%s cannot be applied to a function" msgstr "%s no puede ser aplicado a una función" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3416 +#: parser/analyze.c:3470 #, c-format msgid "%s cannot be applied to a table function" msgstr "%s no puede ser aplicado a una función de tabla" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3434 +#: parser/analyze.c:3488 #, c-format msgid "%s cannot be applied to a WITH query" msgstr "%s no puede ser aplicado a una consulta WITH" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3443 +#: parser/analyze.c:3497 #, c-format msgid "%s cannot be applied to a named tuplestore" msgstr "%s no puede ser aplicado a un «tuplestore» con nombre" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3463 +#: parser/analyze.c:3517 #, c-format 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:221 parser/parse_oper.c:227 +#: parser/parse_agg.c:210 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:223 +#: parser/parse_agg.c:212 #, 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:258 +#: parser/parse_agg.c:270 #, c-format msgid "GROUPING must have fewer than 32 arguments" msgstr "GROUPING debe tener menos de 32 argumentos" -#: parser/parse_agg.c:361 +#: parser/parse_agg.c:373 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:363 +#: parser/parse_agg.c:375 msgid "grouping operations are not allowed in JOIN conditions" msgstr "no se permiten las operaciones «grouping» en condiciones JOIN" -#: parser/parse_agg.c:375 +#: parser/parse_agg.c:387 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:377 +#: parser/parse_agg.c:389 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:382 +#: parser/parse_agg.c:394 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:384 +#: parser/parse_agg.c:396 msgid "grouping operations are not allowed in functions in FROM" msgstr "no se permiten operaciones «grouping» en funciones en FROM" -#: parser/parse_agg.c:392 +#: parser/parse_agg.c:404 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:394 +#: parser/parse_agg.c:406 msgid "grouping operations are not allowed in policy expressions" msgstr "no se permiten operaciones «grouping» en expresiones de políticas" -#: parser/parse_agg.c:411 +#: parser/parse_agg.c:423 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:413 +#: parser/parse_agg.c:425 msgid "grouping operations are not allowed in window RANGE" msgstr "no se permiten operaciones «grouping» en RANGE de ventana deslizante" -#: parser/parse_agg.c:418 +#: parser/parse_agg.c:430 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:420 +#: parser/parse_agg.c:432 msgid "grouping operations are not allowed in window ROWS" msgstr "no se permiten operaciones «grouping» en ROWS de ventana deslizante" -#: parser/parse_agg.c:425 +#: parser/parse_agg.c:437 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:427 +#: parser/parse_agg.c:439 msgid "grouping operations are not allowed in window GROUPS" msgstr "no se permiten operaciones «grouping» en GROUPS de ventana deslizante" -#: parser/parse_agg.c:440 -#, fuzzy -#| msgid "aggregate functions are not allowed in trigger WHEN conditions" +#: parser/parse_agg.c:452 msgid "aggregate functions are not allowed in MERGE WHEN conditions" -msgstr "no se permiten funciones de agregación en condición WHEN de un disparador" +msgstr "no se permiten funciones de agregación en condiciones MERGE WHEN" -#: parser/parse_agg.c:442 -#, fuzzy -#| msgid "grouping operations are not allowed in trigger WHEN conditions" +#: parser/parse_agg.c:454 msgid "grouping operations are not allowed in MERGE WHEN conditions" -msgstr "no se permiten operaciones «grouping» en condiciones WHEN de un disparador" +msgstr "no se permiten operaciones «grouping» en condiciones MERGE WHEN" -#: parser/parse_agg.c:468 +#: parser/parse_agg.c:481 msgid "aggregate functions are not allowed in check constraints" msgstr "no se permiten funciones de agregación en restricciones «check»" -#: parser/parse_agg.c:470 +#: parser/parse_agg.c:483 msgid "grouping operations are not allowed in check constraints" msgstr "no se permiten operaciones «grouping» en restricciones «check»" -#: parser/parse_agg.c:477 +#: parser/parse_agg.c:490 msgid "aggregate functions are not allowed in DEFAULT expressions" msgstr "no se permiten funciones de agregación en expresiones DEFAULT" -#: parser/parse_agg.c:479 +#: parser/parse_agg.c:492 msgid "grouping operations are not allowed in DEFAULT expressions" msgstr "no se permiten operaciones «grouping» en expresiones DEFAULT" -#: parser/parse_agg.c:484 +#: parser/parse_agg.c:497 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:486 +#: parser/parse_agg.c:499 msgid "grouping operations are not allowed in index expressions" msgstr "no se permiten operaciones «grouping» en expresiones de índice" -#: parser/parse_agg.c:491 +#: parser/parse_agg.c:504 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:493 +#: parser/parse_agg.c:506 msgid "grouping operations are not allowed in index predicates" msgstr "no se permiten operaciones «grouping» en predicados de índice" -#: parser/parse_agg.c:498 +#: parser/parse_agg.c:511 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:500 +#: parser/parse_agg.c:513 msgid "grouping operations are not allowed in statistics expressions" msgstr "no se permiten operaciones «grouping» en expresiones de estadísticas" -#: parser/parse_agg.c:505 +#: parser/parse_agg.c:518 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:507 +#: parser/parse_agg.c:520 msgid "grouping operations are not allowed in transform expressions" msgstr "no se permiten operaciones «grouping» en expresiones de transformación" -#: parser/parse_agg.c:512 +#: parser/parse_agg.c:525 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:514 +#: parser/parse_agg.c:527 msgid "grouping operations are not allowed in EXECUTE parameters" msgstr "no se permiten operaciones «grouping» en parámetros a EXECUTE" -#: parser/parse_agg.c:519 +#: parser/parse_agg.c:532 msgid "aggregate functions are not allowed in trigger WHEN conditions" msgstr "no se permiten funciones de agregación en condición WHEN de un disparador" -#: parser/parse_agg.c:521 +#: parser/parse_agg.c:534 msgid "grouping operations are not allowed in trigger WHEN conditions" msgstr "no se permiten operaciones «grouping» en condiciones WHEN de un disparador" -#: parser/parse_agg.c:526 +#: parser/parse_agg.c:539 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:528 +#: parser/parse_agg.c:541 msgid "grouping operations are not allowed in partition bound" msgstr "no se permiten operaciones «grouping» en borde de partición" -#: parser/parse_agg.c:533 +#: parser/parse_agg.c:546 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:535 +#: parser/parse_agg.c:548 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:541 +#: parser/parse_agg.c:554 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:543 +#: parser/parse_agg.c:556 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:549 +#: parser/parse_agg.c:562 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:551 +#: parser/parse_agg.c:564 msgid "grouping operations are not allowed in CALL arguments" msgstr "no se permiten operaciones «grouping» en argumentos de CALL" -#: parser/parse_agg.c:557 +#: parser/parse_agg.c:570 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:559 +#: parser/parse_agg.c:572 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:586 parser/parse_clause.c:1955 +#: parser/parse_agg.c:599 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:589 +#: parser/parse_agg.c:602 #, c-format msgid "grouping operations are not allowed in %s" msgstr "no se permiten operaciones «grouping» en %s" -#: parser/parse_agg.c:690 +#: parser/parse_agg.c:703 #, 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:768 +#: parser/parse_agg.c:781 #, 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:769 parser/parse_expr.c:1700 parser/parse_expr.c:2182 -#: parser/parse_func.c:884 +#: parser/parse_agg.c:782 parser/parse_expr.c:1761 parser/parse_expr.c:2244 +#: 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:774 +#: parser/parse_agg.c:787 #, 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:853 +#: parser/parse_agg.c:866 msgid "window functions are not allowed in JOIN conditions" msgstr "no se permiten funciones de ventana deslizante en condiciones JOIN" -#: parser/parse_agg.c:860 +#: parser/parse_agg.c:873 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:866 +#: parser/parse_agg.c:879 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:879 +#: parser/parse_agg.c:892 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:890 -#, fuzzy -#| msgid "window functions are not allowed in trigger WHEN conditions" +#: parser/parse_agg.c:903 msgid "window functions are not allowed in MERGE WHEN conditions" -msgstr "no se permiten funciones de ventana deslizante en condiciones WHEN de un disparador" +msgstr "no se permiten funciones de ventana deslizante en condiciones MERGE WHEN" -#: parser/parse_agg.c:914 +#: parser/parse_agg.c:928 msgid "window functions are not allowed in check constraints" msgstr "no se permiten funciones de ventana deslizante en restricciones «check»" -#: parser/parse_agg.c:918 +#: parser/parse_agg.c:932 msgid "window functions are not allowed in DEFAULT expressions" msgstr "no se permiten funciones de ventana deslizante en expresiones DEFAULT" -#: parser/parse_agg.c:921 +#: parser/parse_agg.c:935 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:924 +#: parser/parse_agg.c:938 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:927 +#: parser/parse_agg.c:941 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:930 +#: parser/parse_agg.c:944 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:933 +#: parser/parse_agg.c:947 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:936 +#: parser/parse_agg.c:950 msgid "window functions are not allowed in trigger WHEN conditions" msgstr "no se permiten funciones de ventana deslizante en condiciones WHEN de un disparador" -#: parser/parse_agg.c:939 +#: parser/parse_agg.c:953 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:942 +#: parser/parse_agg.c:956 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:945 +#: parser/parse_agg.c:959 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:948 +#: parser/parse_agg.c:962 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:951 +#: parser/parse_agg.c:965 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:974 parser/parse_clause.c:1964 +#: parser/parse_agg.c:988 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:1008 parser/parse_clause.c:2797 +#: parser/parse_agg.c:1022 parser/parse_clause.c:2804 #, c-format msgid "window \"%s\" does not exist" msgstr "la ventana «%s» no existe" -#: parser/parse_agg.c:1096 +#: parser/parse_agg.c:1110 #, c-format msgid "too many grouping sets present (maximum 4096)" msgstr "demasiados conjuntos «grouping» presentes (máximo 4096)" -#: parser/parse_agg.c:1236 +#: parser/parse_agg.c:1250 #, 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:1429 +#: parser/parse_agg.c:1443 #, 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:1432 +#: parser/parse_agg.c:1446 #, 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:1437 +#: parser/parse_agg.c:1451 #, 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:1601 +#: parser/parse_agg.c:1615 #, 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" -#: parser/parse_clause.c:195 +#: parser/parse_clause.c:193 #, c-format msgid "relation \"%s\" cannot be the target of a modifying statement" msgstr "relación «%s» no puede ser destino de una sentencia modificadora" -#: parser/parse_clause.c:571 parser/parse_clause.c:599 parser/parse_func.c:2552 +#: parser/parse_clause.c:569 parser/parse_clause.c:597 parser/parse_func.c:2553 #, c-format msgid "set-returning functions must appear at top level of FROM" msgstr "las funciones que retornan conjuntos deben aparecer en el nivel más externo del FROM" -#: parser/parse_clause.c:611 +#: parser/parse_clause.c:609 #, c-format msgid "multiple column definition lists are not allowed for the same function" msgstr "no se permiten múltiples definiciones de columnas para la misma función" -#: parser/parse_clause.c:644 +#: parser/parse_clause.c:642 #, c-format msgid "ROWS FROM() with multiple functions cannot have a column definition list" msgstr "ROWS FROM() con varias funciones no puede tener una lista de definición de columnas" -#: parser/parse_clause.c:645 +#: parser/parse_clause.c:643 #, c-format msgid "Put a separate column definition list for each function inside ROWS FROM()." msgstr "Ponga una lista de columnas separada para cada función dentro de ROWS FROM()." -#: parser/parse_clause.c:651 +#: parser/parse_clause.c:649 #, c-format msgid "UNNEST() with multiple arguments cannot have a column definition list" msgstr "UNNEST() con varios argumentos no puede tener una lista de definición de columnas" -#: parser/parse_clause.c:652 +#: parser/parse_clause.c:650 #, c-format msgid "Use separate UNNEST() calls inside ROWS FROM(), and attach a column definition list to each one." msgstr "Use llamadas a UNNEST() separadas dentro de ROWS FROM() y adjunte una lista de columnas a cada una." -#: parser/parse_clause.c:659 +#: parser/parse_clause.c:657 #, c-format msgid "WITH ORDINALITY cannot be used with a column definition list" msgstr "WITH ORDINALITY no puede usarse con una lista de definición de columnas" -#: parser/parse_clause.c:660 +#: parser/parse_clause.c:658 #, c-format msgid "Put the column definition list inside ROWS FROM()." msgstr "Ponga una lista de columnas dentro de ROWS FROM()." -#: parser/parse_clause.c:760 +#: parser/parse_clause.c:762 #, c-format msgid "only one FOR ORDINALITY column is allowed" msgstr "sólo se permite una columna FOR ORDINALITY" -#: parser/parse_clause.c:821 +#: parser/parse_clause.c:823 #, c-format msgid "column name \"%s\" is not unique" msgstr "el nombre de columna «%s» no es único" -#: parser/parse_clause.c:863 +#: parser/parse_clause.c:865 #, c-format msgid "namespace name \"%s\" is not unique" msgstr "el espacio de nombres «%s» no es único" -#: parser/parse_clause.c:873 +#: parser/parse_clause.c:875 #, c-format msgid "only one default namespace is allowed" msgstr "sólo se permite un espacio de nombres predeterminado" -#: parser/parse_clause.c:933 +#: parser/parse_clause.c:935 #, c-format msgid "tablesample method %s does not exist" msgstr "no existe el método de tablesample «%s»" -#: parser/parse_clause.c:955 +#: parser/parse_clause.c:957 #, c-format msgid "tablesample method %s requires %d argument, not %d" msgid_plural "tablesample method %s requires %d arguments, not %d" msgstr[0] "el método de tablesample «%s» requiere %d argumento, no %d" msgstr[1] "el método de tablesample «%s» requiere %d argumentos, no %d" -#: parser/parse_clause.c:989 +#: parser/parse_clause.c:991 #, c-format msgid "tablesample method %s does not support REPEATABLE" msgstr "el método de tablesample «%s» no soporta la opción REPEATABLE" -#: parser/parse_clause.c:1138 +#: parser/parse_clause.c:1144 #, c-format msgid "TABLESAMPLE clause can only be applied to tables and materialized views" msgstr "la cláusula TABLESAMPLE sólo puede aplicarse a tablas y vistas materializadas" -#: parser/parse_clause.c:1325 +#: parser/parse_clause.c:1331 #, c-format msgid "column name \"%s\" appears more than once in USING clause" msgstr "la columna «%s» aparece más de una vez en la cláusula USING" -#: parser/parse_clause.c:1340 +#: parser/parse_clause.c:1346 #, c-format msgid "common column name \"%s\" appears more than once in left table" msgstr "la columna común «%s» aparece más de una vez en la tabla izquierda" -#: parser/parse_clause.c:1349 +#: parser/parse_clause.c:1355 #, c-format msgid "column \"%s\" specified in USING clause does not exist in left table" msgstr "la columna «%s» especificada en la cláusula USING no existe en la tabla izquierda" -#: parser/parse_clause.c:1364 +#: parser/parse_clause.c:1370 #, c-format msgid "common column name \"%s\" appears more than once in right table" msgstr "la columna común «%s» aparece más de una vez en la tabla derecha" -#: parser/parse_clause.c:1373 +#: parser/parse_clause.c:1379 #, c-format msgid "column \"%s\" specified in USING clause does not exist in right table" msgstr "la columna «%s» especificada en la cláusula USING no existe en la tabla derecha" -#: parser/parse_clause.c:1900 +#: parser/parse_clause.c:1907 #, c-format msgid "row count cannot be null in FETCH FIRST ... WITH TIES clause" msgstr "la cantidad de registros no puede ser NULL en la cláusula FETCH FIRST ... WITH TIES" #. translator: %s is name of a SQL construct, eg LIMIT -#: parser/parse_clause.c:1925 +#: parser/parse_clause.c:1932 #, c-format msgid "argument of %s must not contain variables" msgstr "el argumento de %s no puede contener variables" #. translator: first %s is name of a SQL construct, eg ORDER BY -#: parser/parse_clause.c:2090 +#: parser/parse_clause.c:2097 #, c-format msgid "%s \"%s\" is ambiguous" msgstr "%s «%s» es ambiguo" #. translator: %s is name of a SQL construct, eg ORDER BY -#: parser/parse_clause.c:2118 +#: parser/parse_clause.c:2125 #, c-format msgid "non-integer constant in %s" msgstr "constante no entera en %s" #. translator: %s is name of a SQL construct, eg ORDER BY -#: parser/parse_clause.c:2140 +#: parser/parse_clause.c:2147 #, c-format msgid "%s position %d is not in select list" msgstr "la posición %2$d de %1$s no está en la lista de resultados" -#: parser/parse_clause.c:2579 +#: parser/parse_clause.c:2586 #, c-format msgid "CUBE is limited to 12 elements" msgstr "CUBE está limitado a 12 elementos" -#: parser/parse_clause.c:2785 +#: parser/parse_clause.c:2792 #, c-format msgid "window \"%s\" is already defined" msgstr "la ventana «%s» ya está definida" -#: parser/parse_clause.c:2846 +#: parser/parse_clause.c:2853 #, c-format msgid "cannot override PARTITION BY clause of window \"%s\"" msgstr "no se puede pasar a llevar la cláusula PARTITION BY de la ventana «%s»" -#: parser/parse_clause.c:2858 +#: parser/parse_clause.c:2865 #, c-format msgid "cannot override ORDER BY clause of window \"%s\"" msgstr "no se puede pasar a llevar la cláusula ORDER BY de la ventana «%s»" -#: parser/parse_clause.c:2888 parser/parse_clause.c:2894 +#: parser/parse_clause.c:2895 parser/parse_clause.c:2901 #, c-format msgid "cannot copy window \"%s\" because it has a frame clause" msgstr "no se puede copiar la ventana «%s» porque tiene una cláusula «frame»" -#: parser/parse_clause.c:2896 +#: parser/parse_clause.c:2903 #, c-format msgid "Omit the parentheses in this OVER clause." msgstr "Omita el uso de paréntesis en esta cláusula OVER." -#: parser/parse_clause.c:2916 +#: parser/parse_clause.c:2923 #, c-format msgid "RANGE with offset PRECEDING/FOLLOWING requires exactly one ORDER BY column" msgstr "RANGE con desplazamiento PRECEDING/FOLLOWING requiere exactamente una columna ORDER BY" -#: parser/parse_clause.c:2939 +#: parser/parse_clause.c:2946 #, c-format msgid "GROUPS mode requires an ORDER BY clause" msgstr "el modo GROUPS requiere una cláusula ORDER BY" -#: parser/parse_clause.c:3010 +#: parser/parse_clause.c:3016 #, c-format msgid "in an aggregate with DISTINCT, ORDER BY expressions must appear in argument list" msgstr "en una agregación con DISTINCT, las expresiones en ORDER BY deben aparecer en la lista de argumentos" -#: parser/parse_clause.c:3011 +#: parser/parse_clause.c:3017 #, c-format msgid "for SELECT DISTINCT, ORDER BY expressions must appear in select list" msgstr "para SELECT DISTINCT, las expresiones en ORDER BY deben aparecer en la lista de resultados" -#: parser/parse_clause.c:3043 +#: parser/parse_clause.c:3049 #, c-format msgid "an aggregate with DISTINCT must have at least one argument" msgstr "una función de agregación con DISTINCT debe tener al menos un argumento" -#: parser/parse_clause.c:3044 +#: parser/parse_clause.c:3050 #, c-format msgid "SELECT DISTINCT must have at least one column" msgstr "SELECT DISTINCT debe tener al menos una columna" -#: parser/parse_clause.c:3110 parser/parse_clause.c:3142 +#: parser/parse_clause.c:3116 parser/parse_clause.c:3148 #, c-format msgid "SELECT DISTINCT ON expressions must match initial ORDER BY expressions" msgstr "las expresiones de SELECT DISTINCT ON deben coincidir con las expresiones iniciales de ORDER BY" -#: parser/parse_clause.c:3220 +#: parser/parse_clause.c:3226 #, c-format msgid "ASC/DESC is not allowed in ON CONFLICT clause" msgstr "ASC/DESC no están permitidos en cláusulas ON CONFLICT" -#: parser/parse_clause.c:3226 +#: parser/parse_clause.c:3232 #, c-format msgid "NULLS FIRST/LAST is not allowed in ON CONFLICT clause" msgstr "NULLS FIRST/LAST no están permitidos en cláusulas ON CONFLICT" -#: parser/parse_clause.c:3305 +#: parser/parse_clause.c:3311 #, c-format msgid "ON CONFLICT DO UPDATE requires inference specification or constraint name" msgstr "ON CONFLICT DO UPDATE requiere una especificación de inferencia o nombre de restricción" -#: parser/parse_clause.c:3306 +#: parser/parse_clause.c:3312 #, c-format msgid "For example, ON CONFLICT (column_name)." msgstr "Por ejemplo, ON CONFLICT (nombre_de_columna)." -#: parser/parse_clause.c:3317 +#: parser/parse_clause.c:3323 #, c-format msgid "ON CONFLICT is not supported with system catalog tables" msgstr "ON CONFLICT no está soportado con tablas que son catálogos de sistema" -#: parser/parse_clause.c:3325 +#: parser/parse_clause.c:3331 #, c-format msgid "ON CONFLICT is not supported on table \"%s\" used as a catalog table" msgstr "ON CONFLICT no está soportado en la tabla «%s» usada como catálogo de sistema" -#: parser/parse_clause.c:3456 +#: parser/parse_clause.c:3462 #, c-format msgid "operator %s is not a valid ordering operator" msgstr "el operador «%s» no es un operador válido de ordenamiento" -#: parser/parse_clause.c:3458 +#: parser/parse_clause.c:3464 #, c-format msgid "Ordering operators must be \"<\" or \">\" members of btree operator families." msgstr "Los operadores de ordenamiento deben ser miembros «<» o «>» de una familia de operadores btree." -#: parser/parse_clause.c:3769 +#: parser/parse_clause.c:3775 #, c-format msgid "RANGE with offset PRECEDING/FOLLOWING is not supported for column type %s" msgstr "RANGE con desplazamiento PRECEDING/FOLLOWING no está soportado para la columna de tipo %s" -#: parser/parse_clause.c:3775 +#: parser/parse_clause.c:3781 #, c-format msgid "RANGE with offset PRECEDING/FOLLOWING is not supported for column type %s and offset type %s" msgstr "RANGE con desplazamiento PRECEDING/FOLLOWING no está soportado para la columna de tipo %s y tipo de desplazamiento %s" -#: parser/parse_clause.c:3778 +#: parser/parse_clause.c:3784 #, c-format msgid "Cast the offset value to an appropriate type." msgstr "Convierta el valor de desplazamiento a un tipo apropiado." -#: parser/parse_clause.c:3783 +#: parser/parse_clause.c:3789 #, c-format msgid "RANGE with offset PRECEDING/FOLLOWING has multiple interpretations for column type %s and offset type %s" msgstr "RANGE con desplazamiento PRECEDING/FOLLOWING tiene múltiples interpretaciones para la columna de tipo %s y tipo de desplazamiento %s" -#: parser/parse_clause.c:3786 +#: parser/parse_clause.c:3792 #, c-format msgid "Cast the offset value to the exact intended type." msgstr "Convierta el valor de desplazamiento al tipo deseado exacto." #: parser/parse_coerce.c:1050 parser/parse_coerce.c:1088 #: parser/parse_coerce.c:1106 parser/parse_coerce.c:1121 -#: parser/parse_expr.c:2083 parser/parse_expr.c:2691 parser/parse_expr.c:3516 -#: parser/parse_target.c:985 +#: parser/parse_expr.c:2145 parser/parse_expr.c:2753 parser/parse_expr.c:3402 +#: parser/parse_expr.c:3631 parser/parse_target.c:998 #, c-format msgid "cannot cast type %s to %s" msgstr "no se puede convertir el tipo %s a %s" @@ -17048,19 +17376,19 @@ msgid "arguments declared \"%s\" are not all alike" msgstr "los argumentos declarados «%s» no son de tipos compatibles" #: parser/parse_coerce.c:2249 parser/parse_coerce.c:2362 -#: utils/fmgr/funcapi.c:592 +#: utils/fmgr/funcapi.c:600 #, c-format msgid "argument declared %s is not an array but type %s" msgstr "el argumento declarado %s no es un array sino de tipo %s" #: parser/parse_coerce.c:2282 parser/parse_coerce.c:2432 -#: utils/fmgr/funcapi.c:606 +#: utils/fmgr/funcapi.c:614 #, c-format msgid "argument declared %s is not a range type but type %s" msgstr "el argumento declarado %s no es un tipo de rango sino tipo %s" #: parser/parse_coerce.c:2316 parser/parse_coerce.c:2396 -#: parser/parse_coerce.c:2529 utils/fmgr/funcapi.c:624 utils/fmgr/funcapi.c:689 +#: parser/parse_coerce.c:2529 utils/fmgr/funcapi.c:632 utils/fmgr/funcapi.c:697 #, c-format msgid "argument declared %s is not a multirange type but type %s" msgstr "el argumento declarado %s no es un tipo de multirango sino tipo %s" @@ -17184,442 +17512,567 @@ msgstr "la referencia recursiva a la consulta «%s» no debe aparecer dentro de msgid "recursive reference to query \"%s\" must not appear within EXCEPT" msgstr "la referencia recursiva a la consulta «%s» no debe aparecer dentro de EXCEPT" -#: parser/parse_cte.c:133 -#, fuzzy, c-format -#| msgid "\"EEEE\" not supported for input" -msgid "MERGE not supported in WITH query" -msgstr "«EEEE» no está soportado en la entrada" - -#: parser/parse_cte.c:143 +#: parser/parse_cte.c:136 #, c-format msgid "WITH query name \"%s\" specified more than once" msgstr "el nombre de consulta WITH «%s» fue especificado más de una vez" -#: parser/parse_cte.c:314 +#: parser/parse_cte.c:308 #, c-format msgid "could not identify an inequality operator for type %s" msgstr "no se pudo identificar un operador de desigualdad para el tipo %s" -#: parser/parse_cte.c:341 +#: parser/parse_cte.c:335 #, c-format msgid "WITH clause containing a data-modifying statement must be at the top level" msgstr "la cláusula WITH que contiene las sentencias que modifican datos debe estar en el nivel más externo" -#: parser/parse_cte.c:390 +#: parser/parse_cte.c:384 #, c-format msgid "recursive query \"%s\" column %d has type %s in non-recursive term but type %s overall" msgstr "la columna %2$d en la consulta recursiva «%1$s» tiene tipo %3$s en el término no recursivo, pero %4$s en general" -#: parser/parse_cte.c:396 +#: parser/parse_cte.c:390 #, c-format msgid "Cast the output of the non-recursive term to the correct type." msgstr "Aplique una conversión de tipo a la salida del término no recursivo al tipo correcto." -#: parser/parse_cte.c:401 +#: parser/parse_cte.c:395 #, c-format msgid "recursive query \"%s\" column %d has collation \"%s\" in non-recursive term but collation \"%s\" overall" msgstr "la columna %2$d en la consulta recursiva «%1$s» tiene ordenamiento (collation) %3$s en el término no recursivo, pero %4$s en general" -#: parser/parse_cte.c:405 +#: parser/parse_cte.c:399 #, c-format msgid "Use the COLLATE clause to set the collation of the non-recursive term." msgstr "Use la clásula COLLATE para definir el ordenamiento del término no-recursivo." -#: parser/parse_cte.c:426 +#: parser/parse_cte.c:420 #, c-format msgid "WITH query is not recursive" msgstr "la consulta WITH no es recursiva" -#: parser/parse_cte.c:457 +#: parser/parse_cte.c:451 #, c-format msgid "with a SEARCH or CYCLE clause, the left side of the UNION must be a SELECT" msgstr "con una cláusula SEARCH o CYCLE, el lado izquierdo de UNION debe ser un SELECT" -#: parser/parse_cte.c:462 +#: parser/parse_cte.c:456 #, c-format msgid "with a SEARCH or CYCLE clause, the right side of the UNION must be a SELECT" msgstr "con una cláusula SEARCH o CYCLE, el lado derecho de UNION debe ser un SELECT" -#: parser/parse_cte.c:477 +#: parser/parse_cte.c:471 #, c-format msgid "search column \"%s\" not in WITH query column list" msgstr "columna de búsqueda «%s» no se encuentra en la lista de columnas de la consulta WITH" -#: parser/parse_cte.c:484 +#: parser/parse_cte.c:478 #, c-format msgid "search column \"%s\" specified more than once" msgstr "columna de búsqueda «%s» fue especificada más de una vez" -#: parser/parse_cte.c:493 +#: parser/parse_cte.c:487 #, c-format msgid "search sequence column name \"%s\" already used in WITH query column list" msgstr "el nombre para la columna de secuencia de búsqueda «%s» ya ha sido utilizado en la lista de columnas de la consulta WITH" -#: parser/parse_cte.c:510 +#: parser/parse_cte.c:504 #, c-format msgid "cycle column \"%s\" not in WITH query column list" msgstr "la columna de ciclo «%s» no se encuentra en la lista de columnas de la consulta WITH" -#: parser/parse_cte.c:517 +#: parser/parse_cte.c:511 #, c-format msgid "cycle column \"%s\" specified more than once" msgstr "columna de ciclo «%s» fue especificada más de una vez" -#: parser/parse_cte.c:526 +#: parser/parse_cte.c:520 #, c-format msgid "cycle mark column name \"%s\" already used in WITH query column list" msgstr "el nombre para la columna de marca de ciclo «%s» ya ha sido utilizada en la lista de columnas de la consulta WITH" -#: parser/parse_cte.c:533 +#: parser/parse_cte.c:527 #, c-format msgid "cycle path column name \"%s\" already used in WITH query column list" msgstr "el nombre para la columna de ruta de ciclo «%s» ya ha sido utilizada en la lista de columnas de la consulta WITH" -#: parser/parse_cte.c:541 +#: parser/parse_cte.c:535 #, c-format msgid "cycle mark column name and cycle path column name are the same" msgstr "el nombre para la columna de marca de ciclo es igual que el nombre para la columna de ruta de ciclo" -#: parser/parse_cte.c:551 +#: parser/parse_cte.c:545 #, c-format msgid "search sequence column name and cycle mark column name are the same" msgstr "el nombre para la columna de secuencia de búsqueda es igual que el nombre para la columna de marca de ciclo" -#: parser/parse_cte.c:558 +#: parser/parse_cte.c:552 #, c-format msgid "search sequence column name and cycle path column name are the same" msgstr "el nombre para la columna de secuencia de búsqueda es igual que el nombre para la columna de ruta de ciclo" -#: parser/parse_cte.c:642 +#: parser/parse_cte.c:636 #, c-format msgid "WITH query \"%s\" has %d columns available but %d columns specified" msgstr "la consulta WITH «%s» tiene %d columnas disponibles pero se especificaron %d" -#: parser/parse_cte.c:822 +#: parser/parse_cte.c:816 #, c-format msgid "mutual recursion between WITH items is not implemented" msgstr "la recursión mutua entre elementos de WITH no está implementada" -#: parser/parse_cte.c:874 +#: parser/parse_cte.c:868 #, c-format msgid "recursive query \"%s\" must not contain data-modifying statements" msgstr "la consulta recursiva «%s» no debe contener sentencias que modifiquen datos" -#: parser/parse_cte.c:882 +#: parser/parse_cte.c:876 #, c-format msgid "recursive query \"%s\" does not have the form non-recursive-term UNION [ALL] recursive-term" msgstr "la consulta recursiva «%s» no tiene la forma término-no-recursivo UNION [ALL] término-recursivo" -#: parser/parse_cte.c:926 +#: parser/parse_cte.c:911 #, c-format msgid "ORDER BY in a recursive query is not implemented" msgstr "ORDER BY no está implementado en una consulta recursiva" -#: parser/parse_cte.c:932 +#: parser/parse_cte.c:917 #, c-format msgid "OFFSET in a recursive query is not implemented" msgstr "OFFSET no está implementado en una consulta recursiva" -#: parser/parse_cte.c:938 +#: parser/parse_cte.c:923 #, c-format msgid "LIMIT in a recursive query is not implemented" msgstr "LIMIT no está implementado en una consulta recursiva" -#: parser/parse_cte.c:944 +#: parser/parse_cte.c:929 #, c-format msgid "FOR UPDATE/SHARE in a recursive query is not implemented" msgstr "FOR UPDATE/SHARE no está implementado en una consulta recursiva" -#: parser/parse_cte.c:1001 +#: parser/parse_cte.c:1008 #, c-format msgid "recursive reference to query \"%s\" must not appear more than once" msgstr "la referencia recursiva a la consulta «%s» no debe aparecer más de una vez" -#: parser/parse_expr.c:294 +#: parser/parse_expr.c:313 #, c-format msgid "DEFAULT is not allowed in this context" msgstr "DEFAULT no está permitido en este contexto" -#: parser/parse_expr.c:371 parser/parse_relation.c:3687 -#: parser/parse_relation.c:3697 parser/parse_relation.c:3715 -#: parser/parse_relation.c:3722 parser/parse_relation.c:3736 +#: parser/parse_expr.c:406 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 "no existe la columna %s.%s" -#: parser/parse_expr.c:383 +#: parser/parse_expr.c:418 #, c-format msgid "column \"%s\" not found in data type %s" msgstr "la columna «%s» no fue encontrado en el tipo %s" -#: parser/parse_expr.c:389 +#: parser/parse_expr.c:424 #, c-format msgid "could not identify column \"%s\" in record data type" msgstr "no se pudo identificar la columna «%s» en el tipo de dato record" -#: parser/parse_expr.c:395 +#: parser/parse_expr.c:430 #, c-format msgid "column notation .%s applied to type %s, which is not a composite type" msgstr "la notación de columna .%s fue aplicada al tipo %s, que no es un tipo compuesto" -#: parser/parse_expr.c:426 parser/parse_target.c:733 +#: parser/parse_expr.c:461 parser/parse_target.c:732 #, c-format msgid "row expansion via \"*\" is not supported here" msgstr "la expansión de filas a través de «*» no está soportado aquí" -#: parser/parse_expr.c:548 +#: parser/parse_expr.c:584 msgid "cannot use column reference in DEFAULT expression" msgstr "no se pueden usar referencias a columnas en una cláusula DEFAULT" -#: parser/parse_expr.c:551 +#: parser/parse_expr.c:587 msgid "cannot use column reference in partition bound expression" msgstr "no se pueden usar referencias a columnas en expresión de borde de partición" -#: parser/parse_expr.c:810 parser/parse_relation.c:833 -#: parser/parse_relation.c:915 parser/parse_target.c:1225 +#: parser/parse_expr.c:846 parser/parse_relation.c:833 +#: parser/parse_relation.c:915 parser/parse_target.c:1238 #, c-format msgid "column reference \"%s\" is ambiguous" msgstr "la referencia a la columna «%s» es ambigua" -#: parser/parse_expr.c:866 parser/parse_param.c:110 parser/parse_param.c:142 +#: parser/parse_expr.c:902 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 "no hay parámetro $%d" -#: parser/parse_expr.c:1066 +#: parser/parse_expr.c:1102 #, c-format msgid "NULLIF requires = operator to yield boolean" msgstr "NULLIF requiere que el operador = retorne boolean" #. translator: %s is name of a SQL construct, eg NULLIF -#: parser/parse_expr.c:1072 parser/parse_expr.c:3007 +#: parser/parse_expr.c:1108 parser/parse_expr.c:3069 #, c-format msgid "%s must not return a set" msgstr "%s no debe retornar un conjunto" -#: parser/parse_expr.c:1457 parser/parse_expr.c:1489 +#: parser/parse_expr.c:1394 +#, c-format +msgid "MERGE_ACTION() can only be used in the RETURNING list of a MERGE command" +msgstr "MERGE_ACTION() sólo puede usarse en la lista RETURNING de una orden MERGE" + +#: parser/parse_expr.c:1518 parser/parse_expr.c:1550 #, c-format msgid "number of columns does not match number of values" msgstr "el número de columnas no coincide con el número de valores" -#: parser/parse_expr.c:1503 +#: parser/parse_expr.c:1564 #, c-format msgid "source for a multiple-column UPDATE item must be a sub-SELECT or ROW() expression" msgstr "el origen para un UPDATE de varias columnas debe ser una expresión sub-SELECT o ROW ()" #. translator: %s is name of a SQL construct, eg GROUP BY -#: parser/parse_expr.c:1698 parser/parse_expr.c:2180 parser/parse_func.c:2677 +#: parser/parse_expr.c:1759 parser/parse_expr.c:2242 parser/parse_func.c:2679 #, c-format msgid "set-returning functions are not allowed in %s" msgstr "no se permiten funciones que retornan conjuntos en %s" -#: parser/parse_expr.c:1761 +#: parser/parse_expr.c:1823 msgid "cannot use subquery in check constraint" msgstr "no se pueden usar subconsultas en una restricción «check»" -#: parser/parse_expr.c:1765 +#: parser/parse_expr.c:1827 msgid "cannot use subquery in DEFAULT expression" msgstr "no se puede usar una subconsulta en una expresión DEFAULT" -#: parser/parse_expr.c:1768 +#: parser/parse_expr.c:1830 msgid "cannot use subquery in index expression" msgstr "no se puede usar una subconsulta en una expresión de índice" -#: parser/parse_expr.c:1771 +#: parser/parse_expr.c:1833 msgid "cannot use subquery in index predicate" msgstr "no se puede usar una subconsulta en un predicado de índice" -#: parser/parse_expr.c:1774 +#: parser/parse_expr.c:1836 msgid "cannot use subquery in statistics expression" msgstr "no se puede usar una subconsulta en una expresión de estadísticas" -#: parser/parse_expr.c:1777 +#: parser/parse_expr.c:1839 msgid "cannot use subquery in transform expression" msgstr "no se puede usar una subconsulta en una expresión de transformación" -#: parser/parse_expr.c:1780 +#: parser/parse_expr.c:1842 msgid "cannot use subquery in EXECUTE parameter" msgstr "no se puede usar una subconsulta en un parámetro a EXECUTE" -#: parser/parse_expr.c:1783 +#: parser/parse_expr.c:1845 msgid "cannot use subquery in trigger WHEN condition" msgstr "no se puede usar una subconsulta en la condición WHEN de un disparador" -#: parser/parse_expr.c:1786 +#: parser/parse_expr.c:1848 msgid "cannot use subquery in partition bound" msgstr "no se puede usar una subconsulta en un borde de partición" -#: parser/parse_expr.c:1789 +#: parser/parse_expr.c:1851 msgid "cannot use subquery in partition key expression" msgstr "no se puede usar una subconsulta en una expresión de llave de partición" -#: parser/parse_expr.c:1792 +#: parser/parse_expr.c:1854 msgid "cannot use subquery in CALL argument" msgstr "no se puede usar una subconsulta en un argumento a CALL" -#: parser/parse_expr.c:1795 +#: parser/parse_expr.c:1857 msgid "cannot use subquery in COPY FROM WHERE condition" msgstr "no se puede usar una subconsulta en la condición WHERE de COPY FROM" -#: parser/parse_expr.c:1798 +#: parser/parse_expr.c:1860 msgid "cannot use subquery in column generation expression" msgstr "no se puede usar una subconsulta en una expresión de generación de columna" -#: parser/parse_expr.c:1851 parser/parse_expr.c:3632 +#: parser/parse_expr.c:1913 parser/parse_expr.c:3761 #, c-format msgid "subquery must return only one column" msgstr "la subconsulta debe retornar sólo una columna" -#: parser/parse_expr.c:1922 +#: parser/parse_expr.c:1984 #, c-format msgid "subquery has too many columns" msgstr "la subconsulta tiene demasiadas columnas" -#: parser/parse_expr.c:1927 +#: parser/parse_expr.c:1989 #, c-format msgid "subquery has too few columns" msgstr "la subconsulta tiene muy pocas columnas" -#: parser/parse_expr.c:2023 +#: parser/parse_expr.c:2085 #, c-format msgid "cannot determine type of empty array" msgstr "no se puede determinar el tipo de un array vacío" -#: parser/parse_expr.c:2024 +#: parser/parse_expr.c:2086 #, c-format msgid "Explicitly cast to the desired type, for example ARRAY[]::integer[]." msgstr "Agregue una conversión de tipo explícita al tipo deseado, por ejemplo ARRAY[]::integer[]." -#: parser/parse_expr.c:2038 +#: parser/parse_expr.c:2100 #, c-format msgid "could not find element type for data type %s" msgstr "no se pudo encontrar el tipo de dato de elemento para el tipo de dato %s" -#: parser/parse_expr.c:2121 -#, fuzzy, c-format -#| msgid "target lists can have at most %d entries" +#: parser/parse_expr.c:2183 +#, c-format msgid "ROW expressions can have at most %d entries" -msgstr "las listas de resultados pueden tener a lo más %d entradas" +msgstr "las expresiones ROW pueden tener a lo más %d entradas" -#: parser/parse_expr.c:2326 +#: parser/parse_expr.c:2388 #, c-format msgid "unnamed XML attribute value must be a column reference" msgstr "el valor del atributo XML sin nombre debe ser una referencia a una columna" -#: parser/parse_expr.c:2327 +#: parser/parse_expr.c:2389 #, c-format msgid "unnamed XML element value must be a column reference" msgstr "el valor del elemento XML sin nombre debe ser una referencia a una columna" -#: parser/parse_expr.c:2342 +#: parser/parse_expr.c:2404 #, c-format msgid "XML attribute name \"%s\" appears more than once" msgstr "el nombre de atributo XML «%s» aparece más de una vez" -#: parser/parse_expr.c:2450 +#: parser/parse_expr.c:2512 #, c-format msgid "cannot cast XMLSERIALIZE result to %s" msgstr "no se puede convertir el resultado de XMLSERIALIZE a %s" -#: parser/parse_expr.c:2764 parser/parse_expr.c:2960 +#: parser/parse_expr.c:2826 parser/parse_expr.c:3022 #, c-format msgid "unequal number of entries in row expressions" msgstr "número desigual de entradas en expresiones de registro" -#: parser/parse_expr.c:2774 +#: parser/parse_expr.c:2836 #, c-format msgid "cannot compare rows of zero length" msgstr "no se pueden comparar registros de largo cero" -#: parser/parse_expr.c:2799 +#: parser/parse_expr.c:2861 #, c-format msgid "row comparison operator must yield type boolean, not type %s" msgstr "el operador de comparación de registros debe retornar tipo boolean, no tipo %s" -#: parser/parse_expr.c:2806 +#: parser/parse_expr.c:2868 #, c-format msgid "row comparison operator must not return a set" msgstr "el operador de comparación de registros no puede retornar un conjunto" -#: parser/parse_expr.c:2865 parser/parse_expr.c:2906 +#: parser/parse_expr.c:2927 parser/parse_expr.c:2968 #, c-format msgid "could not determine interpretation of row comparison operator %s" msgstr "no se pudo determinar la interpretación del operador de comparación de registros %s" -#: parser/parse_expr.c:2867 +#: parser/parse_expr.c:2929 #, c-format msgid "Row comparison operators must be associated with btree operator families." msgstr "Los operadores de comparación de registros deben estar asociados a una familia de operadores btree." -#: parser/parse_expr.c:2908 +#: parser/parse_expr.c:2970 #, c-format msgid "There are multiple equally-plausible candidates." msgstr "Hay múltiples candidatos igualmente plausibles." -#: parser/parse_expr.c:3001 +#: parser/parse_expr.c:3063 #, c-format msgid "IS DISTINCT FROM requires = operator to yield boolean" msgstr "IS DISTINCT FROM requiere que el operador = retorne boolean" -#: parser/parse_expr.c:3254 +#: parser/parse_expr.c:3303 #, c-format msgid "JSON ENCODING clause is only allowed for bytea input type" -msgstr "" +msgstr "la cláusula ENCODING de JSON sólo está permitida para el tipo de entrada bytea" -#: parser/parse_expr.c:3261 +#: parser/parse_expr.c:3367 #, c-format -msgid "FORMAT JSON has no effect for json and jsonb types" -msgstr "" +msgid "cannot use non-string types with implicit FORMAT JSON clause" +msgstr "no se puede usar tipos que no son string con la cláusula implícita FORMAT JSON" -#: parser/parse_expr.c:3284 +#: parser/parse_expr.c:3368 #, c-format -msgid "cannot use non-string types with implicit FORMAT JSON clause" -msgstr "" +msgid "cannot use non-string types with explicit FORMAT JSON clause" +msgstr "no se puede usar tipos que no son string con la cláusula explítica FORMAT JSON" -#: parser/parse_expr.c:3354 -#, fuzzy, c-format -#| msgid "cannot cast jsonb string to type %s" +#: parser/parse_expr.c:3457 +#, c-format msgid "cannot use JSON format with non-string output types" -msgstr "no se puede convertir un string jsonb a tipo %s" +msgstr "no se puede usar formato JSON con tipos de salida que no son string" -#: parser/parse_expr.c:3367 +#: parser/parse_expr.c:3470 #, c-format msgid "cannot set JSON encoding for non-bytea output types" -msgstr "" +msgstr "no se puede definir codificación JSON para tipos de salida que no sea bytea" -#: parser/parse_expr.c:3372 -#, fuzzy, c-format -#| msgid "unsupported format code: %d" +#: parser/parse_expr.c:3475 +#, c-format msgid "unsupported JSON encoding" -msgstr "código de formato no soportado: %d" +msgstr "codificación JSON no soportada" -#: parser/parse_expr.c:3373 +#: parser/parse_expr.c:3476 #, c-format msgid "Only UTF8 JSON encoding is supported." -msgstr "" +msgstr "Sólo la codificación JSON UTF8 está soportada." -#: parser/parse_expr.c:3410 -#, fuzzy, c-format -#| msgid "return type %s is not supported for SQL functions" +#: parser/parse_expr.c:3513 +#, c-format msgid "returning SETOF types is not supported in SQL/JSON functions" -msgstr "el tipo de retorno %s no es soportado en funciones SQL" +msgstr "retornar tipos SETOF no está soportado en funciones SQL/JSON" + +#: parser/parse_expr.c:3518 +#, c-format +msgid "returning pseudo-types is not supported in SQL/JSON functions" +msgstr "retornar pseudo-tipos no está soportado en funciones SQL/JSON" -#: parser/parse_expr.c:3711 parser/parse_func.c:865 +#: parser/parse_expr.c:3846 parser/parse_func.c:866 #, c-format msgid "aggregate ORDER BY is not implemented for window functions" msgstr "el ORDER BY de funciones de agregación no está implementado para funciones de ventana deslizante" -#: parser/parse_expr.c:3930 +#: parser/parse_expr.c:4069 #, c-format msgid "cannot use JSON FORMAT ENCODING clause for non-bytea input types" +msgstr "no se puede usar la cláusula FORMAT ENCODING de JSON para tipos de entrada que no son bytea" + +#: parser/parse_expr.c:4089 +#, c-format +msgid "cannot use type %s in IS JSON predicate" +msgstr "no se puede tipo %s en predicado IS JSON" + +#: parser/parse_expr.c:4115 parser/parse_expr.c:4235 +#, fuzzy, c-format +msgid "cannot use RETURNING type %s in %s" +msgstr "no se puede convertir el tipo %s a %s" + +#: parser/parse_expr.c:4164 +#, c-format +msgid "cannot use non-string types with WITH UNIQUE KEYS clause" +msgstr "no se puede usar tipos que no sean strings con cláusula WITH UNIQUE KEYS" + +#: parser/parse_expr.c:4238 +#, c-format +msgid "Try returning a string type or bytea." +msgstr "Intente retornando un tipo de string o bytea." + +#: parser/parse_expr.c:4303 +#, 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:4316 +#, 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" + +#: parser/parse_expr.c:4329 parser/parse_expr.c:4396 +#, fuzzy, c-format +msgid "invalid ON EMPTY behavior" +msgstr "especificación ON EMPTY no válida" + +#: parser/parse_expr.c:4330 +#, c-format +msgid "Only ERROR, NULL, EMPTY [ ARRAY ], EMPTY OBJECT, or DEFAULT expression is allowed in ON EMPTY for JSON_QUERY()." +msgstr "Sólo ERROR, NULL, EMPTY [ ARRAY ], EMPTY OBJECT o expresión DEFAULT se permite en ON EMPTY para JSON_QUERY()." + +#: parser/parse_expr.c:4335 parser/parse_expr.c:4402 +#, fuzzy, c-format +msgid "invalid ON EMPTY behavior for column \"%s\"" +msgstr "el secreto SCRAM para el usuario «%s» no es válido" + +#: parser/parse_expr.c:4337 +#, c-format +msgid "Only ERROR, NULL, EMPTY [ ARRAY ], EMPTY OBJECT, or DEFAULT expression is allowed in ON EMPTY for formatted columns." msgstr "" -#: parser/parse_expr.c:3950 +#: parser/parse_expr.c:4351 parser/parse_expr.c:4375 parser/parse_expr.c:4415 +#: parser/parse_jsontable.c:94 #, fuzzy, c-format -#| msgid "cannot use subquery in index predicate" -msgid "cannot use type %s in IS JSON predicate" -msgstr "no se puede usar una subconsulta en un predicado de índice" +msgid "invalid ON ERROR behavior" +msgstr "especificación ON UPDATE no válida" + +#: parser/parse_expr.c:4352 +#, c-format +msgid "Only ERROR, NULL, EMPTY [ ARRAY ], EMPTY OBJECT, or DEFAULT expression is allowed in ON ERROR for JSON_QUERY()." +msgstr "" + +#: parser/parse_expr.c:4357 parser/parse_expr.c:4381 parser/parse_expr.c:4421 +#, fuzzy, c-format +msgid "invalid ON ERROR behavior for column \"%s\"" +msgstr "el secreto SCRAM para el usuario «%s» no es válido" + +#: parser/parse_expr.c:4359 +#, c-format +msgid "Only ERROR, NULL, EMPTY [ ARRAY ], EMPTY OBJECT, or DEFAULT expression is allowed in ON ERROR for formatted columns." +msgstr "" + +#: parser/parse_expr.c:4376 +#, c-format +msgid "Only ERROR, TRUE, FALSE, or UNKNOWN is allowed in ON ERROR for JSON_EXISTS()." +msgstr "" + +#: parser/parse_expr.c:4383 +#, c-format +msgid "Only ERROR, TRUE, FALSE, or UNKNOWN is allowed in ON ERROR for EXISTS columns." +msgstr "" + +#: parser/parse_expr.c:4397 +#, c-format +msgid "Only ERROR, NULL, or DEFAULT expression is allowed in ON EMPTY for JSON_VALUE()." +msgstr "" + +#: parser/parse_expr.c:4404 +#, c-format +msgid "Only ERROR, NULL, or DEFAULT expression is allowed in ON EMPTY for scalar columns." +msgstr "" + +#: parser/parse_expr.c:4416 +#, c-format +msgid "Only ERROR, NULL, or DEFAULT expression is allowed in ON ERROR for JSON_VALUE()." +msgstr "" + +#: parser/parse_expr.c:4423 +#, c-format +msgid "Only ERROR, NULL, or DEFAULT expression is allowed in ON ERROR for scalar columns." +msgstr "" + +#: parser/parse_expr.c:4452 +#, fuzzy, c-format +msgid "JSON path expression must be of type %s, not of type %s" +msgstr "el argumento de %s debe ser de tipo %s, no tipo %s" + +#: parser/parse_expr.c:4670 +#, 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:4675 +#, fuzzy, c-format +msgid "DEFAULT expression must not contain column references" +msgstr "las expresiones en la llave de particionamiento no pueden contener referencias a columnas de sistema" + +#: parser/parse_expr.c:4680 +#, fuzzy, c-format +msgid "DEFAULT expression must not return a set" +msgstr "%s no debe retornar un conjunto" + +#: parser/parse_expr.c:4756 parser/parse_expr.c:4765 +#, fuzzy, c-format +msgid "cannot cast behavior expression of type %s to %s" +msgstr "no se puede convertir el tipo %s a %s" + +#: parser/parse_expr.c:4759 +#, fuzzy, c-format +msgid "You will need to explicitly cast the expression to type %s." +msgstr "Necesitará reescribir la expresión o aplicarle una conversión de tipo." #: parser/parse_func.c:194 #, c-format @@ -17631,7 +18084,7 @@ msgstr "nombre de argumento «%s» especificado más de una vez" msgid "positional argument cannot follow named argument" msgstr "un argumento posicional no puede seguir a un argumento con nombre" -#: parser/parse_func.c:287 parser/parse_func.c:2367 +#: parser/parse_func.c:287 parser/parse_func.c:2368 #, c-format msgid "%s is not a procedure" msgstr "%s no es un procedimiento" @@ -17750,7 +18203,7 @@ msgstr "No se pudo escoger la función más adecuada. Puede ser necesario agrega msgid "No aggregate function matches the given name and argument types. Perhaps you misplaced ORDER BY; ORDER BY must appear after all regular arguments of the aggregate." msgstr "Ninguna función coincide en el nombre y tipos de argumentos. Quizás puso ORDER BY en una mala posición; ORDER BY debe aparecer después de todos los argumentos normales de la función de agregación." -#: parser/parse_func.c:622 parser/parse_func.c:2410 +#: parser/parse_func.c:622 parser/parse_func.c:2411 #, c-format msgid "procedure %s does not exist" msgstr "no existe el procedimiento «%s»" @@ -17770,7 +18223,7 @@ msgstr "Ninguna función coincide en el nombre y tipos de argumentos. Puede ser msgid "VARIADIC argument must be an array" msgstr "el parámetro VARIADIC debe ser un array" -#: parser/parse_func.c:791 parser/parse_func.c:855 +#: parser/parse_func.c:791 parser/parse_func.c:856 #, c-format msgid "%s(*) must be used to call a parameterless aggregate function" msgstr "%s(*) debe ser usado para invocar una función de agregación sin parámetros" @@ -17785,267 +18238,262 @@ msgstr "las funciones de agregación no pueden retornar conjuntos" msgid "aggregates cannot use named arguments" msgstr "las funciones de agregación no pueden usar argumentos con nombre" -#: parser/parse_func.c:845 +#: parser/parse_func.c:846 #, c-format msgid "DISTINCT is not implemented for window functions" msgstr "DISTINCT no está implementado para funciones de ventana deslizante" -#: parser/parse_func.c:874 +#: parser/parse_func.c:875 #, c-format msgid "FILTER is not implemented for non-aggregate window functions" msgstr "FILTER no está implementado para funciones de ventana deslizante" -#: parser/parse_func.c:883 +#: parser/parse_func.c:884 #, c-format msgid "window function calls cannot contain set-returning function calls" msgstr "las llamadas a funciones de ventana no pueden contener llamadas a funciones que retornan conjuntos" -#: parser/parse_func.c:891 +#: parser/parse_func.c:892 #, c-format msgid "window functions cannot return sets" msgstr "las funciones de ventana deslizante no pueden retornar conjuntos" -#: parser/parse_func.c:2166 parser/parse_func.c:2439 +#: parser/parse_func.c:2167 parser/parse_func.c:2440 #, c-format msgid "could not find a function named \"%s\"" msgstr "no se pudo encontrar una función llamada «%s»" -#: parser/parse_func.c:2180 parser/parse_func.c:2457 +#: parser/parse_func.c:2181 parser/parse_func.c:2458 #, c-format msgid "function name \"%s\" is not unique" msgstr "el nombre de función «%s» no es único" -#: parser/parse_func.c:2182 parser/parse_func.c:2460 +#: parser/parse_func.c:2183 parser/parse_func.c:2461 #, c-format msgid "Specify the argument list to select the function unambiguously." msgstr "Especifique la lista de argumentos para seleccionar la función sin ambigüedad." -#: parser/parse_func.c:2226 +#: parser/parse_func.c:2227 #, c-format msgid "procedures cannot have more than %d argument" msgid_plural "procedures cannot have more than %d arguments" msgstr[0] "los procedimientos no pueden tener más de %d argumento" msgstr[1] "los procedimientos no pueden tener más de %d argumentos" -#: parser/parse_func.c:2357 +#: parser/parse_func.c:2358 #, c-format msgid "%s is not a function" msgstr "«%s» no es una función" -#: parser/parse_func.c:2377 +#: parser/parse_func.c:2378 #, c-format msgid "function %s is not an aggregate" msgstr "la función %s no es una función de agregación" -#: parser/parse_func.c:2405 +#: parser/parse_func.c:2406 #, c-format msgid "could not find a procedure named \"%s\"" msgstr "no se pudo encontrar un procedimiento llamado «%s»" -#: parser/parse_func.c:2419 +#: parser/parse_func.c:2420 #, c-format msgid "could not find an aggregate named \"%s\"" msgstr "no se pudo encontrar una función de agregación llamada «%s»" -#: parser/parse_func.c:2424 +#: parser/parse_func.c:2425 #, c-format msgid "aggregate %s(*) does not exist" msgstr "no existe la función de agregación %s(*)" -#: parser/parse_func.c:2429 +#: parser/parse_func.c:2430 #, c-format msgid "aggregate %s does not exist" msgstr "no existe la función de agregación %s" -#: parser/parse_func.c:2465 +#: parser/parse_func.c:2466 #, c-format msgid "procedure name \"%s\" is not unique" msgstr "el nombre de procedimiento «%s» no es única" -#: parser/parse_func.c:2468 +#: parser/parse_func.c:2469 #, c-format msgid "Specify the argument list to select the procedure unambiguously." msgstr "Especifique la lista de argumentos para seleccionar el procedimiento sin ambigüedad." -#: parser/parse_func.c:2473 +#: parser/parse_func.c:2474 #, c-format msgid "aggregate name \"%s\" is not unique" msgstr "el atributo de la función de agregación «%s» no es único" -#: parser/parse_func.c:2476 +#: parser/parse_func.c:2477 #, c-format msgid "Specify the argument list to select the aggregate unambiguously." msgstr "Especifique la lista de argumentos para seleccionar la función de agregación sin ambigüedad." -#: parser/parse_func.c:2481 +#: parser/parse_func.c:2482 #, c-format msgid "routine name \"%s\" is not unique" msgstr "el nombre de rutina «%s» no es único" -#: parser/parse_func.c:2484 +#: parser/parse_func.c:2485 #, c-format msgid "Specify the argument list to select the routine unambiguously." msgstr "Especifique la lista de argumentos para seleccionar la rutina sin ambigüedad." -#: parser/parse_func.c:2539 +#: parser/parse_func.c:2540 msgid "set-returning functions are not allowed in JOIN conditions" msgstr "no se permiten funciones que retornan conjuntos en condiciones JOIN" -#: parser/parse_func.c:2560 +#: parser/parse_func.c:2561 msgid "set-returning functions are not allowed in policy expressions" msgstr "no se permiten funciones que retornan conjuntos en expresiones de política" -#: parser/parse_func.c:2576 +#: parser/parse_func.c:2577 msgid "set-returning functions are not allowed in window definitions" msgstr "no se permiten funciones que retornan conjuntos definiciones de ventana deslizante" -#: parser/parse_func.c:2613 -#, fuzzy -#| msgid "set-returning functions are not allowed in trigger WHEN conditions" +#: parser/parse_func.c:2615 msgid "set-returning functions are not allowed in MERGE WHEN conditions" -msgstr "no se permiten funciones que retornan conjuntos en condiciones WHEN de un disparador" +msgstr "no se permiten funciones que retornan conjuntos en condiciones MERGE WHEN" -#: parser/parse_func.c:2617 +#: parser/parse_func.c:2619 msgid "set-returning functions are not allowed in check constraints" msgstr "no se permiten funciones de que retornan conjuntos en restricciones «check»" -#: parser/parse_func.c:2621 +#: parser/parse_func.c:2623 msgid "set-returning functions are not allowed in DEFAULT expressions" msgstr "no se permiten funciones que retornan conjuntos en expresiones DEFAULT" -#: parser/parse_func.c:2624 +#: parser/parse_func.c:2626 msgid "set-returning functions are not allowed in index expressions" msgstr "no se permiten funciones que retornan conjuntos en expresiones de índice" -#: parser/parse_func.c:2627 +#: parser/parse_func.c:2629 msgid "set-returning functions are not allowed in index predicates" msgstr "no se permiten funciones que retornan conjuntos en predicados de índice" -#: parser/parse_func.c:2630 +#: parser/parse_func.c:2632 msgid "set-returning functions are not allowed in statistics expressions" msgstr "no se permiten funciones que retornan conjuntos en expresiones de estadísticas" -#: parser/parse_func.c:2633 +#: parser/parse_func.c:2635 msgid "set-returning functions are not allowed in transform expressions" msgstr "no se permiten funciones que retornan conjuntos en expresiones de transformación" -#: parser/parse_func.c:2636 +#: parser/parse_func.c:2638 msgid "set-returning functions are not allowed in EXECUTE parameters" msgstr "no se permiten funciones que retornan conjuntos en parámetros a EXECUTE" -#: parser/parse_func.c:2639 +#: parser/parse_func.c:2641 msgid "set-returning functions are not allowed in trigger WHEN conditions" msgstr "no se permiten funciones que retornan conjuntos en condiciones WHEN de un disparador" -#: parser/parse_func.c:2642 +#: parser/parse_func.c:2644 msgid "set-returning functions are not allowed in partition bound" msgstr "no se permiten funciones que retornan conjuntos en bordes de partición" -#: parser/parse_func.c:2645 +#: parser/parse_func.c:2647 msgid "set-returning functions are not allowed in partition key expressions" msgstr "no se permiten funciones que retornan conjuntos en expresiones de llave de particionamiento" -#: parser/parse_func.c:2648 +#: parser/parse_func.c:2650 msgid "set-returning functions are not allowed in CALL arguments" msgstr "no se permiten funciones que retornan conjuntos en argumentos de CALL" -#: parser/parse_func.c:2651 +#: parser/parse_func.c:2653 msgid "set-returning functions are not allowed in COPY FROM WHERE conditions" msgstr "no se permiten funciones que retornan conjuntos en las condiciones WHERE de COPY FROM" -#: parser/parse_func.c:2654 +#: parser/parse_func.c:2656 msgid "set-returning functions are not allowed in column generation expressions" msgstr "no se permiten funciones que retornan conjuntos en expresiones de generación de columna" -#: parser/parse_merge.c:119 +#: parser/parse_jsontable.c:95 +#, c-format +msgid "Only EMPTY [ ARRAY ] or ERROR is allowed in the top-level ON ERROR clause." +msgstr "Sólo EMPTY [ ARRAY ] o ERROR son permitidos en la cláusula ON ERROR de nivel superior." + +#: parser/parse_jsontable.c:189 parser/parse_jsontable.c:203 +#, c-format +msgid "duplicate JSON_TABLE column or path name: %s" +msgstr "nombre de columna o de “path” duplicada en JSON_TABLE: %s" + +#: parser/parse_jsontable.c:295 #, fuzzy, c-format -#| msgid "WHERE CURRENT OF is not supported for this table type" +msgid "cannot use more than one FOR ORDINALITY column" +msgstr "sólo se permite una columna FOR ORDINALITY" + +#: parser/parse_merge.c:129 +#, c-format msgid "WITH RECURSIVE is not supported for MERGE statement" -msgstr "WHERE CURRENT OF no está soportado para este tipo de tabla" +msgstr "WITH RECURSIVE no está soportado para la sentencia MERGE" -#: parser/parse_merge.c:161 +#: parser/parse_merge.c:176 #, c-format msgid "unreachable WHEN clause specified after unconditional WHEN clause" msgstr "se especificó una cláusula WHEN no alcanzable después de una cláusula WHEN incondicional" -#: parser/parse_merge.c:191 -#, fuzzy, c-format -#| msgid "LIKE is not supported for creating foreign tables" -msgid "MERGE is not supported for relations with rules." -msgstr "LIKE no está soportado para la creación de tablas foráneas" - -#: parser/parse_merge.c:208 +#: parser/parse_merge.c:222 #, c-format msgid "name \"%s\" specified more than once" msgstr "el nombre «%s» fue especificado más de una vez" -#: parser/parse_merge.c:210 +#: parser/parse_merge.c:224 #, c-format msgid "The name is used both as MERGE target table and data source." msgstr "El nombre es usado tanto como tabla de destino de MERGE como como tabla de origen." -#: parser/parse_node.c:87 +#: parser/parse_node.c:82 #, c-format msgid "target lists can have at most %d entries" msgstr "las listas de resultados pueden tener a lo más %d entradas" -#: parser/parse_oper.c:123 parser/parse_oper.c:690 +#: parser/parse_oper.c:114 parser/parse_oper.c:678 #, c-format msgid "postfix operators are not supported" msgstr "los operadores postfix no están soportados" -#: parser/parse_oper.c:130 parser/parse_oper.c:649 utils/adt/regproc.c:509 -#: utils/adt/regproc.c:683 -#, c-format -msgid "operator does not exist: %s" -msgstr "el operador no existe: %s" - -#: parser/parse_oper.c:229 +#: parser/parse_oper.c:217 #, c-format msgid "Use an explicit ordering operator or modify the query." msgstr "Use un operador de ordenamiento explícito o modifique la consulta." -#: parser/parse_oper.c:485 +#: parser/parse_oper.c:473 #, c-format msgid "operator requires run-time type coercion: %s" msgstr "el operador requiere conversión explícita de tipos: %s" -#: parser/parse_oper.c:641 +#: parser/parse_oper.c:629 #, c-format msgid "operator is not unique: %s" msgstr "el operador no es único: %s" -#: parser/parse_oper.c:643 +#: parser/parse_oper.c:631 #, c-format msgid "Could not choose a best candidate operator. You might need to add explicit type casts." msgstr "No se pudo escoger el operador más adecuado. Puede ser necesario agregar conversiones explícitas de tipos." -#: parser/parse_oper.c:652 +#: parser/parse_oper.c:640 #, c-format msgid "No operator matches the given name and argument type. You might need to add an explicit type cast." msgstr "Ningún operador coincide en el nombre y tipo de argumento. Puede ser necesario agregar conversión explícita de tipos." -#: parser/parse_oper.c:654 +#: parser/parse_oper.c:642 #, c-format msgid "No operator matches the given name and argument types. You might need to add explicit type casts." msgstr "Ningún operador coincide en el nombre y tipos de argumentos. Puede ser necesario agregar conversión explícita de tipos." -#: parser/parse_oper.c:714 parser/parse_oper.c:828 -#, c-format -msgid "operator is only a shell: %s" -msgstr "el operador está inconcluso: %s" - -#: parser/parse_oper.c:816 +#: parser/parse_oper.c:803 #, c-format msgid "op ANY/ALL (array) requires array on right side" msgstr "op ANY/ALL (array) requiere un array al lado derecho" -#: parser/parse_oper.c:858 +#: parser/parse_oper.c:844 #, c-format msgid "op ANY/ALL (array) requires operator to yield boolean" msgstr "op ANY/ALL (array) requiere un operador que entregue boolean" -#: parser/parse_oper.c:863 +#: parser/parse_oper.c:849 #, c-format msgid "op ANY/ALL (array) requires operator not to return a set" msgstr "op ANY/ALL (array) requiere un operador que no retorne un conjunto" @@ -18075,13 +18523,13 @@ msgstr "la referencia a la tabla %u es ambigua" msgid "table name \"%s\" specified more than once" msgstr "el nombre de tabla «%s» fue especificado más de una vez" -#: parser/parse_relation.c:494 parser/parse_relation.c:3629 -#: parser/parse_relation.c:3638 +#: parser/parse_relation.c:494 parser/parse_relation.c:3633 +#: parser/parse_relation.c:3642 #, c-format msgid "invalid reference to FROM-clause entry for table \"%s\"" msgstr "referencia a la entrada de la cláusula FROM para la tabla «%s» no válida" -#: parser/parse_relation.c:498 parser/parse_relation.c:3640 +#: parser/parse_relation.c:498 parser/parse_relation.c:3644 #, c-format msgid "There is an entry for table \"%s\", but it cannot be referenced from this part of the query." msgstr "Hay una entrada para la tabla «%s», pero no puede ser referenciada desde esta parte de la consulta." @@ -18102,23 +18550,22 @@ msgid "cannot use system column \"%s\" in column generation expression" msgstr "no se puede usar la columna de sistema «%s» en una expresión de generación de columna" #: parser/parse_relation.c:723 -#, fuzzy, c-format -#| msgid "cannot use system column \"%s\" in partition key" +#, c-format msgid "cannot use system column \"%s\" in MERGE WHEN condition" -msgstr "no se puede usar la columna de sistema «%s» en llave de particionamiento" +msgstr "no se puede usar la columna de sistema «%s» en condición MERGE WHEN" -#: parser/parse_relation.c:1236 parser/parse_relation.c:1690 -#: parser/parse_relation.c:2387 +#: parser/parse_relation.c:1236 parser/parse_relation.c:1691 +#: parser/parse_relation.c:2384 #, c-format msgid "table \"%s\" has %d columns available but %d columns specified" msgstr "la tabla «%s» tiene %d columnas pero se especificaron %d" -#: parser/parse_relation.c:1444 +#: parser/parse_relation.c:1445 #, c-format msgid "There is a WITH item named \"%s\", but it cannot be referenced from this part of the query." msgstr "Hay un elemento WITH llamado «%s», pero no puede ser referenciada desde esta parte de la consulta." -#: parser/parse_relation.c:1446 +#: parser/parse_relation.c:1447 #, c-format msgid "Use WITH RECURSIVE, or re-order the WITH items to remove forward references." msgstr "Use WITH RECURSIVE, o reordene los elementos de WITH para eliminar referencias hacia adelante." @@ -18144,141 +18591,136 @@ msgid "a column definition list is required for functions returning \"record\"" msgstr "la lista de definición de columnas es obligatoria para funciones que retornan «record»" #: parser/parse_relation.c:1894 -#, fuzzy, c-format -#| msgid "target lists can have at most %d entries" +#, c-format msgid "column definition lists can have at most %d entries" -msgstr "las listas de resultados pueden tener a lo más %d entradas" +msgstr "las listas de definición de columnas pueden tener a lo más %d entradas" #: parser/parse_relation.c:1954 #, c-format msgid "function \"%s\" in FROM has unsupported return type %s" msgstr "la función «%s» en FROM tiene el tipo de retorno no soportado %s" -#: parser/parse_relation.c:1981 parser/parse_relation.c:2067 -#, fuzzy, c-format -#| msgid "joins can have at most %d columns" +#: parser/parse_relation.c:1981 parser/parse_relation.c:2066 +#, c-format msgid "functions in FROM can return at most %d columns" -msgstr "los joins pueden tener a lo más %d columnas" +msgstr "las funciones en FROM pueden tener a lo más %d columnas" -#: parser/parse_relation.c:2097 -#, fuzzy, c-format -#| msgid "table \"%s\" has %d columns available but %d columns specified" +#: parser/parse_relation.c:2096 +#, c-format msgid "%s function has %d columns available but %d columns specified" -msgstr "la tabla «%s» tiene %d columnas pero se especificaron %d" +msgstr "la función %s tiene %d columnas disponibles pero se especificaron %d" -#: parser/parse_relation.c:2179 +#: parser/parse_relation.c:2177 #, c-format msgid "VALUES lists \"%s\" have %d columns available but %d columns specified" msgstr "la lista VALUES «%s» tiene %d columnas disponibles pero se especificaron %d" -#: parser/parse_relation.c:2245 +#: parser/parse_relation.c:2242 #, c-format msgid "joins can have at most %d columns" msgstr "los joins pueden tener a lo más %d columnas" -#: parser/parse_relation.c:2270 -#, fuzzy, c-format -#| msgid "table \"%s\" has %d columns available but %d columns specified" +#: parser/parse_relation.c:2267 +#, c-format msgid "join expression \"%s\" has %d columns available but %d columns specified" -msgstr "la tabla «%s» tiene %d columnas pero se especificaron %d" +msgstr "la expresión de join «%s» tiene %d columnas disponibles pero se especificaron %d" -#: parser/parse_relation.c:2360 +#: parser/parse_relation.c:2357 #, c-format msgid "WITH query \"%s\" does not have a RETURNING clause" msgstr "la consulta WITH «%s» no tiene una cláusula RETURNING" -#: parser/parse_relation.c:3631 +#: parser/parse_relation.c:3635 #, c-format msgid "Perhaps you meant to reference the table alias \"%s\"." msgstr "Probablemente quiera hacer referencia al alias de la tabla «%s»." -#: parser/parse_relation.c:3643 +#: parser/parse_relation.c:3647 #, c-format msgid "To reference that table, you must mark this subquery with LATERAL." -msgstr "" +msgstr "Para hacer referencia a esa tabla, debe marcar esta subconsulta con LATERAL." -#: parser/parse_relation.c:3649 +#: parser/parse_relation.c:3653 #, c-format msgid "missing FROM-clause entry for table \"%s\"" msgstr "falta una entrada para la tabla «%s» en la cláusula FROM" -#: parser/parse_relation.c:3689 -#, fuzzy, c-format -#| msgid "There is a column named \"%s\" in table \"%s\", but it cannot be referenced from this part of the query." +#: parser/parse_relation.c:3693 +#, c-format msgid "There are columns named \"%s\", but they are in tables that cannot be referenced from this part of the query." -msgstr "Hay una columna llamada «%s» en la tabla «%s», pero no puede ser referenciada desde esta parte de la consulta." +msgstr "Hay columnas llamadas «%s», pero están en tablas que no pueden ser referenciadas desde esta parte de la consulta." -#: parser/parse_relation.c:3691 +#: parser/parse_relation.c:3695 #, c-format msgid "Try using a table-qualified name." -msgstr "" +msgstr "Intente usar un nombre calificado con nombre de tabla." -#: parser/parse_relation.c:3699 +#: parser/parse_relation.c:3703 #, c-format msgid "There is a column named \"%s\" in table \"%s\", but it cannot be referenced from this part of the query." msgstr "Hay una columna llamada «%s» en la tabla «%s», pero no puede ser referenciada desde esta parte de la consulta." -#: parser/parse_relation.c:3702 +#: parser/parse_relation.c:3706 #, c-format msgid "To reference that column, you must mark this subquery with LATERAL." -msgstr "" +msgstr "Para hacer referencia a esa columna, debe marcar esta subconsulta con LATERAL." -#: parser/parse_relation.c:3704 +#: parser/parse_relation.c:3708 #, c-format msgid "To reference that column, you must use a table-qualified name." -msgstr "" +msgstr "Para hacer referencia a esa columna, debe usar un nombre calificado con nombre de tabla." -#: parser/parse_relation.c:3724 +#: parser/parse_relation.c:3728 #, c-format msgid "Perhaps you meant to reference the column \"%s.%s\"." msgstr "Probablemente quiera hacer referencia a la columna «%s.%s»." -#: parser/parse_relation.c:3738 +#: parser/parse_relation.c:3742 #, c-format msgid "Perhaps you meant to reference the column \"%s.%s\" or the column \"%s.%s\"." msgstr "Probablemente quiera hacer referencia a la columna «%s.%s» o la columna «%s.%s»." -#: parser/parse_target.c:481 parser/parse_target.c:796 +#: parser/parse_target.c:480 parser/parse_target.c:795 #, c-format msgid "cannot assign to system column \"%s\"" msgstr "no se puede asignar a la columna de sistema «%s»" -#: parser/parse_target.c:509 +#: parser/parse_target.c:508 #, c-format msgid "cannot set an array element to DEFAULT" msgstr "no se puede definir un elemento de array a DEFAULT" -#: parser/parse_target.c:514 +#: parser/parse_target.c:513 #, c-format msgid "cannot set a subfield to DEFAULT" msgstr "no se puede definir un subcampo a DEFAULT" -#: parser/parse_target.c:588 +#: parser/parse_target.c:587 #, c-format msgid "column \"%s\" is of type %s but expression is of type %s" msgstr "la columna «%s» es de tipo %s pero la expresión es de tipo %s" -#: parser/parse_target.c:780 +#: parser/parse_target.c:779 #, c-format msgid "cannot assign to field \"%s\" of column \"%s\" because its type %s is not a composite type" msgstr "no se puede asignar al campo «%s» de la columna «%s» porque su tipo %s no es un tipo compuesto" -#: parser/parse_target.c:789 +#: parser/parse_target.c:788 #, c-format msgid "cannot assign to field \"%s\" of column \"%s\" because there is no such column in data type %s" msgstr "no se puede asignar al campo «%s» de la columna «%s» porque no existe esa columna en el tipo de dato %s" -#: parser/parse_target.c:869 +#: parser/parse_target.c:877 #, c-format msgid "subscripted assignment to \"%s\" requires type %s but expression is of type %s" msgstr "la asignación subindexada a «%s» requiere tipo %s pero la expresión es de tipo %s" -#: parser/parse_target.c:879 +#: parser/parse_target.c:887 #, c-format msgid "subfield \"%s\" is of type %s but expression is of type %s" msgstr "el subcampo «%s» es de tipo %s pero la expresión es de tipo %s" -#: parser/parse_target.c:1314 +#: parser/parse_target.c:1327 #, c-format msgid "SELECT * with no tables specified is not valid" msgstr "SELECT * sin especificar tablas no es válido" @@ -18298,8 +18740,8 @@ msgstr "la referencia a %%TYPE es inapropiada (demasiados nombres con punto): %s msgid "type reference %s converted to %s" msgstr "la referencia al tipo %s convertida a %s" -#: parser/parse_type.c:278 parser/parse_type.c:813 utils/cache/typcache.c:390 -#: utils/cache/typcache.c:445 +#: parser/parse_type.c:278 parser/parse_type.c:813 utils/cache/typcache.c:397 +#: utils/cache/typcache.c:452 #, c-format msgid "type \"%s\" is only a shell" msgstr "el tipo «%s» está inconcluso" @@ -18319,336 +18761,346 @@ msgstr "los modificadores de tipo deben ser constantes simples o identificadores msgid "invalid type name \"%s\"" msgstr "el nombre de tipo «%s» no es válido" -#: parser/parse_utilcmd.c:264 +#: parser/parse_utilcmd.c:266 #, c-format msgid "cannot create partitioned table as inheritance child" msgstr "no se puede crear una tabla particionada como hija de herencia" -#: parser/parse_utilcmd.c:580 +#: parser/parse_utilcmd.c:586 #, c-format msgid "array of serial is not implemented" msgstr "array de serial no está implementado" -#: parser/parse_utilcmd.c:659 parser/parse_utilcmd.c:671 -#: parser/parse_utilcmd.c:730 +#: parser/parse_utilcmd.c:665 parser/parse_utilcmd.c:677 +#: parser/parse_utilcmd.c:736 #, c-format msgid "conflicting NULL/NOT NULL declarations for column \"%s\" of table \"%s\"" msgstr "las declaraciones NULL/NOT NULL no son coincidentes para la columna «%s» de la tabla «%s»" -#: parser/parse_utilcmd.c:683 +#: parser/parse_utilcmd.c:689 #, c-format msgid "multiple default values specified for column \"%s\" of table \"%s\"" msgstr "múltiples valores default especificados para columna «%s» de tabla «%s»" -#: parser/parse_utilcmd.c:700 +#: parser/parse_utilcmd.c:706 #, c-format msgid "identity columns are not supported on typed tables" msgstr "las columnas identidad no está soportadas en tablas tipadas" -#: parser/parse_utilcmd.c:704 +#: parser/parse_utilcmd.c:710 #, c-format msgid "identity columns are not supported on partitions" msgstr "las columnas identidad no están soportadas en particiones" -#: parser/parse_utilcmd.c:713 +#: parser/parse_utilcmd.c:719 #, c-format msgid "multiple identity specifications for column \"%s\" of table \"%s\"" msgstr "múltiples especificaciones de identidad para columna «%s» de tabla «%s»" -#: parser/parse_utilcmd.c:743 +#: parser/parse_utilcmd.c:749 #, c-format msgid "generated columns are not supported on typed tables" msgstr "las columnas generadas no están soportadas en tablas tipadas" -#: parser/parse_utilcmd.c:747 +#: parser/parse_utilcmd.c:753 #, c-format msgid "multiple generation clauses specified for column \"%s\" of table \"%s\"" msgstr "múltiples cláusulas de generación especificadas para columna «%s» de tabla «%s»" -#: parser/parse_utilcmd.c:765 parser/parse_utilcmd.c:880 +#: parser/parse_utilcmd.c:771 parser/parse_utilcmd.c:886 #, c-format msgid "primary key constraints are not supported on foreign tables" msgstr "las restricciones de llave primaria no están soportadas en tablas foráneas" -#: parser/parse_utilcmd.c:774 parser/parse_utilcmd.c:890 +#: parser/parse_utilcmd.c:780 parser/parse_utilcmd.c:896 #, c-format msgid "unique constraints are not supported on foreign tables" msgstr "las restricciones unique no están soportadas en tablas foráneas" -#: parser/parse_utilcmd.c:819 +#: parser/parse_utilcmd.c:825 #, c-format msgid "both default and identity specified for column \"%s\" of table \"%s\"" msgstr "tanto el valor por omisión como identidad especificados para columna «%s» de tabla «%s»" -#: parser/parse_utilcmd.c:827 +#: parser/parse_utilcmd.c:833 #, c-format msgid "both default and generation expression specified for column \"%s\" of table \"%s\"" msgstr "tanto el valor por omisión como expresión de generación especificados para columna «%s» de tabla «%s»" -#: parser/parse_utilcmd.c:835 +#: parser/parse_utilcmd.c:841 #, c-format msgid "both identity and generation expression specified for column \"%s\" of table \"%s\"" msgstr "tanto identidad como expresión de generación especificados para columna «%s» de tabla «%s»" -#: parser/parse_utilcmd.c:900 +#: parser/parse_utilcmd.c:906 #, c-format msgid "exclusion constraints are not supported on foreign tables" msgstr "las restricciones de exclusión no están soportadas en tablas foráneas" -#: parser/parse_utilcmd.c:906 -#, c-format -msgid "exclusion constraints are not supported on partitioned tables" -msgstr "las restricciones de exclusión no están soportadas en tablas particionadas" - #: parser/parse_utilcmd.c:971 #, c-format msgid "LIKE is not supported for creating foreign tables" msgstr "LIKE no está soportado para la creación de tablas foráneas" #: parser/parse_utilcmd.c:984 -#, fuzzy, c-format -#| msgid "relation \"%s\" in %s clause not found in FROM clause" +#, c-format msgid "relation \"%s\" is invalid in LIKE clause" -msgstr "la relación «%s» en la cláusula %s no fue encontrada en la cláusula FROM" +msgstr "la relación «%s» no es válida en cláusula LIKE" -#: parser/parse_utilcmd.c:1741 parser/parse_utilcmd.c:1849 +#: parser/parse_utilcmd.c:1711 parser/parse_utilcmd.c:1819 #, c-format msgid "Index \"%s\" contains a whole-row table reference." msgstr "El índice «%s» contiene una referencia a la fila completa (whole-row)." -#: parser/parse_utilcmd.c:2236 +#: parser/parse_utilcmd.c:2217 #, c-format msgid "cannot use an existing index in CREATE TABLE" msgstr "no se puede usar un índice existente en CREATE TABLE" -#: parser/parse_utilcmd.c:2256 +#: parser/parse_utilcmd.c:2237 #, c-format msgid "index \"%s\" is already associated with a constraint" msgstr "el índice «%s» ya está asociado a una restricción" -#: parser/parse_utilcmd.c:2271 -#, c-format -msgid "index \"%s\" is not valid" -msgstr "el índice «%s» no es válido" - -#: parser/parse_utilcmd.c:2277 +#: parser/parse_utilcmd.c:2258 #, c-format msgid "\"%s\" is not a unique index" msgstr "«%s» no es un índice único" -#: parser/parse_utilcmd.c:2278 parser/parse_utilcmd.c:2285 -#: parser/parse_utilcmd.c:2292 parser/parse_utilcmd.c:2369 +#: parser/parse_utilcmd.c:2259 parser/parse_utilcmd.c:2266 +#: parser/parse_utilcmd.c:2273 parser/parse_utilcmd.c:2350 #, c-format msgid "Cannot create a primary key or unique constraint using such an index." msgstr "No se puede crear una restricción de llave primaria o única usando un índice así." -#: parser/parse_utilcmd.c:2284 +#: parser/parse_utilcmd.c:2265 #, c-format msgid "index \"%s\" contains expressions" msgstr "el índice «%s» contiene expresiones" -#: parser/parse_utilcmd.c:2291 +#: parser/parse_utilcmd.c:2272 #, c-format msgid "\"%s\" is a partial index" msgstr "«%s» es un índice parcial" -#: parser/parse_utilcmd.c:2303 +#: parser/parse_utilcmd.c:2284 #, c-format msgid "\"%s\" is a deferrable index" msgstr "«%s» no es un índice postergable (deferrable)" -#: parser/parse_utilcmd.c:2304 +#: parser/parse_utilcmd.c:2285 #, c-format msgid "Cannot create a non-deferrable constraint using a deferrable index." msgstr "No se puede crear una restricción no postergable usando un índice postergable." -#: parser/parse_utilcmd.c:2368 +#: parser/parse_utilcmd.c:2349 #, c-format msgid "index \"%s\" column number %d does not have default sorting behavior" msgstr "el índice «%s» columna número %d no tiene comportamiento de ordenamiento por omisión" -#: parser/parse_utilcmd.c:2525 +#: parser/parse_utilcmd.c:2506 #, c-format msgid "column \"%s\" appears twice in primary key constraint" msgstr "la columna «%s» aparece dos veces en llave primaria" -#: parser/parse_utilcmd.c:2531 +#: parser/parse_utilcmd.c:2512 #, c-format msgid "column \"%s\" appears twice in unique constraint" msgstr "la columna «%s» aparece dos veces en restricción unique" -#: parser/parse_utilcmd.c:2878 +#: parser/parse_utilcmd.c:2846 #, c-format msgid "index expressions and predicates can refer only to the table being indexed" msgstr "las expresiones y predicados de índice sólo pueden referirse a la tabla en indexación" -#: parser/parse_utilcmd.c:2950 +#: parser/parse_utilcmd.c:2918 #, c-format msgid "statistics expressions can refer only to the table being referenced" msgstr "las expresiones estadísticas sólo pueden referirse a la tabla que está siendo referida" -#: parser/parse_utilcmd.c:2993 +#: parser/parse_utilcmd.c:2961 #, c-format msgid "rules on materialized views are not supported" msgstr "las reglas en vistas materializadas no están soportadas" -#: parser/parse_utilcmd.c:3053 +#: parser/parse_utilcmd.c:3021 #, c-format msgid "rule WHERE condition cannot contain references to other relations" msgstr "la condición WHERE de la regla no puede contener referencias a otras relaciones" -#: parser/parse_utilcmd.c:3125 +#: parser/parse_utilcmd.c:3093 #, c-format msgid "rules with WHERE conditions can only have SELECT, INSERT, UPDATE, or DELETE actions" msgstr "las reglas con condiciones WHERE sólo pueden tener acciones SELECT, INSERT, UPDATE o DELETE" -#: parser/parse_utilcmd.c:3143 parser/parse_utilcmd.c:3244 -#: rewrite/rewriteHandler.c:537 rewrite/rewriteManip.c:1082 +#: parser/parse_utilcmd.c:3111 parser/parse_utilcmd.c:3212 +#: rewrite/rewriteHandler.c:537 rewrite/rewriteManip.c:1095 #, c-format msgid "conditional UNION/INTERSECT/EXCEPT statements are not implemented" msgstr "las sentencias UNION/INTERSECT/EXCEPT condicionales no están implementadas" -#: parser/parse_utilcmd.c:3161 +#: parser/parse_utilcmd.c:3129 #, c-format msgid "ON SELECT rule cannot use OLD" msgstr "una regla ON SELECT no puede usar OLD" -#: parser/parse_utilcmd.c:3165 +#: parser/parse_utilcmd.c:3133 #, c-format msgid "ON SELECT rule cannot use NEW" msgstr "una regla ON SELECT no puede usar NEW" -#: parser/parse_utilcmd.c:3174 +#: parser/parse_utilcmd.c:3142 #, c-format msgid "ON INSERT rule cannot use OLD" msgstr "una regla ON INSERT no puede usar OLD" -#: parser/parse_utilcmd.c:3180 +#: parser/parse_utilcmd.c:3148 #, c-format msgid "ON DELETE rule cannot use NEW" msgstr "una regla ON DELETE no puede usar NEW" -#: parser/parse_utilcmd.c:3208 +#: parser/parse_utilcmd.c:3176 #, c-format msgid "cannot refer to OLD within WITH query" msgstr "no se puede hacer referencia a OLD dentro de una consulta WITH" -#: parser/parse_utilcmd.c:3215 +#: parser/parse_utilcmd.c:3183 #, c-format msgid "cannot refer to NEW within WITH query" msgstr "no se puede hacer referencia a NEW dentro de una consulta WITH" -#: parser/parse_utilcmd.c:3667 +#: parser/parse_utilcmd.c:3255 +#, fuzzy, c-format +msgid "\"%s\" is not a partition" +msgstr "«%s» no está particionada" + +#: parser/parse_utilcmd.c:3290 parser/parse_utilcmd.c:3335 +#: parser/parse_utilcmd.c:4101 +#, c-format +msgid "\"%s\" is not a partitioned table" +msgstr "«%s» no es una tabla particionada" + +#: parser/parse_utilcmd.c:3343 +#, fuzzy, c-format +msgid "partition of hash-partitioned table cannot be merged" +msgstr "una tabla particionada por hash no puede tener una partición default" + +#: parser/parse_utilcmd.c:3361 +#, fuzzy, c-format +msgid "partition with name \"%s\" is already used" +msgstr "identificador de transacción «%s» ya está siendo utilizado" + +#: parser/parse_utilcmd.c:3673 +#, c-format +msgid "list of new partitions should contain at least two items" +msgstr "la lista de nuevas particiones debería contener al menos dos ítems" + +#: parser/parse_utilcmd.c:3811 #, c-format msgid "misplaced DEFERRABLE clause" msgstr "cláusula DEFERRABLE mal puesta" -#: parser/parse_utilcmd.c:3672 parser/parse_utilcmd.c:3687 +#: parser/parse_utilcmd.c:3816 parser/parse_utilcmd.c:3831 #, c-format msgid "multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed" msgstr "no se permiten múltiples cláusulas DEFERRABLE/NOT DEFERRABLE" -#: parser/parse_utilcmd.c:3682 +#: parser/parse_utilcmd.c:3826 #, c-format msgid "misplaced NOT DEFERRABLE clause" msgstr "la cláusula NOT DEFERRABLE está mal puesta" -#: parser/parse_utilcmd.c:3695 parser/parse_utilcmd.c:3721 gram.y:5993 +#: parser/parse_utilcmd.c:3839 parser/parse_utilcmd.c:3865 gram.y:6159 #, c-format msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE" msgstr "una restricción declarada INITIALLY DEFERRED debe ser DEFERRABLE" -#: parser/parse_utilcmd.c:3703 +#: parser/parse_utilcmd.c:3847 #, c-format msgid "misplaced INITIALLY DEFERRED clause" msgstr "la cláusula INITIALLY DEFERRED está mal puesta" -#: parser/parse_utilcmd.c:3708 parser/parse_utilcmd.c:3734 +#: parser/parse_utilcmd.c:3852 parser/parse_utilcmd.c:3878 #, c-format msgid "multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed" msgstr "no se permiten múltiples cláusulas INITIALLY IMMEDIATE/DEFERRED" -#: parser/parse_utilcmd.c:3729 +#: parser/parse_utilcmd.c:3873 #, c-format msgid "misplaced INITIALLY IMMEDIATE clause" msgstr "la cláusula INITIALLY IMMEDIATE está mal puesta" -#: parser/parse_utilcmd.c:3922 +#: parser/parse_utilcmd.c:4066 #, c-format msgid "CREATE specifies a schema (%s) different from the one being created (%s)" msgstr "CREATE especifica un esquema (%s) diferente del que se está creando (%s)" -#: parser/parse_utilcmd.c:3957 -#, c-format -msgid "\"%s\" is not a partitioned table" -msgstr "«%s» no es una tabla particionada" - -#: parser/parse_utilcmd.c:3964 +#: parser/parse_utilcmd.c:4108 #, c-format msgid "table \"%s\" is not partitioned" -msgstr "«la tabla %s» no está particionada" +msgstr "la tabla «%s» no está particionada" -#: parser/parse_utilcmd.c:3971 +#: parser/parse_utilcmd.c:4115 #, c-format msgid "index \"%s\" is not partitioned" msgstr "el índice «%s» no está particionado" -#: parser/parse_utilcmd.c:4011 +#: parser/parse_utilcmd.c:4155 #, c-format msgid "a hash-partitioned table may not have a default partition" msgstr "una tabla particionada por hash no puede tener una partición default" -#: parser/parse_utilcmd.c:4028 +#: parser/parse_utilcmd.c:4172 #, c-format msgid "invalid bound specification for a hash partition" msgstr "especificación de borde no válida para partición de hash" -#: parser/parse_utilcmd.c:4034 partitioning/partbounds.c:4803 +#: parser/parse_utilcmd.c:4178 partitioning/partbounds.c:4803 #, c-format msgid "modulus for hash partition must be an integer value greater than zero" msgstr "el módulo para una partición hash debe ser un valor entero mayor que cero" -#: parser/parse_utilcmd.c:4041 partitioning/partbounds.c:4811 +#: parser/parse_utilcmd.c:4185 partitioning/partbounds.c:4811 #, c-format msgid "remainder for hash partition must be less than modulus" msgstr "remanente en partición hash debe ser menor que el módulo" -#: parser/parse_utilcmd.c:4054 +#: parser/parse_utilcmd.c:4198 #, c-format msgid "invalid bound specification for a list partition" msgstr "especificación de borde no válida para partición de lista" -#: parser/parse_utilcmd.c:4107 +#: parser/parse_utilcmd.c:4251 #, c-format msgid "invalid bound specification for a range partition" msgstr "especificación de borde no válida para partición de rango" -#: parser/parse_utilcmd.c:4113 +#: parser/parse_utilcmd.c:4257 #, c-format msgid "FROM must specify exactly one value per partitioning column" msgstr "FROM debe especificar exactamente un valor por cada columna de particionado" -#: parser/parse_utilcmd.c:4117 +#: parser/parse_utilcmd.c:4261 #, c-format 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:4231 +#: parser/parse_utilcmd.c:4375 #, c-format msgid "cannot specify NULL in range bound" msgstr "no se puede especificar NULL en borde de rango" -#: parser/parse_utilcmd.c:4280 +#: parser/parse_utilcmd.c:4424 #, 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:4287 +#: parser/parse_utilcmd.c:4431 #, 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:4330 +#: parser/parse_utilcmd.c:4474 #, 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»" @@ -18661,12 +19113,12 @@ msgstr "UESCAPE debe ser seguido por un literal de cadena simple" msgid "invalid Unicode escape character" msgstr "carácter de escape Unicode no válido" -#: parser/parser.c:347 scan.l:1390 +#: parser/parser.c:347 scan.l:1391 #, c-format msgid "invalid Unicode escape value" msgstr "valor de escape Unicode no válido" -#: parser/parser.c:494 utils/adt/varlena.c:6505 scan.l:701 +#: parser/parser.c:494 utils/adt/varlena.c:6640 scan.l:702 #, c-format msgid "invalid Unicode escape" msgstr "valor de escape Unicode no válido" @@ -18676,8 +19128,8 @@ msgstr "valor de escape Unicode no válido" msgid "Unicode escapes must be \\XXXX or \\+XXXXXX." msgstr "Los escapes Unicode deben ser \\XXXX o \\+XXXXXX." -#: parser/parser.c:523 utils/adt/varlena.c:6530 scan.l:662 scan.l:678 -#: scan.l:694 +#: parser/parser.c:523 utils/adt/varlena.c:6665 scan.l:663 scan.l:679 +#: scan.l:695 #, c-format msgid "invalid Unicode surrogate pair" msgstr "par sustituto (surrogate) Unicode no válido" @@ -18687,33 +19139,33 @@ msgstr "par sustituto (surrogate) Unicode no válido" msgid "identifier \"%s\" will be truncated to \"%.*s\"" msgstr "el identificador «%s» se truncará a «%.*s»" -#: partitioning/partbounds.c:2921 +#: partitioning/partbounds.c:2920 #, c-format msgid "partition \"%s\" conflicts with existing default partition \"%s\"" msgstr "la partición «%s» está en conflicto con la partición default «%s» existente" -#: partitioning/partbounds.c:2973 partitioning/partbounds.c:2992 -#: partitioning/partbounds.c:3014 +#: partitioning/partbounds.c:2972 partitioning/partbounds.c:2991 +#: partitioning/partbounds.c:3013 #, c-format msgid "every hash partition modulus must be a factor of the next larger modulus" msgstr "cada módulo de partición hash debe ser un factor del próximo mayor módulo" -#: partitioning/partbounds.c:2974 partitioning/partbounds.c:3015 +#: partitioning/partbounds.c:2973 partitioning/partbounds.c:3014 #, c-format msgid "The new modulus %d is not a factor of %d, the modulus of existing partition \"%s\"." msgstr "El nuevo módulo %d no es un factor de %d, el módulo de la partición existente «%s»." -#: partitioning/partbounds.c:2993 +#: partitioning/partbounds.c:2992 #, c-format msgid "The new modulus %d is not divisible by %d, the modulus of existing partition \"%s\"." msgstr "El nuevo módulo %d no es divisible para %d, el módulo de la partición existente «%s»." -#: partitioning/partbounds.c:3128 +#: partitioning/partbounds.c:3127 partitioning/partbounds.c:5202 #, c-format msgid "empty range bound specified for partition \"%s\"" msgstr "borde de rango vació especificado para la partición «%s»" -#: partitioning/partbounds.c:3130 +#: partitioning/partbounds.c:3129 partitioning/partbounds.c:5204 #, c-format msgid "Specified lower bound %s is greater than or equal to upper bound %s." msgstr "El límite inferior %s especificado es mayor o igual al límite superior %s." @@ -18753,32 +19205,107 @@ msgstr "la columna %d de la llave de particionamiento tiene tipo «%s», pero el msgid "column %d of the partition key has type \"%s\", but supplied value is of type \"%s\"" msgstr "la columna %d de la llave de particionamiento tiene tipo «%s», pero el valor dado es de tipo «%s»" -#: port/pg_sema.c:209 port/pg_shmem.c:708 port/posix_sema.c:209 -#: port/sysv_sema.c:323 port/sysv_shmem.c:708 +#: partitioning/partbounds.c:5038 +#, fuzzy, c-format +msgid "lower bound of partition \"%s\" conflicts with upper bound of previous partition \"%s\"" +msgstr "la partición «%s» está en conflicto con la partición default «%s» existente" + +#: partitioning/partbounds.c:5092 +#, fuzzy, c-format +msgid "new partition \"%s\" would overlap with another new partition \"%s\"" +msgstr "la partición «%s» traslaparía con la partición «%s»" + +#: partitioning/partbounds.c:5239 #, c-format -msgid "could not stat data directory \"%s\": %m" -msgstr "no se pudo hacer stat al directorio de datos «%s»: %m" +msgid "lower bound of partition \"%s\" is not equal to lower bound of split partition" +msgstr "borde inferior de partición «%s» no es igual al borde inferior de la partición dividida" -#: port/pg_shmem.c:223 port/sysv_shmem.c:223 +#: partitioning/partbounds.c:5251 #, c-format -msgid "could not create shared memory segment: %m" -msgstr "no se pudo crear el segmento de memoria compartida: %m" +msgid "lower bound of partition \"%s\" is less than lower bound of split partition" +msgstr "borde inferior de partición «%s» es menor al borde inferior de la partición dividida" -#: port/pg_shmem.c:224 port/sysv_shmem.c:224 +#: partitioning/partbounds.c:5280 #, c-format -msgid "Failed system call was shmget(key=%lu, size=%zu, 0%o)." -msgstr "La llamada a sistema fallida fue shmget(key=%lu, size=%zu, 0%o)." +msgid "upper bound of partition \"%s\" is not equal to upper bound of split partition" +msgstr "borde superior de partición «%s» no es igual al borde superior de la partición dividida" -#: port/pg_shmem.c:228 port/sysv_shmem.c:228 +#: partitioning/partbounds.c:5292 #, c-format -msgid "" -"This error usually means that PostgreSQL's request for a shared memory segment exceeded your kernel's SHMMAX parameter, or possibly that it is less than your kernel's SHMMIN parameter.\n" -"The PostgreSQL documentation contains more information about shared memory configuration." +msgid "upper bound of partition \"%s\" is greater than upper bound of split partition" +msgstr "borde superior de partición «%s» es mayor al borde superior de la partición dividida" + +#: partitioning/partbounds.c:5364 +#, fuzzy, c-format +msgid "new partition \"%s\" cannot have this value because split partition does not have" +msgstr "la nueva partición «%s» no puede tener este valor " + +#: partitioning/partbounds.c:5380 +#, c-format +msgid "new partition \"%s\" cannot have NULL value because split partition does not have" +msgstr "" + +#: partitioning/partbounds.c:5390 +#, fuzzy, c-format +msgid "new partition \"%s\" would overlap with another (not split) partition \"%s\"" +msgstr "la partición «%s» traslaparía con la partición «%s»" + +#: partitioning/partbounds.c:5530 +#, fuzzy, c-format +msgid "new partitions do not have value %s but split partition does" +msgstr "una tabla particionada por hash no puede tener una partición default" + +#: partitioning/partbounds.c:5607 +#, c-format +msgid "DEFAULT partition should be one" +msgstr "" + +#: partitioning/partbounds.c:5623 +#, fuzzy, c-format +msgid "partition of hash-partitioned table cannot be split" +msgstr "una tabla particionada por hash no puede tener una partición default" + +#: partitioning/partbounds.c:5677 +#, c-format +msgid "one partition in the list should be DEFAULT because split partition is DEFAULT" +msgstr "" + +#: partitioning/partbounds.c:5687 +#, c-format +msgid "new partition cannot be DEFAULT because DEFAULT partition already exists" +msgstr "" + +#: partitioning/partbounds.c:5746 +#, fuzzy, c-format +msgid "name \"%s\" is already used" +msgstr "la ventana «%s» ya está definida" + +#: port/pg_sema.c:209 port/pg_shmem.c:717 port/posix_sema.c:209 +#: port/sysv_sema.c:323 port/sysv_shmem.c:717 +#, c-format +msgid "could not stat data directory \"%s\": %m" +msgstr "no se pudo hacer stat al directorio de datos «%s»: %m" + +#: port/pg_shmem.c:224 port/sysv_shmem.c:224 +#, c-format +msgid "could not create shared memory segment: %m" +msgstr "no se pudo crear el segmento de memoria compartida: %m" + +#: port/pg_shmem.c:225 port/sysv_shmem.c:225 +#, c-format +msgid "Failed system call was shmget(key=%lu, size=%zu, 0%o)." +msgstr "La llamada a sistema fallida fue shmget(key=%lu, size=%zu, 0%o)." + +#: port/pg_shmem.c:229 port/sysv_shmem.c:229 +#, c-format +msgid "" +"This error usually means that PostgreSQL's request for a shared memory segment exceeded your kernel's SHMMAX parameter, or possibly that it is less than your kernel's SHMMIN parameter.\n" +"The PostgreSQL documentation contains more information about shared memory configuration." msgstr "" "Este error normalmente significa que la petición de un segmento de memoria compartida de PostgreSQL excedió el parámetro SHMMAX del kernel, o posiblemente que es menor que el parámetro SHMMIN del kernel.\n" "La documentación de PostgreSQL contiene más información acerca de la configuración de memoria compartida." -#: port/pg_shmem.c:235 port/sysv_shmem.c:235 +#: port/pg_shmem.c:236 port/sysv_shmem.c:236 #, c-format msgid "" "This error usually means that PostgreSQL's request for a shared memory segment exceeded your kernel's SHMALL parameter. You might need to reconfigure the kernel with larger SHMALL.\n" @@ -18787,7 +19314,7 @@ msgstr "" "Este error normalmente significa que la petición de un segmento de memoria compartida de PostgreSQL excedió el parámetro SHMALL del kernel. Puede ser necesario reconfigurar el kernel con un SHMALL mayor.\n" "La documentación de PostgreSQL contiene más información acerca de la configuración de memoria compartida." -#: port/pg_shmem.c:241 port/sysv_shmem.c:241 +#: port/pg_shmem.c:242 port/sysv_shmem.c:242 #, c-format msgid "" "This error does *not* mean that you have run out of disk space. It occurs either if all available shared memory IDs have been taken, in which case you need to raise the SHMMNI parameter in your kernel, or because the system's overall limit for shared memory has been reached.\n" @@ -18796,37 +19323,37 @@ msgstr "" "Este error *no* significa que se haya quedado sin espacio en disco. Ocurre cuando se han usado todos los IDs de memoria compartida disponibles, en cuyo caso puede incrementar el parámetro SHMMNI del kernel, o bien porque se ha alcanzado el límite total de memoria compartida.\n" "La documentación de PostgreSQL contiene más información acerca de la configuración de memoria compartida." -#: port/pg_shmem.c:583 port/sysv_shmem.c:583 port/win32_shmem.c:641 +#: port/pg_shmem.c:584 port/sysv_shmem.c:584 port/win32_shmem.c:646 #, c-format -msgid "huge_page_size must be 0 on this platform." -msgstr "huge_page_size debe ser 0 en esta plataforma." +msgid "\"huge_page_size\" must be 0 on this platform." +msgstr "«huge_page_size» debe ser 0 en esta plataforma." -#: port/pg_shmem.c:646 port/sysv_shmem.c:646 +#: port/pg_shmem.c:655 port/sysv_shmem.c:655 #, c-format msgid "could not map anonymous shared memory: %m" msgstr "no se pudo mapear memoria compartida anónima: %m" -#: port/pg_shmem.c:648 port/sysv_shmem.c:648 +#: port/pg_shmem.c:657 port/sysv_shmem.c:657 #, c-format -msgid "This error usually means that PostgreSQL's request for a shared memory segment exceeded available memory, swap space, or huge pages. To reduce the request size (currently %zu bytes), reduce PostgreSQL's shared memory usage, perhaps by reducing shared_buffers or max_connections." -msgstr "Este error normalmente significa que la petición de un segmento de memoria compartida de PostgreSQL excedía la memoria disponible, el espacio de intercambio (swap), o las huge pages. Para reducir el tamaño de la petición (actualmente %zu bytes), reduzca el uso de memoria compartida de PostgreSQL, quizás reduciendo el parámetro shared_buffers o el parámetro max_connections." +msgid "This error usually means that PostgreSQL's request for a shared memory segment exceeded available memory, swap space, or huge pages. To reduce the request size (currently %zu bytes), reduce PostgreSQL's shared memory usage, perhaps by reducing \"shared_buffers\" or \"max_connections\"." +msgstr "Este error normalmente significa que la petición de un segmento de memoria compartida de PostgreSQL excedía la memoria disponible, el espacio de intercambio (swap), o las huge pages. Para reducir el tamaño de la petición (actualmente %zu bytes), reduzca el uso de memoria compartida de PostgreSQL, quizás reduciendo el parámetro «shared_buffers» o el parámetro «max_connections»." -#: port/pg_shmem.c:716 port/sysv_shmem.c:716 +#: port/pg_shmem.c:725 port/sysv_shmem.c:725 #, c-format msgid "huge pages not supported on this platform" msgstr "las huge pages no están soportadas en esta plataforma" -#: port/pg_shmem.c:723 port/sysv_shmem.c:723 +#: port/pg_shmem.c:732 port/sysv_shmem.c:732 #, c-format -msgid "huge pages not supported with the current shared_memory_type setting" -msgstr "las huge pages no están soportadas con la configuración actual de shared_memory_type" +msgid "huge pages not supported with the current \"shared_memory_type\" setting" +msgstr "las huge pages no están soportadas con la configuración actual de «shared_memory_type»" -#: port/pg_shmem.c:783 port/sysv_shmem.c:783 utils/init/miscinit.c:1351 +#: port/pg_shmem.c:798 port/sysv_shmem.c:798 utils/init/miscinit.c:1347 #, c-format msgid "pre-existing shared memory block (key %lu, ID %lu) is still in use" msgstr "el bloque de memoria compartida preexistente (clave %lu, ID %lu) aún está en uso" -#: port/pg_shmem.c:786 port/sysv_shmem.c:786 utils/init/miscinit.c:1353 +#: port/pg_shmem.c:801 port/sysv_shmem.c:801 utils/init/miscinit.c:1349 #, c-format msgid "Terminate any old server processes associated with data directory \"%s\"." msgstr "Termine cualquier proceso de servidor asociado al directorio de datos «%s»." @@ -18844,11 +19371,11 @@ msgstr "La llamada a sistema fallida fue semget(%lu, %d, 0%o)." #: port/sysv_sema.c:125 #, 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" +"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 "" "Este error *no* significa que se haya quedado sin espacio en disco.\n" -"Ocurre cuando se alcanza el límite del sistema del número de semáforos (SEMMNI), o bien cuando se excede el total de semáforos del sistema (SEMMNS).Necesita incrementar el parámetro respectivo del kernel. Alternativamente, reduzca el consumo de semáforos de PostgreSQL reduciendo el parámetro max_connections.\n" +"Ocurre cuando se alcanza el límite del sistema del número de semáforos (SEMMNI), o bien cuando se excede el total de semáforos del sistema (SEMMNS). Necesita incrementar el parámetro respectivo del kernel. Alternativamente, reduzca el consumo de semáforos de PostgreSQL reduciendo el parámetro «max_connections».\n" "La documentación de PostgreSQL contiene más información acerca de cómo configurar su sistema para PostgreSQL." #: port/sysv_sema.c:155 @@ -18976,1185 +19503,1097 @@ msgstr "La llamada a sistema fallida fue DuplicateHandle." msgid "Failed system call was MapViewOfFileEx." msgstr "La llamada a sistema fallida fue MapViewOfFileEx." -#: postmaster/autovacuum.c:417 -#, c-format -msgid "could not fork autovacuum launcher process: %m" -msgstr "no se pudo iniciar el lanzador autovacuum: %m" - -#: postmaster/autovacuum.c:764 +#: postmaster/autovacuum.c:686 #, c-format msgid "autovacuum worker took too long to start; canceled" msgstr "proceso ayudante autovacuum tomó demasiado tiempo para iniciarse; cancelado" -#: postmaster/autovacuum.c:1489 -#, c-format -msgid "could not fork autovacuum worker process: %m" -msgstr "no se pudo lanzar el proceso «autovacuum worker»: %m" - -#: postmaster/autovacuum.c:2322 +#: postmaster/autovacuum.c:2199 #, c-format msgid "autovacuum: dropping orphan temp table \"%s.%s.%s\"" msgstr "autovacuum: eliminando tabla temporal huérfana «%s.%s.%s»" -#: postmaster/autovacuum.c:2558 +#: postmaster/autovacuum.c:2435 #, c-format msgid "automatic vacuum of table \"%s.%s.%s\"" msgstr "vacuum automático de la tabla «%s.%s.%s»" -#: postmaster/autovacuum.c:2561 +#: postmaster/autovacuum.c:2438 #, c-format msgid "automatic analyze of table \"%s.%s.%s\"" msgstr "análisis automático de la tabla «%s.%s.%s»" -#: postmaster/autovacuum.c:2755 +#: postmaster/autovacuum.c:2632 #, c-format msgid "processing work entry for relation \"%s.%s.%s\"" msgstr "procesando elemento de tarea de la tabla «%s.%s.%s»" -#: postmaster/autovacuum.c:3369 +#: postmaster/autovacuum.c:3250 #, c-format msgid "autovacuum not started because of misconfiguration" msgstr "autovacuum no fue iniciado debido a un error de configuración" -#: postmaster/autovacuum.c:3370 +#: postmaster/autovacuum.c:3251 #, c-format msgid "Enable the \"track_counts\" option." msgstr "Active la opción «track_counts»." -#: postmaster/bgworker.c:259 +#: postmaster/bgworker.c:260 #, c-format msgid "inconsistent background worker state (max_worker_processes=%d, total_slots=%d)" msgstr "estado inconsistente de proceso ayudante (max_worker_processes=%d, total_slots=%d)" -#: postmaster/bgworker.c:669 -#, fuzzy, c-format -#| msgid "background worker \"%s\": only dynamic background workers can request notification" +#: postmaster/bgworker.c:651 +#, c-format msgid "background worker \"%s\": background workers without shared memory access are not supported" -msgstr "proceso ayudante «%s»: sólo los ayudantes dinámicos pueden pedir notificaciones" +msgstr "proceso ayudante «%s»: los ayudantes sin acceso a memoria compartida no están soportdos" -#: postmaster/bgworker.c:680 +#: postmaster/bgworker.c:662 #, c-format msgid "background worker \"%s\": cannot request database access if starting at postmaster start" msgstr "proceso ayudante «%s»: no se puede solicitar una conexión a base de datos si está iniciando en el momento de inicio de postmaster" -#: postmaster/bgworker.c:694 +#: postmaster/bgworker.c:676 #, c-format msgid "background worker \"%s\": invalid restart interval" msgstr "proceso ayudante «%s»: intervalo de reinicio no válido" -#: postmaster/bgworker.c:709 +#: postmaster/bgworker.c:691 #, c-format msgid "background worker \"%s\": parallel workers may not be configured for restart" msgstr "proceso ayudante «%s»: los ayudantes paralelos no pueden ser configurados «restart»" -#: postmaster/bgworker.c:733 tcop/postgres.c:3255 +#: postmaster/bgworker.c:715 tcop/postgres.c:3284 #, c-format msgid "terminating background worker \"%s\" due to administrator command" msgstr "terminando el proceso ayudante «%s» debido a una orden del administrador" -#: postmaster/bgworker.c:890 +#: postmaster/bgworker.c:888 #, c-format -msgid "background worker \"%s\": must be registered in shared_preload_libraries" -msgstr "proceso ayudante «%s»: debe ser registrado en shared_preload_libraries" +msgid "background worker \"%s\": must be registered in \"shared_preload_libraries\"" +msgstr "proceso ayudante «%s»: debe ser registrado en «shared_preload_libraries»" -#: postmaster/bgworker.c:902 +#: postmaster/bgworker.c:911 #, c-format msgid "background worker \"%s\": only dynamic background workers can request notification" msgstr "proceso ayudante «%s»: sólo los ayudantes dinámicos pueden pedir notificaciones" -#: postmaster/bgworker.c:917 +#: postmaster/bgworker.c:926 #, c-format msgid "too many background workers" msgstr "demasiados procesos ayudantes" -#: postmaster/bgworker.c:918 +#: postmaster/bgworker.c:927 #, c-format msgid "Up to %d background worker can be registered with the current settings." msgid_plural "Up to %d background workers can be registered with the current settings." msgstr[0] "Hasta %d proceso ayudante puede registrarse con la configuración actual." msgstr[1] "Hasta %d procesos ayudantes pueden registrarse con la configuración actual." -# FIXME a %s would be nice here -#: postmaster/bgworker.c:922 +#: postmaster/bgworker.c:931 postmaster/checkpointer.c:445 #, c-format -msgid "Consider increasing the configuration parameter \"max_worker_processes\"." -msgstr "Considere incrementar el parámetro de configuración «max_worker_processes»." +msgid "Consider increasing the configuration parameter \"%s\"." +msgstr "Considere incrementar el parámetro de configuración «%s»." -#: postmaster/checkpointer.c:431 +#: postmaster/checkpointer.c:441 #, c-format msgid "checkpoints are occurring too frequently (%d second apart)" msgid_plural "checkpoints are occurring too frequently (%d seconds apart)" msgstr[0] "los puntos de control están ocurriendo con demasiada frecuencia (cada %d segundo)" msgstr[1] "los puntos de control están ocurriendo con demasiada frecuencia (cada %d segundos)" -# FIXME a %s would be nice here -#: postmaster/checkpointer.c:435 -#, c-format -msgid "Consider increasing the configuration parameter \"max_wal_size\"." -msgstr "Considere incrementar el parámetro de configuración «max_wal_size»." - -#: postmaster/checkpointer.c:1059 +#: postmaster/checkpointer.c:1067 #, c-format msgid "checkpoint request failed" -msgstr "falló la petición de punto de control" +msgstr "falló la petición de checkpoint" -#: postmaster/checkpointer.c:1060 +#: postmaster/checkpointer.c:1068 #, c-format msgid "Consult recent messages in the server log for details." msgstr "Vea los mensajes recientes en el registro del servidor para obtener más detalles." -#: postmaster/pgarch.c:416 +#: postmaster/launch_backend.c:381 +#, c-format +msgid "could not execute server process \"%s\": %m" +msgstr "no se pudo lanzar el proceso servidor «%s»: %m" + +#: postmaster/launch_backend.c:434 +#, c-format +msgid "could not create backend parameter file mapping: error code %lu" +msgstr "no se pudo crear mapeo de archivo de parámetros de servidor: código de error %lu" + +#: postmaster/launch_backend.c:442 #, c-format -msgid "archive_mode enabled, yet archiving is not configured" +msgid "could not map backend parameter memory: error code %lu" +msgstr "no se pudo mapear memoria para parámetros de servidor: código de error %lu" + +#: postmaster/launch_backend.c:459 +#, c-format +msgid "subprocess command line too long" +msgstr "orden de subproceso demasiado larga" + +#: postmaster/launch_backend.c:477 +#, c-format +msgid "CreateProcess() call failed: %m (error code %lu)" +msgstr "llamada a CreateProcess() falló: %m (código de error %lu)" + +#: postmaster/launch_backend.c:504 +#, c-format +msgid "could not unmap view of backend parameter file: error code %lu" +msgstr "no se pudo desmapear la vista del archivo de parámetros de servidor: código de error %lu" + +#: postmaster/launch_backend.c:508 +#, c-format +msgid "could not close handle to backend parameter file: error code %lu" +msgstr "no se pudo cerrar el archivo de parámetros de servidor: código de error %lu" + +#: postmaster/launch_backend.c:530 +#, c-format +msgid "giving up after too many tries to reserve shared memory" +msgstr "renunciar después de demasiados intentos de reservar memoria compartida" + +#: postmaster/launch_backend.c:531 +#, c-format +msgid "This might be caused by ASLR or antivirus software." +msgstr "Esto podría deberse a ASLR o un software antivirus." + +#: postmaster/launch_backend.c:834 +#, c-format +msgid "could not duplicate socket %d for use in backend: error code %d" +msgstr "no se pudo duplicar el socket %d para su empleo en el backend: código de error %d" + +#: postmaster/launch_backend.c:866 +#, c-format +msgid "could not create inherited socket: error code %d\n" +msgstr "no se pudo crear el socket heradado: código de error %d\n" + +#: postmaster/launch_backend.c:895 +#, c-format +msgid "could not open backend variables file \"%s\": %m\n" +msgstr "no se pudo abrir el archivo de variables de servidor «%s»: %m\n" + +#: postmaster/launch_backend.c:901 +#, c-format +msgid "could not read from backend variables file \"%s\": %m\n" +msgstr "no se pudo leer el archivo de variables de servidor «%s»: %m\n" + +#: postmaster/launch_backend.c:912 +#, c-format +msgid "could not read startup data from backend variables file \"%s\": %m\n" +msgstr "no se pudo leer el archivo de variables de servidor «%s»: %m\n" + +#: postmaster/launch_backend.c:924 +#, c-format +msgid "could not remove file \"%s\": %m\n" +msgstr "no se pudo eliminar el archivo «%s»: %m\n" + +#: postmaster/launch_backend.c:940 +#, c-format +msgid "could not map view of backend variables: error code %lu\n" +msgstr "no se pudo mapear la vista del archivo de variables: código de error %lu\n" + +#: postmaster/launch_backend.c:959 +#, c-format +msgid "could not unmap view of backend variables: error code %lu\n" +msgstr "no se pudo desmapear la vista del archivo de variables: código de error %lu\n" + +#: postmaster/launch_backend.c:966 +#, c-format +msgid "could not close handle to backend parameter variables: error code %lu\n" +msgstr "no se pudo cerrar el archivo de variables de servidor: código de error %lu\n" + +#: postmaster/pgarch.c:428 +#, c-format +msgid "\"archive_mode\" enabled, yet archiving is not configured" msgstr "" -#: postmaster/pgarch.c:438 +#: postmaster/pgarch.c:452 #, c-format msgid "removed orphan archive status file \"%s\"" msgstr "eliminando archivo de estado huérfano «%s»" -#: postmaster/pgarch.c:448 +#: postmaster/pgarch.c:462 #, c-format msgid "removal of orphan archive status file \"%s\" failed too many times, will try again later" msgstr "la eliminación del archivo de estado huérfano «%s» falló demasiadas veces, se tratará de nuevo después" -#: postmaster/pgarch.c:484 +#: postmaster/pgarch.c:498 #, c-format msgid "archiving write-ahead log file \"%s\" failed too many times, will try again later" msgstr "el archivado del archivo de WAL «%s» falló demasiadas veces, se tratará de nuevo más tarde" -#: postmaster/pgarch.c:791 postmaster/pgarch.c:830 +#: postmaster/pgarch.c:879 postmaster/pgarch.c:918 #, c-format -msgid "both archive_command and archive_library set" +msgid "both \"archive_command\" and \"archive_library\" set" msgstr "" -#: postmaster/pgarch.c:792 postmaster/pgarch.c:831 +#: postmaster/pgarch.c:880 postmaster/pgarch.c:919 #, c-format -msgid "Only one of archive_command, archive_library may be set." +msgid "Only one of \"archive_command\", \"archive_library\" may be set." msgstr "" -#: postmaster/pgarch.c:809 +#: postmaster/pgarch.c:897 #, c-format msgid "restarting archiver process because value of \"archive_library\" was changed" msgstr "reiniciando el proceso archivador porque el valor de «archive_library» cambió" -#: postmaster/pgarch.c:846 +#: postmaster/pgarch.c:934 #, c-format msgid "archive modules have to define the symbol %s" -msgstr "" +msgstr "los módulos de archivado tienen que definir el símbolo %s" -#: postmaster/pgarch.c:852 +#: postmaster/pgarch.c:940 #, c-format msgid "archive modules must register an archive callback" msgstr "los módulos de archivado deben registrar un callback de archivado" -#: postmaster/postmaster.c:759 +#: postmaster/postmaster.c:661 #, c-format msgid "%s: invalid argument for option -f: \"%s\"\n" msgstr "%s: argumento no válido para la opción -f: «%s»\n" -#: postmaster/postmaster.c:832 +#: postmaster/postmaster.c:734 #, c-format msgid "%s: invalid argument for option -t: \"%s\"\n" msgstr "%s: argumento no válido para la opción -t: «%s»\n" -#: postmaster/postmaster.c:855 +#: postmaster/postmaster.c:757 #, c-format msgid "%s: invalid argument: \"%s\"\n" msgstr "%s: argumento no válido: «%s»\n" -#: postmaster/postmaster.c:923 +#: postmaster/postmaster.c:825 #, c-format -msgid "%s: superuser_reserved_connections (%d) plus reserved_connections (%d) must be less than max_connections (%d)\n" +msgid "%s: \"superuser_reserved_connections\" (%d) plus \"reserved_connections\" (%d) must be less than \"max_connections\" (%d)\n" msgstr "" -#: postmaster/postmaster.c:931 +#: postmaster/postmaster.c:833 +#, c-format +msgid "WAL archival cannot be enabled when \"wal_level\" is \"minimal\"" +msgstr "el archivador de WAL no puede activarse cuando «wal_level» es «minimal»" + +#: postmaster/postmaster.c:836 #, c-format -msgid "WAL archival cannot be enabled when wal_level is \"minimal\"" -msgstr "el archivador de WAL no puede activarse cuando wal_level es «minimal»" +msgid "WAL streaming (\"max_wal_senders\" > 0) requires \"wal_level\" to be \"replica\" or \"logical\"" +msgstr "el flujo de WAL («max_wal_senders» > 0) requiere que «wal_level» sea «replica» o «logical»" -#: postmaster/postmaster.c:934 +#: postmaster/postmaster.c:839 #, c-format -msgid "WAL streaming (max_wal_senders > 0) requires wal_level \"replica\" or \"logical\"" -msgstr "el flujo de WAL (max_wal_senders > 0) requiere wal_level «replica» o «logical»" +msgid "WAL cannot be summarized when \"wal_level\" is \"minimal\"" +msgstr "no se puede resumir WAL cuando «wal_level» es «minimal»" -#: postmaster/postmaster.c:942 +#: postmaster/postmaster.c:847 #, c-format msgid "%s: invalid datetoken tables, please fix\n" msgstr "%s: las tablas de palabras clave de fecha no son válidas, arréglelas\n" -#: postmaster/postmaster.c:1099 +#: postmaster/postmaster.c:1004 #, c-format msgid "could not create I/O completion port for child queue" msgstr "no se pudo crear el port E/S de reporte de completitud para la cola de procesos hijos" -#: postmaster/postmaster.c:1164 +#: postmaster/postmaster.c:1069 #, c-format msgid "ending log output to stderr" msgstr "terminando la salida de registro a stderr" -#: postmaster/postmaster.c:1165 +#: postmaster/postmaster.c:1070 #, c-format msgid "Future log output will go to log destination \"%s\"." msgstr "La salida futura del registro será enviada al destino de log «%s»." -#: postmaster/postmaster.c:1176 +#: postmaster/postmaster.c:1081 #, c-format msgid "starting %s" msgstr "iniciando %s" -#: postmaster/postmaster.c:1236 +#: postmaster/postmaster.c:1143 #, c-format msgid "could not create listen socket for \"%s\"" msgstr "no se pudo crear el socket de escucha para «%s»" -#: postmaster/postmaster.c:1242 +#: postmaster/postmaster.c:1149 #, c-format msgid "could not create any TCP/IP sockets" msgstr "no se pudo crear ningún socket TCP/IP" -#: postmaster/postmaster.c:1274 +#: postmaster/postmaster.c:1181 #, c-format msgid "DNSServiceRegister() failed: error code %ld" msgstr "DNSServiceRegister() falló: código de error %ld" -#: postmaster/postmaster.c:1325 +#: postmaster/postmaster.c:1234 #, c-format msgid "could not create Unix-domain socket in directory \"%s\"" msgstr "no se pudo crear el socket de dominio Unix en el directorio «%s»" -#: postmaster/postmaster.c:1331 +#: postmaster/postmaster.c:1240 #, c-format msgid "could not create any Unix-domain sockets" msgstr "no se pudo crear ningún socket de dominio Unix" -#: postmaster/postmaster.c:1342 +#: postmaster/postmaster.c:1251 #, c-format msgid "no socket created for listening" msgstr "no se creó el socket de atención" -#: postmaster/postmaster.c:1373 -#, c-format -msgid "%s: could not change permissions of external PID file \"%s\": %s\n" +#: postmaster/postmaster.c:1282 +#, fuzzy, c-format +msgid "%s: could not change permissions of external PID file \"%s\": %m\n" msgstr "%s: no se pudo cambiar los permisos del archivo de PID externo «%s»: %s\n" -#: postmaster/postmaster.c:1377 -#, c-format -msgid "%s: could not write external PID file \"%s\": %s\n" +#: postmaster/postmaster.c:1286 +#, fuzzy, c-format +msgid "%s: could not write external PID file \"%s\": %m\n" msgstr "%s: no pudo escribir en el archivo externo de PID «%s»: %s\n" #. translator: %s is a configuration file -#: postmaster/postmaster.c:1405 utils/init/postinit.c:221 -#, fuzzy, c-format -#| msgid "could not load locale \"%s\"" +#: postmaster/postmaster.c:1314 utils/init/postinit.c:221 +#, c-format msgid "could not load %s" -msgstr "no se pudo cargar la configuración regional «%s»" +msgstr "no se pudo cargar %s" -#: postmaster/postmaster.c:1431 +#: postmaster/postmaster.c:1340 #, c-format msgid "postmaster became multithreaded during startup" msgstr "postmaster se volvió multi-hilo durante la partida" -#: postmaster/postmaster.c:1432 +#: postmaster/postmaster.c:1341 #, c-format msgid "Set the LC_ALL environment variable to a valid locale." msgstr "Defina la variable de ambiente LC_ALL a un valor válido." -#: postmaster/postmaster.c:1533 +#: postmaster/postmaster.c:1440 #, c-format msgid "%s: could not locate my own executable path" msgstr "%s: no se pudo localizar la ruta de mi propio ejecutable" -#: postmaster/postmaster.c:1540 +#: postmaster/postmaster.c:1447 #, c-format msgid "%s: could not locate matching postgres executable" msgstr "%s: no se pudo localizar el ejecutable postgres correspondiente" -#: postmaster/postmaster.c:1563 utils/misc/tzparser.c:340 +#: postmaster/postmaster.c:1470 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 "Esto puede indicar una instalación de PostgreSQL incompleta, o que el archivo «%s» ha sido movido de la ubicación adecuada." -#: postmaster/postmaster.c:1590 -#, c-format +#: postmaster/postmaster.c:1497 +#, fuzzy, c-format msgid "" "%s: could not find the database system\n" "Expected to find it in the directory \"%s\",\n" -"but could not open file \"%s\": %s\n" +"but could not open file \"%s\": %m\n" msgstr "" "%s: no se pudo encontrar el sistema de base de datos\n" "Se esperaba encontrar en el directorio PGDATA «%s»,\n" "pero no se pudo abrir el archivo «%s»: %s\n" #. translator: %s is SIGKILL or SIGABRT -#: postmaster/postmaster.c:1887 +#: postmaster/postmaster.c:1787 #, c-format msgid "issuing %s to recalcitrant children" -msgstr "" +msgstr "enviando %s a hijos recalcitrantes" -#: postmaster/postmaster.c:1909 +#: postmaster/postmaster.c:1809 #, c-format msgid "performing immediate shutdown because data directory lock file is invalid" msgstr "ejecutando un apagado inmediato porque el archivo de bloqueo del directorio de datos no es válido" -#: postmaster/postmaster.c:1984 postmaster/postmaster.c:2012 -#, c-format -msgid "incomplete startup packet" -msgstr "el paquete de inicio está incompleto" - -#: postmaster/postmaster.c:1996 postmaster/postmaster.c:2029 -#, c-format -msgid "invalid length of startup packet" -msgstr "el de paquete de inicio tiene largo incorrecto" - -#: postmaster/postmaster.c:2058 -#, c-format -msgid "failed to send SSL negotiation response: %m" -msgstr "no se pudo enviar la respuesta de negociación SSL: %m" - -#: postmaster/postmaster.c:2076 -#, c-format -msgid "received unencrypted data after SSL request" -msgstr "se recibieron datos no cifrados después de petición SSL" - -#: postmaster/postmaster.c:2077 postmaster/postmaster.c:2121 -#, c-format -msgid "This could be either a client-software bug or evidence of an attempted man-in-the-middle attack." -msgstr "Esto podría ser un error en el software cliente o evidencia de un intento de ataque man-in-the-middle." - -#: postmaster/postmaster.c:2102 -#, c-format -msgid "failed to send GSSAPI negotiation response: %m" -msgstr "no se pudo enviar la respuesta de negociación GSSAPI: %m" - -#: postmaster/postmaster.c:2120 -#, c-format -msgid "received unencrypted data after GSSAPI encryption request" -msgstr "se recibieron datos no cifrados después de petición de cifrado GSSAPI" - -#: postmaster/postmaster.c:2144 -#, c-format -msgid "unsupported frontend protocol %u.%u: server supports %u.0 to %u.%u" -msgstr "el protocolo %u.%u no está soportado: servidor soporta %u.0 hasta %u.%u" - -#: postmaster/postmaster.c:2211 -#, c-format -msgid "Valid values are: \"false\", 0, \"true\", 1, \"database\"." -msgstr "Los valores válidos son: «false», 0, «true», 1, «database»." - -#: postmaster/postmaster.c:2252 -#, c-format -msgid "invalid startup packet layout: expected terminator as last byte" -msgstr "el paquete de inicio no es válido: se esperaba un terminador en el último byte" - -#: postmaster/postmaster.c:2269 -#, c-format -msgid "no PostgreSQL user name specified in startup packet" -msgstr "no se especifica un nombre de usuario en el paquete de inicio" - -#: postmaster/postmaster.c:2333 -#, c-format -msgid "the database system is starting up" -msgstr "el sistema de base de datos está iniciándose" - -#: postmaster/postmaster.c:2339 -#, c-format -msgid "the database system is not yet accepting connections" -msgstr "el sistema de bases de datos aún no está aceptando conexiones" - -#: postmaster/postmaster.c:2340 -#, c-format -msgid "Consistent recovery state has not been yet reached." -msgstr "Aún no se ha alcanzado un estado de recuperación consistente." - -#: postmaster/postmaster.c:2344 -#, c-format -msgid "the database system is not accepting connections" -msgstr "el sistema de bases de datos no está aceptando conexiones" - -#: postmaster/postmaster.c:2345 -#, c-format -msgid "Hot standby mode is disabled." -msgstr "El modo hot standby está desactivado." - -#: postmaster/postmaster.c:2350 -#, c-format -msgid "the database system is shutting down" -msgstr "el sistema de base de datos está apagándose" - -#: postmaster/postmaster.c:2355 -#, c-format -msgid "the database system is in recovery mode" -msgstr "el sistema de base de datos está en modo de recuperación" - -#: postmaster/postmaster.c:2360 storage/ipc/procarray.c:491 -#: storage/ipc/sinvaladt.c:306 storage/lmgr/proc.c:353 -#, c-format -msgid "sorry, too many clients already" -msgstr "lo siento, ya tenemos demasiados clientes" - -#: postmaster/postmaster.c:2447 +#: postmaster/postmaster.c:1872 #, c-format msgid "wrong key in cancel request for process %d" msgstr "llave incorrecta en la petición de cancelación para el proceso %d" -#: postmaster/postmaster.c:2459 +#: postmaster/postmaster.c:1884 #, c-format msgid "PID %d in cancel request did not match any process" msgstr "el PID %d en la petición de cancelación no coincidió con ningún proceso" -#: postmaster/postmaster.c:2726 +#: postmaster/postmaster.c:2105 #, c-format msgid "received SIGHUP, reloading configuration files" msgstr "se recibió SIGHUP, volviendo a cargar archivos de configuración" #. translator: %s is a configuration file -#: postmaster/postmaster.c:2750 postmaster/postmaster.c:2754 +#: postmaster/postmaster.c:2133 postmaster/postmaster.c:2137 #, c-format msgid "%s was not reloaded" msgstr "%s no fue vuelto a cargar" -#: postmaster/postmaster.c:2764 +#: postmaster/postmaster.c:2147 #, c-format msgid "SSL configuration was not reloaded" msgstr "la configuración SSL no fue vuelta a cargar" -#: postmaster/postmaster.c:2854 +#: postmaster/postmaster.c:2233 #, c-format msgid "received smart shutdown request" msgstr "se recibió petición de apagado inteligente" -#: postmaster/postmaster.c:2895 +#: postmaster/postmaster.c:2274 #, c-format msgid "received fast shutdown request" msgstr "se recibió petición de apagado rápido" -#: postmaster/postmaster.c:2913 +#: postmaster/postmaster.c:2292 #, c-format msgid "aborting any active transactions" msgstr "abortando transacciones activas" -#: postmaster/postmaster.c:2937 +#: postmaster/postmaster.c:2316 #, c-format msgid "received immediate shutdown request" msgstr "se recibió petición de apagado inmediato" -#: postmaster/postmaster.c:3013 +#: postmaster/postmaster.c:2388 #, c-format msgid "shutdown at recovery target" msgstr "apagándose al alcanzar el destino de recuperación" -#: postmaster/postmaster.c:3031 postmaster/postmaster.c:3067 +#: postmaster/postmaster.c:2406 postmaster/postmaster.c:2442 msgid "startup process" msgstr "proceso de inicio" -#: postmaster/postmaster.c:3034 +#: postmaster/postmaster.c:2409 #, c-format msgid "aborting startup due to startup process failure" msgstr "abortando el inicio debido a una falla en el procesamiento de inicio" -#: postmaster/postmaster.c:3107 +#: postmaster/postmaster.c:2484 #, c-format msgid "database system is ready to accept connections" msgstr "el sistema de bases de datos está listo para aceptar conexiones" -#: postmaster/postmaster.c:3128 +#: postmaster/postmaster.c:2505 msgid "background writer process" msgstr "proceso background writer" -#: postmaster/postmaster.c:3175 +#: postmaster/postmaster.c:2552 msgid "checkpointer process" msgstr "proceso checkpointer" -#: postmaster/postmaster.c:3191 +#: postmaster/postmaster.c:2568 msgid "WAL writer process" msgstr "proceso escritor de WAL" -#: postmaster/postmaster.c:3206 +#: postmaster/postmaster.c:2583 msgid "WAL receiver process" msgstr "proceso receptor de WAL" -#: postmaster/postmaster.c:3221 +#: postmaster/postmaster.c:2597 +#, fuzzy +msgid "WAL summarizer process" +msgstr "proceso escritor de WAL" + +#: postmaster/postmaster.c:2612 msgid "autovacuum launcher process" msgstr "proceso lanzador de autovacuum" -#: postmaster/postmaster.c:3239 +#: postmaster/postmaster.c:2630 msgid "archiver process" msgstr "proceso de archivado" -#: postmaster/postmaster.c:3252 +#: postmaster/postmaster.c:2643 msgid "system logger process" msgstr "proceso de log" -#: postmaster/postmaster.c:3309 +#: postmaster/postmaster.c:2660 +#, fuzzy +msgid "slot sync worker process" +msgstr "no se pudo lanzar el proceso ayudante: %m" + +#: postmaster/postmaster.c:2716 #, c-format msgid "background worker \"%s\"" msgstr "proceso ayudante «%s»" -#: postmaster/postmaster.c:3388 postmaster/postmaster.c:3408 -#: postmaster/postmaster.c:3415 postmaster/postmaster.c:3433 +#: postmaster/postmaster.c:2795 postmaster/postmaster.c:2815 +#: postmaster/postmaster.c:2822 postmaster/postmaster.c:2840 msgid "server process" msgstr "proceso de servidor" -#: postmaster/postmaster.c:3487 +#: postmaster/postmaster.c:2894 #, c-format msgid "terminating any other active server processes" msgstr "terminando todos los otros procesos de servidor activos" #. translator: %s is a noun phrase describing a child process, such as #. "server process" -#: postmaster/postmaster.c:3662 +#: postmaster/postmaster.c:3081 #, c-format msgid "%s (PID %d) exited with exit code %d" msgstr "%s (PID %d) terminó con código de salida %d" -#: postmaster/postmaster.c:3664 postmaster/postmaster.c:3676 -#: postmaster/postmaster.c:3686 postmaster/postmaster.c:3697 +#: postmaster/postmaster.c:3083 postmaster/postmaster.c:3095 +#: postmaster/postmaster.c:3105 postmaster/postmaster.c:3116 #, c-format msgid "Failed process was running: %s" msgstr "El proceso que falló estaba ejecutando: %s" #. translator: %s is a noun phrase describing a child process, such as #. "server process" -#: postmaster/postmaster.c:3673 +#: postmaster/postmaster.c:3092 #, c-format msgid "%s (PID %d) was terminated by exception 0x%X" msgstr "%s (PID %d) fue terminado por una excepción 0x%X" #. translator: %s is a noun phrase describing a child process, such as #. "server process" -#: postmaster/postmaster.c:3683 +#: postmaster/postmaster.c:3102 #, c-format msgid "%s (PID %d) was terminated by signal %d: %s" msgstr "%s (PID %d) fue terminado por una señal %d: %s" #. translator: %s is a noun phrase describing a child process, such as #. "server process" -#: postmaster/postmaster.c:3695 +#: postmaster/postmaster.c:3114 #, c-format msgid "%s (PID %d) exited with unrecognized status %d" msgstr "%s (PID %d) terminó con código %d no reconocido" -#: postmaster/postmaster.c:3903 +#: postmaster/postmaster.c:3330 #, c-format msgid "abnormal database system shutdown" msgstr "apagado anormal del sistema de bases de datos" -#: postmaster/postmaster.c:3929 +#: postmaster/postmaster.c:3356 #, c-format msgid "shutting down due to startup process failure" msgstr "apagando debido a una falla en el procesamiento de inicio" -#: postmaster/postmaster.c:3935 +#: postmaster/postmaster.c:3362 #, c-format -msgid "shutting down because restart_after_crash is off" -msgstr "apagando debido a que restart_after_crash está desactivado" +msgid "shutting down because \"restart_after_crash\" is off" +msgstr "apagando debido a que «restart_after_crash» está desactivado" -#: postmaster/postmaster.c:3947 +#: postmaster/postmaster.c:3374 #, c-format msgid "all server processes terminated; reinitializing" msgstr "todos los procesos fueron terminados; reinicializando" -#: postmaster/postmaster.c:4141 postmaster/postmaster.c:5459 -#: postmaster/postmaster.c:5857 +#: postmaster/postmaster.c:3573 postmaster/postmaster.c:3983 +#: postmaster/postmaster.c:4372 #, c-format msgid "could not generate random cancel key" msgstr "no se pudo generar una llave de cancelación aleatoria" -#: postmaster/postmaster.c:4203 +#: postmaster/postmaster.c:3606 #, c-format msgid "could not fork new process for connection: %m" msgstr "no se pudo lanzar el nuevo proceso para la conexión: %m" -#: postmaster/postmaster.c:4245 +#: postmaster/postmaster.c:3648 msgid "could not fork new process for connection: " msgstr "no se pudo lanzar el nuevo proceso para la conexión: " -#: postmaster/postmaster.c:4351 +#: postmaster/postmaster.c:3682 #, c-format -msgid "connection received: host=%s port=%s" -msgstr "conexión recibida: host=%s port=%s" +msgid "Please report this to <%s>." +msgstr "Por favor reporte esto a <%s>." -#: postmaster/postmaster.c:4356 +#: postmaster/postmaster.c:3750 #, c-format -msgid "connection received: host=%s" -msgstr "conexión recibida: host=%s" +msgid "database system is ready to accept read-only connections" +msgstr "el sistema de bases de datos está listo para aceptar conexiones de sólo lectura" -#: postmaster/postmaster.c:4593 -#, c-format -msgid "could not execute server process \"%s\": %m" -msgstr "no se pudo lanzar el proceso servidor «%s»: %m" +#: postmaster/postmaster.c:3933 +#, fuzzy, c-format +msgid "could not fork \"%s\" process: %m" +msgstr "no se pudo lanzar el proceso: %m" -#: postmaster/postmaster.c:4651 +#: postmaster/postmaster.c:4171 postmaster/postmaster.c:4205 #, c-format -msgid "could not create backend parameter file mapping: error code %lu" -msgstr "no se pudo crear mapeo de archivo de parámetros de servidor: código de error %lu" +msgid "database connection requirement not indicated during registration" +msgstr "el requerimiento de conexión a base de datos no fue indicado durante el registro" -#: postmaster/postmaster.c:4660 +#: postmaster/postmaster.c:4181 postmaster/postmaster.c:4215 #, c-format -msgid "could not map backend parameter memory: error code %lu" -msgstr "no se pudo mapear memoria para parámetros de servidor: código de error %lu" +msgid "invalid processing mode in background worker" +msgstr "modo de procesamiento no válido en proceso ayudante" -#: postmaster/postmaster.c:4687 -#, c-format -msgid "subprocess command line too long" -msgstr "orden de subproceso demasiado larga" +#: postmaster/postmaster.c:4275 +#, fuzzy, c-format +msgid "could not fork background worker process: %m" +msgstr "no se pudo lanzar el background writer: %m" -#: postmaster/postmaster.c:4705 -#, c-format -msgid "CreateProcess() call failed: %m (error code %lu)" -msgstr "llamada a CreateProcess() falló: %m (código de error %lu)" +#: postmaster/postmaster.c:4358 +#, fuzzy, c-format +msgid "no slot available for new background worker process" +msgstr "no hay slot disponible para un nuevo proceso ayudante" -#: postmaster/postmaster.c:4732 +#: postmaster/postmaster.c:4621 #, c-format -msgid "could not unmap view of backend parameter file: error code %lu" -msgstr "no se pudo desmapear la vista del archivo de parámetros de servidor: código de error %lu" +msgid "could not read exit code for process\n" +msgstr "no se pudo leer el código de salida del proceso\n" -#: postmaster/postmaster.c:4736 +#: postmaster/postmaster.c:4663 #, c-format -msgid "could not close handle to backend parameter file: error code %lu" -msgstr "no se pudo cerrar el archivo de parámetros de servidor: código de error %lu" +msgid "could not post child completion status\n" +msgstr "no se pudo publicar el estado de completitud del proceso hijo\n" -#: postmaster/postmaster.c:4758 +#: postmaster/syslogger.c:529 postmaster/syslogger.c:1173 #, c-format -msgid "giving up after too many tries to reserve shared memory" -msgstr "renunciar después de demasiados intentos de reservar memoria compartida" - -#: postmaster/postmaster.c:4759 -#, c-format -msgid "This might be caused by ASLR or antivirus software." -msgstr "Esto podría deberse a ASLR o un software antivirus." - -#: postmaster/postmaster.c:4932 -#, c-format -msgid "SSL configuration could not be loaded in child process" -msgstr "No se pudo cargar la configuración SSL en proceso secundario" - -#: postmaster/postmaster.c:5057 -#, c-format -msgid "Please report this to <%s>." -msgstr "Por favor reporte esto a <%s>." - -#: postmaster/postmaster.c:5125 -#, c-format -msgid "database system is ready to accept read-only connections" -msgstr "el sistema de bases de datos está listo para aceptar conexiones de sólo lectura" - -#: postmaster/postmaster.c:5383 -#, c-format -msgid "could not fork startup process: %m" -msgstr "no se pudo lanzar el proceso de inicio: %m" - -#: postmaster/postmaster.c:5387 -#, c-format -msgid "could not fork archiver process: %m" -msgstr "no se pudo lanzar el proceso de archivado: %m" - -#: postmaster/postmaster.c:5391 -#, c-format -msgid "could not fork background writer process: %m" -msgstr "no se pudo lanzar el background writer: %m" - -#: postmaster/postmaster.c:5395 -#, c-format -msgid "could not fork checkpointer process: %m" -msgstr "no se pudo lanzar el checkpointer: %m" - -#: postmaster/postmaster.c:5399 -#, c-format -msgid "could not fork WAL writer process: %m" -msgstr "no se pudo lanzar el proceso escritor de WAL: %m" - -#: postmaster/postmaster.c:5403 -#, c-format -msgid "could not fork WAL receiver process: %m" -msgstr "no se pudo lanzar el proceso receptor de WAL: %m" - -#: postmaster/postmaster.c:5407 -#, c-format -msgid "could not fork process: %m" -msgstr "no se pudo lanzar el proceso: %m" - -#: postmaster/postmaster.c:5608 postmaster/postmaster.c:5635 -#, c-format -msgid "database connection requirement not indicated during registration" -msgstr "el requerimiento de conexión a base de datos no fue indicado durante el registro" - -#: postmaster/postmaster.c:5619 postmaster/postmaster.c:5646 -#, c-format -msgid "invalid processing mode in background worker" -msgstr "modo de procesamiento no válido en proceso ayudante" - -#: postmaster/postmaster.c:5731 -#, c-format -msgid "could not fork worker process: %m" -msgstr "no se pudo lanzar el proceso ayudante: %m" - -#: postmaster/postmaster.c:5843 -#, c-format -msgid "no slot available for new worker process" -msgstr "no hay slot disponible para un nuevo proceso ayudante" +msgid "could not read from logger pipe: %m" +msgstr "no se pudo leer desde la tubería de log: %m" -#: postmaster/postmaster.c:6174 +#: postmaster/syslogger.c:629 postmaster/syslogger.c:643 #, c-format -msgid "could not duplicate socket %d for use in backend: error code %d" -msgstr "no se pudo duplicar el socket %d para su empleo en el backend: código de error %d" +msgid "could not create pipe for syslog: %m" +msgstr "no se pudo crear la tubería para syslog: %m" -#: postmaster/postmaster.c:6206 +#: postmaster/syslogger.c:712 #, c-format -msgid "could not create inherited socket: error code %d\n" -msgstr "no se pudo crear el socket heradado: código de error %d\n" +msgid "could not fork system logger: %m" +msgstr "no se pudo crear el proceso de log: %m" -#: postmaster/postmaster.c:6235 +#: postmaster/syslogger.c:731 #, c-format -msgid "could not open backend variables file \"%s\": %s\n" -msgstr "no se pudo abrir el archivo de variables de servidor «%s»: %s\n" +msgid "redirecting log output to logging collector process" +msgstr "redirigiendo la salida del registro al proceso recolector de registro" -#: postmaster/postmaster.c:6242 +#: postmaster/syslogger.c:732 #, c-format -msgid "could not read from backend variables file \"%s\": %s\n" -msgstr "no se pudo leer el archivo de variables de servidor «%s»: %s\n" +msgid "Future log output will appear in directory \"%s\"." +msgstr "La salida futura del registro aparecerá en el directorio «%s»." -#: postmaster/postmaster.c:6251 +#: postmaster/syslogger.c:740 #, c-format -msgid "could not remove file \"%s\": %s\n" -msgstr "no se pudo eliminar el archivo «%s»: %s\n" +msgid "could not redirect stdout: %m" +msgstr "no se pudo redirigir stdout: %m" -#: postmaster/postmaster.c:6268 +#: postmaster/syslogger.c:745 postmaster/syslogger.c:762 #, c-format -msgid "could not map view of backend variables: error code %lu\n" -msgstr "no se pudo mapear la vista del archivo de variables: código de error %lu\n" +msgid "could not redirect stderr: %m" +msgstr "no se pudo redirigir stderr: %m" -#: postmaster/postmaster.c:6277 -#, c-format -msgid "could not unmap view of backend variables: error code %lu\n" -msgstr "no se pudo desmapear la vista del archivo de variables: código de error %lu\n" +#: postmaster/syslogger.c:1128 +#, fuzzy, c-format +msgid "could not write to log file: %m\n" +msgstr "no se pudo escribir al archivo de log: %s\n" -#: postmaster/postmaster.c:6284 +#: postmaster/syslogger.c:1246 #, c-format -msgid "could not close handle to backend parameter variables: error code %lu\n" -msgstr "no se pudo cerrar el archivo de variables de servidor: código de error %lu\n" +msgid "could not open log file \"%s\": %m" +msgstr "no se pudo abrir el archivo de registro «%s»: %m" -#: postmaster/postmaster.c:6443 +#: postmaster/syslogger.c:1336 #, c-format -msgid "could not read exit code for process\n" -msgstr "no se pudo leer el código de salida del proceso\n" +msgid "disabling automatic rotation (use SIGHUP to re-enable)" +msgstr "desactivando rotación automática (use SIGHUP para reactivarla)" -#: postmaster/postmaster.c:6485 +#: postmaster/walsummarizer.c:385 #, c-format -msgid "could not post child completion status\n" -msgstr "no se pudo publicar el estado de completitud del proceso hijo\n" +msgid "switch point from TLI %u to TLI %u is at %X/%X" +msgstr "" -#: postmaster/syslogger.c:501 postmaster/syslogger.c:1222 +#: postmaster/walsummarizer.c:740 #, c-format -msgid "could not read from logger pipe: %m" -msgstr "no se pudo leer desde la tubería de log: %m" +msgid "WAL summarization is not progressing" +msgstr "el resumen de WAL no está progresando" -#: postmaster/syslogger.c:598 postmaster/syslogger.c:612 +#: postmaster/walsummarizer.c:741 #, c-format -msgid "could not create pipe for syslog: %m" -msgstr "no se pudo crear la tubería para syslog: %m" +msgid "Summarization is needed through %X/%X, but is stuck at %X/%X on disk and %X/%X in memory." +msgstr "El resumen de WAL se necesita hasta %X/%X, pero está detenido en %X/%X en disco y %X/%X en memoria." -#: postmaster/syslogger.c:677 +#: postmaster/walsummarizer.c:755 #, c-format -msgid "could not fork system logger: %m" -msgstr "no se pudo crear el proceso de log: %m" +msgid "still waiting for WAL summarization through %X/%X after %ld seconds" +msgstr "todavía esperando al resumen de WAL hasta %X/%X después de %ld segundos" -#: postmaster/syslogger.c:713 +#: postmaster/walsummarizer.c:758 #, c-format -msgid "redirecting log output to logging collector process" -msgstr "redirigiendo la salida del registro al proceso recolector de registro" +msgid "Summarization has reached %X/%X on disk and %X/%X in memory." +msgstr "El resumen ha alcanzado %X/%X en disco y %X/%X en memoria." -#: postmaster/syslogger.c:714 +#: postmaster/walsummarizer.c:998 #, c-format -msgid "Future log output will appear in directory \"%s\"." -msgstr "La salida futura del registro aparecerá en el directorio «%s»." +msgid "could not find a valid record after %X/%X" +msgstr "no se pudo encontrar un registro válido después de %X/%X" -#: postmaster/syslogger.c:722 +#: postmaster/walsummarizer.c:1043 #, c-format -msgid "could not redirect stdout: %m" -msgstr "no se pudo redirigir stdout: %m" +msgid "could not read WAL from timeline %u at %X/%X: %s" +msgstr "no se pudo leer WAL del timeline %u en %X/%X: %s" -#: postmaster/syslogger.c:727 postmaster/syslogger.c:744 +#: postmaster/walsummarizer.c:1049 #, c-format -msgid "could not redirect stderr: %m" -msgstr "no se pudo redirigir stderr: %m" +msgid "could not read WAL from timeline %u at %X/%X" +msgstr "no se pudo leer WAL del timeline %u en %X/%X" -#: postmaster/syslogger.c:1177 +#: postmaster/walsummarizer.c:1220 #, c-format -msgid "could not write to log file: %s\n" -msgstr "no se pudo escribir al archivo de log: %s\n" +msgid "summarized WAL on TLI %u from %X/%X to %X/%X" +msgstr "resumido el WAL en el TLI %u desde %X/%X hasta %X/%X" -#: postmaster/syslogger.c:1295 +#: postmaster/walsummarizer.c:1232 #, c-format -msgid "could not open log file \"%s\": %m" -msgstr "no se pudo abrir el archivo de registro «%s»: %m" +msgid "skipped summarizing WAL on TLI %u from %X/%X to %X/%X" +msgstr "omitiendo resumir el WAL en el TLI %u desde %X/%X hasta %X/%X" -#: postmaster/syslogger.c:1385 +#: postmaster/walsummarizer.c:1578 #, c-format -msgid "disabling automatic rotation (use SIGHUP to re-enable)" -msgstr "desactivando rotación automática (use SIGHUP para reactivarla)" +msgid "timeline %u became historic, can read up to %X/%X" +msgstr "el timeline %u se volvió histórico, se puede leer hasta %X/%X" -#: regex/regc_pg_locale.c:242 +#: regex/regc_pg_locale.c:244 #, c-format msgid "could not determine which collation to use for regular expression" msgstr "no se pudo determinar qué ordenamiento usar para la expresión regular" -#: regex/regc_pg_locale.c:265 +#: regex/regc_pg_locale.c:262 #, c-format 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:197 -#: replication/libpqwalreceiver/libpqwalreceiver.c:280 -#, fuzzy, c-format -#| msgid "redo is not required" +#: replication/libpqwalreceiver/libpqwalreceiver.c:267 +#: replication/libpqwalreceiver/libpqwalreceiver.c:358 +#, c-format msgid "password is required" -msgstr "no se requiere redo" +msgstr "una contraseña es requerida" -#: replication/libpqwalreceiver/libpqwalreceiver.c:198 +#: replication/libpqwalreceiver/libpqwalreceiver.c:268 #, c-format msgid "Non-superuser cannot connect if the server does not request a password." -msgstr "" +msgstr "No-superusuario no se puede conectar si el servidor no pide una constraseña." -#: replication/libpqwalreceiver/libpqwalreceiver.c:199 +#: replication/libpqwalreceiver/libpqwalreceiver.c:269 #, c-format -msgid "Target server's authentication method must be changed. or set password_required=false in the subscription attributes." -msgstr "" +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:211 +#: replication/libpqwalreceiver/libpqwalreceiver.c:285 #, c-format msgid "could not clear search path: %s" msgstr "no se pudo limpiar la ruta de búsqueda: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:257 +#: replication/libpqwalreceiver/libpqwalreceiver.c:331 +#: replication/libpqwalreceiver/libpqwalreceiver.c:517 #, c-format msgid "invalid connection string syntax: %s" msgstr "sintaxis de cadena de conexión no válida: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:281 +#: replication/libpqwalreceiver/libpqwalreceiver.c:359 #, c-format msgid "Non-superusers must provide a password in the connection string." -msgstr "" +msgstr "No-superusuario debe proveer una contraseña en la cadena de conexión." -#: replication/libpqwalreceiver/libpqwalreceiver.c:307 +#: replication/libpqwalreceiver/libpqwalreceiver.c:386 #, c-format msgid "could not parse connection string: %s" msgstr "no se pudo interpretar la cadena de conexión: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:380 +#: replication/libpqwalreceiver/libpqwalreceiver.c:459 #, 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:392 -#: replication/libpqwalreceiver/libpqwalreceiver.c:635 +#: replication/libpqwalreceiver/libpqwalreceiver.c:476 +#: replication/libpqwalreceiver/libpqwalreceiver.c:763 #, c-format msgid "invalid response from primary server" msgstr "respuesta no válida del servidor primario" -#: replication/libpqwalreceiver/libpqwalreceiver.c:393 +#: replication/libpqwalreceiver/libpqwalreceiver.c:477 #, 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:478 -#: replication/libpqwalreceiver/libpqwalreceiver.c:485 -#: replication/libpqwalreceiver/libpqwalreceiver.c:515 +#: replication/libpqwalreceiver/libpqwalreceiver.c:606 +#: replication/libpqwalreceiver/libpqwalreceiver.c:613 +#: replication/libpqwalreceiver/libpqwalreceiver.c:643 #, c-format msgid "could not start WAL streaming: %s" msgstr "no se pudo iniciar el flujo de WAL: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:539 +#: replication/libpqwalreceiver/libpqwalreceiver.c:667 #, 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:562 +#: replication/libpqwalreceiver/libpqwalreceiver.c:690 #, 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:577 +#: replication/libpqwalreceiver/libpqwalreceiver.c:705 #, 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:587 +#: replication/libpqwalreceiver/libpqwalreceiver.c:715 #, 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:596 -#: replication/libpqwalreceiver/libpqwalreceiver.c:832 +#: replication/libpqwalreceiver/libpqwalreceiver.c:724 +#: replication/libpqwalreceiver/libpqwalreceiver.c:957 #, c-format msgid "unexpected result after CommandComplete: %s" msgstr "resultado inesperado después de CommandComplete: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:623 +#: replication/libpqwalreceiver/libpqwalreceiver.c:751 #, 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:636 +#: replication/libpqwalreceiver/libpqwalreceiver.c:764 #, 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:795 -#: replication/libpqwalreceiver/libpqwalreceiver.c:848 -#: replication/libpqwalreceiver/libpqwalreceiver.c:855 +#: replication/libpqwalreceiver/libpqwalreceiver.c:920 +#: replication/libpqwalreceiver/libpqwalreceiver.c:973 +#: replication/libpqwalreceiver/libpqwalreceiver.c:980 #, 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:875 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1000 #, 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:967 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1101 #, c-format msgid "could not create replication slot \"%s\": %s" -msgstr "no se pudo create el slot de replicación «%s»: %s" +msgstr "no se pudo crear el slot de replicación «%s»: %s" + +#: replication/libpqwalreceiver/libpqwalreceiver.c:1140 +#, 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:1013 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1174 #, c-format msgid "invalid query response" msgstr "respuesta no válida a consulta" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1014 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1175 #, c-format msgid "Expected %d fields, got %d fields." msgstr "Se esperaban %d campos, se obtuvieron %d campos." -#: replication/libpqwalreceiver/libpqwalreceiver.c:1084 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1245 #, 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:1115 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1277 msgid "empty query" msgstr "consulta vacía" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1121 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1283 msgid "unexpected pipeline mode" msgstr "modo pipeline inesperado" #: replication/logical/applyparallelworker.c:719 -#, fuzzy, c-format -#| msgid "logical replication table synchronization worker for subscription \"%s\", table \"%s\" has finished" +#, c-format msgid "logical replication parallel apply worker for subscription \"%s\" has finished" -msgstr "el ayudante de sincronización de tabla de replicación lógica para la suscripción «%s», tabla «%s» ha terminado" +msgstr "el ayudante paralelo «apply» de replicación lógica para la suscripción «%s» ha terminado" -#: replication/logical/applyparallelworker.c:825 -#, fuzzy, c-format -#| msgid "lost connection to parallel worker" +#: replication/logical/applyparallelworker.c:822 +#, c-format msgid "lost connection to the logical replication apply worker" -msgstr "se ha perdido la conexión al ayudante paralelo" +msgstr "se ha perdido la conexión al ayudante paralelo “apply” de replicación" -#: replication/logical/applyparallelworker.c:893 -#, fuzzy, c-format -#| msgid "could not map dynamic shared memory segment" -msgid "unable to map dynamic shared memory segment" -msgstr "no se pudo mapear el segmento de memoria compartida dinámica" - -#: replication/logical/applyparallelworker.c:899 -#, fuzzy, c-format -#| msgid "invalid magic number in dynamic shared memory segment" -msgid "bad magic number in dynamic shared memory segment" -msgstr "número mágico no válido en segmento de memoria compartida dinámica" - -#: replication/logical/applyparallelworker.c:1027 -#: replication/logical/applyparallelworker.c:1029 -#: replication/logical/worker.c:447 -#, fuzzy -#| msgid "lost connection to parallel worker" +#: replication/logical/applyparallelworker.c:1024 +#: replication/logical/applyparallelworker.c:1026 msgid "logical replication parallel apply worker" -msgstr "se ha perdido la conexión al ayudante paralelo" +msgstr "ayudante paralelo “apply” de replicación lógica" -#: replication/logical/applyparallelworker.c:1043 -#, fuzzy, c-format -#| msgid "terminating logical replication worker due to timeout" +#: replication/logical/applyparallelworker.c:1040 +#, c-format msgid "logical replication parallel apply worker exited due to error" -msgstr "terminando el proceso de replicación lógica debido a que se agotó el tiempo de espera" +msgstr "el ayudante paralelo “apply” de replicación lógica terminó debido a un error" -#: replication/logical/applyparallelworker.c:1130 -#: replication/logical/applyparallelworker.c:1303 -#, fuzzy, c-format -#| msgid "lost connection to parallel worker" +#: replication/logical/applyparallelworker.c:1127 +#: replication/logical/applyparallelworker.c:1300 +#, c-format msgid "lost connection to the logical replication parallel apply worker" -msgstr "se ha perdido la conexión al ayudante paralelo" +msgstr "se perdió la conexión al ayudante paralelo “apply” de replicación lógica" -#: replication/logical/applyparallelworker.c:1183 -#, fuzzy, c-format -#| msgid "could not send tuple to shared-memory queue" +#: replication/logical/applyparallelworker.c:1180 +#, c-format msgid "could not send data to shared-memory queue" -msgstr "no se pudo enviar la tupla a la cola en memoria compartida" +msgstr "no se pudo enviar datos a la cola en memoria compartida" -#: replication/logical/applyparallelworker.c:1218 +#: replication/logical/applyparallelworker.c:1215 #, c-format msgid "logical replication apply worker will serialize the remaining changes of remote transaction %u to a file" -msgstr "" +msgstr "el ayudante paralelo «apply» de replicación lógica serializará los cambios restantes de la transacción remota %u a un archivo" # FIXME see slot.c:779. See also postmaster.c:835 -#: replication/logical/decode.c:180 replication/logical/logical.c:140 -#, fuzzy, c-format -#| msgid "logical decoding requires wal_level >= logical" -msgid "logical decoding on standby requires wal_level >= logical on the primary" -msgstr "la decodificación lógica requiere wal_level >= logical" +#: replication/logical/decode.c:177 replication/logical/logical.c:141 +#, c-format +msgid "logical decoding on standby requires \"wal_level\" >= \"logical\" on the primary" +msgstr "la decodificación lógica en standby requiere «wal_level» >= «logical» en el primario" -#: replication/logical/launcher.c:331 +#: replication/logical/launcher.c:334 #, c-format msgid "cannot start logical replication workers when max_replication_slots = 0" msgstr "no se pueden iniciar procesos ayudantes de replicación cuando max_replication_slots = 0" -#: replication/logical/launcher.c:424 +#: replication/logical/launcher.c:427 #, c-format msgid "out of logical replication worker slots" msgstr "se agotaron los slots de procesos ayudantes de replicación" -#: replication/logical/launcher.c:425 +#: replication/logical/launcher.c:428 replication/logical/launcher.c:514 +#: replication/slot.c:1524 storage/lmgr/lock.c:985 storage/lmgr/lock.c:1023 +#: storage/lmgr/lock.c:2826 storage/lmgr/lock.c:4211 storage/lmgr/lock.c:4276 +#: storage/lmgr/lock.c:4626 storage/lmgr/predicate.c:2464 +#: storage/lmgr/predicate.c:2479 storage/lmgr/predicate.c:3876 #, c-format -msgid "You might need to increase max_logical_replication_workers." -msgstr "Puede ser necesario incrementar max_logical_replication_workers." +msgid "You might need to increase \"%s\"." +msgstr "Puede ser necesario incrementar «%s»." -#: replication/logical/launcher.c:498 +#: replication/logical/launcher.c:513 #, c-format msgid "out of background worker slots" msgstr "se acabaron los slots de procesos ayudante" -#: replication/logical/launcher.c:499 -#, c-format -msgid "You might need to increase max_worker_processes." -msgstr "Puede ser necesario incrementar max_worker_processes." - -#: replication/logical/launcher.c:705 +#: replication/logical/launcher.c:720 #, c-format msgid "logical replication worker slot %d is empty, cannot attach" msgstr "el slot del worker de replicación lógica %d está vacío, no se puede adjuntar" -#: replication/logical/launcher.c:714 +#: replication/logical/launcher.c:729 #, c-format msgid "logical replication worker slot %d is already used by another worker, cannot attach" msgstr "el slot de replicación lógica %d ya está siendo utilizado por otro worker, no se puede adjuntar" # FIXME see slot.c:779. See also postmaster.c:835 -#: replication/logical/logical.c:120 +#: replication/logical/logical.c:121 #, c-format -msgid "logical decoding requires wal_level >= logical" -msgstr "la decodificación lógica requiere wal_level >= logical" +msgid "logical decoding requires \"wal_level\" >= \"logical\"" +msgstr "la decodificación lógica requiere «wal_level» >= «logical»" -#: replication/logical/logical.c:125 +#: replication/logical/logical.c:126 #, c-format 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:363 replication/logical/logical.c:517 +#: replication/logical/logical.c:365 replication/logical/logical.c:519 #, 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:368 replication/logical/logical.c:522 +#: replication/logical/logical.c:370 replication/logical/logical.c:529 #, 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" -#: replication/logical/logical.c:375 +#: replication/logical/logical.c:377 #, c-format 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:534 replication/logical/logical.c:541 +#: replication/logical/logical.c:540 +#, 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:542 +#, c-format +msgid "This slot is being synchronized from the primary server." +msgstr "Este slot está siendo sincronizado desde el servidor primario." + +#: replication/logical/logical.c:543 +#, c-format +msgid "Specify another replication slot." +msgstr "Especifique otro slot de replicación." + +#: replication/logical/logical.c:554 replication/logical/logical.c:561 #, 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:536 +#: replication/logical/logical.c:556 #, 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:543 -#, fuzzy, c-format -#| msgid "This slot has been invalidated because it exceeded the maximum reserved size." +#: replication/logical/logical.c:563 +#, c-format msgid "This slot has been invalidated because it was conflicting with recovery." -msgstr "Este slot ha sido invalidado porque excedió el máximo del tamaño de reserva." +msgstr "Este slot ha sido invalidado porque estaba en conflicto con la recuperación." -#: replication/logical/logical.c:608 +#: replication/logical/logical.c:628 #, c-format msgid "starting logical decoding for slot \"%s\"" msgstr "iniciando la decodificación lógica para el slot «%s»" -#: replication/logical/logical.c:610 +#: replication/logical/logical.c:630 #, 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:758 +#: replication/logical/logical.c:778 #, 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:764 +#: replication/logical/logical.c:784 #, 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:935 replication/logical/logical.c:980 -#: replication/logical/logical.c:1025 replication/logical/logical.c:1071 +#: replication/logical/logical.c:955 replication/logical/logical.c:1000 +#: replication/logical/logical.c:1045 replication/logical/logical.c:1091 #, 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:1303 replication/logical/logical.c:1352 -#: replication/logical/logical.c:1393 replication/logical/logical.c:1479 -#: replication/logical/logical.c:1528 +#: 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 #, c-format msgid "logical streaming requires a %s callback" msgstr "el flujo lógico requiere una función callback %s" -#: replication/logical/logical.c:1438 +#: replication/logical/logical.c:1458 #, 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" -#: replication/logical/logicalfuncs.c:126 +#: replication/logical/logicalfuncs.c:123 #, c-format msgid "slot name must not be null" msgstr "el nombre de slot no debe ser null" -#: replication/logical/logicalfuncs.c:142 +#: replication/logical/logicalfuncs.c:139 #, c-format msgid "options array must not be null" msgstr "el array de opciones no debe ser null" -#: replication/logical/logicalfuncs.c:159 +#: replication/logical/logicalfuncs.c:156 #, c-format msgid "array must be one-dimensional" msgstr "el array debe ser unidimensional" -#: replication/logical/logicalfuncs.c:165 +#: replication/logical/logicalfuncs.c:162 #, c-format msgid "array must not contain nulls" msgstr "el array no debe contener nulls" -#: replication/logical/logicalfuncs.c:180 utils/adt/json.c:1484 -#: utils/adt/jsonb.c:1403 +#: replication/logical/logicalfuncs.c:177 utils/adt/json.c:1406 +#: utils/adt/jsonb.c:1304 #, c-format msgid "array must have even number of elements" msgstr "el array debe tener un número par de elementos" -#: replication/logical/logicalfuncs.c:227 +#: replication/logical/logicalfuncs.c:224 #, c-format msgid "logical decoding output plugin \"%s\" produces binary output, but function \"%s\" expects textual data" msgstr "el plugin de salida de decodificación lógica «%s» produce salida binaria, pero «%s» espera datos textuales" #: replication/logical/origin.c:190 #, c-format -msgid "cannot query or manipulate replication origin when max_replication_slots = 0" -msgstr "no se puede consultar o manipular orígenes de replicación cuando max_replication_slots = 0" +msgid "cannot query or manipulate replication origin when \"max_replication_slots\" is 0" +msgstr "no se puede consultar o manipular orígenes de replicación cuando «max_replication_slots» = 0" #: replication/logical/origin.c:195 #, c-format @@ -20167,22 +20606,19 @@ msgid "replication origin \"%s\" does not exist" msgstr "no existe el origen de replicación «%s»" #: replication/logical/origin.c:331 -#, fuzzy, c-format -#| msgid "could not create replication slot \"%s\": %s" +#, c-format msgid "could not find free replication origin ID" -msgstr "no se pudo create el slot de replicación «%s»: %s" +msgstr "no se pudo encontrar un ID de origen de replicación disponible" #: replication/logical/origin.c:365 -#, fuzzy, c-format -#| msgid "could not drop replication slot \"%s\" on publisher: %s" +#, c-format msgid "could not drop replication origin with ID %d, in use by PID %d" -msgstr "no se pudo eliminar el slot de replicación «%s» en editor (publisher): %s" +msgstr "no se pudo eliminar el origen de replicación con ID %d, en uso por el PID %d" #: replication/logical/origin.c:492 -#, fuzzy, c-format -#| msgid "replication origin \"%s\" does not exist" +#, c-format msgid "replication origin with ID %d does not exist" -msgstr "no existe el origen de replicación «%s»" +msgstr "no existe el origen de replicación con ID %d" #: replication/logical/origin.c:757 #, c-format @@ -20191,1096 +20627,1300 @@ msgstr "el checkpoint de replicación tiene número mágico erróneo %u en lugar #: replication/logical/origin.c:798 #, c-format -msgid "could not find free replication state, increase max_replication_slots" -msgstr "no se pudo encontrar una estructura de replicación libre, incremente max_replication_slots" +msgid "could not find free replication state, increase \"max_replication_slots\"" +msgstr "no se pudo encontrar una estructura de replicación libre, incremente «max_replication_slots»" #: replication/logical/origin.c:806 -#, fuzzy, c-format -#| msgid "recovery restart point at %X/%X" +#, c-format msgid "recovered replication state of node %d to %X/%X" -msgstr "restartpoint de recuperación en %X/%X" +msgstr "recuperado el estado de replicación del nodo %d a %X/%X" #: replication/logical/origin.c:816 #, c-format msgid "replication slot checkpoint has wrong checksum %u, expected %u" msgstr "el checkpoint del slot de replicación tiene suma de verificación errónea %u, se esperaba %u" -#: replication/logical/origin.c:944 replication/logical/origin.c:1141 -#, fuzzy, c-format -#| msgid "replication slot \"%s\" is active for PID %d" +#: replication/logical/origin.c:944 replication/logical/origin.c:1143 +#, c-format msgid "replication origin with ID %d is already active for PID %d" -msgstr "el slot de replicación «%s» está activo para el PID %d" +msgstr "el origen de replicación con ID %d está activo para el PID %d" -#: replication/logical/origin.c:955 replication/logical/origin.c:1153 -#, fuzzy, c-format -#| msgid "could not find free replication state, increase max_replication_slots" +#: replication/logical/origin.c:955 replication/logical/origin.c:1156 +#, c-format msgid "could not find free replication state slot for replication origin with ID %d" -msgstr "no se pudo encontrar una estructura de replicación libre, incremente max_replication_slots" +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:1155 -#: replication/slot.c:2086 +#: replication/logical/origin.c:957 replication/logical/origin.c:1158 +#: replication/slot.c:2384 #, c-format -msgid "Increase max_replication_slots and try again." -msgstr "Aumente max_replication_slots y reintente." +msgid "Increase \"max_replication_slots\" and try again." +msgstr "Aumente «max_replication_slots» y reintente." -#: replication/logical/origin.c:1112 +#: replication/logical/origin.c:1114 #, c-format msgid "cannot setup replication origin when one is already setup" msgstr "no se puede establecer un destino de replicación cuando ya hay uno definido" -#: replication/logical/origin.c:1196 replication/logical/origin.c:1412 -#: replication/logical/origin.c:1432 +#: replication/logical/origin.c:1199 replication/logical/origin.c:1415 +#: replication/logical/origin.c:1435 #, c-format msgid "no replication origin is configured" msgstr "no hay un destino de replicación configurado" -#: replication/logical/origin.c:1282 +#: replication/logical/origin.c:1285 #, c-format msgid "replication origin name \"%s\" is reserved" msgstr "el nombre de origen de replicación «%s» está reservado" -#: replication/logical/origin.c:1284 -#, fuzzy, c-format -#| msgid "Role names starting with \"pg_\" are reserved." +#: replication/logical/origin.c:1287 +#, c-format msgid "Origin names \"%s\", \"%s\", and names starting with \"pg_\" are reserved." -msgstr "Los nombres de rol que empiezan con «pg_» están reservados." +msgstr "Los nombres de origen «%s», «%s» y los que empiezan con «pg_» están reservados." -#: replication/logical/relation.c:240 +#: replication/logical/relation.c:242 #, c-format msgid "\"%s\"" msgstr "«%s»" -#: replication/logical/relation.c:243 +#: replication/logical/relation.c:245 #, c-format msgid ", \"%s\"" msgstr ", «%s»" -#: replication/logical/relation.c:249 +#: replication/logical/relation.c:251 #, c-format msgid "logical replication target relation \"%s.%s\" is missing replicated column: %s" msgid_plural "logical replication target relation \"%s.%s\" is missing replicated columns: %s" msgstr[0] "a la relación destino de replicación lógica «%s.%s» le falta la columna replicada: %s" msgstr[1] "a la relación destino de replicación lógica «%s.%s» le faltan las columnas replicadas: %s" -#: replication/logical/relation.c:304 +#: replication/logical/relation.c:306 #, c-format msgid "logical replication target relation \"%s.%s\" uses system columns in REPLICA IDENTITY index" msgstr "la relación de destino de replicación lógica «%s.%s» usa columnas de sistemas en el índice REPLICA IDENTITY" -#: replication/logical/relation.c:396 +#: replication/logical/relation.c:398 #, c-format msgid "logical replication target relation \"%s.%s\" does not exist" msgstr "la relación destino de replicación lógica «%s.%s» no existe" -#: replication/logical/reorderbuffer.c:3936 +#: replication/logical/reorderbuffer.c:3970 #, c-format msgid "could not write to data file for XID %u: %m" msgstr "no se pudo escribir al archivo de datos para el XID %u: %m" -#: replication/logical/reorderbuffer.c:4282 -#: replication/logical/reorderbuffer.c:4307 +#: replication/logical/reorderbuffer.c:4316 +#: replication/logical/reorderbuffer.c:4341 #, c-format msgid "could not read from reorderbuffer spill file: %m" msgstr "no se pudo leer desde el archivo de desborde de reorderbuffer: %m" -#: replication/logical/reorderbuffer.c:4286 -#: replication/logical/reorderbuffer.c:4311 +#: replication/logical/reorderbuffer.c:4320 +#: replication/logical/reorderbuffer.c:4345 #, c-format msgid "could not read from reorderbuffer spill file: read %d instead of %u bytes" msgstr "no se pudo leer desde el archivo de desborde de reorderbuffer: se leyeron sólo %d en ve de %u bytes" -#: replication/logical/reorderbuffer.c:4561 +#: replication/logical/reorderbuffer.c:4595 #, c-format msgid "could not remove file \"%s\" during removal of pg_replslot/%s/xid*: %m" msgstr "no se pudo borrar el archivo «%s» durante la eliminación de pg_replslot/%s/xid*: %m" # FIXME almost duplicated again!? -#: replication/logical/reorderbuffer.c:5057 +#: replication/logical/reorderbuffer.c:5091 #, c-format 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/snapbuild.c:639 +#: replication/logical/slotsync.c:215 +#, c-format +msgid "could not sync slot \"%s\" as remote slot precedes local slot" +msgstr "" + +#: replication/logical/slotsync.c:217 +#, c-format +msgid "Remote slot has LSN %X/%X and catalog xmin %u, but local slot has LSN %X/%X and catalog xmin %u." +msgstr "" + +#: replication/logical/slotsync.c:459 +#, fuzzy, c-format +msgid "dropped replication slot \"%s\" of dbid %u" +msgstr "eliminando el slot de replicación «%s» en publicador" + +#: replication/logical/slotsync.c:579 +#, fuzzy, c-format +msgid "could not sync slot \"%s\"" +msgstr "no se pudo sincronizar (fsync) archivo «%s»: %m" + +#: replication/logical/slotsync.c:580 +#, fuzzy, c-format +msgid "Logical decoding cannot find consistent point from local slot's LSN %X/%X." +msgstr "la decodificación lógica encontró un punto consistente en %X/%X" + +#: replication/logical/slotsync.c:589 +#, c-format +msgid "newly created slot \"%s\" is sync-ready now" +msgstr "" + +#: replication/logical/slotsync.c:628 +#, c-format +msgid "skipping slot synchronization as the received slot sync LSN %X/%X for slot \"%s\" is ahead of the standby position %X/%X" +msgstr "" + +#: replication/logical/slotsync.c:650 +#, c-format +msgid "exiting from slot synchronization because same name slot \"%s\" already exists on the standby" +msgstr "" + +#: replication/logical/slotsync.c:819 +#, fuzzy, c-format +msgid "could not fetch failover logical slots info from the primary server: %s" +msgstr "no se pudo recibir el archivo de historia de timeline del servidor primario: %s" + +#: replication/logical/slotsync.c:965 +#, fuzzy, c-format +msgid "could not fetch primary_slot_name \"%s\" info from the primary server: %s" +msgstr "no se pudo recibir el archivo de historia de timeline del servidor primario: %s" + +#: replication/logical/slotsync.c:967 +#, c-format +msgid "Check if primary_slot_name is configured correctly." +msgstr "" + +#: replication/logical/slotsync.c:987 +#, fuzzy, c-format +msgid "cannot synchronize replication slots from a standby server" +msgstr "no puede copiar un slot de replicación que no ha reservado WAL" + +#: replication/logical/slotsync.c:995 +#, c-format +msgid "slot synchronization requires valid primary_slot_name" +msgstr "" + +#. translator: second %s is a GUC variable name +#: replication/logical/slotsync.c:997 +#, fuzzy, c-format +msgid "The replication slot \"%s\" specified by %s does not exist on the primary server." +msgstr "no existe la publicación «%s» en el “publisher”" + +#: replication/logical/slotsync.c:1029 +#, c-format +msgid "slot synchronization requires dbname to be specified in %s" +msgstr "" + +# FIXME see slot.c:779. See also postmaster.c:835 +#: replication/logical/slotsync.c:1050 +#, c-format +msgid "slot synchronization requires \"wal_level\" >= \"logical\"" +msgstr "la sincronización de slots requiere «wal_level» >= «logical»" + +#: replication/logical/slotsync.c:1063 replication/logical/slotsync.c:1091 +#, fuzzy, c-format +msgid "slot synchronization requires %s to be defined" +msgstr "Forzar la sincronización de escrituras a disco." + +#: replication/logical/slotsync.c:1077 +#, c-format +msgid "slot synchronization requires %s to be enabled" +msgstr "" + +#. translator: %s is a GUC variable name +#: replication/logical/slotsync.c:1129 +#, c-format +msgid "slot sync worker will shutdown because %s is disabled" +msgstr "" + +#: replication/logical/slotsync.c:1138 +#, fuzzy, c-format +msgid "slot sync worker will restart because of a parameter change" +msgstr "el ayudante «apply» de replicación lógica para la suscripción «%s» se reiniciará por un cambio de parámetro" + +#: replication/logical/slotsync.c:1162 +#, c-format +msgid "slot sync worker is shutting down on receiving SIGINT" +msgstr "" + +#: replication/logical/slotsync.c:1287 +#, c-format +msgid "cannot synchronize replication slots when standby promotion is ongoing" +msgstr "" + +#: replication/logical/slotsync.c:1295 +#, fuzzy, c-format +msgid "cannot synchronize replication slots concurrently" +msgstr "no se pueden reindexar catálogos de sistema concurrentemente" + +#: replication/logical/slotsync.c:1403 +#, c-format +msgid "slot sync worker started" +msgstr "" + +#: replication/logical/slotsync.c:1466 replication/slotfuncs.c:900 +#: replication/walreceiver.c:307 +#, c-format +msgid "could not connect to the primary server: %s" +msgstr "no se pudo conectar al servidor primario: %s" + +#: replication/logical/snapbuild.c:653 #, c-format msgid "initial slot snapshot too large" msgstr "el snapshot inicial del slot es demasiado grande" # FIXME: snapshot? instantánea? -#: replication/logical/snapbuild.c:693 +#: replication/logical/snapbuild.c:707 #, c-format msgid "exported logical decoding snapshot: \"%s\" with %u transaction ID" msgid_plural "exported logical decoding snapshot: \"%s\" with %u transaction IDs" msgstr[0] "se exportó un snapshot de decodificación lógica: «%s» con %u ID de transacción" msgstr[1] "se exportó un snapshot de decodificación lógica: «%s» con %u IDs de transacción" -#: replication/logical/snapbuild.c:1388 replication/logical/snapbuild.c:1480 -#: replication/logical/snapbuild.c:1992 +#: replication/logical/snapbuild.c:1404 replication/logical/snapbuild.c:1501 +#: replication/logical/snapbuild.c:2017 #, c-format msgid "logical decoding found consistent point at %X/%X" msgstr "la decodificación lógica encontró un punto consistente en %X/%X" -#: replication/logical/snapbuild.c:1390 +#: replication/logical/snapbuild.c:1406 #, c-format msgid "There are no running transactions." msgstr "No hay transacciones en ejecución." -#: replication/logical/snapbuild.c:1432 +#: replication/logical/snapbuild.c:1453 #, c-format msgid "logical decoding found initial starting point at %X/%X" msgstr "decodificación lógica encontró punto de inicio en %X/%X" -#: replication/logical/snapbuild.c:1434 replication/logical/snapbuild.c:1458 +#: replication/logical/snapbuild.c:1455 replication/logical/snapbuild.c:1479 #, c-format msgid "Waiting for transactions (approximately %d) older than %u to end." msgstr "Esperando que las (aproximadamente %d) transacciones más antiguas que %u terminen." -#: replication/logical/snapbuild.c:1456 +#: replication/logical/snapbuild.c:1477 #, c-format msgid "logical decoding found initial consistent point at %X/%X" msgstr "la decodificación lógica encontró un punto consistente inicial en %X/%X" -#: replication/logical/snapbuild.c:1482 +#: replication/logical/snapbuild.c:1503 #, c-format msgid "There are no old transactions anymore." msgstr "Ya no hay transacciones antiguas en ejecución." # FIXME "snapbuild"? -#: replication/logical/snapbuild.c:1883 +#: replication/logical/snapbuild.c:1904 #, c-format msgid "snapbuild state file \"%s\" has wrong magic number: %u instead of %u" msgstr "el archivo de estado de snapbuild «%s» tiene número mágico erróneo: %u en lugar de %u" -#: replication/logical/snapbuild.c:1889 +#: replication/logical/snapbuild.c:1910 #, c-format msgid "snapbuild state file \"%s\" has unsupported version: %u instead of %u" msgstr "el archivo de estado de snapbuild «%s» tiene versión no soportada: %u en vez de %u" -#: replication/logical/snapbuild.c:1930 +#: replication/logical/snapbuild.c:1951 #, c-format msgid "checksum mismatch for snapbuild state file \"%s\": is %u, should be %u" msgstr "suma de verificación no coincidente para el archivo de estado de snapbuild «%s»: es %u, debería ser %u" -#: replication/logical/snapbuild.c:1994 +#: replication/logical/snapbuild.c:2019 #, c-format msgid "Logical decoding will begin using saved snapshot." msgstr "La decodificación lógica comenzará usando el snapshot guardado." -#: replication/logical/snapbuild.c:2101 +#: replication/logical/snapbuild.c:2126 #, c-format msgid "could not parse file name \"%s\"" msgstr "no se pudo interpretar el nombre de archivo «%s»" -#: replication/logical/tablesync.c:152 +#: replication/logical/tablesync.c:161 #, c-format msgid "logical replication table synchronization worker for subscription \"%s\", table \"%s\" has finished" msgstr "el ayudante de sincronización de tabla de replicación lógica para la suscripción «%s», tabla «%s» ha terminado" -#: replication/logical/tablesync.c:621 -#, fuzzy, c-format -#| msgid "logical replication table synchronization worker for subscription \"%s\", table \"%s\" has started" +#: replication/logical/tablesync.c:641 +#, c-format msgid "logical replication apply worker for subscription \"%s\" will restart so that two_phase can be enabled" -msgstr "el ayudante de sincronización de tabla de replicación lógica para la suscripción «%s», tabla «%s» ha iniciado" +msgstr "el ayudante «apply» de replicación lógica para la suscripción «%s» se reiniciará para activar «two_phase»" -#: replication/logical/tablesync.c:796 replication/logical/tablesync.c:938 +#: replication/logical/tablesync.c:827 replication/logical/tablesync.c:969 #, c-format msgid "could not fetch table info for table \"%s.%s\" from publisher: %s" -msgstr "no se pudo obtener información de la tabla «%s.%s» del editor (publisher): %s" +msgstr "no se pudo obtener información de la tabla «%s.%s» del publicador: %s" -#: replication/logical/tablesync.c:803 +#: replication/logical/tablesync.c:834 #, c-format msgid "table \"%s.%s\" not found on publisher" -msgstr "la tabla \"%s.%s\" no fue encontrada en el editor (publisher)" +msgstr "la tabla \"%s.%s\" no fue encontrada en el publicador" -#: replication/logical/tablesync.c:861 -#, fuzzy, c-format -#| msgid "could not fetch table info for table \"%s.%s\" from publisher: %s" +#: replication/logical/tablesync.c:892 +#, c-format msgid "could not fetch column list info for table \"%s.%s\" from publisher: %s" -msgstr "no se pudo obtener información de la tabla «%s.%s» del editor (publisher): %s" +msgstr "no se pudo obtener información de la lista de columnas para la tabla «%s.%s» del publicador: %s" -#: replication/logical/tablesync.c:1040 -#, fuzzy, c-format -#| msgid "could not fetch table info for table \"%s.%s\" from publisher: %s" +#: replication/logical/tablesync.c:1071 +#, c-format msgid "could not fetch table WHERE clause info for table \"%s.%s\" from publisher: %s" -msgstr "no se pudo obtener información de la tabla «%s.%s» del editor (publisher): %s" +msgstr "no se pudo obtener información de la cláusula WHERE para la tabla «%s.%s» del publicador: %s" -#: replication/logical/tablesync.c:1191 +#: replication/logical/tablesync.c:1230 #, c-format 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:1398 replication/logical/worker.c:2387 -#, c-format -msgid "user \"%s\" cannot replicate into relation with row-level security enabled: \"%s\"" -msgstr "" - -#: replication/logical/tablesync.c:1413 +#: replication/logical/tablesync.c:1429 #, 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 editor (publisher): %s" +msgstr "la copia de la tabla no pudo iniciar una transacción en el publicador: %s" -#: replication/logical/tablesync.c:1455 +#: replication/logical/tablesync.c:1472 #, c-format msgid "replication origin \"%s\" already exists" msgstr "el origen de replicación «%s» ya existe" -#: replication/logical/tablesync.c:1468 +#: replication/logical/tablesync.c:1505 replication/logical/worker.c:2361 #, 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 editor (publisher): %s" - -#: replication/logical/worker.c:445 -#, fuzzy -#| msgid "logical replication table synchronization worker for subscription \"%s\", table \"%s\" has started" -msgid "logical replication table synchronization worker" -msgstr "el ayudante de sincronización de tabla de replicación lógica para la suscripción «%s», tabla «%s» ha iniciado" +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/worker.c:449 -#, fuzzy -#| msgid "out of logical replication worker slots" -msgid "logical replication apply worker" -msgstr "se agotaron los slots de procesos ayudantes de replicación" +#: replication/logical/tablesync.c:1518 +#, 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" -#: replication/logical/worker.c:512 -#, fuzzy, c-format -#| msgid "logical replication table synchronization worker for subscription \"%s\", table \"%s\" has started" +#: replication/logical/worker.c:481 +#, c-format msgid "logical replication parallel apply worker for subscription \"%s\" will stop" -msgstr "el ayudante de sincronización de tabla de replicación lógica para la suscripción «%s», tabla «%s» ha iniciado" +msgstr "el ayudante «apply» de replicación lógica para la suscripción «%s» se detendrá" -#: replication/logical/worker.c:514 +#: replication/logical/worker.c:483 #, c-format msgid "Cannot handle streamed replication transactions using parallel apply workers until all tables have been synchronized." -msgstr "" +msgstr "No se puede gestionar replicación en flujo usando procesos en paralelo hasta que todas las tablas han sido sincronizadas." -#: replication/logical/worker.c:876 replication/logical/worker.c:991 +#: replication/logical/worker.c:852 replication/logical/worker.c:967 #, c-format msgid "incorrect binary data format in logical replication column %d" msgstr "el formato de datos binarios es incorrecto en columna de replicación lógica %d" -#: replication/logical/worker.c:2526 +#: replication/logical/worker.c:2500 #, c-format msgid "publisher did not send replica identity column expected by the logical replication target relation \"%s.%s\"" -msgstr "el editor (publisher) no envía la columna identidad de réplica esperada por la relación de destino de replicación lógica «%s.%s»" +msgstr "el publicador no envía la columna identidad de réplica esperada por la relación de destino de replicación lógica «%s.%s»" -#: replication/logical/worker.c:2533 +#: replication/logical/worker.c:2507 #, 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 "la relación destino de replicación lógica «%s.%s» no tiene índice REPLICA IDENTITY ni PRIMARY KEY y la relación publicada no tiene REPLICA IDENTITY FULL" -#: replication/logical/worker.c:3384 -#, fuzzy, c-format -#| msgid "invalid standby message type \"%c\"" -msgid "invalid logical replication message type \"%c\"" -msgstr "el tipo «%c» de mensaje del standby no es válido" +#: replication/logical/worker.c:3371 +#, c-format +msgid "invalid logical replication message type \"??? (%d)\"" +msgstr "tipo de mensaje de replicación lógica no válido «??? (%d)»" -#: replication/logical/worker.c:3556 +#: replication/logical/worker.c:3543 #, c-format msgid "data stream from publisher has ended" msgstr "el flujo de datos del publisher ha terminado" -#: replication/logical/worker.c:3707 +#: replication/logical/worker.c:3697 #, c-format msgid "terminating logical replication worker due to timeout" msgstr "terminando el proceso de replicación lógica debido a que se agotó el tiempo de espera" -#. translator: first %s is the name of logical replication worker -#: replication/logical/worker.c:3902 +#: replication/logical/worker.c:3891 #, c-format -msgid "%s for subscription \"%s\" will stop because the subscription was removed" -msgstr "" +msgid "logical replication worker for subscription \"%s\" will stop because the subscription was removed" +msgstr "el ayudante «apply» de replicación lógica para la suscripción «%s» se detendrá porque la suscripción fue eliminada" -#. translator: first %s is the name of logical replication worker -#: replication/logical/worker.c:3916 +#: replication/logical/worker.c:3905 #, c-format -msgid "%s for subscription \"%s\" will stop because the subscription was disabled" -msgstr "" +msgid "logical replication worker for subscription \"%s\" will stop because the subscription was disabled" +msgstr "el ayudante «apply» de replicación lógica para la suscripción «%s» se detendrá porque la suscripción fue inhabilitada" -#: replication/logical/worker.c:3947 -#, fuzzy, c-format -#| msgid "logical replication table synchronization worker for subscription \"%s\", table \"%s\" has started" +#: replication/logical/worker.c:3936 +#, c-format msgid "logical replication parallel apply worker for subscription \"%s\" will stop because of a parameter change" -msgstr "el ayudante de sincronización de tabla de replicación lógica para la suscripción «%s», tabla «%s» ha iniciado" +msgstr "el ayudante paralelo «apply» de replicación lógica para la suscripción «%s» se reiniciará por un cambio de parámetro" -#. translator: first %s is the name of logical replication worker -#: replication/logical/worker.c:3952 +#: replication/logical/worker.c:3940 #, c-format -msgid "%s for subscription \"%s\" will restart because of a parameter change" -msgstr "" +msgid "logical replication worker for subscription \"%s\" will restart because of a parameter change" +msgstr "el ayudante «apply» de replicación lógica para la suscripción «%s» se reiniciará por un cambio de parámetro" -#. translator: %s is the name of logical replication worker -#: replication/logical/worker.c:4476 +#: replication/logical/worker.c:3954 +#, fuzzy, c-format +msgid "logical replication parallel apply worker for subscription \"%s\" will stop because the subscription owner's superuser privileges have been revoked" +msgstr "el ayudante «apply» de replicación lógica para la suscripción «%s» se detendrá porque la suscripción fue inhabilitada" + +#: replication/logical/worker.c:3958 +#, fuzzy, c-format +msgid "logical replication worker for subscription \"%s\" will restart because the subscription owner's superuser privileges have been revoked" +msgstr "el ayudante «apply» de replicación lógica para la suscripción «%s» se detendrá porque la suscripción fue inhabilitada" + +#: replication/logical/worker.c:4478 #, c-format -msgid "%s for subscription %u will not start because the subscription was removed during startup" -msgstr "" +msgid "subscription has no replication slot set" +msgstr "la suscripción no tiene un slot de replicación establecido" -#. translator: first %s is the name of logical replication worker -#: replication/logical/worker.c:4492 +#: replication/logical/worker.c:4591 #, c-format -msgid "%s for subscription \"%s\" will not start because the subscription was disabled during startup" -msgstr "" +msgid "logical replication worker for subscription %u will not start because the subscription was removed during startup" +msgstr "el ayudante «apply» de replicación lógica para la suscripción %u no se iniciará porque la suscripción fue eliminada durante el inicio" + +#: replication/logical/worker.c:4607 +#, c-format +msgid "logical replication worker for subscription \"%s\" will not start because the subscription was disabled during startup" +msgstr "el ayudante «apply» de replicación lógica para la suscripción «%s» no se iniciará porque la suscripción fue inhabilitada durante el inicio" -#: replication/logical/worker.c:4509 +#: replication/logical/worker.c:4631 #, c-format msgid "logical replication table synchronization worker for subscription \"%s\", table \"%s\" has started" msgstr "el ayudante de sincronización de tabla de replicación lógica para la suscripción «%s», tabla «%s» ha iniciado" -#. translator: first %s is the name of logical replication worker -#: replication/logical/worker.c:4515 -#, fuzzy, c-format -#| msgid "subscription \"%s\" already exists" -msgid "%s for subscription \"%s\" has started" -msgstr "la suscripción «%s» ya existe" - -#: replication/logical/worker.c:4590 +#: replication/logical/worker.c:4636 #, c-format -msgid "subscription has no replication slot set" -msgstr "la suscripción no tiene un slot de replicación establecido" +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:4757 -#, fuzzy, c-format -#| msgid "cursor \"%s\" has been declared but not opened" +#: replication/logical/worker.c:4734 +#, c-format msgid "subscription \"%s\" has been disabled because of an error" -msgstr "el cursor «%s» fue declarado pero no abierto" +msgstr "la suscripción «%s» ha sido inhabilitada debido a un error" -#: replication/logical/worker.c:4805 -#, fuzzy, c-format -#| msgid "cannot create logical replication slot in transaction that has performed writes" +#: replication/logical/worker.c:4782 +#, c-format msgid "logical replication starts skipping transaction at LSN %X/%X" -msgstr "no se puede crear un slot de replicación lógica en una transacción que ha efectuado escrituras" +msgstr "iniciando el ignorado en la replicación lógica de la transacción en el LSN %X/%X" -#: replication/logical/worker.c:4819 +#: replication/logical/worker.c:4796 #, c-format msgid "logical replication completed skipping transaction at LSN %X/%X" -msgstr "" +msgstr "finalizó el ignorado en la replicación lógica de la transacción en el LSN %X/%X" -#: replication/logical/worker.c:4901 -#, fuzzy, c-format -#| msgid "subscription \"%s\" already exists" +#: replication/logical/worker.c:4878 +#, c-format msgid "skip-LSN of subscription \"%s\" cleared" -msgstr "la suscripción «%s» ya existe" +msgstr "el «skip-LSN» de la suscripción «%s» ha sido borrado" -#: replication/logical/worker.c:4902 +#: replication/logical/worker.c:4879 #, c-format msgid "Remote transaction's finish WAL location (LSN) %X/%X did not match skip-LSN %X/%X." -msgstr "" +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:4928 +#: replication/logical/worker.c:4905 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\"" -msgstr "" +msgstr "procesando datos remotos de origen de replicación «%s» durante el mensaje de tipo «%s»" -#: replication/logical/worker.c:4932 +#: replication/logical/worker.c:4909 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\" in transaction %u" -msgstr "" +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:4937 +#: replication/logical/worker.c:4914 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\" in transaction %u, finished at %X/%X" -msgstr "" +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:4948 +#: replication/logical/worker.c:4925 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" in transaction %u" -msgstr "" +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:4955 +#: replication/logical/worker.c:4932 #, 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 "" +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:4966 +#: replication/logical/worker.c:4943 #, 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 "" +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:4974 +#: replication/logical/worker.c:4951 #, 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 "" +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" -#: replication/pgoutput/pgoutput.c:318 +#: replication/pgoutput/pgoutput.c:315 #, c-format msgid "invalid proto_version" msgstr "proto_version no válido" -#: replication/pgoutput/pgoutput.c:323 +#: replication/pgoutput/pgoutput.c:320 #, c-format msgid "proto_version \"%s\" out of range" msgstr "proto_version «%s» fuera de rango" -#: replication/pgoutput/pgoutput.c:340 +#: replication/pgoutput/pgoutput.c:337 #, c-format msgid "invalid publication_names syntax" msgstr "sintaxis de publication_names no válida" -#: replication/pgoutput/pgoutput.c:443 -#, c-format -msgid "client sent proto_version=%d but server only supports protocol %d or lower" -msgstr "" +#: replication/pgoutput/pgoutput.c:407 +#, fuzzy, c-format +msgid "proto_version option missing" +msgstr "proto_version «%s» fuera de rango" -#: replication/pgoutput/pgoutput.c:449 +#: replication/pgoutput/pgoutput.c:411 #, fuzzy, c-format -#| msgid "requested proto_version=%d does not support streaming, need %d or higher" -msgid "client sent proto_version=%d but server only supports protocol %d or higher" -msgstr "la proto_version=%d no soporta flujo, se necesita %d o superior" +msgid "publication_names option missing" +msgstr "parámetro publication_names faltante" -#: replication/pgoutput/pgoutput.c:455 +#: replication/pgoutput/pgoutput.c:452 #, c-format -msgid "publication_names parameter missing" -msgstr "parámetro publication_names faltante" +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:469 +#: replication/pgoutput/pgoutput.c:458 +#, 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:473 #, 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:475 -#, fuzzy, c-format -#| msgid "requested proto_version=%d does not support streaming, need %d or higher" +#: replication/pgoutput/pgoutput.c:479 +#, c-format msgid "requested proto_version=%d does not support parallel streaming, need %d or higher" -msgstr "la proto_version=%d no soporta flujo, se necesita %d o superior" +msgstr "la proto_version=%d solicitada no soporta flujo en paralelo, se necesita %d o superior" -#: replication/pgoutput/pgoutput.c:480 +#: replication/pgoutput/pgoutput.c:484 #, 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:497 -#, fuzzy, c-format -#| msgid "requested proto_version=%d does not support streaming, need %d or higher" +#: replication/pgoutput/pgoutput.c:498 +#, c-format msgid "requested proto_version=%d does not support two-phase commit, need %d or higher" -msgstr "la proto_version=%d no soporta flujo, se necesita %d o superior" +msgstr "la proto_version=%d solicitada no soporta «two-phase commit», se necesita %d o superior" -#: replication/pgoutput/pgoutput.c:502 -#, fuzzy, c-format -#| msgid "streaming requested, but not supported by output plugin" +#: replication/pgoutput/pgoutput.c:503 +#, c-format msgid "two-phase commit requested, but not supported by output plugin" -msgstr "se solicitó flujo, pero no está soportado por plugin de salida" +msgstr "«two-phase commit» fue solicitado, pero no está soportado por el plugin de salida" -#: replication/slot.c:207 +#: replication/slot.c:260 #, c-format msgid "replication slot name \"%s\" is too short" msgstr "el nombre de slot de replicación «%s» es demasiado corto" -#: replication/slot.c:216 +#: replication/slot.c:269 #, c-format msgid "replication slot name \"%s\" is too long" msgstr "el nombre de slot de replicación «%s» es demasiado largo" -#: replication/slot.c:229 +#: replication/slot.c:282 #, c-format msgid "replication slot name \"%s\" contains invalid character" msgstr "el nombre de slot de replicación «%s» contiene caracteres no válidos" -#: replication/slot.c:231 +#: replication/slot.c:284 #, c-format msgid "Replication slot names may only contain lower case letters, numbers, and the underscore character." msgstr "Los nombres de slots de replicación sólo pueden contener letras minúsculas, números y el carácter «_»." -#: replication/slot.c:285 +#: replication/slot.c:333 +#, fuzzy, c-format +msgid "cannot enable failover for a replication slot created on the standby" +msgstr "Define el nombre del slot de replicación a utilizar en el servidor de origen." + +#: replication/slot.c:345 replication/slot.c:849 +#, fuzzy, c-format +msgid "cannot enable failover for a temporary replication slot" +msgstr "no se puede heredar de la tabla temporal «%s»" + +#: replication/slot.c:370 #, c-format msgid "replication slot \"%s\" already exists" msgstr "el slot de replicación «%s» ya existe" -#: replication/slot.c:295 +#: replication/slot.c:380 #, c-format msgid "all replication slots are in use" msgstr "todos los slots de replicación están en uso" -#: replication/slot.c:296 +#: replication/slot.c:381 #, c-format -msgid "Free one or increase max_replication_slots." -msgstr "Libere uno o incremente max_replication_slots." +msgid "Free one or increase \"max_replication_slots\"." +msgstr "Libere uno o incremente «max_replication_slots»." -#: replication/slot.c:474 replication/slotfuncs.c:736 -#: utils/activity/pgstat_replslot.c:55 utils/adt/genfile.c:774 +#: replication/slot.c:560 replication/slot.c:2453 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 "no existe el slot de replicación «%s»" -#: replication/slot.c:520 replication/slot.c:1110 +#: replication/slot.c:606 replication/slot.c:1337 #, c-format msgid "replication slot \"%s\" is active for PID %d" msgstr "el slot de replicación «%s» está activo para el PID %d" -#: replication/slot.c:756 replication/slot.c:1638 replication/slot.c:2021 +#: replication/slot.c:638 +#, fuzzy, c-format +msgid "acquired logical replication slot \"%s\"" +msgstr "no se puede copiar el slot de replicación lógica no terminado «%s»" + +#: replication/slot.c:640 +#, fuzzy, c-format +msgid "acquired physical replication slot \"%s\"" +msgstr "no se pudo copiar el slot de replicación «%s»" + +#: replication/slot.c:729 +#, fuzzy, c-format +msgid "released logical replication slot \"%s\"" +msgstr "no se puede copiar el slot de replicación lógica no terminado «%s»" + +#: replication/slot.c:731 +#, fuzzy, c-format +msgid "released physical replication slot \"%s\"" +msgstr "no se pudo copiar el slot de replicación «%s»" + +#: replication/slot.c:797 +#, fuzzy, c-format +msgid "cannot drop replication slot \"%s\"" +msgstr "no se pudo copiar el slot de replicación «%s»" + +#: replication/slot.c:798 replication/slot.c:829 +#, fuzzy, c-format +msgid "This slot is being synced from the primary server." +msgstr "respuesta no válida del servidor primario" + +#: replication/slot.c:816 +#, fuzzy, c-format +msgid "cannot use %s with a physical replication slot" +msgstr "no se puede usar %s con un slot de replicación lógica" + +#: replication/slot.c:828 +#, fuzzy, c-format +msgid "cannot alter replication slot \"%s\"" +msgstr "no se pudo crear el slot de replicación «%s»: %s" + +#: replication/slot.c:838 +#, fuzzy, c-format +msgid "cannot enable failover for a replication slot on the standby" +msgstr "no se puede usar un slot de replicación lógica para replicación física" + +#: replication/slot.c:969 replication/slot.c:1927 replication/slot.c:2311 #, c-format msgid "could not remove directory \"%s\"" msgstr "no se pudo eliminar el directorio «%s»" -#: replication/slot.c:1145 +#: replication/slot.c:1372 #, 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" +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:1150 +#: replication/slot.c:1377 #, 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" +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:1162 -#, fuzzy, c-format -#| msgid "permission denied for publication %s" +#: replication/slot.c:1389 +#, c-format msgid "permission denied to use replication slots" -msgstr "permiso denegado a la publicación %s" +msgstr "permiso denegado a usar slots de replicación" -#: replication/slot.c:1163 +#: replication/slot.c:1390 #, c-format msgid "Only roles with the %s attribute may use replication slots." -msgstr "" +msgstr "Sólo roles con el atributo %s pueden usar slots de replicación." -#: replication/slot.c:1267 +#: replication/slot.c:1498 #, c-format -msgid "The slot's restart_lsn %X/%X exceeds the limit by %llu bytes." -msgstr "" +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] "" +msgstr[1] "" -#: replication/slot.c:1272 -#, fuzzy, c-format -#| msgid "Key %s conflicts with existing key %s." +#: replication/slot.c:1506 +#, c-format msgid "The slot conflicted with xid horizon %u." -msgstr "La llave %s está en conflicto con la llave existente %s." +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:1277 -#, fuzzy -#| msgid "logical decoding requires wal_level >= logical" -msgid "Logical decoding on standby requires wal_level >= logical on the primary server." -msgstr "la decodificación lógica requiere wal_level >= logical" +#: replication/slot.c:1511 +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:1285 +#: replication/slot.c:1519 #, 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:1287 -#, fuzzy, c-format -#| msgid "creating replication slot \"%s\"" +#: replication/slot.c:1521 +#, c-format msgid "invalidating obsolete replication slot \"%s\"" -msgstr "creando el slot de replicación «%s»" - -#: replication/slot.c:1290 -#, fuzzy, c-format -#| msgid "You might need to increase max_worker_processes." -msgid "You might need to increase max_slot_wal_keep_size." -msgstr "Puede ser necesario incrementar max_worker_processes." +msgstr "invalidando el slot de replicación obsoleto «%s»" -#: replication/slot.c:1959 +#: replication/slot.c:2249 #, 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:1966 +#: replication/slot.c:2256 #, 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:1973 +#: replication/slot.c:2263 #, 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:2009 +#: replication/slot.c:2299 #, 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:2043 +#: replication/slot.c:2333 #, 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" +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:2045 +#: replication/slot.c:2335 #, c-format -msgid "Change wal_level to be logical or higher." -msgstr "Cambie wal_level a logical o superior." +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:2049 +#: replication/slot.c:2339 #, 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 < logical" +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:2051 +#: replication/slot.c:2341 #, c-format -msgid "Change wal_level to be replica or higher." -msgstr "Cambie wal_level a replica o superior." +msgid "Change \"wal_level\" to be \"replica\" or higher." +msgstr "Cambie «wal_level» a «replica» o superior." -#: replication/slot.c:2085 +#: replication/slot.c:2383 #, c-format msgid "too many replication slots active before shutdown" msgstr "demasiados slots de replicación activos antes del apagado" -#: replication/slotfuncs.c:601 +#: replication/slot.c:2461 +#, fuzzy, c-format +msgid "\"%s\" is not a physical replication slot" +msgstr "no se puede usar %s con un slot de replicación lógica" + +#: replication/slot.c:2638 +#, fuzzy, c-format +msgid "replication slot \"%s\" specified in parameter %s does not exist" +msgstr "no existe el slot de replicación «%s»" + +#: replication/slot.c:2640 replication/slot.c:2681 replication/slot.c:2696 +#, c-format +msgid "Logical replication is waiting on the standby associated with \"%s\"." +msgstr "" + +# FIXME a %s would be nice here +#: replication/slot.c:2642 +#, fuzzy, c-format +msgid "Consider creating the slot \"%s\" or amend parameter %s." +msgstr "Considere incrementar el parámetro de configuración «max_wal_size»." + +#: replication/slot.c:2659 +#, fuzzy, c-format +msgid "cannot have logical replication slot \"%s\" in parameter %s" +msgstr "no se puede copiar el slot de replicación lógica no terminado «%s»" + +#: replication/slot.c:2661 +#, fuzzy, c-format +msgid "Logical replication is waiting for correction on \"%s\"." +msgstr "el ayudante «apply» de replicación lógica para la suscripción «%s» ha iniciado" + +#: replication/slot.c:2663 +#, c-format +msgid "Consider removing logical slot \"%s\" from parameter %s." +msgstr "" + +#: replication/slot.c:2679 +#, c-format +msgid "physical slot \"%s\" specified in parameter %s has been invalidated" +msgstr "" + +# FIXME a %s would be nice here +#: replication/slot.c:2683 +#, fuzzy, c-format +msgid "Consider dropping and recreating the slot \"%s\" or amend parameter %s." +msgstr "Considere incrementar el parámetro de configuración «max_wal_size»." + +#: replication/slot.c:2694 +#, fuzzy, c-format +msgid "replication slot \"%s\" specified in parameter %s does not have active_pid" +msgstr "el slot de replicación «%s» no fue creado en esta base de datos" + +#: replication/slot.c:2698 +#, c-format +msgid "Consider starting standby associated with \"%s\" or amend parameter %s." +msgstr "" + +#: replication/slotfuncs.c:526 #, c-format msgid "invalid target WAL LSN" msgstr "el LSN de wal de destino no es válido" -#: replication/slotfuncs.c:623 +#: replication/slotfuncs.c:548 #, c-format msgid "replication slot \"%s\" cannot be advanced" msgstr "no se puede avanzar el slot de replicación «%s»" -#: replication/slotfuncs.c:625 +#: replication/slotfuncs.c:550 #, c-format msgid "This slot has never previously reserved WAL, or it has been invalidated." msgstr "Este slot nunca ha reservado WAL previamente, o ha sido invalidado." -#: replication/slotfuncs.c:641 +#: replication/slotfuncs.c:566 #, c-format msgid "cannot advance replication slot to %X/%X, minimum is %X/%X" msgstr "no puede avanzar un slot de replicación a %X/%X, el mínimo es %X/%X" -#: replication/slotfuncs.c:748 +#: replication/slotfuncs.c:673 #, c-format msgid "cannot copy physical replication slot \"%s\" as a logical replication slot" msgstr "no se puede copiar el slot de replicación física «%s» como slot de replicación lógica" -#: replication/slotfuncs.c:750 +#: replication/slotfuncs.c:675 #, c-format msgid "cannot copy logical replication slot \"%s\" as a physical replication slot" msgstr "no se puede copiar el slot de replicación lógica «%s» como slot de replicación física" -#: replication/slotfuncs.c:757 +#: replication/slotfuncs.c:682 #, c-format msgid "cannot copy a replication slot that doesn't reserve WAL" msgstr "no puede copiar un slot de replicación que no ha reservado WAL" -#: replication/slotfuncs.c:834 +#: replication/slotfuncs.c:768 #, c-format msgid "could not copy replication slot \"%s\"" msgstr "no se pudo copiar el slot de replicación «%s»" -#: replication/slotfuncs.c:836 +#: replication/slotfuncs.c:770 #, c-format msgid "The source replication slot was modified incompatibly during the copy operation." msgstr "El slot de replicación de origen fue modificado incompatiblemente durante la operación de copia." -#: replication/slotfuncs.c:842 +#: replication/slotfuncs.c:776 #, c-format msgid "cannot copy unfinished logical replication slot \"%s\"" msgstr "no se puede copiar el slot de replicación lógica no terminado «%s»" -#: replication/slotfuncs.c:844 +#: replication/slotfuncs.c:778 #, c-format msgid "Retry when the source replication slot's confirmed_flush_lsn is valid." msgstr "Reintente cuando el confirmed_flush_lsn del slot de replicación de origen sea válido." -#: replication/syncrep.c:262 +# FIXME see logical.c:81 +#: replication/slotfuncs.c:877 +#, fuzzy, c-format +msgid "replication slots can only be synchronized to a standby server" +msgstr "los slots de replicación sólo pueden usarse si wal_level >= replica" + +#: replication/syncrep.c:261 #, c-format msgid "canceling the wait for synchronous replication and terminating connection due to administrator command" msgstr "cancelando la espera para la replicación sincrónica y terminando la conexión debido a una orden del administrador" -#: replication/syncrep.c:263 replication/syncrep.c:280 +#: replication/syncrep.c:262 replication/syncrep.c:279 #, c-format msgid "The transaction has already committed locally, but might not have been replicated to the standby." msgstr "La transacción ya fue comprometida localmente, pero pudo no haber sido replicada al standby." -#: replication/syncrep.c:279 +#: replication/syncrep.c:278 #, c-format msgid "canceling wait for synchronous replication due to user request" msgstr "cancelando espera para la replicación sincrónica debido a una petición del usuario" -#: replication/syncrep.c:486 -#, c-format -msgid "standby \"%s\" is now a synchronous standby with priority %u" +#: replication/syncrep.c:485 +#, fuzzy, c-format +msgid "standby \"%s\" is now a synchronous standby with priority %d" msgstr "el standby «%s» es ahora un standby sincrónico con prioridad %u" -#: replication/syncrep.c:490 +#: replication/syncrep.c:489 #, c-format msgid "standby \"%s\" is now a candidate for quorum synchronous standby" msgstr "el standby «%s» es ahora un candidato para standby sincrónico de quórum" -#: replication/syncrep.c:1019 +#: replication/syncrep.c:1013 #, c-format -msgid "synchronous_standby_names parser failed" -msgstr "falló la interpretación de synchronous_standby_names" +msgid "\"synchronous_standby_names\" parser failed" +msgstr "falló la interpretación de «synchronous_standby_names»" -#: replication/syncrep.c:1025 +#: replication/syncrep.c:1019 #, c-format msgid "number of synchronous standbys (%d) must be greater than zero" msgstr "el argumento de standby sincrónicos (%d) debe ser mayor que cero" -#: replication/walreceiver.c:180 +#: replication/walreceiver.c:176 #, c-format msgid "terminating walreceiver process due to administrator command" msgstr "terminando el proceso walreceiver debido a una orden del administrador" -#: replication/walreceiver.c:305 -#, c-format -msgid "could not connect to the primary server: %s" -msgstr "no se pudo conectar al servidor primario: %s" - -#: replication/walreceiver.c:352 +#: replication/walreceiver.c:354 #, c-format msgid "database system identifier differs between the primary and standby" msgstr "el identificador de sistema difiere entre el primario y el standby" -#: replication/walreceiver.c:353 +#: replication/walreceiver.c:355 #, c-format msgid "The primary's identifier is %s, the standby's identifier is %s." msgstr "El identificador del primario es %s, el identificador del standby es %s." -#: replication/walreceiver.c:364 +#: replication/walreceiver.c:366 #, c-format msgid "highest timeline %u of the primary is behind recovery timeline %u" msgstr "el timeline más alto del primario, %u, está más atrás que el timeline de recuperación %u" -#: replication/walreceiver.c:417 +#: replication/walreceiver.c:419 #, c-format msgid "started streaming WAL from primary at %X/%X on timeline %u" msgstr "iniciando el flujo de WAL desde el primario en %X/%X en el timeline %u" -#: replication/walreceiver.c:421 +#: replication/walreceiver.c:423 #, c-format msgid "restarted WAL streaming at %X/%X on timeline %u" msgstr "reiniciando el flujo de WAL en %X/%X en el timeline %u" -#: replication/walreceiver.c:457 +#: replication/walreceiver.c:458 #, c-format msgid "cannot continue WAL streaming, recovery has already ended" msgstr "no se puede continuar el flujo de WAL; la recuperación ya ha terminado" -#: replication/walreceiver.c:501 +#: replication/walreceiver.c:502 #, c-format msgid "replication terminated by primary server" msgstr "replicación terminada por el servidor primario" -#: replication/walreceiver.c:502 +#: replication/walreceiver.c:503 #, c-format msgid "End of WAL reached on timeline %u at %X/%X." msgstr "Se alcanzó el fin de WAL en el timeline %u en la posición %X/%X." -#: replication/walreceiver.c:592 +#: replication/walreceiver.c:593 #, c-format msgid "terminating walreceiver due to timeout" msgstr "terminando el proceso walreceiver debido a que se agotó el tiempo de espera" -#: replication/walreceiver.c:624 +#: replication/walreceiver.c:625 #, c-format msgid "primary server contains no more WAL on requested timeline %u" msgstr "el servidor primario no contiene más WAL en el timeline %u solicitado" -#: replication/walreceiver.c:640 replication/walreceiver.c:1066 -#, fuzzy, c-format -#| msgid "could not close shared memory segment \"%s\": %m" +#: replication/walreceiver.c:641 replication/walreceiver.c:1071 +#, c-format msgid "could not close WAL segment %s: %m" -msgstr "no se pudo cerrar el segmento de memoria compartida «%s»: %m" +msgstr "no se pudo cerrar el segmento de WAL %s: %m" -#: replication/walreceiver.c:759 +#: replication/walreceiver.c:760 #, c-format msgid "fetching timeline history file for timeline %u from primary server" msgstr "trayendo el archivo de historia del timeline para el timeline %u desde el servidor primario" -#: replication/walreceiver.c:954 +#: replication/walreceiver.c:959 #, fuzzy, c-format -#| msgid "could not write to log file %s at offset %u, length %zu: %m" -msgid "could not write to WAL segment %s at offset %u, length %lu: %m" -msgstr "no se pudo escribir archivo de registro %s en la posición %u, largo %zu: %m" +msgid "could not write to WAL segment %s at offset %d, length %lu: %m" +msgstr "no se pudo escribir al segmento de WAL %s en la posición %u, largo %lu: %m" -#: replication/walsender.c:519 -#, fuzzy, c-format -#| msgid "cannot use relation \"%s.%s\" as logical replication target" +#: replication/walsender.c:531 +#, c-format msgid "cannot use %s with a logical replication slot" -msgstr "no se puede usar la relación «%s.%s» como destino de replicación lógica" +msgstr "no se puede usar %s con un slot de replicación lógica" -#: replication/walsender.c:623 storage/smgr/md.c:1526 +#: replication/walsender.c:635 storage/smgr/md.c:1723 #, c-format msgid "could not seek to end of file \"%s\": %m" msgstr "no se pudo posicionar (seek) al fin del archivo «%s»: %m" -#: replication/walsender.c:627 +#: replication/walsender.c:639 #, c-format msgid "could not seek to beginning of file \"%s\": %m" msgstr "no se pudo posicionar (seek) al comienzo del archivo «%s»: %m" -#: replication/walsender.c:704 +#: replication/walsender.c:853 #, c-format msgid "cannot use a logical replication slot for physical replication" msgstr "no se puede usar un slot de replicación lógica para replicación física" -#: replication/walsender.c:770 +#: replication/walsender.c:919 #, c-format msgid "requested starting point %X/%X on timeline %u is not in this server's history" msgstr "el punto de inicio solicitado %X/%X del timeline %u no está en la historia de este servidor" -#: replication/walsender.c:773 +#: replication/walsender.c:922 #, c-format msgid "This server's history forked from timeline %u at %X/%X." msgstr "La historia de este servidor bifurcó desde el timeline %u en %X/%X." -#: replication/walsender.c:817 +#: replication/walsender.c:966 #, c-format msgid "requested starting point %X/%X is ahead of the WAL flush position of this server %X/%X" msgstr "el punto de inicio solicitado %X/%X está más adelante que la posición de sincronización (flush) de WAL de este servidor %X/%X" -#: replication/walsender.c:1010 -#, fuzzy, c-format -#| msgid "unrecognized value for EXPLAIN option \"%s\": \"%s\"" +#: replication/walsender.c:1160 +#, c-format msgid "unrecognized value for CREATE_REPLICATION_SLOT option \"%s\": \"%s\"" -msgstr "valor no reconocido para la opción de EXPLAIN «%s»: «%s»" +msgstr "valor no reconocido para la opción de CREATE_REPLICATION_SLOT «%s»: «%s»" #. translator: %s is a CREATE_REPLICATION_SLOT statement -#: replication/walsender.c:1095 +#: replication/walsender.c:1266 #, c-format msgid "%s must not be called inside a transaction" msgstr "%s no debe ser ejecutado dentro de una transacción" #. translator: %s is a CREATE_REPLICATION_SLOT statement -#: replication/walsender.c:1105 +#: replication/walsender.c:1276 #, c-format msgid "%s must be called inside a transaction" msgstr "%s no debe ser ejecutado dentro de una transacción" #. translator: %s is a CREATE_REPLICATION_SLOT statement -#: replication/walsender.c:1111 +#: replication/walsender.c:1282 #, c-format msgid "%s must be called in REPEATABLE READ isolation mode transaction" msgstr "%s debe llamarse en una transacción de modo de aislamiento REPEATABLE READ" #. translator: %s is a CREATE_REPLICATION_SLOT statement -#: replication/walsender.c:1116 -#, fuzzy, c-format -#| msgid "%s must be called inside a transaction" -msgid "%s must be called in a read only transaction" -msgstr "%s no debe ser ejecutado dentro de una transacción" +#: replication/walsender.c:1287 +#, c-format +msgid "%s must be called in a read-only transaction" +msgstr "%s debe ser ejecutado en una transacción de sólo lectura" #. translator: %s is a CREATE_REPLICATION_SLOT statement -#: replication/walsender.c:1122 +#: replication/walsender.c:1293 #, c-format msgid "%s must be called before any query" msgstr "%s debe ser llamado antes de cualquier consulta" #. translator: %s is a CREATE_REPLICATION_SLOT statement -#: replication/walsender.c:1128 +#: replication/walsender.c:1299 #, c-format msgid "%s must not be called in a subtransaction" msgstr "%s no está permitido en una subtransacción" -#: replication/walsender.c:1275 +#: replication/walsender.c:1472 #, c-format msgid "terminating walsender process after promotion" msgstr "terminando el proceso walsender luego de la promoción" -#: replication/walsender.c:1696 +#: replication/walsender.c:2000 #, c-format msgid "cannot execute new commands while WAL sender is in stopping mode" msgstr "no puede ejecutar nuevas órdenes mientras el «WAL sender» está en modo de apagarse" -#: replication/walsender.c:1731 +#: replication/walsender.c:2035 #, c-format msgid "cannot execute SQL commands in WAL sender for physical replication" msgstr "no puede ejecutar órdenes SQL en el «WAL sender» para replicación física" -#: replication/walsender.c:1764 +#: replication/walsender.c:2068 #, c-format msgid "received replication command: %s" msgstr "se recibió orden de replicación: %s" -#: replication/walsender.c:1772 tcop/fastpath.c:209 tcop/postgres.c:1138 -#: tcop/postgres.c:1496 tcop/postgres.c:1736 tcop/postgres.c:2210 -#: tcop/postgres.c:2648 tcop/postgres.c:2726 +#: replication/walsender.c:2076 tcop/fastpath.c:209 tcop/postgres.c:1138 +#: tcop/postgres.c:1496 tcop/postgres.c:1736 tcop/postgres.c:2206 +#: tcop/postgres.c:2644 tcop/postgres.c:2721 #, c-format msgid "current transaction is aborted, commands ignored until end of transaction block" msgstr "transacción abortada, las órdenes serán ignoradas hasta el fin de bloque de transacción" -#: replication/walsender.c:1914 replication/walsender.c:1949 +#: replication/walsender.c:2233 replication/walsender.c:2268 #, c-format msgid "unexpected EOF on standby connection" msgstr "se encontró fin de archivo inesperado en la conexión standby" -#: replication/walsender.c:1937 +#: replication/walsender.c:2256 #, c-format msgid "invalid standby message type \"%c\"" msgstr "el tipo «%c» de mensaje del standby no es válido" -#: replication/walsender.c:2026 +#: replication/walsender.c:2345 #, c-format msgid "unexpected message type \"%c\"" msgstr "mensaje de tipo «%c» inesperado" -#: replication/walsender.c:2439 +#: replication/walsender.c:2759 #, c-format msgid "terminating walsender process due to replication timeout" msgstr "terminando el proceso walsender debido a que se agotó el tiempo de espera de replicación" -#: rewrite/rewriteDefine.c:111 rewrite/rewriteDefine.c:842 +#: rewrite/rewriteDefine.c:104 rewrite/rewriteDefine.c:835 #, c-format msgid "rule \"%s\" for relation \"%s\" already exists" msgstr "ya existe una regla llamada «%s» para la relación «%s»" -#: rewrite/rewriteDefine.c:268 rewrite/rewriteDefine.c:780 -#, fuzzy, c-format -#| msgid "portal \"%s\" cannot be run" +#: rewrite/rewriteDefine.c:261 rewrite/rewriteDefine.c:773 +#, c-format msgid "relation \"%s\" cannot have rules" -msgstr "el portal «%s» no puede ser ejecutado" +msgstr "la relación «%s» no puede tener reglas" -#: rewrite/rewriteDefine.c:299 +#: rewrite/rewriteDefine.c:292 #, c-format msgid "rule actions on OLD are not implemented" msgstr "las acciones de regla en OLD no están implementadas" -#: rewrite/rewriteDefine.c:300 +#: rewrite/rewriteDefine.c:293 #, c-format msgid "Use views or triggers instead." msgstr "Use vistas o triggers en su lugar." -#: rewrite/rewriteDefine.c:304 +#: rewrite/rewriteDefine.c:297 #, c-format msgid "rule actions on NEW are not implemented" msgstr "las acciones de regla en NEW no están implementadas" -#: rewrite/rewriteDefine.c:305 +#: rewrite/rewriteDefine.c:298 #, c-format msgid "Use triggers instead." msgstr "Use triggers en su lugar." -#: rewrite/rewriteDefine.c:319 -#, fuzzy, c-format -#| msgid "cursor \"%s\" is not a SELECT query" +#: rewrite/rewriteDefine.c:312 +#, c-format msgid "relation \"%s\" cannot have ON SELECT rules" -msgstr "el cursor «%s» no es una orden SELECT" +msgstr "la relación «%s» no puede tener reglas ON SELECT" -#: rewrite/rewriteDefine.c:329 +#: rewrite/rewriteDefine.c:322 #, c-format msgid "INSTEAD NOTHING rules on SELECT are not implemented" msgstr "las reglas INSTEAD NOTHING en SELECT no están implementadas" -#: rewrite/rewriteDefine.c:330 +#: rewrite/rewriteDefine.c:323 #, c-format msgid "Use views instead." msgstr "Use vistas en su lugar." -#: rewrite/rewriteDefine.c:338 +#: rewrite/rewriteDefine.c:331 #, c-format msgid "multiple actions for rules on SELECT are not implemented" msgstr "las reglas de múltiples acciones en SELECT no están implementadas" -#: rewrite/rewriteDefine.c:348 +#: rewrite/rewriteDefine.c:341 #, c-format msgid "rules on SELECT must have action INSTEAD SELECT" msgstr "las reglas en SELECT deben tener una acción INSTEAD SELECT" -#: rewrite/rewriteDefine.c:356 +#: rewrite/rewriteDefine.c:349 #, c-format msgid "rules on SELECT must not contain data-modifying statements in WITH" msgstr "las reglas en SELECT no deben contener sentencias que modifiquen datos en WITH" -#: rewrite/rewriteDefine.c:364 +#: rewrite/rewriteDefine.c:357 #, c-format msgid "event qualifications are not implemented for rules on SELECT" msgstr "las calificaciones de eventos no están implementadas para las reglas en SELECT" -#: rewrite/rewriteDefine.c:391 +#: rewrite/rewriteDefine.c:384 #, c-format msgid "\"%s\" is already a view" msgstr "«%s» ya es una vista" -#: rewrite/rewriteDefine.c:415 +#: rewrite/rewriteDefine.c:408 #, c-format msgid "view rule for \"%s\" must be named \"%s\"" msgstr "la regla de vista para «%s» debe llamarse «%s»" -#: rewrite/rewriteDefine.c:442 +#: rewrite/rewriteDefine.c:435 #, c-format msgid "cannot have multiple RETURNING lists in a rule" msgstr "no se pueden tener múltiples listas RETURNING en una regla" -#: rewrite/rewriteDefine.c:447 +#: rewrite/rewriteDefine.c:440 #, c-format msgid "RETURNING lists are not supported in conditional rules" msgstr "listas de RETURNING no están soportadas en reglas condicionales" -#: rewrite/rewriteDefine.c:451 +#: rewrite/rewriteDefine.c:444 #, c-format msgid "RETURNING lists are not supported in non-INSTEAD rules" msgstr "listas de RETURNING no están soportadas en reglas que no estén marcadas INSTEAD" -#: rewrite/rewriteDefine.c:465 -#, fuzzy, c-format -#| msgid "view rule for \"%s\" must be named \"%s\"" +#: rewrite/rewriteDefine.c:458 +#, c-format msgid "non-view rule for \"%s\" must not be named \"%s\"" -msgstr "la regla de vista para «%s» debe llamarse «%s»" +msgstr "la regla que no es de vista para «%s» no debe llamarse «%s»" -#: rewrite/rewriteDefine.c:539 +#: rewrite/rewriteDefine.c:532 #, c-format msgid "SELECT rule's target list has too many entries" msgstr "la lista de destinos en la regla de SELECT tiene demasiadas entradas" -#: rewrite/rewriteDefine.c:540 +#: rewrite/rewriteDefine.c:533 #, c-format msgid "RETURNING list has too many entries" msgstr "la lista de RETURNING tiene demasiadas entradas" -#: rewrite/rewriteDefine.c:567 +#: rewrite/rewriteDefine.c:560 #, c-format msgid "cannot convert relation containing dropped columns to view" msgstr "no se puede convertir en vista una relación que contiene columnas eliminadas" -#: rewrite/rewriteDefine.c:568 +#: rewrite/rewriteDefine.c:561 #, c-format msgid "cannot create a RETURNING list for a relation containing dropped columns" msgstr "no se puede crear una lista RETURNING para una relación que contiene columnas eliminadas" -#: rewrite/rewriteDefine.c:574 +#: rewrite/rewriteDefine.c:567 #, c-format msgid "SELECT rule's target entry %d has different column name from column \"%s\"" msgstr "la entrada de destino %d de la regla de SELECT tiene un nombre de columna diferente de «%s»" -#: rewrite/rewriteDefine.c:576 +#: rewrite/rewriteDefine.c:569 #, c-format msgid "SELECT target entry is named \"%s\"." msgstr "La entrada de destino de SELECT tiene nombre «%s»." -#: rewrite/rewriteDefine.c:585 +#: rewrite/rewriteDefine.c:578 #, c-format msgid "SELECT rule's target entry %d has different type from column \"%s\"" msgstr "el destino %d de la regla de SELECT tiene un tipo diferente de la columna «%s»" -#: rewrite/rewriteDefine.c:587 +#: rewrite/rewriteDefine.c:580 #, c-format msgid "RETURNING list's entry %d has different type from column \"%s\"" msgstr "el destino %d de la lista de RETURNING tiene un tipo diferente de la columna «%s»" -#: rewrite/rewriteDefine.c:590 rewrite/rewriteDefine.c:614 +#: rewrite/rewriteDefine.c:583 rewrite/rewriteDefine.c:607 #, c-format msgid "SELECT target entry has type %s, but column has type %s." msgstr "La entrada de destino de SELECT tiene un tipo «%s», pero la columna tiene tipo «%s»." -#: rewrite/rewriteDefine.c:593 rewrite/rewriteDefine.c:618 +#: rewrite/rewriteDefine.c:586 rewrite/rewriteDefine.c:611 #, c-format msgid "RETURNING list entry has type %s, but column has type %s." msgstr "una entrada de la lista RETURNING tiene tipo %s, pero la columna tiene tipo %s." -#: rewrite/rewriteDefine.c:609 +#: rewrite/rewriteDefine.c:602 #, c-format msgid "SELECT rule's target entry %d has different size from column \"%s\"" msgstr "el destino %d de la regla de SELECT tiene un tamaño diferente de la columna «%s»" -#: rewrite/rewriteDefine.c:611 +#: rewrite/rewriteDefine.c:604 #, c-format msgid "RETURNING list's entry %d has different size from column \"%s\"" msgstr "el destino %d de la lista RETURNING tiene un tamaño diferente de la columna «%s»" -#: rewrite/rewriteDefine.c:628 +#: rewrite/rewriteDefine.c:621 #, c-format msgid "SELECT rule's target list has too few entries" msgstr "la lista de destinos de regla de SELECT tiene muy pocas entradas" -#: rewrite/rewriteDefine.c:629 +#: rewrite/rewriteDefine.c:622 #, c-format msgid "RETURNING list has too few entries" msgstr "la lista de RETURNING tiene muy pocas entradas" -#: rewrite/rewriteDefine.c:718 rewrite/rewriteDefine.c:833 -#: rewrite/rewriteSupport.c:109 +#: rewrite/rewriteDefine.c:711 rewrite/rewriteDefine.c:826 +#: rewrite/rewriteSupport.c:108 #, c-format msgid "rule \"%s\" for relation \"%s\" does not exist" msgstr "no existe la regla «%s» para la relación «%s»" -#: rewrite/rewriteDefine.c:852 +#: rewrite/rewriteDefine.c:845 #, c-format msgid "renaming an ON SELECT rule is not allowed" msgstr "no se permite cambiar el nombre de una regla ON SELECT" @@ -21291,10 +21931,9 @@ msgid "WITH query name \"%s\" appears in both a rule action and the query being 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:608 -#, fuzzy, c-format -#| msgid "DO INSTEAD NOTIFY rules are not supported for data-modifying statements in WITH" +#, c-format msgid "INSERT ... SELECT rule actions are not supported for queries having data-modifying statements in WITH" -msgstr "las reglas DO INSTEAD NOTIFY no están soportadas para sentencias que modifiquen datos en WITH" +msgstr "las acciones de regla INSERT ... SELECT no están soportadas para sentencias que modifiquen datos en WITH" #: rewrite/rewriteHandler.c:661 #, c-format @@ -21326,184 +21965,251 @@ msgstr "la columna «%s» sólo puede actualizarse a DEFAULT" msgid "multiple assignments to same column \"%s\"" msgstr "hay múltiples asignaciones a la misma columna «%s»" -#: rewrite/rewriteHandler.c:2118 rewrite/rewriteHandler.c:4039 +#: rewrite/rewriteHandler.c:1697 +#, c-format +msgid "MERGE is not supported for relations with rules." +msgstr "MERGE no está soportado para relaciones con reglas." + +#: rewrite/rewriteHandler.c:2110 rewrite/rewriteHandler.c:4204 #, 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:2203 +#: rewrite/rewriteHandler.c:2195 #, 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:2523 +#: rewrite/rewriteHandler.c:2547 msgid "Junk view columns are not updatable." msgstr "Las columnas «basura» de vistas no son actualizables." -#: rewrite/rewriteHandler.c:2528 +#: rewrite/rewriteHandler.c:2552 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:2531 +#: rewrite/rewriteHandler.c:2555 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:2534 +#: rewrite/rewriteHandler.c:2558 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:2595 +#: rewrite/rewriteHandler.c:2619 msgid "Views containing DISTINCT are not automatically updatable." msgstr "Las vistas que contienen DISTINCT no son automáticamente actualizables." -#: rewrite/rewriteHandler.c:2598 +#: rewrite/rewriteHandler.c:2622 msgid "Views containing GROUP BY are not automatically updatable." msgstr "Las vistas que contienen GROUP BY no son automáticamente actualizables." -#: rewrite/rewriteHandler.c:2601 +#: rewrite/rewriteHandler.c:2625 msgid "Views containing HAVING are not automatically updatable." msgstr "Las vistas que contienen HAVING no son automáticamente actualizables." -#: rewrite/rewriteHandler.c:2604 +#: rewrite/rewriteHandler.c:2628 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:2607 +#: rewrite/rewriteHandler.c:2631 msgid "Views containing WITH are not automatically updatable." msgstr "Las vistas que contienen WITH no son automáticamente actualizables." -#: rewrite/rewriteHandler.c:2610 +#: rewrite/rewriteHandler.c:2634 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:2622 +#: rewrite/rewriteHandler.c:2646 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:2625 +#: rewrite/rewriteHandler.c:2649 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:2628 +#: rewrite/rewriteHandler.c:2652 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:2635 rewrite/rewriteHandler.c:2639 -#: rewrite/rewriteHandler.c:2647 +#: rewrite/rewriteHandler.c:2659 rewrite/rewriteHandler.c:2663 +#: rewrite/rewriteHandler.c:2671 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:2650 +#: rewrite/rewriteHandler.c:2674 msgid "Views containing TABLESAMPLE are not automatically updatable." msgstr "Las vistas que contienen TABLESAMPLE no son automáticamente actualizables." -#: rewrite/rewriteHandler.c:2674 +#: rewrite/rewriteHandler.c:2698 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:3154 +#: rewrite/rewriteHandler.c:3079 rewrite/rewriteHandler.c:3114 +#, c-format +msgid "cannot insert into view \"%s\"" +msgstr "no se puede insertar en la vista «%s»" + +#: rewrite/rewriteHandler.c:3082 +#, 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 disparador INSTEAD OF INSERT o una regla incodicional ON INSERT DO INSTEAD." + +#: rewrite/rewriteHandler.c:3087 rewrite/rewriteHandler.c:3123 +#, c-format +msgid "cannot update view \"%s\"" +msgstr "no se puede actualizar la vista «%s»" + +#: rewrite/rewriteHandler.c:3090 +#, 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 disparador INSTEAD OF UPDATE o una regla incondicional ON UPDATE DO INSTEAD." + +#: rewrite/rewriteHandler.c:3095 rewrite/rewriteHandler.c:3132 +#, c-format +msgid "cannot delete from view \"%s\"" +msgstr "no se puede eliminar de la vista «%s»" + +#: rewrite/rewriteHandler.c:3098 +#, 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 disparador INSTEAD OF DELETE o una regla incondicional ON DELETE DO INSTEAD." + +#: rewrite/rewriteHandler.c:3117 +#, fuzzy, c-format +msgid "To enable inserting into the view using MERGE, provide an INSTEAD OF INSERT trigger." +msgstr "Para posibilitar «copy» a una vista, provea un disparador INSTEAD OF INSERT." + +#: rewrite/rewriteHandler.c:3126 +#, fuzzy, c-format +msgid "To enable updating the view using MERGE, provide an INSTEAD OF UPDATE trigger." +msgstr "Para posibilitar «copy» a una vista, provea un disparador INSTEAD OF INSERT." + +#: rewrite/rewriteHandler.c:3135 +#, fuzzy, c-format +msgid "To enable deleting from the view using MERGE, provide an INSTEAD OF DELETE trigger." +msgstr "Para posibilitar «copy» a una vista, provea un disparador INSTEAD OF INSERT." + +#: rewrite/rewriteHandler.c:3302 #, 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:3162 +#: rewrite/rewriteHandler.c:3310 #, c-format msgid "cannot update column \"%s\" of view \"%s\"" msgstr "no se puede actualizar la columna «%s» vista «%s»" -#: rewrite/rewriteHandler.c:3666 +#: rewrite/rewriteHandler.c:3318 +#, fuzzy, c-format +msgid "cannot merge into column \"%s\" of view \"%s\"" +msgstr "no se puede insertar en la columna «%s» de la vista «%s»" + +#: rewrite/rewriteHandler.c:3346 +#, fuzzy, c-format +msgid "cannot merge into view \"%s\"" +msgstr "no se puede insertar en la vista «%s»" + +#: rewrite/rewriteHandler.c:3348 +#, c-format +msgid "MERGE is not supported for views with INSTEAD OF triggers for some actions, but not others." +msgstr "" + +#: rewrite/rewriteHandler.c:3349 +#, fuzzy, 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 las inserciones en la vista, provea un disparador INSTEAD OF INSERT o una regla incodicional ON INSERT DO INSTEAD." + +#: rewrite/rewriteHandler.c:3862 #, 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:3677 +#: rewrite/rewriteHandler.c:3873 #, 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:3691 +#: rewrite/rewriteHandler.c:3887 #, 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:3695 +#: rewrite/rewriteHandler.c:3891 #, 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:3700 +#: rewrite/rewriteHandler.c:3896 #, 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:3967 rewrite/rewriteHandler.c:3975 -#: rewrite/rewriteHandler.c:3983 -#, c-format +#: rewrite/rewriteHandler.c:4156 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:4088 +#: rewrite/rewriteHandler.c:4253 #, 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:4090 +#: rewrite/rewriteHandler.c:4255 #, 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:4095 +#: rewrite/rewriteHandler.c:4260 #, 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:4097 +#: rewrite/rewriteHandler.c:4262 #, 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:4102 +#: rewrite/rewriteHandler.c:4267 #, 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:4104 +#: rewrite/rewriteHandler.c:4269 #, 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:4122 +#: rewrite/rewriteHandler.c:4287 #, 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:4179 +#: rewrite/rewriteHandler.c:4344 #, 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" -#: rewrite/rewriteManip.c:1070 +#: rewrite/rewriteManip.c:1083 #, c-format msgid "conditional utility statements are not implemented" msgstr "las sentencias condicionales de utilidad no están implementadas" -#: rewrite/rewriteManip.c:1414 +#: rewrite/rewriteManip.c:1427 #, c-format msgid "WHERE CURRENT OF on a view is not implemented" msgstr "WHERE CURRENT OF no está implementado en una vista" -#: rewrite/rewriteManip.c:1749 +#: rewrite/rewriteManip.c:1762 #, c-format msgid "NEW variables in ON UPDATE rules cannot reference columns that are part of a multiple assignment in the subject UPDATE command" msgstr "las variables NEW en reglas ON UPDATE no pueden referenciar columnas que son parte de una asignación múltiple en la orden UPDATE" #: rewrite/rewriteSearchCycle.c:410 -#, fuzzy, c-format -#| msgid "with a SEARCH or CYCLE clause, the left side of the UNION must be a SELECT" +#, c-format msgid "with a SEARCH or CYCLE clause, the recursive reference to WITH query \"%s\" must be at the top level of its right-hand SELECT" -msgstr "con una cláusula SEARCH o CYCLE, el lado izquierdo de UNION debe ser un SELECT" +msgstr "con una cláusula SEARCH o CYCLE, la referencia recursiva a la consulta de WITH «%s» debe estar en el nivel superior de su SELECT del lado derecho" #: snowball/dict_snowball.c:215 #, c-format @@ -21531,72 +22237,67 @@ msgstr "parámetro Snowball no reconocido: «%s»" msgid "missing Language parameter" msgstr "falta un parámetro Language" -#: statistics/extended_stats.c:179 +#: statistics/extended_stats.c:176 #, c-format msgid "statistics object \"%s.%s\" could not be computed for relation \"%s.%s\"" msgstr "el objeto de estadísticas «%s.%s» no pudo ser calculado para la relación «%s.%s»" -#: statistics/mcv.c:1372 +#: statistics/mcv.c:1368 #, c-format 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:612 storage/buffer/bufmgr.c:769 +#: storage/buffer/bufmgr.c:649 storage/buffer/bufmgr.c:805 #, c-format msgid "cannot access temporary tables of other sessions" msgstr "no se pueden acceder tablas temporales de otras sesiones" -#: storage/buffer/bufmgr.c:1137 +#: storage/buffer/bufmgr.c:1532 #, 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:1931 storage/buffer/localbuf.c:359 +#: storage/buffer/bufmgr.c:2277 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:1998 +#: storage/buffer/bufmgr.c:2348 #, 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:2000 +#: storage/buffer/bufmgr.c:2350 #, 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:5219 +#: storage/buffer/bufmgr.c:5653 #, c-format msgid "could not write block %u of %s" msgstr "no se pudo escribir el bloque %u de %s" -#: storage/buffer/bufmgr.c:5221 +#: storage/buffer/bufmgr.c:5655 #, 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:5243 storage/buffer/bufmgr.c:5263 +#: storage/buffer/bufmgr.c:5677 storage/buffer/bufmgr.c:5697 #, c-format msgid "writing block %u of relation %s" msgstr "escribiendo el bloque %u de la relación %s" -#: storage/buffer/bufmgr.c:5593 -#, c-format -msgid "snapshot too old" -msgstr "snapshot demasiado antiguo" - -#: storage/buffer/localbuf.c:219 +#: storage/buffer/localbuf.c:220 #, c-format msgid "no empty local buffer available" msgstr "no hay ningún búfer local disponible" -#: storage/buffer/localbuf.c:592 +#: storage/buffer/localbuf.c:597 #, c-format msgid "cannot access temporary tables during a parallel operation" msgstr "no se pueden acceder tablas temporales durante una operación paralela" -#: storage/buffer/localbuf.c:699 +#: storage/buffer/localbuf.c:712 #, c-format msgid "\"temp_buffers\" cannot be changed after any temporary tables have been accessed in the session." msgstr "«temp_buffers» no puede ser cambiado después de que cualquier tabla temporal haya sido accedida en la sesión." @@ -21607,164 +22308,165 @@ msgid "could not open temporary file \"%s\" from BufFile \"%s\": %m" msgstr "no se pudo abrir archivo temporal «%s» del BufFile «%s»: %m" #: storage/file/buffile.c:632 -#, fuzzy, c-format -#| msgid "could not read block %u in file \"%s\": read only %d of %d bytes" +#, c-format msgid "could not read from file set \"%s\": read only %zu of %zu bytes" -msgstr "no se pudo leer el bloque %u del archivo «%s»: se leyeron sólo %d de %d bytes" +msgstr "no se pudo leer del “file set” «%s»: se leyeron sólo %zu de %zu bytes" #: storage/file/buffile.c:634 -#, fuzzy, c-format -#| msgid "could not read block %u in file \"%s\": read only %d of %d bytes" +#, c-format msgid "could not read from temporary file: read only %zu of %zu bytes" -msgstr "no se pudo leer el bloque %u del archivo «%s»: se leyeron sólo %d de %d bytes" +msgstr "no se pudo leer del archivo temporal: se leyeron sólo %zu de %zu bytes" -#: storage/file/buffile.c:774 storage/file/buffile.c:895 +#: storage/file/buffile.c:774 storage/file/buffile.c:877 #, c-format msgid "could not determine size of temporary file \"%s\" from BufFile \"%s\": %m" msgstr "no se pudo determinar el tamaño del archivo temporal «%s» del BufFile «%s»: %m" -#: storage/file/buffile.c:974 -#, fuzzy, c-format -#| msgid "could not delete file \"%s\": %m" +#: storage/file/buffile.c:956 +#, c-format msgid "could not delete fileset \"%s\": %m" -msgstr "no se pudo borrar el archivo «%s»: %m" +msgstr "no se pudo borrar el “fileset” «%s»: %m" -#: storage/file/buffile.c:992 storage/smgr/md.c:335 storage/smgr/md.c:1038 +#: storage/file/buffile.c:974 storage/smgr/md.c:336 storage/smgr/md.c:1192 #, c-format msgid "could not truncate file \"%s\": %m" msgstr "no se pudo truncar el archivo «%s»: %m" -#: storage/file/fd.c:516 storage/file/fd.c:588 storage/file/fd.c:624 +#: 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:546 +#: 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:598 +#: 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:894 +#: storage/file/fd.c:983 #, c-format msgid "getrlimit failed: %m" msgstr "getrlimit falló: %m" -#: storage/file/fd.c:984 +#: 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:985 +#: storage/file/fd.c:1074 #, c-format msgid "System allows %d, server needs at least %d." -msgstr "" +msgstr "El sistema permite %d, el servidor necesita al menos %d." -#: storage/file/fd.c:1073 storage/file/fd.c:2515 storage/file/fd.c:2624 -#: storage/file/fd.c:2775 +#: 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:1447 +#: 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:1586 +#: 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:1593 +#: 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:1790 +#: 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:1826 +#: 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:1867 +#: 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:1955 +#: 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:2138 +#: 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:2491 storage/file/fd.c:2550 +#: 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:2595 +#: 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:2751 +#: 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:3281 +#: 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:3399 +#: 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:3413 -#, 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" - -#: storage/file/fd.c:3626 +#: 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:3658 +#: 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:3847 +#: 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:3964 #, fuzzy, c-format -#| msgid "Direct I/O is not supported on this platform.\n" -msgid "debug_io_direct is not supported on this platform." -msgstr "Direct I/O no está soportado en esta plataforma.\n" +msgid "Invalid list syntax in parameter \"%s\"" +msgstr "la sintaxis de lista no es válida para el parámetro «%s»" + +#: storage/file/fd.c:3984 +#, fuzzy, c-format +msgid "Invalid option \"%s\"" +msgstr "el nombre de opción «%s» no es válido" -#: storage/file/fd.c:3894 +#: storage/file/fd.c:3997 #, c-format -msgid "debug_io_direct is not supported for WAL because XLOG_BLCKSZ is too small" -msgstr "" +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:3901 +#: storage/file/fd.c:4004 #, c-format -msgid "debug_io_direct is not supported for data because BLCKSZ is too small" -msgstr "" +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" #: storage/file/reinit.c:145 #, c-format @@ -21776,22 +22478,22 @@ msgstr "reseteando relaciones «unlogged» (init), transcurrido: %ld.%02d s, rut msgid "resetting unlogged relations (cleanup), elapsed time: %ld.%02d s, current path: %s" msgstr "reseteando relaciones «unlogged» (cleanup), transcurrido: %ld.%02d s, ruta actual: %s" -#: storage/file/sharedfileset.c:79 +#: storage/file/sharedfileset.c:73 #, c-format msgid "could not attach to a SharedFileSet that is already destroyed" msgstr "no se puede adjuntar a un SharedFileSet que ya está destruido" -#: storage/ipc/dsm.c:352 +#: storage/ipc/dsm.c:379 #, c-format msgid "dynamic shared memory control segment is corrupt" msgstr "el segmento de control de memoria compartida dinámica está corrupto" -#: storage/ipc/dsm.c:417 +#: storage/ipc/dsm.c:444 #, c-format msgid "dynamic shared memory control segment is not valid" msgstr "el segmento de control de memoria compartida dinámica no es válido" -#: storage/ipc/dsm.c:599 +#: storage/ipc/dsm.c:626 #, c-format msgid "too many dynamic shared memory segments" msgstr "demasiados segmentos de memoria compartida dinámica" @@ -21851,457 +22553,456 @@ msgstr "no se pudo cerrar el segmento de memoria compartida «%s»: %m" msgid "could not duplicate handle for \"%s\": %m" msgstr "no se pudo duplicar el «handle» para «%s»: %m" -#: storage/ipc/procarray.c:3796 +#: storage/ipc/dsm_registry.c:142 +#, fuzzy, c-format +msgid "DSM segment name cannot be empty" +msgstr "el nombre de canal no puede ser vacío" + +#: storage/ipc/dsm_registry.c:146 +#, fuzzy, c-format +msgid "DSM segment name too long" +msgstr "nombre de «realm» demasiado largo" + +#: storage/ipc/dsm_registry.c:150 +#, c-format +msgid "DSM segment size must be nonzero" +msgstr "" + +#: storage/ipc/dsm_registry.c:176 +#, c-format +msgid "requested DSM segment size does not match size of existing segment" +msgstr "" + +#: storage/ipc/procarray.c:488 storage/lmgr/proc.c:352 +#: tcop/backend_startup.c:304 +#, c-format +msgid "sorry, too many clients already" +msgstr "lo siento, ya tenemos demasiados clientes" + +#: storage/ipc/procarray.c:3857 #, c-format msgid "database \"%s\" is being used by prepared transactions" msgstr "la base de datos «%s» está siendo utilizada por transacciones preparadas" -#: storage/ipc/procarray.c:3828 +#: storage/ipc/procarray.c:3893 storage/ipc/procarray.c:3901 +#: storage/ipc/signalfuncs.c:235 storage/ipc/signalfuncs.c:242 #, c-format -msgid "must be a superuser to terminate superuser process" -msgstr "debe ser superusuario para terminar proceso de superusuario" - -#: storage/ipc/procarray.c:3835 storage/ipc/signalfuncs.c:230 -#: storage/ipc/signalfuncs.c:237 -#, fuzzy, c-format -#| msgid "permission denied to create role" msgid "permission denied to terminate process" -msgstr "se ha denegado el permiso para crear el rol" +msgstr "se ha denegado el permiso para terminar el proceso" + +#: storage/ipc/procarray.c:3894 storage/ipc/signalfuncs.c:236 +#, c-format +msgid "Only roles with the %s attribute may terminate processes of roles with the %s attribute." +msgstr "Sólo roles con el atributo %s pueden terminar procesos de roles con el atributo %s." -#: storage/ipc/procarray.c:3836 storage/ipc/signalfuncs.c:238 +#: storage/ipc/procarray.c:3902 storage/ipc/signalfuncs.c:243 #, c-format msgid "Only roles with privileges of the role whose process is being terminated or with privileges of the \"%s\" role may terminate this process." -msgstr "" +msgstr "Sólo roles con privilegios del rol cuyo proceso está siendo terminados o con privilegios del rol «%s» pueden terminar este proceso." -#: storage/ipc/procsignal.c:420 +#: storage/ipc/procsignal.c:416 #, c-format msgid "still waiting for backend with PID %d to accept ProcSignalBarrier" -msgstr "" +msgstr "aún esperando que el backend con PID %d acepte ProcSignalBarrier" -#: storage/ipc/shm_mq.c:384 +#: storage/ipc/shm_mq.c:383 #, c-format msgid "cannot send a message of size %zu via shared memory queue" msgstr "no se puede enviar un mensaje de tamaño %zu mediante la cola de memoria compartida" -#: storage/ipc/shm_mq.c:719 +#: storage/ipc/shm_mq.c:718 #, c-format msgid "invalid message size %zu in shared memory queue" msgstr "tamaño no válido de mensaje %zu en cola de memoria compartida" -#: storage/ipc/shm_toc.c:118 storage/ipc/shm_toc.c:200 storage/lmgr/lock.c:982 -#: storage/lmgr/lock.c:1020 storage/lmgr/lock.c:2810 storage/lmgr/lock.c:4195 -#: storage/lmgr/lock.c:4260 storage/lmgr/lock.c:4610 -#: storage/lmgr/predicate.c:2412 storage/lmgr/predicate.c:2427 -#: storage/lmgr/predicate.c:3824 storage/lmgr/predicate.c:4871 -#: utils/hash/dynahash.c:1107 +#: storage/ipc/shm_toc.c:118 storage/ipc/shm_toc.c:200 storage/lmgr/lock.c:984 +#: storage/lmgr/lock.c:1022 storage/lmgr/lock.c:2825 storage/lmgr/lock.c:4210 +#: storage/lmgr/lock.c:4275 storage/lmgr/lock.c:4625 +#: storage/lmgr/predicate.c:2463 storage/lmgr/predicate.c:2478 +#: storage/lmgr/predicate.c:3875 storage/lmgr/predicate.c:4922 +#: utils/hash/dynahash.c:1095 #, c-format msgid "out of shared memory" msgstr "memoria compartida agotada" -#: storage/ipc/shmem.c:170 storage/ipc/shmem.c:266 +#: storage/ipc/shmem.c:161 storage/ipc/shmem.c:257 #, c-format msgid "out of shared memory (%zu bytes requested)" msgstr "memoria compartida agotada (%zu bytes solicitados)" -#: storage/ipc/shmem.c:445 +#: storage/ipc/shmem.c:436 #, c-format msgid "could not create ShmemIndex entry for data structure \"%s\"" msgstr "no se pudo crear la entrada en ShmemIndex para la estructura «%s»" -#: storage/ipc/shmem.c:460 +#: storage/ipc/shmem.c:451 #, c-format msgid "ShmemIndex entry size is wrong for data structure \"%s\": expected %zu, actual %zu" msgstr "el tamaño de la entrada ShmemIndex es incorrecto para la estructura «%s»: se esperaba %zu, real %zu" -#: storage/ipc/shmem.c:479 +#: storage/ipc/shmem.c:470 #, c-format msgid "not enough shared memory for data structure \"%s\" (%zu bytes requested)" msgstr "el espacio de memoria compartida es insuficiente para la estructura «%s» (%zu bytes solicitados)" -#: storage/ipc/shmem.c:511 storage/ipc/shmem.c:530 +#: storage/ipc/shmem.c:502 storage/ipc/shmem.c:521 #, c-format msgid "requested shared memory size overflows size_t" msgstr "la petición de tamaño de memoria compartida desborda size_t" #: storage/ipc/signalfuncs.c:72 -#, fuzzy, c-format -#| msgid "PID %d is not a PostgreSQL server process" +#, c-format msgid "PID %d is not a PostgreSQL backend process" msgstr "PID %d no es un proceso servidor de PostgreSQL" -#: storage/ipc/signalfuncs.c:104 storage/lmgr/proc.c:1379 -#: utils/adt/mcxtfuncs.c:190 +#: storage/ipc/signalfuncs.c:109 storage/lmgr/proc.c:1448 +#: utils/adt/mcxtfuncs.c:182 #, c-format msgid "could not send signal to process %d: %m" msgstr "no se pudo enviar la señal al proceso %d: %m" -#: storage/ipc/signalfuncs.c:124 storage/ipc/signalfuncs.c:131 -#, fuzzy, c-format -#| msgid "permission denied to create role" +#: storage/ipc/signalfuncs.c:129 storage/ipc/signalfuncs.c:136 +#, c-format msgid "permission denied to cancel query" -msgstr "se ha denegado el permiso para crear el rol" +msgstr "se ha denegado el permiso para cancelar la consulta" -#: storage/ipc/signalfuncs.c:125 +#: storage/ipc/signalfuncs.c:130 #, c-format -msgid "Only roles with the %s attribute may cancel queries of roles with %s." -msgstr "" +msgid "Only roles with the %s attribute may cancel queries of roles with the %s attribute." +msgstr "Sólo roles con el atributo %s pueden cancelar consultas de roles con el atributo %s." -#: storage/ipc/signalfuncs.c:132 +#: storage/ipc/signalfuncs.c:137 #, c-format msgid "Only roles with privileges of the role whose query is being canceled or with privileges of the \"%s\" role may cancel this query." -msgstr "" +msgstr "Sólo roles con privilegios del rol cuya consulta está siendo cancelada o con privilegios del rol «%s» pueden cancelar esta consulta." -#: storage/ipc/signalfuncs.c:174 +#: storage/ipc/signalfuncs.c:179 #, c-format msgid "could not check the existence of the backend with PID %d: %m" msgstr "no se pudo comprobar la existencia del proceso de servidor con PID %d: %m" -#: storage/ipc/signalfuncs.c:192 +#: storage/ipc/signalfuncs.c:197 #, c-format msgid "backend with PID %d did not terminate within %lld millisecond" msgid_plural "backend with PID %d did not terminate within %lld milliseconds" msgstr[0] "el proceso de servidor con PID %d no terminó dentro de %lld milisegundo" msgstr[1] "el proceso de servidor con PID %d no terminó dentro de %lld milisegundos" -#: storage/ipc/signalfuncs.c:223 +#: storage/ipc/signalfuncs.c:228 #, c-format msgid "\"timeout\" must not be negative" msgstr "\"timeout\" no debe ser negativo" -#: storage/ipc/signalfuncs.c:231 -#, c-format -msgid "Only roles with the %s attribute may terminate processes of roles with %s." -msgstr "" - -#: storage/ipc/signalfuncs.c:279 -#, c-format -msgid "must be superuser to rotate log files with adminpack 1.0" -msgstr "bebe ser superusuario para rotar archivos de log con adminpack 1.0" - -#. translator: %s is a SQL function name -#: storage/ipc/signalfuncs.c:281 utils/adt/genfile.c:250 -#, c-format -msgid "Consider using %s, which is part of core, instead." -msgstr "Considere usar %s, que es parte del servidor, en su lugar." - -#: storage/ipc/signalfuncs.c:287 storage/ipc/signalfuncs.c:307 +#: storage/ipc/signalfuncs.c:285 #, c-format msgid "rotation not possible because log collection not active" msgstr "la rotación no es posible porque la recoleccion de log no está activa" -#: storage/ipc/standby.c:330 +#: storage/ipc/standby.c:329 #, c-format msgid "recovery still waiting after %ld.%03d ms: %s" msgstr "la recuperación aún está esperando después de %ld.%03d ms: %s" -#: storage/ipc/standby.c:339 +#: storage/ipc/standby.c:338 #, c-format msgid "recovery finished waiting after %ld.%03d ms: %s" msgstr "la recuperación terminó de esperar después de %ld.%03d ms: %s" -#: storage/ipc/standby.c:921 tcop/postgres.c:3384 +#: storage/ipc/standby.c:920 tcop/postgres.c:3168 #, c-format msgid "canceling statement due to conflict with recovery" msgstr "cancelando la sentencia debido a un conflicto con la recuperación" -#: storage/ipc/standby.c:922 tcop/postgres.c:2533 +#: storage/ipc/standby.c:921 tcop/postgres.c:2529 #, c-format msgid "User transaction caused buffer deadlock with recovery." msgstr "La transacción del usuario causó un «deadlock» con la recuperación." -#: storage/ipc/standby.c:1479 +#: storage/ipc/standby.c:1486 msgid "unknown reason" msgstr "razón desconocida" -#: storage/ipc/standby.c:1484 +#: storage/ipc/standby.c:1491 msgid "recovery conflict on buffer pin" msgstr "conflicto de recuperación en «pin» de búfer" -#: storage/ipc/standby.c:1487 +#: storage/ipc/standby.c:1494 msgid "recovery conflict on lock" msgstr "conflicto de recuperación en bloqueo" -#: storage/ipc/standby.c:1490 +#: storage/ipc/standby.c:1497 msgid "recovery conflict on tablespace" msgstr "conflicto de recuperación en tablespace" -#: storage/ipc/standby.c:1493 +#: storage/ipc/standby.c:1500 msgid "recovery conflict on snapshot" msgstr "conflicto de recuperación en snapshot" -#: storage/ipc/standby.c:1496 -#, fuzzy -#| msgid "recovery conflict on snapshot" +#: storage/ipc/standby.c:1503 msgid "recovery conflict on replication slot" -msgstr "conflicto de recuperación en snapshot" +msgstr "conflicto de recuperación en slot de replicación" -#: storage/ipc/standby.c:1499 +#: storage/ipc/standby.c:1506 msgid "recovery conflict on buffer deadlock" msgstr "conflicto de recuperación en deadlock de búfer" -#: storage/ipc/standby.c:1502 +#: storage/ipc/standby.c:1509 msgid "recovery conflict on database" msgstr "conflicto de recuperación en base de datos" -#: storage/large_object/inv_api.c:191 +#: storage/large_object/inv_api.c:190 #, c-format msgid "pg_largeobject entry for OID %u, page %d has invalid data field size %d" msgstr "la entrada pg_largeobject para el OID %u, página %d tiene tamaño de campo %d no válido" -#: storage/large_object/inv_api.c:274 +#: storage/large_object/inv_api.c:272 #, c-format msgid "invalid flags for opening a large object: %d" msgstr "opciones no válidas para abrir un objeto grande: %d" -#: storage/large_object/inv_api.c:457 +#: storage/large_object/inv_api.c:297 storage/large_object/inv_api.c:309 +#: storage/large_object/inv_api.c:506 storage/large_object/inv_api.c:617 +#: storage/large_object/inv_api.c:807 +#, c-format +msgid "permission denied for large object %u" +msgstr "permiso denegado al objeto grande %u" + +#: storage/large_object/inv_api.c:455 #, c-format msgid "invalid whence setting: %d" msgstr "parámetro «whence» no válido: %d" -#: storage/large_object/inv_api.c:629 +#: storage/large_object/inv_api.c:627 #, c-format msgid "invalid large object write request size: %d" msgstr "tamaño de petición de escritura de objeto grande no válido: %d" -#: storage/lmgr/deadlock.c:1105 +#: storage/lmgr/deadlock.c:1104 #, c-format msgid "Process %d waits for %s on %s; blocked by process %d." msgstr "El proceso %d espera %s en %s; bloqueado por proceso %d." -#: storage/lmgr/deadlock.c:1124 +#: storage/lmgr/deadlock.c:1123 #, c-format msgid "Process %d: %s" msgstr "Proceso %d: %s" -#: storage/lmgr/deadlock.c:1133 +#: storage/lmgr/deadlock.c:1132 #, c-format msgid "deadlock detected" msgstr "se ha detectado un deadlock" -#: storage/lmgr/deadlock.c:1136 +#: storage/lmgr/deadlock.c:1135 #, c-format msgid "See server log for query details." msgstr "Vea el registro del servidor para obtener detalles de las consultas." -#: storage/lmgr/lmgr.c:859 +#: storage/lmgr/lmgr.c:848 #, c-format msgid "while updating tuple (%u,%u) in relation \"%s\"" msgstr "mientras se actualizaba la tupla (%u,%u) en la relación «%s»" -#: storage/lmgr/lmgr.c:862 +#: storage/lmgr/lmgr.c:851 #, c-format msgid "while deleting tuple (%u,%u) in relation \"%s\"" msgstr "mientras se borraba la tupla (%u,%u) en la relación «%s»" -#: storage/lmgr/lmgr.c:865 +#: storage/lmgr/lmgr.c:854 #, c-format msgid "while locking tuple (%u,%u) in relation \"%s\"" msgstr "mientras se bloqueaba la tupla (%u,%u) de la relación «%s»" -#: storage/lmgr/lmgr.c:868 +#: storage/lmgr/lmgr.c:857 #, c-format msgid "while locking updated version (%u,%u) of tuple in relation \"%s\"" msgstr "mientras se bloqueaba la versión actualizada (%u,%u) en la relación «%s»" -#: storage/lmgr/lmgr.c:871 +#: storage/lmgr/lmgr.c:860 #, c-format msgid "while inserting index tuple (%u,%u) in relation \"%s\"" msgstr "mientras se insertaba la tupla de índice (%u,%u) en la relación «%s»" -#: storage/lmgr/lmgr.c:874 +#: storage/lmgr/lmgr.c:863 #, c-format msgid "while checking uniqueness of tuple (%u,%u) in relation \"%s\"" msgstr "mientras se verificaba la unicidad de la tupla (%u,%u) en la relación «%s»" -#: storage/lmgr/lmgr.c:877 +#: storage/lmgr/lmgr.c:866 #, c-format msgid "while rechecking updated tuple (%u,%u) in relation \"%s\"" msgstr "mientras se verificaba la tupla actualizada (%u,%u) en la relación «%s»" -#: storage/lmgr/lmgr.c:880 +#: storage/lmgr/lmgr.c:869 #, c-format msgid "while checking exclusion constraint on tuple (%u,%u) in relation \"%s\"" msgstr "mientras se verificaba una restricción de exclusión en la tupla (%u,%u) en la relación «%s»" -#: storage/lmgr/lmgr.c:1174 +#: storage/lmgr/lmgr.c:1239 #, c-format msgid "relation %u of database %u" msgstr "relación %u de la base de datos %u" -#: storage/lmgr/lmgr.c:1180 +#: storage/lmgr/lmgr.c:1245 #, c-format msgid "extension of relation %u of database %u" msgstr "extensión de la relación %u de la base de datos %u" -#: storage/lmgr/lmgr.c:1186 +#: storage/lmgr/lmgr.c:1251 #, c-format msgid "pg_database.datfrozenxid of database %u" msgstr "pg_database.datfrozenxid de la base de datos %u" -#: storage/lmgr/lmgr.c:1191 +#: storage/lmgr/lmgr.c:1256 #, c-format msgid "page %u of relation %u of database %u" msgstr "página %u de la relación %u de la base de datos %u" -#: storage/lmgr/lmgr.c:1198 +#: storage/lmgr/lmgr.c:1263 #, c-format msgid "tuple (%u,%u) of relation %u of database %u" msgstr "tupla (%u,%u) de la relación %u de la base de datos %u" -#: storage/lmgr/lmgr.c:1206 +#: storage/lmgr/lmgr.c:1271 #, c-format msgid "transaction %u" msgstr "transacción %u" -#: storage/lmgr/lmgr.c:1211 +#: storage/lmgr/lmgr.c:1276 #, c-format msgid "virtual transaction %d/%u" msgstr "transacción virtual %d/%u" -#: storage/lmgr/lmgr.c:1217 +#: storage/lmgr/lmgr.c:1282 #, c-format msgid "speculative token %u of transaction %u" msgstr "token especulativo %u de la transacción %u" -#: storage/lmgr/lmgr.c:1223 +#: storage/lmgr/lmgr.c:1288 #, c-format msgid "object %u of class %u of database %u" msgstr "objeto %u de clase %u de la base de datos %u" -#: storage/lmgr/lmgr.c:1231 +#: storage/lmgr/lmgr.c:1296 #, c-format msgid "user lock [%u,%u,%u]" msgstr "candado de usuario [%u,%u,%u]" # XXX is this a good translation? -#: storage/lmgr/lmgr.c:1238 +#: storage/lmgr/lmgr.c:1303 #, c-format msgid "advisory lock [%u,%u,%u,%u]" msgstr "candado consultivo [%u,%u,%u,%u]" -#: storage/lmgr/lmgr.c:1246 -#, fuzzy, c-format -#| msgid "extension of relation %u of database %u" +#: storage/lmgr/lmgr.c:1311 +#, c-format msgid "remote transaction %u of subscription %u of database %u" -msgstr "extensión de la relación %u de la base de datos %u" +msgstr "transacción remota %u de la suscripción %u de la base de datos %u" -#: storage/lmgr/lmgr.c:1253 +#: storage/lmgr/lmgr.c:1318 #, c-format msgid "unrecognized locktag type %d" msgstr "tipo de locktag %d no reconocido" -#: storage/lmgr/lock.c:803 +#: storage/lmgr/lock.c:812 #, c-format msgid "cannot acquire lock mode %s on database objects while recovery is in progress" msgstr "no se puede adquirir candado en modo %s en objetos de la base de datos mientras la recuperación está en proceso" -#: storage/lmgr/lock.c:805 +#: storage/lmgr/lock.c:814 #, c-format msgid "Only RowExclusiveLock or less can be acquired on database objects during recovery." msgstr "Sólo candados RowExclusiveLock o menor pueden ser adquiridos en objetos de la base de datos durante la recuperación." -#: storage/lmgr/lock.c:983 storage/lmgr/lock.c:1021 storage/lmgr/lock.c:2811 -#: storage/lmgr/lock.c:4196 storage/lmgr/lock.c:4261 storage/lmgr/lock.c:4611 -#, c-format -msgid "You might need to increase max_locks_per_transaction." -msgstr "Puede ser necesario incrementar max_locks_per_transaction." - -#: storage/lmgr/lock.c:3259 storage/lmgr/lock.c:3327 storage/lmgr/lock.c:3443 +#: storage/lmgr/lock.c:3274 storage/lmgr/lock.c:3342 storage/lmgr/lock.c:3458 #, c-format msgid "cannot PREPARE while holding both session-level and transaction-level locks on the same object" msgstr "no se puede hacer PREPARE mientras se mantienen candados a nivel de sesión y transacción simultáneamente sobre el mismo objeto" -#: storage/lmgr/predicate.c:649 +#: storage/lmgr/predicate.c:653 #, c-format msgid "not enough elements in RWConflictPool to record a read/write conflict" msgstr "no hay suficientes elementos en RWConflictPool para registrar un conflicto read/write" -#: storage/lmgr/predicate.c:650 storage/lmgr/predicate.c:675 +#: storage/lmgr/predicate.c:654 storage/lmgr/predicate.c:679 #, c-format -msgid "You might need to run fewer transactions at a time or increase max_connections." -msgstr "Puede ser necesario ejecutar menos transacciones al mismo tiempo, o incrementar max_connections." +msgid "You might need to run fewer transactions at a time or increase \"max_connections\"." +msgstr "Puede ser necesario ejecutar menos transacciones al mismo tiempo, o incrementar «max_connections»." -#: storage/lmgr/predicate.c:674 +#: storage/lmgr/predicate.c:678 #, c-format msgid "not enough elements in RWConflictPool to record a potential read/write conflict" msgstr "no hay suficientes elementos en RWConflictPool para registrar un potencial conflicto read/write" -#: storage/lmgr/predicate.c:1630 +#: storage/lmgr/predicate.c:1681 #, c-format msgid "\"default_transaction_isolation\" is set to \"serializable\"." msgstr "«default_transaction_isolation» está definido a «serializable»." -#: storage/lmgr/predicate.c:1631 +#: storage/lmgr/predicate.c:1682 #, c-format msgid "You can use \"SET default_transaction_isolation = 'repeatable read'\" to change the default." msgstr "Puede usar «SET default_transaction_isolation = 'repeatable read'» para cambiar el valor por omisión." -#: storage/lmgr/predicate.c:1682 +#: storage/lmgr/predicate.c:1733 #, c-format msgid "a snapshot-importing transaction must not be READ ONLY DEFERRABLE" msgstr "una transacción que importa un snapshot no debe ser READ ONLY DEFERRABLE" -#: storage/lmgr/predicate.c:1761 utils/time/snapmgr.c:570 -#: utils/time/snapmgr.c:576 +#: storage/lmgr/predicate.c:1812 utils/time/snapmgr.c:535 +#: utils/time/snapmgr.c:541 #, c-format msgid "could not import the requested snapshot" msgstr "no se pudo importar el snapshot solicitado" -#: storage/lmgr/predicate.c:1762 utils/time/snapmgr.c:577 +#: storage/lmgr/predicate.c:1813 utils/time/snapmgr.c:542 #, c-format msgid "The source process with PID %d is not running anymore." msgstr "El proceso de origen con PID %d ya no está en ejecución." -#: storage/lmgr/predicate.c:2413 storage/lmgr/predicate.c:2428 -#: storage/lmgr/predicate.c:3825 -#, c-format -msgid "You might need to increase max_pred_locks_per_transaction." -msgstr "Puede ser necesario incrementar max_pred_locks_per_transaction." - -#: storage/lmgr/predicate.c:3935 storage/lmgr/predicate.c:3971 -#: storage/lmgr/predicate.c:4004 storage/lmgr/predicate.c:4012 -#: storage/lmgr/predicate.c:4051 storage/lmgr/predicate.c:4281 -#: storage/lmgr/predicate.c:4600 storage/lmgr/predicate.c:4612 -#: storage/lmgr/predicate.c:4659 storage/lmgr/predicate.c:4695 +#: storage/lmgr/predicate.c:3986 storage/lmgr/predicate.c:4022 +#: storage/lmgr/predicate.c:4055 storage/lmgr/predicate.c:4063 +#: storage/lmgr/predicate.c:4102 storage/lmgr/predicate.c:4332 +#: storage/lmgr/predicate.c:4651 storage/lmgr/predicate.c:4663 +#: storage/lmgr/predicate.c:4710 storage/lmgr/predicate.c:4746 #, c-format msgid "could not serialize access due to read/write dependencies among transactions" msgstr "no se pudo serializar el acceso debido a dependencias read/write entre transacciones" -#: storage/lmgr/predicate.c:3937 storage/lmgr/predicate.c:3973 -#: storage/lmgr/predicate.c:4006 storage/lmgr/predicate.c:4014 -#: storage/lmgr/predicate.c:4053 storage/lmgr/predicate.c:4283 -#: storage/lmgr/predicate.c:4602 storage/lmgr/predicate.c:4614 -#: storage/lmgr/predicate.c:4661 storage/lmgr/predicate.c:4697 +#: storage/lmgr/predicate.c:3988 storage/lmgr/predicate.c:4024 +#: storage/lmgr/predicate.c:4057 storage/lmgr/predicate.c:4065 +#: storage/lmgr/predicate.c:4104 storage/lmgr/predicate.c:4334 +#: storage/lmgr/predicate.c:4653 storage/lmgr/predicate.c:4665 +#: storage/lmgr/predicate.c:4712 storage/lmgr/predicate.c:4748 #, c-format msgid "The transaction might succeed if retried." msgstr "La transacción podría tener éxito si es reintentada." -#: storage/lmgr/proc.c:349 +#: storage/lmgr/proc.c:348 #, c-format -msgid "number of requested standby connections exceeds max_wal_senders (currently %d)" -msgstr "la cantidad de conexiones standby pedidas excede max_wal_senders (actualmente %d)" +msgid "number of requested standby connections exceeds \"max_wal_senders\" (currently %d)" +msgstr "la cantidad de conexiones standby pedidas excede «max_wal_senders» (actualmente %d)" -#: storage/lmgr/proc.c:1472 +#: storage/lmgr/proc.c:1541 #, c-format msgid "process %d avoided deadlock for %s on %s by rearranging queue order after %ld.%03d ms" msgstr "el proceso %d evitó un deadlock para %s en %s reordenando la cola después de %ld.%03d ms" -#: storage/lmgr/proc.c:1487 +#: storage/lmgr/proc.c:1556 #, c-format msgid "process %d detected deadlock while waiting for %s on %s after %ld.%03d ms" msgstr "el proceso %d detectó un deadlock mientras esperaba %s en %s después de %ld.%03d ms" -#: storage/lmgr/proc.c:1496 +#: storage/lmgr/proc.c:1565 #, c-format msgid "process %d still waiting for %s on %s after %ld.%03d ms" msgstr "el proceso %d aún espera %s en %s después de %ld.%03d ms" -#: storage/lmgr/proc.c:1503 +#: storage/lmgr/proc.c:1572 #, c-format msgid "process %d acquired %s on %s after %ld.%03d ms" msgstr "el proceso %d adquirió %s en %s después de %ld.%03d ms" -#: storage/lmgr/proc.c:1520 +#: storage/lmgr/proc.c:1589 #, c-format msgid "process %d failed to acquire %s on %s after %ld.%03d ms" msgstr "el proceso %d no pudo adquirir %s en %s después de %ld.%03d ms" @@ -22323,79 +23024,213 @@ msgstr "los punteros de página están corruptos: inferior = %u, superior = %u, msgid "corrupted line pointer: %u" msgstr "puntero de ítem corrupto: %u" -#: storage/page/bufpage.c:789 storage/page/bufpage.c:1266 +#: storage/page/bufpage.c:789 storage/page/bufpage.c:1266 +#, c-format +msgid "corrupted item lengths: total %u, available space %u" +msgstr "los largos de ítem están corruptos: total %u, espacio disponible %u" + +#: storage/page/bufpage.c:1092 storage/page/bufpage.c:1233 +#: storage/page/bufpage.c:1330 storage/page/bufpage.c:1442 +#, c-format +msgid "corrupted line pointer: offset = %u, size = %u" +msgstr "puntero de ítem corrupto: desplazamiento = %u, tamaño = %u" + +#: storage/smgr/md.c:485 storage/smgr/md.c:547 +#, c-format +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 +#, c-format +msgid "could not extend file \"%s\": %m" +msgstr "no se pudo extender el archivo «%s»: %m" + +#: storage/smgr/md.c:506 +#, c-format +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 +#, 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 +#, fuzzy, c-format +msgid "could not read blocks %u..%u in file \"%s\": %m" +msgstr "no se pudo leer el bloque %u del archivo «%s»: %m" + +#: storage/smgr/md.c:895 +#, fuzzy, c-format +msgid "could not read blocks %u..%u in file \"%s\": read only %zu of %zu bytes" +msgstr "no se pudo leer el bloque %u del archivo «%s»: se leyeron sólo %d de %d bytes" + +#: storage/smgr/md.c:995 +#, fuzzy, c-format +msgid "could not write blocks %u..%u in file \"%s\": %m" +msgstr "no se pudo escribir el bloque %u en el archivo «%s»: %m" + +#: storage/smgr/md.c:1163 +#, 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:1218 +#, 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:1688 +#, 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:1702 +#, c-format +msgid "could not open file \"%s\" (target block %u): %m" +msgstr "no se pudo abrir el archivo «%s» (bloque buscado %u): %m" + +#: tcop/backend_startup.c:85 +#, c-format +msgid "SSL configuration could not be loaded in child process" +msgstr "No se pudo cargar la configuración SSL en proceso secundario" + +#: tcop/backend_startup.c:208 +#, c-format +msgid "connection received: host=%s port=%s" +msgstr "conexión recibida: host=%s port=%s" + +#: tcop/backend_startup.c:213 +#, c-format +msgid "connection received: host=%s" +msgstr "conexión recibida: host=%s" + +#: tcop/backend_startup.c:277 +#, c-format +msgid "the database system is starting up" +msgstr "el sistema de base de datos está iniciándose" + +#: tcop/backend_startup.c:283 +#, c-format +msgid "the database system is not yet accepting connections" +msgstr "el sistema de bases de datos aún no está aceptando conexiones" + +#: tcop/backend_startup.c:284 +#, c-format +msgid "Consistent recovery state has not been yet reached." +msgstr "Aún no se ha alcanzado un estado de recuperación consistente." + +#: tcop/backend_startup.c:288 +#, c-format +msgid "the database system is not accepting connections" +msgstr "el sistema de bases de datos no está aceptando conexiones" + +#: tcop/backend_startup.c:289 +#, c-format +msgid "Hot standby mode is disabled." +msgstr "El modo hot standby está desactivado." + +#: tcop/backend_startup.c:294 +#, c-format +msgid "the database system is shutting down" +msgstr "el sistema de base de datos está apagándose" + +#: tcop/backend_startup.c:299 +#, c-format +msgid "the database system is in recovery mode" +msgstr "el sistema de base de datos está en modo de recuperación" + +#: tcop/backend_startup.c:414 +#, c-format +msgid "received direct SSL connection request without ALPN protocol negotiation extension" +msgstr "" + +#: tcop/backend_startup.c:420 +#, fuzzy, c-format +msgid "direct SSL connection accepted" +msgstr "no se pudo aceptar una conexión SSL: se detectó EOF" + +#: tcop/backend_startup.c:430 +#, fuzzy, c-format +msgid "direct SSL connection rejected" +msgstr "no se pudo aceptar una conexión SSL: se detectó EOF" + +#: tcop/backend_startup.c:489 tcop/backend_startup.c:517 +#, c-format +msgid "incomplete startup packet" +msgstr "el paquete de inicio está incompleto" + +#: tcop/backend_startup.c:501 tcop/backend_startup.c:538 #, c-format -msgid "corrupted item lengths: total %u, available space %u" -msgstr "los largos de ítem están corruptos: total %u, espacio disponible %u" +msgid "invalid length of startup packet" +msgstr "el de paquete de inicio tiene largo incorrecto" -#: storage/page/bufpage.c:1092 storage/page/bufpage.c:1233 -#: storage/page/bufpage.c:1330 storage/page/bufpage.c:1442 +#: tcop/backend_startup.c:573 #, c-format -msgid "corrupted line pointer: offset = %u, size = %u" -msgstr "puntero de ítem corrupto: desplazamiento = %u, tamaño = %u" +msgid "SSLRequest accepted" +msgstr "" -#: storage/smgr/md.c:484 storage/smgr/md.c:546 +#: tcop/backend_startup.c:576 #, c-format -msgid "cannot extend file \"%s\" beyond %u blocks" -msgstr "no se pudo extender el archivo «%s» más allá de %u bloques" +msgid "SSLRequest rejected" +msgstr "" -#: storage/smgr/md.c:499 storage/smgr/md.c:610 +#: tcop/backend_startup.c:585 #, c-format -msgid "could not extend file \"%s\": %m" -msgstr "no se pudo extender el archivo «%s»: %m" +msgid "failed to send SSL negotiation response: %m" +msgstr "no se pudo enviar la respuesta de negociación SSL: %m" -#: storage/smgr/md.c:505 +#: tcop/backend_startup.c:603 #, c-format -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" +msgid "received unencrypted data after SSL request" +msgstr "se recibieron datos no cifrados después de petición SSL" -#: storage/smgr/md.c:588 -#, fuzzy, c-format -#| msgid "could not extend file \"%s\": %m" -msgid "could not extend file \"%s\" with FileFallocate(): %m" -msgstr "no se pudo extender el archivo «%s»: %m" +#: tcop/backend_startup.c:604 tcop/backend_startup.c:658 +#, c-format +msgid "This could be either a client-software bug or evidence of an attempted man-in-the-middle attack." +msgstr "Esto podría ser un error en el software cliente o evidencia de un intento de ataque man-in-the-middle." -#: storage/smgr/md.c:779 +#: tcop/backend_startup.c:627 #, c-format -msgid "could not read block %u in file \"%s\": %m" -msgstr "no se pudo leer el bloque %u del archivo «%s»: %m" +msgid "GSSENCRequest accepted" +msgstr "" -#: storage/smgr/md.c:795 +#: tcop/backend_startup.c:630 #, c-format -msgid "could not read block %u in file \"%s\": read only %d of %d bytes" -msgstr "no se pudo leer el bloque %u del archivo «%s»: se leyeron sólo %d de %d bytes" +msgid "GSSENCRequest rejected" +msgstr "" -#: storage/smgr/md.c:853 +#: tcop/backend_startup.c:639 #, c-format -msgid "could not write block %u in file \"%s\": %m" -msgstr "no se pudo escribir el bloque %u en el archivo «%s»: %m" +msgid "failed to send GSSAPI negotiation response: %m" +msgstr "no se pudo enviar la respuesta de negociación GSSAPI: %m" -#: storage/smgr/md.c:858 +#: tcop/backend_startup.c:657 #, c-format -msgid "could not write block %u in file \"%s\": wrote only %d of %d bytes" -msgstr "no se pudo escribir el bloque %u en el archivo «%s»: se escribieron sólo %d de %d bytes" +msgid "received unencrypted data after GSSAPI encryption request" +msgstr "se recibieron datos no cifrados después de petición de cifrado GSSAPI" -#: storage/smgr/md.c:1009 +#: tcop/backend_startup.c:681 #, 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" +msgid "unsupported frontend protocol %u.%u: server supports %u.0 to %u.%u" +msgstr "el protocolo %u.%u no está soportado: servidor soporta %u.0 hasta %u.%u" -#: storage/smgr/md.c:1064 +#: tcop/backend_startup.c:744 #, c-format -msgid "could not truncate file \"%s\" to %u blocks: %m" -msgstr "no se pudo truncar el archivo «%s» a %u bloques: %m" +msgid "Valid values are: \"false\", 0, \"true\", 1, \"database\"." +msgstr "Los valores válidos son: «false», 0, «true», 1, «database»." -#: storage/smgr/md.c:1491 +#: tcop/backend_startup.c:785 #, 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" +msgid "invalid startup packet layout: expected terminator as last byte" +msgstr "el paquete de inicio no es válido: se esperaba un terminador en el último byte" -#: storage/smgr/md.c:1505 +#: tcop/backend_startup.c:802 #, c-format -msgid "could not open file \"%s\" (target block %u): %m" -msgstr "no se pudo abrir el archivo «%s» (bloque buscado %u): %m" +msgid "no PostgreSQL user name specified in startup packet" +msgstr "no se especifica un nombre de usuario en el paquete de inicio" -#: tcop/fastpath.c:142 utils/fmgr/fmgr.c:2132 +#: tcop/fastpath.c:142 utils/fmgr/fmgr.c:2161 #, c-format msgid "function with OID %u does not exist" msgstr "no existe la función con OID %u" @@ -22411,7 +23246,7 @@ msgid "fastpath function call: \"%s\" (OID %u)" msgstr "llamada a función fastpath: «%s» (OID %u)" #: tcop/fastpath.c:313 tcop/postgres.c:1365 tcop/postgres.c:1601 -#: tcop/postgres.c:2059 tcop/postgres.c:2309 +#: tcop/postgres.c:2055 tcop/postgres.c:2305 #, c-format msgid "duration: %s ms" msgstr "duración: %s ms" @@ -22441,7 +23276,7 @@ msgstr "el tamaño de argumento %d no es válido en el mensaje de llamada a func msgid "incorrect binary data format in function argument %d" msgstr "el formato de datos binarios es incorrecto en argumento %d a función" -#: tcop/postgres.c:463 tcop/postgres.c:4877 +#: tcop/postgres.c:463 tcop/postgres.c:4924 #, c-format msgid "invalid frontend message type %d" msgstr "el tipo de mensaje de frontend %d no es válido" @@ -22466,7 +23301,7 @@ msgstr "no se pueden insertar múltiples órdenes en una sentencia preparada" msgid "duration: %s ms parse %s: %s" msgstr "duración: %s ms parse: %s: %s" -#: tcop/postgres.c:1672 tcop/postgres.c:2629 +#: tcop/postgres.c:1672 tcop/postgres.c:2625 #, c-format msgid "unnamed prepared statement does not exist" msgstr "no existe una sentencia preparada sin nombre" @@ -22481,277 +23316,280 @@ msgstr "el mensaje de «bind» tiene %d formatos de parámetro pero %d parámetr msgid "bind message supplies %d parameters, but prepared statement \"%s\" requires %d" msgstr "el mensaje de «bind» entrega %d parámetros, pero la sentencia preparada «%s» requiere %d" -#: tcop/postgres.c:1937 +#: tcop/postgres.c:1933 #, c-format msgid "incorrect binary data format in bind parameter %d" msgstr "el formato de datos binarios es incorrecto en el parámetro de «bind» %d" -#: tcop/postgres.c:2064 +#: tcop/postgres.c:2060 #, c-format msgid "duration: %s ms bind %s%s%s: %s" msgstr "duración: %s ms bind %s%s%s: %s" -#: tcop/postgres.c:2118 tcop/postgres.c:2712 +#: tcop/postgres.c:2114 tcop/postgres.c:2707 #, c-format msgid "portal \"%s\" does not exist" msgstr "no existe el portal «%s»" -#: tcop/postgres.c:2189 +#: tcop/postgres.c:2185 #, c-format msgid "%s %s%s%s: %s" msgstr "%s %s%s%s: %s" -#: tcop/postgres.c:2191 tcop/postgres.c:2317 +#: tcop/postgres.c:2187 tcop/postgres.c:2313 msgid "execute fetch from" msgstr "ejecutar fetch desde" -#: tcop/postgres.c:2192 tcop/postgres.c:2318 +#: tcop/postgres.c:2188 tcop/postgres.c:2314 msgid "execute" msgstr "ejecutar" -#: tcop/postgres.c:2314 +#: tcop/postgres.c:2310 #, c-format msgid "duration: %s ms %s %s%s%s: %s" msgstr "duración: %s ms %s %s%s%s: %s" -#: tcop/postgres.c:2462 +#: tcop/postgres.c:2458 #, c-format msgid "prepare: %s" msgstr "prepare: %s" -#: tcop/postgres.c:2487 -#, c-format -msgid "parameters: %s" +#: tcop/postgres.c:2483 +#, fuzzy, c-format +msgid "Parameters: %s" msgstr "parámetros: %s" -#: tcop/postgres.c:2502 -#, c-format -msgid "abort reason: recovery conflict" +#: tcop/postgres.c:2498 +#, fuzzy, c-format +msgid "Abort reason: recovery conflict" msgstr "razón para abortar: conflicto en la recuperación" -#: tcop/postgres.c:2518 +#: tcop/postgres.c:2514 #, c-format msgid "User was holding shared buffer pin for too long." msgstr "El usuario mantuvo el búfer compartido «clavado» por demasiado tiempo." -#: tcop/postgres.c:2521 +#: tcop/postgres.c:2517 #, c-format msgid "User was holding a relation lock for too long." msgstr "El usuario mantuvo una relación bloqueada por demasiado tiempo." -#: tcop/postgres.c:2524 +#: tcop/postgres.c:2520 #, c-format msgid "User was or might have been using tablespace that must be dropped." msgstr "El usuario estaba o pudo haber estado usando un tablespace que debía ser eliminado." -#: tcop/postgres.c:2527 +#: tcop/postgres.c:2523 #, c-format msgid "User query might have needed to see row versions that must be removed." msgstr "La consulta del usuario pudo haber necesitado examinar versiones de tuplas que debían eliminarse." -#: tcop/postgres.c:2530 -#, fuzzy, c-format -#| msgid "User was connected to a database that must be dropped." -msgid "User was using a logical slot that must be invalidated." -msgstr "El usuario estaba conectado a una base de datos que debía ser eliminada." +#: tcop/postgres.c:2526 +#, c-format +msgid "User was using a logical replication slot that must be invalidated." +msgstr "El usuario estaba usando un slot de replicación lógica que debía ser invalidado." -#: tcop/postgres.c:2536 +#: tcop/postgres.c:2532 #, c-format msgid "User was connected to a database that must be dropped." msgstr "El usuario estaba conectado a una base de datos que debía ser eliminada." -#: tcop/postgres.c:2575 +#: tcop/postgres.c:2571 #, c-format msgid "portal \"%s\" parameter $%d = %s" msgstr "portal «%s» parámetro $%d = %s" -#: tcop/postgres.c:2578 +#: tcop/postgres.c:2574 #, c-format msgid "portal \"%s\" parameter $%d" msgstr "portal «%s» parámetro $%d" -#: tcop/postgres.c:2584 +#: tcop/postgres.c:2580 #, c-format msgid "unnamed portal parameter $%d = %s" msgstr "portal sin nombre, parámetro %d = %s" -#: tcop/postgres.c:2587 +#: tcop/postgres.c:2583 #, c-format msgid "unnamed portal parameter $%d" msgstr "portal sin nombre, parámetro %d" -#: tcop/postgres.c:2932 +#: tcop/postgres.c:2927 #, c-format msgid "terminating connection because of unexpected SIGQUIT signal" msgstr "terminando la conexión debido a una señal SIGQUIT inesperada" -#: tcop/postgres.c:2938 +#: tcop/postgres.c:2933 #, c-format msgid "terminating connection because of crash of another server process" msgstr "terminando la conexión debido a una falla en otro proceso servidor" -#: tcop/postgres.c:2939 +#: tcop/postgres.c:2934 #, c-format msgid "The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory." msgstr "Postmaster ha ordenado que este proceso servidor cancele la transacción en curso y finalice la conexión, porque otro proceso servidor ha terminado anormalmente y podría haber corrompido la memoria compartida." -#: tcop/postgres.c:2943 tcop/postgres.c:3310 +#: tcop/postgres.c:2938 tcop/postgres.c:3191 #, c-format msgid "In a moment you should be able to reconnect to the database and repeat your command." msgstr "Dentro de un momento debería poder reconectarse y repetir la consulta." -#: tcop/postgres.c:2950 +#: tcop/postgres.c:2945 #, c-format msgid "terminating connection due to immediate shutdown command" msgstr "terminando la conexión debido a una orden de apagado inmediato" -#: tcop/postgres.c:3036 +#: tcop/postgres.c:3023 #, c-format msgid "floating-point exception" msgstr "excepción de coma flotante" -#: tcop/postgres.c:3037 +#: tcop/postgres.c:3024 #, c-format msgid "An invalid floating-point operation was signaled. This probably means an out-of-range result or an invalid operation, such as division by zero." msgstr "Se ha recibido una señal de una operación de coma flotante no válida. Esto puede significar un resultado fuera de rango o una operación no válida, como una división por cero." -#: tcop/postgres.c:3214 +#: tcop/postgres.c:3189 +#, c-format +msgid "terminating connection due to conflict with recovery" +msgstr "terminando la conexión debido a un conflicto con la recuperación" + +#: tcop/postgres.c:3261 #, c-format msgid "canceling authentication due to timeout" msgstr "cancelando la autentificación debido a que se agotó el tiempo de espera" -#: tcop/postgres.c:3218 +#: tcop/postgres.c:3265 #, c-format msgid "terminating autovacuum process due to administrator command" msgstr "terminando el proceso autovacuum debido a una orden del administrador" -#: tcop/postgres.c:3222 +#: tcop/postgres.c:3269 #, c-format msgid "terminating logical replication worker due to administrator command" msgstr "terminando el proceso de replicación lógica debido a una orden del administrador" -#: tcop/postgres.c:3239 tcop/postgres.c:3249 tcop/postgres.c:3308 -#, c-format -msgid "terminating connection due to conflict with recovery" -msgstr "terminando la conexión debido a un conflicto con la recuperación" - -#: tcop/postgres.c:3260 +#: tcop/postgres.c:3289 #, c-format msgid "terminating connection due to administrator command" msgstr "terminando la conexión debido a una orden del administrador" -#: tcop/postgres.c:3291 +#: tcop/postgres.c:3320 #, c-format msgid "connection to client lost" msgstr "se ha perdido la conexión al cliente" -#: tcop/postgres.c:3361 +#: tcop/postgres.c:3372 #, c-format msgid "canceling statement due to lock timeout" msgstr "cancelando la sentencia debido a que se agotó el tiempo de espera de candados (locks)" -#: tcop/postgres.c:3368 +#: tcop/postgres.c:3379 #, c-format msgid "canceling statement due to statement timeout" msgstr "cancelando la sentencia debido a que se agotó el tiempo de espera de sentencias" -#: tcop/postgres.c:3375 +#: tcop/postgres.c:3386 #, c-format msgid "canceling autovacuum task" msgstr "cancelando tarea de autovacuum" -#: tcop/postgres.c:3398 +#: tcop/postgres.c:3399 #, c-format msgid "canceling statement due to user request" msgstr "cancelando la sentencia debido a una petición del usuario" -#: tcop/postgres.c:3412 +#: tcop/postgres.c:3420 #, c-format msgid "terminating connection due to idle-in-transaction timeout" msgstr "terminando la conexión debido a que se agotó el tiempo de espera para transacciones abiertas inactivas" -#: tcop/postgres.c:3423 +#: tcop/postgres.c:3433 +#, fuzzy, c-format +msgid "terminating connection due to transaction timeout" +msgstr "terminando la conexión debido a que se agotó el tiempo de espera para transacciones abiertas inactivas" + +#: tcop/postgres.c:3446 #, c-format msgid "terminating connection due to idle-session timeout" msgstr "terminando la conexión debido a que se agotó el tiempo de espera para sesiones abiertas inactivas" -#: tcop/postgres.c:3514 +#: tcop/postgres.c:3536 #, c-format msgid "stack depth limit exceeded" msgstr "límite de profundidad de stack alcanzado" -#: tcop/postgres.c:3515 +#: tcop/postgres.c:3537 #, c-format msgid "Increase the configuration parameter \"max_stack_depth\" (currently %dkB), after ensuring the platform's stack depth limit is adequate." msgstr "Incremente el parámetro de configuración «max_stack_depth» (actualmente %dkB), después de asegurarse que el límite de profundidad de stack de la plataforma es adecuado." -#: tcop/postgres.c:3562 +#: tcop/postgres.c:3584 #, c-format msgid "\"max_stack_depth\" must not exceed %ldkB." msgstr "«max_stack_depth» no debe exceder %ldkB." -#: tcop/postgres.c:3564 +#: tcop/postgres.c:3586 #, c-format msgid "Increase the platform's stack depth limit via \"ulimit -s\" or local equivalent." msgstr "Incremente el límite de profundidad del stack del sistema usando «ulimit -s» o el equivalente de su sistema." -#: tcop/postgres.c:3587 -#, fuzzy, c-format -#| msgid "huge_page_size must be 0 on this platform." -msgid "client_connection_check_interval must be set to 0 on this platform." -msgstr "huge_page_size debe ser 0 en esta plataforma." +#: tcop/postgres.c:3609 +#, c-format +msgid "\"client_connection_check_interval\" must be set to 0 on this platform." +msgstr "«client_connection_check_interval» debe ser 0 en esta plataforma." -#: tcop/postgres.c:3608 +#: tcop/postgres.c:3630 #, c-format msgid "Cannot enable parameter when \"log_statement_stats\" is true." msgstr "No se puede activar el parámetro cuando «log_statement_stats» está activo." -#: tcop/postgres.c:3623 +#: tcop/postgres.c:3645 #, c-format msgid "Cannot enable \"log_statement_stats\" when \"log_parser_stats\", \"log_planner_stats\", or \"log_executor_stats\" is true." msgstr "No se puede activar «log_statement_stats» cuando «log_parser_stats», «log_planner_stats» o «log_executor_stats» están activos." -#: tcop/postgres.c:3971 +#: tcop/postgres.c:4010 #, c-format msgid "invalid command-line argument for server process: %s" msgstr "argumentos de línea de órdenes no válidos para proceso servidor: %s" -#: tcop/postgres.c:3972 tcop/postgres.c:3978 +#: tcop/postgres.c:4011 tcop/postgres.c:4017 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Pruebe «%s --help» para mayor información." -#: tcop/postgres.c:3976 +#: tcop/postgres.c:4015 #, c-format msgid "%s: invalid command-line argument: %s" msgstr "%s: argumento de línea de órdenes no válido: %s" -#: tcop/postgres.c:4029 +#: tcop/postgres.c:4068 #, c-format msgid "%s: no database nor user name specified" msgstr "%s: no se ha especificado base de datos ni usuario" -#: tcop/postgres.c:4774 +#: tcop/postgres.c:4821 #, c-format msgid "invalid CLOSE message subtype %d" msgstr "subtipo %d de mensaje CLOSE no válido" -#: tcop/postgres.c:4811 +#: tcop/postgres.c:4858 #, c-format msgid "invalid DESCRIBE message subtype %d" msgstr "subtipo %d de mensaje DESCRIBE no válido" -#: tcop/postgres.c:4898 +#: tcop/postgres.c:4945 #, c-format msgid "fastpath function calls not supported in a replication connection" msgstr "la invocación «fastpath» de funciones no está soportada en conexiones de replicación" -#: tcop/postgres.c:4902 +#: tcop/postgres.c:4949 #, c-format msgid "extended query protocol not supported in a replication connection" msgstr "el protocolo extendido de consultas no está soportado en conexiones de replicación" -#: tcop/postgres.c:5082 +#: tcop/postgres.c:5129 #, c-format msgid "disconnection: session time: %d:%02d:%02d.%03d user=%s database=%s host=%s%s%s" msgstr "desconexión: duración de sesión: %d:%02d:%02d.%03d usuario=%s base=%s host=%s%s%s" @@ -22772,46 +23610,45 @@ msgid "Declare it with SCROLL option to enable backward scan." msgstr "Declárelo con SCROLL para permitirle desplazar hacia atrás." #. translator: %s is name of a SQL command, eg CREATE -#: tcop/utility.c:417 +#: tcop/utility.c:410 #, c-format msgid "cannot execute %s in a read-only transaction" msgstr "no se puede ejecutar %s en una transacción de sólo lectura" #. translator: %s is name of a SQL command, eg CREATE -#: tcop/utility.c:435 +#: tcop/utility.c:428 #, c-format msgid "cannot execute %s during a parallel operation" msgstr "no se puede ejecutar %s durante una operación paralela" #. translator: %s is name of a SQL command, eg CREATE -#: tcop/utility.c:454 +#: tcop/utility.c:447 #, c-format msgid "cannot execute %s during recovery" msgstr "no se puede ejecutar %s durante la recuperación" #. translator: %s is name of a SQL command, eg PREPARE -#: tcop/utility.c:472 +#: tcop/utility.c:465 #, c-format msgid "cannot execute %s within security-restricted operation" msgstr "no se puede ejecutar %s durante una operación restringida por seguridad" #. translator: %s is name of a SQL command, eg LISTEN -#: tcop/utility.c:828 +#: tcop/utility.c:821 #, c-format msgid "cannot execute %s within a background process" msgstr "no se puede ejecutar %s dentro de un proceso en segundo plano" -#: tcop/utility.c:953 -#, fuzzy, c-format -#| msgid "permission denied for sequence %s" +#. translator: %s is name of a SQL command, eg CHECKPOINT +#: tcop/utility.c:947 +#, c-format msgid "permission denied to execute %s command" -msgstr "permiso denegado a la secuencia %s" +msgstr "permiso denegado a ejecutar la sentencia %s" -#: tcop/utility.c:955 -#, fuzzy, c-format -#| msgid "Set the privileges of the element type instead." +#: tcop/utility.c:949 +#, c-format msgid "Only roles with privileges of the \"%s\" role may execute this command." -msgstr "Defina los privilegios del tipo elemento en su lugar." +msgstr "Sólo los roles con privilegios del rol «%s» pueden ejecutar esta sentencia." #: tsearch/dict_ispell.c:52 tsearch/dict_thesaurus.c:616 #, c-format @@ -22962,13 +23799,13 @@ msgstr "marca de afijo «%s» no válida con el valor de marca «long»" msgid "could not open dictionary file \"%s\": %m" msgstr "no se pudo abrir el archivo de diccionario «%s»: %m" -#: tsearch/spell.c:749 utils/adt/regexp.c:224 jsonpath_gram.y:559 +#: tsearch/spell.c:749 utils/adt/regexp.c:223 jsonpath_gram.y:629 #, c-format msgid "invalid regular expression: %s" msgstr "la expresión regular no es válida: %s" #: tsearch/spell.c:963 tsearch/spell.c:980 tsearch/spell.c:997 -#: tsearch/spell.c:1014 tsearch/spell.c:1079 gram.y:18124 gram.y:18141 +#: tsearch/spell.c:1014 tsearch/spell.c:1079 gram.y:18784 gram.y:18801 #, c-format msgid "syntax error" msgstr "error de sintaxis" @@ -23004,17 +23841,17 @@ msgstr "el número de aliases excede el número especificado %d" msgid "affix file contains both old-style and new-style commands" msgstr "el archivo de «affix» contiene órdenes en estilos antiguo y nuevo" -#: tsearch/to_tsany.c:195 utils/adt/tsvector.c:278 utils/adt/tsvector_op.c:1128 +#: tsearch/to_tsany.c:194 utils/adt/tsvector.c:277 utils/adt/tsvector_op.c:1126 #, c-format msgid "string is too long for tsvector (%d bytes, max %d bytes)" msgstr "la cadena es demasiado larga para tsvector (%d bytes, máximo %d bytes)" -#: tsearch/ts_locale.c:238 +#: tsearch/ts_locale.c:236 #, c-format msgid "line %d of configuration file \"%s\": \"%s\"" msgstr "línea %d del archivo de configuración «%s»: «%s»" -#: tsearch/ts_locale.c:317 +#: tsearch/ts_locale.c:315 #, c-format msgid "conversion from wchar_t to server encoding failed: %m" msgstr "conversión desde un wchar_t a la codificación del servidor falló: %m" @@ -23041,193 +23878,200 @@ msgstr "nombre de configuración de búsqueda en texto «%s» no válido" msgid "could not open stop-word file \"%s\": %m" msgstr "no se pudo abrir el archivo de stopwords «%s»: %m" -#: tsearch/wparser.c:308 tsearch/wparser.c:396 tsearch/wparser.c:473 +#: tsearch/wparser.c:306 tsearch/wparser.c:394 tsearch/wparser.c:471 #, c-format msgid "text search parser does not support headline creation" msgstr "el analizador de búsqueda en texto no soporta creación de encabezados (headline)" -#: tsearch/wparser_def.c:2648 +#: tsearch/wparser_def.c:2664 #, c-format msgid "unrecognized headline parameter: \"%s\"" msgstr "parámetro de encabezado (headline) no reconocido: «%s»" -#: tsearch/wparser_def.c:2658 +#: tsearch/wparser_def.c:2674 #, c-format msgid "MinWords should be less than MaxWords" msgstr "MinWords debería ser menor que MaxWords" -#: tsearch/wparser_def.c:2662 +#: tsearch/wparser_def.c:2678 #, c-format msgid "MinWords should be positive" msgstr "MinWords debería ser positivo" -#: tsearch/wparser_def.c:2666 +#: tsearch/wparser_def.c:2682 #, c-format msgid "ShortWord should be >= 0" msgstr "ShortWord debería ser >= 0" -#: tsearch/wparser_def.c:2670 +#: tsearch/wparser_def.c:2686 #, c-format msgid "MaxFragments should be >= 0" msgstr "MaxFragments debería ser >= 0" -#: utils/activity/pgstat.c:438 -#, fuzzy, c-format -#| msgid "could not open statistics file \"%s\": %m" +#: utils/activity/pgstat.c:435 +#, c-format msgid "could not unlink permanent statistics file \"%s\": %m" -msgstr "no se pudo abrir el archivo de estadísticas «%s»: %m" +msgstr "no se pudo eliminar el archivo permanente de estadísticas «%s»: %m" -#: utils/activity/pgstat.c:1241 -#, fuzzy, c-format -#| msgid "unrecognized statistics kind \"%s\"" +#: utils/activity/pgstat.c:1252 +#, c-format msgid "invalid statistics kind: \"%s\"" -msgstr "tipo de estadísticas «%s» no reconocido" +msgstr "tipo de estadísticas no válido: «%s»" -#: utils/activity/pgstat.c:1321 +#: utils/activity/pgstat.c:1332 #, c-format msgid "could not open temporary statistics file \"%s\": %m" msgstr "no se pudo abrir el archivo temporal de estadísticas «%s»: %m" -#: utils/activity/pgstat.c:1433 +#: utils/activity/pgstat.c:1444 #, c-format msgid "could not write temporary statistics file \"%s\": %m" msgstr "no se pudo escribir el archivo temporal de estadísticas «%s»: %m" -#: utils/activity/pgstat.c:1442 +#: utils/activity/pgstat.c:1453 #, c-format msgid "could not close temporary statistics file \"%s\": %m" msgstr "no se pudo cerrar el archivo temporal de estadísticas «%s»: %m" -#: utils/activity/pgstat.c:1450 +#: utils/activity/pgstat.c:1461 #, c-format msgid "could not rename temporary statistics file \"%s\" to \"%s\": %m" msgstr "no se pudo cambiar el nombre al archivo temporal de estadísticas de «%s» a «%s»: %m" -#: utils/activity/pgstat.c:1499 +#: utils/activity/pgstat.c:1510 #, c-format msgid "could not open statistics file \"%s\": %m" msgstr "no se pudo abrir el archivo de estadísticas «%s»: %m" -#: utils/activity/pgstat.c:1661 +#: utils/activity/pgstat.c:1672 #, c-format msgid "corrupted statistics file \"%s\"" msgstr "el archivo de estadísticas «%s» está corrupto" #: utils/activity/pgstat_function.c:118 -#, fuzzy, c-format -#| msgid "cast function must be a normal function" +#, c-format msgid "function call to dropped function" -msgstr "la función de conversión debe ser una función normal" +msgstr "invocación a una función eliminada" -#: utils/activity/pgstat_xact.c:363 +#: utils/activity/pgstat_xact.c:362 #, c-format msgid "resetting existing statistics for kind %s, db=%u, oid=%u" -msgstr "" +msgstr "reseteando estadísticas existentes para el tipo %s, db=%u, oid=%u" -#: utils/adt/acl.c:177 utils/adt/name.c:93 +#: utils/activity/wait_event.c:207 utils/activity/wait_event.c:232 +#, fuzzy, c-format +msgid "wait event \"%s\" already exists in type \"%s\"" +msgstr "ya existe un tipo llamado «%s» en el esquema «%s»" + +#: utils/activity/wait_event.c:246 +#, fuzzy, c-format +msgid "too many custom wait events" +msgstr "demasiados argumentos" + +#: utils/adt/acl.c:183 utils/adt/name.c:93 #, c-format msgid "identifier too long" msgstr "el identificador es demasiado largo" -#: utils/adt/acl.c:178 utils/adt/name.c:94 +#: utils/adt/acl.c:184 utils/adt/name.c:94 #, c-format msgid "Identifier must be less than %d characters." msgstr "El identificador debe ser menor a %d caracteres." -#: utils/adt/acl.c:266 +#: utils/adt/acl.c:272 #, c-format msgid "unrecognized key word: \"%s\"" msgstr "palabra clave no reconocida: «%s»" -#: utils/adt/acl.c:267 +#: utils/adt/acl.c:273 #, c-format msgid "ACL key word must be \"group\" or \"user\"." msgstr "Palabra clave de ACL debe ser «group» o «user»." -#: utils/adt/acl.c:275 +#: utils/adt/acl.c:281 #, c-format msgid "missing name" msgstr "falta un nombre" -#: utils/adt/acl.c:276 +#: utils/adt/acl.c:282 #, c-format msgid "A name must follow the \"group\" or \"user\" key word." msgstr "Debe venir un nombre después de una palabra clave «group» o «user»." -#: utils/adt/acl.c:282 +#: utils/adt/acl.c:288 #, c-format msgid "missing \"=\" sign" msgstr "falta un signo «=»" -#: utils/adt/acl.c:344 +#: utils/adt/acl.c:350 #, c-format msgid "invalid mode character: must be one of \"%s\"" msgstr "carácter de modo no válido: debe ser uno de «%s»" -#: utils/adt/acl.c:374 +#: utils/adt/acl.c:380 #, c-format msgid "a name must follow the \"/\" sign" msgstr "debe venir un nombre después del signo «/»" -#: utils/adt/acl.c:386 +#: utils/adt/acl.c:392 #, c-format msgid "defaulting grantor to user ID %u" msgstr "usando el cedente por omisión con ID %u" -#: utils/adt/acl.c:572 +#: utils/adt/acl.c:578 #, c-format msgid "ACL array contains wrong data type" msgstr "el array ACL contiene tipo de datos incorrecto" -#: utils/adt/acl.c:576 +#: utils/adt/acl.c:582 #, c-format msgid "ACL arrays must be one-dimensional" msgstr "los array de ACL debe ser unidimensional" -#: utils/adt/acl.c:580 +#: utils/adt/acl.c:586 #, c-format msgid "ACL arrays must not contain null values" msgstr "los arrays de ACL no pueden contener valores nulos" -#: utils/adt/acl.c:609 +#: utils/adt/acl.c:615 #, c-format msgid "extra garbage at the end of the ACL specification" msgstr "basura extra al final de la especificación de la ACL" -#: utils/adt/acl.c:1251 +#: utils/adt/acl.c:1263 #, c-format msgid "grant options cannot be granted back to your own grantor" msgstr "la opción de grant no puede ser otorgada de vuelta a quien la otorgó" -#: utils/adt/acl.c:1567 +#: utils/adt/acl.c:1579 #, c-format msgid "aclinsert is no longer supported" msgstr "aclinsert ya no está soportado" -#: utils/adt/acl.c:1577 +#: utils/adt/acl.c:1589 #, c-format msgid "aclremove is no longer supported" msgstr "aclremove ya no está soportado" -#: utils/adt/acl.c:1697 +#: utils/adt/acl.c:1709 #, c-format msgid "unrecognized privilege type: \"%s\"" msgstr "tipo de privilegio no reconocido: «%s»" -#: utils/adt/acl.c:3484 utils/adt/regproc.c:100 utils/adt/regproc.c:265 +#: utils/adt/acl.c:3550 utils/adt/regproc.c:100 utils/adt/regproc.c:265 #, c-format msgid "function \"%s\" does not exist" msgstr "no existe la función «%s»" -#: utils/adt/acl.c:5031 +#: utils/adt/acl.c:5196 #, c-format msgid "must be able to SET ROLE \"%s\"" -msgstr "" +msgstr "debe ser capaz de hacer SET ROLE «%s»" #: utils/adt/array_userfuncs.c:102 utils/adt/array_userfuncs.c:489 -#: utils/adt/array_userfuncs.c:878 utils/adt/json.c:694 utils/adt/json.c:831 -#: utils/adt/json.c:869 utils/adt/jsonb.c:1139 utils/adt/jsonb.c:1211 -#: utils/adt/jsonb.c:1629 utils/adt/jsonb.c:1817 utils/adt/jsonb.c:1827 +#: utils/adt/array_userfuncs.c:866 utils/adt/json.c:602 utils/adt/json.c:740 +#: utils/adt/json.c:790 utils/adt/jsonb.c:1025 utils/adt/jsonb.c:1098 +#: utils/adt/jsonb.c:1530 utils/adt/jsonb.c:1718 utils/adt/jsonb.c:1728 #, c-format msgid "could not determine input data type" msgstr "no se pudo determinar el tipo de dato de entrada" @@ -23238,17 +24082,17 @@ msgid "input data type is not an array" msgstr "el tipo de entrada no es un array" #: utils/adt/array_userfuncs.c:151 utils/adt/array_userfuncs.c:203 -#: utils/adt/float.c:1228 utils/adt/float.c:1302 utils/adt/float.c:4117 -#: utils/adt/float.c:4155 utils/adt/int.c:778 utils/adt/int.c:800 +#: utils/adt/float.c:1222 utils/adt/float.c:1296 utils/adt/float.c:4022 +#: utils/adt/float.c:4060 utils/adt/int.c:778 utils/adt/int.c:800 #: utils/adt/int.c:814 utils/adt/int.c:828 utils/adt/int.c:859 #: utils/adt/int.c:880 utils/adt/int.c:997 utils/adt/int.c:1011 #: 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:1257 utils/adt/numeric.c:1901 utils/adt/numeric.c:4388 -#: utils/adt/rangetypes.c:1481 utils/adt/rangetypes.c:1494 -#: utils/adt/varbit.c:1195 utils/adt/varbit.c:1596 utils/adt/varlena.c:1132 -#: utils/adt/varlena.c:3134 +#: utils/adt/int8.c:1256 utils/adt/numeric.c:1917 utils/adt/numeric.c:4454 +#: 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 #, c-format msgid "integer out of range" msgstr "entero fuera de rango" @@ -23285,268 +24129,278 @@ msgstr "Los arrays con elementos de diferentes dimensiones son incompatibles par msgid "Arrays with differing dimensions are not compatible for concatenation." msgstr "Los arrays con diferentes dimensiones son incompatibles para la concatenación." -#: utils/adt/array_userfuncs.c:987 utils/adt/array_userfuncs.c:995 -#: utils/adt/arrayfuncs.c:5590 utils/adt/arrayfuncs.c:5596 +#: utils/adt/array_userfuncs.c:975 utils/adt/array_userfuncs.c:983 +#: utils/adt/arrayfuncs.c:5616 utils/adt/arrayfuncs.c:5622 #, c-format msgid "cannot accumulate arrays of different dimensionality" msgstr "no se pueden acumular arrays de distinta dimensionalidad" -#: utils/adt/array_userfuncs.c:1286 utils/adt/array_userfuncs.c:1440 +#: utils/adt/array_userfuncs.c:1272 utils/adt/array_userfuncs.c:1426 #, c-format msgid "searching for elements in multidimensional arrays is not supported" msgstr "no está soportada la búsqueda de elementos en arrays multidimensionales" -#: utils/adt/array_userfuncs.c:1315 +#: utils/adt/array_userfuncs.c:1301 #, c-format msgid "initial position must not be null" msgstr "la posición inicial no debe ser null" -#: utils/adt/array_userfuncs.c:1688 -#, fuzzy, c-format -#| msgid "sample percentage must be between 0 and 100" +#: utils/adt/array_userfuncs.c:1674 +#, c-format msgid "sample size must be between 0 and %d" -msgstr "el porcentaje de muestreo debe estar entre 0 y 100" - -#: utils/adt/arrayfuncs.c:273 utils/adt/arrayfuncs.c:287 -#: utils/adt/arrayfuncs.c:298 utils/adt/arrayfuncs.c:320 -#: utils/adt/arrayfuncs.c:337 utils/adt/arrayfuncs.c:351 -#: utils/adt/arrayfuncs.c:359 utils/adt/arrayfuncs.c:366 -#: utils/adt/arrayfuncs.c:506 utils/adt/arrayfuncs.c:521 -#: utils/adt/arrayfuncs.c:532 utils/adt/arrayfuncs.c:547 -#: utils/adt/arrayfuncs.c:568 utils/adt/arrayfuncs.c:598 -#: utils/adt/arrayfuncs.c:605 utils/adt/arrayfuncs.c:613 -#: utils/adt/arrayfuncs.c:647 utils/adt/arrayfuncs.c:670 -#: utils/adt/arrayfuncs.c:690 utils/adt/arrayfuncs.c:807 -#: utils/adt/arrayfuncs.c:816 utils/adt/arrayfuncs.c:846 -#: utils/adt/arrayfuncs.c:861 utils/adt/arrayfuncs.c:914 +msgstr "el tamaño de la muestra debe estar entre 0 y %d" + +#: utils/adt/arrayfuncs.c:264 utils/adt/arrayfuncs.c:273 +#: utils/adt/arrayfuncs.c:284 utils/adt/arrayfuncs.c:307 +#: utils/adt/arrayfuncs.c:440 utils/adt/arrayfuncs.c:454 +#: utils/adt/arrayfuncs.c:466 utils/adt/arrayfuncs.c:636 +#: utils/adt/arrayfuncs.c:668 utils/adt/arrayfuncs.c:703 +#: utils/adt/arrayfuncs.c:718 utils/adt/arrayfuncs.c:777 +#: utils/adt/arrayfuncs.c:782 utils/adt/arrayfuncs.c:870 +#: utils/adt/arrayfuncs.c:897 utils/adt/arrayfuncs.c:904 +#: utils/adt/arrayfuncs.c:941 #, c-format msgid "malformed array literal: \"%s\"" msgstr "literal de array mal formado: «%s»" -#: utils/adt/arrayfuncs.c:274 -#, c-format -msgid "\"[\" must introduce explicitly-specified array dimensions." -msgstr "Un «[» debe introducir dimensiones de array especificadas explícitamente." - -#: utils/adt/arrayfuncs.c:288 +#: utils/adt/arrayfuncs.c:265 #, c-format -msgid "Missing array dimension value." -msgstr "Falta un valor de dimensión de array." +msgid "Array value must start with \"{\" or dimension information." +msgstr "El valor de array debe comenzar con «{» o información de dimensión." -#: utils/adt/arrayfuncs.c:299 utils/adt/arrayfuncs.c:338 +#: utils/adt/arrayfuncs.c:274 utils/adt/arrayfuncs.c:467 #, c-format msgid "Missing \"%s\" after array dimensions." msgstr "Falta «%s» luego de las dimensiones de array." -#: utils/adt/arrayfuncs.c:308 utils/adt/arrayfuncs.c:2933 -#: utils/adt/arrayfuncs.c:2965 utils/adt/arrayfuncs.c:2980 +#: utils/adt/arrayfuncs.c:285 #, c-format -msgid "upper bound cannot be less than lower bound" -msgstr "el límite superior no puede ser menor que el límite inferior" +msgid "Array contents must start with \"{\"." +msgstr "El contenido del array debe empezar con «{»." -#: utils/adt/arrayfuncs.c:321 +#: utils/adt/arrayfuncs.c:308 utils/adt/multirangetypes.c:292 #, c-format -msgid "Array value must start with \"{\" or dimension information." -msgstr "El valor de array debe comenzar con «{» o información de dimensión." +msgid "Junk after closing right brace." +msgstr "Basura después de la llave derecha de cierre." -#: utils/adt/arrayfuncs.c:352 +#: utils/adt/arrayfuncs.c:431 utils/adt/arrayfuncs.c:643 #, c-format -msgid "Array contents must start with \"{\"." -msgstr "El contenido del array debe empezar con «{»." +msgid "number of array dimensions exceeds the maximum allowed (%d)" +msgstr "el número de dimensiones del array excede el máximo permitido (%d)" -#: utils/adt/arrayfuncs.c:360 utils/adt/arrayfuncs.c:367 +#: utils/adt/arrayfuncs.c:441 #, c-format -msgid "Specified array dimensions do not match array contents." -msgstr "Las dimensiones del array especificadas no coinciden con el contenido del array." +msgid "\"[\" must introduce explicitly-specified array dimensions." +msgstr "Un «[» debe introducir dimensiones de array especificadas explícitamente." -#: utils/adt/arrayfuncs.c:507 utils/adt/arrayfuncs.c:533 -#: utils/adt/multirangetypes.c:166 utils/adt/rangetypes.c:2405 -#: utils/adt/rangetypes.c:2413 utils/adt/rowtypes.c:219 -#: utils/adt/rowtypes.c:230 +#: utils/adt/arrayfuncs.c:455 #, c-format -msgid "Unexpected end of input." -msgstr "Fin inesperado de la entrada." +msgid "Missing array dimension value." +msgstr "Falta un valor de dimensión de array." + +#: utils/adt/arrayfuncs.c:481 utils/adt/arrayfuncs.c:2940 +#: utils/adt/arrayfuncs.c:2985 utils/adt/arrayfuncs.c:3000 +#, c-format +msgid "upper bound cannot be less than lower bound" +msgstr "el límite superior no puede ser menor que el límite inferior" + +#: utils/adt/arrayfuncs.c:487 +#, fuzzy, c-format +msgid "array upper bound is too large: %d" +msgstr "el límite inferior del array es demasiado grande: %d" + +#: utils/adt/arrayfuncs.c:538 +#, fuzzy, c-format +msgid "array bound is out of integer range" +msgstr "subíndice de array jsonpath fuera del rango entero" -#: utils/adt/arrayfuncs.c:522 utils/adt/arrayfuncs.c:569 -#: utils/adt/arrayfuncs.c:599 utils/adt/arrayfuncs.c:648 +#: utils/adt/arrayfuncs.c:637 utils/adt/arrayfuncs.c:669 +#: utils/adt/arrayfuncs.c:704 utils/adt/arrayfuncs.c:898 #, c-format msgid "Unexpected \"%c\" character." msgstr "Carácter «%c» inesperado." -#: utils/adt/arrayfuncs.c:548 utils/adt/arrayfuncs.c:671 +#: utils/adt/arrayfuncs.c:719 #, c-format msgid "Unexpected array element." msgstr "Elemento de array inesperado." -#: utils/adt/arrayfuncs.c:606 +#: utils/adt/arrayfuncs.c:778 #, c-format -msgid "Unmatched \"%c\" character." -msgstr "Carácter «%c» desemparejado." +msgid "Specified array dimensions do not match array contents." +msgstr "Las dimensiones del array especificadas no coinciden con el contenido del array." -#: utils/adt/arrayfuncs.c:614 utils/adt/jsonfuncs.c:2553 +#: utils/adt/arrayfuncs.c:783 utils/adt/jsonfuncs.c:2598 #, c-format msgid "Multidimensional arrays must have sub-arrays with matching dimensions." msgstr "Los arrays multidimensionales deben tener sub-arrays con dimensiones coincidentes." -#: utils/adt/arrayfuncs.c:691 utils/adt/multirangetypes.c:293 +#: utils/adt/arrayfuncs.c:871 utils/adt/arrayfuncs.c:905 +#, fuzzy, c-format +msgid "Incorrectly quoted array element." +msgstr "Elemento de array inesperado." + +#: utils/adt/arrayfuncs.c:942 utils/adt/multirangetypes.c:165 +#: utils/adt/rangetypes.c:2464 utils/adt/rangetypes.c:2472 +#: utils/adt/rowtypes.c:218 utils/adt/rowtypes.c:229 #, c-format -msgid "Junk after closing right brace." -msgstr "Basura después de la llave derecha de cierre." +msgid "Unexpected end of input." +msgstr "Fin inesperado de la entrada." -#: utils/adt/arrayfuncs.c:1325 utils/adt/arrayfuncs.c:3479 -#: utils/adt/arrayfuncs.c:6080 +#: utils/adt/arrayfuncs.c:1301 utils/adt/arrayfuncs.c:3499 +#: utils/adt/arrayfuncs.c:6106 #, c-format msgid "invalid number of dimensions: %d" msgstr "número incorrecto de dimensiones: %d" -#: utils/adt/arrayfuncs.c:1336 +#: utils/adt/arrayfuncs.c:1312 #, c-format msgid "invalid array flags" msgstr "opciones de array no válidas" -#: utils/adt/arrayfuncs.c:1358 +#: utils/adt/arrayfuncs.c:1334 #, c-format msgid "binary data has array element type %u (%s) instead of expected %u (%s)" msgstr "los datos binarios tienen el tipo de elemento de array %u (%s) en lugar del esperado %u (%s)" -#: utils/adt/arrayfuncs.c:1402 utils/adt/multirangetypes.c:451 -#: utils/adt/rangetypes.c:344 utils/cache/lsyscache.c:2916 +#: utils/adt/arrayfuncs.c:1378 utils/adt/multirangetypes.c:450 +#: utils/adt/rangetypes.c:351 utils/cache/lsyscache.c:2958 #, c-format msgid "no binary input function available for type %s" msgstr "no hay una función binaria de entrada para el tipo %s" -#: utils/adt/arrayfuncs.c:1542 +#: utils/adt/arrayfuncs.c:1509 #, c-format msgid "improper binary format in array element %d" msgstr "el formato binario no es válido en elemento %d de array" -#: utils/adt/arrayfuncs.c:1623 utils/adt/multirangetypes.c:456 -#: utils/adt/rangetypes.c:349 utils/cache/lsyscache.c:2949 +#: utils/adt/arrayfuncs.c:1588 utils/adt/multirangetypes.c:455 +#: utils/adt/rangetypes.c:356 utils/cache/lsyscache.c:2991 #, c-format msgid "no binary output function available for type %s" msgstr "no hay una función binaria de salida para el tipo %s" -#: utils/adt/arrayfuncs.c:2102 +#: utils/adt/arrayfuncs.c:2067 #, c-format msgid "slices of fixed-length arrays not implemented" msgstr "no está implementada la obtención de segmentos de arrays de largo fijo" -#: utils/adt/arrayfuncs.c:2280 utils/adt/arrayfuncs.c:2302 -#: utils/adt/arrayfuncs.c:2351 utils/adt/arrayfuncs.c:2589 -#: utils/adt/arrayfuncs.c:2911 utils/adt/arrayfuncs.c:6066 -#: utils/adt/arrayfuncs.c:6092 utils/adt/arrayfuncs.c:6103 -#: utils/adt/json.c:1497 utils/adt/json.c:1569 utils/adt/jsonb.c:1416 -#: utils/adt/jsonb.c:1500 utils/adt/jsonfuncs.c:4434 utils/adt/jsonfuncs.c:4587 -#: utils/adt/jsonfuncs.c:4698 utils/adt/jsonfuncs.c:4746 +#: utils/adt/arrayfuncs.c:2245 utils/adt/arrayfuncs.c:2267 +#: utils/adt/arrayfuncs.c:2316 utils/adt/arrayfuncs.c:2570 +#: utils/adt/arrayfuncs.c:2915 utils/adt/arrayfuncs.c:6092 +#: utils/adt/arrayfuncs.c:6118 utils/adt/arrayfuncs.c:6129 +#: utils/adt/json.c:1419 utils/adt/json.c:1491 utils/adt/jsonb.c:1317 +#: utils/adt/jsonb.c:1401 utils/adt/jsonfuncs.c:4710 utils/adt/jsonfuncs.c:4863 +#: utils/adt/jsonfuncs.c:4974 utils/adt/jsonfuncs.c:5022 #, c-format msgid "wrong number of array subscripts" msgstr "número incorrecto de subíndices del array" -#: utils/adt/arrayfuncs.c:2285 utils/adt/arrayfuncs.c:2393 -#: utils/adt/arrayfuncs.c:2656 utils/adt/arrayfuncs.c:2970 +#: utils/adt/arrayfuncs.c:2250 utils/adt/arrayfuncs.c:2374 +#: utils/adt/arrayfuncs.c:2653 utils/adt/arrayfuncs.c:2990 #, c-format msgid "array subscript out of range" msgstr "subíndice de array fuera de rango" -#: utils/adt/arrayfuncs.c:2290 +#: utils/adt/arrayfuncs.c:2255 #, c-format msgid "cannot assign null value to an element of a fixed-length array" msgstr "no se puede asignar un valor nulo a un elemento de un array de longitud fija" -#: utils/adt/arrayfuncs.c:2858 +#: utils/adt/arrayfuncs.c:2855 #, c-format msgid "updates on slices of fixed-length arrays not implemented" msgstr "no están implementadas las actualizaciones en segmentos de arrays de largo fija" -#: utils/adt/arrayfuncs.c:2889 +#: utils/adt/arrayfuncs.c:2886 #, c-format msgid "array slice subscript must provide both boundaries" msgstr "los subíndices del segmento de array deben especificar ambos bordes" -#: utils/adt/arrayfuncs.c:2890 +#: utils/adt/arrayfuncs.c:2887 #, c-format msgid "When assigning to a slice of an empty array value, slice boundaries must be fully specified." msgstr "Cuando se asigna a un segmento de un array vacío, los bordes del segmento deben ser especificados completamente." -#: utils/adt/arrayfuncs.c:2901 utils/adt/arrayfuncs.c:2997 +#: utils/adt/arrayfuncs.c:2905 utils/adt/arrayfuncs.c:3017 #, c-format msgid "source array too small" msgstr "el array de origen es demasiado pequeño" -#: utils/adt/arrayfuncs.c:3637 +#: utils/adt/arrayfuncs.c:3657 #, c-format msgid "null array element not allowed in this context" msgstr "los arrays con elementos null no son permitidos en este contexto" -#: utils/adt/arrayfuncs.c:3808 utils/adt/arrayfuncs.c:3979 -#: utils/adt/arrayfuncs.c:4370 +#: utils/adt/arrayfuncs.c:3828 utils/adt/arrayfuncs.c:3999 +#: utils/adt/arrayfuncs.c:4390 #, c-format msgid "cannot compare arrays of different element types" msgstr "no se pueden comparar arrays con elementos de distintos tipos" -#: utils/adt/arrayfuncs.c:4157 utils/adt/multirangetypes.c:2806 -#: utils/adt/multirangetypes.c:2878 utils/adt/rangetypes.c:1354 -#: utils/adt/rangetypes.c:1418 utils/adt/rowtypes.c:1885 +#: utils/adt/arrayfuncs.c:4177 utils/adt/multirangetypes.c:2805 +#: utils/adt/multirangetypes.c:2877 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" msgstr "no se pudo identificar una función de hash para el tipo %s" -#: utils/adt/arrayfuncs.c:4285 utils/adt/rowtypes.c:2006 +#: utils/adt/arrayfuncs.c:4305 utils/adt/rowtypes.c:1996 #, c-format msgid "could not identify an extended hash function for type %s" msgstr "no se pudo identificar una función de hash extendida para el tipo %s" -#: utils/adt/arrayfuncs.c:5480 +#: utils/adt/arrayfuncs.c:5506 #, c-format msgid "data type %s is not an array type" msgstr "el tipo %s no es un array" -#: utils/adt/arrayfuncs.c:5535 +#: utils/adt/arrayfuncs.c:5561 #, c-format msgid "cannot accumulate null arrays" msgstr "no se pueden acumular arrays nulos" -#: utils/adt/arrayfuncs.c:5563 +#: utils/adt/arrayfuncs.c:5589 #, c-format msgid "cannot accumulate empty arrays" msgstr "no se pueden acumular arrays vacíos" -#: utils/adt/arrayfuncs.c:5964 utils/adt/arrayfuncs.c:6004 +#: utils/adt/arrayfuncs.c:5990 utils/adt/arrayfuncs.c:6030 #, c-format msgid "dimension array or low bound array cannot be null" msgstr "el array de dimensiones o el array de límites inferiores debe ser no nulo" -#: utils/adt/arrayfuncs.c:6067 utils/adt/arrayfuncs.c:6093 +#: utils/adt/arrayfuncs.c:6093 utils/adt/arrayfuncs.c:6119 #, c-format msgid "Dimension array must be one dimensional." msgstr "El array de dimensiones debe ser unidimensional." -#: utils/adt/arrayfuncs.c:6072 utils/adt/arrayfuncs.c:6098 +#: utils/adt/arrayfuncs.c:6098 utils/adt/arrayfuncs.c:6124 #, c-format msgid "dimension values cannot be null" msgstr "los valores de dimensión no pueden ser null" -#: utils/adt/arrayfuncs.c:6104 +#: utils/adt/arrayfuncs.c:6130 #, c-format msgid "Low bound array has different size than dimensions array." msgstr "El array de límites inferiores tiene tamaño diferente que el array de dimensiones." -#: utils/adt/arrayfuncs.c:6382 +#: utils/adt/arrayfuncs.c:6411 #, c-format msgid "removing elements from multidimensional arrays is not supported" msgstr "la eliminación de elementos desde arrays multidimensionales no está soportada" -#: utils/adt/arrayfuncs.c:6659 +#: utils/adt/arrayfuncs.c:6688 #, c-format msgid "thresholds must be one-dimensional array" msgstr "los umbrales deben ser un array unidimensional" -#: utils/adt/arrayfuncs.c:6664 +#: utils/adt/arrayfuncs.c:6693 #, c-format msgid "thresholds array must not contain NULLs" msgstr "el array de umbrales no debe contener nulos" -#: utils/adt/arrayfuncs.c:6897 +#: utils/adt/arrayfuncs.c:6926 #, c-format msgid "number of elements to trim must be between 0 and %d" msgstr "el número de elementos a recortar debe estar entre 0 y %d" @@ -23561,22 +24415,22 @@ msgstr "los subíndices de arrays deben tener tipo entero" msgid "array subscript in assignment must not be null" msgstr "subíndice de array en asignación no puede ser nulo" -#: utils/adt/arrayutils.c:161 +#: utils/adt/arrayutils.c:140 #, c-format msgid "array lower bound is too large: %d" msgstr "el límite inferior del array es demasiado grande: %d" -#: utils/adt/arrayutils.c:263 +#: utils/adt/arrayutils.c:242 #, c-format msgid "typmod array must be type cstring[]" msgstr "el array de typmod debe ser de tipo cstring[]" -#: utils/adt/arrayutils.c:268 +#: utils/adt/arrayutils.c:247 #, c-format msgid "typmod array must be one-dimensional" msgstr "array de typmod debe ser unidimensional" -#: utils/adt/arrayutils.c:273 +#: utils/adt/arrayutils.c:252 #, c-format msgid "typmod array must not contain nulls" msgstr "los arrays de typmod no deben contener valores nulos" @@ -23587,214 +24441,242 @@ msgid "encoding conversion from %s to ASCII not supported" msgstr "la conversión de codificación de %s a ASCII no está soportada" #. translator: first %s is inet or cidr -#: utils/adt/bool.c:153 utils/adt/cash.c:277 utils/adt/datetime.c:4017 -#: utils/adt/float.c:206 utils/adt/float.c:293 utils/adt/float.c:307 -#: utils/adt/float.c:412 utils/adt/float.c:495 utils/adt/float.c:509 +#: utils/adt/bool.c:149 utils/adt/cash.c:354 utils/adt/datetime.c:4142 +#: utils/adt/float.c:200 utils/adt/float.c:287 utils/adt/float.c:301 +#: utils/adt/float.c:406 utils/adt/float.c:489 utils/adt/float.c:503 #: utils/adt/geo_ops.c:250 utils/adt/geo_ops.c:335 utils/adt/geo_ops.c:974 #: utils/adt/geo_ops.c:1417 utils/adt/geo_ops.c:1454 utils/adt/geo_ops.c:1462 #: 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:183 utils/adt/mac.c:94 utils/adt/mac8.c:225 -#: utils/adt/network.c:99 utils/adt/numeric.c:795 utils/adt/numeric.c:7136 -#: utils/adt/numeric.c:7339 utils/adt/numeric.c:8286 utils/adt/numutils.c:273 -#: utils/adt/numutils.c:451 utils/adt/numutils.c:629 utils/adt/numutils.c:668 -#: utils/adt/numutils.c:690 utils/adt/numutils.c:754 utils/adt/numutils.c:776 -#: utils/adt/pg_lsn.c:74 utils/adt/tid.c:72 utils/adt/tid.c:80 -#: utils/adt/tid.c:94 utils/adt/tid.c:103 utils/adt/timestamp.c:494 -#: utils/adt/uuid.c:135 utils/adt/xid8funcs.c:354 +#: 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/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 +#: utils/adt/tid.c:94 utils/adt/tid.c:103 utils/adt/timestamp.c:510 +#: utils/adt/uuid.c:140 utils/adt/xid8funcs.c:360 #, c-format msgid "invalid input syntax for type %s: \"%s\"" msgstr "la sintaxis de entrada no es válida para tipo %s: «%s»" -#: utils/adt/cash.c:215 utils/adt/cash.c:240 utils/adt/cash.c:250 -#: utils/adt/cash.c:290 utils/adt/int.c:180 utils/adt/numutils.c:267 -#: utils/adt/numutils.c:445 utils/adt/numutils.c:623 utils/adt/numutils.c:674 -#: utils/adt/numutils.c:713 utils/adt/numutils.c:760 +#: utils/adt/cash.c:98 utils/adt/cash.c:111 utils/adt/cash.c:124 +#: utils/adt/cash.c:137 utils/adt/cash.c:150 #, c-format -msgid "value \"%s\" is out of range for type %s" -msgstr "el valor «%s» está fuera de rango para el tipo %s" +msgid "money out of range" +msgstr "money fuera de rango" -#: utils/adt/cash.c:652 utils/adt/cash.c:702 utils/adt/cash.c:753 -#: utils/adt/cash.c:802 utils/adt/cash.c:854 utils/adt/cash.c:904 -#: utils/adt/float.c:105 utils/adt/int.c:843 utils/adt/int.c:959 -#: utils/adt/int.c:1039 utils/adt/int.c:1101 utils/adt/int.c:1139 -#: utils/adt/int.c:1167 utils/adt/int8.c:515 utils/adt/int8.c:573 -#: utils/adt/int8.c:943 utils/adt/int8.c:1023 utils/adt/int8.c:1085 -#: utils/adt/int8.c:1165 utils/adt/numeric.c:3175 utils/adt/numeric.c:3198 -#: utils/adt/numeric.c:3283 utils/adt/numeric.c:3301 utils/adt/numeric.c:3397 -#: utils/adt/numeric.c:8835 utils/adt/numeric.c:9148 utils/adt/numeric.c:9496 -#: utils/adt/numeric.c:9612 utils/adt/numeric.c:11122 -#: utils/adt/timestamp.c:3406 +#: utils/adt/cash.c:161 utils/adt/cash.c:723 utils/adt/float.c:99 +#: utils/adt/int.c:843 utils/adt/int.c:959 utils/adt/int.c:1039 +#: 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 #, c-format msgid "division by zero" msgstr "división por cero" +#: utils/adt/cash.c:292 utils/adt/cash.c:317 utils/adt/cash.c:327 +#: utils/adt/cash.c:367 utils/adt/int.c:180 utils/adt/numutils.c:350 +#: utils/adt/numutils.c:612 utils/adt/numutils.c:874 utils/adt/numutils.c:925 +#: utils/adt/numutils.c:964 utils/adt/numutils.c:1011 +#, c-format +msgid "value \"%s\" is out of range for type %s" +msgstr "el valor «%s» está fuera de rango para el tipo %s" + #: utils/adt/char.c:197 #, c-format msgid "\"char\" out of range" msgstr "«char» fuera de rango" #: utils/adt/cryptohashfuncs.c:48 utils/adt/cryptohashfuncs.c:70 -#, fuzzy, c-format -#| msgid "could not decompress: %s" +#, c-format msgid "could not compute %s hash: %s" -msgstr "no se pudo descomprimir: %s" +msgstr "no se pudo calcular el hash %s: %s" -#: utils/adt/date.c:63 utils/adt/timestamp.c:100 utils/adt/varbit.c:105 -#: utils/adt/varchar.c:49 +#: utils/adt/date.c:64 utils/adt/timestamp.c:116 utils/adt/varbit.c:105 +#: utils/adt/varchar.c:48 #, c-format msgid "invalid type modifier" msgstr "el modificador de tipo no es válido" -#: utils/adt/date.c:75 +#: utils/adt/date.c:76 #, c-format msgid "TIME(%d)%s precision must not be negative" msgstr "la precisión de TIME(%d)%s no debe ser negativa" -#: utils/adt/date.c:81 +#: utils/adt/date.c:82 #, c-format msgid "TIME(%d)%s precision reduced to maximum allowed, %d" msgstr "la precisión de TIME(%d)%s fue reducida al máximo permitido, %d" -#: utils/adt/date.c:166 utils/adt/date.c:174 utils/adt/formatting.c:4241 -#: utils/adt/formatting.c:4250 utils/adt/formatting.c:4363 -#: utils/adt/formatting.c:4373 +#: utils/adt/date.c:167 utils/adt/date.c:175 utils/adt/formatting.c:4424 +#: utils/adt/formatting.c:4433 utils/adt/formatting.c:4538 +#: utils/adt/formatting.c:4548 #, c-format msgid "date out of range: \"%s\"" msgstr "fecha fuera de rango: «%s»" -#: utils/adt/date.c:221 utils/adt/date.c:519 utils/adt/date.c:543 -#: utils/adt/rangetypes.c:1577 utils/adt/rangetypes.c:1592 utils/adt/xml.c:2460 +#: 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:2531 #, c-format msgid "date out of range" msgstr "fecha fuera de rango" -#: utils/adt/date.c:267 utils/adt/timestamp.c:582 +#: utils/adt/date.c:268 utils/adt/timestamp.c:598 #, c-format msgid "date field value out of range: %d-%02d-%02d" msgstr "valor en campo de fecha fuera de rango: %d-%02d-%02d" -#: utils/adt/date.c:274 utils/adt/date.c:283 utils/adt/timestamp.c:588 +#: utils/adt/date.c:275 utils/adt/date.c:284 utils/adt/timestamp.c:604 #, c-format msgid "date out of range: %d-%02d-%02d" msgstr "fecha fuera de rango: %d-%02d-%02d" -#: utils/adt/date.c:494 +#: utils/adt/date.c:495 #, c-format msgid "cannot subtract infinite dates" msgstr "no se pueden restar fechas infinitas" -#: utils/adt/date.c:592 utils/adt/date.c:655 utils/adt/date.c:691 -#: utils/adt/date.c:2885 utils/adt/date.c:2895 +#: utils/adt/date.c:593 utils/adt/date.c:656 utils/adt/date.c:692 +#: utils/adt/date.c:2906 utils/adt/date.c:2916 #, c-format msgid "date out of range for timestamp" msgstr "fecha fuera de rango para timestamp" -#: utils/adt/date.c:1121 utils/adt/date.c:1204 utils/adt/date.c:1220 -#: utils/adt/date.c:2206 utils/adt/date.c:2990 utils/adt/timestamp.c:4097 -#: utils/adt/timestamp.c:4290 utils/adt/timestamp.c:4432 -#: utils/adt/timestamp.c:4685 utils/adt/timestamp.c:4886 -#: utils/adt/timestamp.c:4933 utils/adt/timestamp.c:5157 -#: utils/adt/timestamp.c:5204 utils/adt/timestamp.c:5334 -#, fuzzy, c-format -#| msgid "\"RN\" not supported for input" +#: utils/adt/date.c:1122 utils/adt/date.c:1205 utils/adt/date.c:1221 +#: utils/adt/date.c:2215 utils/adt/date.c:3011 utils/adt/timestamp.c:4726 +#: utils/adt/timestamp.c:4941 utils/adt/timestamp.c:5089 +#: utils/adt/timestamp.c:5342 utils/adt/timestamp.c:5543 +#: utils/adt/timestamp.c:5590 utils/adt/timestamp.c:5814 +#: utils/adt/timestamp.c:5861 utils/adt/timestamp.c:5941 +#: utils/adt/timestamp.c:6070 +#, c-format msgid "unit \"%s\" not supported for type %s" -msgstr "«RN» no está soportado en la entrada" +msgstr "unidades «%s» no soportada para el tipo %s" -#: utils/adt/date.c:1229 utils/adt/date.c:2222 utils/adt/date.c:3010 -#: utils/adt/timestamp.c:4111 utils/adt/timestamp.c:4307 -#: utils/adt/timestamp.c:4446 utils/adt/timestamp.c:4645 -#: utils/adt/timestamp.c:4942 utils/adt/timestamp.c:5213 -#: utils/adt/timestamp.c:5395 -#, fuzzy, c-format -#| msgid "%s: unrecognized start type \"%s\"\n" +#: utils/adt/date.c:1230 utils/adt/date.c:2231 utils/adt/date.c:3031 +#: utils/adt/timestamp.c:4740 utils/adt/timestamp.c:4958 +#: utils/adt/timestamp.c:5103 utils/adt/timestamp.c:5302 +#: utils/adt/timestamp.c:5599 utils/adt/timestamp.c:5870 +#: utils/adt/timestamp.c:5911 utils/adt/timestamp.c:6131 +#, c-format msgid "unit \"%s\" not recognized for type %s" -msgstr "%s: tipo de inicio «%s» no reconocido\n" - -#: utils/adt/date.c:1313 utils/adt/date.c:1359 utils/adt/date.c:1918 -#: utils/adt/date.c:1949 utils/adt/date.c:1978 utils/adt/date.c:2848 -#: utils/adt/date.c:3080 utils/adt/datetime.c:424 utils/adt/datetime.c:1809 -#: utils/adt/formatting.c:4081 utils/adt/formatting.c:4117 -#: utils/adt/formatting.c:4210 utils/adt/formatting.c:4339 utils/adt/json.c:467 -#: utils/adt/json.c:506 utils/adt/timestamp.c:232 utils/adt/timestamp.c:264 -#: utils/adt/timestamp.c:700 utils/adt/timestamp.c:709 -#: utils/adt/timestamp.c:787 utils/adt/timestamp.c:820 -#: utils/adt/timestamp.c:2933 utils/adt/timestamp.c:2954 -#: utils/adt/timestamp.c:2967 utils/adt/timestamp.c:2976 -#: utils/adt/timestamp.c:2984 utils/adt/timestamp.c:3045 -#: utils/adt/timestamp.c:3068 utils/adt/timestamp.c:3081 -#: utils/adt/timestamp.c:3092 utils/adt/timestamp.c:3100 -#: utils/adt/timestamp.c:3801 utils/adt/timestamp.c:3925 -#: utils/adt/timestamp.c:4015 utils/adt/timestamp.c:4105 -#: utils/adt/timestamp.c:4198 utils/adt/timestamp.c:4301 -#: utils/adt/timestamp.c:4750 utils/adt/timestamp.c:5024 -#: utils/adt/timestamp.c:5463 utils/adt/timestamp.c:5473 -#: utils/adt/timestamp.c:5478 utils/adt/timestamp.c:5484 -#: utils/adt/timestamp.c:5517 utils/adt/timestamp.c:5604 -#: utils/adt/timestamp.c:5645 utils/adt/timestamp.c:5649 -#: utils/adt/timestamp.c:5703 utils/adt/timestamp.c:5707 -#: utils/adt/timestamp.c:5713 utils/adt/timestamp.c:5747 utils/adt/xml.c:2482 -#: utils/adt/xml.c:2489 utils/adt/xml.c:2509 utils/adt/xml.c:2516 +msgstr "unidad «%s» no reconocida para el tipo %s" + +#: utils/adt/date.c:1314 utils/adt/date.c:1360 utils/adt/date.c:1919 +#: utils/adt/date.c:1950 utils/adt/date.c:1979 utils/adt/date.c:2869 +#: utils/adt/date.c:3101 utils/adt/datetime.c:422 utils/adt/datetime.c:1807 +#: utils/adt/formatting.c:4269 utils/adt/formatting.c:4305 +#: utils/adt/formatting.c:4392 utils/adt/formatting.c:4514 utils/adt/json.c:366 +#: utils/adt/json.c:405 utils/adt/timestamp.c:248 utils/adt/timestamp.c:280 +#: utils/adt/timestamp.c:716 utils/adt/timestamp.c:725 +#: utils/adt/timestamp.c:803 utils/adt/timestamp.c:836 +#: utils/adt/timestamp.c:3066 utils/adt/timestamp.c:3075 +#: utils/adt/timestamp.c:3092 utils/adt/timestamp.c:3097 +#: utils/adt/timestamp.c:3116 utils/adt/timestamp.c:3129 +#: utils/adt/timestamp.c:3140 utils/adt/timestamp.c:3146 +#: utils/adt/timestamp.c:3152 utils/adt/timestamp.c:3157 +#: utils/adt/timestamp.c:3210 utils/adt/timestamp.c:3219 +#: utils/adt/timestamp.c:3240 utils/adt/timestamp.c:3245 +#: utils/adt/timestamp.c:3266 utils/adt/timestamp.c:3279 +#: utils/adt/timestamp.c:3293 utils/adt/timestamp.c:3301 +#: utils/adt/timestamp.c:3307 utils/adt/timestamp.c:3312 +#: utils/adt/timestamp.c:4380 utils/adt/timestamp.c:4532 +#: utils/adt/timestamp.c:4608 utils/adt/timestamp.c:4644 +#: utils/adt/timestamp.c:4734 utils/adt/timestamp.c:4813 +#: utils/adt/timestamp.c:4849 utils/adt/timestamp.c:4952 +#: utils/adt/timestamp.c:5407 utils/adt/timestamp.c:5681 +#: utils/adt/timestamp.c:6199 utils/adt/timestamp.c:6209 +#: utils/adt/timestamp.c:6214 utils/adt/timestamp.c:6220 +#: 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:2553 +#: utils/adt/xml.c:2560 utils/adt/xml.c:2580 utils/adt/xml.c:2587 #, c-format msgid "timestamp out of range" msgstr "timestamp fuera de rango" -#: utils/adt/date.c:1535 utils/adt/date.c:2343 utils/adt/formatting.c:4431 +#: utils/adt/date.c:1536 utils/adt/date.c:2352 utils/adt/formatting.c:4597 #, c-format msgid "time out of range" msgstr "hora fuera de rango" -#: utils/adt/date.c:1587 utils/adt/timestamp.c:597 +#: utils/adt/date.c:1588 utils/adt/timestamp.c:613 #, c-format msgid "time field value out of range: %d:%02d:%02g" msgstr "valor en campo de hora fuera de rango: %d:%02d:%02g" -#: utils/adt/date.c:2107 utils/adt/date.c:2647 utils/adt/float.c:1042 -#: utils/adt/float.c:1118 utils/adt/int.c:635 utils/adt/int.c:682 -#: utils/adt/int.c:717 utils/adt/int8.c:414 utils/adt/numeric.c:2579 -#: utils/adt/timestamp.c:3455 utils/adt/timestamp.c:3482 -#: utils/adt/timestamp.c:3513 +#: utils/adt/date.c:2020 +#, fuzzy, c-format +msgid "cannot convert infinite interval to time" +msgstr "no se puede convertir infinito a %s" + +#: utils/adt/date.c:2061 utils/adt/date.c:2605 +#, fuzzy, c-format +msgid "cannot add infinite interval to time" +msgstr "no se pueden restar fechas infinitas" + +#: utils/adt/date.c:2084 utils/adt/date.c:2632 +#, fuzzy, c-format +msgid "cannot subtract infinite interval from time" +msgstr "no se pueden restar fechas infinitas" + +#: 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/timestamp.c:3810 utils/adt/timestamp.c:3847 +#: utils/adt/timestamp.c:3888 #, c-format msgid "invalid preceding or following size in window function" msgstr "tamaño «preceding» o «following» no válido en ventana deslizante" -#: utils/adt/date.c:2351 +#: utils/adt/date.c:2360 #, c-format msgid "time zone displacement out of range" msgstr "desplazamiento de huso horario fuera de rango" -#: utils/adt/date.c:3110 utils/adt/timestamp.c:5506 utils/adt/timestamp.c:5736 +#: utils/adt/date.c:3132 utils/adt/timestamp.c:6242 utils/adt/timestamp.c:6479 +#, fuzzy, c-format +msgid "interval time zone \"%s\" must be finite" +msgstr "el intervalo de huso horario «%s» no debe especificar meses o días" + +#: utils/adt/date.c:3139 utils/adt/timestamp.c:6249 utils/adt/timestamp.c:6486 #, c-format msgid "interval time zone \"%s\" must not include months or days" msgstr "el intervalo de huso horario «%s» no debe especificar meses o días" -#: utils/adt/datetime.c:3223 utils/adt/datetime.c:4002 -#: utils/adt/datetime.c:4008 utils/adt/timestamp.c:512 +#: utils/adt/datetime.c:3232 utils/adt/datetime.c:4127 +#: utils/adt/datetime.c:4133 utils/adt/timestamp.c:528 #, c-format msgid "time zone \"%s\" not recognized" msgstr "el huso horario «%s» no es reconocido" -#: utils/adt/datetime.c:3976 utils/adt/datetime.c:3983 +#: utils/adt/datetime.c:4101 utils/adt/datetime.c:4108 #, c-format msgid "date/time field value out of range: \"%s\"" msgstr "valor de hora/fecha fuera de rango: «%s»" -#: utils/adt/datetime.c:3985 +#: utils/adt/datetime.c:4110 #, c-format msgid "Perhaps you need a different \"datestyle\" setting." msgstr "Quizás necesite una configuración diferente de «datestyle»." -#: utils/adt/datetime.c:3990 +#: utils/adt/datetime.c:4115 #, c-format msgid "interval field value out of range: \"%s\"" msgstr "valor de interval fuera de rango: «%s»" -#: utils/adt/datetime.c:3996 +#: utils/adt/datetime.c:4121 #, c-format msgid "time zone displacement out of range: \"%s\"" msgstr "desplazamiento de huso horario fuera de rango: «%s»" -#: utils/adt/datetime.c:4010 +#: utils/adt/datetime.c:4135 #, c-format msgid "This time zone name appears in the configuration file for time zone abbreviation \"%s\"." msgstr "Este nombre de huso horario aparece en el archivo de configuración para abreviaciones de husos horarios «%s»." @@ -23804,23 +24686,22 @@ msgstr "Este nombre de huso horario aparece en el archivo de configuración para msgid "invalid Datum pointer" msgstr "puntero a Datum no válido" -#: utils/adt/dbsize.c:761 utils/adt/dbsize.c:837 +#: utils/adt/dbsize.c:764 utils/adt/dbsize.c:840 #, c-format msgid "invalid size: \"%s\"" msgstr "tamaño no válido: «%s»" -#: utils/adt/dbsize.c:838 +#: utils/adt/dbsize.c:841 #, c-format msgid "Invalid size unit: \"%s\"." msgstr "Nombre de unidad de tamaño no válido: «%s»." -#: utils/adt/dbsize.c:839 -#, fuzzy, c-format -#| msgid "Valid units for this parameter are \"B\", \"kB\", \"MB\", \"GB\", and \"TB\"." +#: utils/adt/dbsize.c:842 +#, c-format msgid "Valid units are \"bytes\", \"B\", \"kB\", \"MB\", \"GB\", \"TB\", and \"PB\"." -msgstr "Unidades válidas para este parámetro son «B», «kB», «MB», «GB» y «TB»." +msgstr "Unidades aceptables son «bytes«, «B», «kB», «MB», «GB», «TB» y «PB»." -#: utils/adt/domains.c:92 +#: utils/adt/domains.c:95 #, c-format msgid "type %s is not a domain" msgstr "tipo «%s» no es un dominio" @@ -23870,10 +24751,10 @@ msgstr "secuencia de término base64 no válida" msgid "Input data is missing padding, is truncated, or is otherwise corrupted." msgstr "A los datos de entrada les falta relleno, o están truncados, o están corruptos de alguna otra forma." -#: utils/adt/encode.c:492 utils/adt/encode.c:557 utils/adt/jsonfuncs.c:648 -#: utils/adt/varlena.c:331 utils/adt/varlena.c:372 jsonpath_gram.y:528 -#: jsonpath_scan.l:629 jsonpath_scan.l:640 jsonpath_scan.l:650 -#: jsonpath_scan.l:701 +#: utils/adt/encode.c:492 utils/adt/encode.c:557 utils/adt/jsonfuncs.c:659 +#: utils/adt/varlena.c:333 utils/adt/varlena.c:374 jsonpath_gram.y:266 +#: jsonpath_gram.y:598 jsonpath_scan.l:640 jsonpath_scan.l:651 +#: jsonpath_scan.l:661 jsonpath_scan.l:712 #, c-format msgid "invalid input syntax for type %s" msgstr "sintaxis de entrada no válida para tipo %s" @@ -23910,353 +24791,348 @@ msgstr "no se pudo determinar el tipo enum efectivo" msgid "enum %s contains no values" msgstr "el enum %s no contiene valores" -#: utils/adt/float.c:89 +#: utils/adt/float.c:83 #, c-format msgid "value out of range: overflow" msgstr "valor fuera de rango: desbordamiento" -#: utils/adt/float.c:97 +#: utils/adt/float.c:91 #, c-format msgid "value out of range: underflow" msgstr "valor fuera de rango: desbordamiento por abajo" -#: utils/adt/float.c:286 +#: utils/adt/float.c:280 #, c-format msgid "\"%s\" is out of range for type real" msgstr "«%s» está fuera de rango para el tipo real" -#: utils/adt/float.c:488 +#: utils/adt/float.c:482 #, c-format msgid "\"%s\" is out of range for type double precision" msgstr "«%s» está fuera de rango para el tipo double precision" -#: utils/adt/float.c:1253 utils/adt/float.c:1327 utils/adt/int.c:355 +#: 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:1278 utils/adt/numeric.c:4500 utils/adt/numeric.c:4505 +#: utils/adt/int8.c:1277 utils/adt/numeric.c:4593 utils/adt/numeric.c:4598 #, c-format msgid "smallint out of range" msgstr "smallint fuera de rango" -#: utils/adt/float.c:1453 utils/adt/numeric.c:3693 utils/adt/numeric.c:10027 +#: utils/adt/float.c:1447 utils/adt/numeric.c:3709 utils/adt/numeric.c:10112 #, c-format msgid "cannot take square root of a negative number" msgstr "no se puede calcular la raíz cuadrada un de número negativo" -#: utils/adt/float.c:1521 utils/adt/numeric.c:3981 utils/adt/numeric.c:4093 +#: utils/adt/float.c:1515 utils/adt/numeric.c:3997 utils/adt/numeric.c:4109 #, c-format msgid "zero raised to a negative power is undefined" msgstr "cero elevado a una potencia negativa es indefinido" -#: utils/adt/float.c:1525 utils/adt/numeric.c:3985 utils/adt/numeric.c:10918 +#: utils/adt/float.c:1519 utils/adt/numeric.c:4001 utils/adt/numeric.c:11003 #, c-format msgid "a negative number raised to a non-integer power yields a complex result" msgstr "un número negativo elevado a una potencia no positiva entrega un resultado complejo" -#: utils/adt/float.c:1701 utils/adt/float.c:1734 utils/adt/numeric.c:3893 -#: utils/adt/numeric.c:10698 +#: utils/adt/float.c:1695 utils/adt/float.c:1728 utils/adt/numeric.c:3909 +#: utils/adt/numeric.c:10783 #, c-format msgid "cannot take logarithm of zero" msgstr "no se puede calcular logaritmo de cero" -#: utils/adt/float.c:1705 utils/adt/float.c:1738 utils/adt/numeric.c:3831 -#: utils/adt/numeric.c:3888 utils/adt/numeric.c:10702 +#: 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 #, c-format msgid "cannot take logarithm of a negative number" msgstr "no se puede calcular logaritmo de un número negativo" -#: utils/adt/float.c:1771 utils/adt/float.c:1802 utils/adt/float.c:1897 -#: utils/adt/float.c:1924 utils/adt/float.c:1952 utils/adt/float.c:1979 -#: utils/adt/float.c:2126 utils/adt/float.c:2163 utils/adt/float.c:2333 -#: utils/adt/float.c:2389 utils/adt/float.c:2454 utils/adt/float.c:2511 -#: utils/adt/float.c:2702 utils/adt/float.c:2726 +#: utils/adt/float.c:1765 utils/adt/float.c:1796 utils/adt/float.c:1891 +#: utils/adt/float.c:1918 utils/adt/float.c:1946 utils/adt/float.c:1973 +#: utils/adt/float.c:2120 utils/adt/float.c:2157 utils/adt/float.c:2327 +#: utils/adt/float.c:2383 utils/adt/float.c:2448 utils/adt/float.c:2505 +#: utils/adt/float.c:2696 utils/adt/float.c:2720 #, c-format msgid "input is out of range" msgstr "la entrada está fuera de rango" -#: utils/adt/float.c:2867 -#, c-format -msgid "setseed parameter %g is out of allowed range [-1,1]" -msgstr "parámetro setseed %g fuera del rango permitido [-1,1]" - -#: utils/adt/float.c:4095 utils/adt/numeric.c:1841 +#: utils/adt/float.c:4000 utils/adt/numeric.c:1857 #, c-format msgid "count must be greater than zero" msgstr "count debe ser mayor que cero" -#: utils/adt/float.c:4100 utils/adt/numeric.c:1852 +#: utils/adt/float.c:4005 utils/adt/numeric.c:1868 #, c-format msgid "operand, lower bound, and upper bound cannot be NaN" msgstr "el operando, límite inferior y límite superior no pueden ser NaN" -#: utils/adt/float.c:4106 utils/adt/numeric.c:1857 +#: utils/adt/float.c:4011 utils/adt/numeric.c:1873 #, c-format msgid "lower and upper bounds must be finite" msgstr "los límites inferior y superior deben ser finitos" -#: utils/adt/float.c:4172 utils/adt/numeric.c:1871 +#: utils/adt/float.c:4077 utils/adt/numeric.c:1887 #, c-format msgid "lower bound cannot equal upper bound" msgstr "el límite superior no puede ser igual al límite inferior" -#: utils/adt/formatting.c:519 +#: utils/adt/formatting.c:530 #, c-format msgid "invalid format specification for an interval value" msgstr "especificación de formato no válida para un valor de interval" -#: utils/adt/formatting.c:520 +#: utils/adt/formatting.c:531 #, c-format msgid "Intervals are not tied to specific calendar dates." msgstr "Los Interval no están ... a valores determinados de fechas de calendario." -#: utils/adt/formatting.c:1150 +#: utils/adt/formatting.c:1161 #, c-format msgid "\"EEEE\" must be the last pattern used" msgstr "«EEEE» debe ser el último patrón usado" -#: utils/adt/formatting.c:1158 +#: utils/adt/formatting.c:1169 #, c-format msgid "\"9\" must be ahead of \"PR\"" msgstr "«9» debe ir antes de «PR»" -#: utils/adt/formatting.c:1174 +#: utils/adt/formatting.c:1185 #, c-format msgid "\"0\" must be ahead of \"PR\"" msgstr "«0» debe ir antes de «PR»" -#: utils/adt/formatting.c:1201 +#: utils/adt/formatting.c:1212 #, c-format msgid "multiple decimal points" msgstr "hay múltiples puntos decimales" -#: utils/adt/formatting.c:1205 utils/adt/formatting.c:1288 +#: utils/adt/formatting.c:1216 utils/adt/formatting.c:1299 #, c-format msgid "cannot use \"V\" and decimal point together" msgstr "no se puede usar «V» y un punto decimal simultáneamente" -#: utils/adt/formatting.c:1217 +#: utils/adt/formatting.c:1228 #, c-format msgid "cannot use \"S\" twice" msgstr "no se puede usar «S» dos veces" -#: utils/adt/formatting.c:1221 +#: utils/adt/formatting.c:1232 #, c-format msgid "cannot use \"S\" and \"PL\"/\"MI\"/\"SG\"/\"PR\" together" msgstr "no se puede usar «S» y «PL»/«MI»/«SG»/«PR» simultáneamente" -#: utils/adt/formatting.c:1241 +#: utils/adt/formatting.c:1252 #, c-format msgid "cannot use \"S\" and \"MI\" together" msgstr "no se puede usar «S» y «MI» simultáneamente" -#: utils/adt/formatting.c:1251 +#: utils/adt/formatting.c:1262 #, c-format msgid "cannot use \"S\" and \"PL\" together" msgstr "no se puede usar «S» y «PL» simultáneamente" -#: utils/adt/formatting.c:1261 +#: utils/adt/formatting.c:1272 #, c-format msgid "cannot use \"S\" and \"SG\" together" msgstr "no se puede usar «S» y «SG» simultáneamente" -#: utils/adt/formatting.c:1270 +#: utils/adt/formatting.c:1281 #, c-format msgid "cannot use \"PR\" and \"S\"/\"PL\"/\"MI\"/\"SG\" together" msgstr "no se puede usar «PR» y «S»/«PL»/«MI»/«SG» simultáneamente" -#: utils/adt/formatting.c:1296 +#: utils/adt/formatting.c:1307 #, c-format msgid "cannot use \"EEEE\" twice" msgstr "no se puede usar «EEEE» dos veces" -#: utils/adt/formatting.c:1302 +#: utils/adt/formatting.c:1313 #, c-format msgid "\"EEEE\" is incompatible with other formats" msgstr "«EEEE» es incompatible con otros formatos" -#: utils/adt/formatting.c:1303 +#: utils/adt/formatting.c:1314 #, c-format msgid "\"EEEE\" may only be used together with digit and decimal point patterns." msgstr "«EEEE» sólo puede ser usado en conjunción con patrones de dígitos y puntos decimales." -#: utils/adt/formatting.c:1387 +#: utils/adt/formatting.c:1398 #, c-format msgid "invalid datetime format separator: \"%s\"" msgstr "separador de formato «datetime» no válido: «%s»" -#: utils/adt/formatting.c:1514 +#: utils/adt/formatting.c:1525 #, c-format msgid "\"%s\" is not a number" msgstr "«%s» no es un número" -#: utils/adt/formatting.c:1592 +#: utils/adt/formatting.c:1603 #, c-format msgid "case conversion failed: %s" msgstr "falló la conversión de mayúsculas: %s" -#: utils/adt/formatting.c:1646 utils/adt/formatting.c:1768 -#: utils/adt/formatting.c:1891 +#: utils/adt/formatting.c:1651 utils/adt/formatting.c:1799 +#: utils/adt/formatting.c:1989 #, c-format msgid "could not determine which collation to use for %s function" msgstr "no se pudo determinar qué ordenamiento usar para la función %s" -#: utils/adt/formatting.c:2274 +#: utils/adt/formatting.c:2410 #, c-format msgid "invalid combination of date conventions" msgstr "combinación no válida de convenciones de fecha" -#: utils/adt/formatting.c:2275 +#: utils/adt/formatting.c:2411 #, c-format msgid "Do not mix Gregorian and ISO week date conventions in a formatting template." msgstr " No mezclar convenciones de semana Gregorianas e ISO en una plantilla formateada" -#: utils/adt/formatting.c:2297 +#: utils/adt/formatting.c:2433 #, c-format msgid "conflicting values for \"%s\" field in formatting string" msgstr "valores en conflicto para le campo \"%s\" en cadena de formato" -#: utils/adt/formatting.c:2299 +#: utils/adt/formatting.c:2435 #, c-format msgid "This value contradicts a previous setting for the same field type." msgstr "Este valor se contradice con un seteo previo para el mismo tipo de campo" -#: utils/adt/formatting.c:2366 +#: utils/adt/formatting.c:2502 #, c-format msgid "source string too short for \"%s\" formatting field" msgstr "cadena de texto fuente muy corta para campo formateado \"%s\" " -#: utils/adt/formatting.c:2368 +#: utils/adt/formatting.c:2504 #, c-format msgid "Field requires %d characters, but only %d remain." msgstr "El campo requiere %d caractéres, pero solo quedan %d." -#: utils/adt/formatting.c:2370 utils/adt/formatting.c:2384 +#: utils/adt/formatting.c:2506 utils/adt/formatting.c:2520 #, c-format msgid "If your source string is not fixed-width, try using the \"FM\" modifier." msgstr "Si su cadena de texto no es de ancho modificado, trate de usar el modificador \"FM\" " -#: utils/adt/formatting.c:2380 utils/adt/formatting.c:2393 -#: utils/adt/formatting.c:2614 +#: utils/adt/formatting.c:2516 utils/adt/formatting.c:2529 +#: utils/adt/formatting.c:2750 utils/adt/formatting.c:3650 #, c-format msgid "invalid value \"%s\" for \"%s\"" msgstr "el valor «%s» no es válido para «%s»" -#: utils/adt/formatting.c:2382 +#: utils/adt/formatting.c:2518 #, c-format msgid "Field requires %d characters, but only %d could be parsed." msgstr "El campo requiere %d caracteres, pero sólo %d pudieron ser analizados." -#: utils/adt/formatting.c:2395 +#: utils/adt/formatting.c:2531 #, c-format msgid "Value must be an integer." msgstr "El valor debe ser un entero." -#: utils/adt/formatting.c:2400 +#: utils/adt/formatting.c:2536 #, c-format msgid "value for \"%s\" in source string is out of range" msgstr "el valor para «%s» en la cadena de origen está fuera de rango" -#: utils/adt/formatting.c:2402 +#: utils/adt/formatting.c:2538 #, c-format msgid "Value must be in the range %d to %d." msgstr "El valor debe estar en el rango de %d a %d." -#: utils/adt/formatting.c:2616 +#: utils/adt/formatting.c:2752 #, c-format msgid "The given value did not match any of the allowed values for this field." msgstr "El valor dado no concuerda con ninguno de los valores permitidos para este campo." -#: utils/adt/formatting.c:2832 utils/adt/formatting.c:2852 -#: utils/adt/formatting.c:2872 utils/adt/formatting.c:2892 -#: utils/adt/formatting.c:2911 utils/adt/formatting.c:2930 -#: utils/adt/formatting.c:2954 utils/adt/formatting.c:2972 -#: utils/adt/formatting.c:2990 utils/adt/formatting.c:3008 -#: utils/adt/formatting.c:3025 utils/adt/formatting.c:3042 +#: utils/adt/formatting.c:2968 utils/adt/formatting.c:2988 +#: utils/adt/formatting.c:3008 utils/adt/formatting.c:3028 +#: utils/adt/formatting.c:3047 utils/adt/formatting.c:3066 +#: utils/adt/formatting.c:3090 utils/adt/formatting.c:3108 +#: utils/adt/formatting.c:3126 utils/adt/formatting.c:3144 +#: utils/adt/formatting.c:3161 utils/adt/formatting.c:3178 #, c-format msgid "localized string format value too long" msgstr "cadena traducida en cadena de formato es demasiado larga" -#: utils/adt/formatting.c:3322 +#: utils/adt/formatting.c:3458 #, c-format msgid "unmatched format separator \"%c\"" msgstr "separador de formato «%c» desemparejado" -#: utils/adt/formatting.c:3383 +#: utils/adt/formatting.c:3519 #, c-format msgid "unmatched format character \"%s\"" msgstr "carácter de formato «%s» desemparejado" -#: utils/adt/formatting.c:3491 -#, c-format -msgid "formatting field \"%s\" is only supported in to_char" -msgstr "el campo de formato «%s» sólo está soportado en to_char" +#: utils/adt/formatting.c:3652 +#, fuzzy, c-format +msgid "Time zone abbreviation is not recognized." +msgstr "el huso horario «%s» no es reconocido" -#: utils/adt/formatting.c:3665 +#: utils/adt/formatting.c:3853 #, c-format msgid "invalid input string for \"Y,YYY\"" msgstr "cadena de entrada no válida para «Y,YYY»" -#: utils/adt/formatting.c:3754 +#: utils/adt/formatting.c:3942 #, c-format msgid "input string is too short for datetime format" msgstr "cadena de entrada muy corta para formato de fecha/hora" -#: utils/adt/formatting.c:3762 +#: utils/adt/formatting.c:3950 #, c-format msgid "trailing characters remain in input string after datetime format" msgstr "quedan caracteres al final de la cadena de entrada después del formato fecha/hora" -#: utils/adt/formatting.c:4319 +#: utils/adt/formatting.c:4494 #, c-format msgid "missing time zone in input string for type timestamptz" msgstr "falta el huso horario en la cadena de entrada para el tipo timestamptz" -#: utils/adt/formatting.c:4325 +#: utils/adt/formatting.c:4500 #, c-format msgid "timestamptz out of range" msgstr "timestamptz fuera de rango" -#: utils/adt/formatting.c:4353 +#: utils/adt/formatting.c:4528 #, c-format msgid "datetime format is zoned but not timed" msgstr "el formato de fecha/hora tiene huso horario pero no hora" -#: utils/adt/formatting.c:4411 +#: utils/adt/formatting.c:4577 #, c-format msgid "missing time zone in input string for type timetz" msgstr "falta el huso horario en la cadena de entrada del tipo timetz" -#: utils/adt/formatting.c:4417 +#: utils/adt/formatting.c:4583 #, c-format msgid "timetz out of range" msgstr "timetz fuera de rango" -#: utils/adt/formatting.c:4443 +#: utils/adt/formatting.c:4609 #, c-format msgid "datetime format is not dated and not timed" msgstr "el formato de fecha/hora no tiene fecha ni hora" -#: utils/adt/formatting.c:4575 +#: utils/adt/formatting.c:4786 #, c-format msgid "hour \"%d\" is invalid for the 12-hour clock" msgstr "la hora «%d» no es válida para el reloj de 12 horas" -#: utils/adt/formatting.c:4577 +#: utils/adt/formatting.c:4788 #, c-format msgid "Use the 24-hour clock, or give an hour between 1 and 12." msgstr "Use el reloj de 24 horas, o entregue una hora entre 1 y 12." -#: utils/adt/formatting.c:4689 +#: utils/adt/formatting.c:4900 #, c-format msgid "cannot calculate day of year without year information" msgstr "no se puede calcular el día del año sin conocer el año" -#: utils/adt/formatting.c:5621 +#: utils/adt/formatting.c:5852 #, c-format msgid "\"EEEE\" not supported for input" msgstr "«EEEE» no está soportado en la entrada" -#: utils/adt/formatting.c:5633 +#: utils/adt/formatting.c:5864 #, c-format msgid "\"RN\" not supported for input" msgstr "«RN» no está soportado en la entrada" @@ -24267,10 +25143,9 @@ msgid "absolute path not allowed" msgstr "no se permiten rutas absolutas" #: utils/adt/genfile.c:89 -#, fuzzy, c-format -#| msgid "Shows the mode of the data directory." +#, c-format msgid "path must be in or below the data directory" -msgstr "Muestra el modo del directorio de datos." +msgstr "la ruta debe estar en o debajo del directorio de datos" #: utils/adt/genfile.c:114 utils/adt/oracle_compat.c:190 #: utils/adt/oracle_compat.c:288 utils/adt/oracle_compat.c:839 @@ -24289,12 +25164,7 @@ msgstr "no se pudo posicionar (seek) el archivo «%s»: %m" msgid "file length too large" msgstr "el tamaño del archivo es demasiado grande" -#: utils/adt/genfile.c:248 -#, c-format -msgid "must be superuser to read files with adminpack 1.0" -msgstr "Debe ser superusuario leer archivos con adminpack 1.0." - -#: utils/adt/genfile.c:702 +#: utils/adt/genfile.c:656 #, c-format msgid "tablespace with OID %u does not exist" msgstr "no existe el tablespace con OID %u" @@ -24350,569 +25220,645 @@ msgstr "debe pedir al menos 2 puntos" msgid "invalid int2vector data" msgstr "datos de int2vector no válidos" -#: utils/adt/int.c:1529 utils/adt/int8.c:1404 utils/adt/numeric.c:1749 -#: utils/adt/timestamp.c:5797 utils/adt/timestamp.c:5879 +#: utils/adt/int.c:1529 utils/adt/int8.c:1403 utils/adt/numeric.c:1765 +#: utils/adt/timestamp.c:6546 utils/adt/timestamp.c:6632 #, c-format msgid "step size cannot equal zero" msgstr "el tamaño de paso no puede ser cero" -#: utils/adt/int8.c:449 utils/adt/int8.c:472 utils/adt/int8.c:486 -#: utils/adt/int8.c:500 utils/adt/int8.c:531 utils/adt/int8.c:555 -#: utils/adt/int8.c:637 utils/adt/int8.c:705 utils/adt/int8.c:711 -#: utils/adt/int8.c:737 utils/adt/int8.c:751 utils/adt/int8.c:775 -#: utils/adt/int8.c:788 utils/adt/int8.c:900 utils/adt/int8.c:914 -#: utils/adt/int8.c:928 utils/adt/int8.c:959 utils/adt/int8.c:981 -#: utils/adt/int8.c:995 utils/adt/int8.c:1009 utils/adt/int8.c:1042 -#: utils/adt/int8.c:1056 utils/adt/int8.c:1070 utils/adt/int8.c:1101 -#: utils/adt/int8.c:1123 utils/adt/int8.c:1137 utils/adt/int8.c:1151 -#: utils/adt/int8.c:1313 utils/adt/int8.c:1348 utils/adt/numeric.c:4459 -#: utils/adt/rangetypes.c:1528 utils/adt/rangetypes.c:1541 +#: utils/adt/int8.c:448 utils/adt/int8.c:471 utils/adt/int8.c:485 +#: utils/adt/int8.c:499 utils/adt/int8.c:530 utils/adt/int8.c:554 +#: utils/adt/int8.c:636 utils/adt/int8.c:704 utils/adt/int8.c:710 +#: utils/adt/int8.c:736 utils/adt/int8.c:750 utils/adt/int8.c:774 +#: utils/adt/int8.c:787 utils/adt/int8.c:899 utils/adt/int8.c:913 +#: utils/adt/int8.c:927 utils/adt/int8.c:958 utils/adt/int8.c:980 +#: 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/rangetypes.c:1535 utils/adt/rangetypes.c:1548 #: utils/adt/varbit.c:1676 #, c-format msgid "bigint out of range" msgstr "bigint fuera de rango" -#: utils/adt/int8.c:1361 +#: utils/adt/int8.c:1360 #, c-format msgid "OID out of range" msgstr "OID fuera de rango" -#: utils/adt/json.c:320 utils/adt/jsonb.c:781 +#: utils/adt/json.c:202 utils/adt/jsonb.c:664 #, c-format msgid "key value must be scalar, not array, composite, or json" msgstr "el valor de llave debe ser escalar, no array, composite o json" -#: utils/adt/json.c:1113 utils/adt/json.c:1123 utils/fmgr/funcapi.c:2082 +#: utils/adt/json.c:1034 utils/adt/json.c:1044 utils/fmgr/funcapi.c:2090 #, c-format msgid "could not determine data type for argument %d" msgstr "no se pudo determinar el tipo de dato para el argumento %d" -#: utils/adt/json.c:1146 utils/adt/json.c:1337 utils/adt/json.c:1513 -#: utils/adt/json.c:1591 utils/adt/jsonb.c:1432 utils/adt/jsonb.c:1522 +#: utils/adt/json.c:1067 utils/adt/json.c:1259 utils/adt/json.c:1435 +#: utils/adt/json.c:1513 utils/adt/jsonb.c:1333 utils/adt/jsonb.c:1423 #, c-format msgid "null value not allowed for object key" msgstr "no se permite el valor nulo como llave en un objeto" -#: utils/adt/json.c:1189 utils/adt/json.c:1352 -#, fuzzy, c-format -#| msgid "Duplicate keys exist." -msgid "duplicate JSON key %s" -msgstr "Existe una llave duplicada." +#: utils/adt/json.c:1110 utils/adt/json.c:1274 +#, c-format +msgid "duplicate JSON object key value: %s" +msgstr "valor de llave de objeto JSON duplicado: %s" -#: utils/adt/json.c:1297 utils/adt/jsonb.c:1233 +#: utils/adt/json.c:1219 utils/adt/jsonb.c:1134 #, c-format msgid "argument list must have even number of elements" msgstr "la lista de argumentos debe tener un número par de elementos" #. translator: %s is a SQL function name -#: utils/adt/json.c:1299 utils/adt/jsonb.c:1235 +#: utils/adt/json.c:1221 utils/adt/jsonb.c:1136 #, c-format msgid "The arguments of %s must consist of alternating keys and values." msgstr "El argumento de %s debe consistir de llaves y valores alternados." -#: utils/adt/json.c:1491 utils/adt/jsonb.c:1410 +#: utils/adt/json.c:1413 utils/adt/jsonb.c:1311 #, c-format msgid "array must have two columns" msgstr "un array debe tener dos columnas" -#: utils/adt/json.c:1580 utils/adt/jsonb.c:1511 +#: utils/adt/json.c:1502 utils/adt/jsonb.c:1412 #, c-format msgid "mismatched array dimensions" msgstr "las dimensiones de array no coinciden" -#: utils/adt/json.c:1764 +#: utils/adt/json.c:1688 utils/adt/jsonb_util.c:1956 #, c-format msgid "duplicate JSON object key value" -msgstr "" +msgstr "valor de llavo del objeto JSON duplicado" -#: utils/adt/jsonb.c:294 +#: utils/adt/jsonb.c:282 #, c-format msgid "string too long to represent as jsonb string" msgstr "la cadena es demasiado larga para representarla como cadena jsonb." -#: utils/adt/jsonb.c:295 +#: utils/adt/jsonb.c:283 #, c-format msgid "Due to an implementation restriction, jsonb strings cannot exceed %d bytes." msgstr "Debido a una restricción de la implementación, las cadenas en jsonb no pueden exceder los %d bytes." -#: utils/adt/jsonb.c:1252 +#: utils/adt/jsonb.c:1153 #, c-format msgid "argument %d: key must not be null" msgstr "argumento %d: la llave no puede ser null" -#: utils/adt/jsonb.c:1843 +#: utils/adt/jsonb.c:1744 #, c-format msgid "field name must not be null" msgstr "el nombre de campo no debe ser null" -#: utils/adt/jsonb.c:1905 +#: utils/adt/jsonb.c:1806 #, c-format msgid "object keys must be strings" msgstr "las llaves de un objeto deben ser cadenas" -#: utils/adt/jsonb.c:2116 +#: utils/adt/jsonb.c:2017 #, c-format msgid "cannot cast jsonb null to type %s" msgstr "no se puede convertir un null jsonb a tipo %s" -#: utils/adt/jsonb.c:2117 +#: utils/adt/jsonb.c:2018 #, c-format msgid "cannot cast jsonb string to type %s" msgstr "no se puede convertir un string jsonb a tipo %s" -#: utils/adt/jsonb.c:2118 +#: utils/adt/jsonb.c:2019 #, c-format msgid "cannot cast jsonb numeric to type %s" msgstr "no se puede convertir un numérico jsonb a tipo %s" -#: utils/adt/jsonb.c:2119 +#: utils/adt/jsonb.c:2020 #, c-format msgid "cannot cast jsonb boolean to type %s" msgstr "no se puede convertir un booleano jsonb a tipo %s" -#: utils/adt/jsonb.c:2120 +#: utils/adt/jsonb.c:2021 #, c-format msgid "cannot cast jsonb array to type %s" msgstr "no se puede convertir un array jsonb a tipo %s" -#: utils/adt/jsonb.c:2121 +#: utils/adt/jsonb.c:2022 #, c-format msgid "cannot cast jsonb object to type %s" msgstr "no se puede convertir un objeto jsonb a tipo %s" -#: utils/adt/jsonb.c:2122 +#: utils/adt/jsonb.c:2023 #, c-format msgid "cannot cast jsonb array or object to type %s" msgstr "no se puede convertir un array u objeto jsonb a tipo %s" -#: utils/adt/jsonb_util.c:758 +#: utils/adt/jsonb_util.c:756 #, c-format msgid "number of jsonb object pairs exceeds the maximum allowed (%zu)" msgstr "el número de pares en objeto jsonb excede el máximo permitido (%zu)" -#: utils/adt/jsonb_util.c:799 +#: utils/adt/jsonb_util.c:797 #, c-format msgid "number of jsonb array elements exceeds the maximum allowed (%zu)" msgstr "el número de elementos del array jsonb excede el máximo permitido (%zu)" -#: utils/adt/jsonb_util.c:1673 utils/adt/jsonb_util.c:1693 -#, fuzzy, c-format -#| msgid "number of jsonb array elements exceeds the maximum allowed (%zu)" +#: utils/adt/jsonb_util.c:1671 utils/adt/jsonb_util.c:1691 +#, c-format msgid "total size of jsonb array elements exceeds the maximum of %d bytes" -msgstr "el número de elementos del array jsonb excede el máximo permitido (%zu)" +msgstr "el tamaño total de los elementos del array jsonb excede el máximo de %d bytes" -#: utils/adt/jsonb_util.c:1754 utils/adt/jsonb_util.c:1789 -#: utils/adt/jsonb_util.c:1809 -#, fuzzy, c-format -#| msgid "number of jsonb array elements exceeds the maximum allowed (%zu)" +#: utils/adt/jsonb_util.c:1752 utils/adt/jsonb_util.c:1787 +#: utils/adt/jsonb_util.c:1807 +#, c-format msgid "total size of jsonb object elements exceeds the maximum of %d bytes" -msgstr "el número de elementos del array jsonb excede el máximo permitido (%zu)" - -#: utils/adt/jsonb_util.c:1958 -#, fuzzy, c-format -#| msgid "unexpected object end" -msgid "duplicate JSON object key" -msgstr "fin de objeto inesperado" +msgstr "el tamaño total de los elementos del objeto jsonb excede el máximo de %d bytes" -#: utils/adt/jsonbsubs.c:70 utils/adt/jsonbsubs.c:151 +#: utils/adt/jsonbsubs.c:67 utils/adt/jsonbsubs.c:148 #, c-format msgid "jsonb subscript does not support slices" msgstr "el subíndice jsonb no soporta segmentos" -#: utils/adt/jsonbsubs.c:103 utils/adt/jsonbsubs.c:117 +#: utils/adt/jsonbsubs.c:100 utils/adt/jsonbsubs.c:114 #, c-format msgid "subscript type %s is not supported" msgstr "el tipo de subíndice %s no está soportado" -#: utils/adt/jsonbsubs.c:104 +#: utils/adt/jsonbsubs.c:101 #, c-format msgid "jsonb subscript must be coercible to only one type, integer or text." msgstr "subíndice jsonb debe ser coercible solo para un tipo, integer o text." -#: utils/adt/jsonbsubs.c:118 +#: utils/adt/jsonbsubs.c:115 #, c-format msgid "jsonb subscript must be coercible to either integer or text." msgstr "subíndice jsonb debe ser coercible ya sea para integer o para text." -#: utils/adt/jsonbsubs.c:139 +#: utils/adt/jsonbsubs.c:136 #, c-format msgid "jsonb subscript must have text type" msgstr "subíndice jsonb debe tener tipo text" -#: utils/adt/jsonbsubs.c:207 +#: utils/adt/jsonbsubs.c:204 #, c-format msgid "jsonb subscript in assignment must not be null" msgstr "subíndice jsonb en asignación no puede ser nulo" -#: utils/adt/jsonfuncs.c:572 utils/adt/jsonfuncs.c:821 -#: utils/adt/jsonfuncs.c:2429 utils/adt/jsonfuncs.c:2881 -#: utils/adt/jsonfuncs.c:3676 utils/adt/jsonfuncs.c:4018 +#: utils/adt/jsonfuncs.c:583 utils/adt/jsonfuncs.c:830 +#: utils/adt/jsonfuncs.c:2439 utils/adt/jsonfuncs.c:3015 +#: utils/adt/jsonfuncs.c:3948 utils/adt/jsonfuncs.c:4295 #, c-format msgid "cannot call %s on a scalar" msgstr "no se puede invocar %s en un escalar" -#: utils/adt/jsonfuncs.c:577 utils/adt/jsonfuncs.c:806 -#: utils/adt/jsonfuncs.c:2883 utils/adt/jsonfuncs.c:3663 +#: utils/adt/jsonfuncs.c:588 utils/adt/jsonfuncs.c:815 +#: utils/adt/jsonfuncs.c:3017 utils/adt/jsonfuncs.c:3935 #, c-format msgid "cannot call %s on an array" msgstr "no se puede invocar %s en un array" -#: utils/adt/jsonfuncs.c:636 jsonpath_scan.l:596 +#: utils/adt/jsonfuncs.c:647 jsonpath_scan.l:607 #, c-format msgid "unsupported Unicode escape sequence" msgstr "secuencia de escape Unicode no soportado" -#: utils/adt/jsonfuncs.c:713 +#: utils/adt/jsonfuncs.c:724 #, c-format msgid "JSON data, line %d: %s%s%s" msgstr "Datos JSON, línea %d: %s%s%s" -#: utils/adt/jsonfuncs.c:1875 utils/adt/jsonfuncs.c:1912 +#: utils/adt/jsonfuncs.c:1883 utils/adt/jsonfuncs.c:1920 #, c-format msgid "cannot get array length of a scalar" msgstr "no se puede obtener el largo de array de un escalar" -#: utils/adt/jsonfuncs.c:1879 utils/adt/jsonfuncs.c:1898 +#: utils/adt/jsonfuncs.c:1887 utils/adt/jsonfuncs.c:1906 #, c-format msgid "cannot get array length of a non-array" msgstr "no se puede obtener el largo de array de un no-array" -#: utils/adt/jsonfuncs.c:1978 +#: utils/adt/jsonfuncs.c:1986 #, c-format msgid "cannot call %s on a non-object" msgstr "no se puede invocar %s en un no-objeto" -#: utils/adt/jsonfuncs.c:2166 +#: utils/adt/jsonfuncs.c:2174 #, c-format msgid "cannot deconstruct an array as an object" msgstr "no se puede desconstruir un array como un objeto" -#: utils/adt/jsonfuncs.c:2180 +#: utils/adt/jsonfuncs.c:2188 #, c-format msgid "cannot deconstruct a scalar" msgstr "no se puede desconstruir un escalar" -#: utils/adt/jsonfuncs.c:2225 +#: utils/adt/jsonfuncs.c:2233 #, c-format msgid "cannot extract elements from a scalar" msgstr "no se pueden extraer elementos de un escalar" -#: utils/adt/jsonfuncs.c:2229 +#: utils/adt/jsonfuncs.c:2237 #, c-format msgid "cannot extract elements from an object" msgstr "no se pudo extraer elementos de un objeto" -#: utils/adt/jsonfuncs.c:2414 utils/adt/jsonfuncs.c:3896 +#: utils/adt/jsonfuncs.c:2424 utils/adt/jsonfuncs.c:4173 #, c-format msgid "cannot call %s on a non-array" msgstr "no se puede invocar %s en un no-array" -#: utils/adt/jsonfuncs.c:2488 utils/adt/jsonfuncs.c:2493 -#: utils/adt/jsonfuncs.c:2510 utils/adt/jsonfuncs.c:2516 +#: utils/adt/jsonfuncs.c:2515 utils/adt/jsonfuncs.c:2520 +#: utils/adt/jsonfuncs.c:2538 utils/adt/jsonfuncs.c:2544 #, c-format msgid "expected JSON array" msgstr "se esperaba un array JSON" -#: utils/adt/jsonfuncs.c:2489 +#: utils/adt/jsonfuncs.c:2516 #, c-format msgid "See the value of key \"%s\"." msgstr "Vea el valor de la llave «%s»." -#: utils/adt/jsonfuncs.c:2511 +#: utils/adt/jsonfuncs.c:2539 #, c-format msgid "See the array element %s of key \"%s\"." msgstr "Vea el elemento %s de la llave «%s»." -#: utils/adt/jsonfuncs.c:2517 +#: utils/adt/jsonfuncs.c:2545 #, c-format msgid "See the array element %s." msgstr "Veo el elemento de array %s." -#: utils/adt/jsonfuncs.c:2552 +#: utils/adt/jsonfuncs.c:2597 #, c-format msgid "malformed JSON array" msgstr "array JSON mal formado" #. translator: %s is a function name, eg json_to_record -#: utils/adt/jsonfuncs.c:3389 +#: utils/adt/jsonfuncs.c:3647 #, c-format msgid "first argument of %s must be a row type" msgstr "el primer argumento de %s debe ser un tipo de registro" #. translator: %s is a function name, eg json_to_record -#: utils/adt/jsonfuncs.c:3413 +#: utils/adt/jsonfuncs.c:3671 #, c-format msgid "could not determine row type for result of %s" msgstr "no se pudo determinar el tipo de dato para el resultado de %s" -#: utils/adt/jsonfuncs.c:3415 +#: utils/adt/jsonfuncs.c:3673 #, c-format msgid "Provide a non-null record argument, or call the function in the FROM clause using a column definition list." msgstr "Provea un argumento de registro no-nulo, o invoque la función en la cláusula FROM usando una lista de definición de columnas." -#: utils/adt/jsonfuncs.c:3785 utils/fmgr/funcapi.c:94 +#: utils/adt/jsonfuncs.c:4059 utils/fmgr/funcapi.c:94 #, c-format msgid "materialize mode required, but it is not allowed in this context" msgstr "se requiere un nodo «materialize», pero no está permitido en este contexto" -#: utils/adt/jsonfuncs.c:3913 utils/adt/jsonfuncs.c:3997 +#: utils/adt/jsonfuncs.c:4190 utils/adt/jsonfuncs.c:4274 #, c-format msgid "argument of %s must be an array of objects" msgstr "el argumento de %s debe ser un array de objetos" -#: utils/adt/jsonfuncs.c:3946 +#: utils/adt/jsonfuncs.c:4223 #, c-format msgid "cannot call %s on an object" msgstr "no se puede invocar %s en un objeto" -#: utils/adt/jsonfuncs.c:4380 utils/adt/jsonfuncs.c:4439 -#: utils/adt/jsonfuncs.c:4519 +#: utils/adt/jsonfuncs.c:4656 utils/adt/jsonfuncs.c:4715 +#: utils/adt/jsonfuncs.c:4795 #, c-format msgid "cannot delete from scalar" msgstr "no se puede eliminar de un escalar" -#: utils/adt/jsonfuncs.c:4524 +#: utils/adt/jsonfuncs.c:4800 #, c-format msgid "cannot delete from object using integer index" msgstr "no se puede eliminar de un objeto usando un índice numérico" -#: utils/adt/jsonfuncs.c:4592 utils/adt/jsonfuncs.c:4751 +#: utils/adt/jsonfuncs.c:4868 utils/adt/jsonfuncs.c:5027 #, c-format msgid "cannot set path in scalar" msgstr "no se puede definir una ruta en un escalar" -#: utils/adt/jsonfuncs.c:4633 utils/adt/jsonfuncs.c:4675 +#: utils/adt/jsonfuncs.c:4909 utils/adt/jsonfuncs.c:4951 #, c-format msgid "null_value_treatment must be \"delete_key\", \"return_target\", \"use_json_null\", or \"raise_exception\"" msgstr "null_value_treatment debe ser «delete_key», «return_target», «use_json_null», o «raise_exception»" -#: utils/adt/jsonfuncs.c:4646 +#: utils/adt/jsonfuncs.c:4922 #, c-format msgid "JSON value must not be null" msgstr "valor JSON no debe ser null" -#: utils/adt/jsonfuncs.c:4647 +#: utils/adt/jsonfuncs.c:4923 #, c-format msgid "Exception was raised because null_value_treatment is \"raise_exception\"." msgstr "Una excepción fue lanzada porque null_value_treatment es «raise_exception»." -#: utils/adt/jsonfuncs.c:4648 +#: utils/adt/jsonfuncs.c:4924 #, c-format msgid "To avoid, either change the null_value_treatment argument or ensure that an SQL NULL is not passed." msgstr "Para impedir esto, puede cambiar el argumento null_value_treatment o asegurarse que no se pase un nulo SQL." -#: utils/adt/jsonfuncs.c:4703 +#: utils/adt/jsonfuncs.c:4979 #, c-format msgid "cannot delete path in scalar" msgstr "no se puede eliminar una ruta en un escalar" -#: utils/adt/jsonfuncs.c:4917 +#: utils/adt/jsonfuncs.c:5193 #, c-format msgid "path element at position %d is null" msgstr "el elemento en la posición %d de la ruta es null" -#: utils/adt/jsonfuncs.c:4936 utils/adt/jsonfuncs.c:4967 -#: utils/adt/jsonfuncs.c:5040 +#: utils/adt/jsonfuncs.c:5212 utils/adt/jsonfuncs.c:5243 +#: utils/adt/jsonfuncs.c:5316 #, c-format msgid "cannot replace existing key" msgstr "no se puede reemplazar una llave existente" -#: utils/adt/jsonfuncs.c:4937 utils/adt/jsonfuncs.c:4968 +#: utils/adt/jsonfuncs.c:5213 utils/adt/jsonfuncs.c:5244 #, c-format msgid "The path assumes key is a composite object, but it is a scalar value." msgstr "La ruta asume que la llave es un objeto compuesto, pero es un valor escalar." -#: utils/adt/jsonfuncs.c:5041 +#: utils/adt/jsonfuncs.c:5317 #, c-format msgid "Try using the function jsonb_set to replace key value." msgstr "Intente usar la función jsonb_set para reemplazar el valor de la llave." -#: utils/adt/jsonfuncs.c:5145 +#: utils/adt/jsonfuncs.c:5421 #, c-format msgid "path element at position %d is not an integer: \"%s\"" msgstr "el elemento de ruta en la posición %d no es un entero: «%s»" -#: utils/adt/jsonfuncs.c:5162 +#: utils/adt/jsonfuncs.c:5438 #, c-format msgid "path element at position %d is out of range: %d" msgstr "el elemento de ruta en la posición %d está fuera de rango: %d" -#: utils/adt/jsonfuncs.c:5314 +#: utils/adt/jsonfuncs.c:5590 #, c-format msgid "wrong flag type, only arrays and scalars are allowed" msgstr "indicador de tipo errónea, sólo se permiten arrays y tipos escalares" -#: utils/adt/jsonfuncs.c:5321 +#: utils/adt/jsonfuncs.c:5597 #, c-format msgid "flag array element is not a string" msgstr "elemento del array de opciones no es un string" -#: utils/adt/jsonfuncs.c:5322 utils/adt/jsonfuncs.c:5344 +#: utils/adt/jsonfuncs.c:5598 utils/adt/jsonfuncs.c:5620 #, c-format msgid "Possible values are: \"string\", \"numeric\", \"boolean\", \"key\", and \"all\"." msgstr "Los valores posibles son: «string», «numeric», «boolean», «key» y «all»." -#: utils/adt/jsonfuncs.c:5342 +#: utils/adt/jsonfuncs.c:5618 #, c-format msgid "wrong flag in flag array: \"%s\"" msgstr "indicador erróneo en array de indicadores: «%s»" -#: utils/adt/jsonpath.c:382 +#: utils/adt/jsonpath.c:389 #, c-format msgid "@ is not allowed in root expressions" msgstr "@ no es permitido en expresiones raíz" -#: utils/adt/jsonpath.c:388 +#: utils/adt/jsonpath.c:395 #, c-format msgid "LAST is allowed only in array subscripts" msgstr "LAST sólo está permitido en subíndices de array" -#: utils/adt/jsonpath_exec.c:361 +#: utils/adt/jsonpath_exec.c:490 #, c-format msgid "single boolean result is expected" msgstr "se esperaba un único resultado booleano" -#: utils/adt/jsonpath_exec.c:557 +#: utils/adt/jsonpath_exec.c:850 #, c-format -msgid "\"vars\" argument is not an object" -msgstr "el argumento «vars» no es un objeto" +msgid "jsonpath wildcard array accessor can only be applied to an array" +msgstr "el método de acceso comodín de array jsonpath sólo puede aplicarse a un array" -#: utils/adt/jsonpath_exec.c:558 +#: utils/adt/jsonpath_exec.c:873 #, c-format -msgid "Jsonpath parameters should be encoded as key-value pairs of \"vars\" object." -msgstr "Los parámetros jsonpath deben codificarse como pares llave-valor del objeto «vars»." +msgid "jsonpath wildcard member accessor can only be applied to an object" +msgstr "el método de acesso comodín de objeto jsonpath sólo puede aplicarse a un objeto" + +#: utils/adt/jsonpath_exec.c:922 +#, c-format +msgid "jsonpath array subscript is out of bounds" +msgstr "subíndice de array jsonpath fuera de los bordes" + +#: utils/adt/jsonpath_exec.c:979 +#, c-format +msgid "jsonpath array accessor can only be applied to an array" +msgstr "el método de acceso de array jsonpath sólo puede aplicarse a un array" -#: utils/adt/jsonpath_exec.c:675 +#: utils/adt/jsonpath_exec.c:1043 #, c-format msgid "JSON object does not contain key \"%s\"" msgstr "el objeto JSON no contiene la llave «%s»" -#: utils/adt/jsonpath_exec.c:687 +#: utils/adt/jsonpath_exec.c:1055 #, c-format msgid "jsonpath member accessor can only be applied to an object" msgstr "el método de acceso a un miembro jsonpath sólo puede aplicarse a un objeto" -#: utils/adt/jsonpath_exec.c:716 +#: utils/adt/jsonpath_exec.c:1113 #, c-format -msgid "jsonpath wildcard array accessor can only be applied to an array" -msgstr "el método de acceso comodín de array jsonpath sólo puede aplicarse a un array" +msgid "jsonpath item method .%s() can only be applied to an array" +msgstr "el método de ítem jsonpath .%s() sólo puede aplicase a un array" -#: utils/adt/jsonpath_exec.c:764 -#, c-format -msgid "jsonpath array subscript is out of bounds" -msgstr "subíndice de array jsonpath fuera de los bordes" +#: utils/adt/jsonpath_exec.c:1166 utils/adt/jsonpath_exec.c:1192 +#, fuzzy, c-format +msgid "argument \"%s\" of jsonpath item method .%s() is invalid for type double precision" +msgstr "el argumento numérico del método de item jsonpath .%s() está fuera de rango para el tipo de precisión doble" -#: utils/adt/jsonpath_exec.c:821 +#: utils/adt/jsonpath_exec.c:1171 utils/adt/jsonpath_exec.c:1197 +#: utils/adt/jsonpath_exec.c:1413 utils/adt/jsonpath_exec.c:1445 #, c-format -msgid "jsonpath array accessor can only be applied to an array" -msgstr "el método de acceso de array jsonpath sólo puede aplicarse a un array" +msgid "NaN or Infinity is not allowed for jsonpath item method .%s()" +msgstr "" -#: utils/adt/jsonpath_exec.c:873 +#: utils/adt/jsonpath_exec.c:1210 utils/adt/jsonpath_exec.c:1312 +#: utils/adt/jsonpath_exec.c:1454 utils/adt/jsonpath_exec.c:1592 #, c-format -msgid "jsonpath wildcard member accessor can only be applied to an object" -msgstr "el método de acesso comodín de objeto jsonpath sólo puede aplicarse a un objeto" +msgid "jsonpath item method .%s() can only be applied to a string or numeric value" +msgstr "el método de ítem jsonpath .%s() sólo puede aplicarse a un valor numérico o de cadena" -#: utils/adt/jsonpath_exec.c:1007 -#, c-format -msgid "jsonpath item method .%s() can only be applied to an array" -msgstr "el método de ítem jsonpath .%s() sólo puede aplicase a un array" +#: utils/adt/jsonpath_exec.c:1280 utils/adt/jsonpath_exec.c:1304 +#, fuzzy, c-format +msgid "argument \"%s\" of jsonpath item method .%s() is invalid for type bigint" +msgstr "el argumento numérico del método de item jsonpath .%s() está fuera de rango para el tipo de precisión doble" -#: utils/adt/jsonpath_exec.c:1060 -#, c-format -msgid "numeric argument of jsonpath item method .%s() is out of range for type double precision" +#: utils/adt/jsonpath_exec.c:1356 utils/adt/jsonpath_exec.c:1376 +#, fuzzy, c-format +msgid "argument \"%s\" of jsonpath item method .%s() is invalid for type boolean" msgstr "el argumento numérico del método de item jsonpath .%s() está fuera de rango para el tipo de precisión doble" -#: utils/adt/jsonpath_exec.c:1081 -#, c-format -msgid "string argument of jsonpath item method .%s() is not a valid representation of a double precision number" -msgstr "el argumento cadena del método de item jsonpath .%s() no es una representación válida de un número de precisión doble" +#: utils/adt/jsonpath_exec.c:1385 +#, fuzzy, c-format +msgid "jsonpath item method .%s() can only be applied to a bool, string, or numeric value" +msgstr "el método de ítem jsonpath .%s() sólo puede aplicarse a un valor numérico o de cadena" + +#: utils/adt/jsonpath_exec.c:1438 utils/adt/jsonpath_exec.c:1527 +#, fuzzy, c-format +msgid "argument \"%s\" of jsonpath item method .%s() is invalid for type numeric" +msgstr "el argumento numérico del método de item jsonpath .%s() está fuera de rango para el tipo de precisión doble" + +#: utils/adt/jsonpath_exec.c:1486 +#, fuzzy, c-format +msgid "precision of jsonpath item method .%s() is out of range for type integer" +msgstr "el argumento numérico del método de item jsonpath .%s() está fuera de rango para el tipo de precisión doble" + +#: utils/adt/jsonpath_exec.c:1500 +#, fuzzy, c-format +msgid "scale of jsonpath item method .%s() is out of range for type integer" +msgstr "el argumento numérico del método de item jsonpath .%s() está fuera de rango para el tipo de precisión doble" + +#: utils/adt/jsonpath_exec.c:1560 utils/adt/jsonpath_exec.c:1584 +#, fuzzy, c-format +msgid "argument \"%s\" of jsonpath item method .%s() is invalid for type integer" +msgstr "el argumento numérico del método de item jsonpath .%s() está fuera de rango para el tipo de precisión doble" -#: utils/adt/jsonpath_exec.c:1094 -#, c-format -msgid "jsonpath item method .%s() can only be applied to a string or numeric value" +#: utils/adt/jsonpath_exec.c:1666 +#, fuzzy, c-format +msgid "jsonpath item method .%s() can only be applied to a bool, string, numeric, or datetime value" msgstr "el método de ítem jsonpath .%s() sólo puede aplicarse a un valor numérico o de cadena" -#: utils/adt/jsonpath_exec.c:1584 +#: utils/adt/jsonpath_exec.c:2155 #, c-format msgid "left operand of jsonpath operator %s is not a single numeric value" msgstr "el operando izquierdo del operador jsonpath %s no es un valor numérico escalar" -#: utils/adt/jsonpath_exec.c:1591 +#: utils/adt/jsonpath_exec.c:2162 #, c-format msgid "right operand of jsonpath operator %s is not a single numeric value" msgstr "el operando derecho del operador jsonpath %s no es un valor numérico escalar" -#: utils/adt/jsonpath_exec.c:1659 +#: utils/adt/jsonpath_exec.c:2230 #, c-format msgid "operand of unary jsonpath operator %s is not a numeric value" msgstr "el operando del operador jsonpath unario %s no es un valor numérico" -#: utils/adt/jsonpath_exec.c:1758 +#: utils/adt/jsonpath_exec.c:2329 #, c-format msgid "jsonpath item method .%s() can only be applied to a numeric value" msgstr "el método de ítem jsonpath .%s() sólo puede aplicarse a un valor numérico" -#: utils/adt/jsonpath_exec.c:1798 +#: utils/adt/jsonpath_exec.c:2375 #, c-format msgid "jsonpath item method .%s() can only be applied to a string" msgstr "el método de ítem jsonpath .%s() sólo puede aplicase a una cadena" -#: utils/adt/jsonpath_exec.c:1892 -#, c-format -msgid "datetime format is not recognized: \"%s\"" +#: utils/adt/jsonpath_exec.c:2468 +#, fuzzy, c-format +msgid "time precision of jsonpath item method .%s() is out of range for type integer" +msgstr "el argumento numérico del método de item jsonpath .%s() está fuera de rango para el tipo de precisión doble" + +#: utils/adt/jsonpath_exec.c:2502 utils/adt/jsonpath_exec.c:2508 +#: utils/adt/jsonpath_exec.c:2535 utils/adt/jsonpath_exec.c:2563 +#: utils/adt/jsonpath_exec.c:2616 utils/adt/jsonpath_exec.c:2667 +#: utils/adt/jsonpath_exec.c:2738 +#, fuzzy, c-format +msgid "%s format is not recognized: \"%s\"" msgstr "el formato de fecha/hora no se reconoce: «%s»" -#: utils/adt/jsonpath_exec.c:1894 +#: utils/adt/jsonpath_exec.c:2504 #, c-format msgid "Use a datetime template argument to specify the input data format." msgstr "Use un argumento de patrón fecha/hora para especificar el formato de entrada del dato." -#: utils/adt/jsonpath_exec.c:1962 +#: utils/adt/jsonpath_exec.c:2697 utils/adt/jsonpath_exec.c:2778 +#, fuzzy, c-format +msgid "time precision of jsonpath item method .%s() is invalid" +msgstr "el argumento numérico del método de item jsonpath .%s() está fuera de rango para el tipo de precisión doble" + +#: utils/adt/jsonpath_exec.c:2858 #, c-format msgid "jsonpath item method .%s() can only be applied to an object" msgstr "el método de ítem jsonpath .%s() sólo puede ser aplicado a un objeto" -#: utils/adt/jsonpath_exec.c:2144 +#: utils/adt/jsonpath_exec.c:3142 +#, fuzzy, c-format +msgid "could not convert value of type %s to jsonpath" +msgstr "%s no pudo convertir el tipo %s a %s" + +#: utils/adt/jsonpath_exec.c:3176 #, c-format msgid "could not find jsonpath variable \"%s\"" msgstr "no se pudo encontrar la variable jsonpath «%s»" -#: utils/adt/jsonpath_exec.c:2408 +#: utils/adt/jsonpath_exec.c:3229 +#, c-format +msgid "\"vars\" argument is not an object" +msgstr "el argumento «vars» no es un objeto" + +#: utils/adt/jsonpath_exec.c:3230 +#, c-format +msgid "Jsonpath parameters should be encoded as key-value pairs of \"vars\" object." +msgstr "Los parámetros jsonpath deben codificarse como pares llave-valor del objeto «vars»." + +#: utils/adt/jsonpath_exec.c:3493 #, c-format msgid "jsonpath array subscript is not a single numeric value" msgstr "el subíndice de array jsonpath no es un único valor numérico" -#: utils/adt/jsonpath_exec.c:2420 +#: utils/adt/jsonpath_exec.c:3505 #, c-format msgid "jsonpath array subscript is out of integer range" msgstr "subíndice de array jsonpath fuera del rango entero" -#: utils/adt/jsonpath_exec.c:2597 +#: utils/adt/jsonpath_exec.c:3689 #, c-format msgid "cannot convert value from %s to %s without time zone usage" msgstr "no se puede convertir el valor de %s a %s sin uso de huso horario" -#: utils/adt/jsonpath_exec.c:2599 +#: utils/adt/jsonpath_exec.c:3691 #, c-format msgid "Use *_tz() function for time zone support." msgstr "Utilice una función *_tz() para el soporte de huso horario." +#: utils/adt/jsonpath_exec.c:3985 +#, c-format +msgid "JSON path expression for column \"%s\" should return single item without wrapper" +msgstr "" + +#: utils/adt/jsonpath_exec.c:3987 utils/adt/jsonpath_exec.c:3992 +#, c-format +msgid "Use WITH WRAPPER clause to wrap SQL/JSON items into array." +msgstr "" + +#: utils/adt/jsonpath_exec.c:3991 +#, c-format +msgid "JSON path expression in JSON_QUERY should return single item without wrapper" +msgstr "" + +#: utils/adt/jsonpath_exec.c:4049 utils/adt/jsonpath_exec.c:4073 +#, c-format +msgid "JSON path expression for column \"%s\" should return single scalar item" +msgstr "" + +#: utils/adt/jsonpath_exec.c:4054 utils/adt/jsonpath_exec.c:4078 +#, c-format +msgid "JSON path expression in JSON_VALUE should return single scalar item" +msgstr "" + #: utils/adt/levenshtein.c:132 #, c-format msgid "levenshtein argument exceeds maximum length of %d characters" msgstr "el argumento levenshtein excede el largo máximo de %d caracteres" -#: utils/adt/like.c:161 +#: utils/adt/like.c:159 #, c-format msgid "nondeterministic collations are not supported for LIKE" msgstr "los ordenamientos no determinísticos no están soportados para LIKE" -#: utils/adt/like.c:190 utils/adt/like_support.c:1024 +#: utils/adt/like.c:188 utils/adt/like_support.c:1023 #, c-format msgid "could not determine which collation to use for ILIKE" msgstr "no se pudo determinar qué ordenamiento (collation) usar para ILIKE" -#: utils/adt/like.c:202 +#: utils/adt/like.c:200 #, c-format msgid "nondeterministic collations are not supported for ILIKE" msgstr "los ordenamientos no determinísticos no están soportados para ILIKE" @@ -24922,22 +25868,22 @@ msgstr "los ordenamientos no determinísticos no están soportados para ILIKE" msgid "LIKE pattern must not end with escape character" msgstr "el patrón de LIKE debe no terminar con un carácter de escape" -#: utils/adt/like_match.c:293 utils/adt/regexp.c:801 +#: utils/adt/like_match.c:293 utils/adt/regexp.c:800 #, c-format msgid "invalid escape string" msgstr "cadena de escape no válida" -#: utils/adt/like_match.c:294 utils/adt/regexp.c:802 +#: utils/adt/like_match.c:294 utils/adt/regexp.c:801 #, c-format msgid "Escape string must be empty or one character." msgstr "La cadena de escape debe ser vacía o un carácter." -#: utils/adt/like_support.c:1014 +#: utils/adt/like_support.c:1013 #, c-format msgid "case insensitive matching not supported on type bytea" msgstr "no está soportada la comparación insensible a mayúsculas en bytea" -#: utils/adt/like_support.c:1115 +#: utils/adt/like_support.c:1114 #, c-format msgid "regular-expression matching not supported on type bytea" msgstr "no está soportada la comparación con expresiones regulares en bytea" @@ -24947,17 +25893,17 @@ msgstr "no está soportada la comparación con expresiones regulares en bytea" msgid "invalid octet value in \"macaddr\" value: \"%s\"" msgstr "valor de octeto no válido en valor «macaddr»: «%s»" -#: utils/adt/mac8.c:554 +#: utils/adt/mac8.c:555 #, c-format msgid "macaddr8 data out of range to convert to macaddr" msgstr "datos macaddr8 fuera de rango para convertir a macaddr" -#: utils/adt/mac8.c:555 +#: utils/adt/mac8.c:556 #, c-format msgid "Only addresses that have FF and FE as values in the 4th and 5th bytes from the left, for example xx:xx:xx:ff:fe:xx:xx:xx, are eligible to be converted from macaddr8 to macaddr." msgstr "Sólo las direcciones que tienen FF y FF como valores en el cuarto y quinto bytes desde la izquierda, por ejemplo xx:xx:xx:ff:fe:xx:xx:xx se pueden convertir de macaddr8 a macaddr." -#: utils/adt/mcxtfuncs.c:182 +#: utils/adt/mcxtfuncs.c:173 #, c-format msgid "PID %d is not a PostgreSQL server process" msgstr "PID %d no es un proceso servidor de PostgreSQL" @@ -24996,70 +25942,70 @@ msgstr "puede ser una etiqueta sola" msgid "requires AS" msgstr "requiere AS" -#: utils/adt/misc.c:853 utils/adt/misc.c:867 utils/adt/misc.c:906 -#: utils/adt/misc.c:912 utils/adt/misc.c:918 utils/adt/misc.c:941 +#: utils/adt/misc.c:897 utils/adt/misc.c:911 utils/adt/misc.c:950 +#: utils/adt/misc.c:956 utils/adt/misc.c:962 utils/adt/misc.c:985 #, c-format msgid "string is not a valid identifier: \"%s\"" msgstr "la cadena no es un identificador válido: «%s»" -#: utils/adt/misc.c:855 +#: utils/adt/misc.c:899 #, c-format msgid "String has unclosed double quotes." msgstr "La cadena tiene comillas dobles sin cerrar." -#: utils/adt/misc.c:869 +#: utils/adt/misc.c:913 #, c-format msgid "Quoted identifier must not be empty." msgstr "El identificador en comillas no debe ser vacío." -#: utils/adt/misc.c:908 +#: utils/adt/misc.c:952 #, c-format msgid "No valid identifier before \".\"." msgstr "No hay un identificador válido antes de «.»." -#: utils/adt/misc.c:914 +#: utils/adt/misc.c:958 #, c-format msgid "No valid identifier after \".\"." msgstr "No hay un identificador válido después de «.»." -#: utils/adt/misc.c:974 +#: utils/adt/misc.c:1018 #, c-format msgid "log format \"%s\" is not supported" msgstr "el formato de log «%s» no está soportado" -#: utils/adt/misc.c:975 +#: utils/adt/misc.c:1019 #, c-format msgid "The supported log formats are \"stderr\", \"csvlog\", and \"jsonlog\"." -msgstr "" +msgstr "Los formatos de log soportados son «stderr», «csvlog» y «jsonlog»." -#: utils/adt/multirangetypes.c:151 utils/adt/multirangetypes.c:164 -#: utils/adt/multirangetypes.c:193 utils/adt/multirangetypes.c:267 -#: utils/adt/multirangetypes.c:291 +#: utils/adt/multirangetypes.c:150 utils/adt/multirangetypes.c:163 +#: utils/adt/multirangetypes.c:192 utils/adt/multirangetypes.c:266 +#: utils/adt/multirangetypes.c:290 #, c-format msgid "malformed multirange literal: \"%s\"" msgstr "literal de multirango mal formado: «%s»" -#: utils/adt/multirangetypes.c:153 +#: utils/adt/multirangetypes.c:152 #, c-format msgid "Missing left brace." msgstr "Falta llave izquierda." -#: utils/adt/multirangetypes.c:195 +#: utils/adt/multirangetypes.c:194 #, c-format msgid "Expected range start." msgstr "Se esperaba inicio de rango." -#: utils/adt/multirangetypes.c:269 +#: utils/adt/multirangetypes.c:268 #, c-format msgid "Expected comma or end of multirange." msgstr "Se esperaba una coma o el final del multirango." -#: utils/adt/multirangetypes.c:982 +#: utils/adt/multirangetypes.c:981 #, 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:1008 +#: utils/adt/multirangetypes.c:1007 #, c-format msgid "multirange values cannot contain null members" msgstr "valores de multirango no pueden contener miembros nulos" @@ -25138,113 +26084,138 @@ msgstr "el resultado está fuera de rango" msgid "cannot subtract inet values of different sizes" msgstr "no se puede sustraer valores inet de distintos tamaños" -#: utils/adt/numeric.c:785 utils/adt/numeric.c:3643 utils/adt/numeric.c:7131 -#: utils/adt/numeric.c:7334 utils/adt/numeric.c:7806 utils/adt/numeric.c:10501 -#: utils/adt/numeric.c:10975 utils/adt/numeric.c:11069 -#: utils/adt/numeric.c:11203 +#: 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 #, c-format msgid "value overflows numeric format" msgstr "el valor excede el formato numeric" -#: utils/adt/numeric.c:1098 +#: utils/adt/numeric.c:1106 #, c-format msgid "invalid sign in external \"numeric\" value" msgstr "el signo no es válido en el valor «numeric» externo" -#: utils/adt/numeric.c:1104 +#: utils/adt/numeric.c:1112 #, c-format msgid "invalid scale in external \"numeric\" value" msgstr "la escala no es válida en el valor «numeric» externo" -#: utils/adt/numeric.c:1113 +#: utils/adt/numeric.c:1121 #, c-format msgid "invalid digit in external \"numeric\" value" msgstr "hay un dígito no válido en el valor «numeric» externo" -#: utils/adt/numeric.c:1328 utils/adt/numeric.c:1342 +#: utils/adt/numeric.c:1336 utils/adt/numeric.c:1350 #, c-format msgid "NUMERIC precision %d must be between 1 and %d" msgstr "la precisión %d de NUMERIC debe estar entre 1 y %d" -#: utils/adt/numeric.c:1333 -#, fuzzy, c-format -#| msgid "NUMERIC precision %d must be between 1 and %d" +#: utils/adt/numeric.c:1341 +#, c-format msgid "NUMERIC scale %d must be between %d and %d" -msgstr "la precisión %d de NUMERIC debe estar entre 1 y %d" +msgstr "escala NUMERIC %d debe estar entre %d y %d" -#: utils/adt/numeric.c:1351 +#: utils/adt/numeric.c:1359 #, c-format msgid "invalid NUMERIC type modifier" msgstr "modificador de tipo NUMERIC no es válido" -#: utils/adt/numeric.c:1709 +#: utils/adt/numeric.c:1725 #, c-format msgid "start value cannot be NaN" msgstr "el valor de inicio no puede ser NaN" -#: utils/adt/numeric.c:1713 +#: utils/adt/numeric.c:1729 #, c-format msgid "start value cannot be infinity" msgstr "el valor de inicio no puede ser infinito" -#: utils/adt/numeric.c:1720 +#: utils/adt/numeric.c:1736 #, c-format msgid "stop value cannot be NaN" msgstr "el valor de término no puede ser NaN" -#: utils/adt/numeric.c:1724 +#: utils/adt/numeric.c:1740 #, c-format msgid "stop value cannot be infinity" msgstr "el valor de término no puede ser infinito" -#: utils/adt/numeric.c:1737 +#: utils/adt/numeric.c:1753 #, c-format msgid "step size cannot be NaN" msgstr "el tamaño de paso no puede ser NaN" -#: utils/adt/numeric.c:1741 +#: utils/adt/numeric.c:1757 #, c-format msgid "step size cannot be infinity" msgstr "el tamaño de paso no puede ser infinito" -#: utils/adt/numeric.c:3633 +#: utils/adt/numeric.c:3649 #, c-format msgid "factorial of a negative number is undefined" msgstr "el factorial de un número negativo es indefinido" -#: utils/adt/numeric.c:4366 utils/adt/numeric.c:4446 utils/adt/numeric.c:4487 -#: utils/adt/numeric.c:4683 +#: utils/adt/numeric.c:4256 +#, fuzzy, c-format +msgid "lower bound cannot be NaN" +msgstr "el valor de término no puede ser NaN" + +#: utils/adt/numeric.c:4260 +#, fuzzy, c-format +msgid "lower bound cannot be infinity" +msgstr "el valor de término no puede ser infinito" + +#: utils/adt/numeric.c:4267 +#, fuzzy, c-format +msgid "upper bound cannot be NaN" +msgstr "el valor de término no puede ser NaN" + +#: utils/adt/numeric.c:4271 +#, fuzzy, c-format +msgid "upper bound cannot be infinity" +msgstr "el valor de término no puede ser infinito" + +#: utils/adt/numeric.c:4432 utils/adt/numeric.c:4520 utils/adt/numeric.c:4580 +#: utils/adt/numeric.c:4776 #, c-format msgid "cannot convert NaN to %s" msgstr "no se puede convertir NaN a %s" -#: utils/adt/numeric.c:4370 utils/adt/numeric.c:4450 utils/adt/numeric.c:4491 -#: utils/adt/numeric.c:4687 +#: utils/adt/numeric.c:4436 utils/adt/numeric.c:4524 utils/adt/numeric.c:4584 +#: utils/adt/numeric.c:4780 #, c-format msgid "cannot convert infinity to %s" msgstr "no se puede convertir infinito a %s" -#: utils/adt/numeric.c:4696 +#: utils/adt/numeric.c:4789 #, c-format msgid "pg_lsn out of range" msgstr "pg_lsn fuera de rango" -#: utils/adt/numeric.c:7896 utils/adt/numeric.c:7947 +#: utils/adt/numeric.c:7981 utils/adt/numeric.c:8032 #, c-format msgid "numeric field overflow" msgstr "desbordamiento de campo numeric" -#: utils/adt/numeric.c:7897 +#: utils/adt/numeric.c:7982 #, c-format msgid "A field with precision %d, scale %d must round to an absolute value less than %s%d." msgstr "Un campo con precisión %d, escala %d debe redondear a un valor absoluto menor que %s%d." -#: utils/adt/numeric.c:7948 +#: utils/adt/numeric.c:8033 #, c-format msgid "A field with precision %d, scale %d cannot hold an infinite value." msgstr "Un campo con precisión %d, escala %d no puede contener un valor infinito." -#: utils/adt/oid.c:216 +#: utils/adt/numeric.c:11359 utils/adt/pseudorandomfuncs.c:135 +#: utils/adt/pseudorandomfuncs.c:159 +#, fuzzy, c-format +msgid "lower bound must be less than or equal to upper bound" +msgstr "el límite inferior del rango debe ser menor o igual al límite superior del rango" + +#: utils/adt/oid.c:217 #, c-format msgid "invalid oidvector data" msgstr "datos de oidvector no válidos" @@ -25255,10 +26226,9 @@ msgid "requested character too large" msgstr "el carácter solicitado es demasiado grande" #: utils/adt/oracle_compat.c:1020 -#, fuzzy, c-format -#| msgid "host name must be specified" +#, c-format msgid "character number must be positive" -msgstr "el nombre de servidor debe ser especificado" +msgstr "el número de carácter debe ser positivo" #: utils/adt/oracle_compat.c:1024 #, c-format @@ -25266,322 +26236,321 @@ msgid "null character not permitted" msgstr "el carácter nulo no está permitido" #: utils/adt/oracle_compat.c:1042 utils/adt/oracle_compat.c:1095 -#, fuzzy, c-format -#| msgid "requested character too large" +#, c-format msgid "requested character too large for encoding: %u" -msgstr "el carácter solicitado es demasiado grande" +msgstr "el carácter pedido es demasiado largo para el encoding: %u" #: utils/adt/oracle_compat.c:1083 -#, fuzzy, c-format -#| msgid "requested character too large" +#, c-format msgid "requested character not valid for encoding: %u" -msgstr "el carácter solicitado es demasiado grande" +msgstr "el carácter pedido no es válido para el encoding: %u" -#: utils/adt/orderedsetaggs.c:448 utils/adt/orderedsetaggs.c:553 -#: utils/adt/orderedsetaggs.c:693 +#: utils/adt/orderedsetaggs.c:446 utils/adt/orderedsetaggs.c:551 +#: utils/adt/orderedsetaggs.c:691 #, c-format 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:1406 -#, fuzzy, c-format -#| msgid "could not open collator for locale \"%s\": %s" +#: utils/adt/pg_locale.c:1484 +#, 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»: %s" +msgstr "no se pudo abrir el «collator» para la configuración regional «%s» con reglas «%s»: %s" -#: utils/adt/pg_locale.c:1417 utils/adt/pg_locale.c:2847 -#: utils/adt/pg_locale.c:2919 +#: utils/adt/pg_locale.c:1495 utils/adt/pg_locale.c:2969 +#: utils/adt/pg_locale.c:3042 #, c-format msgid "ICU is not supported in this build" msgstr "ICU no está soportado en este servidor" -#: utils/adt/pg_locale.c:1446 +#: utils/adt/pg_locale.c:1523 #, 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:1449 +#: utils/adt/pg_locale.c:1526 #, 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:1564 +#: utils/adt/pg_locale.c:1647 #, 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:1573 +#: utils/adt/pg_locale.c:1694 #, c-format -msgid "collation provider LIBC is not supported on this platform" -msgstr "el proveedor de ordenamientos LIBC no está soportado en esta plataforma" - -#: utils/adt/pg_locale.c:1614 -#, fuzzy, c-format -#| msgid "extension \"%s\" has no update path from version \"%s\" to version \"%s\"" msgid "collation \"%s\" has no actual version, but a version was recorded" -msgstr "la extensión «%s» no tiene ruta de actualización desde la versión «%s» hasta la versión «%s»" +msgstr "la “collation” «%s» no tiene versión actual, pero una versión fue registrada" -#: utils/adt/pg_locale.c:1620 +#: utils/adt/pg_locale.c:1700 #, c-format msgid "collation \"%s\" has version mismatch" msgstr "el ordenamiento (collation) «%s» tiene una discordancia de versión" -#: utils/adt/pg_locale.c:1622 +#: utils/adt/pg_locale.c:1702 #, 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:1625 +#: utils/adt/pg_locale.c:1705 #, 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:1691 +#: utils/adt/pg_locale.c:1749 utils/adt/pg_locale.c:2533 +#: utils/adt/pg_locale.c:2558 +#, 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:1791 #, c-format msgid "could not load locale \"%s\"" msgstr "no se pudo cargar la configuración regional «%s»" -#: utils/adt/pg_locale.c:1716 +#: utils/adt/pg_locale.c:1816 #, 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:1772 utils/adt/pg_locale.c:1785 +#: utils/adt/pg_locale.c:1872 utils/adt/pg_locale.c:1885 #, 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:1799 +#: utils/adt/pg_locale.c:1897 #, c-format msgid "could not compare Unicode strings: %m" msgstr "no se pudieron comparar las cadenas Unicode: %m" -#: utils/adt/pg_locale.c:1980 +#: utils/adt/pg_locale.c:2071 #, c-format msgid "collation failed: %s" msgstr "el ordenamiento falló: %s" -#: utils/adt/pg_locale.c:2201 utils/adt/pg_locale.c:2233 +#: utils/adt/pg_locale.c:2290 utils/adt/pg_locale.c:2322 #, c-format msgid "sort key generation failed: %s" msgstr "la generación de la llave de ordenamiento falló: %s" -#: utils/adt/pg_locale.c:2474 utils/adt/pg_locale.c:2798 +#: utils/adt/pg_locale.c:2612 #, 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:2495 utils/adt/pg_locale.c:2511 +#: utils/adt/pg_locale.c:2633 utils/adt/pg_locale.c:2649 #, 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:2536 +#: utils/adt/pg_locale.c:2674 #, c-format msgid "encoding \"%s\" not supported by ICU" msgstr "la codificación «%s» no estæ soportada por ICU" -#: utils/adt/pg_locale.c:2543 +#: utils/adt/pg_locale.c:2681 #, 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:2561 utils/adt/pg_locale.c:2580 -#: utils/adt/pg_locale.c:2636 utils/adt/pg_locale.c:2647 +#: utils/adt/pg_locale.c:2699 utils/adt/pg_locale.c:2718 +#: utils/adt/pg_locale.c:2774 utils/adt/pg_locale.c:2785 #, c-format msgid "%s failed: %s" msgstr "%s falló: %s" -#: utils/adt/pg_locale.c:2838 +#: utils/adt/pg_locale.c:2960 #, 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:2879 -#, fuzzy, c-format -#| msgid "could not get language from locale \"%s\": %s" +#: utils/adt/pg_locale.c:3001 +#, c-format msgid "could not get language from ICU locale \"%s\": %s" -msgstr "no se pudo el lenguaje de la configuración regional «%s»: %s" +msgstr "no se pudo obtener el lenguaje de la configuración regional ICU «%s»: %s" -#: utils/adt/pg_locale.c:2881 utils/adt/pg_locale.c:2910 +#: utils/adt/pg_locale.c:3003 utils/adt/pg_locale.c:3032 #, c-format -msgid "To disable ICU locale validation, set parameter icu_validation_level to DISABLED." -msgstr "" +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:2908 -#, fuzzy, c-format -#| msgid "locale \"%s\" has unknown language \"%s\"" +#: utils/adt/pg_locale.c:3030 +#, c-format msgid "ICU locale \"%s\" has unknown language \"%s\"" -msgstr "la configuración regional «%s» tiene lenguaje «%s» desconocido" +msgstr "el locale ICU «%s» tiene lenguaje desconocido «%s»" -#: utils/adt/pg_locale.c:3088 +#: utils/adt/pg_locale.c:3181 #, 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:3089 +#: utils/adt/pg_locale.c:3182 #, 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." -#: utils/adt/pg_lsn.c:263 +#: utils/adt/pg_lsn.c:262 #, c-format msgid "cannot add NaN to pg_lsn" msgstr "no se puede sumar NaN a bigint" -#: utils/adt/pg_lsn.c:297 +#: utils/adt/pg_lsn.c:296 #, c-format msgid "cannot subtract NaN from pg_lsn" msgstr "no se puede restar NaN de pg_lsn" -#: utils/adt/pg_upgrade_support.c:29 +#: utils/adt/pg_upgrade_support.c:39 #, c-format msgid "function can only be called when server is in binary upgrade mode" msgstr "la función sólo puede invocarse cuando el servidor está en modo de actualización binaria" -#: utils/adt/pgstatfuncs.c:253 +#: utils/adt/pgstatfuncs.c:252 #, c-format msgid "invalid command name: \"%s\"" msgstr "nombre de orden no válido: «%s»" -#: utils/adt/pgstatfuncs.c:1773 +#: utils/adt/pgstatfuncs.c:1739 #, c-format msgid "unrecognized reset target: \"%s\"" msgstr "destino de reset no reconocido: «%s»" -#: utils/adt/pgstatfuncs.c:1774 +#: utils/adt/pgstatfuncs.c:1740 #, c-format -msgid "Target must be \"archiver\", \"bgwriter\", \"io\", \"recovery_prefetch\", or \"wal\"." +msgid "Target must be \"archiver\", \"bgwriter\", \"checkpointer\", \"io\", \"recovery_prefetch\", \"slru\", or \"wal\"." msgstr "" -#: utils/adt/pgstatfuncs.c:1852 -#, fuzzy, c-format -#| msgid "invalid role OID: %u" +#: utils/adt/pgstatfuncs.c:1822 +#, c-format msgid "invalid subscription OID %u" -msgstr "el OID de rol no es válido: %u" +msgstr "OID de suscripción %u no válido" + +#: utils/adt/pseudorandomfuncs.c:69 +#, c-format +msgid "setseed parameter %g is out of allowed range [-1,1]" +msgstr "parámetro setseed %g fuera del rango permitido [-1,1]" -#: utils/adt/pseudotypes.c:58 utils/adt/pseudotypes.c:92 +#: utils/adt/pseudotypes.c:55 utils/adt/pseudotypes.c:89 #, c-format msgid "cannot display a value of type %s" msgstr "no se puede desplegar un valor de tipo %s" -#: utils/adt/pseudotypes.c:310 +#: utils/adt/pseudotypes.c:307 #, c-format msgid "cannot accept a value of a shell type" msgstr "no se puede aceptar un valor de un tipo inconcluso" -#: utils/adt/pseudotypes.c:320 +#: utils/adt/pseudotypes.c:317 #, c-format msgid "cannot display a value of a shell type" msgstr "no se puede desplegar un valor de un tipo inconcluso" -#: utils/adt/rangetypes.c:415 +#: utils/adt/rangetypes.c:422 #, c-format msgid "range constructor flags argument must not be null" msgstr "el argumento de opciones del constructor de rango no debe ser null" -#: utils/adt/rangetypes.c:1014 +#: utils/adt/rangetypes.c:1021 #, c-format msgid "result of range difference would not be contiguous" msgstr "el resultado de la diferencia de rangos no sería contiguo" -#: utils/adt/rangetypes.c:1075 +#: utils/adt/rangetypes.c:1082 #, c-format msgid "result of range union would not be contiguous" msgstr "el resultado de la unión de rangos no sería contiguo" -#: utils/adt/rangetypes.c:1750 +#: utils/adt/rangetypes.c:1757 #, c-format msgid "range lower bound must be less than or equal to range upper bound" msgstr "el límite inferior del rango debe ser menor o igual al límite superior del rango" -#: utils/adt/rangetypes.c:2197 utils/adt/rangetypes.c:2210 -#: utils/adt/rangetypes.c:2224 +#: utils/adt/rangetypes.c:2256 utils/adt/rangetypes.c:2269 +#: utils/adt/rangetypes.c:2283 #, c-format msgid "invalid range bound flags" msgstr "opciones de bordes de rango no válidas" -#: utils/adt/rangetypes.c:2198 utils/adt/rangetypes.c:2211 -#: utils/adt/rangetypes.c:2225 +#: utils/adt/rangetypes.c:2257 utils/adt/rangetypes.c:2270 +#: utils/adt/rangetypes.c:2284 #, c-format msgid "Valid values are \"[]\", \"[)\", \"(]\", and \"()\"." msgstr "Los valores aceptables son «[]», «[)», «(]» y «()»." -#: utils/adt/rangetypes.c:2293 utils/adt/rangetypes.c:2310 -#: utils/adt/rangetypes.c:2325 utils/adt/rangetypes.c:2345 -#: utils/adt/rangetypes.c:2356 utils/adt/rangetypes.c:2403 -#: utils/adt/rangetypes.c:2411 +#: utils/adt/rangetypes.c:2352 utils/adt/rangetypes.c:2369 +#: utils/adt/rangetypes.c:2384 utils/adt/rangetypes.c:2404 +#: utils/adt/rangetypes.c:2415 utils/adt/rangetypes.c:2462 +#: utils/adt/rangetypes.c:2470 #, c-format msgid "malformed range literal: \"%s\"" msgstr "literal de rango mal formado: «%s»" -#: utils/adt/rangetypes.c:2295 +#: utils/adt/rangetypes.c:2354 #, c-format msgid "Junk after \"empty\" key word." msgstr "Basura a continuación de la palabra «empty»." -#: utils/adt/rangetypes.c:2312 +#: utils/adt/rangetypes.c:2371 #, c-format msgid "Missing left parenthesis or bracket." msgstr "Falta paréntesis o corchete izquierdo." -#: utils/adt/rangetypes.c:2327 +#: utils/adt/rangetypes.c:2386 #, c-format msgid "Missing comma after lower bound." msgstr "Coma faltante después del límite inferior." -#: utils/adt/rangetypes.c:2347 +#: utils/adt/rangetypes.c:2406 #, c-format msgid "Too many commas." msgstr "Demasiadas comas." -#: utils/adt/rangetypes.c:2358 +#: utils/adt/rangetypes.c:2417 #, c-format msgid "Junk after right parenthesis or bracket." msgstr "Basura después del paréntesis o corchete derecho." -#: utils/adt/regexp.c:305 utils/adt/regexp.c:1997 utils/adt/varlena.c:4270 +#: utils/adt/regexp.c:304 utils/adt/regexp.c:1996 utils/adt/varlena.c:4273 #, c-format msgid "regular expression failed: %s" msgstr "la expresión regular falló: %s" -#: utils/adt/regexp.c:446 utils/adt/regexp.c:681 +#: utils/adt/regexp.c:445 utils/adt/regexp.c:680 #, c-format msgid "invalid regular expression option: \"%.*s\"" msgstr "opción de expresión regular no válida: «%.*s»" -#: utils/adt/regexp.c:683 +#: utils/adt/regexp.c:682 #, c-format msgid "If you meant to use regexp_replace() with a start parameter, cast the fourth argument to integer explicitly." msgstr "Si su intención era usar regexp_replace() con un parámetro de inicio, convierta el cuarto argumento a integer explícitamente." -#: utils/adt/regexp.c:717 utils/adt/regexp.c:726 utils/adt/regexp.c:1083 -#: utils/adt/regexp.c:1147 utils/adt/regexp.c:1156 utils/adt/regexp.c:1165 -#: utils/adt/regexp.c:1174 utils/adt/regexp.c:1854 utils/adt/regexp.c:1863 -#: utils/adt/regexp.c:1872 utils/misc/guc.c:6610 utils/misc/guc.c:6644 +#: 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:6776 utils/misc/guc.c:6810 #, c-format msgid "invalid value for parameter \"%s\": %d" msgstr "valor no válido para el parámetro «%s»: %d" -#: utils/adt/regexp.c:937 +#: utils/adt/regexp.c:936 #, c-format msgid "SQL regular expression may not contain more than two escape-double-quote separators" msgstr "la expresión regular SQL no puede contener más de dos separadores escape-comilla doble" #. translator: %s is a SQL function name -#: utils/adt/regexp.c:1094 utils/adt/regexp.c:1185 utils/adt/regexp.c:1272 -#: utils/adt/regexp.c:1311 utils/adt/regexp.c:1699 utils/adt/regexp.c:1754 -#: utils/adt/regexp.c:1883 +#: 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 #, c-format msgid "%s does not support the \"global\" option" msgstr "%s no soporta la opción «global»" -#: utils/adt/regexp.c:1313 +#: utils/adt/regexp.c:1312 #, c-format msgid "Use the regexp_matches function instead." msgstr "En su lugar, utilice la función regexp_matches." -#: utils/adt/regexp.c:1501 +#: utils/adt/regexp.c:1500 #, c-format msgid "too many regular expression matches" msgstr "demasiadas coincidencias de la expresión regular" @@ -25596,18 +26565,18 @@ msgstr "existe más de una función llamada «%s»" msgid "more than one operator named %s" msgstr "existe más de un operador llamado %s" -#: utils/adt/regproc.c:670 gram.y:8844 +#: utils/adt/regproc.c:670 gram.y:9037 #, c-format msgid "missing argument" msgstr "falta un argumento" -#: utils/adt/regproc.c:671 gram.y:8845 +#: utils/adt/regproc.c:671 gram.y:9038 #, c-format msgid "Use NONE to denote the missing argument of a unary operator." msgstr "Use NONE para denotar el argumento faltante de un operador unario." -#: utils/adt/regproc.c:675 utils/adt/regproc.c:2009 utils/adt/ruleutils.c:10013 -#: utils/adt/ruleutils.c:10226 +#: utils/adt/regproc.c:675 utils/adt/regproc.c:2029 utils/adt/ruleutils.c:10424 +#: utils/adt/ruleutils.c:10637 #, c-format msgid "too many arguments" msgstr "demasiados argumentos" @@ -25617,296 +26586,319 @@ msgstr "demasiados argumentos" msgid "Provide two argument types for operator." msgstr "Provea dos tipos de argumento para un operador." -#: utils/adt/regproc.c:1544 utils/adt/regproc.c:1661 utils/adt/regproc.c:1790 -#: utils/adt/regproc.c:1795 utils/adt/varlena.c:3410 utils/adt/varlena.c:3415 +#: utils/adt/regproc.c:1564 utils/adt/regproc.c:1681 utils/adt/regproc.c:1810 +#: utils/adt/regproc.c:1815 utils/adt/varlena.c:3413 utils/adt/varlena.c:3418 #, c-format msgid "invalid name syntax" msgstr "la sintaxis de nombre no es válida" -#: utils/adt/regproc.c:1904 +#: utils/adt/regproc.c:1924 #, c-format msgid "expected a left parenthesis" msgstr "se esperaba un paréntesis izquierdo" -#: utils/adt/regproc.c:1922 +#: utils/adt/regproc.c:1942 #, c-format msgid "expected a right parenthesis" msgstr "se esperaba un paréntesis derecho" -#: utils/adt/regproc.c:1941 +#: utils/adt/regproc.c:1961 #, c-format msgid "expected a type name" msgstr "se esperaba un nombre de tipo" -#: utils/adt/regproc.c:1973 +#: utils/adt/regproc.c:1993 #, c-format msgid "improper type name" msgstr "el nombre de tipo no es válido" -#: utils/adt/ri_triggers.c:306 utils/adt/ri_triggers.c:1625 -#: utils/adt/ri_triggers.c:2610 +#: utils/adt/ri_triggers.c:303 utils/adt/ri_triggers.c:1616 +#: utils/adt/ri_triggers.c:2601 #, c-format msgid "insert or update on table \"%s\" violates foreign key constraint \"%s\"" msgstr "inserción o actualización en la tabla «%s» viola la llave foránea «%s»" -#: utils/adt/ri_triggers.c:309 utils/adt/ri_triggers.c:1628 +#: utils/adt/ri_triggers.c:306 utils/adt/ri_triggers.c:1619 #, c-format msgid "MATCH FULL does not allow mixing of null and nonnull key values." msgstr "MATCH FULL no permite la mezcla de valores de clave nulos y no nulos." -#: utils/adt/ri_triggers.c:2045 +#: utils/adt/ri_triggers.c:2036 #, c-format msgid "function \"%s\" must be fired for INSERT" msgstr "la función «%s» debe ser ejecutada en INSERT" -#: utils/adt/ri_triggers.c:2051 +#: utils/adt/ri_triggers.c:2042 #, c-format msgid "function \"%s\" must be fired for UPDATE" msgstr "la función «%s» debe ser ejecutada en UPDATE" -#: utils/adt/ri_triggers.c:2057 +#: utils/adt/ri_triggers.c:2048 #, c-format msgid "function \"%s\" must be fired for DELETE" msgstr "la función «%s» debe ser ejecutada en DELETE" -#: utils/adt/ri_triggers.c:2080 +#: utils/adt/ri_triggers.c:2071 #, c-format msgid "no pg_constraint entry for trigger \"%s\" on table \"%s\"" msgstr "no hay una entrada en pg_constraint para el trigger «%s» en tabla «%s»" -#: utils/adt/ri_triggers.c:2082 +#: utils/adt/ri_triggers.c:2073 #, c-format msgid "Remove this referential integrity trigger and its mates, then do ALTER TABLE ADD CONSTRAINT." msgstr "Elimine este trigger de integridad referencial y sus pares, y utilice ALTER TABLE ADD CONSTRAINT." -#: utils/adt/ri_triggers.c:2112 gram.y:4226 +#: utils/adt/ri_triggers.c:2103 gram.y:4392 #, c-format msgid "MATCH PARTIAL not yet implemented" msgstr "MATCH PARTIAL no está implementada" -#: utils/adt/ri_triggers.c:2435 +#: utils/adt/ri_triggers.c:2426 #, c-format msgid "referential integrity query on \"%s\" from constraint \"%s\" on \"%s\" gave unexpected result" msgstr "la consulta de integridad referencial en «%s» de la restricción «%s» en «%s» entregó un resultado inesperado" -#: utils/adt/ri_triggers.c:2439 +#: utils/adt/ri_triggers.c:2430 #, c-format msgid "This is most likely due to a rule having rewritten the query." msgstr "Esto probablemente es causado por una regla que reescribió la consulta." -#: utils/adt/ri_triggers.c:2600 +#: utils/adt/ri_triggers.c:2591 #, c-format msgid "removing partition \"%s\" violates foreign key constraint \"%s\"" msgstr "eliminar la partición «%s» viola la llave foránea «%s»" -#: utils/adt/ri_triggers.c:2603 utils/adt/ri_triggers.c:2628 +#: utils/adt/ri_triggers.c:2594 utils/adt/ri_triggers.c:2619 #, c-format msgid "Key (%s)=(%s) is still referenced from table \"%s\"." msgstr "La llave (%s)=(%s) todavía es referida desde la tabla «%s»." -#: utils/adt/ri_triggers.c:2614 +#: utils/adt/ri_triggers.c:2605 #, c-format msgid "Key (%s)=(%s) is not present in table \"%s\"." msgstr "La llave (%s)=(%s) no está presente en la tabla «%s»." -#: utils/adt/ri_triggers.c:2617 +#: utils/adt/ri_triggers.c:2608 #, c-format msgid "Key is not present in table \"%s\"." msgstr "La llave no está presente en la tabla «%s»." -#: utils/adt/ri_triggers.c:2623 +#: utils/adt/ri_triggers.c:2614 #, c-format msgid "update or delete on table \"%s\" violates foreign key constraint \"%s\" on table \"%s\"" msgstr "update o delete en «%s» viola la llave foránea «%s» en la tabla «%s»" -#: utils/adt/ri_triggers.c:2631 +#: utils/adt/ri_triggers.c:2622 #, c-format msgid "Key is still referenced from table \"%s\"." msgstr "La llave todavía es referida desde la tabla «%s»." -#: utils/adt/rowtypes.c:106 utils/adt/rowtypes.c:510 +#: utils/adt/rowtypes.c:105 utils/adt/rowtypes.c:509 #, c-format msgid "input of anonymous composite types is not implemented" msgstr "el ingreso de tipos compuestos anónimos no está implementado" -#: utils/adt/rowtypes.c:159 utils/adt/rowtypes.c:191 utils/adt/rowtypes.c:217 -#: utils/adt/rowtypes.c:228 utils/adt/rowtypes.c:286 utils/adt/rowtypes.c:297 +#: utils/adt/rowtypes.c:158 utils/adt/rowtypes.c:190 utils/adt/rowtypes.c:216 +#: utils/adt/rowtypes.c:227 utils/adt/rowtypes.c:285 utils/adt/rowtypes.c:296 #, c-format msgid "malformed record literal: \"%s\"" msgstr "literal de record mal formado: «%s»" -#: utils/adt/rowtypes.c:160 +#: utils/adt/rowtypes.c:159 #, c-format msgid "Missing left parenthesis." msgstr "Falta paréntesis izquierdo." -#: utils/adt/rowtypes.c:192 +#: utils/adt/rowtypes.c:191 #, c-format msgid "Too few columns." msgstr "Muy pocas columnas." -#: utils/adt/rowtypes.c:287 +#: utils/adt/rowtypes.c:286 #, c-format msgid "Too many columns." msgstr "Demasiadas columnas." -#: utils/adt/rowtypes.c:298 +#: utils/adt/rowtypes.c:297 #, c-format msgid "Junk after right parenthesis." msgstr "Basura después del paréntesis derecho." -#: utils/adt/rowtypes.c:559 +#: utils/adt/rowtypes.c:558 #, c-format msgid "wrong number of columns: %d, expected %d" msgstr "número de columnas erróneo: %d, se esperaban %d" -#: utils/adt/rowtypes.c:601 +#: utils/adt/rowtypes.c:599 #, c-format msgid "binary data has type %u (%s) instead of expected %u (%s) in record column %d" msgstr "los datos binarios tienen tipo %u (%s) en lugar del esperado %u (%s) en columna de registro %d" -#: utils/adt/rowtypes.c:668 +#: utils/adt/rowtypes.c:660 #, c-format msgid "improper binary format in record column %d" msgstr "formato binario incorrecto en la columna record %d" -#: utils/adt/rowtypes.c:959 utils/adt/rowtypes.c:1205 utils/adt/rowtypes.c:1463 -#: utils/adt/rowtypes.c:1709 +#: utils/adt/rowtypes.c:949 utils/adt/rowtypes.c:1195 utils/adt/rowtypes.c:1453 +#: utils/adt/rowtypes.c:1699 #, c-format msgid "cannot compare dissimilar column types %s and %s at record column %d" msgstr "no se pueden comparar los tipos de columnas disímiles %s y %s en la columna %d" -#: utils/adt/rowtypes.c:1050 utils/adt/rowtypes.c:1275 -#: utils/adt/rowtypes.c:1560 utils/adt/rowtypes.c:1745 +#: utils/adt/rowtypes.c:1040 utils/adt/rowtypes.c:1265 +#: utils/adt/rowtypes.c:1550 utils/adt/rowtypes.c:1735 #, c-format msgid "cannot compare record types with different numbers of columns" msgstr "no se pueden comparar registros con cantidad distinta de columnas" -#: utils/adt/ruleutils.c:2694 -#, fuzzy, c-format -#| msgid "cannot use subquery in index expression" +#: utils/adt/ruleutils.c:2693 +#, c-format msgid "input is a query, not an expression" -msgstr "no se puede usar una subconsulta en una expresión de índice" +msgstr "la entrada es una consulta, no una expresión" -#: utils/adt/ruleutils.c:2706 -#, fuzzy, c-format -#| msgid "USING expression contains a whole-row table reference." +#: utils/adt/ruleutils.c:2705 +#, c-format msgid "expression contains variables of more than one relation" -msgstr "La expresión USING contiene una referencia a la fila completa (whole-row)." +msgstr "la expresión contiene variables de más de una relación" -#: utils/adt/ruleutils.c:2713 -#, fuzzy, c-format -#| msgid "argument of %s must not contain variables" +#: utils/adt/ruleutils.c:2712 +#, c-format msgid "expression contains variables" -msgstr "el argumento de %s no puede contener variables" +msgstr "la expresión contiene variables" -#: utils/adt/ruleutils.c:5227 +#: utils/adt/ruleutils.c:5242 #, c-format msgid "rule \"%s\" has unsupported event type %d" msgstr "la regla «%s» tiene el tipo de evento no soportado %d" -#: utils/adt/timestamp.c:112 +#: utils/adt/timestamp.c:128 #, c-format msgid "TIMESTAMP(%d)%s precision must not be negative" msgstr "la precisión de TIMESTAMP(%d)%s no debe ser negativa" -#: utils/adt/timestamp.c:118 +#: utils/adt/timestamp.c:134 #, c-format msgid "TIMESTAMP(%d)%s precision reduced to maximum allowed, %d" msgstr "la precisión de TIMESTAMP(%d)%s fue reducida al máximo permitido, %d" -#: utils/adt/timestamp.c:378 +#: utils/adt/timestamp.c:394 #, c-format msgid "timestamp(%d) precision must be between %d and %d" msgstr "la precisión de timestamp(%d) debe estar entre %d y %d" -#: utils/adt/timestamp.c:496 +#: utils/adt/timestamp.c:512 #, c-format msgid "Numeric time zones must have \"-\" or \"+\" as first character." msgstr "Los husos horarios numéricos deben tener «-» o «+» como su primer carácter." -#: utils/adt/timestamp.c:508 +#: utils/adt/timestamp.c:524 #, c-format msgid "numeric time zone \"%s\" out of range" msgstr "huso horario numérico «%s» fuera de rango" -#: utils/adt/timestamp.c:609 utils/adt/timestamp.c:619 -#: utils/adt/timestamp.c:627 +#: utils/adt/timestamp.c:625 utils/adt/timestamp.c:635 +#: utils/adt/timestamp.c:643 #, c-format msgid "timestamp out of range: %d-%02d-%02d %d:%02d:%02g" msgstr "timestamp fuera de rango: %d-%02d-%02d %d:%02d:%02g" -#: utils/adt/timestamp.c:728 +#: utils/adt/timestamp.c:744 #, c-format msgid "timestamp cannot be NaN" msgstr "el timestamp no puede ser NaN" -#: utils/adt/timestamp.c:746 utils/adt/timestamp.c:758 +#: utils/adt/timestamp.c:762 utils/adt/timestamp.c:774 #, c-format msgid "timestamp out of range: \"%g\"" msgstr "timestamp fuera de rango: «%g»" -#: utils/adt/timestamp.c:1065 utils/adt/timestamp.c:1098 +#: utils/adt/timestamp.c:957 utils/adt/timestamp.c:1516 +#: utils/adt/timestamp.c:1526 utils/adt/timestamp.c:1587 +#: utils/adt/timestamp.c:2807 utils/adt/timestamp.c:2816 +#: utils/adt/timestamp.c:2831 utils/adt/timestamp.c:2905 +#: utils/adt/timestamp.c:2922 utils/adt/timestamp.c:2979 +#: utils/adt/timestamp.c:3022 utils/adt/timestamp.c:3400 +#: utils/adt/timestamp.c:3458 utils/adt/timestamp.c:3481 +#: utils/adt/timestamp.c:3490 utils/adt/timestamp.c:3514 +#: utils/adt/timestamp.c:3537 utils/adt/timestamp.c:3546 +#: utils/adt/timestamp.c:3681 utils/adt/timestamp.c:3782 +#: utils/adt/timestamp.c:4189 utils/adt/timestamp.c:4226 +#: utils/adt/timestamp.c:4274 utils/adt/timestamp.c:4283 +#: utils/adt/timestamp.c:4375 utils/adt/timestamp.c:4422 +#: utils/adt/timestamp.c:4431 utils/adt/timestamp.c:4527 +#: utils/adt/timestamp.c:4580 utils/adt/timestamp.c:4590 +#: utils/adt/timestamp.c:4785 utils/adt/timestamp.c:4795 +#: utils/adt/timestamp.c:5097 +#, c-format +msgid "interval out of range" +msgstr "interval fuera de rango" + +#: utils/adt/timestamp.c:1094 utils/adt/timestamp.c:1127 #, c-format msgid "invalid INTERVAL type modifier" msgstr "modificador de tipo INTERVAL no válido" -#: utils/adt/timestamp.c:1081 +#: utils/adt/timestamp.c:1110 #, c-format msgid "INTERVAL(%d) precision must not be negative" msgstr "la precisión de INTERVAL(%d) no debe ser negativa" -#: utils/adt/timestamp.c:1087 +#: utils/adt/timestamp.c:1116 #, c-format msgid "INTERVAL(%d) precision reduced to maximum allowed, %d" msgstr "la precisión de INTERVAL(%d) fue reducida al máximo permitido, %d" -#: utils/adt/timestamp.c:1473 +#: utils/adt/timestamp.c:1506 #, c-format msgid "interval(%d) precision must be between %d and %d" msgstr "la precisión de interval(%d) debe estar entre %d y %d" -#: utils/adt/timestamp.c:2703 -#, c-format -msgid "cannot subtract infinite timestamps" -msgstr "no se pueden restar timestamps infinitos" - -#: utils/adt/timestamp.c:3956 utils/adt/timestamp.c:4139 +#: utils/adt/timestamp.c:4564 utils/adt/timestamp.c:4769 #, c-format msgid "origin out of range" msgstr "origen fuera de rango" -#: utils/adt/timestamp.c:3961 utils/adt/timestamp.c:4144 +#: utils/adt/timestamp.c:4569 utils/adt/timestamp.c:4774 +#, fuzzy, c-format +msgid "timestamps cannot be binned into infinite intervals" +msgstr "no se puede aproximar (bin) timestamps hacia intervalos que contengan meses o años" + +#: utils/adt/timestamp.c:4574 utils/adt/timestamp.c:4779 #, c-format msgid "timestamps cannot be binned into intervals containing months or years" msgstr "no se puede aproximar (bin) timestamps hacia intervalos que contengan meses o años" -#: utils/adt/timestamp.c:3968 utils/adt/timestamp.c:4151 +#: utils/adt/timestamp.c:4585 utils/adt/timestamp.c:4790 #, c-format msgid "stride must be greater than zero" msgstr "el intervalo de paso (stride) debe ser mayor que cero" -#: utils/adt/timestamp.c:4434 +#: utils/adt/timestamp.c:5091 #, c-format msgid "Months usually have fractional weeks." -msgstr "" +msgstr "Los meses usualmente tienen semanas fraccionales." + +#: utils/adt/timestamp.c:6551 utils/adt/timestamp.c:6637 +#, fuzzy, c-format +msgid "step size cannot be infinite" +msgstr "el tamaño de paso no puede ser infinito" -#: utils/adt/trigfuncs.c:42 +#: utils/adt/trigfuncs.c:41 #, c-format msgid "suppress_redundant_updates_trigger: must be called as trigger" msgstr "suppress_redundant_updates_trigger: debe ser invocado como trigger" -#: utils/adt/trigfuncs.c:48 +#: utils/adt/trigfuncs.c:47 #, c-format msgid "suppress_redundant_updates_trigger: must be called on update" msgstr "suppress_redundant_updates_trigger: debe ser invocado en «UPDATE»" -#: utils/adt/trigfuncs.c:54 +#: utils/adt/trigfuncs.c:53 #, c-format msgid "suppress_redundant_updates_trigger: must be called before update" msgstr "suppress_redundant_updates_trigger: debe ser invocado «BEFORE UPDATE»" -#: utils/adt/trigfuncs.c:60 +#: utils/adt/trigfuncs.c:59 #, c-format msgid "suppress_redundant_updates_trigger: must be called for each row" msgstr "suppress_redundant_updates_trigger: debe ser invocado «FOR EACH ROW»" @@ -25921,32 +26913,32 @@ msgstr "distancia en operador de frases debe ser un valor entero entre zero y %d msgid "no operand in tsquery: \"%s\"" msgstr "no hay operando en tsquery: «%s»" -#: utils/adt/tsquery.c:558 +#: utils/adt/tsquery.c:554 #, c-format msgid "value is too big in tsquery: \"%s\"" msgstr "el valor es demasiado grande en tsquery: «%s»" -#: utils/adt/tsquery.c:563 +#: utils/adt/tsquery.c:559 #, c-format msgid "operand is too long in tsquery: \"%s\"" msgstr "el operando es muy largo en tsquery: «%s»" -#: utils/adt/tsquery.c:591 +#: utils/adt/tsquery.c:587 #, c-format msgid "word is too long in tsquery: \"%s\"" msgstr "palabra demasiado larga en tsquery: «%s»" -#: utils/adt/tsquery.c:717 utils/adt/tsvector_parser.c:147 +#: utils/adt/tsquery.c:713 utils/adt/tsvector_parser.c:147 #, c-format msgid "syntax error in tsquery: \"%s\"" msgstr "error de sintaxis en tsquery: «%s»" -#: utils/adt/tsquery.c:883 +#: utils/adt/tsquery.c:879 #, c-format msgid "text-search query doesn't contain lexemes: \"%s\"" msgstr "la consulta de búsqueda en texto no contiene lexemas: «%s»" -#: utils/adt/tsquery.c:894 utils/adt/tsquery_util.c:376 +#: utils/adt/tsquery.c:890 utils/adt/tsquery_util.c:376 #, c-format msgid "tsquery is too large" msgstr "el tsquery es demasiado grande" @@ -25981,73 +26973,72 @@ msgstr "los arrays de pesos no deben contener valores nulos" msgid "weight out of range" msgstr "peso fuera de rango" -#: utils/adt/tsvector.c:217 +#: utils/adt/tsvector.c:216 #, c-format msgid "word is too long (%ld bytes, max %ld bytes)" msgstr "la palabra es demasiado larga (%ld, máximo %ld bytes)" -#: utils/adt/tsvector.c:224 +#: utils/adt/tsvector.c:223 #, c-format msgid "string is too long for tsvector (%ld bytes, max %ld bytes)" msgstr "la cadena es demasiado larga para tsvector (%ld bytes, máximo %ld bytes)" -#: utils/adt/tsvector_op.c:773 +#: utils/adt/tsvector_op.c:771 #, c-format msgid "lexeme array may not contain nulls" msgstr "el array de lexemas no debe contener nulls" -#: utils/adt/tsvector_op.c:778 -#, fuzzy, c-format -#| msgid "lexeme array may not contain nulls" +#: utils/adt/tsvector_op.c:776 +#, c-format msgid "lexeme array may not contain empty strings" -msgstr "el array de lexemas no debe contener nulls" +msgstr "el array de lexemas no debe contener cadenas vacías" -#: utils/adt/tsvector_op.c:847 +#: utils/adt/tsvector_op.c:845 #, c-format msgid "weight array may not contain nulls" msgstr "el array de pesos no debe contener nulls" -#: utils/adt/tsvector_op.c:871 +#: utils/adt/tsvector_op.c:869 #, c-format msgid "unrecognized weight: \"%c\"" msgstr "no se reconoce el peso: «%c»" -#: utils/adt/tsvector_op.c:2601 +#: utils/adt/tsvector_op.c:2599 #, c-format msgid "ts_stat query must return one tsvector column" msgstr "la consulta ts_stat debe retornar una columna tsvector" -#: utils/adt/tsvector_op.c:2790 +#: utils/adt/tsvector_op.c:2788 #, c-format msgid "tsvector column \"%s\" does not exist" msgstr "la columna tsvector «%s» no existe" -#: utils/adt/tsvector_op.c:2797 +#: utils/adt/tsvector_op.c:2795 #, c-format msgid "column \"%s\" is not of tsvector type" msgstr "la columna «%s» no es de tipo tsvector" -#: utils/adt/tsvector_op.c:2809 +#: utils/adt/tsvector_op.c:2807 #, c-format msgid "configuration column \"%s\" does not exist" msgstr "la columna de configuración «%s» no existe" -#: utils/adt/tsvector_op.c:2815 +#: utils/adt/tsvector_op.c:2813 #, c-format msgid "column \"%s\" is not of regconfig type" msgstr "la columna «%s» no es de tipo regconfig" -#: utils/adt/tsvector_op.c:2822 +#: utils/adt/tsvector_op.c:2820 #, c-format msgid "configuration column \"%s\" must not be null" msgstr "la columna de configuración «%s» no debe ser nula" -#: utils/adt/tsvector_op.c:2835 +#: utils/adt/tsvector_op.c:2833 #, c-format msgid "text search configuration name \"%s\" must be schema-qualified" msgstr "el nombre de la configuración de búsqueda «%s» debe ser calificada con esquema" -#: utils/adt/tsvector_op.c:2860 +#: utils/adt/tsvector_op.c:2858 #, c-format msgid "column \"%s\" is not of a character type" msgstr "la columna «%s» no es de un tipo textual" @@ -26067,17 +27058,17 @@ msgstr "no hay carácter escapado: «%s»" msgid "wrong position info in tsvector: \"%s\"" msgstr "información posicional incorrecta en tsvector: «%s»" -#: utils/adt/uuid.c:413 +#: utils/adt/uuid.c:418 #, c-format msgid "could not generate random values" msgstr "no se pudo generar valores aleatorios" -#: utils/adt/varbit.c:110 utils/adt/varchar.c:54 +#: utils/adt/varbit.c:110 utils/adt/varchar.c:53 #, c-format msgid "length for type %s must be at least 1" msgstr "el largo para el tipo %s debe ser al menos 1" -#: utils/adt/varbit.c:115 utils/adt/varchar.c:58 +#: utils/adt/varbit.c:115 utils/adt/varchar.c:57 #, c-format msgid "length for type %s cannot exceed %d" msgstr "el largo del tipo %s no puede exceder %d" @@ -26112,9 +27103,9 @@ msgstr "el largo no es válido en cadena de bits externa" msgid "bit string too long for type bit varying(%d)" msgstr "la cadena de bits es demasiado larga para el tipo bit varying(%d)" -#: utils/adt/varbit.c:1081 utils/adt/varbit.c:1191 utils/adt/varlena.c:908 -#: utils/adt/varlena.c:971 utils/adt/varlena.c:1128 utils/adt/varlena.c:3052 -#: utils/adt/varlena.c:3130 +#: utils/adt/varbit.c:1081 utils/adt/varbit.c:1191 utils/adt/varlena.c:911 +#: utils/adt/varlena.c:974 utils/adt/varlena.c:1131 utils/adt/varlena.c:3055 +#: utils/adt/varlena.c:3133 #, c-format msgid "negative substring length not allowed" msgstr "no se permite un largo negativo de subcadena" @@ -26139,334 +27130,342 @@ msgstr "no se puede hacer XOR entre cadenas de bits de distintos tamaños" msgid "bit index %d out of valid range (0..%d)" msgstr "el índice de bit %d está fuera del rango válido (0..%d)" -#: utils/adt/varbit.c:1833 utils/adt/varlena.c:3334 +#: utils/adt/varbit.c:1833 utils/adt/varlena.c:3337 #, c-format msgid "new bit must be 0 or 1" msgstr "el nuevo bit debe ser 0 o 1" -#: utils/adt/varchar.c:162 utils/adt/varchar.c:313 +#: utils/adt/varchar.c:161 utils/adt/varchar.c:312 #, c-format msgid "value too long for type character(%d)" msgstr "el valor es demasiado largo para el tipo character(%d)" -#: utils/adt/varchar.c:476 utils/adt/varchar.c:640 +#: utils/adt/varchar.c:475 utils/adt/varchar.c:639 #, c-format msgid "value too long for type character varying(%d)" msgstr "el valor es demasiado largo para el tipo character varying(%d)" -#: utils/adt/varchar.c:738 utils/adt/varlena.c:1517 +#: utils/adt/varchar.c:737 utils/adt/varlena.c:1520 #, c-format msgid "could not determine which collation to use for string comparison" msgstr "no se pudo determinar qué ordenamiento usar para la comparación de cadenas" -#: utils/adt/varlena.c:1227 utils/adt/varlena.c:1806 +#: utils/adt/varlena.c:1230 utils/adt/varlena.c:1809 #, c-format msgid "nondeterministic collations are not supported for substring searches" msgstr "los ordenamientos no determinísticos no están soportados para búsquedas de sub-cadenas" -#: utils/adt/varlena.c:3218 utils/adt/varlena.c:3285 +#: utils/adt/varlena.c:3221 utils/adt/varlena.c:3288 #, c-format msgid "index %d out of valid range, 0..%d" msgstr "el índice %d está fuera de rango [0..%d]" -#: utils/adt/varlena.c:3249 utils/adt/varlena.c:3321 +#: utils/adt/varlena.c:3252 utils/adt/varlena.c:3324 #, c-format msgid "index %lld out of valid range, 0..%lld" msgstr "el índice %lld está fuera de rango, 0..%lld" -#: utils/adt/varlena.c:4382 +#: utils/adt/varlena.c:4385 #, c-format msgid "field position must not be zero" msgstr "la posición del campo no debe ser cero" -#: utils/adt/varlena.c:5554 +#: utils/adt/varlena.c:5630 #, c-format msgid "unterminated format() type specifier" msgstr "especificador de tipo inconcluso en format()" -#: utils/adt/varlena.c:5555 utils/adt/varlena.c:5689 utils/adt/varlena.c:5810 +#: utils/adt/varlena.c:5631 utils/adt/varlena.c:5765 utils/adt/varlena.c:5886 #, c-format msgid "For a single \"%%\" use \"%%%%\"." msgstr "Para un «%%» solo, use «%%%%»." -#: utils/adt/varlena.c:5687 utils/adt/varlena.c:5808 +#: utils/adt/varlena.c:5763 utils/adt/varlena.c:5884 #, c-format msgid "unrecognized format() type specifier \"%.*s\"" msgstr "especificador de tipo no reconocido «%.*s» en format()" -#: utils/adt/varlena.c:5700 utils/adt/varlena.c:5757 +#: utils/adt/varlena.c:5776 utils/adt/varlena.c:5833 #, c-format msgid "too few arguments for format()" msgstr "muy pocos argumentos para format()" -#: utils/adt/varlena.c:5853 utils/adt/varlena.c:6035 +#: utils/adt/varlena.c:5929 utils/adt/varlena.c:6111 #, c-format msgid "number is out of range" msgstr "el número está fuera de rango" -#: utils/adt/varlena.c:5916 utils/adt/varlena.c:5944 +#: utils/adt/varlena.c:5992 utils/adt/varlena.c:6020 #, c-format msgid "format specifies argument 0, but arguments are numbered from 1" msgstr "la conversión especifica el argumento 0, pero los argumentos se numeran desde 1" -#: utils/adt/varlena.c:5937 +#: utils/adt/varlena.c:6013 #, c-format msgid "width argument position must be ended by \"$\"" msgstr "la posición del argumento de anchura debe terminar con «$»" -#: utils/adt/varlena.c:5982 +#: utils/adt/varlena.c:6058 #, c-format msgid "null values cannot be formatted as an SQL identifier" msgstr "los valores nulos no pueden ser formateados como un identificador SQL" -#: utils/adt/varlena.c:6190 +#: utils/adt/varlena.c:6266 #, c-format msgid "Unicode normalization can only be performed if server encoding is UTF8" msgstr "la normalización Unicode sólo puede ser hecha si la codificación de servidor es UTF8" -#: utils/adt/varlena.c:6203 +#: utils/adt/varlena.c:6279 #, c-format msgid "invalid normalization form: %s" msgstr "forma de normalización no válida: %s" -#: utils/adt/varlena.c:6406 utils/adt/varlena.c:6441 utils/adt/varlena.c:6476 +#: utils/adt/varlena.c:6324 +#, fuzzy, c-format +msgid "Unicode categorization can only be performed if server encoding is UTF8" +msgstr "la normalización Unicode sólo puede ser hecha si la codificación de servidor es UTF8" + +#: utils/adt/varlena.c:6541 utils/adt/varlena.c:6576 utils/adt/varlena.c:6611 #, c-format msgid "invalid Unicode code point: %04X" msgstr "punto de código Unicode no válido: %04X" -#: utils/adt/varlena.c:6506 +#: utils/adt/varlena.c:6641 #, c-format msgid "Unicode escapes must be \\XXXX, \\+XXXXXX, \\uXXXX, or \\UXXXXXXXX." msgstr "Los escapes Unicode deben ser \\XXXX, \\+XXXXXX, \\uXXXX o \\UXXXXXXXX." -#: utils/adt/windowfuncs.c:442 +#: utils/adt/windowfuncs.c:443 #, c-format msgid "argument of ntile must be greater than zero" msgstr "el argumento de ntile debe ser mayor que cero" -#: utils/adt/windowfuncs.c:706 +#: utils/adt/windowfuncs.c:707 #, c-format msgid "argument of nth_value must be greater than zero" msgstr "el argumento de nth_value debe ser mayor que cero" -#: utils/adt/xid8funcs.c:125 +#: utils/adt/xid8funcs.c:124 #, c-format msgid "transaction ID %llu is in the future" -msgstr "" +msgstr "el ID de transacción %llu está en el futuro" -#: utils/adt/xid8funcs.c:547 +#: utils/adt/xid8funcs.c:553 #, c-format msgid "invalid external pg_snapshot data" msgstr "datos externos pg_snapshot no válidos" -#: utils/adt/xml.c:228 +#: utils/adt/xml.c:238 #, c-format msgid "unsupported XML feature" msgstr "característica XML no soportada" -#: utils/adt/xml.c:229 +#: utils/adt/xml.c:239 #, c-format 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:248 utils/mb/mbutils.c:628 +#: utils/adt/xml.c:258 utils/mb/mbutils.c:627 #, c-format msgid "invalid encoding name \"%s\"" msgstr "nombre de codificación «%s» no válido" -#: utils/adt/xml.c:496 utils/adt/xml.c:501 +#: utils/adt/xml.c:506 utils/adt/xml.c:511 #, c-format msgid "invalid XML comment" msgstr "comentario XML no válido" -#: utils/adt/xml.c:660 +#: utils/adt/xml.c:691 #, c-format msgid "not an XML document" msgstr "no es un documento XML" -#: utils/adt/xml.c:956 utils/adt/xml.c:979 +#: utils/adt/xml.c:987 utils/adt/xml.c:1010 #, c-format msgid "invalid XML processing instruction" msgstr "instrucción de procesamiento XML no válida" -#: utils/adt/xml.c:957 +#: utils/adt/xml.c:988 #, c-format msgid "XML processing instruction target name cannot be \"%s\"." msgstr "el nombre de destino de la instrucción de procesamiento XML no puede ser «%s»." -#: utils/adt/xml.c:980 +#: utils/adt/xml.c:1011 #, c-format msgid "XML processing instruction cannot contain \"?>\"." msgstr "la instrucción de procesamiento XML no puede contener «?>»." -#: utils/adt/xml.c:1059 +#: utils/adt/xml.c:1090 #, c-format msgid "xmlvalidate is not implemented" msgstr "xmlvalidate no está implementado" -#: utils/adt/xml.c:1115 +#: utils/adt/xml.c:1146 #, c-format msgid "could not initialize XML library" msgstr "no se pudo inicializar la biblioteca XML" -#: utils/adt/xml.c:1116 +#: utils/adt/xml.c:1147 #, c-format msgid "libxml2 has incompatible char type: sizeof(char)=%zu, sizeof(xmlChar)=%zu." -msgstr "" +msgstr "libxml2 tiene un tipo char incompatible: sizeof(char)=%zu, sizeof(xmlChar)=%zu." -#: utils/adt/xml.c:1202 +#: utils/adt/xml.c:1233 #, c-format msgid "could not set up XML error handler" msgstr "no se pudo instalar un gestor de errores XML" -#: utils/adt/xml.c:1203 +#: utils/adt/xml.c:1234 #, 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 "Esto probablemente indica que la versión de libxml2 en uso no es compatible con los archivos de cabecera libxml2 con los que PostgreSQL fue construido." -#: utils/adt/xml.c:2189 +#: utils/adt/xml.c:2260 msgid "Invalid character value." msgstr "Valor de carácter no válido." -#: utils/adt/xml.c:2192 +#: utils/adt/xml.c:2263 msgid "Space required." msgstr "Se requiere un espacio." -#: utils/adt/xml.c:2195 +#: utils/adt/xml.c:2266 msgid "standalone accepts only 'yes' or 'no'." msgstr "standalone acepta sólo 'yes' y 'no'." -#: utils/adt/xml.c:2198 +#: utils/adt/xml.c:2269 msgid "Malformed declaration: missing version." msgstr "Declaración mal formada: falta la versión." -#: utils/adt/xml.c:2201 +#: utils/adt/xml.c:2272 msgid "Missing encoding in text declaration." msgstr "Falta especificación de codificación en declaración de texto." -#: utils/adt/xml.c:2204 +#: utils/adt/xml.c:2275 msgid "Parsing XML declaration: '?>' expected." msgstr "Procesando declaración XML: se esperaba '?>'." -#: utils/adt/xml.c:2207 +#: utils/adt/xml.c:2278 #, c-format msgid "Unrecognized libxml error code: %d." msgstr "Código de error libxml no reconocido: %d." -#: utils/adt/xml.c:2461 +#: utils/adt/xml.c:2532 #, c-format msgid "XML does not support infinite date values." msgstr "XML no soporta valores infinitos de fecha." -#: utils/adt/xml.c:2483 utils/adt/xml.c:2510 +#: utils/adt/xml.c:2554 utils/adt/xml.c:2581 #, c-format msgid "XML does not support infinite timestamp values." msgstr "XML no soporta valores infinitos de timestamp." -#: utils/adt/xml.c:2926 +#: utils/adt/xml.c:2997 #, c-format msgid "invalid query" msgstr "consulta no válido" -#: utils/adt/xml.c:4266 +#: utils/adt/xml.c:3089 +#, c-format +msgid "portal \"%s\" does not return tuples" +msgstr "el portal «%s» no retorna tuplas" + +#: utils/adt/xml.c:4341 #, c-format msgid "invalid array for XML namespace mapping" msgstr "array no válido para mapeo de espacio de nombres XML" -#: utils/adt/xml.c:4267 +#: utils/adt/xml.c:4342 #, c-format msgid "The array must be two-dimensional with length of the second axis equal to 2." msgstr "El array debe ser bidimensional y el largo del segundo eje igual a 2." -#: utils/adt/xml.c:4291 +#: utils/adt/xml.c:4366 #, c-format msgid "empty XPath expression" msgstr "expresion XPath vacía" -#: utils/adt/xml.c:4343 +#: utils/adt/xml.c:4418 #, c-format msgid "neither namespace name nor URI may be null" msgstr "ni el espacio de nombres ni la URI pueden ser vacíos" -#: utils/adt/xml.c:4350 +#: utils/adt/xml.c:4425 #, c-format msgid "could not register XML namespace with name \"%s\" and URI \"%s\"" msgstr "no se pudo registrar un espacio de nombres XML llamado «%s» con URI «%s»" -#: utils/adt/xml.c:4693 +#: utils/adt/xml.c:4768 #, c-format msgid "DEFAULT namespace is not supported" msgstr "el espacio de nombres DEFAULT no está soportado" -#: utils/adt/xml.c:4722 +#: utils/adt/xml.c:4797 #, c-format msgid "row path filter must not be empty string" msgstr "el «path» de filtro de registros no debe ser la cadena vacía" -#: utils/adt/xml.c:4753 +#: utils/adt/xml.c:4828 #, c-format msgid "column path filter must not be empty string" msgstr "el «path» de filtro de columna no debe ser la cadena vacía" -#: utils/adt/xml.c:4897 +#: utils/adt/xml.c:4972 #, c-format msgid "more than one value returned by column XPath expression" msgstr "la expresión XPath de columna retornó más de un valor" -#: utils/cache/lsyscache.c:1043 +#: utils/cache/lsyscache.c:1017 #, c-format msgid "cast from type %s to type %s does not exist" msgstr "no existe la conversión del tipo %s al tipo %s" -#: utils/cache/lsyscache.c:2845 utils/cache/lsyscache.c:2878 -#: utils/cache/lsyscache.c:2911 utils/cache/lsyscache.c:2944 +#: utils/cache/lsyscache.c:2887 utils/cache/lsyscache.c:2920 +#: utils/cache/lsyscache.c:2953 utils/cache/lsyscache.c:2986 #, c-format msgid "type %s is only a shell" msgstr "el tipo %s está inconcluso" -#: utils/cache/lsyscache.c:2850 +#: utils/cache/lsyscache.c:2892 #, c-format msgid "no input function available for type %s" msgstr "no hay una función de entrada para el tipo %s" -#: utils/cache/lsyscache.c:2883 +#: utils/cache/lsyscache.c:2925 #, c-format msgid "no output function available for type %s" msgstr "no hay una función de salida para el tipo %s" -#: utils/cache/partcache.c:219 +#: utils/cache/partcache.c:216 #, c-format msgid "operator class \"%s\" of access method %s is missing support function %d for type %s" msgstr "falta la función de soporte %3$d para el tipo %4$s de la clase de operadores «%1$s» del método de acceso %2$s" -#: utils/cache/plancache.c:720 +#: utils/cache/plancache.c:747 #, c-format msgid "cached plan must not change result type" msgstr "el plan almacenado no debe cambiar el tipo de resultado" -#: utils/cache/relcache.c:3740 -#, fuzzy, c-format -#| msgid "pg_enum OID value not set when in binary upgrade mode" +#: utils/cache/relcache.c:3800 +#, c-format msgid "heap relfilenumber value not set when in binary upgrade mode" -msgstr "el valor de OID de pg_enum no se definió en modo de actualización binaria" +msgstr "el valor de relfilenumber de heap no se definió en modo de actualización binaria" -#: utils/cache/relcache.c:3748 -#, fuzzy, c-format -#| msgid "must be superuser to connect in binary upgrade mode" +#: utils/cache/relcache.c:3808 +#, c-format msgid "unexpected request for new relfilenumber in binary upgrade mode" -msgstr "debe ser superusuario para conectarse en modo de actualización binaria" +msgstr "petición inesperada de un nuevo relfilenode en modo de actualización binaria" -#: utils/cache/relcache.c:6488 +#: utils/cache/relcache.c:6536 #, 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:6490 +#: utils/cache/relcache.c:6538 #, c-format msgid "Continuing anyway, but there's something wrong." msgstr "Prosiguiendo de todas maneras, pero hay algo mal." -#: utils/cache/relcache.c:6812 +#: utils/cache/relcache.c:6868 #, c-format msgid "could not remove cache file \"%s\": %m" msgstr "no se pudo eliminar el archivo de cache «%s»: %m" @@ -26476,17 +27475,17 @@ msgstr "no se pudo eliminar el archivo de cache «%s»: %m" msgid "cannot PREPARE a transaction that modified relation mapping" msgstr "no se puede hacer PREPARE de una transacción que ha modificado el mapeo de relaciones" -#: utils/cache/relmapper.c:850 +#: utils/cache/relmapper.c:852 #, c-format msgid "relation mapping file \"%s\" contains invalid data" msgstr "el archivo de mapeo de relaciones «%s» contiene datos no válidos" -#: utils/cache/relmapper.c:860 +#: utils/cache/relmapper.c:862 #, c-format msgid "relation mapping file \"%s\" contains incorrect checksum" msgstr "el archivo de mapeo de relaciones «%s» tiene una suma de verificación incorrecta" -#: utils/cache/typcache.c:1803 utils/fmgr/funcapi.c:566 +#: utils/cache/typcache.c:1812 utils/fmgr/funcapi.c:574 #, c-format msgid "record type has not been registered" msgstr "el tipo record no ha sido registrado" @@ -26499,104 +27498,104 @@ msgstr "TRAP: ExceptionalCondition: argumentos erróneos en PID %d\n" #: utils/error/assert.c:40 #, c-format msgid "TRAP: failed Assert(\"%s\"), File: \"%s\", Line: %d, PID: %d\n" -msgstr "" +msgstr "TRAP: falló Assert(«%s»), Archivo «%s», Línea %d, PID %d\n" -#: utils/error/elog.c:416 +#: utils/error/elog.c:415 #, c-format msgid "error occurred before error message processing is available\n" msgstr "ocurrió un error antes de que el procesamiento de errores esté disponible\n" -#: utils/error/elog.c:2092 +#: utils/error/elog.c:2117 #, c-format msgid "could not reopen file \"%s\" as stderr: %m" msgstr "no se pudo reabrir «%s» para error estándar: %m" -#: utils/error/elog.c:2105 +#: utils/error/elog.c:2130 #, c-format msgid "could not reopen file \"%s\" as stdout: %m" msgstr "no se pudo reabrir «%s» para usar como salida estándar: %m" -#: utils/error/elog.c:2141 -#, c-format -msgid "invalid character" +#: utils/error/elog.c:2166 +#, fuzzy, c-format +msgid "Invalid character" msgstr "carácter no válido" -#: utils/error/elog.c:2847 utils/error/elog.c:2874 utils/error/elog.c:2890 +#: utils/error/elog.c:2872 utils/error/elog.c:2899 utils/error/elog.c:2915 msgid "[unknown]" msgstr "[desconocido]" -#: utils/error/elog.c:3163 utils/error/elog.c:3484 utils/error/elog.c:3591 +#: utils/error/elog.c:3185 utils/error/elog.c:3509 utils/error/elog.c:3616 msgid "missing error text" msgstr "falta un texto de mensaje de error" -#: utils/error/elog.c:3166 utils/error/elog.c:3169 +#: utils/error/elog.c:3188 utils/error/elog.c:3191 #, c-format msgid " at character %d" msgstr " en carácter %d" -#: utils/error/elog.c:3179 utils/error/elog.c:3186 +#: utils/error/elog.c:3201 utils/error/elog.c:3208 msgid "DETAIL: " msgstr "DETALLE: " -#: utils/error/elog.c:3193 +#: utils/error/elog.c:3215 msgid "HINT: " msgstr "HINT: " -#: utils/error/elog.c:3200 +#: utils/error/elog.c:3222 msgid "QUERY: " msgstr "CONSULTA: " -#: utils/error/elog.c:3207 +#: utils/error/elog.c:3229 msgid "CONTEXT: " msgstr "CONTEXTO: " -#: utils/error/elog.c:3217 +#: utils/error/elog.c:3239 #, c-format msgid "LOCATION: %s, %s:%d\n" msgstr "UBICACIÓN: %s, %s:%d\n" -#: utils/error/elog.c:3224 +#: utils/error/elog.c:3246 #, c-format msgid "LOCATION: %s:%d\n" msgstr "UBICACIÓN: %s:%d\n" -#: utils/error/elog.c:3231 +#: utils/error/elog.c:3253 msgid "BACKTRACE: " msgstr "BACKTRACE: " -#: utils/error/elog.c:3243 +#: utils/error/elog.c:3265 msgid "STATEMENT: " msgstr "SENTENCIA: " -#: utils/error/elog.c:3636 +#: utils/error/elog.c:3661 msgid "DEBUG" msgstr "DEBUG" -#: utils/error/elog.c:3640 +#: utils/error/elog.c:3665 msgid "LOG" msgstr "LOG" -#: utils/error/elog.c:3643 +#: utils/error/elog.c:3668 msgid "INFO" msgstr "INFO" -#: utils/error/elog.c:3646 +#: utils/error/elog.c:3671 msgid "NOTICE" msgstr "NOTICE" -#: utils/error/elog.c:3650 +#: utils/error/elog.c:3675 msgid "WARNING" msgstr "WARNING" -#: utils/error/elog.c:3653 +#: utils/error/elog.c:3678 msgid "ERROR" msgstr "ERROR" -#: utils/error/elog.c:3656 +#: utils/error/elog.c:3681 msgid "FATAL" msgstr "FATAL" -#: utils/error/elog.c:3659 +#: utils/error/elog.c:3684 msgid "PANIC" msgstr "PANIC" @@ -26631,16 +27630,14 @@ msgid "Server is version %d, library is version %s." msgstr "Versión del servidor %d, versión de biblioteca %s." #: utils/fmgr/dfmgr.c:341 -#, fuzzy, c-format -#| msgid "incompatible library \"%s\": version mismatch" +#, c-format msgid "incompatible library \"%s\": ABI mismatch" -msgstr "biblioteca «%s» incompatible: versión no coincide" +msgstr "biblioteca «%s» incompatible: ABI no coincide" #: utils/fmgr/dfmgr.c:343 -#, fuzzy, c-format -#| msgid "Server has FLOAT8PASSBYVAL = %s, library has %s." +#, c-format msgid "Server has ABI \"%s\", library has \"%s\"." -msgstr "El servidor tiene FLOAT8PASSBYVAL = %s, la librería tiene %s" +msgstr "El servidor tiene ABI «%s», la librería tiene «%s»." #: utils/fmgr/dfmgr.c:361 #, c-format @@ -26671,22 +27668,22 @@ msgstr "El bloque mágico tiene un largo inesperado, o una diferencia de relleno msgid "incompatible library \"%s\": magic block mismatch" msgstr "biblioteca «%s» incompatible: bloque mágico no coincide" -#: utils/fmgr/dfmgr.c:492 +#: utils/fmgr/dfmgr.c:475 #, c-format msgid "access to library \"%s\" is not allowed" msgstr "no está permitido el acceso a la biblioteca «%s»" -#: utils/fmgr/dfmgr.c:518 +#: utils/fmgr/dfmgr.c:501 #, c-format msgid "invalid macro name in dynamic library path: %s" msgstr "el nombre de macro no es válido en la ruta a biblioteca dinámica: %s" -#: utils/fmgr/dfmgr.c:558 +#: utils/fmgr/dfmgr.c:541 #, c-format msgid "zero-length component in parameter \"dynamic_library_path\"" msgstr "se encontró componente de largo cero en el parámetro «dynamic_library_path»" -#: utils/fmgr/dfmgr.c:577 +#: utils/fmgr/dfmgr.c:560 #, c-format msgid "component in parameter \"dynamic_library_path\" is not an absolute path" msgstr "un componente en el parámetro «dynamic_library_path» no es una ruta absoluta" @@ -26711,223 +27708,213 @@ msgstr "Funciones invocables desde SQL necesitan PG_FUNCTION_INFO_V1(función) q msgid "unrecognized API version %d reported by info function \"%s\"" msgstr "la versión de API %d no reconocida fue reportada por la función «%s»" -#: utils/fmgr/fmgr.c:2080 +#: utils/fmgr/fmgr.c:2109 #, c-format msgid "operator class options info is absent in function call context" msgstr "la información de opciones de la clase de operadores está ausente en el contexto de llamada a función" -#: utils/fmgr/fmgr.c:2147 +#: utils/fmgr/fmgr.c:2176 #, c-format msgid "language validation function %u called for language %u instead of %u" msgstr "función de validación de lenguaje %u invocada para el lenguaje %u en lugar de %u" -#: utils/fmgr/funcapi.c:489 +#: utils/fmgr/funcapi.c:496 #, c-format msgid "could not determine actual result type for function \"%s\" declared to return type %s" msgstr "no se pudo determinar el tipo verdadero de resultado para la función «%s» declarada retornando tipo %s" -#: utils/fmgr/funcapi.c:634 +#: utils/fmgr/funcapi.c:642 #, c-format msgid "argument declared %s does not contain a range type but type %s" msgstr "el argumento declarado %s no contiene un tipo de rango sino tipo %s" -#: utils/fmgr/funcapi.c:717 -#, c-format -msgid "could not find multirange type for data type %s" -msgstr "no se pudo encontrar un tipo de multirango para el tipo de dato %s" - -#: utils/fmgr/funcapi.c:1921 utils/fmgr/funcapi.c:1953 +#: utils/fmgr/funcapi.c:1929 utils/fmgr/funcapi.c:1961 #, c-format msgid "number of aliases does not match number of columns" msgstr "el número de aliases no coincide con el número de columnas" -#: utils/fmgr/funcapi.c:1947 +#: utils/fmgr/funcapi.c:1955 #, c-format msgid "no column alias was provided" msgstr "no se entregó alias de columna" -#: utils/fmgr/funcapi.c:1971 +#: utils/fmgr/funcapi.c:1979 #, c-format msgid "could not determine row description for function returning record" msgstr "no se pudo encontrar descripción de registro de función que retorna record" -#: utils/init/miscinit.c:347 +#: utils/init/miscinit.c:352 #, c-format msgid "data directory \"%s\" does not exist" msgstr "no existe el directorio de datos «%s»" -#: utils/init/miscinit.c:352 +#: utils/init/miscinit.c:357 #, c-format msgid "could not read permissions of directory \"%s\": %m" msgstr "no se pudo obtener los permisos del directorio «%s»: %m" -#: utils/init/miscinit.c:360 +#: utils/init/miscinit.c:365 #, c-format msgid "specified data directory \"%s\" is not a directory" msgstr "el directorio de datos especificado «%s» no es un directorio" -#: utils/init/miscinit.c:376 +#: utils/init/miscinit.c:381 #, c-format msgid "data directory \"%s\" has wrong ownership" msgstr "el directorio de datos «%s» tiene dueño equivocado" -#: utils/init/miscinit.c:378 +#: utils/init/miscinit.c:383 #, c-format msgid "The server must be started by the user that owns the data directory." msgstr "El servidor debe ser iniciado por el usuario dueño del directorio de datos." -#: utils/init/miscinit.c:396 +#: utils/init/miscinit.c:401 #, c-format msgid "data directory \"%s\" has invalid permissions" msgstr "el directorio de datos «%s» tiene permisos no válidos" -#: utils/init/miscinit.c:398 +#: utils/init/miscinit.c:403 #, c-format msgid "Permissions should be u=rwx (0700) or u=rwx,g=rx (0750)." msgstr "Los permisos deberían ser u=rwx (0700) o u=rwx,g=rx (0750)." -#: utils/init/miscinit.c:456 +#: utils/init/miscinit.c:461 #, c-format msgid "could not change directory to \"%s\": %m" msgstr "no se pudo cambiar al directorio «%s»: %m" -#: utils/init/miscinit.c:693 utils/misc/guc.c:3548 +#: utils/init/miscinit.c:697 utils/misc/guc.c:3641 #, c-format msgid "cannot set parameter \"%s\" within security-restricted operation" msgstr "no se puede definir el parámetro «%s» dentro de una operación restringida por seguridad" -#: utils/init/miscinit.c:765 +#: utils/init/miscinit.c:770 #, c-format msgid "role with OID %u does not exist" msgstr "no existe el rol con OID %u" -#: utils/init/miscinit.c:795 +#: utils/init/miscinit.c:800 #, c-format msgid "role \"%s\" is not permitted to log in" msgstr "al rol «%s» no se le permite conectarse" -#: utils/init/miscinit.c:813 +#: utils/init/miscinit.c:818 #, c-format msgid "too many connections for role \"%s\"" msgstr "demasiadas conexiones para el rol «%s»" -#: utils/init/miscinit.c:912 -#, c-format -msgid "permission denied to set session authorization" -msgstr "se ha denegado el permiso para cambiar el usuario actual" - -#: utils/init/miscinit.c:995 +#: utils/init/miscinit.c:991 #, c-format msgid "invalid role OID: %u" msgstr "el OID de rol no es válido: %u" -#: utils/init/miscinit.c:1142 +#: utils/init/miscinit.c:1138 #, c-format msgid "database system is shut down" msgstr "el sistema de bases de datos está apagado" -#: utils/init/miscinit.c:1229 +#: utils/init/miscinit.c:1225 #, c-format msgid "could not create lock file \"%s\": %m" msgstr "no se pudo crear el archivo de bloqueo «%s»: %m" -#: utils/init/miscinit.c:1243 +#: utils/init/miscinit.c:1239 #, c-format msgid "could not open lock file \"%s\": %m" msgstr "no se pudo abrir el archivo de bloqueo «%s»: %m" -#: utils/init/miscinit.c:1250 +#: utils/init/miscinit.c:1246 #, c-format msgid "could not read lock file \"%s\": %m" msgstr "no se pudo leer el archivo de bloqueo «%s»: %m" -#: utils/init/miscinit.c:1259 +#: utils/init/miscinit.c:1255 #, c-format msgid "lock file \"%s\" is empty" msgstr "el archivo de bloqueo «%s» está vacío" -#: utils/init/miscinit.c:1260 +#: utils/init/miscinit.c:1256 #, c-format msgid "Either another server is starting, or the lock file is the remnant of a previous server startup crash." msgstr "Otro proceso servidor está iniciándose, o el archivo de bloqueo es remanente de una caída durante un inicio anterior." -#: utils/init/miscinit.c:1304 +#: utils/init/miscinit.c:1300 #, c-format msgid "lock file \"%s\" already exists" msgstr "el archivo de bloqueo «%s» ya existe" -#: utils/init/miscinit.c:1308 +#: utils/init/miscinit.c:1304 #, c-format msgid "Is another postgres (PID %d) running in data directory \"%s\"?" msgstr "¿Hay otro postgres (PID %d) en ejecución en el directorio de datos «%s»?" -#: utils/init/miscinit.c:1310 +#: utils/init/miscinit.c:1306 #, c-format msgid "Is another postmaster (PID %d) running in data directory \"%s\"?" msgstr "¿Hay otro postmaster (PID %d) en ejecución en el directorio de datos «%s»?" -#: utils/init/miscinit.c:1313 +#: utils/init/miscinit.c:1309 #, c-format msgid "Is another postgres (PID %d) using socket file \"%s\"?" msgstr "¿Hay otro postgres (PID %d) usando el socket «%s»?" -#: utils/init/miscinit.c:1315 +#: utils/init/miscinit.c:1311 #, c-format msgid "Is another postmaster (PID %d) using socket file \"%s\"?" msgstr "¿Hay otro postmaster (PID %d) usando el socket «%s»?" -#: utils/init/miscinit.c:1366 +#: utils/init/miscinit.c:1362 #, c-format msgid "could not remove old lock file \"%s\": %m" msgstr "no se pudo eliminar el archivo de bloqueo antiguo «%s»: %m" -#: utils/init/miscinit.c:1368 +#: utils/init/miscinit.c:1364 #, 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 "El archivo parece accidentalmente abandonado, pero no pudo ser eliminado. Por favor elimine el archivo manualmente e intente nuevamente." -#: utils/init/miscinit.c:1405 utils/init/miscinit.c:1419 -#: utils/init/miscinit.c:1430 +#: utils/init/miscinit.c:1401 utils/init/miscinit.c:1415 +#: utils/init/miscinit.c:1426 #, c-format msgid "could not write lock file \"%s\": %m" msgstr "no se pudo escribir el archivo de bloqueo «%s»: %m" -#: utils/init/miscinit.c:1541 utils/init/miscinit.c:1683 utils/misc/guc.c:5580 +#: utils/init/miscinit.c:1537 utils/init/miscinit.c:1679 utils/misc/guc.c:5715 #, c-format msgid "could not read from file \"%s\": %m" msgstr "no se pudo leer el archivo «%s»: %m" -#: utils/init/miscinit.c:1671 +#: utils/init/miscinit.c:1667 #, c-format msgid "could not open file \"%s\": %m; continuing anyway" msgstr "no se pudo abrir el archivo «%s»: %m; continuando de todas formas" -#: utils/init/miscinit.c:1696 +#: utils/init/miscinit.c:1692 #, c-format msgid "lock file \"%s\" contains wrong PID: %ld instead of %ld" msgstr "el archivo de bloqueo «%s» tiene un PID erróneo: %ld en lugar de %ld" -#: utils/init/miscinit.c:1735 utils/init/miscinit.c:1751 +#: utils/init/miscinit.c:1731 utils/init/miscinit.c:1747 #, c-format msgid "\"%s\" is not a valid data directory" msgstr "«%s» no es un directorio de datos válido" -#: utils/init/miscinit.c:1737 +#: utils/init/miscinit.c:1733 #, c-format msgid "File \"%s\" is missing." msgstr "Falta el archivo «%s»." -#: utils/init/miscinit.c:1753 +#: utils/init/miscinit.c:1749 #, c-format msgid "File \"%s\" does not contain valid data." msgstr "El archivo «%s» no contiene datos válidos." -#: utils/init/miscinit.c:1755 +#: utils/init/miscinit.c:1751 #, c-format msgid "You might need to initdb." msgstr "Puede ser necesario ejecutar initdb." -#: utils/init/miscinit.c:1763 +#: utils/init/miscinit.c:1759 #, c-format msgid "The data directory was initialized by PostgreSQL version %s, which is not compatible with this version %s." msgstr "El directorio de datos fue inicializado por PostgreSQL versión %s, que no es compatible con esta versión %s." @@ -26960,7 +27947,7 @@ msgstr " SSL habilitado (protocolo=%s, cifrado=%s, bits=%d)" #: utils/init/postinit.c:285 #, c-format msgid " GSS (authenticated=%s, encrypted=%s, delegated_credentials=%s, principal=%s)" -msgstr "" +msgstr " GSS (autenticado=%s, cifrado=%s, delegado_credenciales=%s, principal=%s)" #: utils/init/postinit.c:286 utils/init/postinit.c:287 #: utils/init/postinit.c:288 utils/init/postinit.c:293 @@ -26977,7 +27964,7 @@ msgstr "sí" #: utils/init/postinit.c:292 #, c-format msgid " GSS (authenticated=%s, encrypted=%s, delegated_credentials=%s)" -msgstr "" +msgstr " GSS (autenticado=%s, cifrado=%s, delegado_credentiales=%s)" #: utils/init/postinit.c:333 #, c-format @@ -27029,81 +28016,80 @@ msgstr "Recree la base de datos con otra configuración regional, o instale la c msgid "The database was initialized with LC_CTYPE \"%s\", which is not recognized by setlocale()." msgstr "La base de datos fue inicializada con LC_CTYPE «%s», el cual no es reconocido por setlocale()." -#: utils/init/postinit.c:475 -#, fuzzy, c-format -#| msgid "collation \"%s\" has version mismatch" +#: utils/init/postinit.c:491 +#, c-format msgid "database \"%s\" has a collation version mismatch" -msgstr "el ordenamiento (collation) «%s» tiene una discordancia de versión" +msgstr "la base de datos «%s» tiene una discordancia de versión de ordenamiento (“collation”)" -#: utils/init/postinit.c:477 -#, fuzzy, c-format -#| msgid "The collation in the database was created using version %s, but the operating system provides version %s." +#: utils/init/postinit.c:493 +#, c-format msgid "The database was created using collation 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." +msgstr "La base de datos fue creada usando la versión de ordenamiento %s, pero el sistema operativo provee la versión %s." -#: utils/init/postinit.c:480 -#, fuzzy, 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." +#: utils/init/postinit.c:496 +#, c-format msgid "Rebuild all objects in this database that use the default collation and run ALTER DATABASE %s REFRESH COLLATION 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." +msgstr "Reconstruya todos los objetos en esta base de datos que usen el ordenamiento por omisión y ejecute ALTER DATABASE %s REFRESH COLLATION VERSION, o construya PostgreSQL con la versión correcta de la biblioteca." -#: utils/init/postinit.c:895 +#: utils/init/postinit.c:902 #, c-format msgid "no roles are defined in this database system" msgstr "no hay roles definidos en esta base de datos" -#: utils/init/postinit.c:896 +#: utils/init/postinit.c:903 #, c-format msgid "You should immediately run CREATE USER \"%s\" SUPERUSER;." msgstr "Debería ejecutar imediatamente CREATE USER \"%s\" SUPERUSER;." -#: utils/init/postinit.c:932 +#: utils/init/postinit.c:940 #, c-format msgid "must be superuser to connect in binary upgrade mode" msgstr "debe ser superusuario para conectarse en modo de actualización binaria" -#: utils/init/postinit.c:953 -#, fuzzy, c-format -#| msgid "terminating connection because of crash of another server process" -msgid "remaining connection slots are reserved for roles with %s" -msgstr "terminando la conexión debido a una falla en otro proceso servidor" +#: utils/init/postinit.c:961 +#, c-format +msgid "remaining connection slots are reserved for roles with the %s attribute" +msgstr "las conexiones restantes están reservadas a roles con el atributo %s" -#: utils/init/postinit.c:959 +#: utils/init/postinit.c:967 #, c-format msgid "remaining connection slots are reserved for roles with privileges of the \"%s\" role" -msgstr "" +msgstr "las conexiones restantes están reservadas a roles con privilegios del rol «%s»" -#: utils/init/postinit.c:971 -#, fuzzy, c-format -#| msgid "permission denied to rename role" +#: utils/init/postinit.c:979 +#, c-format msgid "permission denied to start WAL sender" -msgstr "se ha denegado el permiso para cambiar el nombre al rol" +msgstr "se ha denegado el permiso para iniciar WAL sender" -#: utils/init/postinit.c:972 +#: utils/init/postinit.c:980 #, c-format msgid "Only roles with the %s attribute may start a WAL sender process." -msgstr "" +msgstr "Sólo roles con el atributo %s pueden iniciar un proceso WAL sender." -#: utils/init/postinit.c:1042 +#: utils/init/postinit.c:1098 +#, c-format +msgid "It seems to have just been dropped or renamed." +msgstr "Parece haber sido eliminada o renombrada." + +#: utils/init/postinit.c:1102 #, c-format msgid "database %u does not exist" msgstr "no existe la base de datos %u" -#: utils/init/postinit.c:1131 +#: utils/init/postinit.c:1111 #, c-format -msgid "It seems to have just been dropped or renamed." -msgstr "Parece haber sido eliminada o renombrada." +msgid "cannot connect to invalid database \"%s\"" +msgstr "no se puede conectar a la base de datos no válida «%s»" -#: utils/init/postinit.c:1149 +#: utils/init/postinit.c:1172 #, c-format msgid "The database subdirectory \"%s\" is missing." msgstr "Falta el subdirectorio de base de datos «%s»." #: utils/init/usercontext.c:43 -#, fuzzy, c-format -#| msgid "\"%s\" cannot be higher than \"%s\"" +#, c-format msgid "role \"%s\" cannot SET ROLE to \"%s\"" -msgstr "«%s» no puede ser más alto que «%s»" +msgstr "el rol «%s» no puede hacer SET ROLE a «%s»" #: utils/mb/conv.c:522 utils/mb/conv.c:733 #, c-format @@ -27122,53 +28108,48 @@ msgstr "ID de codificación %d inesperado para juegos de caracteres ISO 8859" 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:298 utils/mb/mbutils.c:901 +#: utils/mb/mbutils.c:297 utils/mb/mbutils.c:900 #, 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: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»" - -#: utils/mb/mbutils.c:403 utils/mb/mbutils.c:431 utils/mb/mbutils.c:816 -#: utils/mb/mbutils.c:843 +#: utils/mb/mbutils.c:402 utils/mb/mbutils.c:430 utils/mb/mbutils.c:815 +#: utils/mb/mbutils.c:842 #, 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:569 +#: utils/mb/mbutils.c:568 #, c-format msgid "invalid source encoding name \"%s\"" msgstr "la codificación de origen «%s» no es válida" -#: utils/mb/mbutils.c:574 +#: utils/mb/mbutils.c:573 #, c-format msgid "invalid destination encoding name \"%s\"" msgstr "la codificación de destino «%s» no es válida" -#: utils/mb/mbutils.c:714 +#: utils/mb/mbutils.c:713 #, 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:878 +#: utils/mb/mbutils.c:877 #, c-format msgid "invalid Unicode code point" msgstr "punto de código Unicode no válido" -#: utils/mb/mbutils.c:1204 +#: utils/mb/mbutils.c:1201 #, c-format msgid "bind_textdomain_codeset failed" msgstr "bind_textdomain_codeset falló" -#: utils/mb/mbutils.c:1725 +#: utils/mb/mbutils.c:1718 #, 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:1758 +#: utils/mb/mbutils.c:1751 #, 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»" @@ -27183,83 +28164,82 @@ msgstr "nombre de directorio de configuración vacío: «%s»" msgid "could not open configuration directory \"%s\": %m" msgstr "no se pudo abrir el directorio de configuración «%s»: %m" -#: utils/misc/guc.c:115 +#: utils/misc/guc.c:122 msgid "Valid units for this parameter are \"B\", \"kB\", \"MB\", \"GB\", and \"TB\"." msgstr "Unidades válidas para este parámetro son «B», «kB», «MB», «GB» y «TB»." -#: utils/misc/guc.c:152 +#: utils/misc/guc.c:159 msgid "Valid units for this parameter are \"us\", \"ms\", \"s\", \"min\", \"h\", and \"d\"." msgstr "Unidades válidas son para este parámetro son «us», «ms», «s», «min», «h» y «d»." -#: utils/misc/guc.c:421 +#: utils/misc/guc.c:430 #, c-format msgid "unrecognized configuration parameter \"%s\" in file \"%s\" line %d" msgstr "parámetro de configuración «%s» no reconocido en el archivo «%s» línea %d" -#: utils/misc/guc.c:461 utils/misc/guc.c:3406 utils/misc/guc.c:3646 -#: utils/misc/guc.c:3744 utils/misc/guc.c:3842 utils/misc/guc.c:3966 -#: utils/misc/guc.c:4069 +#: utils/misc/guc.c:470 utils/misc/guc.c:3495 utils/misc/guc.c:3739 +#: utils/misc/guc.c:3837 utils/misc/guc.c:3935 utils/misc/guc.c:4059 +#: utils/misc/guc.c:4162 #, c-format msgid "parameter \"%s\" cannot be changed without restarting the server" msgstr "el parámetro «%s» no se puede cambiar sin reiniciar el servidor" -#: utils/misc/guc.c:497 +#: utils/misc/guc.c:506 #, c-format msgid "parameter \"%s\" removed from configuration file, reset to default" msgstr "parámetro «%s» eliminado del archivo de configuración, volviendo al valor por omisión" -#: utils/misc/guc.c:562 +#: utils/misc/guc.c:571 #, c-format msgid "parameter \"%s\" changed to \"%s\"" msgstr "el parámetro «%s» fue cambiado a «%s»" -#: utils/misc/guc.c:604 +#: utils/misc/guc.c:613 #, c-format msgid "configuration file \"%s\" contains errors" msgstr "el archivo de configuración «%s» contiene errores" -#: utils/misc/guc.c:609 +#: utils/misc/guc.c:618 #, c-format msgid "configuration file \"%s\" contains errors; unaffected changes were applied" msgstr "el archivo de configuración «%s» contiene errores; los cambios no afectados fueron aplicados" -#: utils/misc/guc.c:614 +#: utils/misc/guc.c:623 #, c-format msgid "configuration file \"%s\" contains errors; no changes were applied" msgstr "el archivo de configuración «%s» contiene errores; no se aplicó ningún cambio" -#: utils/misc/guc.c:1211 utils/misc/guc.c:1227 +#: utils/misc/guc.c:1139 utils/misc/guc.c:1155 #, c-format msgid "invalid configuration parameter name \"%s\"" msgstr "nombre de parámetro de configuración «%s» no válido" -#: utils/misc/guc.c:1213 +#: utils/misc/guc.c:1141 #, c-format msgid "Custom parameter names must be two or more simple identifiers separated by dots." msgstr "Los nombres de los parámetros personalizados deben ser dos o más identificadores sencillos separados por puntos." -#: utils/misc/guc.c:1229 -#, fuzzy, c-format -#| msgid "\"%s\" is a procedure." +#: utils/misc/guc.c:1157 +#, c-format msgid "\"%s\" is a reserved prefix." -msgstr "«%s» es un índice parcial." +msgstr "«%s» es un prefijo reservado." -#: utils/misc/guc.c:1243 +#: utils/misc/guc.c:1170 utils/misc/guc.c:1280 #, c-format msgid "unrecognized configuration parameter \"%s\"" msgstr "parámetro de configuración «%s» no reconocido" -#: utils/misc/guc.c:1765 +#: utils/misc/guc.c:1802 #, c-format -msgid "%s: could not access directory \"%s\": %s\n" -msgstr "%s: no se pudo acceder al directorio «%s»: %s\n" +msgid "%s: could not access directory \"%s\": %m\n" +msgstr "%s: no se pudo acceder al directorio «%s»: %m\n" -#: utils/misc/guc.c:1770 +#: utils/misc/guc.c:1806 #, c-format msgid "Run initdb or pg_basebackup to initialize a PostgreSQL data directory.\n" msgstr "Ejecute initdb o pg_basebackup para inicializar un directorio de datos de PostgreSQL.\n" -#: utils/misc/guc.c:1794 +#: utils/misc/guc.c:1830 #, c-format msgid "" "%s does not know where to find the server configuration file.\n" @@ -27268,12 +28248,12 @@ msgstr "" "%s no sabe dónde encontrar el archivo de configuración del servidor.\n" "Debe especificar la opción --config-file o -D o definir la variable de ambiente PGDATA.\n" -#: utils/misc/guc.c:1817 -#, c-format -msgid "%s: could not access the server configuration file \"%s\": %s\n" +#: utils/misc/guc.c:1853 +#, fuzzy, c-format +msgid "%s: could not access the server configuration file \"%s\": %m\n" msgstr "%s: no se pudo acceder al archivo de configuración «%s»: %s\n" -#: utils/misc/guc.c:1845 +#: utils/misc/guc.c:1881 #, c-format msgid "" "%s does not know where to find the database system data.\n" @@ -27282,7 +28262,7 @@ msgstr "" "%s no sabe dónde encontrar los archivos de sistema de la base de datos.\n" "Esto puede especificarse como «data_directory» en «%s», o usando la opción -D, o a través de la variable de ambiente PGDATA.\n" -#: utils/misc/guc.c:1897 +#: utils/misc/guc.c:1933 #, c-format msgid "" "%s does not know where to find the \"hba\" configuration file.\n" @@ -27291,7 +28271,7 @@ msgstr "" "%s no sabe dónde encontrar el archivo de configuración «hba».\n" "Esto puede especificarse como «hba_file» en «%s», o usando la opción -D, o a través de la variable de ambiente PGDATA.\n" -#: utils/misc/guc.c:1928 +#: utils/misc/guc.c:1964 #, c-format msgid "" "%s does not know where to find the \"ident\" configuration file.\n" @@ -27300,123 +28280,122 @@ msgstr "" "%s no sabe dónde encontrar el archivo de configuración «ident».\n" "Esto puede especificarse como «ident_file» en «%s», o usando la opción -D, o a través de la variable de ambiente PGDATA.\n" -#: utils/misc/guc.c:2894 +#: utils/misc/guc.c:2943 msgid "Value exceeds integer range." msgstr "El valor excede el rango para enteros." -#: utils/misc/guc.c:3130 -#, c-format -msgid "%d%s%s is outside the valid range for parameter \"%s\" (%d .. %d)" +#: utils/misc/guc.c:3185 +#, fuzzy, c-format +msgid "%d%s%s is outside the valid range for parameter \"%s\" (%d%s%s .. %d%s%s)" msgstr "%d%s%s está fuera del rango aceptable para el parámetro «%s» (%d .. %d)" -#: utils/misc/guc.c:3166 -#, c-format -msgid "%g%s%s is outside the valid range for parameter \"%s\" (%g .. %g)" +#: utils/misc/guc.c:3226 +#, fuzzy, c-format +msgid "%g%s%s is outside the valid range for parameter \"%s\" (%g%s%s .. %g%s%s)" msgstr "%g%s%s está fuera del rango aceptable para el parámetro «%s» (%g .. %g)" -#: utils/misc/guc.c:3366 utils/misc/guc_funcs.c:54 +#: utils/misc/guc.c:3447 utils/misc/guc_funcs.c:54 #, c-format msgid "cannot set parameters during a parallel operation" msgstr "no se puede definir parámetros durante una operación paralela" -#: utils/misc/guc.c:3383 utils/misc/guc.c:4530 +#: utils/misc/guc.c:3472 utils/misc/guc.c:4646 #, c-format msgid "parameter \"%s\" cannot be changed" msgstr "no se puede cambiar el parámetro «%s»" -#: utils/misc/guc.c:3416 +#: utils/misc/guc.c:3505 #, c-format msgid "parameter \"%s\" cannot be changed now" msgstr "el parámetro «%s» no se puede cambiar en este momento" -#: utils/misc/guc.c:3443 utils/misc/guc.c:3501 utils/misc/guc.c:4506 -#: utils/misc/guc.c:6546 +#: utils/misc/guc.c:3532 utils/misc/guc.c:3594 utils/misc/guc.c:4621 +#: utils/misc/guc.c:6712 #, c-format msgid "permission denied to set parameter \"%s\"" msgstr "se ha denegado el permiso para cambiar la opción «%s»" -#: utils/misc/guc.c:3481 +#: utils/misc/guc.c:3574 #, c-format msgid "parameter \"%s\" cannot be set after connection start" msgstr "el parámetro «%s» no se puede cambiar después de efectuar la conexión" -#: utils/misc/guc.c:3540 +#: utils/misc/guc.c:3633 #, c-format msgid "cannot set parameter \"%s\" within security-definer function" msgstr "no se puede definir el parámetro «%s» dentro una función security-definer" -#: utils/misc/guc.c:3561 -#, fuzzy, c-format -#| msgid "parameter \"%s\" could not be set" +#: utils/misc/guc.c:3654 +#, c-format msgid "parameter \"%s\" cannot be reset" -msgstr "no se pudo cambiar el parámetro «%s»" +msgstr "el parámetro «%s» no puede ser reseteado" -#: utils/misc/guc.c:3568 -#, fuzzy, c-format -#| msgid "parameter \"%s\" cannot be set after connection start" +#: utils/misc/guc.c:3661 +#, c-format msgid "parameter \"%s\" cannot be set locally in functions" -msgstr "el parámetro «%s» no se puede cambiar después de efectuar la conexión" +msgstr "el parámetro «%s» no se puede cambiar localmente en funciones" -#: utils/misc/guc.c:4212 utils/misc/guc.c:4259 utils/misc/guc.c:5266 -#, fuzzy, c-format -#| msgid "permission denied to create \"%s.%s\"" +#: utils/misc/guc.c:4320 utils/misc/guc.c:4368 utils/misc/guc.c:5400 +#, c-format msgid "permission denied to examine \"%s\"" -msgstr "se ha denegado el permiso para crear «%s.%s»" +msgstr "se ha denegado el permiso a examinar «%s»" -#: utils/misc/guc.c:4213 utils/misc/guc.c:4260 utils/misc/guc.c:5267 +#: utils/misc/guc.c:4321 utils/misc/guc.c:4369 utils/misc/guc.c:5401 #, c-format msgid "Only roles with privileges of the \"%s\" role may examine this parameter." -msgstr "" +msgstr "Sólo roles con privilegios del rol «%s» pueden examinar este parámetro." -#: utils/misc/guc.c:4496 +#: utils/misc/guc.c:4579 #, fuzzy, c-format -#| msgid "permission denied for operator %s" +msgid "ALTER SYSTEM is not allowed in this environment" +msgstr "DEFAULT no está permitido en este contexto" + +#: utils/misc/guc.c:4611 +#, c-format msgid "permission denied to perform ALTER SYSTEM RESET ALL" -msgstr "permiso denegado al operador %s" +msgstr "permiso denegado a ejecutar ALTER SYSTEM RESET ALL" -#: utils/misc/guc.c:4562 +#: utils/misc/guc.c:4690 #, c-format msgid "parameter value for ALTER SYSTEM must not contain a newline" msgstr "los valores de parámetros para ALTER SYSTEM no deben contener saltos de línea" -#: utils/misc/guc.c:4608 +#: utils/misc/guc.c:4735 #, c-format msgid "could not parse contents of file \"%s\"" msgstr "no se pudo interpretar el contenido del archivo «%s»" -#: utils/misc/guc.c:4790 +#: utils/misc/guc.c:4917 #, c-format msgid "attempt to redefine parameter \"%s\"" msgstr "intento de cambiar la opción «%s»" -#: utils/misc/guc.c:5129 -#, fuzzy, c-format -#| msgid "invalid configuration parameter name \"%s\"" +#: utils/misc/guc.c:5256 +#, c-format msgid "invalid configuration parameter name \"%s\", removing it" -msgstr "nombre de parámetro de configuración «%s» no válido" +msgstr "nombre de parámetro de configuración «%s» no válido, eliminándolo" -#: utils/misc/guc.c:5131 -#, fuzzy, c-format -#| msgid "\"%s\" is not a sequence" +#: utils/misc/guc.c:5258 +#, c-format msgid "\"%s\" is now a reserved prefix." -msgstr "«%s» no es una secuencia" +msgstr "«%s» es ahora un prefijo reservado." -#: utils/misc/guc.c:6000 +#: utils/misc/guc.c:6135 #, c-format msgid "while setting parameter \"%s\" to \"%s\"" msgstr "al establecer el parámetro «%s» a «%s»" -#: utils/misc/guc.c:6169 +#: utils/misc/guc.c:6304 #, c-format msgid "parameter \"%s\" could not be set" msgstr "no se pudo cambiar el parámetro «%s»" -#: utils/misc/guc.c:6259 +#: utils/misc/guc.c:6394 #, c-format msgid "could not parse setting for parameter \"%s\"" msgstr "no se pudo interpretar el valor de para el parámetro «%s»" -#: utils/misc/guc.c:6678 +#: utils/misc/guc.c:6844 #, c-format msgid "invalid value for parameter \"%s\": %g" msgstr "valor no válido para el parámetro «%s»: %g" @@ -27436,37 +28415,35 @@ msgstr "SET %s lleva sólo un argumento" msgid "SET requires parameter name" msgstr "SET requiere el nombre de un parámetro" -#: utils/misc/guc_tables.c:667 +#: utils/misc/guc_tables.c:675 msgid "Ungrouped" msgstr "Sin Grupo" -#: utils/misc/guc_tables.c:669 +#: utils/misc/guc_tables.c:676 msgid "File Locations" msgstr "Ubicaciones de Archivos" -#: utils/misc/guc_tables.c:671 +#: utils/misc/guc_tables.c:677 msgid "Connections and Authentication / Connection Settings" msgstr "Conexiones y Autentificación / Parámetros de Conexión" -#: utils/misc/guc_tables.c:673 -#, fuzzy -#| msgid "Connections and Authentication / Connection Settings" +#: utils/misc/guc_tables.c:678 msgid "Connections and Authentication / TCP Settings" -msgstr "Conexiones y Autentificación / Parámetros de Conexión" +msgstr "Conexiones y Autentificación / Parámetros TCP" -#: utils/misc/guc_tables.c:675 +#: utils/misc/guc_tables.c:679 msgid "Connections and Authentication / Authentication" msgstr "Conexiones y Autentificación / Autentificación" -#: utils/misc/guc_tables.c:677 +#: utils/misc/guc_tables.c:680 msgid "Connections and Authentication / SSL" msgstr "Conexiones y Autentificación / SSL" -#: utils/misc/guc_tables.c:679 +#: utils/misc/guc_tables.c:681 msgid "Resource Usage / Memory" msgstr "Uso de Recursos / Memoria" -#: utils/misc/guc_tables.c:681 +#: utils/misc/guc_tables.c:682 msgid "Resource Usage / Disk" msgstr "Uso de Recursos / Disco" @@ -27474,1989 +28451,2040 @@ msgstr "Uso de Recursos / Disco" msgid "Resource Usage / Kernel Resources" msgstr "Uso de Recursos / Recursos del Kernel" -#: utils/misc/guc_tables.c:685 +#: utils/misc/guc_tables.c:684 msgid "Resource Usage / Cost-Based Vacuum Delay" msgstr "Uso de Recursos / Retardo de Vacuum por Costos" -#: utils/misc/guc_tables.c:687 +#: utils/misc/guc_tables.c:685 msgid "Resource Usage / Background Writer" msgstr "Uso de Recursos / Escritor en Segundo Plano" -#: utils/misc/guc_tables.c:689 +#: utils/misc/guc_tables.c:686 msgid "Resource Usage / Asynchronous Behavior" msgstr "Uso de Recursos / Comportamiento Asíncrono" -#: utils/misc/guc_tables.c:691 +#: utils/misc/guc_tables.c:687 msgid "Write-Ahead Log / Settings" msgstr "Write-Ahead Log / Configuraciones" -#: utils/misc/guc_tables.c:693 +#: utils/misc/guc_tables.c:688 msgid "Write-Ahead Log / Checkpoints" msgstr "Write-Ahead Log / Puntos de Control (Checkpoints)" -#: utils/misc/guc_tables.c:695 +#: utils/misc/guc_tables.c:689 msgid "Write-Ahead Log / Archiving" msgstr "Write-Ahead Log / Archivado" -#: utils/misc/guc_tables.c:697 -#, fuzzy -#| msgid "Write-Ahead Log / Recovery Target" +#: utils/misc/guc_tables.c:690 msgid "Write-Ahead Log / Recovery" -msgstr "Write-Ahead Log / Destino de Recuperación" +msgstr "Write-Ahead Log / Recuperación" -#: utils/misc/guc_tables.c:699 +#: utils/misc/guc_tables.c:691 msgid "Write-Ahead Log / Archive Recovery" msgstr "Write-Ahead Log / Recuperación desde Archivo" -#: utils/misc/guc_tables.c:701 +#: utils/misc/guc_tables.c:692 msgid "Write-Ahead Log / Recovery Target" msgstr "Write-Ahead Log / Destino de Recuperación" -#: utils/misc/guc_tables.c:703 +#: utils/misc/guc_tables.c:693 +#, fuzzy +msgid "Write-Ahead Log / Summarization" +msgstr "Write-Ahead Log / Configuraciones" + +#: utils/misc/guc_tables.c:694 msgid "Replication / Sending Servers" msgstr "Replicación / Servidores de Envío" -#: utils/misc/guc_tables.c:705 +#: utils/misc/guc_tables.c:695 msgid "Replication / Primary Server" msgstr "Replicación / Servidor Primario" -#: utils/misc/guc_tables.c:707 +#: utils/misc/guc_tables.c:696 msgid "Replication / Standby Servers" msgstr "Replicación / Servidores Standby" -#: utils/misc/guc_tables.c:709 +#: utils/misc/guc_tables.c:697 msgid "Replication / Subscribers" msgstr "Replicación / Suscriptores" -#: utils/misc/guc_tables.c:711 +#: utils/misc/guc_tables.c:698 msgid "Query Tuning / Planner Method Configuration" msgstr "Afinamiento de Consultas / Configuración de Métodos del Planner" -#: utils/misc/guc_tables.c:713 +#: utils/misc/guc_tables.c:699 msgid "Query Tuning / Planner Cost Constants" msgstr "Afinamiento de Consultas / Constantes de Costo del Planner" -#: utils/misc/guc_tables.c:715 +#: utils/misc/guc_tables.c:700 msgid "Query Tuning / Genetic Query Optimizer" msgstr "Afinamiento de Consultas / Optimizador Genético de Consultas" -#: utils/misc/guc_tables.c:717 +#: utils/misc/guc_tables.c:701 msgid "Query Tuning / Other Planner Options" msgstr "Afinamiento de Consultas / Otras Opciones del Planner" -#: utils/misc/guc_tables.c:719 +#: utils/misc/guc_tables.c:702 msgid "Reporting and Logging / Where to Log" msgstr "Reporte y Registro / Dónde Registrar" -#: utils/misc/guc_tables.c:721 +#: utils/misc/guc_tables.c:703 msgid "Reporting and Logging / When to Log" msgstr "Reporte y Registro / Cuándo Registrar" -#: utils/misc/guc_tables.c:723 +#: utils/misc/guc_tables.c:704 msgid "Reporting and Logging / What to Log" msgstr "Reporte y Registro / Qué Registrar" -#: utils/misc/guc_tables.c:725 +#: utils/misc/guc_tables.c:705 msgid "Reporting and Logging / Process Title" msgstr "Reporte y Registro / Título del Proceso" -#: utils/misc/guc_tables.c:727 +#: utils/misc/guc_tables.c:706 msgid "Statistics / Monitoring" msgstr "Estadísticas / Monitoreo" -#: utils/misc/guc_tables.c:729 +#: utils/misc/guc_tables.c:707 msgid "Statistics / Cumulative Query and Index Statistics" -msgstr "" +msgstr "Estadísticas / Acumuladores de Consultas e Índices" -#: utils/misc/guc_tables.c:731 +#: utils/misc/guc_tables.c:708 msgid "Autovacuum" msgstr "Autovacuum" -#: utils/misc/guc_tables.c:733 +#: utils/misc/guc_tables.c:709 msgid "Client Connection Defaults / Statement Behavior" msgstr "Valores por Omisión de Conexiones / Comportamiento de Sentencias" -#: utils/misc/guc_tables.c:735 +#: utils/misc/guc_tables.c:710 msgid "Client Connection Defaults / Locale and Formatting" msgstr "Valores por Omisión de Conexiones / Configuraciones Regionales y Formateo" -#: utils/misc/guc_tables.c:737 +#: utils/misc/guc_tables.c:711 msgid "Client Connection Defaults / Shared Library Preloading" msgstr "Valores por Omisión de Conexiones / Precargado de Bibliotecas Compartidas" -#: utils/misc/guc_tables.c:739 +#: utils/misc/guc_tables.c:712 msgid "Client Connection Defaults / Other Defaults" msgstr "Valores por Omisión de Conexiones / Otros Valores" -#: utils/misc/guc_tables.c:741 +#: utils/misc/guc_tables.c:713 msgid "Lock Management" msgstr "Manejo de Bloqueos" -#: utils/misc/guc_tables.c:743 +#: utils/misc/guc_tables.c:714 msgid "Version and Platform Compatibility / Previous PostgreSQL Versions" msgstr "Compatibilidad de Versión y Plataforma / Versiones Anteriores de PostgreSQL" -#: utils/misc/guc_tables.c:745 +#: utils/misc/guc_tables.c:715 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:747 +#: utils/misc/guc_tables.c:716 msgid "Error Handling" msgstr "Gestión de Errores" -#: utils/misc/guc_tables.c:749 +#: utils/misc/guc_tables.c:717 msgid "Preset Options" msgstr "Opciones Predefinidas" -#: utils/misc/guc_tables.c:751 +#: utils/misc/guc_tables.c:718 msgid "Customized Options" msgstr "Opciones Personalizadas" -#: utils/misc/guc_tables.c:753 +#: utils/misc/guc_tables.c:719 msgid "Developer Options" msgstr "Opciones de Desarrollador" -#: utils/misc/guc_tables.c:810 +#: utils/misc/guc_tables.c:774 msgid "Enables the planner's use of sequential-scan plans." msgstr "Permitir el uso de planes de recorrido secuencial." -#: utils/misc/guc_tables.c:820 +#: utils/misc/guc_tables.c:784 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:830 +#: utils/misc/guc_tables.c:794 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:840 +#: utils/misc/guc_tables.c:804 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:850 +#: utils/misc/guc_tables.c:814 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:860 +#: utils/misc/guc_tables.c:824 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:870 +#: utils/misc/guc_tables.c:834 msgid "Enables the planner's use of incremental sort steps." msgstr "Permitir el uso de pasos incrementales de ordenamiento." -#: utils/misc/guc_tables.c:880 +#: utils/misc/guc_tables.c:844 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:890 +#: utils/misc/guc_tables.c:854 msgid "Enables the planner's use of materialization." msgstr "Permitir el uso de materialización de planes." -#: utils/misc/guc_tables.c:900 +#: utils/misc/guc_tables.c:864 msgid "Enables the planner's use of memoization." msgstr "Permitir el uso de memoización de planes." -#: utils/misc/guc_tables.c:910 +#: utils/misc/guc_tables.c:874 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:920 +#: utils/misc/guc_tables.c:884 msgid "Enables the planner's use of merge join plans." msgstr "Permitir el uso de planes «merge join»." -#: utils/misc/guc_tables.c:930 +#: utils/misc/guc_tables.c:894 msgid "Enables the planner's use of hash join plans." msgstr "Permitir el uso de planes «hash join»." -#: utils/misc/guc_tables.c:940 +#: utils/misc/guc_tables.c:904 msgid "Enables the planner's use of gather merge plans." msgstr "Permitir el uso de planes «gather merge»." -#: utils/misc/guc_tables.c:950 +#: utils/misc/guc_tables.c:914 msgid "Enables partitionwise join." msgstr "Permitir el uso de joins por particiones." -#: utils/misc/guc_tables.c:960 +#: utils/misc/guc_tables.c:924 msgid "Enables partitionwise aggregation and grouping." msgstr "Permitir el uso de agregación y agrupamiento por particiones." -#: utils/misc/guc_tables.c:970 +#: utils/misc/guc_tables.c:934 msgid "Enables the planner's use of parallel append plans." msgstr "Permitir el uso de planes «append» paralelos." -#: utils/misc/guc_tables.c:980 +#: utils/misc/guc_tables.c:944 msgid "Enables the planner's use of parallel hash plans." msgstr "Permitir el uso de planes «hash join» paralelos." -#: utils/misc/guc_tables.c:990 +#: utils/misc/guc_tables.c:954 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:991 +#: utils/misc/guc_tables.c:955 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:1002 -msgid "Enables the planner's ability to produce plans which provide presorted input for ORDER BY / DISTINCT aggregate functions." -msgstr "" +#: utils/misc/guc_tables.c:966 +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:1005 -msgid "Allows the query planner to build plans which provide presorted input for aggregate functions with an ORDER BY / DISTINCT clause. When disabled, implicit sorts are always performed during execution." -msgstr "" +#: utils/misc/guc_tables.c:969 +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:1017 +#: utils/misc/guc_tables.c:981 msgid "Enables the planner's use of async append plans." msgstr "Permitir el uso de planes «append» asíncronos." -#: utils/misc/guc_tables.c:1027 +#: utils/misc/guc_tables.c:991 +msgid "Enables reordering of GROUP BY keys." +msgstr "" + +#: utils/misc/guc_tables.c:1001 msgid "Enables genetic query optimization." msgstr "Permitir el uso del optimizador genético de consultas." -#: utils/misc/guc_tables.c:1028 +#: utils/misc/guc_tables.c:1002 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:1039 +#: utils/misc/guc_tables.c:1016 msgid "Shows whether the current user is a superuser." msgstr "Indica si el usuario actual es superusuario." -#: utils/misc/guc_tables.c:1049 +#: utils/misc/guc_tables.c:1031 +msgid "Allows running the ALTER SYSTEM command." +msgstr "" + +#: utils/misc/guc_tables.c:1032 +msgid "Can be set to off for environments where global configuration changes should be made using a different method." +msgstr "" + +#: utils/misc/guc_tables.c:1042 msgid "Enables advertising the server via Bonjour." msgstr "Permitir la publicación del servidor vía Bonjour." -#: utils/misc/guc_tables.c:1058 +#: utils/misc/guc_tables.c:1051 msgid "Collects transaction commit time." msgstr "Recolectar tiempo de compromiso de transacciones." -#: utils/misc/guc_tables.c:1067 +#: utils/misc/guc_tables.c:1060 msgid "Enables SSL connections." msgstr "Permitir conexiones SSL." -#: utils/misc/guc_tables.c:1076 -msgid "Controls whether ssl_passphrase_command is called during server reload." +#: utils/misc/guc_tables.c:1069 +msgid "Controls whether \"ssl_passphrase_command\" is called during server reload." msgstr "" -#: utils/misc/guc_tables.c:1085 +#: utils/misc/guc_tables.c:1078 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:1094 +#: utils/misc/guc_tables.c:1087 msgid "Forces synchronization of updates to disk." msgstr "Forzar la sincronización de escrituras a disco." -#: utils/misc/guc_tables.c:1095 +#: utils/misc/guc_tables.c:1088 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:1106 +#: utils/misc/guc_tables.c:1099 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:1107 +#: utils/misc/guc_tables.c:1100 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:1121 +#: utils/misc/guc_tables.c:1114 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:1122 -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." +#: utils/misc/guc_tables.c:1115 +#, fuzzy +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:1135 +#: utils/misc/guc_tables.c:1128 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:1136 -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." +#: utils/misc/guc_tables.c:1129 +#, fuzzy +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:1154 +#: utils/misc/guc_tables.c:1147 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 punto de control." +msgstr "Escribe páginas completas a WAL cuando son modificadas después de un checkpoint." -#: utils/misc/guc_tables.c:1155 +#: utils/misc/guc_tables.c:1148 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 punto de control, de manera que una recuperación total es posible." +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:1168 +#: utils/misc/guc_tables.c:1161 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 punto de control, incluso para una modificación no crítica." +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:1178 +#: utils/misc/guc_tables.c:1171 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:1188 +#: utils/misc/guc_tables.c:1181 msgid "Recycles WAL files by renaming them." msgstr "Reciclar archivos de WAL cambiándoles de nombre." -#: utils/misc/guc_tables.c:1198 +#: utils/misc/guc_tables.c:1191 msgid "Logs each checkpoint." -msgstr "Registrar cada punto de control." +msgstr "Registrar cada checkpoint." -#: utils/misc/guc_tables.c:1207 +#: utils/misc/guc_tables.c:1200 msgid "Logs each successful connection." msgstr "Registrar cada conexión exitosa." -#: utils/misc/guc_tables.c:1216 +#: utils/misc/guc_tables.c:1209 +#, fuzzy +msgid "Logs details of pre-authentication connection handshake." +msgstr "Conexiones y Autentificación / Parámetros de Conexión" + +#: utils/misc/guc_tables.c:1219 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:1225 +#: utils/misc/guc_tables.c:1228 msgid "Logs each replication command." msgstr "Registrar cada orden de replicación." -#: utils/misc/guc_tables.c:1234 +#: utils/misc/guc_tables.c:1237 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:1245 +#: utils/misc/guc_tables.c:1248 msgid "Terminate session on any error." msgstr "Terminar sesión ante cualquier error." -#: utils/misc/guc_tables.c:1254 +#: utils/misc/guc_tables.c:1257 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:1263 +#: utils/misc/guc_tables.c:1266 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:1273 +#: utils/misc/guc_tables.c:1276 msgid "Send SIGABRT not SIGQUIT to child processes after backend crash." -msgstr "" +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:1283 +#: utils/misc/guc_tables.c:1286 msgid "Send SIGABRT not SIGKILL to stuck child processes." -msgstr "" +msgstr "Enviar SIGABRT en vez de SIGKILL a procesos hijos atascados." -#: utils/misc/guc_tables.c:1294 +#: utils/misc/guc_tables.c:1297 msgid "Logs the duration of each completed SQL statement." msgstr "Registrar la duración de cada sentencia SQL ejecutada." -#: utils/misc/guc_tables.c:1303 +#: utils/misc/guc_tables.c:1306 msgid "Logs each query's parse tree." msgstr "Registrar cada arbol analizado de consulta " -#: utils/misc/guc_tables.c:1312 +#: utils/misc/guc_tables.c:1315 msgid "Logs each query's rewritten parse tree." msgstr "Registrar cada reescritura del arból analizado de consulta" -#: utils/misc/guc_tables.c:1321 +#: utils/misc/guc_tables.c:1324 msgid "Logs each query's execution plan." msgstr "Registrar el plan de ejecución de cada consulta." -#: utils/misc/guc_tables.c:1330 +#: utils/misc/guc_tables.c:1333 msgid "Indents parse and plan tree displays." msgstr "Indentar los árboles de parse y plan." -#: utils/misc/guc_tables.c:1339 +#: utils/misc/guc_tables.c:1342 msgid "Writes parser performance statistics to the server log." msgstr "Escribir estadísticas de parser al registro del servidor." -#: utils/misc/guc_tables.c:1348 +#: utils/misc/guc_tables.c:1351 msgid "Writes planner performance statistics to the server log." msgstr "Escribir estadísticas de planner al registro del servidor." -#: utils/misc/guc_tables.c:1357 +#: utils/misc/guc_tables.c:1360 msgid "Writes executor performance statistics to the server log." msgstr "Escribir estadísticas del executor al registro del servidor." -#: utils/misc/guc_tables.c:1366 +#: utils/misc/guc_tables.c:1369 msgid "Writes cumulative performance statistics to the server log." msgstr "Escribir estadísticas acumulativas al registro del servidor." -#: utils/misc/guc_tables.c:1376 +#: utils/misc/guc_tables.c:1379 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:1388 +#: utils/misc/guc_tables.c:1391 msgid "Collects information about executing commands." msgstr "Recolectar estadísticas sobre órdenes en ejecución." -#: utils/misc/guc_tables.c:1389 +#: utils/misc/guc_tables.c:1392 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:1399 +#: utils/misc/guc_tables.c:1402 msgid "Collects statistics on database activity." msgstr "Recolectar estadísticas de actividad de la base de datos." -#: utils/misc/guc_tables.c:1408 +#: utils/misc/guc_tables.c:1411 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:1417 +#: utils/misc/guc_tables.c:1420 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:1427 +#: utils/misc/guc_tables.c:1430 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:1428 +#: utils/misc/guc_tables.c:1431 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:1437 +#: utils/misc/guc_tables.c:1440 msgid "Starts the autovacuum subprocess." msgstr "Iniciar el subproceso de autovacuum." -#: utils/misc/guc_tables.c:1447 +#: utils/misc/guc_tables.c:1450 msgid "Generates debugging output for LISTEN and NOTIFY." msgstr "Generar salida de depuración para LISTEN y NOTIFY." -#: utils/misc/guc_tables.c:1459 +#: utils/misc/guc_tables.c:1462 msgid "Emits information about lock usage." msgstr "Emitir información acerca del uso de locks." -#: utils/misc/guc_tables.c:1469 +#: utils/misc/guc_tables.c:1472 msgid "Emits information about user lock usage." msgstr "Emitir información acerca del uso de locks de usuario." -#: utils/misc/guc_tables.c:1479 +#: utils/misc/guc_tables.c:1482 msgid "Emits information about lightweight lock usage." msgstr "Emitir información acerca del uso de «lightweight locks»." -#: utils/misc/guc_tables.c:1489 +#: utils/misc/guc_tables.c:1492 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:1501 +#: utils/misc/guc_tables.c:1504 msgid "Logs long lock waits." msgstr "Registrar esperas largas de bloqueos." -#: utils/misc/guc_tables.c:1510 +#: utils/misc/guc_tables.c:1513 msgid "Logs standby recovery conflict waits." msgstr "Registrar esperas por conflictos en recuperación de standby" -#: utils/misc/guc_tables.c:1519 +#: utils/misc/guc_tables.c:1522 msgid "Logs the host name in the connection logs." msgstr "Registrar el nombre del host en la conexión." -#: utils/misc/guc_tables.c:1520 +#: utils/misc/guc_tables.c:1523 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:1531 +#: utils/misc/guc_tables.c:1534 msgid "Treats \"expr=NULL\" as \"expr IS NULL\"." msgstr "Tratar expr=NULL como expr IS NULL." -#: utils/misc/guc_tables.c:1532 +#: utils/misc/guc_tables.c:1535 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:1544 -msgid "Enables per-database user names." -msgstr "Activar el uso de nombre de usuario locales a cada base de datos." - -#: utils/misc/guc_tables.c:1553 +#: utils/misc/guc_tables.c:1547 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:1563 +#: utils/misc/guc_tables.c:1557 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:1573 +#: utils/misc/guc_tables.c:1567 msgid "Sets the default deferrable status of new transactions." msgstr "Estado por omisión de postergable de nuevas transacciones." -#: utils/misc/guc_tables.c:1582 +#: utils/misc/guc_tables.c:1576 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:1592 +#: utils/misc/guc_tables.c:1586 msgid "Enable row security." msgstr "Activar seguridad de registros." -#: utils/misc/guc_tables.c:1593 +#: utils/misc/guc_tables.c:1587 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:1601 +#: utils/misc/guc_tables.c:1595 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:1610 +#: utils/misc/guc_tables.c:1604 msgid "Enable input of NULL elements in arrays." msgstr "Habilita el ingreso de elementos nulos en arrays." -#: utils/misc/guc_tables.c:1611 +#: utils/misc/guc_tables.c:1605 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:1627 +#: utils/misc/guc_tables.c:1621 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:1637 +#: utils/misc/guc_tables.c:1631 msgid "Start a subprocess to capture stderr output and/or csvlogs into log files." msgstr "Lanzar un subproceso para capturar stderr y/o logs CSV en archivos de log." -#: utils/misc/guc_tables.c:1646 +#: utils/misc/guc_tables.c:1640 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:1657 +#: utils/misc/guc_tables.c:1651 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:1671 +#: utils/misc/guc_tables.c:1665 msgid "Generate debugging output for synchronized scanning." msgstr "Generar salida de depuración para recorrido sincronizado." -#: utils/misc/guc_tables.c:1686 +#: utils/misc/guc_tables.c:1680 msgid "Enable bounded sorting using heap sort." msgstr "Activar ordenamiento acotado usando «heap sort»." -#: utils/misc/guc_tables.c:1699 +#: utils/misc/guc_tables.c:1693 msgid "Emit WAL-related debugging output." msgstr "Activar salida de depuración de WAL." -#: utils/misc/guc_tables.c:1711 +#: utils/misc/guc_tables.c:1705 msgid "Shows whether datetimes are integer based." msgstr "Mostrar si las fechas y horas se basan en tipos enteros." -#: utils/misc/guc_tables.c:1722 +#: utils/misc/guc_tables.c:1716 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:1732 -#, fuzzy -#| msgid "Sets whether Kerberos and GSSAPI user names should be treated as case-insensitive." +#: utils/misc/guc_tables.c:1726 msgid "Sets whether GSSAPI delegation should be accepted from the client." -msgstr "Define que los nombres de usuario Kerberos y GSSAPI deberían ser tratados sin distinción de mayúsculas." +msgstr "Define si la delegación GSSAPI debería ser aceptada por el cliente." -#: utils/misc/guc_tables.c:1742 +#: utils/misc/guc_tables.c:1736 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:1752 +#: utils/misc/guc_tables.c:1746 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:1763 +#: utils/misc/guc_tables.c:1757 msgid "Enable synchronized sequential scans." msgstr "Permitir la sincronización de recorridos secuenciales." -#: utils/misc/guc_tables.c:1773 +#: utils/misc/guc_tables.c:1767 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:1783 +#: utils/misc/guc_tables.c:1777 +msgid "Starts the WAL summarizer process to enable incremental backup." +msgstr "" + +#: utils/misc/guc_tables.c:1787 msgid "Allows connections and queries during recovery." msgstr "Permite conexiones y consultas durante la recuperación." -#: utils/misc/guc_tables.c:1793 +#: utils/misc/guc_tables.c:1797 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:1803 +#: utils/misc/guc_tables.c:1807 msgid "Shows whether hot standby is currently active." msgstr "Muestra si hot standby está activo actualmente." -#: utils/misc/guc_tables.c:1814 +#: utils/misc/guc_tables.c:1818 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:1825 +#: utils/misc/guc_tables.c:1829 msgid "Disables reading from system indexes." msgstr "Deshabilita lectura de índices del sistema." -#: utils/misc/guc_tables.c:1826 +#: utils/misc/guc_tables.c:1830 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:1837 +#: utils/misc/guc_tables.c:1841 msgid "Allows tablespaces directly inside pg_tblspc, for testing." msgstr "Permite tablespaces directamente dentro de pg_tblspc, para pruebas." -#: utils/misc/guc_tables.c:1848 +#: utils/misc/guc_tables.c:1852 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:1849 +#: utils/misc/guc_tables.c:1853 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:1859 +#: utils/misc/guc_tables.c:1863 msgid "When generating SQL fragments, quote all identifiers." msgstr "Al generar fragmentos SQL, entrecomillar todos los identificadores." -#: utils/misc/guc_tables.c:1869 +#: utils/misc/guc_tables.c:1873 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:1880 +#: utils/misc/guc_tables.c:1884 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:1890 +#: utils/misc/guc_tables.c:1894 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:1900 +#: utils/misc/guc_tables.c:1904 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:1901 +#: utils/misc/guc_tables.c:1905 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:1911 +#: utils/misc/guc_tables.c:1915 msgid "Allow JIT compilation." msgstr "Permitir compilación JIT." -#: utils/misc/guc_tables.c:1922 +#: utils/misc/guc_tables.c:1926 msgid "Register JIT-compiled functions with debugger." msgstr "Registrar las funciones JIT compiladas con el depurador." -#: utils/misc/guc_tables.c:1939 +#: utils/misc/guc_tables.c:1943 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:1950 +#: utils/misc/guc_tables.c:1954 msgid "Allow JIT compilation of expressions." msgstr "Permitir compilación JIT de expresiones." -#: utils/misc/guc_tables.c:1961 +#: utils/misc/guc_tables.c:1965 msgid "Register JIT-compiled functions with perf profiler." msgstr "Registrar las funciones JIT compiladas con el analizador «perf»." -#: utils/misc/guc_tables.c:1978 +#: utils/misc/guc_tables.c:1982 msgid "Allow JIT compilation of tuple deforming." msgstr "Permitir compilación JIT de deformación de tuplas." -#: utils/misc/guc_tables.c:1989 +#: utils/misc/guc_tables.c:1993 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:1998 +#: utils/misc/guc_tables.c:2002 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:2016 +#: utils/misc/guc_tables.c:2011 #, fuzzy -#| msgid "Sets the time to wait before retrying to retrieve WAL after a failed attempt." +msgid "Enables event triggers." +msgstr "disparador por eventos %s" + +#: utils/misc/guc_tables.c:2012 +msgid "When enabled, event triggers will fire for all applicable statements." +msgstr "" + +#: utils/misc/guc_tables.c:2021 +msgid "Enables a physical standby to synchronize logical failover slots from the primary server." +msgstr "" + +#: utils/misc/guc_tables.c:2039 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 reintentar obtener WAL después de un intento fallido." +msgstr "Define el tiempo a esperar antes de forzar un cambio al siguiente archivo WAL." -#: utils/misc/guc_tables.c:2027 -#, fuzzy -#| msgid "Sets the maximum time to wait for WAL replication." +#: utils/misc/guc_tables.c:2050 msgid "Sets the amount of time to wait after authentication on connection startup." -msgstr "Define el tiempo máximo a esperar la replicación de WAL." +msgstr "Define el tiempo máximo a esperar la autentificación durante el establecimiento de una conexión." -#: utils/misc/guc_tables.c:2029 utils/misc/guc_tables.c:2663 +#: utils/misc/guc_tables.c:2052 utils/misc/guc_tables.c:2774 msgid "This allows attaching a debugger to the process." msgstr "Esto permite adjuntar un depurador al proceso." -#: utils/misc/guc_tables.c:2038 +#: utils/misc/guc_tables.c:2061 msgid "Sets the default statistics target." msgstr "Definir el valor por omisión de toma de estadísticas." -#: utils/misc/guc_tables.c:2039 +#: utils/misc/guc_tables.c:2062 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:2048 +#: utils/misc/guc_tables.c:2071 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:2050 +#: utils/misc/guc_tables.c:2073 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:2061 +#: utils/misc/guc_tables.c:2084 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:2063 +#: utils/misc/guc_tables.c:2086 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:2074 +#: utils/misc/guc_tables.c:2097 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:2084 +#: utils/misc/guc_tables.c:2107 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:2094 +#: utils/misc/guc_tables.c:2117 msgid "GEQO: number of individuals in the population." msgstr "GEQO: número de individuos en una población." -#: utils/misc/guc_tables.c:2095 utils/misc/guc_tables.c:2105 +#: utils/misc/guc_tables.c:2118 utils/misc/guc_tables.c:2128 msgid "Zero selects a suitable default value." msgstr "Cero selecciona un valor por omisión razonable." -#: utils/misc/guc_tables.c:2104 +#: utils/misc/guc_tables.c:2127 msgid "GEQO: number of iterations of the algorithm." msgstr "GEQO: número de iteraciones del algoritmo." -#: utils/misc/guc_tables.c:2116 +#: utils/misc/guc_tables.c:2139 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:2127 +#: utils/misc/guc_tables.c:2150 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:2138 +#: utils/misc/guc_tables.c:2161 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:2149 +#: utils/misc/guc_tables.c:2172 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:2160 +#: utils/misc/guc_tables.c:2183 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:2171 +#: utils/misc/guc_tables.c:2194 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:2182 +#: utils/misc/guc_tables.c:2205 msgid "Sets the maximum number of concurrent connections." msgstr "Número máximo de conexiones concurrentes." -#: utils/misc/guc_tables.c:2193 +#: utils/misc/guc_tables.c:2216 msgid "Sets the number of connection slots reserved for superusers." msgstr "Número de conexiones reservadas para superusuarios." -#: utils/misc/guc_tables.c:2203 -#, fuzzy -#| msgid "Sets the number of connection slots reserved for superusers." +#: utils/misc/guc_tables.c:2226 msgid "Sets the number of connection slots reserved for roles with privileges of pg_use_reserved_connections." -msgstr "Número de conexiones reservadas para superusuarios." +msgstr "Número de conexiones reservadas para con privilegios de pg_use_reserved_connections." -#: utils/misc/guc_tables.c:2214 +#: utils/misc/guc_tables.c:2237 msgid "Amount of dynamic shared memory reserved at startup." msgstr "Cantidad de memoria compartida dinámica reservada al iniciar." -#: utils/misc/guc_tables.c:2229 +#: utils/misc/guc_tables.c:2252 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:2240 +#: utils/misc/guc_tables.c:2263 msgid "Sets the buffer pool size for VACUUM, ANALYZE, and autovacuum." -msgstr "" +msgstr "Define el tamaño del pool de búfers para VACUUM, ANALYZE y autovacuum." -#: utils/misc/guc_tables.c:2251 +#: utils/misc/guc_tables.c:2274 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:2262 -#, fuzzy -#| msgid "Sets the number of disk-page buffers in shared memory for WAL." +#: utils/misc/guc_tables.c:2285 msgid "Shows the number of huge pages needed for the main shared memory area." -msgstr "Búfers en memoria compartida para páginas de WAL." +msgstr "Muestra la cantidad de “huge pages” necesarias para el área de memoria compartida principal." -#: utils/misc/guc_tables.c:2263 +#: utils/misc/guc_tables.c:2286 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:2273 +#: utils/misc/guc_tables.c:2296 +msgid "Sets the size of the dedicated buffer pool used for the commit timestamp cache." +msgstr "" + +#: utils/misc/guc_tables.c:2297 utils/misc/guc_tables.c:2352 +#: utils/misc/guc_tables.c:2363 +msgid "Specify 0 to have this value determined as a fraction of shared_buffers." +msgstr "" + +#: utils/misc/guc_tables.c:2307 +msgid "Sets the size of the dedicated buffer pool used for the MultiXact member cache." +msgstr "" + +#: utils/misc/guc_tables.c:2318 +msgid "Sets the size of the dedicated buffer pool used for the MultiXact offset cache." +msgstr "" + +#: utils/misc/guc_tables.c:2329 +msgid "Sets the size of the dedicated buffer pool used for the LISTEN/NOTIFY message cache." +msgstr "" + +#: utils/misc/guc_tables.c:2340 +msgid "Sets the size of the dedicated buffer pool used for the serializable transaction cache." +msgstr "" + +#: utils/misc/guc_tables.c:2351 +#, fuzzy +msgid "Sets the size of the dedicated buffer pool used for the sub-transaction cache." +msgstr "Define el nombre del slot de replicación a utilizar en el servidor de origen." + +#: utils/misc/guc_tables.c:2362 +msgid "Sets the size of the dedicated buffer pool used for the transaction status cache." +msgstr "" + +#: utils/misc/guc_tables.c:2373 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:2284 +#: utils/misc/guc_tables.c:2384 msgid "Sets the TCP port the server listens on." msgstr "Puerto TCP en el cual escuchará el servidor." -#: utils/misc/guc_tables.c:2294 +#: utils/misc/guc_tables.c:2394 msgid "Sets the access permissions of the Unix-domain socket." msgstr "Privilegios de acceso al socket Unix." -#: utils/misc/guc_tables.c:2295 +#: utils/misc/guc_tables.c:2395 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:2309 +#: utils/misc/guc_tables.c:2409 msgid "Sets the file permissions for log files." msgstr "Define los privilegios para los archivos del registro del servidor." -#: utils/misc/guc_tables.c:2310 +#: utils/misc/guc_tables.c:2410 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:2324 +#: utils/misc/guc_tables.c:2424 msgid "Shows the mode of the data directory." msgstr "Muestra el modo del directorio de datos." -#: utils/misc/guc_tables.c:2325 +#: utils/misc/guc_tables.c:2425 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:2338 +#: utils/misc/guc_tables.c:2438 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:2339 +#: utils/misc/guc_tables.c:2439 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:2351 +#: utils/misc/guc_tables.c:2451 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:2352 +#: utils/misc/guc_tables.c:2452 msgid "This includes operations such as VACUUM and CREATE INDEX." msgstr "Esto incluye operaciones como VACUUM y CREATE INDEX." -#: utils/misc/guc_tables.c:2362 +#: utils/misc/guc_tables.c:2462 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:2363 +#: utils/misc/guc_tables.c:2463 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:2379 +#: utils/misc/guc_tables.c:2479 msgid "Sets the maximum stack depth, in kilobytes." msgstr "Establece el tamaño máximo del stack, en kilobytes." -#: utils/misc/guc_tables.c:2390 +#: utils/misc/guc_tables.c:2490 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:2391 +#: utils/misc/guc_tables.c:2491 msgid "-1 means no limit." msgstr "-1 significa sin límite." -#: utils/misc/guc_tables.c:2401 +#: utils/misc/guc_tables.c:2501 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:2411 +#: utils/misc/guc_tables.c:2511 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:2421 +#: utils/misc/guc_tables.c:2521 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:2431 +#: utils/misc/guc_tables.c:2531 msgid "Vacuum cost amount available before napping." msgstr "Costo de Vacuum disponible antes de descansar." -#: utils/misc/guc_tables.c:2441 +#: utils/misc/guc_tables.c:2541 msgid "Vacuum cost amount available before napping, for autovacuum." msgstr "Costo de Vacuum disponible antes de descansar, para autovacuum." -#: utils/misc/guc_tables.c:2451 +#: utils/misc/guc_tables.c:2551 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:2464 +#: utils/misc/guc_tables.c:2564 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:2475 +#: utils/misc/guc_tables.c:2575 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:2476 +#: utils/misc/guc_tables.c:2576 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:2485 +#: utils/misc/guc_tables.c:2585 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:2497 +#: utils/misc/guc_tables.c:2597 msgid "Sets the maximum allowed duration of any statement." msgstr "Define la duración máxima permitida de sentencias." -#: utils/misc/guc_tables.c:2498 utils/misc/guc_tables.c:2509 -#: utils/misc/guc_tables.c:2520 utils/misc/guc_tables.c:2531 +#: utils/misc/guc_tables.c:2598 utils/misc/guc_tables.c:2609 +#: utils/misc/guc_tables.c:2620 utils/misc/guc_tables.c:2631 +#: utils/misc/guc_tables.c:2642 msgid "A value of 0 turns off the timeout." msgstr "Un valor de 0 desactiva el máximo." -#: utils/misc/guc_tables.c:2508 +#: utils/misc/guc_tables.c:2608 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:2519 +#: utils/misc/guc_tables.c:2619 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:2530 +#: utils/misc/guc_tables.c:2630 +#, fuzzy +msgid "Sets the maximum allowed duration of any transaction within a session (not a prepared transaction)." +msgstr "Define la duración máxima permitida de sentencias." + +#: utils/misc/guc_tables.c:2641 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:2541 +#: utils/misc/guc_tables.c:2652 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:2551 +#: utils/misc/guc_tables.c:2662 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:2561 +#: utils/misc/guc_tables.c:2672 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:2571 +#: utils/misc/guc_tables.c:2682 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:2581 +#: utils/misc/guc_tables.c:2692 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 reciclaje (wraparound)." +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:2590 +#: utils/misc/guc_tables.c:2701 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 reciclaje (wraparound)." +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:2603 +#: utils/misc/guc_tables.c:2714 msgid "Sets the maximum number of locks per transaction." msgstr "Cantidad máxima de candados (locks) por transacción." -#: utils/misc/guc_tables.c:2604 -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." +#: utils/misc/guc_tables.c:2715 +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 "" -#: utils/misc/guc_tables.c:2615 +#: utils/misc/guc_tables.c:2726 msgid "Sets the maximum number of predicate locks per transaction." msgstr "Cantidad máxima de candados (locks) de predicado por transacción." -#: utils/misc/guc_tables.c:2616 -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." +#: utils/misc/guc_tables.c:2727 +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 "" -#: utils/misc/guc_tables.c:2627 +#: utils/misc/guc_tables.c:2738 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:2628 +#: utils/misc/guc_tables.c:2739 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:2638 +#: utils/misc/guc_tables.c:2749 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:2639 +#: utils/misc/guc_tables.c:2750 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:2649 +#: utils/misc/guc_tables.c:2760 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:2661 -#, fuzzy -#| msgid "Sets the maximum time to wait for WAL replication." +#: utils/misc/guc_tables.c:2772 msgid "Sets the amount of time to wait before authentication on connection startup." -msgstr "Define el tiempo máximo a esperar la replicación de WAL." +msgstr "Define el tiempo máximo a esperar antes de la autentificación al abrir una conexión." + +#: utils/misc/guc_tables.c:2784 +#, fuzzy +msgid "Sets the maximum number of allocated pages for NOTIFY / LISTEN queue." +msgstr "Cantidad máxima de locks de predicado por página." -#: utils/misc/guc_tables.c:2673 +#: utils/misc/guc_tables.c:2794 msgid "Buffer size for reading ahead in the WAL during recovery." -msgstr "" +msgstr "Tamaño de búfer para lectura adelantada de WAL durante la recuperación." -#: utils/misc/guc_tables.c:2674 +#: utils/misc/guc_tables.c:2795 msgid "Maximum distance to read ahead in the WAL to prefetch referenced data blocks." -msgstr "" +msgstr "Máxima distancia que leer adelantado en el WAL para pre-cargar bloques de datos referenciados." -#: utils/misc/guc_tables.c:2684 +#: utils/misc/guc_tables.c:2805 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:2695 +#: utils/misc/guc_tables.c:2816 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:2707 +#: utils/misc/guc_tables.c:2828 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:2719 +#: utils/misc/guc_tables.c:2840 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:2730 +#: utils/misc/guc_tables.c:2851 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:2732 +#: utils/misc/guc_tables.c:2853 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 "" +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:2745 utils/misc/guc_tables.c:2963 -#: utils/misc/guc_tables.c:3003 +#: utils/misc/guc_tables.c:2866 utils/misc/guc_tables.c:3084 +#: utils/misc/guc_tables.c:3138 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:2756 +#: utils/misc/guc_tables.c:2877 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:2767 +#: utils/misc/guc_tables.c:2878 +msgid "Specify -1 to have this value determined as a fraction of shared_buffers." +msgstr "" + +#: utils/misc/guc_tables.c:2888 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:2778 +#: utils/misc/guc_tables.c:2899 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:2789 +#: utils/misc/guc_tables.c:2910 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:2800 +#: utils/misc/guc_tables.c:2921 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:2811 +#: utils/misc/guc_tables.c:2932 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:2821 +#: utils/misc/guc_tables.c:2942 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:2822 +#: utils/misc/guc_tables.c:2943 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:2834 +#: utils/misc/guc_tables.c:2955 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:2845 +#: utils/misc/guc_tables.c:2966 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:2857 +#: utils/misc/guc_tables.c:2978 #, fuzzy -#| msgid "Sets the maximum number of concurrent connections." -msgid "Sets the minimum number of concurrent open transactions required before performing commit_delay." -msgstr "Número máximo de conexiones concurrentes." +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:2868 +#: utils/misc/guc_tables.c:2989 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:2869 +#: utils/misc/guc_tables.c:2990 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:2881 +#: utils/misc/guc_tables.c:3002 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:2884 +#: utils/misc/guc_tables.c:3005 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:2894 +#: utils/misc/guc_tables.c:3015 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:2896 +#: utils/misc/guc_tables.c:3017 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:2906 +#: utils/misc/guc_tables.c:3027 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:2908 +#: utils/misc/guc_tables.c:3029 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:2918 +#: utils/misc/guc_tables.c:3039 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:2920 utils/misc/guc_tables.c:2932 +#: utils/misc/guc_tables.c:3041 utils/misc/guc_tables.c:3053 msgid "-1 to print values in full." msgstr "-1 para mostrar los valores completos." -#: utils/misc/guc_tables.c:2930 +#: utils/misc/guc_tables.c:3051 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:2942 +#: utils/misc/guc_tables.c:3063 msgid "Background writer sleep time between rounds." msgstr "Tiempo de descanso entre rondas del background writer" -#: utils/misc/guc_tables.c:2953 +#: utils/misc/guc_tables.c:3074 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:2976 +#: utils/misc/guc_tables.c:3097 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:2990 -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:3111 +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:3126 +msgid "Limit on the size of data reads and writes." +msgstr "" -#: utils/misc/guc_tables.c:3016 +#: utils/misc/guc_tables.c:3151 msgid "Maximum number of concurrent worker processes." msgstr "Número máximo de procesos ayudantes concurrentes." -#: utils/misc/guc_tables.c:3028 +#: utils/misc/guc_tables.c:3163 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:3040 +#: utils/misc/guc_tables.c:3175 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:3052 -#, fuzzy -#| msgid "Maximum number of table synchronization workers per subscription." +#: utils/misc/guc_tables.c:3187 msgid "Maximum number of parallel apply workers per subscription." -msgstr "Número máximo de procesos ayudantes de sincronización por suscripción." +msgstr "Número máximo de procesos ayudantes de “apply” por suscripción." -#: utils/misc/guc_tables.c:3062 -#, fuzzy -#| msgid "Sets the maximum time to wait for WAL replication." +#: utils/misc/guc_tables.c:3197 msgid "Sets the amount of time to wait before forcing log file rotation." -msgstr "Define el tiempo máximo a esperar la replicación de WAL." +msgstr "Define el tiempo a esperar antes de forzar la rotación del archivo de registro del servidor." -#: utils/misc/guc_tables.c:3074 -#, fuzzy -#| msgid "Sets the maximum WAL size that can be reserved by replication slots." +#: utils/misc/guc_tables.c:3209 msgid "Sets the maximum size a log file can reach before being rotated." -msgstr "Define el tamaño máximo de WAL que puede ser reservado por slots de replicación." +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:3086 +#: utils/misc/guc_tables.c:3221 msgid "Shows the maximum number of function arguments." msgstr "Muestra la cantidad máxima de argumentos de funciones." -#: utils/misc/guc_tables.c:3097 +#: utils/misc/guc_tables.c:3232 msgid "Shows the maximum number of index keys." msgstr "Muestra la cantidad máxima de claves de índices." -#: utils/misc/guc_tables.c:3108 +#: utils/misc/guc_tables.c:3243 msgid "Shows the maximum identifier length." msgstr "Muestra el largo máximo de identificadores." -#: utils/misc/guc_tables.c:3119 +#: utils/misc/guc_tables.c:3254 msgid "Shows the size of a disk block." msgstr "Muestra el tamaño de un bloque de disco." -#: utils/misc/guc_tables.c:3130 +#: utils/misc/guc_tables.c:3265 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:3141 +#: utils/misc/guc_tables.c:3276 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:3152 +#: utils/misc/guc_tables.c:3287 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:3164 +#: utils/misc/guc_tables.c:3299 msgid "Shows the size of write ahead log segments." msgstr "Muestra el tamaño de los segmentos de WAL." -#: utils/misc/guc_tables.c:3177 +#: utils/misc/guc_tables.c:3312 +msgid "Time for which WAL summary files should be kept." +msgstr "" + +#: utils/misc/guc_tables.c:3325 msgid "Time to sleep between autovacuum runs." msgstr "Tiempo de descanso entre ejecuciones de autovacuum." -#: utils/misc/guc_tables.c:3187 +#: utils/misc/guc_tables.c:3335 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:3196 +#: utils/misc/guc_tables.c:3344 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:3205 +#: utils/misc/guc_tables.c:3353 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:3215 +#: utils/misc/guc_tables.c:3363 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 reciclaje de ID de transacción." +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:3227 +#: utils/misc/guc_tables.c:3375 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 reciclaje de ID de multixacts." +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:3237 +#: utils/misc/guc_tables.c:3385 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:3247 +#: utils/misc/guc_tables.c:3395 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:3257 +#: utils/misc/guc_tables.c:3405 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:3268 +#: utils/misc/guc_tables.c:3416 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:3279 +#: utils/misc/guc_tables.c:3427 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:3290 -msgid "Time before a snapshot is too old to read pages changed after the snapshot was taken." -msgstr "Tiempo antes de que un snapshot sea demasiado antiguo para leer páginas después de que el snapshot fue tomado." - -#: utils/misc/guc_tables.c:3291 -msgid "A value of -1 disables this feature." -msgstr "El valor -1 desactiva esta característica." - -#: utils/misc/guc_tables.c:3301 +#: utils/misc/guc_tables.c:3438 msgid "Time between issuing TCP keepalives." msgstr "Tiempo entre cada emisión de TCP keepalive." -#: utils/misc/guc_tables.c:3302 utils/misc/guc_tables.c:3313 -#: utils/misc/guc_tables.c:3437 +#: utils/misc/guc_tables.c:3439 utils/misc/guc_tables.c:3450 +#: utils/misc/guc_tables.c:3574 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:3312 +#: utils/misc/guc_tables.c:3449 msgid "Time between TCP keepalive retransmits." msgstr "Tiempo entre retransmisiones TCP keepalive." -#: utils/misc/guc_tables.c:3323 +#: utils/misc/guc_tables.c:3460 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:3334 +#: utils/misc/guc_tables.c:3471 msgid "Maximum number of TCP keepalive retransmits." msgstr "Cantidad máxima de retransmisiones TCP keepalive." -#: utils/misc/guc_tables.c:3335 +#: utils/misc/guc_tables.c:3472 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 "" +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:3346 +#: utils/misc/guc_tables.c:3483 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:3357 +#: utils/misc/guc_tables.c:3494 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:3358 +#: utils/misc/guc_tables.c:3495 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:3369 +#: utils/misc/guc_tables.c:3506 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:3370 +#: utils/misc/guc_tables.c:3507 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:3380 +#: utils/misc/guc_tables.c:3517 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:3381 +#: utils/misc/guc_tables.c:3518 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:3392 +#: utils/misc/guc_tables.c:3529 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:3403 +#: utils/misc/guc_tables.c:3540 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:3404 +#: utils/misc/guc_tables.c:3541 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:3414 +#: utils/misc/guc_tables.c:3551 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:3425 +#: utils/misc/guc_tables.c:3562 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:3436 +#: utils/misc/guc_tables.c:3573 msgid "TCP user timeout." msgstr "Tiempo de expiración de TCP." -#: utils/misc/guc_tables.c:3447 +#: utils/misc/guc_tables.c:3584 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:3458 +#: utils/misc/guc_tables.c:3595 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:3481 +#: utils/misc/guc_tables.c:3618 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:3492 +#: utils/misc/guc_tables.c:3629 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:3494 -#, fuzzy -#| msgid "Zero prints all queries. -1 turns this feature off." +#: utils/misc/guc_tables.c:3631 msgid "0 turns this feature off." -msgstr "Cero imprime todas las consultas. -1 desactiva esta funcionalidad." +msgstr "Cero desactiva esta característica." -#: utils/misc/guc_tables.c:3504 -#, fuzzy -#| msgid "Sets the seed for random-number generation." +#: utils/misc/guc_tables.c:3641 msgid "Sets the iteration count for SCRAM secret generation." -msgstr "Semilla para la generación de números aleatorios." +msgstr "Define la cantidad de iteraciones para generación de secretos SCRAM." -#: utils/misc/guc_tables.c:3524 +#: utils/misc/guc_tables.c:3661 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:3535 +#: utils/misc/guc_tables.c:3672 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:3546 +#: utils/misc/guc_tables.c:3683 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:3557 +#: utils/misc/guc_tables.c:3694 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:3568 +#: utils/misc/guc_tables.c:3705 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:3579 +#: utils/misc/guc_tables.c:3716 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:3590 +#: utils/misc/guc_tables.c:3727 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:3602 +#: utils/misc/guc_tables.c:3739 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:3603 +#: utils/misc/guc_tables.c:3740 msgid "-1 disables JIT compilation." msgstr "-1 inhabilita compilación JIT." -#: utils/misc/guc_tables.c:3613 +#: utils/misc/guc_tables.c:3750 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:3614 +#: utils/misc/guc_tables.c:3751 msgid "-1 disables optimization." msgstr "-1 inhabilita la optimización." -#: utils/misc/guc_tables.c:3624 +#: utils/misc/guc_tables.c:3761 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:3625 +#: utils/misc/guc_tables.c:3762 msgid "-1 disables inlining." msgstr "-1 inhabilita el «inlining»." -#: utils/misc/guc_tables.c:3635 +#: utils/misc/guc_tables.c:3772 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:3647 -#, fuzzy -#| msgid "Sets the planner's estimate of the fraction of a cursor's rows that will be retrieved." +#: utils/misc/guc_tables.c:3784 msgid "Sets the planner's estimate of the average size of a recursive query's working table." -msgstr "Estimación de la fracción de filas de un cursor que serán extraídas." +msgstr "Estimación del tamaño promedio de la tabla de trabajo de una consulta recursiva." -#: utils/misc/guc_tables.c:3659 +#: utils/misc/guc_tables.c:3796 msgid "GEQO: selective pressure within the population." msgstr "GEQO: presión selectiva dentro de la población." -#: utils/misc/guc_tables.c:3670 +#: utils/misc/guc_tables.c:3807 msgid "GEQO: seed for random path selection." msgstr "GEQO: semilla para la selección aleatoria de caminos." -#: utils/misc/guc_tables.c:3681 -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:3818 +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:3692 +#: utils/misc/guc_tables.c:3829 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:3702 +#: utils/misc/guc_tables.c:3839 msgid "Sets the seed for random-number generation." msgstr "Semilla para la generación de números aleatorios." -#: utils/misc/guc_tables.c:3713 +#: utils/misc/guc_tables.c:3850 msgid "Vacuum cost delay in milliseconds." msgstr "Tiempo de descanso de vacuum en milisegundos." -#: utils/misc/guc_tables.c:3724 +#: utils/misc/guc_tables.c:3861 msgid "Vacuum cost delay in milliseconds, for autovacuum." msgstr "Tiempo de descanso de vacuum en milisegundos, para autovacuum." -#: utils/misc/guc_tables.c:3735 +#: utils/misc/guc_tables.c:3872 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:3745 +#: utils/misc/guc_tables.c:3882 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:3755 +#: utils/misc/guc_tables.c:3892 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:3765 +#: utils/misc/guc_tables.c:3902 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 punto de control." +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:3775 -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:3912 +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:3776 +#: utils/misc/guc_tables.c:3913 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:3785 +#: utils/misc/guc_tables.c:3922 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:3786 +#: utils/misc/guc_tables.c:3923 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:3805 +#: utils/misc/guc_tables.c:3942 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:3806 +#: utils/misc/guc_tables.c:3943 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:3815 -#, fuzzy -#| msgid "Sets the shell command that will be called to archive a WAL file." +#: utils/misc/guc_tables.c:3952 msgid "Sets the library that will be called to archive a WAL file." -msgstr "Orden de shell que se invocará para archivar un archivo WAL." +msgstr "Biblioteca que se invocará para archivar un archivo WAL." -#: utils/misc/guc_tables.c:3816 +#: utils/misc/guc_tables.c:3953 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:3825 +#: utils/misc/guc_tables.c:3962 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:3835 +#: utils/misc/guc_tables.c:3972 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:3845 +#: utils/misc/guc_tables.c:3982 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:3855 +#: utils/misc/guc_tables.c:3992 msgid "Specifies the timeline to recover into." msgstr "Especifica la línea de tiempo a la cual recuperar." -#: utils/misc/guc_tables.c:3865 +#: utils/misc/guc_tables.c:4002 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:3874 +#: utils/misc/guc_tables.c:4011 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:3883 +#: utils/misc/guc_tables.c:4020 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:3892 +#: utils/misc/guc_tables.c:4029 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:3901 +#: utils/misc/guc_tables.c:4038 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:3911 +#: utils/misc/guc_tables.c:4048 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:3922 +#: utils/misc/guc_tables.c:4059 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:3932 +#: utils/misc/guc_tables.c:4069 msgid "Sets the client's character set encoding." msgstr "Codificación del juego de caracteres del cliente." -#: utils/misc/guc_tables.c:3943 +#: utils/misc/guc_tables.c:4080 msgid "Controls information prefixed to each log line." msgstr "Controla el prefijo que antecede cada línea registrada." -#: utils/misc/guc_tables.c:3944 +#: utils/misc/guc_tables.c:4081 msgid "If blank, no prefix is used." msgstr "si está en blanco, no se usa prefijo." -#: utils/misc/guc_tables.c:3953 +#: utils/misc/guc_tables.c:4090 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:3963 +#: utils/misc/guc_tables.c:4100 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:3964 +#: utils/misc/guc_tables.c:4101 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:3975 +#: utils/misc/guc_tables.c:4112 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:3986 +#: utils/misc/guc_tables.c:4123 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:3987 +#: utils/misc/guc_tables.c:4124 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:3997 +#: utils/misc/guc_tables.c:4134 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:4008 +#: utils/misc/guc_tables.c:4145 msgid "Sets whether a CREATEROLE user automatically grants the role to themselves, and with which options." -msgstr "" +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:4020 +#: utils/misc/guc_tables.c:4157 msgid "Sets the path for dynamically loadable modules." msgstr "Ruta para módulos dinámicos." -#: utils/misc/guc_tables.c:4021 +#: utils/misc/guc_tables.c:4158 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:4034 +#: utils/misc/guc_tables.c:4171 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:4045 +#: utils/misc/guc_tables.c:4182 msgid "Sets the Bonjour service name." msgstr "Nombre del servicio Bonjour." -#: utils/misc/guc_tables.c:4057 -msgid "Shows the collation order locale." -msgstr "Configuración regional de ordenamiento de cadenas (collation)." - -#: utils/misc/guc_tables.c:4068 -msgid "Shows the character classification and case conversion locale." -msgstr "Configuración regional de clasificación de caracteres y conversión de mayúsculas." - -#: utils/misc/guc_tables.c:4079 +#: utils/misc/guc_tables.c:4192 msgid "Sets the language in which messages are displayed." msgstr "Idioma en el que se despliegan los mensajes." -#: utils/misc/guc_tables.c:4089 +#: utils/misc/guc_tables.c:4202 msgid "Sets the locale for formatting monetary amounts." msgstr "Configuración regional para formatos de moneda." -#: utils/misc/guc_tables.c:4099 +#: utils/misc/guc_tables.c:4212 msgid "Sets the locale for formatting numbers." msgstr "Configuración regional para formatos de números." -#: utils/misc/guc_tables.c:4109 +#: utils/misc/guc_tables.c:4222 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:4119 +#: utils/misc/guc_tables.c:4232 msgid "Lists shared libraries to preload into each backend." msgstr "Bibliotecas compartidas a precargar en cada proceso." -#: utils/misc/guc_tables.c:4130 +#: utils/misc/guc_tables.c:4243 msgid "Lists shared libraries to preload into server." msgstr "Bibliotecas compartidas a precargar en el servidor." -#: utils/misc/guc_tables.c:4141 +#: utils/misc/guc_tables.c:4254 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:4152 +#: utils/misc/guc_tables.c:4265 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:4164 +#: utils/misc/guc_tables.c:4277 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:4176 +#: utils/misc/guc_tables.c:4289 msgid "Shows the server version." msgstr "Versión del servidor." -#: utils/misc/guc_tables.c:4188 +#: utils/misc/guc_tables.c:4301 msgid "Sets the current role." msgstr "Define el rol actual." -#: utils/misc/guc_tables.c:4200 +#: utils/misc/guc_tables.c:4313 msgid "Sets the session user name." msgstr "Define el nombre del usuario de sesión." -#: utils/misc/guc_tables.c:4211 +#: utils/misc/guc_tables.c:4324 msgid "Sets the destination for server log output." msgstr "Define el destino de la salida del registro del servidor." -#: utils/misc/guc_tables.c:4212 +#: utils/misc/guc_tables.c:4325 msgid "Valid values are combinations of \"stderr\", \"syslog\", \"csvlog\", \"jsonlog\", and \"eventlog\", depending on the platform." -msgstr "" +msgstr "Son aceptables combinaciones de «stderr», «syslog», «csvlog», «jsonlog» y «eventlog», dependendiendo de la plataforma." -#: utils/misc/guc_tables.c:4223 +#: utils/misc/guc_tables.c:4336 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:4224 +#: utils/misc/guc_tables.c:4337 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:4234 +#: utils/misc/guc_tables.c:4347 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:4245 +#: utils/misc/guc_tables.c:4358 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:4256 +#: utils/misc/guc_tables.c:4369 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:4267 +#: utils/misc/guc_tables.c:4380 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:4277 +#: utils/misc/guc_tables.c:4390 msgid "Selects a file of time zone abbreviations." msgstr "Selecciona un archivo de abreviaciones de huso horario." -#: utils/misc/guc_tables.c:4287 +#: utils/misc/guc_tables.c:4400 msgid "Sets the owning group of the Unix-domain socket." msgstr "Grupo dueño del socket de dominio Unix." -#: utils/misc/guc_tables.c:4288 +#: utils/misc/guc_tables.c:4401 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:4298 +#: utils/misc/guc_tables.c:4411 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:4309 +#: utils/misc/guc_tables.c:4422 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:4324 +#: utils/misc/guc_tables.c:4437 msgid "Sets the server's data directory." msgstr "Define la ubicación del directorio de datos." -#: utils/misc/guc_tables.c:4335 +#: utils/misc/guc_tables.c:4448 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:4346 +#: utils/misc/guc_tables.c:4459 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:4357 +#: utils/misc/guc_tables.c:4470 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:4368 +#: utils/misc/guc_tables.c:4481 msgid "Writes the postmaster PID to the specified file." msgstr "Registra el PID de postmaster en el archivo especificado." -#: utils/misc/guc_tables.c:4379 +#: utils/misc/guc_tables.c:4492 msgid "Shows the name of the SSL library." msgstr "Muestra el nombre de la biblioteca SSL." -#: utils/misc/guc_tables.c:4394 +#: utils/misc/guc_tables.c:4507 msgid "Location of the SSL server certificate file." msgstr "Ubicación del archivo de certificado SSL del servidor." -#: utils/misc/guc_tables.c:4404 +#: utils/misc/guc_tables.c:4517 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:4414 +#: utils/misc/guc_tables.c:4527 msgid "Location of the SSL certificate authority file." msgstr "Ubicación del archivo de autoridad certificadora SSL." -#: utils/misc/guc_tables.c:4424 +#: utils/misc/guc_tables.c:4537 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:4434 +#: utils/misc/guc_tables.c:4547 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:4444 +#: utils/misc/guc_tables.c:4557 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:4455 +#: utils/misc/guc_tables.c:4568 msgid "Sets default text search configuration." msgstr "Define la configuración de búsqueda en texto por omisión." -#: utils/misc/guc_tables.c:4465 +#: utils/misc/guc_tables.c:4578 msgid "Sets the list of allowed SSL ciphers." msgstr "Define la lista de cifrados SSL permitidos." -#: utils/misc/guc_tables.c:4480 +#: utils/misc/guc_tables.c:4593 msgid "Sets the curve to use for ECDH." msgstr "Define la curva a usar para ECDH." -#: utils/misc/guc_tables.c:4495 +#: utils/misc/guc_tables.c:4608 msgid "Location of the SSL DH parameters file." msgstr "Ubicación del archivo de parámetros DH para SSL." -#: utils/misc/guc_tables.c:4506 +#: utils/misc/guc_tables.c:4619 msgid "Command to obtain passphrases for SSL." msgstr "Orden para obtener frases clave para SSL." -#: utils/misc/guc_tables.c:4517 +#: utils/misc/guc_tables.c:4630 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:4528 +#: utils/misc/guc_tables.c:4641 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:4539 +#: utils/misc/guc_tables.c:4652 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:4540 +#: utils/misc/guc_tables.c:4653 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:4550 +#: utils/misc/guc_tables.c:4663 msgid "JIT provider to use." msgstr "Proveedor JIT a usar." -#: utils/misc/guc_tables.c:4561 +#: utils/misc/guc_tables.c:4674 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:4572 +#: utils/misc/guc_tables.c:4685 msgid "Use direct I/O for file access." +msgstr "Usar I/O directo para accesos a archivos." + +#: utils/misc/guc_tables.c:4696 +msgid "Lists streaming replication standby server slot names that logical WAL sender processes will wait for." +msgstr "" + +#: utils/misc/guc_tables.c:4698 +msgid "Logical WAL sender processes will send decoded changes to plugins only after the specified replication slots confirm receiving WAL." msgstr "" -#: utils/misc/guc_tables.c:4592 +#: utils/misc/guc_tables.c:4719 msgid "Sets whether \"\\'\" is allowed in string literals." msgstr "Define si «\\'» está permitido en literales de cadena." -#: utils/misc/guc_tables.c:4602 +#: utils/misc/guc_tables.c:4729 msgid "Sets the output format for bytea." msgstr "Formato de salida para bytea." -#: utils/misc/guc_tables.c:4612 +#: utils/misc/guc_tables.c:4739 msgid "Sets the message levels that are sent to the client." msgstr "Nivel de mensajes enviados al cliente." -#: utils/misc/guc_tables.c:4613 utils/misc/guc_tables.c:4709 -#: utils/misc/guc_tables.c:4720 utils/misc/guc_tables.c:4792 +#: utils/misc/guc_tables.c:4740 utils/misc/guc_tables.c:4836 +#: utils/misc/guc_tables.c:4847 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:4623 +#: utils/misc/guc_tables.c:4750 msgid "Enables in-core computation of query identifiers." -msgstr "" +msgstr "Habilita el cálculo de identificadores de consulta." -#: utils/misc/guc_tables.c:4633 +#: utils/misc/guc_tables.c:4760 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:4634 +#: utils/misc/guc_tables.c:4761 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:4645 +#: utils/misc/guc_tables.c:4772 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:4656 +#: utils/misc/guc_tables.c:4783 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:4666 +#: utils/misc/guc_tables.c:4793 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:4677 +#: utils/misc/guc_tables.c:4804 msgid "Sets the display format for interval values." msgstr "Formato de salida para valores de intervalos." -#: utils/misc/guc_tables.c:4688 +#: utils/misc/guc_tables.c:4815 msgid "Log level for reporting invalid ICU locale strings." -msgstr "" +msgstr "Nivel de log a usar para reportar cadenas de configuración ICU no válidas." -#: utils/misc/guc_tables.c:4698 +#: utils/misc/guc_tables.c:4825 msgid "Sets the verbosity of logged messages." msgstr "Verbosidad de los mensajes registrados." -#: utils/misc/guc_tables.c:4708 +#: utils/misc/guc_tables.c:4835 msgid "Sets the message levels that are logged." msgstr "Nivel de mensajes registrados." -#: utils/misc/guc_tables.c:4719 +#: utils/misc/guc_tables.c:4846 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:4730 +#: utils/misc/guc_tables.c:4857 msgid "Sets the type of statements logged." msgstr "Define el tipo de sentencias que se registran." -#: utils/misc/guc_tables.c:4740 +#: utils/misc/guc_tables.c:4867 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:4751 +#: utils/misc/guc_tables.c:4878 msgid "Sets the session's behavior for triggers and rewrite rules." msgstr "Define el comportamiento de la sesión con respecto a disparadores y reglas de reescritura." -#: utils/misc/guc_tables.c:4761 +#: utils/misc/guc_tables.c:4888 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:4771 -msgid "Allows archiving of WAL files using archive_command." -msgstr "Permite el archivado de WAL usando archive_command." +#: utils/misc/guc_tables.c:4898 +msgid "Allows archiving of WAL files using \"archive_command\"." +msgstr "Permite el archivado de WAL usando «archive_command»." -#: utils/misc/guc_tables.c:4781 +#: utils/misc/guc_tables.c:4908 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:4791 -msgid "Enables logging of recovery-related debugging information." -msgstr "Recolectar información de depuración relacionada con la recuperación." - -#: utils/misc/guc_tables.c:4808 +#: utils/misc/guc_tables.c:4918 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:4819 -#, fuzzy -#| msgid "Sets the default statistics target." +#: utils/misc/guc_tables.c:4929 msgid "Sets the consistency of accesses to statistics data." -msgstr "Definir el valor por omisión de toma de estadísticas." +msgstr "Definir la consistencia de accesos a los datos de estadísticas." -#: utils/misc/guc_tables.c:4829 +#: utils/misc/guc_tables.c:4939 msgid "Compresses full-page writes written in WAL file with specified method." -msgstr "" +msgstr "Comprime las páginas completas escritas a WAL (FPI) con el método especificado." -#: utils/misc/guc_tables.c:4839 +#: utils/misc/guc_tables.c:4949 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:4849 +#: utils/misc/guc_tables.c:4959 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:4859 +#: utils/misc/guc_tables.c:4969 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:4869 +#: utils/misc/guc_tables.c:4979 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:4879 +#: utils/misc/guc_tables.c:4989 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:4889 +#: utils/misc/guc_tables.c:4999 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:4900 +#: utils/misc/guc_tables.c:5010 msgid "Use of huge pages on Linux or Windows." msgstr "Usar páginas grandes (huge) en Linux o Windows." -#: utils/misc/guc_tables.c:4910 -#, fuzzy -#| msgid "cannot execute %s during recovery" +#: utils/misc/guc_tables.c:5020 +msgid "Indicates the status of huge pages." +msgstr "" + +#: utils/misc/guc_tables.c:5031 msgid "Prefetch referenced blocks during recovery." -msgstr "no se puede ejecutar %s durante la recuperación" +msgstr "Pre-cargar bloques referenciados durante la recuperación." -#: utils/misc/guc_tables.c:4911 +#: utils/misc/guc_tables.c:5032 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:4920 -#, fuzzy -#| msgid "Enables the planner's use of parallel append plans." +#: utils/misc/guc_tables.c:5041 msgid "Forces the planner's use parallel query nodes." -msgstr "Permitir el uso de planes «append» paralelos." +msgstr "Fuerza al optimizador a usar planes paralelos." -#: utils/misc/guc_tables.c:4921 -msgid "This can be useful for testing the parallel query infrastructure by forcing the planner to generate plans which contains nodes which perform tuple communication between workers and the main process." -msgstr "" +#: utils/misc/guc_tables.c:5042 +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:4933 +#: utils/misc/guc_tables.c:5054 msgid "Chooses the algorithm for encrypting passwords." msgstr "Escoge el algoritmo para cifrar contraseñas." -#: utils/misc/guc_tables.c:4943 +#: utils/misc/guc_tables.c:5064 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:4944 +#: utils/misc/guc_tables.c:5065 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:4956 +#: utils/misc/guc_tables.c:5077 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:4968 +#: utils/misc/guc_tables.c:5089 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:4980 +#: utils/misc/guc_tables.c:5101 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:4989 -msgid "Controls when to replicate or apply each change." -msgstr "" +#: utils/misc/guc_tables.c:5110 +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:4990 +#: utils/misc/guc_tables.c:5111 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 "" +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." #: utils/misc/help_config.c:129 #, c-format msgid "internal error: unrecognized run-time parameter type\n" msgstr "error interno: tipo parámetro no reconocido\n" -#: utils/misc/pg_controldata.c:48 utils/misc/pg_controldata.c:86 -#: utils/misc/pg_controldata.c:175 utils/misc/pg_controldata.c:214 +#: utils/misc/pg_controldata.c:50 utils/misc/pg_controldata.c:90 +#: utils/misc/pg_controldata.c:181 utils/misc/pg_controldata.c:222 #, c-format msgid "calculated CRC checksum does not match value stored in file" msgstr "la suma de verificación calculada no coincide con el valor almacenado en el archivo" @@ -29476,145 +30504,143 @@ msgstr "la consulta sería afectada por la política de seguridad de registros p msgid "To disable the policy for the table's owner, use ALTER TABLE NO FORCE ROW LEVEL SECURITY." msgstr "Para desactivar la política para el dueño de la tabla, use ALTER TABLE NO FORCE ROW LEVEL SECURITY." -#: utils/misc/timeout.c:524 +#: utils/misc/timeout.c:520 #, c-format msgid "cannot add more timeout reasons" msgstr "no se pueden agregar más razones de timeout" -#: utils/misc/tzparser.c:60 +#: utils/misc/tzparser.c:61 #, c-format msgid "time zone abbreviation \"%s\" is too long (maximum %d characters) in time zone file \"%s\", line %d" msgstr "la abreviación del huso horario «%s» es demasiado larga (máximo %d caracteres) en archivo de huso horario «%s», línea %d" -#: utils/misc/tzparser.c:72 +#: utils/misc/tzparser.c:73 #, c-format msgid "time zone offset %d is out of range in time zone file \"%s\", line %d" msgstr "desplazamiento de huso horario %d está fuera de rango en el archivo de huso horario «%s», línea %d" -#: utils/misc/tzparser.c:111 +#: utils/misc/tzparser.c:112 #, c-format msgid "missing time zone abbreviation in time zone file \"%s\", line %d" msgstr "falta una abreviación de huso horario en el archivo de huso horario «%s», línea %d" -#: utils/misc/tzparser.c:120 +#: utils/misc/tzparser.c:121 #, c-format msgid "missing time zone offset in time zone file \"%s\", line %d" msgstr "falta un desplazamiento de huso horario en el archivo de huso horario «%s», línea %d" -#: utils/misc/tzparser.c:132 +#: utils/misc/tzparser.c:133 #, c-format msgid "invalid number for time zone offset in time zone file \"%s\", line %d" msgstr "número no válido para desplazamiento de huso horario en archivo de huso horario «%s», línea %d" -#: utils/misc/tzparser.c:168 +#: utils/misc/tzparser.c:169 #, c-format msgid "invalid syntax in time zone file \"%s\", line %d" msgstr "sintaxis no válida en archivo de huso horario «%s», línea %d" -#: utils/misc/tzparser.c:236 +#: utils/misc/tzparser.c:237 #, c-format msgid "time zone abbreviation \"%s\" is multiply defined" msgstr "abreviación de huso horario «%s» está definida múltiples veces" -#: utils/misc/tzparser.c:238 +#: utils/misc/tzparser.c:239 #, c-format msgid "Entry in time zone file \"%s\", line %d, conflicts with entry in file \"%s\", line %d." msgstr "Entrada en archivo de huso horario «%s», línea %d, causa conflictos con entrada en archivo «%s», línea %d." -#: utils/misc/tzparser.c:300 +#: utils/misc/tzparser.c:301 #, c-format msgid "invalid time zone file name \"%s\"" msgstr "nombre de huso horario «%s» no válido" -#: utils/misc/tzparser.c:313 +#: utils/misc/tzparser.c:314 #, c-format msgid "time zone file recursion limit exceeded in file \"%s\"" msgstr "límite de recursión excedido en el archivo «%s»" -#: utils/misc/tzparser.c:352 utils/misc/tzparser.c:365 +#: utils/misc/tzparser.c:353 utils/misc/tzparser.c:366 #, c-format msgid "could not read time zone file \"%s\": %m" msgstr "no se pudo leer archivo de huso horario «%s»: %m" -#: utils/misc/tzparser.c:376 +#: utils/misc/tzparser.c:377 #, c-format msgid "line is too long in time zone file \"%s\", line %d" msgstr "línea demasiado larga en archivo de huso horario «%s», línea %d" -#: utils/misc/tzparser.c:400 +#: utils/misc/tzparser.c:401 #, c-format msgid "@INCLUDE without file name in time zone file \"%s\", line %d" msgstr "@INCLUDE sin nombre de archivo en archivo de huso horario «%s», línea %d" -#: utils/mmgr/aset.c:446 utils/mmgr/generation.c:206 utils/mmgr/slab.c:367 +#: utils/mmgr/aset.c:452 utils/mmgr/bump.c:184 utils/mmgr/generation.c:216 +#: utils/mmgr/slab.c:371 #, c-format msgid "Failed while creating memory context \"%s\"." msgstr "Falla al crear el contexto de memoria «%s»." -#: utils/mmgr/dsa.c:531 utils/mmgr/dsa.c:1341 +#: utils/mmgr/dsa.c:523 utils/mmgr/dsa.c:1364 #, c-format msgid "could not attach to dynamic shared area" msgstr "no se pudo adjuntar al segmento de memoria compartida dinámica" -#: utils/mmgr/mcxt.c:1047 utils/mmgr/mcxt.c:1083 utils/mmgr/mcxt.c:1121 -#: utils/mmgr/mcxt.c:1159 utils/mmgr/mcxt.c:1247 utils/mmgr/mcxt.c:1278 -#: utils/mmgr/mcxt.c:1314 utils/mmgr/mcxt.c:1503 utils/mmgr/mcxt.c:1548 -#: utils/mmgr/mcxt.c:1605 +#: utils/mmgr/mcxt.c:1155 #, 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:1210 +#: utils/mmgr/mcxt.c:1299 #, c-format msgid "logging memory contexts of PID %d" msgstr "registrando contextos de memoria del PID %d" -#: utils/mmgr/portalmem.c:188 +#: utils/mmgr/portalmem.c:187 #, c-format msgid "cursor \"%s\" already exists" msgstr "el cursor «%s» ya existe" -#: utils/mmgr/portalmem.c:192 +#: utils/mmgr/portalmem.c:191 #, c-format msgid "closing existing cursor \"%s\"" msgstr "cerrando el cursor «%s» preexistente" -#: utils/mmgr/portalmem.c:402 +#: utils/mmgr/portalmem.c:401 #, c-format msgid "portal \"%s\" cannot be run" msgstr "el portal «%s» no puede ser ejecutado" -#: utils/mmgr/portalmem.c:480 +#: utils/mmgr/portalmem.c:479 #, c-format msgid "cannot drop pinned portal \"%s\"" msgstr "no se puede eliminar el portal «pinned» «%s»" -#: utils/mmgr/portalmem.c:488 +#: utils/mmgr/portalmem.c:487 #, c-format msgid "cannot drop active portal \"%s\"" msgstr "no se puede eliminar el portal activo «%s»" -#: utils/mmgr/portalmem.c:739 +#: utils/mmgr/portalmem.c:738 #, c-format msgid "cannot PREPARE a transaction that has created a cursor WITH HOLD" msgstr "no se puede hacer PREPARE de una transacción que ha creado un cursor WITH HOLD" -#: utils/mmgr/portalmem.c:1230 +#: utils/mmgr/portalmem.c:1229 #, c-format msgid "cannot perform transaction commands inside a cursor loop that is not read-only" msgstr "no se pueden ejecutar órdenes de transacción dentro de un bucle de cursor que no es de sólo lectura" #: utils/sort/logtape.c:266 utils/sort/logtape.c:287 -#, c-format -msgid "could not seek to block %ld of temporary file" +#, fuzzy, c-format +msgid "could not seek to block %lld of temporary file" msgstr "no se pudo posicionar (seek) en el bloque %ld del archivo temporal" -#: utils/sort/sharedtuplestore.c:467 +#: utils/sort/sharedtuplestore.c:466 #, c-format msgid "unexpected chunk in shared tuplestore temporary file" msgstr "trozo inesperado en archivo temporal del tuplestore compartido" -#: utils/sort/sharedtuplestore.c:549 +#: utils/sort/sharedtuplestore.c:548 #, 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" @@ -29624,17 +30650,17 @@ msgstr "no se pudo posicionar (seek) en el bloque %u en el archivo temporal del msgid "cannot have more than %d runs for an external sort" msgstr "no se pueden tener más de %d pasadas para un ordenamiento externo" -#: utils/sort/tuplesortvariants.c:1364 +#: utils/sort/tuplesortvariants.c:1552 #, c-format msgid "could not create unique index \"%s\"" msgstr "no se pudo crear el índice único «%s»" -#: utils/sort/tuplesortvariants.c:1366 +#: utils/sort/tuplesortvariants.c:1554 #, c-format msgid "Key %s is duplicated." msgstr "La llave %s está duplicada." -#: utils/sort/tuplesortvariants.c:1367 +#: utils/sort/tuplesortvariants.c:1555 #, c-format msgid "Duplicate keys exist." msgstr "Existe una llave duplicada." @@ -29648,412 +30674,426 @@ msgstr "Existe una llave duplicada." msgid "could not seek in tuplestore temporary file" msgstr "no se pudo posicionar (seek) en el archivo temporal del tuplestore" -#: utils/time/snapmgr.c:571 +#: utils/time/snapmgr.c:536 #, c-format msgid "The source transaction is not running anymore." msgstr "La transacción de origen ya no está en ejecución." -#: utils/time/snapmgr.c:1166 +#: utils/time/snapmgr.c:1136 #, c-format msgid "cannot export a snapshot from a subtransaction" msgstr "no se puede exportar snapshots desde una subtransacción" -#: utils/time/snapmgr.c:1325 utils/time/snapmgr.c:1330 -#: utils/time/snapmgr.c:1335 utils/time/snapmgr.c:1350 -#: utils/time/snapmgr.c:1355 utils/time/snapmgr.c:1360 -#: utils/time/snapmgr.c:1375 utils/time/snapmgr.c:1380 -#: utils/time/snapmgr.c:1385 utils/time/snapmgr.c:1487 -#: utils/time/snapmgr.c:1503 utils/time/snapmgr.c:1528 +#: utils/time/snapmgr.c:1296 utils/time/snapmgr.c:1301 +#: utils/time/snapmgr.c:1306 utils/time/snapmgr.c:1321 +#: utils/time/snapmgr.c:1326 utils/time/snapmgr.c:1331 +#: utils/time/snapmgr.c:1346 utils/time/snapmgr.c:1351 +#: utils/time/snapmgr.c:1356 utils/time/snapmgr.c:1470 +#: utils/time/snapmgr.c:1486 utils/time/snapmgr.c:1511 #, c-format msgid "invalid snapshot data in file \"%s\"" msgstr "datos no válidos en archivo de snapshot «%s»" -#: utils/time/snapmgr.c:1422 +#: utils/time/snapmgr.c:1393 #, c-format msgid "SET TRANSACTION SNAPSHOT must be called before any query" msgstr "SET TRANSACTION SNAPSHOT debe ser llamado antes de cualquier consulta" -#: utils/time/snapmgr.c:1431 +#: utils/time/snapmgr.c:1402 #, c-format msgid "a snapshot-importing transaction must have isolation level SERIALIZABLE or REPEATABLE READ" msgstr "una transacción que importa un snapshot no debe tener nivel de aislación SERIALIZABLE o REPEATABLE READ" -#: utils/time/snapmgr.c:1440 utils/time/snapmgr.c:1449 +#: utils/time/snapmgr.c:1411 #, c-format msgid "invalid snapshot identifier: \"%s\"" msgstr "identificador de snapshot no válido: «%s»" -#: utils/time/snapmgr.c:1541 +#: utils/time/snapmgr.c:1426 +#, fuzzy, c-format +msgid "snapshot \"%s\" does not exist" +msgstr "no existe el «savepoint» «%s»" + +#: utils/time/snapmgr.c:1524 #, c-format msgid "a serializable transaction cannot import a snapshot from a non-serializable transaction" msgstr "una transacción serializable no puede importar un snapshot desde una transacción no serializable" -#: utils/time/snapmgr.c:1545 +#: utils/time/snapmgr.c:1528 #, c-format msgid "a non-read-only serializable transaction cannot import a snapshot from a read-only transaction" msgstr "una transacción serializable que no es de sólo lectura no puede importar un snapshot de una transacción de sólo lectura" -#: utils/time/snapmgr.c:1560 +#: utils/time/snapmgr.c:1543 #, c-format msgid "cannot import a snapshot from a different database" msgstr "no se puede importar un snapshot desde una base de datos diferente" -#: gram.y:1200 +#: gram.y:1234 #, c-format msgid "UNENCRYPTED PASSWORD is no longer supported" msgstr "UNENCRYPTED PASSWORD ya no está soportado" -#: gram.y:1201 +#: gram.y:1235 #, c-format msgid "Remove UNENCRYPTED to store the password in encrypted form instead." msgstr "Quite UNENCRYPTED para almacenar la contraseña en su lugar en forma cifrada." -#: gram.y:1528 gram.y:1544 +#: gram.y:1562 gram.y:1578 #, c-format msgid "CREATE SCHEMA IF NOT EXISTS cannot include schema elements" msgstr "CREATE SCHEMA IF NOT EXISTS no puede incluir elementos de esquema" -#: gram.y:1696 +#: gram.y:1730 #, c-format msgid "current database cannot be changed" msgstr "no se puede cambiar la base de datos activa" -#: gram.y:1829 +#: gram.y:1863 #, c-format msgid "time zone interval must be HOUR or HOUR TO MINUTE" msgstr "el intervalo de huso horario debe ser HOUR o HOUR TO MINUTE" -#: gram.y:2446 +#: gram.y:2539 #, c-format msgid "column number must be in range from 1 to %d" msgstr "el número de columna debe estar en el rango de 1 a %d" -#: gram.y:3042 +#: gram.y:3135 #, c-format msgid "sequence option \"%s\" not supported here" msgstr "la opción de secuencia «%s» no está soportada aquí" -#: gram.y:3071 +#: gram.y:3174 #, c-format msgid "modulus for hash partition provided more than once" msgstr "el módulo para partición de hash fue especificado más de una vez" -#: gram.y:3080 +#: gram.y:3183 #, c-format msgid "remainder for hash partition provided more than once" msgstr "el remanente para partición de hash fue especificado más de una vez" -#: gram.y:3087 +#: gram.y:3190 #, c-format msgid "unrecognized hash partition bound specification \"%s\"" msgstr "especificación de borde de partición hash «%s» no reconocida" -#: gram.y:3095 +#: gram.y:3198 #, c-format msgid "modulus for hash partition must be specified" msgstr "el módulo para una partición hash debe ser especificado" -#: gram.y:3099 +#: gram.y:3202 #, c-format msgid "remainder for hash partition must be specified" msgstr "remanente en partición hash debe ser especificado" -#: gram.y:3307 gram.y:3341 +#: gram.y:3410 gram.y:3444 #, c-format msgid "STDIN/STDOUT not allowed with PROGRAM" msgstr "STDIN/STDOUT no están permitidos con PROGRAM" -#: gram.y:3313 +#: gram.y:3416 #, c-format msgid "WHERE clause not allowed with COPY TO" msgstr "la cláusula WHERE no está permitida con COPY TO" -#: gram.y:3652 gram.y:3659 gram.y:12824 gram.y:12832 +#: gram.y:3764 gram.y:3771 gram.y:13068 gram.y:13076 #, c-format msgid "GLOBAL is deprecated in temporary table creation" msgstr "GLOBAL está obsoleto para la creación de tablas temporales" -#: gram.y:3935 +#: gram.y:4047 #, c-format msgid "for a generated column, GENERATED ALWAYS must be specified" msgstr "para una columna generada, GENERATED ALWAYS debe ser especificado" -#: gram.y:4318 -#, fuzzy, c-format -#| msgid "return type %s is not supported for SQL functions" +#: gram.y:4484 +#, c-format msgid "a column list with %s is only supported for ON DELETE actions" -msgstr "el tipo de retorno %s no es soportado en funciones SQL" +msgstr "una lista de columnas con %s sólo está soportada para acciones ON DELETE" -#: gram.y:5030 +#: gram.y:5196 #, c-format msgid "CREATE EXTENSION ... FROM is no longer supported" msgstr "CREATE EXTENSION ... FROM ya no está soportado" -#: gram.y:5728 +#: gram.y:5894 #, c-format msgid "unrecognized row security option \"%s\"" msgstr "opción de seguridad de registro «%s» no reconocida" -#: gram.y:5729 +#: gram.y:5895 #, c-format msgid "Only PERMISSIVE or RESTRICTIVE policies are supported currently." msgstr "sólo se admiten actualmente políticas PERMISSIVE o RESTRICTIVE." -#: gram.y:5814 +#: gram.y:5980 #, c-format msgid "CREATE OR REPLACE CONSTRAINT TRIGGER is not supported" msgstr "CREATE OR REPLACE CONSTRAINT TRIGGER no está soportado" -#: gram.y:5851 +#: gram.y:6017 msgid "duplicate trigger events specified" msgstr "se han especificado eventos de disparador duplicados" -#: gram.y:6000 +#: gram.y:6166 #, c-format msgid "conflicting constraint properties" msgstr "propiedades de restricción contradictorias" -#: gram.y:6099 +#: gram.y:6265 #, c-format msgid "CREATE ASSERTION is not yet implemented" msgstr "CREATE ASSERTION no está implementado" -#: gram.y:6507 +#: gram.y:6582 +#, fuzzy, c-format +msgid "dropping an enum value is not implemented" +msgstr "xmlvalidate no está implementado" + +#: gram.y:6700 #, c-format msgid "RECHECK is no longer required" msgstr "RECHECK ya no es requerido" -#: gram.y:6508 +#: gram.y:6701 #, c-format msgid "Update your data type." msgstr "Actualice su tipo de datos." -#: gram.y:8381 +#: gram.y:8574 #, c-format msgid "aggregates cannot have output arguments" msgstr "las funciones de agregación no pueden tener argumentos de salida" -#: gram.y:11057 gram.y:11076 +#: gram.y:11266 gram.y:11285 #, c-format msgid "WITH CHECK OPTION not supported on recursive views" msgstr "WITH CHECK OPTION no está soportado con vistas recursivas" -#: gram.y:12963 +#: gram.y:13207 #, c-format msgid "LIMIT #,# syntax is not supported" msgstr "la sintaxis LIMIT #,# no está soportada" -#: gram.y:12964 +#: gram.y:13208 #, c-format msgid "Use separate LIMIT and OFFSET clauses." msgstr "Use cláusulas LIMIT y OFFSET separadas." -#: gram.y:13824 +#: gram.y:14083 #, c-format msgid "only one DEFAULT value is allowed" msgstr "Sólo se permite un valor DEFAULT" -#: gram.y:13833 +#: gram.y:14092 #, c-format msgid "only one PATH value per column is allowed" msgstr "sólo se permite un valor de PATH por columna" -#: gram.y:13842 +#: gram.y:14101 #, c-format msgid "conflicting or redundant NULL / NOT NULL declarations for column \"%s\"" msgstr "declaraciones NULL/NOT NULL en conflicto o redundantes para la columna «%s»" -#: gram.y:13851 +#: gram.y:14110 #, c-format msgid "unrecognized column option \"%s\"" msgstr "opción de columna «%s» no reconocida" -#: gram.y:14105 +#: gram.y:14192 +#, fuzzy, c-format +msgid "only string constants are supported in JSON_TABLE path specification" +msgstr "las restricciones de exclusión no están soportadas en tablas particionadas" + +#: gram.y:14514 #, c-format msgid "precision for type float must be at least 1 bit" msgstr "la precisión para el tipo float debe ser al menos 1 bit" -#: gram.y:14114 +#: gram.y:14523 #, c-format msgid "precision for type float must be less than 54 bits" msgstr "la precisión para el tipo float debe ser menor de 54 bits" -#: gram.y:14617 +#: gram.y:15040 #, c-format msgid "wrong number of parameters on left side of OVERLAPS expression" msgstr "el número de parámetros es incorrecto al lado izquierdo de la expresión OVERLAPS" -#: gram.y:14622 +#: gram.y:15045 #, c-format msgid "wrong number of parameters on right side of OVERLAPS expression" msgstr "el número de parámetros es incorrecto al lado derecho de la expresión OVERLAPS" -#: gram.y:14799 +#: gram.y:15222 #, c-format msgid "UNIQUE predicate is not yet implemented" msgstr "el predicado UNIQUE no está implementado" -#: gram.y:15215 +#: gram.y:15636 #, c-format msgid "cannot use multiple ORDER BY clauses with WITHIN GROUP" msgstr "no se permiten múltiples cláusulas ORDER BY con WITHIN GROUP" -#: gram.y:15220 +#: gram.y:15641 #, c-format msgid "cannot use DISTINCT with WITHIN GROUP" msgstr "no se permite DISTINCT con WITHIN GROUP" -#: gram.y:15225 +#: gram.y:15646 #, c-format msgid "cannot use VARIADIC with WITHIN GROUP" msgstr "no se permite VARIADIC con WITHIN GROUP" -#: gram.y:15859 gram.y:15883 +#: gram.y:16373 gram.y:16397 #, c-format msgid "frame start cannot be UNBOUNDED FOLLOWING" msgstr "el inicio de «frame» no puede ser UNBOUNDED FOLLOWING" -#: gram.y:15864 +#: gram.y:16378 #, c-format msgid "frame starting from following row cannot end with current row" msgstr "el «frame» que se inicia desde la siguiente fila no puede terminar en la fila actual" -#: gram.y:15888 +#: gram.y:16402 #, c-format msgid "frame end cannot be UNBOUNDED PRECEDING" msgstr "el fin de «frame» no puede ser UNBOUNDED PRECEDING" -#: gram.y:15894 +#: gram.y:16408 #, c-format msgid "frame starting from current row cannot have preceding rows" msgstr "el «frame» que se inicia desde la fila actual no puede tener filas precedentes" -#: gram.y:15901 +#: gram.y:16415 #, c-format msgid "frame starting from following row cannot have preceding rows" msgstr "el «frame» que se inicia desde la fila siguiente no puede tener filas precedentes" -#: gram.y:16660 +#: gram.y:16964 +#, c-format +msgid "unrecognized JSON encoding: %s" +msgstr "no se reconoce la codificación JSON: %s" + +#: gram.y:17288 #, c-format msgid "type modifier cannot have parameter name" msgstr "el modificador de tipo no puede tener nombre de parámetro" -#: gram.y:16666 +#: gram.y:17294 #, c-format msgid "type modifier cannot have ORDER BY" msgstr "el modificador de tipo no puede tener ORDER BY" -#: gram.y:16734 gram.y:16741 gram.y:16748 +#: gram.y:17362 gram.y:17369 gram.y:17376 #, c-format msgid "%s cannot be used as a role name here" msgstr "%s no puede ser usado como nombre de rol aquí" -#: gram.y:16838 gram.y:18295 +#: gram.y:17466 gram.y:18955 #, c-format msgid "WITH TIES cannot be specified without ORDER BY clause" msgstr "la opción WITH TIES no puede ser especificada sin una cláusula ORDER BY" -#: gram.y:17974 gram.y:18161 +#: gram.y:18646 gram.y:18821 msgid "improper use of \"*\"" msgstr "uso impropio de «*»" -#: gram.y:18225 +#: gram.y:18885 #, c-format msgid "an ordered-set aggregate with a VARIADIC direct argument must have one VARIADIC aggregated argument of the same data type" msgstr "una agregación de conjunto-ordenado con un argumento directo VARIADIC debe tener al menos un argumento agregado VARIADIC del mismo tipo de datos" -#: gram.y:18262 +#: gram.y:18922 #, c-format msgid "multiple ORDER BY clauses not allowed" msgstr "no se permiten múltiples cláusulas ORDER BY" -#: gram.y:18273 +#: gram.y:18933 #, c-format msgid "multiple OFFSET clauses not allowed" msgstr "no se permiten múltiples cláusulas OFFSET" -#: gram.y:18282 +#: gram.y:18942 #, c-format msgid "multiple LIMIT clauses not allowed" msgstr "no se permiten múltiples cláusulas LIMIT" -#: gram.y:18291 +#: gram.y:18951 #, c-format msgid "multiple limit options not allowed" msgstr "no se permiten múltiples opciones limit" -#: gram.y:18318 +#: gram.y:18978 #, c-format msgid "multiple WITH clauses not allowed" msgstr "no se permiten múltiples cláusulas WITH" -#: gram.y:18511 +#: gram.y:19171 #, c-format msgid "OUT and INOUT arguments aren't allowed in TABLE functions" msgstr "los argumentos OUT e INOUT no están permitidos en funciones TABLE" -#: gram.y:18644 +#: gram.y:19304 #, c-format msgid "multiple COLLATE clauses not allowed" msgstr "no se permiten múltiples cláusulas COLLATE" #. translator: %s is CHECK, UNIQUE, or similar -#: gram.y:18682 gram.y:18695 +#: gram.y:19342 gram.y:19355 #, c-format msgid "%s constraints cannot be marked DEFERRABLE" msgstr "las restricciones %s no pueden ser marcadas DEFERRABLE" #. translator: %s is CHECK, UNIQUE, or similar -#: gram.y:18708 +#: gram.y:19368 #, c-format msgid "%s constraints cannot be marked NOT VALID" msgstr "las restricciones %s no pueden ser marcadas NOT VALID" #. translator: %s is CHECK, UNIQUE, or similar -#: gram.y:18721 +#: gram.y:19381 #, c-format msgid "%s constraints cannot be marked NO INHERIT" msgstr "las restricciones %s no pueden ser marcadas NO INHERIT" -#: gram.y:18743 +#: gram.y:19403 #, c-format msgid "unrecognized partitioning strategy \"%s\"" msgstr "estrategia de particionamiento «%s» no reconocida" -#: gram.y:18767 -#, fuzzy, c-format -#| msgid "invalid publication_names syntax" +#: gram.y:19427 +#, c-format msgid "invalid publication object list" -msgstr "sintaxis de publication_names no válida" +msgstr "sintaxis de lista de objetos de publicación no válida" -#: gram.y:18768 +#: gram.y:19428 #, c-format msgid "One of TABLE or TABLES IN SCHEMA must be specified before a standalone table or schema name." -msgstr "" +msgstr "Uno de TABLE o TABLES IN SCHEMA debe ser especificado antes de un nombre de tabla o esquema." -#: gram.y:18784 -#, fuzzy, c-format -#| msgid "invalid locale name \"%s\"" +#: gram.y:19444 +#, c-format msgid "invalid table name" -msgstr "nombre de configuración regional «%s» no es válido" +msgstr "nombre de tabla no válido" -#: gram.y:18805 -#, fuzzy, c-format -#| msgid "WHERE clause not allowed with COPY TO" +#: gram.y:19465 +#, c-format msgid "WHERE clause not allowed for schema" -msgstr "la cláusula WHERE no está permitida con COPY TO" +msgstr "cláusula WHERE no permitida para esquemas" -#: gram.y:18812 -#, fuzzy, c-format -#| msgid "interval specification not allowed here" +#: gram.y:19472 +#, c-format msgid "column specification not allowed for schema" -msgstr "la especificación de intervalo no está permitida aquí" +msgstr "especificación de columnas no permitida para esquemas" -#: gram.y:18826 -#, fuzzy, c-format -#| msgid "invalid fork name" +#: gram.y:19486 +#, c-format msgid "invalid schema name" -msgstr "nombre de «fork» no válido" +msgstr "nombre de esquema no válido" #: guc-file.l:192 #, c-format @@ -30095,54 +31135,47 @@ msgstr "error de sintaxis en el archivo «%s» línea %u, cerca de la palabra « msgid "too many syntax errors found, abandoning file \"%s\"" msgstr "se encontraron demasiados errores de sintaxis, abandonando el archivo «%s»" -#: jsonpath_gram.y:529 +#: jsonpath_gram.y:267 #, c-format -msgid "Unrecognized flag character \"%.*s\" in LIKE_REGEX predicate." +msgid ".decimal() can only have an optional precision[,scale]." msgstr "" -#: jsonpath_gram.y:607 +#: jsonpath_gram.y:599 +#, c-format +msgid "Unrecognized flag character \"%.*s\" in LIKE_REGEX predicate." +msgstr "Carácter de bandera «%.*s» no reconocido en predicado LIKE_REGEX." + +#: jsonpath_gram.y:677 #, c-format msgid "XQuery \"x\" flag (expanded regular expressions) is not implemented" msgstr "la opción «x» de XQuery (expresiones regulares expandidas) no está implementada" #: jsonpath_scan.l:174 -#, fuzzy -#| msgid "invalid Unicode escape" -msgid "invalid unicode sequence" -msgstr "valor de escape Unicode no válido" +msgid "invalid Unicode escape sequence" +msgstr "secuencia de escape Unicode no válida" #: jsonpath_scan.l:180 -#, fuzzy -#| msgid "invalid character" -msgid "invalid hex character sequence" -msgstr "carácter no válido" +msgid "invalid hexadecimal character sequence" +msgstr "secuencia de caracteres hexadecimales no válido" #: jsonpath_scan.l:195 -#, fuzzy -#| msgid "unexpected end of line" msgid "unexpected end after backslash" -msgstr "fin de línea inesperado" +msgstr "fin inesperado después de backslash" -#: jsonpath_scan.l:201 -#, fuzzy -#| msgid "unexpected end of line" -msgid "unexpected end of quoted string" -msgstr "fin de línea inesperado" +#: jsonpath_scan.l:201 repl_scanner.l:211 scan.l:742 +msgid "unterminated quoted string" +msgstr "una cadena de caracteres entre comillas está inconclusa" #: jsonpath_scan.l:228 -#, fuzzy -#| msgid "unexpected end of line" msgid "unexpected end of comment" -msgstr "fin de línea inesperado" +msgstr "fin de comentario inesperado" #: jsonpath_scan.l:319 -#, fuzzy -#| msgid "numeric_literal" msgid "invalid numeric literal" -msgstr "literal_numérico" +msgstr "literal numérico no válido" -#: jsonpath_scan.l:325 jsonpath_scan.l:331 jsonpath_scan.l:337 scan.l:1049 -#: scan.l:1053 scan.l:1057 scan.l:1061 scan.l:1065 scan.l:1069 scan.l:1073 +#: jsonpath_scan.l:325 jsonpath_scan.l:331 jsonpath_scan.l:337 scan.l:1050 +#: scan.l:1054 scan.l:1058 scan.l:1062 scan.l:1066 scan.l:1070 scan.l:1074 msgid "trailing junk after numeric literal" msgstr "basura sigue después de un literal numérico" @@ -30158,162 +31191,139 @@ msgstr "%s al final de la entrada jsonpath" msgid "%s at or near \"%s\" of jsonpath input" msgstr "%s en o cerca de «%s» de la entrada jsonpath" -#: jsonpath_scan.l:557 -msgid "bogus input" -msgstr "" +#: jsonpath_scan.l:568 +msgid "invalid input" +msgstr "entrada no válida" -#: jsonpath_scan.l:583 -#, fuzzy -#| msgid "invalid hexadecimal digit: \"%.*s\"" +#: jsonpath_scan.l:594 msgid "invalid hexadecimal digit" -msgstr "dígito hexadecimal no válido: «%.*s»" +msgstr "dígito hexadecimal no válido" -#: jsonpath_scan.l:614 -#, fuzzy, c-format -#| msgid "could not encode server key" -msgid "could not convert unicode to server encoding" -msgstr "no se pudo codificar la llave del servidor" +#: jsonpath_scan.l:625 +#, c-format +msgid "could not convert Unicode to server encoding" +msgstr "no se pudo convertir Unicode a la codificación del servidor" -#: repl_gram.y:301 repl_gram.y:333 +#: repl_gram.y:318 repl_gram.y:359 #, c-format msgid "invalid timeline %u" msgstr "timeline %u no válido" -#: repl_scanner.l:152 -#, fuzzy -#| msgid "invalid transaction termination" +#: repl_scanner.l:154 msgid "invalid streaming start location" -msgstr "terminación de transacción no válida" +msgstr "ubicación de inicio de flujo no válida" -#: repl_scanner.l:209 scan.l:741 -msgid "unterminated quoted string" -msgstr "una cadena de caracteres entre comillas está inconclusa" - -#: scan.l:482 +#: scan.l:483 msgid "unterminated /* comment" msgstr "un comentario /* está inconcluso" -#: scan.l:502 +#: scan.l:503 msgid "unterminated bit string literal" msgstr "una cadena de bits está inconclusa" -#: scan.l:516 +#: scan.l:517 msgid "unterminated hexadecimal string literal" msgstr "una cadena hexadecimal está inconclusa" -#: scan.l:566 +#: scan.l:567 #, c-format msgid "unsafe use of string constant with Unicode escapes" msgstr "uso inseguro de literal de cadena con escapes Unicode" -#: scan.l:567 +#: scan.l:568 #, c-format -msgid "String constants with Unicode escapes cannot be used when standard_conforming_strings is off." -msgstr "Los literales de cadena con escapes Unicode no pueden usarse cuando standard_conforming_strings está desactivado." +msgid "String constants with Unicode escapes cannot be used when \"standard_conforming_strings\" is off." +msgstr "Los literales de cadena con escapes Unicode no pueden usarse cuando «standard_conforming_strings» está desactivado." -#: scan.l:628 +#: scan.l:629 msgid "unhandled previous state in xqs" msgstr "estado previo no manejado en xqs" -#: scan.l:702 +#: scan.l:703 #, c-format msgid "Unicode escapes must be \\uXXXX or \\UXXXXXXXX." msgstr "Los escapes Unicode deben ser \\uXXXX o \\UXXXXXXXX." -#: scan.l:713 +#: scan.l:714 #, c-format msgid "unsafe use of \\' in a string literal" msgstr "uso inseguro de \\' en un literal de cadena" -#: scan.l:714 +#: scan.l:715 #, c-format msgid "Use '' to write quotes in strings. \\' is insecure in client-only encodings." msgstr "Use '' para escribir comillas en cadenas. \\' es inseguro en codificaciones de sólo cliente." -#: scan.l:786 +#: scan.l:787 msgid "unterminated dollar-quoted string" msgstr "una cadena separada por $ está inconclusa" -#: scan.l:803 scan.l:813 +#: scan.l:804 scan.l:814 msgid "zero-length delimited identifier" msgstr "un identificador delimitado tiene largo cero" -#: scan.l:824 syncrep_scanner.l:101 +#: scan.l:825 syncrep_scanner.l:101 msgid "unterminated quoted identifier" msgstr "un identificador entre comillas está inconcluso" -#: scan.l:987 +#: scan.l:988 msgid "operator too long" msgstr "el operador es demasiado largo" -#: scan.l:1000 +#: scan.l:1001 msgid "trailing junk after parameter" msgstr "basura sigue después de un parámetro" -#: scan.l:1021 -#, fuzzy -#| msgid "invalid hexadecimal string literal" +#: scan.l:1022 msgid "invalid hexadecimal integer" -msgstr "cadena hexadecimal no válida" +msgstr "entero hexadecimal no válido" -#: scan.l:1025 -#, fuzzy -#| msgid "invalid Datum pointer" +#: scan.l:1026 msgid "invalid octal integer" -msgstr "puntero a Datum no válido" +msgstr "entero octal no válido" -#: scan.l:1029 -#, fuzzy -#| msgid "invalid Datum pointer" +#: scan.l:1030 msgid "invalid binary integer" -msgstr "puntero a Datum no válido" +msgstr "entero binario no válido" #. translator: %s is typically the translation of "syntax error" -#: scan.l:1236 +#: scan.l:1237 #, c-format msgid "%s at end of input" msgstr "%s al final de la entrada" #. translator: first %s is typically the translation of "syntax error" -#: scan.l:1244 +#: scan.l:1245 #, c-format msgid "%s at or near \"%s\"" msgstr "%s en o cerca de «%s»" -#: scan.l:1434 +#: scan.l:1437 #, c-format msgid "nonstandard use of \\' in a string literal" msgstr "uso no estandar de \\' en un literal de cadena" -#: scan.l:1435 +#: scan.l:1438 #, c-format msgid "Use '' to write quotes in strings, or use the escape string syntax (E'...')." msgstr "Use '' para escribir comillas en cadenas, o use la sintaxis de escape de cadenas (E'...')." -#: scan.l:1444 +#: scan.l:1447 #, c-format msgid "nonstandard use of \\\\ in a string literal" msgstr "uso no estandar de \\\\ en un literal de cadena" -#: scan.l:1445 +#: scan.l:1448 #, c-format msgid "Use the escape string syntax for backslashes, e.g., E'\\\\'." msgstr "Use '' para escribir comillas en cadenas, o use la sintaxis de escape de cadenas (E'\\\\')." -#: scan.l:1459 +#: scan.l:1462 #, c-format msgid "nonstandard use of escape in a string literal" msgstr "uso no estandar de escape en un literal de cadena" -#: scan.l:1460 +#: scan.l:1463 #, c-format msgid "Use the escape string syntax for escapes, e.g., E'\\r\\n'." msgstr "Use la sintaxis de escape para cadenas, por ej. E'\\r\\n'." - -#, c-format -#~ msgid "value for compression option \"%s\" must be a boolean" -#~ msgstr "el valor para la opción de compresión «%s» debe ser un booleano" - -#, c-format -#~ msgid "String contains unexpected escape sequence \"%c\"." -#~ msgstr "La cadena contiene la secuencia de escape inesperada «%c»." diff --git a/src/backend/po/fr.po b/src/backend/po/fr.po index eca2a961f98..29695c09234 100644 --- a/src/backend/po/fr.po +++ b/src/backend/po/fr.po @@ -8,10 +8,10 @@ # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 15\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2023-10-29 17:11+0000\n" -"PO-Revision-Date: 2022-10-31 18:00+0100\n" +"PO-Revision-Date: 2024-09-16 16:28+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -19,7 +19,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.1.1\n" +"X-Generator: Poedit 3.5\n" #: ../common/compression.c:132 ../common/compression.c:141 #: ../common/compression.c:150 @@ -1743,12 +1743,12 @@ msgstr "Les protections sur la réutilisation d'un membre MultiXact sont mainten #: access/transam/multixact.c:3027 #, c-format msgid "oldest MultiXact %u not found, earliest MultiXact %u, skipping truncation" -msgstr "plus ancien MultiXact introuvable %u, plus récent MultiXact %u, ignore le troncage" +msgstr "plus ancien MultiXact introuvable %u, plus récent MultiXact %u, ignore le tronquage" #: access/transam/multixact.c:3045 #, c-format msgid "cannot truncate up to MultiXact %u because it does not exist on disk, skipping truncation" -msgstr "ne peut pas tronquer jusqu'au MutiXact %u car il n'existe pas sur disque, ignore le troncage" +msgstr "ne peut pas tronquer jusqu'au MutiXact %u car il n'existe pas sur disque, ignore le tronquage" #: access/transam/multixact.c:3359 #, c-format @@ -3649,7 +3649,7 @@ msgstr[1] "%lld erreurs de vérifications des sommes de contrôle au total" #: backup/basebackup.c:653 #, c-format msgid "checksum verification failure during base backup" -msgstr "échec de la véffication de somme de controle durant la sauvegarde de base" +msgstr "échec de la vérification de somme de contrôle durant la sauvegarde de base" #: backup/basebackup.c:722 backup/basebackup.c:731 backup/basebackup.c:742 #: backup/basebackup.c:759 backup/basebackup.c:768 backup/basebackup.c:779 @@ -4127,7 +4127,7 @@ msgstr "type de droit « %s » non reconnu" #: catalog/aclchk.c:2684 #, c-format msgid "permission denied for aggregate %s" -msgstr "droit refusé pour l'aggrégat %s" +msgstr "droit refusé pour l'agrégat %s" #: catalog/aclchk.c:2687 #, c-format @@ -4299,7 +4299,7 @@ msgstr "droit refusé pour la vue %s" #: catalog/aclchk.c:2819 #, c-format msgid "must be owner of aggregate %s" -msgstr "doit être le propriétaire de l'aggrégat %s" +msgstr "doit être le propriétaire de l'agrégat %s" #: catalog/aclchk.c:2822 #, c-format @@ -4379,17 +4379,17 @@ msgstr "doit être le propriétaire de la classe d'opérateur %s" #: catalog/aclchk.c:2867 #, c-format msgid "must be owner of operator %s" -msgstr "doit être le prorpriétaire de l'opérateur %s" +msgstr "doit être le propriétaire de l'opérateur %s" #: catalog/aclchk.c:2870 #, c-format msgid "must be owner of operator family %s" -msgstr "doit être le prorpriétaire de la famille d'opérateur %s" +msgstr "doit être le propriétaire de la famille d'opérateur %s" #: catalog/aclchk.c:2873 #, c-format msgid "must be owner of procedure %s" -msgstr "doit être le prorpriétaire de la procédure %s" +msgstr "doit être le propriétaire de la procédure %s" #: catalog/aclchk.c:2876 #, c-format @@ -4731,7 +4731,7 @@ msgstr "la contrainte « %s » de la relation « %s » existe déjà" #: catalog/heap.c:2570 #, c-format msgid "constraint \"%s\" conflicts with non-inherited constraint on relation \"%s\"" -msgstr "la contrainte « %s » entre en conflit avec la constrainte non héritée sur la relation « %s »" +msgstr "la contrainte « %s » entre en conflit avec la contrainte non héritée sur la relation « %s »" #: catalog/heap.c:2581 #, c-format @@ -5631,7 +5631,7 @@ msgstr "utilisation non sûre des pseudo-types « INTERNAL »" #: catalog/pg_aggregate.c:567 #, c-format msgid "moving-aggregate implementation returns type %s, but plain implementation returns type %s" -msgstr "l'impémentation d'aggrégat glissant retourne le type %s, mais l'implémentation standard retourne le type %s" +msgstr "l'implémentation d'agrégat glissant retourne le type %s, mais l'implémentation standard retourne le type %s" #: catalog/pg_aggregate.c:578 #, c-format @@ -6316,7 +6316,7 @@ msgstr "le type de données de transition de l'agrégat ne peut pas être %s" #: commands/aggregatecmds.c:363 #, c-format msgid "serialization functions may be specified only when the aggregate transition data type is %s" -msgstr "les fonctions de sérialisation ne peuvent être spécifiées que quand le type de données des transitions d'aggrégat est %s" +msgstr "les fonctions de sérialisation ne peuvent être spécifiées que quand le type de données des transitions d'agrégat est %s" #: commands/aggregatecmds.c:373 #, c-format @@ -6477,7 +6477,7 @@ msgstr "analyse « %s.%s »" #: commands/analyze.c:395 #, c-format msgid "column \"%s\" of relation \"%s\" appears more than once" -msgstr "la colonne « %s » de la relation « %s » apparait plus d'une fois" +msgstr "la colonne « %s » de la relation « %s » apparaît plus d'une fois" #: commands/analyze.c:787 #, c-format @@ -6699,7 +6699,7 @@ msgstr "l'encodage de la base de données courante n'est pas supporté avec ce f #: commands/collationcmds.c:385 #, c-format msgid "collation \"%s\" for encoding \"%s\" already exists in schema \"%s\"" -msgstr "le collationnament « %s » pour l'encodage « %s » existe déjà dans le schéma « %s »" +msgstr "le collationnement « %s » pour l'encodage « %s » existe déjà dans le schéma « %s »" #: commands/collationcmds.c:396 #, c-format @@ -9180,7 +9180,7 @@ msgstr "option de REINDEX « %s » non reconnue" #: commands/indexcmds.c:2923 #, c-format msgid "table \"%s\" has no indexes that can be reindexed concurrently" -msgstr "la table « %s » n'a pas d'index qui puisse être réindexé concuremment" +msgstr "la table « %s » n'a pas d'index qui puisse être réindexé concurremment" #: commands/indexcmds.c:2937 #, c-format @@ -9586,7 +9586,7 @@ msgstr "droit refusé : « %s » est un catalogue système" #: commands/policy.c:172 #, c-format msgid "ignoring specified roles other than PUBLIC" -msgstr "ingore les rôles spécifiés autre que PUBLIC" +msgstr "ignore les rôles spécifiés autre que PUBLIC" #: commands/policy.c:173 #, c-format @@ -13626,7 +13626,7 @@ msgstr "" #: executor/execIndexing.c:588 #, c-format msgid "ON CONFLICT does not support deferrable unique constraints/exclusion constraints as arbiters" -msgstr "ON CONFLICT ne supporte pas les contraintes uniques diferrables et les contraintes d'exclusion différables comme arbitres" +msgstr "ON CONFLICT ne supporte pas les contraintes uniques différables et les contraintes d'exclusion différables comme arbitres" #: executor/execIndexing.c:865 #, c-format @@ -15328,7 +15328,7 @@ msgstr "conversation PAM %d/\"%s\" non supportée" #: libpq/auth.c:2049 #, c-format msgid "could not create PAM authenticator: %s" -msgstr "n'a pas pu créer l'authenticateur PAM : %s" +msgstr "n'a pas pu créer le processus d'authentification PAM : %s" #: libpq/auth.c:2060 #, c-format @@ -15358,7 +15358,7 @@ msgstr "pam_acct_mgmt a échoué : %s" #: libpq/auth.c:2141 #, c-format msgid "could not release PAM authenticator: %s" -msgstr "n'a pas pu fermer l'authenticateur PAM : %s" +msgstr "n'a pas pu fermer le processus d'authentification PAM : %s" #: libpq/auth.c:2221 #, c-format @@ -15962,7 +15962,7 @@ msgstr "n'a pas pu convertir le NID %d en une structure ASN1_OBJECT" #: libpq/be-secure.c:207 libpq/be-secure.c:303 #, c-format msgid "terminating connection due to unexpected postmaster exit" -msgstr "arrêt des connexions suite à un arrêt inatendu du postmaster" +msgstr "arrêt des connexions suite à un arrêt inattendu du postmaster" #: libpq/crypt.c:49 #, c-format @@ -16700,10 +16700,10 @@ msgstr "" "Options pour le développeur :\n" #: main/main.c:355 -#, fuzzy, c-format +#, c-format #| msgid " -f s|i|n|m|h forbid use of some plan types\n" msgid " -f s|i|o|b|t|n|m|h forbid use of some plan types\n" -msgstr " -f s|i|n|m|h interdit l'utilisation de certains types de plan\n" +msgstr " -f s|i|o|b|t|n|m|h interdit l'utilisation de certains types de plan\n" #: main/main.c:356 #, c-format @@ -17439,7 +17439,7 @@ msgstr "les fonctions de regroupement ne sont pas autorisés dans %s" #: parser/parse_agg.c:690 #, c-format msgid "outer-level aggregate cannot contain a lower-level variable in its direct arguments" -msgstr "un aggrégat de niveau externe ne peut pas contenir de variable de niveau inférieur dans ses arguments directs" +msgstr "un agrégat de niveau externe ne peut pas contenir de variable de niveau inférieur dans ses arguments directs" #: parser/parse_agg.c:768 #, c-format @@ -17560,7 +17560,7 @@ msgstr "la colonne « %s.%s » doit apparaître dans la clause GROUP BY ou doit #: parser/parse_agg.c:1432 #, c-format msgid "Direct arguments of an ordered-set aggregate must use only grouped columns." -msgstr "Les arguments directs d'un agégat par ensemble ordonné doivent seulement utiliser des colonnes groupées." +msgstr "Les arguments directs d'un agrégat par ensemble ordonné doivent seulement utiliser des colonnes groupées." #: parser/parse_agg.c:1437 #, c-format @@ -17642,19 +17642,19 @@ msgstr "seul un espace de nom par défaut est autorisé" #: parser/parse_clause.c:933 #, c-format msgid "tablesample method %s does not exist" -msgstr "la méthode d'échantillonage %s n'existe pas" +msgstr "la méthode d'échantillonnage %s n'existe pas" #: parser/parse_clause.c:955 #, c-format msgid "tablesample method %s requires %d argument, not %d" msgid_plural "tablesample method %s requires %d arguments, not %d" -msgstr[0] "la méthode d'échantillonage %s requiert %d argument, et non pas %d" -msgstr[1] "la méthode d'échantillonage %s requiert %d arguments, et non pas %d" +msgstr[0] "la méthode d'échantillonnage %s requiert %d argument, et non pas %d" +msgstr[1] "la méthode d'échantillonnage %s requiert %d arguments, et non pas %d" #: parser/parse_clause.c:989 #, c-format msgid "tablesample method %s does not support REPEATABLE" -msgstr "la méthode d'échantillonage %s ne supporte pas REPEATABLE" +msgstr "la méthode d'échantillonnage %s ne supporte pas REPEATABLE" #: parser/parse_clause.c:1138 #, c-format @@ -17837,12 +17837,12 @@ msgstr "" #: parser/parse_clause.c:3770 #, c-format msgid "RANGE with offset PRECEDING/FOLLOWING is not supported for column type %s" -msgstr "RANGE avec offset PRECEDING/FOLLOWING n'est pas supporté pour le type de collone %s" +msgstr "RANGE avec décalage PRECEDING/FOLLOWING n'est pas supporté pour le type de colonne %s" #: parser/parse_clause.c:3776 #, c-format msgid "RANGE with offset PRECEDING/FOLLOWING is not supported for column type %s and offset type %s" -msgstr "RANGE avec offset PRECEDING/FOLLOWING n'est pas supporté pour le type de colonne %s et le type d'ossfet %s" +msgstr "RANGE avec offset PRECEDING/FOLLOWING n'est pas supporté pour le type de colonne %s et le type de décalage %s" #: parser/parse_clause.c:3779 #, c-format @@ -17852,12 +17852,12 @@ msgstr "Transtypez la valeur d'offset vers un type approprié." #: parser/parse_clause.c:3784 #, c-format msgid "RANGE with offset PRECEDING/FOLLOWING has multiple interpretations for column type %s and offset type %s" -msgstr "RANGE avec offset PRECEDING/FOLLOWING a de multiples interprétations pour le type de colonne %s et le type d'offset %s" +msgstr "RANGE avec offset PRECEDING/FOLLOWING a de multiples interprétations pour le type de colonne %s et le type de décalage %s" #: parser/parse_clause.c:3787 #, c-format msgid "Cast the offset value to the exact intended type." -msgstr "Transtypez la valeur d'offset vers exactement le type attendu." +msgstr "Transtypez la valeur de décalage vers exactement le type attendu." #: parser/parse_coerce.c:1050 parser/parse_coerce.c:1088 #: parser/parse_coerce.c:1106 parser/parse_coerce.c:1121 @@ -18105,7 +18105,7 @@ msgstr "Convertissez la sortie du terme non récursif dans le bon type." #: parser/parse_cte.c:401 #, c-format msgid "recursive query \"%s\" column %d has collation \"%s\" in non-recursive term but collation \"%s\" overall" -msgstr "requête récursive « %s » : la colonne %d a le collationnement « %s » dans un terme non récursifet un collationnement « %s » global" +msgstr "requête récursive « %s » : la colonne %d a le collationnement « %s » dans un terme non récursif et un collationnement « %s » global" #: parser/parse_cte.c:405 #, c-format @@ -18268,7 +18268,7 @@ msgstr "ne peut pas utiliser une référence de colonne dans une expression de l #: parser/parse_relation.c:915 parser/parse_target.c:1225 #, c-format msgid "column reference \"%s\" is ambiguous" -msgstr "la référence à la colonne « %s » est ambigüe" +msgstr "la référence à la colonne « %s » est ambiguë" #: parser/parse_expr.c:866 parser/parse_param.c:110 parser/parse_param.c:142 #: parser/parse_param.c:204 parser/parse_param.c:303 @@ -18448,7 +18448,7 @@ msgstr "" #: parser/parse_expr.c:2908 #, c-format msgid "There are multiple equally-plausible candidates." -msgstr "Il existe de nombreus candidats également plausibles." +msgstr "Il existe de nombreux candidats également plausibles." #: parser/parse_expr.c:3001 #, c-format @@ -18751,7 +18751,7 @@ msgstr "n'a pas pu trouver une procédure nommée « %s »" #: parser/parse_func.c:2419 #, c-format msgid "could not find an aggregate named \"%s\"" -msgstr "n'a pas pu trouver un aggrégat nommé « %s »" +msgstr "n'a pas pu trouver un agrégat nommé « %s »" #: parser/parse_func.c:2424 #, c-format @@ -18976,12 +18976,12 @@ msgstr "n'a pas pu déterminer le type de données du paramètre $%d" #: parser/parse_relation.c:221 #, c-format msgid "table reference \"%s\" is ambiguous" -msgstr "la référence à la table « %s » est ambigüe" +msgstr "la référence à la table « %s » est ambiguë" #: parser/parse_relation.c:265 #, c-format msgid "table reference %u is ambiguous" -msgstr "la référence à la table %u est ambigüe" +msgstr "la référence à la table %u est ambiguë" #: parser/parse_relation.c:465 #, c-format @@ -19288,7 +19288,7 @@ msgstr "les colonnes générées ne sont pas supportées sur les tables typées" #: parser/parse_utilcmd.c:747 #, c-format msgid "multiple generation clauses specified for column \"%s\" of table \"%s\"" -msgstr "plusieurs expressions de géénration sont spécifiées pour la colonne « %s » de la table « %s »" +msgstr "plusieurs expressions de génération sont spécifiées pour la colonne « %s » de la table « %s »" #: parser/parse_utilcmd.c:765 parser/parse_utilcmd.c:880 #, c-format @@ -19579,7 +19579,7 @@ msgstr "la valeur spécifiée ne peut pas être convertie vers le type %s pour l #: parser/parser.c:273 msgid "UESCAPE must be followed by a simple string literal" -msgstr "UESCAPE doit être suivi par une simple chaîne litérale" +msgstr "UESCAPE doit être suivi par une simple chaîne littérale" #: parser/parser.c:278 msgid "invalid Unicode escape character" @@ -20260,7 +20260,7 @@ msgstr "longueur invalide du paquet de démarrage" #: postmaster/postmaster.c:2061 #, c-format msgid "failed to send SSL negotiation response: %m" -msgstr "échec lors de l'envoi de la réponse de négotiation SSL : %m" +msgstr "échec lors de l'envoi de la réponse de négociation SSL : %m" #: postmaster/postmaster.c:2079 #, c-format @@ -21116,7 +21116,7 @@ msgstr "le plugin de sortie « %s » pour le décodage logique produit une sorti #: replication/logical/origin.c:190 #, c-format msgid "cannot query or manipulate replication origin when max_replication_slots = 0" -msgstr "ne peut pas lire ou manipuler une originie de réplication logique quand max_replication_slots = 0" +msgstr "ne peut pas lire ou manipuler une origine de réplication logique quand max_replication_slots = 0" #: replication/logical/origin.c:195 #, c-format @@ -22481,11 +22481,11 @@ msgstr "commentaire /* non terminé" #: scan.l:502 msgid "unterminated bit string literal" -msgstr "chaîne bit litérale non terminée" +msgstr "chaîne bit littérale non terminée" #: scan.l:516 msgid "unterminated hexadecimal string literal" -msgstr "chaîne hexadécimale litérale non terminée" +msgstr "chaîne hexadécimale littérale non terminée" #: scan.l:566 #, c-format @@ -22668,7 +22668,7 @@ msgstr "" #, c-format msgid "This has been seen to occur with buggy kernels; consider updating your system." msgstr "" -"Ceci s'est déjà vu avec des noyaux buggés ; pensez à mettre à jour votre\n" +"Ceci s'est déjà vu avec des noyaux bugués ; pensez à mettre à jour votre\n" "système." #: storage/buffer/bufmgr.c:5219 @@ -24449,7 +24449,7 @@ msgstr "le pourcentage de l'échantillonnage doit être compris entre 0 et 100" #: utils/adt/arrayfuncs.c:861 utils/adt/arrayfuncs.c:914 #, c-format msgid "malformed array literal: \"%s\"" -msgstr "tableau litéral mal formé : « %s »" +msgstr "tableau littéral mal formé : « %s »" #: utils/adt/arrayfuncs.c:274 #, c-format @@ -25453,7 +25453,7 @@ msgstr "nombre de points invalide dans la valeur externe de « polygon »" #: utils/adt/geo_ops.c:4463 #, c-format msgid "open path cannot be converted to polygon" -msgstr "le chemin ouvert ne peut être converti en polygône" +msgstr "le chemin ouvert ne peut être converti en polygone" #: utils/adt/geo_ops.c:4718 #, c-format @@ -25463,7 +25463,7 @@ msgstr "diamètre invalide pour la valeur externe de « circle »" #: utils/adt/geo_ops.c:5239 #, c-format msgid "cannot convert circle with radius zero to polygon" -msgstr "ne peut pas convertir le cercle avec un diamètre zéro en un polygône" +msgstr "ne peut pas convertir le cercle avec un diamètre zéro en un polygone" #: utils/adt/geo_ops.c:5244 #, c-format @@ -25646,7 +25646,7 @@ msgstr "le type d'indice %s n'est pas supporté" #: utils/adt/jsonbsubs.c:104 #, c-format msgid "jsonb subscript must be coercible to only one type, integer or text." -msgstr "l'indice jsonb doit être onvertible en un seul type, entier ou texte." +msgstr "l'indice jsonb doit être convertible en un seul type, entier ou texte." #: utils/adt/jsonbsubs.c:118 #, c-format @@ -26119,7 +26119,7 @@ msgstr "la chaîne n'est pas un identifiant valide : « %s »" #: utils/adt/misc.c:855 #, c-format msgid "String has unclosed double quotes." -msgstr "La chaîne des guillements doubles non fermés." +msgstr "La chaîne des guillemets doubles non fermés." #: utils/adt/misc.c:869 #, c-format @@ -26152,7 +26152,7 @@ msgstr "Les formats de traces supportés sont « stderr » et « csvlog »." #: utils/adt/multirangetypes.c:291 #, c-format msgid "malformed multirange literal: \"%s\"" -msgstr "litéral multirange mal formé : « %s »" +msgstr "littéral multirange mal formé : « %s »" #: utils/adt/multirangetypes.c:153 #, c-format @@ -26406,7 +26406,7 @@ msgstr "la valeur centile %g n'est pas entre 0 et 1" #, fuzzy, c-format #| msgid "could not open collator for locale \"%s\": %s" msgid "could not open collator for locale \"%s\" with rules \"%s\": %s" -msgstr "n'a pas pu ouvrir le collationneur pour la locale « %s » : %s" +msgstr "n'a pas pu ouvrir le collationnement pour la locale « %s » : %s" #: utils/adt/pg_locale.c:1421 utils/adt/pg_locale.c:2831 #: utils/adt/pg_locale.c:2904 @@ -26613,7 +26613,7 @@ msgstr "le résultat de la différence d'intervalle de valeur ne sera pas contig #: utils/adt/rangetypes.c:1075 #, c-format msgid "result of range union would not be contiguous" -msgstr "le résultat de l'union d'intervalle pourrait ne pas être contigü" +msgstr "le résultat de l'union d'intervalle pourrait ne pas être contigu" #: utils/adt/rangetypes.c:1750 #, c-format @@ -26640,7 +26640,7 @@ msgstr "Les valeurs valides sont entre « [] », « [) », « (] » et « () ». #: utils/adt/rangetypes.c:2411 #, c-format msgid "malformed range literal: \"%s\"" -msgstr "intervalle litéral mal formé : « %s »" +msgstr "intervalle littéral mal formé : « %s »" #: utils/adt/rangetypes.c:2295 #, c-format @@ -26706,7 +26706,7 @@ msgstr "%s ne supporte pas l'option « global »" #: utils/adt/regexp.c:1313 #, c-format msgid "Use the regexp_matches function instead." -msgstr "Utilisez la foncction regexp_matches à la place." +msgstr "Utilisez la fonction regexp_matches à la place." #: utils/adt/regexp.c:1501 #, c-format @@ -26851,7 +26851,7 @@ msgstr "l'ajout de colonnes ayant un type composé n'est pas implémenté" #: utils/adt/rowtypes.c:228 utils/adt/rowtypes.c:286 utils/adt/rowtypes.c:297 #, c-format msgid "malformed record literal: \"%s\"" -msgstr "enregistrement litéral invalide : « %s »" +msgstr "enregistrement littéral invalide : « %s »" #: utils/adt/rowtypes.c:160 #, c-format @@ -28780,7 +28780,7 @@ msgstr "Valeurs par défaut pour les connexions client / Comportement des instru #: utils/misc/guc_tables.c:730 msgid "Client Connection Defaults / Locale and Formatting" -msgstr "Valeurs par défaut pour les connexions client / Locale et formattage" +msgstr "Valeurs par défaut pour les connexions client / Locale et formatage" #: utils/misc/guc_tables.c:732 msgid "Client Connection Defaults / Shared Library Preloading" @@ -29352,7 +29352,7 @@ msgstr "Sépare les messages envoyés à syslog par lignes afin de les faire ten #: utils/misc/guc_tables.c:1895 msgid "Controls whether Gather and Gather Merge also run subplans." -msgstr "Controle si les nœuds Gather et Gather Merge doivent également exécuter des sous-plans." +msgstr "Contrôle si les nœuds Gather et Gather Merge doivent également exécuter des sous-plans." #: utils/misc/guc_tables.c:1896 msgid "Should gather nodes also run subplans or just gather tuples?" @@ -29368,7 +29368,7 @@ msgstr "Enregistre les fonctions compilées avec JIT avec le debugger." #: utils/misc/guc_tables.c:1934 msgid "Write out LLVM bitcode to facilitate JIT debugging." -msgstr "Écrire le bitcode LLVM pour faciliter de débugage JIT." +msgstr "Écrire le bitcode LLVM pour faciliter de débogage JIT." #: utils/misc/guc_tables.c:1945 msgid "Allow JIT compilation of expressions." @@ -29394,7 +29394,7 @@ msgstr "Configure si un wal receiver doit créer un slot de réplication tempora #, fuzzy #| msgid "Sets the time to wait before retrying to retrieve WAL after a failed attempt." msgid "Sets the amount of time to wait before forcing a switch to the next WAL file." -msgstr "Initalise le temps à attendre avant de retenter de récupérer un WAL après une tentative infructueuse." +msgstr "Initialise le temps à attendre avant de retenter de récupérer un WAL après une tentative infructueuse." #: utils/misc/guc_tables.c:2022 #, fuzzy @@ -29437,7 +29437,7 @@ msgstr "" #: utils/misc/guc_tables.c:2058 msgid "The planner will flatten explicit JOIN constructs into lists of FROM items whenever a list of no more than this many items would result." msgstr "" -"La planificateur applanira les constructions JOIN explicites dans des listes\n" +"La planificateur aplanira les constructions JOIN explicites dans des listes\n" "d'éléments FROM lorsqu'une liste d'au plus ce nombre d'éléments en\n" "résulterait." @@ -29753,7 +29753,7 @@ msgstr "" #| msgid "Set the amount of traffic to send and receive before renegotiating the encryption keys." msgid "Sets the amount of time to wait before authentication on connection startup." msgstr "" -"Configure la quantité de trafic à envoyer et recevoir avant la renégotiation\n" +"Configure la quantité de trafic à envoyer et recevoir avant la renégociation\n" "des clés d'enchiffrement." #: utils/misc/guc_tables.c:2668 @@ -29973,7 +29973,7 @@ msgstr "Affiche la taille du bloc dans les journaux de transactions." #: utils/misc/guc_tables.c:3147 msgid "Sets the time to wait before retrying to retrieve WAL after a failed attempt." -msgstr "Initalise le temps à attendre avant de retenter de récupérer un WAL après une tentative infructueuse." +msgstr "Initialise le temps à attendre avant de retenter de récupérer un WAL après une tentative infructueuse." #: utils/misc/guc_tables.c:3159 msgid "Shows the size of write ahead log segments." @@ -30370,7 +30370,7 @@ msgstr "Initialise le format d'affichage des valeurs date et time." #: utils/misc/guc_tables.c:3959 msgid "Also controls interpretation of ambiguous date inputs." -msgstr "Contrôle aussi l'interprétation des dates ambigües en entrée." +msgstr "Contrôle aussi l'interprétation des dates ambiguës en entrée." #: utils/misc/guc_tables.c:3970 msgid "Sets the default table access method for new tables." @@ -30407,7 +30407,7 @@ msgstr "" #: utils/misc/guc_tables.c:4029 msgid "Sets the location of the Kerberos server key file." -msgstr "Initalise l'emplacement du fichier de la clé serveur pour Kerberos." +msgstr "Initialise l'emplacement du fichier de la clé serveur pour Kerberos." #: utils/misc/guc_tables.c:4040 msgid "Sets the Bonjour service name." @@ -30419,7 +30419,7 @@ msgstr "Initialise le langage dans lequel les messages sont affichés." #: utils/misc/guc_tables.c:4060 msgid "Sets the locale for formatting monetary amounts." -msgstr "Initialise la locale pour le formattage des montants monétaires." +msgstr "Initialise la locale pour le formatage des montants monétaires." #: utils/misc/guc_tables.c:4070 msgid "Sets the locale for formatting numbers." @@ -31080,4494 +31080,3 @@ msgstr "une transaction sérialisable en écriture ne peut pas importer un snaps #, c-format msgid "cannot import a snapshot from a different database" msgstr "ne peut pas importer un snapshot à partir d'une base de données différente" - -#~ msgid " --help show this help, then exit\n" -#~ msgstr " --help affiche cette aide, puis quitte\n" - -#~ msgid " --version output version information, then exit\n" -#~ msgstr " --version affiche la version, puis quitte\n" - -#~ msgid " -A 1|0 enable/disable run-time assert checking\n" -#~ msgstr "" -#~ " -A 1|0 active/désactive la vérification des limites (assert) à\n" -#~ " l'exécution\n" - -#, c-format -#~ msgid " -n do not reinitialize shared memory after abnormal exit\n" -#~ msgstr "" -#~ " -n ne réinitialise pas la mémoire partagée après un arrêt\n" -#~ " brutal\n" - -#~ msgid " -o OPTIONS pass \"OPTIONS\" to each server process (obsolete)\n" -#~ msgstr " -o OPTIONS passe « OPTIONS » à chaque processus serveur (obsolète)\n" - -#, c-format -#~ msgid " -x NUM internal use\n" -#~ msgstr " -x NUM utilisation interne\n" - -#, c-format -#~ msgid " GSS (authenticated=%s, encrypted=%s)" -#~ msgstr " GSS (authentifié=%s, chiffré=%s)" - -#~ msgid " in schema %s" -#~ msgstr " dans le schéma %s" - -#~ msgid "\"%s\" has now caught up with upstream server" -#~ msgstr "« %s » a maintenant rattrapé le serveur en amont" - -#, c-format -#~ msgid "\"%s\" is a system table" -#~ msgstr "« %s » est une table système" - -#~ msgid "\"%s\" is already an attribute of type %s" -#~ msgstr "« %s » est déjà un attribut du type %s" - -#~ msgid "\"%s\" is not a table or a view" -#~ msgstr "« %s » n'est pas une table ou une vue" - -#, c-format -#~ msgid "\"%s\" is not a table or foreign table" -#~ msgstr "« %s » n'est ni une table ni une table distante" - -#, c-format -#~ msgid "\"%s\" is not a table or partitioned index" -#~ msgstr "« %s » n'est ni une table ni un index partitionné" - -#, c-format -#~ msgid "\"%s\" is not a table or view" -#~ msgstr "« %s » n'est ni une table ni une vue" - -#, c-format -#~ msgid "\"%s\" is not a table, composite type, or foreign table" -#~ msgstr "« %s » n'est ni une table, ni un type composite, ni une table distante" - -#~ msgid "\"%s\" is not a table, materialized view, composite type, or foreign table" -#~ msgstr "« %s » n'est ni une table, ni une vue matérialisée, ni un type composite, ni une table distante" - -#, c-format -#~ msgid "\"%s\" is not a table, materialized view, index, or foreign table" -#~ msgstr "« %s » n'est ni une table, ni une vue matérialisée, ni un index, ni une table distante" - -#, c-format -#~ msgid "\"%s\" is not a table, materialized view, index, or partitioned index" -#~ msgstr "« %s » n'est ni une table, ni une vue matérialisée, ni un index, ni un index partitionné" - -#, c-format -#~ msgid "\"%s\" is not a table, materialized view, index, partitioned index, or foreign table" -#~ msgstr "« %s » n'est ni une table, ni une vue matérialisée, ni un index, ni un index partitionné, ni une table distante" - -#, c-format -#~ msgid "\"%s\" is not a table, materialized view, or foreign table" -#~ msgstr "« %s » n'est ni une table, ni une vue matérialisée, ni une table distante" - -#, c-format -#~ msgid "\"%s\" is not a table, materialized view, or index" -#~ msgstr "« %s » n'est ni une table, ni une vue matérialisée, ni un index" - -#, c-format -#~ msgid "\"%s\" is not a table, view, materialized view, composite type, index, or foreign table" -#~ msgstr "« %s » n'est ni une table, ni une vue, ni une vue matérialisée, ni un type composite, ni un index, ni une table distante" - -#, c-format -#~ msgid "\"%s\" is not a table, view, materialized view, composite type, or foreign table" -#~ msgstr "« %s » n'est ni une table, ni une vue, ni une vue matérialisée, ni un type composite, ni une table distante" - -#, c-format -#~ msgid "\"%s\" is not a table, view, materialized view, index, or TOAST table" -#~ msgstr "« %s » n'est ni une table, ni une vue, ni une vue matérialisée, ni un index, ni une table TOAST" - -#, c-format -#~ msgid "\"%s\" is not a table, view, materialized view, or index" -#~ msgstr "« %s » n'est ni une table, ni une vue, ni une vue matérialisée, ni une séquence, ni une table distante" - -#, c-format -#~ msgid "\"%s\" is not a table, view, materialized view, sequence, or foreign table" -#~ msgstr "« %s » n'est ni une table, ni une vue, ni une vue matérialisée, ni une séquence, ni une table distante" - -#~ msgid "\"%s\" is not a table, view, or composite type" -#~ msgstr "« %s » n'est pas une table, une vue ou un type composite" - -#, c-format -#~ msgid "\"%s\" is not a table, view, or foreign table" -#~ msgstr "« %s » n'est ni une table, ni une vue, ni une table distante" - -#, c-format -#~ msgid "\"%s\" is not a table, view, sequence, or foreign table" -#~ msgstr "« %s » n'est ni une table, ni une vue, ni une séquence, ni une table distante" - -#, c-format -#~ msgid "\"%s\" is of the wrong type" -#~ msgstr "« %s » est du mauvais type" - -#~ msgid "\"%s\": moved %u row versions, truncated %u to %u pages" -#~ msgstr "« %s » : %u versions de ligne déplacées, %u pages tronquées sur %u" - -#~ msgid "\"%s\": removed %.0f row versions in %u pages" -#~ msgstr "« %s » : %.0f versions de ligne supprimées dans %u pages" - -#~ msgid "\"%s\": removed %d dead item identifiers in %u pages" -#~ msgstr "« %s »: %d versions de lignes mortes supprimées dans %u blocs" - -#, c-format -#~ msgid "\"%s.%s\" is a foreign table." -#~ msgstr "« %s.%s » est une table distante." - -#~ msgid "\"%s.%s\" is a partitioned table." -#~ msgstr "« %s.%s » est une table partitionnée." - -#, c-format -#~ msgid "\"%s.%s\" is not a table." -#~ msgstr "« %s.%s » n'est pas une table." - -#~ msgid "\"TZ\"/\"tz\" not supported" -#~ msgstr "« TZ »/« tz » non supporté" - -#~ msgid "\"TZ\"/\"tz\"/\"OF\" format patterns are not supported in to_date" -#~ msgstr "les motifs de format « TZ »/« tz »/« OF » ne sont pas supportés dans to_date" - -#~ msgid "\"interval\" time zone \"%s\" not valid" -#~ msgstr "le fuseau horaire « %s » n'est pas valide pour le type « interval »" - -#, c-format -#~ msgid "\"time with time zone\" units \"%s\" not recognized" -#~ msgstr "unités « %s » non reconnues pour le type « time with time zone »" - -#, c-format -#~ msgid "\"time\" units \"%s\" not recognized" -#~ msgstr "unités « %s » non reconnues pour le type « time »" - -#~ msgid "\"timeout\" must not be negative or zero" -#~ msgstr "« timeout » ne doit pas être négatif ou nul" - -#~ msgid "" -#~ "%.0f dead row versions cannot be removed yet.\n" -#~ "Nonremovable row versions range from %lu to %lu bytes long.\n" -#~ "There were %.0f unused item pointers.\n" -#~ "Total free space (including removable row versions) is %.0f bytes.\n" -#~ "%u pages are or will become empty, including %u at the end of the table.\n" -#~ "%u pages containing %.0f free bytes are potential move destinations.\n" -#~ "%s." -#~ msgstr "" -#~ "%.0f versions de lignes mortes ne peuvent pas encore être supprimées.\n" -#~ "Les versions non supprimables de ligne vont de %lu to %lu octets.\n" -#~ "Il existait %.0f pointeurs d'éléments inutilisés.\n" -#~ "L'espace libre total (incluant les versions supprimables de ligne) est de\n" -#~ "%.0f octets.\n" -#~ "%u pages sont ou deviendront vides, ceci incluant %u pages en fin de la\n" -#~ "table.\n" -#~ "%u pages contenant %.0f octets libres sont des destinations de déplacement\n" -#~ "disponibles.\n" -#~ "%s." - -#~ msgid "" -#~ "%.0f dead row versions cannot be removed yet.\n" -#~ "There were %.0f unused item pointers.\n" -#~ "%u pages are entirely empty.\n" -#~ "%s." -#~ msgstr "" -#~ "%.0f versions de lignes mortes ne peuvent pas encore être supprimées.\n" -#~ "Il y avait %.0f pointeurs d'éléments inutilisés.\n" -#~ "%u pages sont entièrement vides.\n" -#~ "%s." - -#, c-format -#~ msgid "%lld dead row versions cannot be removed yet, oldest xmin: %u\n" -#~ msgstr "%lld versions de lignes mortes ne peuvent pas encore être supprimées, plus ancien xmin : %u\n" - -#~ msgid "%s \"%s\": return code %d" -#~ msgstr "%s « %s » : code de retour %d" - -#~ msgid "%s %s will create implicit index \"%s\" for table \"%s\"" -#~ msgstr "%s %s créera un index implicite « %s » pour la table « %s »" - -#~ msgid "%s (%x)" -#~ msgstr "%s (%x)" - -#~ msgid "%s (PID %d) was terminated by signal %d" -#~ msgstr "%s (PID %d) a été arrêté par le signal %d" - -#~ msgid "%s already exists in schema \"%s\"" -#~ msgstr "%s existe déjà dans le schéma « %s »" - -#~ msgid "%s cannot be executed from a function or multi-command string" -#~ msgstr "" -#~ "%s ne peut pas être exécuté à partir d'une fonction ou d'une chaîne\n" -#~ "contenant plusieurs commandes" - -#~ msgid "%s failed: %m" -#~ msgstr "échec de %s : %m" - -#~ msgid "%s in publication %s" -#~ msgstr "%s dans la publication %s" - -#~ msgid "%s is already in schema \"%s\"" -#~ msgstr "%s existe déjà dans le schéma « %s »" - -#~ msgid "%s will create implicit sequence \"%s\" for serial column \"%s.%s\"" -#~ msgstr "%s créera des séquences implicites « %s » pour la colonne serial « %s.%s »" - -#~ msgid "%s: WARNING: cannot create restricted tokens on this platform\n" -#~ msgstr "%s : ATTENTION : ne peut pas créer les jetons restreints sur cette plateforme\n" - -#~ msgid "%s: could not allocate SIDs: error code %lu\n" -#~ msgstr "%s : n'a pas pu allouer les SID : code d'erreur %lu\n" - -#~ msgid "%s: could not create restricted token: error code %lu\n" -#~ msgstr "%s : n'a pas pu créer le jeton restreint : code d'erreur %lu\n" - -#~ msgid "%s: could not determine user name (GetUserName failed)\n" -#~ msgstr "%s : n'a pas pu déterminer le nom de l'utilisateur (GetUserName a échoué)\n" - -#~ msgid "%s: could not dissociate from controlling TTY: %s\n" -#~ msgstr "%s : n'a pas pu se dissocier du TTY contrôlant : %s\n" - -#~ msgid "%s: could not fork background process: %s\n" -#~ msgstr "%s : n'a pas pu créer un processus fils : %s\n" - -#~ msgid "%s: could not fsync file \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu synchroniser sur disque le fichier « %s » : %s\n" - -#~ msgid "%s: could not get exit code from subprocess: error code %lu\n" -#~ msgstr "%s : n'a pas pu récupérer le code de statut du sous-processus : code d'erreur %lu\n" - -#~ msgid "%s: could not open directory \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu ouvrir le répertoire « %s » : %s\n" - -#~ msgid "%s: could not open file \"%s\" for reading: %s\n" -#~ msgstr "%s : n'a pas pu ouvrir le fichier « %s » en lecture : %s\n" - -#~ msgid "%s: could not open file \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu ouvrir le fichier « %s » : %s\n" - -#~ msgid "%s: could not open log file \"%s/%s\": %s\n" -#~ msgstr "%s : n'a pas pu ouvrir le journal applicatif « %s/%s » : %s\n" - -#~ msgid "%s: could not open process token: error code %lu\n" -#~ msgstr "%s : n'a pas pu ouvrir le jeton du processus : code d'erreur %lu\n" - -#~ msgid "%s: could not re-execute with restricted token: error code %lu\n" -#~ msgstr "%s : n'a pas pu ré-exécuter le jeton restreint : code d'erreur %lu\n" - -#~ msgid "%s: could not read directory \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu lire le répertoire « %s » : %s\n" - -#~ msgid "%s: could not read file \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu lire le fichier « %s » : %s\n" - -#~ msgid "%s: could not read file \"%s\": read %d of %d\n" -#~ msgstr "%s : n'a pas pu lire le fichier « %s » : a lu %d sur %d\n" - -#~ msgid "%s: could not rename file \"%s\" to \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu renommer le fichier « %s » en « %s » : %s\n" - -#~ msgid "%s: could not start process for command \"%s\": error code %lu\n" -#~ msgstr "%s : n'a pas pu démarrer le processus pour la commande « %s » : code d'erreur %lu\n" - -#~ msgid "%s: could not stat file \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu récupérer les informations sur le fichier « %s » : %s\n" - -#~ msgid "%s: invalid effective UID: %d\n" -#~ msgstr "%s : UID effectif invalide : %d\n" - -#~ msgid "%s: max_wal_senders must be less than max_connections\n" -#~ msgstr "%s : max_wal_senders doit être inférieur à max_connections\n" - -#~ msgid "%s: setsysinfo failed: %s\n" -#~ msgstr "%s : setsysinfo a échoué : %s\n" - -#~ msgid "%s: the number of buffers (-B) must be at least twice the number of allowed connections (-N) and at least 16\n" -#~ msgstr "" -#~ "%s : le nombre de tampons (-B) doit être au moins deux fois le nombre de\n" -#~ "connexions disponibles (-N) et au moins 16\n" - -#, c-format -#~ msgid "%u frozen page.\n" -#~ msgid_plural "%u frozen pages.\n" -#~ msgstr[0] "%u page gelée.\n" -#~ msgstr[1] "%u pages gelées.\n" - -#~ msgid "%u page is entirely empty.\n" -#~ msgid_plural "%u pages are entirely empty.\n" -#~ msgstr[0] "%u page est entièrement vide.\n" -#~ msgstr[1] "%u pages sont entièrement vides.\n" - -#~ msgid "%u page removed.\n" -#~ msgid_plural "%u pages removed.\n" -#~ msgstr[0] "%u bloc supprimé.\n" -#~ msgstr[1] "%u blocs supprimés.\n" - -#~ msgid "%u transaction needs to finish." -#~ msgid_plural "%u transactions need to finish." -#~ msgstr[0] "La transaction %u doit se terminer." -#~ msgstr[1] "Les transactions %u doivent se terminer." - -#~ msgid "=> is deprecated as an operator name" -#~ msgstr "=> est un nom d'opérateur obsolète" - -#~ msgid "@@ operator does not support lexeme weight restrictions in GIN index searches" -#~ msgstr "" -#~ "l'opérateur @@ ne supporte pas les restrictions de poids de lexeme dans les\n" -#~ "recherches par index GIN" - -#~ msgid "A function returning \"anyrange\" must have at least one \"anyrange\" argument." -#~ msgstr "Une fonction renvoyant « anyrange » doit avoir au moins un argument du type « anyrange »." - -#~ msgid "A function returning \"internal\" must have at least one \"internal\" argument." -#~ msgstr "Une fonction renvoyant « internal » doit avoir au moins un argument du type « internal »." - -#~ msgid "A function returning ANYRANGE must have at least one ANYRANGE argument." -#~ msgstr "" -#~ "Une fonction renvoyant ANYRANGE doit avoir au moins un argument du type\n" -#~ "ANYRANGE." - -#~ msgid "A function returning a polymorphic type must have at least one polymorphic argument." -#~ msgstr "Une fonction renvoyant un type polymorphique doit avoir au moins un argument de type polymorphique." - -#~ msgid "" -#~ "A total of %.0f page slots are in use (including overhead).\n" -#~ "%.0f page slots are required to track all free space.\n" -#~ "Current limits are: %d page slots, %d relations, using %.0f kB." -#~ msgstr "" -#~ "Un total de %.0f emplacements de pages est utilisé (ceci incluant la\n" -#~ "surcharge).\n" -#~ "%.0f emplacements de pages sont requis pour tracer tout l'espace libre.\n" -#~ "Les limites actuelles sont : %d emplacements de pages, %d relations,\n" -#~ "utilisant %.0f Ko." - -#~ msgid "ALTER TYPE USING is only supported on plain tables" -#~ msgstr "ALTER TYPE USING est seulement supportés sur les tables standards" - -#~ msgid "AM/PM hour must be between 1 and 12" -#~ msgstr "l'heure AM/PM doit être compris entre 1 et 12" - -#~ msgid "Adding partitioned tables to publications is not supported." -#~ msgstr "Ajouter des tables partitionnées à des publications n'est pas supporté." - -#~ msgid "All SQL statements that cause an error of the specified level or a higher level are logged." -#~ msgstr "" -#~ "Toutes les instructions SQL causant une erreur du niveau spécifié ou d'un\n" -#~ "niveau supérieur sont tracées." - -#~ msgid "An aggregate returning a polymorphic type must have at least one polymorphic argument." -#~ msgstr "Un agrégat renvoyant un type polymorphique doit avoir au moins un argument de type polymorphique." - -#~ msgid "An aggregate using a polymorphic transition type must have at least one polymorphic argument." -#~ msgstr "Un agrégat utilisant un type de transition polymorphique doit avoir au moins un argument polymorphique." - -#~ msgid "Anyone can use the client-side lo_export() provided by libpq." -#~ msgstr "Tout le monde peut utiliser lo_export(), fournie par libpq, du côté client." - -#~ msgid "Anyone can use the client-side lo_import() provided by libpq." -#~ msgstr "Tout le monde peut utiliser lo_import(), fourni par libpq, du côté client." - -#, c-format -#~ msgid "Apply system library package updates." -#~ msgstr "Applique les mises à jour du paquet de bibliothèque système." - -#~ msgid "Apr" -#~ msgstr "Avr" - -#~ msgid "April" -#~ msgstr "Avril" - -#~ msgid "Aug" -#~ msgstr "Aoû" - -#~ msgid "August" -#~ msgstr "Août" - -#~ msgid "Automatic log file rotation will occur after N kilobytes." -#~ msgstr "La rotation automatique des journaux applicatifs s'effectuera après N kilooctets." - -#~ msgid "Automatic log file rotation will occur after N minutes." -#~ msgstr "La rotation automatique des journaux applicatifs s'effectuera toutes les N minutes." - -#~ msgid "Automatically adds missing table references to FROM clauses." -#~ msgstr "" -#~ "Ajoute automatiquement les références à la table manquant dans les clauses\n" -#~ "FROM." - -#, c-format -#~ msgid "BKPIMAGE_IS_COMPRESSED set, but block image length %u at %X/%X" -#~ msgstr "BKPIMAGE_IS_COMPRESSED configuré, mais la longueur de l'image du bloc est %u à %X/%X" - -#~ msgid "COPY BINARY is not supported to stdout or from stdin" -#~ msgstr "COPY BINARY n'est pas supporté vers stdout ou à partir de stdin" - -#, c-format -#~ msgid "COPY HEADER available only in CSV mode" -#~ msgstr "COPY HEADER disponible uniquement en mode CSV" - -#~ msgid "CREATE TABLE AS cannot specify INTO" -#~ msgstr "CREATE TABLE AS ne peut pas spécifier INTO" - -#~ msgid "CREATE TABLE AS specifies too many column names" -#~ msgstr "CREATE TABLE AS spécifie trop de noms de colonnes" - -#~ msgid "CREATE_REPLICATION_SLOT ... EXPORT_SNAPSHOT must not be called inside a transaction" -#~ msgstr "CREATE_REPLICATION_SLOT ... EXPORT_SNAPSHOT ne doit pas être appelé dans une sous-transaction" - -#~ msgid "CREATE_REPLICATION_SLOT ... USE_SNAPSHOT must be called before any query" -#~ msgstr "CREATE_REPLICATION_SLOT ... USE_SNAPSHOT doit être appelé avant toute requête" - -#~ msgid "CREATE_REPLICATION_SLOT ... USE_SNAPSHOT must be called inside a transaction" -#~ msgstr "CREATE_REPLICATION_SLOT ... USE_SNAPSHOT doit être appelé dans une transaction" - -#~ msgid "CREATE_REPLICATION_SLOT ... USE_SNAPSHOT must not be called in a subtransaction" -#~ msgstr "CREATE_REPLICATION_SLOT ... USE_SNAPSHOT ne doit pas être appelé dans une sous-transaction" - -#~ msgid "Causes subtables to be included by default in various commands." -#~ msgstr "" -#~ "Fait que les sous-tables soient incluses par défaut dans les différentes\n" -#~ "commandes." - -#~ msgid "Certificates will not be checked against revocation list." -#~ msgstr "Les certificats ne seront pas vérifiés avec la liste de révocation." - -#~ msgid "Client Connection Defaults" -#~ msgstr "Valeurs par défaut pour les connexions client" - -#~ msgid "Close open transactions soon to avoid wraparound problems." -#~ msgstr "" -#~ "Fermez les transactions ouvertes rapidement pour éviter des problèmes de\n" -#~ "réinitialisation." - -#, c-format -#~ msgid "Close open transactions with multixacts soon to avoid wraparound problems." -#~ msgstr "" -#~ "Fermez les transactions ouvertes avec multixacts rapidement pour éviter des problèmes de\n" -#~ "réinitialisation." - -#, c-format -#~ msgid "Compile with --with-gssapi to use GSSAPI connections." -#~ msgstr "Compilez avec --with-gssapi pour utiliser les connexions GSSAPI." - -#, c-format -#~ msgid "Compile with --with-ssl to use SSL connections." -#~ msgstr "Compilez avec --with-ssl pour utiliser les connexions SSL." - -#~ msgid "Connections and Authentication" -#~ msgstr "Connexions et authentification" - -#~ msgid "Consider increasing the configuration parameter \"checkpoint_segments\"." -#~ msgstr "Considèrez l'augmentation du paramètre « checkpoint_segments »." - -#~ msgid "Consider increasing the configuration parameter \"max_fsm_pages\" to a value over %.0f." -#~ msgstr "" -#~ "Considérez l'augmentation du paramètre de configuration « max_fsm_pages »\n" -#~ "à une valeur supérieure à %.0f." - -#~ msgid "Consider using VACUUM FULL on this relation or increasing the configuration parameter \"max_fsm_pages\"." -#~ msgstr "" -#~ "Pensez à compacter cette relation en utilisant VACUUM FULL ou à augmenter le\n" -#~ "paramètre de configuration « max_fsm_pages »." - -#~ msgid "Consider using pg_logfile_rotate(), which is part of core, instead." -#~ msgstr "Considérer l'utilisation de pg_logfile_rotate(), qui est présent par défaut, à la place." - -#~ msgid "Create new tables with OIDs by default." -#~ msgstr "Crée des nouvelles tables avec des OID par défaut." - -#~ msgid "DECLARE CURSOR cannot specify INTO" -#~ msgstr "DECLARE CURSOR ne peut pas spécifier INTO" - -#~ msgid "DEFAULT can only appear in a VALUES list within INSERT" -#~ msgstr "DEFAULT peut seulement apparaître dans la liste VALUES comprise dans un INSERT" - -#~ msgid "DISTINCT is supported only for single-argument aggregates" -#~ msgstr "DISTINCT est seulement supporté pour les agrégats à un seul argument" - -#~ msgid "DROP ASSERTION is not yet implemented" -#~ msgstr "DROP ASSERTION n'est pas encore implémenté" - -#~ msgid "Dec" -#~ msgstr "Déc" - -#~ msgid "December" -#~ msgstr "Décembre" - -#, c-format -#~ msgid "Did you mean to use pg_stop_backup('t')?" -#~ msgstr "Souhaitiez-vous utiliser pg_stop_backup('t') ?" - -#~ msgid "During recovery, allows connections and queries. During normal running, causes additional info to be written to WAL to enable hot standby mode on WAL standby nodes." -#~ msgstr "" -#~ "Lors de la restauration, autorise les connexions et les requêtes. Lors d'une\n" -#~ "exécution normale, fait que des informations supplémentaires sont écrites dans\n" -#~ "les journaux de transactions pour activer le mode Hot Standby sur les nœuds\n" -#~ "en attente." - -#~ msgid "EXPLAIN option BUFFERS requires ANALYZE" -#~ msgstr "l'option BUFFERS d'EXPLAIN nécessite ANALYZE" - -#~ msgid "Each SQL transaction has an isolation level, which can be either \"read uncommitted\", \"read committed\", \"repeatable read\", or \"serializable\"." -#~ msgstr "" -#~ "Chaque transaction SQL a un niveau d'isolation qui peut être soit « read\n" -#~ "uncommitted », soit « read committed », soit « repeatable read », soit\n" -#~ "« serializable »." - -#~ msgid "Each session can be either \"origin\", \"replica\", or \"local\"." -#~ msgstr "Chaque session peut valoir soit « origin » soit « replica » soit « local »." - -#~ msgid "Either set wal_level to \"replica\" on the master, or turn off hot_standby here." -#~ msgstr "" -#~ "Vous devez soit positionner le paramètre wal_level à « replica » sur le maître,\n" -#~ "soit désactiver le hot_standby ici." - -#~ msgid "Emit a warning for constructs that changed meaning since PostgreSQL 9.4." -#~ msgstr "Émet un avertissement pour les constructions dont la signification a changé depuis PostgreSQL 9.4." - -#~ msgid "Enables the planner's use of result caching." -#~ msgstr "Active l'utilisation du cache de résultat par le planificateur." - -#~ msgid "Enables warnings if checkpoint segments are filled more frequently than this." -#~ msgstr "" -#~ "Active des messages d'avertissement si les segments des points de\n" -#~ "vérifications se remplissent plus fréquemment que cette durée." - -#~ msgid "Encrypt passwords." -#~ msgstr "Chiffre les mots de passe." - -#~ msgid "EnumValuesCreate() can only set a single OID" -#~ msgstr "EnumValuesCreate() peut seulement initialiser un seul OID" - -#~ msgid "Expected 1 tuple with 3 fields, got %d tuples with %d fields." -#~ msgstr "Attendait 1 ligne avec 3 champs, a obtenu %d lignes avec %d champs." - -#~ msgid "Expected a transaction log switchpoint location." -#~ msgstr "Attendait un emplacement de bascule dans le journal de transactions." - -#~ msgid "FROM version must be different from installation target version \"%s\"" -#~ msgstr "la version FROM doit être différente de la version cible d'installation « %s »" - -#~ msgid "Feb" -#~ msgstr "Fév" - -#~ msgid "February" -#~ msgstr "Février" - -#, c-format -#~ msgid "File \"%s\" could not be renamed to \"%s\": %m." -#~ msgstr "Le fichier « %s » n'a pas pu être renommé en « %s » : %m." - -#, c-format -#~ msgid "File \"%s\" was renamed to \"%s\", but file \"%s\" could not be renamed to \"%s\": %m." -#~ msgstr "Le fichier « %s » a été renommé en « %s », mais le fichier « %s » n'a pas pu être renommé en « %s » : %m." - -#~ msgid "File must be owned by the database user and must have no permissions for \"group\" or \"other\"." -#~ msgstr "" -#~ "Le fichier doit appartenir au propriétaire de la base de données et ne doit\n" -#~ "pas avoir de droits pour un groupe ou pour les autres." - -#, c-format -#~ msgid "Files \"%s\" and \"%s\" were renamed to \"%s\" and \"%s\", respectively." -#~ msgstr "Les fichiers « %s » et « %s » sont renommés respectivement « %s » et « %s »." - -#~ msgid "For RAID arrays, this should be approximately the number of drive spindles in the array." -#~ msgstr "" -#~ "Pour les systèmes RAID, cela devrait être approximativement le nombre de\n" -#~ "têtes de lecture du système." - -#, c-format -#~ msgid "For example, FROM (SELECT ...) [AS] foo." -#~ msgstr "Par exemple, FROM (SELECT...) [AS] quelquechose." - -#, c-format -#~ msgid "For example, FROM (VALUES ...) [AS] foo." -#~ msgstr "Par exemple, FROM (VALUES ...) [AS] quelquechose." - -#~ msgid "Forces a switch to the next WAL file if a new file has not been started within N seconds." -#~ msgstr "" -#~ "Force un changement du journal de transaction si un nouveau fichier n'a pas\n" -#~ "été créé depuis N secondes." - -#~ msgid "Forces use of parallel query facilities." -#~ msgstr "Force l'utilisation des fonctionnalités de requête parallèle." - -#, c-format -#~ msgid "Foreign tables cannot have TRUNCATE triggers." -#~ msgstr "Les tables distantes ne peuvent pas avoir de triggers TRUNCATE." - -#~ msgid "Found referenced table's DELETE trigger." -#~ msgstr "Trigger DELETE de la table référencée trouvé." - -#~ msgid "Found referenced table's UPDATE trigger." -#~ msgstr "Trigger UPDATE de la table référencée trouvé." - -#~ msgid "Found referencing table's trigger." -#~ msgstr "Trigger de la table référencée trouvé." - -#~ msgid "Fri" -#~ msgstr "Ven" - -#~ msgid "Friday" -#~ msgstr "Vendredi" - -#~ msgid "GIN index does not support search with void query" -#~ msgstr "les index GIN ne supportent pas la recherche avec des requêtes vides" - -#~ msgid "GSSAPI encryption can only be used with gss, trust, or reject authentication methods" -#~ msgstr "le chiffrement GSSAPI ne peut être utilisé qu'avec les méthodes d'authentification gss, trust ou reject" - -#~ msgid "GSSAPI encryption only supports gss, trust, or reject authentication" -#~ msgstr "le chiffrement GSSAPI ne supporte que l'authentification gss, trust ou reject" - -#~ msgid "GSSAPI is not supported in protocol version 2" -#~ msgstr "GSSAPI n'est pas supporté dans le protocole de version 2" - -#~ msgid "GSSAPI not implemented on this server" -#~ msgstr "GSSAPI non implémenté sur ce serveur" - -#, c-format -#~ msgid "IDENTIFY_SYSTEM has not been run before START_REPLICATION" -#~ msgstr "IDENTIFY_SYSTEM n'a pas été exécuté avant START_REPLICATION" - -#~ msgid "INOUT arguments are permitted." -#~ msgstr "les arguments INOUT ne sont pas autorisés." - -#~ msgid "INSERT ... SELECT cannot specify INTO" -#~ msgstr "INSERT ... SELECT ne peut pas avoir INTO" - -#~ msgid "IS DISTINCT FROM does not support set arguments" -#~ msgstr "IS DISTINCT FROM ne supporte pas les arguments d'ensemble" - -#~ msgid "Ident authentication is not supported on local connections on this platform" -#~ msgstr "l'authentification Ident n'est pas supportée sur les connexions locales sur cette plateforme" - -#~ msgid "Ident protocol identifies remote user as \"%s\"" -#~ msgstr "le protocole Ident identifie l'utilisateur distant comme « %s »" - -#~ msgid "If possible, run query using a parallel worker and with parallel restrictions." -#~ msgstr "Si possible, exécute des requêtes utilisant des processus parallèles et avec les restrictions parallèles." - -#~ msgid "If this parameter is set, the server will automatically run in the background and any controlling terminals are dissociated." -#~ msgstr "" -#~ "Si ce paramètre est initialisé, le serveur sera exécuté automatiquement en\n" -#~ "tâche de fond et les terminaux de contrôles seront dés-associés." - -#~ msgid "If you are not restoring from a backup, try removing the file \"%s/backup_label\"." -#~ msgstr "" -#~ "Si vous n'avez pas pu restaurer une sauvegarde, essayez de supprimer le\n" -#~ "fichier « %s/backup_label »." - -#~ msgid "If you're sure there are no old server processes still running, remove the shared memory block or just delete the file \"%s\"." -#~ msgstr "" -#~ "Si vous êtes sûr qu'aucun processus serveur n'est toujours en cours\n" -#~ "d'exécution, supprimez le bloc de mémoire partagée\n" -#~ "ou supprimez simplement le fichier « %s »." - -#, c-format -#~ msgid "If you're sure there is no backup in progress, remove file \"%s\" and try again." -#~ msgstr "" -#~ "Si vous êtes certain qu'aucune sauvegarde n'est en cours, supprimez le\n" -#~ "fichier « %s » et recommencez de nouveau." - -#, c-format -#~ msgid "In particular, the table cannot be involved in any foreign key relationships." -#~ msgstr "" -#~ "En particulier, la table ne peut pas être impliquée dans les relations des\n" -#~ "clés étrangères." - -#~ msgid "Incomplete insertion detected during crash replay." -#~ msgstr "" -#~ "Insertion incomplète détectée lors de la ré-exécution des requêtes suite à\n" -#~ "l'arrêt brutal." - -#~ msgid "Incorrect XLOG_BLCKSZ in page header." -#~ msgstr "XLOG_BLCKSZ incorrect dans l'en-tête de page." - -#~ msgid "Incorrect XLOG_SEG_SIZE in page header." -#~ msgstr "XLOG_SEG_SIZE incorrecte dans l'en-tête de page." - -#~ msgid "Is another postmaster already running on port %d? If not, remove socket file \"%s\" and retry." -#~ msgstr "Un autre postmaster fonctionne-t'il déjà sur le port %d ?Sinon, supprimez le fichier socket « %s » et réessayez." - -#~ msgid "It looks like you need to initdb or install locale support." -#~ msgstr "" -#~ "Il semble que vous avez besoin d'exécuter initdb ou d'installer le support\n" -#~ "des locales." - -#~ msgid "It's just here so that we won't choke on SET AUTOCOMMIT TO ON from 7.3-vintage clients." -#~ msgstr "" -#~ "C'est ici uniquement pour ne pas avoir de problèmes avec le SET AUTOCOMMIT\n" -#~ "TO ON des clients 7.3." - -#~ msgid "JOIN/ON clause refers to \"%s\", which is not part of JOIN" -#~ msgstr "la clause JOIN/ON se réfère à « %s », qui ne fait pas partie du JOIN" - -#~ msgid "JSON does not support infinite date values." -#~ msgstr "JSON ne supporte pas les valeurs infinies de date." - -#~ msgid "JSON does not support infinite timestamp values." -#~ msgstr "JSON ne supporte pas les valeurs infinies de timestamp." - -#~ msgid "Jan" -#~ msgstr "Jan" - -#~ msgid "January" -#~ msgstr "Janvier" - -#~ msgid "Jul" -#~ msgstr "Juil" - -#~ msgid "July" -#~ msgstr "Juillet" - -#~ msgid "Jun" -#~ msgstr "Juin" - -#~ msgid "June" -#~ msgstr "Juin" - -#~ msgid "Kerberos 5 authentication failed for user \"%s\"" -#~ msgstr "authentification Kerberos 5 échouée pour l'utilisateur « %s »" - -#~ msgid "Kerberos 5 not implemented on this server" -#~ msgstr "Kerberos 5 non implémenté sur ce serveur" - -#~ msgid "Kerberos initialization returned error %d" -#~ msgstr "l'initialisation de Kerberos a retourné l'erreur %d" - -#~ msgid "Kerberos keytab resolving returned error %d" -#~ msgstr "la résolution keytab de Kerberos a renvoyé l'erreur %d" - -#~ msgid "Kerberos recvauth returned error %d" -#~ msgstr "recvauth de Kerberos a renvoyé l'erreur %d" - -#~ msgid "Kerberos sname_to_principal(\"%s\", \"%s\") returned error %d" -#~ msgstr "sname_to_principal(« %s », « %s ») de Kerberos a renvoyé l'erreur %d" - -#~ msgid "Kerberos unparse_name returned error %d" -#~ msgstr "unparse_name de Kerberos a renvoyé l'erreur %d" - -#, c-format -#~ msgid "LDAP over SSL is not supported on this platform." -#~ msgstr "LDAP via SSL n'est pas supporté sur cette plateforme." - -#~ msgid "LDAP search failed for filter \"%s\" on server \"%s\": user is not unique (%ld matches)" -#~ msgstr "" -#~ "échec de la recherche LDAP pour le filtre « %s » sur le serveur « %s » :\n" -#~ "utilisateur non unique (%ld correspondances)" - -#~ msgid "Lines should have the format parameter = 'value'." -#~ msgstr "Les lignes devraient avoir le format paramètre = 'valeur'" - -#~ msgid "Lower bound of dimension array must be one." -#~ msgstr "La limite inférieure du tableau doit valoir un." - -#~ msgid "Make sure the root.crt file is present and readable." -#~ msgstr "Assurez-vous que le certificat racine (root.crt) est présent et lisible" - -#~ msgid "Mar" -#~ msgstr "Mar" - -#~ msgid "March" -#~ msgstr "Mars" - -#~ msgid "May" -#~ msgstr "Mai" - -#~ msgid "Mon" -#~ msgstr "Lun" - -#~ msgid "Monday" -#~ msgstr "Lundi" - -#~ msgid "MultiXact member stop limit is now %u based on MultiXact %u" -#~ msgstr "La limite d'arrêt d'un membre MultiXact est maintenant %u, basée sur le MultiXact %u" - -#~ msgid "MultiXactId wrap limit is %u, limited by database with OID %u" -#~ msgstr "La limite de réinitialisation MultiXactId est %u, limité par la base de données d'OID %u" - -#~ msgid "Must be superuser to drop a foreign-data wrapper." -#~ msgstr "Doit être super-utilisateur pour supprimer un wrapper de données distantes." - -#~ msgid "NEW used in query that is not in a rule" -#~ msgstr "NEW utilisé dans une requête qui ne fait pas partie d'une règle" - -#~ msgid "NULLIF does not support set arguments" -#~ msgstr "NULLIF ne supporte pas les arguments d'ensemble" - -#~ msgid "No description available." -#~ msgstr "Aucune description disponible." - -#~ msgid "No rows were found in \"%s\"." -#~ msgstr "Aucune ligne trouvée dans « %s »." - -#~ msgid "Not enough memory for reassigning the prepared transaction's locks." -#~ msgstr "Pas assez de mémoire pour réaffecter les verrous des transactions préparées." - -#~ msgid "Not safe to send CSV data\n" -#~ msgstr "Envoi non sûr des données CSV\n" - -#~ msgid "Nov" -#~ msgstr "Nov" - -#~ msgid "November" -#~ msgstr "Novembre" - -#~ msgid "Number of transactions by which VACUUM and HOT cleanup should be deferred, if any." -#~ msgstr "Nombre de transactions à partir duquel les nettoyages VACUUM et HOT doivent être déferrés." - -#~ msgid "Number of tuple inserts prior to index cleanup as a fraction of reltuples." -#~ msgstr "" -#~ "Nombre de lignes insérées avant d'effectuer un nettoyage des index\n" -#~ "(fraction de reltuples)." - -#~ msgid "OLD used in query that is not in a rule" -#~ msgstr "OLD utilisé dans une requête qui n'est pas une règle" - -#~ msgid "ON CONFLICT clause is not supported with partitioned tables" -#~ msgstr "la clause ON CONFLICT n'est pas supporté avec les tables partitionnées" - -#~ msgid "ORIGIN message sent out of order" -#~ msgstr "message ORIGIN en désordre" - -#, c-format -#~ msgid "Object keys should be text." -#~ msgstr "Les clés de l'objet doivent être du texte." - -#~ msgid "Oct" -#~ msgstr "Oct" - -#~ msgid "October" -#~ msgstr "Octobre" - -#, c-format -#~ msgid "Omit the generation expression in the definition of the child table column to inherit the generation expression from the parent table." -#~ msgstr "Omettre l'expression de génération dans la définition de la colonne de la table fille pour hériter de l'expression de génération de la table parent." - -#, c-format -#~ msgid "Online backup started with pg_start_backup() must be ended with pg_stop_backup(), and all WAL up to that point must be available at recovery." -#~ msgstr "" -#~ "Une sauvegarde en ligne commencée avec pg_start_backup() doit se terminer avec\n" -#~ "pg_stop_backup() et tous les journaux de transactions générés entre les deux\n" -#~ "doivent être disponibles pour la restauration." - -#~ msgid "Only superusers can use untrusted languages." -#~ msgstr "" -#~ "Seuls les super-utilisateurs peuvent utiliser des langages qui ne sont pas\n" -#~ "de confiance." - -#, c-format -#~ msgid "Only tables can be added to publications." -#~ msgstr "Seules des tables peuvent être ajoutées aux publications." - -#~ msgid "PID %d is among the slowest backends." -#~ msgstr "Le PID %d est parmi les processus serveur les plus lents." - -#~ msgid "Partitioned tables cannot have BEFORE / FOR EACH ROW triggers." -#~ msgstr "Les tables partitionnées ne peuvent pas avoir de triggers BEFORE / FOR EACH ROW." - -#~ msgid "Perhaps out of disk space?" -#~ msgstr "Peut-être manquez-vous de place disque ?" - -#~ msgid "Permissions should be u=rw (0600) or less." -#~ msgstr "Les droits devraient être u=rwx (0600) ou inférieures." - -#~ msgid "Please report this to ." -#~ msgstr "Veuillez rapporter ceci à ." - -#~ msgid "Prints the execution plan to server log." -#~ msgstr "Affiche le plan d'exécution dans les journaux applicatifs du serveur." - -#~ msgid "Prints the parse tree after rewriting to server log." -#~ msgstr "Affiche l'arbre d'analyse après ré-écriture dans les journaux applicatifs du serveur." - -#~ msgid "Prints the parse tree to the server log." -#~ msgstr "Affiche l'arbre d'analyse dans les journaux applicatifs du serveur." - -#~ msgid "Proceeding with relation creation anyway." -#~ msgstr "Poursuit malgré tout la création de la relation." - -#~ msgid "Process %d waits for %s on %s." -#~ msgstr "Le processus %d attend %s sur %s." - -#~ msgid "Process Title" -#~ msgstr "Titre du processus" - -#~ msgid "Query Tuning" -#~ msgstr "Optimisation des requêtes" - -#~ msgid "RANGE FOLLOWING is only supported with UNBOUNDED" -#~ msgstr "RANGE FOLLOWING est seulement supporté avec UNBOUNDED" - -#~ msgid "RANGE PRECEDING is only supported with UNBOUNDED" -#~ msgstr "RANGE PRECEDING est seulement supporté avec UNBOUNDED" - -#~ msgid "REINDEX is not yet implemented for partitioned indexes" -#~ msgstr "REINDEX n'est pas implémenté pour des index partitionnés" - -#~ msgid "REINDEX of partitioned tables is not yet implemented, skipping \"%s\"" -#~ msgstr "REINDEX n'est pas encore implémenté pour les tables partitionnées, « %s » ignoré" - -#~ msgid "RETURNING cannot contain references to other relations" -#~ msgstr "RETURNING ne doit pas contenir de références à d'autres relations" - -#~ msgid "Rebuild the index with REINDEX." -#~ msgstr "Reconstruisez l'index avec REINDEX." - -#~ msgid "Replication" -#~ msgstr "Réplication" - -#~ msgid "Reporting and Logging" -#~ msgstr "Rapports et traces" - -#~ msgid "Resource Usage" -#~ msgstr "Utilisation des ressources" - -#, c-format -#~ msgid "Run pg_stop_backup() and try again." -#~ msgstr "Exécutez pg_stop_backup() et tentez de nouveau." - -#~ msgid "Runs the server silently." -#~ msgstr "Lance le serveur de manière silencieuse." - -#~ msgid "S:May" -#~ msgstr "S:Mai" - -#~ msgid "SASL authentication is not supported in protocol version 2" -#~ msgstr "l'authentification SASL n'est pas supportée dans le protocole de version 2" - -#~ msgid "SELECT FOR UPDATE/SHARE cannot be used with foreign table \"%s\"" -#~ msgstr "SELECT FOR UPDATE/SHARE ne peut pas être utilisé avec une table distante « %s »" - -#~ msgid "SELECT FOR UPDATE/SHARE is not allowed in subqueries" -#~ msgstr "SELECT FOR UPDATE/SHARE n'est pas autorisé dans les sous-requêtes" - -#~ msgid "SELECT FOR UPDATE/SHARE is not allowed with GROUP BY clause" -#~ msgstr "SELECT FOR UPDATE/SHARE n'est pas autorisé avec la clause GROUP BY" - -#~ msgid "SELECT FOR UPDATE/SHARE is not allowed with HAVING clause" -#~ msgstr "SELECT FOR UPDATE/SHARE n'est pas autorisé avec la clause HAVING" - -#~ msgid "SELECT FOR UPDATE/SHARE is not allowed with aggregate functions" -#~ msgstr "SELECT FOR UPDATE/SHARE n'est pas autorisé avec les fonctions d'agrégats" - -#~ msgid "SELECT FOR UPDATE/SHARE is not allowed with window functions" -#~ msgstr "SELECT FOR UPDATE/SHARE n'est pas autorisé avec les fonctions window" - -#~ msgid "SELECT FOR UPDATE/SHARE is not supported for inheritance queries" -#~ msgstr "SELECT FOR UPDATE/SHARE n'est pas supporté pour les requêtes d'héritage" - -#~ msgid "SELECT FOR UPDATE/SHARE is not supported within a query with multiple result relations" -#~ msgstr "" -#~ "SELECT FOR UPDATE/SHARE n'est pas supporté dans une requête avec plusieurs\n" -#~ "relations" - -#~ msgid "SSL certificate revocation list file \"%s\" ignored" -#~ msgstr "liste de révocation des certificats SSL « %s » ignorée" - -#~ msgid "SSL certificate revocation list file \"%s\" not found, skipping: %s" -#~ msgstr "liste de révocation des certificats SSL « %s » introuvable, continue : %s" - -#~ msgid "SSL connection from \"%s\"" -#~ msgstr "connexion SSL de « %s »" - -#~ msgid "SSL failed to renegotiate connection before limit expired" -#~ msgstr "SSL a échoué à renégotier la connexion avant l'expiration du délai" - -#~ msgid "SSL failure during renegotiation start" -#~ msgstr "échec SSL au début de la re-négotiation" - -#~ msgid "SSL handshake failure on renegotiation, retrying" -#~ msgstr "échec du handshake SSL lors de la renégotiation, nouvelle tentative" - -#~ msgid "SSL library does not support certificate revocation lists." -#~ msgstr "La bibliothèque SSL ne supporte pas les listes de révocation des certificats." - -#~ msgid "SSL off" -#~ msgstr "SSL inactif" - -#~ msgid "SSL on" -#~ msgstr "SSL actif" - -#~ msgid "SSL renegotiation failure" -#~ msgstr "échec lors de la re-négotiation SSL" - -#~ msgid "SSPI error %x" -#~ msgstr "erreur SSPI : %x" - -#~ msgid "SSPI is not supported in protocol version 2" -#~ msgstr "SSPI n'est pas supporté dans le protocole de version 2" - -#~ msgid "Sat" -#~ msgstr "Sam" - -#~ msgid "Saturday" -#~ msgstr "Samedi" - -#~ msgid "Security-barrier views are not automatically updatable." -#~ msgstr "Les vues avec barrière de sécurité ne sont pas automatiquement disponibles en écriture." - -#~ msgid "See server log for details." -#~ msgstr "Voir les journaux applicatifs du serveur pour plus de détails." - -#~ msgid "Sep" -#~ msgstr "Sep" - -#~ msgid "September" -#~ msgstr "Septembre" - -#~ msgid "Server has FLOAT4PASSBYVAL = %s, library has %s." -#~ msgstr "Le serveur a FLOAT4PASSBYVAL = %s, la bibliothèque a %s." - -#~ msgid "Set dynamic_shared_memory_type to a value other than \"none\"." -#~ msgstr "Configurez dynamic_shared_memory_type à une valeur autre que « none »." - -#~ msgid "Sets immediate fsync at commit." -#~ msgstr "Configure un fsync immédiat lors du commit." - -#~ msgid "Sets realm to match Kerberos and GSSAPI users against." -#~ msgstr "" -#~ "Indique le royaume pour l'authentification des utilisateurs via Kerberos et\n" -#~ "GSSAPI." - -#~ msgid "Sets the hostname of the Kerberos server." -#~ msgstr "Initalise le nom d'hôte du serveur Kerberos." - -#~ msgid "Sets the language used in DO statement if LANGUAGE is not specified." -#~ msgstr "" -#~ "Configure le langage utilisé dans une instruction DO si la clause LANGUAGE n'est\n" -#~ "pas spécifiée." - -#~ msgid "Sets the list of known custom variable classes." -#~ msgstr "Initialise la liste des classes variables personnalisées connues." - -#~ msgid "Sets the maximum distance in log segments between automatic WAL checkpoints." -#~ msgstr "" -#~ "Initialise la distance maximale dans les journaux de transaction entre chaque\n" -#~ "point de vérification (checkpoints) des journaux." - -#~ msgid "Sets the maximum number of tables and indexes for which free space is tracked." -#~ msgstr "" -#~ "Initialise le nombre maximum de tables et index pour lesquels l'espace libre\n" -#~ "est tracé." - -#~ msgid "Sets the maximum number of tuples to be sorted using replacement selection." -#~ msgstr "Configure le nombre maximum de lignes à trier en utilisant la sélection de remplacement." - -#~ msgid "Sets the name of the Kerberos service." -#~ msgstr "Initialise le nom du service Kerberos." - -#~ msgid "Sets the regular expression \"flavor\"." -#~ msgstr "Initialise l'expression rationnelle « flavor »." - -#~ msgid "Shows the character classification and case conversion locale." -#~ msgstr "Affiche la classification des caractères et la locale de conversions." - -#~ msgid "Shows the collation order locale." -#~ msgstr "Affiche la locale de tri et de groupement." - -#, c-format -#~ msgid "Skipped %u page due to buffer pins, " -#~ msgid_plural "Skipped %u pages due to buffer pins, " -#~ msgstr[0] "Ignore %u page à cause des verrous de blocs, " -#~ msgstr[1] "Ignore %u pages à cause des verrous de blocs, " - -# trigger_file -#~ msgid "Specifies a file name whose presence ends recovery in the standby." -#~ msgstr "Définit un nom de fichier dont la présence termine la restauration du serveur secondaire." - -#~ msgid "Specify a USING expression to perform the conversion." -#~ msgstr "Donnez une expression USING pour réaliser la conversion." - -#~ msgid "Specify a relation name as well as a rule name." -#~ msgstr "Spécifier un nom de relation ainsi qu'un nom de règle." - -#~ msgid "Statistics" -#~ msgstr "Statistiques" - -#~ msgid "Sun" -#~ msgstr "Dim" - -#~ msgid "Sunday" -#~ msgstr "Dimanche" - -#, c-format -#~ msgid "System tables cannot be added to publications." -#~ msgstr "Les tables systèmes ne peuvent pas être ajoutées à une publication." - -#~ msgid "Table contains duplicated values." -#~ msgstr "La table contient des valeurs dupliquées." - -#~ msgid "The arguments of jsonb_build_object() must consist of alternating keys and values." -#~ msgstr "Les arguments de jsonb_build_object() doivent consister en des clés et valeurs alternées" - -#~ msgid "The cast requires a non-immutable conversion." -#~ msgstr "Cette conversion requiert une conversion non immutable." - -#~ msgid "The database cluster was initialized with HAVE_INT64_TIMESTAMP but the server was compiled without HAVE_INT64_TIMESTAMP." -#~ msgstr "" -#~ "Le cluster de bases de données a été initialisé avec HAVE_INT64_TIMESTAMP\n" -#~ "alors que le serveur a été compilé sans." - -#~ msgid "The database cluster was initialized with LOCALE_NAME_BUFLEN %d, but the server was compiled with LOCALE_NAME_BUFLEN %d." -#~ msgstr "" -#~ "Le cluster de bases de données a été initialisé avec un LOCALE_NAME_BUFLEN\n" -#~ "à %d alors que le serveur a été compilé avec un LOCALE_NAME_BUFLEN à %d." - -#~ msgid "The database cluster was initialized with USE_FLOAT4_BYVAL but the server was compiled without USE_FLOAT4_BYVAL." -#~ msgstr "" -#~ "Le cluster de base de données a été initialisé avec USE_FLOAT4_BYVAL\n" -#~ "alors que le serveur a été compilé sans USE_FLOAT4_BYVAL." - -#~ msgid "The database cluster was initialized with XLOG_SEG_SIZE %d, but the server was compiled with XLOG_SEG_SIZE %d." -#~ msgstr "" -#~ "Le cluster de bases de données a été initialisé avec un XLOG_SEG_SIZE à %d\n" -#~ "alors que le serveur a été compilé avec un XLOG_SEG_SIZE à %d." - -#~ msgid "The database cluster was initialized without HAVE_INT64_TIMESTAMP but the server was compiled with HAVE_INT64_TIMESTAMP." -#~ msgstr "Le cluster de bases de données a été initialisé sans HAVE_INT64_TIMESTAMPalors que le serveur a été compilé avec." - -#~ msgid "The database cluster was initialized without USE_FLOAT4_BYVAL but the server was compiled with USE_FLOAT4_BYVAL." -#~ msgstr "" -#~ "Le cluster de base de données a été initialisé sans USE_FLOAT4_BYVAL\n" -#~ "alors que le serveur a été compilé avec USE_FLOAT4_BYVAL." - -#~ msgid "The error was: %s" -#~ msgstr "L'erreur était : %s" - -#, c-format -#~ msgid "The owner of a subscription must be a superuser." -#~ msgstr "Le propriétaire d'une souscription doit être un super-utilisateur." - -#~ msgid "The supported languages are listed in the pg_pltemplate system catalog." -#~ msgstr "Les langages supportés sont listés dans le catalogue système pg_pltemplate." - -#~ msgid "There might be an idle transaction or a forgotten prepared transaction causing this." -#~ msgstr "" -#~ "Il pourait y avoir une transaction en attente ou une transaction préparée\n" -#~ "oubliée causant cela." - -#~ msgid "There were %.0f unused item identifiers.\n" -#~ msgstr "Il y avait %.0f identifiants d'éléments inutilisés.\n" - -#~ msgid "This can be caused by having a publisher with a higher PostgreSQL major version than the subscriber." -#~ msgstr "Ceci peut avoir pour cause un publieur ayant une version majeure de PostgreSQL supérieure à l'abonné" - -#~ msgid "This can be set to advanced, extended, or basic." -#~ msgstr "" -#~ "Ceci peut être initialisé avec advanced (avancé), extended (étendu) ou\n" -#~ "basic (basique)." - -#~ msgid "This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by \"client_encoding\"." -#~ msgstr "" -#~ "Cette erreur peut aussi survenir si la séquence d'octets ne correspond pas\n" -#~ "au jeu de caractères attendu par le serveur, le jeu étant contrôlé par\n" -#~ "« client_encoding »." - -#~ msgid "" -#~ "This error usually means that PostgreSQL's request for a shared memory segment exceeded your kernel's SHMMAX parameter. You can either reduce the request size or reconfigure the kernel with larger SHMMAX. To reduce the request size (currently %lu bytes), reduce PostgreSQL's shared memory usage, perhaps by reducing shared_buffers or max_connections.\n" -#~ "If the request size is already small, it's possible that it is less than your kernel's SHMMIN parameter, in which case raising the request size or reconfiguring SHMMIN is called for.\n" -#~ "The PostgreSQL documentation contains more information about shared memory configuration." -#~ msgstr "" -#~ "Cette erreur signifie habituellement que la demande de PostgreSQL pour un\n" -#~ "segment de mémoire partagée a dépassé le paramètre SHMMAX de votre noyau.\n" -#~ "Vous pouvez soit réduire la taille de la requête soit reconfigurer le noyau\n" -#~ "avec un SHMMAX plus important. Pour réduire la taille de la requête\n" -#~ "(actuellement %lu octets), réduisez l'utilisation de la mémoire partagée par PostgreSQL,par exemple en réduisant shared_buffers ou max_connections\n" -#~ "Si la taille de la requête est déjà petite, il est possible qu'elle soit\n" -#~ "moindre que le paramètre SHMMIN de votre noyau, auquel cas, augmentez la\n" -#~ "taille de la requête ou reconfigurez SHMMIN.\n" -#~ "La documentation de PostgreSQL contient plus d'informations sur la\n" -#~ "configuration de la mémoire partagée." - -#~ msgid "This is a debugging aid." -#~ msgstr "C'est une aide de débogage." - -#~ msgid "This name may be disallowed altogether in future versions of PostgreSQL." -#~ msgstr "Ce nom pourrait être interdit dans les prochaines versions de PostgreSQL." - -#~ msgid "This parameter cannot be changed after server start." -#~ msgstr "Ce paramètre ne peut pas être modifié après le lancement du serveur" - -#~ msgid "This parameter doesn't do anything." -#~ msgstr "Ce paramètre ne fait rien." - -#~ msgid "Thu" -#~ msgstr "Jeu" - -#~ msgid "Thursday" -#~ msgstr "Jeudi" - -#~ msgid "Transaction ID %u finished; no more running transactions." -#~ msgstr "Identifiant de transaction %u terminé ; plus de transactions en cours." - -#, c-format -#~ msgid "Triggers on partitioned tables cannot have transition tables." -#~ msgstr "Les triggers sur les tables partitionnées ne peuvent pas avoir de tables de transition." - -#~ msgid "Try putting the literal value in single quotes." -#~ msgstr "Placer la valeur littérale en guillemets simples." - -#~ msgid "Tue" -#~ msgstr "Mar" - -#~ msgid "Tuesday" -#~ msgstr "Mardi" - -#~ msgid "Turns on various assertion checks." -#~ msgstr "Active les différentes vérifications des assertions." - -#~ msgid "UTF-16 to UTF-8 translation failed: %lu" -#~ msgstr "échec de la conversion d'UTF16 vers UTF8 : %lu" - -#~ msgid "Unicode escape values cannot be used for code point values above 007F when the server encoding is not UTF8" -#~ msgstr "" -#~ "Les valeurs d'échappement unicode ne peuvent pas être utilisées pour les\n" -#~ "valeurs de point de code au-dessus de 007F quand l'encodage serveur n'est\n" -#~ "pas UTF8" - -#~ msgid "Unicode escape values cannot be used for code point values above 007F when the server encoding is not UTF8." -#~ msgstr "" -#~ "Les valeurs d'échappement unicode ne peuvent pas être utilisées pour les valeurs de point de code\n" -#~ "au-dessus de 007F quand l'encodage serveur n'est pas UTF8." - -#~ msgid "Use ALTER AGGREGATE to change owner of aggregate functions." -#~ msgstr "Utiliser ALTER AGGREGATE pour changer le propriétaire des fonctions d'agrégat." - -#~ msgid "Use ALTER AGGREGATE to rename aggregate functions." -#~ msgstr "Utiliser ALTER AGGREGATE pour renommer les fonctions d'agrégat." - -#~ msgid "Use ALTER FOREIGN TABLE instead." -#~ msgstr "Utilisez ALTER FOREIGN TABLE à la place." - -#, c-format -#~ msgid "Use ALTER TABLE ... ALTER COLUMN ... DROP EXPRESSION instead." -#~ msgstr "Utilisez à la place ALTER TABLE ... ALTER COLUMN ... DROP EXTENSION." - -#, c-format -#~ msgid "Use ALTER TABLE ... ALTER COLUMN ... DROP IDENTITY instead." -#~ msgstr "Utilisez à la place ALTER TABLE ... ALTER COLUMN ... DROP IDENTITY." - -#~ msgid "Use ALTER TABLE ... DETACH PARTITION ... FINALIZE to complete the detach operation." -#~ msgstr "Utiliser ALTER TABLE ... DETACH PARTITION ... FINALIZE pour terminer l'opération de détachement." - -#~ msgid "Use ALTER TABLE ... DETACH PARTITION ... FINALIZE to complete the pending detach operation" -#~ msgstr "Utilisez ALTER TABLE ... DETACH PARTITION ... FINALIZE pour terminer l'opération de détachement en attente" - -#, c-format -#~ msgid "Use ALTER TABLE instead." -#~ msgstr "Utilisez ALTER TABLE à la place." - -#, c-format -#~ msgid "Use ALTER TYPE instead." -#~ msgstr "Utilisez ALTER TYPE à la place." - -#~ msgid "Use SELECT ... UNION ALL ... instead." -#~ msgstr "Utilisez à la place SELECT ... UNION ALL ..." - -#~ msgid "User \"%s\" has an empty password." -#~ msgstr "L'utilisateur « %s » a un mot de passe vide." - -#~ msgid "Uses the indented output format for EXPLAIN VERBOSE." -#~ msgstr "Utilise le format de sortie indenté pour EXPLAIN VERBOSE." - -#, c-format -#~ msgid "VALUES in FROM must have an alias" -#~ msgstr "VALUES dans FROM doit avoir un alias" - -#~ msgid "VALUES must not contain OLD or NEW references" -#~ msgstr "VALUES ne doit pas contenir des références à OLD et NEW" - -#~ msgid "VALUES must not contain table references" -#~ msgstr "VALUES ne doit pas contenir de références de table" - -#, c-format -#~ msgid "Valid options in this context are: %s" -#~ msgstr "Les options valides dans ce contexte sont %s" - -#~ msgid "Valid values are \"pause\", \"promote\", and \"shutdown\"." -#~ msgstr "Les valeurs valides sont « pause », « promote » et « shutdown »." - -#~ msgid "Valid values are '[]', '[)', '(]', and '()'." -#~ msgstr "Les valeurs valides sont « [] », « [) », « (] » et « () »." - -#~ msgid "Valid values are DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, INFO, NOTICE, WARNING, ERROR, LOG, FATAL, and PANIC. Each level includes all the levels that follow it." -#~ msgstr "" -#~ "Les valeurs valides sont DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, INFO,\n" -#~ "NOTICE, WARNING, ERROR, LOG, FATAL et PANIC. Chaque niveau incut tous les\n" -#~ "niveaux qui le suit." - -#~ msgid "Valid values are DOCUMENT and CONTENT." -#~ msgstr "Les valeurs valides sont DOCUMENT et CONTENT." - -#~ msgid "Valid values are LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7." -#~ msgstr "" -#~ "Les valeurs valides sont LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5,\n" -#~ "LOCAL6, LOCAL7." - -#~ msgid "Valid values are ON, OFF, and SAFE_ENCODING." -#~ msgstr "Les valeurs valides sont ON, OFF et SAFE_ENCODING." - -#~ msgid "Version and Platform Compatibility" -#~ msgstr "Compatibilité des versions et des plateformes" - -#~ msgid "Views that return the same column more than once are not automatically updatable." -#~ msgstr "Les vues qui renvoient la même colonne plus d'une fois ne sont pas automatiquement disponibles en écriture." - -#~ msgid "WAL archival (archive_mode=on) requires wal_level \"archive\", \"hot_standby\", or \"logical\"" -#~ msgstr "" -#~ "l'archivage des journaux de transactions (archive_mode=on) nécessite que\n" -#~ "le paramètre wal_level soit initialisé avec « archive », « hot_standby » ou « logical »" - -#~ msgid "WAL archiving is not active" -#~ msgstr "l'archivage des journaux de transactions n'est pas actif" - -#~ msgid "WAL file SYSID is %s, pg_control SYSID is %s" -#~ msgstr "le SYSID du journal de transactions WAL est %s, celui de pg_control est %s" - -#~ msgid "WAL file is from different database system: Incorrect XLOG_BLCKSZ in page header." -#~ msgstr "" -#~ "le journal de transactions provient d'un système de bases de données différent :\n" -#~ "XLOG_BLCKSZ incorrect dans l'en-tête de page." - -#~ msgid "WAL file is from different database system: Incorrect XLOG_SEG_SIZE in page header." -#~ msgstr "" -#~ "le journal de transactions provient d'un système de bases de données différent :\n" -#~ "XLOG_SEG_SIZE incorrect dans l'en-tête de page." - -#~ msgid "WAL file is from different database system: WAL file database system identifier is %s, pg_control database system identifier is %s" -#~ msgstr "le fichier WAL provient d'une instance différente : l'identifiant système de la base dans le fichier WAL est %s, alors que l'identifiant système de l'instance dans pg_control est %s" - -#~ msgid "WAL file is from different database system: WAL file database system identifier is %s, pg_control database system identifier is %s." -#~ msgstr "" -#~ "L'identifiant du journal de transactions du système de base de données est %s,\n" -#~ "l'identifiant pg_control du système de base de données dans pg_control est %s." - -#~ msgid "WAL file is from different database system: incorrect XLOG_SEG_SIZE in page header" -#~ msgstr "le fichier WAL provient d'un système différent : XLOG_SEG_SIZE invalide dans l'en-tête de page" - -#~ msgid "WAL sender sleep time between WAL replications." -#~ msgstr "" -#~ "Temps d'endormissement du processus d'envoi des journaux de transactions entre\n" -#~ "les réplications des journaux de transactions." - -#~ msgid "WAL writer sleep time between WAL flushes." -#~ msgstr "" -#~ "Temps d'endormissement du processus d'écriture pendant le vidage des\n" -#~ "journaux de transactions en millisecondes." - -#~ msgid "" -#~ "WARNING: Calculated CRC checksum does not match value stored in file.\n" -#~ "Either the file is corrupt, or it has a different layout than this program\n" -#~ "is expecting. The results below are untrustworthy.\n" -#~ "\n" -#~ msgstr "" -#~ "ATTENTION : Les sommes de contrôle (CRC) calculées ne correspondent pas aux\n" -#~ "valeurs stockées dans le fichier.\n" -#~ "Soit le fichier est corrompu, soit son organisation diffère de celle\n" -#~ "attendue par le programme.\n" -#~ "Les résultats ci-dessous ne sont pas dignes de confiance.\n" -#~ "\n" - -#~ msgid "" -#~ "WARNING: 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.\n" -#~ msgstr "" -#~ "ATTENTION : possible incohérence dans l'ordre des octets\n" -#~ "L'ordre des octets utilisé pour enregistrer le fichier pg_control peut ne\n" -#~ "pas correspondre à celui utilisé par ce programme. Dans ce cas, les\n" -#~ "résultats ci-dessous sont incorrects, et l'installation PostgreSQL\n" -#~ "incompatible avec ce répertoire des données.\n" - -#~ msgid "WHERE CURRENT OF is not supported on a view with grouping or aggregation" -#~ msgstr "WHERE CURRENT OF n'est pas supporté pour une vue avec regroupement ou agrégat" - -#~ msgid "WHERE CURRENT OF is not supported on a view with more than one underlying relation" -#~ msgstr "WHERE CURRENT OF n'est pas supporté pour une vue avec plus d'une table sous-jacente" - -#~ msgid "WHERE CURRENT OF is not supported on a view with no underlying relation" -#~ msgstr "WHERE CURRENT OF n'est pas supporté pour une vue sans table sous-jacente" - -#~ msgid "Waits N seconds on connection startup after authentication." -#~ msgstr "Attends N secondes après l'authentification." - -#~ msgid "Waits N seconds on connection startup before authentication." -#~ msgstr "Attends N secondes au lancement de la connexion avant l'authentification." - -#~ msgid "Wed" -#~ msgstr "Mer" - -#~ msgid "Wednesday" -#~ msgstr "Mercredi" - -#~ msgid "When a password is specified in CREATE USER or ALTER USER without writing either ENCRYPTED or UNENCRYPTED, this parameter determines whether the password is to be encrypted." -#~ msgstr "" -#~ "Lorsqu'un mot de passe est spécifié dans CREATE USER ou ALTER USER sans\n" -#~ "indiquer ENCRYPTED ou UNENCRYPTED, ce paramètre détermine si le mot de passe\n" -#~ "doit être chiffré." - -#~ msgid "When logging statements, limit logged parameter values to first N bytes." -#~ msgstr "Lors de la trace des requêtes, limite les valeurs des paramètres tracés aux N premiers octets." - -#~ msgid "When more tuples than this are present, quicksort will be used." -#~ msgstr "Quand plus de lignes que ça sont présentes, quicksort sera utilisé." - -#~ msgid "When reporting an error, limit logged parameter values to first N bytes." -#~ msgstr "Lors de la trace d'une erreur, limite les valeurs des paramètres tracés aux N premiers octets." - -#~ msgid "Write-Ahead Log" -#~ msgstr "Write-Ahead Log" - -#~ msgid "Write-Ahead Log / Streaming Replication" -#~ msgstr "Write-Ahead Log / Réplication en flux" - -#~ msgid "Writes temporary statistics files to the specified directory." -#~ msgstr "Écrit les fichiers statistiques temporaires dans le répertoire indiqué." - -#~ msgid "You can add the table partitions individually." -#~ msgstr "Vous pouvez ajouter les partitions de table individuellement." - -#~ msgid "You have at least %d relations. Consider increasing the configuration parameter \"max_fsm_relations\"." -#~ msgstr "" -#~ "Vous avez au moins %d relations.Considèrez l'augmentation du paramètre de\n" -#~ "configuration « max_fsm_relations »." - -#~ msgid "You might be able to work around this by marking column \"%s\" NOT NULL, or use ALTER TABLE ... SET WITHOUT CLUSTER to remove the cluster specification from the table." -#~ msgstr "" -#~ "Vous pourriez contourner ceci en marquant la colonne « %s » avec la\n" -#~ "contrainte NOT NULL ou en utilisant ALTER TABLE ... SET WITHOUT CLUSTER pour\n" -#~ "supprimer la spécification CLUSTER de la table." - -#~ msgid "You might be able to work around this by marking column \"%s\" NOT NULL." -#~ msgstr "Vous pouvez contourner ceci en marquant la colonne « %s » comme NOT NULL." - -#, c-format -#~ msgid "You might need to increase max_locks_per_transaction." -#~ msgstr "Vous pourriez avoir besoin d'augmenter max_locks_per_transaction." - -#, c-format -#~ msgid "You might need to increase max_logical_replication_workers." -#~ msgstr "Vous pourriez avoir besoin d'augmenter max_logical_replication_workers." - -#, c-format -#~ msgid "You might need to increase max_pred_locks_per_transaction." -#~ msgstr "Vous pourriez avoir besoin d'augmenter max_pred_locks_per_transaction." - -#, c-format -#~ msgid "You might need to increase max_worker_processes." -#~ msgstr "Vous pourriez avoir besoin d'augmenter max_worker_processes." - -#~ msgid "You need an unconditional ON DELETE DO INSTEAD rule or an INSTEAD OF DELETE trigger." -#~ msgstr "Vous avez besoin d'une règle inconditionnelle ON DELETE DO INSTEAD ou d'un trigger INSTEAD OF DELETE." - -#~ msgid "You need an unconditional ON INSERT DO INSTEAD rule or an INSTEAD OF INSERT trigger." -#~ msgstr "Vous avez besoin d'une règle ON INSERT DO INSTEAD sans condition ou d'un trigger INSTEAD OF INSERT." - -#~ msgid "You need an unconditional ON UPDATE DO INSTEAD rule or an INSTEAD OF UPDATE trigger." -#~ msgstr "Vous avez besoin d'une règle non conditionnelle ON UPDATE DO INSTEAD ou d'un trigger INSTEAD OF UPDATE." - -#, c-format -#~ msgid "You need to rebuild PostgreSQL using %s." -#~ msgstr "Vous devez recompiler PostgreSQL en utilisant %s." - -#~ msgid "You need to rebuild PostgreSQL using --with-icu." -#~ msgstr "Vous devez recompiler PostgreSQL en utilisant --with-icu." - -#~ msgid "You need to rebuild PostgreSQL using --with-libxml." -#~ msgstr "Vous devez recompiler PostgreSQL en utilisant --with-libxml." - -#, c-format -#~ msgid "a backup is already in progress" -#~ msgstr "une sauvegarde est déjà en cours" - -#~ msgid "aborted" -#~ msgstr "annulé" - -#~ msgid "abstime out of range for date" -#~ msgstr "abstime en dehors des limites pour une date" - -#~ msgid "access method name cannot be qualified" -#~ msgstr "le nom de la méthode d'accès ne peut pas être qualifiée" - -#~ msgid "added subscription for table %s.%s" -#~ msgstr "souscription ajoutée pour la table %s.%s" - -#~ msgid "adding missing FROM-clause entry for table \"%s\"" -#~ msgstr "ajout d'une entrée manquante dans FROM (table « %s »)" - -#~ msgid "adding missing FROM-clause entry in subquery for table \"%s\"" -#~ msgstr "entrée manquante de la clause FROM dans la sous-requête pour la table « %s »" - -#~ msgid "aggregates not allowed in WHERE clause" -#~ msgstr "agrégats non autorisés dans une clause WHERE" - -#~ msgid "archive command was terminated by signal %d" -#~ msgstr "la commande d'archivage a été terminée par le signal %d" - -#~ msgid "archive member \"%s\" too large for tar format" -#~ msgstr "membre « %s » de l'archive trop volumineux pour le format tar" - -#~ msgid "archive_command must be defined before online backups can be made safely." -#~ msgstr "" -#~ "archive_command doit être défini avant que les sauvegardes à chaud puissent\n" -#~ "s'effectuer correctement." - -#~ msgid "archive_mode must be enabled at server start." -#~ msgstr "archive_mode doit être activé au lancement du serveur." - -#~ msgid "archived transaction log file \"%s\"" -#~ msgstr "journal des transactions archivé « %s »" - -#, c-format -#~ msgid "argument %d cannot be null" -#~ msgstr "l'argument %d ne peut pas être NULL" - -#~ msgid "argument %d: could not determine data type" -#~ msgstr "argument %d : n'a pas pu déterminer le type de données" - -#~ msgid "argument declared \"anyrange\" is not consistent with argument declared \"anyelement\"" -#~ msgstr "" -#~ "l'argument déclaré « anyrange » n'est pas cohérent avec l'argument déclaré\n" -#~ "« anyelement »" - -#~ msgid "argument for function \"exp\" too big" -#~ msgstr "l'argument de la fonction « exp » est trop gros" - -#~ msgid "argument number is out of range" -#~ msgstr "le nombre en argument est en dehors des limites" - -#~ msgid "argument of %s must be type boolean, not type %s" -#~ msgstr "l'argument de %s doit être de type booléen, et non du type %s" - -#~ msgid "argument of %s must not contain aggregate functions" -#~ msgstr "l'argument de %s ne doit pas contenir de fonctions d'agrégats" - -#~ msgid "argument of %s must not contain window functions" -#~ msgstr "l'argument de %s ne doit pas contenir des fonctions window" - -#~ msgid "argument to pg_get_expr() must come from system catalogs" -#~ msgstr "l'argument de pg_get_expr() doit provenir des catalogues systèmes" - -#~ msgid "arguments declared \"anycompatiblemultirange\" are not all alike" -#~ msgstr "les arguments déclarés « anycompatiblemultirange » ne sont pas tous identiques" - -#~ msgid "arguments declared \"anycompatiblerange\" are not all alike" -#~ msgstr "les arguments déclarés « anycompatiblerange » ne sont pas tous identiques" - -#~ msgid "arguments declared \"anyelement\" are not all alike" -#~ msgstr "les arguments déclarés « anyelement » ne sont pas tous identiques" - -#~ msgid "arguments declared \"anymultirange\" are not all alike" -#~ msgstr "les arguments déclarés « anymultirange » ne sont pas tous identiques" - -#~ msgid "arguments declared \"anyrange\" are not all alike" -#~ msgstr "les arguments déclarés « anyrange » ne sont pas tous identiques" - -#~ msgid "arguments of row IN must all be row expressions" -#~ msgstr "les arguments de la ligne IN doivent tous être des expressions de ligne" - -#~ msgid "array assignment requires type %s but expression is of type %s" -#~ msgstr "l'affectation de tableaux requiert le type %s mais l'expression est de type %s" - -#~ msgid "at least one of leftarg or rightarg must be specified" -#~ msgstr "au moins un des arguments (le gauche ou le droit) doit être spécifié" - -#~ msgid "attempted change of parameter \"%s\" ignored" -#~ msgstr "tentative de modification du paramètre « %s » ignoré" - -#~ msgid "authentication file line too long" -#~ msgstr "ligne du fichier d'authentification trop longue" - -#, c-format -#~ msgid "authentication file token too long, skipping: \"%s\"" -#~ msgstr "jeton du fichier d'authentification trop long, ignore : « %s »" - -#~ msgid "automatic analyze of table \"%s.%s.%s\" system usage: %s" -#~ msgstr "ANALYZE automatique de la table « %s.%s.%s » ; utilisation système : %s" - -#~ msgid "automatic vacuum of table \"%s.%s.%s\": cannot (re)acquire exclusive lock for truncate scan" -#~ msgstr "vacuum automatique de la table « %s.%s.%s » : ne peut pas acquérir le verrou exclusif pour la tronquer" - -#~ msgid "" -#~ "automatic vacuum of table \"%s.%s.%s\": index scans: %d\n" -#~ "pages: %d removed, %d remain\n" -#~ "tuples: %.0f removed, %.0f remain, %.0f are dead but not yet removable\n" -#~ "buffer usage: %d hits, %d misses, %d dirtied\n" -#~ "avg read rate: %.3f MB/s, avg write rate: %.3f MB/s\n" -#~ "system usage: %s" -#~ msgstr "" -#~ "VACUUM automatique de la table « %s.%s.%s » : parcours d'index : %d\n" -#~ "pages : %d supprimées, %d restantes\n" -#~ "lignes : %.0f supprimées, %.0f restantes, %.0f sont mortes mais non supprimables\n" -#~ "utilisation des tampons : %d lus dans le cache, %d lus hors du cache, %d modifiés\n" -#~ "taux moyen de lecture : %.3f Mo/s, taux moyen d'écriture : %.3f Mo/s\n" -#~ "utilisation système : %s" - -#~ msgid "autovacuum launcher shutting down" -#~ msgstr "arrêt du processus de lancement de l'autovacuum" - -#~ msgid "autovacuum launcher started" -#~ msgstr "démarrage du processus de lancement de l'autovacuum" - -#~ msgid "autovacuum: found orphan temp table \"%s\".\"%s\" in database \"%s\"" -#~ msgstr "" -#~ "autovacuum : a trouvé la table temporaire orpheline « %s.%s » dans la base de\n" -#~ "données « %s »" - -#~ msgid "autovacuum: processing database \"%s\"" -#~ msgstr "autovacuum : traitement de la base de données « %s »" - -#, c-format -#~ msgid "background worker \"%s\": must attach to shared memory in order to request a database connection" -#~ msgstr "processus en tâche de fond « %s » : doit se lier à la mémoire partagée pour pouvoir demander une connexion à une base" - -#~ msgid "backup label %s in file \"%s\"" -#~ msgstr "label de sauvegarde %s dans le fichier « %s »" - -#~ msgid "backup time %s in file \"%s\"" -#~ msgstr "heure de sauvegarde %s dans le fichier « %s »" - -#~ msgid "backup timeline %u in file \"%s\"" -#~ msgstr "timeline de sauvegarde %u dans le fichier « %s »" - -#, c-format -#~ msgid "base backup could not send data, aborting backup" -#~ msgstr "la sauvegarde de base n'a pas pu envoyer les données, annulation de la sauvegarde" - -#~ msgid "binary value is out of range for type bigint" -#~ msgstr "la valeur binaire est en dehors des limites du type bigint" - -#~ msgid "bind %s to %s" -#~ msgstr "lie %s à %s" - -#~ msgid "brin operator family \"%s\" contains function %s with invalid support number %d" -#~ msgstr "" -#~ "la famille d'opérateur brin « %s » contient la fonction %s\n" -#~ "avec le numéro de support %d invalide" - -#~ msgid "brin operator family \"%s\" contains function %s with wrong signature for support number %d" -#~ msgstr "" -#~ "la famille d'opérateur brin « %s » contient la fonction %s\n" -#~ "avec une mauvaise signature pour le numéro de support %d" - -#~ msgid "brin operator family \"%s\" contains invalid ORDER BY specification for operator %s" -#~ msgstr "" -#~ "la famille d'opérateur brin « %s » contient une spécification\n" -#~ "ORDER BY invalide pour l'opérateur %s" - -#~ msgid "brin operator family \"%s\" contains operator %s with invalid strategy number %d" -#~ msgstr "" -#~ "la famille d'opérateur brin « %s » contient l'opérateur %s\n" -#~ "avec le numéro de stratégie %d invalide" - -#~ msgid "brin operator family \"%s\" contains operator %s with wrong signature" -#~ msgstr "la famille d'opérateur brin « %s » contient l'opérateur %s avec une mauvaise signature" - -#~ msgid "btree operator class \"%s\" is missing operator(s)" -#~ msgstr "il manque des opérateurs pour la classe d'opérateur btree « %s »" - -#~ msgid "btree operator family \"%s\" contains function %s with invalid support number %d" -#~ msgstr "" -#~ "la famille d'opérateur btree « %s » contient la fonction %s\n" -#~ "avec le numéro de support invalide %d" - -#~ msgid "btree operator family \"%s\" contains function %s with wrong signature for support number %d" -#~ msgstr "" -#~ "la famille d'opérateur btree « %s » contient la fonction %s\n" -#~ "avec une mauvaise signature pour le numéro de support %d" - -#~ msgid "btree operator family \"%s\" contains invalid ORDER BY specification for operator %s" -#~ msgstr "" -#~ "la famille d'opérateur btree « %s » contient une spécification\n" -#~ "ORDER BY invalide pour l'opérateur %s" - -#~ msgid "btree operator family \"%s\" contains operator %s with invalid strategy number %d" -#~ msgstr "" -#~ "la famille d'opérateur btree « %s » contient l'opérateur %s\n" -#~ "avec le numéro de stratégie invalide %d" - -#~ msgid "btree operator family \"%s\" contains operator %s with wrong signature" -#~ msgstr "la famille d'opérateur btree « %s » contient l'opérateur %s avec une mauvaise signature" - -#~ msgid "btree operator family \"%s\" is missing cross-type operator(s)" -#~ msgstr "il manque des opérateurs inter-type pour la famille d'opérateur btree « %s »" - -#~ msgid "btree operator family \"%s\" is missing operator(s) for types %s and %s" -#~ msgstr "" -#~ "la famille d'opérateur btree « %s » nécessite des opérateurs supplémentaires\n" -#~ "pour les types %s et %s" - -#~ msgid "building index \"%s\" on table \"%s\" serially" -#~ msgstr "construction de l'index « %s » sur la table « %s » séquentiellement" - -#~ msgid "building index \"%s\" on table \"%s\" with request for %d parallel worker" -#~ msgid_plural "building index \"%s\" on table \"%s\" with request for %d parallel workers" -#~ msgstr[0] "construction de l'index « %s » sur la table « %s » avec une demande de %d processus parallèle" -#~ msgstr[1] "construction de l'index « %s » sur la table « %s » avec une demande de %d processus parallèles" - -#~ msgid "built-in type %u not found" -#~ msgstr "type interne %u non trouvé" - -#~ msgid "cannot PREPARE a transaction that has manipulated logical replication workers" -#~ msgstr "" -#~ "ne peut pas préparer (PREPARE) une transaction qui a travaillé sur des\n" -#~ "workers de réplication logique" - -#~ msgid "cannot PREPARE a transaction that has operated on temporary namespace" -#~ msgstr "" -#~ "ne peut pas préparer (PREPARE) une transaction qui a travaillé sur un\n" -#~ "schéma temporaire" - -#~ msgid "cannot PREPARE a transaction that has operated on temporary tables" -#~ msgstr "" -#~ "ne peut pas préparer (PREPARE) une transaction qui a travaillé sur des\n" -#~ "tables temporaires" - -#~ msgid "cannot accept a value of type any" -#~ msgstr "ne peut pas accepter une valeur de type any" - -#~ msgid "cannot accept a value of type anyarray" -#~ msgstr "ne peut pas accepter une valeur de type anyarray" - -#~ msgid "cannot accept a value of type anyelement" -#~ msgstr "ne peut pas accepter une valeur de type anyelement" - -#~ msgid "cannot accept a value of type anyenum" -#~ msgstr "ne peut pas accepter une valeur de type anyenum" - -#~ msgid "cannot accept a value of type anynonarray" -#~ msgstr "ne peut pas accepter une valeur de type anynonarray" - -#~ msgid "cannot accept a value of type anyrange" -#~ msgstr "ne peut pas accepter une valeur de type anyrange" - -#~ msgid "cannot accept a value of type event_trigger" -#~ msgstr "ne peut pas accepter une valeur de type event_trigger" - -#~ msgid "cannot accept a value of type fdw_handler" -#~ msgstr "ne peut pas accepter une valeur de type fdw_handler" - -#~ msgid "cannot accept a value of type index_am_handler" -#~ msgstr "ne peut pas accepter une valeur de type index_am_handler" - -#~ msgid "cannot accept a value of type internal" -#~ msgstr "ne peut pas accepter une valeur de type internal" - -#~ msgid "cannot accept a value of type language_handler" -#~ msgstr "ne peut pas accepter une valeur de type language_handler" - -#~ msgid "cannot accept a value of type opaque" -#~ msgstr "ne peut pas accepter une valeur de type opaque" - -#~ msgid "cannot accept a value of type pg_node_tree" -#~ msgstr "ne peut pas accepter une valeur de type pg_node_tree" - -#~ msgid "cannot accept a value of type trigger" -#~ msgstr "ne peut pas accepter une valeur de type trigger" - -#~ msgid "cannot accept a value of type tsm_handler" -#~ msgstr "ne peut pas accepter une valeur de type tsm_handler" - -#~ msgid "cannot advance replication slot that has not previously reserved WAL" -#~ msgstr "impossible d'avancer un slot de réplication qui n'a pas auparavant réservé de WAL" - -#~ msgid "cannot alter type of column named in partition key" -#~ msgstr "ne peut pas modifier le type d'une colonne nommée dans une clé de partitionnement" - -#~ msgid "cannot alter type of column referenced in partition key expression" -#~ msgstr "ne peut pas utiliser le type d'une colonne référencée dans l'expression d'une clé de partitionnement" - -#~ msgid "cannot attach table \"%s\" with OIDs as partition of table \"%s\" without OIDs" -#~ msgstr "ne peut pas attacher la table « %s » avec OID comme partition de la table « %s » sans OID" - -#~ msgid "cannot attach table \"%s\" without OIDs as partition of table \"%s\" with OIDs" -#~ msgstr "ne peut pas attacher la table « %s » sans OID comme partition de la table « %s » avec OID" - -#~ msgid "cannot calculate week number without year information" -#~ msgstr "ne peut pas calculer le numéro de la semaine sans informations sur l'année" - -#~ msgid "cannot call json_array_elements on a non-array" -#~ msgstr "ne peut pas appeler json_array_elements sur un objet qui n'est pas un tableau" - -#~ msgid "cannot call json_array_elements on a scalar" -#~ msgstr "ne peut pas appeler json_array_elements sur un scalaire" - -#~ msgid "cannot call json_object_keys on an array" -#~ msgstr "ne peut pas appeler json_object_keys sur un tableau" - -#~ msgid "cannot call json_populate_recordset on a nested object" -#~ msgstr "ne peut pas appeler json_populate_recordset sur un objet imbriqué" - -#~ msgid "cannot call json_populate_recordset on a scalar" -#~ msgstr "ne peut pas appeler json_populate_recordset sur un scalaire" - -#~ msgid "cannot call json_populate_recordset on an object" -#~ msgstr "ne peut pas appeler json_populate_recordset sur un objet" - -#~ msgid "cannot call json_populate_recordset with nested arrays" -#~ msgstr "ne peut pas appeler json_populate_recordset avec des tableaux imbriqués" - -#~ msgid "cannot call json_populate_recordset with nested objects" -#~ msgstr "ne peut pas appeler json_populate_recordset sur des objets imbriqués" - -#~ msgid "cannot change number of columns in view" -#~ msgstr "ne peut pas modifier le nombre de colonnes dans la vue" - -#~ msgid "cannot cluster on expressional index \"%s\" because its index access method does not handle null values" -#~ msgstr "" -#~ "ne peut pas exécuter CLUSTER sur l'index à expression « %s » car sa méthode\n" -#~ "d'accès ne gère pas les valeurs NULL" - -#~ msgid "cannot cluster on index \"%s\" because access method does not handle null values" -#~ msgstr "" -#~ "ne peut pas créer un cluster sur l'index « %s » car la méthode d'accès de\n" -#~ "l'index ne gère pas les valeurs NULL" - -#~ msgid "cannot convert NaN to bigint" -#~ msgstr "ne peut pas convertir NaN en un entier de type bigint" - -#~ msgid "cannot convert NaN to integer" -#~ msgstr "ne peut pas convertir NaN en un entier" - -#~ msgid "cannot convert NaN to smallint" -#~ msgstr "ne peut pas convertir NaN en un entier de type smallint" - -#~ msgid "cannot convert abstime \"invalid\" to timestamp" -#~ msgstr "ne peut pas convertir un abstime « invalid » en timestamp" - -#~ msgid "cannot convert empty polygon to circle" -#~ msgstr "ne peut pas convertir un polygône vide en cercle" - -#~ msgid "cannot convert infinity to bigint" -#~ msgstr "ne peut pas convertir infinity en bigint" - -#~ msgid "cannot convert infinity to integer" -#~ msgstr "ne peut pas convertir infinity en integer" - -#~ msgid "cannot convert infinity to smallint" -#~ msgstr "ne peut pas convertir infinity en smallint" - -#, c-format -#~ msgid "cannot convert partition \"%s\" to a view" -#~ msgstr "ne peut pas convertir la partition « %s » en une vue" - -#, c-format -#~ msgid "cannot convert partitioned table \"%s\" to a view" -#~ msgstr "ne peut pas convertir la table partitionnée « %s » en une vue" - -#~ msgid "cannot convert reltime \"invalid\" to interval" -#~ msgstr "ne peut pas convertir reltime « invalid » en interval" - -#~ msgid "cannot convert reserved abstime value to date" -#~ msgstr "ne peut pas convertir la valeur réservée abstime en date" - -#~ msgid "cannot copy to foreign table \"%s\"" -#~ msgstr "ne peut pas copier vers la table distante « %s »" - -#~ msgid "cannot create bounding box for empty polygon" -#~ msgstr "ne peut pas créer une boîte entourée pour un polygône vide" - -#~ msgid "cannot create range partition with empty range" -#~ msgstr "ne peut pas créer une partition par intervalle avec un intervalle vide" - -#~ msgid "cannot create restricted tokens on this platform" -#~ msgstr "ne peut pas créer les jetons restreints sur cette plateforme" - -#, c-format -#~ msgid "cannot create restricted tokens on this platform: error code %lu" -#~ msgstr "ne peut pas créer les jetons restreints sur cette plateforme : code d'erreur %lu" - -#~ msgid "cannot create table with OIDs as partition of table without OIDs" -#~ msgstr "ne peut pas créer une table avec OID comme partition d'une table sans OID" - -#~ msgid "cannot display a value of type anyelement" -#~ msgstr "ne peut pas afficher une valeur de type anyelement" - -#~ msgid "cannot display a value of type anynonarray" -#~ msgstr "ne peut pas afficher une valeur de type anynonarray" - -#~ msgid "cannot display a value of type event_trigger" -#~ msgstr "ne peut pas afficher une valeur de type event_trigger" - -#~ msgid "cannot display a value of type fdw_handler" -#~ msgstr "ne peut pas afficher une valeur de type fdw_handler" - -#~ msgid "cannot display a value of type index_am_handler" -#~ msgstr "ne peut pas afficher une valeur de type index_am_handler" - -#~ msgid "cannot display a value of type internal" -#~ msgstr "ne peut pas afficher une valeur de type internal" - -#~ msgid "cannot display a value of type language_handler" -#~ msgstr "ne peut pas afficher une valeur de type language_handler" - -#~ msgid "cannot display a value of type opaque" -#~ msgstr "ne peut pas afficher une valeur de type opaque" - -#~ msgid "cannot display a value of type trigger" -#~ msgstr "ne peut pas afficher une valeur de type trigger" - -#~ msgid "cannot display a value of type tsm_handler" -#~ msgstr "ne peut pas afficher une valeur de type tsm_handler" - -#~ msgid "cannot drop \"%s\" because it is being used by active queries in this session" -#~ msgstr "" -#~ "ne peut pas supprimer « %s » car cet objet est en cours d'utilisation par\n" -#~ "des requêtes actives dans cette session" - -#~ msgid "cannot drop column named in partition key" -#~ msgstr "ne peut pas supprimer une colonne nommée dans une clé de partitionnement" - -#~ msgid "cannot extract array element from a non-array" -#~ msgstr "ne peut pas extraire un élément du tableau à partir d'un objet qui n'est pas un tableau" - -#~ msgid "cannot extract field from a non-object" -#~ msgstr "ne peut pas extraire le chemin à partir d'un non-objet" - -#~ msgid "cannot output a value of type %s" -#~ msgstr "ne peut pas afficher une valeur de type %s" - -#~ msgid "cannot override frame clause of window \"%s\"" -#~ msgstr "ne peut pas surcharger la frame clause du window « %s »" - -#, c-format -#~ msgid "cannot read from logical replication slot \"%s\"" -#~ msgstr "ne peut pas lire à partir du slot de réplication logique « %s »" - -#~ msgid "cannot reference permanent table from temporary table constraint" -#~ msgstr "" -#~ "ne peut pas référencer une table permanente à partir de la contrainte de\n" -#~ "table temporaire" - -#~ msgid "cannot reference temporary table from permanent table constraint" -#~ msgstr "" -#~ "ne peut pas référencer une table temporaire à partir d'une contrainte de\n" -#~ "table permanente" - -#~ msgid "cannot reindex invalid index on TOAST table concurrently" -#~ msgstr "ne peut pas réindexer un index invalide sur une table TOAST de manière concurrente" - -#~ msgid "cannot route inserted tuples to a foreign table" -#~ msgstr "ne peut pas envoyer les lignes insérées dans une table distante" - -#~ msgid "cannot set session authorization within security-definer function" -#~ msgstr "ne peut pas exécuter SESSION AUTHORIZATION sur la fonction SECURITY DEFINER" - -#~ msgid "cannot specify CSV in BINARY mode" -#~ msgstr "ne peut pas spécifier CSV en mode binaire (BINARY)" - -#~ msgid "cannot truncate system relation \"%s\"" -#~ msgstr "ne peut pas tronquer la relation système « %s »" - -#~ msgid "cannot use Ident authentication without usermap field" -#~ msgstr "n'a pas pu utiliser l'authentication Ident sans le champ usermap" - -#~ msgid "cannot use advisory locks during a parallel operation" -#~ msgstr "ne peut pas utiliser les verrous informatifs lors d'une opération parallèle" - -#~ msgid "cannot use aggregate function in RETURNING" -#~ msgstr "ne peut pas utiliser une fonction d'agrégat dans RETURNING" - -#~ msgid "cannot use aggregate function in UPDATE" -#~ msgstr "ne peut pas utiliser une fonction d'agrégat dans un UPDATE" - -#~ msgid "cannot use aggregate function in VALUES" -#~ msgstr "ne peut pas utiliser la fonction d'agrégat dans un VALUES" - -#~ msgid "cannot use aggregate function in parameter default value" -#~ msgstr "" -#~ "ne peut pas utiliser une fonction d'agrégat dans la valeur par défaut d'un\n" -#~ "paramètre" - -#~ msgid "cannot use aggregate function in rule WHERE condition" -#~ msgstr "ne peut pas utiliser la fonction d'agrégat dans la condition d'une règle WHERE" - -#~ msgid "cannot use authentication method \"crypt\" because password is MD5-encrypted" -#~ msgstr "" -#~ "n'a pas pu utiliser la méthode d'authentification « crypt » car le mot de\n" -#~ "passe est chiffré avec MD5" - -#~ msgid "cannot use subquery in parameter default value" -#~ msgstr "ne peut pas utiliser une sous-requête dans une valeur par défaut d'un paramètre" - -#~ msgid "cannot use window function in EXECUTE parameter" -#~ msgstr "ne peut pas utiliser une fonction window dans le paramètre EXECUTE" - -#~ msgid "cannot use window function in RETURNING" -#~ msgstr "ne peut pas utiliser une fonction window dans RETURNING" - -#~ msgid "cannot use window function in UPDATE" -#~ msgstr "ne peut pas utiliser une fonction window dans un UPDATE" - -#~ msgid "cannot use window function in VALUES" -#~ msgstr "ne peut pas utiliser la fonction window dans un VALUES" - -#~ msgid "cannot use window function in check constraint" -#~ msgstr "ne peut pas utiliser une fonction window dans une contrainte de vérification" - -#~ msgid "cannot use window function in default expression" -#~ msgstr "ne peut pas utiliser une fonction window dans une expression par défaut" - -#~ msgid "cannot use window function in function expression in FROM" -#~ msgstr "" -#~ "ne peut pas utiliser la fonction window dans l'expression de la fonction\n" -#~ "du FROM" - -#~ msgid "cannot use window function in parameter default value" -#~ msgstr "ne peut pas utiliser la fonction window dans la valeur par défaut d'un paramètre" - -#~ msgid "cannot use window function in rule WHERE condition" -#~ msgstr "ne peut pas utiliser la fonction window dans la condition d'une règle WHERE" - -#~ msgid "cannot use window function in transform expression" -#~ msgstr "ne peut pas utiliser la fonction window dans l'expression de la transformation" - -#~ msgid "cannot use window function in trigger WHEN condition" -#~ msgstr "ne peut pas utiliser la fonction window dans la condition WHEN d'un trigger" - -#~ msgid "changing argument type of function %s from \"opaque\" to \"cstring\"" -#~ msgstr "changement du type d'argument de la fonction %s d'« opaque » à « cstring »" - -#~ msgid "changing argument type of function %s from \"opaque\" to %s" -#~ msgstr "changement du type d'argument de la fonction %s d'« opaque » à %s" - -#~ msgid "changing return type of function %s from \"opaque\" to \"cstring\"" -#~ msgstr "changement du type de retour de la fonction %s d'« opaque » vers « cstring »" - -#~ msgid "changing return type of function %s from \"opaque\" to \"language_handler\"" -#~ msgstr "" -#~ "changement du type du code retour de la fonction %s d'« opaque » à\n" -#~ "« language_handler »" - -#~ msgid "changing return type of function %s from \"opaque\" to \"trigger\"" -#~ msgstr "changement du type de retour de la fonction %s de « opaque » vers « trigger »" - -#~ msgid "changing return type of function %s from %s to %s" -#~ msgstr "changement du type de retour de la fonction %s de %s vers %s" - -#~ msgid "checkpoint record is at %X/%X" -#~ msgstr "l'enregistrement du point de vérification est à %X/%X" - -#~ msgid "checkpoint skipped because system is idle" -#~ msgstr "checkpoint ignoré car le système est inactif" - -#~ msgid "child process was terminated by signal %d" -#~ msgstr "le processus fils a été terminé par le signal %d" - -#~ msgid "child process was terminated by signal %s" -#~ msgstr "le processus fils a été terminé par le signal %s" - -#~ msgid "child table \"%s\" has a conflicting \"%s\" column" -#~ msgstr "la table fille « %s » a une colonne conflictuelle, « %s »" - -#~ msgid "client requires SCRAM channel binding, but it is not supported" -#~ msgstr "le client requiert le lien de canal SCRAM mais ceci n'est pas supporté" - -#~ msgid "clustering \"%s.%s\"" -#~ msgstr "exécution de CLUSTER sur « %s.%s »" - -#~ msgid "collation of partition bound value for column \"%s\" does not match partition key collation \"%s\"" -#~ msgstr "le collationnement de la valeur limite de partition de la colonne « %s » ne correspond pas à celui de la clé de partition « %s »" - -#, c-format -#~ msgid "collations with different collate and ctype values are not supported by ICU" -#~ msgstr "les collationnements avec des valeurs différentes pour le tri (collate) et le jeu de caractères (ctype) ne sont pas supportés par ICU" - -#~ msgid "column \"%s\" appears more than once in partition key" -#~ msgstr "la colonne « %s » apparaît plus d'une fois dans la clé de partitionnement" - -#~ msgid "column \"%s\" contains null values" -#~ msgstr "la colonne « %s » contient des valeurs NULL" - -#~ msgid "column \"%s\" has type \"unknown\"" -#~ msgstr "la colonne « %s » est de type « unknown »" - -#, c-format -#~ msgid "column \"%s\" in child table has a conflicting generation expression" -#~ msgstr "la colonne « %s » de la table enfant a une expression de génération en conflit" - -#, c-format -#~ msgid "column alias list for \"%s\" has too many entries" -#~ msgstr "la liste d'alias de colonnes pour « %s » a beaucoup trop d'entrées" - -#~ msgid "column name list not allowed in CREATE TABLE / AS EXECUTE" -#~ msgstr "la liste de noms de colonnes n'est pas autorisée dans CREATE TABLE / AS EXECUTE" - -#~ msgid "combine function for aggregate %u must be declared as STRICT" -#~ msgstr "la fonction d'unification pour l'aggrégat %u doit être déclarée comme STRICT" - -#~ msgid "committed" -#~ msgstr "validé" - -#~ msgid "compacted fsync request queue from %d entries to %d entries" -#~ msgstr "a compacté la queue de requêtes fsync de %d entrées à %d" - -#~ msgid "connect = false and copy_data = true are mutually exclusive options" -#~ msgstr "connect = false et copy_data = true sont des options mutuellement exclusives" - -#~ msgid "connect = false and create_slot = true are mutually exclusive options" -#~ msgstr "connect = false et create_slot = true sont des options mutuellement exclusives" - -#~ msgid "connection authorized: user=%s database=%s" -#~ msgstr "connexion autorisée : utilisateur=%s, base de données=%s" - -#~ msgid "connection authorized: user=%s database=%s SSL enabled (protocol=%s, cipher=%s, bits=%d, compression=%s)" -#~ msgstr "connexion autorisée : utilisateur=%s, base de données=%s, SSL activé (protocole=%s, chiffrement=%s, bits=%d, compression=%s)" - -#~ msgid "connection authorized: user=%s database=%s application_name=%s" -#~ msgstr "connexion autorisée : utilisateur=%s base de données=%s nom d'application=%s" - -#~ msgid "connection authorized: user=%s database=%s application_name=%s SSL enabled (protocol=%s, cipher=%s, bits=%d, compression=%s)" -#~ msgstr "connexion autorisée : utilisateur=%s base de données=%s nom d'application=%s SSL activé (protocole=%s, chiffrement=%s, bits=%d, compression=%s)" - -#~ msgid "connection limit exceeded for non-superusers" -#~ msgstr "limite de connexions dépassée pour les utilisateurs standards" - -#~ msgid "connection lost during COPY to stdout" -#~ msgstr "connexion perdue lors de l'opération COPY vers stdout" - -#~ msgid "connection was re-authenticated" -#~ msgstr "la connexion a été ré-authentifiée" - -#~ msgid "consistent state delayed because recovery snapshot incomplete" -#~ msgstr "état de cohérence pas encore atteint à cause d'un snapshot de restauration incomplet" - -#~ msgid "constraint definition for check constraint \"%s\" does not match" -#~ msgstr "" -#~ "la définition de la contrainte « %s » pour la contrainte de vérification ne\n" -#~ "correspond pas" - -#~ msgid "constraints on foreign tables are not supported" -#~ msgstr "les contraintes sur les tables distantes ne sont pas supportées" - -#, c-format -#~ msgid "conversion with OID %u does not exist" -#~ msgstr "la conversion d'OID %u n'existe pas" - -#~ msgid "converting trigger group into constraint \"%s\" %s" -#~ msgstr "conversion du groupe de trigger en une contrainte « %s » %s" - -#~ msgid "corrupted item pointer: offset = %u, length = %u" -#~ msgstr "pointeur d'élément corrompu : décalage = %u, longueur = %u" - -#~ msgid "could not access root certificate file \"%s\": %m" -#~ msgstr "n'a pas pu accéder au fichier du certificat racine « %s » : %m" - -#, c-format -#~ msgid "could not bind socket for statistics collector: %m" -#~ msgstr "n'a pas pu lier la socket au récupérateur de statistiques : %m" - -#~ msgid "could not change directory to \"%s\"" -#~ msgstr "n'a pas pu accéder au répertoire « %s »" - -#~ msgid "could not change directory to \"%s\": %s" -#~ msgstr "n'a pas pu changer le répertoire par « %s » : %s" - -#~ msgid "could not close control file: %m" -#~ msgstr "n'a pas pu fermer le fichier de contrôle : %m" - -#~ msgid "could not close directory \"%s\": %s\n" -#~ msgstr "n'a pas pu fermer le répertoire « %s » : %s\n" - -#~ msgid "could not close log file %s: %m" -#~ msgstr "n'a pas pu fermer le fichier de transactions « %s » : %m" - -#~ msgid "could not close relation mapping file \"%s\": %m" -#~ msgstr "n'a pas pu fermer le fichier de correspondance des relations « %s » : %m" - -#~ msgid "could not close two-phase state file \"%s\": %m" -#~ msgstr "" -#~ "n'a pas pu fermer le fichier d'état de la validation en deux phases nommé\n" -#~ "« %s » : %m" - -#~ msgid "could not close two-phase state file: %m" -#~ msgstr "n'a pas pu fermer le fichier d'état de la validation en deux phases : %m" - -#~ msgid "could not complete SSL handshake on renegotiation, too many failures" -#~ msgstr "n'a pas pu terminer la poignée de main de renégotiation, trop d'échecs" - -#, c-format -#~ msgid "could not connect socket for statistics collector: %m" -#~ msgstr "n'a pas pu connecter la socket au récupérateur de statistiques : %m" - -#, c-format -#~ msgid "could not convert table \"%s\" to a view because it has child tables" -#~ msgstr "n'a pas pu convertir la table « %s » en une vue parce qu'elle a des tables filles" - -#, c-format -#~ msgid "could not convert table \"%s\" to a view because it has indexes" -#~ msgstr "n'a pas pu convertir la table « %s » en une vue parce qu'elle a des index" - -#, c-format -#~ msgid "could not convert table \"%s\" to a view because it has parent tables" -#~ msgstr "n'a pas pu convertir la table « %s » en une vue parce qu'elle a des tables parents" - -#, c-format -#~ msgid "could not convert table \"%s\" to a view because it has row security enabled" -#~ msgstr "n'a pas pu convertir la table « %s » en une vue parce que le mode sécurité des lignes est activé pour elle" - -#, c-format -#~ msgid "could not convert table \"%s\" to a view because it has row security policies" -#~ msgstr "n'a pas pu convertir la table « %s » en une vue parce qu'elle a des politiques de sécurité" - -#, c-format -#~ msgid "could not convert table \"%s\" to a view because it has triggers" -#~ msgstr "n'a pas pu convertir la table « %s » en une vue parce qu'elle a des triggers" - -#, c-format -#~ msgid "could not convert table \"%s\" to a view because it is not empty" -#~ msgstr "n'a pas pu convertir la table « %s » en une vue car elle n'est pas vide" - -#~ msgid "could not create %s socket: %m" -#~ msgstr "n'a pas pu créer le socket %s : %m" - -#~ msgid "could not create XPath object" -#~ msgstr "n'a pas pu créer l'objet XPath" - -#~ msgid "could not create control file \"%s\": %m" -#~ msgstr "n'a pas pu créer le fichier de contrôle « %s » : %m" - -#~ msgid "could not create log file \"%s\": %m" -#~ msgstr "n'a pas pu créer le journal applicatif « %s » : %m" - -#~ msgid "could not create signal dispatch thread: error code %lu\n" -#~ msgstr "n'a pas pu créer le thread de répartition des signaux : code d'erreur %lu\n" - -#, c-format -#~ msgid "could not create socket for statistics collector: %m" -#~ msgstr "n'a pas pu créer la socket pour le récupérateur de statistiques : %m" - -#~ msgid "could not create two-phase state file \"%s\": %m" -#~ msgstr "" -#~ "n'a pas pu créer le fichier de statut de la validation en deux phases nommé\n" -#~ "« %s » : %m" - -#, c-format -#~ msgid "could not delete shared fileset \"%s\": %m" -#~ msgstr "n'a pas pu supprimer l'ensemble de fichiers partagés « %s » : %m" - -#~ msgid "could not determine actual result type for function declared to return type %s" -#~ msgstr "" -#~ "n'a pas pu déterminer le type du résultat actuel pour la fonction déclarant\n" -#~ "renvoyer le type %s" - -#~ msgid "could not determine data type for argument 1" -#~ msgstr "n'a pas pu déterminer le type de données pour l'argument 1" - -#~ msgid "could not determine data type for argument 2" -#~ msgstr "n'a pas pu déterminer le type de données pour l'argument 2" - -#~ msgid "could not determine input data types" -#~ msgstr "n'a pas pu déterminer les types de données en entrée" - -#~ msgid "could not determine which collation to use for initcap() function" -#~ msgstr "n'a pas pu déterminer le collationnement à utiliser pour la fonction initcap()" - -#~ msgid "could not determine which collation to use for partition bound expression" -#~ msgstr "n'a pas pu déterminer le collationnement à utiliser pour l'expression de limites de partitionnement" - -#~ msgid "could not determine which collation to use for upper() function" -#~ msgstr "n'a pas pu déterminer le collationnement à utiliser pour la fonction upper()" - -#~ msgid "could not enable Lock Pages in Memory user right" -#~ msgstr "n'a pas pu activer le Lock Pages in Memory user right" - -#~ msgid "could not enable Lock Pages in Memory user right: error code %lu" -#~ msgstr "n'a pas pu activer le Lock Pages in Memory user right : code d'erreur %lu" - -#~ msgid "could not enable credential reception: %m" -#~ msgstr "n'a pas pu activer la réception de lettres de créance : %m" - -#~ msgid "could not extend relation %s: %m" -#~ msgstr "n'a pas pu étendre la relation %s : %m" - -#~ msgid "could not fdatasync log file %s: %m" -#~ msgstr "n'a pas pu synchroniser sur disque (fdatasync) le journal de transactions %s : %m" - -#~ msgid "could not fetch table info for table \"%s.%s\": %s" -#~ msgstr "n'a pas pu récupérer les informations sur la table « %s.%s » : %s" - -#~ msgid "could not fork archiver: %m" -#~ msgstr "n'a pas pu lancer le processus fils correspondant au processus d'archivage : %m" - -#, c-format -#~ msgid "could not fork statistics collector: %m" -#~ msgstr "" -#~ "n'a pas pu lancer le processus fils correspondant au récupérateur de\n" -#~ "statistiques : %m" - -#, c-format -#~ msgid "could not form array type name for type \"%s\"" -#~ msgstr "n'a pas pu former le nom du type array pour le type de données « %s »" - -#~ msgid "could not format \"circle\" value" -#~ msgstr "n'a pas pu formater la valeur « circle »" - -#~ msgid "could not format \"path\" value" -#~ msgstr "n'a pas pu formater la valeur « path »" - -#~ msgid "could not forward fsync request because request queue is full" -#~ msgstr "n'a pas pu envoyer la requête fsync car la queue des requêtes est pleine" - -#~ msgid "could not fseek in file \"%s\": %m" -#~ msgstr "n'a pas pu effectuer de fseek dans le fichier « %s » : %m" - -#~ msgid "could not fsync control file: %m" -#~ msgstr "n'a pas pu synchroniser sur disque (fsync) le fichier de contrôle : %m" - -#~ msgid "could not fsync file \"%s\" but retrying: %m" -#~ msgstr "" -#~ "n'a pas pu synchroniser sur disque (fsync) le fichier « %s », nouvelle\n" -#~ "tentative : %m" - -#~ msgid "could not fsync log file %s: %m" -#~ msgstr "n'a pas pu synchroniser sur disque (fsync) le fichier de transactions « %s » : %m" - -#~ msgid "could not fsync log segment %s: %m" -#~ msgstr "n'a pas pu synchroniser sur disque (fsync) le segment du journal des transactions %s : %m" - -#~ msgid "could not fsync relation mapping file \"%s\": %m" -#~ msgstr "n'a pas pu synchroniser (fsync) le fichier de correspondance des relations « %s » : %m" - -#~ msgid "could not fsync segment %u of relation %s but retrying: %m" -#~ msgstr "" -#~ "n'a pas pu synchroniser sur disque (fsync) le segment %u de la relation\n" -#~ "%s, nouvelle tentative : %m" - -#~ msgid "could not fsync segment %u of relation %s: %m" -#~ msgstr "" -#~ "n'a pas pu synchroniser sur disque (fsync) le segment %u de la relation\n" -#~ "%s : %m" - -#~ msgid "could not fsync two-phase state file \"%s\": %m" -#~ msgstr "" -#~ "n'a pas pu synchroniser sur disque (fsync) le fichier d'état de la\n" -#~ "validation en deux phases nommé « %s » : %m" - -#~ msgid "could not fsync two-phase state file: %m" -#~ msgstr "" -#~ "n'a pas pu synchroniser sur disque (fsync) le fichier d'état de la\n" -#~ "validation en deux phases : %m" - -#, c-format -#~ msgid "could not get address of socket for statistics collector: %m" -#~ msgstr "n'a pas pu obtenir l'adresse de la socket du récupérateur de statistiques : %m" - -#~ msgid "could not get effective UID from peer credentials: %m" -#~ msgstr "n'a pas pu obtenir l'UID réel à partir des pièces d'identité de l'autre : %m" - -#~ msgid "could not get keyword values for locale \"%s\": %s" -#~ msgstr "n'a pas pu obtenir les valeurs des mots clés pour la locale « %s » : %s" - -#~ msgid "could not get security token from context" -#~ msgstr "n'a pas pu récupérer le jeton de sécurité à partir du contexte" - -#, c-format -#~ msgid "could not identify current directory: %m" -#~ msgstr "n'a pas pu identifier le répertoire courant : %m" - -#~ msgid "could not identify current directory: %s" -#~ msgstr "n'a pas pu identifier le répertoire courant : %s" - -#~ msgid "could not link file \"%s\" to \"%s\" (initialization of log file): %m" -#~ msgstr "n'a pas pu lier le fichier « %s » à « %s » (initialisation du journal de transactions) : %m" - -#, c-format -#~ msgid "could not link file \"%s\" to \"%s\": %m" -#~ msgstr "n'a pas pu lier le fichier « %s » à « %s » : %m" - -#, c-format -#~ msgid "could not load function _ldap_start_tls_sA in wldap32.dll" -#~ msgstr "n'a pas pu charger la fonction _ldap_start_tls_sA de wldap32.dll" - -#, c-format -#~ msgid "could not load library \"%s\": error code %lu" -#~ msgstr "n'a pas pu charger la bibliothèque « %s » : code d'erreur %lu" - -#, c-format -#~ msgid "could not load pg_hba.conf" -#~ msgstr "n'a pas pu charger pg_hba.conf" - -#~ msgid "could not load wldap32.dll" -#~ msgstr "n'a pas pu charger wldap32.dll" - -#~ msgid "could not open %s: %m" -#~ msgstr "n'a pas pu ouvrir %s : %m" - -#~ msgid "could not open BufFile \"%s\"" -#~ msgstr "n'a pas pu ouvrir le BufFile « %s »" - -#~ msgid "could not open archive status directory \"%s\": %m" -#~ msgstr "n'a pas pu accéder au répertoire du statut des archives « %s » : %m" - -#~ msgid "could not open control file \"%s\": %m" -#~ msgstr "n'a pas pu ouvrir le fichier de contrôle « %s » : %m" - -#~ msgid "could not open directory \"%s\": %s\n" -#~ msgstr "n'a pas pu ouvrir le répertoire « %s » : %s\n" - -#~ msgid "could not open directory \"pg_tblspc\": %m" -#~ msgstr "n'a pas pu ouvrir le répertoire « pg_tblspc » : %m" - -#~ msgid "could not open file \"%s\" (log file %u, segment %u): %m" -#~ msgstr "n'a pas pu ouvrir le fichier « %s » (journal de transactions %u, segment %u) : %m" - -#~ msgid "could not open new log file \"%s\": %m" -#~ msgstr "n'a pas pu ouvrir le nouveau journal applicatif « %s » : %m" - -#~ msgid "could not open recovery command file \"%s\": %m" -#~ msgstr "n'a pas pu ouvrir le fichier de restauration « %s » : %m" - -#~ msgid "could not open relation %s: %m" -#~ msgstr "n'a pas pu ouvrir la relation %s : %m" - -#, c-format -#~ msgid "could not open secondary authentication file \"@%s\" as \"%s\": %m" -#~ msgstr "" -#~ "n'a pas pu ouvrir le fichier d'authentification secondaire « @%s » comme\n" -#~ "« %s » : %m" - -#~ msgid "could not open segment %u of relation %s: %m" -#~ msgstr "n'a pas pu ouvrir le segment %u de la relation %s : %m" - -#~ msgid "could not open tablespace directory \"%s\": %m" -#~ msgstr "n'a pas pu ouvrir le répertoire du tablespace « %s » : %m" - -#~ msgid "could not open two-phase state file \"%s\": %m" -#~ msgstr "" -#~ "n'a pas pu ouvrir le fichier d'état de la validation en deux phases nommé\n" -#~ "« %s » : %m" - -#, c-format -#~ msgid "could not open usermap file \"%s\": %m" -#~ msgstr "n'a pas pu ouvrir le fichier usermap « %s » : %m" - -#~ msgid "could not open write-ahead log directory \"%s\": %m" -#~ msgstr "n'a pas pu ouvrir le répertoire des journaux de transactions « %s » : %m" - -#~ msgid "could not open write-ahead log file \"%s\": %m" -#~ msgstr "n'a pas pu écrire dans le journal de transactions « %s » : %m" - -#~ msgid "could not parse transaction log location \"%s\"" -#~ msgstr "n'a pas pu analyser l'emplacement du journal des transactions « %s »" - -#, c-format -#~ msgid "could not poll socket: %m" -#~ msgstr "n'a pas pu interroger la socket : %m" - -#, c-format -#~ msgid "could not read binary \"%s\"" -#~ msgstr "n'a pas pu lire le binaire « %s »" - -#, c-format -#~ msgid "could not read block %ld of temporary file: read only %zu of %zu bytes" -#~ msgstr "n'a pas pu lire le bloc %ld du fichier temporaire : a lu seulement %zu octets sur %zu" - -#~ msgid "could not read block %u of relation %s: %m" -#~ msgstr "n'a pas pu lire le bloc %u de la relation %s : %m" - -#~ msgid "could not read directory \"%s\": %s\n" -#~ msgstr "n'a pas pu lire le répertoire « %s » : %s\n" - -#~ msgid "could not read file \"%s\", read %d of %d: %m" -#~ msgstr "n'a pas pu lire le fichier « %s », lu %d sur %d : %m" - -#~ msgid "could not read file \"%s\", read %d of %u: %m" -#~ msgstr "n'a pas pu lire le fichier « %s », a lu %d sur %u : %m" - -#~ msgid "could not read file \"%s\": read %d of %d" -#~ msgstr "n'a pas pu lire le fichier « %s » : a lu %d sur %d" - -#~ msgid "could not read from control file: %m" -#~ msgstr "n'a pas pu lire le fichier de contrôle : %m" - -#~ msgid "could not read from control file: read %d bytes, expected %d" -#~ msgstr "n'a pas pu lire le fichier de contrôle : lu %d octets, %d attendus" - -#~ msgid "could not read from file \"%s\"" -#~ msgstr "n'a pas pu lire à partir du fichier « %s »" - -#, c-format -#~ msgid "could not read from hash-join temporary file: read only %zu of %zu bytes" -#~ msgstr "n'a pas pu lire le fichier temporaire pour la jointure de hachage : a lu seulement %zu octets sur %zu" - -#~ msgid "could not read from log segment %s, offset %u, length %lu: %m" -#~ msgstr "n'a pas pu lire le journal de transactions %s, décalage %u, longueur %lu : %m" - -#~ msgid "could not read from log segment %s, offset %u, length %zu: %m" -#~ msgstr "n'a pas pu lire le segment %s du journal de transactions, décalage %u, longueur %zu : %m" - -#, c-format -#~ msgid "could not read from shared tuplestore temporary file" -#~ msgstr "n'a pas pu lire le fichier temporaire tuplestore partagé : %m" - -#, c-format -#~ msgid "could not read from shared tuplestore temporary file: read only %zu of %zu bytes" -#~ msgstr "n'a pas pu lire le fichier temporaire tuplestore partagé : a lu seulement %zu octets sur %zu" - -#, c-format -#~ msgid "could not read from temporary file: %m" -#~ msgstr "n'a pas pu lire le fichier temporaire : %m" - -#, c-format -#~ msgid "could not read from tuplestore temporary file: read only %zu of %zu bytes" -#~ msgstr "n'a pas pu lire le fichier temporaire tuplestore : a lu seulement %zu octets sur %zu" - -#~ msgid "could not read relation mapping file \"%s\": %m" -#~ msgstr "n'a pas pu lire le fichier de correspondance des relations « %s » : %m" - -#, c-format -#~ msgid "could not read statistics message: %m" -#~ msgstr "n'a pas pu lire le message des statistiques : %m" - -#~ msgid "could not read symbolic link \"%s\"" -#~ msgstr "n'a pas pu lire le lien symbolique « %s »" - -#~ msgid "could not read two-phase state file \"%s\": %m" -#~ msgstr "" -#~ "n'a pas pu lire le fichier d'état de la validation en deux phases nommé\n" -#~ "« %s » : %m" - -#, c-format -#~ msgid "could not receive test message on socket for statistics collector: %m" -#~ msgstr "" -#~ "n'a pas pu recevoir le message de tests sur la socket du récupérateur de\n" -#~ "statistiques : %m" - -#~ msgid "could not recreate two-phase state file \"%s\": %m" -#~ msgstr "" -#~ "n'a pas pu re-créer le fichier d'état de la validation en deux phases nommé\n" -#~ "« %s » : %m" - -#~ msgid "could not remove database directory \"%s\"" -#~ msgstr "n'a pas pu supprimer le répertoire de bases de données « %s »" - -#, c-format -#~ msgid "could not remove file or directory \"%s\": %m" -#~ msgstr "n'a pas pu supprimer le fichier ou répertoire « %s » : %m" - -#~ msgid "could not remove file or directory \"%s\": %s\n" -#~ msgstr "n'a pas pu supprimer le fichier ou répertoire « %s » : %s\n" - -#~ msgid "could not remove old transaction log file \"%s\": %m" -#~ msgstr "n'a pas pu supprimer l'ancien journal de transaction « %s » : %m" - -#~ msgid "could not remove relation %s: %m" -#~ msgstr "n'a pas pu supprimer la relation %s : %m" - -#~ msgid "could not remove segment %u of relation %s: %m" -#~ msgstr "n'a pas pu supprimer le segment %u de la relation %s : %m" - -#~ msgid "could not remove two-phase state file \"%s\": %m" -#~ msgstr "" -#~ "n'a pas pu supprimer le fichier d'état de la validation en deux phases\n" -#~ "« %s » : %m" - -#~ msgid "could not rename file \"%s\" to \"%s\" (initialization of log file): %m" -#~ msgstr "n'a pas pu renommer le fichier « %s » en « %s » (initialisation du journal de transactions) : %m" - -#~ msgid "could not rename old write-ahead log file \"%s\": %m" -#~ msgstr "n'a pas pu renommer l'ancien journal de transactions « %s » : %m" - -#~ msgid "could not reposition held cursor" -#~ msgstr "n'a pas pu repositionner le curseur détenu" - -#~ msgid "could not reread block %d of file \"%s\": %m" -#~ msgstr "n'a pas pu relire le bloc %d dans le fichier « %s » : %m" - -#, c-format -#~ msgid "could not resolve \"localhost\": %s" -#~ msgstr "n'a pas pu résoudre « localhost » : %s" - -#~ msgid "could not rmdir directory \"%s\": %m" -#~ msgstr "n'a pas pu supprimer le répertoire « %s » : %m" - -#~ msgid "could not seek in log file %s to offset %u: %m" -#~ msgstr "n'a pas pu se déplacer dans le fichier de transactions « %s » au décalage %u : %m" - -#~ msgid "could not seek in log segment %s to offset %u: %m" -#~ msgstr "n'a pas pu se déplacer dans le journal de transactions %s au décalage %u : %m" - -#~ msgid "could not seek in two-phase state file: %m" -#~ msgstr "" -#~ "n'a pas pu se déplacer dans le fichier de statut de la validation en deux\n" -#~ "phases : %m" - -#~ msgid "could not seek to block %u in file \"%s\": %m" -#~ msgstr "n'a pas pu trouver le bloc %u dans le fichier « %s » : %m" - -#~ msgid "could not seek to block %u of relation %s: %m" -#~ msgstr "n'a pas pu se positionner sur le bloc %u de la relation %s : %m" - -#~ msgid "could not seek to end of segment %u of relation %s: %m" -#~ msgstr "n'a pas pu se déplacer à la fin du segment %u de la relation %s : %m" - -#, c-format -#~ msgid "could not send test message on socket for statistics collector: %m" -#~ msgstr "" -#~ "n'a pas pu envoyer le message de tests sur la socket du récupérateur de\n" -#~ "statistiques : %m" - -#~ msgid "could not set socket to blocking mode: %m" -#~ msgstr "n'a pas pu activer le mode bloquant pour la socket : %m" - -#, c-format -#~ msgid "could not set statistics collector socket to nonblocking mode: %m" -#~ msgstr "" -#~ "n'a pas pu initialiser la socket du récupérateur de statistiques dans le mode\n" -#~ "non bloquant : %m" - -#~ msgid "could not set statistics collector timer: %m" -#~ msgstr "n'a pas pu configurer le timer du récupérateur de statistiques : %m" - -#~ msgid "could not stat control file \"%s\": %m" -#~ msgstr "n'a pas pu récupérer des informations sur le fichier de contrôle « %s » : %m" - -#~ msgid "could not stat file or directory \"%s\": %s\n" -#~ msgstr "" -#~ "n'a pas pu récupérer les informations sur le fichier ou répertoire\n" -#~ "« %s » : %s\n" - -#, c-format -#~ msgid "could not stat promote trigger file \"%s\": %m" -#~ msgstr "n'a pas pu récupérer les propriétés du fichier trigger pour la promotion « %s » : %m" - -#~ msgid "could not stat two-phase state file \"%s\": %m" -#~ msgstr "" -#~ "n'a pas pu récupérer des informations sur le fichier d'état de la validation\n" -#~ "en deux phases nommé « %s » : %m" - -#~ msgid "could not write block %ld of temporary file: %m" -#~ msgstr "n'a pas pu écrire le bloc %ld du fichier temporaire : %m" - -#~ msgid "could not write block %u of relation %s: %m" -#~ msgstr "n'a pas pu écrire le bloc %u de la relation %s : %m" - -#~ msgid "could not write to control file: %m" -#~ msgstr "n'a pas pu écrire le fichier de contrôle : %m" - -#~ msgid "could not write to hash-join temporary file: %m" -#~ msgstr "n'a pas pu écrire le fichier temporaire de la jointure hâchée : %m" - -#~ msgid "could not write to relation mapping file \"%s\": %m" -#~ msgstr "n'a pas pu écrire le fichier de correspondance des relations « %s » : %m" - -#~ msgid "could not write to temporary file: %m" -#~ msgstr "n'a pas pu écrire dans le fichier temporaire : %m" - -#~ msgid "could not write to tuplestore temporary file: %m" -#~ msgstr "n'a pas pu écrire le fichier temporaire tuplestore : %m" - -#~ msgid "could not write two-phase state file: %m" -#~ msgstr "n'a pas pu écrire dans le fichier d'état de la validation en deux phases : %m" - -#, fuzzy -#~ msgid "couldn't put socket to blocking mode: %m" -#~ msgstr "n'a pas pu activer le mode bloquant pour la socket : %s\n" - -#, fuzzy -#~ msgid "couldn't put socket to non-blocking mode: %m" -#~ msgstr "n'a pas pu activer le mode non-bloquant pour la socket : %s\n" - -#~ msgid "data directory \"%s\" has group or world access" -#~ msgstr "" -#~ "le répertoire des données « %s » est accessible par le groupe et/ou par les\n" -#~ "autres" - -#~ msgid "data type \"%s.%s\" required for logical replication does not exist" -#~ msgstr "le type de données « %s/%s » requis par la réplication logique n'existe pas" - -#~ msgid "data type %s has no default btree operator class" -#~ msgstr "le type de données %s n'a pas de classe d'opérateurs btree par défaut" - -#~ msgid "data type %s has no default hash operator class" -#~ msgstr "le type de données %s n'a pas de classe d'opérateurs hash par défaut" - -#~ msgid "database \"%s\" not found" -#~ msgstr "base de données « %s » non trouvée" - -#, c-format -#~ msgid "database hash table corrupted during cleanup --- abort" -#~ msgstr "" -#~ "corruption de la table hachée de la base de données lors du lancement\n" -#~ "--- annulation" - -#~ msgid "database name cannot be qualified" -#~ msgstr "le nom de la base de donnée ne peut être qualifié" - -#~ msgid "database system is in consistent recovery mode" -#~ msgstr "le système de bases de données est dans un mode de restauration cohérent" - -#~ msgid "date/time value \"%s\" is no longer supported" -#~ msgstr "la valeur date/time « %s » n'est plus supportée" - -#~ msgid "date/time value \"current\" is no longer supported" -#~ msgstr "la valeur « current » pour la date et heure n'est plus supportée" - -#~ msgid "default expression must not return a set" -#~ msgstr "l'expression par défaut ne doit pas renvoyer un ensemble" - -#~ msgid "default values on foreign tables are not supported" -#~ msgstr "les valeurs par défaut ne sont pas supportées sur les tables distantes" - -#~ msgid "deferrable snapshot was unsafe; trying a new one" -#~ msgstr "l'image déferrable est non sûre ; tentative avec une nouvelle image" - -#~ msgid "directory \"%s\" is not empty" -#~ msgstr "le répertoire « %s » n'est pas vide" - -#~ msgid "disabling huge pages" -#~ msgstr "désactivation des Huge Pages" - -#, c-format -#~ msgid "disabling statistics collector for lack of working socket" -#~ msgstr "" -#~ "désactivation du récupérateur de statistiques à cause du manque de socket\n" -#~ "fonctionnel" - -#~ msgid "distance in phrase operator should be non-negative and less than %d" -#~ msgstr "la distance dans l'opérateur de phrase devrait être non négative et inférieure à %d" - -#~ msgid "domain %s has multiple constraints named \"%s\"" -#~ msgstr "le domaine %s a plusieurs contraintes nommées « %s »" - -#~ msgid "drop auto-cascades to %s" -#~ msgstr "DROP cascade automatiquement sur %s" - -#~ msgid "encoding name too long" -#~ msgstr "nom d'encodage trop long" - -#~ msgid "epoll_ctl() failed: %m" -#~ msgstr "échec de epoll_ctl() : %m" - -#~ msgid "epoll_wait() failed: %m" -#~ msgstr "échec de epoll_wait() : %m" - -#~ msgid "event trigger name cannot be qualified" -#~ msgstr "le nom du trigger sur événement ne peut pas être qualifié" - -#, c-format -#~ msgid "exclusive backup not in progress" -#~ msgstr "une sauvegarde exclusive n'est pas en cours" - -#~ msgid "existing constraints on column \"%s.%s\" are sufficient to prove that it does not contain nulls" -#~ msgstr "les contraintes existantes sur la colonne « %s.%s » sont suffisantes pour prouver qu'elle ne contient aucun NULL" - -#~ msgid "extension name cannot be qualified" -#~ msgstr "le nom de l'extension ne peut pas être qualifié" - -#, c-format -#~ msgid "extension with OID %u does not exist" -#~ msgstr "l'extension d'OID %u n'existe pas" - -#~ msgid "failed to create BIO" -#~ msgstr "échec pour la création de BIO" - -#~ msgid "failed to drop all objects depending on %s" -#~ msgstr "échec lors de la suppression de tous les objets dépendant de %s" - -#, c-format -#~ msgid "fatal: " -#~ msgstr "fatal : " - -#~ msgid "fillfactor=%d is out of range (should be between %d and 100)" -#~ msgstr "le facteur de remplissage (%d) est en dehors des limites (il devrait être entre %d et 100)" - -#~ msgid "first argument of json_populate_record must be a row type" -#~ msgstr "le premier argument de json_populate_record doit être un type ROW" - -#~ msgid "first argument of json_populate_recordset must be a row type" -#~ msgstr "le premier argument de json_populate_recordset doit être un type ROW" - -#~ msgid "foreign key constraint \"%s\" of relation \"%s\" does not exist" -#~ msgstr "la clé étrangère « %s » de la relation « %s » n'existe pas" - -#~ msgid "foreign key constraints are not supported on partitioned tables" -#~ msgstr "les clés étrangères ne sont pas supportées sur les tables partitionnées" - -#~ msgid "foreign key referencing partitioned table \"%s\" must not be ONLY" -#~ msgstr "la clé étrangère référençant la table partitionnée « %s » ne doit pas être ONLY" - -#~ msgid "foreign-data wrapper name cannot be qualified" -#~ msgstr "le nom du wrapper de données distantes ne peut pas être qualifié" - -#~ msgid "frame start at CURRENT ROW is not implemented" -#~ msgstr "début du frame à CURRENT ROW n'est pas implémenté" - -#~ msgid "free space map contains %d pages in %d relations" -#~ msgstr "la structure FSM contient %d pages dans %d relations" - -#~ msgid "function \"%s\" already exists in schema \"%s\"" -#~ msgstr "la fonction « %s » existe déjà dans le schéma « %s »" - -#~ msgid "function \"%s\" is an aggregate function" -#~ msgstr "la fonction « %s » est une fonction d'agrégat" - -#~ msgid "function \"%s\" is not an aggregate function" -#~ msgstr "la fonction « %s » n'est pas une fonction d'agrégat" - -#~ msgid "function \"%s\" must return type \"event_trigger\"" -#~ msgstr "la fonction « %s » doit renvoyer le type « event_trigger »" - -#, c-format -#~ msgid "function \"close_lb\" not implemented" -#~ msgstr "la fonction « close_lb » n'est pas implémentée" - -#, c-format -#~ msgid "function \"close_sl\" not implemented" -#~ msgstr "la fonction « close_sl » n'est pas implémentée" - -#, c-format -#~ msgid "function \"dist_bl\" not implemented" -#~ msgstr "fonction « dist_lb » non implémentée" - -#, c-format -#~ msgid "function \"dist_lb\" not implemented" -#~ msgstr "la fonction « dist_lb » n'est pas implémentée" - -#, c-format -#~ msgid "function \"path_center\" not implemented" -#~ msgstr "la fonction « path_center » n'est pas implémentée" - -#, c-format -#~ msgid "function \"poly_distance\" not implemented" -#~ msgstr "la fonction « poly_distance » n'est pas implémentée" - -#~ msgid "function %s must return type \"fdw_handler\"" -#~ msgstr "la fonction %s doit renvoyer le type « fdw_handler »" - -#~ msgid "function %s must return type \"language_handler\"" -#~ msgstr "la fonction %s doit renvoyer le type « language_handler »" - -#~ msgid "function %s must return type \"trigger\"" -#~ msgstr "la fonction %s doit renvoyer le type « trigger »" - -#~ msgid "function %s must return type \"tsm_handler\"" -#~ msgstr "la fonction %s doit renvoyer le type « tsm_handler »" - -#~ msgid "function %u has too many arguments (%d, maximum is %d)" -#~ msgstr "la fonction %u a trop d'arguments (%d, le maximum étant %d)" - -#~ msgid "function expression in FROM cannot refer to other relations of same query level" -#~ msgstr "" -#~ "l'expression de la fonction du FROM ne peut pas faire référence à d'autres\n" -#~ "relations sur le même niveau de la requête" - -#~ msgid "function returning set of rows cannot return null value" -#~ msgstr "" -#~ "la fonction renvoyant un ensemble de lignes ne peut pas renvoyer une valeur\n" -#~ "NULL" - -#~ msgid "functions and operators can take at most one set argument" -#~ msgstr "les fonctions et opérateurs peuvent prendre au plus un argument d'ensemble" - -#, c-format -#~ msgid "generated columns are not supported on partitions" -#~ msgstr "les colonnes générées ne sont pas supportées sur les partitions" - -#~ msgid "gist operator family \"%s\" contains function %s with invalid support number %d" -#~ msgstr "" -#~ "la famille d'opérateur gist « %s » contient la fonction %s avec\n" -#~ "le numéro de support invalide %d" - -#~ msgid "gist operator family \"%s\" contains function %s with wrong signature for support number %d" -#~ msgstr "" -#~ "la famille d'opérateur gist « %s » contient la fonction %s avec une mauvaise\n" -#~ "signature pour le numéro de support %d" - -#~ msgid "gist operator family \"%s\" contains operator %s with invalid strategy number %d" -#~ msgstr "" -#~ "la famille d'opérateur gist « %s » contient l'opérateur %s avec le numéro\n" -#~ "de stratégie invalide %d" - -#~ msgid "gist operator family \"%s\" contains operator %s with wrong signature" -#~ msgstr "la famille d'opérateur gist « %s » contient l'opérateur %s avec une mauvaise signature" - -#~ msgid "gist operator family \"%s\" contains support procedure %s with cross-type registration" -#~ msgstr "" -#~ "la famille d'opérateur gist « %s » contient la procédure de support\n" -#~ "%s avec un enregistrement inter-type" - -#, c-format -#~ msgid "gtsvector_in not implemented" -#~ msgstr "gtsvector_in n'est pas encore implémenté" - -#~ msgid "hash indexes are not WAL-logged and their use is discouraged" -#~ msgstr "les index hash ne sont pas journalisés, leur utilisation est donc déconseillée" - -#~ msgid "hash operator class \"%s\" is missing operator(s)" -#~ msgstr "il manque des opérateurs pour la classe d'opérateur hash « %s »" - -#~ msgid "hash operator family \"%s\" contains function %s with invalid support number %d" -#~ msgstr "" -#~ "la famille d'opérateur hash « %s » contient la fonction %s avec\n" -#~ "le numéro de support invalide %d" - -#~ msgid "hash operator family \"%s\" contains function %s with wrong signature for support number %d" -#~ msgstr "" -#~ "la famille d'opérateur hash « %s » contient la fonction %s avec une mauvaise\n" -#~ "signature pour le numéro de support %d" - -#~ msgid "hash operator family \"%s\" contains invalid ORDER BY specification for operator %s" -#~ msgstr "" -#~ "la famille d'opérateur hash « %s » contient la spécification ORDER BY\n" -#~ "non supportée pour l'opérateur %s" - -#~ msgid "hash operator family \"%s\" contains operator %s with invalid strategy number %d" -#~ msgstr "" -#~ "la famille d'opérateur hash « %s » contient l'opérateur %s avec le numéro\n" -#~ "de stratégie invalide %d" - -#~ msgid "hash operator family \"%s\" contains operator %s with wrong signature" -#~ msgstr "la famille d'opérateur hash « %s » contient l'opérateur %s avec une mauvaise signature" - -#~ msgid "hash operator family \"%s\" contains support procedure %s with cross-type registration" -#~ msgstr "" -#~ "la famille d'opérateur hash « %s » contient la procédure de support\n" -#~ "%s avec un enregistrement inter-type" - -#~ msgid "hash operator family \"%s\" is missing operator(s) for types %s and %s" -#~ msgstr "" -#~ "la famille d'opérateur hash « %s » nécessite des opérateurs supplémentaires\n" -#~ "pour les types %s et %s" - -#~ msgid "hostssl requires SSL to be turned on" -#~ msgstr "hostssl requiert que SSL soit activé" - -#~ msgid "huge TLB pages not supported on this platform" -#~ msgstr "Huge Pages TLB non supporté sur cette plateforme." - -#~ msgid "hurrying in-progress restartpoint" -#~ msgstr "accélération du restartpoint en cours" - -#~ msgid "ignoring \"%s\" file because no \"%s\" file exists" -#~ msgstr "ignore le fichier « %s » parce que le fichier « %s » n'existe pas" - -#~ msgid "ignoring incomplete trigger group for constraint \"%s\" %s" -#~ msgstr "ignore le groupe de trigger incomplet pour la contrainte « %s » %s" - -#~ msgid "in progress" -#~ msgstr "en cours" - -#~ msgid "inconsistent use of year %04d and \"BC\"" -#~ msgstr "utilisation non cohérente de l'année %04d et de « BC »" - -#~ msgid "incorrect hole size in record at %X/%X" -#~ msgstr "taille du trou incorrect à l'enregistrement %X/%X" - -#, c-format -#~ msgid "incorrect test message transmission on socket for statistics collector" -#~ msgstr "" -#~ "transmission incorrecte du message de tests sur la socket du récupérateur de\n" -#~ "statistiques" - -#~ msgid "incorrect total length in record at %X/%X" -#~ msgstr "longueur totale incorrecte à l'enregistrement %X/%X" - -#~ msgid "index \"%s\" is not a b-tree" -#~ msgstr "l'index « %s » n'est pas un btree" - -#~ msgid "index \"%s\" is not ready" -#~ msgstr "l'index « %s » n'est pas prêt" - -#~ msgid "index \"%s\" needs VACUUM FULL or REINDEX to finish crash recovery" -#~ msgstr "" -#~ "l'index « %s » a besoin d'un VACUUM FULL ou d'un REINDEX pour terminer la\n" -#~ "récupération suite à un arrêt brutal" - -#~ msgid "index \"%s\" needs VACUUM or REINDEX to finish crash recovery" -#~ msgstr "" -#~ "l'index « %s » a besoin d'un VACUUM ou d'un REINDEX pour terminer la\n" -#~ "récupération suite à un arrêt brutal" - -#~ msgid "index \"%s\" now contains %.0f row versions in %u pages as reported by parallel vacuum worker" -#~ msgstr "l'index « %s » contient maintenant %.0f versions de lignes dans %u pages, comme indiqué par le worker parallélisé du VACUUM" - -#~ msgid "index %u/%u/%u needs VACUUM FULL or REINDEX to finish crash recovery" -#~ msgstr "" -#~ "l'index %u/%u/%u a besoin d'un VACUUM FULL ou d'un REINDEX pour terminer la\n" -#~ "récupération suite à un arrêt brutal" - -#~ msgid "index expression cannot return a set" -#~ msgstr "l'expression de l'index ne peut pas renvoyer un ensemble" - -#~ msgid "index row size %lu exceeds btree maximum, %lu" -#~ msgstr "la taille de la ligne index %lu dépasse le maximum de btree, %lu" - -#~ msgid "index row size %lu exceeds maximum %lu for index \"%s\"" -#~ msgstr "la taille de la ligne index, %lu, dépasse le maximum, %lu, pour l'index « %s »" - -#~ msgid "initializing for hot standby" -#~ msgstr "initialisation pour « Hot Standby »" - -#~ msgid "insufficient columns in %s constraint definition" -#~ msgstr "colonnes infuffisantes dans la définition de contrainte de %s" - -#~ msgid "insufficient shared memory for free space map" -#~ msgstr "mémoire partagée insuffisante pour la structure FSM" - -#, c-format -#~ msgid "int2vector has too many elements" -#~ msgstr "int2vector a trop d'éléments" - -#~ msgid "interval precision specified twice" -#~ msgstr "précision d'intervalle spécifiée deux fois" - -#, c-format -#~ msgid "interval units \"%s\" not recognized" -#~ msgstr "les unités « %s » ne sont pas reconnues pour le type interval" - -#, c-format -#~ msgid "interval units \"%s\" not supported" -#~ msgstr "les unités « %s » ne sont pas supportées pour le type interval" - -#~ msgid "invalid LC_CTYPE setting" -#~ msgstr "paramètre LC_CTYPE invalide" - -#~ msgid "invalid MVNDistinct size %zd (expected at least %zd)" -#~ msgstr "taille MVNDistinct %zd invalide (attendue au moins %zd)" - -#~ msgid "invalid OID in COPY data" -#~ msgstr "OID invalide dans les données du COPY" - -#, fuzzy -#~ msgid "invalid WAL message received from primary" -#~ msgstr "format du message invalide" - -#~ msgid "invalid backup block size in record at %X/%X" -#~ msgstr "taille du bloc de sauvegarde invalide dans l'enregistrement à %X/%X" - -#, c-format -#~ msgid "invalid checkpoint link in backup_label file" -#~ msgstr "lien du point de vérification invalide dans le fichier backup_label" - -#, c-format -#~ msgid "invalid compressed image at %X/%X, block %d" -#~ msgstr "image compressée invalide à %X/%X, bloc %d" - -#~ msgid "invalid concatenation of jsonb objects" -#~ msgstr "concaténation invalide d'objets jsonb" - -#~ msgid "invalid contrecord length %u at %X/%X reading %X/%X, expected %u" -#~ msgstr "longueur %u invalide du contrecord à %X/%X en lisant %X/%X, attendait %u" - -#~ msgid "invalid contrecord length %u in log file %u, segment %u, offset %u" -#~ msgstr "" -#~ "longueur invalide du « contrecord » %u dans le journal de tranasctions %u,\n" -#~ "segment %u, décalage %u" - -#~ msgid "invalid entry in file \"%s\" at line %d, token \"%s\"" -#~ msgstr "entrée invalide dans le fichier « %s » à la ligne %d, jeton « %s »" - -#, c-format -#~ msgid "invalid info bits %04X in log segment %s, offset %u" -#~ msgstr "bits d'information %04X invalides dans le segment %s, décalage %u" - -#~ msgid "invalid input syntax for %s: \"%s\"" -#~ msgstr "syntaxe en entrée invalide pour le type %s : « %s »" - -#~ msgid "invalid input syntax for integer: \"%s\"" -#~ msgstr "syntaxe en entrée invalide pour l'entier : « %s »" - -#~ msgid "invalid input syntax for numeric time zone: \"%s\"" -#~ msgstr "syntaxe en entrée invalide pour le fuseau horaire numérique : « %s »" - -#~ msgid "invalid input syntax for transaction log location: \"%s\"" -#~ msgstr "syntaxe invalide en entrée pour l'emplacement du journal de transactions : « %s »" - -#~ msgid "invalid input syntax for type boolean: \"%s\"" -#~ msgstr "syntaxe en entrée invalide pour le type booléen : « %s »" - -#~ msgid "invalid input syntax for type box: \"%s\"" -#~ msgstr "syntaxe en entrée invalide pour le type box : « %s »" - -#~ msgid "invalid input syntax for type bytea" -#~ msgstr "syntaxe en entrée invalide pour le type bytea" - -#~ msgid "invalid input syntax for type circle: \"%s\"" -#~ msgstr "syntaxe en entrée invalide pour le type circle : « %s »" - -#~ msgid "invalid input syntax for type double precision: \"%s\"" -#~ msgstr "syntaxe en entrée invalide pour le type double precision : « %s »" - -#~ msgid "invalid input syntax for type line: \"%s\"" -#~ msgstr "syntaxe en entrée invalide pour le type line: « %s »" - -#~ msgid "invalid input syntax for type lseg: \"%s\"" -#~ msgstr "syntaxe en entrée invalide pour le type lseg : « %s »" - -#~ msgid "invalid input syntax for type macaddr: \"%s\"" -#~ msgstr "syntaxe en entrée invalide pour le type macaddr : « %s »" - -#~ msgid "invalid input syntax for type money: \"%s\"" -#~ msgstr "syntaxe en entrée invalide pour le type money : « %s »" - -#~ msgid "invalid input syntax for type numeric: \"%s\"" -#~ msgstr "syntaxe en entrée invalide pour le type numeric : « %s »" - -#~ msgid "invalid input syntax for type oid: \"%s\"" -#~ msgstr "syntaxe invalide en entrée pour le type oid : « %s »" - -#~ msgid "invalid input syntax for type path: \"%s\"" -#~ msgstr "syntaxe en entrée invalide pour le type path : « %s »" - -#~ msgid "invalid input syntax for type pg_lsn: \"%s\"" -#~ msgstr "syntaxe en entrée invalide pour le type pg_lsn : « %s »" - -#~ msgid "invalid input syntax for type point: \"%s\"" -#~ msgstr "syntaxe en entrée invalide pour le type point : « %s »" - -#~ msgid "invalid input syntax for type polygon: \"%s\"" -#~ msgstr "syntaxe en entrée invalide pour le type polygon : « %s »" - -#~ msgid "invalid input syntax for type real: \"%s\"" -#~ msgstr "syntaxe en entrée invalide pour le type real : « %s »" - -#~ msgid "invalid input syntax for type tid: \"%s\"" -#~ msgstr "syntaxe en entrée invalide pour le type tid : « %s »" - -#~ msgid "invalid input syntax for type tinterval: \"%s\"" -#~ msgstr "syntaxe en entrée invalide pour le type tinterval : « %s »" - -#~ msgid "invalid input syntax for type txid_snapshot: \"%s\"" -#~ msgstr "syntaxe en entrée invalide pour le type txid_snapshot : « %s »" - -#~ msgid "invalid input syntax for uuid: \"%s\"" -#~ msgstr "syntaxe invalide en entrée pour l'uuid : « %s »" - -#~ msgid "invalid interval value for time zone: day not allowed" -#~ msgstr "valeur d'intervalle invalide pour le fuseau horaire : jour non autorisé" - -#~ msgid "invalid interval value for time zone: month not allowed" -#~ msgstr "valeur d'intervalle invalide pour le fuseau horaire : les mois ne sont pas autorisés" - -#~ msgid "invalid length in external \"numeric\" value" -#~ msgstr "longueur invalide dans la valeur externe « numeric »" - -#, c-format -#~ msgid "invalid length of primary checkpoint record" -#~ msgstr "longueur invalide de l'enregistrement primaire du point de vérification" - -#~ msgid "invalid length of secondary checkpoint record" -#~ msgstr "longueur invalide de l'enregistrement secondaire du point de vérification" - -#, c-format -#~ msgid "invalid list syntax for \"publish\" option" -#~ msgstr "syntaxe de liste invalide pour l'option « publish »" - -#~ msgid "invalid list syntax for \"unix_socket_directories\"" -#~ msgstr "syntaxe de liste invalide pour le paramètre « unix_socket_directories »" - -#~ msgid "invalid list syntax for parameter \"datestyle\"" -#~ msgstr "syntaxe de liste invalide pour le paramètre « datestyle »" - -#~ msgid "invalid list syntax for parameter \"log_destination\"" -#~ msgstr "syntaxe de liste invalide pour le paramètre « log_destination »" - -#, c-format -#~ msgid "invalid magic number %04X in log segment %s, offset %u" -#~ msgstr "numéro magique invalide %04X dans le segment %s, décalage %u" - -#~ msgid "invalid ndistinct magic %08x (expected %08x)" -#~ msgstr "nombre magique ndistinct invalide %08x (attendu %08x)" - -#~ msgid "invalid ndistinct type %d (expected %d)" -#~ msgstr "type ndistinct invalide %d (%d attendu)" - -#~ msgid "invalid number of arguments: object must be matched key value pairs" -#~ msgstr "nombre d'arguments invalide : l'objet doit correspond aux paires clé/valeur" - -#, c-format -#~ msgid "invalid primary checkpoint link in control file" -#~ msgstr "lien du point de vérification primaire invalide dans le fichier de contrôle" - -#, c-format -#~ msgid "invalid primary checkpoint record" -#~ msgstr "enregistrement du point de vérification primaire invalide" - -#~ msgid "invalid privilege type USAGE for table" -#~ msgstr "droit USAGE invalide pour la table" - -#~ msgid "invalid procedure number %d, must be between 1 and %d" -#~ msgstr "numéro de procédure %d invalide, doit être compris entre 1 et %d" - -#~ msgid "invalid publish list" -#~ msgstr "liste de publication invalide" - -#~ msgid "invalid record length at %X/%X" -#~ msgstr "longueur invalide de l'enregistrement à %X/%X" - -#, c-format -#~ msgid "invalid record length at %X/%X: wanted %u, got %u" -#~ msgstr "longueur invalide de l'enregistrement à %X/%X : voulait %u, a eu %u" - -#, c-format -#~ msgid "invalid record offset at %X/%X" -#~ msgstr "décalage invalide de l'enregistrement %X/%X" - -#~ msgid "invalid regexp option: \"%c\"" -#~ msgstr "option invalide de l'expression rationnelle : « %c »" - -#, c-format -#~ msgid "invalid resource manager ID in primary checkpoint record" -#~ msgstr "identifiant du gestionnaire de ressource invalide dans l'enregistrement primaire du point de vérification" - -#~ msgid "invalid resource manager ID in secondary checkpoint record" -#~ msgstr "identifiant du gestionnaire de ressource invalide dans l'enregistrement secondaire du point de vérification" - -#~ msgid "invalid role password \"%s\"" -#~ msgstr "mot de passe « %s » de l'utilisateur invalide" - -#~ msgid "invalid secondary checkpoint link in control file" -#~ msgstr "lien du point de vérification secondaire invalide dans le fichier de contrôle" - -#~ msgid "invalid secondary checkpoint record" -#~ msgstr "enregistrement du point de vérification secondaire invalide" - -#~ msgid "invalid socket: %s" -#~ msgstr "socket invalide : %s" - -#~ msgid "invalid standby handshake message type %d" -#~ msgstr "type %d du message de handshake du serveur en attente invalide" - -#~ msgid "invalid standby query string: %s" -#~ msgstr "chaîne de requête invalide sur le serveur en attente : %s" - -#~ msgid "invalid status in external \"tinterval\" value" -#~ msgstr "statut invalide dans la valeur externe « tinterval »" - -#~ msgid "invalid symbol" -#~ msgstr "symbole invalide" - -#~ msgid "invalid time zone name: \"%s\"" -#~ msgstr "nom du fuseau horaire invalide : « %s »" - -#~ msgid "invalid value for \"buffering\" option" -#~ msgstr "valeur invalide pour l'option « buffering »" - -#~ msgid "invalid value for \"check_option\" option" -#~ msgstr "valeur invalide pour l'option « check_option »" - -#~ msgid "invalid value for parameter \"replication\"" -#~ msgstr "valeur invalide pour le paramètre « replication »" - -#~ msgid "invalid value for recovery parameter \"%s\": \"%s\"" -#~ msgstr "valeur invalide pour le paramètre de restauration « %s » : « %s »" - -#~ msgid "invalid value for recovery parameter \"recovery_target\"" -#~ msgstr "valeur invalide pour le paramètre de restauration « recovery_target »" - -#, c-format -#~ msgid "invalid xl_info in primary checkpoint record" -#~ msgstr "xl_info invalide dans l'enregistrement du point de vérification primaire" - -#~ msgid "invalid xl_info in secondary checkpoint record" -#~ msgstr "xl_info invalide dans l'enregistrement du point de vérification secondaire" - -#~ msgid "invalid xlog switch record at %X/%X" -#~ msgstr "enregistrement de basculement du journal de transaction invalide à %X/%X" - -#~ msgid "invalid zero-length item array in MVDependencies" -#~ msgstr "tableau d'éléments de longueur zéro invalide dans MVDependencies" - -#~ msgid "invalid zero-length item array in MVNDistinct" -#~ msgstr "tableau d'élément de longueur zéro invalide dans MVNDistinct" - -#, c-format -#~ msgid "invalidating slot \"%s\" because its restart_lsn %X/%X exceeds max_slot_wal_keep_size" -#~ msgstr "invalidation du slot « %s » parce que son restart_lsn %X/%X dépasse max_slot_wal_keep_size" - -#~ msgid "krb5 authentication is not supported on local sockets" -#~ msgstr "" -#~ "l'authentification krb5 n'est pas supportée sur les connexions locales par\n" -#~ "socket" - -#~ msgid "language name cannot be qualified" -#~ msgstr "le nom du langage ne peut pas être qualifié" - -#, c-format -#~ msgid "language with OID %u does not exist" -#~ msgstr "le langage d'OID %u n'existe pas" - -#~ msgid "large object %u was already dropped" -#~ msgstr "le « Large Object » %u a déjà été supprimé" - -#~ msgid "large object %u was not opened for writing" -#~ msgstr "le « Large Object » %u n'a pas été ouvert en écriture" - -#~ msgid "leftover placeholder tuple detected in BRIN index \"%s\", deleting" -#~ msgstr "reste d'espace de ligne réservé dans l'index BRIN « %s », suppression" - -#~ msgid "loaded library \"%s\"" -#~ msgstr "bibliothèque « %s » chargée" - -#, c-format -#~ msgid "local connections are not supported by this build" -#~ msgstr "les connexions locales ne sont pas supportées dans cette installation" - -#~ msgid "log_restartpoints = %s" -#~ msgstr "log_restartpoints = %s" - -#~ msgid "logger shutting down" -#~ msgstr "arrêt en cours des journaux applicatifs" - -#, c-format -#~ msgid "logical decoding cannot be used while in recovery" -#~ msgstr "le décodage logique ne peut pas être utilisé lors de la restauration" - -#~ msgid "logical replication apply worker for subscription \"%s\" will restart because subscription's publications were changed" -#~ msgstr "le processus apply de réplication logique pour la souscription « %s » redémarrera car les publications ont été modifiées" - -#~ msgid "logical replication apply worker for subscription \"%s\" will restart because the connection information was changed" -#~ msgstr "le processus apply de réplication logique pour la souscription « %s » redémarrera car la souscription a été modifiée" - -#~ msgid "logical replication apply worker for subscription \"%s\" will restart because the replication slot name was changed" -#~ msgstr "le processus apply de réplication logique pour la souscription « %s » redémarrera car le nom du slot de réplication a été modifiée" - -#~ msgid "logical replication at prepare time requires begin_prepare_cb callback" -#~ msgstr "la réplication logique lors de la préparation requiert la fonction begin_prepare_cb" - -#~ msgid "logical replication at prepare time requires commit_prepared_cb callback" -#~ msgstr "la réplication logique lors de la préparation requiert la fonction commit_prepared_cb" - -#~ msgid "logical replication at prepare time requires rollback_prepared_cb callback" -#~ msgstr "la réplication logique lors de la préparation requiert la fonction rollback_prepared_cb" - -#~ msgid "logical replication could not find row for delete in replication target relation \"%s\"" -#~ msgstr "la réplication logique n'a pas pu trouver la ligne à supprimer dans la relation cible de réplication %s" - -#~ msgid "logical replication launcher shutting down" -#~ msgstr "arrêt du processus de lancement de la réplication logique" - -#~ msgid "logical replication target relation \"%s.%s\" is not a table" -#~ msgstr "la relation cible de la réplication logique « %s.%s » n'est pas une table" - -#~ msgid "logical streaming requires a stream_abort_cb callback" -#~ msgstr "le flux logique requiert une fonction stream_abort_cb" - -#~ msgid "logical streaming requires a stream_change_cb callback" -#~ msgstr "le flux logique requiert une fonction stream_change_cb" - -#~ msgid "logical streaming requires a stream_commit_cb callback" -#~ msgstr "la réplication logique requiert la fonction stream_commit_cb" - -#~ msgid "logical streaming requires a stream_start_cb callback" -#~ msgstr "le flux logique requiert une fonction stream_start_cb" - -#~ msgid "mapped win32 error code %lu to %d" -#~ msgstr "correspondance du code d'erreur win32 %lu en %d" - -#~ msgid "max_fsm_pages must exceed max_fsm_relations * %d" -#~ msgstr "max_fsm_pages doit excéder max_fsm_relations * %d" - -#~ msgid "max_fsm_relations(%d) equals the number of relations checked" -#~ msgstr "max_fsm_relations(%d) équivaut au nombre de relations tracées" - -#~ msgid "memory for serializable conflict tracking is nearly exhausted" -#~ msgstr "la mémoire pour tracer les conflits sérialisables est pratiquement pleine" - -#~ msgid "missing FROM-clause entry in subquery for table \"%s\"" -#~ msgstr "entrée manquante de la clause FROM dans la sous-requête de la table « %s »" - -#~ msgid "missing assignment operator" -#~ msgstr "opérateur d'affectation manquant" - -#, c-format -#~ msgid "missing contrecord at %X/%X" -#~ msgstr "contrecord manquant à %X/%X" - -#~ msgid "missing data for OID column" -#~ msgstr "données manquantes pour la colonne OID" - -#~ msgid "missing field in file \"%s\" at end of line %d" -#~ msgstr "champ manquant dans le fichier « %s » à la fin de la ligne %d" - -#~ msgid "missing or erroneous pg_hba.conf file" -#~ msgstr "fichier pg_hba.conf manquant ou erroné" - -#~ msgid "moving row to another partition during a BEFORE trigger is not supported" -#~ msgstr "déplacer une ligne vers une autre partition lors de l'exécution d'un trigger BEFORE n'est pas supporté" - -#~ msgid "multibyte flag character is not allowed" -#~ msgstr "un caractère drapeau multi-octet n'est pas autorisé" - -#~ msgid "multiple DELETE events specified" -#~ msgstr "multiples événements DELETE spécifiés" - -#~ msgid "multiple TRUNCATE events specified" -#~ msgstr "multiples événements TRUNCATE spécifiés" - -#~ msgid "multiple constraints named \"%s\" were dropped" -#~ msgstr "les contraintes multiples nommées « %s » ont été supprimées" - -#, c-format -#~ msgid "must be a member of the role whose process is being terminated or member of pg_signal_backend" -#~ msgstr "doit être un membre du rôle dont le processus est en cours d'arrêt ou membre de pg_signal_backend" - -#, c-format -#~ msgid "must be a member of the role whose query is being canceled or member of pg_signal_backend" -#~ msgstr "doit être un membre du rôle dont la requête est en cours d'annulation ou membre de pg_signal_backend" - -#, c-format -#~ msgid "must be a superuser to cancel superuser query" -#~ msgstr "doit être super-utilisateur pour annuler la requête d'un super-utilisateur" - -#, c-format -#~ msgid "must be a superuser to log memory contexts" -#~ msgstr "doit être super-utilisateur pour tracer les contextes mémoires" - -#, c-format -#~ msgid "must be a superuser to terminate superuser process" -#~ msgstr "doit être super-utilisateur pour terminer le processus d'un super-utilisateur" - -#~ msgid "must be superuser or have the same role to cancel queries running in other server processes" -#~ msgstr "" -#~ "doit être super-utilisateur ou avoir le même rôle pour annuler des requêtes\n" -#~ "exécutées dans les autres processus serveur" - -#~ msgid "must be superuser or have the same role to terminate other server processes" -#~ msgstr "" -#~ "doit être super-utilisateur ou avoir le même rôle pour fermer les connexions\n" -#~ "exécutées dans les autres processus serveur" - -#~ msgid "must be superuser or replication role to run a backup" -#~ msgstr "doit être super-utilisateur ou avoir l'attribut de réplication pour exécuter une sauvegarde" - -#, c-format -#~ msgid "must be superuser or replication role to start walsender" -#~ msgstr "" -#~ "doit être un superutilisateur ou un rôle ayant l'attribut de réplication\n" -#~ "pour exécuter walsender" - -#, c-format -#~ msgid "must be superuser or replication role to use replication slots" -#~ msgstr "" -#~ "doit être un superutilisateur ou un rôle ayant l'attribut de réplication\n" -#~ "pour utiliser des slots de réplication" - -#~ msgid "must be superuser to COPY to or from a file" -#~ msgstr "doit être super-utilisateur pour utiliser COPY à partir ou vers un fichier" - -#, c-format -#~ msgid "must be superuser to alter replication roles or change replication attribute" -#~ msgstr "doit être super-utilisateur pour modifier les rôles ayant l'attribut REPLICATION ou pour changer l'attribut REPLICATION" - -#~ msgid "must be superuser to alter replication users" -#~ msgstr "doit être super-utilisateur pour modifier des utilisateurs ayant l'attribut réplication" - -#, c-format -#~ msgid "must be superuser to alter superuser roles or change superuser attribute" -#~ msgstr "doit être super-utilisateur pour modifier les rôles ayant l'attribut SUPERUSER ou pour changer l'attribut SUPERUSER" - -#, c-format -#~ msgid "must be superuser to alter superusers" -#~ msgstr "doit être super-utilisateur pour modifier des super-utilisateurs" - -#, c-format -#~ msgid "must be superuser to call pg_nextoid()" -#~ msgstr "doit être un super-utilisateur pour appeller pg_nextoid()" - -#, c-format -#~ msgid "must be superuser to change bypassrls attribute" -#~ msgstr "doit être super-utilisateur pour modifier l'attribut bypassrls" - -#~ msgid "must be superuser to comment on procedural language" -#~ msgstr "" -#~ "doit être super-utilisateur pour ajouter un commentaire sur un langage de\n" -#~ "procédures" - -#~ msgid "must be superuser to comment on text search parser" -#~ msgstr "" -#~ "doit être super-utilisateur pour ajouter un commentaire sur l'analyseur de\n" -#~ "recherche plein texte" - -#~ msgid "must be superuser to comment on text search template" -#~ msgstr "" -#~ "doit être super-utilisateur pour ajouter un commentaire sur un modèle de\n" -#~ "recherche plein texte" - -#, c-format -#~ msgid "must be superuser to connect during database shutdown" -#~ msgstr "" -#~ "doit être super-utilisateur pour se connecter pendant un arrêt de la base de\n" -#~ "données" - -#~ msgid "must be superuser to control recovery" -#~ msgstr "doit être super-utilisateur pour contrôler la restauration" - -#~ msgid "must be superuser to create a restore point" -#~ msgstr "doit être super-utilisateur pour créer un point de restauration" - -#, c-format -#~ msgid "must be superuser to create bypassrls users" -#~ msgstr "doit être super-utilisateur pour créer des utilisateurs avec l'attribut BYPASSRLS" - -#~ msgid "must be superuser to create procedural language \"%s\"" -#~ msgstr "doit être super-utilisateur pour créer le langage de procédures « %s »" - -#, c-format -#~ msgid "must be superuser to create replication users" -#~ msgstr "doit être super-utilisateur pour créer des utilisateurs avec l'attribut réplication" - -#, c-format -#~ msgid "must be superuser to create subscriptions" -#~ msgstr "doit être super-utilisateur pour créer des souscriptions" - -#, c-format -#~ msgid "must be superuser to create superusers" -#~ msgstr "doit être super-utilisateur pour créer des super-utilisateurs" - -#~ msgid "must be superuser to drop access methods" -#~ msgstr "doit être super-utilisateur pour supprimer des méthodes d'accès" - -#, c-format -#~ msgid "must be superuser to drop superusers" -#~ msgstr "doit être super-utilisateur pour supprimer des super-utilisateurs" - -#~ msgid "must be superuser to drop text search parsers" -#~ msgstr "" -#~ "doit être super-utilisateur pour supprimer des analyseurs de recherche plein\n" -#~ "texte" - -#~ msgid "must be superuser to drop text search templates" -#~ msgstr "doit être super-utilisateur pour supprimer des modèles de recherche plein texte" - -#, c-format -#~ msgid "must be superuser to execute ALTER SYSTEM command" -#~ msgstr "doit être super-utilisateur pour exécuter la commande ALTER SYSTEM" - -#~ msgid "must be superuser to get directory listings" -#~ msgstr "doit être super-utilisateur pour obtenir le contenu du répertoire" - -#~ msgid "must be superuser to get file information" -#~ msgstr "doit être super-utilisateur pour obtenir des informations sur le fichier" - -#, c-format -#~ msgid "must be superuser to rename superusers" -#~ msgstr "doit être super-utilisateur pour renommer les super-utilisateurs" - -#~ msgid "must be superuser to rename text search parsers" -#~ msgstr "" -#~ "doit être super-utilisateur pour renommer les analyseurs de recherche plein\n" -#~ "texte" - -#~ msgid "must be superuser to rename text search templates" -#~ msgstr "doit être super-utilisateur pour renommer les modèles de recherche plein texte" - -#~ msgid "must be superuser to reset statistics counters" -#~ msgstr "doit être super-utilisateur pour réinitialiser les compteurs statistiques" - -#, c-format -#~ msgid "must be superuser to set grantor" -#~ msgstr "doit être super-utilisateur pour configurer le « donneur de droits »" - -#~ msgid "must be superuser to signal the postmaster" -#~ msgstr "doit être super-utilisateur pour envoyer un signal au postmaster" - -#~ msgid "must be superuser to use server-side lo_export()" -#~ msgstr "doit être super-utilisateur pour utiliser lo_export() du côté serveur" - -#~ msgid "must be superuser to use server-side lo_import()" -#~ msgstr "doit être super-utilisateur pour utiliser lo_import() du côté serveur" - -#~ msgid "must call json_populate_recordset on an array of objects" -#~ msgstr "doit appeler json_populate_recordset sur un tableau d'objets" - -#, c-format -#~ msgid "must have CREATEROLE privilege" -#~ msgstr "doit avoir l'attribut CREATEROLE" - -#, c-format -#~ msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_IS_COMPRESSED set, but block image length is %u at %X/%X" -#~ msgstr "ni BKPIMAGE_HAS_HOLE ni BKPIMAGE_IS_COMPRESSED configuré, mais la longueur de l'image du bloc est %u à %X/%X" - -#~ msgid "neither input type is an array" -#~ msgstr "aucun type de données n'est un tableau" - -#, c-format -#~ msgid "new replication connections are not allowed during database shutdown" -#~ msgstr "" -#~ "les nouvelles connexions pour la réplication ne sont pas autorisées pendant\n" -#~ "l'arrêt du serveur de base de données" - -#~ msgid "next MultiXactId: %u; next MultiXactOffset: %u" -#~ msgstr "prochain MultiXactId : %u ; prochain MultiXactOffset : %u" - -#~ msgid "next transaction ID: %u/%u; next OID: %u" -#~ msgstr "prochain identifiant de transaction : %u/%u ; prochain OID : %u" - -#~ msgid "no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\"" -#~ msgstr "" -#~ "aucune entrée dans pg_hba.conf pour l'hôte « %s », utilisateur « %s »,\n" -#~ "base de données « %s »" - -#~ msgid "no pg_hba.conf entry for replication connection from host \"%s\", user \"%s\"" -#~ msgstr "" -#~ "aucune entrée dans pg_hba.conf pour la connexion de la réplication à partir de\n" -#~ "l'hôte « %s », utilisateur « %s »" - -#~ msgid "no such savepoint" -#~ msgstr "aucun point de sauvegarde" - -#, c-format -#~ msgid "non-exclusive backup in progress" -#~ msgstr "une sauvegarde non exclusive est en cours" - -#, c-format -#~ msgid "non-exclusive backup is not in progress" -#~ msgstr "une sauvegarde non exclusive n'est pas en cours" - -#~ msgid "not enough data in file \"%s\"" -#~ msgstr "données insuffisantes dans le fichier « %s »" - -#~ msgid "not enough shared memory for background writer" -#~ msgstr "pas assez de mémoire partagée pour le processus d'écriture en tâche de fond" - -#~ msgid "not enough shared memory for elements of data structure \"%s\" (%zu bytes requested)" -#~ msgstr "" -#~ "pas assez de mémoire partagée pour les éléments de la structure de données\n" -#~ "« %s » (%zu octets demandés)" - -#~ msgid "not enough shared memory for walreceiver" -#~ msgstr "" -#~ "pas assez de mémoire partagée pour le processus de réception des journaux de\n" -#~ "transactions" - -#~ msgid "not enough shared memory for walsender" -#~ msgstr "pas assez de mémoire partagée pour le processus d'envoi des journaux de transactions" - -#~ msgid "not unique \"S\"" -#~ msgstr "« S » non unique" - -#~ msgid "null OID in COPY data" -#~ msgstr "OID NULL dans les données du COPY" - -#~ msgid "number of distinct values %g is too low" -#~ msgstr "le nombre de valeurs distinctes %g est trop basse" - -#~ msgid "number of page slots needed (%.0f) exceeds max_fsm_pages (%d)" -#~ msgstr "le nombre d'emplacements de pages nécessaires (%.0f) dépasse max_fsm_pages (%d)" - -#~ msgid "off" -#~ msgstr "désactivé" - -#, c-format -#~ msgid "oidvector has too many elements" -#~ msgstr "oidvector a trop d'éléments" - -#~ msgid "oldest MultiXactId member is at offset %u" -#~ msgstr "le membre le plus ancien du MultiXactId est au décalage %u" - -#~ msgid "oldest unfrozen transaction ID: %u, in database %u" -#~ msgstr "" -#~ "identifiant de transaction non gelé le plus ancien : %u, dans la base de\n" -#~ "données %u" - -#, c-format -#~ msgid "oldest xmin is far in the past" -#~ msgstr "le plus ancien xmin est loin dans le passé" - -#~ msgid "on" -#~ msgstr "activé" - -#, c-format -#~ msgid "online backup mode canceled" -#~ msgstr "mode de sauvegarde en ligne annulé" - -#, c-format -#~ msgid "online backup mode was not canceled" -#~ msgstr "le mode de sauvegarde en ligne n'a pas été annulé" - -#~ msgid "only simple column references and expressions are allowed in CREATE STATISTICS" -#~ msgstr "seules des références et expressions à une seule colonne sont acceptées dans CREATE STATISTICS" - -#~ msgid "only superusers can query or manipulate replication origins" -#~ msgstr "seuls les super-utilisateurs peuvent lire ou manipuler les origines de réplication" - -#~ msgid "op ANY/ALL (array) does not support set arguments" -#~ msgstr "" -#~ "l'opérateur ANY/ALL (pour les types array) ne supporte pas les arguments\n" -#~ "d'ensemble" - -#, c-format -#~ msgid "operator class with OID %u does not exist" -#~ msgstr "la classe d'opérateur d'OID %u n'existe pas" - -#, c-format -#~ msgid "operator family with OID %u does not exist" -#~ msgstr "la famille d'opérateur d'OID %u n'existe pas" - -#~ msgid "operator precedence change: %s is now lower precedence than %s" -#~ msgstr "la précédence d'opérateur change : %s a maintenant une précédence inférieure à %s" - -#~ msgid "operator procedure must be specified" -#~ msgstr "la procédure de l'opérateur doit être spécifiée" - -#, c-format -#~ msgid "operator with OID %u does not exist" -#~ msgstr "l'opérateur d'OID %u n'existe pas" - -#, c-format -#~ msgid "out of memory while trying to decode a record of length %u" -#~ msgstr "manque mémoire lors de la tentative de décodage d'un enregistrement de longueur %u" - -#, c-format -#~ msgid "out-of-sequence timeline ID %u (after %u) in log segment %s, offset %u" -#~ msgstr "identifiant timeline %u hors de la séquence (après %u) dans le segment %s, décalage %u" - -#~ msgid "overflow of destination buffer in hex encoding" -#~ msgstr "Calcule les identifiants de requête" - -#~ msgid "parameter \"%s\" requires a numeric value" -#~ msgstr "le paramètre « %s » requiert une valeur numérique" - -#, c-format -#~ msgid "parameter \"lc_collate\" must be specified" -#~ msgstr "le paramètre « lc_collate » doit être spécifié" - -#, c-format -#~ msgid "parameter \"lc_ctype\" must be specified" -#~ msgstr "le paramètre « lc_ctype » doit être spécifié" - -#~ msgid "parameter \"recovery_target_inclusive\" requires a Boolean value" -#~ msgstr "le paramètre « recovery_target_inclusive » requiert une valeur booléenne" - -#~ msgid "parameter \"standby_mode\" requires a Boolean value" -#~ msgstr "le paramètre « standby_mode » requiert une valeur booléenne" - -#~ msgid "parse %s: %s" -#~ msgstr "analyse %s : %s" - -#~ msgid "parser stack overflow" -#~ msgstr "saturation de la pile de l'analyseur" - -#~ msgid "partition constraint for table \"%s\" is implied by existing constraints" -#~ msgstr "la contrainte de partitionnement pour la table « %s » provient des contraintes existantes" - -#~ msgid "partition key expressions cannot contain whole-row references" -#~ msgstr "les expressions de clé de partitionnement ne peuvent pas contenir des références à des lignes complètes" - -#~ msgid "password too long" -#~ msgstr "mot de passe trop long" - -#~ msgid "pclose failed: %m" -#~ msgstr "échec de pclose : %m" - -#, c-format -#~ msgid "permission denied to change owner of subscription \"%s\"" -#~ msgstr "droit refusé pour modifier le propriétaire de la souscription « %s »" - -#~ msgid "permission denied to drop foreign-data wrapper \"%s\"" -#~ msgstr "droit refusé pour supprimer le wrapper de données distantes « %s »" - -#~ msgid "pg_hba.conf rejects connection for host \"%s\", user \"%s\", database \"%s\"" -#~ msgstr "" -#~ "pg_hba.conf rejette la connexion pour l'hôte « %s », utilisateur « %s », base\n" -#~ "de données « %s »" - -#~ msgid "pg_hba.conf rejects replication connection for host \"%s\", user \"%s\"" -#~ msgstr "" -#~ "pg_hba.conf rejette la connexion de la réplication pour l'hôte « %s »,\n" -#~ "utilisateur « %s »" - -#~ msgid "pg_ident.conf was not reloaded" -#~ msgstr "pg_ident.conf n'a pas été rechargé" - -#~ msgid "pg_walfile_name() cannot be executed during recovery." -#~ msgstr "pg_walfile_name() ne peut pas être exécuté lors de la restauration." - -#~ msgid "pg_walfile_name_offset() cannot be executed during recovery." -#~ msgstr "pg_walfile_name_offset() ne peut pas être exécuté lors de la restauration." - -#~ msgid "poll() failed in statistics collector: %m" -#~ msgstr "échec du poll() dans le récupérateur de statistiques : %m" - -#~ msgid "poll() failed: %m" -#~ msgstr "échec de poll() : %m" - -#~ msgid "postmaster became multithreaded" -#~ msgstr "le postmaster est devenu multithreadé" - -#~ msgid "procedure number %d for (%s,%s) appears more than once" -#~ msgstr "le numéro de procédure %d pour (%s, %s) apparaît plus d'une fois" - -#~ msgid "procedures cannot have OUT arguments" -#~ msgstr "les procédures ne peuvent pas avoir d'argument OUT" - -#, c-format -#~ msgid "promote trigger file found: %s" -#~ msgstr "fichier trigger de promotion trouvé : %s" - -#~ msgid "query requires full scan, which is not supported by GIN indexes" -#~ msgstr "" -#~ "la requête nécessite un parcours complet, ce qui n'est pas supporté par les\n" -#~ "index GIN" - -#, c-format -#~ msgid "query-specified return tuple and function return type are not compatible" -#~ msgstr "une ligne de sortie spécifiée à la requête et un type de sortie de fonction ne sont pas compatibles" - -#, c-format -#~ msgid "range_agg must be called with a range" -#~ msgstr "range_agg doit être appelé avec un intervalle" - -#, c-format -#~ msgid "range_intersect_agg must be called with a multirange" -#~ msgstr "range_intersect_agg doit être appelé avec un multirange" - -#, c-format -#~ msgid "range_intersect_agg must be called with a range" -#~ msgstr "range_intersect_agg doit être appelé avec un range" - -#~ msgid "received password packet" -#~ msgstr "paquet du mot de passe reçu" - -#, c-format -#~ msgid "record length %u at %X/%X too long" -#~ msgstr "longueur trop importante de l'enregistrement %u à %X/%X" - -#~ msgid "record with zero length at %X/%X" -#~ msgstr "enregistrement de longueur nulle à %X/%X" - -#~ msgid "recovery is still in progress, can't accept WAL streaming connections" -#~ msgstr "la restauration est en cours, ne peut pas accepter les connexions de flux WAL" - -#~ msgid "recovery restart point at %X/%X with latest known log time %s" -#~ msgstr "" -#~ "point de relancement de la restauration sur %X/%X avec %s comme dernière\n" -#~ "date connue du journal" - -#~ msgid "recovery_target_time is not a valid timestamp: \"%s\"" -#~ msgstr "recovery_target_timeline n'est pas un horodatage valide : « %s »" - -#~ msgid "recovery_target_xid is not a valid number: \"%s\"" -#~ msgstr "recovery_target_xid n'est pas un nombre valide : « %s »" - -#~ msgid "recycled write-ahead log file \"%s\"" -#~ msgstr "recyclage du journal de transactions « %s »" - -#~ msgid "redo record is at %X/%X; shutdown %s" -#~ msgstr "l'enregistrement à ré-exécuter se trouve à %X/%X ; arrêt %s" - -#~ msgid "redo starts at %X/%X, consistency will be reached at %X/%X" -#~ msgstr "la restauration comme à %X/%X, la cohérence sera atteinte à %X/%X" - -#, c-format -#~ msgid "reference to parent directory (\"..\") not allowed" -#~ msgstr "référence non autorisée au répertoire parent (« .. »)" - -#, c-format -#~ msgid "referenced relation \"%s\" is not a table or foreign table" -#~ msgstr "la relation référencée « %s » n'est ni une table ni une table distante" - -#~ msgid "regexp_split_to_array does not support the global option" -#~ msgstr "regexp_split_to_array ne supporte pas l'option globale" - -#~ msgid "regexp_split_to_table does not support the global option" -#~ msgstr "regexp_split_to_table ne supporte pas l'option globale" - -#~ msgid "registering background worker \"%s\"" -#~ msgstr "enregistrement du processus en tâche de fond « %s »" - -#~ msgid "relation \"%s\" TID %u/%u: DeleteTransactionInProgress %u --- cannot shrink relation" -#~ msgstr "" -#~ "relation « %s », TID %u/%u : DeleteTransactionInProgress %u --- n'a pas pu\n" -#~ "diminuer la taille de la relation" - -#~ msgid "relation \"%s\" TID %u/%u: InsertTransactionInProgress %u --- cannot shrink relation" -#~ msgstr "" -#~ "relation « %s », TID %u/%u : InsertTransactionInProgress %u --- n'a pas pu\n" -#~ "diminuer la taille de la relation" - -#~ msgid "relation \"%s\" TID %u/%u: XMIN_COMMITTED not set for transaction %u --- cannot shrink relation" -#~ msgstr "" -#~ "relation « %s », TID %u/%u : XMIN_COMMITTED non configuré pour la\n" -#~ "transaction %u --- n'a pas pu diminuer la taille de la relation" - -#~ msgid "relation \"%s\" TID %u/%u: dead HOT-updated tuple --- cannot shrink relation" -#~ msgstr "" -#~ "relation « %s », TID %u/%u : ligne morte mise à jour par HOT --- n'a pas pu\n" -#~ "diminuer la taille de la relation" - -#, c-format -#~ msgid "relation \"%s\" is not a table, foreign table, or materialized view" -#~ msgstr "la relation « %s » n'est pas une table, une table distante ou une vue matérialisée" - -#~ msgid "relation \"%s\" page %u is uninitialized --- fixing" -#~ msgstr "relation « %s » : la page %u n'est pas initialisée --- correction en cours" - -#~ msgid "relation \"%s.%s\" contains more than \"max_fsm_pages\" pages with useful free space" -#~ msgstr "" -#~ "la relation « %s.%s » contient plus de « max_fsm_pages » pages d'espace\n" -#~ "libre utile" - -#~ msgid "relation \"pg_statistic\" does not have a composite type" -#~ msgstr "la relation « pg_statistic » n'a pas un type composite" - -#~ msgid "removed subscription for table %s.%s" -#~ msgstr "a supprimé une souscription pour la table %s.%s" - -#~ msgid "removing built-in function \"%s\"" -#~ msgstr "suppression de la fonction interne « %s »" - -#~ msgid "removing file \"%s\"" -#~ msgstr "suppression du fichier « %s »" - -#~ msgid "removing transaction log backup history file \"%s\"" -#~ msgstr "suppression du fichier historique des journaux de transaction « %s »" - -#~ msgid "removing write-ahead log file \"%s\"" -#~ msgstr "suppression du journal de transactions « %s »" - -#~ msgid "replication connection authorized: user=%s SSL enabled (protocol=%s, cipher=%s, bits=%d, compression=%s)" -#~ msgstr "connexion autorisée : utilisateur=%s, SSL activé (protocole=%s, chiffrement=%s, bits=%d, compression=%s)" - -#~ msgid "replication connection authorized: user=%s application_name=%s" -#~ msgstr "connexion de réplication autorisée : utilisateur=%s nom d'application=%s" - -#~ msgid "replication connection authorized: user=%s application_name=%s SSL enabled (protocol=%s, cipher=%s, bits=%d, compression=%s)" -#~ msgstr "connexion de réplication autorisée : utilisateur=%s, nom d'application=%s, SSL activé (protocole=%s, chiffrement=%s, bits=%d, compression=%s)" - -#~ msgid "replication identifier %d is already active for PID %d" -#~ msgstr "l'identificateur de réplication %d est déjà actif pour le PID %d" - -#~ msgid "replication origin %d is already active for PID %d" -#~ msgstr "l'origine de réplication %d est déjà active pour le PID %d" - -#~ msgid "restartpoint_command = '%s'" -#~ msgstr "restartpoint_command = '%s'" - -#~ msgid "rewriting table \"%s\"" -#~ msgstr "ré-écriture de la table « %s »" - -#~ msgid "role \"%s\" could not be removed from policy \"%s\" on \"%s\"" -#~ msgstr "le rôle « %s » n'a pas pu être supprimé de la politique « %s » sur « %s »" - -#~ msgid "role \"%s\" is reserved" -#~ msgstr "le rôle « %s » est réservé" - -#~ msgid "role name cannot be qualified" -#~ msgstr "le nom du rôle ne peut pas être qualifié" - -#~ msgid "rule \"%s\" does not exist" -#~ msgstr "la règle « %s » n'existe pas" - -#~ msgid "scanned index \"%s\" to remove %d row versions by parallel vacuum worker" -#~ msgstr "a parcouru l'index « %s » pour supprimer %d versions de lignes par le worker parallélisé du VACUUM" - -#~ msgid "schema name cannot be qualified" -#~ msgstr "le nom du schéma ne peut pas être qualifié" - -#~ msgid "select() failed in logger process: %m" -#~ msgstr "échec de select() dans le processus des journaux applicatifs : %m" - -#, c-format -#~ msgid "select() failed in postmaster: %m" -#~ msgstr "échec de select() dans postmaster : %m" - -#, c-format -#~ msgid "select() failed in statistics collector: %m" -#~ msgstr "échec du select() dans le récupérateur de statistiques : %m" - -#~ msgid "select() failed: %m" -#~ msgstr "échec de select() : %m" - -#~ msgid "sending cancel to blocking autovacuum PID %d" -#~ msgstr "envoi de l'annulation pour bloquer le PID %d de l'autovacuum" - -#~ msgid "server does not exist, skipping" -#~ msgstr "le serveur n'existe pas, poursuite du traitement" - -#~ msgid "server name cannot be qualified" -#~ msgstr "le nom du serveur ne peut pas être qualifié" - -#~ msgid "setsockopt(SO_REUSEADDR) failed for %s address \"%s\": %m" -#~ msgstr "setsockopt(SO_REUSEADDR) a échoué pour %s, adresse « %s » : %m" - -#~ msgid "shared index \"%s\" can only be reindexed in stand-alone mode" -#~ msgstr "un index partagé « %s » peut seulement être réindexé en mode autonome" - -#~ msgid "shared table \"%s\" can only be reindexed in stand-alone mode" -#~ msgstr "la table partagée « %s » peut seulement être réindexé en mode autonome" - -#~ msgid "shared tables cannot be toasted after initdb" -#~ msgstr "" -#~ "les tables partagées ne peuvent pas avoir une table TOAST après la commande\n" -#~ "initdb" - -#~ msgid "shutdown requested, aborting active base backup" -#~ msgstr "arrêt demandé, annulation de la sauvegarde active de base" - -#, c-format -#~ msgid "skipping \"%s\" --- only superuser can analyze it" -#~ msgstr "ignore « %s » --- seul le super-utilisateur peut l'analyser" - -#, c-format -#~ msgid "skipping \"%s\" --- only superuser can vacuum it" -#~ msgstr "ignore « %s » --- seul le super-utilisateur peut exécuter un VACUUM" - -#, c-format -#~ msgid "skipping \"%s\" --- only superuser or database owner can analyze it" -#~ msgstr "" -#~ "ignore « %s » --- seul le super-utilisateur ou le propriétaire de la base de\n" -#~ "données peut l'analyser" - -#, c-format -#~ msgid "skipping \"%s\" --- only superuser or database owner can vacuum it" -#~ msgstr "" -#~ "ignore « %s » --- seul le super-utilisateur ou le propriétaire de la base de données\n" -#~ "peuvent exécuter un VACUUM" - -#, c-format -#~ msgid "skipping \"%s\" --- only table or database owner can analyze it" -#~ msgstr "" -#~ "ignore « %s » --- seul le propriétaire de la table ou de la base de données\n" -#~ "peut l'analyser" - -#, c-format -#~ msgid "skipping \"%s\" --- only table or database owner can vacuum it" -#~ msgstr "" -#~ "ignore « %s » --- seul le propriétaire de la table ou de la base de données\n" -#~ "peut exécuter un VACUUM" - -#~ msgid "skipping redundant vacuum to prevent wraparound of table \"%s.%s.%s\"" -#~ msgstr "ignore un VACUUM redondant pour éviter le rebouclage des identifiants dans la table \"%s.%s.%s\"" - -#~ msgid "skipping restartpoint, already performed at %X/%X" -#~ msgstr "ignore le point de redémarrage, déjà réalisé à %X/%X" - -#~ msgid "skipping restartpoint, recovery has already ended" -#~ msgstr "restartpoint ignoré, la récupération est déjà terminée" - -#~ msgid "slot_name = NONE and create_slot = true are mutually exclusive options" -#~ msgstr "slot_name = NONE et create_slot = true sont des options mutuellement exclusives" - -#~ msgid "slot_name = NONE and enabled = true are mutually exclusive options" -#~ msgstr "slot_name = NONE et enabled = true sont des options mutuellement exclusives" - -#~ msgid "socket not open" -#~ msgstr "socket non ouvert" - -#, fuzzy -#~ msgid "sorry, too many standbys already" -#~ msgstr "désolé, trop de clients sont déjà connectés" - -#~ msgid "spgist operator class \"%s\" is missing operator(s)" -#~ msgstr "il manque des opérateurs pour la classe d'opérateur spgist « %s »" - -#~ msgid "spgist operator family \"%s\" contains function %s with invalid support number %d" -#~ msgstr "" -#~ "la famille d'opérateur spgist « %s » contient la fonction %s\n" -#~ "avec le numéro de support %d invalide" - -#~ msgid "spgist operator family \"%s\" contains function %s with wrong signature for support number %d" -#~ msgstr "" -#~ "la famille d'opérateur spgist « %s » contient la fonction %s\n" -#~ "avec une mauvaise signature pour le numéro de support %d" - -#~ msgid "spgist operator family \"%s\" contains invalid ORDER BY specification for operator %s" -#~ msgstr "" -#~ "la famille d'opérateur spgist « %s » contient une spécification\n" -#~ "ORDER BY invalide pour l'opérateur %s" - -#~ msgid "spgist operator family \"%s\" contains operator %s with invalid strategy number %d" -#~ msgstr "" -#~ "la famille d'opérateur spgist « %s » contient l'opérateur %s\n" -#~ "avec le numéro de stratégie invalide %d" - -#~ msgid "spgist operator family \"%s\" contains operator %s with wrong signature" -#~ msgstr "la famille d'opérateur spgist « %s » contient l'opérateur %s avec une mauvaise signature" - -#~ msgid "spgist operator family \"%s\" contains support procedure %s with cross-type registration" -#~ msgstr "" -#~ "la famille d'opérateur spgist « %s » contient la procédure de support\n" -#~ "%s avec un enregistrement inter-type" - -#~ msgid "spgist operator family \"%s\" is missing operator(s) for types %s and %s" -#~ msgstr "" -#~ "la famille d'opérateur spgist « %s » nécessite des opérateurs supplémentaires\n" -#~ "pour les types %s et %s" - -#~ msgid "standby \"%s\" now has synchronous standby priority %u" -#~ msgstr "" -#~ "le serveur « %s » en standby a maintenant une priorité %u en tant que standby\n" -#~ "synchrone" - -#~ msgid "standby connections not allowed because wal_level=minimal" -#~ msgstr "connexions standby non autorisées car wal_level=minimal" - -#~ msgid "starting background worker process \"%s\"" -#~ msgstr "démarrage du processus d'écriture en tâche de fond « %s »" - -#~ msgid "starting logical replication worker for subscription \"%s\"" -#~ msgstr "lancement du processus worker de réplication logique pour la souscription « %s »" - -#~ msgid "statistics collector process" -#~ msgstr "processus de récupération des statistiques" - -#, c-format -#~ msgid "statistics collector's time %s is later than backend local time %s" -#~ msgstr "l'heure du collecteur de statistiques %s est plus avancé que l'heure locale du processus serveur %s" - -#, c-format -#~ msgid "statistics object with OID %u does not exist" -#~ msgstr "l'objet statistique d'OID %u n'existe pas" - -#, c-format -#~ msgid "stats_timestamp %s is later than collector's time %s for database %u" -#~ msgstr "stats_timestamp %s est plus avancé que l'heure du collecteur %s pour la base de données %u" - -#~ msgid "streaming replication successfully connected to primary" -#~ msgstr "réplication de flux connecté avec succès au serveur principal" - -#~ msgid "subquery cannot have SELECT INTO" -#~ msgstr "la sous-requête ne peut pas avoir de SELECT INTO" - -#~ msgid "subquery in FROM cannot have SELECT INTO" -#~ msgstr "la sous-requête du FROM ne peut pas avoir de SELECT INTO" - -#~ msgid "subquery in FROM cannot refer to other relations of same query level" -#~ msgstr "" -#~ "la sous-requête du FROM ne peut pas faire référence à d'autres relations\n" -#~ "dans le même niveau de la requête" - -#, c-format -#~ msgid "subquery in FROM must have an alias" -#~ msgstr "la sous-requête du FROM doit avoir un alias" - -#~ msgid "subquery in WITH cannot have SELECT INTO" -#~ msgstr "la sous-requête du WITH ne peut pas avoir de SELECT INTO" - -#~ msgid "subquery must return a column" -#~ msgstr "la sous-requête doit renvoyer une colonne" - -#~ msgid "subscription must contain at least one publication" -#~ msgstr "la souscription doit contenir au moins une publication" - -#~ msgid "subscription with slot_name = NONE must also set create_slot = false" -#~ msgstr "la souscription avec slot_name = NONE doit aussi être configurée avec create_slot = false" - -#~ msgid "syntax error in recovery command file: %s" -#~ msgstr "erreur de syntaxe dans le fichier de restauration : %s" - -#~ msgid "syntax error: cannot back up" -#~ msgstr "erreur de syntaxe : n'a pas pu revenir" - -#~ msgid "syntax error: unexpected character \"%s\"" -#~ msgstr "erreur de syntaxe : caractère « %s » inattendu" - -#~ msgid "syntax error; also virtual memory exhausted" -#~ msgstr "erreur de syntaxe ; de plus, mémoire virtuelle saturée" - -#~ msgid "system usage: %s\n" -#~ msgstr "utilisation du système : %s\n" - -#, c-format -#~ msgid "table \"%s\" cannot be replicated" -#~ msgstr "la table « %s » ne peut pas être répliquée" - -#~ msgid "table \"%s\" does not have OIDs" -#~ msgstr "la table « %s » n'a pas d'OID" - -#~ msgid "table \"%s\" has multiple constraints named \"%s\"" -#~ msgstr "la table « %s » a de nombreuses contraintes nommées « %s »" - -#~ msgid "table \"%s\" without OIDs cannot inherit from table \"%s\" with OIDs" -#~ msgstr "la table « %s » qui n'a pas d'OID ne peut pas hériter de la table « %s » qui en a" - -#, c-format -#~ msgid "table \"%s\": found %lld removable, %lld nonremovable row versions in %u out of %u pages" -#~ msgstr "table « %s » : trouvé %lld versions de ligne supprimables, %lld non supprimables, dans %u blocs sur %u" - -#, c-format -#~ msgid "table \"%s\": index scan bypassed: %u pages from table (%.2f%% of total) have %lld dead item identifiers" -#~ msgstr "table \"%s\" : parcours d'index ignoré : %u pages de la table (%.2f%% au total) ont %lld identifiants de ligne morte" - -#~ msgid "table \"%s.%s\" added to subscription \"%s\"" -#~ msgstr "table « %s.%s » ajoutée à la souscription « %s »" - -#~ msgid "table \"%s.%s\" removed from subscription \"%s\"" -#~ msgstr "table « %s.%s » supprimée de la souscription « %s »" - -#, c-format -#~ msgid "tables were not subscribed, you will have to run %s to subscribe the tables" -#~ msgstr "les tables n'étaient pas souscrites, vous devrez exécuter %s pour souscrire aux tables" - -#~ msgid "tablespace %u is not empty" -#~ msgstr "le tablespace %u n'est pas vide" - -#~ msgid "tablespace name cannot be qualified" -#~ msgstr "le nom du tablespace ne peut pas être qualifié" - -#, c-format -#~ msgid "tablespaces are not supported on this platform" -#~ msgstr "les tablespaces ne sont pas supportés sur cette plateforme" - -#~ msgid "terminating all walsender processes to force cascaded standby(s) to update timeline and reconnect" -#~ msgstr "" -#~ "arrêt de tous les processus walsender pour forcer les serveurs standby en\n" -#~ "cascade à mettre à jour la timeline et à se reconnecter" - -#~ msgid "terminating walsender process to force cascaded standby to update timeline and reconnect" -#~ msgstr "" -#~ "arrêt du processus walreceiver pour forcer le serveur standby en cascade à\n" -#~ "mettre à jour la timeline et à se reconnecter" - -#, c-format -#~ msgid "test message did not get through on socket for statistics collector" -#~ msgstr "" -#~ "le message de test n'a pas pu arriver sur la socket du récupérateur de\n" -#~ "statistiques : %m" - -#, c-format -#~ msgid "text search configuration with OID %u does not exist" -#~ msgstr "la configuration de recherche plein texte d'OID %u n'existe pas" - -#, c-format -#~ msgid "text search dictionary with OID %u does not exist" -#~ msgstr "le dictionnaire de recherche plein texte d'OID %u n'existe pas" - -#~ msgid "there are multiple rules named \"%s\"" -#~ msgstr "il existe de nombreuses règles nommées « %s »" - -#~ msgid "there are objects dependent on %s" -#~ msgstr "des objets dépendent de %s" - -#~ msgid "there is no contrecord flag at %X/%X reading %X/%X" -#~ msgstr "il n'existe pas de drapeau contrecord à %X/%X en lisant %X/%X" - -#~ msgid "there is no contrecord flag in log file %u, segment %u, offset %u" -#~ msgstr "" -#~ "il n'y a pas de drapeaux « contrecord » dans le journal de transactions %u,\n" -#~ "segment %u, décalage %u" - -#~ msgid "time to inline: %.3fs, opt: %.3fs, emit: %.3fs" -#~ msgstr "temps pour inliner: %.3fs, opt: %.3fs, emit: %.3fs" - -#~ msgid "time zone abbreviation \"%s\" is not used in time zone \"%s\"" -#~ msgstr "l'abréviation « %s » du fuseau horaire n'est pas utilisée dans le fuseau horaire « %s »" - -#~ msgid "time zone offset %d is not a multiple of 900 sec (15 min) in time zone file \"%s\", line %d" -#~ msgstr "" -#~ "le décalage %d du fuseau horaire n'est pas un multiples de 900 secondes\n" -#~ "(15 minutes) dans le fichier des fuseaux horaires « %s », ligne %d" - -#, c-format -#~ msgid "timestamp units \"%s\" not recognized" -#~ msgstr "les unité « %s » ne sont pas reconnues pour le type timestamp" - -#, c-format -#~ msgid "timestamp units \"%s\" not supported" -#~ msgstr "les unités timestamp « %s » ne sont pas supportées" - -#, c-format -#~ msgid "timestamp with time zone units \"%s\" not recognized" -#~ msgstr "les unités « %s » ne sont pas reconnues pour le type « timestamp with time zone »" - -#, c-format -#~ msgid "timestamp with time zone units \"%s\" not supported" -#~ msgstr "les unités « %s » ne sont pas supportées pour le type « timestamp with time zone »" - -#~ msgid "too few arguments for format" -#~ msgstr "trop peu d'arguments pour le format" - -#~ msgid "transaction ID " -#~ msgstr "ID de transaction " - -#~ msgid "transaction ID wrap limit is %u, limited by database with OID %u" -#~ msgstr "" -#~ "la limite de réinitialisation de l'identifiant de transaction est %u,\n" -#~ "limité par la base de données d'OID %u" - -#~ msgid "transaction is read-only" -#~ msgstr "la transaction est en lecture seule" - -#~ msgid "transaction log switch forced (archive_timeout=%d)" -#~ msgstr "changement forcé du journal de transaction (archive_timeout=%d)" - -#~ msgid "transform expression must not return a set" -#~ msgstr "l'expression de transformation ne doit pas renvoyer un ensemble" - -#~ msgid "transform function must not be an aggregate function" -#~ msgstr "la fonction de transformation ne doit pas être une fonction d'agrégat" - -#~ msgid "trigger \"%s\" for table \"%s\" does not exist, skipping" -#~ msgstr "le trigger « %s » pour la table « %s » n'existe pas, poursuite du traitement" - -#, c-format -#~ msgid "trying another address for the statistics collector" -#~ msgstr "nouvelle tentative avec une autre adresse pour le récupérateur de statistiques" - -#~ msgid "tuple to be updated was already moved to another partition due to concurrent update" -#~ msgstr "la ligne à mettre à jour était déjà déplacée vers une autre partition du fait d'une mise à jour concurrente, nouvelle tentative" - -#~ msgid "two-phase state file for transaction %u is corrupt" -#~ msgstr "" -#~ "le fichier d'état de la validation en deux phases est corrompu pour la\n" -#~ "transaction %u" - -#~ msgid "type %u does not match constructor type" -#~ msgstr "le type %u ne correspond pas un type constructeur" - -#~ msgid "type output function %s must return type \"cstring\"" -#~ msgstr "le type de sortie de la fonction %s doit être « cstring »" - -#~ msgid "type send function %s must return type \"bytea\"" -#~ msgstr "la fonction send du type %s doit renvoyer le type « bytea »" - -#~ msgid "typmod_in function %s must return type \"integer\"" -#~ msgstr "la fonction typmod_in %s doit renvoyer le type « entier »" - -#~ msgid "ucnv_fromUChars failed: %s" -#~ msgstr "échec de ucnv_fromUChars : %s" - -#~ msgid "ucnv_toUChars failed: %s" -#~ msgstr "échec de ucnv_toUChars : %s" - -#~ msgid "unable to open directory pg_tblspc: %m" -#~ msgstr "impossible d'ouvrir le répertoire p_tblspc : %m" - -#~ msgid "unable to read symbolic link %s: %m" -#~ msgstr "incapable de lire le lien symbolique %s : %m" - -#~ msgid "uncataloged table %s" -#~ msgstr "table %s sans catalogue" - -#~ msgid "unexpected \"=\"" -#~ msgstr "« = » inattendu" - -#~ msgid "unexpected EOF on client connection" -#~ msgstr "fin de fichier (EOF) inattendue de la connexion du client" - -#~ msgid "unexpected Kerberos user name received from client (received \"%s\", expected \"%s\")" -#~ msgstr "" -#~ "nom d'utilisateur Kerberos inattendu reçu à partir du client (reçu « %s »,\n" -#~ "attendu « %s »)" - -#~ msgid "unexpected delimiter at line %d of thesaurus file \"%s\"" -#~ msgstr "délimiteur inattendu sur la ligne %d du thesaurus « %s »" - -#~ msgid "unexpected end of line at line %d of thesaurus file \"%s\"" -#~ msgstr "fin de ligne inattendue à la ligne %d du thésaurus « %s »" - -#~ msgid "unexpected end of line or lexeme at line %d of thesaurus file \"%s\"" -#~ msgstr "fin de ligne ou de lexeme inattendu sur la ligne %d du thesaurus « %s »" - -#, c-format -#~ msgid "unexpected pageaddr %X/%X in log segment %s, offset %u" -#~ msgstr "pageaddr %X/%X inattendue dans le journal de transactions %s, segment %u" - -#~ msgid "unexpected standby message type \"%c\", after receiving CopyDone" -#~ msgstr "type de message standby « %c » inattendu, après avoir reçu CopyDone" - -#~ msgid "unlogged GiST indexes are not supported" -#~ msgstr "les index GiST non tracés ne sont pas supportés" - -#~ msgid "unlogged operation performed, data may be missing" -#~ msgstr "opération réalisée non tracée, les données pourraient manquer" - -#, c-format -#~ msgid "unlogged sequences are not supported" -#~ msgstr "les séquences non tracées ne sont pas supportées" - -#~ msgid "unrecognized \"datestyle\" key word: \"%s\"" -#~ msgstr "mot clé « datestyle » non reconnu : « %s »" - -#~ msgid "unrecognized \"log_destination\" key word: \"%s\"" -#~ msgstr "mot clé « log_destination » non reconnu : « %s »" - -#~ msgid "unrecognized error %d" -#~ msgstr "erreur %d non reconnue" - -#~ msgid "unrecognized function attribute \"%s\" ignored" -#~ msgstr "l'attribut « %s » non reconnu de la fonction a été ignoré" - -#~ msgid "unrecognized recovery parameter \"%s\"" -#~ msgstr "paramètre de restauration « %s » non reconnu" - -#~ msgid "unrecognized win32 error code: %lu" -#~ msgstr "code d'erreur win32 non reconnu : %lu" - -#~ msgid "unregistering background worker \"%s\"" -#~ msgstr "désenregistrement du processus en tâche de fond « %s »" - -#~ msgid "unsafe permissions on private key file \"%s\"" -#~ msgstr "droits non sûrs sur le fichier de la clé privée « %s »" - -#~ msgid "unsupported LZ4 compression method" -#~ msgstr "méthode compression LZ4 non supportée" - -#~ msgid "unsupported language \"%s\"" -#~ msgstr "langage non supporté « %s »" - -#~ msgid "updated min recovery point to %X/%X on timeline %u" -#~ msgstr "mise à jour du point minimum de restauration sur %X/%X pour la timeline %u" - -#~ msgid "updated partition constraint for default partition \"%s\" is implied by existing constraints" -#~ msgstr "la contrainte de partitionnement pour la partition par défaut « %s » est implicite du fait de contraintes existantes" - -#~ msgid "updated partition constraint for default partition would be violated by some row" -#~ msgstr "la contrainte de partition mise à jour pour la partition par défaut serait transgressée par des lignes" - -#~ msgid "usermap \"%s\"" -#~ msgstr "correspondance utilisateur « %s »" - -#~ msgid "using pg_pltemplate information instead of CREATE LANGUAGE parameters" -#~ msgstr "" -#~ "utilisation des informations de pg_pltemplate au lieu des paramètres de\n" -#~ "CREATE LANGUAGE" - -#~ msgid "using previous checkpoint record at %X/%X" -#~ msgstr "utilisation du précédent enregistrement d'un point de vérification à %X/%X" - -#, c-format -#~ msgid "using stale statistics instead of current ones because stats collector is not responding" -#~ msgstr "" -#~ "utilise de vieilles statistiques à la place des actuelles car le collecteur de\n" -#~ "statistiques ne répond pas" - -#, c-format -#~ msgid "utility statements cannot be prepared" -#~ msgstr "les instructions utilitaires ne peuvent pas être préparées" - -#~ msgid "validating foreign key constraint \"%s\"" -#~ msgstr "validation de la contraintes de clé étrangère « %s »" - -#, c-format -#~ msgid "value \"%s\" is out of range for 8-bit integer" -#~ msgstr "la valeur « %s » est en dehors des limites des entiers sur 8 bits" - -#~ msgid "value \"%s\" is out of range for type bigint" -#~ msgstr "la valeur « %s » est en dehors des limites du type bigint" - -#~ msgid "value \"%s\" is out of range for type integer" -#~ msgstr "la valeur « %s » est en dehors des limites du type integer" - -#~ msgid "value \"%s\" is out of range for type smallint" -#~ msgstr "la valeur « %s » est en dehors des limites du type smallint" - -#~ msgid "verifying table \"%s\"" -#~ msgstr "vérification de la table « %s »" - -#~ msgid "view must have at least one column" -#~ msgstr "la vue doit avoir au moins une colonne" - -#~ msgid "window functions cannot use named arguments" -#~ msgstr "les fonctions window ne peuvent pas renvoyer des arguments nommés" - -#~ msgid "window functions not allowed in GROUP BY clause" -#~ msgstr "fonctions window non autorisées dans une clause GROUP BY" - -#~ msgid "worker process" -#~ msgstr "processus de travail" - -#~ msgid "wrong affix file format for flag" -#~ msgstr "mauvais format de fichier affixe pour le drapeau" - -#~ msgid "wrong data type: %u, expected %u" -#~ msgstr "mauvais type de données : %u, alors que %u attendu" - -#~ msgid "wrong element type" -#~ msgstr "mauvais type d'élément" - -#, fuzzy -#~ msgid "wrong number of array_subscripts" -#~ msgstr "mauvais nombre d'indices du tableau" - -#~ msgid "xrecoff \"%X\" is out of valid range, 0..%X" -#~ msgstr "xrecoff « %X » en dehors des limites valides, 0..%X" diff --git a/src/backend/po/ja.po b/src/backend/po/ja.po index 1e638d075be..9f3d7530807 100644 --- a/src/backend/po/ja.po +++ b/src/backend/po/ja.po @@ -11,8 +11,8 @@ msgid "" msgstr "" "Project-Id-Version: postgres (PostgreSQL 17)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-06-11 15:46+0900\n" -"PO-Revision-Date: 2024-06-11 16:55+0900\n" +"POT-Creation-Date: 2024-11-11 10:15+0900\n" +"PO-Revision-Date: 2024-11-11 14:10+0900\n" "Last-Translator: Kyotaro Horiguchi \n" "Language-Team: jpug-doc \n" "Language: ja\n" @@ -82,25 +82,25 @@ msgstr "圧縮アルゴリズム\"%s\"は長距離モードをサポートしま msgid "not recorded" msgstr "記録されていません" -#: ../common/controldata_utils.c:93 ../common/controldata_utils.c:97 commands/copyfrom.c:1737 commands/extension.c:3538 utils/adt/genfile.c:123 utils/time/snapmgr.c:1430 +#: ../common/controldata_utils.c:93 ../common/controldata_utils.c:97 commands/copyfrom.c:1754 commands/extension.c:3650 utils/adt/genfile.c:123 utils/time/snapmgr.c:1430 #, c-format msgid "could not open file \"%s\" for reading: %m" msgstr "ファイル\"%s\"を読み込み用にオープンできませんでした: %m" -#: ../common/controldata_utils.c:108 ../common/controldata_utils.c:110 access/transam/timeline.c:143 access/transam/timeline.c:362 access/transam/twophase.c:1369 access/transam/xlog.c:3471 access/transam/xlog.c:4335 access/transam/xlogrecovery.c:1238 access/transam/xlogrecovery.c:1336 access/transam/xlogrecovery.c:1373 access/transam/xlogrecovery.c:1440 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:5084 replication/logical/snapbuild.c:2035 replication/slot.c:2236 replication/slot.c:2277 replication/walsender.c:655 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 +#: ../common/controldata_utils.c:108 ../common/controldata_utils.c:110 access/transam/timeline.c:143 access/transam/timeline.c:362 access/transam/twophase.c:1369 access/transam/xlog.c:3482 access/transam/xlog.c:4346 access/transam/xlogrecovery.c:1238 access/transam/xlogrecovery.c:1336 access/transam/xlogrecovery.c:1373 access/transam/xlogrecovery.c:1440 backup/basebackup.c:2127 backup/walsummary.c:283 commands/extension.c:3660 libpq/hba.c:767 +#: replication/logical/origin.c:749 replication/logical/origin.c:785 replication/logical/reorderbuffer.c:5114 replication/logical/snapbuild.c:1903 replication/slot.c:2264 replication/slot.c:2305 replication/walsender.c:623 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 msgid "could not read file \"%s\": %m" msgstr "ファイル\"%s\"の読み込みに失敗しました: %m" -#: ../common/controldata_utils.c:116 ../common/controldata_utils.c:119 access/transam/xlog.c:3476 access/transam/xlog.c:4340 replication/logical/origin.c:750 replication/logical/origin.c:789 replication/logical/snapbuild.c:2040 replication/slot.c:2240 replication/slot.c:2281 replication/walsender.c:660 utils/cache/relmapper.c:833 +#: ../common/controldata_utils.c:116 ../common/controldata_utils.c:119 access/transam/xlog.c:3487 access/transam/xlog.c:4351 replication/logical/origin.c:754 replication/logical/origin.c:793 replication/logical/snapbuild.c:1908 replication/slot.c:2268 replication/slot.c:2309 replication/walsender.c:628 utils/cache/relmapper.c:833 #, c-format msgid "could not read file \"%s\": read %d of %zu" msgstr "ファイル\"%1$s\"を読み込めませんでした: %3$zuバイトのうち%2$dバイトを読み込みました" -#: ../common/controldata_utils.c:128 ../common/controldata_utils.c:132 ../common/controldata_utils.c:277 ../common/controldata_utils.c:280 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:1381 access/transam/twophase.c:1793 access/transam/xlog.c:3317 access/transam/xlog.c:3511 access/transam/xlog.c:3516 access/transam/xlog.c:3652 -#: access/transam/xlog.c:4305 access/transam/xlog.c:5239 commands/copyfrom.c:1797 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:5136 replication/logical/snapbuild.c:1802 replication/logical/snapbuild.c:1926 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 utils/cache/relmapper.c:956 +#: ../common/controldata_utils.c:128 ../common/controldata_utils.c:132 ../common/controldata_utils.c:277 ../common/controldata_utils.c:280 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:1381 access/transam/twophase.c:1800 access/transam/xlog.c:3328 access/transam/xlog.c:3522 access/transam/xlog.c:3527 access/transam/xlog.c:3663 +#: access/transam/xlog.c:4316 access/transam/xlog.c:5273 commands/copyfrom.c:1814 commands/copyto.c:325 libpq/be-fsstubs.c:470 libpq/be-fsstubs.c:540 replication/logical/origin.c:687 replication/logical/origin.c:826 replication/logical/reorderbuffer.c:5166 replication/logical/snapbuild.c:1648 replication/logical/snapbuild.c:1769 replication/slot.c:2154 replication/slot.c:2316 replication/walsender.c:638 storage/file/copydir.c:208 storage/file/copydir.c:213 +#: storage/file/fd.c:827 storage/file/fd.c:3776 storage/file/fd.c:3882 utils/cache/relmapper.c:841 utils/cache/relmapper.c:956 #, c-format msgid "could not close file \"%s\": %m" msgstr "ファイル\"%s\"をクローズできませんでした: %m" @@ -122,41 +122,41 @@ msgstr "" "されるものと一致しないようです。この場合以下の結果は不正確になります。また、\n" "PostgreSQLインストレーションはこのデータディレクトリと互換性がなくなります。" -#: ../common/controldata_utils.c:225 ../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 access/heap/rewriteheap.c:1229 access/transam/timeline.c:111 access/transam/timeline.c:251 access/transam/timeline.c:348 access/transam/twophase.c:1325 access/transam/xlog.c:3224 access/transam/xlog.c:3387 access/transam/xlog.c:3426 access/transam/xlog.c:3619 access/transam/xlog.c:4325 -#: access/transam/xlogrecovery.c:4263 access/transam/xlogrecovery.c:4366 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:3737 replication/logical/reorderbuffer.c:4291 replication/logical/reorderbuffer.c:5064 replication/logical/snapbuild.c:1757 replication/logical/snapbuild.c:1867 -#: 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 utils/cache/relmapper.c:935 utils/error/elog.c:2091 utils/init/miscinit.c:1526 utils/init/miscinit.c:1660 utils/init/miscinit.c:1737 utils/misc/guc.c:4727 utils/misc/guc.c:4777 +#: ../common/controldata_utils.c:225 ../common/controldata_utils.c:230 ../common/file_utils.c:71 ../common/file_utils.c:348 ../common/file_utils.c:407 ../common/file_utils.c:481 access/heap/rewriteheap.c:1229 access/transam/timeline.c:111 access/transam/timeline.c:251 access/transam/timeline.c:348 access/transam/twophase.c:1325 access/transam/xlog.c:3235 access/transam/xlog.c:3398 access/transam/xlog.c:3437 access/transam/xlog.c:3630 access/transam/xlog.c:4336 +#: access/transam/xlogrecovery.c:4264 access/transam/xlogrecovery.c:4365 access/transam/xlogutils.c:836 backup/basebackup.c:549 backup/basebackup.c:1600 backup/walsummary.c:220 libpq/hba.c:624 postmaster/syslogger.c:1509 replication/logical/origin.c:739 replication/logical/reorderbuffer.c:3766 replication/logical/reorderbuffer.c:4320 replication/logical/reorderbuffer.c:5094 replication/logical/snapbuild.c:1603 replication/logical/snapbuild.c:1710 +#: replication/slot.c:2236 replication/walsender.c:596 replication/walsender.c:3023 storage/file/copydir.c:151 storage/file/fd.c:802 storage/file/fd.c:3533 storage/file/fd.c:3763 storage/file/fd.c:3853 storage/smgr/md.c:661 utils/cache/relmapper.c:818 utils/cache/relmapper.c:935 utils/error/elog.c:2127 utils/init/miscinit.c:1526 utils/init/miscinit.c:1660 utils/init/miscinit.c:1737 utils/misc/guc.c:4733 utils/misc/guc.c:4783 #, 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:1766 access/transam/twophase.c:1775 access/transam/xlog.c:9210 access/transam/xlogfuncs.c:698 backup/basebackup_server.c:173 backup/basebackup_server.c:266 backup/walsummary.c:304 postmaster/postmaster.c:4125 postmaster/syslogger.c:1522 postmaster/syslogger.c:1535 postmaster/syslogger.c:1548 utils/cache/relmapper.c:947 +#: ../common/controldata_utils.c:246 ../common/controldata_utils.c:249 access/transam/twophase.c:1773 access/transam/twophase.c:1782 access/transam/xlog.c:9290 access/transam/xlogfuncs.c:699 backup/basebackup_server.c:173 backup/basebackup_server.c:266 backup/walsummary.c:304 postmaster/postmaster.c:3854 postmaster/syslogger.c:1520 postmaster/syslogger.c:1533 postmaster/syslogger.c:1546 utils/cache/relmapper.c:947 #, c-format msgid "could not write file \"%s\": %m" msgstr "ファイル\"%s\"を書き出せませんでした: %m" -#: ../common/controldata_utils.c:263 ../common/controldata_utils.c:268 ../common/file_utils.c:418 ../common/file_utils.c:488 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:1787 access/transam/xlog.c:3310 access/transam/xlog.c:3505 access/transam/xlog.c:4298 access/transam/xlog.c:8585 access/transam/xlog.c:8630 -#: backup/basebackup_server.c:207 commands/dbcommands.c:514 replication/logical/snapbuild.c:1795 replication/slot.c:2112 replication/slot.c:2218 storage/file/fd.c:820 storage/file/fd.c:3851 storage/smgr/md.c:1329 storage/smgr/md.c:1374 storage/sync/sync.c:446 utils/misc/guc.c:4480 +#: ../common/controldata_utils.c:263 ../common/controldata_utils.c:268 ../common/file_utils.c:419 ../common/file_utils.c:489 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:1794 access/transam/xlog.c:3321 access/transam/xlog.c:3516 access/transam/xlog.c:4309 access/transam/xlog.c:8665 access/transam/xlog.c:8710 +#: backup/basebackup_server.c:207 commands/dbcommands.c:514 replication/logical/snapbuild.c:1641 replication/slot.c:2140 replication/slot.c:2246 storage/file/fd.c:819 storage/file/fd.c:3874 storage/smgr/md.c:1350 storage/smgr/md.c:1395 storage/sync/sync.c:446 utils/misc/guc.c:4486 #, c-format msgid "could not fsync file \"%s\": %m" msgstr "ファイル\"%s\"をfsyncできませんでした: %m" -#: ../common/cryptohash.c:261 ../common/cryptohash_openssl.c:158 ../common/cryptohash_openssl.c:356 ../common/exec.c:562 ../common/exec.c:607 ../common/exec.c:699 ../common/hmac.c:309 ../common/hmac.c:325 ../common/hmac_openssl.c:160 ../common/hmac_openssl.c:357 ../common/md5_common.c:156 ../common/parse_manifest.c:157 ../common/parse_manifest.c:853 ../common/psprintf.c:143 ../common/scram-common.c:269 ../common/stringinfo.c:314 ../port/path.c:751 ../port/path.c:788 -#: ../port/path.c:805 access/transam/twophase.c:1434 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:3559 postmaster/postmaster.c:4019 postmaster/postmaster.c:4381 postmaster/walsummarizer.c:820 replication/libpqwalreceiver/libpqwalreceiver.c:387 replication/logical/logical.c:209 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:1453 storage/ipc/procarray.c:2207 storage/ipc/procarray.c:2214 storage/ipc/procarray.c:2719 storage/ipc/procarray.c:3423 utils/adt/formatting.c:1725 utils/adt/formatting.c:1873 utils/adt/formatting.c:2075 utils/adt/pg_locale.c:509 utils/adt/pg_locale.c:673 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:4458 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 +#: ../common/cryptohash.c:261 ../common/cryptohash_openssl.c:158 ../common/cryptohash_openssl.c:356 ../common/exec.c:543 ../common/exec.c:588 ../common/exec.c:680 ../common/hmac.c:309 ../common/hmac.c:325 ../common/hmac_openssl.c:151 ../common/hmac_openssl.c:339 ../common/jsonapi.c:2317 ../common/md5_common.c:156 ../common/parse_manifest.c:157 ../common/parse_manifest.c:853 ../common/psprintf.c:140 ../common/scram-common.c:269 ../port/path.c:752 ../port/path.c:789 +#: ../port/path.c:806 access/transam/twophase.c:1434 access/transam/xlogrecovery.c:564 lib/dshash.c:253 libpq/auth.c:1352 libpq/auth.c:1396 libpq/auth.c:1958 libpq/be-secure-gssapi.c:527 postmaster/bgworker.c:355 postmaster/bgworker.c:1022 postmaster/postmaster.c:3397 postmaster/postmaster.c:3806 postmaster/postmaster.c:4009 postmaster/walsummarizer.c:935 replication/libpqwalreceiver/libpqwalreceiver.c:388 replication/logical/logical.c:210 replication/walsender.c:805 +#: storage/buffer/localbuf.c:606 storage/file/fd.c:911 storage/file/fd.c:1442 storage/file/fd.c:1603 storage/file/fd.c:2553 storage/ipc/procarray.c:1465 storage/ipc/procarray.c:2219 storage/ipc/procarray.c:2226 storage/ipc/procarray.c:2731 storage/ipc/procarray.c:3440 utils/adt/formatting.c:1724 utils/adt/formatting.c:1861 utils/adt/formatting.c:2052 utils/adt/pg_locale.c:520 utils/adt/pg_locale.c:684 utils/adt/pg_locale_icu.c:202 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:647 utils/misc/guc.c:672 utils/misc/guc.c:1060 utils/misc/guc.c:4464 utils/misc/tzparser.c:479 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:1155 utils/mmgr/slab.c:370 #, c-format msgid "out of memory" msgstr "メモリ不足です" -#: ../common/cryptohash.c:266 ../common/cryptohash.c:272 ../common/cryptohash_openssl.c:368 ../common/cryptohash_openssl.c:376 ../common/hmac.c:321 ../common/hmac.c:329 ../common/hmac_openssl.c:369 ../common/hmac_openssl.c:377 +#: ../common/cryptohash.c:266 ../common/cryptohash.c:272 ../common/cryptohash_openssl.c:368 ../common/cryptohash_openssl.c:376 ../common/hmac.c:321 ../common/hmac.c:329 ../common/hmac_openssl.c:351 ../common/hmac_openssl.c:359 msgid "success" msgstr "成功" -#: ../common/cryptohash.c:268 ../common/cryptohash_openssl.c:370 ../common/hmac_openssl.c:371 +#: ../common/cryptohash.c:268 ../common/cryptohash_openssl.c:370 ../common/hmac_openssl.c:353 msgid "destination buffer too small" msgstr "出力先バッファが小さすぎます" -#: ../common/cryptohash_openssl.c:372 ../common/hmac_openssl.c:373 +#: ../common/cryptohash_openssl.c:372 ../common/hmac_openssl.c:355 msgid "OpenSSL failure" msgstr "OpenSSLのエラー" @@ -180,27 +180,27 @@ msgstr "実行すべき\"%s\"がありませんでした" msgid "could not resolve path \"%s\" to absolute form: %m" msgstr "パス\"%s\"を絶対パス形式に変換できませんでした: %m" -#: ../common/exec.c:382 commands/collationcmds.c:876 commands/copyfrom.c:1721 commands/copyto.c:649 libpq/be-secure-common.c:59 +#: ../common/exec.c:363 commands/collationcmds.c:872 commands/copyfrom.c:1738 commands/copyto.c:654 libpq/be-secure-common.c:59 #, c-format msgid "could not execute command \"%s\": %m" msgstr "コマンド\"%s\"を実行できませんでした: %m" -#: ../common/exec.c:394 libpq/be-secure-common.c:71 +#: ../common/exec.c:375 libpq/be-secure-common.c:71 #, c-format msgid "could not read from command \"%s\": %m" msgstr "コマンド\"%s\"から読み取れませんでした: %m" -#: ../common/exec.c:397 +#: ../common/exec.c:378 #, c-format msgid "no data was returned by command \"%s\"" msgstr "コマンド\"%s\"からデータが返却されませんでした" -#: ../common/exec.c:424 libpq/pqcomm.c:192 storage/ipc/latch.c:1169 storage/ipc/latch.c:1349 storage/ipc/latch.c:1582 storage/ipc/latch.c:1744 storage/ipc/latch.c:1870 +#: ../common/exec.c:405 libpq/pqcomm.c:193 storage/ipc/latch.c:1169 storage/ipc/latch.c:1349 storage/ipc/latch.c:1582 storage/ipc/latch.c:1744 storage/ipc/latch.c:1870 #, c-format msgid "%s() failed: %m" msgstr "%s() が失敗しました: %m" -#: ../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:753 ../port/path.c:790 ../port/path.c:807 utils/misc/ps_status.c:193 utils/misc/ps_status.c:201 utils/misc/ps_status.c:228 utils/misc/ps_status.c:236 +#: ../common/fe_memutils.c:35 ../common/fe_memutils.c:75 ../common/fe_memutils.c:98 ../common/fe_memutils.c:161 ../common/psprintf.c:142 ../port/path.c:754 ../port/path.c:791 ../port/path.c:808 utils/misc/ps_status.c:193 utils/misc/ps_status.c:201 utils/misc/ps_status.c:228 utils/misc/ps_status.c:236 #, c-format msgid "out of memory\n" msgstr "メモリ不足です\n" @@ -210,33 +210,33 @@ msgstr "メモリ不足です\n" msgid "cannot duplicate null pointer (internal error)\n" msgstr "nullポインタは複製できません(内部エラー)\n" -#: ../common/file_utils.c:76 storage/file/fd.c:3516 +#: ../common/file_utils.c:77 storage/file/fd.c:3539 #, 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 ../common/file_utils.c:570 access/transam/twophase.c:1337 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:1747 commands/copyto.c:695 commands/extension.c:3527 commands/tablespace.c:804 commands/tablespace.c:893 postmaster/pgarch.c:680 -#: replication/logical/snapbuild.c:1653 replication/logical/snapbuild.c:2156 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 +#: ../common/file_utils.c:121 ../common/file_utils.c:567 ../common/file_utils.c:571 access/transam/twophase.c:1337 access/transam/xlogarchive.c:111 access/transam/xlogarchive.c:235 backup/basebackup.c:357 backup/basebackup.c:555 backup/basebackup.c:626 backup/walsummary.c:247 backup/walsummary.c:254 commands/copyfrom.c:1764 commands/copyto.c:700 commands/extension.c:3639 commands/tablespace.c:804 commands/tablespace.c:893 postmaster/pgarch.c:680 +#: replication/logical/snapbuild.c:1498 replication/logical/snapbuild.c:2025 storage/file/fd.c:1967 storage/file/fd.c:2053 storage/file/fd.c:3587 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 msgid "could not stat file \"%s\": %m" msgstr "ファイル\"%s\"のstatに失敗しました: %m" -#: ../common/file_utils.c:130 ../common/file_utils.c:227 +#: ../common/file_utils.c:131 ../common/file_utils.c:228 #, c-format msgid "this build does not support sync method \"%s\"" msgstr "このビルドでは同期方式\"%s\"をサポートしていません" -#: ../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:1468 storage/file/fd.c:2933 storage/file/reinit.c:126 utils/adt/misc.c:256 utils/misc/tzparser.c:339 +#: ../common/file_utils.c:152 ../common/file_utils.c:282 ../common/pgfnames.c:48 ../common/rmtree.c:63 commands/tablespace.c:728 commands/tablespace.c:738 postmaster/postmaster.c:1444 storage/file/fd.c:2955 storage/file/reinit.c:126 utils/adt/misc.c:256 utils/misc/tzparser.c:340 #, 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/file_utils.c:170 ../common/file_utils.c:316 ../common/pgfnames.c:69 ../common/rmtree.c:106 storage/file/fd.c:2967 #, 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:1814 replication/slot.c:936 replication/slot.c:1998 replication/slot.c:2140 storage/file/fd.c:838 utils/time/snapmgr.c:1255 +#: ../common/file_utils.c:499 access/transam/xlogarchive.c:389 postmaster/pgarch.c:834 postmaster/syslogger.c:1557 replication/logical/snapbuild.c:1660 replication/slot.c:964 replication/slot.c:2026 replication/slot.c:2168 storage/file/fd.c:837 utils/time/snapmgr.c:1255 #, c-format msgid "could not rename file \"%s\" to \"%s\": %m" msgstr "ファイル\"%s\"の名前を\"%s\"に変更できませんでした: %m" @@ -245,121 +245,125 @@ msgstr "ファイル\"%s\"の名前を\"%s\"に変更できませんでした: % msgid "internal error" msgstr "内部エラー" -#: ../common/jsonapi.c:2121 +#: ../common/jsonapi.c:2342 msgid "Recursive descent parser cannot use incremental lexer." msgstr "再帰降下パーサーは差分字句解析器を使用できません。" -#: ../common/jsonapi.c:2123 +#: ../common/jsonapi.c:2344 msgid "Incremental parser requires incremental lexer." msgstr "差分パーサーは差分字句解析器を必要とします。" -#: ../common/jsonapi.c:2125 +#: ../common/jsonapi.c:2346 msgid "JSON nested too deep, maximum permitted depth is 6400." msgstr "JSONのネストが深すぎます、可能な最大の深さは6400です。" -#: ../common/jsonapi.c:2127 +#: ../common/jsonapi.c:2348 #, c-format msgid "Escape sequence \"\\%.*s\" is invalid." msgstr "エスケープシーケンス\"\\%.*s\"は不正です。" -#: ../common/jsonapi.c:2131 +#: ../common/jsonapi.c:2352 #, c-format msgid "Character with value 0x%02x must be escaped." msgstr "0x%02x値を持つ文字はエスケープしなければなりません" -#: ../common/jsonapi.c:2135 +#: ../common/jsonapi.c:2356 #, c-format msgid "Expected end of input, but found \"%.*s\"." msgstr "入力の終端を想定していましたが、\"%.*s\"でした。" -#: ../common/jsonapi.c:2138 +#: ../common/jsonapi.c:2359 #, c-format msgid "Expected array element or \"]\", but found \"%.*s\"." msgstr "配列要素または\"]\"を想定していましたが、\"%.*s\"でした。" -#: ../common/jsonapi.c:2141 +#: ../common/jsonapi.c:2362 #, c-format msgid "Expected \",\" or \"]\", but found \"%.*s\"." msgstr "\",\"または\"]\"を想定していましたが、\"%.*s\"でした。" -#: ../common/jsonapi.c:2144 +#: ../common/jsonapi.c:2365 #, c-format msgid "Expected \":\", but found \"%.*s\"." msgstr "\":\"を想定していましたが、\"%.*s\"でした。" -#: ../common/jsonapi.c:2147 +#: ../common/jsonapi.c:2368 #, c-format msgid "Expected JSON value, but found \"%.*s\"." msgstr "JSON値を想定していましたが、\"%.*s\"でした。" -#: ../common/jsonapi.c:2150 +#: ../common/jsonapi.c:2371 msgid "The input string ended unexpectedly." msgstr "入力文字列が予期せず終了しました。" -#: ../common/jsonapi.c:2152 +#: ../common/jsonapi.c:2373 #, c-format msgid "Expected string or \"}\", but found \"%.*s\"." msgstr "文字列または\"}\"を想定していましたが、\"%.*s\"でした。" -#: ../common/jsonapi.c:2155 +#: ../common/jsonapi.c:2376 #, c-format msgid "Expected \",\" or \"}\", but found \"%.*s\"." msgstr "\",\"または\"}\"を想定していましたが、\"%.*s\"でした。" -#: ../common/jsonapi.c:2158 +#: ../common/jsonapi.c:2379 #, c-format msgid "Expected string, but found \"%.*s\"." msgstr "文字列を想定していましたが、\"%.*s\"でした。" -#: ../common/jsonapi.c:2161 +#: ../common/jsonapi.c:2382 #, c-format msgid "Token \"%.*s\" is invalid." msgstr "トークン\"%.*s\"は不正です。" -#: ../common/jsonapi.c:2164 jsonpath_scan.l:608 +#: ../common/jsonapi.c:2388 jsonpath_scan.l:608 #, c-format msgid "\\u0000 cannot be converted to text." msgstr "\\u0000 はテキストに変換できません。" -#: ../common/jsonapi.c:2166 +#: ../common/jsonapi.c:2390 msgid "\"\\u\" must be followed by four hexadecimal digits." msgstr "\"\\u\"の後には16進数の4桁が続かなければなりません。" -#: ../common/jsonapi.c:2169 +#: ../common/jsonapi.c:2393 msgid "Unicode escape values cannot be used for code point values above 007F when the encoding is not UTF8." msgstr "エンコーディングがUTF-8ではない場合、コードポイントの値が 007F 以上についてはUnicodeエスケープの値は使用できません。" -#: ../common/jsonapi.c:2178 +#: ../common/jsonapi.c:2402 #, 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:2409 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 jsonpath_scan.l:713 +#: ../common/jsonapi.c:2411 jsonpath_scan.l:652 jsonpath_scan.l:662 jsonpath_scan.l:713 #, c-format msgid "Unicode low surrogate must follow a high surrogate." msgstr "Unicodeのローサロゲートはハイサロゲートに続かなければなりません。" -#: ../common/logging.c:276 +#: ../common/jsonapi.c:2433 +msgid "out of memory while constructing error description" +msgstr "エラー記述の構築中のメモリ不足" + +#: ../common/logging.c:279 #, c-format msgid "error: " msgstr "エラー: " -#: ../common/logging.c:283 +#: ../common/logging.c:286 #, c-format msgid "warning: " msgstr "警告: " -#: ../common/logging.c:294 +#: ../common/logging.c:297 #, c-format msgid "detail: " msgstr "詳細: " -#: ../common/logging.c:301 +#: ../common/logging.c:304 #, c-format msgid "hint: " msgstr "ヒント: " @@ -427,8 +431,8 @@ msgid "unexpected manifest version" msgstr "予期しない目録バージョン" #: ../common/parse_manifest.c:637 -msgid "manifest system identifier not an integer" -msgstr "目録のシステム識別子が整数ではありません" +msgid "system identifier in manifest not an integer" +msgstr "目録中のシステム識別子が整数ではありません" #: ../common/parse_manifest.c:662 msgid "missing path name" @@ -454,7 +458,7 @@ msgstr "ファイル名をデコードできませんでした" msgid "file size is not an integer" msgstr "ファイルサイズが整数ではありません" -#: ../common/parse_manifest.c:700 backup/basebackup.c:870 +#: ../common/parse_manifest.c:700 backup/basebackup.c:872 #, c-format msgid "unrecognized checksum algorithm: \"%s\"" msgstr "認識できないチェックサムアルゴリズム: \"%s\"" @@ -521,7 +525,7 @@ msgstr "目録チェックサムの不一致" msgid "could not parse backup manifest: %s" msgstr "バックアップ目録をパースできませんでした: %s" -#: ../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:4662 utils/misc/guc.c:6887 utils/misc/guc.c:6928 +#: ../common/percentrepl.c:79 ../common/percentrepl.c:85 ../common/percentrepl.c:118 ../common/percentrepl.c:124 tcop/backend_startup.c:766 utils/misc/guc.c:3164 utils/misc/guc.c:3205 utils/misc/guc.c:3280 utils/misc/guc.c:4668 utils/misc/guc.c:6893 utils/misc/guc.c:6934 #, c-format msgid "invalid value for parameter \"%s\": \"%s\"" msgstr "パラメータ\"%s\"の値が不正です: \"%s\"" @@ -581,13 +585,13 @@ msgstr "制限付きトークンで再実行できませんでした: %lu" msgid "could not get exit code from subprocess: error code %lu" msgstr "サブプロセスの終了コードを取得できませんでした: エラーコード %lu" -#: ../common/rmtree.c:97 access/heap/rewriteheap.c:1214 access/transam/twophase.c:1726 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:4560 replication/logical/snapbuild.c:1695 replication/logical/snapbuild.c:2129 replication/slot.c:2192 storage/file/fd.c:878 storage/file/fd.c:3378 storage/file/fd.c:3440 +#: ../common/rmtree.c:97 access/heap/rewriteheap.c:1214 access/transam/twophase.c:1733 access/transam/xlogarchive.c:119 access/transam/xlogarchive.c:399 postmaster/postmaster.c:1024 postmaster/syslogger.c:1486 replication/logical/origin.c:595 replication/logical/reorderbuffer.c:4589 replication/logical/snapbuild.c:1541 replication/logical/snapbuild.c:1997 replication/slot.c:2220 storage/file/fd.c:877 storage/file/fd.c:3401 storage/file/fd.c:3463 #: 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 msgid "could not remove file \"%s\": %m" 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 +#: ../common/rmtree.c:124 commands/tablespace.c:767 commands/tablespace.c:780 commands/tablespace.c:815 commands/tablespace.c:905 storage/file/fd.c:3393 storage/file/fd.c:3802 #, c-format msgid "could not remove directory \"%s\": %m" msgstr "ディレクトリ\"%s\"を削除できませんでした: %m" @@ -604,28 +608,33 @@ msgstr "nonceのエンコードに失敗しました" msgid "could not encode server key" msgstr "サーバーキーのエンコードに失敗しました" -#: ../common/stringinfo.c:315 +#: ../common/stringinfo.c:311 +#, c-format +msgid "string buffer exceeds maximum allowed length (%zu bytes)" +msgstr "文字列バッファの長さが上限値を超えています(%zuバイト)" + +#: ../common/stringinfo.c:312 #, c-format msgid "Cannot enlarge string buffer containing %d bytes by %d more bytes." msgstr "%dバイトを持つ文字列バッファを%dバイト多く、大きくすることができません。" -#: ../common/stringinfo.c:319 +#: ../common/stringinfo.c:316 #, c-format msgid "" -"out of memory\n" +"string buffer exceeds maximum allowed length (%zu bytes)\n" "\n" "Cannot enlarge string buffer containing %d bytes by %d more bytes.\n" msgstr "" -"メモリが足りません\n" +"文字列バッファの長さが上限値を超えています(%zuバイト)\n" "\n" -"%dバイトの文字列バッファを%dバイト拡げることができません。\n" +"%dバイトを格納する文字列バッファを%dバイト拡げることができません。\n" #: ../common/username.c:43 #, c-format 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 msgid "user does not exist" msgstr "ユーザーが存在しません" @@ -664,12 +673,12 @@ msgstr "子プロセスはシグナル%dにより終了しました: %s" msgid "child process exited with unrecognized status %d" msgstr "子プロセスは認識できないステータス%dで終了しました" -#: ../port/chklocale.c:283 +#: ../port/chklocale.c:280 #, c-format msgid "could not determine encoding for codeset \"%s\"" msgstr "コードセット\"%s\"用の符号化方式を特定できませんでした" -#: ../port/chklocale.c:404 ../port/chklocale.c:410 +#: ../port/chklocale.c:370 ../port/chklocale.c:376 #, c-format msgid "could not determine encoding for locale \"%s\": codeset is \"%s\"" msgstr "ロケール\"%s\"用の符号化方式を特定できませんでした: コードセットは\"%s\"です" @@ -717,7 +726,7 @@ msgstr "再試行を30秒間続けます。" msgid "You might have antivirus, backup, or similar software interfering with the database system." msgstr "データベースシステムに干渉するアンチウィルス、バックアップといったソフトウェアが存在する可能性があります。" -#: ../port/path.c:775 +#: ../port/path.c:776 #, c-format msgid "could not get current working directory: %m\n" msgstr "現在の作業ディレクトリを取得できませんでした: %m\n" @@ -727,16 +736,6 @@ msgstr "現在の作業ディレクトリを取得できませんでした: %m\n msgid "operating system error %d" msgstr "オペレーティングシステムエラー %d" -#: ../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 を持つローカルユーザーは存在しません" - #: ../port/win32security.c:62 #, c-format msgid "could not get SID for Administrators group: error code %lu\n" @@ -752,42 +751,42 @@ msgstr "PowerUsersグループのSIDを取得できませんでした: エラー msgid "could not check access token membership: error code %lu\n" msgstr "アクセストークンのメンバーシップを確認できませんでした: エラーコード %lu\n" -#: access/brin/brin.c:405 +#: access/brin/brin.c:409 #, c-format msgid "request for BRIN range summarization for index \"%s\" page %u was not recorded" msgstr "インデックス\"%s\" ページ%uのBRIN範囲要約のリクエストは登録されていません" -#: access/brin/brin.c:1385 access/brin/brin.c:1493 access/gin/ginfast.c:1040 access/transam/xlogfuncs.c:183 access/transam/xlogfuncs.c:208 access/transam/xlogfuncs.c:241 access/transam/xlogfuncs.c:280 access/transam/xlogfuncs.c:301 access/transam/xlogfuncs.c:322 access/transam/xlogfuncs.c:388 access/transam/xlogfuncs.c:446 +#: access/brin/brin.c:1388 access/brin/brin.c:1496 access/gin/ginfast.c:1040 access/transam/xlogfuncs.c:184 access/transam/xlogfuncs.c:209 access/transam/xlogfuncs.c:242 access/transam/xlogfuncs.c:281 access/transam/xlogfuncs.c:302 access/transam/xlogfuncs.c:323 access/transam/xlogfuncs.c:389 access/transam/xlogfuncs.c:447 #, c-format msgid "recovery is in progress" msgstr "リカバリは現在進行中です" -#: access/brin/brin.c:1386 access/brin/brin.c:1494 +#: access/brin/brin.c:1389 access/brin/brin.c:1497 #, c-format msgid "BRIN control functions cannot be executed during recovery." msgstr "BRIN制御関数はリカバリ中は実行できません。" -#: access/brin/brin.c:1391 access/brin/brin.c:1499 +#: access/brin/brin.c:1394 access/brin/brin.c:1502 #, c-format msgid "block number out of range: %lld" msgstr "ブロック番号が範囲外です: %lld" -#: access/brin/brin.c:1436 access/brin/brin.c:1525 +#: access/brin/brin.c:1439 access/brin/brin.c:1528 #, c-format msgid "\"%s\" is not a BRIN index" msgstr "\"%s\"はBRINインデックスではありません" -#: access/brin/brin.c:1452 access/brin/brin.c:1541 +#: access/brin/brin.c:1455 access/brin/brin.c:1544 #, c-format msgid "could not open parent table of index \"%s\"" msgstr "インデックス\"%s\"の親テーブルをオープンできませんでした" -#: access/brin/brin.c:1461 access/brin/brin.c:1557 access/gin/ginfast.c:1085 parser/parse_utilcmd.c:2252 +#: access/brin/brin.c:1464 access/brin/brin.c:1560 access/gin/ginfast.c:1085 parser/parse_utilcmd.c:2424 #, c-format msgid "index \"%s\" is not valid" msgstr "インデックス\"%s\"は有効ではありません" -#: access/brin/brin_bloom.c:783 access/brin/brin_bloom.c:825 access/brin/brin_minmax_multi.c:2993 access/brin/brin_minmax_multi.c:3130 statistics/dependencies.c:661 statistics/dependencies.c:714 statistics/mcv.c:1480 statistics/mcv.c:1511 statistics/mvdistinct.c:343 statistics/mvdistinct.c:396 utils/adt/pseudotypes.c:40 utils/adt/pseudotypes.c:74 utils/adt/tsgistidx.c:94 +#: access/brin/brin_bloom.c:782 access/brin/brin_bloom.c:824 access/brin/brin_minmax_multi.c:2993 access/brin/brin_minmax_multi.c:3130 statistics/dependencies.c:661 statistics/dependencies.c:714 statistics/mcv.c:1480 statistics/mcv.c:1511 statistics/mvdistinct.c:343 statistics/mvdistinct.c:396 utils/adt/pseudotypes.c:40 utils/adt/pseudotypes.c:74 utils/adt/tsgistidx.c:94 #, c-format msgid "cannot accept a value of type %s" msgstr "%s型の値は受け付けられません" @@ -807,32 +806,32 @@ msgstr "BRINインデックスが壊れています: 範囲マップの不整合 msgid "unexpected page type 0x%04X in BRIN index \"%s\" block %u" msgstr "BRINインデックス\"%2$s\"のブロック %3$u のページタイプが予期しない値 0x%1$04X です" -#: access/brin/brin_validate.c:118 access/gin/ginvalidate.c:149 access/gist/gistvalidate.c:152 access/hash/hashvalidate.c:139 access/nbtree/nbtvalidate.c:120 access/spgist/spgvalidate.c:189 +#: access/brin/brin_validate.c:118 access/gin/ginvalidate.c:149 access/gist/gistvalidate.c:156 access/hash/hashvalidate.c:120 access/nbtree/nbtvalidate.c:120 access/spgist/spgvalidate.c:189 #, c-format msgid "operator family \"%s\" of access method %s contains function %s with invalid support number %d" msgstr "アクセスメソッド\"%2$s\"の演算子族\"%1$s\"は不正なサポート番号%4$dを持つ関数%3$sを含んでいます" -#: access/brin/brin_validate.c:134 access/gin/ginvalidate.c:161 access/gist/gistvalidate.c:164 access/hash/hashvalidate.c:118 access/nbtree/nbtvalidate.c:132 access/spgist/spgvalidate.c:201 +#: access/brin/brin_validate.c:134 access/gin/ginvalidate.c:161 access/gist/gistvalidate.c:168 access/hash/hashvalidate.c:132 access/nbtree/nbtvalidate.c:132 access/spgist/spgvalidate.c:201 #, c-format msgid "operator family \"%s\" of access method %s contains function %s with wrong signature for support number %d" msgstr "アクセスメソッド\"%2$s\"の演算子族\"%1$s\"はサポート番号%4$dに対して間違ったシグネチャを持つ関数%3$sを含んでいます" -#: access/brin/brin_validate.c:156 access/gin/ginvalidate.c:180 access/gist/gistvalidate.c:184 access/hash/hashvalidate.c:160 access/nbtree/nbtvalidate.c:152 access/spgist/spgvalidate.c:221 +#: access/brin/brin_validate.c:156 access/gin/ginvalidate.c:180 access/gist/gistvalidate.c:188 access/hash/hashvalidate.c:158 access/nbtree/nbtvalidate.c:152 access/spgist/spgvalidate.c:221 #, c-format msgid "operator family \"%s\" of access method %s contains operator %s with invalid strategy number %d" msgstr "アクセスメソッド\"%2$s\"の演算子族\"%1$s\"は不正なストラテジ番号%4$dを持つ演算子\"%3$s\"を含んでいます" -#: access/brin/brin_validate.c:185 access/gin/ginvalidate.c:193 access/hash/hashvalidate.c:173 access/nbtree/nbtvalidate.c:165 access/spgist/spgvalidate.c:237 +#: access/brin/brin_validate.c:185 access/gin/ginvalidate.c:193 access/hash/hashvalidate.c:171 access/nbtree/nbtvalidate.c:165 access/spgist/spgvalidate.c:237 #, c-format msgid "operator family \"%s\" of access method %s contains invalid ORDER BY specification for operator %s" msgstr "アクセスメソッド\"%2$s\"の演算子族\"%1$s\"は演算子%3$sに対する不正なORDER BY指定を含んでいます" -#: access/brin/brin_validate.c:198 access/gin/ginvalidate.c:206 access/gist/gistvalidate.c:232 access/hash/hashvalidate.c:186 access/nbtree/nbtvalidate.c:178 access/spgist/spgvalidate.c:253 +#: access/brin/brin_validate.c:198 access/gin/ginvalidate.c:206 access/gist/gistvalidate.c:236 access/hash/hashvalidate.c:184 access/nbtree/nbtvalidate.c:178 access/spgist/spgvalidate.c:253 #, c-format msgid "operator family \"%s\" of access method %s contains operator %s with wrong signature" msgstr "アクセスメソッド\"%2$s\"の演算子族\"%1$s\"は間違ったシグネチャを持つ演算子%3$sを含んでいます" -#: access/brin/brin_validate.c:236 access/hash/hashvalidate.c:226 access/nbtree/nbtvalidate.c:236 access/spgist/spgvalidate.c:280 +#: access/brin/brin_validate.c:236 access/hash/hashvalidate.c:224 access/nbtree/nbtvalidate.c:236 access/spgist/spgvalidate.c:280 #, c-format msgid "operator family \"%s\" of access method %s is missing operator(s) for types %s and %s" msgstr "アクセスメソッド\"%2$s\"の演算子族\"%1$s\"は%3$sと%4$sの型に対する演算子が含まれていません" @@ -842,12 +841,12 @@ msgstr "アクセスメソッド\"%2$s\"の演算子族\"%1$s\"は%3$sと%4$sの msgid "operator family \"%s\" of access method %s is missing support function(s) for types %s and %s" msgstr "アクセスメソッド\"%2$s\"の演算子族\"%1$s\"は型%3$sと%4$sに対するサポート関数を含んでいません" -#: access/brin/brin_validate.c:259 access/hash/hashvalidate.c:240 access/nbtree/nbtvalidate.c:260 access/spgist/spgvalidate.c:315 +#: access/brin/brin_validate.c:259 access/hash/hashvalidate.c:238 access/nbtree/nbtvalidate.c:260 access/spgist/spgvalidate.c:315 #, c-format msgid "operator class \"%s\" of access method %s is missing operator(s)" msgstr "アクセスメソッド\"%2$s\"の演算子クラス\"%1$s\"は演算子を含んでいません" -#: access/brin/brin_validate.c:270 access/gin/ginvalidate.c:248 access/gist/gistvalidate.c:273 +#: access/brin/brin_validate.c:270 access/gin/ginvalidate.c:248 access/gist/gistvalidate.c:278 #, c-format msgid "operator class \"%s\" of access method %s is missing support function %d" msgstr "アクセスメソッド\"%2$s\"の演算子クラス\"%1$s\"はサポート関数%3$dを含んでいません" @@ -887,12 +886,12 @@ msgstr "列数(%d)が上限(%d)を超えています" msgid "number of index columns (%d) exceeds limit (%d)" msgstr "インデックス列数(%d)が上限(%d)を超えています" -#: access/common/indextuple.c:209 access/spgist/spgutils.c:959 +#: access/common/indextuple.c:209 access/spgist/spgutils.c:971 #, c-format msgid "index row requires %zu bytes, maximum size is %zu" msgstr "インデックス行が%zuバイトを必要としますが最大値は%zuです" -#: access/common/printtup.c:291 commands/explain.c:5375 tcop/fastpath.c:107 tcop/fastpath.c:454 tcop/postgres.c:1940 +#: access/common/printtup.c:292 commands/explain.c:5696 tcop/fastpath.c:106 tcop/fastpath.c:453 tcop/postgres.c:1961 #, c-format msgid "unsupported format code: %d" msgstr "非サポートの書式コード: %d" @@ -920,7 +919,7 @@ msgstr "RESETにはパラメータの値を含めてはいけません" msgid "unrecognized parameter namespace \"%s\"" msgstr "認識できないパラメータ namaspace \"%s\"" -#: access/common/reloptions.c:1300 commands/variable.c:1191 +#: access/common/reloptions.c:1300 commands/variable.c:1201 #, c-format msgid "tables declared WITH OIDS are not supported" msgstr "WITH OIDSと定義されたテーブルはサポートされません" @@ -1030,12 +1029,12 @@ msgstr "古いGINインデックスはインデックス全体のスキャンや msgid "To fix this, do REINDEX INDEX \"%s\"." msgstr "これを修復するには REINDEX INDEX \"%s\" をおこなってください。" -#: access/gin/ginutil.c:147 executor/execExpr.c:2191 utils/adt/arrayfuncs.c:4009 utils/adt/arrayfuncs.c:6705 utils/adt/rowtypes.c:974 +#: access/gin/ginutil.c:148 executor/execExpr.c:2182 utils/adt/arrayfuncs.c:4028 utils/adt/arrayfuncs.c:6724 utils/adt/rowtypes.c:974 #, c-format msgid "could not identify a comparison function for type %s" msgstr "%s型の比較関数が見つかりません" -#: access/gin/ginvalidate.c:90 access/gist/gistvalidate.c:92 access/hash/hashvalidate.c:102 access/spgist/spgvalidate.c:102 +#: access/gin/ginvalidate.c:90 access/gist/gistvalidate.c:92 access/hash/hashvalidate.c:97 access/spgist/spgvalidate.c:102 #, c-format msgid "operator family \"%s\" of access method %s contains support function %s with different left and right input types" msgstr "アクセスメソッド %2$s の演算子族\"%1$s\"が左右辺の入力型が異なるサポート関数 %3$s を含んでいます" @@ -1045,7 +1044,7 @@ msgstr "アクセスメソッド %2$s の演算子族\"%1$s\"が左右辺の入 msgid "operator class \"%s\" of access method %s is missing support function %d or %d" msgstr "アクセスメソッド\"%2$s\"の演算子クラス\"%1$s\"はサポート関数%3$dまたは%4$dを含んでいません" -#: access/gin/ginvalidate.c:331 access/gist/gistvalidate.c:349 access/spgist/spgvalidate.c:387 +#: access/gin/ginvalidate.c:331 access/gist/gistvalidate.c:355 access/spgist/spgvalidate.c:387 #, c-format msgid "support function number %d is invalid for access method %s" msgstr "サポート関数番号%dはアクセスメソッド%sに対して不正です" @@ -1060,7 +1059,7 @@ msgstr "インデックス\"%s\"内に無効と判断されている内部タプ msgid "This is caused by an incomplete page split at crash recovery before upgrading to PostgreSQL 9.1." msgstr "これは、PostgreSQL 9.1へアップグレードする前のクラッシュリカバリにおける不完全なページ分割が原因で発生します。" -#: access/gist/gist.c:763 access/gist/gistutil.c:800 access/gist/gistutil.c:811 access/gist/gistvacuum.c:429 access/hash/hashutil.c:226 access/hash/hashutil.c:237 access/hash/hashutil.c:249 access/hash/hashutil.c:270 access/nbtree/nbtpage.c:813 access/nbtree/nbtpage.c:824 +#: access/gist/gist.c:763 access/gist/gistutil.c:801 access/gist/gistutil.c:812 access/gist/gistvacuum.c:429 access/hash/hashutil.c:226 access/hash/hashutil.c:237 access/hash/hashutil.c:249 access/hash/hashutil.c:270 access/nbtree/nbtpage.c:813 access/nbtree/nbtpage.c:824 #, c-format msgid "Please REINDEX it." msgstr "REINDEXを行ってください。" @@ -1080,33 +1079,33 @@ msgstr "インデックス\"%2$s\"の列%1$dに対するピックスプリット msgid "The index is not optimal. To optimize it, contact a developer, or try to use the column as the second one in the CREATE INDEX command." msgstr "インデックスは最適ではありません。最適化するためには開発者に連絡するか、この列をCREATE INDEXコマンドの2番目の列としてみてください。" -#: access/gist/gistutil.c:797 access/hash/hashutil.c:223 access/nbtree/nbtpage.c:810 +#: access/gist/gistutil.c:798 access/hash/hashutil.c:223 access/nbtree/nbtpage.c:810 #, c-format msgid "index \"%s\" contains unexpected zero page at block %u" msgstr "インデックス\"%s\"のブロック%uに予期していないゼロで埋められたページがあります" -#: access/gist/gistutil.c:808 access/hash/hashutil.c:234 access/hash/hashutil.c:246 access/nbtree/nbtpage.c:821 +#: access/gist/gistutil.c:809 access/hash/hashutil.c:234 access/hash/hashutil.c:246 access/nbtree/nbtpage.c:821 #, c-format msgid "index \"%s\" contains corrupted page at block %u" msgstr "インデックス\"%s\"のブロック%uに破損したページがあります" -#: access/gist/gistvalidate.c:202 +#: access/gist/gistvalidate.c:206 #, c-format msgid "operator family \"%s\" of access method %s contains unsupported ORDER BY specification for operator %s" msgstr "アクセスメソッド\"%2$s\"の演算子族\"%1$s\"は演算子%3$sに対する非サポートのORDER BY指定を含んでいます" -#: access/gist/gistvalidate.c:213 +#: access/gist/gistvalidate.c:217 #, c-format msgid "operator family \"%s\" of access method %s contains incorrect ORDER BY opfamily specification for operator %s" msgstr "アクセスメソッド\"%2$s\"の演算子族\"%1$s\"は演算子%3$sに対する正しくないORDER BY演算子族を含んでいます" -#: access/hash/hashfunc.c:277 access/hash/hashfunc.c:331 utils/adt/varchar.c:1008 utils/adt/varchar.c:1063 +#: access/hash/hashfunc.c:277 access/hash/hashfunc.c:332 utils/adt/varchar.c:1000 utils/adt/varchar.c:1056 #, c-format msgid "could not determine which collation to use for string hashing" msgstr "文字列のハッシュ値計算で使用する照合順序を特定できませんでした" -#: access/hash/hashfunc.c:278 access/hash/hashfunc.c:332 catalog/heap.c:672 catalog/heap.c:678 commands/createas.c:201 commands/createas.c:510 commands/indexcmds.c:2045 commands/tablecmds.c:18071 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 utils/adt/varchar.c:1009 utils/adt/varchar.c:1064 -#: utils/adt/varlena.c:1521 +#: access/hash/hashfunc.c:278 access/hash/hashfunc.c:333 catalog/heap.c:672 catalog/heap.c:678 commands/createas.c:201 commands/createas.c:513 commands/indexcmds.c:2059 commands/tablecmds.c:18686 commands/view.c:80 regex/regc_pg_locale.c:246 utils/adt/formatting.c:1654 utils/adt/formatting.c:1791 utils/adt/formatting.c:1970 utils/adt/like.c:186 utils/adt/like_support.c:1023 utils/adt/varchar.c:738 utils/adt/varchar.c:1001 utils/adt/varchar.c:1057 +#: utils/adt/varlena.c:1520 #, c-format msgid "Use the COLLATE clause to set the collation explicitly." msgstr "照合順序を明示するには COLLATE 句を使います。" @@ -1116,7 +1115,7 @@ msgstr "照合順序を明示するには COLLATE 句を使います。" msgid "index row size %zu exceeds hash maximum %zu" msgstr "インデックス行のサイズ%zuがハッシュでの最大値%zuを超えています" -#: access/hash/hashinsert.c:86 access/spgist/spgdoinsert.c:2005 access/spgist/spgdoinsert.c:2282 access/spgist/spgutils.c:1020 +#: access/hash/hashinsert.c:86 access/spgist/spgdoinsert.c:2005 access/spgist/spgdoinsert.c:2282 access/spgist/spgutils.c:1032 #, c-format msgid "Values larger than a buffer page cannot be indexed." msgstr "バッファページよりも大きな値をインデックスすることはできません。" @@ -1146,47 +1145,52 @@ msgstr "インデックス\"%s\"はハッシュインデックスではありま msgid "index \"%s\" has wrong hash version" msgstr "インデックス\"%s\"のハッシュバージョンが不正です" -#: access/hash/hashvalidate.c:198 +#: access/hash/hashvalidate.c:196 #, c-format msgid "operator family \"%s\" of access method %s lacks support function for operator %s" msgstr "アクセスメソッド\"%2$s\"の演算子族\"%1$s\"は演算子%3$sに対するサポート関数を含んでいません" -#: access/hash/hashvalidate.c:256 access/nbtree/nbtvalidate.c:276 +#: access/hash/hashvalidate.c:254 access/nbtree/nbtvalidate.c:276 #, c-format msgid "operator family \"%s\" of access method %s is missing cross-type operator(s)" msgstr "アクセスメソッド\"%2$s\"の演算子族\"%1$s\"は異なる型間に対応する演算子を含んでいません" -#: access/heap/heapam.c:2194 +#: access/heap/heapam.c:2186 #, c-format msgid "cannot insert tuples in a parallel worker" msgstr "並列ワーカーではタプルの挿入はできません" -#: access/heap/heapam.c:2713 +#: access/heap/heapam.c:2705 #, c-format msgid "cannot delete tuples during a parallel operation" msgstr "並列処理中はタプルの削除はできません" -#: access/heap/heapam.c:2760 +#: access/heap/heapam.c:2752 #, c-format msgid "attempted to delete invisible tuple" msgstr "不可視のタプルを削除しようとしました" -#: access/heap/heapam.c:3208 access/heap/heapam.c:6081 +#: access/heap/heapam.c:3200 access/index/genam.c:828 #, c-format msgid "cannot update tuples during a parallel operation" msgstr "並列処理中はタプルの更新はできません" -#: access/heap/heapam.c:3336 +#: access/heap/heapam.c:3332 #, c-format msgid "attempted to update invisible tuple" msgstr "不可視のタプルを更新しようとしました" -#: access/heap/heapam.c:4725 access/heap/heapam.c:4763 access/heap/heapam.c:5028 access/heap/heapam_handler.c:468 +#: access/heap/heapam.c:4843 access/heap/heapam.c:4881 access/heap/heapam.c:5146 access/heap/heapam_handler.c:466 #, c-format msgid "could not obtain lock on row in relation \"%s\"" msgstr "リレーション\"%s\"の行ロックを取得できませんでした" -#: access/heap/heapam_handler.c:413 +#: access/heap/heapam.c:6260 commands/trigger.c:3342 executor/nodeModifyTable.c:2379 executor/nodeModifyTable.c:2470 +#, c-format +msgid "tuple to be updated was already modified by an operation triggered by the current command" +msgstr "更新対象のタプルはすでに現在のコマンドによって起動された操作によって変更されています" + +#: access/heap/heapam_handler.c:411 #, c-format msgid "tuple to be locked was already moved to another partition due to concurrent update" msgstr "ロック対象のタプルは同時に行われた更新によってすでに他の子テーブルに移動されています" @@ -1201,8 +1205,8 @@ msgstr "行が大きすぎます: サイズは%zu、上限は%zu" msgid "could not write to file \"%s\", wrote %d of %d: %m" msgstr "ファイル\"%1$s\"に書き込めませんでした、%3$dバイト中%2$dバイト書き込みました: %m" -#: access/heap/rewriteheap.c:977 access/heap/rewriteheap.c:1094 access/transam/timeline.c:329 access/transam/timeline.c:481 access/transam/xlog.c:3249 access/transam/xlog.c:3440 access/transam/xlog.c:4277 access/transam/xlog.c:9199 access/transam/xlogfuncs.c:692 backup/basebackup_server.c:149 backup/basebackup_server.c:242 commands/dbcommands.c:494 postmaster/launch_backend.c:328 postmaster/postmaster.c:4112 postmaster/walsummarizer.c:1067 -#: replication/logical/origin.c:603 replication/slot.c:2059 storage/file/copydir.c:157 storage/smgr/md.c:230 utils/time/snapmgr.c:1234 +#: access/heap/rewriteheap.c:977 access/heap/rewriteheap.c:1094 access/transam/timeline.c:329 access/transam/timeline.c:481 access/transam/xlog.c:3260 access/transam/xlog.c:3451 access/transam/xlog.c:4288 access/transam/xlog.c:9279 access/transam/xlogfuncs.c:693 backup/basebackup_server.c:149 backup/basebackup_server.c:242 commands/dbcommands.c:494 postmaster/launch_backend.c:329 postmaster/postmaster.c:3841 postmaster/walsummarizer.c:1212 +#: replication/logical/origin.c:607 replication/slot.c:2087 storage/file/copydir.c:157 storage/smgr/md.c:230 utils/time/snapmgr.c:1234 #, c-format msgid "could not create file \"%s\": %m" msgstr "ファイル\"%s\"を作成できませんでした: %m" @@ -1212,156 +1216,156 @@ msgstr "ファイル\"%s\"を作成できませんでした: %m" msgid "could not truncate file \"%s\" to %u: %m" msgstr "ファイル\"%s\"を%uバイトに切り詰められませんでした: %m" -#: access/heap/rewriteheap.c:1122 access/transam/timeline.c:384 access/transam/timeline.c:424 access/transam/timeline.c:498 access/transam/xlog.c:3299 access/transam/xlog.c:3496 access/transam/xlog.c:4289 commands/dbcommands.c:506 postmaster/launch_backend.c:339 postmaster/launch_backend.c:351 replication/logical/origin.c:615 replication/logical/origin.c:657 replication/logical/origin.c:676 replication/logical/snapbuild.c:1771 replication/slot.c:2094 -#: storage/file/buffile.c:545 storage/file/copydir.c:197 utils/init/miscinit.c:1601 utils/init/miscinit.c:1612 utils/init/miscinit.c:1620 utils/misc/guc.c:4441 utils/misc/guc.c:4472 utils/misc/guc.c:5625 utils/misc/guc.c:5643 utils/time/snapmgr.c:1239 utils/time/snapmgr.c:1246 +#: access/heap/rewriteheap.c:1122 access/transam/timeline.c:384 access/transam/timeline.c:424 access/transam/timeline.c:498 access/transam/xlog.c:3310 access/transam/xlog.c:3507 access/transam/xlog.c:4300 commands/dbcommands.c:506 postmaster/launch_backend.c:340 postmaster/launch_backend.c:352 replication/logical/origin.c:619 replication/logical/origin.c:661 replication/logical/origin.c:680 replication/logical/snapbuild.c:1617 replication/slot.c:2122 +#: storage/file/buffile.c:545 storage/file/copydir.c:197 utils/init/miscinit.c:1601 utils/init/miscinit.c:1612 utils/init/miscinit.c:1620 utils/misc/guc.c:4447 utils/misc/guc.c:4478 utils/misc/guc.c:5631 utils/misc/guc.c:5649 utils/time/snapmgr.c:1239 utils/time/snapmgr.c:1246 #, c-format msgid "could not write to file \"%s\": %m" msgstr "ファイル\"%s\"を書き出せませんでした: %m" -#: access/heap/vacuumlazy.c:473 +#: access/heap/vacuumlazy.c:471 #, c-format msgid "aggressively vacuuming \"%s.%s.%s\"" msgstr "\"%s.%s.%s\"に対して積極的VACUUMを実行しています" -#: access/heap/vacuumlazy.c:478 +#: access/heap/vacuumlazy.c:476 #, c-format msgid "vacuuming \"%s.%s.%s\"" msgstr "\"%s.%s.%s\"に対してVACUUMを実行しています" -#: access/heap/vacuumlazy.c:626 +#: access/heap/vacuumlazy.c:634 #, c-format msgid "finished vacuuming \"%s.%s.%s\": index scans: %d\n" msgstr "テーブル\"%s.%s.%s\"のVACUUM完了: インデックススキャン: %d\n" -#: access/heap/vacuumlazy.c:637 +#: access/heap/vacuumlazy.c:645 #, c-format msgid "automatic aggressive vacuum to prevent wraparound of table \"%s.%s.%s\": index scans: %d\n" msgstr "テーブル\"%s.%s.%s\"の周回防止のための積極的自動VACUUM: インデックススキャン: %d\n" -#: access/heap/vacuumlazy.c:639 +#: access/heap/vacuumlazy.c:647 #, c-format msgid "automatic vacuum to prevent wraparound of table \"%s.%s.%s\": index scans: %d\n" msgstr "テーブル\"%s.%s.%s\"の周回防止のための自動VACUUM: インデックススキャン: %d\n" -#: access/heap/vacuumlazy.c:644 +#: access/heap/vacuumlazy.c:652 #, c-format msgid "automatic aggressive vacuum of table \"%s.%s.%s\": index scans: %d\n" msgstr "テーブル\"%s.%s.%s\"の積極的自動VACUUM: インデックススキャン: %d\n" -#: access/heap/vacuumlazy.c:646 +#: access/heap/vacuumlazy.c:654 #, c-format msgid "automatic vacuum of table \"%s.%s.%s\": index scans: %d\n" msgstr "テーブル\"%s.%s.%s\"の自動VACUUM: インデックススキャン: %d\n" -#: access/heap/vacuumlazy.c:653 +#: access/heap/vacuumlazy.c:661 #, c-format msgid "pages: %u removed, %u remain, %u scanned (%.2f%% of total)\n" msgstr "ページ: %u削除、%u残存、%uスキャン (全体の%.2f%%)\n" -#: access/heap/vacuumlazy.c:660 +#: access/heap/vacuumlazy.c:668 #, c-format msgid "tuples: %lld removed, %lld remain, %lld are dead but not yet removable\n" msgstr "タプル: %lld削除、%lld残存、%lldが削除されているがまだ除去できない\n" -#: access/heap/vacuumlazy.c:666 +#: access/heap/vacuumlazy.c:674 #, c-format msgid "tuples missed: %lld dead from %u pages not removed due to cleanup lock contention\n" msgstr "未処理のタプル: クリーンナップロックの競合により、%2$uページ中の%1$lld行の削除済みタプルは除去されません\n" -#: access/heap/vacuumlazy.c:672 +#: access/heap/vacuumlazy.c:680 #, c-format msgid "removable cutoff: %u, which was %d XIDs old when operation ended\n" msgstr "削除可能限界: %u、これは処理完了時には%d XID分過去になります\n" -#: access/heap/vacuumlazy.c:679 +#: access/heap/vacuumlazy.c:687 #, c-format msgid "new relfrozenxid: %u, which is %d XIDs ahead of previous value\n" msgstr "新しいrelfrozenxid: %u、これは前回の値よりも%d XID分進んでいます\n" -#: access/heap/vacuumlazy.c:687 +#: access/heap/vacuumlazy.c:695 #, c-format msgid "new relminmxid: %u, which is %d MXIDs ahead of previous value\n" msgstr "" "新しいrelminmxid: %u、これは前回の値よりも%d MXID分進んでいます\n" "\n" -#: access/heap/vacuumlazy.c:690 +#: access/heap/vacuumlazy.c:698 #, c-format msgid "frozen: %u pages from table (%.2f%% of total) had %lld tuples frozen\n" msgstr "凍結: テーブルから%uページ(全体の%.2f%%)で%lldタプルが凍結されました\n" -#: access/heap/vacuumlazy.c:698 +#: access/heap/vacuumlazy.c:706 msgid "index scan not needed: " msgstr "インデックススキャンは不要です: " -#: access/heap/vacuumlazy.c:700 +#: access/heap/vacuumlazy.c:708 msgid "index scan needed: " msgstr "インデックススキャンが必要です: " -#: access/heap/vacuumlazy.c:702 +#: access/heap/vacuumlazy.c:710 #, c-format msgid "%u pages from table (%.2f%% of total) had %lld dead item identifiers removed\n" msgstr "テーブル内の%uページ(全体の%.2f%%)にあった%lld行の削除行識別子が削除されました\n" -#: access/heap/vacuumlazy.c:707 +#: access/heap/vacuumlazy.c:715 msgid "index scan bypassed: " msgstr "インデックススキャンはスキップされました: " -#: access/heap/vacuumlazy.c:709 +#: access/heap/vacuumlazy.c:717 msgid "index scan bypassed by failsafe: " msgstr "フェイルセーフによりインデックススキャンがスキップされました: " -#: access/heap/vacuumlazy.c:711 +#: access/heap/vacuumlazy.c:719 #, c-format msgid "%u pages from table (%.2f%% of total) have %lld dead item identifiers\n" msgstr "テーブル内の%uページ(全体の%.2f%%)には%lld行の削除行識別子があります\n" -#: access/heap/vacuumlazy.c:726 +#: access/heap/vacuumlazy.c:734 #, c-format msgid "index \"%s\": pages: %u in total, %u newly deleted, %u currently deleted, %u reusable\n" msgstr "インデックス\"%s\": ページ数: 合計%u、新規削除%u、削除済%u、再利用可%u\n" -#: access/heap/vacuumlazy.c:738 commands/analyze.c:789 +#: access/heap/vacuumlazy.c:746 commands/analyze.c:814 #, c-format msgid "I/O timings: read: %.3f ms, write: %.3f ms\n" msgstr "I/O時間: 読み込み: %.3fミリ秒, 書き込み: %.3fミリ秒\n" -#: access/heap/vacuumlazy.c:748 commands/analyze.c:792 +#: access/heap/vacuumlazy.c:756 commands/analyze.c:817 #, c-format msgid "avg read rate: %.3f MB/s, avg write rate: %.3f MB/s\n" msgstr "平均読み込み速度: %.3f MB/s, 平均書き込み速度: %.3f MB/s\n" -#: access/heap/vacuumlazy.c:751 commands/analyze.c:794 +#: access/heap/vacuumlazy.c:759 commands/analyze.c:819 #, c-format -msgid "buffer usage: %lld hits, %lld misses, %lld dirtied\n" -msgstr "バッファ使用: %lldヒット, %lld失敗, %lld ダーティ化\n" +msgid "buffer usage: %lld hits, %lld reads, %lld dirtied\n" +msgstr "バッファ使用: ヒット %lld, 読み込み %lld, ダーティ化 %lld\n" -#: access/heap/vacuumlazy.c:756 +#: access/heap/vacuumlazy.c:764 commands/analyze.c:824 #, c-format msgid "WAL usage: %lld records, %lld full page images, %llu bytes\n" msgstr "WAL使用量: %lldのレコード, %lldの全ページイメージ, %lluバイト\n" -#: access/heap/vacuumlazy.c:760 commands/analyze.c:798 +#: access/heap/vacuumlazy.c:768 commands/analyze.c:828 #, c-format msgid "system usage: %s" msgstr "システム使用状況: %s" -#: access/heap/vacuumlazy.c:2172 +#: access/heap/vacuumlazy.c:2185 #, c-format msgid "table \"%s\": removed %lld dead item identifiers in %u pages" msgstr "テーブル\"%1$s\": %3$uページ内の%2$lldの削除済み行識別子を除去" -#: access/heap/vacuumlazy.c:2326 +#: access/heap/vacuumlazy.c:2339 #, c-format msgid "bypassing nonessential maintenance of table \"%s.%s.%s\" as a failsafe after %d index scans" msgstr "%4$d回のインデックススキャンののち、フェイルセーフとしてテーブル\"%1$s.%2$s.%3$s\"の必須ではないメンテナンスをスキップします" -#: access/heap/vacuumlazy.c:2329 +#: access/heap/vacuumlazy.c:2342 #, c-format msgid "The table's relfrozenxid or relminmxid is too far in the past." msgstr "このテーブルのrelfrozenxidまたはrelminmxidは古すぎます。" -#: access/heap/vacuumlazy.c:2330 +#: access/heap/vacuumlazy.c:2343 #, c-format msgid "" "Consider increasing configuration parameter \"maintenance_work_mem\" or \"autovacuum_work_mem\".\n" @@ -1370,67 +1374,67 @@ msgstr "" "設定パラメータ\"maintenance_work_mem\"または\"autovacuum_work_mem\"を増やすことを検討してください。\n" "VACUUMがトランザクションIDの割り当てに追従できるようにする他の方法を検討する必要があるかもしれません。" -#: access/heap/vacuumlazy.c:2592 +#: access/heap/vacuumlazy.c:2605 #, c-format msgid "\"%s\": stopping truncate due to conflicting lock request" msgstr "\"%s\":競合するロックが存在するため切り詰めを中断します" -#: access/heap/vacuumlazy.c:2662 +#: access/heap/vacuumlazy.c:2675 #, c-format msgid "table \"%s\": truncated %u to %u pages" msgstr "テーブル\"%s\": %uページから%uページに切り詰め" -#: access/heap/vacuumlazy.c:2724 +#: access/heap/vacuumlazy.c:2737 #, c-format msgid "table \"%s\": suspending truncate due to conflicting lock request" msgstr "テーブル\"%s\": 競合するロック要求が存在するため、切り詰めを保留します" -#: access/heap/vacuumlazy.c:2843 +#: access/heap/vacuumlazy.c:2856 #, c-format msgid "disabling parallel option of vacuum on \"%s\" --- cannot vacuum temporary tables in parallel" msgstr "\"%s\"のVACUUMに対するパラレルオプションを無効化します --- 一時テーブルは並列にVACUUMできません" -#: access/heap/vacuumlazy.c:3107 +#: access/heap/vacuumlazy.c:3126 #, c-format msgid "while scanning block %u offset %u of relation \"%s.%s\"" msgstr "リレーション\"%3$s.%4$s\"のブロック%1$u、オフセット%2$uのスキャン中" -#: access/heap/vacuumlazy.c:3110 +#: access/heap/vacuumlazy.c:3129 #, c-format msgid "while scanning block %u of relation \"%s.%s\"" msgstr "リレーション\\\"%2$s.%3$s\\\"のブロック%1$uのスキャン中" -#: access/heap/vacuumlazy.c:3114 +#: access/heap/vacuumlazy.c:3133 #, c-format msgid "while scanning relation \"%s.%s\"" msgstr "リレーション\"%s.%s\"のスキャン中" -#: access/heap/vacuumlazy.c:3122 +#: access/heap/vacuumlazy.c:3141 #, c-format msgid "while vacuuming block %u offset %u of relation \"%s.%s\"" msgstr "リレーション\"%3$s.%4$s\"のブロック%1$u、オフセット%2$uのVACUUM処理中" -#: access/heap/vacuumlazy.c:3125 +#: access/heap/vacuumlazy.c:3144 #, c-format msgid "while vacuuming block %u of relation \"%s.%s\"" msgstr "リレーション\\\"%2$s.%3$s\\\"のブロック%1$uのVACUUM処理中" -#: access/heap/vacuumlazy.c:3129 +#: access/heap/vacuumlazy.c:3148 #, c-format msgid "while vacuuming relation \"%s.%s\"" msgstr "リレーション\"%s.%s\"のVACUUM処理中" -#: access/heap/vacuumlazy.c:3134 commands/vacuumparallel.c:1113 +#: access/heap/vacuumlazy.c:3153 commands/vacuumparallel.c:1115 #, c-format msgid "while vacuuming index \"%s\" of relation \"%s.%s\"" msgstr "リレーション\\\"%2$s.%3$s\\\"のインデックス%1$sのVACUUM処理中" -#: access/heap/vacuumlazy.c:3139 commands/vacuumparallel.c:1119 +#: access/heap/vacuumlazy.c:3158 commands/vacuumparallel.c:1121 #, c-format msgid "while cleaning up index \"%s\" of relation \"%s.%s\"" msgstr "リレーション\\\"%2$s.%3$s\\\"のインデックス%1$sのクリーンアップ処理中" -#: access/heap/vacuumlazy.c:3145 +#: access/heap/vacuumlazy.c:3164 #, c-format msgid "while truncating relation \"%s.%s\" to %u blocks" msgstr "リレーション \"%s.%s\"を%uブロックに切り詰め中" @@ -1445,22 +1449,22 @@ msgstr "アクセスメソッド\"%s\"のタイプが%sではありません" msgid "index access method \"%s\" does not have a handler" msgstr "インデックスアクセスメソッド\"%s\"はハンドラを持っていません" -#: access/index/genam.c:487 +#: access/index/genam.c:495 #, c-format msgid "transaction aborted during system catalog scan" msgstr "システムカタログのスキャン中にトランザクションがアボートしました" -#: access/index/genam.c:655 access/index/indexam.c:82 +#: access/index/genam.c:664 access/index/indexam.c:82 #, c-format msgid "cannot access index \"%s\" while it is being reindexed" msgstr "再作成中であるためインデックス\"%s\"にアクセスできません" -#: access/index/indexam.c:203 catalog/objectaddress.c:1356 commands/indexcmds.c:2873 commands/tablecmds.c:281 commands/tablecmds.c:305 commands/tablecmds.c:17766 commands/tablecmds.c:19584 +#: access/index/indexam.c:203 catalog/objectaddress.c:1356 commands/indexcmds.c:2986 commands/tablecmds.c:284 commands/tablecmds.c:308 commands/tablecmds.c:18381 commands/tablecmds.c:20257 #, c-format msgid "\"%s\" is not an index" msgstr "\"%s\"はインデックスではありません" -#: access/index/indexam.c:1028 +#: access/index/indexam.c:1030 #, c-format msgid "operator class %s has no options" msgstr "演算子クラス%sにはオプションはありません" @@ -1480,7 +1484,7 @@ msgstr "キー %s はすでに存在します。" msgid "This may be because of a non-immutable index expression." msgstr "これは不変でないインデックス式が原因である可能性があります" -#: access/nbtree/nbtpage.c:157 access/nbtree/nbtpage.c:611 parser/parse_utilcmd.c:2298 +#: access/nbtree/nbtpage.c:157 access/nbtree/nbtpage.c:611 parser/parse_utilcmd.c:2475 #, c-format msgid "index \"%s\" is not a btree" msgstr "インデックス\"%s\"はbtreeではありません" @@ -1500,17 +1504,17 @@ msgstr "インデックス\"%s\"に削除処理中の内部ページがありま msgid "This can be caused by an interrupted VACUUM in version 9.3 or older, before upgrade. Please REINDEX it." msgstr "これは9.3かそれ以前のバージョンで、アップグレード前にVACUUMが中断された際に起きた可能性があります。REINDEXしてください。" -#: access/nbtree/nbtutils.c:5112 +#: access/nbtree/nbtutils.c:5109 #, c-format msgid "index row size %zu exceeds btree version %u maximum %zu for index \"%s\"" msgstr "インデックス行サイズ%1$zuはインデックス\"%4$s\"でのbtreeバージョン %2$u の最大値%3$zuを超えています" -#: access/nbtree/nbtutils.c:5118 +#: access/nbtree/nbtutils.c:5115 #, c-format msgid "Index row references tuple (%u,%u) in relation \"%s\"." msgstr "インデックス行はリレーション\"%3$s\"のタプル(%1$u,%2$u)を参照しています。" -#: access/nbtree/nbtutils.c:5122 +#: access/nbtree/nbtutils.c:5119 #, c-format msgid "" "Values larger than 1/3 of a buffer page cannot be indexed.\n" @@ -1524,17 +1528,17 @@ msgstr "" msgid "operator family \"%s\" of access method %s is missing support function for types %s and %s" msgstr "アクセスメソッド\"%2$s\"の演算子族\"%1$s\"は型%3$sと%4$sに対応するサポート関数を含んでいません" -#: access/sequence/sequence.c:75 access/table/table.c:145 optimizer/util/plancat.c:143 +#: access/sequence/sequence.c:75 access/table/table.c:145 optimizer/util/plancat.c:144 #, c-format msgid "cannot open relation \"%s\"" msgstr "リレーション\"%s\"はopenできません" -#: access/spgist/spgutils.c:245 +#: access/spgist/spgutils.c:246 #, c-format msgid "compress method must be defined when leaf type is different from input type" msgstr "リーフ型が入力型と異なる場合は圧縮メソッドの定義が必要です" -#: access/spgist/spgutils.c:1017 +#: access/spgist/spgutils.c:1029 #, c-format msgid "SP-GiST inner tuple size %zu exceeds maximum %zu" msgstr "SP-GiST内部タプルのサイズ%zuが最大値%zuを超えています" @@ -1559,7 +1563,7 @@ msgstr "tid (%u, %u) はリレーション\"%s\"に対して妥当ではあり msgid "\"%s\" cannot be empty." msgstr "\"%s\"は空にはできません。" -#: access/table/tableamapi.c:116 access/transam/xlogrecovery.c:4858 +#: access/table/tableamapi.c:116 access/transam/xlogrecovery.c:4857 #, c-format msgid "\"%s\" is too long (maximum %d characters)." msgstr "\"%s\"が長過ぎます(最大%d文字)。" @@ -1599,12 +1603,12 @@ msgstr "プライマリサーバーで設定パラメータ\"%s\"がonに設定 msgid "Make sure the configuration parameter \"%s\" is set." msgstr "設定パラメータ\"%s\"が設定されていることを確認してください。" -#: access/transam/multixact.c:1050 +#: access/transam/multixact.c:1097 #, 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:1052 access/transam/multixact.c:1059 access/transam/multixact.c:1083 access/transam/multixact.c:1092 access/transam/varsup.c:158 access/transam/varsup.c:165 +#: access/transam/multixact.c:1099 access/transam/multixact.c:1106 access/transam/multixact.c:1130 access/transam/multixact.c:1139 access/transam/varsup.c:158 access/transam/varsup.c:165 #, c-format msgid "" "Execute a database-wide VACUUM in that database.\n" @@ -1613,61 +1617,61 @@ msgstr "" "そのデータベース全体の VACUUM を実行してください。\n" "古い準備済みトランザクションのコミットまたはロールバック、もしくは古いレプリケーションスロットの削除も必要かもしれません。" -#: access/transam/multixact.c:1057 +#: access/transam/multixact.c:1104 #, 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:1078 access/transam/multixact.c:2433 +#: access/transam/multixact.c:1125 access/transam/multixact.c:2482 #, 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:1087 access/transam/multixact.c:2442 +#: access/transam/multixact.c:1134 access/transam/multixact.c:2491 #, 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:1148 +#: access/transam/multixact.c:1195 #, c-format msgid "multixact \"members\" limit exceeded" msgstr "マルチトランザクションの\"メンバ\"が制限を超えました" -#: access/transam/multixact.c:1149 +#: access/transam/multixact.c:1196 #, 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:1154 +#: access/transam/multixact.c:1201 #, 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:1185 +#: access/transam/multixact.c:1232 #, 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:1190 +#: access/transam/multixact.c:1237 #, 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:1330 +#: access/transam/multixact.c:1377 #, c-format msgid "MultiXactId %u does no longer exist -- apparent wraparound" msgstr "MultiXactId %uはもう存在しません: 周回しているようです" -#: access/transam/multixact.c:1336 +#: access/transam/multixact.c:1383 #, c-format msgid "MultiXactId %u has not been created yet -- apparent wraparound" msgstr "MultiXactId %uを作成できませんでした: 周回している様子" -#: access/transam/multixact.c:2438 access/transam/multixact.c:2447 +#: access/transam/multixact.c:2487 access/transam/multixact.c:2496 #, c-format msgid "" "To avoid MultiXactId assignment failures, execute a database-wide VACUUM in that database.\n" @@ -1676,61 +1680,61 @@ msgstr "" "MultiXactIdの割り当て失敗を防ぐために、このデータベースでデータベース全体に対するVACUUMを実行してください。\n" "古い準備済みトランザクションのコミットまたはロールバック、もしくは古いレプリケーションスロットの削除も必要かもしれません。" -#: access/transam/multixact.c:2726 +#: access/transam/multixact.c:2775 #, 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:2748 +#: access/transam/multixact.c:2797 #, c-format msgid "MultiXact member wraparound protections are now enabled" msgstr "マルチトランザクションメンバーの周回防止機能が有効になりました" -#: access/transam/multixact.c:3131 +#: access/transam/multixact.c:3188 #, c-format msgid "oldest MultiXact %u not found, earliest MultiXact %u, skipping truncation" msgstr "最古のマルチトランザクション%uが見つかりません、アクセス可能な最古のものは%u、切り詰めをスキップします" -#: access/transam/multixact.c:3149 +#: access/transam/multixact.c:3206 #, c-format msgid "cannot truncate up to MultiXact %u because it does not exist on disk, skipping truncation" msgstr "マルチトランザクション%uがディスク上に存在しないため、そこまでの切り詰めができません、切り詰めをスキップします" -#: access/transam/multixact.c:3468 +#: access/transam/multixact.c:3525 #, c-format msgid "invalid MultiXactId: %u" msgstr "不正なMultiXactId: %u" -#: access/transam/parallel.c:731 access/transam/parallel.c:850 +#: access/transam/parallel.c:744 access/transam/parallel.c:863 #, c-format msgid "parallel worker failed to initialize" msgstr "パラレルワーカーの初期化に失敗しました" -#: access/transam/parallel.c:732 access/transam/parallel.c:851 +#: access/transam/parallel.c:745 access/transam/parallel.c:864 #, c-format msgid "More details may be available in the server log." msgstr "詳細な情報がサーバーログにあるかもしれません。" -#: access/transam/parallel.c:912 +#: access/transam/parallel.c:925 #, c-format msgid "postmaster exited during a parallel transaction" msgstr "並列処理中にpostmasterが終了しました" -#: access/transam/parallel.c:1099 +#: access/transam/parallel.c:1112 #, c-format msgid "lost connection to parallel worker" msgstr "パラレルワーカーへの接続を失いました" -#: access/transam/parallel.c:1155 access/transam/parallel.c:1157 +#: access/transam/parallel.c:1168 access/transam/parallel.c:1170 msgid "parallel worker" msgstr "パラレルワーカー" -#: access/transam/parallel.c:1327 replication/logical/applyparallelworker.c:890 +#: access/transam/parallel.c:1340 replication/logical/applyparallelworker.c:890 #, c-format msgid "could not map dynamic shared memory segment" msgstr "動的共有メモリセグメントをマップできませんでした" -#: access/transam/parallel.c:1332 replication/logical/applyparallelworker.c:896 +#: access/transam/parallel.c:1345 replication/logical/applyparallelworker.c:896 #, c-format msgid "invalid magic number in dynamic shared memory segment" msgstr "動的共有メモリセグメントのマジックナンバーが不正です" @@ -1790,62 +1794,62 @@ msgstr "ID %d の既存の独自リソースマネージャが同じ名前です msgid "registered custom resource manager \"%s\" with ID %d" msgstr "独自リソースマネージャ\"%s\"をID %dで登録しました" -#: access/transam/slru.c:346 +#: access/transam/slru.c:361 #, c-format msgid "\"%s\" must be a multiple of %d" msgstr "\"%s\"は%dの倍数でなければなりません" -#: access/transam/slru.c:815 +#: access/transam/slru.c:833 #, c-format msgid "file \"%s\" doesn't exist, reading as zeroes" msgstr "ファイル\"%s\"が存在しません。ゼロとして読み込みます" -#: access/transam/slru.c:1044 access/transam/slru.c:1050 access/transam/slru.c:1058 access/transam/slru.c:1063 access/transam/slru.c:1070 access/transam/slru.c:1075 access/transam/slru.c:1082 access/transam/slru.c:1089 +#: access/transam/slru.c:1062 access/transam/slru.c:1068 access/transam/slru.c:1076 access/transam/slru.c:1081 access/transam/slru.c:1088 access/transam/slru.c:1093 access/transam/slru.c:1100 access/transam/slru.c:1107 #, c-format msgid "could not access status of transaction %u" msgstr "トランザクション%uのステータスにアクセスできませんでした" -#: access/transam/slru.c:1045 +#: access/transam/slru.c:1063 #, c-format msgid "Could not open file \"%s\": %m." msgstr "ファイル\"%s\"をオープンできませんでした: %m。" -#: access/transam/slru.c:1051 +#: access/transam/slru.c:1069 #, c-format msgid "Could not seek in file \"%s\" to offset %d: %m." msgstr "ファイル\"%s\"のオフセット%dにシークできませんでした: %m。" -#: access/transam/slru.c:1059 +#: access/transam/slru.c:1077 #, c-format msgid "Could not read from file \"%s\" at offset %d: %m." msgstr "ファイル\"%s\"のオフセット%dを読み取れませんでした: %m。" -#: access/transam/slru.c:1064 +#: access/transam/slru.c:1082 #, c-format msgid "Could not read from file \"%s\" at offset %d: read too few bytes." msgstr "ファイル\"%s\"のオフセット%dを読み取れませんでした: 読み込んだバイト数が足りません。" -#: access/transam/slru.c:1071 +#: access/transam/slru.c:1089 #, c-format msgid "Could not write to file \"%s\" at offset %d: %m." msgstr "ファイル\"%s\"のオフセット%dに書き出せませんでした: %m。" -#: access/transam/slru.c:1076 +#: access/transam/slru.c:1094 #, c-format msgid "Could not write to file \"%s\" at offset %d: wrote too few bytes." msgstr "ファイル\"%s\"のオフセット%dに書き出せませんでした: 書き込んだバイト数が足りません。" -#: access/transam/slru.c:1083 +#: access/transam/slru.c:1101 #, c-format msgid "Could not fsync file \"%s\": %m." msgstr "ファイル\"%s\"をfsyncできませんでした: %m。" -#: access/transam/slru.c:1090 +#: access/transam/slru.c:1108 #, c-format msgid "Could not close file \"%s\": %m." msgstr "ファイル\"%s\"をクローズできませんでした: %m。" -#: access/transam/slru.c:1416 +#: access/transam/slru.c:1434 #, c-format msgid "could not truncate directory \"%s\": apparent wraparound" msgstr "ディレクトリ\"%s\"を切り詰めできませんでした: 明らかに周回しています" @@ -1910,12 +1914,12 @@ msgstr "\"max_prepared_transactions\"を0以外の値に設定してください msgid "transaction identifier \"%s\" is already in use" msgstr "トランザクション識別子\"%s\"はすでに存在します" -#: access/transam/twophase.c:404 access/transam/twophase.c:2541 +#: access/transam/twophase.c:404 access/transam/twophase.c:2547 #, c-format msgid "maximum number of prepared transactions reached" msgstr "準備済みのトランザクションの最大数に達しました" -#: access/transam/twophase.c:405 access/transam/twophase.c:2542 +#: access/transam/twophase.c:405 access/transam/twophase.c:2548 #, c-format msgid "Increase \"max_prepared_transactions\" (currently %d)." msgstr "\"max_prepared_transactions\"を大きくしてください(現在は%d)。" @@ -1986,7 +1990,7 @@ msgstr "ファイル\"%s\"内に格納されているサイズが不正です" msgid "calculated CRC checksum does not match value stored in file \"%s\"" msgstr "算出されたCRCチェックサムがファイル\"%s\"に格納されている値と一致しません" -#: access/transam/twophase.c:1435 access/transam/xlogrecovery.c:565 postmaster/walsummarizer.c:821 replication/logical/logical.c:210 replication/walsender.c:836 +#: access/transam/twophase.c:1435 access/transam/xlogrecovery.c:565 postmaster/walsummarizer.c:936 replication/logical/logical.c:211 replication/walsender.c:806 #, c-format msgid "Failed while allocating a WAL reading processor." msgstr "WALリーダの割り当てに中に失敗しました。" @@ -2006,89 +2010,89 @@ msgstr "WALの%X/%Xから2相状態を読み取れませんでした" msgid "expected two-phase state data is not present in WAL at %X/%X" msgstr "WALの%X/%Xにあるはずの2相状態のデータがありません" -#: access/transam/twophase.c:1754 +#: access/transam/twophase.c:1761 #, c-format msgid "could not recreate file \"%s\": %m" msgstr "ファイル\"%s\"を再作成できませんでした: %m" -#: access/transam/twophase.c:1881 +#: access/transam/twophase.c:1888 #, c-format msgid "%u two-phase state file was written for a long-running prepared transaction" msgid_plural "%u two-phase state files were written for long-running prepared transactions" msgstr[0] "長時間実行中の準備済みトランザクションのために%u個の2相状態ファイルが書き込まれました" -#: access/transam/twophase.c:2117 +#: access/transam/twophase.c:2123 #, c-format msgid "recovering prepared transaction %u from shared memory" msgstr "共有メモリから準備済みトランザクション%uを復元します" -#: access/transam/twophase.c:2210 +#: access/transam/twophase.c:2216 #, c-format msgid "removing stale two-phase state file for transaction %u" msgstr "不要になったトランザクション%uの2相状態ファイルを削除します" -#: access/transam/twophase.c:2217 +#: access/transam/twophase.c:2223 #, c-format msgid "removing stale two-phase state from memory for transaction %u" msgstr "不要になったトランザクション%uの2相状態をメモリから削除します" -#: access/transam/twophase.c:2230 +#: access/transam/twophase.c:2236 #, c-format msgid "removing future two-phase state file for transaction %u" msgstr "未来のトランザクション%uの2相状態ファイルを削除します" -#: access/transam/twophase.c:2237 +#: access/transam/twophase.c:2243 #, c-format msgid "removing future two-phase state from memory for transaction %u" msgstr "未来のトランザクション%uの2相状態をメモリから削除します" -#: access/transam/twophase.c:2262 +#: access/transam/twophase.c:2268 #, c-format msgid "corrupted two-phase state file for transaction %u" msgstr "トランザクション%uの2相状態ファイルが破損しています" -#: access/transam/twophase.c:2267 +#: access/transam/twophase.c:2273 #, c-format msgid "corrupted two-phase state in memory for transaction %u" msgstr "メモリ上にあるトランザクション%uの2相状態が破損しています" -#: access/transam/twophase.c:2524 +#: access/transam/twophase.c:2530 #, c-format msgid "could not recover two-phase state file for transaction %u" msgstr "トランザクション%uの2相状態ファイルを復元できませんでした" -#: access/transam/twophase.c:2526 +#: access/transam/twophase.c:2532 #, c-format 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:2534 storage/file/fd.c:514 utils/fmgr/dfmgr.c:209 +#: access/transam/twophase.c:2540 storage/file/fd.c:513 utils/fmgr/dfmgr.c:209 #, c-format msgid "could not access file \"%s\": %m" msgstr "ファイル\"%s\"にアクセスできませんでした: %m" #: access/transam/varsup.c:156 #, c-format -msgid "database is not accepting commands that assign new XIDs to avoid wraparound data loss in database \"%s\"" -msgstr "データベース\"%s\"はXID周回によるデータ損失を防ぐために、新規のXIDを割り当てるコマンドを受け付けていません" +msgid "database is not accepting commands that assign new transaction IDs to avoid wraparound data loss in database \"%s\"" +msgstr "データベース\"%s\"はXID周回によるデータ損失を防ぐために、新規のトランザクションIDを割り当てるコマンドを受け付けていません" #: access/transam/varsup.c:163 #, c-format -msgid "database is not accepting commands that assign new XIDs to avoid wraparound data loss in database with OID %u" -msgstr "OID %u を持つデータベースはXID周回によるデータ損失を防ぐために、新規のXIDを割り当てるマンドを受け付けていません" +msgid "database is not accepting commands that assign new transaction IDs to avoid wraparound data loss in database with OID %u" +msgstr "OID %u を持つデータベースは周回によるデータ損失を防ぐために、新規のトランザクションIDを割り当てるマンドを受け付けていません" #: access/transam/varsup.c:175 access/transam/varsup.c:490 #, c-format msgid "database \"%s\" must be vacuumed within %u transactions" msgstr "データベース\"%s\"は%uトランザクション以内にVACUUMする必要があります" -#: access/transam/varsup.c:178 access/transam/varsup.c:185 access/transam/varsup.c:493 access/transam/varsup.c:500 +#: access/transam/varsup.c:178 #, c-format msgid "" -"To avoid XID assignment failures, execute a database-wide VACUUM in that database.\n" +"To avoid transaction ID 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 "" -"XIDの割り当て失敗を防ぐために、このデータベースでデータベース全体の VACUUM を実行してください。\n" +"トランザクションIDの割り当て失敗を防ぐために、このデータベースでデータベース全体の VACUUM を実行してください。\n" "古い準備済みトランザクションのコミットまたはロールバック、もしくは古いレプリケーションスロットの削除も必要かもしれません。" #: access/transam/varsup.c:182 access/transam/varsup.c:497 @@ -2096,560 +2100,521 @@ msgstr "" msgid "database with OID %u must be vacuumed within %u transactions" msgstr "OID %uのデータベースは%uトランザクション以内にVACUUMを実行する必要があります" -#: access/transam/xact.c:649 +#: access/transam/varsup.c:185 access/transam/varsup.c:493 access/transam/varsup.c:500 +#, c-format +msgid "" +"To avoid XID 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 "" +"XIDの割り当て失敗を防ぐために、このデータベースでデータベース全体の VACUUM を実行してください。\n" +"古い準備済みトランザクションのコミットまたはロールバック、もしくは古いレプリケーションスロットの削除も必要かもしれません。" + +#: access/transam/xact.c:651 #, c-format -msgid "cannot assign XIDs during a parallel operation" -msgstr "並列処理中にXIDの割り当てはできません" +msgid "cannot assign transaction IDs during a parallel operation" +msgstr "並列処理中にトランザクションIDの割り当てはできません" -#: access/transam/xact.c:840 +#: access/transam/xact.c:842 #, c-format msgid "cannot modify data in a parallel worker" msgstr "並列ワーカーではデータの更新はできません" -#: access/transam/xact.c:1115 +#: access/transam/xact.c:1117 #, c-format msgid "cannot start commands during a parallel operation" msgstr "並列処理中にはコマンドは起動できません" -#: access/transam/xact.c:1123 +#: access/transam/xact.c:1125 #, c-format msgid "cannot have more than 2^32-2 commands in a transaction" msgstr "1トランザクション内では 2^32-2 個より多くのコマンドを実行できません" -#: access/transam/xact.c:1664 +#: access/transam/xact.c:1694 #, c-format msgid "maximum number of committed subtransactions (%d) exceeded" msgstr "コミットされたサブトランザクション数の最大値(%d)が制限を越えました" -#: access/transam/xact.c:2561 +#: access/transam/xact.c:2613 #, c-format msgid "cannot PREPARE a transaction that has operated on temporary objects" msgstr "一時オブジェクトに対する操作を行ったトランザクションをPREPAREすることはできません" -#: access/transam/xact.c:2571 +#: access/transam/xact.c:2623 #, 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:3649 #, 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:3659 #, 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:3669 #, 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:3679 #, 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:3750 access/transam/xact.c:4075 access/transam/xact.c:4154 access/transam/xact.c:4277 access/transam/xact.c:4428 access/transam/xact.c:4497 access/transam/xact.c:4608 #, c-format msgid "%s can only be used in transaction blocks" msgstr "%sはトランザクションブロック内でのみ使用できます" -#: access/transam/xact.c:3905 +#: access/transam/xact.c:3961 #, 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:4080 access/transam/xact.c:4159 access/transam/xact.c:4282 #, c-format msgid "there is no transaction in progress" msgstr "実行中のトランザクションがありません" -#: access/transam/xact.c:4114 +#: access/transam/xact.c:4170 #, c-format msgid "cannot commit during a parallel operation" msgstr "並列処理中にはコミットはできません" -#: access/transam/xact.c:4237 +#: access/transam/xact.c:4293 #, c-format msgid "cannot abort during a parallel operation" msgstr "パラレル処理中にロールバックはできません" -#: access/transam/xact.c:4336 +#: access/transam/xact.c:4392 #, c-format msgid "cannot define savepoints during a parallel operation" msgstr "パラレル処理中にセーブポイントは定義できません" -#: access/transam/xact.c:4423 +#: access/transam/xact.c:4479 #, 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:4489 access/transam/xact.c:4540 access/transam/xact.c:4600 access/transam/xact.c:4649 #, c-format msgid "savepoint \"%s\" does not exist" msgstr "セーブポイント\"%s\"は存在しません" -#: access/transam/xact.c:4490 access/transam/xact.c:4599 +#: access/transam/xact.c:4546 access/transam/xact.c:4655 #, c-format msgid "savepoint \"%s\" does not exist within current savepoint level" msgstr "セーブポイント\"%s\"は現在のセーブポイントレベルには存在しません" -#: access/transam/xact.c:4532 +#: access/transam/xact.c:4588 #, c-format msgid "cannot rollback to savepoints during a parallel operation" msgstr "パラレル処理中にセーブポイントのロールバックはできません" -#: access/transam/xact.c:5376 +#: access/transam/xact.c:5439 #, c-format msgid "cannot have more than 2^32-1 subtransactions in a transaction" msgstr "1トランザクション内には 2^32-1 個より多くのサブトランザクションを作成できません" -#: access/transam/xlog.c:1536 +#: access/transam/xlog.c:1541 #, 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:1763 +#: access/transam/xlog.c:1768 #, 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:2204 access/transam/xlog.c:4495 +#: access/transam/xlog.c:2209 access/transam/xlog.c:4524 #, c-format msgid "The WAL segment size must be a power of two between 1 MB and 1 GB." msgstr "WALセグメントサイズは1MBから1GBまでの間の2の累乗でなければなりません。" -#: access/transam/xlog.c:2222 +#: access/transam/xlog.c:2227 #, c-format msgid "\"%s\" must be set to -1 during binary upgrade mode." msgstr "バイナリアップグレードモード中は\"%s\"は-1に設定されている必要があります。" -#: access/transam/xlog.c:2471 +#: access/transam/xlog.c:2476 #, 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:3733 access/transam/xlogutils.c:831 replication/walsender.c:3045 +#: access/transam/xlog.c:3744 access/transam/xlogutils.c:831 replication/walsender.c:3017 #, c-format msgid "requested WAL segment %s has already been removed" msgstr "要求された WAL セグメント %s はすでに削除されています" -#: access/transam/xlog.c:4055 +#: access/transam/xlog.c:4066 #, c-format msgid "could not rename file \"%s\": %m" msgstr "ファイル\"%s\"の名前を変更できませんでした: %m" -#: access/transam/xlog.c:4098 access/transam/xlog.c:4109 access/transam/xlog.c:4130 +#: access/transam/xlog.c:4109 access/transam/xlog.c:4120 access/transam/xlog.c:4141 #, c-format msgid "required WAL directory \"%s\" does not exist" msgstr "WALディレクトリ\"%s\"は存在しません" -#: access/transam/xlog.c:4115 access/transam/xlog.c:4136 +#: access/transam/xlog.c:4126 access/transam/xlog.c:4147 #, c-format msgid "creating missing WAL directory \"%s\"" msgstr "なかったWALディレクトリ\"%s\"を作成しています" -#: access/transam/xlog.c:4119 access/transam/xlog.c:4139 commands/dbcommands.c:3242 +#: access/transam/xlog.c:4130 access/transam/xlog.c:4150 commands/dbcommands.c:3275 #, c-format msgid "could not create missing directory \"%s\": %m" msgstr "なかったディレクトリ\"%s\"の作成に失敗しました: %m" -#: access/transam/xlog.c:4206 +#: access/transam/xlog.c:4217 #, c-format msgid "could not generate secret authorization token" msgstr "秘密の認証トークンを生成できませんでした" -#: access/transam/xlog.c:4357 access/transam/xlog.c:4367 access/transam/xlog.c:4393 access/transam/xlog.c:4401 access/transam/xlog.c:4409 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:4463 access/transam/xlog.c:4473 access/transam/xlog.c:4481 utils/init/miscinit.c:1758 +#: access/transam/xlog.c:4368 access/transam/xlog.c:4378 access/transam/xlog.c:4404 access/transam/xlog.c:4414 access/transam/xlog.c:4424 access/transam/xlog.c:4430 access/transam/xlog.c:4440 access/transam/xlog.c:4450 access/transam/xlog.c:4460 access/transam/xlog.c:4470 access/transam/xlog.c:4480 access/transam/xlog.c:4490 access/transam/xlog.c:4502 access/transam/xlog.c:4510 utils/init/miscinit.c:1758 #, c-format msgid "database files are incompatible with server" msgstr "データベースファイルがサーバーと互換性がありません" -#: access/transam/xlog.c:4358 +#: access/transam/xlog.c:4369 #, 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:4362 +#: access/transam/xlog.c:4373 #, 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:4368 +#: access/transam/xlog.c:4379 #, 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:4371 access/transam/xlog.c:4397 access/transam/xlog.c:4405 access/transam/xlog.c:4411 +#: access/transam/xlog.c:4382 access/transam/xlog.c:4410 access/transam/xlog.c:4420 access/transam/xlog.c:4426 #, c-format msgid "It looks like you need to initdb." msgstr "initdbが必要のようです。" -#: access/transam/xlog.c:4383 +#: access/transam/xlog.c:4394 #, c-format msgid "incorrect checksum in control file" msgstr "制御ファイル内のチェックサムが不正です" -#: access/transam/xlog.c:4394 -#, 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:4402 +#. translator: %s is a variable name and %d is its value +#: access/transam/xlog.c:4406 access/transam/xlog.c:4416 access/transam/xlog.c:4432 access/transam/xlog.c:4442 access/transam/xlog.c:4452 access/transam/xlog.c:4462 access/transam/xlog.c:4472 access/transam/xlog.c:4482 access/transam/xlog.c:4492 #, c-format -msgid "The database cluster was initialized with MAXALIGN %d, but the server was compiled with MAXALIGN %d." -msgstr "データベースクラスタは MAXALIGN %d で初期化されましたが、サーバーは MAXALIGN %d でコンパイルされています。" +msgid "The database cluster was initialized with %s %d, but the server was compiled with %s %d." +msgstr "データベースクラスタは %s %d で初期化されましたが、サーバーは %s %d でコンパイルされています。" -#: access/transam/xlog.c:4410 +#: access/transam/xlog.c:4425 #, c-format msgid "The database cluster appears to use a different floating-point number format than the server executable." msgstr "データベースクラスタはサーバー実行ファイルと異なる浮動小数点書式を使用しているようです。" -#: access/transam/xlog.c:4416 -#, 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: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:4459 access/transam/xlog.c:4467 access/transam/xlog.c:4476 access/transam/xlog.c:4484 +#: access/transam/xlog.c:4436 access/transam/xlog.c:4446 access/transam/xlog.c:4456 access/transam/xlog.c:4466 access/transam/xlog.c:4476 access/transam/xlog.c:4486 access/transam/xlog.c:4496 access/transam/xlog.c:4505 access/transam/xlog.c:4513 #, c-format msgid "It looks like you need to recompile or initdb." msgstr "再コンパイルもしくは initdb が必要そうです。" -#: access/transam/xlog.c:4424 -#, c-format -msgid "The database cluster was initialized with RELSEG_SIZE %d, but the server was compiled with RELSEG_SIZE %d." -msgstr "データベースクラスタは RELSEG_SIZE %d で初期化されましたが、サーバーは RELSEG_SIZE %d でコンパイルされています。" - -#: access/transam/xlog.c:4432 -#, 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:4440 -#, 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:4448 -#, 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:4456 -#, 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:4464 -#, 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:4474 +#: access/transam/xlog.c:4503 #, 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:4482 +#: access/transam/xlog.c:4511 #, 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:4491 +#: access/transam/xlog.c:4520 #, 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] "制御ファイル中の不正なWALセグメントサイズ (%dバイト)" -#: access/transam/xlog.c:4504 -#, c-format -msgid "\"min_wal_size\" must be at least twice \"wal_segment_size\"" -msgstr "\"min_wal_size\"は最低でも\"wal_segment_size\"の2倍である必要があります" - -#: access/transam/xlog.c:4508 +#. translator: both %s are GUC names +#: access/transam/xlog.c:4534 access/transam/xlog.c:4540 #, c-format -msgid "\"max_wal_size\" must be at least twice \"wal_segment_size\"" -msgstr "\"max_wal_size\"は最低でも\"wal_segment_size\"の2倍である必要があります" +msgid "\"%s\" must be at least twice \"%s\"" +msgstr "\"%s\"は\"%s\"の2倍以上でなければなりません" -#: access/transam/xlog.c:4656 catalog/namespace.c:4681 commands/tablespace.c:1210 commands/user.c:2529 commands/variable.c:72 replication/slot.c:2429 utils/error/elog.c:2214 +#: access/transam/xlog.c:4689 catalog/namespace.c:4696 commands/tablespace.c:1210 commands/user.c:2531 commands/variable.c:72 replication/slot.c:2457 tcop/postgres.c:3720 utils/error/elog.c:2250 #, c-format msgid "List syntax is invalid." msgstr "リスト文法が無効です" -#: access/transam/xlog.c:4702 commands/user.c:2545 commands/variable.c:173 utils/error/elog.c:2240 +#: access/transam/xlog.c:4735 commands/user.c:2547 commands/variable.c:173 tcop/postgres.c:3736 utils/error/elog.c:2276 #, c-format msgid "Unrecognized key word: \"%s\"." msgstr "不明なキーワードです: \"%s\"" -#: access/transam/xlog.c:5122 +#: access/transam/xlog.c:5156 #, c-format msgid "could not write bootstrap write-ahead log file: %m" msgstr "ブートストラップの先行書き込みログファイルに書き込めませんでした: %m" -#: access/transam/xlog.c:5130 +#: access/transam/xlog.c:5164 #, c-format msgid "could not fsync bootstrap write-ahead log file: %m" msgstr "ブートストラップの先行書き込みログファイルをfsyncできませんでした: %m" -#: access/transam/xlog.c:5136 +#: access/transam/xlog.c:5170 #, c-format msgid "could not close bootstrap write-ahead log file: %m" msgstr "ブートストラップの先行書き込みログファイルをクローズできませんでした: %m" -#: access/transam/xlog.c:5354 +#: access/transam/xlog.c:5395 #, c-format msgid "WAL was generated with \"wal_level=minimal\", cannot continue recovering" msgstr "\"wal_level=minimal\"でWALが生成されました、リカバリは続行不可です" -#: access/transam/xlog.c:5355 +#: access/transam/xlog.c:5396 #, c-format msgid "This happens if you temporarily set \"wal_level=minimal\" on the server." msgstr "これはこのサーバーで一時的に\"wal_level=minimal\"にした場合に起こります。" -#: access/transam/xlog.c:5356 +#: access/transam/xlog.c:5397 #, c-format msgid "Use a backup taken after setting \"wal_level\" to higher than \"minimal\"." msgstr "\"wal_level\"を\"minimal\"より上位に設定したあとに取得したバックアップを使用してください。" -#: access/transam/xlog.c:5421 +#: access/transam/xlog.c:5462 #, c-format msgid "control file contains invalid checkpoint location" msgstr "制御ファイル内のチェックポイント位置が不正です" -#: access/transam/xlog.c:5432 +#: access/transam/xlog.c:5473 #, c-format msgid "database system was shut down at %s" msgstr "データベースシステムは %s にシャットダウンしました" -#: access/transam/xlog.c:5438 +#: access/transam/xlog.c:5479 #, c-format msgid "database system was shut down in recovery at %s" msgstr "データベースシステムはリカバリ中 %s にシャットダウンしました" -#: access/transam/xlog.c:5444 +#: access/transam/xlog.c:5485 #, c-format msgid "database system shutdown was interrupted; last known up at %s" msgstr "データベースシステムはシャットダウン中に中断されました; %s まで動作していたことは確認できます" -#: access/transam/xlog.c:5450 +#: access/transam/xlog.c:5491 #, c-format msgid "database system was interrupted while in recovery at %s" msgstr "データベースシステムはリカバリ中 %s に中断されました" -#: access/transam/xlog.c:5452 +#: access/transam/xlog.c:5493 #, 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:5458 +#: access/transam/xlog.c:5499 #, c-format msgid "database system was interrupted while in recovery at log time %s" msgstr "データベースシステムはリカバリ中ログ時刻 %s に中断されました" -#: access/transam/xlog.c:5460 +#: access/transam/xlog.c:5501 #, 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 "これが1回以上起きた場合はデータが破損している可能性があるため、より以前のリカバリ目標を選ぶ必要があるかもしれません。" -#: access/transam/xlog.c:5466 +#: access/transam/xlog.c:5507 #, c-format msgid "database system was interrupted; last known up at %s" msgstr "データベースシステムは中断されました: %s まで動作していたことは確認できます" -#: access/transam/xlog.c:5473 +#: access/transam/xlog.c:5514 #, c-format msgid "control file contains invalid database cluster state" msgstr "制御ファイル内のデータベース・クラスタ状態が不正です" -#: access/transam/xlog.c:5860 +#: access/transam/xlog.c:5902 #, c-format msgid "WAL ends before end of online backup" msgstr "オンラインバックアップの終了より前にWALが終了しました" -#: access/transam/xlog.c:5861 +#: access/transam/xlog.c:5903 #, c-format msgid "All WAL generated while online backup was taken must be available at recovery." msgstr "オンラインバックアップ中に生成されたすべてのWALがリカバリで利用可能である必要があります。" -#: access/transam/xlog.c:5865 +#: access/transam/xlog.c:5907 #, c-format msgid "WAL ends before consistent recovery point" msgstr "WALが一貫性があるリカバリポイントより前で終了しました" -#: access/transam/xlog.c:5911 +#: access/transam/xlog.c:5953 #, c-format msgid "selected new timeline ID: %u" msgstr "新しいタイムラインIDを選択: %u" -#: access/transam/xlog.c:5944 +#: access/transam/xlog.c:5986 #, c-format msgid "archive recovery complete" msgstr "アーカイブリカバリが完了しました" -#: access/transam/xlog.c:6552 +#: access/transam/xlog.c:6615 #, c-format msgid "shutting down" msgstr "シャットダウンしています" #. translator: the placeholders show checkpoint options -#: access/transam/xlog.c:6591 +#: access/transam/xlog.c:6654 #, 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:6603 +#: access/transam/xlog.c:6666 #, 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:6668 +#: access/transam/xlog.c:6731 #, 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 kB, 予測=%d kB; lsn=%X/%X, 再生lsn=%X/%X" +msgid "restartpoint complete: wrote %d buffers (%.1f%%), wrote %d SLRU buffers; %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個のSLRUバッファを出力; %d個のWALファイルを追加、%d個を削除、%d個を再利用; 書き出し=%ld.%03d秒, 同期=%ld.%03d秒, 全体=%ld.%03d秒; 同期したファイル=%d, 最長=%ld.%03d秒, 平均=%ld.%03d秒; 距離=%d kB, 予測=%d kB; lsn=%X/%X, 再生lsn=%X/%X" -#: access/transam/xlog.c:6691 +#: access/transam/xlog.c:6755 #, 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 kB, 予測=%d kB; lsn=%X/%X, 再生lsn=%X/%X" +msgid "checkpoint complete: wrote %d buffers (%.1f%%), wrote %d SLRU buffers; %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個のSLRUバッファを出力; %d個のWALファイルを追加、%d個を削除、%d個を再利用; 書き出し=%ld.%03d秒, 同期=%ld.%03d秒, 全体=%ld.%03d秒; 同期したファイル=%d, 最長=%ld.%03d秒, 平均=%ld.%03d秒; 距離=%d kB, 予測=%d kB; lsn=%X/%X, 再生lsn=%X/%X" -#: access/transam/xlog.c:7165 +#: access/transam/xlog.c:7241 #, c-format msgid "concurrent write-ahead log activity while database system is shutting down" msgstr "データベースのシャットダウンに並行して、先行書き込みログが発生しました" -#: access/transam/xlog.c:7749 +#: access/transam/xlog.c:7828 #, c-format msgid "recovery restart point at %X/%X" msgstr "リカバリ再開ポイントは%X/%Xです" -#: access/transam/xlog.c:7751 +#: access/transam/xlog.c:7830 #, c-format msgid "Last completed transaction was at log time %s." msgstr "最後に完了したトランザクションはログ時刻 %s のものです" -#: access/transam/xlog.c:8013 +#: access/transam/xlog.c:8092 #, c-format msgid "restore point \"%s\" created at %X/%X" msgstr "復帰ポイント\"%s\"が%X/%Xに作成されました" -#: access/transam/xlog.c:8220 +#: access/transam/xlog.c:8299 #, c-format msgid "online backup was canceled, recovery cannot continue" msgstr "オンラインバックアップはキャンセルされ、リカバリを継続できません" -#: access/transam/xlog.c:8277 +#: access/transam/xlog.c:8357 #, c-format msgid "unexpected timeline ID %u (should be %u) in shutdown checkpoint record" msgstr "シャットダウンチェックポイントレコードにおいて想定外のタイムラインID %u(%uのはず)がありました" -#: access/transam/xlog.c:8335 +#: access/transam/xlog.c:8415 #, c-format msgid "unexpected timeline ID %u (should be %u) in online checkpoint record" msgstr "オンラインチェックポイントレコードにおいて想定外のタイムラインID %u(%uのはず)がありました" -#: access/transam/xlog.c:8364 +#: access/transam/xlog.c:8444 #, c-format msgid "unexpected timeline ID %u (should be %u) in end-of-recovery record" msgstr "リカバリ終了チェックポイントレコードにおいて想定外のタイムラインID %u(%uのはず)がありました" -#: access/transam/xlog.c:8635 +#: access/transam/xlog.c:8715 #, c-format msgid "could not fsync write-through file \"%s\": %m" msgstr "ライトスルーファイル\"%s\"をfsyncできませんでした: %m" -#: access/transam/xlog.c:8640 +#: access/transam/xlog.c:8720 #, c-format msgid "could not fdatasync file \"%s\": %m" msgstr "ファイル\"%s\"をfdatasyncできませんでした: %m" -#: access/transam/xlog.c:8727 access/transam/xlog.c:9063 +#: access/transam/xlog.c:8807 access/transam/xlog.c:9143 #, c-format msgid "WAL level not sufficient for making an online backup" msgstr "オンラインバックアップを行うにはWALレベルが不十分です" -#: access/transam/xlog.c:8728 access/transam/xlogfuncs.c:248 +#: access/transam/xlog.c:8808 access/transam/xlog.c:9144 access/transam/xlogfuncs.c:249 #, c-format msgid "\"wal_level\" must be set to \"replica\" or \"logical\" at server start." msgstr "サーバーの開始時に\"wal_level\"を\"replica\"または \"logical\"にセットする必要があります。" -#: access/transam/xlog.c:8733 +#: access/transam/xlog.c:8813 #, c-format msgid "backup label too long (max %d bytes)" msgstr "バックアップラベルが長すぎます (最大%dバイト)" -#: access/transam/xlog.c:8854 +#: access/transam/xlog.c:8934 #, c-format msgid "WAL generated with \"full_page_writes=off\" was replayed since last restartpoint" msgstr "\"full_page_writes=off\"で生成されたWALが最終リスタートポイント以降に再生されました" -#: access/transam/xlog.c:8856 access/transam/xlog.c:9152 +#: access/transam/xlog.c:8936 access/transam/xlog.c:9232 #, 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:8936 backup/basebackup.c:1417 utils/adt/misc.c:354 +#: access/transam/xlog.c:9016 backup/basebackup.c:1419 utils/adt/misc.c:354 #, c-format msgid "could not read symbolic link \"%s\": %m" msgstr "シンボリックリンク\"%s\"を読めませんでした: %m" -#: access/transam/xlog.c:8943 backup/basebackup.c:1422 utils/adt/misc.c:359 +#: access/transam/xlog.c:9023 backup/basebackup.c:1424 utils/adt/misc.c:359 #, c-format msgid "symbolic link \"%s\" target is too long" msgstr "シンボリックリンク\"%s\"の参照先が長すぎます" -#: access/transam/xlog.c:9064 -#, c-format -msgid "wal_level must be set to \"replica\" or \"logical\" at server start." -msgstr "サーバーの開始時にwal_levelを\"replica\"または \"logical\"にセットする必要があります。" - -#: access/transam/xlog.c:9102 backup/basebackup.c:1281 +#: access/transam/xlog.c:9182 backup/basebackup.c:1283 #, c-format msgid "the standby was promoted during online backup" msgstr "オンラインバックアップ中にスタンバイが昇格しました" -#: access/transam/xlog.c:9103 backup/basebackup.c:1282 +#: access/transam/xlog.c:9183 backup/basebackup.c:1284 #, 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:9150 +#: access/transam/xlog.c:9230 #, c-format msgid "WAL generated with \"full_page_writes=off\" was replayed during online backup" msgstr "\"full_page_writes=off\"で生成されたWALがオンラインバックアップ中に再生されました" -#: access/transam/xlog.c:9266 +#: access/transam/xlog.c:9346 #, c-format msgid "base backup done, waiting for required WAL segments to be archived" msgstr "ベースバックアップ完了、必要な WAL セグメントがアーカイブされるのを待っています" -#: access/transam/xlog.c:9280 +#: access/transam/xlog.c:9360 #, c-format msgid "still waiting for all required WAL segments to be archived (%d seconds elapsed)" msgstr "まだ必要なすべての WAL セグメントがアーカイブされるのを待っています(%d 秒経過)" -#: access/transam/xlog.c:9282 +#: access/transam/xlog.c:9362 #, 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:9289 +#: access/transam/xlog.c:9369 #, c-format msgid "all required WAL segments have been archived" msgstr "必要なすべての WAL セグメントがアーカイブされました" -#: access/transam/xlog.c:9293 +#: access/transam/xlog.c:9373 #, 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:9332 +#: access/transam/xlog.c:9412 #, c-format msgid "aborting backup due to backend exiting before pg_backup_stop was called" msgstr "バックエンドがpg_backup_stopの呼び出し前に終了したため、バックアップは異常終了しました" @@ -2692,101 +2657,101 @@ msgstr "アーカイブステータスファイル\"%s\"を作成できません msgid "could not write archive status file \"%s\": %m" msgstr "アーカイブステータスファイル\"%s\"に書き込めませんでした: %m" -#: access/transam/xlogfuncs.c:69 backup/basebackup.c:997 +#: access/transam/xlogfuncs.c:70 backup/basebackup.c:999 #, c-format msgid "a backup is already in progress in this session" msgstr "このセッションではすでにバックアップが進行中です" -#: access/transam/xlogfuncs.c:140 +#: access/transam/xlogfuncs.c:141 #, c-format msgid "backup is not in progress" msgstr "バックアップが進行中ではありません" -#: access/transam/xlogfuncs.c:141 +#: access/transam/xlogfuncs.c:142 #, c-format msgid "Did you call pg_backup_start()?" msgstr "pg_backup_start()を呼び出しましたか?" -#: access/transam/xlogfuncs.c:184 access/transam/xlogfuncs.c:242 access/transam/xlogfuncs.c:281 access/transam/xlogfuncs.c:302 access/transam/xlogfuncs.c:323 +#: access/transam/xlogfuncs.c:185 access/transam/xlogfuncs.c:243 access/transam/xlogfuncs.c:282 access/transam/xlogfuncs.c:303 access/transam/xlogfuncs.c:324 #, c-format msgid "WAL control functions cannot be executed during recovery." msgstr "リカバリ中はWAL制御関数は実行できません。" -#: access/transam/xlogfuncs.c:209 access/transam/xlogfuncs.c:389 access/transam/xlogfuncs.c:447 +#: access/transam/xlogfuncs.c:210 access/transam/xlogfuncs.c:390 access/transam/xlogfuncs.c:448 #, c-format msgid "%s cannot be executed during recovery." msgstr "リカバリ中は %s を実行できません。" -#: access/transam/xlogfuncs.c:215 +#: access/transam/xlogfuncs.c:216 #, c-format msgid "pg_log_standby_snapshot() can only be used if \"wal_level\" >= \"replica\"" msgstr "pg_log_standby_snapshot()は\"wal_level >= replica\"のときだけ使用できます" -#: access/transam/xlogfuncs.c:247 +#: access/transam/xlogfuncs.c:248 #, c-format msgid "WAL level not sufficient for creating a restore point" msgstr "リストアポイントを作るにはWALレベルが不足しています" -#: access/transam/xlogfuncs.c:255 +#: access/transam/xlogfuncs.c:256 #, c-format msgid "value too long for restore point (maximum %d characters)" msgstr "リストアポイントとしては値が長すぎます(最大%d文字)" -#: access/transam/xlogfuncs.c:486 +#: access/transam/xlogfuncs.c:487 #, c-format msgid "invalid WAL file name \"%s\"" msgstr "WALファイル名\"%s\"は不正です" -#: access/transam/xlogfuncs.c:522 access/transam/xlogfuncs.c:552 access/transam/xlogfuncs.c:576 access/transam/xlogfuncs.c:599 access/transam/xlogfuncs.c:679 +#: access/transam/xlogfuncs.c:523 access/transam/xlogfuncs.c:553 access/transam/xlogfuncs.c:577 access/transam/xlogfuncs.c:600 access/transam/xlogfuncs.c:680 #, c-format msgid "recovery is not in progress" msgstr "リカバリが進行中ではありません" -#: access/transam/xlogfuncs.c:523 access/transam/xlogfuncs.c:553 access/transam/xlogfuncs.c:577 access/transam/xlogfuncs.c:600 access/transam/xlogfuncs.c:680 +#: access/transam/xlogfuncs.c:524 access/transam/xlogfuncs.c:554 access/transam/xlogfuncs.c:578 access/transam/xlogfuncs.c:601 access/transam/xlogfuncs.c:681 #, c-format msgid "Recovery control functions can only be executed during recovery." msgstr "リカバリ制御関数リカバリ中にのみを実行可能です。" -#: access/transam/xlogfuncs.c:528 access/transam/xlogfuncs.c:558 +#: access/transam/xlogfuncs.c:529 access/transam/xlogfuncs.c:559 #, c-format msgid "standby promotion is ongoing" msgstr "スタンバイの昇格を実行中です" -#: access/transam/xlogfuncs.c:529 access/transam/xlogfuncs.c:559 +#: access/transam/xlogfuncs.c:530 access/transam/xlogfuncs.c:560 #, c-format msgid "%s cannot be executed after promotion is triggered." msgstr "%sは昇格を開始した後には実行できません。" -#: access/transam/xlogfuncs.c:685 +#: access/transam/xlogfuncs.c:686 #, c-format msgid "\"wait_seconds\" must not be negative or zero" msgstr "\"wait_seconds\"は負の値もしくはゼロにはできません" -#: access/transam/xlogfuncs.c:707 storage/ipc/signalfuncs.c:265 +#: access/transam/xlogfuncs.c:708 storage/ipc/signalfuncs.c:293 #, c-format msgid "failed to send signal to postmaster: %m" msgstr "postmasterにシグナルを送信できませんでした: %m" -#: access/transam/xlogfuncs.c:739 libpq/be-secure.c:237 libpq/be-secure.c:346 +#: access/transam/xlogfuncs.c:740 libpq/be-secure.c:241 libpq/be-secure.c:350 #, c-format msgid "terminating connection due to unexpected postmaster exit" msgstr "予期しないpostmasterの終了のため、コネクションを終了します" -#: access/transam/xlogfuncs.c:740 +#: access/transam/xlogfuncs.c:741 #, c-format msgid "while waiting on promotion" msgstr "昇格の待機中" -#: access/transam/xlogfuncs.c:744 +#: access/transam/xlogfuncs.c:745 #, c-format msgid "server did not promote within %d second" msgid_plural "server did not promote within %d seconds" msgstr[0] "サーバーは%d秒以内に昇格しませんでした" -#: access/transam/xlogprefetcher.c:1088 +#: access/transam/xlogprefetcher.c:1086 #, c-format -msgid "\"recovery_prefetch\" is not supported on platforms that lack posix_fadvise()." -msgstr "\"recovery_prefetch\"はposix_fadvise()を持たないプラットフォームではサポートされません。" +msgid "\"recovery_prefetch\" is not supported on platforms that lack support for issuing read-ahead advice." +msgstr "\"recovery_prefetch\"は先読み指示の発行をサポートしないプラットフォームではサポートされません。" #: access/transam/xlogreader.c:619 #, c-format @@ -3170,248 +3135,248 @@ msgstr "最後に完了したトランザクションのログ時刻は%sでし msgid "redo is not required" msgstr "REDOは必要ありません" -#: access/transam/xlogrecovery.c:1901 +#: access/transam/xlogrecovery.c:1902 #, c-format msgid "recovery ended before configured recovery target was reached" msgstr "指定したリカバリターゲットに到達する前にリカバリが終了しました" -#: access/transam/xlogrecovery.c:2095 +#: access/transam/xlogrecovery.c:2096 #, c-format msgid "successfully skipped missing contrecord at %X/%X, overwritten at %s" msgstr "%X/%Xで%sに上書きされて失われた継続行を正常にスキップしました" -#: access/transam/xlogrecovery.c:2162 +#: access/transam/xlogrecovery.c:2163 #, c-format msgid "unexpected directory entry \"%s\" found in %s" msgstr "%2$s で想定外のディレクトリエントリ\"%1$s\"が見つかりました" -#: access/transam/xlogrecovery.c:2164 +#: access/transam/xlogrecovery.c:2165 #, c-format -msgid "All directory entries in pg_tblspc/ should be symbolic links." -msgstr "Pg_tblspc/ のすべてのディレクトリエントリは、シンボリックリンクである必要があります。" +msgid "All directory entries in %s/ should be symbolic links." +msgstr "%s 内のすべてのディレクトリエントリは、シンボリックリンクである必要があります。" -#: access/transam/xlogrecovery.c:2165 +#: access/transam/xlogrecovery.c:2167 #, 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:2219 #, c-format msgid "completed backup recovery with redo LSN %X/%X and end LSN %X/%X" msgstr "REDO LSN%X/%X、終了LSN %X/%Xのバックアップ・リカバリが完了しました" -#: access/transam/xlogrecovery.c:2247 +#: access/transam/xlogrecovery.c:2249 #, 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:2287 #, c-format msgid "WAL redo at %X/%X for %s" msgstr "%X/%Xにある%sのWAL再生" -#: access/transam/xlogrecovery.c:2383 +#: access/transam/xlogrecovery.c:2385 #, 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:2394 #, 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:2410 #, c-format msgid "unexpected timeline ID %u in checkpoint record, before reaching minimum recovery point %X/%X on timeline %u" msgstr "タイムライン%4$uの最小リカバリポイント%2$X/%3$Xに達する前のチェックポイントレコード内の想定外のタイムラインID%1$u。" -#: access/transam/xlogrecovery.c:2592 access/transam/xlogrecovery.c:2868 +#: access/transam/xlogrecovery.c:2594 access/transam/xlogrecovery.c:2870 #, c-format msgid "recovery stopping after reaching consistency" msgstr "リカバリ処理は一貫性確保後に停止します" -#: access/transam/xlogrecovery.c:2613 +#: access/transam/xlogrecovery.c:2615 #, 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:2705 #, c-format msgid "recovery stopping before commit of transaction %u, time %s" msgstr "リカバリ処理はトランザクション%uのコミット、時刻%sの前に停止します" -#: access/transam/xlogrecovery.c:2710 +#: access/transam/xlogrecovery.c:2712 #, c-format msgid "recovery stopping before abort of transaction %u, time %s" msgstr "リカバリ処理はトランザクション%uのアボート、時刻%sの前に停止します" -#: access/transam/xlogrecovery.c:2763 +#: access/transam/xlogrecovery.c:2765 #, c-format msgid "recovery stopping at restore point \"%s\", time %s" msgstr "リカバリ処理は復元ポイント\"%s\"、時刻%s に停止します" -#: access/transam/xlogrecovery.c:2781 +#: access/transam/xlogrecovery.c:2783 #, 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:2850 #, c-format msgid "recovery stopping after commit of transaction %u, time %s" msgstr "リカバリ処理はトランザクション%uのコミット、時刻%sの後に停止します" -#: access/transam/xlogrecovery.c:2856 +#: access/transam/xlogrecovery.c:2858 #, c-format msgid "recovery stopping after abort of transaction %u, time %s" msgstr "リカバリ処理はトランザクション%uのアボート、時刻%sの後に停止します" -#: access/transam/xlogrecovery.c:2937 +#: access/transam/xlogrecovery.c:2939 #, c-format msgid "pausing at the end of recovery" msgstr "リカバリ完了位置で一時停止しています" -#: access/transam/xlogrecovery.c:2938 +#: access/transam/xlogrecovery.c:2940 #, c-format msgid "Execute pg_wal_replay_resume() to promote." msgstr "再開するには pg_wal_replay_resume() を実行してください" -#: access/transam/xlogrecovery.c:2941 access/transam/xlogrecovery.c:4678 +#: access/transam/xlogrecovery.c:2943 access/transam/xlogrecovery.c:4677 #, c-format msgid "recovery has paused" msgstr "リカバリは一時停止中です" -#: access/transam/xlogrecovery.c:2942 +#: access/transam/xlogrecovery.c:2944 #, c-format msgid "Execute pg_wal_replay_resume() to continue." msgstr "再開するには pg_xlog_replay_resume() を実行してください" -#: access/transam/xlogrecovery.c:3205 +#: access/transam/xlogrecovery.c:3207 #, c-format msgid "unexpected timeline ID %u in WAL segment %s, LSN %X/%X, offset %u" msgstr "WALセグメント%2$s、LSN %3$X/%4$X、オフセット%5$uで想定外のタイムラインID%1$u" -#: access/transam/xlogrecovery.c:3413 +#: access/transam/xlogrecovery.c:3415 #, 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:3422 #, c-format msgid "could not read from WAL segment %s, LSN %X/%X, offset %u: read %d of %zu" msgstr "WALセグメント%1$s、LSN %2$X/%3$X、オフセット%4$uを読み取れませんでした: %6$zu 中 %5$d の読み込み" -#: access/transam/xlogrecovery.c:4060 +#: access/transam/xlogrecovery.c:4061 #, c-format msgid "invalid checkpoint location" msgstr "不正なチェックポイント位置" -#: access/transam/xlogrecovery.c:4070 +#: access/transam/xlogrecovery.c:4071 #, c-format msgid "invalid checkpoint record" msgstr "チェックポイントレコードが不正です" -#: access/transam/xlogrecovery.c:4076 +#: access/transam/xlogrecovery.c:4077 #, c-format msgid "invalid resource manager ID in checkpoint record" msgstr "チェックポイントレコード内のリソースマネージャIDがで不正です" -#: access/transam/xlogrecovery.c:4084 +#: access/transam/xlogrecovery.c:4085 #, c-format msgid "invalid xl_info in checkpoint record" msgstr "チェックポイントレコード内のxl_infoが不正です" -#: access/transam/xlogrecovery.c:4090 +#: access/transam/xlogrecovery.c:4091 #, c-format msgid "invalid length of checkpoint record" msgstr "チェックポイントレコード長が不正です" -#: access/transam/xlogrecovery.c:4144 +#: access/transam/xlogrecovery.c:4145 #, c-format msgid "new timeline %u is not a child of database system timeline %u" msgstr "新しいタイムライン%uはデータベースシステムのタイムライン%uの子ではありません" -#: access/transam/xlogrecovery.c:4158 +#: access/transam/xlogrecovery.c:4159 #, 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:4177 +#: access/transam/xlogrecovery.c:4178 #, c-format msgid "new target timeline is %u" msgstr "新しい目標タイムラインは%uです" -#: access/transam/xlogrecovery.c:4380 +#: access/transam/xlogrecovery.c:4379 #, c-format msgid "WAL receiver process shutdown requested" msgstr "wal receiverプロセスのシャットダウンが要求されました" -#: access/transam/xlogrecovery.c:4440 +#: access/transam/xlogrecovery.c:4439 #, c-format msgid "received promote request" msgstr "昇格要求を受信しました" -#: access/transam/xlogrecovery.c:4669 +#: access/transam/xlogrecovery.c:4668 #, c-format msgid "hot standby is not possible because of insufficient parameter settings" msgstr "不十分なパラメータ設定のため、ホットスタンバイを使用できません" -#: access/transam/xlogrecovery.c:4670 access/transam/xlogrecovery.c:4697 access/transam/xlogrecovery.c:4727 +#: access/transam/xlogrecovery.c:4669 access/transam/xlogrecovery.c:4696 access/transam/xlogrecovery.c:4726 #, 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:4679 +#: access/transam/xlogrecovery.c:4678 #, c-format msgid "If recovery is unpaused, the server will shut down." msgstr "リカバリの一時停止を解除すると、サーバーはシャットダウンします。" -#: access/transam/xlogrecovery.c:4680 +#: access/transam/xlogrecovery.c:4679 #, c-format msgid "You can then restart the server after making the necessary configuration changes." msgstr "その後、必要な設定変更を行った後にサーバーを再起動できます。" -#: access/transam/xlogrecovery.c:4691 +#: access/transam/xlogrecovery.c:4690 #, c-format msgid "promotion is not possible because of insufficient parameter settings" msgstr "不十分なパラメータ設定のため、昇格できません" -#: access/transam/xlogrecovery.c:4701 +#: access/transam/xlogrecovery.c:4700 #, c-format msgid "Restart the server after making the necessary configuration changes." msgstr "必要な設定変更を行ったのち、サーバーを再起動してください。" -#: access/transam/xlogrecovery.c:4725 +#: access/transam/xlogrecovery.c:4724 #, c-format msgid "recovery aborted because of insufficient parameter settings" msgstr "不十分なパラメータ設定値のためリカバリが停止しました" -#: access/transam/xlogrecovery.c:4731 +#: access/transam/xlogrecovery.c:4730 #, c-format msgid "You can restart the server after making the necessary configuration changes." msgstr "必要な設定変更を行うことでサーバーを再起動できます。" -#: access/transam/xlogrecovery.c:4773 +#: access/transam/xlogrecovery.c:4772 #, c-format msgid "multiple recovery targets specified" msgstr "複数のリカバリ目標が指定されています" -#: access/transam/xlogrecovery.c:4774 +#: access/transam/xlogrecovery.c:4773 #, 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\" はこの中の1つまで設定可能です。" -#: access/transam/xlogrecovery.c:4785 +#: access/transam/xlogrecovery.c:4784 #, c-format msgid "The only allowed value is \"immediate\"." msgstr "\"immediate\"のみが指定可能です。" -#: access/transam/xlogrecovery.c:4937 utils/adt/timestamp.c:202 utils/adt/timestamp.c:455 +#: access/transam/xlogrecovery.c:4936 utils/adt/timestamp.c:203 utils/adt/timestamp.c:456 #, c-format msgid "timestamp out of range: \"%s\"" msgstr "timestampが範囲外です: \"%s\"" -#: access/transam/xlogrecovery.c:4982 +#: access/transam/xlogrecovery.c:4981 #, c-format msgid "\"recovery_target_timeline\" is not a valid number." msgstr "\"recovery_target_timeline\"が数値として妥当ではありません。" @@ -3441,7 +3406,7 @@ msgstr "失敗したアーカイブコマンドは次のとおりです: %s" msgid "archive command was terminated by exception 0x%X" msgstr "アーカイブコマンドが例外0x%Xで終了しました" -#: archive/shell_archive.c:109 postmaster/postmaster.c:3094 +#: archive/shell_archive.c:109 postmaster/postmaster.c:2820 #, c-format msgid "See C include file \"ntstatus.h\" for a description of the hexadecimal value." msgstr "16進値の説明についてはC インクルードファイル\"ntstatus.h\"を参照してください。" @@ -3456,159 +3421,159 @@ msgstr "アーカイブコマンドはシグナル%dにより終了しました: msgid "archive command exited with unrecognized status %d" msgstr "アーカイブコマンドは不明のステータス%dで終了しました" -#: backup/backup_manifest.c:254 +#: backup/backup_manifest.c:255 #, c-format msgid "expected end timeline %u but found timeline %u" msgstr "最終タイムライン%uを期待していましたがタイムライン%uが見つかりました" -#: backup/backup_manifest.c:278 +#: backup/backup_manifest.c:279 #, c-format msgid "expected start timeline %u but found timeline %u" msgstr "開始タイムライン%uを期待していましたがタイムライン%uが見つかりました" -#: backup/backup_manifest.c:305 +#: backup/backup_manifest.c:306 #, c-format msgid "start timeline %u not found in history of timeline %u" msgstr "開始タイムライン%uはタイムライン%uの履歴中にありません" -#: backup/backup_manifest.c:356 +#: backup/backup_manifest.c:357 #, c-format msgid "could not rewind temporary file" msgstr "一時ファイルを巻き戻しに失敗しました" -#: backup/basebackup.c:479 +#: backup/basebackup.c:481 #, c-format msgid "could not find any WAL files" msgstr "WALファイルが全くありません" -#: backup/basebackup.c:494 backup/basebackup.c:509 backup/basebackup.c:518 +#: backup/basebackup.c:496 backup/basebackup.c:511 backup/basebackup.c:520 #, c-format msgid "could not find WAL file \"%s\"" msgstr "WALファイル\"%s\"がありませんでした" -#: backup/basebackup.c:560 backup/basebackup.c:585 +#: backup/basebackup.c:562 backup/basebackup.c:587 #, c-format msgid "unexpected WAL file size \"%s\"" msgstr "想定しないWALファイルのサイズ\"%s\"" -#: backup/basebackup.c:656 +#: backup/basebackup.c:658 #, c-format msgid "%lld total checksum verification failure" msgid_plural "%lld total checksum verification failures" msgstr[0] "合計%lld個のデータチェックサム検証エラー" -#: backup/basebackup.c:663 +#: backup/basebackup.c:665 #, c-format msgid "checksum verification failure during base backup" msgstr "ベースバックアップ中にチェックサム確認が失敗しました" -#: backup/basebackup.c:733 backup/basebackup.c:742 backup/basebackup.c:753 backup/basebackup.c:770 backup/basebackup.c:779 backup/basebackup.c:788 backup/basebackup.c:803 backup/basebackup.c:820 backup/basebackup.c:829 backup/basebackup.c:841 backup/basebackup.c:865 backup/basebackup.c:879 backup/basebackup.c:890 backup/basebackup.c:901 backup/basebackup.c:914 +#: backup/basebackup.c:735 backup/basebackup.c:744 backup/basebackup.c:755 backup/basebackup.c:772 backup/basebackup.c:781 backup/basebackup.c:790 backup/basebackup.c:805 backup/basebackup.c:822 backup/basebackup.c:831 backup/basebackup.c:843 backup/basebackup.c:867 backup/basebackup.c:881 backup/basebackup.c:892 backup/basebackup.c:903 backup/basebackup.c:916 #, c-format msgid "duplicate option \"%s\"" msgstr "\"%s\"オプションは重複しています" -#: backup/basebackup.c:761 +#: backup/basebackup.c:763 #, c-format msgid "unrecognized checkpoint type: \"%s\"" msgstr "認識されないチェックポイントタイプ: \"%s\"" -#: backup/basebackup.c:793 +#: backup/basebackup.c:795 #, c-format msgid "incremental backups cannot be taken unless WAL summarization is enabled" msgstr "WAL集約が有効でなければ差分バックアップは取得できません" -#: backup/basebackup.c:809 +#: backup/basebackup.c:811 #, c-format msgid "%d is outside the valid range for parameter \"%s\" (%d .. %d)" msgstr "%dはパラメータ\"%s\"の有効範囲を超えています(%d .. %d)" -#: backup/basebackup.c:854 +#: backup/basebackup.c:856 #, c-format msgid "unrecognized manifest option: \"%s\"" msgstr "認識できない目録オプション: \"%s\"" -#: backup/basebackup.c:905 +#: backup/basebackup.c:907 #, c-format msgid "unrecognized compression algorithm: \"%s\"" msgstr "認識できない圧縮アルゴリズム: \"%s\"" -#: backup/basebackup.c:921 +#: backup/basebackup.c:923 #, c-format msgid "unrecognized base backup option: \"%s\"" msgstr "認識できないベースバックアップオプション: \"%s\"" -#: backup/basebackup.c:932 +#: backup/basebackup.c:934 #, c-format msgid "manifest checksums require a backup manifest" msgstr "目録のチェックサムにはバックアップ目録が必要です" -#: backup/basebackup.c:941 +#: backup/basebackup.c:943 #, c-format msgid "target detail cannot be used without target" msgstr "ターゲット詳細はターゲットの指定なしでは指定できません" -#: backup/basebackup.c:950 backup/basebackup_target.c:218 +#: backup/basebackup.c:952 backup/basebackup_target.c:218 #, c-format msgid "target \"%s\" does not accept a target detail" msgstr "ターゲット\"%s\"はターゲット詳細を受け付けません" -#: backup/basebackup.c:961 +#: backup/basebackup.c:963 #, c-format msgid "compression detail cannot be specified unless compression is enabled" msgstr "圧縮詳細は圧縮が有効でない場合は指定できません" -#: backup/basebackup.c:974 +#: backup/basebackup.c:976 #, c-format msgid "invalid compression specification: %s" msgstr "不正な圧縮指定: %s" -#: backup/basebackup.c:1024 +#: backup/basebackup.c:1026 #, c-format msgid "must UPLOAD_MANIFEST before performing an incremental BASE_BACKUP" msgstr "差分のBASE_BACKUPの実行前にUPLOAD_MANIFESTを実行する必要があります" -#: backup/basebackup.c:1157 backup/basebackup.c:1358 +#: backup/basebackup.c:1159 backup/basebackup.c:1360 #, c-format msgid "could not stat file or directory \"%s\": %m" msgstr "\"%s\"というファイルまたはディレクトリの情報を取得できませんでした。: %m" -#: backup/basebackup.c:1544 +#: backup/basebackup.c:1546 #, c-format msgid "skipping special file \"%s\"" msgstr "スペシャルファイル\"%s\"をスキップしています" -#: backup/basebackup.c:1751 +#: backup/basebackup.c:1753 #, c-format msgid "could not verify checksum in file \"%s\", block %u: read buffer size %d and page size %d differ" msgstr "ファイル\"%s\"、ブロック%uでチェックサム検証に失敗しました: 読み込みバッファサイズ%dとページサイズ%dが異なっています" -#: backup/basebackup.c:1813 +#: backup/basebackup.c:1815 #, c-format msgid "file \"%s\" has a total of %d checksum verification failure" msgid_plural "file \"%s\" has a total of %d checksum verification failures" msgstr[0] "ファイル\"%s\"では合計%d個のチェックサムエラーが発生しました" -#: backup/basebackup.c:1917 +#: backup/basebackup.c:1919 #, c-format msgid "checksum verification failed in file \"%s\", block %u: calculated %X but expected %X" msgstr "ファイル\"%s\"のブロック%uでチェックサム検証が失敗しました: 計算されたチェックサムは%Xですが想定は%Xです" -#: backup/basebackup.c:1924 +#: backup/basebackup.c:1926 #, c-format msgid "further checksum verification failures in file \"%s\" will not be reported" msgstr "ファイル\"%s\"における以降のチェックサムエラーは報告されません" -#: backup/basebackup.c:2048 +#: backup/basebackup.c:2051 #, c-format msgid "file name too long for tar format: \"%s\"" msgstr "ファイル名がtarフォーマットに対して長すぎます: \"%s\"" -#: backup/basebackup.c:2053 +#: backup/basebackup.c:2057 #, c-format msgid "symbolic link target too long for tar format: file name \"%s\", target \"%s\"" msgstr "シンボリックリンクのリンク先tarのフォーマットにとって長すぎます: ファイル名 \"%s\", リンク先 \"%s\"" -#: backup/basebackup.c:2127 +#: backup/basebackup.c:2131 #, c-format msgid "could not read file \"%s\": read %zd of %zu" msgstr "ファイル\"%1$s\"を読み込めませんでした: %3$zuバイトのうち%2$zdバイトを読み込みました" @@ -3623,80 +3588,65 @@ msgstr "このビルドではgzip圧縮はサポートされていません" msgid "could not initialize compression library" msgstr "圧縮ライブラリを初期化できませんでした" -#: backup/basebackup_incremental.c:300 +#: backup/basebackup_incremental.c:292 #, c-format msgid "manifest contains no required WAL ranges" msgstr "必要となるWAL範囲がマニフェストに含まれてません" -#: backup/basebackup_incremental.c:355 +#: backup/basebackup_incremental.c:347 #, c-format msgid "timeline %u found in manifest, but not in this server's history" msgstr "タイムライン%uがマニフェストにありましたが、サーバーの履歴上に存在しません" -#: backup/basebackup_incremental.c:420 +#: backup/basebackup_incremental.c:412 #, c-format msgid "manifest requires WAL from initial timeline %u starting at %X/%X, but that timeline begins at %X/%X" msgstr "マニフェストが%2$X/%3$Xから始まる初期タイムライン%1$uのWALを必要としてますが、このタイムラインは%4$X/%5$Xから始まっています" -#: backup/basebackup_incremental.c:430 +#: backup/basebackup_incremental.c:422 #, c-format msgid "manifest requires WAL from continuation timeline %u starting at %X/%X, but that timeline begins at %X/%X" msgstr "マニフェストが%2$X/%3$Xから始まる継続タイムライン%1$uのWALをを必要としてますが、このタイムラインは%4$X/%5$Xから始まっています" -#: backup/basebackup_incremental.c:441 +#: backup/basebackup_incremental.c:433 #, c-format msgid "manifest requires WAL from final timeline %u ending at %X/%X, but this backup starts at %X/%X" msgstr "マニフェストは%2$X/%3$Xで終了する最終タイムライン%1$uからのWALを必要としますが、このバックアップは%4$X/%5$Xで開始されます" -#: backup/basebackup_incremental.c:451 -#, c-format -msgid "manifest requires WAL from non-final timeline %u ending at %X/%X, but this server switched timelines at %X/%X" -msgstr "マニフェストが%2$X/%3$Xで終了する非最終タイムライン%1$uのWALをを必要としてますが、このサーバーではタイムラインが%4$X/%5$Xで切り替わっています" - -#: backup/basebackup_incremental.c:518 -#, c-format -msgid "WAL summarization is not progressing" -msgstr "WAL集計が進んでいません" - -#: backup/basebackup_incremental.c:519 -#, c-format -msgid "Summarization is needed through %X/%X, but is stuck at %X/%X on disk and %X/%X in memory." -msgstr "集計は%X/%Xまで進んでいる必要がありますが、ディスク上では%X/%X、メモリ上では%X/%Xよりあとまで進んでいません。" - -#: backup/basebackup_incremental.c:532 +#: backup/basebackup_incremental.c:437 #, c-format -msgid "still waiting for WAL summarization through %X/%X after %ld seconds" -msgstr "%3$ld秒経過しましたが、WAL集計が%1$X/%2$Xに到達するのを待っている状況です" +msgid "This can happen for incremental backups on a standby if there was little activity since the previous backup." +msgstr "これはスタンバイ上の差分バックアップで前回のバックアップ以降の更新が少なかった場合に起きることがあります。" -#: backup/basebackup_incremental.c:535 +#: backup/basebackup_incremental.c:444 #, c-format -msgid "Summarization has reached %X/%X on disk and %X/%X in memory." -msgstr "集計がディスク上で%X/%X、メモリ上で%X/%Xに到達しました。" +msgid "manifest requires WAL from non-final timeline %u ending at %X/%X, but this server switched timelines at %X/%X" +msgstr "マニフェストが%2$X/%3$Xで終了する非最終タイムライン%1$uのWALをを必要としてますが、このサーバーではタイムラインが%4$X/%5$Xで切り替わっています" -#: backup/basebackup_incremental.c:604 +#: backup/basebackup_incremental.c:525 #, c-format msgid "WAL summaries are required on timeline %u from %X/%X to %X/%X, but no summaries for that timeline and LSN range exist" msgstr "WAL集計がタイムライン%u上の%X/%Xから%X/%Xまで必要ですが、そのタイムライン上のそのLSN範囲での集計は存在しません" -#: backup/basebackup_incremental.c:611 +#: backup/basebackup_incremental.c:532 #, c-format msgid "WAL summaries are required on timeline %u from %X/%X to %X/%X, but the summaries for that timeline and LSN range are incomplete" msgstr "WAL集計がタイムライン%u上の%X/%Xから%X/%Xまで必要ですが、そのタイムライン上のそのLSN範囲での集計は不完全です" -#: backup/basebackup_incremental.c:615 +#: backup/basebackup_incremental.c:536 #, c-format msgid "The first unsummarized LSN in this range is %X/%X." msgstr "この範囲で集計されていない最初のLSNは%X/%Xです。" -#: backup/basebackup_incremental.c:1015 +#: backup/basebackup_incremental.c:936 #, c-format msgid "backup manifest version 1 does not support incremental backup" msgstr "バックアップ目録のバージョン1は差分バックアップをサポートしていません" -#: backup/basebackup_incremental.c:1033 +#: backup/basebackup_incremental.c:954 #, c-format -msgid "manifest system identifier is %llu, but database system identifier is %llu" -msgstr "目録のシステム識別子が%lluですが、データベースのシステム識別子は%lluです" +msgid "system identifier in backup manifest is %llu, but database system identifier is %llu" +msgstr "バックアップ目録中のシステム識別子が%lluですが、データベースのシステム識別子は%lluです" #: backup/basebackup_lz4.c:67 #, c-format @@ -3718,7 +3668,7 @@ msgstr "\"%s\"ロールの権限を持つロールのみが、サーバー上に msgid "relative path not allowed for backup stored on server" msgstr "サーバー上に格納されるバックアップでは相対パスは指定できません" -#: 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 storage/file/copydir.c:47 +#: 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:2014 storage/file/copydir.c:47 #, c-format msgid "could not create directory \"%s\": %m" msgstr "ディレクトリ\"%s\"を作成できませんでした: %m" @@ -3728,12 +3678,12 @@ msgstr "ディレクトリ\"%s\"を作成できませんでした: %m" msgid "directory \"%s\" exists but is not empty" msgstr "ディレクトリ\"%s\"は存在しますが、空ではありません" -#: backup/basebackup_server.c:123 utils/init/postinit.c:1177 +#: backup/basebackup_server.c:123 utils/init/postinit.c:1138 #, c-format msgid "could not access directory \"%s\": %m" msgstr "ディレクトリ\"%s\"にアクセスできませんでした: %m" -#: 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 +#: 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:1020 #, c-format msgid "Check free disk space." msgstr "ディスクの空き容量をチェックしてください。" @@ -3773,666 +3723,666 @@ msgstr "長距離モードを有効化できませんでした: %s" msgid "invalid timeline %lld" msgstr "不正なタイムライン%lld" -#: bootstrap/bootstrap.c:239 postmaster/postmaster.c:623 tcop/postgres.c:3859 +#: bootstrap/bootstrap.c:238 postmaster/postmaster.c:594 tcop/postgres.c:3951 #, c-format msgid "--%s requires a value" msgstr "--%sには値が必要です" -#: bootstrap/bootstrap.c:244 postmaster/postmaster.c:628 tcop/postgres.c:3864 +#: bootstrap/bootstrap.c:243 postmaster/postmaster.c:599 tcop/postgres.c:3956 #, c-format msgid "-c %s requires a value" msgstr "-c %sは値が必要です" -#: bootstrap/bootstrap.c:282 postmaster/postmaster.c:746 postmaster/postmaster.c:759 +#: bootstrap/bootstrap.c:281 postmaster/postmaster.c:717 postmaster/postmaster.c:730 #, c-format msgid "Try \"%s --help\" for more information.\n" msgstr "詳細については\"%s --help\"を実行してください。\n" -#: bootstrap/bootstrap.c:291 +#: bootstrap/bootstrap.c:290 #, c-format msgid "%s: invalid command-line arguments\n" msgstr "%s: コマンドライン引数が不正です\n" -#: catalog/aclchk.c:210 +#: catalog/aclchk.c:211 #, c-format msgid "grant options can only be granted to roles" msgstr "グラントオプションはロールにのみ付与できます" -#: catalog/aclchk.c:332 +#: catalog/aclchk.c:333 #, c-format msgid "no privileges were granted for column \"%s\" of relation \"%s\"" msgstr "リレーション\"%2$s\"の列\"%1$s\"に付与された権限はありません" -#: catalog/aclchk.c:337 +#: catalog/aclchk.c:338 #, c-format msgid "no privileges were granted for \"%s\"" msgstr "\"%s\"に付与された権限はありません" -#: catalog/aclchk.c:345 +#: catalog/aclchk.c:346 #, c-format msgid "not all privileges were granted for column \"%s\" of relation \"%s\"" msgstr "リレーション\"%2$s\"の列\"%1$s\"に対して一部の権限が付与されませんでした" -#: catalog/aclchk.c:350 +#: catalog/aclchk.c:351 #, c-format msgid "not all privileges were granted for \"%s\"" msgstr "\"%s\"に対して一部の権限が付与されませんでした" -#: catalog/aclchk.c:361 +#: catalog/aclchk.c:362 #, c-format msgid "no privileges could be revoked for column \"%s\" of relation \"%s\"" msgstr "リレーション\"%2$s\"の列\"%1$s\"から剥奪できた権限はありません" -#: catalog/aclchk.c:366 +#: catalog/aclchk.c:367 #, c-format msgid "no privileges could be revoked for \"%s\"" msgstr "\"%s\"に対して剥奪できた権限はありません" -#: catalog/aclchk.c:374 +#: catalog/aclchk.c:375 #, c-format msgid "not all privileges could be revoked for column \"%s\" of relation \"%s\"" msgstr "リレーション\"%2$s\"の列\"%1$s\"に対して一部の権限が剥奪できませんでした" -#: catalog/aclchk.c:379 +#: catalog/aclchk.c:380 #, c-format msgid "not all privileges could be revoked for \"%s\"" msgstr "\"%s\"に対して一部の権限が剥奪できませんでした" -#: catalog/aclchk.c:411 +#: catalog/aclchk.c:412 #, c-format msgid "grantor must be current user" msgstr "権限付与者は現在のユーザーでなければなりません" -#: catalog/aclchk.c:479 catalog/aclchk.c:1054 +#: catalog/aclchk.c:480 catalog/aclchk.c:1055 #, c-format msgid "invalid privilege type %s for relation" msgstr "リレーションに対する不正な権限のタイプ %s" -#: catalog/aclchk.c:483 catalog/aclchk.c:1058 +#: catalog/aclchk.c:484 catalog/aclchk.c:1059 #, c-format msgid "invalid privilege type %s for sequence" msgstr "シーケンスに対する不正な権限のタイプ %s" -#: catalog/aclchk.c:487 +#: catalog/aclchk.c:488 #, c-format msgid "invalid privilege type %s for database" msgstr "データベースに対する不正な権限タイプ %s" -#: catalog/aclchk.c:491 +#: catalog/aclchk.c:492 #, c-format msgid "invalid privilege type %s for domain" msgstr "ドメインに対する不正な権限タイプ %s" -#: catalog/aclchk.c:495 catalog/aclchk.c:1062 +#: catalog/aclchk.c:496 catalog/aclchk.c:1063 #, c-format msgid "invalid privilege type %s for function" msgstr "関数に対する不正な権限タイプ %s" -#: catalog/aclchk.c:499 +#: catalog/aclchk.c:500 #, c-format msgid "invalid privilege type %s for language" msgstr "言語に対する不正な権限タイプ %s" -#: catalog/aclchk.c:503 +#: catalog/aclchk.c:504 #, c-format msgid "invalid privilege type %s for large object" msgstr "ラージオブジェクトに対する不正な権限タイプ %s" -#: catalog/aclchk.c:507 catalog/aclchk.c:1078 +#: catalog/aclchk.c:508 catalog/aclchk.c:1079 #, c-format msgid "invalid privilege type %s for schema" msgstr "スキーマに対する不正な権限タイプ %s" -#: catalog/aclchk.c:511 catalog/aclchk.c:1066 +#: catalog/aclchk.c:512 catalog/aclchk.c:1067 #, c-format msgid "invalid privilege type %s for procedure" msgstr "プロシージャに対する不正な権限タイプ %s" -#: catalog/aclchk.c:515 catalog/aclchk.c:1070 +#: catalog/aclchk.c:516 catalog/aclchk.c:1071 #, c-format msgid "invalid privilege type %s for routine" msgstr "ルーチンに対する不正な権限のタイプ %s" -#: catalog/aclchk.c:519 +#: catalog/aclchk.c:520 #, c-format msgid "invalid privilege type %s for tablespace" msgstr "テーブル空間に対する不正な権限タイプ %s" -#: catalog/aclchk.c:523 catalog/aclchk.c:1074 +#: catalog/aclchk.c:524 catalog/aclchk.c:1075 #, c-format msgid "invalid privilege type %s for type" msgstr "型に対する不正な権限タイプ %s" -#: catalog/aclchk.c:527 +#: catalog/aclchk.c:528 #, c-format msgid "invalid privilege type %s for foreign-data wrapper" msgstr "外部データラッパーに対する不正な権限タイプ %s" -#: catalog/aclchk.c:531 +#: catalog/aclchk.c:532 #, c-format msgid "invalid privilege type %s for foreign server" msgstr "外部サーバーに対する不正な権限タイプ %s" -#: catalog/aclchk.c:535 +#: catalog/aclchk.c:536 #, c-format msgid "invalid privilege type %s for parameter" msgstr "パラメータに対する不正な権限タイプ %s" -#: catalog/aclchk.c:574 +#: catalog/aclchk.c:575 #, c-format msgid "column privileges are only valid for relations" msgstr "列権限はリレーションに対してのみ有効です" -#: catalog/aclchk.c:737 catalog/aclchk.c:3626 catalog/objectaddress.c:1054 catalog/pg_largeobject.c:113 storage/large_object/inv_api.c:285 +#: catalog/aclchk.c:738 catalog/aclchk.c:3627 catalog/objectaddress.c:1054 catalog/pg_largeobject.c:111 storage/large_object/inv_api.c:247 #, c-format msgid "large object %u does not exist" msgstr "ラージオブジェクト%uは存在しません" -#: catalog/aclchk.c:1111 +#: catalog/aclchk.c:1112 #, c-format msgid "default privileges cannot be set for columns" msgstr "デフォルト権限は列には設定できません" -#: catalog/aclchk.c:1147 +#: catalog/aclchk.c:1148 #, c-format msgid "permission denied to change default privileges" msgstr "デフォルト権限を変更する権限がありません" -#: catalog/aclchk.c:1265 +#: catalog/aclchk.c:1266 #, c-format msgid "cannot use IN SCHEMA clause when using GRANT/REVOKE ON SCHEMAS" msgstr "GRANT/REVOKE ON SCHEMAS を使っている時には IN SCHEMA 句は指定できません" -#: catalog/aclchk.c:1616 catalog/catalog.c:629 catalog/objectaddress.c:1523 catalog/pg_publication.c:528 commands/analyze.c:380 commands/copy.c:913 commands/sequence.c:1645 commands/tablecmds.c:7549 commands/tablecmds.c:7703 commands/tablecmds.c:7753 commands/tablecmds.c:7827 commands/tablecmds.c:7897 commands/tablecmds.c:8027 commands/tablecmds.c:8156 commands/tablecmds.c:8250 commands/tablecmds.c:8351 commands/tablecmds.c:8478 commands/tablecmds.c:8508 -#: commands/tablecmds.c:8650 commands/tablecmds.c:8743 commands/tablecmds.c:8877 commands/tablecmds.c:8989 commands/tablecmds.c:12709 commands/tablecmds.c:12890 commands/tablecmds.c:13051 commands/tablecmds.c:14240 commands/tablecmds.c:16866 commands/trigger.c:942 parser/analyze.c:2530 parser/parse_relation.c:737 parser/parse_target.c:1067 parser/parse_type.c:144 parser/parse_utilcmd.c:3538 parser/parse_utilcmd.c:3578 parser/parse_utilcmd.c:3620 utils/adt/acl.c:2917 -#: utils/adt/ruleutils.c:2811 +#: catalog/aclchk.c:1617 catalog/catalog.c:657 catalog/heap.c:2556 catalog/heap.c:2843 catalog/objectaddress.c:1523 catalog/pg_publication.c:568 commands/analyze.c:386 commands/copy.c:986 commands/sequence.c:1655 commands/tablecmds.c:7576 commands/tablecmds.c:7741 commands/tablecmds.c:7933 commands/tablecmds.c:8063 commands/tablecmds.c:8192 commands/tablecmds.c:8286 commands/tablecmds.c:8387 commands/tablecmds.c:8514 commands/tablecmds.c:8544 +#: commands/tablecmds.c:8686 commands/tablecmds.c:8779 commands/tablecmds.c:8913 commands/tablecmds.c:9026 commands/tablecmds.c:13179 commands/tablecmds.c:13371 commands/tablecmds.c:13532 commands/tablecmds.c:14737 commands/tablecmds.c:17471 commands/trigger.c:943 parser/analyze.c:2622 parser/parse_relation.c:737 parser/parse_target.c:1070 parser/parse_type.c:144 parser/parse_utilcmd.c:3629 parser/parse_utilcmd.c:3669 parser/parse_utilcmd.c:3711 +#: statistics/attribute_stats.c:167 statistics/attribute_stats.c:876 utils/adt/acl.c:2921 utils/adt/ruleutils.c:2848 #, c-format msgid "column \"%s\" of relation \"%s\" does not exist" msgstr "リレーション\"%2$s\"の列\"%1$s\"は存在しません" -#: catalog/aclchk.c:1861 +#: catalog/aclchk.c:1862 #, c-format msgid "\"%s\" is an index" msgstr "\"%s\"はインデックスです" -#: catalog/aclchk.c:1868 commands/tablecmds.c:14397 commands/tablecmds.c:17775 +#: catalog/aclchk.c:1869 commands/tablecmds.c:14894 commands/tablecmds.c:18390 #, c-format msgid "\"%s\" is a composite type" msgstr "\"%s\"は複合型です" -#: catalog/aclchk.c:1876 catalog/objectaddress.c:1363 commands/tablecmds.c:263 commands/tablecmds.c:17739 utils/adt/acl.c:2101 utils/adt/acl.c:2131 utils/adt/acl.c:2164 utils/adt/acl.c:2200 utils/adt/acl.c:2231 utils/adt/acl.c:2262 +#: catalog/aclchk.c:1877 catalog/objectaddress.c:1363 commands/tablecmds.c:266 commands/tablecmds.c:18354 utils/adt/acl.c:2105 utils/adt/acl.c:2135 utils/adt/acl.c:2168 utils/adt/acl.c:2204 utils/adt/acl.c:2235 utils/adt/acl.c:2266 #, c-format msgid "\"%s\" is not a sequence" msgstr "\"%s\"はシーケンスではありません" -#: catalog/aclchk.c:1914 +#: catalog/aclchk.c:1915 #, c-format msgid "sequence \"%s\" only supports USAGE, SELECT, and UPDATE privileges" msgstr "シーケンス \"%s\"では USAGE, SELECT, UPDATE 権限のみをサポートします" -#: catalog/aclchk.c:1931 +#: catalog/aclchk.c:1932 #, c-format msgid "invalid privilege type %s for table" msgstr "テーブルに対する権限タイプ%sは不正です" -#: catalog/aclchk.c:2094 +#: catalog/aclchk.c:2097 #, c-format msgid "invalid privilege type %s for column" msgstr "列では権限タイプ %s は無効です" -#: catalog/aclchk.c:2107 +#: catalog/aclchk.c:2110 #, c-format msgid "sequence \"%s\" only supports SELECT column privileges" msgstr "シーケンス \"%s\"では USAGE, SELECT, UPDATE のみをサポートします" -#: catalog/aclchk.c:2297 +#: catalog/aclchk.c:2301 #, c-format msgid "language \"%s\" is not trusted" msgstr "言語\"%s\"は信頼されていません" -#: catalog/aclchk.c:2299 +#: catalog/aclchk.c:2303 #, c-format msgid "GRANT and REVOKE are not allowed on untrusted languages, because only superusers can use untrusted languages." msgstr "信頼されない言語はスーパーユーザーのみが使用可能なため、GRANTとREVOKEは信頼されない言語上では実行不可です。" -#: catalog/aclchk.c:2451 +#: catalog/aclchk.c:2454 #, c-format msgid "cannot set privileges of array types" msgstr "配列型の権限を設定できません" -#: catalog/aclchk.c:2452 +#: catalog/aclchk.c:2455 #, c-format msgid "Set the privileges of the element type instead." msgstr "代わりに要素型の権限を設定してください。" -#: catalog/aclchk.c:2456 +#: catalog/aclchk.c:2459 #, c-format msgid "cannot set privileges of multirange types" msgstr "複範囲型の権限を設定できません" -#: catalog/aclchk.c:2457 +#: catalog/aclchk.c:2460 #, c-format msgid "Set the privileges of the range type instead." msgstr "代わりに範囲型の権限を設定してください。" -#: catalog/aclchk.c:2464 catalog/objectaddress.c:1629 +#: catalog/aclchk.c:2467 catalog/objectaddress.c:1629 #, c-format msgid "\"%s\" is not a domain" msgstr "\"%s\"はドメインではありません" -#: catalog/aclchk.c:2650 +#: catalog/aclchk.c:2651 #, c-format msgid "unrecognized privilege type \"%s\"" msgstr "認識できない権限タイプ\"%s\"" -#: catalog/aclchk.c:2717 +#: catalog/aclchk.c:2718 #, c-format msgid "permission denied for aggregate %s" msgstr "集約 %s へのアクセスが拒否されました" -#: catalog/aclchk.c:2720 +#: catalog/aclchk.c:2721 #, c-format msgid "permission denied for collation %s" msgstr "照合順序 %s へのアクセスが拒否されました" -#: catalog/aclchk.c:2723 +#: catalog/aclchk.c:2724 #, c-format msgid "permission denied for column %s" msgstr "列 %s へのアクセスが拒否されました" -#: catalog/aclchk.c:2726 +#: catalog/aclchk.c:2727 #, c-format msgid "permission denied for conversion %s" msgstr "変換 %s へのアクセスが拒否されました" -#: catalog/aclchk.c:2729 +#: catalog/aclchk.c:2730 #, c-format msgid "permission denied for database %s" msgstr "データベース %s へのアクセスが拒否されました" -#: catalog/aclchk.c:2732 +#: catalog/aclchk.c:2733 #, c-format msgid "permission denied for domain %s" msgstr "ドメイン %s へのアクセスが拒否されました" -#: catalog/aclchk.c:2735 +#: catalog/aclchk.c:2736 #, c-format msgid "permission denied for event trigger %s" msgstr "イベントトリガ %s へのアクセスが拒否されました" -#: catalog/aclchk.c:2738 +#: catalog/aclchk.c:2739 #, c-format msgid "permission denied for extension %s" msgstr "機能拡張 %s へのアクセスが拒否されました" -#: catalog/aclchk.c:2741 +#: catalog/aclchk.c:2742 #, c-format msgid "permission denied for foreign-data wrapper %s" msgstr "外部データラッパ %s へのアクセスが拒否されました" -#: catalog/aclchk.c:2744 +#: catalog/aclchk.c:2745 #, c-format msgid "permission denied for foreign server %s" msgstr "外部サーバー %s へのアクセスが拒否されました" -#: catalog/aclchk.c:2747 +#: catalog/aclchk.c:2748 #, c-format msgid "permission denied for foreign table %s" msgstr "外部テーブル %s へのアクセスが拒否されました" -#: catalog/aclchk.c:2750 +#: catalog/aclchk.c:2751 #, c-format msgid "permission denied for function %s" msgstr "関数 %s へのアクセスが拒否されました" -#: catalog/aclchk.c:2753 +#: catalog/aclchk.c:2754 #, c-format msgid "permission denied for index %s" msgstr "インデックス %s へのアクセスが拒否されました" -#: catalog/aclchk.c:2756 +#: catalog/aclchk.c:2757 #, c-format msgid "permission denied for language %s" msgstr "言語 %s へのアクセスが拒否されました" -#: catalog/aclchk.c:2759 +#: catalog/aclchk.c:2760 #, c-format msgid "permission denied for large object %s" msgstr "ラージオブジェクト %s へのアクセスが拒否されました" -#: catalog/aclchk.c:2762 +#: catalog/aclchk.c:2763 #, c-format msgid "permission denied for materialized view %s" msgstr "実体化ビュー %s へのアクセスが拒否されました" -#: catalog/aclchk.c:2765 +#: catalog/aclchk.c:2766 #, c-format msgid "permission denied for operator class %s" msgstr "演算子クラス %s へのアクセスが拒否されました" -#: catalog/aclchk.c:2768 +#: catalog/aclchk.c:2769 #, c-format msgid "permission denied for operator %s" msgstr "演算子 %s へのアクセスが拒否されました" -#: catalog/aclchk.c:2771 +#: catalog/aclchk.c:2772 #, c-format msgid "permission denied for operator family %s" msgstr "演算子族 %s へのアクセスが拒否されました" -#: catalog/aclchk.c:2774 +#: catalog/aclchk.c:2775 #, c-format msgid "permission denied for parameter %s" msgstr "パラメータ %s へのアクセスが拒否されました" -#: catalog/aclchk.c:2777 +#: catalog/aclchk.c:2778 #, c-format msgid "permission denied for policy %s" msgstr "ポリシ %s へのアクセスが拒否されました" -#: catalog/aclchk.c:2780 +#: catalog/aclchk.c:2781 #, c-format msgid "permission denied for procedure %s" msgstr "プロシージャ %s へのアクセスが拒否されました" -#: catalog/aclchk.c:2783 +#: catalog/aclchk.c:2784 #, c-format msgid "permission denied for publication %s" msgstr "パブリケーション%sへのアクセスが拒否されました" -#: catalog/aclchk.c:2786 +#: catalog/aclchk.c:2787 #, c-format msgid "permission denied for routine %s" msgstr "ルーチン %s へのアクセスが拒否されました" -#: catalog/aclchk.c:2789 +#: catalog/aclchk.c:2790 #, c-format msgid "permission denied for schema %s" msgstr "スキーマ %s へのアクセスが拒否されました" -#: catalog/aclchk.c:2792 commands/sequence.c:647 commands/sequence.c:873 commands/sequence.c:915 commands/sequence.c:956 commands/sequence.c:1743 commands/sequence.c:1789 +#: catalog/aclchk.c:2793 commands/sequence.c:654 commands/sequence.c:880 commands/sequence.c:922 commands/sequence.c:963 commands/sequence.c:1753 #, c-format msgid "permission denied for sequence %s" msgstr "シーケンス %s へのアクセスが拒否されました" -#: catalog/aclchk.c:2795 +#: catalog/aclchk.c:2796 #, c-format msgid "permission denied for statistics object %s" msgstr "統計情報オブジェクト %s へのアクセスが拒否されました" -#: catalog/aclchk.c:2798 +#: catalog/aclchk.c:2799 #, c-format msgid "permission denied for subscription %s" msgstr "サブスクリプション %s へのアクセスが拒否されました" -#: catalog/aclchk.c:2801 +#: catalog/aclchk.c:2802 #, c-format msgid "permission denied for table %s" msgstr "テーブル %s へのアクセスが拒否されました" -#: catalog/aclchk.c:2804 +#: catalog/aclchk.c:2805 #, c-format msgid "permission denied for tablespace %s" msgstr "テーブル空間 %s へのアクセスが拒否されました" -#: catalog/aclchk.c:2807 +#: catalog/aclchk.c:2808 #, c-format msgid "permission denied for text search configuration %s" msgstr "テキスト検索設定 %s へのアクセスが拒否されました" -#: catalog/aclchk.c:2810 +#: catalog/aclchk.c:2811 #, c-format msgid "permission denied for text search dictionary %s" msgstr "テキスト検索辞書 %s へのアクセスが拒否されました" -#: catalog/aclchk.c:2813 +#: catalog/aclchk.c:2814 #, c-format msgid "permission denied for type %s" msgstr "型 %s へのアクセスが拒否されました" -#: catalog/aclchk.c:2816 +#: catalog/aclchk.c:2817 #, c-format msgid "permission denied for view %s" msgstr "ビュー %s へのアクセスが拒否されました" -#: catalog/aclchk.c:2852 +#: catalog/aclchk.c:2853 #, c-format msgid "must be owner of aggregate %s" msgstr "集約 %s の所有者である必要があります" -#: catalog/aclchk.c:2855 +#: catalog/aclchk.c:2856 #, c-format msgid "must be owner of collation %s" msgstr "照合順序 %s の所有者である必要があります" -#: catalog/aclchk.c:2858 +#: catalog/aclchk.c:2859 #, c-format msgid "must be owner of conversion %s" msgstr "変換 %s の所有者である必要があります" -#: catalog/aclchk.c:2861 +#: catalog/aclchk.c:2862 #, c-format msgid "must be owner of database %s" msgstr "データベース %s の所有者である必要があります" -#: catalog/aclchk.c:2864 +#: catalog/aclchk.c:2865 #, c-format msgid "must be owner of domain %s" msgstr "ドメイン %s の所有者である必要があります" -#: catalog/aclchk.c:2867 +#: catalog/aclchk.c:2868 #, c-format msgid "must be owner of event trigger %s" msgstr "イベントトリガ %s の所有者である必要があります" -#: catalog/aclchk.c:2870 +#: catalog/aclchk.c:2871 #, c-format msgid "must be owner of extension %s" msgstr "機能拡張 %s の所有者である必要があります" -#: catalog/aclchk.c:2873 +#: catalog/aclchk.c:2874 #, c-format msgid "must be owner of foreign-data wrapper %s" msgstr "外部データラッパー %s の所有者である必要があります" -#: catalog/aclchk.c:2876 +#: catalog/aclchk.c:2877 #, c-format msgid "must be owner of foreign server %s" msgstr "外部サーバー %s の所有者である必要があります" -#: catalog/aclchk.c:2879 +#: catalog/aclchk.c:2880 #, c-format msgid "must be owner of foreign table %s" msgstr "外部テーブル %s の所有者である必要があります" -#: catalog/aclchk.c:2882 +#: catalog/aclchk.c:2883 #, c-format msgid "must be owner of function %s" msgstr "関数 %s の所有者である必要があります" -#: catalog/aclchk.c:2885 +#: catalog/aclchk.c:2886 #, c-format msgid "must be owner of index %s" msgstr "インデックス %s の所有者である必要があります" -#: catalog/aclchk.c:2888 +#: catalog/aclchk.c:2889 #, c-format msgid "must be owner of language %s" msgstr "言語 %s の所有者である必要があります" -#: catalog/aclchk.c:2891 +#: catalog/aclchk.c:2892 #, c-format msgid "must be owner of large object %s" msgstr "ラージオブジェクト %s の所有者である必要があります" -#: catalog/aclchk.c:2894 +#: catalog/aclchk.c:2895 #, c-format msgid "must be owner of materialized view %s" msgstr "実体化ビュー %s の所有者である必要があります" -#: catalog/aclchk.c:2897 +#: catalog/aclchk.c:2898 #, c-format msgid "must be owner of operator class %s" msgstr "演算子クラス %s の所有者である必要があります" -#: catalog/aclchk.c:2900 +#: catalog/aclchk.c:2901 #, c-format msgid "must be owner of operator %s" msgstr "演算子 %s の所有者である必要があります" -#: catalog/aclchk.c:2903 +#: catalog/aclchk.c:2904 #, c-format msgid "must be owner of operator family %s" msgstr "演算子族 %s の所有者である必要があります" -#: catalog/aclchk.c:2906 +#: catalog/aclchk.c:2907 #, c-format msgid "must be owner of procedure %s" msgstr "プロシージャ %s の所有者である必要があります" -#: catalog/aclchk.c:2909 +#: catalog/aclchk.c:2910 #, c-format msgid "must be owner of publication %s" msgstr "パブリケーション %s の所有者である必要があります" -#: catalog/aclchk.c:2912 +#: catalog/aclchk.c:2913 #, c-format msgid "must be owner of routine %s" msgstr "ルーチン %s の所有者である必要があります" -#: catalog/aclchk.c:2915 +#: catalog/aclchk.c:2916 #, c-format msgid "must be owner of sequence %s" msgstr "シーケンス %s の所有者である必要があります" -#: catalog/aclchk.c:2918 +#: catalog/aclchk.c:2919 #, c-format msgid "must be owner of subscription %s" msgstr "サブスクリプション %s の所有者である必要があります" -#: catalog/aclchk.c:2921 +#: catalog/aclchk.c:2922 #, c-format msgid "must be owner of table %s" msgstr "テーブル %s の所有者である必要があります" -#: catalog/aclchk.c:2924 +#: catalog/aclchk.c:2925 #, c-format msgid "must be owner of type %s" msgstr "型 %s の所有者である必要があります" -#: catalog/aclchk.c:2927 +#: catalog/aclchk.c:2928 #, c-format msgid "must be owner of view %s" msgstr "ビュー %s の所有者である必要があります" -#: catalog/aclchk.c:2930 +#: catalog/aclchk.c:2931 #, c-format msgid "must be owner of schema %s" msgstr "スキーマ %s の所有者である必要があります" -#: catalog/aclchk.c:2933 +#: catalog/aclchk.c:2934 #, c-format msgid "must be owner of statistics object %s" msgstr "統計情報オブジェクト %s の所有者である必要があります" -#: catalog/aclchk.c:2936 +#: catalog/aclchk.c:2937 #, c-format msgid "must be owner of tablespace %s" msgstr "テーブル空間 %s の所有者である必要があります" -#: catalog/aclchk.c:2939 +#: catalog/aclchk.c:2940 #, c-format msgid "must be owner of text search configuration %s" msgstr "テキスト検索設定 %s の所有者である必要があります" -#: catalog/aclchk.c:2942 +#: catalog/aclchk.c:2943 #, c-format msgid "must be owner of text search dictionary %s" msgstr "テキスト検索辞書 %s の所有者である必要があります" -#: catalog/aclchk.c:2956 +#: catalog/aclchk.c:2957 #, c-format msgid "must be owner of relation %s" msgstr "リレーション %s の所有者である必要があります" -#: catalog/aclchk.c:3002 +#: catalog/aclchk.c:3003 #, c-format msgid "permission denied for column \"%s\" of relation \"%s\"" msgstr "リレーション\"%2$s\"の列\"%1$s\"へのアクセスが拒否されました" -#: catalog/aclchk.c:3159 catalog/aclchk.c:4167 catalog/aclchk.c:4198 +#: catalog/aclchk.c:3160 catalog/aclchk.c:4168 catalog/aclchk.c:4199 #, c-format msgid "%s with OID %u does not exist" msgstr "OID %2$uの%1$sは存在しません" -#: catalog/aclchk.c:3242 catalog/aclchk.c:3261 +#: catalog/aclchk.c:3243 catalog/aclchk.c:3262 #, c-format msgid "attribute %d of relation with OID %u does not exist" msgstr "OID %2$uのリレーションに属性%1$dは存在しません" -#: catalog/aclchk.c:3299 catalog/aclchk.c:3362 catalog/aclchk.c:4001 +#: catalog/aclchk.c:3300 catalog/aclchk.c:3363 catalog/aclchk.c:4002 #, c-format msgid "relation with OID %u does not exist" msgstr "OID %uのリレーションは存在しません" -#: catalog/aclchk.c:3547 +#: catalog/aclchk.c:3548 #, c-format msgid "parameter ACL with OID %u does not exist" msgstr "OID %uのパラメータACLは存在しません" -#: catalog/aclchk.c:3720 commands/collationcmds.c:853 commands/publicationcmds.c:1739 +#: catalog/aclchk.c:3721 commands/collationcmds.c:849 commands/publicationcmds.c:1758 #, c-format msgid "schema with OID %u does not exist" msgstr "OID %uのスキーマは存在しません" -#: catalog/aclchk.c:3794 catalog/aclchk.c:3821 catalog/aclchk.c:3850 utils/cache/typcache.c:392 utils/cache/typcache.c:447 +#: catalog/aclchk.c:3795 catalog/aclchk.c:3822 catalog/aclchk.c:3851 utils/cache/typcache.c:473 utils/cache/typcache.c:527 #, c-format msgid "type with OID %u does not exist" msgstr "OID %uの型は存在しません" -#: catalog/catalog.c:447 +#: catalog/catalog.c:475 #, c-format msgid "still searching for an unused OID in relation \"%s\"" msgstr "リレーション\"%s\"での未使用のOIDを探索を継続中" -#: catalog/catalog.c:449 +#: catalog/catalog.c:477 #, c-format msgid "OID candidates have been checked %llu time, but no unused OID has been found yet." msgid_plural "OID candidates have been checked %llu times, but no unused OID has been found yet." msgstr[0] "OID候補のチェックを%llu回行いましたが、使用されていないOIDはまだ見つかっていません。" -#: catalog/catalog.c:474 +#: catalog/catalog.c:502 #, c-format msgid "new OID has been assigned in relation \"%s\" after %llu retry" msgid_plural "new OID has been assigned in relation \"%s\" after %llu retries" msgstr[0] "リレーション\\\"%s\\\"で%llu回の試行後に新しいOIDが割り当てられました" -#: catalog/catalog.c:607 catalog/catalog.c:674 +#: catalog/catalog.c:635 catalog/catalog.c:702 #, c-format msgid "must be superuser to call %s()" msgstr "%s()を呼び出すにはスーパーユーザーである必要があります" -#: catalog/catalog.c:616 +#: catalog/catalog.c:644 #, c-format msgid "pg_nextoid() can only be used on system catalogs" msgstr "pg_nextoid() はシステムカタログでのみ使用できます" -#: catalog/catalog.c:621 parser/parse_utilcmd.c:2245 +#: catalog/catalog.c:649 parser/parse_utilcmd.c:2417 #, c-format msgid "index \"%s\" does not belong to table \"%s\"" msgstr "インデックス\"%s\"はテーブル\"%s\"には属していません" -#: catalog/catalog.c:638 +#: catalog/catalog.c:666 #, c-format msgid "column \"%s\" is not of type oid" msgstr "列\"%s\"はoid型ではありません" -#: catalog/catalog.c:645 +#: catalog/catalog.c:673 #, c-format msgid "index \"%s\" is not the index for column \"%s\"" msgstr "インデックス\"%s\"は列\"%s\"に対するインデックスではありません" -#: catalog/dependency.c:497 catalog/pg_shdepend.c:695 +#: catalog/dependency.c:497 catalog/pg_shdepend.c:703 #, c-format msgid "cannot drop %s because it is required by the database system" msgstr "データベースシステムが必要としているため%sを削除できません" @@ -4457,7 +4407,7 @@ msgstr "%sは%sに依存しています" msgid "drop cascades to %s" msgstr "削除は%sへ伝播します" -#: catalog/dependency.c:1138 catalog/pg_shdepend.c:860 +#: catalog/dependency.c:1138 catalog/pg_shdepend.c:868 #, c-format msgid "" "\n" @@ -4474,8 +4424,8 @@ msgstr[0] "" 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:1447 commands/tablecmds.c:14989 commands/tablespace.c:460 commands/user.c:1302 commands/vacuum.c:211 commands/view.c:441 libpq/auth.c:324 replication/logical/applyparallelworker.c:1041 replication/syncrep.c:1011 storage/lmgr/deadlock.c:1134 storage/lmgr/proc.c:1427 utils/misc/guc.c:3169 utils/misc/guc.c:3210 utils/misc/guc.c:3285 utils/misc/guc.c:6781 -#: utils/misc/guc.c:6815 utils/misc/guc.c:6849 utils/misc/guc.c:6892 utils/misc/guc.c:6934 +#: catalog/dependency.c:1153 catalog/dependency.c:1160 catalog/dependency.c:1171 commands/tablecmds.c:1475 commands/tablecmds.c:15486 commands/tablespace.c:460 commands/user.c:1302 commands/vacuum.c:210 commands/view.c:441 executor/execExprInterp.c:4781 executor/execExprInterp.c:4789 libpq/auth.c:324 replication/logical/applyparallelworker.c:1041 replication/syncrep.c:1011 storage/lmgr/deadlock.c:1134 storage/lmgr/proc.c:1471 utils/misc/guc.c:3166 +#: utils/misc/guc.c:3207 utils/misc/guc.c:3282 utils/misc/guc.c:6787 utils/misc/guc.c:6821 utils/misc/guc.c:6855 utils/misc/guc.c:6898 utils/misc/guc.c:6940 #, c-format msgid "%s" msgstr "%s" @@ -4496,12 +4446,12 @@ msgid "drop cascades to %d other object" msgid_plural "drop cascades to %d other objects" msgstr[0] "削除は他の%d個のオブジェクトに対しても行われます" -#: catalog/dependency.c:1848 +#: catalog/dependency.c:1850 #, c-format msgid "constant of the type %s cannot be used here" msgstr "%s型の定数をここで使用することはできません" -#: catalog/dependency.c:2373 parser/parse_relation.c:3407 parser/parse_relation.c:3417 +#: catalog/dependency.c:2375 parser/parse_relation.c:3482 parser/parse_relation.c:3492 #, c-format msgid "column %d of relation \"%s\" does not exist" msgstr "リレーション\"%2$s\"の列\"%1$d\"は存在しません" @@ -4516,12 +4466,12 @@ msgstr "\"%s.%s\"を作成する権限がありません" msgid "System catalog modifications are currently disallowed." msgstr "システムカタログの更新は現在禁止されています" -#: catalog/heap.c:467 commands/tablecmds.c:2483 commands/tablecmds.c:2905 commands/tablecmds.c:7171 +#: catalog/heap.c:467 commands/tablecmds.c:2517 commands/tablecmds.c:2968 commands/tablecmds.c:7219 #, c-format msgid "tables can have at most %d columns" msgstr "テーブルは最大で%d列までしか持てません" -#: catalog/heap.c:485 commands/tablecmds.c:7440 +#: catalog/heap.c:485 commands/tablecmds.c:7488 #, c-format msgid "column name \"%s\" conflicts with a system column name" msgstr "列名\"%s\"はシステム用の列名に使われています" @@ -4553,147 +4503,172 @@ msgstr "複合型 %s がそれ自身のメンバーになることはできま msgid "no collation was derived for partition key column %s with collatable type %s" msgstr "照合可能な型 %2$s のパーティションキー列%1$sのための照合順序が見つかりませんでした" -#: catalog/heap.c:676 commands/createas.c:198 commands/createas.c:507 +#: catalog/heap.c:676 commands/createas.c:198 commands/createas.c:510 #, c-format msgid "no collation was derived for column \"%s\" with collatable type %s" msgstr "照合可能な型 %2$s を持つ列\"%1$s\"のための照合順序を決定できませんでした" -#: catalog/heap.c:1161 catalog/index.c:899 commands/createas.c:403 commands/tablecmds.c:4142 commands/tablecmds.c:20463 commands/tablecmds.c:20725 +#: catalog/heap.c:1162 catalog/index.c:899 commands/createas.c:406 commands/tablecmds.c:4219 #, c-format msgid "relation \"%s\" already exists" msgstr "リレーション\"%s\"はすでに存在します" -#: catalog/heap.c:1177 catalog/pg_type.c:434 catalog/pg_type.c:805 catalog/pg_type.c:977 commands/typecmds.c:253 commands/typecmds.c:265 commands/typecmds.c:758 commands/typecmds.c:1179 commands/typecmds.c:1405 commands/typecmds.c:1585 commands/typecmds.c:2556 +#: catalog/heap.c:1178 catalog/pg_type.c:434 catalog/pg_type.c:805 catalog/pg_type.c:977 commands/typecmds.c:253 commands/typecmds.c:265 commands/typecmds.c:758 commands/typecmds.c:1183 commands/typecmds.c:1409 commands/typecmds.c:1589 commands/typecmds.c:2560 #, c-format msgid "type \"%s\" already exists" msgstr "型\"%s\"はすでに存在します" -#: catalog/heap.c:1178 +#: catalog/heap.c:1179 #, c-format msgid "A relation has an associated type of the same name, so you must use a name that doesn't conflict with any existing type." msgstr "リレーションは同じ名前の関連する型を持ちます。このため既存の型と競合しない名前である必要があります。" -#: catalog/heap.c:1218 +#: catalog/heap.c:1219 #, c-format msgid "toast relfilenumber value not set when in binary upgrade mode" msgstr "バイナリアップグレードモード中にTOASTのrelfilenumberの値が設定されていません" -#: catalog/heap.c:1229 +#: catalog/heap.c:1230 #, c-format msgid "pg_class heap OID value not set when in binary upgrade mode" msgstr "バイナリアップグレードモード中にpg_classのヒープOIDが設定されていません" -#: catalog/heap.c:1239 +#: catalog/heap.c:1240 #, c-format msgid "relfilenumber value not set when in binary upgrade mode" msgstr "バイナリアップグレードモード中にrelfilenumberの値が設定されていません" -#: catalog/heap.c:2121 +#: catalog/heap.c:2131 #, c-format msgid "cannot add NO INHERIT constraint to partitioned table \"%s\"" msgstr "パーティション親テーブル\"%s\"に NO INHERIT 制約は追加できません" -#: catalog/heap.c:2393 +#: catalog/heap.c:2464 #, c-format msgid "check constraint \"%s\" already exists" msgstr "検査制約\"%s\"はすでに存在します" -#: catalog/heap.c:2565 catalog/index.c:913 catalog/pg_constraint.c:724 commands/tablecmds.c:9364 +#: catalog/heap.c:2561 catalog/heap.c:2849 +#, c-format +msgid "cannot add not-null constraint on system column \"%s\"" +msgstr "システム列\"%s\"に対して非NULL制約を追加することはできません" + +#: catalog/heap.c:2583 catalog/heap.c:2707 catalog/heap.c:2933 catalog/index.c:913 catalog/pg_constraint.c:980 commands/tablecmds.c:9467 #, c-format msgid "constraint \"%s\" for relation \"%s\" already exists" msgstr "すでに制約\"%s\"はリレーション\"%s\"に存在します" -#: catalog/heap.c:2572 +#: catalog/heap.c:2714 #, c-format msgid "constraint \"%s\" conflicts with non-inherited constraint on relation \"%s\"" msgstr "制約\"%s\"は、リレーション\"%s\"上の継承されていない制約と競合します" -#: catalog/heap.c:2583 +#: catalog/heap.c:2725 #, c-format msgid "constraint \"%s\" conflicts with inherited constraint on relation \"%s\"" msgstr "制約\"%s\"は、リレーション\"%s\"上の継承された制約と競合します" -#: catalog/heap.c:2593 +#: catalog/heap.c:2735 #, c-format msgid "constraint \"%s\" conflicts with NOT VALID constraint on relation \"%s\"" msgstr "制約\"%s\"は、リレーション\"%s\"上の NOT VALID 制約と競合します" -#: catalog/heap.c:2598 +#: catalog/heap.c:2740 #, c-format msgid "merging constraint \"%s\" with inherited definition" msgstr "継承された定義により制約\"%s\"をマージしています" -#: catalog/heap.c:2624 catalog/pg_constraint.c:853 commands/tablecmds.c:3062 commands/tablecmds.c:3365 commands/tablecmds.c:7097 commands/tablecmds.c:15807 commands/tablecmds.c:15938 +#: catalog/heap.c:2764 catalog/pg_constraint.c:760 catalog/pg_constraint.c:1109 commands/tablecmds.c:3124 commands/tablecmds.c:3422 commands/tablecmds.c:7144 commands/tablecmds.c:7779 commands/tablecmds.c:16316 commands/tablecmds.c:16486 #, c-format msgid "too many inheritance parents" msgstr "継承の親テーブルが多すぎます" -#: catalog/heap.c:2708 +#: catalog/heap.c:2868 parser/parse_utilcmd.c:2626 +#, c-format +msgid "conflicting NO INHERIT declaration for not-null constraint on column \"%s\"" +msgstr "列\"%s\"に対する非NULL制約にNO INHERIT宣言が競合しています" + +#: catalog/heap.c:2882 +#, c-format +msgid "conflicting not-null constraint names \"%s\" and \"%s\"" +msgstr "非NULL制約の名前\"%s\"と\"%s\"が競合しています" + +#: catalog/heap.c:2912 +#, c-format +msgid "cannot define not-null constraint on column \"%s\" with NO INHERIT" +msgstr "NO INHERIT指定されている列\"%s\"に対して非NULL制約を定義することはできません" + +#: catalog/heap.c:2914 +#, c-format +msgid "The column has an inherited not-null constraint." +msgstr "この列には継承された非NULL制約が存在します。" + +#: catalog/heap.c:3104 #, c-format msgid "cannot use generated column \"%s\" in column generation expression" msgstr "生成カラム\"%s\"はカラム生成式中では使用できません" -#: catalog/heap.c:2710 +#: catalog/heap.c:3106 #, c-format msgid "A generated column cannot reference another generated column." msgstr "生成カラムは他の生成カラムを参照できません。" -#: catalog/heap.c:2716 +#: catalog/heap.c:3112 #, c-format msgid "cannot use whole-row variable in column generation expression" msgstr "列生成式内では行全体参照は使用できません" -#: catalog/heap.c:2717 +#: catalog/heap.c:3113 #, c-format msgid "This would cause the generated column to depend on its own value." msgstr "これは生成列を自身の値に依存させることにつながります。" -#: catalog/heap.c:2772 +#: catalog/heap.c:3168 #, c-format msgid "generation expression is not immutable" msgstr "生成式は不変ではありません" -#: catalog/heap.c:2800 rewrite/rewriteHandler.c:1281 +#: catalog/heap.c:3196 rewrite/rewriteHandler.c:1282 #, c-format msgid "column \"%s\" is of type %s but default expression is of type %s" msgstr "列\"%s\"の型は%sですが、デフォルト式の型は%sです" -#: catalog/heap.c:2805 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:1286 +#: catalog/heap.c:3201 commands/prepare.c:331 parser/analyze.c:2850 parser/parse_target.c:595 parser/parse_target.c:885 parser/parse_target.c:895 rewrite/rewriteHandler.c:1287 #, c-format msgid "You will need to rewrite or cast the expression." msgstr "式を書き換えるかキャストする必要があります。" -#: catalog/heap.c:2852 +#: catalog/heap.c:3248 #, c-format msgid "only table \"%s\" can be referenced in check constraint" msgstr "検査制約ではテーブル\"%s\"のみを参照することができます" -#: catalog/heap.c:3158 +#: catalog/heap.c:3554 #, c-format msgid "unsupported ON COMMIT and foreign key combination" msgstr "ON COMMITと外部キーの組み合わせはサポートされていません" -#: catalog/heap.c:3159 +#: catalog/heap.c:3555 #, c-format msgid "Table \"%s\" references \"%s\", but they do not have the same ON COMMIT setting." msgstr "テーブル\"%s\"は\"%s\"を参照します。しかし、これらのON COMMIT設定は同一ではありません。" -#: catalog/heap.c:3164 +#: catalog/heap.c:3560 #, c-format msgid "cannot truncate a table referenced in a foreign key constraint" msgstr "外部キー制約で参照されているテーブルを削除できません" -#: catalog/heap.c:3165 +#: catalog/heap.c:3561 #, c-format msgid "Table \"%s\" references \"%s\"." msgstr "テーブル\"%s\"は\"%s\"を参照します。" -#: catalog/heap.c:3167 +#: catalog/heap.c:3563 #, c-format msgid "Truncate table \"%s\" at the same time, or use TRUNCATE ... CASCADE." msgstr "同時にテーブル\"%s\"がtruncateされました。TRUNCATE ... CASCADEを使用してください。" -#: catalog/index.c:219 parser/parse_utilcmd.c:2151 +#: catalog/index.c:219 parser/parse_utilcmd.c:2322 #, c-format msgid "multiple primary keys for table \"%s\" are not allowed" msgstr "テーブル\"%s\"に複数のプライマリキーを持たせることはできません" @@ -4713,7 +4688,7 @@ msgstr "プライマリキーを式にすることはできません" msgid "primary key column \"%s\" is not marked NOT NULL" msgstr "主キー列\"%s\"がNOT NULL指定されていません" -#: catalog/index.c:798 catalog/index.c:1914 +#: catalog/index.c:798 catalog/index.c:1919 #, c-format msgid "user-defined indexes on system catalog tables are not supported" msgstr "ユーザーによるシステムカタログテーブルに対するインデックスの定義はサポートされていません" @@ -4728,7 +4703,7 @@ msgstr "非決定的照合順序は演算子クラス \"%s\" ではサポート msgid "concurrent index creation on system catalog tables is not supported" msgstr "システムカタログテーブルの並行的インデックス作成はサポートされていません" -#: catalog/index.c:862 catalog/index.c:1330 +#: catalog/index.c:862 catalog/index.c:1331 #, c-format msgid "concurrent index creation for exclusion constraints is not supported" msgstr "排他制約のためのインデックスの並列的作成はサポートされていません" @@ -4738,7 +4713,7 @@ msgstr "排他制約のためのインデックスの並列的作成はサポー msgid "shared indexes cannot be created after initdb" msgstr "initdbの後に共有インデックスを作成できません" -#: catalog/index.c:891 commands/createas.c:418 commands/sequence.c:159 parser/parse_utilcmd.c:212 +#: catalog/index.c:891 commands/createas.c:421 commands/sequence.c:159 parser/parse_utilcmd.c:210 #, c-format msgid "relation \"%s\" already exists, skipping" msgstr "リレーション\"%s\"はすでに存在します、スキップします" @@ -4748,187 +4723,187 @@ msgstr "リレーション\"%s\"はすでに存在します、スキップしま msgid "pg_class index OID value not set when in binary upgrade mode" msgstr "バイナリアップグレードモード中にpg_classのインデックスOIDが設定されていません" -#: catalog/index.c:951 utils/cache/relcache.c:3787 +#: catalog/index.c:951 utils/cache/relcache.c:3752 #, c-format msgid "index relfilenumber value not set when in binary upgrade mode" msgstr "バイナリアップグレードモード中にインデックスのrelfilenumberの値が設定されていません" -#: catalog/index.c:2213 +#: catalog/index.c:2219 #, c-format msgid "DROP INDEX CONCURRENTLY must be first action in transaction" msgstr "DROP INDEX CONCURRENTLYはトランザクション内で最初の操作でなければなりません" -#: catalog/index.c:3669 +#: catalog/index.c:3698 #, c-format msgid "cannot reindex temporary tables of other sessions" msgstr "他のセッションの一時テーブルはインデクス再構築できません" -#: catalog/index.c:3680 commands/indexcmds.c:3648 +#: catalog/index.c:3709 commands/indexcmds.c:3761 #, c-format msgid "cannot reindex invalid index on TOAST table" msgstr "TOASTテーブルの無効なインデックスの再作成はできません" -#: catalog/index.c:3696 commands/indexcmds.c:3526 commands/indexcmds.c:3672 commands/tablecmds.c:3557 +#: catalog/index.c:3725 commands/indexcmds.c:3639 commands/indexcmds.c:3785 commands/tablecmds.c:3626 #, c-format msgid "cannot move system relation \"%s\"" msgstr "システムリレーション\"%s\"を移動できません" -#: catalog/index.c:3833 +#: catalog/index.c:3862 #, c-format msgid "index \"%s\" was reindexed" msgstr "インデックス\"%s\"のインデックス再構築が完了しました" -#: catalog/index.c:3999 +#: catalog/index.c:4028 #, c-format msgid "cannot reindex invalid index \"%s.%s\" on TOAST table, skipping" msgstr "TOASTテーブルの無効なインデックス \"%s.%s\"の再作成はできません、スキップします " -#: catalog/namespace.c:447 catalog/namespace.c:651 catalog/namespace.c:743 commands/trigger.c:5729 +#: catalog/namespace.c:462 catalog/namespace.c:666 catalog/namespace.c:758 commands/trigger.c:5736 #, c-format msgid "cross-database references are not implemented: \"%s.%s.%s\"" msgstr "データベース間の参照は実装されていません: \"%s.%s.%s\"" -#: catalog/namespace.c:504 +#: catalog/namespace.c:519 #, c-format msgid "temporary tables cannot specify a schema name" msgstr "一時テーブルにはスキーマ名を指定できません" -#: catalog/namespace.c:585 +#: catalog/namespace.c:600 #, c-format msgid "could not obtain lock on relation \"%s.%s\"" msgstr "リレーション\"%s.%s\"のロックを取得できませんでした" -#: catalog/namespace.c:590 commands/lockcmds.c:143 commands/lockcmds.c:223 +#: catalog/namespace.c:605 commands/lockcmds.c:143 commands/lockcmds.c:223 #, c-format msgid "could not obtain lock on relation \"%s\"" msgstr "リレーション\"%s\"のロックを取得できませんでした" -#: catalog/namespace.c:618 parser/parse_relation.c:1430 +#: catalog/namespace.c:633 parser/parse_relation.c:1430 #, c-format msgid "relation \"%s.%s\" does not exist" msgstr "リレーション\"%s.%s\"は存在しません" -#: catalog/namespace.c:623 parser/parse_relation.c:1443 parser/parse_relation.c:1451 utils/adt/regproc.c:913 +#: catalog/namespace.c:638 parser/parse_relation.c:1443 parser/parse_relation.c:1451 utils/adt/regproc.c:913 #, c-format msgid "relation \"%s\" does not exist" msgstr "リレーション\"%s\"は存在しません" -#: catalog/namespace.c:689 catalog/namespace.c:3507 commands/extension.c:1607 commands/extension.c:1613 +#: catalog/namespace.c:704 catalog/namespace.c:3522 commands/extension.c:1718 commands/extension.c:1724 #, c-format msgid "no schema has been selected to create in" msgstr "作成先のスキーマが選択されていません" -#: catalog/namespace.c:841 catalog/namespace.c:854 +#: catalog/namespace.c:856 catalog/namespace.c:869 #, c-format msgid "cannot create relations in temporary schemas of other sessions" msgstr "他のセッションの一時スキーマの中にリレーションを作成できません" -#: catalog/namespace.c:845 +#: catalog/namespace.c:860 #, c-format msgid "cannot create temporary relation in non-temporary schema" msgstr "非一時スキーマの中に一時リレーションを作成できません" -#: catalog/namespace.c:860 +#: catalog/namespace.c:875 #, c-format msgid "only temporary relations may be created in temporary schemas" msgstr "一時スキーマの中には一時リレーションしか作成できません" -#: catalog/namespace.c:2604 +#: catalog/namespace.c:2619 #, c-format msgid "statistics object \"%s\" does not exist" msgstr "統計情報オブジェクト\"%s\"は存在しません" -#: catalog/namespace.c:2746 +#: catalog/namespace.c:2761 #, c-format msgid "text search parser \"%s\" does not exist" msgstr "テキスト検索パーサ\"%s\"は存在しません" -#: catalog/namespace.c:2891 utils/adt/regproc.c:1459 +#: catalog/namespace.c:2906 utils/adt/regproc.c:1459 #, c-format msgid "text search dictionary \"%s\" does not exist" msgstr "テキスト検索辞書\"%s\"は存在しません" -#: catalog/namespace.c:3037 +#: catalog/namespace.c:3052 #, c-format msgid "text search template \"%s\" does not exist" msgstr "テキスト検索テンプレート\"%s\"は存在しません" -#: catalog/namespace.c:3182 commands/tsearchcmds.c:1168 utils/adt/regproc.c:1349 utils/cache/ts_cache.c:635 +#: catalog/namespace.c:3197 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:3314 parser/parse_expr.c:869 parser/parse_target.c:1259 +#: catalog/namespace.c:3329 parser/parse_expr.c:866 parser/parse_target.c:1262 #, c-format msgid "cross-database references are not implemented: %s" msgstr "データベース間の参照は実装されていません: %s" -#: catalog/namespace.c:3320 gram.y:19230 gram.y:19270 parser/parse_expr.c:876 parser/parse_target.c:1266 +#: catalog/namespace.c:3335 gram.y:19313 gram.y:19353 parser/parse_expr.c:873 parser/parse_target.c:1269 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "修飾名が不適切です(ドット区切りの名前が多すぎます): %s" -#: catalog/namespace.c:3450 +#: catalog/namespace.c:3465 #, c-format msgid "cannot move objects into or out of temporary schemas" msgstr "一時スキーマへ、または一時スキーマからオブジェクトを移動できません" -#: catalog/namespace.c:3456 +#: catalog/namespace.c:3471 #, c-format msgid "cannot move objects into or out of TOAST schema" msgstr "TOASTスキーマへ、またはTOASTスキーマからオブジェクトを移動できません" -#: catalog/namespace.c:3529 commands/schemacmds.c:264 commands/schemacmds.c:344 commands/tablecmds.c:1392 utils/adt/regproc.c:1688 +#: catalog/namespace.c:3544 commands/schemacmds.c:264 commands/schemacmds.c:344 commands/tablecmds.c:1420 utils/adt/regproc.c:1688 #, c-format msgid "schema \"%s\" does not exist" msgstr "スキーマ\"%s\"は存在しません" -#: catalog/namespace.c:3560 +#: catalog/namespace.c:3575 #, c-format msgid "improper relation name (too many dotted names): %s" msgstr "リレーション名が不適切です(ドット区切りの名前が多すぎます): %s" -#: catalog/namespace.c:4001 utils/adt/regproc.c:1056 +#: catalog/namespace.c:4016 utils/adt/regproc.c:1056 #, c-format msgid "collation \"%s\" for encoding \"%s\" does not exist" msgstr "エンコーディング\"%2$s\"の照合順序\"%1$s\"は存在しません" -#: catalog/namespace.c:4056 +#: catalog/namespace.c:4071 #, c-format msgid "conversion \"%s\" does not exist" msgstr "変換\"%sは存在しません" -#: catalog/namespace.c:4397 +#: catalog/namespace.c:4412 #, c-format msgid "permission denied to create temporary tables in database \"%s\"" msgstr "データベース\"%s\"に一時テーブルを作成する権限がありません" -#: catalog/namespace.c:4413 +#: catalog/namespace.c:4428 #, c-format msgid "cannot create temporary tables during recovery" msgstr "リカバリ中は一時テーブルを作成できません" -#: catalog/namespace.c:4419 +#: catalog/namespace.c:4434 #, 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:2315 commands/tablecmds.c:12826 parser/parse_utilcmd.c:3249 +#: catalog/objectaddress.c:1371 commands/policy.c:93 commands/policy.c:373 commands/tablecmds.c:260 commands/tablecmds.c:302 commands/tablecmds.c:2343 commands/tablecmds.c:13307 #, c-format msgid "\"%s\" is not a table" msgstr "\"%s\"はテーブルではありません" -#: catalog/objectaddress.c:1378 commands/tablecmds.c:269 commands/tablecmds.c:17744 commands/view.c:114 +#: catalog/objectaddress.c:1378 commands/tablecmds.c:272 commands/tablecmds.c:18359 commands/view.c:113 #, c-format msgid "\"%s\" is not a view" msgstr "\"%s\"はビューではありません" -#: catalog/objectaddress.c:1385 commands/matview.c:183 commands/tablecmds.c:275 commands/tablecmds.c:17749 +#: catalog/objectaddress.c:1385 commands/matview.c:201 commands/tablecmds.c:278 commands/tablecmds.c:18364 #, c-format msgid "\"%s\" is not a materialized view" msgstr "\"%s\"は実体化ビューではありません" -#: catalog/objectaddress.c:1392 commands/tablecmds.c:293 commands/tablecmds.c:17754 +#: catalog/objectaddress.c:1392 commands/tablecmds.c:296 commands/tablecmds.c:18369 #, c-format msgid "\"%s\" is not a foreign table" msgstr "\"%s\"は外部テーブルではありません" @@ -4948,7 +4923,7 @@ msgstr "列名を修飾する必要があります" msgid "default value for column \"%s\" of relation \"%s\" does not exist" msgstr "リレーション\"%2$s\"の列\"%1$s\"に対するデフォルト値が存在しません" -#: 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:4554 +#: catalog/objectaddress.c:1618 commands/functioncmds.c:132 commands/tablecmds.c:288 commands/typecmds.c:278 commands/typecmds.c:3849 parser/parse_type.c:243 parser/parse_type.c:272 parser/parse_type.c:801 utils/adt/acl.c:4558 #, c-format msgid "type \"%s\" does not exist" msgstr "型\"%s\"は存在しません" @@ -4968,7 +4943,7 @@ msgstr "%4$s の関数 %1$d (%2$s, %3$s) がありません" 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:703 +#: catalog/objectaddress.c:1834 commands/foreigncmds.c:430 commands/foreigncmds.c:993 commands/foreigncmds.c:1356 foreign/foreign.c:713 #, c-format msgid "server \"%s\" does not exist" msgstr "サーバー\"%s\"は存在しません" @@ -5038,7 +5013,7 @@ msgstr "引数リストの長さはちょうど%dである必要があります" msgid "must be owner of large object %u" msgstr "ラージオブジェクト %u の所有者である必要があります" -#: catalog/objectaddress.c:2485 commands/functioncmds.c:1560 +#: catalog/objectaddress.c:2485 commands/functioncmds.c:1575 #, c-format msgid "must be owner of type %s or type %s" msgstr "型%sまたは型%sの所有者である必要があります" @@ -5206,7 +5181,7 @@ msgstr "テキスト検索設定%s" msgid "role %s" msgstr "ロール%s" -#: catalog/objectaddress.c:3615 catalog/objectaddress.c:5464 +#: catalog/objectaddress.c:3615 catalog/objectaddress.c:5533 #, c-format msgid "membership of role %s in role %s" msgstr "ロール%sのロール%sへの所属" @@ -5424,7 +5399,7 @@ msgstr "遷移関数がSTRICTかつ遷移用の型が入力型とバイナリ互 msgid "return type of inverse transition function %s is not %s" msgstr "逆遷移関数%sの戻り値の型が%sではありません" -#: catalog/pg_aggregate.c:352 executor/nodeWindowAgg.c:2992 +#: catalog/pg_aggregate.c:352 executor/nodeWindowAgg.c:3058 #, c-format msgid "strictness of aggregate's forward and inverse transition functions must match" msgstr "集約の前進と反転の遷移関数のSTRICT属性は一致している必要があります" @@ -5499,7 +5474,7 @@ msgstr "\"%s\"は仮説集合集約です。" msgid "cannot change number of direct arguments of an aggregate function" msgstr "集約関数の直接引数の数は変更できません" -#: catalog/pg_aggregate.c:858 commands/functioncmds.c:686 commands/typecmds.c:1985 commands/typecmds.c:2031 commands/typecmds.c:2083 commands/typecmds.c:2120 commands/typecmds.c:2154 commands/typecmds.c:2188 commands/typecmds.c:2222 commands/typecmds.c:2251 commands/typecmds.c:2338 commands/typecmds.c:2380 parser/parse_func.c:417 parser/parse_func.c:448 parser/parse_func.c:475 parser/parse_func.c:489 parser/parse_func.c:611 parser/parse_func.c:631 +#: catalog/pg_aggregate.c:858 commands/functioncmds.c:701 commands/typecmds.c:1989 commands/typecmds.c:2035 commands/typecmds.c:2087 commands/typecmds.c:2124 commands/typecmds.c:2158 commands/typecmds.c:2192 commands/typecmds.c:2226 commands/typecmds.c:2255 commands/typecmds.c:2342 commands/typecmds.c:2384 parser/parse_func.c:417 parser/parse_func.c:448 parser/parse_func.c:475 parser/parse_func.c:489 parser/parse_func.c:611 parser/parse_func.c:631 #: parser/parse_func.c:2172 parser/parse_func.c:2445 #, c-format msgid "function %s does not exist" @@ -5595,21 +5570,36 @@ msgstr "照合順序\"%s\"はすでに存在します" msgid "collation \"%s\" for encoding \"%s\" already exists" msgstr "エンコーディング\"%2$s\"の照合順序\"%1$s\"はすでに存在します" -#: catalog/pg_constraint.c:732 +#: catalog/pg_constraint.c:751 commands/tablecmds.c:7764 +#, c-format +msgid "cannot change NO INHERIT status of NOT NULL constraint \"%s\" on relation \"%s\"" +msgstr "リレーション\"%2$s\"の非NULL制約\"%1$s\"のNO INHERIT設定は変更できません" + +#: catalog/pg_constraint.c:988 #, c-format msgid "constraint \"%s\" for domain %s already exists" msgstr "ドメイン\"%2$s\"の制約\"%1$s\"はすでに存在します" -#: catalog/pg_constraint.c:932 catalog/pg_constraint.c:1025 +#: catalog/pg_constraint.c:1189 catalog/pg_constraint.c:1282 #, c-format msgid "constraint \"%s\" for table \"%s\" does not exist" msgstr "テーブル\"%2$s\"の制約\"%1$s\"は存在しません" -#: catalog/pg_constraint.c:1125 +#: catalog/pg_constraint.c:1382 #, c-format msgid "constraint \"%s\" for domain %s does not exist" msgstr "ドメイン\"%2$s\"に対する制約\"%1$s\"は存在しません" +#: catalog/pg_constraint.c:1633 +#, c-format +msgid "invalid type for PERIOD part of foreign key" +msgstr "外部キーのPERIOD部に対して不正な型" + +#: catalog/pg_constraint.c:1634 +#, c-format +msgid "Only range and multirange are supported." +msgstr "範囲型および副範囲型のみがサポートされます。" + #: catalog/pg_conversion.c:64 #, c-format msgid "conversion \"%s\" already exists" @@ -5620,27 +5610,27 @@ msgstr "変換\"%s\"はすでに存在します" msgid "default conversion for %s to %s already exists" msgstr "%sから%sへのデフォルトの変換はすでに存在します" -#: catalog/pg_depend.c:224 commands/extension.c:3397 +#: catalog/pg_depend.c:223 commands/extension.c:3508 #, c-format msgid "%s is already a member of extension \"%s\"" msgstr "%sはすでに機能拡張\"%s\"のメンバです" -#: catalog/pg_depend.c:231 catalog/pg_depend.c:282 commands/extension.c:3437 +#: catalog/pg_depend.c:230 catalog/pg_depend.c:281 commands/extension.c:3548 #, c-format msgid "%s is not a member of extension \"%s\"" msgstr "%s は機能拡張\"%s\"のメンバではありません" -#: catalog/pg_depend.c:234 +#: catalog/pg_depend.c:233 #, c-format msgid "An extension is not allowed to replace an object that it does not own." msgstr "機能拡張は自身が所有していないオブジェクトを置き換えることができません。" -#: catalog/pg_depend.c:285 +#: catalog/pg_depend.c:284 #, c-format msgid "An extension may only use CREATE ... IF NOT EXISTS to skip object creation if the conflicting object is one that it already owns." msgstr "機能拡張はCREATE ... IF NOT EXISTSを自身がすでに所有しているオブジェクトと競合するオブジェクトの生成をスキップするためにのみ使用することができます。" -#: catalog/pg_depend.c:648 +#: catalog/pg_depend.c:647 #, c-format msgid "cannot remove dependency on %s because it is a system object" msgstr "システムオブジェクトであるため、%sの依存関係を削除できません。" @@ -5690,7 +5680,7 @@ msgstr "パーティション\"%s\"を取り外せません" msgid "The partition is being detached concurrently or has an unfinished detach." msgstr "このパーティションは今現在取り外し中であるか取り外し処理が未完了の状態です。" -#: catalog/pg_inherits.c:595 commands/tablecmds.c:4778 commands/tablecmds.c:16053 +#: catalog/pg_inherits.c:595 commands/tablecmds.c:4839 commands/tablecmds.c:16612 #, c-format msgid "Use ALTER TABLE ... DETACH PARTITION ... FINALIZE to complete the pending detach operation." msgstr "ALTER TABLE ... DETACH PARTITION ... FINALIZE を実行して保留中の取り外し処理を完了させてください。" @@ -5880,72 +5870,67 @@ msgstr "SQL関数は型%sを返すことができません" msgid "SQL functions cannot have arguments of type %s" msgstr "SQL関数は型%sの引数と取ることができません" -#: catalog/pg_proc.c:986 executor/functions.c:1467 +#: catalog/pg_proc.c:986 executor/functions.c:1468 #, c-format msgid "SQL function \"%s\"" msgstr "SQL関数\"%s\"" -#: catalog/pg_publication.c:66 catalog/pg_publication.c:74 catalog/pg_publication.c:82 catalog/pg_publication.c:88 +#: catalog/pg_publication.c:63 catalog/pg_publication.c:71 catalog/pg_publication.c:79 catalog/pg_publication.c:85 #, c-format msgid "cannot add relation \"%s\" to publication" msgstr "パブリケーションにリレーション\"%s\"を追加できません" -#: catalog/pg_publication.c:76 +#: catalog/pg_publication.c:73 #, c-format msgid "This operation is not supported for system tables." msgstr "この操作はシステムテーブルに対してはサポートされていません。" -#: catalog/pg_publication.c:84 +#: catalog/pg_publication.c:81 #, c-format msgid "This operation is not supported for temporary tables." msgstr "この操作は一時テーブルに対してはサポートされていません。" -#: catalog/pg_publication.c:90 +#: catalog/pg_publication.c:87 #, c-format msgid "This operation is not supported for unlogged tables." msgstr "この操作はUNLOGGEDテーブルに対してはサポートされていません。" -#: catalog/pg_publication.c:104 catalog/pg_publication.c:112 +#: catalog/pg_publication.c:101 catalog/pg_publication.c:109 #, c-format msgid "cannot add schema \"%s\" to publication" msgstr "パブリケーションにスキーマ\"%s\"を追加できません" -#: catalog/pg_publication.c:106 +#: catalog/pg_publication.c:103 #, c-format msgid "This operation is not supported for system schemas." msgstr "この操作はシステムスキーマに対してはサポートされていません。" -#: catalog/pg_publication.c:114 +#: catalog/pg_publication.c:111 #, c-format msgid "Temporary schemas cannot be replicated." msgstr "一時スキーマは複製できません" -#: catalog/pg_publication.c:392 +#: catalog/pg_publication.c:462 #, c-format msgid "relation \"%s\" is already member of publication \"%s\"" msgstr "リレーション\"%s\"はすでにパブリケーション\"%s\"のメンバです" -#: catalog/pg_publication.c:534 +#: catalog/pg_publication.c:574 #, c-format msgid "cannot use system column \"%s\" in publication column list" msgstr "システム列\"%s\"はパブリケーション列リスト内では使用できません" -#: catalog/pg_publication.c:540 -#, c-format -msgid "cannot use generated column \"%s\" in publication column list" -msgstr "生成列\"%s\"はパブリケーション列リスト内では使用できません" - -#: catalog/pg_publication.c:546 +#: catalog/pg_publication.c:580 #, c-format msgid "duplicate column \"%s\" in publication column list" msgstr "パブリケーション列リスト内に重複した列 \"%s\"" -#: catalog/pg_publication.c:636 +#: catalog/pg_publication.c:680 #, c-format msgid "schema \"%s\" is already member of publication \"%s\"" msgstr "スキーマ\"%s\"はすでにパブリケーション\"%s\"のメンバです" -#: catalog/pg_shdepend.c:867 +#: catalog/pg_shdepend.c:875 #, c-format msgid "" "\n" @@ -5957,69 +5942,69 @@ msgstr[0] "" "\n" "および、他の%dのデータベース内のオブジェクト(一覧についてはサーバーログを参照してください)" -#: catalog/pg_shdepend.c:1214 +#: catalog/pg_shdepend.c:1222 #, c-format msgid "role %u was concurrently dropped" msgstr "ロール%uの削除が同時に行われました" -#: catalog/pg_shdepend.c:1226 +#: catalog/pg_shdepend.c:1234 #, c-format msgid "tablespace %u was concurrently dropped" msgstr "テーブル空間%uの削除が同時に行われました" -#: catalog/pg_shdepend.c:1240 +#: catalog/pg_shdepend.c:1248 #, c-format msgid "database %u was concurrently dropped" msgstr "データベース%uの削除が同時に行われました" -#: catalog/pg_shdepend.c:1291 +#: catalog/pg_shdepend.c:1299 #, c-format msgid "owner of %s" msgstr "%sの所有者" -#: catalog/pg_shdepend.c:1293 +#: catalog/pg_shdepend.c:1301 #, c-format msgid "privileges for %s" msgstr "%sの権限" -#: catalog/pg_shdepend.c:1295 +#: catalog/pg_shdepend.c:1303 #, c-format msgid "initial privileges for %s" msgstr "%sの初期権限" -#: catalog/pg_shdepend.c:1297 +#: catalog/pg_shdepend.c:1305 #, c-format msgid "target of %s" msgstr "%sの対象" -#: catalog/pg_shdepend.c:1299 +#: catalog/pg_shdepend.c:1307 #, c-format msgid "tablespace for %s" msgstr "%sのテーブル空間" #. translator: %s will always be "database %s" -#: catalog/pg_shdepend.c:1307 +#: catalog/pg_shdepend.c:1315 #, c-format msgid "%d object in %s" msgid_plural "%d objects in %s" msgstr[0] "%2$s内の%1$d個のオブジェクト" -#: catalog/pg_shdepend.c:1371 +#: catalog/pg_shdepend.c:1379 #, c-format msgid "cannot drop objects owned by %s because they are required by the database system" msgstr "データベースシステムが必要としているため%sが所有するオブジェクトを削除できません" -#: catalog/pg_shdepend.c:1545 +#: catalog/pg_shdepend.c:1560 #, c-format 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:469 #, c-format msgid "could not drop relation mapping for subscription \"%s\"" msgstr "サブスクリプション\"%s\"に対するリレーションマッピングを削除できませんでした" -#: catalog/pg_subscription.c:440 +#: catalog/pg_subscription.c:471 #, c-format msgid "Table synchronization for relation \"%s\" is in progress and is in state \"%c\"." msgstr "リレーション\\\"%s\\\"のテーブル同期が進行中で、状態は\\\"%c\\\"です。" @@ -6027,7 +6012,7 @@ msgstr "リレーション\\\"%s\\\"のテーブル同期が進行中で、状 #. 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:478 #, c-format msgid "Use %s to enable subscription if not already enabled or use %s to drop the subscription." msgstr "サブスクリプションが有効にされていない場合は%sを実行して有効化するか、%sを実行してこのサブスクリプションを削除してください。" @@ -6057,7 +6042,7 @@ msgstr "値渡し型の場合、内部サイズ%dは不正です" msgid "alignment \"%c\" is invalid for variable-length type" msgstr "可変長型の場合、アラインメント\"%c\"は不正です" -#: catalog/pg_type.c:325 commands/typecmds.c:4363 +#: catalog/pg_type.c:325 commands/typecmds.c:4369 #, c-format msgid "fixed-size types must have storage PLAIN" msgstr "固定長型の場合はPLAIN格納方式でなければなりません" @@ -6072,7 +6057,7 @@ msgstr "\"%s\"の複範囲型の作成中に失敗しました。" msgid "You can manually specify a multirange type name using the \"multirange_type_name\" attribute." msgstr "\"multirange_type_name\"属性で複範囲型の型名を手動で指定することができます。" -#: catalog/storage.c:508 storage/buffer/bufmgr.c:1540 +#: catalog/storage.c:508 storage/buffer/bufmgr.c:1553 #, c-format msgid "invalid page in block %u of relation %s" msgstr "リレーション%2$sのブロック%1$uに不正なページ" @@ -6157,7 +6142,7 @@ msgstr "直列化関数は集約遷移データの型が%sの場合にだけ指 msgid "must specify both or neither of serialization and deserialization functions" msgstr "直列化関数と復元関数は両方指定するか、両方指定しないかのどちらかである必要があります" -#: commands/aggregatecmds.c:434 commands/functioncmds.c:634 +#: commands/aggregatecmds.c:434 commands/functioncmds.c:649 #, c-format msgid "parameter \"parallel\" must be SAFE, RESTRICTED, or UNSAFE" msgstr "パラメータ\"parallel\"はSAVE、RESTRICTEDまたはUNSAFEのいずれかでなければなりません" @@ -6187,12 +6172,12 @@ msgstr "サーバー\"%s\"はすでに存在します" msgid "language \"%s\" already exists" msgstr "言語\"%s\"はすでに存在します" -#: commands/alter.c:94 commands/publicationcmds.c:764 +#: commands/alter.c:94 commands/publicationcmds.c:777 #, c-format msgid "publication \"%s\" already exists" msgstr "パブリケーション\"%s\"はすでに存在します" -#: commands/alter.c:97 commands/subscriptioncmds.c:669 +#: commands/alter.c:97 commands/subscriptioncmds.c:629 #, c-format msgid "subscription \"%s\" already exists" msgstr "サブスクリプション\"%s\"はすでに存在します" @@ -6232,12 +6217,12 @@ msgstr "テキスト検索設定\"%s\"はすでにスキーマ\"%s\"存在しま msgid "must be superuser to rename %s" msgstr "%sの名前を変更するにはスーパーユーザーである必要があります" -#: commands/alter.c:255 commands/subscriptioncmds.c:648 commands/subscriptioncmds.c:1129 commands/subscriptioncmds.c:1212 commands/subscriptioncmds.c:1918 +#: commands/alter.c:255 commands/subscriptioncmds.c:608 commands/subscriptioncmds.c:1147 commands/subscriptioncmds.c:1231 commands/subscriptioncmds.c:1989 #, c-format msgid "password_required=false is superuser-only" msgstr "password_required=falseはスーパーユーザーのみ可能です" -#: commands/alter.c:256 commands/subscriptioncmds.c:649 commands/subscriptioncmds.c:1130 commands/subscriptioncmds.c:1213 commands/subscriptioncmds.c:1919 +#: commands/alter.c:256 commands/subscriptioncmds.c:609 commands/subscriptioncmds.c:1148 commands/subscriptioncmds.c:1232 commands/subscriptioncmds.c:1990 #, 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に設定されたサブスクリプションはスーパーユーザのみ作成と変更が可能です。" @@ -6262,7 +6247,7 @@ msgstr "アクセスメソッドを作成するにはスーパーユーザーで msgid "access method \"%s\" already exists" msgstr "アクセスメソッド\"%s\"は存在しません" -#: commands/amcmds.c:154 commands/indexcmds.c:221 commands/indexcmds.c:841 commands/opclasscmds.c:374 commands/opclasscmds.c:832 +#: commands/amcmds.c:154 commands/indexcmds.c:226 commands/indexcmds.c:853 commands/opclasscmds.c:374 commands/opclasscmds.c:832 #, c-format msgid "access method \"%s\" does not exist" msgstr "アクセスメソッド\"%s\"は存在しません" @@ -6272,52 +6257,57 @@ msgstr "アクセスメソッド\"%s\"は存在しません" 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 parser/parse_clause.c:943 +#: commands/amcmds.c:264 commands/event_trigger.c:200 commands/foreigncmds.c:489 commands/proclang.c:78 commands/trigger.c:702 parser/parse_clause.c:941 #, c-format msgid "function %s must return type %s" msgstr "関数%sは型%sを返さなければなりません" -#: commands/analyze.c:217 +#: commands/analyze.c:215 #, c-format msgid "skipping \"%s\" --- cannot analyze this foreign table" msgstr "\"%s\"をスキップしています --- この外部テーブルに対してANALYZEを実行することはできません" -#: commands/analyze.c:234 +#: commands/analyze.c:232 #, c-format msgid "skipping \"%s\" --- cannot analyze non-tables or special system tables" msgstr "\"%s\"をスキップしています --- テーブルでないものや特別なシステムテーブルに対してANALYZEを実行することはできません" -#: commands/analyze.c:314 +#: commands/analyze.c:317 #, c-format msgid "analyzing \"%s.%s\" inheritance tree" msgstr "\"%s.%s\"継承ツリーを解析しています" -#: commands/analyze.c:319 +#: commands/analyze.c:322 #, c-format msgid "analyzing \"%s.%s\"" msgstr "\"%s.%s\"を解析しています" -#: commands/analyze.c:385 +#: commands/analyze.c:391 #, c-format msgid "column \"%s\" of relation \"%s\" appears more than once" msgstr "リレーション\"%2$s\"の列\"%1$s\"が2回以上現れます" -#: commands/analyze.c:780 +#: commands/analyze.c:801 #, c-format msgid "automatic analyze of table \"%s.%s.%s\"\n" msgstr "テーブル\"%s.%s.%s\"に対する自動ANALYZE\n" -#: commands/analyze.c:1295 +#: commands/analyze.c:803 +#, c-format +msgid "finished analyzing table \"%s.%s.%s\"\n" +msgstr "テーブル\"%s.%s.%s\"の解析完了\n" + +#: commands/analyze.c:1325 #, c-format msgid "\"%s\": scanned %d of %u pages, containing %.0f live rows and %.0f dead rows; %d rows in sample, %.0f estimated total rows" msgstr "\"%1$s\": %3$uページの内%2$dをスキャン。%4$.0fの有効な行と%5$.0fの不要な行が存在。%6$d行をサンプリング。推定総行数は%7$.0f" -#: commands/analyze.c:1379 +#: commands/analyze.c:1409 #, c-format msgid "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree contains no child tables" msgstr "継承ツリー\"%s.%s\"のANALYZEをスキップします --- このツリーには子テーブルがありません" -#: commands/analyze.c:1477 +#: commands/analyze.c:1507 #, c-format msgid "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree contains no analyzable child tables" msgstr "継承ツリー\"%s.%s\"のANALYZEをスキップします --- このツリーにはアナライズ可能な子テーブルがありません" @@ -6362,82 +6352,82 @@ msgstr "PID %d のサーバープロセスは、この中で最も古いトラ msgid "The NOTIFY queue cannot be emptied until that process ends its current transaction." msgstr "このプロセスが現在のトランザクションを終了するまで NOTYFY キューを空にすることはできません" -#: commands/cluster.c:128 +#: commands/cluster.c:127 #, c-format msgid "unrecognized CLUSTER option \"%s\"" msgstr "認識できないCLUSTERオプション \"%s\"" -#: commands/cluster.c:159 commands/cluster.c:433 +#: commands/cluster.c:158 commands/cluster.c:432 #, c-format msgid "cannot cluster temporary tables of other sessions" msgstr "他のセッションの一時テーブルをクラスタ化できません" -#: commands/cluster.c:177 +#: commands/cluster.c:176 #, c-format msgid "there is no previously clustered index for table \"%s\"" msgstr "テーブル\"%s\"には事前にクラスタ化されたインデックスはありません" -#: commands/cluster.c:191 commands/tablecmds.c:14698 commands/tablecmds.c:16629 +#: commands/cluster.c:190 commands/tablecmds.c:15195 commands/tablecmds.c:17234 #, c-format msgid "index \"%s\" for table \"%s\" does not exist" msgstr "テーブル\"%2$s\"にはインデックス\"%1$s\"は存在しません" -#: commands/cluster.c:422 +#: commands/cluster.c:421 #, c-format msgid "cannot cluster a shared catalog" msgstr "共有カタログをクラスタ化できません" -#: commands/cluster.c:437 +#: commands/cluster.c:436 #, c-format msgid "cannot vacuum temporary tables of other sessions" msgstr "他のセッションの一時テーブルに対してはVACUUMを実行できません" -#: commands/cluster.c:513 commands/tablecmds.c:16639 +#: commands/cluster.c:512 commands/tablecmds.c:17244 #, c-format msgid "\"%s\" is not an index for table \"%s\"" msgstr "\"%s\"はテーブル\"%s\"のインデックスではありません" -#: commands/cluster.c:521 +#: commands/cluster.c:520 #, c-format msgid "cannot cluster on index \"%s\" because access method does not support clustering" msgstr "インデックス\"%s\"でクラスタ化できません。アクセスメソッドがクラスタ化をサポートしないためです" -#: commands/cluster.c:533 +#: commands/cluster.c:532 #, c-format msgid "cannot cluster on partial index \"%s\"" msgstr "部分インデックス\"%s\"をクラスタ化できません" -#: commands/cluster.c:547 +#: commands/cluster.c:546 #, c-format msgid "cannot cluster on invalid index \"%s\"" msgstr "無効なインデックス\"%s\"ではクラスタ化できません" -#: commands/cluster.c:571 +#: commands/cluster.c:570 #, c-format msgid "cannot mark index clustered in partitioned table" msgstr "パーティションテーブル内のインデックスは CLUSTER 済みとマークできません`" -#: commands/cluster.c:956 +#: commands/cluster.c:955 #, c-format msgid "clustering \"%s.%s\" using index scan on \"%s\"" msgstr "\"%3$s\"に対するインデックススキャンを使って\"%1$s.%2$s\"をクラスタ化しています" -#: commands/cluster.c:962 +#: commands/cluster.c:961 #, c-format msgid "clustering \"%s.%s\" using sequential scan and sort" msgstr "シーケンシャルスキャンとソートを使って\"%s.%s\"をクラスタ化しています" -#: commands/cluster.c:967 +#: commands/cluster.c:966 #, c-format msgid "vacuuming \"%s.%s\"" msgstr "\"%s.%s\"に対してVACUUMを実行しています" -#: commands/cluster.c:994 +#: commands/cluster.c:993 #, c-format msgid "\"%s.%s\": found %.0f removable, %.0f nonremovable row versions in %u pages" msgstr "\"%1$s.%2$s\": %5$u ページ中に見つかった行バージョン: 移動可能 %3$.0f 行、削除不可 %4$.0f 行" -#: commands/cluster.c:999 +#: commands/cluster.c:998 #, c-format msgid "" "%.0f dead row versions cannot be removed yet.\n" @@ -6446,7 +6436,7 @@ msgstr "" "%.0f 個の無効な行が今はまだ削除できません。\n" "%s." -#: commands/cluster.c:1744 +#: commands/cluster.c:1743 #, c-format msgid "permission denied to cluster \"%s\", skipping it" msgstr "\"%s\"のクラスタ化を行う権限がありません、スキップします" @@ -6456,8 +6446,8 @@ msgstr "\"%s\"のクラスタ化を行う権限がありません、スキップ msgid "collation attribute \"%s\" not recognized" msgstr "照合順序の属性\"%s\"が認識できません" -#: commands/collationcmds.c:123 commands/collationcmds.c:129 commands/define.c:388 commands/tablecmds.c:8137 replication/pgoutput/pgoutput.c:307 replication/pgoutput/pgoutput.c:330 replication/pgoutput/pgoutput.c:344 replication/pgoutput/pgoutput.c:354 replication/pgoutput/pgoutput.c:364 replication/pgoutput/pgoutput.c:374 replication/pgoutput/pgoutput.c:386 replication/walsender.c:1146 replication/walsender.c:1168 replication/walsender.c:1178 -#: replication/walsender.c:1187 replication/walsender.c:1426 +#: commands/collationcmds.c:123 commands/collationcmds.c:129 commands/define.c:388 commands/tablecmds.c:8173 replication/pgoutput/pgoutput.c:313 replication/pgoutput/pgoutput.c:336 replication/pgoutput/pgoutput.c:350 replication/pgoutput/pgoutput.c:360 replication/pgoutput/pgoutput.c:370 replication/pgoutput/pgoutput.c:380 replication/pgoutput/pgoutput.c:392 replication/walsender.c:1117 replication/walsender.c:1139 replication/walsender.c:1149 +#: replication/walsender.c:1158 replication/walsender.c:1400 replication/walsender.c:1409 #, c-format msgid "conflicting or redundant options" msgstr "競合するオプション、あるいは余計なオプションがあります" @@ -6489,7 +6479,7 @@ msgstr "認識できないの照合順序プロバイダ: %s" msgid "parameter \"%s\" must be specified" msgstr "パラメータ\"%s\"の指定が必要です" -#: commands/collationcmds.c:293 commands/dbcommands.c:1134 +#: commands/collationcmds.c:293 commands/dbcommands.c:1147 #, c-format msgid "using standard form \"%s\" for ICU locale \"%s\"" msgstr "ICUロケール\"%s\"の標準形式\"%s\"を使用します" @@ -6499,7 +6489,7 @@ msgstr "ICUロケール\"%s\"の標準形式\"%s\"を使用します" msgid "nondeterministic collations not supported with this provider" msgstr "非決定的照合順序はこのプロバイダではサポートされません" -#: commands/collationcmds.c:317 commands/dbcommands.c:1087 +#: commands/collationcmds.c:317 commands/dbcommands.c:1100 #, c-format msgid "ICU rules cannot be specified unless locale provider is ICU" msgstr "ICUルールはロケールプロバイダがICUでなければ指定できません" @@ -6509,59 +6499,59 @@ msgstr "ICUルールはロケールプロバイダがICUでなければ指定で msgid "current database's encoding is not supported with this provider" msgstr "現在のデータベースのエンコーディングはこのプロバイダではサポートされません" -#: commands/collationcmds.c:409 +#: commands/collationcmds.c:405 #, c-format msgid "collation \"%s\" for encoding \"%s\" already exists in schema \"%s\"" msgstr "エンコーディング\"%2$s\"のための照合順序\"%1$s\"はすでにスキーマ\"%3$s\"内に存在します" -#: commands/collationcmds.c:420 +#: commands/collationcmds.c:416 #, c-format msgid "collation \"%s\" already exists in schema \"%s\"" msgstr "照合順序\"%s\"はすでにスキーマ\"%s\"内に存在します" -#: commands/collationcmds.c:445 +#: commands/collationcmds.c:441 #, c-format msgid "cannot refresh version of default collation" msgstr "デフォルト照合順序のバーションはリフレッシュできません" #. translator: %s is an SQL command #. translator: %s is an SQL ALTER command -#: commands/collationcmds.c:447 commands/subscriptioncmds.c:1376 commands/tablecmds.c:7913 commands/tablecmds.c:7923 commands/tablecmds.c:7925 commands/tablecmds.c:14400 commands/tablecmds.c:17777 commands/tablecmds.c:17798 commands/typecmds.c:3787 commands/typecmds.c:3872 commands/typecmds.c:4226 +#: commands/collationcmds.c:443 commands/subscriptioncmds.c:1445 commands/tablecmds.c:7949 commands/tablecmds.c:7959 commands/tablecmds.c:7961 commands/tablecmds.c:14897 commands/tablecmds.c:18392 commands/tablecmds.c:18413 commands/typecmds.c:3793 commands/typecmds.c:3878 commands/typecmds.c:4232 #, c-format msgid "Use %s instead." msgstr "代わりに%sを使用してください" -#: commands/collationcmds.c:480 commands/dbcommands.c:2550 +#: commands/collationcmds.c:476 commands/dbcommands.c:2579 #, c-format msgid "changing version from %s to %s" msgstr "バージョン%sから%sへの変更" -#: commands/collationcmds.c:495 commands/dbcommands.c:2563 +#: commands/collationcmds.c:491 commands/dbcommands.c:2592 #, c-format msgid "version has not changed" msgstr "バージョンが変わっていません" -#: commands/collationcmds.c:528 commands/dbcommands.c:2729 +#: commands/collationcmds.c:524 commands/dbcommands.c:2762 #, c-format msgid "database with OID %u does not exist" msgstr "OID %uのデータベースは存在しません" -#: commands/collationcmds.c:554 +#: commands/collationcmds.c:550 #, c-format msgid "collation with OID %u does not exist" msgstr "OID %uの照合順序は存在しません" -#: commands/collationcmds.c:848 +#: commands/collationcmds.c:844 #, c-format msgid "must be superuser to import system collations" msgstr "システム照合順序をインポートするにはスーパーユーザーである必要があります" -#: commands/collationcmds.c:968 commands/collationcmds.c:1053 +#: commands/collationcmds.c:964 commands/collationcmds.c:1049 #, c-format msgid "no usable system locales were found" msgstr "使用できるシステムロケールが見つかりません" -#: commands/comment.c:61 commands/dbcommands.c:1663 commands/dbcommands.c:1875 commands/dbcommands.c:1985 commands/dbcommands.c:2183 commands/dbcommands.c:2421 commands/dbcommands.c:2512 commands/dbcommands.c:2633 commands/dbcommands.c:3141 utils/init/postinit.c:1033 utils/init/postinit.c:1097 utils/init/postinit.c:1170 +#: commands/comment.c:61 commands/dbcommands.c:1678 commands/dbcommands.c:1896 commands/dbcommands.c:2008 commands/dbcommands.c:2206 commands/dbcommands.c:2446 commands/dbcommands.c:2539 commands/dbcommands.c:2663 commands/dbcommands.c:3174 utils/init/postinit.c:994 utils/init/postinit.c:1058 utils/init/postinit.c:1131 #, c-format msgid "database \"%s\" does not exist" msgstr "データベース\"%s\"は存在しません" @@ -6571,12 +6561,12 @@ msgstr "データベース\"%s\"は存在しません" msgid "cannot set comment on relation \"%s\"" msgstr "リレーション\"%s\"にはコメントを設定できません" -#: commands/constraint.c:61 utils/adt/ri_triggers.c:2019 +#: commands/constraint.c:61 utils/adt/ri_triggers.c:2096 #, c-format msgid "function \"%s\" was not called by trigger manager" msgstr "関数\"%s\"はトリガ関数として呼び出されていません" -#: commands/constraint.c:68 utils/adt/ri_triggers.c:2028 +#: commands/constraint.c:68 utils/adt/ri_triggers.c:2105 #, c-format msgid "function \"%s\" must be fired AFTER ROW" msgstr "関数\"%s\"はAFTER ROWトリガで実行してください" @@ -6666,483 +6656,429 @@ msgstr "COPY TO の HEADERで\"%s\"は使用できません" msgid "%s requires a Boolean value or \"match\"" msgstr "パラメータ\"%s\"はBoolean値または\"match\"のみを取ります" -#: commands/copy.c:400 +#. 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:804 commands/copy.c:820 commands/copy.c:837 commands/copy.c:863 commands/copy.c:873 #, c-format -msgid "COPY ON_ERROR cannot be used with COPY TO" -msgstr "COPY ONJ_ERROR は COPY TO では使用できません" +msgid "COPY %s cannot be used with %s" +msgstr "COPY %s は %s と同時には使えません" -#: commands/copy.c:413 +#. translator: first %s is the name of a COPY option, e.g. ON_ERROR +#: commands/copy.c:416 commands/copy.c:460 #, c-format -msgid "COPY ON_ERROR \"%s\" not recognized" -msgstr "COPY ON_ERROR \"%s\"を認識できません" +msgid "COPY %s \"%s\" not recognized" +msgstr "COPY %s \"%s\"を認識できません" -#: commands/copy.c:437 +#: commands/copy.c:432 #, c-format -msgid "COPY LOG_VERBOSITY \"%s\" not recognized" -msgstr "COPY LOG_VERBOSITY \"%s\"を認識できません" +msgid "REJECT_LIMIT (%lld) must be greater than zero" +msgstr "REJECT_LIMIT (%lld)は0より大きくなければなりません" -#: commands/copy.c:498 +#: commands/copy.c:522 #, c-format msgid "COPY format \"%s\" not recognized" msgstr "COPY フォーマット\"%s\"を認識できません" -#: commands/copy.c:556 commands/copy.c:571 commands/copy.c:586 commands/copy.c:605 +#: commands/copy.c:580 commands/copy.c:595 commands/copy.c:610 commands/copy.c:629 #, c-format msgid "argument to option \"%s\" must be a list of column names" msgstr "オプション\"%s\"の引数は列名のリストでなければなりません" -#: commands/copy.c:617 +#: commands/copy.c:641 #, c-format msgid "argument to option \"%s\" must be a valid encoding name" msgstr "オプション\"%s\"の引数は有効なエンコーディング名でなければなりません" -#: commands/copy.c:638 commands/dbcommands.c:866 commands/dbcommands.c:2369 +#: commands/copy.c:669 commands/dbcommands.c:879 commands/dbcommands.c:2394 #, c-format msgid "option \"%s\" not recognized" msgstr "タイムゾーン\"%s\"を認識できません" -#: commands/copy.c:650 -#, c-format -msgid "cannot specify DELIMITER in BINARY mode" -msgstr "BINARYモードではDELIMITERを指定できません" - -#: commands/copy.c:655 -#, c-format -msgid "cannot specify NULL in BINARY mode" -msgstr "BINARYモードではNULLを指定できません" - -#: commands/copy.c:660 -#, c-format -msgid "cannot specify DEFAULT in BINARY mode" -msgstr "BINARYモードではDEFAULTを指定できません" - -#: commands/copy.c:665 +#. translator: %s is the name of a COPY option, e.g. ON_ERROR +#: commands/copy.c:682 commands/copy.c:687 commands/copy.c:692 commands/copy.c:762 #, c-format -msgid "only ON_ERROR STOP is allowed in BINARY mode" -msgstr "BINARYモードではN_ERROR STOPのみ使用可能です" +msgid "cannot specify %s in BINARY mode" +msgstr "BINARYモードでは%sを指定できません" -#: commands/copy.c:687 +#: commands/copy.c:714 #, c-format msgid "COPY delimiter must be a single one-byte character" msgstr "COPYの区切り文字は単一の1バイト文字でなければなりません" -#: commands/copy.c:694 +#: commands/copy.c:721 #, c-format msgid "COPY delimiter cannot be newline or carriage return" msgstr "COPYの区切り文字は改行や復帰記号とすることができません" -#: commands/copy.c:700 +#: commands/copy.c:727 #, c-format msgid "COPY null representation cannot use newline or carriage return" msgstr "COPYのNULL表現には改行や復帰記号を使用することはできません" -#: commands/copy.c:710 +#: commands/copy.c:737 #, c-format msgid "COPY default representation cannot use newline or carriage return" msgstr "COPYのデフォルト表現には改行や復帰記号を使用することはできません" -#: commands/copy.c:728 +#: commands/copy.c:755 #, c-format msgid "COPY delimiter cannot be \"%s\"" msgstr "COPYの区切り文字を\"%s\"とすることはできません" -#: commands/copy.c:734 -#, c-format -msgid "cannot specify HEADER in BINARY mode" -msgstr "BINARYモードではHEADERを指定できません" - -#: commands/copy.c:740 +#. translator: %s is the name of a COPY option, e.g. ON_ERROR +#: commands/copy.c:769 commands/copy.c:786 commands/copy.c:798 commands/copy.c:813 commands/copy.c:829 #, c-format -msgid "COPY QUOTE requires CSV mode" -msgstr "COPY QUOTE はCSVモードでのみ指定できます" +msgid "COPY %s requires CSV mode" +msgstr "COPY %s はCSVモードを要求します" -#: commands/copy.c:745 +#: commands/copy.c:774 #, c-format msgid "COPY quote must be a single one-byte character" msgstr "COPYの引用符は単一の1バイト文字でなければなりません" -#: commands/copy.c:750 +#: commands/copy.c:779 #, c-format msgid "COPY delimiter and quote must be different" msgstr "COPYの区切り文字と引用符は異なる文字でなければなりません" -#: commands/copy.c:756 -#, c-format -msgid "COPY ESCAPE requires CSV mode" -msgstr "COPY ESCAPE はCSVモードでのみ指定できます" - -#: commands/copy.c:761 +#: commands/copy.c:791 #, c-format msgid "COPY escape must be a single one-byte character" msgstr "COPYのエスケープは単一の1バイト文字でなければなりません" -#: commands/copy.c:767 -#, c-format -msgid "COPY FORCE_QUOTE requires CSV mode" -msgstr "COPY FORCE_QUOTE はCSVモードでのみ指定できます" - -#: commands/copy.c:771 -#, c-format -msgid "COPY FORCE_QUOTE cannot be used with COPY FROM" -msgstr "COPY FORCE_QUOTE は COPY FROM では使用できません" - -#: commands/copy.c:777 -#, c-format -msgid "COPY FORCE_NOT_NULL requires CSV mode" -msgstr "CCOPY FORCE_NOT_NULL はCSVモードでのみ指定できます" - -#: commands/copy.c:781 -#, c-format -msgid "COPY FORCE_NOT_NULL cannot be used with COPY TO" -msgstr "COPY FORCE_NOT_NULL は COPY TO では使用できません" - -#: commands/copy.c:787 -#, c-format -msgid "COPY FORCE_NULL requires CSV mode" -msgstr "COPY FORCE_NULL はCSVモードでのみ指定できます" - -#: commands/copy.c:792 -#, c-format -msgid "COPY FORCE_NULL cannot be used with COPY TO" -msgstr "CCOPY FORCE_NULL は COPY TO では使用できません" - -#: commands/copy.c:798 -#, c-format -msgid "COPY delimiter character must not appear in the NULL specification" -msgstr "COPYの区切り文字はNULL指定では使用できません" - -#: commands/copy.c:805 -#, c-format -msgid "CSV quote character must not appear in the NULL specification" -msgstr "COPYの引用符はNULL指定では使用できません" - -#: commands/copy.c:811 +#. translator: %s is the name of a COPY option, e.g. NULL +#: commands/copy.c:845 commands/copy.c:881 #, c-format -msgid "COPY FREEZE cannot be used with COPY TO" -msgstr "COPY FREEZE は COPY TO では使用できません" +msgid "COPY delimiter character must not appear in the %s specification" +msgstr "COPYの区切り文字は%s指定では使用できません" -#: commands/copy.c:818 +#. translator: %s is the name of a COPY option, e.g. NULL +#: commands/copy.c:854 commands/copy.c:890 #, c-format -msgid "COPY DEFAULT only available using COPY FROM" -msgstr "COPY DEFAULTはCOPY FROMでのみ使用できます" +msgid "CSV quote character must not appear in the %s specification" +msgstr "COPYの引用符は%s指定では使用できません" -#: commands/copy.c:824 +#: commands/copy.c:899 #, c-format -msgid "COPY delimiter must not appear in the DEFAULT specification" -msgstr "COPYの区切り文字はDEFAULT指定では使用できません" +msgid "NULL specification and DEFAULT specification cannot be the same" +msgstr "NULL指定とDEFAULT指定は同じにはできません" -#: commands/copy.c:831 +#: commands/copy.c:905 #, c-format -msgid "CSV quote character must not appear in the DEFAULT specification" -msgstr "COPYの引用符はDEFAULT指定では使用できません" +msgid "only ON_ERROR STOP is allowed in BINARY mode" +msgstr "BINARYモードではN_ERROR STOPのみ使用可能です" -#: commands/copy.c:839 +#. translator: first and second %s are the names of COPY option, e.g. +#. * ON_ERROR, third is the value of the COPY option, e.g. IGNORE +#: commands/copy.c:912 #, c-format -msgid "NULL specification and DEFAULT specification cannot be the same" -msgstr "NULL指定とDEFAULT指定は同じにはできません" +msgid "COPY %s requires %s to be set to %s" +msgstr "COPY %s では %s が %s に設定されている必要があります" -#: commands/copy.c:901 +#: commands/copy.c:974 #, c-format msgid "column \"%s\" is a generated column" msgstr "列\"%s\"は生成カラムです" -#: commands/copy.c:903 +#: commands/copy.c:976 #, c-format msgid "Generated columns cannot be used in COPY." msgstr "生成カラムはCOPYでは使えません。" -#: commands/copy.c:918 commands/indexcmds.c:1915 commands/statscmds.c:239 commands/tablecmds.c:2514 commands/tablecmds.c:2985 commands/tablecmds.c:3781 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:991 commands/indexcmds.c:1928 commands/statscmds.c:239 commands/tablecmds.c:2548 commands/tablecmds.c:3046 commands/tablecmds.c:3853 parser/parse_relation.c:3767 parser/parse_relation.c:3777 parser/parse_relation.c:3795 parser/parse_relation.c:3802 parser/parse_relation.c:3816 utils/adt/tsvector_op.c:2853 #, c-format msgid "column \"%s\" does not exist" msgstr "列\"%s\"は存在しません" -#: commands/copy.c:925 commands/tablecmds.c:2540 commands/trigger.c:951 parser/parse_target.c:1083 parser/parse_target.c:1094 +#: commands/copy.c:998 commands/tablecmds.c:2574 commands/trigger.c:952 parser/parse_target.c:1086 parser/parse_target.c:1097 #, c-format msgid "column \"%s\" specified more than once" msgstr "列\"%s\"が複数指定されました" -#: commands/copyfrom.c:118 +#: commands/copyfrom.c:121 #, c-format msgid "COPY %s" msgstr "%sのCOPY" -#: commands/copyfrom.c:126 +#: commands/copyfrom.c:129 #, c-format msgid "COPY %s, line %llu, column %s" msgstr "%sのCOPY、行 %llu、列 %s" -#: commands/copyfrom.c:131 commands/copyfrom.c:177 +#: commands/copyfrom.c:134 commands/copyfrom.c:180 #, c-format msgid "COPY %s, line %llu" msgstr "%sのCOPY、行 %llu" -#: commands/copyfrom.c:143 +#: commands/copyfrom.c:146 #, c-format msgid "COPY %s, line %llu, column %s: \"%s\"" msgstr "%sのCOPY、行 %llu、列 %s: \"%s\"" -#: commands/copyfrom.c:153 +#: commands/copyfrom.c:156 #, c-format msgid "COPY %s, line %llu, column %s: null input" msgstr "%sのCOPY、行 %llu、列 %s: null が入力されました" -#: commands/copyfrom.c:170 +#: commands/copyfrom.c:173 #, c-format msgid "COPY %s, line %llu: \"%s\"" msgstr "%sのCOPY、行 %llu: \"%s\"" -#: commands/copyfrom.c:673 +#: commands/copyfrom.c:684 #, c-format msgid "cannot copy to view \"%s\"" msgstr "ビュー\"%s\"へのコピーはできません" -#: commands/copyfrom.c:675 +#: commands/copyfrom.c:686 #, c-format msgid "To enable copying to a view, provide an INSTEAD OF INSERT trigger." msgstr "ビューへのコピーを可能にするためには、INSTEAD OF INSERTトリガを作成してください。" -#: commands/copyfrom.c:679 +#: commands/copyfrom.c:690 #, c-format msgid "cannot copy to materialized view \"%s\"" msgstr "実体化ビュー\"%s\"へのコピーはできません" -#: commands/copyfrom.c:684 +#: commands/copyfrom.c:695 #, c-format msgid "cannot copy to sequence \"%s\"" msgstr "シーケンス\"%s\"へのコピーはできません" -#: commands/copyfrom.c:689 +#: commands/copyfrom.c:700 #, c-format msgid "cannot copy to non-table relation \"%s\"" msgstr "テーブル以外のリレーション\"%s\"へのコピーはできません" -#: commands/copyfrom.c:729 +#: commands/copyfrom.c:740 #, c-format msgid "cannot perform COPY FREEZE on a partitioned table" msgstr "パーティション親テーブルに対して COPY FREEZE は実行できません" -#: commands/copyfrom.c:744 +#: commands/copyfrom.c:755 #, c-format msgid "cannot perform COPY FREEZE because of prior transaction activity" msgstr "先行するトランザクション処理のためCOPY FREEZEを実行することができません" -#: commands/copyfrom.c:750 +#: commands/copyfrom.c:761 #, c-format msgid "cannot perform COPY FREEZE because the table was not created or truncated in the current subtransaction" msgstr "このテーブルは現在のサブトランザクションにおいて作成または切り詰めされていないため、COPY FREEZEを実行することができません" -#: commands/copyfrom.c:1313 +#: commands/copyfrom.c:1025 +#, c-format +msgid "skipped more than REJECT_LIMIT (%lld) rows due to data type incompatibility" +msgstr "データ型の不適合により、REJECT_LIMIT (%lld)を超える行がスキップされました" + +#: commands/copyfrom.c:1328 #, c-format msgid "%llu row was skipped due to data type incompatibility" msgid_plural "%llu rows were skipped due to data type incompatibility" msgstr[0] "%llu行がデータ型の不適合によりスキップされました" -#: commands/copyfrom.c:1447 -#, c-format -msgid "FORCE_NOT_NULL column \"%s\" not referenced by COPY" -msgstr "FORCE_NOT_NULL指定された列\"%s\"はCOPYで参照されません" - -#: commands/copyfrom.c:1489 +#. translator: first %s is the name of a COPY option, e.g. FORCE_NOT_NULL +#. translator: %s is the name of a COPY option, e.g. FORCE_NOT_NULL +#: commands/copyfrom.c:1463 commands/copyfrom.c:1506 commands/copyto.c:601 #, c-format -msgid "FORCE_NULL column \"%s\" not referenced by COPY" -msgstr "FORCE_NULL指定された列\"%s\"はCOPYで参照されません" +msgid "%s column \"%s\" not referenced by COPY" +msgstr "%s指定された列\"%s\"はCOPYで参照されません" -#: commands/copyfrom.c:1542 utils/mb/mbutils.c:385 +#: commands/copyfrom.c:1559 utils/mb/mbutils.c:385 #, c-format msgid "default conversion function for encoding \"%s\" to \"%s\" does not exist" msgstr "符号化方式\"%s\"から\"%s\"用のデフォルト変換関数は存在しません" -#: commands/copyfrom.c:1740 +#: commands/copyfrom.c:1757 #, c-format msgid "COPY FROM instructs the PostgreSQL server process to read a file. You may want a client-side facility such as psql's \\copy." msgstr "COPY FROMによってPostgreSQLサーバープロセスはファイルを読み込みます。psqlの \\copy のようなクライアント側の仕組みが必要かもしれません" -#: commands/copyfrom.c:1753 commands/copyto.c:701 +#: commands/copyfrom.c:1770 commands/copyto.c:706 #, c-format msgid "\"%s\" is a directory" msgstr "\"%s\"はディレクトリです" -#: commands/copyfrom.c:1821 commands/copyto.c:299 libpq/be-secure-common.c:83 +#: commands/copyfrom.c:1838 commands/copyto.c:299 libpq/be-secure-common.c:83 #, c-format msgid "could not close pipe to external command: %m" msgstr "外部コマンドに対するパイプをクローズできませんでした: %m" -#: commands/copyfrom.c:1836 commands/copyto.c:304 +#: commands/copyfrom.c:1853 commands/copyto.c:304 #, c-format msgid "program \"%s\" failed" msgstr "プログラム\"%s\"の実行に失敗しました" -#: commands/copyfromparse.c:200 +#: commands/copyfromparse.c:191 #, c-format msgid "COPY file signature not recognized" msgstr "COPYファイルのシグネチャが不明です" -#: commands/copyfromparse.c:205 +#: commands/copyfromparse.c:196 #, c-format msgid "invalid COPY file header (missing flags)" msgstr "COPYファイルのヘッダが不正です(フラグがありません)" -#: commands/copyfromparse.c:209 +#: commands/copyfromparse.c:200 #, c-format msgid "invalid COPY file header (WITH OIDS)" msgstr "COPYファイルのヘッダが不正です(WITH OIDS)" -#: commands/copyfromparse.c:214 +#: commands/copyfromparse.c:205 #, c-format msgid "unrecognized critical flags in COPY file header" msgstr "COPYファイルのヘッダ内の重要なフラグが不明です" -#: commands/copyfromparse.c:220 +#: commands/copyfromparse.c:211 #, c-format msgid "invalid COPY file header (missing length)" msgstr "COPYファイルのヘッダが不正です(サイズがありません)" -#: commands/copyfromparse.c:227 +#: commands/copyfromparse.c:218 #, c-format msgid "invalid COPY file header (wrong length)" msgstr "COPYファイルのヘッダが不正です(サイズが不正です)" -#: commands/copyfromparse.c:256 +#: commands/copyfromparse.c:247 #, c-format msgid "could not read from COPY file: %m" msgstr "COPYファイルから読み込めませんでした: %m" -#: commands/copyfromparse.c:278 commands/copyfromparse.c:303 replication/walsender.c:756 replication/walsender.c:782 tcop/postgres.c:377 +#: commands/copyfromparse.c:269 commands/copyfromparse.c:294 replication/walsender.c:726 replication/walsender.c:752 tcop/postgres.c:380 #, c-format msgid "unexpected EOF on client connection with an open transaction" msgstr "トランザクションを実行中のクライアント接続で想定外のEOFがありました" -#: commands/copyfromparse.c:294 replication/walsender.c:772 +#: commands/copyfromparse.c:285 replication/walsender.c:742 #, c-format msgid "unexpected message type 0x%02X during COPY from stdin" msgstr "標準入力からのCOPY中に想定外のメッセージタイプ0x%02Xがありました" -#: commands/copyfromparse.c:317 replication/walsender.c:803 +#: commands/copyfromparse.c:308 replication/walsender.c:773 #, c-format msgid "COPY from stdin failed: %s" msgstr "標準入力からのCOPYが失敗しました: %s" -#: commands/copyfromparse.c:785 +#: commands/copyfromparse.c:776 #, c-format msgid "wrong number of fields in header line: got %d, expected %d" msgstr "ヘッダ行の列数が間違っています: %dでしたが、%dを想定していました" -#: commands/copyfromparse.c:801 +#: commands/copyfromparse.c:792 #, c-format msgid "column name mismatch in header line field %d: got null value (\"%s\"), expected \"%s\"" msgstr "ヘッダ行フィールド%dでカラム名の不一致: NULL値(\"%s\")を検出, 予期していた値\"%s\"" -#: commands/copyfromparse.c:808 +#: commands/copyfromparse.c:799 #, c-format msgid "column name mismatch in header line field %d: got \"%s\", expected \"%s\"" msgstr "ヘッダ行フィールド%dでカラム名の不一致: \"%s\"を検出, 予期していた値\"%s\"" -#: commands/copyfromparse.c:892 commands/copyfromparse.c:1554 commands/copyfromparse.c:1810 +#: commands/copyfromparse.c:883 commands/copyfromparse.c:1513 commands/copyfromparse.c:1769 #, c-format msgid "extra data after last expected column" msgstr "推定最終列の後に余計なデータがありました" -#: commands/copyfromparse.c:906 +#: commands/copyfromparse.c:897 #, c-format msgid "missing data for column \"%s\"" msgstr "列\"%s\"のデータがありません" -#: commands/copyfromparse.c:990 +#: commands/copyfromparse.c:981 #, c-format -msgid "skipping row due to data type incompatibility at line %llu for column %s: \"%s\"" -msgstr "データ型非互換のため行をスキップします: 行%llu 列 %s: \"%s\"" +msgid "skipping row due to data type incompatibility at line %llu for column \"%s\": \"%s\"" +msgstr "行%lluでの列 \"%s\"に対するデータ型非互換のため、この行をスキップします : \"%s\"" -#: commands/copyfromparse.c:998 +#: commands/copyfromparse.c:989 #, c-format -msgid "skipping row due to data type incompatibility at line %llu for column %s: null input" -msgstr "データ型非互換のため行をスキップします: 行%llu 列 %s: NULLが入力されました" +msgid "skipping row due to data type incompatibility at line %llu for column \"%s\": null input" +msgstr "行%lluでの列\"%s\"に対するデータ型非互換のため、この行をスキップします: NULL入力" -#: commands/copyfromparse.c:1044 +#: commands/copyfromparse.c:1035 #, c-format msgid "received copy data after EOF marker" msgstr "EOF マーカーの後ろでコピーデータを受信しました" -#: commands/copyfromparse.c:1051 +#: commands/copyfromparse.c:1042 #, c-format msgid "row field count is %d, expected %d" msgstr "行のフィールド数は%d、その期待値は%dです" -#: commands/copyfromparse.c:1336 commands/copyfromparse.c:1353 +#: commands/copyfromparse.c:1326 commands/copyfromparse.c:1343 #, c-format msgid "literal carriage return found in data" msgstr "データの中に復帰記号そのものがありました" -#: commands/copyfromparse.c:1337 commands/copyfromparse.c:1354 +#: commands/copyfromparse.c:1327 commands/copyfromparse.c:1344 #, c-format msgid "unquoted carriage return found in data" msgstr "データの中に引用符のない復帰記号がありました" -#: commands/copyfromparse.c:1339 commands/copyfromparse.c:1356 +#: commands/copyfromparse.c:1329 commands/copyfromparse.c:1346 #, c-format msgid "Use \"\\r\" to represent carriage return." msgstr "復帰記号は\"\\r\"と表現してください" -#: commands/copyfromparse.c:1340 commands/copyfromparse.c:1357 +#: commands/copyfromparse.c:1330 commands/copyfromparse.c:1347 #, c-format msgid "Use quoted CSV field to represent carriage return." msgstr "復帰記号を表現するにはCSVフィールドを引用符で括ってください" -#: commands/copyfromparse.c:1369 +#: commands/copyfromparse.c:1359 #, c-format msgid "literal newline found in data" msgstr "データの中に改行記号そのものがありました" -#: commands/copyfromparse.c:1370 +#: commands/copyfromparse.c:1360 #, c-format msgid "unquoted newline found in data" msgstr "データの中に引用符のない改行記号がありました" -#: commands/copyfromparse.c:1372 +#: commands/copyfromparse.c:1362 #, c-format msgid "Use \"\\n\" to represent newline." msgstr "改行記号は\"\\n\"と表現してください" -#: commands/copyfromparse.c:1373 +#: commands/copyfromparse.c:1363 #, c-format msgid "Use quoted CSV field to represent newline." msgstr "改行記号を表現するにはCSVフィールドを引用符で括ってください" -#: commands/copyfromparse.c:1419 commands/copyfromparse.c:1455 +#: commands/copyfromparse.c:1401 commands/copyfromparse.c:1423 #, c-format msgid "end-of-copy marker does not match previous newline style" msgstr "コピー終端記号がこれまでの改行方式と一致しません" -#: commands/copyfromparse.c:1428 commands/copyfromparse.c:1444 +#: commands/copyfromparse.c:1405 commands/copyfromparse.c:1416 commands/copyfromparse.c:1432 #, c-format -msgid "end-of-copy marker corrupt" -msgstr "コピー終端記号が破損しています" +msgid "end-of-copy marker is not alone on its line" +msgstr "コピー終端記号が行内で単独ではありません" -#: commands/copyfromparse.c:1746 commands/copyfromparse.c:1961 +#: commands/copyfromparse.c:1705 commands/copyfromparse.c:1920 #, c-format msgid "unexpected default marker in COPY data" msgstr "COPYデータの中に想定外のデフォルトマーカーがあります" -#: commands/copyfromparse.c:1747 commands/copyfromparse.c:1962 +#: commands/copyfromparse.c:1706 commands/copyfromparse.c:1921 #, c-format msgid "Column \"%s\" has no default value." msgstr "列\"%s\"はデフォルト値を持ちません。" -#: commands/copyfromparse.c:1894 +#: commands/copyfromparse.c:1853 #, c-format msgid "unterminated CSV quoted field" msgstr "CSV引用符が閉じていません" -#: commands/copyfromparse.c:1996 commands/copyfromparse.c:2015 +#: commands/copyfromparse.c:1955 commands/copyfromparse.c:1974 #, c-format msgid "unexpected EOF in COPY data" msgstr "COPYデータの中に想定外のEOFがあります" -#: commands/copyfromparse.c:2005 +#: commands/copyfromparse.c:1964 #, c-format msgid "invalid field size" msgstr "フィールドサイズが不正です" -#: commands/copyfromparse.c:2028 +#: commands/copyfromparse.c:1987 #, c-format msgid "incorrect binary data format" msgstr "バイナリデータ書式が不正です" @@ -7204,7 +7140,7 @@ msgstr "条件付き DO INSTEAD ルールは COPY ではサポートされてい #: commands/copyto.c:478 #, c-format -msgid "DO ALSO rules are not supported for the COPY" +msgid "DO ALSO rules are not supported for COPY" msgstr "DO ALSO ルールは COPY ではサポートされていません" #: commands/copyto.c:483 @@ -7217,411 +7153,411 @@ msgstr "マルチステートメントの DO INSTEAD ルールは COPY ではサ msgid "COPY (SELECT INTO) is not supported" msgstr "COPY (SELECT INTO)はサポートされていません" -#: commands/copyto.c:511 +#: commands/copyto.c:499 +#, c-format +msgid "COPY query must not be a utility command" +msgstr "COPY問い合わせはユーティリティコマンドであってはなりません" + +#: commands/copyto.c:515 #, c-format msgid "COPY query must have a RETURNING clause" msgstr "COPY文中の問い合わせではRETURNING句が必須です" -#: commands/copyto.c:540 +#: commands/copyto.c:544 #, c-format msgid "relation referenced by COPY statement has changed" msgstr "COPY文で参照されているリレーションが変更されました" -#: commands/copyto.c:596 -#, c-format -msgid "FORCE_QUOTE column \"%s\" not referenced by COPY" -msgstr "FORCE_QUOTE指定された列\"%s\"はCOPYで参照されません" - -#: commands/copyto.c:666 +#: commands/copyto.c:671 #, c-format msgid "relative path not allowed for COPY to file" msgstr "ファイルへのCOPYでは相対パスは指定できません" -#: commands/copyto.c:685 +#: commands/copyto.c:690 #, c-format msgid "could not open file \"%s\" for writing: %m" msgstr "ファイル\"%s\"を書き込み用にオープンできませんでした: %m" -#: commands/copyto.c:688 +#: commands/copyto.c:693 #, c-format msgid "COPY TO instructs the PostgreSQL server process to write a file. You may want a client-side facility such as psql's \\copy." msgstr "COPY TOによってPostgreSQLサーバープロセスはファイルの書き込みを行います。psqlの \\copy のようなクライアント側の仕組みが必要かもしれません" -#: commands/createas.c:210 commands/createas.c:518 +#: commands/createas.c:210 commands/createas.c:521 #, c-format msgid "too many column names were specified" msgstr "指定された列別名が多すぎます" -#: commands/createas.c:541 +#: commands/createas.c:544 #, c-format msgid "policies not yet implemented for this command" msgstr "このコマンドにはポリシは実装されていません" -#: commands/dbcommands.c:829 +#: commands/dbcommands.c:842 #, c-format msgid "LOCATION is not supported anymore" msgstr "LOCATIONはもはやサポートされません" -#: commands/dbcommands.c:830 +#: commands/dbcommands.c:843 #, c-format msgid "Consider using tablespaces instead." msgstr "代わりにテーブル空間の使用を検討してください" -#: commands/dbcommands.c:855 +#: commands/dbcommands.c:868 #, c-format msgid "OIDs less than %u are reserved for system objects" msgstr "%uより小さいOIDはシステムオブジェクトのために予約されています" -#: commands/dbcommands.c:886 utils/adt/ascii.c:146 +#: commands/dbcommands.c:899 utils/adt/ascii.c:146 #, c-format msgid "%d is not a valid encoding code" msgstr "%dは有効な符号化方式コードではありません" -#: commands/dbcommands.c:897 utils/adt/ascii.c:128 +#: commands/dbcommands.c:910 utils/adt/ascii.c:128 #, c-format msgid "%s is not a valid encoding name" msgstr "%sは有効な符号化方式名ではありません" -#: commands/dbcommands.c:931 +#: commands/dbcommands.c:944 #, c-format msgid "unrecognized locale provider: %s" msgstr "認識できない照合順序プロバイダ: %s" -#: commands/dbcommands.c:944 commands/dbcommands.c:2402 commands/user.c:299 commands/user.c:739 +#: commands/dbcommands.c:957 commands/dbcommands.c:2427 commands/user.c:299 commands/user.c:739 #, c-format msgid "invalid connection limit: %d" msgstr "不正な接続数制限: %d" -#: commands/dbcommands.c:965 +#: commands/dbcommands.c:978 #, c-format msgid "permission denied to create database" msgstr "データベースを作成する権限がありません" -#: commands/dbcommands.c:989 +#: commands/dbcommands.c:1002 #, c-format msgid "template database \"%s\" does not exist" msgstr "テンプレートデータベース\"%s\"は存在しません" -#: commands/dbcommands.c:999 +#: commands/dbcommands.c:1012 #, c-format msgid "cannot use invalid database \"%s\" as template" msgstr "無効なデータベース\"%s\"はテンプレートとして使用できません" -#: commands/dbcommands.c:1000 commands/dbcommands.c:2431 utils/init/postinit.c:1112 +#: commands/dbcommands.c:1013 commands/dbcommands.c:2457 utils/init/postinit.c:1073 #, c-format msgid "Use DROP DATABASE to drop invalid databases." msgstr "DROP DATABASEを使用して無効なデータベースを削除してください。" -#: commands/dbcommands.c:1011 +#: commands/dbcommands.c:1024 #, c-format msgid "permission denied to copy database \"%s\"" msgstr "データベース\"%s\"をコピーする権限がありません" -#: commands/dbcommands.c:1028 +#: commands/dbcommands.c:1041 #, c-format msgid "invalid create database strategy \"%s\"" msgstr "データベース作成の方法\"%s\"は不正です" -#: commands/dbcommands.c:1029 +#: commands/dbcommands.c:1042 #, c-format msgid "Valid strategies are \"wal_log\" and \"file_copy\"." msgstr "有効な方法は\"wal_log\"と\"file_copy\"です。" -#: commands/dbcommands.c:1050 +#: commands/dbcommands.c:1063 #, c-format msgid "invalid server encoding %d" msgstr "サーバーの符号化方式%dは不正です" -#: commands/dbcommands.c:1056 +#: commands/dbcommands.c:1069 #, c-format msgid "invalid LC_COLLATE locale name: \"%s\"" msgstr "LC_COLLATEのロケール名\"%s\"は不正です" -#: commands/dbcommands.c:1057 commands/dbcommands.c:1063 +#: commands/dbcommands.c:1070 commands/dbcommands.c:1076 #, c-format msgid "If the locale name is specific to ICU, use ICU_LOCALE." msgstr "ロケール名がICU特有のものである場合は、ICU_LOCALEを使用してください。" -#: commands/dbcommands.c:1062 +#: commands/dbcommands.c:1075 #, c-format msgid "invalid LC_CTYPE locale name: \"%s\"" msgstr "LC_CTYPEのロケール名\"%s\"は不正です" -#: commands/dbcommands.c:1074 +#: commands/dbcommands.c:1087 #, c-format msgid "BUILTIN_LOCALE cannot be specified unless locale provider is builtin" msgstr "BUILTIN_LOCALEはロケールプロバイダがbuiltinでなければ指定できません" -#: commands/dbcommands.c:1082 +#: commands/dbcommands.c:1095 #, c-format msgid "ICU locale cannot be specified unless locale provider is ICU" msgstr "ICUロケールはロケールプロバイダがICUでなければ指定できません" -#: commands/dbcommands.c:1100 +#: commands/dbcommands.c:1113 #, c-format msgid "LOCALE or BUILTIN_LOCALE must be specified" msgstr "LOCALEかBUILTIN_LOCALEのいずれかを指定しなければなりません" -#: commands/dbcommands.c:1109 +#: commands/dbcommands.c:1122 #, c-format msgid "encoding \"%s\" is not supported with ICU provider" msgstr "エンコーディング\"%s\"はICUではサポートされていません" -#: commands/dbcommands.c:1119 +#: commands/dbcommands.c:1132 #, c-format msgid "LOCALE or ICU_LOCALE must be specified" msgstr "LOCALEかICU_LOCALEのいずれかを指定しなければなりません" -#: commands/dbcommands.c:1163 +#: commands/dbcommands.c:1176 #, c-format msgid "new encoding (%s) is incompatible with the encoding of the template database (%s)" msgstr "新しい符号化方式(%s)はテンプレートデータベースの符号化方式(%s)と互換性がありません" -#: commands/dbcommands.c:1166 +#: commands/dbcommands.c:1179 #, c-format msgid "Use the same encoding as in the template database, or use template0 as template." msgstr "テンプレートデータベースの符号化方式と同じものを使うか、もしくは template0 をテンプレートとして使用してください" -#: commands/dbcommands.c:1171 +#: commands/dbcommands.c:1184 #, c-format msgid "new collation (%s) is incompatible with the collation of the template database (%s)" msgstr "新しい照合順序(%s)はテンプレートデータベースの照合順序(%s)と互換性がありません" -#: commands/dbcommands.c:1173 +#: commands/dbcommands.c:1186 #, c-format msgid "Use the same collation as in the template database, or use template0 as template." msgstr "テンプレートデータベースの照合順序と同じものを使うか、もしくは template0 をテンプレートとして使用してください" -#: commands/dbcommands.c:1178 +#: commands/dbcommands.c:1191 #, c-format msgid "new LC_CTYPE (%s) is incompatible with the LC_CTYPE of the template database (%s)" msgstr "新しいLC_CTYPE(%s)はテンプレートデータベース(%s)のLC_CTYPEと互換性がありません" -#: commands/dbcommands.c:1180 +#: commands/dbcommands.c:1193 #, c-format msgid "Use the same LC_CTYPE as in the template database, or use template0 as template." msgstr "テンプレートデータベースのLC_CTYPEと同じものを使うか、もしくはtemplate0をテンプレートとして使用してください" -#: commands/dbcommands.c:1185 +#: commands/dbcommands.c:1198 #, c-format msgid "new locale provider (%s) does not match locale provider of the template database (%s)" msgstr "新しいロケール・プロバイダ(%s)はテンプレートデータベースのロケール・プロバイダ(%s)と一致しません" -#: commands/dbcommands.c:1187 +#: commands/dbcommands.c:1200 #, c-format msgid "Use the same locale provider as in the template database, or use template0 as template." msgstr "テンプレートデータベースと同じロケールプロバイダを使うか、もしくは template0 をテンプレートとして使用してください" -#: commands/dbcommands.c:1199 +#: commands/dbcommands.c:1212 #, c-format msgid "new ICU locale (%s) is incompatible with the ICU locale of the template database (%s)" msgstr "新しいICUロケール(%s)はテンプレートデータベースのICUロケール(%s)と互換性がありません" -#: commands/dbcommands.c:1201 +#: commands/dbcommands.c:1214 #, c-format msgid "Use the same ICU locale as in the template database, or use template0 as template." msgstr "テンプレートデータベースと同じICUロケールを使うか、もしくは template0 をテンプレートとして使用してください。" -#: commands/dbcommands.c:1212 +#: commands/dbcommands.c:1225 #, c-format msgid "new ICU collation rules (%s) are incompatible with the ICU collation rules of the template database (%s)" msgstr "新しいICU照合順序ルール(%s)はテンプレートデータベースのICU照合順序(%s)と互換性がありません" -#: commands/dbcommands.c:1214 +#: commands/dbcommands.c:1227 #, c-format msgid "Use the same ICU collation rules as in the template database, or use template0 as template." msgstr "テンプレートデータベースのICU照合順序ルールと同じものを使うか、もしくは template0 をテンプレートとして使用してください" -#: commands/dbcommands.c:1243 +#: commands/dbcommands.c:1256 #, c-format msgid "template database \"%s\" has a collation version, but no actual collation version could be determined" msgstr "テンプレートデータベース\"%s\"には照合順序のバージョンが設定されていますが、実際の照合順序バージョンが特定できません" -#: commands/dbcommands.c:1248 +#: commands/dbcommands.c:1261 #, c-format msgid "template database \"%s\" has a collation version mismatch" msgstr "テンプレートデータベース\"%s\"では照合順序バージョンの不一致が起きています" -#: commands/dbcommands.c:1250 +#: commands/dbcommands.c:1263 #, c-format msgid "The template database was created using collation version %s, but the operating system provides version %s." msgstr "データベース中の照合順序はバージョン%sで作成されていますが、オペレーティングシステムはバージョン%sを提供しています。" -#: commands/dbcommands.c:1253 +#: commands/dbcommands.c:1266 #, c-format msgid "Rebuild all objects in the template database that use the default collation and run ALTER DATABASE %s REFRESH COLLATION VERSION, or build PostgreSQL with the right library version." msgstr "デフォルトの照合順序を使用しているテンプレート・データベースの全てのオブジェクトを再構築して、ALTER DATABASE %s REFRESH COLLATION VERSIONを実行するか、正しいバージョンのライブラリを用いてPostgreSQLをビルドしてください。" -#: commands/dbcommands.c:1298 commands/dbcommands.c:2031 +#: commands/dbcommands.c:1311 commands/dbcommands.c:2054 #, c-format msgid "pg_global cannot be used as default tablespace" msgstr "デフォルトのテーブル空間としてpg_globalを使用できません" -#: commands/dbcommands.c:1324 +#: commands/dbcommands.c:1337 #, c-format msgid "cannot assign new default tablespace \"%s\"" msgstr "新しいデフォルトのテーブル空間\"%s\"を割り当てられません" -#: commands/dbcommands.c:1326 +#: commands/dbcommands.c:1339 #, c-format msgid "There is a conflict because database \"%s\" already has some tables in this tablespace." msgstr "データベース\"%s\"のいくつかテーブルはすでにこのテーブル空間にあるため、競合しています。" -#: commands/dbcommands.c:1356 commands/dbcommands.c:1904 +#: commands/dbcommands.c:1369 commands/dbcommands.c:1925 #, c-format msgid "database \"%s\" already exists" msgstr "データベース\"%s\"はすでに存在します" -#: commands/dbcommands.c:1370 +#: commands/dbcommands.c:1383 #, c-format msgid "source database \"%s\" is being accessed by other users" msgstr "元となるデータベース\"%s\"は他のユーザーによってアクセスされています" -#: commands/dbcommands.c:1392 +#: commands/dbcommands.c:1405 #, c-format msgid "database OID %u is already in use by database \"%s\"" msgstr "データベースOID %uはすでにデータベース\"%s\"で使用されています" -#: commands/dbcommands.c:1398 +#: commands/dbcommands.c:1411 #, c-format msgid "data directory with the specified OID %u already exists" msgstr "指定されたOID %uのデータディレクトリはすでに存在します" -#: commands/dbcommands.c:1571 commands/dbcommands.c:1586 utils/adt/pg_locale.c:2565 +#: commands/dbcommands.c:1584 commands/dbcommands.c:1599 utils/adt/pg_locale.c:1861 #, c-format msgid "encoding \"%s\" does not match locale \"%s\"" msgstr "符号化方式\"%s\"がロケール\"%s\"に合いません" -#: commands/dbcommands.c:1574 +#: commands/dbcommands.c:1587 #, c-format msgid "The chosen LC_CTYPE setting requires encoding \"%s\"." msgstr "選択されたLC_CTYPEを設定するには、符号化方式\"%s\"である必要があります。" -#: commands/dbcommands.c:1589 +#: commands/dbcommands.c:1602 #, c-format msgid "The chosen LC_COLLATE setting requires encoding \"%s\"." msgstr "選択されたLC_COLLATEを設定するには、符号化方式\"%s\"である必要があります。" -#: commands/dbcommands.c:1670 +#: commands/dbcommands.c:1685 #, c-format msgid "database \"%s\" does not exist, skipping" msgstr "データベース\"%s\"は存在しません、スキップします" -#: commands/dbcommands.c:1694 +#: commands/dbcommands.c:1709 #, c-format msgid "cannot drop a template database" msgstr "テンプレートデータベースを削除できません" -#: commands/dbcommands.c:1700 +#: commands/dbcommands.c:1715 #, c-format msgid "cannot drop the currently open database" msgstr "現在オープンしているデータベースを削除できません" -#: commands/dbcommands.c:1713 +#: commands/dbcommands.c:1728 #, c-format msgid "database \"%s\" is used by an active logical replication slot" msgstr "データベース\"%s\"は有効な論理レプリケーションスロットで使用中です" -#: commands/dbcommands.c:1715 +#: commands/dbcommands.c:1730 #, c-format msgid "There is %d active slot." msgid_plural "There are %d active slots." msgstr[0] "%d 個のアクティブなスロットがあります。" -#: commands/dbcommands.c:1729 +#: commands/dbcommands.c:1744 #, c-format msgid "database \"%s\" is being used by logical replication subscription" msgstr "データベース\"%s\"は論理レプリケーションのサブスクリプションで使用中です" -#: commands/dbcommands.c:1731 +#: commands/dbcommands.c:1746 #, c-format msgid "There is %d subscription." msgid_plural "There are %d subscriptions." msgstr[0] "%d個のサブスクリプションがあります" -#: commands/dbcommands.c:1752 commands/dbcommands.c:1926 commands/dbcommands.c:2053 +#: commands/dbcommands.c:1767 commands/dbcommands.c:1947 commands/dbcommands.c:2076 #, c-format msgid "database \"%s\" is being accessed by other users" msgstr "データベース\"%s\"は他のユーザーからアクセスされています" -#: commands/dbcommands.c:1886 +#: commands/dbcommands.c:1907 #, c-format msgid "permission denied to rename database" msgstr "データベースの名前を変更する権限がありません" -#: commands/dbcommands.c:1915 +#: commands/dbcommands.c:1936 #, c-format msgid "current database cannot be renamed" msgstr "現在のデータベースの名前を変更できません" -#: commands/dbcommands.c:2009 +#: commands/dbcommands.c:2032 #, c-format msgid "cannot change the tablespace of the currently open database" msgstr "現在オープン中のデータベースのテーブルスペースは変更できません" -#: commands/dbcommands.c:2115 +#: commands/dbcommands.c:2138 #, c-format msgid "some relations of database \"%s\" are already in tablespace \"%s\"" msgstr "データベース\"%s\"のリレーションの中に、テーブルスペース\"%s\"にすでに存在するものがあります" -#: commands/dbcommands.c:2117 +#: commands/dbcommands.c:2140 #, c-format msgid "You must move them back to the database's default tablespace before using this command." msgstr "このコマンドを使う前に、データベースのデフォルトのテーブルスペースに戻す必要があります。" -#: commands/dbcommands.c:2244 commands/dbcommands.c:2979 commands/dbcommands.c:3279 commands/dbcommands.c:3392 +#: commands/dbcommands.c:2269 commands/dbcommands.c:3012 commands/dbcommands.c:3312 commands/dbcommands.c:3425 #, c-format msgid "some useless files may be left behind in old database directory \"%s\"" msgstr "元のデータベースのディレクトリ\"%s\"に不要なファイルが残っているかもしれません" -#: commands/dbcommands.c:2305 +#: commands/dbcommands.c:2330 #, c-format msgid "unrecognized DROP DATABASE option \"%s\"" msgstr "DROP DATABASEのオプション\"%s\"が認識できません" -#: commands/dbcommands.c:2383 +#: commands/dbcommands.c:2408 #, c-format msgid "option \"%s\" cannot be specified with other options" msgstr "オプション\"%s\"は他のオプションと一緒に指定はできません" -#: commands/dbcommands.c:2430 +#: commands/dbcommands.c:2456 #, c-format msgid "cannot alter invalid database \"%s\"" msgstr "無効なデータベース\"%s\"は変更できません" -#: commands/dbcommands.c:2447 +#: commands/dbcommands.c:2473 #, c-format msgid "cannot disallow connections for current database" msgstr "現在のデータベースへの接続は禁止できません" -#: commands/dbcommands.c:2673 +#: commands/dbcommands.c:2703 #, c-format msgid "permission denied to change owner of database" msgstr "データベースの所有者を変更する権限がありません" -#: commands/dbcommands.c:3085 +#: commands/dbcommands.c:3118 #, c-format msgid "There are %d other session(s) and %d prepared transaction(s) using the database." msgstr "他にこのデータベースを使っている %d 個のセッションと %d 個の準備済みトランザクションがあります。" -#: commands/dbcommands.c:3088 +#: commands/dbcommands.c:3121 #, c-format msgid "There is %d other session using the database." msgid_plural "There are %d other sessions using the database." msgstr[0] "他にこのデータベースを使っている %d 個のセッションがあります。" -#: commands/dbcommands.c:3093 storage/ipc/procarray.c:3847 +#: commands/dbcommands.c:3126 storage/ipc/procarray.c:3864 #, c-format msgid "There is %d prepared transaction using the database." msgid_plural "There are %d prepared transactions using the database." msgstr[0] "このデータベースを使用する準備されたトランザクションが%d存在します。" -#: commands/dbcommands.c:3235 +#: commands/dbcommands.c:3268 #, c-format msgid "missing directory \"%s\"" msgstr "ディレクトリ\"%s\"がありません" -#: commands/dbcommands.c:3293 commands/tablespace.c:184 commands/tablespace.c:633 +#: commands/dbcommands.c:3326 commands/tablespace.c:184 commands/tablespace.c:633 #, c-format msgid "could not stat directory \"%s\": %m" msgstr "ディレクトリ\"%s\"のstatができませんでした: %m" @@ -7661,7 +7597,7 @@ msgstr "%sの引数は型名でなければなりません" msgid "invalid argument for %s: \"%s\"" msgstr "%sの引数が不正です: \"%s\"" -#: commands/dropcmds.c:96 commands/functioncmds.c:1382 utils/adt/ruleutils.c:2909 +#: commands/dropcmds.c:96 commands/functioncmds.c:1397 utils/adt/ruleutils.c:2946 #, c-format msgid "\"%s\" is an aggregate function" msgstr "\"%s\"は集約関数です" @@ -7671,17 +7607,17 @@ msgstr "\"%s\"は集約関数です" msgid "Use DROP AGGREGATE to drop aggregate functions." msgstr "集約関数を削除するにはDROP AGGREGATEを使用してください" -#: commands/dropcmds.c:153 commands/sequence.c:462 commands/tablecmds.c:3865 commands/tablecmds.c:4023 commands/tablecmds.c:4075 commands/tablecmds.c:17061 tcop/utility.c:1325 +#: commands/dropcmds.c:153 commands/sequence.c:462 commands/tablecmds.c:3937 commands/tablecmds.c:4098 commands/tablecmds.c:4150 commands/tablecmds.c:17669 tcop/utility.c:1328 #, c-format msgid "relation \"%s\" does not exist, skipping" msgstr "リレーション\"%s\"は存在しません、スキップします" -#: commands/dropcmds.c:183 commands/dropcmds.c:282 commands/tablecmds.c:1397 +#: commands/dropcmds.c:183 commands/dropcmds.c:282 commands/tablecmds.c:1425 #, c-format msgid "schema \"%s\" does not exist, skipping" msgstr "スキーマ\"%s\"は存在しません、スキップします" -#: commands/dropcmds.c:223 commands/dropcmds.c:262 commands/tablecmds.c:286 +#: commands/dropcmds.c:223 commands/dropcmds.c:262 commands/tablecmds.c:289 #, c-format msgid "type \"%s\" does not exist, skipping" msgstr "型\"%s\"は存在しません、スキップします" @@ -7857,347 +7793,362 @@ msgstr "%sではイベントトリガはサポートされません" msgid "filter variable \"%s\" specified more than once" msgstr "フィルタ変数\"%s\"が複数指定されました" -#: commands/event_trigger.c:435 commands/event_trigger.c:487 commands/event_trigger.c:581 +#: commands/event_trigger.c:438 commands/event_trigger.c:490 commands/event_trigger.c:584 #, c-format msgid "event trigger \"%s\" does not exist" msgstr "イベントトリガ\"%s\"は存在しません" -#: commands/event_trigger.c:519 +#: commands/event_trigger.c:522 #, c-format msgid "event trigger with OID %u does not exist" msgstr "OID %uのイベントトリガは存在しません" -#: commands/event_trigger.c:549 +#: commands/event_trigger.c:552 #, c-format msgid "permission denied to change owner of event trigger \"%s\"" msgstr "イベントトリガ\"%s\"の所有者を変更する権限がありません" -#: commands/event_trigger.c:551 +#: commands/event_trigger.c:554 #, c-format msgid "The owner of an event trigger must be a superuser." msgstr "イベントトリガの所有者はスーパーユーザーでなければなりません" -#: commands/event_trigger.c:1411 +#: commands/event_trigger.c:1404 #, c-format msgid "%s can only be called in a sql_drop event trigger function" msgstr "%sはsql_dropイベントトリガ関数内でのみ呼び出すことができます" -#: commands/event_trigger.c:1504 commands/event_trigger.c:1525 +#: commands/event_trigger.c:1497 commands/event_trigger.c:1518 #, c-format msgid "%s can only be called in a table_rewrite event trigger function" msgstr "%sはtable_rewriteイベントトリガ関数でのみ呼び出すことができます" -#: commands/event_trigger.c:1938 +#: commands/event_trigger.c:1931 #, c-format msgid "%s can only be called in an event trigger function" msgstr "%sはイベントトリガ関数でのみ呼び出すことができます" -#: commands/explain.c:240 commands/explain.c:265 +#: commands/explain.c:249 commands/explain.c:274 #, c-format msgid "unrecognized value for EXPLAIN option \"%s\": \"%s\"" msgstr "EXPLAIN オプション\"%s\"が認識できない値です: \"%s\"" -#: commands/explain.c:272 +#: commands/explain.c:281 #, c-format msgid "unrecognized EXPLAIN option \"%s\"" msgstr "EXPLAIN オプション\"%s\"が認識できません" -#: commands/explain.c:281 +#: commands/explain.c:290 #, c-format msgid "EXPLAIN option WAL requires ANALYZE" msgstr "EXPLAINのオプションWALにはANALYZE指定が必要です" -#: commands/explain.c:290 +#: commands/explain.c:299 #, c-format msgid "EXPLAIN option TIMING requires ANALYZE" msgstr "EXPLAINオプションのTIMINGにはANALYZE指定が必要です" -#: commands/explain.c:296 +#: commands/explain.c:305 #, c-format msgid "EXPLAIN option SERIALIZE requires ANALYZE" msgstr "EXPLAINのオプションSERIALIZEにはANALYZE指定が必要です" -#: commands/explain.c:302 +#: commands/explain.c:311 #, c-format msgid "EXPLAIN options ANALYZE and GENERIC_PLAN cannot be used together" msgstr "EXPLAINのオプションANALYZEとGENERIC_PLANは同時に使用できません" -#: commands/extension.c:178 commands/extension.c:3031 +#: commands/extension.c:168 commands/extension.c:3142 #, c-format msgid "extension \"%s\" does not exist" msgstr "機能拡張\"%s\"は存在しません" -#: commands/extension.c:277 commands/extension.c:286 commands/extension.c:298 commands/extension.c:308 +#: commands/extension.c:233 commands/extension.c:242 commands/extension.c:254 commands/extension.c:264 #, c-format msgid "invalid extension name: \"%s\"" msgstr "機能拡張名が不正です: \"%s\"" -#: commands/extension.c:278 +#: commands/extension.c:234 #, c-format msgid "Extension names must not be empty." msgstr "機能拡張名が無効です: 空であってはなりません" -#: commands/extension.c:287 +#: commands/extension.c:243 #, c-format msgid "Extension names must not contain \"--\"." msgstr "機能拡張名に\"--\"が含まれていてはなりません" -#: commands/extension.c:299 +#: commands/extension.c:255 #, c-format msgid "Extension names must not begin or end with \"-\"." msgstr "機能拡張名が\"-\"で始まったり終わったりしてはなりません" -#: commands/extension.c:309 +#: commands/extension.c:265 #, c-format msgid "Extension names must not contain directory separator characters." msgstr "機能拡張名にディレクトリの区切り文字が含まれていてはなりません" -#: commands/extension.c:324 commands/extension.c:333 commands/extension.c:342 commands/extension.c:352 +#: commands/extension.c:280 commands/extension.c:289 commands/extension.c:298 commands/extension.c:308 #, c-format msgid "invalid extension version name: \"%s\"" msgstr "機能拡張のバージョン名が不正す: \"%s\"" -#: commands/extension.c:325 +#: commands/extension.c:281 #, c-format msgid "Version names must not be empty." msgstr "バージョン名が無効です: 空であってはなりません" -#: commands/extension.c:334 +#: commands/extension.c:290 #, c-format msgid "Version names must not contain \"--\"." msgstr "バージョン名に\"--\"が含まれていてはなりません" -#: commands/extension.c:343 +#: commands/extension.c:299 #, c-format msgid "Version names must not begin or end with \"-\"." msgstr "バージョン名が\"-\"で始まったり終わったりしてはなりません" -#: commands/extension.c:353 +#: commands/extension.c:309 #, c-format msgid "Version names must not contain directory separator characters." msgstr "バージョン名にディレクトリの区切り文字が含まれていてはなりません" -#: commands/extension.c:507 +#: commands/extension.c:463 #, c-format msgid "extension \"%s\" is not available" msgstr "機能拡張\"%s\" は利用できません" -#: commands/extension.c:508 +#: commands/extension.c:464 #, c-format msgid "Could not open extension control file \"%s\": %m." msgstr "機能拡張の制御ファイル\"%s\"をオープンできませんでした: %m" -#: commands/extension.c:510 +#: commands/extension.c:466 #, c-format msgid "The extension must first be installed on the system where PostgreSQL is running." msgstr "PostgreSQLが稼働しているシステムで、事前に機能拡張がインストールされている必要があります。" -#: commands/extension.c:514 +#: commands/extension.c:470 #, c-format msgid "could not open extension control file \"%s\": %m" msgstr "機能拡張の制御ファイル\"%s\"をオープンできませんでした: %m" -#: commands/extension.c:537 commands/extension.c:547 +#: commands/extension.c:493 commands/extension.c:503 #, c-format msgid "parameter \"%s\" cannot be set in a secondary extension control file" msgstr "セカンダリの機能拡張制御ファイルにパラメータ\"%s\"を設定できません" -#: commands/extension.c:569 commands/extension.c:577 commands/extension.c:585 utils/misc/guc.c:3147 +#: commands/extension.c:525 commands/extension.c:533 commands/extension.c:541 utils/misc/guc.c:3144 #, c-format msgid "parameter \"%s\" requires a Boolean value" msgstr "パラメータ\"%s\"にはbooleanを指定します" -#: commands/extension.c:594 +#: commands/extension.c:550 #, c-format msgid "\"%s\" is not a valid encoding name" msgstr "\"%s\"は有効な符号化方式名ではありません" -#: commands/extension.c:608 commands/extension.c:623 +#: commands/extension.c:564 commands/extension.c:579 #, c-format msgid "parameter \"%s\" must be a list of extension names" msgstr "パラメータ\"%s\"は機能拡張名のリストでなければなりません" -#: commands/extension.c:630 +#: commands/extension.c:586 #, c-format msgid "unrecognized parameter \"%s\" in file \"%s\"" msgstr "ファイル\"%2$s\"中に認識できないパラメータ\"%1$s\"があります" -#: commands/extension.c:639 +#: commands/extension.c:595 #, c-format msgid "parameter \"schema\" cannot be specified when \"relocatable\" is true" msgstr "\"relocatable\"が真の場合はパラメータ\"schema\"は指定できません" -#: commands/extension.c:817 +#: commands/extension.c:781 +#, c-format +msgid "SQL statement \"%.*s\"" +msgstr "SQL文 \"%.*s\"" + +#: commands/extension.c:810 +#, c-format +msgid "extension script file \"%s\", near line %d" +msgstr "機能拡張スクリプトファイル \"%s\"、%d 行目付近" + +#: commands/extension.c:814 +#, c-format +msgid "extension script file \"%s\"" +msgstr "機能拡張スクリプトファイル \"%s\"" + +#: commands/extension.c:926 #, c-format msgid "transaction control statements are not allowed within an extension script" msgstr "トランザクション制御ステートメントを機能拡張スクリプトの中に書くことはできません" -#: commands/extension.c:897 +#: commands/extension.c:1008 #, c-format msgid "permission denied to create extension \"%s\"" msgstr "機能拡張\"%s\"を作成する権限がありません" -#: commands/extension.c:900 +#: commands/extension.c:1011 #, c-format msgid "Must have CREATE privilege on current database to create this extension." msgstr "この機能拡張を生成するには現在のデータベースのCREATE権限が必要です。" -#: commands/extension.c:901 +#: commands/extension.c:1012 #, c-format msgid "Must be superuser to create this extension." msgstr "この機能拡張を生成するにはスーパーユーザーである必要があります。" -#: commands/extension.c:905 +#: commands/extension.c:1016 #, c-format msgid "permission denied to update extension \"%s\"" msgstr "機能拡張\"%s\"を更新する権限がありません" -#: commands/extension.c:908 +#: commands/extension.c:1019 #, c-format msgid "Must have CREATE privilege on current database to update this extension." msgstr "この機能拡張を更新するには現在のデータベースのCREATE権限が必要です。" -#: commands/extension.c:909 +#: commands/extension.c:1020 #, c-format msgid "Must be superuser to update this extension." msgstr "この機能拡張を更新するにはスーパーユーザーである必要があります。" -#: commands/extension.c:1042 +#: commands/extension.c:1153 #, c-format msgid "invalid character in extension owner: must not contain any of \"%s\"" msgstr "機能拡張の所有者名に不正な文字: \"%s\"のいずれの文字も含むことはできません" -#: commands/extension.c:1066 commands/extension.c:1093 +#: commands/extension.c:1177 commands/extension.c:1204 #, c-format msgid "invalid character in extension \"%s\" schema: must not contain any of \"%s\"" msgstr "機能拡張\"%s\"のスキーマ名に不正な文字: \"%s\"のいずれの文字も含むことはできません" -#: commands/extension.c:1288 +#: commands/extension.c:1399 #, c-format msgid "extension \"%s\" has no update path from version \"%s\" to version \"%s\"" msgstr "機能拡張\"%s\"について、バージョン\"%s\"からバージョン\"%s\"へのアップデートパスがありません" -#: commands/extension.c:1496 commands/extension.c:3089 +#: commands/extension.c:1607 commands/extension.c:3200 #, c-format msgid "version to install must be specified" msgstr "インストールするバージョンを指定してください" -#: commands/extension.c:1533 +#: commands/extension.c:1644 #, c-format msgid "extension \"%s\" has no installation script nor update path for version \"%s\"" msgstr "機能拡張\"%s\"にはバージョン\"%s\"のインストールスクリプトもアップデートパスもありません" -#: commands/extension.c:1567 +#: commands/extension.c:1678 #, c-format msgid "extension \"%s\" must be installed in schema \"%s\"" msgstr "機能拡張\"%s\"はスキーマ\"%s\"内にインストールされていなければなりません" -#: commands/extension.c:1727 +#: commands/extension.c:1838 #, c-format msgid "cyclic dependency detected between extensions \"%s\" and \"%s\"" msgstr "機能拡張\"%s\"と\"%s\"の間に循環依存関係が検出されました" -#: commands/extension.c:1732 +#: commands/extension.c:1843 #, c-format msgid "installing required extension \"%s\"" msgstr "必要な機能拡張をインストールします:\"%s\"" -#: commands/extension.c:1755 +#: commands/extension.c:1866 #, c-format msgid "required extension \"%s\" is not installed" msgstr "要求された機能拡張\"%s\"はインストールされていません" -#: commands/extension.c:1758 +#: commands/extension.c:1869 #, c-format msgid "Use CREATE EXTENSION ... CASCADE to install required extensions too." msgstr "必要な機能拡張を一緒にインストールするには CREATE EXTENSION ... CASCADE を使ってください。" -#: commands/extension.c:1793 +#: commands/extension.c:1904 #, c-format msgid "extension \"%s\" already exists, skipping" msgstr "機能拡張\"%s\"はすでに存在します、スキップします" -#: commands/extension.c:1800 +#: commands/extension.c:1911 #, c-format msgid "extension \"%s\" already exists" msgstr "機能拡張\"%s\"はすでに存在します" -#: commands/extension.c:1811 +#: commands/extension.c:1922 #, c-format msgid "nested CREATE EXTENSION is not supported" msgstr "入れ子の CREATE EXTENSION はサポートされません" -#: commands/extension.c:1975 +#: commands/extension.c:2086 #, c-format msgid "cannot drop extension \"%s\" because it is being modified" msgstr "変更されているため拡張\"%s\"を削除できません" -#: commands/extension.c:2450 +#: commands/extension.c:2561 #, c-format msgid "%s can only be called from an SQL script executed by CREATE EXTENSION" msgstr "%s はCREATE EXTENSIONにより実行されるSQLスクリプトからのみ呼び出すことができます" -#: commands/extension.c:2462 +#: commands/extension.c:2573 #, c-format msgid "OID %u does not refer to a table" msgstr "OID %u がテーブルを参照していません" -#: commands/extension.c:2467 +#: commands/extension.c:2578 #, c-format msgid "table \"%s\" is not a member of the extension being created" msgstr "テーブル\"%s\"は生成されようとしている機能拡張のメンバではありません" -#: commands/extension.c:2813 +#: commands/extension.c:2924 #, c-format msgid "cannot move extension \"%s\" into schema \"%s\" because the extension contains the schema" msgstr "機能拡張がそのスキーマを含んでいるため、機能拡張\"%s\"をスキーマ\"%s\"に移動できません" -#: commands/extension.c:2854 commands/extension.c:2948 +#: commands/extension.c:2965 commands/extension.c:3059 #, c-format msgid "extension \"%s\" does not support SET SCHEMA" msgstr "機能拡張\"%s\"は SET SCHEMA をサポートしていません" -#: commands/extension.c:2911 +#: commands/extension.c:3022 #, c-format msgid "cannot SET SCHEMA of extension \"%s\" because other extensions prevent it" msgstr "他の機能拡張によって禁止されているため、機能拡張\"%s\"の SET SCHEMAが実行できません" -#: commands/extension.c:2913 +#: commands/extension.c:3024 #, c-format msgid "Extension \"%s\" requests no relocation of extension \"%s\"." msgstr "機能拡張\"%s\"は機能拡張\"%s\"の再配置禁止を要求しています。" -#: commands/extension.c:2950 +#: commands/extension.c:3061 #, c-format msgid "%s is not in the extension's schema \"%s\"" msgstr "機能拡張のスキーマ\"%2$s\"に%1$sが見つかりません" -#: commands/extension.c:3011 +#: commands/extension.c:3122 #, c-format msgid "nested ALTER EXTENSION is not supported" msgstr "入れ子になった ALTER EXTENSION はサポートされていません" -#: commands/extension.c:3100 +#: commands/extension.c:3211 #, c-format msgid "version \"%s\" of extension \"%s\" is already installed" msgstr "機能拡張 \"%2$s\"のバージョン\"%1$s\"はすでにインストールされています" -#: commands/extension.c:3311 +#: commands/extension.c:3422 #, c-format msgid "cannot add an object of this type to an extension" msgstr "この型のオブジェクトは機能拡張に追加できません" -#: commands/extension.c:3409 +#: commands/extension.c:3520 #, c-format msgid "cannot add schema \"%s\" to extension \"%s\" because the schema contains the extension" msgstr "スキーマ\"%s\"を拡張\"%s\"に追加できません。そのスキーマにその拡張が含まれているためです" -#: commands/extension.c:3491 commands/typecmds.c:4042 utils/fmgr/funcapi.c:725 +#: commands/extension.c:3602 commands/typecmds.c:4048 utils/fmgr/funcapi.c:725 #, c-format msgid "could not find multirange type for data type %s" msgstr "データ型%sの複範囲型がありませんでした" -#: commands/extension.c:3532 +#: commands/extension.c:3644 #, c-format msgid "file \"%s\" is too large" msgstr "ファイル\"%s\"は大きすぎます" @@ -8227,7 +8178,7 @@ msgstr "外部データラッパーの所有者を変更するにはスーパー msgid "The owner of a foreign-data wrapper must be a superuser." msgstr "外部データラッパーの所有者はスーパーユーザーでなければなりません" -#: commands/foreigncmds.c:291 commands/foreigncmds.c:707 foreign/foreign.c:681 +#: commands/foreigncmds.c:291 commands/foreigncmds.c:707 foreign/foreign.c:691 #, c-format msgid "foreign-data wrapper \"%s\" does not exist" msgstr "外部データラッパー\"%s\"は存在しません" @@ -8297,7 +8248,7 @@ msgstr "\"%s\"のユーザーマッピングはサーバー\"%s\"に対しては msgid "user mapping for \"%s\" does not exist for server \"%s\", skipping" msgstr "\"%s\"のユーザーマッピングはサーバー\"%s\"に対しては存在しません、スキップします" -#: commands/foreigncmds.c:1507 foreign/foreign.c:394 +#: commands/foreigncmds.c:1507 foreign/foreign.c:404 #, c-format msgid "foreign-data wrapper \"%s\" has no handler" msgstr "外部データラッパー\"%s\"にはハンドラがありません" @@ -8342,628 +8293,663 @@ msgstr "シェル型の定義を作成します" msgid "SQL function cannot accept shell type %s" msgstr "SQL関数はシェル型\"%s\"を受け付けられません" -#: commands/functioncmds.c:250 +#: commands/functioncmds.c:251 #, c-format msgid "aggregate cannot accept shell type %s" msgstr "集約はシェル型\"%s\"を受け付けられません" -#: commands/functioncmds.c:255 +#: commands/functioncmds.c:257 #, c-format msgid "argument type %s is only a shell" msgstr "引数型%sは単なるシェルです" -#: commands/functioncmds.c:265 +#: commands/functioncmds.c:268 #, c-format msgid "type %s does not exist" msgstr "型%sは存在しません" -#: commands/functioncmds.c:279 +#: commands/functioncmds.c:283 #, c-format msgid "aggregates cannot accept set arguments" msgstr "集約は集合引数を受け付けられません" -#: commands/functioncmds.c:283 +#: commands/functioncmds.c:288 #, c-format msgid "procedures cannot accept set arguments" msgstr "プロシージャは集合引数を受け付けません" -#: commands/functioncmds.c:287 +#: commands/functioncmds.c:293 #, c-format msgid "functions cannot accept set arguments" msgstr "関数は集合を引数として受け付けられません" -#: commands/functioncmds.c:297 +#: commands/functioncmds.c:304 #, c-format msgid "VARIADIC parameter must be the last input parameter" msgstr "VARIADIC パラメータは最後の入力パラメータでなければなりません" -#: commands/functioncmds.c:317 +#: commands/functioncmds.c:325 #, c-format msgid "VARIADIC parameter must be the last parameter" msgstr "VARIADIC パラメータは最後のパラメータでなければなりません" -#: commands/functioncmds.c:342 +#: commands/functioncmds.c:351 #, c-format msgid "VARIADIC parameter must be an array" msgstr "VARIADIC パラメータは配列でなければなりません" -#: commands/functioncmds.c:387 +#: commands/functioncmds.c:397 #, c-format msgid "parameter name \"%s\" used more than once" msgstr "パラメータ\"%s\"が複数指定されました" -#: commands/functioncmds.c:405 +#: commands/functioncmds.c:416 #, c-format msgid "only input parameters can have default values" msgstr "入力パラメータのみがデフォルト値を持てます" -#: commands/functioncmds.c:420 +#: commands/functioncmds.c:432 #, c-format msgid "cannot use table references in parameter default value" msgstr "パラメータのデフォルト値としてテーブル参照を使用できません" -#: commands/functioncmds.c:444 +#: commands/functioncmds.c:457 #, c-format msgid "input parameters after one with a default value must also have defaults" msgstr "デフォルト値を持つパラメータの後にある入力パラメータは、必ずデフォルト値を持たなければなりません" -#: commands/functioncmds.c:454 +#: commands/functioncmds.c:468 #, c-format msgid "procedure OUT parameters cannot appear after one with a default value" msgstr "プロシージャの出力パラメータはデフォルト値を持つパラメータの後には置けません" -#: commands/functioncmds.c:596 commands/functioncmds.c:775 +#: commands/functioncmds.c:611 commands/functioncmds.c:790 #, c-format msgid "invalid attribute in procedure definition" msgstr "プロシージャ定義内の不正な属性" -#: commands/functioncmds.c:692 +#: commands/functioncmds.c:707 #, c-format msgid "support function %s must return type %s" msgstr "サポート関数%sは%s型を返さなければなりません" -#: commands/functioncmds.c:703 +#: commands/functioncmds.c:718 #, c-format msgid "must be superuser to specify a support function" msgstr "サポート関数を指定するにはスーパーユーザーである必要があります" -#: commands/functioncmds.c:824 commands/functioncmds.c:1427 +#: commands/functioncmds.c:839 commands/functioncmds.c:1442 #, c-format msgid "COST must be positive" msgstr "COSTは正数でなければなりません" -#: commands/functioncmds.c:832 commands/functioncmds.c:1435 +#: commands/functioncmds.c:847 commands/functioncmds.c:1450 #, c-format msgid "ROWS must be positive" msgstr "ROWSは正数でなければなりません" -#: commands/functioncmds.c:861 +#: commands/functioncmds.c:876 #, c-format msgid "no function body specified" msgstr "関数本体の指定がありません" -#: commands/functioncmds.c:866 +#: commands/functioncmds.c:881 #, c-format msgid "duplicate function body specified" msgstr "関数本体の指定が重複しています" -#: commands/functioncmds.c:871 +#: commands/functioncmds.c:886 #, c-format msgid "inline SQL function body only valid for language SQL" msgstr "インラインのSQL関数本体は言語指定がSQLの場合にのみ有効です" -#: commands/functioncmds.c:913 +#: commands/functioncmds.c:928 #, c-format msgid "SQL function with unquoted function body cannot have polymorphic arguments" msgstr "本体をクォートせずに定義するSQL関数は多態引き数を取れません" -#: commands/functioncmds.c:939 commands/functioncmds.c:958 +#: commands/functioncmds.c:954 commands/functioncmds.c:973 #, c-format msgid "%s is not yet supported in unquoted SQL function body" msgstr "%sはクォートしない関数本体ではサポートされません" -#: commands/functioncmds.c:986 +#: commands/functioncmds.c:1001 #, c-format msgid "only one AS item needed for language \"%s\"" msgstr "言語\"%s\"ではAS項目は1つだけ必要です" -#: commands/functioncmds.c:1091 +#: commands/functioncmds.c:1106 #, c-format msgid "no language specified" msgstr "言語が指定されていません" -#: commands/functioncmds.c:1099 commands/functioncmds.c:2104 commands/proclang.c:235 +#: commands/functioncmds.c:1114 commands/functioncmds.c:2132 commands/proclang.c:235 #, c-format msgid "language \"%s\" does not exist" msgstr "言語\"%s\"は存在しません" -#: commands/functioncmds.c:1101 commands/functioncmds.c:2106 +#: commands/functioncmds.c:1116 commands/functioncmds.c:2134 #, c-format msgid "Use CREATE EXTENSION to load the language into the database." msgstr "言語をデータベースに読み込むためには CREATE EXTENSION を使用してください" -#: commands/functioncmds.c:1134 commands/functioncmds.c:1419 +#: commands/functioncmds.c:1149 commands/functioncmds.c:1434 #, c-format msgid "only superuser can define a leakproof function" msgstr "スーパーユーザーのみがリークプルーフ関数を定義することができます" -#: commands/functioncmds.c:1185 +#: commands/functioncmds.c:1200 #, c-format msgid "function result type must be %s because of OUT parameters" msgstr "OUTパラメータで定義されているため、関数の戻り値型は%sでなければなりません" -#: commands/functioncmds.c:1198 +#: commands/functioncmds.c:1213 #, c-format msgid "function result type must be specified" msgstr "関数の結果型を指定しなければなりません" -#: commands/functioncmds.c:1251 commands/functioncmds.c:1439 +#: commands/functioncmds.c:1266 commands/functioncmds.c:1454 #, c-format msgid "ROWS is not applicable when function does not return a set" msgstr "関数が集合を返す場合にROWSは適していません" -#: commands/functioncmds.c:1546 +#: commands/functioncmds.c:1561 #, c-format msgid "source data type %s is a pseudo-type" msgstr "変換元データ型%sは疑似型です" -#: commands/functioncmds.c:1552 +#: commands/functioncmds.c:1567 #, c-format msgid "target data type %s is a pseudo-type" msgstr "変換先データ型%sは疑似型です" -#: commands/functioncmds.c:1576 +#: commands/functioncmds.c:1591 #, c-format msgid "cast will be ignored because the source data type is a domain" msgstr "元のデータ型がドメインであるため、キャストは無視されます" -#: commands/functioncmds.c:1581 +#: commands/functioncmds.c:1596 #, c-format msgid "cast will be ignored because the target data type is a domain" msgstr "対象のデータ型がドメインであるため、キャストは無視されます" -#: commands/functioncmds.c:1606 +#: commands/functioncmds.c:1621 #, c-format msgid "cast function must take one to three arguments" msgstr "キャスト関数の引数は1つから3つまでです" -#: commands/functioncmds.c:1612 +#: commands/functioncmds.c:1627 #, c-format msgid "argument of cast function must match or be binary-coercible from source data type" msgstr "キャスト関数の引数は変換元データ型と同一であるか、変換元データ型からバイナリ変換可能である必要があります" -#: commands/functioncmds.c:1616 +#: commands/functioncmds.c:1631 #, c-format msgid "second argument of cast function must be type %s" msgstr "キャスト関数の第2引数は%s型でなければなりません" -#: commands/functioncmds.c:1621 +#: commands/functioncmds.c:1636 #, c-format msgid "third argument of cast function must be type %s" msgstr "キャスト関数の第3引数は%s型でなければなりません" -#: commands/functioncmds.c:1628 +#: commands/functioncmds.c:1643 #, c-format msgid "return data type of cast function must match or be binary-coercible to target data type" msgstr "キャスト関数の戻り値データ型は変換先データ型と一致するか、変換先データ型へバイナリ変換可能である必要があります" -#: commands/functioncmds.c:1639 +#: commands/functioncmds.c:1654 #, c-format msgid "cast function must not be volatile" msgstr "キャスト関数はvolatileではいけません" -#: commands/functioncmds.c:1644 +#: commands/functioncmds.c:1659 #, c-format msgid "cast function must be a normal function" msgstr "キャスト関数は通常の関数でなければなりません" -#: commands/functioncmds.c:1648 +#: commands/functioncmds.c:1663 #, c-format msgid "cast function must not return a set" msgstr "キャスト関数は集合を返してはいけません" -#: commands/functioncmds.c:1674 +#: commands/functioncmds.c:1689 #, c-format msgid "must be superuser to create a cast WITHOUT FUNCTION" msgstr "WITHOUT FUNCTION指定のキャストを作成するにはスーパーユーザーである必要があります" -#: commands/functioncmds.c:1689 +#: commands/functioncmds.c:1704 #, c-format msgid "source and target data types are not physically compatible" msgstr "変換元と変換先のデータ型の間には物理的な互換性がありません" -#: commands/functioncmds.c:1704 +#: commands/functioncmds.c:1724 #, c-format msgid "composite data types are not binary-compatible" -msgstr "複合データ型はバイナリ互換ではありません" +msgstr "複合データ型がバイナリ互換ではありません" -#: commands/functioncmds.c:1710 +#: commands/functioncmds.c:1730 #, c-format -msgid "enum data types are not binary-compatible" -msgstr "列挙データ型はバイナリ互換ではありません" +msgid "array data types are not binary-compatible" +msgstr "配列データ型がバイナリ互換ではありません" -#: commands/functioncmds.c:1716 +#: commands/functioncmds.c:1738 #, c-format -msgid "array data types are not binary-compatible" -msgstr "配列データ型はバイナリ互換ではありません" +msgid "range data types are not binary-compatible" +msgstr "範囲データ型がバイナリ互換ではありません" + +#: commands/functioncmds.c:1744 +#, c-format +msgid "enum data types are not binary-compatible" +msgstr "列挙データ型がバイナリ互換ではありません" -#: commands/functioncmds.c:1733 +#: commands/functioncmds.c:1761 #, c-format msgid "domain data types must not be marked binary-compatible" msgstr "ドメインデータ型はバイナリ互換としてマークされていてはなりません" -#: commands/functioncmds.c:1743 +#: commands/functioncmds.c:1771 #, c-format msgid "source data type and target data type are the same" msgstr "変換元と変換先のデータ型が同一です" -#: commands/functioncmds.c:1776 +#: commands/functioncmds.c:1804 #, c-format msgid "transform function must not be volatile" msgstr "変換関数はvolatileではいけません" -#: commands/functioncmds.c:1780 +#: commands/functioncmds.c:1808 #, c-format msgid "transform function must be a normal function" msgstr "変換関数は通常の関数でなければなりません" -#: commands/functioncmds.c:1784 +#: commands/functioncmds.c:1812 #, c-format msgid "transform function must not return a set" msgstr "変換関数は集合を返してはいけません" -#: commands/functioncmds.c:1788 +#: commands/functioncmds.c:1816 #, c-format msgid "transform function must take one argument" msgstr "変換関数は引数を1つとらなければなりません" -#: commands/functioncmds.c:1792 +#: commands/functioncmds.c:1820 #, c-format msgid "first argument of transform function must be type %s" msgstr "変換関数の第1引数は%s型でなければなりません" -#: commands/functioncmds.c:1831 +#: commands/functioncmds.c:1859 #, c-format msgid "data type %s is a pseudo-type" msgstr "データ型%sは擬似型です" -#: commands/functioncmds.c:1837 +#: commands/functioncmds.c:1865 #, c-format msgid "data type %s is a domain" msgstr "データ型%sはドメインです" -#: commands/functioncmds.c:1877 +#: commands/functioncmds.c:1905 #, c-format msgid "return data type of FROM SQL function must be %s" msgstr "FROM SQL関数の戻り値のデータ型は%sでなければなりません" -#: commands/functioncmds.c:1903 +#: commands/functioncmds.c:1931 #, c-format msgid "return data type of TO SQL function must be the transform data type" msgstr "TO SQL関数の戻り値データ型はこの変換関数のデータ型でなければなりません" -#: commands/functioncmds.c:1930 +#: commands/functioncmds.c:1958 #, c-format msgid "transform for type %s language \"%s\" already exists" msgstr "型%s、言語\"%s\"の変換はすでに存在します" -#: commands/functioncmds.c:2016 +#: commands/functioncmds.c:2044 #, c-format msgid "transform for type %s language \"%s\" does not exist" msgstr "型%s、言語\"%s\"の変換は存在しません" -#: commands/functioncmds.c:2040 +#: commands/functioncmds.c:2068 #, c-format msgid "function %s already exists in schema \"%s\"" msgstr "関数%sはすでにスキーマ\"%s\"内に存在します" -#: commands/functioncmds.c:2091 +#: commands/functioncmds.c:2119 #, c-format msgid "no inline code specified" msgstr "インラインコードの指定がありません" -#: commands/functioncmds.c:2137 +#: commands/functioncmds.c:2165 #, c-format msgid "language \"%s\" does not support inline code execution" msgstr "言語\"%s\"ではインラインコード実行をサポートしていません" -#: commands/functioncmds.c:2232 +#: commands/functioncmds.c:2260 #, c-format msgid "cannot pass more than %d argument to a procedure" msgid_plural "cannot pass more than %d arguments to a procedure" msgstr[0] "プロシージャには %d 個以上の引数を渡すことはできません" -#: commands/indexcmds.c:647 +#: commands/indexcmds.c:653 #, c-format msgid "must specify at least one column" msgstr "少なくとも1つの列を指定しなければなりません" -#: commands/indexcmds.c:651 +#: commands/indexcmds.c:657 #, c-format msgid "cannot use more than %d columns in an index" msgstr "インデックスには%dを超える列を使用できません" -#: commands/indexcmds.c:694 +#: commands/indexcmds.c:706 #, c-format msgid "cannot create index on relation \"%s\"" msgstr "リレーション\"%s\"のインデックスを作成できません" -#: commands/indexcmds.c:720 +#: commands/indexcmds.c:732 #, c-format msgid "cannot create index on partitioned table \"%s\" concurrently" msgstr "パーティション親テーブル\"%s\"には CREATE INDEX CONCURRENTLY は実行できません" -#: commands/indexcmds.c:730 +#: commands/indexcmds.c:742 #, c-format msgid "cannot create indexes on temporary tables of other sessions" msgstr "他のセッションの一時テーブルに対するインデックスを作成できません" -#: commands/indexcmds.c:768 commands/tablecmds.c:806 commands/tablespace.c:1178 +#: commands/indexcmds.c:780 commands/tablecmds.c:841 commands/tablespace.c:1178 #, c-format msgid "cannot specify default tablespace for partitioned relations" msgstr "パーティション親リレーションにはデフォルトテーブル空間は指定できません" -#: commands/indexcmds.c:800 commands/tablecmds.c:837 commands/tablecmds.c:3564 +#: commands/indexcmds.c:812 commands/tablecmds.c:872 commands/tablecmds.c:3633 #, c-format msgid "only shared relations can be placed in pg_global tablespace" msgstr "共有リレーションのみをpg_globalテーブル空間に格納することができます" -#: commands/indexcmds.c:833 +#: commands/indexcmds.c:845 #, c-format msgid "substituting access method \"gist\" for obsolete method \"rtree\"" msgstr "古いメソッド\"rtree\"をアクセスメソッド\"gist\"に置換しています" -#: commands/indexcmds.c:854 +#: commands/indexcmds.c:866 #, c-format msgid "access method \"%s\" does not support unique indexes" -msgstr "アクセスメソッド\"%s\"では一意性インデックスをサポートしていません" +msgstr "アクセスメソッド\"%s\"ではユニークインデックスをサポートしていません" -#: commands/indexcmds.c:859 +#: commands/indexcmds.c:871 #, c-format msgid "access method \"%s\" does not support included columns" msgstr "アクセスメソッド\"%s\"では包含列をサポートしていません" -#: commands/indexcmds.c:864 +#: commands/indexcmds.c:876 #, c-format msgid "access method \"%s\" does not support multicolumn indexes" msgstr "アクセスメソッド\"%s\"は複数列インデックスをサポートしません" -#: commands/indexcmds.c:869 +#: commands/indexcmds.c:881 #, c-format msgid "access method \"%s\" does not support exclusion constraints" msgstr "アクセスメソッド\"%s\"は排除制約をサポートしていません" -#: commands/indexcmds.c:998 +#: commands/indexcmds.c:886 +#, c-format +msgid "access method \"%s\" does not support WITHOUT OVERLAPS constraints" +msgstr "アクセスメソッド\"%s\"はWITHOUT OVERLAPS制約をサポートしていません" + +#: commands/indexcmds.c:1017 #, c-format msgid "cannot match partition key to an index using access method \"%s\"" msgstr "パーティションキーはアクセスメソッド\"%s\"を使っているインデックスには適合させられません" -#: commands/indexcmds.c:1008 +#: commands/indexcmds.c:1027 #, c-format msgid "unsupported %s constraint with partition key definition" msgstr "パーティションキー定義では %s 制約はサポートしていません" -#: commands/indexcmds.c:1010 +#: commands/indexcmds.c:1029 #, c-format msgid "%s constraints cannot be used when partition keys include expressions." msgstr "%s 制約はパーティションキーが式を含む場合は使用できません" -#: commands/indexcmds.c:1060 +#: commands/indexcmds.c:1079 #, c-format msgid "cannot match partition key to index on column \"%s\" using non-equal operator \"%s\"" msgstr "パーティションキーの、列\"%s\"上のインデックスへの適合を非等価演算子\"%s\"を使って行うことはできません" -#: commands/indexcmds.c:1076 +#: commands/indexcmds.c:1095 #, c-format msgid "unique constraint on partitioned table must include all partitioning columns" msgstr "パーティション親テーブル上のユニーク制約はすべてのパーティショニング列を含まなければなりません" -#: commands/indexcmds.c:1077 +#: commands/indexcmds.c:1096 #, c-format msgid "%s constraint on table \"%s\" lacks column \"%s\" which is part of the partition key." msgstr "テーブル\"%2$s\"上の%1$s制約にパーティションキーの一部である列\"%3$s\"が含まれていません。" -#: commands/indexcmds.c:1096 commands/indexcmds.c:1115 +#: commands/indexcmds.c:1115 commands/indexcmds.c:1134 #, c-format msgid "index creation on system columns is not supported" msgstr "システム列へのインデックス作成はサポートされていません" -#: commands/indexcmds.c:1344 tcop/utility.c:1515 +#: commands/indexcmds.c:1366 tcop/utility.c:1518 #, c-format msgid "cannot create unique index on partitioned table \"%s\"" msgstr "パーティション親テーブル\"%s\"にはユニークインデックスを構築できません" -#: commands/indexcmds.c:1346 tcop/utility.c:1517 +#: commands/indexcmds.c:1368 tcop/utility.c:1520 #, c-format msgid "Table \"%s\" contains partitions that are foreign tables." msgstr "テーブル\"%s\"は外部テーブルを子テーブルとして含んでいます" -#: commands/indexcmds.c:1831 +#: commands/indexcmds.c:1826 #, c-format msgid "functions in index predicate must be marked IMMUTABLE" msgstr "インデックスの述部の関数はIMMUTABLEマークが必要です" -#: commands/indexcmds.c:1910 parser/parse_utilcmd.c:2494 parser/parse_utilcmd.c:2629 +#: commands/indexcmds.c:1923 parser/parse_utilcmd.c:2706 parser/parse_utilcmd.c:2889 #, c-format msgid "column \"%s\" named in key does not exist" msgstr "キーとして指名された列\"%s\"は存在しません" -#: commands/indexcmds.c:1934 parser/parse_utilcmd.c:1782 +#: commands/indexcmds.c:1947 parser/parse_utilcmd.c:1958 #, c-format msgid "expressions are not supported in included columns" msgstr "包含列では式はサポートされません" -#: commands/indexcmds.c:1975 +#: commands/indexcmds.c:1988 #, c-format msgid "functions in index expression must be marked IMMUTABLE" msgstr "式インデックスの関数はIMMUTABLEマークが必要です" -#: commands/indexcmds.c:1990 +#: commands/indexcmds.c:2003 #, c-format msgid "including column does not support a collation" msgstr "包含列は照合順序をサポートしません" -#: commands/indexcmds.c:1994 +#: commands/indexcmds.c:2007 #, c-format msgid "including column does not support an operator class" msgstr "包含列は演算子クラスをサポートしません" -#: commands/indexcmds.c:1998 +#: commands/indexcmds.c:2011 #, c-format msgid "including column does not support ASC/DESC options" msgstr "包含列は ASC/DESC オプションをサポートしません" -#: commands/indexcmds.c:2002 +#: commands/indexcmds.c:2015 #, c-format msgid "including column does not support NULLS FIRST/LAST options" msgstr "包含列は NULLS FIRST/LAST オプションをサポートしません" -#: commands/indexcmds.c:2044 +#: commands/indexcmds.c:2058 #, c-format msgid "could not determine which collation to use for index expression" msgstr "インデックス式で使用する照合順序を特定できませんでした" -#: commands/indexcmds.c:2052 commands/tablecmds.c:18078 commands/typecmds.c:811 parser/parse_expr.c:2785 parser/parse_type.c:568 parser/parse_utilcmd.c:3918 utils/adt/misc.c:630 +#: commands/indexcmds.c:2066 commands/tablecmds.c:18693 commands/typecmds.c:811 parser/parse_expr.c:2783 parser/parse_type.c:568 parser/parse_utilcmd.c:3991 utils/adt/misc.c:630 #, c-format msgid "collations are not supported by type %s" msgstr "%s 型では照合順序はサポートされません" -#: commands/indexcmds.c:2117 +#: commands/indexcmds.c:2133 #, c-format msgid "operator %s is not commutative" msgstr "演算子 %s は可換ではありません" -#: commands/indexcmds.c:2119 +#: commands/indexcmds.c:2135 #, c-format msgid "Only commutative operators can be used in exclusion constraints." msgstr "排除制約で使えるのは可換演算子だけです" -#: commands/indexcmds.c:2145 +#: commands/indexcmds.c:2161 #, c-format msgid "operator %s is not a member of operator family \"%s\"" msgstr "演算子%sは演算子族\"%s\"のメンバーではありません" -#: commands/indexcmds.c:2148 +#: commands/indexcmds.c:2164 #, c-format msgid "The exclusion operator must be related to the index operator class for the constraint." msgstr "この排除に使用する演算子はこの制約に使用するインデックス演算子に関連付けられている必要があります。" -#: commands/indexcmds.c:2183 +#: commands/indexcmds.c:2214 #, c-format msgid "access method \"%s\" does not support ASC/DESC options" msgstr "アクセスメソッド\"%s\"はASC/DESCオプションをサポートしません" -#: commands/indexcmds.c:2188 +#: commands/indexcmds.c:2219 #, c-format msgid "access method \"%s\" does not support NULLS FIRST/LAST options" msgstr "アクセスメソッド\"%s\"はNULLS FIRST/LASTオプションをサポートしません" -#: commands/indexcmds.c:2232 commands/tablecmds.c:18103 commands/tablecmds.c:18109 commands/typecmds.c:2311 +#: commands/indexcmds.c:2263 commands/tablecmds.c:18718 commands/tablecmds.c:18724 commands/typecmds.c:2315 #, c-format msgid "data type %s has no default operator class for access method \"%s\"" msgstr "アクセスメソッド\"%2$s\"にはデータ型%1$s用のデフォルトの演算子クラスがありません" -#: commands/indexcmds.c:2234 +#: commands/indexcmds.c:2265 #, c-format msgid "You must specify an operator class for the index or define a default operator class for the data type." msgstr "このインデックスの演算子クラスを指定するか、あるいはこのデータ型のデフォルト演算子クラスを定義しなければなりません。" -#: commands/indexcmds.c:2263 commands/indexcmds.c:2271 commands/opclasscmds.c:204 +#: commands/indexcmds.c:2294 commands/indexcmds.c:2302 commands/opclasscmds.c:204 #, c-format msgid "operator class \"%s\" does not exist for access method \"%s\"" msgstr "アクセスメソッド\"%2$s\"用の演算子クラス\"%1$s\"は存在しません" -#: commands/indexcmds.c:2285 commands/typecmds.c:2299 +#: commands/indexcmds.c:2316 commands/typecmds.c:2303 #, c-format msgid "operator class \"%s\" does not accept data type %s" msgstr "演算子クラス\"%s\"はデータ型%sを受け付けません" -#: commands/indexcmds.c:2375 +#: commands/indexcmds.c:2406 #, c-format msgid "there are multiple default operator classes for data type %s" msgstr "データ型%sには複数のデフォルトの演算子クラスがあります" -#: commands/indexcmds.c:2703 +#: commands/indexcmds.c:2464 commands/indexcmds.c:2491 executor/execReplication.c:372 parser/parse_cte.c:302 parser/parse_oper.c:221 utils/adt/array_userfuncs.c:1334 utils/adt/array_userfuncs.c:1477 utils/adt/arrayfuncs.c:3864 utils/adt/arrayfuncs.c:4419 utils/adt/arrayfuncs.c:6438 utils/adt/rowtypes.c:1220 +#, c-format +msgid "could not identify an equality operator for type %s" +msgstr "型%sの等価演算子を特定できませんでした" + +#: commands/indexcmds.c:2465 commands/indexcmds.c:2492 +#, c-format +msgid "could not identify an overlaps operator for type %s" +msgstr "型%sの重複検出演算子を特定できませんでした" + +#: commands/indexcmds.c:2466 commands/indexcmds.c:2493 +#, c-format +msgid "could not identify a contained-by operator for type %s" +msgstr "型%sの被包含演算子を特定できませんでした" + +#: commands/indexcmds.c:2467 commands/tablecmds.c:10001 +#, c-format +msgid "Could not translate strategy number %d for operator class \"%s\" for access method \"%s\"." +msgstr "アクセスメソッド\"%3$s\"用の演算子クラス\"%2$s\"のストラテジ番号%1$dを変換できませんでした。" + +#: commands/indexcmds.c:2494 +#, c-format +msgid "There is no suitable operator in operator family \"%s\" for access method \"%s\"." +msgstr "アクセスメソッド\"%2$s\"に対する演算子族\"%1$s\"に適切な演算子がありません。" + +#: commands/indexcmds.c:2816 #, c-format msgid "unrecognized REINDEX option \"%s\"" msgstr "認識できないREINDEXのオプション \"%s\"" -#: commands/indexcmds.c:2935 +#: commands/indexcmds.c:3048 #, c-format msgid "table \"%s\" has no indexes that can be reindexed concurrently" msgstr "テーブル\"%s\"には並行インデックス再作成が可能なインデックスがありません" -#: commands/indexcmds.c:2949 +#: commands/indexcmds.c:3062 #, c-format msgid "table \"%s\" has no indexes to reindex" msgstr "テーブル\"%s\"には再構築すべきインデックスはありません" -#: commands/indexcmds.c:2996 commands/indexcmds.c:3507 commands/indexcmds.c:3637 +#: commands/indexcmds.c:3109 commands/indexcmds.c:3620 commands/indexcmds.c:3750 #, c-format msgid "cannot reindex system catalogs concurrently" msgstr "システムカタログではインデックスの並行再構築はできません" -#: commands/indexcmds.c:3020 +#: commands/indexcmds.c:3133 #, c-format msgid "can only reindex the currently open database" msgstr "現在オープンしているデータベースのみをインデックス再構築することができます" -#: commands/indexcmds.c:3112 +#: commands/indexcmds.c:3225 #, c-format msgid "cannot reindex system catalogs concurrently, skipping all" msgstr "システムカタログではインデックスの並行再構築はできません、全てスキップします" -#: commands/indexcmds.c:3145 +#: commands/indexcmds.c:3258 #, c-format msgid "cannot move system relations, skipping all" msgstr "システムリレーションは移動できません、すべてスキップします" -#: commands/indexcmds.c:3191 +#: commands/indexcmds.c:3304 #, c-format msgid "while reindexing partitioned table \"%s.%s\"" msgstr "パーティションテーブル\"%s.%s\"のインデックス再構築中" -#: commands/indexcmds.c:3194 +#: commands/indexcmds.c:3307 #, c-format msgid "while reindexing partitioned index \"%s.%s\"" msgstr "パーティションインデックス\"%s.%s\"のインデックス再構築中" -#: commands/indexcmds.c:3387 commands/indexcmds.c:4255 +#: commands/indexcmds.c:3500 commands/indexcmds.c:4392 #, c-format msgid "table \"%s.%s\" was reindexed" msgstr "テーブル\"%s.%s\"のインデックス再構築が完了しました" -#: commands/indexcmds.c:3539 commands/indexcmds.c:3592 +#: commands/indexcmds.c:3652 commands/indexcmds.c:3705 #, c-format msgid "skipping reindex of invalid index \"%s.%s\"" msgstr "無効なインデックス\"%s.%s\"の再構築をスキップします" -#: commands/indexcmds.c:3542 commands/indexcmds.c:3595 +#: commands/indexcmds.c:3655 commands/indexcmds.c:3708 #, c-format msgid "Use DROP INDEX or REINDEX INDEX." msgstr "DROP INDEXあるいはREINDEX INDEXを使用してください。" -#: commands/indexcmds.c:3546 +#: commands/indexcmds.c:3659 #, c-format msgid "cannot reindex exclusion constraint index \"%s.%s\" concurrently, skipping" msgstr "排他制約インデックス\"%s.%s\"を並行再構築することはできません、スキップします " -#: commands/indexcmds.c:3702 +#: commands/indexcmds.c:3815 #, c-format msgid "cannot reindex this type of relation concurrently" msgstr "このタイプのリレーションでインデックス並列再構築はできません" -#: commands/indexcmds.c:3720 +#: commands/indexcmds.c:3833 #, c-format msgid "cannot move non-shared relation to tablespace \"%s\"" msgstr "テーブルスペース\"%s\"への非共有リレーションの移動はできません" -#: commands/indexcmds.c:4236 commands/indexcmds.c:4248 +#: commands/indexcmds.c:4373 commands/indexcmds.c:4385 #, c-format msgid "index \"%s.%s\" was reindexed" msgstr " インデックス\"%s.%s\"の再構築が完了しました " -#: commands/indexcmds.c:4238 commands/indexcmds.c:4257 +#: commands/indexcmds.c:4375 commands/indexcmds.c:4394 #, c-format msgid "%s." msgstr "%s。" @@ -8973,36 +8959,41 @@ msgstr "%s。" msgid "cannot lock relation \"%s\"" msgstr "リレーション\"%s\"はロックできません" -#: commands/matview.c:190 +#: commands/matview.c:208 #, c-format msgid "CONCURRENTLY cannot be used when the materialized view is not populated" msgstr "実体化ビューにデータが投入されていない場合はCONCURRENTLYを使用することはできません" -#: commands/matview.c:196 gram.y:18967 +#: commands/matview.c:214 gram.y:19044 #, c-format msgid "%s and %s options cannot be used together" msgstr "%sオプションと%sオプションとを同時に使用することはできません" -#: commands/matview.c:253 +#: commands/matview.c:273 #, c-format msgid "cannot refresh materialized view \"%s\" concurrently" msgstr "実体化ビュー\"%s\"を平行的に最新化することはできません" -#: commands/matview.c:256 +#: commands/matview.c:276 #, c-format msgid "Create a unique index with no WHERE clause on one or more columns of the materialized view." -msgstr "実体化ビュー上の1つ以上の列に対してWHERE句を持たないUNIQUEインデックスを作成してください。" +msgstr "実体化ビュー上の1つ以上の列に対してWHERE句を持たないユニークインデックスを作成してください。" -#: commands/matview.c:650 +#: commands/matview.c:682 #, c-format msgid "new data for materialized view \"%s\" contains duplicate rows without any null columns" msgstr "実体化ビュー\"%s\"に対する新しいデータにはNULL列を持たない重複行があります" -#: commands/matview.c:652 +#: commands/matview.c:684 #, c-format msgid "Row: %s" msgstr "行: %s" +#: commands/matview.c:840 +#, c-format +msgid "could not find suitable unique index on materialized view" +msgstr "実体化ビューに適切なユニークインデックスがありませんでした" + #: commands/opclasscmds.c:123 #, c-format msgid "operator family \"%s\" does not exist for access method \"%s\"" @@ -9288,7 +9279,7 @@ msgstr "演算子の属性\"%s\"は変更できません" 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:1728 commands/tablecmds.c:2328 commands/tablecmds.c:3675 commands/tablecmds.c:6613 commands/tablecmds.c:9645 commands/tablecmds.c:17665 commands/tablecmds.c:17700 commands/trigger.c:316 commands/trigger.c:1332 commands/trigger.c:1442 rewrite/rewriteDefine.c:268 rewrite/rewriteDefine.c:779 rewrite/rewriteRemove.c:74 +#: commands/policy.c:86 commands/policy.c:379 commands/statscmds.c:146 commands/tablecmds.c:1756 commands/tablecmds.c:2356 commands/tablecmds.c:3747 commands/tablecmds.c:6651 commands/tablecmds.c:9764 commands/tablecmds.c:18280 commands/tablecmds.c:18315 commands/trigger.c:316 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\"はシステムカタログです" @@ -9328,17 +9319,17 @@ msgstr "テーブル\"%2$s\"に対するポリシ\"%1$s\"は存在しません" msgid "only USING expression allowed for SELECT, DELETE" msgstr "SELECT、DELETEにはUSING式のみが指定可能です" -#: commands/portalcmds.c:60 commands/portalcmds.c:181 commands/portalcmds.c:232 +#: commands/portalcmds.c:63 commands/portalcmds.c:191 commands/portalcmds.c:242 #, c-format msgid "invalid cursor name: must not be empty" msgstr "カーソル名が不正です: 空ではいけません" -#: commands/portalcmds.c:72 +#: commands/portalcmds.c:75 #, c-format msgid "cannot create a cursor WITH HOLD within security-restricted operation" msgstr "セキュリティー制限操作中は、WITH HOLD指定のカーソルを作成できません" -#: commands/portalcmds.c:189 commands/portalcmds.c:242 executor/execCurrent.c:70 utils/adt/xml.c:2873 utils/adt/xml.c:3043 +#: commands/portalcmds.c:199 commands/portalcmds.c:252 executor/execCurrent.c:70 utils/adt/xml.c:2936 utils/adt/xml.c:3106 #, c-format msgid "cursor \"%s\" does not exist" msgstr "カーソル\"%s\"は存在しません" @@ -9383,196 +9374,196 @@ msgstr "準備された文\"%s\"は存在しません" 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:1811 +#: commands/publicationcmds.c:128 postmaster/postmaster.c:1084 postmaster/postmaster.c:1186 utils/init/miscinit.c:1811 #, c-format msgid "invalid list syntax in parameter \"%s\"" msgstr "パラメータ\"%s\"のリスト構文が不正です" -#: commands/publicationcmds.c:143 +#: commands/publicationcmds.c:147 #, c-format msgid "unrecognized value for publication option \"%s\": \"%s\"" msgstr "パブリケーションオプション\"%s\"に対する認識できない値: \"%s\"" -#: commands/publicationcmds.c:157 +#: commands/publicationcmds.c:168 #, c-format msgid "unrecognized publication parameter: \"%s\"" msgstr "識別できないパブリケーションのパラメータ: \"%s\"" -#: commands/publicationcmds.c:198 +#: commands/publicationcmds.c:209 #, c-format msgid "no schema has been selected for CURRENT_SCHEMA" msgstr "SURRENT_SCHEMAでスキーマの選択ができませんでした" -#: commands/publicationcmds.c:495 +#: commands/publicationcmds.c:506 msgid "System columns are not allowed." msgstr "システム列は使用できません。" -#: commands/publicationcmds.c:502 commands/publicationcmds.c:507 commands/publicationcmds.c:524 +#: commands/publicationcmds.c:513 commands/publicationcmds.c:518 commands/publicationcmds.c:535 msgid "User-defined operators are not allowed." msgstr "ユーザー定義演算子は使用できません。" -#: commands/publicationcmds.c:548 +#: commands/publicationcmds.c:559 msgid "Only columns, constants, built-in operators, built-in data types, built-in collations, and immutable built-in functions are allowed." msgstr "列、定数、組み込み演算子、組み込みデータ型、組み込み照合順序、そして不変組み込み関数のみ使用可能です。" -#: commands/publicationcmds.c:560 +#: commands/publicationcmds.c:571 msgid "User-defined types are not allowed." msgstr "ユーザー定義型は使用できません。" -#: commands/publicationcmds.c:563 +#: commands/publicationcmds.c:574 msgid "User-defined or built-in mutable functions are not allowed." msgstr "ユーザー定義または組み込みの不変関数は使用できません。" -#: commands/publicationcmds.c:566 +#: commands/publicationcmds.c:577 msgid "User-defined collations are not allowed." msgstr "ユーザー定義照合順序は使用できません。" -#: commands/publicationcmds.c:576 +#: commands/publicationcmds.c:587 #, c-format msgid "invalid publication WHERE expression" msgstr "パブリケーションのWHERE式が不正です" -#: commands/publicationcmds.c:629 +#: commands/publicationcmds.c:640 #, c-format msgid "cannot use publication WHERE clause for relation \"%s\"" msgstr "リレーション\"%s\"に対してはパブリケーションのWHERE句は使用できません" -#: commands/publicationcmds.c:631 +#: commands/publicationcmds.c:642 #, c-format msgid "WHERE clause cannot be used for a partitioned table when %s is false." msgstr "%sが偽のときはWHERE句をパーティション親テーブルに対して使用することはできません。" -#: commands/publicationcmds.c:702 commands/publicationcmds.c:716 +#: commands/publicationcmds.c:713 commands/publicationcmds.c:727 #, c-format msgid "cannot use column list for relation \"%s.%s\" in publication \"%s\"" msgstr "パブリケーション\"%3$s\"のリレーション\"%1$s.%2$s\"に対して列リストを使用することはできません" -#: commands/publicationcmds.c:705 +#: commands/publicationcmds.c:716 #, c-format msgid "Column lists cannot be specified in publications containing FOR TABLES IN SCHEMA elements." msgstr "FOR TABLES IN SCHEMA要素を含むパブリケーションで列リストは指定できません。" -#: commands/publicationcmds.c:719 +#: commands/publicationcmds.c:730 #, c-format msgid "Column lists cannot be specified for partitioned tables when %s is false." msgstr "%sが偽のときはパーティション親テーブルに対して列リストを使用できません。" -#: commands/publicationcmds.c:754 +#: commands/publicationcmds.c:767 #, c-format msgid "must be superuser to create FOR ALL TABLES publication" msgstr "FOR ALL TABLE 指定のパブリケーションを生成するためにはスーパーユーザーである必要があります" -#: commands/publicationcmds.c:825 +#: commands/publicationcmds.c:842 #, c-format msgid "must be superuser to create FOR TABLES IN SCHEMA publication" msgstr "FOR TABLES IN SCHEMA設定のパブリケーションを作成するにはスーパーユーザーである必要があります" -#: commands/publicationcmds.c:861 +#: commands/publicationcmds.c:878 #, c-format msgid "\"wal_level\" is insufficient to publish logical changes" msgstr "\"wal_level\"が論理更新情報のパブリッシュには不十分です" -#: commands/publicationcmds.c:862 +#: commands/publicationcmds.c:879 #, 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:979 commands/publicationcmds.c:987 #, c-format msgid "cannot set parameter \"%s\" to false for publication \"%s\"" msgstr "パブリケーション\"%2$s\"に対してパラメーター\"%1$s\"を偽に設定することはできません" -#: commands/publicationcmds.c:961 +#: commands/publicationcmds.c:982 #, c-format msgid "The publication contains a WHERE clause for partitioned table \"%s\", which is not allowed when \"%s\" is false." msgstr "このパブリケーションはパーティション親テーブル\"%s\"に対するWHERE句を含んでいますが、これは\"%s\" が偽の場合は許可されません。" -#: commands/publicationcmds.c:969 +#: commands/publicationcmds.c:990 #, c-format msgid "The publication contains a column list for partitioned table \"%s\", which is not allowed when \"%s\" is false." msgstr "このパブリケーションはパーティション親テーブルに\"%s\"対する列リストを含んでいますが、これは\"%s\" が偽の場合は許可されません。" -#: commands/publicationcmds.c:1292 +#: commands/publicationcmds.c:1311 #, c-format msgid "cannot add schema to publication \"%s\"" msgstr "パブリケーション\"%s\"にはスキーマは追加できません" -#: commands/publicationcmds.c:1294 +#: commands/publicationcmds.c:1313 #, c-format msgid "Schemas cannot be added if any tables that specify a column list are already part of the publication." msgstr "カラムリストが指定されているテーブルがパブリケーションに含まれている場合はスキーマの追加ができません。" -#: commands/publicationcmds.c:1342 +#: commands/publicationcmds.c:1361 #, c-format msgid "must be superuser to add or set schemas" msgstr "スキーマを追加または設定するにはスーパーユーザーである必要があります" -#: commands/publicationcmds.c:1351 commands/publicationcmds.c:1359 +#: commands/publicationcmds.c:1370 commands/publicationcmds.c:1378 #, c-format msgid "publication \"%s\" is defined as FOR ALL TABLES" msgstr "パブリケーション\"%s\"は FOR ALL TABLES と定義されています" -#: commands/publicationcmds.c:1353 +#: commands/publicationcmds.c:1372 #, 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:1380 #, c-format msgid "Tables cannot be added to or dropped from FOR ALL TABLES publications." msgstr "FOR ALL TABLES指定のパブリケーションではテーブルの追加や削除はできません。" -#: commands/publicationcmds.c:1385 commands/publicationcmds.c:1424 commands/publicationcmds.c:1961 utils/cache/lsyscache.c:3634 +#: commands/publicationcmds.c:1404 commands/publicationcmds.c:1443 commands/publicationcmds.c:1980 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:1606 commands/publicationcmds.c:1669 #, c-format msgid "conflicting or redundant WHERE clauses for table \"%s\"" msgstr "テーブル\"%s\"でWHERE句が衝突しているか重複しています" -#: commands/publicationcmds.c:1594 commands/publicationcmds.c:1662 +#: commands/publicationcmds.c:1613 commands/publicationcmds.c:1681 #, c-format msgid "conflicting or redundant column lists for table \"%s\"" msgstr "テーブル\"%s\"で列リストが衝突しているか重複しています" -#: commands/publicationcmds.c:1796 +#: commands/publicationcmds.c:1815 #, c-format msgid "column list must not be specified in ALTER PUBLICATION ... DROP" msgstr "ALTER PUBLICATION ... DROPでは、列リストは指定できません" -#: commands/publicationcmds.c:1808 +#: commands/publicationcmds.c:1827 #, c-format msgid "relation \"%s\" is not part of the publication" msgstr "リレーション\"%s\"はパブリケーションの一部ではありません" -#: commands/publicationcmds.c:1815 +#: commands/publicationcmds.c:1834 #, c-format msgid "cannot use a WHERE clause when removing a table from a publication" msgstr "テーブルをパブリケーションから削除する際にはWHERE句を指定できません" -#: commands/publicationcmds.c:1875 +#: commands/publicationcmds.c:1894 #, 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:1937 commands/publicationcmds.c:1944 #, c-format msgid "permission denied to change owner of publication \"%s\"" msgstr "パブリケーション\"%s\"の所有者を変更する権限がありません" -#: commands/publicationcmds.c:1920 +#: commands/publicationcmds.c:1939 #, 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:1946 #, 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:2012 #, c-format msgid "publication with OID %u does not exist" msgstr "OID %uのパブリケーションは存在しません" @@ -9618,127 +9609,127 @@ msgid "cannot set security label on relation \"%s\"" msgstr "リレーション\"%s\"のセキュリティラベルは設定できません" # (%s) -#: commands/sequence.c:741 +#: commands/sequence.c:748 #, c-format msgid "nextval: reached maximum value of sequence \"%s\" (%lld)" msgstr "nextval: シーケンス\"%s\"の最大値(%lld)に達しました" -#: commands/sequence.c:760 +#: commands/sequence.c:767 #, c-format msgid "nextval: reached minimum value of sequence \"%s\" (%lld)" msgstr "nextval: シーケンス\"%s\"の最小値(%lld)に達しました" -#: commands/sequence.c:879 +#: commands/sequence.c:886 #, c-format msgid "currval of sequence \"%s\" is not yet defined in this session" msgstr "本セッションでシーケンス\"%s\"のcurrvalはまだ定義されていません" -#: commands/sequence.c:898 commands/sequence.c:904 +#: commands/sequence.c:905 commands/sequence.c:911 #, c-format msgid "lastval is not yet defined in this session" msgstr "本セッションでlastvalはまだ定義されていません" -#: commands/sequence.c:984 +#: commands/sequence.c:991 #, c-format msgid "setval: value %lld is out of bounds for sequence \"%s\" (%lld..%lld)" msgstr "setval: 値%lldはシーケンス\"%s\"の範囲(%lld..%lld)外です\"" -#: commands/sequence.c:1347 +#: commands/sequence.c:1357 #, c-format msgid "invalid sequence option SEQUENCE NAME" msgstr "不正なオプション SEQUENCE NAME" -#: commands/sequence.c:1373 +#: commands/sequence.c:1383 #, c-format msgid "identity column type must be smallint, integer, or bigint" msgstr "識別列の型はsmallint、integerまたはbigintでなくてはなりません" -#: commands/sequence.c:1374 +#: commands/sequence.c:1384 #, c-format msgid "sequence type must be smallint, integer, or bigint" msgstr "シーケンスの型はsmallint、integerまたはbigintでなくてはなりません" -#: commands/sequence.c:1408 +#: commands/sequence.c:1418 #, c-format msgid "INCREMENT must not be zero" msgstr "INCREMENTはゼロではいけません" -#: commands/sequence.c:1456 +#: commands/sequence.c:1466 #, c-format msgid "MAXVALUE (%lld) is out of range for sequence data type %s" msgstr "MAXVALUE (%lld) はシーケンスデータ型%sの範囲外です" -#: commands/sequence.c:1488 +#: commands/sequence.c:1498 #, c-format msgid "MINVALUE (%lld) is out of range for sequence data type %s" msgstr "MINVALUE (%lld) はシーケンスデータ型%sの範囲外です" -#: commands/sequence.c:1496 +#: commands/sequence.c:1506 #, c-format msgid "MINVALUE (%lld) must be less than MAXVALUE (%lld)" msgstr "MINVALUE (%lld)はMAXVALUE (%lld)より小さくなければなりません" -#: commands/sequence.c:1517 +#: commands/sequence.c:1527 #, c-format msgid "START value (%lld) cannot be less than MINVALUE (%lld)" msgstr "STARTの値(%lld)はMINVALUE(%lld)より小さくすることはできません" -#: commands/sequence.c:1523 +#: commands/sequence.c:1533 #, c-format msgid "START value (%lld) cannot be greater than MAXVALUE (%lld)" msgstr "STARTの値(%lld)はMAXVALUE(%lld)より大きくすることはできません" -#: commands/sequence.c:1547 +#: commands/sequence.c:1557 #, c-format msgid "RESTART value (%lld) cannot be less than MINVALUE (%lld)" msgstr "RESTART の値(%lld)は MINVALUE(%lld) より小さくすることはできません" -#: commands/sequence.c:1553 +#: commands/sequence.c:1563 #, c-format msgid "RESTART value (%lld) cannot be greater than MAXVALUE (%lld)" msgstr "RESTART の値(%lld)は MAXVALUE(%lld) より大きくすることはできません" -#: commands/sequence.c:1564 +#: commands/sequence.c:1574 #, c-format msgid "CACHE (%lld) must be greater than zero" msgstr "CACHE(%lld)はゼロより大きくなければなりません" -#: commands/sequence.c:1600 +#: commands/sequence.c:1610 #, c-format msgid "invalid OWNED BY option" msgstr "不正なOWNED BYオプションです" -#: commands/sequence.c:1601 +#: commands/sequence.c:1611 #, c-format msgid "Specify OWNED BY table.column or OWNED BY NONE." msgstr "OWNED BY table.column または OWNED BY NONEを指定してください。" -#: commands/sequence.c:1626 +#: commands/sequence.c:1636 #, c-format msgid "sequence cannot be owned by relation \"%s\"" msgstr "シーケンスの所有者をリレーション\"%s\"にはできません" -#: commands/sequence.c:1634 +#: commands/sequence.c:1644 #, c-format msgid "sequence must have same owner as table it is linked to" msgstr "シーケンスは関連するテーブルと同じ所有者でなければなりません" -#: commands/sequence.c:1638 +#: commands/sequence.c:1648 #, c-format msgid "sequence must be in same schema as table it is linked to" msgstr "シーケンスは関連するテーブルと同じスキーマでなければなりません" -#: commands/sequence.c:1660 +#: commands/sequence.c:1670 #, c-format msgid "cannot change ownership of identity sequence" msgstr "識別シーケンスの所有者は変更できません" -#: commands/sequence.c:1661 commands/tablecmds.c:14387 commands/tablecmds.c:17081 +#: commands/sequence.c:1671 commands/tablecmds.c:14884 commands/tablecmds.c:17689 #, 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 tcop/utility.c:1886 #, c-format msgid "only a single relation is allowed in CREATE STATISTICS" msgstr "CREATE STATISTICSで指定可能なリレーションは一つのみです" @@ -9803,12 +9794,12 @@ msgstr "定形情報定義中の列名が重複しています" msgid "duplicate expression in statistics definition" msgstr "統計情報定義内に重複した式" -#: commands/statscmds.c:628 commands/tablecmds.c:8628 +#: commands/statscmds.c:628 commands/tablecmds.c:8664 #, c-format msgid "statistics target %d is too low" msgstr "統計情報目標%dは小さすぎます" -#: commands/statscmds.c:636 commands/tablecmds.c:8636 +#: commands/statscmds.c:636 commands/tablecmds.c:8672 #, c-format msgid "lowering statistics target to %d" msgstr "統計情報目標を%dに減らします" @@ -9818,1699 +9809,1774 @@ msgstr "統計情報目標を%dに減らします" msgid "statistics object \"%s.%s\" does not exist, skipping" msgstr "統計情報オブジェクト\"%s.%s\"は存在しません、スキップします" -#: commands/subscriptioncmds.c:275 commands/subscriptioncmds.c:372 -#, c-format -msgid "unrecognized subscription parameter: \"%s\"" -msgstr "認識できないサブスクリプションパラメータ: \"%s\"" - -#: commands/subscriptioncmds.c:340 replication/pgoutput/pgoutput.c:397 +#: commands/subscriptioncmds.c:331 replication/pgoutput/pgoutput.c:403 #, c-format msgid "unrecognized origin value: \"%s\"" msgstr "識別できないoriginの値: \"%s\"" -#: commands/subscriptioncmds.c:363 +#: commands/subscriptioncmds.c:354 #, c-format msgid "invalid WAL location (LSN): %s" msgstr "不正なWAL位置(LSN): %s" +#: commands/subscriptioncmds.c:363 +#, c-format +msgid "unrecognized subscription parameter: \"%s\"" +msgstr "認識できないサブスクリプションパラメータ: \"%s\"" + #. translator: both %s are strings of the form "option = value" -#: commands/subscriptioncmds.c:387 commands/subscriptioncmds.c:394 commands/subscriptioncmds.c:401 commands/subscriptioncmds.c:423 commands/subscriptioncmds.c:439 +#: commands/subscriptioncmds.c:378 commands/subscriptioncmds.c:385 commands/subscriptioncmds.c:392 commands/subscriptioncmds.c:414 commands/subscriptioncmds.c:430 #, c-format msgid "%s and %s are mutually exclusive options" msgstr "%s と %s は排他なオプションです" #. translator: both %s are strings of the form "option = value" -#: commands/subscriptioncmds.c:429 commands/subscriptioncmds.c:445 +#: commands/subscriptioncmds.c:420 commands/subscriptioncmds.c:436 #, c-format msgid "subscription with %s must also set %s" msgstr "%s としたサブスクリプションでは %s を設定する必要があります" -#: commands/subscriptioncmds.c:506 +#: commands/subscriptioncmds.c:466 #, c-format msgid "could not receive list of publications from the publisher: %s" msgstr "パブリケーション一覧をパブリッシャから受け取れませんでした: %s" -#: commands/subscriptioncmds.c:538 +#: commands/subscriptioncmds.c:498 #, c-format msgid "publication %s does not exist on the publisher" msgid_plural "publications %s do not exist on the publisher" msgstr[0] "パブリケーション%sはパブリッシャ上には存在しません" -#: commands/subscriptioncmds.c:626 +#: commands/subscriptioncmds.c:586 #, c-format msgid "permission denied to create subscription" msgstr "サブスクリプションを作成する権限がありません" -#: commands/subscriptioncmds.c:627 +#: commands/subscriptioncmds.c:587 #, c-format msgid "Only roles with privileges of the \"%s\" role may create subscriptions." msgstr "\"%s\"ロールの権限を持つロールのみがサブスクリプションを作成できます。" -#: commands/subscriptioncmds.c:758 commands/subscriptioncmds.c:891 commands/subscriptioncmds.c:1524 replication/logical/tablesync.c:1345 replication/logical/worker.c:4503 +#: commands/subscriptioncmds.c:718 commands/subscriptioncmds.c:852 commands/subscriptioncmds.c:1594 #, c-format -msgid "could not connect to the publisher: %s" -msgstr "パブリッシャへの接続ができませんでした: %s" +msgid "subscription \"%s\" could not connect to the publisher: %s" +msgstr "サブスクリプション\"%s\"はパブリッシャに接続できませんでした: %s" -#: commands/subscriptioncmds.c:829 +#: commands/subscriptioncmds.c:790 #, c-format msgid "created replication slot \"%s\" on publisher" msgstr "パブリッシャ上でレプリケーションスロット\"%s\"を作成しました" -#: commands/subscriptioncmds.c:841 +#: commands/subscriptioncmds.c:802 #, c-format msgid "subscription was created, but is not connected" msgstr "サブスクリプションは作成されましたが接続されていません" -#: commands/subscriptioncmds.c:842 +#: commands/subscriptioncmds.c:803 #, c-format 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:1070 +#, c-format +msgid "cannot set option \"%s\" for enabled subscription" +msgstr "有効にされているサブスクリプションにはオプション”%s”を指定できません" + +#: commands/subscriptioncmds.c:1084 +#, c-format +msgid "cannot set option \"%s\" for a subscription that does not have a slot name" +msgstr "スロット名を指定されていないサブスクリプションのオプション\"%s\"を設定することはできません" + +#: commands/subscriptioncmds.c:1127 commands/subscriptioncmds.c:1663 commands/subscriptioncmds.c:2044 utils/cache/lsyscache.c:3684 #, c-format msgid "subscription \"%s\" does not exist" msgstr "サブスクリプション\"%s\"は存在しません" -#: commands/subscriptioncmds.c:1166 commands/subscriptioncmds.c:1245 +#: commands/subscriptioncmds.c:1185 #, c-format msgid "cannot set %s for enabled subscription" msgstr "有効にされているサブスクリプションには %s を指定できません" -#: commands/subscriptioncmds.c:1233 +#: commands/subscriptioncmds.c:1270 +#, c-format +msgid "slot_name and two_phase cannot be altered at the same time" +msgstr "slot_nameとtwo_phaseは同時に変更できません" + +#: commands/subscriptioncmds.c:1286 +#, c-format +msgid "cannot alter two_phase when logical replication worker is still running" +msgstr "論理レプリケーションワーカーがまだ実行中のためtwo_phaseは変更できません" + +#: commands/subscriptioncmds.c:1287 +#, c-format +msgid "Try again after some time." +msgstr "少し待ってから再試行してください。" + +#: commands/subscriptioncmds.c:1300 +#, c-format +msgid "cannot disable two_phase when prepared transactions are present" +msgstr "準備済みトランザクションが存在するためtwo_phaseを無効にできません" + +#: commands/subscriptioncmds.c:1301 #, c-format -msgid "cannot set %s for a subscription that does not have a slot name" -msgstr "スロット名を指定されていないサブスクリプションの%sを設定することはできません" +msgid "Resolve these transactions and try again." +msgstr "トランザクションの解決後に再試行してください。" -#: commands/subscriptioncmds.c:1279 +#: commands/subscriptioncmds.c:1348 #, c-format msgid "cannot enable subscription that does not have a slot name" msgstr "スロット名を指定されていないサブスクリプションを有効にはできません" -#: commands/subscriptioncmds.c:1323 commands/subscriptioncmds.c:1374 +#: commands/subscriptioncmds.c:1392 commands/subscriptioncmds.c:1443 #, c-format msgid "ALTER SUBSCRIPTION with refresh is not allowed for disabled subscriptions" msgstr "refresh指定された ALTER SUBSCRIPTION は無効化されているサブスクリプションには実行できません" -#: commands/subscriptioncmds.c:1324 +#: commands/subscriptioncmds.c:1393 #, c-format msgid "Use ALTER SUBSCRIPTION ... SET PUBLICATION ... WITH (refresh = false)." msgstr "ALTER SUBSCRIPTION ... SET PUBLICATION ... WITH (refresh = false) を使ってください。" -#: commands/subscriptioncmds.c:1333 commands/subscriptioncmds.c:1388 +#: commands/subscriptioncmds.c:1402 commands/subscriptioncmds.c:1457 #, c-format msgid "ALTER SUBSCRIPTION with refresh and copy_data is not allowed when two_phase is enabled" msgstr "two_phaseが有効である場合、refreshおよびcopy_data指定された ALTER SUBSCRIPTIONは実行できません" -#: commands/subscriptioncmds.c:1334 +#: commands/subscriptioncmds.c:1403 #, c-format msgid "Use ALTER SUBSCRIPTION ... SET PUBLICATION with refresh = false, or with copy_data = false, or use DROP/CREATE SUBSCRIPTION." msgstr "refresh = false または copy_data = false を指定してALTER SUBSCRIPTION ... SET PUBLICATIONを実行するか、DROP/CREATE SUBSCRIPTIONを実行してください。" #. translator: %s is an SQL ALTER command -#: commands/subscriptioncmds.c:1390 +#: commands/subscriptioncmds.c:1459 #, c-format msgid "Use %s with refresh = false, or with copy_data = false, or use DROP/CREATE SUBSCRIPTION." msgstr "refresh = false または copy_data = false を指定して%sを実行するか、DROP/CREATE SUBSCRIPTIONを実行してください。" -#: commands/subscriptioncmds.c:1412 +#: commands/subscriptioncmds.c:1481 #, c-format msgid "ALTER SUBSCRIPTION ... REFRESH is not allowed for disabled subscriptions" msgstr "ALTER SUBSCRIPTION ... REFRESHは無効化されているサブスクリプションには実行できません" -#: commands/subscriptioncmds.c:1437 +#: commands/subscriptioncmds.c:1506 #, c-format msgid "ALTER SUBSCRIPTION ... REFRESH with copy_data is not allowed when two_phase is enabled" msgstr "two_phaseが有効である場合、copy_data指定のALTER SUBSCRIPTION ... REFRESHは実行できません" -#: commands/subscriptioncmds.c:1438 +#: commands/subscriptioncmds.c:1507 #, c-format msgid "Use ALTER SUBSCRIPTION ... REFRESH with copy_data = false, or use DROP/CREATE SUBSCRIPTION." msgstr "ALTER SUBSCRIPTION ... REFRESH を copy_data = false を指定して実行するか、DROP/CREATE SUBSCRIPTIONを実行してください。" -#: commands/subscriptioncmds.c:1473 +#: commands/subscriptioncmds.c:1542 #, c-format msgid "skip WAL location (LSN %X/%X) must be greater than origin LSN %X/%X" msgstr "WAL読み飛ばし位置(LSN %X/%X)は基点LSN %X/%Xより大きくなければなりません" -#: commands/subscriptioncmds.c:1594 +#: commands/subscriptioncmds.c:1667 #, c-format msgid "subscription \"%s\" does not exist, skipping" msgstr "サブスクリプション\"%s\"は存在しません、スキップします" -#: commands/subscriptioncmds.c:1863 +#: commands/subscriptioncmds.c:1934 #, c-format msgid "dropped replication slot \"%s\" on publisher" msgstr "パブリッシャ上でレプリケーションスロット\"%s\"を削除しました" -#: commands/subscriptioncmds.c:1872 commands/subscriptioncmds.c:1880 +#: commands/subscriptioncmds.c:1943 commands/subscriptioncmds.c:1951 #, c-format msgid "could not drop replication slot \"%s\" on publisher: %s" msgstr "パブリッシャ上でのレプリケーションスロット\"%s\"の削除に失敗しました: %s" -#: commands/subscriptioncmds.c:2005 +#: commands/subscriptioncmds.c:2076 #, c-format msgid "subscription with OID %u does not exist" msgstr "OID %uのサブスクリプションは存在しません" -#: commands/subscriptioncmds.c:2076 commands/subscriptioncmds.c:2201 +#: commands/subscriptioncmds.c:2147 commands/subscriptioncmds.c:2271 #, c-format msgid "could not receive list of replicated tables from the publisher: %s" msgstr "パブリッシャから複製テーブルの一覧を受け取れませんでした: %s" -#: commands/subscriptioncmds.c:2112 +#: commands/subscriptioncmds.c:2183 #, c-format msgid "subscription \"%s\" requested copy_data with origin = NONE but might copy data that had a different origin" msgstr "サブスクリプション\"%s\"がcopy_dataをorigin = NONEで要求しましたが、異なる基点を持つデータをコピーする可能性があります" -#: commands/subscriptioncmds.c:2114 +#: commands/subscriptioncmds.c:2185 #, 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." msgstr[0] "作成中のサブスクリプションは他のサブスクリプションによって書き込まれるテーブルを含むパブリケーション(%s)をサブスクライブします" -#: commands/subscriptioncmds.c:2117 +#: commands/subscriptioncmds.c:2188 #, c-format msgid "Verify that initial data copied from the publisher tables did not come from other origins." msgstr "パブリッシャテーブルからコピーされた初期データが異なる起源からのものでないことを確認してください。" -#: commands/subscriptioncmds.c:2223 replication/logical/tablesync.c:906 replication/pgoutput/pgoutput.c:1117 +#: commands/subscriptioncmds.c:2293 replication/logical/tablesync.c:905 replication/pgoutput/pgoutput.c:1145 #, c-format msgid "cannot use different column lists for table \"%s.%s\" in different publications" msgstr "テーブル\"%s.%s\"に対して、異なるパブリケーションで異なる列リストを使用することはできません" -#: commands/subscriptioncmds.c:2273 +#: commands/subscriptioncmds.c:2343 #, 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:2276 +#: commands/subscriptioncmds.c:2346 #, 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:2307 +#: commands/subscriptioncmds.c:2377 #, c-format msgid "publication name \"%s\" used more than once" msgstr "パブリケーション名\"%s\"が2回以上使われています" -#: commands/subscriptioncmds.c:2351 +#: commands/subscriptioncmds.c:2421 #, c-format msgid "publication \"%s\" is already in subscription \"%s\"" msgstr "パブリケーション\"%s\"はサブスクリプション\"%s\"にすでに存在します" -#: commands/subscriptioncmds.c:2365 +#: commands/subscriptioncmds.c:2435 #, c-format msgid "publication \"%s\" is not in subscription \"%s\"" msgstr "パブリケーション\"%s\"はサブスクリプション\"%s\"にはありません" -#: commands/subscriptioncmds.c:2376 +#: commands/subscriptioncmds.c:2446 #, c-format msgid "cannot drop all the publications from a subscription" msgstr "サブスクリプションからすべてのパブリケーションを削除することはできません" -#: commands/subscriptioncmds.c:2433 +#: commands/subscriptioncmds.c:2503 #, c-format msgid "%s requires a Boolean value or \"parallel\"" msgstr "パラメータ\"%s\"はBoolean値または\"parallel\"のみを取ります" -#: commands/tablecmds.c:255 commands/tablecmds.c:297 +#: commands/tablecmds.c:258 commands/tablecmds.c:300 #, c-format msgid "table \"%s\" does not exist" msgstr "テーブル\"%s\"は存在しません" -#: commands/tablecmds.c:256 commands/tablecmds.c:298 +#: commands/tablecmds.c:259 commands/tablecmds.c:301 #, c-format msgid "table \"%s\" does not exist, skipping" msgstr "テーブル\"%s\"は存在しません、スキップします" -#: commands/tablecmds.c:258 commands/tablecmds.c:300 +#: commands/tablecmds.c:261 commands/tablecmds.c:303 msgid "Use DROP TABLE to remove a table." msgstr "テーブルを削除するにはDROP TABLEを使用してください。" -#: commands/tablecmds.c:261 +#: commands/tablecmds.c:264 #, c-format msgid "sequence \"%s\" does not exist" msgstr "シーケンス\"%s\"は存在しません" -#: commands/tablecmds.c:262 +#: commands/tablecmds.c:265 #, c-format msgid "sequence \"%s\" does not exist, skipping" msgstr "シーケンス\"%s\"は存在しません、スキップします" -#: commands/tablecmds.c:264 +#: commands/tablecmds.c:267 msgid "Use DROP SEQUENCE to remove a sequence." msgstr "シーケンスを削除するにはDROP SEQUENCEを使用してください。" -#: commands/tablecmds.c:267 +#: commands/tablecmds.c:270 #, c-format msgid "view \"%s\" does not exist" msgstr "ビュー\"%s\"は存在しません" -#: commands/tablecmds.c:268 +#: commands/tablecmds.c:271 #, c-format msgid "view \"%s\" does not exist, skipping" msgstr "ビュー\"%s\"は存在しません、スキップします" -#: commands/tablecmds.c:270 +#: commands/tablecmds.c:273 msgid "Use DROP VIEW to remove a view." msgstr "ビューを削除するにはDROP VIEWを使用してください。" -#: commands/tablecmds.c:273 +#: commands/tablecmds.c:276 #, c-format msgid "materialized view \"%s\" does not exist" msgstr "実体化ビュー\"%s\"は存在しません" -#: commands/tablecmds.c:274 +#: commands/tablecmds.c:277 #, c-format msgid "materialized view \"%s\" does not exist, skipping" msgstr "実体化ビュー\"%s\"は存在しません、スキップします" -#: commands/tablecmds.c:276 +#: commands/tablecmds.c:279 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:19627 parser/parse_utilcmd.c:2226 +#: commands/tablecmds.c:282 commands/tablecmds.c:306 commands/tablecmds.c:20300 parser/parse_utilcmd.c:2398 #, c-format msgid "index \"%s\" does not exist" msgstr "インデックス\"%s\"は存在しません" -#: commands/tablecmds.c:280 commands/tablecmds.c:304 +#: commands/tablecmds.c:283 commands/tablecmds.c:307 #, c-format msgid "index \"%s\" does not exist, skipping" msgstr "インデックス\"%s\"は存在しません、スキップします" -#: commands/tablecmds.c:282 commands/tablecmds.c:306 +#: commands/tablecmds.c:285 commands/tablecmds.c:309 msgid "Use DROP INDEX to remove an index." msgstr "インデックスを削除するにはDROP INDEXを使用してください" -#: commands/tablecmds.c:287 +#: commands/tablecmds.c:290 #, c-format msgid "\"%s\" is not a type" msgstr "\"%s\"は型ではありません" -#: commands/tablecmds.c:288 +#: commands/tablecmds.c:291 msgid "Use DROP TYPE to remove a type." msgstr "型を削除するにはDROP TYPEを使用してください" -#: commands/tablecmds.c:291 commands/tablecmds.c:14226 commands/tablecmds.c:16786 +#: commands/tablecmds.c:294 commands/tablecmds.c:14723 commands/tablecmds.c:17391 #, c-format msgid "foreign table \"%s\" does not exist" msgstr "外部テーブル\"%s\"は存在しません" -#: commands/tablecmds.c:292 +#: commands/tablecmds.c:295 #, c-format msgid "foreign table \"%s\" does not exist, skipping" msgstr "外部テーブル\"%s\"は存在しません、スキップします" -#: commands/tablecmds.c:294 +#: commands/tablecmds.c:297 msgid "Use DROP FOREIGN TABLE to remove a foreign table." msgstr "外部テーブルを削除するには DROP FOREIGN TABLE を使用してください。" -#: commands/tablecmds.c:722 +#: commands/tablecmds.c:751 #, c-format msgid "ON COMMIT can only be used on temporary tables" msgstr "ON COMMITは一時テーブルでのみ使用できます" -#: commands/tablecmds.c:753 +#: commands/tablecmds.c:768 +#, c-format +msgid "partitioned tables cannot be unlogged" +msgstr "パーティションテーブルはログ非取得にはできません" + +#: commands/tablecmds.c:788 #, c-format msgid "cannot create temporary table within security-restricted operation" msgstr "セキュリティー制限操作中は、一時テーブルを作成できません" -#: commands/tablecmds.c:789 commands/tablecmds.c:15645 +#: commands/tablecmds.c:824 commands/tablecmds.c:16144 #, c-format msgid "relation \"%s\" would be inherited from more than once" msgstr "リレーション\"%s\"が複数回継承されました" -#: commands/tablecmds.c:1055 +#: commands/tablecmds.c:1091 #, c-format msgid "\"%s\" is not partitioned" msgstr "\"%s\"はパーティションされていません" -#: commands/tablecmds.c:1149 +#: commands/tablecmds.c:1185 #, c-format msgid "cannot partition using more than %d columns" msgstr "%d以上の列を使ったパーティションはできません" -#: commands/tablecmds.c:1205 +#: commands/tablecmds.c:1241 #, c-format msgid "cannot create foreign partition of partitioned table \"%s\"" msgstr "パーティションテーブル\"%s\"では外部子テーブルを作成できません" -#: commands/tablecmds.c:1207 +#: commands/tablecmds.c:1243 #, c-format msgid "Table \"%s\" contains indexes that are unique." msgstr "テーブル\"%s\"はユニークインデックスを持っています" -#: commands/tablecmds.c:1326 commands/tablecmds.c:13242 +#: commands/tablecmds.c:1373 commands/tablecmds.c:13723 #, c-format msgid "too many array dimensions" msgstr "配列の次元多すぎます" -#: commands/tablecmds.c:1331 parser/parse_clause.c:774 parser/parse_relation.c:1912 +#: commands/tablecmds.c:1378 parser/parse_clause.c:772 parser/parse_relation.c:1912 #, c-format msgid "column \"%s\" cannot be declared SETOF" msgstr "列\"%s\"はSETOFとして宣言できません" -#: commands/tablecmds.c:1477 +#: commands/tablecmds.c:1505 #, c-format msgid "DROP INDEX CONCURRENTLY does not support dropping multiple objects" msgstr "DROP INDEX CONCURRENTLYは複数オブジェクトの削除をサポートしていません" -#: commands/tablecmds.c:1481 +#: commands/tablecmds.c:1509 #, c-format msgid "DROP INDEX CONCURRENTLY does not support CASCADE" msgstr "DROP INDEX CONCURRENTLYはCASCADEをサポートしません" -#: commands/tablecmds.c:1585 +#: commands/tablecmds.c:1613 #, c-format msgid "cannot drop partitioned index \"%s\" concurrently" msgstr "パーティション親インデックス\"%s\"は並行的に削除することはできません" -#: commands/tablecmds.c:1873 +#: commands/tablecmds.c:1901 #, c-format msgid "cannot truncate only a partitioned table" msgstr "パーティションの親テーブルのみの切り詰めはできません" -#: commands/tablecmds.c:1874 +#: commands/tablecmds.c:1902 #, c-format msgid "Do not specify the ONLY keyword, or use TRUNCATE ONLY on the partitions directly." msgstr "ONLY キーワードを指定しないでください、もしくは子テーブルに対して直接 TRUNCATE ONLY を実行してください。" -#: commands/tablecmds.c:1947 +#: commands/tablecmds.c:1975 #, c-format msgid "truncate cascades to table \"%s\"" msgstr "テーブル\"%s\"へのカスケードを削除します" -#: commands/tablecmds.c:2308 +#: commands/tablecmds.c:2336 #, c-format msgid "cannot truncate foreign table \"%s\"" msgstr "外部テーブル\"%s\"の切り詰めはできません" -#: commands/tablecmds.c:2365 +#: commands/tablecmds.c:2393 #, c-format msgid "cannot truncate temporary tables of other sessions" msgstr "他のセッションの一時テーブルを削除できません" -#: commands/tablecmds.c:2594 commands/tablecmds.c:15542 +#: commands/tablecmds.c:2630 commands/tablecmds.c:16041 #, c-format msgid "cannot inherit from partitioned table \"%s\"" msgstr "パーティション親テーブル\"%s\"からの継承はできません" -#: commands/tablecmds.c:2599 +#: commands/tablecmds.c:2635 #, c-format msgid "cannot inherit from partition \"%s\"" msgstr "パーティション子テーブル\"%s\"からの継承はできません" -#: commands/tablecmds.c:2607 parser/parse_utilcmd.c:2456 parser/parse_utilcmd.c:2598 +#: commands/tablecmds.c:2643 parser/parse_utilcmd.c:2670 parser/parse_utilcmd.c:2858 #, c-format msgid "inherited relation \"%s\" is not a table or foreign table" msgstr "継承しようとしたリレーション\"%s\"はテーブルまたは外部テーブルではありません" -#: commands/tablecmds.c:2619 commands/tablecmds.c:20391 +#: commands/tablecmds.c:2655 #, c-format msgid "cannot create a temporary relation as partition of permanent relation \"%s\"" msgstr "一時リレーションを永続リレーション\"%s\"のパーティション子テーブルとして作ることはできません" -#: commands/tablecmds.c:2628 commands/tablecmds.c:15521 +#: commands/tablecmds.c:2664 commands/tablecmds.c:16020 #, c-format msgid "cannot inherit from temporary relation \"%s\"" msgstr "一時リレーション\"%s\"から継承することはできません" -#: commands/tablecmds.c:2638 commands/tablecmds.c:15529 +#: commands/tablecmds.c:2674 commands/tablecmds.c:16028 #, c-format msgid "cannot inherit from temporary relation of another session" msgstr "他のセッションの一時リレーションから継承することはできません" -#: commands/tablecmds.c:2779 commands/tablecmds.c:2833 commands/tablecmds.c:12925 parser/parse_utilcmd.c:1240 parser/parse_utilcmd.c:1283 parser/parse_utilcmd.c:1710 parser/parse_utilcmd.c:1818 +#: commands/tablecmds.c:2829 commands/tablecmds.c:2883 commands/tablecmds.c:13406 parser/parse_utilcmd.c:1413 parser/parse_utilcmd.c:1456 parser/parse_utilcmd.c:1886 parser/parse_utilcmd.c:1994 #, c-format msgid "cannot convert whole-row table reference" msgstr "行全体テーブル参照を変換できません" -#: commands/tablecmds.c:2780 parser/parse_utilcmd.c:1241 +#: commands/tablecmds.c:2830 parser/parse_utilcmd.c:1414 #, c-format msgid "Generation expression for column \"%s\" contains a whole-row reference to table \"%s\"." msgstr "制約\"%s\"はテーブル\"%s\"への行全体参照を含みます。" -#: commands/tablecmds.c:2834 parser/parse_utilcmd.c:1284 +#: commands/tablecmds.c:2884 parser/parse_utilcmd.c:1457 #, c-format msgid "Constraint \"%s\" contains a whole-row reference to table \"%s\"." msgstr "制約\"%s\"はテーブル\"%s\"への行全体参照を含みます。" -#: commands/tablecmds.c:2944 commands/tablecmds.c:3215 +#: commands/tablecmds.c:3005 commands/tablecmds.c:3277 #, c-format msgid "column \"%s\" inherits from generated column but specifies default" msgstr "列\"%s\"は生成列を継承しますが、default 指定がされています" -#: commands/tablecmds.c:2949 commands/tablecmds.c:3220 +#: commands/tablecmds.c:3010 commands/tablecmds.c:3282 #, c-format msgid "column \"%s\" inherits from generated column but specifies identity" msgstr "列\"%s\"は生成列を継承しますが、識別列と指定されています" -#: commands/tablecmds.c:2957 commands/tablecmds.c:3228 +#: commands/tablecmds.c:3018 commands/tablecmds.c:3290 #, c-format msgid "child column \"%s\" specifies generation expression" msgstr "子テーブルの列\"%s\"は生成式を指定しています" -#: commands/tablecmds.c:2959 commands/tablecmds.c:3230 +#: commands/tablecmds.c:3020 commands/tablecmds.c:3292 #, c-format msgid "A child table column cannot be generated unless its parent column is." msgstr "子テーブルの列は、親となる列が生成列でなければ生成列にはできません。" -#: commands/tablecmds.c:3005 +#: commands/tablecmds.c:3066 #, c-format msgid "column \"%s\" inherits conflicting generation expressions" msgstr "列\"%s\"は競合する生成式を継承します" -#: commands/tablecmds.c:3007 +#: commands/tablecmds.c:3068 #, c-format msgid "To resolve the conflict, specify a generation expression explicitly." msgstr "この競合を解消するには明示的に生成式を指定してください。" -#: commands/tablecmds.c:3011 +#: commands/tablecmds.c:3072 #, c-format msgid "column \"%s\" inherits conflicting default values" msgstr "列\"%s\"は競合するデフォルト値を継承します" -#: commands/tablecmds.c:3013 +#: commands/tablecmds.c:3074 #, c-format msgid "To resolve the conflict, specify a default explicitly." msgstr "競合を解消するには明示的にデフォルトを指定してください" -#: commands/tablecmds.c:3068 +#: commands/tablecmds.c:3130 #, c-format msgid "check constraint name \"%s\" appears multiple times but with different expressions" msgstr "異なる式を持つ検査制約名\"%s\"が複数あります。" -#: commands/tablecmds.c:3119 +#: commands/tablecmds.c:3181 #, c-format msgid "merging column \"%s\" with inherited definition" msgstr "継承される定義で列\"%s\"をマージしています" -#: commands/tablecmds.c:3123 +#: commands/tablecmds.c:3185 #, c-format msgid "moving and merging column \"%s\" with inherited definition" msgstr "継承される定義で列\"%s\"を移動してマージします" -#: commands/tablecmds.c:3124 +#: commands/tablecmds.c:3186 #, c-format msgid "User-specified column moved to the position of the inherited column." msgstr "ユーザーが指定した列が継承した列の位置に移動されました。" -#: commands/tablecmds.c:3136 +#: commands/tablecmds.c:3198 #, c-format msgid "column \"%s\" has a type conflict" msgstr "列\"%s\"の型が競合しています" -#: commands/tablecmds.c:3138 commands/tablecmds.c:3172 commands/tablecmds.c:3188 commands/tablecmds.c:3295 commands/tablecmds.c:3328 commands/tablecmds.c:3344 parser/parse_coerce.c:2155 parser/parse_coerce.c:2175 parser/parse_coerce.c:2195 parser/parse_coerce.c:2216 parser/parse_coerce.c:2271 parser/parse_coerce.c:2305 parser/parse_coerce.c:2381 parser/parse_coerce.c:2412 parser/parse_coerce.c:2451 parser/parse_coerce.c:2518 parser/parse_param.c:223 +#: commands/tablecmds.c:3200 commands/tablecmds.c:3234 commands/tablecmds.c:3250 commands/tablecmds.c:3357 commands/tablecmds.c:3385 commands/tablecmds.c:3401 parser/parse_coerce.c:2155 parser/parse_coerce.c:2175 parser/parse_coerce.c:2195 parser/parse_coerce.c:2216 parser/parse_coerce.c:2271 parser/parse_coerce.c:2305 parser/parse_coerce.c:2381 parser/parse_coerce.c:2412 parser/parse_coerce.c:2451 parser/parse_coerce.c:2518 parser/parse_param.c:224 #, c-format msgid "%s versus %s" msgstr "%s対%s" -#: commands/tablecmds.c:3150 +#: commands/tablecmds.c:3212 #, c-format msgid "column \"%s\" has a collation conflict" msgstr "列\"%s\"の照合順序が競合しています" -#: commands/tablecmds.c:3152 commands/tablecmds.c:3314 commands/tablecmds.c:7088 +#: commands/tablecmds.c:3214 commands/tablecmds.c:3371 commands/tablecmds.c:7135 #, c-format msgid "\"%s\" versus \"%s\"" msgstr "\"%s\"対\"%s\"" -#: commands/tablecmds.c:3170 +#: commands/tablecmds.c:3232 #, c-format msgid "column \"%s\" has a storage parameter conflict" msgstr "列\"%s\"でストレージパラメータが競合しています" -#: commands/tablecmds.c:3186 commands/tablecmds.c:3342 +#: commands/tablecmds.c:3248 commands/tablecmds.c:3399 #, c-format msgid "column \"%s\" has a compression method conflict" msgstr "列\"%s\"で圧縮方式が競合しています" -#: commands/tablecmds.c:3281 +#: commands/tablecmds.c:3343 #, c-format msgid "merging multiple inherited definitions of column \"%s\"" msgstr "複数の継承される列\"%s\"の定義をマージしています" -#: commands/tablecmds.c:3293 +#: commands/tablecmds.c:3355 #, c-format msgid "inherited column \"%s\" has a type conflict" msgstr "継承される列\"%s\"の型が競合しています" -#: commands/tablecmds.c:3312 +#: commands/tablecmds.c:3369 #, c-format msgid "inherited column \"%s\" has a collation conflict" msgstr "継承される列 \"%s\"の照合順序が競合しています" -#: commands/tablecmds.c:3326 +#: commands/tablecmds.c:3383 #, c-format msgid "inherited column \"%s\" has a storage parameter conflict" msgstr "継承される列\"%s\"でストレージパラメータが競合しています" -#: commands/tablecmds.c:3354 +#: commands/tablecmds.c:3411 #, c-format msgid "inherited column \"%s\" has a generation conflict" msgstr "継承された列 \"%s\"の生成が競合しています" -#: commands/tablecmds.c:3573 +#: commands/tablecmds.c:3642 #, c-format msgid "cannot move temporary tables of other sessions" msgstr "他のセッションの一時テーブルを移動できません" -#: commands/tablecmds.c:3643 +#: commands/tablecmds.c:3715 #, c-format msgid "cannot rename column of typed table" msgstr "型付けされたテーブルの列をリネームできません" -#: commands/tablecmds.c:3662 +#: commands/tablecmds.c:3734 #, c-format msgid "cannot rename columns of relation \"%s\"" msgstr "リレーション\"%s\"の列名は変更できません" -#: commands/tablecmds.c:3757 +#: commands/tablecmds.c:3829 #, c-format msgid "inherited column \"%s\" must be renamed in child tables too" msgstr "継承される列\"%s\"の名前を子テーブルでも変更する必要があります" -#: commands/tablecmds.c:3789 +#: commands/tablecmds.c:3861 #, c-format msgid "cannot rename system column \"%s\"" msgstr "システム列%s\"の名前を変更できません" -#: commands/tablecmds.c:3804 +#: commands/tablecmds.c:3876 #, c-format msgid "cannot rename inherited column \"%s\"" msgstr "継承される列\"%s\"の名前を変更できません" -#: commands/tablecmds.c:3956 +#: commands/tablecmds.c:4031 #, c-format msgid "inherited constraint \"%s\" must be renamed in child tables too" msgstr "継承される制約\"%s\"の名前を子テーブルでも変更する必要があります" -#: commands/tablecmds.c:3963 +#: commands/tablecmds.c:4038 #, c-format msgid "cannot rename inherited constraint \"%s\"" msgstr "継承される制約\"%s\"の名前を変更できません" #. translator: first %s is a SQL command, eg ALTER TABLE -#: commands/tablecmds.c:4260 +#: commands/tablecmds.c:4338 #, c-format msgid "cannot %s \"%s\" because it is being used by active queries in this session" msgstr "このセッションで実行中の問い合わせで使用されているため\"%2$s\"を%1$sできません" #. translator: first %s is a SQL command, eg ALTER TABLE -#: commands/tablecmds.c:4269 +#: commands/tablecmds.c:4347 #, c-format msgid "cannot %s \"%s\" because it has pending trigger events" msgstr "保留中のトリガイベントがあるため\"%2$s\"を%1$sできません" -#: commands/tablecmds.c:4295 +#: commands/tablecmds.c:4373 #, c-format msgid "cannot alter temporary tables of other sessions" msgstr "他のセッションの一時テーブルは変更できません" -#: commands/tablecmds.c:4776 +#: commands/tablecmds.c:4837 #, c-format msgid "cannot alter partition \"%s\" with an incomplete detach" msgstr "パーティション子テーブル\"%s\"は不完全な取り外し状態であるため変更できません" -#: commands/tablecmds.c:4980 commands/tablecmds.c:4995 +#: commands/tablecmds.c:5066 #, c-format msgid "cannot change persistence setting twice" msgstr "永続性設定の変更は2度はできません" -#: commands/tablecmds.c:5016 +#: commands/tablecmds.c:5083 #, c-format msgid "cannot have multiple SET ACCESS METHOD subcommands" msgstr "SET ACCESS METHODサブコマンドを複数指定できません" -#: commands/tablecmds.c:5772 +#: commands/tablecmds.c:5813 #, c-format msgid "cannot rewrite system relation \"%s\"" msgstr "システムリレーション\"%sを書き換えられません" -#: commands/tablecmds.c:5778 +#: commands/tablecmds.c:5819 #, c-format msgid "cannot rewrite table \"%s\" used as a catalog table" msgstr "カタログテーブルとして使用されているテーブル\"%s\"は書き換えられません" -#: commands/tablecmds.c:5790 +#: commands/tablecmds.c:5831 #, c-format msgid "cannot rewrite temporary tables of other sessions" msgstr "他のセッションの一時テーブルを書き換えられません" -#: commands/tablecmds.c:6285 +#: commands/tablecmds.c:6326 #, c-format msgid "column \"%s\" of relation \"%s\" contains null values" msgstr "リレーション\"%2$s\"の列\"%1$s\"にNULL値があります" -#: commands/tablecmds.c:6302 +#: commands/tablecmds.c:6343 #, c-format msgid "check constraint \"%s\" of relation \"%s\" is violated by some row" msgstr "一部の行がリレーション\"%2$s\"の検査制約\"%1$s\"に違反してます" -#: commands/tablecmds.c:6321 partitioning/partbounds.c:3388 +#: commands/tablecmds.c:6363 partitioning/partbounds.c:3387 #, c-format msgid "updated partition constraint for default partition \"%s\" would be violated by some row" msgstr "デフォルトパーティション\"%s\"の一部の行が更新後のパーティション制約に違反しています" -#: commands/tablecmds.c:6327 +#: commands/tablecmds.c:6369 #, c-format msgid "partition constraint of relation \"%s\" is violated by some row" msgstr "一部の行がリレーション\"%s\"のパーティション制約に違反しています" #. translator: %s is a group of some SQL keywords -#: commands/tablecmds.c:6596 +#: commands/tablecmds.c:6634 #, c-format msgid "ALTER action %s cannot be performed on relation \"%s\"" msgstr "ALTERのアクション%sはリレーション\"%s\"では実行できません" -#: commands/tablecmds.c:6851 commands/tablecmds.c:6858 +#: commands/tablecmds.c:6889 commands/tablecmds.c:6896 #, c-format msgid "cannot alter type \"%s\" because column \"%s.%s\" uses it" msgstr "型\"%s\"を変更できません。列\"%s\".\"%s\"でその型を使用しているためです" -#: commands/tablecmds.c:6865 +#: commands/tablecmds.c:6903 #, c-format msgid "cannot alter foreign table \"%s\" because column \"%s.%s\" uses its row type" msgstr "列%2$s\".\"%3$s\"がその行型を使用しているため、外部テーブル\"%1$s\"を変更できません。" -#: commands/tablecmds.c:6872 +#: commands/tablecmds.c:6910 #, c-format msgid "cannot alter table \"%s\" because column \"%s.%s\" uses its row type" msgstr "テーブル\"%s\"を変更できません。その行型を列\"%s\".\"%s\"で使用しているためです" -#: commands/tablecmds.c:6928 +#: commands/tablecmds.c:6966 #, c-format msgid "cannot alter type \"%s\" because it is the type of a typed table" msgstr "型付けされたテーブルの型であるため、外部テーブル\"%s\"を変更できません。" -#: commands/tablecmds.c:6930 +#: commands/tablecmds.c:6968 #, c-format msgid "Use ALTER ... CASCADE to alter the typed tables too." msgstr "型付けされたテーブルを変更する場合も ALTER .. CASCADE を使用してください" -#: commands/tablecmds.c:6976 +#: commands/tablecmds.c:7014 +#, c-format +msgid "type %s is the row type of another table" +msgstr "型\"%s\"は他のテーブルの行型です" + +#: commands/tablecmds.c:7016 +#, c-format +msgid "A typed table must use a stand-alone composite type created with CREATE TYPE." +msgstr "型付きテーブルは、CREATE TYPEで作成された独立した複合型を使用する必要があります。" + +#: commands/tablecmds.c:7021 #, c-format msgid "type %s is not a composite type" msgstr "型 %s は複合型ではありません" -#: commands/tablecmds.c:7003 +#: commands/tablecmds.c:7048 #, c-format msgid "cannot add column to typed table" msgstr "型付けされたテーブルに列を追加できません" -#: commands/tablecmds.c:7051 +#: commands/tablecmds.c:7098 #, c-format msgid "cannot add column to a partition" msgstr "パーティションに列は追加できません" -#: commands/tablecmds.c:7080 commands/tablecmds.c:15760 +#: commands/tablecmds.c:7127 commands/tablecmds.c:16259 #, c-format msgid "child table \"%s\" has different type for column \"%s\"" msgstr "子テーブル\"%s\"に異なる型の列\"%s\"があります" -#: commands/tablecmds.c:7086 commands/tablecmds.c:15766 +#: commands/tablecmds.c:7133 commands/tablecmds.c:16265 #, c-format msgid "child table \"%s\" has different collation for column \"%s\"" msgstr "子テーブル\"%s\"に異なる照合順序の列\"%s\"があります" -#: commands/tablecmds.c:7104 +#: commands/tablecmds.c:7151 #, c-format msgid "merging definition of column \"%s\" for child \"%s\"" msgstr "子\"%2$s\"の列\"%1$s\"の定義をマージしています" -#: commands/tablecmds.c:7157 +#: commands/tablecmds.c:7204 #, c-format msgid "cannot recursively add identity column to table that has child tables" msgstr "子テーブルを持つテーブルに識別列を再帰的に追加することはできません" -#: commands/tablecmds.c:7370 +#: commands/tablecmds.c:7418 #, c-format msgid "column must be added to child tables too" msgstr "列は子テーブルでも追加する必要があります" -#: commands/tablecmds.c:7448 +#: commands/tablecmds.c:7496 #, c-format msgid "column \"%s\" of relation \"%s\" already exists, skipping" msgstr "リレーション\"%2$s\"の列\"%1$s\"はすでに存在します、スキップします" -#: commands/tablecmds.c:7455 +#: commands/tablecmds.c:7503 #, c-format msgid "column \"%s\" of relation \"%s\" already exists" msgstr "リレーション\"%2$s\"の列\"%1$s\"はすでに存在します" -#: commands/tablecmds.c:7521 commands/tablecmds.c:12564 +#: commands/tablecmds.c:7594 commands/tablecmds.c:7748 commands/tablecmds.c:7940 commands/tablecmds.c:8072 commands/tablecmds.c:8201 commands/tablecmds.c:8295 commands/tablecmds.c:8396 commands/tablecmds.c:8553 commands/tablecmds.c:8706 commands/tablecmds.c:8787 commands/tablecmds.c:8921 commands/tablecmds.c:13188 commands/tablecmds.c:14746 commands/tablecmds.c:17480 #, c-format -msgid "cannot remove constraint from only the partitioned table when partitions exist" -msgstr "パーティションが存在する場合にはパーティション親テーブルのみから制約を削除することはできません" +msgid "cannot alter system column \"%s\"" +msgstr "システム列\"%s\"を変更できません" -#: commands/tablecmds.c:7522 commands/tablecmds.c:7836 commands/tablecmds.c:8014 commands/tablecmds.c:8121 commands/tablecmds.c:8238 commands/tablecmds.c:9057 commands/tablecmds.c:12565 -#, c-format -msgid "Do not specify the ONLY keyword." -msgstr "ONLYキーワードを指定しないでください。" - -#: commands/tablecmds.c:7558 commands/tablecmds.c:7762 commands/tablecmds.c:7904 commands/tablecmds.c:8036 commands/tablecmds.c:8165 commands/tablecmds.c:8259 commands/tablecmds.c:8360 commands/tablecmds.c:8517 commands/tablecmds.c:8670 commands/tablecmds.c:8751 commands/tablecmds.c:8885 commands/tablecmds.c:12718 commands/tablecmds.c:14249 commands/tablecmds.c:16875 -#, c-format -msgid "cannot alter system column \"%s\"" -msgstr "システム列\"%s\"を変更できません" - -#: commands/tablecmds.c:7564 commands/tablecmds.c:7910 +#: commands/tablecmds.c:7600 commands/tablecmds.c:7946 commands/tablecmds.c:12953 #, c-format msgid "column \"%s\" of relation \"%s\" is an identity column" msgstr "リレーション\"%2$s\"の列\"%1$s\"は識別列です" -#: commands/tablecmds.c:7605 -#, c-format -msgid "column \"%s\" is in a primary key" -msgstr "列\"%s\"はプライマリキーで使用しています" - -#: commands/tablecmds.c:7610 -#, c-format -msgid "column \"%s\" is in index used as replica identity" -msgstr "列\"%s\"は複製識別として使用中のインデックスに含まれています" - -#: commands/tablecmds.c:7633 +#: commands/tablecmds.c:7617 #, c-format msgid "column \"%s\" is marked NOT NULL in parent table" msgstr "列\"%s\"は親テーブルでNOT NULL指定されています" -#: commands/tablecmds.c:7833 commands/tablecmds.c:9541 +#: commands/tablecmds.c:7817 commands/tablecmds.c:9655 #, c-format msgid "constraint must be added to child tables too" msgstr "制約は子テーブルにも追加する必要があります" -#: commands/tablecmds.c:7834 +#: commands/tablecmds.c:7818 commands/tablecmds.c:8050 commands/tablecmds.c:8157 commands/tablecmds.c:8274 commands/tablecmds.c:9094 #, c-format -msgid "Column \"%s\" of relation \"%s\" is not already NOT NULL." -msgstr "リレーション\"%2$s\"の列\"%1$s\"はすでにNOT NULLではありません。" +msgid "Do not specify the ONLY keyword." +msgstr "ONLYキーワードを指定しないでください。" -#: commands/tablecmds.c:7919 +#: commands/tablecmds.c:7955 #, c-format msgid "column \"%s\" of relation \"%s\" is a generated column" msgstr "リレーション\"%2$s\"の列\"%1$s\"は生成カラムです" -#: commands/tablecmds.c:8013 +#: commands/tablecmds.c:8049 #, c-format msgid "cannot add identity to a column of only the partitioned table" msgstr "パーティション親テーブルのみで列を識別列とすることはできません" -#: commands/tablecmds.c:8019 +#: commands/tablecmds.c:8055 #, c-format msgid "cannot add identity to a column of a partition" msgstr "パーティション子テーブルの列を識別列とすることはできません" -#: commands/tablecmds.c:8047 +#: commands/tablecmds.c:8083 #, 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:8053 +#: commands/tablecmds.c:8089 #, c-format msgid "column \"%s\" of relation \"%s\" is already an identity column" msgstr "リレーション\"%2$s\"の列\"%1$s\"はすでに識別列です" -#: commands/tablecmds.c:8059 +#: commands/tablecmds.c:8095 #, c-format msgid "column \"%s\" of relation \"%s\" already has a default value" msgstr "リレーション\"%2$s\"の列\"%1$s\"はすでにデフォルト値が指定されています" -#: commands/tablecmds.c:8120 +#: commands/tablecmds.c:8156 #, c-format msgid "cannot change identity column of only the partitioned table" msgstr "パーティション親テーブルのみで列の識別列属性を変更することはできません" -#: commands/tablecmds.c:8126 +#: commands/tablecmds.c:8162 #, c-format msgid "cannot change identity column of a partition" msgstr "パーティション子テーブルの列の識別列属性を変更することはできません" -#: commands/tablecmds.c:8171 commands/tablecmds.c:8267 +#: commands/tablecmds.c:8207 commands/tablecmds.c:8303 #, c-format msgid "column \"%s\" of relation \"%s\" is not an identity column" msgstr "リレーション\"%2$s\"の列\"%1$s\"は識別列ではありません" -#: commands/tablecmds.c:8237 +#: commands/tablecmds.c:8273 #, c-format msgid "cannot drop identity from a column of only the partitioned table" msgstr "パーティション親テーブルのみで列の識別列属性を削除することはできません" -#: commands/tablecmds.c:8243 +#: commands/tablecmds.c:8279 #, c-format msgid "cannot drop identity from a column of a partition" msgstr "パーティション子テーブルの列の識別列属性を削除することはできません" -#: commands/tablecmds.c:8272 +#: commands/tablecmds.c:8308 #, c-format msgid "column \"%s\" of relation \"%s\" is not an identity column, skipping" msgstr "リレーション\"%2$s\"の列\"%1$s\"は識別列ではありません、スキップします" -#: commands/tablecmds.c:8366 +#: commands/tablecmds.c:8402 #, c-format msgid "column \"%s\" of relation \"%s\" is not a generated column" msgstr "リレーション\"%2$s\"の列\"%1$s\"は生成列ではありません" -#: commands/tablecmds.c:8464 +#: commands/tablecmds.c:8500 #, c-format msgid "ALTER TABLE / DROP EXPRESSION must be applied to child tables too" msgstr "ALTER TABLE / DROP EXPRESSIONは子テーブルに対しても適用されなくてはなりません" -#: commands/tablecmds.c:8486 +#: commands/tablecmds.c:8522 #, c-format msgid "cannot drop generation expression from inherited column" msgstr "継承列から生成式を削除することはできません" -#: commands/tablecmds.c:8525 +#: commands/tablecmds.c:8561 #, c-format msgid "column \"%s\" of relation \"%s\" is not a stored generated column" msgstr "リレーション\"%2$s\"の列\"%1$s\"は格納生成列ではありません" -#: commands/tablecmds.c:8530 +#: commands/tablecmds.c:8566 #, c-format msgid "column \"%s\" of relation \"%s\" is not a stored generated column, skipping" msgstr "リレーション\"%2$s\"の列\"%1$s\"は格納生成列ではありません、スキップします" -#: commands/tablecmds.c:8608 +#: commands/tablecmds.c:8644 #, c-format msgid "cannot refer to non-index column by number" msgstr "非インデックス列を番号で参照することはできません" -#: commands/tablecmds.c:8660 +#: commands/tablecmds.c:8696 #, c-format msgid "column number %d of relation \"%s\" does not exist" msgstr "リレーション \"%2$s\"の列 %1$d は存在しません" -#: commands/tablecmds.c:8679 +#: commands/tablecmds.c:8715 #, c-format msgid "cannot alter statistics on included column \"%s\" of index \"%s\"" msgstr "インデックス\"%2$s\"の包含列\"%1$s\"への統計情報の変更はできません" -#: commands/tablecmds.c:8684 +#: commands/tablecmds.c:8720 #, c-format msgid "cannot alter statistics on non-expression column \"%s\" of index \"%s\"" msgstr "インデックス \"%2$s\"の非式列\"%1$s\"の統計情報の変更はできません" -#: commands/tablecmds.c:8686 +#: commands/tablecmds.c:8722 #, c-format msgid "Alter statistics on table column instead." msgstr "代わりにテーブルカラムの統計情報を変更してください。" -#: commands/tablecmds.c:8932 +#: commands/tablecmds.c:8968 #, c-format msgid "cannot drop column from typed table" msgstr "型付けされたテーブルから列を削除できません" -#: commands/tablecmds.c:8995 +#: commands/tablecmds.c:9032 #, c-format msgid "column \"%s\" of relation \"%s\" does not exist, skipping" msgstr "リレーション\"%2$s\"の列\"%1$s\"は存在しません、スキップします" -#: commands/tablecmds.c:9008 +#: commands/tablecmds.c:9045 #, c-format msgid "cannot drop system column \"%s\"" msgstr "システム列\"%s\"を削除できません" -#: commands/tablecmds.c:9018 +#: commands/tablecmds.c:9055 #, c-format msgid "cannot drop inherited column \"%s\"" msgstr "継承される列\"%s\"を削除できません" -#: commands/tablecmds.c:9031 +#: commands/tablecmds.c:9068 #, c-format msgid "cannot drop column \"%s\" because it is part of the partition key of relation \"%s\"" msgstr "列\"%s\"はリレーション\"%s\"のパーティションキーの一部であるため、削除できません" -#: commands/tablecmds.c:9056 +#: commands/tablecmds.c:9093 #, c-format msgid "cannot drop column from only the partitioned table when partitions exist" msgstr "子テーブルが存在する場合にはパーティション親テーブルのみから列を削除することはできません" -#: commands/tablecmds.c:9261 +#: commands/tablecmds.c:9222 +#, c-format +msgid "column \"%s\" of table \"%s\" is not marked NOT NULL" +msgstr "テーブル\"%2$s\"の列\"%1$s\"は非NULLに設定されていません" + +#: commands/tablecmds.c:9363 #, 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:9286 +#: commands/tablecmds.c:9388 #, 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:9623 +#: commands/tablecmds.c:9742 #, c-format msgid "cannot use ONLY for foreign key on partitioned table \"%s\" referencing relation \"%s\"" msgstr "パーティションテーブル\"%s\"上のリレーション\"%s\"を参照する外部キー定義ではONLY指定はできません " -#: commands/tablecmds.c:9629 +#: commands/tablecmds.c:9748 #, c-format msgid "cannot add NOT VALID foreign key on partitioned table \"%s\" referencing relation \"%s\"" msgstr "パーティションテーブル\"%1$s\"にリレーション\"%2$s\"を参照する NOT VALID 指定の外部キーは追加できません " -#: commands/tablecmds.c:9632 +#: commands/tablecmds.c:9751 #, c-format msgid "This feature is not yet supported on partitioned tables." msgstr "この機能はパーティションテーブルに対してはサポートされていません。" -#: commands/tablecmds.c:9639 commands/tablecmds.c:10095 +#: commands/tablecmds.c:9758 commands/tablecmds.c:10328 #, c-format msgid "referenced relation \"%s\" is not a table" msgstr "参照先のリレーション\"%s\"はテーブルではありません" -#: commands/tablecmds.c:9662 +#: commands/tablecmds.c:9781 #, c-format msgid "constraints on permanent tables may reference only permanent tables" msgstr "永続テーブルの制約は永続テーブルだけを参照できます" -#: commands/tablecmds.c:9669 +#: commands/tablecmds.c:9788 #, c-format msgid "constraints on unlogged tables may reference only permanent or unlogged tables" msgstr "UNLOGGEDテーブルに対する制約は、永続テーブルまたはUNLOGGEDテーブルだけを参照する場合があります" -#: commands/tablecmds.c:9675 +#: commands/tablecmds.c:9794 #, c-format msgid "constraints on temporary tables may reference only temporary tables" msgstr "一時テーブルに対する制約は一時テーブルだけを参照する場合があります" -#: commands/tablecmds.c:9679 +#: commands/tablecmds.c:9798 #, c-format msgid "constraints on temporary tables must involve temporary tables of this session" msgstr "一時テーブルに対する制約にはこのセッションの一時テーブルを加える必要があります" -#: commands/tablecmds.c:9743 commands/tablecmds.c:9749 +#: commands/tablecmds.c:9813 commands/tablecmds.c:9839 +#, c-format +msgid "foreign key uses PERIOD on the referenced table but not the referencing table" +msgstr "外部キーが参照先テーブル上ではPERIODを使用していますが、参照元テーブルでは使用していません" + +#: commands/tablecmds.c:9851 +#, c-format +msgid "foreign key uses PERIOD on the referencing table but not the referenced table" +msgstr "外部キーが参照元テーブル上ではPERIODを使用していますが、参照先テーブルでは使用していません" + +#: commands/tablecmds.c:9865 +#, c-format +msgid "foreign key must use PERIOD when referencing a primary using WITHOUT OVERLAPS" +msgstr "主キーがWITHOUT OVERLAPSを使用している場合は外部キーはPERIODを使用する必要があります" + +#: commands/tablecmds.c:9889 commands/tablecmds.c:9895 #, c-format msgid "invalid %s action for foreign key constraint containing generated column" msgstr "生成カラムを含む外部キー制約に対する不正な %s 処理" -#: commands/tablecmds.c:9765 +#: commands/tablecmds.c:9910 commands/tablecmds.c:9918 +#, c-format +msgid "unsupported %s action for foreign key constraint using PERIOD" +msgstr "PERIODを使用する外部キー制約に対するサポートされない %s 処理" + +#: commands/tablecmds.c:9933 #, c-format msgid "number of referencing and referenced columns for foreign key disagree" msgstr "外部キーの参照列数と被参照列数が合いません" -#: commands/tablecmds.c:9872 +#: commands/tablecmds.c:9999 +#, c-format +msgid "could not identify an overlaps operator for foreign key" +msgstr "外部キーに使用する重複検出演算子を特定できませんでした" + +#: commands/tablecmds.c:10000 +#, c-format +msgid "could not identify an equality operator for foreign key" +msgstr "外部キーに使用する等価演算子を特定できませんでした" + +#: commands/tablecmds.c:10080 #, c-format msgid "foreign key constraint \"%s\" cannot be implemented" msgstr "外部キー制約\"%sは実装されていません" -#: commands/tablecmds.c:9874 +#: commands/tablecmds.c:10082 #, c-format -msgid "Key columns \"%s\" and \"%s\" are of incompatible types: %s and %s." -msgstr "キーとなる列\"%s\"と\"%s\"との間で型に互換性がありません:%sと%s" +msgid "Key columns \"%s\" of the referencing table and \"%s\" of the referenced table are of incompatible types: %s and %s." +msgstr "キー列である参照元テーブルの\"%1$s\"と参照先テーブルの\"%2$s\"の型に互換性がありません: %3$sと%4$s。" -#: commands/tablecmds.c:10031 +#: commands/tablecmds.c:10270 #, c-format msgid "column \"%s\" referenced in ON DELETE SET action must be part of foreign key" msgstr "ON DELETE SETアクションで参照されている列\"%s\"は外部キーの一部である必要があります" -#: commands/tablecmds.c:10305 commands/tablecmds.c:10775 parser/parse_utilcmd.c:797 parser/parse_utilcmd.c:920 +#: commands/tablecmds.c:10634 commands/tablecmds.c:11079 parser/parse_utilcmd.c:941 parser/parse_utilcmd.c:1084 #, c-format msgid "foreign key constraints are not supported on foreign tables" msgstr "外部テーブルでは外部キー制約はサポートされていません" -#: commands/tablecmds.c:11328 commands/tablecmds.c:11609 commands/tablecmds.c:12521 commands/tablecmds.c:12595 +#: commands/tablecmds.c:11062 +#, c-format +msgid "cannot attach table \"%s\" as a partition because it is referenced by foreign key \"%s\"" +msgstr "外部キー\"%2$s\"で参照されているため、テーブル\"%1$s\"を子テーブルとしてアタッチすることはできません" + +#: commands/tablecmds.c:11666 commands/tablecmds.c:11948 commands/tablecmds.c:12832 commands/tablecmds.c:13061 #, c-format msgid "constraint \"%s\" of relation \"%s\" does not exist" msgstr "リレーション\"%2$s\"の制約\"%1$s\"は存在しません" -#: commands/tablecmds.c:11335 +#: commands/tablecmds.c:11673 #, c-format msgid "constraint \"%s\" of relation \"%s\" is not a foreign key constraint" msgstr "リレーション\"%2$s\"の制約\"%1$s\"は外部キー制約ではありません" -#: commands/tablecmds.c:11373 +#: commands/tablecmds.c:11712 #, c-format msgid "cannot alter constraint \"%s\" on relation \"%s\"" msgstr "リレーション\"%2$s\"の制約\"%1$s\"を変更できません" -#: commands/tablecmds.c:11376 +#: commands/tablecmds.c:11715 #, c-format msgid "Constraint \"%s\" is derived from constraint \"%s\" of relation \"%s\"." msgstr "制約\"%1$s\"は、リレーション\"%3$s\"上の制約\"%2$s\"から派生しています。" -#: commands/tablecmds.c:11378 +#: commands/tablecmds.c:11717 #, c-format msgid "You may alter the constraint it derives from instead." msgstr "この制約の代わりに派生元の制約を変更することは可能です。" -#: commands/tablecmds.c:11617 +#: commands/tablecmds.c:11956 #, c-format msgid "constraint \"%s\" of relation \"%s\" is not a foreign key or check constraint" msgstr "リレーション\"%2$s\"の制約\"%1$s\"は外部キー制約でも検査制約でもありません" -#: commands/tablecmds.c:11694 +#: commands/tablecmds.c:12033 #, c-format msgid "constraint must be validated on child tables too" msgstr "制約は子テーブルでも検証される必要があります" -#: commands/tablecmds.c:11781 +#: commands/tablecmds.c:12120 #, c-format msgid "column \"%s\" referenced in foreign key constraint does not exist" msgstr "外部キー制約で参照される列\"%s\"が存在しません" -#: commands/tablecmds.c:11787 +#: commands/tablecmds.c:12126 #, c-format msgid "system columns cannot be used in foreign keys" msgstr "システム列は外部キーに使用できません" -#: commands/tablecmds.c:11791 +#: commands/tablecmds.c:12130 #, c-format msgid "cannot have more than %d keys in a foreign key" msgstr "外部キーでは%dを超えるキーを持つことができません" -#: commands/tablecmds.c:11856 +#: commands/tablecmds.c:12196 #, c-format msgid "cannot use a deferrable primary key for referenced table \"%s\"" msgstr "被参照テーブル\"%s\"には遅延可能プライマリキーは使用できません" -#: commands/tablecmds.c:11873 +#: commands/tablecmds.c:12213 #, c-format msgid "there is no primary key for referenced table \"%s\"" msgstr "被参照テーブル\"%s\"にはプライマリキーがありません" -#: commands/tablecmds.c:11941 +#: commands/tablecmds.c:12285 #, c-format msgid "foreign key referenced-columns list must not contain duplicates" msgstr "外部キーの被参照列リストには重複があってはなりません" -#: commands/tablecmds.c:12033 +#: commands/tablecmds.c:12388 #, c-format msgid "cannot use a deferrable unique constraint for referenced table \"%s\"" msgstr "被参照テーブル\"%s\"に対しては、遅延可能な一意性制約は使用できません" -#: commands/tablecmds.c:12038 +#: commands/tablecmds.c:12393 #, c-format msgid "there is no unique constraint matching given keys for referenced table \"%s\"" msgstr "被参照テーブル\"%s\"に、指定したキーに一致する一意性制約がありません" -#: commands/tablecmds.c:12477 +#: commands/tablecmds.c:12836 +#, c-format +msgid "constraint \"%s\" of relation \"%s\" does not exist, skipping" +msgstr "リレーション\"%2$s\"の制約\"%1$s\"は存在しません、スキップします" + +#: commands/tablecmds.c:12881 #, c-format msgid "cannot drop inherited constraint \"%s\" of relation \"%s\"" msgstr "リレーション\"%2$s\"の継承された制約\"%1$s\"を削除できません" -#: commands/tablecmds.c:12527 +#: commands/tablecmds.c:12933 #, c-format -msgid "constraint \"%s\" of relation \"%s\" does not exist, skipping" -msgstr "リレーション\"%2$s\"の制約\"%1$s\"は存在しません、スキップします" +msgid "column \"%s\" is in a primary key" +msgstr "列\"%s\"はプライマリキーで使用しています" + +#: commands/tablecmds.c:12941 +#, c-format +msgid "column \"%s\" is in index used as replica identity" +msgstr "列\"%s\"は複製識別として使用中のインデックスに含まれています" -#: commands/tablecmds.c:12702 +#: commands/tablecmds.c:13172 #, c-format msgid "cannot alter column type of typed table" msgstr "型付けされたテーブルの列の型を変更できません" -#: commands/tablecmds.c:12729 +#: commands/tablecmds.c:13198 +#, c-format +msgid "cannot specify USING when altering type of generated column" +msgstr "生成列の型変更の際にはUSINGを指定することはできません" + +#: commands/tablecmds.c:13199 commands/tablecmds.c:18536 commands/tablecmds.c:18626 commands/trigger.c:656 rewrite/rewriteHandler.c:935 rewrite/rewriteHandler.c:970 +#, c-format +msgid "Column \"%s\" is a generated column." +msgstr "列\"%s\"は生成カラムです。" + +#: commands/tablecmds.c:13209 #, c-format msgid "cannot alter inherited column \"%s\"" msgstr "継承される列\"%s\"を変更できません" -#: commands/tablecmds.c:12738 +#: commands/tablecmds.c:13218 #, c-format msgid "cannot alter column \"%s\" because it is part of the partition key of relation \"%s\"" msgstr "列\"%s\"はリレーション\"%s\"のパーティションキーの一部であるため、変更できません" -#: commands/tablecmds.c:12788 +#: commands/tablecmds.c:13268 #, c-format msgid "result of USING clause for column \"%s\" cannot be cast automatically to type %s" msgstr "列\"%s\"に対するUSING句の結果は自動的に%s型に型変換できません" -#: commands/tablecmds.c:12791 +#: commands/tablecmds.c:13271 #, c-format msgid "You might need to add an explicit cast." msgstr "必要に応じて明示的な型変換を追加してください。" -#: commands/tablecmds.c:12795 +#: commands/tablecmds.c:13275 #, 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:12798 +#: commands/tablecmds.c:13279 #, c-format msgid "You might need to specify \"USING %s::%s\"." msgstr "必要に応じて\"USING %s::%s\"を追加してください。" -#: commands/tablecmds.c:12897 +#: commands/tablecmds.c:13378 #, c-format msgid "cannot alter inherited column \"%s\" of relation \"%s\"" msgstr "リレーション\"%2$s\"の継承列\"%1$s\"は変更できません" -#: commands/tablecmds.c:12926 +#: commands/tablecmds.c:13407 #, c-format msgid "USING expression contains a whole-row table reference." msgstr "USING式が行全体テーブル参照を含んでいます。" -#: commands/tablecmds.c:12937 +#: commands/tablecmds.c:13418 #, c-format msgid "type of inherited column \"%s\" must be changed in child tables too" msgstr "継承される列\"%s\"の型を子テーブルで変更しなければなりません" -#: commands/tablecmds.c:13062 +#: commands/tablecmds.c:13543 #, c-format msgid "cannot alter type of column \"%s\" twice" msgstr "列\"%s\"の型を2回変更することはできません" -#: commands/tablecmds.c:13100 +#: commands/tablecmds.c:13581 #, c-format msgid "generation expression for column \"%s\" cannot be cast automatically to type %s" msgstr "カラム\"%s\"に対する生成式は自動的に%s型にキャストできません" -#: commands/tablecmds.c:13105 +#: commands/tablecmds.c:13586 #, c-format msgid "default for column \"%s\" cannot be cast automatically to type %s" msgstr "列\"%s\"のデフォルト値を自動的に%s型にキャストできません" -#: commands/tablecmds.c:13409 +#: commands/tablecmds.c:13890 #, c-format msgid "cannot alter type of a column used by a function or procedure" msgstr "関数またはプロシージャで使用される列の型は変更できません" -#: commands/tablecmds.c:13410 commands/tablecmds.c:13425 commands/tablecmds.c:13445 commands/tablecmds.c:13464 commands/tablecmds.c:13523 +#: commands/tablecmds.c:13891 commands/tablecmds.c:13906 commands/tablecmds.c:13926 commands/tablecmds.c:13945 commands/tablecmds.c:14004 #, c-format msgid "%s depends on column \"%s\"" msgstr "%sは列\"%s\"に依存しています" -#: commands/tablecmds.c:13424 +#: commands/tablecmds.c:13905 #, c-format msgid "cannot alter type of a column used by a view or rule" msgstr "ビューまたはルールで使用される列の型は変更できません" -#: commands/tablecmds.c:13444 +#: commands/tablecmds.c:13925 #, c-format msgid "cannot alter type of a column used in a trigger definition" msgstr "トリガー定義で使用される列の型は変更できません" -#: commands/tablecmds.c:13463 +#: commands/tablecmds.c:13944 #, c-format msgid "cannot alter type of a column used in a policy definition" msgstr "ポリシ定義で使用されている列の型は変更できません" -#: commands/tablecmds.c:13494 +#: commands/tablecmds.c:13975 #, c-format msgid "cannot alter type of a column used by a generated column" msgstr "生成カラムで使用される列の型は変更できません" -#: commands/tablecmds.c:13495 +#: commands/tablecmds.c:13976 #, c-format msgid "Column \"%s\" is used by generated column \"%s\"." msgstr "カラム\"%s\"は生成カラム\"%s\"で使われています。" -#: commands/tablecmds.c:13522 +#: commands/tablecmds.c:14003 #, c-format msgid "cannot alter type of a column used by a publication WHERE clause" msgstr "パブリケーションのWHERE句で使用される列の型は変更できません" -#: commands/tablecmds.c:14357 commands/tablecmds.c:14369 +#: commands/tablecmds.c:14854 commands/tablecmds.c:14866 #, c-format msgid "cannot change owner of index \"%s\"" msgstr "インデックス\"%s\"の所有者を変更できません" -#: commands/tablecmds.c:14359 commands/tablecmds.c:14371 +#: commands/tablecmds.c:14856 commands/tablecmds.c:14868 #, c-format msgid "Change the ownership of the index's table instead." msgstr "代わりにインデックスのテーブルの所有者を変更してください。" -#: commands/tablecmds.c:14385 +#: commands/tablecmds.c:14882 #, c-format msgid "cannot change owner of sequence \"%s\"" msgstr "シーケンス\"%s\"の所有者を変更できません" -#: commands/tablecmds.c:14410 +#: commands/tablecmds.c:14907 #, c-format msgid "cannot change owner of relation \"%s\"" msgstr "リレーション\"%s\"の所有者を変更できません" -#: commands/tablecmds.c:14877 +#: commands/tablecmds.c:15374 #, c-format msgid "cannot have multiple SET TABLESPACE subcommands" msgstr "SET TABLESPACEサブコマンドを複数指定できません" -#: commands/tablecmds.c:14954 +#: commands/tablecmds.c:15451 #, c-format msgid "cannot set options for relation \"%s\"" msgstr "リレーション\"%s\"のオプションは設定できません" -#: commands/tablecmds.c:14988 commands/view.c:440 +#: commands/tablecmds.c:15485 commands/view.c:440 #, c-format msgid "WITH CHECK OPTION is supported only on automatically updatable views" msgstr "WITH CHECK OPTIONは自動更新可能ビューでのみサポートされます" -#: commands/tablecmds.c:15238 +#: commands/tablecmds.c:15736 #, c-format msgid "only tables, indexes, and materialized views exist in tablespaces" msgstr "テーブルスペースにはテーブル、インデックスおよび実体化ビューしかありません" -#: commands/tablecmds.c:15250 +#: commands/tablecmds.c:15748 #, c-format msgid "cannot move relations in to or out of pg_global tablespace" msgstr "pg_globalテーブルスペースとの間のリレーションの移動はできません" -#: commands/tablecmds.c:15342 +#: commands/tablecmds.c:15840 #, c-format msgid "aborting because lock on relation \"%s.%s\" is not available" msgstr "リレーション\"%s.%s\"のロックが獲得できなかったため中断します" -#: commands/tablecmds.c:15358 +#: commands/tablecmds.c:15856 #, c-format msgid "no matching relations in tablespace \"%s\" found" msgstr "テーブルスペース\"%s\"には合致するリレーションはありませんでした" -#: commands/tablecmds.c:15480 +#: commands/tablecmds.c:15978 #, c-format msgid "cannot change inheritance of typed table" msgstr "型付けされたテーブルの継承を変更できません" -#: commands/tablecmds.c:15485 commands/tablecmds.c:15985 +#: commands/tablecmds.c:15983 commands/tablecmds.c:16544 #, c-format msgid "cannot change inheritance of a partition" msgstr "パーティションの継承は変更できません" -#: commands/tablecmds.c:15490 +#: commands/tablecmds.c:15988 #, c-format msgid "cannot change inheritance of partitioned table" msgstr "パーティションテーブルの継承は変更できません" -#: commands/tablecmds.c:15536 +#: commands/tablecmds.c:16035 #, c-format msgid "cannot inherit to temporary relation of another session" msgstr "他のセッションの一時テーブルを継承できません" -#: commands/tablecmds.c:15549 +#: commands/tablecmds.c:16048 #, c-format msgid "cannot inherit from a partition" msgstr "パーティションからの継承はできません" -#: commands/tablecmds.c:15571 commands/tablecmds.c:18453 +#: commands/tablecmds.c:16070 commands/tablecmds.c:19038 #, c-format msgid "circular inheritance not allowed" msgstr "循環継承を行うことはできません" -#: commands/tablecmds.c:15572 commands/tablecmds.c:18454 +#: commands/tablecmds.c:16071 commands/tablecmds.c:19039 #, c-format msgid "\"%s\" is already a child of \"%s\"." msgstr "\"%s\"はすでに\"%s\"の子です" -#: commands/tablecmds.c:15585 +#: commands/tablecmds.c:16084 #, c-format msgid "trigger \"%s\" prevents table \"%s\" from becoming an inheritance child" msgstr "トリガ\"%s\"によってテーブル\"%s\"が継承子テーブルになることができません" -#: commands/tablecmds.c:15587 +#: commands/tablecmds.c:16086 #, c-format msgid "ROW triggers with transition tables are not supported in inheritance hierarchies." msgstr "遷移テーブルを使用したROWトリガは継承関係ではサポートされていません。" -#: commands/tablecmds.c:15776 +#: commands/tablecmds.c:16284 commands/tablecmds.c:16513 #, c-format -msgid "column \"%s\" in child table must be marked NOT NULL" -msgstr "子テーブルの列\"%s\"はNOT NULLである必要があります" +msgid "column \"%s\" in child table \"%s\" must be marked NOT NULL" +msgstr "子テーブル\"%2$s\"の列\"%1$s\"は非NULLに設定されていません" -#: commands/tablecmds.c:15785 +#: commands/tablecmds.c:16294 #, c-format msgid "column \"%s\" in child table must be a generated column" msgstr "子テーブルの列\"%s\"は生成列である必要があります" -#: commands/tablecmds.c:15789 +#: commands/tablecmds.c:16298 #, c-format msgid "column \"%s\" in child table must not be a generated column" msgstr "子テーブルの列\"%s\"は生成列であってはなりません" -#: commands/tablecmds.c:15827 +#: commands/tablecmds.c:16336 #, c-format msgid "child table is missing column \"%s\"" msgstr "子テーブルには列\"%s\"がありません" -#: commands/tablecmds.c:15908 +#: commands/tablecmds.c:16453 #, c-format msgid "child table \"%s\" has different definition for check constraint \"%s\"" msgstr "子テーブル\"%s\"では検査制約\"%s\"に異なった定義がされています" -#: commands/tablecmds.c:15915 +#: commands/tablecmds.c:16462 #, c-format msgid "constraint \"%s\" conflicts with non-inherited constraint on child table \"%s\"" msgstr "制約\"%s\"は子テーブル\"%s\"上の継承されない制約と競合します" -#: commands/tablecmds.c:15925 +#: commands/tablecmds.c:16472 #, c-format msgid "constraint \"%s\" conflicts with NOT VALID constraint on child table \"%s\"" msgstr "制約\"%s\"は子テーブル\"%s\"のNOT VALID制約と衝突しています" -#: commands/tablecmds.c:15963 +#: commands/tablecmds.c:16521 #, c-format msgid "child table is missing constraint \"%s\"" msgstr "子テーブルには制約\"%s\"がありません" -#: commands/tablecmds.c:16049 +#: commands/tablecmds.c:16608 #, c-format msgid "partition \"%s\" already pending detach in partitioned table \"%s.%s\"" msgstr "パーティション\"%s\"はすでにパーティションテーブル\"%s.%s\"からの取り外し保留中です" -#: commands/tablecmds.c:16078 commands/tablecmds.c:16124 parser/parse_utilcmd.c:3261 +#: commands/tablecmds.c:16637 commands/tablecmds.c:16685 #, c-format msgid "relation \"%s\" is not a partition of relation \"%s\"" msgstr "リレーション\"%s\"はリレーション\"%s\"のパーティション子テーブルではありません" -#: commands/tablecmds.c:16130 +#: commands/tablecmds.c:16691 #, c-format msgid "relation \"%s\" is not a parent of relation \"%s\"" msgstr "リレーション\"%s\"はリレーション\"%s\"の親ではありません" -#: commands/tablecmds.c:16357 +#: commands/tablecmds.c:16962 #, c-format msgid "typed tables cannot inherit" msgstr "型付けされたテーブルは継承できません" -#: commands/tablecmds.c:16387 +#: commands/tablecmds.c:16992 #, c-format msgid "table is missing column \"%s\"" msgstr "テーブルには列\"%s\"がありません" -#: commands/tablecmds.c:16398 +#: commands/tablecmds.c:17003 #, c-format msgid "table has column \"%s\" where type requires \"%s\"" msgstr "テーブルには列\"%s\"がありますが型は\"%s\"を必要としています" -#: commands/tablecmds.c:16407 +#: commands/tablecmds.c:17012 #, c-format msgid "table \"%s\" has different type for column \"%s\"" msgstr "テーブル\"%s\"では列\"%s\"の型が異なっています" -#: commands/tablecmds.c:16421 +#: commands/tablecmds.c:17026 #, c-format msgid "table has extra column \"%s\"" msgstr "テーブルに余分な列\"%s\"があります" -#: commands/tablecmds.c:16473 +#: commands/tablecmds.c:17078 #, c-format msgid "\"%s\" is not a typed table" msgstr "\"%s\"は型付けされたテーブルではありません" -#: commands/tablecmds.c:16647 +#: commands/tablecmds.c:17252 #, c-format msgid "cannot use non-unique index \"%s\" as replica identity" msgstr "非ユニークインデックス\"%s\"は複製識別としては使用できません" -#: commands/tablecmds.c:16653 +#: commands/tablecmds.c:17258 #, c-format msgid "cannot use non-immediate index \"%s\" as replica identity" msgstr "一意性を即時検査しないインデックス\"%s\"は複製識別には使用できません" -#: commands/tablecmds.c:16659 +#: commands/tablecmds.c:17264 #, c-format msgid "cannot use expression index \"%s\" as replica identity" msgstr "式インデックス\"%s\"は複製識別としては使用できません" -#: commands/tablecmds.c:16665 +#: commands/tablecmds.c:17270 #, c-format msgid "cannot use partial index \"%s\" as replica identity" msgstr "部分インデックス\"%s\"を複製識別としては使用できません" -#: commands/tablecmds.c:16682 +#: commands/tablecmds.c:17287 #, c-format msgid "index \"%s\" cannot be used as replica identity because column %d is a system column" msgstr "列%2$dはシステム列であるためインデックス\"%1$s\"は複製識別には使えません" -#: commands/tablecmds.c:16689 +#: commands/tablecmds.c:17294 #, c-format msgid "index \"%s\" cannot be used as replica identity because column \"%s\" is nullable" msgstr "列\"%2$s\"はnull可であるためインデックス\"%1$s\"は複製識別には使えません" -#: commands/tablecmds.c:16941 +#: commands/tablecmds.c:17543 #, c-format msgid "cannot change logged status of table \"%s\" because it is temporary" msgstr "テーブル\"%s\"は一時テーブルであるため、ログ出力設定を変更できません" -#: commands/tablecmds.c:16965 +#: commands/tablecmds.c:17567 #, c-format msgid "cannot change table \"%s\" to unlogged because it is part of a publication" msgstr "テーブル\"%s\"はパブリケーションの一部であるため、UNLOGGEDに変更できません" -#: commands/tablecmds.c:16967 +#: commands/tablecmds.c:17569 #, c-format msgid "Unlogged relations cannot be replicated." msgstr "UNLOGGEDリレーションはレプリケーションできません。" -#: commands/tablecmds.c:17012 +#: commands/tablecmds.c:17614 #, c-format msgid "could not change table \"%s\" to logged because it references unlogged table \"%s\"" msgstr "テーブル\"%s\"はUNLOGGEDテーブル\"%s\"を参照しているためLOGGEDには設定できません" -#: commands/tablecmds.c:17022 +#: commands/tablecmds.c:17624 #, c-format msgid "could not change table \"%s\" to unlogged because it references logged table \"%s\"" msgstr "テーブル\"%s\"はLOGGEDテーブル\"%s\"を参照しているためUNLOGGEDには設定できません" -#: commands/tablecmds.c:17080 +#: commands/tablecmds.c:17688 #, c-format msgid "cannot move an owned sequence into another schema" msgstr "所有するシーケンスを他のスキーマに移動することができません" -#: commands/tablecmds.c:17185 +#: commands/tablecmds.c:17796 #, c-format msgid "relation \"%s\" already exists in schema \"%s\"" msgstr "リレーション\"%s\"はスキーマ\"%s\"内にすでに存在します" -#: commands/tablecmds.c:17606 +#: commands/tablecmds.c:18221 #, c-format msgid "\"%s\" is not a table or materialized view" msgstr "\"%s\"はテーブルや実体化ビューではありません" -#: commands/tablecmds.c:17759 +#: commands/tablecmds.c:18374 #, c-format msgid "\"%s\" is not a composite type" msgstr "\"%s\"は複合型ではありません" -#: commands/tablecmds.c:17789 +#: commands/tablecmds.c:18404 #, c-format msgid "cannot change schema of index \"%s\"" msgstr "インデックス\"%s\"のスキーマを変更できません" -#: commands/tablecmds.c:17791 commands/tablecmds.c:17805 +#: commands/tablecmds.c:18406 commands/tablecmds.c:18420 #, c-format msgid "Change the schema of the table instead." msgstr "代わりにこのテーブルのスキーマを変更してください。" -#: commands/tablecmds.c:17795 +#: commands/tablecmds.c:18410 #, c-format msgid "cannot change schema of composite type \"%s\"" msgstr "複合型%sのスキーマは変更できません" -#: commands/tablecmds.c:17803 +#: commands/tablecmds.c:18418 #, c-format msgid "cannot change schema of TOAST table \"%s\"" msgstr "TOASTテーブル\"%s\"のスキーマは変更できません" -#: commands/tablecmds.c:17835 +#: commands/tablecmds.c:18450 #, c-format msgid "cannot use \"list\" partition strategy with more than one column" msgstr "\"list\"パーティションストラテジは2つ以上の列に対しては使えません" -#: commands/tablecmds.c:17901 +#: commands/tablecmds.c:18516 #, c-format msgid "column \"%s\" named in partition key does not exist" msgstr "パーティションキーに指定されている列\"%s\"は存在しません" -#: commands/tablecmds.c:17909 +#: commands/tablecmds.c:18524 #, c-format msgid "cannot use system column \"%s\" in partition key" msgstr "パーティションキーでシステム列\"%s\"は使用できません" -#: commands/tablecmds.c:17920 commands/tablecmds.c:18010 +#: commands/tablecmds.c:18535 commands/tablecmds.c:18625 #, c-format msgid "cannot use generated column in partition key" msgstr "パーティションキーで生成カラムは使用できません" -#: commands/tablecmds.c:17921 commands/tablecmds.c:18011 commands/trigger.c:656 rewrite/rewriteHandler.c:934 rewrite/rewriteHandler.c:969 -#, c-format -msgid "Column \"%s\" is a generated column." -msgstr "列\"%s\"は生成カラムです。" - -#: commands/tablecmds.c:17993 +#: commands/tablecmds.c:18608 #, c-format msgid "partition key expressions cannot contain system column references" msgstr "パーティションキー式はシステム列への参照を含むことができません" -#: commands/tablecmds.c:18040 +#: commands/tablecmds.c:18655 #, c-format msgid "functions in partition key expression must be marked IMMUTABLE" msgstr "パーティションキー式で使われる関数はIMMUTABLE指定されている必要があります" -#: commands/tablecmds.c:18049 +#: commands/tablecmds.c:18664 #, c-format msgid "cannot use constant expression as partition key" msgstr "定数式をパーティションキーとして使うことはできません" -#: commands/tablecmds.c:18070 +#: commands/tablecmds.c:18685 #, c-format msgid "could not determine which collation to use for partition expression" msgstr "パーティション式で使用する照合順序を特定できませんでした" -#: commands/tablecmds.c:18105 +#: commands/tablecmds.c:18720 #, 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:18111 +#: commands/tablecmds.c:18726 #, 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:18393 +#: commands/tablecmds.c:18978 #, c-format msgid "\"%s\" is already a partition" msgstr "\"%s\"はすでパーティションです" -#: commands/tablecmds.c:18399 +#: commands/tablecmds.c:18984 #, c-format msgid "cannot attach a typed table as partition" msgstr "型付けされたテーブルをパーティションにアタッチすることはできません" -#: commands/tablecmds.c:18415 +#: commands/tablecmds.c:19000 #, c-format msgid "cannot attach inheritance child as partition" msgstr "継承子テーブルをパーティションにアタッチすることはできません" -#: commands/tablecmds.c:18429 +#: commands/tablecmds.c:19014 #, c-format msgid "cannot attach inheritance parent as partition" msgstr "継承親テーブルをパーティションにアタッチすることはできません" -#: commands/tablecmds.c:18463 +#: commands/tablecmds.c:19048 #, c-format msgid "cannot attach a temporary relation as partition of permanent relation \"%s\"" msgstr "一時リレーションを永続リレーション \"%s\" のパーティション子テーブルとしてアタッチすることはできません" -#: commands/tablecmds.c:18471 +#: commands/tablecmds.c:19056 #, c-format msgid "cannot attach a permanent relation as partition of temporary relation \"%s\"" msgstr "永続リレーションを一時リレーション\"%s\"のパーティション子テーブルとしてアタッチすることはできません" -#: commands/tablecmds.c:18479 +#: commands/tablecmds.c:19064 #, c-format msgid "cannot attach as partition of temporary relation of another session" msgstr "他セッションの一時リレーションのパーティション子テーブルとしてアタッチすることはできません" -#: commands/tablecmds.c:18486 +#: commands/tablecmds.c:19071 #, c-format msgid "cannot attach temporary relation of another session as partition" msgstr "他セッションの一時リレーションにパーティション子テーブルとしてアタッチすることはできません" -#: commands/tablecmds.c:18506 +#: commands/tablecmds.c:19091 #, c-format msgid "table \"%s\" being attached contains an identity column \"%s\"" msgstr "アタッチ対象のテーブル\"%s\"には識別列\"%s\"が含まれています" -#: commands/tablecmds.c:18508 +#: commands/tablecmds.c:19093 #, c-format msgid "The new partition may not contain an identity column." msgstr "新しいパーティションは識別列を含むことはできません" -#: commands/tablecmds.c:18516 +#: commands/tablecmds.c:19101 #, c-format msgid "table \"%s\" contains column \"%s\" not found in parent \"%s\"" msgstr "テーブル\"%1$s\"は親テーブル\"%3$s\"にない列\"%2$s\"を含んでいます" -#: commands/tablecmds.c:18519 +#: commands/tablecmds.c:19104 #, c-format msgid "The new partition may contain only the columns present in parent." msgstr "新しいパーティションは親に存在する列のみを含むことができます。" -#: commands/tablecmds.c:18531 +#: commands/tablecmds.c:19116 #, c-format msgid "trigger \"%s\" prevents table \"%s\" from becoming a partition" msgstr "トリガ\"%s\"のため、テーブル\"%s\"はパーティション子テーブルにはなれません" -#: commands/tablecmds.c:18533 +#: commands/tablecmds.c:19118 #, c-format msgid "ROW triggers with transition tables are not supported on partitions." msgstr "遷移テーブルを使用するROWトリガはパーティションではサポートされません。" -#: commands/tablecmds.c:18694 +#: commands/tablecmds.c:19300 #, c-format msgid "cannot attach foreign table \"%s\" as partition of partitioned table \"%s\"" msgstr "外部テーブル\"%s\"はパーティションテーブル\"%s\"の子テーブルとしてアタッチすることはできません" -#: commands/tablecmds.c:18697 +#: commands/tablecmds.c:19303 #, c-format msgid "Partitioned table \"%s\" contains unique indexes." msgstr "パーティション親テーブル\"%s\"はユニークインデックスを持っています。" -#: commands/tablecmds.c:19019 +#: commands/tablecmds.c:19626 #, c-format msgid "cannot detach partitions concurrently when a default partition exists" msgstr "デフォルトパーティションを持つパーティションは並列的に取り外しはできません" -#: commands/tablecmds.c:19128 +#: commands/tablecmds.c:19735 #, c-format msgid "partitioned table \"%s\" was removed concurrently" msgstr "パーティション親テーブル\"%s\"には CREATE INDEX CONCURRENTLY は実行できません" -#: commands/tablecmds.c:19134 +#: commands/tablecmds.c:19741 #, c-format msgid "partition \"%s\" was removed concurrently" msgstr "パーティション子テーブル\\\"%s\\\"は同時に削除されました" -#: commands/tablecmds.c:19661 commands/tablecmds.c:19681 commands/tablecmds.c:19702 commands/tablecmds.c:19721 commands/tablecmds.c:19763 +#: commands/tablecmds.c:20334 commands/tablecmds.c:20354 commands/tablecmds.c:20375 commands/tablecmds.c:20394 commands/tablecmds.c:20443 #, c-format msgid "cannot attach index \"%s\" as a partition of index \"%s\"" msgstr "インデックス\"%s\"をインデックス\"%s\"の子インデックスとしてアタッチすることはできません" -#: commands/tablecmds.c:19664 +#: commands/tablecmds.c:20337 #, c-format msgid "Index \"%s\" is already attached to another index." msgstr "インデックス\"%s\"はすでに別のインデックスにアタッチされています。" -#: commands/tablecmds.c:19684 +#: commands/tablecmds.c:20357 #, c-format msgid "Index \"%s\" is not an index on any partition of table \"%s\"." msgstr "インデックス\"%s\"はテーブル\"%s\"のどの子テーブルのインデックスでもありません。" -#: commands/tablecmds.c:19705 +#: commands/tablecmds.c:20378 #, c-format msgid "The index definitions do not match." msgstr "インデックス定義が合致しません。" -#: commands/tablecmds.c:19724 +#: commands/tablecmds.c:20397 #, 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:19766 +#: commands/tablecmds.c:20446 #, c-format msgid "Another index is already attached for partition \"%s\"." msgstr "子テーブル\"%s\"にはすでに他のインデックスがアタッチされています。" -#: commands/tablecmds.c:20002 +#: commands/tablecmds.c:20569 +#, c-format +msgid "invalid primary key definition" +msgstr "不正な主キー定義" + +#: commands/tablecmds.c:20570 +#, c-format +msgid "Column \"%s\" of relation \"%s\" is not marked NOT NULL." +msgstr "リレーション\"%2$s\"の列\"%1$s\"は非NULLに設定されていません。" + +#: commands/tablecmds.c:20705 #, c-format msgid "column data type %s does not support compression" msgstr "列データ型%sは圧縮をサポートしていません" -#: commands/tablecmds.c:20009 +#: commands/tablecmds.c:20712 #, c-format msgid "invalid compression method \"%s\"" msgstr "無効な圧縮方式\"%s\"" -#: commands/tablecmds.c:20035 +#: commands/tablecmds.c:20738 #, c-format msgid "invalid storage type \"%s\"" msgstr "不正な格納タイプ\"%s\"" -#: commands/tablecmds.c:20045 +#: commands/tablecmds.c:20748 #, c-format msgid "column data type %s can only have storage PLAIN" msgstr "列のデータ型%sは格納タイプPLAINしか取ることができません" -#: commands/tablecmds.c:20242 -#, c-format -msgid "can not find partition for split partition row" -msgstr "パーティション分割行に該当するパーティションが見つかりません" - -#: commands/tablecmds.c:20328 -#, c-format -msgid "cannot create as partition of temporary relation of another session" -msgstr "他セッションの一時リレーションのパーティション子テーブルとして作成することはできません" - -#: commands/tablecmds.c:20399 -#, c-format -msgid "cannot create a permanent relation as partition of temporary relation \"%s\"" -msgstr "永続リレーションを一時リレーション\"%s\"のパーティション子テーブルとして作成することはできません" - #: commands/tablespace.c:193 commands/tablespace.c:644 #, c-format msgid "\"%s\" exists but is not a directory" @@ -11681,7 +11747,7 @@ msgstr "外部テーブルは INSTEAD OF トリガを持つことができませ msgid "Foreign tables cannot have constraint triggers." msgstr "外部テーブルは制約トリガを持つことができません。" -#: commands/trigger.c:309 commands/trigger.c:1325 commands/trigger.c:1432 +#: commands/trigger.c:309 commands/trigger.c:1326 commands/trigger.c:1433 #, c-format msgid "relation \"%s\" cannot have triggers" msgstr "リレーション\"%s\"にはトリガーを設定できません" @@ -11811,7 +11877,7 @@ msgstr "BEFORE トリガーの WHEN 条件では NEW の生成列を参照でき 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:763 commands/trigger.c:1609 #, c-format msgid "trigger \"%s\" for relation \"%s\" already exists" msgstr "リレーション\"%2$s\"用のトリガ\"%1$s\"はすでに存在します" @@ -11826,82 +11892,77 @@ msgstr "リレーション\"%2$s\"のトリガー\"%1$s\"は内部トリガー msgid "trigger \"%s\" for relation \"%s\" is a constraint trigger" msgstr "リレーション\"%2$s\"のトリガー\"%1$s\"は制約トリガーです" -#: commands/trigger.c:1397 commands/trigger.c:1550 commands/trigger.c:1831 +#: commands/trigger.c:1398 commands/trigger.c:1552 commands/trigger.c:1833 #, c-format msgid "trigger \"%s\" for table \"%s\" does not exist" msgstr "テーブル\"%2$s\"のトリガ\"%1$s\"は存在しません" -#: commands/trigger.c:1522 +#: commands/trigger.c:1524 #, c-format msgid "cannot rename trigger \"%s\" on table \"%s\"" msgstr "テーブル\"%2$s\"のトリガー\"%1$s\"の名前は変更できません" -#: commands/trigger.c:1524 +#: commands/trigger.c:1526 #, c-format msgid "Rename the trigger on the partitioned table \"%s\" instead." msgstr "代わりにパーティション親テーブル\"%s\"でこのトリガーの名前を変更してください。" -#: commands/trigger.c:1624 +#: commands/trigger.c:1626 #, c-format msgid "renamed trigger \"%s\" on relation \"%s\"" msgstr "リレーション\"%2$s\"のトリガー\"%1$s\"の名前を変更しました" -#: commands/trigger.c:1770 +#: commands/trigger.c:1772 #, c-format msgid "permission denied: \"%s\" is a system trigger" msgstr "権限がありません: \"%s\"はシステムトリガです" -#: commands/trigger.c:2379 +#: commands/trigger.c:2381 #, 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:2441 commands/trigger.c:2659 commands/trigger.c:2912 commands/trigger.c:3265 #, c-format msgid "BEFORE STATEMENT trigger cannot return a value" msgstr "BEFORE STATEMENTトリガは値を返すことができません" -#: commands/trigger.c:2515 +#: commands/trigger.c:2517 #, 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:2518 #, c-format msgid "Before executing trigger \"%s\", the row was to be in partition \"%s.%s\"." msgstr "トリガ\"%s\"の実行前には、この行はパーティション\"%s.%s\"に置かれるはずでした。" -#: commands/trigger.c:3340 executor/nodeModifyTable.c:2363 executor/nodeModifyTable.c:2446 -#, c-format -msgid "tuple to be updated was already modified by an operation triggered by the current command" -msgstr "更新対象のタプルはすでに現在のコマンドによって起動された操作によって変更されています" - -#: commands/trigger.c:3341 executor/nodeModifyTable.c:1532 executor/nodeModifyTable.c:1606 executor/nodeModifyTable.c:2364 executor/nodeModifyTable.c:2447 executor/nodeModifyTable.c:3075 executor/nodeModifyTable.c:3236 +#: commands/trigger.c:3343 executor/nodeModifyTable.c:1544 executor/nodeModifyTable.c:1618 executor/nodeModifyTable.c:2380 executor/nodeModifyTable.c:2471 executor/nodeModifyTable.c:3135 executor/nodeModifyTable.c:3305 #, c-format msgid "Consider using an AFTER trigger instead of a BEFORE trigger to propagate changes to other rows." msgstr "他の行への変更を伝搬させるためにBEFOREトリガではなくAFTERトリガの使用を検討してください" -#: commands/trigger.c:3382 executor/nodeLockRows.c:228 executor/nodeLockRows.c:237 executor/nodeModifyTable.c:305 executor/nodeModifyTable.c:1548 executor/nodeModifyTable.c:2381 executor/nodeModifyTable.c:2589 +#: commands/trigger.c:3384 executor/nodeLockRows.c:228 executor/nodeLockRows.c:237 executor/nodeModifyTable.c:314 executor/nodeModifyTable.c:1560 executor/nodeModifyTable.c:2397 executor/nodeModifyTable.c:2621 #, c-format msgid "could not serialize access due to concurrent update" msgstr "更新が同時に行われたためアクセスの直列化ができませんでした" -#: commands/trigger.c:3390 executor/nodeModifyTable.c:1638 executor/nodeModifyTable.c:2464 executor/nodeModifyTable.c:2613 executor/nodeModifyTable.c:3093 +#: commands/trigger.c:3392 executor/nodeModifyTable.c:1650 executor/nodeModifyTable.c:2488 executor/nodeModifyTable.c:2645 executor/nodeModifyTable.c:3153 #, c-format msgid "could not serialize access due to concurrent delete" msgstr "削除が同時に行われたためアクセスの直列化ができませんでした" -#: commands/trigger.c:4597 +#: commands/trigger.c:4606 #, c-format msgid "cannot fire deferred trigger within security-restricted operation" msgstr "セキュリティー制限操作中は、遅延トリガーは発火させられません" -#: commands/trigger.c:5780 +#: commands/trigger.c:5787 #, c-format msgid "constraint \"%s\" is not deferrable" msgstr "制約\"%s\"は遅延可能ではありません" -#: commands/trigger.c:5803 +#: commands/trigger.c:5810 #, c-format msgid "constraint \"%s\" does not exist" msgstr "制約\"%s\"は存在しません" @@ -12011,7 +12072,7 @@ msgstr "基本型を作成するにはスーパーユーザーである必要が msgid "Create the type as a shell type, then create its I/O functions, then do a full CREATE TYPE." msgstr "最初に型をシェル型として生成して、続いてI/O関数を生成した後に完全な CREATE TYPE を実行してください。" -#: commands/typecmds.c:331 commands/typecmds.c:1460 commands/typecmds.c:4480 +#: commands/typecmds.c:331 commands/typecmds.c:1464 commands/typecmds.c:4486 #, c-format msgid "type attribute \"%s\" not recognized" msgstr "型の属性\"%s\"は不明です" @@ -12031,7 +12092,7 @@ msgstr "%sを配列要素の型にすることはできません" msgid "alignment \"%s\" not recognized" msgstr "アライメント\"%s\"は不明です" -#: commands/typecmds.c:454 commands/typecmds.c:4354 +#: commands/typecmds.c:454 commands/typecmds.c:4360 #, c-format msgid "storage \"%s\" not recognized" msgstr "格納方式\"%s\"は不明です" @@ -12066,282 +12127,287 @@ msgstr "\"%s\"はドメインの基本型として無効です" msgid "multiple default expressions" msgstr "デフォルト式が複数あります" -#: commands/typecmds.c:946 commands/typecmds.c:955 +#: commands/typecmds.c:946 commands/typecmds.c:959 #, c-format msgid "conflicting NULL/NOT NULL constraints" msgstr "NULL制約とNOT NULL制約が競合しています" -#: commands/typecmds.c:971 +#: commands/typecmds.c:950 +#, c-format +msgid "not-null constraints for domains cannot be marked NO INHERIT" +msgstr "ドメインに対する非NULL制約はNO INHERIT指定できません" + +#: commands/typecmds.c:975 #, c-format msgid "check constraints for domains cannot be marked NO INHERIT" msgstr "ドメインに対する検査制約はNO INHERITとマークすることができません" -#: commands/typecmds.c:980 commands/typecmds.c:2940 +#: commands/typecmds.c:984 commands/typecmds.c:2944 #, c-format msgid "unique constraints not possible for domains" msgstr "ドメインでは一意性制約は使用できません" -#: commands/typecmds.c:986 commands/typecmds.c:2946 +#: commands/typecmds.c:990 commands/typecmds.c:2950 #, c-format msgid "primary key constraints not possible for domains" msgstr "ドメインではプライマリキー制約はできません" -#: commands/typecmds.c:992 commands/typecmds.c:2952 +#: commands/typecmds.c:996 commands/typecmds.c:2956 #, c-format msgid "exclusion constraints not possible for domains" msgstr "ドメインでは排除制約は使用できません" -#: commands/typecmds.c:998 commands/typecmds.c:2958 +#: commands/typecmds.c:1002 commands/typecmds.c:2962 #, c-format msgid "foreign key constraints not possible for domains" msgstr "ドメイン用の外部キー制約はできません" -#: commands/typecmds.c:1007 commands/typecmds.c:2967 +#: commands/typecmds.c:1011 commands/typecmds.c:2971 #, c-format msgid "specifying constraint deferrability not supported for domains" msgstr "ドメインでは制約遅延の指定はサポートしていません" -#: commands/typecmds.c:1327 utils/cache/typcache.c:2570 +#: commands/typecmds.c:1331 utils/cache/typcache.c:2743 #, c-format msgid "%s is not an enum" msgstr "%s は数値ではありません" -#: commands/typecmds.c:1468 +#: commands/typecmds.c:1472 #, c-format msgid "type attribute \"subtype\" is required" msgstr "型の属性\"subtype\"が必要です" -#: commands/typecmds.c:1473 +#: commands/typecmds.c:1477 #, c-format msgid "range subtype cannot be %s" msgstr "範囲の派生元型を%sにすることはできません" -#: commands/typecmds.c:1492 +#: commands/typecmds.c:1496 #, c-format msgid "range collation specified but subtype does not support collation" msgstr "範囲の照合順序が指定されましたが、派生もと型が照合順序をサポートしていません" -#: commands/typecmds.c:1502 +#: commands/typecmds.c:1506 #, c-format msgid "cannot specify a canonical function without a pre-created shell type" msgstr "事前にシェル型を生成せずに正規化関数を指定することはできません" -#: commands/typecmds.c:1503 +#: commands/typecmds.c:1507 #, c-format msgid "Create the type as a shell type, then create its canonicalization function, then do a full CREATE TYPE." msgstr "最初に型をシェル型として生成して、続いて正規化関数を生成した後に完全な CREATE TYPE を実行してください。" -#: commands/typecmds.c:1975 +#: commands/typecmds.c:1979 #, c-format msgid "type input function %s has multiple matches" msgstr "型の入力関数%sが複数合致します" -#: commands/typecmds.c:1993 +#: commands/typecmds.c:1997 #, c-format msgid "type input function %s must return type %s" msgstr "型の入力関数%sは型%sを返す必要があります" -#: commands/typecmds.c:2009 +#: commands/typecmds.c:2013 #, c-format msgid "type input function %s should not be volatile" msgstr "型の入力関数%sはvolatileであってはなりません" -#: commands/typecmds.c:2037 +#: commands/typecmds.c:2041 #, c-format msgid "type output function %s must return type %s" msgstr "型の出力関数%sは型%sを返す必要があります" -#: commands/typecmds.c:2044 +#: commands/typecmds.c:2048 #, c-format msgid "type output function %s should not be volatile" msgstr "型の出力関数%sはvolatileであってはなりません" -#: commands/typecmds.c:2073 +#: commands/typecmds.c:2077 #, c-format msgid "type receive function %s has multiple matches" msgstr "型の受信関数 %s が複数合致しました" -#: commands/typecmds.c:2091 +#: commands/typecmds.c:2095 #, c-format msgid "type receive function %s must return type %s" msgstr "型の受信関数%sは型%sを返す必要があります" -#: commands/typecmds.c:2098 +#: commands/typecmds.c:2102 #, c-format msgid "type receive function %s should not be volatile" msgstr "型の受信関数%sはvolatileであってはなりません" -#: commands/typecmds.c:2126 +#: commands/typecmds.c:2130 #, c-format msgid "type send function %s must return type %s" msgstr "型の送信関数%sは型%sを返す必要があります" -#: commands/typecmds.c:2133 +#: commands/typecmds.c:2137 #, c-format msgid "type send function %s should not be volatile" msgstr "型の送信関数%sはvolatileであってはなりません" -#: commands/typecmds.c:2160 +#: commands/typecmds.c:2164 #, c-format msgid "typmod_in function %s must return type %s" msgstr "typmod_in関数%sは型%sを返す必要があります" -#: commands/typecmds.c:2167 +#: commands/typecmds.c:2171 #, c-format msgid "type modifier input function %s should not be volatile" msgstr "型修正子の入力関数%sはvolatileであってはなりません" -#: commands/typecmds.c:2194 +#: commands/typecmds.c:2198 #, c-format msgid "typmod_out function %s must return type %s" msgstr "typmod_out関数%sは型%sを返す必要があります" -#: commands/typecmds.c:2201 +#: commands/typecmds.c:2205 #, c-format msgid "type modifier output function %s should not be volatile" msgstr "型修正子の出力関数%sはvolatileであってはなりません" -#: commands/typecmds.c:2228 +#: commands/typecmds.c:2232 #, c-format msgid "type analyze function %s must return type %s" msgstr "型のANALYZE関数%sは%s型を返す必要があります" -#: commands/typecmds.c:2257 +#: commands/typecmds.c:2261 #, c-format msgid "type subscripting function %s must return type %s" msgstr "型の添字処理関数%sは型%sを返す必要があります" -#: commands/typecmds.c:2267 +#: commands/typecmds.c:2271 #, c-format msgid "user-defined types cannot use subscripting function %s" msgstr "ユーザー定義型は添字処理関数%sを使用できません" -#: commands/typecmds.c:2313 +#: commands/typecmds.c:2317 #, c-format msgid "You must specify an operator class for the range type or define a default operator class for the subtype." msgstr "この範囲型に演算子クラスを指定するか、派生元の型でデフォルト演算子クラスを定義する必要があります。" -#: commands/typecmds.c:2344 +#: commands/typecmds.c:2348 #, c-format msgid "range canonical function %s must return range type" msgstr "範囲の正規化関数 %s は範囲型を返す必要があります" -#: commands/typecmds.c:2350 +#: commands/typecmds.c:2354 #, c-format msgid "range canonical function %s must be immutable" msgstr "範囲の正規化関数 %s は不変関数でなければなりません" -#: commands/typecmds.c:2386 +#: commands/typecmds.c:2390 #, c-format msgid "range subtype diff function %s must return type %s" msgstr "範囲の派生元の型の差分関数 %s は %s型を返す必要があります" -#: commands/typecmds.c:2393 +#: commands/typecmds.c:2397 #, c-format msgid "range subtype diff function %s must be immutable" msgstr "範囲の派生元の型の差分関数 %s は不変関数である必要があります" -#: commands/typecmds.c:2420 +#: commands/typecmds.c:2424 #, c-format msgid "pg_type array OID value not set when in binary upgrade mode" msgstr "バイナリアップグレードモード中にpg_typeの配列型OIDが設定されていません" -#: commands/typecmds.c:2453 +#: commands/typecmds.c:2457 #, c-format msgid "pg_type multirange OID value not set when in binary upgrade mode" msgstr "バイナリアップグレードモード中にpg_typeの複範囲型OIDの値が設定されていません" -#: commands/typecmds.c:2486 +#: commands/typecmds.c:2490 #, c-format msgid "pg_type multirange array OID value not set when in binary upgrade mode" msgstr "バイナリアップグレードモード中にpg_typeの複範囲配列型OIDの値が設定されていません" -#: commands/typecmds.c:2868 commands/typecmds.c:3093 +#: commands/typecmds.c:2872 commands/typecmds.c:3097 #, c-format msgid "constraint \"%s\" of domain \"%s\" does not exist" msgstr "ドメイン\"%2$s\"の制約\"%1$s\"は存在しません" -#: commands/typecmds.c:2872 +#: commands/typecmds.c:2876 #, c-format msgid "constraint \"%s\" of domain \"%s\" does not exist, skipping" msgstr "ドメイン\"%2$s\"の制約\"%1$s\"は存在しません、スキップします" -#: commands/typecmds.c:3100 +#: commands/typecmds.c:3104 #, c-format msgid "constraint \"%s\" of domain \"%s\" is not a check constraint" msgstr "ドメイン\"%2$s\"の制約\"%1$s\"は検査制約ではありません" -#: commands/typecmds.c:3180 +#: commands/typecmds.c:3184 #, c-format msgid "column \"%s\" of table \"%s\" contains null values" msgstr "テーブル\"%2$s\"の列\"%1$s\"にNULL値があります" -#: commands/typecmds.c:3269 +#: commands/typecmds.c:3273 #, c-format msgid "column \"%s\" of table \"%s\" contains values that violate the new constraint" msgstr "テーブル\"%2$s\"の列\"%1$s\"に新しい制約に違反する値があります" -#: commands/typecmds.c:3498 commands/typecmds.c:3772 commands/typecmds.c:3857 commands/typecmds.c:4073 +#: commands/typecmds.c:3502 commands/typecmds.c:3778 commands/typecmds.c:3863 commands/typecmds.c:4079 #, c-format msgid "%s is not a domain" msgstr "%s はドメインではありません" -#: commands/typecmds.c:3532 commands/typecmds.c:3686 +#: commands/typecmds.c:3536 commands/typecmds.c:3691 #, c-format msgid "constraint \"%s\" for domain \"%s\" already exists" msgstr "ドメイン\"%2$s\"の制約\"%1$s\"はすでに存在します" -#: commands/typecmds.c:3583 +#: commands/typecmds.c:3587 #, c-format msgid "cannot use table references in domain check constraint" msgstr "ドメインの検査制約ではテーブル参照を使用できません" -#: commands/typecmds.c:3784 commands/typecmds.c:3869 commands/typecmds.c:4223 +#: commands/typecmds.c:3790 commands/typecmds.c:3875 commands/typecmds.c:4229 #, c-format msgid "%s is a table's row type" msgstr "%sはテーブルの行型です" -#: commands/typecmds.c:3794 commands/typecmds.c:3879 commands/typecmds.c:4121 +#: commands/typecmds.c:3800 commands/typecmds.c:3885 commands/typecmds.c:4127 #, c-format msgid "cannot alter array type %s" msgstr "配列型%sを変更できません" -#: commands/typecmds.c:3796 commands/typecmds.c:3881 commands/typecmds.c:4123 +#: commands/typecmds.c:3802 commands/typecmds.c:3887 commands/typecmds.c:4129 #, c-format msgid "You can alter type %s, which will alter the array type as well." msgstr "型%sを変更することができます。これは同時にその配列型も変更します。" -#: commands/typecmds.c:3892 +#: commands/typecmds.c:3898 #, c-format msgid "cannot alter multirange type %s" msgstr "複範囲型%sを変更できません" -#: commands/typecmds.c:3895 +#: commands/typecmds.c:3901 #, c-format msgid "You can alter type %s, which will alter the multirange type as well." msgstr "型%sを変更することができます。これは同時にその複範囲型も変更します。" -#: commands/typecmds.c:4202 +#: commands/typecmds.c:4208 #, c-format msgid "type \"%s\" already exists in schema \"%s\"" msgstr "型\"%s\"はスキーマ\"%s\"内にすでに存在します" -#: commands/typecmds.c:4382 +#: commands/typecmds.c:4388 #, c-format msgid "cannot change type's storage to PLAIN" msgstr "型の格納方式をPLAINには変更できません" -#: commands/typecmds.c:4475 +#: commands/typecmds.c:4481 #, c-format msgid "type attribute \"%s\" cannot be changed" msgstr "型の属性\"%s\"は変更できません" -#: commands/typecmds.c:4493 +#: commands/typecmds.c:4499 #, c-format msgid "must be superuser to alter a type" msgstr "型の変更を行うにはスーパーユーザーである必要があります" -#: commands/typecmds.c:4514 commands/typecmds.c:4523 +#: commands/typecmds.c:4520 commands/typecmds.c:4529 #, c-format msgid "%s is not a base type" msgstr "\"%s\"は基本型ではありません" @@ -12366,7 +12432,7 @@ msgstr "%s属性を持つロールのみがロールを作成できます。" msgid "Only roles with the %s attribute may create roles with the %s attribute." msgstr "%s属性を持つロールのみが%s属性を持つロールを作成できます。" -#: commands/user.c:354 commands/user.c:1386 commands/user.c:1393 gram.y:17355 gram.y:17401 utils/adt/acl.c:5568 utils/adt/acl.c:5574 +#: commands/user.c:354 commands/user.c:1386 commands/user.c:1393 gram.y:17395 gram.y:17441 utils/adt/acl.c:5708 utils/adt/acl.c:5714 #, c-format msgid "role name \"%s\" is reserved" msgstr "ロール名\"%s\"は予約されています" @@ -12455,7 +12521,7 @@ msgstr "%s属性および削除対象ロールに対する%sオプションを msgid "cannot use special role specifier in DROP ROLE" msgstr "DROP ROLE で特殊ロールの識別子は使えません" -#: commands/user.c:1135 commands/user.c:1357 commands/variable.c:838 commands/variable.c:841 commands/variable.c:947 commands/variable.c:950 utils/adt/acl.c:365 utils/adt/acl.c:385 utils/adt/acl.c:5423 utils/adt/acl.c:5471 utils/adt/acl.c:5499 utils/adt/acl.c:5518 utils/adt/regproc.c:1571 utils/init/miscinit.c:762 +#: commands/user.c:1135 commands/user.c:1357 commands/variable.c:849 commands/variable.c:852 commands/variable.c:957 commands/variable.c:960 utils/adt/acl.c:366 utils/adt/acl.c:386 utils/adt/acl.c:5563 utils/adt/acl.c:5611 utils/adt/acl.c:5639 utils/adt/acl.c:5658 utils/adt/regproc.c:1571 utils/init/miscinit.c:762 #, c-format msgid "role \"%s\" does not exist" msgstr "ロール\"%s\"は存在しません" @@ -12520,7 +12586,7 @@ msgstr "%1$s属性とロール\"%3$s\"に対する%2$sオプションを持つ msgid "MD5 password cleared because of role rename" msgstr "ロール名が変更されたためMD5パスワードがクリアされました" -#: commands/user.c:1518 gram.y:1297 +#: commands/user.c:1518 gram.y:1278 #, c-format msgid "unrecognized role option \"%s\"" msgstr "ロールオプション\"%s\"が認識できません" @@ -12560,207 +12626,212 @@ msgstr "ロール\"%s\"の権限を持つロールのみが、そのロールが msgid "Only roles with privileges of role \"%s\" may reassign objects to it." msgstr "ロール\"%s\"の権限を持つロールのみが、オブジェクトの所有者をそのロールに変更できます。" -#: commands/user.c:1733 +#: commands/user.c:1734 #, c-format msgid "role \"%s\" cannot be a member of any role" msgstr "ロール\"%s\"はどのロールのメンバーにもなれません" -#: commands/user.c:1746 +#: commands/user.c:1747 #, c-format msgid "role \"%s\" is a member of role \"%s\"" msgstr "ロール\"%s\"はロール\"%s\"のメンバです" -#: commands/user.c:1786 commands/user.c:1812 +#: commands/user.c:1787 commands/user.c:1813 #, c-format msgid "%s option cannot be granted back to your own grantor" msgstr "%sオプションはもとの付与者に付与し返すことはできません" -#: commands/user.c:1889 +#: commands/user.c:1890 #, c-format msgid "role \"%s\" has already been granted membership in role \"%s\" by role \"%s\"" msgstr "ロール\"%s\"はすでにロール\"%s\"のメンバ権限をロール\"%s\"によって付与されています" -#: commands/user.c:2024 +#: commands/user.c:2025 #, c-format msgid "role \"%s\" has not been granted membership in role \"%s\" by role \"%s\"" msgstr "ロール\"%s\"はロール\"%s\"のメンバ権限をロール\"%s\"によって付与されていません" -#: commands/user.c:2124 +#: commands/user.c:2126 #, c-format msgid "role \"%s\" cannot have explicit members" msgstr "ロール\"%s\"は明示的なメンバーを持てません" -#: commands/user.c:2135 commands/user.c:2158 +#: commands/user.c:2137 commands/user.c:2160 #, c-format msgid "permission denied to grant role \"%s\"" msgstr "ロール\"%s\"権限を付与する権限がありません" -#: commands/user.c:2137 +#: commands/user.c:2139 #, c-format msgid "Only roles with the %s attribute may grant roles with the %s attribute." msgstr "%s属性を持つロールのみが%s属性を持つロールの権限を付与できます。" -#: commands/user.c:2142 commands/user.c:2165 +#: commands/user.c:2144 commands/user.c:2167 #, c-format msgid "permission denied to revoke role \"%s\"" msgstr "ロール\"%s\"の権限を剥奪する権限がありません" -#: commands/user.c:2144 +#: commands/user.c:2146 #, c-format msgid "Only roles with the %s attribute may revoke roles with the %s attribute." msgstr "%s属性を持つロールのみが%s属性を持つロールの権限を剥奪できます。" -#: commands/user.c:2160 +#: commands/user.c:2162 #, c-format msgid "Only roles with the %s option on role \"%s\" may grant this role." msgstr "ロール\"%2$s\"に対する%1$sオプションを持つロールのみがこのロール権限を付与できます。" -#: commands/user.c:2167 +#: commands/user.c:2169 #, c-format msgid "Only roles with the %s option on role \"%s\" may revoke this role." msgstr "ロール\"%2$s\"に対する%1$sオプションを持つロールのみがこのロール権限を剥奪できます。" -#: commands/user.c:2247 commands/user.c:2256 +#: commands/user.c:2249 commands/user.c:2258 #, c-format msgid "permission denied to grant privileges as role \"%s\"" msgstr "ロール\"%s\"として権限を付与する権限がありません" -#: commands/user.c:2249 +#: commands/user.c:2251 #, c-format msgid "Only roles with privileges of role \"%s\" may grant privileges as this role." msgstr "ロール\"%s\"の権限を持つロールのみがこのロールとして権限を付与できます。" -#: commands/user.c:2258 +#: commands/user.c:2260 #, c-format msgid "The grantor must have the %s option on role \"%s\"." msgstr "付与者はロール\"%s\"に対する%sオプションを持つ必要があります。" -#: commands/user.c:2266 +#: commands/user.c:2268 #, c-format msgid "permission denied to revoke privileges granted by role \"%s\"" msgstr "ロール\"%s\"によって付与された権限を剥奪する権限がありません" -#: commands/user.c:2268 +#: commands/user.c:2270 #, c-format 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:1318 +#: commands/user.c:2493 utils/adt/acl.c:1325 #, c-format msgid "dependent privileges exist" msgstr "依存する権限が存在します" -#: commands/user.c:2492 utils/adt/acl.c:1319 +#: commands/user.c:2494 utils/adt/acl.c:1326 #, c-format msgid "Use CASCADE to revoke them too." msgstr "これらも剥奪するにはCASCADEを使用してください" -#: commands/vacuum.c:134 +#: commands/vacuum.c:133 #, 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:209 +#: commands/vacuum.c:208 #, 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:219 +#: commands/vacuum.c:218 #, c-format msgid "unrecognized ANALYZE option \"%s\"" msgstr "ANALYZEオプション\"%s\"が認識できません" -#: commands/vacuum.c:259 +#: commands/vacuum.c:258 #, c-format msgid "parallel option requires a value between 0 and %d" msgstr "パラレルオプションには0から%dまでの値である必要があります" -#: commands/vacuum.c:271 +#: commands/vacuum.c:270 #, c-format msgid "parallel workers for vacuum must be between 0 and %d" msgstr "VACUUMの並列ワーカーの数はは0から%dまでの値でなければなりません" -#: commands/vacuum.c:292 +#: commands/vacuum.c:291 #, c-format msgid "unrecognized VACUUM option \"%s\"" msgstr "認識できないVACUUMオプション \"%s\"" -#: commands/vacuum.c:318 +#: commands/vacuum.c:317 #, c-format msgid "VACUUM FULL cannot be performed in parallel" msgstr "VACUUM FULLは並列実行できません" -#: commands/vacuum.c:329 +#: commands/vacuum.c:328 #, 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:342 #, c-format msgid "ANALYZE option must be specified when a column list is provided" msgstr "ANALYZE オプションは列リストが与えられているときのみ指定できます" -#: commands/vacuum.c:355 +#: commands/vacuum.c:354 #, 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:361 #, c-format msgid "PROCESS_TOAST required with VACUUM FULL" msgstr "VACUUM FULLではPROCESS_TOASTの指定が必須です" -#: commands/vacuum.c:371 +#: commands/vacuum.c:370 #, 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:379 #, c-format msgid "ONLY_DATABASE_STATS cannot be specified with other VACUUM options" msgstr "ONLY_DATABASE_STATSは他のVACUUMオプションと一緒に指定することはできません" -#: commands/vacuum.c:515 +#: commands/vacuum.c:514 #, c-format msgid "%s cannot be executed from VACUUM or ANALYZE" msgstr "%sはVACUUMやANALYZEからは実行できません" -#: commands/vacuum.c:730 +#: commands/vacuum.c:726 #, c-format msgid "permission denied to vacuum \"%s\", skipping it" msgstr "列%sのVACUUMを行う権限がありません、スキップします" -#: commands/vacuum.c:743 +#: commands/vacuum.c:739 #, c-format msgid "permission denied to analyze \"%s\", skipping it" msgstr "列%sのANALYZEを行う権限がありません、スキップします" -#: commands/vacuum.c:821 commands/vacuum.c:918 +#: commands/vacuum.c:817 commands/vacuum.c:918 #, c-format msgid "skipping vacuum of \"%s\" --- lock not available" msgstr "\"%s\"のVACUUM処理をスキップしています -- ロックを獲得できませんでした" -#: commands/vacuum.c:826 +#: commands/vacuum.c:822 #, c-format msgid "skipping vacuum of \"%s\" --- relation no longer exists" msgstr "\"%s\"のVACUUM処理をスキップしています -- リレーションはすでに存在しません" -#: commands/vacuum.c:842 commands/vacuum.c:923 +#: commands/vacuum.c:838 commands/vacuum.c:923 #, c-format msgid "skipping analyze of \"%s\" --- lock not available" msgstr "\"%s\"のANALYZEをスキップしています --- ロック獲得できませんでした" -#: commands/vacuum.c:847 +#: commands/vacuum.c:843 #, c-format msgid "skipping analyze of \"%s\" --- relation no longer exists" msgstr "\"%s\"のANALYZEをスキップします --- リレーションはすでに存在しません" -#: commands/vacuum.c:1139 +#: commands/vacuum.c:959 +#, c-format +msgid "VACUUM ONLY of partitioned table \"%s\" has no effect" +msgstr "パーティション親テーブル\"%s\"に対する VACUUM ONLY は効果がありません" + +#: commands/vacuum.c:1150 #, 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:1151 commands/vacuum.c:1156 #, c-format msgid "" "Close open transactions soon to avoid wraparound problems.\n" @@ -12769,37 +12840,37 @@ msgstr "" "周回問題を回避するためにすぐに実行中のトランザクションを終了してください。\n" "古い準備済みトランザクションのコミットまたはロールバック、もしくは古いレプリケーションスロットの削除が必要な場合もあります。" -#: commands/vacuum.c:1144 +#: commands/vacuum.c:1155 #, c-format msgid "cutoff for freezing multixacts is far in the past" msgstr "マルチトランザクションのフリーズのカットオフ値が古すぎます" -#: commands/vacuum.c:1890 +#: commands/vacuum.c:1911 #, c-format msgid "some databases have not been vacuumed in over 2 billion transactions" msgstr "データベースの一部は20億トランザクション以上の間にVACUUMを実行されていませんでした" -#: commands/vacuum.c:1891 +#: commands/vacuum.c:1912 #, c-format msgid "You might have already suffered transaction-wraparound data loss." msgstr "トランザクションの周回によるデータ損失が発生している可能性があります" -#: commands/vacuum.c:2070 +#: commands/vacuum.c:2091 #, c-format msgid "skipping \"%s\" --- cannot vacuum non-tables or special system tables" msgstr "\"%s\"をスキップしています --- テーブルではないものや、特別なシステムテーブルに対してはVACUUMを実行できません" -#: commands/vacuum.c:2502 +#: commands/vacuum.c:2523 #, c-format msgid "scanned index \"%s\" to remove %lld row versions" msgstr "インデックス\"%s\"をスキャンして%lldの行バージョンを削除しました" -#: commands/vacuum.c:2521 +#: commands/vacuum.c:2542 #, c-format msgid "index \"%s\" now contains %.0f row versions in %u pages" msgstr "現在インデックス\"%s\"は%.0f行バージョンを%uページで含んでいます" -#: commands/vacuum.c:2525 +#: commands/vacuum.c:2546 #, c-format msgid "" "%.0f index row versions were removed.\n" @@ -12810,13 +12881,13 @@ msgstr "" "%uインデックスページを新たに削除\n" "%uページが現在削除中、うち%uページが再利用可能。" -#: commands/vacuumparallel.c:708 +#: commands/vacuumparallel.c:710 #, c-format msgid "launched %d parallel vacuum worker for index vacuuming (planned: %d)" msgid_plural "launched %d parallel vacuum workers for index vacuuming (planned: %d)" msgstr[0] "インデックスのVACUUMのために%d個の並列VACUUMワーカーを起動しました (計画値: %d)" -#: commands/vacuumparallel.c:714 +#: commands/vacuumparallel.c:716 #, 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)" @@ -12824,8 +12895,8 @@ msgstr[0] "インデックスのクリーンアップのために%d個の並列V #: commands/variable.c:185 #, c-format -msgid "Conflicting \"datestyle\" specifications." -msgstr "\"datestyle\"指定が競合しています。" +msgid "Conflicting \"DateStyle\" specifications." +msgstr "\"DateStyle\"指定が競合しています。" #: commands/variable.c:307 #, c-format @@ -12867,92 +12938,87 @@ msgstr "トランザクションの読み書きモードの設定は、問い合 msgid "cannot set transaction read-write mode during recovery" msgstr "リカバリ中にはトランザクションを読み書きモードに設定できません" -#: commands/variable.c:592 +#: commands/variable.c:594 #, c-format msgid "SET TRANSACTION ISOLATION LEVEL must be called before any query" msgstr "SET TRANSACTION ISOLATION LEVEL は問い合わせより前に実行する必要があります" -#: commands/variable.c:599 +#: commands/variable.c:601 #, c-format msgid "SET TRANSACTION ISOLATION LEVEL must not be called in a subtransaction" msgstr "SET TRANSACTION ISOLATION LEVELをサブトランザクションで呼び出してはなりません" -#: commands/variable.c:606 storage/lmgr/predicate.c:1680 +#: commands/variable.c:608 storage/lmgr/predicate.c:1685 #, c-format msgid "cannot use serializable mode in a hot standby" msgstr "ホットスタンバイ中はシリアライズモードを使用できません" -#: commands/variable.c:607 +#: commands/variable.c:609 #, c-format msgid "You can use REPEATABLE READ instead." msgstr "代わりに REPEATABLE READ を使ってください" -#: commands/variable.c:625 +#: commands/variable.c:631 #, c-format msgid "SET TRANSACTION [NOT] DEFERRABLE cannot be called within a subtransaction" msgstr "SET TRANSACTION [NOT] DEFERRABLE をサブトランザクション内部では呼び出せません" -#: commands/variable.c:631 +#: commands/variable.c:637 #, c-format msgid "SET TRANSACTION [NOT] DEFERRABLE must be called before any query" msgstr "SET TRANSACTION [NOT] DEFERRABLE は問い合わせより前に実行する必要があります" #: commands/variable.c:713 #, c-format +msgid "Cannot change \"client_encoding\" during a parallel operation." +msgstr "並列処理中は\"client_encoding\"を変更できません。" + +#: commands/variable.c:741 +#, c-format msgid "Conversion between %s and %s is not supported." msgstr "%sと%s 間の変換はサポートされていません。" -#: commands/variable.c:720 +#: commands/variable.c:748 #, c-format msgid "Cannot change \"client_encoding\" now." msgstr "現在\"client_encoding\"を変更できません。" -#: commands/variable.c:781 -#, c-format -msgid "cannot change \"client_encoding\" during a parallel operation" -msgstr "並列処理中は\"client_encoding\"を変更できません" - -#: commands/variable.c:863 +#: commands/variable.c:874 #, c-format msgid "permission will be denied to set session authorization \"%s\"" msgstr "セッション認証を\"%s\"に設定する権限は拒否されます" -#: commands/variable.c:868 +#: commands/variable.c:879 #, c-format msgid "permission denied to set session authorization \"%s\"" msgstr "セッション認証を\"%s\"に設定する権限は拒否されました" -#: commands/variable.c:972 +#: commands/variable.c:982 #, c-format msgid "permission will be denied to set role \"%s\"" msgstr "ロール\"%s\"を設定する権限がありません" -#: commands/variable.c:977 +#: commands/variable.c:987 #, c-format msgid "permission denied to set role \"%s\"" msgstr "ロール\"%s\"を設定する権限がありません" -#: commands/variable.c:1177 +#: commands/variable.c:1187 #, c-format msgid "Bonjour is not supported by this build" msgstr "このビルドでは bonjour はサポートされていません" -#: commands/variable.c:1205 -#, c-format -msgid "\"effective_io_concurrency\" must be set to 0 on platforms that lack posix_fadvise()." -msgstr "posix_fadvise() をもたないプラットフォームでは\"effective_io_concurrency\"は0に設定する必要があります。" - -#: commands/variable.c:1218 +#: commands/variable.c:1215 commands/variable.c:1229 #, c-format -msgid "\"maintenance_io_concurrency\" must be set to 0 on platforms that lack posix_fadvise()." -msgstr "posix_fadvise() をもたないプラットフォームでは\"maintenance_io_concurrency\"は0に設定する必要があります。" +msgid "\"%s\" must be set to 0 on platforms that lack support for issuing read-ahead advice." +msgstr "先読み指示の発行をサポートしていないプラットフォームでは\"%s\"を0に設定する必要があります。" -#: commands/variable.c:1231 +#: commands/variable.c:1243 #, c-format msgid "SSL is not supported by this build" msgstr "このインストレーションではSSLはサポートされていません" -#: commands/view.c:79 +#: commands/view.c:78 #, c-format msgid "could not determine which collation to use for view column \"%s\"" msgstr "ビューの列\"%s\"で使用する照合順序を特定できませんでした" @@ -13037,325 +13103,336 @@ msgstr "カーソル\"%s\"は行上に位置していません" msgid "cursor \"%s\" is not a simply updatable scan of table \"%s\"" msgstr "カーソル\"%s\"はテーブル\"%s\"を単純な更新可能スキャンではありません" -#: executor/execCurrent.c:280 executor/execExprInterp.c:2543 +#: executor/execCurrent.c:280 executor/execExprInterp.c:2663 #, c-format msgid "type of parameter %d (%s) does not match that when preparing the plan (%s)" msgstr "パラメータの型%d(%s)が実行計画(%s)を準備する時点と一致しません" -#: executor/execCurrent.c:292 executor/execExprInterp.c:2555 +#: executor/execCurrent.c:292 executor/execExprInterp.c:2675 #, c-format msgid "no value found for parameter %d" msgstr "パラメータ%dの値がありません" -#: executor/execExpr.c:641 executor/execExpr.c:648 executor/execExpr.c:654 executor/execExprInterp.c:4741 executor/execExprInterp.c:4758 executor/execExprInterp.c:4857 executor/nodeModifyTable.c:194 executor/nodeModifyTable.c:205 executor/nodeModifyTable.c:222 executor/nodeModifyTable.c:230 +#: executor/execExpr.c:645 executor/execExpr.c:652 executor/execExpr.c:658 executor/execExprInterp.c:4978 executor/execExprInterp.c:4995 executor/execExprInterp.c:5094 executor/nodeModifyTable.c:203 executor/nodeModifyTable.c:214 executor/nodeModifyTable.c:231 executor/nodeModifyTable.c:239 #, c-format msgid "table row type and query-specified row type do not match" msgstr "テーブルの行型と問い合わせで指定した行型が一致しません" -#: executor/execExpr.c:642 executor/nodeModifyTable.c:195 +#: executor/execExpr.c:646 executor/nodeModifyTable.c:204 #, c-format msgid "Query has too many columns." msgstr "問い合わせの列が多すぎます" -#: executor/execExpr.c:649 executor/nodeModifyTable.c:223 +#: executor/execExpr.c:653 executor/nodeModifyTable.c:232 #, c-format msgid "Query provides a value for a dropped column at ordinal position %d." msgstr "問い合わせで %d 番目に削除される列の値を指定しています。" -#: executor/execExpr.c:655 executor/execExprInterp.c:4759 executor/nodeModifyTable.c:206 +#: executor/execExpr.c:659 executor/execExprInterp.c:4996 executor/nodeModifyTable.c:215 #, c-format msgid "Table has type %s at ordinal position %d, but query expects %s." msgstr "テーブルでは %2$d 番目の型は %1$s ですが、問い合わせでは %3$s を想定しています。" -#: executor/execExpr.c:1103 parser/parse_agg.c:840 +#: executor/execExpr.c:1107 parser/parse_agg.c:843 #, c-format msgid "window function calls cannot be nested" msgstr "ウィンドウ関数の呼び出しを入れ子にすることはできません" -#: executor/execExpr.c:1640 +#: executor/execExpr.c:1631 #, c-format msgid "target type is not an array" msgstr "対象型は配列ではありません" -#: executor/execExpr.c:1980 +#: executor/execExpr.c:1971 #, c-format msgid "ROW() column has type %s instead of type %s" msgstr "ROW()列の型が%2$sではなく%1$sです" -#: executor/execExpr.c:2642 executor/execSRF.c:718 parser/parse_func.c:138 parser/parse_func.c:655 parser/parse_func.c:1033 +#: executor/execExpr.c:2635 executor/execSRF.c:718 parser/parse_func.c:138 parser/parse_func.c:655 parser/parse_func.c:1033 #, c-format msgid "cannot pass more than %d argument to a function" msgid_plural "cannot pass more than %d arguments to a function" msgstr[0] "関数に%dを超える引数を渡せません" -#: executor/execExpr.c:2669 executor/execSRF.c:738 executor/functions.c:1067 utils/adt/jsonfuncs.c:4032 utils/fmgr/funcapi.c:89 utils/fmgr/funcapi.c:143 +#: executor/execExpr.c:2662 executor/execSRF.c:738 executor/functions.c:1068 utils/adt/jsonfuncs.c:4055 utils/fmgr/funcapi.c:89 utils/fmgr/funcapi.c:143 #, c-format msgid "set-valued function called in context that cannot accept a set" msgstr "このコンテキストで集合値の関数は集合を受け付けられません" -#: executor/execExpr.c:3075 parser/parse_node.c:272 parser/parse_node.c:322 +#: executor/execExpr.c:3115 parser/parse_node.c:272 parser/parse_node.c:322 #, c-format msgid "cannot subscript type %s because it does not support subscripting" msgstr "添字をサポートしないため、型%sには添字をつけられません" -#: executor/execExpr.c:3203 executor/execExpr.c:3225 +#: executor/execExpr.c:3243 executor/execExpr.c:3265 #, c-format msgid "type %s does not support subscripted assignment" msgstr "型%sは添字を使った代入をサポートしません" -#: executor/execExprInterp.c:2007 +#: executor/execExprInterp.c:2127 #, c-format msgid "attribute %d of type %s has been dropped" msgstr "%2$s型の属性%1$dが削除されています" -#: executor/execExprInterp.c:2013 +#: executor/execExprInterp.c:2133 #, c-format msgid "attribute %d of type %s has wrong type" msgstr "型%2$sの属性%1$dの型が間違っています" -#: executor/execExprInterp.c:2015 executor/execExprInterp.c:3214 executor/execExprInterp.c:3260 +#: executor/execExprInterp.c:2135 executor/execExprInterp.c:3352 executor/execExprInterp.c:3398 #, c-format msgid "Table has type %s, but query expects %s." msgstr "テーブルの型は%sですが、問い合わせでは%sを想定しています。" -#: executor/execExprInterp.c:2095 utils/adt/expandedrecord.c:99 utils/adt/expandedrecord.c:231 utils/cache/typcache.c:1752 utils/cache/typcache.c:1911 utils/cache/typcache.c:2058 utils/fmgr/funcapi.c:569 +#: executor/execExprInterp.c:2215 utils/adt/expandedrecord.c:99 utils/adt/expandedrecord.c:231 utils/cache/typcache.c:1839 utils/cache/typcache.c:1998 utils/cache/typcache.c:2145 utils/fmgr/funcapi.c:569 #, c-format msgid "type %s is not composite" msgstr "型%sは複合型ではありません" -#: executor/execExprInterp.c:2698 +#: executor/execExprInterp.c:2836 #, c-format msgid "WHERE CURRENT OF is not supported for this table type" msgstr "このタイプのテーブルではWHERE CURRENT OFをサポートしません" -#: executor/execExprInterp.c:2911 +#: executor/execExprInterp.c:3049 #, c-format msgid "cannot merge incompatible arrays" msgstr "互換性がない配列をマージできません" -#: executor/execExprInterp.c:2912 +#: executor/execExprInterp.c:3050 #, c-format msgid "Array with element type %s cannot be included in ARRAY construct with element type %s." msgstr "要素型%sの配列を要素型%sのARRAY式に含められません" -#: executor/execExprInterp.c:2933 utils/adt/arrayfuncs.c:1305 utils/adt/arrayfuncs.c:3496 utils/adt/arrayfuncs.c:5586 utils/adt/arrayfuncs.c:6103 utils/adt/arraysubs.c:150 utils/adt/arraysubs.c:488 +#: executor/execExprInterp.c:3071 utils/adt/arrayfuncs.c:1305 utils/adt/arrayfuncs.c:3515 utils/adt/arrayfuncs.c:5605 utils/adt/arrayfuncs.c:6122 utils/adt/arraysubs.c:150 utils/adt/arraysubs.c:488 #, c-format msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)" msgstr "配列の次数(%d)が上限(%d)を超えています" -#: executor/execExprInterp.c:2953 executor/execExprInterp.c:2988 +#: executor/execExprInterp.c:3091 executor/execExprInterp.c:3126 #, c-format msgid "multidimensional arrays must have array expressions with matching dimensions" msgstr "多次元配列の配列式の次数があっていなければなりません" -#: executor/execExprInterp.c:2965 utils/adt/array_expanded.c:274 utils/adt/arrayfuncs.c:335 utils/adt/arrayfuncs.c:494 utils/adt/arrayfuncs.c:727 utils/adt/arrayfuncs.c:1533 utils/adt/arrayfuncs.c:2341 utils/adt/arrayfuncs.c:2356 utils/adt/arrayfuncs.c:2618 utils/adt/arrayfuncs.c:2634 utils/adt/arrayfuncs.c:2942 utils/adt/arrayfuncs.c:2957 utils/adt/arrayfuncs.c:3298 utils/adt/arrayfuncs.c:3526 utils/adt/arrayfuncs.c:5358 utils/adt/arrayfuncs.c:6195 -#: utils/adt/arrayfuncs.c:6539 utils/adt/arrayutils.c:83 utils/adt/arrayutils.c:92 utils/adt/arrayutils.c:99 +#: executor/execExprInterp.c:3103 utils/adt/array_expanded.c:274 utils/adt/arrayfuncs.c:335 utils/adt/arrayfuncs.c:494 utils/adt/arrayfuncs.c:727 utils/adt/arrayfuncs.c:1533 utils/adt/arrayfuncs.c:2341 utils/adt/arrayfuncs.c:2356 utils/adt/arrayfuncs.c:2618 utils/adt/arrayfuncs.c:2634 utils/adt/arrayfuncs.c:2895 utils/adt/arrayfuncs.c:2949 utils/adt/arrayfuncs.c:2964 utils/adt/arrayfuncs.c:3305 utils/adt/arrayfuncs.c:3545 utils/adt/arrayfuncs.c:5377 +#: utils/adt/arrayfuncs.c:6214 utils/adt/arrayfuncs.c:6558 utils/adt/arrayutils.c:83 utils/adt/arrayutils.c:92 utils/adt/arrayutils.c:99 #, c-format msgid "array size exceeds the maximum allowed (%d)" msgstr "配列の次数が上限(%d)を超えています" -#: executor/execExprInterp.c:3213 executor/execExprInterp.c:3259 +#: executor/execExprInterp.c:3351 executor/execExprInterp.c:3397 #, c-format msgid "attribute %d has wrong type" msgstr "属性%dの型が間違っています" -#: executor/execExprInterp.c:3845 utils/adt/domains.c:158 +#: executor/execExprInterp.c:3983 utils/adt/domains.c:158 #, c-format msgid "domain %s does not allow null values" msgstr "ドメイン%sはnull値を許しません" -#: executor/execExprInterp.c:3860 utils/adt/domains.c:196 +#: executor/execExprInterp.c:3998 utils/adt/domains.c:196 #, c-format msgid "value for domain %s violates check constraint \"%s\"" msgstr "ドメイン%sの値が検査制約\"%s\"に違反しています" -#: executor/execExprInterp.c:4433 +#: executor/execExprInterp.c:4573 #, c-format msgid "no SQL/JSON item found for specified path of column \"%s\"" msgstr "列\"%s\"の指定されたパスに対応するSQL/JSON項目が見つかりません" -#: executor/execExprInterp.c:4438 +#: executor/execExprInterp.c:4578 #, c-format msgid "no SQL/JSON item found for specified path" msgstr "指定されたパスに対応するSQL/JSON項目が見つかりません" -#: executor/execExprInterp.c:4742 +#. translator: first %s is a SQL/JSON clause (e.g. ON ERROR) +#: executor/execExprInterp.c:4778 executor/execExprInterp.c:4786 +#, c-format +msgid "could not coerce %s expression (%s) to the RETURNING type" +msgstr "%s式(%s)をRETURNING型に強制変換できませんでした" + +#: executor/execExprInterp.c:4979 #, c-format msgid "Table row contains %d attribute, but query expects %d." msgid_plural "Table row contains %d attributes, but query expects %d." msgstr[0] "テーブル行には%d属性ありますが、問い合わせでは%dを想定しています。" -#: executor/execExprInterp.c:4858 executor/execSRF.c:977 +#: executor/execExprInterp.c:5095 executor/execSRF.c:977 #, c-format msgid "Physical storage mismatch on dropped attribute at ordinal position %d." msgstr "序数位置%dの削除された属性における物理格納形式が一致しません。" -#: executor/execIndexing.c:593 +#: executor/execIndexing.c:602 #, c-format msgid "ON CONFLICT does not support deferrable unique constraints/exclusion constraints as arbiters" msgstr "ON CONFLICT は遅延可なユニーク制約/排除制約の調停主体としての指定をサポートしません" -#: executor/execIndexing.c:870 +#: executor/execIndexing.c:905 #, c-format msgid "could not create exclusion constraint \"%s\"" msgstr "排除制約\"%s\"を作成できませんでした" -#: executor/execIndexing.c:873 +#: executor/execIndexing.c:908 #, c-format msgid "Key %s conflicts with key %s." msgstr "キー %s がキー %s と競合しています" -#: executor/execIndexing.c:875 +#: executor/execIndexing.c:910 #, c-format msgid "Key conflicts exist." msgstr "キーの競合が存在します" -#: executor/execIndexing.c:881 +#: executor/execIndexing.c:916 #, c-format msgid "conflicting key value violates exclusion constraint \"%s\"" msgstr "重複キーの値が排除制約\"%s\"に違反しています" -#: executor/execIndexing.c:884 +#: executor/execIndexing.c:919 #, c-format msgid "Key %s conflicts with existing key %s." msgstr "キー %s が既存のキー %s と競合しています" -#: executor/execIndexing.c:886 +#: executor/execIndexing.c:921 #, c-format msgid "Key conflicts with existing key." msgstr "キーが既存のキーと衝突しています" -#: executor/execMain.c:1041 +#: executor/execIndexing.c:1166 +#, c-format +msgid "empty WITHOUT OVERLAPS value found in column \"%s\" in relation \"%s\"" +msgstr "リレーション\"%2$s\"の列\"%1$s\"に空のWITHOUT OVERLAPS値が見つかりました" + +#: executor/execMain.c:1043 #, c-format msgid "cannot change sequence \"%s\"" msgstr "シーケンス\"%s\"を変更できません" -#: executor/execMain.c:1047 +#: executor/execMain.c:1049 #, c-format msgid "cannot change TOAST relation \"%s\"" msgstr "TOASTリレーション\"%s\"を変更できません" -#: executor/execMain.c:1066 +#: executor/execMain.c:1068 #, c-format msgid "cannot change materialized view \"%s\"" msgstr "実体化ビュー\"%s\"を変更できません" -#: executor/execMain.c:1078 +#: executor/execMain.c:1080 #, c-format msgid "cannot insert into foreign table \"%s\"" msgstr "外部テーブル\"%s\"への挿入ができません" -#: executor/execMain.c:1084 +#: executor/execMain.c:1086 #, c-format msgid "foreign table \"%s\" does not allow inserts" msgstr "外部テーブル\"%s\"は挿入を許しません" -#: executor/execMain.c:1091 +#: executor/execMain.c:1093 #, c-format msgid "cannot update foreign table \"%s\"" msgstr "外部テーブル \"%s\"の更新ができません" -#: executor/execMain.c:1097 +#: executor/execMain.c:1099 #, c-format msgid "foreign table \"%s\" does not allow updates" msgstr "外部テーブル\"%s\"は更新を許しません" -#: executor/execMain.c:1104 +#: executor/execMain.c:1106 #, c-format msgid "cannot delete from foreign table \"%s\"" msgstr "外部テーブル\"%s\"からの削除ができません" -#: executor/execMain.c:1110 +#: executor/execMain.c:1112 #, c-format msgid "foreign table \"%s\" does not allow deletes" msgstr "外部テーブル\"%s\"は削除を許しません" -#: executor/execMain.c:1121 +#: executor/execMain.c:1123 #, c-format msgid "cannot change relation \"%s\"" msgstr "リレーション\"%s\"を変更できません" -#: executor/execMain.c:1148 +#: executor/execMain.c:1150 #, c-format msgid "cannot lock rows in sequence \"%s\"" msgstr "シーケンス\"%s\"では行のロックはできません" -#: executor/execMain.c:1155 +#: executor/execMain.c:1157 #, c-format msgid "cannot lock rows in TOAST relation \"%s\"" msgstr "TOAST リレーション\"%s\"では行のロックはできません" -#: executor/execMain.c:1162 +#: executor/execMain.c:1164 #, c-format msgid "cannot lock rows in view \"%s\"" msgstr "ビュー\"%s\"では行のロックはできません" -#: executor/execMain.c:1170 +#: executor/execMain.c:1172 #, c-format msgid "cannot lock rows in materialized view \"%s\"" msgstr "実体化ビュー\"%s\"では行のロックはできません" -#: executor/execMain.c:1179 executor/execMain.c:2684 executor/nodeLockRows.c:135 +#: executor/execMain.c:1181 executor/execMain.c:2688 executor/nodeLockRows.c:135 #, c-format msgid "cannot lock rows in foreign table \"%s\"" msgstr "外部テーブル\"%s\"では行のロックはできません" -#: executor/execMain.c:1185 +#: executor/execMain.c:1187 #, c-format msgid "cannot lock rows in relation \"%s\"" msgstr "リレーション\"%s\"では行のロックはできません" -#: executor/execMain.c:1898 +#: executor/execMain.c:1902 #, c-format msgid "new row for relation \"%s\" violates partition constraint" msgstr "リレーション\"%s\"の新しい行はパーティション制約に違反しています" -#: executor/execMain.c:1900 executor/execMain.c:1984 executor/execMain.c:2035 executor/execMain.c:2145 +#: executor/execMain.c:1904 executor/execMain.c:1988 executor/execMain.c:2039 executor/execMain.c:2149 #, c-format msgid "Failing row contains %s." msgstr "失敗した行は%sを含みます" -#: executor/execMain.c:1981 +#: executor/execMain.c:1985 #, c-format msgid "null value in column \"%s\" of relation \"%s\" violates not-null constraint" msgstr "リレーション\"%2$s\"の列\"%1$s\"のNULL値が非NULL制約に違反しています" -#: executor/execMain.c:2033 +#: executor/execMain.c:2037 #, c-format msgid "new row for relation \"%s\" violates check constraint \"%s\"" msgstr "リレーション\"%s\"の新しい行は検査制約\"%s\"に違反しています" -#: executor/execMain.c:2143 +#: executor/execMain.c:2147 #, c-format msgid "new row violates check option for view \"%s\"" msgstr "新しい行はビュー\"%s\"のチェックオプションに違反しています" -#: executor/execMain.c:2153 +#: executor/execMain.c:2157 #, c-format msgid "new row violates row-level security policy \"%s\" for table \"%s\"" msgstr "新しい行はテーブル\"%2$s\"行レベルセキュリティポリシ\"%1$s\"に違反しています" -#: executor/execMain.c:2158 +#: executor/execMain.c:2162 #, c-format msgid "new row violates row-level security policy for table \"%s\"" msgstr "新しい行はテーブル\"%s\"の行レベルセキュリティポリシに違反しています" -#: executor/execMain.c:2166 +#: executor/execMain.c:2170 #, c-format msgid "target row violates row-level security policy \"%s\" (USING expression) for table \"%s\"" msgstr "ターゲットの行はテーブル\"%s\"の行レベルセキュリティポリシ\"%s\"(USING式)に違反しています" -#: executor/execMain.c:2171 +#: executor/execMain.c:2175 #, c-format msgid "target row violates row-level security policy (USING expression) for table \"%s\"" msgstr "ターゲットの行はテーブル\"%s\"の行レベルセキュリティポリシ(USING式)に違反しています" -#: executor/execMain.c:2178 +#: executor/execMain.c:2182 #, c-format msgid "new row violates row-level security policy \"%s\" (USING expression) for table \"%s\"" msgstr "新しい行はテーブル\"%1$s\"の行レベルセキュリティポリシ\"%2$s\"(USING式)に違反しています" -#: executor/execMain.c:2183 +#: executor/execMain.c:2187 #, c-format msgid "new row violates row-level security policy (USING expression) for table \"%s\"" msgstr "新しい行はテーブル\"%s\"の行レベルセキュリティポリシ(USING式)に違反しています" @@ -13370,67 +13447,62 @@ msgstr "行に対応するパーティションがリレーション\"%s\"に見 msgid "Partition key of the failing row contains %s." msgstr "失敗した行のパーティションキーは%sを含みます。" -#: executor/execReplication.c:272 executor/execReplication.c:456 +#: executor/execReplication.c:190 #, c-format msgid "tuple to be locked was already moved to another partition due to concurrent update, retrying" msgstr "ロック対象のタプルは同時に行われた更新によって他の子テーブルに移動されています、再試行しています" -#: executor/execReplication.c:276 executor/execReplication.c:460 +#: executor/execReplication.c:194 #, c-format msgid "concurrent update, retrying" msgstr "同時更新がありました、リトライします" -#: executor/execReplication.c:282 executor/execReplication.c:466 +#: executor/execReplication.c:201 #, c-format msgid "concurrent delete, retrying" msgstr "並行する削除がありました、リトライします" -#: executor/execReplication.c:352 parser/parse_cte.c:302 parser/parse_oper.c:221 utils/adt/array_userfuncs.c:1334 utils/adt/array_userfuncs.c:1477 utils/adt/arrayfuncs.c:3845 utils/adt/arrayfuncs.c:4400 utils/adt/arrayfuncs.c:6419 utils/adt/rowtypes.c:1220 -#, c-format -msgid "could not identify an equality operator for type %s" -msgstr "型%sの等価演算子を特定できませんでした" - -#: executor/execReplication.c:683 executor/execReplication.c:689 +#: executor/execReplication.c:803 executor/execReplication.c:809 #, c-format msgid "cannot update table \"%s\"" msgstr "テーブル\"%s\"の更新ができません" -#: executor/execReplication.c:685 executor/execReplication.c:697 +#: executor/execReplication.c:805 executor/execReplication.c:817 #, c-format msgid "Column used in the publication WHERE expression is not part of the replica identity." msgstr "このパブリケーションのWHERE式で使用されている列は識別列の一部ではありません。" -#: executor/execReplication.c:691 executor/execReplication.c:703 +#: executor/execReplication.c:811 executor/execReplication.c:823 #, c-format msgid "Column list used by the publication does not cover the replica identity." msgstr "このパブリケーションで使用されてる列リストは識別列を包含していません。" -#: executor/execReplication.c:695 executor/execReplication.c:701 +#: executor/execReplication.c:815 executor/execReplication.c:821 #, c-format msgid "cannot delete from table \"%s\"" msgstr "テーブル\"%s\"からの削除ができません" -#: executor/execReplication.c:721 +#: executor/execReplication.c:841 #, c-format msgid "cannot update table \"%s\" because it does not have a replica identity and publishes updates" msgstr "テーブル\"%s\"は複製識別を持たずかつ更新をパブリッシュしているため、更新できません" -#: executor/execReplication.c:723 +#: executor/execReplication.c:843 #, c-format msgid "To enable updating the table, set REPLICA IDENTITY using ALTER TABLE." msgstr "テーブルの更新を可能にするには ALTER TABLE で REPLICA IDENTITY を設定してください。" -#: executor/execReplication.c:727 +#: executor/execReplication.c:847 #, c-format msgid "cannot delete from table \"%s\" because it does not have a replica identity and publishes deletes" msgstr "テーブル\"%s\"は複製識別がなくかつ削除をパブリッシュしているため、このテーブルでは行の削除ができません" -#: executor/execReplication.c:729 +#: executor/execReplication.c:849 #, c-format msgid "To enable deleting from the table, set REPLICA IDENTITY using ALTER TABLE." msgstr "このテーブルでの行削除を可能にするには ALTER TABLE で REPLICA IDENTITY を設定してください。" -#: executor/execReplication.c:745 +#: executor/execReplication.c:865 #, c-format msgid "cannot use relation \"%s.%s\" as logical replication target" msgstr "リレーション\"%s.%s\"は論理レプリケーション先としては使用できません" @@ -13491,12 +13563,12 @@ msgstr "このタイプのタプルのトランザクション情報は持たな msgid "don't have a storage tuple in this context" msgstr "この文脈ではストレージタプルを保持しないでください" -#: executor/execUtils.c:713 +#: executor/execUtils.c:715 #, c-format msgid "materialized view \"%s\" has not been populated" msgstr "実体化ビュー\"%s\"にはデータが格納されていません" -#: executor/execUtils.c:715 +#: executor/execUtils.c:717 #, c-format msgid "Use the REFRESH MATERIALIZED VIEW command." msgstr "REFRESH MATERIALIZED VIEWコマンドを使用してください。" @@ -13506,84 +13578,84 @@ msgstr "REFRESH MATERIALIZED VIEWコマンドを使用してください。" msgid "could not determine actual type of argument declared %s" msgstr "%sと宣言された引数の型を特定できませんでした" -#: executor/functions.c:512 +#: executor/functions.c:513 #, c-format msgid "cannot COPY to/from client in an SQL function" msgstr "SQL関数の中ではCOPY文によるクライアントとの間の入出力はできません" #. translator: %s is a SQL statement name -#: executor/functions.c:518 +#: executor/functions.c:519 #, c-format msgid "%s is not allowed in an SQL function" msgstr "SQL関数では%sは使用不可です" #. translator: %s is a SQL statement name -#: executor/functions.c:526 executor/spi.c:1741 executor/spi.c:2649 +#: executor/functions.c:527 executor/spi.c:1744 executor/spi.c:2657 #, c-format msgid "%s is not allowed in a non-volatile function" msgstr "volatile関数以外では%sは許可されません" -#: executor/functions.c:1451 +#: executor/functions.c:1452 #, c-format msgid "SQL function \"%s\" statement %d" msgstr "SQL関数\"%s\"の行番号 %d" -#: executor/functions.c:1477 +#: executor/functions.c:1478 #, c-format msgid "SQL function \"%s\" during startup" msgstr "SQL関数\"%s\"の起動中" -#: executor/functions.c:1562 +#: executor/functions.c:1563 #, c-format msgid "calling procedures with output arguments is not supported in SQL functions" msgstr "出力引数を持つプロシージャの呼び出しはSQL関数ではサポートされていません" -#: executor/functions.c:1697 executor/functions.c:1735 executor/functions.c:1749 executor/functions.c:1844 executor/functions.c:1877 executor/functions.c:1891 +#: executor/functions.c:1698 executor/functions.c:1736 executor/functions.c:1750 executor/functions.c:1845 executor/functions.c:1878 executor/functions.c:1892 #, c-format msgid "return type mismatch in function declared to return %s" msgstr "%sを返すと宣言された関数において戻り値型が一致しません" -#: executor/functions.c:1699 +#: executor/functions.c:1700 #, c-format msgid "Function's final statement must be SELECT or INSERT/UPDATE/DELETE/MERGE RETURNING." msgstr "関数中の最後の文はSELECTまたはINSERT/UPDATE/DELETE/MERGE RETURNING のいずれかである必要があります。" -#: executor/functions.c:1737 +#: executor/functions.c:1738 #, c-format msgid "Final statement must return exactly one column." msgstr "最後のステートメントはちょうど1列を返さなければなりません。" -#: executor/functions.c:1751 +#: executor/functions.c:1752 #, c-format msgid "Actual return type is %s." msgstr "実際の戻り値型は%sです。" -#: executor/functions.c:1846 +#: executor/functions.c:1847 #, c-format msgid "Final statement returns too many columns." msgstr "最後のステートメントが返す列が多すぎます。" -#: executor/functions.c:1879 +#: executor/functions.c:1880 #, c-format msgid "Final statement returns %s instead of %s at column %d." msgstr "最後のステートメントが列%3$dで%2$sではなく%1$sを返しました。" -#: executor/functions.c:1893 +#: executor/functions.c:1894 #, c-format msgid "Final statement returns too few columns." msgstr "最後のステートメントが返す列が少なすぎます。" -#: executor/functions.c:1921 +#: executor/functions.c:1922 #, c-format msgid "return type %s is not supported for SQL functions" msgstr "戻り値型%sはSQL関数でサポートされていません" -#: executor/nodeAgg.c:3936 executor/nodeWindowAgg.c:2976 +#: executor/nodeAgg.c:3936 executor/nodeWindowAgg.c:3042 #, c-format msgid "aggregate %u needs to have compatible input type and transition type" msgstr "集約%uは入力データ型と遷移用の型間で互換性が必要です" -#: executor/nodeAgg.c:3966 parser/parse_agg.c:682 parser/parse_agg.c:710 +#: executor/nodeAgg.c:3966 parser/parse_agg.c:685 parser/parse_agg.c:713 #, c-format msgid "aggregate function calls cannot be nested" msgstr "集約関数の呼び出しを入れ子にすることはできません" @@ -13593,7 +13665,7 @@ msgstr "集約関数の呼び出しを入れ子にすることはできません msgid "custom scan \"%s\" does not support MarkPos" msgstr "カスタムスキャン\"%s\"はMarkPosをサポートしていません" -#: executor/nodeHashjoin.c:1130 executor/nodeHashjoin.c:1160 +#: executor/nodeHashjoin.c:1230 executor/nodeHashjoin.c:1260 #, c-format msgid "could not rewind hash-join temporary file" msgstr "ハッシュ結合用一時ファイルを巻き戻せませんでした" @@ -13613,73 +13685,73 @@ msgstr "OFFSET は負数であってはなりません" msgid "LIMIT must not be negative" msgstr "LIMIT は負数であってはなりません" -#: executor/nodeMergejoin.c:1578 +#: executor/nodeMergejoin.c:1574 #, c-format msgid "RIGHT JOIN is only supported with merge-joinable join conditions" msgstr "RIGHT JOINはマージ結合可能な結合条件でのみサポートされています" -#: executor/nodeMergejoin.c:1596 +#: executor/nodeMergejoin.c:1592 #, c-format msgid "FULL JOIN is only supported with merge-joinable join conditions" msgstr "FULL JOINはマージ結合可能な結合条件でのみサポートされています" -#: executor/nodeModifyTable.c:231 +#: executor/nodeModifyTable.c:240 #, c-format msgid "Query has too few columns." msgstr "問い合わせの列が少なすぎます。" -#: executor/nodeModifyTable.c:1531 executor/nodeModifyTable.c:1605 +#: executor/nodeModifyTable.c:1543 executor/nodeModifyTable.c:1617 #, c-format msgid "tuple to be deleted was already modified by an operation triggered by the current command" msgstr "削除対象のタプルはすでに現在のコマンドによって引き起こされた操作によって変更されています" -#: executor/nodeModifyTable.c:1760 +#: executor/nodeModifyTable.c:1772 #, c-format msgid "invalid ON UPDATE specification" msgstr "不正な ON UPDATE 指定です" -#: executor/nodeModifyTable.c:1761 +#: executor/nodeModifyTable.c:1773 #, c-format msgid "The result tuple would appear in a different partition than the original tuple." msgstr "結果タプルをもとのパーティションではなく異なるパーティションに追加しようとしました。" -#: executor/nodeModifyTable.c:2217 +#: executor/nodeModifyTable.c:2229 #, 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:2218 +#: executor/nodeModifyTable.c:2230 #, c-format msgid "A foreign key points to ancestor \"%s\" but not the root ancestor \"%s\"." msgstr "外部キーがパーティションルートテーブル\"%2$s\"ではなくパーティション親テーブル\"%1$s\"を指しています。" -#: executor/nodeModifyTable.c:2221 +#: executor/nodeModifyTable.c:2233 #, c-format msgid "Consider defining the foreign key on table \"%s\"." msgstr "テーブル\"%s\"上に外部キー制約を定義することを検討してください。" #. translator: %s is a SQL command name -#: executor/nodeModifyTable.c:2567 executor/nodeModifyTable.c:3081 executor/nodeModifyTable.c:3242 +#: executor/nodeModifyTable.c:2599 executor/nodeModifyTable.c:3141 executor/nodeModifyTable.c:3311 #, c-format msgid "%s command cannot affect row a second time" msgstr "%sコマンドは単一の行に2度は適用できません" -#: executor/nodeModifyTable.c:2569 +#: executor/nodeModifyTable.c:2601 #, c-format msgid "Ensure that no rows proposed for insertion within the same command have duplicate constrained values." msgstr "同じコマンドでの挿入候補の行が同じ制約値を持つことがないようにしてください" -#: executor/nodeModifyTable.c:3074 executor/nodeModifyTable.c:3235 +#: executor/nodeModifyTable.c:3134 executor/nodeModifyTable.c:3304 #, c-format msgid "tuple to be updated or deleted was already modified by an operation triggered by the current command" msgstr "更新または削除対象のタプルは、現在のコマンドによって発火した操作トリガーによってすでに更新されています" -#: executor/nodeModifyTable.c:3083 executor/nodeModifyTable.c:3244 +#: executor/nodeModifyTable.c:3143 executor/nodeModifyTable.c:3313 #, c-format msgid "Ensure that not more than one source row matches any one target row." msgstr "ソース行が2行以上ターゲット行に合致しないようにしてください。" -#: executor/nodeModifyTable.c:3152 +#: executor/nodeModifyTable.c:3212 #, c-format msgid "tuple to be merged was already moved to another partition due to concurrent update" msgstr "マージ対象のタプルは同時に行われた更新によってすでに他の子テーブルに移動されています" @@ -13694,7 +13766,7 @@ msgstr "TABLESAMPLEパラメータにnullは指定できません" 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:317 executor/nodeSubplan.c:343 executor/nodeSubplan.c:397 executor/nodeSubplan.c:1165 #, c-format msgid "more than one row returned by a subquery used as an expression" msgstr "式として使用された副問い合わせが2行以上の行を返しました" @@ -13729,27 +13801,27 @@ msgstr "列\"%s\"でnullは許可されません" msgid "moving-aggregate transition function must not return null" msgstr "移動集約の推移関数はnullを返却してはなりません" -#: executor/nodeWindowAgg.c:2083 +#: executor/nodeWindowAgg.c:2106 #, c-format msgid "frame starting offset must not be null" msgstr "フレームの開始オフセットは NULL であってはなりません" -#: executor/nodeWindowAgg.c:2096 +#: executor/nodeWindowAgg.c:2120 #, c-format msgid "frame starting offset must not be negative" msgstr "フレームの開始オフセットは負数であってはなりません" -#: executor/nodeWindowAgg.c:2108 +#: executor/nodeWindowAgg.c:2133 #, c-format msgid "frame ending offset must not be null" msgstr "フレームの終了オフセットは NULL であってはなりません" -#: executor/nodeWindowAgg.c:2121 +#: executor/nodeWindowAgg.c:2147 #, c-format msgid "frame ending offset must not be negative" msgstr "フレームの終了オフセットは負数であってはなりません" -#: executor/nodeWindowAgg.c:2892 +#: executor/nodeWindowAgg.c:2958 #, c-format msgid "aggregate function %s does not support use as a window function" msgstr "集約関数 %s はウィンドウ関数としての使用をサポートしていません" @@ -13784,49 +13856,49 @@ msgstr "\"SPI_finish\"呼出の抜けを確認ください" msgid "subtransaction left non-empty SPI stack" msgstr "サブトランザクションが空でないSPIスタックを残しました" -#: executor/spi.c:1599 +#: executor/spi.c:1602 #, c-format msgid "cannot open multi-query plan as cursor" msgstr "カーソルにマルチクエリの実行計画を開くことができません" #. translator: %s is name of a SQL command, eg INSERT -#: executor/spi.c:1609 +#: executor/spi.c:1612 #, c-format msgid "cannot open %s query as cursor" msgstr "カーソルで%s問い合わせを開くことができません" -#: executor/spi.c:1715 +#: executor/spi.c:1718 #, c-format msgid "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE is not supported" msgstr "DECLARE SCROLL CURSOR ... FOR UPDATE/SHAREはサポートされていません" -#: executor/spi.c:1716 parser/analyze.c:2928 +#: executor/spi.c:1719 parser/analyze.c:3020 #, c-format msgid "Scrollable cursors must be READ ONLY." msgstr "スクロール可能カーソルは読み取り専用である必要があります。" -#: executor/spi.c:2488 +#: executor/spi.c:2496 #, c-format msgid "empty query does not return tuples" msgstr "空の問い合わせは結果を返却しません" #. translator: %s is name of a SQL command, eg INSERT -#: executor/spi.c:2562 +#: executor/spi.c:2570 #, c-format msgid "%s query does not return tuples" msgstr "%s問い合わせがタプルを返しません" -#: executor/spi.c:2979 +#: executor/spi.c:2987 #, c-format -msgid "SQL expression \"%s\"" -msgstr "SQL関数\"%s\"" +msgid "PL/pgSQL expression \"%s\"" +msgstr "PL/pgSQL式 \"%s\"" -#: executor/spi.c:2984 +#: executor/spi.c:2992 #, c-format msgid "PL/pgSQL assignment \"%s\"" msgstr "PL/pgSQL代入\"%s\"" -#: executor/spi.c:2987 +#: executor/spi.c:2995 #, c-format msgid "SQL statement \"%s\"" msgstr "SQL文 \"%s\"" @@ -13836,413 +13908,403 @@ msgstr "SQL文 \"%s\"" msgid "could not send tuple to shared-memory queue" msgstr "共有メモリキューにタプルを送出できませんでした" -#: foreign/foreign.c:224 +#: foreign/foreign.c:225 #, c-format msgid "user mapping not found for user \"%s\", server \"%s\"" msgstr "ユーザー\"%s\"、サーバー\"%s\"に対するユーザーマッピングが見つかりません" -#: foreign/foreign.c:650 +#: foreign/foreign.c:336 optimizer/plan/createplan.c:7229 optimizer/util/plancat.c:539 +#, c-format +msgid "access to non-system foreign table is restricted" +msgstr "非システムの外部テーブルへのアクセスは制限されています" + +#: foreign/foreign.c:660 #, c-format msgid "invalid option \"%s\"" msgstr "不正なオプション\"%s\"" -#: foreign/foreign.c:652 +#: foreign/foreign.c:662 #, c-format msgid "Perhaps you meant the option \"%s\"." msgstr "おそらくオプション\"%s\"なのではないでしょうか。" -#: foreign/foreign.c:654 +#: foreign/foreign.c:664 #, c-format msgid "There are no valid options in this context." msgstr "このコンテクストで有効なオプションはありません。" -#: gram.y:1234 +#: gram.y:1215 #, c-format msgid "UNENCRYPTED PASSWORD is no longer supported" msgstr "UNENCRYPTED PASSWORD は今後サポートされません" -#: gram.y:1235 +#: gram.y:1216 #, c-format msgid "Remove UNENCRYPTED to store the password in encrypted form instead." msgstr "UNENCRYPTED を削除してください。そうすれば替わりにパスワードを暗号化形式で格納します。" -#: gram.y:1562 gram.y:1578 +#: gram.y:1543 gram.y:1559 #, c-format msgid "CREATE SCHEMA IF NOT EXISTS cannot include schema elements" msgstr "CREATE SCHEMA IF NOT EXISTSにはスキーマ要素を含めることはできません" -#: gram.y:1730 +#: gram.y:1720 #, c-format msgid "current database cannot be changed" msgstr "現在のデータベースを変更できません" -#: gram.y:1863 +#: gram.y:1861 #, c-format msgid "time zone interval must be HOUR or HOUR TO MINUTE" msgstr "タイムゾーンの間隔はHOURまたはHOUR TO MINUTEでなければなりません" -#: gram.y:2539 +#: gram.y:2493 #, c-format msgid "column number must be in range from 1 to %d" msgstr "列番号は1から%dまでの範囲でなければなりません" -#: gram.y:3135 +#: gram.y:3089 #, c-format msgid "sequence option \"%s\" not supported here" msgstr "シーケンスのオプション\"%s\"はここではサポートされていません" -#: gram.y:3174 +#: gram.y:3128 #, c-format msgid "modulus for hash partition provided more than once" msgstr "ハッシュパーティションで法(除数)が2回以上指定されています" -#: gram.y:3183 +#: gram.y:3137 #, c-format msgid "remainder for hash partition provided more than once" msgstr "ハッシュパーティションで剰余が2回以上指定されています" -#: gram.y:3190 +#: gram.y:3144 #, c-format msgid "unrecognized hash partition bound specification \"%s\"" msgstr "ハッシュパーティションの境界条件\"%s\"が認識できません" -#: gram.y:3198 +#: gram.y:3152 #, c-format msgid "modulus for hash partition must be specified" msgstr "ハッシュパーティションでは法(除数)の指定が必要です" -#: gram.y:3202 +#: gram.y:3157 #, c-format msgid "remainder for hash partition must be specified" msgstr "ハッシュパーティションでは剰余の指定が必要です" -#: gram.y:3410 gram.y:3444 +#: gram.y:3366 gram.y:3401 #, c-format msgid "STDIN/STDOUT not allowed with PROGRAM" msgstr "STDIN/STDOUTはPROGRAMと同時に使用できません" -#: gram.y:3416 +#: gram.y:3372 #, c-format msgid "WHERE clause not allowed with COPY TO" msgstr "COPY TO で WHERE 句は使用できません" -#: gram.y:3764 gram.y:3771 gram.y:13068 gram.y:13076 +#: gram.y:3721 gram.y:3728 gram.y:13086 gram.y:13094 #, c-format msgid "GLOBAL is deprecated in temporary table creation" msgstr "一時テーブル作成におけるGLOBALは廃止予定です" -#: gram.y:4047 +#: gram.y:4007 #, c-format msgid "for a generated column, GENERATED ALWAYS must be specified" msgstr "生成カラムに対しては GENERATED ALWAYS の指定が必須です" -#: gram.y:4392 utils/adt/ri_triggers.c:2103 +#: gram.y:4393 utils/adt/ri_triggers.c:2180 #, c-format msgid "MATCH PARTIAL not yet implemented" msgstr "MMATCH PARTIAL はまだ実装されていません" -#: gram.y:4484 +#: gram.y:4485 #, c-format msgid "a column list with %s is only supported for ON DELETE actions" msgstr "%sが指定された列リストはON DELETEのアクションに対してのみサポートされます" -#: gram.y:5196 +#: gram.y:5204 #, c-format msgid "CREATE EXTENSION ... FROM is no longer supported" msgstr "CREATE EXTENSION ... FROM はすでにサポートされていません" -#: gram.y:5894 +#: gram.y:5902 #, c-format msgid "unrecognized row security option \"%s\"" msgstr "認識できない行セキュリティオプション \"%s\"" -#: gram.y:5895 +#: gram.y:5903 #, c-format msgid "Only PERMISSIVE or RESTRICTIVE policies are supported currently." msgstr "現時点ではPERMISSIVEもしくはRESTRICTIVEポリシのみがサポートされています" -#: gram.y:5980 +#: gram.y:5988 #, c-format msgid "CREATE OR REPLACE CONSTRAINT TRIGGER is not supported" msgstr "CREATE OR REPLACE CONSTRAINT TRIGGERはサポートされません" -#: gram.y:6017 +#: gram.y:6026 msgid "duplicate trigger events specified" msgstr "重複したトリガーイベントが指定されました" -#: gram.y:6159 parser/parse_utilcmd.c:3839 parser/parse_utilcmd.c:3865 +#: gram.y:6168 parser/parse_utilcmd.c:3912 parser/parse_utilcmd.c:3938 #, c-format msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE" msgstr "INITIALLY DEFERREDと宣言された制約はDEFERRABLEでなければなりません" -#: gram.y:6166 +#: gram.y:6175 #, c-format msgid "conflicting constraint properties" msgstr "制約属性の競合" -#: gram.y:6265 +#: gram.y:6274 #, c-format msgid "CREATE ASSERTION is not yet implemented" msgstr "CREATE ASSERTIONはまだ実装されていません" -#: gram.y:6582 +#: gram.y:6592 #, c-format msgid "dropping an enum value is not implemented" msgstr "列挙型の値の削除は実装されていません" -#: gram.y:6700 -#, c-format -msgid "RECHECK is no longer required" -msgstr "RECHECK はもはや必要とされません" - -#: gram.y:6701 -#, c-format -msgid "Update your data type." -msgstr "データ型を更新してください" - -#: gram.y:8574 +#: gram.y:8571 #, c-format msgid "aggregates cannot have output arguments" msgstr "集約は出力の引数を持つことができません" -#: gram.y:9037 utils/adt/regproc.c:670 +#: gram.y:9035 utils/adt/regproc.c:670 #, c-format msgid "missing argument" msgstr "引数が足りません" -#: gram.y:9038 utils/adt/regproc.c:671 +#: gram.y:9036 utils/adt/regproc.c:671 #, c-format msgid "Use NONE to denote the missing argument of a unary operator." msgstr "単項演算子の存在しない引数を表すにはNONEを使用してください。" -#: gram.y:11266 gram.y:11285 +#: gram.y:11264 gram.y:11283 #, c-format msgid "WITH CHECK OPTION not supported on recursive views" msgstr "WITH CHECK OPTIONは再帰ビューではサポートされていません" -#: gram.y:13207 +#: gram.y:13233 #, c-format msgid "LIMIT #,# syntax is not supported" msgstr "LIMIT #,#構文は実装されていません" -#: gram.y:13208 +#: gram.y:13234 #, c-format msgid "Use separate LIMIT and OFFSET clauses." msgstr "分割してLIMITとOFFSET句を使用してください" -#: gram.y:14083 +#: gram.y:14122 #, c-format msgid "only one DEFAULT value is allowed" msgstr "DEFAULT値は一つだけ指定可能です" -#: gram.y:14092 +#: gram.y:14131 #, c-format msgid "only one PATH value per column is allowed" msgstr "列一つにつきPATH値は一つだけ指定可能です" -#: gram.y:14101 +#: gram.y:14140 #, c-format msgid "conflicting or redundant NULL / NOT NULL declarations for column \"%s\"" msgstr "列\"%s\"でNULL / NOT NULL宣言が衝突しているか重複しています" -#: gram.y:14110 +#: gram.y:14149 #, c-format msgid "unrecognized column option \"%s\"" msgstr "認識できない列オプション \"%s\"" -#: gram.y:14192 +#: gram.y:14231 #, c-format msgid "only string constants are supported in JSON_TABLE path specification" msgstr "JSON_TABLEパス指定では文字列定数のみがサポートされます" -#: gram.y:14514 +#: gram.y:14553 #, c-format msgid "precision for type float must be at least 1 bit" msgstr "浮動小数点数の型の精度は最低でも1ビット必要です" -#: gram.y:14523 +#: gram.y:14562 #, c-format msgid "precision for type float must be less than 54 bits" msgstr "浮動小数点型の精度は54ビットより低くなければなりません" -#: gram.y:15040 +#: gram.y:15079 #, c-format msgid "wrong number of parameters on left side of OVERLAPS expression" msgstr "OVERLAPS式の左辺のパラメータ数が間違っています" -#: gram.y:15045 +#: gram.y:15084 #, c-format msgid "wrong number of parameters on right side of OVERLAPS expression" msgstr "OVERLAPS式の右辺のパラメータ数が間違っています" -#: gram.y:15222 +#: gram.y:15261 #, c-format msgid "UNIQUE predicate is not yet implemented" msgstr "UNIQUE 述部はまだ実装されていません" -#: gram.y:15636 +#: gram.y:15675 #, c-format msgid "cannot use multiple ORDER BY clauses with WITHIN GROUP" msgstr "複数のORDER BY句はWITHIN GROUPと一緒には使用できません" -#: gram.y:15641 +#: gram.y:15680 #, c-format msgid "cannot use DISTINCT with WITHIN GROUP" msgstr "DISTINCT は WITHIN GROUP と同時には使えません" -#: gram.y:15646 +#: gram.y:15685 #, c-format msgid "cannot use VARIADIC with WITHIN GROUP" msgstr "VARIADIC は WITHIN GROUP と同時には使えません" -#: gram.y:16373 gram.y:16397 +#: gram.y:16412 gram.y:16436 #, c-format msgid "frame start cannot be UNBOUNDED FOLLOWING" msgstr "フレームの開始は UNBOUNDED FOLLOWING であってはなりません" -#: gram.y:16378 +#: gram.y:16417 #, c-format msgid "frame starting from following row cannot end with current row" msgstr "次の行から始まるフレームは、現在行では終了できません" -#: gram.y:16402 +#: gram.y:16441 #, c-format msgid "frame end cannot be UNBOUNDED PRECEDING" msgstr "フレームの終了は UNBOUNDED PRECEDING であってはなりません" -#: gram.y:16408 +#: gram.y:16447 #, c-format msgid "frame starting from current row cannot have preceding rows" msgstr "現在行から始まるフレームは、先行する行を含むことができません" -#: gram.y:16415 +#: gram.y:16454 #, c-format msgid "frame starting from following row cannot have preceding rows" msgstr "次の行から始まるフレームは、先行する行を含むことができません" -#: gram.y:16964 +#: gram.y:17003 #, c-format msgid "unrecognized JSON encoding: %s" msgstr "不明なJSON符号化方式: \"%s\"" -#: gram.y:17288 +#: gram.y:17328 #, c-format msgid "type modifier cannot have parameter name" msgstr "型修正子はパラメータ名を持つことはできません" -#: gram.y:17294 +#: gram.y:17334 #, c-format msgid "type modifier cannot have ORDER BY" msgstr "型修正子はORDER BYを持つことはできません" -#: gram.y:17362 gram.y:17369 gram.y:17376 +#: gram.y:17402 gram.y:17409 gram.y:17416 #, c-format msgid "%s cannot be used as a role name here" msgstr "%sはここではロール名として使用できません" -#: gram.y:17466 gram.y:18955 +#: gram.y:17506 gram.y:19031 #, c-format msgid "WITH TIES cannot be specified without ORDER BY clause" msgstr "WITH TIESはORDER BY句なしでは指定できません" -#: gram.y:18646 gram.y:18821 +#: gram.y:18724 gram.y:18899 msgid "improper use of \"*\"" msgstr "\"*\"の使い方が不適切です" -#: gram.y:18784 gram.y:18801 tsearch/spell.c:963 tsearch/spell.c:980 tsearch/spell.c:997 tsearch/spell.c:1014 tsearch/spell.c:1079 +#: gram.y:18862 gram.y:18879 tsearch/spell.c:963 tsearch/spell.c:980 tsearch/spell.c:997 tsearch/spell.c:1014 tsearch/spell.c:1079 #, c-format msgid "syntax error" msgstr "構文エラー" -#: gram.y:18885 +#: gram.y:18963 #, 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:18922 +#: gram.y:19000 #, c-format msgid "multiple ORDER BY clauses not allowed" msgstr "複数のORDER BY句は使用できません" -#: gram.y:18933 +#: gram.y:19011 #, c-format msgid "multiple OFFSET clauses not allowed" msgstr "複数のOFFSET句は使用できません" -#: gram.y:18942 +#: gram.y:19020 #, c-format msgid "multiple LIMIT clauses not allowed" msgstr "複数のLIMIT句は使用できません" -#: gram.y:18951 -#, c-format -msgid "multiple limit options not allowed" -msgstr "複数のLIMITオプションは使用できません" - -#: gram.y:18978 +#: gram.y:19056 #, c-format msgid "multiple WITH clauses not allowed" msgstr "複数の WITH 句は使用できません" -#: gram.y:19171 +#: gram.y:19253 #, c-format msgid "OUT and INOUT arguments aren't allowed in TABLE functions" msgstr "テーブル関数では OUT と INOUT 引数は使用できません" -#: gram.y:19304 +#: gram.y:19387 #, c-format msgid "multiple COLLATE clauses not allowed" msgstr "複数の COLLATE 句は使用できません" #. translator: %s is CHECK, UNIQUE, or similar -#: gram.y:19342 gram.y:19355 +#: gram.y:19425 gram.y:19438 #, c-format msgid "%s constraints cannot be marked DEFERRABLE" msgstr "%s制約は遅延可能にはできません" #. translator: %s is CHECK, UNIQUE, or similar -#: gram.y:19368 +#: gram.y:19451 #, c-format msgid "%s constraints cannot be marked NOT VALID" msgstr "%s制約をNOT VALIDとマークすることはできません" #. translator: %s is CHECK, UNIQUE, or similar -#: gram.y:19381 +#: gram.y:19464 #, c-format msgid "%s constraints cannot be marked NO INHERIT" msgstr "%s制約をNO INHERITをマークすることはできません" -#: gram.y:19403 +#: gram.y:19486 #, c-format msgid "unrecognized partitioning strategy \"%s\"" msgstr "識別できないパーティションストラテジ \"%s\"" -#: gram.y:19427 +#: gram.y:19510 #, c-format msgid "invalid publication object list" msgstr "不正なパブリケーションオブジェクトリスト" -#: gram.y:19428 +#: gram.y:19511 #, 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:19444 +#: gram.y:19527 #, c-format msgid "invalid table name" msgstr "不正なテーブル名" -#: gram.y:19465 +#: gram.y:19548 #, c-format msgid "WHERE clause not allowed for schema" msgstr "WHERE句はスキーマに対しては使用できません" -#: gram.y:19472 +#: gram.y:19555 #, c-format msgid "column specification not allowed for schema" msgstr "列指定はスキーマに対しては使用できません" -#: gram.y:19486 +#: gram.y:19569 #, c-format msgid "invalid schema name" msgstr "不正なスキーマ名" @@ -14287,7 +14349,7 @@ msgstr "ファイル\"%s\"の行%uのトークン\"%s\"近辺で構文エラー msgid "too many syntax errors found, abandoning file \"%s\"" msgstr "多くの構文エラーがありました。ファイル\"%s\"を断念します" -#: jsonpath_gram.y:266 jsonpath_gram.y:598 jsonpath_scan.l:640 jsonpath_scan.l:651 jsonpath_scan.l:661 jsonpath_scan.l:712 utils/adt/encode.c:492 utils/adt/encode.c:557 utils/adt/jsonfuncs.c:658 utils/adt/varlena.c:333 utils/adt/varlena.c:374 +#: jsonpath_gram.y:266 jsonpath_gram.y:598 jsonpath_scan.l:640 jsonpath_scan.l:651 jsonpath_scan.l:661 jsonpath_scan.l:712 utils/adt/encode.c:492 utils/adt/encode.c:557 utils/adt/jsonfuncs.c:660 utils/adt/varlena.c:333 utils/adt/varlena.c:374 #, c-format msgid "invalid input syntax for type %s" msgstr "%s型に対する不正な入力構文" @@ -14324,7 +14386,7 @@ msgstr "不正な16進文字列" msgid "unexpected end after backslash" msgstr "バックスラッシュの後の想定外の終了" -#: jsonpath_scan.l:201 repl_scanner.l:211 scan.l:742 +#: jsonpath_scan.l:201 repl_scanner.l:211 scan.l:756 msgid "unterminated quoted string" msgstr "文字列の引用符が閉じていません" @@ -14336,7 +14398,7 @@ msgstr "コメントの想定外の終了" msgid "invalid numeric literal" msgstr "不正なnumericリテラル" -#: jsonpath_scan.l:325 jsonpath_scan.l:331 jsonpath_scan.l:337 scan.l:1050 scan.l:1054 scan.l:1058 scan.l:1062 scan.l:1066 scan.l:1070 scan.l:1074 +#: jsonpath_scan.l:325 jsonpath_scan.l:331 jsonpath_scan.l:337 scan.l:1070 scan.l:1074 scan.l:1078 scan.l:1082 msgid "trailing junk after numeric literal" msgstr "数値リテラルの後ろにゴミがあります" @@ -14360,7 +14422,7 @@ msgstr "不正な入力" msgid "invalid hexadecimal digit" msgstr "不正な16進数桁" -#: jsonpath_scan.l:607 utils/adt/jsonfuncs.c:646 +#: jsonpath_scan.l:607 utils/adt/jsonfuncs.c:648 #, c-format msgid "unsupported Unicode escape sequence" msgstr "サポートされないUnicodeエスケープシーケンス" @@ -14375,157 +14437,157 @@ msgstr "Unicodeのサーバーエンコーディングへの変換に失敗し msgid "Failed on DSA request of size %zu." msgstr "サイズ%zuの動的共有エリアの要求に失敗しました。" -#: libpq/auth-sasl.c:97 +#: libpq/auth-sasl.c:89 #, c-format msgid "expected SASL response, got message type %d" msgstr "SASL応答を想定していましたが、メッセージタイプ%dを受け取りました" -#: libpq/auth-scram.c:263 +#: libpq/auth-scram.c:265 #, c-format msgid "client selected an invalid SASL authentication mechanism" msgstr "クライアントが無効なSASL認証機構を選択しました" -#: libpq/auth-scram.c:287 libpq/auth-scram.c:536 libpq/auth-scram.c:547 +#: libpq/auth-scram.c:289 libpq/auth-scram.c:538 libpq/auth-scram.c:549 #, c-format msgid "invalid SCRAM secret for user \"%s\"" msgstr "ユーザー\"%s\"に対する不正なSCRAMシークレット" -#: libpq/auth-scram.c:298 +#: libpq/auth-scram.c:300 #, c-format msgid "User \"%s\" does not have a valid SCRAM secret." msgstr "ユーザー\"%s\"は有効なSCRAMシークレットを持ちません。" -#: libpq/auth-scram.c:378 libpq/auth-scram.c:383 libpq/auth-scram.c:737 libpq/auth-scram.c:745 libpq/auth-scram.c:850 libpq/auth-scram.c:863 libpq/auth-scram.c:873 libpq/auth-scram.c:981 libpq/auth-scram.c:988 libpq/auth-scram.c:1003 libpq/auth-scram.c:1018 libpq/auth-scram.c:1032 libpq/auth-scram.c:1050 libpq/auth-scram.c:1065 libpq/auth-scram.c:1379 libpq/auth-scram.c:1387 +#: libpq/auth-scram.c:380 libpq/auth-scram.c:385 libpq/auth-scram.c:742 libpq/auth-scram.c:750 libpq/auth-scram.c:855 libpq/auth-scram.c:868 libpq/auth-scram.c:878 libpq/auth-scram.c:986 libpq/auth-scram.c:993 libpq/auth-scram.c:1008 libpq/auth-scram.c:1023 libpq/auth-scram.c:1037 libpq/auth-scram.c:1055 libpq/auth-scram.c:1070 libpq/auth-scram.c:1384 libpq/auth-scram.c:1392 #, c-format msgid "malformed SCRAM message" msgstr "不正なフォーマットのSCRAMメッセージです" -#: libpq/auth-scram.c:379 +#: libpq/auth-scram.c:381 #, c-format msgid "The message is empty." msgstr "メッセージが空です。" -#: libpq/auth-scram.c:384 +#: libpq/auth-scram.c:386 #, c-format msgid "Message length does not match input length." msgstr "メッセージの長さが入力の長さと一致しません" -#: libpq/auth-scram.c:416 +#: libpq/auth-scram.c:418 #, c-format msgid "invalid SCRAM response" msgstr "不正なSCRAM応答" -#: libpq/auth-scram.c:417 +#: libpq/auth-scram.c:419 #, c-format msgid "Nonce does not match." msgstr "Nonce が合致しません" -#: libpq/auth-scram.c:493 +#: libpq/auth-scram.c:495 #, c-format msgid "could not generate random salt" msgstr "乱数ソルトを生成できませんでした" -#: libpq/auth-scram.c:738 +#: libpq/auth-scram.c:743 #, c-format msgid "Expected attribute \"%c\" but found \"%s\"." msgstr "属性\"%c\"を想定していましたが、\"%s\"でした。" -#: libpq/auth-scram.c:746 libpq/auth-scram.c:874 +#: libpq/auth-scram.c:751 libpq/auth-scram.c:879 #, c-format msgid "Expected character \"=\" for attribute \"%c\"." msgstr "属性\"%c\"としては文字\"=\"を想定していました。" -#: libpq/auth-scram.c:851 +#: libpq/auth-scram.c:856 #, c-format msgid "Attribute expected, but found end of string." msgstr "属性を想定しましたが、文字列が終了しました。" -#: libpq/auth-scram.c:864 +#: libpq/auth-scram.c:869 #, c-format msgid "Attribute expected, but found invalid character \"%s\"." msgstr "属性を想定しましたが、不正な文字\"%s\"でした。" -#: libpq/auth-scram.c:982 libpq/auth-scram.c:1004 +#: libpq/auth-scram.c:987 libpq/auth-scram.c:1009 #, c-format msgid "The client selected SCRAM-SHA-256-PLUS, but the SCRAM message does not include channel binding data." msgstr "クライアントは SCRAM-SHA-256-PLUS を選択しましたが、SCRAM メッセージにはチャネルバインディング情報が含まれていません。" -#: libpq/auth-scram.c:989 libpq/auth-scram.c:1019 +#: libpq/auth-scram.c:994 libpq/auth-scram.c:1024 #, c-format msgid "Comma expected, but found character \"%s\"." msgstr "カンマを想定していましたが、文字\"%s\"が見つかりました" -#: libpq/auth-scram.c:1010 +#: libpq/auth-scram.c:1015 #, c-format msgid "SCRAM channel binding negotiation error" msgstr "SCRAM チャネルバインディングのネゴシエーションエラー" -#: libpq/auth-scram.c:1011 +#: libpq/auth-scram.c:1016 #, c-format msgid "The client supports SCRAM channel binding but thinks the server does not. However, this server does support channel binding." msgstr "クライアントは SCRAM チャネルバインディングをサポートしていますが、サーバーではサポートされていないと思っています。しかし実際にはサポートしています。" -#: libpq/auth-scram.c:1033 +#: libpq/auth-scram.c:1038 #, c-format msgid "The client selected SCRAM-SHA-256 without channel binding, but the SCRAM message includes channel binding data." msgstr "クライアントはチャネルバインディングなしの SCRAM-SHA-256 を選択しましたが、SCRAM メッセージにはチャネルバインディング情報が含まれています。" -#: libpq/auth-scram.c:1044 +#: libpq/auth-scram.c:1049 #, c-format msgid "unsupported SCRAM channel-binding type \"%s\"" msgstr "SCRAM チャネルバインディングタイプ \"%s\"はサポートされていません" -#: libpq/auth-scram.c:1051 +#: libpq/auth-scram.c:1056 #, c-format msgid "Unexpected channel-binding flag \"%s\"." msgstr "予期しないチャネル割り当てフラグ \"%s\"" -#: libpq/auth-scram.c:1061 +#: libpq/auth-scram.c:1066 #, c-format msgid "client uses authorization identity, but it is not supported" msgstr "クライアントは認証識別子を使っていますがサポートされていません" -#: libpq/auth-scram.c:1066 +#: libpq/auth-scram.c:1071 #, c-format msgid "Unexpected attribute \"%s\" in client-first-message." msgstr "client-fist-message での想定外の属性\"%s\"" -#: libpq/auth-scram.c:1082 +#: libpq/auth-scram.c:1087 #, c-format msgid "client requires an unsupported SCRAM extension" msgstr "クライアントはサポート外のSCRAM拡張を要求しています" -#: libpq/auth-scram.c:1096 +#: libpq/auth-scram.c:1101 #, c-format msgid "non-printable characters in SCRAM nonce" msgstr "SCRAM nonce の中に表示不能な文字があります" -#: libpq/auth-scram.c:1227 +#: libpq/auth-scram.c:1232 #, c-format msgid "could not generate random nonce" msgstr "乱数nonceを生成できませんでした" -#: libpq/auth-scram.c:1237 +#: libpq/auth-scram.c:1242 #, c-format msgid "could not encode random nonce" msgstr "乱数nonceをエンコードできませんでした" -#: libpq/auth-scram.c:1343 +#: libpq/auth-scram.c:1348 #, c-format msgid "SCRAM channel binding check failed" msgstr "SCRAM チャネルバインディングの確認で失敗しました" -#: libpq/auth-scram.c:1361 +#: libpq/auth-scram.c:1366 #, c-format msgid "unexpected SCRAM channel-binding attribute in client-final-message" msgstr "client-final-message 中に想定外の SCRAM channel-binding 属性がありました" -#: libpq/auth-scram.c:1380 +#: libpq/auth-scram.c:1385 #, c-format msgid "Malformed proof in client-final-message." msgstr "client-final-message 中の proof の形式が不正です" -#: libpq/auth-scram.c:1388 +#: libpq/auth-scram.c:1393 #, c-format msgid "Garbage found at the end of client-final-message." msgstr "client-final-message の終端に不要なデータがあります。" @@ -14711,7 +14773,7 @@ msgstr "クライアントから空のパスワードが返されました" msgid "could not generate random MD5 salt" msgstr "ランダムなMD5ソルトの生成に失敗しました" -#: libpq/auth.c:943 libpq/be-secure-gssapi.c:540 +#: libpq/auth.c:943 libpq/be-secure-gssapi.c:543 #, c-format msgid "could not set environment: %m" msgstr "環境を設定できません: %m" @@ -14791,283 +14853,288 @@ msgstr "アドレス\"%s\"、ポート%sのIdentサーバーからの応答を msgid "invalidly formatted response from Ident server: \"%s\"" msgstr "Identサーバーからの応答の書式が不正です: \"%s\"" -#: libpq/auth.c:1870 +#: libpq/auth.c:1873 #, c-format msgid "peer authentication is not supported on this platform" msgstr "このプラットフォームでは対向(peer)認証はサポートされていません" -#: libpq/auth.c:1874 +#: libpq/auth.c:1877 #, c-format msgid "could not get peer credentials: %m" msgstr "ピアの資格証明を入手できませんでした: %m" -#: libpq/auth.c:1886 +#: libpq/auth.c:1887 +#, c-format +msgid "could not look up local user ID %ld: %m" +msgstr "ローカルユーザーID %ldの参照に失敗しました: %m" + +#: libpq/auth.c:1893 #, c-format -msgid "could not look up local user ID %ld: %s" -msgstr "ローカルユーザーID %ldの参照に失敗しました: %s" +msgid "local user with ID %ld does not exist" +msgstr "ID %ld を持つローカルユーザーは存在しません" -#: libpq/auth.c:1988 +#: libpq/auth.c:1993 #, c-format msgid "error from underlying PAM layer: %s" msgstr "背後のPAM層でエラーがありました: %s" -#: libpq/auth.c:1999 +#: libpq/auth.c:2004 #, c-format msgid "unsupported PAM conversation %d/\"%s\"" msgstr "非サポートのPAM変換%d/\"%s\"" -#: libpq/auth.c:2056 +#: libpq/auth.c:2061 #, c-format msgid "could not create PAM authenticator: %s" msgstr "PAM authenticatorを作成できませんでした: %s" -#: libpq/auth.c:2067 +#: libpq/auth.c:2072 #, c-format msgid "pam_set_item(PAM_USER) failed: %s" msgstr "pam_set_item(PAM_USER)が失敗しました: %s" -#: libpq/auth.c:2099 +#: libpq/auth.c:2104 #, c-format msgid "pam_set_item(PAM_RHOST) failed: %s" msgstr "pam_set_item(PAM_RHOST)が失敗しました: %s" -#: libpq/auth.c:2111 +#: libpq/auth.c:2116 #, c-format msgid "pam_set_item(PAM_CONV) failed: %s" msgstr "\"pam_set_item(PAM_CONV)が失敗しました: %s" -#: libpq/auth.c:2124 +#: libpq/auth.c:2129 #, c-format msgid "pam_authenticate failed: %s" msgstr "\"pam_authenticateが失敗しました: %s" -#: libpq/auth.c:2137 +#: libpq/auth.c:2142 #, c-format msgid "pam_acct_mgmt failed: %s" msgstr "pam_acct_mgmtが失敗しました: %s" -#: libpq/auth.c:2148 +#: libpq/auth.c:2153 #, c-format msgid "could not release PAM authenticator: %s" msgstr "PAM authenticatorを解放できませんでした: %s" -#: libpq/auth.c:2228 +#: libpq/auth.c:2233 #, c-format msgid "could not initialize LDAP: error code %d" msgstr "LDAPを初期化できませんでした: %d" -#: libpq/auth.c:2265 +#: libpq/auth.c:2270 #, c-format msgid "could not extract domain name from ldapbasedn" msgstr "ldapbasedn からドメイン名を抽出できませんでした" -#: libpq/auth.c:2273 +#: libpq/auth.c:2278 #, c-format msgid "LDAP authentication could not find DNS SRV records for \"%s\"" msgstr "LDAP認証で\"%s\"に対する DNS SRV レコードが見つかりませんでした" -#: libpq/auth.c:2275 +#: libpq/auth.c:2280 #, c-format msgid "Set an LDAP server name explicitly." msgstr "LDAPサーバー名を明示的に指定してください。" -#: libpq/auth.c:2327 +#: libpq/auth.c:2332 #, c-format msgid "could not initialize LDAP: %s" msgstr "LDAPを初期化できませんでした: %s" -#: libpq/auth.c:2337 +#: libpq/auth.c:2342 #, c-format msgid "ldaps not supported with this LDAP library" msgstr "この LDAP ライブラリでは ldaps はサポートされていません" -#: libpq/auth.c:2345 +#: libpq/auth.c:2350 #, c-format msgid "could not initialize LDAP: %m" msgstr "LDAPを初期化できませんでした: %m" -#: libpq/auth.c:2355 +#: libpq/auth.c:2360 #, c-format msgid "could not set LDAP protocol version: %s" msgstr "LDAPプロトコルバージョンを設定できませんでした: %s" -#: libpq/auth.c:2371 +#: libpq/auth.c:2376 #, c-format msgid "could not start LDAP TLS session: %s" msgstr "LDAP TLSセッションを開始できませんでした: %s" -#: libpq/auth.c:2448 +#: libpq/auth.c:2453 #, c-format msgid "LDAP server not specified, and no ldapbasedn" msgstr "LDAP サーバーも ldapbasedn も指定されていません" -#: libpq/auth.c:2455 +#: libpq/auth.c:2460 #, c-format msgid "LDAP server not specified" msgstr "LDAP サーバーの指定がありません" -#: libpq/auth.c:2517 +#: libpq/auth.c:2522 #, c-format msgid "invalid character in user name for LDAP authentication" msgstr "LDAP 認証でユーザー名の中に不正な文字があります" -#: libpq/auth.c:2534 +#: libpq/auth.c:2539 #, c-format msgid "could not perform initial LDAP bind for ldapbinddn \"%s\" on server \"%s\": %s" msgstr "サーバー\"%2$s\"で、ldapbinddn \"%1$s\"によるLDAPバインドを実行できませんでした: %3$s" -#: libpq/auth.c:2564 +#: libpq/auth.c:2569 #, c-format msgid "could not search LDAP for filter \"%s\" on server \"%s\": %s" msgstr "サーバー\"%2$s\"で、フィルタ\"%1$s\"によるLDAP検索ができませんでした: %3$s" -#: libpq/auth.c:2580 +#: libpq/auth.c:2585 #, c-format msgid "LDAP user \"%s\" does not exist" msgstr "LDAPサーバー\"%s\"は存在しません" -#: libpq/auth.c:2581 +#: libpq/auth.c:2586 #, c-format msgid "LDAP search for filter \"%s\" on server \"%s\" returned no entries." msgstr "サーバー\"%2$s\"で、フィルタ\"%1$s\"によるLDAP検索が何も返しませんでした。" -#: libpq/auth.c:2585 +#: libpq/auth.c:2590 #, c-format msgid "LDAP user \"%s\" is not unique" msgstr "LDAPユーザー\"%s\"は一意ではありません" -#: libpq/auth.c:2586 +#: libpq/auth.c:2591 #, c-format msgid "LDAP search for filter \"%s\" on server \"%s\" returned %d entry." msgid_plural "LDAP search for filter \"%s\" on server \"%s\" returned %d entries." msgstr[0] "サーバー\"%2$s\"で、フィルタ\"%1$s\"によるLDAP検索が%3$d項目返しました。" -#: libpq/auth.c:2606 +#: libpq/auth.c:2611 #, c-format msgid "could not get dn for the first entry matching \"%s\" on server \"%s\": %s" msgstr "サーバー\"%2$s\"で\"%1$s\"にマッチする最初のエントリの dn を取得できません: %3$s" -#: libpq/auth.c:2633 +#: libpq/auth.c:2638 #, c-format msgid "LDAP login failed for user \"%s\" on server \"%s\": %s" msgstr "サーバー\"%2$s\"でユーザー\"%1$s\"のLDAPログインが失敗しました: %3$s" -#: libpq/auth.c:2665 +#: libpq/auth.c:2670 #, c-format msgid "LDAP diagnostics: %s" msgstr "LDAP診断: %s" -#: libpq/auth.c:2703 +#: libpq/auth.c:2708 #, c-format msgid "certificate authentication failed for user \"%s\": client certificate contains no user name" msgstr "ユーザー \"%s\" の証明書認証に失敗しました: クライアント証明書にユーザー名が含まれていません" -#: libpq/auth.c:2724 +#: libpq/auth.c:2729 #, c-format msgid "certificate authentication failed for user \"%s\": unable to retrieve subject DN" msgstr "ユーザー\"%s\"の証明書認証に失敗しました: サブジェクト識別名(DN)が取得できません" -#: libpq/auth.c:2747 +#: libpq/auth.c:2752 #, c-format msgid "certificate validation (clientcert=verify-full) failed for user \"%s\": DN mismatch" msgstr "ユーザー\"%s\"に対する証明書の検証(clientcert=verify-full) に失敗しました: DN 不一致" -#: libpq/auth.c:2752 +#: libpq/auth.c:2757 #, c-format msgid "certificate validation (clientcert=verify-full) failed for user \"%s\": CN mismatch" msgstr "ユーザー\"%s\"に対する証明書の検証(clientcert=verify-full) に失敗しました: CN 不一致" -#: libpq/auth.c:2854 +#: libpq/auth.c:2859 #, c-format msgid "RADIUS server not specified" msgstr "RADIUS サーバーが指定されていません" -#: libpq/auth.c:2861 +#: libpq/auth.c:2866 #, c-format msgid "RADIUS secret not specified" msgstr "RADIUS secret が指定されていません" -#: libpq/auth.c:2875 +#: libpq/auth.c:2880 #, 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:2982 libpq/hba.c:2356 #, c-format msgid "could not translate RADIUS server name \"%s\" to address: %s" msgstr "RADIUS サーバー名\"%s\"をアドレスに変換できませんでした: %s" -#: libpq/auth.c:2991 +#: libpq/auth.c:2996 #, c-format msgid "could not generate random encryption vector" msgstr "ランダムな暗号化ベクトルを生成できませんでした" -#: libpq/auth.c:3028 +#: libpq/auth.c:3033 #, c-format msgid "could not perform MD5 encryption of password: %s" msgstr "パスワードのMD5暗号化に失敗しました: %s" -#: libpq/auth.c:3055 +#: libpq/auth.c:3060 #, c-format msgid "could not create RADIUS socket: %m" msgstr "RADIUSのソケットを作成できませんでした: %m" -#: libpq/auth.c:3071 +#: libpq/auth.c:3076 #, c-format msgid "could not bind local RADIUS socket: %m" msgstr "ローカルの RADIUS ソケットをバインドできませんでした: %m" -#: libpq/auth.c:3081 +#: libpq/auth.c:3086 #, c-format msgid "could not send RADIUS packet: %m" msgstr "RADIUS パケットを送信できませんでした: %m" -#: libpq/auth.c:3115 libpq/auth.c:3141 +#: libpq/auth.c:3120 libpq/auth.c:3146 #, c-format msgid "timeout waiting for RADIUS response from %s" msgstr "%sからのRADIUSの応答待ちがタイムアウトしました" -#: libpq/auth.c:3134 +#: libpq/auth.c:3139 #, c-format msgid "could not check status on RADIUS socket: %m" msgstr "RADIUSソケットの状態をチェックできませんでした: %m" -#: libpq/auth.c:3164 +#: libpq/auth.c:3169 #, c-format msgid "could not read RADIUS response: %m" msgstr "RADIUS応答を読めませんでした: %m" -#: libpq/auth.c:3172 +#: libpq/auth.c:3177 #, c-format msgid "RADIUS response from %s was sent from incorrect port: %d" msgstr "%sからのRADIUS応答が誤ったポートから送られてきました: %d" -#: libpq/auth.c:3180 +#: libpq/auth.c:3185 #, c-format msgid "RADIUS response from %s too short: %d" msgstr "%sからのRADIUS応答が短すぎます: %d" -#: libpq/auth.c:3187 +#: libpq/auth.c:3192 #, c-format msgid "RADIUS response from %s has corrupt length: %d (actual length %d)" msgstr "%sからのRADIUS応答が間違った長さを保持しています: %d(実際の長さは%d)" -#: libpq/auth.c:3195 +#: libpq/auth.c:3200 #, c-format msgid "RADIUS response from %s is to a different request: %d (should be %d)" msgstr "%sからのRADIUS応答は異なるリクエストに対するものです: %d (%d であるはず)" -#: libpq/auth.c:3220 +#: libpq/auth.c:3225 #, c-format msgid "could not perform MD5 encryption of received packet: %s" msgstr "受信パケットのMD5暗号化に失敗しました: %s" -#: libpq/auth.c:3230 +#: libpq/auth.c:3235 #, c-format msgid "RADIUS response from %s has incorrect MD5 signature" msgstr "%sからのRADIUS応答が間違ったMD5シグネチャを保持しています" -#: libpq/auth.c:3248 +#: libpq/auth.c:3253 #, c-format msgid "RADIUS response from %s has invalid code (%d) for user \"%s\"" msgstr "%1$sからのRADIUS応答がユーザー\"%3$s\"にとって不正なコード(%2$d)を保持しています" @@ -15157,262 +15224,271 @@ msgstr "秘密鍵ファイル\"%s\"はグループまたは全員からアクセ 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) かそれよりも低いパーミッション、root所有の場合は u=rw,g=r (0640) かそれよりも低いパーミッションである必要があります" -#: libpq/be-secure-gssapi.c:201 +#: libpq/be-secure-gssapi.c:202 msgid "GSSAPI wrap error" msgstr "GSSAPI名ラップエラー" -#: libpq/be-secure-gssapi.c:208 +#: libpq/be-secure-gssapi.c:209 #, 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:216 libpq/be-secure-gssapi.c:637 #, 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:352 #, 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:390 msgid "GSSAPI unwrap error" msgstr "GSSAPIアンラップエラー" -#: libpq/be-secure-gssapi.c:396 +#: libpq/be-secure-gssapi.c:397 #, c-format msgid "incoming GSSAPI message did not use confidentiality" msgstr "到着したGSSAPIメッセージには機密性が適用されていません" -#: libpq/be-secure-gssapi.c:575 +#: libpq/be-secure-gssapi.c:578 #, 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:603 msgid "could not accept GSSAPI security context" msgstr "GSSAPIセキュリティコンテキストを受け入れられませんでした" -#: libpq/be-secure-gssapi.c:701 +#: libpq/be-secure-gssapi.c:704 msgid "GSSAPI size check error" msgstr "GSSAPIサイズチェックエラー" -#: libpq/be-secure-openssl.c:131 +#: libpq/be-secure-openssl.c:118 #, c-format msgid "could not create SSL context: %s" msgstr "SSLコンテキストを作成できませんでした: %s" -#: libpq/be-secure-openssl.c:157 +#: libpq/be-secure-openssl.c:144 #, c-format msgid "could not load server certificate file \"%s\": %s" msgstr "サーバー証明書ファイル\"%s\"をロードできませんでした: %s" -#: libpq/be-secure-openssl.c:177 +#: libpq/be-secure-openssl.c:164 #, c-format msgid "private key file \"%s\" cannot be reloaded because it requires a passphrase" msgstr "パスフレーズが要求されたため秘密鍵ファイル\"%s\"をリロードできませんでした" -#: libpq/be-secure-openssl.c:182 +#: libpq/be-secure-openssl.c:169 #, c-format msgid "could not load private key file \"%s\": %s" msgstr "秘密鍵ファイル\"%s\"をロードできませんでした: %s" -#: libpq/be-secure-openssl.c:191 +#: libpq/be-secure-openssl.c:178 #, c-format msgid "check of private key failed: %s" msgstr "秘密鍵の検査に失敗しました: %s" #. translator: first %s is a GUC option name, second %s is its value -#: libpq/be-secure-openssl.c:204 libpq/be-secure-openssl.c:227 +#: libpq/be-secure-openssl.c:191 libpq/be-secure-openssl.c:214 #, c-format msgid "\"%s\" setting \"%s\" not supported by this build" msgstr "このビルドでは\"%s\"の\"%s\"への設定はサポートされていません" -#: libpq/be-secure-openssl.c:214 +#: libpq/be-secure-openssl.c:201 #, c-format msgid "could not set minimum SSL protocol version" msgstr "最小SSLプロトコルバージョンを設定できませんでした" -#: libpq/be-secure-openssl.c:237 +#: libpq/be-secure-openssl.c:224 #, c-format msgid "could not set maximum SSL protocol version" msgstr "最大SSLプロトコルバージョンを設定できませんでした" -#: libpq/be-secure-openssl.c:253 +#: libpq/be-secure-openssl.c:241 #, c-format msgid "could not set SSL protocol version range" msgstr "SSLプロトコルバージョンの範囲を設定できませんでした" -#: libpq/be-secure-openssl.c:254 +#: libpq/be-secure-openssl.c:242 #, c-format msgid "\"%s\" cannot be higher than \"%s\"" msgstr "\"%s\"は\"%s\"より大きくできません" -#: libpq/be-secure-openssl.c:296 +#: libpq/be-secure-openssl.c:295 +#, c-format +msgid "could not set the TLSv1.2 cipher list (no valid ciphers available)" +msgstr " TLSv1.2 の暗号方式リストが設定できませんでした (有効な暗号方式がありません)" + +#: libpq/be-secure-openssl.c:310 #, c-format -msgid "could not set the cipher list (no valid ciphers available)" -msgstr "暗号方式リストがセットできません (利用可能な暗号方式がありません)" +msgid "could not set the TLSv1.3 cipher suites (no valid ciphers available)" +msgstr " TLSv1.3 の暗号スイートが設定できませんでした (有効な暗号方式がありません)" -#: libpq/be-secure-openssl.c:316 +#: libpq/be-secure-openssl.c:331 #, c-format msgid "could not load root certificate file \"%s\": %s" msgstr "ルート証明書ファイル\"%s\"をロードできませんでした: %s" -#: libpq/be-secure-openssl.c:365 +#: libpq/be-secure-openssl.c:380 #, c-format msgid "could not load SSL certificate revocation list file \"%s\": %s" msgstr "SSL証明失効リストファイル\"%s\"をロードできませんでした: %s" -#: libpq/be-secure-openssl.c:373 +#: libpq/be-secure-openssl.c:388 #, c-format msgid "could not load SSL certificate revocation list directory \"%s\": %s" msgstr "SSL証明失効リストディレクトリ\"%s\"をロードできませんでした: %s" -#: libpq/be-secure-openssl.c:381 +#: libpq/be-secure-openssl.c:396 #, c-format msgid "could not load SSL certificate revocation list file \"%s\" or directory \"%s\": %s" msgstr "SSL証明失効リストファイル\"%s\"またはディレクトリ\"%s\"をロードできませんでした: %s" -#: libpq/be-secure-openssl.c:439 +#: libpq/be-secure-openssl.c:454 #, c-format msgid "could not initialize SSL connection: SSL context not set up" msgstr "SSL接続を初期化できませんでした: SSLコンテクストが準備できていません" -#: libpq/be-secure-openssl.c:453 +#: libpq/be-secure-openssl.c:468 #, c-format msgid "could not initialize SSL connection: %s" msgstr "SSL接続を初期化できませんでした: %s" -#: libpq/be-secure-openssl.c:461 +#: libpq/be-secure-openssl.c:476 #, c-format msgid "could not set SSL socket: %s" msgstr "SSLソケットを設定できませんでした: %s" -#: libpq/be-secure-openssl.c:517 +#: libpq/be-secure-openssl.c:532 #, c-format msgid "could not accept SSL connection: %m" msgstr "SSL接続を受け付けられませんでした: %m" -#: libpq/be-secure-openssl.c:521 libpq/be-secure-openssl.c:578 +#: libpq/be-secure-openssl.c:536 libpq/be-secure-openssl.c:593 #, c-format msgid "could not accept SSL connection: EOF detected" msgstr "SSL接続を受け付けられませんでした: EOFを検出しました" -#: libpq/be-secure-openssl.c:562 +#: libpq/be-secure-openssl.c:577 #, c-format msgid "could not accept SSL connection: %s" msgstr "SSL接続を受け付けられませんでした: %s" -#: libpq/be-secure-openssl.c:566 +#: libpq/be-secure-openssl.c:581 #, c-format msgid "This may indicate that the client does not support any SSL protocol version between %s and %s." msgstr "このことは、クライアントがSSLプロトコルのバージョン%sから%sのいずれもサポートしていないことを示唆しているかもしれません。" -#: libpq/be-secure-openssl.c:583 libpq/be-secure-openssl.c:798 libpq/be-secure-openssl.c:868 +#: libpq/be-secure-openssl.c:598 libpq/be-secure-openssl.c:813 libpq/be-secure-openssl.c:883 #, c-format msgid "unrecognized SSL error code: %d" msgstr "認識できないSSLエラーコード: %d" -#: libpq/be-secure-openssl.c:611 +#: libpq/be-secure-openssl.c:626 #, c-format msgid "received SSL connection request with unexpected ALPN protocol" msgstr "想定外のALPNプロトコルによるSSL接続要求を受信しました" -#: libpq/be-secure-openssl.c:655 +#: libpq/be-secure-openssl.c:670 #, c-format msgid "SSL certificate's common name contains embedded null" msgstr "SSL 証明書のコモンネームに null が含まれています" -#: libpq/be-secure-openssl.c:701 +#: libpq/be-secure-openssl.c:716 #, c-format msgid "SSL certificate's distinguished name contains embedded null" msgstr "SSL証明書の識別名の途中にnullが含まれています" -#: libpq/be-secure-openssl.c:787 libpq/be-secure-openssl.c:852 +#: libpq/be-secure-openssl.c:802 libpq/be-secure-openssl.c:867 #, c-format msgid "SSL error: %s" msgstr "SSLエラー: %s" -#: libpq/be-secure-openssl.c:1027 +#: libpq/be-secure-openssl.c:1050 #, c-format msgid "could not open DH parameters file \"%s\": %m" msgstr "DHパラメータファイル\"%s\"をオープンできませんでした: %m" -#: libpq/be-secure-openssl.c:1039 +#: libpq/be-secure-openssl.c:1062 #, c-format msgid "could not load DH parameters file: %s" msgstr "DHパラメータをロードできませんでした: %s" -#: libpq/be-secure-openssl.c:1049 +#: libpq/be-secure-openssl.c:1072 #, c-format msgid "invalid DH parameters: %s" msgstr "不正なDHパラメータです: %s" -#: libpq/be-secure-openssl.c:1058 +#: libpq/be-secure-openssl.c:1081 #, c-format msgid "invalid DH parameters: p is not prime" msgstr "不正なDHパラメータ: pは素数ではありません" -#: libpq/be-secure-openssl.c:1067 +#: libpq/be-secure-openssl.c:1090 #, c-format msgid "invalid DH parameters: neither suitable generator or safe prime" msgstr "不正なDHパラメータ: 適切な生成器も安全な素数もありません" -#: libpq/be-secure-openssl.c:1203 +#: libpq/be-secure-openssl.c:1226 #, c-format msgid "Client certificate verification failed at depth %d: %s." msgstr "クライアント証明書の検証に深さ%dで失敗しました: %s。" -#: libpq/be-secure-openssl.c:1240 +#: libpq/be-secure-openssl.c:1263 #, c-format msgid "Failed certificate data (unverified): subject \"%s\", serial number %s, issuer \"%s\"." msgstr "失敗した証明書の情報(未検証): サブジェクト \"%s\", シリアル番号 %s, 発行者 \"%s\"。" -#: libpq/be-secure-openssl.c:1241 +#: libpq/be-secure-openssl.c:1264 msgid "unknown" msgstr "不明" -#: libpq/be-secure-openssl.c:1378 +#: libpq/be-secure-openssl.c:1401 #, c-format msgid "DH: could not load DH parameters" msgstr "DH: DHパラメータをロードできませんでした" -#: libpq/be-secure-openssl.c:1386 +#: libpq/be-secure-openssl.c:1409 #, c-format msgid "DH: could not set DH parameters: %s" msgstr "DH: DHパラメータを設定できませんでした: %s" -#: libpq/be-secure-openssl.c:1413 +#: libpq/be-secure-openssl.c:1439 #, c-format -msgid "ECDH: unrecognized curve name: %s" -msgstr "ECDH: 認識できない曲線名: %s" +msgid "failed to set group names specified in ssl_groups: %s" +msgstr "ssl_groupsで指定されたグループ名の設定に失敗しました: %s" -#: libpq/be-secure-openssl.c:1422 +#: libpq/be-secure-openssl.c:1441 +msgid "No valid groups found" +msgstr "有効なグループが見つかりませんでした" + +#: libpq/be-secure-openssl.c:1442 #, c-format -msgid "ECDH: could not create key" -msgstr "ECDH: キーを生成できませんでした" +msgid "Ensure that each group name is spelled correctly and supported by the installed version of OpenSSL" +msgstr "すべてのグループ名が正しく記述されおり、インストールされているバージョンのOpenSSLでサポートされていることを確認してください" -#: libpq/be-secure-openssl.c:1450 +#: libpq/be-secure-openssl.c:1488 msgid "no SSL error reported" msgstr "SSLエラーはありませんでした" -#: libpq/be-secure-openssl.c:1467 +#: libpq/be-secure-openssl.c:1506 #, c-format msgid "SSL error code %lu" msgstr "SSLエラーコード: %lu" -#: libpq/be-secure-openssl.c:1624 +#: libpq/be-secure-openssl.c:1663 #, c-format msgid "could not create BIO" msgstr "BIOを作成できませんでした" -#: libpq/be-secure-openssl.c:1634 +#: libpq/be-secure-openssl.c:1673 #, c-format msgid "could not get NID for ASN1_OBJECT object" msgstr "ASN1_OBJECTオブジェクトのNIDを取得できませんでした" -#: libpq/be-secure-openssl.c:1642 +#: libpq/be-secure-openssl.c:1681 #, c-format msgid "could not convert NID %d to an ASN1_OBJECT structure" msgstr "NID %dをASN1_OBJECT構造体へ変換できませんでした" @@ -15432,17 +15508,27 @@ msgstr "ユーザー\"%s\"はパスワードが設定されていません。" msgid "User \"%s\" has an expired password." msgstr "ユーザー\"%s\"のパスワードは期限切れです。" -#: libpq/crypt.c:182 +#: libpq/crypt.c:172 +#, c-format +msgid "encrypted password is too long" +msgstr "暗号化されたパスワードが長すぎます" + +#: libpq/crypt.c:173 +#, c-format +msgid "Encrypted passwords must be no longer than %d bytes." +msgstr "暗号化されたパスワードは%dバイト以下でなければなりません。" + +#: libpq/crypt.c:206 #, c-format msgid "User \"%s\" has a password that cannot be used with MD5 authentication." msgstr "ユーザー\"%s\"のパスワードはMD5認証で使用不能です。" -#: libpq/crypt.c:203 libpq/crypt.c:245 libpq/crypt.c:265 +#: libpq/crypt.c:227 libpq/crypt.c:269 libpq/crypt.c:289 #, c-format msgid "Password does not match for user \"%s\"." msgstr "ユーザー\"%s\"のパスワードが合致しません。" -#: libpq/crypt.c:284 +#: libpq/crypt.c:308 #, c-format msgid "Password of user \"%s\" is in unrecognized format." msgstr "ユーザー\"%s\"のパスワードは識別不能な形式です。" @@ -15452,8 +15538,8 @@ msgstr "ユーザー\"%s\"のパスワードは識別不能な形式です。" msgid "invalid regular expression \"%s\": %s" msgstr "不正な正規表現\"%s\": %s" -#: libpq/hba.c:329 libpq/hba.c:661 libpq/hba.c:1245 libpq/hba.c:1265 libpq/hba.c:1288 libpq/hba.c:1301 libpq/hba.c:1354 libpq/hba.c:1382 libpq/hba.c:1390 libpq/hba.c:1402 libpq/hba.c:1423 libpq/hba.c:1436 libpq/hba.c:1461 libpq/hba.c:1488 libpq/hba.c:1500 libpq/hba.c:1559 libpq/hba.c:1579 libpq/hba.c:1593 libpq/hba.c:1613 libpq/hba.c:1624 libpq/hba.c:1639 libpq/hba.c:1658 libpq/hba.c:1674 libpq/hba.c:1686 libpq/hba.c:1752 libpq/hba.c:1765 libpq/hba.c:1787 -#: libpq/hba.c:1799 libpq/hba.c:1817 libpq/hba.c:1867 libpq/hba.c:1911 libpq/hba.c:1922 libpq/hba.c:1938 libpq/hba.c:1955 libpq/hba.c:1966 libpq/hba.c:1985 libpq/hba.c:2001 libpq/hba.c:2017 libpq/hba.c:2076 libpq/hba.c:2093 libpq/hba.c:2106 libpq/hba.c:2118 libpq/hba.c:2137 libpq/hba.c:2223 libpq/hba.c:2241 libpq/hba.c:2335 libpq/hba.c:2354 libpq/hba.c:2383 libpq/hba.c:2396 libpq/hba.c:2419 libpq/hba.c:2441 libpq/hba.c:2455 tsearch/ts_locale.c:241 +#: libpq/hba.c:329 libpq/hba.c:664 libpq/hba.c:1249 libpq/hba.c:1269 libpq/hba.c:1292 libpq/hba.c:1305 libpq/hba.c:1358 libpq/hba.c:1386 libpq/hba.c:1394 libpq/hba.c:1406 libpq/hba.c:1427 libpq/hba.c:1440 libpq/hba.c:1465 libpq/hba.c:1492 libpq/hba.c:1504 libpq/hba.c:1563 libpq/hba.c:1583 libpq/hba.c:1597 libpq/hba.c:1617 libpq/hba.c:1628 libpq/hba.c:1643 libpq/hba.c:1662 libpq/hba.c:1678 libpq/hba.c:1690 libpq/hba.c:1756 libpq/hba.c:1769 libpq/hba.c:1791 +#: libpq/hba.c:1803 libpq/hba.c:1821 libpq/hba.c:1871 libpq/hba.c:1915 libpq/hba.c:1926 libpq/hba.c:1942 libpq/hba.c:1959 libpq/hba.c:1970 libpq/hba.c:1989 libpq/hba.c:2005 libpq/hba.c:2021 libpq/hba.c:2080 libpq/hba.c:2097 libpq/hba.c:2110 libpq/hba.c:2122 libpq/hba.c:2141 libpq/hba.c:2227 libpq/hba.c:2245 libpq/hba.c:2339 libpq/hba.c:2358 libpq/hba.c:2387 libpq/hba.c:2400 libpq/hba.c:2423 libpq/hba.c:2445 libpq/hba.c:2459 tsearch/ts_locale.c:241 #, c-format msgid "line %d of configuration file \"%s\"" msgstr "設定ファイル \"%2$s\" の %1$d 行目" @@ -15468,494 +15554,494 @@ msgstr "存在しない認証設定ファイル\"%s\"をスキップします" msgid "could not open file \"%s\": maximum nesting depth exceeded" msgstr "ファイル\"%s\"をオープンできませんでした: 入れ子の深さが上限を超えています" -#: libpq/hba.c:1216 +#: libpq/hba.c:1220 #, c-format msgid "error enumerating network interfaces: %m" msgstr "ネットワークインターフェース列挙中のエラー: %m" #. translator: the second %s is a list of auth methods -#: libpq/hba.c:1243 +#: libpq/hba.c:1247 #, c-format msgid "authentication option \"%s\" is only valid for authentication methods %s" msgstr "認証オプション\"%s\"は認証方式%sでのみ有効です" -#: libpq/hba.c:1263 +#: libpq/hba.c:1267 #, c-format msgid "authentication method \"%s\" requires argument \"%s\" to be set" msgstr "認証方式\"%s\"の場合は引数\"%s\"がセットされなければなりません" -#: libpq/hba.c:1287 +#: libpq/hba.c:1291 #, c-format msgid "missing entry at end of line" msgstr "行末の要素が足りません" -#: libpq/hba.c:1300 +#: libpq/hba.c:1304 #, c-format msgid "multiple values in ident field" msgstr "identヂールド内の複数の値" -#: libpq/hba.c:1352 +#: libpq/hba.c:1356 #, c-format msgid "multiple values specified for connection type" msgstr "接続タイプで複数の値が指定されました" -#: libpq/hba.c:1353 +#: libpq/hba.c:1357 #, c-format msgid "Specify exactly one connection type per line." msgstr "1行に1つの接続タイプだけを指定してください" -#: libpq/hba.c:1380 +#: libpq/hba.c:1384 #, c-format msgid "hostssl record cannot match because SSL is disabled" msgstr "SSLが無効なため、hostssl行は照合できません" -#: libpq/hba.c:1381 +#: libpq/hba.c:1385 #, c-format msgid "Set \"ssl = on\" in postgresql.conf." msgstr "postgresql.confで\"ssl = on\"に設定してください。" -#: libpq/hba.c:1389 +#: libpq/hba.c:1393 #, c-format msgid "hostssl record cannot match because SSL is not supported by this build" msgstr "このビルドではhostsslはサポートされていないため、hostssl行は照合できません" -#: libpq/hba.c:1401 +#: libpq/hba.c:1405 #, c-format msgid "hostgssenc record cannot match because GSSAPI is not supported by this build" msgstr "このビルドでは GSSAPI をサポートしていないため hostgssenc レコードは照合できません" -#: libpq/hba.c:1421 +#: libpq/hba.c:1425 #, c-format msgid "invalid connection type \"%s\"" msgstr "接続オプションタイプ \"%s\" は不正です" -#: libpq/hba.c:1435 +#: libpq/hba.c:1439 #, c-format msgid "end-of-line before database specification" msgstr "データベース指定の前に行末を検出しました" -#: libpq/hba.c:1460 +#: libpq/hba.c:1464 #, c-format msgid "end-of-line before role specification" msgstr "ロール指定の前に行末を検出しました" -#: libpq/hba.c:1487 +#: libpq/hba.c:1491 #, c-format msgid "end-of-line before IP address specification" msgstr "IP アドレス指定の前に行末を検出しました" -#: libpq/hba.c:1498 +#: libpq/hba.c:1502 #, c-format msgid "multiple values specified for host address" msgstr "ホストアドレスで複数の値が指定されました" -#: libpq/hba.c:1499 +#: libpq/hba.c:1503 #, c-format msgid "Specify one address range per line." msgstr "1行に1つのアドレス範囲を指定してください" -#: libpq/hba.c:1557 +#: libpq/hba.c:1561 #, c-format msgid "invalid IP address \"%s\": %s" msgstr "不正なIPアドレス\"%s\": %s" -#: libpq/hba.c:1577 +#: libpq/hba.c:1581 #, c-format msgid "specifying both host name and CIDR mask is invalid: \"%s\"" msgstr "ホスト名とCIDRマスクを両方指定するのは不正です: \"%s\"" -#: libpq/hba.c:1591 +#: libpq/hba.c:1595 #, c-format msgid "invalid CIDR mask in address \"%s\"" msgstr "IPアドレス\"%s\"内の CIDR マスクが不正です" -#: libpq/hba.c:1611 +#: libpq/hba.c:1615 #, c-format msgid "end-of-line before netmask specification" msgstr "ネットマスク指定の前に行末を検出しました" -#: libpq/hba.c:1612 +#: libpq/hba.c:1616 #, c-format msgid "Specify an address range in CIDR notation, or provide a separate netmask." msgstr "CIDR記法でアドレス範囲を指定してするか、ネットマスクを分けて指定してください。" -#: libpq/hba.c:1623 +#: libpq/hba.c:1627 #, c-format msgid "multiple values specified for netmask" msgstr "ネットマスクで複数の値が指定されました" -#: libpq/hba.c:1637 +#: libpq/hba.c:1641 #, c-format msgid "invalid IP mask \"%s\": %s" msgstr "不正なIPマスク\"%s\": %s" -#: libpq/hba.c:1657 +#: libpq/hba.c:1661 #, c-format msgid "IP address and mask do not match" msgstr "IPアドレスとマスクが一致しません" -#: libpq/hba.c:1673 +#: libpq/hba.c:1677 #, c-format msgid "end-of-line before authentication method" msgstr "認証方式指定の前に行末を検出しました" -#: libpq/hba.c:1684 +#: libpq/hba.c:1688 #, c-format msgid "multiple values specified for authentication type" msgstr "認証タイプで複数の値が指定されました" -#: libpq/hba.c:1685 +#: libpq/hba.c:1689 #, c-format msgid "Specify exactly one authentication type per line." msgstr "認証タイプは1行に1つだけ指定してください。" -#: libpq/hba.c:1750 +#: libpq/hba.c:1754 #, c-format msgid "invalid authentication method \"%s\"" msgstr "不正な認証方式\"%s\"" -#: libpq/hba.c:1763 +#: libpq/hba.c:1767 #, c-format msgid "invalid authentication method \"%s\": not supported by this build" msgstr "不正な認証方式\"%s\": このビルドではサポートされていません" -#: libpq/hba.c:1786 +#: libpq/hba.c:1790 #, c-format msgid "gssapi authentication is not supported on local sockets" msgstr "ローカルソケットではgssapi認証はサポートしていません" -#: libpq/hba.c:1798 +#: libpq/hba.c:1802 #, c-format msgid "peer authentication is only supported on local sockets" msgstr "peer認証はローカルソケットでのみサポートしています" -#: libpq/hba.c:1816 +#: libpq/hba.c:1820 #, c-format msgid "cert authentication is only supported on hostssl connections" msgstr "hostssl接続では証明書認証のみをサポートしています" -#: libpq/hba.c:1866 +#: libpq/hba.c:1870 #, c-format msgid "authentication option not in name=value format: %s" msgstr "認証オプションが 名前=値 形式になっていません: %s" -#: libpq/hba.c:1910 +#: libpq/hba.c:1914 #, c-format -msgid "cannot use ldapbasedn, ldapbinddn, ldapbindpasswd, ldapsearchattribute, ldapsearchfilter, or ldapurl together with ldapprefix" -msgstr "ldapbasedn、 ldapbinddn、ldapbindpasswd、ldapsearchattribute、, ldapsearchfilter またはldapurlは、ldapprefixと同時には指定できません" +msgid "cannot mix options for simple bind and search+bind modes" +msgstr "単純バインドモードと検索+バインドモードのオプションを混在させることはできません" -#: libpq/hba.c:1921 +#: libpq/hba.c:1925 #, c-format msgid "authentication method \"ldap\" requires argument \"ldapbasedn\", \"ldapprefix\", or \"ldapsuffix\" to be set" msgstr "\"ldap\"認証方式の場合は引数 \"ldapbasedn\"、\"ldapprefix\"、\"ldapsuffix\"のいずれかを指定してください" -#: libpq/hba.c:1937 +#: libpq/hba.c:1941 #, c-format msgid "cannot use ldapsearchattribute together with ldapsearchfilter" msgstr "ldapsearchattribute、ldapsearchfilter と同時には指定できません" -#: libpq/hba.c:1954 +#: libpq/hba.c:1958 #, c-format msgid "list of RADIUS servers cannot be empty" msgstr "RADIUSサーバーのリストは空にはできません" -#: libpq/hba.c:1965 +#: libpq/hba.c:1969 #, c-format msgid "list of RADIUS secrets cannot be empty" msgstr "RADIUSシークレットのリストは空にはできません" -#: libpq/hba.c:1982 +#: libpq/hba.c:1986 #, c-format msgid "the number of RADIUS secrets (%d) must be 1 or the same as the number of RADIUS servers (%d)" msgstr "RADIUSシークレットの数(%d)は1またはRADIUSサーバーの数(%d)と同じである必要があります" -#: libpq/hba.c:1998 +#: libpq/hba.c:2002 #, c-format msgid "the number of RADIUS ports (%d) must be 1 or the same as the number of RADIUS servers (%d)" msgstr "RADIUSポートの数(%d)は1またはRADIUSサーバーの数(%d)と同じである必要があります" -#: libpq/hba.c:2014 +#: libpq/hba.c:2018 #, c-format msgid "the number of RADIUS identifiers (%d) must be 1 or the same as the number of RADIUS servers (%d)" msgstr "RADIUS識別子の数(%d)は1またはRADIUSサーバーの数(%d)と同じである必要があります" # -#: libpq/hba.c:2066 +#: libpq/hba.c:2070 msgid "ident, peer, gssapi, sspi, and cert" msgstr "ident、peer、gssapi、sspiおよびcert" -#: libpq/hba.c:2075 +#: libpq/hba.c:2079 #, c-format msgid "clientcert can only be configured for \"hostssl\" rows" msgstr "クライアント証明書は\"hostssl\"の行でのみ設定できます" -#: libpq/hba.c:2092 +#: libpq/hba.c:2096 #, c-format msgid "clientcert only accepts \"verify-full\" when using \"cert\" authentication" msgstr "\"cert\"認証使用時はclientcertは\"verify-full\"にしか設定できません" -#: libpq/hba.c:2105 +#: libpq/hba.c:2109 #, c-format msgid "invalid value for clientcert: \"%s\"" msgstr "clientcertの値が不正です: \"%s\"" -#: libpq/hba.c:2117 +#: libpq/hba.c:2121 #, c-format msgid "clientname can only be configured for \"hostssl\" rows" msgstr "クライアント名は\"hostssl\"の行でのみ設定できます" -#: libpq/hba.c:2136 +#: libpq/hba.c:2140 #, c-format msgid "invalid value for clientname: \"%s\"" msgstr "clientnameの値が不正です: \"%s\"" -#: libpq/hba.c:2169 +#: libpq/hba.c:2173 #, c-format msgid "could not parse LDAP URL \"%s\": %s" msgstr "LDAP URL\"%s\"をパースできませんでした: %s" -#: libpq/hba.c:2180 +#: libpq/hba.c:2184 #, c-format msgid "unsupported LDAP URL scheme: %s" msgstr "非サポートのLDAP URLコード: %s" -#: libpq/hba.c:2204 +#: libpq/hba.c:2208 #, c-format msgid "LDAP URLs not supported on this platform" msgstr "このプラットフォームではLDAP URLをサポートしていません。" -#: libpq/hba.c:2222 +#: libpq/hba.c:2226 #, c-format msgid "invalid ldapscheme value: \"%s\"" msgstr "不正な ldapscheme の値: \"%s\"" -#: libpq/hba.c:2240 +#: libpq/hba.c:2244 #, c-format msgid "invalid LDAP port number: \"%s\"" msgstr "不正なLDAPポート番号です: \"%s\"" # -#: libpq/hba.c:2286 libpq/hba.c:2293 +#: libpq/hba.c:2290 libpq/hba.c:2297 msgid "gssapi and sspi" msgstr "gssapiおよびsspi" -#: libpq/hba.c:2302 libpq/hba.c:2311 +#: libpq/hba.c:2306 libpq/hba.c:2315 msgid "sspi" msgstr "sspi" -#: libpq/hba.c:2333 +#: libpq/hba.c:2337 #, c-format msgid "could not parse RADIUS server list \"%s\"" msgstr "RADIUSサーバーのリスト\"%s\"のパースに失敗しました" -#: libpq/hba.c:2381 +#: libpq/hba.c:2385 #, c-format msgid "could not parse RADIUS port list \"%s\"" msgstr "RADIUSポートのリスト\"%s\"のパースに失敗しました" -#: libpq/hba.c:2395 +#: libpq/hba.c:2399 #, c-format msgid "invalid RADIUS port number: \"%s\"" msgstr "不正なRADIUSポート番号: \"%s\"" -#: libpq/hba.c:2417 +#: libpq/hba.c:2421 #, c-format msgid "could not parse RADIUS secret list \"%s\"" msgstr "RADIUSシークレットのリスト\"%s\"のパースに失敗しました" -#: libpq/hba.c:2439 +#: libpq/hba.c:2443 #, c-format msgid "could not parse RADIUS identifiers list \"%s\"" msgstr "RADIUS識別子のリスト\"%s\"のパースに失敗しました" -#: libpq/hba.c:2453 +#: libpq/hba.c:2457 #, c-format msgid "unrecognized authentication option name: \"%s\"" msgstr "認証オプション名を認識できません: \"%s\"" -#: libpq/hba.c:2645 +#: libpq/hba.c:2649 #, c-format msgid "configuration file \"%s\" contains no entries" msgstr "設定ファイル\"%s\"には何も含まれていません" -#: libpq/hba.c:2798 +#: libpq/hba.c:2802 #, c-format msgid "regular expression match for \"%s\" failed: %s" msgstr "正規表現\"%s\"で照合に失敗しました: %s" -#: libpq/hba.c:2822 +#: libpq/hba.c:2826 #, c-format msgid "regular expression \"%s\" has no subexpressions as requested by backreference in \"%s\"" msgstr "正規表現\"%s\"には\"%s\"における後方参照が要求する副表現が含まれていません" -#: libpq/hba.c:2925 +#: libpq/hba.c:2929 #, c-format msgid "provided user name (%s) and authenticated user name (%s) do not match" msgstr "与えられたユーザー名 (%s) と認証されたユーザー名 (%s) が一致しません" -#: libpq/hba.c:2945 +#: libpq/hba.c:2949 #, c-format msgid "no match in usermap \"%s\" for user \"%s\" authenticated as \"%s\"" msgstr "\"%3$s\"として認証されたユーザー\"%2$s\"はユーザーマップ\"%1$s\"に一致しません" -#: libpq/pqcomm.c:211 libpq/pqcomm.c:219 libpq/pqcomm.c:250 libpq/pqcomm.c:259 libpq/pqcomm.c:1648 libpq/pqcomm.c:1693 libpq/pqcomm.c:1733 libpq/pqcomm.c:1777 libpq/pqcomm.c:1816 libpq/pqcomm.c:1855 libpq/pqcomm.c:1891 libpq/pqcomm.c:1930 +#: libpq/pqcomm.c:212 libpq/pqcomm.c:220 libpq/pqcomm.c:251 libpq/pqcomm.c:260 libpq/pqcomm.c:1649 libpq/pqcomm.c:1694 libpq/pqcomm.c:1734 libpq/pqcomm.c:1778 libpq/pqcomm.c:1817 libpq/pqcomm.c:1856 libpq/pqcomm.c:1892 libpq/pqcomm.c:1931 #, c-format msgid "%s(%s) failed: %m" msgstr "%s(%s)が失敗しました: %m" -#: libpq/pqcomm.c:296 +#: libpq/pqcomm.c:297 #, c-format msgid "could not set socket to nonblocking mode: %m" msgstr "ソケットを非ブロッキングモードに設定できませんでした: %m" -#: libpq/pqcomm.c:456 +#: libpq/pqcomm.c:457 #, c-format msgid "Unix-domain socket path \"%s\" is too long (maximum %d bytes)" msgstr "Unixドメインソケットのパス\"%s\"が長すぎます(最大 %d バイト)" -#: libpq/pqcomm.c:476 +#: libpq/pqcomm.c:477 #, c-format msgid "could not translate host name \"%s\", service \"%s\" to address: %s" msgstr "ホスト名\"%s\"、サービス\"%s\"をアドレスに変換できませんでした: %s" -#: libpq/pqcomm.c:480 +#: libpq/pqcomm.c:481 #, c-format msgid "could not translate service \"%s\" to address: %s" msgstr "サービス\"%s\"をアドレスに変換できませんでした: %s" -#: libpq/pqcomm.c:502 +#: libpq/pqcomm.c:503 #, c-format msgid "could not bind to all requested addresses: MAXLISTEN (%d) exceeded" msgstr "要求されたアドレスを全てバインドできませんでした: MAXLISTEN (%d)を超えています" -#: libpq/pqcomm.c:511 +#: libpq/pqcomm.c:512 msgid "IPv4" msgstr "IPv4" -#: libpq/pqcomm.c:514 +#: libpq/pqcomm.c:515 msgid "IPv6" msgstr "IPv6" -#: libpq/pqcomm.c:517 +#: libpq/pqcomm.c:518 msgid "Unix" msgstr "Unix" -#: libpq/pqcomm.c:521 +#: libpq/pqcomm.c:522 #, c-format msgid "unrecognized address family %d" msgstr "アドレスファミリ %d を認識できません" #. translator: first %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:545 +#: libpq/pqcomm.c:546 #, c-format msgid "could not create %s socket for address \"%s\": %m" msgstr "アドレス\"%s\"に対する%sソケットの作成に失敗しました: %m" #. translator: third %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:574 libpq/pqcomm.c:592 +#: libpq/pqcomm.c:575 libpq/pqcomm.c:593 #, c-format msgid "%s(%s) failed for %s address \"%s\": %m" msgstr "%3$sアドレス%4$sに対する%1$s(%2$s)が失敗しました: %5$m" #. translator: first %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:615 +#: libpq/pqcomm.c:616 #, c-format msgid "could not bind %s address \"%s\": %m" msgstr "%sアドレス\"%s\"のbindに失敗しました: %m" -#: libpq/pqcomm.c:619 +#: libpq/pqcomm.c:620 #, c-format msgid "Is another postmaster already running on port %d?" msgstr "すでに他のpostmasterがポート%dで稼動していませんか?" -#: libpq/pqcomm.c:621 +#: libpq/pqcomm.c:622 #, c-format msgid "Is another postmaster already running on port %d? If not, wait a few seconds and retry." msgstr "すでに他にpostmasterがポート%dで稼動していませんか? 稼動していなければ数秒待ってから再試行してください。" #. translator: first %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:650 +#: libpq/pqcomm.c:651 #, c-format msgid "could not listen on %s address \"%s\": %m" msgstr "%sアドレス\"%s\"のlistenに失敗しました: %m" -#: libpq/pqcomm.c:658 +#: libpq/pqcomm.c:659 #, c-format msgid "listening on Unix socket \"%s\"" msgstr "Unixソケット\"%s\"で待ち受けています" #. translator: first %s is IPv4 or IPv6 -#: libpq/pqcomm.c:663 +#: libpq/pqcomm.c:664 #, c-format msgid "listening on %s address \"%s\", port %d" msgstr "%sアドレス\"%s\"、ポート%dで待ち受けています" -#: libpq/pqcomm.c:753 +#: libpq/pqcomm.c:754 #, c-format msgid "group \"%s\" does not exist" msgstr "グループ\"%s\"は存在しません" -#: libpq/pqcomm.c:763 +#: libpq/pqcomm.c:764 #, c-format msgid "could not set group of file \"%s\": %m" msgstr "ファイル\"%s\"のグループを設定できませんでした: %m" -#: libpq/pqcomm.c:774 +#: libpq/pqcomm.c:775 #, c-format msgid "could not set permissions of file \"%s\": %m" msgstr "ファイル\"%s\"の権限を設定できませんでした: %m" -#: libpq/pqcomm.c:803 +#: libpq/pqcomm.c:804 #, c-format msgid "could not accept new connection: %m" msgstr "新しい接続を受け付けることができませんでした: %m" -#: libpq/pqcomm.c:885 +#: libpq/pqcomm.c:886 #, c-format msgid "there is no client connection" msgstr "クライアント接続がありません" -#: libpq/pqcomm.c:941 libpq/pqcomm.c:1042 +#: libpq/pqcomm.c:942 libpq/pqcomm.c:1043 #, c-format msgid "could not receive data from client: %m" msgstr "クライアントからデータを受信できませんでした: %m" -#: libpq/pqcomm.c:1149 tcop/postgres.c:4446 +#: libpq/pqcomm.c:1150 tcop/postgres.c:4558 #, c-format msgid "terminating connection because protocol synchronization was lost" msgstr "プロトコルの同期が失われたためコネクションを終了します" -#: libpq/pqcomm.c:1215 +#: libpq/pqcomm.c:1216 #, c-format msgid "unexpected EOF within message length word" msgstr "メッセージ長ワード内のEOFは想定外です" -#: libpq/pqcomm.c:1225 +#: libpq/pqcomm.c:1226 #, c-format msgid "invalid message length" msgstr "メッセージ長が不正です" -#: libpq/pqcomm.c:1247 libpq/pqcomm.c:1260 +#: libpq/pqcomm.c:1248 libpq/pqcomm.c:1261 #, c-format msgid "incomplete message from client" msgstr "クライアントからのメッセージが不完全です" -#: libpq/pqcomm.c:1401 +#: libpq/pqcomm.c:1402 #, c-format msgid "could not send data to client: %m" msgstr "クライアントにデータを送信できませんでした: %m" -#: libpq/pqcomm.c:1616 +#: libpq/pqcomm.c:1617 #, c-format msgid "%s(%s) failed: error code %d" msgstr "%s(%s)が失敗しました: エラーコード %d" -#: libpq/pqcomm.c:1705 +#: libpq/pqcomm.c:1706 #, c-format msgid "setting the keepalive idle time is not supported" msgstr "キープアライブのアイドル時間の設定はサポートされていません" -#: libpq/pqcomm.c:1789 libpq/pqcomm.c:1864 libpq/pqcomm.c:1939 +#: libpq/pqcomm.c:1790 libpq/pqcomm.c:1865 libpq/pqcomm.c:1940 #, c-format msgid "%s(%s) not supported" msgstr "%s(%s)はサポートされていません" @@ -15980,12 +16066,12 @@ msgstr "メッセージ内の文字列が不正です" msgid "invalid message format" msgstr "メッセージの書式が不正です" -#: main/main.c:234 +#: main/main.c:233 #, c-format msgid "%s: WSAStartup failed: %d\n" msgstr "%s: WSAStartupが失敗しました: %d\n" -#: main/main.c:322 +#: main/main.c:321 #, c-format msgid "" "%s is the PostgreSQL server.\n" @@ -15994,7 +16080,7 @@ msgstr "" "%sはPostgreSQLサーバーです\n" "\n" -#: main/main.c:323 +#: main/main.c:322 #, c-format msgid "" "Usage:\n" @@ -16005,107 +16091,107 @@ msgstr "" " %s [オプション]...\n" "\n" -#: main/main.c:324 +#: main/main.c:323 #, c-format msgid "Options:\n" msgstr "オプション:\n" -#: main/main.c:325 +#: main/main.c:324 #, c-format msgid " -B NBUFFERS number of shared buffers\n" msgstr " -B NBUFFERS 共有バッファの数\n" -#: main/main.c:326 +#: main/main.c:325 #, c-format msgid " -c NAME=VALUE set run-time parameter\n" msgstr " -c NAME=VALUE 実行時パラメータの設定\n" -#: main/main.c:327 +#: main/main.c:326 #, c-format msgid " -C NAME print value of run-time parameter, then exit\n" msgstr " -C NAME 実行時パラメータの値を表示し、終了\n" -#: main/main.c:328 +#: main/main.c:327 #, c-format msgid " -d 1-5 debugging level\n" msgstr " -d 1-5 デバッグレベル\n" -#: main/main.c:329 +#: main/main.c:328 #, c-format msgid " -D DATADIR database directory\n" msgstr " -D DATADIR データベースディレクトリ\n" -#: main/main.c:330 +#: main/main.c:329 #, c-format msgid " -e use European date input format (DMY)\n" msgstr " -e ヨーロッパ式の日付フォーマットでの入力(DMY)\n" -#: main/main.c:331 +#: main/main.c:330 #, c-format msgid " -F turn fsync off\n" msgstr " -F fsyncを無効にする\n" -#: main/main.c:332 +#: main/main.c:331 #, c-format msgid " -h HOSTNAME host name or IP address to listen on\n" msgstr " -h HOSTNAME 接続を待ち受けるホスト名またはIPアドレス\n" -#: main/main.c:333 +#: main/main.c:332 #, c-format msgid " -i enable TCP/IP connections (deprecated)\n" msgstr " -i TCP/IP接続を有効にする (非推奨)\n" -#: main/main.c:334 +#: main/main.c:333 #, c-format msgid " -k DIRECTORY Unix-domain socket location\n" msgstr " -k DIRECTORY Unixドメインソケットの場所\n" -#: main/main.c:336 +#: main/main.c:335 #, c-format msgid " -l enable SSL connections\n" msgstr " -l SSL接続を有効にする\n" -#: main/main.c:338 +#: main/main.c:337 #, c-format msgid " -N MAX-CONNECT maximum number of allowed connections\n" msgstr " -N MAX-CONNECT 許容する最大接続数\n" -#: main/main.c:339 +#: main/main.c:338 #, c-format msgid " -p PORT port number to listen on\n" msgstr " -p PORT 接続を待ち受けるポート番号\n" -#: main/main.c:340 +#: main/main.c:339 #, c-format msgid " -s show statistics after each query\n" msgstr " -s 各問い合わせの後に統計情報を表示\n" -#: main/main.c:341 +#: main/main.c:340 #, c-format msgid " -S WORK-MEM set amount of memory for sorts (in kB)\n" msgstr " -S WORK-MEM ソート用のメモリ量 (KB単位)\n" -#: main/main.c:342 +#: main/main.c:341 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version バージョン情報を表示し、終了\n" -#: main/main.c:343 +#: main/main.c:342 #, c-format msgid " --NAME=VALUE set run-time parameter\n" msgstr " --NAME=VALUE 実行時パラメータを設定\n" -#: main/main.c:344 +#: main/main.c:343 #, c-format msgid " --describe-config describe configuration parameters, then exit\n" msgstr " --describe-config 設定パラメータの説明を出力し、終了\n" -#: main/main.c:345 +#: main/main.c:344 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help このヘルプを表示し、終了\n" -#: main/main.c:347 +#: main/main.c:346 #, c-format msgid "" "\n" @@ -16114,39 +16200,39 @@ msgstr "" "\n" "開発者向けオプション:\n" -#: main/main.c:348 +#: main/main.c:347 #, c-format msgid " -f s|i|o|b|t|n|m|h forbid use of some plan types\n" msgstr " -f s|i|o|b|t|n|m|h いくつかのプランタイプを禁止\n" -#: main/main.c:349 +#: main/main.c:348 #, c-format msgid " -O allow system table structure changes\n" msgstr " -O システムテーブル構造の変更を許可\n" -#: main/main.c:350 +#: main/main.c:349 #, c-format msgid " -P disable system indexes\n" msgstr " -P システムインデックスを無効にする\n" -#: main/main.c:351 +#: main/main.c:350 #, c-format msgid " -t pa|pl|ex show timings after each query\n" msgstr " -t pa|pl|ex 各問い合わせの後に時間情報を表示\n" -#: main/main.c:352 +#: main/main.c:351 #, c-format msgid " -T send SIGABRT to all backend processes if one dies\n" msgstr "" " -T ひとつのバックエンドプロセスが異常停止した時に全ての\n" " バックエンドプロセスにSIGABRTを送信\n" -#: main/main.c:353 +#: main/main.c:352 #, c-format msgid " -W NUM wait NUM seconds to allow attach from a debugger\n" msgstr " -W NUM デバッガをアタッチできるようにNUM秒待機\n" -#: main/main.c:355 +#: main/main.c:354 #, c-format msgid "" "\n" @@ -16155,39 +16241,39 @@ msgstr "" "\n" "シングルユーザーモード用のオプション:\n" -#: main/main.c:356 +#: main/main.c:355 #, c-format msgid " --single selects single-user mode (must be first argument)\n" msgstr "" " --single シングルユーザーモードを選択(最初の引数でなければ\n" " なりません)\n" -#: main/main.c:357 +#: main/main.c:356 #, c-format msgid " DBNAME database name (defaults to user name)\n" msgstr " DBNAME データベース名 (デフォルトはユーザー名)\n" -#: main/main.c:358 +#: main/main.c:357 #, c-format msgid " -d 0-5 override debugging level\n" msgstr " -d 0-5 デバッグレベルを上書き\n" -#: main/main.c:359 +#: main/main.c:358 #, c-format msgid " -E echo statement before execution\n" msgstr " -E 実行前に文を表示\n" -#: main/main.c:360 +#: main/main.c:359 #, c-format msgid " -j do not use newline as interactive query delimiter\n" msgstr " -j 対話式問い合わせの区切りとして改行を使用しない\n" -#: main/main.c:361 main/main.c:367 +#: main/main.c:360 main/main.c:366 #, c-format msgid " -r FILENAME send stdout and stderr to given file\n" msgstr " -r FILENAME 標準出力と標準エラー出力を指定したファイルに出力\n" -#: main/main.c:363 +#: main/main.c:362 #, c-format msgid "" "\n" @@ -16196,22 +16282,22 @@ msgstr "" "\n" "初期起動用のオプション:\n" -#: main/main.c:364 +#: main/main.c:363 #, c-format msgid " --boot selects bootstrapping mode (must be first argument)\n" msgstr " --boot 初期起動モードを選択 (最初の引数でなければなりません)\n" -#: main/main.c:365 +#: main/main.c:364 #, c-format msgid " --check selects check mode (must be first argument)\n" msgstr " --check チェックモードを選択 (最初の引数でなければなりません)\n" -#: main/main.c:366 +#: main/main.c:365 #, c-format msgid " DBNAME database name (mandatory argument in bootstrapping mode)\n" msgstr " DBNAME データベース名 (初期起動モードでは必須の引数)\n" -#: main/main.c:369 +#: main/main.c:368 #, c-format msgid "" "\n" @@ -16227,12 +16313,12 @@ msgstr "" "\n" "不具合は<%s>まで報告してください。\n" -#: main/main.c:373 +#: main/main.c:372 #, c-format msgid "%s home page: <%s>\n" msgstr "%s ホームページ: <%s>\n" -#: main/main.c:384 +#: main/main.c:383 #, c-format msgid "" "\"root\" execution of the PostgreSQL server is not permitted.\n" @@ -16245,12 +16331,12 @@ msgstr "" "する必要があります。適切なサーバーの起動方法に関する詳細はドキュメントを\n" "参照してください\n" -#: main/main.c:401 +#: main/main.c:400 #, c-format msgid "%s: real and effective user IDs must match\n" msgstr "%s: 実ユーザーIDと実効ユーザーIDは一致しなければなりません\n" -#: main/main.c:408 +#: main/main.c:407 #, c-format msgid "" "Execution of PostgreSQL by a user with administrative permissions is not\n" @@ -16279,7 +16365,7 @@ msgstr "ExtensibleNodeMethods \"%s\"は登録されていません" msgid "relation \"%s\" does not have a composite type" msgstr "リレーション\"%s\"は複合型を持っていません" -#: nodes/nodeFuncs.c:118 nodes/nodeFuncs.c:149 parser/parse_coerce.c:2567 parser/parse_coerce.c:2705 parser/parse_coerce.c:2752 parser/parse_expr.c:2112 parser/parse_func.c:710 parser/parse_oper.c:869 utils/fmgr/funcapi.c:669 +#: nodes/nodeFuncs.c:118 nodes/nodeFuncs.c:149 parser/parse_coerce.c:2567 parser/parse_coerce.c:2705 parser/parse_coerce.c:2752 parser/parse_expr.c:2110 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" msgstr "データ型%sの配列型がありませんでした" @@ -16299,54 +16385,54 @@ msgstr "パラメータを持つ無名ポータル: %s" msgid "FULL JOIN is only supported with merge-joinable or hash-joinable join conditions" msgstr "FULL JOIN はマージ結合可能もしくはハッシュ結合可能な場合のみサポートされています" -#: optimizer/plan/createplan.c:7162 parser/parse_merge.c:203 rewrite/rewriteHandler.c:1695 +#: optimizer/plan/createplan.c:7251 parser/parse_merge.c:203 rewrite/rewriteHandler.c:1696 #, c-format msgid "cannot execute MERGE on relation \"%s\"" msgstr "リレーション\"%s\"に対してMERGEは実行できません" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: optimizer/plan/initsplan.c:1407 +#: optimizer/plan/initsplan.c:1514 #, c-format msgid "%s cannot be applied to the nullable side of an outer join" msgstr "外部結合のNULL可な側では%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:1434 parser/analyze.c:1862 parser/analyze.c:2121 parser/analyze.c:3339 #, c-format msgid "%s is not allowed with UNION/INTERSECT/EXCEPT" msgstr "UNION/INTERSECT/EXCEPTでは%sを使用できません" -#: optimizer/plan/planner.c:2121 optimizer/plan/planner.c:4107 +#: optimizer/plan/planner.c:2175 optimizer/plan/planner.c:4179 #, c-format msgid "could not implement GROUP BY" msgstr "GROUP BY を実行できませんでした" -#: optimizer/plan/planner.c:2122 optimizer/plan/planner.c:4108 optimizer/plan/planner.c:4789 optimizer/prep/prepunion.c:1320 +#: optimizer/plan/planner.c:2176 optimizer/plan/planner.c:4180 optimizer/plan/planner.c:4861 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:4788 +#: optimizer/plan/planner.c:4860 #, c-format msgid "could not implement DISTINCT" msgstr "DISTINCTを実行できませんでした" -#: optimizer/plan/planner.c:6133 +#: optimizer/plan/planner.c:6234 #, c-format msgid "could not implement window PARTITION BY" msgstr "ウィンドウの PARTITION BY を実行できませんでした" -#: optimizer/plan/planner.c:6134 +#: optimizer/plan/planner.c:6235 #, c-format msgid "Window partitioning columns must be of sortable datatypes." msgstr "ウィンドウ分割に使用する列は、ソート可能なデータ型でなければなりません。" -#: optimizer/plan/planner.c:6138 +#: optimizer/plan/planner.c:6239 #, c-format msgid "could not implement window ORDER BY" msgstr "ウィンドウの ORDER BY を実行できませんでした" -#: optimizer/plan/planner.c:6139 +#: optimizer/plan/planner.c:6240 #, c-format msgid "Window ordering columns must be of sortable datatypes." msgstr "ウィンドウの順序付けをする列は、ソート可能なデータ型でなければなりません。" @@ -16367,854 +16453,864 @@ msgstr "すべての列のデータ型はハッシュ可能でなければなり msgid "could not implement %s" msgstr "%sを実行できませんでした" -#: optimizer/util/clauses.c:4951 +#: optimizer/util/appendinfo.c:165 +#, c-format +msgid "attribute \"%s\" of relation \"%s\" does not match parent's type" +msgstr "リレーション\"%2$s\"の属性\"%1$s\"は親での型と一致していません" + +#: optimizer/util/appendinfo.c:170 +#, c-format +msgid "attribute \"%s\" of relation \"%s\" does not match parent's collation" +msgstr "リレーション\"%2$s\"の属性\"%1$s\"は親での照合順序と一致していません" + +#: optimizer/util/clauses.c:4963 #, c-format msgid "SQL function \"%s\" during inlining" msgstr "SQL関数\"%s\"のインライン化処理中" -#: optimizer/util/plancat.c:152 +#: optimizer/util/plancat.c:153 #, c-format msgid "cannot access temporary or unlogged relations during recovery" msgstr "リカバリ中は一時テーブルやUNLOGGEDテーブルにはアクセスできません" -#: optimizer/util/plancat.c:754 +#: optimizer/util/plancat.c:767 #, c-format msgid "whole row unique index inference specifications are not supported" msgstr "行全体に渡るユニークインデックスの推定指定はサポートされていません" -#: optimizer/util/plancat.c:771 +#: optimizer/util/plancat.c:784 #, c-format msgid "constraint in ON CONFLICT clause has no associated index" msgstr "ON CONFLICT句中の制約には関連付けられるインデックスがありません" -#: optimizer/util/plancat.c:821 +#: optimizer/util/plancat.c:834 #, c-format msgid "ON CONFLICT DO UPDATE not supported with exclusion constraints" msgstr "ON CONFLICT DO UPDATEでの排除制約の使用はサポートされていません" -#: optimizer/util/plancat.c:926 +#: optimizer/util/plancat.c:951 #, c-format msgid "there is no unique or exclusion constraint matching the ON CONFLICT specification" msgstr "ON CONFLICT 指定に合致するユニーク制約または排除制約がありません" -#: parser/analyze.c:824 parser/analyze.c:1550 +#: parser/analyze.c:915 parser/analyze.c:1641 #, c-format msgid "VALUES lists must all be the same length" msgstr "VALUESリストはすべて同じ長さでなければなりません" -#: parser/analyze.c:1027 +#: parser/analyze.c:1118 #, c-format msgid "INSERT has more expressions than target columns" msgstr "INSERTに対象列よりも多くの式があります" -#: parser/analyze.c:1045 +#: parser/analyze.c:1136 #, c-format msgid "INSERT has more target columns than expressions" msgstr "INSERTに式よりも多くの対象列があります" -#: parser/analyze.c:1049 +#: parser/analyze.c:1140 #, c-format msgid "The insertion source is a row expression containing the same number of columns expected by the INSERT. Did you accidentally use extra parentheses?" msgstr "挿入ソースがINSERTが期待するのと同じ列数を含む行表現になっています。うっかり余計なカッコをつけたりしませんでしたか?" -#: parser/analyze.c:1357 parser/analyze.c:1744 +#: parser/analyze.c:1448 parser/analyze.c:1835 #, c-format msgid "SELECT ... INTO is not allowed here" 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:1764 parser/analyze.c:3571 #, c-format msgid "%s cannot be applied to VALUES" msgstr "%sをVALUESに使用できません" -#: parser/analyze.c:1911 +#: parser/analyze.c:2002 #, c-format msgid "invalid UNION/INTERSECT/EXCEPT ORDER BY clause" msgstr "不正なUNION/INTERSECT/EXCEPT ORDER BY句です" -#: parser/analyze.c:1912 +#: parser/analyze.c:2003 #, c-format msgid "Only result column names can be used, not expressions or functions." msgstr "式や関数ではなく、結果列の名前のみが使用できます。" -#: parser/analyze.c:1913 +#: parser/analyze.c:2004 #, c-format msgid "Add the expression/function to every SELECT, or move the UNION into a FROM clause." msgstr "式/関数をすべてのSELECTにつけてください。またはこのUNIONをFROM句に移動してください。" -#: parser/analyze.c:2019 +#: parser/analyze.c:2111 #, c-format msgid "INTO is only allowed on first SELECT of UNION/INTERSECT/EXCEPT" msgstr "INTOはUNION/INTERSECT/EXCEPTの最初のSELECTでのみ使用できます" -#: parser/analyze.c:2091 +#: parser/analyze.c:2183 #, c-format msgid "UNION/INTERSECT/EXCEPT member statement cannot refer to other relations of same query level" msgstr "UNION/INTERSECT/EXCEPTの要素となる文では同一問い合わせレベルの他のリレーションを参照できません" -#: parser/analyze.c:2178 +#: parser/analyze.c:2270 #, c-format msgid "each %s query must have the same number of columns" msgstr "すべての%s問い合わせは同じ列数を返す必要があります" -#: parser/analyze.c:2535 +#: parser/analyze.c:2627 #, c-format msgid "SET target columns cannot be qualified with the relation name." msgstr "SETの対象列はリレーション名で修飾することはできません。" -#: parser/analyze.c:2589 +#: parser/analyze.c:2681 #, c-format msgid "RETURNING must have at least one column" msgstr "RETURNINGには少なくとも1つの列が必要です" -#: parser/analyze.c:2692 +#: parser/analyze.c:2784 #, c-format msgid "assignment source returned %d column" msgid_plural "assignment source returned %d columns" msgstr[0] "代入元が%d個の列を返しました" -#: parser/analyze.c:2753 +#: parser/analyze.c:2845 #, c-format msgid "variable \"%s\" is of type %s but expression is of type %s" msgstr "変数\"%s\"は型%sですが、式は型%sでした" #. translator: %s is a SQL keyword -#: parser/analyze.c:2878 parser/analyze.c:2886 +#: parser/analyze.c:2970 parser/analyze.c:2978 #, c-format msgid "cannot specify both %s and %s" msgstr "%sと%sの両方を同時には指定できません" -#: parser/analyze.c:2906 +#: parser/analyze.c:2998 #, 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:3006 #, c-format msgid "DECLARE CURSOR WITH HOLD ... %s is not supported" msgstr "DECLARE CURSOR WITH HOLD ... %sはサポートされていません" -#: parser/analyze.c:2917 +#: parser/analyze.c:3009 #, c-format msgid "Holdable cursors must be READ ONLY." msgstr "保持可能カーソルは読み取り専用である必要があります。" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:2925 +#: parser/analyze.c:3017 #, 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:3028 #, c-format msgid "DECLARE INSENSITIVE CURSOR ... %s is not valid" msgstr "DECLARE INSENSITIVE CURSOR ... %sはが不正です" -#: parser/analyze.c:2939 +#: parser/analyze.c:3031 #, c-format msgid "Insensitive cursors must be READ ONLY." msgstr "INSENSITIVEカーソルは読み取り専用である必要があります。" -#: parser/analyze.c:3033 +#: parser/analyze.c:3125 #, c-format msgid "materialized views must not use data-modifying statements in WITH" msgstr "実体化ビューではWITH句にデータを変更する文を含んではなりません" -#: parser/analyze.c:3043 +#: parser/analyze.c:3135 #, c-format msgid "materialized views must not use temporary tables or views" msgstr "実体化ビューでは一時テーブルやビューを使用してはいけません" -#: parser/analyze.c:3053 +#: parser/analyze.c:3145 #, c-format msgid "materialized views may not be defined using bound parameters" msgstr "実体化ビューは境界パラメータを用いて定義してはなりません" -#: parser/analyze.c:3065 +#: parser/analyze.c:3157 #, 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:3346 #, c-format msgid "%s is not allowed with DISTINCT clause" msgstr "DISTINCT句では%sを使用できません" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3261 +#: parser/analyze.c:3353 #, c-format msgid "%s is not allowed with GROUP BY clause" msgstr "GROUP BY句で%sを使用できません" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3268 +#: parser/analyze.c:3360 #, c-format msgid "%s is not allowed with HAVING clause" msgstr "HAVING 句では%sを使用できません" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3275 +#: parser/analyze.c:3367 #, 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:3374 #, 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:3381 #, 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:3480 #, 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:3544 #, 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:3553 #, 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:3562 #, 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:3580 #, 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:3589 #, 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:3609 #, c-format 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:215 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:217 #, c-format msgid "Aggregates with DISTINCT must be able to sort their inputs." msgstr "DISTINCT 付きの集約関数は、入力がソート可能である必要があります。" -#: parser/parse_agg.c:270 +#: parser/parse_agg.c:275 #, c-format msgid "GROUPING must have fewer than 32 arguments" msgstr "GROUPINGの引数は32より少くなければなりません" -#: parser/parse_agg.c:373 +#: parser/parse_agg.c:378 msgid "aggregate functions are not allowed in JOIN conditions" msgstr "JOIN条件で集約関数を使用できません" -#: parser/parse_agg.c:375 +#: parser/parse_agg.c:380 msgid "grouping operations are not allowed in JOIN conditions" msgstr "グルーピング演算はJOIN条件の中では使用できません" -#: parser/parse_agg.c:387 +#: parser/parse_agg.c:390 msgid "aggregate functions are not allowed in FROM clause of their own query level" msgstr "集約関数は自身の問い合わせレベルのFROM句の中では使用できません" -#: parser/parse_agg.c:389 +#: parser/parse_agg.c:392 msgid "grouping operations are not allowed in FROM clause of their own query level" msgstr "グルーピング演算は自身のクエリレベルのFROM句の中では使用できません" -#: parser/parse_agg.c:394 +#: parser/parse_agg.c:397 msgid "aggregate functions are not allowed in functions in FROM" msgstr "集約関数はFROM句内の関数では使用できません" -#: parser/parse_agg.c:396 +#: parser/parse_agg.c:399 msgid "grouping operations are not allowed in functions in FROM" msgstr "グルーピング演算はFROM句内の関数では使用できません" -#: parser/parse_agg.c:404 +#: parser/parse_agg.c:407 msgid "aggregate functions are not allowed in policy expressions" msgstr "集約関数はポリシ式では使用できません" -#: parser/parse_agg.c:406 +#: parser/parse_agg.c:409 msgid "grouping operations are not allowed in policy expressions" msgstr "グルーピング演算はポリシ式では使用できません" -#: parser/parse_agg.c:423 +#: parser/parse_agg.c:426 msgid "aggregate functions are not allowed in window RANGE" msgstr "集約関数はウィンドウRANGEの中では集約関数を使用できません" -#: parser/parse_agg.c:425 +#: parser/parse_agg.c:428 msgid "grouping operations are not allowed in window RANGE" msgstr "ウィンドウ定義のRANGE句の中ではグルーピング演算は使用できません" -#: parser/parse_agg.c:430 +#: parser/parse_agg.c:433 msgid "aggregate functions are not allowed in window ROWS" msgstr "ウィンドウ定義のROWS句では集約関数は使用できません" -#: parser/parse_agg.c:432 +#: parser/parse_agg.c:435 msgid "grouping operations are not allowed in window ROWS" msgstr "ウィンドウ定義のROWS句ではグルーピング演算は使用できません" -#: parser/parse_agg.c:437 +#: parser/parse_agg.c:440 msgid "aggregate functions are not allowed in window GROUPS" msgstr "ウィンドウ定義のGROUPS句では集約関数は使用できません" -#: parser/parse_agg.c:439 +#: parser/parse_agg.c:442 msgid "grouping operations are not allowed in window GROUPS" msgstr "ウィンドウ定義のGROUPS句ではグルーピング演算は使用できません" -#: parser/parse_agg.c:452 +#: parser/parse_agg.c:455 msgid "aggregate functions are not allowed in MERGE WHEN conditions" msgstr "MERGE WHEN条件では集約関数を使用できません" -#: parser/parse_agg.c:454 +#: parser/parse_agg.c:457 msgid "grouping operations are not allowed in MERGE WHEN conditions" msgstr "MERGE WHEN条件ではグルーピング演算を使用できません" -#: parser/parse_agg.c:481 +#: parser/parse_agg.c:484 msgid "aggregate functions are not allowed in check constraints" msgstr "検査制約では集約関数を使用できません" -#: parser/parse_agg.c:483 +#: parser/parse_agg.c:486 msgid "grouping operations are not allowed in check constraints" msgstr "検査制約ではグルーピング演算を使用できません" -#: parser/parse_agg.c:490 +#: parser/parse_agg.c:493 msgid "aggregate functions are not allowed in DEFAULT expressions" msgstr "DEFAULT式では集約関数を使用できません" -#: parser/parse_agg.c:492 +#: parser/parse_agg.c:495 msgid "grouping operations are not allowed in DEFAULT expressions" msgstr "DEFAULT式ではグルーピング演算を使用できません" -#: parser/parse_agg.c:497 +#: parser/parse_agg.c:500 msgid "aggregate functions are not allowed in index expressions" msgstr "インデックス式では集約関数を使用できません" -#: parser/parse_agg.c:499 +#: parser/parse_agg.c:502 msgid "grouping operations are not allowed in index expressions" msgstr "インデックス式ではグルーピング演算を使用できません" -#: parser/parse_agg.c:504 +#: parser/parse_agg.c:507 msgid "aggregate functions are not allowed in index predicates" msgstr "インデックス述語では集約関数を使用できません" -#: parser/parse_agg.c:506 +#: parser/parse_agg.c:509 msgid "grouping operations are not allowed in index predicates" msgstr "インデックス述語ではグルーピング演算を使用できません" -#: parser/parse_agg.c:511 +#: parser/parse_agg.c:514 msgid "aggregate functions are not allowed in statistics expressions" msgstr "統計情報式では集約関数を使用できません" -#: parser/parse_agg.c:513 +#: parser/parse_agg.c:516 msgid "grouping operations are not allowed in statistics expressions" msgstr "統計情報式ではグルーピング演算使用できません" -#: parser/parse_agg.c:518 +#: parser/parse_agg.c:521 msgid "aggregate functions are not allowed in transform expressions" msgstr "変換式では集約関数を使用できません" -#: parser/parse_agg.c:520 +#: parser/parse_agg.c:523 msgid "grouping operations are not allowed in transform expressions" msgstr "変換式ではグルーピング演算を使用できません" -#: parser/parse_agg.c:525 +#: parser/parse_agg.c:528 msgid "aggregate functions are not allowed in EXECUTE parameters" msgstr "EXECUTEのパラメータでは集約関数を使用できません" -#: parser/parse_agg.c:527 +#: parser/parse_agg.c:530 msgid "grouping operations are not allowed in EXECUTE parameters" msgstr "EXECUTEのパラメータではグルーピング演算を使用できません" -#: parser/parse_agg.c:532 +#: parser/parse_agg.c:535 msgid "aggregate functions are not allowed in trigger WHEN conditions" msgstr "トリガのWHEN条件では集約関数を使用できません" -#: parser/parse_agg.c:534 +#: parser/parse_agg.c:537 msgid "grouping operations are not allowed in trigger WHEN conditions" msgstr "トリガのWHEN条件ではグルーピング演算を使用できません" -#: parser/parse_agg.c:539 +#: parser/parse_agg.c:542 msgid "aggregate functions are not allowed in partition bound" msgstr "集約関数はパーティション境界では使用できません" -#: parser/parse_agg.c:541 +#: parser/parse_agg.c:544 msgid "grouping operations are not allowed in partition bound" msgstr "グルーピング演算はパーティション境界では使用できません" -#: parser/parse_agg.c:546 +#: parser/parse_agg.c:549 msgid "aggregate functions are not allowed in partition key expressions" msgstr "パーティションキー式では集約関数は使用できません" -#: parser/parse_agg.c:548 +#: parser/parse_agg.c:551 msgid "grouping operations are not allowed in partition key expressions" msgstr "パーティションキー式ではグルーピング演算は使用できません" -#: parser/parse_agg.c:554 +#: parser/parse_agg.c:557 msgid "aggregate functions are not allowed in column generation expressions" msgstr "集約関数はカラム生成式では使用できません" -#: parser/parse_agg.c:556 +#: parser/parse_agg.c:559 msgid "grouping operations are not allowed in column generation expressions" msgstr "グルーピング演算はカラム生成式では使用できません" -#: parser/parse_agg.c:562 +#: parser/parse_agg.c:565 msgid "aggregate functions are not allowed in CALL arguments" msgstr "CALLの引数では集約関数を使用できません" -#: parser/parse_agg.c:564 +#: parser/parse_agg.c:567 msgid "grouping operations are not allowed in CALL arguments" msgstr "CALLの引数ではグルーピング演算を使用できません" -#: parser/parse_agg.c:570 +#: parser/parse_agg.c:573 msgid "aggregate functions are not allowed in COPY FROM WHERE conditions" msgstr "集約関数は COPY FROM の WHERE 条件では使用できません" -#: parser/parse_agg.c:572 +#: parser/parse_agg.c:575 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:599 parser/parse_clause.c:1962 +#: parser/parse_agg.c:602 parser/parse_clause.c:1960 #, 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:602 +#: parser/parse_agg.c:605 #, c-format msgid "grouping operations are not allowed in %s" msgstr "%sではグルーピング演算を使用できません" -#: parser/parse_agg.c:703 +#: parser/parse_agg.c:706 #, c-format msgid "outer-level aggregate cannot contain a lower-level variable in its direct arguments" msgstr "アウタレベルの集約は直接引数に低位の変数を含むことができません" -#: parser/parse_agg.c:781 +#: parser/parse_agg.c:784 #, c-format msgid "aggregate function calls cannot contain set-returning function calls" msgstr "集合返却関数の呼び出しに集約関数の呼び出しを含むことはできません" -#: parser/parse_agg.c:782 parser/parse_expr.c:1762 parser/parse_expr.c:2245 parser/parse_func.c:885 +#: parser/parse_agg.c:785 parser/parse_expr.c:1760 parser/parse_expr.c:2243 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:787 +#: parser/parse_agg.c:790 #, c-format msgid "aggregate function calls cannot contain window function calls" msgstr "集約関数の呼び出しにウィンドウ関数の呼び出しを含むことはできません" -#: parser/parse_agg.c:866 +#: parser/parse_agg.c:869 msgid "window functions are not allowed in JOIN conditions" msgstr "JOIN条件ではウィンドウ関数を使用できません" -#: parser/parse_agg.c:873 +#: parser/parse_agg.c:876 msgid "window functions are not allowed in functions in FROM" msgstr "FROM句内の関数ではウィンドウ関数を使用できません" -#: parser/parse_agg.c:879 +#: parser/parse_agg.c:882 msgid "window functions are not allowed in policy expressions" msgstr "ポリシ式ではウィンドウ関数を使用できません" -#: parser/parse_agg.c:892 +#: parser/parse_agg.c:895 msgid "window functions are not allowed in window definitions" msgstr "ウィンドウ定義ではウィンドウ関数は使用できません" -#: parser/parse_agg.c:903 +#: parser/parse_agg.c:906 msgid "window functions are not allowed in MERGE WHEN conditions" msgstr "MERGE WHEN条件ではウィンドウ関数を使用できません" -#: parser/parse_agg.c:928 +#: parser/parse_agg.c:931 msgid "window functions are not allowed in check constraints" msgstr "検査制約の中ではウィンドウ関数を使用できません" -#: parser/parse_agg.c:932 +#: parser/parse_agg.c:935 msgid "window functions are not allowed in DEFAULT expressions" msgstr "DEFAULT式の中ではウィンドウ関数を使用できません" -#: parser/parse_agg.c:935 +#: parser/parse_agg.c:938 msgid "window functions are not allowed in index expressions" msgstr "インデックス式ではウィンドウ関数を使用できません" -#: parser/parse_agg.c:938 +#: parser/parse_agg.c:941 msgid "window functions are not allowed in statistics expressions" msgstr "統計情報式ではウィンドウ関数を使用できません" -#: parser/parse_agg.c:941 +#: parser/parse_agg.c:944 msgid "window functions are not allowed in index predicates" msgstr "インデックス述語ではウィンドウ関数を使用できません" -#: parser/parse_agg.c:944 +#: parser/parse_agg.c:947 msgid "window functions are not allowed in transform expressions" msgstr "変換式ではウィンドウ関数を使用できません" -#: parser/parse_agg.c:947 +#: parser/parse_agg.c:950 msgid "window functions are not allowed in EXECUTE parameters" msgstr "EXECUTEパラメータではウィンドウ関数を使用できません" -#: parser/parse_agg.c:950 +#: parser/parse_agg.c:953 msgid "window functions are not allowed in trigger WHEN conditions" msgstr "トリガのWHEN条件ではウィンドウ関数を使用できません" -#: parser/parse_agg.c:953 +#: parser/parse_agg.c:956 msgid "window functions are not allowed in partition bound" msgstr "ウィンドウ関数はパーティション境界では使用できません" -#: parser/parse_agg.c:956 +#: parser/parse_agg.c:959 msgid "window functions are not allowed in partition key expressions" msgstr "パーティションキー式ではウィンドウ関数は使用できません" -#: parser/parse_agg.c:959 +#: parser/parse_agg.c:962 msgid "window functions are not allowed in CALL arguments" msgstr "CALLの引数ではウィンドウ関数は使用できません" -#: parser/parse_agg.c:962 +#: parser/parse_agg.c:965 msgid "window functions are not allowed in COPY FROM WHERE conditions" msgstr "ウィンドウ関数は COPY FROM の WHERE 条件では使用できません" -#: parser/parse_agg.c:965 +#: parser/parse_agg.c:968 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:988 parser/parse_clause.c:1971 +#: parser/parse_agg.c:991 parser/parse_clause.c:1969 #, c-format msgid "window functions are not allowed in %s" msgstr "%sの中ではウィンドウ関数を使用できません" -#: parser/parse_agg.c:1022 parser/parse_clause.c:2804 +#: parser/parse_agg.c:1025 parser/parse_clause.c:2802 #, c-format msgid "window \"%s\" does not exist" msgstr "ウィンドウ\"%s\"は存在しません" -#: parser/parse_agg.c:1110 +#: parser/parse_agg.c:1115 #, c-format msgid "too many grouping sets present (maximum 4096)" msgstr "グルーピングセットの数が多すぎます (最大4096)" -#: parser/parse_agg.c:1250 +#: parser/parse_agg.c:1276 #, c-format msgid "aggregate functions are not allowed in a recursive query's recursive term" msgstr "再帰問い合わせの再帰項では集約関数を使用できません" -#: parser/parse_agg.c:1443 +#: parser/parse_agg.c:1499 #, 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:1446 +#: parser/parse_agg.c:1502 #, c-format msgid "Direct arguments of an ordered-set aggregate must use only grouped columns." msgstr "順序集合集約の直接引数はグルーピングされた列のみを使用しなければなりません。" -#: parser/parse_agg.c:1451 +#: parser/parse_agg.c:1507 #, c-format msgid "subquery uses ungrouped column \"%s.%s\" from outer query" msgstr "外部問い合わせから副問い合わせがグループ化されていない列\"%s.%s\"を使用しています" -#: parser/parse_agg.c:1615 +#: parser/parse_agg.c:1672 #, c-format msgid "arguments to GROUPING must be grouping expressions of the associated query level" msgstr "GROUPINGの引数は関連するクエリレベルのグルーピング式でなければなりません" -#: parser/parse_clause.c:193 +#: parser/parse_clause.c:191 #, c-format msgid "relation \"%s\" cannot be the target of a modifying statement" msgstr "リレーション\"%s\"は更新文の対象にはなれません" -#: parser/parse_clause.c:569 parser/parse_clause.c:597 parser/parse_func.c:2553 +#: parser/parse_clause.c:567 parser/parse_clause.c:595 parser/parse_func.c:2553 #, c-format msgid "set-returning functions must appear at top level of FROM" msgstr "集合返却関数はFROMの最上位レベルにある必要があります" -#: parser/parse_clause.c:609 +#: parser/parse_clause.c:607 #, c-format msgid "multiple column definition lists are not allowed for the same function" msgstr "同じ関数に対して複数の列定義リストを持つことができません" -#: parser/parse_clause.c:642 +#: parser/parse_clause.c:640 #, c-format msgid "ROWS FROM() with multiple functions cannot have a column definition list" msgstr "複数の関数を伴った ROWS FROM() は列定義リストを持つことができません" -#: parser/parse_clause.c:643 +#: parser/parse_clause.c:641 #, c-format msgid "Put a separate column definition list for each function inside ROWS FROM()." msgstr "ROWS FROM() 内のそれぞれの関数ごとに個別の列定義リストを付けてください。" -#: parser/parse_clause.c:649 +#: parser/parse_clause.c:647 #, c-format msgid "UNNEST() with multiple arguments cannot have a column definition list" msgstr "複数の引数をもつUNNEST()は列定義リストを持つことができません" -#: parser/parse_clause.c:650 +#: parser/parse_clause.c:648 #, c-format msgid "Use separate UNNEST() calls inside ROWS FROM(), and attach a column definition list to each one." msgstr "ROWS FROM() の中で個別に UNNEST() をコールして、列定義リストをそれぞれに付加してください。" -#: parser/parse_clause.c:657 +#: parser/parse_clause.c:655 #, c-format msgid "WITH ORDINALITY cannot be used with a column definition list" msgstr "WITH ORDINALITY は列定義リストがあるときは使えません" -#: parser/parse_clause.c:658 +#: parser/parse_clause.c:656 #, c-format msgid "Put the column definition list inside ROWS FROM()." msgstr "ROWS FROM() の中に列定義リストをおいてください。" -#: parser/parse_clause.c:762 +#: parser/parse_clause.c:760 parser/parse_jsontable.c:293 #, c-format msgid "only one FOR ORDINALITY column is allowed" msgstr "FOR ORDINALITY 列は一つまでです" -#: parser/parse_clause.c:823 +#: parser/parse_clause.c:821 #, c-format msgid "column name \"%s\" is not unique" msgstr "列名\"%s\"は一意ではありません" -#: parser/parse_clause.c:865 +#: parser/parse_clause.c:863 #, c-format msgid "namespace name \"%s\" is not unique" msgstr "名前空間名\"%s\"は一意ではありません" -#: parser/parse_clause.c:875 +#: parser/parse_clause.c:873 #, c-format msgid "only one default namespace is allowed" msgstr "デフォルト名前空間は一つのみ指定可能です" -#: parser/parse_clause.c:935 +#: parser/parse_clause.c:933 #, c-format msgid "tablesample method %s does not exist" msgstr "テーブルサンプルメソッド%sは存在しません" -#: parser/parse_clause.c:957 +#: parser/parse_clause.c:955 #, c-format msgid "tablesample method %s requires %d argument, not %d" msgid_plural "tablesample method %s requires %d arguments, not %d" msgstr[0] "テーブルサンプルメソッド%sは%d個の引数を必要とします、%d個ではありません" -#: parser/parse_clause.c:991 +#: parser/parse_clause.c:989 #, c-format msgid "tablesample method %s does not support REPEATABLE" msgstr "テーブルサンプルメソッド%sはREPEATABLEをサポートしていません" -#: parser/parse_clause.c:1144 +#: parser/parse_clause.c:1142 #, c-format msgid "TABLESAMPLE clause can only be applied to tables and materialized views" msgstr "TABLESAMPLE句はテーブルおよび実体化ビューのみに適用可能です" -#: parser/parse_clause.c:1331 +#: parser/parse_clause.c:1329 #, c-format msgid "column name \"%s\" appears more than once in USING clause" msgstr "USING句に列名\"%s\"が複数あります" -#: parser/parse_clause.c:1346 +#: parser/parse_clause.c:1344 #, c-format msgid "common column name \"%s\" appears more than once in left table" msgstr "左テーブルに列名\"%s\"が複数あります" -#: parser/parse_clause.c:1355 +#: parser/parse_clause.c:1353 #, c-format msgid "column \"%s\" specified in USING clause does not exist in left table" msgstr "USING句で指定した列\"%sが左テーブルに存在しません" -#: parser/parse_clause.c:1370 +#: parser/parse_clause.c:1368 #, c-format msgid "common column name \"%s\" appears more than once in right table" msgstr "右テーブルに列名\"%s\"が複数あります" -#: parser/parse_clause.c:1379 +#: parser/parse_clause.c:1377 #, c-format msgid "column \"%s\" specified in USING clause does not exist in right table" msgstr "USING句で指定した列\"%sが右テーブルに存在しません" -#: parser/parse_clause.c:1907 +#: parser/parse_clause.c:1905 #, c-format msgid "row count cannot be null in FETCH FIRST ... WITH TIES clause" msgstr "FETCH FIRST ... WITH TIES句で行数にNULLは指定できません" #. translator: %s is name of a SQL construct, eg LIMIT -#: parser/parse_clause.c:1932 +#: parser/parse_clause.c:1930 #, c-format msgid "argument of %s must not contain variables" msgstr "%sの引数には変数を使用できません" #. translator: first %s is name of a SQL construct, eg ORDER BY -#: parser/parse_clause.c:2097 +#: parser/parse_clause.c:2095 #, c-format msgid "%s \"%s\" is ambiguous" msgstr "%s \"%s\"は曖昧です" #. translator: %s is name of a SQL construct, eg ORDER BY -#: parser/parse_clause.c:2125 +#: parser/parse_clause.c:2123 #, c-format msgid "non-integer constant in %s" msgstr "%sに整数以外の定数があります" #. translator: %s is name of a SQL construct, eg ORDER BY -#: parser/parse_clause.c:2147 +#: parser/parse_clause.c:2145 #, c-format msgid "%s position %d is not in select list" msgstr "%sの位置%dはSELECTリストにありません" -#: parser/parse_clause.c:2586 +#: parser/parse_clause.c:2584 #, c-format msgid "CUBE is limited to 12 elements" msgstr "CUBEは12要素に制限されています" -#: parser/parse_clause.c:2792 +#: parser/parse_clause.c:2790 #, c-format msgid "window \"%s\" is already defined" msgstr "ウィンドウ\"%s\"はすでに定義済みです" -#: parser/parse_clause.c:2853 +#: parser/parse_clause.c:2851 #, c-format msgid "cannot override PARTITION BY clause of window \"%s\"" msgstr "ウィンドウ\"%s\"のPARTITION BY句をオーバーライドできません" -#: parser/parse_clause.c:2865 +#: parser/parse_clause.c:2863 #, c-format msgid "cannot override ORDER BY clause of window \"%s\"" msgstr "ウィンドウ\"%s\"のORDER BY句をオーバーライドできません" -#: parser/parse_clause.c:2895 parser/parse_clause.c:2901 +#: parser/parse_clause.c:2893 parser/parse_clause.c:2899 #, c-format msgid "cannot copy window \"%s\" because it has a frame clause" msgstr "フレーム句をもっているため、ウィンドウ\"%s\"はコピーできません" -#: parser/parse_clause.c:2903 +#: parser/parse_clause.c:2901 #, c-format msgid "Omit the parentheses in this OVER clause." msgstr "このOVER句中の括弧を無視しました" -#: parser/parse_clause.c:2923 +#: parser/parse_clause.c:2921 #, c-format msgid "RANGE with offset PRECEDING/FOLLOWING requires exactly one ORDER BY column" msgstr "offset PRECEDING/FOLLOWING を伴った RANGE はただ一つの ORDER BY 列を必要とします" -#: parser/parse_clause.c:2946 +#: parser/parse_clause.c:2944 #, c-format msgid "GROUPS mode requires an ORDER BY clause" msgstr "GROUPSフレーム指定はORDER BY句を必要とします" -#: parser/parse_clause.c:3016 +#: parser/parse_clause.c:3014 #, c-format msgid "in an aggregate with DISTINCT, ORDER BY expressions must appear in argument list" msgstr "DISTINCT や ORDER BY 表現を伴なう集約は引数リストの中に現れなければなりません" -#: parser/parse_clause.c:3017 +#: parser/parse_clause.c:3015 #, c-format msgid "for SELECT DISTINCT, ORDER BY expressions must appear in select list" msgstr "SELECT DISTINCTではORDER BYの式はSELECTリスト内になければなりません" -#: parser/parse_clause.c:3049 +#: parser/parse_clause.c:3047 #, c-format msgid "an aggregate with DISTINCT must have at least one argument" msgstr "DISTINCTを伴った集約は、最低でも一つの引数を取る必要があります" -#: parser/parse_clause.c:3050 +#: parser/parse_clause.c:3048 #, c-format msgid "SELECT DISTINCT must have at least one column" msgstr "SELECT DISTINCTには少なくとも1つの列が必要です" -#: parser/parse_clause.c:3116 parser/parse_clause.c:3148 +#: parser/parse_clause.c:3114 parser/parse_clause.c:3146 #, c-format msgid "SELECT DISTINCT ON expressions must match initial ORDER BY expressions" msgstr "SELECT DISTINCT ONの式はORDER BY式の先頭に一致しなければなりません" -#: parser/parse_clause.c:3226 +#: parser/parse_clause.c:3224 #, c-format msgid "ASC/DESC is not allowed in ON CONFLICT clause" msgstr "ASC/DESCはON CONFLICT句では指定できません" -#: parser/parse_clause.c:3232 +#: parser/parse_clause.c:3230 #, c-format msgid "NULLS FIRST/LAST is not allowed in ON CONFLICT clause" msgstr "NULLS FIRST/LASTはON CONFLICT句では指定できません" -#: parser/parse_clause.c:3311 +#: parser/parse_clause.c:3309 #, c-format msgid "ON CONFLICT DO UPDATE requires inference specification or constraint name" msgstr "ON CONFLICT DO UPDATE は推定指定または制約名を必要とします" -#: parser/parse_clause.c:3312 +#: parser/parse_clause.c:3310 #, c-format msgid "For example, ON CONFLICT (column_name)." msgstr "例えば、 ON CONFLICT (column_name)。" -#: parser/parse_clause.c:3323 +#: parser/parse_clause.c:3321 #, c-format msgid "ON CONFLICT is not supported with system catalog tables" msgstr "システムカタログテーブルではON CONFLICTはサポートしていません" -#: parser/parse_clause.c:3331 +#: parser/parse_clause.c:3329 #, c-format msgid "ON CONFLICT is not supported on table \"%s\" used as a catalog table" msgstr "ON CONFLICT はカタログテーブルとして使用中のテーブル\"%s\"ではサポートされません" -#: parser/parse_clause.c:3462 +#: parser/parse_clause.c:3460 #, c-format msgid "operator %s is not a valid ordering operator" msgstr "演算子\"%s\"は有効な順序付け演算子名ではありません" -#: parser/parse_clause.c:3464 +#: parser/parse_clause.c:3462 #, c-format msgid "Ordering operators must be \"<\" or \">\" members of btree operator families." msgstr "順序付け演算子はB-Tree演算子族の\"<\"または\">\"要素でなければなりません。" -#: parser/parse_clause.c:3775 +#: parser/parse_clause.c:3776 #, c-format msgid "RANGE with offset PRECEDING/FOLLOWING is not supported for column type %s" msgstr "offset PRECEDING/FOLLOWING を伴った RANGE は列型 %s に対してはサポートされません" -#: parser/parse_clause.c:3781 +#: parser/parse_clause.c:3782 #, c-format msgid "RANGE with offset PRECEDING/FOLLOWING is not supported for column type %s and offset type %s" msgstr "offset PRECEDING/FOLLOWING を伴った RANGE は列型 %s とオフセット型 %s に対してはサポートされません" -#: parser/parse_clause.c:3784 +#: parser/parse_clause.c:3785 #, c-format msgid "Cast the offset value to an appropriate type." msgstr "オフセット値を適切な型にキャストしてください。" -#: parser/parse_clause.c:3789 +#: parser/parse_clause.c:3790 #, c-format msgid "RANGE with offset PRECEDING/FOLLOWING has multiple interpretations for column type %s and offset type %s" msgstr "offset PRECEDING/FOLLOWING を伴った RANGE は列型 %s とオフセット型 %s に対して複数の解釈が可能になっています" -#: parser/parse_clause.c:3792 +#: parser/parse_clause.c:3793 #, c-format msgid "Cast the offset value to the exact intended type." msgstr "オフセット値を意図した型そのものにキャストしてください。" -#: parser/parse_coerce.c:1050 parser/parse_coerce.c:1088 parser/parse_coerce.c:1106 parser/parse_coerce.c:1121 parser/parse_expr.c:2146 parser/parse_expr.c:2754 parser/parse_expr.c:3403 parser/parse_expr.c:3624 parser/parse_expr.c:4388 parser/parse_target.c:998 +#: parser/parse_coerce.c:1050 parser/parse_coerce.c:1088 parser/parse_coerce.c:1106 parser/parse_coerce.c:1121 parser/parse_expr.c:2144 parser/parse_expr.c:2752 parser/parse_expr.c:3403 parser/parse_expr.c:3632 parser/parse_target.c:1001 #, c-format msgid "cannot cast type %s to %s" msgstr "型%sから%sへの型変換ができません" @@ -17519,258 +17615,254 @@ msgstr "再帰問い合わせ\"%s\"はデータを更新するス文を含んで msgid "recursive query \"%s\" does not have the form non-recursive-term UNION [ALL] recursive-term" msgstr "再帰問い合わせ\"%s\"が、<非再帰項> UNION [ALL] <再帰項> の形式になっていません" -#: parser/parse_cte.c:920 +#: parser/parse_cte.c:911 #, c-format msgid "ORDER BY in a recursive query is not implemented" msgstr "再帰問い合わせ内の ORDER BY は実装されていません" -#: parser/parse_cte.c:926 +#: parser/parse_cte.c:917 #, c-format msgid "OFFSET in a recursive query is not implemented" msgstr "再帰問い合わせ内の OFFSET は実装されていません" -#: parser/parse_cte.c:932 +#: parser/parse_cte.c:923 #, c-format msgid "LIMIT in a recursive query is not implemented" msgstr "再帰問い合わせ内の LIMIT は実装されていません" -#: parser/parse_cte.c:938 +#: parser/parse_cte.c:929 #, c-format msgid "FOR UPDATE/SHARE in a recursive query is not implemented" msgstr "再帰問い合わせ内の FOR UPDATE/SHARE は実装されていません" -#: parser/parse_cte.c:995 +#: parser/parse_cte.c:1008 #, c-format msgid "recursive reference to query \"%s\" must not appear more than once" msgstr "問い合わせ\"%s\"への再帰参照が2回以上現れてはなりません" -#: parser/parse_expr.c:314 +#: parser/parse_expr.c:311 #, c-format msgid "DEFAULT is not allowed in this context" msgstr "この文脈ではDEFAULTは使えません" -#: 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 +#: parser/parse_expr.c:404 parser/parse_relation.c:3766 parser/parse_relation.c:3776 parser/parse_relation.c:3794 parser/parse_relation.c:3801 parser/parse_relation.c:3815 #, c-format msgid "column %s.%s does not exist" msgstr "列%s.%sは存在しません" -#: parser/parse_expr.c:419 +#: parser/parse_expr.c:416 #, c-format msgid "column \"%s\" not found in data type %s" msgstr "データ型%2$sの列\"%1$s\"はありません" -#: parser/parse_expr.c:425 +#: parser/parse_expr.c:422 #, c-format msgid "could not identify column \"%s\" in record data type" msgstr "レコードデータ型の列\"%s\"を特定できませんでした" -#: parser/parse_expr.c:431 +#: parser/parse_expr.c:428 #, c-format msgid "column notation .%s applied to type %s, which is not a composite type" msgstr "列記法 .%sが型%sに使用されましたが、この型は複合型ではありません" -#: parser/parse_expr.c:462 parser/parse_target.c:732 +#: parser/parse_expr.c:459 parser/parse_target.c:735 #, c-format msgid "row expansion via \"*\" is not supported here" msgstr "\"*\"を通した行展開は、ここではサポートされていません" -#: parser/parse_expr.c:585 +#: parser/parse_expr.c:582 msgid "cannot use column reference in DEFAULT expression" msgstr "列参照はDEFAULT式では使用できません" -#: parser/parse_expr.c:588 +#: parser/parse_expr.c:585 msgid "cannot use column reference in partition bound expression" msgstr "列参照はパーティション境界式では使用できません" -#: parser/parse_expr.c:847 parser/parse_relation.c:833 parser/parse_relation.c:915 parser/parse_target.c:1238 +#: parser/parse_expr.c:844 parser/parse_relation.c:833 parser/parse_relation.c:915 parser/parse_target.c:1241 #, c-format msgid "column reference \"%s\" is ambiguous" msgstr "列参照\"%s\"は曖昧です" -#: 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 +#: parser/parse_expr.c:900 parser/parse_param.c:111 parser/parse_param.c:143 parser/parse_param.c:205 parser/parse_param.c:304 #, c-format msgid "there is no parameter $%d" msgstr "パラメータ$%dがありません" -#: parser/parse_expr.c:1103 +#. translator: %s is name of a SQL construct, eg NULLIF +#: parser/parse_expr.c:1101 parser/parse_expr.c:3063 #, c-format -msgid "NULLIF requires = operator to yield boolean" -msgstr "NULLIF では = 演算子が boolean を返す必要があります" +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:3070 +#: parser/parse_expr.c:1107 parser/parse_expr.c:3070 #, c-format msgid "%s must not return a set" msgstr "%sは集合を返してはなりません" -#: parser/parse_expr.c:1395 +#: parser/parse_expr.c:1393 #, c-format msgid "MERGE_ACTION() can only be used in the RETURNING list of a MERGE command" msgstr "MERGE_ACTION()はMERGEコマンドのRETURNINGリストの中でのみ使用可能です" -#: parser/parse_expr.c:1519 parser/parse_expr.c:1551 +#: parser/parse_expr.c:1517 parser/parse_expr.c:1549 #, c-format msgid "number of columns does not match number of values" msgstr "列の数がVALUESの数と一致しません" -#: parser/parse_expr.c:1565 +#: parser/parse_expr.c:1563 #, c-format msgid "source for a multiple-column UPDATE item must be a sub-SELECT or ROW() expression" msgstr "複数列のUPDATE項目のソースは副問合せまたはROW()式でなければなりません" #. translator: %s is name of a SQL construct, eg GROUP BY -#: parser/parse_expr.c:1760 parser/parse_expr.c:2243 parser/parse_func.c:2679 +#: parser/parse_expr.c:1758 parser/parse_expr.c:2241 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:1822 msgid "cannot use subquery in check constraint" msgstr "検査制約では副問い合わせを使用できません" -#: parser/parse_expr.c:1828 +#: parser/parse_expr.c:1826 msgid "cannot use subquery in DEFAULT expression" msgstr "DEFAULT式には副問い合わせを使用できません" -#: parser/parse_expr.c:1831 +#: parser/parse_expr.c:1829 msgid "cannot use subquery in index expression" msgstr "式インデックスには副問い合わせを使用できません" -#: parser/parse_expr.c:1834 +#: parser/parse_expr.c:1832 msgid "cannot use subquery in index predicate" msgstr "インデックスの述部に副問い合わせを使用できません" -#: parser/parse_expr.c:1837 +#: parser/parse_expr.c:1835 msgid "cannot use subquery in statistics expression" msgstr "時計情報式では副問い合わせを使用できません" -#: parser/parse_expr.c:1840 +#: parser/parse_expr.c:1838 msgid "cannot use subquery in transform expression" msgstr "変換式では副問い合わせを使用できません" -#: parser/parse_expr.c:1843 +#: parser/parse_expr.c:1841 msgid "cannot use subquery in EXECUTE parameter" msgstr "EXECUTEのパラメータに副問い合わせを使用できません" -#: parser/parse_expr.c:1846 +#: parser/parse_expr.c:1844 msgid "cannot use subquery in trigger WHEN condition" msgstr "トリガーの WHEN 条件では副問い合わせを使用できません" -#: parser/parse_expr.c:1849 +#: parser/parse_expr.c:1847 msgid "cannot use subquery in partition bound" msgstr "副問い合わせはパーティション境界では使用できません" -#: parser/parse_expr.c:1852 +#: parser/parse_expr.c:1850 msgid "cannot use subquery in partition key expression" msgstr "パーティションキー式では副問い合わせを使用できません" -#: parser/parse_expr.c:1855 +#: parser/parse_expr.c:1853 msgid "cannot use subquery in CALL argument" msgstr "CALLの引数で副問い合わせは使用できません" -#: parser/parse_expr.c:1858 +#: parser/parse_expr.c:1856 msgid "cannot use subquery in COPY FROM WHERE condition" msgstr "副問い合わせは COPY FROM の WHERE 条件では使用できません" -#: parser/parse_expr.c:1861 +#: parser/parse_expr.c:1859 msgid "cannot use subquery in column generation expression" msgstr "副問い合わせはカラム生成式では使用できません" -#: parser/parse_expr.c:1914 parser/parse_expr.c:3756 +#: parser/parse_expr.c:1912 parser/parse_expr.c:3762 #, c-format msgid "subquery must return only one column" msgstr "副問い合わせは1列のみを返さなければなりません" -#: parser/parse_expr.c:1985 +#: parser/parse_expr.c:1983 #, c-format msgid "subquery has too many columns" msgstr "副問い合わせの列が多すぎます" -#: parser/parse_expr.c:1990 +#: parser/parse_expr.c:1988 #, c-format msgid "subquery has too few columns" msgstr "副問い合わせの列が少なすぎます" -#: parser/parse_expr.c:2086 +#: parser/parse_expr.c:2084 #, c-format msgid "cannot determine type of empty array" msgstr "空の配列のデータ型を決定できません" -#: parser/parse_expr.c:2087 +#: parser/parse_expr.c:2085 #, c-format msgid "Explicitly cast to the desired type, for example ARRAY[]::integer[]." msgstr "必要な型に明示的にキャストしてください。例: ARRAY[]::integer[]" -#: parser/parse_expr.c:2101 +#: parser/parse_expr.c:2099 #, c-format msgid "could not find element type for data type %s" msgstr "データ型%sの要素を見つけられませんでした" -#: parser/parse_expr.c:2184 +#: parser/parse_expr.c:2182 #, c-format msgid "ROW expressions can have at most %d entries" msgstr "ROW式は最大でも%dエントリまでしか持てません" -#: parser/parse_expr.c:2389 +#: parser/parse_expr.c:2387 #, c-format msgid "unnamed XML attribute value must be a column reference" msgstr "無名のXML属性値は列参照でなければなりません" -#: parser/parse_expr.c:2390 +#: parser/parse_expr.c:2388 #, c-format msgid "unnamed XML element value must be a column reference" msgstr "無名のXML要素値は列参照でなければなりません" -#: parser/parse_expr.c:2405 +#: parser/parse_expr.c:2403 #, c-format msgid "XML attribute name \"%s\" appears more than once" msgstr "XML属性名\"%s\"が複数あります" -#: parser/parse_expr.c:2513 +#: parser/parse_expr.c:2511 #, c-format msgid "cannot cast XMLSERIALIZE result to %s" msgstr "XMLSERIALIZE の結果を %s へキャストできません" -#: parser/parse_expr.c:2827 parser/parse_expr.c:3023 +#: parser/parse_expr.c:2825 parser/parse_expr.c:3021 #, c-format msgid "unequal number of entries in row expressions" msgstr "行式において項目数が一致しません" -#: parser/parse_expr.c:2837 +#: parser/parse_expr.c:2835 #, c-format msgid "cannot compare rows of zero length" msgstr "長さ0の行を比較できません" -#: parser/parse_expr.c:2862 +#: parser/parse_expr.c:2860 #, c-format msgid "row comparison operator must yield type boolean, not type %s" msgstr "行比較演算子は型%sではなくbooleanを返さなければなりません" -#: parser/parse_expr.c:2869 +#: parser/parse_expr.c:2867 #, c-format msgid "row comparison operator must not return a set" msgstr "行比較演算子は集合を返してはいけません" -#: parser/parse_expr.c:2928 parser/parse_expr.c:2969 +#: parser/parse_expr.c:2926 parser/parse_expr.c:2967 #, c-format msgid "could not determine interpretation of row comparison operator %s" msgstr "行比較演算子%sの解釈を特定できませんでした" -#: parser/parse_expr.c:2930 +#: parser/parse_expr.c:2928 #, c-format msgid "Row comparison operators must be associated with btree operator families." msgstr "行比較演算子はbtree演算子族と関連付けされなければなりません。" -#: parser/parse_expr.c:2971 +#: parser/parse_expr.c:2969 #, c-format msgid "There are multiple equally-plausible candidates." msgstr "同程度の適合度の候補が複数存在します。" -#: parser/parse_expr.c:3064 -#, c-format -msgid "IS DISTINCT FROM requires = operator to yield boolean" -msgstr "IS DISTINCT FROMでは=演算子はbooleanを返さなければなりません" - #: parser/parse_expr.c:3304 #, c-format msgid "JSON ENCODING clause is only allowed for bytea input type" @@ -17816,71 +17908,127 @@ msgstr "SQL/JSON関数ではSETOF型の返却はサポートされていませ msgid "returning pseudo-types is not supported in SQL/JSON functions" msgstr "SQL/JSON関数では疑似型の返却はサポートされていません" -#: parser/parse_expr.c:3841 parser/parse_func.c:866 +#: parser/parse_expr.c:3847 parser/parse_func.c:866 #, c-format msgid "aggregate ORDER BY is not implemented for window functions" msgstr "ウィンドウ関数に対する集約の ORDER BY は実装されていません" -#: parser/parse_expr.c:4063 +#: parser/parse_expr.c:4070 #, c-format msgid "cannot use JSON FORMAT ENCODING clause for non-bytea input types" msgstr "bytrea以外の入力型に対しては JSON FORMAT ENCODING句は使用できません" -#: parser/parse_expr.c:4083 +#: parser/parse_expr.c:4090 #, c-format msgid "cannot use type %s in IS JSON predicate" msgstr "JSON述語では型%sを使用できません" -#: parser/parse_expr.c:4109 parser/parse_expr.c:4229 +#: parser/parse_expr.c:4116 parser/parse_expr.c:4236 #, c-format msgid "cannot use RETURNING type %s in %s" msgstr "%2$sではRETURNING型%1$sを使用できません" -#: parser/parse_expr.c:4158 +#: parser/parse_expr.c:4165 #, c-format msgid "cannot use non-string types with WITH UNIQUE KEYS clause" msgstr "非文字列型はWITH UNIQUE KEYS句とともには使用できません" -#: parser/parse_expr.c:4232 +#: parser/parse_expr.c:4239 #, c-format msgid "Try returning a string type or bytea." msgstr "文字列型またはBYTEA型での返却を試してください。" -#: parser/parse_expr.c:4297 +#: parser/parse_expr.c:4304 #, c-format msgid "cannot specify FORMAT JSON in RETURNING clause of %s()" msgstr "%s()のRETURNING節ではFORMAT JSONは指定できません" -#: parser/parse_expr.c:4309 +#: parser/parse_expr.c:4317 #, c-format msgid "SQL/JSON QUOTES behavior must not be specified when WITH WRAPPER is used" msgstr "WITH WRAPPERが使われてるときにはSQL/JSONのQUOTESの挙動は指定できまえん" -#: parser/parse_expr.c:4336 +#. translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) +#: parser/parse_expr.c:4331 parser/parse_expr.c:4360 parser/parse_expr.c:4391 parser/parse_expr.c:4417 parser/parse_expr.c:4443 parser/parse_jsontable.c:92 +#, 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:4334 parser/parse_expr.c:4363 +#, 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式のみが使用可能です。" + +#. 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:4341 parser/parse_expr.c:4370 parser/parse_expr.c:4399 parser/parse_expr.c:4427 parser/parse_expr.c:4453 +#, 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:4344 parser/parse_expr.c:4373 +#, 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:4392 +#, 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:4402 +#, 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:4420 parser/parse_expr.c:4446 +#, 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:4430 parser/parse_expr.c:4456 +#, 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:4486 #, 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:4677 +#: parser/parse_expr.c:4704 #, c-format msgid "can only specify a constant, non-aggregate function, or operator expression for DEFAULT" msgstr "DEFAULTには定数、非集約関数、および演算子式のみ指定可能です" -#: parser/parse_expr.c:4682 +#: parser/parse_expr.c:4709 #, c-format msgid "DEFAULT expression must not contain column references" msgstr "DEFAULT式は列参照を含むことができません" -#: parser/parse_expr.c:4687 +#: parser/parse_expr.c:4714 #, c-format msgid "DEFAULT expression must not return a set" msgstr "DEFAULT式は集合を返してはなりません" -#: parser/parse_expr.c:4721 +#: parser/parse_expr.c:4790 parser/parse_expr.c:4799 #, c-format msgid "cannot cast behavior expression of type %s to %s" msgstr "型%sの挙動式の%sへの型変換はできません" +#: parser/parse_expr.c:4793 +#, c-format +msgid "You will need to explicitly cast the expression to type %s." +msgstr "式を%s型に明示的にキャストする必要があります。" + #: parser/parse_func.c:194 #, c-format msgid "argument name \"%s\" used more than once" @@ -18212,26 +18360,16 @@ msgstr "集合返却関数は COPY FROM の WHERE条件では使用できませ msgid "set-returning functions are not allowed in column generation expressions" msgstr "集合返却関数はカラム生成式では使用できません" -#: parser/parse_jsontable.c:94 -#, c-format -msgid "invalid ON ERROR behavior" -msgstr "不正な ON ERROR 挙動指定です" - -#: parser/parse_jsontable.c:95 +#: parser/parse_jsontable.c:93 #, c-format -msgid "Only EMPTY or ERROR is allowed in the top-level ON ERROR clause." -msgstr "最上位のON ERROR句ではEMPTYまたERRORのみ使用可能です。" +msgid "Only EMPTY [ ARRAY ] or ERROR is allowed in the top-level ON ERROR clause." +msgstr "最上位のON ERROR句ではEMPTY [ ARRAY ] またERRORのみ使用可能です。" -#: parser/parse_jsontable.c:189 parser/parse_jsontable.c:203 +#: parser/parse_jsontable.c:187 parser/parse_jsontable.c:201 #, c-format msgid "duplicate JSON_TABLE column or path name: %s" msgstr "JSON_TABLEのカラムまたはパス名の重複: %s" -#: parser/parse_jsontable.c:295 -#, c-format -msgid "cannot use more than one FOR ORDINALITY column" -msgstr "FOR ORDINALITY 列は2つ以上は使用できません" - #: parser/parse_merge.c:129 #, c-format msgid "WITH RECURSIVE is not supported for MERGE statement" @@ -18307,12 +18445,12 @@ msgstr "演算子 ANY/ALL (配列) はブール型を返さなければなりま msgid "op ANY/ALL (array) requires operator not to return a set" msgstr "演算子 ANY/ALL (配列) 集合を返してはなりません" -#: parser/parse_param.c:221 +#: parser/parse_param.c:222 #, c-format msgid "inconsistent types deduced for parameter $%d" msgstr "パラメータ$%dについて推定された型が不整合です" -#: parser/parse_param.c:309 tcop/postgres.c:740 +#: parser/parse_param.c:310 tcop/postgres.c:745 #, c-format msgid "could not determine data type of parameter $%d" msgstr "パラメータ$%dのデータ型が特定できませんでした" @@ -18332,12 +18470,12 @@ msgstr "テーブル参照%uは曖昧です" msgid "table name \"%s\" specified more than once" msgstr "テーブル名\"%s\"が複数指定されました" -#: parser/parse_relation.c:494 parser/parse_relation.c:3633 parser/parse_relation.c:3642 +#: parser/parse_relation.c:494 parser/parse_relation.c:3708 parser/parse_relation.c:3717 #, c-format msgid "invalid reference to FROM-clause entry for table \"%s\"" msgstr "テーブル\"%s\"用のFROM句に対する不正な参照" -#: parser/parse_relation.c:498 parser/parse_relation.c:3644 +#: parser/parse_relation.c:498 parser/parse_relation.c:3719 #, c-format msgid "There is an entry for table \"%s\", but it cannot be referenced from this part of the query." msgstr "テーブル\"%s\"の項目がありますが、問い合わせのこの部分からは参照できません。\"" @@ -18437,97 +18575,97 @@ msgstr "結合式\"%s\"では%d列使用できますが、%d列指定されま msgid "WITH query \"%s\" does not have a RETURNING clause" msgstr "WITH 問い合わせ\"%s\"にRETURNING句がありません" -#: parser/parse_relation.c:3635 +#: parser/parse_relation.c:3710 #, c-format msgid "Perhaps you meant to reference the table alias \"%s\"." msgstr "テーブル別名\"%s\"を参照しようとしていたようです。" -#: parser/parse_relation.c:3647 +#: parser/parse_relation.c:3722 #, c-format msgid "To reference that table, you must mark this subquery with LATERAL." msgstr "そのテーブルを参照するためには、この副問合せをLATERALとマークする必要があります。" -#: parser/parse_relation.c:3653 +#: parser/parse_relation.c:3728 #, c-format msgid "missing FROM-clause entry for table \"%s\"" msgstr "テーブル\"%s\"用のFROM句エントリがありません" -#: parser/parse_relation.c:3693 +#: parser/parse_relation.c:3768 #, c-format msgid "There are columns named \"%s\", but they are in tables that cannot be referenced from this part of the query." msgstr "\"%s\"という名前の列はありますが、問い合わせのこの部分からは参照できないテーブルに属しています。" -#: parser/parse_relation.c:3695 +#: parser/parse_relation.c:3770 #, c-format msgid "Try using a table-qualified name." msgstr "テーブル名で修飾した名前を試してください。" -#: parser/parse_relation.c:3703 +#: parser/parse_relation.c:3778 #, c-format msgid "There is a column named \"%s\" in table \"%s\", but it cannot be referenced from this part of the query." msgstr "テーブル\"%2$s\"には\"%1$s\"という名前の列がありますが、問い合わせのこの部分からは参照できません。" -#: parser/parse_relation.c:3706 +#: parser/parse_relation.c:3781 #, c-format msgid "To reference that column, you must mark this subquery with LATERAL." msgstr "その列を参照するには、この副問合せをLATERALとマークする必要があります。" -#: parser/parse_relation.c:3708 +#: parser/parse_relation.c:3783 #, c-format msgid "To reference that column, you must use a table-qualified name." msgstr "その列を参照するには、テーブル名で修飾した名前を使う必要があります。" -#: parser/parse_relation.c:3728 +#: parser/parse_relation.c:3803 #, c-format msgid "Perhaps you meant to reference the column \"%s.%s\"." msgstr "列\"%s.%s\"を参照しようとしていたようです。" -#: parser/parse_relation.c:3742 +#: parser/parse_relation.c:3817 #, c-format msgid "Perhaps you meant to reference the column \"%s.%s\" or the column \"%s.%s\"." msgstr "列\"%s.%s\"または列\"%s.%s\"を参照しようとしていたようです。" -#: parser/parse_target.c:480 parser/parse_target.c:795 +#: parser/parse_target.c:483 parser/parse_target.c:798 #, c-format msgid "cannot assign to system column \"%s\"" msgstr "システム列\"%s\"に代入できません" -#: parser/parse_target.c:508 +#: parser/parse_target.c:511 #, c-format msgid "cannot set an array element to DEFAULT" msgstr "配列要素にDEFAULTを設定できません" -#: parser/parse_target.c:513 +#: parser/parse_target.c:516 #, c-format msgid "cannot set a subfield to DEFAULT" msgstr "サブフィールドにDEFAULTを設定できません" -#: parser/parse_target.c:587 +#: parser/parse_target.c:590 #, c-format msgid "column \"%s\" is of type %s but expression is of type %s" msgstr "列\"%s\"は型%sですが、式は型%sでした" -#: parser/parse_target.c:779 +#: parser/parse_target.c:782 #, c-format msgid "cannot assign to field \"%s\" of column \"%s\" because its type %s is not a composite type" msgstr "型%3$sが複合型でありませんので、列\"%2$s\"のフィールド\"%1$s\"に代入できません。" -#: parser/parse_target.c:788 +#: parser/parse_target.c:791 #, c-format msgid "cannot assign to field \"%s\" of column \"%s\" because there is no such column in data type %s" msgstr "データ型%3$sの列がありませんので、列\"%2$s\"のフィールド\"%1$s\"に代入できません。" -#: parser/parse_target.c:877 +#: parser/parse_target.c:880 #, c-format msgid "subscripted assignment to \"%s\" requires type %s but expression is of type %s" msgstr "\"%s\"への添字付き代入には型%sが必要ですが、式は型%sでした" -#: parser/parse_target.c:887 +#: parser/parse_target.c:890 #, c-format msgid "subfield \"%s\" is of type %s but expression is of type %s" msgstr "サブフィールド\"%s\"は型%sですが、式は型%sでした" -#: parser/parse_target.c:1327 +#: parser/parse_target.c:1330 #, c-format msgid "SELECT * with no tables specified is not valid" msgstr "テーブル指定のないSELECT *は無効です" @@ -18547,7 +18685,7 @@ msgstr "%%TYPE参照が不適切です(ドット区切りの名前が多すぎ msgid "type reference %s converted to %s" msgstr "型参照%sは%sに変換されました" -#: parser/parse_type.c:278 parser/parse_type.c:813 utils/cache/typcache.c:397 utils/cache/typcache.c:452 +#: parser/parse_type.c:278 parser/parse_type.c:813 utils/cache/typcache.c:478 utils/cache/typcache.c:532 #, c-format msgid "type \"%s\" is only a shell" msgstr "型\"%s\"は単なるシェルです" @@ -18567,337 +18705,342 @@ msgstr "型修正子は単純な定数または識別子でなければなりま msgid "invalid type name \"%s\"" msgstr "不正な型名\"%s\"" -#: parser/parse_utilcmd.c:266 +#: parser/parse_utilcmd.c:265 #, c-format msgid "cannot create partitioned table as inheritance child" msgstr "パーティション親テーブルを継承の子テーブルとして作成はできません" -#: parser/parse_utilcmd.c:586 +#: parser/parse_utilcmd.c:504 +#, c-format +msgid "cannot set logged status of a temporary sequence" +msgstr "一時シーケンスのログ出力状態は設定できません" + +#: parser/parse_utilcmd.c:642 #, c-format msgid "array of serial is not implemented" msgstr "連番(SERIAL)の配列は実装されていません" -#: parser/parse_utilcmd.c:665 parser/parse_utilcmd.c:677 parser/parse_utilcmd.c:736 +#: parser/parse_utilcmd.c:747 parser/parse_utilcmd.c:765 parser/parse_utilcmd.c:873 parser/parse_utilcmd.c:906 #, c-format msgid "conflicting NULL/NOT NULL declarations for column \"%s\" of table \"%s\"" msgstr "テーブル\"%2$s\"の列\"%1$s\"でNULL宣言とNOT NULL宣言が競合しています" -#: parser/parse_utilcmd.c:689 +#: parser/parse_utilcmd.c:759 parser/parse_utilcmd.c:1075 #, c-format -msgid "multiple default values specified for column \"%s\" of table \"%s\"" -msgstr "テーブル\"%2$s\"の列\"%1$s\"で複数のデフォルト値の指定があります" +msgid "not-null constraints on partitioned tables cannot be NO INHERIT" +msgstr "パーティション親テーブルに対する非NULL制約はNO INHERIT指定できません" -#: parser/parse_utilcmd.c:706 +#: parser/parse_utilcmd.c:773 parser/parse_utilcmd.c:808 +#, c-format +msgid "conflicting NO INHERIT declarations for not-null constraints on column \"%s\"" +msgstr "列\"%s\"の非NULL制約に関する矛盾するNO INHERIT宣言" + +#: parser/parse_utilcmd.c:821 +#, c-format +msgid "multiple default values specified for column \"%s\" of table \"%s\"" +msgstr "テーブル\"%2$s\"の列\"%1$s\"で複数のデフォルト値の指定があります" + +#: parser/parse_utilcmd.c:838 #, c-format msgid "identity columns are not supported on typed tables" msgstr "型付けされたテーブルでは識別列はサポートされていません" -#: parser/parse_utilcmd.c:710 +#: parser/parse_utilcmd.c:842 #, c-format msgid "identity columns are not supported on partitions" msgstr "パーティションでは識別列はサポートされていません" -#: parser/parse_utilcmd.c:719 +#: parser/parse_utilcmd.c:851 #, c-format msgid "multiple identity specifications for column \"%s\" of table \"%s\"" msgstr "テーブル\"%2$s\"の列\"%1$s\"に複数の識別指定があります" -#: parser/parse_utilcmd.c:749 +#: parser/parse_utilcmd.c:884 #, c-format msgid "generated columns are not supported on typed tables" msgstr "型付けされたテーブルでは生成カラムはサポートされていません" -#: parser/parse_utilcmd.c:753 +#: parser/parse_utilcmd.c:888 #, c-format msgid "multiple generation clauses specified for column \"%s\" of table \"%s\"" msgstr "テーブル\"%2$s\"の列\"%1$s\"に複数のGENERATED句の指定があります" -#: parser/parse_utilcmd.c:771 parser/parse_utilcmd.c:886 +#: parser/parse_utilcmd.c:915 parser/parse_utilcmd.c:1041 #, c-format msgid "primary key constraints are not supported on foreign tables" msgstr "外部テーブルでは主キー制約はサポートされていません" -#: parser/parse_utilcmd.c:780 parser/parse_utilcmd.c:896 +#: parser/parse_utilcmd.c:924 parser/parse_utilcmd.c:1051 #, c-format msgid "unique constraints are not supported on foreign tables" msgstr "外部テーブルではユニーク制約はサポートされていません" -#: parser/parse_utilcmd.c:825 +#: parser/parse_utilcmd.c:969 #, c-format msgid "both default and identity specified for column \"%s\" of table \"%s\"" msgstr "デフォルト値と識別指定の両方がテーブル\"%2$s\"の列\"%1$s\"に指定されています" -#: parser/parse_utilcmd.c:833 +#: parser/parse_utilcmd.c:977 #, c-format msgid "both default and generation expression specified for column \"%s\" of table \"%s\"" msgstr "テーブル\"%2$s\"の列\"%1$s\"にデフォルト値と生成式の両方が指定されています" -#: parser/parse_utilcmd.c:841 +#: parser/parse_utilcmd.c:985 #, c-format msgid "both identity and generation expression specified for column \"%s\" of table \"%s\"" msgstr "テーブル\"%2$s\"の列\"%1$s\"に識別指定と生成式の両方が指定されています" -#: parser/parse_utilcmd.c:906 +#: parser/parse_utilcmd.c:1061 #, c-format msgid "exclusion constraints are not supported on foreign tables" msgstr "外部テーブルでは除外制約はサポートされていません" -#: parser/parse_utilcmd.c:971 +#: parser/parse_utilcmd.c:1134 #, c-format msgid "LIKE is not supported for creating foreign tables" msgstr "外部テーブルの作成においてLIKEはサポートされていません" -#: parser/parse_utilcmd.c:984 +#: parser/parse_utilcmd.c:1147 #, c-format msgid "relation \"%s\" is invalid in LIKE clause" msgstr "LIKE句ではリレーション\"%s\"は不正です" -#: parser/parse_utilcmd.c:1711 parser/parse_utilcmd.c:1819 +#: parser/parse_utilcmd.c:1887 parser/parse_utilcmd.c:1995 #, c-format msgid "Index \"%s\" contains a whole-row table reference." msgstr "インデックス\"%s\"には行全体テーブル参照が含まれます" -#: parser/parse_utilcmd.c:2217 +#: parser/parse_utilcmd.c:2389 #, c-format msgid "cannot use an existing index in CREATE TABLE" msgstr "CREATE TABLE では既存のインデックスを使えません" -#: parser/parse_utilcmd.c:2237 +#: parser/parse_utilcmd.c:2409 #, c-format msgid "index \"%s\" is already associated with a constraint" msgstr "インデックス\"%s\"はすでに1つの制約に割り当てられています" -#: parser/parse_utilcmd.c:2258 +#: parser/parse_utilcmd.c:2435 #, c-format msgid "\"%s\" is not a unique index" msgstr "\"%s\"はユニークインデックスではありません" -#: parser/parse_utilcmd.c:2259 parser/parse_utilcmd.c:2266 parser/parse_utilcmd.c:2273 parser/parse_utilcmd.c:2350 +#: parser/parse_utilcmd.c:2436 parser/parse_utilcmd.c:2443 parser/parse_utilcmd.c:2450 parser/parse_utilcmd.c:2527 #, c-format msgid "Cannot create a primary key or unique constraint using such an index." msgstr "このようなインデックスを使ってプライマリキーや一意性制約を作成することはできません" -#: parser/parse_utilcmd.c:2265 +#: parser/parse_utilcmd.c:2442 #, c-format msgid "index \"%s\" contains expressions" msgstr "インデックス\"%s\"は式を含んでいます" -#: parser/parse_utilcmd.c:2272 +#: parser/parse_utilcmd.c:2449 #, c-format msgid "\"%s\" is a partial index" msgstr "\"%s\"は部分インデックスです" -#: parser/parse_utilcmd.c:2284 +#: parser/parse_utilcmd.c:2461 #, c-format msgid "\"%s\" is a deferrable index" msgstr "\"%s\"は遅延可能インデックスです" -#: parser/parse_utilcmd.c:2285 +#: parser/parse_utilcmd.c:2462 #, c-format msgid "Cannot create a non-deferrable constraint using a deferrable index." msgstr "遅延可能インデックスを使った遅延不可制約は作れません。" -#: parser/parse_utilcmd.c:2349 +#: parser/parse_utilcmd.c:2526 #, c-format msgid "index \"%s\" column number %d does not have default sorting behavior" msgstr "インデックス\"%s\"の列番号%dにはデフォルトのソート動作がありません" -#: parser/parse_utilcmd.c:2506 +#: parser/parse_utilcmd.c:2718 #, c-format msgid "column \"%s\" appears twice in primary key constraint" msgstr "列\"%s\"がプライマリキー制約内に2回出現します" -#: parser/parse_utilcmd.c:2512 +#: parser/parse_utilcmd.c:2724 #, c-format msgid "column \"%s\" appears twice in unique constraint" msgstr "列\"%s\"が一意性制約内に2回出現します" -#: parser/parse_utilcmd.c:2846 +#: parser/parse_utilcmd.c:2769 +#, c-format +msgid "column \"%s\" in WITHOUT OVERLAPS is not a range or multirange type" +msgstr "WITHOUT OVERLAPS中の列\"%s\"は範囲型でも副範囲型でもありません" + +#: parser/parse_utilcmd.c:2797 +#, c-format +msgid "constraint using WITHOUT OVERLAPS needs at least two columns" +msgstr "WITHOUT OVERLAPSを使用する制約では少なくとも2つの列が必要です" + +#: parser/parse_utilcmd.c:3090 #, c-format msgid "index expressions and predicates can refer only to the table being indexed" msgstr "インデックス式と述語はインデックス付けされるテーブルのみを参照できます" -#: parser/parse_utilcmd.c:2918 +#: parser/parse_utilcmd.c:3162 #, c-format msgid "statistics expressions can refer only to the table being referenced" msgstr "統計情報式は参照されているテーブルのみを参照できます" -#: parser/parse_utilcmd.c:2961 +#: parser/parse_utilcmd.c:3205 #, c-format msgid "rules on materialized views are not supported" msgstr "実体化ビューに対するルールはサポートされません" -#: parser/parse_utilcmd.c:3021 +#: parser/parse_utilcmd.c:3265 #, c-format msgid "rule WHERE condition cannot contain references to other relations" msgstr "ルールのWHERE条件に他のリレーションへの参照を持たせられません" -#: parser/parse_utilcmd.c:3093 +#: parser/parse_utilcmd.c:3337 #, c-format msgid "rules with WHERE conditions can only have SELECT, INSERT, UPDATE, or DELETE actions" msgstr "ルールのWHERE条件はSELECT、INSERT、UPDATE、DELETE動作のみを持つことができます" -#: parser/parse_utilcmd.c:3111 parser/parse_utilcmd.c:3212 rewrite/rewriteHandler.c:537 rewrite/rewriteManip.c:1095 +#: parser/parse_utilcmd.c:3355 parser/parse_utilcmd.c:3456 rewrite/rewriteHandler.c:538 rewrite/rewriteManip.c:1095 #, c-format msgid "conditional UNION/INTERSECT/EXCEPT statements are not implemented" msgstr "条件付きのUNION/INTERSECT/EXCEPT文は実装されていません" -#: parser/parse_utilcmd.c:3129 +#: parser/parse_utilcmd.c:3373 #, c-format msgid "ON SELECT rule cannot use OLD" msgstr "ON SELECTルールではOLDを使用できません" -#: parser/parse_utilcmd.c:3133 +#: parser/parse_utilcmd.c:3377 #, c-format msgid "ON SELECT rule cannot use NEW" msgstr "ON SELECTルールではNEWを使用できません" -#: parser/parse_utilcmd.c:3142 +#: parser/parse_utilcmd.c:3386 #, c-format msgid "ON INSERT rule cannot use OLD" msgstr "ON INSERTルールではOLDを使用できません" -#: parser/parse_utilcmd.c:3148 +#: parser/parse_utilcmd.c:3392 #, c-format msgid "ON DELETE rule cannot use NEW" msgstr "ON DELETEルールではNEWを使用できません" -#: parser/parse_utilcmd.c:3176 +#: parser/parse_utilcmd.c:3420 #, c-format msgid "cannot refer to OLD within WITH query" msgstr "WITH 問い合わせ内では OLD は参照できません" -#: parser/parse_utilcmd.c:3183 +#: parser/parse_utilcmd.c:3427 #, c-format msgid "cannot refer to NEW within WITH query" msgstr "WITH 問い合わせ内では NEW は参照できません" -#: parser/parse_utilcmd.c:3255 -#, c-format -msgid "\"%s\" is not a partition" -msgstr "\"%s\"はパーティション子テーブルではありません" - -#: parser/parse_utilcmd.c:3290 parser/parse_utilcmd.c:3335 parser/parse_utilcmd.c:4101 -#, c-format -msgid "\"%s\" is not a partitioned table" -msgstr "\"%s\"はパーティションテーブルではありません" - -#: parser/parse_utilcmd.c:3343 -#, c-format -msgid "partition of hash-partitioned table cannot be merged" -msgstr "ハッシュパーティションテーブルの子テーブルは結合できません" - -#: parser/parse_utilcmd.c:3361 -#, c-format -msgid "partition with name \"%s\" is already used" -msgstr "名前\"%s\"を持つパーティションはすでに使用されてます" - -#: parser/parse_utilcmd.c:3673 -#, c-format -msgid "list of new partitions should contain at least two items" -msgstr "新しいパーティションリストには最低2つの要素が必要です" - -#: parser/parse_utilcmd.c:3811 +#: parser/parse_utilcmd.c:3884 #, c-format msgid "misplaced DEFERRABLE clause" msgstr "DEFERRABLE句の場所が間違っています" -#: parser/parse_utilcmd.c:3816 parser/parse_utilcmd.c:3831 +#: parser/parse_utilcmd.c:3889 parser/parse_utilcmd.c:3904 #, c-format msgid "multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed" msgstr "複数のDEFERRABLE/NOT DEFERRABLE句を使用できません" -#: parser/parse_utilcmd.c:3826 +#: parser/parse_utilcmd.c:3899 #, c-format msgid "misplaced NOT DEFERRABLE clause" msgstr "NOT DEFERRABLE句の場所が間違っています" -#: parser/parse_utilcmd.c:3847 +#: parser/parse_utilcmd.c:3920 #, c-format msgid "misplaced INITIALLY DEFERRED clause" msgstr "INITIALLY DEFERRED句の場所が間違っています<" -#: parser/parse_utilcmd.c:3852 parser/parse_utilcmd.c:3878 +#: parser/parse_utilcmd.c:3925 parser/parse_utilcmd.c:3951 #, c-format msgid "multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed" msgstr "複数のINITIALLY IMMEDIATE/DEFERRED句を使用できません" -#: parser/parse_utilcmd.c:3873 +#: parser/parse_utilcmd.c:3946 #, c-format msgid "misplaced INITIALLY IMMEDIATE clause" msgstr "INITIALLY IMMEDIATE句の場所が間違っています<" -#: parser/parse_utilcmd.c:4066 +#: parser/parse_utilcmd.c:4139 #, c-format msgid "CREATE specifies a schema (%s) different from the one being created (%s)" msgstr "CREATEで指定したスキーマ(%s)が作成先のスキーマ(%s)と異なります" -#: parser/parse_utilcmd.c:4108 +#: parser/parse_utilcmd.c:4174 +#, c-format +msgid "\"%s\" is not a partitioned table" +msgstr "\"%s\"はパーティションテーブルではありません" + +#: parser/parse_utilcmd.c:4181 #, c-format msgid "table \"%s\" is not partitioned" msgstr "テーブル\"%s\"はパーティションされていません" -#: parser/parse_utilcmd.c:4115 +#: parser/parse_utilcmd.c:4188 #, c-format msgid "index \"%s\" is not partitioned" msgstr "インデックス\"%s\"はパーティションされていません" -#: parser/parse_utilcmd.c:4155 +#: parser/parse_utilcmd.c:4228 #, c-format msgid "a hash-partitioned table may not have a default partition" msgstr "ハッシュパーティションテーブルはデフォルトパーティションを持つことができません" -#: parser/parse_utilcmd.c:4172 +#: parser/parse_utilcmd.c:4245 #, c-format msgid "invalid bound specification for a hash partition" msgstr "ハッシュパーティションに対する不正な境界指定" -#: parser/parse_utilcmd.c:4178 partitioning/partbounds.c:4803 +#: parser/parse_utilcmd.c:4251 partitioning/partbounds.c:4802 #, c-format msgid "modulus for hash partition must be an integer value greater than zero" msgstr "ハッシュパーティションの法は0より大きい整数にする必要があります" -#: parser/parse_utilcmd.c:4185 partitioning/partbounds.c:4811 +#: parser/parse_utilcmd.c:4258 partitioning/partbounds.c:4810 #, c-format msgid "remainder for hash partition must be less than modulus" msgstr "ハッシュパーティションの剰余は法よりも小さくなければなりません" -#: parser/parse_utilcmd.c:4198 +#: parser/parse_utilcmd.c:4271 #, c-format msgid "invalid bound specification for a list partition" msgstr "リストパーティションに対する不正な境界指定" -#: parser/parse_utilcmd.c:4251 +#: parser/parse_utilcmd.c:4324 #, c-format msgid "invalid bound specification for a range partition" msgstr "範囲パーティションに対する不正な境界指定" -#: parser/parse_utilcmd.c:4257 +#: parser/parse_utilcmd.c:4330 #, c-format msgid "FROM must specify exactly one value per partitioning column" msgstr "FROMは全てのパーティション列ごとに一つの値を指定しなければなりません" -#: parser/parse_utilcmd.c:4261 +#: parser/parse_utilcmd.c:4334 #, c-format msgid "TO must specify exactly one value per partitioning column" msgstr "TOは全てのパーティション列ごとに一つの値を指定しなければなりません" -#: parser/parse_utilcmd.c:4375 +#: parser/parse_utilcmd.c:4448 #, c-format msgid "cannot specify NULL in range bound" msgstr "範囲境界でNULLは使用できません" -#: parser/parse_utilcmd.c:4424 +#: parser/parse_utilcmd.c:4497 #, c-format msgid "every bound following MAXVALUE must also be MAXVALUE" msgstr "MAXVALUEに続く境界値はMAXVALUEでなければなりません" -#: parser/parse_utilcmd.c:4431 +#: parser/parse_utilcmd.c:4504 #, c-format msgid "every bound following MINVALUE must also be MINVALUE" msgstr "MINVALUEに続く境界値はMINVALUEでなければなりません" -#: parser/parse_utilcmd.c:4474 +#: parser/parse_utilcmd.c:4547 #, c-format msgid "specified value cannot be cast to type %s for column \"%s\"" msgstr "指定した値は列\"%s\"の%s型に変換できません" @@ -18910,12 +19053,12 @@ msgstr "UESCAPE の後には単純な文字列リテラルが続かなければ msgid "invalid Unicode escape character" msgstr "不正なUnicodeエスケープ文字" -#: parser/parser.c:347 scan.l:1391 +#: parser/parser.c:347 scan.l:1399 #, c-format msgid "invalid Unicode escape value" msgstr "不正なUnicodeエスケープシーケンスの値" -#: parser/parser.c:494 scan.l:702 utils/adt/varlena.c:6640 +#: parser/parser.c:494 scan.l:716 utils/adt/varlena.c:6653 #, c-format msgid "invalid Unicode escape" msgstr "不正なUnicodeエスケープ" @@ -18925,7 +19068,7 @@ msgstr "不正なUnicodeエスケープ" msgid "Unicode escapes must be \\XXXX or \\+XXXXXX." msgstr "Unicodeエスケープは\\XXXXまたは\\+XXXXXXでなければなりません。" -#: parser/parser.c:523 scan.l:663 scan.l:679 scan.l:695 utils/adt/varlena.c:6665 +#: parser/parser.c:523 scan.l:677 scan.l:693 scan.l:709 utils/adt/varlena.c:6678 #, c-format msgid "invalid Unicode surrogate pair" msgstr "不正なUnicodeサロゲートペア" @@ -18955,126 +19098,51 @@ msgstr "新しい法(除数)%1$dは既存のパーティション\"%3$s\"の法 msgid "The new modulus %d is not divisible by %d, the modulus of existing partition \"%s\"." msgstr "新しい法(除数)%1$dは既存のパーティション\"%3$s\"の法である%2$dで割り切れません。" -#: partitioning/partbounds.c:3127 partitioning/partbounds.c:5202 +#: partitioning/partbounds.c:3127 #, c-format msgid "empty range bound specified for partition \"%s\"" msgstr "リレーション\"%s\"に対して空の範囲境界が指定されました" -#: partitioning/partbounds.c:3129 partitioning/partbounds.c:5204 +#: partitioning/partbounds.c:3129 #, c-format msgid "Specified lower bound %s is greater than or equal to upper bound %s." msgstr "指定された下限%sは上限%sより大きいか同じです。" -#: partitioning/partbounds.c:3238 +#: partitioning/partbounds.c:3237 #, c-format msgid "partition \"%s\" would overlap partition \"%s\"" msgstr "パーティション\"%s\"はパーティション\"%s\"と重複があります" -#: partitioning/partbounds.c:3355 +#: partitioning/partbounds.c:3354 #, c-format msgid "skipped scanning foreign table \"%s\" which is a partition of default partition \"%s\"" msgstr "デフォルトパーティション\"%2$s\"の子テーブルであるためテーブル\"%1$s\"のスキャンをスキップします" -#: partitioning/partbounds.c:4807 +#: partitioning/partbounds.c:4806 #, c-format msgid "remainder for hash partition must be an integer value greater than or equal to zero" msgstr "ハッシュパーティションの剰余は`0以上の整数でなければなりません" -#: partitioning/partbounds.c:4831 +#: partitioning/partbounds.c:4830 #, c-format msgid "\"%s\" is not a hash partitioned table" msgstr "\"%s\"はハッシュパーティションテーブルではありません" -#: partitioning/partbounds.c:4842 partitioning/partbounds.c:4959 +#: partitioning/partbounds.c:4841 partitioning/partbounds.c:4958 #, c-format msgid "number of partitioning columns (%d) does not match number of partition keys provided (%d)" msgstr "パーティション列の数(%d)と与えられたキー値の数(%d)が一致していません" -#: partitioning/partbounds.c:4864 +#: partitioning/partbounds.c:4863 #, c-format msgid "column %d of the partition key has type %s, but supplied value is of type %s" msgstr "パーティションキーの列%dは%s型です、しかし与えられた値は%s型です" -#: partitioning/partbounds.c:4896 +#: partitioning/partbounds.c:4895 #, c-format msgid "column %d of the partition key has type \"%s\", but supplied value is of type \"%s\"" msgstr "パーティションキーの列 %d は \"%s\"型です、しかし与えられた値は \"%s\"型です" -#: partitioning/partbounds.c:5038 -#, c-format -msgid "lower bound of partition \"%s\" conflicts with upper bound of previous partition \"%s\"" -msgstr "パーティション\"%s\"の下界が直前のパーティション\"%s\"の上界と衝突しています" - -#: partitioning/partbounds.c:5092 -#, c-format -msgid "new partition \"%s\" would overlap with another new partition \"%s\"" -msgstr "新しいパーティション\"%s\"は他の新しいパーティション\"%s\"と重複しています" - -#: partitioning/partbounds.c:5239 -#, c-format -msgid "lower bound of partition \"%s\" is not equal to lower bound of split partition" -msgstr "パーティション\"%s\"の下界が分割対象のパーティションの下界と一致していません" - -#: partitioning/partbounds.c:5251 -#, c-format -msgid "lower bound of partition \"%s\" is less than lower bound of split partition" -msgstr "パーティション\"%s\"の下界が分割対象のパーティションの下界よりも小さいです" - -#: partitioning/partbounds.c:5280 -#, c-format -msgid "upper bound of partition \"%s\" is not equal to upper bound of split partition" -msgstr "パーティション\"%s\"の上界が分割対象のパーティションの上界と一致していません" - -#: partitioning/partbounds.c:5292 -#, c-format -msgid "upper bound of partition \"%s\" is greater than upper bound of split partition" -msgstr "パーティション\"%s\"の上界が分割対象のパーティションの上界よりも大きいです" - -#: partitioning/partbounds.c:5364 -#, c-format -msgid "new partition \"%s\" cannot have this value because split partition does not have" -msgstr "分割対象のパーティションがその値を含んでいないため、新しいパーティション\"%s\"はこの値を持てません" - -#: partitioning/partbounds.c:5380 -#, c-format -msgid "new partition \"%s\" cannot have NULL value because split partition does not have" -msgstr "分割対象パーティションがNULLを含んでいないため、新しいパーティション\"%s\"はNULLを持てません" - -#: partitioning/partbounds.c:5390 -#, c-format -msgid "new partition \"%s\" would overlap with another (not split) partition \"%s\"" -msgstr "新しいパーティション\"%s\"は他の(分割されない)パーティション\"%s\"と重複しています" - -#: partitioning/partbounds.c:5530 -#, c-format -msgid "new partitions do not have value %s but split partition does" -msgstr "新しいパーティションには値%sが含まれていませんが、分割したパーティションには含まれています" - -#: partitioning/partbounds.c:5607 -#, c-format -msgid "DEFAULT partition should be one" -msgstr "DEFAULTパーティションは一つのみ存在できます" - -#: partitioning/partbounds.c:5623 -#, c-format -msgid "partition of hash-partitioned table cannot be split" -msgstr "ハッシュパーティションテーブルの子テーブルは分割できません" - -#: partitioning/partbounds.c:5677 -#, c-format -msgid "one partition in the list should be DEFAULT because split partition is DEFAULT" -msgstr "分割対象のパーティションがDEFAULTであるため、リスト中の一つのパーティションがDEFAULTである必要があります" - -#: partitioning/partbounds.c:5687 -#, c-format -msgid "new partition cannot be DEFAULT because DEFAULT partition already exists" -msgstr "DEFAULTパーティションがすでに存在するため、新しいパーティションをDEFAULTにはできません" - -#: partitioning/partbounds.c:5746 -#, c-format -msgid "name \"%s\" is already used" -msgstr "名前\"%s\"はすでに使用されています" - #: port/pg_sema.c:209 port/pg_shmem.c:717 port/posix_sema.c:209 port/sysv_sema.c:323 port/sysv_shmem.c:717 #, c-format msgid "could not stat data directory \"%s\": %m" @@ -19295,96 +19363,106 @@ msgstr "失敗したシステムコールはMapViewOfFileExです。" msgid "Failed system call was MapViewOfFileEx." msgstr "失敗したシステムコールはMapViewOfFileExです。" -#: postmaster/autovacuum.c:686 +#: postmaster/autovacuum.c:688 #, c-format msgid "autovacuum worker took too long to start; canceled" msgstr "自動VACUUMワーカーの起動に時間がかかりすぎています; キャンセルしました" -#: postmaster/autovacuum.c:2199 +#: postmaster/autovacuum.c:2207 #, c-format msgid "autovacuum: dropping orphan temp table \"%s.%s.%s\"" msgstr "自動VACUUM: 孤立した一時テーブル\"%s.%s.%s\"を削除します" -#: postmaster/autovacuum.c:2435 +#: postmaster/autovacuum.c:2443 #, c-format msgid "automatic vacuum of table \"%s.%s.%s\"" msgstr "テーブル\"%s.%s.%s\"に対する自動VACUUM" -#: postmaster/autovacuum.c:2438 +#: postmaster/autovacuum.c:2446 #, c-format msgid "automatic analyze of table \"%s.%s.%s\"" msgstr "テーブル\"%s.%s.%s\"に対する自動ANALYZE" -#: postmaster/autovacuum.c:2632 +#: postmaster/autovacuum.c:2640 #, c-format msgid "processing work entry for relation \"%s.%s.%s\"" msgstr "リレーション\"%s.%s.%s\"の作業エントリを処理しています" -#: postmaster/autovacuum.c:3250 +#: postmaster/autovacuum.c:3258 #, c-format msgid "autovacuum not started because of misconfiguration" msgstr "誤設定のため自動VACUUMが起動できません" -#: postmaster/autovacuum.c:3251 +#: postmaster/autovacuum.c:3259 #, c-format msgid "Enable the \"track_counts\" option." msgstr "\"track_counts\"オプションを有効にしてください。" #: postmaster/bgworker.c:260 #, c-format -msgid "inconsistent background worker state (max_worker_processes=%d, total_slots=%d)" -msgstr "バックグラウンドワーカー状態の矛盾 (max_worker_processes=%d, total_slots=%d)" +msgid "inconsistent background worker state (\"max_worker_processes\"=%d, total slots=%d)" +msgstr "バックグラウンドワーカー状態の不整合 (\"max_worker_processes\"=%d, スロット総数=%d)" -#: postmaster/bgworker.c:651 +#: postmaster/bgworker.c:645 #, c-format msgid "background worker \"%s\": background workers without shared memory access are not supported" msgstr "バックグラウンドワーカー\"%s\": 共有メモリアクセスを伴わないバックグラウンドワーカーはサポートされません" -#: postmaster/bgworker.c:662 +#: postmaster/bgworker.c:656 #, c-format msgid "background worker \"%s\": cannot request database access if starting at postmaster start" msgstr "バックグラウンドワーカー\"%s\": postmaster起動中に起動している場合にはデータベースアクセスを要求することはできません" -#: postmaster/bgworker.c:676 +#: postmaster/bgworker.c:670 #, c-format msgid "background worker \"%s\": invalid restart interval" msgstr "バックグラウンドワーカー\"%s\": 不正な再起動間隔" -#: postmaster/bgworker.c:691 +#: postmaster/bgworker.c:685 #, c-format msgid "background worker \"%s\": parallel workers may not be configured for restart" msgstr "バックグラウンドワーカー\"%s\": パラレルワーカーは再起動するように設定してはいけません" -#: postmaster/bgworker.c:715 tcop/postgres.c:3285 +#: postmaster/bgworker.c:709 tcop/postgres.c:3317 #, c-format msgid "terminating background worker \"%s\" due to administrator command" msgstr "管理者コマンドによりバックグラウンドワーカー\"%s\"を終了しています" -#: postmaster/bgworker.c:888 +#: postmaster/bgworker.c:868 postmaster/bgworker.c:902 +#, c-format +msgid "database connection requirement not indicated during registration" +msgstr "登録時にデータベース接続の必要性が示されていません" + +#: postmaster/bgworker.c:878 postmaster/bgworker.c:912 +#, c-format +msgid "invalid processing mode in background worker" +msgstr "バックグラウンドワーカー内の不正な処理モード" + +#: postmaster/bgworker.c:965 #, c-format msgid "background worker \"%s\": must be registered in \"shared_preload_libraries\"" msgstr "バックグラウンドワーカー\"%s\": \"shared_preload_libraries\"に登録されていなければなりません" -#: postmaster/bgworker.c:911 +#: postmaster/bgworker.c:988 #, c-format msgid "background worker \"%s\": only dynamic background workers can request notification" msgstr "バックグラウンドワーカー\"%s\": 動的バックグラウンドワーカーのみが通知を要求できます" -#: postmaster/bgworker.c:926 +#: postmaster/bgworker.c:1003 #, c-format msgid "too many background workers" msgstr "バックグラウンドワーカーが多すぎます" -#: postmaster/bgworker.c:927 +#: postmaster/bgworker.c:1004 #, c-format msgid "Up to %d background worker can be registered with the current settings." msgid_plural "Up to %d background workers can be registered with the current settings." msgstr[0] "現在の設定では最大%dのバックグラウンドワーカーを登録することができます。" -#: postmaster/bgworker.c:931 +#: postmaster/bgworker.c:1008 postmaster/checkpointer.c:445 #, c-format -msgid "Consider increasing the configuration parameter \"max_worker_processes\"." -msgstr "設定パラメータ\"max_worker_processes\"を増やすことを検討してください。" +msgid "Consider increasing the configuration parameter \"%s\"." +msgstr "設定パラメータ\"%s\"を増やすことを検討してください。" #: postmaster/checkpointer.c:441 #, c-format @@ -19392,107 +19470,102 @@ msgid "checkpoints are occurring too frequently (%d second apart)" msgid_plural "checkpoints are occurring too frequently (%d seconds apart)" msgstr[0] "チェックポイントの発生周期が短すぎます(%d秒間隔)" -#: postmaster/checkpointer.c:445 -#, c-format -msgid "Consider increasing the configuration parameter \"%s\"." -msgstr "設定パラメータ\"%s\"を増やすことを検討してください。" - -#: postmaster/checkpointer.c:1067 +#: postmaster/checkpointer.c:1078 #, c-format msgid "checkpoint request failed" msgstr "チェックポイント要求が失敗しました" -#: postmaster/checkpointer.c:1068 +#: postmaster/checkpointer.c:1079 #, c-format msgid "Consult recent messages in the server log for details." msgstr "詳細はサーバーログの最近のメッセージを調査してください" -#: postmaster/launch_backend.c:369 +#: postmaster/launch_backend.c:370 #, c-format msgid "could not execute server process \"%s\": %m" msgstr "サーバープロセス\"%s\"を実行できませんでした: %m" -#: postmaster/launch_backend.c:422 +#: postmaster/launch_backend.c:423 #, c-format msgid "could not create backend parameter file mapping: error code %lu" msgstr "バックエンドパラメータファイルのファイルマッピングを作成できませんでした: エラーコード%lu" -#: postmaster/launch_backend.c:430 +#: postmaster/launch_backend.c:431 #, c-format msgid "could not map backend parameter memory: error code %lu" msgstr "バックエンドパラメータのメモリをマップできませんでした: エラーコード %lu" -#: postmaster/launch_backend.c:447 +#: postmaster/launch_backend.c:448 #, c-format msgid "subprocess command line too long" msgstr "サブプロセスのコマンドラインが長すぎます" -#: postmaster/launch_backend.c:465 +#: postmaster/launch_backend.c:466 #, c-format msgid "CreateProcess() call failed: %m (error code %lu)" msgstr "CreateProcess() の呼び出しが失敗しました: %m (エラーコード %lu)" -#: postmaster/launch_backend.c:492 +#: postmaster/launch_backend.c:493 #, c-format msgid "could not unmap view of backend parameter file: error code %lu" msgstr "バックエンドパラメータファイルのビューをアンマップできませんでした: エラーコード %lu" -#: postmaster/launch_backend.c:496 +#: postmaster/launch_backend.c:497 #, c-format msgid "could not close handle to backend parameter file: error code %lu" msgstr "バックエンドパラメータファイルのハンドルをクローズできませんでした: エラーコード%lu" -#: postmaster/launch_backend.c:518 +#: postmaster/launch_backend.c:519 #, c-format msgid "giving up after too many tries to reserve shared memory" msgstr "共有メモリの確保のリトライ回数が多すぎるため中断します" -#: postmaster/launch_backend.c:519 +#: postmaster/launch_backend.c:520 #, c-format msgid "This might be caused by ASLR or antivirus software." msgstr "これはASLRまたはアンチウイルスソフトウェアが原因である可能性があります。" -#: postmaster/launch_backend.c:817 +#: postmaster/launch_backend.c:807 #, c-format msgid "could not duplicate socket %d for use in backend: error code %d" msgstr "バックエンドで使用するためにソケット%dを複製できませんでした: エラーコード %d" -#: postmaster/launch_backend.c:849 +#: postmaster/launch_backend.c:839 #, c-format msgid "could not create inherited socket: error code %d\n" msgstr "継承したソケットを作成できませんでした: エラーコード %d\n" -#: postmaster/launch_backend.c:878 +#: postmaster/launch_backend.c:868 #, c-format msgid "could not open backend variables file \"%s\": %m\n" msgstr "バックエンド変数ファイル\"%s\"をオープンできませんでした: %m\n" -#: postmaster/launch_backend.c:884 +#: postmaster/launch_backend.c:874 #, c-format msgid "could not read from backend variables file \"%s\": %m\n" msgstr "バックエンド変数ファイル\"%s\"から読み込めませんでした: %m\n" -#: postmaster/launch_backend.c:895 +#: postmaster/launch_backend.c:885 #, c-format msgid "could not read startup data from backend variables file \"%s\": %m\n" msgstr "バックエンド変数ファイル\"%s\"から起動データ読み込めませんでした: %m\n" -#: postmaster/launch_backend.c:907 +#: postmaster/launch_backend.c:897 #, c-format msgid "could not remove file \"%s\": %m\n" msgstr "ファイル\"%s\"を削除できませんでした: %m\n" -#: postmaster/launch_backend.c:923 +#: postmaster/launch_backend.c:913 #, c-format msgid "could not map view of backend variables: error code %lu\n" msgstr "バックエンド変数のビューをマップできませんでした: エラーコード %lu\n" -#: postmaster/launch_backend.c:942 +#: postmaster/launch_backend.c:932 #, c-format msgid "could not unmap view of backend variables: error code %lu\n" msgstr "バックエンド変数のビューをアンマップできませんでした: エラーコード %lu\n" -#: postmaster/launch_backend.c:949 +#: postmaster/launch_backend.c:939 #, c-format msgid "could not close handle to backend parameter variables: error code %lu\n" msgstr "バックエンドパラメータ変数のハンドルをクローズできませんでした: エラーコード%lu\n" @@ -19542,138 +19615,138 @@ msgstr "アーカイブモジュールはシンボル%sを定義しなくては msgid "archive modules must register an archive callback" msgstr "アーカイブモジュールはアーカイブコールバックを登録しなくてはなりません" -#: postmaster/postmaster.c:661 +#: postmaster/postmaster.c:632 #, c-format msgid "%s: invalid argument for option -f: \"%s\"\n" msgstr "%s: -fオプションに対する不正な引数: \"%s\"\n" -#: postmaster/postmaster.c:734 +#: postmaster/postmaster.c:705 #, c-format msgid "%s: invalid argument for option -t: \"%s\"\n" msgstr "%s: -tオプションに対する不正な引数: \"%s\"\n" -#: postmaster/postmaster.c:757 +#: postmaster/postmaster.c:728 #, c-format msgid "%s: invalid argument: \"%s\"\n" msgstr "%s: 不正な引数: \"%s\"\n" -#: postmaster/postmaster.c:825 +#: postmaster/postmaster.c:796 #, c-format msgid "%s: \"superuser_reserved_connections\" (%d) plus \"reserved_connections\" (%d) must be less than \"max_connections\" (%d)\n" msgstr "%s: \"superuser_reserved_connections\" (%d)と\"reserved_connections\" (%d)との和は \"max_connections\" (%d)より小さくなければなりません\n" -#: postmaster/postmaster.c:833 +#: postmaster/postmaster.c:804 #, c-format msgid "WAL archival cannot be enabled when \"wal_level\" is \"minimal\"" msgstr "\"wal_level\"が\"minimal\"の時はWALアーカイブは有効にできません" -#: postmaster/postmaster.c:836 +#: postmaster/postmaster.c:807 #, c-format msgid "WAL streaming (\"max_wal_senders\" > 0) requires \"wal_level\" to be \"replica\" or \"logical\"" msgstr "WALストリーミング(\"max_wal_senders\" > 0)を行うには wal_levelを\"replica\"または\"logical\"にする必要があります" -#: postmaster/postmaster.c:839 +#: postmaster/postmaster.c:810 #, c-format msgid "WAL cannot be summarized when \"wal_level\" is \"minimal\"" msgstr "\"wal_level\"が\"minimal\"の時はWALは集約できません" -#: postmaster/postmaster.c:847 +#: postmaster/postmaster.c:818 #, c-format msgid "%s: invalid datetoken tables, please fix\n" msgstr "%s: データトークンテーブルが不正です、修復してください\n" -#: postmaster/postmaster.c:1004 +#: postmaster/postmaster.c:980 #, c-format msgid "could not create I/O completion port for child queue" msgstr "子キュー向けのI/O終了ポートを作成できませんでした" -#: postmaster/postmaster.c:1069 +#: postmaster/postmaster.c:1045 #, c-format msgid "ending log output to stderr" msgstr "標準エラー出力へのログ出力を終了しています" -#: postmaster/postmaster.c:1070 +#: postmaster/postmaster.c:1046 #, c-format msgid "Future log output will go to log destination \"%s\"." msgstr "この後のログ出力はログ配送先\"%s\"に出力されます。" -#: postmaster/postmaster.c:1081 +#: postmaster/postmaster.c:1057 #, c-format msgid "starting %s" msgstr "%s を起動しています" -#: postmaster/postmaster.c:1143 +#: postmaster/postmaster.c:1119 #, c-format msgid "could not create listen socket for \"%s\"" msgstr "\"%s\"に関する監視用ソケットを作成できませんでした" -#: postmaster/postmaster.c:1149 +#: postmaster/postmaster.c:1125 #, c-format msgid "could not create any TCP/IP sockets" msgstr "TCP/IPソケットを作成できませんでした" -#: postmaster/postmaster.c:1181 +#: postmaster/postmaster.c:1157 #, c-format msgid "DNSServiceRegister() failed: error code %ld" msgstr "DNSServiceRegister()が失敗しました: エラーコード %ld" -#: postmaster/postmaster.c:1234 +#: postmaster/postmaster.c:1210 #, c-format msgid "could not create Unix-domain socket in directory \"%s\"" msgstr "ディレクトリ\"%s\"においてUnixドメインソケットを作成できませんでした" -#: postmaster/postmaster.c:1240 +#: postmaster/postmaster.c:1216 #, c-format msgid "could not create any Unix-domain sockets" msgstr "Unixドメインソケットを作成できませんでした" -#: postmaster/postmaster.c:1251 +#: postmaster/postmaster.c:1227 #, c-format msgid "no socket created for listening" msgstr "監視用に作成するソケットはありません" -#: postmaster/postmaster.c:1282 +#: postmaster/postmaster.c:1258 #, 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:1262 #, 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:1290 utils/init/postinit.c:221 #, c-format msgid "could not load %s" msgstr "%s\"をロードできませんでした" -#: postmaster/postmaster.c:1340 +#: postmaster/postmaster.c:1316 #, c-format msgid "postmaster became multithreaded during startup" msgstr "postmasterは起動値処理中はマルチスレッドで動作します" -#: postmaster/postmaster.c:1341 +#: postmaster/postmaster.c:1317 #, c-format msgid "Set the LC_ALL environment variable to a valid locale." msgstr "LC_ALL環境変数を使用可能なロケールに設定してください。" -#: postmaster/postmaster.c:1440 +#: postmaster/postmaster.c:1416 #, c-format msgid "%s: could not locate my own executable path" msgstr "%s: 自身の実行ファイルのパスが特定できません" -#: postmaster/postmaster.c:1447 +#: postmaster/postmaster.c:1423 #, c-format msgid "%s: could not locate matching postgres executable" msgstr "%s: 一致するpostgres実行ファイルがありませんでした" -#: postmaster/postmaster.c:1470 utils/misc/tzparser.c:341 +#: postmaster/postmaster.c:1446 utils/misc/tzparser.c:342 #, 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:1497 +#: postmaster/postmaster.c:1473 #, c-format msgid "" "%s: could not find the database system\n" @@ -19685,334 +19758,323 @@ msgstr "" "ファイル\"%s\"をオープンできませんでした: %m\n" #. translator: %s is SIGKILL or SIGABRT -#: postmaster/postmaster.c:1787 +#: postmaster/postmaster.c:1710 #, c-format msgid "issuing %s to recalcitrant children" msgstr "手に負えない子プロセスに%sを送出します" -#: postmaster/postmaster.c:1809 +#: postmaster/postmaster.c:1732 #, c-format msgid "performing immediate shutdown because data directory lock file is invalid" msgstr "データディレクトリのロックファイルが不正なため、即時シャットダウンを実行中です" -#: postmaster/postmaster.c:1872 -#, c-format -msgid "wrong key in cancel request for process %d" -msgstr "プロセス%dに対するキャンセル要求においてキーが間違っています" - -#: postmaster/postmaster.c:1884 -#, c-format -msgid "PID %d in cancel request did not match any process" -msgstr "キャンセル要求内のPID %dがどのプロセスにも一致しません" - -#: postmaster/postmaster.c:2105 +#: postmaster/postmaster.c:1969 #, c-format msgid "received SIGHUP, reloading configuration files" msgstr "SIGHUPを受け取りました。設定ファイルをリロードしています" #. translator: %s is a configuration file -#: postmaster/postmaster.c:2133 postmaster/postmaster.c:2137 +#: postmaster/postmaster.c:1997 postmaster/postmaster.c:2001 #, c-format msgid "%s was not reloaded" msgstr "%s は再読み込みされていません" -#: postmaster/postmaster.c:2147 +#: postmaster/postmaster.c:2011 #, c-format msgid "SSL configuration was not reloaded" msgstr "SSL設定は再読み込みされていません" -#: postmaster/postmaster.c:2233 +#: postmaster/postmaster.c:2097 #, c-format msgid "received smart shutdown request" msgstr "スマートシャットダウン要求を受け取りました" -#: postmaster/postmaster.c:2274 +#: postmaster/postmaster.c:2138 #, c-format msgid "received fast shutdown request" msgstr "高速シャットダウン要求を受け取りました" -#: postmaster/postmaster.c:2292 +#: postmaster/postmaster.c:2156 #, c-format msgid "aborting any active transactions" msgstr "活動中の全トランザクションをアボートしています" -#: postmaster/postmaster.c:2316 +#: postmaster/postmaster.c:2180 #, c-format msgid "received immediate shutdown request" msgstr "即時シャットダウン要求を受け取りました" -#: postmaster/postmaster.c:2388 +#: postmaster/postmaster.c:2255 #, c-format msgid "shutdown at recovery target" msgstr "リカバリ目標でシャットダウンします" -#: postmaster/postmaster.c:2406 postmaster/postmaster.c:2442 +#: postmaster/postmaster.c:2273 postmaster/postmaster.c:2309 msgid "startup process" msgstr "起動プロセス" -#: postmaster/postmaster.c:2409 +#: postmaster/postmaster.c:2276 #, c-format msgid "aborting startup due to startup process failure" msgstr "起動プロセスの失敗のため起動を中断しています" -#: postmaster/postmaster.c:2484 +#: postmaster/postmaster.c:2332 #, c-format msgid "database system is ready to accept connections" msgstr "データベースシステムの接続受け付け準備が整いました" -#: postmaster/postmaster.c:2505 +#: postmaster/postmaster.c:2353 msgid "background writer process" msgstr "バックグランドライタプロセス" -#: postmaster/postmaster.c:2552 +#: postmaster/postmaster.c:2400 msgid "checkpointer process" msgstr "チェックポイント処理プロセス" -#: postmaster/postmaster.c:2568 +#: postmaster/postmaster.c:2416 msgid "WAL writer process" msgstr "WALライタプロセス" -#: postmaster/postmaster.c:2583 +#: postmaster/postmaster.c:2431 msgid "WAL receiver process" msgstr "WAL 受信プロセス" -#: postmaster/postmaster.c:2597 +#: postmaster/postmaster.c:2445 msgid "WAL summarizer process" msgstr "WAL集約プロセス" -#: postmaster/postmaster.c:2612 +#: postmaster/postmaster.c:2460 msgid "autovacuum launcher process" msgstr "自動VACUUM起動プロセス" -#: postmaster/postmaster.c:2630 +#: postmaster/postmaster.c:2475 msgid "archiver process" msgstr "アーカイバプロセス" -#: postmaster/postmaster.c:2643 +#: postmaster/postmaster.c:2486 msgid "system logger process" msgstr "システムログ取得プロセス" -#: postmaster/postmaster.c:2660 +#: postmaster/postmaster.c:2503 msgid "slot sync worker process" msgstr "スロット同期ワーカープロセス" -#: postmaster/postmaster.c:2716 +#: postmaster/postmaster.c:2531 postmaster/postmaster.c:2533 +msgid "untracked child process" +msgstr "追跡されていない子プロセス" + +#: postmaster/postmaster.c:2562 +msgid "dead end backend" +msgstr "終了バックエンド" + +#: postmaster/postmaster.c:2566 #, c-format msgid "background worker \"%s\"" msgstr "バックグラウンドワーカー\"%s\"" -#: postmaster/postmaster.c:2795 postmaster/postmaster.c:2815 postmaster/postmaster.c:2822 postmaster/postmaster.c:2840 +#: postmaster/postmaster.c:2571 msgid "server process" msgstr "サーバープロセス" -#: postmaster/postmaster.c:2894 +#: postmaster/postmaster.c:2701 #, 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:3081 +#: postmaster/postmaster.c:2807 #, c-format msgid "%s (PID %d) exited with exit code %d" msgstr "%s (PID %d)は終了コード%dで終了しました" -#: postmaster/postmaster.c:3083 postmaster/postmaster.c:3095 postmaster/postmaster.c:3105 postmaster/postmaster.c:3116 +#: postmaster/postmaster.c:2809 postmaster/postmaster.c:2821 postmaster/postmaster.c:2831 postmaster/postmaster.c:2842 #, 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:3092 +#: postmaster/postmaster.c:2818 #, c-format msgid "%s (PID %d) was terminated by exception 0x%X" msgstr "%s (PID %d)は例外%Xで終了しました" #. translator: %s is a noun phrase describing a child process, such as #. "server process" -#: postmaster/postmaster.c:3102 +#: postmaster/postmaster.c:2828 #, 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:3114 +#: postmaster/postmaster.c:2840 #, c-format msgid "%s (PID %d) exited with unrecognized status %d" msgstr "%s (PID %d)は認識できないステータス%dで終了しました" -#: postmaster/postmaster.c:3330 +#: postmaster/postmaster.c:3056 #, c-format msgid "abnormal database system shutdown" msgstr "データベースシステムは異常にシャットダウンしました" -#: postmaster/postmaster.c:3356 +#: postmaster/postmaster.c:3082 #, c-format msgid "shutting down due to startup process failure" msgstr "起動プロセスの失敗のためシャットダウンしています" -#: postmaster/postmaster.c:3362 +#: postmaster/postmaster.c:3088 #, c-format msgid "shutting down because \"restart_after_crash\" is off" msgstr "\"restart_after_crash\"がoffであるためシャットダウンします" -#: postmaster/postmaster.c:3374 +#: postmaster/postmaster.c:3100 #, c-format msgid "all server processes terminated; reinitializing" msgstr "全てのサーバープロセスが終了しました: 再初期化しています" -#: postmaster/postmaster.c:3573 postmaster/postmaster.c:3983 postmaster/postmaster.c:4372 -#, c-format -msgid "could not generate random cancel key" -msgstr "ランダムなキャンセルキーを生成できませんでした" - -#: postmaster/postmaster.c:3606 +#: postmaster/postmaster.c:3430 #, c-format msgid "could not fork new process for connection: %m" msgstr "接続用の新しいプロセスをforkできませんでした: %m" -#: postmaster/postmaster.c:3648 +#: postmaster/postmaster.c:3467 msgid "could not fork new process for connection: " msgstr "接続用の新しいプロセスをforkできませんでした" -#: postmaster/postmaster.c:3682 +#: postmaster/postmaster.c:3501 #, c-format msgid "Please report this to <%s>." msgstr "これを<%s>まで報告してください。" -#: postmaster/postmaster.c:3750 +#: postmaster/postmaster.c:3569 #, c-format msgid "database system is ready to accept read-only connections" msgstr "データベースシステムはリードオンリー接続の受け付け準備ができました" -#: postmaster/postmaster.c:3933 +#: postmaster/postmaster.c:3738 #, c-format msgid "could not fork \"%s\" process: %m" msgstr "\"%s\"プロセスをforkできませんでした: %m" -#: postmaster/postmaster.c:4171 postmaster/postmaster.c:4205 -#, c-format -msgid "database connection requirement not indicated during registration" -msgstr "登録時にデータベース接続の必要性が示されていません" - -#: postmaster/postmaster.c:4181 postmaster/postmaster.c:4215 -#, c-format -msgid "invalid processing mode in background worker" -msgstr "バックグラウンドワーカー内の不正な処理モード" - -#: postmaster/postmaster.c:4275 +#: postmaster/postmaster.c:3923 #, c-format msgid "could not fork background worker process: %m" msgstr "バックグランドワーカープロセスをforkできませんでした: %m" -#: postmaster/postmaster.c:4358 +#: postmaster/postmaster.c:4000 #, c-format msgid "no slot available for new background worker process" msgstr "新しいバックグラウンドワーカープロセスに割り当て可能なスロットがありません" -#: postmaster/postmaster.c:4621 +#: postmaster/postmaster.c:4205 #, c-format msgid "could not read exit code for process\n" msgstr "子プロセスの終了コードの読み込みができませんでした\n" -#: postmaster/postmaster.c:4663 +#: postmaster/postmaster.c:4247 #, c-format msgid "could not post child completion status\n" msgstr "個プロセスの終了コードを投稿できませんでした\n" -#: postmaster/syslogger.c:529 postmaster/syslogger.c:1173 +#: postmaster/syslogger.c:527 postmaster/syslogger.c:1171 #, c-format msgid "could not read from logger pipe: %m" msgstr "ロガーパイプから読み取れませんでした: %m" -#: postmaster/syslogger.c:629 postmaster/syslogger.c:643 +#: postmaster/syslogger.c:627 postmaster/syslogger.c:641 #, c-format msgid "could not create pipe for syslog: %m" msgstr "syslog用のパイプを作成できませんでした: %m" -#: postmaster/syslogger.c:712 +#: postmaster/syslogger.c:710 #, c-format msgid "could not fork system logger: %m" msgstr "システムロガーをforkできませんでした: %m" -#: postmaster/syslogger.c:731 +#: postmaster/syslogger.c:729 #, c-format msgid "redirecting log output to logging collector process" msgstr "ログ出力をログ収集プロセスにリダイレクトしています" -#: postmaster/syslogger.c:732 +#: postmaster/syslogger.c:730 #, c-format msgid "Future log output will appear in directory \"%s\"." msgstr "ここからのログ出力はディレクトリ\"%s\"に現れます。" -#: postmaster/syslogger.c:740 +#: postmaster/syslogger.c:738 #, c-format msgid "could not redirect stdout: %m" msgstr "標準出力にリダイレクトできませんでした: %m" -#: postmaster/syslogger.c:745 postmaster/syslogger.c:762 +#: postmaster/syslogger.c:743 postmaster/syslogger.c:760 #, c-format msgid "could not redirect stderr: %m" msgstr "標準エラー出力にリダイレクトできませんでした: %m" -#: postmaster/syslogger.c:1128 +#: postmaster/syslogger.c:1126 #, c-format msgid "could not write to log file: %m\n" msgstr "ログファイルに書き込めませんでした: %m\n" -#: postmaster/syslogger.c:1246 +#: postmaster/syslogger.c:1244 #, c-format msgid "could not open log file \"%s\": %m" msgstr "ロックファイル\"%s\"をオープンできませんでした: %m" -#: postmaster/syslogger.c:1336 +#: postmaster/syslogger.c:1334 #, c-format msgid "disabling automatic rotation (use SIGHUP to re-enable)" msgstr "自動ローテーションを無効にしています(再度有効にするにはSIGHUPを使用してください)" -#: postmaster/walsummarizer.c:384 +#: postmaster/walsummarizer.c:740 +#, c-format +msgid "WAL summarization is not progressing" +msgstr "WAL集計が進んでいません" + +#: postmaster/walsummarizer.c:741 +#, c-format +msgid "Summarization is needed through %X/%X, but is stuck at %X/%X on disk and %X/%X in memory." +msgstr "集計は%X/%Xまで進んでいる必要がありますが、ディスク上では%X/%X、メモリ上では%X/%Xよりあとまで進んでいません。" + +#: postmaster/walsummarizer.c:755 #, c-format -msgid "switch point from TLI %u to TLI %u is at %X/%X" -msgstr "TLI %uから%uへの切り替え点は%X/%X" +msgid "still waiting for WAL summarization through %X/%X after %ld second" +msgid_plural "still waiting for WAL summarization through %X/%X after %ld seconds" +msgstr[0] "%3$ld秒経過しましたが、WAL集計が%1$X/%2$Xに到達するのをまだ待ってます" + +#: postmaster/walsummarizer.c:760 +#, c-format +msgid "Summarization has reached %X/%X on disk and %X/%X in memory." +msgstr "集計がディスク上で%X/%X、メモリ上で%X/%Xに到達しました。" -#: postmaster/walsummarizer.c:885 +#: postmaster/walsummarizer.c:1000 #, c-format msgid "could not find a valid record after %X/%X" msgstr "%X/%Xの後に有効なレコードが見つかりませんでした" -#: postmaster/walsummarizer.c:930 +#: postmaster/walsummarizer.c:1045 #, c-format msgid "could not read WAL from timeline %u at %X/%X: %s" msgstr "%X/%Xでタイムライン%uのWALを読み取れませんでした: %s" -#: postmaster/walsummarizer.c:936 +#: postmaster/walsummarizer.c:1051 #, c-format msgid "could not read WAL from timeline %u at %X/%X" msgstr "%X/%Xでタイムライン%uのWALを読み取れませんでした" -#: postmaster/walsummarizer.c:1077 -#, c-format -msgid "summarized WAL on TLI %u from %X/%X to %X/%X" -msgstr "TLI %uの%X/%Xから%X/%Xまで集計しました" - -#: postmaster/walsummarizer.c:1385 -#, c-format -msgid "timeline %u became historic, can read up to %X/%X" -msgstr "タイムライン%uは過去のものになりました、%X/%Xまでは読み取り可能です" - -#: regex/regc_pg_locale.c:244 +#: regex/regc_pg_locale.c:245 #, c-format msgid "could not determine which collation to use for regular expression" msgstr "正規表現で使用する照合規則を特定できませんでした" -#: regex/regc_pg_locale.c:262 +#: regex/regc_pg_locale.c:266 #, c-format msgid "nondeterministic collations are not supported for regular expressions" msgstr "非決定的照合順序は正規表現ではサポートされていません" -#: repl_gram.y:318 repl_gram.y:359 +#: repl_gram.y:324 repl_gram.y:365 #, c-format msgid "invalid timeline %u" msgstr "タイムライン%uは不正です" @@ -20021,136 +20083,136 @@ msgstr "タイムライン%uは不正です" msgid "invalid streaming start location" msgstr "不正なストリーミング開始位置" -#: replication/libpqwalreceiver/libpqwalreceiver.c:267 replication/libpqwalreceiver/libpqwalreceiver.c:358 +#: replication/libpqwalreceiver/libpqwalreceiver.c:268 replication/libpqwalreceiver/libpqwalreceiver.c:359 #, c-format msgid "password is required" msgstr "パスワードが必要です" -#: replication/libpqwalreceiver/libpqwalreceiver.c:268 +#: replication/libpqwalreceiver/libpqwalreceiver.c:269 #, 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:270 #, c-format msgid "Target server's authentication method must be changed, or set password_required=false in the subscription parameters." msgstr "接続先サーバーの認証方式を変更するか、サブスクリプション属性でpassword_requiredをfalseに設定する必要があります。" -#: replication/libpqwalreceiver/libpqwalreceiver.c:285 +#: replication/libpqwalreceiver/libpqwalreceiver.c:286 #, c-format msgid "could not clear search path: %s" msgstr "search_pathを消去できませんでした: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:331 replication/libpqwalreceiver/libpqwalreceiver.c:517 +#: replication/libpqwalreceiver/libpqwalreceiver.c:332 replication/libpqwalreceiver/libpqwalreceiver.c:518 #, c-format msgid "invalid connection string syntax: %s" msgstr "不正な接続文字列の構文: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:359 +#: replication/libpqwalreceiver/libpqwalreceiver.c:360 #, c-format msgid "Non-superusers must provide a password in the connection string." msgstr "非スーパーユーザーは接続文字列中でパスワードを指定する必要があります。" -#: replication/libpqwalreceiver/libpqwalreceiver.c:386 +#: replication/libpqwalreceiver/libpqwalreceiver.c:387 #, c-format msgid "could not parse connection string: %s" msgstr "接続文字列をパースできませんでした: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:459 +#: replication/libpqwalreceiver/libpqwalreceiver.c:460 #, c-format msgid "could not receive database system identifier and timeline ID from the primary server: %s" msgstr "プライマリサーバーからデータベースシステムの識別子とタイムライン ID を受信できませんでした: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:476 replication/libpqwalreceiver/libpqwalreceiver.c:763 +#: replication/libpqwalreceiver/libpqwalreceiver.c:477 replication/libpqwalreceiver/libpqwalreceiver.c:764 #, c-format msgid "invalid response from primary server" msgstr "プライマリサーバーからの応答が不正です" -#: replication/libpqwalreceiver/libpqwalreceiver.c:477 +#: replication/libpqwalreceiver/libpqwalreceiver.c:478 #, 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以上の列でした。" -#: replication/libpqwalreceiver/libpqwalreceiver.c:606 replication/libpqwalreceiver/libpqwalreceiver.c:613 replication/libpqwalreceiver/libpqwalreceiver.c:643 +#: replication/libpqwalreceiver/libpqwalreceiver.c:607 replication/libpqwalreceiver/libpqwalreceiver.c:614 replication/libpqwalreceiver/libpqwalreceiver.c:644 #, c-format msgid "could not start WAL streaming: %s" msgstr "WAL ストリーミングを開始できませんでした: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:667 +#: replication/libpqwalreceiver/libpqwalreceiver.c:668 #, c-format msgid "could not send end-of-streaming message to primary: %s" msgstr "プライマリにストリーミングの終了メッセージを送信できませんでした: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:690 +#: replication/libpqwalreceiver/libpqwalreceiver.c:691 #, c-format msgid "unexpected result set after end-of-streaming" msgstr "ストリーミングの終了後の想定外の結果セット" -#: replication/libpqwalreceiver/libpqwalreceiver.c:705 +#: replication/libpqwalreceiver/libpqwalreceiver.c:706 #, c-format msgid "error while shutting down streaming COPY: %s" msgstr "ストリーミングCOPY終了中のエラー: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:715 +#: replication/libpqwalreceiver/libpqwalreceiver.c:716 #, 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:725 replication/libpqwalreceiver/libpqwalreceiver.c:958 #, c-format msgid "unexpected result after CommandComplete: %s" msgstr "CommandComplete後の想定外の結果: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:751 +#: replication/libpqwalreceiver/libpqwalreceiver.c:752 #, 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:765 #, c-format msgid "Expected 1 tuple with 2 fields, got %d tuples with %d fields." msgstr "2個のフィールドを持つ1個のタプルを期待していましたが、%2$d 個のフィールドを持つ %1$d 個のタプルを受信しました。" -#: replication/libpqwalreceiver/libpqwalreceiver.c:920 replication/libpqwalreceiver/libpqwalreceiver.c:973 replication/libpqwalreceiver/libpqwalreceiver.c:980 +#: replication/libpqwalreceiver/libpqwalreceiver.c:921 replication/libpqwalreceiver/libpqwalreceiver.c:974 replication/libpqwalreceiver/libpqwalreceiver.c:981 #, c-format msgid "could not receive data from WAL stream: %s" msgstr "WAL ストリームからデータを受信できませんでした: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1000 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1001 #, c-format msgid "could not send data to WAL stream: %s" msgstr "WAL ストリームにデータを送信できませんでした: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1101 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1102 #, c-format msgid "could not create replication slot \"%s\": %s" msgstr "レプリケーションスロット\"%s\"を作成できませんでした: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1140 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1153 #, c-format msgid "could not alter replication slot \"%s\": %s" msgstr "レプリケーションスロット\"%s\"を変更できませんでした: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1174 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1187 #, c-format msgid "invalid query response" msgstr "不正な問い合わせ応答" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1175 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1188 #, c-format msgid "Expected %d fields, got %d fields." msgstr "%d個の列を期待していましたが、%d列を受信しました。" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1245 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1258 #, c-format msgid "the query interface requires a database connection" msgstr "クエリインタフェースの動作にはデータベースコネクションが必要です" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1277 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1290 msgid "empty query" msgstr "空の問い合わせ" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1283 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1296 msgid "unexpected pipeline mode" msgstr "想定されていないパイプラインモード" @@ -20188,37 +20250,145 @@ msgstr "共有メモリキューにデータを送出できませんでした" msgid "logical replication apply worker will serialize the remaining changes of remote transaction %u to a file" msgstr "論理レプリケーションt起用ワーカーはリモートトランザクション%uの残りの変更をシリアライズしてファイルに格納します" +#: replication/logical/conflict.c:122 +#, c-format +msgid "conflict detected on relation \"%s.%s\": conflict=%s" +msgstr "リレーション\"%s.%s\"で衝突が検出されました: conflict=%s" + +#: replication/logical/conflict.c:217 +#, c-format +msgid "Key already exists in unique index \"%s\", modified locally in transaction %u at %s." +msgstr "ユニークインデックス\"%s\"にすでにキーが存在しており、トランザクション%uで%sにローカルに更新されています。" + +#: replication/logical/conflict.c:221 +#, c-format +msgid "Key already exists in unique index \"%s\", modified by origin \"%s\" in transaction %u at %s." +msgstr "ユニークインデックス\"%s\"にすでにキーが存在しており、起源\"%s\"によってトランザクション%uで%sにに更新されています。" + +#: replication/logical/conflict.c:233 +#, c-format +msgid "Key already exists in unique index \"%s\", modified by a non-existent origin in transaction %u at %s." +msgstr "ユニークインデックス\"%s\"にすでにキーが存在しており、存在しない起源によってトランザクション%uで%sにに更新されています。" + +#: replication/logical/conflict.c:238 +#, c-format +msgid "Key already exists in unique index \"%s\", modified in transaction %u." +msgstr "ユニークインデックス\"%s\"にすでにキーが存在しており、トランザクション%uで更新されています。" + +#: replication/logical/conflict.c:245 +#, c-format +msgid "Updating the row that was modified locally in transaction %u at %s." +msgstr "トランザクション%uで%sにローカルに更新された行の更新中。" + +#: replication/logical/conflict.c:248 +#, c-format +msgid "Updating the row that was modified by a different origin \"%s\" in transaction %u at %s." +msgstr "異なる起源”%s\"よってトランザクション%uで%sに更新された行の更新中。" + +#: replication/logical/conflict.c:253 +#, c-format +msgid "Updating the row that was modified by a non-existent origin in transaction %u at %s." +msgstr "存在しない起源よってトランザクション%uで%sに更新された行の更新中。" + +#: replication/logical/conflict.c:259 +msgid "Could not find the row to be updated." +msgstr "更新すべき行が見つかりませんでした。" + +#: replication/logical/conflict.c:264 +#, c-format +msgid "Deleting the row that was modified locally in transaction %u at %s." +msgstr "トランザクション%uで%sにローカルに更新された行の削除中。" + +#: replication/logical/conflict.c:267 +#, c-format +msgid "Deleting the row that was modified by a different origin \"%s\" in transaction %u at %s." +msgstr "異なる起源”%s\"よってトランザクション%uで%sに更新された行の削除中。" + +#: replication/logical/conflict.c:272 +#, c-format +msgid "Deleting the row that was modified by a non-existent origin in transaction %u at %s." +msgstr "存在しない起源よってトランザクション%uで%sに更新された行の削除中。" + +#: replication/logical/conflict.c:278 +msgid "Could not find the row to be deleted." +msgstr "削除すべき行が見つかりませんでした。" + +#: replication/logical/conflict.c:333 +#, c-format +msgid "Key %s" +msgstr "キー %s" + +#: replication/logical/conflict.c:350 +#, c-format +msgid "existing local tuple %s" +msgstr "存在するローカルタプル %s" + +#: replication/logical/conflict.c:355 +#, c-format +msgid "Existing local tuple %s" +msgstr "存在するローカルタプル %s" + +#: replication/logical/conflict.c:382 +#, c-format +msgid "remote tuple %s" +msgstr "リモートタプル %s" + +#: replication/logical/conflict.c:386 +#, c-format +msgid "Remote tuple %s" +msgstr "リモートタプル %s" + +#: replication/logical/conflict.c:420 +#, c-format +msgid "replica identity %s" +msgstr "複製識別 %s" + +#: replication/logical/conflict.c:421 +#, c-format +msgid "replica identity full %s" +msgstr "全列複製識別 %s" + +#: replication/logical/conflict.c:426 +#, c-format +msgid "Replica identity %s" +msgstr "複製識別 %s" + +#: replication/logical/conflict.c:427 +#, c-format +msgid "Replica identity full %s" +msgstr "全列複製識別 %s" + #: replication/logical/decode.c:177 replication/logical/logical.c:141 #, c-format msgid "logical decoding on standby requires \"wal_level\" >= \"logical\" on the primary" msgstr "スタンバイ上で論理デコードを行うためにはプライマリ上で\"wal_level\" >= \"logical\"である必要があります" -#: replication/logical/launcher.c:334 +#: replication/logical/launcher.c:340 #, c-format -msgid "cannot start logical replication workers when max_replication_slots = 0" -msgstr "max_replication_slots = 0 の時は論理レプリケーションワーカーは起動できません" +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:433 #, 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:963 storage/lmgr/lock.c:1001 storage/lmgr/lock.c:2804 storage/lmgr/lock.c:4189 storage/lmgr/lock.c:4254 storage/lmgr/lock.c:4604 storage/lmgr/predicate.c:2464 storage/lmgr/predicate.c:2479 storage/lmgr/predicate.c:3876 +#: replication/logical/launcher.c:434 replication/logical/launcher.c:520 replication/slot.c:1552 storage/lmgr/lock.c:1033 storage/lmgr/lock.c:1071 storage/lmgr/lock.c:2908 storage/lmgr/lock.c:4311 storage/lmgr/lock.c:4376 storage/lmgr/lock.c:4726 storage/lmgr/predicate.c:2469 storage/lmgr/predicate.c:2484 storage/lmgr/predicate.c:3881 #, c-format msgid "You might need to increase \"%s\"." msgstr "\"%s\"を大きくする必要があるかもしれません。" -#: replication/logical/launcher.c:513 +#: replication/logical/launcher.c:519 #, c-format msgid "out of background worker slots" msgstr "バックグラウンドワーカースロットが足りません" -#: replication/logical/launcher.c:720 +#: replication/logical/launcher.c:726 #, c-format msgid "logical replication worker slot %d is empty, cannot attach" msgstr "論理レプリケーションワーカースロット%dが空いていないため接続できません" -#: replication/logical/launcher.c:729 +#: replication/logical/launcher.c:735 #, c-format msgid "logical replication worker slot %d is already used by another worker, cannot attach" msgstr "論理レプリケーションワーカースロット%dが既に他のワーカーに使用されているため接続できません" @@ -20233,82 +20403,82 @@ msgstr "論理デコードを行うためには\"wal_level\" >= \"logical\" で msgid "logical decoding requires a database connection" msgstr "論理デコードを行うにはデータベース接続が必要です" -#: replication/logical/logical.c:364 replication/logical/logical.c:518 +#: replication/logical/logical.c:365 replication/logical/logical.c:519 #, c-format msgid "cannot use physical replication slot for logical decoding" msgstr "物理レプリケーションスロットを論理デコードに使用するとはできません" -#: replication/logical/logical.c:369 replication/logical/logical.c:528 +#: replication/logical/logical.c:370 replication/logical/logical.c:529 #, c-format msgid "replication slot \"%s\" was not created in this database" msgstr "レプリケーションスロット\"%s\"はこのデータベースでは作成されていません" -#: replication/logical/logical.c:376 +#: replication/logical/logical.c:377 #, c-format msgid "cannot create logical replication slot in transaction that has performed writes" msgstr "論理レプリケーションスロットは書き込みを行ったトランザクションの中で生成することはできません" -#: replication/logical/logical.c:539 +#: replication/logical/logical.c:540 #, c-format msgid "cannot use replication slot \"%s\" for logical decoding" msgstr "レプリケーションスロット\"%s\"は論理デコードには使用できません" -#: replication/logical/logical.c:541 +#: replication/logical/logical.c:542 replication/slot.c:798 replication/slot.c:840 #, c-format -msgid "This slot is being synchronized from the primary server." -msgstr "このスロットはプライマリサーバーからの同期中です。" +msgid "This replication slot is being synchronized from the primary server." +msgstr "このレプリケーションスロットはプライマリサーバーからの同期中です。" -#: replication/logical/logical.c:542 +#: replication/logical/logical.c:543 #, c-format msgid "Specify another replication slot." msgstr "他のレプリケーションスロットを指定してください。" -#: replication/logical/logical.c:553 replication/logical/logical.c:560 +#: replication/logical/logical.c:554 replication/logical/logical.c:561 #, c-format msgid "can no longer get changes from replication slot \"%s\"" msgstr "すでにレプリケーションスロット\"%s\"から変更を取り出すことはできません" -#: replication/logical/logical.c:555 +#: replication/logical/logical.c:556 #, c-format msgid "This slot has been invalidated because it exceeded the maximum reserved size." msgstr "最大留保量を超えたため、このスロットは無効化されています。" -#: replication/logical/logical.c:562 +#: replication/logical/logical.c:563 #, c-format msgid "This slot has been invalidated because it was conflicting with recovery." msgstr "リカバリとの競合のため、このスロットは無効化されました。" -#: replication/logical/logical.c:627 +#: replication/logical/logical.c:628 #, c-format msgid "starting logical decoding for slot \"%s\"" msgstr "スロット\"%s\"の論理デコードを開始します" -#: replication/logical/logical.c:629 +#: replication/logical/logical.c:630 #, c-format msgid "Streaming transactions committing after %X/%X, reading WAL from %X/%X." msgstr "%3$X/%4$XからWALを読み取って、%1$X/%2$X以降にコミットされるトランザクションをストリーミングします。" -#: replication/logical/logical.c:777 +#: replication/logical/logical.c:778 #, 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:783 +#: replication/logical/logical.c:784 #, c-format msgid "slot \"%s\", output plugin \"%s\", in the %s callback" msgstr "スロット\"%s\", 出力プラグイン\"%s\", %sコールバックの処理中" -#: replication/logical/logical.c:954 replication/logical/logical.c:999 replication/logical/logical.c:1044 replication/logical/logical.c:1090 +#: replication/logical/logical.c:955 replication/logical/logical.c:1000 replication/logical/logical.c:1045 replication/logical/logical.c:1091 #, c-format msgid "logical replication at prepare time requires a %s callback" msgstr "プリペア時の論理レプリケーションを行うには%sコールバックが必要です" -#: replication/logical/logical.c:1322 replication/logical/logical.c:1371 replication/logical/logical.c:1412 replication/logical/logical.c:1498 replication/logical/logical.c:1547 +#: 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 #, c-format msgid "logical streaming requires a %s callback" msgstr "論理ストリーミングを行うには%sコールバックが必要です" -#: replication/logical/logical.c:1457 +#: replication/logical/logical.c:1458 #, c-format msgid "logical streaming at prepare time requires a %s callback" msgstr "プリペア時の論理ストリーミングを行うには%sコールバックが必要です" @@ -20333,7 +20503,7 @@ msgstr "配列は1次元でなければなりません" msgid "array must not contain nulls" msgstr "配列にはNULL値を含めてはいけません" -#: replication/logical/logicalfuncs.c:177 utils/adt/json.c:1406 utils/adt/jsonb.c:1304 +#: replication/logical/logicalfuncs.c:177 utils/adt/json.c:1428 utils/adt/jsonb.c:1304 #, c-format msgid "array must have even number of elements" msgstr "配列の要素数は偶数でなければなりません" @@ -20343,87 +20513,87 @@ msgstr "配列の要素数は偶数でなければなりません" msgid "logical decoding output plugin \"%s\" produces binary output, but function \"%s\" expects textual data" msgstr "論理デコード出力プラグイン\"%s\"はバイナリ出力を生成します, しかし関数\"%s\"はテキストデータを期待しています" -#: replication/logical/origin.c:190 +#: replication/logical/origin.c:194 #, c-format msgid "cannot query or manipulate replication origin when \"max_replication_slots\" is 0" msgstr "\"max_replication_slots\"が0の時はレプリケーション基点の問い合わせや操作はできません" -#: replication/logical/origin.c:195 +#: replication/logical/origin.c:199 #, c-format msgid "cannot manipulate replication origins during recovery" msgstr "リカバリ中はレプリケーション基点を操作できません" -#: replication/logical/origin.c:240 +#: replication/logical/origin.c:244 #, c-format msgid "replication origin \"%s\" does not exist" msgstr "レプリケーション基点\"%s\"は存在しません" -#: replication/logical/origin.c:331 +#: replication/logical/origin.c:335 #, c-format msgid "could not find free replication origin ID" msgstr "レプリケーション基点IDの空きがありません" -#: replication/logical/origin.c:365 +#: replication/logical/origin.c:369 #, c-format msgid "could not drop replication origin with ID %d, in use by PID %d" msgstr "ID%dのレプリケーション基点を削除できません, PID%dで使用中です" -#: replication/logical/origin.c:492 +#: replication/logical/origin.c:496 #, c-format msgid "replication origin with ID %d does not exist" msgstr "IDが%dのレプリケーション基点がありません" -#: replication/logical/origin.c:757 +#: replication/logical/origin.c:761 #, c-format msgid "replication checkpoint has wrong magic %u instead of %u" msgstr "レプリケーションチェックポイントのマジックナンバー%uは不正です、正しい値は%u" -#: replication/logical/origin.c:798 +#: replication/logical/origin.c:802 #, c-format msgid "could not find free replication state, increase \"max_replication_slots\"" msgstr "使用可能なレプリケーション状態領域がありません、\"max_replication_slots\"を増やしてください" -#: replication/logical/origin.c:806 +#: replication/logical/origin.c:810 #, c-format msgid "recovered replication state of node %d to %X/%X" msgstr "ノード%dのレプリケーション状態を%X/%Xに復元します" -#: replication/logical/origin.c:816 +#: replication/logical/origin.c:820 #, c-format msgid "replication slot checkpoint has wrong checksum %u, expected %u" msgstr "レプリケーションスロットチェックポイントのチェックサム%uは間違っています、正しくは%uです" -#: replication/logical/origin.c:944 replication/logical/origin.c:1143 +#: replication/logical/origin.c:948 replication/logical/origin.c:1147 #, c-format msgid "replication origin with ID %d is already active for PID %d" msgstr "ID%dのレプリケーション基点は既にPID%dで使用中です" -#: replication/logical/origin.c:955 replication/logical/origin.c:1156 +#: replication/logical/origin.c:959 replication/logical/origin.c:1160 #, c-format msgid "could not find free replication state slot for replication origin with ID %d" msgstr "ID%dのレプリケーション基点に対するレプリケーション状態スロットの空きがありません" -#: replication/logical/origin.c:957 replication/logical/origin.c:1158 replication/slot.c:2384 +#: replication/logical/origin.c:961 replication/logical/origin.c:1162 replication/slot.c:2412 #, c-format msgid "Increase \"max_replication_slots\" and try again." msgstr "\"max_replication_slots\"を増やして再度試してください" -#: replication/logical/origin.c:1114 +#: replication/logical/origin.c:1118 #, c-format msgid "cannot setup replication origin when one is already setup" msgstr "既に初期化されている場合はレプリケーション基点の初期化はできません" -#: replication/logical/origin.c:1199 replication/logical/origin.c:1415 replication/logical/origin.c:1435 +#: replication/logical/origin.c:1203 replication/logical/origin.c:1419 replication/logical/origin.c:1439 #, c-format msgid "no replication origin is configured" msgstr "レプリケーション基点が構成されていません" -#: replication/logical/origin.c:1285 +#: replication/logical/origin.c:1289 #, c-format msgid "replication origin name \"%s\" is reserved" msgstr "レプリケーション基点名\"%s\"は予約されています" -#: replication/logical/origin.c:1287 +#: replication/logical/origin.c:1291 #, c-format msgid "Origin names \"%s\", \"%s\", and names starting with \"pg_\" are reserved." msgstr "\"%s\"、\"%s\"、および\"pg_\"で始まる基点名は予約されています。" @@ -20454,220 +20624,220 @@ msgstr "論理レプリケーションのターゲットリレーション\"%s.% msgid "logical replication target relation \"%s.%s\" does not exist" msgstr "論理レプリケーション先のリレーション\"%s.%s\"は存在しません" -#: replication/logical/reorderbuffer.c:3970 +#: replication/logical/reorderbuffer.c:3999 #, c-format msgid "could not write to data file for XID %u: %m" msgstr "XID%uのためのデータファイルの書き出しに失敗しました: %m" -#: replication/logical/reorderbuffer.c:4316 replication/logical/reorderbuffer.c:4341 +#: replication/logical/reorderbuffer.c:4345 replication/logical/reorderbuffer.c:4370 #, c-format msgid "could not read from reorderbuffer spill file: %m" msgstr "並べ替えバッファのあふれファイルの読み込みに失敗しました: %m" -#: replication/logical/reorderbuffer.c:4320 replication/logical/reorderbuffer.c:4345 +#: replication/logical/reorderbuffer.c:4349 replication/logical/reorderbuffer.c:4374 #, c-format msgid "could not read from reorderbuffer spill file: read %d instead of %u bytes" msgstr "並べ替えバッファのあふれファイルの読み込みに失敗しました: %2$uバイトのはずが%1$dバイトでした" -#: replication/logical/reorderbuffer.c:4595 +#: replication/logical/reorderbuffer.c:4624 #, c-format -msgid "could not remove file \"%s\" during removal of pg_replslot/%s/xid*: %m" -msgstr "pg_replslot/%2$s/xid* の削除中にファイル\"%1$s\"が削除できませんでした: %3$m" +msgid "could not remove file \"%s\" during removal of %s/%s/xid*: %m" +msgstr "%2$s/%3$s/xid* の削除中にファイル\"%1$s\"が削除できませんでした: %4$m" -#: replication/logical/reorderbuffer.c:5091 +#: replication/logical/reorderbuffer.c:5121 #, c-format msgid "could not read from file \"%s\": read %d instead of %d bytes" msgstr "ファイル\"%1$s\"の読み込みに失敗しました: %3$dバイトのはずが%2$dバイトでした" -#: replication/logical/slotsync.c:215 +#: replication/logical/slotsync.c:213 #, c-format -msgid "could not sync slot \"%s\" as remote slot precedes local slot" -msgstr "リモートスロットがローカルスロットよりも進んでいるためスロット\"%s\"を同期できませんでした" +msgid "could not synchronize replication slot \"%s\" because remote slot precedes local slot" +msgstr "リモートのスロットがローカルのスロットよりも進んでいるためレプリケーションスロット\"%s\"を同期できませんでした" -#: replication/logical/slotsync.c:217 +#: replication/logical/slotsync.c:215 #, c-format -msgid "Remote slot has LSN %X/%X and catalog xmin %u, but local slot has LSN %X/%X and catalog xmin %u." +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です。" -#: replication/logical/slotsync.c:459 +#: replication/logical/slotsync.c:457 #, c-format -msgid "dropped replication slot \"%s\" of dbid %u" -msgstr "dbid %2$uのレプリケーションスロット\"%1$s\"を削除しました" +msgid "dropped replication slot \"%s\" of database with OID %u" +msgstr "OID %2$uのデータベースのレプリケーションスロット\"%1$s\"を削除しました" -#: replication/logical/slotsync.c:579 +#: replication/logical/slotsync.c:577 #, c-format -msgid "could not sync slot \"%s\"" -msgstr "スロット\"%s\"を同期できませんでした" +msgid "could not synchronize replication slot \"%s\"" +msgstr "レプリケーションスロット\"%s\"を同期できませんでした" -#: replication/logical/slotsync.c:580 +#: replication/logical/slotsync.c:578 #, c-format -msgid "Logical decoding cannot find consistent point from local slot's LSN %X/%X." -msgstr "論理デコードが一貫性ポイントをローカルスロットのLSN%X/%Xから見つけられません。" +msgid "Logical decoding could not find consistent point from local slot's LSN %X/%X." +msgstr "論理デコードが一貫性ポイントをローカルスロットのLSN%X/%Xから見つけられませんでした。" -#: replication/logical/slotsync.c:589 +#: replication/logical/slotsync.c:587 #, c-format -msgid "newly created slot \"%s\" is sync-ready now" -msgstr "新規に作成したスロット\"%s\"が同期可能になりました" +msgid "newly created replication slot \"%s\" is sync-ready now" +msgstr "新規に作成したレプリケーションスロット\"%s\"が同期可能になりました" -#: replication/logical/slotsync.c:628 +#: replication/logical/slotsync.c:626 #, c-format -msgid "skipping slot synchronization as the received slot sync LSN %X/%X for slot \"%s\" is ahead of the standby position %X/%X" +msgid "skipping slot synchronization because the received slot sync LSN %X/%X for slot \"%s\" is ahead of the standby position %X/%X" msgstr "受信したスロット\"%3$s\"のスロット同期LSN%1$X/%2$XがスタンバイのLSN%4$X/%5$Xよりも進んでいるためスロット同期をスキップします" -#: replication/logical/slotsync.c:650 +#: replication/logical/slotsync.c:648 #, c-format 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:817 #, 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:963 #, c-format -msgid "could not fetch primary_slot_name \"%s\" info from the primary server: %s" -msgstr "プライマリサーバーからprimary_slot_name \"%s\"の情報を取得できませんでした: %s" +msgid "could not fetch primary slot name \"%s\" info from the primary server: %s" +msgstr "プライマリサーバーからプライマリのスロット名\"%s\"の情報を取得できませんでした: %s" -#: replication/logical/slotsync.c:967 +#: replication/logical/slotsync.c:965 #, c-format -msgid "Check if primary_slot_name is configured correctly." -msgstr "primary_slot_nameが正しく設定されてるか確認してください。" +msgid "Check if \"primary_slot_name\" is configured correctly." +msgstr "\"primary_slot_name\"が正しく設定されてるか確認してください。" -#: replication/logical/slotsync.c:987 +#: replication/logical/slotsync.c:985 #, c-format msgid "cannot synchronize replication slots from a standby server" msgstr "スタンバイサーバーからのリプリケーションスロットの同期ができませんでした" -#: replication/logical/slotsync.c:995 -#, c-format -msgid "slot synchronization requires valid primary_slot_name" -msgstr "スロット同期ではprimary_slot_nameを正しく設定する必要があります" - #. translator: second %s is a GUC variable name -#: replication/logical/slotsync.c:997 +#: replication/logical/slotsync.c:994 #, c-format -msgid "The replication slot \"%s\" specified by %s does not exist on the primary server." -msgstr "%2$sで指定されたレプリケーションスロット\"%1$s\"はプライマリサーバーに存在しません。" +msgid "replication slot \"%s\" specified by \"%s\" does not exist on primary server" +msgstr "%2$sで指定されたレプリケーションスロット\"%1$s\"はプライマリサーバーに存在しません" -#: replication/logical/slotsync.c:1029 +#. translator: first %s is a connection option; second %s is a GUC +#. variable name +#. +#: replication/logical/slotsync.c:1027 #, c-format -msgid "slot synchronization requires dbname to be specified in %s" -msgstr "スロット同期を行う際は%sでdbnameが指定されている必要があります" +msgid "replication slot synchronization requires \"%s\" to be specified in \"%s\"" +msgstr "レプリケーションスロットの同期を行う際は\"%2$s\"で\"%1$s\"が指定されている必要があります" -#: replication/logical/slotsync.c:1050 +#: replication/logical/slotsync.c:1048 #, c-format -msgid "slot synchronization requires \"wal_level\" >= \"logical\"" -msgstr "スロット同期を行う際は\"wal_level\" >= \"logical\" である必要があります" +msgid "replication slot synchronization requires \"wal_level\" >= \"logical\"" +msgstr "レプリケーションスロットの同期を行う際は\"wal_level\" >= \"logical\" である必要があります" -#: replication/logical/slotsync.c:1063 replication/logical/slotsync.c:1091 +#. translator: %s is a GUC variable name +#: replication/logical/slotsync.c:1061 replication/logical/slotsync.c:1089 #, c-format -msgid "slot synchronization requires %s to be defined" -msgstr "スロット同期を行う際は%sが定義されている必要があります" +msgid "replication slot synchronization requires \"%s\" to be set" +msgstr "レプリケーションスロットの同期を行う際は\"%s\"が設定されている必要があります" -#: replication/logical/slotsync.c:1077 +#. translator: %s is a GUC variable name +#: replication/logical/slotsync.c:1075 #, c-format -msgid "slot synchronization requires %s to be enabled" -msgstr "スロット同期を行う際は%sが有効になっている必要があります" +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:1127 #, c-format -msgid "slot sync worker will shutdown because %s is disabled" -msgstr "%sが無効にされたため、スロット同期ワーカーがシャットダウンします" +msgid "replication slot synchronization worker will shut down because \"%s\" is disabled" +msgstr "\"%s\"が無効にされたため、レプリケーションスロット同期ワーカーがシャットダウンします" -#: replication/logical/slotsync.c:1138 +#: replication/logical/slotsync.c:1136 #, c-format -msgid "slot sync worker will restart because of a parameter change" -msgstr "パラメータの変更があったため、スロット同期ワーカーが再起動します" +msgid "replication slot synchronization worker will restart because of a parameter change" +msgstr "パラメータの変更があったため、レプリケーションスロット同期ワーカーが再起動します" -#: replication/logical/slotsync.c:1162 +#: replication/logical/slotsync.c:1160 #, c-format -msgid "slot sync worker is shutting down on receiving SIGINT" -msgstr "SIGINTを受信したためスロット同期ワーカーがシャットダウンします" +msgid "replication slot synchronization worker is shutting down on receiving SIGINT" +msgstr "SIGINTを受信したためレプリケーションスロット同期ワーカーがシャットダウンします" -#: replication/logical/slotsync.c:1287 +#: replication/logical/slotsync.c:1285 #, c-format msgid "cannot synchronize replication slots when standby promotion is ongoing" msgstr "スタンバイの昇格処理中はリプリケーションスロットの同期はできません" -#: replication/logical/slotsync.c:1295 +#: replication/logical/slotsync.c:1293 #, c-format msgid "cannot synchronize replication slots concurrently" msgstr "複数のレプリケーションスロットの並行同期はできません" -#: replication/logical/slotsync.c:1403 +#: replication/logical/slotsync.c:1401 #, c-format msgid "slot sync worker started" msgstr "スロット同期ワーカーが起動しました" -#: replication/logical/slotsync.c:1466 replication/slotfuncs.c:900 replication/walreceiver.c:307 +#: replication/logical/slotsync.c:1464 replication/slotfuncs.c:897 #, c-format -msgid "could not connect to the primary server: %s" -msgstr "プライマリサーバーへの接続ができませんでした: %s" +msgid "synchronization worker \"%s\" could not connect to the primary server: %s" +msgstr "同期ワーカー\"%s\"はプライマリ・サーバーに接続できませんでした: %s" -#: replication/logical/snapbuild.c:643 +#: replication/logical/snapbuild.c:514 #, c-format msgid "initial slot snapshot too large" msgstr "初期スロットスナップショットが大きすぎます" -#: replication/logical/snapbuild.c:697 +#: replication/logical/snapbuild.c:568 #, c-format msgid "exported logical decoding snapshot: \"%s\" with %u transaction ID" msgid_plural "exported logical decoding snapshot: \"%s\" with %u transaction IDs" msgstr[0] "エクスポートされた論理デコードスナップショット: \"%s\" (%u個のトランザクションID を含む)" -#: replication/logical/snapbuild.c:1392 replication/logical/snapbuild.c:1484 replication/logical/snapbuild.c:2000 +#: replication/logical/snapbuild.c:1265 replication/logical/snapbuild.c:1362 replication/logical/snapbuild.c:1868 #, c-format msgid "logical decoding found consistent point at %X/%X" msgstr "論理デコードは一貫性ポイントを%X/%Xで発見しました" -#: replication/logical/snapbuild.c:1394 +#: replication/logical/snapbuild.c:1267 #, c-format msgid "There are no running transactions." msgstr "実行中のトランザクションはありません。" -#: replication/logical/snapbuild.c:1436 +#: replication/logical/snapbuild.c:1314 #, c-format msgid "logical decoding found initial starting point at %X/%X" msgstr "論理デコードは初期開始点を%X/%Xで発見しました" -#: replication/logical/snapbuild.c:1438 replication/logical/snapbuild.c:1462 +#: replication/logical/snapbuild.c:1316 replication/logical/snapbuild.c:1340 #, c-format msgid "Waiting for transactions (approximately %d) older than %u to end." msgstr "%2$uより古いトランザクション(おおよそ%1$d個)の完了を待っています" -#: replication/logical/snapbuild.c:1460 +#: replication/logical/snapbuild.c:1338 #, c-format msgid "logical decoding found initial consistent point at %X/%X" msgstr "論理デコードは初期の一貫性ポイントを%X/%Xで発見しました" -#: replication/logical/snapbuild.c:1486 +#: replication/logical/snapbuild.c:1364 #, c-format msgid "There are no old transactions anymore." msgstr "古いトランザクションはこれ以上はありません" -#: replication/logical/snapbuild.c:1887 +#: replication/logical/snapbuild.c:1730 #, c-format msgid "snapbuild state file \"%s\" has wrong magic number: %u instead of %u" msgstr "スナップショット構築状態ファイル\"%1$s\"のマジックナンバーが不正です: %3$uのはずが%2$uでした" -#: replication/logical/snapbuild.c:1893 +#: replication/logical/snapbuild.c:1736 #, c-format msgid "snapbuild state file \"%s\" has unsupported version: %u instead of %u" msgstr "スナップショット状態ファイル\"%1$s\"のバージョン%2$uはサポート外です: %3$uのはずが%2$uでした" -#: replication/logical/snapbuild.c:1934 +#: replication/logical/snapbuild.c:1777 #, c-format msgid "checksum mismatch for snapbuild state file \"%s\": is %u, should be %u" msgstr "スナップショット生成状態ファイル\"%s\"のチェックサムが一致しません: %uですが、%uであるべきです" -#: replication/logical/snapbuild.c:2002 +#: replication/logical/snapbuild.c:1870 #, c-format msgid "Logical decoding will begin using saved snapshot." msgstr "論理デコードは保存されたスナップショットを使って開始します。" -#: replication/logical/snapbuild.c:2109 +#: replication/logical/snapbuild.c:1977 #, c-format msgid "could not parse file name \"%s\"" msgstr "ファイル名\"%s\"をパースできませんでした" @@ -20682,266 +20852,276 @@ msgstr "サブスクリプション\"%s\"、テーブル\"%s\"に対する論理 msgid "logical replication apply worker for subscription \"%s\" will restart so that two_phase can be enabled" msgstr "two_phaseを有効化可能にするため、サブスクリプション\"%s\"に対応する論理レプリケーション適用ワーカーを再起動します" -#: replication/logical/tablesync.c:827 replication/logical/tablesync.c:969 +#: replication/logical/tablesync.c:831 replication/logical/tablesync.c:972 #, 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:838 #, c-format msgid "table \"%s.%s\" not found on publisher" msgstr "テーブル\"%s.%s\"がパブリッシャ上で見つかりませんでした" -#: replication/logical/tablesync.c:892 +#: replication/logical/tablesync.c:891 #, 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:1070 #, c-format msgid "could not fetch table WHERE clause info for table \"%s.%s\" from publisher: %s" msgstr "パブリッシャからテーブル\"%s.%s\"のテーブルのテーブルWHERE句を取得できませんでした: %s" -#: replication/logical/tablesync.c:1230 +#: replication/logical/tablesync.c:1237 #, 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:1352 +#, c-format +msgid "table synchronization worker for subscription \"%s\" could not connect to the publisher: %s" +msgstr "サブスクリプション\"%s\"のテーブル同期ワーカーがパブリッシャに接続できませんでした: %s" + +#: replication/logical/tablesync.c:1437 #, c-format msgid "table copy could not start transaction on publisher: %s" msgstr "テーブルコピー中にパブリッシャ上でのトランザクション開始に失敗しました: %s" -#: replication/logical/tablesync.c:1472 +#: replication/logical/tablesync.c:1480 #, c-format msgid "replication origin \"%s\" already exists" msgstr "レプリケーション基点\"%s\"はすでに存在します" -#: replication/logical/tablesync.c:1505 replication/logical/worker.c:2361 +#: replication/logical/tablesync.c:1513 replication/logical/worker.c:2382 #, 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:1526 #, c-format msgid "table copy could not finish transaction on publisher: %s" msgstr "テーブルコピー中にパブリッシャ上でのトランザクション終了に失敗しました: %s" -#: replication/logical/worker.c:481 +#: replication/logical/worker.c:479 #, c-format msgid "logical replication parallel apply worker for subscription \"%s\" will stop" msgstr "サブスクリプション\"%s\"に対応する論理レプリケーション並列適用ワーカーが停止します" -#: replication/logical/worker.c:483 +#: replication/logical/worker.c:481 #, 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:850 replication/logical/worker.c:965 #, c-format msgid "incorrect binary data format in logical replication column %d" msgstr "論理レプリケーション列%dのバイナリデータ書式が不正です" -#: replication/logical/worker.c:2500 +#: replication/logical/worker.c:2522 #, 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:2507 +#: replication/logical/worker.c:2529 #, 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 FULLとなっていません" -#: replication/logical/worker.c:3371 +#: replication/logical/worker.c:3463 #, c-format msgid "invalid logical replication message type \"??? (%d)\"" msgstr "不正な論理レプリケーションのメッセージタイプ \"??? (%d)\"" -#: replication/logical/worker.c:3543 +#: replication/logical/worker.c:3635 #, c-format msgid "data stream from publisher has ended" msgstr "パブリッシャからのデータストリームが終了しました" -#: replication/logical/worker.c:3697 +#: replication/logical/worker.c:3789 #, c-format msgid "terminating logical replication worker due to timeout" msgstr "タイムアウトにより論理レプリケーションワーカーを終了しています" -#: replication/logical/worker.c:3891 +#: replication/logical/worker.c:3983 #, c-format msgid "logical replication worker for subscription \"%s\" will stop because the subscription was removed" msgstr "サブスクリプション\"%s\"が削除されたため、このサブスクリプションに対応する論理レプリケーションワーカーが停止します" -#: replication/logical/worker.c:3905 +#: replication/logical/worker.c:3997 #, c-format msgid "logical replication worker for subscription \"%s\" will stop because the subscription was disabled" msgstr "サブスクリプション\"%s\"が無効化されたため、このサブスクリプションに対応する論理レプリケーションワーカーが停止します" -#: replication/logical/worker.c:3936 +#: replication/logical/worker.c:4028 #, c-format msgid "logical replication parallel apply worker for subscription \"%s\" will stop because of a parameter change" msgstr "パラメータの変更があったため、サブスクリプション\"%s\"に対応する論理レプリケーション並列適用ワーカーが停止します" -#: replication/logical/worker.c:3940 +#: replication/logical/worker.c:4032 #, c-format msgid "logical replication worker for subscription \"%s\" will restart because of a parameter change" msgstr "パラメータの変更があったため、サブスクリプション\"%s\"に対応する論理レプリケーションワーカーが再起動します" -#: replication/logical/worker.c:3954 +#: replication/logical/worker.c:4046 #, 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:3958 +#: replication/logical/worker.c:4050 #, 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:4478 +#: replication/logical/worker.c:4552 #, c-format msgid "subscription has no replication slot set" msgstr "サブスクリプションにレプリケーションスロットが設定されていません" -#: replication/logical/worker.c:4591 +#: replication/logical/worker.c:4577 +#, c-format +msgid "apply worker for subscription \"%s\" could not connect to the publisher: %s" +msgstr "サブスクリプション\"%s\"の適用ワーカーがパブリッシャに接続できませんでした: %s" + +#: replication/logical/worker.c:4666 #, 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:4607 +#: replication/logical/worker.c:4682 #, 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:4631 +#: replication/logical/worker.c:4706 #, c-format msgid "logical replication table synchronization worker for subscription \"%s\", table \"%s\" has started" msgstr "サブスクリプション\"%s\"、テーブル\"%s\"に対応する論理レプリケーションテーブル同期ワーカーが起動しました" -#: replication/logical/worker.c:4636 +#: replication/logical/worker.c:4711 #, c-format msgid "logical replication apply worker for subscription \"%s\" has started" msgstr "サブスクリプション\"%s\"に対応する論理レプリケーション適用ワーカーが起動しました" -#: replication/logical/worker.c:4734 +#: replication/logical/worker.c:4833 #, c-format msgid "subscription \"%s\" has been disabled because of an error" msgstr "サブスクリプション\"%s\"はエラーのため無効化されました" -#: replication/logical/worker.c:4782 +#: replication/logical/worker.c:4881 #, c-format msgid "logical replication starts skipping transaction at LSN %X/%X" msgstr "論理レプリケーションは%X/%Xででトランザクションのスキップを開始します" -#: replication/logical/worker.c:4796 +#: replication/logical/worker.c:4895 #, c-format msgid "logical replication completed skipping transaction at LSN %X/%X" msgstr "論理レプリケーションは%X/%Xでトランザクションのスキップを完了しました" -#: replication/logical/worker.c:4878 +#: replication/logical/worker.c:4977 #, c-format msgid "skip-LSN of subscription \"%s\" cleared" msgstr "サブスクリプションの\"%s\"スキップLSNをクリアしました" -#: replication/logical/worker.c:4879 +#: replication/logical/worker.c:4978 #, c-format msgid "Remote transaction's finish WAL location (LSN) %X/%X did not match skip-LSN %X/%X." msgstr "リモートトランザクションの完了WAL位置(LSN) %X/%XがスキップLSN %X/%X と一致しません。" -#: replication/logical/worker.c:4905 +#: replication/logical/worker.c:5015 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\"" msgstr "メッセージタイプ \"%2$s\"でレプリケーション基点\"%1$s\"のリモートからのデータを処理中" -#: replication/logical/worker.c:4909 +#: replication/logical/worker.c:5019 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\" in transaction %u" msgstr "トランザクション%3$u中、メッセージタイプ\"%2$s\"でレプリケーション基点\"%1$s\"のリモートからのデータを処理中" -#: replication/logical/worker.c:4914 +#: replication/logical/worker.c:5024 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\" in transaction %u, finished at %X/%X" msgstr "%4$X/%5$Xで終了したトランザクション%3$u中、メッセージタイプ\"%2$s\"でレプリケーション基点\"%1$s\"のリモートからのデータを処理中" -#: replication/logical/worker.c:4925 +#: replication/logical/worker.c:5035 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\" for replication target relation \"%s.%s\" in transaction %u" msgstr "レプリケーション起点\"%1$s\"のリモートデータ処理中、トランザクション%5$uのレプリケーション対象リレーション\"%3$s.%4$s\"に対するメッセージタイプ\"%2$s\"内" -#: replication/logical/worker.c:4932 +#: replication/logical/worker.c:5042 #, 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 "%6$X/%7$Xで終了したトランザクション%5$u中、レプリケーション先リレーション\"%3$s.%4$s\"に対するメッセージタイプ\"%2$s\"でレプリケーション基点\"%1$s\"のリモートからのデータを処理中" -#: replication/logical/worker.c:4943 +#: replication/logical/worker.c:5053 #, 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 "レプリケーション起点\"%1$s\"のリモートデータ処理中、トランザクション%6$uのレプリケーション対象リレーション\"%3$s.%4$s\"、列\"%5$s\"に対するメッセージタイプ\"%2$s\"内" -#: replication/logical/worker.c:4951 +#: replication/logical/worker.c:5061 #, 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 "%7$X/%8$Xで終了したトランザクション%6$u中、レプリケーション先リレーション\"%3$s.%4$s\"、列\"%5$s\"に対するメッセージタイプ\"%2$s\"でレプリケーション基点\"%1$s\"のリモートからのデータを処理中" -#: replication/pgoutput/pgoutput.c:315 +#: replication/pgoutput/pgoutput.c:321 #, c-format msgid "invalid proto_version" msgstr "不正なproto_version" -#: replication/pgoutput/pgoutput.c:320 +#: replication/pgoutput/pgoutput.c:326 #, c-format msgid "proto_version \"%s\" out of range" msgstr "proto_version \"%s\"は範囲外です" -#: replication/pgoutput/pgoutput.c:337 +#: replication/pgoutput/pgoutput.c:343 #, c-format msgid "invalid publication_names syntax" msgstr "publication_namesの構文が不正です" -#: replication/pgoutput/pgoutput.c:407 +#: replication/pgoutput/pgoutput.c:413 replication/pgoutput/pgoutput.c:417 #, c-format -msgid "proto_version option missing" -msgstr "proto_version オプションが指定されていません" +msgid "option \"%s\" missing" +msgstr "オプション\"%s\"が指定されていません" -#: replication/pgoutput/pgoutput.c:411 -#, c-format -msgid "publication_names option missing" -msgstr "publication_names オプションが指定されていません" - -#: replication/pgoutput/pgoutput.c:452 +#: replication/pgoutput/pgoutput.c:458 #, 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:458 +#: replication/pgoutput/pgoutput.c:464 #, 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:473 +#: replication/pgoutput/pgoutput.c:479 #, c-format msgid "requested proto_version=%d does not support streaming, need %d or higher" msgstr "要求されたproto_version=%dではストリーミングをサポートしていません、%d以上が必要です" -#: replication/pgoutput/pgoutput.c:479 +#: replication/pgoutput/pgoutput.c:485 #, 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:484 +#: replication/pgoutput/pgoutput.c:490 #, c-format msgid "streaming requested, but not supported by output plugin" msgstr "ストリーミングが要求されましたが、出力プラグインでサポートされていません" -#: replication/pgoutput/pgoutput.c:498 +#: replication/pgoutput/pgoutput.c:504 #, c-format msgid "requested proto_version=%d does not support two-phase commit, need %d or higher" msgstr "要求されたproto_version=%dは2相コミットをサポートしていません、%d以上が必要です" -#: replication/pgoutput/pgoutput.c:503 +#: replication/pgoutput/pgoutput.c:509 #, c-format msgid "two-phase commit requested, but not supported by output plugin" msgstr "2相コミットが要求されました、しかし出力プラグインではサポートされていません" +#: replication/pgoutput/pgoutput.c:1069 +#, c-format +msgid "cannot use different values of publish_generated_columns for table \"%s.%s\" in different publications" +msgstr "異なるパブリケーションでテーブル\"%s.%s\"に対してpublish_generated_columnsの値を異なる設定にすることはできません" + #: replication/slot.c:260 #, c-format msgid "replication slot name \"%s\" is too short" @@ -20967,7 +21147,7 @@ msgstr "レプリケーションスロット名は小文字、数字とアンダ msgid "cannot enable failover for a replication slot created on the standby" msgstr "スタンバイ上で作成したレプリケーションスロットのフェイルオーバーを有効にすることはできません" -#: replication/slot.c:345 replication/slot.c:849 +#: replication/slot.c:345 replication/slot.c:862 #, c-format msgid "cannot enable failover for a temporary replication slot" msgstr "一時レプリケーションスロットのフェイルオーバーを有効にすることはできません" @@ -20987,12 +21167,12 @@ msgstr "レプリケーションスロットは全て使用中です" msgid "Free one or increase \"max_replication_slots\"." msgstr "どれか一つを解放するか、\"max_replication_slots\"を大きくしてください。" -#: replication/slot.c:560 replication/slot.c:2453 replication/slotfuncs.c:661 utils/activity/pgstat_replslot.c:56 utils/adt/genfile.c:728 +#: replication/slot.c:560 replication/slot.c:2481 replication/slotfuncs.c:658 utils/activity/pgstat_replslot.c:56 utils/adt/genfile.c:739 #, c-format msgid "replication slot \"%s\" does not exist" msgstr "レプリケーションスロット\"%s\"は存在しません" -#: replication/slot.c:606 replication/slot.c:1337 +#: replication/slot.c:606 replication/slot.c:1365 #, c-format msgid "replication slot \"%s\" is active for PID %d" msgstr "レプリケーションスロット\"%s\"はPID%dで使用中です" @@ -21022,232 +21202,237 @@ msgstr "物理レプリケーションスロット\"%s\"を解放しました" msgid "cannot drop replication slot \"%s\"" msgstr "レプリケーションスロット\"%s\"を削除できませんでした" -#: replication/slot.c:798 replication/slot.c:829 -#, c-format -msgid "This slot is being synced from the primary server." -msgstr "このスロットはプライマリサーバーからの同期中です。" - -#: replication/slot.c:816 +#: replication/slot.c:820 #, c-format msgid "cannot use %s with a physical replication slot" msgstr "%sは物理レプリケーションスロットでは使用できません" -#: replication/slot.c:828 +#: replication/slot.c:826 +#, c-format +msgid "cannot alter invalid replication slot \"%s\"" +msgstr "無効なレプリケーションスロット\"%s\"は変更できません" + +#: replication/slot.c:827 +#, c-format +msgid "This replication slot has been invalidated due to \"%s\"." +msgstr "このレプリケーションスロットは\"%s\"によって無効化されています。" + +#: replication/slot.c:839 #, c-format msgid "cannot alter replication slot \"%s\"" msgstr "レプリケーションスロット\"%s\"を変更できませんでした" -#: replication/slot.c:838 +#: replication/slot.c:849 #, 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:997 replication/slot.c:1955 replication/slot.c:2339 #, c-format msgid "could not remove directory \"%s\"" msgstr "ディレクトリ\"%s\"を削除できませんでした" -#: replication/slot.c:1372 +#: replication/slot.c:1400 #, 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:1405 #, c-format msgid "replication slots can only be used if \"wal_level\" >= \"replica\"" msgstr "レプリケーションスロットは\"wal_level\" >= \"replica\" のときだけ使用できます" -#: replication/slot.c:1389 +#: replication/slot.c:1417 #, c-format msgid "permission denied to use replication slots" msgstr "レプリケーションスロットを使用する権限がありません" -#: replication/slot.c:1390 +#: replication/slot.c:1418 #, c-format msgid "Only roles with the %s attribute may use replication slots." msgstr "%s属性を持つロールのみがレプリケーションスロットを使用できます。" -#: replication/slot.c:1498 +#: replication/slot.c:1526 #, 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] "このスロットのrestart_lsn %X/%Xは制限を%lluバイト超過しています。" -#: replication/slot.c:1506 +#: replication/slot.c:1534 #, c-format msgid "The slot conflicted with xid horizon %u." msgstr "このスロットはXID地平線%uと競合しました。" -#: replication/slot.c:1511 +#: replication/slot.c:1539 msgid "Logical decoding on standby requires \"wal_level\" >= \"logical\" on the primary server." msgstr "論理デコードを行うためにはプライマリサーバー上で\"wal_level\" >= \"logical\" である必要があります。" -#: replication/slot.c:1519 +#: replication/slot.c:1547 #, c-format msgid "terminating process %d to release replication slot \"%s\"" msgstr "プロセス%dを終了してレプリケーションスロット\"%s\"を解放します" -#: replication/slot.c:1521 +#: replication/slot.c:1549 #, c-format msgid "invalidating obsolete replication slot \"%s\"" msgstr "使用不能のレプリケーションスロット\"%s\"を無効化します" -#: replication/slot.c:2249 +#: replication/slot.c:2277 #, c-format msgid "replication slot file \"%s\" has wrong magic number: %u instead of %u" msgstr "レプリケーションスロットファイル\"%1$s\"のマジックナンバーが不正です: %3$uのはずが%2$uでした" -#: replication/slot.c:2256 +#: replication/slot.c:2284 #, c-format msgid "replication slot file \"%s\" has unsupported version %u" msgstr "レプリケーションスロットファイル\"%s\"はサポート外のバージョン%uです" -#: replication/slot.c:2263 +#: replication/slot.c:2291 #, c-format msgid "replication slot file \"%s\" has corrupted length %u" msgstr "レプリケーションスロットファイル\"%s\"のサイズ%uは異常です" -#: replication/slot.c:2299 +#: replication/slot.c:2327 #, c-format msgid "checksum mismatch for replication slot file \"%s\": is %u, should be %u" msgstr "レプリケーションスロットファイル\"%s\"のチェックサムが一致しません: %uですが、%uであるべきです" -#: replication/slot.c:2333 +#: replication/slot.c:2361 #, c-format msgid "logical replication slot \"%s\" exists, but \"wal_level\" < \"logical\"" msgstr "論理レプリケーションスロット\"%s\"がありますが、\"wal_level\" < \"logical\" です" -#: replication/slot.c:2335 +#: replication/slot.c:2363 #, c-format msgid "Change \"wal_level\" to be \"logical\" or higher." msgstr "\"wal_level\"を\"logical\"もしくはそれより上位の設定にしてください。" -#: replication/slot.c:2339 +#: replication/slot.c:2367 #, c-format msgid "physical replication slot \"%s\" exists, but \"wal_level\" < \"replica\"" msgstr "物理レプリケーションスロット\"%s\"がありますが、\"wal_level\" < \"replica\" です" -#: replication/slot.c:2341 +#: replication/slot.c:2369 #, c-format msgid "Change \"wal_level\" to be \"replica\" or higher." msgstr "\"wal_level\"を\"replica\"もしくはそれより上位の設定にしてください。" -#: replication/slot.c:2383 +#: replication/slot.c:2411 #, c-format msgid "too many replication slots active before shutdown" msgstr "シャットダウン前のアクティブなレプリケーションスロットの数が多すぎます" -#: replication/slot.c:2461 +#: replication/slot.c:2489 #, c-format msgid "\"%s\" is not a physical replication slot" msgstr "\"%s\"は物理レプリケーションスロットではありません" -#: replication/slot.c:2637 +#: replication/slot.c:2666 #, c-format -msgid "replication slot \"%s\" specified in parameter %s does not exist" -msgstr "パラメータ%2$sで指定されているレプリケーションスロット\"%1$s\"は存在しません" +msgid "replication slot \"%s\" specified in parameter \"%s\" does not exist" +msgstr "パラメータ\"%2$s\"で指定されているレプリケーションスロット\"%1$s\"は存在しません" -#: replication/slot.c:2639 replication/slot.c:2680 replication/slot.c:2695 +#: replication/slot.c:2668 replication/slot.c:2709 replication/slot.c:2724 #, c-format -msgid "Logical replication is waiting on the standby associated with \"%s\"." -msgstr "論理レプリケーションは”%s\"に対応するスタンバイを待っています。 " +msgid "Logical replication is waiting on the standby associated with replication slot \"%s\"." +msgstr "論理レプリケーションはレプリケーションスロット”%s\"に対応するスタンバイを待っています。 " -#: replication/slot.c:2641 +#: replication/slot.c:2670 #, c-format -msgid "Consider creating the slot \"%s\" or amend parameter %s." -msgstr "スロット\"%s\"を作成するか、パラメータ%sを修正することを検討してください。" +msgid "Create the replication slot \"%s\" or amend parameter \"%s\"." +msgstr "レプリケーションスロット\"%s\"を作成するか、パラメータ\"%s\"を修正してください。" -#: replication/slot.c:2658 +#: replication/slot.c:2687 #, c-format -msgid "cannot have logical replication slot \"%s\" in parameter %s" -msgstr "パラメータ%2$sでは論理レプリケーションスロット\"%1$s\"は指定できません" +msgid "cannot specify logical replication slot \"%s\" in parameter \"%s\"" +msgstr "パラメータ\"%2$s\"では論理レプリケーションスロット\"%1$s\"は指定できません" -#: replication/slot.c:2660 +#: replication/slot.c:2689 #, c-format -msgid "Logical replication is waiting for correction on \"%s\"." -msgstr "論理レプリケーションは\"%s\"が修正されるのを待っています。" +msgid "Logical replication is waiting for correction on replication slot \"%s\"." +msgstr "論理レプリケーションはレプリケーションスロット\"%s\"が修正されるのを待っています。" -#: replication/slot.c:2662 +#: replication/slot.c:2691 #, c-format -msgid "Consider removing logical slot \"%s\" from parameter %s." -msgstr "パラメータ%sから論理スロット\"%s\"を削除することを検討してください。" +msgid "Remove the logical replication slot \"%s\" from parameter \"%s\"." +msgstr "論理レプリケーションスロット\"%s\"をパラメータ\"%s\"から削除してください。" -#: replication/slot.c:2678 +#: replication/slot.c:2707 #, c-format -msgid "physical slot \"%s\" specified in parameter %s has been invalidated" -msgstr "パラメータ%2$sで指定された物理スロット\"%1$s\"は無効化されました" +msgid "physical replication slot \"%s\" specified in parameter \"%s\" has been invalidated" +msgstr "パラメータ\"%2$s\"で指定された物理レプリケーションスロット\"%1$s\"は無効化されています" -#: replication/slot.c:2682 +#: replication/slot.c:2711 #, c-format -msgid "Consider dropping and recreating the slot \"%s\" or amend parameter %s." -msgstr "スロット\"%s\"の削除および再作成、もしくはパラメータ%sの修正を検討してください。" +msgid "Drop and recreate the replication slot \"%s\", or amend parameter \"%s\"." +msgstr "レプリケーションスロット\"%s\"を削除して再作成するか、パラメータ\"%s\"を修正してください。" -#: replication/slot.c:2693 +#: replication/slot.c:2722 #, c-format -msgid "replication slot \"%s\" specified in parameter %s does not have active_pid" -msgstr "%2$sで指定されたレプリケーションスロット\"%1$s\"にはactive_pidがありません" +msgid "replication slot \"%s\" specified in parameter \"%s\" does not have active_pid" +msgstr "\"%2$s\"で指定されたレプリケーションスロット\"%1$s\"にはactive_pidがありません" -#: replication/slot.c:2697 +#: replication/slot.c:2726 #, c-format -msgid "Consider starting standby associated with \"%s\" or amend parameter %s." -msgstr "\"%s\"に関連付けられているスタンバイを起動するか、パラメータ%sを修正することを検討してくだささい。" +msgid "Start the standby associated with the replication slot \"%s\", or amend parameter \"%s\"." +msgstr "レプリケーションスロット\"%s\"に関連付けられているスタンバイを起動するか、パラメータ%sを修正してください。" -#: replication/slotfuncs.c:526 +#: replication/slotfuncs.c:523 #, c-format msgid "invalid target WAL LSN" msgstr "不正な目標WAL LSN" -#: replication/slotfuncs.c:548 +#: replication/slotfuncs.c:545 #, c-format msgid "replication slot \"%s\" cannot be advanced" msgstr "レプリケーションスロット\"%s\"は進められません" -#: replication/slotfuncs.c:550 +#: replication/slotfuncs.c:547 #, c-format msgid "This slot has never previously reserved WAL, or it has been invalidated." msgstr "このスロットはWALを留保したことがないか、無効化さています。" -#: replication/slotfuncs.c:566 +#: replication/slotfuncs.c:563 #, c-format msgid "cannot advance replication slot to %X/%X, minimum is %X/%X" msgstr "レプリケーションスロットを %X/%X に進めることはできません、最小値は %X/%X" -#: replication/slotfuncs.c:673 +#: replication/slotfuncs.c:670 #, c-format msgid "cannot copy physical replication slot \"%s\" as a logical replication slot" msgstr "物理レプリケーションスロット\"%s\"を論理レプリケーションスロットとしてコピーすることはできません" -#: replication/slotfuncs.c:675 +#: replication/slotfuncs.c:672 #, c-format msgid "cannot copy logical replication slot \"%s\" as a physical replication slot" msgstr "論理レプリケーションスロット\"%s\"を物理レプリケーションスロットとしてコピーすることはできません" -#: replication/slotfuncs.c:682 +#: replication/slotfuncs.c:679 #, c-format msgid "cannot copy a replication slot that doesn't reserve WAL" msgstr "WAL の留保をしていないレプリケーションスロットはコピーできません" -#: replication/slotfuncs.c:768 +#: replication/slotfuncs.c:765 #, c-format msgid "could not copy replication slot \"%s\"" msgstr "レプリケーションスロット\"%s\"をコピーできませんでした" -#: replication/slotfuncs.c:770 +#: replication/slotfuncs.c:767 #, c-format msgid "The source replication slot was modified incompatibly during the copy operation." msgstr "コピー処理中にコピー元のレプリケーションスロットが非互換的に変更されました。" -#: replication/slotfuncs.c:776 +#: replication/slotfuncs.c:773 #, c-format msgid "cannot copy unfinished logical replication slot \"%s\"" msgstr "未完成の論理レプリケーションスロット\"%s\"はコピーできません" -#: replication/slotfuncs.c:778 +#: replication/slotfuncs.c:775 #, c-format msgid "Retry when the source replication slot's confirmed_flush_lsn is valid." msgstr "このソースレプリケーションスロットの confirmed_flush_lsn が有効値になってから再度実行してください。" -#: replication/slotfuncs.c:877 +#: replication/slotfuncs.c:874 #, c-format msgid "replication slots can only be synchronized to a standby server" msgstr "レプリケーションスロットはスタンバイサーバーへのみ同期可能です" @@ -21293,188 +21478,193 @@ msgstr "同期スタンバイの数(%d)は1以上である必要があります" msgid "terminating walreceiver process due to administrator command" msgstr "管理者コマンドにより WAL 受信プロセスを終了しています" -#: replication/walreceiver.c:354 +#: replication/walreceiver.c:307 +#, c-format +msgid "streaming replication receiver \"%s\" could not connect to the primary server: %s" +msgstr "ストリーミングレプリケーション・レシーバー\"%s\"はプライマリ・サーバーに接続できませんでした: %s" + +#: replication/walreceiver.c:355 #, c-format msgid "database system identifier differs between the primary and standby" msgstr "データベースシステムの識別子がプライマリサーバーとスタンバイサーバー間で異なります" -#: replication/walreceiver.c:355 +#: replication/walreceiver.c:356 #, c-format msgid "The primary's identifier is %s, the standby's identifier is %s." msgstr "プライマリ側の識別子は %s ですが、スタンバイ側の識別子は %s です。" -#: replication/walreceiver.c:366 +#: replication/walreceiver.c:367 #, c-format msgid "highest timeline %u of the primary is behind recovery timeline %u" msgstr "プライマリの最大のタイムライン%uが、リカバリのタイムライン %uより遅れています" -#: replication/walreceiver.c:419 +#: replication/walreceiver.c:420 #, c-format msgid "started streaming WAL from primary at %X/%X on timeline %u" msgstr "プライマリのタイムライン%3$uの %1$X/%2$XからでWALストリーミングを始めます" -#: replication/walreceiver.c:423 +#: replication/walreceiver.c:424 #, c-format msgid "restarted WAL streaming at %X/%X on timeline %u" msgstr "タイムライン%3$uの %1$X/%2$XからでWALストリーミングを再開します" -#: replication/walreceiver.c:458 +#: replication/walreceiver.c:459 #, c-format msgid "cannot continue WAL streaming, recovery has already ended" msgstr "WAL ストリーミングを継続できません。リカバリはすでに終わっています。" -#: replication/walreceiver.c:502 +#: replication/walreceiver.c:503 #, c-format msgid "replication terminated by primary server" msgstr "プライマリサーバーによりレプリケーションが打ち切られました" -#: replication/walreceiver.c:503 +#: replication/walreceiver.c:504 #, c-format msgid "End of WAL reached on timeline %u at %X/%X." msgstr "タイムライン%uの%X/%XでWALの最後に達しました" -#: replication/walreceiver.c:593 +#: replication/walreceiver.c:594 #, c-format msgid "terminating walreceiver due to timeout" msgstr "レプリケーションタイムアウトによりwalreceiverを終了しています" -#: replication/walreceiver.c:625 +#: replication/walreceiver.c:626 #, c-format msgid "primary server contains no more WAL on requested timeline %u" msgstr "プライマリサーバーには要求されたタイムライン%u上にこれ以上WALがありません" -#: replication/walreceiver.c:641 replication/walreceiver.c:1071 +#: replication/walreceiver.c:642 replication/walreceiver.c:1072 #, c-format msgid "could not close WAL segment %s: %m" msgstr "WALセグメント%sをクローズできませんでした: %m" -#: replication/walreceiver.c:760 +#: replication/walreceiver.c:761 #, c-format msgid "fetching timeline history file for timeline %u from primary server" msgstr "プライマリサーバーからライムライン%u用のタイムライン履歴ファイルを取り込みしています" -#: replication/walreceiver.c:959 +#: replication/walreceiver.c:960 #, c-format 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:499 #, c-format msgid "cannot use %s with a logical replication slot" msgstr "%sは論理レプリケーションスロットでは使用できません" -#: replication/walsender.c:635 storage/smgr/md.c:1723 +#: replication/walsender.c:603 storage/smgr/md.c:1744 #, c-format msgid "could not seek to end of file \"%s\": %m" msgstr "ファイル\"%s\"の終端へシークできませんでした: %m" -#: replication/walsender.c:639 +#: replication/walsender.c:607 #, c-format msgid "could not seek to beginning of file \"%s\": %m" msgstr "ファイル\"%s\"の先頭にシークできませんでした: %m" -#: replication/walsender.c:853 +#: replication/walsender.c:823 #, c-format msgid "cannot use a logical replication slot for physical replication" msgstr "論理レプリケーションスロットは物理レプリケーションには使用できません" -#: replication/walsender.c:919 +#: replication/walsender.c:889 #, c-format msgid "requested starting point %X/%X on timeline %u is not in this server's history" msgstr "タイムライン%3$u上の要求された開始ポイント%1$X/%2$Xはサーバーの履歴にありません" -#: replication/walsender.c:922 +#: replication/walsender.c:892 #, 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:936 #, 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:1131 #, 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:1237 #, 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:1247 #, 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:1253 #, 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:1258 #, 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:1264 #, 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:1270 #, c-format msgid "%s must not be called in a subtransaction" msgstr "%s はサブトランザクション内では呼び出せません" -#: replication/walsender.c:1472 +#: replication/walsender.c:1447 #, c-format msgid "terminating walsender process after promotion" msgstr "昇格後にWAL送信プロセスを終了します" -#: replication/walsender.c:2000 +#: replication/walsender.c:1975 #, c-format msgid "cannot execute new commands while WAL sender is in stopping mode" msgstr "WAL送信プロセスが停止モードの間は新しいコマンドを実行できません" -#: replication/walsender.c:2035 +#: replication/walsender.c:2010 #, c-format msgid "cannot execute SQL commands in WAL sender for physical replication" msgstr "物理レプリケーション用のWAL送信プロセスでSQLコマンドは実行できません" -#: replication/walsender.c:2068 +#: replication/walsender.c:2043 #, c-format msgid "received replication command: %s" msgstr "レプリケーションコマンドを受信しました: %s" -#: replication/walsender.c:2076 tcop/fastpath.c:209 tcop/postgres.c:1138 tcop/postgres.c:1496 tcop/postgres.c:1736 tcop/postgres.c:2206 tcop/postgres.c:2644 tcop/postgres.c:2722 +#: replication/walsender.c:2051 tcop/fastpath.c:208 tcop/postgres.c:1147 tcop/postgres.c:1505 tcop/postgres.c:1757 tcop/postgres.c:2239 tcop/postgres.c:2677 tcop/postgres.c:2754 #, 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:2208 replication/walsender.c:2243 #, c-format msgid "unexpected EOF on standby connection" msgstr "スタンバイ接続で想定外のEOFがありました" -#: replication/walsender.c:2256 +#: replication/walsender.c:2231 #, c-format msgid "invalid standby message type \"%c\"" msgstr "スタンバイのメッセージタイプ\"%c\"は不正です" -#: replication/walsender.c:2345 +#: replication/walsender.c:2320 #, c-format msgid "unexpected message type \"%c\"" msgstr "想定しないメッセージタイプ\"%c\"" -#: replication/walsender.c:2759 +#: replication/walsender.c:2734 #, c-format msgid "terminating walsender process due to replication timeout" msgstr "レプリケーションタイムアウトにより WAL 送信プロセスを終了しています" @@ -21654,265 +21844,270 @@ msgstr "リレーション\"%2$s\"のルール\"%1$s\"は存在しません" msgid "renaming an ON SELECT rule is not allowed" msgstr "ON SELECTルールの名前を変更することはできません" -#: rewrite/rewriteHandler.c:581 +#: rewrite/rewriteHandler.c:582 #, c-format msgid "WITH query name \"%s\" appears in both a rule action and the query being rewritten" msgstr "WITH の問い合わせ名\"%s\"が、ルールのアクションと書き換えられようとしている問い合わせの両方に現れています" -#: rewrite/rewriteHandler.c:608 +#: rewrite/rewriteHandler.c:609 #, 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:661 +#: rewrite/rewriteHandler.c:662 #, c-format msgid "cannot have RETURNING lists in multiple rules" msgstr "複数ルールではRETURNINGリストを持つことはできません" -#: rewrite/rewriteHandler.c:893 rewrite/rewriteHandler.c:932 +#: rewrite/rewriteHandler.c:894 rewrite/rewriteHandler.c:933 #, c-format msgid "cannot insert a non-DEFAULT value into column \"%s\"" msgstr "列\"%s\"への非デフォルト値の挿入はできません" -#: rewrite/rewriteHandler.c:895 rewrite/rewriteHandler.c:961 +#: rewrite/rewriteHandler.c:896 rewrite/rewriteHandler.c:962 #, c-format msgid "Column \"%s\" is an identity column defined as GENERATED ALWAYS." msgstr "列\"%s\"は GENERATED ALWAYS として定義されています。" -#: rewrite/rewriteHandler.c:897 +#: rewrite/rewriteHandler.c:898 #, c-format msgid "Use OVERRIDING SYSTEM VALUE to override." msgstr "OVERRIDING SYSTEM VALUE を指定することで挿入を強制できます。" -#: rewrite/rewriteHandler.c:959 rewrite/rewriteHandler.c:967 +#: rewrite/rewriteHandler.c:960 rewrite/rewriteHandler.c:968 #, c-format msgid "column \"%s\" can only be updated to DEFAULT" msgstr "列\"%s\"はDEFAULTにのみ更新可能です" -#: rewrite/rewriteHandler.c:1114 rewrite/rewriteHandler.c:1132 +#: rewrite/rewriteHandler.c:1115 rewrite/rewriteHandler.c:1133 #, c-format msgid "multiple assignments to same column \"%s\"" msgstr "同じ列\"%s\"に複数の代入があります" -#: rewrite/rewriteHandler.c:1697 +#: rewrite/rewriteHandler.c:1698 #, c-format msgid "MERGE is not supported for relations with rules." msgstr "MERGEはルールを持つリレーションに対してはサポートされません。" -#: rewrite/rewriteHandler.c:2110 rewrite/rewriteHandler.c:4197 +#: rewrite/rewriteHandler.c:1738 rewrite/rewriteHandler.c:3229 +#, c-format +msgid "access to non-system view \"%s\" is restricted" +msgstr "非システムのビュー\"%s\"へのアクセスは制限されています" + +#: rewrite/rewriteHandler.c:2119 rewrite/rewriteHandler.c:4221 #, c-format msgid "infinite recursion detected in rules for relation \"%s\"" msgstr "リレーション\"%s\"のルールで無限再帰を検出しました" -#: rewrite/rewriteHandler.c:2195 +#: rewrite/rewriteHandler.c:2204 #, c-format msgid "infinite recursion detected in policy for relation \"%s\"" msgstr "リレーション\"%s\"のポリシで無限再帰を検出しました" -#: rewrite/rewriteHandler.c:2547 +#: rewrite/rewriteHandler.c:2556 msgid "Junk view columns are not updatable." msgstr "ジャンクビュー列は更新不可です。" -#: rewrite/rewriteHandler.c:2552 +#: rewrite/rewriteHandler.c:2561 msgid "View columns that are not columns of their base relation are not updatable." msgstr "基底リレーションの列ではないビュー列は更新不可です。" -#: rewrite/rewriteHandler.c:2555 +#: rewrite/rewriteHandler.c:2564 msgid "View columns that refer to system columns are not updatable." msgstr "システム列を参照するビュー列は更新不可です。" -#: rewrite/rewriteHandler.c:2558 +#: rewrite/rewriteHandler.c:2567 msgid "View columns that return whole-row references are not updatable." msgstr "行全体参照を返すビュー列は更新不可です。" -#: rewrite/rewriteHandler.c:2619 +#: rewrite/rewriteHandler.c:2628 msgid "Views containing DISTINCT are not automatically updatable." msgstr "DISTINCTを含むビューは自動更新できません。" -#: rewrite/rewriteHandler.c:2622 +#: rewrite/rewriteHandler.c:2631 msgid "Views containing GROUP BY are not automatically updatable." msgstr "GROUP BYを含むビューは自動更新できません。" -#: rewrite/rewriteHandler.c:2625 +#: rewrite/rewriteHandler.c:2634 msgid "Views containing HAVING are not automatically updatable." msgstr "HAVINGを含むビューは自動更新できません。" -#: rewrite/rewriteHandler.c:2628 +#: rewrite/rewriteHandler.c:2637 msgid "Views containing UNION, INTERSECT, or EXCEPT are not automatically updatable." msgstr "UNION、INTERSECT、EXCEPTを含むビューは自動更新できません。" -#: rewrite/rewriteHandler.c:2631 +#: rewrite/rewriteHandler.c:2640 msgid "Views containing WITH are not automatically updatable." msgstr "WITHを含むビューは自動更新できません。" -#: rewrite/rewriteHandler.c:2634 +#: rewrite/rewriteHandler.c:2643 msgid "Views containing LIMIT or OFFSET are not automatically updatable." msgstr "LIMIT、OFFSETを含むビューは自動更新できません。" -#: rewrite/rewriteHandler.c:2646 +#: rewrite/rewriteHandler.c:2655 msgid "Views that return aggregate functions are not automatically updatable." msgstr "集約関数を返すビューは自動更新できません。" -#: rewrite/rewriteHandler.c:2649 +#: rewrite/rewriteHandler.c:2658 msgid "Views that return window functions are not automatically updatable." msgstr "ウィンドウ関数を返すビューは自動更新できません。" -#: rewrite/rewriteHandler.c:2652 +#: rewrite/rewriteHandler.c:2661 msgid "Views that return set-returning functions are not automatically updatable." msgstr "集合返却関数を返すビューは自動更新できません。" -#: rewrite/rewriteHandler.c:2659 rewrite/rewriteHandler.c:2663 rewrite/rewriteHandler.c:2671 +#: rewrite/rewriteHandler.c:2668 rewrite/rewriteHandler.c:2672 rewrite/rewriteHandler.c:2680 msgid "Views that do not select from a single table or view are not automatically updatable." msgstr "単一のテーブルまたはビューからselectしていないビューは自動更新できません。" -#: rewrite/rewriteHandler.c:2674 +#: rewrite/rewriteHandler.c:2683 msgid "Views containing TABLESAMPLE are not automatically updatable." msgstr "TABLESAMPLEを含むビューは自動更新できません。" -#: rewrite/rewriteHandler.c:2698 +#: rewrite/rewriteHandler.c:2707 msgid "Views that have no updatable columns are not automatically updatable." msgstr "更新可能な列を持たないビューは自動更新できません。" -#: rewrite/rewriteHandler.c:3079 rewrite/rewriteHandler.c:3114 +#: rewrite/rewriteHandler.c:3088 rewrite/rewriteHandler.c:3123 #, c-format msgid "cannot insert into view \"%s\"" msgstr "ビュー\"%s\"へは挿入(INSERT)できません" -#: rewrite/rewriteHandler.c:3082 +#: rewrite/rewriteHandler.c:3091 #, 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:3087 rewrite/rewriteHandler.c:3123 +#: rewrite/rewriteHandler.c:3096 rewrite/rewriteHandler.c:3132 #, c-format msgid "cannot update view \"%s\"" msgstr "ビュー\"%s\"は更新できません" -#: rewrite/rewriteHandler.c:3090 +#: rewrite/rewriteHandler.c:3099 #, 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:3095 rewrite/rewriteHandler.c:3132 +#: rewrite/rewriteHandler.c:3104 rewrite/rewriteHandler.c:3141 #, c-format msgid "cannot delete from view \"%s\"" msgstr "ビュー\"%s\"からは削除できません" -#: rewrite/rewriteHandler.c:3098 +#: rewrite/rewriteHandler.c:3107 #, 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:3117 +#: rewrite/rewriteHandler.c:3126 #, 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:3126 +#: rewrite/rewriteHandler.c:3135 #, c-format msgid "To enable updating the view using MERGE, provide an INSTEAD OF UPDATE trigger." msgstr "MERGEを用いたビューの更新を可能にするには、INSTEAD OF UPDATEトリガーを作成してください。" -#: rewrite/rewriteHandler.c:3135 +#: rewrite/rewriteHandler.c:3144 #, 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:3289 +#: rewrite/rewriteHandler.c:3319 #, c-format msgid "cannot insert into column \"%s\" of view \"%s\"" msgstr "ビュー\"%2$s\"の列\"%1$s\"への挿入はできません" -#: rewrite/rewriteHandler.c:3297 +#: rewrite/rewriteHandler.c:3327 #, c-format msgid "cannot update column \"%s\" of view \"%s\"" msgstr "ビュー\"%2$s\"の列\"%1$s\"は更新できません" -#: rewrite/rewriteHandler.c:3305 +#: rewrite/rewriteHandler.c:3335 #, c-format msgid "cannot merge into column \"%s\" of view \"%s\"" msgstr "ビュー\"%2$s\"の列\"%1$s\"への統合はできません" -#: rewrite/rewriteHandler.c:3333 +#: rewrite/rewriteHandler.c:3363 #, c-format msgid "cannot merge into view \"%s\"" msgstr "ビュー\"%s\"への統合はできません" -#: rewrite/rewriteHandler.c:3335 +#: rewrite/rewriteHandler.c:3365 #, c-format -msgid "MERGE is not supported for views with INSTEAD OF triggers for some actions, but not others." -msgstr "MERGEはINSTEAD OFトリガーが一部のアクションにのみ設定されていて、他にはされていないビューではサポートされません。" +msgid "MERGE is not supported for views with INSTEAD OF triggers for some actions but not all." +msgstr "MERGEはINSTEAD OFトリガーが全てではなく一部のアクションに対してのみ設定されてるビューではサポートされません。" -#: rewrite/rewriteHandler.c:3336 +#: rewrite/rewriteHandler.c:3366 #, 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:3855 +#: rewrite/rewriteHandler.c:3879 #, c-format msgid "DO INSTEAD NOTIFY rules are not supported for data-modifying statements in WITH" msgstr "DO INSTEAD NOTIFYルールはWITH内のデータ更新文に対してはサポートされません" -#: rewrite/rewriteHandler.c:3866 +#: rewrite/rewriteHandler.c:3890 #, c-format msgid "DO INSTEAD NOTHING rules are not supported for data-modifying statements in WITH" msgstr "WITH にデータを変更するステートメントがある場合は DO INSTEAD NOTHING ルールはサポートされません" -#: rewrite/rewriteHandler.c:3880 +#: rewrite/rewriteHandler.c:3904 #, c-format msgid "conditional DO INSTEAD rules are not supported for data-modifying statements in WITH" msgstr "WITH にデータを変更するステートメントがある場合は、条件付き DO INSTEAD ルールはサポートされません" -#: rewrite/rewriteHandler.c:3884 +#: rewrite/rewriteHandler.c:3908 #, c-format msgid "DO ALSO rules are not supported for data-modifying statements in WITH" msgstr "WITH にデータを変更するステートメントがある場合は DO ALSO ルールはサポートされません" -#: rewrite/rewriteHandler.c:3889 +#: rewrite/rewriteHandler.c:3913 #, c-format msgid "multi-statement DO INSTEAD rules are not supported for data-modifying statements in WITH" msgstr "WITH にデータを変更するステートメントがある場合はマルチステートメントの DO INSTEAD ルールはサポートされません" -#: rewrite/rewriteHandler.c:4149 +#: rewrite/rewriteHandler.c:4173 msgid "Views with conditional DO INSTEAD rules are not automatically updatable." msgstr "条件付きDO INSTEADルールを持つビューは自動更新できません。" -#: rewrite/rewriteHandler.c:4246 +#: rewrite/rewriteHandler.c:4270 #, c-format msgid "cannot perform INSERT RETURNING on relation \"%s\"" msgstr "リレーション\"%s\"へのINSERT RETURNINGを行うことはできません" -#: rewrite/rewriteHandler.c:4248 +#: rewrite/rewriteHandler.c:4272 #, 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:4253 +#: rewrite/rewriteHandler.c:4277 #, c-format msgid "cannot perform UPDATE RETURNING on relation \"%s\"" msgstr "リレーション\"%s\"へのUPDATE RETURNINGを行うことはできません" -#: rewrite/rewriteHandler.c:4255 +#: rewrite/rewriteHandler.c:4279 #, 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:4260 +#: rewrite/rewriteHandler.c:4284 #, c-format msgid "cannot perform DELETE RETURNING on relation \"%s\"" msgstr "リレーション\"%s\"へのDELETE RETURNINGを行うことはできません" -#: rewrite/rewriteHandler.c:4262 +#: rewrite/rewriteHandler.c:4286 #, 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:4280 +#: rewrite/rewriteHandler.c:4304 #, 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:4337 +#: rewrite/rewriteHandler.c:4361 #, c-format msgid "WITH cannot be used in a query that is rewritten by rules into multiple queries" msgstr "複数問い合わせに対するルールにより書き換えられた問い合わせでは WITH を使用できません" @@ -21922,12 +22117,12 @@ msgstr "複数問い合わせに対するルールにより書き換えられた msgid "conditional utility statements are not implemented" msgstr "条件付きのユーティリティ文は実装されていません" -#: rewrite/rewriteManip.c:1427 +#: rewrite/rewriteManip.c:1430 #, c-format msgid "WHERE CURRENT OF on a view is not implemented" msgstr "ビューに対するWHERE CURRENT OFは実装されていません" -#: rewrite/rewriteManip.c:1762 +#: rewrite/rewriteManip.c:1765 #, c-format msgid "NEW variables in ON UPDATE rules cannot reference columns that are part of a multiple assignment in the subject UPDATE command" msgstr "ON UPDATE ルールのNEW変数は、対象のUPDATEコマンドでの複数列代入の一部となる列を参照することはできません" @@ -21937,117 +22132,121 @@ msgstr "ON UPDATE ルールのNEW変数は、対象のUPDATEコマンドでの msgid "with a SEARCH or CYCLE clause, the recursive reference to WITH query \"%s\" must be at the top level of its right-hand SELECT" msgstr "SEARCHまたはCYCLE句を指定する場合、WITH問い合わせ\"%s\"への再帰参照は右辺のSELECTの最上位で行う必要があります" -#: scan.l:483 +#: scan.l:497 msgid "unterminated /* comment" msgstr "/*コメントが閉じていません" -#: scan.l:503 +#: scan.l:517 msgid "unterminated bit string literal" msgstr "ビット列リテラルの終端がありません" -#: scan.l:517 +#: scan.l:531 msgid "unterminated hexadecimal string literal" msgstr "16進数文字列リテラルの終端がありません" -#: scan.l:567 +#: scan.l:581 #, c-format msgid "unsafe use of string constant with Unicode escapes" msgstr "Unicodeエスケープを使った文字列定数の危険な使用" -#: scan.l:568 +#: scan.l:582 #, c-format msgid "String constants with Unicode escapes cannot be used when \"standard_conforming_strings\" is off." msgstr "Unicodeエスケープを含む文字列定数は\"standard_conforming_strings\"がoffの時に使用することはできません。" -#: scan.l:629 +#: scan.l:643 msgid "unhandled previous state in xqs" msgstr "xqsの中で処理されない前ステート" -#: scan.l:703 +#: scan.l:717 #, c-format msgid "Unicode escapes must be \\uXXXX or \\UXXXXXXXX." msgstr "Unicodeエスケープは\\uXXXXまたは\\UXXXXXXXXでなければなりません。" -#: scan.l:714 +#: scan.l:728 #, c-format msgid "unsafe use of \\' in a string literal" msgstr "文字列リテラルで安全ではない\\'が使用されました。" -#: scan.l:715 +#: scan.l:729 #, c-format msgid "Use '' to write quotes in strings. \\' is insecure in client-only encodings." msgstr "文字列内で引用符を記述するには''を使用してください。\\'はクライアントのみで有効な符号化形式では安全ではありません。" -#: scan.l:787 +#: scan.l:801 msgid "unterminated dollar-quoted string" msgstr "文字列のドル引用符が閉じていません" -#: scan.l:804 scan.l:814 +#: scan.l:818 scan.l:828 msgid "zero-length delimited identifier" msgstr "二重引用符で囲まれた識別子の長さがゼロです" -#: scan.l:825 syncrep_scanner.l:101 +#: scan.l:839 syncrep_scanner.l:101 msgid "unterminated quoted identifier" msgstr "識別子の引用符が閉じていません" -#: scan.l:988 +#: scan.l:1002 msgid "operator too long" msgstr "演算子が長すぎます" -#: scan.l:1001 +#: scan.l:1015 +msgid "parameter number too large" +msgstr "パラメータ数が多すぎます" + +#: scan.l:1021 msgid "trailing junk after parameter" msgstr "パラメータの後に余分な文字" -#: scan.l:1022 +#: scan.l:1042 msgid "invalid hexadecimal integer" msgstr "不正な16進整数" -#: scan.l:1026 +#: scan.l:1046 msgid "invalid octal integer" msgstr "不正な8進整数" -#: scan.l:1030 +#: scan.l:1050 msgid "invalid binary integer" msgstr "不正な2進整数" #. translator: %s is typically the translation of "syntax error" -#: scan.l:1237 +#: scan.l:1245 #, c-format msgid "%s at end of input" msgstr "入力の最後で %s" #. translator: first %s is typically the translation of "syntax error" -#: scan.l:1245 +#: scan.l:1253 #, c-format msgid "%s at or near \"%s\"" msgstr "\"%2$s\"またはその近辺で%1$s" -#: scan.l:1437 +#: scan.l:1445 #, c-format msgid "nonstandard use of \\' in a string literal" msgstr "文字列リテラルないでの\\'の非標準的な使用" -#: scan.l:1438 +#: scan.l:1446 #, c-format msgid "Use '' to write quotes in strings, or use the escape string syntax (E'...')." msgstr "文字列内で単一引用符を記述するには''、またはエスケープ文字列構文(E'...')を使用してください。" -#: scan.l:1447 +#: scan.l:1455 #, c-format msgid "nonstandard use of \\\\ in a string literal" msgstr "文字列リテラル内での\\\\の非標準的な使用" -#: scan.l:1448 +#: scan.l:1456 #, c-format msgid "Use the escape string syntax for backslashes, e.g., E'\\\\'." msgstr "バックスラッシュのエスケープ文字列構文、例えばE'\\\\'を使用してください。" -#: scan.l:1462 +#: scan.l:1470 #, c-format msgid "nonstandard use of escape in a string literal" msgstr "文字列リテラル内でのエスケープの非標準的な使用" -#: scan.l:1463 +#: scan.l:1471 #, c-format msgid "Use the escape string syntax for escapes, e.g., E'\\r\\n'." msgstr "エスケープのエスケープ文字列構文、例えばE'\\r\\n'を使用してください。" @@ -22077,6 +22276,51 @@ msgstr "認識できないSnowballパラメータ: \"%s\"" msgid "missing Language parameter" msgstr "Languageパラメータがありません" +#: statistics/attribute_stats.c:235 +#, c-format +msgid "unable to determine element type of attribute \"%s\"" +msgstr "属性 \"%s\" の要素型を特定できません" + +#: statistics/attribute_stats.c:236 +#, c-format +msgid "Cannot set STATISTIC_KIND_MCELEM or STATISTIC_KIND_DECHIST." +msgstr "STATISTIC_KIND_MCELEM および STATISTIC_KIND_DECHIST は設定できません。" + +#: statistics/attribute_stats.c:251 +#, c-format +msgid "could not determine less-than operator for attribute \"%s\"" +msgstr "属性 \"%s\" の小なり演算子(<)を特定できませんでした" + +#: statistics/attribute_stats.c:252 +#, c-format +msgid "Cannot set STATISTIC_KIND_HISTOGRAM or STATISTIC_KIND_CORRELATION." +msgstr "STATISTIC_KIND_HISTOGRAM および STATISTIC_KIND_CORRELATION は設定できません。" + +#: statistics/attribute_stats.c:265 +#, c-format +msgid "attribute \"%s\" is not a range type" +msgstr "属性 \"%s\" は範囲型ではありません" + +#: statistics/attribute_stats.c:266 +#, c-format +msgid "Cannot set STATISTIC_KIND_RANGE_LENGTH_HISTOGRAM or STATISTIC_KIND_BOUNDS_HISTOGRAM." +msgstr "STATISTIC_KIND_RANGE_LENGTH_HISTOGRAM および STATISTIC_KIND_BOUNDS_HISTOGRAM は設定できません。" + +#: statistics/attribute_stats.c:511 statistics/attribute_stats.c:519 +#, c-format +msgid "attribute %d of relation \"%s\" does not exist" +msgstr "リレーション \"%2$s\" の属性%1$dは存在しません" + +#: statistics/attribute_stats.c:654 statistics/stat_utils.c:76 +#, c-format +msgid "\"%s\" array cannot contain NULL values" +msgstr "\"%s\" の配列はNULL値を格納できません" + +#: statistics/attribute_stats.c:697 +#, c-format +msgid "maximum number of statistics slots exceeded: %d" +msgstr "統計情報スロットの最大数を超過しました: %d" + #: statistics/extended_stats.c:176 #, c-format msgid "statistics object \"%s.%s\" could not be computed for relation \"%s.%s\"" @@ -22087,42 +22331,117 @@ msgstr "統計オブジェクト\"%s.%s\"がリレーション\"%s.%s\"に対し msgid "function returning record called in context that cannot accept type record" msgstr "レコード型を受け付けられないコンテキストでレコードを返す関数が呼び出されました" -#: storage/buffer/bufmgr.c:649 storage/buffer/bufmgr.c:805 +#: statistics/relation_stats.c:89 +#, c-format +msgid "pg_class entry for relid %u not found" +msgstr "relid %u のpg_classエントリが見つかりません" + +#: statistics/relation_stats.c:110 +#, c-format +msgid "relpages cannot be < -1" +msgstr "relpages は-1未満にはできません" + +#: statistics/relation_stats.c:129 +#, c-format +msgid "reltuples cannot be < -1.0" +msgstr "reltuplesは-1.0未満にはできません" + +#: statistics/relation_stats.c:149 +#, c-format +msgid "relallvisible cannot be < 0" +msgstr "relallvisible は0未満にはできません" + +#: statistics/stat_utils.c:40 +#, c-format +msgid "\"%s\" cannot be NULL" +msgstr "\"%s\"はNULLにはできません" + +#: statistics/stat_utils.c:67 +#, c-format +msgid "\"%s\" cannot be a multidimensional array" +msgstr "\"%s\"は多次元配列にはなれません" + +#: statistics/stat_utils.c:107 +#, c-format +msgid "\"%s\" must be specified when \"%s\" is specified" +msgstr "\"%s” は、\"%s\"が指定される際には必ず指定される必要があります" + +#: statistics/stat_utils.c:145 +#, c-format +msgid "cannot modify statistics for relation \"%s\"" +msgstr "リレーション\"%s\"の統計情報は変更できません" + +#: statistics/stat_utils.c:153 +#, c-format +msgid "cannot modify statistics for shared relation" +msgstr "共有リレーションの統計情報は変更できません" + +#: statistics/stat_utils.c:184 +#, c-format +msgid "unrecognized argument name: \"%s\"" +msgstr "識別できない引数名: \"%s\"" + +#: statistics/stat_utils.c:198 +#, c-format +msgid "argument \"%s\" has type \"%s\", expected type \"%s\"" +msgstr "引数\"%s\"の型は\"%s\"ですが、期待される型は\"%s\"です" + +#: statistics/stat_utils.c:240 +#, c-format +msgid "variadic arguments must be name/value pairs" +msgstr "可変長引数は名前/値のペアである必要があります" + +#: statistics/stat_utils.c:241 +#, c-format +msgid "Provide an even number of variadic arguments that can be divided into pairs." +msgstr "2つ組に分割できるよう、偶数個の可変長引数を指定してください。" + +#: statistics/stat_utils.c:255 +#, c-format +msgid "name at variadic position %d is NULL" +msgstr "可変長引数の位置%dの名前がNULLです" + +#: statistics/stat_utils.c:259 +#, c-format +msgid "name at variadic position %d has type \"%s\", expected type \"%s\"" +msgstr "可変長引数の位置%dの名前の型が\"%s\"ですが、期待される型は\"%s\"です" + +#: storage/buffer/bufmgr.c:650 storage/buffer/bufmgr.c:806 #, c-format msgid "cannot access temporary tables of other sessions" msgstr "他のセッションの一時テーブルにはアクセスできません" -#: storage/buffer/bufmgr.c:1532 +#: storage/buffer/bufmgr.c:1545 #, c-format msgid "invalid page in block %u of relation %s; zeroing out page" msgstr "リレーション %2$s の %1$u ブロック目のページが不正です: ページをゼロで埋めました" -#: storage/buffer/bufmgr.c:2277 storage/buffer/localbuf.c:361 +#: storage/buffer/bufmgr.c:2289 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:2360 #, c-format msgid "unexpected data beyond EOF in block %u of relation %s" msgstr "リレーション %2$s の %1$u ブロック目で、EOF の先に想定外のデータを検出しました" -#: storage/buffer/bufmgr.c:2350 +#: storage/buffer/bufmgr.c:2362 #, c-format msgid "This has been seen to occur with buggy kernels; consider updating your system." msgstr "これはカーネルの不具合で発生した模様です。システムの更新を検討してください。" -#: storage/buffer/bufmgr.c:5653 +#: storage/buffer/bufmgr.c:5680 #, c-format msgid "could not write block %u of %s" msgstr "%u ブロックを %s に書き出せませんでした" -#: storage/buffer/bufmgr.c:5655 +#: storage/buffer/bufmgr.c:5682 #, c-format msgid "Multiple failures --- write error might be permanent." msgstr "複数回失敗しました ---ずっと書き込みエラーが続くかもしれません。" -#: storage/buffer/bufmgr.c:5677 storage/buffer/bufmgr.c:5697 +#: storage/buffer/bufmgr.c:5704 storage/buffer/bufmgr.c:5724 #, c-format msgid "writing block %u of relation %s" msgstr "ブロック %u を リレーション %s に書き込んでいます" @@ -22157,155 +22476,150 @@ msgstr "ファイルセット\"%1$s\"からの読み込みができませんで msgid "could not read from temporary file: read only %zu of %zu bytes" msgstr "一時ファイルからの読み込み失敗しました: %2$zuバイト中%1$zuバイト分のみ読み込みました" -#: storage/file/buffile.c:774 storage/file/buffile.c:877 +#: storage/file/buffile.c:774 storage/file/buffile.c:875 #, c-format msgid "could not determine size of temporary file \"%s\" from BufFile \"%s\": %m" msgstr "BufFile \"%s\"の一時ファイル\"%s\"のサイズの確認に失敗しました: %m" -#: storage/file/buffile.c:956 +#: storage/file/buffile.c:951 #, c-format msgid "could not delete fileset \"%s\": %m" msgstr "ファイルセット\"%s\"を削除できませんでした: %m" -#: storage/file/buffile.c:974 storage/smgr/md.c:336 storage/smgr/md.c:1192 +#: storage/file/buffile.c:969 storage/smgr/md.c:336 storage/smgr/md.c:1213 #, c-format 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:582 storage/file/fd.c:654 storage/file/fd.c:690 #, c-format msgid "could not flush dirty data: %m" msgstr "ダーティーデータを書き出しできませんでした: %m" -#: storage/file/fd.c:613 +#: storage/file/fd.c:612 #, c-format msgid "could not determine dirty data size: %m" msgstr "ダーティーデータのサイズを特定できませんでした: %m" -#: storage/file/fd.c:665 +#: storage/file/fd.c:664 #, c-format msgid "could not munmap() while flushing data: %m" msgstr "データの書き出し中にmunmap()に失敗しました: %m" -#: storage/file/fd.c:983 +#: storage/file/fd.c:982 #, c-format msgid "getrlimit failed: %m" msgstr "getrlimitが失敗しました: %m" -#: storage/file/fd.c:1073 +#: storage/file/fd.c:1072 #, c-format msgid "insufficient file descriptors available to start server process" msgstr "サーバープロセスを起動させるために利用できるファイル記述子が不足しています" -#: storage/file/fd.c:1074 +#: storage/file/fd.c:1073 #, 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:1161 storage/file/fd.c:2640 storage/file/fd.c:2749 storage/file/fd.c:2900 #, c-format msgid "out of file descriptors: %m; release and retry" msgstr "ファイル記述子が不足しています: %m: 解放後再実行してください" -#: storage/file/fd.c:1536 +#: storage/file/fd.c:1535 #, c-format msgid "temporary file: path \"%s\", size %lu" msgstr "一時ファイル: パス \"%s\"、サイズ %lu" -#: storage/file/fd.c:1675 +#: storage/file/fd.c:1674 #, c-format msgid "cannot create temporary directory \"%s\": %m" msgstr "一時ディレクトリ\"%s\"を作成できませんでした: %m" -#: storage/file/fd.c:1682 +#: storage/file/fd.c:1681 #, c-format msgid "cannot create temporary subdirectory \"%s\": %m" msgstr "一時サブディレクトリ\"%s\"を作成できませんでした: %m" -#: storage/file/fd.c:1879 +#: storage/file/fd.c:1878 #, c-format msgid "could not create temporary file \"%s\": %m" msgstr "一時ファイル\"%s\"を作成できませんでした: %m" -#: storage/file/fd.c:1915 +#: storage/file/fd.c:1914 #, c-format msgid "could not open temporary file \"%s\": %m" msgstr "一時ファイル\"%s\"をオープンできませんでした: %m" -#: storage/file/fd.c:1956 +#: storage/file/fd.c:1955 #, c-format msgid "could not unlink temporary file \"%s\": %m" msgstr "一時ファイル\"%s\"を unlink できませんでした: %m" -#: storage/file/fd.c:2044 +#: storage/file/fd.c:2043 #, c-format msgid "could not delete file \"%s\": %m" msgstr "ファイル\"%s\"を削除できませんでした: %m" -#: storage/file/fd.c:2234 +#: storage/file/fd.c:2256 #, c-format -msgid "temporary file size exceeds temp_file_limit (%dkB)" -msgstr "一時ファイルのサイズがtemp_file_limit(%d KB)を超えています" +msgid "temporary file size exceeds \"temp_file_limit\" (%dkB)" +msgstr "一時ファイルのサイズが\"temp_file_limit\" (%dkB)を超えています" -#: storage/file/fd.c:2594 storage/file/fd.c:2653 +#: storage/file/fd.c:2616 storage/file/fd.c:2675 #, c-format msgid "exceeded maxAllocatedDescs (%d) while trying to open file \"%s\"" msgstr "ファイル\"%2$s\"をオープンしようとした時にmaxAllocatedDescs(%1$d)を超えました" -#: storage/file/fd.c:2698 +#: storage/file/fd.c:2720 #, c-format msgid "exceeded maxAllocatedDescs (%d) while trying to execute command \"%s\"" msgstr "コマンド\"%2$s\"を実行しようとした時にmaxAllocatedDescs(%1$d)を超えました" -#: storage/file/fd.c:2854 +#: storage/file/fd.c:2876 #, c-format msgid "exceeded maxAllocatedDescs (%d) while trying to open directory \"%s\"" msgstr "ディレクトリ\"%2$s\"をオープンしようとした時にmaxAllocatedDescs(%1$d)を超えました" -#: storage/file/fd.c:3384 +#: storage/file/fd.c:3407 #, c-format msgid "unexpected file found in temporary-files directory: \"%s\"" msgstr "一時ファイル用ディレクトリに想定外のファイルがありました: \"%s\"" -#: storage/file/fd.c:3502 +#: storage/file/fd.c:3525 #, 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:3752 #, c-format msgid "syncing data directory (pre-fsync), elapsed time: %ld.%02d s, current path: %s" msgstr "データディレクトリを同期しています(pre-syncfs)、経過時間: %ld.%02d秒, 現在のパス: %s" -#: storage/file/fd.c:3761 +#: storage/file/fd.c:3784 #, 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:3973 #, c-format -msgid "\"debug_io_direct\" is not supported on this platform." -msgstr "このプラットフォームでは\"debug_io_direct\"はサポートされていません。" +msgid "\"%s\" is not supported on this platform." +msgstr "このプラットフォームでは\"%s\"をサポートしていません。" -#: storage/file/fd.c:3964 +#: storage/file/fd.c:3988 #, c-format msgid "Invalid list syntax in parameter \"%s\"" msgstr "パラメータ\"%s\"のリスト構文が不正です" -#: storage/file/fd.c:3984 +#: storage/file/fd.c:4008 #, c-format msgid "Invalid option \"%s\"" msgstr "不正なオプション\"%s\"" -#: storage/file/fd.c:3997 +#: storage/file/fd.c:4021 storage/file/fd.c:4029 #, c-format -msgid "\"debug_io_direct\" is not supported for WAL because XLOG_BLCKSZ is too small" -msgstr "XLOG_BLCKSZが小さすぎるため\"debug_io_direct\"はWALに対してはサポートされません" - -#: storage/file/fd.c:4004 -#, c-format -msgid "\"debug_io_direct\" is not supported for data because BLCKSZ is too small" -msgstr "BLCKSZが小さすぎるため\"debug_io_direct\"はデータに対してサポートされません" +msgid "\"%s\" is not supported for WAL because %s is too small" +msgstr "%2$sが小さすぎるため\"%1$s\"はWALに対してはサポートされません" #: storage/file/reinit.c:145 #, c-format @@ -22407,36 +22721,46 @@ msgstr "DSMセグメントサイズは0以外の値である必要がありま msgid "requested DSM segment size does not match size of existing segment" msgstr "要求されたDSMセグメントサイズが既存のセグメントのサイズと異なっています" -#: storage/ipc/procarray.c:488 storage/lmgr/proc.c:352 tcop/backend_startup.c:304 +#: storage/ipc/procarray.c:488 storage/lmgr/proc.c:408 tcop/backend_startup.c:319 #, c-format msgid "sorry, too many clients already" msgstr "現在クライアント数が多すぎます" -#: storage/ipc/procarray.c:3845 +#: storage/ipc/procarray.c:3862 #, c-format msgid "database \"%s\" is being used by prepared transactions" msgstr "データベース\"%s\"は準備済みトランザクションで使用中です" -#: storage/ipc/procarray.c:3881 storage/ipc/procarray.c:3889 storage/ipc/signalfuncs.c:235 storage/ipc/signalfuncs.c:242 +#: storage/ipc/procarray.c:3898 storage/ipc/procarray.c:3906 storage/ipc/signalfuncs.c:256 storage/ipc/signalfuncs.c:263 storage/ipc/signalfuncs.c:270 #, c-format msgid "permission denied to terminate process" msgstr "プロセスを終了させる権限がありません" -#: storage/ipc/procarray.c:3882 storage/ipc/signalfuncs.c:236 +#: storage/ipc/procarray.c:3899 storage/ipc/signalfuncs.c:257 #, c-format msgid "Only roles with the %s attribute may terminate processes of roles with the %s attribute." msgstr "%s属性を持つロールのみが%s属性を持つロールが接続中のプロセスを終了できます。" -#: storage/ipc/procarray.c:3890 storage/ipc/signalfuncs.c:243 +#: storage/ipc/procarray.c:3907 storage/ipc/signalfuncs.c:271 #, c-format msgid "Only roles with privileges of the role whose process is being terminated or with privileges of the \"%s\" role may terminate this process." msgstr "終了させようとしているプロセスに接続しているロールの権限を持つロール、または\"%sロール権限を持つロールのみがこのプロセスを終了できます。" -#: storage/ipc/procsignal.c:416 +#: storage/ipc/procsignal.c:448 #, c-format msgid "still waiting for backend with PID %d to accept ProcSignalBarrier" msgstr "PID %dのバックエンドがProcSignalBarrierを受け付けるのを待っています" +#: storage/ipc/procsignal.c:780 +#, c-format +msgid "wrong key in cancel request for process %d" +msgstr "プロセス%dに対するキャンセル要求においてキーが間違っています" + +#: storage/ipc/procsignal.c:789 +#, c-format +msgid "PID %d in cancel request did not match any process" +msgstr "キャンセル要求内のPID %dがどのプロセスにも一致しません" + #: storage/ipc/shm_mq.c:383 #, c-format msgid "cannot send a message of size %zu via shared memory queue" @@ -22447,7 +22771,7 @@ msgstr "共有メモリキュー経由で大きさ%zuのメッセージは送信 msgid "invalid message size %zu in shared memory queue" msgstr "共有メモリキュー内の不正なメッセージ長%zu" -#: storage/ipc/shm_toc.c:118 storage/ipc/shm_toc.c:200 storage/lmgr/lock.c:962 storage/lmgr/lock.c:1000 storage/lmgr/lock.c:2803 storage/lmgr/lock.c:4188 storage/lmgr/lock.c:4253 storage/lmgr/lock.c:4603 storage/lmgr/predicate.c:2463 storage/lmgr/predicate.c:2478 storage/lmgr/predicate.c:3875 storage/lmgr/predicate.c:4922 utils/hash/dynahash.c:1095 +#: storage/ipc/shm_toc.c:118 storage/ipc/shm_toc.c:200 storage/lmgr/lock.c:1032 storage/lmgr/lock.c:1070 storage/lmgr/lock.c:2907 storage/lmgr/lock.c:4310 storage/lmgr/lock.c:4375 storage/lmgr/lock.c:4725 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 #, c-format msgid "out of shared memory" msgstr "共有メモリが足りません" @@ -22477,48 +22801,58 @@ msgstr "データ構造体\"%s\"のための共有メモリが不足していま msgid "requested shared memory size overflows size_t" msgstr "要求された共有メモリのサイズはsize_tを超えています" -#: storage/ipc/signalfuncs.c:72 +#: storage/ipc/signalfuncs.c:74 #, c-format msgid "PID %d is not a PostgreSQL backend process" msgstr "PID %dはPostgreSQLバックエンドプロセスではありません" -#: storage/ipc/signalfuncs.c:109 storage/lmgr/proc.c:1448 utils/adt/mcxtfuncs.c:182 +#: storage/ipc/signalfuncs.c:123 storage/lmgr/proc.c:1492 utils/adt/mcxtfuncs.c:302 #, c-format msgid "could not send signal to process %d: %m" msgstr "プロセス%dにシグナルを送信できませんでした: %m" -#: storage/ipc/signalfuncs.c:129 storage/ipc/signalfuncs.c:136 +#: storage/ipc/signalfuncs.c:143 storage/ipc/signalfuncs.c:150 storage/ipc/signalfuncs.c:157 #, c-format msgid "permission denied to cancel query" msgstr "問い合わせをキャンセルする権限がありません" -#: storage/ipc/signalfuncs.c:130 +#: storage/ipc/signalfuncs.c:144 #, c-format msgid "Only roles with the %s attribute may cancel queries of roles with the %s attribute." msgstr "%s属性を持つロールのみが、%s属性を持つロールが実行中の問い合わせをキャンセルできます。" -#: storage/ipc/signalfuncs.c:137 +#: storage/ipc/signalfuncs.c:151 +#, c-format +msgid "Only roles with privileges of the \"%s\" role may cancel autovacuum workers." +msgstr "\"%s\"ロールの権限を持つロールのみが自動VACUUMワーカーのキャンセルを行うことができます。" + +#: storage/ipc/signalfuncs.c:158 #, c-format msgid "Only roles with privileges of the role whose query is being canceled or with privileges of the \"%s\" role may cancel this query." msgstr "キャンセル対象の問い合わせを実行しているロールの権限を持つロール、または\"%s\"ロールの権限を持つロールのみがこの問い合わせをキャンセルできます。" -#: storage/ipc/signalfuncs.c:179 +#: storage/ipc/signalfuncs.c:200 #, c-format msgid "could not check the existence of the backend with PID %d: %m" msgstr "PID %dのバックエンドの存在の確認に失敗しました: %m" -#: storage/ipc/signalfuncs.c:197 +#: storage/ipc/signalfuncs.c:218 #, c-format msgid "backend with PID %d did not terminate within %lld millisecond" msgid_plural "backend with PID %d did not terminate within %lld milliseconds" msgstr[0] "PID %dのバックエンドが%lldミリ秒で終了しませんでした" -#: storage/ipc/signalfuncs.c:228 +#: storage/ipc/signalfuncs.c:249 #, c-format msgid "\"timeout\" must not be negative" msgstr "\"timeout\"は負数であってはなりません" -#: storage/ipc/signalfuncs.c:285 +#: storage/ipc/signalfuncs.c:264 +#, c-format +msgid "Only roles with privileges of the \"%s\" role may terminate autovacuum workers." +msgstr "\"%s\"ロールの権限を持つロールのみが自動VACUUMワーカーを終了させることができます。" + +#: storage/ipc/signalfuncs.c:313 #, c-format msgid "rotation not possible because log collection not active" msgstr "ログ収集が活動していませんのでローテーションを行うことができません" @@ -22533,69 +22867,69 @@ msgstr "リカバリは%ld.%03dミリ秒経過後待機継続中: %s" msgid "recovery finished waiting after %ld.%03d ms: %s" msgstr "リカバリは%ld.%03dミリ秒で待機終了: %s" -#: storage/ipc/standby.c:920 tcop/postgres.c:3169 +#: storage/ipc/standby.c:920 tcop/postgres.c:3201 #, c-format msgid "canceling statement due to conflict with recovery" msgstr "リカバリで競合が発生したためステートメントをキャンセルしています" -#: storage/ipc/standby.c:921 tcop/postgres.c:2529 +#: storage/ipc/standby.c:921 tcop/postgres.c:2562 #, c-format msgid "User transaction caused buffer deadlock with recovery." msgstr "リカバリ時にユーザーのトランザクションがバッファのデッドロックを引き起こしました。" -#: storage/ipc/standby.c:1486 +#: storage/ipc/standby.c:1482 msgid "unknown reason" msgstr "不明な理由" -#: storage/ipc/standby.c:1491 +#: storage/ipc/standby.c:1487 msgid "recovery conflict on buffer pin" msgstr "バッファピンによるリカバリ競合" -#: storage/ipc/standby.c:1494 +#: storage/ipc/standby.c:1490 msgid "recovery conflict on lock" msgstr "ロック上のリカバリ衝突" -#: storage/ipc/standby.c:1497 +#: storage/ipc/standby.c:1493 msgid "recovery conflict on tablespace" msgstr "テーブル空間上のリカバリ衝突" -#: storage/ipc/standby.c:1500 +#: storage/ipc/standby.c:1496 msgid "recovery conflict on snapshot" msgstr "スナップショットによるリカバリ競合" -#: storage/ipc/standby.c:1503 +#: storage/ipc/standby.c:1499 msgid "recovery conflict on replication slot" msgstr "レプリケーションスロットに対するリカバリ競合" -#: storage/ipc/standby.c:1506 +#: storage/ipc/standby.c:1502 msgid "recovery conflict on buffer deadlock" msgstr "バッファのデッドロックによるリカバリ競合" -#: storage/ipc/standby.c:1509 +#: storage/ipc/standby.c:1505 msgid "recovery conflict on database" msgstr "データベース上のリカバリ衝突" -#: storage/large_object/inv_api.c:190 +#: storage/large_object/inv_api.c:152 #, c-format msgid "pg_largeobject entry for OID %u, page %d has invalid data field size %d" msgstr "OID%u、ページ%dに対応するpg_largeobjectのエントリのデータフィールドの大きさ%dは不正です" -#: storage/large_object/inv_api.c:272 +#: storage/large_object/inv_api.c:234 #, c-format msgid "invalid flags for opening a large object: %d" msgstr "ラージオブジェクトを開くためのフラグが不正です: %d" -#: storage/large_object/inv_api.c:297 storage/large_object/inv_api.c:309 storage/large_object/inv_api.c:506 storage/large_object/inv_api.c:617 storage/large_object/inv_api.c:807 +#: storage/large_object/inv_api.c:259 storage/large_object/inv_api.c:271 storage/large_object/inv_api.c:468 storage/large_object/inv_api.c:579 storage/large_object/inv_api.c:769 #, c-format msgid "permission denied for large object %u" msgstr "ラージオブジェクト %u に対する権限がありません" -#: storage/large_object/inv_api.c:455 +#: storage/large_object/inv_api.c:417 #, c-format msgid "invalid whence setting: %d" msgstr "不正なwhence設定: %d" -#: storage/large_object/inv_api.c:627 +#: storage/large_object/inv_api.c:589 #, c-format msgid "invalid large object write request size: %d" msgstr "ラージオブジェクトの書き出し要求サイズが不正です: %d" @@ -22620,122 +22954,122 @@ msgstr "デッドロックを検出しました" msgid "See server log for query details." msgstr "問い合わせの詳細はサーバーログを参照してください" -#: storage/lmgr/lmgr.c:858 +#: storage/lmgr/lmgr.c:847 #, c-format msgid "while updating tuple (%u,%u) in relation \"%s\"" msgstr "リレーション\"%3$s\"のタプル(%1$u,%2$u)の更新中" -#: storage/lmgr/lmgr.c:861 +#: storage/lmgr/lmgr.c:850 #, c-format msgid "while deleting tuple (%u,%u) in relation \"%s\"" msgstr "リレーション\"%3$s\"のタプル(%1$u,%2$u)の削除中" -#: storage/lmgr/lmgr.c:864 +#: storage/lmgr/lmgr.c:853 #, c-format msgid "while locking tuple (%u,%u) in relation \"%s\"" msgstr "リレーション\"%3$s\"のタプル(%1$u,%2$u)のロック中" -#: storage/lmgr/lmgr.c:867 +#: storage/lmgr/lmgr.c:856 #, c-format msgid "while locking updated version (%u,%u) of tuple in relation \"%s\"" msgstr "リレーション\"%3$s\"のタプルの更新後バージョン(%1$u,%2$u)のロック中" -#: storage/lmgr/lmgr.c:870 +#: storage/lmgr/lmgr.c:859 #, c-format msgid "while inserting index tuple (%u,%u) in relation \"%s\"" msgstr "リレーション\"%3$s\"のインデックスタプル(%1$u,%2$u)の挿入中" -#: storage/lmgr/lmgr.c:873 +#: storage/lmgr/lmgr.c:862 #, c-format msgid "while checking uniqueness of tuple (%u,%u) in relation \"%s\"" msgstr "リレーション\"%3$s\"のタプル(%1$u,%2$u)の一意性の確認中" -#: storage/lmgr/lmgr.c:876 +#: storage/lmgr/lmgr.c:865 #, c-format msgid "while rechecking updated tuple (%u,%u) in relation \"%s\"" msgstr "リレーション\"%3$s\"の更新されたタプル(%1$u,%2$u)の再チェック中" -#: storage/lmgr/lmgr.c:879 +#: storage/lmgr/lmgr.c:868 #, c-format msgid "while checking exclusion constraint on tuple (%u,%u) in relation \"%s\"" msgstr "リレーション\"%3$s\"のタプル(%1$u,%2$u)に対する排除制約のチェック中" -#: storage/lmgr/lmgr.c:1249 +#: storage/lmgr/lmgr.c:1238 #, c-format msgid "relation %u of database %u" msgstr "データベース%2$uのリレーション%1$u" -#: storage/lmgr/lmgr.c:1255 +#: storage/lmgr/lmgr.c:1244 #, c-format msgid "extension of relation %u of database %u" msgstr "データベース%2$uのリレーション%1$uの拡張" -#: storage/lmgr/lmgr.c:1261 +#: storage/lmgr/lmgr.c:1250 #, c-format msgid "pg_database.datfrozenxid of database %u" msgstr "データベース%uのpg_database.datfrozenxid" -#: storage/lmgr/lmgr.c:1266 +#: storage/lmgr/lmgr.c:1255 #, c-format msgid "page %u of relation %u of database %u" msgstr "データベース%3$uのリレーション%2$uのページ%1$u" -#: storage/lmgr/lmgr.c:1273 +#: storage/lmgr/lmgr.c:1262 #, c-format msgid "tuple (%u,%u) of relation %u of database %u" msgstr "データベース%4$uのリレーション%3$uのタプル(%2$u,%1$u)" -#: storage/lmgr/lmgr.c:1281 +#: storage/lmgr/lmgr.c:1270 #, c-format msgid "transaction %u" msgstr "トランザクション %u" -#: storage/lmgr/lmgr.c:1286 +#: storage/lmgr/lmgr.c:1275 #, c-format msgid "virtual transaction %d/%u" msgstr "仮想トランザクション %d/%u" -#: storage/lmgr/lmgr.c:1292 +#: storage/lmgr/lmgr.c:1281 #, c-format msgid "speculative token %u of transaction %u" msgstr "トランザクション%2$uの投機的書き込みトークン%1$u" -#: storage/lmgr/lmgr.c:1298 +#: storage/lmgr/lmgr.c:1287 #, c-format msgid "object %u of class %u of database %u" msgstr "データベース%3$uのリレーション%2$uのオブジェクト%1$u" -#: storage/lmgr/lmgr.c:1306 +#: storage/lmgr/lmgr.c:1295 #, c-format msgid "user lock [%u,%u,%u]" msgstr "ユーザーロック[%u,%u,%u]" -#: storage/lmgr/lmgr.c:1313 +#: storage/lmgr/lmgr.c:1302 #, c-format msgid "advisory lock [%u,%u,%u,%u]" msgstr "アドバイザリ・ロック[%u,%u,%u,%u]" -#: storage/lmgr/lmgr.c:1321 +#: storage/lmgr/lmgr.c:1310 #, c-format msgid "remote transaction %u of subscription %u of database %u" msgstr "データベース%3$uのサブスクリプション%2$uのリモートトランザクション%1$u" -#: storage/lmgr/lmgr.c:1328 +#: storage/lmgr/lmgr.c:1317 #, c-format msgid "unrecognized locktag type %d" msgstr "ロックタグタイプ%dは不明です" -#: storage/lmgr/lock.c:790 +#: storage/lmgr/lock.c:860 #, c-format msgid "cannot acquire lock mode %s on database objects while recovery is in progress" msgstr "リカバリの実行中はデータベースオブジェクトでロックモード %s を獲得できません" -#: storage/lmgr/lock.c:792 +#: storage/lmgr/lock.c:862 #, c-format msgid "Only RowExclusiveLock or less can be acquired on database objects during recovery." msgstr "リカバリの実行中は、データベースオブジェクトで RowExclusiveLock もしくはそれ以下だけが獲得できます" -#: storage/lmgr/lock.c:3252 storage/lmgr/lock.c:3320 storage/lmgr/lock.c:3436 +#: storage/lmgr/lock.c:3363 storage/lmgr/lock.c:3431 storage/lmgr/lock.c:3547 #, c-format msgid "cannot PREPARE while holding both session-level and transaction-level locks on the same object" msgstr "同一オブジェクト上にセッションレベルとトランザクションレベルのロックの両方を保持している時にPREPAREすることはできません" @@ -22755,67 +23089,67 @@ msgstr "トランザクションの同時実行数を減らすか\"max_connectio msgid "not enough elements in RWConflictPool to record a potential read/write conflict" msgstr "RWConflictPoolに読み書き競合の可能性を記録するための要素が不足しています" -#: storage/lmgr/predicate.c:1681 +#: storage/lmgr/predicate.c:1686 #, c-format msgid "\"default_transaction_isolation\" is set to \"serializable\"." msgstr "\"default_transaction_isolation\"が\"serializable\"に設定されました。" -#: storage/lmgr/predicate.c:1682 +#: storage/lmgr/predicate.c:1687 #, c-format msgid "You can use \"SET default_transaction_isolation = 'repeatable read'\" to change the default." msgstr "このデフォルトを変更するためには\"SET default_transaction_isolation = 'repeatable read'\"を使用することができます。" -#: storage/lmgr/predicate.c:1733 +#: storage/lmgr/predicate.c:1738 #, c-format msgid "a snapshot-importing transaction must not be READ ONLY DEFERRABLE" msgstr "スナップショットをインポートするトランザクションはREAD ONLY DEFERRABLEではいけません" -#: storage/lmgr/predicate.c:1812 utils/time/snapmgr.c:535 utils/time/snapmgr.c:541 +#: storage/lmgr/predicate.c:1817 utils/time/snapmgr.c:535 utils/time/snapmgr.c:541 #, c-format msgid "could not import the requested snapshot" msgstr "要求したスナップショットをインポートできませんでした" -#: storage/lmgr/predicate.c:1813 utils/time/snapmgr.c:542 +#: storage/lmgr/predicate.c:1818 utils/time/snapmgr.c:542 #, c-format msgid "The source process with PID %d is not running anymore." msgstr "PID%dであるソースプロセスは既に実行中ではありません。" -#: storage/lmgr/predicate.c:3986 storage/lmgr/predicate.c:4022 storage/lmgr/predicate.c:4055 storage/lmgr/predicate.c:4063 storage/lmgr/predicate.c:4102 storage/lmgr/predicate.c:4332 storage/lmgr/predicate.c:4651 storage/lmgr/predicate.c:4663 storage/lmgr/predicate.c:4710 storage/lmgr/predicate.c:4746 +#: storage/lmgr/predicate.c:3991 storage/lmgr/predicate.c:4027 storage/lmgr/predicate.c:4060 storage/lmgr/predicate.c:4068 storage/lmgr/predicate.c:4107 storage/lmgr/predicate.c:4337 storage/lmgr/predicate.c:4656 storage/lmgr/predicate.c:4668 storage/lmgr/predicate.c:4715 storage/lmgr/predicate.c:4751 #, c-format msgid "could not serialize access due to read/write dependencies among transactions" msgstr "トランザクション間で read/write の依存性があったため、アクセスの直列化ができませんでした" -#: storage/lmgr/predicate.c:3988 storage/lmgr/predicate.c:4024 storage/lmgr/predicate.c:4057 storage/lmgr/predicate.c:4065 storage/lmgr/predicate.c:4104 storage/lmgr/predicate.c:4334 storage/lmgr/predicate.c:4653 storage/lmgr/predicate.c:4665 storage/lmgr/predicate.c:4712 storage/lmgr/predicate.c:4748 +#: storage/lmgr/predicate.c:3993 storage/lmgr/predicate.c:4029 storage/lmgr/predicate.c:4062 storage/lmgr/predicate.c:4070 storage/lmgr/predicate.c:4109 storage/lmgr/predicate.c:4339 storage/lmgr/predicate.c:4658 storage/lmgr/predicate.c:4670 storage/lmgr/predicate.c:4717 storage/lmgr/predicate.c:4753 #, c-format msgid "The transaction might succeed if retried." msgstr "リトライが行われた場合、このトランザクションは成功するかもしれません" -#: storage/lmgr/proc.c:348 +#: storage/lmgr/proc.c:404 #, c-format msgid "number of requested standby connections exceeds \"max_wal_senders\" (currently %d)" msgstr "要求されたスタンバイ接続が\"max_wal_senders を超えています\" (現在は %d)" -#: storage/lmgr/proc.c:1541 +#: storage/lmgr/proc.c:1585 #, c-format msgid "process %d avoided deadlock for %s on %s by rearranging queue order after %ld.%03d ms" msgstr "プロセス%1$dは、%4$ld.%5$03d ms後にキューの順番を再調整することで、%3$s上の%2$sに対するデッドロックを防ぎました。" -#: storage/lmgr/proc.c:1556 +#: storage/lmgr/proc.c:1600 #, c-format msgid "process %d detected deadlock while waiting for %s on %s after %ld.%03d ms" msgstr "プロセス%1$dは、%3$s上の%2$sに対し%4$ld.%5$03d ms待機するデッドロックを検知しました" -#: storage/lmgr/proc.c:1565 +#: storage/lmgr/proc.c:1609 #, c-format msgid "process %d still waiting for %s on %s after %ld.%03d ms" msgstr "プロセス%dは%sを%sで待機しています。%ld.%03dミリ秒後" -#: storage/lmgr/proc.c:1572 +#: storage/lmgr/proc.c:1616 #, c-format msgid "process %d acquired %s on %s after %ld.%03d ms" msgstr "プロセス%1$dは%4$ld.%5$03d ms後に%3$s上の%2$sを獲得しました" -#: storage/lmgr/proc.c:1589 +#: storage/lmgr/proc.c:1633 #, c-format msgid "process %d failed to acquire %s on %s after %ld.%03d ms" msgstr "プロセス%1$dは%4$ld.%5$03d ms後に%3$s上で%2$sを獲得することに失敗しました" @@ -22865,375 +23199,375 @@ msgstr "ファイル\"%1$s\"を拡張できませんでした: %4$uブロック msgid "could not extend file \"%s\" with FileFallocate(): %m" msgstr "ファイル\"%s\"をFileFallocate()で拡張できませんでした: %m" -#: storage/smgr/md.c:869 +#: storage/smgr/md.c:887 #, c-format msgid "could not read blocks %u..%u in file \"%s\": %m" msgstr "ファイル\"%3$s\"でブロック範囲 %1$u...%2$u を読み取れませんでした: %3$m" -#: storage/smgr/md.c:895 +#: storage/smgr/md.c:913 #, c-format msgid "could not read blocks %u..%u in file \"%s\": read only %zu of %zu bytes" msgstr "ファイル\"%3$s\"でブロック範囲 %1$u...%2$u を読み取れませんでした: %5$zuバイト中%4$zuバイト分のみ読み込みました" -#: storage/smgr/md.c:995 +#: storage/smgr/md.c:1016 #, c-format msgid "could not write blocks %u..%u in file \"%s\": %m" msgstr "ファイル\"%3$s\"でブロック範囲 %1$u...%2$u を書き込めませんでした: %3$m" -#: storage/smgr/md.c:1163 +#: storage/smgr/md.c:1184 #, 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:1218 +#: storage/smgr/md.c:1239 #, c-format msgid "could not truncate file \"%s\" to %u blocks: %m" msgstr "ファイル\"%s\"を%uブロックに切り詰められませんでした: %m" -#: storage/smgr/md.c:1688 +#: storage/smgr/md.c:1709 #, c-format msgid "could not open file \"%s\" (target block %u): previous segment is only %u blocks" msgstr "ファイル\"%s\"(対象ブロック%u)をオープンできませんでした: 直前のセグメントは%uブロックだけでした" -#: storage/smgr/md.c:1702 +#: storage/smgr/md.c:1723 #, c-format msgid "could not open file \"%s\" (target block %u): %m" msgstr "ファイル \"%s\"(対象ブロック %u)をオープンできませんでした: %m" -#: tcop/backend_startup.c:85 +#: tcop/backend_startup.c:87 #, c-format msgid "SSL configuration could not be loaded in child process" msgstr "SSL構成は子プロセスでは読み込めません" -#: tcop/backend_startup.c:208 +#: tcop/backend_startup.c:209 #, c-format msgid "connection received: host=%s port=%s" msgstr "接続を受け付けました: ホスト=%s ポート番号=%s" -#: tcop/backend_startup.c:213 +#: tcop/backend_startup.c:214 #, c-format msgid "connection received: host=%s" msgstr "接続を受け付けました: ホスト=%s" -#: tcop/backend_startup.c:277 +#: tcop/backend_startup.c:292 #, c-format msgid "the database system is starting up" msgstr "データベースシステムは起動処理中です" -#: tcop/backend_startup.c:283 +#: tcop/backend_startup.c:298 #, c-format msgid "the database system is not yet accepting connections" msgstr "データベースシステムはまだ接続を受け付けていません" -#: tcop/backend_startup.c:284 +#: tcop/backend_startup.c:299 #, c-format msgid "Consistent recovery state has not been yet reached." msgstr "リカバリの一貫性はまだ確保されていません。" -#: tcop/backend_startup.c:288 +#: tcop/backend_startup.c:303 #, c-format msgid "the database system is not accepting connections" msgstr "データベースシステムは接続を受け付けていません" -#: tcop/backend_startup.c:289 +#: tcop/backend_startup.c:304 #, c-format msgid "Hot standby mode is disabled." msgstr "ホットスタンバイモードは無効です。" -#: tcop/backend_startup.c:294 +#: tcop/backend_startup.c:309 #, c-format msgid "the database system is shutting down" msgstr "データベースシステムはシャットダウンしています" -#: tcop/backend_startup.c:299 +#: tcop/backend_startup.c:314 #, c-format msgid "the database system is in recovery mode" msgstr "データベースシステムはリカバリモードです" -#: tcop/backend_startup.c:414 +#: tcop/backend_startup.c:429 #, c-format msgid "received direct SSL connection request without ALPN protocol negotiation extension" msgstr "ALPNプロトコルネゴシエーション拡張を持たない直接SSL接続要求を受信しました" -#: tcop/backend_startup.c:420 +#: tcop/backend_startup.c:435 #, c-format msgid "direct SSL connection accepted" msgstr "直接SSL接続を受け付けられました" -#: tcop/backend_startup.c:430 +#: tcop/backend_startup.c:445 #, c-format msgid "direct SSL connection rejected" msgstr "直接SSL接続が拒否されました" -#: tcop/backend_startup.c:489 tcop/backend_startup.c:517 +#: tcop/backend_startup.c:504 tcop/backend_startup.c:532 #, c-format msgid "incomplete startup packet" msgstr "開始パケットが不完全です" -#: tcop/backend_startup.c:501 tcop/backend_startup.c:538 +#: tcop/backend_startup.c:516 tcop/backend_startup.c:558 #, c-format msgid "invalid length of startup packet" msgstr "不正な開始パケット長" -#: tcop/backend_startup.c:573 +#: tcop/backend_startup.c:594 #, c-format msgid "SSLRequest accepted" msgstr "SSLRequestを受け付けました" -#: tcop/backend_startup.c:576 +#: tcop/backend_startup.c:597 #, c-format msgid "SSLRequest rejected" msgstr "SSLRequestを拒否しました" -#: tcop/backend_startup.c:585 +#: tcop/backend_startup.c:606 #, c-format msgid "failed to send SSL negotiation response: %m" msgstr "SSLネゴシエーション応答の送信に失敗しました: %m" -#: tcop/backend_startup.c:603 +#: tcop/backend_startup.c:624 #, c-format msgid "received unencrypted data after SSL request" msgstr "SSL要求の後に非暗号化データを受信しました" -#: tcop/backend_startup.c:604 tcop/backend_startup.c:658 +#: tcop/backend_startup.c:625 tcop/backend_startup.c:679 #, c-format msgid "This could be either a client-software bug or evidence of an attempted man-in-the-middle attack." msgstr "これはクライアントソフトウェアのバグであるか、man-in-the-middle攻撃の証左である可能性があります。" -#: tcop/backend_startup.c:627 +#: tcop/backend_startup.c:648 #, c-format msgid "GSSENCRequest accepted" msgstr "GSSENCRequestを受け付けました" -#: tcop/backend_startup.c:630 +#: tcop/backend_startup.c:651 #, c-format msgid "GSSENCRequest rejected" msgstr "GSSENCRequestを拒否しました" -#: tcop/backend_startup.c:639 +#: tcop/backend_startup.c:660 #, c-format msgid "failed to send GSSAPI negotiation response: %m" msgstr "GSSAPIネゴシエーション応答の送信に失敗しました: %m" -#: tcop/backend_startup.c:657 +#: tcop/backend_startup.c:678 #, c-format msgid "received unencrypted data after GSSAPI encryption request" msgstr "GSSAPI暗号化リクエストの後に非暗号化データを受信" -#: tcop/backend_startup.c:681 +#: tcop/backend_startup.c:706 #, c-format msgid "unsupported frontend protocol %u.%u: server supports %u.0 to %u.%u" msgstr "フロントエンドプロトコル%u.%uをサポートしていません: サーバーは%u.0から %u.%uまでをサポートします" -#: tcop/backend_startup.c:744 +#: tcop/backend_startup.c:769 #, c-format msgid "Valid values are: \"false\", 0, \"true\", 1, \"database\"." msgstr "有効な値: \"false\", 0, \"true\", 1, \"database\"。" -#: tcop/backend_startup.c:785 +#: tcop/backend_startup.c:810 #, c-format msgid "invalid startup packet layout: expected terminator as last byte" msgstr "開始パケットの配置が不正です: 最終バイトはターミネータであるはずです" -#: tcop/backend_startup.c:802 +#: tcop/backend_startup.c:827 #, c-format msgid "no PostgreSQL user name specified in startup packet" msgstr "開始パケットで指定されたPostgreSQLユーザー名は存在しません" -#: tcop/fastpath.c:142 utils/fmgr/fmgr.c:2161 +#: tcop/fastpath.c:141 utils/fmgr/fmgr.c:2161 #, c-format msgid "function with OID %u does not exist" msgstr "OID %uの関数は存在しません" -#: tcop/fastpath.c:149 +#: tcop/fastpath.c:148 #, c-format msgid "cannot call function \"%s\" via fastpath interface" msgstr "関数\"%s\"は高速呼び出しインタフェースでの呼び出しはできません" -#: tcop/fastpath.c:234 +#: tcop/fastpath.c:233 #, c-format msgid "fastpath function call: \"%s\" (OID %u)" msgstr "近道関数呼び出し: \"%s\"(OID %u))" -#: tcop/fastpath.c:313 tcop/postgres.c:1365 tcop/postgres.c:1601 tcop/postgres.c:2055 tcop/postgres.c:2305 +#: tcop/fastpath.c:312 tcop/postgres.c:1374 tcop/postgres.c:1610 tcop/postgres.c:2076 tcop/postgres.c:2338 #, c-format msgid "duration: %s ms" msgstr "期間: %s ミリ秒" -#: tcop/fastpath.c:317 +#: tcop/fastpath.c:316 #, c-format msgid "duration: %s ms fastpath function call: \"%s\" (OID %u)" msgstr "期間: %sミリ秒 ファストパス関数呼び出し: \"%s\" (OID %u)" -#: tcop/fastpath.c:353 +#: tcop/fastpath.c:352 #, c-format msgid "function call message contains %d arguments but function requires %d" msgstr "関数呼び出しメッセージには%d引数ありましたが、関数には%d必要です" -#: tcop/fastpath.c:361 +#: tcop/fastpath.c:360 #, c-format msgid "function call message contains %d argument formats but %d arguments" msgstr "関数呼び出しメッセージには%dの引数書式がありましたが、引数は%dでした" -#: tcop/fastpath.c:385 +#: tcop/fastpath.c:384 #, c-format msgid "invalid argument size %d in function call message" msgstr "関数呼び出しメッセージ内の引数サイズ%dが不正です" -#: tcop/fastpath.c:448 +#: tcop/fastpath.c:447 #, c-format msgid "incorrect binary data format in function argument %d" msgstr "関数引数%dのバイナリデータ書式が不正です" -#: tcop/postgres.c:463 tcop/postgres.c:4925 +#: tcop/postgres.c:466 tcop/postgres.c:5037 #, c-format msgid "invalid frontend message type %d" msgstr "フロントエンドメッセージタイプ%dが不正です" -#: tcop/postgres.c:1072 +#: tcop/postgres.c:1081 #, c-format msgid "statement: %s" msgstr "文: %s" -#: tcop/postgres.c:1370 +#: tcop/postgres.c:1379 #, c-format msgid "duration: %s ms statement: %s" msgstr "期間: %s ミリ秒 文: %s" -#: tcop/postgres.c:1476 +#: tcop/postgres.c:1485 #, c-format msgid "cannot insert multiple commands into a prepared statement" msgstr "準備された文に複数のコマンドを挿入できません" -#: tcop/postgres.c:1606 +#: tcop/postgres.c:1615 #, c-format msgid "duration: %s ms parse %s: %s" msgstr "期間: %s ミリ秒 パース%s : %s" -#: tcop/postgres.c:1672 tcop/postgres.c:2625 +#: tcop/postgres.c:1682 tcop/postgres.c:2658 #, c-format msgid "unnamed prepared statement does not exist" msgstr "無名の準備された文が存在しません" -#: tcop/postgres.c:1713 +#: tcop/postgres.c:1734 #, c-format msgid "bind message has %d parameter formats but %d parameters" msgstr "バインドメッセージは%dパラメータ書式ありましたがパラメータは%dでした" -#: tcop/postgres.c:1719 +#: tcop/postgres.c:1740 #, c-format msgid "bind message supplies %d parameters, but prepared statement \"%s\" requires %d" msgstr "バインドメッセージは%dパラメータを提供しましたが、準備された文\"%s\"では%d必要でした" -#: tcop/postgres.c:1933 +#: tcop/postgres.c:1954 #, c-format msgid "incorrect binary data format in bind parameter %d" msgstr "バインドパラメータ%dにおいてバイナリデータ書式が不正です" -#: tcop/postgres.c:2060 +#: tcop/postgres.c:2081 #, c-format msgid "duration: %s ms bind %s%s%s: %s" msgstr "期間: %s ミリ秒 バインド %s%s%s: %s" -#: tcop/postgres.c:2114 tcop/postgres.c:2708 +#: tcop/postgres.c:2136 tcop/postgres.c:2740 #, c-format msgid "portal \"%s\" does not exist" msgstr "ポータル\"%s\"は存在しません" -#: tcop/postgres.c:2185 +#: tcop/postgres.c:2218 #, c-format msgid "%s %s%s%s: %s" msgstr "%s %s%s%s: %s" -#: tcop/postgres.c:2187 tcop/postgres.c:2313 +#: tcop/postgres.c:2220 tcop/postgres.c:2346 msgid "execute fetch from" msgstr "取り出し実行" -#: tcop/postgres.c:2188 tcop/postgres.c:2314 +#: tcop/postgres.c:2221 tcop/postgres.c:2347 msgid "execute" msgstr "実行" -#: tcop/postgres.c:2310 +#: tcop/postgres.c:2343 #, c-format msgid "duration: %s ms %s %s%s%s: %s" msgstr "期間: %s ミリ秒 %s %s%s%s: %s" -#: tcop/postgres.c:2458 +#: tcop/postgres.c:2491 #, c-format msgid "prepare: %s" msgstr "準備: %s" -#: tcop/postgres.c:2483 +#: tcop/postgres.c:2516 #, c-format msgid "Parameters: %s" msgstr "パラメータ: %s" -#: tcop/postgres.c:2498 +#: tcop/postgres.c:2531 #, c-format msgid "Abort reason: recovery conflict" msgstr "異常終了の理由: リカバリ衝突" -#: tcop/postgres.c:2514 +#: tcop/postgres.c:2547 #, c-format msgid "User was holding shared buffer pin for too long." msgstr "ユーザーが共有バッファ・ピンを長く保持し過ぎていました" -#: tcop/postgres.c:2517 +#: tcop/postgres.c:2550 #, c-format msgid "User was holding a relation lock for too long." msgstr "ユーザーリレーションのロックを長く保持し過ぎていました" -#: tcop/postgres.c:2520 +#: tcop/postgres.c:2553 #, c-format msgid "User was or might have been using tablespace that must be dropped." msgstr "削除されるべきテーブルスペースをユーザーが使っていました(もしくはその可能性がありました)。" -#: tcop/postgres.c:2523 +#: tcop/postgres.c:2556 #, c-format msgid "User query might have needed to see row versions that must be removed." msgstr "削除されるべきバージョンの行をユーザー問い合わせが参照しなければならなかった可能性がありました。" -#: tcop/postgres.c:2526 +#: tcop/postgres.c:2559 #, c-format msgid "User was using a logical replication slot that must be invalidated." msgstr "無効化されるべき論理レプリケーションスロットをユーザーが使用していました。" -#: tcop/postgres.c:2532 +#: tcop/postgres.c:2565 #, c-format msgid "User was connected to a database that must be dropped." msgstr "削除されるべきデータベースにユーザーが接続していました。" -#: tcop/postgres.c:2571 +#: tcop/postgres.c:2604 #, c-format msgid "portal \"%s\" parameter $%d = %s" msgstr "ポータル\"%s\" パラメータ$%d = %s" -#: tcop/postgres.c:2574 +#: tcop/postgres.c:2607 #, c-format msgid "portal \"%s\" parameter $%d" msgstr "ポータル\"%s\" パラメータ $%d" -#: tcop/postgres.c:2580 +#: tcop/postgres.c:2613 #, c-format msgid "unnamed portal parameter $%d = %s" msgstr "無名ポータルパラメータ $%d = %s" -#: tcop/postgres.c:2583 +#: tcop/postgres.c:2616 #, c-format msgid "unnamed portal parameter $%d" msgstr "無名ポータルパラメータ $%d" -#: tcop/postgres.c:2928 +#: tcop/postgres.c:2960 #, c-format msgid "terminating connection because of unexpected SIGQUIT signal" msgstr "予期しないSIGQUITシグナルによりコネクションを終了します" -#: tcop/postgres.c:2934 +#: tcop/postgres.c:2966 #, c-format msgid "terminating connection because of crash of another server process" msgstr "他のサーバープロセスがクラッシュしたため接続を終了します" -#: tcop/postgres.c:2935 +#: tcop/postgres.c:2967 #, c-format msgid "The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory." msgstr "" @@ -23241,167 +23575,172 @@ msgstr "" "postmasterはこのサーバープロセスに対し、現在のトランザクションをロールバック\n" "し終了するよう指示しました。" -#: tcop/postgres.c:2939 tcop/postgres.c:3192 +#: tcop/postgres.c:2971 tcop/postgres.c:3224 #, c-format msgid "In a moment you should be able to reconnect to the database and repeat your command." msgstr "この後、データベースに再接続し、コマンドを繰り返さなければなりません。" -#: tcop/postgres.c:2946 +#: tcop/postgres.c:2978 #, c-format msgid "terminating connection due to immediate shutdown command" msgstr "即時シャットダウンコマンドによりコネクションを終了します" -#: tcop/postgres.c:3024 +#: tcop/postgres.c:3056 #, c-format msgid "floating-point exception" msgstr "浮動小数点例外" -#: tcop/postgres.c:3025 +#: tcop/postgres.c:3057 #, c-format msgid "An invalid floating-point operation was signaled. This probably means an out-of-range result or an invalid operation, such as division by zero." msgstr "不正な浮動小数点演算がシグナルされました。おそらくこれは、範囲外の結果もしくは0除算のような不正な演算によるものです。" -#: tcop/postgres.c:3190 +#: tcop/postgres.c:3222 #, c-format msgid "terminating connection due to conflict with recovery" msgstr "リカバリで競合が発生したため、接続を終了しています" -#: tcop/postgres.c:3262 +#: tcop/postgres.c:3294 #, c-format msgid "canceling authentication due to timeout" msgstr "タイムアウトにより認証処理をキャンセルしています" -#: tcop/postgres.c:3266 +#: tcop/postgres.c:3298 #, c-format msgid "terminating autovacuum process due to administrator command" msgstr "管理者コマンドにより自動VACUUM処理を終了しています" -#: tcop/postgres.c:3270 +#: tcop/postgres.c:3302 #, c-format msgid "terminating logical replication worker due to administrator command" msgstr "管理者コマンドにより、論理レプリケーションワーカーを終了します" -#: tcop/postgres.c:3290 +#: tcop/postgres.c:3322 #, c-format msgid "terminating connection due to administrator command" msgstr "管理者コマンドにより接続を終了しています" -#: tcop/postgres.c:3321 +#: tcop/postgres.c:3353 #, c-format msgid "connection to client lost" msgstr "クライアントへの接続が切れました。" -#: tcop/postgres.c:3373 +#: tcop/postgres.c:3405 #, c-format msgid "canceling statement due to lock timeout" msgstr "ロックのタイムアウトのためステートメントをキャンセルしています" -#: tcop/postgres.c:3380 +#: tcop/postgres.c:3412 #, c-format msgid "canceling statement due to statement timeout" msgstr "ステートメントのタイムアウトのためステートメントをキャンセルしています" -#: tcop/postgres.c:3387 +#: tcop/postgres.c:3419 #, c-format msgid "canceling autovacuum task" msgstr "自動VACUUM処理をキャンセルしています" -#: tcop/postgres.c:3400 +#: tcop/postgres.c:3432 #, c-format msgid "canceling statement due to user request" msgstr "ユーザーからの要求により文をキャンセルしています" -#: tcop/postgres.c:3421 +#: tcop/postgres.c:3453 #, c-format msgid "terminating connection due to idle-in-transaction timeout" msgstr "トランザクション中アイドルタイムアウトのため接続を終了します" -#: tcop/postgres.c:3434 +#: tcop/postgres.c:3466 #, c-format msgid "terminating connection due to transaction timeout" msgstr "トランザクションタイムアウトのため接続を終了します" -#: tcop/postgres.c:3447 +#: tcop/postgres.c:3479 #, c-format msgid "terminating connection due to idle-session timeout" msgstr "アイドルセッションタイムアウトにより接続を終了します" -#: tcop/postgres.c:3537 +#: tcop/postgres.c:3569 #, c-format msgid "stack depth limit exceeded" msgstr "スタック長制限を越えました" -#: tcop/postgres.c:3538 +#: tcop/postgres.c:3570 #, c-format msgid "Increase the configuration parameter \"max_stack_depth\" (currently %dkB), after ensuring the platform's stack depth limit is adequate." msgstr "プラットフォームのスタック長制限が適切であることを確認した後に、設定パラメータ\"max_stack_depth\" (現在 %dkB)を増やしてください。" -#: tcop/postgres.c:3585 +#: tcop/postgres.c:3617 #, c-format msgid "\"max_stack_depth\" must not exceed %ldkB." msgstr "\"max_stack_depth\"は%ldkBを越えてはなりません。" -#: tcop/postgres.c:3587 +#: tcop/postgres.c:3619 #, c-format msgid "Increase the platform's stack depth limit via \"ulimit -s\" or local equivalent." msgstr "プラットフォームのスタック長制限を\"ulimit -s\"または同等の機能を使用して増加してください" -#: tcop/postgres.c:3610 +#: tcop/postgres.c:3642 #, c-format msgid "\"client_connection_check_interval\" must be set to 0 on this platform." msgstr "このプラットフォームでは\"client_connection_check_interval\"を0に設定する必要があります。" -#: tcop/postgres.c:3631 +#: tcop/postgres.c:3663 #, c-format msgid "Cannot enable parameter when \"log_statement_stats\" is true." msgstr "\"log_statement_stats\"が真の場合、パラメータを有効にできません" -#: tcop/postgres.c:3646 +#: tcop/postgres.c:3678 #, c-format msgid "Cannot enable \"log_statement_stats\" when \"log_parser_stats\", \"log_planner_stats\", or \"log_executor_stats\" is true." msgstr "\"log_parser_stats\"、\"log_planner_stats\"、または\"log_executor_stats\"のいずれかがtrueの場合は\"log_statement_stats\"を有効にできません。" -#: tcop/postgres.c:4011 +#: tcop/postgres.c:4103 #, c-format msgid "invalid command-line argument for server process: %s" msgstr "サーバープロセスに対する不正なコマンドライン引数: %s" -#: tcop/postgres.c:4012 tcop/postgres.c:4018 +#: tcop/postgres.c:4104 tcop/postgres.c:4110 #, c-format msgid "Try \"%s --help\" for more information." msgstr "詳細は\"%s --help\"を実行してください。" -#: tcop/postgres.c:4016 +#: tcop/postgres.c:4108 #, c-format msgid "%s: invalid command-line argument: %s" msgstr "%s: 不正なコマンドライン引数: %s" -#: tcop/postgres.c:4069 +#: tcop/postgres.c:4161 #, c-format msgid "%s: no database nor user name specified" msgstr "%s: データベース名もユーザー名も指定されていません" -#: tcop/postgres.c:4822 +#: tcop/postgres.c:4334 +#, c-format +msgid "could not generate random cancel key" +msgstr "ランダムなキャンセルキーを生成できませんでした" + +#: tcop/postgres.c:4934 #, c-format msgid "invalid CLOSE message subtype %d" msgstr "不正なCLOSEメッセージのサブタイプ%d" -#: tcop/postgres.c:4859 +#: tcop/postgres.c:4971 #, c-format msgid "invalid DESCRIBE message subtype %d" msgstr "不正なDESCRIBEメッセージのサブタイプ%d" -#: tcop/postgres.c:4946 +#: tcop/postgres.c:5058 #, c-format msgid "fastpath function calls not supported in a replication connection" msgstr "レプリケーション接続では高速関数呼び出しはサポートされていません" -#: tcop/postgres.c:4950 +#: tcop/postgres.c:5062 #, c-format msgid "extended query protocol not supported in a replication connection" msgstr "レプリケーション接続では拡張問い合わせプロトコルはサポートされていません" -#: tcop/postgres.c:5130 +#: tcop/postgres.c:5242 #, c-format msgid "disconnection: session time: %d:%02d:%02d.%03d user=%s database=%s host=%s%s%s" msgstr "接続を切断: セッション時間: %d:%02d:%02d.%03d ユーザー=%s データベース=%s ホスト=%s%s%s" @@ -23446,18 +23785,18 @@ msgid "cannot execute %s within security-restricted operation" msgstr "セキュリティー制限操作の中では %s を実行できません" #. translator: %s is name of a SQL command, eg LISTEN -#: tcop/utility.c:821 +#: tcop/utility.c:824 #, c-format msgid "cannot execute %s within a background process" msgstr "バックグラウンドプロセス内で%sを実行することはできません" #. translator: %s is name of a SQL command, eg CHECKPOINT -#: tcop/utility.c:947 +#: tcop/utility.c:950 #, c-format msgid "permission denied to execute %s command" msgstr "%sコマンドを実行する権限がありません" -#: tcop/utility.c:949 +#: tcop/utility.c:952 #, c-format msgid "Only roles with privileges of the \"%s\" role may execute this command." msgstr "\"%s\"ロールの権限を持つロールのみがこのコマンドを実行できます。" @@ -23607,7 +23946,7 @@ msgstr "\"long\"フラグ値を伴った不正な接辞フラグ\"%s\"" msgid "could not open dictionary file \"%s\": %m" msgstr "辞書ファイル\"%s\"をオープンできませんでした: %m" -#: tsearch/spell.c:1170 tsearch/spell.c:1182 tsearch/spell.c:1742 tsearch/spell.c:1747 tsearch/spell.c:1752 +#: tsearch/spell.c:1170 tsearch/spell.c:1182 tsearch/spell.c:1746 tsearch/spell.c:1751 tsearch/spell.c:1756 #, c-format msgid "invalid affix alias \"%s\"" msgstr "不正な接辞の別名 \"%s\"" @@ -23687,57 +24026,107 @@ msgstr "認識できない見出しパラメータ: \"%s\"" msgid "MinWords should be less than MaxWords" msgstr "MinWordsはMaxWordsより小さくなければなりません" -#: tsearch/wparser_def.c:2678 +#: tsearch/wparser_def.c:2678 +#, c-format +msgid "MinWords should be positive" +msgstr "MinWordsは正でなければなりません" + +#: tsearch/wparser_def.c:2682 +#, c-format +msgid "ShortWord should be >= 0" +msgstr "ShortWordは>= 0でなければなりません" + +#: tsearch/wparser_def.c:2686 +#, c-format +msgid "MaxFragments should be >= 0" +msgstr "MaxFragments は 0 以上でなければなりません" + +#: utils/activity/pgstat.c:505 +#, c-format +msgid "could not unlink permanent statistics file \"%s\": %m" +msgstr "永続統計情報ファイル\"%s\"をunlinkできませんでした: %m" + +#: utils/activity/pgstat.c:1422 +#, c-format +msgid "invalid statistics kind: \"%s\"" +msgstr "不正な統計情報種別: \"%s\"" + +#: utils/activity/pgstat.c:1467 +#, c-format +msgid "custom cumulative statistics name is invalid" +msgstr "独自集積統計情報の名前が不正です" + +#: utils/activity/pgstat.c:1468 +#, c-format +msgid "Provide a non-empty name for the custom cumulative statistics." +msgstr "独自集積統計情報の名前には空ではない文字列を設定してください。" + +#: utils/activity/pgstat.c:1471 +#, c-format +msgid "custom cumulative statistics ID %u is out of range" +msgstr "独自集積統計情報のID %uは範囲外です" + +#: utils/activity/pgstat.c:1472 +#, c-format +msgid "Provide a custom cumulative statistics ID between %u and %u." +msgstr "独自集積統計情報IDは%uから%uの間の値で指定してください。" + +#: utils/activity/pgstat.c:1477 utils/activity/pgstat.c:1504 utils/activity/pgstat.c:1517 +#, c-format +msgid "failed to register custom cumulative statistics \"%s\" with ID %u" +msgstr "独自集積統計情報\"%s\"のID %uでの登録に失敗しました" + +#: utils/activity/pgstat.c:1478 +#, c-format +msgid "Custom cumulative statistics must be registered while initializing modules in \"shared_preload_libraries\"." +msgstr "独自集積統計情報は\"shared_preload_libraries\"にあるモジュールの初期化中に登録する必要があります。" + +#: utils/activity/pgstat.c:1487 #, c-format -msgid "MinWords should be positive" -msgstr "MinWordsは正でなければなりません" +msgid "custom cumulative statistics property is invalid" +msgstr "独自集積統計情報の特性が不正です" -#: tsearch/wparser_def.c:2682 +#: utils/activity/pgstat.c:1488 #, c-format -msgid "ShortWord should be >= 0" -msgstr "ShortWordは>= 0でなければなりません" +msgid "Custom cumulative statistics require a shared memory size for fixed-numbered objects." +msgstr "独自集積統計情報は固定数のオブジェクトのための共有メモリのサイズを必要とします。" -#: tsearch/wparser_def.c:2686 +#: utils/activity/pgstat.c:1505 #, c-format -msgid "MaxFragments should be >= 0" -msgstr "MaxFragments は 0 以上でなければなりません" +msgid "Custom cumulative statistics \"%s\" already registered with the same ID." +msgstr "独自集積統計情報\"%s\"はすでに同一のIDで登録されています。" -#: utils/activity/pgstat.c:435 +#: utils/activity/pgstat.c:1518 #, c-format -msgid "could not unlink permanent statistics file \"%s\": %m" -msgstr "永続統計情報ファイル\"%s\"をunlinkできませんでした: %m" +msgid "Existing cumulative statistics with ID %u has the same name." +msgstr "ID %uの既存の独自集積統計情報が同じ名前です。" -#: utils/activity/pgstat.c:1252 +#: utils/activity/pgstat.c:1524 #, c-format -msgid "invalid statistics kind: \"%s\"" -msgstr "不正な統計情報種別: \"%s\"" +msgid "registered custom cumulative statistics \"%s\" with ID %u" +msgstr "独自集積統計情報\"%s\"をID %uで登録しました" -#: utils/activity/pgstat.c:1332 +#: utils/activity/pgstat.c:1594 #, c-format msgid "could not open temporary statistics file \"%s\": %m" msgstr "一時統計情報ファイル\"%s\"をオープンできませんでした: %m" -#: utils/activity/pgstat.c:1444 +#: utils/activity/pgstat.c:1702 #, c-format msgid "could not write temporary statistics file \"%s\": %m" msgstr "一時統計情報ファイル\"%s\"に書き込みできませんでした: %m" -#: utils/activity/pgstat.c:1453 +#: utils/activity/pgstat.c:1711 #, c-format msgid "could not close temporary statistics file \"%s\": %m" msgstr "一時統計情報ファイル\"%s\"をクローズできませんでした: %m" -#: utils/activity/pgstat.c:1461 -#, c-format -msgid "could not rename temporary statistics file \"%s\" to \"%s\": %m" -msgstr "一時統計情報ファイル\"%s\"の名前を\"%s\"に変更できませんでした: %m" - -#: utils/activity/pgstat.c:1510 +#: utils/activity/pgstat.c:1767 #, c-format msgid "could not open statistics file \"%s\": %m" msgstr "統計情報ファイル\"%s\"をオープンできませんでした: %m" -#: utils/activity/pgstat.c:1672 +#: utils/activity/pgstat.c:2015 #, c-format msgid "corrupted statistics file \"%s\"" msgstr "統計情報ファイル\"%s\"が破損しています" @@ -23747,117 +24136,122 @@ msgstr "統計情報ファイル\"%s\"が破損しています" msgid "function call to dropped function" msgstr "削除された関数の呼び出し" -#: utils/activity/pgstat_xact.c:362 +#: utils/activity/pgstat_xact.c:366 +#, c-format +msgid "resetting existing statistics for kind %s, db=%u, oid=%llu" +msgstr "種類%s、db=%u、oid=%lluに対する既存の統計情報をリセットします" + +#: utils/activity/wait_event.c:206 utils/activity/wait_event.c:231 #, c-format -msgid "resetting existing statistics for kind %s, db=%u, oid=%u" -msgstr "種類%s、db=%u、oid=%uの既存統計情報をリセットします" +msgid "wait event \"%s\" already exists in type \"%s\"" +msgstr "待機イベント\"%s\"は待機イベントタイプ\"%s\"内にすでに存在します" -#: utils/activity/wait_event.c:210 +#: utils/activity/wait_event.c:245 #, c-format -msgid "too many wait events for extensions" -msgstr "機能拡張の待機イベントが多すぎます" +msgid "too many custom wait events" +msgstr "独自待機イベントの数が多すぎます" -#: utils/adt/acl.c:183 utils/adt/name.c:93 +#: utils/adt/acl.c:187 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:188 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:276 #, c-format msgid "unrecognized key word: \"%s\"" msgstr "キーワードが不明です: \"%s\"" -#: utils/adt/acl.c:273 +#: utils/adt/acl.c:277 #, c-format msgid "ACL key word must be \"group\" or \"user\"." msgstr "ACLキーワードは\"group\"または\"user\"でなければなりません。" -#: utils/adt/acl.c:281 +#: utils/adt/acl.c:285 #, c-format msgid "missing name" msgstr "名前がありません" -#: utils/adt/acl.c:282 +#: utils/adt/acl.c:286 #, 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:292 #, c-format msgid "missing \"=\" sign" msgstr "\"=\"記号がありません" -#: utils/adt/acl.c:350 +#: utils/adt/acl.c:351 #, c-format msgid "invalid mode character: must be one of \"%s\"" msgstr "不正なモード文字: \"%s\"の一つでなければなりません" -#: utils/adt/acl.c:380 +#: utils/adt/acl.c:381 #, c-format msgid "a name must follow the \"/\" sign" msgstr "\"/\"記号の後には名前が必要です" -#: utils/adt/acl.c:392 +#: utils/adt/acl.c:393 #, c-format msgid "defaulting grantor to user ID %u" msgstr "権限付与者をデフォルトのユーザーID %uにしています" -#: utils/adt/acl.c:578 +#: utils/adt/acl.c:579 #, c-format msgid "ACL array contains wrong data type" msgstr "ACL配列に不正なデータ型があります。" -#: utils/adt/acl.c:582 +#: utils/adt/acl.c:583 #, c-format msgid "ACL arrays must be one-dimensional" msgstr "ACL配列は1次元の配列でなければなりません" -#: utils/adt/acl.c:586 +#: utils/adt/acl.c:587 #, c-format msgid "ACL arrays must not contain null values" msgstr "ACL配列にはNULL値を含めてはいけません" -#: utils/adt/acl.c:615 +#: utils/adt/acl.c:616 #, c-format msgid "extra garbage at the end of the ACL specification" msgstr "ACL指定の後に余計なごみがあります" -#: utils/adt/acl.c:1257 +#: utils/adt/acl.c:1264 #, c-format msgid "grant options cannot be granted back to your own grantor" msgstr "グラントオプションでその権限付与者に権限を付与し返すことはできません" -#: utils/adt/acl.c:1573 +#: utils/adt/acl.c:1580 #, c-format msgid "aclinsert is no longer supported" msgstr "aclinsertはもうサポートされていません" -#: utils/adt/acl.c:1583 +#: utils/adt/acl.c:1590 #, c-format msgid "aclremove is no longer supported" msgstr "aclremoveはもうサポートされていません" -#: utils/adt/acl.c:1703 +#: utils/adt/acl.c:1709 #, c-format msgid "unrecognized privilege type: \"%s\"" msgstr "権限タイプが不明です: \"%s\"" -#: utils/adt/acl.c:3544 utils/adt/regproc.c:100 utils/adt/regproc.c:265 +#: utils/adt/acl.c:3548 utils/adt/regproc.c:100 utils/adt/regproc.c:265 #, c-format msgid "function \"%s\" does not exist" msgstr "関数\"%s\"は存在しません" -#: utils/adt/acl.c:5190 +#: utils/adt/acl.c:5330 #, c-format msgid "must be able to SET ROLE \"%s\"" msgstr "SET ROLE\"%s\"ができなければなりません" -#: utils/adt/array_userfuncs.c:102 utils/adt/array_userfuncs.c:489 utils/adt/array_userfuncs.c:866 utils/adt/json.c:602 utils/adt/json.c:740 utils/adt/json.c:790 utils/adt/jsonb.c:1025 utils/adt/jsonb.c:1098 utils/adt/jsonb.c:1530 utils/adt/jsonb.c:1718 utils/adt/jsonb.c:1728 +#: utils/adt/array_userfuncs.c:102 utils/adt/array_userfuncs.c:489 utils/adt/array_userfuncs.c:866 utils/adt/json.c:611 utils/adt/json.c:749 utils/adt/json.c:799 utils/adt/jsonb.c:1025 utils/adt/jsonb.c:1098 utils/adt/jsonb.c:1530 utils/adt/jsonb.c:1718 utils/adt/jsonb.c:1728 #, c-format msgid "could not determine input data type" msgstr "入力データ型を特定できませんでした" @@ -23867,8 +24261,8 @@ msgstr "入力データ型を特定できませんでした" msgid "input data type is not an array" msgstr "入力データ型は配列ではありません" -#: utils/adt/array_userfuncs.c:151 utils/adt/array_userfuncs.c:203 utils/adt/float.c:1222 utils/adt/float.c:1296 utils/adt/float.c:4022 utils/adt/float.c:4060 utils/adt/int.c:778 utils/adt/int.c:800 utils/adt/int.c:814 utils/adt/int.c:828 utils/adt/int.c:859 utils/adt/int.c:880 utils/adt/int.c:997 utils/adt/int.c:1011 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:1902 utils/adt/numeric.c:4439 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 +#: utils/adt/array_userfuncs.c:151 utils/adt/array_userfuncs.c:203 utils/adt/float.c:1229 utils/adt/float.c:1303 utils/adt/float.c:4019 utils/adt/float.c:4057 utils/adt/int.c:778 utils/adt/int.c:800 utils/adt/int.c:814 utils/adt/int.c:828 utils/adt/int.c:859 utils/adt/int.c:880 utils/adt/int.c:997 utils/adt/int.c:1011 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:1918 utils/adt/numeric.c:4436 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:3112 #, c-format msgid "integer out of range" msgstr "integerの範囲外です" @@ -23903,7 +24297,7 @@ msgstr "異なる要素次数の配列の連結には互換性がありません msgid "Arrays with differing dimensions are not compatible for concatenation." msgstr "異なる次数の配列の連結には互換性がありません。" -#: utils/adt/array_userfuncs.c:975 utils/adt/array_userfuncs.c:983 utils/adt/arrayfuncs.c:5609 utils/adt/arrayfuncs.c:5615 +#: utils/adt/array_userfuncs.c:975 utils/adt/array_userfuncs.c:983 utils/adt/arrayfuncs.c:5628 utils/adt/arrayfuncs.c:5634 #, c-format msgid "cannot accumulate arrays of different dimensionality" msgstr "次元の異なる配列は結合できません" @@ -23963,7 +24357,7 @@ msgstr "\"[\"は配列次元の明示的な指定の先頭である必要があ msgid "Missing array dimension value." msgstr "配列の次元数の値がありません。" -#: utils/adt/arrayfuncs.c:481 utils/adt/arrayfuncs.c:2933 utils/adt/arrayfuncs.c:2978 utils/adt/arrayfuncs.c:2993 +#: utils/adt/arrayfuncs.c:481 utils/adt/arrayfuncs.c:2940 utils/adt/arrayfuncs.c:2985 utils/adt/arrayfuncs.c:3000 #, c-format msgid "upper bound cannot be less than lower bound" msgstr "上限を下限より小さくすることはできません" @@ -23993,7 +24387,7 @@ msgstr "想定外の配列要素。" msgid "Specified array dimensions do not match array contents." msgstr "指定された配列の次元数が配列の内容と合致していません。" -#: utils/adt/arrayfuncs.c:783 utils/adt/jsonfuncs.c:2597 +#: utils/adt/arrayfuncs.c:783 utils/adt/jsonfuncs.c:2599 #, c-format msgid "Multidimensional arrays must have sub-arrays with matching dimensions." msgstr "多次元配列は合致する次元の副配列を持たなければなりません。" @@ -24008,7 +24402,7 @@ msgstr "配列要素が正しくクォートされていません" msgid "Unexpected end of input." msgstr "想定外の入力の終端。" -#: utils/adt/arrayfuncs.c:1301 utils/adt/arrayfuncs.c:3492 utils/adt/arrayfuncs.c:6099 +#: utils/adt/arrayfuncs.c:1301 utils/adt/arrayfuncs.c:3511 utils/adt/arrayfuncs.c:6118 #, c-format msgid "invalid number of dimensions: %d" msgstr "不正な次元数: %d" @@ -24043,12 +24437,12 @@ msgstr "型%sにはバイナリ出力関数がありません" msgid "slices of fixed-length arrays not implemented" msgstr "固定長配列の部分配列は実装されていません" -#: utils/adt/arrayfuncs.c:2245 utils/adt/arrayfuncs.c:2267 utils/adt/arrayfuncs.c:2316 utils/adt/arrayfuncs.c:2570 utils/adt/arrayfuncs.c:2908 utils/adt/arrayfuncs.c:6085 utils/adt/arrayfuncs.c:6111 utils/adt/arrayfuncs.c:6122 utils/adt/json.c:1419 utils/adt/json.c:1491 utils/adt/jsonb.c:1317 utils/adt/jsonb.c:1401 utils/adt/jsonfuncs.c:4688 utils/adt/jsonfuncs.c:4841 utils/adt/jsonfuncs.c:4952 utils/adt/jsonfuncs.c:5000 +#: utils/adt/arrayfuncs.c:2245 utils/adt/arrayfuncs.c:2267 utils/adt/arrayfuncs.c:2316 utils/adt/arrayfuncs.c:2570 utils/adt/arrayfuncs.c:2915 utils/adt/arrayfuncs.c:6104 utils/adt/arrayfuncs.c:6130 utils/adt/arrayfuncs.c:6141 utils/adt/json.c:1441 utils/adt/json.c:1509 utils/adt/jsonb.c:1317 utils/adt/jsonb.c:1401 utils/adt/jsonfuncs.c:4711 utils/adt/jsonfuncs.c:4864 utils/adt/jsonfuncs.c:4975 utils/adt/jsonfuncs.c:5023 #, c-format msgid "wrong number of array subscripts" msgstr "配列の添え字が不正な数値です" -#: utils/adt/arrayfuncs.c:2250 utils/adt/arrayfuncs.c:2374 utils/adt/arrayfuncs.c:2653 utils/adt/arrayfuncs.c:2983 +#: utils/adt/arrayfuncs.c:2250 utils/adt/arrayfuncs.c:2374 utils/adt/arrayfuncs.c:2653 utils/adt/arrayfuncs.c:2990 #, c-format msgid "array subscript out of range" msgstr "配列の添え字が範囲外です" @@ -24073,82 +24467,82 @@ msgstr "配列のスライスの添え字は両方の境界を示す必要があ msgid "When assigning to a slice of an empty array value, slice boundaries must be fully specified." msgstr "空の配列値のスライスに代入するには、スライスの範囲は完全に指定する必要があります。" -#: utils/adt/arrayfuncs.c:2898 utils/adt/arrayfuncs.c:3010 +#: utils/adt/arrayfuncs.c:2905 utils/adt/arrayfuncs.c:3017 #, c-format msgid "source array too small" msgstr "元の配列が小さすぎます" -#: utils/adt/arrayfuncs.c:3650 +#: utils/adt/arrayfuncs.c:3669 #, c-format msgid "null array element not allowed in this context" msgstr "この文脈ではNULLの配列要素は許可されません" -#: utils/adt/arrayfuncs.c:3821 utils/adt/arrayfuncs.c:3992 utils/adt/arrayfuncs.c:4383 +#: utils/adt/arrayfuncs.c:3840 utils/adt/arrayfuncs.c:4011 utils/adt/arrayfuncs.c:4402 #, c-format msgid "cannot compare arrays of different element types" msgstr "要素型の異なる配列を比較できません" -#: utils/adt/arrayfuncs.c:4170 utils/adt/multirangetypes.c:2805 utils/adt/multirangetypes.c:2877 utils/adt/rangetypes.c:1361 utils/adt/rangetypes.c:1425 utils/adt/rowtypes.c:1875 +#: utils/adt/arrayfuncs.c:4189 utils/adt/multirangetypes.c:2805 utils/adt/multirangetypes.c:2877 utils/adt/rangetypes.c:1361 utils/adt/rangetypes.c:1425 utils/adt/rowtypes.c:1893 #, c-format msgid "could not identify a hash function for type %s" msgstr "型 %s のハッシュ関数を特定できません" -#: utils/adt/arrayfuncs.c:4298 utils/adt/rowtypes.c:1996 +#: utils/adt/arrayfuncs.c:4317 utils/adt/rowtypes.c:2014 #, c-format msgid "could not identify an extended hash function for type %s" msgstr "型 %s の拡張ハッシュ関数を特定できませんでした" -#: utils/adt/arrayfuncs.c:5499 +#: utils/adt/arrayfuncs.c:5518 #, c-format msgid "data type %s is not an array type" msgstr "データ型%sは配列型ではありません" -#: utils/adt/arrayfuncs.c:5554 +#: utils/adt/arrayfuncs.c:5573 #, c-format msgid "cannot accumulate null arrays" msgstr "null配列は連結できません" -#: utils/adt/arrayfuncs.c:5582 +#: utils/adt/arrayfuncs.c:5601 #, c-format msgid "cannot accumulate empty arrays" msgstr "空の配列は連結できません" -#: utils/adt/arrayfuncs.c:5983 utils/adt/arrayfuncs.c:6023 +#: utils/adt/arrayfuncs.c:6002 utils/adt/arrayfuncs.c:6042 #, c-format msgid "dimension array or low bound array cannot be null" msgstr "次元配列もしくは下限値配列が NULL であってはなりません" -#: utils/adt/arrayfuncs.c:6086 utils/adt/arrayfuncs.c:6112 +#: utils/adt/arrayfuncs.c:6105 utils/adt/arrayfuncs.c:6131 #, c-format msgid "Dimension array must be one dimensional." msgstr "次元配列は1次元でなければなりません" -#: utils/adt/arrayfuncs.c:6091 utils/adt/arrayfuncs.c:6117 +#: utils/adt/arrayfuncs.c:6110 utils/adt/arrayfuncs.c:6136 #, c-format msgid "dimension values cannot be null" msgstr "次元値にnullにはできません" -#: utils/adt/arrayfuncs.c:6123 +#: utils/adt/arrayfuncs.c:6142 #, c-format msgid "Low bound array has different size than dimensions array." msgstr "下限配列が次元配列のサイズと異なっています" -#: utils/adt/arrayfuncs.c:6404 +#: utils/adt/arrayfuncs.c:6423 #, c-format msgid "removing elements from multidimensional arrays is not supported" msgstr "多次元配列からの要素削除はサポートされません" -#: utils/adt/arrayfuncs.c:6681 +#: utils/adt/arrayfuncs.c:6700 #, c-format msgid "thresholds must be one-dimensional array" msgstr "閾値は1次元の配列でなければなりません" -#: utils/adt/arrayfuncs.c:6686 +#: utils/adt/arrayfuncs.c:6705 #, c-format msgid "thresholds array must not contain NULLs" msgstr "閾値配列にはNULL値を含めてはいけません" -#: utils/adt/arrayfuncs.c:6919 +#: utils/adt/arrayfuncs.c:6938 #, c-format msgid "number of elements to trim must be between 0 and %d" msgstr "削除する要素の数は0と%dとの間でなければなりません" @@ -24189,24 +24583,29 @@ msgid "encoding conversion from %s to ASCII not supported" msgstr "%s符号化方式からASCIIへの変換はサポートされていません" #. translator: first %s is inet or cidr -#: utils/adt/bool.c:149 utils/adt/cash.c:277 utils/adt/datetime.c:4142 utils/adt/float.c:200 utils/adt/float.c:287 utils/adt/float.c:301 utils/adt/float.c:406 utils/adt/float.c:489 utils/adt/float.c:503 utils/adt/geo_ops.c:250 utils/adt/geo_ops.c:335 utils/adt/geo_ops.c:974 utils/adt/geo_ops.c:1417 utils/adt/geo_ops.c:1454 utils/adt/geo_ops.c:1462 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:796 utils/adt/numeric.c:7206 utils/adt/numeric.c:7409 utils/adt/numeric.c:8356 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 utils/adt/tid.c:94 -#: utils/adt/tid.c:103 utils/adt/timestamp.c:510 utils/adt/uuid.c:140 utils/adt/xid8funcs.c:360 +#: utils/adt/bool.c:150 utils/adt/cash.c:354 utils/adt/datetime.c:4142 utils/adt/float.c:207 utils/adt/float.c:294 utils/adt/float.c:308 utils/adt/float.c:413 utils/adt/float.c:496 utils/adt/float.c:510 utils/adt/geo_ops.c:250 utils/adt/geo_ops.c:335 utils/adt/geo_ops.c:974 utils/adt/geo_ops.c:1417 utils/adt/geo_ops.c:1454 utils/adt/geo_ops.c:1462 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:804 utils/adt/numeric.c:7203 utils/adt/numeric.c:7406 utils/adt/numeric.c:8353 utils/adt/numutils.c:356 utils/adt/numutils.c:617 utils/adt/numutils.c:878 utils/adt/numutils.c:917 utils/adt/numutils.c:939 utils/adt/numutils.c:1003 utils/adt/numutils.c:1025 utils/adt/pg_lsn.c:73 utils/adt/tid.c:72 utils/adt/tid.c:80 utils/adt/tid.c:94 +#: utils/adt/tid.c:103 utils/adt/timestamp.c:511 utils/adt/uuid.c:140 utils/adt/xid8funcs.c:360 #, c-format msgid "invalid input syntax for type %s: \"%s\"" msgstr "\"%s\"型の入力構文が不正です: \"%s\"" -#: utils/adt/cash.c:215 utils/adt/cash.c:240 utils/adt/cash.c:250 utils/adt/cash.c:290 utils/adt/int.c:180 utils/adt/numutils.c:350 utils/adt/numutils.c:612 utils/adt/numutils.c:874 utils/adt/numutils.c:925 utils/adt/numutils.c:964 utils/adt/numutils.c:1011 +#: utils/adt/cash.c:98 utils/adt/cash.c:111 utils/adt/cash.c:124 utils/adt/cash.c:137 utils/adt/cash.c:150 #, c-format -msgid "value \"%s\" is out of range for type %s" -msgstr "値\"%s\"は型%sの範囲外です" +msgid "money out of range" +msgstr "マネー型の値が範囲外です" -#: utils/adt/cash.c:652 utils/adt/cash.c:702 utils/adt/cash.c:753 utils/adt/cash.c:802 utils/adt/cash.c:854 utils/adt/cash.c:904 utils/adt/float.c:99 utils/adt/int.c:843 utils/adt/int.c:959 utils/adt/int.c:1039 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:3176 utils/adt/numeric.c:3199 -#: utils/adt/numeric.c:3284 utils/adt/numeric.c:3302 utils/adt/numeric.c:3398 utils/adt/numeric.c:8905 utils/adt/numeric.c:9218 utils/adt/numeric.c:9566 utils/adt/numeric.c:9682 utils/adt/numeric.c:11192 utils/adt/timestamp.c:3713 +#: utils/adt/cash.c:161 utils/adt/cash.c:725 utils/adt/float.c:106 utils/adt/int.c:843 utils/adt/int.c:959 utils/adt/int.c:1039 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:3173 utils/adt/numeric.c:3196 utils/adt/numeric.c:3281 utils/adt/numeric.c:3299 utils/adt/numeric.c:3395 utils/adt/numeric.c:9278 +#: utils/adt/numeric.c:9802 utils/adt/numeric.c:9918 utils/adt/numeric.c:11429 utils/adt/timestamp.c:3706 #, c-format msgid "division by zero" msgstr "0 による除算が行われました" +#: utils/adt/cash.c:292 utils/adt/cash.c:317 utils/adt/cash.c:327 utils/adt/cash.c:367 utils/adt/int.c:180 utils/adt/numutils.c:350 utils/adt/numutils.c:611 utils/adt/numutils.c:872 utils/adt/numutils.c:923 utils/adt/numutils.c:962 utils/adt/numutils.c:1009 +#, c-format +msgid "value \"%s\" is out of range for type %s" +msgstr "値\"%s\"は型%sの範囲外です" + #: utils/adt/char.c:197 #, c-format msgid "\"char\" out of range" @@ -24217,7 +24616,7 @@ msgstr "\"char\"の範囲外です" msgid "could not compute %s hash: %s" msgstr "%sハッシュを計算できませんでした: %s" -#: utils/adt/date.c:64 utils/adt/timestamp.c:116 utils/adt/varbit.c:105 utils/adt/varchar.c:48 +#: utils/adt/date.c:64 utils/adt/timestamp.c:117 utils/adt/varbit.c:105 utils/adt/varchar.c:48 #, c-format msgid "invalid type modifier" msgstr "不正な型修飾子です。" @@ -24232,100 +24631,100 @@ msgstr "(%d)%sの精度は負ではいけません" msgid "TIME(%d)%s precision reduced to maximum allowed, %d" msgstr "TIME(%d)%sの位取りを許容最大値%dまで減らしました" -#: utils/adt/date.c:167 utils/adt/date.c:175 utils/adt/formatting.c:4424 utils/adt/formatting.c:4433 utils/adt/formatting.c:4538 utils/adt/formatting.c:4548 +#: utils/adt/date.c:167 utils/adt/date.c:175 utils/adt/formatting.c:4379 utils/adt/formatting.c:4388 utils/adt/formatting.c:4493 utils/adt/formatting.c:4503 #, c-format msgid "date out of range: \"%s\"" 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:2489 +#: utils/adt/date.c:222 utils/adt/date.c:532 utils/adt/date.c:556 utils/adt/rangetypes.c:1584 utils/adt/rangetypes.c:1599 utils/adt/xml.c:2552 #, c-format msgid "date out of range" msgstr "日付が範囲外です" -#: utils/adt/date.c:268 utils/adt/timestamp.c:598 +#: utils/adt/date.c:268 utils/adt/timestamp.c:599 #, c-format msgid "date field value out of range: %d-%02d-%02d" msgstr "日付フィールドの値が範囲外です: %d-%02d-%02d" -#: utils/adt/date.c:275 utils/adt/date.c:284 utils/adt/timestamp.c:604 +#: utils/adt/date.c:275 utils/adt/date.c:284 utils/adt/timestamp.c:605 #, c-format msgid "date out of range: %d-%02d-%02d" msgstr "日付が範囲外です: %d-%02d-%02d" -#: utils/adt/date.c:495 +#: utils/adt/date.c:507 #, c-format msgid "cannot subtract infinite dates" msgstr "無限大の日付は減算できません" -#: utils/adt/date.c:593 utils/adt/date.c:656 utils/adt/date.c:692 utils/adt/date.c:2906 utils/adt/date.c:2916 +#: utils/adt/date.c:605 utils/adt/date.c:668 utils/adt/date.c:704 utils/adt/date.c:2918 utils/adt/date.c:2928 #, c-format msgid "date out of range for timestamp" msgstr "タイムスタンプで日付が範囲外です" -#: utils/adt/date.c:1122 utils/adt/date.c:1205 utils/adt/date.c:1221 utils/adt/date.c:2215 utils/adt/date.c:3011 utils/adt/timestamp.c:4726 utils/adt/timestamp.c:4941 utils/adt/timestamp.c:5089 utils/adt/timestamp.c:5342 utils/adt/timestamp.c:5543 utils/adt/timestamp.c:5590 utils/adt/timestamp.c:5814 utils/adt/timestamp.c:5861 utils/adt/timestamp.c:5941 utils/adt/timestamp.c:6070 +#: utils/adt/date.c:1134 utils/adt/date.c:1217 utils/adt/date.c:1233 utils/adt/date.c:2227 utils/adt/date.c:3023 utils/adt/timestamp.c:4719 utils/adt/timestamp.c:4934 utils/adt/timestamp.c:5082 utils/adt/timestamp.c:5335 utils/adt/timestamp.c:5536 utils/adt/timestamp.c:5583 utils/adt/timestamp.c:5807 utils/adt/timestamp.c:5854 utils/adt/timestamp.c:5935 utils/adt/timestamp.c:6079 #, c-format msgid "unit \"%s\" not supported for type %s" msgstr "単位\"%s\"は型%sに対してはサポートされていません" -#: utils/adt/date.c:1230 utils/adt/date.c:2231 utils/adt/date.c:3031 utils/adt/timestamp.c:4740 utils/adt/timestamp.c:4958 utils/adt/timestamp.c:5103 utils/adt/timestamp.c:5302 utils/adt/timestamp.c:5599 utils/adt/timestamp.c:5870 utils/adt/timestamp.c:5911 utils/adt/timestamp.c:6131 +#: utils/adt/date.c:1242 utils/adt/date.c:2243 utils/adt/date.c:3043 utils/adt/timestamp.c:4733 utils/adt/timestamp.c:4951 utils/adt/timestamp.c:5096 utils/adt/timestamp.c:5295 utils/adt/timestamp.c:5592 utils/adt/timestamp.c:5863 utils/adt/timestamp.c:5904 utils/adt/timestamp.c:6140 #, c-format msgid "unit \"%s\" not recognized for type %s" msgstr "単位\"%s\"は型%sに対しては認識できません" -#: utils/adt/date.c:1314 utils/adt/date.c:1360 utils/adt/date.c:1919 utils/adt/date.c:1950 utils/adt/date.c:1979 utils/adt/date.c:2869 utils/adt/date.c:3101 utils/adt/datetime.c:422 utils/adt/datetime.c:1807 utils/adt/formatting.c:4269 utils/adt/formatting.c:4305 utils/adt/formatting.c:4392 utils/adt/formatting.c:4514 utils/adt/json.c:366 utils/adt/json.c:405 utils/adt/timestamp.c:248 utils/adt/timestamp.c:280 utils/adt/timestamp.c:716 utils/adt/timestamp.c:725 -#: utils/adt/timestamp.c:803 utils/adt/timestamp.c:836 utils/adt/timestamp.c:3066 utils/adt/timestamp.c:3075 utils/adt/timestamp.c:3092 utils/adt/timestamp.c:3097 utils/adt/timestamp.c:3116 utils/adt/timestamp.c:3129 utils/adt/timestamp.c:3140 utils/adt/timestamp.c:3146 utils/adt/timestamp.c:3152 utils/adt/timestamp.c:3157 utils/adt/timestamp.c:3210 utils/adt/timestamp.c:3219 utils/adt/timestamp.c:3240 utils/adt/timestamp.c:3245 utils/adt/timestamp.c:3266 -#: utils/adt/timestamp.c:3279 utils/adt/timestamp.c:3293 utils/adt/timestamp.c:3301 utils/adt/timestamp.c:3307 utils/adt/timestamp.c:3312 utils/adt/timestamp.c:4380 utils/adt/timestamp.c:4532 utils/adt/timestamp.c:4608 utils/adt/timestamp.c:4644 utils/adt/timestamp.c:4734 utils/adt/timestamp.c:4813 utils/adt/timestamp.c:4849 utils/adt/timestamp.c:4952 utils/adt/timestamp.c:5407 utils/adt/timestamp.c:5681 utils/adt/timestamp.c:6199 utils/adt/timestamp.c:6209 -#: utils/adt/timestamp.c:6214 utils/adt/timestamp.c:6220 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:2511 utils/adt/xml.c:2518 utils/adt/xml.c:2538 utils/adt/xml.c:2545 +#: utils/adt/date.c:1326 utils/adt/date.c:1372 utils/adt/date.c:1931 utils/adt/date.c:1962 utils/adt/date.c:1991 utils/adt/date.c:2881 utils/adt/date.c:3113 utils/adt/datetime.c:422 utils/adt/datetime.c:1807 utils/adt/formatting.c:4224 utils/adt/formatting.c:4260 utils/adt/formatting.c:4347 utils/adt/formatting.c:4469 utils/adt/json.c:375 utils/adt/json.c:414 utils/adt/timestamp.c:249 utils/adt/timestamp.c:281 utils/adt/timestamp.c:706 utils/adt/timestamp.c:715 +#: utils/adt/timestamp.c:793 utils/adt/timestamp.c:826 utils/adt/timestamp.c:3059 utils/adt/timestamp.c:3068 utils/adt/timestamp.c:3085 utils/adt/timestamp.c:3090 utils/adt/timestamp.c:3109 utils/adt/timestamp.c:3122 utils/adt/timestamp.c:3133 utils/adt/timestamp.c:3139 utils/adt/timestamp.c:3145 utils/adt/timestamp.c:3150 utils/adt/timestamp.c:3203 utils/adt/timestamp.c:3212 utils/adt/timestamp.c:3233 utils/adt/timestamp.c:3238 utils/adt/timestamp.c:3259 +#: utils/adt/timestamp.c:3272 utils/adt/timestamp.c:3286 utils/adt/timestamp.c:3294 utils/adt/timestamp.c:3300 utils/adt/timestamp.c:3305 utils/adt/timestamp.c:4373 utils/adt/timestamp.c:4525 utils/adt/timestamp.c:4601 utils/adt/timestamp.c:4637 utils/adt/timestamp.c:4727 utils/adt/timestamp.c:4806 utils/adt/timestamp.c:4842 utils/adt/timestamp.c:4945 utils/adt/timestamp.c:5400 utils/adt/timestamp.c:5674 utils/adt/timestamp.c:6208 utils/adt/timestamp.c:6218 +#: utils/adt/timestamp.c:6223 utils/adt/timestamp.c:6229 utils/adt/timestamp.c:6269 utils/adt/timestamp.c:6356 utils/adt/timestamp.c:6397 utils/adt/timestamp.c:6401 utils/adt/timestamp.c:6455 utils/adt/timestamp.c:6459 utils/adt/timestamp.c:6465 utils/adt/timestamp.c:6506 utils/adt/xml.c:2574 utils/adt/xml.c:2581 utils/adt/xml.c:2601 utils/adt/xml.c:2608 #, c-format msgid "timestamp out of range" msgstr "timestampの範囲外です" -#: utils/adt/date.c:1536 utils/adt/date.c:2352 utils/adt/formatting.c:4597 +#: utils/adt/date.c:1548 utils/adt/date.c:2364 utils/adt/formatting.c:4552 #, c-format msgid "time out of range" msgstr "時刻が範囲外です" -#: utils/adt/date.c:1588 utils/adt/timestamp.c:613 +#: utils/adt/date.c:1600 utils/adt/timestamp.c:614 #, c-format msgid "time field value out of range: %d:%02d:%02g" msgstr "時刻フィールドの値が範囲外です: %d:%02d:%02g" -#: utils/adt/date.c:2020 +#: utils/adt/date.c:2032 #, c-format msgid "cannot convert infinite interval to time" msgstr "無限大のintervalはtimeに変換できません" -#: utils/adt/date.c:2061 utils/adt/date.c:2605 +#: utils/adt/date.c:2073 utils/adt/date.c:2617 #, c-format msgid "cannot add infinite interval to time" msgstr "無限大のintervalのtimeへの加算はできません" -#: utils/adt/date.c:2084 utils/adt/date.c:2632 +#: utils/adt/date.c:2096 utils/adt/date.c:2644 #, c-format msgid "cannot subtract infinite interval from time" msgstr "無限大のintervalのtimeからの減算できません" -#: 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:2580 utils/adt/timestamp.c:3810 utils/adt/timestamp.c:3847 utils/adt/timestamp.c:3888 +#: utils/adt/date.c:2127 utils/adt/date.c:2679 utils/adt/float.c:1043 utils/adt/float.c:1119 utils/adt/int.c:635 utils/adt/int.c:682 utils/adt/int.c:717 utils/adt/int8.c:413 utils/adt/numeric.c:2577 utils/adt/timestamp.c:3803 utils/adt/timestamp.c:3840 utils/adt/timestamp.c:3881 #, c-format msgid "invalid preceding or following size in window function" msgstr "ウィンドウ関数での不正なサイズの PRECEDING または FOLLOWING 指定" -#: utils/adt/date.c:2360 +#: utils/adt/date.c:2372 #, c-format msgid "time zone displacement out of range" msgstr "タイムゾーンの置換が範囲外です" -#: utils/adt/date.c:3132 utils/adt/timestamp.c:6242 utils/adt/timestamp.c:6479 +#: utils/adt/date.c:3144 utils/adt/timestamp.c:6251 utils/adt/timestamp.c:6488 #, c-format msgid "interval time zone \"%s\" must be finite" msgstr "タイムゾーンのインターバル\"%s\"は有限でなければなりません" -#: utils/adt/date.c:3139 utils/adt/timestamp.c:6249 utils/adt/timestamp.c:6486 +#: utils/adt/date.c:3151 utils/adt/timestamp.c:6258 utils/adt/timestamp.c:6495 #, c-format msgid "interval time zone \"%s\" must not include months or days" msgstr "intervalによるタイムゾーン\"%s\"には月または日を含めてはいけません" -#: utils/adt/datetime.c:3232 utils/adt/datetime.c:4127 utils/adt/datetime.c:4133 utils/adt/timestamp.c:528 +#: utils/adt/datetime.c:3232 utils/adt/datetime.c:4127 utils/adt/datetime.c:4133 utils/adt/timestamp.c:529 #, c-format msgid "time zone \"%s\" not recognized" msgstr "タイムゾーン\"%s\"は不明です" @@ -24337,8 +24736,8 @@ msgstr "日付時刻のフィールドが範囲外です: \"%s\"" #: utils/adt/datetime.c:4110 #, c-format -msgid "Perhaps you need a different \"datestyle\" setting." -msgstr "他の\"datestyle\"設定が必要かもしれません。" +msgid "Perhaps you need a different \"DateStyle\" setting." +msgstr "他の\"DateStyle\"設定が必要かもしれません。" #: utils/adt/datetime.c:4115 #, c-format @@ -24360,17 +24759,17 @@ msgstr "このタイムゾーンはタイムゾーン省略名\"%s\"の構成フ msgid "invalid Datum pointer" msgstr "不正なDatumポインタ" -#: utils/adt/dbsize.c:760 utils/adt/dbsize.c:836 +#: utils/adt/dbsize.c:764 utils/adt/dbsize.c:840 #, c-format msgid "invalid size: \"%s\"" msgstr "不正なサイズ: \"%s\"" -#: utils/adt/dbsize.c:837 +#: utils/adt/dbsize.c:841 #, c-format msgid "Invalid size unit: \"%s\"." msgstr "不正なサイズの単位: \"%s\"" -#: utils/adt/dbsize.c:838 +#: utils/adt/dbsize.c:842 #, c-format msgid "Valid units are \"bytes\", \"B\", \"kB\", \"MB\", \"GB\", \"TB\", and \"PB\"." msgstr "有効な単位は \"bytes\"、\"B\"、\"kB\"、\"MB\"、\"GB\"、\"TB\"そして\"PB\"です。" @@ -24455,77 +24854,77 @@ msgstr "実際の列挙型を特定できませんでした" msgid "enum %s contains no values" msgstr "列挙型 %s に値がありません" -#: utils/adt/float.c:83 +#: utils/adt/float.c:90 #, c-format msgid "value out of range: overflow" msgstr "範囲外の値です: オーバーフロー" -#: utils/adt/float.c:91 +#: utils/adt/float.c:98 #, c-format msgid "value out of range: underflow" msgstr "範囲外の値です: アンダーフロー" -#: utils/adt/float.c:280 +#: utils/adt/float.c:287 #, c-format msgid "\"%s\" is out of range for type real" msgstr "型realでは\"%s\"は範囲外です" -#: utils/adt/float.c:482 +#: utils/adt/float.c:489 #, c-format msgid "\"%s\" is out of range for type double precision" msgstr "型double precisionでは\"%s\"は範囲外です" -#: 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:4578 utils/adt/numeric.c:4583 +#: utils/adt/float.c:1254 utils/adt/float.c:1328 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:4575 utils/adt/numeric.c:4580 #, c-format msgid "smallint out of range" msgstr "smallintの範囲外です" -#: utils/adt/float.c:1447 utils/adt/numeric.c:3694 utils/adt/numeric.c:10097 +#: utils/adt/float.c:1454 utils/adt/numeric.c:3691 utils/adt/numeric.c:10333 #, c-format msgid "cannot take square root of a negative number" msgstr "負の値の平方根を取ることができません" -#: utils/adt/float.c:1515 utils/adt/numeric.c:3982 utils/adt/numeric.c:4094 +#: utils/adt/float.c:1522 utils/adt/numeric.c:3979 utils/adt/numeric.c:4091 #, c-format msgid "zero raised to a negative power is undefined" msgstr "0 の負数乗は定義されていません" -#: utils/adt/float.c:1519 utils/adt/numeric.c:3986 utils/adt/numeric.c:10988 +#: utils/adt/float.c:1526 utils/adt/numeric.c:3983 utils/adt/numeric.c:11224 #, 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:3894 utils/adt/numeric.c:10768 +#: utils/adt/float.c:1702 utils/adt/float.c:1735 utils/adt/numeric.c:3891 utils/adt/numeric.c:11004 #, c-format msgid "cannot take logarithm of zero" msgstr "ゼロの対数を取ることができません" -#: utils/adt/float.c:1699 utils/adt/float.c:1732 utils/adt/numeric.c:3832 utils/adt/numeric.c:3889 utils/adt/numeric.c:10772 +#: utils/adt/float.c:1706 utils/adt/float.c:1739 utils/adt/numeric.c:3829 utils/adt/numeric.c:3886 utils/adt/numeric.c:11008 #, c-format msgid "cannot take logarithm of a negative number" msgstr "負の値の対数を取ることができません" -#: utils/adt/float.c:1765 utils/adt/float.c:1796 utils/adt/float.c:1891 utils/adt/float.c:1918 utils/adt/float.c:1946 utils/adt/float.c:1973 utils/adt/float.c:2120 utils/adt/float.c:2157 utils/adt/float.c:2327 utils/adt/float.c:2383 utils/adt/float.c:2448 utils/adt/float.c:2505 utils/adt/float.c:2696 utils/adt/float.c:2720 +#: utils/adt/float.c:1772 utils/adt/float.c:1803 utils/adt/float.c:1898 utils/adt/float.c:1925 utils/adt/float.c:1953 utils/adt/float.c:1980 utils/adt/float.c:2127 utils/adt/float.c:2164 utils/adt/float.c:2334 utils/adt/float.c:2390 utils/adt/float.c:2455 utils/adt/float.c:2512 utils/adt/float.c:2703 utils/adt/float.c:2727 #, c-format msgid "input is out of range" msgstr "入力が範囲外です" -#: utils/adt/float.c:4000 utils/adt/numeric.c:1842 +#: utils/adt/float.c:3997 utils/adt/numeric.c:1858 #, c-format msgid "count must be greater than zero" msgstr "カウントは0より大きくなければなりません" -#: utils/adt/float.c:4005 utils/adt/numeric.c:1853 +#: utils/adt/float.c:4002 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:1858 +#: utils/adt/float.c:4008 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:1872 +#: utils/adt/float.c:4074 utils/adt/numeric.c:1888 #, c-format msgid "lower bound cannot equal upper bound" msgstr "下限を上限と同じにできません" @@ -24625,162 +25024,162 @@ msgstr "\"%s\"は数値ではありません" msgid "case conversion failed: %s" msgstr "文字ケースの変換に失敗しました: %s" -#: utils/adt/formatting.c:1651 utils/adt/formatting.c:1799 utils/adt/formatting.c:1989 +#: utils/adt/formatting.c:1652 utils/adt/formatting.c:1789 utils/adt/formatting.c:1968 #, c-format msgid "could not determine which collation to use for %s function" msgstr "%s 関数に対して使用する照合順序を特定できませんでした" -#: utils/adt/formatting.c:2410 +#: utils/adt/formatting.c:2365 #, c-format msgid "invalid combination of date conventions" msgstr "不正な暦法の組み合わせ" -#: utils/adt/formatting.c:2411 +#: utils/adt/formatting.c:2366 #, c-format msgid "Do not mix Gregorian and ISO week date conventions in a formatting template." msgstr "単一の書式テンプレートの中では、グレゴリオ暦とISO歴週日付を混在させないでください。" -#: utils/adt/formatting.c:2433 +#: utils/adt/formatting.c:2388 #, c-format msgid "conflicting values for \"%s\" field in formatting string" msgstr "書式文字列中で\"%s\"フィールドの値が衝突しています" -#: utils/adt/formatting.c:2435 +#: utils/adt/formatting.c:2390 #, c-format msgid "This value contradicts a previous setting for the same field type." msgstr "この値は同じフィールド型に対する以前の設定と矛盾しています" -#: utils/adt/formatting.c:2502 +#: utils/adt/formatting.c:2457 #, c-format msgid "source string too short for \"%s\" formatting field" msgstr "書式フィールド\"%s\"に対して元の文字列が短すぎます" -#: utils/adt/formatting.c:2504 +#: utils/adt/formatting.c:2459 #, c-format msgid "Field requires %d characters, but only %d remain." msgstr "フィールドには%d文字必要ですが、%d文字しか残っていません。" -#: utils/adt/formatting.c:2506 utils/adt/formatting.c:2520 +#: utils/adt/formatting.c:2461 utils/adt/formatting.c:2475 #, c-format msgid "If your source string is not fixed-width, try using the \"FM\" modifier." msgstr "元の文字列が固定長でない場合は、修飾子\"FM\"を試してみてください。" -#: utils/adt/formatting.c:2516 utils/adt/formatting.c:2529 utils/adt/formatting.c:2750 utils/adt/formatting.c:3650 +#: utils/adt/formatting.c:2471 utils/adt/formatting.c:2484 utils/adt/formatting.c:2705 utils/adt/formatting.c:3605 #, c-format msgid "invalid value \"%s\" for \"%s\"" msgstr "\"%2$s\"に対する不正な値\"%1$s\"" -#: utils/adt/formatting.c:2518 +#: utils/adt/formatting.c:2473 #, c-format msgid "Field requires %d characters, but only %d could be parsed." msgstr "このフィールドには%d文字必要ですが、%d文字しかパースされませんでした。" -#: utils/adt/formatting.c:2531 +#: utils/adt/formatting.c:2486 #, c-format msgid "Value must be an integer." msgstr "値は整数でなければなりません。" -#: utils/adt/formatting.c:2536 +#: utils/adt/formatting.c:2491 #, c-format msgid "value for \"%s\" in source string is out of range" msgstr "もとの文字列において\"%s\"に対応する値が範囲外です" -#: utils/adt/formatting.c:2538 +#: utils/adt/formatting.c:2493 #, c-format msgid "Value must be in the range %d to %d." msgstr "値は%dから%dまでの範囲でなければなりません。" -#: utils/adt/formatting.c:2752 +#: utils/adt/formatting.c:2707 #, c-format msgid "The given value did not match any of the allowed values for this field." msgstr "与えられた値がこの項目に対して許されるいずれの値ともマッチしません。" -#: utils/adt/formatting.c:2968 utils/adt/formatting.c:2988 utils/adt/formatting.c:3008 utils/adt/formatting.c:3028 utils/adt/formatting.c:3047 utils/adt/formatting.c:3066 utils/adt/formatting.c:3090 utils/adt/formatting.c:3108 utils/adt/formatting.c:3126 utils/adt/formatting.c:3144 utils/adt/formatting.c:3161 utils/adt/formatting.c:3178 +#: utils/adt/formatting.c:2923 utils/adt/formatting.c:2943 utils/adt/formatting.c:2963 utils/adt/formatting.c:2983 utils/adt/formatting.c:3002 utils/adt/formatting.c:3021 utils/adt/formatting.c:3045 utils/adt/formatting.c:3063 utils/adt/formatting.c:3081 utils/adt/formatting.c:3099 utils/adt/formatting.c:3116 utils/adt/formatting.c:3133 #, c-format msgid "localized string format value too long" msgstr "地域化した文字列のフォーマットが長すぎます" -#: utils/adt/formatting.c:3458 +#: utils/adt/formatting.c:3413 #, c-format msgid "unmatched format separator \"%c\"" msgstr "合致しないフォーマットセパレータ \"%c\"" -#: utils/adt/formatting.c:3519 +#: utils/adt/formatting.c:3474 #, c-format msgid "unmatched format character \"%s\"" msgstr "合致しないフォーマット文字\"%s\"" -#: utils/adt/formatting.c:3652 +#: utils/adt/formatting.c:3607 #, c-format msgid "Time zone abbreviation is not recognized." msgstr "タイムゾーン省略名が認識されません。" -#: utils/adt/formatting.c:3853 +#: utils/adt/formatting.c:3808 #, c-format msgid "invalid input string for \"Y,YYY\"" msgstr " \"Y,YYY\"に対応する入力文字列が不正です" -#: utils/adt/formatting.c:3942 +#: utils/adt/formatting.c:3897 #, c-format msgid "input string is too short for datetime format" msgstr "datetime書式に対して入力文字列が短すぎます" -#: utils/adt/formatting.c:3950 +#: utils/adt/formatting.c:3905 #, c-format msgid "trailing characters remain in input string after datetime format" msgstr "datetimeフォーマット後に文字が入力文字列中に残っています" -#: utils/adt/formatting.c:4494 +#: utils/adt/formatting.c:4449 #, c-format msgid "missing time zone in input string for type timestamptz" msgstr "timestamptz型に対応する入力に時間帯がありません" -#: utils/adt/formatting.c:4500 +#: utils/adt/formatting.c:4455 #, c-format msgid "timestamptz out of range" msgstr "timestamptzの範囲外です" -#: utils/adt/formatting.c:4528 +#: utils/adt/formatting.c:4483 #, c-format msgid "datetime format is zoned but not timed" msgstr "datetimeフォーマットで時間帯は指定されていますが、時刻が指定されていません" -#: utils/adt/formatting.c:4577 +#: utils/adt/formatting.c:4532 #, c-format msgid "missing time zone in input string for type timetz" msgstr "timetz型に対する入力文字列中に時間帯がありません" -#: utils/adt/formatting.c:4583 +#: utils/adt/formatting.c:4538 #, c-format msgid "timetz out of range" msgstr "timetzの範囲外です" -#: utils/adt/formatting.c:4609 +#: utils/adt/formatting.c:4564 #, c-format msgid "datetime format is not dated and not timed" msgstr "datetimeフォーマットで日付は指定されていますが、時間が指定されていません" -#: utils/adt/formatting.c:4786 +#: utils/adt/formatting.c:4741 #, c-format msgid "hour \"%d\" is invalid for the 12-hour clock" msgstr "12時間形式では\"%d\"時は不正です" -#: utils/adt/formatting.c:4788 +#: utils/adt/formatting.c:4743 #, c-format msgid "Use the 24-hour clock, or give an hour between 1 and 12." msgstr "24時間形式を使うか、もしくは 1 から 12 の間で指定してください。" -#: utils/adt/formatting.c:4900 +#: utils/adt/formatting.c:4855 #, c-format msgid "cannot calculate day of year without year information" msgstr "年の情報なしでは年内の日数は計算できません" -#: utils/adt/formatting.c:5852 +#: utils/adt/formatting.c:5822 #, c-format msgid "\"EEEE\" not supported for input" msgstr "\"EEEE\"は入力としてサポートしていません" -#: utils/adt/formatting.c:5864 +#: utils/adt/formatting.c:5834 #, c-format msgid "\"RN\" not supported for input" msgstr "\"RN\"は入力としてサポートしていません" @@ -24865,13 +25264,13 @@ msgstr "少なくとも2ポイントを要求しなければなりません" msgid "invalid int2vector data" msgstr "不正なint2vectorデータ" -#: utils/adt/int.c:1529 utils/adt/int8.c:1403 utils/adt/numeric.c:1750 utils/adt/timestamp.c:6546 utils/adt/timestamp.c:6632 +#: utils/adt/int.c:1529 utils/adt/int8.c:1403 utils/adt/numeric.c:1766 utils/adt/timestamp.c:6555 utils/adt/timestamp.c:6641 #, c-format msgid "step size cannot equal zero" msgstr "ステップ数をゼロにすることはできません" #: utils/adt/int8.c:448 utils/adt/int8.c:471 utils/adt/int8.c:485 utils/adt/int8.c:499 utils/adt/int8.c:530 utils/adt/int8.c:554 utils/adt/int8.c:636 utils/adt/int8.c:704 utils/adt/int8.c:710 utils/adt/int8.c:736 utils/adt/int8.c:750 utils/adt/int8.c:774 utils/adt/int8.c:787 utils/adt/int8.c:899 utils/adt/int8.c:913 utils/adt/int8.c:927 utils/adt/int8.c:958 utils/adt/int8.c:980 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:4527 utils/adt/rangetypes.c:1535 utils/adt/rangetypes.c:1548 utils/adt/varbit.c:1676 +#: 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:4524 utils/adt/rangetypes.c:1535 utils/adt/rangetypes.c:1548 utils/adt/varbit.c:1676 #, c-format msgid "bigint out of range" msgstr "bigintの範囲外です" @@ -24881,48 +25280,48 @@ msgstr "bigintの範囲外です" msgid "OID out of range" msgstr "OIDの範囲外です" -#: utils/adt/json.c:202 utils/adt/jsonb.c:664 +#: utils/adt/json.c:204 utils/adt/jsonb.c:664 #, c-format msgid "key value must be scalar, not array, composite, or json" msgstr "キー値は配列でも複合型でもJSONでもなく、スカラでなくてはなりません" -#: utils/adt/json.c:1034 utils/adt/json.c:1044 utils/fmgr/funcapi.c:2090 +#: utils/adt/json.c:1043 utils/adt/json.c:1053 utils/fmgr/funcapi.c:2090 #, c-format msgid "could not determine data type for argument %d" msgstr "引数%dのデータ型が特定できませんでした" -#: utils/adt/json.c:1067 utils/adt/json.c:1259 utils/adt/json.c:1435 utils/adt/json.c:1513 utils/adt/jsonb.c:1333 utils/adt/jsonb.c:1423 +#: utils/adt/json.c:1076 utils/adt/json.c:1275 utils/adt/json.c:1457 utils/adt/json.c:1531 utils/adt/jsonb.c:1333 utils/adt/jsonb.c:1423 #, c-format msgid "null value not allowed for object key" msgstr "オブジェクトキーにnullは使えません" -#: utils/adt/json.c:1110 utils/adt/json.c:1274 +#: utils/adt/json.c:1126 utils/adt/json.c:1297 #, c-format msgid "duplicate JSON object key value: %s" msgstr "JSONオブジェクトキー値の重複: %s" -#: utils/adt/json.c:1219 utils/adt/jsonb.c:1134 +#: utils/adt/json.c:1235 utils/adt/jsonb.c:1134 #, c-format msgid "argument list must have even number of elements" msgstr "引数リストの要素数は偶数でなければなりません" #. translator: %s is a SQL function name -#: utils/adt/json.c:1221 utils/adt/jsonb.c:1136 +#: utils/adt/json.c:1237 utils/adt/jsonb.c:1136 #, c-format msgid "The arguments of %s must consist of alternating keys and values." msgstr "%s の引数ではキーと値が交互になっている必要があります。" -#: utils/adt/json.c:1413 utils/adt/jsonb.c:1311 +#: utils/adt/json.c:1435 utils/adt/jsonb.c:1311 #, c-format msgid "array must have two columns" msgstr "配列は最低でも2つの列が必要です" -#: utils/adt/json.c:1502 utils/adt/jsonb.c:1412 +#: utils/adt/json.c:1520 utils/adt/jsonb.c:1412 #, c-format msgid "mismatched array dimensions" msgstr "配列の次元が合っていません" -#: utils/adt/json.c:1688 utils/adt/jsonb_util.c:1956 +#: utils/adt/json.c:1850 utils/adt/jsonb_util.c:1956 #, c-format msgid "duplicate JSON object key value" msgstr "JSONオブジェクトキー値の重複" @@ -25037,204 +25436,204 @@ msgstr "jsonb添字はテキスト型でなければなりません" msgid "jsonb subscript in assignment must not be null" msgstr "代入におけるjsonb添え字はnullにはできません" -#: utils/adt/jsonfuncs.c:582 utils/adt/jsonfuncs.c:829 utils/adt/jsonfuncs.c:2438 utils/adt/jsonfuncs.c:3013 utils/adt/jsonfuncs.c:3926 utils/adt/jsonfuncs.c:4273 +#: utils/adt/jsonfuncs.c:584 utils/adt/jsonfuncs.c:831 utils/adt/jsonfuncs.c:2440 utils/adt/jsonfuncs.c:3016 utils/adt/jsonfuncs.c:3949 utils/adt/jsonfuncs.c:4296 #, c-format msgid "cannot call %s on a scalar" msgstr "スカラに対して%sを呼び出すことはできません" -#: utils/adt/jsonfuncs.c:587 utils/adt/jsonfuncs.c:814 utils/adt/jsonfuncs.c:3015 utils/adt/jsonfuncs.c:3913 +#: utils/adt/jsonfuncs.c:589 utils/adt/jsonfuncs.c:816 utils/adt/jsonfuncs.c:3018 utils/adt/jsonfuncs.c:3936 #, c-format msgid "cannot call %s on an array" msgstr "配列に対して%sを呼び出すことはできません" -#: utils/adt/jsonfuncs.c:723 +#: utils/adt/jsonfuncs.c:725 #, c-format msgid "JSON data, line %d: %s%s%s" msgstr "JSONデータ、%d行目: %s%s%s" -#: utils/adt/jsonfuncs.c:1882 utils/adt/jsonfuncs.c:1919 +#: utils/adt/jsonfuncs.c:1884 utils/adt/jsonfuncs.c:1921 #, c-format msgid "cannot get array length of a scalar" msgstr "スカラから配列長を得ることはできません" -#: utils/adt/jsonfuncs.c:1886 utils/adt/jsonfuncs.c:1905 +#: utils/adt/jsonfuncs.c:1888 utils/adt/jsonfuncs.c:1907 #, c-format msgid "cannot get array length of a non-array" msgstr "配列では無いものから配列長を得ることはできません" -#: utils/adt/jsonfuncs.c:1985 +#: utils/adt/jsonfuncs.c:1987 #, c-format msgid "cannot call %s on a non-object" msgstr "非オブジェクトに対して%sは呼び出せません" -#: utils/adt/jsonfuncs.c:2173 +#: utils/adt/jsonfuncs.c:2175 #, c-format msgid "cannot deconstruct an array as an object" msgstr "配列をオブジェクトとして再構築することはできません" -#: utils/adt/jsonfuncs.c:2187 +#: utils/adt/jsonfuncs.c:2189 #, c-format msgid "cannot deconstruct a scalar" msgstr "スカラを再構築することはできません" -#: utils/adt/jsonfuncs.c:2232 +#: utils/adt/jsonfuncs.c:2234 #, c-format msgid "cannot extract elements from a scalar" msgstr "スカラから要素を取り出すことはできません" -#: utils/adt/jsonfuncs.c:2236 +#: utils/adt/jsonfuncs.c:2238 #, c-format msgid "cannot extract elements from an object" msgstr "オブジェクトから要素を取り出すことはできません" -#: utils/adt/jsonfuncs.c:2423 utils/adt/jsonfuncs.c:4151 +#: utils/adt/jsonfuncs.c:2425 utils/adt/jsonfuncs.c:4174 #, c-format msgid "cannot call %s on a non-array" msgstr "非配列に対して%sを呼び出すことはできません" -#: utils/adt/jsonfuncs.c:2514 utils/adt/jsonfuncs.c:2519 utils/adt/jsonfuncs.c:2537 utils/adt/jsonfuncs.c:2543 +#: utils/adt/jsonfuncs.c:2516 utils/adt/jsonfuncs.c:2521 utils/adt/jsonfuncs.c:2539 utils/adt/jsonfuncs.c:2545 #, c-format msgid "expected JSON array" msgstr "JSON配列を期待していました" -#: utils/adt/jsonfuncs.c:2515 +#: utils/adt/jsonfuncs.c:2517 #, c-format msgid "See the value of key \"%s\"." msgstr "キー\"%s\"の値を見てください。" -#: utils/adt/jsonfuncs.c:2538 +#: utils/adt/jsonfuncs.c:2540 #, c-format msgid "See the array element %s of key \"%s\"." msgstr "キー\"%s\"の配列要素%sを見てください。" -#: utils/adt/jsonfuncs.c:2544 +#: utils/adt/jsonfuncs.c:2546 #, c-format msgid "See the array element %s." msgstr "配列要素%sを見てください。" -#: utils/adt/jsonfuncs.c:2596 +#: utils/adt/jsonfuncs.c:2598 #, c-format msgid "malformed JSON array" msgstr "不正な形式のJSON配列" #. translator: %s is a function name, eg json_to_record -#: utils/adt/jsonfuncs.c:3625 +#: utils/adt/jsonfuncs.c:3648 #, c-format msgid "first argument of %s must be a row type" msgstr "%sの最初の引数は行型でなければなりません" #. translator: %s is a function name, eg json_to_record -#: utils/adt/jsonfuncs.c:3649 +#: utils/adt/jsonfuncs.c:3672 #, c-format msgid "could not determine row type for result of %s" msgstr "%sの結果に対応する行の型を決定できませんでした" -#: utils/adt/jsonfuncs.c:3651 +#: utils/adt/jsonfuncs.c:3674 #, c-format msgid "Provide a non-null record argument, or call the function in the FROM clause using a column definition list." msgstr "非NULLのレコード引数を与えるか、列定義リストを用いてこの関数をFROM句中で呼び出してください。" -#: utils/adt/jsonfuncs.c:4037 utils/fmgr/funcapi.c:94 +#: utils/adt/jsonfuncs.c:4060 utils/fmgr/funcapi.c:94 #, c-format msgid "materialize mode required, but it is not allowed in this context" msgstr "マテリアライズモードが必要ですが、現在のコンテクストで禁止されています" -#: utils/adt/jsonfuncs.c:4168 utils/adt/jsonfuncs.c:4252 +#: utils/adt/jsonfuncs.c:4191 utils/adt/jsonfuncs.c:4275 #, c-format msgid "argument of %s must be an array of objects" msgstr "%sの引数はオブジェクト配列でなければなりません" -#: utils/adt/jsonfuncs.c:4201 +#: utils/adt/jsonfuncs.c:4224 #, c-format msgid "cannot call %s on an object" msgstr "オブジェクトに対して%sを呼び出すことはできません" -#: utils/adt/jsonfuncs.c:4634 utils/adt/jsonfuncs.c:4693 utils/adt/jsonfuncs.c:4773 +#: utils/adt/jsonfuncs.c:4657 utils/adt/jsonfuncs.c:4716 utils/adt/jsonfuncs.c:4796 #, c-format msgid "cannot delete from scalar" msgstr "スカラから削除することはできません" -#: utils/adt/jsonfuncs.c:4778 +#: utils/adt/jsonfuncs.c:4801 #, c-format msgid "cannot delete from object using integer index" msgstr "オブジェクトから整数添字を使って削除することはできません" -#: utils/adt/jsonfuncs.c:4846 utils/adt/jsonfuncs.c:5005 +#: utils/adt/jsonfuncs.c:4869 utils/adt/jsonfuncs.c:5028 #, c-format msgid "cannot set path in scalar" msgstr "スカラにパスを設定することはできません" -#: utils/adt/jsonfuncs.c:4887 utils/adt/jsonfuncs.c:4929 +#: utils/adt/jsonfuncs.c:4910 utils/adt/jsonfuncs.c:4952 #, c-format msgid "null_value_treatment must be \"delete_key\", \"return_target\", \"use_json_null\", or \"raise_exception\"" msgstr "null_value_treatment は \"delete_key\", \"return_target\", \"use_json_null\" または \"raise_exception\"である必要があります" -#: utils/adt/jsonfuncs.c:4900 +#: utils/adt/jsonfuncs.c:4923 #, c-format msgid "JSON value must not be null" msgstr "JSON値はnullではあってはなりません" -#: utils/adt/jsonfuncs.c:4901 +#: utils/adt/jsonfuncs.c:4924 #, c-format msgid "Exception was raised because null_value_treatment is \"raise_exception\"." msgstr "null_value_treatmentが\"raise_exception\"であるため、例外が出力されました" -#: utils/adt/jsonfuncs.c:4902 +#: utils/adt/jsonfuncs.c:4925 #, c-format msgid "To avoid, either change the null_value_treatment argument or ensure that an SQL NULL is not passed." msgstr "これを避けるには、 null_value_treatment引数を変更するか、SQLのNULLを渡さないようにしてください。" -#: utils/adt/jsonfuncs.c:4957 +#: utils/adt/jsonfuncs.c:4980 #, c-format msgid "cannot delete path in scalar" msgstr "スカラでパスを削除することはできません" -#: utils/adt/jsonfuncs.c:5171 +#: utils/adt/jsonfuncs.c:5194 #, c-format msgid "path element at position %d is null" msgstr "位置%dのパス要素がnullです" -#: utils/adt/jsonfuncs.c:5190 utils/adt/jsonfuncs.c:5221 utils/adt/jsonfuncs.c:5294 +#: utils/adt/jsonfuncs.c:5213 utils/adt/jsonfuncs.c:5244 utils/adt/jsonfuncs.c:5317 #, c-format msgid "cannot replace existing key" msgstr "既存のキーを置き換えることはできません" -#: utils/adt/jsonfuncs.c:5191 utils/adt/jsonfuncs.c:5222 +#: utils/adt/jsonfuncs.c:5214 utils/adt/jsonfuncs.c:5245 #, c-format msgid "The path assumes key is a composite object, but it is a scalar value." msgstr "このパスではキー値は複合オブジェクトであると想定していますが、スカラー値でした" -#: utils/adt/jsonfuncs.c:5295 +#: utils/adt/jsonfuncs.c:5318 #, c-format msgid "Try using the function jsonb_set to replace key value." msgstr "jsonb_set関数を使ってキー値を置き換えることを試してください。" -#: utils/adt/jsonfuncs.c:5399 +#: utils/adt/jsonfuncs.c:5422 #, c-format msgid "path element at position %d is not an integer: \"%s\"" msgstr "位置%dのパス要素が整数ではありません: \"%s\"" -#: utils/adt/jsonfuncs.c:5416 +#: utils/adt/jsonfuncs.c:5439 #, c-format msgid "path element at position %d is out of range: %d" msgstr "位置%dのパス要素は範囲外です: %d" -#: utils/adt/jsonfuncs.c:5568 +#: utils/adt/jsonfuncs.c:5591 #, c-format msgid "wrong flag type, only arrays and scalars are allowed" msgstr "間違ったフラグのタイプ; 配列およびスカラのみ使用可能です" -#: utils/adt/jsonfuncs.c:5575 +#: utils/adt/jsonfuncs.c:5598 #, c-format msgid "flag array element is not a string" msgstr "フラグ配列の要素が文字列ではありません" -#: utils/adt/jsonfuncs.c:5576 utils/adt/jsonfuncs.c:5598 +#: utils/adt/jsonfuncs.c:5599 utils/adt/jsonfuncs.c:5621 #, c-format msgid "Possible values are: \"string\", \"numeric\", \"boolean\", \"key\", and \"all\"." msgstr "使用可能な値は: \"string\", \"numeric\", \"boolean\", \"key\"、および \"all\"。" -#: utils/adt/jsonfuncs.c:5596 +#: utils/adt/jsonfuncs.c:5619 #, c-format msgid "wrong flag in flag array: \"%s\"" msgstr "フラグ配列内の間違ったフラグ値: \"%s\"" @@ -25249,212 +25648,212 @@ msgstr "ルート式では@を使用できません" msgid "LAST is allowed only in array subscripts" msgstr "LAST は配列の添え字でのみ使用可能です" -#: utils/adt/jsonpath_exec.c:491 +#: utils/adt/jsonpath_exec.c:489 #, c-format msgid "single boolean result is expected" msgstr "単一のブール値の結果が必要です" -#: utils/adt/jsonpath_exec.c:851 +#: utils/adt/jsonpath_exec.c:849 #, c-format msgid "jsonpath wildcard array accessor can only be applied to an array" msgstr "jsonpath ワイルドカード配列アクセサは配列にのみ適用可能です" -#: utils/adt/jsonpath_exec.c:874 +#: utils/adt/jsonpath_exec.c:872 #, c-format msgid "jsonpath wildcard member accessor can only be applied to an object" msgstr "jsonpathワイルドカードメンバアクセサはオブジェクトに対してのみ適用可能です" -#: utils/adt/jsonpath_exec.c:923 +#: utils/adt/jsonpath_exec.c:921 #, c-format msgid "jsonpath array subscript is out of bounds" msgstr "jsonpath配列の添え字が範囲外です" -#: utils/adt/jsonpath_exec.c:980 +#: utils/adt/jsonpath_exec.c:978 #, c-format msgid "jsonpath array accessor can only be applied to an array" msgstr "jsonpath 配列アクセサは配列にのみ適用可能です" -#: utils/adt/jsonpath_exec.c:1044 +#: utils/adt/jsonpath_exec.c:1042 #, c-format msgid "JSON object does not contain key \"%s\"" msgstr "JSONオブジェクトはキー\"%s\"を含んでいません" -#: utils/adt/jsonpath_exec.c:1056 +#: utils/adt/jsonpath_exec.c:1054 #, c-format msgid "jsonpath member accessor can only be applied to an object" msgstr "jsonpathメンバアクセサはオブジェクトに対してのみ適用可能です" -#: utils/adt/jsonpath_exec.c:1114 +#: utils/adt/jsonpath_exec.c:1112 #, c-format msgid "jsonpath item method .%s() can only be applied to an array" msgstr "jsonpath 項目メソッド .%s() は配列にのみ適用可能です" -#: utils/adt/jsonpath_exec.c:1167 utils/adt/jsonpath_exec.c:1193 +#: utils/adt/jsonpath_exec.c:1165 utils/adt/jsonpath_exec.c:1191 #, c-format msgid "argument \"%s\" of jsonpath item method .%s() is invalid for type double precision" msgstr "jsonpath項目メソッド .%2$s() の引数\"%1$s\"がdouble precision型に適合しません" -#: utils/adt/jsonpath_exec.c:1172 utils/adt/jsonpath_exec.c:1198 utils/adt/jsonpath_exec.c:1414 utils/adt/jsonpath_exec.c:1446 +#: utils/adt/jsonpath_exec.c:1170 utils/adt/jsonpath_exec.c:1196 utils/adt/jsonpath_exec.c:1412 utils/adt/jsonpath_exec.c:1444 #, c-format msgid "NaN or Infinity is not allowed for jsonpath item method .%s()" msgstr "NaNとInifinityはjsonpath項目メソッド .%s() では使用できません" -#: utils/adt/jsonpath_exec.c:1211 utils/adt/jsonpath_exec.c:1313 utils/adt/jsonpath_exec.c:1455 utils/adt/jsonpath_exec.c:1593 +#: utils/adt/jsonpath_exec.c:1209 utils/adt/jsonpath_exec.c:1311 utils/adt/jsonpath_exec.c:1453 utils/adt/jsonpath_exec.c:1591 #, c-format msgid "jsonpath item method .%s() can only be applied to a string or numeric value" msgstr "jsonpath 項目メソッド .%s() は文字列または数値にのみ適用可能です" -#: utils/adt/jsonpath_exec.c:1281 utils/adt/jsonpath_exec.c:1305 +#: utils/adt/jsonpath_exec.c:1279 utils/adt/jsonpath_exec.c:1303 #, c-format msgid "argument \"%s\" of jsonpath item method .%s() is invalid for type bigint" msgstr "jsonpath項目メソッド .%2$s() の引数\"%1$s\"がbigint型に適合しません" -#: utils/adt/jsonpath_exec.c:1357 utils/adt/jsonpath_exec.c:1377 +#: utils/adt/jsonpath_exec.c:1355 utils/adt/jsonpath_exec.c:1375 #, c-format msgid "argument \"%s\" of jsonpath item method .%s() is invalid for type boolean" msgstr "jsonpath項目メソッド .%2$s() の引数\"%1$s\"がboolean型に適合しません" -#: utils/adt/jsonpath_exec.c:1386 +#: utils/adt/jsonpath_exec.c:1384 #, c-format -msgid "jsonpath item method .%s() can only be applied to a bool, string, or numeric value" +msgid "jsonpath item method .%s() can only be applied to a boolean, string, or numeric value" msgstr "jsonpath 項目メソッド .%s() は真偽値、文字列または数値にのみ適用可能です" -#: utils/adt/jsonpath_exec.c:1439 utils/adt/jsonpath_exec.c:1528 +#: utils/adt/jsonpath_exec.c:1437 utils/adt/jsonpath_exec.c:1526 #, c-format msgid "argument \"%s\" of jsonpath item method .%s() is invalid for type numeric" msgstr "jsonpath項目メソッド .%2$s() の引数\"%1$s\"がnumeric型に適合しません" -#: utils/adt/jsonpath_exec.c:1487 +#: utils/adt/jsonpath_exec.c:1485 #, c-format msgid "precision of jsonpath item method .%s() is out of range for type integer" msgstr "JSONパス項目メソッド .%s() の精度がinteger型の範囲外です" -#: utils/adt/jsonpath_exec.c:1501 +#: utils/adt/jsonpath_exec.c:1499 #, c-format msgid "scale of jsonpath item method .%s() is out of range for type integer" msgstr "JSONパス項目メソッド .%s() のスケールがinteger型の範囲外です" -#: utils/adt/jsonpath_exec.c:1561 utils/adt/jsonpath_exec.c:1585 +#: utils/adt/jsonpath_exec.c:1559 utils/adt/jsonpath_exec.c:1583 #, c-format msgid "argument \"%s\" of jsonpath item method .%s() is invalid for type integer" msgstr "jsonpath項目メソッド .%2$s() の引数\"%1$s\"がinteger型に適合しません" -#: utils/adt/jsonpath_exec.c:1664 +#: utils/adt/jsonpath_exec.c:1646 #, c-format -msgid "jsonpath item method .%s() can only be applied to a bool, string, numeric, or datetime value" +msgid "jsonpath item method .%s() can only be applied to a boolean, string, numeric, or datetime value" msgstr "jsonpath 項目メソッド .%s() は真偽値、文字列、数値、または日時値にのみ適用可能です" -#: utils/adt/jsonpath_exec.c:2153 +#: utils/adt/jsonpath_exec.c:2135 #, c-format msgid "left operand of jsonpath operator %s is not a single numeric value" msgstr "jsonpath演算子 %s の左辺値が単一の数値ではありません" -#: utils/adt/jsonpath_exec.c:2160 +#: utils/adt/jsonpath_exec.c:2142 #, c-format msgid "right operand of jsonpath operator %s is not a single numeric value" msgstr "jsonpath演算子 %s の右辺値が単一の数値ではありません" -#: utils/adt/jsonpath_exec.c:2228 +#: utils/adt/jsonpath_exec.c:2210 #, c-format msgid "operand of unary jsonpath operator %s is not a numeric value" msgstr "単項jsonpath演算子 %s のオペランドが数値ではありません" -#: utils/adt/jsonpath_exec.c:2327 +#: utils/adt/jsonpath_exec.c:2309 #, c-format msgid "jsonpath item method .%s() can only be applied to a numeric value" msgstr "jsonpath 項目メソッド .%s() は数値にのみ適用可能です" -#: utils/adt/jsonpath_exec.c:2373 +#: utils/adt/jsonpath_exec.c:2355 #, c-format msgid "jsonpath item method .%s() can only be applied to a string" msgstr "jsonpath 項目メソッド .%s() は文字列にのみ適用可能です" -#: utils/adt/jsonpath_exec.c:2466 +#: utils/adt/jsonpath_exec.c:2448 #, c-format msgid "time precision of jsonpath item method .%s() is out of range for type integer" msgstr "JSONパス項目メソッド .%s() の日付時刻精度がinteger型の範囲外です" -#: utils/adt/jsonpath_exec.c:2500 utils/adt/jsonpath_exec.c:2506 utils/adt/jsonpath_exec.c:2533 utils/adt/jsonpath_exec.c:2561 utils/adt/jsonpath_exec.c:2614 utils/adt/jsonpath_exec.c:2665 utils/adt/jsonpath_exec.c:2721 +#: utils/adt/jsonpath_exec.c:2482 utils/adt/jsonpath_exec.c:2488 utils/adt/jsonpath_exec.c:2515 utils/adt/jsonpath_exec.c:2543 utils/adt/jsonpath_exec.c:2596 utils/adt/jsonpath_exec.c:2647 utils/adt/jsonpath_exec.c:2718 #, c-format msgid "%s format is not recognized: \"%s\"" msgstr "%sの書式を認識できません: \"%s\"" -#: utils/adt/jsonpath_exec.c:2502 +#: utils/adt/jsonpath_exec.c:2484 #, c-format msgid "Use a datetime template argument to specify the input data format." msgstr "datetimeテンプレート引数を使って入力データフォーマットを指定してください。" -#: utils/adt/jsonpath_exec.c:2695 utils/adt/jsonpath_exec.c:2751 +#: utils/adt/jsonpath_exec.c:2677 utils/adt/jsonpath_exec.c:2758 #, c-format msgid "time precision of jsonpath item method .%s() is invalid" msgstr "jsonpath項目メソッド .%s() の日付時刻精度が不正です" -#: utils/adt/jsonpath_exec.c:2831 +#: utils/adt/jsonpath_exec.c:2838 #, c-format msgid "jsonpath item method .%s() can only be applied to an object" msgstr "jsonpath項目メソッド .%s() はオブジェクトに対してのみ適用可能です" -#: utils/adt/jsonpath_exec.c:3114 +#: utils/adt/jsonpath_exec.c:3122 #, c-format msgid "could not convert value of type %s to jsonpath" msgstr "型%sの値のjsonpathへ変換ができませんでした" -#: utils/adt/jsonpath_exec.c:3148 +#: utils/adt/jsonpath_exec.c:3156 #, c-format msgid "could not find jsonpath variable \"%s\"" msgstr "jsonpath変数\"%s\"が見つかりませんでした" -#: utils/adt/jsonpath_exec.c:3201 +#: utils/adt/jsonpath_exec.c:3209 #, c-format msgid "\"vars\" argument is not an object" msgstr "引数\"vars\"がオブジェクトではありません" -#: utils/adt/jsonpath_exec.c:3202 +#: utils/adt/jsonpath_exec.c:3210 #, c-format msgid "Jsonpath parameters should be encoded as key-value pairs of \"vars\" object." msgstr "Jsonpath パラメータは \"vars\"オブジェクトの key-value ペアの形にエンコードされていなければなりません。" -#: utils/adt/jsonpath_exec.c:3465 +#: utils/adt/jsonpath_exec.c:3473 #, c-format msgid "jsonpath array subscript is not a single numeric value" msgstr "jsonpath配列添え字が単一の数値ではありません" -#: utils/adt/jsonpath_exec.c:3477 +#: utils/adt/jsonpath_exec.c:3485 #, c-format msgid "jsonpath array subscript is out of integer range" msgstr "jsonpath配列の添え字が整数の範囲外です" -#: utils/adt/jsonpath_exec.c:3661 +#: utils/adt/jsonpath_exec.c:3669 #, c-format msgid "cannot convert value from %s to %s without time zone usage" msgstr "時間帯を使用せずに%sから%sへの値の変換はできません" -#: utils/adt/jsonpath_exec.c:3663 +#: utils/adt/jsonpath_exec.c:3671 #, c-format msgid "Use *_tz() function for time zone support." msgstr "*_tz() 関数を使用することで時間帯がサポートされます。" -#: utils/adt/jsonpath_exec.c:3957 +#: utils/adt/jsonpath_exec.c:3979 #, c-format msgid "JSON path expression for column \"%s\" should return single item without wrapper" msgstr "列\"%s\"に対するJSONパス式はラッパーなしの単一要素を返却する必要があります" -#: utils/adt/jsonpath_exec.c:3959 utils/adt/jsonpath_exec.c:3964 +#: utils/adt/jsonpath_exec.c:3981 utils/adt/jsonpath_exec.c:3986 #, c-format -msgid "Use WITH WRAPPER clause to wrap SQL/JSON items into array." +msgid "Use the WITH WRAPPER clause to wrap SQL/JSON items into an array." msgstr "SQL/JSON要素列を配列にまとめるにはWITH WRAPPER句を使用してください。" -#: utils/adt/jsonpath_exec.c:3963 +#: utils/adt/jsonpath_exec.c:3985 #, c-format msgid "JSON path expression in JSON_QUERY should return single item without wrapper" msgstr "JSON_QUERY中のJSONパス式はラッパーなしの単一要素を返却する必要があります" -#: utils/adt/jsonpath_exec.c:4021 utils/adt/jsonpath_exec.c:4045 +#: utils/adt/jsonpath_exec.c:4043 utils/adt/jsonpath_exec.c:4067 #, c-format msgid "JSON path expression for column \"%s\" should return single scalar item" msgstr "列\"%s\"に対するJSONパス式は単一のスカラー要素を返却する必要があります" -#: utils/adt/jsonpath_exec.c:4026 utils/adt/jsonpath_exec.c:4050 +#: utils/adt/jsonpath_exec.c:4048 utils/adt/jsonpath_exec.c:4072 #, c-format msgid "JSON path expression in JSON_VALUE should return single scalar item" msgstr "JSON_VALUE中のJSONパス式は単一のスカラー要素を返却する必要があります" @@ -25464,42 +25863,42 @@ msgstr "JSON_VALUE中のJSONパス式は単一のスカラー要素を返却す msgid "levenshtein argument exceeds maximum length of %d characters" msgstr "レーベンシュタイン距離関数の引数の長さが上限の%d文字を超えています" -#: utils/adt/like.c:159 +#: utils/adt/like.c:157 #, c-format msgid "nondeterministic collations are not supported for LIKE" msgstr "非決定的照合順序はLIKEではサポートされません" -#: utils/adt/like.c:188 utils/adt/like_support.c:1023 +#: utils/adt/like.c:185 utils/adt/like_support.c:1022 #, c-format msgid "could not determine which collation to use for ILIKE" msgstr "ILIKE で使用する照合順序を特定できませんでした" -#: utils/adt/like.c:200 +#: utils/adt/like.c:194 #, c-format msgid "nondeterministic collations are not supported for ILIKE" msgstr "非決定的照合順序はILIKEではサポートされません" -#: utils/adt/like_match.c:108 utils/adt/like_match.c:168 +#: utils/adt/like_match.c:107 utils/adt/like_match.c:167 #, c-format 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:291 utils/adt/regexp.c:800 #, c-format msgid "invalid escape string" msgstr "不正なエスケープ文字列" -#: utils/adt/like_match.c:294 utils/adt/regexp.c:801 +#: utils/adt/like_match.c:292 utils/adt/regexp.c:801 #, c-format msgid "Escape string must be empty or one character." msgstr "エスケープ文字は空か1文字でなければなりません。" -#: utils/adt/like_support.c:1013 +#: utils/adt/like_support.c:1012 #, c-format msgid "case insensitive matching not supported on type bytea" msgstr "型byteaでは大文字小文字の区別をしないマッチをサポートしません" -#: utils/adt/like_support.c:1114 +#: utils/adt/like_support.c:1109 #, c-format msgid "regular-expression matching not supported on type bytea" msgstr "型byteaでは正規表現のマッチをサポートしません" @@ -25519,7 +25918,7 @@ msgstr "macaddr8データがmacaddr型に変換するには範囲外です" msgid "Only addresses that have FF and FE as values in the 4th and 5th bytes from the left, for example xx:xx:xx:ff:fe:xx:xx:xx, are eligible to be converted from macaddr8 to macaddr." msgstr "左から4、5バイト目にFFとFEがあるアドレス、具体的には xx:xx:xx:ff:fe:xx:xx:xx のみがmacaddr8からmacaddrに変換できます。" -#: utils/adt/mcxtfuncs.c:173 +#: utils/adt/mcxtfuncs.c:293 #, c-format msgid "PID %d is not a PostgreSQL server process" msgstr "PID %dはPostgreSQLサーバープロセスではありません" @@ -25633,7 +26032,7 @@ msgstr "不正なCIDR値: \"%s\"" msgid "Value has bits set to right of mask." msgstr "値ではマスクの右側のビットがセットされています。" -#: utils/adt/network.c:152 utils/adt/network.c:1184 utils/adt/network.c:1209 utils/adt/network.c:1234 +#: utils/adt/network.c:152 utils/adt/network.c:1178 utils/adt/network.c:1203 utils/adt/network.c:1228 #, c-format msgid "could not format inet value: %m" msgstr "inet値を整形できませんでした: %m" @@ -25666,157 +26065,157 @@ msgstr "\"cidr\"の外部値が不正です" msgid "invalid mask length: %d" msgstr "不正なマスク長: %d" -#: utils/adt/network.c:1252 +#: utils/adt/network.c:1246 #, c-format msgid "could not format cidr value: %m" msgstr "cidr値を整形できませんでした: %m" -#: utils/adt/network.c:1485 +#: utils/adt/network.c:1479 #, c-format msgid "cannot merge addresses from different families" msgstr "異なるファミリのアドレスは結合できません" -#: utils/adt/network.c:1893 +#: utils/adt/network.c:1887 #, c-format msgid "cannot AND inet values of different sizes" msgstr "サイズが異なるinet値のANDはできません" -#: utils/adt/network.c:1925 +#: utils/adt/network.c:1919 #, c-format msgid "cannot OR inet values of different sizes" msgstr "サイズが異なるinet値のORはできません" -#: utils/adt/network.c:1986 utils/adt/network.c:2062 +#: utils/adt/network.c:1980 utils/adt/network.c:2056 #, c-format msgid "result is out of range" msgstr "結果が範囲外です" -#: utils/adt/network.c:2027 +#: utils/adt/network.c:2021 #, c-format msgid "cannot subtract inet values of different sizes" msgstr "サイズが異なるinet値の引き算はできません" -#: utils/adt/numeric.c:786 utils/adt/numeric.c:3644 utils/adt/numeric.c:7201 utils/adt/numeric.c:7404 utils/adt/numeric.c:7876 utils/adt/numeric.c:10571 utils/adt/numeric.c:11045 utils/adt/numeric.c:11139 utils/adt/numeric.c:11273 +#: utils/adt/numeric.c:794 utils/adt/numeric.c:3641 utils/adt/numeric.c:7198 utils/adt/numeric.c:7401 utils/adt/numeric.c:7873 utils/adt/numeric.c:10807 utils/adt/numeric.c:11282 utils/adt/numeric.c:11376 utils/adt/numeric.c:11511 #, c-format msgid "value overflows numeric format" msgstr "値がnumericの形式でオーバフローします" -#: utils/adt/numeric.c:1099 +#: utils/adt/numeric.c:1107 #, c-format msgid "invalid sign in external \"numeric\" value" msgstr "外部\"numeric\"の値の符号が不正です" -#: utils/adt/numeric.c:1105 +#: utils/adt/numeric.c:1113 #, c-format msgid "invalid scale in external \"numeric\" value" msgstr "外部\"numeric\"の値の位取りが不正です" -#: utils/adt/numeric.c:1114 +#: utils/adt/numeric.c:1122 #, c-format msgid "invalid digit in external \"numeric\" value" msgstr "外部\"numeric\"の値の桁が不正です" -#: utils/adt/numeric.c:1329 utils/adt/numeric.c:1343 +#: utils/adt/numeric.c:1337 utils/adt/numeric.c:1351 #, c-format msgid "NUMERIC precision %d must be between 1 and %d" msgstr "NUMERICの精度%dは1から%dまででなければなりません" -#: utils/adt/numeric.c:1334 +#: utils/adt/numeric.c:1342 #, c-format msgid "NUMERIC scale %d must be between %d and %d" msgstr "NUMERICの位取り%dは%dから%dまでの間でなければなりません" -#: utils/adt/numeric.c:1352 +#: utils/adt/numeric.c:1360 #, c-format msgid "invalid NUMERIC type modifier" msgstr "不正なNUMERIC型の修正子" -#: utils/adt/numeric.c:1710 +#: utils/adt/numeric.c:1726 #, c-format msgid "start value cannot be NaN" msgstr "開始値はNaNにはできません" -#: utils/adt/numeric.c:1714 +#: utils/adt/numeric.c:1730 #, c-format msgid "start value cannot be infinity" msgstr "開始値は無限大にはできません" -#: utils/adt/numeric.c:1721 +#: utils/adt/numeric.c:1737 #, c-format msgid "stop value cannot be NaN" msgstr "終了値はNaNにはできません" -#: utils/adt/numeric.c:1725 +#: utils/adt/numeric.c:1741 #, c-format msgid "stop value cannot be infinity" msgstr "終了値は無限大にはできません" -#: utils/adt/numeric.c:1738 +#: utils/adt/numeric.c:1754 #, c-format msgid "step size cannot be NaN" msgstr "加算量はNaNにはできません" -#: utils/adt/numeric.c:1742 +#: utils/adt/numeric.c:1758 #, c-format msgid "step size cannot be infinity" msgstr "加算量は無限大にはできません" -#: utils/adt/numeric.c:3634 +#: utils/adt/numeric.c:3631 #, c-format msgid "factorial of a negative number is undefined" msgstr "負数の階乗は定義されていません" -#: utils/adt/numeric.c:4241 +#: utils/adt/numeric.c:4238 #, c-format msgid "lower bound cannot be NaN" msgstr "下限をNaNにすることはできません" -#: utils/adt/numeric.c:4245 +#: utils/adt/numeric.c:4242 #, c-format msgid "lower bound cannot be infinity" msgstr "下限を無限値にすることはできません" -#: utils/adt/numeric.c:4252 +#: utils/adt/numeric.c:4249 #, c-format msgid "upper bound cannot be NaN" msgstr "上限をNaNにすることはできません" -#: utils/adt/numeric.c:4256 +#: utils/adt/numeric.c:4253 #, c-format msgid "upper bound cannot be infinity" msgstr "上限を無限値にすることはできません" -#: utils/adt/numeric.c:4417 utils/adt/numeric.c:4505 utils/adt/numeric.c:4565 utils/adt/numeric.c:4761 +#: utils/adt/numeric.c:4414 utils/adt/numeric.c:4502 utils/adt/numeric.c:4562 utils/adt/numeric.c:4758 #, c-format msgid "cannot convert NaN to %s" msgstr "NaNを%sには変換できません" -#: utils/adt/numeric.c:4421 utils/adt/numeric.c:4509 utils/adt/numeric.c:4569 utils/adt/numeric.c:4765 +#: utils/adt/numeric.c:4418 utils/adt/numeric.c:4506 utils/adt/numeric.c:4566 utils/adt/numeric.c:4762 #, c-format msgid "cannot convert infinity to %s" msgstr "無限大を%sに変換できません" -#: utils/adt/numeric.c:4774 +#: utils/adt/numeric.c:4771 #, c-format msgid "pg_lsn out of range" msgstr "pg_lsnの範囲外です" -#: utils/adt/numeric.c:7966 utils/adt/numeric.c:8017 +#: utils/adt/numeric.c:7963 utils/adt/numeric.c:8014 #, c-format msgid "numeric field overflow" msgstr "numericフィールドのオーバーフロー" -#: utils/adt/numeric.c:7967 +#: utils/adt/numeric.c:7964 #, 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:8018 +#: utils/adt/numeric.c:8015 #, c-format msgid "A field with precision %d, scale %d cannot hold an infinite value." msgstr "精度%d、位取り%dを持つフィールドは、無限大値を格納できません。" -#: utils/adt/numeric.c:11342 utils/adt/pseudorandomfuncs.c:135 utils/adt/pseudorandomfuncs.c:159 +#: utils/adt/numeric.c:11580 utils/adt/pseudorandomfuncs.c:135 utils/adt/pseudorandomfuncs.c:159 #, c-format msgid "lower bound must be less than or equal to upper bound" msgstr "下限は上限と同じあるいはより小さい必要があります" @@ -25856,137 +26255,142 @@ msgstr "要求された文字は符号化方式に対して不正です: %u" msgid "percentile value %g is not between 0 and 1" msgstr "百分位数の値%gが0と1の間ではありません" -#: utils/adt/pg_locale.c:1484 +#: utils/adt/pg_locale.c:314 utils/adt/pg_locale.c:346 #, c-format -msgid "could not open collator for locale \"%s\" with rules \"%s\": %s" -msgstr "ルール\"%2$s\"を持つロケール\"%1$s\"の照合器をオープンできませんでした: %3$s" +msgid "locale name \"%s\" contains non-ASCII characters" +msgstr "ロケール名\"%s\"は不正な非ASCII文字を含んでいます" -#: utils/adt/pg_locale.c:1495 utils/adt/pg_locale.c:2969 utils/adt/pg_locale.c:3042 +#: utils/adt/pg_locale.c:1278 utils/adt/pg_locale.c:1405 utils/adt/pg_locale.c:1928 utils/adt/pg_locale.c:2003 #, c-format msgid "ICU is not supported in this build" msgstr "このビルドではICUはサポートされていません" -#: utils/adt/pg_locale.c:1523 -#, c-format -msgid "could not create locale \"%s\": %m" -msgstr "ロケール\"%s\"を作成できませんでした: %m" - -#: utils/adt/pg_locale.c:1526 -#, c-format -msgid "The operating system could not find any locale data for the locale name \"%s\"." -msgstr "オペレーティングシステムはロケール名\"%s\"のロケールデータを見つけられませんでした。" - -#: utils/adt/pg_locale.c:1647 -#, c-format -msgid "collations with different collate and ctype values are not supported on this platform" -msgstr "このプラットフォームでは値が異なるcollateとctypeによる照合順序をサポートしていません" - -#: utils/adt/pg_locale.c:1694 +#: utils/adt/pg_locale.c:1326 #, c-format msgid "collation \"%s\" has no actual version, but a version was recorded" msgstr "照合順序\"%s\"には実際のバージョンがありませんが、バージョンが記録されています" -#: utils/adt/pg_locale.c:1700 +#: utils/adt/pg_locale.c:1332 #, c-format msgid "collation \"%s\" has version mismatch" msgstr "照合順序\"%s\"でバージョンの不一致が起きています" -#: utils/adt/pg_locale.c:1702 +#: utils/adt/pg_locale.c:1334 #, 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:1705 +#: utils/adt/pg_locale.c:1337 #, 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:1749 utils/adt/pg_locale.c:2533 utils/adt/pg_locale.c:2558 +#: utils/adt/pg_locale.c:1520 utils/adt/pg_locale.c:1829 utils/adt/pg_locale.c:1854 #, c-format msgid "invalid locale name \"%s\" for builtin provider" msgstr "ロケール名\"%s\"は組み込みプロバイダでは不正です" -#: utils/adt/pg_locale.c:1791 +#: utils/adt/pg_locale.c:1562 #, c-format msgid "could not load locale \"%s\"" msgstr "ロケール\"%s\"をロードできませんでした" -#: utils/adt/pg_locale.c:1816 +#: utils/adt/pg_locale.c:1587 #, c-format msgid "could not get collation version for locale \"%s\": error code %lu" msgstr "ロケール\"%s\"に対応する照合順序バージョンを取得できませんでした: エラーコード %lu" -#: utils/adt/pg_locale.c:1872 utils/adt/pg_locale.c:1885 +#: utils/adt/pg_locale.c:1919 #, c-format -msgid "could not convert string to UTF-16: error code %lu" -msgstr "文字列をUTF-16に変換できませんでした: エラーコード %lu" +msgid "could not convert locale name \"%s\" to language tag: %s" +msgstr "ロケール名\"%s\"を、言語タグに変換できませんでした: %s" -#: utils/adt/pg_locale.c:1897 +#: utils/adt/pg_locale.c:1961 #, c-format -msgid "could not compare Unicode strings: %m" -msgstr "Unicode文字列を比較できませんでした: %m" +msgid "could not get language from ICU locale \"%s\": %s" +msgstr "ICUロケール\"%s\"から言語を取得できませんでした: %s" -#: utils/adt/pg_locale.c:2071 +#: utils/adt/pg_locale.c:1963 utils/adt/pg_locale.c:1993 #, c-format -msgid "collation failed: %s" -msgstr "照合順序による比較に失敗しました: %s" +msgid "To disable ICU locale validation, set the parameter \"%s\" to \"%s\"." +msgstr "ICUロケールを無効にするには、パラメータ\"%s\"を\"%s\"に設定してください。" -#: utils/adt/pg_locale.c:2290 utils/adt/pg_locale.c:2322 +#: utils/adt/pg_locale.c:1991 #, c-format -msgid "sort key generation failed: %s" -msgstr "ソートキーの生成に失敗しました: %s" +msgid "ICU locale \"%s\" has unknown language \"%s\"" +msgstr "ICUロケール\"%s\"には未知の言語\"%s\"が含まれています" -#: utils/adt/pg_locale.c:2612 +#: utils/adt/pg_locale_icu.c:108 #, c-format msgid "could not get language from locale \"%s\": %s" msgstr "ロケール\"%s\"から言語を取得できませんでした: %s" -#: utils/adt/pg_locale.c:2633 utils/adt/pg_locale.c:2649 +#: utils/adt/pg_locale_icu.c:130 utils/adt/pg_locale_icu.c:147 #, c-format msgid "could not open collator for locale \"%s\": %s" msgstr "ロケール\"%s\"の照合器をオープンできませんでした: %s" -#: utils/adt/pg_locale.c:2674 +#: utils/adt/pg_locale_icu.c:218 +#, c-format +msgid "could not open collator for locale \"%s\" with rules \"%s\": %s" +msgstr "ルール\"%2$s\"を持つロケール\"%1$s\"の照合器をオープンできませんでした: %3$s" + +#: utils/adt/pg_locale_icu.c:253 +#, c-format +msgid "collation failed: %s" +msgstr "照合順序による比較に失敗しました: %s" + +#: utils/adt/pg_locale_icu.c:338 utils/adt/pg_locale_icu.c:516 +#, c-format +msgid "sort key generation failed: %s" +msgstr "ソートキーの生成に失敗しました: %s" + +#: utils/adt/pg_locale_icu.c:400 utils/adt/pg_locale_icu.c:411 utils/adt/pg_locale_icu.c:563 utils/adt/pg_locale_icu.c:584 +#, c-format +msgid "%s failed: %s" +msgstr "%s が失敗しました: %s" + +#: utils/adt/pg_locale_icu.c:536 #, c-format msgid "encoding \"%s\" not supported by ICU" msgstr "エンコーディング\"%s\"はICUではサポートされていません" -#: utils/adt/pg_locale.c:2681 +#: utils/adt/pg_locale_icu.c:543 #, c-format msgid "could not open ICU converter for encoding \"%s\": %s" msgstr "エンコーディング\"%s\"のICU変換器をオープンできませんでした: %s" -#: utils/adt/pg_locale.c:2699 utils/adt/pg_locale.c:2718 utils/adt/pg_locale.c:2774 utils/adt/pg_locale.c:2785 +#: utils/adt/pg_locale_libc.c:109 #, c-format -msgid "%s failed: %s" -msgstr "%s が失敗しました: %s" +msgid "collations with different collate and ctype values are not supported on this platform" +msgstr "このプラットフォームでは値が異なるcollateとctypeによる照合順序をサポートしていません" -#: utils/adt/pg_locale.c:2960 +#: utils/adt/pg_locale_libc.c:268 utils/adt/pg_locale_libc.c:281 #, c-format -msgid "could not convert locale name \"%s\" to language tag: %s" -msgstr "ロケール名\"%s\"を、言語タグに変換できませんでした: %s" +msgid "could not convert string to UTF-16: error code %lu" +msgstr "文字列をUTF-16に変換できませんでした: エラーコード %lu" -#: utils/adt/pg_locale.c:3001 +#: utils/adt/pg_locale_libc.c:290 #, c-format -msgid "could not get language from ICU locale \"%s\": %s" -msgstr "ICUロケール\"%s\"から言語を取得できませんでした: %s" +msgid "could not compare Unicode strings: %m" +msgstr "Unicode文字列を比較できませんでした: %m" -#: utils/adt/pg_locale.c:3003 utils/adt/pg_locale.c:3032 +#: utils/adt/pg_locale_libc.c:322 #, c-format -msgid "To disable ICU locale validation, set the parameter \"%s\" to \"%s\"." -msgstr "ICUロケールを無効にするには、パラメータ\"%s\"を\"%s\"に設定してください。" +msgid "could not create locale \"%s\": %m" +msgstr "ロケール\"%s\"を作成できませんでした: %m" -#: utils/adt/pg_locale.c:3030 +#: utils/adt/pg_locale_libc.c:325 #, c-format -msgid "ICU locale \"%s\" has unknown language \"%s\"" -msgstr "ICUロケール\"%s\"には未知の言語\"%s\"が含まれています" +msgid "The operating system could not find any locale data for the locale name \"%s\"." +msgstr "オペレーティングシステムはロケール名\"%s\"のロケールデータを見つけられませんでした。" -#: utils/adt/pg_locale.c:3181 +#: utils/adt/pg_locale_libc.c:497 #, c-format msgid "invalid multibyte character for locale" msgstr "ロケールに対する不正なマルチバイト文字" -#: utils/adt/pg_locale.c:3182 +#: utils/adt/pg_locale_libc.c:498 #, c-format msgid "The server's LC_CTYPE locale is probably incompatible with the database encoding." msgstr "おそらくサーバーのLC_CTYPEロケールはデータベースの符号化方式と互換性がありません" @@ -26001,7 +26405,7 @@ msgstr "pg_lsnにNaNは加算できません" msgid "cannot subtract NaN from pg_lsn" msgstr "pg_lsnからNaNは減算できません" -#: utils/adt/pg_upgrade_support.c:39 +#: utils/adt/pg_upgrade_support.c:38 #, c-format msgid "function can only be called when server is in binary upgrade mode" msgstr "関数はサーバーがバイナリアップグレードモードであるときのみ呼び出せます" @@ -26011,17 +26415,17 @@ msgstr "関数はサーバーがバイナリアップグレードモードであ msgid "invalid command name: \"%s\"" msgstr "不正なコマンド名: \"%s\"" -#: utils/adt/pgstatfuncs.c:1739 +#: utils/adt/pgstatfuncs.c:1751 #, c-format msgid "unrecognized reset target: \"%s\"" msgstr "認識できないリセットターゲット: \"%s\"" -#: utils/adt/pgstatfuncs.c:1740 +#: utils/adt/pgstatfuncs.c:1752 #, c-format msgid "Target must be \"archiver\", \"bgwriter\", \"checkpointer\", \"io\", \"recovery_prefetch\", \"slru\", or \"wal\"." msgstr "対象は\"archiver\"、\"bgwriter\"、\"checkpointer\"、\"io\"、\"recovery_prefetch\"、\"slru\"または\"wal\"でなければなりません。" -#: utils/adt/pgstatfuncs.c:1822 +#: utils/adt/pgstatfuncs.c:1834 #, c-format msgid "invalid subscription OID %u" msgstr "不正なサブスクリプションOID %u" @@ -26106,7 +26510,7 @@ msgstr "カンマが多すぎます" 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:1996 utils/adt/varlena.c:4286 #, c-format msgid "regular expression failed: %s" msgstr "正規表現が失敗しました: %s" @@ -26121,7 +26525,7 @@ msgstr "不正な正規表現オプション: \"%.*s\"" msgid "If you meant to use regexp_replace() with a start parameter, cast the fourth argument to integer explicitly." msgstr "regexp_replace()でパラメータstartを指定したいのであれば、4番目のパラメータを明示的に整数にキャストしてください。" -#: 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:6776 utils/misc/guc.c:6810 +#: 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:6782 utils/misc/guc.c:6816 #, c-format msgid "invalid value for parameter \"%s\": %d" msgstr "パラメータ\"%s\"の値が無効です: %d" @@ -26157,7 +26561,7 @@ msgstr "\"%s\"という名前の関数が複数あります" msgid "more than one operator named %s" msgstr "%sという名前の演算子が複数あります" -#: utils/adt/regproc.c:675 utils/adt/regproc.c:2029 utils/adt/ruleutils.c:10424 utils/adt/ruleutils.c:10637 +#: utils/adt/regproc.c:675 utils/adt/regproc.c:2029 utils/adt/ruleutils.c:10690 utils/adt/ruleutils.c:10903 #, c-format msgid "too many arguments" msgstr "引数が多すぎます" @@ -26167,7 +26571,7 @@ msgstr "引数が多すぎます" msgid "Provide two argument types for operator." msgstr "演算子では2つの引数型を指定してください" -#: utils/adt/regproc.c:1564 utils/adt/regproc.c:1681 utils/adt/regproc.c:1810 utils/adt/regproc.c:1815 utils/adt/varlena.c:3413 utils/adt/varlena.c:3418 +#: utils/adt/regproc.c:1564 utils/adt/regproc.c:1681 utils/adt/regproc.c:1810 utils/adt/regproc.c:1815 utils/adt/varlena.c:3388 utils/adt/varlena.c:3393 #, c-format msgid "invalid name syntax" msgstr "不正な名前の構文" @@ -26192,77 +26596,77 @@ msgstr "型の名前を想定していました" msgid "improper type name" msgstr "型の名前が不適切です" -#: utils/adt/ri_triggers.c:303 utils/adt/ri_triggers.c:1616 utils/adt/ri_triggers.c:2601 +#: utils/adt/ri_triggers.c:311 utils/adt/ri_triggers.c:1694 utils/adt/ri_triggers.c:2693 #, c-format msgid "insert or update on table \"%s\" violates foreign key constraint \"%s\"" msgstr "テーブル\"%s\"への挿入、更新は外部キー制約\"%s\"に違反しています" -#: utils/adt/ri_triggers.c:306 utils/adt/ri_triggers.c:1619 +#: utils/adt/ri_triggers.c:314 utils/adt/ri_triggers.c:1697 #, c-format msgid "MATCH FULL does not allow mixing of null and nonnull key values." msgstr "MACTH FULLではNULLキー値と非NULLキー値を混在できません" -#: utils/adt/ri_triggers.c:2036 +#: utils/adt/ri_triggers.c:2113 #, c-format msgid "function \"%s\" must be fired for INSERT" msgstr "関数\"%s\"はINSERTで発火しなければなりません" -#: utils/adt/ri_triggers.c:2042 +#: utils/adt/ri_triggers.c:2119 #, c-format msgid "function \"%s\" must be fired for UPDATE" msgstr "関数\"%s\"はUPDATEで発火しなければなりません" -#: utils/adt/ri_triggers.c:2048 +#: utils/adt/ri_triggers.c:2125 #, c-format msgid "function \"%s\" must be fired for DELETE" msgstr "関数\"%s\"はDELETEで発火しなければなりません" -#: utils/adt/ri_triggers.c:2071 +#: utils/adt/ri_triggers.c:2148 #, c-format msgid "no pg_constraint entry for trigger \"%s\" on table \"%s\"" msgstr "テーブル\"%2$s\"のトリガ\"%1$s\"用のpg_constraint項目がありません" -#: utils/adt/ri_triggers.c:2073 +#: utils/adt/ri_triggers.c:2150 #, c-format msgid "Remove this referential integrity trigger and its mates, then do ALTER TABLE ADD CONSTRAINT." msgstr "この参照整合性トリガとその対象を削除し、ALTER TABLE ADD CONSTRAINTを実行してください" -#: utils/adt/ri_triggers.c:2426 +#: utils/adt/ri_triggers.c:2518 #, c-format msgid "referential integrity query on \"%s\" from constraint \"%s\" on \"%s\" gave unexpected result" msgstr "\"%3$s\"の制約\"%2$s\"から\"%1$s\"に行われた参照整合性問い合わせが想定外の結果になりました" -#: utils/adt/ri_triggers.c:2430 +#: utils/adt/ri_triggers.c:2522 #, c-format msgid "This is most likely due to a rule having rewritten the query." msgstr "これは概ねこの問い合わせを書き換えるルールが原因です" -#: utils/adt/ri_triggers.c:2591 +#: utils/adt/ri_triggers.c:2683 #, c-format msgid "removing partition \"%s\" violates foreign key constraint \"%s\"" msgstr "子テーブル \"%s\"の削除は外部キー制約\"%s\"違反となります" -#: utils/adt/ri_triggers.c:2594 utils/adt/ri_triggers.c:2619 +#: utils/adt/ri_triggers.c:2686 utils/adt/ri_triggers.c:2711 #, c-format msgid "Key (%s)=(%s) is still referenced from table \"%s\"." msgstr "キー(%s)=(%s)はまだテーブル\"%s\"から参照されています" -#: utils/adt/ri_triggers.c:2605 +#: utils/adt/ri_triggers.c:2697 #, c-format msgid "Key (%s)=(%s) is not present in table \"%s\"." msgstr "テーブル\"%3$s\"にキー(%1$s)=(%2$s)がありません" -#: utils/adt/ri_triggers.c:2608 +#: utils/adt/ri_triggers.c:2700 #, c-format msgid "Key is not present in table \"%s\"." msgstr "テーブル\"%s\"にキーがありません。" -#: utils/adt/ri_triggers.c:2614 +#: utils/adt/ri_triggers.c:2706 #, c-format msgid "update or delete on table \"%s\" violates foreign key constraint \"%s\" on table \"%s\"" msgstr "テーブル\"%1$s\"の更新または削除は、テーブル\"%3$s\"の外部キー制約\"%2$s\"に違反します" -#: utils/adt/ri_triggers.c:2622 +#: utils/adt/ri_triggers.c:2714 #, c-format msgid "Key is still referenced from table \"%s\"." msgstr "テーブル\"%s\"からキーがまだ参照されています。" @@ -26312,133 +26716,153 @@ msgstr "バイナリデータのレコードカラム%5$dで予期していた%3 msgid "improper binary format in record column %d" msgstr "レコード列%dのバイナリ書式が不適切です" -#: utils/adt/rowtypes.c:949 utils/adt/rowtypes.c:1195 utils/adt/rowtypes.c:1453 utils/adt/rowtypes.c:1699 +#: utils/adt/rowtypes.c:949 utils/adt/rowtypes.c:1195 utils/adt/rowtypes.c:1471 utils/adt/rowtypes.c:1717 #, c-format msgid "cannot compare dissimilar column types %s and %s at record column %d" msgstr "レコードの列 %3$d において、全く異なる型 %1$s と %2$s では比較ができません" -#: utils/adt/rowtypes.c:1040 utils/adt/rowtypes.c:1265 utils/adt/rowtypes.c:1550 utils/adt/rowtypes.c:1735 +#: utils/adt/rowtypes.c:1040 utils/adt/rowtypes.c:1265 utils/adt/rowtypes.c:1568 utils/adt/rowtypes.c:1753 #, c-format msgid "cannot compare record types with different numbers of columns" msgstr "個数が異なる列同士ではレコード型の比較ができません" -#: utils/adt/ruleutils.c:2693 +#: utils/adt/ruleutils.c:2730 #, c-format msgid "input is a query, not an expression" msgstr "入力が式ではなく文です" -#: utils/adt/ruleutils.c:2705 +#: utils/adt/ruleutils.c:2742 #, c-format msgid "expression contains variables of more than one relation" msgstr "式が2つ以上のリレーションの変数を含んでいます" -#: utils/adt/ruleutils.c:2712 +#: utils/adt/ruleutils.c:2749 #, c-format msgid "expression contains variables" msgstr "式が変数を含んでいます" -#: utils/adt/ruleutils.c:5242 +#: utils/adt/ruleutils.c:5408 #, c-format msgid "rule \"%s\" has unsupported event type %d" msgstr "ルール\"%s\"はサポートしていないイベントタイプ%dを持ちます" -#: utils/adt/timestamp.c:128 +#: utils/adt/tid.c:317 +#, c-format +msgid "cannot look at latest visible tid for relation \"%s.%s\"" +msgstr "リレーション\"%s.%s\"の最新の可視TIDを参照できません" + +#: utils/adt/tid.c:356 +#, c-format +msgid "ctid isn't of type TID" +msgstr "ctidはTID型ではありません" + +#: utils/adt/tid.c:364 +#, c-format +msgid "currtid cannot handle views with no CTID" +msgstr "currtidはCTIDを持たないビューは扱えません" + +#: utils/adt/tid.c:369 +#, c-format +msgid "the view has no rules" +msgstr "このビューにはルールが設定されていません" + +#: utils/adt/tid.c:381 +#, c-format +msgid "only one select rule is allowed in views" +msgstr "ビューではSELECTルールは一つしか設定できません" + +#: utils/adt/timestamp.c:129 #, c-format msgid "TIMESTAMP(%d)%s precision must not be negative" msgstr "TIMESTAMP(%d)%s の精度は負であってはなりません" -#: utils/adt/timestamp.c:134 +#: utils/adt/timestamp.c:135 #, c-format msgid "TIMESTAMP(%d)%s precision reduced to maximum allowed, %d" msgstr "TIMESTAMP(%d)%sの位取りを許容最大値%dまで減らしました" -#: utils/adt/timestamp.c:394 +#: utils/adt/timestamp.c:395 #, c-format msgid "timestamp(%d) precision must be between %d and %d" msgstr "timestamp(%d)の精度は%dから%dまででなければなりません" -#: utils/adt/timestamp.c:512 +#: utils/adt/timestamp.c:513 #, c-format msgid "Numeric time zones must have \"-\" or \"+\" as first character." msgstr "数字タイムゾーンは先頭の文字が\"-\"または\"+\"でなければなりません。" -#: utils/adt/timestamp.c:524 +#: utils/adt/timestamp.c:525 #, c-format msgid "numeric time zone \"%s\" out of range" msgstr "数値タイムゾーン\"%s\"が範囲外です" -#: utils/adt/timestamp.c:625 utils/adt/timestamp.c:635 utils/adt/timestamp.c:643 +#: utils/adt/timestamp.c:625 utils/adt/timestamp.c:633 #, c-format msgid "timestamp out of range: %d-%02d-%02d %d:%02d:%02g" msgstr "timestampが範囲外です: %d-%02d-%02d %d:%02d:%02g" -#: utils/adt/timestamp.c:744 +#: utils/adt/timestamp.c:734 #, c-format msgid "timestamp cannot be NaN" msgstr "タイムスタンプは NaN にはできません" -#: utils/adt/timestamp.c:762 utils/adt/timestamp.c:774 +#: utils/adt/timestamp.c:752 utils/adt/timestamp.c:764 #, c-format msgid "timestamp out of range: \"%g\"" msgstr "timestampが範囲外です: \"%g\"" -#: utils/adt/timestamp.c:957 utils/adt/timestamp.c:1516 utils/adt/timestamp.c:1526 utils/adt/timestamp.c:1587 utils/adt/timestamp.c:2807 utils/adt/timestamp.c:2816 utils/adt/timestamp.c:2831 utils/adt/timestamp.c:2905 utils/adt/timestamp.c:2922 utils/adt/timestamp.c:2979 utils/adt/timestamp.c:3022 utils/adt/timestamp.c:3400 utils/adt/timestamp.c:3458 utils/adt/timestamp.c:3481 utils/adt/timestamp.c:3490 utils/adt/timestamp.c:3514 utils/adt/timestamp.c:3537 -#: utils/adt/timestamp.c:3546 utils/adt/timestamp.c:3681 utils/adt/timestamp.c:3782 utils/adt/timestamp.c:4274 utils/adt/timestamp.c:4283 utils/adt/timestamp.c:4375 utils/adt/timestamp.c:4422 utils/adt/timestamp.c:4431 utils/adt/timestamp.c:4527 utils/adt/timestamp.c:4580 utils/adt/timestamp.c:4590 utils/adt/timestamp.c:4785 utils/adt/timestamp.c:4795 utils/adt/timestamp.c:5097 +#: utils/adt/timestamp.c:947 utils/adt/timestamp.c:1506 utils/adt/timestamp.c:1516 utils/adt/timestamp.c:1577 utils/adt/timestamp.c:2800 utils/adt/timestamp.c:2809 utils/adt/timestamp.c:2824 utils/adt/timestamp.c:2898 utils/adt/timestamp.c:2915 utils/adt/timestamp.c:2972 utils/adt/timestamp.c:3015 utils/adt/timestamp.c:3393 utils/adt/timestamp.c:3451 utils/adt/timestamp.c:3474 utils/adt/timestamp.c:3483 utils/adt/timestamp.c:3507 utils/adt/timestamp.c:3530 +#: utils/adt/timestamp.c:3539 utils/adt/timestamp.c:3674 utils/adt/timestamp.c:3775 utils/adt/timestamp.c:4182 utils/adt/timestamp.c:4219 utils/adt/timestamp.c:4267 utils/adt/timestamp.c:4276 utils/adt/timestamp.c:4368 utils/adt/timestamp.c:4415 utils/adt/timestamp.c:4424 utils/adt/timestamp.c:4520 utils/adt/timestamp.c:4573 utils/adt/timestamp.c:4583 utils/adt/timestamp.c:4778 utils/adt/timestamp.c:4788 utils/adt/timestamp.c:5090 #, c-format msgid "interval out of range" msgstr "intervalが範囲外です" -#: utils/adt/timestamp.c:1094 utils/adt/timestamp.c:1127 +#: utils/adt/timestamp.c:1084 utils/adt/timestamp.c:1117 #, c-format msgid "invalid INTERVAL type modifier" msgstr "不正なINTERVAL型の修正子です" -#: utils/adt/timestamp.c:1110 +#: utils/adt/timestamp.c:1100 #, c-format msgid "INTERVAL(%d) precision must not be negative" msgstr "INTERVAL(%d)の精度は負ではいけません" -#: utils/adt/timestamp.c:1116 +#: utils/adt/timestamp.c:1106 #, c-format msgid "INTERVAL(%d) precision reduced to maximum allowed, %d" msgstr "INTERVAL(%d)の精度を許容最大値%dまで減らしました" -#: utils/adt/timestamp.c:1506 +#: utils/adt/timestamp.c:1496 #, c-format msgid "interval(%d) precision must be between %d and %d" msgstr "interval(%d)の精度は%dから%dまででなければなりません" -#: utils/adt/timestamp.c:4189 utils/adt/timestamp.c:4226 -#, c-format -msgid "interval out of range." -msgstr "intervalが範囲外です" - -#: utils/adt/timestamp.c:4564 utils/adt/timestamp.c:4769 +#: utils/adt/timestamp.c:4557 utils/adt/timestamp.c:4762 #, c-format msgid "origin out of range" msgstr "基点が範囲外です" -#: utils/adt/timestamp.c:4569 utils/adt/timestamp.c:4774 +#: utils/adt/timestamp.c:4562 utils/adt/timestamp.c:4767 #, c-format msgid "timestamps cannot be binned into infinite intervals" msgstr "タイムスタンプは無限のintervalにビニングすることはできません" -#: utils/adt/timestamp.c:4574 utils/adt/timestamp.c:4779 +#: utils/adt/timestamp.c:4567 utils/adt/timestamp.c:4772 #, c-format msgid "timestamps cannot be binned into intervals containing months or years" msgstr "タイムスタンプ型は月や年を含む間隔にビニングすることはできません" -#: utils/adt/timestamp.c:4585 utils/adt/timestamp.c:4790 +#: utils/adt/timestamp.c:4578 utils/adt/timestamp.c:4783 #, c-format msgid "stride must be greater than zero" msgstr "増分は0より大きくなければなりません" -#: utils/adt/timestamp.c:5091 +#: utils/adt/timestamp.c:5084 #, c-format msgid "Months usually have fractional weeks." msgstr "月は通常週の端数を含んでいます。" -#: utils/adt/timestamp.c:6551 utils/adt/timestamp.c:6637 +#: utils/adt/timestamp.c:6560 utils/adt/timestamp.c:6646 #, c-format msgid "step size cannot be infinite" msgstr "加算量は無限にはできません" @@ -26473,32 +26897,32 @@ msgstr "フレーズ演算子での距離は0以上%d以下の整数でなくて msgid "no operand in tsquery: \"%s\"" msgstr "tsquery内にオペランドがありません\"%s\"" -#: utils/adt/tsquery.c:558 +#: utils/adt/tsquery.c:554 #, c-format msgid "value is too big in tsquery: \"%s\"" msgstr "tsquery内の値が大きすぎます: \"%s\"" -#: utils/adt/tsquery.c:563 +#: utils/adt/tsquery.c:559 #, c-format msgid "operand is too long in tsquery: \"%s\"" msgstr "tsqueryのオペランドが長過ぎます: \"%s\"" -#: utils/adt/tsquery.c:591 +#: utils/adt/tsquery.c:587 #, c-format msgid "word is too long in tsquery: \"%s\"" msgstr "tsquery内の単語が長すぎます: \"%s\"" -#: utils/adt/tsquery.c:717 utils/adt/tsvector_parser.c:147 +#: utils/adt/tsquery.c:713 utils/adt/tsvector_parser.c:147 #, c-format msgid "syntax error in tsquery: \"%s\"" msgstr "tsquery内の構文エラー: \"%s\"" -#: utils/adt/tsquery.c:883 +#: utils/adt/tsquery.c:879 #, c-format msgid "text-search query doesn't contain lexemes: \"%s\"" msgstr "テキスト検索問い合わせが字句要素を含みません: \"%s\"" -#: utils/adt/tsquery.c:894 utils/adt/tsquery_util.c:376 +#: utils/adt/tsquery.c:890 utils/adt/tsquery_util.c:376 #, c-format msgid "tsquery is too large" msgstr "tsqueryが大きすぎます" @@ -26513,22 +26937,22 @@ msgstr "テキスト検索問い合わせはストップワードのみを含む msgid "ts_rewrite query must return two tsquery columns" msgstr "ts_rewrite問い合わせは2列のtsquery列を返さなければなりません" -#: utils/adt/tsrank.c:412 +#: utils/adt/tsrank.c:415 #, c-format msgid "array of weight must be one-dimensional" msgstr "重み配列は1次元の配列でなければなりません" -#: utils/adt/tsrank.c:417 +#: utils/adt/tsrank.c:420 #, c-format msgid "array of weight is too short" msgstr "重み配列が短すぎます" -#: utils/adt/tsrank.c:422 +#: utils/adt/tsrank.c:425 #, c-format msgid "array of weight must not contain nulls" msgstr "重み配列にはNULL値を含めてはいけません" -#: utils/adt/tsrank.c:431 utils/adt/tsrank.c:871 +#: utils/adt/tsrank.c:434 utils/adt/tsrank.c:876 #, c-format msgid "weight out of range" msgstr "重みが範囲外です" @@ -26618,7 +27042,7 @@ msgstr "エスケープ文字がありません: \"%s\"" msgid "wrong position info in tsvector: \"%s\"" msgstr "tsvector内の位置情報が間違っています: \"%s\"" -#: utils/adt/uuid.c:418 +#: utils/adt/uuid.c:412 #, c-format msgid "could not generate random values" msgstr "乱数値を生成できませんでした" @@ -26663,7 +27087,7 @@ msgstr "ビット列の外部値の不正な長さ" msgid "bit string too long for type bit varying(%d)" msgstr "ビット列は型bit varying(%d)には長すぎます" -#: utils/adt/varbit.c:1081 utils/adt/varbit.c:1191 utils/adt/varlena.c:911 utils/adt/varlena.c:974 utils/adt/varlena.c:1131 utils/adt/varlena.c:3055 utils/adt/varlena.c:3133 +#: utils/adt/varbit.c:1081 utils/adt/varbit.c:1191 utils/adt/varlena.c:911 utils/adt/varlena.c:974 utils/adt/varlena.c:1131 utils/adt/varlena.c:3030 utils/adt/varlena.c:3108 #, c-format msgid "negative substring length not allowed" msgstr "負の長さのsubstringは許可されません" @@ -26688,7 +27112,7 @@ msgstr "サイズが異なるビット列のXORはできません" msgid "bit index %d out of valid range (0..%d)" msgstr "ビットのインデックス%dが有効範囲0..%dの間にありません" -#: utils/adt/varbit.c:1833 utils/adt/varlena.c:3337 +#: utils/adt/varbit.c:1833 utils/adt/varlena.c:3312 #, c-format msgid "new bit must be 0 or 1" msgstr "新しいビットは0か1でなければなりません" @@ -26703,92 +27127,92 @@ msgstr "値は型character(%d)としては長すぎます" msgid "value too long for type character varying(%d)" msgstr "値は型character varying(%d)としては長すぎます" -#: utils/adt/varchar.c:737 utils/adt/varlena.c:1520 +#: utils/adt/varchar.c:737 utils/adt/varlena.c:1519 #, c-format msgid "could not determine which collation to use for string comparison" msgstr "文字列比較で使用する照合順序を特定できませんでした" -#: utils/adt/varlena.c:1230 utils/adt/varlena.c:1809 +#: utils/adt/varlena.c:1229 utils/adt/varlena.c:1792 #, c-format msgid "nondeterministic collations are not supported for substring searches" msgstr "非決定的照合順序は部分文字列探索ではサポートされません" -#: utils/adt/varlena.c:3221 utils/adt/varlena.c:3288 +#: utils/adt/varlena.c:3196 utils/adt/varlena.c:3263 #, c-format msgid "index %d out of valid range, 0..%d" msgstr "インデックス%dは有効範囲0..%dの間にありません" -#: utils/adt/varlena.c:3252 utils/adt/varlena.c:3324 +#: utils/adt/varlena.c:3227 utils/adt/varlena.c:3299 #, c-format msgid "index %lld out of valid range, 0..%lld" msgstr "インデックス%lldは有効範囲0..%lldの間にありません" -#: utils/adt/varlena.c:4385 +#: utils/adt/varlena.c:4398 #, c-format msgid "field position must not be zero" msgstr "フィールド位置には0は指定できません" -#: utils/adt/varlena.c:5630 +#: utils/adt/varlena.c:5643 #, c-format msgid "unterminated format() type specifier" msgstr "終端されていないformat()型指定子" -#: utils/adt/varlena.c:5631 utils/adt/varlena.c:5765 utils/adt/varlena.c:5886 +#: utils/adt/varlena.c:5644 utils/adt/varlena.c:5778 utils/adt/varlena.c:5899 #, c-format msgid "For a single \"%%\" use \"%%%%\"." msgstr "一つの\"%%\"には\"%%%%\"を使ってください。" -#: utils/adt/varlena.c:5763 utils/adt/varlena.c:5884 +#: utils/adt/varlena.c:5776 utils/adt/varlena.c:5897 #, c-format msgid "unrecognized format() type specifier \"%.*s\"" msgstr "認識できない format() の型指定子\"%.*s\"" -#: utils/adt/varlena.c:5776 utils/adt/varlena.c:5833 +#: utils/adt/varlena.c:5789 utils/adt/varlena.c:5846 #, c-format msgid "too few arguments for format()" msgstr "format()の引数が少なすぎます" -#: utils/adt/varlena.c:5929 utils/adt/varlena.c:6111 +#: utils/adt/varlena.c:5942 utils/adt/varlena.c:6124 #, c-format msgid "number is out of range" msgstr "数値が範囲外です" -#: utils/adt/varlena.c:5992 utils/adt/varlena.c:6020 +#: utils/adt/varlena.c:6005 utils/adt/varlena.c:6033 #, c-format msgid "format specifies argument 0, but arguments are numbered from 1" msgstr "書式は引数0を指定していますが、引数が1から始まっています" -#: utils/adt/varlena.c:6013 +#: utils/adt/varlena.c:6026 #, c-format msgid "width argument position must be ended by \"$\"" msgstr "width引数の位置は\"$\"で終わらなければなりません" -#: utils/adt/varlena.c:6058 +#: utils/adt/varlena.c:6071 #, c-format msgid "null values cannot be formatted as an SQL identifier" msgstr "NULLはSQL識別子として書式付けできません" -#: utils/adt/varlena.c:6266 +#: utils/adt/varlena.c:6279 #, c-format msgid "Unicode normalization can only be performed if server encoding is UTF8" msgstr "Unicode正規化はサーバーエンコーディングがUTF-8の場合にのみ実行されます" -#: utils/adt/varlena.c:6279 +#: utils/adt/varlena.c:6292 #, c-format msgid "invalid normalization form: %s" msgstr "不正な正規化形式: %s" -#: utils/adt/varlena.c:6324 +#: utils/adt/varlena.c:6337 #, c-format msgid "Unicode categorization can only be performed if server encoding is UTF8" msgstr "Unicodeカテゴリー分類はサーバーエンコーディングがUTF-8の場合にのみ実行可能です" -#: utils/adt/varlena.c:6541 utils/adt/varlena.c:6576 utils/adt/varlena.c:6611 +#: utils/adt/varlena.c:6554 utils/adt/varlena.c:6589 utils/adt/varlena.c:6624 #, c-format msgid "invalid Unicode code point: %04X" msgstr "不正なUnicodeコードポイント: %04X" -#: utils/adt/varlena.c:6641 +#: utils/adt/varlena.c:6654 #, c-format msgid "Unicode escapes must be \\XXXX, \\+XXXXXX, \\uXXXX, or \\UXXXXXXXX." msgstr "Unicodeエスケープは \\XXXX、\\+XXXXXX、\\uXXXX または \\UXXXXXXXX でなければなりません。" @@ -26833,141 +27257,141 @@ msgstr "不正な符号化方式名\"%s\"" msgid "invalid XML comment" msgstr "無効なXMLコメント" -#: utils/adt/xml.c:691 +#: utils/adt/xml.c:697 #, c-format msgid "not an XML document" msgstr "XML文書ではありません" -#: utils/adt/xml.c:987 utils/adt/xml.c:1010 +#: utils/adt/xml.c:1008 utils/adt/xml.c:1031 #, c-format msgid "invalid XML processing instruction" msgstr "無効なXML処理命令です" -#: utils/adt/xml.c:988 +#: utils/adt/xml.c:1009 #, c-format msgid "XML processing instruction target name cannot be \"%s\"." msgstr "XML処理命令の対象名を\"%s\"とすることができませんでした。" -#: utils/adt/xml.c:1011 +#: utils/adt/xml.c:1032 #, c-format msgid "XML processing instruction cannot contain \"?>\"." msgstr "XML処理命令には\"?>\"を含めることはできません。" -#: utils/adt/xml.c:1090 +#: utils/adt/xml.c:1111 #, c-format msgid "xmlvalidate is not implemented" msgstr "XML の妥当性検査は実装されていません" -#: utils/adt/xml.c:1146 +#: utils/adt/xml.c:1167 #, c-format msgid "could not initialize XML library" msgstr "XMLライブラリを初期化できませんでした" -#: utils/adt/xml.c:1147 +#: utils/adt/xml.c:1168 #, c-format msgid "libxml2 has incompatible char type: sizeof(char)=%zu, sizeof(xmlChar)=%zu." msgstr "libxml2が互換性がない文字型を持ちます: sizeof(char)=%zu、sizeof(xmlChar)=%zu" -#: utils/adt/xml.c:1233 +#: utils/adt/xml.c:1254 #, c-format msgid "could not set up XML error handler" msgstr "XMLエラーハンドラを設定できませんでした" -#: utils/adt/xml.c:1234 +#: utils/adt/xml.c:1255 #, 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のバージョンがPostgreSQLを構築する時に使用したlibxml2ヘッダと互換性がないことを示します。" -#: utils/adt/xml.c:2218 +#: utils/adt/xml.c:2281 msgid "Invalid character value." msgstr "文字の値が有効ではありません" -#: utils/adt/xml.c:2221 +#: utils/adt/xml.c:2284 msgid "Space required." msgstr "スペースをあけてください。" -#: utils/adt/xml.c:2224 +#: utils/adt/xml.c:2287 msgid "standalone accepts only 'yes' or 'no'." msgstr "standalone には 'yes' か 'no' だけが有効です。" -#: utils/adt/xml.c:2227 +#: utils/adt/xml.c:2290 msgid "Malformed declaration: missing version." msgstr "不正な形式の宣言: バージョンがありません。" -#: utils/adt/xml.c:2230 +#: utils/adt/xml.c:2293 msgid "Missing encoding in text declaration." msgstr "テキスト宣言にエンコーディングの指定がありません。" -#: utils/adt/xml.c:2233 +#: utils/adt/xml.c:2296 msgid "Parsing XML declaration: '?>' expected." msgstr "XML 宣言のパース中: '>?' が必要です。" -#: utils/adt/xml.c:2236 +#: utils/adt/xml.c:2299 #, c-format msgid "Unrecognized libxml error code: %d." msgstr "認識できないlibxml のエラーコード: %d" -#: utils/adt/xml.c:2490 +#: utils/adt/xml.c:2553 #, c-format msgid "XML does not support infinite date values." msgstr "XMLはデータ値として無限をサポートしません。" -#: utils/adt/xml.c:2512 utils/adt/xml.c:2539 +#: utils/adt/xml.c:2575 utils/adt/xml.c:2602 #, c-format msgid "XML does not support infinite timestamp values." msgstr "XMLタイムスタンプ値としては無限をサポートしません。" -#: utils/adt/xml.c:2955 +#: utils/adt/xml.c:3018 #, c-format msgid "invalid query" msgstr "不正な無効な問い合わせ" -#: utils/adt/xml.c:3047 +#: utils/adt/xml.c:3110 #, c-format msgid "portal \"%s\" does not return tuples" msgstr "ポータル\"%s\"はタプルを返却しません" -#: utils/adt/xml.c:4299 +#: utils/adt/xml.c:4362 #, c-format msgid "invalid array for XML namespace mapping" msgstr "XML名前空間マッピングに対する不正な配列" -#: utils/adt/xml.c:4300 +#: utils/adt/xml.c:4363 #, c-format msgid "The array must be two-dimensional with length of the second axis equal to 2." msgstr "この配列は第2軸の長さが2である2次元配列でなければなりません。" -#: utils/adt/xml.c:4324 +#: utils/adt/xml.c:4387 #, c-format msgid "empty XPath expression" msgstr "空のXPath式" -#: utils/adt/xml.c:4376 +#: utils/adt/xml.c:4439 #, c-format msgid "neither namespace name nor URI may be null" msgstr "名前空間名もURIもnullにはできません" -#: utils/adt/xml.c:4383 +#: utils/adt/xml.c:4446 #, c-format msgid "could not register XML namespace with name \"%s\" and URI \"%s\"" msgstr "\"%s\"という名前のXML名前空間およびURI\"%s\"を登録できませんでした" -#: utils/adt/xml.c:4726 +#: utils/adt/xml.c:4795 #, c-format msgid "DEFAULT namespace is not supported" msgstr "デフォルト名前空間は実装されていません" -#: utils/adt/xml.c:4755 +#: utils/adt/xml.c:4824 #, c-format msgid "row path filter must not be empty string" msgstr "行パスフィルタは空文字列であってはなりません" -#: utils/adt/xml.c:4786 +#: utils/adt/xml.c:4858 #, c-format msgid "column path filter must not be empty string" msgstr "列パスフィルタ空文字列であってはなりません" -#: utils/adt/xml.c:4930 +#: utils/adt/xml.c:5005 #, c-format msgid "more than one value returned by column XPath expression" msgstr "列XPath式が2つ以上の値を返却しました" @@ -27002,27 +27426,27 @@ msgstr "アクセスメソッド %2$s の演算子クラス\"%1$s\"は%4$s型に msgid "cached plan must not change result type" msgstr "キャッシュした実行計画は結果型を変更してはなりません" -#: utils/cache/relcache.c:3797 +#: utils/cache/relcache.c:3762 #, c-format msgid "heap relfilenumber value not set when in binary upgrade mode" msgstr "バイナリアップグレードモード中にヒープのrelfilenumberの値が設定されていません" -#: utils/cache/relcache.c:3805 +#: utils/cache/relcache.c:3770 #, c-format msgid "unexpected request for new relfilenumber in binary upgrade mode" msgstr "バイナリアップグレードモード中に、予期しない新規relfilenumberの要求がありました" -#: utils/cache/relcache.c:6533 +#: utils/cache/relcache.c:6530 #, c-format msgid "could not create relation-cache initialization file \"%s\": %m" msgstr "リレーションキャッシュ初期化ファイル\"%sを作成できません: %m" -#: utils/cache/relcache.c:6535 +#: utils/cache/relcache.c:6532 #, c-format msgid "Continuing anyway, but there's something wrong." msgstr "とりあえず続行しますが、何かがおかしいです。" -#: utils/cache/relcache.c:6865 +#: utils/cache/relcache.c:6862 #, c-format msgid "could not remove cache file \"%s\": %m" msgstr "キャッシュファイル\"%s\"を削除できませんでした: %m" @@ -27042,7 +27466,7 @@ msgstr "リレーションマッピングファイル\"%s\"に不正なデータ msgid "relation mapping file \"%s\" contains incorrect checksum" msgstr "リレーションマッピングファイル\"%s\"の中に不正なチェックサムがあります" -#: utils/cache/typcache.c:1812 utils/fmgr/funcapi.c:574 +#: utils/cache/typcache.c:1899 utils/fmgr/funcapi.c:574 #, c-format msgid "record type has not been registered" msgstr "レコード型は登録されていません" @@ -27057,102 +27481,102 @@ msgstr "TRAP: 例外条件: PID %dで不正な引数\n" msgid "TRAP: failed Assert(\"%s\"), File: \"%s\", Line: %d, PID: %d\n" msgstr "TRAP: Assert(\"%s\")が失敗、ファイル: \"%s\"、行: %d、PID: %d)\n" -#: utils/error/elog.c:415 +#: utils/error/elog.c:411 #, c-format msgid "error occurred before error message processing is available\n" msgstr "エラーメッセージの処理が可能になる前にエラーが発生しました\n" -#: utils/error/elog.c:2101 +#: utils/error/elog.c:2137 #, c-format msgid "could not reopen file \"%s\" as stderr: %m" msgstr "ファイル\"%s\"の標準エラー出力としての再オープンに失敗しました: %m" -#: utils/error/elog.c:2114 +#: utils/error/elog.c:2150 #, c-format msgid "could not reopen file \"%s\" as stdout: %m" msgstr "ファイル\"%s\"の標準出力としての再オープンに失敗しました: %m" -#: utils/error/elog.c:2150 +#: utils/error/elog.c:2186 #, c-format msgid "Invalid character" msgstr "不正な文字" -#: utils/error/elog.c:2856 utils/error/elog.c:2883 utils/error/elog.c:2899 +#: utils/error/elog.c:2892 utils/error/elog.c:2919 utils/error/elog.c:2935 msgid "[unknown]" msgstr "[不明]" -#: utils/error/elog.c:3169 utils/error/elog.c:3493 utils/error/elog.c:3600 +#: utils/error/elog.c:3205 utils/error/elog.c:3529 utils/error/elog.c:3636 msgid "missing error text" msgstr "エラーテキストがありません" -#: utils/error/elog.c:3172 utils/error/elog.c:3175 +#: utils/error/elog.c:3208 utils/error/elog.c:3211 #, c-format msgid " at character %d" msgstr "(%d文字目)" -#: utils/error/elog.c:3185 utils/error/elog.c:3192 +#: utils/error/elog.c:3221 utils/error/elog.c:3228 msgid "DETAIL: " msgstr "詳細: " -#: utils/error/elog.c:3199 +#: utils/error/elog.c:3235 msgid "HINT: " msgstr "ヒント: " -#: utils/error/elog.c:3206 +#: utils/error/elog.c:3242 msgid "QUERY: " msgstr "問い合わせ: " -#: utils/error/elog.c:3213 +#: utils/error/elog.c:3249 msgid "CONTEXT: " msgstr "文脈: " -#: utils/error/elog.c:3223 +#: utils/error/elog.c:3259 #, c-format msgid "LOCATION: %s, %s:%d\n" msgstr "場所: %s, %s:%d\n" -#: utils/error/elog.c:3230 +#: utils/error/elog.c:3266 #, c-format msgid "LOCATION: %s:%d\n" msgstr "場所: %s:%d\n" -#: utils/error/elog.c:3237 +#: utils/error/elog.c:3273 msgid "BACKTRACE: " msgstr "バックトレース: " -#: utils/error/elog.c:3249 +#: utils/error/elog.c:3285 msgid "STATEMENT: " msgstr "文: " -#: utils/error/elog.c:3645 +#: utils/error/elog.c:3681 msgid "DEBUG" msgstr "DEBUG" -#: utils/error/elog.c:3649 +#: utils/error/elog.c:3685 msgid "LOG" msgstr "LOG" -#: utils/error/elog.c:3652 +#: utils/error/elog.c:3688 msgid "INFO" msgstr "INFO" -#: utils/error/elog.c:3655 +#: utils/error/elog.c:3691 msgid "NOTICE" msgstr "NOTICE" -#: utils/error/elog.c:3659 +#: utils/error/elog.c:3695 msgid "WARNING" msgstr "WARNING" -#: utils/error/elog.c:3662 +#: utils/error/elog.c:3698 msgid "ERROR" msgstr "ERROR" -#: utils/error/elog.c:3665 +#: utils/error/elog.c:3701 msgid "FATAL" msgstr "FATAL" -#: utils/error/elog.c:3668 +#: utils/error/elog.c:3704 msgid "PANIC" msgstr "PANIC" @@ -27196,51 +27620,43 @@ msgstr "非互換のライブラリ\"%s\": ABIの不一致" msgid "Server has ABI \"%s\", library has \"%s\"." msgstr "サーバー側ABIは\"%s\"、ライブラリ側は\"%s\"です。" -#: utils/fmgr/dfmgr.c:361 -#, c-format -msgid "Server has FUNC_MAX_ARGS = %d, library has %d." -msgstr "サーバー側は FUNC_MAX_ARGS = %d ですが、ライブラリ側は %d です" - -#: utils/fmgr/dfmgr.c:370 -#, c-format -msgid "Server has INDEX_MAX_KEYS = %d, library has %d." -msgstr "サーバー側は INDEX_MAX_KEYS = %d ですが、ライブラリ側は %d です" - -#: utils/fmgr/dfmgr.c:379 +#. translator: %s is a variable name and %d its values +#: utils/fmgr/dfmgr.c:362 utils/fmgr/dfmgr.c:372 utils/fmgr/dfmgr.c:382 #, c-format -msgid "Server has NAMEDATALEN = %d, library has %d." -msgstr "サーバー側は NAMEDATALEN = %d ですが、ライブラリ側は %d です" +msgid "Server has %s = %d, library has %d." +msgstr "サーバー側では %s = %d ですが、ライブラリ側は %d です。" -#: utils/fmgr/dfmgr.c:388 +#. translator: %s is a variable name and %d its values +#: utils/fmgr/dfmgr.c:392 #, c-format -msgid "Server has FLOAT8PASSBYVAL = %s, library has %s." -msgstr "サーバー側はFLOAT8PASSBYVAL = %sですが、ライブラリ側は%sです。" +msgid "Server has %s = %s, library has %s." +msgstr "サーバー側では %s = \"%s\"ですが、ライブラリ側は\"%s\"です。" -#: utils/fmgr/dfmgr.c:395 +#: utils/fmgr/dfmgr.c:399 msgid "Magic block has unexpected length or padding difference." msgstr "マジックブロックが意図しない長さであるか、またはパディングが異なります。" -#: utils/fmgr/dfmgr.c:398 +#: utils/fmgr/dfmgr.c:402 #, c-format msgid "incompatible library \"%s\": magic block mismatch" msgstr "\"%s\"は互換性がないライブラリです: マジックブロックの不一致" -#: utils/fmgr/dfmgr.c:475 +#: utils/fmgr/dfmgr.c:479 #, c-format msgid "access to library \"%s\" is not allowed" msgstr "ライブラリ\"%s\"へのアクセスは許可されません" -#: utils/fmgr/dfmgr.c:501 +#: utils/fmgr/dfmgr.c:505 #, c-format msgid "invalid macro name in dynamic library path: %s" msgstr "ダイナミックライブラリパス内のマクロが不正です: %s" -#: utils/fmgr/dfmgr.c:541 +#: utils/fmgr/dfmgr.c:545 #, c-format msgid "zero-length component in parameter \"dynamic_library_path\"" msgstr "パラメータ\"dynamic_library_path\"内に長さが0の要素があります" -#: utils/fmgr/dfmgr.c:560 +#: utils/fmgr/dfmgr.c:564 #, c-format msgid "component in parameter \"dynamic_library_path\" is not an absolute path" msgstr "パラメータ\"dynamic_library_path\"内の要素が絶対パスでありません" @@ -27340,7 +27756,7 @@ msgstr "権限は u=rwx(0700) または u=rwx,g=rx (0750) でなければなり msgid "could not change directory to \"%s\": %m" msgstr "ディレクトリ\"%s\"に移動できませんでした: %m" -#: utils/init/miscinit.c:697 utils/misc/guc.c:3641 +#: utils/init/miscinit.c:697 utils/misc/guc.c:3647 #, c-format msgid "cannot set parameter \"%s\" within security-restricted operation" msgstr "セキュリティー制限操作内でパラメーター\"%s\"を設定できません" @@ -27435,7 +27851,7 @@ msgstr "このファイルは偶然残ってしまったようですが、削除 msgid "could not write lock file \"%s\": %m" msgstr "ロックファイル\"%s\"に書き出せませんでした: %m" -#: utils/init/miscinit.c:1537 utils/init/miscinit.c:1679 utils/misc/guc.c:5715 +#: utils/init/miscinit.c:1537 utils/init/miscinit.c:1679 utils/misc/guc.c:5721 #, c-format msgid "could not read from file \"%s\": %m" msgstr "ファイル\"%s\"から読み取れませんでした: %m" @@ -27518,122 +27934,132 @@ msgstr "はい" msgid " GSS (authenticated=%s, encrypted=%s, delegated_credentials=%s)" msgstr " GSS (認証=%s、暗号化=%s、委任資格証明=%s)" -#: utils/init/postinit.c:333 +#: utils/init/postinit.c:332 #, c-format msgid "database \"%s\" has disappeared from pg_database" msgstr "データベース\"%s\"はpg_databaseから消失しました" -#: utils/init/postinit.c:335 +#: utils/init/postinit.c:334 #, c-format msgid "Database OID %u now seems to belong to \"%s\"." msgstr "OID%uのデータベースは\"%s\"に属するようです。" -#: utils/init/postinit.c:355 +#: utils/init/postinit.c:354 #, c-format msgid "database \"%s\" is not currently accepting connections" msgstr "現在データベース\"%s\"は接続を受け付けません" -#: utils/init/postinit.c:368 +#: utils/init/postinit.c:367 #, c-format msgid "permission denied for database \"%s\"" msgstr "データベース\"%s\"へのアクセスが拒否されました" -#: utils/init/postinit.c:369 +#: utils/init/postinit.c:368 #, c-format msgid "User does not have CONNECT privilege." msgstr "ユーザーはCONNECT権限を持ちません。" -#: utils/init/postinit.c:386 +#: utils/init/postinit.c:385 #, c-format msgid "too many connections for database \"%s\"" msgstr "データベース\"%s\"への接続が多すぎます" -#: utils/init/postinit.c:410 utils/init/postinit.c:417 +#: utils/init/postinit.c:409 utils/init/postinit.c:416 #, c-format msgid "database locale is incompatible with operating system" msgstr "データベースのロケールがオペレーティングシステムと互換性がありません" -#: utils/init/postinit.c:411 +#: utils/init/postinit.c:410 #, c-format msgid "The database was initialized with LC_COLLATE \"%s\", which is not recognized by setlocale()." msgstr "データベースは LC_COLLATE \"%s\"で初期化されていますが、setlocale() でこれを認識されません" -#: utils/init/postinit.c:413 utils/init/postinit.c:420 +#: utils/init/postinit.c:412 utils/init/postinit.c:419 #, c-format msgid "Recreate the database with another locale or install the missing locale." msgstr "データベースを別のロケールで再生成するか、または不足しているロケールをインストールしてください" -#: utils/init/postinit.c:418 +#: utils/init/postinit.c:417 #, c-format msgid "The database was initialized with LC_CTYPE \"%s\", which is not recognized by setlocale()." msgstr "データベースは LC_CTYPE \"%s\"で初期化されていますが、setlocale()でこれを認識されません" -#: utils/init/postinit.c:491 +#: utils/init/postinit.c:458 #, c-format msgid "database \"%s\" has a collation version mismatch" msgstr "データベース\"%s\"で照合順序バージョンの不一致が起きています" -#: utils/init/postinit.c:493 +#: utils/init/postinit.c:460 #, c-format msgid "The database was created using collation version %s, but the operating system provides version %s." msgstr "データベースは照合順序バージョン%sで作成されていますが、オペレーティングシステムはバージョン%sを提供しています。" -#: utils/init/postinit.c:496 +#: utils/init/postinit.c:463 #, c-format msgid "Rebuild all objects in this database that use the default collation and run ALTER DATABASE %s REFRESH COLLATION VERSION, or build PostgreSQL with the right library version." msgstr "このデータベース内でデフォルトの照合順序を使用している全てのオブジェクトを再構築して、ALTER DATABASE %s REFRESH COLLATION VERSIONを実行するか、正しいバージョンのライブラリを用いてPostgreSQLをビルドしてください。" -#: utils/init/postinit.c:902 +#: utils/init/postinit.c:553 +#, c-format +msgid "too many server processes configured" +msgstr "サーバープロセス数の設定が大きすぎます" + +#: utils/init/postinit.c:554 +#, c-format +msgid "\"max_connections\" (%d) plus \"autovacuum_max_workers\" (%d) plus \"max_worker_processes\" (%d) plus \"max_wal_senders\" (%d) must be less than %d." +msgstr "\"max_connections\" (%d) + \"autovacuum_max_workers\" (%d) + \"max_worker_processes\" (%d) + \"max_wal_senders\" (%d)は%dより小さくなければなりません。" + +#: utils/init/postinit.c:863 #, c-format msgid "no roles are defined in this database system" msgstr "データベースシステム内でロールが定義されていません" -#: utils/init/postinit.c:903 +#: utils/init/postinit.c:864 #, c-format msgid "You should immediately run CREATE USER \"%s\" SUPERUSER;." msgstr "すぐに CREATE USER \"%s\" SUPERUSER; を実行してください。" -#: utils/init/postinit.c:940 +#: utils/init/postinit.c:901 #, c-format msgid "must be superuser to connect in binary upgrade mode" msgstr "バイナリアップグレードモード中に接続するにはスーパーユーザーである必要があります" -#: utils/init/postinit.c:961 +#: utils/init/postinit.c:922 #, c-format msgid "remaining connection slots are reserved for roles with the %s attribute" msgstr "残りの接続枠は%s属性を持つロールのために予約されています" -#: utils/init/postinit.c:967 +#: utils/init/postinit.c:928 #, c-format msgid "remaining connection slots are reserved for roles with privileges of the \"%s\" role" msgstr "残りの接続枠は\"%s\"ロールの権限を持つロールのために予約されています" -#: utils/init/postinit.c:979 +#: utils/init/postinit.c:940 #, c-format msgid "permission denied to start WAL sender" msgstr "WAL送信プロセスを開始する権限がありません" -#: utils/init/postinit.c:980 +#: utils/init/postinit.c:941 #, c-format msgid "Only roles with the %s attribute may start a WAL sender process." msgstr "%s属性を持つロールのみがWAL送信プロセスを開始できます。" -#: utils/init/postinit.c:1098 +#: utils/init/postinit.c:1059 #, c-format msgid "It seems to have just been dropped or renamed." msgstr "削除またはリネームされたばかりのようです。" -#: utils/init/postinit.c:1102 +#: utils/init/postinit.c:1063 #, c-format msgid "database %u does not exist" msgstr "データベース %u は存在しません" -#: utils/init/postinit.c:1111 +#: utils/init/postinit.c:1072 #, c-format msgid "cannot connect to invalid database \"%s\"" msgstr "無効なデータベース\"%s\"への接続はできません" -#: utils/init/postinit.c:1172 +#: utils/init/postinit.c:1133 #, c-format msgid "The database subdirectory \"%s\" is missing." msgstr "データベースのサブディレクトリ\"%s\"がありません。" @@ -27713,80 +28139,80 @@ msgstr "空の設定ディレクトリ名: \"%s\"" msgid "could not open configuration directory \"%s\": %m" msgstr "設定ディレクトリ\"%s\"をオープンできませんでした: %m" -#: utils/misc/guc.c:122 +#: utils/misc/guc.c:119 msgid "Valid units for this parameter are \"B\", \"kB\", \"MB\", \"GB\", and \"TB\"." msgstr "このパラメータで使用可能な単位は\"B\"、\"kB\"、\"MB\"、\"GB\"および\"TB\"です。" -#: utils/misc/guc.c:159 +#: utils/misc/guc.c:156 msgid "Valid units for this parameter are \"us\", \"ms\", \"s\", \"min\", \"h\", and \"d\"." msgstr "このパラメータの有効単位は \"us\"、\"ms\"、\"s\"、\"min\"、\"h\"そして\"d\"です。" -#: utils/misc/guc.c:430 +#: utils/misc/guc.c:428 #, c-format msgid "unrecognized configuration parameter \"%s\" in file \"%s\" line %d" msgstr "ファイル\"%2$s\"行%3$dで認識できない設定パラメータ\"%1$s\"" -#: utils/misc/guc.c:470 utils/misc/guc.c:3495 utils/misc/guc.c:3739 utils/misc/guc.c:3837 utils/misc/guc.c:3935 utils/misc/guc.c:4059 utils/misc/guc.c:4162 +#: utils/misc/guc.c:468 utils/misc/guc.c:3501 utils/misc/guc.c:3745 utils/misc/guc.c:3843 utils/misc/guc.c:3941 utils/misc/guc.c:4065 utils/misc/guc.c:4168 #, c-format msgid "parameter \"%s\" cannot be changed without restarting the server" msgstr "パラメータ\"%s\"を変更するにはサーバーの再起動が必要です" -#: utils/misc/guc.c:506 +#: utils/misc/guc.c:504 #, c-format msgid "parameter \"%s\" removed from configuration file, reset to default" msgstr "パラメーター\"%s\"が設定ファイルから削除されました。デフォルト値に戻ります。" -#: utils/misc/guc.c:571 +#: utils/misc/guc.c:569 #, c-format msgid "parameter \"%s\" changed to \"%s\"" msgstr "パラメータ\"%s\"は\"%s\"に変更されました" -#: utils/misc/guc.c:613 +#: utils/misc/guc.c:611 #, c-format msgid "configuration file \"%s\" contains errors" msgstr "設定ファイル\"%s\"にはエラーがあります" -#: utils/misc/guc.c:618 +#: utils/misc/guc.c:616 #, c-format msgid "configuration file \"%s\" contains errors; unaffected changes were applied" msgstr "設定ファイル\"%s\"にはエラーがあります。影響がない変更は適用されました" -#: utils/misc/guc.c:623 +#: utils/misc/guc.c:621 #, c-format msgid "configuration file \"%s\" contains errors; no changes were applied" msgstr "設定ファイル\"%s\"にはエラーがあります。変更は適用されませんでした" -#: utils/misc/guc.c:1139 utils/misc/guc.c:1155 +#: utils/misc/guc.c:1137 utils/misc/guc.c:1153 #, c-format msgid "invalid configuration parameter name \"%s\"" msgstr "設定パラメータ名\"%s\"は不正です" -#: utils/misc/guc.c:1141 +#: utils/misc/guc.c:1139 #, c-format msgid "Custom parameter names must be two or more simple identifiers separated by dots." msgstr "独自パラメータの名前は2つ以上の単純識別子をピリオドでつないだ形式でなければなりません。" -#: utils/misc/guc.c:1157 +#: utils/misc/guc.c:1155 #, c-format msgid "\"%s\" is a reserved prefix." msgstr "\"%s\"は予約されている接頭辞です。" -#: utils/misc/guc.c:1170 utils/misc/guc.c:1280 +#: utils/misc/guc.c:1168 utils/misc/guc.c:1278 #, c-format msgid "unrecognized configuration parameter \"%s\"" msgstr "設定パラメータ\"%s\"は不明です" -#: utils/misc/guc.c:1802 +#: utils/misc/guc.c:1800 #, c-format msgid "%s: could not access directory \"%s\": %m\n" msgstr "%s: ディレクトリ\"%s\"にアクセスできませんでした: %m\n" -#: utils/misc/guc.c:1806 +#: utils/misc/guc.c:1804 #, c-format msgid "Run initdb or pg_basebackup to initialize a PostgreSQL data directory.\n" msgstr "initdbまたはpg_basebackupを実行して、PostgreSQLデータディレクトリを初期化してください。\n" -#: utils/misc/guc.c:1830 +#: utils/misc/guc.c:1828 #, c-format msgid "" "%s does not know where to find the server configuration file.\n" @@ -27796,12 +28222,12 @@ msgstr "" "--config-fileまたは-Dオプションを指定する、あるいはPGDATA環境変数を設\n" "定する必要があります。\n" -#: utils/misc/guc.c:1853 +#: utils/misc/guc.c:1851 #, c-format msgid "%s: could not access the server configuration file \"%s\": %m\n" msgstr "%s: サーバー設定ファイル\"%s\"にアクセスできませんでした: %m\n" -#: utils/misc/guc.c:1881 +#: utils/misc/guc.c:1879 #, c-format msgid "" "%s does not know where to find the database system data.\n" @@ -27811,7 +28237,7 @@ msgstr "" "\"%s\"内の\"data_directory\"で指定するか、実行時に-Dオプションを指定する、またはPGDATA環\n" "境変数で設定することができます。\n" -#: utils/misc/guc.c:1933 +#: utils/misc/guc.c:1931 #, c-format msgid "" "%s does not know where to find the \"hba\" configuration file.\n" @@ -27821,7 +28247,7 @@ msgstr "" "\"%s\"内で\"hba_directory\"を指定する、-Dオプションを指定する、PGDATA環\n" "境変数で設定することができます。\n" -#: utils/misc/guc.c:1964 +#: utils/misc/guc.c:1962 #, c-format msgid "" "%s does not know where to find the \"ident\" configuration file.\n" @@ -27831,125 +28257,130 @@ msgstr "" "\"%s\"内で\"ident_directory\"を指定する、-Dオプションを指定する、PGDATA環\n" "境変数で設定することができます。\n" -#: utils/misc/guc.c:2943 +#: utils/misc/guc.c:2941 msgid "Value exceeds integer range." msgstr "値が整数範囲を超えています。" -#: utils/misc/guc.c:3185 +#: utils/misc/guc.c:3182 #, c-format msgid "%d%s%s is outside the valid range for parameter \"%s\" (%d%s%s .. %d%s%s)" msgstr "%d%s%sはパラメータ\"%s\"の有効範囲(%d%s%s .. %d%s%s)の範囲外です" -#: utils/misc/guc.c:3226 +#: utils/misc/guc.c:3223 #, c-format msgid "%g%s%s is outside the valid range for parameter \"%s\" (%g%s%s .. %g%s%s)" msgstr "%g%s%sはパラメータ\"%s\"の有効範囲(%g%s%s .. %g%s%s)の範囲外です" -#: utils/misc/guc.c:3447 utils/misc/guc_funcs.c:54 +#: utils/misc/guc.c:3462 #, c-format -msgid "cannot set parameters during a parallel operation" -msgstr "並列処理中はパラメータの設定はできません" +msgid "parameter \"%s\" cannot be set during a parallel operation" +msgstr "パラメータ\"%s\"は並列操作中には設定できません" -#: utils/misc/guc.c:3472 utils/misc/guc.c:4646 +#: utils/misc/guc.c:3478 utils/misc/guc.c:4652 #, c-format msgid "parameter \"%s\" cannot be changed" msgstr "パラメータ\"%s\"を変更できません" -#: utils/misc/guc.c:3505 +#: utils/misc/guc.c:3511 #, c-format msgid "parameter \"%s\" cannot be changed now" msgstr "現在パラメータ\"%s\"を変更できません" -#: utils/misc/guc.c:3532 utils/misc/guc.c:3594 utils/misc/guc.c:4621 utils/misc/guc.c:6712 +#: utils/misc/guc.c:3538 utils/misc/guc.c:3600 utils/misc/guc.c:4627 utils/misc/guc.c:6718 #, c-format msgid "permission denied to set parameter \"%s\"" msgstr "パラメータ\"%s\"を設定する権限がありません" -#: utils/misc/guc.c:3574 +#: utils/misc/guc.c:3580 #, c-format msgid "parameter \"%s\" cannot be set after connection start" msgstr "接続開始後にパラメータ\"%s\"を変更できません" -#: utils/misc/guc.c:3633 +#: utils/misc/guc.c:3639 #, c-format msgid "cannot set parameter \"%s\" within security-definer function" msgstr "セキュリティー定義用関数内でパラメーター\"%s\"を設定できません" -#: utils/misc/guc.c:3654 +#: utils/misc/guc.c:3660 #, c-format msgid "parameter \"%s\" cannot be reset" msgstr "パラメータ\"%s\"は設定できません" -#: utils/misc/guc.c:3661 +#: utils/misc/guc.c:3667 #, c-format msgid "parameter \"%s\" cannot be set locally in functions" msgstr "パラメータ\"%s\"は関数内では変更できません" -#: utils/misc/guc.c:4320 utils/misc/guc.c:4368 utils/misc/guc.c:5400 +#: utils/misc/guc.c:4326 utils/misc/guc.c:4374 utils/misc/guc.c:5406 #, c-format msgid "permission denied to examine \"%s\"" msgstr "”%s\"を参照する権限がありません" -#: utils/misc/guc.c:4321 utils/misc/guc.c:4369 utils/misc/guc.c:5401 +#: utils/misc/guc.c:4327 utils/misc/guc.c:4375 utils/misc/guc.c:5407 #, c-format msgid "Only roles with privileges of the \"%s\" role may examine this parameter." msgstr "\"%s\"ロールの権限を持つロールのみがこのパラメータを参照することができます。" -#: utils/misc/guc.c:4579 +#: utils/misc/guc.c:4585 #, c-format msgid "ALTER SYSTEM is not allowed in this environment" msgstr "ALTER SYSTEMはこの環境では許可されていません" -#: utils/misc/guc.c:4611 +#: utils/misc/guc.c:4617 #, c-format msgid "permission denied to perform ALTER SYSTEM RESET ALL" msgstr "ALTER SYSTEM RESET ALLを行う権限がありません" -#: utils/misc/guc.c:4690 +#: utils/misc/guc.c:4696 #, c-format msgid "parameter value for ALTER SYSTEM must not contain a newline" msgstr "ALTER SYSTEMでのパラメータ値は改行を含んではいけません" -#: utils/misc/guc.c:4735 +#: utils/misc/guc.c:4741 #, c-format msgid "could not parse contents of file \"%s\"" msgstr "ファイル\"%s\"の内容をパースできませんでした" -#: utils/misc/guc.c:4917 +#: utils/misc/guc.c:4923 #, c-format msgid "attempt to redefine parameter \"%s\"" msgstr "パラメータ\"%s\"を再定義しようとしています" -#: utils/misc/guc.c:5256 +#: utils/misc/guc.c:5262 #, c-format msgid "invalid configuration parameter name \"%s\", removing it" msgstr "設定パラメータ名\"%s\"は不正です、削除します" -#: utils/misc/guc.c:5258 +#: utils/misc/guc.c:5264 #, c-format msgid "\"%s\" is now a reserved prefix." msgstr "\"%s\" は予約された接頭辞になりました。" -#: utils/misc/guc.c:6135 +#: utils/misc/guc.c:6141 #, c-format msgid "while setting parameter \"%s\" to \"%s\"" msgstr "パラメータ\"%s\"の\"%s\"への変更中" -#: utils/misc/guc.c:6304 +#: utils/misc/guc.c:6310 #, c-format msgid "parameter \"%s\" could not be set" msgstr "パラメータ\"%s\"を設定できません" -#: utils/misc/guc.c:6394 +#: utils/misc/guc.c:6400 #, c-format msgid "could not parse setting for parameter \"%s\"" msgstr "パラメータ\"%s\"の設定をパースできません" -#: utils/misc/guc.c:6844 +#: utils/misc/guc.c:6850 #, c-format msgid "invalid value for parameter \"%s\": %g" msgstr "パラメータ\"%s\"の値が無効です: %g" +#: utils/misc/guc_funcs.c:54 +#, c-format +msgid "cannot set parameters during a parallel operation" +msgstr "並列処理中はパラメータの設定はできません" + #: utils/misc/guc_funcs.c:130 #, c-format msgid "SET LOCAL TRANSACTION SNAPSHOT is not implemented" @@ -28381,1640 +28812,1668 @@ msgstr "固まっているプロセスにSIGKILLではなくSIGABRTを送信し msgid "Logs the duration of each completed SQL statement." msgstr "完了したSQL全ての実行時間をログに記録します。" -#: utils/misc/guc_tables.c:1306 +#: utils/misc/guc_tables.c:1307 +msgid "Set this to force all parse and plan trees to be passed through copyObject(), to facilitate catching errors and omissions in copyObject()." +msgstr "これを設定すると、すべてのパースおよび実行計画ツリーがcopyObject()を通過するようになり、copyObject()でのエラーや処理漏れを検出しやすくします。" + +#: utils/misc/guc_tables.c:1324 +msgid "Set this to force all parse and plan trees to be passed through outfuncs.c/readfuncs.c, to facilitate catching errors and omissions in those modules." +msgstr "これを設定すると、すべてのパースおよび実行計画ツリーがoutfuncs.c/readfuncs.cを通過するようになり、これらのモジュールでのエラーや処理漏れを検出しやすくします。" + +#: utils/misc/guc_tables.c:1341 +msgid "Set this to force all raw parse trees for DML statements to be scanned by raw_expression_tree_walker(), to facilitate catching errors and omissions in that function." +msgstr "これを設定すると、DML文のすべての未処理のパースツリーがraw_expression_tree_walker()でスキャンされ、この関数でのエラーや処理漏れを検出しやすくします。" + +#: utils/misc/guc_tables.c:1359 msgid "Logs each query's parse tree." msgstr "問い合わせのパースツリーをログに記録します。" -#: utils/misc/guc_tables.c:1315 +#: utils/misc/guc_tables.c:1368 msgid "Logs each query's rewritten parse tree." msgstr "リライト後の問い合わせのパースツリーをログに記録します。" -#: utils/misc/guc_tables.c:1324 +#: utils/misc/guc_tables.c:1377 msgid "Logs each query's execution plan." msgstr "問い合わせの実行計画をログに記録します。" -#: utils/misc/guc_tables.c:1333 +#: utils/misc/guc_tables.c:1386 msgid "Indents parse and plan tree displays." msgstr "パースツリーと実行計画ツリーの表示をインデントします。" -#: utils/misc/guc_tables.c:1342 +#: utils/misc/guc_tables.c:1395 msgid "Writes parser performance statistics to the server log." msgstr "パーサの性能統計情報をサーバーログに出力します。" -#: utils/misc/guc_tables.c:1351 +#: utils/misc/guc_tables.c:1404 msgid "Writes planner performance statistics to the server log." msgstr "プランナの性能統計情報をサーバーログに出力します。" -#: utils/misc/guc_tables.c:1360 +#: utils/misc/guc_tables.c:1413 msgid "Writes executor performance statistics to the server log." msgstr "エグゼキュータの性能統計情報をサーバーログに出力します。" -#: utils/misc/guc_tables.c:1369 +#: utils/misc/guc_tables.c:1422 msgid "Writes cumulative performance statistics to the server log." msgstr "累積の性能統計情報をサーバーログに出力します。" -#: utils/misc/guc_tables.c:1379 +#: utils/misc/guc_tables.c:1432 msgid "Logs system resource usage statistics (memory and CPU) on various B-tree operations." msgstr "B-treeの各種操作に関するシステムリソース(メモリとCPU)の使用統計をログに記録します。" -#: utils/misc/guc_tables.c:1391 +#: utils/misc/guc_tables.c:1444 msgid "Collects information about executing commands." msgstr "実行中のコマンドに関する情報を収集します。" -#: utils/misc/guc_tables.c:1392 +#: utils/misc/guc_tables.c:1445 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 "そのコマンドが実行を開始した時刻を伴った、各セッションでの現時点で実行中のコマンドに関する情報の収集を有効にします。" -#: utils/misc/guc_tables.c:1402 +#: utils/misc/guc_tables.c:1455 msgid "Collects statistics on database activity." msgstr "データベースの活動について統計情報を収集します。" -#: utils/misc/guc_tables.c:1411 +#: utils/misc/guc_tables.c:1464 msgid "Collects timing statistics for database I/O activity." msgstr "データベースのI/O処理時間に関する統計情報を収集します。" -#: utils/misc/guc_tables.c:1420 +#: utils/misc/guc_tables.c:1473 msgid "Collects timing statistics for WAL I/O activity." msgstr "WALのI/O処理時間に関する統計情報を収集します。" -#: utils/misc/guc_tables.c:1430 +#: utils/misc/guc_tables.c:1483 msgid "Updates the process title to show the active SQL command." msgstr "活動中のSQLコマンドを表示するようプロセスタイトルを更新します。" -#: utils/misc/guc_tables.c:1431 +#: utils/misc/guc_tables.c:1484 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:1440 +#: utils/misc/guc_tables.c:1493 msgid "Starts the autovacuum subprocess." msgstr "autovacuumサブプロセスを起動します。" -#: utils/misc/guc_tables.c:1450 +#: utils/misc/guc_tables.c:1503 msgid "Generates debugging output for LISTEN and NOTIFY." msgstr "LISTENとNOTIFYコマンドのためのデバッグ出力を生成します。" -#: utils/misc/guc_tables.c:1462 +#: utils/misc/guc_tables.c:1515 msgid "Emits information about lock usage." msgstr "ロック使用状況に関する情報を出力します。" -#: utils/misc/guc_tables.c:1472 +#: utils/misc/guc_tables.c:1525 msgid "Emits information about user lock usage." msgstr "ユーザーロックの使用状況に関する情報を出力します。" -#: utils/misc/guc_tables.c:1482 +#: utils/misc/guc_tables.c:1535 msgid "Emits information about lightweight lock usage." msgstr "軽量ロックの使用状況に関する情報を出力します。" -#: utils/misc/guc_tables.c:1492 +#: utils/misc/guc_tables.c:1545 msgid "Dumps information about all current locks when a deadlock timeout occurs." msgstr "デッドロックの発生時点の全てのロックについての情報をダンプします。" -#: utils/misc/guc_tables.c:1504 +#: utils/misc/guc_tables.c:1557 msgid "Logs long lock waits." msgstr "長時間のロック待機をログに記録します。" -#: utils/misc/guc_tables.c:1513 +#: utils/misc/guc_tables.c:1566 msgid "Logs standby recovery conflict waits." msgstr "スタンバイのリカバリ衝突による待機をログ出力します。" -#: utils/misc/guc_tables.c:1522 +#: utils/misc/guc_tables.c:1575 msgid "Logs the host name in the connection logs." msgstr "接続ログ内でホスト名を出力します。" -#: utils/misc/guc_tables.c:1523 +#: utils/misc/guc_tables.c:1576 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 "デフォルトでは、接続ログメッセージには接続ホストのIPアドレスのみが表示されます。 このオプションを有効にすることで、ホスト名もログに表示されるようになります。 ホスト名解決の設定によってはで、無視できないほどの性能の悪化が起きうることに注意してください。" -#: utils/misc/guc_tables.c:1534 +#: utils/misc/guc_tables.c:1587 msgid "Treats \"expr=NULL\" as \"expr IS NULL\"." msgstr "\"expr=NULL\"という形の式は\"expr IS NULL\"として扱います。" -#: utils/misc/guc_tables.c:1535 +#: utils/misc/guc_tables.c:1588 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 "有効にした場合、expr = NULL(またはNULL = expr)という形の式はexpr IS NULLとして扱われます。つまり、exprの評価がNULL値の場合に真を、さもなくば偽を返します。expr = NULLのSQL仕様に基づいた正しい動作は常にNULL(未知)を返すことです。" -#: utils/misc/guc_tables.c:1547 +#: utils/misc/guc_tables.c:1600 msgid "Sets the default read-only status of new transactions." msgstr "新しいトランザクションのリードオンリー設定のデフォルト値を設定。" -#: utils/misc/guc_tables.c:1557 +#: utils/misc/guc_tables.c:1610 msgid "Sets the current transaction's read-only status." msgstr "現在のトランザクションのリードオンリー設定を設定。" -#: utils/misc/guc_tables.c:1567 +#: utils/misc/guc_tables.c:1620 msgid "Sets the default deferrable status of new transactions." msgstr "新しいトランザクションの遅延可否設定のデフォルト値を設定。" -#: utils/misc/guc_tables.c:1576 +#: utils/misc/guc_tables.c:1629 msgid "Whether to defer a read-only serializable transaction until it can be executed with no possible serialization failures." msgstr "リードオンリーのシリアライズ可能なトランザクションを、シリアライズに失敗することなく実行できるまで遅延させるかどうか" -#: utils/misc/guc_tables.c:1586 +#: utils/misc/guc_tables.c:1639 msgid "Enable row security." msgstr "行セキュリティを有効にします。" -#: utils/misc/guc_tables.c:1587 +#: utils/misc/guc_tables.c:1640 msgid "When enabled, row security will be applied to all users." msgstr "有効にすると、行セキュリティが全てのユーザーに適用されます。" -#: utils/misc/guc_tables.c:1595 +#: utils/misc/guc_tables.c:1648 msgid "Check routine bodies during CREATE FUNCTION and CREATE PROCEDURE." msgstr "CREATE FUNCTIONおよびCREATE PROCEDUREにおいて関数本体を検査します。" -#: utils/misc/guc_tables.c:1604 +#: utils/misc/guc_tables.c:1657 msgid "Enable input of NULL elements in arrays." msgstr "配列内のNULL要素入力を有効化。" -#: utils/misc/guc_tables.c:1605 +#: utils/misc/guc_tables.c:1658 msgid "When turned on, unquoted NULL in an array input value means a null value; otherwise it is taken literally." msgstr "有効にすると、配列入力値における引用符のないNULLはNULL値を意味するようになります。さもなくば文字通りに解釈されます。" -#: utils/misc/guc_tables.c:1621 +#: utils/misc/guc_tables.c:1674 msgid "WITH OIDS is no longer supported; this can only be false." msgstr "WITH OIDS は今後サポートされません; false のみに設定可能です。" -#: utils/misc/guc_tables.c:1631 +#: utils/misc/guc_tables.c:1684 msgid "Start a subprocess to capture stderr output and/or csvlogs into log files." msgstr "標準エラー出力、CSVログ、またはその両方をログファイルに捕捉するための子プロセスを開始します。" -#: utils/misc/guc_tables.c:1640 +#: utils/misc/guc_tables.c:1693 msgid "Truncate existing log files of same name during log rotation." msgstr "ログローテーション時に既存の同一名称のログファイルを切り詰めます。" -#: utils/misc/guc_tables.c:1651 +#: utils/misc/guc_tables.c:1703 msgid "Emit information about resource usage in sorting." msgstr "ソート中にリソース使用状況に関する情報を出力します。" -#: utils/misc/guc_tables.c:1665 +#: utils/misc/guc_tables.c:1716 msgid "Generate debugging output for synchronized scanning." msgstr "同期スキャン処理のデバッグ出力を生成します。" -#: utils/misc/guc_tables.c:1680 +#: utils/misc/guc_tables.c:1731 msgid "Enable bounded sorting using heap sort." msgstr "ヒープソートを使用した境界のソート処理を有効にします" -#: utils/misc/guc_tables.c:1693 +#: utils/misc/guc_tables.c:1744 msgid "Emit WAL-related debugging output." msgstr "WAL関連のデバッグ出力を出力します。" -#: utils/misc/guc_tables.c:1705 +#: utils/misc/guc_tables.c:1756 msgid "Shows whether datetimes are integer based." msgstr "日付時刻が整数ベースかどうかを表示します。" -#: utils/misc/guc_tables.c:1716 +#: utils/misc/guc_tables.c:1767 msgid "Sets whether Kerberos and GSSAPI user names should be treated as case-insensitive." msgstr "KerberosおよびGSSAPIユーザー名を大文字小文字を区別して扱うかどうかを設定します。" -#: utils/misc/guc_tables.c:1726 +#: utils/misc/guc_tables.c:1777 msgid "Sets whether GSSAPI delegation should be accepted from the client." msgstr "GSSAPI資格証明委任をクライアントから受け付けるかどかを設定します。" -#: utils/misc/guc_tables.c:1736 +#: utils/misc/guc_tables.c:1787 msgid "Warn about backslash escapes in ordinary string literals." msgstr "普通の文字列リテラル内のバックスラッシュエスケープを警告します。" -#: utils/misc/guc_tables.c:1746 +#: utils/misc/guc_tables.c:1797 msgid "Causes '...' strings to treat backslashes literally." msgstr "'...' 文字列はバックスラッシュをそのまま扱います。" -#: utils/misc/guc_tables.c:1757 +#: utils/misc/guc_tables.c:1808 msgid "Enable synchronized sequential scans." msgstr "同期シーケンシャルスキャンを有効にします。" -#: utils/misc/guc_tables.c:1767 +#: utils/misc/guc_tables.c:1818 msgid "Sets whether to include or exclude transaction with recovery target." msgstr "リカバリ目標のトランザクションを含めるか除外するかを設定。" -#: utils/misc/guc_tables.c:1777 +#: utils/misc/guc_tables.c:1828 msgid "Starts the WAL summarizer process to enable incremental backup." msgstr "差分バックアップを可能にするためのWAL集約プロセスを起動します。" -#: utils/misc/guc_tables.c:1787 +#: utils/misc/guc_tables.c:1838 msgid "Allows connections and queries during recovery." msgstr "リカバリ中でも接続と問い合わせを受け付けます" -#: utils/misc/guc_tables.c:1797 +#: utils/misc/guc_tables.c:1848 msgid "Allows feedback from a hot standby to the primary that will avoid query conflicts." msgstr "問い合わせの衝突を避けるためのホットスタンバイからプライマリへのフィードバックを受け付けます" -#: utils/misc/guc_tables.c:1807 +#: utils/misc/guc_tables.c:1858 msgid "Shows whether hot standby is currently active." msgstr "現在ホットスタンバイが有効であるかどうかを示します。" -#: utils/misc/guc_tables.c:1818 +#: utils/misc/guc_tables.c:1869 msgid "Allows modifications of the structure of system tables." msgstr "システムテーブル構造の変更を許可。" -#: utils/misc/guc_tables.c:1829 +#: utils/misc/guc_tables.c:1880 msgid "Disables reading from system indexes." msgstr "システムインデックスの読み込みを無効にします。" -#: utils/misc/guc_tables.c:1830 +#: utils/misc/guc_tables.c:1881 msgid "It does not prevent updating the indexes, so it is safe to use. The worst consequence is slowness." msgstr "これはインデックスの更新は妨げないため使用しても安全です。最も大きな悪影響は低速化です。" -#: utils/misc/guc_tables.c:1841 +#: utils/misc/guc_tables.c:1892 msgid "Allows tablespaces directly inside pg_tblspc, for testing." msgstr "pg_tblspc直下のテーブル空間を許可します、テスト用。" -#: utils/misc/guc_tables.c:1852 +#: utils/misc/guc_tables.c:1903 msgid "Enables backward compatibility mode for privilege checks on large objects." msgstr "ラージオブジェクトで権限チェックを行う際、後方互換性モードを有効にします。" -#: utils/misc/guc_tables.c:1853 +#: utils/misc/guc_tables.c:1904 msgid "Skips privilege checks when reading or modifying large objects, for compatibility with PostgreSQL releases prior to 9.0." msgstr "9.0 より前のPostgreSQLとの互換のため、ラージオブジェクトを読んだり変更したりする際に権限チェックをスキップする。" -#: utils/misc/guc_tables.c:1863 +#: utils/misc/guc_tables.c:1914 msgid "When generating SQL fragments, quote all identifiers." msgstr "SQL文を生成する時に、すべての識別子を引用符で囲みます。" -#: utils/misc/guc_tables.c:1873 +#: utils/misc/guc_tables.c:1924 msgid "Shows whether data checksums are turned on for this cluster." msgstr "データチェックサムがこのクラスタで有効になっているかどうかを表示します。" -#: utils/misc/guc_tables.c:1884 +#: utils/misc/guc_tables.c:1935 msgid "Add sequence number to syslog messages to avoid duplicate suppression." msgstr "シーケンス番号を付加することでsyslogメッセージの重複を防ぎます。" -#: utils/misc/guc_tables.c:1894 +#: utils/misc/guc_tables.c:1945 msgid "Split messages sent to syslog by lines and to fit into 1024 bytes." msgstr "syslogに送出するメッセージを行単位で分割して、1024バイトに収まるようにします。" -#: utils/misc/guc_tables.c:1904 +#: utils/misc/guc_tables.c:1955 msgid "Controls whether Gather and Gather Merge also run subplans." msgstr "Gather および Gather Merge でも下位プランを実行するかどうかを制御します。" -#: utils/misc/guc_tables.c:1905 +#: utils/misc/guc_tables.c:1956 msgid "Should gather nodes also run subplans or just gather tuples?" msgstr "Gather ノードでも下位プランを実行するのか、もしくはただタプルの収集のみを行うのか?" -#: utils/misc/guc_tables.c:1915 +#: utils/misc/guc_tables.c:1966 msgid "Allow JIT compilation." msgstr "JITコンパイルを許可します。" -#: utils/misc/guc_tables.c:1926 +#: utils/misc/guc_tables.c:1977 msgid "Register JIT-compiled functions with debugger." msgstr "JITコンパイルされた関数をデバッガに登録します。" -#: utils/misc/guc_tables.c:1943 +#: utils/misc/guc_tables.c:1994 msgid "Write out LLVM bitcode to facilitate JIT debugging." msgstr "LLVMビットコードを出力して、JITデバッグを容易にします。" -#: utils/misc/guc_tables.c:1954 +#: utils/misc/guc_tables.c:2005 msgid "Allow JIT compilation of expressions." msgstr "式のJITコンパイルを許可します。" -#: utils/misc/guc_tables.c:1965 +#: utils/misc/guc_tables.c:2016 msgid "Register JIT-compiled functions with perf profiler." msgstr "perfプロファイラにJITコンパイルされた関数を登録します。" -#: utils/misc/guc_tables.c:1982 +#: utils/misc/guc_tables.c:2033 msgid "Allow JIT compilation of tuple deforming." msgstr "タプル分解処理のJITコンパイルを許可します。" -#: utils/misc/guc_tables.c:1993 +#: utils/misc/guc_tables.c:2044 msgid "Whether to continue running after a failure to sync data files." msgstr "データファイルの同期失敗の後に処理を継続するかどうか。" -#: utils/misc/guc_tables.c:2002 +#: utils/misc/guc_tables.c:2053 msgid "Sets whether a WAL receiver should create a temporary replication slot if no permanent slot is configured." msgstr "永続レプリケーションスロットがない場合にWALレシーバが一時スロットを作成するかどうかを設定します。" -#: utils/misc/guc_tables.c:2011 +#: utils/misc/guc_tables.c:2062 msgid "Enables event triggers." msgstr "イベントトリガを有効にします。" -#: utils/misc/guc_tables.c:2012 +#: utils/misc/guc_tables.c:2063 msgid "When enabled, event triggers will fire for all applicable statements." msgstr "有効にすると、イベントトリガは適用可能なすべての文に対して発火します。" -#: utils/misc/guc_tables.c:2021 -msgid "Enables a physical standby to synchronize logical failover slots from the primary server." -msgstr "物理スタンバイがプライマリサーバーの論理フェイルオーバースロットを同期できるようにする。" +#: utils/misc/guc_tables.c:2072 +msgid "Enables a physical standby to synchronize logical failover replication slots from the primary server." +msgstr "物理スタンバイがプライマリサーバーから論理フェイルオーバーレプリケーションスロットを同期できるようにする。" -#: utils/misc/guc_tables.c:2039 +#: utils/misc/guc_tables.c:2090 msgid "Sets the amount of time to wait before forcing a switch to the next WAL file." msgstr "次のWALへの強制切り替え時間を設定します。" -#: utils/misc/guc_tables.c:2050 +#: utils/misc/guc_tables.c:2101 msgid "Sets the amount of time to wait after authentication on connection startup." msgstr "接続開始時の認証後の待ち時間を設定します。" -#: utils/misc/guc_tables.c:2052 utils/misc/guc_tables.c:2774 +#: utils/misc/guc_tables.c:2103 utils/misc/guc_tables.c:2841 msgid "This allows attaching a debugger to the process." msgstr "これによりデバッガがプロセスに接続できます。" -#: utils/misc/guc_tables.c:2061 +#: utils/misc/guc_tables.c:2112 msgid "Sets the default statistics target." msgstr "デフォルトの統計情報収集目標を設定。" -#: utils/misc/guc_tables.c:2062 +#: utils/misc/guc_tables.c:2113 msgid "This applies to table columns that have not had a column-specific target set via ALTER TABLE SET STATISTICS." msgstr "ALTER TABLE SET STATISTICS経由で列固有の目標値を持たないテーブル列についての統計情報収集目標を設定します。" -#: utils/misc/guc_tables.c:2071 +#: utils/misc/guc_tables.c:2122 msgid "Sets the FROM-list size beyond which subqueries are not collapsed." msgstr "副問い合わせを展開する上限のFROMリストのサイズを設定。" -#: utils/misc/guc_tables.c:2073 +#: utils/misc/guc_tables.c:2124 msgid "The planner will merge subqueries into upper queries if the resulting FROM list would have no more than this many items." msgstr "最終的なFROMリストがこの値より多くの要素を持たない時に、プランナは副問い合わせを上位問い合わせにマージします。" -#: utils/misc/guc_tables.c:2084 +#: utils/misc/guc_tables.c:2135 msgid "Sets the FROM-list size beyond which JOIN constructs are not flattened." msgstr "JOIN式を平坦化する上限のFROMリストのサイズを設定。" -#: utils/misc/guc_tables.c:2086 +#: utils/misc/guc_tables.c:2137 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 "最終的にFROMリストの項目数がこの値を超えない時には常に、プランナは明示的なJOIN構文をFROM項目のリストに組み込みます。" -#: utils/misc/guc_tables.c:2097 +#: utils/misc/guc_tables.c:2148 msgid "Sets the threshold of FROM items beyond which GEQO is used." msgstr "この数を超えるとGEQOを使用するFROM項目数の閾値を設定。" -#: utils/misc/guc_tables.c:2107 +#: utils/misc/guc_tables.c:2158 msgid "GEQO: effort is used to set the default for other GEQO parameters." msgstr "GEQO: effortは他のGEQOパラメータのデフォルトを設定するために使用されます。" -#: utils/misc/guc_tables.c:2117 +#: utils/misc/guc_tables.c:2168 msgid "GEQO: number of individuals in the population." msgstr "GEQO: 集団内の個体数。" -#: utils/misc/guc_tables.c:2118 utils/misc/guc_tables.c:2128 +#: utils/misc/guc_tables.c:2169 utils/misc/guc_tables.c:2179 msgid "Zero selects a suitable default value." msgstr "0は適切なデフォルト値を選択します。" -#: utils/misc/guc_tables.c:2127 +#: utils/misc/guc_tables.c:2178 msgid "GEQO: number of iterations of the algorithm." msgstr "GEQO: アルゴリズムの反復回数です。" -#: utils/misc/guc_tables.c:2139 +#: utils/misc/guc_tables.c:2190 msgid "Sets the time to wait on a lock before checking for deadlock." msgstr "デッドロック状態があるかどうかを調べる前にロックを待つ時間を設定。" -#: utils/misc/guc_tables.c:2150 +#: utils/misc/guc_tables.c:2201 msgid "Sets the maximum delay before canceling queries when a hot standby server is processing archived WAL data." msgstr "ホットスタンバイサーバーがアーカイブされた WAL データを処理している場合は、問い合わせをキャンセルする前に遅延秒数の最大値を設定。" -#: utils/misc/guc_tables.c:2161 +#: utils/misc/guc_tables.c:2212 msgid "Sets the maximum delay before canceling queries when a hot standby server is processing streamed WAL data." msgstr "ホットスタンバイサーバーがストリームの WAL データを処理している場合は、問い合わせをキャンセルする前に遅延秒数の最大値を設定。" -#: utils/misc/guc_tables.c:2172 +#: utils/misc/guc_tables.c:2223 msgid "Sets the minimum delay for applying changes during recovery." msgstr "リカバリ中の変更の適用の最小遅延時間を設定します。" -#: utils/misc/guc_tables.c:2183 +#: utils/misc/guc_tables.c:2234 msgid "Sets the maximum interval between WAL receiver status reports to the sending server." msgstr "WAL受信プロセスが送出側サーバーへ行う状況報告の最大間隔を設定。" -#: utils/misc/guc_tables.c:2194 +#: utils/misc/guc_tables.c:2245 msgid "Sets the maximum wait time to receive data from the sending server." msgstr "送出側サーバーからのデータ受信を待機する最長時間を設定。" -#: utils/misc/guc_tables.c:2205 +#: utils/misc/guc_tables.c:2256 msgid "Sets the maximum number of concurrent connections." msgstr "同時接続数の最大値を設定。" -#: utils/misc/guc_tables.c:2216 +#: utils/misc/guc_tables.c:2267 msgid "Sets the number of connection slots reserved for superusers." msgstr "スーパーユーザーによる接続用に予約される接続スロットの数を設定。" -#: utils/misc/guc_tables.c:2226 +#: utils/misc/guc_tables.c:2277 msgid "Sets the number of connection slots reserved for roles with privileges of pg_use_reserved_connections." msgstr "pg_use_reserved_connections権限を持つロールのために予約する接続スロットの数を設定。" -#: utils/misc/guc_tables.c:2237 +#: utils/misc/guc_tables.c:2288 msgid "Amount of dynamic shared memory reserved at startup." msgstr "起動時に予約される動的共有メモリの量。" -#: utils/misc/guc_tables.c:2252 +#: utils/misc/guc_tables.c:2303 msgid "Sets the number of shared memory buffers used by the server." msgstr "サーバーで使用される共有メモリのバッファ数を設定。" -#: utils/misc/guc_tables.c:2263 +#: utils/misc/guc_tables.c:2314 msgid "Sets the buffer pool size for VACUUM, ANALYZE, and autovacuum." msgstr "VACUUM, ANALYZE, および自動VACUUMで使用するバッファプールのサイズを設定します。" -#: utils/misc/guc_tables.c:2274 +#: utils/misc/guc_tables.c:2325 msgid "Shows the size of the server's main shared memory area (rounded up to the nearest MB)." msgstr "サーバーの主共有メモリ領域のサイズを表示します(MB単位に切り上げられます)" -#: utils/misc/guc_tables.c:2285 +#: utils/misc/guc_tables.c:2336 msgid "Shows the number of huge pages needed for the main shared memory area." msgstr "主共有メモリ領域に必要となるヒュージページの数を表示します。" -#: utils/misc/guc_tables.c:2286 +#: utils/misc/guc_tables.c:2337 msgid "-1 indicates that the value could not be determined." msgstr "-1はこの値が確定できなかったことを示します。" -#: utils/misc/guc_tables.c:2296 +#: utils/misc/guc_tables.c:2347 +msgid "Shows the number of semaphores required for the server." +msgstr "サーバーで必要となるセマフォの数を表示。" + +#: utils/misc/guc_tables.c:2358 msgid "Sets the size of the dedicated buffer pool used for the commit timestamp cache." msgstr "コミットタイムスタンプのキャッシュで専有するバッファプールのサイズを設定する。" -#: utils/misc/guc_tables.c:2297 utils/misc/guc_tables.c:2352 utils/misc/guc_tables.c:2363 -msgid "Specify 0 to have this value determined as a fraction of shared_buffers." -msgstr "0を指定するとこの値がshared_buffersに対する比率で決定されます。" +#: utils/misc/guc_tables.c:2359 utils/misc/guc_tables.c:2414 utils/misc/guc_tables.c:2425 +msgid "Specify 0 to have this value determined as a fraction of \"shared_buffers\"." +msgstr "0を指定するとこの値が\"shared_buffers\"に対する比率に基づいて決定されます。" -#: utils/misc/guc_tables.c:2307 +#: utils/misc/guc_tables.c:2369 msgid "Sets the size of the dedicated buffer pool used for the MultiXact member cache." msgstr "マルチトランザクションメンバーのキャッシュで専有するバッファプールのサイズを設定する。" -#: utils/misc/guc_tables.c:2318 +#: utils/misc/guc_tables.c:2380 msgid "Sets the size of the dedicated buffer pool used for the MultiXact offset cache." msgstr "マルチトランザクションオフセットのキャッシュで専有するバッファプールのサイズを設定する。" -#: utils/misc/guc_tables.c:2329 +#: utils/misc/guc_tables.c:2391 msgid "Sets the size of the dedicated buffer pool used for the LISTEN/NOTIFY message cache." msgstr "LISTEN/NOTIFYのメッセージキャッシュで専有するバッファプールのサイズを設定する。" -#: utils/misc/guc_tables.c:2340 +#: utils/misc/guc_tables.c:2402 msgid "Sets the size of the dedicated buffer pool used for the serializable transaction cache." msgstr "直列化可能トランザクションのキャッシュで専有するバッファプールのサイズを設定する。" -#: utils/misc/guc_tables.c:2351 -msgid "Sets the size of the dedicated buffer pool used for the sub-transaction cache." -msgstr "サブトランザクションのキャッシュで専有するバッファプールのサイズを設定する。" +#: utils/misc/guc_tables.c:2413 +msgid "Sets the size of the dedicated buffer pool used for the subtransaction cache." +msgstr "サブトランザクションキャッシュ専用のバッファプールのサイズを設定する。" -#: utils/misc/guc_tables.c:2362 +#: utils/misc/guc_tables.c:2424 msgid "Sets the size of the dedicated buffer pool used for the transaction status cache." msgstr "トランザクション状態のキャッシュで専有するバッファプールのサイズを設定する。" -#: utils/misc/guc_tables.c:2373 +#: utils/misc/guc_tables.c:2435 msgid "Sets the maximum number of temporary buffers used by each session." msgstr "各セッションで使用される一時バッファの最大数を設定。" -#: utils/misc/guc_tables.c:2384 +#: utils/misc/guc_tables.c:2446 msgid "Sets the TCP port the server listens on." msgstr "サーバーが接続を監視するTCPポートを設定。" -#: utils/misc/guc_tables.c:2394 +#: utils/misc/guc_tables.c:2456 msgid "Sets the access permissions of the Unix-domain socket." msgstr "Unixドメインソケットのアクセス権限を設定。" -#: utils/misc/guc_tables.c:2395 +#: utils/misc/guc_tables.c:2457 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ドメインソケットは、通常のUnixファイルシステム権限の設定を使います。 このパラメータ値は chmod と umask システムコールが受け付ける数値のモード指定を想定しています(慣習的な8進数書式を使うためには、0(ゼロ)で始めなくてはなりません)。 " -#: utils/misc/guc_tables.c:2409 +#: utils/misc/guc_tables.c:2471 msgid "Sets the file permissions for log files." msgstr "ログファイルのパーミッションを設定。" -#: utils/misc/guc_tables.c:2410 +#: utils/misc/guc_tables.c:2472 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 "このパタメータ値は chmod や umask システムコールで使えるような数値モード指定であることが想定されます(慣習的な記法である8進数書式を使う場合は先頭に0(ゼロ) をつけてください)。 " -#: utils/misc/guc_tables.c:2424 +#: utils/misc/guc_tables.c:2486 msgid "Shows the mode of the data directory." msgstr "データディレクトリのモードを表示します。" -#: utils/misc/guc_tables.c:2425 +#: utils/misc/guc_tables.c:2487 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 "このパタメータ値は chmod や umask システムコールが受け付ける数値形式のモード指定です(慣習的な8進形式を使う場合は先頭に0(ゼロ) をつけてください)。 " -#: utils/misc/guc_tables.c:2438 +#: utils/misc/guc_tables.c:2500 msgid "Sets the maximum memory to be used for query workspaces." msgstr "問い合わせの作業用空間として使用されるメモリの最大値を設定。" -#: utils/misc/guc_tables.c:2439 +#: utils/misc/guc_tables.c:2501 msgid "This much memory can be used by each internal sort operation and hash table before switching to temporary disk files." msgstr "内部ソート操作とハッシュテーブルで使われるメモリの量がこの量に達した時に一時ディスクファイルへの切替えを行います。" -#: utils/misc/guc_tables.c:2451 +#: utils/misc/guc_tables.c:2518 msgid "Sets the maximum memory to be used for maintenance operations." msgstr "保守作業で使用される最大メモリ量を設定。" -#: utils/misc/guc_tables.c:2452 +#: utils/misc/guc_tables.c:2519 msgid "This includes operations such as VACUUM and CREATE INDEX." msgstr "VACUUMやCREATE INDEXなどの作業が含まれます。" -#: utils/misc/guc_tables.c:2462 +#: utils/misc/guc_tables.c:2529 msgid "Sets the maximum memory to be used for logical decoding." msgstr "論理デコーディングで使用するメモリ量の上限を設定します。" -#: utils/misc/guc_tables.c:2463 +#: utils/misc/guc_tables.c:2530 msgid "This much memory can be used by each internal reorder buffer before spilling to disk." msgstr "個々の内部リオーダバッファはディスクに書き出す前にこれだけの量のメモリを使用することができます。" -#: utils/misc/guc_tables.c:2479 +#: utils/misc/guc_tables.c:2546 msgid "Sets the maximum stack depth, in kilobytes." msgstr "スタック長の最大値をキロバイト単位で設定。" -#: utils/misc/guc_tables.c:2490 +#: utils/misc/guc_tables.c:2557 msgid "Limits the total size of all temporary files used by each process." msgstr "各プロセスで使用される全ての一時ファイルの合計サイズを制限します。" -#: utils/misc/guc_tables.c:2491 +#: utils/misc/guc_tables.c:2558 msgid "-1 means no limit." msgstr "-1は無制限を意味します。" -#: utils/misc/guc_tables.c:2501 +#: utils/misc/guc_tables.c:2568 msgid "Vacuum cost for a page found in the buffer cache." msgstr "バッファキャッシュにある1つのページをVACUUM処理する際のコスト。" -#: utils/misc/guc_tables.c:2511 +#: utils/misc/guc_tables.c:2578 msgid "Vacuum cost for a page not found in the buffer cache." msgstr "バッファキャッシュにない1つのページをVACUUM処理する際のコスト。" -#: utils/misc/guc_tables.c:2521 +#: utils/misc/guc_tables.c:2588 msgid "Vacuum cost for a page dirtied by vacuum." msgstr "VACUUM処理が1つのページをダーティにした際に課すコスト。" -#: utils/misc/guc_tables.c:2531 +#: utils/misc/guc_tables.c:2598 msgid "Vacuum cost amount available before napping." msgstr "VACUUM処理を一時休止させるまでに使用できるコスト。" -#: utils/misc/guc_tables.c:2541 +#: utils/misc/guc_tables.c:2608 msgid "Vacuum cost amount available before napping, for autovacuum." msgstr "自動VACUUM用のVACUUM処理を一時休止させるまでに使用できるコスト。" -#: utils/misc/guc_tables.c:2551 +#: utils/misc/guc_tables.c:2618 msgid "Sets the maximum number of simultaneously open files for each server process." msgstr "各サーバープロセスで同時にオープンできるファイルの最大数を設定。" -#: utils/misc/guc_tables.c:2564 +#: utils/misc/guc_tables.c:2631 msgid "Sets the maximum number of simultaneously prepared transactions." msgstr "同時に準備状態にできるトランザクションの最大数を設定。" -#: utils/misc/guc_tables.c:2575 +#: utils/misc/guc_tables.c:2642 msgid "Sets the minimum OID of tables for tracking locks." msgstr "ロックの追跡を行うテーブルの最小のOIDを設定。" -#: utils/misc/guc_tables.c:2576 +#: utils/misc/guc_tables.c:2643 msgid "Is used to avoid output on system tables." msgstr "システムテーブルに関するの出力を避けるために使います。" -#: utils/misc/guc_tables.c:2585 +#: utils/misc/guc_tables.c:2652 msgid "Sets the OID of the table with unconditionally lock tracing." msgstr "無条件でロックの追跡を行うテーブルのOIDを設定。" -#: utils/misc/guc_tables.c:2597 +#: utils/misc/guc_tables.c:2664 msgid "Sets the maximum allowed duration of any statement." msgstr "あらゆる文に対して実行時間として許容する上限値を設定。" -#: utils/misc/guc_tables.c:2598 utils/misc/guc_tables.c:2609 utils/misc/guc_tables.c:2620 utils/misc/guc_tables.c:2631 utils/misc/guc_tables.c:2642 +#: utils/misc/guc_tables.c:2665 utils/misc/guc_tables.c:2676 utils/misc/guc_tables.c:2687 utils/misc/guc_tables.c:2698 utils/misc/guc_tables.c:2709 msgid "A value of 0 turns off the timeout." msgstr "0でこのタイムアウトは無効になります。 " -#: utils/misc/guc_tables.c:2608 +#: utils/misc/guc_tables.c:2675 msgid "Sets the maximum allowed duration of any wait for a lock." msgstr "ロックの待機の最大許容時間を設定。" -#: utils/misc/guc_tables.c:2619 +#: utils/misc/guc_tables.c:2686 msgid "Sets the maximum allowed idle time between queries, when in a transaction." msgstr "問い合わせ間のアイドル時間のトランザクション内における最大許容値を設定。" -#: utils/misc/guc_tables.c:2630 +#: utils/misc/guc_tables.c:2697 msgid "Sets the maximum allowed duration of any transaction within a session (not a prepared transaction)." msgstr "(準備済みトランザクションではない)セッション内のトランザクションの最大許容時間を設定。" -#: utils/misc/guc_tables.c:2641 +#: utils/misc/guc_tables.c:2708 msgid "Sets the maximum allowed idle time between queries, when not in a transaction." msgstr "問い合わせ間のアイドル時間のトランザクション外における最大許容値を設定。" -#: utils/misc/guc_tables.c:2652 +#: utils/misc/guc_tables.c:2719 msgid "Minimum age at which VACUUM should freeze a table row." msgstr "VACUUM にテーブル行の凍結をさせる最小のトランザクションID差分。" -#: utils/misc/guc_tables.c:2662 +#: utils/misc/guc_tables.c:2729 msgid "Age at which VACUUM should scan whole table to freeze tuples." msgstr "行の凍結のためのテーブル全体スキャンを強制させる時のトランザクションID差分。" -#: utils/misc/guc_tables.c:2672 +#: utils/misc/guc_tables.c:2739 msgid "Minimum age at which VACUUM should freeze a MultiXactId in a table row." msgstr "テーブル行でのマルチトランザクションIDの凍結を強制する最小のマルチトランザクション差分。" -#: utils/misc/guc_tables.c:2682 +#: utils/misc/guc_tables.c:2749 msgid "Multixact age at which VACUUM should scan whole table to freeze tuples." msgstr "行の凍結のためにテーブル全体スキャンを強制する時点のマルチトランザクション差分。" -#: utils/misc/guc_tables.c:2692 +#: utils/misc/guc_tables.c:2759 msgid "Age at which VACUUM should trigger failsafe to avoid a wraparound outage." msgstr "VACUUMにおいて周回による停止を回避するためのフェイルセーフを実行されるまでの経過トランザクション数。" -#: utils/misc/guc_tables.c:2701 +#: utils/misc/guc_tables.c:2768 msgid "Multixact age at which VACUUM should trigger failsafe to avoid a wraparound outage." msgstr "VACUUMにおいて周回による停止を回避するためのフェイルセーフが実行されるまでの経過マルチトランザクション数。" -#: utils/misc/guc_tables.c:2714 +#: utils/misc/guc_tables.c:2781 msgid "Sets the maximum number of locks per transaction." msgstr "1トランザクション当たりのロック数の上限を設定。" -#: utils/misc/guc_tables.c:2715 +#: utils/misc/guc_tables.c:2782 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 "共有ロックテーブルの大きさは、サーバープロセスまたは準備済みトランザクションごとに最大で\"max_locks_per_transaction\"個のオブジェクトが同時にロックされることを前提として決定されます。" -#: utils/misc/guc_tables.c:2726 +#: utils/misc/guc_tables.c:2793 msgid "Sets the maximum number of predicate locks per transaction." msgstr "1トランザクション当たりの述語ロック数の上限を設定。" -#: utils/misc/guc_tables.c:2727 +#: utils/misc/guc_tables.c:2794 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 "共有述語ロックテーブルの大きさは、サーバープロセスまたは準備済みトランザクションごとに最大で\"max_pred_locks_per_transaction\"個のオブジェクトが同時にロックされることを前提として決定されます。" -#: utils/misc/guc_tables.c:2738 +#: utils/misc/guc_tables.c:2805 msgid "Sets the maximum number of predicate-locked pages and tuples per relation." msgstr "1リレーション当たりで述語ロックされるページとタプルの数の上限値を設定。" -#: utils/misc/guc_tables.c:2739 +#: utils/misc/guc_tables.c:2806 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 "あるコネクションで、同じリレーション内でロックされるページ数とタプル数の合計がこの値を超えたときには、これらのロックはリレーションレベルのロックに置き換えられます。" -#: utils/misc/guc_tables.c:2749 +#: utils/misc/guc_tables.c:2816 msgid "Sets the maximum number of predicate-locked tuples per page." msgstr "1ページあたりで述語ロックされるタプル数の上限値を設定。" -#: utils/misc/guc_tables.c:2750 +#: utils/misc/guc_tables.c:2817 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 "あるコネクションで 、同じページ上でロックされるタプルの数がこの値を超えたときには、これらのロックはページレベルのロックに置き換えられます。" -#: utils/misc/guc_tables.c:2760 +#: utils/misc/guc_tables.c:2827 msgid "Sets the maximum allowed time to complete client authentication." msgstr "クライアント認証の完了までの最大許容時間を設定。" -#: utils/misc/guc_tables.c:2772 +#: utils/misc/guc_tables.c:2839 msgid "Sets the amount of time to wait before authentication on connection startup." msgstr "接続開始時の認証前の待ち時間を設定します。" -#: utils/misc/guc_tables.c:2784 +#: utils/misc/guc_tables.c:2851 msgid "Sets the maximum number of allocated pages for NOTIFY / LISTEN queue." msgstr "LISTEN / NOTIFYキュー用に割り当てられるページ数の上限を設定。" -#: utils/misc/guc_tables.c:2794 +#: utils/misc/guc_tables.c:2861 msgid "Buffer size for reading ahead in the WAL during recovery." msgstr "リカバリ中のWAL先読みバッファのサイズ。" -#: utils/misc/guc_tables.c:2795 +#: utils/misc/guc_tables.c:2862 msgid "Maximum distance to read ahead in the WAL to prefetch referenced data blocks." msgstr "参照先データブロックの先行読み込みのためのWAL先読みの最大量。" -#: utils/misc/guc_tables.c:2805 +#: utils/misc/guc_tables.c:2872 msgid "Sets the size of WAL files held for standby servers." msgstr "スタンバイサーバーのために確保するWALの量を設定します。" -#: utils/misc/guc_tables.c:2816 +#: utils/misc/guc_tables.c:2883 msgid "Sets the minimum size to shrink the WAL to." msgstr "WALを縮小させる際の最小のサイズを設定。" -#: utils/misc/guc_tables.c:2828 +#: utils/misc/guc_tables.c:2895 msgid "Sets the WAL size that triggers a checkpoint." msgstr "チェックポイントの契機となるWALのサイズを指定。" -#: utils/misc/guc_tables.c:2840 +#: utils/misc/guc_tables.c:2907 msgid "Sets the maximum time between automatic WAL checkpoints." msgstr "自動WALチェックポイントの最大間隔を設定。" -#: utils/misc/guc_tables.c:2851 +#: utils/misc/guc_tables.c:2918 msgid "Sets the maximum time before warning if checkpoints triggered by WAL volume happen too frequently." msgstr "WALの量契機のチェックポイントが高頻度で起きる場合に、警告を発するまでの回数を設定。" -#: utils/misc/guc_tables.c:2853 +#: utils/misc/guc_tables.c:2920 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 "チェックポイントセグメントファイルを使い切ることが原因で起きるチェックポイントがこの時間間隔よりも頻繁に発生する場合、サーバーログにメッセージを書き出します。ゼロはこの警告を無効にします。 " -#: utils/misc/guc_tables.c:2866 utils/misc/guc_tables.c:3084 utils/misc/guc_tables.c:3138 +#: utils/misc/guc_tables.c:2933 utils/misc/guc_tables.c:3151 utils/misc/guc_tables.c:3205 msgid "Number of pages after which previously performed writes are flushed to disk." msgstr "すでに実行された書き込みがディスクに書き出されるまでのページ数。" -#: utils/misc/guc_tables.c:2877 +#: utils/misc/guc_tables.c:2944 msgid "Sets the number of disk-page buffers in shared memory for WAL." msgstr "共有メモリ内に割り当てられた、WALデータ用のディスクページバッファ数を設定。" -#: utils/misc/guc_tables.c:2878 -msgid "Specify -1 to have this value determined as a fraction of shared_buffers." -msgstr "-1を指定するとこの値がshared_buffersに対する比率で決定されます。" +#: utils/misc/guc_tables.c:2945 +msgid "Specify -1 to have this value determined as a fraction of \"shared_buffers\"." +msgstr "-1を指定するとこの値が\"shared_buffers\"に対する比率に基づいて決定されます。" -#: utils/misc/guc_tables.c:2888 +#: utils/misc/guc_tables.c:2955 msgid "Time between WAL flushes performed in the WAL writer." msgstr "WALライタで実行する書き出しの時間間隔。" -#: utils/misc/guc_tables.c:2899 +#: utils/misc/guc_tables.c:2966 msgid "Amount of WAL written out by WAL writer that triggers a flush." msgstr "書き出しが実行されるまでにWALライタで出力するWALの量。" -#: utils/misc/guc_tables.c:2910 +#: utils/misc/guc_tables.c:2977 msgid "Minimum size of new file to fsync instead of writing WAL." msgstr "WALを出力する代わりにfsyncを使用する新規ファイルの最小サイズ。" -#: utils/misc/guc_tables.c:2921 +#: utils/misc/guc_tables.c:2988 msgid "Sets the maximum number of simultaneously running WAL sender processes." msgstr "WAL送信プロセスの最大同時実行数を設定。" -#: utils/misc/guc_tables.c:2932 +#: utils/misc/guc_tables.c:2999 msgid "Sets the maximum number of simultaneously defined replication slots." msgstr "同時に定義できるレプリケーションスロットの数の最大値を設定。" -#: utils/misc/guc_tables.c:2942 +#: utils/misc/guc_tables.c:3009 msgid "Sets the maximum WAL size that can be reserved by replication slots." msgstr "レプリケーションスロットで確保できるWALの量の最大値を設定します。" -#: utils/misc/guc_tables.c:2943 +#: utils/misc/guc_tables.c:3010 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 "ディスク内のWALがこの量に達すると、レプリケーションスロットは停止とマークされ、セグメントは削除あるいは再利用のために解放されます。" -#: utils/misc/guc_tables.c:2955 +#: utils/misc/guc_tables.c:3022 msgid "Sets the maximum time to wait for WAL replication." msgstr "WALレプリケーションを待つ時間の最大値を設定。" -#: utils/misc/guc_tables.c:2966 +#: utils/misc/guc_tables.c:3033 msgid "Sets the delay in microseconds between transaction commit and flushing WAL to disk." msgstr "トランザクションのコミットからWALのディスク書き出しまでの遅延時間をマイクロ秒単位で設定。" -#: utils/misc/guc_tables.c:2978 +#: utils/misc/guc_tables.c:3045 msgid "Sets the minimum number of concurrent open transactions required before performing \"commit_delay\"." msgstr "”commit_delay\"の実行に必要となる、同時に開いているトランザクション数の最小値を設定。" -#: utils/misc/guc_tables.c:2989 +#: utils/misc/guc_tables.c:3056 msgid "Sets the number of digits displayed for floating-point values." msgstr "浮動小数点値の表示桁数を設定。" -#: utils/misc/guc_tables.c:2990 +#: utils/misc/guc_tables.c:3057 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 "このパラメータは、real、double precision、幾何データ型に影響します。ゼロまたは負のパラメータ値は標準的な桁数(FLT_DIG もしくは DBL_DIGどちらか適切な方)に追加されます。正の値は直接出力形式を指定します。" -#: utils/misc/guc_tables.c:3002 -msgid "Sets the minimum execution time above which a sample of statements will be logged. Sampling is determined by log_statement_sample_rate." -msgstr "文がログに出力される最小の実行時間を設定します。サンプリングについてはlog_statement_sample_rateで決定されます。" +#: utils/misc/guc_tables.c:3069 +msgid "Sets the minimum execution time above which a sample of statements will be logged. Sampling is determined by \"log_statement_sample_rate\"." +msgstr "文がログ出力の対象となる最小の実行時間を設定します。サンプリングは\"log_statement_sample_rate\"で決定されます。" -#: utils/misc/guc_tables.c:3005 +#: utils/misc/guc_tables.c:3072 msgid "Zero logs a sample of all queries. -1 turns this feature off." msgstr "ゼロにすると全ての問い合わせを記録します。-1はこの機能を無効にします。" -#: utils/misc/guc_tables.c:3015 +#: utils/misc/guc_tables.c:3082 msgid "Sets the minimum execution time above which all statements will be logged." msgstr "全ての文のログを記録する最小の実行時間を設定。" -#: utils/misc/guc_tables.c:3017 +#: utils/misc/guc_tables.c:3084 msgid "Zero prints all queries. -1 turns this feature off." msgstr "ゼロにすると全ての問い合わせを出力します。-1はこの機能を無効にします。" -#: utils/misc/guc_tables.c:3027 +#: utils/misc/guc_tables.c:3094 msgid "Sets the minimum execution time above which autovacuum actions will be logged." msgstr "自動VACUUMの活動のログを記録する最小の実行時間を設定。" -#: utils/misc/guc_tables.c:3029 +#: utils/misc/guc_tables.c:3096 msgid "Zero prints all actions. -1 turns autovacuum logging off." msgstr "ゼロはすべての活動を出力します。-1は自動VACUUMのログ記録を無効にします。" -#: utils/misc/guc_tables.c:3039 +#: utils/misc/guc_tables.c:3106 msgid "Sets the maximum length in bytes of data logged for bind parameter values when logging statements." msgstr "問い合わせ文をログ出力する際に、出力するbindパラメータ値データの最大バイト数を設定。" -#: utils/misc/guc_tables.c:3041 utils/misc/guc_tables.c:3053 +#: utils/misc/guc_tables.c:3108 utils/misc/guc_tables.c:3120 msgid "-1 to print values in full." msgstr "-1 で値を全て出力します。" -#: utils/misc/guc_tables.c:3051 +#: utils/misc/guc_tables.c:3118 msgid "Sets the maximum length in bytes of data logged for bind parameter values when logging statements, on error." msgstr "エラー時の問い合わせ文をログ出力する際に、出力するbindパラメータ値データの最大バイト数を設定。" -#: utils/misc/guc_tables.c:3063 +#: utils/misc/guc_tables.c:3130 msgid "Background writer sleep time between rounds." msgstr "バックグランドライタの周期毎の待機時間" -#: utils/misc/guc_tables.c:3074 +#: utils/misc/guc_tables.c:3141 msgid "Background writer maximum number of LRU pages to flush per round." msgstr "バックグランドライタが1周期で書き出すLRUページ数の最大値。" -#: utils/misc/guc_tables.c:3097 +#: utils/misc/guc_tables.c:3164 msgid "Number of simultaneous requests that can be handled efficiently by the disk subsystem." msgstr "ディスクサブシステムが効率的に処理可能な同時並行リクエスト数" -#: utils/misc/guc_tables.c:3111 +#: utils/misc/guc_tables.c:3178 msgid "A variant of \"effective_io_concurrency\" that is used for maintenance work." msgstr "保守作業に使用される\"effective_io_concurrency\"の亜種。" -#: utils/misc/guc_tables.c:3126 +#: utils/misc/guc_tables.c:3193 msgid "Limit on the size of data reads and writes." msgstr "データの読み込みとか書き込みのサイズ制限" -#: utils/misc/guc_tables.c:3151 +#: utils/misc/guc_tables.c:3218 msgid "Maximum number of concurrent worker processes." msgstr "同時に実行されるワーカープロセス数の最大値です。" -#: utils/misc/guc_tables.c:3163 +#: utils/misc/guc_tables.c:3230 msgid "Maximum number of logical replication worker processes." msgstr "レプリケーションワーカープロセス数の最大値です。" -#: utils/misc/guc_tables.c:3175 +#: utils/misc/guc_tables.c:3242 msgid "Maximum number of table synchronization workers per subscription." msgstr "サブスクリプション毎のテーブル同期ワーカー数の最大値です。" -#: utils/misc/guc_tables.c:3187 +#: utils/misc/guc_tables.c:3254 msgid "Maximum number of parallel apply workers per subscription." msgstr "サブスクリプション毎のテーブル適用ワーカー数の最大値です。" -#: utils/misc/guc_tables.c:3197 +#: utils/misc/guc_tables.c:3264 msgid "Sets the amount of time to wait before forcing log file rotation." msgstr "ログファイルのローテーションを行う時間間隔を設定します。" -#: utils/misc/guc_tables.c:3209 +#: utils/misc/guc_tables.c:3276 msgid "Sets the maximum size a log file can reach before being rotated." msgstr "ローテートされるまでに許容するログファイルの最大サイズを設定します。" -#: utils/misc/guc_tables.c:3221 +#: utils/misc/guc_tables.c:3288 msgid "Shows the maximum number of function arguments." msgstr "関数の引数の最大数を示します。" -#: utils/misc/guc_tables.c:3232 +#: utils/misc/guc_tables.c:3299 msgid "Shows the maximum number of index keys." msgstr "インデックスキーの最大数を示します。" -#: utils/misc/guc_tables.c:3243 +#: utils/misc/guc_tables.c:3310 msgid "Shows the maximum identifier length." msgstr "識別子の最大長を示します。" -#: utils/misc/guc_tables.c:3254 +#: utils/misc/guc_tables.c:3321 msgid "Shows the size of a disk block." msgstr "ディスクブロックサイズを示します。" -#: utils/misc/guc_tables.c:3265 +#: utils/misc/guc_tables.c:3332 msgid "Shows the number of pages per disk file." msgstr "ディスクファイルごとのページ数を表示します。" -#: utils/misc/guc_tables.c:3276 +#: utils/misc/guc_tables.c:3343 msgid "Shows the block size in the write ahead log." msgstr "先行書き込みログ(WAL)におけるブロックサイズを表示します" -#: utils/misc/guc_tables.c:3287 +#: utils/misc/guc_tables.c:3354 msgid "Sets the time to wait before retrying to retrieve WAL after a failed attempt." msgstr "WALの取り出しの失敗後に再試行する回数を設定。" -#: utils/misc/guc_tables.c:3299 +#: utils/misc/guc_tables.c:3366 msgid "Shows the size of write ahead log segments." msgstr "先行書き込みログ(WAL)セグメントのサイズを表示します" -#: utils/misc/guc_tables.c:3312 +#: utils/misc/guc_tables.c:3379 msgid "Time for which WAL summary files should be kept." msgstr "WAL集約ファイルを保持する時間。" -#: utils/misc/guc_tables.c:3325 +#: utils/misc/guc_tables.c:3392 msgid "Time to sleep between autovacuum runs." msgstr "自動VACUUMの実行開始間隔。" -#: utils/misc/guc_tables.c:3335 +#: utils/misc/guc_tables.c:3402 msgid "Minimum number of tuple updates or deletes prior to vacuum." msgstr "VACUUMを行うまでの、タプルを更新または削除した回数の最小値。" -#: utils/misc/guc_tables.c:3344 +#: utils/misc/guc_tables.c:3411 msgid "Minimum number of tuple inserts prior to vacuum, or -1 to disable insert vacuums." msgstr "VACUUMが行われるまでの行挿入の回数の最小値、-1で挿入契機のVACUUMを無効化します。" -#: utils/misc/guc_tables.c:3353 +#: utils/misc/guc_tables.c:3420 msgid "Minimum number of tuple inserts, updates, or deletes prior to analyze." msgstr "ANALYZEが実行されるまでの、タプルを挿入、更新、削除した回数の最小値。" -#: utils/misc/guc_tables.c:3363 +#: utils/misc/guc_tables.c:3430 msgid "Age at which to autovacuum a table to prevent transaction ID wraparound." msgstr "トランザクションID周回を防ぐためにテーブルを自動VACUUMする時点のトランザクションID差分。" -#: utils/misc/guc_tables.c:3375 +#: utils/misc/guc_tables.c:3442 msgid "Multixact age at which to autovacuum a table to prevent multixact wraparound." msgstr "マルチトランザクション周回を防止するためにテーブルを自動VACUUMする、マルチトランザクション差分。" -#: utils/misc/guc_tables.c:3385 +#: utils/misc/guc_tables.c:3452 msgid "Sets the maximum number of simultaneously running autovacuum worker processes." msgstr "自動VACUUMのワーカープロセスの最大同時実行数を設定。" -#: utils/misc/guc_tables.c:3395 +#: utils/misc/guc_tables.c:3462 msgid "Sets the maximum number of parallel processes per maintenance operation." msgstr "ひとつの保守作業に割り当てる並列処理プロセスの数の最大値を設定。" -#: utils/misc/guc_tables.c:3405 +#: utils/misc/guc_tables.c:3472 msgid "Sets the maximum number of parallel processes per executor node." msgstr "エグゼキュータノードあたりの並列処理プロセスの数の最大値を設定。" -#: utils/misc/guc_tables.c:3416 +#: utils/misc/guc_tables.c:3483 msgid "Sets the maximum number of parallel workers that can be active at one time." msgstr "同時に活動可能な並列処理ワーカーの数の最大値を設定。" -#: utils/misc/guc_tables.c:3427 +#: utils/misc/guc_tables.c:3494 msgid "Sets the maximum memory to be used by each autovacuum worker process." msgstr "自動VACUUMプロセスで使用するメモリ量の最大値を設定。" -#: utils/misc/guc_tables.c:3438 +#: utils/misc/guc_tables.c:3505 msgid "Time between issuing TCP keepalives." msgstr "TCPキープアライブを発行する時間間隔。" -#: utils/misc/guc_tables.c:3439 utils/misc/guc_tables.c:3450 utils/misc/guc_tables.c:3574 +#: utils/misc/guc_tables.c:3506 utils/misc/guc_tables.c:3517 utils/misc/guc_tables.c:3641 msgid "A value of 0 uses the system default." msgstr "0でシステムのデフォルトを使用します。" -#: utils/misc/guc_tables.c:3449 +#: utils/misc/guc_tables.c:3516 msgid "Time between TCP keepalive retransmits." msgstr "TCPキープアライブの再送信の時間間隔。" -#: utils/misc/guc_tables.c:3460 +#: utils/misc/guc_tables.c:3527 msgid "SSL renegotiation is no longer supported; this can only be 0." msgstr "SSLの再ネゴシエーションは今後サポートされません; 0のみに設定可能です。" -#: utils/misc/guc_tables.c:3471 +#: utils/misc/guc_tables.c:3538 msgid "Maximum number of TCP keepalive retransmits." msgstr "TCPキープアライブの再送信回数の最大値です。" -#: utils/misc/guc_tables.c:3472 +#: utils/misc/guc_tables.c:3539 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 "接続が失われると判断するまでに再送信される、ひとつづきのキープアライブの数。0の場合はシステムのデフォルトを使用します。" -#: utils/misc/guc_tables.c:3483 +#: utils/misc/guc_tables.c:3550 msgid "Sets the maximum allowed result for exact search by GIN." msgstr "GINによる正確な検索に対して許容する結果数の最大値を設定。" -#: utils/misc/guc_tables.c:3494 +#: utils/misc/guc_tables.c:3561 msgid "Sets the planner's assumption about the total size of the data caches." msgstr "プランナが想定するデータキャッシュ全体のサイズを設定。" -#: utils/misc/guc_tables.c:3495 +#: utils/misc/guc_tables.c:3562 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 "つまり、PostgreSQLのデータファイルに対して使用されるキャッシュ(カーネルキャッシュおよび共有バッファ)全体の量です。これは通常8KBのディスクページを単位とします。" -#: utils/misc/guc_tables.c:3506 +#: utils/misc/guc_tables.c:3573 msgid "Sets the minimum amount of table data for a parallel scan." msgstr "並列スキャンを検討するテーブルデータの量の最小値を設定。" -#: utils/misc/guc_tables.c:3507 +#: utils/misc/guc_tables.c:3574 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 "この限度に到達できないような少ないテーブルページ数しか読み取らないとプランナが見積もった場合、並列スキャンは検討されません。" -#: utils/misc/guc_tables.c:3517 +#: utils/misc/guc_tables.c:3584 msgid "Sets the minimum amount of index data for a parallel scan." msgstr "並列スキャンを検討するインデックスデータの量の最小値を設定。" -#: utils/misc/guc_tables.c:3518 +#: utils/misc/guc_tables.c:3585 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 "この限度に到達できないような少ないページ数しか読み取らないとプランナが見積もった場合、並列スキャンは検討されません。" -#: utils/misc/guc_tables.c:3529 +#: utils/misc/guc_tables.c:3596 msgid "Shows the server version as an integer." msgstr "サーバーのバージョンを整数値で表示します。" -#: utils/misc/guc_tables.c:3540 +#: utils/misc/guc_tables.c:3607 msgid "Log the use of temporary files larger than this number of kilobytes." msgstr "このキロバイト数よりも大きな一時ファイルの使用をログに記録します。" -#: utils/misc/guc_tables.c:3541 +#: utils/misc/guc_tables.c:3608 msgid "Zero logs all files. The default is -1 (turning this feature off)." msgstr "ゼロにすると、全てのファイルを記録します。デフォルトは-1です(この機能を無効にします)。" -#: utils/misc/guc_tables.c:3551 +#: utils/misc/guc_tables.c:3618 msgid "Sets the size reserved for pg_stat_activity.query, in bytes." msgstr "pg_stat_activity.queryのために予約するサイズをバイト単位で設定。" -#: utils/misc/guc_tables.c:3562 +#: utils/misc/guc_tables.c:3629 msgid "Sets the maximum size of the pending list for GIN index." msgstr "GINインデックスの保留リストの最大サイズを設定。" -#: utils/misc/guc_tables.c:3573 +#: utils/misc/guc_tables.c:3640 msgid "TCP user timeout." msgstr "TCPユーザータイムアウト。" -#: utils/misc/guc_tables.c:3584 +#: utils/misc/guc_tables.c:3651 msgid "The size of huge page that should be requested." msgstr "要求が見込まれるヒュージページのサイズ。" -#: utils/misc/guc_tables.c:3595 +#: utils/misc/guc_tables.c:3662 msgid "Aggressively flush system caches for debugging purposes." msgstr "デバッグ目的のために積極的にシステムキャッシュを消去する。" -#: utils/misc/guc_tables.c:3618 +#: utils/misc/guc_tables.c:3685 msgid "Sets the time interval between checks for disconnection while running queries." msgstr "問い合わせ実行中に接続確認を行う時間間隔を設定します。" -#: utils/misc/guc_tables.c:3629 +#: utils/misc/guc_tables.c:3696 msgid "Time between progress updates for long-running startup operations." msgstr "起動処理が長引いた際のステータス更新の時間間隔。" -#: utils/misc/guc_tables.c:3631 +#: utils/misc/guc_tables.c:3698 msgid "0 turns this feature off." msgstr "ゼロにするとこの機能を無効にします。" -#: utils/misc/guc_tables.c:3641 +#: utils/misc/guc_tables.c:3708 msgid "Sets the iteration count for SCRAM secret generation." msgstr "SCRAMシークレット生成の際の反復回数を設定。" -#: utils/misc/guc_tables.c:3661 +#: utils/misc/guc_tables.c:3728 msgid "Sets the planner's estimate of the cost of a sequentially fetched disk page." msgstr "ひと続きに読み込むディスクページについてプランナで使用する見積もりコストを設定。" -#: utils/misc/guc_tables.c:3672 +#: utils/misc/guc_tables.c:3739 msgid "Sets the planner's estimate of the cost of a nonsequentially fetched disk page." msgstr "ひと続きでは読み込めないディスクページについてプランナで使用する見積もりコストを設定。" -#: utils/misc/guc_tables.c:3683 +#: utils/misc/guc_tables.c:3750 msgid "Sets the planner's estimate of the cost of processing each tuple (row)." msgstr "一つのタプル(行)の処理についてプランナで使用する見積もりコストを設定。" -#: utils/misc/guc_tables.c:3694 +#: utils/misc/guc_tables.c:3761 msgid "Sets the planner's estimate of the cost of processing each index entry during an index scan." msgstr "インデックススキャンにおける一つのインデックスエントリの処理についてプランナで使用する見積もりコストを設定。 " -#: utils/misc/guc_tables.c:3705 +#: utils/misc/guc_tables.c:3772 msgid "Sets the planner's estimate of the cost of processing each operator or function call." msgstr "一つの演算子または関数の処理についてプランナで使用する見積もりコストを設定。" -#: utils/misc/guc_tables.c:3716 +#: utils/misc/guc_tables.c:3783 msgid "Sets the planner's estimate of the cost of passing each tuple (row) from worker to leader backend." msgstr "並列処理ワーカーからリーダーバックエンドへの一つのタプル(行)の受け渡しについてプランナが使用する見積もりコストを設定。" -#: utils/misc/guc_tables.c:3727 +#: utils/misc/guc_tables.c:3794 msgid "Sets the planner's estimate of the cost of starting up worker processes for parallel query." msgstr "並列問い合わせ実行のためのワーカープロセスの起動についてプランナで使用する見積もりコストを設定。" -#: utils/misc/guc_tables.c:3739 +#: utils/misc/guc_tables.c:3806 msgid "Perform JIT compilation if query is more expensive." msgstr "問い合わせがこの値より高コストであればJITコンパイルを実行します。" -#: utils/misc/guc_tables.c:3740 +#: utils/misc/guc_tables.c:3807 msgid "-1 disables JIT compilation." msgstr "-1 でJITコンパイルを禁止します。" -#: utils/misc/guc_tables.c:3750 +#: utils/misc/guc_tables.c:3817 msgid "Optimize JIT-compiled functions if query is more expensive." msgstr "問い合わせがこの値より高コストであればJITコンパイルされた関数を最適化します。" -#: utils/misc/guc_tables.c:3751 +#: utils/misc/guc_tables.c:3818 msgid "-1 disables optimization." msgstr "-1で最適化を行わなくなります。" -#: utils/misc/guc_tables.c:3761 +#: utils/misc/guc_tables.c:3828 msgid "Perform JIT inlining if query is more expensive." msgstr "問い合わせがこの値より高コストであればJITコンパイルされた関数をインライン化します。" -#: utils/misc/guc_tables.c:3762 +#: utils/misc/guc_tables.c:3829 msgid "-1 disables inlining." msgstr "-1 でインライン化を禁止します。" -#: utils/misc/guc_tables.c:3772 +#: utils/misc/guc_tables.c:3839 msgid "Sets the planner's estimate of the fraction of a cursor's rows that will be retrieved." msgstr "カーソルから取り出される行数の全行に対する割合についてプランナで使用する値を設定。" -#: utils/misc/guc_tables.c:3784 +#: utils/misc/guc_tables.c:3851 msgid "Sets the planner's estimate of the average size of a recursive query's working table." msgstr "再帰問い合わせでプランナが使用する中間テーブルの平均見積もりサイズを設定します。" -#: utils/misc/guc_tables.c:3796 +#: utils/misc/guc_tables.c:3863 msgid "GEQO: selective pressure within the population." msgstr "GEQO: 集合内の選択圧力。" -#: utils/misc/guc_tables.c:3807 +#: utils/misc/guc_tables.c:3874 msgid "GEQO: seed for random path selection." msgstr "GEQO: ランダムパス選択用のシード" -#: utils/misc/guc_tables.c:3818 +#: utils/misc/guc_tables.c:3885 msgid "Multiple of \"work_mem\" to use for hash tables." msgstr "ハッシュテーブルで使用する\"work_mem\"に対する倍率。" -#: utils/misc/guc_tables.c:3829 +#: utils/misc/guc_tables.c:3896 msgid "Multiple of the average buffer usage to free per round." msgstr "周期ごとに解放するバッファ数の平均バッファ使用量に対する倍数" -#: utils/misc/guc_tables.c:3839 +#: utils/misc/guc_tables.c:3906 msgid "Sets the seed for random-number generation." msgstr "乱数生成用のシードを設定。" -#: utils/misc/guc_tables.c:3850 +#: utils/misc/guc_tables.c:3917 msgid "Vacuum cost delay in milliseconds." msgstr "ミリ秒単位のコストベースのVACUUM処理の遅延時間です。" -#: utils/misc/guc_tables.c:3861 +#: utils/misc/guc_tables.c:3928 msgid "Vacuum cost delay in milliseconds, for autovacuum." msgstr "自動VACUUM用のミリ秒単位のコストベースのVACUUM処理の遅延時間です。" -#: utils/misc/guc_tables.c:3872 +#: utils/misc/guc_tables.c:3939 msgid "Number of tuple updates or deletes prior to vacuum as a fraction of reltuples." msgstr "VACUUMが実行されるまでのタプルの更新または削除回数のreltuplesに対する割合。" -#: utils/misc/guc_tables.c:3882 +#: utils/misc/guc_tables.c:3949 msgid "Number of tuple inserts prior to vacuum as a fraction of reltuples." msgstr "VACUUMが実行されるまでのタプルの挿入行数のreltuplesに対する割合。" -#: utils/misc/guc_tables.c:3892 +#: utils/misc/guc_tables.c:3959 msgid "Number of tuple inserts, updates, or deletes prior to analyze as a fraction of reltuples." msgstr "ANALYZEが実行されるまでのタプルの更新または削除回数のreltuplesに対する割合。" -#: utils/misc/guc_tables.c:3902 +#: utils/misc/guc_tables.c:3969 msgid "Time spent flushing dirty buffers during checkpoint, as fraction of checkpoint interval." msgstr "チェックポイント中にダーティバッファの書き出しに使う時間のチェックポイント間隔に対する割合。" -#: utils/misc/guc_tables.c:3912 +#: utils/misc/guc_tables.c:3979 msgid "Fraction of statements exceeding \"log_min_duration_sample\" to be logged." msgstr "\"log_min_duration_sample\"を超過した文のうちログ出力を行う割合。" -#: utils/misc/guc_tables.c:3913 +#: utils/misc/guc_tables.c:3980 msgid "Use a value between 0.0 (never log) and 1.0 (always log)." msgstr "0.0(ログ出力しない)から1.0(すべてログ出力する)の間の値を指定してください。" -#: utils/misc/guc_tables.c:3922 +#: utils/misc/guc_tables.c:3989 msgid "Sets the fraction of transactions from which to log all statements." msgstr "すべての文をログ出力するトランザクションの割合を設定します。" -#: utils/misc/guc_tables.c:3923 +#: utils/misc/guc_tables.c:3990 msgid "Use a value between 0.0 (never log) and 1.0 (log all statements for all transactions)." msgstr "0.0 (ログ出力しない)から 1.0 (全てのトランザクションの全ての文をログ出力する)の間の値を指定してください。" # hoge -#: utils/misc/guc_tables.c:3942 +#: utils/misc/guc_tables.c:4009 msgid "Sets the shell command that will be called to archive a WAL file." msgstr "WALファイルの保管のために呼び出されるシェルスクリプトを設定。" -#: utils/misc/guc_tables.c:3943 +#: utils/misc/guc_tables.c:4010 msgid "This is used only if \"archive_library\" is not set." msgstr "これは\"archive_library\"の設定がされていない場合にのみ使用されます。" # hoge -#: utils/misc/guc_tables.c:3952 +#: utils/misc/guc_tables.c:4019 msgid "Sets the library that will be called to archive a WAL file." msgstr "WALファイルのアーカイブのために呼び出すライブラリを設定します。" -#: utils/misc/guc_tables.c:3953 +#: utils/misc/guc_tables.c:4020 msgid "An empty string indicates that \"archive_command\" should be used." msgstr "空文字列は\"archive_command\"の使用を指示します。" # hoge -#: utils/misc/guc_tables.c:3962 +#: utils/misc/guc_tables.c:4029 msgid "Sets the shell command that will be called to retrieve an archived WAL file." msgstr "アーカイブされたWALファイルを取り出すために呼び出すシェルコマンドを設定します。" # hoge -#: utils/misc/guc_tables.c:3972 +#: utils/misc/guc_tables.c:4039 msgid "Sets the shell command that will be executed at every restart point." msgstr "リスタートポイントの時に実行するシェルコマンドを設定。" # hoge -#: utils/misc/guc_tables.c:3982 +#: utils/misc/guc_tables.c:4049 msgid "Sets the shell command that will be executed once at the end of recovery." msgstr "リカバリ終了時に1度だけ実行されるシェルコマンドを設定。" -#: utils/misc/guc_tables.c:3992 +#: utils/misc/guc_tables.c:4059 msgid "Specifies the timeline to recover into." msgstr "リカバリの目標タイムラインを指定します。" -#: utils/misc/guc_tables.c:4002 +#: utils/misc/guc_tables.c:4069 msgid "Set to \"immediate\" to end recovery as soon as a consistent state is reached." msgstr "\"immediate\"を指定すると一貫性が確保できた時点でリカバリを終了します。" -#: utils/misc/guc_tables.c:4011 +#: utils/misc/guc_tables.c:4078 msgid "Sets the transaction ID up to which recovery will proceed." msgstr "リカバリを指定したトランザクションIDまで進めます。" -#: utils/misc/guc_tables.c:4020 +#: utils/misc/guc_tables.c:4087 msgid "Sets the time stamp up to which recovery will proceed." msgstr "リカバリを指定したタイムスタンプの時刻まで進めます。" -#: utils/misc/guc_tables.c:4029 +#: utils/misc/guc_tables.c:4096 msgid "Sets the named restore point up to which recovery will proceed." msgstr "リカバリを指定した名前のリストアポイントまで進めます。" -#: utils/misc/guc_tables.c:4038 +#: utils/misc/guc_tables.c:4105 msgid "Sets the LSN of the write-ahead log location up to which recovery will proceed." msgstr "リカバリを先行書き込みログの指定したLSNまで進めます。" -#: utils/misc/guc_tables.c:4048 +#: utils/misc/guc_tables.c:4115 msgid "Sets the connection string to be used to connect to the sending server." msgstr "送出側サーバーへの接続に使用する接続文字列をしています。" -#: utils/misc/guc_tables.c:4059 +#: utils/misc/guc_tables.c:4126 msgid "Sets the name of the replication slot to use on the sending server." msgstr "送出サーバーで使用するレプリケーションスロットの名前を設定。" -#: utils/misc/guc_tables.c:4069 +#: utils/misc/guc_tables.c:4136 msgid "Sets the client's character set encoding." msgstr "クライアントの文字集合の符号化方式を設定。" -#: utils/misc/guc_tables.c:4080 +#: utils/misc/guc_tables.c:4147 msgid "Controls information prefixed to each log line." msgstr "各ログ行の前に付ける情報を制御します。" -#: utils/misc/guc_tables.c:4081 +#: utils/misc/guc_tables.c:4148 msgid "If blank, no prefix is used." msgstr "もし空であればなにも付加しません。" -#: utils/misc/guc_tables.c:4090 +#: utils/misc/guc_tables.c:4157 msgid "Sets the time zone to use in log messages." msgstr "ログメッセージ使用するタイムゾーンを設定。" -#: utils/misc/guc_tables.c:4100 +#: utils/misc/guc_tables.c:4167 msgid "Sets the display format for date and time values." msgstr "日付時刻値の表示用書式を設定。" -#: utils/misc/guc_tables.c:4101 +#: utils/misc/guc_tables.c:4168 msgid "Also controls interpretation of ambiguous date inputs." msgstr "曖昧な日付の入力の解釈も制御します。" -#: utils/misc/guc_tables.c:4112 +#: utils/misc/guc_tables.c:4179 msgid "Sets the default table access method for new tables." msgstr "新規テーブルで使用されるデフォルトテーブルアクセスメソッドを設定。" -#: utils/misc/guc_tables.c:4123 +#: utils/misc/guc_tables.c:4190 msgid "Sets the default tablespace to create tables and indexes in." msgstr "テーブルとインデックスの作成先となるデフォルトのテーブル空間を設定。" -#: utils/misc/guc_tables.c:4124 +#: utils/misc/guc_tables.c:4191 msgid "An empty string selects the database's default tablespace." msgstr "空文字列はデータベースのデフォルトのテーブル空間を選択します。" -#: utils/misc/guc_tables.c:4134 +#: utils/misc/guc_tables.c:4201 msgid "Sets the tablespace(s) to use for temporary tables and sort files." msgstr "一時テーブルとファイルのソートで使用されるテーブル空間を設定。" -#: utils/misc/guc_tables.c:4145 +#: utils/misc/guc_tables.c:4212 msgid "Sets whether a CREATEROLE user automatically grants the role to themselves, and with which options." msgstr "CREATEROLEを持つユーザーが自動的にそのロールを自身にGRANTするかどうかを対象となるオプションとともに設定します" -#: utils/misc/guc_tables.c:4157 +#: utils/misc/guc_tables.c:4224 msgid "Sets the path for dynamically loadable modules." msgstr "動的ロード可能モジュールのパスを設定。" -#: utils/misc/guc_tables.c:4158 +#: utils/misc/guc_tables.c:4225 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 "オープンする必要がある動的ロード可能なモジュールについて、指定されたファイル名にディレクトリ要素がない(つまり、名前にスラッシュが含まれない)場合、システムは指定されたファイルをこのパスから検索します。 " -#: utils/misc/guc_tables.c:4171 +#: utils/misc/guc_tables.c:4238 msgid "Sets the location of the Kerberos server key file." msgstr "Kerberosサーバーキーファイルの場所を設定。" -#: utils/misc/guc_tables.c:4182 +#: utils/misc/guc_tables.c:4249 msgid "Sets the Bonjour service name." msgstr "Bonjour サービス名を設定。" -#: utils/misc/guc_tables.c:4192 +#: utils/misc/guc_tables.c:4259 msgid "Sets the language in which messages are displayed." msgstr "表示用メッセージの言語を設定。" -#: utils/misc/guc_tables.c:4202 +#: utils/misc/guc_tables.c:4269 msgid "Sets the locale for formatting monetary amounts." msgstr "通貨書式で使用するロケールを設定。 " -#: utils/misc/guc_tables.c:4212 +#: utils/misc/guc_tables.c:4279 msgid "Sets the locale for formatting numbers." msgstr "数字の書式で使用するロケールを設定。" -#: utils/misc/guc_tables.c:4222 +#: utils/misc/guc_tables.c:4289 msgid "Sets the locale for formatting date and time values." msgstr "日付と時間の書式で使用するロケールを設定。" -#: utils/misc/guc_tables.c:4232 +#: utils/misc/guc_tables.c:4299 msgid "Lists shared libraries to preload into each backend." msgstr "各バックエンドに事前ロードする共有ライブラリを列挙します。" -#: utils/misc/guc_tables.c:4243 +#: utils/misc/guc_tables.c:4310 msgid "Lists shared libraries to preload into server." msgstr "サーバーに事前ロードする共有ライブラリを列挙します。" -#: utils/misc/guc_tables.c:4254 +#: utils/misc/guc_tables.c:4321 msgid "Lists unprivileged shared libraries to preload into each backend." msgstr "各バックエンドに事前読み込みする非特権共有ライブラリを列挙します。" -#: utils/misc/guc_tables.c:4265 +#: utils/misc/guc_tables.c:4332 msgid "Sets the schema search order for names that are not schema-qualified." msgstr "スキーマ部を含まない名前に対するスキーマの検索順を設定。" -#: utils/misc/guc_tables.c:4277 +#: utils/misc/guc_tables.c:4344 msgid "Shows the server (database) character set encoding." msgstr "サーバー(データベース)文字セット符号化方式を表示します。" -#: utils/misc/guc_tables.c:4289 +#: utils/misc/guc_tables.c:4356 msgid "Shows the server version." msgstr "サーバーのバージョンを表示します。" -#: utils/misc/guc_tables.c:4301 +#: utils/misc/guc_tables.c:4368 msgid "Sets the current role." msgstr "現在のロールを設定。" -#: utils/misc/guc_tables.c:4313 +#: utils/misc/guc_tables.c:4380 msgid "Sets the session user name." msgstr "セッションユーザー名を設定。" -#: utils/misc/guc_tables.c:4324 +#: utils/misc/guc_tables.c:4391 msgid "Sets the destination for server log output." msgstr "サーバーログの出力先を設定。" -#: utils/misc/guc_tables.c:4325 +#: utils/misc/guc_tables.c:4392 msgid "Valid values are combinations of \"stderr\", \"syslog\", \"csvlog\", \"jsonlog\", and \"eventlog\", depending on the platform." msgstr "有効な値は、プラットフォームに依存しますが\"stderr\"、\"syslog\"、\"csvlog\"、\"jsonlog\"そして\"eventlog\"の組み合わせです。" -#: utils/misc/guc_tables.c:4336 +#: utils/misc/guc_tables.c:4403 msgid "Sets the destination directory for log files." msgstr "ログファイルの格納ディレクトリを設定。" -#: utils/misc/guc_tables.c:4337 +#: utils/misc/guc_tables.c:4404 msgid "Can be specified as relative to the data directory or as absolute path." msgstr "データディレクトリからの相対パスでも絶対パスでも指定できます" -#: utils/misc/guc_tables.c:4347 +#: utils/misc/guc_tables.c:4414 msgid "Sets the file name pattern for log files." msgstr "ログファイルのファイル名パターンを設定。" -#: utils/misc/guc_tables.c:4358 +#: utils/misc/guc_tables.c:4425 msgid "Sets the program name used to identify PostgreSQL messages in syslog." msgstr "syslog内でPostgreSQLのメッセージを識別するために使用されるプログラム名を設定。" -#: utils/misc/guc_tables.c:4369 +#: utils/misc/guc_tables.c:4436 msgid "Sets the application name used to identify PostgreSQL messages in the event log." msgstr "イベントログ内でPostgreSQLのメッセージを識別するために使用されるアプリケーション名を設定。" -#: utils/misc/guc_tables.c:4380 +#: utils/misc/guc_tables.c:4447 msgid "Sets the time zone for displaying and interpreting time stamps." msgstr "タイムスタンプの表示と解釈に使用するタイムゾーンを設定。" -#: utils/misc/guc_tables.c:4390 +#: utils/misc/guc_tables.c:4457 msgid "Selects a file of time zone abbreviations." msgstr "タイムゾーン省略形用のファイルを選択します。" -#: utils/misc/guc_tables.c:4400 +#: utils/misc/guc_tables.c:4467 msgid "Sets the owning group of the Unix-domain socket." msgstr "Unixドメインソケットを所有するグループを設定。" -#: utils/misc/guc_tables.c:4401 +#: utils/misc/guc_tables.c:4468 msgid "The owning user of the socket is always the user that starts the server." msgstr "ソケットを所有するユーザーは常にサーバーを開始したユーザーです。" -#: utils/misc/guc_tables.c:4411 +#: utils/misc/guc_tables.c:4478 msgid "Sets the directories where Unix-domain sockets will be created." msgstr "Unixドメインソケットの作成先ディレクトリを設定。" -#: utils/misc/guc_tables.c:4422 +#: utils/misc/guc_tables.c:4489 msgid "Sets the host name or IP address(es) to listen to." msgstr "接続を監視するホスト名またはIPアドレスを設定。" -#: utils/misc/guc_tables.c:4437 +#: utils/misc/guc_tables.c:4504 msgid "Sets the server's data directory." msgstr "サーバーのデータディレクトリを設定。" -#: utils/misc/guc_tables.c:4448 +#: utils/misc/guc_tables.c:4515 msgid "Sets the server's main configuration file." msgstr "サーバーのメイン設定ファイルを設定。" -#: utils/misc/guc_tables.c:4459 +#: utils/misc/guc_tables.c:4526 msgid "Sets the server's \"hba\" configuration file." msgstr "サーバーの\"hba\"設定ファイルを設定。" -#: utils/misc/guc_tables.c:4470 +#: utils/misc/guc_tables.c:4537 msgid "Sets the server's \"ident\" configuration file." msgstr "サーバーの\"ident\"設定ファイルを設定。" -#: utils/misc/guc_tables.c:4481 +#: utils/misc/guc_tables.c:4548 msgid "Writes the postmaster PID to the specified file." msgstr "postmasterのPIDを指定したファイルに書き込みます。" -#: utils/misc/guc_tables.c:4492 +#: utils/misc/guc_tables.c:4559 msgid "Shows the name of the SSL library." msgstr "SSLライブラリの名前を表示します。" -#: utils/misc/guc_tables.c:4507 +#: utils/misc/guc_tables.c:4574 msgid "Location of the SSL server certificate file." msgstr "SSLサーバー証明書ファイルの場所です" -#: utils/misc/guc_tables.c:4517 +#: utils/misc/guc_tables.c:4584 msgid "Location of the SSL server private key file." msgstr "SSLサーバー秘密鍵ファイルの場所です。" -#: utils/misc/guc_tables.c:4527 +#: utils/misc/guc_tables.c:4594 msgid "Location of the SSL certificate authority file." msgstr "SSL認証局ファイルの場所です" -#: utils/misc/guc_tables.c:4537 +#: utils/misc/guc_tables.c:4604 msgid "Location of the SSL certificate revocation list file." msgstr "SSL証明書失効リストファイルの場所です。" -#: utils/misc/guc_tables.c:4547 +#: utils/misc/guc_tables.c:4614 msgid "Location of the SSL certificate revocation list directory." msgstr "SSL証明書失効リストディレクトリの場所です。" -#: utils/misc/guc_tables.c:4557 +#: utils/misc/guc_tables.c:4624 msgid "Number of synchronous standbys and list of names of potential synchronous ones." msgstr "同期スタンバイの数と同期スタンバイ候補の名前の一覧。" -#: utils/misc/guc_tables.c:4568 +#: utils/misc/guc_tables.c:4635 msgid "Sets default text search configuration." msgstr "デフォルトのテキスト検索設定を設定します。" -#: utils/misc/guc_tables.c:4578 -msgid "Sets the list of allowed SSL ciphers." -msgstr "SSL暗号として許されるリストを設定。" +#: utils/misc/guc_tables.c:4645 +msgid "Sets the list of allowed TLSv1.3 cipher suites (leave blank for default)." +msgstr "使用可能なTLSv1.3の暗号スイートのリストを設定 (空でデフォルト設定)。" -#: utils/misc/guc_tables.c:4593 -msgid "Sets the curve to use for ECDH." -msgstr "ECDHで使用する曲線を設定。" +#: utils/misc/guc_tables.c:4656 +msgid "Sets the list of allowed TLSv1.2 (and lower) ciphers." +msgstr "使用可能なTLSv1.2(およびそれ以前)の暗号方式のリストを設定。" -#: utils/misc/guc_tables.c:4608 +#: utils/misc/guc_tables.c:4671 +msgid "Sets the group(s) to use for Diffie-Hellman key exchange." +msgstr "Diffie-Hellman鍵交換で使用するグループ(群)を設定。" + +#: utils/misc/guc_tables.c:4672 +msgid "Multiple groups can be specified using colon-separated list." +msgstr "複数のグループはコロン区切りのリストとして指定できます。" + +#: utils/misc/guc_tables.c:4686 msgid "Location of the SSL DH parameters file." msgstr "SSLのDHパラメータファイルの場所です。" -#: utils/misc/guc_tables.c:4619 +#: utils/misc/guc_tables.c:4697 msgid "Command to obtain passphrases for SSL." msgstr "SSLのパスフレーズを取得するコマンド。" -#: utils/misc/guc_tables.c:4630 +#: utils/misc/guc_tables.c:4708 msgid "Sets the application name to be reported in statistics and logs." msgstr "統計やログで報告されるアプリケーション名を設定。" -#: utils/misc/guc_tables.c:4641 +#: utils/misc/guc_tables.c:4719 msgid "Sets the name of the cluster, which is included in the process title." msgstr "プロセスのタイトルに含まれるクラスタ名を指定。" -#: utils/misc/guc_tables.c:4652 +#: utils/misc/guc_tables.c:4730 msgid "Sets the WAL resource managers for which WAL consistency checks are done." msgstr "WALの整合性チェックを行う対象とするリソースマネージャを設定。" -#: utils/misc/guc_tables.c:4653 +#: utils/misc/guc_tables.c:4731 msgid "Full-page images will be logged for all data blocks and cross-checked against the results of WAL replay." msgstr "全ページイメージが全てのデータブロックに対して記録され、WAL再生の結果とクロスチェックされます。" -#: utils/misc/guc_tables.c:4663 +#: utils/misc/guc_tables.c:4741 msgid "JIT provider to use." msgstr "使用するJITプロバイダ。" -#: utils/misc/guc_tables.c:4674 +#: utils/misc/guc_tables.c:4752 msgid "Log backtrace for errors in these functions." msgstr "これらの関数でエラーが起きた場合にはバックトレースをログに出力します。" -#: utils/misc/guc_tables.c:4685 +#: utils/misc/guc_tables.c:4763 msgid "Use direct I/O for file access." msgstr "ファイルアクセスに直接I/Oを使用します。" -#: utils/misc/guc_tables.c:4696 -msgid "Lists streaming replication standby server slot names that logical WAL sender processes will wait for." -msgstr "論理walsenderプロセスが待ち受け対象とするストリーミングレプリケーションのスタンバイのスロット名を列挙します。" +#: utils/misc/guc_tables.c:4774 +msgid "Lists streaming replication standby server replication slot names that logical WAL sender processes will wait for." +msgstr "論理WAL senderプロセスが待ち受け対象とするストリーミングレプリケーションのスタンバイサーバーのレプリケーションスロット名を列挙します。" -#: utils/misc/guc_tables.c:4698 -msgid "Logical WAL sender processes will send decoded changes to plugins only after the specified replication slots confirm receiving WAL." -msgstr "論理walsenderプロセスは指定されたレプリケーションスロットによるWALの受け取り確認後に初めてデコードされた変更をプラグインに送出します。" +#: utils/misc/guc_tables.c:4776 +msgid "Logical WAL sender processes will send decoded changes to output plugins only after the specified replication slots have confirmed receiving WAL." +msgstr "論理WAL senderプロセスは指定されたレプリケーションスロットによるWALの受け取り確認後に初めてデコードされた変更を出力プラグインに送出します。" -#: utils/misc/guc_tables.c:4719 +#: utils/misc/guc_tables.c:4788 +msgid "Prohibits access to non-system relations of specified kinds." +msgstr "指定した種別の非システムリレーションへのアクセスを禁止します。" + +#: utils/misc/guc_tables.c:4808 msgid "Sets whether \"\\'\" is allowed in string literals." msgstr "文字列リテラルで\"\\'\"が許可されるかどうかを設定。" -#: utils/misc/guc_tables.c:4729 +#: utils/misc/guc_tables.c:4818 msgid "Sets the output format for bytea." msgstr "bytea の出力フォーマットを設定。" -#: utils/misc/guc_tables.c:4739 +#: utils/misc/guc_tables.c:4828 msgid "Sets the message levels that are sent to the client." msgstr "クライアントに送信される最小のメッセージレベルを設定。" -#: utils/misc/guc_tables.c:4740 utils/misc/guc_tables.c:4836 utils/misc/guc_tables.c:4847 +#: utils/misc/guc_tables.c:4829 utils/misc/guc_tables.c:4925 utils/misc/guc_tables.c:4936 msgid "Each level includes all the levels that follow it. The later the level, the fewer messages are sent." msgstr " 各レベルにはそのレベル以下の全てが含まれます。レベルを低くするほど、送信されるメッセージはより少なくなります。 " -#: utils/misc/guc_tables.c:4750 +#: utils/misc/guc_tables.c:4839 msgid "Enables in-core computation of query identifiers." msgstr "問い合わせ識別子の内部生成を有効にする。" -#: utils/misc/guc_tables.c:4760 +#: utils/misc/guc_tables.c:4849 msgid "Enables the planner to use constraints to optimize queries." msgstr "問い合わせの最適化の際にプランナに制約を利用させる。" -#: utils/misc/guc_tables.c:4761 +#: utils/misc/guc_tables.c:4850 msgid "Table scans will be skipped if their constraints guarantee that no rows match the query." msgstr "制約により、問い合わせに一致する行がないことが保証されているテーブルをスキップします。" -#: utils/misc/guc_tables.c:4772 +#: utils/misc/guc_tables.c:4861 msgid "Sets the default compression method for compressible values." msgstr "圧縮可能な値に対して使用されるデフォルト圧縮方式を設定。" -#: utils/misc/guc_tables.c:4783 +#: utils/misc/guc_tables.c:4872 msgid "Sets the transaction isolation level of each new transaction." msgstr "新規トランザクションのトランザクション分離レベルを設定。" -#: utils/misc/guc_tables.c:4793 +#: utils/misc/guc_tables.c:4882 msgid "Sets the current transaction's isolation level." msgstr "現在のトランザクションの分離レベルを設定。" -#: utils/misc/guc_tables.c:4804 +#: utils/misc/guc_tables.c:4893 msgid "Sets the display format for interval values." msgstr "インターバル値の表示フォーマットを設定。" -#: utils/misc/guc_tables.c:4815 +#: utils/misc/guc_tables.c:4904 msgid "Log level for reporting invalid ICU locale strings." msgstr "不正なICUロケール設定の報告に使用するログレベル。" -#: utils/misc/guc_tables.c:4825 +#: utils/misc/guc_tables.c:4914 msgid "Sets the verbosity of logged messages." msgstr "ログ出力メッセージの詳細度を設定。" -#: utils/misc/guc_tables.c:4835 +#: utils/misc/guc_tables.c:4924 msgid "Sets the message levels that are logged." msgstr "ログに出力するメッセージレベルを設定。" -#: utils/misc/guc_tables.c:4846 +#: utils/misc/guc_tables.c:4935 msgid "Causes all statements generating error at or above this level to be logged." msgstr "このレベル以上のエラーを発生させた全てのSQL文をログに記録します。" -#: utils/misc/guc_tables.c:4857 +#: utils/misc/guc_tables.c:4946 msgid "Sets the type of statements logged." msgstr "ログ出力する文の種類を設定。" -#: utils/misc/guc_tables.c:4867 +#: utils/misc/guc_tables.c:4956 msgid "Sets the syslog \"facility\" to be used when syslog enabled." msgstr "syslogを有効にした場合に使用するsyslog \"facility\"を設定。" -#: utils/misc/guc_tables.c:4878 +#: utils/misc/guc_tables.c:4967 msgid "Sets the session's behavior for triggers and rewrite rules." msgstr "トリガと書き換えルールに関するセッションの動作を設定。" -#: utils/misc/guc_tables.c:4888 +#: utils/misc/guc_tables.c:4977 msgid "Sets the current transaction's synchronization level." msgstr "現在のトランザクションの同期レベルを設定。" -#: utils/misc/guc_tables.c:4898 +#: utils/misc/guc_tables.c:4987 msgid "Allows archiving of WAL files using \"archive_command\"." msgstr "\"archive_command\"を使用したWALファイルのアーカイブ処理を許可します。" -#: utils/misc/guc_tables.c:4908 +#: utils/misc/guc_tables.c:4997 msgid "Sets the action to perform upon reaching the recovery target." msgstr "リカバリ目標に到達した際の動作を設定。" -#: utils/misc/guc_tables.c:4918 +#: utils/misc/guc_tables.c:5007 msgid "Collects function-level statistics on database activity." msgstr "データベースの動作に関して、関数レベルの統計情報を収集します。" -#: utils/misc/guc_tables.c:4929 +#: utils/misc/guc_tables.c:5018 msgid "Sets the consistency of accesses to statistics data." msgstr "統計情報読み出し時の一貫性レベルを設定します。" -#: utils/misc/guc_tables.c:4939 +#: utils/misc/guc_tables.c:5028 msgid "Compresses full-page writes written in WAL file with specified method." msgstr "WALファイルに出力される全ページ出力を指定した方式で圧縮します。" -#: utils/misc/guc_tables.c:4949 +#: utils/misc/guc_tables.c:5038 msgid "Sets the level of information written to the WAL." msgstr "WALに書き出される情報のレベルを設定します。" -#: utils/misc/guc_tables.c:4959 +#: utils/misc/guc_tables.c:5048 msgid "Selects the dynamic shared memory implementation used." msgstr "動的共有メモリで使用する実装を選択します。" -#: utils/misc/guc_tables.c:4969 +#: utils/misc/guc_tables.c:5058 msgid "Selects the shared memory implementation used for the main shared memory region." msgstr "主共有メモリ領域に使用する共有メモリ実装を選択します。" -#: utils/misc/guc_tables.c:4979 +#: utils/misc/guc_tables.c:5068 msgid "Selects the method used for forcing WAL updates to disk." msgstr "WAL更新のディスクへの書き出しを強制するめの方法を選択します。" -#: utils/misc/guc_tables.c:4989 +#: utils/misc/guc_tables.c:5078 msgid "Sets how binary values are to be encoded in XML." msgstr "XMLでどのようにバイナリ値を符号化するかを設定します。" -#: utils/misc/guc_tables.c:4999 +#: utils/misc/guc_tables.c:5088 msgid "Sets whether XML data in implicit parsing and serialization operations is to be considered as documents or content fragments." msgstr "暗黙的なパースおよび直列化操作においてXMLデータを文書とみなすか断片とみなすかを設定します。" -#: utils/misc/guc_tables.c:5010 +#: utils/misc/guc_tables.c:5099 msgid "Use of huge pages on Linux or Windows." msgstr "LinuxおよびWindowsでヒュージページを使用。" -#: utils/misc/guc_tables.c:5020 +#: utils/misc/guc_tables.c:5109 msgid "Indicates the status of huge pages." msgstr "ヒュージページの状態を表示。" -#: utils/misc/guc_tables.c:5031 +#: utils/misc/guc_tables.c:5120 msgid "Prefetch referenced blocks during recovery." msgstr "リカバリ中に被参照ブロックの事前読み込みを行う。" -#: utils/misc/guc_tables.c:5032 +#: utils/misc/guc_tables.c:5121 msgid "Look ahead in the WAL to find references to uncached data." msgstr "キャッシュされていないデータへの参照の検出のためにWALの先読みを行う。" -#: utils/misc/guc_tables.c:5041 +#: utils/misc/guc_tables.c:5130 msgid "Forces the planner's use parallel query nodes." msgstr "プランナに並列問い合わせノードの使用を強制します。" -#: utils/misc/guc_tables.c:5042 +#: utils/misc/guc_tables.c:5131 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 "これは並列問い合わせ機構のテストの際に、プランナにワーカーとメインプロセスとの間でタプルのやり取りを行わせるノードを含む実行計画を強制的に生成させるために使用できます。" -#: utils/misc/guc_tables.c:5054 +#: utils/misc/guc_tables.c:5143 msgid "Chooses the algorithm for encrypting passwords." msgstr "パスワードの暗号化に使用するアルゴリズムを選択する。" -#: utils/misc/guc_tables.c:5064 +#: utils/misc/guc_tables.c:5153 msgid "Controls the planner's selection of custom or generic plan." msgstr "プランナでのカスタムプランと汎用プランの選択を制御。" -#: utils/misc/guc_tables.c:5065 +#: utils/misc/guc_tables.c:5154 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 "プリペアド文は個別プランと一般プランを持ち、プランナはよりよいプランの選択を試みます。これを設定することでそのデフォルト動作を変更できます。" -#: utils/misc/guc_tables.c:5077 +#: utils/misc/guc_tables.c:5166 msgid "Sets the minimum SSL/TLS protocol version to use." msgstr "使用する SSL/TLSプロトコルの最小バージョンを設定。" -#: utils/misc/guc_tables.c:5089 +#: utils/misc/guc_tables.c:5178 msgid "Sets the maximum SSL/TLS protocol version to use." msgstr "使用可能な最大の SSL/TLS プロトコルバージョンを指定します。" -#: utils/misc/guc_tables.c:5101 +#: utils/misc/guc_tables.c:5190 msgid "Sets the method for synchronizing the data directory before crash recovery." msgstr "クラシュリカバリ前に行うデータディレクトリの同期の方法を設定する。" -#: utils/misc/guc_tables.c:5110 +#: utils/misc/guc_tables.c:5199 msgid "Forces immediate streaming or serialization of changes in large transactions." msgstr "大きなトランザクションにおいて、即時ストリーミングまたは変更のシリアライズを強制します。" -#: utils/misc/guc_tables.c:5111 +#: utils/misc/guc_tables.c:5200 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 "パブリッシャでは、この設定はロジカルでコーディングで個々の変更のストリーミングまたはシリアル化を実行させます。サブスクライバではすべての変更をファイルへシリアライズし、トランザクション終了時にその変更情報の読み出しおよび適用の実行をパラレルワーカーに指示するようにします。" @@ -30058,57 +30517,57 @@ msgstr "タイムゾーンファイル\"%3$s\"の%4$d行のタイムゾーン省 msgid "time zone offset %d is out of range in time zone file \"%s\", line %d" msgstr "タイムゾーンファイル\"%2$s\"の%3$d行のタイムゾーンオフセット%1$dは範囲外です" -#: utils/misc/tzparser.c:112 +#: utils/misc/tzparser.c:113 #, c-format msgid "missing time zone abbreviation in time zone file \"%s\", line %d" msgstr "タイムゾーンファイル\"%s\"の行%dでタイムゾーン省略形がありません" -#: utils/misc/tzparser.c:121 +#: utils/misc/tzparser.c:122 #, c-format msgid "missing time zone offset in time zone file \"%s\", line %d" msgstr "タイムゾーンファイル\"%s\"の行%dでタイムゾーンオフセットがありません" -#: utils/misc/tzparser.c:133 +#: utils/misc/tzparser.c:134 #, c-format msgid "invalid number for time zone offset in time zone file \"%s\", line %d" msgstr "タイムゾーンファイル\"%s\"の行%dのタイムゾーンオフセット値が無効です" -#: utils/misc/tzparser.c:169 +#: utils/misc/tzparser.c:170 #, c-format msgid "invalid syntax in time zone file \"%s\", line %d" msgstr "タイムゾーンファイル\"%s\"の行%dで構文が無効です" -#: utils/misc/tzparser.c:237 +#: utils/misc/tzparser.c:238 #, c-format msgid "time zone abbreviation \"%s\" is multiply defined" msgstr "タイムゾーン省略形\"%s\"が複数定義されています" -#: utils/misc/tzparser.c:239 +#: utils/misc/tzparser.c:240 #, c-format msgid "Entry in time zone file \"%s\", line %d, conflicts with entry in file \"%s\", line %d." msgstr "タイムゾーンファイル\"%s\"の行%dの項目は、ファイル\"%s\"の行%dと競合します。" -#: utils/misc/tzparser.c:301 +#: utils/misc/tzparser.c:302 #, c-format msgid "invalid time zone file name \"%s\"" msgstr "タイムゾーンファイル名が無効です: \"%s\"" -#: utils/misc/tzparser.c:314 +#: utils/misc/tzparser.c:315 #, c-format msgid "time zone file recursion limit exceeded in file \"%s\"" msgstr "ファイル\"%s\"でタイムゾーンファイルの再帰の上限を超えました。" -#: utils/misc/tzparser.c:353 utils/misc/tzparser.c:366 +#: utils/misc/tzparser.c:354 utils/misc/tzparser.c:367 #, c-format msgid "could not read time zone file \"%s\": %m" msgstr "タイムゾーンファイル\"%s\"を読み込めませんでした: %m" -#: utils/misc/tzparser.c:377 +#: utils/misc/tzparser.c:378 #, c-format msgid "line is too long in time zone file \"%s\", line %d" msgstr "タイムゾーンファイル\"%s\"の行%dが長すぎます。" -#: utils/misc/tzparser.c:401 +#: utils/misc/tzparser.c:403 #, c-format msgid "@INCLUDE without file name in time zone file \"%s\", line %d" msgstr "タイムゾーンファイル\"%s\"の行%dにファイル名がない@INCLUDEがあります" @@ -30123,12 +30582,12 @@ msgstr "メモリコンテキスト\"%s\"の作成時に失敗しました" msgid "could not attach to dynamic shared area" msgstr "動的共有エリアをアタッチできませんでした" -#: utils/mmgr/mcxt.c:1155 +#: utils/mmgr/mcxt.c:1156 #, c-format msgid "Failed on request of size %zu in memory context \"%s\"." msgstr "メモリコンテクスト\"%2$s\"でサイズ%1$zuの要求が失敗しました。" -#: utils/mmgr/mcxt.c:1299 +#: utils/mmgr/mcxt.c:1300 #, c-format msgid "logging memory contexts of PID %d" msgstr "PID %dのメモリコンテクストを記録します" @@ -30163,7 +30622,7 @@ msgstr "アクティブなポータル\"%s\"は削除できません" msgid "cannot PREPARE a transaction that has created a cursor WITH HOLD" msgstr "WITH HOLD 付きのカーソルを作成したトランザクションは PREPARE できません" -#: utils/mmgr/portalmem.c:1229 +#: utils/mmgr/portalmem.c:1232 #, c-format msgid "cannot perform transaction commands inside a cursor loop that is not read-only" msgstr "読み込み専用ではないカーソルのループ内ではトランザクション命令は実行できません" @@ -30183,27 +30642,27 @@ msgstr "タプルストア共有一時ファイル内に予期しないチャン msgid "could not seek to block %u in shared tuplestore temporary file" msgstr "共有タプルストア一時ファイルのブロック%uへのシークに失敗しました" -#: utils/sort/tuplesort.c:2372 +#: utils/sort/tuplesort.c:2340 #, c-format msgid "cannot have more than %d runs for an external sort" msgstr "外部ソートでは%d以上のラン数は扱えません" -#: utils/sort/tuplesortvariants.c:1552 +#: utils/sort/tuplesortvariants.c:1538 #, c-format msgid "could not create unique index \"%s\"" -msgstr "一意インデックス\"%s\"を作成できませんでした" +msgstr "ユニークインデックス\"%s\"を作成できませんでした" -#: utils/sort/tuplesortvariants.c:1554 +#: utils/sort/tuplesortvariants.c:1540 #, c-format msgid "Key %s is duplicated." msgstr "キー%sは重複しています。" -#: utils/sort/tuplesortvariants.c:1555 +#: utils/sort/tuplesortvariants.c:1541 #, c-format msgid "Duplicate keys exist." msgstr "重複したキーが存在します。" -#: utils/sort/tuplestore.c:518 utils/sort/tuplestore.c:528 utils/sort/tuplestore.c:869 utils/sort/tuplestore.c:973 utils/sort/tuplestore.c:1037 utils/sort/tuplestore.c:1054 utils/sort/tuplestore.c:1256 utils/sort/tuplestore.c:1321 utils/sort/tuplestore.c:1330 +#: utils/sort/tuplestore.c:552 utils/sort/tuplestore.c:562 utils/sort/tuplestore.c:921 utils/sort/tuplestore.c:1025 utils/sort/tuplestore.c:1089 utils/sort/tuplestore.c:1106 utils/sort/tuplestore.c:1308 utils/sort/tuplestore.c:1373 utils/sort/tuplestore.c:1382 #, c-format msgid "could not seek in tuplestore temporary file" msgstr "タプルストア一時ファイルのシークに失敗しました" @@ -30257,3 +30716,36 @@ msgstr "読み取り専用のシリアライザブルトランザクションで #, c-format msgid "cannot import a snapshot from a different database" msgstr "異なるデータベースからのスナップショットを読み込むことはできません" + +#~ msgid "ECDH: could not create key" +#~ msgstr "ECDH: キーを生成できませんでした" + +#~ msgid "ECDH: unrecognized curve name: %s" +#~ msgstr "ECDH: 認識できない曲線名: %s" + +#~ msgid "Make sure pg_wal_replay_wait() isn't called within a transaction with an isolation level higher than READ COMMITTED, another procedure, or a function." +#~ msgstr "pg_wal_replay_wait()がREAD COMMITTEDより高い分離レベルのトランザクション内や、他のプロシージャや関数内で呼ばれていないことを確認してください。" + +#~ msgid "Recovery ended before replaying target LSN %X/%X; last replay LSN %X/%X." +#~ msgstr "リカバリが目標LSN %X/%Xの前に終了しました; 最終再生LSNは%X/%X。" + +#~ msgid "Sets the curve to use for ECDH." +#~ msgstr "ECDHで使用する曲線を設定。" + +#~ msgid "Waiting for LSN can only be executed during recovery." +#~ msgstr "LSNの待機はリカバリ中にのみ実行可能です。" + +#~ msgid "cannot use generated column \"%s\" in publication column list" +#~ msgstr "生成列\"%s\"はパブリケーション列リスト内では使用できません" + +#~ msgid "multiple limit options not allowed" +#~ msgstr "複数のLIMITオプションは使用できません" + +#~ msgid "pg_wal_replay_wait() must be only called without an active or registered snapshot" +#~ msgstr "pg_wal_replay_wait()はアクティブなあるいは登録されたスナップショットが存在しない状態で呼び出す必要があります" + +#~ msgid "timed out while waiting for target LSN %X/%X to be replayed; current replay LSN %X/%X" +#~ msgstr "目標LSN %X/%Xの再生の待機中にタイムアウトが発生しました; 現在の再生LSNは%X/%X" + +#~ msgid "while waiting for LSN replay" +#~ msgstr "LSN再生の待機中" diff --git a/src/backend/po/pt_BR.po b/src/backend/po/pt_BR.po index 21c2741e2bd..4e0a926f547 100644 --- a/src/backend/po/pt_BR.po +++ b/src/backend/po/pt_BR.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: PostgreSQL 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2024-01-17 11:44-0300\n" -"PO-Revision-Date: 2024-01-15 07:45-0300\n" +"PO-Revision-Date: 2024-06-26 11:02+0200\n" "Last-Translator: Halley Pacheco de Oliveira \n" "Language-Team: Brazilian Portuguese \n" "Language: pt_BR\n" @@ -16193,7 +16193,7 @@ msgstr " --boot seleciona modo de ativação (deve ser o primeiro a #: main/main.c:372 #, c-format msgid " --check selects check mode (must be first argument)\n" -msgstr " --check seleciona o modo de verificação (deve ser o primeiro argumento)\n" +msgstr " --check seleciona o modo de verificação (deve ser o primeiro argumento)\n" #: main/main.c:373 #, c-format diff --git a/src/backend/po/ru.po b/src/backend/po/ru.po index 85d9a1535a4..70272ecb4c0 100644 --- a/src/backend/po/ru.po +++ b/src/backend/po/ru.po @@ -5,13 +5,13 @@ # Oleg Bartunov , 2004-2005. # Dmitriy Olshevskiy , 2014. # Alexander Lakhin , 2012-2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024. -# Maxim Yablokov , 2021, 2022. +# 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: 2024-05-04 10:36+0300\n" -"PO-Revision-Date: 2024-05-04 10:47+0300\n" +"POT-Creation-Date: 2024-11-09 07:47+0300\n" +"PO-Revision-Date: 2024-11-02 08:34+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" @@ -21,6 +21,11 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +#: ../common/binaryheap.c:121 ../common/binaryheap.c:159 +#, c-format +msgid "out of binary heap slots" +msgstr "недостаточно слотов в двоичной куче" + #: ../common/compression.c:132 ../common/compression.c:141 #: ../common/compression.c:150 #, c-format @@ -82,64 +87,66 @@ msgstr "алгоритм сжатия \"%s\" не поддерживает ре msgid "not recorded" msgstr "не записано" -#: ../common/controldata_utils.c:79 ../common/controldata_utils.c:83 -#: commands/copyfrom.c:1687 commands/extension.c:3480 utils/adt/genfile.c:123 +#: ../common/controldata_utils.c:93 ../common/controldata_utils.c:97 +#: commands/copyfrom.c:1739 commands/extension.c:3538 utils/adt/genfile.c:123 +#: utils/time/snapmgr.c:1430 #, c-format msgid "could not open file \"%s\" for reading: %m" msgstr "не удалось открыть файл \"%s\" для чтения: %m" -#: ../common/controldata_utils.c:94 ../common/controldata_utils.c:96 +#: ../common/controldata_utils.c:108 ../common/controldata_utils.c:110 #: access/transam/timeline.c:143 access/transam/timeline.c:362 -#: access/transam/twophase.c:1347 access/transam/xlog.c:3195 -#: access/transam/xlog.c:3998 access/transam/xlogrecovery.c:1225 -#: access/transam/xlogrecovery.c:1317 access/transam/xlogrecovery.c:1354 -#: access/transam/xlogrecovery.c:1414 backup/basebackup.c:1846 -#: commands/extension.c:3490 libpq/hba.c:769 replication/logical/origin.c:745 -#: replication/logical/origin.c:781 replication/logical/reorderbuffer.c:5050 -#: replication/logical/snapbuild.c:2031 replication/slot.c:1980 -#: replication/slot.c:2021 replication/walsender.c:643 +#: access/transam/twophase.c:1369 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 +#: 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 #: storage/file/buffile.c:470 storage/file/copydir.c:185 -#: utils/adt/genfile.c:197 utils/adt/misc.c:984 utils/cache/relmapper.c:830 +#: utils/adt/genfile.c:197 utils/adt/misc.c:1028 utils/cache/relmapper.c:829 #, c-format msgid "could not read file \"%s\": %m" msgstr "не удалось прочитать файл \"%s\": %m" -#: ../common/controldata_utils.c:102 ../common/controldata_utils.c:105 -#: access/transam/xlog.c:3200 access/transam/xlog.c:4003 -#: backup/basebackup.c:1850 replication/logical/origin.c:750 -#: replication/logical/origin.c:789 replication/logical/snapbuild.c:2036 -#: replication/slot.c:1984 replication/slot.c:2025 replication/walsender.c:648 -#: utils/cache/relmapper.c:834 +#: ../common/controldata_utils.c:116 ../common/controldata_utils.c:119 +#: access/transam/xlog.c:3482 access/transam/xlog.c:4346 +#: 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 +#: utils/cache/relmapper.c:833 #, c-format msgid "could not read file \"%s\": read %d of %zu" msgstr "не удалось прочитать файл \"%s\" (прочитано байт: %d из %zu)" -#: ../common/controldata_utils.c:114 ../common/controldata_utils.c:118 -#: ../common/controldata_utils.c:263 ../common/controldata_utils.c:266 -#: access/heap/rewriteheap.c:1175 access/heap/rewriteheap.c:1280 +#: ../common/controldata_utils.c:128 ../common/controldata_utils.c:132 +#: ../common/controldata_utils.c:277 ../common/controldata_utils.c:280 +#: 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:1359 -#: access/transam/twophase.c:1771 access/transam/xlog.c:3041 -#: access/transam/xlog.c:3235 access/transam/xlog.c:3240 -#: access/transam/xlog.c:3376 access/transam/xlog.c:3968 -#: access/transam/xlog.c:4887 commands/copyfrom.c:1747 commands/copyto.c:332 +#: access/transam/timeline.c:512 access/transam/twophase.c:1381 +#: access/transam/twophase.c:1800 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 #: libpq/be-fsstubs.c:470 libpq/be-fsstubs.c:540 #: replication/logical/origin.c:683 replication/logical/origin.c:822 -#: replication/logical/reorderbuffer.c:5102 -#: replication/logical/snapbuild.c:1798 replication/logical/snapbuild.c:1922 -#: replication/slot.c:1871 replication/slot.c:2032 replication/walsender.c:658 -#: storage/file/copydir.c:208 storage/file/copydir.c:213 storage/file/fd.c:782 -#: storage/file/fd.c:3700 storage/file/fd.c:3806 utils/cache/relmapper.c:842 -#: utils/cache/relmapper.c:957 +#: 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 +#: utils/cache/relmapper.c:956 #, c-format msgid "could not close file \"%s\": %m" msgstr "не удалось закрыть файл \"%s\": %m" -#: ../common/controldata_utils.c:154 +#: ../common/controldata_utils.c:168 msgid "byte ordering mismatch" msgstr "несоответствие порядка байт" -#: ../common/controldata_utils.c:156 +#: ../common/controldata_utils.c:170 #, c-format msgid "" "possible byte ordering mismatch\n" @@ -153,141 +160,157 @@ msgstr "" "этой программой. В этом случае результаты будут неверными и\n" "установленный PostgreSQL будет несовместим с этим каталогом данных." -#: ../common/controldata_utils.c:211 ../common/controldata_utils.c:216 -#: ../common/file_utils.c:228 ../common/file_utils.c:287 -#: ../common/file_utils.c:361 access/heap/rewriteheap.c:1263 -#: access/transam/timeline.c:111 access/transam/timeline.c:251 -#: access/transam/timeline.c:348 access/transam/twophase.c:1303 -#: access/transam/xlog.c:2948 access/transam/xlog.c:3111 -#: access/transam/xlog.c:3150 access/transam/xlog.c:3343 -#: access/transam/xlog.c:3988 access/transam/xlogrecovery.c:4213 -#: access/transam/xlogrecovery.c:4316 access/transam/xlogutils.c:838 -#: backup/basebackup.c:538 backup/basebackup.c:1516 libpq/hba.c:629 -#: postmaster/syslogger.c:1560 replication/logical/origin.c:735 -#: replication/logical/reorderbuffer.c:3706 -#: replication/logical/reorderbuffer.c:4257 -#: replication/logical/reorderbuffer.c:5030 -#: replication/logical/snapbuild.c:1753 replication/logical/snapbuild.c:1863 -#: replication/slot.c:1952 replication/walsender.c:616 -#: replication/walsender.c:2731 storage/file/copydir.c:151 -#: storage/file/fd.c:757 storage/file/fd.c:3457 storage/file/fd.c:3687 -#: storage/file/fd.c:3777 storage/smgr/md.c:663 utils/cache/relmapper.c:819 -#: utils/cache/relmapper.c:936 utils/error/elog.c:2086 -#: utils/init/miscinit.c:1537 utils/init/miscinit.c:1671 -#: utils/init/miscinit.c:1748 utils/misc/guc.c:4609 utils/misc/guc.c:4659 +#: ../common/controldata_utils.c:225 ../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 +#: access/heap/rewriteheap.c:1229 access/transam/timeline.c:111 +#: access/transam/timeline.c:251 access/transam/timeline.c:348 +#: access/transam/twophase.c:1325 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:4263 access/transam/xlogrecovery.c:4366 +#: 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 +#: utils/cache/relmapper.c:935 utils/error/elog.c:2124 +#: utils/init/miscinit.c:1526 utils/init/miscinit.c:1660 +#: utils/init/miscinit.c:1737 utils/misc/guc.c:4736 utils/misc/guc.c:4786 #, c-format msgid "could not open file \"%s\": %m" msgstr "не удалось открыть файл \"%s\": %m" -#: ../common/controldata_utils.c:232 ../common/controldata_utils.c:235 -#: access/transam/twophase.c:1744 access/transam/twophase.c:1753 -#: access/transam/xlog.c:8757 access/transam/xlogfuncs.c:708 -#: backup/basebackup_server.c:175 backup/basebackup_server.c:268 -#: postmaster/postmaster.c:5573 postmaster/syslogger.c:1571 -#: postmaster/syslogger.c:1584 postmaster/syslogger.c:1597 -#: utils/cache/relmapper.c:948 +#: ../common/controldata_utils.c:246 ../common/controldata_utils.c:249 +#: access/transam/twophase.c:1773 access/transam/twophase.c:1782 +#: access/transam/xlog.c:9280 access/transam/xlogfuncs.c:698 +#: backup/basebackup_server.c:173 backup/basebackup_server.c:266 +#: backup/walsummary.c:304 postmaster/postmaster.c:4125 +#: postmaster/syslogger.c:1522 postmaster/syslogger.c:1535 +#: postmaster/syslogger.c:1548 utils/cache/relmapper.c:947 #, c-format msgid "could not write file \"%s\": %m" msgstr "не удалось записать файл \"%s\": %m" -#: ../common/controldata_utils.c:249 ../common/controldata_utils.c:254 -#: ../common/file_utils.c:299 ../common/file_utils.c:369 -#: access/heap/rewriteheap.c:959 access/heap/rewriteheap.c:1169 -#: access/heap/rewriteheap.c:1274 access/transam/timeline.c:432 -#: access/transam/timeline.c:506 access/transam/twophase.c:1765 -#: access/transam/xlog.c:3034 access/transam/xlog.c:3229 -#: access/transam/xlog.c:3961 access/transam/xlog.c:8147 -#: access/transam/xlog.c:8192 backup/basebackup_server.c:209 -#: commands/dbcommands.c:515 replication/logical/snapbuild.c:1791 -#: replication/slot.c:1857 replication/slot.c:1962 storage/file/fd.c:774 -#: storage/file/fd.c:3798 storage/smgr/md.c:1135 storage/smgr/md.c:1180 -#: storage/sync/sync.c:451 utils/misc/guc.c:4379 +#: ../common/controldata_utils.c:263 ../common/controldata_utils.c:268 +#: ../common/file_utils.c:418 ../common/file_utils.c:488 +#: 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:1794 +#: 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:1329 storage/smgr/md.c:1374 +#: storage/sync/sync.c:446 utils/misc/guc.c:4489 #, c-format msgid "could not fsync file \"%s\": %m" msgstr "не удалось синхронизировать с ФС файл \"%s\": %m" -#: ../common/cryptohash.c:261 ../common/cryptohash_openssl.c:133 -#: ../common/cryptohash_openssl.c:332 ../common/exec.c:550 ../common/exec.c:595 -#: ../common/exec.c:687 ../common/hmac.c:309 ../common/hmac.c:325 -#: ../common/hmac_openssl.c:132 ../common/hmac_openssl.c:327 -#: ../common/md5_common.c:155 ../common/psprintf.c:143 -#: ../common/scram-common.c:269 ../common/stringinfo.c:305 ../port/path.c:751 -#: ../port/path.c:789 ../port/path.c:806 access/transam/twophase.c:1412 -#: access/transam/xlogrecovery.c:589 lib/dshash.c:253 libpq/auth.c:1343 -#: libpq/auth.c:1387 libpq/auth.c:1944 libpq/be-secure-gssapi.c:524 -#: postmaster/bgworker.c:352 postmaster/bgworker.c:934 -#: postmaster/postmaster.c:2537 postmaster/postmaster.c:4130 -#: postmaster/postmaster.c:5498 postmaster/postmaster.c:5869 -#: replication/libpqwalreceiver/libpqwalreceiver.c:361 -#: replication/logical/logical.c:208 replication/walsender.c:686 -#: storage/buffer/localbuf.c:601 storage/file/fd.c:866 storage/file/fd.c:1397 -#: storage/file/fd.c:1558 storage/file/fd.c:2478 storage/ipc/procarray.c:1449 -#: storage/ipc/procarray.c:2231 storage/ipc/procarray.c:2238 -#: storage/ipc/procarray.c:2737 storage/ipc/procarray.c:3373 -#: utils/adt/formatting.c:1690 utils/adt/formatting.c:1812 -#: utils/adt/formatting.c:1935 utils/adt/pg_locale.c:473 -#: utils/adt/pg_locale.c:637 utils/fmgr/dfmgr.c:229 utils/hash/dynahash.c:514 -#: utils/hash/dynahash.c:614 utils/hash/dynahash.c:1111 utils/mb/mbutils.c:402 -#: utils/mb/mbutils.c:430 utils/mb/mbutils.c:815 utils/mb/mbutils.c:842 -#: utils/misc/guc.c:640 utils/misc/guc.c:665 utils/misc/guc.c:1053 -#: utils/misc/guc.c:4357 utils/misc/tzparser.c:476 utils/mmgr/aset.c:445 -#: utils/mmgr/dsa.c:714 utils/mmgr/dsa.c:736 utils/mmgr/dsa.c:817 -#: utils/mmgr/generation.c:205 utils/mmgr/mcxt.c:1046 utils/mmgr/mcxt.c:1082 -#: utils/mmgr/mcxt.c:1120 utils/mmgr/mcxt.c:1158 utils/mmgr/mcxt.c:1246 -#: utils/mmgr/mcxt.c:1277 utils/mmgr/mcxt.c:1313 utils/mmgr/mcxt.c:1502 -#: utils/mmgr/mcxt.c:1547 utils/mmgr/mcxt.c:1604 utils/mmgr/slab.c:366 +#: ../common/cryptohash.c:261 ../common/cryptohash_openssl.c:158 +#: ../common/cryptohash_openssl.c:356 ../common/exec.c:562 ../common/exec.c:607 +#: ../common/exec.c:699 ../common/hmac.c:309 ../common/hmac.c:325 +#: ../common/hmac_openssl.c:160 ../common/hmac_openssl.c:357 +#: ../common/md5_common.c:156 ../common/parse_manifest.c:157 +#: ../common/parse_manifest.c:853 ../common/psprintf.c:143 +#: ../common/scram-common.c:269 ../common/stringinfo.c:314 ../port/path.c:751 +#: ../port/path.c:788 ../port/path.c:805 access/transam/twophase.c:1434 +#: 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:3559 postmaster/postmaster.c:4019 +#: postmaster/postmaster.c:4381 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 +#: 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:4467 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 #, c-format msgid "out of memory" msgstr "нехватка памяти" #: ../common/cryptohash.c:266 ../common/cryptohash.c:272 -#: ../common/cryptohash_openssl.c:344 ../common/cryptohash_openssl.c:352 -#: ../common/hmac.c:321 ../common/hmac.c:329 ../common/hmac_openssl.c:339 -#: ../common/hmac_openssl.c:347 +#: ../common/cryptohash_openssl.c:368 ../common/cryptohash_openssl.c:376 +#: ../common/hmac.c:321 ../common/hmac.c:329 ../common/hmac_openssl.c:369 +#: ../common/hmac_openssl.c:377 msgid "success" msgstr "успех" -#: ../common/cryptohash.c:268 ../common/cryptohash_openssl.c:346 -#: ../common/hmac_openssl.c:341 +#: ../common/cryptohash.c:268 ../common/cryptohash_openssl.c:370 +#: ../common/hmac_openssl.c:371 msgid "destination buffer too small" msgstr "буфер назначения слишком мал" -#: ../common/cryptohash_openssl.c:348 ../common/hmac_openssl.c:343 +#: ../common/cryptohash_openssl.c:372 ../common/hmac_openssl.c:373 msgid "OpenSSL failure" msgstr "ошибка OpenSSL" -#: ../common/exec.c:172 +#: ../common/exec.c:174 #, c-format msgid "invalid binary \"%s\": %m" msgstr "неверный исполняемый файл \"%s\": %m" -#: ../common/exec.c:215 +#: ../common/exec.c:217 #, c-format msgid "could not read binary \"%s\": %m" msgstr "не удалось прочитать исполняемый файл \"%s\": %m" -#: ../common/exec.c:223 +#: ../common/exec.c:225 #, c-format msgid "could not find a \"%s\" to execute" msgstr "не удалось найти запускаемый файл \"%s\"" -#: ../common/exec.c:250 +#: ../common/exec.c:252 #, c-format msgid "could not resolve path \"%s\" to absolute form: %m" msgstr "не удалось преобразовать относительный путь \"%s\" в абсолютный: %m" -#: ../common/exec.c:412 libpq/pqcomm.c:724 storage/ipc/latch.c:1134 -#: storage/ipc/latch.c:1314 storage/ipc/latch.c:1547 storage/ipc/latch.c:1709 -#: storage/ipc/latch.c:1835 +#: ../common/exec.c:382 commands/collationcmds.c:876 commands/copyfrom.c:1723 +#: commands/copyto.c:654 libpq/be-secure-common.c:59 +#, c-format +msgid "could not execute command \"%s\": %m" +msgstr "не удалось выполнить команду \"%s\": %m" + +#: ../common/exec.c:394 libpq/be-secure-common.c:71 +#, c-format +msgid "could not read from command \"%s\": %m" +msgstr "не удалось прочитать вывод команды \"%s\": %m" + +#: ../common/exec.c:397 +#, c-format +msgid "no data was returned by command \"%s\"" +msgstr "команда \"%s\" не выдала данные" + +#: ../common/exec.c:424 libpq/pqcomm.c:192 storage/ipc/latch.c:1169 +#: storage/ipc/latch.c:1349 storage/ipc/latch.c:1582 storage/ipc/latch.c:1744 +#: storage/ipc/latch.c:1870 #, c-format msgid "%s() failed: %m" msgstr "ошибка в %s(): %m" #: ../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:753 ../port/path.c:791 -#: ../port/path.c:808 utils/misc/ps_status.c:195 utils/misc/ps_status.c:203 -#: utils/misc/ps_status.c:230 utils/misc/ps_status.c:238 +#: ../common/psprintf.c:145 ../port/path.c:753 ../port/path.c:790 +#: ../port/path.c:807 utils/misc/ps_status.c:193 utils/misc/ps_status.c:201 +#: utils/misc/ps_status.c:228 utils/misc/ps_status.c:236 #, c-format msgid "out of memory\n" msgstr "нехватка памяти\n" @@ -297,39 +320,51 @@ msgstr "нехватка памяти\n" msgid "cannot duplicate null pointer (internal error)\n" msgstr "попытка дублирования нулевого указателя (внутренняя ошибка)\n" -#: ../common/file_utils.c:87 ../common/file_utils.c:447 -#: ../common/file_utils.c:451 access/transam/twophase.c:1315 -#: access/transam/xlogarchive.c:112 access/transam/xlogarchive.c:236 -#: backup/basebackup.c:346 backup/basebackup.c:544 backup/basebackup.c:615 -#: commands/copyfrom.c:1697 commands/copyto.c:702 commands/extension.c:3469 -#: commands/tablespace.c:810 commands/tablespace.c:899 postmaster/pgarch.c:590 -#: replication/logical/snapbuild.c:1649 storage/file/fd.c:1922 -#: storage/file/fd.c:2008 storage/file/fd.c:3511 utils/adt/dbsize.c:106 -#: utils/adt/dbsize.c:258 utils/adt/dbsize.c:338 utils/adt/genfile.c:483 -#: utils/adt/genfile.c:658 utils/adt/misc.c:340 +#: ../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" + +#: ../common/file_utils.c:120 ../common/file_utils.c:566 +#: ../common/file_utils.c:570 access/transam/twophase.c:1337 +#: 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 +#: 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 +#: 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 msgid "could not stat file \"%s\": %m" msgstr "не удалось получить информацию о файле \"%s\": %m" -#: ../common/file_utils.c:162 ../common/pgfnames.c:48 ../common/rmtree.c:63 -#: commands/tablespace.c:734 commands/tablespace.c:744 -#: postmaster/postmaster.c:1564 storage/file/fd.c:2880 -#: storage/file/reinit.c:126 utils/adt/misc.c:256 utils/misc/tzparser.c:338 +#: ../common/file_utils.c:130 ../common/file_utils.c:227 +#, c-format +msgid "this build does not support sync method \"%s\"" +msgstr "эта сборка программы не поддерживает метод синхронизации \"%s\"" + +#: ../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:1468 +#: 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:196 ../common/pgfnames.c:69 ../common/rmtree.c:104 -#: storage/file/fd.c:2892 +#: ../common/file_utils.c:169 ../common/file_utils.c:315 +#: ../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" -#: ../common/file_utils.c:379 access/transam/xlogarchive.c:390 -#: postmaster/pgarch.c:746 postmaster/syslogger.c:1608 -#: replication/logical/snapbuild.c:1810 replication/slot.c:723 -#: replication/slot.c:1743 replication/slot.c:1885 storage/file/fd.c:792 -#: utils/time/snapmgr.c:1284 +#: ../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 +#: utils/time/snapmgr.c:1255 #, c-format msgid "could not rename file \"%s\" to \"%s\": %m" msgstr "не удалось переименовать файл \"%s\" в \"%s\": %m" @@ -338,75 +373,92 @@ msgstr "не удалось переименовать файл \"%s\" в \"%s\" msgid "internal error" msgstr "внутренняя ошибка" -#: ../common/jsonapi.c:1144 +#: ../common/jsonapi.c:2121 +msgid "Recursive descent parser cannot use incremental lexer." +msgstr "" +"Инкрементальный лексический анализатор не подходит для нисходящего " +"рекурсивного разбора." + +#: ../common/jsonapi.c:2123 +msgid "Incremental parser requires incremental lexer." +msgstr "" +"Для инкрементального разбора требуется инкрементальный лексический " +"анализатор." + +#: ../common/jsonapi.c:2125 +msgid "JSON nested too deep, maximum permitted depth is 6400." +msgstr "" +"Слишком большая вложенность JSON, максимальная допустимая глубина: 6400." + +#: ../common/jsonapi.c:2127 #, c-format -msgid "Escape sequence \"\\%s\" is invalid." -msgstr "Неверная спецпоследовательность: \"\\%s\"." +msgid "Escape sequence \"\\%.*s\" is invalid." +msgstr "Неверная спецпоследовательность: \"\\%.*s\"." -#: ../common/jsonapi.c:1147 +#: ../common/jsonapi.c:2131 #, c-format msgid "Character with value 0x%02x must be escaped." msgstr "Символ с кодом 0x%02x необходимо экранировать." -#: ../common/jsonapi.c:1150 +#: ../common/jsonapi.c:2135 #, c-format -msgid "Expected end of input, but found \"%s\"." -msgstr "Ожидался конец текста, но обнаружено продолжение \"%s\"." +msgid "Expected end of input, but found \"%.*s\"." +msgstr "Ожидался конец текста, но обнаружено продолжение \"%.*s\"." -#: ../common/jsonapi.c:1153 +#: ../common/jsonapi.c:2138 #, c-format -msgid "Expected array element or \"]\", but found \"%s\"." -msgstr "Ожидался элемент массива или \"]\", но обнаружено \"%s\"." +msgid "Expected array element or \"]\", but found \"%.*s\"." +msgstr "Ожидался элемент массива или \"]\", но обнаружено \"%.*s\"." -#: ../common/jsonapi.c:1156 +#: ../common/jsonapi.c:2141 #, c-format -msgid "Expected \",\" or \"]\", but found \"%s\"." -msgstr "Ожидалась \",\" или \"]\", но обнаружено \"%s\"." +msgid "Expected \",\" or \"]\", but found \"%.*s\"." +msgstr "Ожидалась \",\" или \"]\", но обнаружено \"%.*s\"." -#: ../common/jsonapi.c:1159 +#: ../common/jsonapi.c:2144 #, c-format -msgid "Expected \":\", but found \"%s\"." -msgstr "Ожидалось \":\", но обнаружено \"%s\"." +msgid "Expected \":\", but found \"%.*s\"." +msgstr "Ожидалось \":\", но обнаружено \"%.*s\"." -#: ../common/jsonapi.c:1162 +#: ../common/jsonapi.c:2147 #, c-format -msgid "Expected JSON value, but found \"%s\"." -msgstr "Ожидалось значение JSON, но обнаружено \"%s\"." +msgid "Expected JSON value, but found \"%.*s\"." +msgstr "Ожидалось значение JSON, но обнаружено \"%.*s\"." -#: ../common/jsonapi.c:1165 +#: ../common/jsonapi.c:2150 msgid "The input string ended unexpectedly." msgstr "Неожиданный конец входной строки." -#: ../common/jsonapi.c:1167 +#: ../common/jsonapi.c:2152 #, c-format -msgid "Expected string or \"}\", but found \"%s\"." -msgstr "Ожидалась строка или \"}\", но обнаружено \"%s\"." +msgid "Expected string or \"}\", but found \"%.*s\"." +msgstr "Ожидалась строка или \"}\", но обнаружено \"%.*s\"." -#: ../common/jsonapi.c:1170 +#: ../common/jsonapi.c:2155 #, c-format -msgid "Expected \",\" or \"}\", but found \"%s\"." -msgstr "Ожидалась \",\" или \"}\", но обнаружено \"%s\"." +msgid "Expected \",\" or \"}\", but found \"%.*s\"." +msgstr "Ожидалась \",\" или \"}\", но обнаружено \"%.*s\"." -#: ../common/jsonapi.c:1173 +#: ../common/jsonapi.c:2158 #, c-format -msgid "Expected string, but found \"%s\"." -msgstr "Ожидалась строка, но обнаружено \"%s\"." +msgid "Expected string, but found \"%.*s\"." +msgstr "Ожидалась строка, но обнаружено \"%.*s\"." -#: ../common/jsonapi.c:1176 +#: ../common/jsonapi.c:2161 #, c-format -msgid "Token \"%s\" is invalid." -msgstr "Ошибочный элемент текста \"%s\"." +msgid "Token \"%.*s\" is invalid." +msgstr "Ошибочный элемент \"%.*s\"." -#: ../common/jsonapi.c:1179 jsonpath_scan.l:597 +#: ../common/jsonapi.c:2164 jsonpath_scan.l:608 #, c-format msgid "\\u0000 cannot be converted to text." msgstr "\\u0000 нельзя преобразовать в текст." -#: ../common/jsonapi.c:1181 +#: ../common/jsonapi.c:2166 msgid "\"\\u\" must be followed by four hexadecimal digits." msgstr "За \"\\u\" должны следовать четыре шестнадцатеричные цифры." -#: ../common/jsonapi.c:1184 +#: ../common/jsonapi.c:2169 msgid "" "Unicode escape values cannot be used for code point values above 007F when " "the encoding is not UTF8." @@ -414,20 +466,20 @@ msgstr "" "Спецкоды Unicode для значений выше 007F можно использовать только с " "кодировкой UTF8." -#: ../common/jsonapi.c:1187 +#: ../common/jsonapi.c:2178 #, c-format msgid "" "Unicode escape value could not be translated to the server's encoding %s." msgstr "Спецкод Unicode нельзя преобразовать в серверную кодировку %s." -#: ../common/jsonapi.c:1190 jsonpath_scan.l:630 +#: ../common/jsonapi.c:2185 jsonpath_scan.l:641 #, c-format msgid "Unicode high surrogate must not follow a high surrogate." msgstr "" "Старшее слово суррогата Unicode не может следовать за другим старшим словом." -#: ../common/jsonapi.c:1192 jsonpath_scan.l:641 jsonpath_scan.l:651 -#: jsonpath_scan.l:702 +#: ../common/jsonapi.c:2187 jsonpath_scan.l:652 jsonpath_scan.l:662 +#: jsonpath_scan.l:713 #, c-format msgid "Unicode low surrogate must follow a high surrogate." msgstr "Младшее слово суррогата Unicode должно следовать за старшим словом." @@ -452,11 +504,168 @@ msgstr "подробности: " msgid "hint: " msgstr "подсказка: " +#: ../common/parse_manifest.c:159 ../common/parse_manifest.c:855 +#, c-format +msgid "could not initialize checksum of manifest" +msgstr "не удалось подготовить контекст контрольной суммы манифеста" + +#: ../common/parse_manifest.c:204 ../common/parse_manifest.c:261 +msgid "manifest ended unexpectedly" +msgstr "неожиданный конец манифеста" + +#: ../common/parse_manifest.c:210 ../common/parse_manifest.c:862 +#, c-format +msgid "could not update checksum of manifest" +msgstr "не удалось изменить контекст контрольной суммы манифеста" + +#: ../common/parse_manifest.c:302 +msgid "unexpected object start" +msgstr "неожиданное начало объекта" + +#: ../common/parse_manifest.c:337 +msgid "unexpected object end" +msgstr "неожиданный конец объекта" + +#: ../common/parse_manifest.c:366 +msgid "unexpected array start" +msgstr "неожиданное начало массива" + +#: ../common/parse_manifest.c:391 +msgid "unexpected array end" +msgstr "неожиданный конец массива" + +#: ../common/parse_manifest.c:418 +msgid "expected version indicator" +msgstr "ожидалось указание версии" + +#: ../common/parse_manifest.c:454 +msgid "unrecognized top-level field" +msgstr "нераспознанное поле на верхнем уровне" + +#: ../common/parse_manifest.c:473 +msgid "unexpected file field" +msgstr "неизвестное поле для файла" + +#: ../common/parse_manifest.c:487 +msgid "unexpected WAL range field" +msgstr "неизвестное поле в указании диапазона WAL" + +#: ../common/parse_manifest.c:493 +msgid "unexpected object field" +msgstr "неожиданное поле объекта" + +#: ../common/parse_manifest.c:583 +msgid "unexpected scalar" +msgstr "неожиданное скалярное значение" + +#: ../common/parse_manifest.c:609 +msgid "manifest version not an integer" +msgstr "версия манифеста не является целым числом" + +#: ../common/parse_manifest.c:613 +msgid "unexpected manifest version" +msgstr "неожиданная версия манифеста" + +#: ../common/parse_manifest.c:637 +msgid "system identifier in manifest not an integer" +msgstr "идентификатор системы в манифесте не является целым числом" + +#: ../common/parse_manifest.c:662 +msgid "missing path name" +msgstr "отсутствует указание пути" + +#: ../common/parse_manifest.c:665 +msgid "both path name and encoded path name" +msgstr "путь задан в обычном виде и в закодированном" + +#: ../common/parse_manifest.c:667 +msgid "missing size" +msgstr "отсутствует указание размера" + +#: ../common/parse_manifest.c:670 +msgid "checksum without algorithm" +msgstr "не задан алгоритм расчёта контрольной суммы" + +#: ../common/parse_manifest.c:684 +msgid "could not decode file name" +msgstr "не удалось декодировать имя файла" + +#: ../common/parse_manifest.c:694 +msgid "file size is not an integer" +msgstr "размер файла не является целочисленным" + +#: ../common/parse_manifest.c:700 backup/basebackup.c:870 +#, c-format +msgid "unrecognized checksum algorithm: \"%s\"" +msgstr "нераспознанный алгоритм расчёта контрольных сумм: \"%s\"" + +#: ../common/parse_manifest.c:719 +#, c-format +msgid "invalid checksum for file \"%s\": \"%s\"" +msgstr "неверная контрольная сумма для файла \"%s\": \"%s\"" + +#: ../common/parse_manifest.c:762 +msgid "missing timeline" +msgstr "отсутствует линия времени" + +#: ../common/parse_manifest.c:764 +msgid "missing start LSN" +msgstr "отсутствует начальный LSN" + +#: ../common/parse_manifest.c:766 +msgid "missing end LSN" +msgstr "отсутствует конечный LSN" + +#: ../common/parse_manifest.c:772 +msgid "timeline is not an integer" +msgstr "линия времени задана не целым числом" + +#: ../common/parse_manifest.c:775 +msgid "could not parse start LSN" +msgstr "не удалось разобрать начальный LSN" + +#: ../common/parse_manifest.c:778 +msgid "could not parse end LSN" +msgstr "не удалось разобрать конечный LSN" + +#: ../common/parse_manifest.c:843 +msgid "expected at least 2 lines" +msgstr "ожидалось как минимум 2 строки" + +#: ../common/parse_manifest.c:846 +msgid "last line not newline-terminated" +msgstr "последняя строка не оканчивается символом новой строки" + +#: ../common/parse_manifest.c:865 +#, c-format +msgid "could not finalize checksum of manifest" +msgstr "не удалось завершить расчёт контрольной суммы манифеста" + +#: ../common/parse_manifest.c:869 +#, c-format +msgid "manifest has no checksum" +msgstr "в манифесте нет контрольной суммы" + +#: ../common/parse_manifest.c:873 +#, c-format +msgid "invalid manifest checksum: \"%s\"" +msgstr "неверная контрольная сумма в манифесте: \"%s\"" + +#: ../common/parse_manifest.c:877 +#, c-format +msgid "manifest checksum mismatch" +msgstr "ошибка контрольной суммы манифеста" + +#: ../common/parse_manifest.c:892 +#, c-format +msgid "could not parse backup manifest: %s" +msgstr "не удалось разобрать манифест копии: %s" + #: ../common/percentrepl.c:79 ../common/percentrepl.c:85 #: ../common/percentrepl.c:118 ../common/percentrepl.c:124 -#: postmaster/postmaster.c:2211 utils/misc/guc.c:3120 utils/misc/guc.c:3156 -#: utils/misc/guc.c:3226 utils/misc/guc.c:4556 utils/misc/guc.c:6738 -#: utils/misc/guc.c:6779 +#: tcop/backend_startup.c:741 utils/misc/guc.c:3167 utils/misc/guc.c:3208 +#: utils/misc/guc.c:3283 utils/misc/guc.c:4671 utils/misc/guc.c:6896 +#: utils/misc/guc.c:6937 #, c-format msgid "invalid value for parameter \"%s\": \"%s\"" msgstr "неверное значение для параметра \"%s\": \"%s\"" @@ -517,23 +726,23 @@ msgstr "не удалось перезапуститься с ограничен msgid "could not get exit code from subprocess: error code %lu" msgstr "не удалось получить код выхода от подпроцесса (код ошибки: %lu)" -#: ../common/rmtree.c:95 access/heap/rewriteheap.c:1248 -#: access/transam/twophase.c:1704 access/transam/xlogarchive.c:120 -#: access/transam/xlogarchive.c:400 postmaster/postmaster.c:1143 -#: postmaster/syslogger.c:1537 replication/logical/origin.c:591 -#: replication/logical/reorderbuffer.c:4526 -#: replication/logical/snapbuild.c:1691 replication/logical/snapbuild.c:2125 -#: replication/slot.c:1936 storage/file/fd.c:832 storage/file/fd.c:3325 -#: storage/file/fd.c:3387 storage/file/reinit.c:262 storage/ipc/dsm.c:316 -#: storage/smgr/md.c:383 storage/smgr/md.c:442 storage/sync/sync.c:248 -#: utils/time/snapmgr.c:1608 +#: ../common/rmtree.c:97 access/heap/rewriteheap.c:1214 +#: access/transam/twophase.c:1733 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: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 +#: storage/smgr/md.c:381 storage/smgr/md.c:440 storage/sync/sync.c:243 +#: utils/time/snapmgr.c:1591 #, c-format msgid "could not remove file \"%s\": %m" msgstr "не удалось стереть файл \"%s\": %m" -#: ../common/rmtree.c:122 commands/tablespace.c:773 commands/tablespace.c:786 -#: commands/tablespace.c:821 commands/tablespace.c:911 storage/file/fd.c:3317 -#: storage/file/fd.c:3726 +#: ../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 #, c-format msgid "could not remove directory \"%s\": %m" msgstr "ошибка при удалении каталога \"%s\": %m" @@ -550,13 +759,13 @@ msgstr "не удалось закодировать сохранённый кл msgid "could not encode server key" msgstr "не удалось закодировать ключ сервера" -#: ../common/stringinfo.c:306 +#: ../common/stringinfo.c:315 #, c-format msgid "Cannot enlarge string buffer containing %d bytes by %d more bytes." msgstr "" "Не удалось увеличить строковый буфер (в буфере байт: %d, требовалось ещё %d)." -#: ../common/stringinfo.c:310 +#: ../common/stringinfo.c:319 #, c-format msgid "" "out of memory\n" @@ -573,7 +782,7 @@ msgstr "" msgid "could not look up effective user ID %ld: %s" msgstr "выяснить эффективный идентификатор пользователя (%ld) не удалось: %s" -#: ../common/username.c:45 libpq/auth.c:1879 +#: ../common/username.c:45 libpq/auth.c:1888 msgid "user does not exist" msgstr "пользователь не существует" @@ -610,7 +819,7 @@ msgstr "дочерний процесс завершён по сигналу %d: #: ../common/wait_error.c:82 #, c-format msgid "child process exited with unrecognized status %d" -msgstr "дочерний процесс завершился с нераспознанным состоянием %d" +msgstr "дочерний процесс завершился с нераспознанным кодом состояния %d" #: ../port/chklocale.c:283 #, c-format @@ -672,20 +881,20 @@ msgstr "" #: ../port/path.c:775 #, c-format -msgid "could not get current working directory: %s\n" -msgstr "не удалось определить текущий рабочий каталог: %s\n" +msgid "could not get current working directory: %m\n" +msgstr "не удалось определить текущий рабочий каталог: %m\n" #: ../port/strerror.c:72 #, c-format msgid "operating system error %d" msgstr "ошибка ОС %d" -#: ../port/thread.c:50 ../port/thread.c:86 +#: ../port/user.c:43 ../port/user.c:79 #, c-format msgid "could not look up local user ID %d: %s" msgstr "найти локального пользователя по идентификатору (%d) не удалось: %s" -#: ../port/thread.c:55 ../port/thread.c:91 +#: ../port/user.c:48 ../port/user.c:84 #, c-format msgid "local user with ID %d does not exist" msgstr "локальный пользователь с ID %d не существует" @@ -707,7 +916,7 @@ msgid "could not check access token membership: error code %lu\n" msgstr "" "не удалось проверить вхождение в маркере безопасности (код ошибки: %lu)\n" -#: access/brin/brin.c:216 +#: access/brin/brin.c:405 #, c-format msgid "" "request for BRIN range summarization for index \"%s\" page %u was not " @@ -716,72 +925,72 @@ msgstr "" "запрос на расчёт сводки диапазона BRIN для индекса \"%s\" страницы %u не был " "записан" -#: access/brin/brin.c:1036 access/brin/brin.c:1143 access/gin/ginfast.c:1039 -#: access/transam/xlogfuncs.c:189 access/transam/xlogfuncs.c:214 -#: access/transam/xlogfuncs.c:247 access/transam/xlogfuncs.c:286 -#: access/transam/xlogfuncs.c:307 access/transam/xlogfuncs.c:328 -#: access/transam/xlogfuncs.c:398 access/transam/xlogfuncs.c:456 +#: access/brin/brin.c:1385 access/brin/brin.c:1493 access/gin/ginfast.c:1040 +#: access/transam/xlogfuncs.c:183 access/transam/xlogfuncs.c:208 +#: access/transam/xlogfuncs.c:241 access/transam/xlogfuncs.c:280 +#: access/transam/xlogfuncs.c:301 access/transam/xlogfuncs.c:322 +#: access/transam/xlogfuncs.c:388 access/transam/xlogfuncs.c:446 #, c-format msgid "recovery is in progress" msgstr "идёт процесс восстановления" -#: access/brin/brin.c:1037 access/brin/brin.c:1144 +#: access/brin/brin.c:1386 access/brin/brin.c:1494 #, c-format msgid "BRIN control functions cannot be executed during recovery." msgstr "Функции управления BRIN нельзя использовать в процессе восстановления." -#: access/brin/brin.c:1042 access/brin/brin.c:1149 +#: access/brin/brin.c:1391 access/brin/brin.c:1499 #, c-format msgid "block number out of range: %lld" msgstr "номер блока вне диапазона: %lld" -#: access/brin/brin.c:1086 access/brin/brin.c:1175 +#: access/brin/brin.c:1436 access/brin/brin.c:1525 #, c-format msgid "\"%s\" is not a BRIN index" msgstr "\"%s\" - это не индекс BRIN" -#: access/brin/brin.c:1102 access/brin/brin.c:1191 +#: access/brin/brin.c:1452 access/brin/brin.c:1541 #, c-format msgid "could not open parent table of index \"%s\"" msgstr "не удалось открыть родительскую таблицу индекса \"%s\"" -#: access/brin/brin.c:1111 access/brin/brin.c:1207 access/gin/ginfast.c:1084 -#: parser/parse_utilcmd.c:2280 +#: access/brin/brin.c:1461 access/brin/brin.c:1557 access/gin/ginfast.c:1085 +#: parser/parse_utilcmd.c:2277 #, c-format msgid "index \"%s\" is not valid" msgstr "индекс \"%s\" - нерабочий" -#: access/brin/brin_bloom.c:752 access/brin/brin_bloom.c:794 -#: access/brin/brin_minmax_multi.c:2985 access/brin/brin_minmax_multi.c:3122 -#: statistics/dependencies.c:663 statistics/dependencies.c:716 -#: statistics/mcv.c:1484 statistics/mcv.c:1515 statistics/mvdistinct.c:344 -#: statistics/mvdistinct.c:397 utils/adt/pseudotypes.c:43 -#: utils/adt/pseudotypes.c:77 utils/adt/tsgistidx.c:93 +#: access/brin/brin_bloom.c:783 access/brin/brin_bloom.c:825 +#: access/brin/brin_minmax_multi.c:2993 access/brin/brin_minmax_multi.c:3130 +#: statistics/dependencies.c:661 statistics/dependencies.c:714 +#: statistics/mcv.c:1480 statistics/mcv.c:1511 statistics/mvdistinct.c:343 +#: statistics/mvdistinct.c:396 utils/adt/pseudotypes.c:40 +#: utils/adt/pseudotypes.c:74 utils/adt/tsgistidx.c:94 #, c-format msgid "cannot accept a value of type %s" msgstr "значение типа %s нельзя ввести" -#: access/brin/brin_pageops.c:76 access/brin/brin_pageops.c:362 -#: access/brin/brin_pageops.c:852 access/gin/ginentrypage.c:110 -#: access/gist/gist.c:1462 access/spgist/spgdoinsert.c:2002 -#: access/spgist/spgdoinsert.c:2279 +#: 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/spgist/spgdoinsert.c:2278 #, c-format msgid "index row size %zu exceeds maximum %zu for index \"%s\"" msgstr "" "размер строки индекса (%zu) больше предельного размера (%zu) (индекс \"%s\")" -#: access/brin/brin_revmap.c:393 access/brin/brin_revmap.c:399 +#: access/brin/brin_revmap.c:383 access/brin/brin_revmap.c:389 #, c-format msgid "corrupted BRIN index: inconsistent range map" msgstr "испорченный индекс BRIN: несогласованность в карте диапазонов" -#: access/brin/brin_revmap.c:593 +#: access/brin/brin_revmap.c:583 #, c-format msgid "unexpected page type 0x%04X in BRIN index \"%s\" block %u" msgstr "неожиданный тип страницы 0x%04X в BRIN-индексе \"%s\" (блок: %u)" -#: access/brin/brin_validate.c:118 access/gin/ginvalidate.c:151 -#: access/gist/gistvalidate.c:153 access/hash/hashvalidate.c:139 +#: access/brin/brin_validate.c:118 access/gin/ginvalidate.c:149 +#: access/gist/gistvalidate.c:152 access/hash/hashvalidate.c:139 #: access/nbtree/nbtvalidate.c:120 access/spgist/spgvalidate.c:189 #, c-format msgid "" @@ -791,8 +1000,8 @@ msgstr "" "семейство операторов \"%s\" метода доступа %s содержит функцию %s с " "неправильным опорным номером %d" -#: access/brin/brin_validate.c:134 access/gin/ginvalidate.c:163 -#: access/gist/gistvalidate.c:165 access/hash/hashvalidate.c:118 +#: access/brin/brin_validate.c:134 access/gin/ginvalidate.c:161 +#: access/gist/gistvalidate.c:164 access/hash/hashvalidate.c:118 #: access/nbtree/nbtvalidate.c:132 access/spgist/spgvalidate.c:201 #, c-format msgid "" @@ -802,8 +1011,8 @@ msgstr "" "семейство операторов \"%s\" метода доступа %s содержит функцию %s с " "неподходящим объявлением для опорного номера %d" -#: access/brin/brin_validate.c:156 access/gin/ginvalidate.c:182 -#: access/gist/gistvalidate.c:185 access/hash/hashvalidate.c:160 +#: access/brin/brin_validate.c:156 access/gin/ginvalidate.c:180 +#: access/gist/gistvalidate.c:184 access/hash/hashvalidate.c:160 #: access/nbtree/nbtvalidate.c:152 access/spgist/spgvalidate.c:221 #, c-format msgid "" @@ -813,7 +1022,7 @@ msgstr "" "семейство операторов \"%s\" метода доступа %s содержит оператор %s с " "неправильным номером стратегии %d" -#: access/brin/brin_validate.c:185 access/gin/ginvalidate.c:195 +#: access/brin/brin_validate.c:185 access/gin/ginvalidate.c:193 #: access/hash/hashvalidate.c:173 access/nbtree/nbtvalidate.c:165 #: access/spgist/spgvalidate.c:237 #, c-format @@ -824,8 +1033,8 @@ msgstr "" "семейство операторов \"%s\" метода доступа %s содержит некорректное " "определение ORDER BY для оператора %s" -#: access/brin/brin_validate.c:198 access/gin/ginvalidate.c:208 -#: access/gist/gistvalidate.c:233 access/hash/hashvalidate.c:186 +#: access/brin/brin_validate.c:198 access/gin/ginvalidate.c:206 +#: access/gist/gistvalidate.c:232 access/hash/hashvalidate.c:186 #: access/nbtree/nbtvalidate.c:178 access/spgist/spgvalidate.c:253 #, c-format msgid "" @@ -860,31 +1069,31 @@ msgstr "" msgid "operator class \"%s\" of access method %s is missing operator(s)" msgstr "в классе операторов \"%s\" метода доступа %s нет оператора(ов)" -#: access/brin/brin_validate.c:270 access/gin/ginvalidate.c:250 -#: access/gist/gistvalidate.c:274 +#: access/brin/brin_validate.c:270 access/gin/ginvalidate.c:248 +#: access/gist/gistvalidate.c:273 #, c-format msgid "" "operator class \"%s\" of access method %s is missing support function %d" msgstr "в классе операторов \"%s\" метода доступа %s нет опорной функции %d" -#: access/common/attmap.c:122 +#: access/common/attmap.c:121 #, c-format msgid "Returned type %s does not match expected type %s in column %d." msgstr "Возвращаемый тип %s не соответствует ожидаемому типу %s в столбце %d." -#: access/common/attmap.c:150 +#: access/common/attmap.c:149 #, c-format msgid "" "Number of returned columns (%d) does not match expected column count (%d)." msgstr "" "Число возвращённых столбцов (%d) не соответствует ожидаемому числу (%d)." -#: access/common/attmap.c:234 access/common/attmap.c:246 +#: access/common/attmap.c:233 access/common/attmap.c:245 #, c-format msgid "could not convert row type" msgstr "не удалось преобразовать тип строки" -#: access/common/attmap.c:235 +#: access/common/attmap.c:234 #, c-format msgid "" "Attribute \"%s\" of type %s does not match corresponding attribute of type " @@ -892,12 +1101,12 @@ msgid "" msgstr "" "Атрибут \"%s\" типа %s несовместим с соответствующим атрибутом типа %s." -#: access/common/attmap.c:247 +#: access/common/attmap.c:246 #, c-format msgid "Attribute \"%s\" of type %s does not exist in type %s." msgstr "Атрибут \"%s\" типа %s не существует в типе %s." -#: access/common/heaptuple.c:1133 access/common/heaptuple.c:1468 +#: access/common/heaptuple.c:1132 access/common/heaptuple.c:1467 #, c-format msgid "number of columns (%d) exceeds limit (%d)" msgstr "число столбцов (%d) превышает предел (%d)" @@ -907,122 +1116,110 @@ msgstr "число столбцов (%d) превышает предел (%d)" msgid "number of index columns (%d) exceeds limit (%d)" msgstr "число столбцов индекса (%d) превышает предел (%d)" -#: access/common/indextuple.c:209 access/spgist/spgutils.c:957 +#: access/common/indextuple.c:209 access/spgist/spgutils.c:970 #, c-format msgid "index row requires %zu bytes, maximum size is %zu" msgstr "строка индекса требует байт: %zu, при максимуме: %zu" -#: access/common/printtup.c:292 tcop/fastpath.c:107 tcop/fastpath.c:454 -#: tcop/postgres.c:1944 +#: access/common/printtup.c:292 commands/explain.c:5376 tcop/fastpath.c:107 +#: tcop/fastpath.c:454 tcop/postgres.c:1956 #, c-format msgid "unsupported format code: %d" msgstr "неподдерживаемый код формата: %d" -#: access/common/reloptions.c:521 access/common/reloptions.c:532 +#: access/common/reloptions.c:519 access/common/reloptions.c:530 msgid "Valid values are \"on\", \"off\", and \"auto\"." msgstr "Допускаются только значения \"on\", \"off\" и \"auto\"." -#: access/common/reloptions.c:543 +#: access/common/reloptions.c:541 msgid "Valid values are \"local\" and \"cascaded\"." msgstr "Допускаются только значения \"local\" и \"cascaded\"." -#: access/common/reloptions.c:691 +#: access/common/reloptions.c:689 #, c-format msgid "user-defined relation parameter types limit exceeded" msgstr "превышен предел пользовательских типов реляционных параметров" -#: access/common/reloptions.c:1233 +#: access/common/reloptions.c:1231 #, c-format msgid "RESET must not include values for parameters" msgstr "В RESET не должно передаваться значение параметров" -#: access/common/reloptions.c:1265 +#: access/common/reloptions.c:1263 #, c-format msgid "unrecognized parameter namespace \"%s\"" msgstr "нераспознанное пространство имён параметров \"%s\"" -#: access/common/reloptions.c:1302 commands/variable.c:1167 +#: access/common/reloptions.c:1300 commands/variable.c:1191 #, c-format msgid "tables declared WITH OIDS are not supported" msgstr "таблицы со свойством WITH OIDS не поддерживаются" -#: access/common/reloptions.c:1470 +#: access/common/reloptions.c:1468 #, c-format msgid "unrecognized parameter \"%s\"" msgstr "нераспознанный параметр \"%s\"" -#: access/common/reloptions.c:1582 +#: access/common/reloptions.c:1580 #, c-format msgid "parameter \"%s\" specified more than once" msgstr "параметр \"%s\" указан неоднократно" -#: access/common/reloptions.c:1598 +#: access/common/reloptions.c:1596 #, c-format msgid "invalid value for boolean option \"%s\": %s" msgstr "неверное значение для логического параметра \"%s\": %s" -#: access/common/reloptions.c:1610 +#: access/common/reloptions.c:1608 #, c-format msgid "invalid value for integer option \"%s\": %s" msgstr "неверное значение для целочисленного параметра \"%s\": %s" -#: access/common/reloptions.c:1616 access/common/reloptions.c:1636 +#: access/common/reloptions.c:1614 access/common/reloptions.c:1634 #, c-format msgid "value %s out of bounds for option \"%s\"" msgstr "значение %s вне допустимых пределов параметра \"%s\"" -#: access/common/reloptions.c:1618 +#: access/common/reloptions.c:1616 #, c-format msgid "Valid values are between \"%d\" and \"%d\"." msgstr "Допускаются значения только от \"%d\" до \"%d\"." -#: access/common/reloptions.c:1630 +#: access/common/reloptions.c:1628 #, c-format msgid "invalid value for floating point option \"%s\": %s" msgstr "неверное значение для численного параметра \"%s\": %s" -#: access/common/reloptions.c:1638 +#: access/common/reloptions.c:1636 #, c-format msgid "Valid values are between \"%f\" and \"%f\"." msgstr "Допускаются значения только от \"%f\" до \"%f\"." -#: access/common/reloptions.c:1660 +#: access/common/reloptions.c:1658 #, c-format msgid "invalid value for enum option \"%s\": %s" msgstr "неверное значение для параметра-перечисления \"%s\": %s" -#: access/common/reloptions.c:1991 +#: access/common/reloptions.c:1989 #, c-format msgid "cannot specify storage parameters for a partitioned table" msgstr "задать параметры хранения для секционированной таблицы нельзя" -#: access/common/reloptions.c:1992 +#: access/common/reloptions.c:1990 #, c-format msgid "Specify storage parameters for its leaf partitions instead." msgstr "Задайте параметры хранения для её конечных секций." -#: access/common/toast_compression.c:33 +#: access/common/toast_compression.c:31 #, c-format msgid "compression method lz4 not supported" msgstr "метод сжатия lz4 не поддерживается" -#: access/common/toast_compression.c:34 +#: access/common/toast_compression.c:32 #, c-format msgid "This functionality requires the server to be built with lz4 support." msgstr "Для этой функциональности в сервере не хватает поддержки lz4." -#: access/common/tupdesc.c:837 commands/tablecmds.c:6956 -#: commands/tablecmds.c:13027 -#, c-format -msgid "too many array dimensions" -msgstr "слишком много размерностей массива" - -#: access/common/tupdesc.c:842 parser/parse_clause.c:772 -#: parser/parse_relation.c:1913 -#, c-format -msgid "column \"%s\" cannot be declared SETOF" -msgstr "столбец \"%s\" не может быть объявлен как SETOF" - #: access/gin/ginbulk.c:44 #, c-format msgid "posting list is too long" @@ -1030,25 +1227,25 @@ msgstr "слишком длинный список указателей" #: access/gin/ginbulk.c:45 #, c-format -msgid "Reduce maintenance_work_mem." -msgstr "Уменьшите maintenance_work_mem." +msgid "Reduce \"maintenance_work_mem\"." +msgstr "Уменьшите \"maintenance_work_mem\"." -#: access/gin/ginfast.c:1040 +#: access/gin/ginfast.c:1041 #, c-format msgid "GIN pending list cannot be cleaned up during recovery." msgstr "Очередь записей GIN нельзя очистить в процессе восстановления." -#: access/gin/ginfast.c:1047 +#: access/gin/ginfast.c:1048 #, c-format msgid "\"%s\" is not a GIN index" msgstr "\"%s\" - это не индекс GIN" -#: access/gin/ginfast.c:1058 +#: access/gin/ginfast.c:1059 #, c-format msgid "cannot access temporary indexes of other sessions" msgstr "обращаться к временным индексам других сеансов нельзя" -#: access/gin/ginget.c:273 access/nbtree/nbtinsert.c:762 +#: access/gin/ginget.c:271 access/nbtree/nbtinsert.c:762 #, c-format msgid "failed to re-find tuple within index \"%s\"" msgstr "не удалось повторно найти кортеж в индексе \"%s\"" @@ -1064,14 +1261,14 @@ msgstr "" msgid "To fix this, do REINDEX INDEX \"%s\"." msgstr "Для исправления выполните REINDEX INDEX \"%s\"." -#: access/gin/ginutil.c:146 executor/execExpr.c:2169 -#: utils/adt/arrayfuncs.c:4045 utils/adt/arrayfuncs.c:6732 -#: utils/adt/rowtypes.c:984 +#: access/gin/ginutil.c:147 executor/execExpr.c:2192 +#: utils/adt/arrayfuncs.c:4016 utils/adt/arrayfuncs.c:6712 +#: utils/adt/rowtypes.c:974 #, c-format msgid "could not identify a comparison function for type %s" msgstr "не удалось найти функцию сравнения для типа %s" -#: access/gin/ginvalidate.c:92 access/gist/gistvalidate.c:93 +#: access/gin/ginvalidate.c:90 access/gist/gistvalidate.c:92 #: access/hash/hashvalidate.c:102 access/spgist/spgvalidate.c:102 #, c-format msgid "" @@ -1081,7 +1278,7 @@ msgstr "" "семейство операторов \"%s\" метода доступа %s содержит опорную функцию %s с " "межтиповой регистрацией" -#: access/gin/ginvalidate.c:260 +#: access/gin/ginvalidate.c:258 #, c-format msgid "" "operator class \"%s\" of access method %s is missing support function %d or " @@ -1089,18 +1286,18 @@ msgid "" msgstr "" "в классе операторов \"%s\" метода доступа %s нет опорной функции %d или %d" -#: access/gin/ginvalidate.c:333 access/gist/gistvalidate.c:350 +#: access/gin/ginvalidate.c:331 access/gist/gistvalidate.c:349 #: access/spgist/spgvalidate.c:387 #, c-format msgid "support function number %d is invalid for access method %s" msgstr "номер опорной функции %d не подходит для метода доступа %s" -#: access/gist/gist.c:759 access/gist/gistvacuum.c:426 +#: access/gist/gist.c:760 access/gist/gistvacuum.c:426 #, c-format msgid "index \"%s\" contains an inner tuple marked as invalid" msgstr "индекс \"%s\" содержит внутренний кортеж, отмеченный как ошибочный" -#: access/gist/gist.c:761 access/gist/gistvacuum.c:428 +#: access/gist/gist.c:762 access/gist/gistvacuum.c:428 #, c-format msgid "" "This is caused by an incomplete page split at crash recovery before " @@ -1109,16 +1306,16 @@ msgstr "" "Это вызвано неполным разделением страницы при восстановлении после сбоя в " "PostgreSQL до версии 9.1." -#: access/gist/gist.c:762 access/gist/gistutil.c:801 access/gist/gistutil.c:812 -#: access/gist/gistvacuum.c:429 access/hash/hashutil.c:227 -#: access/hash/hashutil.c:238 access/hash/hashutil.c:250 -#: access/hash/hashutil.c:271 access/nbtree/nbtpage.c:813 +#: access/gist/gist.c:763 access/gist/gistutil.c:800 access/gist/gistutil.c:811 +#: access/gist/gistvacuum.c:429 access/hash/hashutil.c:226 +#: access/hash/hashutil.c:237 access/hash/hashutil.c:249 +#: access/hash/hashutil.c:270 access/nbtree/nbtpage.c:813 #: access/nbtree/nbtpage.c:824 #, c-format msgid "Please REINDEX it." msgstr "Пожалуйста, выполните REINDEX для него." -#: access/gist/gist.c:1195 +#: access/gist/gist.c:1196 #, c-format msgid "fixing incomplete split in index \"%s\", block %u" msgstr "исправление неполного разделения в индексе \"%s\" (блок: %u)" @@ -1138,19 +1335,19 @@ msgstr "" "разработчиками или попробуйте указать этот столбец в команде CREATE INDEX " "вторым." -#: access/gist/gistutil.c:798 access/hash/hashutil.c:224 +#: access/gist/gistutil.c:797 access/hash/hashutil.c:223 #: access/nbtree/nbtpage.c:810 #, c-format msgid "index \"%s\" contains unexpected zero page at block %u" msgstr "в индексе \"%s\" неожиданно оказалась нулевая страница в блоке %u" -#: access/gist/gistutil.c:809 access/hash/hashutil.c:235 -#: access/hash/hashutil.c:247 access/nbtree/nbtpage.c:821 +#: access/gist/gistutil.c:808 access/hash/hashutil.c:234 +#: access/hash/hashutil.c:246 access/nbtree/nbtpage.c:821 #, c-format msgid "index \"%s\" contains corrupted page at block %u" msgstr "индекс \"%s\" содержит испорченную страницу в блоке %u" -#: access/gist/gistvalidate.c:203 +#: access/gist/gistvalidate.c:202 #, c-format msgid "" "operator family \"%s\" of access method %s contains unsupported ORDER BY " @@ -1159,7 +1356,7 @@ msgstr "" "семейство операторов \"%s\" метода доступа %s содержит неподдерживаемое " "определение ORDER BY для оператора %s" -#: access/gist/gistvalidate.c:214 +#: access/gist/gistvalidate.c:213 #, c-format msgid "" "operator family \"%s\" of access method %s contains incorrect ORDER BY " @@ -1168,32 +1365,32 @@ msgstr "" "семейство операторов \"%s\" метода доступа %s содержит некорректное " "определение ORDER BY для оператора %s" -#: access/hash/hashfunc.c:279 access/hash/hashfunc.c:333 -#: utils/adt/varchar.c:1009 utils/adt/varchar.c:1064 +#: access/hash/hashfunc.c:277 access/hash/hashfunc.c:333 +#: utils/adt/varchar.c:1008 utils/adt/varchar.c:1065 #, c-format msgid "could not determine which collation to use for string hashing" msgstr "" "не удалось определить, какое правило сортировки использовать для хеширования " "строк" -#: access/hash/hashfunc.c:280 access/hash/hashfunc.c:334 catalog/heap.c:671 -#: catalog/heap.c:677 commands/createas.c:206 commands/createas.c:515 -#: commands/indexcmds.c:2015 commands/tablecmds.c:17527 commands/view.c:86 -#: regex/regc_pg_locale.c:243 utils/adt/formatting.c:1648 -#: utils/adt/formatting.c:1770 utils/adt/formatting.c:1893 utils/adt/like.c:191 -#: utils/adt/like_support.c:1025 utils/adt/varchar.c:739 -#: utils/adt/varchar.c:1010 utils/adt/varchar.c:1065 utils/adt/varlena.c:1518 +#: access/hash/hashfunc.c:278 access/hash/hashfunc.c:334 catalog/heap.c:672 +#: catalog/heap.c:678 commands/createas.c:201 commands/createas.c:508 +#: commands/indexcmds.c:2014 commands/tablecmds.c:18178 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 +#: utils/adt/varchar.c:1009 utils/adt/varchar.c:1066 utils/adt/varlena.c:1521 #, c-format msgid "Use the COLLATE clause to set the collation explicitly." msgstr "Задайте правило сортировки явно в предложении COLLATE." -#: access/hash/hashinsert.c:86 +#: access/hash/hashinsert.c:84 #, c-format msgid "index row size %zu exceeds hash maximum %zu" msgstr "размер строки индекса (%zu) больше предельного размера хеша (%zu)" -#: access/hash/hashinsert.c:88 access/spgist/spgdoinsert.c:2006 -#: access/spgist/spgdoinsert.c:2283 access/spgist/spgutils.c:1018 +#: access/hash/hashinsert.c:86 access/spgist/spgdoinsert.c:2005 +#: access/spgist/spgdoinsert.c:2282 access/spgist/spgutils.c:1031 #, c-format msgid "Values larger than a buffer page cannot be indexed." msgstr "Значения, не умещающиеся в страницу буфера, нельзя проиндексировать." @@ -1208,17 +1405,17 @@ msgstr "неверный номер блока переполнения: %u" msgid "out of overflow pages in hash index \"%s\"" msgstr "в хеш-индексе \"%s\" не хватает страниц переполнения" -#: access/hash/hashsearch.c:315 +#: access/hash/hashsearch.c:311 #, c-format msgid "hash indexes do not support whole-index scans" msgstr "хеш-индексы не поддерживают сканирование всего индекса" -#: access/hash/hashutil.c:263 +#: access/hash/hashutil.c:262 #, c-format msgid "index \"%s\" is not a hash index" msgstr "индекс \"%s\" не является хеш-индексом" -#: access/hash/hashutil.c:269 +#: access/hash/hashutil.c:268 #, c-format msgid "index \"%s\" has wrong hash version" msgstr "индекс \"%s\" имеет неправильную версию хеша" @@ -1239,38 +1436,48 @@ msgid "" msgstr "" "в семействе операторов \"%s\" метода доступа %s нет межтипового оператора(ов)" -#: access/heap/heapam.c:2038 +#: access/heap/heapam.c:2204 #, c-format msgid "cannot insert tuples in a parallel worker" msgstr "вставлять кортежи в параллельном исполнителе нельзя" -#: access/heap/heapam.c:2557 +#: access/heap/heapam.c:2723 #, c-format msgid "cannot delete tuples during a parallel operation" msgstr "удалять кортежи во время параллельных операций нельзя" -#: access/heap/heapam.c:2604 +#: access/heap/heapam.c:2770 #, c-format msgid "attempted to delete invisible tuple" msgstr "попытка удаления невидимого кортежа" -#: access/heap/heapam.c:3052 access/heap/heapam.c:5921 +#: access/heap/heapam.c:3218 access/heap/heapam.c:6454 access/index/genam.c:818 #, c-format msgid "cannot update tuples during a parallel operation" msgstr "изменять кортежи во время параллельных операций нельзя" -#: access/heap/heapam.c:3180 +#: access/heap/heapam.c:3350 #, c-format msgid "attempted to update invisible tuple" msgstr "попытка изменения невидимого кортежа" -#: access/heap/heapam.c:4569 access/heap/heapam.c:4607 -#: access/heap/heapam.c:4872 access/heap/heapam_handler.c:467 +#: access/heap/heapam.c:4861 access/heap/heapam.c:4899 +#: access/heap/heapam.c:5164 access/heap/heapam_handler.c:468 #, c-format msgid "could not obtain lock on row in relation \"%s\"" msgstr "не удалось получить блокировку строки в таблице \"%s\"" -#: access/heap/heapam_handler.c:412 +#: access/heap/heapam.c:6267 commands/trigger.c:3340 +#: executor/nodeModifyTable.c:2376 executor/nodeModifyTable.c:2467 +#, c-format +msgid "" +"tuple to be updated was already modified by an operation triggered by the " +"current command" +msgstr "" +"кортеж, который должен быть изменён, уже модифицирован в операции, вызванной " +"текущей командой" + +#: access/heap/heapam_handler.c:413 #, c-format msgid "" "tuple to be locked was already moved to another partition due to concurrent " @@ -1279,66 +1486,67 @@ msgstr "" "кортеж, подлежащий блокировке, был перемещён в другую секцию в результате " "параллельного изменения" -#: access/heap/hio.c:536 access/heap/rewriteheap.c:659 +#: access/heap/hio.c:535 access/heap/rewriteheap.c:640 #, c-format msgid "row is too big: size %zu, maximum size %zu" msgstr "размер строки (%zu) превышает предел (%zu)" -#: access/heap/rewriteheap.c:919 +#: access/heap/rewriteheap.c:885 #, c-format msgid "could not write to file \"%s\", wrote %d of %d: %m" msgstr "не удалось записать в файл \"%s\" (записано байт: %d из %d): %m" -#: access/heap/rewriteheap.c:1011 access/heap/rewriteheap.c:1128 +#: access/heap/rewriteheap.c:977 access/heap/rewriteheap.c:1094 #: access/transam/timeline.c:329 access/transam/timeline.c:481 -#: access/transam/xlog.c:2973 access/transam/xlog.c:3164 -#: access/transam/xlog.c:3940 access/transam/xlog.c:8746 -#: access/transam/xlogfuncs.c:702 backup/basebackup_server.c:151 -#: backup/basebackup_server.c:244 commands/dbcommands.c:495 -#: postmaster/postmaster.c:4557 postmaster/postmaster.c:5560 -#: replication/logical/origin.c:603 replication/slot.c:1804 -#: storage/file/copydir.c:157 storage/smgr/md.c:232 utils/time/snapmgr.c:1263 +#: access/transam/xlog.c:3255 access/transam/xlog.c:3446 +#: access/transam/xlog.c:4283 access/transam/xlog.c:9269 +#: 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:4112 +#: postmaster/walsummarizer.c:1212 replication/logical/origin.c:603 +#: replication/slot.c:2059 storage/file/copydir.c:157 storage/smgr/md.c:230 +#: utils/time/snapmgr.c:1234 #, c-format msgid "could not create file \"%s\": %m" msgstr "не удалось создать файл \"%s\": %m" -#: access/heap/rewriteheap.c:1138 +#: access/heap/rewriteheap.c:1104 #, c-format msgid "could not truncate file \"%s\" to %u: %m" msgstr "не удалось обрезать файл \"%s\" до нужного размера (%u): %m" -#: access/heap/rewriteheap.c:1156 access/transam/timeline.c:384 +#: access/heap/rewriteheap.c:1122 access/transam/timeline.c:384 #: access/transam/timeline.c:424 access/transam/timeline.c:498 -#: access/transam/xlog.c:3023 access/transam/xlog.c:3220 -#: access/transam/xlog.c:3952 commands/dbcommands.c:507 -#: postmaster/postmaster.c:4567 postmaster/postmaster.c:4577 +#: access/transam/xlog.c:3305 access/transam/xlog.c:3502 +#: access/transam/xlog.c:4295 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:1767 -#: replication/slot.c:1839 storage/file/buffile.c:545 -#: storage/file/copydir.c:197 utils/init/miscinit.c:1612 -#: utils/init/miscinit.c:1623 utils/init/miscinit.c:1631 utils/misc/guc.c:4340 -#: utils/misc/guc.c:4371 utils/misc/guc.c:5507 utils/misc/guc.c:5525 -#: utils/time/snapmgr.c:1268 utils/time/snapmgr.c:1275 +#: 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:1601 +#: utils/init/miscinit.c:1612 utils/init/miscinit.c:1620 utils/misc/guc.c:4450 +#: utils/misc/guc.c:4481 utils/misc/guc.c:5634 utils/misc/guc.c:5652 +#: utils/time/snapmgr.c:1239 utils/time/snapmgr.c:1246 #, c-format msgid "could not write to file \"%s\": %m" msgstr "не удалось записать в файл \"%s\": %m" -#: access/heap/vacuumlazy.c:480 +#: access/heap/vacuumlazy.c:473 #, c-format msgid "aggressively vacuuming \"%s.%s.%s\"" msgstr "агрессивная очистка \"%s.%s.%s\"" -#: access/heap/vacuumlazy.c:485 +#: access/heap/vacuumlazy.c:478 #, c-format msgid "vacuuming \"%s.%s.%s\"" msgstr "очистка \"%s.%s.%s\"" -#: access/heap/vacuumlazy.c:633 +#: access/heap/vacuumlazy.c:626 #, c-format msgid "finished vacuuming \"%s.%s.%s\": index scans: %d\n" msgstr "закончена очистка \"%s.%s.%s\": сканирований индекса: %d\n" -#: access/heap/vacuumlazy.c:644 +#: access/heap/vacuumlazy.c:637 #, c-format msgid "" "automatic aggressive vacuum to prevent wraparound of table \"%s.%s.%s\": " @@ -1347,7 +1555,7 @@ msgstr "" "автоматическая агрессивная очистка, предотвращающая зацикливание, таблицы " "\"%s.%s.%s\": сканирований индекса: %d\n" -#: access/heap/vacuumlazy.c:646 +#: access/heap/vacuumlazy.c:639 #, c-format msgid "" "automatic vacuum to prevent wraparound of table \"%s.%s.%s\": index scans: " @@ -1356,27 +1564,27 @@ msgstr "" "автоматическая очистка, предотвращающая зацикливание, таблицы \"%s.%s.%s\": " "сканирований индекса: %d\n" -#: access/heap/vacuumlazy.c:651 +#: access/heap/vacuumlazy.c:644 #, c-format msgid "automatic aggressive vacuum of table \"%s.%s.%s\": index scans: %d\n" msgstr "" "автоматическая агрессивная очистка таблицы \"%s.%s.%s\": сканирований " "индекса: %d\n" -#: access/heap/vacuumlazy.c:653 +#: access/heap/vacuumlazy.c:646 #, c-format msgid "automatic vacuum of table \"%s.%s.%s\": index scans: %d\n" msgstr "" "автоматическая очистка таблицы \"%s.%s.%s\": сканирований индекса: %d\n" -#: access/heap/vacuumlazy.c:660 +#: access/heap/vacuumlazy.c:653 #, c-format msgid "pages: %u removed, %u remain, %u scanned (%.2f%% of total)\n" msgstr "" "страниц удалено: %u, осталось: %u, просканировано: %u (%.2f%% от общего " "числа)\n" -#: access/heap/vacuumlazy.c:667 +#: access/heap/vacuumlazy.c:660 #, c-format msgid "" "tuples: %lld removed, %lld remain, %lld are dead but not yet removable\n" @@ -1384,7 +1592,7 @@ msgstr "" "версий строк: удалено: %lld, осталось: %lld, «мёртвых», но ещё не подлежащих " "удалению: %lld\n" -#: access/heap/vacuumlazy.c:673 +#: access/heap/vacuumlazy.c:666 #, c-format msgid "" "tuples missed: %lld dead from %u pages not removed due to cleanup lock " @@ -1393,43 +1601,43 @@ msgstr "" "из-за конфликта блокировки очистки пропущено версий строк: %lld, на " "страницах: %u\n" -#: access/heap/vacuumlazy.c:679 +#: access/heap/vacuumlazy.c:672 #, c-format msgid "removable cutoff: %u, which was %d XIDs old when operation ended\n" msgstr "" "XID отсечки удаления: %u, на момент завершения операции он имел возраст: %d " "XID\n" -#: access/heap/vacuumlazy.c:686 +#: access/heap/vacuumlazy.c:679 #, c-format msgid "new relfrozenxid: %u, which is %d XIDs ahead of previous value\n" msgstr "" "новое значение relfrozenxid: %u, оно продвинулось вперёд от предыдущего " "значения на %d XID\n" -#: access/heap/vacuumlazy.c:694 +#: access/heap/vacuumlazy.c:687 #, c-format msgid "new relminmxid: %u, which is %d MXIDs ahead of previous value\n" msgstr "" "новое значение relminmxid: %u, оно продвинулось вперёд от предыдущего " "значения на %d MXID\n" -#: access/heap/vacuumlazy.c:697 +#: access/heap/vacuumlazy.c:690 #, c-format msgid "frozen: %u pages from table (%.2f%% of total) had %lld tuples frozen\n" msgstr "" "замораживание: на страницах таблицы (%u, %.2f%% от общего числа) заморожено " "кортежей: %lld\n" -#: access/heap/vacuumlazy.c:705 +#: access/heap/vacuumlazy.c:698 msgid "index scan not needed: " msgstr "сканирование индекса не требуется: " -#: access/heap/vacuumlazy.c:707 +#: access/heap/vacuumlazy.c:700 msgid "index scan needed: " msgstr "сканирование индекса требуется: " -#: access/heap/vacuumlazy.c:709 +#: access/heap/vacuumlazy.c:702 #, c-format msgid "" "%u pages from table (%.2f%% of total) had %lld dead item identifiers " @@ -1438,22 +1646,22 @@ msgstr "" "на страницах таблицы (%u, %.2f%% от общего числа) удалено мёртвых " "идентификаторов элементов: %lld\n" -#: access/heap/vacuumlazy.c:714 +#: access/heap/vacuumlazy.c:707 msgid "index scan bypassed: " msgstr "сканирование индекса пропущено: " -#: access/heap/vacuumlazy.c:716 +#: access/heap/vacuumlazy.c:709 msgid "index scan bypassed by failsafe: " msgstr "сканирование индекса пропущено из-за защиты: " -#: access/heap/vacuumlazy.c:718 +#: access/heap/vacuumlazy.c:711 #, c-format msgid "%u pages from table (%.2f%% of total) have %lld dead item identifiers\n" msgstr "" "на страницах таблицы (%u, %.2f%% от общего числа) находится мёртвых " "идентификаторов элементов: %lld\n" -#: access/heap/vacuumlazy.c:733 +#: access/heap/vacuumlazy.c:726 #, c-format msgid "" "index \"%s\": pages: %u in total, %u newly deleted, %u currently deleted, %u " @@ -1462,43 +1670,43 @@ msgstr "" "индекс \"%s\": всего страниц: %u, сейчас удалено: %u, удалено на данный " "момент: %u, свободно: %u\n" -#: access/heap/vacuumlazy.c:745 commands/analyze.c:796 +#: access/heap/vacuumlazy.c:738 commands/analyze.c:794 #, c-format msgid "I/O timings: read: %.3f ms, write: %.3f ms\n" msgstr "время ввода/вывода: чтение: %.3f мс, запись: %.3f мс\n" -#: access/heap/vacuumlazy.c:755 commands/analyze.c:799 +#: access/heap/vacuumlazy.c:748 commands/analyze.c:797 #, c-format msgid "avg read rate: %.3f MB/s, avg write rate: %.3f MB/s\n" msgstr "" "средняя скорость чтения: %.3f МБ/с, средняя скорость записи: %.3f МБ/с\n" -#: access/heap/vacuumlazy.c:758 commands/analyze.c:801 +#: access/heap/vacuumlazy.c:751 commands/analyze.c:799 #, c-format msgid "buffer usage: %lld hits, %lld misses, %lld dirtied\n" msgstr "" "использование буфера: попаданий: %lld, промахов: %lld, «грязных» записей: " "%lld\n" -#: access/heap/vacuumlazy.c:763 +#: access/heap/vacuumlazy.c:756 #, c-format msgid "WAL usage: %lld records, %lld full page images, %llu bytes\n" msgstr "" "использование WAL: записей: %lld, полных образов страниц: %lld, байт: %llu\n" -#: access/heap/vacuumlazy.c:767 commands/analyze.c:805 +#: access/heap/vacuumlazy.c:760 commands/analyze.c:803 #, c-format msgid "system usage: %s" msgstr "нагрузка системы: %s" -#: access/heap/vacuumlazy.c:2476 +#: access/heap/vacuumlazy.c:2172 #, c-format msgid "table \"%s\": removed %lld dead item identifiers in %u pages" msgstr "" "таблица \"%s\": удалено мёртвых идентификаторов элементов: %lld, на " "страницах: %u" -#: access/heap/vacuumlazy.c:2636 +#: access/heap/vacuumlazy.c:2326 #, c-format msgid "" "bypassing nonessential maintenance of table \"%s.%s.%s\" as a failsafe after " @@ -1507,12 +1715,12 @@ msgstr "" "несущественная операция обслуживания таблицы \"%s.%s.%s\" пропускается в " "качестве меры защиты после %d сканирований индекса" -#: access/heap/vacuumlazy.c:2639 +#: access/heap/vacuumlazy.c:2329 #, c-format msgid "The table's relfrozenxid or relminmxid is too far in the past." msgstr "Значение relfrozenxid или relminmxid таблицы слишком далеко в прошлом." -#: access/heap/vacuumlazy.c:2640 +#: access/heap/vacuumlazy.c:2330 #, c-format msgid "" "Consider increasing configuration parameter \"maintenance_work_mem\" or " @@ -1525,23 +1733,23 @@ msgstr "" "Также можно рассмотреть другие способы обеспечения производительности " "VACUUM, соответствующей скорости выделения идентификаторов транзакций." -#: access/heap/vacuumlazy.c:2885 +#: access/heap/vacuumlazy.c:2592 #, c-format msgid "\"%s\": stopping truncate due to conflicting lock request" msgstr "\"%s\": остановка усечения из-за конфликтующего запроса блокировки" -#: access/heap/vacuumlazy.c:2955 +#: access/heap/vacuumlazy.c:2662 #, c-format msgid "table \"%s\": truncated %u to %u pages" msgstr "таблица \"%s\": усечение (было страниц: %u, стало: %u)" -#: access/heap/vacuumlazy.c:3017 +#: access/heap/vacuumlazy.c:2724 #, c-format msgid "table \"%s\": suspending truncate due to conflicting lock request" msgstr "" "таблица \"%s\": приостановка усечения из-за конфликтующего запроса блокировки" -#: access/heap/vacuumlazy.c:3177 +#: access/heap/vacuumlazy.c:2843 #, c-format msgid "" "disabling parallel option of vacuum on \"%s\" --- cannot vacuum temporary " @@ -1550,47 +1758,47 @@ msgstr "" "отключение параллельного режима очистки \"%s\" --- создавать временные " "таблицы в параллельном режиме нельзя" -#: access/heap/vacuumlazy.c:3393 +#: access/heap/vacuumlazy.c:3113 #, c-format msgid "while scanning block %u offset %u of relation \"%s.%s\"" msgstr "при сканировании блока %u (смещение %u) отношения \"%s.%s\"" -#: access/heap/vacuumlazy.c:3396 +#: access/heap/vacuumlazy.c:3116 #, c-format msgid "while scanning block %u of relation \"%s.%s\"" msgstr "при сканировании блока %u отношения \"%s.%s\"" -#: access/heap/vacuumlazy.c:3400 +#: access/heap/vacuumlazy.c:3120 #, c-format msgid "while scanning relation \"%s.%s\"" msgstr "при сканировании отношения \"%s.%s\"" -#: access/heap/vacuumlazy.c:3408 +#: access/heap/vacuumlazy.c:3128 #, c-format msgid "while vacuuming block %u offset %u of relation \"%s.%s\"" msgstr "при очистке блока %u (смещение %u) отношения \"%s.%s\"" -#: access/heap/vacuumlazy.c:3411 +#: access/heap/vacuumlazy.c:3131 #, c-format msgid "while vacuuming block %u of relation \"%s.%s\"" msgstr "при очистке блока %u отношения \"%s.%s\"" -#: access/heap/vacuumlazy.c:3415 +#: access/heap/vacuumlazy.c:3135 #, c-format msgid "while vacuuming relation \"%s.%s\"" msgstr "при очистке отношения \"%s.%s\"" -#: access/heap/vacuumlazy.c:3420 commands/vacuumparallel.c:1074 +#: access/heap/vacuumlazy.c:3140 commands/vacuumparallel.c:1113 #, c-format msgid "while vacuuming index \"%s\" of relation \"%s.%s\"" msgstr "при очистке индекса \"%s\" отношения \"%s.%s\"" -#: access/heap/vacuumlazy.c:3425 commands/vacuumparallel.c:1080 +#: access/heap/vacuumlazy.c:3145 commands/vacuumparallel.c:1119 #, c-format msgid "while cleaning up index \"%s\" of relation \"%s.%s\"" msgstr "при уборке индекса \"%s\" отношения \"%s.%s\"" -#: access/heap/vacuumlazy.c:3431 +#: access/heap/vacuumlazy.c:3151 #, c-format msgid "while truncating relation \"%s.%s\" to %u blocks" msgstr "при усечении отношения \"%s.%s\" до %u блок." @@ -1605,24 +1813,24 @@ msgstr "метод доступа \"%s\" имеет не тип %s" msgid "index access method \"%s\" does not have a handler" msgstr "для метода доступа индекса \"%s\" не задан обработчик" -#: access/index/genam.c:490 +#: access/index/genam.c:489 #, c-format msgid "transaction aborted during system catalog scan" msgstr "транзакция прервана во время сканирования системного каталога" -#: access/index/genam.c:658 access/index/indexam.c:87 +#: access/index/genam.c:657 access/index/indexam.c:82 #, c-format msgid "cannot access index \"%s\" while it is being reindexed" msgstr "индекс \"%s\" перестраивается, обращаться к нему нельзя" -#: access/index/indexam.c:208 catalog/objectaddress.c:1394 -#: commands/indexcmds.c:2843 commands/tablecmds.c:272 commands/tablecmds.c:296 -#: commands/tablecmds.c:17222 commands/tablecmds.c:19000 +#: access/index/indexam.c:203 catalog/objectaddress.c:1356 +#: commands/indexcmds.c:2844 commands/tablecmds.c:281 commands/tablecmds.c:305 +#: commands/tablecmds.c:17873 commands/tablecmds.c:19740 #, c-format msgid "\"%s\" is not an index" msgstr "\"%s\" - это не индекс" -#: access/index/indexam.c:1021 +#: access/index/indexam.c:1028 #, c-format msgid "operator class %s has no options" msgstr "у класса операторов %s нет параметров" @@ -1643,7 +1851,7 @@ msgid "This may be because of a non-immutable index expression." msgstr "Возможно, это вызвано переменной природой индексного выражения." #: access/nbtree/nbtpage.c:157 access/nbtree/nbtpage.c:611 -#: parser/parse_utilcmd.c:2326 +#: parser/parse_utilcmd.c:2323 #, c-format msgid "index \"%s\" is not a btree" msgstr "индекс \"%s\" не является b-деревом" @@ -1657,12 +1865,12 @@ msgstr "" "несовпадение версии в индексе \"%s\": версия файла: %d, версия кода: %d, " "минимальная поддерживаемая версия: %d" -#: access/nbtree/nbtpage.c:1866 +#: access/nbtree/nbtpage.c:1861 #, c-format msgid "index \"%s\" contains a half-dead internal page" msgstr "индекс \"%s\" содержит полумёртвую внутреннюю страницу" -#: access/nbtree/nbtpage.c:1868 +#: access/nbtree/nbtpage.c:1863 #, c-format msgid "" "This can be caused by an interrupted VACUUM in version 9.3 or older, before " @@ -1671,7 +1879,7 @@ msgstr "" "Причиной тому могло быть прерывание операции VACUUM в версии 9.3 или старее, " "до обновления. Этот индекс нужно перестроить (REINDEX)." -#: access/nbtree/nbtutils.c:2677 +#: access/nbtree/nbtutils.c:5104 #, c-format msgid "" "index row size %zu exceeds btree version %u maximum %zu for index \"%s\"" @@ -1679,12 +1887,12 @@ msgstr "" "размер строки индекса (%zu) больше предельного для btree версии %u размера " "(%zu) (индекс \"%s\")" -#: access/nbtree/nbtutils.c:2683 +#: access/nbtree/nbtutils.c:5110 #, c-format msgid "Index row references tuple (%u,%u) in relation \"%s\"." msgstr "Строка индекса ссылается на кортеж (%u,%u) в отношении \"%s\"." -#: access/nbtree/nbtutils.c:2687 +#: access/nbtree/nbtutils.c:5114 #, c-format msgid "" "Values larger than 1/3 of a buffer page cannot be indexed.\n" @@ -1705,7 +1913,13 @@ msgstr "" "в семействе операторов \"%s\" метода доступа %s нет опорной функции для " "типов %s и %s" -#: access/spgist/spgutils.c:243 +#: access/sequence/sequence.c:75 access/table/table.c:145 +#: optimizer/util/plancat.c:144 +#, c-format +msgid "cannot open relation \"%s\"" +msgstr "открыть отношение \"%s\" нельзя" + +#: access/spgist/spgutils.c:245 #, c-format msgid "" "compress method must be defined when leaf type is different from input type" @@ -1713,7 +1927,7 @@ msgstr "" "метод сжатия должен быть определён, когда тип листьев отличается от входного " "типа" -#: access/spgist/spgutils.c:1015 +#: access/spgist/spgutils.c:1028 #, c-format msgid "SP-GiST inner tuple size %zu exceeds maximum %zu" msgstr "внутренний размер кортежа SP-GiST (%zu) превышает максимум (%zu)" @@ -1734,75 +1948,71 @@ msgstr "" "в семействе операторов \"%s\" метода доступа %s нет опорной функции %d для " "типа %s" -#: access/table/table.c:145 optimizer/util/plancat.c:145 -#, c-format -msgid "cannot open relation \"%s\"" -msgstr "открыть отношение \"%s\" нельзя" - -#: access/table/tableam.c:265 +#: access/table/tableam.c:255 #, c-format msgid "tid (%u, %u) is not valid for relation \"%s\"" msgstr "идентификатор кортежа (%u, %u) недопустим для отношения \"%s\"" -#: access/table/tableamapi.c:116 +#: access/table/tableamapi.c:109 #, c-format -msgid "%s cannot be empty." -msgstr "Значение %s не может быть пустым." +msgid "\"%s\" cannot be empty." +msgstr "Значение \"%s\" не может быть пустым." # well-spelled: симв -#: access/table/tableamapi.c:123 access/transam/xlogrecovery.c:4808 +#: access/table/tableamapi.c:116 access/transam/xlogrecovery.c:4858 #, c-format -msgid "%s is too long (maximum %d characters)." -msgstr "Длина %s превышает предел (%d симв.)." +msgid "\"%s\" is too long (maximum %d characters)." +msgstr "Длина \"%s\" превышает предел (%d симв.)." -#: access/table/tableamapi.c:146 +#: access/table/tableamapi.c:139 #, c-format msgid "table access method \"%s\" does not exist" msgstr "табличный метод доступа \"%s\" не существует" -#: access/table/tableamapi.c:151 +#: access/table/tableamapi.c:144 #, c-format msgid "Table access method \"%s\" does not exist." msgstr "Табличный метод доступа \"%s\" не существует." -#: access/tablesample/bernoulli.c:148 access/tablesample/system.c:152 +#: access/tablesample/bernoulli.c:148 access/tablesample/system.c:151 #, c-format msgid "sample percentage must be between 0 and 100" msgstr "процент выборки должен задаваться числом от 0 до 100" -#: access/transam/commit_ts.c:279 +#: access/transam/commit_ts.c:287 #, c-format msgid "cannot retrieve commit timestamp for transaction %u" msgstr "не удалось получить метку времени фиксации транзакции %u" -#: access/transam/commit_ts.c:377 +#: access/transam/commit_ts.c:385 #, c-format msgid "could not get commit timestamp data" msgstr "не удалось получить отметку времени фиксации" -#: access/transam/commit_ts.c:379 +#: access/transam/commit_ts.c:387 #, c-format msgid "" "Make sure the configuration parameter \"%s\" is set on the primary server." msgstr "" "Убедитесь, что в конфигурации ведущего сервера установлен параметр \"%s\"." -#: access/transam/commit_ts.c:381 +#: access/transam/commit_ts.c:389 #, c-format msgid "Make sure the configuration parameter \"%s\" is set." msgstr "Убедитесь, что в конфигурации установлен параметр \"%s\"." -#: access/transam/multixact.c:1023 +#: access/transam/multixact.c:1091 #, c-format msgid "" -"database is not accepting commands that generate new MultiXactIds to avoid " +"database is not accepting commands that assign new MultiXactIds to avoid " "wraparound data loss in database \"%s\"" msgstr "" -"база данных не принимает команды, создающие новые MultiXactId, во избежание " -"потери данных из-за зацикливания в базе данных \"%s\"" +"база данных не принимает команды, назначающие новые MultiXactId, во " +"избежание потери данных из-за зацикливания в базе данных \"%s\"" -#: access/transam/multixact.c:1025 access/transam/multixact.c:1032 -#: access/transam/multixact.c:1056 access/transam/multixact.c:1065 +#: 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 #, c-format msgid "" "Execute a database-wide VACUUM in that database.\n" @@ -1813,16 +2023,16 @@ msgstr "" "Возможно, вам также придётся зафиксировать или откатить старые " "подготовленные транзакции и удалить неиспользуемые слоты репликации." -#: access/transam/multixact.c:1030 +#: access/transam/multixact.c:1098 #, c-format msgid "" -"database is not accepting commands that generate new MultiXactIds to avoid " +"database is not accepting commands that assign new MultiXactIds to avoid " "wraparound data loss in database with OID %u" msgstr "" -"база данных не принимает команды, создающие новые MultiXactId, во избежание " -"потери данных из-за зацикливания в базе данных с OID %u" +"база данных не принимает команды, назначающие новые MultiXactId, во " +"избежание потери данных из-за зацикливания в базе данных с OID %u" -#: access/transam/multixact.c:1051 access/transam/multixact.c:2333 +#: access/transam/multixact.c:1119 access/transam/multixact.c:2474 #, c-format msgid "database \"%s\" must be vacuumed before %u more MultiXactId is used" msgid_plural "" @@ -1837,7 +2047,7 @@ msgstr[2] "" "база данных \"%s\" должна быть очищена, прежде чем будут использованы " "оставшиеся MultiXactId (%u)" -#: access/transam/multixact.c:1060 access/transam/multixact.c:2342 +#: access/transam/multixact.c:1128 access/transam/multixact.c:2483 #, c-format msgid "" "database with OID %u must be vacuumed before %u more MultiXactId is used" @@ -1853,12 +2063,12 @@ msgstr[2] "" "база данных с OID %u должна быть очищена, прежде чем будут использованы " "оставшиеся MultiXactId (%u)" -#: access/transam/multixact.c:1121 +#: access/transam/multixact.c:1189 #, c-format msgid "multixact \"members\" limit exceeded" msgstr "слишком много членов мультитранзакции" -#: access/transam/multixact.c:1122 +#: access/transam/multixact.c:1190 #, c-format msgid "" "This command would create a multixact with %u members, but the remaining " @@ -1876,17 +2086,17 @@ msgstr[2] "" "Мультитранзакция, создаваемая этой командой, должна включать членов: %u, но " "оставшегося места хватает только для %u." -#: access/transam/multixact.c:1127 +#: access/transam/multixact.c:1195 #, 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." +"\"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." +"\"vacuum_multixact_freeze_min_age\" и \"vacuum_multixact_freeze_table_age\"." -#: access/transam/multixact.c:1158 +#: access/transam/multixact.c:1226 #, c-format msgid "" "database with OID %u must be vacuumed before %d more multixact member is used" @@ -1903,41 +2113,40 @@ msgstr[2] "" "база данных с OID %u должна быть очищена, пока не использованы оставшиеся " "члены мультитранзакций (%d)" -#: access/transam/multixact.c:1163 +#: access/transam/multixact.c:1231 #, 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." +"\"vacuum_multixact_freeze_min_age\" and " +"\"vacuum_multixact_freeze_table_age\" settings." msgstr "" "Выполните очистку (VACUUM) всей этой базы данных, уменьшив значения " -"vacuum_multixact_freeze_min_age и vacuum_multixact_freeze_table_age." +"\"vacuum_multixact_freeze_min_age\" и \"vacuum_multixact_freeze_table_age\"." -#: access/transam/multixact.c:1302 +#: access/transam/multixact.c:1371 #, c-format msgid "MultiXactId %u does no longer exist -- apparent wraparound" msgstr "MultiXactId %u прекратил существование: видимо, произошло зацикливание" -#: access/transam/multixact.c:1308 +#: access/transam/multixact.c:1377 #, c-format msgid "MultiXactId %u has not been created yet -- apparent wraparound" msgstr "MultiXactId %u ещё не был создан: видимо, произошло зацикливание" -#: access/transam/multixact.c:2338 access/transam/multixact.c:2347 -#: access/transam/varsup.c:151 access/transam/varsup.c:158 -#: access/transam/varsup.c:466 access/transam/varsup.c:473 +#: access/transam/multixact.c:2479 access/transam/multixact.c:2488 #, c-format msgid "" -"To avoid a database shutdown, execute a database-wide VACUUM in that " -"database.\n" +"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 "" -"Во избежание отключения базы данных выполните очистку (VACUUM) всей базы.\n" +"Во избежание сбоев при назначении MultiXactId, выполните очистку (VACUUM) " +"всей базы.\n" "Возможно, вам также придётся зафиксировать или откатить старые " "подготовленные транзакции и удалить неиспользуемые слоты репликации." -#: access/transam/multixact.c:2622 +#: access/transam/multixact.c:2767 #, c-format msgid "" "MultiXact member wraparound protections are disabled because oldest " @@ -1946,12 +2155,12 @@ msgstr "" "Защита от зацикливания членов мультитранзакций отключена, так как старейшая " "отмеченная мультитранзакция %u не найдена на диске" -#: access/transam/multixact.c:2644 +#: access/transam/multixact.c:2789 #, c-format msgid "MultiXact member wraparound protections are now enabled" msgstr "Защита от зацикливания мультитранзакций сейчас включена" -#: access/transam/multixact.c:3027 +#: access/transam/multixact.c:3180 #, c-format msgid "" "oldest MultiXact %u not found, earliest MultiXact %u, skipping truncation" @@ -1959,7 +2168,7 @@ msgstr "" "старейшая мультитранзакция %u не найдена, новейшая мультитранзакция: %u, " "усечение пропускается" -#: access/transam/multixact.c:3045 +#: access/transam/multixact.c:3198 #, c-format msgid "" "cannot truncate up to MultiXact %u because it does not exist on disk, " @@ -1968,167 +2177,172 @@ msgstr "" "выполнить усечение до мультитранзакции %u нельзя ввиду её отсутствия на " "диске, усечение пропускается" -#: access/transam/multixact.c:3359 +#: access/transam/multixact.c:3517 #, c-format msgid "invalid MultiXactId: %u" msgstr "неверный MultiXactId: %u" -#: access/transam/parallel.c:729 access/transam/parallel.c:848 +#: access/transam/parallel.c:744 access/transam/parallel.c:863 #, c-format msgid "parallel worker failed to initialize" msgstr "не удалось инициализировать параллельный исполнитель" -#: access/transam/parallel.c:730 access/transam/parallel.c:849 +#: access/transam/parallel.c:745 access/transam/parallel.c:864 #, c-format msgid "More details may be available in the server log." msgstr "Дополнительная информация может быть в журнале сервера." -#: access/transam/parallel.c:910 +#: access/transam/parallel.c:925 #, c-format msgid "postmaster exited during a parallel transaction" msgstr "postmaster завершился в процессе параллельной транзакции" -#: access/transam/parallel.c:1097 +#: access/transam/parallel.c:1112 #, c-format msgid "lost connection to parallel worker" msgstr "потеряно подключение к параллельному исполнителю" -#: access/transam/parallel.c:1163 access/transam/parallel.c:1165 +#: access/transam/parallel.c:1168 access/transam/parallel.c:1170 msgid "parallel worker" msgstr "параллельный исполнитель" -#: access/transam/parallel.c:1319 replication/logical/applyparallelworker.c:893 +#: access/transam/parallel.c:1340 replication/logical/applyparallelworker.c:890 #, c-format msgid "could not map dynamic shared memory segment" msgstr "не удалось отобразить динамический сегмент разделяемой памяти" -#: access/transam/parallel.c:1324 replication/logical/applyparallelworker.c:899 +#: access/transam/parallel.c:1345 replication/logical/applyparallelworker.c:896 #, c-format msgid "invalid magic number in dynamic shared memory segment" msgstr "неверное магическое число в динамическом сегменте разделяемой памяти" -#: access/transam/rmgr.c:84 +#: access/transam/rmgr.c:93 #, c-format msgid "resource manager with ID %d not registered" msgstr "менеджер ресурсов с ID %d не зарегистрирован" -#: access/transam/rmgr.c:85 +#: access/transam/rmgr.c:94 #, c-format msgid "" "Include the extension module that implements this resource manager in " -"shared_preload_libraries." +"\"shared_preload_libraries\"." msgstr "" -"Включите в shared_preload_libraries модуль расширения, в котором реализован " -"данный менеджер ресурсов." +"Включите в \"shared_preload_libraries\" модуль расширения, в котором " +"реализован данный менеджер ресурсов." -#: access/transam/rmgr.c:101 +#: access/transam/rmgr.c:110 #, c-format msgid "custom resource manager name is invalid" msgstr "неверное имя пользовательского менеджера ресурсов" -#: access/transam/rmgr.c:102 +#: access/transam/rmgr.c:111 #, c-format msgid "Provide a non-empty name for the custom resource manager." msgstr "Задайте непустое имя для менеджера ресурсов." -#: access/transam/rmgr.c:105 +#: access/transam/rmgr.c:114 #, c-format msgid "custom resource manager ID %d is out of range" msgstr "идентификатор пользовательского менеджера ресурсов %d вне диапазона" -#: access/transam/rmgr.c:106 +#: access/transam/rmgr.c:115 #, c-format msgid "Provide a custom resource manager ID between %d and %d." msgstr "Задайте идентификатор менеджера ресурсов от %d до %d." -#: access/transam/rmgr.c:111 access/transam/rmgr.c:116 -#: access/transam/rmgr.c:128 +#: access/transam/rmgr.c:120 access/transam/rmgr.c:125 +#: access/transam/rmgr.c:137 #, c-format msgid "failed to register custom resource manager \"%s\" with ID %d" msgstr "" "не удалось зарегистрировать пользовательский менеджер ресурсов \"%s\" с ID %d" -#: access/transam/rmgr.c:112 +#: access/transam/rmgr.c:121 #, c-format msgid "" "Custom resource manager must be registered while initializing modules in " -"shared_preload_libraries." +"\"shared_preload_libraries\"." msgstr "" "Пользовательский менеджер ресурсов должен быть зарегистрирован при " -"инициализации модулей в shared_preload_libraries." +"инициализации модулей в \"shared_preload_libraries\"." -#: access/transam/rmgr.c:117 +#: access/transam/rmgr.c:126 #, c-format msgid "Custom resource manager \"%s\" already registered with the same ID." msgstr "" "Пользовательский менеджер ресурсов \"%s\" уже зарегистрирован с тем же ID." -#: access/transam/rmgr.c:129 +#: access/transam/rmgr.c:138 #, c-format msgid "Existing resource manager with ID %d has the same name." msgstr "Существующий менеджер ресурсов с ID %d имеет то же имя." -#: access/transam/rmgr.c:135 +#: access/transam/rmgr.c:144 #, c-format msgid "registered custom resource manager \"%s\" with ID %d" msgstr "зарегистрирован пользовательский менеджер ресурсов \"%s\" с ID %d" -#: access/transam/slru.c:714 +#: access/transam/slru.c:361 +#, c-format +msgid "\"%s\" must be a multiple of %d" +msgstr "значение \"%s\" должно быть кратно %d" + +#: access/transam/slru.c:830 #, c-format msgid "file \"%s\" doesn't exist, reading as zeroes" msgstr "файл \"%s\" не существует, считается нулевым" -#: access/transam/slru.c:946 access/transam/slru.c:952 -#: access/transam/slru.c:960 access/transam/slru.c:965 -#: access/transam/slru.c:972 access/transam/slru.c:977 -#: access/transam/slru.c:984 access/transam/slru.c:991 +#: 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 #, c-format msgid "could not access status of transaction %u" msgstr "не удалось получить состояние транзакции %u" -#: access/transam/slru.c:947 +#: access/transam/slru.c:1060 #, c-format msgid "Could not open file \"%s\": %m." msgstr "Не удалось открыть файл \"%s\": %m." -#: access/transam/slru.c:953 +#: access/transam/slru.c:1066 #, c-format msgid "Could not seek in file \"%s\" to offset %d: %m." msgstr "Не удалось переместиться в файле \"%s\" к смещению %d: %m." -#: access/transam/slru.c:961 +#: access/transam/slru.c:1074 #, c-format msgid "Could not read from file \"%s\" at offset %d: %m." msgstr "Не удалось прочитать файл \"%s\" (по смещению %d): %m." -#: access/transam/slru.c:966 +#: access/transam/slru.c:1079 #, c-format msgid "Could not read from file \"%s\" at offset %d: read too few bytes." msgstr "" "Не удалось прочитать файл \"%s\" (по смещению %d): прочитаны не все байты." -#: access/transam/slru.c:973 +#: access/transam/slru.c:1086 #, c-format msgid "Could not write to file \"%s\" at offset %d: %m." msgstr "Не удалось записать в файл \"%s\" (по смещению %d): %m." -#: access/transam/slru.c:978 +#: access/transam/slru.c:1091 #, c-format msgid "Could not write to file \"%s\" at offset %d: wrote too few bytes." msgstr "" "Не удалось записать в файл \"%s\" (по смещению %d): записаны не все байты." -#: access/transam/slru.c:985 +#: access/transam/slru.c:1098 #, c-format msgid "Could not fsync file \"%s\": %m." msgstr "Не удалось синхронизировать с ФС файл \"%s\": %m." -#: access/transam/slru.c:992 +#: access/transam/slru.c:1105 #, c-format msgid "Could not close file \"%s\": %m." msgstr "Не удалось закрыть файл \"%s\": %m." -#: access/transam/slru.c:1253 +#: access/transam/slru.c:1431 #, c-format msgid "could not truncate directory \"%s\": apparent wraparound" msgstr "не удалось очистить каталог \"%s\": видимо, произошло зацикливание" @@ -2174,59 +2388,60 @@ msgstr "" msgid "requested timeline %u is not in this server's history" msgstr "в истории сервера нет запрошенной линии времени %u" -#: access/transam/twophase.c:386 +#: access/transam/twophase.c:368 #, c-format msgid "transaction identifier \"%s\" is too long" msgstr "идентификатор транзакции \"%s\" слишком длинный" -#: access/transam/twophase.c:393 +#: access/transam/twophase.c:375 #, c-format msgid "prepared transactions are disabled" msgstr "подготовленные транзакции отключены" -#: access/transam/twophase.c:394 +#: access/transam/twophase.c:376 #, c-format -msgid "Set max_prepared_transactions to a nonzero value." -msgstr "Установите ненулевое значение параметра max_prepared_transactions." +msgid "Set \"max_prepared_transactions\" to a nonzero value." +msgstr "Установите ненулевое значение параметра \"max_prepared_transactions\"." -#: access/transam/twophase.c:413 +#: access/transam/twophase.c:395 #, c-format msgid "transaction identifier \"%s\" is already in use" msgstr "идентификатор транзакции \"%s\" уже используется" -#: access/transam/twophase.c:422 access/transam/twophase.c:2517 +#: access/transam/twophase.c:404 access/transam/twophase.c:2547 #, c-format msgid "maximum number of prepared transactions reached" msgstr "достигнут предел числа подготовленных транзакций" -#: access/transam/twophase.c:423 access/transam/twophase.c:2518 +#: access/transam/twophase.c:405 access/transam/twophase.c:2548 #, c-format -msgid "Increase max_prepared_transactions (currently %d)." -msgstr "Увеличьте параметр max_prepared_transactions (текущее значение %d)." +msgid "Increase \"max_prepared_transactions\" (currently %d)." +msgstr "" +"Увеличьте параметр \"max_prepared_transactions\" (текущее значение %d)." -#: access/transam/twophase.c:599 +#: access/transam/twophase.c:580 #, c-format msgid "prepared transaction with identifier \"%s\" is busy" msgstr "подготовленная транзакция с идентификатором \"%s\" занята" -#: access/transam/twophase.c:605 +#: access/transam/twophase.c:586 #, c-format msgid "permission denied to finish prepared transaction" -msgstr "нет доступа для завершения подготовленной транзакции" +msgstr "нет прав для завершения подготовленной транзакции" -#: access/transam/twophase.c:606 +#: access/transam/twophase.c:587 #, c-format msgid "Must be superuser or the user that prepared the transaction." msgstr "" "Это разрешено только суперпользователю и пользователю, подготовившему " "транзакцию." -#: access/transam/twophase.c:617 +#: access/transam/twophase.c:598 #, c-format msgid "prepared transaction belongs to another database" msgstr "подготовленная транзакция относится к другой базе данных" -#: access/transam/twophase.c:618 +#: access/transam/twophase.c:599 #, c-format msgid "" "Connect to the database where the transaction was prepared to finish it." @@ -2235,17 +2450,17 @@ msgstr "" "подготовлена." # [SM]: TO REVIEW -#: access/transam/twophase.c:633 +#: access/transam/twophase.c:614 #, c-format msgid "prepared transaction with identifier \"%s\" does not exist" msgstr "подготовленной транзакции с идентификатором \"%s\" нет" -#: access/transam/twophase.c:1168 +#: access/transam/twophase.c:1190 #, c-format msgid "two-phase state file maximum length exceeded" msgstr "превышен предельный размер файла состояния 2PC" -#: access/transam/twophase.c:1323 +#: access/transam/twophase.c:1345 #, c-format msgid "incorrect size of file \"%s\": %lld byte" msgid_plural "incorrect size of file \"%s\": %lld bytes" @@ -2253,62 +2468,63 @@ msgstr[0] "некорректный размер файла \"%s\": %lld Б" msgstr[1] "некорректный размер файла \"%s\": %lld Б" msgstr[2] "некорректный размер файла \"%s\": %lld Б" -#: access/transam/twophase.c:1332 +#: access/transam/twophase.c:1354 #, c-format msgid "incorrect alignment of CRC offset for file \"%s\"" msgstr "некорректное выравнивание смещения CRC для файла \"%s\"" -#: access/transam/twophase.c:1350 +#: access/transam/twophase.c:1372 #, c-format msgid "could not read file \"%s\": read %d of %lld" msgstr "не удалось прочитать файл \"%s\" (прочитано байт: %d из %lld)" -#: access/transam/twophase.c:1365 +#: access/transam/twophase.c:1387 #, c-format msgid "invalid magic number stored in file \"%s\"" msgstr "в файле \"%s\" содержится неверная сигнатура" -#: access/transam/twophase.c:1371 +#: access/transam/twophase.c:1393 #, c-format msgid "invalid size stored in file \"%s\"" msgstr "в файле \"%s\" содержится неверный размер" -#: access/transam/twophase.c:1383 +#: access/transam/twophase.c:1405 #, c-format msgid "calculated CRC checksum does not match value stored in file \"%s\"" msgstr "" "вычисленная контрольная сумма (CRC) не соответствует значению, сохранённому " "в файле \"%s\"" -#: access/transam/twophase.c:1413 access/transam/xlogrecovery.c:590 -#: replication/logical/logical.c:209 replication/walsender.c:687 +#: access/transam/twophase.c:1435 access/transam/xlogrecovery.c:565 +#: postmaster/walsummarizer.c:936 replication/logical/logical.c:211 +#: replication/walsender.c:836 #, c-format msgid "Failed while allocating a WAL reading processor." msgstr "Не удалось разместить обработчик журнала транзакций." -#: access/transam/twophase.c:1423 +#: access/transam/twophase.c:1445 #, c-format msgid "could not read two-phase state from WAL at %X/%X: %s" msgstr "не удалось прочитать состояние 2PC из WAL в позиции %X/%X: %s" -#: access/transam/twophase.c:1428 +#: access/transam/twophase.c:1450 #, c-format msgid "could not read two-phase state from WAL at %X/%X" msgstr "не удалось прочитать состояние 2PC из WAL в позиции %X/%X" -#: access/transam/twophase.c:1436 +#: access/transam/twophase.c:1458 #, c-format msgid "expected two-phase state data is not present in WAL at %X/%X" msgstr "" "ожидаемые данные состояния двухфазной фиксации отсутствуют в WAL в позиции " "%X/%X" -#: access/transam/twophase.c:1732 +#: access/transam/twophase.c:1761 #, c-format msgid "could not recreate file \"%s\": %m" msgstr "пересоздать файл \"%s\" не удалось: %m" -#: access/transam/twophase.c:1859 +#: access/transam/twophase.c:1888 #, c-format msgid "" "%u two-phase state file was written for a long-running prepared transaction" @@ -2321,47 +2537,47 @@ msgstr[1] "" msgstr[2] "" "для длительных подготовленных транзакций записано файлов состояния 2PC: %u" -#: access/transam/twophase.c:2093 +#: access/transam/twophase.c:2123 #, c-format msgid "recovering prepared transaction %u from shared memory" msgstr "восстановление подготовленной транзакции %u из разделяемой памяти" -#: access/transam/twophase.c:2186 +#: access/transam/twophase.c:2216 #, c-format msgid "removing stale two-phase state file for transaction %u" msgstr "удаление устаревшего файла состояния 2PC для транзакции %u" -#: access/transam/twophase.c:2193 +#: access/transam/twophase.c:2223 #, c-format msgid "removing stale two-phase state from memory for transaction %u" msgstr "удаление из памяти устаревшего состояния 2PC для транзакции %u" -#: access/transam/twophase.c:2206 +#: access/transam/twophase.c:2236 #, c-format msgid "removing future two-phase state file for transaction %u" msgstr "удаление файла будущего состояния 2PC для транзакции %u" -#: access/transam/twophase.c:2213 +#: access/transam/twophase.c:2243 #, c-format msgid "removing future two-phase state from memory for transaction %u" msgstr "удаление из памяти будущего состояния 2PC для транзакции %u" -#: access/transam/twophase.c:2238 +#: access/transam/twophase.c:2268 #, c-format msgid "corrupted two-phase state file for transaction %u" msgstr "испорчен файл состояния 2PC для транзакции %u" -#: access/transam/twophase.c:2243 +#: access/transam/twophase.c:2273 #, c-format msgid "corrupted two-phase state in memory for transaction %u" msgstr "испорчено состояние 2PC в памяти для транзакции %u" -#: access/transam/twophase.c:2500 +#: access/transam/twophase.c:2530 #, c-format msgid "could not recover two-phase state file for transaction %u" msgstr "не удалось восстановить файл состояния 2PC для транзакции %u" -#: access/transam/twophase.c:2502 +#: access/transam/twophase.c:2532 #, c-format msgid "" "Two-phase state file has been found in WAL record %X/%X, but this " @@ -2370,172 +2586,194 @@ msgstr "" "Для WAL-записи %X/%X найден файл состояния двухфазной фиксации, но эта " "транзакция уже была восстановлена с диска." -#: access/transam/twophase.c:2510 jit/jit.c:205 utils/fmgr/dfmgr.c:209 -#: utils/fmgr/dfmgr.c:415 +#: access/transam/twophase.c:2540 storage/file/fd.c:514 utils/fmgr/dfmgr.c:209 #, c-format msgid "could not access file \"%s\": %m" -msgstr "нет доступа к файлу \"%s\": %m" +msgstr "ошибка при обращении к файлу \"%s\": %m" -#: access/transam/varsup.c:129 +#: access/transam/varsup.c:156 #, c-format msgid "" -"database is not accepting commands to avoid wraparound data loss in database " +"database is not accepting commands that assign new transaction IDs to avoid " +"wraparound data loss in database \"%s\"" +msgstr "" +"база данных не принимает команды, назначающие новые идентификаторы " +"транзакций, во избежание потери данных из-за зацикливания в базе данных " "\"%s\"" + +#: access/transam/varsup.c:163 +#, c-format +msgid "" +"database is not accepting commands that assign new transaction IDs to avoid " +"wraparound data loss in database with OID %u" +msgstr "" +"база данных не принимает команды, назначающие новые идентификаторы " +"транзакций, во избежание потери данных из-за зацикливания в базе данных с " +"OID %u" + +#: access/transam/varsup.c:175 access/transam/varsup.c:490 +#, c-format +msgid "database \"%s\" must be vacuumed within %u transactions" msgstr "" -"база данных не принимает команды во избежание потери данных из-за " -"зацикливания транзакций в базе данных \"%s\"" +"база данных \"%s\" должна быть очищена (предельное число транзакций: %u)" -#: access/transam/varsup.c:131 access/transam/varsup.c:138 +#: access/transam/varsup.c:178 #, c-format msgid "" -"Stop the postmaster and vacuum that database in single-user mode.\n" +"To avoid transaction ID 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 "" -"Остановите управляющий процесс (postmaster) и выполните очистку (VACUUM) " -"базы данных в монопольном режиме.\n" +"Во избежание сбоев при назначении идентификаторов транзакций, выполните " +"очистку (VACUUM) всей базы.\n" "Возможно, вам также придётся зафиксировать или откатить старые " "подготовленные транзакции и удалить неиспользуемые слоты репликации." -#: access/transam/varsup.c:136 +#: access/transam/varsup.c:182 access/transam/varsup.c:497 #, c-format -msgid "" -"database is not accepting commands to avoid wraparound data loss in database " -"with OID %u" +msgid "database with OID %u must be vacuumed within %u transactions" msgstr "" -"база данных не принимает команды во избежание потери данных из-за " -"зацикливания транзакций в базе данных с OID %u" +"база данных с OID %u должна быть очищена (предельное число транзакций: %u)" -#: access/transam/varsup.c:148 access/transam/varsup.c:463 +#: access/transam/varsup.c:185 access/transam/varsup.c:493 +#: access/transam/varsup.c:500 #, c-format -msgid "database \"%s\" must be vacuumed within %u transactions" +msgid "" +"To avoid XID 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 "" -"база данных \"%s\" должна быть очищена (предельное число транзакций: %u)" +"Во избежание сбоев при назначении XID, выполните очистку (VACUUM) всей " +"базы.\n" +"Возможно, вам также придётся зафиксировать или откатить старые " +"подготовленные транзакции и удалить неиспользуемые слоты репликации." -#: access/transam/varsup.c:155 access/transam/varsup.c:470 +#: access/transam/xact.c:649 #, c-format -msgid "database with OID %u must be vacuumed within %u transactions" +msgid "cannot assign transaction IDs during a parallel operation" msgstr "" -"база данных с OID %u должна быть очищена (предельное число транзакций: %u)" +"идентификаторы транзакций не могут назначаться во время параллельных операций" + +#: access/transam/xact.c:840 +#, c-format +msgid "cannot modify data in a parallel worker" +msgstr "модифицировать данные в параллельном исполнителе нельзя" -#: access/transam/xact.c:1102 +#: access/transam/xact.c:1115 +#, c-format +msgid "cannot start commands during a parallel operation" +msgstr "начинать команды во время параллельной операции нельзя" + +#: access/transam/xact.c:1123 #, c-format msgid "cannot have more than 2^32-2 commands in a transaction" msgstr "в одной транзакции не может быть больше 2^32-2 команд" -#: access/transam/xact.c:1643 +#: access/transam/xact.c:1664 #, c-format msgid "maximum number of committed subtransactions (%d) exceeded" msgstr "превышен предел числа зафиксированных подтранзакций (%d)" -#: access/transam/xact.c:2513 +#: access/transam/xact.c:2561 #, c-format msgid "cannot PREPARE a transaction that has operated on temporary objects" msgstr "" "нельзя выполнить PREPARE для транзакции, оперирующей с временными объектами" -#: access/transam/xact.c:2523 +#: access/transam/xact.c:2571 #, c-format msgid "cannot PREPARE a transaction that has exported snapshots" msgstr "нельзя выполнить PREPARE для транзакции, снимки которой экспортированы" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3490 +#: access/transam/xact.c:3593 #, c-format msgid "%s cannot run inside a transaction block" msgstr "%s не может выполняться внутри блока транзакции" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3500 +#: access/transam/xact.c:3603 #, c-format msgid "%s cannot run inside a subtransaction" msgstr "%s не может выполняться внутри подтранзакции" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3510 +#: access/transam/xact.c:3613 #, c-format msgid "%s cannot be executed within a pipeline" msgstr "%s нельзя выполнять в конвейере" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3520 +#: access/transam/xact.c:3623 #, c-format msgid "%s cannot be executed from a function" msgstr "%s нельзя выполнять внутри функции" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3591 access/transam/xact.c:3916 -#: access/transam/xact.c:3995 access/transam/xact.c:4118 -#: access/transam/xact.c:4269 access/transam/xact.c:4338 -#: access/transam/xact.c:4449 +#: 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 #, c-format msgid "%s can only be used in transaction blocks" msgstr "%s может выполняться только внутри блоков транзакций" -#: access/transam/xact.c:3802 +#: access/transam/xact.c:3905 #, c-format msgid "there is already a transaction in progress" msgstr "транзакция уже выполняется" -#: access/transam/xact.c:3921 access/transam/xact.c:4000 -#: access/transam/xact.c:4123 +#: access/transam/xact.c:4024 access/transam/xact.c:4103 +#: access/transam/xact.c:4226 #, c-format msgid "there is no transaction in progress" msgstr "нет незавершённой транзакции" -#: access/transam/xact.c:4011 +#: access/transam/xact.c:4114 #, c-format msgid "cannot commit during a parallel operation" msgstr "фиксировать транзакции во время параллельных операций нельзя" -#: access/transam/xact.c:4134 +#: access/transam/xact.c:4237 #, c-format msgid "cannot abort during a parallel operation" msgstr "прерывание во время параллельных операций невозможно" -#: access/transam/xact.c:4233 +#: access/transam/xact.c:4336 #, c-format msgid "cannot define savepoints during a parallel operation" msgstr "определять точки сохранения во время параллельных операций нельзя" -#: access/transam/xact.c:4320 +#: access/transam/xact.c:4423 #, c-format msgid "cannot release savepoints during a parallel operation" msgstr "высвобождать точки сохранения во время параллельных операций нельзя" -#: access/transam/xact.c:4330 access/transam/xact.c:4381 -#: access/transam/xact.c:4441 access/transam/xact.c:4490 +#: access/transam/xact.c:4433 access/transam/xact.c:4484 +#: access/transam/xact.c:4544 access/transam/xact.c:4593 #, c-format msgid "savepoint \"%s\" does not exist" msgstr "точка сохранения \"%s\" не существует" -#: access/transam/xact.c:4387 access/transam/xact.c:4496 +#: access/transam/xact.c:4490 access/transam/xact.c:4599 #, c-format msgid "savepoint \"%s\" does not exist within current savepoint level" msgstr "" "точка сохранения \"%s\" на текущем уровне точек сохранения не существует" -#: access/transam/xact.c:4429 +#: access/transam/xact.c:4532 #, c-format msgid "cannot rollback to savepoints during a parallel operation" msgstr "откатиться к точке сохранения во время параллельных операций нельзя" -#: access/transam/xact.c:4557 -#, c-format -msgid "cannot start subtransactions during a parallel operation" -msgstr "запускать подтранзакции во время параллельных операций нельзя" - -#: access/transam/xact.c:4625 -#, c-format -msgid "cannot commit subtransactions during a parallel operation" -msgstr "фиксировать подтранзакции во время параллельных операций нельзя" - -#: access/transam/xact.c:5271 +#: access/transam/xact.c:5376 #, c-format msgid "cannot have more than 2^32-1 subtransactions in a transaction" msgstr "в одной транзакции не может быть больше 2^32-1 подтранзакций" -#: access/transam/xlog.c:1468 +#: access/transam/xlog.c:1542 #, c-format msgid "" "request to flush past end of generated WAL; request %X/%X, current position " @@ -2544,55 +2782,78 @@ msgstr "" "запрос на сброс данных за концом сгенерированного WAL; запрошена позиция %X/" "%X, текущая позиция %X/%X" -#: access/transam/xlog.c:2230 +#: access/transam/xlog.c:1769 +#, 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 +#, 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:2228 +#, c-format +msgid "\"%s\" must be set to -1 during binary upgrade mode." +msgstr "Параметр \"%s\" должен быть равен -1 в режиме двоичного обновления." + +#: access/transam/xlog.c:2477 #, c-format -msgid "could not write to log file %s at offset %u, length %zu: %m" -msgstr "не удалось записать в файл журнала %s (смещение: %u, длина: %zu): %m" +msgid "could not write to log file \"%s\" at offset %u, length %zu: %m" +msgstr "" +"не удалось записать в файл журнала \"%s\" (смещение: %u, длина: %zu): %m" -#: access/transam/xlog.c:3457 access/transam/xlogutils.c:833 -#: replication/walsender.c:2725 +#: access/transam/xlog.c:3739 access/transam/xlogutils.c:831 +#: replication/walsender.c:3045 #, c-format msgid "requested WAL segment %s has already been removed" msgstr "запрошенный сегмент WAL %s уже удалён" -#: access/transam/xlog.c:3741 +#: access/transam/xlog.c:4061 #, c-format msgid "could not rename file \"%s\": %m" msgstr "не удалось переименовать файл \"%s\": %m" -#: access/transam/xlog.c:3783 access/transam/xlog.c:3793 +#: access/transam/xlog.c:4104 access/transam/xlog.c:4115 +#: access/transam/xlog.c:4136 #, c-format msgid "required WAL directory \"%s\" does not exist" msgstr "требуемый каталог WAL \"%s\" не существует" -#: access/transam/xlog.c:3799 +#: access/transam/xlog.c:4121 access/transam/xlog.c:4142 #, c-format msgid "creating missing WAL directory \"%s\"" msgstr "создаётся отсутствующий каталог WAL \"%s\"" -#: access/transam/xlog.c:3802 commands/dbcommands.c:3172 +#: access/transam/xlog.c:4125 access/transam/xlog.c:4145 +#: commands/dbcommands.c:3262 #, c-format msgid "could not create missing directory \"%s\": %m" msgstr "не удалось создать отсутствующий каталог \"%s\": %m" -#: access/transam/xlog.c:3869 +#: access/transam/xlog.c:4212 #, c-format msgid "could not generate secret authorization token" msgstr "не удалось сгенерировать случайное число для аутентификации" -#: access/transam/xlog.c:4019 access/transam/xlog.c:4028 -#: access/transam/xlog.c:4052 access/transam/xlog.c:4059 -#: access/transam/xlog.c:4066 access/transam/xlog.c:4071 -#: access/transam/xlog.c:4078 access/transam/xlog.c:4085 -#: access/transam/xlog.c:4092 access/transam/xlog.c:4099 -#: access/transam/xlog.c:4106 access/transam/xlog.c:4113 -#: access/transam/xlog.c:4122 access/transam/xlog.c:4129 -#: utils/init/miscinit.c:1769 +#: 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:4461 access/transam/xlog.c:4469 +#: access/transam/xlog.c:4479 access/transam/xlog.c:4487 +#: utils/init/miscinit.c:1758 #, c-format msgid "database files are incompatible with server" msgstr "файлы базы данных несовместимы с сервером" -#: access/transam/xlog.c:4020 +#: access/transam/xlog.c:4364 #, c-format msgid "" "The database cluster was initialized with PG_CONTROL_VERSION %d (0x%08x), " @@ -2601,7 +2862,7 @@ msgstr "" "Кластер баз данных был инициализирован с PG_CONTROL_VERSION %d (0x%08x), но " "сервер скомпилирован с PG_CONTROL_VERSION %d (0x%08x)." -#: access/transam/xlog.c:4024 +#: access/transam/xlog.c:4368 #, c-format msgid "" "This could be a problem of mismatched byte ordering. It looks like you need " @@ -2610,7 +2871,7 @@ msgstr "" "Возможно, проблема вызвана разным порядком байт. Кажется, вам надо выполнить " "initdb." -#: access/transam/xlog.c:4029 +#: access/transam/xlog.c:4374 #, c-format msgid "" "The database cluster was initialized with PG_CONTROL_VERSION %d, but the " @@ -2619,18 +2880,18 @@ msgstr "" "Кластер баз данных был инициализирован с PG_CONTROL_VERSION %d, но сервер " "скомпилирован с PG_CONTROL_VERSION %d." -#: access/transam/xlog.c:4032 access/transam/xlog.c:4056 -#: access/transam/xlog.c:4063 access/transam/xlog.c:4068 +#: access/transam/xlog.c:4377 access/transam/xlog.c:4403 +#: access/transam/xlog.c:4411 access/transam/xlog.c:4417 #, c-format msgid "It looks like you need to initdb." msgstr "Кажется, вам надо выполнить initdb." -#: access/transam/xlog.c:4043 +#: access/transam/xlog.c:4389 #, c-format msgid "incorrect checksum in control file" msgstr "ошибка контрольной суммы в файле pg_control" -#: access/transam/xlog.c:4053 +#: access/transam/xlog.c:4400 #, c-format msgid "" "The database cluster was initialized with CATALOG_VERSION_NO %d, but the " @@ -2639,7 +2900,7 @@ msgstr "" "Кластер баз данных был инициализирован с CATALOG_VERSION_NO %d, но сервер " "скомпилирован с CATALOG_VERSION_NO %d." -#: access/transam/xlog.c:4060 +#: access/transam/xlog.c:4408 #, c-format msgid "" "The database cluster was initialized with MAXALIGN %d, but the server was " @@ -2648,7 +2909,7 @@ msgstr "" "Кластер баз данных был инициализирован с MAXALIGN %d, но сервер " "скомпилирован с MAXALIGN %d." -#: access/transam/xlog.c:4067 +#: access/transam/xlog.c:4416 #, c-format msgid "" "The database cluster appears to use a different floating-point number format " @@ -2657,7 +2918,7 @@ msgstr "" "Кажется, в кластере баз данных и в программе сервера используются разные " "форматы чисел с плавающей точкой." -#: access/transam/xlog.c:4072 +#: access/transam/xlog.c:4422 #, c-format msgid "" "The database cluster was initialized with BLCKSZ %d, but the server was " @@ -2666,16 +2927,16 @@ msgstr "" "Кластер баз данных был инициализирован с BLCKSZ %d, но сервер скомпилирован " "с BLCKSZ %d." -#: access/transam/xlog.c:4075 access/transam/xlog.c:4082 -#: access/transam/xlog.c:4089 access/transam/xlog.c:4096 -#: access/transam/xlog.c:4103 access/transam/xlog.c:4110 -#: access/transam/xlog.c:4117 access/transam/xlog.c:4125 -#: access/transam/xlog.c:4132 +#: 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 #, c-format msgid "It looks like you need to recompile or initdb." msgstr "Кажется, вам надо перекомпилировать сервер или выполнить initdb." -#: access/transam/xlog.c:4079 +#: access/transam/xlog.c:4430 #, c-format msgid "" "The database cluster was initialized with RELSEG_SIZE %d, but the server was " @@ -2684,7 +2945,7 @@ msgstr "" "Кластер баз данных был инициализирован с RELSEG_SIZE %d, но сервер " "скомпилирован с RELSEG_SIZE %d." -#: access/transam/xlog.c:4086 +#: access/transam/xlog.c:4438 #, c-format msgid "" "The database cluster was initialized with XLOG_BLCKSZ %d, but the server was " @@ -2693,7 +2954,7 @@ msgstr "" "Кластер баз данных был инициализирован с XLOG_BLCKSZ %d, но сервер " "скомпилирован с XLOG_BLCKSZ %d." -#: access/transam/xlog.c:4093 +#: access/transam/xlog.c:4446 #, c-format msgid "" "The database cluster was initialized with NAMEDATALEN %d, but the server was " @@ -2702,7 +2963,7 @@ msgstr "" "Кластер баз данных был инициализирован с NAMEDATALEN %d, но сервер " "скомпилирован с NAMEDATALEN %d." -#: access/transam/xlog.c:4100 +#: access/transam/xlog.c:4454 #, c-format msgid "" "The database cluster was initialized with INDEX_MAX_KEYS %d, but the server " @@ -2711,7 +2972,7 @@ msgstr "" "Кластер баз данных был инициализирован с INDEX_MAX_KEYS %d, но сервер " "скомпилирован с INDEX_MAX_KEYS %d." -#: access/transam/xlog.c:4107 +#: access/transam/xlog.c:4462 #, c-format msgid "" "The database cluster was initialized with TOAST_MAX_CHUNK_SIZE %d, but the " @@ -2720,7 +2981,7 @@ msgstr "" "Кластер баз данных был инициализирован с TOAST_MAX_CHUNK_SIZE %d, но сервер " "скомпилирован с TOAST_MAX_CHUNK_SIZE %d." -#: access/transam/xlog.c:4114 +#: access/transam/xlog.c:4470 #, c-format msgid "" "The database cluster was initialized with LOBLKSIZE %d, but the server was " @@ -2729,7 +2990,7 @@ msgstr "" "Кластер баз данных был инициализирован с LOBLKSIZE %d, но сервер " "скомпилирован с LOBLKSIZE %d." -#: access/transam/xlog.c:4123 +#: access/transam/xlog.c:4480 #, c-format msgid "" "The database cluster was initialized without USE_FLOAT8_BYVAL but the server " @@ -2738,7 +2999,7 @@ msgstr "" "Кластер баз данных был инициализирован без USE_FLOAT8_BYVAL, но сервер " "скомпилирован с USE_FLOAT8_BYVAL." -#: access/transam/xlog.c:4130 +#: access/transam/xlog.c:4488 #, c-format msgid "" "The database cluster was initialized with USE_FLOAT8_BYVAL but the server " @@ -2747,107 +3008,100 @@ msgstr "" "Кластер баз данных был инициализирован с USE_FLOAT8_BYVAL, но сервер был " "скомпилирован без USE_FLOAT8_BYVAL." -#: access/transam/xlog.c:4139 +#: access/transam/xlog.c:4497 #, c-format -msgid "" -"WAL segment size must be a power of two between 1 MB and 1 GB, but the " -"control file specifies %d byte" -msgid_plural "" -"WAL segment size must be a power of two between 1 MB and 1 GB, but the " -"control file specifies %d bytes" -msgstr[0] "" -"размер сегмента WAL должен задаваться степенью 2 в интервале от 1 МБ до 1 " -"ГБ, но в управляющем файле указано значение: %d" -msgstr[1] "" -"размер сегмента WAL должен задаваться степенью 2 в интервале от 1 МБ до 1 " -"ГБ, но в управляющем файле указано значение: %d" -msgstr[2] "" -"размер сегмента WAL должен задаваться степенью 2 в интервале от 1 МБ до 1 " -"ГБ, но в управляющем файле указано значение: %d" +msgid "invalid WAL segment size in control file (%d byte)" +msgid_plural "invalid WAL segment size in control file (%d bytes)" +msgstr[0] "управляющий файл содержит неверный размер сегмента WAL (%d Б)" +msgstr[1] "управляющий файл содержит неверный размер сегмента WAL (%d Б)" +msgstr[2] "управляющий файл содержит неверный размер сегмента WAL (%d Б)" -#: access/transam/xlog.c:4151 +#: access/transam/xlog.c:4510 #, 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:4155 +#: access/transam/xlog.c:4514 #, 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:4310 catalog/namespace.c:4335 -#: commands/tablespace.c:1216 commands/user.c:2530 commands/variable.c:72 -#: utils/error/elog.c:2209 +#: access/transam/xlog.c:4662 catalog/namespace.c:4696 +#: commands/tablespace.c:1210 commands/user.c:2529 commands/variable.c:72 +#: replication/slot.c:2429 tcop/postgres.c:3715 utils/error/elog.c:2247 #, c-format msgid "List syntax is invalid." msgstr "Ошибка синтаксиса в списке." -#: access/transam/xlog.c:4356 commands/user.c:2546 commands/variable.c:173 -#: utils/error/elog.c:2235 +#: access/transam/xlog.c:4708 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:4770 +#: access/transam/xlog.c:5129 #, c-format msgid "could not write bootstrap write-ahead log file: %m" msgstr "не удалось записать начальный файл журнала предзаписи: %m" -#: access/transam/xlog.c:4778 +#: access/transam/xlog.c:5137 #, c-format msgid "could not fsync bootstrap write-ahead log file: %m" msgstr "не удалось сбросить на диск начальный файл журнала предзаписи: %m" -#: access/transam/xlog.c:4784 +#: access/transam/xlog.c:5143 #, c-format msgid "could not close bootstrap write-ahead log file: %m" msgstr "не удалось закрыть начальный файл журнала предзаписи: %m" -#: access/transam/xlog.c:5001 +#: access/transam/xlog.c:5368 #, c-format -msgid "WAL was generated with wal_level=minimal, cannot continue recovering" +msgid "" +"WAL was generated with \"wal_level=minimal\", cannot continue recovering" msgstr "" -"WAL был создан с параметром wal_level=minimal, продолжение восстановления " -"невозможно" +"WAL был создан с параметром \"wal_level=minimal\", продолжение " +"восстановления невозможно" -#: access/transam/xlog.c:5002 +#: access/transam/xlog.c:5369 #, c-format -msgid "This happens if you temporarily set wal_level=minimal on the server." -msgstr "Это происходит, если вы на время устанавливали wal_level=minimal." +msgid "" +"This happens if you temporarily set \"wal_level=minimal\" on the server." +msgstr "Это происходит, если вы на время устанавливали \"wal_level=minimal\"." -#: access/transam/xlog.c:5003 +#: access/transam/xlog.c:5370 #, c-format -msgid "Use a backup taken after setting wal_level to higher than minimal." +msgid "" +"Use a backup taken after setting \"wal_level\" to higher than \"minimal\"." msgstr "" -"Используйте резервную копию, сделанную после переключения wal_level на любой " -"уровень выше minimal." +"Используйте резервную копию, сделанную после переключения \"wal_level\" на " +"любой уровень выше \"minimal\"." -#: access/transam/xlog.c:5067 +#: access/transam/xlog.c:5435 #, c-format msgid "control file contains invalid checkpoint location" msgstr "файл pg_control содержит неправильную позицию контрольной точки" -#: access/transam/xlog.c:5078 +#: access/transam/xlog.c:5446 #, c-format msgid "database system was shut down at %s" msgstr "система БД была выключена: %s" -#: access/transam/xlog.c:5084 +#: access/transam/xlog.c:5452 #, c-format msgid "database system was shut down in recovery at %s" msgstr "система БД была выключена в процессе восстановления: %s" -#: access/transam/xlog.c:5090 +#: access/transam/xlog.c:5458 #, c-format msgid "database system shutdown was interrupted; last known up at %s" msgstr "выключение системы БД было прервано; последний момент работы: %s" -#: access/transam/xlog.c:5096 +#: access/transam/xlog.c:5464 #, c-format msgid "database system was interrupted while in recovery at %s" msgstr "работа системы БД была прервана во время восстановления: %s" -#: access/transam/xlog.c:5098 +#: access/transam/xlog.c:5466 #, c-format msgid "" "This probably means that some data is corrupted and you will have to use the " @@ -2856,14 +3110,14 @@ msgstr "" "Это скорее всего означает, что некоторые данные повреждены и вам придётся " "восстановить БД из последней резервной копии." -#: access/transam/xlog.c:5104 +#: access/transam/xlog.c:5472 #, c-format msgid "database system was interrupted while in recovery at log time %s" msgstr "" "работа системы БД была прервана в процессе восстановления, время в журнале: " "%s" -#: access/transam/xlog.c:5106 +#: access/transam/xlog.c:5474 #, c-format msgid "" "If this has occurred more than once some data might be corrupted and you " @@ -2872,22 +3126,22 @@ msgstr "" "Если это происходит постоянно, возможно, какие-то данные были испорчены и " "для восстановления стоит выбрать более раннюю точку." -#: access/transam/xlog.c:5112 +#: access/transam/xlog.c:5480 #, c-format msgid "database system was interrupted; last known up at %s" msgstr "работа системы БД была прервана; последний момент работы: %s" -#: access/transam/xlog.c:5118 +#: access/transam/xlog.c:5487 #, c-format msgid "control file contains invalid database cluster state" msgstr "файл pg_control содержит неверный код состояния кластера" -#: access/transam/xlog.c:5502 +#: access/transam/xlog.c:5875 #, c-format msgid "WAL ends before end of online backup" msgstr "WAL закончился без признака окончания копирования" -#: access/transam/xlog.c:5503 +#: access/transam/xlog.c:5876 #, c-format msgid "" "All WAL generated while online backup was taken must be available at " @@ -2896,40 +3150,40 @@ msgstr "" "Все журналы WAL, созданные во время резервного копирования \"на ходу\", " "должны быть в наличии для восстановления." -#: access/transam/xlog.c:5506 +#: access/transam/xlog.c:5880 #, c-format msgid "WAL ends before consistent recovery point" msgstr "WAL закончился до согласованной точки восстановления" -#: access/transam/xlog.c:5552 +#: access/transam/xlog.c:5926 #, c-format msgid "selected new timeline ID: %u" msgstr "выбранный ID новой линии времени: %u" -#: access/transam/xlog.c:5585 +#: access/transam/xlog.c:5959 #, c-format msgid "archive recovery complete" msgstr "восстановление архива завершено" -#: access/transam/xlog.c:6191 +#: access/transam/xlog.c:6612 #, c-format msgid "shutting down" msgstr "выключение" #. translator: the placeholders show checkpoint options -#: access/transam/xlog.c:6230 +#: access/transam/xlog.c:6651 #, 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:6242 +#: access/transam/xlog.c:6663 #, 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:6307 +#: access/transam/xlog.c:6728 #, c-format msgid "" "restartpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d " @@ -2944,7 +3198,7 @@ msgstr "" "lsn=%X/%X, lsn redo=%X/%X" # well-spelled: синхр -#: access/transam/xlog.c:6330 +#: access/transam/xlog.c:6751 #, c-format msgid "" "checkpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d " @@ -2958,7 +3212,7 @@ msgstr "" "=%ld.%03d сек., средняя=%ld.%03d сек.; расстояние=%d kB, ожидалось=%d kB; " "lsn=%X/%X, lsn redo=%X/%X" -#: access/transam/xlog.c:6768 +#: access/transam/xlog.c:7233 #, c-format msgid "" "concurrent write-ahead log activity while database system is shutting down" @@ -2966,111 +3220,119 @@ msgstr "" "во время выключения системы баз данных отмечена активность в журнале " "предзаписи" -#: access/transam/xlog.c:7329 +#: access/transam/xlog.c:7818 #, c-format msgid "recovery restart point at %X/%X" msgstr "точка перезапуска восстановления в позиции %X/%X" -#: access/transam/xlog.c:7331 +#: access/transam/xlog.c:7820 #, c-format msgid "Last completed transaction was at log time %s." msgstr "Последняя завершённая транзакция была выполнена в %s." -#: access/transam/xlog.c:7579 +#: access/transam/xlog.c:8082 #, c-format msgid "restore point \"%s\" created at %X/%X" msgstr "точка восстановления \"%s\" создана в позиции %X/%X" -#: access/transam/xlog.c:7786 +#: access/transam/xlog.c:8289 #, c-format msgid "online backup was canceled, recovery cannot continue" msgstr "" "резервное копирование \"на ходу\" было отменено, продолжить восстановление " "нельзя" -#: access/transam/xlog.c:7843 +#: access/transam/xlog.c:8347 #, c-format msgid "unexpected timeline ID %u (should be %u) in shutdown checkpoint record" msgstr "" "неожиданный ID линии времени %u (должен быть %u) в записи точки выключения" -#: access/transam/xlog.c:7901 +#: access/transam/xlog.c:8405 #, c-format msgid "unexpected timeline ID %u (should be %u) in online checkpoint record" msgstr "" "неожиданный ID линии времени %u (должен быть %u) в записи точки активности" -#: access/transam/xlog.c:7930 +#: access/transam/xlog.c:8434 #, c-format msgid "unexpected timeline ID %u (should be %u) in end-of-recovery record" msgstr "" "неожиданный ID линии времени %u (должен быть %u) в записи конец-" "восстановления" -#: access/transam/xlog.c:8197 +#: access/transam/xlog.c:8705 #, c-format msgid "could not fsync write-through file \"%s\": %m" msgstr "не удалось синхронизировать с ФС файл сквозной записи %s: %m" -#: access/transam/xlog.c:8202 +#: access/transam/xlog.c:8710 #, c-format msgid "could not fdatasync file \"%s\": %m" msgstr "не удалось синхронизировать с ФС данные (fdatasync) файла \"%s\": %m" -#: access/transam/xlog.c:8287 access/transam/xlog.c:8610 +#: access/transam/xlog.c:8797 access/transam/xlog.c:9133 #, c-format msgid "WAL level not sufficient for making an online backup" msgstr "" "Выбранный уровень WAL недостаточен для резервного копирования \"на ходу\"" -#: access/transam/xlog.c:8288 access/transam/xlog.c:8611 -#: access/transam/xlogfuncs.c:254 +#: access/transam/xlog.c:8798 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\" при запуске сервера." +msgid "" +"\"wal_level\" must be set to \"replica\" or \"logical\" at server start." +msgstr "" +"Параметр \"wal_level\" должен иметь значение \"replica\" или \"logical\" при " +"запуске сервера." -#: access/transam/xlog.c:8293 +#: access/transam/xlog.c:8803 #, c-format msgid "backup label too long (max %d bytes)" msgstr "длина метки резервной копии превышает предел (%d байт)" -#: access/transam/xlog.c:8414 +#: access/transam/xlog.c:8924 #, c-format msgid "" -"WAL generated with full_page_writes=off was replayed since last restartpoint" +"WAL generated with \"full_page_writes=off\" was replayed since last " +"restartpoint" msgstr "" -"После последней точки перезапуска был воспроизведён WAL, созданный в режиме " -"full_page_writes=off." +"после последней точки перезапуска был воспроизведён WAL, созданный в режиме " +"\"full_page_writes=off\"" -#: access/transam/xlog.c:8416 access/transam/xlog.c:8699 +#: access/transam/xlog.c:8926 access/transam/xlog.c:9222 #, 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." +"not be used. Enable \"full_page_writes\" and run CHECKPOINT on the primary, " +"and then try an online backup again." msgstr "" -"Это означает, что резервная копия, сделанная на дежурном сервере, испорчена " -"и использовать её не следует. Включите режим full_page_writes и выполните " +"Это означает, что резервная копия, сделанная на ведомом сервере, испорчена и " +"использовать её не следует. Включите режим \"full_page_writes\" и выполните " "CHECKPOINT на ведущем сервере, а затем попробуйте резервное копирование \"на " "ходу\" ещё раз." -#: access/transam/xlog.c:8483 backup/basebackup.c:1355 utils/adt/misc.c:354 +#: access/transam/xlog.c:9006 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:8490 backup/basebackup.c:1360 utils/adt/misc.c:359 +#: access/transam/xlog.c:9013 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:8649 backup/basebackup.c:1221 +#: access/transam/xlog.c:9134 +#, 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 #, c-format msgid "the standby was promoted during online backup" msgstr "" -"дежурный сервер был повышен в процессе резервного копирования \"на ходу\"" +"ведомый сервер был повышен в процессе резервного копирования \"на ходу\"" -#: access/transam/xlog.c:8650 backup/basebackup.c:1222 +#: access/transam/xlog.c:9173 backup/basebackup.c:1282 #, c-format msgid "" "This means that the backup being taken is corrupt and should not be used. " @@ -3079,21 +3341,21 @@ msgstr "" "Это означает, что создаваемая резервная копия испорчена и использовать её не " "следует. Попробуйте резервное копирование \"на ходу\" ещё раз." -#: access/transam/xlog.c:8697 +#: access/transam/xlog.c:9220 #, c-format msgid "" -"WAL generated with full_page_writes=off was replayed during online backup" +"WAL generated with \"full_page_writes=off\" was replayed during online backup" msgstr "" -"В процессе резервного копирования \"на ходу\" был воспроизведён WAL, " -"созданный в режиме full_page_writes=off" +"в процессе резервного копирования \"на ходу\" был воспроизведён WAL, " +"созданный в режиме \"full_page_writes=off\"" -#: access/transam/xlog.c:8813 +#: access/transam/xlog.c:9336 #, c-format msgid "base backup done, waiting for required WAL segments to be archived" msgstr "" "базовое копирование выполнено, ожидается архивация нужных сегментов WAL" -#: access/transam/xlog.c:8827 +#: access/transam/xlog.c:9350 #, c-format msgid "" "still waiting for all required WAL segments to be archived (%d seconds " @@ -3101,23 +3363,23 @@ msgid "" msgstr "" "продолжается ожидание архивации всех нужных сегментов WAL (прошло %d сек.)" -#: access/transam/xlog.c:8829 +#: access/transam/xlog.c:9352 #, c-format msgid "" -"Check that your archive_command is executing properly. You can safely " +"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. Операцию " +"Проверьте, правильно ли работает команда \"archive_command\". Операцию " "копирования можно отменить безопасно, но резервная копия базы будет " "непригодна без всех сегментов WAL." -#: access/transam/xlog.c:8836 +#: access/transam/xlog.c:9359 #, c-format msgid "all required WAL segments have been archived" msgstr "все нужные сегменты WAL заархивированы" -#: access/transam/xlog.c:8840 +#: access/transam/xlog.c:9363 #, c-format msgid "" "WAL archiving is not enabled; you must ensure that all required WAL segments " @@ -3126,31 +3388,31 @@ msgstr "" "архивация WAL не настроена; вы должны обеспечить копирование всех требуемых " "сегментов WAL другими средствами для получения резервной копии" -#: access/transam/xlog.c:8879 +#: access/transam/xlog.c:9402 #, c-format msgid "aborting backup due to backend exiting before pg_backup_stop was called" msgstr "" "прерывание резервного копирования из-за завершения обслуживающего процесса " "до вызова pg_backup_stop" -#: access/transam/xlogarchive.c:214 +#: access/transam/xlogarchive.c:213 #, c-format msgid "archive file \"%s\" has wrong size: %lld instead of %lld" msgstr "файл архива \"%s\" имеет неправильный размер: %lld вместо %lld" -#: access/transam/xlogarchive.c:223 +#: access/transam/xlogarchive.c:222 #, c-format msgid "restored log file \"%s\" from archive" msgstr "файл журнала \"%s\" восстановлен из архива" -#: access/transam/xlogarchive.c:237 +#: access/transam/xlogarchive.c:236 #, c-format -msgid "restore_command returned a zero exit status, but stat() failed." +msgid "\"restore_command\" returned a zero exit status, but stat() failed." msgstr "" -"Команда restore_command возвратила нулевой код состояния, но stat() выдала " -"ошибку." +"Команда \"restore_command\" возвратила нулевой код состояния, но stat() " +"выдала ошибку." -#: access/transam/xlogarchive.c:269 +#: access/transam/xlogarchive.c:268 #, c-format msgid "could not restore file \"%s\" from archive: %s" msgstr "восстановить файл \"%s\" из архива не удалось: %s" @@ -3158,109 +3420,120 @@ msgstr "восстановить файл \"%s\" из архива не удал #. translator: First %s represents a postgresql.conf parameter name like #. "recovery_end_command", the 2nd is the value of that parameter, the #. third an already translated error message. -#: access/transam/xlogarchive.c:347 +#: access/transam/xlogarchive.c:346 #, c-format msgid "%s \"%s\": %s" msgstr "%s \"%s\": %s" -#: access/transam/xlogarchive.c:457 access/transam/xlogarchive.c:537 +#: access/transam/xlogarchive.c:456 access/transam/xlogarchive.c:536 #, c-format msgid "could not create archive status file \"%s\": %m" msgstr "не удалось создать файл состояния архива \"%s\": %m" -#: access/transam/xlogarchive.c:465 access/transam/xlogarchive.c:545 +#: access/transam/xlogarchive.c:464 access/transam/xlogarchive.c:544 #, c-format msgid "could not write archive status file \"%s\": %m" msgstr "не удалось записать файл состояния архива \"%s\": %m" -#: access/transam/xlogfuncs.c:75 backup/basebackup.c:973 +#: access/transam/xlogfuncs.c:69 backup/basebackup.c:997 #, c-format msgid "a backup is already in progress in this session" msgstr "резервное копирование уже выполняется в этом сеансе" -#: access/transam/xlogfuncs.c:146 +#: access/transam/xlogfuncs.c:140 #, c-format msgid "backup is not in progress" msgstr "резервное копирование не выполняется" -#: access/transam/xlogfuncs.c:147 +#: access/transam/xlogfuncs.c:141 #, c-format msgid "Did you call pg_backup_start()?" msgstr "Вы вызывали pg_backup_start()?" -#: access/transam/xlogfuncs.c:190 access/transam/xlogfuncs.c:248 -#: access/transam/xlogfuncs.c:287 access/transam/xlogfuncs.c:308 -#: access/transam/xlogfuncs.c:329 +#: access/transam/xlogfuncs.c:184 access/transam/xlogfuncs.c:242 +#: access/transam/xlogfuncs.c:281 access/transam/xlogfuncs.c:302 +#: access/transam/xlogfuncs.c:323 #, c-format msgid "WAL control functions cannot be executed during recovery." msgstr "Функции управления WAL нельзя использовать в процессе восстановления." -#: access/transam/xlogfuncs.c:215 access/transam/xlogfuncs.c:399 -#: access/transam/xlogfuncs.c:457 +#: access/transam/xlogfuncs.c:209 access/transam/xlogfuncs.c:389 +#: access/transam/xlogfuncs.c:447 #, c-format msgid "%s cannot be executed during recovery." msgstr "выполнить %s во время восстановления нельзя." -#: access/transam/xlogfuncs.c:221 +#: access/transam/xlogfuncs.c:215 #, c-format -msgid "pg_log_standby_snapshot() can only be used if wal_level >= replica" +msgid "" +"pg_log_standby_snapshot() can only be used if \"wal_level\" >= \"replica\"" msgstr "" -"pg_log_standby_snapshot() можно использовать, только если wal_level >= " -"replica" +"pg_log_standby_snapshot() можно использовать, только если \"wal_level\" >= " +"\"replica\"" -#: access/transam/xlogfuncs.c:253 +#: access/transam/xlogfuncs.c:247 #, c-format msgid "WAL level not sufficient for creating a restore point" msgstr "Выбранный уровень WAL не достаточен для создания точки восстановления" # well-spelled: симв -#: access/transam/xlogfuncs.c:261 +#: access/transam/xlogfuncs.c:255 #, c-format msgid "value too long for restore point (maximum %d characters)" msgstr "значение для точки восстановления превышает предел (%d симв.)" -#: access/transam/xlogfuncs.c:496 +#: access/transam/xlogfuncs.c:486 #, c-format msgid "invalid WAL file name \"%s\"" msgstr "неправильное имя файла WAL \"%s\"" -#: access/transam/xlogfuncs.c:532 access/transam/xlogfuncs.c:562 -#: access/transam/xlogfuncs.c:586 access/transam/xlogfuncs.c:609 -#: access/transam/xlogfuncs.c:689 +#: access/transam/xlogfuncs.c:522 access/transam/xlogfuncs.c:552 +#: access/transam/xlogfuncs.c:576 access/transam/xlogfuncs.c:599 +#: access/transam/xlogfuncs.c:679 #, c-format msgid "recovery is not in progress" msgstr "восстановление не выполняется" -#: access/transam/xlogfuncs.c:533 access/transam/xlogfuncs.c:563 -#: access/transam/xlogfuncs.c:587 access/transam/xlogfuncs.c:610 -#: access/transam/xlogfuncs.c:690 +#: access/transam/xlogfuncs.c:523 access/transam/xlogfuncs.c:553 +#: access/transam/xlogfuncs.c:577 access/transam/xlogfuncs.c:600 +#: access/transam/xlogfuncs.c:680 #, c-format msgid "Recovery control functions can only be executed during recovery." msgstr "" "Функции управления восстановлением можно использовать только в процессе " "восстановления." -#: access/transam/xlogfuncs.c:538 access/transam/xlogfuncs.c:568 +#: access/transam/xlogfuncs.c:528 access/transam/xlogfuncs.c:558 #, c-format msgid "standby promotion is ongoing" msgstr "производится повышение ведомого" -#: access/transam/xlogfuncs.c:539 access/transam/xlogfuncs.c:569 +#: access/transam/xlogfuncs.c:529 access/transam/xlogfuncs.c:559 #, c-format msgid "%s cannot be executed after promotion is triggered." msgstr "%s нельзя выполнять, когда производится повышение." -#: access/transam/xlogfuncs.c:695 +#: access/transam/xlogfuncs.c:685 #, c-format msgid "\"wait_seconds\" must not be negative or zero" msgstr "значение \"wait_seconds\" не должно быть отрицательным или нулевым" -#: access/transam/xlogfuncs.c:715 storage/ipc/signalfuncs.c:265 +#: access/transam/xlogfuncs.c:707 storage/ipc/signalfuncs.c:265 #, c-format msgid "failed to send signal to postmaster: %m" msgstr "отправить сигнал процессу postmaster не удалось: %m" -#: access/transam/xlogfuncs.c:751 +#: access/transam/xlogfuncs.c:739 libpq/be-secure.c:237 libpq/be-secure.c:346 +#, c-format +msgid "terminating connection due to unexpected postmaster exit" +msgstr "закрытие подключения из-за неожиданного завершения главного процесса" + +#: access/transam/xlogfuncs.c:740 +#, c-format +msgid "while waiting on promotion" +msgstr "в процессе ожидания повышения" + +#: access/transam/xlogfuncs.c:744 #, c-format msgid "server did not promote within %d second" msgid_plural "server did not promote within %d seconds" @@ -3268,71 +3541,72 @@ msgstr[0] "повышение сервера не завершилось за %d msgstr[1] "повышение сервера не завершилось за %d секунды" msgstr[2] "повышение сервера не завершилось за %d секунд" -#: access/transam/xlogprefetcher.c:1092 +#: access/transam/xlogprefetcher.c:1088 #, c-format msgid "" -"recovery_prefetch is not supported on platforms that lack posix_fadvise()." +"\"recovery_prefetch\" is not supported on platforms that lack " +"posix_fadvise()." msgstr "" -"recovery_prefetch не поддерживается на платформах, где отсутствует " +"\"recovery_prefetch\" не поддерживается на платформах, где отсутствует " "posix_fadvise()." -#: access/transam/xlogreader.c:621 +#: access/transam/xlogreader.c:619 #, c-format msgid "invalid record offset at %X/%X: expected at least %u, got %u" msgstr "" "неверное смещение записи в позиции %X/%X: ожидалось минимум %u, получено %u" -#: access/transam/xlogreader.c:630 +#: access/transam/xlogreader.c:628 #, c-format msgid "contrecord is requested by %X/%X" msgstr "в позиции %X/%X запрошено продолжение записи" -#: access/transam/xlogreader.c:671 access/transam/xlogreader.c:1136 +#: access/transam/xlogreader.c:669 access/transam/xlogreader.c:1134 #, c-format msgid "invalid record length at %X/%X: expected at least %u, got %u" msgstr "" "неверная длина записи в позиции %X/%X: ожидалось минимум %u, получено %u" -#: access/transam/xlogreader.c:760 +#: access/transam/xlogreader.c:758 #, c-format msgid "there is no contrecord flag at %X/%X" msgstr "нет флага contrecord в позиции %X/%X" -#: access/transam/xlogreader.c:773 +#: access/transam/xlogreader.c:771 #, c-format msgid "invalid contrecord length %u (expected %lld) at %X/%X" msgstr "неверная длина contrecord: %u (ожидалась %lld) в позиции %X/%X" -#: access/transam/xlogreader.c:1144 +#: access/transam/xlogreader.c:1142 #, c-format msgid "invalid resource manager ID %u at %X/%X" msgstr "неверный ID менеджера ресурсов %u в позиции %X/%X" -#: access/transam/xlogreader.c:1157 access/transam/xlogreader.c:1173 +#: access/transam/xlogreader.c:1155 access/transam/xlogreader.c:1171 #, c-format msgid "record with incorrect prev-link %X/%X at %X/%X" msgstr "запись с неверной ссылкой назад %X/%X в позиции %X/%X" -#: access/transam/xlogreader.c:1211 +#: access/transam/xlogreader.c:1209 #, c-format msgid "incorrect resource manager data checksum in record at %X/%X" msgstr "" "некорректная контрольная сумма данных менеджера ресурсов в записи в позиции " "%X/%X" -#: access/transam/xlogreader.c:1245 +#: access/transam/xlogreader.c:1243 #, 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:1260 access/transam/xlogreader.c:1302 +#: access/transam/xlogreader.c:1258 access/transam/xlogreader.c:1300 #, 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:1276 +#: access/transam/xlogreader.c:1274 #, c-format msgid "" "WAL file is from different database system: WAL file database system " @@ -3341,7 +3615,7 @@ msgstr "" "файл WAL принадлежит другой СУБД: в нём указан идентификатор системы БД " "%llu, а идентификатор системы pg_control: %llu" -#: access/transam/xlogreader.c:1284 +#: access/transam/xlogreader.c:1282 #, c-format msgid "" "WAL file is from different database system: incorrect segment size in page " @@ -3350,7 +3624,7 @@ msgstr "" "файл WAL принадлежит другой СУБД: некорректный размер сегмента в заголовке " "страницы" -#: access/transam/xlogreader.c:1290 +#: access/transam/xlogreader.c:1288 #, c-format msgid "" "WAL file is from different database system: incorrect XLOG_BLCKSZ in page " @@ -3359,12 +3633,12 @@ msgstr "" "файл WAL принадлежит другой СУБД: некорректный XLOG_BLCKSZ в заголовке " "страницы" -#: access/transam/xlogreader.c:1322 +#: access/transam/xlogreader.c:1320 #, 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:1348 +#: access/transam/xlogreader.c:1346 #, c-format msgid "" "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, " @@ -3373,23 +3647,23 @@ msgstr "" "нарушение последовательности ID линии времени %u (после %u) в сегменте WAL " "%s, LSN %X/%X, смещение %u" -#: access/transam/xlogreader.c:1754 +#: access/transam/xlogreader.c:1749 #, c-format msgid "out-of-order block_id %u at %X/%X" msgstr "идентификатор блока %u идёт не по порядку в позиции %X/%X" -#: access/transam/xlogreader.c:1778 +#: access/transam/xlogreader.c:1773 #, c-format msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X" msgstr "BKPBLOCK_HAS_DATA установлен, но данных в позиции %X/%X нет" -#: access/transam/xlogreader.c:1785 +#: access/transam/xlogreader.c:1780 #, 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:1821 +#: access/transam/xlogreader.c:1816 #, c-format msgid "" "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at " @@ -3398,21 +3672,21 @@ msgstr "" "BKPIMAGE_HAS_HOLE установлен, но для пропуска заданы смещение %u и длина %u " "при длине образа блока %u в позиции %X/%X" -#: access/transam/xlogreader.c:1837 +#: access/transam/xlogreader.c:1832 #, 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:1851 +#: access/transam/xlogreader.c:1846 #, c-format msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X" msgstr "" "BKPIMAGE_COMPRESSED установлен, но длина образа блока равна %u в позиции %X/" "%X" -#: access/transam/xlogreader.c:1866 +#: access/transam/xlogreader.c:1861 #, c-format msgid "" "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image " @@ -3421,41 +3695,41 @@ msgstr "" "ни BKPIMAGE_HAS_HOLE, ни BKPIMAGE_COMPRESSED не установлены, но длина образа " "блока равна %u в позиции %X/%X" -#: access/transam/xlogreader.c:1882 +#: access/transam/xlogreader.c:1877 #, c-format msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X" msgstr "" "BKPBLOCK_SAME_REL установлен, но предыдущее значение не задано в позиции %X/" "%X" -#: access/transam/xlogreader.c:1894 +#: access/transam/xlogreader.c:1889 #, c-format msgid "invalid block_id %u at %X/%X" msgstr "неверный идентификатор блока %u в позиции %X/%X" -#: access/transam/xlogreader.c:1961 +#: access/transam/xlogreader.c:1956 #, c-format msgid "record with invalid length at %X/%X" msgstr "запись с неверной длиной в позиции %X/%X" -#: access/transam/xlogreader.c:1987 +#: access/transam/xlogreader.c:1982 #, c-format msgid "could not locate backup block with ID %d in WAL record" msgstr "не удалось найти копию блока с ID %d в записи журнала WAL" -#: access/transam/xlogreader.c:2071 +#: access/transam/xlogreader.c:2066 #, c-format msgid "could not restore image at %X/%X with invalid block %d specified" msgstr "" "не удалось восстановить образ в позиции %X/%X с указанным неверным блоком %d" -#: access/transam/xlogreader.c:2078 +#: access/transam/xlogreader.c:2073 #, c-format msgid "could not restore image at %X/%X with invalid state, block %d" msgstr "" "не удалось восстановить образ в позиции %X/%X с неверным состоянием, блок %d" -#: access/transam/xlogreader.c:2105 access/transam/xlogreader.c:2122 +#: access/transam/xlogreader.c:2100 access/transam/xlogreader.c:2117 #, c-format msgid "" "could not restore image at %X/%X compressed with %s not supported by build, " @@ -3464,7 +3738,7 @@ msgstr "" "не удалось восстановить образ в позиции %X/%X, сжатый методом %s, который не " "поддерживается этой сборкой, блок %d" -#: access/transam/xlogreader.c:2131 +#: access/transam/xlogreader.c:2126 #, c-format msgid "" "could not restore image at %X/%X compressed with unknown method, block %d" @@ -3472,49 +3746,12 @@ msgstr "" "не удалось восстановить образ в позиции %X/%X, сжатый неизвестным методом, " "блок %d" -#: access/transam/xlogreader.c:2139 +#: access/transam/xlogreader.c:2134 #, c-format msgid "could not decompress image at %X/%X, block %d" msgstr "не удалось развернуть образ в позиции %X/%X, блок %d" -#: access/transam/xlogrecovery.c:547 -#, c-format -msgid "entering standby mode" -msgstr "переход в режим резервного сервера" - -#: access/transam/xlogrecovery.c:550 -#, c-format -msgid "starting point-in-time recovery to XID %u" -msgstr "начинается восстановление точки во времени до XID %u" - -#: access/transam/xlogrecovery.c:554 -#, c-format -msgid "starting point-in-time recovery to %s" -msgstr "начинается восстановление точки во времени до %s" - -#: access/transam/xlogrecovery.c:558 -#, c-format -msgid "starting point-in-time recovery to \"%s\"" -msgstr "начинается восстановление точки во времени до \"%s\"" - -#: access/transam/xlogrecovery.c:562 -#, c-format -msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%X\"" -msgstr "" -"начинается восстановление точки во времени до позиции в WAL (LSN) \"%X/%X\"" - -#: access/transam/xlogrecovery.c:566 -#, c-format -msgid "starting point-in-time recovery to earliest consistent point" -msgstr "" -"начинается восстановление точки во времени до первой точки согласованности" - -#: access/transam/xlogrecovery.c:569 -#, c-format -msgid "starting archive recovery" -msgstr "начинается восстановление архива" - -#: access/transam/xlogrecovery.c:637 +#: access/transam/xlogrecovery.c:617 #, c-format msgid "" "starting backup recovery with redo LSN %X/%X, checkpoint LSN %X/%X, on " @@ -3523,68 +3760,108 @@ msgstr "" "начинается восстановление копии с LSN redo %X/%X, LSN контрольной точки %X/" "%X, на линии времени %u" -#: access/transam/xlogrecovery.c:669 +#: access/transam/xlogrecovery.c:649 #, c-format -msgid "could not find redo location referenced by checkpoint record" -msgstr "не удалось найти положение REDO, указанное записью контрольной точки" +msgid "" +"could not find redo location %X/%X referenced by checkpoint record at %X/%X" +msgstr "" +"не удалось найти положение REDO %X/%X, указанное в записи контрольной точки " +"в %X/%X" -#: access/transam/xlogrecovery.c:670 access/transam/xlogrecovery.c:680 +#: access/transam/xlogrecovery.c:651 access/transam/xlogrecovery.c:662 #, c-format msgid "" -"If you are restoring from a backup, touch \"%s/recovery.signal\" and add " -"required recovery options.\n" +"If you are restoring from a backup, touch \"%s/recovery.signal\" or \"%s/" +"standby.signal\" and add required recovery options.\n" "If you are not restoring from a backup, try removing the file \"%s/" "backup_label\".\n" "Be careful: removing \"%s/backup_label\" will result in a corrupt cluster if " "restoring from a backup." msgstr "" -"Если вы восстанавливаете резервную копию, создайте \"%s/recovery.signal\" и " -"задайте обязательные параметры восстановления.\n" +"Если вы восстанавливаете резервную копию, создайте \"%s/recovery.signal\" " +"или \"%s/standby.signal\" и задайте обязательные параметры восстановления.\n" "В других случаях попытайтесь удалить файл \"%s/backup_label\".\n" "Будьте осторожны: при восстановлении резервной копии удаление \"%s/" "backup_label\" приведёт к повреждению кластера." -#: access/transam/xlogrecovery.c:679 +#: access/transam/xlogrecovery.c:660 #, c-format -msgid "could not locate required checkpoint record" -msgstr "не удалось считать нужную запись контрольной точки" +msgid "could not locate required checkpoint record at %X/%X" +msgstr "не удалось найти нужную запись контрольной точки в %X/%X" -#: access/transam/xlogrecovery.c:708 commands/tablespace.c:670 +#: access/transam/xlogrecovery.c:690 commands/tablespace.c:664 #, c-format msgid "could not create symbolic link \"%s\": %m" msgstr "не удалось создать символическую ссылку \"%s\": %m" -#: access/transam/xlogrecovery.c:740 access/transam/xlogrecovery.c:746 +#: access/transam/xlogrecovery.c:723 access/transam/xlogrecovery.c:729 #, c-format msgid "ignoring file \"%s\" because no file \"%s\" exists" msgstr "файл \"%s\" игнорируется ввиду отсутствия файла \"%s\"" -#: access/transam/xlogrecovery.c:742 +#: access/transam/xlogrecovery.c:725 #, c-format msgid "File \"%s\" was renamed to \"%s\"." msgstr "Файл \"%s\" был переименован в \"%s\"." -#: access/transam/xlogrecovery.c:748 +#: access/transam/xlogrecovery.c:731 #, c-format msgid "Could not rename file \"%s\" to \"%s\": %m." msgstr "Не удалось переименовать файл \"%s\" в \"%s\" (%m)." -#: access/transam/xlogrecovery.c:787 +#: access/transam/xlogrecovery.c:770 #, c-format msgid "restarting backup recovery with redo LSN %X/%X" msgstr "перезапуск восстановления копии с LSN redo %X/%X" -#: access/transam/xlogrecovery.c:812 +#: access/transam/xlogrecovery.c:795 +#, c-format +msgid "could not locate a valid checkpoint record at %X/%X" +msgstr "не удалось найти корректную запись контрольной точки в %X/%X" + +#: access/transam/xlogrecovery.c:806 +#, c-format +msgid "entering standby mode" +msgstr "переход в режим резервного сервера" + +#: access/transam/xlogrecovery.c:809 +#, c-format +msgid "starting point-in-time recovery to XID %u" +msgstr "начинается восстановление точки во времени до XID %u" + +#: access/transam/xlogrecovery.c:813 +#, c-format +msgid "starting point-in-time recovery to %s" +msgstr "начинается восстановление точки во времени до %s" + +#: access/transam/xlogrecovery.c:817 +#, c-format +msgid "starting point-in-time recovery to \"%s\"" +msgstr "начинается восстановление точки во времени до \"%s\"" + +#: access/transam/xlogrecovery.c:821 +#, c-format +msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%X\"" +msgstr "" +"начинается восстановление точки во времени до позиции в WAL (LSN) \"%X/%X\"" + +#: access/transam/xlogrecovery.c:825 #, c-format -msgid "could not locate a valid checkpoint record" -msgstr "не удалось считать правильную запись контрольной точки" +msgid "starting point-in-time recovery to earliest consistent point" +msgstr "" +"начинается восстановление точки во времени до первой точки согласованности" + +#: access/transam/xlogrecovery.c:828 +#, c-format +msgid "starting archive recovery" +msgstr "начинается восстановление архива" -#: access/transam/xlogrecovery.c:836 +#: access/transam/xlogrecovery.c:849 #, c-format msgid "requested timeline %u is not a child of this server's history" msgstr "в истории сервера нет ответвления запрошенной линии времени %u" -#: access/transam/xlogrecovery.c:838 +#: access/transam/xlogrecovery.c:851 #, c-format msgid "" "Latest checkpoint is at %X/%X on timeline %u, but in the history of the " @@ -3593,7 +3870,7 @@ msgstr "" "Последняя контрольная точка: %X/%X на линии времени %u, но в истории " "запрошенной линии времени сервер ответвился с этой линии в %X/%X." -#: access/transam/xlogrecovery.c:852 +#: access/transam/xlogrecovery.c:865 #, c-format msgid "" "requested timeline %u does not contain minimum recovery point %X/%X on " @@ -3602,22 +3879,22 @@ msgstr "" "запрошенная линия времени %u не содержит минимальную точку восстановления %X/" "%X на линии времени %u" -#: access/transam/xlogrecovery.c:880 +#: access/transam/xlogrecovery.c:893 #, c-format msgid "invalid next transaction ID" msgstr "неверный ID следующей транзакции" -#: access/transam/xlogrecovery.c:885 +#: access/transam/xlogrecovery.c:898 #, c-format msgid "invalid redo in checkpoint record" msgstr "неверная запись REDO в контрольной точке" -#: access/transam/xlogrecovery.c:896 +#: access/transam/xlogrecovery.c:909 #, c-format msgid "invalid redo record in shutdown checkpoint" msgstr "неверная запись REDO в контрольной точке выключения" -#: access/transam/xlogrecovery.c:925 +#: access/transam/xlogrecovery.c:938 #, c-format msgid "" "database system was not properly shut down; automatic recovery in progress" @@ -3625,19 +3902,19 @@ msgstr "" "система БД была остановлена нештатно; производится автоматическое " "восстановление" -#: access/transam/xlogrecovery.c:929 +#: access/transam/xlogrecovery.c:942 #, c-format msgid "crash recovery starts in timeline %u and has target timeline %u" msgstr "" "восстановление после сбоя начинается на линии времени %u, целевая линия " "времени: %u" -#: access/transam/xlogrecovery.c:972 +#: access/transam/xlogrecovery.c:985 #, c-format msgid "backup_label contains data inconsistent with control file" msgstr "backup_label содержит данные, не согласованные с файлом pg_control" -#: access/transam/xlogrecovery.c:973 +#: access/transam/xlogrecovery.c:986 #, c-format msgid "" "This means that the backup is corrupted and you will have to use another " @@ -3646,24 +3923,24 @@ msgstr "" "Это означает, что резервная копия повреждена и для восстановления БД " "придётся использовать другую копию." -#: access/transam/xlogrecovery.c:1027 +#: access/transam/xlogrecovery.c:1040 #, c-format msgid "using recovery command file \"%s\" is not supported" msgstr "" "использование файла с конфигурацией восстановления \"%s\" не поддерживается" -#: access/transam/xlogrecovery.c:1092 +#: access/transam/xlogrecovery.c:1105 #, c-format msgid "standby mode is not supported by single-user servers" msgstr "" "режим резервного сервера не поддерживается однопользовательским сервером" -#: access/transam/xlogrecovery.c:1109 +#: access/transam/xlogrecovery.c:1122 #, c-format -msgid "specified neither primary_conninfo nor restore_command" -msgstr "не указано ни primary_conninfo, ни restore_command" +msgid "specified neither \"primary_conninfo\" nor \"restore_command\"" +msgstr "не указано ни \"primary_conninfo\", ни \"restore_command\"" -#: access/transam/xlogrecovery.c:1110 +#: access/transam/xlogrecovery.c:1123 #, c-format msgid "" "The database server will regularly poll the pg_wal subdirectory to check for " @@ -3672,111 +3949,128 @@ msgstr "" "Сервер БД будет регулярно опрашивать подкаталог pg_wal и проверять " "содержащиеся в нём файлы." -#: access/transam/xlogrecovery.c:1118 +#: access/transam/xlogrecovery.c:1131 #, c-format -msgid "must specify restore_command when standby mode is not enabled" +msgid "must specify \"restore_command\" when standby mode is not enabled" msgstr "" -"необходимо задать restore_command, если не выбран режим резервного сервера" +"необходимо задать \"restore_command\", если не выбран режим резервного " +"сервера" -#: access/transam/xlogrecovery.c:1156 +#: access/transam/xlogrecovery.c:1169 #, c-format msgid "recovery target timeline %u does not exist" msgstr "целевая линия времени для восстановления %u не существует" -#: access/transam/xlogrecovery.c:1239 access/transam/xlogrecovery.c:1246 -#: access/transam/xlogrecovery.c:1305 access/transam/xlogrecovery.c:1385 -#: access/transam/xlogrecovery.c:1409 +#: 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 #, c-format msgid "invalid data in file \"%s\"" msgstr "неверные данные в файле \"%s\"" -#: access/transam/xlogrecovery.c:1306 +#: access/transam/xlogrecovery.c:1319 #, c-format msgid "Timeline ID parsed is %u, but expected %u." msgstr "Получен идентификатор линии времени %u, но ожидался %u." -#: access/transam/xlogrecovery.c:1688 +#: access/transam/xlogrecovery.c:1330 +#, c-format +msgid "this is an incremental backup, not a data directory" +msgstr "это каталог инкрементальной копии, не каталог данных" + +#: access/transam/xlogrecovery.c:1331 +#, c-format +msgid "Use pg_combinebackup to reconstruct a valid data directory." +msgstr "" +"Реконструируйте полноценный каталог данных, используя pg_combinebackup." + +#: access/transam/xlogrecovery.c:1717 +#, c-format +msgid "unexpected record type found at redo point %X/%X" +msgstr "в точке redo %X/%X обнаружена запись неожиданного типа" + +#: access/transam/xlogrecovery.c:1740 #, c-format msgid "redo starts at %X/%X" msgstr "запись REDO начинается со смещения %X/%X" -#: access/transam/xlogrecovery.c:1701 +#: access/transam/xlogrecovery.c:1753 #, 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:1793 +#: access/transam/xlogrecovery.c:1843 #, c-format msgid "requested recovery stop point is before consistent recovery point" msgstr "" "запрошенная точка остановки восстановления предшествует согласованной точке " "восстановления" -#: access/transam/xlogrecovery.c:1825 +#: access/transam/xlogrecovery.c:1875 #, c-format msgid "redo done at %X/%X system usage: %s" msgstr "записи REDO обработаны до смещения %X/%X, нагрузка системы: %s" -#: access/transam/xlogrecovery.c:1831 +#: access/transam/xlogrecovery.c:1881 #, c-format msgid "last completed transaction was at log time %s" msgstr "последняя завершённая транзакция была выполнена в %s" -#: access/transam/xlogrecovery.c:1840 +#: access/transam/xlogrecovery.c:1890 #, c-format msgid "redo is not required" msgstr "данные REDO не требуются" -#: access/transam/xlogrecovery.c:1851 +#: access/transam/xlogrecovery.c:1901 #, c-format msgid "recovery ended before configured recovery target was reached" msgstr "восстановление окончилось до достижения заданной цели восстановления" -#: access/transam/xlogrecovery.c:2045 +#: access/transam/xlogrecovery.c:2095 #, c-format msgid "successfully skipped missing contrecord at %X/%X, overwritten at %s" msgstr "" "успешно пропущена отсутствующая запись contrecord в %X/%X, перезаписанная в " "%s" -#: access/transam/xlogrecovery.c:2112 +#: access/transam/xlogrecovery.c:2162 #, c-format msgid "unexpected directory entry \"%s\" found in %s" msgstr "в %2$s обнаружен недопустимый элемент-каталог \"%1$s\"" -#: access/transam/xlogrecovery.c:2114 +#: access/transam/xlogrecovery.c:2164 #, c-format msgid "All directory entries in pg_tblspc/ should be symbolic links." msgstr "" "Все элементы-каталоги в pg_tblspc/ должны быть символическими ссылками." -#: access/transam/xlogrecovery.c:2115 +#: access/transam/xlogrecovery.c:2165 #, c-format msgid "" -"Remove those directories, or set allow_in_place_tablespaces to ON " +"Remove those directories, or set \"allow_in_place_tablespaces\" to ON " "transiently to let recovery complete." msgstr "" -"Удалите эти каталоги или на время установите в allow_in_place_tablespaces " -"значение ON, чтобы восстановление завершилось." +"Удалите эти каталоги или на время установите в " +"\"allow_in_place_tablespaces\" значение ON, чтобы восстановление завершилось." -#: access/transam/xlogrecovery.c:2167 +#: access/transam/xlogrecovery.c:2217 #, 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:2197 +#: access/transam/xlogrecovery.c:2247 #, c-format msgid "consistent recovery state reached at %X/%X" msgstr "согласованное состояние восстановления достигнуто в позиции %X/%X" #. translator: %s is a WAL record description -#: access/transam/xlogrecovery.c:2235 +#: access/transam/xlogrecovery.c:2285 #, c-format msgid "WAL redo at %X/%X for %s" msgstr "запись REDO в WAL в позиции %X/%X для %s" -#: access/transam/xlogrecovery.c:2333 +#: access/transam/xlogrecovery.c:2383 #, c-format msgid "" "unexpected previous timeline ID %u (current timeline ID %u) in checkpoint " @@ -3785,13 +4079,13 @@ msgstr "" "неожиданный ID предыдущей линии времени %u (ID текущей линии времени %u) в " "записи контрольной точки" -#: access/transam/xlogrecovery.c:2342 +#: access/transam/xlogrecovery.c:2392 #, 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:2358 +#: access/transam/xlogrecovery.c:2408 #, c-format msgid "" "unexpected timeline ID %u in checkpoint record, before reaching minimum " @@ -3800,83 +4094,83 @@ msgstr "" "неожиданный ID линии времени %u в записи контрольной точки, до достижения " "минимальной к. т. %X/%X на линии времени %u" -#: access/transam/xlogrecovery.c:2542 access/transam/xlogrecovery.c:2818 +#: access/transam/xlogrecovery.c:2592 access/transam/xlogrecovery.c:2868 #, c-format msgid "recovery stopping after reaching consistency" msgstr "" "восстановление останавливается после достижения согласованного состояния" -#: access/transam/xlogrecovery.c:2563 +#: access/transam/xlogrecovery.c:2613 #, c-format msgid "recovery stopping before WAL location (LSN) \"%X/%X\"" msgstr "восстановление останавливается перед позицией в WAL (LSN) \"%X/%X\"" -#: access/transam/xlogrecovery.c:2653 +#: access/transam/xlogrecovery.c:2703 #, c-format msgid "recovery stopping before commit of transaction %u, time %s" msgstr "" "восстановление останавливается перед фиксированием транзакции %u, время %s" -#: access/transam/xlogrecovery.c:2660 +#: access/transam/xlogrecovery.c:2710 #, c-format msgid "recovery stopping before abort of transaction %u, time %s" msgstr "" "восстановление останавливается перед прерыванием транзакции %u, время %s" -#: access/transam/xlogrecovery.c:2713 +#: access/transam/xlogrecovery.c:2763 #, c-format msgid "recovery stopping at restore point \"%s\", time %s" msgstr "восстановление останавливается в точке восстановления \"%s\", время %s" -#: access/transam/xlogrecovery.c:2731 +#: access/transam/xlogrecovery.c:2781 #, c-format msgid "recovery stopping after WAL location (LSN) \"%X/%X\"" msgstr "восстановление останавливается после позиции в WAL (LSN) \"%X/%X\"" -#: access/transam/xlogrecovery.c:2798 +#: access/transam/xlogrecovery.c:2848 #, c-format msgid "recovery stopping after commit of transaction %u, time %s" msgstr "" "восстановление останавливается после фиксирования транзакции %u, время %s" -#: access/transam/xlogrecovery.c:2806 +#: access/transam/xlogrecovery.c:2856 #, c-format msgid "recovery stopping after abort of transaction %u, time %s" msgstr "" "восстановление останавливается после прерывания транзакции %u, время %s" -#: access/transam/xlogrecovery.c:2887 +#: access/transam/xlogrecovery.c:2937 #, c-format msgid "pausing at the end of recovery" msgstr "остановка в конце восстановления" -#: access/transam/xlogrecovery.c:2888 +#: access/transam/xlogrecovery.c:2938 #, c-format msgid "Execute pg_wal_replay_resume() to promote." msgstr "Выполните pg_wal_replay_resume() для повышения." -#: access/transam/xlogrecovery.c:2891 access/transam/xlogrecovery.c:4628 +#: access/transam/xlogrecovery.c:2941 access/transam/xlogrecovery.c:4678 #, c-format msgid "recovery has paused" msgstr "восстановление приостановлено" -#: access/transam/xlogrecovery.c:2892 +#: access/transam/xlogrecovery.c:2942 #, c-format msgid "Execute pg_wal_replay_resume() to continue." msgstr "Выполните pg_wal_replay_resume() для продолжения." -#: access/transam/xlogrecovery.c:3155 +#: access/transam/xlogrecovery.c:3205 #, 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:3363 +#: access/transam/xlogrecovery.c:3413 #, 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:3370 +#: access/transam/xlogrecovery.c:3420 #, c-format msgid "" "could not read from WAL segment %s, LSN %X/%X, offset %u: read %d of %zu" @@ -3884,38 +4178,38 @@ msgstr "" "не удалось прочитать сегмент WAL %s, LSN %X/%X, смещение %u (прочитано байт: " "%d из %zu)" -#: access/transam/xlogrecovery.c:4010 +#: access/transam/xlogrecovery.c:4060 #, c-format msgid "invalid checkpoint location" msgstr "неверное положение контрольной точки" -#: access/transam/xlogrecovery.c:4020 +#: access/transam/xlogrecovery.c:4070 #, c-format msgid "invalid checkpoint record" msgstr "неверная запись контрольной точки" -#: access/transam/xlogrecovery.c:4026 +#: access/transam/xlogrecovery.c:4076 #, c-format msgid "invalid resource manager ID in checkpoint record" msgstr "неверный ID менеджера ресурсов в записи контрольной точки" -#: access/transam/xlogrecovery.c:4034 +#: access/transam/xlogrecovery.c:4084 #, c-format msgid "invalid xl_info in checkpoint record" msgstr "неверные флаги xl_info в записи контрольной точки" -#: access/transam/xlogrecovery.c:4040 +#: access/transam/xlogrecovery.c:4090 #, c-format msgid "invalid length of checkpoint record" msgstr "неверная длина записи контрольной точки" -#: access/transam/xlogrecovery.c:4094 +#: access/transam/xlogrecovery.c:4144 #, c-format msgid "new timeline %u is not a child of database system timeline %u" msgstr "" "новая линия времени %u не является ответвлением линии времени системы БД %u" -#: access/transam/xlogrecovery.c:4108 +#: access/transam/xlogrecovery.c:4158 #, c-format msgid "" "new timeline %u forked off current database system timeline %u before " @@ -3924,30 +4218,30 @@ msgstr "" "новая линия времени %u ответвилась от текущей линии времени базы данных %u " "до текущей точки восстановления %X/%X" -#: access/transam/xlogrecovery.c:4127 +#: access/transam/xlogrecovery.c:4177 #, c-format msgid "new target timeline is %u" msgstr "новая целевая линия времени %u" -#: access/transam/xlogrecovery.c:4330 +#: access/transam/xlogrecovery.c:4380 #, c-format msgid "WAL receiver process shutdown requested" msgstr "получен запрос на выключение процесса приёмника WAL" -#: access/transam/xlogrecovery.c:4390 +#: access/transam/xlogrecovery.c:4440 #, c-format msgid "received promote request" msgstr "получен запрос повышения статуса" -#: access/transam/xlogrecovery.c:4619 +#: access/transam/xlogrecovery.c:4669 #, c-format msgid "hot standby is not possible because of insufficient parameter settings" msgstr "" "режим горячего резерва невозможен из-за отсутствия достаточных значений " "параметров" -#: access/transam/xlogrecovery.c:4620 access/transam/xlogrecovery.c:4647 -#: access/transam/xlogrecovery.c:4677 +#: access/transam/xlogrecovery.c:4670 access/transam/xlogrecovery.c:4697 +#: access/transam/xlogrecovery.c:4727 #, c-format msgid "" "%s = %d is a lower setting than on the primary server, where its value was " @@ -3955,12 +4249,12 @@ msgid "" msgstr "" "Параметр %s = %d меньше, чем на ведущем сервере, где его значение было %d." -#: access/transam/xlogrecovery.c:4629 +#: access/transam/xlogrecovery.c:4679 #, c-format msgid "If recovery is unpaused, the server will shut down." msgstr "В случае возобновления восстановления сервер отключится." -#: access/transam/xlogrecovery.c:4630 +#: access/transam/xlogrecovery.c:4680 #, c-format msgid "" "You can then restart the server after making the necessary configuration " @@ -3969,24 +4263,24 @@ msgstr "" "Затем вы можете перезапустить сервер после внесения необходимых изменений " "конфигурации." -#: access/transam/xlogrecovery.c:4641 +#: access/transam/xlogrecovery.c:4691 #, c-format msgid "promotion is not possible because of insufficient parameter settings" msgstr "повышение невозможно из-за отсутствия достаточных значений параметров" -#: access/transam/xlogrecovery.c:4651 +#: access/transam/xlogrecovery.c:4701 #, c-format msgid "Restart the server after making the necessary configuration changes." msgstr "" "Перезапустите сервер после внесения необходимых изменений конфигурации." -#: access/transam/xlogrecovery.c:4675 +#: access/transam/xlogrecovery.c:4725 #, c-format msgid "recovery aborted because of insufficient parameter settings" msgstr "" "восстановление прервано из-за отсутствия достаточных значений параметров" -#: access/transam/xlogrecovery.c:4681 +#: access/transam/xlogrecovery.c:4731 #, c-format msgid "" "You can restart the server after making the necessary configuration changes." @@ -3994,66 +4288,67 @@ msgstr "" "Вы можете перезапустить сервер после внесения необходимых изменений " "конфигурации." -#: access/transam/xlogrecovery.c:4723 +#: access/transam/xlogrecovery.c:4773 #, c-format msgid "multiple recovery targets specified" msgstr "указано несколько целей восстановления" -#: access/transam/xlogrecovery.c:4724 +#: access/transam/xlogrecovery.c:4774 #, c-format msgid "" -"At most one of recovery_target, recovery_target_lsn, recovery_target_name, " -"recovery_target_time, recovery_target_xid may be set." +"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." +"Может быть указана только одна из целей: \"recovery_target\", " +"\"recovery_target_lsn\", \"recovery_target_name\", \"recovery_target_time\", " +"\"recovery_target_xid\"." -#: access/transam/xlogrecovery.c:4735 +#: access/transam/xlogrecovery.c:4785 #, c-format msgid "The only allowed value is \"immediate\"." msgstr "Единственное допустимое значение: \"immediate\"." -#: access/transam/xlogrecovery.c:4887 utils/adt/timestamp.c:186 -#: utils/adt/timestamp.c:439 +#: access/transam/xlogrecovery.c:4937 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:4932 +#: access/transam/xlogrecovery.c:4982 #, c-format -msgid "recovery_target_timeline is not a valid number." -msgstr "recovery_target_timeline не является допустимым числом." +msgid "\"recovery_target_timeline\" is not a valid number." +msgstr "Значение \"recovery_target_timeline\" не является допустимым числом." -#: access/transam/xlogutils.c:1039 +#: access/transam/xlogutils.c:1032 #, c-format msgid "could not read from WAL segment %s, offset %d: %m" msgstr "не удалось прочитать из сегмента WAL %s по смещению %d: %m" -#: access/transam/xlogutils.c:1046 +#: access/transam/xlogutils.c:1039 #, c-format msgid "could not read from WAL segment %s, offset %d: read %d of %d" msgstr "" "не удалось прочитать из сегмента WAL %s по смещению %d (прочитано байт: %d " "из %d)" -#: archive/shell_archive.c:96 +#: archive/shell_archive.c:98 #, c-format msgid "archive command failed with exit code %d" msgstr "команда архивации завершилась ошибкой с кодом %d" -#: archive/shell_archive.c:98 archive/shell_archive.c:108 -#: archive/shell_archive.c:114 archive/shell_archive.c:123 +#: archive/shell_archive.c:100 archive/shell_archive.c:110 +#: archive/shell_archive.c:116 archive/shell_archive.c:125 #, c-format msgid "The failed archive command was: %s" msgstr "Команда архивации с ошибкой: %s" -#: archive/shell_archive.c:105 +#: archive/shell_archive.c:107 #, c-format msgid "archive command was terminated by exception 0x%X" msgstr "команда архивации была прервана исключением 0x%X" -#: archive/shell_archive.c:107 postmaster/postmaster.c:3678 +#: archive/shell_archive.c:109 postmaster/postmaster.c:3094 #, c-format msgid "" "See C include file \"ntstatus.h\" for a description of the hexadecimal value." @@ -4061,52 +4356,52 @@ msgstr "" "Описание этого шестнадцатеричного значения ищите во включаемом C-файле " "\"ntstatus.h\"" -#: archive/shell_archive.c:112 +#: archive/shell_archive.c:114 #, c-format msgid "archive command was terminated by signal %d: %s" msgstr "команда архивации завершена по сигналу %d: %s" -#: archive/shell_archive.c:121 +#: archive/shell_archive.c:123 #, c-format msgid "archive command exited with unrecognized status %d" -msgstr "команда архивации завершилась с неизвестным кодом состояния %d" +msgstr "команда архивации завершилась с нераспознанным кодом состояния %d" -#: backup/backup_manifest.c:253 +#: backup/backup_manifest.c:254 #, c-format msgid "expected end timeline %u but found timeline %u" msgstr "ожидался конец линии времени %u, но обнаружена линия времени %u" -#: backup/backup_manifest.c:277 +#: backup/backup_manifest.c:278 #, c-format msgid "expected start timeline %u but found timeline %u" msgstr "ожидалось начало линии времени %u, но обнаружена линия времени %u" -#: backup/backup_manifest.c:304 +#: backup/backup_manifest.c:305 #, c-format msgid "start timeline %u not found in history of timeline %u" msgstr "начальная линия времени %u не найдена в истории линии времени %u" -#: backup/backup_manifest.c:355 +#: backup/backup_manifest.c:356 #, c-format msgid "could not rewind temporary file" msgstr "не удалось переместиться во временном файле" -#: backup/basebackup.c:470 +#: backup/basebackup.c:479 #, c-format msgid "could not find any WAL files" msgstr "не удалось найти ни одного файла WAL" -#: backup/basebackup.c:485 backup/basebackup.c:500 backup/basebackup.c:509 +#: backup/basebackup.c:494 backup/basebackup.c:509 backup/basebackup.c:518 #, c-format msgid "could not find WAL file \"%s\"" msgstr "не удалось найти файл WAL \"%s\"" -#: backup/basebackup.c:551 backup/basebackup.c:576 +#: backup/basebackup.c:560 backup/basebackup.c:585 #, c-format msgid "unexpected WAL file size \"%s\"" msgstr "неприемлемый размер файла WAL \"%s\"" -#: backup/basebackup.c:646 +#: backup/basebackup.c:656 #, c-format msgid "%lld total checksum verification failure" msgid_plural "%lld total checksum verification failures" @@ -4114,93 +4409,95 @@ msgstr[0] "всего ошибок контрольных сумм: %lld" msgstr[1] "всего ошибок контрольных сумм: %lld" msgstr[2] "всего ошибок контрольных сумм: %lld" -#: backup/basebackup.c:653 +#: backup/basebackup.c:663 #, c-format msgid "checksum verification failure during base backup" msgstr "при базовом резервном копировании выявлены ошибки контрольных сумм" -#: backup/basebackup.c:722 backup/basebackup.c:731 backup/basebackup.c:742 -#: backup/basebackup.c:759 backup/basebackup.c:768 backup/basebackup.c:779 -#: backup/basebackup.c:796 backup/basebackup.c:805 backup/basebackup.c:817 -#: backup/basebackup.c:841 backup/basebackup.c:855 backup/basebackup.c:866 -#: backup/basebackup.c:877 backup/basebackup.c:890 +#: backup/basebackup.c:733 backup/basebackup.c:742 backup/basebackup.c:753 +#: backup/basebackup.c:770 backup/basebackup.c:779 backup/basebackup.c:788 +#: backup/basebackup.c:803 backup/basebackup.c:820 backup/basebackup.c:829 +#: backup/basebackup.c:841 backup/basebackup.c:865 backup/basebackup.c:879 +#: backup/basebackup.c:890 backup/basebackup.c:901 backup/basebackup.c:914 #, c-format msgid "duplicate option \"%s\"" msgstr "повторяющийся параметр \"%s\"" -#: backup/basebackup.c:750 +#: backup/basebackup.c:761 #, c-format msgid "unrecognized checkpoint type: \"%s\"" msgstr "нераспознанный тип контрольной точки: \"%s\"" -#: backup/basebackup.c:785 +#: backup/basebackup.c:793 +#, c-format +msgid "incremental backups cannot be taken unless WAL summarization is enabled" +msgstr "" +"сделать инкрементальную копию можно, только когда включено обобщение WAL" + +#: backup/basebackup.c:809 #, c-format msgid "%d is outside the valid range for parameter \"%s\" (%d .. %d)" msgstr "%d вне диапазона, допустимого для параметра \"%s\" (%d .. %d)" -#: backup/basebackup.c:830 +#: backup/basebackup.c:854 #, c-format msgid "unrecognized manifest option: \"%s\"" msgstr "нераспознанный параметр в манифесте: \"%s\"" -#: backup/basebackup.c:846 -#, c-format -msgid "unrecognized checksum algorithm: \"%s\"" -msgstr "нераспознанный алгоритм расчёта контрольных сумм: \"%s\"" - -#: backup/basebackup.c:881 +#: backup/basebackup.c:905 #, c-format msgid "unrecognized compression algorithm: \"%s\"" msgstr "нераспознанный алгоритм сжатия: \"%s\"" -#: backup/basebackup.c:897 +#: backup/basebackup.c:921 #, c-format msgid "unrecognized base backup option: \"%s\"" msgstr "нераспознанный параметр операции базового копирования: \"%s\"" -#: backup/basebackup.c:908 +#: backup/basebackup.c:932 #, c-format msgid "manifest checksums require a backup manifest" msgstr "контрольные суммы не могут рассчитываться без манифеста копии" # skip-rule: capital-letter-first -#: backup/basebackup.c:917 +#: backup/basebackup.c:941 #, c-format msgid "target detail cannot be used without target" msgstr "доп. информацию о получателе нельзя задать без указания получателя" # skip-rule: capital-letter-first -#: backup/basebackup.c:926 backup/basebackup_target.c:218 +#: backup/basebackup.c:950 backup/basebackup_target.c:218 #, c-format msgid "target \"%s\" does not accept a target detail" msgstr "получатель \"%s\" не принимает доп. информацию" -#: backup/basebackup.c:937 +#: backup/basebackup.c:961 #, c-format msgid "compression detail cannot be specified unless compression is enabled" msgstr "параметры сжатия нельзя указывать, если не включено сжатие" -#: backup/basebackup.c:950 +#: backup/basebackup.c:974 #, c-format msgid "invalid compression specification: %s" msgstr "неправильное указание сжатия: %s" -#: backup/basebackup.c:1116 backup/basebackup.c:1298 +#: backup/basebackup.c:1024 +#, c-format +msgid "must UPLOAD_MANIFEST before performing an incremental BASE_BACKUP" +msgstr "" +"инкрементальной команде BASE_BACKUP должна предшествовать UPLOAD_MANIFEST" + +#: backup/basebackup.c:1157 backup/basebackup.c:1358 #, c-format msgid "could not stat file or directory \"%s\": %m" msgstr "не удалось получить информацию о файле или каталоге \"%s\": %m" -#: backup/basebackup.c:1434 +#: backup/basebackup.c:1544 #, c-format msgid "skipping special file \"%s\"" msgstr "специальный файл \"%s\" пропускается" -#: backup/basebackup.c:1546 -#, c-format -msgid "invalid segment number %d in file \"%s\"" -msgstr "неверный номер сегмента %d в файле \"%s\"" - -#: backup/basebackup.c:1578 +#: backup/basebackup.c:1751 #, c-format msgid "" "could not verify checksum in file \"%s\", block %u: read buffer size %d and " @@ -4209,7 +4506,15 @@ msgstr "" "не удалось проверить контрольную сумму в файле \"%s\", блоке %u: размер " "прочитанного буфера (%d) отличается от размера страницы (%d)" -#: backup/basebackup.c:1662 +#: backup/basebackup.c:1813 +#, c-format +msgid "file \"%s\" has a total of %d checksum verification failure" +msgid_plural "file \"%s\" has a total of %d checksum verification failures" +msgstr[0] "всего в файле \"%s\" обнаружено ошибок контрольных сумм: %d" +msgstr[1] "всего в файле \"%s\" обнаружено ошибок контрольных сумм: %d" +msgstr[2] "всего в файле \"%s\" обнаружено ошибок контрольных сумм: %d" + +#: backup/basebackup.c:1917 #, c-format msgid "" "checksum verification failed in file \"%s\", block %u: calculated %X but " @@ -4218,27 +4523,19 @@ msgstr "" "ошибка контрольной суммы в файле \"%s\", блоке %u: вычислено значение %X, но " "ожидалось %X" -#: backup/basebackup.c:1669 +#: backup/basebackup.c:1924 #, c-format msgid "" "further checksum verification failures in file \"%s\" will not be reported" msgstr "" "о дальнейших ошибках контрольных сумм в файле \"%s\" сообщаться не будет" -#: backup/basebackup.c:1725 -#, c-format -msgid "file \"%s\" has a total of %d checksum verification failure" -msgid_plural "file \"%s\" has a total of %d checksum verification failures" -msgstr[0] "всего в файле \"%s\" обнаружено ошибок контрольных сумм: %d" -msgstr[1] "всего в файле \"%s\" обнаружено ошибок контрольных сумм: %d" -msgstr[2] "всего в файле \"%s\" обнаружено ошибок контрольных сумм: %d" - -#: backup/basebackup.c:1771 +#: backup/basebackup.c:2048 #, c-format msgid "file name too long for tar format: \"%s\"" msgstr "слишком длинное имя файла для формата tar: \"%s\"" -#: backup/basebackup.c:1776 +#: backup/basebackup.c:2053 #, c-format msgid "" "symbolic link target too long for tar format: file name \"%s\", target \"%s\"" @@ -4246,6 +4543,11 @@ msgstr "" "цель символической ссылки слишком длинная для формата tar: имя файла \"%s\", " "цель \"%s\"" +#: backup/basebackup.c:2127 +#, c-format +msgid "could not read file \"%s\": read %zd of %zu" +msgstr "не удалось прочитать файл \"%s\" (прочитано байт: %zd из %zu)" + #: backup/basebackup_gzip.c:67 #, c-format msgid "gzip compression is not supported by this build" @@ -4256,17 +4558,110 @@ msgstr "сжатие gzip не поддерживается в данной сб msgid "could not initialize compression library" msgstr "не удалось инициализировать библиотеку сжатия" +#: backup/basebackup_incremental.c:294 +#, c-format +msgid "manifest contains no required WAL ranges" +msgstr "в манифесте не указаны нужные диапазоны WAL" + +#: backup/basebackup_incremental.c:349 +#, c-format +msgid "timeline %u found in manifest, but not in this server's history" +msgstr "в манифесте найдена линия времени %u, но её нет в истории сервера" + +#: backup/basebackup_incremental.c:414 +#, c-format +msgid "" +"manifest requires WAL from initial timeline %u starting at %X/%X, but that " +"timeline begins at %X/%X" +msgstr "" +"манифест требует наличия WAL с изначальной линии времени %u, начиная с " +"позиции %X/%X, но эта линия времени начинается с %X/%X" + +#: backup/basebackup_incremental.c:424 +#, c-format +msgid "" +"manifest requires WAL from continuation timeline %u starting at %X/%X, but " +"that timeline begins at %X/%X" +msgstr "" +"манифест требует наличия WAL с последующей линии времени %u, начиная с " +"позиции %X/%X, но эта линия времени начинается с %X/%X" + +#: backup/basebackup_incremental.c:435 +#, c-format +msgid "" +"manifest requires WAL from final timeline %u ending at %X/%X, but this " +"backup starts at %X/%X" +msgstr "" +"манифест требует наличия WAL с последней линии времени %u, завершающейся в " +"%X/%X, но эта копия начинается с %X/%X" + +#: backup/basebackup_incremental.c:439 +#, c-format +msgid "" +"This can happen for incremental backups on a standby if there was little " +"activity since the previous backup." +msgstr "" +"Такая ситуация возможна, когда инкрементальная копия создаётся на резервном " +"сервере при незначительной активности после создания предыдущей копии." + +#: backup/basebackup_incremental.c:446 +#, c-format +msgid "" +"manifest requires WAL from non-final timeline %u ending at %X/%X, but this " +"server switched timelines at %X/%X" +msgstr "" +"манифест требует наличия WAL с промежуточной линии времени %u, завершающейся " +"в %X/%X, но этот сервер переключил линии времени в %X/%X" + +#: backup/basebackup_incremental.c:527 +#, c-format +msgid "" +"WAL summaries are required on timeline %u from %X/%X to %X/%X, but no " +"summaries for that timeline and LSN range exist" +msgstr "" +"требуются обобщения WAL для линии времени %u с позиции %X/%X по %X/%X, но " +"они не найдены" + +#: backup/basebackup_incremental.c:534 +#, c-format +msgid "" +"WAL summaries are required on timeline %u from %X/%X to %X/%X, but the " +"summaries for that timeline and LSN range are incomplete" +msgstr "" +"требуются обобщения WAL для линии времени %u с позиции %X/%X по %X/%X, но " +"обобщения для этой линии времени и этого диапазона LSN неполные" + +#: backup/basebackup_incremental.c:538 +#, c-format +msgid "The first unsummarized LSN in this range is %X/%X." +msgstr "Первый необобщённый LSN в этом диапазоне: %X/%X." + +#: backup/basebackup_incremental.c:938 +#, c-format +msgid "backup manifest version 1 does not support incremental backup" +msgstr "" +"с версией 1 манифеста копии инкрементальное копирование не поддерживается" + +#: backup/basebackup_incremental.c:956 +#, c-format +msgid "" +"system identifier in backup manifest is %llu, but database system identifier " +"is %llu" +msgstr "" +"в манифесте копии указан идентификатор системы: %llu, но идентификатор " +"системы базы данных: %llu" + #: backup/basebackup_lz4.c:67 #, c-format msgid "lz4 compression is not supported by this build" msgstr "сжатие lz4 не поддерживается в данной сборке" -#: backup/basebackup_server.c:75 +#: backup/basebackup_server.c:73 #, c-format msgid "permission denied to create backup stored on server" msgstr "нет прав для создания копии, сохраняемой на сервере" -#: backup/basebackup_server.c:76 +#: backup/basebackup_server.c:74 #, c-format msgid "" "Only roles with privileges of the \"%s\" role may create a backup stored on " @@ -4275,40 +4670,41 @@ msgstr "" "Создавать копии, сохраняемые на сервере, могут только роли с правами роли " "\"%s\"." -#: backup/basebackup_server.c:91 +#: backup/basebackup_server.c:89 #, c-format msgid "relative path not allowed for backup stored on server" msgstr "" "для копии, сохраняемой на стороне сервера, нельзя указывать относительный " "путь" -#: backup/basebackup_server.c:104 commands/dbcommands.c:478 -#: commands/tablespace.c:163 commands/tablespace.c:179 -#: commands/tablespace.c:599 commands/tablespace.c:644 replication/slot.c:1731 +#: 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 #: storage/file/copydir.c:47 #, c-format msgid "could not create directory \"%s\": %m" msgstr "не удалось создать каталог \"%s\": %m" -#: backup/basebackup_server.c:117 +#: backup/basebackup_server.c:115 #, c-format msgid "directory \"%s\" exists but is not empty" msgstr "каталог \"%s\" существует, но он не пуст" -#: backup/basebackup_server.c:125 utils/init/postinit.c:1164 +#: backup/basebackup_server.c:123 utils/init/postinit.c:1177 #, c-format msgid "could not access directory \"%s\": %m" -msgstr "ошибка доступа к каталогу \"%s\": %m" +msgstr "ошибка при обращении к каталогу \"%s\": %m" -#: backup/basebackup_server.c:177 backup/basebackup_server.c:184 -#: backup/basebackup_server.c:270 backup/basebackup_server.c:277 -#: storage/smgr/md.c:504 storage/smgr/md.c:511 storage/smgr/md.c:593 -#: storage/smgr/md.c:615 storage/smgr/md.c:865 +#: 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 #, c-format msgid "Check free disk space." msgstr "Проверьте, есть ли место на диске." -#: backup/basebackup_server.c:181 backup/basebackup_server.c:274 +#: backup/basebackup_server.c:179 backup/basebackup_server.c:272 +#: backup/walsummary.c:309 #, c-format msgid "could not write file \"%s\": wrote only %d of %d bytes at offset %u" msgstr "" @@ -4340,252 +4736,251 @@ msgstr "не удалось установить для zstd число пото msgid "could not enable long-distance mode: %s" msgstr "не удалось включить режим большой дистанции: %s" -#: bootstrap/bootstrap.c:243 postmaster/postmaster.c:721 tcop/postgres.c:3819 +#: backup/walsummaryfuncs.c:95 +#, c-format +msgid "invalid timeline %lld" +msgstr "неверная линия времени %lld" + +#: bootstrap/bootstrap.c:239 postmaster/postmaster.c:623 tcop/postgres.c:3946 #, c-format msgid "--%s requires a value" msgstr "для --%s требуется значение" -#: bootstrap/bootstrap.c:248 postmaster/postmaster.c:726 tcop/postgres.c:3824 +#: bootstrap/bootstrap.c:244 postmaster/postmaster.c:628 tcop/postgres.c:3951 #, c-format msgid "-c %s requires a value" msgstr "для -c %s требуется значение" -#: bootstrap/bootstrap.c:289 -#, c-format -msgid "-X requires a power of two value between 1 MB and 1 GB" -msgstr "" -"для -X требуется число, равное степени двух, в интервале от 1 МБ до 1 ГБ" - -#: bootstrap/bootstrap.c:295 postmaster/postmaster.c:844 -#: postmaster/postmaster.c:857 +#: bootstrap/bootstrap.c:282 postmaster/postmaster.c:746 +#: postmaster/postmaster.c:759 #, c-format msgid "Try \"%s --help\" for more information.\n" msgstr "Для дополнительной информации попробуйте \"%s --help\".\n" -#: bootstrap/bootstrap.c:304 +#: bootstrap/bootstrap.c:291 #, c-format msgid "%s: invalid command-line arguments\n" msgstr "%s: неверные аргументы командной строки\n" -#: catalog/aclchk.c:201 +#: catalog/aclchk.c:211 #, c-format msgid "grant options can only be granted to roles" msgstr "право назначения прав можно давать только ролям" -#: catalog/aclchk.c:323 +#: catalog/aclchk.c:333 #, c-format msgid "no privileges were granted for column \"%s\" of relation \"%s\"" msgstr "для столбца \"%s\" отношения \"%s\" не были назначены никакие права" -#: catalog/aclchk.c:328 +#: catalog/aclchk.c:338 #, c-format msgid "no privileges were granted for \"%s\"" msgstr "для объекта \"%s\" не были назначены никакие права" -#: catalog/aclchk.c:336 +#: catalog/aclchk.c:346 #, c-format msgid "not all privileges were granted for column \"%s\" of relation \"%s\"" msgstr "" "для столбца \"%s\" отношения \"%s\" были назначены не все запрошенные права" -#: catalog/aclchk.c:341 +#: catalog/aclchk.c:351 #, c-format msgid "not all privileges were granted for \"%s\"" msgstr "для объекта \"%s\" были назначены не все запрошенные права" -#: catalog/aclchk.c:352 +#: catalog/aclchk.c:362 #, c-format msgid "no privileges could be revoked for column \"%s\" of relation \"%s\"" msgstr "для столбца \"%s\" отношения \"%s\" не были отозваны никакие права" -#: catalog/aclchk.c:357 +#: catalog/aclchk.c:367 #, c-format msgid "no privileges could be revoked for \"%s\"" msgstr "для объекта \"%s\" не были отозваны никакие права" -#: catalog/aclchk.c:365 +#: catalog/aclchk.c:375 #, c-format msgid "" "not all privileges could be revoked for column \"%s\" of relation \"%s\"" msgstr "для столбца \"%s\" отношения \"%s\" были отозваны не все права" -#: catalog/aclchk.c:370 +#: catalog/aclchk.c:380 #, c-format msgid "not all privileges could be revoked for \"%s\"" msgstr "для объекта \"%s\" были отозваны не все права" -#: catalog/aclchk.c:402 +#: catalog/aclchk.c:412 #, c-format msgid "grantor must be current user" msgstr "праводателем должен быть текущий пользователь" -#: catalog/aclchk.c:470 catalog/aclchk.c:1045 +#: catalog/aclchk.c:480 catalog/aclchk.c:1055 #, c-format msgid "invalid privilege type %s for relation" msgstr "право %s неприменимо для отношений" -#: catalog/aclchk.c:474 catalog/aclchk.c:1049 +#: catalog/aclchk.c:484 catalog/aclchk.c:1059 #, c-format msgid "invalid privilege type %s for sequence" msgstr "право %s неприменимо для последовательностей" -#: catalog/aclchk.c:478 +#: catalog/aclchk.c:488 #, c-format msgid "invalid privilege type %s for database" msgstr "право %s неприменимо для баз данных" -#: catalog/aclchk.c:482 +#: catalog/aclchk.c:492 #, c-format msgid "invalid privilege type %s for domain" msgstr "право %s неприменимо для домена" -#: catalog/aclchk.c:486 catalog/aclchk.c:1053 +#: catalog/aclchk.c:496 catalog/aclchk.c:1063 #, c-format msgid "invalid privilege type %s for function" msgstr "право %s неприменимо для функций" -#: catalog/aclchk.c:490 +#: catalog/aclchk.c:500 #, c-format msgid "invalid privilege type %s for language" msgstr "право %s неприменимо для языков" -#: catalog/aclchk.c:494 +#: catalog/aclchk.c:504 #, c-format msgid "invalid privilege type %s for large object" msgstr "право %s неприменимо для больших объектов" -#: catalog/aclchk.c:498 catalog/aclchk.c:1069 +#: catalog/aclchk.c:508 catalog/aclchk.c:1079 #, c-format msgid "invalid privilege type %s for schema" msgstr "право %s неприменимо для схем" -#: catalog/aclchk.c:502 catalog/aclchk.c:1057 +#: catalog/aclchk.c:512 catalog/aclchk.c:1067 #, c-format msgid "invalid privilege type %s for procedure" msgstr "право %s неприменимо для процедур" -#: catalog/aclchk.c:506 catalog/aclchk.c:1061 +#: catalog/aclchk.c:516 catalog/aclchk.c:1071 #, c-format msgid "invalid privilege type %s for routine" msgstr "право %s неприменимо для подпрограмм" -#: catalog/aclchk.c:510 +#: catalog/aclchk.c:520 #, c-format msgid "invalid privilege type %s for tablespace" msgstr "право %s неприменимо для табличных пространств" -#: catalog/aclchk.c:514 catalog/aclchk.c:1065 +#: catalog/aclchk.c:524 catalog/aclchk.c:1075 #, c-format msgid "invalid privilege type %s for type" msgstr "право %s неприменимо для типа" -#: catalog/aclchk.c:518 +#: catalog/aclchk.c:528 #, c-format msgid "invalid privilege type %s for foreign-data wrapper" msgstr "право %s неприменимо для обёрток сторонних данных" -#: catalog/aclchk.c:522 +#: catalog/aclchk.c:532 #, c-format msgid "invalid privilege type %s for foreign server" msgstr "право %s неприменимо для сторонних серверов" -#: catalog/aclchk.c:526 +#: catalog/aclchk.c:536 #, c-format msgid "invalid privilege type %s for parameter" msgstr "неверный тип прав %s для параметра" -#: catalog/aclchk.c:565 +#: catalog/aclchk.c:575 #, c-format msgid "column privileges are only valid for relations" msgstr "права для столбцов применимы только к отношениям" -#: catalog/aclchk.c:728 catalog/aclchk.c:3555 catalog/objectaddress.c:1092 -#: catalog/pg_largeobject.c:116 storage/large_object/inv_api.c:286 +#: catalog/aclchk.c:738 catalog/aclchk.c:3629 catalog/objectaddress.c:1054 +#: catalog/pg_largeobject.c:113 storage/large_object/inv_api.c:285 #, c-format msgid "large object %u does not exist" msgstr "большой объект %u не существует" -#: catalog/aclchk.c:1102 +#: catalog/aclchk.c:1112 #, c-format msgid "default privileges cannot be set for columns" msgstr "права по умолчанию нельзя определить для столбцов" -#: catalog/aclchk.c:1138 +#: catalog/aclchk.c:1148 #, c-format msgid "permission denied to change default privileges" msgstr "нет полномочий для изменения прав доступа по умолчанию" -#: catalog/aclchk.c:1256 +#: catalog/aclchk.c:1266 #, c-format msgid "cannot use IN SCHEMA clause when using GRANT/REVOKE ON SCHEMAS" msgstr "предложение IN SCHEMA нельзя использовать в GRANT/REVOKE ON SCHEMAS" -#: catalog/aclchk.c:1595 catalog/catalog.c:631 catalog/objectaddress.c:1561 -#: catalog/pg_publication.c:533 commands/analyze.c:390 commands/copy.c:837 -#: commands/sequence.c:1663 commands/tablecmds.c:7342 commands/tablecmds.c:7498 -#: commands/tablecmds.c:7548 commands/tablecmds.c:7622 -#: commands/tablecmds.c:7692 commands/tablecmds.c:7808 -#: commands/tablecmds.c:7902 commands/tablecmds.c:7961 -#: commands/tablecmds.c:8050 commands/tablecmds.c:8080 -#: commands/tablecmds.c:8208 commands/tablecmds.c:8290 -#: commands/tablecmds.c:8424 commands/tablecmds.c:8536 -#: commands/tablecmds.c:12261 commands/tablecmds.c:12442 -#: commands/tablecmds.c:12603 commands/tablecmds.c:13798 -#: commands/tablecmds.c:16329 commands/trigger.c:949 parser/analyze.c:2529 -#: parser/parse_relation.c:737 parser/parse_target.c:1068 -#: parser/parse_type.c:144 parser/parse_utilcmd.c:3422 -#: parser/parse_utilcmd.c:3458 parser/parse_utilcmd.c:3500 utils/adt/acl.c:2876 -#: utils/adt/ruleutils.c:2797 +#: 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:7541 commands/tablecmds.c:7695 +#: commands/tablecmds.c:7745 commands/tablecmds.c:7819 +#: commands/tablecmds.c:7889 commands/tablecmds.c:8019 +#: commands/tablecmds.c:8148 commands/tablecmds.c:8242 +#: commands/tablecmds.c:8343 commands/tablecmds.c:8470 +#: commands/tablecmds.c:8500 commands/tablecmds.c:8642 +#: commands/tablecmds.c:8735 commands/tablecmds.c:8869 +#: commands/tablecmds.c:8981 commands/tablecmds.c:12797 +#: commands/tablecmds.c:12989 commands/tablecmds.c:13150 +#: commands/tablecmds.c:14339 commands/tablecmds.c:16966 commands/trigger.c:942 +#: 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 +#: utils/adt/ruleutils.c:2807 #, c-format msgid "column \"%s\" of relation \"%s\" does not exist" msgstr "столбец \"%s\" в таблице \"%s\" не существует" -#: catalog/aclchk.c:1840 +#: catalog/aclchk.c:1862 #, c-format msgid "\"%s\" is an index" msgstr "\"%s\" - это индекс" -#: catalog/aclchk.c:1847 commands/tablecmds.c:13955 commands/tablecmds.c:17231 +#: catalog/aclchk.c:1869 commands/tablecmds.c:14496 commands/tablecmds.c:17882 #, c-format msgid "\"%s\" is a composite type" msgstr "\"%s\" - это составной тип" -#: catalog/aclchk.c:1855 catalog/objectaddress.c:1401 commands/sequence.c:1171 -#: commands/tablecmds.c:254 commands/tablecmds.c:17195 utils/adt/acl.c:2084 -#: utils/adt/acl.c:2114 utils/adt/acl.c:2146 utils/adt/acl.c:2178 -#: utils/adt/acl.c:2206 utils/adt/acl.c:2236 +#: catalog/aclchk.c:1877 catalog/objectaddress.c:1363 commands/tablecmds.c:263 +#: commands/tablecmds.c:17846 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 #, c-format msgid "\"%s\" is not a sequence" msgstr "\"%s\" - это не последовательность" -#: catalog/aclchk.c:1893 +#: catalog/aclchk.c:1915 #, c-format msgid "sequence \"%s\" only supports USAGE, SELECT, and UPDATE privileges" msgstr "" "для последовательности \"%s\" применимы только права USAGE, SELECT и UPDATE" -#: catalog/aclchk.c:1910 +#: catalog/aclchk.c:1932 #, c-format msgid "invalid privilege type %s for table" msgstr "право %s неприменимо для таблиц" -#: catalog/aclchk.c:2072 +#: catalog/aclchk.c:2097 #, c-format msgid "invalid privilege type %s for column" msgstr "право %s неприменимо для столбцов" -#: catalog/aclchk.c:2085 +#: catalog/aclchk.c:2110 #, c-format msgid "sequence \"%s\" only supports SELECT column privileges" msgstr "для последовательности \"%s\" применимо только право SELECT" # TO REVIEW -#: catalog/aclchk.c:2275 +#: catalog/aclchk.c:2301 #, c-format msgid "language \"%s\" is not trusted" msgstr "язык \"%s\" не является доверенным" -#: catalog/aclchk.c:2277 +#: catalog/aclchk.c:2303 #, c-format msgid "" "GRANT and REVOKE are not allowed on untrusted languages, because only " @@ -4594,400 +4989,411 @@ msgstr "" "GRANT и REVOKE не допускаются для недоверенных языков, так как использовать " "такие языки могут только суперпользователи." -#: catalog/aclchk.c:2427 +#: catalog/aclchk.c:2454 #, c-format msgid "cannot set privileges of array types" msgstr "для типов массивов нельзя определить права" -#: catalog/aclchk.c:2428 +#: catalog/aclchk.c:2455 #, c-format msgid "Set the privileges of the element type instead." msgstr "Вместо этого установите права для типа элемента." -#: catalog/aclchk.c:2435 catalog/objectaddress.c:1667 +#: catalog/aclchk.c:2459 +#, c-format +msgid "cannot set privileges of multirange types" +msgstr "для мультидиапазонных типов нельзя определить права" + +#: catalog/aclchk.c:2460 +#, c-format +msgid "Set the privileges of the range type instead." +msgstr "Вместо этого установите права для диапазонного типа." + +#: catalog/aclchk.c:2467 catalog/objectaddress.c:1629 #, c-format msgid "\"%s\" is not a domain" msgstr "\"%s\" - это не домен" -#: catalog/aclchk.c:2619 +#: catalog/aclchk.c:2653 #, c-format msgid "unrecognized privilege type \"%s\"" msgstr "нераспознанное право: \"%s\"" -#: catalog/aclchk.c:2684 +#: catalog/aclchk.c:2720 #, c-format msgid "permission denied for aggregate %s" msgstr "нет доступа к агрегату %s" -#: catalog/aclchk.c:2687 +#: catalog/aclchk.c:2723 #, c-format msgid "permission denied for collation %s" msgstr "нет доступа к правилу сортировки %s" -#: catalog/aclchk.c:2690 +#: catalog/aclchk.c:2726 #, c-format msgid "permission denied for column %s" msgstr "нет доступа к столбцу %s" -#: catalog/aclchk.c:2693 +#: catalog/aclchk.c:2729 #, c-format msgid "permission denied for conversion %s" msgstr "нет доступа к преобразованию %s" -#: catalog/aclchk.c:2696 +#: catalog/aclchk.c:2732 #, c-format msgid "permission denied for database %s" msgstr "нет доступа к базе данных %s" -#: catalog/aclchk.c:2699 +#: catalog/aclchk.c:2735 #, c-format msgid "permission denied for domain %s" msgstr "нет доступа к домену %s" -#: catalog/aclchk.c:2702 +#: catalog/aclchk.c:2738 #, c-format msgid "permission denied for event trigger %s" msgstr "нет доступа к событийному триггеру %s" -#: catalog/aclchk.c:2705 +#: catalog/aclchk.c:2741 #, c-format msgid "permission denied for extension %s" msgstr "нет доступа к расширению %s" -#: catalog/aclchk.c:2708 +#: catalog/aclchk.c:2744 #, c-format msgid "permission denied for foreign-data wrapper %s" msgstr "нет доступа к обёртке сторонних данных %s" -#: catalog/aclchk.c:2711 +#: catalog/aclchk.c:2747 #, c-format msgid "permission denied for foreign server %s" msgstr "нет доступа к стороннему серверу %s" -#: catalog/aclchk.c:2714 +#: catalog/aclchk.c:2750 #, c-format msgid "permission denied for foreign table %s" msgstr "нет доступа к сторонней таблице %s" -#: catalog/aclchk.c:2717 +#: catalog/aclchk.c:2753 #, c-format msgid "permission denied for function %s" msgstr "нет доступа к функции %s" -#: catalog/aclchk.c:2720 +#: catalog/aclchk.c:2756 #, c-format msgid "permission denied for index %s" msgstr "нет доступа к индексу %s" -#: catalog/aclchk.c:2723 +#: catalog/aclchk.c:2759 #, c-format msgid "permission denied for language %s" msgstr "нет доступа к языку %s" -#: catalog/aclchk.c:2726 +#: catalog/aclchk.c:2762 #, c-format msgid "permission denied for large object %s" msgstr "нет доступа к большому объекту %s" -#: catalog/aclchk.c:2729 +#: catalog/aclchk.c:2765 #, c-format msgid "permission denied for materialized view %s" msgstr "нет доступа к материализованному представлению %s" -#: catalog/aclchk.c:2732 +#: catalog/aclchk.c:2768 #, c-format msgid "permission denied for operator class %s" msgstr "нет доступа к классу операторов %s" -#: catalog/aclchk.c:2735 +#: catalog/aclchk.c:2771 #, c-format msgid "permission denied for operator %s" msgstr "нет доступа к оператору %s" -#: catalog/aclchk.c:2738 +#: catalog/aclchk.c:2774 #, c-format msgid "permission denied for operator family %s" msgstr "нет доступа к семейству операторов %s" -#: catalog/aclchk.c:2741 +#: catalog/aclchk.c:2777 #, c-format msgid "permission denied for parameter %s" msgstr "нет доступа к параметру %s" -#: catalog/aclchk.c:2744 +#: catalog/aclchk.c:2780 #, c-format msgid "permission denied for policy %s" msgstr "нет доступа к политике %s" -#: catalog/aclchk.c:2747 +#: catalog/aclchk.c:2783 #, c-format msgid "permission denied for procedure %s" msgstr "нет доступа к процедуре %s" -#: catalog/aclchk.c:2750 +#: catalog/aclchk.c:2786 #, c-format msgid "permission denied for publication %s" msgstr "нет доступа к публикации %s" -#: catalog/aclchk.c:2753 +#: catalog/aclchk.c:2789 #, c-format msgid "permission denied for routine %s" msgstr "нет доступа к подпрограмме %s" -#: catalog/aclchk.c:2756 +#: catalog/aclchk.c:2792 #, c-format msgid "permission denied for schema %s" msgstr "нет доступа к схеме %s" -#: catalog/aclchk.c:2759 commands/sequence.c:659 commands/sequence.c:885 -#: commands/sequence.c:927 commands/sequence.c:968 commands/sequence.c:1761 -#: commands/sequence.c:1810 +#: catalog/aclchk.c:2795 commands/sequence.c:654 commands/sequence.c:880 +#: commands/sequence.c:922 commands/sequence.c:963 commands/sequence.c:1753 +#: commands/sequence.c:1799 #, c-format msgid "permission denied for sequence %s" msgstr "нет доступа к последовательности %s" -#: catalog/aclchk.c:2762 +#: catalog/aclchk.c:2798 #, c-format msgid "permission denied for statistics object %s" msgstr "нет доступа к объекту статистики %s" -#: catalog/aclchk.c:2765 +#: catalog/aclchk.c:2801 #, c-format msgid "permission denied for subscription %s" msgstr "нет доступа к подписке %s" -#: catalog/aclchk.c:2768 +#: catalog/aclchk.c:2804 #, c-format msgid "permission denied for table %s" msgstr "нет доступа к таблице %s" -#: catalog/aclchk.c:2771 +#: catalog/aclchk.c:2807 #, c-format msgid "permission denied for tablespace %s" msgstr "нет доступа к табличному пространству %s" -#: catalog/aclchk.c:2774 +#: catalog/aclchk.c:2810 #, c-format msgid "permission denied for text search configuration %s" msgstr "нет доступа к конфигурации текстового поиска %s" -#: catalog/aclchk.c:2777 +#: catalog/aclchk.c:2813 #, c-format msgid "permission denied for text search dictionary %s" msgstr "нет доступа к словарю текстового поиска %s" -#: catalog/aclchk.c:2780 +#: catalog/aclchk.c:2816 #, c-format msgid "permission denied for type %s" msgstr "нет доступа к типу %s" -#: catalog/aclchk.c:2783 +#: catalog/aclchk.c:2819 #, c-format msgid "permission denied for view %s" msgstr "нет доступа к представлению %s" -#: catalog/aclchk.c:2819 +#: catalog/aclchk.c:2855 #, c-format msgid "must be owner of aggregate %s" msgstr "нужно быть владельцем агрегата %s" -#: catalog/aclchk.c:2822 +#: catalog/aclchk.c:2858 #, c-format msgid "must be owner of collation %s" msgstr "нужно быть владельцем правила сортировки %s" -#: catalog/aclchk.c:2825 +#: catalog/aclchk.c:2861 #, c-format msgid "must be owner of conversion %s" msgstr "нужно быть владельцем преобразования %s" -#: catalog/aclchk.c:2828 +#: catalog/aclchk.c:2864 #, c-format msgid "must be owner of database %s" msgstr "нужно быть владельцем базы %s" -#: catalog/aclchk.c:2831 +#: catalog/aclchk.c:2867 #, c-format msgid "must be owner of domain %s" msgstr "нужно быть владельцем домена %s" -#: catalog/aclchk.c:2834 +#: catalog/aclchk.c:2870 #, c-format msgid "must be owner of event trigger %s" msgstr "нужно быть владельцем событийного триггера %s" -#: catalog/aclchk.c:2837 +#: catalog/aclchk.c:2873 #, c-format msgid "must be owner of extension %s" msgstr "нужно быть владельцем расширения %s" -#: catalog/aclchk.c:2840 +#: catalog/aclchk.c:2876 #, c-format msgid "must be owner of foreign-data wrapper %s" msgstr "нужно быть владельцем обёртки сторонних данных %s" -#: catalog/aclchk.c:2843 +#: catalog/aclchk.c:2879 #, c-format msgid "must be owner of foreign server %s" msgstr "нужно быть \"владельцем\" стороннего сервера %s" -#: catalog/aclchk.c:2846 +#: catalog/aclchk.c:2882 #, c-format msgid "must be owner of foreign table %s" msgstr "нужно быть владельцем сторонней таблицы %s" -#: catalog/aclchk.c:2849 +#: catalog/aclchk.c:2885 #, c-format msgid "must be owner of function %s" msgstr "нужно быть владельцем функции %s" -#: catalog/aclchk.c:2852 +#: catalog/aclchk.c:2888 #, c-format msgid "must be owner of index %s" msgstr "нужно быть владельцем индекса %s" -#: catalog/aclchk.c:2855 +#: catalog/aclchk.c:2891 #, c-format msgid "must be owner of language %s" msgstr "нужно быть владельцем языка %s" -#: catalog/aclchk.c:2858 +#: catalog/aclchk.c:2894 #, c-format msgid "must be owner of large object %s" msgstr "нужно быть владельцем большого объекта %s" -#: catalog/aclchk.c:2861 +#: catalog/aclchk.c:2897 #, c-format msgid "must be owner of materialized view %s" msgstr "нужно быть владельцем материализованного представления %s" -#: catalog/aclchk.c:2864 +#: catalog/aclchk.c:2900 #, c-format msgid "must be owner of operator class %s" msgstr "нужно быть владельцем класса операторов %s" -#: catalog/aclchk.c:2867 +#: catalog/aclchk.c:2903 #, c-format msgid "must be owner of operator %s" msgstr "нужно быть владельцем оператора %s" -#: catalog/aclchk.c:2870 +#: catalog/aclchk.c:2906 #, c-format msgid "must be owner of operator family %s" msgstr "нужно быть владельцем семейства операторов %s" -#: catalog/aclchk.c:2873 +#: catalog/aclchk.c:2909 #, c-format msgid "must be owner of procedure %s" msgstr "нужно быть владельцем процедуры %s" -#: catalog/aclchk.c:2876 +#: catalog/aclchk.c:2912 #, c-format msgid "must be owner of publication %s" msgstr "нужно быть владельцем публикации %s" -#: catalog/aclchk.c:2879 +#: catalog/aclchk.c:2915 #, c-format msgid "must be owner of routine %s" msgstr "нужно быть владельцем подпрограммы %s" -#: catalog/aclchk.c:2882 +#: catalog/aclchk.c:2918 #, c-format msgid "must be owner of sequence %s" msgstr "нужно быть владельцем последовательности %s" -#: catalog/aclchk.c:2885 +#: catalog/aclchk.c:2921 #, c-format msgid "must be owner of subscription %s" msgstr "нужно быть владельцем подписки %s" -#: catalog/aclchk.c:2888 +#: catalog/aclchk.c:2924 #, c-format msgid "must be owner of table %s" msgstr "нужно быть владельцем таблицы %s" -#: catalog/aclchk.c:2891 +#: catalog/aclchk.c:2927 #, c-format msgid "must be owner of type %s" msgstr "нужно быть владельцем типа %s" -#: catalog/aclchk.c:2894 +#: catalog/aclchk.c:2930 #, c-format msgid "must be owner of view %s" msgstr "нужно быть владельцем представления %s" -#: catalog/aclchk.c:2897 +#: catalog/aclchk.c:2933 #, c-format msgid "must be owner of schema %s" msgstr "нужно быть владельцем схемы %s" -#: catalog/aclchk.c:2900 +#: catalog/aclchk.c:2936 #, c-format msgid "must be owner of statistics object %s" msgstr "нужно быть владельцем объекта статистики %s" -#: catalog/aclchk.c:2903 +#: catalog/aclchk.c:2939 #, c-format msgid "must be owner of tablespace %s" msgstr "нужно быть владельцем табличного пространства %s" -#: catalog/aclchk.c:2906 +#: catalog/aclchk.c:2942 #, c-format msgid "must be owner of text search configuration %s" msgstr "нужно быть владельцем конфигурации текстового поиска %s" -#: catalog/aclchk.c:2909 +#: catalog/aclchk.c:2945 #, c-format msgid "must be owner of text search dictionary %s" msgstr "нужно быть владельцем словаря текстового поиска %s" -#: catalog/aclchk.c:2923 +#: catalog/aclchk.c:2959 #, c-format msgid "must be owner of relation %s" msgstr "нужно быть владельцем отношения %s" -#: catalog/aclchk.c:2969 +#: catalog/aclchk.c:3005 #, c-format msgid "permission denied for column \"%s\" of relation \"%s\"" msgstr "нет доступа к столбцу \"%s\" отношения \"%s\"" -#: catalog/aclchk.c:3104 catalog/aclchk.c:3984 catalog/aclchk.c:4015 +#: catalog/aclchk.c:3162 catalog/aclchk.c:4170 catalog/aclchk.c:4201 #, c-format msgid "%s with OID %u does not exist" msgstr "%s с OID %u не существует" -#: catalog/aclchk.c:3188 catalog/aclchk.c:3207 +#: catalog/aclchk.c:3245 catalog/aclchk.c:3264 #, c-format msgid "attribute %d of relation with OID %u does not exist" msgstr "атрибут %d отношения с OID %u не существует" -#: catalog/aclchk.c:3302 +#: catalog/aclchk.c:3302 catalog/aclchk.c:3365 catalog/aclchk.c:4004 #, c-format msgid "relation with OID %u does not exist" msgstr "отношение с OID %u не существует" -#: catalog/aclchk.c:3476 +#: catalog/aclchk.c:3550 #, c-format msgid "parameter ACL with OID %u does not exist" msgstr "ACL параметра с OID %u не существует" -#: catalog/aclchk.c:3640 commands/collationcmds.c:813 -#: commands/publicationcmds.c:1746 +#: catalog/aclchk.c:3723 commands/collationcmds.c:853 +#: commands/publicationcmds.c:1739 #, c-format msgid "schema with OID %u does not exist" msgstr "схема с OID %u не существует" -#: catalog/aclchk.c:3705 utils/cache/typcache.c:390 utils/cache/typcache.c:445 +#: catalog/aclchk.c:3797 catalog/aclchk.c:3824 catalog/aclchk.c:3853 +#: utils/cache/typcache.c:392 utils/cache/typcache.c:447 #, c-format msgid "type with OID %u does not exist" msgstr "тип с OID %u не существует" -#: catalog/catalog.c:449 +#: catalog/catalog.c:477 #, c-format msgid "still searching for an unused OID in relation \"%s\"" msgstr "продолжается поиск неиспользованного OID в отношении \"%s\"" -#: catalog/catalog.c:451 +#: catalog/catalog.c:479 #, c-format msgid "" "OID candidates have been checked %llu time, but no unused OID has been found " @@ -5005,7 +5411,7 @@ msgstr[2] "" "Потенциальные OID были проверены %llu раз, но неиспользуемые OID ещё не были " "найдены." -#: catalog/catalog.c:476 +#: catalog/catalog.c:504 #, c-format msgid "new OID has been assigned in relation \"%s\" after %llu retry" msgid_plural "new OID has been assigned in relation \"%s\" after %llu retries" @@ -5013,57 +5419,57 @@ msgstr[0] "новый OID был назначен в отношении \"%s\" msgstr[1] "новый OID был назначен в отношении \"%s\" после %llu попыток" msgstr[2] "новый OID был назначен в отношении \"%s\" после %llu попыток" -#: catalog/catalog.c:609 catalog/catalog.c:676 +#: catalog/catalog.c:637 catalog/catalog.c:704 #, c-format msgid "must be superuser to call %s()" msgstr "вызывать %s() может только суперпользователь" -#: catalog/catalog.c:618 +#: catalog/catalog.c:646 #, c-format msgid "pg_nextoid() can only be used on system catalogs" msgstr "pg_nextoid() можно использовать только для системных каталогов" -#: catalog/catalog.c:623 parser/parse_utilcmd.c:2273 +#: catalog/catalog.c:651 parser/parse_utilcmd.c:2270 #, c-format msgid "index \"%s\" does not belong to table \"%s\"" msgstr "индекс \"%s\" не принадлежит таблице \"%s\"" -#: catalog/catalog.c:640 +#: catalog/catalog.c:668 #, c-format msgid "column \"%s\" is not of type oid" msgstr "столбец \"%s\" имеет тип не oid" -#: catalog/catalog.c:647 +#: catalog/catalog.c:675 #, c-format msgid "index \"%s\" is not the index for column \"%s\"" msgstr "индекс \"%s\" не является индексом столбца \"%s\"" -#: catalog/dependency.c:553 catalog/pg_shdepend.c:658 +#: catalog/dependency.c:497 catalog/pg_shdepend.c:703 #, c-format msgid "cannot drop %s because it is required by the database system" msgstr "удалить объект %s нельзя, так как он нужен системе баз данных" -#: catalog/dependency.c:845 catalog/dependency.c:1072 +#: catalog/dependency.c:789 catalog/dependency.c:1016 #, c-format msgid "cannot drop %s because %s requires it" msgstr "удалить объект %s нельзя, так как он нужен объекту %s" -#: catalog/dependency.c:847 catalog/dependency.c:1074 +#: catalog/dependency.c:791 catalog/dependency.c:1018 #, c-format msgid "You can drop %s instead." msgstr "Однако можно удалить %s." -#: catalog/dependency.c:1153 catalog/dependency.c:1162 +#: catalog/dependency.c:1097 catalog/dependency.c:1106 #, c-format msgid "%s depends on %s" msgstr "%s зависит от объекта %s" -#: catalog/dependency.c:1177 catalog/dependency.c:1186 +#: catalog/dependency.c:1121 catalog/dependency.c:1130 #, c-format msgid "drop cascades to %s" msgstr "удаление распространяется на объект %s" -#: catalog/dependency.c:1194 catalog/pg_shdepend.c:823 +#: catalog/dependency.c:1138 catalog/pg_shdepend.c:868 #, c-format msgid "" "\n" @@ -5081,36 +5487,37 @@ msgstr[2] "" "\n" "и ещё %d объектов (см. список в протоколе сервера)" -#: catalog/dependency.c:1206 +#: catalog/dependency.c:1150 #, c-format msgid "cannot drop %s because other objects depend on it" msgstr "удалить объект %s нельзя, так как от него зависят другие объекты" -#: catalog/dependency.c:1209 catalog/dependency.c:1216 -#: catalog/dependency.c:1227 commands/tablecmds.c:1331 -#: commands/tablecmds.c:14442 commands/tablespace.c:466 commands/user.c:1303 -#: commands/vacuum.c:211 commands/view.c:446 libpq/auth.c:326 -#: replication/logical/applyparallelworker.c:1044 replication/syncrep.c:1017 -#: storage/lmgr/deadlock.c:1134 storage/lmgr/proc.c:1366 utils/misc/guc.c:3122 -#: utils/misc/guc.c:3158 utils/misc/guc.c:3228 utils/misc/guc.c:6632 -#: utils/misc/guc.c:6666 utils/misc/guc.c:6700 utils/misc/guc.c:6743 -#: utils/misc/guc.c:6785 +#: catalog/dependency.c:1153 catalog/dependency.c:1160 +#: catalog/dependency.c:1171 commands/tablecmds.c:1459 +#: commands/tablecmds.c:15088 commands/tablespace.c:460 commands/user.c:1302 +#: commands/vacuum.c:211 commands/view.c:441 executor/execExprInterp.c:4643 +#: executor/execExprInterp.c:4651 libpq/auth.c:324 +#: replication/logical/applyparallelworker.c:1041 replication/syncrep.c:1011 +#: storage/lmgr/deadlock.c:1134 storage/lmgr/proc.c:1427 utils/misc/guc.c:3169 +#: utils/misc/guc.c:3210 utils/misc/guc.c:3285 utils/misc/guc.c:6790 +#: utils/misc/guc.c:6824 utils/misc/guc.c:6858 utils/misc/guc.c:6901 +#: utils/misc/guc.c:6943 #, c-format msgid "%s" msgstr "%s" -#: catalog/dependency.c:1210 catalog/dependency.c:1217 +#: catalog/dependency.c:1154 catalog/dependency.c:1161 #, c-format msgid "Use DROP ... CASCADE to drop the dependent objects too." msgstr "Для удаления зависимых объектов используйте DROP ... CASCADE." -#: catalog/dependency.c:1214 +#: catalog/dependency.c:1158 #, c-format msgid "cannot drop desired object(s) because other objects depend on them" msgstr "" "удалить запрошенные объекты нельзя, так как от них зависят другие объекты" -#: catalog/dependency.c:1222 +#: catalog/dependency.c:1166 #, c-format msgid "drop cascades to %d other object" msgid_plural "drop cascades to %d other objects" @@ -5118,61 +5525,61 @@ msgstr[0] "удаление распространяется на ещё %d об msgstr[1] "удаление распространяется на ещё %d объекта" msgstr[2] "удаление распространяется на ещё %d объектов" -#: catalog/dependency.c:1906 +#: catalog/dependency.c:1850 #, c-format msgid "constant of the type %s cannot be used here" msgstr "константу типа %s здесь использовать нельзя" -#: catalog/dependency.c:2431 parser/parse_relation.c:3413 -#: parser/parse_relation.c:3423 +#: catalog/dependency.c:2375 parser/parse_relation.c:3407 +#: parser/parse_relation.c:3417 #, c-format msgid "column %d of relation \"%s\" does not exist" msgstr "столбец %d отношения \"%s\" не существует" -#: catalog/heap.c:324 +#: catalog/heap.c:325 #, c-format msgid "permission denied to create \"%s.%s\"" msgstr "нет прав для создания отношения \"%s.%s\"" -#: catalog/heap.c:326 +#: catalog/heap.c:327 #, c-format msgid "System catalog modifications are currently disallowed." msgstr "Изменение системного каталога в текущем состоянии запрещено." -#: catalog/heap.c:466 commands/tablecmds.c:2370 commands/tablecmds.c:3043 -#: commands/tablecmds.c:6925 +#: catalog/heap.c:467 commands/tablecmds.c:2495 commands/tablecmds.c:2917 +#: commands/tablecmds.c:7163 #, c-format msgid "tables can have at most %d columns" msgstr "максимальное число столбцов в таблице: %d" -#: catalog/heap.c:484 commands/tablecmds.c:7232 +#: catalog/heap.c:485 commands/tablecmds.c:7432 #, c-format msgid "column name \"%s\" conflicts with a system column name" msgstr "имя столбца \"%s\" конфликтует с системным столбцом" -#: catalog/heap.c:500 +#: catalog/heap.c:501 #, c-format msgid "column name \"%s\" specified more than once" msgstr "имя столбца \"%s\" указано неоднократно" #. translator: first %s is an integer not a name -#: catalog/heap.c:578 +#: catalog/heap.c:579 #, c-format msgid "partition key column %s has pseudo-type %s" msgstr "столбец \"%s\" ключа разбиения имеет псевдотип %s" -#: catalog/heap.c:583 +#: catalog/heap.c:584 #, c-format msgid "column \"%s\" has pseudo-type %s" msgstr "столбец \"%s\" имеет псевдотип %s" -#: catalog/heap.c:614 +#: catalog/heap.c:615 #, c-format msgid "composite type %s cannot be made a member of itself" msgstr "составной тип %s не может содержать себя же" #. translator: first %s is an integer not a name -#: catalog/heap.c:669 +#: catalog/heap.c:670 #, c-format msgid "" "no collation was derived for partition key column %s with collatable type %s" @@ -5180,28 +5587,28 @@ msgstr "" "для входящего в ключ разбиения столбца \"%s\" с сортируемым типом %s не " "удалось получить правило сортировки" -#: catalog/heap.c:675 commands/createas.c:203 commands/createas.c:512 +#: catalog/heap.c:676 commands/createas.c:198 commands/createas.c:505 #, c-format msgid "no collation was derived for column \"%s\" with collatable type %s" msgstr "" "для столбца \"%s\" с сортируемым типом %s не удалось получить правило " "сортировки" -#: catalog/heap.c:1151 catalog/index.c:887 commands/createas.c:408 -#: commands/tablecmds.c:3983 +#: catalog/heap.c:1161 catalog/index.c:899 commands/createas.c:401 +#: commands/tablecmds.c:4171 #, c-format msgid "relation \"%s\" already exists" msgstr "отношение \"%s\" уже существует" -#: catalog/heap.c:1167 catalog/pg_type.c:434 catalog/pg_type.c:782 -#: catalog/pg_type.c:954 commands/typecmds.c:249 commands/typecmds.c:261 -#: commands/typecmds.c:754 commands/typecmds.c:1169 commands/typecmds.c:1395 -#: commands/typecmds.c:1575 commands/typecmds.c:2546 +#: catalog/heap.c:1177 catalog/pg_type.c:434 catalog/pg_type.c:805 +#: catalog/pg_type.c:977 commands/typecmds.c:253 commands/typecmds.c:265 +#: commands/typecmds.c:758 commands/typecmds.c:1179 commands/typecmds.c:1405 +#: commands/typecmds.c:1585 commands/typecmds.c:2556 #, c-format msgid "type \"%s\" already exists" msgstr "тип \"%s\" уже существует" -#: catalog/heap.c:1168 +#: catalog/heap.c:1178 #, c-format msgid "" "A relation has an associated type of the same name, so you must use a name " @@ -5210,54 +5617,54 @@ msgstr "" "С отношением уже связан тип с таким же именем; выберите имя, не " "конфликтующее с существующими типами." -#: catalog/heap.c:1208 +#: catalog/heap.c:1218 #, c-format msgid "toast relfilenumber value not set when in binary upgrade mode" msgstr "" "значение relfilenumber для TOAST не задано в режиме двоичного обновления" -#: catalog/heap.c:1219 +#: catalog/heap.c:1229 #, c-format msgid "pg_class heap OID value not set when in binary upgrade mode" msgstr "значение OID кучи в pg_class не задано в режиме двоичного обновления" -#: catalog/heap.c:1229 +#: catalog/heap.c:1239 #, c-format msgid "relfilenumber value not set when in binary upgrade mode" msgstr "значение relfilenumber не задано в режиме двоичного обновления" -#: catalog/heap.c:2122 +#: catalog/heap.c:2130 #, c-format msgid "cannot add NO INHERIT constraint to partitioned table \"%s\"" msgstr "" "добавить ограничение NO INHERIT к секционированной таблице \"%s\" нельзя" -#: catalog/heap.c:2397 +#: catalog/heap.c:2402 #, c-format msgid "check constraint \"%s\" already exists" msgstr "ограничение-проверка \"%s\" уже существует" -#: catalog/heap.c:2567 catalog/index.c:901 catalog/pg_constraint.c:682 -#: commands/tablecmds.c:8911 +#: catalog/heap.c:2574 catalog/index.c:913 catalog/pg_constraint.c:724 +#: commands/tablecmds.c:9356 #, c-format msgid "constraint \"%s\" for relation \"%s\" already exists" msgstr "ограничение \"%s\" для отношения \"%s\" уже существует" -#: catalog/heap.c:2574 +#: catalog/heap.c:2581 #, c-format msgid "" "constraint \"%s\" conflicts with non-inherited constraint on relation \"%s\"" msgstr "" "ограничение \"%s\" конфликтует с ненаследуемым ограничением таблицы \"%s\"" -#: catalog/heap.c:2585 +#: catalog/heap.c:2592 #, c-format msgid "" "constraint \"%s\" conflicts with inherited constraint on relation \"%s\"" msgstr "" "ограничение \"%s\" конфликтует с наследуемым ограничением таблицы \"%s\"" -#: catalog/heap.c:2595 +#: catalog/heap.c:2602 #, c-format msgid "" "constraint \"%s\" conflicts with NOT VALID constraint on relation \"%s\"" @@ -5265,71 +5672,71 @@ msgstr "" "ограничение \"%s\" конфликтует с непроверенным (NOT VALID) ограничением " "таблицы \"%s\"" -#: catalog/heap.c:2600 +#: catalog/heap.c:2607 #, c-format msgid "merging constraint \"%s\" with inherited definition" msgstr "слияние ограничения \"%s\" с унаследованным определением" -#: catalog/heap.c:2626 catalog/pg_constraint.c:811 commands/tablecmds.c:2668 -#: commands/tablecmds.c:3195 commands/tablecmds.c:6857 -#: commands/tablecmds.c:15264 commands/tablecmds.c:15405 +#: catalog/heap.c:2633 catalog/pg_constraint.c:853 commands/tablecmds.c:3074 +#: commands/tablecmds.c:3377 commands/tablecmds.c:7089 +#: commands/tablecmds.c:15907 commands/tablecmds.c:16038 #, c-format msgid "too many inheritance parents" msgstr "слишком много родителей в иерархии наследования" -#: catalog/heap.c:2710 +#: catalog/heap.c:2717 #, c-format msgid "cannot use generated column \"%s\" in column generation expression" msgstr "" "использовать генерируемый столбец \"%s\" в выражении генерируемого столбца " "нельзя" -#: catalog/heap.c:2712 +#: catalog/heap.c:2719 #, c-format msgid "A generated column cannot reference another generated column." msgstr "" "Генерируемый столбец не может ссылаться на другой генерируемый столбец." -#: catalog/heap.c:2718 +#: catalog/heap.c:2725 #, c-format msgid "cannot use whole-row variable in column generation expression" msgstr "" "в выражении генерируемого столбца нельзя использовать переменные «вся строка»" -#: catalog/heap.c:2719 +#: catalog/heap.c:2726 #, c-format msgid "This would cause the generated column to depend on its own value." msgstr "" "Это сделало бы генерируемый столбец зависимым от собственного значения." -#: catalog/heap.c:2774 +#: catalog/heap.c:2781 #, c-format msgid "generation expression is not immutable" msgstr "генерирующее выражение не является постоянным" -#: catalog/heap.c:2802 rewrite/rewriteHandler.c:1297 +#: catalog/heap.c:2809 rewrite/rewriteHandler.c:1282 #, c-format msgid "column \"%s\" is of type %s but default expression is of type %s" msgstr "столбец \"%s\" имеет тип %s, но тип выражения по умолчанию %s" -#: catalog/heap.c:2807 commands/prepare.c:334 parser/analyze.c:2753 -#: parser/parse_target.c:593 parser/parse_target.c:883 -#: parser/parse_target.c:893 rewrite/rewriteHandler.c:1302 +#: catalog/heap.c:2814 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:1287 #, c-format msgid "You will need to rewrite or cast the expression." msgstr "Перепишите выражение или преобразуйте его тип." -#: catalog/heap.c:2854 +#: catalog/heap.c:2861 #, c-format msgid "only table \"%s\" can be referenced in check constraint" msgstr "в ограничении-проверке можно ссылаться только на таблицу \"%s\"" -#: catalog/heap.c:3160 +#: catalog/heap.c:3167 #, c-format msgid "unsupported ON COMMIT and foreign key combination" msgstr "неподдерживаемое сочетание внешнего ключа с ON COMMIT" -#: catalog/heap.c:3161 +#: catalog/heap.c:3168 #, c-format msgid "" "Table \"%s\" references \"%s\", but they do not have the same ON COMMIT " @@ -5337,501 +5744,501 @@ msgid "" msgstr "" "Таблица \"%s\" ссылается на \"%s\", и для них задан разный режим ON COMMIT." -#: catalog/heap.c:3166 +#: catalog/heap.c:3173 #, c-format msgid "cannot truncate a table referenced in a foreign key constraint" msgstr "опустошить таблицу, на которую ссылается внешний ключ, нельзя" -#: catalog/heap.c:3167 +#: catalog/heap.c:3174 #, c-format msgid "Table \"%s\" references \"%s\"." msgstr "Таблица \"%s\" ссылается на \"%s\"." -#: catalog/heap.c:3169 +#: catalog/heap.c:3176 #, c-format msgid "Truncate table \"%s\" at the same time, or use TRUNCATE ... CASCADE." msgstr "" "Опустошите таблицу \"%s\" параллельно или используйте TRUNCATE ... CASCADE." -#: catalog/index.c:225 parser/parse_utilcmd.c:2179 +#: catalog/index.c:219 parser/parse_utilcmd.c:2176 #, c-format msgid "multiple primary keys for table \"%s\" are not allowed" msgstr "таблица \"%s\" не может иметь несколько первичных ключей" -#: catalog/index.c:239 +#: catalog/index.c:233 #, c-format msgid "primary keys cannot use NULLS NOT DISTINCT indexes" msgstr "для первичных ключей нельзя использовать индексы с NULLS NOT DISTINCT" -#: catalog/index.c:256 +#: catalog/index.c:250 #, c-format msgid "primary keys cannot be expressions" msgstr "первичные ключи не могут быть выражениями" -#: catalog/index.c:273 +#: catalog/index.c:267 #, c-format msgid "primary key column \"%s\" is not marked NOT NULL" msgstr "столбец первичного ключа \"%s\" не помечен как NOT NULL" -#: catalog/index.c:786 catalog/index.c:1942 +#: catalog/index.c:798 catalog/index.c:1915 #, c-format msgid "user-defined indexes on system catalog tables are not supported" msgstr "" "пользовательские индексы в таблицах системного каталога не поддерживаются" -#: catalog/index.c:826 +#: catalog/index.c:838 #, c-format msgid "nondeterministic collations are not supported for operator class \"%s\"" msgstr "" "недетерминированные правила сортировки не поддерживаются для класса " "операторов \"%s\"" -#: catalog/index.c:841 +#: catalog/index.c:853 #, c-format msgid "concurrent index creation on system catalog tables is not supported" msgstr "" "параллельное создание индекса в таблицах системного каталога не " "поддерживается" -#: catalog/index.c:850 catalog/index.c:1318 +#: catalog/index.c:862 catalog/index.c:1331 #, c-format msgid "concurrent index creation for exclusion constraints is not supported" msgstr "" "параллельное создание индекса для ограничений-исключений не поддерживается" -#: catalog/index.c:859 +#: catalog/index.c:871 #, c-format msgid "shared indexes cannot be created after initdb" msgstr "нельзя создать разделяемые индексы после initdb" -#: catalog/index.c:879 commands/createas.c:423 commands/sequence.c:158 +#: catalog/index.c:891 commands/createas.c:416 commands/sequence.c:159 #: parser/parse_utilcmd.c:209 #, c-format msgid "relation \"%s\" already exists, skipping" msgstr "отношение \"%s\" уже существует, пропускается" -#: catalog/index.c:929 +#: catalog/index.c:941 #, c-format msgid "pg_class index OID value not set when in binary upgrade mode" msgstr "" "значение OID индекса в pg_class не задано в режиме двоичного обновления" -#: catalog/index.c:939 utils/cache/relcache.c:3731 +#: catalog/index.c:951 utils/cache/relcache.c:3791 #, c-format msgid "index relfilenumber value not set when in binary upgrade mode" msgstr "" "значение relfilenumber для индекса не задано в режиме двоичного обновления" -#: catalog/index.c:2241 +#: catalog/index.c:2214 #, c-format msgid "DROP INDEX CONCURRENTLY must be first action in transaction" msgstr "DROP INDEX CONCURRENTLY должен быть первым действием в транзакции" -#: catalog/index.c:3675 +#: catalog/index.c:3668 #, c-format msgid "cannot reindex temporary tables of other sessions" msgstr "переиндексировать временные таблицы других сеансов нельзя" -#: catalog/index.c:3686 commands/indexcmds.c:3607 +#: catalog/index.c:3679 commands/indexcmds.c:3619 #, c-format msgid "cannot reindex invalid index on TOAST table" msgstr "перестроить нерабочий индекс в таблице TOAST нельзя" -#: catalog/index.c:3702 commands/indexcmds.c:3487 commands/indexcmds.c:3631 -#: commands/tablecmds.c:3398 +#: catalog/index.c:3695 commands/indexcmds.c:3497 commands/indexcmds.c:3643 +#: commands/tablecmds.c:3581 #, c-format msgid "cannot move system relation \"%s\"" msgstr "переместить системную таблицу \"%s\" нельзя" -#: catalog/index.c:3846 +#: catalog/index.c:3832 #, c-format msgid "index \"%s\" was reindexed" msgstr "индекс \"%s\" был перестроен" -#: catalog/index.c:3983 +#: catalog/index.c:3998 #, c-format msgid "cannot reindex invalid index \"%s.%s\" on TOAST table, skipping" msgstr "" "перестроить нерабочий индекс \"%s.%s\" в таблице TOAST нельзя, он " "пропускается" -#: catalog/namespace.c:260 catalog/namespace.c:464 catalog/namespace.c:556 -#: commands/trigger.c:5736 +#: catalog/namespace.c:462 catalog/namespace.c:666 catalog/namespace.c:758 +#: commands/trigger.c:5731 #, c-format msgid "cross-database references are not implemented: \"%s.%s.%s\"" msgstr "ссылки между базами не реализованы: \"%s.%s.%s\"" -#: catalog/namespace.c:317 +#: catalog/namespace.c:519 #, c-format msgid "temporary tables cannot specify a schema name" msgstr "для временных таблиц имя схемы не указывается" -#: catalog/namespace.c:398 +#: catalog/namespace.c:600 #, c-format msgid "could not obtain lock on relation \"%s.%s\"" msgstr "не удалось получить блокировку таблицы \"%s.%s\"" -#: catalog/namespace.c:403 commands/lockcmds.c:144 commands/lockcmds.c:224 +#: catalog/namespace.c:605 commands/lockcmds.c:143 commands/lockcmds.c:223 #, c-format msgid "could not obtain lock on relation \"%s\"" msgstr "не удалось получить блокировку таблицы \"%s\"" -#: catalog/namespace.c:431 parser/parse_relation.c:1430 +#: catalog/namespace.c:633 parser/parse_relation.c:1430 #, c-format msgid "relation \"%s.%s\" does not exist" msgstr "отношение \"%s.%s\" не существует" -#: catalog/namespace.c:436 parser/parse_relation.c:1443 +#: catalog/namespace.c:638 parser/parse_relation.c:1443 #: parser/parse_relation.c:1451 utils/adt/regproc.c:913 #, c-format msgid "relation \"%s\" does not exist" msgstr "отношение \"%s\" не существует" -#: catalog/namespace.c:502 catalog/namespace.c:3073 commands/extension.c:1611 -#: commands/extension.c:1617 +#: catalog/namespace.c:704 catalog/namespace.c:3522 commands/extension.c:1607 +#: commands/extension.c:1613 #, c-format msgid "no schema has been selected to create in" msgstr "схема для создания объектов не выбрана" -#: catalog/namespace.c:654 catalog/namespace.c:667 +#: catalog/namespace.c:856 catalog/namespace.c:869 #, c-format msgid "cannot create relations in temporary schemas of other sessions" msgstr "во временных схемах других сеансов нельзя создавать отношения" -#: catalog/namespace.c:658 +#: catalog/namespace.c:860 #, c-format msgid "cannot create temporary relation in non-temporary schema" msgstr "создавать временные отношения можно только во временных схемах" -#: catalog/namespace.c:673 +#: catalog/namespace.c:875 #, c-format msgid "only temporary relations may be created in temporary schemas" msgstr "во временных схемах можно создавать только временные отношения" -#: catalog/namespace.c:2265 +#: catalog/namespace.c:2619 #, c-format msgid "statistics object \"%s\" does not exist" msgstr "объект статистики \"%s\" не существует" -#: catalog/namespace.c:2388 +#: catalog/namespace.c:2761 #, c-format msgid "text search parser \"%s\" does not exist" msgstr "анализатор текстового поиска \"%s\" не существует" -#: catalog/namespace.c:2514 utils/adt/regproc.c:1439 +#: catalog/namespace.c:2906 utils/adt/regproc.c:1459 #, c-format msgid "text search dictionary \"%s\" does not exist" msgstr "словарь текстового поиска \"%s\" не существует" -#: catalog/namespace.c:2641 +#: catalog/namespace.c:3052 #, c-format msgid "text search template \"%s\" does not exist" msgstr "шаблон текстового поиска \"%s\" не существует" -#: catalog/namespace.c:2767 commands/tsearchcmds.c:1168 -#: utils/adt/regproc.c:1329 utils/cache/ts_cache.c:635 +#: catalog/namespace.c:3197 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:2880 parser/parse_expr.c:832 parser/parse_target.c:1260 +#: catalog/namespace.c:3329 parser/parse_expr.c:868 parser/parse_target.c:1259 #, c-format msgid "cross-database references are not implemented: %s" msgstr "ссылки между базами не реализованы: %s" -#: catalog/namespace.c:2886 parser/parse_expr.c:839 parser/parse_target.c:1267 -#: gram.y:18569 gram.y:18609 +#: catalog/namespace.c:3335 parser/parse_expr.c:875 parser/parse_target.c:1266 +#: gram.y:19181 gram.y:19221 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "неверное полное имя (слишком много компонентов): %s" -#: catalog/namespace.c:3016 +#: catalog/namespace.c:3465 #, c-format msgid "cannot move objects into or out of temporary schemas" msgstr "перемещать объекты в/из внутренних схем нельзя" -#: catalog/namespace.c:3022 +#: catalog/namespace.c:3471 #, c-format msgid "cannot move objects into or out of TOAST schema" msgstr "перемещать объекты в/из схем TOAST нельзя" -#: catalog/namespace.c:3095 commands/schemacmds.c:264 commands/schemacmds.c:344 -#: commands/tablecmds.c:1276 utils/adt/regproc.c:1668 +#: catalog/namespace.c:3544 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:3126 +#: catalog/namespace.c:3575 #, c-format msgid "improper relation name (too many dotted names): %s" msgstr "неверное имя отношения (слишком много компонентов): %s" -#: catalog/namespace.c:3693 utils/adt/regproc.c:1056 +#: catalog/namespace.c:4016 utils/adt/regproc.c:1056 #, c-format msgid "collation \"%s\" for encoding \"%s\" does not exist" msgstr "правило сортировки \"%s\" для кодировки \"%s\" не существует" -#: catalog/namespace.c:3748 +#: catalog/namespace.c:4071 #, c-format msgid "conversion \"%s\" does not exist" msgstr "преобразование \"%s\" не существует" -#: catalog/namespace.c:4012 +#: catalog/namespace.c:4412 #, c-format msgid "permission denied to create temporary tables in database \"%s\"" msgstr "нет прав для создания временных таблиц в базе \"%s\"" -#: catalog/namespace.c:4028 +#: catalog/namespace.c:4428 #, c-format msgid "cannot create temporary tables during recovery" msgstr "создавать временные таблицы в процессе восстановления нельзя" -#: catalog/namespace.c:4034 +#: catalog/namespace.c:4434 #, c-format msgid "cannot create temporary tables during a parallel operation" msgstr "создавать временные таблицы во время параллельных операций нельзя" -#: catalog/objectaddress.c:1409 commands/policy.c:96 commands/policy.c:376 -#: commands/tablecmds.c:248 commands/tablecmds.c:290 commands/tablecmds.c:2202 -#: commands/tablecmds.c:12378 +#: 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:12925 #, c-format msgid "\"%s\" is not a table" msgstr "\"%s\" - это не таблица" -#: catalog/objectaddress.c:1416 commands/tablecmds.c:260 -#: commands/tablecmds.c:17200 commands/view.c:119 +#: catalog/objectaddress.c:1378 commands/tablecmds.c:269 +#: commands/tablecmds.c:17851 commands/view.c:114 #, c-format msgid "\"%s\" is not a view" msgstr "\"%s\" - это не представление" -#: catalog/objectaddress.c:1423 commands/matview.c:186 commands/tablecmds.c:266 -#: commands/tablecmds.c:17205 +#: catalog/objectaddress.c:1385 commands/matview.c:199 commands/tablecmds.c:275 +#: commands/tablecmds.c:17856 #, c-format msgid "\"%s\" is not a materialized view" msgstr "\"%s\" - это не материализованное представление" -#: catalog/objectaddress.c:1430 commands/tablecmds.c:284 -#: commands/tablecmds.c:17210 +#: catalog/objectaddress.c:1392 commands/tablecmds.c:293 +#: commands/tablecmds.c:17861 #, c-format msgid "\"%s\" is not a foreign table" msgstr "\"%s\" - это не сторонняя таблица" -#: catalog/objectaddress.c:1471 +#: catalog/objectaddress.c:1433 #, c-format msgid "must specify relation and object name" msgstr "необходимо указать имя отношения и объекта" -#: catalog/objectaddress.c:1547 catalog/objectaddress.c:1600 +#: catalog/objectaddress.c:1509 catalog/objectaddress.c:1562 #, c-format msgid "column name must be qualified" msgstr "имя столбца нужно указать в полной форме" -#: catalog/objectaddress.c:1619 +#: catalog/objectaddress.c:1581 #, c-format msgid "default value for column \"%s\" of relation \"%s\" does not exist" msgstr "" "значение по умолчанию для столбца \"%s\" отношения \"%s\" не существует" -#: catalog/objectaddress.c:1656 commands/functioncmds.c:137 -#: commands/tablecmds.c:276 commands/typecmds.c:274 commands/typecmds.c:3691 +#: 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:4441 +#: utils/adt/acl.c:4560 #, c-format msgid "type \"%s\" does not exist" msgstr "тип \"%s\" не существует" -#: catalog/objectaddress.c:1775 +#: catalog/objectaddress.c:1737 #, c-format msgid "operator %d (%s, %s) of %s does not exist" msgstr "оператор %d (%s, %s) из семейства %s не существует" -#: catalog/objectaddress.c:1806 +#: catalog/objectaddress.c:1768 #, c-format msgid "function %d (%s, %s) of %s does not exist" msgstr "функция %d (%s, %s) из семейства %s не существует" -#: catalog/objectaddress.c:1857 catalog/objectaddress.c:1883 +#: catalog/objectaddress.c:1819 catalog/objectaddress.c:1845 #, c-format msgid "user mapping for user \"%s\" on server \"%s\" does not exist" msgstr "сопоставление для пользователя \"%s\" на сервере \"%s\" не существует" -#: catalog/objectaddress.c:1872 commands/foreigncmds.c:430 -#: commands/foreigncmds.c:993 commands/foreigncmds.c:1356 foreign/foreign.c:700 +#: catalog/objectaddress.c:1834 commands/foreigncmds.c:430 +#: commands/foreigncmds.c:993 commands/foreigncmds.c:1356 foreign/foreign.c:713 #, c-format msgid "server \"%s\" does not exist" msgstr "сервер \"%s\" не существует" -#: catalog/objectaddress.c:1939 +#: catalog/objectaddress.c:1901 #, c-format msgid "publication relation \"%s\" in publication \"%s\" does not exist" msgstr "публикуемое отношение \"%s\" в публикации \"%s\" не существует" -#: catalog/objectaddress.c:1986 +#: catalog/objectaddress.c:1948 #, c-format msgid "publication schema \"%s\" in publication \"%s\" does not exist" msgstr "публикуемая схема \"%s\" в публикации \"%s\" не существует" -#: catalog/objectaddress.c:2044 +#: catalog/objectaddress.c:2006 #, c-format msgid "unrecognized default ACL object type \"%c\"" msgstr "нераспознанный тип объекта ACL по умолчанию: \"%c\"" -#: catalog/objectaddress.c:2045 +#: catalog/objectaddress.c:2007 #, c-format msgid "Valid object types are \"%c\", \"%c\", \"%c\", \"%c\", \"%c\"." msgstr "Допустимые типы объектов: \"%c\", \"%c\", \"%c\", \"%c\", \"%c\"." -#: catalog/objectaddress.c:2096 +#: catalog/objectaddress.c:2058 #, c-format msgid "default ACL for user \"%s\" in schema \"%s\" on %s does not exist" msgstr "" "ACL по умолчанию для пользователя \"%s\" в схеме \"%s\" для объекта %s не " "существует" -#: catalog/objectaddress.c:2101 +#: catalog/objectaddress.c:2063 #, c-format msgid "default ACL for user \"%s\" on %s does not exist" msgstr "" "ACL по умолчанию для пользователя \"%s\" и для объекта %s не существует" -#: catalog/objectaddress.c:2127 catalog/objectaddress.c:2184 -#: catalog/objectaddress.c:2239 +#: catalog/objectaddress.c:2089 catalog/objectaddress.c:2146 +#: catalog/objectaddress.c:2201 #, c-format msgid "name or argument lists may not contain nulls" msgstr "списки имён и аргументов не должны содержать NULL" -#: catalog/objectaddress.c:2161 +#: catalog/objectaddress.c:2123 #, c-format msgid "unsupported object type \"%s\"" msgstr "неподдерживаемый тип объекта: \"%s\"" -#: catalog/objectaddress.c:2180 catalog/objectaddress.c:2197 -#: catalog/objectaddress.c:2262 catalog/objectaddress.c:2346 +#: catalog/objectaddress.c:2142 catalog/objectaddress.c:2159 +#: catalog/objectaddress.c:2224 catalog/objectaddress.c:2308 #, c-format msgid "name list length must be exactly %d" msgstr "длина списка имён должна быть равна %d" -#: catalog/objectaddress.c:2201 +#: catalog/objectaddress.c:2163 #, c-format msgid "large object OID may not be null" msgstr "OID большого объекта не может быть NULL" -#: catalog/objectaddress.c:2210 catalog/objectaddress.c:2280 -#: catalog/objectaddress.c:2287 +#: catalog/objectaddress.c:2172 catalog/objectaddress.c:2242 +#: catalog/objectaddress.c:2249 #, c-format msgid "name list length must be at least %d" msgstr "длина списка аргументов должна быть не меньше %d" -#: catalog/objectaddress.c:2273 catalog/objectaddress.c:2294 +#: catalog/objectaddress.c:2235 catalog/objectaddress.c:2256 #, c-format msgid "argument list length must be exactly %d" msgstr "длина списка аргументов должна быть равна %d" -#: catalog/objectaddress.c:2508 libpq/be-fsstubs.c:329 +#: catalog/objectaddress.c:2470 libpq/be-fsstubs.c:329 #, c-format msgid "must be owner of large object %u" msgstr "нужно быть владельцем большого объекта %u" -#: catalog/objectaddress.c:2523 commands/functioncmds.c:1561 +#: catalog/objectaddress.c:2485 commands/functioncmds.c:1560 #, c-format msgid "must be owner of type %s or type %s" msgstr "это разрешено только владельцу типа %s или %s" -#: catalog/objectaddress.c:2550 catalog/objectaddress.c:2559 -#: catalog/objectaddress.c:2565 +#: catalog/objectaddress.c:2512 catalog/objectaddress.c:2521 +#: catalog/objectaddress.c:2527 #, c-format msgid "permission denied" msgstr "нет доступа" -#: catalog/objectaddress.c:2551 catalog/objectaddress.c:2560 +#: catalog/objectaddress.c:2513 catalog/objectaddress.c:2522 #, c-format msgid "The current user must have the %s attribute." msgstr "Текущий пользователь должен иметь атрибут %s." -#: catalog/objectaddress.c:2566 +#: catalog/objectaddress.c:2528 #, c-format msgid "The current user must have the %s option on role \"%s\"." msgstr "Текущий пользователь должен иметь привилегию %s для роли \"%s\"." -#: catalog/objectaddress.c:2580 +#: catalog/objectaddress.c:2542 #, c-format msgid "must be superuser" msgstr "требуются права суперпользователя" -#: catalog/objectaddress.c:2649 +#: catalog/objectaddress.c:2611 #, c-format msgid "unrecognized object type \"%s\"" msgstr "нераспознанный тип объекта \"%s\"" #. translator: second %s is, e.g., "table %s" -#: catalog/objectaddress.c:2941 +#: catalog/objectaddress.c:2903 #, c-format msgid "column %s of %s" msgstr "столбец %s отношения %s" -#: catalog/objectaddress.c:2956 +#: catalog/objectaddress.c:2918 #, c-format msgid "function %s" msgstr "функция %s" -#: catalog/objectaddress.c:2969 +#: catalog/objectaddress.c:2931 #, c-format msgid "type %s" msgstr "тип %s" -#: catalog/objectaddress.c:3006 +#: catalog/objectaddress.c:2968 #, c-format msgid "cast from %s to %s" msgstr "приведение %s к %s" -#: catalog/objectaddress.c:3039 +#: catalog/objectaddress.c:3001 #, c-format msgid "collation %s" msgstr "правило сортировки %s" #. translator: second %s is, e.g., "table %s" -#: catalog/objectaddress.c:3070 +#: catalog/objectaddress.c:3032 #, c-format msgid "constraint %s on %s" msgstr "ограничение %s в отношении %s" -#: catalog/objectaddress.c:3076 +#: catalog/objectaddress.c:3038 #, c-format msgid "constraint %s" msgstr "ограничение %s" -#: catalog/objectaddress.c:3108 +#: catalog/objectaddress.c:3070 #, c-format msgid "conversion %s" msgstr "преобразование %s" #. translator: %s is typically "column %s of table %s" -#: catalog/objectaddress.c:3130 +#: catalog/objectaddress.c:3092 #, c-format msgid "default value for %s" msgstr "значение по умолчанию для %s" -#: catalog/objectaddress.c:3141 +#: catalog/objectaddress.c:3103 #, c-format msgid "language %s" msgstr "язык %s" -#: catalog/objectaddress.c:3149 +#: catalog/objectaddress.c:3111 #, c-format msgid "large object %u" msgstr "большой объект %u" -#: catalog/objectaddress.c:3162 +#: catalog/objectaddress.c:3124 #, c-format msgid "operator %s" msgstr "оператор %s" -#: catalog/objectaddress.c:3199 +#: catalog/objectaddress.c:3161 #, c-format msgid "operator class %s for access method %s" msgstr "класс операторов %s для метода доступа %s" -#: catalog/objectaddress.c:3227 +#: catalog/objectaddress.c:3189 #, c-format msgid "access method %s" msgstr "метод доступа %s" @@ -5840,7 +6247,7 @@ msgstr "метод доступа %s" #. first two %s's are data type names, the third %s is the #. description of the operator family, and the last %s is the #. textual form of the operator with arguments. -#: catalog/objectaddress.c:3276 +#: catalog/objectaddress.c:3238 #, c-format msgid "operator %d (%s, %s) of %s: %s" msgstr "оператор %d (%s, %s) из семейства \"%s\": %s" @@ -5849,241 +6256,241 @@ msgstr "оператор %d (%s, %s) из семейства \"%s\": %s" #. are data type names, the third %s is the description of the #. operator family, and the last %s is the textual form of the #. function with arguments. -#: catalog/objectaddress.c:3333 +#: catalog/objectaddress.c:3295 #, c-format msgid "function %d (%s, %s) of %s: %s" msgstr "функция %d (%s, %s) из семейства \"%s\": %s" #. translator: second %s is, e.g., "table %s" -#: catalog/objectaddress.c:3385 +#: catalog/objectaddress.c:3347 #, c-format msgid "rule %s on %s" msgstr "правило %s для отношения %s" #. translator: second %s is, e.g., "table %s" -#: catalog/objectaddress.c:3431 +#: catalog/objectaddress.c:3393 #, c-format msgid "trigger %s on %s" msgstr "триггер %s в отношении %s" -#: catalog/objectaddress.c:3451 +#: catalog/objectaddress.c:3413 #, c-format msgid "schema %s" msgstr "схема %s" -#: catalog/objectaddress.c:3479 +#: catalog/objectaddress.c:3441 #, c-format msgid "statistics object %s" msgstr "объект статистики %s" -#: catalog/objectaddress.c:3510 +#: catalog/objectaddress.c:3472 #, c-format msgid "text search parser %s" msgstr "анализатор текстового поиска %s" -#: catalog/objectaddress.c:3541 +#: catalog/objectaddress.c:3503 #, c-format msgid "text search dictionary %s" msgstr "словарь текстового поиска %s" -#: catalog/objectaddress.c:3572 +#: catalog/objectaddress.c:3534 #, c-format msgid "text search template %s" msgstr "шаблон текстового поиска %s" -#: catalog/objectaddress.c:3603 +#: catalog/objectaddress.c:3565 #, c-format msgid "text search configuration %s" msgstr "конфигурация текстового поиска %s" -#: catalog/objectaddress.c:3616 +#: catalog/objectaddress.c:3578 #, c-format msgid "role %s" msgstr "роль %s" -#: catalog/objectaddress.c:3653 catalog/objectaddress.c:5505 +#: catalog/objectaddress.c:3615 catalog/objectaddress.c:5464 #, c-format msgid "membership of role %s in role %s" msgstr "членство роли %s в роли %s" -#: catalog/objectaddress.c:3674 +#: catalog/objectaddress.c:3636 #, c-format msgid "database %s" msgstr "база данных %s" -#: catalog/objectaddress.c:3690 +#: catalog/objectaddress.c:3652 #, c-format msgid "tablespace %s" msgstr "табличное пространство %s" -#: catalog/objectaddress.c:3701 +#: catalog/objectaddress.c:3663 #, c-format msgid "foreign-data wrapper %s" msgstr "обёртка сторонних данных %s" -#: catalog/objectaddress.c:3711 +#: catalog/objectaddress.c:3673 #, c-format msgid "server %s" msgstr "сервер %s" -#: catalog/objectaddress.c:3744 +#: catalog/objectaddress.c:3706 #, c-format msgid "user mapping for %s on server %s" msgstr "сопоставление для пользователя %s на сервере %s" -#: catalog/objectaddress.c:3796 +#: catalog/objectaddress.c:3758 #, c-format msgid "default privileges on new relations belonging to role %s in schema %s" msgstr "" "права по умолчанию для новых отношений, принадлежащих роли %s в схеме %s" -#: catalog/objectaddress.c:3800 +#: catalog/objectaddress.c:3762 #, c-format msgid "default privileges on new relations belonging to role %s" msgstr "права по умолчанию для новых отношений, принадлежащих роли %s" -#: catalog/objectaddress.c:3806 +#: catalog/objectaddress.c:3768 #, c-format msgid "default privileges on new sequences belonging to role %s in schema %s" msgstr "" "права по умолчанию для новых последовательностей, принадлежащих роли %s в " "схеме %s" -#: catalog/objectaddress.c:3810 +#: catalog/objectaddress.c:3772 #, c-format msgid "default privileges on new sequences belonging to role %s" msgstr "" "права по умолчанию для новых последовательностей, принадлежащих роли %s" -#: catalog/objectaddress.c:3816 +#: catalog/objectaddress.c:3778 #, c-format msgid "default privileges on new functions belonging to role %s in schema %s" msgstr "права по умолчанию для новых функций, принадлежащих роли %s в схеме %s" -#: catalog/objectaddress.c:3820 +#: catalog/objectaddress.c:3782 #, c-format msgid "default privileges on new functions belonging to role %s" msgstr "права по умолчанию для новых функций, принадлежащих роли %s" -#: catalog/objectaddress.c:3826 +#: catalog/objectaddress.c:3788 #, c-format msgid "default privileges on new types belonging to role %s in schema %s" msgstr "права по умолчанию для новых типов, принадлежащих роли %s в схеме %s" -#: catalog/objectaddress.c:3830 +#: catalog/objectaddress.c:3792 #, c-format msgid "default privileges on new types belonging to role %s" msgstr "права по умолчанию для новых типов, принадлежащих роли %s" -#: catalog/objectaddress.c:3836 +#: catalog/objectaddress.c:3798 #, c-format msgid "default privileges on new schemas belonging to role %s" msgstr "права по умолчанию для новых схем, принадлежащих роли %s" -#: catalog/objectaddress.c:3843 +#: catalog/objectaddress.c:3805 #, c-format msgid "default privileges belonging to role %s in schema %s" msgstr "" "права по умолчанию для новых объектов, принадлежащих роли %s в схеме %s" -#: catalog/objectaddress.c:3847 +#: catalog/objectaddress.c:3809 #, c-format msgid "default privileges belonging to role %s" msgstr "права по умолчанию для новых объектов, принадлежащих роли %s" -#: catalog/objectaddress.c:3869 +#: catalog/objectaddress.c:3831 #, c-format msgid "extension %s" msgstr "расширение %s" -#: catalog/objectaddress.c:3886 +#: catalog/objectaddress.c:3848 #, c-format msgid "event trigger %s" msgstr "событийный триггер %s" -#: catalog/objectaddress.c:3910 +#: catalog/objectaddress.c:3872 #, c-format msgid "parameter %s" msgstr "параметр %s" #. translator: second %s is, e.g., "table %s" -#: catalog/objectaddress.c:3953 +#: catalog/objectaddress.c:3915 #, c-format msgid "policy %s on %s" msgstr "политика %s отношения %s" -#: catalog/objectaddress.c:3967 +#: catalog/objectaddress.c:3929 #, c-format msgid "publication %s" msgstr "публикация %s" -#: catalog/objectaddress.c:3980 +#: catalog/objectaddress.c:3942 #, c-format msgid "publication of schema %s in publication %s" msgstr "публикация схемы %s в публикации %s" #. translator: first %s is, e.g., "table %s" -#: catalog/objectaddress.c:4011 +#: catalog/objectaddress.c:3973 #, c-format msgid "publication of %s in publication %s" msgstr "публикуемое отношение %s в публикации %s" -#: catalog/objectaddress.c:4024 +#: catalog/objectaddress.c:3986 #, c-format msgid "subscription %s" msgstr "подписка %s" -#: catalog/objectaddress.c:4045 +#: catalog/objectaddress.c:4007 #, c-format msgid "transform for %s language %s" msgstr "преобразование для %s, языка %s" -#: catalog/objectaddress.c:4116 +#: catalog/objectaddress.c:4076 #, c-format msgid "table %s" msgstr "таблица %s" -#: catalog/objectaddress.c:4121 +#: catalog/objectaddress.c:4081 #, c-format msgid "index %s" msgstr "индекс %s" -#: catalog/objectaddress.c:4125 +#: catalog/objectaddress.c:4085 #, c-format msgid "sequence %s" msgstr "последовательность %s" -#: catalog/objectaddress.c:4129 +#: catalog/objectaddress.c:4089 #, c-format msgid "toast table %s" msgstr "TOAST-таблица %s" -#: catalog/objectaddress.c:4133 +#: catalog/objectaddress.c:4093 #, c-format msgid "view %s" msgstr "представление %s" -#: catalog/objectaddress.c:4137 +#: catalog/objectaddress.c:4097 #, c-format msgid "materialized view %s" msgstr "материализованное представление %s" -#: catalog/objectaddress.c:4141 +#: catalog/objectaddress.c:4101 #, c-format msgid "composite type %s" msgstr "составной тип %s" -#: catalog/objectaddress.c:4145 +#: catalog/objectaddress.c:4105 #, c-format msgid "foreign table %s" msgstr "сторонняя таблица %s" -#: catalog/objectaddress.c:4150 +#: catalog/objectaddress.c:4110 #, c-format msgid "relation %s" msgstr "отношение %s" -#: catalog/objectaddress.c:4191 +#: catalog/objectaddress.c:4151 #, c-format msgid "operator family %s for access method %s" msgstr "семейство операторов %s для метода доступа %s" @@ -6136,7 +6543,7 @@ msgstr "" msgid "return type of inverse transition function %s is not %s" msgstr "обратная функция перехода %s должна возвращать тип %s" -#: catalog/pg_aggregate.c:352 executor/nodeWindowAgg.c:3009 +#: catalog/pg_aggregate.c:352 executor/nodeWindowAgg.c:2992 #, c-format msgid "" "strictness of aggregate's forward and inverse transition functions must match" @@ -6155,7 +6562,7 @@ msgstr "" msgid "return type of combine function %s is not %s" msgstr "комбинирующая функция %s должна возвращать тип %s" -#: catalog/pg_aggregate.c:439 executor/nodeAgg.c:3903 +#: catalog/pg_aggregate.c:439 executor/nodeAgg.c:3902 #, c-format msgid "combine function with transition type %s must not be declared STRICT" msgstr "" @@ -6172,12 +6579,12 @@ msgstr "функция сериализации %s должна возвраща msgid "return type of deserialization function %s is not %s" msgstr "функция десериализации %s должна возвращать тип %s" -#: catalog/pg_aggregate.c:498 catalog/pg_proc.c:191 catalog/pg_proc.c:225 +#: catalog/pg_aggregate.c:498 catalog/pg_proc.c:189 catalog/pg_proc.c:223 #, c-format msgid "cannot determine result data type" msgstr "не удалось определить тип результата" -#: catalog/pg_aggregate.c:513 catalog/pg_proc.c:204 catalog/pg_proc.c:233 +#: catalog/pg_aggregate.c:513 catalog/pg_proc.c:202 catalog/pg_proc.c:231 #, c-format msgid "unsafe use of pseudo-type \"internal\"" msgstr "небезопасное использование псевдотипа \"internal\"" @@ -6198,7 +6605,7 @@ msgstr "" "оператор сортировки можно указать только для агрегатных функций с одним " "аргументом" -#: catalog/pg_aggregate.c:706 catalog/pg_proc.c:386 +#: catalog/pg_aggregate.c:706 catalog/pg_proc.c:384 #, c-format msgid "cannot change routine kind" msgstr "тип подпрограммы изменить нельзя" @@ -6223,13 +6630,13 @@ msgstr "\"%s\" — гипотезирующая агрегатная функц msgid "cannot change number of direct arguments of an aggregate function" msgstr "изменить число непосредственных аргументов агрегатной функции нельзя" -#: catalog/pg_aggregate.c:858 commands/functioncmds.c:691 -#: commands/typecmds.c:1975 commands/typecmds.c:2021 commands/typecmds.c:2073 -#: commands/typecmds.c:2110 commands/typecmds.c:2144 commands/typecmds.c:2178 -#: commands/typecmds.c:2212 commands/typecmds.c:2241 commands/typecmds.c:2328 -#: commands/typecmds.c:2370 parser/parse_func.c:417 parser/parse_func.c:448 +#: catalog/pg_aggregate.c:858 commands/functioncmds.c:686 +#: commands/typecmds.c:1985 commands/typecmds.c:2031 commands/typecmds.c:2083 +#: commands/typecmds.c:2120 commands/typecmds.c:2154 commands/typecmds.c:2188 +#: commands/typecmds.c:2222 commands/typecmds.c:2251 commands/typecmds.c:2338 +#: commands/typecmds.c:2380 parser/parse_func.c:417 parser/parse_func.c:448 #: parser/parse_func.c:475 parser/parse_func.c:489 parser/parse_func.c:611 -#: parser/parse_func.c:631 parser/parse_func.c:2171 parser/parse_func.c:2444 +#: parser/parse_func.c:631 parser/parse_func.c:2172 parser/parse_func.c:2445 #, c-format msgid "function %s does not exist" msgstr "функция %s не существует" @@ -6306,69 +6713,69 @@ msgstr "Эта операция не поддерживается для сек msgid "This operation is not supported for partitioned indexes." msgstr "Эта операция не поддерживается для секционированных индексов." -#: catalog/pg_collation.c:102 catalog/pg_collation.c:160 +#: catalog/pg_collation.c:101 catalog/pg_collation.c:159 #, c-format msgid "collation \"%s\" already exists, skipping" msgstr "правило сортировки \"%s\" уже существует, пропускается" -#: catalog/pg_collation.c:104 +#: catalog/pg_collation.c:103 #, c-format msgid "collation \"%s\" for encoding \"%s\" already exists, skipping" msgstr "" "правило сортировки \"%s\" для кодировки \"%s\" уже существует, пропускается" -#: catalog/pg_collation.c:112 catalog/pg_collation.c:167 +#: catalog/pg_collation.c:111 catalog/pg_collation.c:166 #, c-format msgid "collation \"%s\" already exists" msgstr "правило сортировки \"%s\" уже существует" -#: catalog/pg_collation.c:114 +#: catalog/pg_collation.c:113 #, c-format msgid "collation \"%s\" for encoding \"%s\" already exists" msgstr "правило сортировки \"%s\" для кодировки \"%s\" уже существует" -#: catalog/pg_constraint.c:690 +#: catalog/pg_constraint.c:732 #, c-format msgid "constraint \"%s\" for domain %s already exists" msgstr "ограничение \"%s\" для домена %s уже существует" -#: catalog/pg_constraint.c:890 catalog/pg_constraint.c:983 +#: catalog/pg_constraint.c:932 catalog/pg_constraint.c:1025 #, c-format msgid "constraint \"%s\" for table \"%s\" does not exist" msgstr "ограничение \"%s\" для таблицы \"%s\" не существует" -#: catalog/pg_constraint.c:1083 +#: catalog/pg_constraint.c:1125 #, c-format msgid "constraint \"%s\" for domain %s does not exist" msgstr "ограничение \"%s\" для домена %s не существует" -#: catalog/pg_conversion.c:67 +#: catalog/pg_conversion.c:64 #, c-format msgid "conversion \"%s\" already exists" msgstr "преобразование \"%s\" уже существует" -#: catalog/pg_conversion.c:80 +#: catalog/pg_conversion.c:77 #, c-format msgid "default conversion for %s to %s already exists" msgstr "преобразование по умолчанию из %s в %s уже существует" -#: catalog/pg_depend.c:222 commands/extension.c:3368 +#: catalog/pg_depend.c:224 commands/extension.c:3397 #, c-format msgid "%s is already a member of extension \"%s\"" msgstr "%s уже относится к расширению \"%s\"" -#: catalog/pg_depend.c:229 catalog/pg_depend.c:280 commands/extension.c:3408 +#: catalog/pg_depend.c:231 catalog/pg_depend.c:282 commands/extension.c:3437 #, c-format msgid "%s is not a member of extension \"%s\"" msgstr "%s не относится к расширению \"%s\"" -#: catalog/pg_depend.c:232 +#: catalog/pg_depend.c:234 #, c-format msgid "An extension is not allowed to replace an object that it does not own." msgstr "" "Расширениям не разрешается заменять объекты, которые им не принадлежат." -#: catalog/pg_depend.c:283 +#: catalog/pg_depend.c:285 #, c-format msgid "" "An extension may only use CREATE ... IF NOT EXISTS to skip object creation " @@ -6377,55 +6784,55 @@ msgstr "" "Расширение может выполнять CREATE ... IF NOT EXISTS только для того, чтобы " "не создавать объект, когда оно уже владеет конфликтующим объектом." -#: catalog/pg_depend.c:646 +#: catalog/pg_depend.c:648 #, c-format msgid "cannot remove dependency on %s because it is a system object" msgstr "" "ликвидировать зависимость от объекта %s нельзя, так как это системный объект" -#: catalog/pg_enum.c:137 catalog/pg_enum.c:259 catalog/pg_enum.c:554 +#: catalog/pg_enum.c:175 catalog/pg_enum.c:314 catalog/pg_enum.c:624 #, c-format msgid "invalid enum label \"%s\"" msgstr "неверная метка в перечислении \"%s\"" -#: catalog/pg_enum.c:138 catalog/pg_enum.c:260 catalog/pg_enum.c:555 +#: catalog/pg_enum.c:176 catalog/pg_enum.c:315 catalog/pg_enum.c:625 #, c-format msgid "Labels must be %d bytes or less." msgstr "Длина метки не должна превышать %d байт." -#: catalog/pg_enum.c:288 +#: catalog/pg_enum.c:343 #, c-format msgid "enum label \"%s\" already exists, skipping" msgstr "метка перечисления \"%s\" уже существует, пропускается" -#: catalog/pg_enum.c:295 catalog/pg_enum.c:598 +#: catalog/pg_enum.c:350 catalog/pg_enum.c:668 #, c-format msgid "enum label \"%s\" already exists" msgstr "метка перечисления \"%s\" уже существует" -#: catalog/pg_enum.c:350 catalog/pg_enum.c:593 +#: catalog/pg_enum.c:405 catalog/pg_enum.c:663 #, c-format msgid "\"%s\" is not an existing enum label" msgstr "в перечислении нет метки\"%s\"" -#: catalog/pg_enum.c:408 +#: catalog/pg_enum.c:463 #, c-format msgid "pg_enum OID value not set when in binary upgrade mode" msgstr "значение OID в pg_enum не задано в режиме двоичного обновления" -#: catalog/pg_enum.c:418 +#: catalog/pg_enum.c:473 #, c-format msgid "ALTER TYPE ADD BEFORE/AFTER is incompatible with binary upgrade" msgstr "" "конструкция ALTER TYPE ADD BEFORE/AFTER несовместима с двоичным обновлением " "данных" -#: catalog/pg_inherits.c:593 +#: catalog/pg_inherits.c:592 #, c-format msgid "cannot detach partition \"%s\"" msgstr "отсоединить секцию \"%s\" нельзя" -#: catalog/pg_inherits.c:595 +#: catalog/pg_inherits.c:594 #, c-format msgid "" "The partition is being detached concurrently or has an unfinished detach." @@ -6433,8 +6840,8 @@ msgstr "" "Эта секция отсоединяется параллельно или для неё не была завершена операция " "отсоединения." -#: catalog/pg_inherits.c:596 commands/tablecmds.c:4579 -#: commands/tablecmds.c:15520 +#: catalog/pg_inherits.c:595 commands/tablecmds.c:4800 +#: commands/tablecmds.c:16153 #, c-format msgid "" "Use ALTER TABLE ... DETACH PARTITION ... FINALIZE to complete the pending " @@ -6443,12 +6850,12 @@ msgstr "" "Чтобы завершить неоконченную операцию отсоединения, выполните команду ALTER " "TABLE ... DETACH PARTITION ... FINALIZE." -#: catalog/pg_inherits.c:600 +#: catalog/pg_inherits.c:599 #, c-format msgid "cannot complete detaching partition \"%s\"" msgstr "завершить отсоединение секции \"%s\" нельзя" -#: catalog/pg_inherits.c:602 +#: catalog/pg_inherits.c:601 #, c-format msgid "There's no pending concurrent detach." msgstr "На данный момент все операции отсоединения завершены." @@ -6458,84 +6865,98 @@ msgstr "На данный момент все операции отсоедин msgid "schema \"%s\" already exists" msgstr "схема \"%s\" уже существует" -#: catalog/pg_operator.c:219 catalog/pg_operator.c:361 +#: catalog/pg_operator.c:213 catalog/pg_operator.c:355 #, c-format msgid "\"%s\" is not a valid operator name" msgstr "имя \"%s\" недопустимо для оператора" -#: catalog/pg_operator.c:370 +#: catalog/pg_operator.c:379 +#, c-format +msgid "operator %s already exists" +msgstr "оператор %s уже существует" + +#: catalog/pg_operator.c:445 commands/operatorcmds.c:600 +#, c-format +msgid "operator cannot be its own negator" +msgstr "оператор не может быть обратным к себе" + +#: catalog/pg_operator.c:572 #, c-format msgid "only binary operators can have commutators" msgstr "коммутативную операцию можно определить только для бинарных операторов" -#: catalog/pg_operator.c:374 commands/operatorcmds.c:509 +#: catalog/pg_operator.c:576 #, c-format msgid "only binary operators can have join selectivity" msgstr "" "функцию оценки соединения можно определить только для бинарных операторов" -#: catalog/pg_operator.c:378 +#: catalog/pg_operator.c:580 #, c-format msgid "only binary operators can merge join" msgstr "" "поддержку соединения слиянием можно обозначить только для бинарных операторов" -#: catalog/pg_operator.c:382 +#: catalog/pg_operator.c:584 #, c-format msgid "only binary operators can hash" msgstr "поддержку хеша можно обозначить только для бинарных операторов" -#: catalog/pg_operator.c:393 +#: catalog/pg_operator.c:593 #, c-format msgid "only boolean operators can have negators" msgstr "обратную операцию можно определить только для логических операторов" -#: catalog/pg_operator.c:397 commands/operatorcmds.c:517 +#: catalog/pg_operator.c:597 #, c-format msgid "only boolean operators can have restriction selectivity" msgstr "" "функцию оценки ограничения можно определить только для логических операторов" -#: catalog/pg_operator.c:401 commands/operatorcmds.c:521 +#: catalog/pg_operator.c:601 #, c-format msgid "only boolean operators can have join selectivity" msgstr "" "функцию оценки соединения можно определить только для логических операторов" -#: catalog/pg_operator.c:405 +#: catalog/pg_operator.c:605 #, c-format msgid "only boolean operators can merge join" msgstr "" "поддержку соединения слиянием можно обозначить только для логических " "операторов" -#: catalog/pg_operator.c:409 +#: catalog/pg_operator.c:609 #, c-format msgid "only boolean operators can hash" msgstr "поддержку хеша можно обозначить только для логических операторов" -#: catalog/pg_operator.c:421 +#: catalog/pg_operator.c:739 #, c-format -msgid "operator %s already exists" -msgstr "оператор %s уже существует" +msgid "commutator operator %s is already the commutator of operator %s" +msgstr "коммутирующий оператор %s уже является коммутирующим для оператора %s" -#: catalog/pg_operator.c:621 +#: catalog/pg_operator.c:744 #, c-format -msgid "operator cannot be its own negator or sort operator" -msgstr "" -"оператор не может быть обратным к себе или собственным оператором сортировки" +msgid "commutator operator %s is already the commutator of operator %u" +msgstr "коммутирующий оператор %s уже является коммутирующим для оператора %u" -#: catalog/pg_parameter_acl.c:53 +#: catalog/pg_operator.c:807 #, c-format -msgid "parameter ACL \"%s\" does not exist" -msgstr "ACL параметра \"%s\" не существует" +msgid "negator operator %s is already the negator of operator %s" +msgstr "обратный оператор %s уже является обратным для оператора %s" + +#: catalog/pg_operator.c:812 +#, c-format +msgid "negator operator %s is already the negator of operator %u" +msgstr "обратный оператор %s уже является обратным для оператора %u" -#: catalog/pg_parameter_acl.c:88 +#: catalog/pg_parameter_acl.c:50 #, c-format -msgid "invalid parameter name \"%s\"" -msgstr "неверное имя параметра \"%s\"" +msgid "parameter ACL \"%s\" does not exist" +msgstr "ACL параметра \"%s\" не существует" -#: catalog/pg_proc.c:132 parser/parse_func.c:2233 +#: catalog/pg_proc.c:130 parser/parse_func.c:2234 #, c-format msgid "functions cannot have more than %d argument" msgid_plural "functions cannot have more than %d arguments" @@ -6543,37 +6964,37 @@ msgstr[0] "функции не могут иметь больше %d аргум msgstr[1] "функции не могут иметь больше %d аргументов" msgstr[2] "функции не могут иметь больше %d аргументов" -#: catalog/pg_proc.c:376 +#: catalog/pg_proc.c:374 #, c-format msgid "function \"%s\" already exists with same argument types" msgstr "функция \"%s\" с аргументами таких типов уже существует" -#: catalog/pg_proc.c:388 +#: catalog/pg_proc.c:386 #, c-format msgid "\"%s\" is an aggregate function." msgstr "\"%s\" — агрегатная функция." -#: catalog/pg_proc.c:390 +#: catalog/pg_proc.c:388 #, c-format msgid "\"%s\" is a function." msgstr "\"%s\" — функция." -#: catalog/pg_proc.c:392 +#: catalog/pg_proc.c:390 #, c-format msgid "\"%s\" is a procedure." msgstr "\"%s\" — процедура." -#: catalog/pg_proc.c:394 +#: catalog/pg_proc.c:392 #, c-format msgid "\"%s\" is a window function." msgstr "\"%s\" — оконная функция." -#: catalog/pg_proc.c:414 +#: catalog/pg_proc.c:412 #, c-format msgid "cannot change whether a procedure has output parameters" msgstr "определить выходные параметры для процедуры нельзя" -#: catalog/pg_proc.c:415 catalog/pg_proc.c:445 +#: catalog/pg_proc.c:413 catalog/pg_proc.c:443 #, c-format msgid "cannot change return type of existing function" msgstr "изменить тип возврата существующей функции нельзя" @@ -6582,118 +7003,118 @@ msgstr "изменить тип возврата существующей фун #. AGGREGATE #. #. translator: first %s is DROP FUNCTION or DROP PROCEDURE -#: catalog/pg_proc.c:421 catalog/pg_proc.c:448 catalog/pg_proc.c:493 -#: catalog/pg_proc.c:519 catalog/pg_proc.c:543 +#: catalog/pg_proc.c:419 catalog/pg_proc.c:446 catalog/pg_proc.c:491 +#: catalog/pg_proc.c:517 catalog/pg_proc.c:541 #, c-format msgid "Use %s %s first." msgstr "Сначала выполните %s %s." -#: catalog/pg_proc.c:446 +#: catalog/pg_proc.c:444 #, c-format msgid "Row type defined by OUT parameters is different." msgstr "Параметры OUT определяют другой тип строки." -#: catalog/pg_proc.c:490 +#: catalog/pg_proc.c:488 #, c-format msgid "cannot change name of input parameter \"%s\"" msgstr "изменить имя входного параметра \"%s\" нельзя" -#: catalog/pg_proc.c:517 +#: catalog/pg_proc.c:515 #, c-format msgid "cannot remove parameter defaults from existing function" msgstr "" "для существующей функции нельзя убрать значения параметров по умолчанию" -#: catalog/pg_proc.c:541 +#: catalog/pg_proc.c:539 #, c-format msgid "cannot change data type of existing parameter default value" msgstr "" "для существующего значения параметра по умолчанию нельзя изменить тип данных" -#: catalog/pg_proc.c:752 +#: catalog/pg_proc.c:750 #, c-format msgid "there is no built-in function named \"%s\"" msgstr "встроенной функции \"%s\" нет" -#: catalog/pg_proc.c:845 +#: catalog/pg_proc.c:843 #, c-format msgid "SQL functions cannot return type %s" msgstr "SQL-функции не могут возвращать тип %s" -#: catalog/pg_proc.c:860 +#: catalog/pg_proc.c:858 #, c-format msgid "SQL functions cannot have arguments of type %s" msgstr "SQL-функции не могут иметь аргументы типа %s" -#: catalog/pg_proc.c:988 executor/functions.c:1467 +#: catalog/pg_proc.c:986 executor/functions.c:1468 #, c-format msgid "SQL function \"%s\"" msgstr "SQL-функция \"%s\"" -#: catalog/pg_publication.c:71 catalog/pg_publication.c:79 -#: catalog/pg_publication.c:87 catalog/pg_publication.c:93 +#: catalog/pg_publication.c:66 catalog/pg_publication.c:74 +#: catalog/pg_publication.c:82 catalog/pg_publication.c:88 #, c-format msgid "cannot add relation \"%s\" to publication" msgstr "добавить отношение \"%s\" в публикацию нельзя" -#: catalog/pg_publication.c:81 +#: catalog/pg_publication.c:76 #, c-format msgid "This operation is not supported for system tables." msgstr "Эта операция не поддерживается для системных таблиц." -#: catalog/pg_publication.c:89 +#: catalog/pg_publication.c:84 #, c-format msgid "This operation is not supported for temporary tables." msgstr "Эта операция не поддерживается для временных таблиц." -#: catalog/pg_publication.c:95 +#: catalog/pg_publication.c:90 #, c-format msgid "This operation is not supported for unlogged tables." msgstr "Эта операция не поддерживается для нежурналируемых таблиц." -#: catalog/pg_publication.c:109 catalog/pg_publication.c:117 +#: catalog/pg_publication.c:104 catalog/pg_publication.c:112 #, c-format msgid "cannot add schema \"%s\" to publication" msgstr "добавить схему \"%s\" в публикацию нельзя" -#: catalog/pg_publication.c:111 +#: catalog/pg_publication.c:106 #, c-format msgid "This operation is not supported for system schemas." msgstr "Эта операция не поддерживается для системных схем." -#: catalog/pg_publication.c:119 +#: catalog/pg_publication.c:114 #, c-format msgid "Temporary schemas cannot be replicated." msgstr "Временные схемы нельзя реплицировать." -#: catalog/pg_publication.c:397 +#: catalog/pg_publication.c:392 #, c-format msgid "relation \"%s\" is already member of publication \"%s\"" msgstr "отношение \"%s\" уже включено в публикацию \"%s\"" -#: catalog/pg_publication.c:539 +#: catalog/pg_publication.c:534 #, c-format msgid "cannot use system column \"%s\" in publication column list" msgstr "" "в списке публикуемых столбцов нельзя использовать системный столбец \"%s\"" -#: catalog/pg_publication.c:545 +#: catalog/pg_publication.c:540 #, c-format msgid "cannot use generated column \"%s\" in publication column list" msgstr "" "в списке публикуемых столбцов нельзя использовать генерируемый столбец \"%s\"" -#: catalog/pg_publication.c:551 +#: catalog/pg_publication.c:546 #, c-format msgid "duplicate column \"%s\" in publication column list" msgstr "в списке публикуемых столбцов повторяется столбец \"%s\"" -#: catalog/pg_publication.c:641 +#: catalog/pg_publication.c:636 #, c-format msgid "schema \"%s\" is already member of publication \"%s\"" msgstr "схема \"%s\" уже включена в публикацию \"%s\"" -#: catalog/pg_shdepend.c:830 +#: catalog/pg_shdepend.c:875 #, c-format msgid "" "\n" @@ -6711,43 +7132,48 @@ msgstr[2] "" "\n" "и объекты в %d других базах данных (см. список в протоколе сервера)" -#: catalog/pg_shdepend.c:1177 +#: catalog/pg_shdepend.c:1222 #, c-format msgid "role %u was concurrently dropped" msgstr "роль %u удалена другим процессом" -#: catalog/pg_shdepend.c:1189 +#: catalog/pg_shdepend.c:1234 #, c-format msgid "tablespace %u was concurrently dropped" msgstr "табличное пространство %u удалено другим процессом" -#: catalog/pg_shdepend.c:1203 +#: catalog/pg_shdepend.c:1248 #, c-format msgid "database %u was concurrently dropped" msgstr "база данных %u удалена другим процессом" -#: catalog/pg_shdepend.c:1254 +#: catalog/pg_shdepend.c:1299 #, c-format msgid "owner of %s" msgstr "владелец объекта %s" -#: catalog/pg_shdepend.c:1256 +#: catalog/pg_shdepend.c:1301 #, c-format msgid "privileges for %s" msgstr "права доступа к объекту %s" -#: catalog/pg_shdepend.c:1258 +#: catalog/pg_shdepend.c:1303 +#, c-format +msgid "initial privileges for %s" +msgstr "начальные права для %s" + +#: catalog/pg_shdepend.c:1305 #, c-format msgid "target of %s" msgstr "субъект политики %s" -#: catalog/pg_shdepend.c:1260 +#: catalog/pg_shdepend.c:1307 #, c-format msgid "tablespace for %s" msgstr "табличное пространство для %s" #. translator: %s will always be "database %s" -#: catalog/pg_shdepend.c:1268 +#: catalog/pg_shdepend.c:1315 #, c-format msgid "%d object in %s" msgid_plural "%d objects in %s" @@ -6755,7 +7181,7 @@ msgstr[0] "%d объект (%s)" msgstr[1] "%d объекта (%s)" msgstr[2] "%d объектов (%s)" -#: catalog/pg_shdepend.c:1332 +#: catalog/pg_shdepend.c:1379 #, c-format msgid "" "cannot drop objects owned by %s because they are required by the database " @@ -6764,7 +7190,7 @@ msgstr "" "удалить объекты, принадлежащие роли %s, нельзя, так как они нужны системе " "баз данных" -#: catalog/pg_shdepend.c:1498 +#: catalog/pg_shdepend.c:1560 #, c-format msgid "" "cannot reassign ownership of objects owned by %s because they are required " @@ -6773,12 +7199,12 @@ msgstr "" "изменить владельца объектов, принадлежащих роли %s, нельзя, так как они " "нужны системе баз данных" -#: catalog/pg_subscription.c:424 +#: catalog/pg_subscription.c:438 #, c-format msgid "could not drop relation mapping for subscription \"%s\"" msgstr "удалить сопоставление отношений для подписки \"%s\" не получилось" -#: catalog/pg_subscription.c:426 +#: catalog/pg_subscription.c:440 #, c-format msgid "" "Table synchronization for relation \"%s\" is in progress and is in state " @@ -6788,7 +7214,7 @@ msgstr "Выполняется синхронизация отношения \"% #. translator: first %s is a SQL ALTER command and second %s is a #. SQL DROP command #. -#: catalog/pg_subscription.c:433 +#: catalog/pg_subscription.c:447 #, c-format msgid "" "Use %s to enable subscription if not already enabled or use %s to drop the " @@ -6797,45 +7223,45 @@ msgstr "" "Выполните %s, чтобы включить подписку, если она ещё не включена, либо %s, " "чтобы удалить её." -#: catalog/pg_type.c:134 catalog/pg_type.c:474 +#: catalog/pg_type.c:133 catalog/pg_type.c:474 #, c-format msgid "pg_type OID value not set when in binary upgrade mode" msgstr "значение OID в pg_type не задано в режиме двоичного обновления" -#: catalog/pg_type.c:254 +#: catalog/pg_type.c:253 #, c-format msgid "invalid type internal size %d" msgstr "неверный внутренний размер типа: %d" -#: catalog/pg_type.c:270 catalog/pg_type.c:278 catalog/pg_type.c:286 -#: catalog/pg_type.c:295 +#: catalog/pg_type.c:269 catalog/pg_type.c:277 catalog/pg_type.c:285 +#: catalog/pg_type.c:294 #, c-format msgid "alignment \"%c\" is invalid for passed-by-value type of size %d" msgstr "" "выравнивание \"%c\" не подходит для типа, передаваемого по значению (с " "размером: %d)" -#: catalog/pg_type.c:302 +#: catalog/pg_type.c:301 #, c-format msgid "internal size %d is invalid for passed-by-value type" msgstr "внутренний размер %d не подходит для типа, передаваемого по значению" -#: catalog/pg_type.c:312 catalog/pg_type.c:318 +#: catalog/pg_type.c:311 catalog/pg_type.c:317 #, c-format msgid "alignment \"%c\" is invalid for variable-length type" msgstr "выравнивание \"%c\" не подходит для типа переменной длины" -#: catalog/pg_type.c:326 commands/typecmds.c:4146 +#: catalog/pg_type.c:325 commands/typecmds.c:4363 #, c-format msgid "fixed-size types must have storage PLAIN" msgstr "для типов постоянного размера применим только режим хранения PLAIN" -#: catalog/pg_type.c:955 +#: catalog/pg_type.c:978 #, c-format msgid "Failed while creating a multirange type for type \"%s\"." msgstr "Ошибка при создании мультидиапазонного типа для типа \"%s\"." -#: catalog/pg_type.c:956 +#: catalog/pg_type.c:979 #, c-format msgid "" "You can manually specify a multirange type name using the " @@ -6844,82 +7270,82 @@ msgstr "" "Имя мультидиапазонного типа можно указать вручную, воспользовавшись " "атрибутом \"multirange_type_name\"." -#: catalog/storage.c:505 storage/buffer/bufmgr.c:1145 +#: catalog/storage.c:508 storage/buffer/bufmgr.c:1540 #, c-format msgid "invalid page in block %u of relation %s" msgstr "неверная страница в блоке %u отношения %s" -#: commands/aggregatecmds.c:171 +#: commands/aggregatecmds.c:167 #, c-format msgid "only ordered-set aggregates can be hypothetical" msgstr "гипотезирующими могут быть только сортирующие агрегатные функции" -#: commands/aggregatecmds.c:196 +#: commands/aggregatecmds.c:192 #, c-format msgid "aggregate attribute \"%s\" not recognized" msgstr "нераспознанный атрибут \"%s\" в определении агрегатной функции" -#: commands/aggregatecmds.c:206 +#: commands/aggregatecmds.c:202 #, c-format msgid "aggregate stype must be specified" msgstr "в определении агрегата требуется stype" -#: commands/aggregatecmds.c:210 +#: commands/aggregatecmds.c:206 #, c-format msgid "aggregate sfunc must be specified" msgstr "в определении агрегата требуется sfunc" -#: commands/aggregatecmds.c:222 +#: commands/aggregatecmds.c:218 #, c-format msgid "aggregate msfunc must be specified when mstype is specified" msgstr "в определении агрегата требуется msfunc, если указан mstype" -#: commands/aggregatecmds.c:226 +#: commands/aggregatecmds.c:222 #, c-format msgid "aggregate minvfunc must be specified when mstype is specified" msgstr "в определении агрегата требуется minvfunc, если указан mstype" -#: commands/aggregatecmds.c:233 +#: commands/aggregatecmds.c:229 #, c-format msgid "aggregate msfunc must not be specified without mstype" msgstr "msfunc для агрегата не должна указываться без mstype" -#: commands/aggregatecmds.c:237 +#: commands/aggregatecmds.c:233 #, c-format msgid "aggregate minvfunc must not be specified without mstype" msgstr "minvfunc для агрегата не должна указываться без mstype" -#: commands/aggregatecmds.c:241 +#: commands/aggregatecmds.c:237 #, c-format msgid "aggregate mfinalfunc must not be specified without mstype" msgstr "mfinalfunc для агрегата не должна указываться без mstype" -#: commands/aggregatecmds.c:245 +#: commands/aggregatecmds.c:241 #, c-format msgid "aggregate msspace must not be specified without mstype" msgstr "msspace для агрегата не должна указываться без mstype" -#: commands/aggregatecmds.c:249 +#: commands/aggregatecmds.c:245 #, c-format msgid "aggregate minitcond must not be specified without mstype" msgstr "minitcond для агрегата не должна указываться без mstype" -#: commands/aggregatecmds.c:278 +#: commands/aggregatecmds.c:274 #, c-format msgid "aggregate input type must be specified" msgstr "в определении агрегата требуется входной тип" -#: commands/aggregatecmds.c:308 +#: commands/aggregatecmds.c:304 #, c-format msgid "basetype is redundant with aggregate input type specification" msgstr "в определении агрегата с указанием входного типа не нужен базовый тип" -#: commands/aggregatecmds.c:351 commands/aggregatecmds.c:392 +#: commands/aggregatecmds.c:347 commands/aggregatecmds.c:388 #, c-format msgid "aggregate transition data type cannot be %s" msgstr "переходным типом агрегата не может быть %s" -#: commands/aggregatecmds.c:363 +#: commands/aggregatecmds.c:359 #, c-format msgid "" "serialization functions may be specified only when the aggregate transition " @@ -6928,100 +7354,100 @@ msgstr "" "функции сериализации могут задаваться, только когда переходный тип данных " "агрегата - %s" -#: commands/aggregatecmds.c:373 +#: commands/aggregatecmds.c:369 #, c-format msgid "" "must specify both or neither of serialization and deserialization functions" msgstr "функции сериализации и десериализации должны задаваться совместно" -#: commands/aggregatecmds.c:438 commands/functioncmds.c:639 +#: commands/aggregatecmds.c:434 commands/functioncmds.c:634 #, c-format msgid "parameter \"parallel\" must be SAFE, RESTRICTED, or UNSAFE" msgstr "" "параметр \"parallel\" должен иметь значение SAFE, RESTRICTED или UNSAFE" -#: commands/aggregatecmds.c:494 +#: commands/aggregatecmds.c:490 #, c-format msgid "parameter \"%s\" must be READ_ONLY, SHAREABLE, or READ_WRITE" msgstr "" "параметр \"%s\" должен иметь характеристику READ_ONLY, SHAREABLE или " "READ_WRITE" -#: commands/alter.c:86 commands/event_trigger.c:174 +#: commands/alter.c:82 commands/event_trigger.c:191 #, c-format msgid "event trigger \"%s\" already exists" msgstr "событийный триггер \"%s\" уже существует" -#: commands/alter.c:89 commands/foreigncmds.c:593 +#: commands/alter.c:85 commands/foreigncmds.c:593 #, c-format msgid "foreign-data wrapper \"%s\" already exists" msgstr "обёртка сторонних данных \"%s\" уже существует" -#: commands/alter.c:92 commands/foreigncmds.c:884 +#: commands/alter.c:88 commands/foreigncmds.c:884 #, c-format msgid "server \"%s\" already exists" msgstr "сервер \"%s\" уже существует" -#: commands/alter.c:95 commands/proclang.c:133 +#: commands/alter.c:91 commands/proclang.c:131 #, c-format msgid "language \"%s\" already exists" msgstr "язык \"%s\" уже существует" -#: commands/alter.c:98 commands/publicationcmds.c:771 +#: commands/alter.c:94 commands/publicationcmds.c:764 #, c-format msgid "publication \"%s\" already exists" msgstr "публикация \"%s\" уже существует" -#: commands/alter.c:101 commands/subscriptioncmds.c:657 +#: commands/alter.c:97 commands/subscriptioncmds.c:669 #, c-format msgid "subscription \"%s\" already exists" msgstr "подписка \"%s\" уже существует" -#: commands/alter.c:124 +#: commands/alter.c:120 #, c-format msgid "conversion \"%s\" already exists in schema \"%s\"" msgstr "преобразование \"%s\" уже существует в схеме \"%s\"" -#: commands/alter.c:128 +#: commands/alter.c:124 #, c-format msgid "statistics object \"%s\" already exists in schema \"%s\"" msgstr "объект статистики \"%s\" уже существует в схеме \"%s\"" -#: commands/alter.c:132 +#: commands/alter.c:128 #, c-format msgid "text search parser \"%s\" already exists in schema \"%s\"" msgstr "анализатор текстового поиска \"%s\" уже существует в схеме \"%s\"" -#: commands/alter.c:136 +#: commands/alter.c:132 #, c-format msgid "text search dictionary \"%s\" already exists in schema \"%s\"" msgstr "словарь текстового поиска \"%s\" уже существует в схеме \"%s\"" -#: commands/alter.c:140 +#: commands/alter.c:136 #, c-format msgid "text search template \"%s\" already exists in schema \"%s\"" msgstr "шаблон текстового поиска \"%s\" уже существует в схеме \"%s\"" -#: commands/alter.c:144 +#: commands/alter.c:140 #, c-format msgid "text search configuration \"%s\" already exists in schema \"%s\"" msgstr "конфигурация текстового поиска \"%s\" уже существует в схеме \"%s\"" -#: commands/alter.c:217 +#: commands/alter.c:213 #, c-format msgid "must be superuser to rename %s" msgstr "переименовать \"%s\" может только суперпользователь" -#: commands/alter.c:259 commands/subscriptioncmds.c:636 -#: commands/subscriptioncmds.c:1116 commands/subscriptioncmds.c:1198 -#: commands/subscriptioncmds.c:1837 +#: commands/alter.c:255 commands/subscriptioncmds.c:648 +#: commands/subscriptioncmds.c:1129 commands/subscriptioncmds.c:1212 +#: commands/subscriptioncmds.c:1918 #, c-format msgid "password_required=false is superuser-only" msgstr "задать password_required=false может только суперпользователь" -#: commands/alter.c:260 commands/subscriptioncmds.c:637 -#: commands/subscriptioncmds.c:1117 commands/subscriptioncmds.c:1199 -#: commands/subscriptioncmds.c:1838 +#: commands/alter.c:256 commands/subscriptioncmds.c:649 +#: commands/subscriptioncmds.c:1130 commands/subscriptioncmds.c:1213 +#: commands/subscriptioncmds.c:1919 #, c-format msgid "" "Subscriptions with the password_required option set to false may only be " @@ -7030,7 +7456,7 @@ msgstr "" "Подписки с параметром password_required option, равным false, могут " "создавать или изменять только суперпользователи." -#: commands/alter.c:775 +#: commands/alter.c:734 #, c-format msgid "must be superuser to set schema of %s" msgstr "для назначения схемы объекта %s нужно быть суперпользователем" @@ -7038,7 +7464,7 @@ msgstr "для назначения схемы объекта %s нужно бы #: commands/amcmds.c:60 #, c-format msgid "permission denied to create access method \"%s\"" -msgstr "нет прав на создание метода доступа \"%s\"" +msgstr "нет прав для создания метода доступа \"%s\"" #: commands/amcmds.c:62 #, c-format @@ -7050,8 +7476,8 @@ msgstr "Для создания метода доступа нужно быть msgid "access method \"%s\" already exists" msgstr "метод доступа \"%s\" уже существует" -#: commands/amcmds.c:154 commands/indexcmds.c:216 commands/indexcmds.c:839 -#: commands/opclasscmds.c:375 commands/opclasscmds.c:833 +#: commands/amcmds.c:154 commands/indexcmds.c:223 commands/indexcmds.c:843 +#: commands/opclasscmds.c:374 commands/opclasscmds.c:832 #, c-format msgid "access method \"%s\" does not exist" msgstr "метод доступа \"%s\" не существует" @@ -7061,46 +7487,46 @@ msgstr "метод доступа \"%s\" не существует" msgid "handler function is not specified" msgstr "не указана функция-обработчик" -#: commands/amcmds.c:264 commands/event_trigger.c:183 -#: commands/foreigncmds.c:489 commands/proclang.c:80 commands/trigger.c:709 -#: parser/parse_clause.c:941 +#: commands/amcmds.c:264 commands/event_trigger.c:200 +#: commands/foreigncmds.c:489 commands/proclang.c:78 commands/trigger.c:702 +#: parser/parse_clause.c:943 #, c-format msgid "function %s must return type %s" msgstr "функция %s должна возвращать тип %s" -#: commands/analyze.c:228 +#: commands/analyze.c:217 #, c-format msgid "skipping \"%s\" --- cannot analyze this foreign table" msgstr "\"%s\" пропускается --- анализировать эту стороннюю таблицу нельзя" -#: commands/analyze.c:245 +#: commands/analyze.c:234 #, c-format msgid "skipping \"%s\" --- cannot analyze non-tables or special system tables" msgstr "" "\"%s\" пропускается --- анализировать не таблицы или специальные системные " "таблицы нельзя" -#: commands/analyze.c:325 +#: commands/analyze.c:314 #, c-format msgid "analyzing \"%s.%s\" inheritance tree" msgstr "анализируется дерево наследования \"%s.%s\"" -#: commands/analyze.c:330 +#: commands/analyze.c:319 #, c-format msgid "analyzing \"%s.%s\"" msgstr "анализируется \"%s.%s\"" -#: commands/analyze.c:395 +#: commands/analyze.c:385 #, c-format msgid "column \"%s\" of relation \"%s\" appears more than once" msgstr "столбец \"%s\" отношения \"%s\" указан неоднократно" -#: commands/analyze.c:787 +#: commands/analyze.c:785 #, c-format msgid "automatic analyze of table \"%s.%s.%s\"\n" msgstr "автоматический анализ таблицы \"%s.%s.%s\"\n" -#: commands/analyze.c:1334 +#: commands/analyze.c:1300 #, c-format msgid "" "\"%s\": scanned %d of %u pages, containing %.0f live rows and %.0f dead " @@ -7110,7 +7536,7 @@ msgstr "" "%.0f, \"мёртвых\" строк: %.0f; строк в выборке: %d, примерное общее число " "строк: %.0f" -#: commands/analyze.c:1418 +#: commands/analyze.c:1384 #, c-format msgid "" "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree " @@ -7119,7 +7545,7 @@ msgstr "" "пропускается анализ дерева наследования \"%s.%s\" --- это дерево " "наследования не содержит дочерних таблиц" -#: commands/analyze.c:1516 +#: commands/analyze.c:1482 #, c-format msgid "" "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree " @@ -7128,22 +7554,22 @@ msgstr "" "пропускается анализ дерева наследования \"%s.%s\" --- это дерево " "наследования не содержит анализируемых дочерних таблиц" -#: commands/async.c:646 +#: commands/async.c:612 #, c-format msgid "channel name cannot be empty" msgstr "имя канала не может быть пустым" -#: commands/async.c:652 +#: commands/async.c:618 #, c-format msgid "channel name too long" msgstr "слишком длинное имя канала" -#: commands/async.c:657 +#: commands/async.c:623 #, c-format msgid "payload string too long" msgstr "слишком длинная строка сообщения-нагрузки" -#: commands/async.c:876 +#: commands/async.c:842 #, c-format msgid "" "cannot PREPARE a transaction that has executed LISTEN, UNLISTEN, or NOTIFY" @@ -7151,17 +7577,17 @@ msgstr "" "выполнить PREPARE для транзакции с командами LISTEN, UNLISTEN или NOTIFY " "нельзя" -#: commands/async.c:980 +#: commands/async.c:946 #, c-format msgid "too many notifications in the NOTIFY queue" msgstr "слишком много уведомлений в очереди NOTIFY" -#: commands/async.c:1602 +#: commands/async.c:1553 #, c-format msgid "NOTIFY queue is %.0f%% full" msgstr "очередь NOTIFY заполнена на %.0f%%" -#: commands/async.c:1604 +#: commands/async.c:1555 #, c-format msgid "" "The server process with PID %d is among those with the oldest transactions." @@ -7169,7 +7595,7 @@ msgstr "" "В число серверных процессов с самыми старыми транзакциями входит процесс с " "PID %d." -#: commands/async.c:1607 +#: commands/async.c:1558 #, c-format msgid "" "The NOTIFY queue cannot be emptied until that process ends its current " @@ -7178,22 +7604,22 @@ msgstr "" "Очередь NOTIFY можно будет освободить, только когда этот процесс завершит " "текущую транзакцию." -#: commands/cluster.c:130 +#: commands/cluster.c:128 #, c-format msgid "unrecognized CLUSTER option \"%s\"" msgstr "нераспознанный параметр CLUSTER: \"%s\"" -#: commands/cluster.c:160 commands/cluster.c:433 +#: commands/cluster.c:159 commands/cluster.c:433 #, c-format msgid "cannot cluster temporary tables of other sessions" msgstr "кластеризовать временные таблицы других сеансов нельзя" -#: commands/cluster.c:178 +#: commands/cluster.c:177 #, c-format msgid "there is no previously clustered index for table \"%s\"" msgstr "таблица \"%s\" ранее не кластеризовалась по какому-либо индексу" -#: commands/cluster.c:192 commands/tablecmds.c:14256 commands/tablecmds.c:16099 +#: commands/cluster.c:191 commands/tablecmds.c:14797 commands/tablecmds.c:16729 #, c-format msgid "index \"%s\" for table \"%s\" does not exist" msgstr "индекс \"%s\" для таблицы \"%s\" не существует" @@ -7208,7 +7634,7 @@ msgstr "кластеризовать разделяемый каталог не msgid "cannot vacuum temporary tables of other sessions" msgstr "очищать временные таблицы других сеансов нельзя" -#: commands/cluster.c:513 commands/tablecmds.c:16109 +#: commands/cluster.c:513 commands/tablecmds.c:16739 #, c-format msgid "\"%s\" is not an index for table \"%s\"" msgstr "\"%s\" не является индексом таблицы \"%s\"" @@ -7236,23 +7662,23 @@ msgstr "нельзя кластеризовать таблицу по невер msgid "cannot mark index clustered in partitioned table" msgstr "пометить индекс как кластеризованный в секционированной таблице нельзя" -#: commands/cluster.c:950 +#: commands/cluster.c:956 #, c-format msgid "clustering \"%s.%s\" using index scan on \"%s\"" msgstr "кластеризация \"%s.%s\" путём сканирования индекса \"%s\"" -#: commands/cluster.c:956 +#: commands/cluster.c:962 #, c-format msgid "clustering \"%s.%s\" using sequential scan and sort" msgstr "" "кластеризация \"%s.%s\" путём последовательного сканирования и сортировки" -#: commands/cluster.c:961 +#: commands/cluster.c:967 #, c-format msgid "vacuuming \"%s.%s\"" msgstr "очистка \"%s.%s\"" -#: commands/cluster.c:988 +#: commands/cluster.c:994 #, c-format msgid "" "\"%s.%s\": found %.0f removable, %.0f nonremovable row versions in %u pages" @@ -7260,7 +7686,7 @@ msgstr "" "\"%s.%s\": найдено удаляемых версий строк: %.0f, неудаляемых: %.0f, " "просмотрено страниц: %u" -#: commands/cluster.c:993 +#: commands/cluster.c:999 #, c-format msgid "" "%.0f dead row versions cannot be removed yet.\n" @@ -7269,33 +7695,39 @@ msgstr "" "В данный момент нельзя удалить \"мёртвых\" строк %.0f.\n" "%s." -#: commands/collationcmds.c:112 +#: commands/cluster.c:1744 +#, c-format +msgid "permission denied to cluster \"%s\", skipping it" +msgstr "нет прав для кластеризации отношения \"%s\", оно пропускается" + +#: commands/collationcmds.c:110 #, c-format msgid "collation attribute \"%s\" not recognized" msgstr "атрибут COLLATION \"%s\" не распознан" -#: commands/collationcmds.c:125 commands/collationcmds.c:131 -#: commands/define.c:389 commands/tablecmds.c:7883 -#: replication/pgoutput/pgoutput.c:309 replication/pgoutput/pgoutput.c:332 -#: replication/pgoutput/pgoutput.c:346 replication/pgoutput/pgoutput.c:356 -#: replication/pgoutput/pgoutput.c:366 replication/pgoutput/pgoutput.c:376 -#: replication/pgoutput/pgoutput.c:386 replication/walsender.c:996 -#: replication/walsender.c:1018 replication/walsender.c:1028 +#: commands/collationcmds.c:123 commands/collationcmds.c:129 +#: commands/define.c:388 commands/tablecmds.c:8129 +#: replication/pgoutput/pgoutput.c:307 replication/pgoutput/pgoutput.c:330 +#: replication/pgoutput/pgoutput.c:344 replication/pgoutput/pgoutput.c:354 +#: replication/pgoutput/pgoutput.c:364 replication/pgoutput/pgoutput.c:374 +#: replication/pgoutput/pgoutput.c:386 replication/walsender.c:1146 +#: replication/walsender.c:1168 replication/walsender.c:1178 +#: replication/walsender.c:1187 replication/walsender.c:1426 #, c-format msgid "conflicting or redundant options" msgstr "конфликтующие или избыточные параметры" -#: commands/collationcmds.c:126 +#: commands/collationcmds.c:124 #, c-format msgid "LOCALE cannot be specified together with LC_COLLATE or LC_CTYPE." msgstr "LOCALE нельзя указать вместе с LC_COLLATE или LC_CTYPE." -#: commands/collationcmds.c:132 +#: commands/collationcmds.c:130 #, c-format msgid "FROM cannot be specified together with any other options." msgstr "FROM нельзя задать вместе с каким-либо другим параметром." -#: commands/collationcmds.c:191 +#: commands/collationcmds.c:189 #, c-format msgid "collation \"default\" cannot be copied" msgstr "правило сортировки \"default\" нельзя скопировать" @@ -7305,103 +7737,97 @@ msgstr "правило сортировки \"default\" нельзя скопи msgid "unrecognized collation provider: %s" msgstr "нераспознанный провайдер правил сортировки: %s" -#: commands/collationcmds.c:253 commands/collationcmds.c:259 -#: commands/collationcmds.c:267 +#: commands/collationcmds.c:253 commands/collationcmds.c:264 +#: commands/collationcmds.c:270 commands/collationcmds.c:278 #, c-format msgid "parameter \"%s\" must be specified" msgstr "необходимо указать параметр \"%s\"" -#: commands/collationcmds.c:282 commands/dbcommands.c:1091 +#: commands/collationcmds.c:293 commands/dbcommands.c:1134 #, c-format msgid "using standard form \"%s\" for ICU locale \"%s\"" msgstr "используется стандартная форма \"%s\" локали ICU \"%s\"" -#: commands/collationcmds.c:301 +#: commands/collationcmds.c:312 #, c-format msgid "nondeterministic collations not supported with this provider" msgstr "" "недетерминированные правила сортировки не поддерживаются данным провайдером" -#: commands/collationcmds.c:306 commands/dbcommands.c:1110 +#: commands/collationcmds.c:317 commands/dbcommands.c:1087 #, c-format msgid "ICU rules cannot be specified unless locale provider is ICU" msgstr "правила ICU можно указать, только если выбран провайдер локали ICU" -#: commands/collationcmds.c:325 +#: commands/collationcmds.c:340 #, c-format msgid "current database's encoding is not supported with this provider" msgstr "кодировка текущей БД не поддерживается данным провайдером" -#: commands/collationcmds.c:385 +#: commands/collationcmds.c:409 #, c-format msgid "collation \"%s\" for encoding \"%s\" already exists in schema \"%s\"" msgstr "" "правило сортировки \"%s\" для кодировки \"%s\" уже существует в схеме \"%s\"" -#: commands/collationcmds.c:396 +#: commands/collationcmds.c:420 #, c-format msgid "collation \"%s\" already exists in schema \"%s\"" msgstr "правило сортировки \"%s\" уже существует в схеме \"%s\"" -#: commands/collationcmds.c:421 +#: commands/collationcmds.c:445 #, c-format msgid "cannot refresh version of default collation" msgstr "нельзя обновить версию правила сортировки по умолчанию" #. translator: %s is an SQL command #. translator: %s is an SQL ALTER command -#: commands/collationcmds.c:423 commands/subscriptioncmds.c:1331 -#: commands/tablecmds.c:7708 commands/tablecmds.c:7718 -#: commands/tablecmds.c:13958 commands/tablecmds.c:17233 -#: commands/tablecmds.c:17254 commands/typecmds.c:3637 commands/typecmds.c:3720 -#: commands/typecmds.c:4013 +#: commands/collationcmds.c:447 commands/subscriptioncmds.c:1376 +#: commands/tablecmds.c:7905 commands/tablecmds.c:7915 +#: commands/tablecmds.c:7917 commands/tablecmds.c:14499 +#: commands/tablecmds.c:17884 commands/tablecmds.c:17905 +#: commands/typecmds.c:3787 commands/typecmds.c:3872 commands/typecmds.c:4226 #, c-format msgid "Use %s instead." msgstr "Выполните %s." -#: commands/collationcmds.c:451 commands/dbcommands.c:2488 +#: commands/collationcmds.c:480 commands/dbcommands.c:2566 #, c-format msgid "changing version from %s to %s" msgstr "изменение версии с %s на %s" -#: commands/collationcmds.c:466 commands/dbcommands.c:2501 +#: commands/collationcmds.c:495 commands/dbcommands.c:2579 #, c-format msgid "version has not changed" msgstr "версия не была изменена" -#: commands/collationcmds.c:499 commands/dbcommands.c:2667 +#: commands/collationcmds.c:528 commands/dbcommands.c:2749 #, c-format msgid "database with OID %u does not exist" msgstr "база данных с OID %u не существует" -#: commands/collationcmds.c:520 +#: commands/collationcmds.c:554 #, c-format msgid "collation with OID %u does not exist" msgstr "правило сортировки с OID %u не существует" -#: commands/collationcmds.c:808 +#: commands/collationcmds.c:848 #, c-format msgid "must be superuser to import system collations" msgstr "" "импортировать системные правила сортировки может только суперпользователь" -#: commands/collationcmds.c:836 commands/copyfrom.c:1671 commands/copyto.c:656 -#: libpq/be-secure-common.c:59 -#, c-format -msgid "could not execute command \"%s\": %m" -msgstr "не удалось выполнить команду \"%s\": %m" - -#: commands/collationcmds.c:928 commands/collationcmds.c:1013 +#: commands/collationcmds.c:968 commands/collationcmds.c:1053 #, c-format msgid "no usable system locales were found" msgstr "пригодные системные локали не найдены" -#: commands/comment.c:61 commands/dbcommands.c:1612 commands/dbcommands.c:1824 -#: commands/dbcommands.c:1934 commands/dbcommands.c:2132 -#: commands/dbcommands.c:2370 commands/dbcommands.c:2461 -#: commands/dbcommands.c:2571 commands/dbcommands.c:3071 -#: utils/init/postinit.c:1021 utils/init/postinit.c:1085 -#: utils/init/postinit.c:1157 +#: commands/comment.c:61 commands/dbcommands.c:1665 commands/dbcommands.c:1883 +#: commands/dbcommands.c:1995 commands/dbcommands.c:2193 +#: commands/dbcommands.c:2433 commands/dbcommands.c:2526 +#: commands/dbcommands.c:2650 commands/dbcommands.c:3161 +#: utils/init/postinit.c:1033 utils/init/postinit.c:1097 +#: utils/init/postinit.c:1170 #, c-format msgid "database \"%s\" does not exist" msgstr "база данных \"%s\" не существует" @@ -7411,42 +7837,42 @@ msgstr "база данных \"%s\" не существует" msgid "cannot set comment on relation \"%s\"" msgstr "задать комментарий для отношения \"%s\" нельзя" -#: commands/constraint.c:63 utils/adt/ri_triggers.c:2028 +#: commands/constraint.c:61 utils/adt/ri_triggers.c:2019 #, c-format msgid "function \"%s\" was not called by trigger manager" msgstr "функция \"%s\" была вызвана не менеджером триггеров" -#: commands/constraint.c:70 utils/adt/ri_triggers.c:2037 +#: commands/constraint.c:68 utils/adt/ri_triggers.c:2028 #, c-format msgid "function \"%s\" must be fired AFTER ROW" msgstr "функция \"%s\" должна запускаться в триггере AFTER для строк" -#: commands/constraint.c:84 +#: commands/constraint.c:82 #, c-format msgid "function \"%s\" must be fired for INSERT or UPDATE" msgstr "функция \"%s\" должна запускаться для INSERT или UPDATE" -#: commands/conversioncmds.c:69 +#: commands/conversioncmds.c:62 #, c-format msgid "source encoding \"%s\" does not exist" msgstr "исходная кодировка \"%s\" не существует" -#: commands/conversioncmds.c:76 +#: commands/conversioncmds.c:69 #, c-format msgid "destination encoding \"%s\" does not exist" msgstr "целевая кодировка \"%s\" не существует" -#: commands/conversioncmds.c:89 +#: commands/conversioncmds.c:82 #, c-format msgid "encoding conversion to or from \"SQL_ASCII\" is not supported" msgstr "преобразование кодировки из/в \"SQL_ASCII\" не поддерживается" -#: commands/conversioncmds.c:102 +#: commands/conversioncmds.c:95 #, c-format msgid "encoding conversion function %s must return type %s" msgstr "функция преобразования кодировки %s должна возвращать тип %s" -#: commands/conversioncmds.c:132 +#: commands/conversioncmds.c:125 #, c-format msgid "" "encoding conversion function %s returned incorrect result for empty input" @@ -7454,12 +7880,12 @@ msgstr "" "функция преобразования кодировки %s возвратила некорректный результат для " "пустой строки" -#: commands/copy.c:86 +#: commands/copy.c:84 #, c-format msgid "permission denied to COPY to or from an external program" msgstr "нет прав для выполнения COPY с внешней программой" -#: commands/copy.c:87 +#: commands/copy.c:85 #, c-format msgid "" "Only roles with privileges of the \"%s\" role may COPY to or from an " @@ -7468,7 +7894,7 @@ msgstr "" "Использовать COPY с внешними программами могут только роли с правами роли " "\"%s\"." -#: commands/copy.c:89 commands/copy.c:100 commands/copy.c:109 +#: commands/copy.c:87 commands/copy.c:98 commands/copy.c:107 #, c-format msgid "" "Anyone can COPY to stdout or from stdin. psql's \\copy command also works " @@ -7477,262 +7903,216 @@ msgstr "" "Не имея административных прав, можно использовать COPY с stdout и stdin (а " "также команду psql \\copy)." -#: commands/copy.c:97 +#: commands/copy.c:95 #, c-format msgid "permission denied to COPY from a file" msgstr "нет прав для выполнения COPY с чтением файла" -#: commands/copy.c:98 +#: commands/copy.c:96 #, c-format msgid "Only roles with privileges of the \"%s\" role may COPY from a file." msgstr "" "Выполнять COPY с чтением файла могут только роли с правами роли \"%s\"." -#: commands/copy.c:106 +#: commands/copy.c:104 #, c-format msgid "permission denied to COPY to a file" msgstr "нет прав для выполнения COPY с записью в файл" -#: commands/copy.c:107 +#: commands/copy.c:105 #, c-format msgid "Only roles with privileges of the \"%s\" role may COPY to a file." msgstr "" "Выполнять COPY с записью в файл могут только роли с правами роли \"%s\"." -#: commands/copy.c:195 +#: commands/copy.c:193 #, c-format msgid "COPY FROM not supported with row-level security" msgstr "COPY FROM не поддерживается с защитой на уровне строк." -#: commands/copy.c:196 +#: commands/copy.c:194 #, c-format msgid "Use INSERT statements instead." msgstr "Используйте операторы INSERT." -#: commands/copy.c:290 -#, c-format -msgid "MERGE not supported in COPY" -msgstr "MERGE не поддерживается в COPY" - -#: commands/copy.c:383 +#: commands/copy.c:375 #, c-format msgid "cannot use \"%s\" with HEADER in COPY TO" msgstr "использовать \"%s\" с параметром HEADER в COPY TO нельзя" -#: commands/copy.c:392 +#: commands/copy.c:384 #, c-format msgid "%s requires a Boolean value or \"match\"" msgstr "%s требует логическое значение или \"match\"" -#: commands/copy.c:451 +#. 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 +#, 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 +#, c-format +msgid "COPY %s \"%s\" not recognized" +msgstr "параметр COPY %s \"%s\" не распознан" + +#: commands/copy.c:502 #, c-format msgid "COPY format \"%s\" not recognized" msgstr "формат \"%s\" для COPY не распознан" -#: commands/copy.c:509 commands/copy.c:522 commands/copy.c:535 -#: commands/copy.c:554 +#: commands/copy.c:560 commands/copy.c:575 commands/copy.c:590 +#: commands/copy.c:609 #, c-format msgid "argument to option \"%s\" must be a list of column names" msgstr "аргументом параметра \"%s\" должен быть список имён столбцов" -#: commands/copy.c:566 +#: commands/copy.c:621 #, c-format msgid "argument to option \"%s\" must be a valid encoding name" msgstr "аргументом параметра \"%s\" должно быть название допустимой кодировки" -#: commands/copy.c:573 commands/dbcommands.c:859 commands/dbcommands.c:2318 +#: commands/copy.c:642 commands/dbcommands.c:866 commands/dbcommands.c:2381 #, c-format msgid "option \"%s\" not recognized" msgstr "параметр \"%s\" не распознан" -#: commands/copy.c:585 -#, c-format -msgid "cannot specify DELIMITER in BINARY mode" -msgstr "в режиме BINARY нельзя указывать DELIMITER" - -#: commands/copy.c:590 +#. 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 #, c-format -msgid "cannot specify NULL in BINARY mode" -msgstr "в режиме BINARY нельзя указывать NULL" +msgid "cannot specify %s in BINARY mode" +msgstr "в режиме BINARY нельзя указывать %s" -#: commands/copy.c:595 +#: commands/copy.c:670 #, c-format -msgid "cannot specify DEFAULT in BINARY mode" -msgstr "в режиме BINARY нельзя указывать DEFAULT" +msgid "only ON_ERROR STOP is allowed in BINARY mode" +msgstr "в режиме BINARY допускается только ON_ERROR STOP" -#: commands/copy.c:617 +#: commands/copy.c:692 #, c-format msgid "COPY delimiter must be a single one-byte character" msgstr "разделитель для COPY должен быть однобайтным символом" -#: commands/copy.c:624 +#: commands/copy.c:699 #, c-format msgid "COPY delimiter cannot be newline or carriage return" msgstr "" "разделителем для COPY не может быть символ новой строки или возврата каретки" -#: commands/copy.c:630 +#: commands/copy.c:705 #, c-format msgid "COPY null representation cannot use newline or carriage return" msgstr "" "представление NULL для COPY не может включать символ новой строки или " "возврата каретки" -#: commands/copy.c:640 +#: commands/copy.c:715 #, c-format msgid "COPY default representation cannot use newline or carriage return" msgstr "" "представление DEFAULT для COPY не может включать символ новой строки или " "возврата каретки" -#: commands/copy.c:658 +#: commands/copy.c:733 #, c-format msgid "COPY delimiter cannot be \"%s\"" msgstr "\"%s\" не может быть разделителем для COPY" -#: commands/copy.c:664 +#. 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 #, c-format -msgid "cannot specify HEADER in BINARY mode" -msgstr "в режиме BINARY нельзя использовать HEADER" +msgid "COPY %s requires CSV mode" +msgstr "для COPY %s требуется режим CSV" -#: commands/copy.c:670 -#, c-format -msgid "COPY quote available only in CSV mode" -msgstr "определить кавычки для COPY можно только в режиме CSV" - -#: commands/copy.c:675 +#: commands/copy.c:752 #, c-format msgid "COPY quote must be a single one-byte character" msgstr "символ кавычек для COPY должен быть однобайтным" -#: commands/copy.c:680 +#: commands/copy.c:757 #, c-format msgid "COPY delimiter and quote must be different" msgstr "символ кавычек для COPY должен отличаться от разделителя" -#: commands/copy.c:686 -#, c-format -msgid "COPY escape available only in CSV mode" -msgstr "определить спецсимвол для COPY можно только в режиме CSV" - -#: commands/copy.c:691 +#: commands/copy.c:769 #, c-format msgid "COPY escape must be a single one-byte character" msgstr "спецсимвол для COPY должен быть однобайтным" -#: commands/copy.c:697 +#. translator: %s is the name of a COPY option, e.g. NULL +#: commands/copy.c:823 commands/copy.c:859 #, c-format -msgid "COPY force quote available only in CSV mode" -msgstr "параметр force quote для COPY можно использовать только в режиме CSV" +msgid "COPY delimiter character must not appear in the %s specification" +msgstr "символ разделителя для COPY не должен присутствовать в указании %s" -#: commands/copy.c:701 +#. translator: %s is the name of a COPY option, e.g. NULL +#: commands/copy.c:832 commands/copy.c:868 #, c-format -msgid "COPY force quote only available using COPY TO" -msgstr "параметр force quote для COPY можно использовать только с COPY TO" +msgid "CSV quote character must not appear in the %s specification" +msgstr "символ кавычек в CSV не должен присутствовать в указании %s" -#: commands/copy.c:707 +#: commands/copy.c:877 #, c-format -msgid "COPY force not null available only in CSV mode" -msgstr "" -"параметр force not null для COPY можно использовать только в режиме CSV" +msgid "NULL specification and DEFAULT specification cannot be the same" +msgstr "представления NULL и DEFAULT не могут быть одинаковыми" -#: commands/copy.c:711 +#: commands/copy.c:939 #, c-format -msgid "COPY force not null only available using COPY FROM" -msgstr "параметр force not null для COPY можно использовать только с COPY FROM" +msgid "column \"%s\" is a generated column" +msgstr "столбец \"%s\" — генерируемый" -#: commands/copy.c:717 +#: commands/copy.c:941 #, c-format -msgid "COPY force null available only in CSV mode" -msgstr "параметр force null для COPY можно использовать только в режиме CSV" +msgid "Generated columns cannot be used in COPY." +msgstr "Генерируемые столбцы нельзя использовать в COPY." -#: commands/copy.c:722 +#: commands/copy.c:956 commands/indexcmds.c:1883 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 #, c-format -msgid "COPY force null only available using COPY FROM" -msgstr "параметр force null для COPY можно использовать только с COPY FROM" +msgid "column \"%s\" does not exist" +msgstr "столбец \"%s\" не существует" -#: commands/copy.c:728 +#: commands/copy.c:963 commands/tablecmds.c:2552 commands/trigger.c:951 +#: parser/parse_target.c:1083 parser/parse_target.c:1094 #, c-format -msgid "COPY delimiter must not appear in the NULL specification" -msgstr "разделитель для COPY не должен присутствовать в представлении NULL" +msgid "column \"%s\" specified more than once" +msgstr "столбец \"%s\" указан неоднократно" -#: commands/copy.c:735 +#: commands/copyfrom.c:118 #, c-format -msgid "CSV quote character must not appear in the NULL specification" -msgstr "символ кавычек в CSV не должен присутствовать в представлении NULL" +msgid "COPY %s" +msgstr "COPY %s" -#: commands/copy.c:742 +#: commands/copyfrom.c:126 #, c-format -msgid "COPY DEFAULT only available using COPY FROM" -msgstr "параметр DEFAULT для COPY можно использовать только с COPY FROM" +msgid "COPY %s, line %llu, column %s" +msgstr "COPY %s, строка %llu, столбец %s" -#: commands/copy.c:748 -#, c-format -msgid "COPY delimiter must not appear in the DEFAULT specification" -msgstr "разделитель для COPY не должен присутствовать в представлении DEFAULT" - -#: commands/copy.c:755 -#, c-format -msgid "CSV quote character must not appear in the DEFAULT specification" -msgstr "символ кавычек в CSV не должен присутствовать в представлении DEFAULT" - -#: commands/copy.c:763 -#, c-format -msgid "NULL specification and DEFAULT specification cannot be the same" -msgstr "представления NULL и DEFAULT не могут быть одинаковыми" - -#: commands/copy.c:825 -#, c-format -msgid "column \"%s\" is a generated column" -msgstr "столбец \"%s\" — генерируемый" - -#: commands/copy.c:827 -#, c-format -msgid "Generated columns cannot be used in COPY." -msgstr "Генерируемые столбцы нельзя использовать в COPY." - -#: commands/copy.c:842 commands/indexcmds.c:1886 commands/statscmds.c:242 -#: commands/tablecmds.c:2401 commands/tablecmds.c:3123 -#: commands/tablecmds.c:3622 parser/parse_relation.c:3698 -#: parser/parse_relation.c:3708 parser/parse_relation.c:3726 -#: parser/parse_relation.c:3733 parser/parse_relation.c:3747 -#: utils/adt/tsvector_op.c:2855 -#, c-format -msgid "column \"%s\" does not exist" -msgstr "столбец \"%s\" не существует" - -#: commands/copy.c:849 commands/tablecmds.c:2427 commands/trigger.c:958 -#: parser/parse_target.c:1084 parser/parse_target.c:1095 -#, c-format -msgid "column \"%s\" specified more than once" -msgstr "столбец \"%s\" указан неоднократно" - -#: commands/copyfrom.c:122 -#, c-format -msgid "COPY %s" -msgstr "COPY %s" - -#: commands/copyfrom.c:130 -#, c-format -msgid "COPY %s, line %llu, column %s" -msgstr "COPY %s, строка %llu, столбец %s" - -#: commands/copyfrom.c:135 commands/copyfrom.c:181 +#: commands/copyfrom.c:131 commands/copyfrom.c:177 #, c-format msgid "COPY %s, line %llu" msgstr "COPY %s, строка %llu" -#: commands/copyfrom.c:147 +#: commands/copyfrom.c:143 #, c-format msgid "COPY %s, line %llu, column %s: \"%s\"" msgstr "COPY %s, строка %llu, столбец %s: \"%s\"" -#: commands/copyfrom.c:157 +#: commands/copyfrom.c:153 #, c-format msgid "COPY %s, line %llu, column %s: null input" msgstr "COPY %s, строка %llu, столбец %s: значение NULL" -#: commands/copyfrom.c:174 +#: commands/copyfrom.c:170 #, c-format msgid "COPY %s, line %llu: \"%s\"" msgstr "COPY %s, строка %llu: \"%s\"" @@ -7783,24 +8163,29 @@ msgstr "" "выполнить COPY FREEZE нельзя, так как таблица не была создана или усечена в " "текущей подтранзакции" -#: commands/copyfrom.c:1414 +#: commands/copyfrom.c:1313 #, c-format -msgid "FORCE_NOT_NULL column \"%s\" not referenced by COPY" -msgstr "столбец FORCE_NOT_NULL \"%s\" не фигурирует в COPY" +msgid "%llu row was skipped due to data type incompatibility" +msgid_plural "%llu rows were skipped due to data type incompatibility" +msgstr[0] "из-за несовместимости типов данных пропущена %llu строка" +msgstr[1] "из-за несовместимости типов данных пропущены %llu строки" +msgstr[2] "из-за несовместимости типов данных пропущены %llu строк" -#: commands/copyfrom.c:1437 +#. translator: first %s is the name of a COPY option, e.g. FORCE_NOT_NULL +#. translator: %s is the name of a COPY option, e.g. FORCE_NOT_NULL +#: commands/copyfrom.c:1448 commands/copyfrom.c:1491 commands/copyto.c:601 #, c-format -msgid "FORCE_NULL column \"%s\" not referenced by COPY" -msgstr "столбец FORCE_NULL \"%s\" не фигурирует в COPY" +msgid "%s column \"%s\" not referenced by COPY" +msgstr "столбец %s \"%s\" не входит в список столбцов COPY" -#: commands/copyfrom.c:1490 utils/mb/mbutils.c:386 +#: commands/copyfrom.c:1544 utils/mb/mbutils.c:385 #, c-format msgid "" "default conversion function for encoding \"%s\" to \"%s\" does not exist" msgstr "" "стандартной функции преобразования из кодировки \"%s\" в \"%s\" не существует" -#: commands/copyfrom.c:1690 +#: commands/copyfrom.c:1742 #, c-format msgid "" "COPY FROM instructs the PostgreSQL server process to read a file. You may " @@ -7810,17 +8195,17 @@ msgstr "" "файла. Возможно, на самом деле вам нужно клиентское средство, например, " "\\copy в psql." -#: commands/copyfrom.c:1703 commands/copyto.c:708 +#: commands/copyfrom.c:1755 commands/copyto.c:706 #, c-format msgid "\"%s\" is a directory" msgstr "\"%s\" - это каталог" -#: commands/copyfrom.c:1771 commands/copyto.c:306 libpq/be-secure-common.c:83 +#: commands/copyfrom.c:1823 commands/copyto.c:299 libpq/be-secure-common.c:83 #, c-format msgid "could not close pipe to external command: %m" msgstr "не удалось закрыть канал сообщений с внешней командой: %m" -#: commands/copyfrom.c:1786 commands/copyto.c:311 +#: commands/copyfrom.c:1838 commands/copyto.c:304 #, c-format msgid "program \"%s\" failed" msgstr "сбой программы \"%s\"" @@ -7861,17 +8246,17 @@ msgid "could not read from COPY file: %m" msgstr "не удалось прочитать файл COPY: %m" #: commands/copyfromparse.c:278 commands/copyfromparse.c:303 -#: tcop/postgres.c:377 +#: replication/walsender.c:756 replication/walsender.c:782 tcop/postgres.c:381 #, c-format msgid "unexpected EOF on client connection with an open transaction" msgstr "неожиданный обрыв соединения с клиентом при открытой транзакции" -#: commands/copyfromparse.c:294 +#: commands/copyfromparse.c:294 replication/walsender.c:772 #, c-format msgid "unexpected message type 0x%02X during COPY from stdin" msgstr "неожиданный тип сообщения 0x%02X при вводе данных COPY из stdin" -#: commands/copyfromparse.c:317 +#: commands/copyfromparse.c:317 replication/walsender.c:803 #, c-format msgid "COPY from stdin failed: %s" msgstr "ошибка при вводе данных COPY из stdin: %s" @@ -7898,8 +8283,8 @@ msgstr "" "несоответствие имени столбца в поле %d строки заголовка: получено \"%s\", " "ожидалось \"%s\"" -#: commands/copyfromparse.c:892 commands/copyfromparse.c:1512 -#: commands/copyfromparse.c:1768 +#: commands/copyfromparse.c:892 commands/copyfromparse.c:1554 +#: commands/copyfromparse.c:1810 #, c-format msgid "extra data after last expected column" msgstr "лишние данные после содержимого последнего столбца" @@ -7909,193 +8294,211 @@ msgstr "лишние данные после содержимого послед msgid "missing data for column \"%s\"" msgstr "нет данных для столбца \"%s\"" -#: commands/copyfromparse.c:999 +#: commands/copyfromparse.c:990 +#, c-format +msgid "" +"skipping row due to data type incompatibility at line %llu for column " +"\"%s\": \"%s\"" +msgstr "" +"строка пропускается из-за несовместимости данных в строке %llu, столбце " +"\"%s\": \"%s\"" + +#: commands/copyfromparse.c:998 +#, c-format +msgid "" +"skipping row due to data type incompatibility at line %llu for column " +"\"%s\": null input" +msgstr "" +"строка пропускается из-за несовместимости данных в строке %llu, столбце " +"\"%s\": значение null" + +#: commands/copyfromparse.c:1044 #, c-format msgid "received copy data after EOF marker" msgstr "после маркера конца файла продолжаются данные COPY" -#: commands/copyfromparse.c:1006 +#: commands/copyfromparse.c:1051 #, c-format msgid "row field count is %d, expected %d" msgstr "количество полей в строке: %d, ожидалось: %d" -#: commands/copyfromparse.c:1294 commands/copyfromparse.c:1311 +#: commands/copyfromparse.c:1336 commands/copyfromparse.c:1353 #, c-format msgid "literal carriage return found in data" msgstr "в данных обнаружен явный возврат каретки" -#: commands/copyfromparse.c:1295 commands/copyfromparse.c:1312 +#: commands/copyfromparse.c:1337 commands/copyfromparse.c:1354 #, c-format msgid "unquoted carriage return found in data" msgstr "в данных обнаружен возврат каретки не в кавычках" -#: commands/copyfromparse.c:1297 commands/copyfromparse.c:1314 +#: commands/copyfromparse.c:1339 commands/copyfromparse.c:1356 #, c-format msgid "Use \"\\r\" to represent carriage return." msgstr "Представьте возврат каретки как \"\\r\"." -#: commands/copyfromparse.c:1298 commands/copyfromparse.c:1315 +#: commands/copyfromparse.c:1340 commands/copyfromparse.c:1357 #, c-format msgid "Use quoted CSV field to represent carriage return." msgstr "Заключите возврат каретки в кавычки CSV." -#: commands/copyfromparse.c:1327 +#: commands/copyfromparse.c:1369 #, c-format msgid "literal newline found in data" msgstr "в данных обнаружен явный символ новой строки" -#: commands/copyfromparse.c:1328 +#: commands/copyfromparse.c:1370 #, c-format msgid "unquoted newline found in data" msgstr "в данных обнаружен явный символ новой строки не в кавычках" -#: commands/copyfromparse.c:1330 +#: commands/copyfromparse.c:1372 #, c-format msgid "Use \"\\n\" to represent newline." msgstr "Представьте символ новой строки как \"\\n\"." -#: commands/copyfromparse.c:1331 +#: commands/copyfromparse.c:1373 #, c-format msgid "Use quoted CSV field to represent newline." msgstr "Заключите символ новой строки в кавычки CSV." -#: commands/copyfromparse.c:1377 commands/copyfromparse.c:1413 +#: commands/copyfromparse.c:1419 commands/copyfromparse.c:1455 #, c-format msgid "end-of-copy marker does not match previous newline style" msgstr "маркер \"конец копии\" не соответствует предыдущему стилю новой строки" -#: commands/copyfromparse.c:1386 commands/copyfromparse.c:1402 +#: commands/copyfromparse.c:1428 commands/copyfromparse.c:1444 #, c-format msgid "end-of-copy marker corrupt" msgstr "маркер \"конец копии\" испорчен" -#: commands/copyfromparse.c:1704 commands/copyfromparse.c:1919 +#: commands/copyfromparse.c:1746 commands/copyfromparse.c:1961 #, c-format msgid "unexpected default marker in COPY data" msgstr "неожиданный маркер DEFAULT в данных COPY" -#: commands/copyfromparse.c:1705 commands/copyfromparse.c:1920 +#: commands/copyfromparse.c:1747 commands/copyfromparse.c:1962 #, c-format msgid "Column \"%s\" has no default value." msgstr "Для столбца \"%s\" не определено значение по умолчанию." -#: commands/copyfromparse.c:1852 +#: commands/copyfromparse.c:1894 #, c-format msgid "unterminated CSV quoted field" msgstr "незавершённое поле в кавычках CSV" -#: commands/copyfromparse.c:1954 commands/copyfromparse.c:1973 +#: commands/copyfromparse.c:1996 commands/copyfromparse.c:2015 #, c-format msgid "unexpected EOF in COPY data" msgstr "неожиданный конец данных COPY" -#: commands/copyfromparse.c:1963 +#: commands/copyfromparse.c:2005 #, c-format msgid "invalid field size" msgstr "неверный размер поля" -#: commands/copyfromparse.c:1986 +#: commands/copyfromparse.c:2028 #, c-format msgid "incorrect binary data format" msgstr "неверный двоичный формат данных" -#: commands/copyto.c:236 +#: commands/copyto.c:229 #, c-format msgid "could not write to COPY program: %m" msgstr "не удалось записать в канал программы COPY: %m" -#: commands/copyto.c:241 +#: commands/copyto.c:234 #, c-format msgid "could not write to COPY file: %m" msgstr "не удалось записать в файл COPY: %m" -#: commands/copyto.c:386 +#: commands/copyto.c:379 #, c-format msgid "cannot copy from view \"%s\"" msgstr "копировать из представления \"%s\" нельзя" -#: commands/copyto.c:388 commands/copyto.c:394 commands/copyto.c:400 -#: commands/copyto.c:411 +#: commands/copyto.c:381 commands/copyto.c:387 commands/copyto.c:393 +#: commands/copyto.c:404 #, c-format msgid "Try the COPY (SELECT ...) TO variant." msgstr "Попробуйте вариацию COPY (SELECT ...) TO." -#: commands/copyto.c:392 +#: commands/copyto.c:385 #, c-format msgid "cannot copy from materialized view \"%s\"" msgstr "копировать из материализованного представления \"%s\" нельзя" -#: commands/copyto.c:398 +#: commands/copyto.c:391 #, c-format msgid "cannot copy from foreign table \"%s\"" msgstr "копировать из сторонней таблицы \"%s\" нельзя" -#: commands/copyto.c:404 +#: commands/copyto.c:397 #, c-format msgid "cannot copy from sequence \"%s\"" msgstr "копировать из последовательности \"%s\" нельзя" -#: commands/copyto.c:409 +#: commands/copyto.c:402 #, c-format msgid "cannot copy from partitioned table \"%s\"" msgstr "копировать из секционированной таблицы \"%s\" нельзя" -#: commands/copyto.c:415 +#: commands/copyto.c:408 #, c-format msgid "cannot copy from non-table relation \"%s\"" msgstr "копировать из отношения \"%s\", не являющегося таблицей, нельзя" -#: commands/copyto.c:467 +#: commands/copyto.c:460 #, c-format msgid "DO INSTEAD NOTHING rules are not supported for COPY" msgstr "правила DO INSTEAD NOTHING не поддерживаются с COPY" -#: commands/copyto.c:481 +#: commands/copyto.c:474 #, c-format msgid "conditional DO INSTEAD rules are not supported for COPY" msgstr "условные правила DO INSTEAD не поддерживаются с COPY" -#: commands/copyto.c:485 +#: commands/copyto.c:478 #, c-format -msgid "DO ALSO rules are not supported for the COPY" +msgid "DO ALSO rules are not supported for COPY" msgstr "правила DO ALSO не поддерживаются с COPY" -#: commands/copyto.c:490 +#: commands/copyto.c:483 #, c-format msgid "multi-statement DO INSTEAD rules are not supported for COPY" msgstr "составные правила DO INSTEAD не поддерживаются с COPY" -#: commands/copyto.c:500 +#: commands/copyto.c:493 #, c-format msgid "COPY (SELECT INTO) is not supported" msgstr "COPY (SELECT INTO) не поддерживается" -#: commands/copyto.c:517 +#: commands/copyto.c:499 +#, c-format +msgid "COPY query must not be a utility command" +msgstr "служебная команда в запросе COPY не допускается" + +#: commands/copyto.c:515 #, c-format msgid "COPY query must have a RETURNING clause" msgstr "в запросе COPY должно быть предложение RETURNING" -#: commands/copyto.c:546 +#: commands/copyto.c:544 #, c-format msgid "relation referenced by COPY statement has changed" msgstr "отношение, задействованное в операторе COPY, изменилось" -#: commands/copyto.c:605 -#, c-format -msgid "FORCE_QUOTE column \"%s\" not referenced by COPY" -msgstr "столбец FORCE_QUOTE \"%s\" не фигурирует в COPY" - -#: commands/copyto.c:673 +#: commands/copyto.c:671 #, c-format msgid "relative path not allowed for COPY to file" msgstr "при выполнении COPY в файл нельзя указывать относительный путь" -#: commands/copyto.c:692 +#: commands/copyto.c:690 #, c-format msgid "could not open file \"%s\" for writing: %m" msgstr "не удалось открыть файл \"%s\" для записи: %m" -#: commands/copyto.c:695 +#: commands/copyto.c:693 #, c-format msgid "" "COPY TO instructs the PostgreSQL server process to write a file. You may " @@ -8105,124 +8508,135 @@ msgstr "" "Возможно, на самом деле вам нужно клиентское средство, например, \\copy в " "psql." -#: commands/createas.c:215 commands/createas.c:523 +#: commands/createas.c:210 commands/createas.c:516 #, c-format msgid "too many column names were specified" msgstr "указано слишком много имён столбцов" -#: commands/createas.c:546 +#: commands/createas.c:539 #, c-format msgid "policies not yet implemented for this command" msgstr "политики для этой команды ещё не реализованы" -#: commands/dbcommands.c:822 +#: commands/dbcommands.c:829 #, c-format msgid "LOCATION is not supported anymore" msgstr "LOCATION больше не поддерживается" -#: commands/dbcommands.c:823 +#: commands/dbcommands.c:830 #, c-format msgid "Consider using tablespaces instead." msgstr "Рассмотрите возможность использования табличных пространств." -#: commands/dbcommands.c:848 +#: commands/dbcommands.c:855 #, c-format msgid "OIDs less than %u are reserved for system objects" msgstr "значения OID меньше %u зарезервированы для системных объектов" -#: commands/dbcommands.c:879 utils/adt/ascii.c:146 +#: commands/dbcommands.c:886 utils/adt/ascii.c:146 #, c-format msgid "%d is not a valid encoding code" msgstr "%d не является верным кодом кодировки" -#: commands/dbcommands.c:890 utils/adt/ascii.c:128 +#: commands/dbcommands.c:897 utils/adt/ascii.c:128 #, c-format msgid "%s is not a valid encoding name" msgstr "%s не является верным названием кодировки" -#: commands/dbcommands.c:919 +#: commands/dbcommands.c:931 #, c-format msgid "unrecognized locale provider: %s" msgstr "нераспознанный провайдер локали: %s" -#: commands/dbcommands.c:932 commands/dbcommands.c:2351 commands/user.c:300 -#: commands/user.c:740 +#: commands/dbcommands.c:944 commands/dbcommands.c:2414 commands/user.c:299 +#: commands/user.c:739 #, c-format msgid "invalid connection limit: %d" msgstr "неверный предел подключений: %d" -#: commands/dbcommands.c:953 +#: commands/dbcommands.c:965 #, c-format msgid "permission denied to create database" -msgstr "нет прав на создание базы данных" +msgstr "нет прав для создания базы данных" -#: commands/dbcommands.c:977 +#: commands/dbcommands.c:989 #, c-format msgid "template database \"%s\" does not exist" msgstr "шаблон базы данных \"%s\" не существует" -#: commands/dbcommands.c:987 +#: commands/dbcommands.c:999 #, c-format msgid "cannot use invalid database \"%s\" as template" msgstr "использовать некорректную базу \"%s\" в качестве шаблона нельзя" -#: commands/dbcommands.c:988 commands/dbcommands.c:2380 -#: utils/init/postinit.c:1100 +#: commands/dbcommands.c:1000 commands/dbcommands.c:2444 +#: utils/init/postinit.c:1112 #, c-format msgid "Use DROP DATABASE to drop invalid databases." msgstr "Выполните DROP DATABASE для удаления некорректных баз данных." -#: commands/dbcommands.c:999 +#: commands/dbcommands.c:1011 #, c-format msgid "permission denied to copy database \"%s\"" -msgstr "нет прав на копирование базы данных \"%s\"" +msgstr "нет прав для копирования базы данных \"%s\"" -#: commands/dbcommands.c:1016 +#: commands/dbcommands.c:1028 #, c-format msgid "invalid create database strategy \"%s\"" msgstr "неверная стратегия создания БД \"%s\"" -#: commands/dbcommands.c:1017 +#: commands/dbcommands.c:1029 #, c-format msgid "Valid strategies are \"wal_log\" and \"file_copy\"." msgstr "Возможные стратегии: \"wal_log\" и \"file_copy\"." -#: commands/dbcommands.c:1043 +#: commands/dbcommands.c:1050 #, c-format msgid "invalid server encoding %d" msgstr "неверная кодировка для сервера: %d" -#: commands/dbcommands.c:1049 +#: commands/dbcommands.c:1056 #, c-format msgid "invalid LC_COLLATE locale name: \"%s\"" msgstr "неверное имя локали LC_COLLATE: \"%s\"" -#: commands/dbcommands.c:1050 commands/dbcommands.c:1056 +#: commands/dbcommands.c:1057 commands/dbcommands.c:1063 #, c-format msgid "If the locale name is specific to ICU, use ICU_LOCALE." msgstr "Если эта локаль свойственна ICU, используйте ICU_LOCALE." -#: commands/dbcommands.c:1055 +#: commands/dbcommands.c:1062 #, c-format msgid "invalid LC_CTYPE locale name: \"%s\"" msgstr "неверное имя локали LC_CTYPE: \"%s\"" -#: commands/dbcommands.c:1066 +#: commands/dbcommands.c:1074 +#, c-format +msgid "BUILTIN_LOCALE cannot be specified unless locale provider is builtin" +msgstr "" +"BUILTIN_LOCALE можно указать, только если выбран встроенный провайдер локали" + +#: commands/dbcommands.c:1082 +#, c-format +msgid "ICU locale cannot be specified unless locale provider is ICU" +msgstr "локаль ICU можно указать, только если выбран провайдер локали ICU" + +#: commands/dbcommands.c:1100 +#, c-format +msgid "LOCALE or BUILTIN_LOCALE must be specified" +msgstr "необходимо указать LOCALE или BUILTIN_LOCALE" + +#: commands/dbcommands.c:1109 #, c-format msgid "encoding \"%s\" is not supported with ICU provider" msgstr "кодировка \"%s\" не поддерживается провайдером ICU" -#: commands/dbcommands.c:1076 +#: commands/dbcommands.c:1119 #, c-format msgid "LOCALE or ICU_LOCALE must be specified" msgstr "необходимо задать LOCALE или ICU_LOCALE" -#: commands/dbcommands.c:1105 -#, c-format -msgid "ICU locale cannot be specified unless locale provider is ICU" -msgstr "локаль ICU можно указать, только если выбран провайдер локали ICU" - -#: commands/dbcommands.c:1128 +#: commands/dbcommands.c:1163 #, c-format msgid "" "new encoding (%s) is incompatible with the encoding of the template database " @@ -8230,7 +8644,7 @@ msgid "" msgstr "" "новая кодировка (%s) несовместима с кодировкой шаблона базы данных (%s)" -#: commands/dbcommands.c:1131 +#: commands/dbcommands.c:1166 #, c-format msgid "" "Use the same encoding as in the template database, or use template0 as " @@ -8239,7 +8653,7 @@ msgstr "" "Используйте кодировку шаблона базы данных или выберите в качестве шаблона " "template0." -#: commands/dbcommands.c:1136 +#: commands/dbcommands.c:1171 #, c-format msgid "" "new collation (%s) is incompatible with the collation of the template " @@ -8248,7 +8662,7 @@ msgstr "" "новое правило сортировки (%s) несовместимо с правилом в шаблоне базы данных " "(%s)" -#: commands/dbcommands.c:1138 +#: commands/dbcommands.c:1173 #, c-format msgid "" "Use the same collation as in the template database, or use template0 as " @@ -8257,7 +8671,7 @@ msgstr "" "Используйте то же правило сортировки, что и в шаблоне базы данных, или " "выберите в качестве шаблона template0." -#: commands/dbcommands.c:1143 +#: commands/dbcommands.c:1178 #, c-format msgid "" "new LC_CTYPE (%s) is incompatible with the LC_CTYPE of the template database " @@ -8266,7 +8680,7 @@ msgstr "" "новый параметр LC_CTYPE (%s) несовместим с LC_CTYPE в шаблоне базы данных " "(%s)" -#: commands/dbcommands.c:1145 +#: commands/dbcommands.c:1180 #, c-format msgid "" "Use the same LC_CTYPE as in the template database, or use template0 as " @@ -8275,7 +8689,7 @@ msgstr "" "Используйте тот же LC_CTYPE, что и в шаблоне базы данных, или выберите в " "качестве шаблона template0." -#: commands/dbcommands.c:1150 +#: commands/dbcommands.c:1185 #, c-format msgid "" "new locale provider (%s) does not match locale provider of the template " @@ -8284,7 +8698,7 @@ msgstr "" "новый провайдер локали (%s) не соответствует провайдеру локали в базе-" "шаблоне (%s)" -#: commands/dbcommands.c:1152 +#: commands/dbcommands.c:1187 #, c-format msgid "" "Use the same locale provider as in the template database, or use template0 " @@ -8293,14 +8707,14 @@ msgstr "" "Используйте тот же провайдер локали, что и в базе-шаблоне, или выберите в " "качестве шаблона template0." -#: commands/dbcommands.c:1164 +#: commands/dbcommands.c:1199 #, c-format msgid "" "new ICU locale (%s) is incompatible with the ICU locale of the template " "database (%s)" msgstr "новая локаль ICU (%s) несовместима с локалью ICU в базе-шаблоне (%s)" -#: commands/dbcommands.c:1166 +#: commands/dbcommands.c:1201 #, c-format msgid "" "Use the same ICU locale as in the template database, or use template0 as " @@ -8309,7 +8723,7 @@ msgstr "" "Используйте ту же локаль ICU, что и в базе-шаблоне, или выберите в качестве " "шаблона template0." -#: commands/dbcommands.c:1177 +#: commands/dbcommands.c:1212 #, c-format msgid "" "new ICU collation rules (%s) are incompatible with the ICU collation rules " @@ -8318,7 +8732,7 @@ msgstr "" "новые правила сортировки ICU (%s) несовместимы с правилами сортировки в " "шаблоне базы данных (%s)" -#: commands/dbcommands.c:1179 +#: commands/dbcommands.c:1214 #, c-format msgid "" "Use the same ICU collation rules as in the template database, or use " @@ -8327,7 +8741,7 @@ msgstr "" "Используйте те же правила сортировки, что и в шаблоне базы данных, или " "выберите в качестве шаблона template0." -#: commands/dbcommands.c:1202 +#: commands/dbcommands.c:1243 #, c-format msgid "" "template database \"%s\" has a collation version, but no actual collation " @@ -8336,13 +8750,13 @@ msgstr "" "в шаблоне \"%s\" имеется версия правила сортировки, но фактическую версию " "правила сортировки определить нельзя" -#: commands/dbcommands.c:1207 +#: commands/dbcommands.c:1248 #, c-format msgid "template database \"%s\" has a collation version mismatch" msgstr "" "в базе-шаблоне \"%s\" обнаружено несоответствие версии правила сортировки" -#: commands/dbcommands.c:1209 +#: commands/dbcommands.c:1250 #, c-format msgid "" "The template database was created using collation version %s, but the " @@ -8351,7 +8765,7 @@ msgstr "" "База-шаблон была создана с версией правила сортировки %s, но операционная " "система предоставляет версию %s." -#: commands/dbcommands.c:1212 +#: commands/dbcommands.c:1253 #, c-format msgid "" "Rebuild all objects in the template database that use the default collation " @@ -8362,18 +8776,18 @@ msgstr "" "сортировки, и выполните ALTER DATABASE %s REFRESH COLLATION VERSION, либо " "соберите PostgreSQL с правильной версией библиотеки." -#: commands/dbcommands.c:1248 commands/dbcommands.c:1980 +#: commands/dbcommands.c:1298 commands/dbcommands.c:2041 #, c-format msgid "pg_global cannot be used as default tablespace" msgstr "" "pg_global нельзя использовать в качестве табличного пространства по умолчанию" -#: commands/dbcommands.c:1274 +#: commands/dbcommands.c:1324 #, c-format msgid "cannot assign new default tablespace \"%s\"" msgstr "не удалось назначить новое табличное пространство по умолчанию \"%s\"" -#: commands/dbcommands.c:1276 +#: commands/dbcommands.c:1326 #, c-format msgid "" "There is a conflict because database \"%s\" already has some tables in this " @@ -8382,62 +8796,63 @@ msgstr "" "База данных \"%s\" содержит таблицы, которые уже находятся в этом табличном " "пространстве." -#: commands/dbcommands.c:1306 commands/dbcommands.c:1853 +#: commands/dbcommands.c:1356 commands/dbcommands.c:1912 #, c-format msgid "database \"%s\" already exists" msgstr "база данных \"%s\" уже существует" -#: commands/dbcommands.c:1320 +#: commands/dbcommands.c:1370 #, c-format msgid "source database \"%s\" is being accessed by other users" msgstr "исходная база \"%s\" занята другими пользователями" -#: commands/dbcommands.c:1342 +#: commands/dbcommands.c:1392 #, c-format msgid "database OID %u is already in use by database \"%s\"" msgstr "OID базы данных %u уже используется базой данных \"%s\"" -#: commands/dbcommands.c:1348 +#: commands/dbcommands.c:1398 #, c-format msgid "data directory with the specified OID %u already exists" msgstr "каталог данных с указанным OID %u уже существует" -#: commands/dbcommands.c:1520 commands/dbcommands.c:1535 +#: commands/dbcommands.c:1571 commands/dbcommands.c:1586 +#: utils/adt/pg_locale.c:2588 #, c-format msgid "encoding \"%s\" does not match locale \"%s\"" msgstr "кодировка \"%s\" не соответствует локали \"%s\"" -#: commands/dbcommands.c:1523 +#: commands/dbcommands.c:1574 #, c-format msgid "The chosen LC_CTYPE setting requires encoding \"%s\"." msgstr "Для выбранного параметра LC_CTYPE требуется кодировка \"%s\"." -#: commands/dbcommands.c:1538 +#: commands/dbcommands.c:1589 #, c-format msgid "The chosen LC_COLLATE setting requires encoding \"%s\"." msgstr "Для выбранного параметра LC_COLLATE требуется кодировка \"%s\"." -#: commands/dbcommands.c:1619 +#: commands/dbcommands.c:1672 #, c-format msgid "database \"%s\" does not exist, skipping" msgstr "база данных \"%s\" не существует, пропускается" -#: commands/dbcommands.c:1643 +#: commands/dbcommands.c:1696 #, c-format msgid "cannot drop a template database" msgstr "удалить шаблон базы данных нельзя" -#: commands/dbcommands.c:1649 +#: commands/dbcommands.c:1702 #, c-format msgid "cannot drop the currently open database" msgstr "удалить базу данных, открытую в данный момент, нельзя" -#: commands/dbcommands.c:1662 +#: commands/dbcommands.c:1715 #, c-format msgid "database \"%s\" is used by an active logical replication slot" msgstr "база \"%s\" используется активным слотом логической репликации" -#: commands/dbcommands.c:1664 +#: commands/dbcommands.c:1717 #, c-format msgid "There is %d active slot." msgid_plural "There are %d active slots." @@ -8445,12 +8860,12 @@ msgstr[0] "Обнаружен %d активный слот." msgstr[1] "Обнаружены %d активных слота." msgstr[2] "Обнаружено %d активных слотов." -#: commands/dbcommands.c:1678 +#: commands/dbcommands.c:1731 #, c-format msgid "database \"%s\" is being used by logical replication subscription" msgstr "база \"%s\" используется в подписке с логической репликацией" -#: commands/dbcommands.c:1680 +#: commands/dbcommands.c:1733 #, c-format msgid "There is %d subscription." msgid_plural "There are %d subscriptions." @@ -8458,36 +8873,36 @@ msgstr[0] "Обнаружена %d подписка." msgstr[1] "Обнаружены %d подписки." msgstr[2] "Обнаружено %d подписок." -#: commands/dbcommands.c:1701 commands/dbcommands.c:1875 -#: commands/dbcommands.c:2002 +#: commands/dbcommands.c:1754 commands/dbcommands.c:1934 +#: commands/dbcommands.c:2063 #, c-format msgid "database \"%s\" is being accessed by other users" msgstr "база данных \"%s\" занята другими пользователями" -#: commands/dbcommands.c:1835 +#: commands/dbcommands.c:1894 #, c-format msgid "permission denied to rename database" -msgstr "нет прав на переименование базы данных" +msgstr "нет прав для переименования базы данных" -#: commands/dbcommands.c:1864 +#: commands/dbcommands.c:1923 #, c-format msgid "current database cannot be renamed" msgstr "нельзя переименовать текущую базу данных" -#: commands/dbcommands.c:1958 +#: commands/dbcommands.c:2019 #, c-format msgid "cannot change the tablespace of the currently open database" msgstr "" "изменить табличное пространство открытой в данный момент базы данных нельзя" -#: commands/dbcommands.c:2064 +#: commands/dbcommands.c:2125 #, c-format msgid "some relations of database \"%s\" are already in tablespace \"%s\"" msgstr "" "некоторые отношения базы данных \"%s\" уже находятся в табличном " "пространстве \"%s\"" -#: commands/dbcommands.c:2066 +#: commands/dbcommands.c:2127 #, c-format msgid "" "You must move them back to the database's default tablespace before using " @@ -8496,38 +8911,38 @@ msgstr "" "Прежде чем выполнять эту команду, вы должны вернуть их назад в табличное " "пространство по умолчанию для этой базы данных." -#: commands/dbcommands.c:2193 commands/dbcommands.c:2909 -#: commands/dbcommands.c:3209 commands/dbcommands.c:3322 +#: commands/dbcommands.c:2256 commands/dbcommands.c:2999 +#: commands/dbcommands.c:3299 commands/dbcommands.c:3412 #, c-format msgid "some useless files may be left behind in old database directory \"%s\"" msgstr "в старом каталоге базы данных \"%s\" могли остаться ненужные файлы" -#: commands/dbcommands.c:2254 +#: commands/dbcommands.c:2317 #, c-format msgid "unrecognized DROP DATABASE option \"%s\"" msgstr "нераспознанный параметр DROP DATABASE: \"%s\"" -#: commands/dbcommands.c:2332 +#: commands/dbcommands.c:2395 #, c-format msgid "option \"%s\" cannot be specified with other options" msgstr "параметр \"%s\" нельзя задать с другими параметрами" -#: commands/dbcommands.c:2379 +#: commands/dbcommands.c:2443 #, c-format msgid "cannot alter invalid database \"%s\"" msgstr "изменить свойства некорректной базы \"%s\" нельзя" -#: commands/dbcommands.c:2396 +#: commands/dbcommands.c:2460 #, c-format msgid "cannot disallow connections for current database" msgstr "запретить подключения к текущей базе данных нельзя" -#: commands/dbcommands.c:2611 +#: commands/dbcommands.c:2690 #, c-format msgid "permission denied to change owner of database" -msgstr "нет прав на изменение владельца базы данных" +msgstr "нет прав для изменения владельца базы данных" -#: commands/dbcommands.c:3015 +#: commands/dbcommands.c:3105 #, c-format msgid "" "There are %d other session(s) and %d prepared transaction(s) using the " @@ -8536,7 +8951,7 @@ msgstr "" "С этой базой данных связаны другие сеансы (%d) и подготовленные транзакции " "(%d)." -#: commands/dbcommands.c:3018 +#: commands/dbcommands.c:3108 #, c-format msgid "There is %d other session using the database." msgid_plural "There are %d other sessions using the database." @@ -8544,7 +8959,7 @@ msgstr[0] "Эта база данных используется ещё в %d с msgstr[1] "Эта база данных используется ещё в %d сеансах." msgstr[2] "Эта база данных используется ещё в %d сеансах." -#: commands/dbcommands.c:3023 storage/ipc/procarray.c:3797 +#: commands/dbcommands.c:3113 storage/ipc/procarray.c:3859 #, c-format msgid "There is %d prepared transaction using the database." msgid_plural "There are %d prepared transactions using the database." @@ -8552,204 +8967,204 @@ msgstr[0] "С этой базой данных связана %d подгото msgstr[1] "С этой базой данных связаны %d подготовленные транзакции." msgstr[2] "С этой базой данных связаны %d подготовленных транзакций." -#: commands/dbcommands.c:3165 +#: commands/dbcommands.c:3255 #, c-format msgid "missing directory \"%s\"" msgstr "отсутствует каталог \"%s\"" -#: commands/dbcommands.c:3223 commands/tablespace.c:190 -#: commands/tablespace.c:639 +#: commands/dbcommands.c:3313 commands/tablespace.c:184 +#: commands/tablespace.c:633 #, c-format msgid "could not stat directory \"%s\": %m" msgstr "не удалось получить информацию о каталоге \"%s\": %m" -#: commands/define.c:54 commands/define.c:258 commands/define.c:290 -#: commands/define.c:318 commands/define.c:364 +#: commands/define.c:53 commands/define.c:257 commands/define.c:289 +#: commands/define.c:317 commands/define.c:363 #, c-format msgid "%s requires a parameter" msgstr "%s требует параметр" -#: commands/define.c:87 commands/define.c:98 commands/define.c:192 -#: commands/define.c:210 commands/define.c:225 commands/define.c:243 +#: commands/define.c:86 commands/define.c:97 commands/define.c:191 +#: commands/define.c:209 commands/define.c:224 commands/define.c:242 #, c-format msgid "%s requires a numeric value" msgstr "%s требует числовое значение" -#: commands/define.c:154 +#: commands/define.c:153 #, c-format msgid "%s requires a Boolean value" msgstr "%s требует логическое значение" -#: commands/define.c:168 commands/define.c:177 commands/define.c:327 +#: commands/define.c:167 commands/define.c:176 commands/define.c:326 #, c-format msgid "%s requires an integer value" msgstr "%s требует целое значение" -#: commands/define.c:272 +#: commands/define.c:271 #, c-format msgid "argument of %s must be a name" msgstr "аргументом %s должно быть имя" -#: commands/define.c:302 +#: commands/define.c:301 #, c-format msgid "argument of %s must be a type name" msgstr "аргументом %s должно быть имя типа" -#: commands/define.c:348 +#: commands/define.c:347 #, c-format msgid "invalid argument for %s: \"%s\"" msgstr "неверный аргумент для %s: \"%s\"" -#: commands/dropcmds.c:101 commands/functioncmds.c:1387 -#: utils/adt/ruleutils.c:2895 +#: commands/dropcmds.c:96 commands/functioncmds.c:1382 +#: utils/adt/ruleutils.c:2905 #, c-format msgid "\"%s\" is an aggregate function" msgstr "функция \"%s\" является агрегатной" -#: commands/dropcmds.c:103 +#: commands/dropcmds.c:98 #, c-format msgid "Use DROP AGGREGATE to drop aggregate functions." msgstr "Используйте DROP AGGREGATE для удаления агрегатных функций." -#: commands/dropcmds.c:158 commands/sequence.c:474 commands/tablecmds.c:3706 -#: commands/tablecmds.c:3864 commands/tablecmds.c:3916 -#: commands/tablecmds.c:16524 tcop/utility.c:1336 +#: commands/dropcmds.c:153 commands/sequence.c:462 commands/tablecmds.c:3892 +#: commands/tablecmds.c:4050 commands/tablecmds.c:4102 +#: commands/tablecmds.c:17161 tcop/utility.c:1325 #, c-format msgid "relation \"%s\" does not exist, skipping" msgstr "отношение \"%s\" не существует, пропускается" -#: commands/dropcmds.c:188 commands/dropcmds.c:287 commands/tablecmds.c:1281 +#: commands/dropcmds.c:183 commands/dropcmds.c:282 commands/tablecmds.c:1409 #, c-format msgid "schema \"%s\" does not exist, skipping" msgstr "схема \"%s\" не существует, пропускается" -#: commands/dropcmds.c:228 commands/dropcmds.c:267 commands/tablecmds.c:277 +#: commands/dropcmds.c:223 commands/dropcmds.c:262 commands/tablecmds.c:286 #, c-format msgid "type \"%s\" does not exist, skipping" msgstr "тип \"%s\" не существует, пропускается" -#: commands/dropcmds.c:257 +#: commands/dropcmds.c:252 #, c-format msgid "access method \"%s\" does not exist, skipping" msgstr "метод доступа \"%s\" не существует, пропускается" -#: commands/dropcmds.c:275 +#: commands/dropcmds.c:270 #, c-format msgid "collation \"%s\" does not exist, skipping" msgstr "правило сортировки \"%s\" не существует, пропускается" -#: commands/dropcmds.c:282 +#: commands/dropcmds.c:277 #, c-format msgid "conversion \"%s\" does not exist, skipping" msgstr "преобразование \"%s\" не существует, пропускается" -#: commands/dropcmds.c:293 commands/statscmds.c:654 +#: commands/dropcmds.c:288 commands/statscmds.c:664 #, c-format msgid "statistics object \"%s\" does not exist, skipping" msgstr "объект статистики \"%s\" не существует, пропускается" -#: commands/dropcmds.c:300 +#: commands/dropcmds.c:295 #, c-format msgid "text search parser \"%s\" does not exist, skipping" msgstr "анализатор текстового поиска \"%s\" не существует, пропускается" -#: commands/dropcmds.c:307 +#: commands/dropcmds.c:302 #, c-format msgid "text search dictionary \"%s\" does not exist, skipping" msgstr "словарь текстового поиска \"%s\" не существует, пропускается" -#: commands/dropcmds.c:314 +#: commands/dropcmds.c:309 #, c-format msgid "text search template \"%s\" does not exist, skipping" msgstr "шаблон текстового поиска \"%s\" не существует, пропускается" -#: commands/dropcmds.c:321 +#: commands/dropcmds.c:316 #, c-format msgid "text search configuration \"%s\" does not exist, skipping" msgstr "конфигурация текстового поиска \"%s\" не существует, пропускается" -#: commands/dropcmds.c:326 +#: commands/dropcmds.c:321 #, c-format msgid "extension \"%s\" does not exist, skipping" msgstr "расширение \"%s\" не существует, пропускается" -#: commands/dropcmds.c:336 +#: commands/dropcmds.c:331 #, c-format msgid "function %s(%s) does not exist, skipping" msgstr "функция %s(%s) не существует, пропускается" -#: commands/dropcmds.c:349 +#: commands/dropcmds.c:344 #, c-format msgid "procedure %s(%s) does not exist, skipping" msgstr "процедура %s(%s) не существует, пропускается" -#: commands/dropcmds.c:362 +#: commands/dropcmds.c:357 #, c-format msgid "routine %s(%s) does not exist, skipping" msgstr "подпрограмма %s(%s) не существует, пропускается" -#: commands/dropcmds.c:375 +#: commands/dropcmds.c:370 #, c-format msgid "aggregate %s(%s) does not exist, skipping" msgstr "агрегатная функция %s(%s) не существует, пропускается" -#: commands/dropcmds.c:388 +#: commands/dropcmds.c:383 #, c-format msgid "operator %s does not exist, skipping" msgstr "оператор %s не существует, пропускается" -#: commands/dropcmds.c:394 +#: commands/dropcmds.c:389 #, c-format msgid "language \"%s\" does not exist, skipping" msgstr "язык \"%s\" не существует, пропускается" -#: commands/dropcmds.c:403 +#: commands/dropcmds.c:398 #, c-format msgid "cast from type %s to type %s does not exist, skipping" msgstr "приведение %s к типу %s не существует, пропускается" -#: commands/dropcmds.c:412 +#: commands/dropcmds.c:407 #, c-format msgid "transform for type %s language \"%s\" does not exist, skipping" msgstr "преобразование для типа %s, языка \"%s\" не существует, пропускается" -#: commands/dropcmds.c:420 +#: commands/dropcmds.c:415 #, c-format msgid "trigger \"%s\" for relation \"%s\" does not exist, skipping" msgstr "триггер \"%s\" для отношения \"%s\" не существует, пропускается" -#: commands/dropcmds.c:429 +#: commands/dropcmds.c:424 #, c-format msgid "policy \"%s\" for relation \"%s\" does not exist, skipping" msgstr "политика \"%s\" для отношения \"%s\" не существует, пропускается" -#: commands/dropcmds.c:436 +#: commands/dropcmds.c:431 #, c-format msgid "event trigger \"%s\" does not exist, skipping" msgstr "событийный триггер \"%s\" не существует, пропускается" -#: commands/dropcmds.c:442 +#: commands/dropcmds.c:437 #, c-format msgid "rule \"%s\" for relation \"%s\" does not exist, skipping" msgstr "правило \"%s\" для отношения \"%s\" не существует, пропускается" -#: commands/dropcmds.c:449 +#: commands/dropcmds.c:444 #, c-format msgid "foreign-data wrapper \"%s\" does not exist, skipping" msgstr "обёртка сторонних данных \"%s\" не существует, пропускается" -#: commands/dropcmds.c:453 commands/foreigncmds.c:1360 +#: commands/dropcmds.c:448 commands/foreigncmds.c:1360 #, c-format msgid "server \"%s\" does not exist, skipping" msgstr "сервер \"%s\" не существует, пропускается" -#: commands/dropcmds.c:462 +#: commands/dropcmds.c:457 #, c-format msgid "operator class \"%s\" does not exist for access method \"%s\", skipping" msgstr "" "класс операторов \"%s\" не существует для метода доступа \"%s\", пропускается" -#: commands/dropcmds.c:474 +#: commands/dropcmds.c:469 #, c-format msgid "" "operator family \"%s\" does not exist for access method \"%s\", skipping" @@ -8757,179 +9172,189 @@ msgstr "" "семейство операторов \"%s\" не существует для метода доступа \"%s\", " "пропускается" -#: commands/dropcmds.c:481 +#: commands/dropcmds.c:476 #, c-format msgid "publication \"%s\" does not exist, skipping" msgstr "публикация \"%s\" не существует, пропускается" -#: commands/event_trigger.c:125 +#: commands/event_trigger.c:137 #, c-format msgid "permission denied to create event trigger \"%s\"" -msgstr "нет прав на создание событийного триггера \"%s\"" +msgstr "нет прав для создания событийного триггера \"%s\"" -#: commands/event_trigger.c:127 +#: commands/event_trigger.c:139 #, c-format msgid "Must be superuser to create an event trigger." msgstr "Для создания событийного триггера нужно быть суперпользователем." -#: commands/event_trigger.c:136 +#: commands/event_trigger.c:149 #, c-format msgid "unrecognized event name \"%s\"" msgstr "нераспознанное имя события \"%s\"" -#: commands/event_trigger.c:153 +#: commands/event_trigger.c:166 #, c-format msgid "unrecognized filter variable \"%s\"" msgstr "нераспознанная переменная фильтра \"%s\"" -#: commands/event_trigger.c:207 +#: commands/event_trigger.c:181 +#, c-format +msgid "tag filtering is not supported for login event triggers" +msgstr "фильтрация по тегу для событийных триггеров входа не поддерживается" + +#: commands/event_trigger.c:224 #, 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:213 commands/event_trigger.c:235 +#: commands/event_trigger.c:230 commands/event_trigger.c:252 #, c-format msgid "event triggers are not supported for %s" msgstr "для %s событийные триггеры не поддерживаются" -#: commands/event_trigger.c:248 +#: commands/event_trigger.c:265 #, c-format msgid "filter variable \"%s\" specified more than once" msgstr "переменная фильтра \"%s\" указана больше одного раза" -#: commands/event_trigger.c:376 commands/event_trigger.c:420 -#: commands/event_trigger.c:514 +#: commands/event_trigger.c:438 commands/event_trigger.c:490 +#: commands/event_trigger.c:584 #, c-format msgid "event trigger \"%s\" does not exist" msgstr "событийный триггер \"%s\" не существует" -#: commands/event_trigger.c:452 +#: commands/event_trigger.c:522 #, c-format msgid "event trigger with OID %u does not exist" msgstr "событийный триггер с OID %u не существует" -#: commands/event_trigger.c:482 +#: commands/event_trigger.c:552 #, c-format msgid "permission denied to change owner of event trigger \"%s\"" -msgstr "нет прав на изменение владельца событийного триггера \"%s\"" +msgstr "нет прав для изменения владельца событийного триггера \"%s\"" -#: commands/event_trigger.c:484 +#: commands/event_trigger.c:554 #, c-format msgid "The owner of an event trigger must be a superuser." msgstr "Владельцем событийного триггера должен быть суперпользователь." -#: commands/event_trigger.c:1304 +#: commands/event_trigger.c:1409 #, c-format msgid "%s can only be called in a sql_drop event trigger function" msgstr "%s можно вызывать только в событийной триггерной функции sql_drop" -#: commands/event_trigger.c:1397 commands/event_trigger.c:1418 +#: commands/event_trigger.c:1502 commands/event_trigger.c:1523 #, c-format msgid "%s can only be called in a table_rewrite event trigger function" msgstr "%s можно вызывать только в событийной триггерной функции table_rewrite" -#: commands/event_trigger.c:1831 +#: commands/event_trigger.c:1936 #, c-format msgid "%s can only be called in an event trigger function" msgstr "%s можно вызывать только в событийной триггерной функции" -#: commands/explain.c:220 +#: commands/explain.c:241 commands/explain.c:266 #, c-format msgid "unrecognized value for EXPLAIN option \"%s\": \"%s\"" msgstr "нераспознанное значение параметра EXPLAIN \"%s\": \"%s\"" -#: commands/explain.c:227 +#: commands/explain.c:273 #, c-format msgid "unrecognized EXPLAIN option \"%s\"" msgstr "нераспознанный параметр EXPLAIN: \"%s\"" -#: commands/explain.c:236 +#: commands/explain.c:282 #, c-format msgid "EXPLAIN option WAL requires ANALYZE" msgstr "параметр WAL оператора EXPLAIN требует указания ANALYZE" -#: commands/explain.c:245 +#: commands/explain.c:291 #, c-format msgid "EXPLAIN option TIMING requires ANALYZE" msgstr "параметр TIMING оператора EXPLAIN требует указания ANALYZE" -#: commands/explain.c:251 +#: commands/explain.c:297 +#, c-format +msgid "EXPLAIN option SERIALIZE requires ANALYZE" +msgstr "параметр SERIALIZE оператора EXPLAIN требует указания ANALYZE" + +#: commands/explain.c:303 #, c-format msgid "EXPLAIN options ANALYZE and GENERIC_PLAN cannot be used together" msgstr "" "параметры ANALYZE и GENERIC_PLAN оператора EXPLAIN нельзя использовать " "одновременно" -#: commands/extension.c:177 commands/extension.c:3033 +#: commands/extension.c:178 commands/extension.c:3031 #, c-format msgid "extension \"%s\" does not exist" msgstr "расширение \"%s\" не существует" -#: commands/extension.c:276 commands/extension.c:285 commands/extension.c:297 -#: commands/extension.c:307 +#: commands/extension.c:277 commands/extension.c:286 commands/extension.c:298 +#: commands/extension.c:308 #, c-format msgid "invalid extension name: \"%s\"" msgstr "неверное имя расширения: \"%s\"" -#: commands/extension.c:277 +#: commands/extension.c:278 #, c-format msgid "Extension names must not be empty." msgstr "Имя расширения не может быть пустым." -#: commands/extension.c:286 +#: commands/extension.c:287 #, c-format msgid "Extension names must not contain \"--\"." msgstr "Имя расширения не может содержать \"--\"." -#: commands/extension.c:298 +#: commands/extension.c:299 #, c-format msgid "Extension names must not begin or end with \"-\"." msgstr "Имя расширения не может начинаться или заканчиваться символом \"-\"." -#: commands/extension.c:308 +#: commands/extension.c:309 #, c-format msgid "Extension names must not contain directory separator characters." msgstr "Имя расширения не может содержать разделители пути." -#: commands/extension.c:323 commands/extension.c:332 commands/extension.c:341 -#: commands/extension.c:351 +#: commands/extension.c:324 commands/extension.c:333 commands/extension.c:342 +#: commands/extension.c:352 #, c-format msgid "invalid extension version name: \"%s\"" msgstr "неверный идентификатор версии расширения: \"%s\"" -#: commands/extension.c:324 +#: commands/extension.c:325 #, c-format msgid "Version names must not be empty." msgstr "Идентификатор версии не может быть пустым." -#: commands/extension.c:333 +#: commands/extension.c:334 #, c-format msgid "Version names must not contain \"--\"." msgstr "Идентификатор версии не может содержать \"--\"." -#: commands/extension.c:342 +#: commands/extension.c:343 #, c-format msgid "Version names must not begin or end with \"-\"." msgstr "" "Идентификатор версии не может начинаться или заканчиваться символом \"-\"." -#: commands/extension.c:352 +#: commands/extension.c:353 #, c-format msgid "Version names must not contain directory separator characters." msgstr "Идентификатор версии не может содержать разделители пути." -#: commands/extension.c:506 +#: commands/extension.c:507 #, c-format msgid "extension \"%s\" is not available" msgstr "расширение \"%s\" отсутствует" -#: commands/extension.c:507 +#: commands/extension.c:508 #, c-format msgid "Could not open extension control file \"%s\": %m." msgstr "Не удалось открыть управляющий файл расширения \"%s\": %m." -#: commands/extension.c:509 +#: commands/extension.c:510 #, c-format msgid "" "The extension must first be installed on the system where PostgreSQL is " @@ -8937,91 +9362,91 @@ msgid "" msgstr "" "Сначала расширение нужно установить в системе, где работает PostgreSQL." -#: commands/extension.c:513 +#: commands/extension.c:514 #, c-format msgid "could not open extension control file \"%s\": %m" msgstr "не удалось открыть управляющий файл расширения \"%s\": %m" -#: commands/extension.c:536 commands/extension.c:546 +#: commands/extension.c:537 commands/extension.c:547 #, c-format msgid "parameter \"%s\" cannot be set in a secondary extension control file" msgstr "" "параметр \"%s\" нельзя задавать в дополнительном управляющем файле расширения" -#: commands/extension.c:568 commands/extension.c:576 commands/extension.c:584 -#: utils/misc/guc.c:3100 +#: commands/extension.c:569 commands/extension.c:577 commands/extension.c:585 +#: utils/misc/guc.c:3147 #, c-format msgid "parameter \"%s\" requires a Boolean value" msgstr "параметр \"%s\" требует логическое значение" -#: commands/extension.c:593 +#: commands/extension.c:594 #, c-format msgid "\"%s\" is not a valid encoding name" msgstr "\"%s\" не является верным названием кодировки" -#: commands/extension.c:607 commands/extension.c:622 +#: commands/extension.c:608 commands/extension.c:623 #, c-format msgid "parameter \"%s\" must be a list of extension names" msgstr "параметр \"%s\" должен содержать список имён расширений" -#: commands/extension.c:629 +#: commands/extension.c:630 #, c-format msgid "unrecognized parameter \"%s\" in file \"%s\"" msgstr "нераспознанный параметр \"%s\" в файле \"%s\"" -#: commands/extension.c:638 +#: commands/extension.c:639 #, c-format msgid "parameter \"schema\" cannot be specified when \"relocatable\" is true" msgstr "" "параметр \"schema\" не может быть указан вместе с \"relocatable\" = true" -#: commands/extension.c:816 +#: commands/extension.c:817 #, c-format msgid "" "transaction control statements are not allowed within an extension script" msgstr "в скрипте расширения не должно быть операторов управления транзакциями" -#: commands/extension.c:896 +#: commands/extension.c:897 #, c-format msgid "permission denied to create extension \"%s\"" -msgstr "нет прав на создание расширения \"%s\"" +msgstr "нет прав для создания расширения \"%s\"" -#: commands/extension.c:899 +#: commands/extension.c:900 #, c-format msgid "" "Must have CREATE privilege on current database to create this extension." msgstr "Для создания этого расширения нужно иметь право CREATE в текущей базе." -#: commands/extension.c:900 +#: commands/extension.c:901 #, c-format msgid "Must be superuser to create this extension." msgstr "Для создания этого расширения нужно быть суперпользователем." -#: commands/extension.c:904 +#: commands/extension.c:905 #, c-format msgid "permission denied to update extension \"%s\"" -msgstr "нет прав на изменение расширения \"%s\"" +msgstr "нет прав для изменения расширения \"%s\"" -#: commands/extension.c:907 +#: commands/extension.c:908 #, c-format msgid "" "Must have CREATE privilege on current database to update this extension." msgstr "" "Для обновления этого расширения нужно иметь право CREATE в текущей базе." -#: commands/extension.c:908 +#: commands/extension.c:909 #, c-format msgid "Must be superuser to update this extension." msgstr "Для изменения этого расширения нужно быть суперпользователем." -#: commands/extension.c:1046 +#: commands/extension.c:1042 #, c-format msgid "invalid character in extension owner: must not contain any of \"%s\"" msgstr "" "недопустимый символ в имени владельца расширения: имя не должно содержать " "\"%s\"" -#: commands/extension.c:1070 commands/extension.c:1097 +#: commands/extension.c:1066 commands/extension.c:1093 #, c-format msgid "" "invalid character in extension \"%s\" schema: must not contain any of \"%s\"" @@ -9029,7 +9454,7 @@ msgstr "" "недопустимый символ в имени схемы расширения \"%s\": имя не должно содержать " "\"%s\"" -#: commands/extension.c:1292 +#: commands/extension.c:1288 #, c-format msgid "" "extension \"%s\" has no update path from version \"%s\" to version \"%s\"" @@ -9037,12 +9462,12 @@ msgstr "" "для расширения \"%s\" не определён путь обновления с версии \"%s\" до версии " "\"%s\"" -#: commands/extension.c:1500 commands/extension.c:3091 +#: commands/extension.c:1496 commands/extension.c:3089 #, c-format msgid "version to install must be specified" msgstr "нужно указать версию для установки" -#: commands/extension.c:1537 +#: commands/extension.c:1533 #, c-format msgid "" "extension \"%s\" has no installation script nor update path for version " @@ -9051,71 +9476,71 @@ msgstr "" "для расширения \"%s\" не определён путь установки или обновления для версии " "\"%s\"" -#: commands/extension.c:1571 +#: commands/extension.c:1567 #, c-format msgid "extension \"%s\" must be installed in schema \"%s\"" msgstr "расширение \"%s\" должно устанавливаться в схему \"%s\"" -#: commands/extension.c:1731 +#: commands/extension.c:1727 #, c-format msgid "cyclic dependency detected between extensions \"%s\" and \"%s\"" msgstr "выявлена циклическая зависимость между расширениями \"%s\" и \"%s\"" -#: commands/extension.c:1736 +#: commands/extension.c:1732 #, c-format msgid "installing required extension \"%s\"" msgstr "установка требуемого расширения \"%s\"" -#: commands/extension.c:1759 +#: commands/extension.c:1755 #, c-format msgid "required extension \"%s\" is not installed" msgstr "требуемое расширение \"%s\" не установлено" -#: commands/extension.c:1762 +#: commands/extension.c:1758 #, c-format msgid "Use CREATE EXTENSION ... CASCADE to install required extensions too." msgstr "" "Выполните CREATE EXTENSION ... CASCADE, чтобы установить также требуемые " "расширения." -#: commands/extension.c:1797 +#: commands/extension.c:1793 #, c-format msgid "extension \"%s\" already exists, skipping" msgstr "расширение \"%s\" уже существует, пропускается" -#: commands/extension.c:1804 +#: commands/extension.c:1800 #, c-format msgid "extension \"%s\" already exists" msgstr "расширение \"%s\" уже существует" -#: commands/extension.c:1815 +#: commands/extension.c:1811 #, c-format msgid "nested CREATE EXTENSION is not supported" msgstr "вложенные операторы CREATE EXTENSION не поддерживаются" -#: commands/extension.c:1979 +#: commands/extension.c:1975 #, c-format msgid "cannot drop extension \"%s\" because it is being modified" msgstr "удалить расширение \"%s\" нельзя, так как это модифицируемый объект" -#: commands/extension.c:2454 +#: commands/extension.c:2450 #, c-format msgid "%s can only be called from an SQL script executed by CREATE EXTENSION" msgstr "" "%s можно вызывать только из SQL-скрипта, запускаемого командой CREATE " "EXTENSION" -#: commands/extension.c:2466 +#: commands/extension.c:2462 #, c-format msgid "OID %u does not refer to a table" msgstr "OID %u не относится к таблице" -#: commands/extension.c:2471 +#: commands/extension.c:2467 #, c-format msgid "table \"%s\" is not a member of the extension being created" msgstr "таблица \"%s\" не относится к созданному расширению" -#: commands/extension.c:2817 +#: commands/extension.c:2813 #, c-format msgid "" "cannot move extension \"%s\" into schema \"%s\" because the extension " @@ -9124,12 +9549,12 @@ msgstr "" "переместить расширение \"%s\" в схему \"%s\" нельзя, так как оно содержит " "схему" -#: commands/extension.c:2858 commands/extension.c:2952 +#: commands/extension.c:2854 commands/extension.c:2948 #, c-format msgid "extension \"%s\" does not support SET SCHEMA" msgstr "расширение \"%s\" не поддерживает SET SCHEMA" -#: commands/extension.c:2915 +#: commands/extension.c:2911 #, c-format msgid "" "cannot SET SCHEMA of extension \"%s\" because other extensions prevent it" @@ -9137,32 +9562,32 @@ msgstr "" "выполнить SET SCHEMA для расширения \"%s\" нельзя, так как этому " "препятствуют другие расширения" -#: commands/extension.c:2917 +#: commands/extension.c:2913 #, c-format msgid "Extension \"%s\" requests no relocation of extension \"%s\"." msgstr "Расширение \"%s\" не допускает перемещения расширения \"%s\"." -#: commands/extension.c:2954 +#: commands/extension.c:2950 #, c-format msgid "%s is not in the extension's schema \"%s\"" msgstr "объект %s не принадлежит схеме расширения \"%s\"" -#: commands/extension.c:3013 +#: commands/extension.c:3011 #, c-format msgid "nested ALTER EXTENSION is not supported" msgstr "вложенные операторы ALTER EXTENSION не поддерживаются" -#: commands/extension.c:3102 +#: commands/extension.c:3100 #, c-format msgid "version \"%s\" of extension \"%s\" is already installed" msgstr "версия \"%s\" расширения \"%s\" уже установлена" -#: commands/extension.c:3314 +#: commands/extension.c:3311 #, c-format msgid "cannot add an object of this type to an extension" msgstr "добавить объект этого типа к расширению нельзя" -#: commands/extension.c:3380 +#: commands/extension.c:3409 #, c-format msgid "" "cannot add schema \"%s\" to extension \"%s\" because the schema contains the " @@ -9171,7 +9596,12 @@ msgstr "" "добавить схему \"%s\" к расширению \"%s\" нельзя, так как схема содержит " "расширение" -#: commands/extension.c:3474 +#: commands/extension.c:3491 commands/typecmds.c:4042 utils/fmgr/funcapi.c:725 +#, c-format +msgid "could not find multirange type for data type %s" +msgstr "тип мультидиапазона для типа данных %s не найден" + +#: commands/extension.c:3532 #, c-format msgid "file \"%s\" is too large" msgstr "файл \"%s\" слишком большой" @@ -9189,7 +9619,7 @@ msgstr "параметр \"%s\" указан неоднократно" #: commands/foreigncmds.c:221 commands/foreigncmds.c:229 #, c-format msgid "permission denied to change owner of foreign-data wrapper \"%s\"" -msgstr "нет прав на изменение владельца обёртки сторонних данных \"%s\"" +msgstr "нет прав для изменения владельца обёртки сторонних данных \"%s\"" #: commands/foreigncmds.c:223 #, c-format @@ -9202,7 +9632,7 @@ msgstr "" msgid "The owner of a foreign-data wrapper must be a superuser." msgstr "Владельцем обёртки сторонних данных должен быть суперпользователь." -#: commands/foreigncmds.c:291 commands/foreigncmds.c:707 foreign/foreign.c:678 +#: commands/foreigncmds.c:291 commands/foreigncmds.c:707 foreign/foreign.c:691 #, c-format msgid "foreign-data wrapper \"%s\" does not exist" msgstr "обёртка сторонних данных \"%s\" не существует" @@ -9220,7 +9650,7 @@ msgstr "сторонний сервер с OID %u не существует" #: commands/foreigncmds.c:580 #, c-format msgid "permission denied to create foreign-data wrapper \"%s\"" -msgstr "нет прав на создание обёртки сторонних данных \"%s\"" +msgstr "нет прав для создания обёртки сторонних данных \"%s\"" #: commands/foreigncmds.c:582 #, c-format @@ -9230,7 +9660,7 @@ msgstr "Для создания обёртки сторонних данных #: commands/foreigncmds.c:697 #, c-format msgid "permission denied to alter foreign-data wrapper \"%s\"" -msgstr "нет прав на изменение обёртки сторонних данных \"%s\"" +msgstr "нет прав для изменения обёртки сторонних данных \"%s\"" #: commands/foreigncmds.c:699 #, c-format @@ -9284,7 +9714,7 @@ msgstr "" "сопоставление пользователя \"%s\" для сервера \"%s\" не существует, " "пропускается" -#: commands/foreigncmds.c:1507 foreign/foreign.c:391 +#: commands/foreigncmds.c:1507 foreign/foreign.c:404 #, c-format msgid "foreign-data wrapper \"%s\" has no handler" msgstr "обёртка сторонних данных \"%s\" не имеет обработчика" @@ -9299,151 +9729,151 @@ msgstr "обёртка сторонних данных \"%s\" не поддер msgid "importing foreign table \"%s\"" msgstr "импорт сторонней таблицы \"%s\"" -#: commands/functioncmds.c:109 +#: commands/functioncmds.c:104 #, c-format msgid "SQL function cannot return shell type %s" msgstr "SQL-функция не может возвращать тип-пустышку %s" -#: commands/functioncmds.c:114 +#: commands/functioncmds.c:109 #, c-format msgid "return type %s is only a shell" msgstr "возвращаемый тип %s - лишь пустышка" -#: commands/functioncmds.c:143 parser/parse_type.c:354 +#: commands/functioncmds.c:138 parser/parse_type.c:354 #, c-format msgid "type modifier cannot be specified for shell type \"%s\"" msgstr "для типа-пустышки \"%s\" нельзя указать модификатор типа" -#: commands/functioncmds.c:149 +#: commands/functioncmds.c:144 #, c-format msgid "type \"%s\" is not yet defined" msgstr "тип \"%s\" ещё не определён" -#: commands/functioncmds.c:150 +#: commands/functioncmds.c:145 #, c-format msgid "Creating a shell type definition." msgstr "Создание определения типа-пустышки." -#: commands/functioncmds.c:249 +#: commands/functioncmds.c:244 #, c-format msgid "SQL function cannot accept shell type %s" msgstr "SQL-функция не может принимать значение типа-пустышки %s" -#: commands/functioncmds.c:255 +#: commands/functioncmds.c:250 #, c-format msgid "aggregate cannot accept shell type %s" msgstr "агрегатная функция не может принимать значение типа-пустышки %s" -#: commands/functioncmds.c:260 +#: commands/functioncmds.c:255 #, c-format msgid "argument type %s is only a shell" msgstr "тип аргумента %s - лишь пустышка" -#: commands/functioncmds.c:270 +#: commands/functioncmds.c:265 #, c-format msgid "type %s does not exist" msgstr "тип %s не существует" -#: commands/functioncmds.c:284 +#: commands/functioncmds.c:279 #, c-format msgid "aggregates cannot accept set arguments" msgstr "агрегатные функции не принимают в аргументах множества" -#: commands/functioncmds.c:288 +#: commands/functioncmds.c:283 #, c-format msgid "procedures cannot accept set arguments" msgstr "процедуры не принимают в аргументах множества" -#: commands/functioncmds.c:292 +#: commands/functioncmds.c:287 #, c-format msgid "functions cannot accept set arguments" msgstr "функции не принимают аргументы-множества" -#: commands/functioncmds.c:302 +#: commands/functioncmds.c:297 #, c-format msgid "VARIADIC parameter must be the last input parameter" msgstr "параметр VARIADIC должен быть последним в списке входных параметров" -#: commands/functioncmds.c:322 +#: commands/functioncmds.c:317 #, c-format msgid "VARIADIC parameter must be the last parameter" msgstr "параметр VARIADIC должен быть последним в списке параметров" -#: commands/functioncmds.c:347 +#: commands/functioncmds.c:342 #, c-format msgid "VARIADIC parameter must be an array" msgstr "параметр VARIADIC должен быть массивом" -#: commands/functioncmds.c:392 +#: commands/functioncmds.c:387 #, c-format msgid "parameter name \"%s\" used more than once" msgstr "имя параметра \"%s\" указано неоднократно" -#: commands/functioncmds.c:410 +#: commands/functioncmds.c:405 #, c-format msgid "only input parameters can have default values" msgstr "значения по умолчанию могут быть только у входных параметров" -#: commands/functioncmds.c:425 +#: commands/functioncmds.c:420 #, c-format msgid "cannot use table references in parameter default value" msgstr "в значениях параметров по умолчанию нельзя ссылаться на таблицы" -#: commands/functioncmds.c:449 +#: commands/functioncmds.c:444 #, c-format msgid "input parameters after one with a default value must also have defaults" msgstr "" "входные параметры, следующие за параметром со значением по умолчанию, также " "должны иметь значения по умолчанию" -#: commands/functioncmds.c:459 +#: commands/functioncmds.c:454 #, c-format msgid "procedure OUT parameters cannot appear after one with a default value" msgstr "" "в объявлении процедуры параметры OUT не могут находиться после параметра со " "значением по умолчанию" -#: commands/functioncmds.c:601 commands/functioncmds.c:780 +#: commands/functioncmds.c:596 commands/functioncmds.c:775 #, c-format msgid "invalid attribute in procedure definition" msgstr "некорректный атрибут в определении процедуры" -#: commands/functioncmds.c:697 +#: commands/functioncmds.c:692 #, c-format msgid "support function %s must return type %s" msgstr "вспомогательная функция %s должна возвращать тип %s" -#: commands/functioncmds.c:708 +#: commands/functioncmds.c:703 #, c-format msgid "must be superuser to specify a support function" msgstr "для указания вспомогательной функции нужно быть суперпользователем" -#: commands/functioncmds.c:829 commands/functioncmds.c:1432 +#: commands/functioncmds.c:824 commands/functioncmds.c:1427 #, c-format msgid "COST must be positive" msgstr "значение COST должно быть положительным" -#: commands/functioncmds.c:837 commands/functioncmds.c:1440 +#: commands/functioncmds.c:832 commands/functioncmds.c:1435 #, c-format msgid "ROWS must be positive" msgstr "значение ROWS должно быть положительным" -#: commands/functioncmds.c:866 +#: commands/functioncmds.c:861 #, c-format msgid "no function body specified" msgstr "не указано тело функции" -#: commands/functioncmds.c:871 +#: commands/functioncmds.c:866 #, c-format msgid "duplicate function body specified" msgstr "тело функции задано неоднократно" -#: commands/functioncmds.c:876 +#: commands/functioncmds.c:871 #, c-format msgid "inline SQL function body only valid for language SQL" msgstr "встроенное тело функции SQL допускается только для языка SQL" -#: commands/functioncmds.c:918 +#: commands/functioncmds.c:913 #, c-format msgid "" "SQL function with unquoted function body cannot have polymorphic arguments" @@ -9451,84 +9881,84 @@ msgstr "" "у SQL-функции с телом, задаваемым не в кавычках, не может быть полиморфных " "аргументов" -#: commands/functioncmds.c:944 commands/functioncmds.c:963 +#: commands/functioncmds.c:939 commands/functioncmds.c:958 #, c-format msgid "%s is not yet supported in unquoted SQL function body" msgstr "" "%s на данный момент не поддерживается в теле SQL-функции, задаваемом не в " "кавычках" -#: commands/functioncmds.c:991 +#: commands/functioncmds.c:986 #, c-format msgid "only one AS item needed for language \"%s\"" msgstr "для языка \"%s\" нужно только одно выражение AS" -#: commands/functioncmds.c:1096 +#: commands/functioncmds.c:1091 #, c-format msgid "no language specified" msgstr "язык не указан" -#: commands/functioncmds.c:1104 commands/functioncmds.c:2105 -#: commands/proclang.c:237 +#: commands/functioncmds.c:1099 commands/functioncmds.c:2117 +#: commands/proclang.c:235 #, c-format msgid "language \"%s\" does not exist" msgstr "язык \"%s\" не существует" -#: commands/functioncmds.c:1106 commands/functioncmds.c:2107 +#: commands/functioncmds.c:1101 commands/functioncmds.c:2119 #, c-format msgid "Use CREATE EXTENSION to load the language into the database." msgstr "Выполните CREATE EXTENSION, чтобы загрузить язык в базу данных." -#: commands/functioncmds.c:1139 commands/functioncmds.c:1424 +#: commands/functioncmds.c:1134 commands/functioncmds.c:1419 #, c-format msgid "only superuser can define a leakproof function" msgstr "" "только суперпользователь может определить функцию с атрибутом LEAKPROOF" -#: commands/functioncmds.c:1190 +#: commands/functioncmds.c:1185 #, c-format msgid "function result type must be %s because of OUT parameters" msgstr "" "результат функции должен иметь тип %s (в соответствии с параметрами OUT)" -#: commands/functioncmds.c:1203 +#: commands/functioncmds.c:1198 #, c-format msgid "function result type must be specified" msgstr "необходимо указать тип результата функции" -#: commands/functioncmds.c:1256 commands/functioncmds.c:1444 +#: commands/functioncmds.c:1251 commands/functioncmds.c:1439 #, c-format msgid "ROWS is not applicable when function does not return a set" msgstr "указание ROWS неприменимо, когда функция возвращает не множество" -#: commands/functioncmds.c:1547 +#: commands/functioncmds.c:1546 #, c-format msgid "source data type %s is a pseudo-type" msgstr "исходный тип данных %s является псевдотипом" -#: commands/functioncmds.c:1553 +#: commands/functioncmds.c:1552 #, c-format msgid "target data type %s is a pseudo-type" msgstr "целевой тип данных %s является псевдотипом" -#: commands/functioncmds.c:1577 +#: commands/functioncmds.c:1576 #, c-format msgid "cast will be ignored because the source data type is a domain" msgstr "" "приведение будет проигнорировано, так как исходные данные имеют тип домен" -#: commands/functioncmds.c:1582 +#: commands/functioncmds.c:1581 #, c-format msgid "cast will be ignored because the target data type is a domain" msgstr "" "приведение будет проигнорировано, так как целевые данные имеют тип домен" -#: commands/functioncmds.c:1607 +#: commands/functioncmds.c:1606 #, c-format msgid "cast function must take one to three arguments" msgstr "функция приведения должна принимать от одного до трёх аргументов" -#: commands/functioncmds.c:1613 +#: commands/functioncmds.c:1612 #, c-format msgid "" "argument of cast function must match or be binary-coercible from source data " @@ -9537,17 +9967,17 @@ msgstr "" "аргумент функции приведения должен совпадать или быть двоично-совместимым с " "исходным типом данных" -#: commands/functioncmds.c:1617 +#: commands/functioncmds.c:1616 #, c-format msgid "second argument of cast function must be type %s" msgstr "второй аргумент функции приведения должен иметь тип %s" -#: commands/functioncmds.c:1622 +#: commands/functioncmds.c:1621 #, c-format msgid "third argument of cast function must be type %s" msgstr "третий аргумент функции приведения должен иметь тип %s" -#: commands/functioncmds.c:1629 +#: commands/functioncmds.c:1628 #, c-format msgid "" "return data type of cast function must match or be binary-coercible to " @@ -9556,127 +9986,132 @@ msgstr "" "тип возвращаемых данных функции приведения должен совпадать или быть двоично-" "совместимым с целевым типом данных" -#: commands/functioncmds.c:1640 +#: commands/functioncmds.c:1639 #, c-format msgid "cast function must not be volatile" msgstr "функция приведения не может быть изменчивой (volatile)" -#: commands/functioncmds.c:1645 +#: commands/functioncmds.c:1644 #, c-format msgid "cast function must be a normal function" msgstr "функция приведения должна быть обычной функцией" -#: commands/functioncmds.c:1649 +#: commands/functioncmds.c:1648 #, c-format msgid "cast function must not return a set" msgstr "функция приведения не может возвращать множество" -#: commands/functioncmds.c:1675 +#: commands/functioncmds.c:1674 #, c-format msgid "must be superuser to create a cast WITHOUT FUNCTION" msgstr "для создания приведения WITHOUT FUNCTION нужно быть суперпользователем" -#: commands/functioncmds.c:1690 +#: commands/functioncmds.c:1689 #, c-format msgid "source and target data types are not physically compatible" msgstr "исходный и целевой типы данных несовместимы физически" -#: commands/functioncmds.c:1705 +#: commands/functioncmds.c:1709 #, c-format msgid "composite data types are not binary-compatible" msgstr "составные типы данных несовместимы на двоичном уровне" -#: commands/functioncmds.c:1711 -#, c-format -msgid "enum data types are not binary-compatible" -msgstr "типы-перечисления несовместимы на двоичном уровне" - -#: commands/functioncmds.c:1717 +#: commands/functioncmds.c:1715 #, c-format msgid "array data types are not binary-compatible" msgstr "типы-массивы несовместимы на двоичном уровне" -#: commands/functioncmds.c:1734 +#: commands/functioncmds.c:1723 +#, c-format +msgid "range data types are not binary-compatible" +msgstr "диапазонные типы несовместимы на двоичном уровне" + +#: commands/functioncmds.c:1729 +#, c-format +msgid "enum data types are not binary-compatible" +msgstr "типы-перечисления несовместимы на двоичном уровне" + +#: commands/functioncmds.c:1746 #, c-format msgid "domain data types must not be marked binary-compatible" msgstr "типы-домены не могут считаться двоично-совместимыми" -#: commands/functioncmds.c:1744 +#: commands/functioncmds.c:1756 #, c-format msgid "source data type and target data type are the same" msgstr "исходный тип данных совпадает с целевым" -#: commands/functioncmds.c:1777 +#: commands/functioncmds.c:1789 #, c-format msgid "transform function must not be volatile" msgstr "функция преобразования не может быть изменчивой" -#: commands/functioncmds.c:1781 +#: commands/functioncmds.c:1793 #, c-format msgid "transform function must be a normal function" msgstr "функция преобразования должна быть обычной функцией" -#: commands/functioncmds.c:1785 +#: commands/functioncmds.c:1797 #, c-format msgid "transform function must not return a set" msgstr "функция преобразования не может возвращать множество" -#: commands/functioncmds.c:1789 +#: commands/functioncmds.c:1801 #, c-format msgid "transform function must take one argument" msgstr "функция преобразования должна принимать один аргумент" -#: commands/functioncmds.c:1793 +#: commands/functioncmds.c:1805 #, c-format msgid "first argument of transform function must be type %s" msgstr "первый аргумент функции преобразования должен иметь тип %s" -#: commands/functioncmds.c:1832 +#: commands/functioncmds.c:1844 #, c-format msgid "data type %s is a pseudo-type" msgstr "тип данных %s является псевдотипом" -#: commands/functioncmds.c:1838 +#: commands/functioncmds.c:1850 #, c-format msgid "data type %s is a domain" msgstr "тип данных \"%s\" является доменом" -#: commands/functioncmds.c:1878 +#: commands/functioncmds.c:1890 #, c-format msgid "return data type of FROM SQL function must be %s" msgstr "результат функции FROM SQL должен иметь тип %s" -#: commands/functioncmds.c:1904 +#: commands/functioncmds.c:1916 #, c-format msgid "return data type of TO SQL function must be the transform data type" msgstr "результат функции TO SQL должен иметь тип данных преобразования" -#: commands/functioncmds.c:1931 +#: commands/functioncmds.c:1943 #, c-format msgid "transform for type %s language \"%s\" already exists" msgstr "преобразование для типа %s, языка \"%s\" уже существует" -#: commands/functioncmds.c:2017 +#: commands/functioncmds.c:2029 #, c-format msgid "transform for type %s language \"%s\" does not exist" msgstr "преобразование для типа %s, языка \"%s\" не существует" -#: commands/functioncmds.c:2041 +#: commands/functioncmds.c:2053 #, c-format msgid "function %s already exists in schema \"%s\"" msgstr "функция %s уже существует в схеме \"%s\"" -#: commands/functioncmds.c:2092 +#: commands/functioncmds.c:2104 #, c-format msgid "no inline code specified" msgstr "нет внедрённого кода" -#: commands/functioncmds.c:2138 +#: commands/functioncmds.c:2150 #, c-format msgid "language \"%s\" does not support inline code execution" msgstr "язык \"%s\" не поддерживает выполнение внедрённого кода" -#: commands/functioncmds.c:2233 +#: commands/functioncmds.c:2245 #, c-format msgid "cannot pass more than %d argument to a procedure" msgid_plural "cannot pass more than %d arguments to a procedure" @@ -9684,97 +10119,100 @@ msgstr[0] "процедуре нельзя передать больше %d ар msgstr[1] "процедуре нельзя передать больше %d аргументов" msgstr[2] "процедуре нельзя передать больше %d аргументов" -#: commands/indexcmds.c:640 +#: commands/indexcmds.c:649 #, c-format msgid "must specify at least one column" msgstr "нужно указать минимум один столбец" -#: commands/indexcmds.c:644 +#: commands/indexcmds.c:653 #, c-format msgid "cannot use more than %d columns in an index" msgstr "число столбцов в индексе не может превышать %d" -#: commands/indexcmds.c:687 +#: commands/indexcmds.c:696 #, c-format msgid "cannot create index on relation \"%s\"" msgstr "создать индекс для отношения \"%s\" нельзя" -#: commands/indexcmds.c:713 +#: commands/indexcmds.c:722 #, c-format msgid "cannot create index on partitioned table \"%s\" concurrently" msgstr "" "создать индекс в секционированной таблице \"%s\" параллельным способом нельзя" -#: commands/indexcmds.c:718 -#, c-format -msgid "cannot create exclusion constraints on partitioned table \"%s\"" -msgstr "" -"создать ограничение-исключение в секционированной таблице \"%s\" нельзя" - -#: commands/indexcmds.c:728 +#: commands/indexcmds.c:732 #, c-format msgid "cannot create indexes on temporary tables of other sessions" msgstr "создавать индексы во временных таблицах других сеансов нельзя" -#: commands/indexcmds.c:766 commands/tablecmds.c:784 commands/tablespace.c:1184 +#: commands/indexcmds.c:770 commands/tablecmds.c:818 commands/tablespace.c:1178 #, c-format msgid "cannot specify default tablespace for partitioned relations" msgstr "" "для секционированных отношений нельзя назначить табличное пространство по " "умолчанию" -#: commands/indexcmds.c:798 commands/tablecmds.c:815 commands/tablecmds.c:3405 +#: commands/indexcmds.c:802 commands/tablecmds.c:849 commands/tablecmds.c:3588 #, c-format msgid "only shared relations can be placed in pg_global tablespace" msgstr "" "в табличное пространство pg_global можно поместить только разделяемые таблицы" -#: commands/indexcmds.c:831 +#: commands/indexcmds.c:835 #, c-format msgid "substituting access method \"gist\" for obsolete method \"rtree\"" msgstr "устаревший метод доступа \"rtree\" подменяется методом \"gist\"" -#: commands/indexcmds.c:852 +#: commands/indexcmds.c:856 #, c-format msgid "access method \"%s\" does not support unique indexes" msgstr "метод доступа \"%s\" не поддерживает уникальные индексы" -#: commands/indexcmds.c:857 +#: commands/indexcmds.c:861 #, c-format msgid "access method \"%s\" does not support included columns" msgstr "метод доступа \"%s\" не поддерживает включаемые столбцы" -#: commands/indexcmds.c:862 +#: commands/indexcmds.c:866 #, c-format msgid "access method \"%s\" does not support multicolumn indexes" msgstr "метод доступа \"%s\" не поддерживает индексы по многим столбцам" -#: commands/indexcmds.c:867 +#: commands/indexcmds.c:871 #, c-format msgid "access method \"%s\" does not support exclusion constraints" msgstr "метод доступа \"%s\" не поддерживает ограничения-исключения" -#: commands/indexcmds.c:994 +#: commands/indexcmds.c:1000 #, c-format msgid "cannot match partition key to an index using access method \"%s\"" msgstr "" "сопоставить ключ секционирования с индексом, использующим метод доступа " "\"%s\", нельзя" -#: commands/indexcmds.c:1004 +#: commands/indexcmds.c:1010 #, c-format msgid "unsupported %s constraint with partition key definition" msgstr "" "неподдерживаемое ограничение \"%s\" с определением ключа секционирования" -#: commands/indexcmds.c:1006 +#: commands/indexcmds.c:1012 #, c-format msgid "%s constraints cannot be used when partition keys include expressions." msgstr "" "Ограничения %s не могут использоваться, когда ключи секционирования включают " "выражения." -#: commands/indexcmds.c:1048 +#: commands/indexcmds.c:1062 +#, c-format +msgid "" +"cannot match partition key to index on column \"%s\" using non-equal " +"operator \"%s\"" +msgstr "" +"сопоставить ключ секционирования с индексом, построенному по столбцу \"%s\" " +"с оператором неравенства \"%s\", нельзя" + +#: commands/indexcmds.c:1078 #, c-format msgid "" "unique constraint on partitioned table must include all partitioning columns" @@ -9782,7 +10220,7 @@ msgstr "" "ограничение уникальности в секционированной таблице должно включать все " "секционирующие столбцы" -#: commands/indexcmds.c:1049 +#: commands/indexcmds.c:1079 #, c-format msgid "" "%s constraint on table \"%s\" lacks column \"%s\" which is part of the " @@ -9791,92 +10229,92 @@ msgstr "" "В ограничении %s таблицы \"%s\" не хватает столбца \"%s\", входящего в ключ " "секционирования." -#: commands/indexcmds.c:1068 commands/indexcmds.c:1087 +#: commands/indexcmds.c:1098 commands/indexcmds.c:1117 #, c-format msgid "index creation on system columns is not supported" msgstr "создание индекса для системных столбцов не поддерживается" -#: commands/indexcmds.c:1316 tcop/utility.c:1526 +#: commands/indexcmds.c:1347 tcop/utility.c:1515 #, c-format msgid "cannot create unique index on partitioned table \"%s\"" msgstr "создать уникальный индекс в секционированной таблице \"%s\" нельзя" -#: commands/indexcmds.c:1318 tcop/utility.c:1528 +#: commands/indexcmds.c:1349 tcop/utility.c:1517 #, c-format msgid "Table \"%s\" contains partitions that are foreign tables." msgstr "Таблица \"%s\" содержит секции, являющиеся сторонними таблицами." -#: commands/indexcmds.c:1803 +#: commands/indexcmds.c:1799 #, c-format msgid "functions in index predicate must be marked IMMUTABLE" msgstr "функции в предикате индекса должны быть помечены как IMMUTABLE" -#: commands/indexcmds.c:1881 parser/parse_utilcmd.c:2522 -#: parser/parse_utilcmd.c:2657 +#: commands/indexcmds.c:1878 parser/parse_utilcmd.c:2519 +#: parser/parse_utilcmd.c:2654 #, c-format msgid "column \"%s\" named in key does not exist" msgstr "указанный в ключе столбец \"%s\" не существует" -#: commands/indexcmds.c:1905 parser/parse_utilcmd.c:1821 +#: commands/indexcmds.c:1902 parser/parse_utilcmd.c:1807 #, c-format msgid "expressions are not supported in included columns" msgstr "выражения во включаемых столбцах не поддерживаются" -#: commands/indexcmds.c:1946 +#: commands/indexcmds.c:1943 #, c-format msgid "functions in index expression must be marked IMMUTABLE" msgstr "функции в индексном выражении должны быть помечены как IMMUTABLE" -#: commands/indexcmds.c:1961 +#: commands/indexcmds.c:1958 #, c-format msgid "including column does not support a collation" msgstr "включаемые столбцы не поддерживают правила сортировки" -#: commands/indexcmds.c:1965 +#: commands/indexcmds.c:1962 #, c-format msgid "including column does not support an operator class" msgstr "включаемые столбцы не поддерживают классы операторов" -#: commands/indexcmds.c:1969 +#: commands/indexcmds.c:1966 #, c-format msgid "including column does not support ASC/DESC options" msgstr "включаемые столбцы не поддерживают сортировку ASC/DESC" -#: commands/indexcmds.c:1973 +#: commands/indexcmds.c:1970 #, c-format msgid "including column does not support NULLS FIRST/LAST options" msgstr "включаемые столбцы не поддерживают указания NULLS FIRST/LAST" -#: commands/indexcmds.c:2014 +#: commands/indexcmds.c:2013 #, c-format msgid "could not determine which collation to use for index expression" msgstr "не удалось определить правило сортировки для индексного выражения" -#: commands/indexcmds.c:2022 commands/tablecmds.c:17534 commands/typecmds.c:807 -#: parser/parse_expr.c:2722 parser/parse_type.c:568 parser/parse_utilcmd.c:3783 -#: utils/adt/misc.c:586 +#: commands/indexcmds.c:2021 commands/tablecmds.c:18185 commands/typecmds.c:811 +#: parser/parse_expr.c:2785 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" msgstr "тип %s не поддерживает сортировку (COLLATION)" -#: commands/indexcmds.c:2087 +#: commands/indexcmds.c:2088 #, c-format msgid "operator %s is not commutative" msgstr "оператор %s не коммутативен" -#: commands/indexcmds.c:2089 +#: commands/indexcmds.c:2090 #, c-format msgid "Only commutative operators can be used in exclusion constraints." msgstr "" "В ограничениях-исключениях могут использоваться только коммутативные " "операторы." -#: commands/indexcmds.c:2115 +#: commands/indexcmds.c:2116 #, c-format msgid "operator %s is not a member of operator family \"%s\"" msgstr "оператор \"%s\" не входит в семейство операторов \"%s\"" -#: commands/indexcmds.c:2118 +#: commands/indexcmds.c:2119 #, c-format msgid "" "The exclusion operator must be related to the index operator class for the " @@ -9885,25 +10323,25 @@ msgstr "" "Оператор исключения для ограничения должен относиться к классу операторов " "индекса." -#: commands/indexcmds.c:2153 +#: commands/indexcmds.c:2154 #, c-format msgid "access method \"%s\" does not support ASC/DESC options" msgstr "метод доступа \"%s\" не поддерживает сортировку ASC/DESC" -#: commands/indexcmds.c:2158 +#: commands/indexcmds.c:2159 #, c-format msgid "access method \"%s\" does not support NULLS FIRST/LAST options" msgstr "метод доступа \"%s\" не поддерживает параметр NULLS FIRST/LAST" -#: commands/indexcmds.c:2204 commands/tablecmds.c:17559 -#: commands/tablecmds.c:17565 commands/typecmds.c:2301 +#: commands/indexcmds.c:2203 commands/tablecmds.c:18210 +#: commands/tablecmds.c:18216 commands/typecmds.c:2311 #, c-format msgid "data type %s has no default operator class for access method \"%s\"" msgstr "" "для типа данных %s не определён класс операторов по умолчанию для метода " "доступа \"%s\"" -#: commands/indexcmds.c:2206 +#: commands/indexcmds.c:2205 #, c-format msgid "" "You must specify an operator class for the index or define a default " @@ -9912,86 +10350,89 @@ msgstr "" "Вы должны указать класс операторов для индекса или определить класс " "операторов по умолчанию для этого типа данных." -#: commands/indexcmds.c:2235 commands/indexcmds.c:2243 -#: commands/opclasscmds.c:205 +#: commands/indexcmds.c:2234 commands/indexcmds.c:2242 +#: commands/opclasscmds.c:204 #, c-format msgid "operator class \"%s\" does not exist for access method \"%s\"" msgstr "класс операторов \"%s\" для метода доступа \"%s\" не существует" -#: commands/indexcmds.c:2257 commands/typecmds.c:2289 +#: commands/indexcmds.c:2256 commands/typecmds.c:2299 #, c-format msgid "operator class \"%s\" does not accept data type %s" msgstr "класс операторов \"%s\" не принимает тип данных %s" -#: commands/indexcmds.c:2347 +#: commands/indexcmds.c:2346 #, c-format msgid "there are multiple default operator classes for data type %s" msgstr "" "для типа данных %s определено несколько классов операторов по умолчанию" -#: commands/indexcmds.c:2675 +#: commands/indexcmds.c:2674 #, c-format msgid "unrecognized REINDEX option \"%s\"" msgstr "нераспознанный параметр REINDEX: \"%s\"" -#: commands/indexcmds.c:2899 +#: commands/indexcmds.c:2906 #, c-format msgid "table \"%s\" has no indexes that can be reindexed concurrently" msgstr "" "в таблице \"%s\" нет индексов, которые можно переиндексировать неблокирующим " "способом" -#: commands/indexcmds.c:2913 +#: commands/indexcmds.c:2920 #, c-format msgid "table \"%s\" has no indexes to reindex" msgstr "в таблице \"%s\" нет индексов для переиндексации" -#: commands/indexcmds.c:2958 commands/indexcmds.c:3468 -#: commands/indexcmds.c:3596 +#: commands/indexcmds.c:2967 commands/indexcmds.c:3478 +#: commands/indexcmds.c:3608 #, c-format msgid "cannot reindex system catalogs concurrently" msgstr "Переиндексировать системные каталоги неблокирующим способом нельзя" -#: commands/indexcmds.c:2981 +#: commands/indexcmds.c:2991 #, c-format msgid "can only reindex the currently open database" msgstr "переиндексировать можно только текущую базу данных" -#: commands/indexcmds.c:3075 +#: commands/indexcmds.c:3083 #, c-format msgid "cannot reindex system catalogs concurrently, skipping all" msgstr "" "все системные каталоги пропускаются, так как их нельзя переиндексировать " "неблокирующим способом" -#: commands/indexcmds.c:3108 +#: commands/indexcmds.c:3116 #, c-format msgid "cannot move system relations, skipping all" msgstr "переместить системные отношения нельзя, все они пропускаются" -#: commands/indexcmds.c:3154 +#: commands/indexcmds.c:3162 #, c-format msgid "while reindexing partitioned table \"%s.%s\"" msgstr "при переиндексировании секционированной таблицы \"%s.%s\"" -#: commands/indexcmds.c:3157 +#: commands/indexcmds.c:3165 #, c-format msgid "while reindexing partitioned index \"%s.%s\"" msgstr "при перестроении секционированного индекса \"%s.%s\"" -#: commands/indexcmds.c:3348 commands/indexcmds.c:4204 +#: commands/indexcmds.c:3358 commands/indexcmds.c:4234 #, c-format msgid "table \"%s.%s\" was reindexed" msgstr "таблица \"%s.%s\" переиндексирована" -#: commands/indexcmds.c:3500 commands/indexcmds.c:3552 +#: commands/indexcmds.c:3510 commands/indexcmds.c:3563 #, c-format -msgid "cannot reindex invalid index \"%s.%s\" concurrently, skipping" -msgstr "" -"перестроить нерабочий индекс \"%s.%s\" неблокирующим способом нельзя, он " -"пропускается" +msgid "skipping reindex of invalid index \"%s.%s\"" +msgstr "индекс \"%s.%s\" — нерабочий, переиндексация пропускается" -#: commands/indexcmds.c:3506 +#: commands/indexcmds.c:3513 commands/indexcmds.c:3566 +#, c-format +msgid "Use DROP INDEX or REINDEX INDEX." +msgstr "Выполните DROP INDEX или REINDEX INDEX." + +#: commands/indexcmds.c:3517 #, c-format msgid "" "cannot reindex exclusion constraint index \"%s.%s\" concurrently, skipping" @@ -9999,51 +10440,51 @@ msgstr "" "перестроить индекс ограничения-исключения \"%s.%s\" неблокирующим способом " "нельзя, он пропускается" -#: commands/indexcmds.c:3661 +#: commands/indexcmds.c:3673 #, c-format msgid "cannot reindex this type of relation concurrently" msgstr "переиндексировать отношение такого типа неблокирующим способом нельзя" -#: commands/indexcmds.c:3682 +#: commands/indexcmds.c:3691 #, c-format msgid "cannot move non-shared relation to tablespace \"%s\"" msgstr "" "переместить отношение, не являющееся разделяемым, в табличное пространство " "\"%s\" нельзя" -#: commands/indexcmds.c:4185 commands/indexcmds.c:4197 +#: commands/indexcmds.c:4215 commands/indexcmds.c:4227 #, c-format msgid "index \"%s.%s\" was reindexed" msgstr "индекс \"%s.%s\" был перестроен" -#: commands/indexcmds.c:4187 commands/indexcmds.c:4206 +#: commands/indexcmds.c:4217 commands/indexcmds.c:4236 #, c-format msgid "%s." msgstr "%s." -#: commands/lockcmds.c:92 +#: commands/lockcmds.c:91 #, c-format msgid "cannot lock relation \"%s\"" msgstr "заблокировать отношение \"%s\" нельзя" -#: commands/matview.c:193 +#: commands/matview.c:206 #, c-format msgid "CONCURRENTLY cannot be used when the materialized view is not populated" msgstr "" "CONCURRENTLY нельзя использовать, когда материализованное представление не " "наполнено" -#: commands/matview.c:199 gram.y:18306 +#: commands/matview.c:212 gram.y:18918 #, c-format msgid "%s and %s options cannot be used together" msgstr "параметры %s и %s исключают друг друга" -#: commands/matview.c:256 +#: commands/matview.c:269 #, c-format msgid "cannot refresh materialized view \"%s\" concurrently" msgstr "обновить материализованное представление \"%s\" параллельно нельзя" -#: commands/matview.c:259 +#: commands/matview.c:272 #, c-format msgid "" "Create a unique index with no WHERE clause on one or more columns of the " @@ -10052,7 +10493,7 @@ msgstr "" "Создайте уникальный индекс без предложения WHERE для одного или нескольких " "столбцов материализованного представления." -#: commands/matview.c:653 +#: commands/matview.c:666 #, c-format msgid "" "new data for materialized view \"%s\" contains duplicate rows without any " @@ -10061,107 +10502,107 @@ msgstr "" "новые данные для материализованного представления \"%s\" содержат " "дублирующиеся строки (без учёта столбцов с NULL)" -#: commands/matview.c:655 +#: commands/matview.c:668 #, c-format msgid "Row: %s" msgstr "Строка: %s" -#: commands/opclasscmds.c:124 +#: commands/opclasscmds.c:123 #, c-format msgid "operator family \"%s\" does not exist for access method \"%s\"" msgstr "семейство операторов \"%s\" для метода доступа \"%s\" не существует" -#: commands/opclasscmds.c:267 +#: commands/opclasscmds.c:266 #, c-format msgid "operator family \"%s\" for access method \"%s\" already exists" msgstr "семейство операторов \"%s\" для метода доступа \"%s\" уже существует" -#: commands/opclasscmds.c:416 +#: commands/opclasscmds.c:415 #, c-format msgid "must be superuser to create an operator class" msgstr "для создания класса операторов нужно быть суперпользователем" -#: commands/opclasscmds.c:493 commands/opclasscmds.c:910 -#: commands/opclasscmds.c:1056 +#: commands/opclasscmds.c:492 commands/opclasscmds.c:909 +#: commands/opclasscmds.c:1055 #, c-format msgid "invalid operator number %d, must be between 1 and %d" msgstr "неверный номер оператора (%d), требуется число от 1 до %d" -#: commands/opclasscmds.c:538 commands/opclasscmds.c:960 -#: commands/opclasscmds.c:1072 +#: commands/opclasscmds.c:537 commands/opclasscmds.c:959 +#: commands/opclasscmds.c:1071 #, c-format msgid "invalid function number %d, must be between 1 and %d" msgstr "неверный номер функции (%d), требуется число от 1 до %d" -#: commands/opclasscmds.c:567 +#: commands/opclasscmds.c:566 #, c-format msgid "storage type specified more than once" msgstr "тип хранения указан неоднократно" -#: commands/opclasscmds.c:594 +#: commands/opclasscmds.c:593 #, c-format msgid "" "storage type cannot be different from data type for access method \"%s\"" msgstr "" "тип хранения не может отличаться от типа данных для метода доступа \"%s\"" -#: commands/opclasscmds.c:610 +#: commands/opclasscmds.c:609 #, c-format msgid "operator class \"%s\" for access method \"%s\" already exists" msgstr "класс операторов \"%s\" для метода доступа \"%s\" уже существует" -#: commands/opclasscmds.c:638 +#: commands/opclasscmds.c:637 #, c-format msgid "could not make operator class \"%s\" be default for type %s" msgstr "" "класс операторов \"%s\" не удалось сделать классом по умолчанию для типа %s" -#: commands/opclasscmds.c:641 +#: commands/opclasscmds.c:640 #, c-format msgid "Operator class \"%s\" already is the default." msgstr "Класс операторов \"%s\" уже является классом по умолчанию." -#: commands/opclasscmds.c:801 +#: commands/opclasscmds.c:800 #, c-format msgid "must be superuser to create an operator family" msgstr "для создания семейства операторов нужно быть суперпользователем" -#: commands/opclasscmds.c:861 +#: commands/opclasscmds.c:860 #, c-format msgid "must be superuser to alter an operator family" msgstr "для изменения семейства операторов нужно быть суперпользователем" -#: commands/opclasscmds.c:919 +#: commands/opclasscmds.c:918 #, c-format msgid "operator argument types must be specified in ALTER OPERATOR FAMILY" msgstr "в ALTER OPERATOR FAMILY должны быть указаны типы аргументов оператора" -#: commands/opclasscmds.c:994 +#: commands/opclasscmds.c:993 #, c-format msgid "STORAGE cannot be specified in ALTER OPERATOR FAMILY" msgstr "в ALTER OPERATOR FAMILY нельзя указать STORAGE" -#: commands/opclasscmds.c:1128 +#: commands/opclasscmds.c:1127 #, c-format msgid "one or two argument types must be specified" msgstr "нужно указать один или два типа аргументов" -#: commands/opclasscmds.c:1154 +#: commands/opclasscmds.c:1153 #, c-format msgid "index operators must be binary" msgstr "индексные операторы должны быть бинарными" -#: commands/opclasscmds.c:1173 +#: commands/opclasscmds.c:1172 #, c-format msgid "access method \"%s\" does not support ordering operators" msgstr "метод доступа \"%s\" не поддерживает сортирующие операторы" -#: commands/opclasscmds.c:1184 +#: commands/opclasscmds.c:1183 #, c-format msgid "index search operators must return boolean" msgstr "операторы поиска по индексу должны возвращать логическое значение" -#: commands/opclasscmds.c:1224 +#: commands/opclasscmds.c:1223 #, c-format msgid "" "associated data types for operator class options parsing functions must " @@ -10170,7 +10611,7 @@ msgstr "" "связанные типы данных для функций, разбирающих параметры класса операторов, " "должны совпадать с входным типом класса" -#: commands/opclasscmds.c:1231 +#: commands/opclasscmds.c:1230 #, c-format msgid "" "left and right associated data types for operator class options parsing " @@ -10179,119 +10620,119 @@ msgstr "" "левый и правый типы данных для функций, разбирающих параметры класса " "операторов, должны совпадать" -#: commands/opclasscmds.c:1239 +#: commands/opclasscmds.c:1238 #, c-format msgid "invalid operator class options parsing function" msgstr "неправильная функция разбора параметров класса операторов" -#: commands/opclasscmds.c:1240 +#: commands/opclasscmds.c:1239 #, c-format msgid "Valid signature of operator class options parsing function is %s." msgstr "" "Правильная сигнатура функции, осуществляющей разбор параметров класса " "операторов: '%s'." -#: commands/opclasscmds.c:1259 +#: commands/opclasscmds.c:1258 #, c-format msgid "btree comparison functions must have two arguments" msgstr "функции сравнения btree должны иметь два аргумента" -#: commands/opclasscmds.c:1263 +#: commands/opclasscmds.c:1262 #, c-format msgid "btree comparison functions must return integer" msgstr "функции сравнения btree должны возвращать целое число" -#: commands/opclasscmds.c:1280 +#: commands/opclasscmds.c:1279 #, c-format msgid "btree sort support functions must accept type \"internal\"" msgstr "опорные функции сортировки btree должны принимать тип \"internal\"" -#: commands/opclasscmds.c:1284 +#: commands/opclasscmds.c:1283 #, c-format msgid "btree sort support functions must return void" msgstr "опорные функции сортировки btree должны возвращать пустое (void)" -#: commands/opclasscmds.c:1295 +#: commands/opclasscmds.c:1294 #, c-format msgid "btree in_range functions must have five arguments" msgstr "функции in_range для btree должны принимать пять аргументов" -#: commands/opclasscmds.c:1299 +#: commands/opclasscmds.c:1298 #, c-format msgid "btree in_range functions must return boolean" msgstr "функции in_range для btree должны возвращать логическое значение" -#: commands/opclasscmds.c:1315 +#: commands/opclasscmds.c:1314 #, c-format msgid "btree equal image functions must have one argument" msgstr "функции равенства образов btree должны иметь один аргумент" -#: commands/opclasscmds.c:1319 +#: commands/opclasscmds.c:1318 #, c-format msgid "btree equal image functions must return boolean" msgstr "функции равенства образов должны возвращать логическое значение" -#: commands/opclasscmds.c:1332 +#: commands/opclasscmds.c:1331 #, c-format msgid "btree equal image functions must not be cross-type" msgstr "функции равенства образов не должны быть межтиповыми" -#: commands/opclasscmds.c:1342 +#: commands/opclasscmds.c:1341 #, c-format msgid "hash function 1 must have one argument" msgstr "функция хеширования 1 должна принимать один аргумент" -#: commands/opclasscmds.c:1346 +#: commands/opclasscmds.c:1345 #, c-format msgid "hash function 1 must return integer" msgstr "функция хеширования 1 должна возвращать целое число" -#: commands/opclasscmds.c:1353 +#: commands/opclasscmds.c:1352 #, c-format msgid "hash function 2 must have two arguments" msgstr "функция хеширования 2 должна принимать два аргумента" -#: commands/opclasscmds.c:1357 +#: commands/opclasscmds.c:1356 #, c-format msgid "hash function 2 must return bigint" msgstr "функция хеширования 2 должна возвращать значение bigint" -#: commands/opclasscmds.c:1382 +#: commands/opclasscmds.c:1381 #, c-format msgid "associated data types must be specified for index support function" msgstr "для опорной функции индексов должны быть указаны связанные типы данных" -#: commands/opclasscmds.c:1407 +#: commands/opclasscmds.c:1406 #, c-format msgid "function number %d for (%s,%s) appears more than once" msgstr "номер функции %d для (%s,%s) дублируется" -#: commands/opclasscmds.c:1414 +#: commands/opclasscmds.c:1413 #, c-format msgid "operator number %d for (%s,%s) appears more than once" msgstr "номер оператора %d для (%s,%s) дублируется" -#: commands/opclasscmds.c:1460 +#: commands/opclasscmds.c:1459 #, c-format msgid "operator %d(%s,%s) already exists in operator family \"%s\"" msgstr "оператор %d(%s,%s) уже существует в семействе \"%s\"" -#: commands/opclasscmds.c:1566 +#: commands/opclasscmds.c:1565 #, c-format msgid "function %d(%s,%s) already exists in operator family \"%s\"" msgstr "функция %d(%s,%s) уже существует в семействе операторов \"%s\"" -#: commands/opclasscmds.c:1647 +#: commands/opclasscmds.c:1646 #, c-format msgid "operator %d(%s,%s) does not exist in operator family \"%s\"" msgstr "оператор %d(%s,%s) не существует в семействе операторов \"%s\"" -#: commands/opclasscmds.c:1687 +#: commands/opclasscmds.c:1686 #, c-format msgid "function %d(%s,%s) does not exist in operator family \"%s\"" msgstr "функция %d(%s,%s) не существует в семействе операторов \"%s\"" -#: commands/opclasscmds.c:1718 +#: commands/opclasscmds.c:1717 #, c-format msgid "" "operator class \"%s\" for access method \"%s\" already exists in schema " @@ -10300,7 +10741,7 @@ msgstr "" "класс операторов \"%s\" для метода доступа \"%s\" уже существует в схеме " "\"%s\"" -#: commands/opclasscmds.c:1741 +#: commands/opclasscmds.c:1740 #, c-format msgid "" "operator family \"%s\" for access method \"%s\" already exists in schema " @@ -10314,7 +10755,7 @@ msgstr "" msgid "SETOF type not allowed for operator argument" msgstr "аргументом оператора не может быть тип SETOF" -#: commands/operatorcmds.c:154 commands/operatorcmds.c:481 +#: commands/operatorcmds.c:154 commands/operatorcmds.c:554 #, c-format msgid "operator attribute \"%s\" not recognized" msgstr "атрибут оператора \"%s\" не распознан" @@ -10354,53 +10795,70 @@ msgstr "функция оценки соединения %s присутству msgid "join estimator function %s must return type %s" msgstr "функция оценки соединения %s должна возвращать тип %s" -#: commands/operatorcmds.c:475 +#: commands/operatorcmds.c:388 parser/parse_oper.c:119 parser/parse_oper.c:637 +#: utils/adt/regproc.c:509 utils/adt/regproc.c:683 +#, c-format +msgid "operator does not exist: %s" +msgstr "оператор не существует: %s" + +#: commands/operatorcmds.c:396 parser/parse_oper.c:702 parser/parse_oper.c:815 +#, c-format +msgid "operator is only a shell: %s" +msgstr "оператор \"%s\" - лишь оболочка" + +#: commands/operatorcmds.c:548 #, c-format msgid "operator attribute \"%s\" cannot be changed" msgstr "атрибут оператора \"%s\" нельзя изменить" -#: commands/policy.c:89 commands/policy.c:382 commands/statscmds.c:149 -#: commands/tablecmds.c:1612 commands/tablecmds.c:2215 -#: commands/tablecmds.c:3516 commands/tablecmds.c:6365 -#: commands/tablecmds.c:9192 commands/tablecmds.c:17121 -#: commands/tablecmds.c:17156 commands/trigger.c:323 commands/trigger.c:1339 -#: commands/trigger.c:1449 rewrite/rewriteDefine.c:275 -#: rewrite/rewriteDefine.c:786 rewrite/rewriteRemove.c:80 +#: commands/operatorcmds.c:615 commands/operatorcmds.c:622 +#: commands/operatorcmds.c:628 commands/operatorcmds.c:634 +#, c-format +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:9637 commands/tablecmds.c:17772 +#: commands/tablecmds.c:17807 commands/trigger.c:316 commands/trigger.c:1332 +#: commands/trigger.c:1442 rewrite/rewriteDefine.c:268 +#: rewrite/rewriteDefine.c:779 rewrite/rewriteRemove.c:74 #, c-format msgid "permission denied: \"%s\" is a system catalog" msgstr "доступ запрещён: \"%s\" - это системный каталог" -#: commands/policy.c:172 +#: commands/policy.c:169 #, c-format msgid "ignoring specified roles other than PUBLIC" msgstr "все указанные роли, кроме PUBLIC, игнорируются" -#: commands/policy.c:173 +#: commands/policy.c:170 #, c-format msgid "All roles are members of the PUBLIC role." msgstr "Роль PUBLIC включает в себя все остальные роли." -#: commands/policy.c:606 +#: commands/policy.c:603 #, c-format msgid "WITH CHECK cannot be applied to SELECT or DELETE" msgstr "WITH CHECK нельзя применить к SELECT или DELETE" -#: commands/policy.c:615 commands/policy.c:918 +#: commands/policy.c:612 commands/policy.c:915 #, c-format msgid "only WITH CHECK expression allowed for INSERT" msgstr "для INSERT допускается только выражение WITH CHECK" -#: commands/policy.c:689 commands/policy.c:1141 +#: commands/policy.c:686 commands/policy.c:1138 #, c-format msgid "policy \"%s\" for table \"%s\" already exists" msgstr "политика \"%s\" для таблицы \"%s\" уже существует" -#: commands/policy.c:890 commands/policy.c:1169 commands/policy.c:1240 +#: commands/policy.c:887 commands/policy.c:1166 commands/policy.c:1237 #, c-format msgid "policy \"%s\" for table \"%s\" does not exist" msgstr "политика \"%s\" для таблицы \"%s\" не существует" -#: commands/policy.c:908 +#: commands/policy.c:905 #, c-format msgid "only USING expression allowed for SELECT, DELETE" msgstr "для SELECT, DELETE допускается только выражение USING" @@ -10418,87 +10876,86 @@ msgstr "" "HOLD" #: commands/portalcmds.c:189 commands/portalcmds.c:242 -#: executor/execCurrent.c:70 utils/adt/xml.c:2854 utils/adt/xml.c:3024 +#: executor/execCurrent.c:70 utils/adt/xml.c:2936 utils/adt/xml.c:3106 #, c-format msgid "cursor \"%s\" does not exist" msgstr "курсор \"%s\" не существует" -#: commands/prepare.c:75 +#: commands/prepare.c:72 #, c-format msgid "invalid statement name: must not be empty" msgstr "неверный оператор: имя не должно быть пустым" # [SM]: TO REVIEW -#: commands/prepare.c:230 commands/prepare.c:235 +#: commands/prepare.c:227 commands/prepare.c:232 #, c-format msgid "prepared statement is not a SELECT" msgstr "подготовленный оператор - не SELECT" -#: commands/prepare.c:295 +#: commands/prepare.c:292 #, c-format msgid "wrong number of parameters for prepared statement \"%s\"" msgstr "неверное число параметров для подготовленного оператора \"%s\"" -#: commands/prepare.c:297 +#: commands/prepare.c:294 #, c-format msgid "Expected %d parameters but got %d." msgstr "Ожидалось параметров: %d, получено: %d." -#: commands/prepare.c:330 +#: commands/prepare.c:327 #, c-format msgid "parameter $%d of type %s cannot be coerced to the expected type %s" msgstr "параметр $%d типа %s нельзя привести к ожидаемому типу %s" # [SM]: TO REVIEW -#: commands/prepare.c:414 +#: commands/prepare.c:411 #, c-format msgid "prepared statement \"%s\" already exists" msgstr "подготовленный оператор \"%s\" уже существует" # [SM]: TO REVIEW -#: commands/prepare.c:453 +#: commands/prepare.c:450 #, c-format msgid "prepared statement \"%s\" does not exist" msgstr "подготовленный оператор \"%s\" не существует" -#: commands/proclang.c:68 +#: commands/proclang.c:66 #, c-format msgid "must be superuser to create custom procedural language" msgstr "" "для создания дополнительного процедурного языка нужно быть суперпользователем" -#: commands/publicationcmds.c:131 postmaster/postmaster.c:1208 -#: postmaster/postmaster.c:1306 storage/file/fd.c:3911 -#: utils/init/miscinit.c:1822 +#: commands/publicationcmds.c:124 postmaster/postmaster.c:1108 +#: postmaster/postmaster.c:1210 utils/init/miscinit.c:1811 #, c-format msgid "invalid list syntax in parameter \"%s\"" msgstr "неверный формат списка в параметре \"%s\"" -#: commands/publicationcmds.c:150 +#: commands/publicationcmds.c:143 #, c-format msgid "unrecognized value for publication option \"%s\": \"%s\"" msgstr "нераспознанное значение параметра публикации \"%s\": \"%s\"" -#: commands/publicationcmds.c:164 +#: commands/publicationcmds.c:157 #, c-format msgid "unrecognized publication parameter: \"%s\"" msgstr "нераспознанный параметр репликации: \"%s\"" -#: commands/publicationcmds.c:205 +#: commands/publicationcmds.c:198 #, c-format msgid "no schema has been selected for CURRENT_SCHEMA" msgstr "для CURRENT_SCHEMA требуется, чтобы была выбрана схема" -#: commands/publicationcmds.c:502 +#: commands/publicationcmds.c:495 msgid "System columns are not allowed." msgstr "Системные столбцы не допускаются." -#: commands/publicationcmds.c:509 commands/publicationcmds.c:514 -#: commands/publicationcmds.c:531 +#: commands/publicationcmds.c:502 commands/publicationcmds.c:507 +#: commands/publicationcmds.c:524 msgid "User-defined operators are not allowed." msgstr "Пользовательские операторы не допускаются." -#: commands/publicationcmds.c:555 +#: commands/publicationcmds.c:548 msgid "" "Only columns, constants, built-in operators, built-in data types, built-in " "collations, and immutable built-in functions are allowed." @@ -10506,43 +10963,43 @@ msgstr "" "Допускаются только столбцы, константы, встроенные операторы, встроенные типы " "данных, встроенные правила сортировки и встроенные постоянные функции." -#: commands/publicationcmds.c:567 +#: commands/publicationcmds.c:560 msgid "User-defined types are not allowed." msgstr "Пользовательские типы не допускаются." -#: commands/publicationcmds.c:570 +#: commands/publicationcmds.c:563 msgid "User-defined or built-in mutable functions are not allowed." msgstr "Пользовательские или встроенные непостоянные функции не допускаются." -#: commands/publicationcmds.c:573 +#: commands/publicationcmds.c:566 msgid "User-defined collations are not allowed." msgstr "Пользовательские правила сортировки не допускаются." -#: commands/publicationcmds.c:583 +#: commands/publicationcmds.c:576 #, c-format msgid "invalid publication WHERE expression" msgstr "неверное выражение в предложении WHERE публикации" -#: commands/publicationcmds.c:636 +#: commands/publicationcmds.c:629 #, c-format msgid "cannot use publication WHERE clause for relation \"%s\"" msgstr "" "использовать в публикации предложение WHERE для отношения \"%s\" нельзя" -#: commands/publicationcmds.c:638 +#: commands/publicationcmds.c:631 #, c-format msgid "WHERE clause cannot be used for a partitioned table when %s is false." msgstr "" "Предложение WHERE нельзя использовать для секционированной таблицы, когда %s " "равен false." -#: commands/publicationcmds.c:709 commands/publicationcmds.c:723 +#: commands/publicationcmds.c:702 commands/publicationcmds.c:716 #, c-format msgid "cannot use column list for relation \"%s.%s\" in publication \"%s\"" msgstr "" "использовать список столбцов отношения \"%s.%s\" в публикации \"%s\" нельзя" -#: commands/publicationcmds.c:712 +#: commands/publicationcmds.c:705 #, c-format msgid "" "Column lists cannot be specified in publications containing FOR TABLES IN " @@ -10551,7 +11008,7 @@ msgstr "" "Списки столбцов нельзя задавать в публикациях, содержащих элементы FOR " "TABLES IN SCHEMA." -#: commands/publicationcmds.c:726 +#: commands/publicationcmds.c:719 #, c-format msgid "" "Column lists cannot be specified for partitioned tables when %s is false." @@ -10559,34 +11016,34 @@ msgstr "" "Списки столбцов нельзя задавать для секционированных таблиц, когда %s равен " "false." -#: commands/publicationcmds.c:761 +#: commands/publicationcmds.c:754 #, c-format msgid "must be superuser to create FOR ALL TABLES publication" msgstr "для создания публикации всех таблиц нужно быть суперпользователем" -#: commands/publicationcmds.c:832 +#: commands/publicationcmds.c:825 #, c-format msgid "must be superuser to create FOR TABLES IN SCHEMA publication" msgstr "" "для создания публикации вида FOR ALL TABLES IN SCHEMA нужно быть " "суперпользователем" -#: commands/publicationcmds.c:868 +#: commands/publicationcmds.c:861 #, c-format -msgid "wal_level is insufficient to publish logical changes" -msgstr "уровень wal_level недостаточен для публикации логических изменений" +msgid "\"wal_level\" is insufficient to publish logical changes" +msgstr "уровень \"wal_level\" недостаточен для публикации логических изменений" -#: commands/publicationcmds.c:869 +#: commands/publicationcmds.c:862 #, c-format -msgid "Set wal_level to \"logical\" before creating subscriptions." -msgstr "Задайте для wal_level значение \"logical\" до создания подписок." +msgid "Set \"wal_level\" to \"logical\" before creating subscriptions." +msgstr "Задайте для \"wal_level\" значение \"logical\" до создания подписок." -#: commands/publicationcmds.c:965 commands/publicationcmds.c:973 +#: commands/publicationcmds.c:958 commands/publicationcmds.c:966 #, c-format msgid "cannot set parameter \"%s\" to false for publication \"%s\"" msgstr "параметру \"%s\" публикации \"%s\" нельзя присвоить false" -#: commands/publicationcmds.c:968 +#: commands/publicationcmds.c:961 #, c-format msgid "" "The publication contains a WHERE clause for partitioned table \"%s\", which " @@ -10595,7 +11052,7 @@ msgstr "" "Публикация содержит предложение WHERE для секционированной таблицы \"%s\", " "что не допускается, когда \"%s\" равен false." -#: commands/publicationcmds.c:976 +#: commands/publicationcmds.c:969 #, c-format msgid "" "The publication contains a column list for partitioned table \"%s\", which " @@ -10604,12 +11061,12 @@ msgstr "" "Публикация содержит список столбцов для секционированной таблицы \"%s\", что " "не допускается, когда \"%s\" равен false." -#: commands/publicationcmds.c:1299 +#: commands/publicationcmds.c:1292 #, c-format msgid "cannot add schema to publication \"%s\"" msgstr "добавить схему в публикацию \"%s\" нельзя" -#: commands/publicationcmds.c:1301 +#: commands/publicationcmds.c:1294 #, c-format msgid "" "Schemas cannot be added if any tables that specify a column list are already " @@ -10618,82 +11075,82 @@ msgstr "" "Схемы нельзя добавлять в публикацию, если в неё уже добавлены таблицы, для " "которых задан список столбцов." -#: commands/publicationcmds.c:1349 +#: commands/publicationcmds.c:1342 #, c-format msgid "must be superuser to add or set schemas" msgstr "для добавления или замены схем нужно быть суперпользователем" -#: commands/publicationcmds.c:1358 commands/publicationcmds.c:1366 +#: commands/publicationcmds.c:1351 commands/publicationcmds.c:1359 #, c-format msgid "publication \"%s\" is defined as FOR ALL TABLES" msgstr "публикация \"%s\" определена для всех таблиц (FOR ALL TABLES)" -#: commands/publicationcmds.c:1360 +#: commands/publicationcmds.c:1353 #, c-format msgid "Schemas cannot be added to or dropped from FOR ALL TABLES publications." msgstr "В публикации вида FOR ALL TABLES нельзя добавлять или удалять таблицы." -#: commands/publicationcmds.c:1368 +#: commands/publicationcmds.c:1361 #, c-format msgid "Tables cannot be added to or dropped from FOR ALL TABLES publications." msgstr "В публикации всех таблиц нельзя добавлять или удалять таблицы." -#: commands/publicationcmds.c:1392 commands/publicationcmds.c:1431 -#: commands/publicationcmds.c:1968 utils/cache/lsyscache.c:3592 +#: commands/publicationcmds.c:1385 commands/publicationcmds.c:1424 +#: commands/publicationcmds.c:1961 utils/cache/lsyscache.c:3634 #, c-format msgid "publication \"%s\" does not exist" msgstr "публикация \"%s\" не существует" -#: commands/publicationcmds.c:1594 commands/publicationcmds.c:1657 +#: commands/publicationcmds.c:1587 commands/publicationcmds.c:1650 #, c-format msgid "conflicting or redundant WHERE clauses for table \"%s\"" msgstr "конфликтующие или избыточные предложения WHERE для таблицы \"%s\"" -#: commands/publicationcmds.c:1601 commands/publicationcmds.c:1669 +#: commands/publicationcmds.c:1594 commands/publicationcmds.c:1662 #, c-format msgid "conflicting or redundant column lists for table \"%s\"" msgstr "конфликтующие или избыточные списки столбцов для таблицы \"%s\"" -#: commands/publicationcmds.c:1803 +#: commands/publicationcmds.c:1796 #, c-format msgid "column list must not be specified in ALTER PUBLICATION ... DROP" msgstr "в ALTER PUBLICATION ... DROP не должен задаваться список столбцов" -#: commands/publicationcmds.c:1815 +#: commands/publicationcmds.c:1808 #, c-format msgid "relation \"%s\" is not part of the publication" msgstr "отношение \"%s\" не включено в публикацию" -#: commands/publicationcmds.c:1822 +#: commands/publicationcmds.c:1815 #, c-format msgid "cannot use a WHERE clause when removing a table from a publication" msgstr "использовать WHERE при удалении таблицы из публикации нельзя" -#: commands/publicationcmds.c:1882 +#: commands/publicationcmds.c:1875 #, c-format msgid "tables from schema \"%s\" are not part of the publication" msgstr "таблицы из схемы \"%s\" не являются частью публикации" -#: commands/publicationcmds.c:1925 commands/publicationcmds.c:1932 +#: commands/publicationcmds.c:1918 commands/publicationcmds.c:1925 #, c-format msgid "permission denied to change owner of publication \"%s\"" -msgstr "нет прав на изменение владельца публикации \"%s\"" +msgstr "нет прав для изменения владельца публикации \"%s\"" -#: commands/publicationcmds.c:1927 +#: commands/publicationcmds.c:1920 #, c-format msgid "The owner of a FOR ALL TABLES publication must be a superuser." msgstr "" "Владельцем публикации всех таблиц (FOR ALL TABLES) должен быть " "суперпользователь." -#: commands/publicationcmds.c:1934 +#: commands/publicationcmds.c:1927 #, c-format msgid "The owner of a FOR TABLES IN SCHEMA publication must be a superuser." msgstr "" "Владельцем публикации вида FOR TABLES IN SCHEMA должен быть " "суперпользователь." -#: commands/publicationcmds.c:2000 +#: commands/publicationcmds.c:1993 #, c-format msgid "publication with OID %u does not exist" msgstr "публикация с OID %u не существует" @@ -10741,170 +11198,170 @@ msgstr "метки безопасности не поддерживаются д msgid "cannot set security label on relation \"%s\"" msgstr "задать метку безопасности для отношения \"%s\" нельзя" -#: commands/sequence.c:754 +#: commands/sequence.c:748 #, c-format msgid "nextval: reached maximum value of sequence \"%s\" (%lld)" msgstr "" "функция nextval достигла максимума для последовательности \"%s\" (%lld)" -#: commands/sequence.c:773 +#: commands/sequence.c:767 #, c-format msgid "nextval: reached minimum value of sequence \"%s\" (%lld)" msgstr "функция nextval достигла минимума для последовательности \"%s\" (%lld)" -#: commands/sequence.c:891 +#: commands/sequence.c:886 #, c-format msgid "currval of sequence \"%s\" is not yet defined in this session" msgstr "" "текущее значение (currval) для последовательности \"%s\" ещё не определено в " "этом сеансе" -#: commands/sequence.c:910 commands/sequence.c:916 +#: commands/sequence.c:905 commands/sequence.c:911 #, c-format msgid "lastval is not yet defined in this session" msgstr "последнее значение (lastval) ещё не определено в этом сеансе" -#: commands/sequence.c:996 +#: commands/sequence.c:991 #, c-format msgid "setval: value %lld is out of bounds for sequence \"%s\" (%lld..%lld)" msgstr "" "функции setval передано значение %lld вне пределов последовательности " "\"%s\" (%lld..%lld)" -#: commands/sequence.c:1365 +#: commands/sequence.c:1357 #, c-format msgid "invalid sequence option SEQUENCE NAME" msgstr "неверное свойство последовательности SEQUENCE NAME" -#: commands/sequence.c:1391 +#: commands/sequence.c:1383 #, c-format msgid "identity column type must be smallint, integer, or bigint" msgstr "" "типом столбца идентификации может быть только smallint, integer или bigint" -#: commands/sequence.c:1392 +#: commands/sequence.c:1384 #, c-format msgid "sequence type must be smallint, integer, or bigint" msgstr "" "типом последовательности может быть только smallint, integer или bigint" -#: commands/sequence.c:1426 +#: commands/sequence.c:1418 #, c-format msgid "INCREMENT must not be zero" msgstr "INCREMENT не может быть нулевым" -#: commands/sequence.c:1474 +#: commands/sequence.c:1466 #, c-format msgid "MAXVALUE (%lld) is out of range for sequence data type %s" msgstr "MAXVALUE (%lld) выходит за пределы типа данных последовательности %s" -#: commands/sequence.c:1506 +#: commands/sequence.c:1498 #, c-format msgid "MINVALUE (%lld) is out of range for sequence data type %s" msgstr "MINVALUE (%lld) выходит за пределы типа данных последовательности %s" -#: commands/sequence.c:1514 +#: commands/sequence.c:1506 #, c-format msgid "MINVALUE (%lld) must be less than MAXVALUE (%lld)" msgstr "MINVALUE (%lld) должно быть меньше MAXVALUE (%lld)" -#: commands/sequence.c:1535 +#: commands/sequence.c:1527 #, c-format msgid "START value (%lld) cannot be less than MINVALUE (%lld)" msgstr "значение START (%lld) не может быть меньше MINVALUE (%lld)" -#: commands/sequence.c:1541 +#: commands/sequence.c:1533 #, c-format msgid "START value (%lld) cannot be greater than MAXVALUE (%lld)" msgstr "значение START (%lld) не может быть больше MAXVALUE (%lld)" -#: commands/sequence.c:1565 +#: commands/sequence.c:1557 #, c-format msgid "RESTART value (%lld) cannot be less than MINVALUE (%lld)" msgstr "значение RESTART (%lld) не может быть меньше MINVALUE (%lld)" -#: commands/sequence.c:1571 +#: commands/sequence.c:1563 #, c-format msgid "RESTART value (%lld) cannot be greater than MAXVALUE (%lld)" msgstr "значение RESTART (%lld) не может быть больше MAXVALUE (%lld)" -#: commands/sequence.c:1582 +#: commands/sequence.c:1574 #, c-format msgid "CACHE (%lld) must be greater than zero" msgstr "значение CACHE (%lld) должно быть больше нуля" -#: commands/sequence.c:1618 +#: commands/sequence.c:1610 #, c-format msgid "invalid OWNED BY option" msgstr "неверное указание OWNED BY" # skip-rule: no-space-after-period -#: commands/sequence.c:1619 +#: commands/sequence.c:1611 #, c-format msgid "Specify OWNED BY table.column or OWNED BY NONE." msgstr "Укажите OWNED BY таблица.столбец или OWNED BY NONE." -#: commands/sequence.c:1644 +#: commands/sequence.c:1636 #, c-format msgid "sequence cannot be owned by relation \"%s\"" msgstr "последовательность не может принадлежать отношению \"%s\"" -#: commands/sequence.c:1652 +#: commands/sequence.c:1644 #, c-format msgid "sequence must have same owner as table it is linked to" msgstr "" "последовательность должна иметь того же владельца, что и таблица, с которой " "она связана" -#: commands/sequence.c:1656 +#: commands/sequence.c:1648 #, c-format msgid "sequence must be in same schema as table it is linked to" msgstr "" "последовательность должна быть в той же схеме, что и таблица, с которой она " "связана" -#: commands/sequence.c:1678 +#: commands/sequence.c:1670 #, c-format msgid "cannot change ownership of identity sequence" msgstr "сменить владельца последовательности идентификации нельзя" -#: commands/sequence.c:1679 commands/tablecmds.c:13945 -#: commands/tablecmds.c:16544 +#: commands/sequence.c:1671 commands/tablecmds.c:14486 +#: commands/tablecmds.c:17181 #, c-format msgid "Sequence \"%s\" is linked to table \"%s\"." msgstr "Последовательность \"%s\" связана с таблицей \"%s\"." -#: commands/statscmds.c:109 commands/statscmds.c:118 tcop/utility.c:1887 +#: commands/statscmds.c:106 commands/statscmds.c:115 tcop/utility.c:1883 #, c-format msgid "only a single relation is allowed in CREATE STATISTICS" msgstr "в CREATE STATISTICS можно указать только одно отношение" -#: commands/statscmds.c:136 +#: commands/statscmds.c:133 #, c-format msgid "cannot define statistics for relation \"%s\"" msgstr "для отношения \"%s\" нельзя определить объект статистики" -#: commands/statscmds.c:190 +#: commands/statscmds.c:187 #, c-format msgid "statistics object \"%s\" already exists, skipping" msgstr "объект статистики \"%s\" уже существует, пропускается" -#: commands/statscmds.c:198 +#: commands/statscmds.c:195 #, c-format msgid "statistics object \"%s\" already exists" msgstr "объект статистики \"%s\" уже существует" -#: commands/statscmds.c:209 +#: commands/statscmds.c:206 #, c-format msgid "cannot have more than %d columns in statistics" msgstr "в статистике не может быть больше %d столбцов" -#: commands/statscmds.c:250 commands/statscmds.c:273 commands/statscmds.c:307 +#: commands/statscmds.c:247 commands/statscmds.c:270 commands/statscmds.c:304 #, c-format msgid "statistics creation on system columns is not supported" msgstr "создание статистики для системных столбцов не поддерживается" -#: commands/statscmds.c:257 commands/statscmds.c:280 +#: commands/statscmds.c:254 commands/statscmds.c:277 #, c-format msgid "" "column \"%s\" cannot be used in statistics because its type %s has no " @@ -10913,7 +11370,7 @@ msgstr "" "столбец \"%s\" нельзя использовать в статистике, так как для его типа %s не " "определён класс операторов B-дерева по умолчанию" -#: commands/statscmds.c:324 +#: commands/statscmds.c:321 #, c-format msgid "" "expression cannot be used in multivariate statistics because its type %s has " @@ -10922,7 +11379,7 @@ msgstr "" "выражение нельзя использовать в многовариантной статистике, так как для его " "типа %s не определён класс операторов btree по умолчанию" -#: commands/statscmds.c:345 +#: commands/statscmds.c:342 #, c-format msgid "" "when building statistics on a single expression, statistics kinds may not be " @@ -10931,76 +11388,76 @@ msgstr "" "при построении статистики по единственному выражению указывать виды " "статистики нельзя" -#: commands/statscmds.c:374 +#: commands/statscmds.c:371 #, c-format msgid "unrecognized statistics kind \"%s\"" msgstr "нераспознанный вид статистики \"%s\"" -#: commands/statscmds.c:403 +#: commands/statscmds.c:400 #, c-format msgid "extended statistics require at least 2 columns" msgstr "для расширенной статистики требуются минимум 2 столбца" -#: commands/statscmds.c:421 +#: commands/statscmds.c:418 #, c-format msgid "duplicate column name in statistics definition" msgstr "повторяющееся имя столбца в определении статистики" -#: commands/statscmds.c:456 +#: commands/statscmds.c:453 #, c-format msgid "duplicate expression in statistics definition" msgstr "повторяющееся выражение в определении статистики" -#: commands/statscmds.c:619 commands/tablecmds.c:8187 +#: commands/statscmds.c:628 commands/tablecmds.c:8620 #, c-format msgid "statistics target %d is too low" msgstr "ориентир статистики слишком мал (%d)" -#: commands/statscmds.c:627 commands/tablecmds.c:8195 +#: commands/statscmds.c:636 commands/tablecmds.c:8628 #, c-format msgid "lowering statistics target to %d" msgstr "ориентир статистики снижается до %d" -#: commands/statscmds.c:650 +#: commands/statscmds.c:660 #, c-format msgid "statistics object \"%s.%s\" does not exist, skipping" msgstr "объект статистики \"%s.%s\" не существует, пропускается" -#: commands/subscriptioncmds.c:271 commands/subscriptioncmds.c:359 +#: commands/subscriptioncmds.c:275 commands/subscriptioncmds.c:372 #, c-format msgid "unrecognized subscription parameter: \"%s\"" msgstr "нераспознанный параметр подписки: \"%s\"" -#: commands/subscriptioncmds.c:327 replication/pgoutput/pgoutput.c:395 +#: commands/subscriptioncmds.c:340 replication/pgoutput/pgoutput.c:397 #, c-format msgid "unrecognized origin value: \"%s\"" msgstr "нераспознанное значение origin: \"%s\"" -#: commands/subscriptioncmds.c:350 +#: commands/subscriptioncmds.c:363 #, c-format msgid "invalid WAL location (LSN): %s" msgstr "неверная позиция в WAL (LSN): %s" #. translator: both %s are strings of the form "option = value" -#: commands/subscriptioncmds.c:374 commands/subscriptioncmds.c:381 -#: commands/subscriptioncmds.c:388 commands/subscriptioncmds.c:410 -#: commands/subscriptioncmds.c:426 +#: commands/subscriptioncmds.c:387 commands/subscriptioncmds.c:394 +#: commands/subscriptioncmds.c:401 commands/subscriptioncmds.c:423 +#: commands/subscriptioncmds.c:439 #, c-format msgid "%s and %s are mutually exclusive options" msgstr "указания %s и %s являются взаимоисключающими" #. translator: both %s are strings of the form "option = value" -#: commands/subscriptioncmds.c:416 commands/subscriptioncmds.c:432 +#: commands/subscriptioncmds.c:429 commands/subscriptioncmds.c:445 #, c-format msgid "subscription with %s must also set %s" msgstr "для подписки с параметром %s необходимо также задать %s" -#: commands/subscriptioncmds.c:494 +#: commands/subscriptioncmds.c:506 #, c-format msgid "could not receive list of publications from the publisher: %s" msgstr "не удалось получить список публикаций с публикующего сервера: %s" -#: commands/subscriptioncmds.c:526 +#: commands/subscriptioncmds.c:538 #, c-format msgid "publication %s does not exist on the publisher" msgid_plural "publications %s do not exist on the publisher" @@ -11008,33 +11465,34 @@ msgstr[0] "публикация %s не существует на публику msgstr[1] "публикации %s не существуют на публикующем сервере" msgstr[2] "публикации %s не существуют на публикующем сервере" -#: commands/subscriptioncmds.c:614 +#: commands/subscriptioncmds.c:626 #, c-format msgid "permission denied to create subscription" msgstr "нет прав для создания подписки" -#: commands/subscriptioncmds.c:615 +#: commands/subscriptioncmds.c:627 #, c-format msgid "Only roles with privileges of the \"%s\" role may create subscriptions." msgstr "Создавать подписки могут только роли с правами роли \"%s\"." -#: commands/subscriptioncmds.c:745 commands/subscriptioncmds.c:878 -#: replication/logical/tablesync.c:1334 replication/logical/worker.c:4616 +#: commands/subscriptioncmds.c:758 commands/subscriptioncmds.c:891 +#: commands/subscriptioncmds.c:1524 replication/logical/tablesync.c:1345 +#: replication/logical/worker.c:4503 #, c-format msgid "could not connect to the publisher: %s" msgstr "не удалось подключиться к серверу публикации: %s" -#: commands/subscriptioncmds.c:816 +#: commands/subscriptioncmds.c:829 #, c-format msgid "created replication slot \"%s\" on publisher" msgstr "на сервере публикации создан слот репликации \"%s\"" -#: commands/subscriptioncmds.c:828 +#: commands/subscriptioncmds.c:841 #, c-format msgid "subscription was created, but is not connected" msgstr "подписка создана, но не подключена" -#: commands/subscriptioncmds.c:829 +#: commands/subscriptioncmds.c:842 #, c-format msgid "" "To initiate replication, you must manually create the replication slot, " @@ -11043,36 +11501,43 @@ msgstr "" "Чтобы начать репликацию, вы должны вручную создать слот репликации, включить " "подписку, а затем обновить её." -#: commands/subscriptioncmds.c:1096 commands/subscriptioncmds.c:1509 -#: commands/subscriptioncmds.c:1892 utils/cache/lsyscache.c:3642 +#: commands/subscriptioncmds.c:1109 commands/subscriptioncmds.c:1590 +#: commands/subscriptioncmds.c:1973 utils/cache/lsyscache.c:3684 #, c-format msgid "subscription \"%s\" does not exist" msgstr "подписка \"%s\" не существует" -#: commands/subscriptioncmds.c:1152 +#: commands/subscriptioncmds.c:1166 commands/subscriptioncmds.c:1245 #, c-format msgid "cannot set %s for enabled subscription" msgstr "для включённой подписки нельзя задать %s" -#: commands/subscriptioncmds.c:1234 +#: commands/subscriptioncmds.c:1233 +#, c-format +msgid "" +"cannot set option \"%s\" for a subscription that does not have a slot name" +msgstr "" +"задать параметр \"%s\" для подписки, для которой не задано имя слота, нельзя" + +#: commands/subscriptioncmds.c:1279 #, c-format msgid "cannot enable subscription that does not have a slot name" msgstr "включить подписку, для которой не задано имя слота, нельзя" -#: commands/subscriptioncmds.c:1278 commands/subscriptioncmds.c:1329 +#: commands/subscriptioncmds.c:1323 commands/subscriptioncmds.c:1374 #, c-format msgid "" "ALTER SUBSCRIPTION with refresh is not allowed for disabled subscriptions" msgstr "" "ALTER SUBSCRIPTION с обновлением для отключённых подписок не допускается" -#: commands/subscriptioncmds.c:1279 +#: commands/subscriptioncmds.c:1324 #, c-format msgid "Use ALTER SUBSCRIPTION ... SET PUBLICATION ... WITH (refresh = false)." msgstr "" "Выполните ALTER SUBSCRIPTION ... SET PUBLICATION ... WITH (refresh = false)." -#: commands/subscriptioncmds.c:1288 commands/subscriptioncmds.c:1343 +#: commands/subscriptioncmds.c:1333 commands/subscriptioncmds.c:1388 #, c-format msgid "" "ALTER SUBSCRIPTION with refresh and copy_data is not allowed when two_phase " @@ -11081,7 +11546,7 @@ msgstr "" "ALTER SUBSCRIPTION с параметром публикации refresh в режиме copy_data не " "допускается, когда включён параметр two_phase" -#: commands/subscriptioncmds.c:1289 +#: commands/subscriptioncmds.c:1334 #, c-format msgid "" "Use ALTER SUBSCRIPTION ... SET PUBLICATION with refresh = false, or with " @@ -11091,7 +11556,7 @@ msgstr "" "copy_data = false либо выполните DROP/CREATE SUBSCRIPTION." #. translator: %s is an SQL ALTER command -#: commands/subscriptioncmds.c:1345 +#: commands/subscriptioncmds.c:1390 #, c-format msgid "" "Use %s with refresh = false, or with copy_data = false, or use DROP/CREATE " @@ -11100,13 +11565,13 @@ msgstr "" "Выполните %s с refresh = false или с copy_data = false либо выполните DROP/" "CREATE SUBSCRIPTION." -#: commands/subscriptioncmds.c:1367 +#: commands/subscriptioncmds.c:1412 #, c-format msgid "" "ALTER SUBSCRIPTION ... REFRESH is not allowed for disabled subscriptions" msgstr "ALTER SUBSCRIPTION ... REFRESH для отключённых подписок не допускается" -#: commands/subscriptioncmds.c:1392 +#: commands/subscriptioncmds.c:1437 #, c-format msgid "" "ALTER SUBSCRIPTION ... REFRESH with copy_data is not allowed when two_phase " @@ -11115,7 +11580,7 @@ msgstr "" "ALTER SUBSCRIPTION ... REFRESH в режиме copy_data не допускается, когда " "включён параметр two_phase" -#: commands/subscriptioncmds.c:1393 +#: commands/subscriptioncmds.c:1438 #, c-format msgid "" "Use ALTER SUBSCRIPTION ... REFRESH with copy_data = false, or use DROP/" @@ -11124,39 +11589,39 @@ msgstr "" "Выполните ALTER SUBSCRIPTION ... REFRESH с copy_data = false либо выполните " "DROP/CREATE SUBSCRIPTION." -#: commands/subscriptioncmds.c:1428 +#: commands/subscriptioncmds.c:1473 #, c-format msgid "skip WAL location (LSN %X/%X) must be greater than origin LSN %X/%X" msgstr "" "позиция пропуска в WAL (LSN %X/%X) должна быть больше начального LSN %X/%X" -#: commands/subscriptioncmds.c:1513 +#: commands/subscriptioncmds.c:1594 #, c-format msgid "subscription \"%s\" does not exist, skipping" msgstr "подписка \"%s\" не существует, пропускается" -#: commands/subscriptioncmds.c:1782 +#: commands/subscriptioncmds.c:1863 #, c-format msgid "dropped replication slot \"%s\" on publisher" msgstr "слот репликации \"%s\" удалён на сервере репликации" -#: commands/subscriptioncmds.c:1791 commands/subscriptioncmds.c:1799 +#: commands/subscriptioncmds.c:1872 commands/subscriptioncmds.c:1880 #, c-format msgid "could not drop replication slot \"%s\" on publisher: %s" msgstr "слот репликации \"%s\" на сервере публикации не был удалён: %s" -#: commands/subscriptioncmds.c:1924 +#: commands/subscriptioncmds.c:2005 #, c-format msgid "subscription with OID %u does not exist" msgstr "подписка с OID %u не существует" -#: commands/subscriptioncmds.c:1995 commands/subscriptioncmds.c:2120 +#: commands/subscriptioncmds.c:2076 commands/subscriptioncmds.c:2201 #, c-format msgid "could not receive list of replicated tables from the publisher: %s" msgstr "" "не удалось получить список реплицируемых таблиц с сервера репликации: %s" -#: commands/subscriptioncmds.c:2031 +#: commands/subscriptioncmds.c:2112 #, c-format msgid "" "subscription \"%s\" requested copy_data with origin = NONE but might copy " @@ -11165,7 +11630,7 @@ msgstr "" "для подписки \"%s\" выбран режим copy_data с origin = NONE, но в неё могут " "попасть данные из другого источника" -#: commands/subscriptioncmds.c:2033 +#: commands/subscriptioncmds.c:2114 #, c-format msgid "" "The subscription being created subscribes to a publication (%s) that " @@ -11183,7 +11648,7 @@ msgstr[2] "" "Создаваемая подписка связана с публикациями (%s), содержащими таблицы, в " "которые записывают другие подписки." -#: commands/subscriptioncmds.c:2036 +#: commands/subscriptioncmds.c:2117 #, c-format msgid "" "Verify that initial data copied from the publisher tables did not come from " @@ -11192,8 +11657,8 @@ msgstr "" "Убедитесь, что начальные данные, скопированные из таблиц публикации, " "поступили не из других источников." -#: commands/subscriptioncmds.c:2142 replication/logical/tablesync.c:893 -#: replication/pgoutput/pgoutput.c:1112 +#: commands/subscriptioncmds.c:2223 replication/logical/tablesync.c:906 +#: replication/pgoutput/pgoutput.c:1117 #, c-format msgid "" "cannot use different column lists for table \"%s.%s\" in different " @@ -11202,7 +11667,7 @@ msgstr "" "использовать различные списки столбцов таблицы \"%s.%s\" в разных " "публикациях нельзя" -#: commands/subscriptioncmds.c:2192 +#: commands/subscriptioncmds.c:2273 #, c-format msgid "" "could not connect to publisher when attempting to drop replication slot " @@ -11212,7 +11677,7 @@ msgstr "" "\"%s\": %s" #. translator: %s is an SQL ALTER command -#: commands/subscriptioncmds.c:2195 +#: commands/subscriptioncmds.c:2276 #, c-format msgid "" "Use %s to disable the subscription, and then use %s to disassociate it from " @@ -11221,194 +11686,197 @@ msgstr "" "Выполните %s, чтобы отключить подписку, а затем выполните %s, чтобы отвязать " "её от слота." -#: commands/subscriptioncmds.c:2226 +#: commands/subscriptioncmds.c:2307 #, c-format msgid "publication name \"%s\" used more than once" msgstr "имя публикации \"%s\" используется неоднократно" -#: commands/subscriptioncmds.c:2270 +#: commands/subscriptioncmds.c:2351 #, c-format msgid "publication \"%s\" is already in subscription \"%s\"" msgstr "публикация \"%s\" уже имеется в подписке \"%s\"" -#: commands/subscriptioncmds.c:2284 +#: commands/subscriptioncmds.c:2365 #, c-format msgid "publication \"%s\" is not in subscription \"%s\"" msgstr "публикация \"%s\" отсутствует в подписке \"%s\"" -#: commands/subscriptioncmds.c:2295 +#: commands/subscriptioncmds.c:2376 #, c-format msgid "cannot drop all the publications from a subscription" msgstr "удалить все публикации из подписки нельзя" -#: commands/subscriptioncmds.c:2352 +#: commands/subscriptioncmds.c:2433 #, c-format msgid "%s requires a Boolean value or \"parallel\"" msgstr "%s требует логическое значение или \"parallel\"" -#: commands/tablecmds.c:246 commands/tablecmds.c:288 +#: commands/tablecmds.c:255 commands/tablecmds.c:297 #, c-format msgid "table \"%s\" does not exist" msgstr "таблица \"%s\" не существует" -#: commands/tablecmds.c:247 commands/tablecmds.c:289 +#: commands/tablecmds.c:256 commands/tablecmds.c:298 #, c-format msgid "table \"%s\" does not exist, skipping" msgstr "таблица \"%s\" не существует, пропускается" -#: commands/tablecmds.c:249 commands/tablecmds.c:291 +#: commands/tablecmds.c:258 commands/tablecmds.c:300 msgid "Use DROP TABLE to remove a table." msgstr "Выполните DROP TABLE для удаления таблицы." -#: commands/tablecmds.c:252 +#: commands/tablecmds.c:261 #, c-format msgid "sequence \"%s\" does not exist" msgstr "последовательность \"%s\" не существует" -#: commands/tablecmds.c:253 +#: commands/tablecmds.c:262 #, c-format msgid "sequence \"%s\" does not exist, skipping" msgstr "последовательность \"%s\" не существует, пропускается" -#: commands/tablecmds.c:255 +#: commands/tablecmds.c:264 msgid "Use DROP SEQUENCE to remove a sequence." msgstr "Выполните DROP SEQUENCE для удаления последовательности." -#: commands/tablecmds.c:258 +#: commands/tablecmds.c:267 #, c-format msgid "view \"%s\" does not exist" msgstr "представление \"%s\" не существует" -#: commands/tablecmds.c:259 +#: commands/tablecmds.c:268 #, c-format msgid "view \"%s\" does not exist, skipping" msgstr "представление \"%s\" не существует, пропускается" -#: commands/tablecmds.c:261 +#: commands/tablecmds.c:270 msgid "Use DROP VIEW to remove a view." msgstr "Выполните DROP VIEW для удаления представления." -#: commands/tablecmds.c:264 +#: commands/tablecmds.c:273 #, c-format msgid "materialized view \"%s\" does not exist" msgstr "материализованное представление \"%s\" не существует" -#: commands/tablecmds.c:265 +#: commands/tablecmds.c:274 #, c-format msgid "materialized view \"%s\" does not exist, skipping" msgstr "материализованное представление \"%s\" не существует, пропускается" -#: commands/tablecmds.c:267 +#: commands/tablecmds.c:276 msgid "Use DROP MATERIALIZED VIEW to remove a materialized view." msgstr "" "Выполните DROP MATERIALIZED VIEW для удаления материализованного " "представления." -#: commands/tablecmds.c:270 commands/tablecmds.c:294 commands/tablecmds.c:19043 -#: parser/parse_utilcmd.c:2254 +#: commands/tablecmds.c:279 commands/tablecmds.c:303 commands/tablecmds.c:19783 +#: parser/parse_utilcmd.c:2251 #, c-format msgid "index \"%s\" does not exist" msgstr "индекс \"%s\" не существует" -#: commands/tablecmds.c:271 commands/tablecmds.c:295 +#: commands/tablecmds.c:280 commands/tablecmds.c:304 #, c-format msgid "index \"%s\" does not exist, skipping" msgstr "индекс \"%s\" не существует, пропускается" -#: commands/tablecmds.c:273 commands/tablecmds.c:297 +#: commands/tablecmds.c:282 commands/tablecmds.c:306 msgid "Use DROP INDEX to remove an index." msgstr "Выполните DROP INDEX для удаления индекса." -#: commands/tablecmds.c:278 +#: commands/tablecmds.c:287 #, c-format msgid "\"%s\" is not a type" msgstr "\"%s\" - это не тип" -#: commands/tablecmds.c:279 +#: commands/tablecmds.c:288 msgid "Use DROP TYPE to remove a type." msgstr "Выполните DROP TYPE для удаления типа." -#: commands/tablecmds.c:282 commands/tablecmds.c:13784 -#: commands/tablecmds.c:16249 +#: commands/tablecmds.c:291 commands/tablecmds.c:14325 +#: commands/tablecmds.c:16886 #, c-format msgid "foreign table \"%s\" does not exist" msgstr "сторонняя таблица \"%s\" не существует" -#: commands/tablecmds.c:283 +#: commands/tablecmds.c:292 #, c-format msgid "foreign table \"%s\" does not exist, skipping" msgstr "сторонняя таблица \"%s\" не существует, пропускается" -#: commands/tablecmds.c:285 +#: commands/tablecmds.c:294 msgid "Use DROP FOREIGN TABLE to remove a foreign table." msgstr "Выполните DROP FOREIGN TABLE для удаления сторонней таблицы." -#: commands/tablecmds.c:700 +#: commands/tablecmds.c:734 #, c-format msgid "ON COMMIT can only be used on temporary tables" msgstr "ON COMMIT можно использовать только для временных таблиц" -#: commands/tablecmds.c:731 +#: commands/tablecmds.c:765 #, c-format msgid "cannot create temporary table within security-restricted operation" msgstr "" "в рамках операции с ограничениями по безопасности нельзя создать временную " "таблицу" -#: commands/tablecmds.c:767 commands/tablecmds.c:15094 +#: commands/tablecmds.c:801 commands/tablecmds.c:15745 #, c-format msgid "relation \"%s\" would be inherited from more than once" msgstr "отношение \"%s\" наследуется неоднократно" -#: commands/tablecmds.c:951 -#, c-format -msgid "" -"specifying a table access method is not supported on a partitioned table" -msgstr "" -"указание табличного метода доступа для секционированных таблиц не " -"поддерживаются" - -#: commands/tablecmds.c:1044 +#: commands/tablecmds.c:1067 #, c-format msgid "\"%s\" is not partitioned" msgstr "отношение \"%s\" не является секционированным" -#: commands/tablecmds.c:1138 +#: commands/tablecmds.c:1161 #, c-format msgid "cannot partition using more than %d columns" msgstr "число столбцов в ключе секционирования не может превышать %d" -#: commands/tablecmds.c:1194 +#: commands/tablecmds.c:1217 #, c-format msgid "cannot create foreign partition of partitioned table \"%s\"" msgstr "создать стороннюю секцию для секционированной таблицы \"%s\" нельзя" -#: commands/tablecmds.c:1196 +#: commands/tablecmds.c:1219 #, c-format msgid "Table \"%s\" contains indexes that are unique." msgstr "Таблица \"%s\" содержит индексы, являющиеся уникальными." -#: commands/tablecmds.c:1361 +#: commands/tablecmds.c:1338 commands/tablecmds.c:13341 +#, c-format +msgid "too many array dimensions" +msgstr "слишком много размерностей массива" + +#: commands/tablecmds.c:1343 parser/parse_clause.c:774 +#: parser/parse_relation.c:1912 +#, c-format +msgid "column \"%s\" cannot be declared SETOF" +msgstr "столбец \"%s\" не может быть объявлен как SETOF" + +#: commands/tablecmds.c:1489 #, c-format msgid "DROP INDEX CONCURRENTLY does not support dropping multiple objects" msgstr "DROP INDEX CONCURRENTLY не поддерживает удаление нескольких объектов" -#: commands/tablecmds.c:1365 +#: commands/tablecmds.c:1493 #, c-format msgid "DROP INDEX CONCURRENTLY does not support CASCADE" msgstr "DROP INDEX CONCURRENTLY не поддерживает режим CASCADE" -#: commands/tablecmds.c:1469 +#: commands/tablecmds.c:1597 #, c-format msgid "cannot drop partitioned index \"%s\" concurrently" msgstr "удалить секционированный индекс \"%s\" параллельным способом нельзя" -#: commands/tablecmds.c:1757 +#: commands/tablecmds.c:1885 #, c-format msgid "cannot truncate only a partitioned table" msgstr "опустошить собственно секционированную таблицу нельзя" -#: commands/tablecmds.c:1758 +#: commands/tablecmds.c:1886 #, c-format msgid "" "Do not specify the ONLY keyword, or use TRUNCATE ONLY on the partitions " @@ -11417,39 +11885,39 @@ msgstr "" "Не указывайте ключевое слово ONLY или выполните TRUNCATE ONLY " "непосредственно для секций." -#: commands/tablecmds.c:1831 +#: commands/tablecmds.c:1959 #, c-format msgid "truncate cascades to table \"%s\"" msgstr "опустошение распространяется на таблицу %s" -#: commands/tablecmds.c:2195 +#: commands/tablecmds.c:2320 #, c-format msgid "cannot truncate foreign table \"%s\"" msgstr "опустошить стороннюю таблицу \"%s\" нельзя" -#: commands/tablecmds.c:2252 +#: commands/tablecmds.c:2377 #, c-format msgid "cannot truncate temporary tables of other sessions" msgstr "временные таблицы других сеансов нельзя опустошить" -#: commands/tablecmds.c:2484 commands/tablecmds.c:14991 +#: commands/tablecmds.c:2606 commands/tablecmds.c:15642 #, c-format msgid "cannot inherit from partitioned table \"%s\"" msgstr "наследование от секционированной таблицы \"%s\" не допускается" -#: commands/tablecmds.c:2489 +#: commands/tablecmds.c:2611 #, c-format msgid "cannot inherit from partition \"%s\"" msgstr "наследование от секции \"%s\" не допускается" -#: commands/tablecmds.c:2497 parser/parse_utilcmd.c:2484 -#: parser/parse_utilcmd.c:2626 +#: commands/tablecmds.c:2619 parser/parse_utilcmd.c:2481 +#: parser/parse_utilcmd.c:2623 #, c-format msgid "inherited relation \"%s\" is not a table or foreign table" msgstr "" "наследуемое отношение \"%s\" не является таблицей или сторонней таблицей" -#: commands/tablecmds.c:2509 +#: commands/tablecmds.c:2631 #, c-format msgid "" "cannot create a temporary relation as partition of permanent relation \"%s\"" @@ -11457,74 +11925,25 @@ msgstr "" "создать временное отношение в качестве секции постоянного отношения \"%s\" " "нельзя" -#: commands/tablecmds.c:2518 commands/tablecmds.c:14970 +#: commands/tablecmds.c:2640 commands/tablecmds.c:15621 #, c-format msgid "cannot inherit from temporary relation \"%s\"" msgstr "временное отношение \"%s\" не может наследоваться" -#: commands/tablecmds.c:2528 commands/tablecmds.c:14978 +#: commands/tablecmds.c:2650 commands/tablecmds.c:15629 #, c-format msgid "cannot inherit from temporary relation of another session" msgstr "наследование от временного отношения другого сеанса невозможно" -#: commands/tablecmds.c:2581 -#, c-format -msgid "merging multiple inherited definitions of column \"%s\"" -msgstr "слияние нескольких наследованных определений столбца \"%s\"" - -#: commands/tablecmds.c:2593 -#, c-format -msgid "inherited column \"%s\" has a type conflict" -msgstr "конфликт типов в наследованном столбце \"%s\"" - -#: commands/tablecmds.c:2595 commands/tablecmds.c:2624 -#: commands/tablecmds.c:2643 commands/tablecmds.c:2915 -#: commands/tablecmds.c:2951 commands/tablecmds.c:2967 -#: parser/parse_coerce.c:2155 parser/parse_coerce.c:2175 -#: parser/parse_coerce.c:2195 parser/parse_coerce.c:2216 -#: parser/parse_coerce.c:2271 parser/parse_coerce.c:2305 -#: parser/parse_coerce.c:2381 parser/parse_coerce.c:2412 -#: parser/parse_coerce.c:2451 parser/parse_coerce.c:2518 -#: parser/parse_param.c:223 -#, c-format -msgid "%s versus %s" -msgstr "%s и %s" - -#: commands/tablecmds.c:2608 -#, c-format -msgid "inherited column \"%s\" has a collation conflict" -msgstr "конфликт правил сортировки в наследованном столбце \"%s\"" - -#: commands/tablecmds.c:2610 commands/tablecmds.c:2931 -#: commands/tablecmds.c:6848 -#, c-format -msgid "\"%s\" versus \"%s\"" -msgstr "\"%s\" и \"%s\"" - -#: commands/tablecmds.c:2622 -#, c-format -msgid "inherited column \"%s\" has a storage parameter conflict" -msgstr "конфликт параметров хранения в наследованном столбце \"%s\"" - -#: commands/tablecmds.c:2641 commands/tablecmds.c:2965 -#, c-format -msgid "column \"%s\" has a compression method conflict" -msgstr "в столбце \"%s\" возник конфликт методов сжатия" - -#: commands/tablecmds.c:2657 -#, c-format -msgid "inherited column \"%s\" has a generation conflict" -msgstr "конфликт свойства генерирования в наследованном столбце \"%s\"" - -#: commands/tablecmds.c:2763 commands/tablecmds.c:2818 -#: commands/tablecmds.c:12477 parser/parse_utilcmd.c:1307 -#: parser/parse_utilcmd.c:1350 parser/parse_utilcmd.c:1749 -#: parser/parse_utilcmd.c:1857 +#: commands/tablecmds.c:2791 commands/tablecmds.c:2845 +#: commands/tablecmds.c:13024 parser/parse_utilcmd.c:1265 +#: parser/parse_utilcmd.c:1308 parser/parse_utilcmd.c:1735 +#: parser/parse_utilcmd.c:1843 #, c-format msgid "cannot convert whole-row table reference" msgstr "преобразовать ссылку на тип всей строки таблицы нельзя" -#: commands/tablecmds.c:2764 parser/parse_utilcmd.c:1308 +#: commands/tablecmds.c:2792 parser/parse_utilcmd.c:1266 #, c-format msgid "" "Generation expression for column \"%s\" contains a whole-row reference to " @@ -11533,89 +11952,58 @@ msgstr "" "Генерирующее выражение столбца \"%s\" ссылается на тип всей строки в таблице " "\"%s\"." -#: commands/tablecmds.c:2819 parser/parse_utilcmd.c:1351 +#: commands/tablecmds.c:2846 parser/parse_utilcmd.c:1309 #, c-format msgid "Constraint \"%s\" contains a whole-row reference to table \"%s\"." msgstr "Ограничение \"%s\" ссылается на тип всей строки в таблице \"%s\"." -#: commands/tablecmds.c:2897 -#, c-format -msgid "merging column \"%s\" with inherited definition" -msgstr "слияние столбца \"%s\" с наследованным определением" - -#: commands/tablecmds.c:2901 -#, c-format -msgid "moving and merging column \"%s\" with inherited definition" -msgstr "перемещение и слияние столбца \"%s\" с наследуемым определением" - -#: commands/tablecmds.c:2902 -#, c-format -msgid "User-specified column moved to the position of the inherited column." -msgstr "" -"Определённый пользователем столбец перемещён в позицию наследуемого столбца." - -#: commands/tablecmds.c:2913 -#, c-format -msgid "column \"%s\" has a type conflict" -msgstr "конфликт типов в столбце \"%s\"" - -#: commands/tablecmds.c:2929 -#, c-format -msgid "column \"%s\" has a collation conflict" -msgstr "конфликт правил сортировки в столбце \"%s\"" - -#: commands/tablecmds.c:2949 -#, c-format -msgid "column \"%s\" has a storage parameter conflict" -msgstr "конфликт параметров хранения в столбце \"%s\"" - -#: commands/tablecmds.c:2995 commands/tablecmds.c:3082 +#: commands/tablecmds.c:2956 commands/tablecmds.c:3227 #, c-format msgid "column \"%s\" inherits from generated column but specifies default" msgstr "" "столбец \"%s\" наследуется от генерируемого столбца, но для него задано " "значение по умолчанию" -#: commands/tablecmds.c:3000 commands/tablecmds.c:3087 +#: commands/tablecmds.c:2961 commands/tablecmds.c:3232 #, c-format msgid "column \"%s\" inherits from generated column but specifies identity" msgstr "" "столбец \"%s\" наследуется от генерируемого столбца, но для него задано " "свойство идентификации" -#: commands/tablecmds.c:3008 commands/tablecmds.c:3095 +#: commands/tablecmds.c:2969 commands/tablecmds.c:3240 #, c-format msgid "child column \"%s\" specifies generation expression" msgstr "для дочернего столбца \"%s\" указано генерирующее выражение" -#: commands/tablecmds.c:3010 commands/tablecmds.c:3097 +#: commands/tablecmds.c:2971 commands/tablecmds.c:3242 #, c-format msgid "A child table column cannot be generated unless its parent column is." msgstr "" "Дочерний столбец может быть генерируемым, только если родительский столбец " "является таковым." -#: commands/tablecmds.c:3143 +#: commands/tablecmds.c:3017 #, c-format msgid "column \"%s\" inherits conflicting generation expressions" msgstr "столбец \"%s\" наследует конфликтующие генерирующие выражения" -#: commands/tablecmds.c:3145 +#: commands/tablecmds.c:3019 #, c-format msgid "To resolve the conflict, specify a generation expression explicitly." msgstr "Для разрешения конфликта укажите генерирующее выражение явно." -#: commands/tablecmds.c:3149 +#: commands/tablecmds.c:3023 #, c-format msgid "column \"%s\" inherits conflicting default values" msgstr "столбец \"%s\" наследует конфликтующие значения по умолчанию" -#: commands/tablecmds.c:3151 +#: commands/tablecmds.c:3025 #, c-format msgid "To resolve the conflict, specify a default explicitly." msgstr "Для решения конфликта укажите желаемое значение по умолчанию." -#: commands/tablecmds.c:3201 +#: commands/tablecmds.c:3080 #, c-format msgid "" "check constraint name \"%s\" appears multiple times but with different " @@ -11624,52 +12012,132 @@ msgstr "" "имя ограничения-проверки \"%s\" фигурирует несколько раз, но с разными " "выражениями" -#: commands/tablecmds.c:3414 -#, c-format -msgid "cannot move temporary tables of other sessions" -msgstr "перемещать временные таблицы других сеансов нельзя" - -#: commands/tablecmds.c:3484 +#: commands/tablecmds.c:3131 #, c-format -msgid "cannot rename column of typed table" -msgstr "переименовать столбец типизированной таблицы нельзя" +msgid "merging column \"%s\" with inherited definition" +msgstr "слияние столбца \"%s\" с наследованным определением" -#: commands/tablecmds.c:3503 +#: commands/tablecmds.c:3135 #, c-format -msgid "cannot rename columns of relation \"%s\"" -msgstr "переименовывать столбцы отношения \"%s\" нельзя" +msgid "moving and merging column \"%s\" with inherited definition" +msgstr "перемещение и слияние столбца \"%s\" с наследуемым определением" -#: commands/tablecmds.c:3598 +#: commands/tablecmds.c:3136 #, c-format -msgid "inherited column \"%s\" must be renamed in child tables too" +msgid "User-specified column moved to the position of the inherited column." msgstr "" -"наследованный столбец \"%s\" должен быть также переименован в дочерних " -"таблицах" +"Определённый пользователем столбец перемещён в позицию наследуемого столбца." -#: commands/tablecmds.c:3630 +#: commands/tablecmds.c:3148 #, c-format -msgid "cannot rename system column \"%s\"" -msgstr "нельзя переименовать системный столбец \"%s\"" +msgid "column \"%s\" has a type conflict" +msgstr "конфликт типов в столбце \"%s\"" -#: commands/tablecmds.c:3645 +#: commands/tablecmds.c:3150 commands/tablecmds.c:3184 +#: commands/tablecmds.c:3200 commands/tablecmds.c:3307 +#: commands/tablecmds.c:3340 commands/tablecmds.c:3356 +#: parser/parse_coerce.c:2155 parser/parse_coerce.c:2175 +#: parser/parse_coerce.c:2195 parser/parse_coerce.c:2216 +#: parser/parse_coerce.c:2271 parser/parse_coerce.c:2305 +#: parser/parse_coerce.c:2381 parser/parse_coerce.c:2412 +#: parser/parse_coerce.c:2451 parser/parse_coerce.c:2518 +#: parser/parse_param.c:223 #, c-format -msgid "cannot rename inherited column \"%s\"" +msgid "%s versus %s" +msgstr "%s и %s" + +#: commands/tablecmds.c:3162 +#, c-format +msgid "column \"%s\" has a collation conflict" +msgstr "конфликт правил сортировки в столбце \"%s\"" + +#: commands/tablecmds.c:3164 commands/tablecmds.c:3326 +#: commands/tablecmds.c:7080 +#, c-format +msgid "\"%s\" versus \"%s\"" +msgstr "\"%s\" и \"%s\"" + +#: commands/tablecmds.c:3182 +#, c-format +msgid "column \"%s\" has a storage parameter conflict" +msgstr "конфликт параметров хранения в столбце \"%s\"" + +#: commands/tablecmds.c:3198 commands/tablecmds.c:3354 +#, c-format +msgid "column \"%s\" has a compression method conflict" +msgstr "в столбце \"%s\" возник конфликт методов сжатия" + +#: commands/tablecmds.c:3293 +#, c-format +msgid "merging multiple inherited definitions of column \"%s\"" +msgstr "слияние нескольких наследованных определений столбца \"%s\"" + +#: commands/tablecmds.c:3305 +#, c-format +msgid "inherited column \"%s\" has a type conflict" +msgstr "конфликт типов в наследованном столбце \"%s\"" + +#: commands/tablecmds.c:3324 +#, c-format +msgid "inherited column \"%s\" has a collation conflict" +msgstr "конфликт правил сортировки в наследованном столбце \"%s\"" + +#: commands/tablecmds.c:3338 +#, c-format +msgid "inherited column \"%s\" has a storage parameter conflict" +msgstr "конфликт параметров хранения в наследованном столбце \"%s\"" + +#: commands/tablecmds.c:3366 +#, c-format +msgid "inherited column \"%s\" has a generation conflict" +msgstr "конфликт свойства генерирования в наследованном столбце \"%s\"" + +#: commands/tablecmds.c:3597 +#, c-format +msgid "cannot move temporary tables of other sessions" +msgstr "перемещать временные таблицы других сеансов нельзя" + +#: commands/tablecmds.c:3670 +#, c-format +msgid "cannot rename column of typed table" +msgstr "переименовать столбец типизированной таблицы нельзя" + +#: commands/tablecmds.c:3689 +#, c-format +msgid "cannot rename columns of relation \"%s\"" +msgstr "переименовывать столбцы отношения \"%s\" нельзя" + +#: commands/tablecmds.c:3784 +#, c-format +msgid "inherited column \"%s\" must be renamed in child tables too" +msgstr "" +"наследованный столбец \"%s\" должен быть также переименован в дочерних " +"таблицах" + +#: commands/tablecmds.c:3816 +#, c-format +msgid "cannot rename system column \"%s\"" +msgstr "нельзя переименовать системный столбец \"%s\"" + +#: commands/tablecmds.c:3831 +#, c-format +msgid "cannot rename inherited column \"%s\"" msgstr "нельзя переименовать наследованный столбец \"%s\"" -#: commands/tablecmds.c:3797 +#: commands/tablecmds.c:3983 #, c-format msgid "inherited constraint \"%s\" must be renamed in child tables too" msgstr "" "наследуемое ограничение \"%s\" должно быть также переименовано в дочерних " "таблицах" -#: commands/tablecmds.c:3804 +#: commands/tablecmds.c:3990 #, c-format msgid "cannot rename inherited constraint \"%s\"" msgstr "нельзя переименовать наследованное ограничение \"%s\"" #. translator: first %s is a SQL command, eg ALTER TABLE -#: commands/tablecmds.c:4101 +#: commands/tablecmds.c:4290 #, c-format msgid "" "cannot %s \"%s\" because it is being used by active queries in this session" @@ -11678,59 +12146,59 @@ msgstr "" "запросами в данном сеансе" #. translator: first %s is a SQL command, eg ALTER TABLE -#: commands/tablecmds.c:4110 +#: commands/tablecmds.c:4299 #, c-format msgid "cannot %s \"%s\" because it has pending trigger events" msgstr "" "нельзя выполнить %s \"%s\", так как с этим объектом связаны отложенные " "события триггеров" -#: commands/tablecmds.c:4577 +#: commands/tablecmds.c:4325 +#, c-format +msgid "cannot alter temporary tables of other sessions" +msgstr "модифицировать временные таблицы других сеансов нельзя" + +#: commands/tablecmds.c:4798 #, c-format msgid "cannot alter partition \"%s\" with an incomplete detach" msgstr "нельзя изменить секцию \"%s\", которая не полностью отсоединена" -#: commands/tablecmds.c:4770 commands/tablecmds.c:4785 +#: commands/tablecmds.c:5002 commands/tablecmds.c:5017 #, c-format msgid "cannot change persistence setting twice" msgstr "изменить характеристику хранения дважды нельзя" -#: commands/tablecmds.c:4806 -#, c-format -msgid "cannot change access method of a partitioned table" -msgstr "менять метод доступа для секционированной таблицы нельзя" - -#: commands/tablecmds.c:4812 +#: commands/tablecmds.c:5038 #, c-format msgid "cannot have multiple SET ACCESS METHOD subcommands" msgstr "множественные подкоманды SET ACCESS METHOD не допускаются" -#: commands/tablecmds.c:5533 +#: commands/tablecmds.c:5768 #, c-format msgid "cannot rewrite system relation \"%s\"" msgstr "перезаписать системное отношение \"%s\" нельзя" -#: commands/tablecmds.c:5539 +#: commands/tablecmds.c:5774 #, c-format msgid "cannot rewrite table \"%s\" used as a catalog table" msgstr "перезаписать таблицу \"%s\", используемую как таблицу каталога, нельзя" -#: commands/tablecmds.c:5549 +#: commands/tablecmds.c:5786 #, c-format msgid "cannot rewrite temporary tables of other sessions" msgstr "перезаписывать временные таблицы других сеансов нельзя" -#: commands/tablecmds.c:6044 +#: commands/tablecmds.c:6281 #, c-format msgid "column \"%s\" of relation \"%s\" contains null values" msgstr "столбец \"%s\" отношения \"%s\" содержит значения NULL" -#: commands/tablecmds.c:6061 +#: commands/tablecmds.c:6298 #, c-format msgid "check constraint \"%s\" of relation \"%s\" is violated by some row" msgstr "ограничение-проверку \"%s\" отношения \"%s\" нарушает некоторая строка" -#: commands/tablecmds.c:6080 partitioning/partbounds.c:3388 +#: commands/tablecmds.c:6317 partitioning/partbounds.c:3387 #, c-format msgid "" "updated partition constraint for default partition \"%s\" would be violated " @@ -11739,24 +12207,24 @@ msgstr "" "изменённое ограничение секции для секции по умолчанию \"%s\" будет нарушено " "некоторыми строками" -#: commands/tablecmds.c:6086 +#: commands/tablecmds.c:6323 #, c-format msgid "partition constraint of relation \"%s\" is violated by some row" msgstr "ограничение секции отношения \"%s\" нарушает некоторая строка" #. translator: %s is a group of some SQL keywords -#: commands/tablecmds.c:6348 +#: commands/tablecmds.c:6588 #, c-format msgid "ALTER action %s cannot be performed on relation \"%s\"" msgstr "действие ALTER %s нельзя выполнить с отношением \"%s\"" -#: commands/tablecmds.c:6603 commands/tablecmds.c:6610 +#: commands/tablecmds.c:6843 commands/tablecmds.c:6850 #, c-format msgid "cannot alter type \"%s\" because column \"%s.%s\" uses it" msgstr "" "изменить тип \"%s\" нельзя, так как он задействован в столбце \"%s.%s\"" -#: commands/tablecmds.c:6617 +#: commands/tablecmds.c:6857 #, c-format msgid "" "cannot alter foreign table \"%s\" because column \"%s.%s\" uses its row type" @@ -11764,77 +12232,77 @@ msgstr "" "изменить стороннюю таблицу \"%s\" нельзя, так как столбец \"%s.%s\" " "задействует тип её строки" -#: commands/tablecmds.c:6624 +#: commands/tablecmds.c:6864 #, c-format msgid "cannot alter table \"%s\" because column \"%s.%s\" uses its row type" msgstr "" "изменить таблицу \"%s\" нельзя, так как столбец \"%s.%s\" задействует тип её " "строки" -#: commands/tablecmds.c:6680 +#: commands/tablecmds.c:6920 #, c-format msgid "cannot alter type \"%s\" because it is the type of a typed table" msgstr "изменить тип \"%s\", так как это тип типизированной таблицы" -#: commands/tablecmds.c:6682 +#: commands/tablecmds.c:6922 #, c-format msgid "Use ALTER ... CASCADE to alter the typed tables too." msgstr "" "Чтобы изменить также типизированные таблицы, выполните ALTER ... CASCADE." -#: commands/tablecmds.c:6728 +#: commands/tablecmds.c:6968 #, c-format msgid "type %s is not a composite type" msgstr "тип %s не является составным" -#: commands/tablecmds.c:6755 +#: commands/tablecmds.c:6995 #, c-format msgid "cannot add column to typed table" msgstr "добавить столбец в типизированную таблицу нельзя" -#: commands/tablecmds.c:6811 +#: commands/tablecmds.c:7043 #, c-format msgid "cannot add column to a partition" msgstr "добавить столбец в секцию нельзя" -#: commands/tablecmds.c:6840 commands/tablecmds.c:15221 +#: commands/tablecmds.c:7072 commands/tablecmds.c:15860 #, c-format msgid "child table \"%s\" has different type for column \"%s\"" msgstr "дочерняя таблица \"%s\" имеет другой тип для столбца \"%s\"" -#: commands/tablecmds.c:6846 commands/tablecmds.c:15228 +#: commands/tablecmds.c:7078 commands/tablecmds.c:15866 #, c-format msgid "child table \"%s\" has different collation for column \"%s\"" msgstr "" "дочерняя таблица \"%s\" имеет другое правило сортировки для столбца \"%s\"" -#: commands/tablecmds.c:6864 +#: commands/tablecmds.c:7096 #, c-format msgid "merging definition of column \"%s\" for child \"%s\"" msgstr "объединение определений столбца \"%s\" для потомка \"%s\"" -#: commands/tablecmds.c:6911 +#: commands/tablecmds.c:7149 #, c-format msgid "cannot recursively add identity column to table that has child tables" msgstr "" "добавить столбец идентификации в таблицу, у которой есть дочерние, нельзя" -#: commands/tablecmds.c:7162 +#: commands/tablecmds.c:7362 #, c-format msgid "column must be added to child tables too" msgstr "столбец также должен быть добавлен к дочерним таблицам" -#: commands/tablecmds.c:7240 +#: commands/tablecmds.c:7440 #, c-format msgid "column \"%s\" of relation \"%s\" already exists, skipping" msgstr "столбец \"%s\" отношения \"%s\" уже существует, пропускается" -#: commands/tablecmds.c:7247 +#: commands/tablecmds.c:7447 #, c-format msgid "column \"%s\" of relation \"%s\" already exists" msgstr "столбец \"%s\" отношения \"%s\" уже существует" -#: commands/tablecmds.c:7313 commands/tablecmds.c:12115 +#: commands/tablecmds.c:7513 commands/tablecmds.c:12652 #, c-format msgid "" "cannot remove constraint from only the partitioned table when partitions " @@ -11843,59 +12311,73 @@ msgstr "" "удалить ограничение только из секционированной таблицы, когда существуют " "секции, нельзя" -#: commands/tablecmds.c:7314 commands/tablecmds.c:7631 -#: commands/tablecmds.c:8604 commands/tablecmds.c:12116 +#: commands/tablecmds.c:7514 commands/tablecmds.c:7828 +#: commands/tablecmds.c:8006 commands/tablecmds.c:8113 +#: commands/tablecmds.c:8230 commands/tablecmds.c:9049 +#: commands/tablecmds.c:12653 #, c-format msgid "Do not specify the ONLY keyword." msgstr "Не указывайте ключевое слово ONLY." -#: commands/tablecmds.c:7351 commands/tablecmds.c:7557 -#: commands/tablecmds.c:7699 commands/tablecmds.c:7817 -#: commands/tablecmds.c:7911 commands/tablecmds.c:7970 -#: commands/tablecmds.c:8089 commands/tablecmds.c:8228 -#: commands/tablecmds.c:8298 commands/tablecmds.c:8432 -#: commands/tablecmds.c:12270 commands/tablecmds.c:13807 -#: commands/tablecmds.c:16338 +#: commands/tablecmds.c:7550 commands/tablecmds.c:7754 +#: commands/tablecmds.c:7896 commands/tablecmds.c:8028 +#: commands/tablecmds.c:8157 commands/tablecmds.c:8251 +#: commands/tablecmds.c:8352 commands/tablecmds.c:8509 +#: commands/tablecmds.c:8662 commands/tablecmds.c:8743 +#: commands/tablecmds.c:8877 commands/tablecmds.c:12806 +#: commands/tablecmds.c:14348 commands/tablecmds.c:16975 #, c-format msgid "cannot alter system column \"%s\"" msgstr "системный столбец \"%s\" нельзя изменить" -#: commands/tablecmds.c:7357 commands/tablecmds.c:7705 +#: commands/tablecmds.c:7556 commands/tablecmds.c:7902 #, c-format msgid "column \"%s\" of relation \"%s\" is an identity column" msgstr "столбец \"%s\" отношения \"%s\" является столбцом идентификации" -#: commands/tablecmds.c:7400 +#: commands/tablecmds.c:7597 #, c-format msgid "column \"%s\" is in a primary key" msgstr "столбец \"%s\" входит в первичный ключ" -#: commands/tablecmds.c:7405 +#: commands/tablecmds.c:7602 #, c-format msgid "column \"%s\" is in index used as replica identity" msgstr "столбец \"%s\" входит в индекс, используемый для идентификации реплики" -#: commands/tablecmds.c:7428 +#: commands/tablecmds.c:7625 #, c-format msgid "column \"%s\" is marked NOT NULL in parent table" msgstr "столбец \"%s\" в родительской таблице помечен как NOT NULL" -#: commands/tablecmds.c:7628 commands/tablecmds.c:9088 +#: commands/tablecmds.c:7825 commands/tablecmds.c:9533 #, c-format msgid "constraint must be added to child tables too" msgstr "ограничение также должно быть добавлено к дочерним таблицам" -#: commands/tablecmds.c:7629 +#: commands/tablecmds.c:7826 #, c-format msgid "Column \"%s\" of relation \"%s\" is not already NOT NULL." msgstr "Столбец \"%s\" отношения \"%s\" уже имеет свойство NOT NULL." -#: commands/tablecmds.c:7714 +#: commands/tablecmds.c:7911 #, c-format msgid "column \"%s\" of relation \"%s\" is a generated column" msgstr "столбец \"%s\" отношения \"%s\" является генерируемым" -#: commands/tablecmds.c:7828 +#: commands/tablecmds.c:8005 +#, c-format +msgid "cannot add identity to a column of only the partitioned table" +msgstr "" +"сделать столбцом идентификации столбец одной лишь секционированной таблицы " +"нельзя" + +#: commands/tablecmds.c:8011 +#, c-format +msgid "cannot add identity to a column of a partition" +msgstr "сделать столбцом идентификации столбец одной секции нельзя" + +#: commands/tablecmds.c:8039 #, c-format msgid "" "column \"%s\" of relation \"%s\" must be declared NOT NULL before identity " @@ -11904,46 +12386,74 @@ msgstr "" "столбец \"%s\" отношения \"%s\" должен быть объявлен как NOT NULL, чтобы его " "можно было сделать столбцом идентификации" -#: commands/tablecmds.c:7834 +#: commands/tablecmds.c:8045 #, c-format msgid "column \"%s\" of relation \"%s\" is already an identity column" msgstr "столбец \"%s\" отношения \"%s\" уже является столбцом идентификации" -#: commands/tablecmds.c:7840 +#: commands/tablecmds.c:8051 #, c-format msgid "column \"%s\" of relation \"%s\" already has a default value" msgstr "столбец \"%s\" отношения \"%s\" уже имеет значение по умолчанию" -#: commands/tablecmds.c:7917 commands/tablecmds.c:7978 +#: commands/tablecmds.c:8112 +#, c-format +msgid "cannot change identity column of only the partitioned table" +msgstr "" +"изменить столбец идентификации для одной лишь секционированной таблицы нельзя" + +#: commands/tablecmds.c:8118 +#, c-format +msgid "cannot change identity column of a partition" +msgstr "изменить столбец идентификации для одной секции нельзя" + +#: commands/tablecmds.c:8163 commands/tablecmds.c:8259 #, c-format msgid "column \"%s\" of relation \"%s\" is not an identity column" msgstr "столбец \"%s\" отношения \"%s\" не является столбцом идентификации" -#: commands/tablecmds.c:7983 +#: commands/tablecmds.c:8229 +#, c-format +msgid "cannot drop identity from a column of only the partitioned table" +msgstr "" +"лишить свойства идентификации столбец одной лишь секционированной таблицы " +"нельзя" + +#: commands/tablecmds.c:8235 +#, c-format +msgid "cannot drop identity from a column of a partition" +msgstr "лишить свойства идентификации столбец одной секции нельзя" + +#: commands/tablecmds.c:8264 #, c-format msgid "column \"%s\" of relation \"%s\" is not an identity column, skipping" msgstr "" "столбец \"%s\" отношения \"%s\" не является столбцом идентификации, " "пропускается" -#: commands/tablecmds.c:8036 +#: commands/tablecmds.c:8358 +#, c-format +msgid "column \"%s\" of relation \"%s\" is not a generated column" +msgstr "столбец \"%s\" отношения \"%s\" не является генерируемым столбцом" + +#: commands/tablecmds.c:8456 #, c-format msgid "ALTER TABLE / DROP EXPRESSION must be applied to child tables too" msgstr "" "ALTER TABLE / DROP EXPRESSION нужно применять также к дочерним таблицам" -#: commands/tablecmds.c:8058 +#: commands/tablecmds.c:8478 #, c-format msgid "cannot drop generation expression from inherited column" msgstr "нельзя удалить генерирующее выражение из наследуемого столбца" -#: commands/tablecmds.c:8097 +#: commands/tablecmds.c:8517 #, c-format msgid "column \"%s\" of relation \"%s\" is not a stored generated column" msgstr "" "столбец \"%s\" отношения \"%s\" не является сохранённым генерируемым столбцом" -#: commands/tablecmds.c:8102 +#: commands/tablecmds.c:8522 #, c-format msgid "" "column \"%s\" of relation \"%s\" is not a stored generated column, skipping" @@ -11951,53 +12461,53 @@ msgstr "" "столбец \"%s\" отношения \"%s\" пропускается, так как не является " "сохранённым генерируемым столбцом" -#: commands/tablecmds.c:8175 +#: commands/tablecmds.c:8600 #, c-format msgid "cannot refer to non-index column by number" msgstr "по номеру можно ссылаться только на столбец в индексе" -#: commands/tablecmds.c:8218 +#: commands/tablecmds.c:8652 #, c-format msgid "column number %d of relation \"%s\" does not exist" msgstr "столбец с номером %d отношения \"%s\" не существует" -#: commands/tablecmds.c:8237 +#: commands/tablecmds.c:8671 #, c-format msgid "cannot alter statistics on included column \"%s\" of index \"%s\"" msgstr "изменить статистику включённого столбца \"%s\" индекса \"%s\" нельзя" -#: commands/tablecmds.c:8242 +#: commands/tablecmds.c:8676 #, c-format msgid "cannot alter statistics on non-expression column \"%s\" of index \"%s\"" msgstr "" "изменить статистику столбца \"%s\" (не выражения) индекса \"%s\" нельзя" -#: commands/tablecmds.c:8244 +#: commands/tablecmds.c:8678 #, c-format msgid "Alter statistics on table column instead." msgstr "Вместо этого измените статистику для столбца в таблице." -#: commands/tablecmds.c:8479 +#: commands/tablecmds.c:8924 #, c-format msgid "cannot drop column from typed table" msgstr "нельзя удалить столбец в типизированной таблице" -#: commands/tablecmds.c:8542 +#: commands/tablecmds.c:8987 #, c-format msgid "column \"%s\" of relation \"%s\" does not exist, skipping" msgstr "столбец \"%s\" в таблице\"%s\" не существует, пропускается" -#: commands/tablecmds.c:8555 +#: commands/tablecmds.c:9000 #, c-format msgid "cannot drop system column \"%s\"" msgstr "нельзя удалить системный столбец \"%s\"" -#: commands/tablecmds.c:8565 +#: commands/tablecmds.c:9010 #, c-format msgid "cannot drop inherited column \"%s\"" msgstr "нельзя удалить наследованный столбец \"%s\"" -#: commands/tablecmds.c:8578 +#: commands/tablecmds.c:9023 #, c-format msgid "" "cannot drop column \"%s\" because it is part of the partition key of " @@ -12006,7 +12516,7 @@ msgstr "" "удалить столбец \"%s\" нельзя, так как он входит в ключ разбиения отношения " "\"%s\"" -#: commands/tablecmds.c:8603 +#: commands/tablecmds.c:9048 #, c-format msgid "" "cannot drop column from only the partitioned table when partitions exist" @@ -12014,7 +12524,7 @@ msgstr "" "удалить столбец только из секционированной таблицы, когда существуют секции, " "нельзя" -#: commands/tablecmds.c:8808 +#: commands/tablecmds.c:9253 #, c-format msgid "" "ALTER TABLE / ADD CONSTRAINT USING INDEX is not supported on partitioned " @@ -12023,14 +12533,14 @@ msgstr "" "ALTER TABLE / ADD CONSTRAINT USING INDEX не поддерживается с " "секционированными таблицами" -#: commands/tablecmds.c:8833 +#: commands/tablecmds.c:9278 #, 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:9170 +#: commands/tablecmds.c:9615 #, c-format msgid "" "cannot use ONLY for foreign key on partitioned table \"%s\" referencing " @@ -12039,7 +12549,7 @@ msgstr "" "нельзя использовать ONLY для стороннего ключа в секционированной таблице " "\"%s\", ссылающегося на отношение \"%s\"" -#: commands/tablecmds.c:9176 +#: commands/tablecmds.c:9621 #, c-format msgid "" "cannot add NOT VALID foreign key on partitioned table \"%s\" referencing " @@ -12048,25 +12558,25 @@ msgstr "" "нельзя добавить с характеристикой NOT VALID сторонний ключ в " "секционированной таблице \"%s\", ссылающийся на отношение \"%s\"" -#: commands/tablecmds.c:9179 +#: commands/tablecmds.c:9624 #, c-format msgid "This feature is not yet supported on partitioned tables." msgstr "" "Эта функциональность с секционированными таблицами пока не поддерживается." -#: commands/tablecmds.c:9186 commands/tablecmds.c:9642 +#: commands/tablecmds.c:9631 commands/tablecmds.c:10092 #, c-format msgid "referenced relation \"%s\" is not a table" msgstr "указанный объект \"%s\" не является таблицей" -#: commands/tablecmds.c:9209 +#: commands/tablecmds.c:9654 #, c-format msgid "constraints on permanent tables may reference only permanent tables" msgstr "" "ограничения в постоянных таблицах могут ссылаться только на постоянные " "таблицы" -#: commands/tablecmds.c:9216 +#: commands/tablecmds.c:9661 #, c-format msgid "" "constraints on unlogged tables may reference only permanent or unlogged " @@ -12075,13 +12585,13 @@ msgstr "" "ограничения в нежурналируемых таблицах могут ссылаться только на постоянные " "или нежурналируемые таблицы" -#: commands/tablecmds.c:9222 +#: commands/tablecmds.c:9667 #, c-format msgid "constraints on temporary tables may reference only temporary tables" msgstr "" "ограничения во временных таблицах могут ссылаться только на временные таблицы" -#: commands/tablecmds.c:9226 +#: commands/tablecmds.c:9671 #, c-format msgid "" "constraints on temporary tables must involve temporary tables of this session" @@ -12089,7 +12599,7 @@ msgstr "" "ограничения во временных таблицах должны ссылаться только на временные " "таблицы текущего сеанса" -#: commands/tablecmds.c:9290 commands/tablecmds.c:9296 +#: commands/tablecmds.c:9735 commands/tablecmds.c:9741 #, c-format msgid "" "invalid %s action for foreign key constraint containing generated column" @@ -12097,22 +12607,22 @@ msgstr "" "некорректное действие %s для ограничения внешнего ключа, содержащего " "генерируемый столбец" -#: commands/tablecmds.c:9312 +#: commands/tablecmds.c:9757 #, c-format msgid "number of referencing and referenced columns for foreign key disagree" msgstr "число столбцов в источнике и назначении внешнего ключа не совпадает" -#: commands/tablecmds.c:9419 +#: commands/tablecmds.c:9864 #, c-format msgid "foreign key constraint \"%s\" cannot be implemented" msgstr "ограничение внешнего ключа \"%s\" нельзя реализовать" -#: commands/tablecmds.c:9421 +#: commands/tablecmds.c:9866 #, c-format msgid "Key columns \"%s\" and \"%s\" are of incompatible types: %s and %s." msgstr "Столбцы ключа \"%s\" и \"%s\" имеют несовместимые типы: %s и %s." -#: commands/tablecmds.c:9578 +#: commands/tablecmds.c:10035 #, c-format msgid "" "column \"%s\" referenced in ON DELETE SET action must be part of foreign key" @@ -12120,40 +12630,49 @@ msgstr "" "столбец \"%s\", фигурирующий в действии ON DELETE SET, должен входить во " "внешний ключ" -#: commands/tablecmds.c:9852 commands/tablecmds.c:10322 -#: parser/parse_utilcmd.c:800 parser/parse_utilcmd.c:929 +#: commands/tablecmds.c:10392 commands/tablecmds.c:10832 +#: 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:10875 commands/tablecmds.c:11156 -#: commands/tablecmds.c:12072 commands/tablecmds.c:12147 +#: commands/tablecmds.c:10815 +#, c-format +msgid "" +"cannot attach table \"%s\" as a partition because it is referenced by " +"foreign key \"%s\"" +msgstr "" +"присоединить таблицу \"%s\" в качестве секции нельзя, так как на неё " +"ссылается внешний ключ \"%s\"" + +#: commands/tablecmds.c:11416 commands/tablecmds.c:11697 +#: commands/tablecmds.c:12609 commands/tablecmds.c:12683 #, c-format msgid "constraint \"%s\" of relation \"%s\" does not exist" msgstr "ограничение \"%s\" в таблице \"%s\" не существует" -#: commands/tablecmds.c:10882 +#: commands/tablecmds.c:11423 #, c-format msgid "constraint \"%s\" of relation \"%s\" is not a foreign key constraint" msgstr "ограничение \"%s\" в таблице \"%s\" не является внешним ключом" -#: commands/tablecmds.c:10920 +#: commands/tablecmds.c:11461 #, c-format msgid "cannot alter constraint \"%s\" on relation \"%s\"" msgstr "изменить ограничение \"%s\" таблицы \"%s\" нельзя" -#: commands/tablecmds.c:10923 +#: commands/tablecmds.c:11464 #, c-format msgid "Constraint \"%s\" is derived from constraint \"%s\" of relation \"%s\"." msgstr "" "Ограничение \"%s\" является производным от ограничения \"%s\" таблицы \"%s\"." -#: commands/tablecmds.c:10925 +#: commands/tablecmds.c:11466 #, c-format msgid "You may alter the constraint it derives from instead." msgstr "Вместо этого вы можете изменить родительское ограничение." -#: commands/tablecmds.c:11164 +#: commands/tablecmds.c:11705 #, c-format msgid "" "constraint \"%s\" of relation \"%s\" is not a foreign key or check constraint" @@ -12161,51 +12680,51 @@ msgstr "" "ограничение \"%s\" в таблице \"%s\" не является внешним ключом или " "ограничением-проверкой" -#: commands/tablecmds.c:11241 +#: commands/tablecmds.c:11782 #, c-format msgid "constraint must be validated on child tables too" msgstr "ограничение также должно соблюдаться в дочерних таблицах" -#: commands/tablecmds.c:11328 +#: commands/tablecmds.c:11869 #, c-format msgid "column \"%s\" referenced in foreign key constraint does not exist" msgstr "столбец \"%s\", указанный в ограничении внешнего ключа, не существует" -#: commands/tablecmds.c:11334 +#: commands/tablecmds.c:11875 #, c-format msgid "system columns cannot be used in foreign keys" msgstr "системные столбцы нельзя использовать во внешних ключах" -#: commands/tablecmds.c:11338 +#: commands/tablecmds.c:11879 #, c-format msgid "cannot have more than %d keys in a foreign key" msgstr "во внешнем ключе не может быть больше %d столбцов" -#: commands/tablecmds.c:11403 +#: commands/tablecmds.c:11944 #, c-format msgid "cannot use a deferrable primary key for referenced table \"%s\"" msgstr "" "использовать откладываемый первичный ключ в целевой внешней таблице \"%s\" " "нельзя" -#: commands/tablecmds.c:11420 +#: commands/tablecmds.c:11961 #, c-format msgid "there is no primary key for referenced table \"%s\"" msgstr "в целевой внешней таблице \"%s\" нет первичного ключа" -#: commands/tablecmds.c:11488 +#: commands/tablecmds.c:12029 #, c-format msgid "foreign key referenced-columns list must not contain duplicates" msgstr "в списке столбцов внешнего ключа не должно быть повторений" -#: commands/tablecmds.c:11580 +#: commands/tablecmds.c:12121 #, c-format msgid "cannot use a deferrable unique constraint for referenced table \"%s\"" msgstr "" "использовать откладываемое ограничение уникальности в целевой внешней " "таблице \"%s\" нельзя" -#: commands/tablecmds.c:11585 +#: commands/tablecmds.c:12126 #, c-format msgid "" "there is no unique constraint matching given keys for referenced table \"%s\"" @@ -12213,27 +12732,39 @@ msgstr "" "в целевой внешней таблице \"%s\" нет ограничения уникальности, " "соответствующего данным ключам" -#: commands/tablecmds.c:12028 +#: commands/tablecmds.c:12565 #, c-format msgid "cannot drop inherited constraint \"%s\" of relation \"%s\"" msgstr "удалить наследованное ограничение \"%s\" таблицы \"%s\" нельзя" -#: commands/tablecmds.c:12078 +#: commands/tablecmds.c:12615 #, c-format msgid "constraint \"%s\" of relation \"%s\" does not exist, skipping" msgstr "ограничение \"%s\" в таблице \"%s\" не существует, пропускается" -#: commands/tablecmds.c:12254 +#: commands/tablecmds.c:12790 #, c-format msgid "cannot alter column type of typed table" msgstr "изменить тип столбца в типизированной таблице нельзя" -#: commands/tablecmds.c:12281 +#: commands/tablecmds.c:12816 +#, c-format +msgid "cannot specify USING when altering type of generated column" +msgstr "изменяя тип генерируемого столбца, нельзя указывать USING" + +#: commands/tablecmds.c:12817 commands/tablecmds.c:18028 +#: commands/tablecmds.c:18118 commands/trigger.c:656 +#: rewrite/rewriteHandler.c:935 rewrite/rewriteHandler.c:970 +#, c-format +msgid "Column \"%s\" is a generated column." +msgstr "Столбец \"%s\" является генерируемым." + +#: commands/tablecmds.c:12827 #, c-format msgid "cannot alter inherited column \"%s\"" msgstr "изменить наследованный столбец \"%s\" нельзя" -#: commands/tablecmds.c:12290 +#: commands/tablecmds.c:12836 #, c-format msgid "" "cannot alter column \"%s\" because it is part of the partition key of " @@ -12242,7 +12773,7 @@ msgstr "" "изменить столбец \"%s\" нельзя, так как он входит в ключ разбиения отношения " "\"%s\"" -#: commands/tablecmds.c:12340 +#: commands/tablecmds.c:12886 #, c-format msgid "" "result of USING clause for column \"%s\" cannot be cast automatically to " @@ -12250,45 +12781,45 @@ msgid "" msgstr "" "результат USING для столбца \"%s\" нельзя автоматически привести к типу %s" -#: commands/tablecmds.c:12343 +#: commands/tablecmds.c:12889 #, c-format msgid "You might need to add an explicit cast." msgstr "Возможно, необходимо добавить явное приведение." -#: commands/tablecmds.c:12347 +#: commands/tablecmds.c:12893 #, c-format msgid "column \"%s\" cannot be cast automatically to type %s" msgstr "столбец \"%s\" нельзя автоматически привести к типу %s" # skip-rule: double-colons #. translator: USING is SQL, don't translate it -#: commands/tablecmds.c:12350 +#: commands/tablecmds.c:12897 #, c-format msgid "You might need to specify \"USING %s::%s\"." msgstr "Возможно, необходимо указать \"USING %s::%s\"." -#: commands/tablecmds.c:12449 +#: commands/tablecmds.c:12996 #, c-format msgid "cannot alter inherited column \"%s\" of relation \"%s\"" msgstr "изменить наследованный столбец \"%s\" отношения \"%s\" нельзя" -#: commands/tablecmds.c:12478 +#: commands/tablecmds.c:13025 #, c-format msgid "USING expression contains a whole-row table reference." msgstr "Выражение USING ссылается на тип всей строки таблицы." -#: commands/tablecmds.c:12489 +#: commands/tablecmds.c:13036 #, c-format msgid "type of inherited column \"%s\" must be changed in child tables too" msgstr "" "тип наследованного столбца \"%s\" должен быть изменён и в дочерних таблицах" -#: commands/tablecmds.c:12614 +#: commands/tablecmds.c:13161 #, c-format msgid "cannot alter type of column \"%s\" twice" msgstr "нельзя изменить тип столбца \"%s\" дважды" -#: commands/tablecmds.c:12652 +#: commands/tablecmds.c:13199 #, c-format msgid "" "generation expression for column \"%s\" cannot be cast automatically to type " @@ -12297,160 +12828,160 @@ msgstr "" "генерирующее выражение для столбца \"%s\" нельзя автоматически привести к " "типу %s" -#: commands/tablecmds.c:12657 +#: commands/tablecmds.c:13204 #, c-format msgid "default for column \"%s\" cannot be cast automatically to type %s" msgstr "" "значение по умолчанию для столбца \"%s\" нельзя автоматически привести к " "типу %s" -#: commands/tablecmds.c:12745 +#: commands/tablecmds.c:13508 #, c-format msgid "cannot alter type of a column used by a function or procedure" msgstr "изменить тип столбца, задействованного в функции или процедуре, нельзя" -#: commands/tablecmds.c:12746 commands/tablecmds.c:12760 -#: commands/tablecmds.c:12779 commands/tablecmds.c:12797 -#: commands/tablecmds.c:12855 +#: commands/tablecmds.c:13509 commands/tablecmds.c:13524 +#: commands/tablecmds.c:13544 commands/tablecmds.c:13563 +#: commands/tablecmds.c:13622 #, c-format msgid "%s depends on column \"%s\"" msgstr "%s зависит от столбца \"%s\"" -#: commands/tablecmds.c:12759 +#: commands/tablecmds.c:13523 #, c-format msgid "cannot alter type of a column used by a view or rule" msgstr "" "изменить тип столбца, задействованного в представлении или правиле, нельзя" -#: commands/tablecmds.c:12778 +#: commands/tablecmds.c:13543 #, c-format msgid "cannot alter type of a column used in a trigger definition" msgstr "изменить тип столбца, задействованного в определении триггера, нельзя" -#: commands/tablecmds.c:12796 +#: commands/tablecmds.c:13562 #, c-format msgid "cannot alter type of a column used in a policy definition" msgstr "изменить тип столбца, задействованного в определении политики, нельзя" -#: commands/tablecmds.c:12827 +#: commands/tablecmds.c:13593 #, c-format msgid "cannot alter type of a column used by a generated column" msgstr "изменить тип столбца, задействованного в генерируемом столбце, нельзя" -#: commands/tablecmds.c:12828 +#: commands/tablecmds.c:13594 #, c-format msgid "Column \"%s\" is used by generated column \"%s\"." msgstr "Столбец \"%s\" используется генерируемым столбцом \"%s\"." -#: commands/tablecmds.c:12854 +#: commands/tablecmds.c:13621 #, c-format msgid "cannot alter type of a column used by a publication WHERE clause" msgstr "" "изменить тип столбца, задействованного в заданном для публикации предложении " "WHERE, нельзя" -#: commands/tablecmds.c:13915 commands/tablecmds.c:13927 +#: commands/tablecmds.c:14456 commands/tablecmds.c:14468 #, c-format msgid "cannot change owner of index \"%s\"" msgstr "сменить владельца индекса \"%s\" нельзя" -#: commands/tablecmds.c:13917 commands/tablecmds.c:13929 +#: commands/tablecmds.c:14458 commands/tablecmds.c:14470 #, c-format msgid "Change the ownership of the index's table instead." msgstr "Однако возможно сменить владельца таблицы, содержащей этот индекс." -#: commands/tablecmds.c:13943 +#: commands/tablecmds.c:14484 #, c-format msgid "cannot change owner of sequence \"%s\"" msgstr "сменить владельца последовательности \"%s\" нельзя" -#: commands/tablecmds.c:13968 +#: commands/tablecmds.c:14509 #, c-format msgid "cannot change owner of relation \"%s\"" msgstr "сменить владельца отношения \"%s\" нельзя" -#: commands/tablecmds.c:14330 +#: commands/tablecmds.c:14976 #, c-format msgid "cannot have multiple SET TABLESPACE subcommands" msgstr "в одной инструкции не может быть несколько подкоманд SET TABLESPACE" -#: commands/tablecmds.c:14407 +#: commands/tablecmds.c:15053 #, c-format msgid "cannot set options for relation \"%s\"" msgstr "задать параметры отношения \"%s\" нельзя" -#: commands/tablecmds.c:14441 commands/view.c:445 +#: commands/tablecmds.c:15087 commands/view.c:440 #, c-format msgid "WITH CHECK OPTION is supported only on automatically updatable views" msgstr "" "WITH CHECK OPTION поддерживается только с автообновляемыми представлениями" -#: commands/tablecmds.c:14691 +#: commands/tablecmds.c:15338 #, c-format msgid "only tables, indexes, and materialized views exist in tablespaces" msgstr "" "в табличных пространствах есть только таблицы, индексы и материализованные " "представления" -#: commands/tablecmds.c:14703 +#: commands/tablecmds.c:15350 #, c-format msgid "cannot move relations in to or out of pg_global tablespace" msgstr "перемещать объекты в/из табличного пространства pg_global нельзя" -#: commands/tablecmds.c:14795 +#: commands/tablecmds.c:15442 #, c-format msgid "aborting because lock on relation \"%s.%s\" is not available" msgstr "" "обработка прерывается из-за невозможности заблокировать отношение \"%s.%s\"" -#: commands/tablecmds.c:14811 +#: commands/tablecmds.c:15458 #, c-format msgid "no matching relations in tablespace \"%s\" found" msgstr "в табличном пространстве \"%s\" не найдены подходящие отношения" -#: commands/tablecmds.c:14929 +#: commands/tablecmds.c:15580 #, c-format msgid "cannot change inheritance of typed table" msgstr "изменить наследование типизированной таблицы нельзя" -#: commands/tablecmds.c:14934 commands/tablecmds.c:15452 +#: commands/tablecmds.c:15585 commands/tablecmds.c:16085 #, c-format msgid "cannot change inheritance of a partition" msgstr "изменить наследование секции нельзя" -#: commands/tablecmds.c:14939 +#: commands/tablecmds.c:15590 #, c-format msgid "cannot change inheritance of partitioned table" msgstr "изменить наследование секционированной таблицы нельзя" -#: commands/tablecmds.c:14985 +#: commands/tablecmds.c:15636 #, c-format msgid "cannot inherit to temporary relation of another session" msgstr "наследование для временного отношения другого сеанса невозможно" -#: commands/tablecmds.c:14998 +#: commands/tablecmds.c:15649 #, c-format msgid "cannot inherit from a partition" msgstr "наследование от секции невозможно" -#: commands/tablecmds.c:15020 commands/tablecmds.c:17878 +#: commands/tablecmds.c:15671 commands/tablecmds.c:18529 #, c-format msgid "circular inheritance not allowed" msgstr "циклическое наследование недопустимо" -#: commands/tablecmds.c:15021 commands/tablecmds.c:17879 +#: commands/tablecmds.c:15672 commands/tablecmds.c:18530 #, c-format msgid "\"%s\" is already a child of \"%s\"." msgstr "\"%s\" уже является потомком \"%s\"." -#: commands/tablecmds.c:15034 +#: commands/tablecmds.c:15685 #, c-format msgid "trigger \"%s\" prevents table \"%s\" from becoming an inheritance child" msgstr "" "триггер \"%s\" не позволяет таблице \"%s\" стать потомком в иерархии " "наследования" -#: commands/tablecmds.c:15036 +#: commands/tablecmds.c:15687 #, c-format msgid "" "ROW triggers with transition tables are not supported in inheritance " @@ -12459,34 +12990,34 @@ msgstr "" "Триггеры ROW с переходными таблицами не поддерживаются в иерархиях " "наследования." -#: commands/tablecmds.c:15239 +#: commands/tablecmds.c:15876 #, c-format msgid "column \"%s\" in child table must be marked NOT NULL" msgstr "столбец \"%s\" в дочерней таблице должен быть помечен как NOT NULL" -#: commands/tablecmds.c:15248 +#: commands/tablecmds.c:15885 #, c-format msgid "column \"%s\" in child table must be a generated column" msgstr "столбец \"%s\" в дочерней таблице должен быть генерируемым" -#: commands/tablecmds.c:15253 +#: commands/tablecmds.c:15889 #, c-format msgid "column \"%s\" in child table must not be a generated column" msgstr "столбец \"%s\" в дочерней таблице должен быть не генерируемым" -#: commands/tablecmds.c:15284 +#: commands/tablecmds.c:15927 #, c-format msgid "child table is missing column \"%s\"" msgstr "в дочерней таблице не хватает столбца \"%s\"" -#: commands/tablecmds.c:15372 +#: commands/tablecmds.c:16008 #, c-format msgid "child table \"%s\" has different definition for check constraint \"%s\"" msgstr "" "дочерняя таблица \"%s\" содержит другое определение ограничения-проверки " "\"%s\"" -#: commands/tablecmds.c:15380 +#: commands/tablecmds.c:16015 #, c-format msgid "" "constraint \"%s\" conflicts with non-inherited constraint on child table " @@ -12495,7 +13026,7 @@ msgstr "" "ограничение \"%s\" конфликтует с ненаследуемым ограничением дочерней таблицы " "\"%s\"" -#: commands/tablecmds.c:15391 +#: commands/tablecmds.c:16025 #, c-format msgid "" "constraint \"%s\" conflicts with NOT VALID constraint on child table \"%s\"" @@ -12503,82 +13034,82 @@ msgstr "" "ограничение \"%s\" конфликтует с непроверенным (NOT VALID) ограничением " "дочерней таблицы \"%s\"" -#: commands/tablecmds.c:15430 +#: commands/tablecmds.c:16063 #, c-format msgid "child table is missing constraint \"%s\"" msgstr "в дочерней таблице не хватает ограничения \"%s\"" -#: commands/tablecmds.c:15516 +#: commands/tablecmds.c:16149 #, c-format msgid "partition \"%s\" already pending detach in partitioned table \"%s.%s\"" msgstr "" "секция \"%s\" уже ожидает отсоединения от секционированной таблицы \"%s.%s\"" -#: commands/tablecmds.c:15545 commands/tablecmds.c:15593 +#: commands/tablecmds.c:16178 commands/tablecmds.c:16224 #, c-format msgid "relation \"%s\" is not a partition of relation \"%s\"" msgstr "отношение \"%s\" не является секцией отношения \"%s\"" -#: commands/tablecmds.c:15599 +#: commands/tablecmds.c:16230 #, c-format msgid "relation \"%s\" is not a parent of relation \"%s\"" msgstr "отношение \"%s\" не является предком отношения \"%s\"" -#: commands/tablecmds.c:15827 +#: commands/tablecmds.c:16457 #, c-format msgid "typed tables cannot inherit" msgstr "типизированные таблицы не могут наследоваться" -#: commands/tablecmds.c:15857 +#: commands/tablecmds.c:16487 #, c-format msgid "table is missing column \"%s\"" msgstr "в таблице не хватает столбца \"%s\"" -#: commands/tablecmds.c:15868 +#: commands/tablecmds.c:16498 #, c-format msgid "table has column \"%s\" where type requires \"%s\"" msgstr "таблица содержит столбец \"%s\", тогда как тип требует \"%s\"" -#: commands/tablecmds.c:15877 +#: commands/tablecmds.c:16507 #, c-format msgid "table \"%s\" has different type for column \"%s\"" msgstr "таблица \"%s\" содержит столбец \"%s\" другого типа" -#: commands/tablecmds.c:15891 +#: commands/tablecmds.c:16521 #, c-format msgid "table has extra column \"%s\"" msgstr "таблица содержит лишний столбец \"%s\"" -#: commands/tablecmds.c:15943 +#: commands/tablecmds.c:16573 #, c-format msgid "\"%s\" is not a typed table" msgstr "\"%s\" - это не типизированная таблица" -#: commands/tablecmds.c:16117 +#: commands/tablecmds.c:16747 #, c-format msgid "cannot use non-unique index \"%s\" as replica identity" msgstr "" "для идентификации реплики нельзя использовать неуникальный индекс \"%s\"" -#: commands/tablecmds.c:16123 +#: commands/tablecmds.c:16753 #, c-format msgid "cannot use non-immediate index \"%s\" as replica identity" msgstr "" "для идентификации реплики нельзя использовать не непосредственный индекс " "\"%s\"" -#: commands/tablecmds.c:16129 +#: commands/tablecmds.c:16759 #, c-format msgid "cannot use expression index \"%s\" as replica identity" msgstr "" "для идентификации реплики нельзя использовать индекс с выражением \"%s\"" -#: commands/tablecmds.c:16135 +#: commands/tablecmds.c:16765 #, c-format msgid "cannot use partial index \"%s\" as replica identity" msgstr "для идентификации реплики нельзя использовать частичный индекс \"%s\"" -#: commands/tablecmds.c:16152 +#: commands/tablecmds.c:16782 #, c-format msgid "" "index \"%s\" cannot be used as replica identity because column %d is a " @@ -12587,7 +13118,7 @@ msgstr "" "индекс \"%s\" нельзя использовать для идентификации реплики, так как столбец " "%d - системный" -#: commands/tablecmds.c:16159 +#: commands/tablecmds.c:16789 #, c-format msgid "" "index \"%s\" cannot be used as replica identity because column \"%s\" is " @@ -12596,13 +13127,13 @@ msgstr "" "индекс \"%s\" нельзя использовать для идентификации реплики, так как столбец " "\"%s\" допускает NULL" -#: commands/tablecmds.c:16404 +#: commands/tablecmds.c:17041 #, c-format msgid "cannot change logged status of table \"%s\" because it is temporary" msgstr "" "изменить состояние журналирования таблицы %s нельзя, так как она временная" -#: commands/tablecmds.c:16428 +#: commands/tablecmds.c:17065 #, c-format msgid "" "cannot change table \"%s\" to unlogged because it is part of a publication" @@ -12610,12 +13141,12 @@ msgstr "" "таблицу \"%s\" нельзя сделать нежурналируемой, так как она включена в " "публикацию" -#: commands/tablecmds.c:16430 +#: commands/tablecmds.c:17067 #, c-format msgid "Unlogged relations cannot be replicated." msgstr "Нежурналируемые отношения не поддерживают репликацию." -#: commands/tablecmds.c:16475 +#: commands/tablecmds.c:17112 #, c-format msgid "" "could not change table \"%s\" to logged because it references unlogged table " @@ -12624,7 +13155,7 @@ msgstr "" "не удалось сделать таблицу \"%s\" журналируемой, так как она ссылается на " "нежурналируемую таблицу \"%s\"" -#: commands/tablecmds.c:16485 +#: commands/tablecmds.c:17122 #, c-format msgid "" "could not change table \"%s\" to unlogged because it references logged table " @@ -12633,97 +13164,91 @@ msgstr "" "не удалось сделать таблицу \"%s\" нежурналируемой, так как она ссылается на " "журналируемую таблицу \"%s\"" -#: commands/tablecmds.c:16543 +#: commands/tablecmds.c:17180 #, c-format msgid "cannot move an owned sequence into another schema" msgstr "переместить последовательность с владельцем в другую схему нельзя" -#: commands/tablecmds.c:16645 +#: commands/tablecmds.c:17288 #, c-format msgid "relation \"%s\" already exists in schema \"%s\"" msgstr "отношение \"%s\" уже существует в схеме \"%s\"" -#: commands/tablecmds.c:17065 +#: commands/tablecmds.c:17713 #, c-format msgid "\"%s\" is not a table or materialized view" msgstr "\"%s\" - это не таблица и не материализованное представление" -#: commands/tablecmds.c:17215 +#: commands/tablecmds.c:17866 #, c-format msgid "\"%s\" is not a composite type" msgstr "\"%s\" - это не составной тип" -#: commands/tablecmds.c:17245 +#: commands/tablecmds.c:17896 #, c-format msgid "cannot change schema of index \"%s\"" msgstr "сменить схему индекса \"%s\" нельзя" -#: commands/tablecmds.c:17247 commands/tablecmds.c:17261 +#: commands/tablecmds.c:17898 commands/tablecmds.c:17912 #, c-format msgid "Change the schema of the table instead." msgstr "Однако возможно сменить владельца таблицы." -#: commands/tablecmds.c:17251 +#: commands/tablecmds.c:17902 #, c-format msgid "cannot change schema of composite type \"%s\"" msgstr "сменить схему составного типа \"%s\" нельзя" -#: commands/tablecmds.c:17259 +#: commands/tablecmds.c:17910 #, c-format msgid "cannot change schema of TOAST table \"%s\"" msgstr "сменить схему TOAST-таблицы \"%s\" нельзя" -#: commands/tablecmds.c:17291 +#: commands/tablecmds.c:17942 #, c-format msgid "cannot use \"list\" partition strategy with more than one column" msgstr "стратегия секционирования по списку не поддерживает несколько столбцов" -#: commands/tablecmds.c:17357 +#: commands/tablecmds.c:18008 #, c-format msgid "column \"%s\" named in partition key does not exist" msgstr "столбец \"%s\", упомянутый в ключе секционирования, не существует" -#: commands/tablecmds.c:17365 +#: commands/tablecmds.c:18016 #, c-format msgid "cannot use system column \"%s\" in partition key" msgstr "системный столбец \"%s\" нельзя использовать в ключе секционирования" -#: commands/tablecmds.c:17376 commands/tablecmds.c:17466 +#: commands/tablecmds.c:18027 commands/tablecmds.c:18117 #, c-format msgid "cannot use generated column in partition key" msgstr "генерируемый столбец нельзя использовать в ключе секционирования" -#: commands/tablecmds.c:17377 commands/tablecmds.c:17467 commands/trigger.c:663 -#: rewrite/rewriteHandler.c:936 rewrite/rewriteHandler.c:971 -#, c-format -msgid "Column \"%s\" is a generated column." -msgstr "Столбец \"%s\" является генерируемым." - -#: commands/tablecmds.c:17449 +#: commands/tablecmds.c:18100 #, c-format msgid "partition key expressions cannot contain system column references" msgstr "" "выражения ключей секционирования не могут содержать ссылки на системный " "столбец" -#: commands/tablecmds.c:17496 +#: commands/tablecmds.c:18147 #, c-format msgid "functions in partition key expression must be marked IMMUTABLE" msgstr "" "функции в выражении ключа секционирования должны быть помечены как IMMUTABLE" -#: commands/tablecmds.c:17505 +#: commands/tablecmds.c:18156 #, c-format msgid "cannot use constant expression as partition key" msgstr "" "в качестве ключа секционирования нельзя использовать константное выражение" -#: commands/tablecmds.c:17526 +#: commands/tablecmds.c:18177 #, c-format msgid "could not determine which collation to use for partition expression" msgstr "не удалось определить правило сортировки для выражения секционирования" -#: commands/tablecmds.c:17561 +#: commands/tablecmds.c:18212 #, c-format msgid "" "You must specify a hash operator class or define a default hash operator " @@ -12732,7 +13257,7 @@ msgstr "" "Вы должны указать класс операторов хеширования или определить класс " "операторов хеширования по умолчанию для этого типа данных." -#: commands/tablecmds.c:17567 +#: commands/tablecmds.c:18218 #, c-format msgid "" "You must specify a btree operator class or define a default btree operator " @@ -12741,27 +13266,27 @@ msgstr "" "Вы должны указать класс операторов B-дерева или определить класс операторов " "B-дерева по умолчанию для этого типа данных." -#: commands/tablecmds.c:17818 +#: commands/tablecmds.c:18469 #, c-format msgid "\"%s\" is already a partition" msgstr "\"%s\" уже является секцией" -#: commands/tablecmds.c:17824 +#: commands/tablecmds.c:18475 #, c-format msgid "cannot attach a typed table as partition" msgstr "подключить типизированную таблицу в качестве секции нельзя" -#: commands/tablecmds.c:17840 +#: commands/tablecmds.c:18491 #, c-format msgid "cannot attach inheritance child as partition" msgstr "подключить потомок в иерархии наследования в качестве секции нельзя" -#: commands/tablecmds.c:17854 +#: commands/tablecmds.c:18505 #, c-format msgid "cannot attach inheritance parent as partition" msgstr "подключить родитель в иерархии наследования в качестве секции нельзя" -#: commands/tablecmds.c:17888 +#: commands/tablecmds.c:18539 #, c-format msgid "" "cannot attach a temporary relation as partition of permanent relation \"%s\"" @@ -12769,7 +13294,7 @@ msgstr "" "подключить временное отношение в качестве секции постоянного отношения " "\"%s\" нельзя" -#: commands/tablecmds.c:17896 +#: commands/tablecmds.c:18547 #, c-format msgid "" "cannot attach a permanent relation as partition of temporary relation \"%s\"" @@ -12777,92 +13302,102 @@ msgstr "" "подключить постоянное отношение в качестве секции временного отношения " "\"%s\" нельзя" -#: commands/tablecmds.c:17904 +#: commands/tablecmds.c:18555 #, c-format msgid "cannot attach as partition of temporary relation of another session" msgstr "подключить секцию к временному отношению в другом сеансе нельзя" -#: commands/tablecmds.c:17911 +#: commands/tablecmds.c:18562 #, c-format msgid "cannot attach temporary relation of another session as partition" msgstr "" "подключить временное отношение из другого сеанса в качестве секции нельзя" -#: commands/tablecmds.c:17931 +#: commands/tablecmds.c:18582 +#, c-format +msgid "table \"%s\" being attached contains an identity column \"%s\"" +msgstr "присоединяемая таблица \"%s\" содержит столбец идентификации \"%s\"" + +#: commands/tablecmds.c:18584 +#, c-format +msgid "The new partition may not contain an identity column." +msgstr "Новая секция не может содержать столбец идентификации." + +#: commands/tablecmds.c:18592 #, c-format msgid "table \"%s\" contains column \"%s\" not found in parent \"%s\"" msgstr "" "таблица \"%s\" содержит столбец \"%s\", отсутствующий в родителе \"%s\"" -#: commands/tablecmds.c:17934 +#: commands/tablecmds.c:18595 #, c-format msgid "The new partition may contain only the columns present in parent." msgstr "" "Новая секция может содержать только столбцы, имеющиеся в родительской " "таблице." -#: commands/tablecmds.c:17946 +#: commands/tablecmds.c:18607 #, c-format msgid "trigger \"%s\" prevents table \"%s\" from becoming a partition" msgstr "триггер \"%s\" не позволяет сделать таблицу \"%s\" секцией" -#: commands/tablecmds.c:17948 +#: commands/tablecmds.c:18609 #, c-format msgid "ROW triggers with transition tables are not supported on partitions." msgstr "Триггеры ROW с переходными таблицами для секций не поддерживаются." -#: commands/tablecmds.c:18127 +#: commands/tablecmds.c:18785 #, c-format msgid "" "cannot attach foreign table \"%s\" as partition of partitioned table \"%s\"" msgstr "" "нельзя присоединить стороннюю таблицу \"%s\" в качестве секции таблицы \"%s\"" -#: commands/tablecmds.c:18130 +#: commands/tablecmds.c:18788 #, c-format msgid "Partitioned table \"%s\" contains unique indexes." msgstr "Секционированная таблица \"%s\" содержит уникальные индексы." -#: commands/tablecmds.c:18447 +#: commands/tablecmds.c:19110 #, c-format msgid "cannot detach partitions concurrently when a default partition exists" msgstr "" "секции нельзя отсоединять в режиме CONCURRENTLY, когда существует секция по " "умолчанию" -#: commands/tablecmds.c:18556 +#: commands/tablecmds.c:19219 #, c-format msgid "partitioned table \"%s\" was removed concurrently" msgstr "секционированная таблица \"%s\" была параллельно удалена" -#: commands/tablecmds.c:18562 +#: commands/tablecmds.c:19225 #, c-format msgid "partition \"%s\" was removed concurrently" msgstr "секция \"%s\" была параллельно удалена" -#: commands/tablecmds.c:19077 commands/tablecmds.c:19097 -#: commands/tablecmds.c:19118 commands/tablecmds.c:19137 -#: commands/tablecmds.c:19179 +#: commands/tablecmds.c:19817 commands/tablecmds.c:19837 +#: commands/tablecmds.c:19858 commands/tablecmds.c:19877 +#: commands/tablecmds.c:19919 #, c-format msgid "cannot attach index \"%s\" as a partition of index \"%s\"" msgstr "нельзя присоединить индекс \"%s\" в качестве секции индекса \"%s\"" -#: commands/tablecmds.c:19080 +#: commands/tablecmds.c:19820 #, c-format msgid "Index \"%s\" is already attached to another index." msgstr "Индекс \"%s\" уже присоединён к другому индексу." -#: commands/tablecmds.c:19100 +#: commands/tablecmds.c:19840 #, c-format msgid "Index \"%s\" is not an index on any partition of table \"%s\"." msgstr "Индекс \"%s\" не является индексом какой-либо секции таблицы \"%s\"." -#: commands/tablecmds.c:19121 +#: commands/tablecmds.c:19861 #, c-format msgid "The index definitions do not match." msgstr "Определения индексов не совпадают." -#: commands/tablecmds.c:19140 +#: commands/tablecmds.c:19880 #, c-format msgid "" "The index \"%s\" belongs to a constraint in table \"%s\" but no constraint " @@ -12871,172 +13406,172 @@ msgstr "" "Индекс \"%s\" принадлежит ограничению в таблице \"%s\", но для индекса " "\"%s\" ограничения нет." -#: commands/tablecmds.c:19182 +#: commands/tablecmds.c:19922 #, c-format msgid "Another index is already attached for partition \"%s\"." msgstr "К секции \"%s\" уже присоединён другой индекс." -#: commands/tablecmds.c:19418 +#: commands/tablecmds.c:20158 #, c-format msgid "column data type %s does not support compression" msgstr "тим данных столбца %s не поддерживает сжатие" -#: commands/tablecmds.c:19425 +#: commands/tablecmds.c:20165 #, c-format msgid "invalid compression method \"%s\"" msgstr "неверный метод сжатия \"%s\"" -#: commands/tablecmds.c:19451 +#: commands/tablecmds.c:20191 #, c-format msgid "invalid storage type \"%s\"" msgstr "неверный тип хранилища \"%s\"" -#: commands/tablecmds.c:19461 +#: commands/tablecmds.c:20201 #, c-format msgid "column data type %s can only have storage PLAIN" msgstr "тип данных столбца %s совместим только с хранилищем PLAIN" -#: commands/tablespace.c:199 commands/tablespace.c:650 +#: commands/tablespace.c:193 commands/tablespace.c:644 #, c-format msgid "\"%s\" exists but is not a directory" msgstr "\"%s\" существует, но это не каталог" -#: commands/tablespace.c:230 +#: commands/tablespace.c:224 #, c-format msgid "permission denied to create tablespace \"%s\"" -msgstr "нет прав на создание табличного пространства \"%s\"" +msgstr "нет прав для создания табличного пространства \"%s\"" -#: commands/tablespace.c:232 +#: commands/tablespace.c:226 #, c-format msgid "Must be superuser to create a tablespace." msgstr "Для создания табличного пространства нужно быть суперпользователем." -#: commands/tablespace.c:248 +#: commands/tablespace.c:242 #, c-format msgid "tablespace location cannot contain single quotes" msgstr "в пути к табличному пространству не должно быть одинарных кавычек" -#: commands/tablespace.c:261 +#: commands/tablespace.c:255 #, c-format msgid "tablespace location must be an absolute path" msgstr "путь к табличному пространству должен быть абсолютным" -#: commands/tablespace.c:273 +#: commands/tablespace.c:267 #, c-format msgid "tablespace location \"%s\" is too long" msgstr "путь к табличному пространству \"%s\" слишком длинный" -#: commands/tablespace.c:280 +#: commands/tablespace.c:274 #, c-format msgid "tablespace location should not be inside the data directory" msgstr "табличное пространство не должно располагаться внутри каталога данных" -#: commands/tablespace.c:289 commands/tablespace.c:976 +#: commands/tablespace.c:283 commands/tablespace.c:970 #, c-format msgid "unacceptable tablespace name \"%s\"" msgstr "неприемлемое имя табличного пространства: \"%s\"" -#: commands/tablespace.c:291 commands/tablespace.c:977 +#: commands/tablespace.c:285 commands/tablespace.c:971 #, c-format msgid "The prefix \"pg_\" is reserved for system tablespaces." msgstr "Префикс \"pg_\" зарезервирован для системных табличных пространств." -#: commands/tablespace.c:310 commands/tablespace.c:998 +#: commands/tablespace.c:304 commands/tablespace.c:992 #, c-format msgid "tablespace \"%s\" already exists" msgstr "табличное пространство \"%s\" уже существует" -#: commands/tablespace.c:326 +#: commands/tablespace.c:320 #, c-format msgid "pg_tablespace OID value not set when in binary upgrade mode" msgstr "значение OID в pg_tablespace не задано в режиме двоичного обновления" -#: commands/tablespace.c:431 commands/tablespace.c:959 -#: commands/tablespace.c:1048 commands/tablespace.c:1117 -#: commands/tablespace.c:1263 commands/tablespace.c:1466 +#: commands/tablespace.c:425 commands/tablespace.c:953 +#: commands/tablespace.c:1042 commands/tablespace.c:1111 +#: commands/tablespace.c:1257 commands/tablespace.c:1460 #, c-format msgid "tablespace \"%s\" does not exist" msgstr "табличное пространство \"%s\" не существует" -#: commands/tablespace.c:437 +#: commands/tablespace.c:431 #, c-format msgid "tablespace \"%s\" does not exist, skipping" msgstr "табличное пространство \"%s\" не существует, пропускается" -#: commands/tablespace.c:463 +#: commands/tablespace.c:457 #, c-format msgid "tablespace \"%s\" cannot be dropped because some objects depend on it" msgstr "" "табличное пространство \"%s\" нельзя удалить, так как есть зависящие от него " "объекты" -#: commands/tablespace.c:530 +#: commands/tablespace.c:524 #, c-format msgid "tablespace \"%s\" is not empty" msgstr "табличное пространство \"%s\" не пусто" -#: commands/tablespace.c:617 +#: commands/tablespace.c:611 #, c-format msgid "directory \"%s\" does not exist" msgstr "каталог \"%s\" не существует" -#: commands/tablespace.c:618 +#: commands/tablespace.c:612 #, c-format msgid "Create this directory for the tablespace before restarting the server." msgstr "" "Создайте этот каталог для табличного пространства до перезапуска сервера." -#: commands/tablespace.c:623 +#: commands/tablespace.c:617 #, c-format msgid "could not set permissions on directory \"%s\": %m" msgstr "не удалось установить права для каталога \"%s\": %m" -#: commands/tablespace.c:655 +#: commands/tablespace.c:649 #, c-format msgid "directory \"%s\" already in use as a tablespace" msgstr "каталог \"%s\" уже используется как табличное пространство" -#: commands/tablespace.c:833 commands/tablespace.c:919 +#: commands/tablespace.c:827 commands/tablespace.c:913 #, c-format msgid "could not remove symbolic link \"%s\": %m" msgstr "ошибка при удалении символической ссылки \"%s\": %m" -#: commands/tablespace.c:842 commands/tablespace.c:927 +#: commands/tablespace.c:836 commands/tablespace.c:921 #, c-format msgid "\"%s\" is not a directory or symbolic link" msgstr "\"%s\" - это не каталог или символическая ссылка" -#: commands/tablespace.c:1122 +#: commands/tablespace.c:1116 #, c-format msgid "Tablespace \"%s\" does not exist." msgstr "Табличное пространство \"%s\" не существует." -#: commands/tablespace.c:1568 +#: commands/tablespace.c:1562 #, c-format msgid "directories for tablespace %u could not be removed" msgstr "удалить каталоги табличного пространства %u не удалось" -#: commands/tablespace.c:1570 +#: commands/tablespace.c:1564 #, c-format msgid "You can remove the directories manually if necessary." msgstr "При необходимости вы можете удалить их вручную." -#: commands/trigger.c:232 commands/trigger.c:243 +#: commands/trigger.c:225 commands/trigger.c:236 #, c-format msgid "\"%s\" is a table" msgstr "\"%s\" - это таблица" -#: commands/trigger.c:234 commands/trigger.c:245 +#: commands/trigger.c:227 commands/trigger.c:238 #, c-format msgid "Tables cannot have INSTEAD OF triggers." msgstr "У таблиц не может быть триггеров INSTEAD OF." -#: commands/trigger.c:266 +#: commands/trigger.c:259 #, c-format msgid "\"%s\" is a partitioned table" msgstr "\"%s\" - секционированная таблица" -#: commands/trigger.c:268 +#: commands/trigger.c:261 #, c-format msgid "" "ROW triggers with transition tables are not supported on partitioned tables." @@ -13044,88 +13579,88 @@ msgstr "" "Триггеры ROW с переходными таблицами не поддерживаются в секционированных " "таблицах." -#: commands/trigger.c:280 commands/trigger.c:287 commands/trigger.c:451 +#: commands/trigger.c:273 commands/trigger.c:280 commands/trigger.c:444 #, c-format msgid "\"%s\" is a view" msgstr "\"%s\" - это представление" -#: commands/trigger.c:282 +#: commands/trigger.c:275 #, c-format msgid "Views cannot have row-level BEFORE or AFTER triggers." msgstr "У представлений не может быть строковых триггеров BEFORE/AFTER." -#: commands/trigger.c:289 +#: commands/trigger.c:282 #, c-format msgid "Views cannot have TRUNCATE triggers." msgstr "У представлений не может быть триггеров TRUNCATE." -#: commands/trigger.c:297 commands/trigger.c:309 commands/trigger.c:444 +#: commands/trigger.c:290 commands/trigger.c:302 commands/trigger.c:437 #, c-format msgid "\"%s\" is a foreign table" msgstr "\"%s\" - сторонняя таблица" -#: commands/trigger.c:299 +#: commands/trigger.c:292 #, c-format msgid "Foreign tables cannot have INSTEAD OF triggers." msgstr "У сторонних таблиц не может быть триггеров INSTEAD OF." -#: commands/trigger.c:311 +#: commands/trigger.c:304 #, c-format msgid "Foreign tables cannot have constraint triggers." msgstr "У сторонних таблиц не может быть ограничивающих триггеров." -#: commands/trigger.c:316 commands/trigger.c:1332 commands/trigger.c:1439 +#: commands/trigger.c:309 commands/trigger.c:1325 commands/trigger.c:1432 #, c-format msgid "relation \"%s\" cannot have triggers" msgstr "в отношении \"%s\" не может быть триггеров" -#: commands/trigger.c:387 +#: commands/trigger.c:380 #, c-format msgid "TRUNCATE FOR EACH ROW triggers are not supported" msgstr "триггеры TRUNCATE FOR EACH ROW не поддерживаются" -#: commands/trigger.c:395 +#: commands/trigger.c:388 #, c-format msgid "INSTEAD OF triggers must be FOR EACH ROW" msgstr "триггеры INSTEAD OF должны иметь тип FOR EACH ROW" -#: commands/trigger.c:399 +#: commands/trigger.c:392 #, c-format msgid "INSTEAD OF triggers cannot have WHEN conditions" msgstr "триггеры INSTEAD OF несовместимы с условиями WHEN" -#: commands/trigger.c:403 +#: commands/trigger.c:396 #, c-format msgid "INSTEAD OF triggers cannot have column lists" msgstr "для триггеров INSTEAD OF нельзя задать список столбцов" -#: commands/trigger.c:432 +#: commands/trigger.c:425 #, c-format msgid "ROW variable naming in the REFERENCING clause is not supported" msgstr "" "указание переменной типа кортеж в предложении REFERENCING не поддерживается" -#: commands/trigger.c:433 +#: commands/trigger.c:426 #, c-format msgid "Use OLD TABLE or NEW TABLE for naming transition tables." msgstr "Используйте OLD TABLE или NEW TABLE для именования переходных таблиц." -#: commands/trigger.c:446 +#: commands/trigger.c:439 #, c-format msgid "Triggers on foreign tables cannot have transition tables." msgstr "Триггеры сторонних таблиц не могут использовать переходные таблицы." -#: commands/trigger.c:453 +#: commands/trigger.c:446 #, c-format msgid "Triggers on views cannot have transition tables." msgstr "Триггеры представлений не могут использовать переходные таблицы." -#: commands/trigger.c:469 +#: commands/trigger.c:462 #, c-format msgid "ROW triggers with transition tables are not supported on partitions" msgstr "триггеры ROW с переходными таблицами для секций не поддерживаются" -#: commands/trigger.c:473 +#: commands/trigger.c:466 #, c-format msgid "" "ROW triggers with transition tables are not supported on inheritance children" @@ -13133,17 +13668,17 @@ msgstr "" "триггеры ROW с переходными таблицами для потомков в иерархии наследования не " "поддерживаются" -#: commands/trigger.c:479 +#: commands/trigger.c:472 #, c-format msgid "transition table name can only be specified for an AFTER trigger" msgstr "имя переходной таблицы можно задать только для триггера AFTER" -#: commands/trigger.c:484 +#: commands/trigger.c:477 #, c-format msgid "TRUNCATE triggers with transition tables are not supported" msgstr "триггеры TRUNCATE с переходными таблицами не поддерживаются" -#: commands/trigger.c:501 +#: commands/trigger.c:494 #, c-format msgid "" "transition tables cannot be specified for triggers with more than one event" @@ -13151,127 +13686,127 @@ msgstr "" "переходные таблицы нельзя задать для триггеров, назначаемых для нескольких " "событий" -#: commands/trigger.c:512 +#: commands/trigger.c:505 #, c-format msgid "transition tables cannot be specified for triggers with column lists" msgstr "переходные таблицы нельзя задать для триггеров со списками столбцов" -#: commands/trigger.c:529 +#: commands/trigger.c:522 #, c-format msgid "NEW TABLE can only be specified for an INSERT or UPDATE trigger" msgstr "NEW TABLE можно задать только для триггеров INSERT или UPDATE" -#: commands/trigger.c:534 +#: commands/trigger.c:527 #, c-format msgid "NEW TABLE cannot be specified multiple times" msgstr "NEW TABLE нельзя задать несколько раз" -#: commands/trigger.c:544 +#: commands/trigger.c:537 #, c-format msgid "OLD TABLE can only be specified for a DELETE or UPDATE trigger" msgstr "OLD TABLE можно задать только для триггеров DELETE или UPDATE" -#: commands/trigger.c:549 +#: commands/trigger.c:542 #, c-format msgid "OLD TABLE cannot be specified multiple times" msgstr "OLD TABLE нельзя задать несколько раз" -#: commands/trigger.c:559 +#: commands/trigger.c:552 #, c-format msgid "OLD TABLE name and NEW TABLE name cannot be the same" msgstr "имя OLD TABLE не должно совпадать с именем NEW TABLE" -#: commands/trigger.c:623 commands/trigger.c:636 +#: commands/trigger.c:616 commands/trigger.c:629 #, c-format msgid "statement trigger's WHEN condition cannot reference column values" msgstr "" "в условии WHEN для операторного триггера нельзя ссылаться на значения " "столбцов" -#: commands/trigger.c:628 +#: commands/trigger.c:621 #, c-format msgid "INSERT trigger's WHEN condition cannot reference OLD values" msgstr "в условии WHEN для триггера INSERT нельзя ссылаться на значения OLD" -#: commands/trigger.c:641 +#: commands/trigger.c:634 #, c-format msgid "DELETE trigger's WHEN condition cannot reference NEW values" msgstr "в условии WHEN для триггера DELETE нельзя ссылаться на значения NEW" -#: commands/trigger.c:646 +#: commands/trigger.c:639 #, c-format msgid "BEFORE trigger's WHEN condition cannot reference NEW system columns" msgstr "" "в условии WHEN для триггера BEFORE нельзя ссылаться на системные столбцы NEW" -#: commands/trigger.c:654 commands/trigger.c:662 +#: commands/trigger.c:647 commands/trigger.c:655 #, c-format msgid "BEFORE trigger's WHEN condition cannot reference NEW generated columns" msgstr "" "в условии WHEN для триггера BEFORE нельзя ссылаться на генерируемые столбцы " "NEW" -#: commands/trigger.c:655 +#: commands/trigger.c:648 #, c-format msgid "A whole-row reference is used and the table contains generated columns." msgstr "" "Используется ссылка на всю строку таблицы, а таблица содержит генерируемые " "столбцы." -#: commands/trigger.c:770 commands/trigger.c:1614 +#: commands/trigger.c:763 commands/trigger.c:1607 #, c-format msgid "trigger \"%s\" for relation \"%s\" already exists" msgstr "триггер \"%s\" для отношения \"%s\" уже существует" -#: commands/trigger.c:783 +#: commands/trigger.c:776 #, c-format msgid "trigger \"%s\" for relation \"%s\" is an internal or a child trigger" msgstr "триггер \"%s\" для отношения \"%s\" является внутренним или дочерним" -#: commands/trigger.c:802 +#: commands/trigger.c:795 #, c-format msgid "trigger \"%s\" for relation \"%s\" is a constraint trigger" msgstr "" "триггер \"%s\" для отношения \"%s\" является триггером, реализующим " "ограничение" -#: commands/trigger.c:1404 commands/trigger.c:1557 commands/trigger.c:1838 +#: commands/trigger.c:1397 commands/trigger.c:1550 commands/trigger.c:1831 #, c-format msgid "trigger \"%s\" for table \"%s\" does not exist" msgstr "триггер \"%s\" для таблицы \"%s\" не существует" -#: commands/trigger.c:1529 +#: commands/trigger.c:1522 #, c-format msgid "cannot rename trigger \"%s\" on table \"%s\"" msgstr "переименовать триггер \"%s\" в таблице \"%s\" нельзя" -#: commands/trigger.c:1531 +#: commands/trigger.c:1524 #, c-format msgid "Rename the trigger on the partitioned table \"%s\" instead." msgstr "Однако можно переименовать триггер в секционированной таблице \"%s\"." -#: commands/trigger.c:1631 +#: commands/trigger.c:1624 #, c-format msgid "renamed trigger \"%s\" on relation \"%s\"" msgstr "триггер \"%s\" в отношении \"%s\" переименован" -#: commands/trigger.c:1777 +#: commands/trigger.c:1770 #, c-format msgid "permission denied: \"%s\" is a system trigger" msgstr "нет доступа: \"%s\" - это системный триггер" -#: commands/trigger.c:2386 +#: commands/trigger.c:2379 #, c-format msgid "trigger function %u returned null value" msgstr "триггерная функция %u вернула значение NULL" -#: commands/trigger.c:2446 commands/trigger.c:2664 commands/trigger.c:2917 -#: commands/trigger.c:3270 +#: commands/trigger.c:2439 commands/trigger.c:2657 commands/trigger.c:2910 +#: commands/trigger.c:3263 #, c-format msgid "BEFORE STATEMENT trigger cannot return a value" msgstr "триггер BEFORE STATEMENT не может возвращать значение" -#: commands/trigger.c:2522 +#: commands/trigger.c:2515 #, c-format msgid "" "moving row to another partition during a BEFORE FOR EACH ROW trigger is not " @@ -13279,7 +13814,7 @@ msgid "" msgstr "" "в триггере BEFORE FOR EACH ROW нельзя перемещать строку в другую секцию" -#: commands/trigger.c:2523 +#: commands/trigger.c:2516 #, c-format msgid "" "Before executing trigger \"%s\", the row was to be in partition \"%s.%s\"." @@ -13287,20 +13822,10 @@ msgstr "" "До выполнения триггера \"%s\" строка должна была находиться в секции \"%s." "%s\"." -#: commands/trigger.c:3347 executor/nodeModifyTable.c:2369 -#: executor/nodeModifyTable.c:2452 -#, c-format -msgid "" -"tuple to be updated was already modified by an operation triggered by the " -"current command" -msgstr "" -"кортеж, который должен быть изменён, уже модифицирован в операции, вызванной " -"текущей командой" - -#: commands/trigger.c:3348 executor/nodeModifyTable.c:1535 -#: executor/nodeModifyTable.c:1609 executor/nodeModifyTable.c:2370 -#: executor/nodeModifyTable.c:2453 executor/nodeModifyTable.c:2990 -#: executor/nodeModifyTable.c:3117 +#: 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 #, c-format msgid "" "Consider using an AFTER trigger instead of a BEFORE trigger to propagate " @@ -13309,34 +13834,34 @@ msgstr "" "Возможно, для распространения изменений в другие строки следует использовать " "триггер AFTER вместо BEFORE." -#: commands/trigger.c:3389 executor/nodeLockRows.c:228 -#: executor/nodeLockRows.c:237 executor/nodeModifyTable.c:308 -#: executor/nodeModifyTable.c:1551 executor/nodeModifyTable.c:2387 -#: executor/nodeModifyTable.c:2595 +#: 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 #, c-format msgid "could not serialize access due to concurrent update" msgstr "не удалось сериализовать доступ из-за параллельного изменения" -#: commands/trigger.c:3397 executor/nodeModifyTable.c:1641 -#: executor/nodeModifyTable.c:2470 executor/nodeModifyTable.c:2619 -#: executor/nodeModifyTable.c:3008 +#: commands/trigger.c:3390 executor/nodeModifyTable.c:1647 +#: executor/nodeModifyTable.c:2485 executor/nodeModifyTable.c:2642 +#: executor/nodeModifyTable.c:3150 #, c-format msgid "could not serialize access due to concurrent delete" msgstr "не удалось сериализовать доступ из-за параллельного удаления" -#: commands/trigger.c:4604 +#: commands/trigger.c:4601 #, c-format msgid "cannot fire deferred trigger within security-restricted operation" msgstr "" "в рамках операции с ограничениями по безопасности нельзя вызвать отложенный " "триггер" -#: commands/trigger.c:5787 +#: commands/trigger.c:5782 #, c-format msgid "constraint \"%s\" is not deferrable" msgstr "ограничение \"%s\" не является откладываемым" -#: commands/trigger.c:5810 +#: commands/trigger.c:5805 #, c-format msgid "constraint \"%s\" does not exist" msgstr "ограничение \"%s\" не существует" @@ -13437,12 +13962,12 @@ msgstr "сопоставление для типа фрагмента \"%s\" н msgid "invalid parameter list format: \"%s\"" msgstr "неверный формат списка параметров: \"%s\"" -#: commands/typecmds.c:217 +#: commands/typecmds.c:221 #, c-format msgid "must be superuser to create a base type" msgstr "для создания базового типа нужно быть суперпользователем" -#: commands/typecmds.c:275 +#: commands/typecmds.c:279 #, c-format msgid "" "Create the type as a shell type, then create its I/O functions, then do a " @@ -13451,42 +13976,42 @@ msgstr "" "Создайте тип в виде оболочки, затем определите для него функции ввода-вывода " "и в завершение выполните полноценную команду CREATE TYPE." -#: commands/typecmds.c:327 commands/typecmds.c:1450 commands/typecmds.c:4263 +#: commands/typecmds.c:331 commands/typecmds.c:1460 commands/typecmds.c:4480 #, c-format msgid "type attribute \"%s\" not recognized" msgstr "атрибут типа \"%s\" не распознан" -#: commands/typecmds.c:382 +#: commands/typecmds.c:386 #, c-format msgid "invalid type category \"%s\": must be simple ASCII" msgstr "неверная категория типа \"%s\": допустим только ASCII-символ" -#: commands/typecmds.c:401 +#: commands/typecmds.c:405 #, c-format msgid "array element type cannot be %s" msgstr "типом элемента массива не может быть %s" -#: commands/typecmds.c:433 +#: commands/typecmds.c:437 #, c-format msgid "alignment \"%s\" not recognized" msgstr "тип выравнивания \"%s\" не распознан" -#: commands/typecmds.c:450 commands/typecmds.c:4137 +#: commands/typecmds.c:454 commands/typecmds.c:4354 #, c-format msgid "storage \"%s\" not recognized" msgstr "неизвестная стратегия хранения \"%s\"" -#: commands/typecmds.c:461 +#: commands/typecmds.c:465 #, c-format msgid "type input function must be specified" msgstr "необходимо указать функцию ввода типа" -#: commands/typecmds.c:465 +#: commands/typecmds.c:469 #, c-format msgid "type output function must be specified" msgstr "необходимо указать функцию вывода типа" -#: commands/typecmds.c:470 +#: commands/typecmds.c:474 #, c-format msgid "" "type modifier output function is useless without a type modifier input " @@ -13495,89 +14020,89 @@ msgstr "" "функция вывода модификатора типа бесполезна без функции ввода модификатора " "типа" -#: commands/typecmds.c:512 +#: commands/typecmds.c:516 #, c-format msgid "element type cannot be specified without a subscripting function" msgstr "" "тип элемента нельзя задать без указания обработчика обращения по индексу" -#: commands/typecmds.c:781 +#: commands/typecmds.c:785 #, c-format msgid "\"%s\" is not a valid base type for a domain" msgstr "\"%s\" - неподходящий базовый тип для домена" -#: commands/typecmds.c:879 +#: commands/typecmds.c:883 #, c-format msgid "multiple default expressions" msgstr "неоднократное определение значения типа по умолчанию" -#: commands/typecmds.c:942 commands/typecmds.c:951 +#: commands/typecmds.c:946 commands/typecmds.c:955 #, c-format msgid "conflicting NULL/NOT NULL constraints" msgstr "конфликтующие ограничения NULL/NOT NULL" -#: commands/typecmds.c:967 +#: commands/typecmds.c:971 #, c-format msgid "check constraints for domains cannot be marked NO INHERIT" msgstr "" "ограничения-проверки для доменов не могут иметь характеристики NO INHERIT" -#: commands/typecmds.c:976 commands/typecmds.c:2956 +#: commands/typecmds.c:980 commands/typecmds.c:2940 #, c-format msgid "unique constraints not possible for domains" msgstr "ограничения уникальности невозможны для доменов" -#: commands/typecmds.c:982 commands/typecmds.c:2962 +#: commands/typecmds.c:986 commands/typecmds.c:2946 #, c-format msgid "primary key constraints not possible for domains" msgstr "ограничения первичного ключа невозможны для доменов" -#: commands/typecmds.c:988 commands/typecmds.c:2968 +#: commands/typecmds.c:992 commands/typecmds.c:2952 #, c-format msgid "exclusion constraints not possible for domains" msgstr "ограничения-исключения невозможны для доменов" -#: commands/typecmds.c:994 commands/typecmds.c:2974 +#: commands/typecmds.c:998 commands/typecmds.c:2958 #, c-format msgid "foreign key constraints not possible for domains" msgstr "ограничения внешних ключей невозможны для доменов" -#: commands/typecmds.c:1003 commands/typecmds.c:2983 +#: commands/typecmds.c:1007 commands/typecmds.c:2967 #, c-format msgid "specifying constraint deferrability not supported for domains" msgstr "" "возможность определения отложенных ограничений для доменов не поддерживается" -#: commands/typecmds.c:1317 utils/cache/typcache.c:2567 +#: commands/typecmds.c:1327 utils/cache/typcache.c:2570 #, c-format msgid "%s is not an enum" msgstr "\"%s\" не является перечислением" -#: commands/typecmds.c:1458 +#: commands/typecmds.c:1468 #, c-format msgid "type attribute \"subtype\" is required" msgstr "требуется атрибут типа \"subtype\"" -#: commands/typecmds.c:1463 +#: commands/typecmds.c:1473 #, c-format msgid "range subtype cannot be %s" msgstr "%s не может быть подтипом диапазона" -#: commands/typecmds.c:1482 +#: commands/typecmds.c:1492 #, c-format msgid "range collation specified but subtype does not support collation" msgstr "" "указано правило сортировки для диапазона, но подтип не поддерживает " "сортировку" -#: commands/typecmds.c:1492 +#: commands/typecmds.c:1502 #, c-format msgid "cannot specify a canonical function without a pre-created shell type" msgstr "" "функцию получения канонического диапазона нельзя задать без предварительно " "созданного типа-пустышки" -#: commands/typecmds.c:1493 +#: commands/typecmds.c:1503 #, c-format msgid "" "Create the type as a shell type, then create its canonicalization function, " @@ -13586,96 +14111,96 @@ msgstr "" "Создайте тип в виде оболочки, затем определите для него функции приведения к " "каноническому виду и в завершение выполните полноценную команду CREATE TYPE." -#: commands/typecmds.c:1965 +#: commands/typecmds.c:1975 #, c-format msgid "type input function %s has multiple matches" msgstr "функция ввода типа %s присутствует в нескольких экземплярах" -#: commands/typecmds.c:1983 +#: commands/typecmds.c:1993 #, c-format msgid "type input function %s must return type %s" msgstr "функция ввода типа %s должна возвращать тип %s" -#: commands/typecmds.c:1999 +#: commands/typecmds.c:2009 #, c-format msgid "type input function %s should not be volatile" msgstr "функция ввода типа %s не должна быть изменчивой" -#: commands/typecmds.c:2027 +#: commands/typecmds.c:2037 #, c-format msgid "type output function %s must return type %s" msgstr "функция вывода типа %s должна возвращать тип %s" -#: commands/typecmds.c:2034 +#: commands/typecmds.c:2044 #, c-format msgid "type output function %s should not be volatile" msgstr "функция вывода типа %s не должна быть изменчивой" -#: commands/typecmds.c:2063 +#: commands/typecmds.c:2073 #, c-format msgid "type receive function %s has multiple matches" msgstr "функция получения типа %s присутствует в нескольких экземплярах" -#: commands/typecmds.c:2081 +#: commands/typecmds.c:2091 #, c-format msgid "type receive function %s must return type %s" msgstr "функция получения типа %s должна возвращать тип %s" -#: commands/typecmds.c:2088 +#: commands/typecmds.c:2098 #, c-format msgid "type receive function %s should not be volatile" msgstr "функция получения типа %s не должна быть изменчивой" -#: commands/typecmds.c:2116 +#: commands/typecmds.c:2126 #, c-format msgid "type send function %s must return type %s" msgstr "функция отправки типа %s должна возвращать тип %s" -#: commands/typecmds.c:2123 +#: commands/typecmds.c:2133 #, c-format msgid "type send function %s should not be volatile" msgstr "функция отправки типа %s не должна быть изменчивой" -#: commands/typecmds.c:2150 +#: commands/typecmds.c:2160 #, c-format msgid "typmod_in function %s must return type %s" msgstr "функция TYPMOD_IN %s должна возвращать тип %s" -#: commands/typecmds.c:2157 +#: commands/typecmds.c:2167 #, c-format msgid "type modifier input function %s should not be volatile" msgstr "функция ввода модификатора типа %s не должна быть изменчивой" -#: commands/typecmds.c:2184 +#: commands/typecmds.c:2194 #, c-format msgid "typmod_out function %s must return type %s" msgstr "функция TYPMOD_OUT %s должна возвращать тип %s" -#: commands/typecmds.c:2191 +#: commands/typecmds.c:2201 #, c-format msgid "type modifier output function %s should not be volatile" msgstr "функция вывода модификатора типа %s не должна быть изменчивой" -#: commands/typecmds.c:2218 +#: commands/typecmds.c:2228 #, c-format msgid "type analyze function %s must return type %s" msgstr "функция анализа типа %s должна возвращать тип %s" -#: commands/typecmds.c:2247 +#: commands/typecmds.c:2257 #, c-format msgid "type subscripting function %s must return type %s" msgstr "" "функция %s, реализующая для типа обращение по индексу, должна возвращать тип " "%s" -#: commands/typecmds.c:2257 +#: commands/typecmds.c:2267 #, c-format msgid "user-defined types cannot use subscripting function %s" msgstr "" "для пользовательских типов нельзя использовать функцию-обработчик обращения " "по индексу %s" -#: commands/typecmds.c:2303 +#: commands/typecmds.c:2313 #, c-format msgid "" "You must specify an operator class for the range type or define a default " @@ -13684,207 +14209,218 @@ msgstr "" "Вы должны указать класс операторов для типа диапазона или определить класс " "операторов по умолчанию для этого подтипа." -#: commands/typecmds.c:2334 +#: commands/typecmds.c:2344 #, c-format msgid "range canonical function %s must return range type" msgstr "" "функция получения канонического диапазона %s должна возвращать диапазон" -#: commands/typecmds.c:2340 +#: commands/typecmds.c:2350 #, c-format msgid "range canonical function %s must be immutable" msgstr "" "функция получения канонического диапазона %s должна быть постоянной " "(IMMUTABLE)" -#: commands/typecmds.c:2376 +#: commands/typecmds.c:2386 #, c-format msgid "range subtype diff function %s must return type %s" msgstr "функция различий для подтипа диапазона (%s) должна возвращать тип %s" -#: commands/typecmds.c:2383 +#: commands/typecmds.c:2393 #, c-format msgid "range subtype diff function %s must be immutable" msgstr "" "функция различий для подтипа диапазона (%s) должна быть постоянной " "(IMMUTABLE)" -#: commands/typecmds.c:2410 +#: commands/typecmds.c:2420 #, c-format msgid "pg_type array OID value not set when in binary upgrade mode" msgstr "значение OID массива в pg_type не задано в режиме двоичного обновления" -#: commands/typecmds.c:2443 +#: commands/typecmds.c:2453 #, c-format msgid "pg_type multirange OID value not set when in binary upgrade mode" msgstr "" "значение OID мультидиапазона в pg_type не задано в режиме двоичного " "обновления" -#: commands/typecmds.c:2476 +#: commands/typecmds.c:2486 #, c-format msgid "pg_type multirange array OID value not set when in binary upgrade mode" msgstr "" "значение OID массива мультидиапазонов в pg_type не задано в режиме двоичного " "обновления" -#: commands/typecmds.c:2772 -#, c-format -msgid "column \"%s\" of table \"%s\" contains null values" -msgstr "столбец \"%s\" таблицы \"%s\" содержит значения NULL" - -#: commands/typecmds.c:2885 commands/typecmds.c:3086 +#: commands/typecmds.c:2868 commands/typecmds.c:3093 #, c-format msgid "constraint \"%s\" of domain \"%s\" does not exist" msgstr "ограничение \"%s\" для домена \"%s\" не существует" -#: commands/typecmds.c:2889 +#: commands/typecmds.c:2872 #, c-format msgid "constraint \"%s\" of domain \"%s\" does not exist, skipping" msgstr "ограничение \"%s\" для домена \"%s\" не существует, пропускается" -#: commands/typecmds.c:3093 +#: commands/typecmds.c:3100 #, c-format msgid "constraint \"%s\" of domain \"%s\" is not a check constraint" msgstr "" "ограничение \"%s\" для домена \"%s\" не является ограничением-проверкой" -#: commands/typecmds.c:3194 +#: commands/typecmds.c:3180 +#, c-format +msgid "column \"%s\" of table \"%s\" contains null values" +msgstr "столбец \"%s\" таблицы \"%s\" содержит значения NULL" + +#: commands/typecmds.c:3269 #, c-format msgid "" "column \"%s\" of table \"%s\" contains values that violate the new constraint" msgstr "" "столбец \"%s\" таблицы \"%s\" содержит значения, нарушающие новое ограничение" -#: commands/typecmds.c:3423 commands/typecmds.c:3622 commands/typecmds.c:3705 -#: commands/typecmds.c:3893 +#: commands/typecmds.c:3498 commands/typecmds.c:3772 commands/typecmds.c:3857 +#: commands/typecmds.c:4073 #, c-format msgid "%s is not a domain" msgstr "\"%s\" - это не домен" -#: commands/typecmds.c:3455 +#: commands/typecmds.c:3532 commands/typecmds.c:3686 #, c-format msgid "constraint \"%s\" for domain \"%s\" already exists" msgstr "ограничение \"%s\" для домена \"%s\" уже существует" -#: commands/typecmds.c:3506 +#: commands/typecmds.c:3583 #, c-format msgid "cannot use table references in domain check constraint" msgstr "в ограничении-проверке для домена нельзя ссылаться на таблицы" -#: commands/typecmds.c:3634 commands/typecmds.c:3717 commands/typecmds.c:4010 +#: commands/typecmds.c:3784 commands/typecmds.c:3869 commands/typecmds.c:4223 #, c-format msgid "%s is a table's row type" msgstr "%s - это тип строк таблицы" -#: commands/typecmds.c:3644 commands/typecmds.c:3727 commands/typecmds.c:3925 +#: commands/typecmds.c:3794 commands/typecmds.c:3879 commands/typecmds.c:4121 #, c-format msgid "cannot alter array type %s" msgstr "изменить тип массива \"%s\" нельзя" -#: commands/typecmds.c:3646 commands/typecmds.c:3729 commands/typecmds.c:3927 +#: commands/typecmds.c:3796 commands/typecmds.c:3881 commands/typecmds.c:4123 #, c-format msgid "You can alter type %s, which will alter the array type as well." msgstr "Однако можно изменить тип %s, что повлечёт изменение типа массива." -#: commands/typecmds.c:3995 +#: commands/typecmds.c:3892 +#, c-format +msgid "cannot alter multirange type %s" +msgstr "изменить мультидиапазонный тип %s нельзя" + +#: commands/typecmds.c:3895 +#, c-format +msgid "You can alter type %s, which will alter the multirange type as well." +msgstr "" +"Однако можно изменить тип %s, что повлечёт изменение мультидиапазонного типа." + +#: commands/typecmds.c:4202 #, c-format msgid "type \"%s\" already exists in schema \"%s\"" msgstr "тип \"%s\" уже существует в схеме \"%s\"" -#: commands/typecmds.c:4165 +#: commands/typecmds.c:4382 #, c-format msgid "cannot change type's storage to PLAIN" msgstr "сменить вариант хранения типа на PLAIN нельзя" -#: commands/typecmds.c:4258 +#: commands/typecmds.c:4475 #, c-format msgid "type attribute \"%s\" cannot be changed" msgstr "у типа нельзя изменить атрибут \"%s\"" -#: commands/typecmds.c:4276 +#: commands/typecmds.c:4493 #, c-format msgid "must be superuser to alter a type" msgstr "для модификации типа нужно быть суперпользователем" -#: commands/typecmds.c:4297 commands/typecmds.c:4306 +#: commands/typecmds.c:4514 commands/typecmds.c:4523 #, c-format msgid "%s is not a base type" msgstr "%s — не базовый тип" -#: commands/user.c:201 +#: commands/user.c:200 #, c-format msgid "SYSID can no longer be specified" msgstr "SYSID уже не нужно указывать" -#: commands/user.c:319 commands/user.c:325 commands/user.c:331 -#: commands/user.c:337 commands/user.c:343 +#: commands/user.c:318 commands/user.c:324 commands/user.c:330 +#: commands/user.c:336 commands/user.c:342 #, c-format msgid "permission denied to create role" msgstr "нет прав для создания роли" -#: commands/user.c:320 +#: commands/user.c:319 #, c-format msgid "Only roles with the %s attribute may create roles." msgstr "Создавать роли могут только роли с атрибутом %s." -#: commands/user.c:326 commands/user.c:332 commands/user.c:338 -#: commands/user.c:344 +#: commands/user.c:325 commands/user.c:331 commands/user.c:337 +#: commands/user.c:343 #, c-format msgid "" "Only roles with the %s attribute may create roles with the %s attribute." msgstr "Создавать роли с атрибутом %s могут только роли с атрибутом %s." -#: commands/user.c:355 commands/user.c:1387 commands/user.c:1394 -#: utils/adt/acl.c:5401 utils/adt/acl.c:5407 gram.y:16726 gram.y:16772 +#: 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 #, c-format msgid "role name \"%s\" is reserved" msgstr "имя роли \"%s\" зарезервировано" -#: commands/user.c:357 commands/user.c:1389 commands/user.c:1396 +#: commands/user.c:356 commands/user.c:1388 commands/user.c:1395 #, c-format msgid "Role names starting with \"pg_\" are reserved." msgstr "Имена ролей, начинающиеся с \"pg_\", зарезервированы." -#: commands/user.c:378 commands/user.c:1411 +#: commands/user.c:377 commands/user.c:1410 #, c-format msgid "role \"%s\" already exists" msgstr "роль \"%s\" уже существует" -#: commands/user.c:440 commands/user.c:925 +#: commands/user.c:439 commands/user.c:924 #, c-format msgid "empty string is not a valid password, clearing password" msgstr "пустая строка не является допустимым паролем; пароль сбрасывается" -#: commands/user.c:469 +#: commands/user.c:468 #, c-format msgid "pg_authid OID value not set when in binary upgrade mode" msgstr "значение OID в pg_authid не задано в режиме двоичного обновления" -#: commands/user.c:653 commands/user.c:1011 +#: commands/user.c:652 commands/user.c:1010 msgid "Cannot alter reserved roles." msgstr "Изменять зарезервированные роли нельзя." -#: commands/user.c:760 commands/user.c:766 commands/user.c:782 -#: commands/user.c:790 commands/user.c:804 commands/user.c:810 -#: commands/user.c:816 commands/user.c:825 commands/user.c:870 -#: commands/user.c:1033 commands/user.c:1044 +#: commands/user.c:759 commands/user.c:765 commands/user.c:781 +#: commands/user.c:789 commands/user.c:803 commands/user.c:809 +#: commands/user.c:815 commands/user.c:824 commands/user.c:869 +#: commands/user.c:1032 commands/user.c:1043 #, c-format msgid "permission denied to alter role" msgstr "нет прав для изменения роли" -#: commands/user.c:761 commands/user.c:1034 +#: commands/user.c:760 commands/user.c:1033 #, c-format msgid "Only roles with the %s attribute may alter roles with the %s attribute." msgstr "Изменять роли с атрибутом %s могут только роли с атрибутом %s." -#: commands/user.c:767 commands/user.c:805 commands/user.c:811 -#: commands/user.c:817 +#: commands/user.c:766 commands/user.c:804 commands/user.c:810 +#: commands/user.c:816 #, c-format msgid "Only roles with the %s attribute may change the %s attribute." msgstr "Изменять атрибут %s могут только роли с атрибутом %s." -#: commands/user.c:783 commands/user.c:1045 +#: commands/user.c:782 commands/user.c:1044 #, c-format msgid "" "Only roles with the %s attribute and the %s option on role \"%s\" may alter " @@ -13893,7 +14429,7 @@ msgstr "" "Изменять эту роль могут только роли с атрибутом %s и привилегией %s для роли " "\"%s\"." -#: commands/user.c:791 +#: commands/user.c:790 #, c-format msgid "" "To change another role's password, the current user must have the %s " @@ -13902,32 +14438,32 @@ msgstr "" "Чтобы сменить пароль другой роли, текущий пользователь должен иметь атрибут " "%s и привилегию %s для этой роли." -#: commands/user.c:826 +#: commands/user.c:825 #, c-format msgid "Only roles with the %s option on role \"%s\" may add members." msgstr "Добавлять членов могут только роли с привилегией %s для роли \"%s\"." -#: commands/user.c:871 +#: commands/user.c:870 #, c-format -msgid "The bootstrap user must have the %s attribute." -msgstr "Стартовый пользователь должен иметь атрибут %s." +msgid "The bootstrap superuser must have the %s attribute." +msgstr "Стартовый суперпользователь должен иметь атрибут %s." -#: commands/user.c:1076 +#: commands/user.c:1075 #, c-format msgid "permission denied to alter setting" msgstr "нет прав для изменения параметров" -#: commands/user.c:1077 +#: commands/user.c:1076 #, c-format msgid "Only roles with the %s attribute may alter settings globally." msgstr "Изменять параметры глобально могут только роли с атрибутом %s." -#: commands/user.c:1101 commands/user.c:1172 commands/user.c:1178 +#: commands/user.c:1100 commands/user.c:1171 commands/user.c:1177 #, c-format msgid "permission denied to drop role" msgstr "нет прав для удаления роли" -#: commands/user.c:1102 +#: commands/user.c:1101 #, c-format msgid "" "Only roles with the %s attribute and the %s option on the target roles may " @@ -13936,41 +14472,41 @@ msgstr "" "Удалять роли могут только роли с атрибутом %s и с привилегией %s для целевых " "ролей." -#: commands/user.c:1126 +#: commands/user.c:1125 #, c-format msgid "cannot use special role specifier in DROP ROLE" msgstr "использовать специальную роль в DROP ROLE нельзя" -#: commands/user.c:1136 commands/user.c:1358 commands/variable.c:836 -#: commands/variable.c:839 commands/variable.c:923 commands/variable.c:926 -#: utils/adt/acl.c:356 utils/adt/acl.c:376 utils/adt/acl.c:5256 -#: utils/adt/acl.c:5304 utils/adt/acl.c:5332 utils/adt/acl.c:5351 -#: utils/adt/regproc.c:1551 utils/init/miscinit.c:756 +#: commands/user.c:1135 commands/user.c:1357 commands/variable.c:838 +#: commands/variable.c:841 commands/variable.c:947 commands/variable.c:950 +#: 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/regproc.c:1571 utils/init/miscinit.c:762 #, c-format msgid "role \"%s\" does not exist" msgstr "роль \"%s\" не существует" -#: commands/user.c:1141 +#: commands/user.c:1140 #, c-format msgid "role \"%s\" does not exist, skipping" msgstr "роль \"%s\" не существует, пропускается" -#: commands/user.c:1154 commands/user.c:1158 +#: commands/user.c:1153 commands/user.c:1157 #, c-format msgid "current user cannot be dropped" msgstr "пользователь не может удалить сам себя" -#: commands/user.c:1162 +#: commands/user.c:1161 #, c-format msgid "session user cannot be dropped" msgstr "пользователя текущего сеанса нельзя удалить" -#: commands/user.c:1173 +#: commands/user.c:1172 #, c-format msgid "Only roles with the %s attribute may drop roles with the %s attribute." msgstr "Только роли с атрибутом %s могут удалять роли с атрибутом %s." -#: commands/user.c:1179 +#: commands/user.c:1178 #, c-format msgid "" "Only roles with the %s attribute and the %s option on role \"%s\" may drop " @@ -13979,33 +14515,33 @@ msgstr "" "Эту роль могут удалить только роли с атрибутом %s и привилегией %s для роли " "\"%s\"." -#: commands/user.c:1300 +#: commands/user.c:1299 #, c-format msgid "role \"%s\" cannot be dropped because some objects depend on it" msgstr "роль \"%s\" нельзя удалить, так как есть зависящие от неё объекты" -#: commands/user.c:1374 +#: commands/user.c:1373 #, c-format msgid "session user cannot be renamed" msgstr "пользователя текущего сеанса нельзя переименовать" -#: commands/user.c:1378 +#: commands/user.c:1377 #, c-format msgid "current user cannot be renamed" msgstr "пользователь не может переименовать сам себя" -#: commands/user.c:1422 commands/user.c:1432 +#: commands/user.c:1421 commands/user.c:1431 #, c-format msgid "permission denied to rename role" -msgstr "нет прав на переименование роли" +msgstr "нет прав для переименования роли" -#: commands/user.c:1423 +#: commands/user.c:1422 #, c-format msgid "" "Only roles with the %s attribute may rename roles with the %s attribute." msgstr "Только роли с атрибутом %s могут переименовывать роли с атрибутом %s." -#: commands/user.c:1433 +#: commands/user.c:1432 #, c-format msgid "" "Only roles with the %s attribute and the %s option on role \"%s\" may rename " @@ -14014,43 +14550,43 @@ msgstr "" "Переименовать эту роль могут только роли с атрибутом %s и привилегией %s для " "роли \"%s\"." -#: commands/user.c:1455 +#: commands/user.c:1454 #, c-format msgid "MD5 password cleared because of role rename" msgstr "в результате переименования роли очищен MD5-хеш пароля" -#: commands/user.c:1519 gram.y:1260 +#: commands/user.c:1518 gram.y:1294 #, c-format msgid "unrecognized role option \"%s\"" msgstr "нераспознанный параметр роли \"%s\"" -#: commands/user.c:1524 +#: commands/user.c:1523 #, c-format msgid "unrecognized value for role option \"%s\": \"%s\"" msgstr "нераспознанное значение для параметра роли \"%s\": \"%s\"" -#: commands/user.c:1557 +#: commands/user.c:1556 #, c-format msgid "column names cannot be included in GRANT/REVOKE ROLE" msgstr "в GRANT/REVOKE ROLE нельзя включать названия столбцов" -#: commands/user.c:1597 +#: commands/user.c:1596 #, c-format msgid "permission denied to drop objects" -msgstr "нет прав на удаление объектов" +msgstr "нет прав для удаления объектов" -#: commands/user.c:1598 +#: commands/user.c:1597 #, c-format msgid "Only roles with privileges of role \"%s\" may drop objects owned by it." msgstr "" "Только роли с правами роли \"%s\" могут удалять принадлежащие ей объекты." -#: commands/user.c:1626 commands/user.c:1637 +#: commands/user.c:1625 commands/user.c:1636 #, c-format msgid "permission denied to reassign objects" msgstr "нет прав для переназначения объектов" -#: commands/user.c:1627 +#: commands/user.c:1626 #, c-format msgid "" "Only roles with privileges of role \"%s\" may reassign objects owned by it." @@ -14058,102 +14594,102 @@ msgstr "" "Только роли с правами роли \"%s\" могут поменять владельца принадлежащих ей " "объектов." -#: commands/user.c:1638 +#: commands/user.c:1637 #, c-format msgid "Only roles with privileges of role \"%s\" may reassign objects to it." msgstr "" "Только роли с правами роли \"%s\" могут назначать её владельцем объектов." -#: commands/user.c:1734 +#: commands/user.c:1733 #, c-format msgid "role \"%s\" cannot be a member of any role" msgstr "роль \"%s\" не может быть членом другой роли" -#: commands/user.c:1747 +#: commands/user.c:1746 #, c-format msgid "role \"%s\" is a member of role \"%s\"" msgstr "роль \"%s\" включена в роль \"%s\"" -#: commands/user.c:1787 commands/user.c:1813 +#: commands/user.c:1786 commands/user.c:1812 #, c-format msgid "%s option cannot be granted back to your own grantor" msgstr "привилегию %s нельзя вернуть тому, кто назначил её вам" -#: commands/user.c:1890 +#: commands/user.c:1889 #, c-format msgid "" "role \"%s\" has already been granted membership in role \"%s\" by role \"%s\"" msgstr "роль \"%s\" уже назначена членом роли \"%s\" ролью \"%s\"" -#: commands/user.c:2025 +#: commands/user.c:2024 #, c-format msgid "" "role \"%s\" has not been granted membership in role \"%s\" by role \"%s\"" msgstr "роль \"%s\" не была назначена членом роли \"%s\" ролью \"%s\"" -#: commands/user.c:2125 +#: commands/user.c:2124 #, c-format msgid "role \"%s\" cannot have explicit members" msgstr "роль \"%s\" не может содержать явных членов" -#: commands/user.c:2136 commands/user.c:2159 +#: commands/user.c:2135 commands/user.c:2158 #, c-format msgid "permission denied to grant role \"%s\"" msgstr "нет прав для назначения членства в роли \"%s\"" -#: commands/user.c:2138 +#: commands/user.c:2137 #, c-format msgid "Only roles with the %s attribute may grant roles with the %s attribute." msgstr "" "Только роли с атрибутом %s могут назначать членов в ролях с атрибутов %s." -#: commands/user.c:2143 commands/user.c:2166 +#: commands/user.c:2142 commands/user.c:2165 #, c-format msgid "permission denied to revoke role \"%s\"" msgstr "нет прав для лишения членства в роли \"%s\"" -#: commands/user.c:2145 +#: commands/user.c:2144 #, c-format msgid "" "Only roles with the %s attribute may revoke roles with the %s attribute." msgstr "" "Только роли с атрибутом %s могут лишать членства в ролях с атрибутом %s." -#: commands/user.c:2161 +#: commands/user.c:2160 #, c-format msgid "Only roles with the %s option on role \"%s\" may grant this role." msgstr "" "Только роли с привилегией %s для роли \"%s\" могут назначать членов в ней." -#: commands/user.c:2168 +#: commands/user.c:2167 #, c-format msgid "Only roles with the %s option on role \"%s\" may revoke this role." msgstr "" "Только роли с привилегией %s для роли \"%s\" могут лишать членства в ней." -#: commands/user.c:2248 commands/user.c:2257 +#: commands/user.c:2247 commands/user.c:2256 #, c-format msgid "permission denied to grant privileges as role \"%s\"" msgstr "нет полномочий для назначения прав доступа роли \"%s\"" -#: commands/user.c:2250 +#: commands/user.c:2249 #, c-format msgid "" "Only roles with privileges of role \"%s\" may grant privileges as this role." msgstr "" "Только роли с правами роли \"%s\" могут назначать права от имени этой роли." -#: commands/user.c:2259 +#: commands/user.c:2258 #, c-format msgid "The grantor must have the %s option on role \"%s\"." msgstr "Праводатель должен иметь привилегию %s для роли \"%s\"." -#: commands/user.c:2267 +#: commands/user.c:2266 #, c-format msgid "permission denied to revoke privileges granted by role \"%s\"" msgstr "нет полномочий для отзыва прав доступа, назначенных ролью \"%s\"" -#: commands/user.c:2269 +#: commands/user.c:2268 #, c-format msgid "" "Only roles with privileges of role \"%s\" may revoke privileges granted by " @@ -14161,17 +14697,17 @@ msgid "" msgstr "" "Только роли с правами роли \"%s\" могут отзывать права от имени этой роли." -#: commands/user.c:2492 utils/adt/acl.c:1309 +#: commands/user.c:2491 utils/adt/acl.c:1324 #, c-format msgid "dependent privileges exist" msgstr "существуют зависимые права" -#: commands/user.c:2493 utils/adt/acl.c:1310 +#: commands/user.c:2492 utils/adt/acl.c:1325 #, c-format msgid "Use CASCADE to revoke them too." msgstr "Используйте CASCADE, чтобы отозвать и их." -#: commands/vacuum.c:137 +#: commands/vacuum.c:134 #, c-format msgid "\"vacuum_buffer_usage_limit\" must be 0 or between %d kB and %d kB" msgstr "" @@ -14246,42 +14782,42 @@ msgstr "ONLY_DATABASE_STATS нельзя задавать с другими па msgid "%s cannot be executed from VACUUM or ANALYZE" msgstr "%s нельзя выполнить в ходе VACUUM или ANALYZE" -#: commands/vacuum.c:733 +#: commands/vacuum.c:730 #, c-format msgid "permission denied to vacuum \"%s\", skipping it" msgstr "нет доступа для очистки отношения \"%s\", оно пропускается" -#: commands/vacuum.c:746 +#: commands/vacuum.c:743 #, c-format msgid "permission denied to analyze \"%s\", skipping it" msgstr "нет доступа для анализа отношения \"%s\", оно пропускается" -#: commands/vacuum.c:824 commands/vacuum.c:921 +#: commands/vacuum.c:821 commands/vacuum.c:918 #, c-format msgid "skipping vacuum of \"%s\" --- lock not available" msgstr "очистка \"%s\" пропускается --- блокировка недоступна" -#: commands/vacuum.c:829 +#: commands/vacuum.c:826 #, c-format msgid "skipping vacuum of \"%s\" --- relation no longer exists" msgstr "очистка \"%s\" пропускается --- это отношение более не существует" -#: commands/vacuum.c:845 commands/vacuum.c:926 +#: commands/vacuum.c:842 commands/vacuum.c:923 #, c-format msgid "skipping analyze of \"%s\" --- lock not available" msgstr "анализ \"%s\" пропускается --- блокировка недоступна" -#: commands/vacuum.c:850 +#: commands/vacuum.c:847 #, c-format msgid "skipping analyze of \"%s\" --- relation no longer exists" msgstr "анализ \"%s\" пропускается --- это отношение более не существует" -#: commands/vacuum.c:1161 +#: commands/vacuum.c:1139 #, c-format msgid "cutoff for removing and freezing tuples is far in the past" msgstr "момент отсечки для удаления и замораживания кортежей далеко в прошлом" -#: commands/vacuum.c:1162 commands/vacuum.c:1167 +#: commands/vacuum.c:1140 commands/vacuum.c:1145 #, c-format msgid "" "Close open transactions soon to avoid wraparound problems.\n" @@ -14293,42 +14829,42 @@ msgstr "" "Возможно, вам также придётся зафиксировать или откатить старые " "подготовленные транзакции и удалить неиспользуемые слоты репликации." -#: commands/vacuum.c:1166 +#: commands/vacuum.c:1144 #, c-format msgid "cutoff for freezing multixacts is far in the past" msgstr "момент отсечки для замораживания мультитранзакций далеко в прошлом" -#: commands/vacuum.c:1912 +#: commands/vacuum.c:1900 #, c-format msgid "some databases have not been vacuumed in over 2 billion transactions" msgstr "" "есть базы данных, которые не очищались на протяжении более чем 2 миллиардов " "транзакций" -#: commands/vacuum.c:1913 +#: commands/vacuum.c:1901 #, c-format msgid "You might have already suffered transaction-wraparound data loss." msgstr "" "Возможно, вы уже потеряли данные в результате зацикливания ID транзакций." -#: commands/vacuum.c:2082 +#: commands/vacuum.c:2080 #, c-format msgid "skipping \"%s\" --- cannot vacuum non-tables or special system tables" msgstr "" "\"%s\" пропускается --- очищать не таблицы или специальные системные таблицы " "нельзя" -#: commands/vacuum.c:2507 +#: commands/vacuum.c:2512 #, c-format -msgid "scanned index \"%s\" to remove %d row versions" -msgstr "просканирован индекс \"%s\", удалено версий строк: %d" +msgid "scanned index \"%s\" to remove %lld row versions" +msgstr "просканирован индекс \"%s\", удалено версий строк: %lld" -#: commands/vacuum.c:2526 +#: commands/vacuum.c:2531 #, c-format msgid "index \"%s\" now contains %.0f row versions in %u pages" msgstr "индекс \"%s\" теперь содержит версий строк: %.0f, в страницах: %u" -#: commands/vacuum.c:2530 +#: commands/vacuum.c:2535 #, c-format msgid "" "%.0f index row versions were removed.\n" @@ -14340,7 +14876,7 @@ msgstr "" "На данный момент удалено страниц индекса: %u, из них свободны для " "использования: %u." -#: commands/vacuumparallel.c:677 +#: commands/vacuumparallel.c:708 #, c-format msgid "launched %d parallel vacuum worker for index vacuuming (planned: %d)" msgid_plural "" @@ -14355,7 +14891,7 @@ msgstr[2] "" "запущено %d параллельных процессов очистки для очистки индекса " "(планировалось: %d)" -#: commands/vacuumparallel.c:683 +#: commands/vacuumparallel.c:714 #, c-format msgid "launched %d parallel vacuum worker for index cleanup (planned: %d)" msgid_plural "" @@ -14432,7 +14968,7 @@ msgid "SET TRANSACTION ISOLATION LEVEL must not be called in a subtransaction" msgstr "" "команда SET TRANSACTION ISOLATION LEVEL не должна вызываться в подтранзакции" -#: commands/variable.c:606 storage/lmgr/predicate.c:1629 +#: commands/variable.c:606 storage/lmgr/predicate.c:1685 #, c-format msgid "cannot use serializable mode in a hot standby" msgstr "использовать сериализуемый режим в горячем резерве нельзя" @@ -14467,65 +15003,76 @@ msgstr "Изменить клиентскую кодировку сейчас н #: commands/variable.c:781 #, c-format -msgid "cannot change client_encoding during a parallel operation" -msgstr "изменить клиентскую кодировку во время параллельной операции нельзя" +msgid "cannot change \"client_encoding\" during a parallel operation" +msgstr "" +"изменить параметр \"client_encoding\" во время параллельной операции нельзя" + +#: commands/variable.c:863 +#, c-format +msgid "permission will be denied to set session authorization \"%s\"" +msgstr "в доступе для смены объекта авторизации \"%s\" будет отказано" + +#: commands/variable.c:868 +#, c-format +msgid "permission denied to set session authorization \"%s\"" +msgstr "нет доступа для смены объекта авторизации в сеансе \"%s\"" -#: commands/variable.c:948 +#: commands/variable.c:972 #, c-format msgid "permission will be denied to set role \"%s\"" msgstr "нет прав установить роль \"%s\"" -#: commands/variable.c:953 +#: commands/variable.c:977 #, c-format msgid "permission denied to set role \"%s\"" msgstr "нет прав установить роль \"%s\"" -#: commands/variable.c:1153 +#: commands/variable.c:1177 #, c-format msgid "Bonjour is not supported by this build" msgstr "Bonjour не поддерживается в данной сборке" -#: commands/variable.c:1181 +#: commands/variable.c:1205 #, c-format msgid "" -"effective_io_concurrency must be set to 0 on platforms that lack " +"\"effective_io_concurrency\" must be set to 0 on platforms that lack " "posix_fadvise()." msgstr "" -"Значение effective_io_concurrency должно равняться 0 на платформах, где " -"отсутствует lack posix_fadvise()." +"Значение \"effective_io_concurrency\" должно равняться 0 на платформах, где " +"отсутствует posix_fadvise()." -#: commands/variable.c:1194 +#: commands/variable.c:1218 #, c-format msgid "" -"maintenance_io_concurrency must be set to 0 on platforms that lack " +"\"maintenance_io_concurrency\" must be set to 0 on platforms that lack " "posix_fadvise()." msgstr "" -"Значение maintenance_io_concurrency должно равняться 0 на платформах, где " -"отсутствует lack posix_fadvise()." +"Значение \"maintenance_io_concurrency\" должно равняться 0 на платформах, " +"где отсутствует posix_fadvise()." -#: commands/variable.c:1207 +#: commands/variable.c:1231 #, c-format msgid "SSL is not supported by this build" msgstr "SSL не поддерживается в данной сборке" -#: commands/view.c:84 +#: commands/view.c:79 #, c-format msgid "could not determine which collation to use for view column \"%s\"" msgstr "" "не удалось определить правило сортировки для столбца представления \"%s\"" -#: commands/view.c:279 commands/view.c:290 +#: commands/view.c:274 commands/view.c:285 #, c-format msgid "cannot drop columns from view" msgstr "удалять столбцы из представления нельзя" -#: commands/view.c:295 +#: commands/view.c:290 #, c-format msgid "cannot change name of view column \"%s\" to \"%s\"" msgstr "изменить имя столбца \"%s\" на \"%s\" в представлении нельзя" # skip-rule: space-before-ellipsis -#: commands/view.c:298 +#: commands/view.c:293 #, c-format msgid "" "Use ALTER VIEW ... RENAME COLUMN ... to change name of view column instead." @@ -14533,40 +15080,40 @@ msgstr "" "Чтобы изменить имя столбца представления, выполните ALTER VIEW ... RENAME " "COLUMN ..." -#: commands/view.c:309 +#: commands/view.c:304 #, c-format msgid "cannot change data type of view column \"%s\" from %s to %s" msgstr "изменить тип столбца представления \"%s\" с %s на %s нельзя" -#: commands/view.c:323 +#: commands/view.c:318 #, c-format msgid "cannot change collation of view column \"%s\" from \"%s\" to \"%s\"" msgstr "" "изменить правило сортировки для столбца представления \"%s\" с \"%s\" на " "\"%s\" нельзя" -#: commands/view.c:392 +#: commands/view.c:387 #, c-format msgid "views must not contain SELECT INTO" msgstr "представления не должны содержать SELECT INTO" -#: commands/view.c:404 +#: commands/view.c:399 #, c-format msgid "views must not contain data-modifying statements in WITH" msgstr "представления не должны содержать операторы, изменяющие данные в WITH" -#: commands/view.c:474 +#: commands/view.c:469 #, c-format msgid "CREATE VIEW specifies more column names than columns" msgstr "в CREATE VIEW указано больше имён столбцов, чем самих столбцов" -#: commands/view.c:482 +#: commands/view.c:477 #, c-format msgid "views cannot be unlogged because they do not have storage" msgstr "" "представления не могут быть нежурналируемыми, так как они нигде не хранятся" -#: commands/view.c:496 +#: commands/view.c:491 #, c-format msgid "view \"%s\" will be a temporary view" msgstr "представление \"%s\" будет создано как временное" @@ -14604,7 +15151,7 @@ msgid "cursor \"%s\" is not a simply updatable scan of table \"%s\"" msgstr "" "для курсора \"%s\" не выполняется обновляемое сканирование таблицы \"%s\"" -#: executor/execCurrent.c:280 executor/execExprInterp.c:2498 +#: executor/execCurrent.c:280 executor/execExprInterp.c:2543 #, c-format msgid "" "type of parameter %d (%s) does not match that when preparing the plan (%s)" @@ -14612,56 +15159,56 @@ msgstr "" "тип параметра %d (%s) не соответствует тому, с которым подготавливался план " "(%s)" -#: executor/execCurrent.c:292 executor/execExprInterp.c:2510 +#: executor/execCurrent.c:292 executor/execExprInterp.c:2555 #, c-format msgid "no value found for parameter %d" msgstr "не найдено значение параметра %d" -#: executor/execExpr.c:637 executor/execExpr.c:644 executor/execExpr.c:650 -#: executor/execExprInterp.c:4234 executor/execExprInterp.c:4251 -#: executor/execExprInterp.c:4350 executor/nodeModifyTable.c:197 -#: executor/nodeModifyTable.c:208 executor/nodeModifyTable.c:225 -#: executor/nodeModifyTable.c:233 +#: executor/execExpr.c:642 executor/execExpr.c:649 executor/execExpr.c:655 +#: executor/execExprInterp.c:4840 executor/execExprInterp.c:4857 +#: executor/execExprInterp.c:4956 executor/nodeModifyTable.c:203 +#: executor/nodeModifyTable.c:214 executor/nodeModifyTable.c:231 +#: executor/nodeModifyTable.c:239 #, c-format msgid "table row type and query-specified row type do not match" msgstr "тип строки таблицы отличается от типа строки-результата запроса" -#: executor/execExpr.c:638 executor/nodeModifyTable.c:198 +#: executor/execExpr.c:643 executor/nodeModifyTable.c:204 #, c-format msgid "Query has too many columns." msgstr "Запрос возвращает больше столбцов." -#: executor/execExpr.c:645 executor/nodeModifyTable.c:226 +#: executor/execExpr.c:650 executor/nodeModifyTable.c:232 #, c-format msgid "Query provides a value for a dropped column at ordinal position %d." msgstr "" "Запрос выдаёт значение для удалённого столбца (с порядковым номером %d)." -#: executor/execExpr.c:651 executor/execExprInterp.c:4252 -#: executor/nodeModifyTable.c:209 +#: executor/execExpr.c:656 executor/execExprInterp.c:4858 +#: executor/nodeModifyTable.c:215 #, c-format msgid "Table has type %s at ordinal position %d, but query expects %s." msgstr "" "В таблице определён тип %s (номер столбца: %d), а в запросе предполагается " "%s." -#: executor/execExpr.c:1099 parser/parse_agg.c:838 +#: executor/execExpr.c:1104 parser/parse_agg.c:838 #, c-format msgid "window function calls cannot be nested" msgstr "вложенные вызовы оконных функций недопустимы" -#: executor/execExpr.c:1618 +#: executor/execExpr.c:1641 #, c-format msgid "target type is not an array" msgstr "целевой тип не является массивом" -#: executor/execExpr.c:1958 +#: executor/execExpr.c:1981 #, c-format msgid "ROW() column has type %s instead of type %s" msgstr "столбец ROW() имеет тип %s, а должен - %s" -#: executor/execExpr.c:2574 executor/execSRF.c:719 parser/parse_func.c:138 -#: parser/parse_func.c:655 parser/parse_func.c:1032 +#: executor/execExpr.c:2645 executor/execSRF.c:718 parser/parse_func.c:138 +#: parser/parse_func.c:655 parser/parse_func.c:1033 #, c-format msgid "cannot pass more than %d argument to a function" msgid_plural "cannot pass more than %d arguments to a function" @@ -14669,60 +15216,60 @@ msgstr[0] "функции нельзя передать больше %d аргу msgstr[1] "функции нельзя передать больше %d аргументов" msgstr[2] "функции нельзя передать больше %d аргументов" -#: executor/execExpr.c:2601 executor/execSRF.c:739 executor/functions.c:1067 -#: utils/adt/jsonfuncs.c:3780 utils/fmgr/funcapi.c:89 utils/fmgr/funcapi.c:143 +#: executor/execExpr.c:2672 executor/execSRF.c:738 executor/functions.c:1068 +#: utils/adt/jsonfuncs.c:4054 utils/fmgr/funcapi.c:89 utils/fmgr/funcapi.c:143 #, c-format msgid "set-valued function called in context that cannot accept a set" msgstr "" "функция, возвращающая множество, вызвана в контексте, где ему нет места" -#: executor/execExpr.c:3007 parser/parse_node.c:277 parser/parse_node.c:327 +#: executor/execExpr.c:3078 parser/parse_node.c:272 parser/parse_node.c:322 #, c-format msgid "cannot subscript type %s because it does not support subscripting" msgstr "" "к элементам типа %s нельзя обращаться по индексам, так как он это не " "поддерживает" -#: executor/execExpr.c:3135 executor/execExpr.c:3157 +#: executor/execExpr.c:3206 executor/execExpr.c:3228 #, c-format msgid "type %s does not support subscripted assignment" msgstr "тип %s не поддерживает изменение элемента по индексу" -#: executor/execExprInterp.c:1962 +#: executor/execExprInterp.c:2007 #, c-format msgid "attribute %d of type %s has been dropped" msgstr "атрибут %d типа %s был удалён" -#: executor/execExprInterp.c:1968 +#: executor/execExprInterp.c:2013 #, c-format msgid "attribute %d of type %s has wrong type" msgstr "атрибут %d типа %s имеет неправильный тип" -#: executor/execExprInterp.c:1970 executor/execExprInterp.c:3104 -#: executor/execExprInterp.c:3150 +#: executor/execExprInterp.c:2015 executor/execExprInterp.c:3214 +#: executor/execExprInterp.c:3260 #, c-format msgid "Table has type %s, but query expects %s." msgstr "В таблице задан тип %s, а в запросе ожидается %s." -#: executor/execExprInterp.c:2050 utils/adt/expandedrecord.c:99 -#: utils/adt/expandedrecord.c:231 utils/cache/typcache.c:1749 -#: utils/cache/typcache.c:1908 utils/cache/typcache.c:2055 +#: executor/execExprInterp.c:2095 utils/adt/expandedrecord.c:99 +#: utils/adt/expandedrecord.c:231 utils/cache/typcache.c:1752 +#: utils/cache/typcache.c:1911 utils/cache/typcache.c:2058 #: utils/fmgr/funcapi.c:569 #, c-format msgid "type %s is not composite" msgstr "тип %s не является составным" -#: executor/execExprInterp.c:2588 +#: executor/execExprInterp.c:2698 #, c-format msgid "WHERE CURRENT OF is not supported for this table type" msgstr "WHERE CURRENT OF для таблиц такого типа не поддерживается" -#: executor/execExprInterp.c:2801 +#: executor/execExprInterp.c:2911 #, c-format msgid "cannot merge incompatible arrays" msgstr "не удалось объединить несовместимые массивы" -#: executor/execExprInterp.c:2802 +#: executor/execExprInterp.c:2912 #, c-format msgid "" "Array with element type %s cannot be included in ARRAY construct with " @@ -14731,16 +15278,15 @@ msgstr "" "Массив с типом элементов %s нельзя включить в конструкцию ARRAY с типом " "элементов %s." -#: executor/execExprInterp.c:2823 utils/adt/arrayfuncs.c:266 -#: utils/adt/arrayfuncs.c:576 utils/adt/arrayfuncs.c:1330 -#: utils/adt/arrayfuncs.c:3532 utils/adt/arrayfuncs.c:5616 -#: utils/adt/arrayfuncs.c:6133 utils/adt/arraysubs.c:150 +#: executor/execExprInterp.c:2933 utils/adt/arrayfuncs.c:1305 +#: utils/adt/arrayfuncs.c:3503 utils/adt/arrayfuncs.c:5593 +#: utils/adt/arrayfuncs.c:6110 utils/adt/arraysubs.c:150 #: utils/adt/arraysubs.c:488 #, c-format msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)" msgstr "число размерностей массива (%d) превышает предел (%d)" -#: executor/execExprInterp.c:2843 executor/execExprInterp.c:2878 +#: executor/execExprInterp.c:2953 executor/execExprInterp.c:2988 #, c-format msgid "" "multidimensional arrays must have array expressions with matching dimensions" @@ -14748,35 +15294,53 @@ msgstr "" "для многомерных массивов должны задаваться выражения с соответствующими " "размерностями" -#: executor/execExprInterp.c:2855 utils/adt/array_expanded.c:274 -#: utils/adt/arrayfuncs.c:960 utils/adt/arrayfuncs.c:1569 -#: utils/adt/arrayfuncs.c:2377 utils/adt/arrayfuncs.c:2392 -#: utils/adt/arrayfuncs.c:2654 utils/adt/arrayfuncs.c:2670 -#: utils/adt/arrayfuncs.c:2978 utils/adt/arrayfuncs.c:2993 -#: utils/adt/arrayfuncs.c:3334 utils/adt/arrayfuncs.c:3562 -#: utils/adt/arrayfuncs.c:6225 utils/adt/arrayfuncs.c:6566 -#: utils/adt/arrayutils.c:98 utils/adt/arrayutils.c:107 -#: utils/adt/arrayutils.c:114 +#: executor/execExprInterp.c:2965 utils/adt/array_expanded.c:274 +#: utils/adt/arrayfuncs.c:335 utils/adt/arrayfuncs.c:494 +#: utils/adt/arrayfuncs.c:727 utils/adt/arrayfuncs.c:1533 +#: utils/adt/arrayfuncs.c:2341 utils/adt/arrayfuncs.c:2356 +#: utils/adt/arrayfuncs.c:2618 utils/adt/arrayfuncs.c:2634 +#: utils/adt/arrayfuncs.c:2895 utils/adt/arrayfuncs.c:2949 +#: utils/adt/arrayfuncs.c:2964 utils/adt/arrayfuncs.c:3305 +#: utils/adt/arrayfuncs.c:3533 utils/adt/arrayfuncs.c:5365 +#: utils/adt/arrayfuncs.c:6202 utils/adt/arrayfuncs.c:6546 +#: utils/adt/arrayutils.c:83 utils/adt/arrayutils.c:92 +#: utils/adt/arrayutils.c:99 #, c-format msgid "array size exceeds the maximum allowed (%d)" msgstr "размер массива превышает предел (%d)" -#: executor/execExprInterp.c:3103 executor/execExprInterp.c:3149 +#: executor/execExprInterp.c:3213 executor/execExprInterp.c:3259 #, c-format msgid "attribute %d has wrong type" msgstr "атрибут %d имеет неверный тип" -#: executor/execExprInterp.c:3735 utils/adt/domains.c:155 +#: executor/execExprInterp.c:3845 utils/adt/domains.c:158 #, c-format msgid "domain %s does not allow null values" msgstr "домен %s не допускает значения null" -#: executor/execExprInterp.c:3750 utils/adt/domains.c:193 +#: executor/execExprInterp.c:3860 utils/adt/domains.c:196 #, c-format msgid "value for domain %s violates check constraint \"%s\"" msgstr "значение домена %s нарушает ограничение-проверку \"%s\"" -#: executor/execExprInterp.c:4235 +#: executor/execExprInterp.c:4435 +#, c-format +msgid "no SQL/JSON item found for specified path of column \"%s\"" +msgstr "по заданному для столбца \"%s\" пути не найден элемент SQL/JSON" + +#: executor/execExprInterp.c:4440 +#, c-format +msgid "no SQL/JSON item found for specified path" +msgstr "по заданному пути не найден элемент SQL/JSON" + +#. translator: first %s is a SQL/JSON clause (e.g. ON ERROR) +#: executor/execExprInterp.c:4640 executor/execExprInterp.c:4648 +#, c-format +msgid "could not coerce %s expression (%s) to the RETURNING type" +msgstr "привести выражение %s (%s) к типу RETURNING не удалось" + +#: executor/execExprInterp.c:4841 #, c-format msgid "Table row contains %d attribute, but query expects %d." msgid_plural "Table row contains %d attributes, but query expects %d." @@ -14784,14 +15348,14 @@ msgstr[0] "Строка таблицы содержит %d атрибут, а в msgstr[1] "Строка таблицы содержит %d атрибута, а в запросе ожидается %d." msgstr[2] "Строка таблицы содержит %d атрибутов, а в запросе ожидается %d." -#: executor/execExprInterp.c:4351 executor/execSRF.c:978 +#: executor/execExprInterp.c:4957 executor/execSRF.c:977 #, c-format msgid "Physical storage mismatch on dropped attribute at ordinal position %d." msgstr "" "Несоответствие параметров физического хранения удалённого атрибута (под " "номером %d)." -#: executor/execIndexing.c:588 +#: executor/execIndexing.c:593 #, c-format msgid "" "ON CONFLICT does not support deferrable unique constraints/exclusion " @@ -14800,207 +15364,159 @@ msgstr "" "ON CONFLICT не поддерживает откладываемые ограничения уникальности/" "ограничения-исключения в качестве определяющего индекса" -#: executor/execIndexing.c:865 +#: executor/execIndexing.c:870 #, c-format msgid "could not create exclusion constraint \"%s\"" msgstr "не удалось создать ограничение-исключение \"%s\"" -#: executor/execIndexing.c:868 +#: executor/execIndexing.c:873 #, c-format msgid "Key %s conflicts with key %s." msgstr "Ключ %s конфликтует с ключом %s." -#: executor/execIndexing.c:870 +#: executor/execIndexing.c:875 #, c-format msgid "Key conflicts exist." msgstr "Обнаружен конфликт ключей." -#: executor/execIndexing.c:876 +#: executor/execIndexing.c:881 #, c-format msgid "conflicting key value violates exclusion constraint \"%s\"" msgstr "конфликтующее значение ключа нарушает ограничение-исключение \"%s\"" -#: executor/execIndexing.c:879 +#: executor/execIndexing.c:884 #, c-format msgid "Key %s conflicts with existing key %s." msgstr "Ключ %s конфликтует с существующим ключом %s." -#: executor/execIndexing.c:881 +#: executor/execIndexing.c:886 #, c-format msgid "Key conflicts with existing key." msgstr "Ключ конфликтует с уже существующим." -#: executor/execMain.c:1039 +#: executor/execMain.c:1047 #, c-format msgid "cannot change sequence \"%s\"" msgstr "последовательность \"%s\" изменить нельзя" -#: executor/execMain.c:1045 +#: executor/execMain.c:1053 #, c-format msgid "cannot change TOAST relation \"%s\"" msgstr "TOAST-отношение \"%s\" изменить нельзя" -#: executor/execMain.c:1063 rewrite/rewriteHandler.c:3079 -#: rewrite/rewriteHandler.c:3966 -#, c-format -msgid "cannot insert into view \"%s\"" -msgstr "вставить данные в представление \"%s\" нельзя" - -#: executor/execMain.c:1065 rewrite/rewriteHandler.c:3082 -#: rewrite/rewriteHandler.c:3969 -#, 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." - -#: executor/execMain.c:1071 rewrite/rewriteHandler.c:3087 -#: rewrite/rewriteHandler.c:3974 -#, c-format -msgid "cannot update view \"%s\"" -msgstr "изменить данные в представлении \"%s\" нельзя" - -#: executor/execMain.c:1073 rewrite/rewriteHandler.c:3090 -#: rewrite/rewriteHandler.c:3977 -#, 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." - -#: executor/execMain.c:1079 rewrite/rewriteHandler.c:3095 -#: rewrite/rewriteHandler.c:3982 -#, c-format -msgid "cannot delete from view \"%s\"" -msgstr "удалить данные из представления \"%s\" нельзя" - -#: executor/execMain.c:1081 rewrite/rewriteHandler.c:3098 -#: rewrite/rewriteHandler.c:3985 -#, 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." - -#: executor/execMain.c:1092 +#: executor/execMain.c:1072 #, c-format msgid "cannot change materialized view \"%s\"" msgstr "изменить материализованное представление \"%s\" нельзя" -#: executor/execMain.c:1104 +#: executor/execMain.c:1084 #, c-format msgid "cannot insert into foreign table \"%s\"" msgstr "вставлять данные в стороннюю таблицу \"%s\" нельзя" -#: executor/execMain.c:1110 +#: executor/execMain.c:1090 #, c-format msgid "foreign table \"%s\" does not allow inserts" msgstr "сторонняя таблица \"%s\" не допускает добавления" -#: executor/execMain.c:1117 +#: executor/execMain.c:1097 #, c-format msgid "cannot update foreign table \"%s\"" msgstr "изменять данные в сторонней таблице \"%s\"" -#: executor/execMain.c:1123 +#: executor/execMain.c:1103 #, c-format msgid "foreign table \"%s\" does not allow updates" msgstr "сторонняя таблица \"%s\" не допускает изменения" -#: executor/execMain.c:1130 +#: executor/execMain.c:1110 #, c-format msgid "cannot delete from foreign table \"%s\"" msgstr "удалять данные из сторонней таблицы \"%s\" нельзя" -#: executor/execMain.c:1136 +#: executor/execMain.c:1116 #, c-format msgid "foreign table \"%s\" does not allow deletes" msgstr "сторонняя таблица \"%s\" не допускает удаления" -#: executor/execMain.c:1147 +#: executor/execMain.c:1127 #, c-format msgid "cannot change relation \"%s\"" msgstr "отношение \"%s\" изменить нельзя" -#: executor/execMain.c:1174 +#: executor/execMain.c:1154 #, c-format msgid "cannot lock rows in sequence \"%s\"" msgstr "блокировать строки в последовательности \"%s\" нельзя" -#: executor/execMain.c:1181 +#: executor/execMain.c:1161 #, c-format msgid "cannot lock rows in TOAST relation \"%s\"" msgstr "блокировать строки в TOAST-отношении \"%s\" нельзя" -#: executor/execMain.c:1188 +#: executor/execMain.c:1168 #, c-format msgid "cannot lock rows in view \"%s\"" msgstr "блокировать строки в представлении \"%s\" нельзя" -#: executor/execMain.c:1196 +#: executor/execMain.c:1176 #, c-format msgid "cannot lock rows in materialized view \"%s\"" msgstr "блокировать строки в материализованном представлении \"%s\" нельзя" -#: executor/execMain.c:1205 executor/execMain.c:2708 +#: executor/execMain.c:1185 executor/execMain.c:2692 #: executor/nodeLockRows.c:135 #, c-format msgid "cannot lock rows in foreign table \"%s\"" msgstr "блокировать строки в сторонней таблице \"%s\" нельзя" -#: executor/execMain.c:1211 +#: executor/execMain.c:1191 #, c-format msgid "cannot lock rows in relation \"%s\"" msgstr "блокировать строки в отношении \"%s\" нельзя" -#: executor/execMain.c:1922 +#: executor/execMain.c:1906 #, c-format msgid "new row for relation \"%s\" violates partition constraint" msgstr "новая строка в отношении \"%s\" нарушает ограничение секции" -#: executor/execMain.c:1924 executor/execMain.c:2008 executor/execMain.c:2059 -#: executor/execMain.c:2169 +#: executor/execMain.c:1908 executor/execMain.c:1992 executor/execMain.c:2043 +#: executor/execMain.c:2153 #, c-format msgid "Failing row contains %s." msgstr "Ошибочная строка содержит %s." -#: executor/execMain.c:2005 +#: executor/execMain.c:1989 #, c-format msgid "" "null value in column \"%s\" of relation \"%s\" violates not-null constraint" msgstr "" "значение NULL в столбце \"%s\" отношения \"%s\" нарушает ограничение NOT NULL" -#: executor/execMain.c:2057 +#: executor/execMain.c:2041 #, c-format msgid "new row for relation \"%s\" violates check constraint \"%s\"" msgstr "новая строка в отношении \"%s\" нарушает ограничение-проверку \"%s\"" -#: executor/execMain.c:2167 +#: executor/execMain.c:2151 #, c-format msgid "new row violates check option for view \"%s\"" msgstr "новая строка нарушает ограничение-проверку для представления \"%s\"" -#: executor/execMain.c:2177 +#: executor/execMain.c:2161 #, c-format msgid "new row violates row-level security policy \"%s\" for table \"%s\"" msgstr "" "новая строка нарушает политику защиты на уровне строк \"%s\" для таблицы " "\"%s\"" -#: executor/execMain.c:2182 +#: executor/execMain.c:2166 #, c-format msgid "new row violates row-level security policy for table \"%s\"" msgstr "" "новая строка нарушает политику защиты на уровне строк для таблицы \"%s\"" -#: executor/execMain.c:2190 +#: executor/execMain.c:2174 #, c-format msgid "" "target row violates row-level security policy \"%s\" (USING expression) for " @@ -15009,7 +15525,7 @@ msgstr "" "целевая строка нарушает политику защиты на уровне строк \"%s\" (выражение " "USING) для таблицы \"%s\"" -#: executor/execMain.c:2195 +#: executor/execMain.c:2179 #, c-format msgid "" "target row violates row-level security policy (USING expression) for table " @@ -15018,7 +15534,7 @@ msgstr "" "новая строка нарушает политику защиты на уровне строк (выражение USING) для " "таблицы \"%s\"" -#: executor/execMain.c:2202 +#: executor/execMain.c:2186 #, c-format msgid "" "new row violates row-level security policy \"%s\" (USING expression) for " @@ -15027,7 +15543,7 @@ msgstr "" "новая строка нарушает политику защиты на уровне строк \"%s\" (выражение " "USING) для таблицы \"%s\"" -#: executor/execMain.c:2207 +#: executor/execMain.c:2191 #, c-format msgid "" "new row violates row-level security policy (USING expression) for table " @@ -15036,17 +15552,17 @@ msgstr "" "новая строка нарушает политику защиты на уровне строк (выражение USING) для " "таблицы \"%s\"" -#: executor/execPartition.c:330 +#: executor/execPartition.c:327 #, c-format msgid "no partition of relation \"%s\" found for row" msgstr "для строки не найдена секция в отношении \"%s\"" -#: executor/execPartition.c:333 +#: executor/execPartition.c:330 #, c-format msgid "Partition key of the failing row contains %s." msgstr "Ключ секционирования для неподходящей строки содержит %s." -#: executor/execReplication.c:231 executor/execReplication.c:415 +#: executor/execReplication.c:272 executor/execReplication.c:456 #, c-format msgid "" "tuple to be locked was already moved to another partition due to concurrent " @@ -15055,31 +15571,31 @@ msgstr "" "кортеж, подлежащий блокировке, был перемещён в другую секцию в результате " "параллельного изменения; следует повторная попытка" -#: executor/execReplication.c:235 executor/execReplication.c:419 +#: executor/execReplication.c:276 executor/execReplication.c:460 #, c-format msgid "concurrent update, retrying" msgstr "параллельное изменение; следует повторная попытка" -#: executor/execReplication.c:241 executor/execReplication.c:425 +#: executor/execReplication.c:282 executor/execReplication.c:466 #, c-format msgid "concurrent delete, retrying" msgstr "параллельное удаление; следует повторная попытка" -#: executor/execReplication.c:311 parser/parse_cte.c:308 -#: parser/parse_oper.c:233 utils/adt/array_userfuncs.c:1348 -#: utils/adt/array_userfuncs.c:1491 utils/adt/arrayfuncs.c:3881 -#: utils/adt/arrayfuncs.c:4436 utils/adt/arrayfuncs.c:6446 -#: utils/adt/rowtypes.c:1230 +#: executor/execReplication.c:352 parser/parse_cte.c:302 +#: 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:6426 +#: utils/adt/rowtypes.c:1220 #, c-format msgid "could not identify an equality operator for type %s" msgstr "не удалось найти оператор равенства для типа %s" -#: executor/execReplication.c:642 executor/execReplication.c:648 +#: executor/execReplication.c:687 executor/execReplication.c:693 #, c-format msgid "cannot update table \"%s\"" msgstr "изменять данные в таблице \"%s\" нельзя" -#: executor/execReplication.c:644 executor/execReplication.c:656 +#: executor/execReplication.c:689 executor/execReplication.c:701 #, c-format msgid "" "Column used in the publication WHERE expression is not part of the replica " @@ -15088,7 +15604,7 @@ msgstr "" "Столбец, фигурирующий в выражении WHERE публикации, не входит в " "идентификатор реплики." -#: executor/execReplication.c:650 executor/execReplication.c:662 +#: executor/execReplication.c:695 executor/execReplication.c:707 #, c-format msgid "" "Column list used by the publication does not cover the replica identity." @@ -15096,12 +15612,12 @@ msgstr "" "Список столбцов, используемых в публикации, не покрывает идентификатор " "реплики." -#: executor/execReplication.c:654 executor/execReplication.c:660 +#: executor/execReplication.c:699 executor/execReplication.c:705 #, c-format msgid "cannot delete from table \"%s\"" msgstr "удалять данные из таблицы \"%s\" нельзя" -#: executor/execReplication.c:680 +#: executor/execReplication.c:725 #, c-format msgid "" "cannot update table \"%s\" because it does not have a replica identity and " @@ -15110,14 +15626,14 @@ msgstr "" "изменение в таблице \"%s\" невозможно, так как в ней отсутствует " "идентификатор реплики, но она публикует изменения" -#: executor/execReplication.c:682 +#: executor/execReplication.c:727 #, c-format msgid "To enable updating the table, set REPLICA IDENTITY using ALTER TABLE." msgstr "" "Чтобы эта таблица поддерживала изменение, установите REPLICA IDENTITY, " "выполнив ALTER TABLE." -#: executor/execReplication.c:686 +#: executor/execReplication.c:731 #, c-format msgid "" "cannot delete from table \"%s\" because it does not have a replica identity " @@ -15126,7 +15642,7 @@ msgstr "" "удаление из таблицы \"%s\" невозможно, так как в ней отсутствует " "идентификатор реплики, но она публикует удаления" -#: executor/execReplication.c:688 +#: executor/execReplication.c:733 #, c-format msgid "" "To enable deleting from the table, set REPLICA IDENTITY using ALTER TABLE." @@ -15134,34 +15650,34 @@ msgstr "" "Чтобы эта таблица поддерживала удаление, установите REPLICA IDENTITY, " "выполнив ALTER TABLE." -#: executor/execReplication.c:704 +#: executor/execReplication.c:749 #, c-format msgid "cannot use relation \"%s.%s\" as logical replication target" msgstr "" "в качестве целевого отношения для логической репликации нельзя использовать " "\"%s.%s\"" -#: executor/execSRF.c:316 +#: executor/execSRF.c:315 #, c-format msgid "rows returned by function are not all of the same row type" msgstr "строки, возвращённые функцией, имеют разные типы" -#: executor/execSRF.c:366 +#: executor/execSRF.c:365 #, c-format msgid "table-function protocol for value-per-call mode was not followed" msgstr "нарушение протокола табличной функции в режиме вызов-значение" -#: executor/execSRF.c:374 executor/execSRF.c:668 +#: executor/execSRF.c:373 executor/execSRF.c:667 #, c-format msgid "table-function protocol for materialize mode was not followed" msgstr "нарушение протокола табличной функции в режиме материализации" -#: executor/execSRF.c:381 executor/execSRF.c:686 +#: executor/execSRF.c:380 executor/execSRF.c:685 #, c-format msgid "unrecognized table-function returnMode: %d" msgstr "нераспознанный режим возврата табличной функции: %d" -#: executor/execSRF.c:895 +#: executor/execSRF.c:894 #, c-format msgid "" "function returning setof record called in context that cannot accept type " @@ -15170,12 +15686,12 @@ msgstr "" "функция, возвращающая запись SET OF, вызвана в контексте, не допускающем " "этот тип" -#: executor/execSRF.c:951 executor/execSRF.c:967 executor/execSRF.c:977 +#: executor/execSRF.c:950 executor/execSRF.c:966 executor/execSRF.c:976 #, c-format msgid "function return row and query-specified return row do not match" msgstr "тип результат функции отличается от типа строки-результата запроса" -#: executor/execSRF.c:952 +#: executor/execSRF.c:951 #, c-format msgid "Returned row contains %d attribute, but query expects %d." msgid_plural "Returned row contains %d attributes, but query expects %d." @@ -15185,23 +15701,33 @@ msgstr[1] "" msgstr[2] "" "Возвращённая строка содержит %d атрибутов, но запрос предполагает %d." -#: executor/execSRF.c:968 +#: executor/execSRF.c:967 #, c-format msgid "Returned type %s at ordinal position %d, but query expects %s." msgstr "Возвращён тип %s (номер столбца: %d), а в запросе предполагается %s." -#: executor/execTuples.c:146 executor/execTuples.c:353 -#: executor/execTuples.c:521 executor/execTuples.c:713 +#: executor/execTuples.c:147 executor/execTuples.c:368 +#: executor/execTuples.c:563 executor/execTuples.c:772 #, c-format msgid "cannot retrieve a system column in this context" msgstr "системный столбец нельзя получить в данном контексте" -#: executor/execUtils.c:744 +#: executor/execTuples.c:163 executor/execTuples.c:580 +#, c-format +msgid "don't have transaction information for this type of tuple" +msgstr "для этого типа кортежей транзакционная информация отсутствует" + +#: executor/execTuples.c:390 executor/execTuples.c:794 +#, c-format +msgid "don't have a storage tuple in this context" +msgstr "в данном контексте хранимый кортеж отсутствует" + +#: executor/execUtils.c:713 #, c-format msgid "materialized view \"%s\" has not been populated" msgstr "материализованное представление \"%s\" не было наполнено" -#: executor/execUtils.c:746 +#: executor/execUtils.c:715 #, c-format msgid "Use the REFRESH MATERIALIZED VIEW command." msgstr "Примените команду REFRESH MATERIALIZED VIEW." @@ -15211,119 +15737,120 @@ msgstr "Примените команду REFRESH MATERIALIZED VIEW." msgid "could not determine actual type of argument declared %s" msgstr "не удалось определить фактический тип аргумента, объявленного как %s" -#: executor/functions.c:512 +#: executor/functions.c:513 #, c-format msgid "cannot COPY to/from client in an SQL function" msgstr "в функции SQL нельзя выполнить COPY с участием клиента" #. translator: %s is a SQL statement name -#: executor/functions.c:518 +#: executor/functions.c:519 #, c-format msgid "%s is not allowed in an SQL function" msgstr "%s нельзя использовать в SQL-функции" #. translator: %s is a SQL statement name -#: executor/functions.c:526 executor/spi.c:1742 executor/spi.c:2635 +#: executor/functions.c:527 executor/spi.c:1744 executor/spi.c:2657 #, c-format msgid "%s is not allowed in a non-volatile function" msgstr "%s нельзя использовать в не изменчивой (volatile) функции" -#: executor/functions.c:1451 +#: executor/functions.c:1452 #, c-format msgid "SQL function \"%s\" statement %d" msgstr "SQL-функция \"%s\", оператор %d" -#: executor/functions.c:1477 +#: executor/functions.c:1478 #, c-format msgid "SQL function \"%s\" during startup" msgstr "SQL-функция \"%s\" (при старте)" -#: executor/functions.c:1562 +#: executor/functions.c:1563 #, c-format msgid "" "calling procedures with output arguments is not supported in SQL functions" msgstr "" "вызов процедур с выходными аргументами в функциях SQL не поддерживается" -#: executor/functions.c:1710 executor/functions.c:1748 -#: executor/functions.c:1762 executor/functions.c:1857 -#: executor/functions.c:1890 executor/functions.c:1904 +#: executor/functions.c:1698 executor/functions.c:1736 +#: executor/functions.c:1750 executor/functions.c:1845 +#: executor/functions.c:1878 executor/functions.c:1892 #, c-format msgid "return type mismatch in function declared to return %s" msgstr "несовпадение типа возврата в функции (в объявлении указан тип %s)" -#: executor/functions.c:1712 +#: executor/functions.c:1700 #, c-format msgid "" -"Function's final statement must be SELECT or INSERT/UPDATE/DELETE RETURNING." -msgstr "" -"Последним оператором в функции должен быть SELECT или INSERT/UPDATE/DELETE " +"Function's final statement must be SELECT or INSERT/UPDATE/DELETE/MERGE " "RETURNING." +msgstr "" +"Последним оператором в функции должен быть SELECT или INSERT/UPDATE/DELETE/" +"MERGE RETURNING." -#: executor/functions.c:1750 +#: executor/functions.c:1738 #, c-format msgid "Final statement must return exactly one column." msgstr "Последний оператор должен возвращать один столбец." -#: executor/functions.c:1764 +#: executor/functions.c:1752 #, c-format msgid "Actual return type is %s." msgstr "Фактический тип возврата: %s." -#: executor/functions.c:1859 +#: executor/functions.c:1847 #, c-format msgid "Final statement returns too many columns." msgstr "Последний оператор возвращает слишком много столбцов." -#: executor/functions.c:1892 +#: executor/functions.c:1880 #, c-format msgid "Final statement returns %s instead of %s at column %d." msgstr "Последний оператор возвращает %s вместо %s для столбца %d." -#: executor/functions.c:1906 +#: executor/functions.c:1894 #, c-format msgid "Final statement returns too few columns." msgstr "Последний оператор возвращает слишком мало столбцов." -#: executor/functions.c:1934 +#: executor/functions.c:1922 #, c-format msgid "return type %s is not supported for SQL functions" msgstr "для SQL-функций тип возврата %s не поддерживается" -#: executor/nodeAgg.c:3937 executor/nodeWindowAgg.c:2993 +#: executor/nodeAgg.c:3936 executor/nodeWindowAgg.c:2976 #, c-format msgid "aggregate %u needs to have compatible input type and transition type" msgstr "" "агрегатная функция %u должна иметь совместимые входной и переходный типы" -#: executor/nodeAgg.c:3967 parser/parse_agg.c:680 parser/parse_agg.c:708 +#: executor/nodeAgg.c:3966 parser/parse_agg.c:680 parser/parse_agg.c:708 #, c-format msgid "aggregate function calls cannot be nested" msgstr "вложенные вызовы агрегатных функций недопустимы" -#: executor/nodeCustom.c:154 executor/nodeCustom.c:165 +#: executor/nodeCustom.c:144 executor/nodeCustom.c:155 #, c-format msgid "custom scan \"%s\" does not support MarkPos" msgstr "нестандартное сканирование \"%s\" не поддерживает MarkPos" -#: executor/nodeHashjoin.c:1143 executor/nodeHashjoin.c:1173 +#: executor/nodeHashjoin.c:1131 executor/nodeHashjoin.c:1161 #, c-format msgid "could not rewind hash-join temporary file" msgstr "не удалось переместиться во временном файле хеш-соединения" -#: executor/nodeIndexonlyscan.c:240 +#: executor/nodeIndexonlyscan.c:239 #, c-format msgid "lossy distance functions are not supported in index-only scans" msgstr "" "функции неточного расстояния не поддерживаются в сканировании только по " "индексу" -#: executor/nodeLimit.c:374 +#: executor/nodeLimit.c:373 #, c-format msgid "OFFSET must not be negative" msgstr "OFFSET не может быть отрицательным" -#: executor/nodeLimit.c:400 +#: executor/nodeLimit.c:399 #, c-format msgid "LIMIT must not be negative" msgstr "LIMIT не может быть отрицательным" @@ -15341,12 +15868,12 @@ msgid "FULL JOIN is only supported with merge-joinable join conditions" msgstr "" "FULL JOIN поддерживается только с условиями, допускающими соединение слиянием" -#: executor/nodeModifyTable.c:234 +#: executor/nodeModifyTable.c:240 #, c-format msgid "Query has too few columns." msgstr "Запрос возвращает меньше столбцов." -#: executor/nodeModifyTable.c:1534 executor/nodeModifyTable.c:1608 +#: executor/nodeModifyTable.c:1540 executor/nodeModifyTable.c:1614 #, c-format msgid "" "tuple to be deleted was already modified by an operation triggered by the " @@ -15355,12 +15882,12 @@ msgstr "" "кортеж, который должен быть удалён, уже модифицирован в операции, вызванной " "текущей командой" -#: executor/nodeModifyTable.c:1763 +#: executor/nodeModifyTable.c:1769 #, c-format msgid "invalid ON UPDATE specification" msgstr "неверное указание ON UPDATE" -#: executor/nodeModifyTable.c:1764 +#: executor/nodeModifyTable.c:1770 #, c-format msgid "" "The result tuple would appear in a different partition than the original " @@ -15369,7 +15896,7 @@ msgstr "" "Результирующий кортеж окажется перемещённым из секции исходного кортежа в " "другую." -#: executor/nodeModifyTable.c:2223 +#: executor/nodeModifyTable.c:2226 #, c-format msgid "" "cannot move tuple across partitions when a non-root ancestor of the source " @@ -15378,26 +15905,26 @@ msgstr "" "нельзя переместить кортеж между секциями, когда внешний ключ непосредственно " "ссылается на предка исходной секции, который не является корнем иерархии" -#: executor/nodeModifyTable.c:2224 +#: executor/nodeModifyTable.c:2227 #, c-format msgid "" "A foreign key points to ancestor \"%s\" but not the root ancestor \"%s\"." msgstr "" "Внешний ключ ссылается на предка \"%s\", а не на корневого предка \"%s\"." -#: executor/nodeModifyTable.c:2227 +#: executor/nodeModifyTable.c:2230 #, c-format msgid "Consider defining the foreign key on table \"%s\"." msgstr "Возможно, имеет смысл перенацелить внешний ключ на таблицу \"%s\"." #. translator: %s is a SQL command name -#: executor/nodeModifyTable.c:2573 executor/nodeModifyTable.c:2996 -#: executor/nodeModifyTable.c:3123 +#: executor/nodeModifyTable.c:2596 executor/nodeModifyTable.c:3138 +#: executor/nodeModifyTable.c:3308 #, c-format msgid "%s command cannot affect row a second time" msgstr "команда %s не может подействовать на строку дважды" -#: executor/nodeModifyTable.c:2575 +#: executor/nodeModifyTable.c:2598 #, c-format msgid "" "Ensure that no rows proposed for insertion within the same command have " @@ -15406,7 +15933,7 @@ msgstr "" "Проверьте, не содержат ли строки, которые должна добавить команда, " "дублирующиеся значения, подпадающие под ограничения." -#: executor/nodeModifyTable.c:2989 executor/nodeModifyTable.c:3116 +#: executor/nodeModifyTable.c:3131 executor/nodeModifyTable.c:3301 #, c-format msgid "" "tuple to be updated or deleted was already modified by an operation " @@ -15415,28 +15942,28 @@ msgstr "" "кортеж, который должен быть изменён или удалён, уже модифицирован в " "операции, вызванной текущей командой" -#: executor/nodeModifyTable.c:2998 executor/nodeModifyTable.c:3125 +#: executor/nodeModifyTable.c:3140 executor/nodeModifyTable.c:3310 #, c-format msgid "Ensure that not more than one source row matches any one target row." msgstr "" "Проверьте, не может ли какой-либо целевой строке соответствовать более одной " "исходной строки." -#: executor/nodeModifyTable.c:3080 +#: executor/nodeModifyTable.c:3209 #, c-format msgid "" -"tuple to be deleted was already moved to another partition due to concurrent " +"tuple to be merged was already moved to another partition due to concurrent " "update" msgstr "" -"кортеж, подлежащий удалению, был перемещён в другую секцию в результате " +"кортеж, подлежащий объединению, был перемещён в другую секцию в результате " "параллельного изменения" -#: executor/nodeSamplescan.c:260 +#: executor/nodeSamplescan.c:244 #, c-format msgid "TABLESAMPLE parameter cannot be null" msgstr "параметр TABLESAMPLE не может быть NULL" -#: executor/nodeSamplescan.c:272 +#: executor/nodeSamplescan.c:256 #, c-format msgid "TABLESAMPLE REPEATABLE parameter cannot be null" msgstr "параметр TABLESAMPLE REPEATABLE не может быть NULL" @@ -15447,7 +15974,7 @@ msgstr "параметр TABLESAMPLE REPEATABLE не может быть NULL" msgid "more than one row returned by a subquery used as an expression" msgstr "подзапрос в выражении вернул больше одной строки" -#: executor/nodeTableFuncscan.c:375 +#: executor/nodeTableFuncscan.c:370 #, c-format msgid "namespace URI must not be null" msgstr "URI пространства имён должен быть не NULL" @@ -15457,17 +15984,17 @@ msgstr "URI пространства имён должен быть не NULL" msgid "row filter expression must not be null" msgstr "выражение отбора строк должно быть не NULL" -#: executor/nodeTableFuncscan.c:415 +#: executor/nodeTableFuncscan.c:416 #, c-format msgid "column filter expression must not be null" msgstr "выражение отбора столбца должно быть не NULL" -#: executor/nodeTableFuncscan.c:416 +#: executor/nodeTableFuncscan.c:417 #, c-format msgid "Filter for column \"%s\" is null." msgstr "Для столбца \"%s\" задано выражение NULL." -#: executor/nodeTableFuncscan.c:506 +#: executor/nodeTableFuncscan.c:507 #, c-format msgid "null is not allowed in column \"%s\"" msgstr "в столбце \"%s\" не допускается NULL" @@ -15497,86 +16024,86 @@ msgstr "смещение конца рамки не может быть NULL" msgid "frame ending offset must not be negative" msgstr "смещение конца рамки не может быть отрицательным" -#: executor/nodeWindowAgg.c:2909 +#: executor/nodeWindowAgg.c:2892 #, c-format msgid "aggregate function %s does not support use as a window function" msgstr "" "агрегатная функция %s не поддерживает использование в качестве оконной " "функции" -#: executor/spi.c:242 executor/spi.c:342 +#: executor/spi.c:241 executor/spi.c:341 #, c-format msgid "invalid transaction termination" msgstr "неверное завершение транзакции" -#: executor/spi.c:257 +#: executor/spi.c:256 #, c-format msgid "cannot commit while a subtransaction is active" msgstr "фиксировать транзакцию при наличии активных подтранзакций нельзя" -#: executor/spi.c:348 +#: executor/spi.c:347 #, c-format msgid "cannot roll back while a subtransaction is active" msgstr "откатить транзакцию при наличии активных подтранзакций нельзя" -#: executor/spi.c:472 +#: executor/spi.c:471 #, c-format msgid "transaction left non-empty SPI stack" msgstr "после транзакции остался непустой стек SPI" -#: executor/spi.c:473 executor/spi.c:533 +#: executor/spi.c:472 executor/spi.c:532 #, c-format msgid "Check for missing \"SPI_finish\" calls." msgstr "Проверьте наличие вызова \"SPI_finish\"." -#: executor/spi.c:532 +#: executor/spi.c:531 #, c-format msgid "subtransaction left non-empty SPI stack" msgstr "после подтранзакции остался непустой стек SPI" -#: executor/spi.c:1600 +#: executor/spi.c:1602 #, c-format msgid "cannot open multi-query plan as cursor" msgstr "не удалось открыть план нескольких запросов как курсор" #. translator: %s is name of a SQL command, eg INSERT -#: executor/spi.c:1610 +#: executor/spi.c:1612 #, c-format msgid "cannot open %s query as cursor" msgstr "не удалось открыть запрос %s как курсор" -#: executor/spi.c:1716 +#: executor/spi.c:1718 #, c-format msgid "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE is not supported" msgstr "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE не поддерживается" -#: executor/spi.c:1717 parser/analyze.c:2923 +#: executor/spi.c:1719 parser/analyze.c:2928 #, c-format msgid "Scrollable cursors must be READ ONLY." msgstr "Прокручиваемые курсоры должны быть READ ONLY." -#: executor/spi.c:2474 +#: executor/spi.c:2496 #, c-format msgid "empty query does not return tuples" msgstr "пустой запрос не возвращает кортежи" #. translator: %s is name of a SQL command, eg INSERT -#: executor/spi.c:2548 +#: executor/spi.c:2570 #, c-format msgid "%s query does not return tuples" msgstr "запрос %s не возвращает кортежи" -#: executor/spi.c:2963 +#: executor/spi.c:2987 #, c-format msgid "SQL expression \"%s\"" msgstr "SQL-выражение \"%s\"" -#: executor/spi.c:2968 +#: executor/spi.c:2992 #, c-format msgid "PL/pgSQL assignment \"%s\"" msgstr "присваивание PL/pgSQL \"%s\"" -#: executor/spi.c:2971 +#: executor/spi.c:2995 #, c-format msgid "SQL statement \"%s\"" msgstr "SQL-оператор: \"%s\"" @@ -15586,28 +16113,34 @@ msgstr "SQL-оператор: \"%s\"" msgid "could not send tuple to shared-memory queue" msgstr "не удалось передать кортеж в очередь в разделяемой памяти" -#: foreign/foreign.c:222 +#: foreign/foreign.c:225 +#, c-format +msgid "user mapping not found for user \"%s\", server \"%s\"" +msgstr "сопоставление для пользователя \"%s\", сервера \"%s\" не найдено" + +#: foreign/foreign.c:336 optimizer/plan/createplan.c:7153 +#: optimizer/util/plancat.c:540 #, c-format -msgid "user mapping not found for \"%s\"" -msgstr "сопоставление пользователя для \"%s\" не найдено" +msgid "access to non-system foreign table is restricted" +msgstr "доступ к несистемным сторонним таблицам ограничен" -#: foreign/foreign.c:647 storage/file/fd.c:3931 +#: foreign/foreign.c:660 #, c-format msgid "invalid option \"%s\"" msgstr "неверный параметр \"%s\"" -#: foreign/foreign.c:649 +#: foreign/foreign.c:662 #, c-format msgid "Perhaps you meant the option \"%s\"." msgstr "Возможно, предполагался параметр \"%s\"." -#: foreign/foreign.c:651 +#: foreign/foreign.c:664 #, c-format msgid "There are no valid options in this context." msgstr "В данном контексте недопустимы никакие параметры." -#: lib/dshash.c:254 utils/mmgr/dsa.c:715 utils/mmgr/dsa.c:737 -#: utils/mmgr/dsa.c:818 +#: lib/dshash.c:254 utils/mmgr/dsa.c:708 utils/mmgr/dsa.c:730 +#: utils/mmgr/dsa.c:811 #, c-format msgid "Failed on DSA request of size %zu." msgstr "Ошибка при запросе памяти DSA (%zu Б)." @@ -15617,77 +16150,77 @@ msgstr "Ошибка при запросе памяти DSA (%zu Б)." msgid "expected SASL response, got message type %d" msgstr "ожидался ответ SASL, но получено сообщение %d" -#: libpq/auth-scram.c:270 +#: libpq/auth-scram.c:263 #, c-format msgid "client selected an invalid SASL authentication mechanism" msgstr "клиент выбрал неверный механизм аутентификации SASL" -#: libpq/auth-scram.c:294 libpq/auth-scram.c:543 libpq/auth-scram.c:554 +#: libpq/auth-scram.c:287 libpq/auth-scram.c:536 libpq/auth-scram.c:547 #, c-format msgid "invalid SCRAM secret for user \"%s\"" msgstr "неверная запись секрета SCRAM для пользователя \"%s\"" -#: libpq/auth-scram.c:305 +#: libpq/auth-scram.c:298 #, c-format msgid "User \"%s\" does not have a valid SCRAM secret." msgstr "Для пользователя \"%s\" нет подходящей записи секрета SCRAM." -#: libpq/auth-scram.c:385 libpq/auth-scram.c:390 libpq/auth-scram.c:744 -#: libpq/auth-scram.c:752 libpq/auth-scram.c:857 libpq/auth-scram.c:870 -#: libpq/auth-scram.c:880 libpq/auth-scram.c:988 libpq/auth-scram.c:995 -#: libpq/auth-scram.c:1010 libpq/auth-scram.c:1025 libpq/auth-scram.c:1039 -#: libpq/auth-scram.c:1057 libpq/auth-scram.c:1072 libpq/auth-scram.c:1386 -#: libpq/auth-scram.c:1394 +#: libpq/auth-scram.c:378 libpq/auth-scram.c:383 libpq/auth-scram.c:737 +#: libpq/auth-scram.c:745 libpq/auth-scram.c:850 libpq/auth-scram.c:863 +#: libpq/auth-scram.c:873 libpq/auth-scram.c:981 libpq/auth-scram.c:988 +#: libpq/auth-scram.c:1003 libpq/auth-scram.c:1018 libpq/auth-scram.c:1032 +#: libpq/auth-scram.c:1050 libpq/auth-scram.c:1065 libpq/auth-scram.c:1379 +#: libpq/auth-scram.c:1387 #, c-format msgid "malformed SCRAM message" msgstr "неправильное сообщение SCRAM" -#: libpq/auth-scram.c:386 +#: libpq/auth-scram.c:379 #, c-format msgid "The message is empty." msgstr "Сообщение пустое." -#: libpq/auth-scram.c:391 +#: libpq/auth-scram.c:384 #, c-format msgid "Message length does not match input length." msgstr "Длина сообщения не соответствует входной длине." -#: libpq/auth-scram.c:423 +#: libpq/auth-scram.c:416 #, c-format msgid "invalid SCRAM response" msgstr "неверный ответ SCRAM" -#: libpq/auth-scram.c:424 +#: libpq/auth-scram.c:417 #, c-format msgid "Nonce does not match." msgstr "Разовый код не совпадает." -#: libpq/auth-scram.c:500 +#: libpq/auth-scram.c:493 #, c-format msgid "could not generate random salt" msgstr "не удалось сгенерировать случайную соль" -#: libpq/auth-scram.c:745 +#: libpq/auth-scram.c:738 #, c-format msgid "Expected attribute \"%c\" but found \"%s\"." msgstr "Ожидался атрибут \"%c\", но обнаружено \"%s\"." -#: libpq/auth-scram.c:753 libpq/auth-scram.c:881 +#: libpq/auth-scram.c:746 libpq/auth-scram.c:874 #, c-format msgid "Expected character \"=\" for attribute \"%c\"." msgstr "Ожидался символ \"=\" для атрибута \"%c\"." -#: libpq/auth-scram.c:858 +#: libpq/auth-scram.c:851 #, c-format msgid "Attribute expected, but found end of string." msgstr "Ожидался атрибут, но обнаружен конец строки." -#: libpq/auth-scram.c:871 +#: libpq/auth-scram.c:864 #, c-format msgid "Attribute expected, but found invalid character \"%s\"." msgstr "Ожидался атрибут, но обнаружен неправильный символ \"%s\"." -#: libpq/auth-scram.c:989 libpq/auth-scram.c:1011 +#: libpq/auth-scram.c:982 libpq/auth-scram.c:1004 #, c-format msgid "" "The client selected SCRAM-SHA-256-PLUS, but the SCRAM message does not " @@ -15696,17 +16229,17 @@ msgstr "" "Клиент выбрал алгоритм SCRAM-SHA-256-PLUS, но в сообщении SCRAM отсутствуют " "данные связывания каналов." -#: libpq/auth-scram.c:996 libpq/auth-scram.c:1026 +#: libpq/auth-scram.c:989 libpq/auth-scram.c:1019 #, c-format msgid "Comma expected, but found character \"%s\"." msgstr "Ожидалась запятая, но обнаружен символ \"%s\"." -#: libpq/auth-scram.c:1017 +#: libpq/auth-scram.c:1010 #, c-format msgid "SCRAM channel binding negotiation error" msgstr "Ошибка согласования связывания каналов SCRAM" -#: libpq/auth-scram.c:1018 +#: libpq/auth-scram.c:1011 #, c-format msgid "" "The client supports SCRAM channel binding but thinks the server does not. " @@ -15715,7 +16248,7 @@ msgstr "" "Клиент поддерживает связывание каналов SCRAM, но полагает, что оно не " "поддерживается сервером. Однако сервер тоже поддерживает связывание каналов." -#: libpq/auth-scram.c:1040 +#: libpq/auth-scram.c:1033 #, c-format msgid "" "The client selected SCRAM-SHA-256 without channel binding, but the SCRAM " @@ -15724,155 +16257,155 @@ msgstr "" "Клиент выбрал алгоритм SCRAM-SHA-256 без связывания каналов, но сообщение " "SCRAM содержит данные связывания каналов." -#: libpq/auth-scram.c:1051 +#: libpq/auth-scram.c:1044 #, c-format msgid "unsupported SCRAM channel-binding type \"%s\"" msgstr "неподдерживаемый тип связывания каналов SCRAM \"%s\"" -#: libpq/auth-scram.c:1058 +#: libpq/auth-scram.c:1051 #, c-format msgid "Unexpected channel-binding flag \"%s\"." msgstr "Неожиданный флаг связывания каналов \"%s\"." -#: libpq/auth-scram.c:1068 +#: libpq/auth-scram.c:1061 #, c-format msgid "client uses authorization identity, but it is not supported" msgstr "клиент передал идентификатор для авторизации, но это не поддерживается" -#: libpq/auth-scram.c:1073 +#: libpq/auth-scram.c:1066 #, c-format msgid "Unexpected attribute \"%s\" in client-first-message." msgstr "Неожиданный атрибут \"%s\" в первом сообщении клиента." -#: libpq/auth-scram.c:1089 +#: libpq/auth-scram.c:1082 #, c-format msgid "client requires an unsupported SCRAM extension" msgstr "клиенту требуется неподдерживаемое расширение SCRAM" -#: libpq/auth-scram.c:1103 +#: libpq/auth-scram.c:1096 #, c-format msgid "non-printable characters in SCRAM nonce" msgstr "непечатаемые символы в разовом коде SCRAM" -#: libpq/auth-scram.c:1234 +#: libpq/auth-scram.c:1227 #, c-format msgid "could not generate random nonce" msgstr "не удалось сгенерировать разовый код" -#: libpq/auth-scram.c:1244 +#: libpq/auth-scram.c:1237 #, c-format msgid "could not encode random nonce" msgstr "не удалось оформить разовый код" -#: libpq/auth-scram.c:1350 +#: libpq/auth-scram.c:1343 #, c-format msgid "SCRAM channel binding check failed" msgstr "ошибка проверки связывания каналов SCRAM" -#: libpq/auth-scram.c:1368 +#: libpq/auth-scram.c:1361 #, c-format msgid "unexpected SCRAM channel-binding attribute in client-final-message" msgstr "" "неожиданный атрибут связывания каналов в последнем сообщении клиента SCRAM" -#: libpq/auth-scram.c:1387 +#: libpq/auth-scram.c:1380 #, c-format msgid "Malformed proof in client-final-message." msgstr "Некорректное подтверждение в последнем сообщении клиента." -#: libpq/auth-scram.c:1395 +#: libpq/auth-scram.c:1388 #, c-format msgid "Garbage found at the end of client-final-message." msgstr "Мусор в конце последнего сообщения клиента." -#: libpq/auth.c:271 +#: libpq/auth.c:269 #, c-format msgid "authentication failed for user \"%s\": host rejected" msgstr "" "пользователь \"%s\" не прошёл проверку подлинности: не разрешённый компьютер" -#: libpq/auth.c:274 +#: libpq/auth.c:272 #, c-format msgid "\"trust\" authentication failed for user \"%s\"" msgstr "пользователь \"%s\" не прошёл проверку подлинности (\"trust\")" -#: libpq/auth.c:277 +#: libpq/auth.c:275 #, c-format msgid "Ident authentication failed for user \"%s\"" msgstr "пользователь \"%s\" не прошёл проверку подлинности (Ident)" -#: libpq/auth.c:280 +#: libpq/auth.c:278 #, c-format msgid "Peer authentication failed for user \"%s\"" msgstr "пользователь \"%s\" не прошёл проверку подлинности (Peer)" -#: libpq/auth.c:285 +#: libpq/auth.c:283 #, c-format msgid "password authentication failed for user \"%s\"" msgstr "пользователь \"%s\" не прошёл проверку подлинности (по паролю)" -#: libpq/auth.c:290 +#: libpq/auth.c:288 #, c-format msgid "GSSAPI authentication failed for user \"%s\"" msgstr "пользователь \"%s\" не прошёл проверку подлинности (GSSAPI)" -#: libpq/auth.c:293 +#: libpq/auth.c:291 #, c-format msgid "SSPI authentication failed for user \"%s\"" msgstr "пользователь \"%s\" не прошёл проверку подлинности (SSPI)" -#: libpq/auth.c:296 +#: libpq/auth.c:294 #, c-format msgid "PAM authentication failed for user \"%s\"" msgstr "пользователь \"%s\" не прошёл проверку подлинности (PAM)" -#: libpq/auth.c:299 +#: libpq/auth.c:297 #, c-format msgid "BSD authentication failed for user \"%s\"" msgstr "пользователь \"%s\" не прошёл проверку подлинности (BSD)" -#: libpq/auth.c:302 +#: libpq/auth.c:300 #, c-format msgid "LDAP authentication failed for user \"%s\"" msgstr "пользователь \"%s\" не прошёл проверку подлинности (LDAP)" -#: libpq/auth.c:305 +#: libpq/auth.c:303 #, c-format msgid "certificate authentication failed for user \"%s\"" msgstr "пользователь \"%s\" не прошёл проверку подлинности (по сертификату)" -#: libpq/auth.c:308 +#: libpq/auth.c:306 #, c-format msgid "RADIUS authentication failed for user \"%s\"" msgstr "пользователь \"%s\" не прошёл проверку подлинности (RADIUS)" -#: libpq/auth.c:311 +#: libpq/auth.c:309 #, c-format msgid "authentication failed for user \"%s\": invalid authentication method" msgstr "" "пользователь \"%s\" не прошёл проверку подлинности: неверный метод проверки" -#: libpq/auth.c:315 +#: libpq/auth.c:313 #, c-format msgid "Connection matched file \"%s\" line %d: \"%s\"" msgstr "Подключение соответствует строке %2$d в \"%1$s\": \"%3$s\"" -#: libpq/auth.c:359 +#: libpq/auth.c:357 #, c-format msgid "authentication identifier set more than once" msgstr "аутентификационный идентификатор указан повторно" -#: libpq/auth.c:360 +#: libpq/auth.c:358 #, c-format msgid "previous identifier: \"%s\"; new identifier: \"%s\"" msgstr "предыдущий идентификатор: \"%s\"; новый: \"%s\"" -#: libpq/auth.c:370 +#: libpq/auth.c:368 #, c-format msgid "connection authenticated: identity=\"%s\" method=%s (%s:%d)" msgstr "соединение аутентифицировано: идентификатор=\"%s\" метод=%s (%s:%d)" -#: libpq/auth.c:410 +#: libpq/auth.c:408 #, c-format msgid "" "client certificates can only be checked if a root certificate store is " @@ -15881,25 +16414,25 @@ msgstr "" "сертификаты клиентов могут проверяться, только если доступно хранилище " "корневых сертификатов" -#: libpq/auth.c:421 +#: libpq/auth.c:419 #, c-format msgid "connection requires a valid client certificate" msgstr "для подключения требуется годный сертификат клиента" -#: libpq/auth.c:452 libpq/auth.c:498 +#: libpq/auth.c:450 libpq/auth.c:496 msgid "GSS encryption" msgstr "Шифрование GSS" -#: libpq/auth.c:455 libpq/auth.c:501 +#: libpq/auth.c:453 libpq/auth.c:499 msgid "SSL encryption" msgstr "Шифрование SSL" -#: libpq/auth.c:457 libpq/auth.c:503 +#: libpq/auth.c:455 libpq/auth.c:501 msgid "no encryption" msgstr "без шифрования" #. translator: last %s describes encryption state -#: libpq/auth.c:463 +#: libpq/auth.c:461 #, c-format msgid "" "pg_hba.conf rejects replication connection for host \"%s\", user \"%s\", %s" @@ -15908,7 +16441,7 @@ msgstr "" "пользователь \"%s\", \"%s\"" #. translator: last %s describes encryption state -#: libpq/auth.c:470 +#: libpq/auth.c:468 #, c-format msgid "" "pg_hba.conf rejects connection for host \"%s\", user \"%s\", database " @@ -15917,38 +16450,38 @@ msgstr "" "pg_hba.conf отвергает подключение: компьютер \"%s\", пользователь \"%s\", " "база данных \"%s\", %s" -#: libpq/auth.c:508 +#: libpq/auth.c:506 #, c-format msgid "Client IP address resolved to \"%s\", forward lookup matches." msgstr "" "IP-адрес клиента разрешается в \"%s\", соответствует прямому преобразованию." -#: libpq/auth.c:511 +#: libpq/auth.c:509 #, c-format msgid "Client IP address resolved to \"%s\", forward lookup not checked." msgstr "" "IP-адрес клиента разрешается в \"%s\", прямое преобразование не проверялось." -#: libpq/auth.c:514 +#: libpq/auth.c:512 #, c-format msgid "Client IP address resolved to \"%s\", forward lookup does not match." msgstr "" "IP-адрес клиента разрешается в \"%s\", это не соответствует прямому " "преобразованию." -#: libpq/auth.c:517 +#: libpq/auth.c:515 #, c-format msgid "Could not translate client host name \"%s\" to IP address: %s." msgstr "" "Преобразовать имя клиентского компьютера \"%s\" в IP-адрес не удалось: %s." -#: libpq/auth.c:522 +#: libpq/auth.c:520 #, 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:530 +#: libpq/auth.c:528 #, c-format msgid "" "no pg_hba.conf entry for replication connection from host \"%s\", user " @@ -15958,245 +16491,242 @@ msgstr "" "компьютера \"%s\" для пользователя \"%s\", %s" #. translator: last %s describes encryption state -#: libpq/auth.c:538 +#: libpq/auth.c:536 #, 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:711 +#: libpq/auth.c:656 +#, c-format +msgid "connection authenticated: user=\"%s\" method=%s (%s:%d)" +msgstr "соединение аутентифицировано: пользователь=\"%s\" метод=%s (%s:%d)" + +#: libpq/auth.c:725 #, c-format msgid "expected password response, got message type %d" msgstr "ожидался ответ с паролем, но получено сообщение %d" -#: libpq/auth.c:732 +#: libpq/auth.c:746 #, c-format msgid "invalid password packet size" msgstr "неверный размер пакета с паролем" -#: libpq/auth.c:750 +#: libpq/auth.c:764 #, c-format msgid "empty password returned by client" msgstr "клиент возвратил пустой пароль" -#: libpq/auth.c:877 libpq/hba.c:1727 -#, c-format -msgid "" -"MD5 authentication is not supported when \"db_user_namespace\" is enabled" -msgstr "" -"проверка подлинности MD5 не поддерживается, когда включён режим " -"\"db_user_namespace\"" - -#: libpq/auth.c:883 +#: libpq/auth.c:892 #, c-format msgid "could not generate random MD5 salt" msgstr "не удалось сгенерировать случайную соль для MD5" -#: libpq/auth.c:934 libpq/be-secure-gssapi.c:540 +#: libpq/auth.c:943 libpq/be-secure-gssapi.c:540 #, c-format msgid "could not set environment: %m" msgstr "не удалось задать переменную окружения: %m" -#: libpq/auth.c:973 +#: libpq/auth.c:982 #, c-format msgid "expected GSS response, got message type %d" msgstr "ожидался ответ GSS, но получено сообщение %d" -#: libpq/auth.c:1039 +#: libpq/auth.c:1048 msgid "accepting GSS security context failed" msgstr "принять контекст безопасности GSS не удалось" -#: libpq/auth.c:1080 +#: libpq/auth.c:1089 msgid "retrieving GSS user name failed" msgstr "получить имя пользователя GSS не удалось" -#: libpq/auth.c:1226 +#: libpq/auth.c:1235 msgid "could not acquire SSPI credentials" msgstr "не удалось получить удостоверение SSPI" -#: libpq/auth.c:1251 +#: libpq/auth.c:1260 #, c-format msgid "expected SSPI response, got message type %d" msgstr "ожидался ответ SSPI, но получено сообщение %d" -#: libpq/auth.c:1329 +#: libpq/auth.c:1338 msgid "could not accept SSPI security context" msgstr "принять контекст безопасности SSPI не удалось" -#: libpq/auth.c:1370 +#: libpq/auth.c:1379 msgid "could not get token from SSPI security context" msgstr "не удалось получить маркер из контекста безопасности SSPI" -#: libpq/auth.c:1506 libpq/auth.c:1525 +#: libpq/auth.c:1515 libpq/auth.c:1534 #, c-format msgid "could not translate name" msgstr "не удалось преобразовать имя" -#: libpq/auth.c:1538 +#: libpq/auth.c:1547 #, c-format msgid "realm name too long" msgstr "имя области слишком длинное" -#: libpq/auth.c:1553 +#: libpq/auth.c:1562 #, c-format msgid "translated account name too long" msgstr "преобразованное имя учётной записи слишком длинное" -#: libpq/auth.c:1732 +#: libpq/auth.c:1741 #, c-format msgid "could not create socket for Ident connection: %m" msgstr "не удалось создать сокет для подключения к серверу Ident: %m" -#: libpq/auth.c:1747 +#: libpq/auth.c:1756 #, c-format msgid "could not bind to local address \"%s\": %m" msgstr "не удалось привязаться к локальному адресу \"%s\": %m" -#: libpq/auth.c:1759 +#: libpq/auth.c:1768 #, c-format msgid "could not connect to Ident server at address \"%s\", port %s: %m" msgstr "не удалось подключиться к серверу Ident по адресу \"%s\", порт %s: %m" -#: libpq/auth.c:1781 +#: libpq/auth.c:1790 #, c-format msgid "could not send query to Ident server at address \"%s\", port %s: %m" msgstr "" "не удалось отправить запрос серверу Ident по адресу \"%s\", порт %s: %m" -#: libpq/auth.c:1798 +#: libpq/auth.c:1807 #, c-format msgid "" "could not receive response from Ident server at address \"%s\", port %s: %m" msgstr "" "не удалось получить ответ от сервера Ident по адресу \"%s\", порт %s: %m" -#: libpq/auth.c:1808 +#: libpq/auth.c:1817 #, c-format msgid "invalidly formatted response from Ident server: \"%s\"" msgstr "неверно форматированный ответ от сервера Ident: \"%s\"" -#: libpq/auth.c:1861 +#: libpq/auth.c:1870 #, c-format msgid "peer authentication is not supported on this platform" msgstr "проверка подлинности peer в этой ОС не поддерживается" -#: libpq/auth.c:1865 +#: libpq/auth.c:1874 #, c-format msgid "could not get peer credentials: %m" msgstr "не удалось получить данные пользователя через механизм peer: %m" -#: libpq/auth.c:1877 +#: libpq/auth.c:1886 #, c-format msgid "could not look up local user ID %ld: %s" msgstr "найти локального пользователя по идентификатору (%ld) не удалось: %s" -#: libpq/auth.c:1979 +#: libpq/auth.c:1988 #, c-format msgid "error from underlying PAM layer: %s" msgstr "ошибка в нижележащем слое PAM: %s" -#: libpq/auth.c:1990 +#: libpq/auth.c:1999 #, c-format msgid "unsupported PAM conversation %d/\"%s\"" msgstr "неподдерживаемое сообщение ответа PAM %d/\"%s\"" -#: libpq/auth.c:2047 +#: libpq/auth.c:2056 #, c-format msgid "could not create PAM authenticator: %s" msgstr "не удалось создать аутентификатор PAM: %s" -#: libpq/auth.c:2058 +#: libpq/auth.c:2067 #, c-format msgid "pam_set_item(PAM_USER) failed: %s" msgstr "ошибка в pam_set_item(PAM_USER): %s" -#: libpq/auth.c:2090 +#: libpq/auth.c:2099 #, c-format msgid "pam_set_item(PAM_RHOST) failed: %s" msgstr "ошибка в pam_set_item(PAM_RHOST): %s" -#: libpq/auth.c:2102 +#: libpq/auth.c:2111 #, c-format msgid "pam_set_item(PAM_CONV) failed: %s" msgstr "ошибка в pam_set_item(PAM_CONV): %s" -#: libpq/auth.c:2115 +#: libpq/auth.c:2124 #, c-format msgid "pam_authenticate failed: %s" msgstr "ошибка в pam_authenticate: %s" -#: libpq/auth.c:2128 +#: libpq/auth.c:2137 #, c-format msgid "pam_acct_mgmt failed: %s" msgstr "ошибка в pam_acct_mgmt: %s" -#: libpq/auth.c:2139 +#: libpq/auth.c:2148 #, c-format msgid "could not release PAM authenticator: %s" msgstr "не удалось освободить аутентификатор PAM: %s" -#: libpq/auth.c:2219 +#: libpq/auth.c:2228 #, c-format msgid "could not initialize LDAP: error code %d" msgstr "не удалось инициализировать LDAP (код ошибки: %d)" -#: libpq/auth.c:2256 +#: libpq/auth.c:2265 #, c-format msgid "could not extract domain name from ldapbasedn" msgstr "не удалось извлечь имя домена из ldapbasedn" -#: libpq/auth.c:2264 +#: libpq/auth.c:2273 #, c-format msgid "LDAP authentication could not find DNS SRV records for \"%s\"" msgstr "для аутентификации LDAP не удалось найти записи DNS SRV для \"%s\"" -#: libpq/auth.c:2266 +#: libpq/auth.c:2275 #, c-format msgid "Set an LDAP server name explicitly." msgstr "Задайте имя сервера LDAP явным образом." -#: libpq/auth.c:2318 +#: libpq/auth.c:2327 #, c-format msgid "could not initialize LDAP: %s" msgstr "не удалось инициализировать LDAP: %s" -#: libpq/auth.c:2328 +#: libpq/auth.c:2337 #, c-format msgid "ldaps not supported with this LDAP library" msgstr "протокол ldaps с текущей библиотекой LDAP не поддерживается" -#: libpq/auth.c:2336 +#: libpq/auth.c:2345 #, c-format msgid "could not initialize LDAP: %m" msgstr "не удалось инициализировать LDAP: %m" -#: libpq/auth.c:2346 +#: libpq/auth.c:2355 #, c-format msgid "could not set LDAP protocol version: %s" msgstr "не удалось задать версию протокола LDAP: %s" -#: libpq/auth.c:2362 +#: libpq/auth.c:2371 #, c-format msgid "could not start LDAP TLS session: %s" msgstr "не удалось начать сеанс LDAP TLS: %s" -#: libpq/auth.c:2439 +#: libpq/auth.c:2448 #, c-format msgid "LDAP server not specified, and no ldapbasedn" msgstr "LDAP-сервер не задан и значение ldapbasedn не определено" -#: libpq/auth.c:2446 +#: libpq/auth.c:2455 #, c-format msgid "LDAP server not specified" msgstr "LDAP-сервер не определён" -#: libpq/auth.c:2508 +#: libpq/auth.c:2517 #, c-format msgid "invalid character in user name for LDAP authentication" msgstr "недопустимый символ в имени пользователя для проверки подлинности LDAP" -#: libpq/auth.c:2525 +#: libpq/auth.c:2534 #, c-format msgid "" "could not perform initial LDAP bind for ldapbinddn \"%s\" on server \"%s\": " @@ -16205,28 +16735,28 @@ msgstr "" "не удалось выполнить начальную привязку LDAP для ldapbinddn \"%s\" на " "сервере \"%s\": %s" -#: libpq/auth.c:2555 +#: libpq/auth.c:2564 #, c-format msgid "could not search LDAP for filter \"%s\" on server \"%s\": %s" msgstr "" "не удалось выполнить LDAP-поиск по фильтру \"%s\" на сервере \"%s\": %s" -#: libpq/auth.c:2571 +#: libpq/auth.c:2580 #, c-format msgid "LDAP user \"%s\" does not exist" msgstr "в LDAP нет пользователя \"%s\"" -#: libpq/auth.c:2572 +#: libpq/auth.c:2581 #, c-format msgid "LDAP search for filter \"%s\" on server \"%s\" returned no entries." msgstr "LDAP-поиск по фильтру \"%s\" на сервере \"%s\" не вернул результатов" -#: libpq/auth.c:2576 +#: libpq/auth.c:2585 #, c-format msgid "LDAP user \"%s\" is not unique" msgstr "пользователь LDAP \"%s\" не уникален" -#: libpq/auth.c:2577 +#: libpq/auth.c:2586 #, c-format msgid "LDAP search for filter \"%s\" on server \"%s\" returned %d entry." msgid_plural "" @@ -16235,7 +16765,7 @@ msgstr[0] "LDAP-поиск по фильтру \"%s\" на сервере \"%s\" msgstr[1] "LDAP-поиск по фильтру \"%s\" на сервере \"%s\" вернул %d записи." msgstr[2] "LDAP-поиск по фильтру \"%s\" на сервере \"%s\" вернул %d записей." -#: libpq/auth.c:2597 +#: libpq/auth.c:2606 #, c-format msgid "" "could not get dn for the first entry matching \"%s\" on server \"%s\": %s" @@ -16243,24 +16773,18 @@ msgstr "" "не удалось получить dn для первого результата, соответствующего \"%s\" на " "сервере \"%s\": %s" -#: libpq/auth.c:2618 -#, c-format -msgid "could not unbind after searching for user \"%s\" on server \"%s\"" -msgstr "" -"не удалось отвязаться после поиска пользователя \"%s\" на сервере \"%s\"" - -#: libpq/auth.c:2649 +#: libpq/auth.c:2633 #, c-format msgid "LDAP login failed for user \"%s\" on server \"%s\": %s" msgstr "" "ошибка при регистрации в LDAP пользователя \"%s\" на сервере \"%s\": %s" -#: libpq/auth.c:2681 +#: libpq/auth.c:2665 #, c-format msgid "LDAP diagnostics: %s" msgstr "Диагностика LDAP: %s" -#: libpq/auth.c:2719 +#: libpq/auth.c:2703 #, c-format msgid "" "certificate authentication failed for user \"%s\": client certificate " @@ -16269,7 +16793,7 @@ msgstr "" "ошибка проверки подлинности пользователя \"%s\" по сертификату: сертификат " "клиента не содержит имя пользователя" -#: libpq/auth.c:2740 +#: libpq/auth.c:2724 #, c-format msgid "" "certificate authentication failed for user \"%s\": unable to retrieve " @@ -16278,7 +16802,7 @@ msgstr "" "пользователь \"%s\" не прошёл проверку подлинности по сертификату: не " "удалось получить DN субъекта" -#: libpq/auth.c:2763 +#: libpq/auth.c:2747 #, c-format msgid "" "certificate validation (clientcert=verify-full) failed for user \"%s\": DN " @@ -16287,7 +16811,7 @@ msgstr "" "проверка сертификата (clientcert=verify-full) для пользователя \"%s\" не " "прошла: отличается DN" -#: libpq/auth.c:2768 +#: libpq/auth.c:2752 #, c-format msgid "" "certificate validation (clientcert=verify-full) failed for user \"%s\": CN " @@ -16296,99 +16820,99 @@ msgstr "" "проверка сертификата (clientcert=verify-full) для пользователя \"%s\" не " "прошла: отличается CN" -#: libpq/auth.c:2870 +#: libpq/auth.c:2854 #, c-format msgid "RADIUS server not specified" msgstr "RADIUS-сервер не определён" -#: libpq/auth.c:2877 +#: libpq/auth.c:2861 #, c-format msgid "RADIUS secret not specified" msgstr "секрет RADIUS не определён" # well-spelled: симв -#: libpq/auth.c:2891 +#: libpq/auth.c:2875 #, c-format msgid "" "RADIUS authentication does not support passwords longer than %d characters" msgstr "проверка подлинности RADIUS не поддерживает пароли длиннее %d симв." -#: libpq/auth.c:2993 libpq/hba.c:2369 +#: libpq/auth.c:2977 libpq/hba.c:2352 #, c-format msgid "could not translate RADIUS server name \"%s\" to address: %s" msgstr "не удалось преобразовать имя сервера RADIUS \"%s\" в адрес: %s" -#: libpq/auth.c:3007 +#: libpq/auth.c:2991 #, c-format msgid "could not generate random encryption vector" msgstr "не удалось сгенерировать случайный вектор шифрования" -#: libpq/auth.c:3044 +#: libpq/auth.c:3028 #, c-format msgid "could not perform MD5 encryption of password: %s" msgstr "не удалось вычислить MD5-хеш пароля: %s" -#: libpq/auth.c:3071 +#: libpq/auth.c:3055 #, c-format msgid "could not create RADIUS socket: %m" msgstr "не удалось создать сокет RADIUS: %m" -#: libpq/auth.c:3087 +#: libpq/auth.c:3071 #, c-format msgid "could not bind local RADIUS socket: %m" msgstr "не удалось привязаться к локальному сокету RADIUS: %m" -#: libpq/auth.c:3097 +#: libpq/auth.c:3081 #, c-format msgid "could not send RADIUS packet: %m" msgstr "не удалось отправить пакет RADIUS: %m" -#: libpq/auth.c:3131 libpq/auth.c:3157 +#: libpq/auth.c:3115 libpq/auth.c:3141 #, c-format msgid "timeout waiting for RADIUS response from %s" msgstr "превышено время ожидания ответа RADIUS от %s" -#: libpq/auth.c:3150 +#: libpq/auth.c:3134 #, c-format msgid "could not check status on RADIUS socket: %m" msgstr "не удалось проверить состояние сокета RADIUS: %m" -#: libpq/auth.c:3180 +#: libpq/auth.c:3164 #, c-format msgid "could not read RADIUS response: %m" msgstr "не удалось прочитать ответ RADIUS: %m" -#: libpq/auth.c:3188 +#: libpq/auth.c:3172 #, c-format msgid "RADIUS response from %s was sent from incorrect port: %d" msgstr "ответ RADIUS от %s был отправлен с неверного порта: %d" -#: libpq/auth.c:3196 +#: libpq/auth.c:3180 #, c-format msgid "RADIUS response from %s too short: %d" msgstr "слишком короткий ответ RADIUS от %s: %d" -#: libpq/auth.c:3203 +#: libpq/auth.c:3187 #, c-format msgid "RADIUS response from %s has corrupt length: %d (actual length %d)" msgstr "в ответе RADIUS от %s испорчена длина: %d (фактическая длина %d)" -#: libpq/auth.c:3211 +#: libpq/auth.c:3195 #, c-format msgid "RADIUS response from %s is to a different request: %d (should be %d)" msgstr "пришёл ответ RADIUS от %s на другой запрос: %d (ожидался %d)" -#: libpq/auth.c:3236 +#: libpq/auth.c:3220 #, c-format msgid "could not perform MD5 encryption of received packet: %s" msgstr "не удалось вычислить MD5-хеш для принятого пакета: %s" -#: libpq/auth.c:3246 +#: libpq/auth.c:3230 #, c-format msgid "RADIUS response from %s has incorrect MD5 signature" msgstr "ответ RADIUS от %s содержит неверную подпись MD5" -#: libpq/auth.c:3264 +#: libpq/auth.c:3248 #, c-format msgid "RADIUS response from %s has invalid code (%d) for user \"%s\"" msgstr "ответ RADIUS от %s содержит неверный код (%d) для пользователя \"%s\"" @@ -16449,52 +16973,39 @@ msgstr "не удалось записать файл сервера \"%s\": %m" msgid "large object read request is too large" msgstr "при чтении большого объекта запрошен чрезмерный размер" -#: libpq/be-fsstubs.c:816 utils/adt/genfile.c:262 utils/adt/genfile.c:294 -#: utils/adt/genfile.c:315 +#: libpq/be-fsstubs.c:816 utils/adt/genfile.c:248 utils/adt/genfile.c:269 #, c-format msgid "requested length cannot be negative" msgstr "запрошенная длина не может быть отрицательной" -#: libpq/be-fsstubs.c:871 storage/large_object/inv_api.c:298 -#: storage/large_object/inv_api.c:310 storage/large_object/inv_api.c:507 -#: storage/large_object/inv_api.c:618 storage/large_object/inv_api.c:808 -#, c-format -msgid "permission denied for large object %u" -msgstr "нет доступа к большому объекту %u" - -#: libpq/be-secure-common.c:71 -#, c-format -msgid "could not read from command \"%s\": %m" -msgstr "не удалось прочитать вывод команды \"%s\": %m" - -#: libpq/be-secure-common.c:91 +#: libpq/be-secure-common.c:94 #, c-format msgid "command \"%s\" failed" msgstr "ошибка команды \"%s\"" -#: libpq/be-secure-common.c:119 +#: libpq/be-secure-common.c:123 #, c-format msgid "could not access private key file \"%s\": %m" msgstr "не удалось обратиться к файлу закрытого ключа \"%s\": %m" -#: libpq/be-secure-common.c:129 +#: libpq/be-secure-common.c:133 #, c-format msgid "private key file \"%s\" is not a regular file" msgstr "файл закрытого ключа \"%s\" - не обычный файл" -#: libpq/be-secure-common.c:155 +#: libpq/be-secure-common.c:159 #, c-format msgid "private key file \"%s\" must be owned by the database user or root" msgstr "" "файл закрытого ключа \"%s\" должен принадлежать пользователю, запускающему " "сервер, или root" -#: libpq/be-secure-common.c:165 +#: libpq/be-secure-common.c:169 #, c-format msgid "private key file \"%s\" has group or world access" msgstr "к файлу закрытого ключа \"%s\" имеют доступ все или группа" -#: libpq/be-secure-common.c:167 +#: libpq/be-secure-common.c:171 #, c-format msgid "" "File must have permissions u=rw (0600) or less if owned by the database " @@ -16545,82 +17056,82 @@ msgstr "принять контекст безопасности GSSAPI не у msgid "GSSAPI size check error" msgstr "ошибка проверки размера в GSSAPI" -#: libpq/be-secure-openssl.c:125 +#: libpq/be-secure-openssl.c:131 #, c-format msgid "could not create SSL context: %s" msgstr "не удалось создать контекст SSL: %s" -#: libpq/be-secure-openssl.c:151 +#: libpq/be-secure-openssl.c:157 #, c-format msgid "could not load server certificate file \"%s\": %s" msgstr "не удалось загрузить сертификат сервера \"%s\": %s" -#: libpq/be-secure-openssl.c:171 +#: libpq/be-secure-openssl.c:177 #, c-format msgid "" "private key file \"%s\" cannot be reloaded because it requires a passphrase" msgstr "" "файл закрытого ключа \"%s\" нельзя перезагрузить, так как он защищён паролем" -#: libpq/be-secure-openssl.c:176 +#: libpq/be-secure-openssl.c:182 #, c-format msgid "could not load private key file \"%s\": %s" msgstr "не удалось загрузить файл закрытого ключа \"%s\": %s" -#: libpq/be-secure-openssl.c:185 +#: libpq/be-secure-openssl.c:191 #, c-format msgid "check of private key failed: %s" msgstr "ошибка при проверке закрытого ключа: %s" #. translator: first %s is a GUC option name, second %s is its value -#: libpq/be-secure-openssl.c:198 libpq/be-secure-openssl.c:221 +#: libpq/be-secure-openssl.c:204 libpq/be-secure-openssl.c:227 #, c-format msgid "\"%s\" setting \"%s\" not supported by this build" msgstr "для параметра \"%s\" значение \"%s\" не поддерживается в данной сборке" -#: libpq/be-secure-openssl.c:208 +#: libpq/be-secure-openssl.c:214 #, c-format msgid "could not set minimum SSL protocol version" msgstr "не удалось задать минимальную версию протокола SSL" -#: libpq/be-secure-openssl.c:231 +#: libpq/be-secure-openssl.c:237 #, c-format msgid "could not set maximum SSL protocol version" msgstr "не удалось задать максимальную версию протокола SSL" -#: libpq/be-secure-openssl.c:247 +#: libpq/be-secure-openssl.c:253 #, c-format msgid "could not set SSL protocol version range" msgstr "не удалось задать диапазон версий протокола SSL" -#: libpq/be-secure-openssl.c:248 +#: libpq/be-secure-openssl.c:254 #, c-format msgid "\"%s\" cannot be higher than \"%s\"" msgstr "Версия \"%s\" не может быть выше \"%s\"" -#: libpq/be-secure-openssl.c:285 +#: libpq/be-secure-openssl.c:307 #, c-format msgid "could not set the cipher list (no valid ciphers available)" msgstr "не удалось установить список шифров (подходящие шифры отсутствуют)" -#: libpq/be-secure-openssl.c:305 +#: libpq/be-secure-openssl.c:327 #, c-format msgid "could not load root certificate file \"%s\": %s" msgstr "не удалось загрузить файл корневых сертификатов \"%s\": %s" -#: libpq/be-secure-openssl.c:354 +#: libpq/be-secure-openssl.c:376 #, c-format msgid "could not load SSL certificate revocation list file \"%s\": %s" msgstr "" "не удалось загрузить список отзыва сертификатов SSL из файла \"%s\": %s" -#: libpq/be-secure-openssl.c:362 +#: libpq/be-secure-openssl.c:384 #, c-format msgid "could not load SSL certificate revocation list directory \"%s\": %s" msgstr "" "не удалось загрузить списки отзыва сертификатов SSL из каталога \"%s\": %s" -#: libpq/be-secure-openssl.c:370 +#: libpq/be-secure-openssl.c:392 #, c-format msgid "" "could not load SSL certificate revocation list file \"%s\" or directory " @@ -16629,38 +17140,38 @@ msgstr "" "не удалось загрузить списки отзыва сертификатов SSL из файла \"%s\" или " "каталога \"%s\": %s" -#: libpq/be-secure-openssl.c:428 +#: libpq/be-secure-openssl.c:450 #, c-format msgid "could not initialize SSL connection: SSL context not set up" msgstr "" "инициализировать SSL-подключение не удалось: контекст SSL не установлен" -#: libpq/be-secure-openssl.c:439 +#: libpq/be-secure-openssl.c:464 #, c-format msgid "could not initialize SSL connection: %s" msgstr "инициализировать SSL-подключение не удалось: %s" -#: libpq/be-secure-openssl.c:447 +#: libpq/be-secure-openssl.c:472 #, c-format msgid "could not set SSL socket: %s" msgstr "не удалось создать SSL-сокет: %s" -#: libpq/be-secure-openssl.c:503 +#: libpq/be-secure-openssl.c:528 #, c-format msgid "could not accept SSL connection: %m" msgstr "не удалось принять SSL-подключение: %m" -#: libpq/be-secure-openssl.c:507 libpq/be-secure-openssl.c:562 +#: libpq/be-secure-openssl.c:532 libpq/be-secure-openssl.c:589 #, c-format msgid "could not accept SSL connection: EOF detected" msgstr "не удалось принять SSL-подключение: обрыв данных" -#: libpq/be-secure-openssl.c:546 +#: libpq/be-secure-openssl.c:573 #, c-format msgid "could not accept SSL connection: %s" msgstr "не удалось принять SSL-подключение: %s" -#: libpq/be-secure-openssl.c:550 +#: libpq/be-secure-openssl.c:577 #, c-format msgid "" "This may indicate that the client does not support any SSL protocol version " @@ -16669,60 +17180,65 @@ msgstr "" "Это может указывать на то, что клиент не поддерживает ни одну версию " "протокола SSL между %s и %s." -#: libpq/be-secure-openssl.c:567 libpq/be-secure-openssl.c:756 -#: libpq/be-secure-openssl.c:826 +#: libpq/be-secure-openssl.c:594 libpq/be-secure-openssl.c:809 +#: libpq/be-secure-openssl.c:879 #, c-format msgid "unrecognized SSL error code: %d" msgstr "нераспознанный код ошибки SSL: %d" -#: libpq/be-secure-openssl.c:613 +#: libpq/be-secure-openssl.c:622 +#, c-format +msgid "received SSL connection request with unexpected ALPN protocol" +msgstr "получен запрос на SSL-подключение с неизвестным протоколом ALPN" + +#: libpq/be-secure-openssl.c:666 #, c-format msgid "SSL certificate's common name contains embedded null" msgstr "Имя SSL-сертификата включает нулевой байт" -#: libpq/be-secure-openssl.c:659 +#: libpq/be-secure-openssl.c:712 #, c-format msgid "SSL certificate's distinguished name contains embedded null" msgstr "уникальное имя (DN) в SSL-сертификате содержит нулевой байт" -#: libpq/be-secure-openssl.c:745 libpq/be-secure-openssl.c:810 +#: libpq/be-secure-openssl.c:798 libpq/be-secure-openssl.c:863 #, c-format msgid "SSL error: %s" msgstr "ошибка SSL: %s" -#: libpq/be-secure-openssl.c:987 +#: libpq/be-secure-openssl.c:1038 #, c-format msgid "could not open DH parameters file \"%s\": %m" msgstr "не удалось открыть файл параметров DH \"%s\": %m" -#: libpq/be-secure-openssl.c:999 +#: libpq/be-secure-openssl.c:1050 #, c-format msgid "could not load DH parameters file: %s" msgstr "не удалось загрузить файл параметров DH: %s" -#: libpq/be-secure-openssl.c:1009 +#: libpq/be-secure-openssl.c:1060 #, c-format msgid "invalid DH parameters: %s" msgstr "неверные параметры DH: %s" -#: libpq/be-secure-openssl.c:1018 +#: libpq/be-secure-openssl.c:1069 #, c-format msgid "invalid DH parameters: p is not prime" msgstr "неверные параметры DH: p - не простое число" -#: libpq/be-secure-openssl.c:1027 +#: libpq/be-secure-openssl.c:1078 #, c-format msgid "invalid DH parameters: neither suitable generator or safe prime" msgstr "" "неверные параметры DH: нет подходящего генератора или небезопасное простое " "число" -#: libpq/be-secure-openssl.c:1163 +#: libpq/be-secure-openssl.c:1214 #, c-format msgid "Client certificate verification failed at depth %d: %s." msgstr "Ошибка при проверке клиентского сертификата на глубине %d: %s." -#: libpq/be-secure-openssl.c:1200 +#: libpq/be-secure-openssl.c:1251 #, c-format msgid "" "Failed certificate data (unverified): subject \"%s\", serial number %s, " @@ -16731,178 +17247,173 @@ msgstr "" "Данные ошибочного сертификата (непроверенные): субъект \"%s\", серийный " "номер %s, издатель \"%s\"." -#: libpq/be-secure-openssl.c:1201 +#: libpq/be-secure-openssl.c:1252 msgid "unknown" msgstr "н/д" -#: libpq/be-secure-openssl.c:1292 +#: libpq/be-secure-openssl.c:1389 #, c-format msgid "DH: could not load DH parameters" msgstr "DH: не удалось загрузить параметры DH" -#: libpq/be-secure-openssl.c:1300 +#: libpq/be-secure-openssl.c:1397 #, c-format msgid "DH: could not set DH parameters: %s" msgstr "DH: не удалось задать параметры DH: %s" -#: libpq/be-secure-openssl.c:1327 +#: libpq/be-secure-openssl.c:1424 #, c-format msgid "ECDH: unrecognized curve name: %s" msgstr "ECDH: нераспознанное имя кривой: %s" -#: libpq/be-secure-openssl.c:1336 +#: libpq/be-secure-openssl.c:1433 #, c-format msgid "ECDH: could not create key" msgstr "ECDH: не удалось создать ключ" -#: libpq/be-secure-openssl.c:1364 +#: libpq/be-secure-openssl.c:1461 msgid "no SSL error reported" msgstr "нет сообщения об ошибке SSL" -#: libpq/be-secure-openssl.c:1381 +#: libpq/be-secure-openssl.c:1479 #, c-format msgid "SSL error code %lu" msgstr "код ошибки SSL: %lu" -#: libpq/be-secure-openssl.c:1540 +#: libpq/be-secure-openssl.c:1636 #, c-format msgid "could not create BIO" msgstr "не удалось создать BIO" -#: libpq/be-secure-openssl.c:1550 +#: libpq/be-secure-openssl.c:1646 #, c-format msgid "could not get NID for ASN1_OBJECT object" msgstr "не удалось получить NID для объекта ASN1_OBJECT" -#: libpq/be-secure-openssl.c:1558 +#: libpq/be-secure-openssl.c:1654 #, c-format msgid "could not convert NID %d to an ASN1_OBJECT structure" msgstr "не удалось преобразовать NID %d в структуру ASN1_OBJECT" -#: libpq/be-secure.c:207 libpq/be-secure.c:303 -#, c-format -msgid "terminating connection due to unexpected postmaster exit" -msgstr "закрытие подключения из-за неожиданного завершения главного процесса" - -#: libpq/crypt.c:49 +#: libpq/crypt.c:48 #, c-format msgid "Role \"%s\" does not exist." msgstr "Роль \"%s\" не существует." -#: libpq/crypt.c:59 +#: libpq/crypt.c:58 #, c-format msgid "User \"%s\" has no password assigned." msgstr "Пользователь \"%s\" не имеет пароля." -#: libpq/crypt.c:77 +#: libpq/crypt.c:76 #, c-format msgid "User \"%s\" has an expired password." msgstr "Срок действия пароля пользователя \"%s\" истёк." -#: libpq/crypt.c:183 +#: libpq/crypt.c:182 #, c-format msgid "User \"%s\" has a password that cannot be used with MD5 authentication." msgstr "" "Пользователь \"%s\" имеет пароль, неподходящий для аутентификации по MD5." -#: libpq/crypt.c:204 libpq/crypt.c:246 libpq/crypt.c:266 +#: libpq/crypt.c:203 libpq/crypt.c:245 libpq/crypt.c:265 #, c-format msgid "Password does not match for user \"%s\"." msgstr "Пароль не подходит для пользователя \"%s\"." -#: libpq/crypt.c:285 +#: libpq/crypt.c:284 #, c-format msgid "Password of user \"%s\" is in unrecognized format." msgstr "Пароль пользователя \"%s\" представлен в неизвестном формате." -#: libpq/hba.c:332 +#: libpq/hba.c:327 #, c-format msgid "invalid regular expression \"%s\": %s" msgstr "неверное регулярное выражение \"%s\": %s" -#: libpq/hba.c:334 libpq/hba.c:666 libpq/hba.c:1250 libpq/hba.c:1270 -#: libpq/hba.c:1293 libpq/hba.c:1306 libpq/hba.c:1359 libpq/hba.c:1387 -#: libpq/hba.c:1395 libpq/hba.c:1407 libpq/hba.c:1428 libpq/hba.c:1441 -#: libpq/hba.c:1466 libpq/hba.c:1493 libpq/hba.c:1505 libpq/hba.c:1564 -#: libpq/hba.c:1584 libpq/hba.c:1598 libpq/hba.c:1618 libpq/hba.c:1629 -#: libpq/hba.c:1644 libpq/hba.c:1663 libpq/hba.c:1679 libpq/hba.c:1691 -#: libpq/hba.c:1728 libpq/hba.c:1769 libpq/hba.c:1782 libpq/hba.c:1804 -#: libpq/hba.c:1816 libpq/hba.c:1834 libpq/hba.c:1884 libpq/hba.c:1928 -#: libpq/hba.c:1939 libpq/hba.c:1955 libpq/hba.c:1972 libpq/hba.c:1983 -#: libpq/hba.c:2002 libpq/hba.c:2018 libpq/hba.c:2034 libpq/hba.c:2093 -#: libpq/hba.c:2110 libpq/hba.c:2123 libpq/hba.c:2135 libpq/hba.c:2154 -#: libpq/hba.c:2240 libpq/hba.c:2258 libpq/hba.c:2352 libpq/hba.c:2371 -#: libpq/hba.c:2400 libpq/hba.c:2413 libpq/hba.c:2436 libpq/hba.c:2458 -#: libpq/hba.c:2472 tsearch/ts_locale.c:243 +#: libpq/hba.c:329 libpq/hba.c:661 libpq/hba.c:1245 libpq/hba.c:1265 +#: libpq/hba.c:1288 libpq/hba.c:1301 libpq/hba.c:1354 libpq/hba.c:1382 +#: libpq/hba.c:1390 libpq/hba.c:1402 libpq/hba.c:1423 libpq/hba.c:1436 +#: libpq/hba.c:1461 libpq/hba.c:1488 libpq/hba.c:1500 libpq/hba.c:1559 +#: libpq/hba.c:1579 libpq/hba.c:1593 libpq/hba.c:1613 libpq/hba.c:1624 +#: libpq/hba.c:1639 libpq/hba.c:1658 libpq/hba.c:1674 libpq/hba.c:1686 +#: libpq/hba.c:1752 libpq/hba.c:1765 libpq/hba.c:1787 libpq/hba.c:1799 +#: libpq/hba.c:1817 libpq/hba.c:1867 libpq/hba.c:1911 libpq/hba.c:1922 +#: libpq/hba.c:1938 libpq/hba.c:1955 libpq/hba.c:1966 libpq/hba.c:1985 +#: libpq/hba.c:2001 libpq/hba.c:2017 libpq/hba.c:2076 libpq/hba.c:2093 +#: libpq/hba.c:2106 libpq/hba.c:2118 libpq/hba.c:2137 libpq/hba.c:2223 +#: libpq/hba.c:2241 libpq/hba.c:2335 libpq/hba.c:2354 libpq/hba.c:2383 +#: libpq/hba.c:2396 libpq/hba.c:2419 libpq/hba.c:2441 libpq/hba.c:2455 +#: tsearch/ts_locale.c:241 #, c-format msgid "line %d of configuration file \"%s\"" msgstr "строка %d файла конфигурации \"%s\"" -#: libpq/hba.c:462 +#: libpq/hba.c:457 #, c-format msgid "skipping missing authentication file \"%s\"" msgstr "отсутствующий файл настройки аутентификации \"%s\" пропускается" -#: libpq/hba.c:614 +#: libpq/hba.c:609 #, c-format msgid "could not open file \"%s\": maximum nesting depth exceeded" msgstr "открыть файл \"%s\" не удалось: превышен предел вложенности" -#: libpq/hba.c:1221 +#: libpq/hba.c:1216 #, c-format msgid "error enumerating network interfaces: %m" msgstr "ошибка при перечислении сетевых интерфейсов: %m" #. translator: the second %s is a list of auth methods -#: libpq/hba.c:1248 +#: libpq/hba.c:1243 #, c-format msgid "" "authentication option \"%s\" is only valid for authentication methods %s" msgstr "параметр проверки подлинности \"%s\" допускается только для методов %s" -#: libpq/hba.c:1268 +#: libpq/hba.c:1263 #, c-format msgid "authentication method \"%s\" requires argument \"%s\" to be set" msgstr "" "для метода проверки подлинности \"%s\" требуется определить аргумент \"%s\"" -#: libpq/hba.c:1292 +#: libpq/hba.c:1287 #, c-format msgid "missing entry at end of line" msgstr "отсутствует запись в конце строки" -#: libpq/hba.c:1305 +#: libpq/hba.c:1300 #, c-format msgid "multiple values in ident field" msgstr "множественные значения в поле ident" -#: libpq/hba.c:1357 +#: libpq/hba.c:1352 #, c-format msgid "multiple values specified for connection type" msgstr "для типа подключения указано несколько значений" -#: libpq/hba.c:1358 +#: libpq/hba.c:1353 #, c-format msgid "Specify exactly one connection type per line." msgstr "Определите в строке единственный тип подключения." -#: libpq/hba.c:1385 +#: libpq/hba.c:1380 #, c-format msgid "hostssl record cannot match because SSL is disabled" msgstr "запись с hostssl недействительна, так как поддержка SSL отключена" -#: libpq/hba.c:1386 +#: libpq/hba.c:1381 #, c-format -msgid "Set ssl = on in postgresql.conf." -msgstr "Установите ssl = on в postgresql.conf." +msgid "Set \"ssl = on\" in postgresql.conf." +msgstr "Установите \"ssl = on\" в postgresql.conf." -#: libpq/hba.c:1394 +#: libpq/hba.c:1389 #, c-format msgid "hostssl record cannot match because SSL is not supported by this build" msgstr "" "запись с hostssl недействительна, так как SSL не поддерживается в этой сборке" -#: libpq/hba.c:1406 +#: libpq/hba.c:1401 #, c-format msgid "" "hostgssenc record cannot match because GSSAPI is not supported by this build" @@ -16910,126 +17421,126 @@ msgstr "" "запись с hostgssenc недействительна, так как GSSAPI не поддерживается в этой " "сборке" -#: libpq/hba.c:1426 +#: libpq/hba.c:1421 #, c-format msgid "invalid connection type \"%s\"" msgstr "неверный тип подключения \"%s\"" -#: libpq/hba.c:1440 +#: libpq/hba.c:1435 #, c-format msgid "end-of-line before database specification" msgstr "конец строки перед определением базы данных" -#: libpq/hba.c:1465 +#: libpq/hba.c:1460 #, c-format msgid "end-of-line before role specification" msgstr "конец строки перед определением роли" -#: libpq/hba.c:1492 +#: libpq/hba.c:1487 #, c-format msgid "end-of-line before IP address specification" msgstr "конец строки перед определением IP-адресов" -#: libpq/hba.c:1503 +#: libpq/hba.c:1498 #, c-format msgid "multiple values specified for host address" msgstr "для адреса узла указано несколько значений" -#: libpq/hba.c:1504 +#: libpq/hba.c:1499 #, c-format msgid "Specify one address range per line." msgstr "Определите в строке один диапазон адресов." -#: libpq/hba.c:1562 +#: libpq/hba.c:1557 #, c-format msgid "invalid IP address \"%s\": %s" msgstr "неверный IP-адрес \"%s\": %s" -#: libpq/hba.c:1582 +#: libpq/hba.c:1577 #, c-format msgid "specifying both host name and CIDR mask is invalid: \"%s\"" msgstr "указать одновременно и имя узла, и маску CIDR нельзя: \"%s\"" -#: libpq/hba.c:1596 +#: libpq/hba.c:1591 #, c-format msgid "invalid CIDR mask in address \"%s\"" msgstr "неверная маска CIDR в адресе \"%s\"" -#: libpq/hba.c:1616 +#: libpq/hba.c:1611 #, c-format msgid "end-of-line before netmask specification" msgstr "конец строки перед определением маски сети" -#: libpq/hba.c:1617 +#: libpq/hba.c:1612 #, c-format msgid "" "Specify an address range in CIDR notation, or provide a separate netmask." msgstr "" "Укажите диапазон адресов в формате CIDR или задайте отдельную маску сети." -#: libpq/hba.c:1628 +#: libpq/hba.c:1623 #, c-format msgid "multiple values specified for netmask" msgstr "для сетевой маски указано несколько значений" -#: libpq/hba.c:1642 +#: libpq/hba.c:1637 #, c-format msgid "invalid IP mask \"%s\": %s" msgstr "неверная маска IP \"%s\": %s" -#: libpq/hba.c:1662 +#: libpq/hba.c:1657 #, c-format msgid "IP address and mask do not match" msgstr "IP-адрес не соответствует маске" -#: libpq/hba.c:1678 +#: libpq/hba.c:1673 #, c-format msgid "end-of-line before authentication method" msgstr "конец строки перед методом проверки подлинности" -#: libpq/hba.c:1689 +#: libpq/hba.c:1684 #, c-format msgid "multiple values specified for authentication type" msgstr "для типа проверки подлинности указано несколько значений" -#: libpq/hba.c:1690 +#: libpq/hba.c:1685 #, c-format msgid "Specify exactly one authentication type per line." msgstr "Определите в строке единственный тип проверки подлинности." -#: libpq/hba.c:1767 +#: libpq/hba.c:1750 #, c-format msgid "invalid authentication method \"%s\"" msgstr "неверный метод проверки подлинности \"%s\"" -#: libpq/hba.c:1780 +#: libpq/hba.c:1763 #, c-format msgid "invalid authentication method \"%s\": not supported by this build" msgstr "" "неверный метод проверки подлинности \"%s\": не поддерживается в этой сборке" -#: libpq/hba.c:1803 +#: libpq/hba.c:1786 #, c-format msgid "gssapi authentication is not supported on local sockets" msgstr "проверка подлинности gssapi для локальных сокетов не поддерживается" -#: libpq/hba.c:1815 +#: libpq/hba.c:1798 #, c-format msgid "peer authentication is only supported on local sockets" msgstr "проверка подлинности peer поддерживается только для локальных сокетов" -#: libpq/hba.c:1833 +#: libpq/hba.c:1816 #, c-format msgid "cert authentication is only supported on hostssl connections" msgstr "" "проверка подлинности cert поддерживается только для подключений hostssl" -#: libpq/hba.c:1883 +#: libpq/hba.c:1866 #, c-format msgid "authentication option not in name=value format: %s" msgstr "параметр проверки подлинности указан не в формате имя=значение: %s" -#: libpq/hba.c:1927 +#: libpq/hba.c:1910 #, c-format msgid "" "cannot use ldapbasedn, ldapbinddn, ldapbindpasswd, ldapsearchattribute, " @@ -17038,7 +17549,7 @@ msgstr "" "нельзя использовать ldapbasedn, ldapbinddn, ldapbindpasswd, " "ldapsearchattribute, ldapsearchfilter или ldapurl вместе с ldapprefix" -#: libpq/hba.c:1938 +#: libpq/hba.c:1921 #, c-format msgid "" "authentication method \"ldap\" requires argument \"ldapbasedn\", " @@ -17047,22 +17558,22 @@ msgstr "" "для метода проверки подлинности \"ldap\" требуется установить аргументы " "\"ldapbasedn\" и \"ldapprefix\" или \"ldapsuffix\"" -#: libpq/hba.c:1954 +#: libpq/hba.c:1937 #, c-format msgid "cannot use ldapsearchattribute together with ldapsearchfilter" msgstr "нельзя использовать ldapsearchattribute вместе с ldapsearchfilter" -#: libpq/hba.c:1971 +#: libpq/hba.c:1954 #, c-format msgid "list of RADIUS servers cannot be empty" msgstr "список серверов RADIUS не может быть пустым" -#: libpq/hba.c:1982 +#: libpq/hba.c:1965 #, c-format msgid "list of RADIUS secrets cannot be empty" msgstr "список секретов RADIUS не может быть пустым" -#: libpq/hba.c:1999 +#: libpq/hba.c:1982 #, c-format msgid "" "the number of RADIUS secrets (%d) must be 1 or the same as the number of " @@ -17071,7 +17582,7 @@ msgstr "" "количество секретов RADIUS (%d) должно равняться 1 или количеству серверов " "RADIUS (%d)" -#: libpq/hba.c:2015 +#: libpq/hba.c:1998 #, c-format msgid "" "the number of RADIUS ports (%d) must be 1 or the same as the number of " @@ -17080,7 +17591,7 @@ msgstr "" "количество портов RADIUS (%d) должно равняться 1 или количеству серверов " "RADIUS (%d)" -#: libpq/hba.c:2031 +#: libpq/hba.c:2014 #, c-format msgid "" "the number of RADIUS identifiers (%d) must be 1 or the same as the number of " @@ -17089,16 +17600,16 @@ msgstr "" "количество идентификаторов RADIUS (%d) должно равняться 1 или количеству " "серверов RADIUS (%d)" -#: libpq/hba.c:2083 +#: libpq/hba.c:2066 msgid "ident, peer, gssapi, sspi, and cert" msgstr "ident, peer, gssapi, sspi и cert" -#: libpq/hba.c:2092 +#: libpq/hba.c:2075 #, c-format msgid "clientcert can only be configured for \"hostssl\" rows" msgstr "clientcert можно определить только в строках \"hostssl\"" -#: libpq/hba.c:2109 +#: libpq/hba.c:2092 #, c-format msgid "" "clientcert only accepts \"verify-full\" when using \"cert\" authentication" @@ -17106,95 +17617,95 @@ msgstr "" "с проверкой подлинности \"cert\" для clientcert допускается только значение " "\"verify-full\"" -#: libpq/hba.c:2122 +#: libpq/hba.c:2105 #, c-format msgid "invalid value for clientcert: \"%s\"" msgstr "неверное значение для clientcert: \"%s\"" -#: libpq/hba.c:2134 +#: libpq/hba.c:2117 #, c-format msgid "clientname can only be configured for \"hostssl\" rows" msgstr "clientname можно определить только в строках \"hostssl\"" -#: libpq/hba.c:2153 +#: libpq/hba.c:2136 #, c-format msgid "invalid value for clientname: \"%s\"" msgstr "неверное значение для clientname: \"%s\"" -#: libpq/hba.c:2186 +#: libpq/hba.c:2169 #, c-format msgid "could not parse LDAP URL \"%s\": %s" msgstr "не удалось разобрать URL-адрес LDAP \"%s\": %s" -#: libpq/hba.c:2197 +#: libpq/hba.c:2180 #, c-format msgid "unsupported LDAP URL scheme: %s" msgstr "неподдерживаемая схема в URL-адресе LDAP: %s" -#: libpq/hba.c:2221 +#: libpq/hba.c:2204 #, c-format msgid "LDAP URLs not supported on this platform" msgstr "URL-адреса LDAP не поддерживаются в этой ОС" -#: libpq/hba.c:2239 +#: libpq/hba.c:2222 #, c-format msgid "invalid ldapscheme value: \"%s\"" msgstr "неверное значение ldapscheme: \"%s\"" -#: libpq/hba.c:2257 +#: libpq/hba.c:2240 #, c-format msgid "invalid LDAP port number: \"%s\"" msgstr "неверный номер порта LDAP: \"%s\"" -#: libpq/hba.c:2303 libpq/hba.c:2310 +#: libpq/hba.c:2286 libpq/hba.c:2293 msgid "gssapi and sspi" msgstr "gssapi и sspi" -#: libpq/hba.c:2319 libpq/hba.c:2328 +#: libpq/hba.c:2302 libpq/hba.c:2311 msgid "sspi" msgstr "sspi" -#: libpq/hba.c:2350 +#: libpq/hba.c:2333 #, c-format msgid "could not parse RADIUS server list \"%s\"" msgstr "не удалось разобрать список серверов RADIUS \"%s\"" -#: libpq/hba.c:2398 +#: libpq/hba.c:2381 #, c-format msgid "could not parse RADIUS port list \"%s\"" msgstr "не удалось разобрать список портов RADIUS \"%s\"" -#: libpq/hba.c:2412 +#: libpq/hba.c:2395 #, c-format msgid "invalid RADIUS port number: \"%s\"" msgstr "неверный номер порта RADIUS: \"%s\"" -#: libpq/hba.c:2434 +#: libpq/hba.c:2417 #, c-format msgid "could not parse RADIUS secret list \"%s\"" msgstr "не удалось разобрать список секретов RADIUS \"%s\"" -#: libpq/hba.c:2456 +#: libpq/hba.c:2439 #, c-format msgid "could not parse RADIUS identifiers list \"%s\"" msgstr "не удалось разобрать список идентификаторов RADIUS \"%s\"" -#: libpq/hba.c:2470 +#: libpq/hba.c:2453 #, c-format msgid "unrecognized authentication option name: \"%s\"" msgstr "нераспознанное имя атрибута проверки подлинности: \"%s\"" -#: libpq/hba.c:2662 +#: libpq/hba.c:2645 #, c-format msgid "configuration file \"%s\" contains no entries" msgstr "файл конфигурации \"%s\" не содержит записей" -#: libpq/hba.c:2815 +#: libpq/hba.c:2798 #, c-format msgid "regular expression match for \"%s\" failed: %s" msgstr "ошибка при поиске по регулярному выражению для \"%s\": %s" -#: libpq/hba.c:2839 +#: libpq/hba.c:2822 #, c-format msgid "" "regular expression \"%s\" has no subexpressions as requested by " @@ -17203,88 +17714,96 @@ msgstr "" "в регулярном выражении \"%s\" нет подвыражений, требуемых для обратной " "ссылки в \"%s\"" -#: libpq/hba.c:2942 +#: libpq/hba.c:2925 #, c-format msgid "provided user name (%s) and authenticated user name (%s) do not match" msgstr "" "указанное имя пользователя (%s) не совпадает с именем прошедшего проверку " "(%s)" -#: libpq/hba.c:2962 +#: libpq/hba.c:2945 #, c-format msgid "no match in usermap \"%s\" for user \"%s\" authenticated as \"%s\"" msgstr "" "нет соответствия в файле сопоставлений \"%s\" для пользователя \"%s\", " "прошедшего проверку как \"%s\"" -#: libpq/pqcomm.c:196 +#: libpq/pqcomm.c:211 libpq/pqcomm.c:219 libpq/pqcomm.c:250 libpq/pqcomm.c:259 +#: libpq/pqcomm.c:1648 libpq/pqcomm.c:1693 libpq/pqcomm.c:1733 +#: libpq/pqcomm.c:1777 libpq/pqcomm.c:1816 libpq/pqcomm.c:1855 +#: libpq/pqcomm.c:1891 libpq/pqcomm.c:1930 +#, c-format +msgid "%s(%s) failed: %m" +msgstr "ошибка в %s(%s): %m" + +#: libpq/pqcomm.c:296 #, c-format msgid "could not set socket to nonblocking mode: %m" msgstr "не удалось перевести сокет в неблокирующий режим: %m" -#: libpq/pqcomm.c:357 +#: libpq/pqcomm.c:456 #, c-format msgid "Unix-domain socket path \"%s\" is too long (maximum %d bytes)" msgstr "длина пути Unix-сокета \"%s\" превышает предел (%d байт)" -#: libpq/pqcomm.c:377 +#: libpq/pqcomm.c:476 #, c-format msgid "could not translate host name \"%s\", service \"%s\" to address: %s" msgstr "перевести имя узла \"%s\", службы \"%s\" в адрес не удалось: %s" -#: libpq/pqcomm.c:381 +#: libpq/pqcomm.c:480 #, c-format msgid "could not translate service \"%s\" to address: %s" msgstr "не удалось перевести имя службы \"%s\" в адрес: %s" -#: libpq/pqcomm.c:408 +#: libpq/pqcomm.c:502 #, c-format msgid "could not bind to all requested addresses: MAXLISTEN (%d) exceeded" msgstr "" "не удалось привязаться ко всем запрошенным адресам: превышен предел " "MAXLISTEN (%d)" -#: libpq/pqcomm.c:417 +#: libpq/pqcomm.c:511 msgid "IPv4" msgstr "IPv4" -#: libpq/pqcomm.c:420 +#: libpq/pqcomm.c:514 msgid "IPv6" msgstr "IPv6" -#: libpq/pqcomm.c:423 +#: libpq/pqcomm.c:517 msgid "Unix" msgstr "Unix" -#: libpq/pqcomm.c:427 +#: libpq/pqcomm.c:521 #, c-format msgid "unrecognized address family %d" msgstr "нераспознанное семейство адресов: %d" #. translator: first %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:451 +#: libpq/pqcomm.c:545 #, c-format msgid "could not create %s socket for address \"%s\": %m" msgstr "не удалось создать сокет %s для адреса \"%s\": %m" #. translator: third %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:477 libpq/pqcomm.c:495 +#: libpq/pqcomm.c:574 libpq/pqcomm.c:592 #, c-format msgid "%s(%s) failed for %s address \"%s\": %m" msgstr "ошибка в %s(%s) для адреса %s \"%s\": %m" #. translator: first %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:518 +#: libpq/pqcomm.c:615 #, c-format msgid "could not bind %s address \"%s\": %m" msgstr "не удалось привязаться к адресу %s \"%s\": %m" -#: libpq/pqcomm.c:522 +#: libpq/pqcomm.c:619 #, c-format msgid "Is another postmaster already running on port %d?" msgstr "Возможно, порт %d занят другим процессом postmaster?" -#: libpq/pqcomm.c:524 +#: libpq/pqcomm.c:621 #, c-format msgid "" "Is another postmaster already running on port %d? If not, wait a few seconds " @@ -17294,128 +17813,120 @@ msgstr "" "попытку через несколько секунд." #. translator: first %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:553 +#: libpq/pqcomm.c:650 #, c-format msgid "could not listen on %s address \"%s\": %m" msgstr "не удалось привязаться к адресу %s \"%s\": %m" -#: libpq/pqcomm.c:561 +#: libpq/pqcomm.c:658 #, c-format msgid "listening on Unix socket \"%s\"" msgstr "для приёма подключений открыт Unix-сокет \"%s\"" #. translator: first %s is IPv4 or IPv6 -#: libpq/pqcomm.c:566 +#: libpq/pqcomm.c:663 #, c-format msgid "listening on %s address \"%s\", port %d" msgstr "для приёма подключений по адресу %s \"%s\" открыт порт %d" -#: libpq/pqcomm.c:655 +#: libpq/pqcomm.c:753 #, c-format msgid "group \"%s\" does not exist" msgstr "группа \"%s\" не существует" -#: libpq/pqcomm.c:665 +#: libpq/pqcomm.c:763 #, c-format msgid "could not set group of file \"%s\": %m" msgstr "не удалось установить группу для файла \"%s\": %m" -#: libpq/pqcomm.c:676 +#: libpq/pqcomm.c:774 #, c-format msgid "could not set permissions of file \"%s\": %m" msgstr "не удалось установить права доступа для файла \"%s\": %m" -#: libpq/pqcomm.c:704 +#: libpq/pqcomm.c:803 #, c-format msgid "could not accept new connection: %m" msgstr "не удалось принять новое подключение: %m" -#: libpq/pqcomm.c:744 libpq/pqcomm.c:753 libpq/pqcomm.c:785 libpq/pqcomm.c:795 -#: libpq/pqcomm.c:1630 libpq/pqcomm.c:1675 libpq/pqcomm.c:1715 -#: libpq/pqcomm.c:1759 libpq/pqcomm.c:1798 libpq/pqcomm.c:1837 -#: libpq/pqcomm.c:1873 libpq/pqcomm.c:1912 -#, c-format -msgid "%s(%s) failed: %m" -msgstr "ошибка в %s(%s): %m" - -#: libpq/pqcomm.c:899 +#: libpq/pqcomm.c:885 #, c-format msgid "there is no client connection" msgstr "нет клиентского подключения" -#: libpq/pqcomm.c:955 libpq/pqcomm.c:1056 +#: libpq/pqcomm.c:941 libpq/pqcomm.c:1042 #, c-format msgid "could not receive data from client: %m" msgstr "не удалось получить данные от клиента: %m" -#: libpq/pqcomm.c:1161 tcop/postgres.c:4405 +#: libpq/pqcomm.c:1149 tcop/postgres.c:4533 #, c-format msgid "terminating connection because protocol synchronization was lost" msgstr "закрытие подключения из-за потери синхронизации протокола" -#: libpq/pqcomm.c:1227 +#: libpq/pqcomm.c:1215 #, c-format msgid "unexpected EOF within message length word" msgstr "неожиданный обрыв данных в слове длины сообщения" -#: libpq/pqcomm.c:1237 +#: libpq/pqcomm.c:1225 #, c-format msgid "invalid message length" msgstr "неверная длина сообщения" -#: libpq/pqcomm.c:1259 libpq/pqcomm.c:1272 +#: libpq/pqcomm.c:1247 libpq/pqcomm.c:1260 #, c-format msgid "incomplete message from client" msgstr "неполное сообщение от клиента" -#: libpq/pqcomm.c:1383 +#: libpq/pqcomm.c:1401 #, c-format msgid "could not send data to client: %m" msgstr "не удалось послать данные клиенту: %m" -#: libpq/pqcomm.c:1598 +#: libpq/pqcomm.c:1616 #, c-format msgid "%s(%s) failed: error code %d" msgstr "ошибка в %s(%s): код ошибки %d" -#: libpq/pqcomm.c:1687 +#: libpq/pqcomm.c:1705 #, c-format msgid "setting the keepalive idle time is not supported" msgstr "изменение значения keepalives_idle не поддерживается" -#: libpq/pqcomm.c:1771 libpq/pqcomm.c:1846 libpq/pqcomm.c:1921 +#: libpq/pqcomm.c:1789 libpq/pqcomm.c:1864 libpq/pqcomm.c:1939 #, c-format msgid "%s(%s) not supported" msgstr "%s(%s) не поддерживается" -#: libpq/pqformat.c:407 +#: libpq/pqformat.c:404 #, c-format msgid "no data left in message" msgstr "в сообщении не осталось данных" -#: libpq/pqformat.c:518 libpq/pqformat.c:536 libpq/pqformat.c:557 -#: utils/adt/array_userfuncs.c:799 utils/adt/arrayfuncs.c:1507 -#: utils/adt/rowtypes.c:615 +#: libpq/pqformat.c:515 libpq/pqformat.c:533 libpq/pqformat.c:554 +#: utils/adt/array_userfuncs.c:797 utils/adt/arrayfuncs.c:1481 +#: utils/adt/rowtypes.c:613 #, c-format msgid "insufficient data left in message" msgstr "недостаточно данных осталось в сообщении" -#: libpq/pqformat.c:598 libpq/pqformat.c:627 +#: libpq/pqformat.c:595 libpq/pqformat.c:624 #, c-format msgid "invalid string in message" msgstr "неверная строка в сообщении" -#: libpq/pqformat.c:643 +#: libpq/pqformat.c:640 #, c-format msgid "invalid message format" msgstr "неверный формат сообщения" -#: main/main.c:235 +#: main/main.c:234 #, c-format msgid "%s: WSAStartup failed: %d\n" msgstr "%s: ошибка WSAStartup: %d\n" -#: main/main.c:329 +#: main/main.c:322 #, c-format msgid "" "%s is the PostgreSQL server.\n" @@ -17424,7 +17935,7 @@ msgstr "" "%s - сервер PostgreSQL.\n" "\n" -#: main/main.c:330 +#: main/main.c:323 #, c-format msgid "" "Usage:\n" @@ -17435,110 +17946,110 @@ msgstr "" " %s [ПАРАМЕТР]...\n" "\n" -#: main/main.c:331 +#: main/main.c:324 #, c-format msgid "Options:\n" msgstr "Параметры:\n" -#: main/main.c:332 +#: main/main.c:325 #, c-format msgid " -B NBUFFERS number of shared buffers\n" msgstr " -B ЧИСЛО_БУФ число разделяемых буферов\n" -#: main/main.c:333 +#: main/main.c:326 #, c-format msgid " -c NAME=VALUE set run-time parameter\n" msgstr " -c ИМЯ=ЗНАЧЕНИЕ установить параметр выполнения\n" -#: main/main.c:334 +#: main/main.c:327 #, c-format msgid " -C NAME print value of run-time parameter, then exit\n" msgstr " -C ИМЯ вывести значение параметра выполнения и выйти\n" -#: main/main.c:335 +#: main/main.c:328 #, c-format msgid " -d 1-5 debugging level\n" msgstr " -d 1-5 уровень отладочных сообщений\n" -#: main/main.c:336 +#: main/main.c:329 #, c-format msgid " -D DATADIR database directory\n" -msgstr " -D КАТАЛОГ каталог с данными\n" +msgstr " -D КАТ_ДАННЫХ каталог с данными\n" # well-spelled: ДМГ -#: main/main.c:337 +#: main/main.c:330 #, c-format msgid " -e use European date input format (DMY)\n" msgstr " -e использовать европейский формат дат (ДМГ)\n" -#: main/main.c:338 +#: main/main.c:331 #, c-format msgid " -F turn fsync off\n" msgstr " -F выключить синхронизацию с ФС\n" -#: main/main.c:339 +#: main/main.c:332 #, c-format msgid " -h HOSTNAME host name or IP address to listen on\n" msgstr " -h ИМЯ имя или IP-адрес для приёма сетевых соединений\n" -#: main/main.c:340 +#: main/main.c:333 #, c-format msgid " -i enable TCP/IP connections (deprecated)\n" msgstr "" " -i включить соединения TCP/IP (устаревший параметр)\n" -#: main/main.c:341 +#: main/main.c:334 #, c-format msgid " -k DIRECTORY Unix-domain socket location\n" msgstr " -k КАТАЛОГ расположение Unix-сокетов\n" -#: main/main.c:343 +#: main/main.c:336 #, c-format msgid " -l enable SSL connections\n" msgstr " -l разрешить SSL-подключения\n" # well-spelled: ПОДКЛ -#: main/main.c:345 +#: main/main.c:338 #, c-format msgid " -N MAX-CONNECT maximum number of allowed connections\n" msgstr " -N МАКС_ПОДКЛ предельное число подключений\n" -#: main/main.c:346 +#: main/main.c:339 #, c-format msgid " -p PORT port number to listen on\n" msgstr " -p ПОРТ номер порта для приёма подключений\n" -#: main/main.c:347 +#: main/main.c:340 #, c-format msgid " -s show statistics after each query\n" msgstr " -s показывать статистику после каждого запроса\n" -#: main/main.c:348 +#: main/main.c:341 #, c-format msgid " -S WORK-MEM set amount of memory for sorts (in kB)\n" msgstr " -S РАБ_ПАМЯТЬ задать объём памяти для сортировки (в КБ)\n" -#: main/main.c:349 +#: main/main.c:342 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version показать версию и выйти\n" -#: main/main.c:350 +#: main/main.c:343 #, c-format msgid " --NAME=VALUE set run-time parameter\n" msgstr " --ИМЯ=ЗНАЧЕНИЕ установить параметр выполнения\n" -#: main/main.c:351 +#: main/main.c:344 #, c-format msgid " --describe-config describe configuration parameters, then exit\n" msgstr " --describe-config вывести параметры конфигурации и выйти\n" -#: main/main.c:352 +#: main/main.c:345 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help показать эту справку и выйти\n" -#: main/main.c:354 +#: main/main.c:347 #, c-format msgid "" "\n" @@ -17547,27 +18058,27 @@ msgstr "" "\n" "Параметры для разработчиков:\n" -#: main/main.c:355 +#: main/main.c:348 #, c-format msgid " -f s|i|o|b|t|n|m|h forbid use of some plan types\n" msgstr " -f s|i|o|b|t|n|m|h запретить некоторые типы планов\n" -#: main/main.c:356 +#: main/main.c:349 #, c-format msgid " -O allow system table structure changes\n" msgstr " -O разрешить изменять структуру системных таблиц\n" -#: main/main.c:357 +#: main/main.c:350 #, c-format msgid " -P disable system indexes\n" msgstr " -P отключить системные индексы\n" -#: main/main.c:358 +#: main/main.c:351 #, c-format msgid " -t pa|pl|ex show timings after each query\n" msgstr " -t pa|pl|ex показать время каждого запроса\n" -#: main/main.c:359 +#: main/main.c:352 #, c-format msgid "" " -T send SIGABRT to all backend processes if one dies\n" @@ -17575,13 +18086,13 @@ msgstr "" " -T посылать сигнал SIGABRT всем серверным процессам\n" " при отключении одного\n" -#: main/main.c:360 +#: main/main.c:353 #, c-format msgid " -W NUM wait NUM seconds to allow attach from a debugger\n" msgstr "" " -W СЕК ждать заданное число секунд для подключения отладчика\n" -#: main/main.c:362 +#: main/main.c:355 #, c-format msgid "" "\n" @@ -17590,7 +18101,7 @@ msgstr "" "\n" "Параметры для монопольного режима:\n" -#: main/main.c:363 +#: main/main.c:356 #, c-format msgid "" " --single selects single-user mode (must be first argument)\n" @@ -17598,22 +18109,22 @@ msgstr "" " --single включить монопольный режим\n" " (этот аргумент должен быть первым)\n" -#: main/main.c:364 +#: main/main.c:357 #, c-format msgid " DBNAME database name (defaults to user name)\n" msgstr " ИМЯ_БД база данных (по умолчанию - имя пользователя)\n" -#: main/main.c:365 +#: main/main.c:358 #, c-format msgid " -d 0-5 override debugging level\n" msgstr " -d 0-5 переопределить уровень отладочных сообщений\n" -#: main/main.c:366 +#: main/main.c:359 #, c-format msgid " -E echo statement before execution\n" msgstr " -E выводить SQL-операторы перед выполнением\n" -#: main/main.c:367 +#: main/main.c:360 #, c-format msgid "" " -j do not use newline as interactive query delimiter\n" @@ -17621,12 +18132,12 @@ msgstr "" " -j не считать конец строки разделителем интерактивных " "запросов\n" -#: main/main.c:368 main/main.c:374 +#: main/main.c:361 main/main.c:367 #, c-format msgid " -r FILENAME send stdout and stderr to given file\n" msgstr " -r ИМЯ_ФАЙЛА перенаправить STDOUT и STDERR в указанный файл\n" -#: main/main.c:370 +#: main/main.c:363 #, c-format msgid "" "\n" @@ -17635,7 +18146,7 @@ msgstr "" "\n" "Параметры для режима инициализации:\n" -#: main/main.c:371 +#: main/main.c:364 #, c-format msgid "" " --boot selects bootstrapping mode (must be first argument)\n" @@ -17643,14 +18154,14 @@ msgstr "" " --boot включить режим инициализации\n" " (этот аргумент должен быть первым)\n" -#: main/main.c:372 +#: main/main.c:365 #, c-format msgid " --check selects check mode (must be first argument)\n" msgstr "" " --check включить режим проверки (этот аргумент должен быть " "первым)\n" -#: main/main.c:373 +#: main/main.c:366 #, c-format msgid "" " DBNAME database name (mandatory argument in bootstrapping " @@ -17658,7 +18169,7 @@ msgid "" msgstr "" " ИМЯ_БД имя базы данных (необходимо в режиме инициализации)\n" -#: main/main.c:376 +#: main/main.c:369 #, c-format msgid "" "\n" @@ -17675,12 +18186,12 @@ msgstr "" "\n" "Об ошибках сообщайте по адресу <%s>.\n" -#: main/main.c:380 +#: main/main.c:373 #, c-format msgid "%s home page: <%s>\n" msgstr "Домашняя страница %s: <%s>\n" -#: main/main.c:391 +#: main/main.c:384 #, c-format msgid "" "\"root\" execution of the PostgreSQL server is not permitted.\n" @@ -17693,12 +18204,12 @@ msgstr "" "должен запускать обычный пользователь. Подробнее о том, как\n" "правильно запускать сервер, вы можете узнать в документации.\n" -#: main/main.c:408 +#: main/main.c:401 #, c-format msgid "%s: real and effective user IDs must match\n" msgstr "%s: фактический и эффективный ID пользователя должны совпадать\n" -#: main/main.c:415 +#: main/main.c:408 #, c-format msgid "" "Execution of PostgreSQL by a user with administrative permissions is not\n" @@ -17723,19 +18234,14 @@ msgstr "расширенный тип узла \"%s\" уже существуе msgid "ExtensibleNodeMethods \"%s\" was not registered" msgstr "методы расширенного узла \"%s\" не зарегистрированы" -#: nodes/makefuncs.c:153 statistics/extended_stats.c:2335 +#: nodes/makefuncs.c:152 statistics/extended_stats.c:2310 #, c-format msgid "relation \"%s\" does not have a composite type" msgstr "отношение \"%s\" не имеет составного типа" -#: nodes/makefuncs.c:879 -#, c-format -msgid "unrecognized JSON encoding: %s" -msgstr "нераспознанная кодировка JSON: %s" - -#: nodes/nodeFuncs.c:116 nodes/nodeFuncs.c:147 parser/parse_coerce.c:2567 +#: nodes/nodeFuncs.c:118 nodes/nodeFuncs.c:149 parser/parse_coerce.c:2567 #: parser/parse_coerce.c:2705 parser/parse_coerce.c:2752 -#: parser/parse_expr.c:2049 parser/parse_func.c:710 parser/parse_oper.c:883 +#: parser/parse_expr.c:2112 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" @@ -17751,7 +18257,7 @@ msgstr "портал \"%s\" с параметрами: %s" msgid "unnamed portal with parameters: %s" msgstr "неименованный портал с параметрами: %s" -#: optimizer/path/joinrels.c:973 +#: optimizer/path/joinrels.c:972 #, c-format msgid "" "FULL JOIN is only supported with merge-joinable or hash-joinable join " @@ -17760,32 +18266,32 @@ msgstr "" "FULL JOIN поддерживается только с условиями, допускающими соединение " "слиянием или хеш-соединение" -#: optimizer/plan/createplan.c:7111 parser/parse_merge.c:187 -#: parser/parse_merge.c:194 +#: optimizer/plan/createplan.c:7175 parser/parse_merge.c:203 +#: rewrite/rewriteHandler.c:1696 #, c-format msgid "cannot execute MERGE on relation \"%s\"" -msgstr "выполнить MERGE для отношение \"%s\" нельзя" +msgstr "выполнить MERGE для отношения \"%s\" нельзя" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: optimizer/plan/initsplan.c:1408 +#: optimizer/plan/initsplan.c:1407 #, c-format msgid "%s cannot be applied to the nullable side of an outer join" msgstr "%s не может применяться к NULL-содержащей стороне внешнего соединения" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: optimizer/plan/planner.c:1361 parser/analyze.c:1772 parser/analyze.c:2029 -#: parser/analyze.c:3242 +#: optimizer/plan/planner.c:1380 parser/analyze.c:1771 parser/analyze.c:2029 +#: parser/analyze.c:3247 #, c-format msgid "%s is not allowed with UNION/INTERSECT/EXCEPT" msgstr "%s несовместимо с UNION/INTERSECT/EXCEPT" -#: optimizer/plan/planner.c:2076 optimizer/plan/planner.c:4035 +#: optimizer/plan/planner.c:2121 optimizer/plan/planner.c:4108 #, c-format msgid "could not implement GROUP BY" msgstr "не удалось реализовать GROUP BY" -#: optimizer/plan/planner.c:2077 optimizer/plan/planner.c:4036 -#: optimizer/plan/planner.c:4676 optimizer/prep/prepunion.c:1053 +#: optimizer/plan/planner.c:2122 optimizer/plan/planner.c:4109 +#: optimizer/plan/planner.c:4790 optimizer/prep/prepunion.c:1320 #, c-format msgid "" "Some of the datatypes only support hashing, while others only support " @@ -17794,77 +18300,77 @@ msgstr "" "Одни типы данных поддерживают только хеширование, а другие - только " "сортировку." -#: optimizer/plan/planner.c:4675 +#: optimizer/plan/planner.c:4789 #, c-format msgid "could not implement DISTINCT" msgstr "не удалось реализовать DISTINCT" -#: optimizer/plan/planner.c:6014 +#: optimizer/plan/planner.c:6134 #, c-format msgid "could not implement window PARTITION BY" msgstr "не удалось реализовать PARTITION BY для окна" -#: optimizer/plan/planner.c:6015 +#: optimizer/plan/planner.c:6135 #, c-format msgid "Window partitioning columns must be of sortable datatypes." msgstr "Столбцы, разбивающие окна, должны иметь сортируемые типы данных." -#: optimizer/plan/planner.c:6019 +#: optimizer/plan/planner.c:6139 #, c-format msgid "could not implement window ORDER BY" msgstr "не удалось реализовать ORDER BY для окна" -#: optimizer/plan/planner.c:6020 +#: optimizer/plan/planner.c:6140 #, c-format msgid "Window ordering columns must be of sortable datatypes." msgstr "Столбцы, сортирующие окна, должны иметь сортируемые типы данных." -#: optimizer/prep/prepunion.c:516 +#: optimizer/prep/prepunion.c:467 #, c-format msgid "could not implement recursive UNION" msgstr "не удалось реализовать рекурсивный UNION" -#: optimizer/prep/prepunion.c:517 +#: optimizer/prep/prepunion.c:468 #, c-format msgid "All column datatypes must be hashable." msgstr "Все столбцы должны иметь хешируемые типы данных." #. translator: %s is UNION, INTERSECT, or EXCEPT -#: optimizer/prep/prepunion.c:1052 +#: optimizer/prep/prepunion.c:1319 #, c-format msgid "could not implement %s" msgstr "не удалось реализовать %s" -#: optimizer/util/clauses.c:4933 +#: optimizer/util/clauses.c:4963 #, c-format msgid "SQL function \"%s\" during inlining" msgstr "внедрённая в код SQL-функция \"%s\"" -#: optimizer/util/plancat.c:154 +#: optimizer/util/plancat.c:153 #, c-format msgid "cannot access temporary or unlogged relations during recovery" msgstr "" "обращаться к временным или нежурналируемым отношениям в процессе " "восстановления нельзя" -#: optimizer/util/plancat.c:726 +#: optimizer/util/plancat.c:768 #, c-format msgid "whole row unique index inference specifications are not supported" msgstr "" "указания со ссылкой на всю строку для выбора уникального индекса не " "поддерживаются" -#: optimizer/util/plancat.c:743 +#: optimizer/util/plancat.c:785 #, c-format msgid "constraint in ON CONFLICT clause has no associated index" msgstr "ограничению в ON CONFLICT не соответствует индекс" -#: optimizer/util/plancat.c:793 +#: optimizer/util/plancat.c:835 #, c-format msgid "ON CONFLICT DO UPDATE not supported with exclusion constraints" msgstr "ON CONFLICT DO UPDATE не поддерживается с ограничениями-исключениями" -#: optimizer/util/plancat.c:898 +#: optimizer/util/plancat.c:945 #, c-format msgid "" "there is no unique or exclusion constraint matching the ON CONFLICT " @@ -17873,22 +18379,22 @@ msgstr "" "нет уникального ограничения или ограничения-исключения, соответствующего " "указанию ON CONFLICT" -#: parser/analyze.c:826 parser/analyze.c:1551 +#: parser/analyze.c:824 parser/analyze.c:1550 #, c-format msgid "VALUES lists must all be the same length" msgstr "списки VALUES должны иметь одинаковую длину" -#: parser/analyze.c:1028 +#: parser/analyze.c:1027 #, c-format msgid "INSERT has more expressions than target columns" msgstr "INSERT содержит больше выражений, чем целевых столбцов" -#: parser/analyze.c:1046 +#: parser/analyze.c:1045 #, c-format msgid "INSERT has more target columns than expressions" msgstr "INSERT содержит больше целевых столбцов, чем выражений" -#: parser/analyze.c:1050 +#: parser/analyze.c:1049 #, c-format msgid "" "The insertion source is a row expression containing the same number of " @@ -17897,13 +18403,13 @@ msgstr "" "Источником данных является строка, включающая столько же столбцов, сколько " "требуется для INSERT. Вы намеренно использовали скобки?" -#: parser/analyze.c:1358 parser/analyze.c:1745 +#: parser/analyze.c:1357 parser/analyze.c:1744 #, c-format msgid "SELECT ... INTO is not allowed here" msgstr "SELECT ... INTO здесь не допускается" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:1674 parser/analyze.c:3474 +#: parser/analyze.c:1673 parser/analyze.c:3479 #, c-format msgid "%s cannot be applied to VALUES" msgstr "%s нельзя применять к VALUES" @@ -17947,12 +18453,17 @@ msgstr "" msgid "each %s query must have the same number of columns" msgstr "все запросы в %s должны возвращать одинаковое число столбцов" -#: parser/analyze.c:2584 +#: parser/analyze.c:2535 +#, c-format +msgid "SET target columns cannot be qualified with the relation name." +msgstr "К именам целевых столбцов в SET нельзя добавлять имя отношения." + +#: parser/analyze.c:2589 #, c-format msgid "RETURNING must have at least one column" msgstr "в RETURNING должен быть минимум один столбец" -#: parser/analyze.c:2687 +#: parser/analyze.c:2692 #, c-format msgid "assignment source returned %d column" msgid_plural "assignment source returned %d columns" @@ -17960,234 +18471,234 @@ msgstr[0] "источник присваиваемого значения выд msgstr[1] "источник присваиваемого значения выдал %d столбца" msgstr[2] "источник присваиваемого значения выдал %d столбцов" -#: parser/analyze.c:2748 +#: parser/analyze.c:2753 #, c-format msgid "variable \"%s\" is of type %s but expression is of type %s" msgstr "переменная \"%s\" имеет тип %s, а выражение - тип %s" #. translator: %s is a SQL keyword -#: parser/analyze.c:2873 parser/analyze.c:2881 +#: parser/analyze.c:2878 parser/analyze.c:2886 #, c-format msgid "cannot specify both %s and %s" msgstr "указать %s и %s одновременно нельзя" -#: parser/analyze.c:2901 +#: parser/analyze.c:2906 #, 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:2909 +#: parser/analyze.c:2914 #, c-format msgid "DECLARE CURSOR WITH HOLD ... %s is not supported" msgstr "DECLARE CURSOR WITH HOLD ... %s не поддерживается" -#: parser/analyze.c:2912 +#: parser/analyze.c:2917 #, 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:2920 +#: parser/analyze.c:2925 #, 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:2931 +#: parser/analyze.c:2936 #, c-format msgid "DECLARE INSENSITIVE CURSOR ... %s is not valid" msgstr "DECLARE INSENSITIVE CURSOR ... %s не допускается" -#: parser/analyze.c:2934 +#: parser/analyze.c:2939 #, c-format msgid "Insensitive cursors must be READ ONLY." msgstr "Независимые курсоры должны быть READ ONLY." -#: parser/analyze.c:3028 +#: parser/analyze.c:3033 #, c-format msgid "materialized views must not use data-modifying statements in WITH" msgstr "" "в материализованных представлениях не должны использоваться операторы, " "изменяющие данные в WITH" -#: parser/analyze.c:3038 +#: parser/analyze.c:3043 #, c-format msgid "materialized views must not use temporary tables or views" msgstr "" "в материализованных представлениях не должны использоваться временные " "таблицы и представления" -#: parser/analyze.c:3048 +#: parser/analyze.c:3053 #, c-format msgid "materialized views may not be defined using bound parameters" msgstr "" "определять материализованные представления со связанными параметрами нельзя" -#: parser/analyze.c:3060 +#: parser/analyze.c:3065 #, c-format msgid "materialized views cannot be unlogged" msgstr "материализованные представления не могут быть нежурналируемыми" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3249 +#: parser/analyze.c:3254 #, 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:3256 +#: parser/analyze.c:3261 #, 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:3263 +#: parser/analyze.c:3268 #, 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:3270 +#: parser/analyze.c:3275 #, 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:3277 +#: parser/analyze.c:3282 #, 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:3284 +#: parser/analyze.c:3289 #, 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:3383 +#: parser/analyze.c:3388 #, 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:3447 +#: parser/analyze.c:3452 #, 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:3456 +#: parser/analyze.c:3461 #, 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:3465 +#: parser/analyze.c:3470 #, 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:3483 +#: parser/analyze.c:3488 #, 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:3492 +#: parser/analyze.c:3497 #, 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:3512 +#: parser/analyze.c:3517 #, c-format msgid "relation \"%s\" in %s clause not found in FROM clause" msgstr "отношение \"%s\" в определении %s отсутствует в предложении FROM" -#: parser/parse_agg.c:209 parser/parse_oper.c:227 +#: parser/parse_agg.c:210 parser/parse_oper.c:215 #, c-format msgid "could not identify an ordering operator for type %s" msgstr "для типа %s не удалось найти оператор сортировки" -#: parser/parse_agg.c:211 +#: parser/parse_agg.c:212 #, c-format msgid "Aggregates with DISTINCT must be able to sort their inputs." msgstr "Агрегатным функциям с DISTINCT необходимо сортировать входные данные." -#: parser/parse_agg.c:269 +#: parser/parse_agg.c:270 #, c-format msgid "GROUPING must have fewer than 32 arguments" msgstr "у GROUPING должно быть меньше 32 аргументов" -#: parser/parse_agg.c:372 +#: parser/parse_agg.c:373 msgid "aggregate functions are not allowed in JOIN conditions" msgstr "агрегатные функции нельзя применять в условиях JOIN" -#: parser/parse_agg.c:374 +#: parser/parse_agg.c:375 msgid "grouping operations are not allowed in JOIN conditions" msgstr "операции группировки нельзя применять в условиях JOIN" -#: parser/parse_agg.c:386 +#: parser/parse_agg.c:385 msgid "" "aggregate functions are not allowed in FROM clause of their own query level" msgstr "" "агрегатные функции нельзя применять в предложении FROM их уровня запроса" -#: parser/parse_agg.c:388 +#: parser/parse_agg.c:387 msgid "" "grouping operations are not allowed in FROM clause of their own query level" msgstr "" "операции группировки нельзя применять в предложении FROM их уровня запроса" -#: parser/parse_agg.c:393 +#: parser/parse_agg.c:392 msgid "aggregate functions are not allowed in functions in FROM" msgstr "агрегатные функции нельзя применять в функциях во FROM" -#: parser/parse_agg.c:395 +#: parser/parse_agg.c:394 msgid "grouping operations are not allowed in functions in FROM" msgstr "операции группировки нельзя применять в функциях во FROM" -#: parser/parse_agg.c:403 +#: parser/parse_agg.c:402 msgid "aggregate functions are not allowed in policy expressions" msgstr "агрегатные функции нельзя применять в выражениях политик" -#: parser/parse_agg.c:405 +#: parser/parse_agg.c:404 msgid "grouping operations are not allowed in policy expressions" msgstr "операции группировки нельзя применять в выражениях политик" -#: parser/parse_agg.c:422 +#: parser/parse_agg.c:421 msgid "aggregate functions are not allowed in window RANGE" msgstr "агрегатные функции нельзя применять в указании RANGE для окна" -#: parser/parse_agg.c:424 +#: parser/parse_agg.c:423 msgid "grouping operations are not allowed in window RANGE" msgstr "операции группировки нельзя применять в указании RANGE для окна" -#: parser/parse_agg.c:429 +#: parser/parse_agg.c:428 msgid "aggregate functions are not allowed in window ROWS" msgstr "агрегатные функции нельзя применять в указании ROWS для окна" -#: parser/parse_agg.c:431 +#: parser/parse_agg.c:430 msgid "grouping operations are not allowed in window ROWS" msgstr "операции группировки нельзя применять в указании ROWS для окна" -#: parser/parse_agg.c:436 +#: parser/parse_agg.c:435 msgid "aggregate functions are not allowed in window GROUPS" msgstr "агрегатные функции нельзя применять в указании GROUPS для окна" -#: parser/parse_agg.c:438 +#: parser/parse_agg.c:437 msgid "grouping operations are not allowed in window GROUPS" msgstr "операции группировки нельзя применять в указании GROUPS для окна" -#: parser/parse_agg.c:451 +#: parser/parse_agg.c:450 msgid "aggregate functions are not allowed in MERGE WHEN conditions" msgstr "агрегатные функции нельзя применять в условиях MERGE WHEN" -#: parser/parse_agg.c:453 +#: parser/parse_agg.c:452 msgid "grouping operations are not allowed in MERGE WHEN conditions" msgstr "операции группировки нельзя применять в условиях MERGE WHEN" @@ -18298,7 +18809,7 @@ 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:1956 +#: parser/parse_agg.c:597 parser/parse_clause.c:1962 #, c-format msgid "aggregate functions are not allowed in %s" msgstr "агрегатные функции нельзя применять в конструкции %s" @@ -18325,8 +18836,8 @@ msgstr "" "вызовы агрегатных функций не могут включать вызовы функций, возвращающих " "множества" -#: parser/parse_agg.c:780 parser/parse_expr.c:1700 parser/parse_expr.c:2182 -#: parser/parse_func.c:884 +#: parser/parse_agg.c:780 parser/parse_expr.c:1762 parser/parse_expr.c:2245 +#: parser/parse_func.c:885 #, c-format msgid "" "You might be able to move the set-returning function into a LATERAL FROM " @@ -18360,82 +18871,82 @@ msgstr "оконные функции нельзя применять в опр msgid "window functions are not allowed in MERGE WHEN conditions" msgstr "оконные функции нельзя применять в условиях MERGE WHEN" -#: parser/parse_agg.c:925 +#: parser/parse_agg.c:926 msgid "window functions are not allowed in check constraints" msgstr "оконные функции нельзя применять в ограничениях-проверках" -#: parser/parse_agg.c:929 +#: parser/parse_agg.c:930 msgid "window functions are not allowed in DEFAULT expressions" msgstr "оконные функции нельзя применять в выражениях DEFAULT" -#: parser/parse_agg.c:932 +#: parser/parse_agg.c:933 msgid "window functions are not allowed in index expressions" msgstr "оконные функции нельзя применять в выражениях индексов" -#: parser/parse_agg.c:935 +#: parser/parse_agg.c:936 msgid "window functions are not allowed in statistics expressions" msgstr "оконные функции нельзя применять в выражениях статистики" -#: parser/parse_agg.c:938 +#: parser/parse_agg.c:939 msgid "window functions are not allowed in index predicates" msgstr "оконные функции нельзя применять в предикатах индексов" -#: parser/parse_agg.c:941 +#: parser/parse_agg.c:942 msgid "window functions are not allowed in transform expressions" msgstr "оконные функции нельзя применять в выражениях преобразований" -#: parser/parse_agg.c:944 +#: parser/parse_agg.c:945 msgid "window functions are not allowed in EXECUTE parameters" msgstr "оконные функции нельзя применять в параметрах EXECUTE" -#: parser/parse_agg.c:947 +#: parser/parse_agg.c:948 msgid "window functions are not allowed in trigger WHEN conditions" msgstr "оконные функции нельзя применять в условиях WHEN для триггеров" -#: parser/parse_agg.c:950 +#: parser/parse_agg.c:951 msgid "window functions are not allowed in partition bound" msgstr "оконные функции нельзя применять в выражении границы секции" -#: parser/parse_agg.c:953 +#: parser/parse_agg.c:954 msgid "window functions are not allowed in partition key expressions" msgstr "оконные функции нельзя применять в выражениях ключа секционирования" -#: parser/parse_agg.c:956 +#: parser/parse_agg.c:957 msgid "window functions are not allowed in CALL arguments" msgstr "оконные функции нельзя применять в аргументах CALL" -#: parser/parse_agg.c:959 +#: parser/parse_agg.c:960 msgid "window functions are not allowed in COPY FROM WHERE conditions" msgstr "оконные функции нельзя применять в условиях COPY FROM WHERE" -#: parser/parse_agg.c:962 +#: parser/parse_agg.c:963 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:985 parser/parse_clause.c:1965 +#: parser/parse_agg.c:986 parser/parse_clause.c:1971 #, c-format msgid "window functions are not allowed in %s" msgstr "оконные функции нельзя применять в конструкции %s" -#: parser/parse_agg.c:1019 parser/parse_clause.c:2798 +#: parser/parse_agg.c:1020 parser/parse_clause.c:2804 #, c-format msgid "window \"%s\" does not exist" msgstr "окно \"%s\" не существует" -#: parser/parse_agg.c:1107 +#: parser/parse_agg.c:1108 #, c-format msgid "too many grouping sets present (maximum 4096)" msgstr "слишком много наборов группирования (при максимуме 4096)" -#: parser/parse_agg.c:1247 +#: parser/parse_agg.c:1248 #, c-format msgid "" "aggregate functions are not allowed in a recursive query's recursive term" msgstr "" "в рекурсивной части рекурсивного запроса агрегатные функции недопустимы" -#: parser/parse_agg.c:1440 +#: parser/parse_agg.c:1441 #, c-format msgid "" "column \"%s.%s\" must appear in the GROUP BY clause or be used in an " @@ -18444,7 +18955,7 @@ msgstr "" "столбец \"%s.%s\" должен фигурировать в предложении GROUP BY или " "использоваться в агрегатной функции" -#: parser/parse_agg.c:1443 +#: parser/parse_agg.c:1444 #, c-format msgid "" "Direct arguments of an ordered-set aggregate must use only grouped columns." @@ -18452,13 +18963,13 @@ msgstr "" "Прямые аргументы сортирующей агрегатной функции могут включать только " "группируемые столбцы." -#: parser/parse_agg.c:1448 +#: parser/parse_agg.c:1449 #, c-format msgid "subquery uses ungrouped column \"%s.%s\" from outer query" msgstr "" "подзапрос использует негруппированный столбец \"%s.%s\" из внешнего запроса" -#: parser/parse_agg.c:1612 +#: parser/parse_agg.c:1613 #, c-format msgid "" "arguments to GROUPING must be grouping expressions of the associated query " @@ -18467,25 +18978,25 @@ msgstr "" "аргументами GROUPING должны быть выражения группирования для " "соответствующего уровня запроса" -#: parser/parse_clause.c:195 +#: parser/parse_clause.c:193 #, c-format msgid "relation \"%s\" cannot be the target of a modifying statement" msgstr "отношение \"%s\" не может быть целевым в операторе, изменяющем данные" -#: parser/parse_clause.c:571 parser/parse_clause.c:599 parser/parse_func.c:2552 +#: parser/parse_clause.c:569 parser/parse_clause.c:597 parser/parse_func.c:2553 #, c-format msgid "set-returning functions must appear at top level of FROM" msgstr "" "функции, возвращающие множества, должны находиться на верхнем уровне FROM" -#: parser/parse_clause.c:611 +#: parser/parse_clause.c:609 #, c-format msgid "multiple column definition lists are not allowed for the same function" msgstr "" "для одной и той же функции нельзя задать разные списки с определениями " "столбцов" -#: parser/parse_clause.c:644 +#: parser/parse_clause.c:642 #, c-format msgid "" "ROWS FROM() with multiple functions cannot have a column definition list" @@ -18493,7 +19004,7 @@ msgstr "" "у ROWS FROM() с несколькими функциями не может быть списка с определениями " "столбцов" -#: parser/parse_clause.c:645 +#: parser/parse_clause.c:643 #, c-format msgid "" "Put a separate column definition list for each function inside ROWS FROM()." @@ -18501,14 +19012,14 @@ msgstr "" "Добавьте отдельные списки с определениями столбцов для каждой функции в ROWS " "FROM()." -#: parser/parse_clause.c:651 +#: parser/parse_clause.c:649 #, c-format msgid "UNNEST() with multiple arguments cannot have a column definition list" msgstr "" "у UNNEST() с несколькими аргументами не может быть списка с определениями " "столбцов" -#: parser/parse_clause.c:652 +#: parser/parse_clause.c:650 #, c-format msgid "" "Use separate UNNEST() calls inside ROWS FROM(), and attach a column " @@ -18517,43 +19028,43 @@ msgstr "" "Напишите отдельные вызовы UNNEST() внутри ROWS FROM() и добавьте список " "определений столбцов к каждому." -#: parser/parse_clause.c:659 +#: parser/parse_clause.c:657 #, c-format msgid "WITH ORDINALITY cannot be used with a column definition list" msgstr "" "WITH ORDINALITY нельзя использовать со списком с определениями столбцов" -#: parser/parse_clause.c:660 +#: parser/parse_clause.c:658 #, c-format msgid "Put the column definition list inside ROWS FROM()." msgstr "Поместите список определений столбцов внутрь ROWS FROM()." -#: parser/parse_clause.c:760 +#: parser/parse_clause.c:762 parser/parse_jsontable.c:295 #, c-format msgid "only one FOR ORDINALITY column is allowed" msgstr "FOR ORDINALITY допускается только для одного столбца" -#: parser/parse_clause.c:821 +#: parser/parse_clause.c:823 #, c-format msgid "column name \"%s\" is not unique" msgstr "имя столбца \"%s\" не уникально" -#: parser/parse_clause.c:863 +#: parser/parse_clause.c:865 #, c-format msgid "namespace name \"%s\" is not unique" msgstr "имя пространства имён \"%s\" не уникально" -#: parser/parse_clause.c:873 +#: parser/parse_clause.c:875 #, c-format msgid "only one default namespace is allowed" msgstr "допускается только одно пространство имён по умолчанию" -#: parser/parse_clause.c:933 +#: parser/parse_clause.c:935 #, c-format msgid "tablesample method %s does not exist" msgstr "метод %s для получения выборки не существует" -#: parser/parse_clause.c:955 +#: parser/parse_clause.c:957 #, c-format msgid "tablesample method %s requires %d argument, not %d" msgid_plural "tablesample method %s requires %d arguments, not %d" @@ -18561,104 +19072,104 @@ msgstr[0] "метод %s для получения выборки требует msgstr[1] "метод %s для получения выборки требует аргументов: %d, получено: %d" msgstr[2] "метод %s для получения выборки требует аргументов: %d, получено: %d" -#: parser/parse_clause.c:989 +#: parser/parse_clause.c:991 #, c-format msgid "tablesample method %s does not support REPEATABLE" msgstr "метод %s для получения выборки не поддерживает REPEATABLE" -#: parser/parse_clause.c:1138 +#: parser/parse_clause.c:1144 #, c-format msgid "TABLESAMPLE clause can only be applied to tables and materialized views" msgstr "" "предложение TABLESAMPLE можно применять только к таблицам и " "материализованным представлениям" -#: parser/parse_clause.c:1325 +#: parser/parse_clause.c:1331 #, c-format msgid "column name \"%s\" appears more than once in USING clause" msgstr "имя столбца \"%s\" фигурирует в предложении USING неоднократно" -#: parser/parse_clause.c:1340 +#: parser/parse_clause.c:1346 #, c-format msgid "common column name \"%s\" appears more than once in left table" msgstr "имя общего столбца \"%s\" фигурирует в таблице слева неоднократно" -#: parser/parse_clause.c:1349 +#: parser/parse_clause.c:1355 #, c-format msgid "column \"%s\" specified in USING clause does not exist in left table" msgstr "в таблице слева нет столбца \"%s\", указанного в предложении USING" -#: parser/parse_clause.c:1364 +#: parser/parse_clause.c:1370 #, c-format msgid "common column name \"%s\" appears more than once in right table" msgstr "имя общего столбца \"%s\" фигурирует в таблице справа неоднократно" -#: parser/parse_clause.c:1373 +#: parser/parse_clause.c:1379 #, c-format msgid "column \"%s\" specified in USING clause does not exist in right table" msgstr "в таблице справа нет столбца \"%s\", указанного в предложении USING" -#: parser/parse_clause.c:1901 +#: parser/parse_clause.c:1907 #, c-format msgid "row count cannot be null in FETCH FIRST ... WITH TIES clause" msgstr "" "количество строк в FETCH FIRST ... WITH TIES должно быть отличным от NULL" #. translator: %s is name of a SQL construct, eg LIMIT -#: parser/parse_clause.c:1926 +#: parser/parse_clause.c:1932 #, c-format msgid "argument of %s must not contain variables" msgstr "аргумент %s не может содержать переменные" #. translator: first %s is name of a SQL construct, eg ORDER BY -#: parser/parse_clause.c:2091 +#: parser/parse_clause.c:2097 #, c-format msgid "%s \"%s\" is ambiguous" msgstr "выражение %s \"%s\" неоднозначно" #. translator: %s is name of a SQL construct, eg ORDER BY -#: parser/parse_clause.c:2119 +#: parser/parse_clause.c:2125 #, c-format msgid "non-integer constant in %s" msgstr "не целочисленная константа в %s" #. translator: %s is name of a SQL construct, eg ORDER BY -#: parser/parse_clause.c:2141 +#: parser/parse_clause.c:2147 #, c-format msgid "%s position %d is not in select list" msgstr "в списке выборки %s нет элемента %d" -#: parser/parse_clause.c:2580 +#: parser/parse_clause.c:2586 #, c-format msgid "CUBE is limited to 12 elements" msgstr "CUBE имеет ограничение в 12 элементов" -#: parser/parse_clause.c:2786 +#: parser/parse_clause.c:2792 #, c-format msgid "window \"%s\" is already defined" msgstr "окно \"%s\" уже определено" -#: parser/parse_clause.c:2847 +#: parser/parse_clause.c:2853 #, c-format msgid "cannot override PARTITION BY clause of window \"%s\"" msgstr "переопределить предложение PARTITION BY для окна \"%s\" нельзя" -#: parser/parse_clause.c:2859 +#: parser/parse_clause.c:2865 #, c-format msgid "cannot override ORDER BY clause of window \"%s\"" msgstr "переопределить предложение ORDER BY для окна \"%s\" нельзя" -#: parser/parse_clause.c:2889 parser/parse_clause.c:2895 +#: parser/parse_clause.c:2895 parser/parse_clause.c:2901 #, c-format msgid "cannot copy window \"%s\" because it has a frame clause" msgstr "скопировать окно \"%s\", имеющее предложение рамки, нельзя" -#: parser/parse_clause.c:2897 +#: parser/parse_clause.c:2903 #, c-format msgid "Omit the parentheses in this OVER clause." msgstr "Уберите скобки в предложении OVER." -#: parser/parse_clause.c:2917 +#: parser/parse_clause.c:2923 #, c-format msgid "" "RANGE with offset PRECEDING/FOLLOWING requires exactly one ORDER BY column" @@ -18666,12 +19177,12 @@ msgstr "" "для RANGE со смещением PRECEDING/FOLLOWING требуется ровно один столбец в " "ORDER BY" -#: parser/parse_clause.c:2940 +#: parser/parse_clause.c:2946 #, c-format msgid "GROUPS mode requires an ORDER BY clause" msgstr "для режима GROUPS требуется предложение ORDER BY" -#: parser/parse_clause.c:3011 +#: parser/parse_clause.c:3016 #, c-format msgid "" "in an aggregate with DISTINCT, ORDER BY expressions must appear in argument " @@ -18680,68 +19191,68 @@ msgstr "" "для агрегатной функции с DISTINCT, выражения ORDER BY должны быть в списке " "аргументов" -#: parser/parse_clause.c:3012 +#: parser/parse_clause.c:3017 #, c-format msgid "for SELECT DISTINCT, ORDER BY expressions must appear in select list" msgstr "" "в конструкции SELECT DISTINCT выражения ORDER BY должны быть в списке выборки" -#: parser/parse_clause.c:3044 +#: parser/parse_clause.c:3049 #, c-format msgid "an aggregate with DISTINCT must have at least one argument" msgstr "агрегатной функции с DISTINCT нужен минимум один аргумент" -#: parser/parse_clause.c:3045 +#: parser/parse_clause.c:3050 #, c-format msgid "SELECT DISTINCT must have at least one column" msgstr "в SELECT DISTINCT нужен минимум один столбец" -#: parser/parse_clause.c:3111 parser/parse_clause.c:3143 +#: parser/parse_clause.c:3116 parser/parse_clause.c:3148 #, c-format msgid "SELECT DISTINCT ON expressions must match initial ORDER BY expressions" msgstr "" "выражения SELECT DISTINCT ON должны соответствовать начальным выражениям " "ORDER BY" -#: parser/parse_clause.c:3221 +#: parser/parse_clause.c:3226 #, c-format msgid "ASC/DESC is not allowed in ON CONFLICT clause" msgstr "ASC/DESC нельзя использовать в ON CONFLICT" -#: parser/parse_clause.c:3227 +#: parser/parse_clause.c:3232 #, c-format msgid "NULLS FIRST/LAST is not allowed in ON CONFLICT clause" msgstr "NULLS FIRST/LAST нельзя использовать в ON CONFLICT" -#: parser/parse_clause.c:3306 +#: parser/parse_clause.c:3311 #, c-format msgid "" "ON CONFLICT DO UPDATE requires inference specification or constraint name" msgstr "" "в ON CONFLICT DO UPDATE требуется наводящее указание или имя ограничения" -#: parser/parse_clause.c:3307 +#: parser/parse_clause.c:3312 #, c-format msgid "For example, ON CONFLICT (column_name)." msgstr "Например: ON CONFLICT (имя_столбца)." -#: parser/parse_clause.c:3318 +#: parser/parse_clause.c:3323 #, c-format msgid "ON CONFLICT is not supported with system catalog tables" msgstr "ON CONFLICT с таблицами системного каталога не поддерживается" -#: parser/parse_clause.c:3326 +#: parser/parse_clause.c:3331 #, c-format msgid "ON CONFLICT is not supported on table \"%s\" used as a catalog table" msgstr "" "ON CONFLICT не поддерживается для таблицы \"%s\", служащей таблицей каталога" -#: parser/parse_clause.c:3457 +#: parser/parse_clause.c:3462 #, c-format msgid "operator %s is not a valid ordering operator" msgstr "оператор %s не годится для сортировки" -#: parser/parse_clause.c:3459 +#: parser/parse_clause.c:3464 #, c-format msgid "" "Ordering operators must be \"<\" or \">\" members of btree operator families." @@ -18749,14 +19260,14 @@ msgstr "" "Операторы сортировки должны быть членами \"<\" или \">\" семейств операторов " "btree." -#: parser/parse_clause.c:3770 +#: parser/parse_clause.c:3775 #, c-format msgid "" "RANGE with offset PRECEDING/FOLLOWING is not supported for column type %s" msgstr "" "RANGE со смещением PRECEDING/FOLLOWING не поддерживается для типа столбца %s" -#: parser/parse_clause.c:3776 +#: parser/parse_clause.c:3781 #, c-format msgid "" "RANGE with offset PRECEDING/FOLLOWING is not supported for column type %s " @@ -18765,12 +19276,12 @@ msgstr "" "RANGE со смещением PRECEDING/FOLLOWING не поддерживается для типа столбца %s " "и типа смещения %s" -#: parser/parse_clause.c:3779 +#: parser/parse_clause.c:3784 #, c-format msgid "Cast the offset value to an appropriate type." msgstr "Приведите значение смещения к подходящему типу." -#: parser/parse_clause.c:3784 +#: parser/parse_clause.c:3789 #, c-format msgid "" "RANGE with offset PRECEDING/FOLLOWING has multiple interpretations for " @@ -18779,15 +19290,15 @@ msgstr "" "RANGE со смещением PRECEDING/FOLLOWING допускает несколько интерпретаций для " "типа столбца %s и типа смещения %s" -#: parser/parse_clause.c:3787 +#: parser/parse_clause.c:3792 #, c-format msgid "Cast the offset value to the exact intended type." msgstr "Приведите значение смещения в точности к желаемому типу." #: parser/parse_coerce.c:1050 parser/parse_coerce.c:1088 #: parser/parse_coerce.c:1106 parser/parse_coerce.c:1121 -#: parser/parse_expr.c:2083 parser/parse_expr.c:2691 parser/parse_expr.c:3497 -#: parser/parse_target.c:999 +#: parser/parse_expr.c:2146 parser/parse_expr.c:2754 parser/parse_expr.c:3405 +#: parser/parse_expr.c:3634 parser/parse_target.c:998 #, c-format msgid "cannot cast type %s to %s" msgstr "привести тип %s к %s нельзя" @@ -19024,22 +19535,17 @@ msgstr "рекурсивная ссылка на запрос \"%s\" не дол msgid "recursive reference to query \"%s\" must not appear within EXCEPT" msgstr "рекурсивная ссылка на запрос \"%s\" не должна фигурировать в EXCEPT" -#: parser/parse_cte.c:133 -#, c-format -msgid "MERGE not supported in WITH query" -msgstr "MERGE не поддерживается в запросе WITH" - -#: parser/parse_cte.c:143 +#: parser/parse_cte.c:136 #, c-format msgid "WITH query name \"%s\" specified more than once" msgstr "имя запроса WITH \"%s\" указано неоднократно" -#: parser/parse_cte.c:314 +#: parser/parse_cte.c:308 #, c-format msgid "could not identify an inequality operator for type %s" msgstr "не удалось найти оператор неравенства для типа %s" -#: parser/parse_cte.c:341 +#: parser/parse_cte.c:335 #, c-format msgid "" "WITH clause containing a data-modifying statement must be at the top level" @@ -19047,7 +19553,7 @@ msgstr "" "предложение WITH, содержащее оператор, изменяющий данные, должно быть на " "верхнем уровне" -#: parser/parse_cte.c:390 +#: parser/parse_cte.c:384 #, c-format msgid "" "recursive query \"%s\" column %d has type %s in non-recursive term but type " @@ -19056,12 +19562,12 @@ msgstr "" "в рекурсивном запросе \"%s\" столбец %d имеет тип %s в нерекурсивной части, " "но в результате тип %s" -#: parser/parse_cte.c:396 +#: parser/parse_cte.c:390 #, c-format msgid "Cast the output of the non-recursive term to the correct type." msgstr "Приведите результат нерекурсивной части к правильному типу." -#: parser/parse_cte.c:401 +#: parser/parse_cte.c:395 #, c-format msgid "" "recursive query \"%s\" column %d has collation \"%s\" in non-recursive term " @@ -19070,43 +19576,43 @@ msgstr "" "в рекурсивном запросе \"%s\" у столбца %d правило сортировки \"%s\" в не " "рекурсивной части, но в результате правило \"%s\"" -#: parser/parse_cte.c:405 +#: parser/parse_cte.c:399 #, c-format msgid "Use the COLLATE clause to set the collation of the non-recursive term." msgstr "" "Измените правило сортировки в нерекурсивной части, добавив предложение " "COLLATE." -#: parser/parse_cte.c:426 +#: parser/parse_cte.c:420 #, c-format msgid "WITH query is not recursive" msgstr "запрос WITH не рекурсивный" -#: parser/parse_cte.c:457 +#: parser/parse_cte.c:451 #, 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:462 +#: parser/parse_cte.c:456 #, 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:477 +#: parser/parse_cte.c:471 #, c-format msgid "search column \"%s\" not in WITH query column list" msgstr "столбец поиска \"%s\" отсутствует в списке столбцов запроса WITH" -#: parser/parse_cte.c:484 +#: parser/parse_cte.c:478 #, c-format msgid "search column \"%s\" specified more than once" msgstr "столбец поиска \"%s\" указан неоднократно" -#: parser/parse_cte.c:493 +#: parser/parse_cte.c:487 #, c-format msgid "" "search sequence column name \"%s\" already used in WITH query column list" @@ -19114,64 +19620,64 @@ msgstr "" "имя столбца последовательности поиска \"%s\" уже используется в списке " "столбцов запроса WITH" -#: parser/parse_cte.c:510 +#: parser/parse_cte.c:504 #, c-format msgid "cycle column \"%s\" not in WITH query column list" msgstr "столбец цикла \"%s\" отсутствует в списке столбцов запроса WITH" -#: parser/parse_cte.c:517 +#: parser/parse_cte.c:511 #, c-format msgid "cycle column \"%s\" specified more than once" msgstr "столбец цикла \"%s\" указан неоднократно" -#: parser/parse_cte.c:526 +#: parser/parse_cte.c:520 #, c-format msgid "cycle mark column name \"%s\" already used in WITH query column list" msgstr "" "имя столбца пометки цикла \"%s\" уже используется в списке столбцов запроса " "WITH" -#: parser/parse_cte.c:533 +#: parser/parse_cte.c:527 #, c-format msgid "cycle path column name \"%s\" already used in WITH query column list" msgstr "" "имя столбца пути цикла \"%s\" уже используется в списке столбцов запроса WITH" -#: parser/parse_cte.c:541 +#: parser/parse_cte.c:535 #, c-format msgid "cycle mark column name and cycle path column name are the same" msgstr "имя столбца пометки цикла совпадает с именем столбца пути цикла" -#: parser/parse_cte.c:551 +#: parser/parse_cte.c:545 #, c-format msgid "search sequence column name and cycle mark column name are the same" msgstr "" "имя столбца последовательности поиска совпадает с именем столбца пометки " "цикла" -#: parser/parse_cte.c:558 +#: parser/parse_cte.c:552 #, c-format msgid "search sequence column name and cycle path column name are the same" msgstr "" "имя столбца последовательности поиска совпадает с именем столбца пути цикла" -#: parser/parse_cte.c:642 +#: parser/parse_cte.c:636 #, c-format msgid "WITH query \"%s\" has %d columns available but %d columns specified" msgstr "запрос WITH \"%s\" содержит столбцов: %d, но указано: %d" -#: parser/parse_cte.c:822 +#: parser/parse_cte.c:816 #, c-format msgid "mutual recursion between WITH items is not implemented" msgstr "взаимная рекурсия между элементами WITH не реализована" -#: parser/parse_cte.c:874 +#: parser/parse_cte.c:868 #, c-format msgid "recursive query \"%s\" must not contain data-modifying statements" msgstr "" "рекурсивный запрос \"%s\" не должен содержать операторов, изменяющих данные" -#: parser/parse_cte.c:882 +#: parser/parse_cte.c:876 #, c-format msgid "" "recursive query \"%s\" does not have the form non-recursive-term UNION [ALL] " @@ -19180,102 +19686,110 @@ msgstr "" "рекурсивный запрос \"%s\" должен иметь форму {нерекурсивная часть} UNION " "[ALL] {рекурсивная часть}" -#: parser/parse_cte.c:926 +#: parser/parse_cte.c:911 #, c-format msgid "ORDER BY in a recursive query is not implemented" msgstr "ORDER BY в рекурсивном запросе не поддерживается" -#: parser/parse_cte.c:932 +#: parser/parse_cte.c:917 #, c-format msgid "OFFSET in a recursive query is not implemented" msgstr "OFFSET в рекурсивном запросе не поддерживается" -#: parser/parse_cte.c:938 +#: parser/parse_cte.c:923 #, c-format msgid "LIMIT in a recursive query is not implemented" msgstr "LIMIT в рекурсивном запросе не поддерживается" -#: parser/parse_cte.c:944 +#: parser/parse_cte.c:929 #, c-format msgid "FOR UPDATE/SHARE in a recursive query is not implemented" msgstr "FOR UPDATE/SHARE в рекурсивном запросе не поддерживается" -#: parser/parse_cte.c:1001 +#: parser/parse_cte.c:1008 #, c-format msgid "recursive reference to query \"%s\" must not appear more than once" msgstr "рекурсивная ссылка на запрос \"%s\" указана неоднократно" -#: parser/parse_expr.c:294 +#: parser/parse_expr.c:313 #, c-format msgid "DEFAULT is not allowed in this context" msgstr "DEFAULT не допускается в данном контексте" -#: parser/parse_expr.c:371 parser/parse_relation.c:3697 -#: parser/parse_relation.c:3707 parser/parse_relation.c:3725 -#: parser/parse_relation.c:3732 parser/parse_relation.c:3746 +#: parser/parse_expr.c:406 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:383 +#: parser/parse_expr.c:418 #, c-format msgid "column \"%s\" not found in data type %s" msgstr "столбец \"%s\" не найден в типе данных %s" -#: parser/parse_expr.c:389 +#: parser/parse_expr.c:424 #, c-format msgid "could not identify column \"%s\" in record data type" msgstr "не удалось идентифицировать столбец \"%s\" в типе записи" # skip-rule: space-before-period -#: parser/parse_expr.c:395 +#: parser/parse_expr.c:430 #, c-format msgid "column notation .%s applied to type %s, which is not a composite type" msgstr "" "запись имени столбца .%s применена к типу %s, который не является составным" -#: parser/parse_expr.c:426 parser/parse_target.c:733 +#: parser/parse_expr.c:461 parser/parse_target.c:732 #, c-format msgid "row expansion via \"*\" is not supported here" msgstr "расширение строки через \"*\" здесь не поддерживается" -#: parser/parse_expr.c:548 +#: parser/parse_expr.c:584 msgid "cannot use column reference in DEFAULT expression" msgstr "в выражении DEFAULT (по умолчанию) нельзя ссылаться на столбцы" -#: parser/parse_expr.c:551 +#: parser/parse_expr.c:587 msgid "cannot use column reference in partition bound expression" msgstr "в выражении границы секции нельзя ссылаться на столбцы" -#: parser/parse_expr.c:810 parser/parse_relation.c:833 -#: parser/parse_relation.c:915 parser/parse_target.c:1239 +#: parser/parse_expr.c:846 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:866 parser/parse_param.c:110 parser/parse_param.c:142 +#: parser/parse_expr.c:902 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 не существует" -#: parser/parse_expr.c:1066 +#. translator: %s is name of a SQL construct, eg NULLIF +#: parser/parse_expr.c:1103 parser/parse_expr.c:3065 #, c-format -msgid "NULLIF requires = operator to yield boolean" -msgstr "для NULLIF требуется, чтобы оператор = возвращал логическое значение" +msgid "%s requires = operator to yield boolean" +msgstr "для %s требуется, чтобы оператор = возвращал логическое значение" #. translator: %s is name of a SQL construct, eg NULLIF -#: parser/parse_expr.c:1072 parser/parse_expr.c:3007 +#: parser/parse_expr.c:1109 parser/parse_expr.c:3072 #, c-format msgid "%s must not return a set" msgstr "%s не должна возвращать множество" -#: parser/parse_expr.c:1457 parser/parse_expr.c:1489 +#: parser/parse_expr.c:1395 +#, 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 #, c-format msgid "number of columns does not match number of values" msgstr "число столбцов не равно числу значений" -#: parser/parse_expr.c:1503 +#: parser/parse_expr.c:1565 #, c-format msgid "" "source for a multiple-column UPDATE item must be a sub-SELECT or ROW() " @@ -19285,224 +19799,352 @@ msgstr "" "SELECT или выражение ROW()" #. translator: %s is name of a SQL construct, eg GROUP BY -#: parser/parse_expr.c:1698 parser/parse_expr.c:2180 parser/parse_func.c:2677 +#: parser/parse_expr.c:1760 parser/parse_expr.c:2243 parser/parse_func.c:2679 #, c-format msgid "set-returning functions are not allowed in %s" msgstr "функции, возвращающие множества, нельзя применять в конструкции %s" -#: parser/parse_expr.c:1761 +#: parser/parse_expr.c:1824 msgid "cannot use subquery in check constraint" msgstr "в ограничении-проверке нельзя использовать подзапросы" -#: parser/parse_expr.c:1765 +#: parser/parse_expr.c:1828 msgid "cannot use subquery in DEFAULT expression" msgstr "в выражении DEFAULT нельзя использовать подзапросы" -#: parser/parse_expr.c:1768 +#: parser/parse_expr.c:1831 msgid "cannot use subquery in index expression" msgstr "в индексном выражении нельзя использовать подзапросы" -#: parser/parse_expr.c:1771 +#: parser/parse_expr.c:1834 msgid "cannot use subquery in index predicate" msgstr "в предикате индекса нельзя использовать подзапросы" -#: parser/parse_expr.c:1774 +#: parser/parse_expr.c:1837 msgid "cannot use subquery in statistics expression" msgstr "в выражении статистики нельзя использовать подзапросы" -#: parser/parse_expr.c:1777 +#: parser/parse_expr.c:1840 msgid "cannot use subquery in transform expression" msgstr "нельзя использовать подзапрос в выражении преобразования" -#: parser/parse_expr.c:1780 +#: parser/parse_expr.c:1843 msgid "cannot use subquery in EXECUTE parameter" msgstr "в качестве параметра EXECUTE нельзя использовать подзапрос" -#: parser/parse_expr.c:1783 +#: parser/parse_expr.c:1846 msgid "cannot use subquery in trigger WHEN condition" msgstr "в условии WHEN для триггера нельзя использовать подзапросы" -#: parser/parse_expr.c:1786 +#: parser/parse_expr.c:1849 msgid "cannot use subquery in partition bound" msgstr "в выражении границы секции нельзя использовать подзапросы" -#: parser/parse_expr.c:1789 +#: parser/parse_expr.c:1852 msgid "cannot use subquery in partition key expression" msgstr "в выражении ключа секционирования нельзя использовать подзапросы" -#: parser/parse_expr.c:1792 +#: parser/parse_expr.c:1855 msgid "cannot use subquery in CALL argument" msgstr "в качестве аргумента CALL нельзя использовать подзапрос" -#: parser/parse_expr.c:1795 +#: parser/parse_expr.c:1858 msgid "cannot use subquery in COPY FROM WHERE condition" msgstr "в условии COPY FROM WHERE нельзя использовать подзапросы" -#: parser/parse_expr.c:1798 +#: parser/parse_expr.c:1861 msgid "cannot use subquery in column generation expression" msgstr "в выражении генерируемого столбца нельзя использовать подзапросы" -#: parser/parse_expr.c:1851 parser/parse_expr.c:3628 +#: parser/parse_expr.c:1914 parser/parse_expr.c:3764 #, c-format msgid "subquery must return only one column" msgstr "подзапрос должен вернуть только один столбец" -#: parser/parse_expr.c:1922 +#: parser/parse_expr.c:1985 #, c-format msgid "subquery has too many columns" msgstr "в подзапросе слишком много столбцов" -#: parser/parse_expr.c:1927 +#: parser/parse_expr.c:1990 #, c-format msgid "subquery has too few columns" msgstr "в подзапросе недостаточно столбцов" -#: parser/parse_expr.c:2023 +#: parser/parse_expr.c:2086 #, c-format msgid "cannot determine type of empty array" msgstr "тип пустого массива определить нельзя" -#: parser/parse_expr.c:2024 +#: parser/parse_expr.c:2087 #, c-format msgid "Explicitly cast to the desired type, for example ARRAY[]::integer[]." msgstr "" "Приведите его к желаемому типу явным образом, например ARRAY[]::integer[]." -#: parser/parse_expr.c:2038 +#: parser/parse_expr.c:2101 #, c-format msgid "could not find element type for data type %s" msgstr "не удалось определить тип элемента для типа данных %s" -#: parser/parse_expr.c:2121 +#: parser/parse_expr.c:2184 #, c-format msgid "ROW expressions can have at most %d entries" msgstr "число элементов в выражениях ROW ограничено %d" -#: parser/parse_expr.c:2326 +#: parser/parse_expr.c:2389 #, c-format msgid "unnamed XML attribute value must be a column reference" msgstr "вместо значения XML-атрибута без имени должен указываться столбец" -#: parser/parse_expr.c:2327 +#: parser/parse_expr.c:2390 #, c-format msgid "unnamed XML element value must be a column reference" msgstr "вместо значения XML-элемента без имени должен указываться столбец" -#: parser/parse_expr.c:2342 +#: parser/parse_expr.c:2405 #, c-format msgid "XML attribute name \"%s\" appears more than once" msgstr "имя XML-атрибута \"%s\" указано неоднократно" -#: parser/parse_expr.c:2450 +#: parser/parse_expr.c:2513 #, c-format msgid "cannot cast XMLSERIALIZE result to %s" msgstr "привести результат XMLSERIALIZE к типу %s нельзя" -#: parser/parse_expr.c:2764 parser/parse_expr.c:2960 +#: parser/parse_expr.c:2827 parser/parse_expr.c:3023 #, c-format msgid "unequal number of entries in row expressions" msgstr "разное число элементов в строках" -#: parser/parse_expr.c:2774 +#: parser/parse_expr.c:2837 #, c-format msgid "cannot compare rows of zero length" msgstr "строки нулевой длины сравнивать нельзя" -#: parser/parse_expr.c:2799 +#: parser/parse_expr.c:2862 #, c-format msgid "row comparison operator must yield type boolean, not type %s" msgstr "" "оператор сравнения строк должен выдавать результат логического типа, а не %s" -#: parser/parse_expr.c:2806 +#: parser/parse_expr.c:2869 #, c-format msgid "row comparison operator must not return a set" msgstr "оператор сравнения строк не должен возвращать множество" -#: parser/parse_expr.c:2865 parser/parse_expr.c:2906 +#: parser/parse_expr.c:2928 parser/parse_expr.c:2969 #, c-format msgid "could not determine interpretation of row comparison operator %s" msgstr "не удалось выбрать интерпретацию оператора сравнения строк %s" -#: parser/parse_expr.c:2867 +#: parser/parse_expr.c:2930 #, c-format msgid "" "Row comparison operators must be associated with btree operator families." msgstr "" "Операторы сравнения строк должны быть связаны с семейством операторов btree." -#: parser/parse_expr.c:2908 +#: parser/parse_expr.c:2971 #, c-format msgid "There are multiple equally-plausible candidates." msgstr "Оказалось несколько равноценных кандидатур." -#: parser/parse_expr.c:3001 -#, c-format -msgid "IS DISTINCT FROM requires = operator to yield boolean" -msgstr "" -"для IS DISTINCT FROM требуется, чтобы оператор = возвращал логическое " -"значение" - -#: parser/parse_expr.c:3239 +#: parser/parse_expr.c:3306 #, c-format msgid "JSON ENCODING clause is only allowed for bytea input type" msgstr "" "предложение JSON ENCODING можно добавить только для входного типа bytea" -#: parser/parse_expr.c:3261 +#: parser/parse_expr.c:3370 #, c-format msgid "cannot use non-string types with implicit FORMAT JSON clause" msgstr "" "с неявным предложением FORMAT JSON можно использовать только строковые типы" -#: parser/parse_expr.c:3262 +#: parser/parse_expr.c:3371 #, c-format msgid "cannot use non-string types with explicit FORMAT JSON clause" msgstr "" "с явным предложением FORMAT JSON можно использовать только строковые типы" -#: parser/parse_expr.c:3335 +#: parser/parse_expr.c:3460 #, c-format msgid "cannot use JSON format with non-string output types" msgstr "формат JSON можно использовать, только если возвращаемый тип строковый" -#: parser/parse_expr.c:3348 +#: parser/parse_expr.c:3473 #, c-format msgid "cannot set JSON encoding for non-bytea output types" msgstr "" "кодировку JSON можно использовать, только если возвращаемый тип — bytea" -#: parser/parse_expr.c:3353 +#: parser/parse_expr.c:3478 #, c-format msgid "unsupported JSON encoding" msgstr "неподдерживаемая кодировка JSON" -#: parser/parse_expr.c:3354 +#: parser/parse_expr.c:3479 #, c-format msgid "Only UTF8 JSON encoding is supported." msgstr "Для JSON поддерживается только кодировка UTF-8." -#: parser/parse_expr.c:3391 +#: parser/parse_expr.c:3516 #, c-format msgid "returning SETOF types is not supported in SQL/JSON functions" msgstr "функции SQL/JSON не могут возвращать типы SETOF" -#: parser/parse_expr.c:3712 parser/parse_func.c:865 +#: parser/parse_expr.c:3521 +#, c-format +msgid "returning pseudo-types is not supported in SQL/JSON functions" +msgstr "функции SQL/JSON не могут возвращать псевдотипы" + +#: parser/parse_expr.c:3849 parser/parse_func.c:866 #, c-format msgid "aggregate ORDER BY is not implemented for window functions" msgstr "агрегатное предложение ORDER BY для оконных функций не реализовано" -#: parser/parse_expr.c:3934 +#: parser/parse_expr.c:4072 #, c-format msgid "cannot use JSON FORMAT ENCODING clause for non-bytea input types" msgstr "" "предложение JSON FORMAT ENCODING можно использовать только с типом bytea" -#: parser/parse_expr.c:3954 +#: parser/parse_expr.c:4092 #, c-format msgid "cannot use type %s in IS JSON predicate" msgstr "в предикате IS JSON нельзя использовать тип %s" +#: parser/parse_expr.c:4118 parser/parse_expr.c:4238 +#, c-format +msgid "cannot use RETURNING type %s in %s" +msgstr "использовать в RETURNING тип %s в %s нельзя" + +#: parser/parse_expr.c:4167 +#, c-format +msgid "cannot use non-string types with WITH UNIQUE KEYS clause" +msgstr "" +"с предложением WITH UNIQUE KEYS можно использовать только строковые типы " +"данных" + +#: parser/parse_expr.c:4241 +#, c-format +msgid "Try returning a string type or bytea." +msgstr "Попробуйте возвратить строковый тип или bytea." + +#: parser/parse_expr.c:4306 +#, c-format +msgid "cannot specify FORMAT JSON in RETURNING clause of %s()" +msgstr "FORMAT JSON не может указываться в предложении RETURNING %s()" + +#: parser/parse_expr.c:4319 +#, c-format +msgid "" +"SQL/JSON QUOTES behavior must not be specified when WITH WRAPPER is used" +msgstr "" +"когда используется WITH WRAPPER, поведение QUOTES в SQL/JSON задать нельзя" + +#. translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) +#: parser/parse_expr.c:4333 parser/parse_expr.c:4362 parser/parse_expr.c:4393 +#: parser/parse_expr.c:4419 parser/parse_expr.c:4445 +#: 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:4336 parser/parse_expr.c:4365 +#, c-format +msgid "" +"Only ERROR, NULL, EMPTY ARRAY, EMPTY OBJECT, or DEFAULT expression is " +"allowed in %s for %s." +msgstr "" +"В %s для %s допускается только ERROR, NULL, EMPTY ARRAY, EMPTY OBJECT или " +"выражение DEFAULT." + +#. 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:4343 parser/parse_expr.c:4372 parser/parse_expr.c:4401 +#: parser/parse_expr.c:4429 parser/parse_expr.c:4455 +#, 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:4346 parser/parse_expr.c:4375 +#, 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:4394 +#, 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:4404 +#, c-format +msgid "" +"Only ERROR, TRUE, FALSE, or UNKNOWN is allowed in %s for EXISTS columns." +msgstr "" +"В %s для столбцов в EXISTS допускается только 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:4422 parser/parse_expr.c:4448 +#, 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:4432 parser/parse_expr.c:4458 +#, 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:4488 +#, c-format +msgid "JSON path expression must be of type %s, not of type %s" +msgstr "выражение пути JSON должно быть типа %s, а не типа %s" + +#: parser/parse_expr.c:4706 +#, c-format +msgid "" +"can only specify a constant, non-aggregate function, or operator expression " +"for DEFAULT" +msgstr "" +"в DEFAULT может задаваться только константа, вызов не агрегатной функции или " +"выражение с оператором" + +#: parser/parse_expr.c:4711 +#, c-format +msgid "DEFAULT expression must not contain column references" +msgstr "выражения в DEFAULT не могут содержать ссылки на столбцы" + +#: parser/parse_expr.c:4716 +#, c-format +msgid "DEFAULT expression must not return a set" +msgstr "выражение в DEFAULT не может возвращать множество" + +#: parser/parse_expr.c:4792 parser/parse_expr.c:4801 +#, c-format +msgid "cannot cast behavior expression of type %s to %s" +msgstr "привести выражение поведения, имеющее тип %s, к типу %s нельзя" + +#: parser/parse_expr.c:4795 +#, c-format +msgid "You will need to explicitly cast the expression to type %s." +msgstr "Приведите выражение к типу %s явно." + #: parser/parse_func.c:194 #, c-format msgid "argument name \"%s\" used more than once" @@ -19513,7 +20155,7 @@ msgstr "имя аргумента \"%s\" используется неоднок msgid "positional argument cannot follow named argument" msgstr "нумерованный аргумент не может следовать за именованным аргументом" -#: parser/parse_func.c:287 parser/parse_func.c:2367 +#: parser/parse_func.c:287 parser/parse_func.c:2368 #, c-format msgid "%s is not a procedure" msgstr "\"%s\" — не процедура" @@ -19675,7 +20317,7 @@ msgstr "" "Возможно, неверно расположено предложение ORDER BY - оно должно следовать за " "всеми обычными аргументами функции." -#: parser/parse_func.c:622 parser/parse_func.c:2410 +#: parser/parse_func.c:622 parser/parse_func.c:2411 #, c-format msgid "procedure %s does not exist" msgstr "процедура %s не существует" @@ -19703,7 +20345,7 @@ msgstr "" msgid "VARIADIC argument must be an array" msgstr "параметр VARIADIC должен быть массивом" -#: parser/parse_func.c:791 parser/parse_func.c:855 +#: parser/parse_func.c:791 parser/parse_func.c:856 #, c-format msgid "%s(*) must be used to call a parameterless aggregate function" msgstr "агрегатная функция без параметров должна вызываться так: %s(*)" @@ -19718,44 +20360,44 @@ msgstr "агрегатные функции не могут возвращать msgid "aggregates cannot use named arguments" msgstr "у агрегатных функций не может быть именованных аргументов" -#: parser/parse_func.c:845 +#: parser/parse_func.c:846 #, c-format msgid "DISTINCT is not implemented for window functions" msgstr "предложение DISTINCT для оконных функций не реализовано" -#: parser/parse_func.c:874 +#: parser/parse_func.c:875 #, c-format msgid "FILTER is not implemented for non-aggregate window functions" msgstr "предложение FILTER для не агрегатных оконных функций не реализовано" -#: parser/parse_func.c:883 +#: parser/parse_func.c:884 #, c-format msgid "window function calls cannot contain set-returning function calls" msgstr "" "вызовы оконных функций не могут включать вызовы функций, возвращающих " "множества" -#: parser/parse_func.c:891 +#: parser/parse_func.c:892 #, c-format msgid "window functions cannot return sets" msgstr "оконные функции не могут возвращать множества" -#: parser/parse_func.c:2166 parser/parse_func.c:2439 +#: parser/parse_func.c:2167 parser/parse_func.c:2440 #, c-format msgid "could not find a function named \"%s\"" msgstr "не удалось найти функцию с именем \"%s\"" -#: parser/parse_func.c:2180 parser/parse_func.c:2457 +#: parser/parse_func.c:2181 parser/parse_func.c:2458 #, c-format msgid "function name \"%s\" is not unique" msgstr "имя функции \"%s\" не уникально" -#: parser/parse_func.c:2182 parser/parse_func.c:2460 +#: parser/parse_func.c:2183 parser/parse_func.c:2461 #, c-format msgid "Specify the argument list to select the function unambiguously." msgstr "Задайте список аргументов для однозначного выбора функции." -#: parser/parse_func.c:2226 +#: parser/parse_func.c:2227 #, c-format msgid "procedures cannot have more than %d argument" msgid_plural "procedures cannot have more than %d arguments" @@ -19763,207 +20405,209 @@ msgstr[0] "процедуры допускают не более %d аргуме msgstr[1] "процедуры допускают не более %d аргументов" msgstr[2] "процедуры допускают не более %d аргументов" -#: parser/parse_func.c:2357 +#: parser/parse_func.c:2358 #, c-format msgid "%s is not a function" msgstr "%s — не функция" -#: parser/parse_func.c:2377 +#: parser/parse_func.c:2378 #, c-format msgid "function %s is not an aggregate" msgstr "функция \"%s\" не является агрегатной" -#: parser/parse_func.c:2405 +#: parser/parse_func.c:2406 #, c-format msgid "could not find a procedure named \"%s\"" msgstr "не удалось найти процедуру с именем \"%s\"" -#: parser/parse_func.c:2419 +#: parser/parse_func.c:2420 #, c-format msgid "could not find an aggregate named \"%s\"" msgstr "не удалось найти агрегат с именем \"%s\"" -#: parser/parse_func.c:2424 +#: parser/parse_func.c:2425 #, c-format msgid "aggregate %s(*) does not exist" msgstr "агрегатная функция %s(*) не существует" -#: parser/parse_func.c:2429 +#: parser/parse_func.c:2430 #, c-format msgid "aggregate %s does not exist" msgstr "агрегатная функция %s не существует" -#: parser/parse_func.c:2465 +#: parser/parse_func.c:2466 #, c-format msgid "procedure name \"%s\" is not unique" msgstr "имя процедуры \"%s\" не уникально" -#: parser/parse_func.c:2468 +#: parser/parse_func.c:2469 #, c-format msgid "Specify the argument list to select the procedure unambiguously." msgstr "Задайте список аргументов для однозначного выбора процедуры." -#: parser/parse_func.c:2473 +#: parser/parse_func.c:2474 #, c-format msgid "aggregate name \"%s\" is not unique" msgstr "имя агрегатной функции \"%s\" не уникально" -#: parser/parse_func.c:2476 +#: parser/parse_func.c:2477 #, c-format msgid "Specify the argument list to select the aggregate unambiguously." msgstr "Задайте список аргументов для однозначного выбора агрегатной функции." -#: parser/parse_func.c:2481 +#: parser/parse_func.c:2482 #, c-format msgid "routine name \"%s\" is not unique" msgstr "имя подпрограммы \"%s\" не уникально" -#: parser/parse_func.c:2484 +#: parser/parse_func.c:2485 #, c-format msgid "Specify the argument list to select the routine unambiguously." msgstr "Задайте список аргументов для однозначного выбора подпрограммы." -#: parser/parse_func.c:2539 +#: parser/parse_func.c:2540 msgid "set-returning functions are not allowed in JOIN conditions" msgstr "функции, возвращающие множества, нельзя применять в условиях JOIN" -#: parser/parse_func.c:2560 +#: parser/parse_func.c:2561 msgid "set-returning functions are not allowed in policy expressions" msgstr "функции, возвращающие множества, нельзя применять в выражениях политик" -#: parser/parse_func.c:2576 +#: parser/parse_func.c:2577 msgid "set-returning functions are not allowed in window definitions" msgstr "функции, возвращающие множества, нельзя применять в определении окна" -#: parser/parse_func.c:2613 +#: parser/parse_func.c:2615 msgid "set-returning functions are not allowed in MERGE WHEN conditions" msgstr "" "функции, возвращающие множества, нельзя применять в условиях MERGE WHEN" -#: parser/parse_func.c:2617 +#: parser/parse_func.c:2619 msgid "set-returning functions are not allowed in check constraints" msgstr "" "функции, возвращающие множества, нельзя применять в ограничениях-проверках" -#: parser/parse_func.c:2621 +#: parser/parse_func.c:2623 msgid "set-returning functions are not allowed in DEFAULT expressions" msgstr "функции, возвращающие множества, нельзя применять в выражениях DEFAULT" -#: parser/parse_func.c:2624 +#: parser/parse_func.c:2626 msgid "set-returning functions are not allowed in index expressions" msgstr "" "функции, возвращающие множества, нельзя применять в выражениях индексов" -#: parser/parse_func.c:2627 +#: parser/parse_func.c:2629 msgid "set-returning functions are not allowed in index predicates" msgstr "" "функции, возвращающие множества, нельзя применять в предикатах индексов" -#: parser/parse_func.c:2630 +#: parser/parse_func.c:2632 msgid "set-returning functions are not allowed in statistics expressions" msgstr "" "функции, возвращающие множества, нельзя применять в выражениях статистики" -#: parser/parse_func.c:2633 +#: parser/parse_func.c:2635 msgid "set-returning functions are not allowed in transform expressions" msgstr "" "функции, возвращающие множества, нельзя применять в выражениях преобразований" -#: parser/parse_func.c:2636 +#: parser/parse_func.c:2638 msgid "set-returning functions are not allowed in EXECUTE parameters" msgstr "функции, возвращающие множества, нельзя применять в параметрах EXECUTE" -#: parser/parse_func.c:2639 +#: parser/parse_func.c:2641 msgid "set-returning functions are not allowed in trigger WHEN conditions" msgstr "" "функции, возвращающие множества, нельзя применять в условиях WHEN для " "триггеров" -#: parser/parse_func.c:2642 +#: parser/parse_func.c:2644 msgid "set-returning functions are not allowed in partition bound" msgstr "" "функции, возвращающие множества, нельзя применять в выражении границы секции" -#: parser/parse_func.c:2645 +#: parser/parse_func.c:2647 msgid "set-returning functions are not allowed in partition key expressions" msgstr "" "функции, возвращающие множества, нельзя применять в выражениях ключа " "секционирования" -#: parser/parse_func.c:2648 +#: parser/parse_func.c:2650 msgid "set-returning functions are not allowed in CALL arguments" msgstr "функции, возвращающие множества, нельзя применять в аргументах CALL" -#: parser/parse_func.c:2651 +#: parser/parse_func.c:2653 msgid "set-returning functions are not allowed in COPY FROM WHERE conditions" msgstr "" "функции, возвращающие множества, нельзя применять в условиях COPY FROM WHERE" -#: parser/parse_func.c:2654 +#: parser/parse_func.c:2656 msgid "" "set-returning functions are not allowed in column generation expressions" msgstr "" "функции, возвращающие множества, нельзя применять в выражениях генерируемых " "столбцов" -#: parser/parse_merge.c:119 +#: parser/parse_jsontable.c:95 +#, c-format +msgid "" +"Only EMPTY [ ARRAY ] or ERROR is allowed in the top-level ON ERROR clause." +msgstr "" +"На верхнем уровне предложения ON ERROR допускается только EMPTY [ ARRAY ] " +"или ERROR." + +#: parser/parse_jsontable.c:189 parser/parse_jsontable.c:203 +#, c-format +msgid "duplicate JSON_TABLE column or path name: %s" +msgstr "повторяющийся столбец или имя пути в JSON_TABLE: %s" + +#: parser/parse_merge.c:129 #, c-format msgid "WITH RECURSIVE is not supported for MERGE statement" msgstr "предложение WITH RECURSIVE не поддерживается с оператором MERGE" -#: parser/parse_merge.c:166 +#: parser/parse_merge.c:176 #, c-format msgid "unreachable WHEN clause specified after unconditional WHEN clause" msgstr "" "после безусловного предложения WHEN указано недостижимое предложение WHEN" -#: parser/parse_merge.c:196 -#, c-format -msgid "MERGE is not supported for relations with rules." -msgstr "MERGE не поддерживается для отношений с правилами." - -#: parser/parse_merge.c:213 +#: parser/parse_merge.c:222 #, c-format msgid "name \"%s\" specified more than once" msgstr "имя \"%s\" указано больше одного раза" -#: parser/parse_merge.c:215 +#: parser/parse_merge.c:224 #, c-format msgid "The name is used both as MERGE target table and data source." msgstr "Это имя используется и в целевой таблице, и в источнике данных MERGE." -#: parser/parse_node.c:87 +#: parser/parse_node.c:82 #, c-format msgid "target lists can have at most %d entries" msgstr "число элементов в целевом списке ограничено %d" -#: parser/parse_oper.c:123 parser/parse_oper.c:690 +#: parser/parse_oper.c:114 parser/parse_oper.c:678 #, c-format msgid "postfix operators are not supported" msgstr "постфиксные операторы не поддерживаются" -#: parser/parse_oper.c:130 parser/parse_oper.c:649 utils/adt/regproc.c:509 -#: utils/adt/regproc.c:683 -#, c-format -msgid "operator does not exist: %s" -msgstr "оператор не существует: %s" - -#: parser/parse_oper.c:229 +#: parser/parse_oper.c:217 #, c-format msgid "Use an explicit ordering operator or modify the query." msgstr "Используйте явный оператор сортировки или измените запрос." -#: parser/parse_oper.c:485 +#: parser/parse_oper.c:473 #, c-format msgid "operator requires run-time type coercion: %s" msgstr "оператору требуется приведение типов во время выполнения: %s" -#: parser/parse_oper.c:641 +#: parser/parse_oper.c:629 #, c-format msgid "operator is not unique: %s" msgstr "оператор не уникален: %s" -#: parser/parse_oper.c:643 +#: parser/parse_oper.c:631 #, c-format msgid "" "Could not choose a best candidate operator. You might need to add explicit " @@ -19972,7 +20616,7 @@ msgstr "" "Не удалось выбрать лучшую кандидатуру оператора. Возможно, вам следует " "добавить явные приведения типов." -#: parser/parse_oper.c:652 +#: parser/parse_oper.c:640 #, c-format msgid "" "No operator matches the given name and argument type. You might need to add " @@ -19981,7 +20625,7 @@ msgstr "" "Оператор с данным именем и типом аргумента не найден. Возможно, вам следует " "добавить явное приведение типа." -#: parser/parse_oper.c:654 +#: parser/parse_oper.c:642 #, c-format msgid "" "No operator matches the given name and argument types. You might need to add " @@ -19990,24 +20634,19 @@ msgstr "" "Оператор с данными именем и типами аргументов не найден. Возможно, вам " "следует добавить явные приведения типов." -#: parser/parse_oper.c:714 parser/parse_oper.c:828 -#, c-format -msgid "operator is only a shell: %s" -msgstr "оператор \"%s\" - лишь оболочка" - -#: parser/parse_oper.c:816 +#: parser/parse_oper.c:803 #, c-format msgid "op ANY/ALL (array) requires array on right side" msgstr "для операторов ANY/ALL (с массивом) требуется массив справа" -#: parser/parse_oper.c:858 +#: parser/parse_oper.c:844 #, c-format msgid "op ANY/ALL (array) requires operator to yield boolean" msgstr "" "для операторов ANY/ALL (с массивом) требуется, чтобы оператор = возвращал " "логическое значение" -#: parser/parse_oper.c:863 +#: parser/parse_oper.c:849 #, c-format msgid "op ANY/ALL (array) requires operator not to return a set" msgstr "" @@ -20019,7 +20658,7 @@ msgstr "" msgid "inconsistent types deduced for parameter $%d" msgstr "для параметра $%d выведены несогласованные типы" -#: parser/parse_param.c:309 tcop/postgres.c:740 +#: parser/parse_param.c:309 tcop/postgres.c:744 #, c-format msgid "could not determine data type of parameter $%d" msgstr "не удалось определить тип данных параметра $%d" @@ -20039,13 +20678,13 @@ msgstr "ссылка на таблицу %u неоднозначна" msgid "table name \"%s\" specified more than once" msgstr "имя таблицы \"%s\" указано больше одного раза" -#: parser/parse_relation.c:494 parser/parse_relation.c:3639 -#: parser/parse_relation.c:3648 +#: parser/parse_relation.c:494 parser/parse_relation.c:3633 +#: parser/parse_relation.c:3642 #, c-format msgid "invalid reference to FROM-clause entry for table \"%s\"" msgstr "в элементе предложения FROM неверная ссылка на таблицу \"%s\"" -#: parser/parse_relation.c:498 parser/parse_relation.c:3650 +#: parser/parse_relation.c:498 parser/parse_relation.c:3644 #, c-format msgid "" "There is an entry for table \"%s\", but it cannot be referenced from this " @@ -20077,7 +20716,7 @@ msgid "cannot use system column \"%s\" in MERGE WHEN condition" msgstr "системный столбец \"%s\" нельзя использовать в условии MERGE WHEN" #: parser/parse_relation.c:1236 parser/parse_relation.c:1691 -#: parser/parse_relation.c:2388 +#: parser/parse_relation.c:2384 #, c-format msgid "table \"%s\" has %d columns available but %d columns specified" msgstr "в таблице \"%s\" содержится столбцов: %d, но указано: %d" @@ -20099,13 +20738,13 @@ msgstr "" "Используйте WITH RECURSIVE или исключите ссылки вперёд, переупорядочив " "элементы WITH." -#: parser/parse_relation.c:1834 +#: parser/parse_relation.c:1833 #, c-format msgid "" "a column definition list is redundant for a function with OUT parameters" msgstr "список определений столбцов не нужен для функции с параметрами OUT" -#: parser/parse_relation.c:1840 +#: parser/parse_relation.c:1839 #, c-format msgid "" "a column definition list is redundant for a function returning a named " @@ -20114,79 +20753,79 @@ msgstr "" "список определений столбцов не нужен для функции, возвращающий именованный " "составной тип" -#: parser/parse_relation.c:1847 +#: parser/parse_relation.c:1846 #, c-format msgid "" "a column definition list is only allowed for functions returning \"record\"" msgstr "" "список определений столбцов может быть только у функций, возвращающих запись" -#: parser/parse_relation.c:1858 +#: parser/parse_relation.c:1857 #, c-format msgid "a column definition list is required for functions returning \"record\"" msgstr "" "у функций, возвращающих запись, должен быть список определений столбцов" -#: parser/parse_relation.c:1895 +#: parser/parse_relation.c:1894 #, c-format msgid "column definition lists can have at most %d entries" msgstr "число элементов в списках определения столбцов ограничено %d" -#: parser/parse_relation.c:1955 +#: parser/parse_relation.c:1954 #, c-format msgid "function \"%s\" in FROM has unsupported return type %s" msgstr "" "функция \"%s\", используемая во FROM, возвращает неподдерживаемый тип %s" -#: parser/parse_relation.c:1982 parser/parse_relation.c:2068 +#: parser/parse_relation.c:1981 parser/parse_relation.c:2066 #, c-format msgid "functions in FROM can return at most %d columns" msgstr "число столбцов, возвращаемых функциями во FROM, ограничено %d" -#: parser/parse_relation.c:2098 +#: parser/parse_relation.c:2096 #, c-format msgid "%s function has %d columns available but %d columns specified" msgstr "функция %s выдаёт столбцов: %d, но указано: %d" -#: parser/parse_relation.c:2180 +#: parser/parse_relation.c:2177 #, c-format msgid "VALUES lists \"%s\" have %d columns available but %d columns specified" msgstr "в списках VALUES \"%s\" содержится столбцов: %d, но указано: %d" -#: parser/parse_relation.c:2246 +#: parser/parse_relation.c:2242 #, c-format msgid "joins can have at most %d columns" msgstr "число столбцов в соединениях ограничено %d" -#: parser/parse_relation.c:2271 +#: parser/parse_relation.c:2267 #, c-format msgid "" "join expression \"%s\" has %d columns available but %d columns specified" msgstr "в выражении соединения \"%s\" имеется столбцов: %d, но указано: %d" -#: parser/parse_relation.c:2361 +#: parser/parse_relation.c:2357 #, c-format msgid "WITH query \"%s\" does not have a RETURNING clause" msgstr "в запросе \"%s\" в WITH нет предложения RETURNING" -#: parser/parse_relation.c:3641 +#: parser/parse_relation.c:3635 #, c-format msgid "Perhaps you meant to reference the table alias \"%s\"." msgstr "Возможно, предполагалась ссылка на псевдоним таблицы \"%s\"." -#: parser/parse_relation.c:3653 +#: parser/parse_relation.c:3647 #, c-format msgid "To reference that table, you must mark this subquery with LATERAL." msgstr "" "Чтобы обратиться к этой таблице, нужно добавить для данного подзапроса " "пометку LATERAL." -#: parser/parse_relation.c:3659 +#: parser/parse_relation.c:3653 #, c-format msgid "missing FROM-clause entry for table \"%s\"" msgstr "таблица \"%s\" отсутствует в предложении FROM" -#: parser/parse_relation.c:3699 +#: parser/parse_relation.c:3693 #, c-format msgid "" "There are columns named \"%s\", but they are in tables that cannot be " @@ -20195,12 +20834,12 @@ msgstr "" "Имеются столбцы с именем \"%s\", но они относятся к таблицам, к которым " "нельзя обратиться из этой части запроса." -#: parser/parse_relation.c:3701 +#: parser/parse_relation.c:3695 #, c-format msgid "Try using a table-qualified name." msgstr "Попробуйте использовать имя с указанием таблицы." -#: parser/parse_relation.c:3709 +#: parser/parse_relation.c:3703 #, c-format msgid "" "There is a column named \"%s\" in table \"%s\", but it cannot be referenced " @@ -20209,52 +20848,52 @@ msgstr "" "Столбец \"%s\" есть в таблице \"%s\", но на него нельзя ссылаться из этой " "части запроса." -#: parser/parse_relation.c:3712 +#: parser/parse_relation.c:3706 #, c-format msgid "To reference that column, you must mark this subquery with LATERAL." msgstr "" "Чтобы обратиться к этому столбцу, нужно добавить для данного подзапроса " "пометку LATERAL." -#: parser/parse_relation.c:3714 +#: parser/parse_relation.c:3708 #, c-format msgid "To reference that column, you must use a table-qualified name." msgstr "" "Чтобы обратиться к этому столбцу, нужно использовать имя с указанием таблицы." -#: parser/parse_relation.c:3734 +#: parser/parse_relation.c:3728 #, c-format msgid "Perhaps you meant to reference the column \"%s.%s\"." msgstr "Возможно, предполагалась ссылка на столбец \"%s.%s\"." -#: parser/parse_relation.c:3748 +#: parser/parse_relation.c:3742 #, c-format msgid "" "Perhaps you meant to reference the column \"%s.%s\" or the column \"%s.%s\"." msgstr "" "Возможно, предполагалась ссылка на столбец \"%s.%s\" или столбец \"%s.%s\"." -#: parser/parse_target.c:481 parser/parse_target.c:796 +#: parser/parse_target.c:480 parser/parse_target.c:795 #, c-format msgid "cannot assign to system column \"%s\"" msgstr "присвоить значение системному столбцу \"%s\" нельзя" -#: parser/parse_target.c:509 +#: parser/parse_target.c:508 #, c-format msgid "cannot set an array element to DEFAULT" msgstr "элементу массива нельзя присвоить значение по умолчанию" -#: parser/parse_target.c:514 +#: parser/parse_target.c:513 #, c-format msgid "cannot set a subfield to DEFAULT" msgstr "вложенному полю нельзя присвоить значение по умолчанию" -#: parser/parse_target.c:588 +#: parser/parse_target.c:587 #, c-format msgid "column \"%s\" is of type %s but expression is of type %s" msgstr "столбец \"%s\" имеет тип %s, а выражение - %s" -#: parser/parse_target.c:780 +#: parser/parse_target.c:779 #, c-format msgid "" "cannot assign to field \"%s\" of column \"%s\" because its type %s is not a " @@ -20263,7 +20902,7 @@ msgstr "" "присвоить значение полю \"%s\" столбца \"%s\" нельзя, так как тип %s не " "является составным" -#: parser/parse_target.c:789 +#: parser/parse_target.c:788 #, c-format msgid "" "cannot assign to field \"%s\" of column \"%s\" because there is no such " @@ -20272,7 +20911,7 @@ msgstr "" "присвоить значение полю \"%s\" столбца \"%s\" нельзя, так как в типе данных " "%s нет такого столбца" -#: parser/parse_target.c:878 +#: parser/parse_target.c:877 #, c-format msgid "" "subscripted assignment to \"%s\" requires type %s but expression is of type " @@ -20281,12 +20920,12 @@ msgstr "" "для присваивания \"%s\" значения по индексу требуется тип %s, однако " "выражение имеет тип %s" -#: parser/parse_target.c:888 +#: parser/parse_target.c:887 #, c-format msgid "subfield \"%s\" is of type %s but expression is of type %s" msgstr "вложенное поле \"%s\" имеет тип %s, а выражение - %s" -#: parser/parse_target.c:1328 +#: parser/parse_target.c:1327 #, c-format msgid "SELECT * with no tables specified is not valid" msgstr "SELECT * должен ссылаться на таблицы" @@ -20306,8 +20945,8 @@ msgstr "неправильное указание %%TYPE (слишком мно msgid "type reference %s converted to %s" msgstr "ссылка на тип %s преобразована в тип %s" -#: parser/parse_type.c:278 parser/parse_type.c:813 utils/cache/typcache.c:395 -#: utils/cache/typcache.c:450 +#: parser/parse_type.c:278 parser/parse_type.c:813 utils/cache/typcache.c:397 +#: utils/cache/typcache.c:452 #, c-format msgid "type \"%s\" is only a shell" msgstr "тип \"%s\" является пустышкой" @@ -20327,74 +20966,79 @@ msgstr "модификатором типа должна быть простая msgid "invalid type name \"%s\"" msgstr "неверное имя типа \"%s\"" -#: parser/parse_utilcmd.c:264 +#: parser/parse_utilcmd.c:263 #, c-format msgid "cannot create partitioned table as inheritance child" msgstr "создать секционированную таблицу в виде потомка нельзя" -#: parser/parse_utilcmd.c:589 +#: parser/parse_utilcmd.c:475 +#, c-format +msgid "cannot set logged status of a temporary sequence" +msgstr "изменить состояние журналирования временной последовательности нельзя" + +#: parser/parse_utilcmd.c:611 #, c-format msgid "array of serial is not implemented" msgstr "массивы с типом serial не реализованы" -#: parser/parse_utilcmd.c:668 parser/parse_utilcmd.c:680 -#: parser/parse_utilcmd.c:739 +#: parser/parse_utilcmd.c:690 parser/parse_utilcmd.c:702 +#: parser/parse_utilcmd.c:761 #, c-format msgid "" "conflicting NULL/NOT NULL declarations for column \"%s\" of table \"%s\"" msgstr "конфликт NULL/NOT NULL в объявлении столбца \"%s\" таблицы \"%s\"" -#: parser/parse_utilcmd.c:692 +#: parser/parse_utilcmd.c:714 #, c-format msgid "multiple default values specified for column \"%s\" of table \"%s\"" msgstr "" "для столбца \"%s\" таблицы \"%s\" указано несколько значений по умолчанию" -#: parser/parse_utilcmd.c:709 +#: parser/parse_utilcmd.c:731 #, c-format msgid "identity columns are not supported on typed tables" msgstr "столбцы идентификации не поддерживаются с типизированными таблицами" -#: parser/parse_utilcmd.c:713 +#: parser/parse_utilcmd.c:735 #, c-format msgid "identity columns are not supported on partitions" msgstr "столбцы идентификации не поддерживаются с секциями" -#: parser/parse_utilcmd.c:722 +#: parser/parse_utilcmd.c:744 #, c-format msgid "multiple identity specifications for column \"%s\" of table \"%s\"" msgstr "" "для столбца \"%s\" таблицы \"%s\" свойство identity задано неоднократно" -#: parser/parse_utilcmd.c:752 +#: parser/parse_utilcmd.c:774 #, c-format msgid "generated columns are not supported on typed tables" msgstr "генерируемые столбцы не поддерживаются с типизированными таблицами" -#: parser/parse_utilcmd.c:756 +#: parser/parse_utilcmd.c:778 #, c-format msgid "multiple generation clauses specified for column \"%s\" of table \"%s\"" msgstr "" "для столбца \"%s\" таблицы \"%s\" указано несколько генерирующих выражений" -#: parser/parse_utilcmd.c:774 parser/parse_utilcmd.c:889 +#: parser/parse_utilcmd.c:796 parser/parse_utilcmd.c:911 #, c-format msgid "primary key constraints are not supported on foreign tables" msgstr "ограничения первичного ключа для сторонних таблиц не поддерживаются" -#: parser/parse_utilcmd.c:783 parser/parse_utilcmd.c:899 +#: parser/parse_utilcmd.c:805 parser/parse_utilcmd.c:921 #, c-format msgid "unique constraints are not supported on foreign tables" msgstr "ограничения уникальности для сторонних таблиц не поддерживаются" -#: parser/parse_utilcmd.c:828 +#: parser/parse_utilcmd.c:850 #, c-format msgid "both default and identity specified for column \"%s\" of table \"%s\"" msgstr "" "для столбца \"%s\" таблицы \"%s\" задано и значение по умолчанию, и свойство " "identity" -#: parser/parse_utilcmd.c:836 +#: parser/parse_utilcmd.c:858 #, c-format msgid "" "both default and generation expression specified for column \"%s\" of table " @@ -20403,7 +21047,7 @@ msgstr "" "для столбца \"%s\" таблицы \"%s\" задано и значение по умолчанию, и " "генерирующее выражение" -#: parser/parse_utilcmd.c:844 +#: parser/parse_utilcmd.c:866 #, c-format msgid "" "both identity and generation expression specified for column \"%s\" of table " @@ -20412,93 +21056,88 @@ msgstr "" "для столбца \"%s\" таблицы \"%s\" задано и генерирующее выражение, и " "свойство identity" -#: parser/parse_utilcmd.c:909 +#: parser/parse_utilcmd.c:931 #, c-format msgid "exclusion constraints are not supported on foreign tables" msgstr "ограничения-исключения для сторонних таблиц не поддерживаются" -#: parser/parse_utilcmd.c:915 -#, c-format -msgid "exclusion constraints are not supported on partitioned tables" -msgstr "ограничения-исключения для секционированных таблиц не поддерживаются" - -#: parser/parse_utilcmd.c:980 +#: parser/parse_utilcmd.c:996 #, c-format msgid "LIKE is not supported for creating foreign tables" msgstr "LIKE при создании сторонних таблиц не поддерживается" -#: parser/parse_utilcmd.c:993 +#: parser/parse_utilcmd.c:1009 #, c-format msgid "relation \"%s\" is invalid in LIKE clause" msgstr "отношение \"%s\" не подходит для предложения LIKE" -#: parser/parse_utilcmd.c:1750 parser/parse_utilcmd.c:1858 +#: parser/parse_utilcmd.c:1736 parser/parse_utilcmd.c:1844 #, c-format msgid "Index \"%s\" contains a whole-row table reference." msgstr "Индекс \"%s\" ссылается на тип всей строки таблицы." -#: parser/parse_utilcmd.c:2245 +#: parser/parse_utilcmd.c:2242 #, c-format msgid "cannot use an existing index in CREATE TABLE" msgstr "в CREATE TABLE нельзя использовать существующий индекс" -#: parser/parse_utilcmd.c:2265 +#: parser/parse_utilcmd.c:2262 #, c-format msgid "index \"%s\" is already associated with a constraint" msgstr "индекс \"%s\" уже связан с ограничением" -#: parser/parse_utilcmd.c:2286 +#: parser/parse_utilcmd.c:2283 #, c-format msgid "\"%s\" is not a unique index" msgstr "\"%s\" не является уникальным индексом" -#: parser/parse_utilcmd.c:2287 parser/parse_utilcmd.c:2294 -#: parser/parse_utilcmd.c:2301 parser/parse_utilcmd.c:2378 +#: parser/parse_utilcmd.c:2284 parser/parse_utilcmd.c:2291 +#: parser/parse_utilcmd.c:2298 parser/parse_utilcmd.c:2375 #, c-format msgid "Cannot create a primary key or unique constraint using such an index." msgstr "" "Создать первичный ключ или ограничение уникальности для такого индекса " "нельзя." -#: parser/parse_utilcmd.c:2293 +#: parser/parse_utilcmd.c:2290 #, c-format msgid "index \"%s\" contains expressions" msgstr "индекс \"%s\" содержит выражения" -#: parser/parse_utilcmd.c:2300 +#: parser/parse_utilcmd.c:2297 #, c-format msgid "\"%s\" is a partial index" msgstr "\"%s\" - частичный индекс" -#: parser/parse_utilcmd.c:2312 +#: parser/parse_utilcmd.c:2309 #, c-format msgid "\"%s\" is a deferrable index" msgstr "\"%s\" - откладываемый индекс" -#: parser/parse_utilcmd.c:2313 +#: parser/parse_utilcmd.c:2310 #, c-format msgid "Cannot create a non-deferrable constraint using a deferrable index." msgstr "" "Создать не откладываемое ограничение на базе откладываемого индекса нельзя." -#: parser/parse_utilcmd.c:2377 +#: parser/parse_utilcmd.c:2374 #, c-format msgid "index \"%s\" column number %d does not have default sorting behavior" msgstr "" "в индексе \"%s\" для столбца номер %d не определено поведение сортировки по " "умолчанию" -#: parser/parse_utilcmd.c:2534 +#: parser/parse_utilcmd.c:2531 #, c-format msgid "column \"%s\" appears twice in primary key constraint" msgstr "столбец \"%s\" фигурирует в первичном ключе дважды" -#: parser/parse_utilcmd.c:2540 +#: parser/parse_utilcmd.c:2537 #, c-format msgid "column \"%s\" appears twice in unique constraint" msgstr "столбец \"%s\" фигурирует в ограничении уникальности дважды" -#: parser/parse_utilcmd.c:2887 +#: parser/parse_utilcmd.c:2871 #, c-format msgid "" "index expressions and predicates can refer only to the table being indexed" @@ -20506,22 +21145,22 @@ msgstr "" "индексные выражения и предикаты могут ссылаться только на индексируемую " "таблицу" -#: parser/parse_utilcmd.c:2959 +#: parser/parse_utilcmd.c:2943 #, c-format msgid "statistics expressions can refer only to the table being referenced" msgstr "выражения статистики могут ссылаться только на целевую таблицу" -#: parser/parse_utilcmd.c:3002 +#: parser/parse_utilcmd.c:2986 #, c-format msgid "rules on materialized views are not supported" msgstr "правила для материализованных представлений не поддерживаются" -#: parser/parse_utilcmd.c:3062 +#: parser/parse_utilcmd.c:3046 #, c-format msgid "rule WHERE condition cannot contain references to other relations" msgstr "в условиях WHERE для правил нельзя ссылаться на другие отношения" -#: parser/parse_utilcmd.c:3134 +#: parser/parse_utilcmd.c:3118 #, c-format msgid "" "rules with WHERE conditions can only have SELECT, INSERT, UPDATE, or DELETE " @@ -20530,158 +21169,158 @@ msgstr "" "правила с условиями WHERE могут содержать только действия SELECT, INSERT, " "UPDATE или DELETE" -#: parser/parse_utilcmd.c:3152 parser/parse_utilcmd.c:3253 -#: rewrite/rewriteHandler.c:539 rewrite/rewriteManip.c:1087 +#: parser/parse_utilcmd.c:3136 parser/parse_utilcmd.c:3237 +#: rewrite/rewriteHandler.c:538 rewrite/rewriteManip.c:1095 #, c-format msgid "conditional UNION/INTERSECT/EXCEPT statements are not implemented" msgstr "условные операторы UNION/INTERSECT/EXCEPT не реализованы" -#: parser/parse_utilcmd.c:3170 +#: parser/parse_utilcmd.c:3154 #, c-format msgid "ON SELECT rule cannot use OLD" msgstr "в правиле ON SELECT нельзя использовать OLD" -#: parser/parse_utilcmd.c:3174 +#: parser/parse_utilcmd.c:3158 #, c-format msgid "ON SELECT rule cannot use NEW" msgstr "в правиле ON SELECT нельзя использовать NEW" -#: parser/parse_utilcmd.c:3183 +#: parser/parse_utilcmd.c:3167 #, c-format msgid "ON INSERT rule cannot use OLD" msgstr "в правиле ON INSERT нельзя использовать OLD" -#: parser/parse_utilcmd.c:3189 +#: parser/parse_utilcmd.c:3173 #, c-format msgid "ON DELETE rule cannot use NEW" msgstr "в правиле ON DELETE нельзя использовать NEW" -#: parser/parse_utilcmd.c:3217 +#: parser/parse_utilcmd.c:3201 #, c-format msgid "cannot refer to OLD within WITH query" msgstr "в запросе WITH нельзя ссылаться на OLD" -#: parser/parse_utilcmd.c:3224 +#: parser/parse_utilcmd.c:3208 #, c-format msgid "cannot refer to NEW within WITH query" msgstr "в запросе WITH нельзя ссылаться на NEW" -#: parser/parse_utilcmd.c:3676 +#: parser/parse_utilcmd.c:3664 #, c-format msgid "misplaced DEFERRABLE clause" msgstr "предложение DEFERRABLE расположено неправильно" -#: parser/parse_utilcmd.c:3681 parser/parse_utilcmd.c:3696 +#: parser/parse_utilcmd.c:3669 parser/parse_utilcmd.c:3684 #, c-format msgid "multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed" msgstr "DEFERRABLE/NOT DEFERRABLE можно указать только один раз" -#: parser/parse_utilcmd.c:3691 +#: parser/parse_utilcmd.c:3679 #, c-format msgid "misplaced NOT DEFERRABLE clause" msgstr "предложение NOT DEFERRABLE расположено неправильно" -#: parser/parse_utilcmd.c:3704 parser/parse_utilcmd.c:3730 gram.y:5990 +#: parser/parse_utilcmd.c:3692 parser/parse_utilcmd.c:3718 gram.y:6114 #, c-format msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE" msgstr "" "ограничение с характеристикой INITIALLY DEFERRED должно быть объявлено как " "DEFERRABLE" -#: parser/parse_utilcmd.c:3712 +#: parser/parse_utilcmd.c:3700 #, c-format msgid "misplaced INITIALLY DEFERRED clause" msgstr "предложение INITIALLY DEFERRED расположено неправильно" -#: parser/parse_utilcmd.c:3717 parser/parse_utilcmd.c:3743 +#: parser/parse_utilcmd.c:3705 parser/parse_utilcmd.c:3731 #, c-format msgid "multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed" msgstr "INITIALLY IMMEDIATE/DEFERRED можно указать только один раз" -#: parser/parse_utilcmd.c:3738 +#: parser/parse_utilcmd.c:3726 #, c-format msgid "misplaced INITIALLY IMMEDIATE clause" msgstr "предложение INITIALLY IMMEDIATE расположено неправильно" -#: parser/parse_utilcmd.c:3931 +#: parser/parse_utilcmd.c:3919 #, c-format msgid "" "CREATE specifies a schema (%s) different from the one being created (%s)" msgstr "в CREATE указана схема (%s), отличная от создаваемой (%s)" -#: parser/parse_utilcmd.c:3966 +#: parser/parse_utilcmd.c:3954 #, c-format msgid "\"%s\" is not a partitioned table" msgstr "\"%s\" — не секционированная таблица" -#: parser/parse_utilcmd.c:3973 +#: parser/parse_utilcmd.c:3961 #, c-format msgid "table \"%s\" is not partitioned" msgstr "таблица \"%s\" не является секционированной" -#: parser/parse_utilcmd.c:3980 +#: parser/parse_utilcmd.c:3968 #, c-format msgid "index \"%s\" is not partitioned" msgstr "индекс \"%s\" не секционирован" -#: parser/parse_utilcmd.c:4020 +#: parser/parse_utilcmd.c:4008 #, c-format msgid "a hash-partitioned table may not have a default partition" msgstr "у секционированной по хешу таблицы не может быть секции по умолчанию" -#: parser/parse_utilcmd.c:4037 +#: parser/parse_utilcmd.c:4025 #, c-format msgid "invalid bound specification for a hash partition" msgstr "неправильное указание ограничения для хеш-секции" -#: parser/parse_utilcmd.c:4043 partitioning/partbounds.c:4803 +#: parser/parse_utilcmd.c:4031 partitioning/partbounds.c:4802 #, c-format msgid "modulus for hash partition must be an integer value greater than zero" msgstr "модуль для хеш-секции должен быть положительным целым" -#: parser/parse_utilcmd.c:4050 partitioning/partbounds.c:4811 +#: parser/parse_utilcmd.c:4038 partitioning/partbounds.c:4810 #, c-format msgid "remainder for hash partition must be less than modulus" msgstr "остаток для хеш-секции должен быть меньше модуля" -#: parser/parse_utilcmd.c:4063 +#: parser/parse_utilcmd.c:4051 #, c-format msgid "invalid bound specification for a list partition" msgstr "неправильное указание ограничения для секции по списку" -#: parser/parse_utilcmd.c:4116 +#: parser/parse_utilcmd.c:4104 #, c-format msgid "invalid bound specification for a range partition" msgstr "неправильное указание ограничения для секции по диапазону" -#: parser/parse_utilcmd.c:4122 +#: parser/parse_utilcmd.c:4110 #, c-format msgid "FROM must specify exactly one value per partitioning column" msgstr "" "во FROM должно указываться ровно одно значение для секционирующего столбца" -#: parser/parse_utilcmd.c:4126 +#: parser/parse_utilcmd.c:4114 #, c-format msgid "TO must specify exactly one value per partitioning column" msgstr "" "в TO должно указываться ровно одно значение для секционирующего столбца" -#: parser/parse_utilcmd.c:4240 +#: parser/parse_utilcmd.c:4228 #, c-format msgid "cannot specify NULL in range bound" msgstr "указать NULL в диапазонном ограничении нельзя" -#: parser/parse_utilcmd.c:4289 +#: parser/parse_utilcmd.c:4277 #, c-format msgid "every bound following MAXVALUE must also be MAXVALUE" msgstr "за границей MAXVALUE могут следовать только границы MAXVALUE" -#: parser/parse_utilcmd.c:4296 +#: parser/parse_utilcmd.c:4284 #, c-format msgid "every bound following MINVALUE must also be MINVALUE" msgstr "за границей MINVALUE могут следовать только границы MINVALUE" -#: parser/parse_utilcmd.c:4339 +#: parser/parse_utilcmd.c:4327 #, c-format msgid "specified value cannot be cast to type %s for column \"%s\"" msgstr "указанное значение нельзя привести к типу %s столбца \"%s\"" @@ -20694,12 +21333,12 @@ msgstr "За UESCAPE должна следовать простая строко msgid "invalid Unicode escape character" msgstr "неверный символ спецкода Unicode" -#: parser/parser.c:347 scan.l:1390 +#: parser/parser.c:347 scan.l:1393 #, c-format msgid "invalid Unicode escape value" msgstr "неверное значение спецкода Unicode" -#: parser/parser.c:494 utils/adt/varlena.c:6505 scan.l:701 +#: parser/parser.c:494 utils/adt/varlena.c:6640 scan.l:716 #, c-format msgid "invalid Unicode escape" msgstr "неверный спецкод Unicode" @@ -20709,8 +21348,8 @@ msgstr "неверный спецкод Unicode" msgid "Unicode escapes must be \\XXXX or \\+XXXXXX." msgstr "Спецкоды Unicode должны иметь вид \\XXXX или \\+XXXXXX." -#: parser/parser.c:523 utils/adt/varlena.c:6530 scan.l:662 scan.l:678 -#: scan.l:694 +#: parser/parser.c:523 utils/adt/varlena.c:6665 scan.l:677 scan.l:693 +#: scan.l:709 #, c-format msgid "invalid Unicode surrogate pair" msgstr "неверная суррогатная пара Unicode" @@ -20720,20 +21359,20 @@ msgstr "неверная суррогатная пара Unicode" msgid "identifier \"%s\" will be truncated to \"%.*s\"" msgstr "идентификатор \"%s\" будет усечён до \"%.*s\"" -#: partitioning/partbounds.c:2921 +#: partitioning/partbounds.c:2920 #, c-format msgid "partition \"%s\" conflicts with existing default partition \"%s\"" msgstr "секция \"%s\" конфликтует с существующей секцией по умолчанию \"%s\"" -#: partitioning/partbounds.c:2973 partitioning/partbounds.c:2992 -#: partitioning/partbounds.c:3014 +#: partitioning/partbounds.c:2972 partitioning/partbounds.c:2991 +#: partitioning/partbounds.c:3013 #, c-format msgid "" "every hash partition modulus must be a factor of the next larger modulus" msgstr "" "модуль каждой хеш-секции должен быть делителем модулей, превышающих его" -#: partitioning/partbounds.c:2974 partitioning/partbounds.c:3015 +#: partitioning/partbounds.c:2973 partitioning/partbounds.c:3014 #, c-format msgid "" "The new modulus %d is not a factor of %d, the modulus of existing partition " @@ -20741,29 +21380,29 @@ msgid "" msgstr "" "Новый модуль %d не является делителем %d, модуля существующей секции \"%s\"." -#: partitioning/partbounds.c:2993 +#: partitioning/partbounds.c:2992 #, c-format msgid "" "The new modulus %d is not divisible by %d, the modulus of existing partition " "\"%s\"." msgstr "Новый модуль %d не делится на %d, модуль существующей секции \"%s\"." -#: partitioning/partbounds.c:3128 +#: partitioning/partbounds.c:3127 #, c-format msgid "empty range bound specified for partition \"%s\"" msgstr "для секции \"%s\" заданы границы, образующие пустой диапазон" -#: partitioning/partbounds.c:3130 +#: partitioning/partbounds.c:3129 #, c-format msgid "Specified lower bound %s is greater than or equal to upper bound %s." msgstr "Указанная нижняя граница %s больше или равна верхней границе %s." -#: partitioning/partbounds.c:3238 +#: partitioning/partbounds.c:3237 #, c-format msgid "partition \"%s\" would overlap partition \"%s\"" msgstr "секция \"%s\" пересекается с секцией \"%s\"" -#: partitioning/partbounds.c:3355 +#: partitioning/partbounds.c:3354 #, c-format msgid "" "skipped scanning foreign table \"%s\" which is a partition of default " @@ -20772,19 +21411,19 @@ msgstr "" "пропущено сканирование сторонней таблицы \"%s\", являющейся секцией секции " "по умолчанию \"%s\"" -#: partitioning/partbounds.c:4807 +#: partitioning/partbounds.c:4806 #, c-format msgid "" "remainder for hash partition must be an integer value greater than or equal " "to zero" msgstr "значение остатка для хеш-секции должно быть неотрицательным целым" -#: partitioning/partbounds.c:4831 +#: partitioning/partbounds.c:4830 #, c-format msgid "\"%s\" is not a hash partitioned table" msgstr "\"%s\" не является таблицей, секционированной по хешу" -#: partitioning/partbounds.c:4842 partitioning/partbounds.c:4959 +#: partitioning/partbounds.c:4841 partitioning/partbounds.c:4958 #, c-format msgid "" "number of partitioning columns (%d) does not match number of partition keys " @@ -20793,7 +21432,7 @@ msgstr "" "число секционирующих столбцов (%d) не равно числу представленных ключей " "секционирования (%d)" -#: partitioning/partbounds.c:4864 +#: partitioning/partbounds.c:4863 #, c-format msgid "" "column %d of the partition key has type %s, but supplied value is of type %s" @@ -20801,7 +21440,7 @@ msgstr "" "столбец %d ключа секционирования имеет тип %s, но для него передано значение " "типа %s" -#: partitioning/partbounds.c:4896 +#: partitioning/partbounds.c:4895 #, c-format msgid "" "column %d of the partition key has type \"%s\", but supplied value is of " @@ -20810,23 +21449,23 @@ msgstr "" "столбец %d ключа секционирования имеет тип \"%s\", но для него передано " "значение типа \"%s\"" -#: port/pg_sema.c:209 port/pg_shmem.c:708 port/posix_sema.c:209 -#: port/sysv_sema.c:323 port/sysv_shmem.c:708 +#: port/pg_sema.c:209 port/pg_shmem.c:717 port/posix_sema.c:209 +#: port/sysv_sema.c:323 port/sysv_shmem.c:717 #, c-format msgid "could not stat data directory \"%s\": %m" msgstr "не удалось получить информацию о каталоге данных \"%s\": %m" -#: port/pg_shmem.c:223 port/sysv_shmem.c:223 +#: port/pg_shmem.c:224 port/sysv_shmem.c:224 #, c-format msgid "could not create shared memory segment: %m" msgstr "не удалось создать сегмент разделяемой памяти: %m" -#: port/pg_shmem.c:224 port/sysv_shmem.c:224 +#: port/pg_shmem.c:225 port/sysv_shmem.c:225 #, c-format msgid "Failed system call was shmget(key=%lu, size=%zu, 0%o)." msgstr "Ошибка в системном вызове shmget(ключ=%lu, размер=%zu, 0%o)." -#: port/pg_shmem.c:228 port/sysv_shmem.c:228 +#: port/pg_shmem.c:229 port/sysv_shmem.c:229 #, c-format msgid "" "This error usually means that PostgreSQL's request for a shared memory " @@ -20840,7 +21479,7 @@ msgstr "" "Подробная информация о настройке разделяемой памяти содержится в " "документации PostgreSQL." -#: port/pg_shmem.c:235 port/sysv_shmem.c:235 +#: port/pg_shmem.c:236 port/sysv_shmem.c:236 #, c-format msgid "" "This error usually means that PostgreSQL's request for a shared memory " @@ -20855,7 +21494,7 @@ msgstr "" "Подробная информация о настройке разделяемой памяти содержится в " "документации PostgreSQL." -#: port/pg_shmem.c:241 port/sysv_shmem.c:241 +#: port/pg_shmem.c:242 port/sysv_shmem.c:242 #, c-format msgid "" "This error does *not* mean that you have run out of disk space. It occurs " @@ -20872,49 +21511,51 @@ msgstr "" "Подробная информация о настройке разделяемой памяти содержится в " "документации PostgreSQL." -#: port/pg_shmem.c:583 port/sysv_shmem.c:583 port/win32_shmem.c:641 +#: port/pg_shmem.c:584 port/sysv_shmem.c:584 port/win32_shmem.c:646 #, c-format -msgid "huge_page_size must be 0 on this platform." -msgstr "Значение huge_page_size должно равняться 0 на этой платформе." +msgid "\"huge_page_size\" must be 0 on this platform." +msgstr "Значение \"huge_page_size\" должно равняться 0 на этой платформе." -#: port/pg_shmem.c:646 port/sysv_shmem.c:646 +#: port/pg_shmem.c:655 port/sysv_shmem.c:655 #, c-format msgid "could not map anonymous shared memory: %m" msgstr "не удалось получить анонимную разделяемую память: %m" -#: port/pg_shmem.c:648 port/sysv_shmem.c:648 +#: port/pg_shmem.c:657 port/sysv_shmem.c:657 #, c-format msgid "" "This error usually means that PostgreSQL's request for a shared memory " "segment exceeded available memory, swap space, or huge pages. To reduce the " "request size (currently %zu bytes), reduce PostgreSQL's shared memory usage, " -"perhaps by reducing shared_buffers or max_connections." +"perhaps by reducing \"shared_buffers\" or \"max_connections\"." msgstr "" "Эта ошибка обычно возникает, когда PostgreSQL запрашивает сегмент " "разделяемой памяти, превышая объём доступной физической либо виртуальной " "памяти или огромных страниц. Для уменьшения запроса (текущий размер: %zu Б) " "можно снизить использование разделяемой памяти, возможно, уменьшив " -"shared_buffers или max_connections." +"\"shared_buffers\" или \"max_connections\"." -#: port/pg_shmem.c:716 port/sysv_shmem.c:716 +#: port/pg_shmem.c:725 port/sysv_shmem.c:725 #, c-format msgid "huge pages not supported on this platform" msgstr "огромные страницы на этой платформе не поддерживаются" -#: port/pg_shmem.c:723 port/sysv_shmem.c:723 +#: port/pg_shmem.c:732 port/sysv_shmem.c:732 #, c-format -msgid "huge pages not supported with the current shared_memory_type setting" +msgid "" +"huge pages not supported with the current \"shared_memory_type\" setting" msgstr "" -"огромные страницы не поддерживаются с текущим значением shared_memory_type" +"огромные страницы не поддерживаются с текущим значением " +"\"shared_memory_type\"" -#: port/pg_shmem.c:783 port/sysv_shmem.c:783 utils/init/miscinit.c:1358 +#: port/pg_shmem.c:798 port/sysv_shmem.c:798 utils/init/miscinit.c:1347 #, c-format msgid "pre-existing shared memory block (key %lu, ID %lu) is still in use" msgstr "" "ранее выделенный блок разделяемой памяти (ключ %lu, ID %lu) по-прежнему " "используется" -#: port/pg_shmem.c:786 port/sysv_shmem.c:786 utils/init/miscinit.c:1360 +#: port/pg_shmem.c:801 port/sysv_shmem.c:801 utils/init/miscinit.c:1349 #, c-format msgid "" "Terminate any old server processes associated with data directory \"%s\"." @@ -20940,14 +21581,15 @@ msgid "" "(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" +"\"max_connections\" parameter.\n" "The PostgreSQL documentation contains more information about configuring " "your system for PostgreSQL." msgstr "" "Эта ошибка НЕ означает, что на диске нет места. Вероятнее всего, превышен " "предел числа установленных семафоров (SEMMNI), либо общего числа семафоров " "(SEMMNS) в системе. Увеличьте соответствующий параметр ядра или уменьшите " -"потребность PostgreSQL в семафорах, уменьшив его параметр max_connections.\n" +"потребность PostgreSQL в семафорах, уменьшив его параметр " +"\"max_connections\".\n" "Подробная информация о настройке разделяемой памяти содержится в " "документации PostgreSQL." @@ -21093,53 +21735,43 @@ msgstr "Ошибка в системном вызове DuplicateHandle." msgid "Failed system call was MapViewOfFileEx." msgstr "Ошибка в системном вызове MapViewOfFileEx." -#: postmaster/autovacuum.c:418 -#, c-format -msgid "could not fork autovacuum launcher process: %m" -msgstr "породить процесс запуска автоочистки не удалось: %m" - -#: postmaster/autovacuum.c:765 +#: postmaster/autovacuum.c:686 #, c-format msgid "autovacuum worker took too long to start; canceled" msgstr "процесс автоочистки запускался слишком долго; его запуск отменён" -#: postmaster/autovacuum.c:1490 -#, c-format -msgid "could not fork autovacuum worker process: %m" -msgstr "не удалось породить рабочий процесс автоочистки: %m" - # skip-rule: capital-letter-first -#: postmaster/autovacuum.c:2353 +#: postmaster/autovacuum.c:2199 #, c-format msgid "autovacuum: dropping orphan temp table \"%s.%s.%s\"" msgstr "автоочистка: удаление устаревшей врем. таблицы \"%s.%s.%s\"" -#: postmaster/autovacuum.c:2589 +#: postmaster/autovacuum.c:2435 #, c-format msgid "automatic vacuum of table \"%s.%s.%s\"" msgstr "автоматическая очистка таблицы \"%s.%s.%s\"" -#: postmaster/autovacuum.c:2592 +#: postmaster/autovacuum.c:2438 #, c-format msgid "automatic analyze of table \"%s.%s.%s\"" msgstr "автоматический анализ таблицы \"%s.%s.%s\"" -#: postmaster/autovacuum.c:2786 +#: postmaster/autovacuum.c:2632 #, c-format msgid "processing work entry for relation \"%s.%s.%s\"" msgstr "обработка рабочей записи для отношения \"%s.%s.%s\"" -#: postmaster/autovacuum.c:3400 +#: postmaster/autovacuum.c:3250 #, c-format msgid "autovacuum not started because of misconfiguration" msgstr "автоочистка не запущена из-за неправильной конфигурации" -#: postmaster/autovacuum.c:3401 +#: postmaster/autovacuum.c:3251 #, c-format msgid "Enable the \"track_counts\" option." msgstr "Включите параметр \"track_counts\"." -#: postmaster/bgworker.c:259 +#: postmaster/bgworker.c:260 #, c-format msgid "" "inconsistent background worker state (max_worker_processes=%d, " @@ -21148,7 +21780,7 @@ msgstr "" "несогласованное состояние фонового рабочего процесса " "(max_worker_processes=%d, total_slots=%d)" -#: postmaster/bgworker.c:669 +#: postmaster/bgworker.c:651 #, c-format msgid "" "background worker \"%s\": background workers without shared memory access " @@ -21157,7 +21789,7 @@ msgstr "" "фоновый процесс \"%s\": фоновые процессы, не обращающиеся к общей памяти, не " "поддерживаются" -#: postmaster/bgworker.c:680 +#: postmaster/bgworker.c:662 #, c-format msgid "" "background worker \"%s\": cannot request database access if starting at " @@ -21166,12 +21798,12 @@ msgstr "" "фоновый процесс \"%s\" не может получить доступ к БД, если он запущен при " "старте главного процесса" -#: postmaster/bgworker.c:694 +#: postmaster/bgworker.c:676 #, c-format msgid "background worker \"%s\": invalid restart interval" msgstr "фоновый процесс \"%s\": неправильный интервал перезапуска" -#: postmaster/bgworker.c:709 +#: postmaster/bgworker.c:691 #, c-format msgid "" "background worker \"%s\": parallel workers may not be configured for restart" @@ -21179,19 +21811,20 @@ msgstr "" "фоновый процесс \"%s\": параллельные исполнители не могут быть настроены для " "перезапуска" -#: postmaster/bgworker.c:733 tcop/postgres.c:3255 +#: postmaster/bgworker.c:715 tcop/postgres.c:3312 #, c-format msgid "terminating background worker \"%s\" due to administrator command" msgstr "завершение фонового процесса \"%s\" по команде администратора" -#: postmaster/bgworker.c:890 +#: postmaster/bgworker.c:888 #, c-format msgid "" -"background worker \"%s\": must be registered in shared_preload_libraries" +"background worker \"%s\": must be registered in \"shared_preload_libraries\"" msgstr "" -"фоновой процесс \"%s\" должен быть зарегистрирован в shared_preload_libraries" +"фоновой процесс \"%s\" должен быть зарегистрирован в " +"\"shared_preload_libraries\"" -#: postmaster/bgworker.c:902 +#: postmaster/bgworker.c:911 #, c-format msgid "" "background worker \"%s\": only dynamic background workers can request " @@ -21200,12 +21833,12 @@ msgstr "" "фоновый процесс \"%s\": только динамические фоновые процессы могут " "запрашивать уведомление" -#: postmaster/bgworker.c:917 +#: postmaster/bgworker.c:926 #, c-format msgid "too many background workers" msgstr "слишком много фоновых процессов" -#: postmaster/bgworker.c:918 +#: postmaster/bgworker.c:927 #, c-format msgid "Up to %d background worker can be registered with the current settings." msgid_plural "" @@ -21217,13 +21850,12 @@ msgstr[1] "" msgstr[2] "" "Максимально возможное число фоновых процессов при текущих параметрах: %d." -#: postmaster/bgworker.c:922 +#: postmaster/bgworker.c:931 postmaster/checkpointer.c:445 #, c-format -msgid "" -"Consider increasing the configuration parameter \"max_worker_processes\"." -msgstr "Возможно, стоит увеличить параметр \"max_worker_processes\"." +msgid "Consider increasing the configuration parameter \"%s\"." +msgstr "Возможно, стоит увеличить параметр \"%s\"." -#: postmaster/checkpointer.c:431 +#: postmaster/checkpointer.c:441 #, c-format msgid "checkpoints are occurring too frequently (%d second apart)" msgid_plural "checkpoints are occurring too frequently (%d seconds apart)" @@ -21231,32 +21863,128 @@ msgstr[0] "контрольные точки происходят слишком msgstr[1] "контрольные точки происходят слишком часто (через %d сек.)" msgstr[2] "контрольные точки происходят слишком часто (через %d сек.)" -#: postmaster/checkpointer.c:435 -#, c-format -msgid "Consider increasing the configuration parameter \"max_wal_size\"." -msgstr "Возможно, стоит увеличить параметр \"max_wal_size\"." - -#: postmaster/checkpointer.c:1059 +#: postmaster/checkpointer.c:1067 #, c-format msgid "checkpoint request failed" msgstr "сбой при запросе контрольной точки" -#: postmaster/checkpointer.c:1060 +#: postmaster/checkpointer.c:1068 #, c-format msgid "Consult recent messages in the server log for details." msgstr "Смотрите подробности в протоколе сервера." -#: postmaster/pgarch.c:416 +#: postmaster/launch_backend.c:381 +#, c-format +msgid "could not execute server process \"%s\": %m" +msgstr "запустить серверный процесс \"%s\" не удалось: %m" + +#: postmaster/launch_backend.c:434 +#, c-format +msgid "could not create backend parameter file mapping: error code %lu" +msgstr "" +"создать отображение файла серверных параметров не удалось (код ошибки: %lu)" + +#: postmaster/launch_backend.c:442 +#, c-format +msgid "could not map backend parameter memory: error code %lu" +msgstr "" +"отобразить файл серверных параметров в память не удалось (код ошибки: %lu)" + +#: postmaster/launch_backend.c:459 +#, c-format +msgid "subprocess command line too long" +msgstr "слишком длинная командная строка подпроцесса" + +#: postmaster/launch_backend.c:477 +#, c-format +msgid "CreateProcess() call failed: %m (error code %lu)" +msgstr "ошибка в CreateProcess(): %m (код ошибки: %lu)" + +#: postmaster/launch_backend.c:504 +#, c-format +msgid "could not unmap view of backend parameter file: error code %lu" +msgstr "" +"отключить отображение файла серверных параметров не удалось (код ошибки: %lu)" + +#: postmaster/launch_backend.c:508 +#, c-format +msgid "could not close handle to backend parameter file: error code %lu" +msgstr "" +"закрыть указатель файла серверных параметров не удалось (код ошибки: %lu)" + +#: postmaster/launch_backend.c:530 +#, c-format +msgid "giving up after too many tries to reserve shared memory" +msgstr "" +"число повторных попыток резервирования разделяемой памяти достигло предела" + +#: postmaster/launch_backend.c:531 +#, c-format +msgid "This might be caused by ASLR or antivirus software." +msgstr "Это может быть вызвано антивирусным ПО или механизмом ASLR." + +#: postmaster/launch_backend.c:834 +#, c-format +msgid "could not duplicate socket %d for use in backend: error code %d" +msgstr "" +"продублировать сокет %d для серверного процесса не удалось (код ошибки: %d)" + +#: postmaster/launch_backend.c:866 +#, c-format +msgid "could not create inherited socket: error code %d\n" +msgstr "создать наследуемый сокет не удалось (код ошибки: %d)\n" + +#: postmaster/launch_backend.c:895 +#, c-format +msgid "could not open backend variables file \"%s\": %m\n" +msgstr "открыть файл серверных переменных \"%s\" не удалось: %m\n" + +#: postmaster/launch_backend.c:901 +#, c-format +msgid "could not read from backend variables file \"%s\": %m\n" +msgstr "прочитать файл серверных переменных \"%s\" не удалось: %m\n" + +#: postmaster/launch_backend.c:912 +#, c-format +msgid "could not read startup data from backend variables file \"%s\": %m\n" +msgstr "" +"прочитать стартовые данные из файла серверных переменных \"%s\" не удалось: " +"%m\n" + +#: postmaster/launch_backend.c:924 +#, c-format +msgid "could not remove file \"%s\": %m\n" +msgstr "не удалось стереть файл \"%s\": %m\n" + +#: postmaster/launch_backend.c:940 +#, c-format +msgid "could not map view of backend variables: error code %lu\n" +msgstr "отобразить файл серверных переменных не удалось (код ошибки: %lu)\n" + +#: postmaster/launch_backend.c:959 +#, c-format +msgid "could not unmap view of backend variables: error code %lu\n" +msgstr "" +"отключить отображение файла серверных переменных не удалось (код ошибки: " +"%lu)\n" + +#: postmaster/launch_backend.c:966 +#, c-format +msgid "could not close handle to backend parameter variables: error code %lu\n" +msgstr "" +"закрыть указатель файла серверных переменных не удалось (код ошибки: %lu)\n" + +#: postmaster/pgarch.c:428 #, c-format -msgid "archive_mode enabled, yet archiving is not configured" -msgstr "режим архивации включён, но архивирование ещё не настроено" +msgid "\"archive_mode\" enabled, yet archiving is not configured" +msgstr "параметр \"archive_mode\" включён, но архивирование ещё не настроено" -#: postmaster/pgarch.c:438 +#: postmaster/pgarch.c:452 #, c-format msgid "removed orphan archive status file \"%s\"" msgstr "удалён ненужный файл состояния архива \"%s\"" -#: postmaster/pgarch.c:448 +#: postmaster/pgarch.c:462 #, c-format msgid "" "removal of orphan archive status file \"%s\" failed too many times, will try " @@ -21265,7 +21993,7 @@ msgstr "" "удалить ненужный файл состояния архива \"%s\" не получилось много раз " "подряд; следующая попытка будет сделана позже" -#: postmaster/pgarch.c:484 +#: postmaster/pgarch.c:498 #, c-format msgid "" "archiving write-ahead log file \"%s\" failed too many times, will try again " @@ -21274,19 +22002,19 @@ msgstr "" "заархивировать файл журнала предзаписи \"%s\" не удалось много раз подряд; " "следующая попытка будет сделана позже" -#: postmaster/pgarch.c:791 postmaster/pgarch.c:830 +#: postmaster/pgarch.c:879 postmaster/pgarch.c:918 #, c-format -msgid "both archive_command and archive_library set" -msgstr "archive_command и archive_library заданы одновременно" +msgid "both \"archive_command\" and \"archive_library\" set" +msgstr "\"archive_command\" и \"archive_library\" заданы одновременно" -#: postmaster/pgarch.c:792 postmaster/pgarch.c:831 +#: postmaster/pgarch.c:880 postmaster/pgarch.c:919 #, c-format -msgid "Only one of archive_command, archive_library may be set." +msgid "Only one of \"archive_command\", \"archive_library\" may be set." msgstr "" -"Только один из параметров archive_command, archive_library может иметь " -"значение." +"Только один из параметров \"archive_command\", \"archive_library\" может " +"иметь значение." -#: postmaster/pgarch.c:809 +#: postmaster/pgarch.c:897 #, c-format msgid "" "restarting archiver process because value of \"archive_library\" was changed" @@ -21294,146 +22022,151 @@ msgstr "" "процесс архиватора перезапускается, так как было изменено значение " "\"archive_library\"" -#: postmaster/pgarch.c:846 +#: postmaster/pgarch.c:934 #, c-format msgid "archive modules have to define the symbol %s" msgstr "в модулях архивирования должен объявляться символ %s" -#: postmaster/pgarch.c:852 +#: postmaster/pgarch.c:940 #, c-format msgid "archive modules must register an archive callback" msgstr "модули архивирования должны регистрировать обработчик вызова архивации" -#: postmaster/postmaster.c:759 +#: postmaster/postmaster.c:661 #, c-format msgid "%s: invalid argument for option -f: \"%s\"\n" msgstr "%s: неверный аргумент для параметра -f: \"%s\"\n" -#: postmaster/postmaster.c:832 +#: postmaster/postmaster.c:734 #, c-format msgid "%s: invalid argument for option -t: \"%s\"\n" msgstr "%s: неверный аргумент для параметра -t: \"%s\"\n" -#: postmaster/postmaster.c:855 +#: postmaster/postmaster.c:757 #, c-format msgid "%s: invalid argument: \"%s\"\n" msgstr "%s: неверный аргумент: \"%s\"\n" -#: postmaster/postmaster.c:923 +#: postmaster/postmaster.c:825 #, c-format msgid "" -"%s: superuser_reserved_connections (%d) plus reserved_connections (%d) must " -"be less than max_connections (%d)\n" +"%s: \"superuser_reserved_connections\" (%d) plus " +"\"reserved_connections\" (%d) must be less than \"max_connections\" (%d)\n" msgstr "" -"%s: значение superuser_reserved_connections (%d) плюс reserved_connections " -"(%d) должно быть меньше max_connections (%d)\n" +"%s: значение \"superuser_reserved_connections\" (%d) плюс " +"\"reserved_connections\" (%d) должно быть меньше \"max_connections\" (%d)\n" -#: postmaster/postmaster.c:931 +#: postmaster/postmaster.c:833 #, c-format -msgid "WAL archival cannot be enabled when wal_level is \"minimal\"" -msgstr "Архивацию WAL нельзя включить, если установлен wal_level \"minimal\"" +msgid "WAL archival cannot be enabled when \"wal_level\" is \"minimal\"" +msgstr "архивацию WAL нельзя включить, если \"wal_level\" = \"minimal\"" -#: postmaster/postmaster.c:934 +#: postmaster/postmaster.c:836 #, c-format msgid "" -"WAL streaming (max_wal_senders > 0) requires wal_level \"replica\" or " -"\"logical\"" +"WAL streaming (\"max_wal_senders\" > 0) requires \"wal_level\" to be " +"\"replica\" or \"logical\"" msgstr "" -"Для потоковой трансляции WAL (max_wal_senders > 0) wal_level должен быть " -"\"replica\" или \"logical\"" +"для потоковой трансляции WAL (\"max_wal_senders\" > 0) \"wal_level\" должен " +"быть \"replica\" или \"logical\"" + +#: postmaster/postmaster.c:839 +#, c-format +msgid "WAL cannot be summarized when \"wal_level\" is \"minimal\"" +msgstr "обобщение WAL нельзя включить, если выбран \"wal_level\" \"minimal\"" -#: postmaster/postmaster.c:942 +#: postmaster/postmaster.c:847 #, c-format msgid "%s: invalid datetoken tables, please fix\n" msgstr "%s: ошибка в таблицах маркеров времени, требуется исправление\n" -#: postmaster/postmaster.c:1099 +#: postmaster/postmaster.c:1004 #, c-format msgid "could not create I/O completion port for child queue" msgstr "не удалось создать порт завершения ввода/вывода для очереди потомков" -#: postmaster/postmaster.c:1175 +#: postmaster/postmaster.c:1069 #, c-format msgid "ending log output to stderr" msgstr "завершение вывода в stderr" -#: postmaster/postmaster.c:1176 +#: postmaster/postmaster.c:1070 #, c-format msgid "Future log output will go to log destination \"%s\"." msgstr "В дальнейшем протокол будет выводиться в \"%s\"." -#: postmaster/postmaster.c:1187 +#: postmaster/postmaster.c:1081 #, c-format msgid "starting %s" msgstr "запускается %s" -#: postmaster/postmaster.c:1239 +#: postmaster/postmaster.c:1143 #, c-format msgid "could not create listen socket for \"%s\"" msgstr "не удалось создать принимающий сокет для \"%s\"" -#: postmaster/postmaster.c:1245 +#: postmaster/postmaster.c:1149 #, c-format msgid "could not create any TCP/IP sockets" msgstr "не удалось создать сокеты TCP/IP" -#: postmaster/postmaster.c:1277 +#: postmaster/postmaster.c:1181 #, c-format msgid "DNSServiceRegister() failed: error code %ld" msgstr "функция DNSServiceRegister() выдала ошибку с кодом %ld" -#: postmaster/postmaster.c:1328 +#: postmaster/postmaster.c:1234 #, c-format msgid "could not create Unix-domain socket in directory \"%s\"" msgstr "не удалось создать Unix-сокет в каталоге \"%s\"" -#: postmaster/postmaster.c:1334 +#: postmaster/postmaster.c:1240 #, c-format msgid "could not create any Unix-domain sockets" msgstr "ни один Unix-сокет создать не удалось" -#: postmaster/postmaster.c:1345 +#: postmaster/postmaster.c:1251 #, c-format msgid "no socket created for listening" msgstr "отсутствуют принимающие сокеты" -#: postmaster/postmaster.c:1376 +#: postmaster/postmaster.c:1282 #, c-format -msgid "%s: could not change permissions of external PID file \"%s\": %s\n" -msgstr "%s: не удалось поменять права для внешнего файла PID \"%s\": %s\n" +msgid "%s: could not change permissions of external PID file \"%s\": %m\n" +msgstr "%s: не удалось поменять права для внешнего файла PID \"%s\": %m\n" -#: postmaster/postmaster.c:1380 +#: postmaster/postmaster.c:1286 #, c-format -msgid "%s: could not write external PID file \"%s\": %s\n" -msgstr "%s: не удалось записать внешний файл PID \"%s\": %s\n" +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:1408 utils/init/postinit.c:221 +#: postmaster/postmaster.c:1314 utils/init/postinit.c:221 #, c-format msgid "could not load %s" msgstr "не удалось загрузить %s" -#: postmaster/postmaster.c:1434 +#: postmaster/postmaster.c:1340 #, c-format msgid "postmaster became multithreaded during startup" msgstr "процесс postmaster стал многопоточным при запуске" -#: postmaster/postmaster.c:1435 +#: postmaster/postmaster.c:1341 #, c-format msgid "Set the LC_ALL environment variable to a valid locale." msgstr "Установите в переменной окружения LC_ALL правильную локаль." -#: postmaster/postmaster.c:1536 +#: postmaster/postmaster.c:1440 #, c-format msgid "%s: could not locate my own executable path" msgstr "%s: не удалось найти путь к собственному исполняемому файлу" -#: postmaster/postmaster.c:1543 +#: postmaster/postmaster.c:1447 #, c-format msgid "%s: could not locate matching postgres executable" msgstr "%s: подходящий исполняемый файл postgres не найден" -#: postmaster/postmaster.c:1566 utils/misc/tzparser.c:340 +#: postmaster/postmaster.c:1470 utils/misc/tzparser.c:341 #, c-format msgid "" "This may indicate an incomplete PostgreSQL installation, or that the file " @@ -21442,574 +22175,383 @@ msgstr "" "Возможно, PostgreSQL установлен не полностью или файла \"%s\" нет в " "положенном месте." -#: postmaster/postmaster.c:1593 +#: postmaster/postmaster.c:1497 #, c-format msgid "" "%s: could not find the database system\n" "Expected to find it in the directory \"%s\",\n" -"but could not open file \"%s\": %s\n" +"but could not open file \"%s\": %m\n" msgstr "" "%s: не найдена система баз данных\n" "Ожидалось найти её в каталоге \"%s\",\n" -"но открыть файл \"%s\" не удалось: %s\n" +"но открыть файл \"%s\" не удалось: %m\n" # well-spelled: неподчиняющимся #. translator: %s is SIGKILL or SIGABRT -#: postmaster/postmaster.c:1890 +#: postmaster/postmaster.c:1787 #, c-format msgid "issuing %s to recalcitrant children" msgstr "неподчиняющимся потомкам посылается %s" -#: postmaster/postmaster.c:1912 +#: postmaster/postmaster.c:1809 #, c-format msgid "" "performing immediate shutdown because data directory lock file is invalid" msgstr "" "немедленное отключение из-за ошибочного файла блокировки каталога данных" -#: postmaster/postmaster.c:1987 postmaster/postmaster.c:2015 -#, c-format -msgid "incomplete startup packet" -msgstr "неполный стартовый пакет" - -#: postmaster/postmaster.c:1999 postmaster/postmaster.c:2032 -#, c-format -msgid "invalid length of startup packet" -msgstr "неверная длина стартового пакета" - -#: postmaster/postmaster.c:2061 -#, c-format -msgid "failed to send SSL negotiation response: %m" -msgstr "не удалось отправить ответ в процессе SSL-согласования: %m" - -#: postmaster/postmaster.c:2079 -#, c-format -msgid "received unencrypted data after SSL request" -msgstr "после запроса SSL получены незашифрованные данные" - -#: postmaster/postmaster.c:2080 postmaster/postmaster.c:2124 -#, c-format -msgid "" -"This could be either a client-software bug or evidence of an attempted man-" -"in-the-middle attack." -msgstr "" -"Это может свидетельствовать об ошибке в клиентском ПО или о попытке атаки " -"MITM." - -#: postmaster/postmaster.c:2105 -#, c-format -msgid "failed to send GSSAPI negotiation response: %m" -msgstr "не удалось отправить ответ в процессе согласования GSSAPI: %m" - -#: postmaster/postmaster.c:2123 -#, c-format -msgid "received unencrypted data after GSSAPI encryption request" -msgstr "после запроса шифрования GSSAPI получены незашифрованные данные" - -#: postmaster/postmaster.c:2147 -#, c-format -msgid "unsupported frontend protocol %u.%u: server supports %u.0 to %u.%u" -msgstr "" -"неподдерживаемый протокол клиентского приложения %u.%u; сервер поддерживает " -"%u.0 - %u.%u" - -#: postmaster/postmaster.c:2214 -#, c-format -msgid "Valid values are: \"false\", 0, \"true\", 1, \"database\"." -msgstr "Допустимые значения: \"false\", 0, \"true\", 1, \"database\"." - -#: postmaster/postmaster.c:2255 -#, c-format -msgid "invalid startup packet layout: expected terminator as last byte" -msgstr "" -"неверная структура стартового пакета: последним байтом должен быть терминатор" - -#: postmaster/postmaster.c:2272 -#, c-format -msgid "no PostgreSQL user name specified in startup packet" -msgstr "в стартовом пакете не указано имя пользователя PostgreSQL" - -#: postmaster/postmaster.c:2336 -#, c-format -msgid "the database system is starting up" -msgstr "система баз данных запускается" - -#: postmaster/postmaster.c:2342 -#, c-format -msgid "the database system is not yet accepting connections" -msgstr "система БД ещё не принимает подключения" - -#: postmaster/postmaster.c:2343 -#, c-format -msgid "Consistent recovery state has not been yet reached." -msgstr "Согласованное состояние восстановления ещё не достигнуто." - -#: postmaster/postmaster.c:2347 -#, c-format -msgid "the database system is not accepting connections" -msgstr "система БД не принимает подключения" - -#: postmaster/postmaster.c:2348 -#, c-format -msgid "Hot standby mode is disabled." -msgstr "Режим горячего резерва отключён." - -#: postmaster/postmaster.c:2353 -#, c-format -msgid "the database system is shutting down" -msgstr "система баз данных останавливается" - -#: postmaster/postmaster.c:2358 -#, c-format -msgid "the database system is in recovery mode" -msgstr "система баз данных в режиме восстановления" - -#: postmaster/postmaster.c:2363 storage/ipc/procarray.c:491 -#: storage/ipc/sinvaladt.c:306 storage/lmgr/proc.c:353 -#, c-format -msgid "sorry, too many clients already" -msgstr "извините, уже слишком много клиентов" - -#: postmaster/postmaster.c:2450 +#: postmaster/postmaster.c:1872 #, c-format msgid "wrong key in cancel request for process %d" msgstr "неправильный ключ в запросе на отмену процесса %d" -#: postmaster/postmaster.c:2462 +#: postmaster/postmaster.c:1884 #, c-format msgid "PID %d in cancel request did not match any process" msgstr "процесс с кодом %d, полученным в запросе на отмену, не найден" -#: postmaster/postmaster.c:2729 +#: postmaster/postmaster.c:2105 #, c-format msgid "received SIGHUP, reloading configuration files" msgstr "получен SIGHUP, файлы конфигурации перезагружаются" #. translator: %s is a configuration file -#: postmaster/postmaster.c:2753 postmaster/postmaster.c:2757 +#: postmaster/postmaster.c:2133 postmaster/postmaster.c:2137 #, c-format msgid "%s was not reloaded" msgstr "%s не был перезагружен" -#: postmaster/postmaster.c:2767 +#: postmaster/postmaster.c:2147 #, c-format msgid "SSL configuration was not reloaded" msgstr "конфигурация SSL не была перезагружена" -#: postmaster/postmaster.c:2857 +#: postmaster/postmaster.c:2233 #, c-format msgid "received smart shutdown request" msgstr "получен запрос на \"вежливое\" выключение" -#: postmaster/postmaster.c:2898 +#: postmaster/postmaster.c:2274 #, c-format msgid "received fast shutdown request" msgstr "получен запрос на быстрое выключение" -#: postmaster/postmaster.c:2916 +#: postmaster/postmaster.c:2292 #, c-format msgid "aborting any active transactions" msgstr "прерывание всех активных транзакций" -#: postmaster/postmaster.c:2940 +#: postmaster/postmaster.c:2316 #, c-format msgid "received immediate shutdown request" msgstr "получен запрос на немедленное выключение" -#: postmaster/postmaster.c:3016 +#: postmaster/postmaster.c:2388 #, c-format msgid "shutdown at recovery target" msgstr "выключение при достижении цели восстановления" -#: postmaster/postmaster.c:3034 postmaster/postmaster.c:3070 +#: postmaster/postmaster.c:2406 postmaster/postmaster.c:2442 msgid "startup process" msgstr "стартовый процесс" -#: postmaster/postmaster.c:3037 +#: postmaster/postmaster.c:2409 #, c-format msgid "aborting startup due to startup process failure" msgstr "прерывание запуска из-за ошибки в стартовом процессе" -#: postmaster/postmaster.c:3110 +#: postmaster/postmaster.c:2484 #, c-format msgid "database system is ready to accept connections" msgstr "система БД готова принимать подключения" -#: postmaster/postmaster.c:3131 +#: postmaster/postmaster.c:2505 msgid "background writer process" msgstr "процесс фоновой записи" -#: postmaster/postmaster.c:3178 +#: postmaster/postmaster.c:2552 msgid "checkpointer process" msgstr "процесс контрольных точек" -#: postmaster/postmaster.c:3194 +#: postmaster/postmaster.c:2568 msgid "WAL writer process" msgstr "процесс записи WAL" -#: postmaster/postmaster.c:3209 +#: postmaster/postmaster.c:2583 msgid "WAL receiver process" msgstr "процесс считывания WAL" -#: postmaster/postmaster.c:3224 +#: postmaster/postmaster.c:2597 +msgid "WAL summarizer process" +msgstr "процесс обобщения WAL" + +#: postmaster/postmaster.c:2612 msgid "autovacuum launcher process" msgstr "процесс запуска автоочистки" -#: postmaster/postmaster.c:3242 +#: postmaster/postmaster.c:2630 msgid "archiver process" msgstr "процесс архивации" -#: postmaster/postmaster.c:3255 +#: postmaster/postmaster.c:2643 msgid "system logger process" msgstr "процесс системного протоколирования" -#: postmaster/postmaster.c:3312 +#: postmaster/postmaster.c:2660 +msgid "slot sync worker process" +msgstr "рабочий процесс синхронизации слотов" + +#: postmaster/postmaster.c:2716 #, c-format msgid "background worker \"%s\"" msgstr "фоновый процесс \"%s\"" -#: postmaster/postmaster.c:3391 postmaster/postmaster.c:3411 -#: postmaster/postmaster.c:3418 postmaster/postmaster.c:3436 +#: postmaster/postmaster.c:2795 postmaster/postmaster.c:2815 +#: postmaster/postmaster.c:2822 postmaster/postmaster.c:2840 msgid "server process" msgstr "процесс сервера" -#: postmaster/postmaster.c:3490 +#: postmaster/postmaster.c:2894 #, 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:3665 +#: postmaster/postmaster.c:3081 #, c-format msgid "%s (PID %d) exited with exit code %d" msgstr "%s (PID %d) завершился с кодом выхода %d" -#: postmaster/postmaster.c:3667 postmaster/postmaster.c:3679 -#: postmaster/postmaster.c:3689 postmaster/postmaster.c:3700 +#: postmaster/postmaster.c:3083 postmaster/postmaster.c:3095 +#: postmaster/postmaster.c:3105 postmaster/postmaster.c:3116 #, 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:3676 +#: postmaster/postmaster.c:3092 #, 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:3686 +#: postmaster/postmaster.c:3102 #, 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:3698 +#: postmaster/postmaster.c:3114 #, c-format msgid "%s (PID %d) exited with unrecognized status %d" -msgstr "%s (PID %d) завершился с неизвестным кодом состояния %d" +msgstr "%s (PID %d) завершился с нераспознанным кодом состояния %d" -#: postmaster/postmaster.c:3906 +#: postmaster/postmaster.c:3330 #, c-format msgid "abnormal database system shutdown" msgstr "аварийное выключение системы БД" -#: postmaster/postmaster.c:3932 +#: postmaster/postmaster.c:3356 #, c-format msgid "shutting down due to startup process failure" msgstr "сервер останавливается из-за ошибки в стартовом процессе" -#: postmaster/postmaster.c:3938 +#: postmaster/postmaster.c:3362 #, c-format -msgid "shutting down because restart_after_crash is off" -msgstr "сервер останавливается, так как параметр restart_after_crash равен off" +msgid "shutting down because \"restart_after_crash\" is off" +msgstr "сервер останавливается, так как \"restart_after_crash\" = \"off\"" -#: postmaster/postmaster.c:3950 +#: postmaster/postmaster.c:3374 #, c-format msgid "all server processes terminated; reinitializing" msgstr "все серверные процессы завершены... переинициализация" -#: postmaster/postmaster.c:4144 postmaster/postmaster.c:5462 -#: postmaster/postmaster.c:5860 +#: postmaster/postmaster.c:3573 postmaster/postmaster.c:3983 +#: postmaster/postmaster.c:4372 #, c-format msgid "could not generate random cancel key" msgstr "не удалось сгенерировать случайный ключ отмены" -#: postmaster/postmaster.c:4206 +#: postmaster/postmaster.c:3606 #, c-format msgid "could not fork new process for connection: %m" msgstr "породить новый процесс для соединения не удалось: %m" -#: postmaster/postmaster.c:4248 +#: postmaster/postmaster.c:3648 msgid "could not fork new process for connection: " msgstr "породить новый процесс для соединения не удалось: " -#: postmaster/postmaster.c:4354 -#, c-format -msgid "connection received: host=%s port=%s" -msgstr "принято подключение: узел=%s порт=%s" - -#: postmaster/postmaster.c:4359 -#, c-format -msgid "connection received: host=%s" -msgstr "принято подключение: узел=%s" - -#: postmaster/postmaster.c:4596 -#, c-format -msgid "could not execute server process \"%s\": %m" -msgstr "запустить серверный процесс \"%s\" не удалось: %m" - -#: postmaster/postmaster.c:4654 -#, c-format -msgid "could not create backend parameter file mapping: error code %lu" -msgstr "" -"создать отображение файла серверных параметров не удалось (код ошибки: %lu)" - -#: postmaster/postmaster.c:4663 -#, c-format -msgid "could not map backend parameter memory: error code %lu" -msgstr "" -"отобразить файл серверных параметров в память не удалось (код ошибки: %lu)" - -#: postmaster/postmaster.c:4690 -#, c-format -msgid "subprocess command line too long" -msgstr "слишком длинная командная строка подпроцесса" - -#: postmaster/postmaster.c:4708 -#, c-format -msgid "CreateProcess() call failed: %m (error code %lu)" -msgstr "ошибка в CreateProcess(): %m (код ошибки: %lu)" - -#: postmaster/postmaster.c:4735 -#, c-format -msgid "could not unmap view of backend parameter file: error code %lu" -msgstr "" -"отключить отображение файла серверных параметров не удалось (код ошибки: %lu)" - -#: postmaster/postmaster.c:4739 -#, c-format -msgid "could not close handle to backend parameter file: error code %lu" -msgstr "" -"закрыть указатель файла серверных параметров не удалось (код ошибки: %lu)" - -#: postmaster/postmaster.c:4761 -#, c-format -msgid "giving up after too many tries to reserve shared memory" -msgstr "" -"число повторных попыток резервирования разделяемой памяти достигло предела" - -#: postmaster/postmaster.c:4762 -#, c-format -msgid "This might be caused by ASLR or antivirus software." -msgstr "Это может быть вызвано антивирусным ПО или механизмом ASLR." - -#: postmaster/postmaster.c:4935 -#, c-format -msgid "SSL configuration could not be loaded in child process" -msgstr "не удалось загрузить конфигурацию SSL в дочерний процесс" - -#: postmaster/postmaster.c:5060 +#: postmaster/postmaster.c:3682 #, c-format msgid "Please report this to <%s>." msgstr "Пожалуйста, напишите об этой ошибке по адресу <%s>." -#: postmaster/postmaster.c:5128 +#: postmaster/postmaster.c:3750 #, c-format msgid "database system is ready to accept read-only connections" msgstr "система БД готова принимать подключения в режиме \"только чтение\"" -#: postmaster/postmaster.c:5386 -#, c-format -msgid "could not fork startup process: %m" -msgstr "породить стартовый процесс не удалось: %m" - -#: postmaster/postmaster.c:5390 -#, c-format -msgid "could not fork archiver process: %m" -msgstr "породить процесс архиватора не удалось: %m" - -#: postmaster/postmaster.c:5394 -#, c-format -msgid "could not fork background writer process: %m" -msgstr "породить процесс фоновой записи не удалось: %m" - -#: postmaster/postmaster.c:5398 +#: postmaster/postmaster.c:3933 #, c-format -msgid "could not fork checkpointer process: %m" -msgstr "породить процесс контрольных точек не удалось: %m" +msgid "could not fork \"%s\" process: %m" +msgstr "породить процесс \"%s\" не удалось: %m" -#: postmaster/postmaster.c:5402 -#, c-format -msgid "could not fork WAL writer process: %m" -msgstr "породить процесс записи WAL не удалось: %m" - -#: postmaster/postmaster.c:5406 -#, c-format -msgid "could not fork WAL receiver process: %m" -msgstr "породить процесс считывания WAL не удалось: %m" - -#: postmaster/postmaster.c:5410 -#, c-format -msgid "could not fork process: %m" -msgstr "породить процесс не удалось: %m" - -#: postmaster/postmaster.c:5611 postmaster/postmaster.c:5638 +#: postmaster/postmaster.c:4171 postmaster/postmaster.c:4205 #, c-format msgid "database connection requirement not indicated during registration" msgstr "" "при регистрации фонового процесса не указывалось, что ему требуется " "подключение к БД" -#: postmaster/postmaster.c:5622 postmaster/postmaster.c:5649 +#: postmaster/postmaster.c:4181 postmaster/postmaster.c:4215 #, c-format msgid "invalid processing mode in background worker" msgstr "неправильный режим обработки в фоновом процессе" -#: postmaster/postmaster.c:5734 -#, c-format -msgid "could not fork worker process: %m" -msgstr "породить рабочий процесс не удалось: %m" - -#: postmaster/postmaster.c:5846 -#, c-format -msgid "no slot available for new worker process" -msgstr "для нового рабочего процесса не нашлось свободного слота" - -#: postmaster/postmaster.c:6177 -#, c-format -msgid "could not duplicate socket %d for use in backend: error code %d" -msgstr "" -"продублировать сокет %d для серверного процесса не удалось (код ошибки: %d)" - -#: postmaster/postmaster.c:6209 -#, c-format -msgid "could not create inherited socket: error code %d\n" -msgstr "создать наследуемый сокет не удалось (код ошибки: %d)\n" - -#: postmaster/postmaster.c:6238 -#, c-format -msgid "could not open backend variables file \"%s\": %s\n" -msgstr "открыть файл серверных переменных \"%s\" не удалось: %s\n" - -#: postmaster/postmaster.c:6245 +#: postmaster/postmaster.c:4275 #, c-format -msgid "could not read from backend variables file \"%s\": %s\n" -msgstr "прочитать файл серверных переменных \"%s\" не удалось: %s\n" +msgid "could not fork background worker process: %m" +msgstr "породить фоновый рабочий процесс не удалось: %m" -#: postmaster/postmaster.c:6254 +#: postmaster/postmaster.c:4358 #, c-format -msgid "could not remove file \"%s\": %s\n" -msgstr "не удалось стереть файл \"%s\": %s\n" +msgid "no slot available for new background worker process" +msgstr "для нового фонового рабочего процесса нет свободного слота" -#: postmaster/postmaster.c:6271 -#, c-format -msgid "could not map view of backend variables: error code %lu\n" -msgstr "отобразить файл серверных переменных не удалось (код ошибки: %lu)\n" - -#: postmaster/postmaster.c:6280 -#, c-format -msgid "could not unmap view of backend variables: error code %lu\n" -msgstr "" -"отключить отображение файла серверных переменных не удалось (код ошибки: " -"%lu)\n" - -#: postmaster/postmaster.c:6287 -#, c-format -msgid "could not close handle to backend parameter variables: error code %lu\n" -msgstr "" -"закрыть указатель файла серверных переменных не удалось (код ошибки: %lu)\n" - -#: postmaster/postmaster.c:6446 +#: postmaster/postmaster.c:4621 #, c-format msgid "could not read exit code for process\n" msgstr "прочитать код завершения процесса не удалось\n" -#: postmaster/postmaster.c:6488 +#: postmaster/postmaster.c:4663 #, c-format msgid "could not post child completion status\n" msgstr "отправить состояние завершения потомка не удалось\n" -#: postmaster/syslogger.c:501 postmaster/syslogger.c:1222 +#: postmaster/syslogger.c:529 postmaster/syslogger.c:1173 #, c-format msgid "could not read from logger pipe: %m" msgstr "не удалось прочитать из канала протоколирования: %m" -#: postmaster/syslogger.c:598 postmaster/syslogger.c:612 +#: postmaster/syslogger.c:629 postmaster/syslogger.c:643 #, c-format msgid "could not create pipe for syslog: %m" msgstr "не удалось создать канал для syslog: %m" -#: postmaster/syslogger.c:677 +#: postmaster/syslogger.c:712 #, c-format msgid "could not fork system logger: %m" msgstr "не удалось породить процесс системного протоколирования: %m" -#: postmaster/syslogger.c:713 +#: postmaster/syslogger.c:731 #, c-format msgid "redirecting log output to logging collector process" msgstr "передача вывода в протокол процессу сбора протоколов" -#: postmaster/syslogger.c:714 +#: postmaster/syslogger.c:732 #, c-format msgid "Future log output will appear in directory \"%s\"." msgstr "В дальнейшем протоколы будут выводиться в каталог \"%s\"." -#: postmaster/syslogger.c:722 +#: postmaster/syslogger.c:740 #, c-format msgid "could not redirect stdout: %m" msgstr "не удалось перенаправить stdout: %m" -#: postmaster/syslogger.c:727 postmaster/syslogger.c:744 +#: postmaster/syslogger.c:745 postmaster/syslogger.c:762 #, c-format msgid "could not redirect stderr: %m" msgstr "не удалось перенаправить stderr: %m" -#: postmaster/syslogger.c:1177 +#: postmaster/syslogger.c:1128 #, c-format -msgid "could not write to log file: %s\n" -msgstr "не удалось записать в файл протокола: %s\n" +msgid "could not write to log file: %m\n" +msgstr "не удалось записать в файл протокола: %m\n" -#: postmaster/syslogger.c:1295 +#: postmaster/syslogger.c:1246 #, c-format msgid "could not open log file \"%s\": %m" msgstr "не удалось открыть файл протокола \"%s\": %m" -#: postmaster/syslogger.c:1385 +#: postmaster/syslogger.c:1336 #, c-format msgid "disabling automatic rotation (use SIGHUP to re-enable)" msgstr "отключение автопрокрутки (чтобы включить, передайте SIGHUP)" -#: regex/regc_pg_locale.c:242 +#: postmaster/walsummarizer.c:740 +#, c-format +msgid "WAL summarization is not progressing" +msgstr "процесс обобщения WAL не продвигается" + +#: postmaster/walsummarizer.c:741 +#, c-format +msgid "" +"Summarization is needed through %X/%X, but is stuck at %X/%X on disk and %X/" +"%X in memory." +msgstr "" +"Обобщение должно охватить %X/%X, но оно остановилось на позиции %X/%X на " +"диске и %X/%X в памяти." + +#: postmaster/walsummarizer.c:755 +#, c-format +msgid "still waiting for WAL summarization through %X/%X after %ld second" +msgid_plural "" +"still waiting for WAL summarization through %X/%X after %ld seconds" +msgstr[0] "ожидание обобщения позиции %X/%X продолжается %ld сек." +msgstr[1] "ожидание обобщения позиции %X/%X продолжается %ld сек." +msgstr[2] "ожидание обобщения позиции %X/%X продолжается %ld сек." + +#: postmaster/walsummarizer.c:760 +#, c-format +msgid "Summarization has reached %X/%X on disk and %X/%X in memory." +msgstr "Процесс обобщения достиг позиции %X/%X на диске и %X/%X в памяти." + +#: postmaster/walsummarizer.c:1000 +#, c-format +msgid "could not find a valid record after %X/%X" +msgstr "не удалось найти корректную запись после %X/%X" + +#: postmaster/walsummarizer.c:1045 +#, c-format +msgid "could not read WAL from timeline %u at %X/%X: %s" +msgstr "не удалось прочитать WAL с линии времени %u в позиции %X/%X: %s" + +#: postmaster/walsummarizer.c:1051 +#, c-format +msgid "could not read WAL from timeline %u at %X/%X" +msgstr "не удалось прочитать WAL с линии времени %u в позиции %X/%X" + +#: regex/regc_pg_locale.c:244 #, c-format msgid "could not determine which collation to use for regular expression" msgstr "" "не удалось определить, какое правило сортировки использовать для регулярного " "выражения" -#: regex/regc_pg_locale.c:265 +#: regex/regc_pg_locale.c:262 #, c-format msgid "nondeterministic collations are not supported for regular expressions" msgstr "" "недетерминированные правила сортировки не поддерживаются для регулярных " "выражений" -#: replication/libpqwalreceiver/libpqwalreceiver.c:245 -#: replication/libpqwalreceiver/libpqwalreceiver.c:332 +#: replication/libpqwalreceiver/libpqwalreceiver.c:267 +#: replication/libpqwalreceiver/libpqwalreceiver.c:358 #, c-format msgid "password is required" msgstr "требуется пароль" -#: replication/libpqwalreceiver/libpqwalreceiver.c:246 +#: replication/libpqwalreceiver/libpqwalreceiver.c:268 #, c-format msgid "Non-superuser cannot connect if the server does not request a password." msgstr "" "Только суперпользователи могут подключаться к серверу, не требующему пароль." -#: replication/libpqwalreceiver/libpqwalreceiver.c:247 +#: replication/libpqwalreceiver/libpqwalreceiver.c:269 #, c-format msgid "" "Target server's authentication method must be changed, or set " @@ -22018,29 +22560,30 @@ msgstr "" "Необходимо сменить метод аутентификации на целевом сервере или задать " "password_required=false в параметрах подписки." -#: replication/libpqwalreceiver/libpqwalreceiver.c:259 +#: replication/libpqwalreceiver/libpqwalreceiver.c:285 #, c-format msgid "could not clear search path: %s" msgstr "не удалось очистить путь поиска: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:305 +#: replication/libpqwalreceiver/libpqwalreceiver.c:331 +#: replication/libpqwalreceiver/libpqwalreceiver.c:517 #, c-format msgid "invalid connection string syntax: %s" msgstr "ошибочный синтаксис строки подключения: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:333 +#: replication/libpqwalreceiver/libpqwalreceiver.c:359 #, c-format msgid "Non-superusers must provide a password in the connection string." msgstr "" "Пользователи, не являющиеся суперпользователями, должны задавать пароль в " "строке соединения." -#: replication/libpqwalreceiver/libpqwalreceiver.c:360 +#: replication/libpqwalreceiver/libpqwalreceiver.c:386 #, c-format msgid "could not parse connection string: %s" msgstr "не удалось разобрать строку подключения: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:433 +#: replication/libpqwalreceiver/libpqwalreceiver.c:459 #, c-format msgid "" "could not receive database system identifier and timeline ID from the " @@ -22049,13 +22592,13 @@ msgstr "" "не удалось получить идентификатор СУБД и код линии времени с главного " "сервера: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:449 -#: replication/libpqwalreceiver/libpqwalreceiver.c:692 +#: replication/libpqwalreceiver/libpqwalreceiver.c:476 +#: replication/libpqwalreceiver/libpqwalreceiver.c:763 #, c-format msgid "invalid response from primary server" msgstr "неверный ответ главного сервера" -#: replication/libpqwalreceiver/libpqwalreceiver.c:450 +#: replication/libpqwalreceiver/libpqwalreceiver.c:477 #, c-format msgid "" "Could not identify system: got %d rows and %d fields, expected %d rows and " @@ -22064,86 +22607,91 @@ msgstr "" "Не удалось идентифицировать систему, получено строк: %d, полей: %d " "(ожидалось: %d и %d (или более))." -#: replication/libpqwalreceiver/libpqwalreceiver.c:535 -#: replication/libpqwalreceiver/libpqwalreceiver.c:542 -#: replication/libpqwalreceiver/libpqwalreceiver.c:572 +#: replication/libpqwalreceiver/libpqwalreceiver.c:606 +#: replication/libpqwalreceiver/libpqwalreceiver.c:613 +#: replication/libpqwalreceiver/libpqwalreceiver.c:643 #, c-format msgid "could not start WAL streaming: %s" msgstr "не удалось начать трансляцию WAL: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:596 +#: replication/libpqwalreceiver/libpqwalreceiver.c:667 #, c-format msgid "could not send end-of-streaming message to primary: %s" msgstr "не удалось отправить главному серверу сообщение о конце передачи: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:619 +#: replication/libpqwalreceiver/libpqwalreceiver.c:690 #, c-format msgid "unexpected result set after end-of-streaming" msgstr "неожиданный набор данных после конца передачи" -#: replication/libpqwalreceiver/libpqwalreceiver.c:634 +#: replication/libpqwalreceiver/libpqwalreceiver.c:705 #, c-format msgid "error while shutting down streaming COPY: %s" msgstr "ошибка при остановке потоковой операции COPY: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:644 +#: replication/libpqwalreceiver/libpqwalreceiver.c:715 #, c-format msgid "error reading result of streaming command: %s" msgstr "ошибка при чтении результата команды передачи: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:653 -#: replication/libpqwalreceiver/libpqwalreceiver.c:889 +#: replication/libpqwalreceiver/libpqwalreceiver.c:724 +#: replication/libpqwalreceiver/libpqwalreceiver.c:957 #, c-format msgid "unexpected result after CommandComplete: %s" msgstr "неожиданный результат после CommandComplete: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:680 +#: replication/libpqwalreceiver/libpqwalreceiver.c:751 #, c-format msgid "could not receive timeline history file from the primary server: %s" msgstr "не удалось получить файл истории линии времени с главного сервера: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:693 +#: replication/libpqwalreceiver/libpqwalreceiver.c:764 #, c-format msgid "Expected 1 tuple with 2 fields, got %d tuples with %d fields." msgstr "Ожидался 1 кортеж с 2 полями, однако получено кортежей: %d, полей: %d." -#: replication/libpqwalreceiver/libpqwalreceiver.c:852 -#: replication/libpqwalreceiver/libpqwalreceiver.c:905 -#: replication/libpqwalreceiver/libpqwalreceiver.c:912 +#: replication/libpqwalreceiver/libpqwalreceiver.c:920 +#: replication/libpqwalreceiver/libpqwalreceiver.c:973 +#: replication/libpqwalreceiver/libpqwalreceiver.c:980 #, c-format msgid "could not receive data from WAL stream: %s" msgstr "не удалось получить данные из потока WAL: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:932 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1000 #, c-format msgid "could not send data to WAL stream: %s" msgstr "не удалось отправить данные в поток WAL: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1024 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1101 #, c-format msgid "could not create replication slot \"%s\": %s" msgstr "не удалось создать слот репликации \"%s\": %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1070 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1140 +#, c-format +msgid "could not alter replication slot \"%s\": %s" +msgstr "не удалось изменить свойства слота репликации \"%s\": %s" + +#: replication/libpqwalreceiver/libpqwalreceiver.c:1174 #, c-format msgid "invalid query response" msgstr "неверный ответ на запрос" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1071 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1175 #, c-format msgid "Expected %d fields, got %d fields." msgstr "Ожидалось полей: %d, получено: %d." -#: replication/libpqwalreceiver/libpqwalreceiver.c:1141 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1245 #, c-format msgid "the query interface requires a database connection" msgstr "для интерфейса запросов требуется подключение к БД" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1172 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1277 msgid "empty query" msgstr "пустой запрос" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1178 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1283 msgid "unexpected pipeline mode" msgstr "неожиданный режим канала" @@ -22156,35 +22704,35 @@ msgstr "" "параллельный применяющий процесс логической репликации для подписки \"%s\" " "завершён" -#: replication/logical/applyparallelworker.c:825 +#: replication/logical/applyparallelworker.c:822 #, c-format msgid "lost connection to the logical replication apply worker" msgstr "потеряна связь с применяющим процессом логической репликации" -#: replication/logical/applyparallelworker.c:1027 -#: replication/logical/applyparallelworker.c:1029 +#: replication/logical/applyparallelworker.c:1024 +#: replication/logical/applyparallelworker.c:1026 msgid "logical replication parallel apply worker" msgstr "параллельный применяющий процесс логической репликации" -#: replication/logical/applyparallelworker.c:1043 +#: replication/logical/applyparallelworker.c:1040 #, c-format msgid "logical replication parallel apply worker exited due to error" msgstr "" "параллельный применяющий процесс логической репликации завершён из-за ошибки" -#: replication/logical/applyparallelworker.c:1130 -#: replication/logical/applyparallelworker.c:1303 +#: replication/logical/applyparallelworker.c:1127 +#: replication/logical/applyparallelworker.c:1300 #, c-format msgid "lost connection to the logical replication parallel apply worker" msgstr "" "потеряна связь с параллельным применяющим процессом логическим репликации" -#: replication/logical/applyparallelworker.c:1183 +#: replication/logical/applyparallelworker.c:1180 #, c-format msgid "could not send data to shared-memory queue" msgstr "не удалось передать данные в очередь в разделяемой памяти" -#: replication/logical/applyparallelworker.c:1218 +#: replication/logical/applyparallelworker.c:1215 #, c-format msgid "" "logical replication apply worker will serialize the remaining changes of " @@ -22193,47 +22741,48 @@ msgstr "" "применяющий процесс логической репликации будет сериализовывать остальное " "содержимое удалённой транзакции %u в файл" -#: replication/logical/decode.c:180 replication/logical/logical.c:140 +#: replication/logical/decode.c:177 replication/logical/logical.c:141 #, c-format msgid "" -"logical decoding on standby requires wal_level >= logical on the primary" +"logical decoding on standby requires \"wal_level\" >= \"logical\" on the " +"primary" msgstr "" -"для логического декодирования на ведомом сервере требуется wal_level >= " -"logical на ведущем" +"для логического декодирования на ведомом сервере требуется \"wal_level\" >= " +"\"logical\" на ведущем" -#: replication/logical/launcher.c:331 +#: replication/logical/launcher.c:334 #, c-format msgid "cannot start logical replication workers when max_replication_slots = 0" msgstr "" "нельзя запустить процессы-обработчики логической репликации при " "max_replication_slots = 0" -#: replication/logical/launcher.c:424 +#: replication/logical/launcher.c:427 #, c-format msgid "out of logical replication worker slots" msgstr "недостаточно слотов для процессов логической репликации" -#: replication/logical/launcher.c:425 replication/logical/launcher.c:499 -#: replication/slot.c:1297 storage/lmgr/lock.c:964 storage/lmgr/lock.c:1002 -#: storage/lmgr/lock.c:2787 storage/lmgr/lock.c:4172 storage/lmgr/lock.c:4237 -#: storage/lmgr/lock.c:4587 storage/lmgr/predicate.c:2413 -#: storage/lmgr/predicate.c:2428 storage/lmgr/predicate.c:3825 +#: replication/logical/launcher.c:428 replication/logical/launcher.c:514 +#: replication/slot.c:1524 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 #, c-format -msgid "You might need to increase %s." -msgstr "Возможно, следует увеличить параметр %s." +msgid "You might need to increase \"%s\"." +msgstr "Возможно, следует увеличить параметр \"%s\"." -#: replication/logical/launcher.c:498 +#: replication/logical/launcher.c:513 #, c-format msgid "out of background worker slots" msgstr "недостаточно слотов для фоновых рабочих процессов" -#: replication/logical/launcher.c:705 +#: replication/logical/launcher.c:720 #, c-format msgid "logical replication worker slot %d is empty, cannot attach" msgstr "" "слот обработчика логической репликации %d пуст, подключиться к нему нельзя" -#: replication/logical/launcher.c:714 +#: replication/logical/launcher.c:729 #, c-format msgid "" "logical replication worker slot %d is already used by another worker, cannot " @@ -22242,28 +22791,28 @@ msgstr "" "слот обработчика логической репликации %d уже занят другим процессом, " "подключиться к нему нельзя" -#: replication/logical/logical.c:120 +#: replication/logical/logical.c:121 #, c-format -msgid "logical decoding requires wal_level >= logical" -msgstr "для логического декодирования требуется wal_level >= logical" +msgid "logical decoding requires \"wal_level\" >= \"logical\"" +msgstr "для логического декодирования требуется \"wal_level\" >= \"logical\"" -#: replication/logical/logical.c:125 +#: replication/logical/logical.c:126 #, c-format msgid "logical decoding requires a database connection" msgstr "для логического декодирования требуется подключение к БД" -#: replication/logical/logical.c:363 replication/logical/logical.c:517 +#: replication/logical/logical.c:365 replication/logical/logical.c:519 #, c-format msgid "cannot use physical replication slot for logical decoding" msgstr "" "физический слот репликации нельзя использовать для логического декодирования" -#: replication/logical/logical.c:368 replication/logical/logical.c:522 +#: replication/logical/logical.c:370 replication/logical/logical.c:529 #, c-format msgid "replication slot \"%s\" was not created in this database" msgstr "слот репликации \"%s\" создан не в этой базе данных" -#: replication/logical/logical.c:375 +#: replication/logical/logical.c:377 #, c-format msgid "" "cannot create logical replication slot in transaction that has performed " @@ -22271,12 +22820,29 @@ msgid "" msgstr "" "нельзя создать слот логической репликации в транзакции, осуществляющей запись" -#: replication/logical/logical.c:534 replication/logical/logical.c:541 +#: replication/logical/logical.c:540 +#, 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 +#, c-format +msgid "This replication slot is being synchronized from the primary server." +msgstr "Этот слот репликации синхронизируется с ведущего сервера." + +#: replication/logical/logical.c:543 +#, c-format +msgid "Specify another replication slot." +msgstr "Укажите другой слот репликации." + +#: replication/logical/logical.c:554 replication/logical/logical.c:561 #, c-format msgid "can no longer get changes from replication slot \"%s\"" msgstr "из слота репликации \"%s\" больше нельзя получать изменения" -#: replication/logical/logical.c:536 +#: replication/logical/logical.c:556 #, c-format msgid "" "This slot has been invalidated because it exceeded the maximum reserved size." @@ -22284,81 +22850,81 @@ msgstr "" "Этот слот был аннулирован из-за превышения максимального зарезервированного " "размера." -#: replication/logical/logical.c:543 +#: replication/logical/logical.c:563 #, c-format msgid "" "This slot has been invalidated because it was conflicting with recovery." msgstr "Этот слот был аннулирован из-за конфликта с восстановлением." -#: replication/logical/logical.c:608 +#: replication/logical/logical.c:628 #, c-format msgid "starting logical decoding for slot \"%s\"" msgstr "начинается логическое декодирование для слота \"%s\"" -#: replication/logical/logical.c:610 +#: replication/logical/logical.c:630 #, c-format msgid "Streaming transactions committing after %X/%X, reading WAL from %X/%X." msgstr "Передача транзакций, фиксируемых после %X/%X, чтение WAL с %X/%X." -#: replication/logical/logical.c:758 +#: replication/logical/logical.c:778 #, 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:764 +#: replication/logical/logical.c:784 #, c-format msgid "slot \"%s\", output plugin \"%s\", in the %s callback" msgstr "слот \"%s\", модуль вывода \"%s\", в обработчике %s" -#: replication/logical/logical.c:935 replication/logical/logical.c:980 -#: replication/logical/logical.c:1025 replication/logical/logical.c:1071 +#: replication/logical/logical.c:955 replication/logical/logical.c:1000 +#: replication/logical/logical.c:1045 replication/logical/logical.c:1091 #, c-format msgid "logical replication at prepare time requires a %s callback" msgstr "для логической репликации во время подготовки требуется обработчик %s" -#: replication/logical/logical.c:1303 replication/logical/logical.c:1352 -#: replication/logical/logical.c:1393 replication/logical/logical.c:1479 -#: replication/logical/logical.c:1528 +#: 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 #, c-format msgid "logical streaming requires a %s callback" msgstr "для логической потоковой репликации требуется обработчик %s" -#: replication/logical/logical.c:1438 +#: replication/logical/logical.c:1458 #, c-format msgid "logical streaming at prepare time requires a %s callback" msgstr "" "для логической потоковой репликации во время подготовки требуется обработчик " "%s" -#: replication/logical/logicalfuncs.c:126 +#: replication/logical/logicalfuncs.c:123 #, c-format msgid "slot name must not be null" msgstr "имя слота не может быть NULL" -#: replication/logical/logicalfuncs.c:142 +#: replication/logical/logicalfuncs.c:139 #, c-format msgid "options array must not be null" msgstr "массив параметров не может быть NULL" -#: replication/logical/logicalfuncs.c:159 +#: replication/logical/logicalfuncs.c:156 #, c-format msgid "array must be one-dimensional" msgstr "массив должен быть одномерным" -#: replication/logical/logicalfuncs.c:165 +#: replication/logical/logicalfuncs.c:162 #, c-format msgid "array must not contain nulls" msgstr "массив не должен содержать элементы null" -#: replication/logical/logicalfuncs.c:180 utils/adt/json.c:1484 -#: utils/adt/jsonb.c:1403 +#: replication/logical/logicalfuncs.c:177 utils/adt/json.c:1420 +#: utils/adt/jsonb.c:1304 #, c-format msgid "array must have even number of elements" msgstr "в массиве должно быть чётное число элементов" -#: replication/logical/logicalfuncs.c:227 +#: replication/logical/logicalfuncs.c:224 #, c-format msgid "" "logical decoding output plugin \"%s\" produces binary output, but function " @@ -22370,10 +22936,11 @@ msgstr "" #: replication/logical/origin.c:190 #, c-format msgid "" -"cannot query or manipulate replication origin when max_replication_slots = 0" +"cannot query or manipulate replication origin when \"max_replication_slots\" " +"is 0" msgstr "" "запрашивать или модифицировать источники репликации при " -"max_replication_slots = 0 нельзя" +"\"max_replication_slots\" = 0 нельзя" #: replication/logical/origin.c:195 #, c-format @@ -22410,10 +22977,11 @@ msgstr "" #: replication/logical/origin.c:798 #, c-format -msgid "could not find free replication state, increase max_replication_slots" +msgid "" +"could not find free replication state, increase \"max_replication_slots\"" msgstr "" "не удалось найти свободную ячейку для состояния репликации, увеличьте " -"max_replication_slots" +"\"max_replication_slots\"" #: replication/logical/origin.c:806 #, c-format @@ -22427,12 +22995,12 @@ msgstr "" "неверная контрольная сумма файла контрольной точки для слота репликации (%u " "вместо %u)" -#: replication/logical/origin.c:944 replication/logical/origin.c:1141 +#: replication/logical/origin.c:944 replication/logical/origin.c:1143 #, c-format msgid "replication origin with ID %d is already active for PID %d" msgstr "источник репликации с ID %d уже занят процессом с PID %d" -#: replication/logical/origin.c:955 replication/logical/origin.c:1153 +#: replication/logical/origin.c:955 replication/logical/origin.c:1156 #, c-format msgid "" "could not find free replication state slot for replication origin with ID %d" @@ -22440,29 +23008,29 @@ msgstr "" "не удалось найти свободный слот состояния репликации для источника " "репликации с ID %d" -#: replication/logical/origin.c:957 replication/logical/origin.c:1155 -#: replication/slot.c:2120 +#: replication/logical/origin.c:957 replication/logical/origin.c:1158 +#: replication/slot.c:2384 #, c-format -msgid "Increase max_replication_slots and try again." -msgstr "Увеличьте параметр max_replication_slots и повторите попытку." +msgid "Increase \"max_replication_slots\" and try again." +msgstr "Увеличьте параметр \"max_replication_slots\" и повторите попытку." -#: replication/logical/origin.c:1112 +#: replication/logical/origin.c:1114 #, c-format msgid "cannot setup replication origin when one is already setup" msgstr "нельзя настроить источник репликации, когда он уже настроен" -#: replication/logical/origin.c:1196 replication/logical/origin.c:1412 -#: replication/logical/origin.c:1432 +#: replication/logical/origin.c:1199 replication/logical/origin.c:1415 +#: replication/logical/origin.c:1435 #, c-format msgid "no replication origin is configured" msgstr "ни один источник репликации не настроен" -#: replication/logical/origin.c:1282 +#: replication/logical/origin.c:1285 #, c-format msgid "replication origin name \"%s\" is reserved" msgstr "имя источника репликации \"%s\" зарезервировано" -#: replication/logical/origin.c:1284 +#: replication/logical/origin.c:1287 #, c-format msgid "" "Origin names \"%s\", \"%s\", and names starting with \"pg_\" are reserved." @@ -22470,17 +23038,17 @@ msgstr "" "Имена источников \"%s\", \"%s\", а также имена, начинающиеся с \"pg_\", " "зарезервированы." -#: replication/logical/relation.c:240 +#: replication/logical/relation.c:242 #, c-format msgid "\"%s\"" msgstr "\"%s\"" -#: replication/logical/relation.c:243 +#: replication/logical/relation.c:245 #, c-format msgid ", \"%s\"" msgstr ", \"%s\"" -#: replication/logical/relation.c:249 +#: replication/logical/relation.c:251 #, c-format msgid "" "logical replication target relation \"%s.%s\" is missing replicated column: " @@ -22498,7 +23066,7 @@ msgstr[2] "" "в целевом отношении логической репликации (\"%s.%s\") отсутствуют " "реплицируемые столбцы: %s" -#: replication/logical/relation.c:304 +#: replication/logical/relation.c:306 #, c-format msgid "" "logical replication target relation \"%s.%s\" uses system columns in REPLICA " @@ -22507,50 +23075,217 @@ msgstr "" "в целевом отношении логической репликации (\"%s.%s\") в индексе REPLICA " "IDENTITY используются системные столбцы" -#: replication/logical/relation.c:396 +#: replication/logical/relation.c:398 #, c-format msgid "logical replication target relation \"%s.%s\" does not exist" msgstr "целевое отношение логической репликации \"%s.%s\" не существует" -#: replication/logical/reorderbuffer.c:3936 +#: replication/logical/reorderbuffer.c:3999 #, c-format msgid "could not write to data file for XID %u: %m" msgstr "не удалось записать в файл данных для XID %u: %m" -#: replication/logical/reorderbuffer.c:4282 -#: replication/logical/reorderbuffer.c:4307 +#: replication/logical/reorderbuffer.c:4345 +#: replication/logical/reorderbuffer.c:4370 #, c-format msgid "could not read from reorderbuffer spill file: %m" -msgstr "не удалось прочитать из файла подкачки буфера пересортировки: %m" +msgstr "не удалось прочитать файл подкачки буфера пересортировки: %m" -#: replication/logical/reorderbuffer.c:4286 -#: replication/logical/reorderbuffer.c:4311 +#: replication/logical/reorderbuffer.c:4349 +#: replication/logical/reorderbuffer.c:4374 #, c-format msgid "" "could not read from reorderbuffer spill file: read %d instead of %u bytes" msgstr "" -"не удалось прочитать из файла подкачки буфера пересортировки (прочитано " -"байт: %d, требовалось: %u)" +"не удалось прочитать файл подкачки буфера пересортировки (прочитано байт: " +"%d, требовалось: %u)" -#: replication/logical/reorderbuffer.c:4561 +#: replication/logical/reorderbuffer.c:4624 #, 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:5057 +#: replication/logical/reorderbuffer.c:5120 #, c-format msgid "could not read from file \"%s\": read %d instead of %d bytes" +msgstr "не удалось прочитать файл \"%s\" (прочитано байт: %d, требовалось: %d)" + +#: replication/logical/slotsync.c:215 +#, c-format +msgid "" +"could not synchronize replication slot \"%s\" because remote slot precedes " +"local slot" +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." + +#: 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 "" -"не удалось прочитать из файла \"%s\" (прочитано байт: %d, требовалось: %d)" +"При логическом декодировании не удалось найти точку согласованности от LSN " +"локального слота %X/%X." -#: replication/logical/snapbuild.c:639 +#: replication/logical/slotsync.c:589 +#, c-format +msgid "newly created replication slot \"%s\" is sync-ready now" +msgstr "созданный слот репликации \"%s\" сейчас готов к синхронизации" + +#: replication/logical/slotsync.c:628 +#, 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 "" +"синхронизация слота пропускается, потому что полученная позиция LSN %X/%X " +"для слота \"%s\" предшествует позиции %X/%X на резервном сервере" + +#: replication/logical/slotsync.c:650 +#, c-format +msgid "" +"exiting from slot synchronization because same name slot \"%s\" already " +"exists on the standby" +msgstr "" +"синхронизация слота отменяется, потому что слот с таким же именем \"%s\" уже " +"существует на резервном сервере" + +#: replication/logical/slotsync.c:819 +#, c-format +msgid "could not fetch failover logical slots info from the primary server: %s" +msgstr "" +"не удалось получить информацию о переносимых логических слотах с главного " +"сервера: %s" + +#: replication/logical/slotsync.c:965 +#, 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 +#, c-format +msgid "Check if primary_slot_name is configured correctly." +msgstr "Проверьте правильность настройки primary_slot_name." + +#: replication/logical/slotsync.c:987 +#, 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 +#, c-format +msgid "" +"replication slot \"%s\" specified by \"%s\" does not exist on primary server" +msgstr "" +"слот репликации \"%s\", заданный в \"%s\", не существует на главном сервере" + +#. translator: first %s is a connection option; second %s is a GUC +#. variable name +#. +#: replication/logical/slotsync.c:1029 +#, c-format +msgid "" +"replication slot synchronization requires \"%s\" to be specified in \"%s\"" +msgstr "для синхронизации слотов репликации требуется указание \"%s\" в \"%s\"" + +#: replication/logical/slotsync.c:1050 +#, 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 +#, 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 +#, 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 +#, c-format +msgid "" +"replication slot synchronization worker will shut down because \"%s\" is " +"disabled" +msgstr "" +"процесс синхронизации слотов репликации будет остановлен, так как \"%s\" " +"отключён" + +#: replication/logical/slotsync.c:1138 +#, c-format +msgid "" +"replication slot synchronization worker will restart because of a parameter " +"change" +msgstr "" +"процесс синхронизации слотов репликации будет перезапущен вследствие " +"изменения параметров" + +#: replication/logical/slotsync.c:1162 +#, c-format +msgid "" +"replication slot synchronization worker is shutting down on receiving SIGINT" +msgstr "" +"процесс синхронизации слотов репликации останавливается, получив сигнал " +"SIGINT" + +#: replication/logical/slotsync.c:1287 +#, c-format +msgid "cannot synchronize replication slots when standby promotion is ongoing" +msgstr "" +"синхронизировать слоты репликации, когда выполняется повышение резервного " +"сервера, нельзя" + +#: replication/logical/slotsync.c:1295 +#, c-format +msgid "cannot synchronize replication slots concurrently" +msgstr "многопоточная синхронизация слотов репликации не поддерживается" + +#: replication/logical/slotsync.c:1403 +#, c-format +msgid "slot sync worker started" +msgstr "рабочий процесс синхронизации слотов запущен" + +#: replication/logical/slotsync.c:1466 replication/slotfuncs.c:900 +#: replication/walreceiver.c:307 +#, c-format +msgid "could not connect to the primary server: %s" +msgstr "не удалось подключиться к главному серверу: %s" + +#: replication/logical/snapbuild.c:653 #, c-format msgid "initial slot snapshot too large" msgstr "изначальный снимок слота слишком большой" # skip-rule: capital-letter-first -#: replication/logical/snapbuild.c:693 +#: replication/logical/snapbuild.c:707 #, c-format msgid "exported logical decoding snapshot: \"%s\" with %u transaction ID" msgid_plural "" @@ -22562,68 +23297,68 @@ msgstr[1] "" msgstr[2] "" "экспортирован снимок логического декодирования: \"%s\" (ид. транзакций: %u)" -#: replication/logical/snapbuild.c:1388 replication/logical/snapbuild.c:1480 -#: replication/logical/snapbuild.c:1996 +#: replication/logical/snapbuild.c:1404 replication/logical/snapbuild.c:1501 +#: replication/logical/snapbuild.c:2017 #, c-format msgid "logical decoding found consistent point at %X/%X" msgstr "процесс логического декодирования достиг точки согласованности в %X/%X" -#: replication/logical/snapbuild.c:1390 +#: replication/logical/snapbuild.c:1406 #, c-format msgid "There are no running transactions." msgstr "Больше активных транзакций нет." -#: replication/logical/snapbuild.c:1432 +#: replication/logical/snapbuild.c:1453 #, c-format msgid "logical decoding found initial starting point at %X/%X" msgstr "" "процесс логического декодирования нашёл начальную стартовую точку в %X/%X" -#: replication/logical/snapbuild.c:1434 replication/logical/snapbuild.c:1458 +#: replication/logical/snapbuild.c:1455 replication/logical/snapbuild.c:1479 #, c-format msgid "Waiting for transactions (approximately %d) older than %u to end." msgstr "Ожидание транзакций (примерно %d), старее %u до конца." -#: replication/logical/snapbuild.c:1456 +#: replication/logical/snapbuild.c:1477 #, c-format msgid "logical decoding found initial consistent point at %X/%X" msgstr "" "при логическом декодировании найдена начальная точка согласованности в %X/%X" -#: replication/logical/snapbuild.c:1482 +#: replication/logical/snapbuild.c:1503 #, c-format msgid "There are no old transactions anymore." msgstr "Больше старых транзакций нет." -#: replication/logical/snapbuild.c:1883 +#: replication/logical/snapbuild.c:1904 #, c-format msgid "snapbuild state file \"%s\" has wrong magic number: %u instead of %u" msgstr "" "файл состояния snapbuild \"%s\" имеет неправильную сигнатуру (%u вместо %u)" -#: replication/logical/snapbuild.c:1889 +#: replication/logical/snapbuild.c:1910 #, c-format msgid "snapbuild state file \"%s\" has unsupported version: %u instead of %u" msgstr "" "файл состояния snapbuild \"%s\" имеет неправильную версию (%u вместо %u)" -#: replication/logical/snapbuild.c:1930 +#: replication/logical/snapbuild.c:1951 #, c-format msgid "checksum mismatch for snapbuild state file \"%s\": is %u, should be %u" msgstr "" "в файле состояния snapbuild \"%s\" неверная контрольная сумма (%u вместо %u)" -#: replication/logical/snapbuild.c:1998 +#: replication/logical/snapbuild.c:2019 #, c-format msgid "Logical decoding will begin using saved snapshot." msgstr "Логическое декодирование начнётся с сохранённого снимка." -#: replication/logical/snapbuild.c:2105 +#: replication/logical/snapbuild.c:2126 #, c-format msgid "could not parse file name \"%s\"" msgstr "не удалось разобрать имя файла \"%s\"" -#: replication/logical/tablesync.c:160 +#: replication/logical/tablesync.c:161 #, c-format msgid "" "logical replication table synchronization worker for subscription \"%s\", " @@ -22632,7 +23367,7 @@ msgstr "" "процесс синхронизации таблицы при логической репликации для подписки \"%s\", " "таблицы \"%s\" закончил обработку" -#: replication/logical/tablesync.c:639 +#: replication/logical/tablesync.c:641 #, c-format msgid "" "logical replication apply worker for subscription \"%s\" will restart so " @@ -22641,25 +23376,25 @@ msgstr "" "применяющий процесс логической репликации для подписки \"%s\" будет " "перезапущен, чтобы можно было включить режим two_phase" -#: replication/logical/tablesync.c:814 replication/logical/tablesync.c:956 +#: replication/logical/tablesync.c:827 replication/logical/tablesync.c:969 #, c-format msgid "could not fetch table info for table \"%s.%s\" from publisher: %s" msgstr "" "не удалось получить информацию о таблице \"%s.%s\" с сервера публикации: %s" -#: replication/logical/tablesync.c:821 +#: replication/logical/tablesync.c:834 #, c-format msgid "table \"%s.%s\" not found on publisher" msgstr "таблица \"%s.%s\" не найдена на сервере публикации" -#: replication/logical/tablesync.c:879 +#: replication/logical/tablesync.c:892 #, c-format msgid "could not fetch column list info for table \"%s.%s\" from publisher: %s" msgstr "" "не удалось получить информацию о списке столбцов таблицы \"%s.%s\" с сервера " "публикации: %s" -#: replication/logical/tablesync.c:1058 +#: replication/logical/tablesync.c:1071 #, c-format msgid "" "could not fetch table WHERE clause info for table \"%s.%s\" from publisher: " @@ -22668,25 +23403,25 @@ msgstr "" "не удалось получить информацию о предложении WHERE таблицы \"%s.%s\" с " "сервера публикации: %s" -#: replication/logical/tablesync.c:1217 +#: replication/logical/tablesync.c:1230 #, c-format msgid "could not start initial contents copy for table \"%s.%s\": %s" msgstr "" "не удалось начать копирование начального содержимого таблицы \"%s.%s\": %s" -#: replication/logical/tablesync.c:1418 +#: replication/logical/tablesync.c:1429 #, c-format msgid "table copy could not start transaction on publisher: %s" msgstr "" "при копировании таблицы не удалось начать транзакцию на сервере публикации: " "%s" -#: replication/logical/tablesync.c:1460 +#: replication/logical/tablesync.c:1472 #, c-format msgid "replication origin \"%s\" already exists" msgstr "источник репликации \"%s\" уже существует" -#: replication/logical/tablesync.c:1493 replication/logical/worker.c:2374 +#: replication/logical/tablesync.c:1505 replication/logical/worker.c:2361 #, c-format msgid "" "user \"%s\" cannot replicate into relation with row-level security enabled: " @@ -22695,14 +23430,14 @@ msgstr "" "пользователь \"%s\" не может реплицировать данные в отношение с включённой " "защитой на уровне строк: \"%s\"" -#: replication/logical/tablesync.c:1506 +#: replication/logical/tablesync.c:1518 #, c-format msgid "table copy could not finish transaction on publisher: %s" msgstr "" "при копировании таблицы не удалось завершить транзакцию на сервере " "публикации: %s" -#: replication/logical/worker.c:499 +#: replication/logical/worker.c:481 #, c-format msgid "" "logical replication parallel apply worker for subscription \"%s\" will stop" @@ -22710,7 +23445,7 @@ msgstr "" "параллельный применяющий процесс логической репликации для подписки \"%s\" " "будет остановлен" -#: replication/logical/worker.c:501 +#: replication/logical/worker.c:483 #, c-format msgid "" "Cannot handle streamed replication transactions using parallel apply workers " @@ -22720,13 +23455,13 @@ msgstr "" "транзакций репликации, передаваемых в потоке, пока все таблицы не " "синхронизированы." -#: replication/logical/worker.c:863 replication/logical/worker.c:978 +#: replication/logical/worker.c:852 replication/logical/worker.c:967 #, c-format msgid "incorrect binary data format in logical replication column %d" msgstr "" "неправильный формат двоичных данных для столбца логической репликации %d" -#: replication/logical/worker.c:2513 +#: replication/logical/worker.c:2500 #, c-format msgid "" "publisher did not send replica identity column expected by the logical " @@ -22735,7 +23470,7 @@ msgstr "" "сервер публикации не передал столбец идентификации реплики, ожидаемый для " "целевого отношения логической репликации \"%s.%s\"" -#: replication/logical/worker.c:2520 +#: replication/logical/worker.c:2507 #, c-format msgid "" "logical replication target relation \"%s.%s\" has neither REPLICA IDENTITY " @@ -22746,22 +23481,22 @@ msgstr "" "IDENTITY, ни ключа PRIMARY KEY, и публикуемое отношение не имеет " "характеристики REPLICA IDENTITY FULL" -#: replication/logical/worker.c:3384 +#: replication/logical/worker.c:3371 #, c-format msgid "invalid logical replication message type \"??? (%d)\"" msgstr "неверный тип сообщения логической репликации \"??? (%d)\"" -#: replication/logical/worker.c:3556 +#: replication/logical/worker.c:3543 #, c-format msgid "data stream from publisher has ended" msgstr "поток данных с сервера публикации закончился" -#: replication/logical/worker.c:3713 +#: replication/logical/worker.c:3697 #, c-format msgid "terminating logical replication worker due to timeout" msgstr "завершение обработчика логической репликации из-за тайм-аута" -#: replication/logical/worker.c:3907 +#: replication/logical/worker.c:3891 #, c-format msgid "" "logical replication worker for subscription \"%s\" will stop because the " @@ -22770,7 +23505,7 @@ msgstr "" "процесс логической репликации для подписки \"%s\" будет остановлен, так как " "подписка была удалена" -#: replication/logical/worker.c:3920 +#: replication/logical/worker.c:3905 #, c-format msgid "" "logical replication worker for subscription \"%s\" will stop because the " @@ -22779,7 +23514,7 @@ msgstr "" "процесс логической репликации для подписки \"%s\" будет остановлен, так как " "подписка была отключена" -#: replication/logical/worker.c:3951 +#: replication/logical/worker.c:3936 #, c-format msgid "" "logical replication parallel apply worker for subscription \"%s\" will stop " @@ -22788,7 +23523,7 @@ msgstr "" "параллельный применяющий процесс логической репликации для подписки \"%s\" " "будет остановлен вследствие изменения параметров" -#: replication/logical/worker.c:3955 +#: replication/logical/worker.c:3940 #, c-format msgid "" "logical replication worker for subscription \"%s\" will restart because of a " @@ -22797,8 +23532,32 @@ msgstr "" "процесс логической репликации для подписки \"%s\" будет перезапущен " "вследствие изменения параметров" +#: replication/logical/worker.c:3954 +#, 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:3958 +#, 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:4478 #, c-format +msgid "subscription has no replication slot set" +msgstr "для подписки не задан слот репликации" + +#: replication/logical/worker.c:4591 +#, c-format msgid "" "logical replication worker for subscription %u will not start because the " "subscription was removed during startup" @@ -22806,7 +23565,7 @@ msgstr "" "процесс логической репликации для подписки %u не будет запущен, так как " "подписка была удалена при старте" -#: replication/logical/worker.c:4493 +#: replication/logical/worker.c:4607 #, c-format msgid "" "logical replication worker for subscription \"%s\" will not start because " @@ -22815,7 +23574,7 @@ msgstr "" "процесс логической репликации для подписки \"%s\" не будет запущен, так как " "подписка была отключена при старте" -#: replication/logical/worker.c:4510 +#: replication/logical/worker.c:4631 #, c-format msgid "" "logical replication table synchronization worker for subscription \"%s\", " @@ -22824,40 +23583,35 @@ msgstr "" "процесс синхронизации таблицы при логической репликации для подписки \"%s\", " "таблицы \"%s\" запущен" -#: replication/logical/worker.c:4515 +#: replication/logical/worker.c:4636 #, c-format msgid "logical replication apply worker for subscription \"%s\" has started" msgstr "" "запускается применяющий процесс логической репликации для подписки \"%s\"" -#: replication/logical/worker.c:4590 -#, c-format -msgid "subscription has no replication slot set" -msgstr "для подписки не задан слот репликации" - -#: replication/logical/worker.c:4757 +#: replication/logical/worker.c:4758 #, c-format msgid "subscription \"%s\" has been disabled because of an error" msgstr "подписка \"%s\" была отключена из-за ошибки" -#: replication/logical/worker.c:4805 +#: replication/logical/worker.c:4806 #, c-format msgid "logical replication starts skipping transaction at LSN %X/%X" msgstr "" "обработчик логической репликации начинает пропускать транзакцию с LSN %X/%X" -#: replication/logical/worker.c:4819 +#: replication/logical/worker.c:4820 #, c-format msgid "logical replication completed skipping transaction at LSN %X/%X" msgstr "" "обработчик логической репликации завершил пропуск транзакции с LSN %X/%X" -#: replication/logical/worker.c:4901 +#: replication/logical/worker.c:4902 #, c-format msgid "skip-LSN of subscription \"%s\" cleared" msgstr "значение skip-LSN для подписки \"%s\" очищено" -#: replication/logical/worker.c:4902 +#: replication/logical/worker.c:4903 #, c-format msgid "" "Remote transaction's finish WAL location (LSN) %X/%X did not match skip-LSN " @@ -22866,7 +23620,7 @@ msgstr "" "Позиция завершения удалённой транзакции в WAL (LSN) %X/%X не совпала со " "значением skip-LSN %X/%X." -#: replication/logical/worker.c:4928 +#: replication/logical/worker.c:4940 #, c-format msgid "" "processing remote data for replication origin \"%s\" during message type " @@ -22875,7 +23629,7 @@ msgstr "" "обработка внешних данных для источника репликации \"%s\" в контексте " "сообщения типа \"%s\"" -#: replication/logical/worker.c:4932 +#: replication/logical/worker.c:4944 #, c-format msgid "" "processing remote data for replication origin \"%s\" during message type " @@ -22884,7 +23638,7 @@ msgstr "" "обработка внешних данных из источника репликации \"%s\" в контексте " "сообщения типа \"%s\" в транзакции %u" -#: replication/logical/worker.c:4937 +#: replication/logical/worker.c:4949 #, c-format msgid "" "processing remote data for replication origin \"%s\" during message type " @@ -22893,7 +23647,7 @@ msgstr "" "обработка внешних данных для источника репликации \"%s\" в контексте " "сообщения типа \"%s\" в транзакции %u, конечная позиция %X/%X" -#: replication/logical/worker.c:4948 +#: replication/logical/worker.c:4960 #, c-format msgid "" "processing remote data for replication origin \"%s\" during message type " @@ -22903,7 +23657,7 @@ msgstr "" "сообщения типа \"%s\" для целевого отношения репликации \"%s.%s\" в " "транзакции %u" -#: replication/logical/worker.c:4955 +#: replication/logical/worker.c:4967 #, c-format msgid "" "processing remote data for replication origin \"%s\" during message type " @@ -22914,7 +23668,7 @@ msgstr "" "сообщения типа \"%s\" для целевого отношения репликации \"%s.%s\" в " "транзакции %u, конечная позиция %X/%X" -#: replication/logical/worker.c:4966 +#: replication/logical/worker.c:4978 #, c-format msgid "" "processing remote data for replication origin \"%s\" during message type " @@ -22925,7 +23679,7 @@ msgstr "" "сообщения типа \"%s\" для целевого отношения репликации \"%s.%s\", столбца " "\"%s\", в транзакции %u" -#: replication/logical/worker.c:4974 +#: replication/logical/worker.c:4986 #, c-format msgid "" "processing remote data for replication origin \"%s\" during message type " @@ -22936,22 +23690,27 @@ msgstr "" "сообщения типа \"%s\" для целевого отношения репликации \"%s.%s\", столбца " "\"%s\", в транзакции %u, конечная позиция %X/%X" -#: replication/pgoutput/pgoutput.c:317 +#: replication/pgoutput/pgoutput.c:315 #, c-format msgid "invalid proto_version" msgstr "неверное значение proto_version" -#: replication/pgoutput/pgoutput.c:322 +#: replication/pgoutput/pgoutput.c:320 #, c-format msgid "proto_version \"%s\" out of range" msgstr "значение proto_verson \"%s\" вне диапазона" -#: replication/pgoutput/pgoutput.c:339 +#: replication/pgoutput/pgoutput.c:337 #, c-format msgid "invalid publication_names syntax" msgstr "неверный синтаксис publication_names" -#: replication/pgoutput/pgoutput.c:440 +#: replication/pgoutput/pgoutput.c:407 replication/pgoutput/pgoutput.c:411 +#, c-format +msgid "option \"%s\" missing" +msgstr "параметр \"%s\" отсутствует" + +#: replication/pgoutput/pgoutput.c:452 #, c-format msgid "" "client sent proto_version=%d but server only supports protocol %d or lower" @@ -22959,7 +23718,7 @@ msgstr "" "клиент передал proto_version=%d, но сервер поддерживает только протокол %d и " "ниже" -#: replication/pgoutput/pgoutput.c:446 +#: replication/pgoutput/pgoutput.c:458 #, c-format msgid "" "client sent proto_version=%d but server only supports protocol %d or higher" @@ -22967,12 +23726,7 @@ msgstr "" "клиент передал proto_version=%d, но сервер поддерживает только протокол %d и " "выше" -#: replication/pgoutput/pgoutput.c:452 -#, c-format -msgid "publication_names parameter missing" -msgstr "отсутствует параметр publication_names" - -#: replication/pgoutput/pgoutput.c:466 +#: replication/pgoutput/pgoutput.c:473 #, c-format msgid "" "requested proto_version=%d does not support streaming, need %d or higher" @@ -22980,7 +23734,7 @@ msgstr "" "запрошенная версия proto_version=%d не поддерживает потоковую передачу, " "требуется версия %d или выше" -#: replication/pgoutput/pgoutput.c:472 +#: replication/pgoutput/pgoutput.c:479 #, c-format msgid "" "requested proto_version=%d does not support parallel streaming, need %d or " @@ -22989,12 +23743,12 @@ msgstr "" "запрошенная версия proto_version=%d не поддерживает параллельную потоковую " "передачу, требуется версия %d или выше" -#: replication/pgoutput/pgoutput.c:477 +#: replication/pgoutput/pgoutput.c:484 #, c-format msgid "streaming requested, but not supported by output plugin" msgstr "запрошена потоковая передача, но она не поддерживается модулем вывода" -#: replication/pgoutput/pgoutput.c:494 +#: replication/pgoutput/pgoutput.c:498 #, c-format msgid "" "requested proto_version=%d does not support two-phase commit, need %d or " @@ -23003,27 +23757,27 @@ msgstr "" "запрошенная версия proto_version=%d не поддерживает двухфазную фиксацию, " "требуется версия %d или выше" -#: replication/pgoutput/pgoutput.c:499 +#: replication/pgoutput/pgoutput.c:503 #, c-format msgid "two-phase commit requested, but not supported by output plugin" msgstr "запрошена двухфазная фиксация, но она не поддерживается модулем вывода" -#: replication/slot.c:207 +#: replication/slot.c:260 #, c-format msgid "replication slot name \"%s\" is too short" msgstr "имя слота репликации \"%s\" слишком короткое" -#: replication/slot.c:216 +#: replication/slot.c:269 #, c-format msgid "replication slot name \"%s\" is too long" msgstr "имя слота репликации \"%s\" слишком длинное" -#: replication/slot.c:229 +#: replication/slot.c:282 #, c-format msgid "replication slot name \"%s\" contains invalid character" msgstr "имя слота репликации \"%s\" содержит недопустимый символ" -#: replication/slot.c:231 +#: replication/slot.c:284 #, c-format msgid "" "Replication slot names may only contain lower case letters, numbers, and the " @@ -23032,59 +23786,112 @@ msgstr "" "Имя слота репликации может содержать только буквы в нижнем регистре, цифры и " "знак подчёркивания." -#: replication/slot.c:285 +#: replication/slot.c:333 +#, c-format +msgid "cannot enable failover for a replication slot created on the standby" +msgstr "" +"слот репликации, созданный на ведомом сервере, не может быть переносимым" + +#: replication/slot.c:345 replication/slot.c:849 +#, c-format +msgid "cannot enable failover for a temporary replication slot" +msgstr "временный слот репликации не может быть переносимым" + +#: replication/slot.c:370 #, c-format msgid "replication slot \"%s\" already exists" msgstr "слот репликации \"%s\" уже существует" -#: replication/slot.c:295 +#: replication/slot.c:380 #, c-format msgid "all replication slots are in use" msgstr "используются все слоты репликации" -#: replication/slot.c:296 +#: replication/slot.c:381 #, c-format -msgid "Free one or increase max_replication_slots." -msgstr "Освободите ненужные или увеличьте параметр max_replication_slots." +msgid "Free one or increase \"max_replication_slots\"." +msgstr "Освободите ненужный или увеличьте параметр \"max_replication_slots\"." -#: replication/slot.c:474 replication/slotfuncs.c:736 -#: utils/activity/pgstat_replslot.c:55 utils/adt/genfile.c:774 +#: replication/slot.c:560 replication/slot.c:2453 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:520 replication/slot.c:1110 +#: replication/slot.c:606 replication/slot.c:1337 #, c-format msgid "replication slot \"%s\" is active for PID %d" msgstr "слот репликации \"%s\" занят процессом с PID %d" -#: replication/slot.c:756 replication/slot.c:1672 replication/slot.c:2055 +#: replication/slot.c:638 +#, c-format +msgid "acquired logical replication slot \"%s\"" +msgstr "получен слот логической репликации \"%s\"" + +#: replication/slot.c:640 +#, c-format +msgid "acquired physical replication slot \"%s\"" +msgstr "получен слот физической репликации \"%s\"" + +#: replication/slot.c:729 +#, c-format +msgid "released logical replication slot \"%s\"" +msgstr "освобождён слот логической репликации \"%s\"" + +#: replication/slot.c:731 +#, c-format +msgid "released physical replication slot \"%s\"" +msgstr "освобождён слот физической репликации \"%s\"" + +#: replication/slot.c:797 +#, c-format +msgid "cannot drop replication slot \"%s\"" +msgstr "удалить слот репликации \"%s\" нельзя" + +#: replication/slot.c:816 +#, c-format +msgid "cannot use %s with a physical replication slot" +msgstr "выполнить %s со слотом физической репликации нельзя" + +#: replication/slot.c:828 +#, c-format +msgid "cannot alter replication slot \"%s\"" +msgstr "изменить слот репликации \"%s\" нельзя" + +#: replication/slot.c:838 +#, 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 #, c-format msgid "could not remove directory \"%s\"" msgstr "ошибка при удалении каталога \"%s\"" -#: replication/slot.c:1145 +#: replication/slot.c:1372 #, c-format -msgid "replication slots can only be used if max_replication_slots > 0" +msgid "replication slots can only be used if \"max_replication_slots\" > 0" msgstr "" -"слоты репликации можно использовать, только если max_replication_slots > 0" +"слоты репликации можно использовать, только если \"max_replication_slots\" > " +"0" -#: replication/slot.c:1150 +#: replication/slot.c:1377 #, c-format -msgid "replication slots can only be used if wal_level >= replica" -msgstr "слоты репликации можно использовать, только если wal_level >= replica" +msgid "replication slots can only be used if \"wal_level\" >= \"replica\"" +msgstr "" +"слоты репликации можно использовать, только если \"wal_level\" >= \"replica\"" -#: replication/slot.c:1162 +#: replication/slot.c:1389 #, c-format msgid "permission denied to use replication slots" msgstr "нет прав для использования слотов репликации" -#: replication/slot.c:1163 +#: replication/slot.c:1390 #, c-format msgid "Only roles with the %s attribute may use replication slots." msgstr "Использовать слоты репликации могут только роли с атрибутом %s." -#: replication/slot.c:1271 +#: replication/slot.c:1498 #, 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." @@ -23092,99 +23899,178 @@ msgstr[0] "Позиция restart_lsn %X/%X слота превысила пре msgstr[1] "Позиция restart_lsn %X/%X слота превысила предел на %llu Б." msgstr[2] "Позиция restart_lsn %X/%X слота превысила предел на %llu Б." -#: replication/slot.c:1279 +#: replication/slot.c:1506 #, c-format msgid "The slot conflicted with xid horizon %u." msgstr "Слот конфликтует с горизонтом xid %u." -#: replication/slot.c:1284 +#: replication/slot.c:1511 msgid "" -"Logical decoding on standby requires wal_level >= logical on the primary " -"server." +"Logical decoding on standby requires \"wal_level\" >= \"logical\" on the " +"primary server." msgstr "" -"Для логического декодирования на ведомом сервере требуется wal_level >= " -"logical на ведущем." +"Для логического декодирования на ведомом сервере требуется \"wal_level\" >= " +"\"logical\" на ведущем." -#: replication/slot.c:1292 +#: replication/slot.c:1519 #, c-format msgid "terminating process %d to release replication slot \"%s\"" msgstr "завершение процесса %d для освобождения слота репликации \"%s\"" -#: replication/slot.c:1294 +#: replication/slot.c:1521 #, c-format msgid "invalidating obsolete replication slot \"%s\"" msgstr "аннулирование устаревшего слота репликации \"%s\"" -#: replication/slot.c:1993 +#: replication/slot.c:2249 #, c-format msgid "replication slot file \"%s\" has wrong magic number: %u instead of %u" msgstr "" "файл слота репликации \"%s\" имеет неправильную сигнатуру (%u вместо %u)" -#: replication/slot.c:2000 +#: replication/slot.c:2256 #, c-format msgid "replication slot file \"%s\" has unsupported version %u" msgstr "файл состояния snapbuild \"%s\" имеет неподдерживаемую версию %u" -#: replication/slot.c:2007 +#: replication/slot.c:2263 +#, c-format +msgid "replication slot file \"%s\" has corrupted length %u" +msgstr "у файла слота репликации \"%s\" неверная длина: %u" + +#: replication/slot.c:2299 +#, c-format +msgid "checksum mismatch for replication slot file \"%s\": is %u, should be %u" +msgstr "" +"в файле слота репликации \"%s\" неверная контрольная сумма (%u вместо %u)" + +#: replication/slot.c:2333 +#, c-format +msgid "logical replication slot \"%s\" exists, but \"wal_level\" < \"logical\"" +msgstr "" +"существует слот логической репликации \"%s\", но \"wal_level\" < \"logical\"" + +#: replication/slot.c:2335 +#, c-format +msgid "Change \"wal_level\" to be \"logical\" or higher." +msgstr "Смените \"wal_level\" на \"logical\" или более высокий уровень." + +#: replication/slot.c:2339 +#, c-format +msgid "" +"physical replication slot \"%s\" exists, but \"wal_level\" < \"replica\"" +msgstr "" +"существует слот физической репликации \"%s\", но \"wal_level\" < \"replica\"" + +#: replication/slot.c:2341 +#, c-format +msgid "Change \"wal_level\" to be \"replica\" or higher." +msgstr "Смените \"wal_level\" на \"replica\" или более высокий уровень." + +#: replication/slot.c:2383 +#, c-format +msgid "too many replication slots active before shutdown" +msgstr "перед завершением активно слишком много слотов репликации" + +#: replication/slot.c:2461 +#, c-format +msgid "\"%s\" is not a physical replication slot" +msgstr "\"%s\" не является слотом физической репликации" + +#: replication/slot.c:2638 +#, c-format +msgid "replication slot \"%s\" specified in parameter \"%s\" does not exist" +msgstr "слот репликации \"%s\", указанный в параметре \"%s\", не существует" + +#: replication/slot.c:2640 replication/slot.c:2681 replication/slot.c:2696 +#, c-format +msgid "" +"Logical replication is waiting on the standby associated with replication " +"slot \"%s\"." +msgstr "" +"Логическая репликация ожидает резервного сервера, связанного со слотом " +"репликации \"%s\"." + +#: replication/slot.c:2642 #, c-format -msgid "replication slot file \"%s\" has corrupted length %u" -msgstr "у файла слота репликации \"%s\" неверная длина: %u" +msgid "Create the replication slot \"%s\" or amend parameter \"%s\"." +msgstr "Создайте слот репликации \"%s\" или опустите параметр \"%s\"." -#: replication/slot.c:2043 +#: replication/slot.c:2659 #, c-format -msgid "checksum mismatch for replication slot file \"%s\": is %u, should be %u" +msgid "cannot specify logical replication slot \"%s\" in parameter \"%s\"" msgstr "" -"в файле слота репликации \"%s\" неверная контрольная сумма (%u вместо %u)" +"слот логической репликации \"%s\" не может быть указан в параметре \"%s\"" -#: replication/slot.c:2077 +#: replication/slot.c:2661 #, c-format -msgid "logical replication slot \"%s\" exists, but wal_level < logical" -msgstr "существует слот логической репликации \"%s\", но wal_level < logical" +msgid "" +"Logical replication is waiting for correction on replication slot \"%s\"." +msgstr "Логическая репликация ожидает исправления слота репликации \"%s\"." -#: replication/slot.c:2079 +#: replication/slot.c:2663 #, c-format -msgid "Change wal_level to be logical or higher." -msgstr "Смените wal_level на logical или более высокий уровень." +msgid "Remove the logical replication slot \"%s\" from parameter \"%s\"." +msgstr "" +"Удалите указание слота логической репликации \"%s\" из параметра \"%s\"." -#: replication/slot.c:2083 +#: replication/slot.c:2679 #, c-format -msgid "physical replication slot \"%s\" exists, but wal_level < replica" -msgstr "существует слот физической репликации \"%s\", но wal_level < replica" +msgid "" +"physical replication slot \"%s\" specified in parameter \"%s\" has been " +"invalidated" +msgstr "" +"слот физической репликации \"%s\", указанный в параметре \"%s\", был " +"аннулирован" -#: replication/slot.c:2085 +#: replication/slot.c:2683 #, c-format -msgid "Change wal_level to be replica or higher." -msgstr "Смените wal_level на replica или более высокий уровень." +msgid "" +"Drop and recreate the replication slot \"%s\", or amend parameter \"%s\"." +msgstr "" +"Удалите и пересоздайте слот репликации \"%s\" или опустите параметр \"%s\"." -#: replication/slot.c:2119 +#: replication/slot.c:2694 #, c-format -msgid "too many replication slots active before shutdown" -msgstr "перед завершением активно слишком много слотов репликации" +msgid "" +"replication slot \"%s\" specified in parameter \"%s\" does not have " +"active_pid" +msgstr "" +"у слота репликации \"%s\", указанного в параметре \"%s\", нулевое значение " +"active_pid" + +#: replication/slot.c:2698 +#, c-format +msgid "" +"Start the standby associated with the replication slot \"%s\", or amend " +"parameter \"%s\"." +msgstr "" +"Запустите резервный сервер, связанный со слотом репликации \"%s\", или " +"опустите параметр \"%s\"." -#: replication/slotfuncs.c:601 +#: replication/slotfuncs.c:526 #, c-format msgid "invalid target WAL LSN" msgstr "неверный целевой LSN" -#: replication/slotfuncs.c:623 +#: replication/slotfuncs.c:548 #, c-format msgid "replication slot \"%s\" cannot be advanced" msgstr "слот репликации \"%s\" нельзя продвинуть вперёд" -#: replication/slotfuncs.c:625 +#: replication/slotfuncs.c:550 #, c-format msgid "" "This slot has never previously reserved WAL, or it has been invalidated." msgstr "Для этого слота ранее не резервировался WAL либо слот был аннулирован." -#: replication/slotfuncs.c:641 +#: replication/slotfuncs.c:566 #, c-format msgid "cannot advance replication slot to %X/%X, minimum is %X/%X" msgstr "" "продвинуть слот репликации к позиции %X/%X нельзя, минимальная позиция: %X/%X" -#: replication/slotfuncs.c:748 +#: replication/slotfuncs.c:673 #, c-format msgid "" "cannot copy physical replication slot \"%s\" as a logical replication slot" @@ -23192,7 +24078,7 @@ msgstr "" "слот физической репликации \"%s\" нельзя скопировать как слот логической " "репликации" -#: replication/slotfuncs.c:750 +#: replication/slotfuncs.c:675 #, c-format msgid "" "cannot copy logical replication slot \"%s\" as a physical replication slot" @@ -23200,17 +24086,17 @@ msgstr "" "слот логической репликации \"%s\" нельзя скопировать как слот физической " "репликации" -#: replication/slotfuncs.c:757 +#: replication/slotfuncs.c:682 #, c-format msgid "cannot copy a replication slot that doesn't reserve WAL" msgstr "скопировать слот репликации, для которого не резервируется WAL, нельзя" -#: replication/slotfuncs.c:834 +#: replication/slotfuncs.c:768 #, c-format msgid "could not copy replication slot \"%s\"" msgstr "не удалось скопировать слот репликации \"%s\"" -#: replication/slotfuncs.c:836 +#: replication/slotfuncs.c:770 #, c-format msgid "" "The source replication slot was modified incompatibly during the copy " @@ -23219,21 +24105,26 @@ msgstr "" "Исходный слот репликации был модифицирован несовместимым образом во время " "копирования." -#: replication/slotfuncs.c:842 +#: replication/slotfuncs.c:776 #, c-format msgid "cannot copy unfinished logical replication slot \"%s\"" msgstr "" "скопировать слот логической репликации \"%s\" в незавершённом состоянии " "нельзя" -#: replication/slotfuncs.c:844 +#: replication/slotfuncs.c:778 #, c-format msgid "Retry when the source replication slot's confirmed_flush_lsn is valid." msgstr "" "Повторите попытку, когда для исходного слота репликации будет определена " "позиция confirmed_flush_lsn." -#: replication/syncrep.c:262 +#: replication/slotfuncs.c:877 +#, c-format +msgid "replication slots can only be synchronized to a standby server" +msgstr "слоты репликации могут синхронизироваться только с резервным сервером" + +#: replication/syncrep.c:261 #, c-format msgid "" "canceling the wait for synchronous replication and terminating connection " @@ -23242,7 +24133,7 @@ msgstr "" "отмена ожидания синхронной репликации и закрытие соединения по команде " "администратора" -#: replication/syncrep.c:263 replication/syncrep.c:280 +#: replication/syncrep.c:262 replication/syncrep.c:279 #, c-format msgid "" "The transaction has already committed locally, but might not have been " @@ -23251,147 +24142,142 @@ msgstr "" "Транзакция уже была зафиксирована локально, но, возможно, не была " "реплицирована на резервный сервер." -#: replication/syncrep.c:279 +#: replication/syncrep.c:278 #, c-format msgid "canceling wait for synchronous replication due to user request" msgstr "отмена ожидания синхронной репликации по запросу пользователя" -#: replication/syncrep.c:486 +#: replication/syncrep.c:485 #, c-format -msgid "standby \"%s\" is now a synchronous standby with priority %u" -msgstr "резервный сервер \"%s\" стал синхронным с приоритетом %u" +msgid "standby \"%s\" is now a synchronous standby with priority %d" +msgstr "резервный сервер \"%s\" стал синхронным с приоритетом %d" -#: replication/syncrep.c:490 +#: replication/syncrep.c:489 #, c-format msgid "standby \"%s\" is now a candidate for quorum synchronous standby" msgstr "" "резервный сервер \"%s\" стал кандидатом для включения в кворум синхронных " "резервных" -#: replication/syncrep.c:1019 +#: replication/syncrep.c:1013 #, c-format -msgid "synchronous_standby_names parser failed" -msgstr "ошибка при разборе synchronous_standby_names" +msgid "\"synchronous_standby_names\" parser failed" +msgstr "ошибка при разборе \"synchronous_standby_names\"" -#: replication/syncrep.c:1025 +#: replication/syncrep.c:1019 #, c-format msgid "number of synchronous standbys (%d) must be greater than zero" msgstr "число синхронных резервных серверов (%d) должно быть больше нуля" -#: replication/walreceiver.c:180 +#: replication/walreceiver.c:176 #, c-format msgid "terminating walreceiver process due to administrator command" msgstr "завершение процесса считывания журнала по команде администратора" -#: replication/walreceiver.c:305 -#, c-format -msgid "could not connect to the primary server: %s" -msgstr "не удалось подключиться к главному серверу: %s" - -#: replication/walreceiver.c:352 +#: replication/walreceiver.c:354 #, c-format msgid "database system identifier differs between the primary and standby" msgstr "идентификаторы СУБД на главном и резервном серверах различаются" -#: replication/walreceiver.c:353 +#: replication/walreceiver.c:355 #, c-format msgid "The primary's identifier is %s, the standby's identifier is %s." msgstr "Идентификатор на главном сервере: %s, на резервном: %s." -#: replication/walreceiver.c:364 +#: replication/walreceiver.c:366 #, c-format msgid "highest timeline %u of the primary is behind recovery timeline %u" msgstr "" "последняя линия времени %u на главном сервере отстаёт от восстанавливаемой " "линии времени %u" -#: replication/walreceiver.c:417 +#: replication/walreceiver.c:419 #, c-format msgid "started streaming WAL from primary at %X/%X on timeline %u" msgstr "" "начало передачи журнала с главного сервера, с позиции %X/%X на линии времени " "%u" -#: replication/walreceiver.c:421 +#: replication/walreceiver.c:423 #, c-format msgid "restarted WAL streaming at %X/%X on timeline %u" msgstr "перезапуск передачи журнала с позиции %X/%X на линии времени %u" -#: replication/walreceiver.c:457 +#: replication/walreceiver.c:458 #, c-format msgid "cannot continue WAL streaming, recovery has already ended" msgstr "продолжить передачу WAL нельзя, восстановление уже окончено" -#: replication/walreceiver.c:501 +#: replication/walreceiver.c:502 #, c-format msgid "replication terminated by primary server" msgstr "репликация прекращена главным сервером" -#: replication/walreceiver.c:502 +#: replication/walreceiver.c:503 #, c-format msgid "End of WAL reached on timeline %u at %X/%X." msgstr "На линии времени %u в %X/%X достигнут конец журнала." -#: replication/walreceiver.c:592 +#: replication/walreceiver.c:593 #, c-format msgid "terminating walreceiver due to timeout" msgstr "завершение приёма журнала из-за тайм-аута" -#: replication/walreceiver.c:624 +#: replication/walreceiver.c:625 #, c-format msgid "primary server contains no more WAL on requested timeline %u" msgstr "" "на главном сервере больше нет журналов для запрошенной линии времени %u" -#: replication/walreceiver.c:640 replication/walreceiver.c:1066 +#: replication/walreceiver.c:641 replication/walreceiver.c:1071 #, c-format msgid "could not close WAL segment %s: %m" msgstr "не удалось закрыть сегмент WAL %s: %m" -#: replication/walreceiver.c:759 +#: replication/walreceiver.c:760 #, c-format msgid "fetching timeline history file for timeline %u from primary server" msgstr "загрузка файла истории для линии времени %u с главного сервера" -#: replication/walreceiver.c:954 +#: replication/walreceiver.c:959 #, c-format -msgid "could not write to WAL segment %s at offset %u, length %lu: %m" -msgstr "не удалось записать в сегмент WAL %s (смещение %u, длина %lu): %m" +msgid "could not write to WAL segment %s at offset %d, length %lu: %m" +msgstr "не удалось записать в сегмент WAL %s (смещение %d, длина %lu): %m" -#: replication/walsender.c:519 +#: replication/walsender.c:531 #, c-format msgid "cannot use %s with a logical replication slot" msgstr "использовать %s со слотом логической репликации нельзя" -#: replication/walsender.c:623 storage/smgr/md.c:1529 +#: replication/walsender.c:635 storage/smgr/md.c:1723 #, c-format msgid "could not seek to end of file \"%s\": %m" msgstr "не удалось перейти к концу файла \"%s\": %m" -#: replication/walsender.c:627 +#: replication/walsender.c:639 #, c-format msgid "could not seek to beginning of file \"%s\": %m" msgstr "не удалось перейти к началу файла \"%s\": %m" -#: replication/walsender.c:704 +#: replication/walsender.c:853 #, c-format msgid "cannot use a logical replication slot for physical replication" msgstr "" "слот логической репликации нельзя использовать для физической репликации" -#: replication/walsender.c:770 +#: replication/walsender.c:919 #, 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:773 +#: replication/walsender.c:922 #, c-format msgid "This server's history forked from timeline %u at %X/%X." msgstr "История этого сервера ответвилась от линии времени %u в %X/%X." -#: replication/walsender.c:817 +#: replication/walsender.c:966 #, c-format msgid "" "requested starting point %X/%X is ahead of the WAL flush position of this " @@ -23400,75 +24286,75 @@ msgstr "" "запрошенная начальная точка %X/%X впереди позиции сброшенных данных журнала " "на этом сервере (%X/%X)" -#: replication/walsender.c:1010 +#: replication/walsender.c:1160 #, 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:1095 +#: replication/walsender.c:1266 #, c-format msgid "%s must not be called inside a transaction" msgstr "%s требуется выполнять не в транзакции" #. translator: %s is a CREATE_REPLICATION_SLOT statement -#: replication/walsender.c:1105 +#: replication/walsender.c:1276 #, c-format msgid "%s must be called inside a transaction" msgstr "%s требуется выполнять внутри транзакции" #. translator: %s is a CREATE_REPLICATION_SLOT statement -#: replication/walsender.c:1111 +#: replication/walsender.c:1282 #, 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:1116 +#: replication/walsender.c:1287 #, 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:1122 +#: replication/walsender.c:1293 #, c-format msgid "%s must be called before any query" msgstr "%s требуется выполнять до каких-либо запросов" #. translator: %s is a CREATE_REPLICATION_SLOT statement -#: replication/walsender.c:1128 +#: replication/walsender.c:1299 #, c-format msgid "%s must not be called in a subtransaction" msgstr "%s требуется вызывать не в подтранзакции" -#: replication/walsender.c:1275 +#: replication/walsender.c:1472 #, c-format msgid "terminating walsender process after promotion" msgstr "завершение процесса передачи журнала после повышения" -#: replication/walsender.c:1696 +#: replication/walsender.c:2000 #, c-format msgid "cannot execute new commands while WAL sender is in stopping mode" msgstr "" "нельзя выполнять новые команды, пока процесс передачи WAL находится в режиме " "остановки" -#: replication/walsender.c:1731 +#: replication/walsender.c:2035 #, c-format msgid "cannot execute SQL commands in WAL sender for physical replication" msgstr "" "нельзя выполнять команды SQL в процессе, передающем WAL для физической " "репликации" -#: replication/walsender.c:1764 +#: replication/walsender.c:2068 #, c-format msgid "received replication command: %s" msgstr "получена команда репликации: %s" -#: replication/walsender.c:1772 tcop/fastpath.c:209 tcop/postgres.c:1138 -#: tcop/postgres.c:1496 tcop/postgres.c:1736 tcop/postgres.c:2210 -#: tcop/postgres.c:2648 tcop/postgres.c:2726 +#: replication/walsender.c:2076 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 " @@ -23476,147 +24362,147 @@ msgid "" msgstr "" "текущая транзакция прервана, команды до конца блока транзакции игнорируются" -#: replication/walsender.c:1914 replication/walsender.c:1949 +#: replication/walsender.c:2233 replication/walsender.c:2268 #, c-format msgid "unexpected EOF on standby connection" msgstr "неожиданный обрыв соединения с резервным сервером" -#: replication/walsender.c:1937 +#: replication/walsender.c:2256 #, c-format msgid "invalid standby message type \"%c\"" msgstr "неверный тип сообщения резервного сервера: \"%c\"" -#: replication/walsender.c:2026 +#: replication/walsender.c:2345 #, c-format msgid "unexpected message type \"%c\"" msgstr "неожиданный тип сообщения \"%c\"" -#: replication/walsender.c:2439 +#: replication/walsender.c:2759 #, c-format msgid "terminating walsender process due to replication timeout" msgstr "завершение процесса передачи журнала из-за тайм-аута репликации" -#: rewrite/rewriteDefine.c:111 rewrite/rewriteDefine.c:842 +#: rewrite/rewriteDefine.c:104 rewrite/rewriteDefine.c:835 #, c-format msgid "rule \"%s\" for relation \"%s\" already exists" msgstr "правило \"%s\" для отношения \"%s\" уже существует" -#: rewrite/rewriteDefine.c:268 rewrite/rewriteDefine.c:780 +#: rewrite/rewriteDefine.c:261 rewrite/rewriteDefine.c:773 #, c-format msgid "relation \"%s\" cannot have rules" msgstr "к отношению \"%s\" не могут применяться правила" -#: rewrite/rewriteDefine.c:299 +#: rewrite/rewriteDefine.c:292 #, c-format msgid "rule actions on OLD are not implemented" msgstr "действия правил для OLD не реализованы" -#: rewrite/rewriteDefine.c:300 +#: rewrite/rewriteDefine.c:293 #, c-format msgid "Use views or triggers instead." msgstr "Воспользуйтесь представлениями или триггерами." -#: rewrite/rewriteDefine.c:304 +#: rewrite/rewriteDefine.c:297 #, c-format msgid "rule actions on NEW are not implemented" msgstr "действия правил для NEW не реализованы" -#: rewrite/rewriteDefine.c:305 +#: rewrite/rewriteDefine.c:298 #, c-format msgid "Use triggers instead." msgstr "Воспользуйтесь триггерами." -#: rewrite/rewriteDefine.c:319 +#: rewrite/rewriteDefine.c:312 #, c-format msgid "relation \"%s\" cannot have ON SELECT rules" msgstr "к отношению \"%s\" не могут применяться правила ON SELECT" -#: rewrite/rewriteDefine.c:329 +#: rewrite/rewriteDefine.c:322 #, c-format msgid "INSTEAD NOTHING rules on SELECT are not implemented" msgstr "правила INSTEAD NOTHING для SELECT не реализованы" -#: rewrite/rewriteDefine.c:330 +#: rewrite/rewriteDefine.c:323 #, c-format msgid "Use views instead." msgstr "Воспользуйтесь представлениями." -#: rewrite/rewriteDefine.c:338 +#: rewrite/rewriteDefine.c:331 #, c-format msgid "multiple actions for rules on SELECT are not implemented" msgstr "множественные действия в правилах для SELECT не поддерживаются" -#: rewrite/rewriteDefine.c:348 +#: rewrite/rewriteDefine.c:341 #, c-format msgid "rules on SELECT must have action INSTEAD SELECT" msgstr "в правилах для SELECT должно быть действие INSTEAD SELECT" -#: rewrite/rewriteDefine.c:356 +#: rewrite/rewriteDefine.c:349 #, c-format msgid "rules on SELECT must not contain data-modifying statements in WITH" msgstr "" "правила для SELECT не должны содержать операторы, изменяющие данные, в WITH" -#: rewrite/rewriteDefine.c:364 +#: rewrite/rewriteDefine.c:357 #, c-format msgid "event qualifications are not implemented for rules on SELECT" msgstr "в правилах для SELECT не может быть условий" -#: rewrite/rewriteDefine.c:391 +#: rewrite/rewriteDefine.c:384 #, c-format msgid "\"%s\" is already a view" msgstr "\"%s\" уже является представлением" -#: rewrite/rewriteDefine.c:415 +#: rewrite/rewriteDefine.c:408 #, c-format msgid "view rule for \"%s\" must be named \"%s\"" msgstr "правило представления для \"%s\" должно называться \"%s\"" -#: rewrite/rewriteDefine.c:442 +#: rewrite/rewriteDefine.c:435 #, c-format msgid "cannot have multiple RETURNING lists in a rule" msgstr "в правиле нельзя указать несколько списков RETURNING" -#: rewrite/rewriteDefine.c:447 +#: rewrite/rewriteDefine.c:440 #, c-format msgid "RETURNING lists are not supported in conditional rules" msgstr "списки RETURNING в условных правилах не поддерживаются" -#: rewrite/rewriteDefine.c:451 +#: rewrite/rewriteDefine.c:444 #, c-format msgid "RETURNING lists are not supported in non-INSTEAD rules" msgstr "списки RETURNING поддерживаются только в правилах INSTEAD" -#: rewrite/rewriteDefine.c:465 +#: rewrite/rewriteDefine.c:458 #, c-format msgid "non-view rule for \"%s\" must not be named \"%s\"" msgstr "" "не относящееся к представлению правило для \"%s\" не может называться \"%s\"" -#: rewrite/rewriteDefine.c:539 +#: rewrite/rewriteDefine.c:532 #, c-format msgid "SELECT rule's target list has too many entries" msgstr "список результата правила для SELECT содержит слишком много столбцов" -#: rewrite/rewriteDefine.c:540 +#: rewrite/rewriteDefine.c:533 #, c-format msgid "RETURNING list has too many entries" msgstr "список RETURNING содержит слишком много столбцов" -#: rewrite/rewriteDefine.c:567 +#: rewrite/rewriteDefine.c:560 #, c-format msgid "cannot convert relation containing dropped columns to view" msgstr "" "преобразовать отношение, содержащее удалённые столбцы, в представление нельзя" -#: rewrite/rewriteDefine.c:568 +#: rewrite/rewriteDefine.c:561 #, c-format msgid "" "cannot create a RETURNING list for a relation containing dropped columns" msgstr "" "создать список RETURNING для отношения, содержащего удалённые столбцы, нельзя" -#: rewrite/rewriteDefine.c:574 +#: rewrite/rewriteDefine.c:567 #, c-format msgid "" "SELECT rule's target entry %d has different column name from column \"%s\"" @@ -23624,67 +24510,67 @@ msgstr "" "элементу %d результата правила для SELECT присвоено имя, отличное от имени " "столбца \"%s\"" -#: rewrite/rewriteDefine.c:576 +#: rewrite/rewriteDefine.c:569 #, c-format msgid "SELECT target entry is named \"%s\"." msgstr "Имя элемента результата SELECT: \"%s\"." -#: rewrite/rewriteDefine.c:585 +#: rewrite/rewriteDefine.c:578 #, c-format msgid "SELECT rule's target entry %d has different type from column \"%s\"" msgstr "" "элемент %d результата правила для SELECT имеет тип, отличный от типа столбца " "\"%s\"" -#: rewrite/rewriteDefine.c:587 +#: rewrite/rewriteDefine.c:580 #, c-format msgid "RETURNING list's entry %d has different type from column \"%s\"" msgstr "элемент %d списка RETURNING имеет тип, отличный от типа столбца \"%s\"" -#: rewrite/rewriteDefine.c:590 rewrite/rewriteDefine.c:614 +#: rewrite/rewriteDefine.c:583 rewrite/rewriteDefine.c:607 #, c-format msgid "SELECT target entry has type %s, but column has type %s." msgstr "Элемент результата SELECT имеет тип %s, тогда как тип столбца - %s." -#: rewrite/rewriteDefine.c:593 rewrite/rewriteDefine.c:618 +#: rewrite/rewriteDefine.c:586 rewrite/rewriteDefine.c:611 #, c-format msgid "RETURNING list entry has type %s, but column has type %s." msgstr "Элемент списка RETURNING имеет тип %s, тогда как тип столбца - %s." -#: rewrite/rewriteDefine.c:609 +#: rewrite/rewriteDefine.c:602 #, c-format msgid "SELECT rule's target entry %d has different size from column \"%s\"" msgstr "" "элемент %d результата правила для SELECT имеет размер, отличный от столбца " "\"%s\"" -#: rewrite/rewriteDefine.c:611 +#: rewrite/rewriteDefine.c:604 #, c-format msgid "RETURNING list's entry %d has different size from column \"%s\"" msgstr "элемент %d списка RETURNING имеет размер, отличный от столбца \"%s\"" -#: rewrite/rewriteDefine.c:628 +#: rewrite/rewriteDefine.c:621 #, c-format msgid "SELECT rule's target list has too few entries" msgstr "список результата правила для SELECT содержит недостаточно элементов" -#: rewrite/rewriteDefine.c:629 +#: rewrite/rewriteDefine.c:622 #, c-format msgid "RETURNING list has too few entries" msgstr "список RETURNING содержит недостаточно элементов" -#: rewrite/rewriteDefine.c:718 rewrite/rewriteDefine.c:833 -#: rewrite/rewriteSupport.c:109 +#: rewrite/rewriteDefine.c:711 rewrite/rewriteDefine.c:826 +#: rewrite/rewriteSupport.c:108 #, c-format msgid "rule \"%s\" for relation \"%s\" does not exist" msgstr "правило \"%s\" для отношения\"%s\" не существует" -#: rewrite/rewriteDefine.c:852 +#: rewrite/rewriteDefine.c:845 #, c-format msgid "renaming an ON SELECT rule is not allowed" msgstr "переименовывать правило ON SELECT нельзя" -#: rewrite/rewriteHandler.c:583 +#: rewrite/rewriteHandler.c:582 #, c-format msgid "" "WITH query name \"%s\" appears in both a rule action and the query being " @@ -23693,7 +24579,7 @@ msgstr "" "имя запроса WITH \"%s\" оказалось и в действии правила, и в переписываемом " "запросе" -#: rewrite/rewriteHandler.c:610 +#: rewrite/rewriteHandler.c:609 #, c-format msgid "" "INSERT ... SELECT rule actions are not supported for queries having data-" @@ -23702,38 +24588,48 @@ msgstr "" "правила INSERT ... SELECT не поддерживаются для запросов с операторами, " "изменяющими данные, в WITH" -#: rewrite/rewriteHandler.c:663 +#: rewrite/rewriteHandler.c:662 #, c-format msgid "cannot have RETURNING lists in multiple rules" msgstr "RETURNING можно определить только для одного правила" -#: rewrite/rewriteHandler.c:895 rewrite/rewriteHandler.c:934 +#: rewrite/rewriteHandler.c:894 rewrite/rewriteHandler.c:933 #, c-format msgid "cannot insert a non-DEFAULT value into column \"%s\"" msgstr "в столбец \"%s\" можно вставить только значение по умолчанию" -#: rewrite/rewriteHandler.c:897 rewrite/rewriteHandler.c:963 +#: rewrite/rewriteHandler.c:896 rewrite/rewriteHandler.c:962 #, c-format msgid "Column \"%s\" is an identity column defined as GENERATED ALWAYS." msgstr "" "Столбец \"%s\" является столбцом идентификации со свойством GENERATED ALWAYS." -#: rewrite/rewriteHandler.c:899 +#: rewrite/rewriteHandler.c:898 #, c-format msgid "Use OVERRIDING SYSTEM VALUE to override." msgstr "Для переопределения укажите OVERRIDING SYSTEM VALUE." -#: rewrite/rewriteHandler.c:961 rewrite/rewriteHandler.c:969 +#: rewrite/rewriteHandler.c:960 rewrite/rewriteHandler.c:968 #, c-format msgid "column \"%s\" can only be updated to DEFAULT" msgstr "столбцу \"%s\" можно присвоить только значение DEFAULT" -#: rewrite/rewriteHandler.c:1116 rewrite/rewriteHandler.c:1134 +#: rewrite/rewriteHandler.c:1115 rewrite/rewriteHandler.c:1133 #, c-format msgid "multiple assignments to same column \"%s\"" msgstr "многочисленные присвоения одному столбцу \"%s\"" -#: rewrite/rewriteHandler.c:2119 rewrite/rewriteHandler.c:4040 +#: rewrite/rewriteHandler.c:1698 +#, c-format +msgid "MERGE is not supported for relations with rules." +msgstr "MERGE не поддерживается для отношений с правилами." + +#: rewrite/rewriteHandler.c:1738 rewrite/rewriteHandler.c:3229 +#, c-format +msgid "access to non-system view \"%s\" is restricted" +msgstr "доступ к несистемному представлению \"%s\" ограничен" + +#: rewrite/rewriteHandler.c:2119 rewrite/rewriteHandler.c:4221 #, c-format msgid "infinite recursion detected in rules for relation \"%s\"" msgstr "обнаружена бесконечная рекурсия в правилах для отношения \"%s\"" @@ -23743,72 +24639,72 @@ msgstr "обнаружена бесконечная рекурсия в прав msgid "infinite recursion detected in policy for relation \"%s\"" msgstr "обнаружена бесконечная рекурсия в политике для отношения \"%s\"" -#: rewrite/rewriteHandler.c:2524 +#: rewrite/rewriteHandler.c:2556 msgid "Junk view columns are not updatable." msgstr "Утилизируемые столбцы представлений не обновляются." -#: rewrite/rewriteHandler.c:2529 +#: rewrite/rewriteHandler.c:2561 msgid "" "View columns that are not columns of their base relation are not updatable." msgstr "" "Столбцы представлений, не являющиеся столбцами базовых отношений, не " "обновляются." -#: rewrite/rewriteHandler.c:2532 +#: rewrite/rewriteHandler.c:2564 msgid "View columns that refer to system columns are not updatable." msgstr "" "Столбцы представлений, ссылающиеся на системные столбцы, не обновляются." -#: rewrite/rewriteHandler.c:2535 +#: rewrite/rewriteHandler.c:2567 msgid "View columns that return whole-row references are not updatable." msgstr "" "Столбцы представлений, возвращающие ссылки на всю строку, не обновляются." -#: rewrite/rewriteHandler.c:2596 +#: rewrite/rewriteHandler.c:2628 msgid "Views containing DISTINCT are not automatically updatable." msgstr "Представления с DISTINCT не обновляются автоматически." -#: rewrite/rewriteHandler.c:2599 +#: rewrite/rewriteHandler.c:2631 msgid "Views containing GROUP BY are not automatically updatable." msgstr "Представления с GROUP BY не обновляются автоматически." -#: rewrite/rewriteHandler.c:2602 +#: rewrite/rewriteHandler.c:2634 msgid "Views containing HAVING are not automatically updatable." msgstr "Представления с HAVING не обновляются автоматически." -#: rewrite/rewriteHandler.c:2605 +#: rewrite/rewriteHandler.c:2637 msgid "" "Views containing UNION, INTERSECT, or EXCEPT are not automatically updatable." msgstr "" "Представления с UNION, INTERSECT или EXCEPT не обновляются автоматически." -#: rewrite/rewriteHandler.c:2608 +#: rewrite/rewriteHandler.c:2640 msgid "Views containing WITH are not automatically updatable." msgstr "Представления с WITH не обновляются автоматически." -#: rewrite/rewriteHandler.c:2611 +#: rewrite/rewriteHandler.c:2643 msgid "Views containing LIMIT or OFFSET are not automatically updatable." msgstr "Представления с LIMIT или OFFSET не обновляются автоматически." -#: rewrite/rewriteHandler.c:2623 +#: rewrite/rewriteHandler.c:2655 msgid "Views that return aggregate functions are not automatically updatable." msgstr "" "Представления, возвращающие агрегатные функции, не обновляются автоматически." -#: rewrite/rewriteHandler.c:2626 +#: rewrite/rewriteHandler.c:2658 msgid "Views that return window functions are not automatically updatable." msgstr "" "Представления, возвращающие оконные функции, не обновляются автоматически." -#: rewrite/rewriteHandler.c:2629 +#: rewrite/rewriteHandler.c:2661 msgid "" "Views that return set-returning functions are not automatically updatable." msgstr "" "Представления, возвращающие функции с результатом-множеством, не обновляются " "автоматически." -#: rewrite/rewriteHandler.c:2636 rewrite/rewriteHandler.c:2640 -#: rewrite/rewriteHandler.c:2648 +#: rewrite/rewriteHandler.c:2668 rewrite/rewriteHandler.c:2672 +#: rewrite/rewriteHandler.c:2680 msgid "" "Views that do not select from a single table or view are not automatically " "updatable." @@ -23816,27 +24712,124 @@ msgstr "" "Представления, выбирающие данные не из одной таблицы или представления, не " "обновляются автоматически." -#: rewrite/rewriteHandler.c:2651 +#: rewrite/rewriteHandler.c:2683 msgid "Views containing TABLESAMPLE are not automatically updatable." msgstr "Представления, содержащие TABLESAMPLE, не обновляются автоматически." -#: rewrite/rewriteHandler.c:2675 +#: rewrite/rewriteHandler.c:2707 msgid "Views that have no updatable columns are not automatically updatable." msgstr "" "Представления, не содержащие обновляемых столбцов, не обновляются " "автоматически." -#: rewrite/rewriteHandler.c:3155 +#: rewrite/rewriteHandler.c:3088 rewrite/rewriteHandler.c:3123 +#, c-format +msgid "cannot insert into view \"%s\"" +msgstr "вставить данные в представление \"%s\" нельзя" + +#: rewrite/rewriteHandler.c:3091 +#, 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:3096 rewrite/rewriteHandler.c:3132 +#, c-format +msgid "cannot update view \"%s\"" +msgstr "изменить данные в представлении \"%s\" нельзя" + +#: rewrite/rewriteHandler.c:3099 +#, 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:3104 rewrite/rewriteHandler.c:3141 +#, c-format +msgid "cannot delete from view \"%s\"" +msgstr "удалить данные из представления \"%s\" нельзя" + +#: rewrite/rewriteHandler.c:3107 +#, 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:3126 +#, 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:3135 +#, c-format +msgid "" +"To enable updating the view using MERGE, provide an INSTEAD OF UPDATE " +"trigger." +msgstr "" +"Чтобы представление допускало изменение данных посредством MERGE, создайте " +"триггер INSTEAD OF UPDATE." + +#: rewrite/rewriteHandler.c:3144 +#, 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:3319 #, c-format msgid "cannot insert into column \"%s\" of view \"%s\"" msgstr "вставить данные в столбец \"%s\" представления \"%s\" нельзя" -#: rewrite/rewriteHandler.c:3163 +#: rewrite/rewriteHandler.c:3327 #, c-format msgid "cannot update column \"%s\" of view \"%s\"" msgstr "изменить данные в столбце \"%s\" представления \"%s\" нельзя" -#: rewrite/rewriteHandler.c:3667 +#: rewrite/rewriteHandler.c:3335 +#, c-format +msgid "cannot merge into column \"%s\" of view \"%s\"" +msgstr "столбец \"%s\" представления \"%s\" не допускает объединение данных" + +#: rewrite/rewriteHandler.c:3363 +#, c-format +msgid "cannot merge into view \"%s\"" +msgstr "представление \"%s\" не допускает объединение данных" + +#: rewrite/rewriteHandler.c:3365 +#, 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:3366 +#, 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:3879 #, c-format msgid "" "DO INSTEAD NOTIFY rules are not supported for data-modifying statements in " @@ -23845,7 +24838,7 @@ msgstr "" "правила DO INSTEAD NOTIFY не поддерживаются в операторах, изменяющих данные, " "в WITH" -#: rewrite/rewriteHandler.c:3678 +#: rewrite/rewriteHandler.c:3890 #, c-format msgid "" "DO INSTEAD NOTHING rules are not supported for data-modifying statements in " @@ -23854,7 +24847,7 @@ msgstr "" "правила DO INSTEAD NOTHING не поддерживаются в операторах, изменяющих " "данные, в WITH" -#: rewrite/rewriteHandler.c:3692 +#: rewrite/rewriteHandler.c:3904 #, c-format msgid "" "conditional DO INSTEAD rules are not supported for data-modifying statements " @@ -23863,13 +24856,13 @@ msgstr "" "условные правила DO INSTEAD не поддерживаются для операторов, изменяющих " "данные, в WITH" -#: rewrite/rewriteHandler.c:3696 +#: rewrite/rewriteHandler.c:3908 #, c-format msgid "DO ALSO rules are not supported for data-modifying statements in WITH" msgstr "" "правила DO ALSO не поддерживаются для операторов, изменяющих данные, в WITH" -#: rewrite/rewriteHandler.c:3701 +#: rewrite/rewriteHandler.c:3913 #, c-format msgid "" "multi-statement DO INSTEAD rules are not supported for data-modifying " @@ -23878,52 +24871,50 @@ msgstr "" "составные правила DO INSTEAD не поддерживаются для операторов, изменяющих " "данные, в WITH" -#: rewrite/rewriteHandler.c:3968 rewrite/rewriteHandler.c:3976 -#: rewrite/rewriteHandler.c:3984 -#, c-format +#: rewrite/rewriteHandler.c:4173 msgid "" "Views with conditional DO INSTEAD rules are not automatically updatable." msgstr "" "Представления в сочетании с правилами DO INSTEAD с условиями не обновляются " "автоматически." -#: rewrite/rewriteHandler.c:4089 +#: rewrite/rewriteHandler.c:4270 #, c-format msgid "cannot perform INSERT RETURNING on relation \"%s\"" msgstr "выполнить INSERT RETURNING для отношения \"%s\" нельзя" -#: rewrite/rewriteHandler.c:4091 +#: rewrite/rewriteHandler.c:4272 #, 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:4096 +#: rewrite/rewriteHandler.c:4277 #, c-format msgid "cannot perform UPDATE RETURNING on relation \"%s\"" msgstr "выполнить UPDATE RETURNING для отношения \"%s\" нельзя" -#: rewrite/rewriteHandler.c:4098 +#: rewrite/rewriteHandler.c:4279 #, 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:4103 +#: rewrite/rewriteHandler.c:4284 #, c-format msgid "cannot perform DELETE RETURNING on relation \"%s\"" msgstr "выполнить DELETE RETURNING для отношения \"%s\" нельзя" -#: rewrite/rewriteHandler.c:4105 +#: rewrite/rewriteHandler.c:4286 #, 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:4123 +#: rewrite/rewriteHandler.c:4304 #, c-format msgid "" "INSERT with ON CONFLICT clause cannot be used with table that has INSERT or " @@ -23932,7 +24923,7 @@ msgstr "" "INSERT c предложением ON CONFLICT нельзя использовать с таблицей, для " "которой заданы правила INSERT или UPDATE" -#: rewrite/rewriteHandler.c:4180 +#: rewrite/rewriteHandler.c:4361 #, c-format msgid "" "WITH cannot be used in a query that is rewritten by rules into multiple " @@ -23941,17 +24932,17 @@ msgstr "" "WITH нельзя использовать в запросе, преобразованном правилами в несколько " "запросов" -#: rewrite/rewriteManip.c:1075 +#: rewrite/rewriteManip.c:1083 #, c-format msgid "conditional utility statements are not implemented" msgstr "условные служебные операторы не реализованы" -#: rewrite/rewriteManip.c:1419 +#: rewrite/rewriteManip.c:1430 #, c-format msgid "WHERE CURRENT OF on a view is not implemented" msgstr "условие WHERE CURRENT OF для представлений не реализовано" -#: rewrite/rewriteManip.c:1754 +#: rewrite/rewriteManip.c:1765 #, c-format msgid "" "NEW variables in ON UPDATE rules cannot reference columns that are part of a " @@ -23995,41 +24986,41 @@ msgstr "нераспознанный параметр Snowball: \"%s\"" msgid "missing Language parameter" msgstr "отсутствует параметр Language" -#: statistics/extended_stats.c:179 +#: statistics/extended_stats.c:176 #, c-format msgid "" "statistics object \"%s.%s\" could not be computed for relation \"%s.%s\"" msgstr "" "объект статистики \"%s.%s\" не может быть вычислен для отношения \"%s.%s\"" -#: statistics/mcv.c:1372 +#: statistics/mcv.c:1368 #, c-format msgid "" "function returning record called in context that cannot accept type record" msgstr "" "функция, возвращающая запись, вызвана в контексте, не допускающем этот тип" -#: storage/buffer/bufmgr.c:612 storage/buffer/bufmgr.c:769 +#: storage/buffer/bufmgr.c:649 storage/buffer/bufmgr.c:805 #, c-format msgid "cannot access temporary tables of other sessions" msgstr "обращаться к временным таблицам других сеансов нельзя" -#: storage/buffer/bufmgr.c:1137 +#: storage/buffer/bufmgr.c:1532 #, c-format msgid "invalid page in block %u of relation %s; zeroing out page" msgstr "неверная страница в блоке %u отношения %s; страница обнуляется" -#: storage/buffer/bufmgr.c:1931 storage/buffer/localbuf.c:359 +#: storage/buffer/bufmgr.c:2277 storage/buffer/localbuf.c:361 #, c-format msgid "cannot extend relation %s beyond %u blocks" msgstr "не удалось увеличить отношение \"%s\" до блока %u" -#: storage/buffer/bufmgr.c:1998 +#: storage/buffer/bufmgr.c:2348 #, c-format msgid "unexpected data beyond EOF in block %u of relation %s" msgstr "неожиданные данные после EOF в блоке %u отношения %s" -#: storage/buffer/bufmgr.c:2000 +#: storage/buffer/bufmgr.c:2350 #, c-format msgid "" "This has been seen to occur with buggy kernels; consider updating your " @@ -24038,37 +25029,32 @@ msgstr "" "Эта ситуация может возникать из-за ошибок в ядре; возможно, вам следует " "обновить ОС." -#: storage/buffer/bufmgr.c:5219 +#: storage/buffer/bufmgr.c:5653 #, c-format msgid "could not write block %u of %s" msgstr "не удалось запись блок %u файла %s" -#: storage/buffer/bufmgr.c:5221 +#: storage/buffer/bufmgr.c:5655 #, c-format msgid "Multiple failures --- write error might be permanent." msgstr "Множественные сбои - возможно, постоянная ошибка записи." -#: storage/buffer/bufmgr.c:5243 storage/buffer/bufmgr.c:5263 +#: storage/buffer/bufmgr.c:5677 storage/buffer/bufmgr.c:5697 #, c-format msgid "writing block %u of relation %s" msgstr "запись блока %u отношения %s" -#: storage/buffer/bufmgr.c:5593 -#, c-format -msgid "snapshot too old" -msgstr "снимок слишком стар" - -#: storage/buffer/localbuf.c:219 +#: storage/buffer/localbuf.c:220 #, c-format msgid "no empty local buffer available" msgstr "нет пустого локального буфера" -#: storage/buffer/localbuf.c:592 +#: storage/buffer/localbuf.c:597 #, c-format msgid "cannot access temporary tables during a parallel operation" msgstr "обращаться к временным таблицам во время параллельных операций нельзя" -#: storage/buffer/localbuf.c:699 +#: storage/buffer/localbuf.c:712 #, c-format msgid "" "\"temp_buffers\" cannot be changed after any temporary tables have been " @@ -24094,7 +25080,7 @@ msgstr "" msgid "could not read from temporary file: read only %zu of %zu bytes" msgstr "не удалось прочитать временный файл (прочитано байт: %zu из %zu)" -#: storage/file/buffile.c:774 storage/file/buffile.c:895 +#: storage/file/buffile.c:774 storage/file/buffile.c:877 #, c-format msgid "" "could not determine size of temporary file \"%s\" from BufFile \"%s\": %m" @@ -24102,115 +25088,115 @@ msgstr "" "не удалось определить размер временного файла \"%s\", входящего в BufFile " "\"%s\": %m" -#: storage/file/buffile.c:974 +#: storage/file/buffile.c:956 #, c-format msgid "could not delete fileset \"%s\": %m" msgstr "ошибка удаления набора файлов \"%s\": %m" -#: storage/file/buffile.c:992 storage/smgr/md.c:338 storage/smgr/md.c:1041 +#: storage/file/buffile.c:974 storage/smgr/md.c:336 storage/smgr/md.c:1192 #, c-format msgid "could not truncate file \"%s\": %m" msgstr "не удалось обрезать файл \"%s\": %m" -#: storage/file/fd.c:537 storage/file/fd.c:609 storage/file/fd.c:645 +#: 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:567 +#: storage/file/fd.c:613 #, c-format msgid "could not determine dirty data size: %m" msgstr "не удалось определить размер грязных данных: %m" -#: storage/file/fd.c:619 +#: storage/file/fd.c:665 #, c-format msgid "could not munmap() while flushing data: %m" msgstr "ошибка в munmap() при сбросе данных на диск: %m" -#: storage/file/fd.c:937 +#: storage/file/fd.c:983 #, c-format msgid "getrlimit failed: %m" msgstr "ошибка в getrlimit(): %m" -#: storage/file/fd.c:1027 +#: storage/file/fd.c:1073 #, c-format msgid "insufficient file descriptors available to start server process" msgstr "недостаточно дескрипторов файлов для запуска серверного процесса" -#: storage/file/fd.c:1028 +#: storage/file/fd.c:1074 #, c-format msgid "System allows %d, server needs at least %d." msgstr "Система может выделить: %d, серверу требуется минимум: %d." -#: storage/file/fd.c:1116 storage/file/fd.c:2565 storage/file/fd.c:2674 -#: storage/file/fd.c:2825 +#: 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:1490 +#: storage/file/fd.c:1536 #, c-format msgid "temporary file: path \"%s\", size %lu" msgstr "временный файл: путь \"%s\", размер %lu" -#: storage/file/fd.c:1629 +#: storage/file/fd.c:1675 #, c-format msgid "cannot create temporary directory \"%s\": %m" msgstr "не удалось создать временный каталог \"%s\": %m" -#: storage/file/fd.c:1636 +#: storage/file/fd.c:1682 #, c-format msgid "cannot create temporary subdirectory \"%s\": %m" msgstr "не удалось создать временный подкаталог \"%s\": %m" -#: storage/file/fd.c:1833 +#: storage/file/fd.c:1879 #, c-format msgid "could not create temporary file \"%s\": %m" msgstr "не удалось создать временный файл \"%s\": %m" -#: storage/file/fd.c:1869 +#: storage/file/fd.c:1915 #, c-format msgid "could not open temporary file \"%s\": %m" msgstr "не удалось открыть временный файл \"%s\": %m" -#: storage/file/fd.c:1910 +#: storage/file/fd.c:1956 #, c-format msgid "could not unlink temporary file \"%s\": %m" msgstr "ошибка удаления временного файла \"%s\": %m" -#: storage/file/fd.c:1998 +#: storage/file/fd.c:2044 #, c-format msgid "could not delete file \"%s\": %m" msgstr "ошибка удаления файла \"%s\": %m" -#: storage/file/fd.c:2185 +#: 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:2541 storage/file/fd.c:2600 +#: 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:2645 +#: 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:2801 +#: 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:3331 +#: storage/file/fd.c:3384 #, c-format msgid "unexpected file found in temporary-files directory: \"%s\"" msgstr "в каталоге временных файлов обнаружен неуместный файл: \"%s\"" -#: storage/file/fd.c:3449 +#: storage/file/fd.c:3502 #, c-format msgid "" "syncing data directory (syncfs), elapsed time: %ld.%02d s, current path: %s" @@ -24218,12 +25204,7 @@ msgstr "" "синхронизация каталога данных (syncfs), прошло времени: %ld.%02d с, текущий " "путь: %s" -#: storage/file/fd.c:3463 -#, c-format -msgid "could not synchronize file system for file \"%s\": %m" -msgstr "не удалось синхронизировать с ФС файл \"%s\": %m" - -#: storage/file/fd.c:3676 +#: storage/file/fd.c:3729 #, c-format msgid "" "syncing data directory (pre-fsync), elapsed time: %ld.%02d s, current path: " @@ -24232,7 +25213,7 @@ msgstr "" "синхронизация каталога данных (подготовка к fsync), прошло времени: %ld.%02d " "с, текущий путь: %s" -#: storage/file/fd.c:3708 +#: storage/file/fd.c:3761 #, c-format msgid "" "syncing data directory (fsync), elapsed time: %ld.%02d s, current path: %s" @@ -24240,25 +25221,36 @@ msgstr "" "синхронизация каталога данных (fsync), прошло времени: %ld.%02d с, текущий " "путь: %s" -#: storage/file/fd.c:3897 +#: storage/file/fd.c:3950 #, c-format -msgid "debug_io_direct is not supported on this platform." -msgstr "Параметр debug_io_direct на этой платформе не поддерживается." +msgid "\"debug_io_direct\" is not supported on this platform." +msgstr "Параметр \"debug_io_direct\" не поддерживается в этой ОС." -#: storage/file/fd.c:3944 +#: storage/file/fd.c:3964 +#, c-format +msgid "Invalid list syntax in parameter \"%s\"" +msgstr "Неверный формат списка в параметре \"%s\"." + +#: storage/file/fd.c:3984 +#, c-format +msgid "Invalid option \"%s\"" +msgstr "Неверный параметр \"%s\"." + +#: storage/file/fd.c:3997 #, c-format msgid "" -"debug_io_direct is not supported for WAL because XLOG_BLCKSZ is too small" +"\"debug_io_direct\" is not supported for WAL because XLOG_BLCKSZ is too small" msgstr "" -"режим debug_io_direct не поддерживается для WAL из-за слишком маленького " +"режим \"debug_io_direct\" не поддерживается для WAL из-за слишком маленького " "размера XLOG_BLCKSZ" -#: storage/file/fd.c:3951 +#: storage/file/fd.c:4004 #, c-format -msgid "debug_io_direct is not supported for data because BLCKSZ is too small" +msgid "" +"\"debug_io_direct\" is not supported for data because BLCKSZ is too small" msgstr "" -"режим debug_io_direct не поддерживается для данных из-за слишком маленького " -"размера BLCKSZ" +"режим \"debug_io_direct\" не поддерживается для данных из-за слишком " +"маленького размера BLCKSZ" #: storage/file/reinit.c:145 #, c-format @@ -24278,22 +25270,22 @@ msgstr "" "сброс нежурналируемых отношений (очистка), прошло времени: %ld.%02d s, " "текущий путь: %s" -#: storage/file/sharedfileset.c:79 +#: storage/file/sharedfileset.c:73 #, c-format msgid "could not attach to a SharedFileSet that is already destroyed" msgstr "не удалось подключиться к уже уничтоженному набору SharedFileSet" -#: storage/ipc/dsm.c:352 +#: storage/ipc/dsm.c:379 #, c-format msgid "dynamic shared memory control segment is corrupt" msgstr "сегмент управления динамической разделяемой памятью испорчен" -#: storage/ipc/dsm.c:417 +#: storage/ipc/dsm.c:444 #, c-format msgid "dynamic shared memory control segment is not valid" msgstr "сегмент управления динамической разделяемой памятью не в порядке" -#: storage/ipc/dsm.c:599 +#: storage/ipc/dsm.c:626 #, c-format msgid "too many dynamic shared memory segments" msgstr "слишком много сегментов динамической разделяемой памяти" @@ -24354,18 +25346,46 @@ msgstr "не удалось закрыть сегмент разделяемой msgid "could not duplicate handle for \"%s\": %m" msgstr "не удалось продублировать указатель для \"%s\": %m" -#: storage/ipc/procarray.c:3795 +#: storage/ipc/dsm_registry.c:142 +#, c-format +msgid "DSM segment name cannot be empty" +msgstr "имя DSM-сегмента не может быть пустым" + +#: storage/ipc/dsm_registry.c:146 +#, c-format +msgid "DSM segment name too long" +msgstr "имя DSM-сегмента слишком длинное" + +#: storage/ipc/dsm_registry.c:150 +#, c-format +msgid "DSM segment size must be nonzero" +msgstr "размер DSM-сегмента должен быть ненулевым" + +#: storage/ipc/dsm_registry.c:176 +#, c-format +msgid "requested DSM segment size does not match size of existing segment" +msgstr "" +"запрошенный размер сегмента DSM не совпадает с размером существующего " +"сегмента" + +#: storage/ipc/procarray.c:488 storage/lmgr/proc.c:352 +#: tcop/backend_startup.c:304 +#, c-format +msgid "sorry, too many clients already" +msgstr "извините, уже слишком много клиентов" + +#: storage/ipc/procarray.c:3857 #, c-format msgid "database \"%s\" is being used by prepared transactions" msgstr "база \"%s\" используется подготовленными транзакциями" -#: storage/ipc/procarray.c:3827 storage/ipc/procarray.c:3836 +#: storage/ipc/procarray.c:3893 storage/ipc/procarray.c:3901 #: storage/ipc/signalfuncs.c:235 storage/ipc/signalfuncs.c:242 #, c-format msgid "permission denied to terminate process" msgstr "нет прав для завершения процесса" -#: storage/ipc/procarray.c:3828 storage/ipc/signalfuncs.c:236 +#: storage/ipc/procarray.c:3894 storage/ipc/signalfuncs.c:236 #, c-format msgid "" "Only roles with the %s attribute may terminate processes of roles with the " @@ -24374,7 +25394,7 @@ msgstr "" "Только роли с атрибутом %s могут завершать процессы, принадлежащие ролям с " "атрибутом %s." -#: storage/ipc/procarray.c:3837 storage/ipc/signalfuncs.c:243 +#: storage/ipc/procarray.c:3902 storage/ipc/signalfuncs.c:243 #, c-format msgid "" "Only roles with privileges of the role whose process is being terminated or " @@ -24383,45 +25403,45 @@ msgstr "" "Только роли с правами роли, которой принадлежит процесс, или с правами роли " "\"%s\" могут завершить этот процесс." -#: storage/ipc/procsignal.c:420 +#: storage/ipc/procsignal.c:416 #, c-format msgid "still waiting for backend with PID %d to accept ProcSignalBarrier" msgstr "" "продолжается ожидание получения сигнала ProcSignalBarrier обслуживающим " "процессом с PID %d" -#: storage/ipc/shm_mq.c:384 +#: storage/ipc/shm_mq.c:383 #, c-format msgid "cannot send a message of size %zu via shared memory queue" msgstr "" "не удалось передать сообщение размером %zu через очередь в разделяемой памяти" -#: storage/ipc/shm_mq.c:719 +#: storage/ipc/shm_mq.c:718 #, c-format msgid "invalid message size %zu in shared memory queue" msgstr "неверный размер сообщения %zu в очереди в разделяемой памяти" -#: storage/ipc/shm_toc.c:118 storage/ipc/shm_toc.c:200 storage/lmgr/lock.c:963 -#: storage/lmgr/lock.c:1001 storage/lmgr/lock.c:2786 storage/lmgr/lock.c:4171 -#: storage/lmgr/lock.c:4236 storage/lmgr/lock.c:4586 -#: storage/lmgr/predicate.c:2412 storage/lmgr/predicate.c:2427 -#: storage/lmgr/predicate.c:3824 storage/lmgr/predicate.c:4871 -#: utils/hash/dynahash.c:1107 +#: storage/ipc/shm_toc.c:118 storage/ipc/shm_toc.c:200 storage/lmgr/lock.c:984 +#: storage/lmgr/lock.c:1022 storage/lmgr/lock.c:2835 storage/lmgr/lock.c:4220 +#: 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 #, c-format msgid "out of shared memory" msgstr "нехватка разделяемой памяти" -#: storage/ipc/shmem.c:170 storage/ipc/shmem.c:266 +#: storage/ipc/shmem.c:161 storage/ipc/shmem.c:257 #, c-format msgid "out of shared memory (%zu bytes requested)" msgstr "нехватка разделяемой памяти (требовалось байт: %zu)" -#: storage/ipc/shmem.c:445 +#: storage/ipc/shmem.c:436 #, c-format msgid "could not create ShmemIndex entry for data structure \"%s\"" msgstr "не удалось создать запись ShmemIndex для структуры данных \"%s\"" -#: storage/ipc/shmem.c:460 +#: storage/ipc/shmem.c:451 #, c-format msgid "" "ShmemIndex entry size is wrong for data structure \"%s\": expected %zu, " @@ -24430,7 +25450,7 @@ msgstr "" "размер записи ShmemIndex не соответствует структуре данных " "\"%s\" (ожидалось: %zu, фактически: %zu)" -#: storage/ipc/shmem.c:479 +#: storage/ipc/shmem.c:470 #, c-format msgid "" "not enough shared memory for data structure \"%s\" (%zu bytes requested)" @@ -24438,7 +25458,7 @@ msgstr "" "недостаточно разделяемой памяти для структуры данных \"%s\" (требовалось " "байт: %zu)" -#: storage/ipc/shmem.c:511 storage/ipc/shmem.c:530 +#: storage/ipc/shmem.c:502 storage/ipc/shmem.c:521 #, c-format msgid "requested shared memory size overflows size_t" msgstr "запрошенный размер разделяемой памяти не умещается в size_t" @@ -24448,8 +25468,8 @@ msgstr "запрошенный размер разделяемой памяти msgid "PID %d is not a PostgreSQL backend process" msgstr "PID %d не относится к обслуживающему процессу PostgreSQL" -#: storage/ipc/signalfuncs.c:109 storage/lmgr/proc.c:1387 -#: utils/adt/mcxtfuncs.c:190 +#: storage/ipc/signalfuncs.c:109 storage/lmgr/proc.c:1448 +#: utils/adt/mcxtfuncs.c:182 #, c-format msgid "could not send signal to process %d: %m" msgstr "отправить сигнал процессу %d не удалось: %m" @@ -24495,96 +25515,90 @@ msgstr[2] "обслуживающий процесс с PID %d не заверш msgid "\"timeout\" must not be negative" msgstr "\"timeout\" не может быть отрицательным" -#: storage/ipc/signalfuncs.c:284 -#, c-format -msgid "must be superuser to rotate log files with adminpack 1.0" -msgstr "" -"прокручивать файлы протоколов, используя adminpack 1.0, может только " -"суперпользователь" - -#. translator: %s is a SQL function name -#: storage/ipc/signalfuncs.c:286 utils/adt/genfile.c:250 -#, c-format -msgid "Consider using %s, which is part of core, instead." -msgstr "Рассмотрите возможность использования функции %s, включённой в ядро." - -#: storage/ipc/signalfuncs.c:292 storage/ipc/signalfuncs.c:312 +#: storage/ipc/signalfuncs.c:285 #, c-format msgid "rotation not possible because log collection not active" msgstr "прокрутка невозможна, так как протоколирование отключено" -#: storage/ipc/standby.c:330 +#: storage/ipc/standby.c:329 #, c-format msgid "recovery still waiting after %ld.%03d ms: %s" msgstr "процесс восстановления продолжает ожидание после %ld.%03d мс: %s" -#: storage/ipc/standby.c:339 +#: storage/ipc/standby.c:338 #, c-format msgid "recovery finished waiting after %ld.%03d ms: %s" msgstr "процесс восстановления завершил ожидание после %ld.%03d мс: %s" -#: storage/ipc/standby.c:921 tcop/postgres.c:3384 +#: storage/ipc/standby.c:920 tcop/postgres.c:3196 #, c-format msgid "canceling statement due to conflict with recovery" msgstr "" "выполнение оператора отменено из-за конфликта с процессом восстановления" -#: storage/ipc/standby.c:922 tcop/postgres.c:2533 +#: storage/ipc/standby.c:921 tcop/postgres.c:2557 #, c-format msgid "User transaction caused buffer deadlock with recovery." msgstr "" "Транзакция пользователя привела к взаимоблокировке с процессом " "восстановления." -#: storage/ipc/standby.c:1488 +#: storage/ipc/standby.c:1486 msgid "unknown reason" msgstr "причина неизвестна" -#: storage/ipc/standby.c:1493 +#: storage/ipc/standby.c:1491 msgid "recovery conflict on buffer pin" msgstr "конфликт восстановления при закреплении буфера" -#: storage/ipc/standby.c:1496 +#: storage/ipc/standby.c:1494 msgid "recovery conflict on lock" msgstr "конфликт восстановления при получении блокировки" -#: storage/ipc/standby.c:1499 +#: storage/ipc/standby.c:1497 msgid "recovery conflict on tablespace" msgstr "конфликт восстановления при обращении к табличному пространству" -#: storage/ipc/standby.c:1502 +#: storage/ipc/standby.c:1500 msgid "recovery conflict on snapshot" msgstr "конфликт восстановления при получении снимка" -#: storage/ipc/standby.c:1505 +#: storage/ipc/standby.c:1503 msgid "recovery conflict on replication slot" msgstr "конфликт восстановления со слотом репликации" -#: storage/ipc/standby.c:1508 +#: storage/ipc/standby.c:1506 msgid "recovery conflict on buffer deadlock" msgstr "конфликт восстановления из-за взаимной блокировки буфера" -#: storage/ipc/standby.c:1511 +#: storage/ipc/standby.c:1509 msgid "recovery conflict on database" msgstr "конфликт восстановления при обращении к базе данных" -#: storage/large_object/inv_api.c:191 +#: storage/large_object/inv_api.c:190 #, c-format msgid "pg_largeobject entry for OID %u, page %d has invalid data field size %d" msgstr "" "в записи pg_largeobject для OID %u, стр. %d неверный размер поля данных (%d)" -#: storage/large_object/inv_api.c:273 +#: storage/large_object/inv_api.c:272 #, c-format msgid "invalid flags for opening a large object: %d" msgstr "неверные флаги для открытия большого объекта: %d" -#: storage/large_object/inv_api.c:456 +#: storage/large_object/inv_api.c:297 storage/large_object/inv_api.c:309 +#: storage/large_object/inv_api.c:506 storage/large_object/inv_api.c:617 +#: storage/large_object/inv_api.c:807 +#, c-format +msgid "permission denied for large object %u" +msgstr "нет доступа к большому объекту %u" + +#: storage/large_object/inv_api.c:455 #, c-format msgid "invalid whence setting: %d" msgstr "неверное значение ориентира: %d" -#: storage/large_object/inv_api.c:628 +#: storage/large_object/inv_api.c:627 #, c-format msgid "invalid large object write request size: %d" msgstr "неверный размер записи большого объекта: %d" @@ -24610,113 +25624,113 @@ msgstr "обнаружена взаимоблокировка" msgid "See server log for query details." msgstr "Подробности запроса смотрите в протоколе сервера." -#: storage/lmgr/lmgr.c:859 +#: storage/lmgr/lmgr.c:848 #, c-format msgid "while updating tuple (%u,%u) in relation \"%s\"" msgstr "при изменении кортежа (%u,%u) в отношении \"%s\"" -#: storage/lmgr/lmgr.c:862 +#: storage/lmgr/lmgr.c:851 #, c-format msgid "while deleting tuple (%u,%u) in relation \"%s\"" msgstr "при удалении кортежа (%u,%u) в отношении \"%s\"" -#: storage/lmgr/lmgr.c:865 +#: storage/lmgr/lmgr.c:854 #, c-format msgid "while locking tuple (%u,%u) in relation \"%s\"" msgstr "при блокировке кортежа (%u,%u) в отношении \"%s\"" -#: storage/lmgr/lmgr.c:868 +#: storage/lmgr/lmgr.c:857 #, c-format msgid "while locking updated version (%u,%u) of tuple in relation \"%s\"" msgstr "при блокировке изменённой версии (%u,%u) кортежа в отношении \"%s\"" -#: storage/lmgr/lmgr.c:871 +#: storage/lmgr/lmgr.c:860 #, c-format msgid "while inserting index tuple (%u,%u) in relation \"%s\"" msgstr "при добавлении кортежа индекса (%u,%u) в отношении \"%s\"" -#: storage/lmgr/lmgr.c:874 +#: storage/lmgr/lmgr.c:863 #, c-format msgid "while checking uniqueness of tuple (%u,%u) in relation \"%s\"" msgstr "при проверке уникальности кортежа (%u,%u) в отношении \"%s\"" -#: storage/lmgr/lmgr.c:877 +#: storage/lmgr/lmgr.c:866 #, c-format msgid "while rechecking updated tuple (%u,%u) in relation \"%s\"" msgstr "при перепроверке изменённого кортежа (%u,%u) в отношении \"%s\"" -#: storage/lmgr/lmgr.c:880 +#: storage/lmgr/lmgr.c:869 #, c-format msgid "while checking exclusion constraint on tuple (%u,%u) in relation \"%s\"" msgstr "" "при проверке ограничения-исключения для кортежа (%u,%u) в отношении \"%s\"" -#: storage/lmgr/lmgr.c:1212 +#: storage/lmgr/lmgr.c:1239 #, c-format msgid "relation %u of database %u" msgstr "отношение %u базы данных %u" -#: storage/lmgr/lmgr.c:1218 +#: storage/lmgr/lmgr.c:1245 #, c-format msgid "extension of relation %u of database %u" msgstr "расширение отношения %u базы данных %u" -#: storage/lmgr/lmgr.c:1224 +#: storage/lmgr/lmgr.c:1251 #, c-format msgid "pg_database.datfrozenxid of database %u" msgstr "pg_database.datfrozenxid базы %u" -#: storage/lmgr/lmgr.c:1229 +#: storage/lmgr/lmgr.c:1256 #, c-format msgid "page %u of relation %u of database %u" msgstr "страница %u отношения %u базы данных %u" -#: storage/lmgr/lmgr.c:1236 +#: storage/lmgr/lmgr.c:1263 #, c-format msgid "tuple (%u,%u) of relation %u of database %u" msgstr "кортеж (%u,%u) отношения %u базы данных %u" -#: storage/lmgr/lmgr.c:1244 +#: storage/lmgr/lmgr.c:1271 #, c-format msgid "transaction %u" msgstr "транзакция %u" -#: storage/lmgr/lmgr.c:1249 +#: storage/lmgr/lmgr.c:1276 #, c-format msgid "virtual transaction %d/%u" msgstr "виртуальная транзакция %d/%u" -#: storage/lmgr/lmgr.c:1255 +#: storage/lmgr/lmgr.c:1282 #, c-format msgid "speculative token %u of transaction %u" msgstr "спекулятивный маркер %u транзакции %u" -#: storage/lmgr/lmgr.c:1261 +#: storage/lmgr/lmgr.c:1288 #, c-format msgid "object %u of class %u of database %u" msgstr "объект %u класса %u базы данных %u" -#: storage/lmgr/lmgr.c:1269 +#: storage/lmgr/lmgr.c:1296 #, c-format msgid "user lock [%u,%u,%u]" msgstr "пользовательская блокировка [%u,%u,%u]" -#: storage/lmgr/lmgr.c:1276 +#: storage/lmgr/lmgr.c:1303 #, c-format msgid "advisory lock [%u,%u,%u,%u]" msgstr "рекомендательная блокировка [%u,%u,%u,%u]" -#: storage/lmgr/lmgr.c:1284 +#: storage/lmgr/lmgr.c:1311 #, c-format msgid "remote transaction %u of subscription %u of database %u" msgstr "удалённая транзакция %u подписки %u в базе данных %u" -#: storage/lmgr/lmgr.c:1291 +#: storage/lmgr/lmgr.c:1318 #, c-format msgid "unrecognized locktag type %d" msgstr "нераспознанный тип блокировки %d" -#: storage/lmgr/lock.c:791 +#: storage/lmgr/lock.c:812 #, c-format msgid "" "cannot acquire lock mode %s on database objects while recovery is in progress" @@ -24724,7 +25738,7 @@ msgstr "" "пока выполняется восстановление, нельзя получить блокировку объектов базы " "данных в режиме %s" -#: storage/lmgr/lock.c:793 +#: storage/lmgr/lock.c:814 #, c-format msgid "" "Only RowExclusiveLock or less can be acquired on database objects during " @@ -24733,7 +25747,7 @@ msgstr "" "В процессе восстановления для объектов базы данных может быть получена " "только блокировка RowExclusiveLock или менее сильная." -#: storage/lmgr/lock.c:3235 storage/lmgr/lock.c:3303 storage/lmgr/lock.c:3419 +#: storage/lmgr/lock.c:3284 storage/lmgr/lock.c:3352 storage/lmgr/lock.c:3468 #, c-format msgid "" "cannot PREPARE while holding both session-level and transaction-level locks " @@ -24742,21 +25756,21 @@ msgstr "" "нельзя выполнить PREPARE, удерживая блокировки на уровне сеанса и на уровне " "транзакции для одного объекта" -#: storage/lmgr/predicate.c:649 +#: storage/lmgr/predicate.c:653 #, c-format msgid "not enough elements in RWConflictPool to record a read/write conflict" msgstr "в пуле недостаточно элементов для записи о конфликте чтения/записи" -#: storage/lmgr/predicate.c:650 storage/lmgr/predicate.c:675 +#: storage/lmgr/predicate.c:654 storage/lmgr/predicate.c:679 #, c-format msgid "" "You might need to run fewer transactions at a time or increase " -"max_connections." +"\"max_connections\"." msgstr "" -"Попробуйте уменьшить число транзакций в секунду или увеличить параметр " -"max_connections." +"Попробуйте уменьшить число одновременных транзакций или увеличить параметр " +"\"max_connections\"." -#: storage/lmgr/predicate.c:674 +#: storage/lmgr/predicate.c:678 #, c-format msgid "" "not enough elements in RWConflictPool to record a potential read/write " @@ -24765,13 +25779,13 @@ msgstr "" "в пуле недостаточно элементов для записи о потенциальном конфликте чтения/" "записи" -#: storage/lmgr/predicate.c:1630 +#: storage/lmgr/predicate.c:1686 #, c-format msgid "\"default_transaction_isolation\" is set to \"serializable\"." msgstr "" "Параметр \"default_transaction_isolation\" имеет значение \"serializable\"." -#: storage/lmgr/predicate.c:1631 +#: storage/lmgr/predicate.c:1687 #, c-format msgid "" "You can use \"SET default_transaction_isolation = 'repeatable read'\" to " @@ -24780,27 +25794,27 @@ msgstr "" "Чтобы изменить режим по умолчанию, выполните \"SET " "default_transaction_isolation = 'repeatable read'\"." -#: storage/lmgr/predicate.c:1682 +#: storage/lmgr/predicate.c:1738 #, c-format msgid "a snapshot-importing transaction must not be READ ONLY DEFERRABLE" msgstr "транзакция, импортирующая снимок, не должна быть READ ONLY DEFERRABLE" -#: storage/lmgr/predicate.c:1761 utils/time/snapmgr.c:570 -#: utils/time/snapmgr.c:576 +#: storage/lmgr/predicate.c:1817 utils/time/snapmgr.c:535 +#: utils/time/snapmgr.c:541 #, c-format msgid "could not import the requested snapshot" msgstr "не удалось импортировать запрошенный снимок" -#: storage/lmgr/predicate.c:1762 utils/time/snapmgr.c:577 +#: storage/lmgr/predicate.c:1818 utils/time/snapmgr.c:542 #, c-format msgid "The source process with PID %d is not running anymore." msgstr "Исходный процесс с PID %d уже не работает." -#: storage/lmgr/predicate.c:3935 storage/lmgr/predicate.c:3971 -#: storage/lmgr/predicate.c:4004 storage/lmgr/predicate.c:4012 -#: storage/lmgr/predicate.c:4051 storage/lmgr/predicate.c:4281 -#: storage/lmgr/predicate.c:4600 storage/lmgr/predicate.c:4612 -#: storage/lmgr/predicate.c:4659 storage/lmgr/predicate.c:4695 +#: storage/lmgr/predicate.c:3991 storage/lmgr/predicate.c:4027 +#: storage/lmgr/predicate.c:4060 storage/lmgr/predicate.c:4068 +#: storage/lmgr/predicate.c:4107 storage/lmgr/predicate.c:4337 +#: storage/lmgr/predicate.c:4656 storage/lmgr/predicate.c:4668 +#: storage/lmgr/predicate.c:4715 storage/lmgr/predicate.c:4751 #, c-format msgid "" "could not serialize access due to read/write dependencies among transactions" @@ -24808,25 +25822,25 @@ msgstr "" "не удалось сериализовать доступ из-за зависимостей чтения/записи между " "транзакциями" -#: storage/lmgr/predicate.c:3937 storage/lmgr/predicate.c:3973 -#: storage/lmgr/predicate.c:4006 storage/lmgr/predicate.c:4014 -#: storage/lmgr/predicate.c:4053 storage/lmgr/predicate.c:4283 -#: storage/lmgr/predicate.c:4602 storage/lmgr/predicate.c:4614 -#: storage/lmgr/predicate.c:4661 storage/lmgr/predicate.c:4697 +#: storage/lmgr/predicate.c:3993 storage/lmgr/predicate.c:4029 +#: storage/lmgr/predicate.c:4062 storage/lmgr/predicate.c:4070 +#: storage/lmgr/predicate.c:4109 storage/lmgr/predicate.c:4339 +#: storage/lmgr/predicate.c:4658 storage/lmgr/predicate.c:4670 +#: storage/lmgr/predicate.c:4717 storage/lmgr/predicate.c:4753 #, c-format msgid "The transaction might succeed if retried." msgstr "Транзакция может завершиться успешно при следующей попытке." -#: storage/lmgr/proc.c:349 +#: storage/lmgr/proc.c:348 #, c-format msgid "" -"number of requested standby connections exceeds max_wal_senders (currently " -"%d)" +"number of requested standby connections exceeds " +"\"max_wal_senders\" (currently %d)" msgstr "" -"число запрошенных подключений резервных серверов превосходит max_wal_senders " -"(сейчас: %d)" +"число запрошенных подключений резервных серверов превышает " +"\"max_wal_senders\" (сейчас: %d)" -#: storage/lmgr/proc.c:1480 +#: storage/lmgr/proc.c:1541 #, c-format msgid "" "process %d avoided deadlock for %s on %s by rearranging queue order after " @@ -24835,129 +25849,274 @@ msgstr "" "процесс %d избежал взаимоблокировки, ожидая в режиме %s блокировку \"%s\", " "изменив порядок очереди через %ld.%03d мс" -#: storage/lmgr/proc.c:1495 +#: storage/lmgr/proc.c:1556 +#, c-format +msgid "" +"process %d detected deadlock while waiting for %s on %s after %ld.%03d ms" +msgstr "" +"процесс %d обнаружил взаимоблокировку, ожидая в режиме %s блокировку \"%s\" " +"в течение %ld.%03d мс" + +#: storage/lmgr/proc.c:1565 +#, c-format +msgid "process %d still waiting for %s on %s after %ld.%03d ms" +msgstr "" +"процесс %d продолжает ожидать в режиме %s блокировку \"%s\" в течение %ld." +"%03d мс" + +#: storage/lmgr/proc.c:1572 +#, c-format +msgid "process %d acquired %s on %s after %ld.%03d ms" +msgstr "процесс %d получил в режиме %s блокировку \"%s\" через %ld.%03d мс" + +#: storage/lmgr/proc.c:1589 +#, c-format +msgid "process %d failed to acquire %s on %s after %ld.%03d ms" +msgstr "" +"процесс %d не смог получить в режиме %s блокировку \"%s\" за %ld.%03d мс" + +#: storage/page/bufpage.c:152 +#, c-format +msgid "page verification failed, calculated checksum %u but expected %u" +msgstr "" +"ошибка проверки страницы: получена контрольная сумма %u, а ожидалась - %u" + +#: storage/page/bufpage.c:217 storage/page/bufpage.c:730 +#: storage/page/bufpage.c:1073 storage/page/bufpage.c:1208 +#: storage/page/bufpage.c:1314 storage/page/bufpage.c:1426 +#, c-format +msgid "corrupted page pointers: lower = %u, upper = %u, special = %u" +msgstr "" +"испорченные указатели страницы: нижний = %u, верхний = %u, спецобласть = %u" + +#: storage/page/bufpage.c:759 +#, c-format +msgid "corrupted line pointer: %u" +msgstr "испорченный линейный указатель: %u" + +#: storage/page/bufpage.c:789 storage/page/bufpage.c:1266 +#, c-format +msgid "corrupted item lengths: total %u, available space %u" +msgstr "испорченный размер элемента (общий размер: %u, доступно: %u)" + +#: storage/page/bufpage.c:1092 storage/page/bufpage.c:1233 +#: storage/page/bufpage.c:1330 storage/page/bufpage.c:1442 +#, c-format +msgid "corrupted line pointer: offset = %u, size = %u" +msgstr "испорченный линейный указатель: смещение = %u, размер = %u" + +#: storage/smgr/md.c:485 storage/smgr/md.c:547 +#, c-format +msgid "cannot extend file \"%s\" beyond %u blocks" +msgstr "не удалось увеличить файл \"%s\" до блока %u" + +#: storage/smgr/md.c:500 storage/smgr/md.c:611 +#, c-format +msgid "could not extend file \"%s\": %m" +msgstr "не удалось увеличить файл \"%s\": %m" + +#: storage/smgr/md.c:506 +#, c-format +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 +#, c-format +msgid "could not extend file \"%s\" with FileFallocate(): %m" +msgstr "не удалось увеличить файл \"%s\" посредством FileFallocate(): %m" + +#: storage/smgr/md.c:869 +#, c-format +msgid "could not read blocks %u..%u in file \"%s\": %m" +msgstr "не удалось прочитать блоки %u..%u в файле \"%s\": %m" + +#: storage/smgr/md.c:895 +#, 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 +#, c-format +msgid "could not write blocks %u..%u in file \"%s\": %m" +msgstr "не удалось записать блоки %u..%u в файл \"%s\": %m" + +#: storage/smgr/md.c:1163 +#, 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:1218 +#, c-format +msgid "could not truncate file \"%s\" to %u blocks: %m" +msgstr "не удалось обрезать файл \"%s\" до нужного числа блоков (%u): %m" + +#: storage/smgr/md.c:1688 +#, c-format +msgid "" +"could not open file \"%s\" (target block %u): previous segment is only %u " +"blocks" +msgstr "" +"не удалось открыть файл file \"%s\" (целевой блок %u): недостаточно блоков в " +"предыдущем сегменте (всего %u)" + +#: storage/smgr/md.c:1702 +#, c-format +msgid "could not open file \"%s\" (target block %u): %m" +msgstr "не удалось открыть файл file \"%s\" (целевой блок %u): %m" + +#: tcop/backend_startup.c:85 +#, c-format +msgid "SSL configuration could not be loaded in child process" +msgstr "не удалось загрузить конфигурацию SSL в дочерний процесс" + +#: tcop/backend_startup.c:208 +#, c-format +msgid "connection received: host=%s port=%s" +msgstr "принято подключение: узел=%s порт=%s" + +#: tcop/backend_startup.c:213 +#, c-format +msgid "connection received: host=%s" +msgstr "принято подключение: узел=%s" + +#: tcop/backend_startup.c:277 +#, c-format +msgid "the database system is starting up" +msgstr "система баз данных запускается" + +#: tcop/backend_startup.c:283 +#, c-format +msgid "the database system is not yet accepting connections" +msgstr "система БД ещё не принимает подключения" + +#: tcop/backend_startup.c:284 +#, c-format +msgid "Consistent recovery state has not been yet reached." +msgstr "Согласованное состояние восстановления ещё не достигнуто." + +#: tcop/backend_startup.c:288 #, c-format -msgid "" -"process %d detected deadlock while waiting for %s on %s after %ld.%03d ms" -msgstr "" -"процесс %d обнаружил взаимоблокировку, ожидая в режиме %s блокировку \"%s\" " -"в течение %ld.%03d мс" +msgid "the database system is not accepting connections" +msgstr "система БД не принимает подключения" -#: storage/lmgr/proc.c:1504 +#: tcop/backend_startup.c:289 #, c-format -msgid "process %d still waiting for %s on %s after %ld.%03d ms" -msgstr "" -"процесс %d продолжает ожидать в режиме %s блокировку \"%s\" в течение %ld." -"%03d мс" +msgid "Hot standby mode is disabled." +msgstr "Режим горячего резерва отключён." -#: storage/lmgr/proc.c:1511 +#: tcop/backend_startup.c:294 #, c-format -msgid "process %d acquired %s on %s after %ld.%03d ms" -msgstr "процесс %d получил в режиме %s блокировку \"%s\" через %ld.%03d мс" +msgid "the database system is shutting down" +msgstr "система баз данных останавливается" -#: storage/lmgr/proc.c:1528 +#: tcop/backend_startup.c:299 #, c-format -msgid "process %d failed to acquire %s on %s after %ld.%03d ms" -msgstr "" -"процесс %d не смог получить в режиме %s блокировку \"%s\" за %ld.%03d мс" +msgid "the database system is in recovery mode" +msgstr "система баз данных в режиме восстановления" -#: storage/page/bufpage.c:152 +#: tcop/backend_startup.c:414 #, c-format -msgid "page verification failed, calculated checksum %u but expected %u" -msgstr "" -"ошибка проверки страницы: получена контрольная сумма %u, а ожидалась - %u" +msgid "" +"received direct SSL connection request without ALPN protocol negotiation " +"extension" +msgstr "получен запрос прямого SSL-соединения, но в нём нет расширения ALPN" -#: storage/page/bufpage.c:217 storage/page/bufpage.c:730 -#: storage/page/bufpage.c:1073 storage/page/bufpage.c:1208 -#: storage/page/bufpage.c:1314 storage/page/bufpage.c:1426 +#: tcop/backend_startup.c:420 #, c-format -msgid "corrupted page pointers: lower = %u, upper = %u, special = %u" -msgstr "" -"испорченные указатели страницы: нижний = %u, верхний = %u, спецобласть = %u" +msgid "direct SSL connection accepted" +msgstr "запрос прямого SSL-соединения принят" -#: storage/page/bufpage.c:759 +#: tcop/backend_startup.c:430 #, c-format -msgid "corrupted line pointer: %u" -msgstr "испорченный линейный указатель: %u" +msgid "direct SSL connection rejected" +msgstr "запрос прямого SSL-соединения отвергнут" -#: storage/page/bufpage.c:789 storage/page/bufpage.c:1266 +#: tcop/backend_startup.c:489 tcop/backend_startup.c:517 #, c-format -msgid "corrupted item lengths: total %u, available space %u" -msgstr "испорченный размер элемента (общий размер: %u, доступно: %u)" +msgid "incomplete startup packet" +msgstr "неполный стартовый пакет" -#: storage/page/bufpage.c:1092 storage/page/bufpage.c:1233 -#: storage/page/bufpage.c:1330 storage/page/bufpage.c:1442 +#: tcop/backend_startup.c:501 tcop/backend_startup.c:538 #, c-format -msgid "corrupted line pointer: offset = %u, size = %u" -msgstr "испорченный линейный указатель: смещение = %u, размер = %u" +msgid "invalid length of startup packet" +msgstr "неверная длина стартового пакета" -#: storage/smgr/md.c:487 storage/smgr/md.c:549 +#: tcop/backend_startup.c:573 #, c-format -msgid "cannot extend file \"%s\" beyond %u blocks" -msgstr "не удалось увеличить файл \"%s\" до блока %u" +msgid "SSLRequest accepted" +msgstr "SSLRequest принят" -#: storage/smgr/md.c:502 storage/smgr/md.c:613 +#: tcop/backend_startup.c:576 #, c-format -msgid "could not extend file \"%s\": %m" -msgstr "не удалось увеличить файл \"%s\": %m" +msgid "SSLRequest rejected" +msgstr "SSLRequest отвергнут" -#: storage/smgr/md.c:508 +#: tcop/backend_startup.c:585 #, c-format -msgid "could not extend file \"%s\": wrote only %d of %d bytes at block %u" -msgstr "не удалось увеличить файл \"%s\" (записано байт: %d из %d) в блоке %u" +msgid "failed to send SSL negotiation response: %m" +msgstr "не удалось отправить ответ в процессе SSL-согласования: %m" -#: storage/smgr/md.c:591 +#: tcop/backend_startup.c:603 #, c-format -msgid "could not extend file \"%s\" with FileFallocate(): %m" -msgstr "не удалось увеличить файл \"%s\" посредством FileFallocate(): %m" +msgid "received unencrypted data after SSL request" +msgstr "после запроса SSL получены незашифрованные данные" + +#: tcop/backend_startup.c:604 tcop/backend_startup.c:658 +#, c-format +msgid "" +"This could be either a client-software bug or evidence of an attempted man-" +"in-the-middle attack." +msgstr "" +"Это может свидетельствовать об ошибке в клиентском ПО или о попытке атаки " +"MITM." -#: storage/smgr/md.c:782 +#: tcop/backend_startup.c:627 #, c-format -msgid "could not read block %u in file \"%s\": %m" -msgstr "не удалось прочитать блок %u в файле \"%s\": %m" +msgid "GSSENCRequest accepted" +msgstr "GSSENCRequest принят" -#: storage/smgr/md.c:798 +#: tcop/backend_startup.c:630 #, c-format -msgid "could not read block %u in file \"%s\": read only %d of %d bytes" -msgstr "не удалось прочитать блок %u в файле \"%s\" (прочитано байт: %d из %d)" +msgid "GSSENCRequest rejected" +msgstr "GSSENCRequest отвергнут" -#: storage/smgr/md.c:856 +#: tcop/backend_startup.c:639 #, c-format -msgid "could not write block %u in file \"%s\": %m" -msgstr "не удалось записать блок %u в файл \"%s\": %m" +msgid "failed to send GSSAPI negotiation response: %m" +msgstr "не удалось отправить ответ в процессе согласования GSSAPI: %m" -#: storage/smgr/md.c:861 +#: tcop/backend_startup.c:657 #, c-format -msgid "could not write block %u in file \"%s\": wrote only %d of %d bytes" -msgstr "не удалось записать блок %u в файл \"%s\" (записано байт: %d из %d)" +msgid "received unencrypted data after GSSAPI encryption request" +msgstr "после запроса шифрования GSSAPI получены незашифрованные данные" -#: storage/smgr/md.c:1012 +#: tcop/backend_startup.c:681 #, c-format -msgid "could not truncate file \"%s\" to %u blocks: it's only %u blocks now" +msgid "unsupported frontend protocol %u.%u: server supports %u.0 to %u.%u" msgstr "" -"не удалось обрезать файл \"%s\" (требуемая длина в блоках: %u, но сейчас он " -"содержит %u)" +"неподдерживаемый протокол клиентского приложения %u.%u; сервер поддерживает " +"%u.0 - %u.%u" -#: storage/smgr/md.c:1067 +#: tcop/backend_startup.c:744 #, c-format -msgid "could not truncate file \"%s\" to %u blocks: %m" -msgstr "не удалось обрезать файл \"%s\" до нужного числа блоков (%u): %m" +msgid "Valid values are: \"false\", 0, \"true\", 1, \"database\"." +msgstr "Допустимые значения: \"false\", 0, \"true\", 1, \"database\"." -#: storage/smgr/md.c:1494 +#: tcop/backend_startup.c:785 #, c-format -msgid "" -"could not open file \"%s\" (target block %u): previous segment is only %u " -"blocks" +msgid "invalid startup packet layout: expected terminator as last byte" msgstr "" -"не удалось открыть файл file \"%s\" (целевой блок %u): недостаточно блоков в " -"предыдущем сегменте (всего %u)" +"неверная структура стартового пакета: последним байтом должен быть терминатор" -#: storage/smgr/md.c:1508 +#: tcop/backend_startup.c:802 #, c-format -msgid "could not open file \"%s\" (target block %u): %m" -msgstr "не удалось открыть файл file \"%s\" (целевой блок %u): %m" +msgid "no PostgreSQL user name specified in startup packet" +msgstr "в стартовом пакете не указано имя пользователя PostgreSQL" -#: tcop/fastpath.c:142 utils/fmgr/fmgr.c:2132 +#: tcop/fastpath.c:142 utils/fmgr/fmgr.c:2161 #, c-format msgid "function with OID %u does not exist" msgstr "функция с OID %u не существует" @@ -24972,8 +26131,8 @@ msgstr "вызвать функцию \"%s\" через интерфейс fastp msgid "fastpath function call: \"%s\" (OID %u)" msgstr "вызов функции (через fastpath): \"%s\" (OID %u)" -#: tcop/fastpath.c:313 tcop/postgres.c:1365 tcop/postgres.c:1601 -#: tcop/postgres.c:2059 tcop/postgres.c:2309 +#: tcop/fastpath.c:313 tcop/postgres.c:1369 tcop/postgres.c:1605 +#: tcop/postgres.c:2071 tcop/postgres.c:2333 #, c-format msgid "duration: %s ms" msgstr "продолжительность: %s мс" @@ -25008,44 +26167,44 @@ msgstr "неверный размер аргумента (%d) в сообщен msgid "incorrect binary data format in function argument %d" msgstr "неправильный формат двоичных данных в аргументе функции %d" -#: tcop/postgres.c:463 tcop/postgres.c:4882 +#: tcop/postgres.c:467 tcop/postgres.c:5012 #, c-format msgid "invalid frontend message type %d" msgstr "неправильный тип клиентского сообщения %d" -#: tcop/postgres.c:1072 +#: tcop/postgres.c:1076 #, c-format msgid "statement: %s" msgstr "оператор: %s" -#: tcop/postgres.c:1370 +#: tcop/postgres.c:1374 #, c-format msgid "duration: %s ms statement: %s" msgstr "продолжительность: %s мс, оператор: %s" -#: tcop/postgres.c:1476 +#: tcop/postgres.c:1480 #, c-format msgid "cannot insert multiple commands into a prepared statement" msgstr "в подготовленный оператор нельзя вставить несколько команд" -#: tcop/postgres.c:1606 +#: tcop/postgres.c:1610 #, c-format msgid "duration: %s ms parse %s: %s" msgstr "продолжительность: %s мс, разбор %s: %s" # [SM]: TO REVIEW -#: tcop/postgres.c:1672 tcop/postgres.c:2629 +#: tcop/postgres.c:1677 tcop/postgres.c:2653 #, c-format msgid "unnamed prepared statement does not exist" msgstr "безымянный подготовленный оператор не существует" -#: tcop/postgres.c:1713 +#: tcop/postgres.c:1729 #, c-format msgid "bind message has %d parameter formats but %d parameters" msgstr "" "неверное число форматов параметров в сообщении Bind (%d, а параметров %d)" -#: tcop/postgres.c:1719 +#: tcop/postgres.c:1735 #, c-format msgid "" "bind message supplies %d parameters, but prepared statement \"%s\" requires " @@ -25054,120 +26213,120 @@ msgstr "" "в сообщении Bind передано неверное число параметров (%d, а подготовленный " "оператор \"%s\" требует %d)" -#: tcop/postgres.c:1937 +#: tcop/postgres.c:1949 #, c-format msgid "incorrect binary data format in bind parameter %d" msgstr "неверный формат двоичных данных в параметре Bind %d" -#: tcop/postgres.c:2064 +#: tcop/postgres.c:2076 #, c-format msgid "duration: %s ms bind %s%s%s: %s" msgstr "продолжительность: %s мс, сообщение Bind %s%s%s: %s" -#: tcop/postgres.c:2118 tcop/postgres.c:2712 +#: tcop/postgres.c:2131 tcop/postgres.c:2735 #, c-format msgid "portal \"%s\" does not exist" msgstr "портал \"%s\" не существует" -#: tcop/postgres.c:2189 +#: tcop/postgres.c:2213 #, c-format msgid "%s %s%s%s: %s" msgstr "%s %s%s%s: %s" -#: tcop/postgres.c:2191 tcop/postgres.c:2317 +#: tcop/postgres.c:2215 tcop/postgres.c:2341 msgid "execute fetch from" msgstr "выборка из" -#: tcop/postgres.c:2192 tcop/postgres.c:2318 +#: tcop/postgres.c:2216 tcop/postgres.c:2342 msgid "execute" msgstr "выполнение" -#: tcop/postgres.c:2314 +#: tcop/postgres.c:2338 #, c-format msgid "duration: %s ms %s %s%s%s: %s" msgstr "продолжительность: %s мс %s %s%s%s: %s" -#: tcop/postgres.c:2462 +#: tcop/postgres.c:2486 #, c-format msgid "prepare: %s" msgstr "подготовка: %s" -#: tcop/postgres.c:2487 +#: tcop/postgres.c:2511 #, c-format -msgid "parameters: %s" -msgstr "параметры: %s" +msgid "Parameters: %s" +msgstr "Параметры: %s" -#: tcop/postgres.c:2502 +#: tcop/postgres.c:2526 #, c-format -msgid "abort reason: recovery conflict" -msgstr "причина прерывания: конфликт при восстановлении" +msgid "Abort reason: recovery conflict" +msgstr "Причина прерывания: конфликт при восстановлении" -#: tcop/postgres.c:2518 +#: tcop/postgres.c:2542 #, c-format msgid "User was holding shared buffer pin for too long." msgstr "Пользователь удерживал фиксатор разделяемого буфера слишком долго." -#: tcop/postgres.c:2521 +#: tcop/postgres.c:2545 #, c-format msgid "User was holding a relation lock for too long." msgstr "Пользователь удерживал блокировку таблицы слишком долго." -#: tcop/postgres.c:2524 +#: tcop/postgres.c:2548 #, c-format msgid "User was or might have been using tablespace that must be dropped." msgstr "" "Пользователь использовал табличное пространство, которое должно быть удалено." -#: tcop/postgres.c:2527 +#: tcop/postgres.c:2551 #, c-format msgid "User query might have needed to see row versions that must be removed." msgstr "" "Запросу пользователя нужно было видеть версии строк, которые должны быть " "удалены." -#: tcop/postgres.c:2530 +#: tcop/postgres.c:2554 #, c-format msgid "User was using a logical replication slot that must be invalidated." msgstr "" "Пользователь использовал слот логической репликации, который должен быть " "аннулирован." -#: tcop/postgres.c:2536 +#: tcop/postgres.c:2560 #, c-format msgid "User was connected to a database that must be dropped." msgstr "Пользователь был подключён к базе данных, которая должна быть удалена." -#: tcop/postgres.c:2575 +#: tcop/postgres.c:2599 #, c-format msgid "portal \"%s\" parameter $%d = %s" msgstr "портал \"%s\", параметр $%d = %s" -#: tcop/postgres.c:2578 +#: tcop/postgres.c:2602 #, c-format msgid "portal \"%s\" parameter $%d" msgstr "портал \"%s\", параметр $%d" -#: tcop/postgres.c:2584 +#: tcop/postgres.c:2608 #, c-format msgid "unnamed portal parameter $%d = %s" msgstr "неименованный портал, параметр $%d = %s" -#: tcop/postgres.c:2587 +#: tcop/postgres.c:2611 #, c-format msgid "unnamed portal parameter $%d" msgstr "неименованный портал, параметр $%d" -#: tcop/postgres.c:2932 +#: tcop/postgres.c:2955 #, c-format msgid "terminating connection because of unexpected SIGQUIT signal" msgstr "закрытие подключения из-за неожиданного сигнала SIGQUIT" -#: tcop/postgres.c:2938 +#: tcop/postgres.c:2961 #, c-format msgid "terminating connection because of crash of another server process" msgstr "закрытие подключения из-за краха другого серверного процесса" -#: tcop/postgres.c:2939 +#: tcop/postgres.c:2962 #, c-format msgid "" "The postmaster has commanded this server process to roll back the current " @@ -25178,7 +26337,7 @@ msgstr "" "транзакцию и завершиться, так как другой серверный процесс завершился " "аварийно и, возможно, разрушил разделяемую память." -#: tcop/postgres.c:2943 tcop/postgres.c:3310 +#: tcop/postgres.c:2966 tcop/postgres.c:3219 #, c-format msgid "" "In a moment you should be able to reconnect to the database and repeat your " @@ -25187,18 +26346,18 @@ msgstr "" "Вы сможете переподключиться к базе данных и повторить вашу команду сию " "минуту." -#: tcop/postgres.c:2950 +#: tcop/postgres.c:2973 #, c-format msgid "terminating connection due to immediate shutdown command" msgstr "" "закрытие подключения вследствие получения команды для немедленного отключения" -#: tcop/postgres.c:3036 +#: tcop/postgres.c:3051 #, c-format msgid "floating-point exception" msgstr "исключение в операции с плавающей точкой" -#: tcop/postgres.c:3037 +#: tcop/postgres.c:3052 #, c-format msgid "" "An invalid floating-point operation was signaled. This probably means an out-" @@ -25208,72 +26367,77 @@ msgstr "" "оказался вне допустимых рамок или произошла ошибка вычисления, например, " "деление на ноль." -#: tcop/postgres.c:3214 +#: tcop/postgres.c:3217 +#, c-format +msgid "terminating connection due to conflict with recovery" +msgstr "закрытие подключения из-за конфликта с процессом восстановления" + +#: tcop/postgres.c:3289 #, c-format msgid "canceling authentication due to timeout" msgstr "отмена проверки подлинности из-за тайм-аута" -#: tcop/postgres.c:3218 +#: tcop/postgres.c:3293 #, c-format msgid "terminating autovacuum process due to administrator command" msgstr "прекращение процесса автоочистки по команде администратора" -#: tcop/postgres.c:3222 +#: tcop/postgres.c:3297 #, c-format msgid "terminating logical replication worker due to administrator command" msgstr "завершение обработчика логической репликации по команде администратора" -#: tcop/postgres.c:3239 tcop/postgres.c:3249 tcop/postgres.c:3308 -#, c-format -msgid "terminating connection due to conflict with recovery" -msgstr "закрытие подключения из-за конфликта с процессом восстановления" - -#: tcop/postgres.c:3260 +#: tcop/postgres.c:3317 #, c-format msgid "terminating connection due to administrator command" msgstr "закрытие подключения по команде администратора" -#: tcop/postgres.c:3291 +#: tcop/postgres.c:3348 #, c-format msgid "connection to client lost" msgstr "подключение к клиенту потеряно" -#: tcop/postgres.c:3361 +#: tcop/postgres.c:3400 #, c-format msgid "canceling statement due to lock timeout" msgstr "выполнение оператора отменено из-за тайм-аута блокировки" -#: tcop/postgres.c:3368 +#: tcop/postgres.c:3407 #, c-format msgid "canceling statement due to statement timeout" msgstr "выполнение оператора отменено из-за тайм-аута" -#: tcop/postgres.c:3375 +#: tcop/postgres.c:3414 #, c-format msgid "canceling autovacuum task" msgstr "отмена задачи автоочистки" -#: tcop/postgres.c:3398 +#: tcop/postgres.c:3427 #, c-format msgid "canceling statement due to user request" msgstr "выполнение оператора отменено по запросу пользователя" -#: tcop/postgres.c:3412 +#: tcop/postgres.c:3448 #, c-format msgid "terminating connection due to idle-in-transaction timeout" msgstr "закрытие подключения из-за тайм-аута простоя в транзакции" -#: tcop/postgres.c:3423 +#: tcop/postgres.c:3461 +#, c-format +msgid "terminating connection due to transaction timeout" +msgstr "закрытие подключения из-за тайм-аута транзакции" + +#: tcop/postgres.c:3474 #, c-format msgid "terminating connection due to idle-session timeout" msgstr "закрытие подключения из-за тайм-аута простоя сеанса" -#: tcop/postgres.c:3514 +#: tcop/postgres.c:3564 #, c-format msgid "stack depth limit exceeded" msgstr "превышен предел глубины стека" -#: tcop/postgres.c:3515 +#: tcop/postgres.c:3565 #, c-format msgid "" "Increase the configuration parameter \"max_stack_depth\" (currently %dkB), " @@ -25283,12 +26447,12 @@ msgstr "" "КБ), предварительно убедившись, что ОС предоставляет достаточный размер " "стека." -#: tcop/postgres.c:3562 +#: tcop/postgres.c:3612 #, c-format msgid "\"max_stack_depth\" must not exceed %ldkB." msgstr "Значение \"max_stack_depth\" не должно превышать %ld КБ." -#: tcop/postgres.c:3564 +#: tcop/postgres.c:3614 #, c-format msgid "" "Increase the platform's stack depth limit via \"ulimit -s\" or local " @@ -25297,20 +26461,20 @@ msgstr "" "Увеличьте предел глубины стека в системе с помощью команды \"ulimit -s\" или " "эквивалента в вашей ОС." -#: tcop/postgres.c:3587 +#: tcop/postgres.c:3637 #, c-format -msgid "client_connection_check_interval must be set to 0 on this platform." +msgid "\"client_connection_check_interval\" must be set to 0 on this platform." msgstr "" -"Значение client_connection_check_interval должно равняться 0 на этой " +"Значение \"client_connection_check_interval\" должно равняться 0 на этой " "платформе." -#: tcop/postgres.c:3608 +#: tcop/postgres.c:3658 #, c-format msgid "Cannot enable parameter when \"log_statement_stats\" is true." msgstr "" "Этот параметр нельзя включить, когда \"log_statement_stats\" равен true." -#: tcop/postgres.c:3623 +#: tcop/postgres.c:3673 #, c-format msgid "" "Cannot enable \"log_statement_stats\" when \"log_parser_stats\", " @@ -25320,49 +26484,49 @@ msgstr "" "\"log_parser_stats\", \"log_planner_stats\" или \"log_executor_stats\" равны " "true." -#: tcop/postgres.c:3971 +#: tcop/postgres.c:4098 #, c-format msgid "invalid command-line argument for server process: %s" msgstr "неверный аргумент командной строки для серверного процесса: %s" -#: tcop/postgres.c:3972 tcop/postgres.c:3978 +#: tcop/postgres.c:4099 tcop/postgres.c:4105 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Для дополнительной информации попробуйте \"%s --help\"." -#: tcop/postgres.c:3976 +#: tcop/postgres.c:4103 #, c-format msgid "%s: invalid command-line argument: %s" msgstr "%s: неверный аргумент командной строки: %s" -#: tcop/postgres.c:4029 +#: tcop/postgres.c:4156 #, c-format msgid "%s: no database nor user name specified" msgstr "%s: не указаны ни база данных, ни пользователь" -#: tcop/postgres.c:4779 +#: tcop/postgres.c:4909 #, c-format msgid "invalid CLOSE message subtype %d" msgstr "неверный подтип сообщения CLOSE: %d" -#: tcop/postgres.c:4816 +#: tcop/postgres.c:4946 #, c-format msgid "invalid DESCRIBE message subtype %d" msgstr "неверный подтип сообщения DESCRIBE: %d" -#: tcop/postgres.c:4903 +#: tcop/postgres.c:5033 #, c-format msgid "fastpath function calls not supported in a replication connection" msgstr "" "вызовы функций через fastpath не поддерживаются для реплицирующих соединений" -#: tcop/postgres.c:4907 +#: tcop/postgres.c:5037 #, c-format msgid "extended query protocol not supported in a replication connection" msgstr "" "протокол расширенных запросов не поддерживается для реплицирующих соединений" -#: tcop/postgres.c:5087 +#: tcop/postgres.c:5217 #, c-format msgid "" "disconnection: session time: %d:%02d:%02d.%03d user=%s database=%s " @@ -25389,42 +26553,42 @@ msgid "Declare it with SCROLL option to enable backward scan." msgstr "Добавьте в его объявление SCROLL, чтобы он мог перемещаться назад." #. translator: %s is name of a SQL command, eg CREATE -#: tcop/utility.c:417 +#: tcop/utility.c:410 #, c-format msgid "cannot execute %s in a read-only transaction" msgstr "в транзакции в режиме \"только чтение\" нельзя выполнить %s" #. translator: %s is name of a SQL command, eg CREATE -#: tcop/utility.c:435 +#: tcop/utility.c:428 #, c-format msgid "cannot execute %s during a parallel operation" msgstr "выполнить %s во время параллельных операций нельзя" #. translator: %s is name of a SQL command, eg CREATE -#: tcop/utility.c:454 +#: tcop/utility.c:447 #, c-format msgid "cannot execute %s during recovery" msgstr "выполнить %s во время восстановления нельзя" #. translator: %s is name of a SQL command, eg PREPARE -#: tcop/utility.c:472 +#: tcop/utility.c:465 #, c-format msgid "cannot execute %s within security-restricted operation" msgstr "в рамках операции с ограничениями по безопасности нельзя выполнить %s" #. translator: %s is name of a SQL command, eg LISTEN -#: tcop/utility.c:828 +#: tcop/utility.c:821 #, c-format msgid "cannot execute %s within a background process" msgstr "выполнять %s в фоновом процессе нельзя" #. translator: %s is name of a SQL command, eg CHECKPOINT -#: tcop/utility.c:954 +#: tcop/utility.c:947 #, c-format msgid "permission denied to execute %s command" msgstr "нет прав для выполнения команды %s" -#: tcop/utility.c:956 +#: tcop/utility.c:949 #, c-format msgid "Only roles with privileges of the \"%s\" role may execute this command." msgstr "Выполнять эту команду могут только роли с правами роли \"%s\"." @@ -25579,13 +26743,13 @@ msgstr "неверный флаг аффиксов \"%s\" со значение msgid "could not open dictionary file \"%s\": %m" msgstr "не удалось открыть файл словаря \"%s\": %m" -#: tsearch/spell.c:749 utils/adt/regexp.c:224 jsonpath_gram.y:559 +#: tsearch/spell.c:749 utils/adt/regexp.c:223 jsonpath_gram.y:629 #, c-format msgid "invalid regular expression: %s" msgstr "неверное регулярное выражение: %s" #: tsearch/spell.c:963 tsearch/spell.c:980 tsearch/spell.c:997 -#: tsearch/spell.c:1014 tsearch/spell.c:1079 gram.y:18123 gram.y:18140 +#: tsearch/spell.c:1014 tsearch/spell.c:1079 gram.y:18735 gram.y:18752 #, c-format msgid "syntax error" msgstr "ошибка синтаксиса" @@ -25625,17 +26789,17 @@ msgstr "количество псевдонимов превышает зада msgid "affix file contains both old-style and new-style commands" msgstr "файл аффиксов содержит команды и в старом, и в новом стиле" -#: tsearch/to_tsany.c:195 utils/adt/tsvector.c:278 utils/adt/tsvector_op.c:1128 +#: tsearch/to_tsany.c:194 utils/adt/tsvector.c:277 utils/adt/tsvector_op.c:1126 #, c-format msgid "string is too long for tsvector (%d bytes, max %d bytes)" msgstr "строка слишком длинна для tsvector (%d Б, при максимуме %d)" -#: tsearch/ts_locale.c:238 +#: tsearch/ts_locale.c:236 #, c-format msgid "line %d of configuration file \"%s\": \"%s\"" msgstr "строка %d файла конфигурации \"%s\": \"%s\"" -#: tsearch/ts_locale.c:317 +#: tsearch/ts_locale.c:315 #, c-format msgid "conversion from wchar_t to server encoding failed: %m" msgstr "преобразовать wchar_t в кодировку сервера не удалось: %m" @@ -25662,37 +26826,37 @@ msgstr "неверное имя файла конфигурации тексто msgid "could not open stop-word file \"%s\": %m" msgstr "не удалось открыть файл стоп-слов \"%s\": %m" -#: tsearch/wparser.c:308 tsearch/wparser.c:396 tsearch/wparser.c:473 +#: tsearch/wparser.c:306 tsearch/wparser.c:394 tsearch/wparser.c:471 #, c-format msgid "text search parser does not support headline creation" msgstr "анализатор текстового поиска не поддерживает создание выдержек" -#: tsearch/wparser_def.c:2663 +#: tsearch/wparser_def.c:2664 #, c-format msgid "unrecognized headline parameter: \"%s\"" msgstr "нераспознанный параметр функции выдержки: \"%s\"" -#: tsearch/wparser_def.c:2673 +#: tsearch/wparser_def.c:2674 #, c-format msgid "MinWords should be less than MaxWords" msgstr "Значение MinWords должно быть меньше MaxWords" -#: tsearch/wparser_def.c:2677 +#: tsearch/wparser_def.c:2678 #, c-format msgid "MinWords should be positive" msgstr "Значение MinWords должно быть положительным" -#: tsearch/wparser_def.c:2681 +#: tsearch/wparser_def.c:2682 #, c-format msgid "ShortWord should be >= 0" msgstr "Значение ShortWord должно быть >= 0" -#: tsearch/wparser_def.c:2685 +#: tsearch/wparser_def.c:2686 #, c-format msgid "MaxFragments should be >= 0" msgstr "Значение MaxFragments должно быть >= 0" -#: utils/activity/pgstat.c:438 +#: utils/activity/pgstat.c:435 #, c-format msgid "could not unlink permanent statistics file \"%s\": %m" msgstr "ошибка удаления постоянного файла статистики \"%s\": %m" @@ -25738,115 +26902,125 @@ msgstr "файл статистики \"%s\" испорчен" msgid "function call to dropped function" msgstr "вызвана функция, которая была удалена" -#: utils/activity/pgstat_xact.c:363 +#: utils/activity/pgstat_xact.c:362 #, c-format msgid "resetting existing statistics for kind %s, db=%u, oid=%u" msgstr "сбрасывается существующая статистика вида %s, db=%u, oid=%u" -#: utils/adt/acl.c:177 utils/adt/name.c:93 +#: utils/activity/wait_event.c:207 utils/activity/wait_event.c:232 +#, c-format +msgid "wait event \"%s\" already exists in type \"%s\"" +msgstr "событие ожидания \"%s\" в типе \"%s\" уже существует" + +#: utils/activity/wait_event.c:246 +#, c-format +msgid "too many custom wait events" +msgstr "слишком много пользовательских событий ожидания" + +#: utils/adt/acl.c:183 utils/adt/name.c:93 #, c-format msgid "identifier too long" msgstr "слишком длинный идентификатор" -#: utils/adt/acl.c:178 utils/adt/name.c:94 +#: utils/adt/acl.c:184 utils/adt/name.c:94 #, c-format msgid "Identifier must be less than %d characters." msgstr "Идентификатор должен быть короче %d байт." -#: utils/adt/acl.c:266 +#: utils/adt/acl.c:272 #, c-format msgid "unrecognized key word: \"%s\"" msgstr "нераспознанное ключевое слово: \"%s\"" -#: utils/adt/acl.c:267 +#: utils/adt/acl.c:273 #, c-format msgid "ACL key word must be \"group\" or \"user\"." msgstr "Ключевым словом ACL должно быть \"group\" или \"user\"." -#: utils/adt/acl.c:275 +#: utils/adt/acl.c:281 #, c-format msgid "missing name" msgstr "отсутствует имя" -#: utils/adt/acl.c:276 +#: utils/adt/acl.c:282 #, c-format msgid "A name must follow the \"group\" or \"user\" key word." msgstr "За ключевыми словами \"group\" или \"user\" должно следовать имя." -#: utils/adt/acl.c:282 +#: utils/adt/acl.c:288 #, c-format msgid "missing \"=\" sign" msgstr "отсутствует знак \"=\"" -#: utils/adt/acl.c:341 +#: utils/adt/acl.c:350 #, c-format msgid "invalid mode character: must be one of \"%s\"" msgstr "неверный символ режима: должен быть один из \"%s\"" -#: utils/adt/acl.c:371 +#: utils/adt/acl.c:380 #, c-format msgid "a name must follow the \"/\" sign" msgstr "за знаком \"/\" должно следовать имя" -#: utils/adt/acl.c:383 +#: utils/adt/acl.c:392 #, c-format msgid "defaulting grantor to user ID %u" msgstr "назначившим права считается пользователь с ID %u" -#: utils/adt/acl.c:569 +#: utils/adt/acl.c:578 #, c-format msgid "ACL array contains wrong data type" msgstr "Массив ACL содержит неверный тип данных" -#: utils/adt/acl.c:573 +#: utils/adt/acl.c:582 #, c-format msgid "ACL arrays must be one-dimensional" msgstr "Массивы ACL должны быть одномерными" -#: utils/adt/acl.c:577 +#: utils/adt/acl.c:586 #, c-format msgid "ACL arrays must not contain null values" msgstr "Массивы ACL не должны содержать значения null" -#: utils/adt/acl.c:606 +#: utils/adt/acl.c:615 #, c-format msgid "extra garbage at the end of the ACL specification" msgstr "лишний мусор в конце спецификации ACL" -#: utils/adt/acl.c:1248 +#: utils/adt/acl.c:1263 #, c-format msgid "grant options cannot be granted back to your own grantor" msgstr "привилегию назначения прав нельзя вернуть тому, кто назначил её вам" -#: utils/adt/acl.c:1564 +#: utils/adt/acl.c:1579 #, c-format msgid "aclinsert is no longer supported" msgstr "aclinsert больше не поддерживается" -#: utils/adt/acl.c:1574 +#: utils/adt/acl.c:1589 #, c-format msgid "aclremove is no longer supported" msgstr "aclremove больше не поддерживается" -#: utils/adt/acl.c:1693 +#: utils/adt/acl.c:1709 #, c-format msgid "unrecognized privilege type: \"%s\"" msgstr "нераспознанный тип прав: \"%s\"" -#: utils/adt/acl.c:3476 utils/adt/regproc.c:100 utils/adt/regproc.c:265 +#: utils/adt/acl.c:3550 utils/adt/regproc.c:100 utils/adt/regproc.c:265 #, c-format msgid "function \"%s\" does not exist" msgstr "функция \"%s\" не существует" -#: utils/adt/acl.c:5023 +#: utils/adt/acl.c:5196 #, c-format msgid "must be able to SET ROLE \"%s\"" msgstr "нужны права для выполнения SET ROLE \"%s\"" #: utils/adt/array_userfuncs.c:102 utils/adt/array_userfuncs.c:489 -#: utils/adt/array_userfuncs.c:878 utils/adt/json.c:694 utils/adt/json.c:831 -#: utils/adt/json.c:869 utils/adt/jsonb.c:1139 utils/adt/jsonb.c:1211 -#: utils/adt/jsonb.c:1629 utils/adt/jsonb.c:1817 utils/adt/jsonb.c:1827 +#: utils/adt/array_userfuncs.c:866 utils/adt/json.c:602 utils/adt/json.c:740 +#: utils/adt/json.c:790 utils/adt/jsonb.c:1025 utils/adt/jsonb.c:1098 +#: utils/adt/jsonb.c:1530 utils/adt/jsonb.c:1718 utils/adt/jsonb.c:1728 #, c-format msgid "could not determine input data type" msgstr "не удалось определить тип входных данных" @@ -25857,17 +27031,17 @@ msgid "input data type is not an array" msgstr "тип входных данных не является массивом" #: utils/adt/array_userfuncs.c:151 utils/adt/array_userfuncs.c:203 -#: utils/adt/float.c:1228 utils/adt/float.c:1302 utils/adt/float.c:4117 -#: utils/adt/float.c:4155 utils/adt/int.c:778 utils/adt/int.c:800 +#: utils/adt/float.c:1222 utils/adt/float.c:1296 utils/adt/float.c:4022 +#: utils/adt/float.c:4060 utils/adt/int.c:778 utils/adt/int.c:800 #: utils/adt/int.c:814 utils/adt/int.c:828 utils/adt/int.c:859 #: utils/adt/int.c:880 utils/adt/int.c:997 utils/adt/int.c:1011 #: 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:1272 utils/adt/numeric.c:1901 utils/adt/numeric.c:4388 -#: utils/adt/rangetypes.c:1481 utils/adt/rangetypes.c:1494 -#: utils/adt/varbit.c:1195 utils/adt/varbit.c:1596 utils/adt/varlena.c:1132 -#: utils/adt/varlena.c:3134 +#: utils/adt/int8.c:1256 utils/adt/numeric.c:1917 utils/adt/numeric.c:4454 +#: 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 #, c-format msgid "integer out of range" msgstr "целое вне диапазона" @@ -25907,188 +27081,199 @@ msgstr "Массивы с разными размерностями элемен msgid "Arrays with differing dimensions are not compatible for concatenation." msgstr "Массивы с разными размерностями несовместимы для соединения." -#: utils/adt/array_userfuncs.c:987 utils/adt/array_userfuncs.c:995 -#: utils/adt/arrayfuncs.c:5639 utils/adt/arrayfuncs.c:5645 +#: utils/adt/array_userfuncs.c:975 utils/adt/array_userfuncs.c:983 +#: utils/adt/arrayfuncs.c:5616 utils/adt/arrayfuncs.c:5622 #, c-format msgid "cannot accumulate arrays of different dimensionality" msgstr "аккумулировать массивы различной размерности нельзя" -#: utils/adt/array_userfuncs.c:1286 utils/adt/array_userfuncs.c:1440 +#: utils/adt/array_userfuncs.c:1272 utils/adt/array_userfuncs.c:1426 #, c-format msgid "searching for elements in multidimensional arrays is not supported" msgstr "поиск элементов в многомерных массивах не поддерживается" -#: utils/adt/array_userfuncs.c:1315 +#: utils/adt/array_userfuncs.c:1301 #, c-format msgid "initial position must not be null" msgstr "начальная позиция не может быть NULL" -#: utils/adt/array_userfuncs.c:1688 +#: utils/adt/array_userfuncs.c:1674 #, c-format msgid "sample size must be between 0 and %d" msgstr "размер выборки должен задаваться числом от 0 до %d" -#: utils/adt/arrayfuncs.c:274 utils/adt/arrayfuncs.c:288 -#: utils/adt/arrayfuncs.c:299 utils/adt/arrayfuncs.c:321 -#: utils/adt/arrayfuncs.c:338 utils/adt/arrayfuncs.c:352 -#: utils/adt/arrayfuncs.c:360 utils/adt/arrayfuncs.c:367 -#: utils/adt/arrayfuncs.c:507 utils/adt/arrayfuncs.c:522 -#: utils/adt/arrayfuncs.c:533 utils/adt/arrayfuncs.c:548 -#: utils/adt/arrayfuncs.c:569 utils/adt/arrayfuncs.c:599 -#: utils/adt/arrayfuncs.c:606 utils/adt/arrayfuncs.c:614 -#: utils/adt/arrayfuncs.c:648 utils/adt/arrayfuncs.c:671 -#: utils/adt/arrayfuncs.c:691 utils/adt/arrayfuncs.c:808 -#: utils/adt/arrayfuncs.c:817 utils/adt/arrayfuncs.c:847 -#: utils/adt/arrayfuncs.c:862 utils/adt/arrayfuncs.c:915 +#: utils/adt/arrayfuncs.c:264 utils/adt/arrayfuncs.c:273 +#: utils/adt/arrayfuncs.c:284 utils/adt/arrayfuncs.c:307 +#: utils/adt/arrayfuncs.c:440 utils/adt/arrayfuncs.c:454 +#: utils/adt/arrayfuncs.c:466 utils/adt/arrayfuncs.c:636 +#: utils/adt/arrayfuncs.c:668 utils/adt/arrayfuncs.c:703 +#: utils/adt/arrayfuncs.c:718 utils/adt/arrayfuncs.c:777 +#: utils/adt/arrayfuncs.c:782 utils/adt/arrayfuncs.c:870 +#: utils/adt/arrayfuncs.c:897 utils/adt/arrayfuncs.c:904 +#: utils/adt/arrayfuncs.c:941 #, c-format msgid "malformed array literal: \"%s\"" msgstr "ошибочный литерал массива: \"%s\"" -#: utils/adt/arrayfuncs.c:275 +#: utils/adt/arrayfuncs.c:265 #, c-format -msgid "\"[\" must introduce explicitly-specified array dimensions." -msgstr "За \"[\" должны следовать явно задаваемые размерности массива." - -#: utils/adt/arrayfuncs.c:289 -#, c-format -msgid "Missing array dimension value." -msgstr "Отсутствует значение размерности массива." +msgid "Array value must start with \"{\" or dimension information." +msgstr "Значение массива должно начинаться с \"{\" или указания размерности." -#: utils/adt/arrayfuncs.c:300 utils/adt/arrayfuncs.c:339 +#: utils/adt/arrayfuncs.c:274 utils/adt/arrayfuncs.c:467 #, c-format msgid "Missing \"%s\" after array dimensions." msgstr "После размерностей массива отсутствует \"%s\"." -#: utils/adt/arrayfuncs.c:309 utils/adt/arrayfuncs.c:2969 -#: utils/adt/arrayfuncs.c:3014 utils/adt/arrayfuncs.c:3029 +#: utils/adt/arrayfuncs.c:285 #, c-format -msgid "upper bound cannot be less than lower bound" -msgstr "верхняя граница не может быть меньше нижней" +msgid "Array contents must start with \"{\"." +msgstr "Содержимое массива должно начинаться с \"{\"." -#: utils/adt/arrayfuncs.c:322 +#: utils/adt/arrayfuncs.c:308 utils/adt/multirangetypes.c:292 #, c-format -msgid "Array value must start with \"{\" or dimension information." -msgstr "Значение массива должно начинаться с \"{\" или указания размерности." +msgid "Junk after closing right brace." +msgstr "Мусор после закрывающей фигурной скобки." -#: utils/adt/arrayfuncs.c:353 +#: utils/adt/arrayfuncs.c:431 utils/adt/arrayfuncs.c:643 #, c-format -msgid "Array contents must start with \"{\"." -msgstr "Содержимое массива должно начинаться с \"{\"." +msgid "number of array dimensions exceeds the maximum allowed (%d)" +msgstr "число размерностей массива превышает предел (%d)" -#: utils/adt/arrayfuncs.c:361 utils/adt/arrayfuncs.c:368 +#: utils/adt/arrayfuncs.c:441 #, c-format -msgid "Specified array dimensions do not match array contents." -msgstr "Указанные размерности массива не соответствуют его содержимому." +msgid "\"[\" must introduce explicitly-specified array dimensions." +msgstr "За \"[\" должны следовать явно задаваемые размерности массива." -#: utils/adt/arrayfuncs.c:508 utils/adt/arrayfuncs.c:534 -#: utils/adt/multirangetypes.c:166 utils/adt/rangetypes.c:2405 -#: utils/adt/rangetypes.c:2413 utils/adt/rowtypes.c:219 -#: utils/adt/rowtypes.c:230 +#: utils/adt/arrayfuncs.c:455 #, c-format -msgid "Unexpected end of input." -msgstr "Неожиданный конец ввода." +msgid "Missing array dimension value." +msgstr "Отсутствует значение размерности массива." + +#: utils/adt/arrayfuncs.c:481 utils/adt/arrayfuncs.c:2940 +#: utils/adt/arrayfuncs.c:2985 utils/adt/arrayfuncs.c:3000 +#, c-format +msgid "upper bound cannot be less than lower bound" +msgstr "верхняя граница не может быть меньше нижней" + +#: utils/adt/arrayfuncs.c:487 +#, c-format +msgid "array upper bound is too large: %d" +msgstr "верхняя граница массива слишком велика: %d" -#: utils/adt/arrayfuncs.c:523 utils/adt/arrayfuncs.c:570 -#: utils/adt/arrayfuncs.c:600 utils/adt/arrayfuncs.c:649 +#: utils/adt/arrayfuncs.c:538 +#, c-format +msgid "array bound is out of integer range" +msgstr "граница массива вне целочисленного диапазона" + +#: utils/adt/arrayfuncs.c:637 utils/adt/arrayfuncs.c:669 +#: utils/adt/arrayfuncs.c:704 utils/adt/arrayfuncs.c:898 #, c-format msgid "Unexpected \"%c\" character." msgstr "Неожиданный знак \"%c\"." -#: utils/adt/arrayfuncs.c:549 utils/adt/arrayfuncs.c:672 +#: utils/adt/arrayfuncs.c:719 #, c-format msgid "Unexpected array element." msgstr "Неожиданный элемент массива." -#: utils/adt/arrayfuncs.c:607 +#: utils/adt/arrayfuncs.c:778 #, c-format -msgid "Unmatched \"%c\" character." -msgstr "Непарный знак \"%c\"." +msgid "Specified array dimensions do not match array contents." +msgstr "Указанные размерности массива не соответствуют его содержимому." -#: utils/adt/arrayfuncs.c:615 utils/adt/jsonfuncs.c:2553 +#: utils/adt/arrayfuncs.c:783 utils/adt/jsonfuncs.c:2598 #, c-format msgid "Multidimensional arrays must have sub-arrays with matching dimensions." msgstr "" "Для многомерных массивов должны задаваться вложенные массивы с " "соответствующими размерностями." -#: utils/adt/arrayfuncs.c:692 utils/adt/multirangetypes.c:293 +#: utils/adt/arrayfuncs.c:871 utils/adt/arrayfuncs.c:905 #, c-format -msgid "Junk after closing right brace." -msgstr "Мусор после закрывающей фигурной скобки." +msgid "Incorrectly quoted array element." +msgstr "Элемент массива заключён в кавычки некорректно." + +#: utils/adt/arrayfuncs.c:942 utils/adt/multirangetypes.c:165 +#: utils/adt/rangetypes.c:2464 utils/adt/rangetypes.c:2472 +#: utils/adt/rowtypes.c:218 utils/adt/rowtypes.c:229 +#, c-format +msgid "Unexpected end of input." +msgstr "Неожиданный конец ввода." -#: utils/adt/arrayfuncs.c:1326 utils/adt/arrayfuncs.c:3528 -#: utils/adt/arrayfuncs.c:6129 +#: utils/adt/arrayfuncs.c:1301 utils/adt/arrayfuncs.c:3499 +#: utils/adt/arrayfuncs.c:6106 #, c-format msgid "invalid number of dimensions: %d" msgstr "неверное число размерностей: %d" -#: utils/adt/arrayfuncs.c:1337 +#: utils/adt/arrayfuncs.c:1312 #, c-format msgid "invalid array flags" msgstr "неверные флаги массива" -#: utils/adt/arrayfuncs.c:1359 +#: utils/adt/arrayfuncs.c:1334 #, c-format msgid "binary data has array element type %u (%s) instead of expected %u (%s)" msgstr "" "с бинарными данными связан тип элемента массива %u (%s) вместо ожидаемого %u " "(%s)" -#: utils/adt/arrayfuncs.c:1403 utils/adt/multirangetypes.c:451 -#: utils/adt/rangetypes.c:344 utils/cache/lsyscache.c:2916 +#: utils/adt/arrayfuncs.c:1378 utils/adt/multirangetypes.c:450 +#: utils/adt/rangetypes.c:351 utils/cache/lsyscache.c:2958 #, c-format msgid "no binary input function available for type %s" msgstr "для типа %s нет функции ввода двоичных данных" -#: utils/adt/arrayfuncs.c:1543 +#: utils/adt/arrayfuncs.c:1509 #, c-format msgid "improper binary format in array element %d" msgstr "неподходящий двоичный формат в элементе массива %d" -#: utils/adt/arrayfuncs.c:1624 utils/adt/multirangetypes.c:456 -#: utils/adt/rangetypes.c:349 utils/cache/lsyscache.c:2949 +#: utils/adt/arrayfuncs.c:1588 utils/adt/multirangetypes.c:455 +#: utils/adt/rangetypes.c:356 utils/cache/lsyscache.c:2991 #, c-format msgid "no binary output function available for type %s" msgstr "для типа %s нет функции вывода двоичных данных" -#: utils/adt/arrayfuncs.c:2103 +#: utils/adt/arrayfuncs.c:2067 #, c-format msgid "slices of fixed-length arrays not implemented" msgstr "разрезание массивов постоянной длины не поддерживается" -#: utils/adt/arrayfuncs.c:2281 utils/adt/arrayfuncs.c:2303 -#: utils/adt/arrayfuncs.c:2352 utils/adt/arrayfuncs.c:2606 -#: utils/adt/arrayfuncs.c:2944 utils/adt/arrayfuncs.c:6115 -#: utils/adt/arrayfuncs.c:6141 utils/adt/arrayfuncs.c:6152 -#: utils/adt/json.c:1497 utils/adt/json.c:1569 utils/adt/jsonb.c:1416 -#: utils/adt/jsonb.c:1500 utils/adt/jsonfuncs.c:4434 utils/adt/jsonfuncs.c:4587 -#: utils/adt/jsonfuncs.c:4698 utils/adt/jsonfuncs.c:4746 +#: utils/adt/arrayfuncs.c:2245 utils/adt/arrayfuncs.c:2267 +#: utils/adt/arrayfuncs.c:2316 utils/adt/arrayfuncs.c:2570 +#: utils/adt/arrayfuncs.c:2915 utils/adt/arrayfuncs.c:6092 +#: utils/adt/arrayfuncs.c:6118 utils/adt/arrayfuncs.c:6129 +#: utils/adt/json.c:1433 utils/adt/json.c:1505 utils/adt/jsonb.c:1317 +#: utils/adt/jsonb.c:1401 utils/adt/jsonfuncs.c:4710 utils/adt/jsonfuncs.c:4863 +#: utils/adt/jsonfuncs.c:4974 utils/adt/jsonfuncs.c:5022 #, c-format msgid "wrong number of array subscripts" msgstr "неверное число индексов массива" -#: utils/adt/arrayfuncs.c:2286 utils/adt/arrayfuncs.c:2410 -#: utils/adt/arrayfuncs.c:2689 utils/adt/arrayfuncs.c:3019 +#: utils/adt/arrayfuncs.c:2250 utils/adt/arrayfuncs.c:2374 +#: utils/adt/arrayfuncs.c:2653 utils/adt/arrayfuncs.c:2990 #, c-format msgid "array subscript out of range" msgstr "индекс массива вне диапазона" -#: utils/adt/arrayfuncs.c:2291 +#: utils/adt/arrayfuncs.c:2255 #, c-format msgid "cannot assign null value to an element of a fixed-length array" msgstr "нельзя присвоить значение null элементу массива фиксированной длины" -#: utils/adt/arrayfuncs.c:2891 +#: utils/adt/arrayfuncs.c:2855 #, c-format msgid "updates on slices of fixed-length arrays not implemented" msgstr "изменения в срезах массивов фиксированной длины не поддерживаются" -#: utils/adt/arrayfuncs.c:2922 +#: utils/adt/arrayfuncs.c:2886 #, c-format msgid "array slice subscript must provide both boundaries" msgstr "в указании среза массива должны быть заданы обе границы" -#: utils/adt/arrayfuncs.c:2923 +#: utils/adt/arrayfuncs.c:2887 #, c-format msgid "" "When assigning to a slice of an empty array value, slice boundaries must be " @@ -26097,85 +27282,85 @@ msgstr "" "При присвоении значений срезу в пустом массиве, должны полностью задаваться " "обе границы." -#: utils/adt/arrayfuncs.c:2934 utils/adt/arrayfuncs.c:3046 +#: utils/adt/arrayfuncs.c:2905 utils/adt/arrayfuncs.c:3017 #, c-format msgid "source array too small" msgstr "исходный массив слишком мал" -#: utils/adt/arrayfuncs.c:3686 +#: utils/adt/arrayfuncs.c:3657 #, c-format msgid "null array element not allowed in this context" msgstr "элемент массива null недопустим в данном контексте" -#: utils/adt/arrayfuncs.c:3857 utils/adt/arrayfuncs.c:4028 -#: utils/adt/arrayfuncs.c:4419 +#: utils/adt/arrayfuncs.c:3828 utils/adt/arrayfuncs.c:3999 +#: utils/adt/arrayfuncs.c:4390 #, c-format msgid "cannot compare arrays of different element types" msgstr "нельзя сравнивать массивы с элементами разных типов" -#: utils/adt/arrayfuncs.c:4206 utils/adt/multirangetypes.c:2806 -#: utils/adt/multirangetypes.c:2878 utils/adt/rangetypes.c:1354 -#: utils/adt/rangetypes.c:1418 utils/adt/rowtypes.c:1885 +#: utils/adt/arrayfuncs.c:4177 utils/adt/multirangetypes.c:2805 +#: utils/adt/multirangetypes.c:2877 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" msgstr "не удалось найти функцию хеширования для типа %s" -#: utils/adt/arrayfuncs.c:4334 utils/adt/rowtypes.c:2006 +#: utils/adt/arrayfuncs.c:4305 utils/adt/rowtypes.c:1996 #, c-format msgid "could not identify an extended hash function for type %s" msgstr "не удалось найти функцию расширенного хеширования для типа %s" -#: utils/adt/arrayfuncs.c:5529 +#: utils/adt/arrayfuncs.c:5506 #, c-format msgid "data type %s is not an array type" msgstr "тип данных %s не является типом массива" -#: utils/adt/arrayfuncs.c:5584 +#: utils/adt/arrayfuncs.c:5561 #, c-format msgid "cannot accumulate null arrays" msgstr "аккумулировать NULL-массивы нельзя" -#: utils/adt/arrayfuncs.c:5612 +#: utils/adt/arrayfuncs.c:5589 #, c-format msgid "cannot accumulate empty arrays" msgstr "аккумулировать пустые массивы нельзя" -#: utils/adt/arrayfuncs.c:6013 utils/adt/arrayfuncs.c:6053 +#: utils/adt/arrayfuncs.c:5990 utils/adt/arrayfuncs.c:6030 #, c-format msgid "dimension array or low bound array cannot be null" msgstr "массив размерностей или массив нижних границ не может быть null" -#: utils/adt/arrayfuncs.c:6116 utils/adt/arrayfuncs.c:6142 +#: utils/adt/arrayfuncs.c:6093 utils/adt/arrayfuncs.c:6119 #, c-format msgid "Dimension array must be one dimensional." msgstr "Массив размерностей должен быть одномерным." -#: utils/adt/arrayfuncs.c:6121 utils/adt/arrayfuncs.c:6147 +#: utils/adt/arrayfuncs.c:6098 utils/adt/arrayfuncs.c:6124 #, c-format msgid "dimension values cannot be null" msgstr "значения размерностей не могут быть null" -#: utils/adt/arrayfuncs.c:6153 +#: utils/adt/arrayfuncs.c:6130 #, c-format msgid "Low bound array has different size than dimensions array." msgstr "Массив нижних границ и массив размерностей имеют разные размеры." -#: utils/adt/arrayfuncs.c:6431 +#: utils/adt/arrayfuncs.c:6411 #, c-format msgid "removing elements from multidimensional arrays is not supported" msgstr "удаление элементов из многомерных массивов не поддерживается" -#: utils/adt/arrayfuncs.c:6708 +#: utils/adt/arrayfuncs.c:6688 #, c-format msgid "thresholds must be one-dimensional array" msgstr "границы должны задаваться одномерным массивом" -#: utils/adt/arrayfuncs.c:6713 +#: utils/adt/arrayfuncs.c:6693 #, c-format msgid "thresholds array must not contain NULLs" msgstr "массив границ не должен содержать NULL" -#: utils/adt/arrayfuncs.c:6946 +#: utils/adt/arrayfuncs.c:6926 #, c-format msgid "number of elements to trim must be between 0 and %d" msgstr "число удаляемых элементов должно быть от 0 до %d" @@ -26190,22 +27375,22 @@ msgstr "индекс элемента массива должен быть це msgid "array subscript in assignment must not be null" msgstr "индекс элемента массива в присваивании не может быть NULL" -#: utils/adt/arrayutils.c:155 +#: utils/adt/arrayutils.c:140 #, c-format msgid "array lower bound is too large: %d" msgstr "нижняя граница массива слишком велика: %d" -#: utils/adt/arrayutils.c:257 +#: utils/adt/arrayutils.c:242 #, c-format msgid "typmod array must be type cstring[]" msgstr "массив typmod должен иметь тип cstring[]" -#: utils/adt/arrayutils.c:262 +#: utils/adt/arrayutils.c:247 #, c-format msgid "typmod array must be one-dimensional" msgstr "массив typmod должен быть одномерным" -#: utils/adt/arrayutils.c:267 +#: utils/adt/arrayutils.c:252 #, c-format msgid "typmod array must not contain nulls" msgstr "массив typmod не должен содержать элементы null" @@ -26216,48 +27401,52 @@ msgid "encoding conversion from %s to ASCII not supported" msgstr "преобразование кодировки из %s в ASCII не поддерживается" #. translator: first %s is inet or cidr -#: utils/adt/bool.c:153 utils/adt/cash.c:277 utils/adt/datetime.c:4017 -#: utils/adt/float.c:206 utils/adt/float.c:293 utils/adt/float.c:307 -#: utils/adt/float.c:412 utils/adt/float.c:495 utils/adt/float.c:509 +#: utils/adt/bool.c:149 utils/adt/cash.c:354 utils/adt/datetime.c:4142 +#: utils/adt/float.c:200 utils/adt/float.c:287 utils/adt/float.c:301 +#: utils/adt/float.c:406 utils/adt/float.c:489 utils/adt/float.c:503 #: utils/adt/geo_ops.c:250 utils/adt/geo_ops.c:335 utils/adt/geo_ops.c:974 #: utils/adt/geo_ops.c:1417 utils/adt/geo_ops.c:1454 utils/adt/geo_ops.c:1462 #: 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:183 utils/adt/mac.c:94 utils/adt/mac8.c:225 -#: utils/adt/network.c:99 utils/adt/numeric.c:795 utils/adt/numeric.c:7136 -#: utils/adt/numeric.c:7339 utils/adt/numeric.c:8286 utils/adt/numutils.c:357 -#: utils/adt/numutils.c:619 utils/adt/numutils.c:881 utils/adt/numutils.c:920 -#: utils/adt/numutils.c:942 utils/adt/numutils.c:1006 utils/adt/numutils.c:1028 -#: utils/adt/pg_lsn.c:74 utils/adt/tid.c:72 utils/adt/tid.c:80 -#: utils/adt/tid.c:94 utils/adt/tid.c:103 utils/adt/timestamp.c:494 -#: utils/adt/uuid.c:135 utils/adt/xid8funcs.c:362 +#: 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/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 +#: utils/adt/tid.c:94 utils/adt/tid.c:103 utils/adt/timestamp.c:510 +#: utils/adt/uuid.c:140 utils/adt/xid8funcs.c:360 #, c-format msgid "invalid input syntax for type %s: \"%s\"" msgstr "неверный синтаксис для типа %s: \"%s\"" -#: utils/adt/cash.c:215 utils/adt/cash.c:240 utils/adt/cash.c:250 -#: utils/adt/cash.c:290 utils/adt/int.c:180 utils/adt/numutils.c:351 -#: utils/adt/numutils.c:613 utils/adt/numutils.c:875 utils/adt/numutils.c:926 -#: utils/adt/numutils.c:965 utils/adt/numutils.c:1012 +#: utils/adt/cash.c:98 utils/adt/cash.c:111 utils/adt/cash.c:124 +#: utils/adt/cash.c:137 utils/adt/cash.c:150 #, c-format -msgid "value \"%s\" is out of range for type %s" -msgstr "значение \"%s\" вне диапазона для типа %s" +msgid "money out of range" +msgstr "денежное значение вне диапазона" -#: utils/adt/cash.c:652 utils/adt/cash.c:702 utils/adt/cash.c:753 -#: utils/adt/cash.c:802 utils/adt/cash.c:854 utils/adt/cash.c:904 -#: utils/adt/float.c:105 utils/adt/int.c:843 utils/adt/int.c:959 -#: utils/adt/int.c:1039 utils/adt/int.c:1101 utils/adt/int.c:1139 -#: utils/adt/int.c:1167 utils/adt/int8.c:515 utils/adt/int8.c:573 -#: utils/adt/int8.c:958 utils/adt/int8.c:1038 utils/adt/int8.c:1100 -#: utils/adt/int8.c:1180 utils/adt/numeric.c:3175 utils/adt/numeric.c:3198 -#: utils/adt/numeric.c:3283 utils/adt/numeric.c:3301 utils/adt/numeric.c:3397 -#: utils/adt/numeric.c:8835 utils/adt/numeric.c:9148 utils/adt/numeric.c:9496 -#: utils/adt/numeric.c:9612 utils/adt/numeric.c:11122 -#: utils/adt/timestamp.c:3442 +#: utils/adt/cash.c:161 utils/adt/cash.c:723 utils/adt/float.c:99 +#: utils/adt/int.c:843 utils/adt/int.c:959 utils/adt/int.c:1039 +#: 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 #, c-format msgid "division by zero" msgstr "деление на ноль" +#: utils/adt/cash.c:292 utils/adt/cash.c:317 utils/adt/cash.c:327 +#: utils/adt/cash.c:367 utils/adt/int.c:180 utils/adt/numutils.c:350 +#: utils/adt/numutils.c:612 utils/adt/numutils.c:874 utils/adt/numutils.c:925 +#: utils/adt/numutils.c:964 utils/adt/numutils.c:1011 +#, c-format +msgid "value \"%s\" is out of range for type %s" +msgstr "значение \"%s\" вне диапазона для типа %s" + #: utils/adt/char.c:197 #, c-format msgid "\"char\" out of range" @@ -26268,164 +27457,187 @@ msgstr "значение \"char\" вне диапазона" msgid "could not compute %s hash: %s" msgstr "не удалось вычислить хеш %s: %s" -#: utils/adt/date.c:63 utils/adt/timestamp.c:100 utils/adt/varbit.c:105 -#: utils/adt/varchar.c:49 +#: utils/adt/date.c:64 utils/adt/timestamp.c:116 utils/adt/varbit.c:105 +#: utils/adt/varchar.c:48 #, c-format msgid "invalid type modifier" msgstr "неверный модификатор типа" -#: utils/adt/date.c:75 +#: utils/adt/date.c:76 #, c-format msgid "TIME(%d)%s precision must not be negative" msgstr "TIME(%d)%s: точность должна быть неотрицательной" -#: utils/adt/date.c:81 +#: utils/adt/date.c:82 #, c-format msgid "TIME(%d)%s precision reduced to maximum allowed, %d" msgstr "TIME(%d)%s: точность уменьшена до дозволенного максимума: %d" -#: utils/adt/date.c:166 utils/adt/date.c:174 utils/adt/formatting.c:4241 -#: utils/adt/formatting.c:4250 utils/adt/formatting.c:4363 -#: utils/adt/formatting.c:4373 +#: utils/adt/date.c:167 utils/adt/date.c:175 utils/adt/formatting.c:4424 +#: utils/adt/formatting.c:4433 utils/adt/formatting.c:4538 +#: utils/adt/formatting.c:4548 #, c-format msgid "date out of range: \"%s\"" msgstr "дата вне диапазона: \"%s\"" -#: utils/adt/date.c:221 utils/adt/date.c:519 utils/adt/date.c:543 -#: utils/adt/rangetypes.c:1577 utils/adt/rangetypes.c:1592 utils/adt/xml.c:2470 +#: 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 #, c-format msgid "date out of range" msgstr "дата вне диапазона" -#: utils/adt/date.c:267 utils/adt/timestamp.c:582 +#: utils/adt/date.c:268 utils/adt/timestamp.c:598 #, c-format msgid "date field value out of range: %d-%02d-%02d" msgstr "значение поля типа date вне диапазона: %d-%02d-%02d" -#: utils/adt/date.c:274 utils/adt/date.c:283 utils/adt/timestamp.c:588 +#: utils/adt/date.c:275 utils/adt/date.c:284 utils/adt/timestamp.c:604 #, c-format msgid "date out of range: %d-%02d-%02d" msgstr "дата вне диапазона: %d-%02d-%02d" -#: utils/adt/date.c:494 +#: utils/adt/date.c:495 #, c-format msgid "cannot subtract infinite dates" msgstr "вычитать бесконечные даты нельзя" -#: utils/adt/date.c:592 utils/adt/date.c:655 utils/adt/date.c:691 -#: utils/adt/date.c:2885 utils/adt/date.c:2895 +#: utils/adt/date.c:593 utils/adt/date.c:656 utils/adt/date.c:692 +#: utils/adt/date.c:2906 utils/adt/date.c:2916 #, c-format msgid "date out of range for timestamp" msgstr "дата вне диапазона для типа timestamp" -#: utils/adt/date.c:1121 utils/adt/date.c:1204 utils/adt/date.c:1220 -#: utils/adt/date.c:2206 utils/adt/date.c:2990 utils/adt/timestamp.c:4172 -#: utils/adt/timestamp.c:4382 utils/adt/timestamp.c:4524 -#: utils/adt/timestamp.c:4777 utils/adt/timestamp.c:4978 -#: utils/adt/timestamp.c:5025 utils/adt/timestamp.c:5249 -#: utils/adt/timestamp.c:5296 utils/adt/timestamp.c:5426 +#: utils/adt/date.c:1122 utils/adt/date.c:1205 utils/adt/date.c:1221 +#: utils/adt/date.c:2215 utils/adt/date.c:3011 utils/adt/timestamp.c:4726 +#: utils/adt/timestamp.c:4941 utils/adt/timestamp.c:5089 +#: utils/adt/timestamp.c:5342 utils/adt/timestamp.c:5543 +#: utils/adt/timestamp.c:5590 utils/adt/timestamp.c:5814 +#: utils/adt/timestamp.c:5861 utils/adt/timestamp.c:5941 +#: utils/adt/timestamp.c:6070 #, c-format msgid "unit \"%s\" not supported for type %s" msgstr "единица \"%s\" для типа %s не поддерживается" -#: utils/adt/date.c:1229 utils/adt/date.c:2222 utils/adt/date.c:3010 -#: utils/adt/timestamp.c:4186 utils/adt/timestamp.c:4399 -#: utils/adt/timestamp.c:4538 utils/adt/timestamp.c:4737 -#: utils/adt/timestamp.c:5034 utils/adt/timestamp.c:5305 -#: utils/adt/timestamp.c:5487 +#: utils/adt/date.c:1230 utils/adt/date.c:2231 utils/adt/date.c:3031 +#: utils/adt/timestamp.c:4740 utils/adt/timestamp.c:4958 +#: utils/adt/timestamp.c:5103 utils/adt/timestamp.c:5302 +#: utils/adt/timestamp.c:5599 utils/adt/timestamp.c:5870 +#: utils/adt/timestamp.c:5911 utils/adt/timestamp.c:6131 #, c-format msgid "unit \"%s\" not recognized for type %s" msgstr "единица \"%s\" для типа %s не распознана" -#: utils/adt/date.c:1313 utils/adt/date.c:1359 utils/adt/date.c:1918 -#: utils/adt/date.c:1949 utils/adt/date.c:1978 utils/adt/date.c:2848 -#: utils/adt/date.c:3080 utils/adt/datetime.c:424 utils/adt/datetime.c:1809 -#: utils/adt/formatting.c:4081 utils/adt/formatting.c:4117 -#: utils/adt/formatting.c:4210 utils/adt/formatting.c:4339 utils/adt/json.c:467 -#: utils/adt/json.c:506 utils/adt/timestamp.c:232 utils/adt/timestamp.c:264 -#: utils/adt/timestamp.c:700 utils/adt/timestamp.c:709 -#: utils/adt/timestamp.c:787 utils/adt/timestamp.c:820 -#: utils/adt/timestamp.c:2933 utils/adt/timestamp.c:2938 -#: utils/adt/timestamp.c:2957 utils/adt/timestamp.c:2970 -#: utils/adt/timestamp.c:2981 utils/adt/timestamp.c:2987 -#: utils/adt/timestamp.c:2993 utils/adt/timestamp.c:2998 -#: utils/adt/timestamp.c:3059 utils/adt/timestamp.c:3064 -#: utils/adt/timestamp.c:3085 utils/adt/timestamp.c:3098 -#: utils/adt/timestamp.c:3112 utils/adt/timestamp.c:3120 -#: utils/adt/timestamp.c:3126 utils/adt/timestamp.c:3131 -#: utils/adt/timestamp.c:3859 utils/adt/timestamp.c:3983 -#: utils/adt/timestamp.c:4054 utils/adt/timestamp.c:4090 -#: utils/adt/timestamp.c:4180 utils/adt/timestamp.c:4254 -#: utils/adt/timestamp.c:4290 utils/adt/timestamp.c:4393 -#: utils/adt/timestamp.c:4842 utils/adt/timestamp.c:5116 -#: utils/adt/timestamp.c:5555 utils/adt/timestamp.c:5565 -#: utils/adt/timestamp.c:5570 utils/adt/timestamp.c:5576 -#: utils/adt/timestamp.c:5609 utils/adt/timestamp.c:5696 -#: utils/adt/timestamp.c:5737 utils/adt/timestamp.c:5741 -#: utils/adt/timestamp.c:5795 utils/adt/timestamp.c:5799 -#: utils/adt/timestamp.c:5805 utils/adt/timestamp.c:5839 utils/adt/xml.c:2492 -#: utils/adt/xml.c:2499 utils/adt/xml.c:2519 utils/adt/xml.c:2526 +#: utils/adt/date.c:1314 utils/adt/date.c:1360 utils/adt/date.c:1919 +#: utils/adt/date.c:1950 utils/adt/date.c:1979 utils/adt/date.c:2869 +#: utils/adt/date.c:3101 utils/adt/datetime.c:422 utils/adt/datetime.c:1807 +#: utils/adt/formatting.c:4269 utils/adt/formatting.c:4305 +#: utils/adt/formatting.c:4392 utils/adt/formatting.c:4514 utils/adt/json.c:366 +#: utils/adt/json.c:405 utils/adt/timestamp.c:248 utils/adt/timestamp.c:280 +#: utils/adt/timestamp.c:716 utils/adt/timestamp.c:725 +#: utils/adt/timestamp.c:803 utils/adt/timestamp.c:836 +#: utils/adt/timestamp.c:3066 utils/adt/timestamp.c:3075 +#: utils/adt/timestamp.c:3092 utils/adt/timestamp.c:3097 +#: utils/adt/timestamp.c:3116 utils/adt/timestamp.c:3129 +#: utils/adt/timestamp.c:3140 utils/adt/timestamp.c:3146 +#: utils/adt/timestamp.c:3152 utils/adt/timestamp.c:3157 +#: utils/adt/timestamp.c:3210 utils/adt/timestamp.c:3219 +#: utils/adt/timestamp.c:3240 utils/adt/timestamp.c:3245 +#: utils/adt/timestamp.c:3266 utils/adt/timestamp.c:3279 +#: utils/adt/timestamp.c:3293 utils/adt/timestamp.c:3301 +#: utils/adt/timestamp.c:3307 utils/adt/timestamp.c:3312 +#: utils/adt/timestamp.c:4380 utils/adt/timestamp.c:4532 +#: utils/adt/timestamp.c:4608 utils/adt/timestamp.c:4644 +#: utils/adt/timestamp.c:4734 utils/adt/timestamp.c:4813 +#: utils/adt/timestamp.c:4849 utils/adt/timestamp.c:4952 +#: utils/adt/timestamp.c:5407 utils/adt/timestamp.c:5681 +#: utils/adt/timestamp.c:6199 utils/adt/timestamp.c:6209 +#: utils/adt/timestamp.c:6214 utils/adt/timestamp.c:6220 +#: 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 #, c-format msgid "timestamp out of range" msgstr "timestamp вне диапазона" -#: utils/adt/date.c:1535 utils/adt/date.c:2343 utils/adt/formatting.c:4431 +#: utils/adt/date.c:1536 utils/adt/date.c:2352 utils/adt/formatting.c:4597 #, c-format msgid "time out of range" msgstr "время вне диапазона" -#: utils/adt/date.c:1587 utils/adt/timestamp.c:597 +#: utils/adt/date.c:1588 utils/adt/timestamp.c:613 #, c-format msgid "time field value out of range: %d:%02d:%02g" msgstr "значение поля типа time вне диапазона: %d:%02d:%02g" -#: utils/adt/date.c:2107 utils/adt/date.c:2647 utils/adt/float.c:1042 -#: utils/adt/float.c:1118 utils/adt/int.c:635 utils/adt/int.c:682 -#: utils/adt/int.c:717 utils/adt/int8.c:414 utils/adt/numeric.c:2579 -#: utils/adt/timestamp.c:3513 utils/adt/timestamp.c:3540 -#: utils/adt/timestamp.c:3571 +#: utils/adt/date.c:2020 +#, c-format +msgid "cannot convert infinite interval to time" +msgstr "бесконечный интервал нельзя привести к типу time" + +#: utils/adt/date.c:2061 utils/adt/date.c:2605 +#, c-format +msgid "cannot add infinite interval to time" +msgstr "бесконечный интервал нельзя добавить к значению time" + +#: utils/adt/date.c:2084 utils/adt/date.c:2632 +#, c-format +msgid "cannot subtract infinite interval from time" +msgstr "бесконечный интервал нельзя вычесть из значения time" + +#: 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/timestamp.c:3810 utils/adt/timestamp.c:3847 +#: utils/adt/timestamp.c:3888 #, c-format msgid "invalid preceding or following size in window function" msgstr "неверное смещение PRECEDING или FOLLOWING в оконной функции" -#: utils/adt/date.c:2351 +#: utils/adt/date.c:2360 #, c-format msgid "time zone displacement out of range" msgstr "смещение часового пояса вне диапазона" -#: utils/adt/date.c:3111 utils/adt/timestamp.c:5598 utils/adt/timestamp.c:5828 +#: utils/adt/date.c:3132 utils/adt/timestamp.c:6242 utils/adt/timestamp.c:6479 +#, c-format +msgid "interval time zone \"%s\" must be finite" +msgstr "задающий часовой пояс интервал \"%s\" должен быть конечным" + +#: utils/adt/date.c:3139 utils/adt/timestamp.c:6249 utils/adt/timestamp.c:6486 #, c-format msgid "interval time zone \"%s\" must not include months or days" msgstr "" "интервал \"%s\", задающий часовой пояс, не должен содержать дней или месяцев" -#: utils/adt/datetime.c:3223 utils/adt/datetime.c:4002 -#: utils/adt/datetime.c:4008 utils/adt/timestamp.c:512 +#: utils/adt/datetime.c:3232 utils/adt/datetime.c:4127 +#: utils/adt/datetime.c:4133 utils/adt/timestamp.c:528 #, c-format msgid "time zone \"%s\" not recognized" msgstr "часовой пояс \"%s\" не распознан" -#: utils/adt/datetime.c:3976 utils/adt/datetime.c:3983 +#: utils/adt/datetime.c:4101 utils/adt/datetime.c:4108 #, c-format msgid "date/time field value out of range: \"%s\"" msgstr "значение поля типа date/time вне диапазона: \"%s\"" -#: utils/adt/datetime.c:3985 +#: utils/adt/datetime.c:4110 #, c-format msgid "Perhaps you need a different \"datestyle\" setting." msgstr "Возможно, вам нужно изменить настройку \"datestyle\"." -#: utils/adt/datetime.c:3990 +#: utils/adt/datetime.c:4115 #, c-format msgid "interval field value out of range: \"%s\"" msgstr "значение поля interval вне диапазона: \"%s\"" -#: utils/adt/datetime.c:3996 +#: utils/adt/datetime.c:4121 #, c-format msgid "time zone displacement out of range: \"%s\"" msgstr "смещение часового пояса вне диапазона: \"%s\"" -#: utils/adt/datetime.c:4010 +#: utils/adt/datetime.c:4135 #, c-format msgid "" "This time zone name appears in the configuration file for time zone " @@ -26434,22 +27646,22 @@ msgstr "" "Это имя часового пояса фигурирует в файле конфигурации часового пояса с " "кодом \"%s\"." -#: utils/adt/datum.c:91 utils/adt/datum.c:103 +#: utils/adt/datum.c:90 utils/adt/datum.c:102 #, c-format msgid "invalid Datum pointer" msgstr "неверный указатель Datum" -#: utils/adt/dbsize.c:761 utils/adt/dbsize.c:837 +#: utils/adt/dbsize.c:764 utils/adt/dbsize.c:840 #, c-format msgid "invalid size: \"%s\"" msgstr "некорректная величина: \"%s\"" -#: utils/adt/dbsize.c:838 +#: utils/adt/dbsize.c:841 #, c-format msgid "Invalid size unit: \"%s\"." msgstr "Неверная единица измерения величины: \"%s\"." -#: utils/adt/dbsize.c:839 +#: utils/adt/dbsize.c:842 #, c-format msgid "" "Valid units are \"bytes\", \"B\", \"kB\", \"MB\", \"GB\", \"TB\", and \"PB\"." @@ -26457,7 +27669,7 @@ msgstr "" "Допустимые единицы измерения: \"bytes\", \"B\", \"kB\", \"MB\", \"GB\", " "\"TB\" и \"PB\"." -#: utils/adt/domains.c:92 +#: utils/adt/domains.c:95 #, c-format msgid "type %s is not a domain" msgstr "тип \"%s\" не является доменом" @@ -26508,10 +27720,10 @@ msgid "Input data is missing padding, is truncated, or is otherwise corrupted." msgstr "" "Входные данные лишены выравнивания, обрезаны или повреждены иным образом." -#: utils/adt/encode.c:492 utils/adt/encode.c:557 utils/adt/jsonfuncs.c:648 -#: utils/adt/varlena.c:331 utils/adt/varlena.c:372 jsonpath_gram.y:528 -#: jsonpath_scan.l:629 jsonpath_scan.l:640 jsonpath_scan.l:650 -#: jsonpath_scan.l:701 +#: utils/adt/encode.c:492 utils/adt/encode.c:557 utils/adt/jsonfuncs.c:659 +#: utils/adt/varlena.c:333 utils/adt/varlena.c:374 jsonpath_gram.y:266 +#: jsonpath_gram.y:598 jsonpath_scan.l:640 jsonpath_scan.l:651 +#: jsonpath_scan.l:661 jsonpath_scan.l:712 #, c-format msgid "invalid input syntax for type %s" msgstr "неверный синтаксис для типа %s" @@ -26549,205 +27761,200 @@ msgstr "не удалось определить фактический тип msgid "enum %s contains no values" msgstr "перечисление %s не содержит значений" -#: utils/adt/float.c:89 +#: utils/adt/float.c:83 #, c-format msgid "value out of range: overflow" msgstr "значение вне диапазона: переполнение" -#: utils/adt/float.c:97 +#: utils/adt/float.c:91 #, c-format msgid "value out of range: underflow" msgstr "значение вне диапазона: антипереполнение" -#: utils/adt/float.c:286 +#: utils/adt/float.c:280 #, c-format msgid "\"%s\" is out of range for type real" msgstr "\"%s\" вне диапазона для типа real" -#: utils/adt/float.c:488 +#: utils/adt/float.c:482 #, c-format msgid "\"%s\" is out of range for type double precision" msgstr "\"%s\" вне диапазона для типа double precision" -#: utils/adt/float.c:1253 utils/adt/float.c:1327 utils/adt/int.c:355 +#: 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:1293 utils/adt/numeric.c:4500 utils/adt/numeric.c:4505 +#: utils/adt/int8.c:1277 utils/adt/numeric.c:4593 utils/adt/numeric.c:4598 #, c-format msgid "smallint out of range" msgstr "smallint вне диапазона" -#: utils/adt/float.c:1453 utils/adt/numeric.c:3693 utils/adt/numeric.c:10027 +#: utils/adt/float.c:1447 utils/adt/numeric.c:3709 utils/adt/numeric.c:10112 #, c-format msgid "cannot take square root of a negative number" msgstr "извлечь квадратный корень отрицательного числа нельзя" -#: utils/adt/float.c:1521 utils/adt/numeric.c:3981 utils/adt/numeric.c:4093 +#: utils/adt/float.c:1515 utils/adt/numeric.c:3997 utils/adt/numeric.c:4109 #, c-format msgid "zero raised to a negative power is undefined" msgstr "ноль в отрицательной степени даёт неопределённость" -#: utils/adt/float.c:1525 utils/adt/numeric.c:3985 utils/adt/numeric.c:10918 +#: utils/adt/float.c:1519 utils/adt/numeric.c:4001 utils/adt/numeric.c:11003 #, c-format msgid "a negative number raised to a non-integer power yields a complex result" msgstr "отрицательное число в дробной степени даёт комплексный результат" -#: utils/adt/float.c:1701 utils/adt/float.c:1734 utils/adt/numeric.c:3893 -#: utils/adt/numeric.c:10698 +#: utils/adt/float.c:1695 utils/adt/float.c:1728 utils/adt/numeric.c:3909 +#: utils/adt/numeric.c:10783 #, c-format msgid "cannot take logarithm of zero" msgstr "вычислить логарифм нуля нельзя" -#: utils/adt/float.c:1705 utils/adt/float.c:1738 utils/adt/numeric.c:3831 -#: utils/adt/numeric.c:3888 utils/adt/numeric.c:10702 +#: 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 #, c-format msgid "cannot take logarithm of a negative number" msgstr "вычислить логарифм отрицательного числа нельзя" -#: utils/adt/float.c:1771 utils/adt/float.c:1802 utils/adt/float.c:1897 -#: utils/adt/float.c:1924 utils/adt/float.c:1952 utils/adt/float.c:1979 -#: utils/adt/float.c:2126 utils/adt/float.c:2163 utils/adt/float.c:2333 -#: utils/adt/float.c:2389 utils/adt/float.c:2454 utils/adt/float.c:2511 -#: utils/adt/float.c:2702 utils/adt/float.c:2726 +#: utils/adt/float.c:1765 utils/adt/float.c:1796 utils/adt/float.c:1891 +#: utils/adt/float.c:1918 utils/adt/float.c:1946 utils/adt/float.c:1973 +#: utils/adt/float.c:2120 utils/adt/float.c:2157 utils/adt/float.c:2327 +#: utils/adt/float.c:2383 utils/adt/float.c:2448 utils/adt/float.c:2505 +#: utils/adt/float.c:2696 utils/adt/float.c:2720 #, c-format msgid "input is out of range" msgstr "введённое значение вне диапазона" -#: utils/adt/float.c:2867 -#, c-format -msgid "setseed parameter %g is out of allowed range [-1,1]" -msgstr "параметр setseed %g вне допустимого диапазона [-1,1]" - -#: utils/adt/float.c:4095 utils/adt/numeric.c:1841 +#: utils/adt/float.c:4000 utils/adt/numeric.c:1857 #, c-format msgid "count must be greater than zero" msgstr "счётчик должен быть больше нуля" -#: utils/adt/float.c:4100 utils/adt/numeric.c:1852 +#: utils/adt/float.c:4005 utils/adt/numeric.c:1868 #, c-format msgid "operand, lower bound, and upper bound cannot be NaN" msgstr "операнд, нижняя и верхняя границы не могут быть NaN" -#: utils/adt/float.c:4106 utils/adt/numeric.c:1857 +#: utils/adt/float.c:4011 utils/adt/numeric.c:1873 #, c-format msgid "lower and upper bounds must be finite" msgstr "нижняя и верхняя границы должны быть конечными" -#: utils/adt/float.c:4172 utils/adt/numeric.c:1871 +#: utils/adt/float.c:4077 utils/adt/numeric.c:1887 #, c-format msgid "lower bound cannot equal upper bound" msgstr "нижняя граница не может равняться верхней" -#: utils/adt/formatting.c:519 +#: utils/adt/formatting.c:530 #, c-format msgid "invalid format specification for an interval value" msgstr "неправильная спецификация формата для целого числа" -#: utils/adt/formatting.c:520 +#: utils/adt/formatting.c:531 #, c-format msgid "Intervals are not tied to specific calendar dates." msgstr "Интервалы не привязываются к определённым календарным датам." -#: utils/adt/formatting.c:1150 +#: utils/adt/formatting.c:1161 #, c-format msgid "\"EEEE\" must be the last pattern used" msgstr "\"EEEE\" может быть только последним шаблоном" -#: utils/adt/formatting.c:1158 +#: utils/adt/formatting.c:1169 #, c-format msgid "\"9\" must be ahead of \"PR\"" msgstr "\"9\" должна стоять до \"PR\"" -#: utils/adt/formatting.c:1174 +#: utils/adt/formatting.c:1185 #, c-format msgid "\"0\" must be ahead of \"PR\"" msgstr "\"0\" должен стоять до \"PR\"" -#: utils/adt/formatting.c:1201 +#: utils/adt/formatting.c:1212 #, c-format msgid "multiple decimal points" msgstr "многочисленные десятичные точки" -#: utils/adt/formatting.c:1205 utils/adt/formatting.c:1288 +#: utils/adt/formatting.c:1216 utils/adt/formatting.c:1299 #, c-format msgid "cannot use \"V\" and decimal point together" msgstr "нельзя использовать \"V\" вместе с десятичной точкой" -#: utils/adt/formatting.c:1217 +#: utils/adt/formatting.c:1228 #, c-format msgid "cannot use \"S\" twice" msgstr "нельзя использовать \"S\" дважды" -#: utils/adt/formatting.c:1221 +#: utils/adt/formatting.c:1232 #, c-format msgid "cannot use \"S\" and \"PL\"/\"MI\"/\"SG\"/\"PR\" together" msgstr "нельзя использовать \"S\" вместе с \"PL\"/\"MI\"/\"SG\"/\"PR\"" -#: utils/adt/formatting.c:1241 +#: utils/adt/formatting.c:1252 #, c-format msgid "cannot use \"S\" and \"MI\" together" msgstr "нельзя использовать \"S\" вместе с \"MI\"" -#: utils/adt/formatting.c:1251 +#: utils/adt/formatting.c:1262 #, c-format msgid "cannot use \"S\" and \"PL\" together" msgstr "нельзя использовать \"S\" вместе с \"PL\"" -#: utils/adt/formatting.c:1261 +#: utils/adt/formatting.c:1272 #, c-format msgid "cannot use \"S\" and \"SG\" together" msgstr "нельзя использовать \"S\" вместе с \"SG\"" -#: utils/adt/formatting.c:1270 +#: utils/adt/formatting.c:1281 #, c-format msgid "cannot use \"PR\" and \"S\"/\"PL\"/\"MI\"/\"SG\" together" msgstr "нельзя использовать \"PR\" вместе с \"S\"/\"PL\"/\"MI\"/\"SG\"" -#: utils/adt/formatting.c:1296 +#: utils/adt/formatting.c:1307 #, c-format msgid "cannot use \"EEEE\" twice" msgstr "нельзя использовать \"EEEE\" дважды" -#: utils/adt/formatting.c:1302 +#: utils/adt/formatting.c:1313 #, c-format msgid "\"EEEE\" is incompatible with other formats" msgstr "\"EEEE\" несовместим с другими форматами" -#: utils/adt/formatting.c:1303 +#: utils/adt/formatting.c:1314 #, c-format msgid "" "\"EEEE\" may only be used together with digit and decimal point patterns." msgstr "" "\"EEEE\" может использоваться только с шаблонами цифр и десятичной точки." -#: utils/adt/formatting.c:1387 +#: utils/adt/formatting.c:1398 #, c-format msgid "invalid datetime format separator: \"%s\"" msgstr "неверный разделитель в формате datetime: \"%s\"" -#: utils/adt/formatting.c:1514 +#: utils/adt/formatting.c:1525 #, c-format msgid "\"%s\" is not a number" msgstr "\"%s\" не является числом" -#: utils/adt/formatting.c:1592 +#: utils/adt/formatting.c:1603 #, c-format msgid "case conversion failed: %s" msgstr "преобразовать регистр не удалось: %s" -#: utils/adt/formatting.c:1646 utils/adt/formatting.c:1768 -#: utils/adt/formatting.c:1891 +#: utils/adt/formatting.c:1651 utils/adt/formatting.c:1799 +#: utils/adt/formatting.c:1989 #, c-format msgid "could not determine which collation to use for %s function" msgstr "" "не удалось определить, какое правило сортировки использовать для функции %s" -#: utils/adt/formatting.c:2274 +#: utils/adt/formatting.c:2410 #, c-format msgid "invalid combination of date conventions" msgstr "неверное сочетание стилей дат" -#: utils/adt/formatting.c:2275 +#: utils/adt/formatting.c:2411 #, c-format msgid "" "Do not mix Gregorian and ISO week date conventions in a formatting template." @@ -26755,27 +27962,27 @@ msgstr "" "Не смешивайте Григорианский стиль дат (недель) с ISO в одном шаблоне " "форматирования." -#: utils/adt/formatting.c:2297 +#: utils/adt/formatting.c:2433 #, c-format msgid "conflicting values for \"%s\" field in formatting string" msgstr "конфликтующие значения поля \"%s\" в строке форматирования" -#: utils/adt/formatting.c:2299 +#: utils/adt/formatting.c:2435 #, c-format msgid "This value contradicts a previous setting for the same field type." msgstr "Это значение противоречит предыдущему значению поля того же типа." -#: utils/adt/formatting.c:2366 +#: utils/adt/formatting.c:2502 #, c-format msgid "source string too short for \"%s\" formatting field" msgstr "входная строка короче, чем требует поле форматирования \"%s\"" -#: utils/adt/formatting.c:2368 +#: utils/adt/formatting.c:2504 #, c-format msgid "Field requires %d characters, but only %d remain." msgstr "Требуется символов: %d, а осталось только %d." -#: utils/adt/formatting.c:2370 utils/adt/formatting.c:2384 +#: utils/adt/formatting.c:2506 utils/adt/formatting.c:2520 #, c-format msgid "" "If your source string is not fixed-width, try using the \"FM\" modifier." @@ -26783,132 +27990,132 @@ msgstr "" "Если входная строка имеет переменную длину, попробуйте использовать " "модификатор \"FM\"." -#: utils/adt/formatting.c:2380 utils/adt/formatting.c:2393 -#: utils/adt/formatting.c:2614 +#: utils/adt/formatting.c:2516 utils/adt/formatting.c:2529 +#: utils/adt/formatting.c:2750 utils/adt/formatting.c:3650 #, c-format msgid "invalid value \"%s\" for \"%s\"" msgstr "неверное значение \"%s\" для \"%s\"" -#: utils/adt/formatting.c:2382 +#: utils/adt/formatting.c:2518 #, c-format msgid "Field requires %d characters, but only %d could be parsed." msgstr "Поле должно поглотить символов: %d, но удалось разобрать только %d." -#: utils/adt/formatting.c:2395 +#: utils/adt/formatting.c:2531 #, c-format msgid "Value must be an integer." msgstr "Значение должно быть целым числом." -#: utils/adt/formatting.c:2400 +#: utils/adt/formatting.c:2536 #, c-format msgid "value for \"%s\" in source string is out of range" msgstr "значение \"%s\" во входной строке вне диапазона" -#: utils/adt/formatting.c:2402 +#: utils/adt/formatting.c:2538 #, c-format msgid "Value must be in the range %d to %d." msgstr "Значение должно быть в интервале %d..%d." -#: utils/adt/formatting.c:2616 +#: utils/adt/formatting.c:2752 #, c-format msgid "The given value did not match any of the allowed values for this field." msgstr "" "Данное значение не соответствует ни одному из допустимых значений для этого " "поля." -#: utils/adt/formatting.c:2832 utils/adt/formatting.c:2852 -#: utils/adt/formatting.c:2872 utils/adt/formatting.c:2892 -#: utils/adt/formatting.c:2911 utils/adt/formatting.c:2930 -#: utils/adt/formatting.c:2954 utils/adt/formatting.c:2972 -#: utils/adt/formatting.c:2990 utils/adt/formatting.c:3008 -#: utils/adt/formatting.c:3025 utils/adt/formatting.c:3042 +#: utils/adt/formatting.c:2968 utils/adt/formatting.c:2988 +#: utils/adt/formatting.c:3008 utils/adt/formatting.c:3028 +#: utils/adt/formatting.c:3047 utils/adt/formatting.c:3066 +#: utils/adt/formatting.c:3090 utils/adt/formatting.c:3108 +#: utils/adt/formatting.c:3126 utils/adt/formatting.c:3144 +#: utils/adt/formatting.c:3161 utils/adt/formatting.c:3178 #, c-format msgid "localized string format value too long" msgstr "слишком длинное значение формата локализованной строки" -#: utils/adt/formatting.c:3322 +#: utils/adt/formatting.c:3458 #, c-format msgid "unmatched format separator \"%c\"" msgstr "нет соответствия для заданного в формате разделителя \"%c\"" -#: utils/adt/formatting.c:3383 +#: utils/adt/formatting.c:3519 #, c-format msgid "unmatched format character \"%s\"" msgstr "нет соответствия для заданного в формате символа \"%s\"" -#: utils/adt/formatting.c:3491 +#: utils/adt/formatting.c:3652 #, c-format -msgid "formatting field \"%s\" is only supported in to_char" -msgstr "поле форматирования \"%s\" поддерживается только в функции to_char" +msgid "Time zone abbreviation is not recognized." +msgstr "Сокращённое название часового пояса не распознано." -#: utils/adt/formatting.c:3665 +#: utils/adt/formatting.c:3853 #, c-format msgid "invalid input string for \"Y,YYY\"" msgstr "ошибка синтаксиса в значении для шаблона \"Y,YYY\"" -#: utils/adt/formatting.c:3754 +#: utils/adt/formatting.c:3942 #, c-format msgid "input string is too short for datetime format" msgstr "входная строка короче, чем требует формат datetime" -#: utils/adt/formatting.c:3762 +#: utils/adt/formatting.c:3950 #, c-format msgid "trailing characters remain in input string after datetime format" msgstr "" "после разбора формата datetime во входной строке остались дополнительные " "символы" -#: utils/adt/formatting.c:4319 +#: utils/adt/formatting.c:4494 #, c-format msgid "missing time zone in input string for type timestamptz" msgstr "во входной строке для типа timestamptz нет указания часового пояса" -#: utils/adt/formatting.c:4325 +#: utils/adt/formatting.c:4500 #, c-format msgid "timestamptz out of range" msgstr "значение timestamptz вне диапазона" -#: utils/adt/formatting.c:4353 +#: utils/adt/formatting.c:4528 #, c-format msgid "datetime format is zoned but not timed" msgstr "в формате datetime указан часовой пояс, но отсутствует время" -#: utils/adt/formatting.c:4411 +#: utils/adt/formatting.c:4577 #, c-format msgid "missing time zone in input string for type timetz" msgstr "во входной строке для типа timetz нет указания часового пояса" -#: utils/adt/formatting.c:4417 +#: utils/adt/formatting.c:4583 #, c-format msgid "timetz out of range" msgstr "значение timetz вне диапазона" -#: utils/adt/formatting.c:4443 +#: utils/adt/formatting.c:4609 #, c-format msgid "datetime format is not dated and not timed" msgstr "в формате datetime нет ни даты, ни времени" -#: utils/adt/formatting.c:4575 +#: utils/adt/formatting.c:4786 #, c-format msgid "hour \"%d\" is invalid for the 12-hour clock" msgstr "час \"%d\" не соответствует 12-часовому формату времени" -#: utils/adt/formatting.c:4577 +#: utils/adt/formatting.c:4788 #, c-format msgid "Use the 24-hour clock, or give an hour between 1 and 12." msgstr "Используйте 24-часовой формат или передавайте часы от 1 до 12." -#: utils/adt/formatting.c:4689 +#: utils/adt/formatting.c:4900 #, c-format msgid "cannot calculate day of year without year information" msgstr "нельзя рассчитать день года без информации о годе" -#: utils/adt/formatting.c:5621 +#: utils/adt/formatting.c:5852 #, c-format msgid "\"EEEE\" not supported for input" msgstr "\"EEEE\" не поддерживается при вводе" -#: utils/adt/formatting.c:5633 +#: utils/adt/formatting.c:5864 #, c-format msgid "\"RN\" not supported for input" msgstr "\"RN\" не поддерживается при вводе" @@ -26940,12 +28147,7 @@ msgstr "не удалось переместиться в файле \"%s\": %m" msgid "file length too large" msgstr "длина файла слишком велика" -#: utils/adt/genfile.c:248 -#, c-format -msgid "must be superuser to read files with adminpack 1.0" -msgstr "читать файлы, используя adminpack 1.0, может только суперпользователь" - -#: utils/adt/genfile.c:702 +#: utils/adt/genfile.c:656 #, c-format msgid "tablespace with OID %u does not exist" msgstr "табличное пространство с OID %u не существует" @@ -27001,298 +28203,298 @@ msgstr "точек должно быть минимум 2" msgid "invalid int2vector data" msgstr "неверные данные int2vector" -#: utils/adt/int.c:1529 utils/adt/int8.c:1419 utils/adt/numeric.c:1749 -#: utils/adt/timestamp.c:5889 utils/adt/timestamp.c:5971 +#: utils/adt/int.c:1529 utils/adt/int8.c:1403 utils/adt/numeric.c:1765 +#: utils/adt/timestamp.c:6546 utils/adt/timestamp.c:6632 #, c-format msgid "step size cannot equal zero" msgstr "размер шага не может быть нулевым" -#: utils/adt/int8.c:449 utils/adt/int8.c:472 utils/adt/int8.c:486 -#: utils/adt/int8.c:500 utils/adt/int8.c:531 utils/adt/int8.c:555 -#: utils/adt/int8.c:637 utils/adt/int8.c:705 utils/adt/int8.c:711 -#: utils/adt/int8.c:737 utils/adt/int8.c:751 utils/adt/int8.c:775 -#: utils/adt/int8.c:788 utils/adt/int8.c:915 utils/adt/int8.c:929 -#: utils/adt/int8.c:943 utils/adt/int8.c:974 utils/adt/int8.c:996 -#: utils/adt/int8.c:1010 utils/adt/int8.c:1024 utils/adt/int8.c:1057 -#: utils/adt/int8.c:1071 utils/adt/int8.c:1085 utils/adt/int8.c:1116 -#: utils/adt/int8.c:1138 utils/adt/int8.c:1152 utils/adt/int8.c:1166 -#: utils/adt/int8.c:1328 utils/adt/int8.c:1363 utils/adt/numeric.c:4459 -#: utils/adt/rangetypes.c:1528 utils/adt/rangetypes.c:1541 +#: utils/adt/int8.c:448 utils/adt/int8.c:471 utils/adt/int8.c:485 +#: utils/adt/int8.c:499 utils/adt/int8.c:530 utils/adt/int8.c:554 +#: utils/adt/int8.c:636 utils/adt/int8.c:704 utils/adt/int8.c:710 +#: utils/adt/int8.c:736 utils/adt/int8.c:750 utils/adt/int8.c:774 +#: utils/adt/int8.c:787 utils/adt/int8.c:899 utils/adt/int8.c:913 +#: utils/adt/int8.c:927 utils/adt/int8.c:958 utils/adt/int8.c:980 +#: 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/rangetypes.c:1535 utils/adt/rangetypes.c:1548 #: utils/adt/varbit.c:1676 #, c-format msgid "bigint out of range" msgstr "bigint вне диапазона" -#: utils/adt/int8.c:1376 +#: utils/adt/int8.c:1360 #, c-format msgid "OID out of range" msgstr "OID вне диапазона" -#: utils/adt/json.c:320 utils/adt/jsonb.c:781 +#: utils/adt/json.c:202 utils/adt/jsonb.c:664 #, c-format msgid "key value must be scalar, not array, composite, or json" msgstr "" "значением ключа должен быть скаляр (не массив, композитный тип или json)" -#: utils/adt/json.c:1113 utils/adt/json.c:1123 utils/fmgr/funcapi.c:2090 +#: utils/adt/json.c:1034 utils/adt/json.c:1044 utils/fmgr/funcapi.c:2090 #, c-format msgid "could not determine data type for argument %d" msgstr "не удалось определить тип данных аргумента %d" -#: utils/adt/json.c:1146 utils/adt/json.c:1337 utils/adt/json.c:1513 -#: utils/adt/json.c:1591 utils/adt/jsonb.c:1432 utils/adt/jsonb.c:1522 +#: utils/adt/json.c:1067 utils/adt/json.c:1266 utils/adt/json.c:1449 +#: utils/adt/json.c:1527 utils/adt/jsonb.c:1333 utils/adt/jsonb.c:1423 #, c-format msgid "null value not allowed for object key" msgstr "значение null не может быть ключом объекта" -#: utils/adt/json.c:1189 utils/adt/json.c:1352 +#: utils/adt/json.c:1117 utils/adt/json.c:1288 #, c-format msgid "duplicate JSON object key value: %s" msgstr "повторяющийся ключ в объекте JSON: %s" -#: utils/adt/json.c:1297 utils/adt/jsonb.c:1233 +#: utils/adt/json.c:1226 utils/adt/jsonb.c:1134 #, c-format msgid "argument list must have even number of elements" msgstr "в списке аргументов должно быть чётное число элементов" #. translator: %s is a SQL function name -#: utils/adt/json.c:1299 utils/adt/jsonb.c:1235 +#: utils/adt/json.c:1228 utils/adt/jsonb.c:1136 #, c-format msgid "The arguments of %s must consist of alternating keys and values." msgstr "Аргументы %s должны состоять из пар ключ-значение." -#: utils/adt/json.c:1491 utils/adt/jsonb.c:1410 +#: utils/adt/json.c:1427 utils/adt/jsonb.c:1311 #, c-format msgid "array must have two columns" msgstr "массив должен иметь два столбца" -#: utils/adt/json.c:1580 utils/adt/jsonb.c:1511 +#: utils/adt/json.c:1516 utils/adt/jsonb.c:1412 #, c-format msgid "mismatched array dimensions" msgstr "неподходящие размерности массива" -#: utils/adt/json.c:1764 utils/adt/jsonb_util.c:1958 +#: utils/adt/json.c:1702 utils/adt/jsonb_util.c:1956 #, c-format msgid "duplicate JSON object key value" msgstr "повторяющиеся ключи в объекте JSON" -#: utils/adt/jsonb.c:294 +#: utils/adt/jsonb.c:282 #, c-format msgid "string too long to represent as jsonb string" msgstr "слишком длинная строка для представления в виде строки jsonb" -#: utils/adt/jsonb.c:295 +#: utils/adt/jsonb.c:283 #, c-format msgid "" "Due to an implementation restriction, jsonb strings cannot exceed %d bytes." msgstr "" "Из-за ограничений реализации строки jsonb не могут быть длиннее %d байт." -#: utils/adt/jsonb.c:1252 +#: utils/adt/jsonb.c:1153 #, c-format msgid "argument %d: key must not be null" msgstr "аргумент %d: ключ не может быть NULL" -#: utils/adt/jsonb.c:1843 +#: utils/adt/jsonb.c:1744 #, c-format msgid "field name must not be null" msgstr "имя поля не может быть NULL" -#: utils/adt/jsonb.c:1905 +#: utils/adt/jsonb.c:1806 #, c-format msgid "object keys must be strings" msgstr "ключи объектов должны быть строковыми" -#: utils/adt/jsonb.c:2116 +#: utils/adt/jsonb.c:2017 #, c-format msgid "cannot cast jsonb null to type %s" msgstr "привести значение jsonb null к типу %s нельзя" -#: utils/adt/jsonb.c:2117 +#: utils/adt/jsonb.c:2018 #, c-format msgid "cannot cast jsonb string to type %s" msgstr "привести строку jsonb к типу %s нельзя" -#: utils/adt/jsonb.c:2118 +#: utils/adt/jsonb.c:2019 #, c-format msgid "cannot cast jsonb numeric to type %s" msgstr "привести числовое значение jsonb к типу %s нельзя" -#: utils/adt/jsonb.c:2119 +#: utils/adt/jsonb.c:2020 #, c-format msgid "cannot cast jsonb boolean to type %s" msgstr "привести логическое значение jsonb к типу %s нельзя" -#: utils/adt/jsonb.c:2120 +#: utils/adt/jsonb.c:2021 #, c-format msgid "cannot cast jsonb array to type %s" msgstr "привести массив jsonb к типу %s нельзя" -#: utils/adt/jsonb.c:2121 +#: utils/adt/jsonb.c:2022 #, c-format msgid "cannot cast jsonb object to type %s" msgstr "привести объект jsonb к типу %s нельзя" -#: utils/adt/jsonb.c:2122 +#: utils/adt/jsonb.c:2023 #, c-format msgid "cannot cast jsonb array or object to type %s" msgstr "привести массив или объект jsonb к типу %s нельзя" -#: utils/adt/jsonb_util.c:758 +#: utils/adt/jsonb_util.c:756 #, c-format msgid "number of jsonb object pairs exceeds the maximum allowed (%zu)" msgstr "число пар объекта jsonb превышает предел (%zu)" -#: utils/adt/jsonb_util.c:799 +#: utils/adt/jsonb_util.c:797 #, c-format msgid "number of jsonb array elements exceeds the maximum allowed (%zu)" msgstr "число элементов массива jsonb превышает предел (%zu)" -#: utils/adt/jsonb_util.c:1673 utils/adt/jsonb_util.c:1693 +#: utils/adt/jsonb_util.c:1671 utils/adt/jsonb_util.c:1691 #, c-format msgid "total size of jsonb array elements exceeds the maximum of %d bytes" msgstr "общий размер элементов массива jsonb превышает предел (%d байт)" -#: utils/adt/jsonb_util.c:1754 utils/adt/jsonb_util.c:1789 -#: utils/adt/jsonb_util.c:1809 +#: utils/adt/jsonb_util.c:1752 utils/adt/jsonb_util.c:1787 +#: utils/adt/jsonb_util.c:1807 #, c-format msgid "total size of jsonb object elements exceeds the maximum of %d bytes" msgstr "общий размер элементов объекта jsonb превышает предел (%d байт)" -#: utils/adt/jsonbsubs.c:70 utils/adt/jsonbsubs.c:151 +#: utils/adt/jsonbsubs.c:67 utils/adt/jsonbsubs.c:148 #, c-format msgid "jsonb subscript does not support slices" msgstr "jsonb не поддерживает обращение по индексу к срезам" -#: utils/adt/jsonbsubs.c:103 utils/adt/jsonbsubs.c:117 +#: utils/adt/jsonbsubs.c:100 utils/adt/jsonbsubs.c:114 #, c-format msgid "subscript type %s is not supported" msgstr "индекс элемента имеет неподдерживаемый тип %s" -#: utils/adt/jsonbsubs.c:104 +#: utils/adt/jsonbsubs.c:101 #, c-format msgid "jsonb subscript must be coercible to only one type, integer or text." msgstr "" "Индекс элемента в jsonb должен приводиться только к одному типу, integer или " "text." -#: utils/adt/jsonbsubs.c:118 +#: utils/adt/jsonbsubs.c:115 #, c-format msgid "jsonb subscript must be coercible to either integer or text." msgstr "Индекс элемента в jsonb должен приводиться к типу integer или text." -#: utils/adt/jsonbsubs.c:139 +#: utils/adt/jsonbsubs.c:136 #, c-format msgid "jsonb subscript must have text type" msgstr "индекс элемента jsonb должен иметь текстовый тип" -#: utils/adt/jsonbsubs.c:207 +#: utils/adt/jsonbsubs.c:204 #, c-format msgid "jsonb subscript in assignment must not be null" msgstr "индекс элемента jsonb в присваивании не может быть NULL" -#: utils/adt/jsonfuncs.c:572 utils/adt/jsonfuncs.c:821 -#: utils/adt/jsonfuncs.c:2429 utils/adt/jsonfuncs.c:2881 -#: utils/adt/jsonfuncs.c:3676 utils/adt/jsonfuncs.c:4018 +#: utils/adt/jsonfuncs.c:583 utils/adt/jsonfuncs.c:830 +#: utils/adt/jsonfuncs.c:2439 utils/adt/jsonfuncs.c:3015 +#: utils/adt/jsonfuncs.c:3948 utils/adt/jsonfuncs.c:4295 #, c-format msgid "cannot call %s on a scalar" msgstr "вызывать %s со скаляром нельзя" -#: utils/adt/jsonfuncs.c:577 utils/adt/jsonfuncs.c:806 -#: utils/adt/jsonfuncs.c:2883 utils/adt/jsonfuncs.c:3663 +#: utils/adt/jsonfuncs.c:588 utils/adt/jsonfuncs.c:815 +#: utils/adt/jsonfuncs.c:3017 utils/adt/jsonfuncs.c:3935 #, c-format msgid "cannot call %s on an array" msgstr "вызывать %s с массивом нельзя" -#: utils/adt/jsonfuncs.c:636 jsonpath_scan.l:596 +#: utils/adt/jsonfuncs.c:647 jsonpath_scan.l:607 #, c-format msgid "unsupported Unicode escape sequence" msgstr "неподдерживаемая спецпоследовательность Unicode" -#: utils/adt/jsonfuncs.c:713 +#: utils/adt/jsonfuncs.c:724 #, c-format msgid "JSON data, line %d: %s%s%s" msgstr "данные JSON, строка %d: %s%s%s" -#: utils/adt/jsonfuncs.c:1875 utils/adt/jsonfuncs.c:1912 +#: utils/adt/jsonfuncs.c:1883 utils/adt/jsonfuncs.c:1920 #, c-format msgid "cannot get array length of a scalar" msgstr "получить длину скаляра нельзя" -#: utils/adt/jsonfuncs.c:1879 utils/adt/jsonfuncs.c:1898 +#: utils/adt/jsonfuncs.c:1887 utils/adt/jsonfuncs.c:1906 #, c-format msgid "cannot get array length of a non-array" msgstr "получить длину массива для не массива нельзя" -#: utils/adt/jsonfuncs.c:1978 +#: utils/adt/jsonfuncs.c:1986 #, c-format msgid "cannot call %s on a non-object" msgstr "вызывать %s с не объектом нельзя" -#: utils/adt/jsonfuncs.c:2166 +#: utils/adt/jsonfuncs.c:2174 #, c-format msgid "cannot deconstruct an array as an object" msgstr "извлечь массив в виде объекта нельзя" -#: utils/adt/jsonfuncs.c:2180 +#: utils/adt/jsonfuncs.c:2188 #, c-format msgid "cannot deconstruct a scalar" msgstr "извлечь скаляр нельзя" -#: utils/adt/jsonfuncs.c:2225 +#: utils/adt/jsonfuncs.c:2233 #, c-format msgid "cannot extract elements from a scalar" msgstr "извлечь элементы из скаляра нельзя" -#: utils/adt/jsonfuncs.c:2229 +#: utils/adt/jsonfuncs.c:2237 #, c-format msgid "cannot extract elements from an object" msgstr "извлечь элементы из объекта нельзя" -#: utils/adt/jsonfuncs.c:2414 utils/adt/jsonfuncs.c:3896 +#: utils/adt/jsonfuncs.c:2424 utils/adt/jsonfuncs.c:4173 #, c-format msgid "cannot call %s on a non-array" msgstr "вызывать %s с не массивом нельзя" -#: utils/adt/jsonfuncs.c:2488 utils/adt/jsonfuncs.c:2493 -#: utils/adt/jsonfuncs.c:2510 utils/adt/jsonfuncs.c:2516 +#: utils/adt/jsonfuncs.c:2515 utils/adt/jsonfuncs.c:2520 +#: utils/adt/jsonfuncs.c:2538 utils/adt/jsonfuncs.c:2544 #, c-format msgid "expected JSON array" msgstr "ожидался массив JSON" -#: utils/adt/jsonfuncs.c:2489 +#: utils/adt/jsonfuncs.c:2516 #, c-format msgid "See the value of key \"%s\"." msgstr "Проверьте значение ключа \"%s\"." -#: utils/adt/jsonfuncs.c:2511 +#: utils/adt/jsonfuncs.c:2539 #, c-format msgid "See the array element %s of key \"%s\"." msgstr "Проверьте элемент массива %s ключа \"%s\"." -#: utils/adt/jsonfuncs.c:2517 +#: utils/adt/jsonfuncs.c:2545 #, c-format msgid "See the array element %s." msgstr "Проверьте элемент массива %s." -#: utils/adt/jsonfuncs.c:2552 +#: utils/adt/jsonfuncs.c:2597 #, c-format msgid "malformed JSON array" msgstr "неправильный массив JSON" #. translator: %s is a function name, eg json_to_record -#: utils/adt/jsonfuncs.c:3389 +#: utils/adt/jsonfuncs.c:3647 #, c-format msgid "first argument of %s must be a row type" msgstr "первым аргументом %s должен быть кортеж" #. translator: %s is a function name, eg json_to_record -#: utils/adt/jsonfuncs.c:3413 +#: utils/adt/jsonfuncs.c:3671 #, c-format msgid "could not determine row type for result of %s" msgstr "не удалось определить тип строки для результата %s" -#: utils/adt/jsonfuncs.c:3415 +#: utils/adt/jsonfuncs.c:3673 #, c-format msgid "" "Provide a non-null record argument, or call the function in the FROM clause " @@ -27301,38 +28503,38 @@ msgstr "" "Передайте отличный от NULL аргумент-запись или вызовите эту функцию в " "предложении FROM, используя список определений столбцов." -#: utils/adt/jsonfuncs.c:3785 utils/fmgr/funcapi.c:94 +#: utils/adt/jsonfuncs.c:4059 utils/fmgr/funcapi.c:94 #, c-format msgid "materialize mode required, but it is not allowed in this context" msgstr "требуется режим материализации, но он недопустим в этом контексте" -#: utils/adt/jsonfuncs.c:3913 utils/adt/jsonfuncs.c:3997 +#: utils/adt/jsonfuncs.c:4190 utils/adt/jsonfuncs.c:4274 #, c-format msgid "argument of %s must be an array of objects" msgstr "аргументом %s должен быть массив объектов" -#: utils/adt/jsonfuncs.c:3946 +#: utils/adt/jsonfuncs.c:4223 #, c-format msgid "cannot call %s on an object" msgstr "вызывать %s с объектом нельзя" -#: utils/adt/jsonfuncs.c:4380 utils/adt/jsonfuncs.c:4439 -#: utils/adt/jsonfuncs.c:4519 +#: utils/adt/jsonfuncs.c:4656 utils/adt/jsonfuncs.c:4715 +#: utils/adt/jsonfuncs.c:4795 #, c-format msgid "cannot delete from scalar" msgstr "удаление из скаляра невозможно" -#: utils/adt/jsonfuncs.c:4524 +#: utils/adt/jsonfuncs.c:4800 #, c-format msgid "cannot delete from object using integer index" msgstr "удаление из объекта по числовому индексу невозможно" -#: utils/adt/jsonfuncs.c:4592 utils/adt/jsonfuncs.c:4751 +#: utils/adt/jsonfuncs.c:4868 utils/adt/jsonfuncs.c:5027 #, c-format msgid "cannot set path in scalar" msgstr "задать путь в скаляре нельзя" -#: utils/adt/jsonfuncs.c:4633 utils/adt/jsonfuncs.c:4675 +#: utils/adt/jsonfuncs.c:4909 utils/adt/jsonfuncs.c:4951 #, c-format msgid "" "null_value_treatment must be \"delete_key\", \"return_target\", " @@ -27341,12 +28543,12 @@ msgstr "" "значением null_value_treatment должно быть \"delete_key\", " "\"return_target\", \"use_json_null\" или \"raise_exception\"" -#: utils/adt/jsonfuncs.c:4646 +#: utils/adt/jsonfuncs.c:4922 #, c-format msgid "JSON value must not be null" msgstr "значение JSON не может быть NULL" -#: utils/adt/jsonfuncs.c:4647 +#: utils/adt/jsonfuncs.c:4923 #, c-format msgid "" "Exception was raised because null_value_treatment is \"raise_exception\"." @@ -27354,7 +28556,7 @@ msgstr "" "Выдано исключение, так как значением null_value_treatment является " "\"raise_exception\"." -#: utils/adt/jsonfuncs.c:4648 +#: utils/adt/jsonfuncs.c:4924 #, c-format msgid "" "To avoid, either change the null_value_treatment argument or ensure that an " @@ -27363,55 +28565,55 @@ msgstr "" "Чтобы исключения не было, либо измените аргумент null_value_treatment, либо " "не допускайте передачи SQL NULL." -#: utils/adt/jsonfuncs.c:4703 +#: utils/adt/jsonfuncs.c:4979 #, c-format msgid "cannot delete path in scalar" msgstr "удалить путь в скаляре нельзя" -#: utils/adt/jsonfuncs.c:4917 +#: utils/adt/jsonfuncs.c:5193 #, c-format msgid "path element at position %d is null" msgstr "элемент пути в позиции %d равен NULL" -#: utils/adt/jsonfuncs.c:4936 utils/adt/jsonfuncs.c:4967 -#: utils/adt/jsonfuncs.c:5040 +#: utils/adt/jsonfuncs.c:5212 utils/adt/jsonfuncs.c:5243 +#: utils/adt/jsonfuncs.c:5316 #, c-format msgid "cannot replace existing key" msgstr "заменить существующий ключ нельзя" -#: utils/adt/jsonfuncs.c:4937 utils/adt/jsonfuncs.c:4968 +#: utils/adt/jsonfuncs.c:5213 utils/adt/jsonfuncs.c:5244 #, c-format msgid "The path assumes key is a composite object, but it is a scalar value." msgstr "" "Для заданного пути значение ключа должно быть составным объектом, но оно " "оказалось скаляром." -#: utils/adt/jsonfuncs.c:5041 +#: utils/adt/jsonfuncs.c:5317 #, c-format msgid "Try using the function jsonb_set to replace key value." msgstr "Попробуйте применить функцию jsonb_set для замены значения ключа." -#: utils/adt/jsonfuncs.c:5145 +#: utils/adt/jsonfuncs.c:5421 #, c-format msgid "path element at position %d is not an integer: \"%s\"" msgstr "элемент пути в позиции %d - не целочисленный: \"%s\"" -#: utils/adt/jsonfuncs.c:5162 +#: utils/adt/jsonfuncs.c:5438 #, c-format msgid "path element at position %d is out of range: %d" msgstr "элемент пути в позиции %d вне диапазона: %d" -#: utils/adt/jsonfuncs.c:5314 +#: utils/adt/jsonfuncs.c:5590 #, c-format msgid "wrong flag type, only arrays and scalars are allowed" msgstr "неверный тип флага, допускаются только массивы и скаляры" -#: utils/adt/jsonfuncs.c:5321 +#: utils/adt/jsonfuncs.c:5597 #, c-format msgid "flag array element is not a string" msgstr "элемент массива флагов не является строкой" -#: utils/adt/jsonfuncs.c:5322 utils/adt/jsonfuncs.c:5344 +#: utils/adt/jsonfuncs.c:5598 utils/adt/jsonfuncs.c:5620 #, c-format msgid "" "Possible values are: \"string\", \"numeric\", \"boolean\", \"key\", and " @@ -27419,197 +28621,312 @@ msgid "" msgstr "" "Допустимые значения: \"string\", \"numeric\", \"boolean\", \"key\" и \"all\"." -#: utils/adt/jsonfuncs.c:5342 +#: utils/adt/jsonfuncs.c:5618 #, c-format msgid "wrong flag in flag array: \"%s\"" msgstr "неверный флаг в массиве флагов: \"%s\"" -#: utils/adt/jsonpath.c:382 +#: utils/adt/jsonpath.c:389 #, c-format msgid "@ is not allowed in root expressions" msgstr "@ не допускается в корневых выражениях" -#: utils/adt/jsonpath.c:388 +#: utils/adt/jsonpath.c:395 #, c-format msgid "LAST is allowed only in array subscripts" msgstr "LAST принимается только в качестве индекса массива" -#: utils/adt/jsonpath_exec.c:361 +#: utils/adt/jsonpath_exec.c:491 #, c-format msgid "single boolean result is expected" msgstr "ожидался единственный булевский результат" -#: utils/adt/jsonpath_exec.c:557 +#: utils/adt/jsonpath_exec.c:851 #, c-format -msgid "\"vars\" argument is not an object" -msgstr "аргумент \"vars\" не является объектом" +msgid "jsonpath wildcard array accessor can only be applied to an array" +msgstr "" +"выражение обращения по звёздочке в jsonpath может применяться только к " +"массиву" -#: utils/adt/jsonpath_exec.c:558 +#: utils/adt/jsonpath_exec.c:874 #, c-format -msgid "" -"Jsonpath parameters should be encoded as key-value pairs of \"vars\" object." +msgid "jsonpath wildcard member accessor can only be applied to an object" msgstr "" -"Параметры jsonpath должны передаваться в виде пар ключ-значение в объекте " -"\"vars\"." +"выражение обращения по звёздочке в jsonpath может применяться только к " +"объекту" + +#: utils/adt/jsonpath_exec.c:923 +#, c-format +msgid "jsonpath array subscript is out of bounds" +msgstr "индекс массива в jsonpath вне диапазона" + +#: utils/adt/jsonpath_exec.c:980 +#, c-format +msgid "jsonpath array accessor can only be applied to an array" +msgstr "" +"выражение обращения к массиву в jsonpath может применяться только к массиву" -#: utils/adt/jsonpath_exec.c:675 +#: utils/adt/jsonpath_exec.c:1044 #, c-format msgid "JSON object does not contain key \"%s\"" msgstr "JSON-объект не содержит ключ \"%s\"" -#: utils/adt/jsonpath_exec.c:687 +#: utils/adt/jsonpath_exec.c:1056 #, c-format msgid "jsonpath member accessor can only be applied to an object" msgstr "" "выражение обращения к члену в jsonpath может применяться только к объекту" -#: utils/adt/jsonpath_exec.c:716 +# skip-rule: space-before-period +#: utils/adt/jsonpath_exec.c:1114 #, c-format -msgid "jsonpath wildcard array accessor can only be applied to an array" +msgid "jsonpath item method .%s() can only be applied to an array" +msgstr "метод .%s() в jsonpath может применяться только к массиву" + +#: utils/adt/jsonpath_exec.c:1167 utils/adt/jsonpath_exec.c:1193 +#, c-format +msgid "" +"argument \"%s\" of jsonpath item method .%s() is invalid for type double " +"precision" msgstr "" -"выражение обращения по звёздочке в jsonpath может применяться только к " -"массиву" +"аргумент \"%s\" метода элемента jsonpath .%s() некорректен для типа double " +"precision" -#: utils/adt/jsonpath_exec.c:764 +#: utils/adt/jsonpath_exec.c:1172 utils/adt/jsonpath_exec.c:1198 +#: utils/adt/jsonpath_exec.c:1414 utils/adt/jsonpath_exec.c:1446 #, c-format -msgid "jsonpath array subscript is out of bounds" -msgstr "индекс массива в jsonpath вне диапазона" +msgid "NaN or Infinity is not allowed for jsonpath item method .%s()" +msgstr "метод элемента jsonpath .%s() не принимает значения NaN и Infinity" -#: utils/adt/jsonpath_exec.c:821 +# skip-rule: space-before-period +#: utils/adt/jsonpath_exec.c:1211 utils/adt/jsonpath_exec.c:1313 +#: utils/adt/jsonpath_exec.c:1455 utils/adt/jsonpath_exec.c:1593 #, c-format -msgid "jsonpath array accessor can only be applied to an array" +msgid "" +"jsonpath item method .%s() can only be applied to a string or numeric value" msgstr "" -"выражение обращения к массиву в jsonpath может применяться только к массиву" +"метод .%s() в jsonpath может применяться только к строковому или числовому " +"значению" -#: utils/adt/jsonpath_exec.c:873 +#: utils/adt/jsonpath_exec.c:1281 utils/adt/jsonpath_exec.c:1305 #, c-format -msgid "jsonpath wildcard member accessor can only be applied to an object" +msgid "" +"argument \"%s\" of jsonpath item method .%s() is invalid for type bigint" msgstr "" -"выражение обращения по звёздочке в jsonpath может применяться только к " -"объекту" +"аргумент \"%s\" метода элемента jsonpath .%s() не подходит для типа bigint" + +#: utils/adt/jsonpath_exec.c:1357 utils/adt/jsonpath_exec.c:1377 +#, c-format +msgid "" +"argument \"%s\" of jsonpath item method .%s() is invalid for type boolean" +msgstr "" +"аргумент \"%s\" метода элемента jsonpath .%s() не подходит для типа boolean" # skip-rule: space-before-period -#: utils/adt/jsonpath_exec.c:1007 +#: utils/adt/jsonpath_exec.c:1386 #, c-format -msgid "jsonpath item method .%s() can only be applied to an array" -msgstr "метод .%s() в jsonpath может применяться только к массиву" +msgid "" +"jsonpath item method .%s() can only be applied to a boolean, string, or " +"numeric value" +msgstr "" +"метод .%s() в jsonpath может применяться только к булевскому, строковому или " +"числовому значению" + +#: utils/adt/jsonpath_exec.c:1439 utils/adt/jsonpath_exec.c:1528 +#, c-format +msgid "" +"argument \"%s\" of jsonpath item method .%s() is invalid for type numeric" +msgstr "" +"аргумент \"%s\" метода элемента jsonpath .%s() не подходит для типа numeric" -#: utils/adt/jsonpath_exec.c:1060 +#: utils/adt/jsonpath_exec.c:1487 #, c-format msgid "" -"numeric argument of jsonpath item method .%s() is out of range for type " -"double precision" +"precision of jsonpath item method .%s() is out of range for type integer" +msgstr "точность в аргументе метода jsonpath .%s() вне диапазона типа integer" + +#: utils/adt/jsonpath_exec.c:1501 +#, c-format +msgid "scale of jsonpath item method .%s() is out of range for type integer" msgstr "" -"числовой аргумент метода элемента jsonpath .%s() вне диапазона для типа " -"double precision" +"масштаб в аргументе метода элемента jsonpath .%s() вне диапазона типа integer" -#: utils/adt/jsonpath_exec.c:1081 +#: utils/adt/jsonpath_exec.c:1561 utils/adt/jsonpath_exec.c:1585 #, c-format msgid "" -"string argument of jsonpath item method .%s() is not a valid representation " -"of a double precision number" +"argument \"%s\" of jsonpath item method .%s() is invalid for type integer" msgstr "" -"строковый аргумент метода элемента jsonpath .%s() не является представлением " -"значения double precision" +"аргумент \"%s\" метода элемента jsonpath .%s() не подходит для типа integer" # skip-rule: space-before-period -#: utils/adt/jsonpath_exec.c:1094 +#: utils/adt/jsonpath_exec.c:1648 #, c-format msgid "" -"jsonpath item method .%s() can only be applied to a string or numeric value" +"jsonpath item method .%s() can only be applied to a boolean, string, " +"numeric, or datetime value" msgstr "" -"метод .%s() в jsonpath может применяться только к строковому или числовому " -"значению" +"метод .%s() в jsonpath может применяться только к булевскому, строковому, " +"числовому значению или к дате/времени" -#: utils/adt/jsonpath_exec.c:1587 +#: utils/adt/jsonpath_exec.c:2137 #, c-format msgid "left operand of jsonpath operator %s is not a single numeric value" msgstr "" "левый операнд оператора %s в jsonpath не является одним числовым значением" -#: utils/adt/jsonpath_exec.c:1594 +#: utils/adt/jsonpath_exec.c:2144 #, c-format msgid "right operand of jsonpath operator %s is not a single numeric value" msgstr "" "правый операнд оператора %s в jsonpath не является одним числовым значением" -#: utils/adt/jsonpath_exec.c:1662 +#: utils/adt/jsonpath_exec.c:2212 #, c-format msgid "operand of unary jsonpath operator %s is not a numeric value" msgstr "" "операнд унарного оператора %s в jsonpath не является числовым значением" # skip-rule: space-before-period -#: utils/adt/jsonpath_exec.c:1761 +#: utils/adt/jsonpath_exec.c:2311 #, c-format msgid "jsonpath item method .%s() can only be applied to a numeric value" msgstr "метод .%s() в jsonpath может применяться только к числовому значению" # skip-rule: space-before-period -#: utils/adt/jsonpath_exec.c:1801 +#: utils/adt/jsonpath_exec.c:2357 #, c-format msgid "jsonpath item method .%s() can only be applied to a string" msgstr "метод .%s() в jsonpath может применяться только к строке" -#: utils/adt/jsonpath_exec.c:1904 +#: utils/adt/jsonpath_exec.c:2450 +#, c-format +msgid "" +"time precision of jsonpath item method .%s() is out of range for type integer" +msgstr "" +"точность времени в аргументе метода jsonpath .%s() вне диапазона типа integer" + +#: utils/adt/jsonpath_exec.c:2484 utils/adt/jsonpath_exec.c:2490 +#: utils/adt/jsonpath_exec.c:2517 utils/adt/jsonpath_exec.c:2545 +#: utils/adt/jsonpath_exec.c:2598 utils/adt/jsonpath_exec.c:2649 +#: utils/adt/jsonpath_exec.c:2720 #, c-format -msgid "datetime format is not recognized: \"%s\"" -msgstr "формат datetime не распознан: \"%s\"" +msgid "%s format is not recognized: \"%s\"" +msgstr "формат %s не распознан: \"%s\"" -#: utils/adt/jsonpath_exec.c:1906 +#: utils/adt/jsonpath_exec.c:2486 #, c-format msgid "Use a datetime template argument to specify the input data format." msgstr "" "Воспользуйтесь аргументом datetime для указания формата входных данных." +#: utils/adt/jsonpath_exec.c:2679 utils/adt/jsonpath_exec.c:2760 +#, c-format +msgid "time precision of jsonpath item method .%s() is invalid" +msgstr "точность времени в аргументе метода jsonpath .%s() некорректная" + # skip-rule: space-before-period -#: utils/adt/jsonpath_exec.c:1974 +#: utils/adt/jsonpath_exec.c:2840 #, c-format msgid "jsonpath item method .%s() can only be applied to an object" msgstr "метод .%s() в jsonpath может применяться только к объекту" -#: utils/adt/jsonpath_exec.c:2156 +#: utils/adt/jsonpath_exec.c:3124 +#, c-format +msgid "could not convert value of type %s to jsonpath" +msgstr "преобразовать значение типа %s в jsonpath не удалось" + +#: utils/adt/jsonpath_exec.c:3158 #, c-format msgid "could not find jsonpath variable \"%s\"" msgstr "не удалось найти в jsonpath переменную \"%s\"" -#: utils/adt/jsonpath_exec.c:2420 +#: utils/adt/jsonpath_exec.c:3211 +#, c-format +msgid "\"vars\" argument is not an object" +msgstr "аргумент \"vars\" не является объектом" + +#: utils/adt/jsonpath_exec.c:3212 +#, c-format +msgid "" +"Jsonpath parameters should be encoded as key-value pairs of \"vars\" object." +msgstr "" +"Параметры jsonpath должны передаваться в виде пар ключ-значение в объекте " +"\"vars\"." + +#: utils/adt/jsonpath_exec.c:3475 #, c-format msgid "jsonpath array subscript is not a single numeric value" msgstr "индекс элемента в jsonpath не является одним числовым значением" -#: utils/adt/jsonpath_exec.c:2432 +#: utils/adt/jsonpath_exec.c:3487 #, c-format msgid "jsonpath array subscript is out of integer range" msgstr "индекс массива в jsonpath вне целочисленного диапазона" -#: utils/adt/jsonpath_exec.c:2609 +#: utils/adt/jsonpath_exec.c:3671 #, c-format msgid "cannot convert value from %s to %s without time zone usage" msgstr "значение %s нельзя преобразовать в %s без сведений о часовом поясе" -#: utils/adt/jsonpath_exec.c:2611 +#: utils/adt/jsonpath_exec.c:3673 #, c-format msgid "Use *_tz() function for time zone support." msgstr "Для передачи часового пояса используйте функцию *_tz()." +#: utils/adt/jsonpath_exec.c:3981 +#, c-format +msgid "" +"JSON path expression for column \"%s\" should return single item without " +"wrapper" +msgstr "" +"выражение пути JSON для столбца \"%s\" должно возвращать одиночный элемент " +"без обёртки" + +#: utils/adt/jsonpath_exec.c:3983 utils/adt/jsonpath_exec.c:3988 +#, c-format +msgid "Use the WITH WRAPPER clause to wrap SQL/JSON items into an array." +msgstr "" +"Используйте предложение WITH WRAPPER, чтобы обернуть элементы SQL/JSON в " +"массив." + +#: utils/adt/jsonpath_exec.c:3987 +#, c-format +msgid "" +"JSON path expression in JSON_QUERY should return single item without wrapper" +msgstr "" +"выражение пути JSON в JSON_QUERY должно возвращать одиночный элемент без " +"обёртки" + +#: utils/adt/jsonpath_exec.c:4045 utils/adt/jsonpath_exec.c:4069 +#, c-format +msgid "JSON path expression for column \"%s\" should return single scalar item" +msgstr "" +"выражение пути JSON для столбца \"%s\" должно возвращать один скалярный " +"элемент" + +#: utils/adt/jsonpath_exec.c:4050 utils/adt/jsonpath_exec.c:4074 +#, c-format +msgid "JSON path expression in JSON_VALUE should return single scalar item" +msgstr "" +"выражение пути JSON в JSON_VALUE должно возвращать один скалярный элемент" + # well-spelled: симв #: utils/adt/levenshtein.c:132 #, c-format msgid "levenshtein argument exceeds maximum length of %d characters" msgstr "длина аргумента levenshtein() превышает максимум (%d симв.)" -#: utils/adt/like.c:161 +#: utils/adt/like.c:159 #, c-format msgid "nondeterministic collations are not supported for LIKE" msgstr "недетерминированные правила сортировки не поддерживаются для LIKE" -#: utils/adt/like.c:190 utils/adt/like_support.c:1024 +#: utils/adt/like.c:188 utils/adt/like_support.c:1023 #, c-format msgid "could not determine which collation to use for ILIKE" msgstr "не удалось определить, какой порядок сортировки использовать для ILIKE" -#: utils/adt/like.c:202 +#: utils/adt/like.c:200 #, c-format msgid "nondeterministic collations are not supported for ILIKE" msgstr "недетерминированные правила сортировки не поддерживаются для ILIKE" @@ -27619,22 +28936,22 @@ msgstr "недетерминированные правила сортировк msgid "LIKE pattern must not end with escape character" msgstr "шаблон LIKE не должен заканчиваться защитным символом" -#: utils/adt/like_match.c:293 utils/adt/regexp.c:801 +#: utils/adt/like_match.c:293 utils/adt/regexp.c:800 #, c-format msgid "invalid escape string" msgstr "неверный защитный символ" -#: utils/adt/like_match.c:294 utils/adt/regexp.c:802 +#: utils/adt/like_match.c:294 utils/adt/regexp.c:801 #, c-format msgid "Escape string must be empty or one character." msgstr "Защитный символ должен быть пустым или состоять из одного байта." -#: utils/adt/like_support.c:1014 +#: utils/adt/like_support.c:1013 #, c-format msgid "case insensitive matching not supported on type bytea" msgstr "регистронезависимое сравнение не поддерживается для типа bytea" -#: utils/adt/like_support.c:1115 +#: utils/adt/like_support.c:1114 #, c-format msgid "regular-expression matching not supported on type bytea" msgstr "сравнение с регулярными выражениями не поддерживается для типа bytea" @@ -27644,12 +28961,12 @@ msgstr "сравнение с регулярными выражениями не msgid "invalid octet value in \"macaddr\" value: \"%s\"" msgstr "неверный октет в значении типа macaddr: \"%s\"" -#: utils/adt/mac8.c:554 +#: utils/adt/mac8.c:555 #, c-format msgid "macaddr8 data out of range to convert to macaddr" msgstr "значение в macaddr8 не допускает преобразование в macaddr" -#: utils/adt/mac8.c:555 +#: utils/adt/mac8.c:556 #, c-format msgid "" "Only addresses that have FF and FE as values in the 4th and 5th bytes from " @@ -27659,7 +28976,7 @@ msgstr "" "Преобразование из macaddr8 в macaddr возможно только для адресов, содержащих " "FF и FE в 4-ом и 5-ом байтах слева, например xx:xx:xx:ff:fe:xx:xx:xx." -#: utils/adt/mcxtfuncs.c:182 +#: utils/adt/mcxtfuncs.c:173 #, c-format msgid "PID %d is not a PostgreSQL server process" msgstr "PID %d не относится к серверному процессу PostgreSQL" @@ -27698,70 +29015,70 @@ msgstr "может быть открытой меткой" msgid "requires AS" msgstr "требует AS" -#: utils/adt/misc.c:853 utils/adt/misc.c:867 utils/adt/misc.c:906 -#: utils/adt/misc.c:912 utils/adt/misc.c:918 utils/adt/misc.c:941 +#: utils/adt/misc.c:897 utils/adt/misc.c:911 utils/adt/misc.c:950 +#: utils/adt/misc.c:956 utils/adt/misc.c:962 utils/adt/misc.c:985 #, c-format msgid "string is not a valid identifier: \"%s\"" msgstr "строка не является допустимым идентификатором: \"%s\"" -#: utils/adt/misc.c:855 +#: utils/adt/misc.c:899 #, c-format msgid "String has unclosed double quotes." msgstr "В строке не закрыты кавычки." -#: utils/adt/misc.c:869 +#: utils/adt/misc.c:913 #, c-format msgid "Quoted identifier must not be empty." msgstr "Идентификатор в кавычках не может быть пустым." -#: utils/adt/misc.c:908 +#: utils/adt/misc.c:952 #, c-format msgid "No valid identifier before \".\"." msgstr "Перед \".\" нет допустимого идентификатора." -#: utils/adt/misc.c:914 +#: utils/adt/misc.c:958 #, c-format msgid "No valid identifier after \".\"." msgstr "После \".\" нет допустимого идентификатора." -#: utils/adt/misc.c:974 +#: utils/adt/misc.c:1018 #, c-format msgid "log format \"%s\" is not supported" msgstr "формат журнала \"%s\" не поддерживается" -#: utils/adt/misc.c:975 +#: utils/adt/misc.c:1019 #, c-format msgid "The supported log formats are \"stderr\", \"csvlog\", and \"jsonlog\"." msgstr "Поддерживаются форматы журналов \"stderr\", \"csvlog\" и \"jsonlog\"." -#: utils/adt/multirangetypes.c:151 utils/adt/multirangetypes.c:164 -#: utils/adt/multirangetypes.c:193 utils/adt/multirangetypes.c:267 -#: utils/adt/multirangetypes.c:291 +#: utils/adt/multirangetypes.c:150 utils/adt/multirangetypes.c:163 +#: utils/adt/multirangetypes.c:192 utils/adt/multirangetypes.c:266 +#: utils/adt/multirangetypes.c:290 #, c-format msgid "malformed multirange literal: \"%s\"" msgstr "ошибочный литерал мультидиапазона: \"%s\"" -#: utils/adt/multirangetypes.c:153 +#: utils/adt/multirangetypes.c:152 #, c-format msgid "Missing left brace." msgstr "Отсутствует левая фигурная скобка." -#: utils/adt/multirangetypes.c:195 +#: utils/adt/multirangetypes.c:194 #, c-format msgid "Expected range start." msgstr "Ожидалось начало диапазона." -#: utils/adt/multirangetypes.c:269 +#: utils/adt/multirangetypes.c:268 #, c-format msgid "Expected comma or end of multirange." msgstr "Ожидалась запятая или конец мультидиапазона." -#: utils/adt/multirangetypes.c:982 +#: utils/adt/multirangetypes.c:981 #, c-format msgid "multiranges cannot be constructed from multidimensional arrays" msgstr "мультидиапазоны нельзя получить из массивов мультидиапазонов" -#: utils/adt/multirangetypes.c:1008 +#: utils/adt/multirangetypes.c:1007 #, c-format msgid "multirange values cannot contain null members" msgstr "мультидиапазоны не могут содержать элементы NULL" @@ -27840,102 +29157,122 @@ msgstr "результат вне диапазона" msgid "cannot subtract inet values of different sizes" msgstr "нельзя вычитать значения inet разного размера" -#: utils/adt/numeric.c:785 utils/adt/numeric.c:3643 utils/adt/numeric.c:7131 -#: utils/adt/numeric.c:7334 utils/adt/numeric.c:7806 utils/adt/numeric.c:10501 -#: utils/adt/numeric.c:10975 utils/adt/numeric.c:11069 -#: utils/adt/numeric.c:11203 +#: 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 #, c-format msgid "value overflows numeric format" msgstr "значение переполняет формат numeric" -#: utils/adt/numeric.c:1098 +#: utils/adt/numeric.c:1106 #, c-format msgid "invalid sign in external \"numeric\" value" msgstr "неверный знак во внешнем значении \"numeric\"" -#: utils/adt/numeric.c:1104 +#: utils/adt/numeric.c:1112 #, c-format msgid "invalid scale in external \"numeric\" value" msgstr "неверный порядок числа во внешнем значении \"numeric\"" -#: utils/adt/numeric.c:1113 +#: utils/adt/numeric.c:1121 #, c-format msgid "invalid digit in external \"numeric\" value" msgstr "неверная цифра во внешнем значении \"numeric\"" -#: utils/adt/numeric.c:1328 utils/adt/numeric.c:1342 +#: utils/adt/numeric.c:1336 utils/adt/numeric.c:1350 #, c-format msgid "NUMERIC precision %d must be between 1 and %d" msgstr "точность NUMERIC %d должна быть между 1 и %d" -#: utils/adt/numeric.c:1333 +#: utils/adt/numeric.c:1341 #, c-format msgid "NUMERIC scale %d must be between %d and %d" msgstr "порядок NUMERIC %d должен быть между %d и %d" -#: utils/adt/numeric.c:1351 +#: utils/adt/numeric.c:1359 #, c-format msgid "invalid NUMERIC type modifier" msgstr "неверный модификатор типа NUMERIC" -#: utils/adt/numeric.c:1709 +#: utils/adt/numeric.c:1725 #, c-format msgid "start value cannot be NaN" msgstr "начальное значение не может быть NaN" -#: utils/adt/numeric.c:1713 +#: utils/adt/numeric.c:1729 #, c-format msgid "start value cannot be infinity" msgstr "начальное значение не может быть бесконечностью" -#: utils/adt/numeric.c:1720 +#: utils/adt/numeric.c:1736 #, c-format msgid "stop value cannot be NaN" msgstr "конечное значение не может быть NaN" -#: utils/adt/numeric.c:1724 +#: utils/adt/numeric.c:1740 #, c-format msgid "stop value cannot be infinity" msgstr "конечное значение не может быть бесконечностью" -#: utils/adt/numeric.c:1737 +#: utils/adt/numeric.c:1753 #, c-format msgid "step size cannot be NaN" msgstr "размер шага не может быть NaN" -#: utils/adt/numeric.c:1741 +#: utils/adt/numeric.c:1757 #, c-format msgid "step size cannot be infinity" msgstr "размер шага не может быть бесконечностью" -#: utils/adt/numeric.c:3633 +#: utils/adt/numeric.c:3649 #, c-format msgid "factorial of a negative number is undefined" msgstr "факториал отрицательного числа даёт неопределённость" -#: utils/adt/numeric.c:4366 utils/adt/numeric.c:4446 utils/adt/numeric.c:4487 -#: utils/adt/numeric.c:4683 +#: utils/adt/numeric.c:4256 +#, c-format +msgid "lower bound cannot be NaN" +msgstr "нижняя граница не может быть NaN" + +#: utils/adt/numeric.c:4260 +#, c-format +msgid "lower bound cannot be infinity" +msgstr "нижняя граница не может быть бесконечностью" + +#: utils/adt/numeric.c:4267 +#, c-format +msgid "upper bound cannot be NaN" +msgstr "верхняя граница не может быть NaN" + +#: utils/adt/numeric.c:4271 +#, 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 #, c-format msgid "cannot convert NaN to %s" msgstr "нельзя преобразовать NaN в %s" -#: utils/adt/numeric.c:4370 utils/adt/numeric.c:4450 utils/adt/numeric.c:4491 -#: utils/adt/numeric.c:4687 +#: utils/adt/numeric.c:4436 utils/adt/numeric.c:4524 utils/adt/numeric.c:4584 +#: utils/adt/numeric.c:4780 #, c-format msgid "cannot convert infinity to %s" msgstr "нельзя представить бесконечность в %s" -#: utils/adt/numeric.c:4696 +#: utils/adt/numeric.c:4789 #, c-format msgid "pg_lsn out of range" msgstr "pg_lsn вне диапазона" -#: utils/adt/numeric.c:7896 utils/adt/numeric.c:7947 +#: utils/adt/numeric.c:7981 utils/adt/numeric.c:8032 #, c-format msgid "numeric field overflow" msgstr "переполнение поля numeric" -#: utils/adt/numeric.c:7897 +#: utils/adt/numeric.c:7982 #, c-format msgid "" "A field with precision %d, scale %d must round to an absolute value less " @@ -27944,13 +29281,19 @@ msgstr "" "Поле с точностью %d, порядком %d должно округляться до абсолютного значения " "меньше чем %s%d." -#: utils/adt/numeric.c:7948 +#: utils/adt/numeric.c:8033 #, c-format msgid "A field with precision %d, scale %d cannot hold an infinite value." msgstr "" "Поле с точностью %d, порядком %d не может содержать значение бесконечности." -#: utils/adt/oid.c:216 +#: utils/adt/numeric.c:11359 utils/adt/pseudorandomfuncs.c:135 +#: utils/adt/pseudorandomfuncs.c:159 +#, c-format +msgid "lower bound must be less than or equal to upper bound" +msgstr "нижняя граница должна быть меньше или равна верхней" + +#: utils/adt/oid.c:217 #, c-format msgid "invalid oidvector data" msgstr "неверные данные oidvector" @@ -27980,37 +29323,42 @@ msgstr "код запрошенного символа слишком велик msgid "requested character not valid for encoding: %u" msgstr "запрошенный символ не подходит для кодировки: %u" -#: utils/adt/orderedsetaggs.c:448 utils/adt/orderedsetaggs.c:553 -#: utils/adt/orderedsetaggs.c:693 +#: utils/adt/orderedsetaggs.c:446 utils/adt/orderedsetaggs.c:551 +#: utils/adt/orderedsetaggs.c:691 #, c-format msgid "percentile value %g is not between 0 and 1" msgstr "значение перцентиля %g лежит не в диапазоне 0..1" -#: utils/adt/pg_locale.c:1410 +#: utils/adt/pg_locale.c:326 utils/adt/pg_locale.c:358 +#, c-format +msgid "locale name \"%s\" contains non-ASCII characters" +msgstr "имя локали \"%s\" содержит не-ASCII символы" + +#: utils/adt/pg_locale.c:1507 #, c-format msgid "could not open collator for locale \"%s\" with rules \"%s\": %s" msgstr "" "не удалось открыть сортировщик для локали \"%s\" с правилами \"%s\": %s" -#: utils/adt/pg_locale.c:1421 utils/adt/pg_locale.c:2831 -#: utils/adt/pg_locale.c:2904 +#: utils/adt/pg_locale.c:1518 utils/adt/pg_locale.c:2992 +#: utils/adt/pg_locale.c:3065 #, c-format msgid "ICU is not supported in this build" msgstr "ICU не поддерживается в данной сборке" -#: utils/adt/pg_locale.c:1450 +#: utils/adt/pg_locale.c:1546 #, c-format msgid "could not create locale \"%s\": %m" msgstr "не удалось создать локаль \"%s\": %m" -#: utils/adt/pg_locale.c:1453 +#: utils/adt/pg_locale.c:1549 #, c-format msgid "" "The operating system could not find any locale data for the locale name " "\"%s\"." msgstr "Операционная система не может найти данные локали с именем \"%s\"." -#: utils/adt/pg_locale.c:1568 +#: utils/adt/pg_locale.c:1670 #, c-format msgid "" "collations with different collate and ctype values are not supported on this " @@ -28019,22 +29367,17 @@ msgstr "" "правила сортировки с разными значениями collate и ctype не поддерживаются на " "этой платформе" -#: utils/adt/pg_locale.c:1577 -#, c-format -msgid "collation provider LIBC is not supported on this platform" -msgstr "провайдер правил сортировки LIBC не поддерживается на этой платформе" - -#: utils/adt/pg_locale.c:1618 +#: utils/adt/pg_locale.c:1717 #, c-format msgid "collation \"%s\" has no actual version, but a version was recorded" msgstr "для правила сортировки \"%s\", лишённого версии, была записана версия" -#: utils/adt/pg_locale.c:1624 +#: utils/adt/pg_locale.c:1723 #, c-format msgid "collation \"%s\" has version mismatch" msgstr "несовпадение версии для правила сортировки \"%s\"" -#: utils/adt/pg_locale.c:1626 +#: utils/adt/pg_locale.c:1725 #, c-format msgid "" "The collation in the database was created using version %s, but the " @@ -28043,7 +29386,7 @@ msgstr "" "Правило сортировки в базе данных было создано с версией %s, но операционная " "система предоставляет версию %s." -#: utils/adt/pg_locale.c:1629 +#: utils/adt/pg_locale.c:1728 #, c-format msgid "" "Rebuild all objects affected by this collation and run ALTER COLLATION %s " @@ -28053,92 +29396,98 @@ msgstr "" "ALTER COLLATION %s REFRESH VERSION либо соберите PostgreSQL с правильной " "версией библиотеки." -#: utils/adt/pg_locale.c:1695 +#: utils/adt/pg_locale.c:1772 utils/adt/pg_locale.c:2556 +#: utils/adt/pg_locale.c:2581 +#, c-format +msgid "invalid locale name \"%s\" for builtin provider" +msgstr "неверное имя локали \"%s\" для встроенного провайдера" + +#: utils/adt/pg_locale.c:1814 #, c-format msgid "could not load locale \"%s\"" msgstr "не удалось загрузить локаль \"%s\"" -#: utils/adt/pg_locale.c:1720 +#: utils/adt/pg_locale.c:1839 #, c-format msgid "could not get collation version for locale \"%s\": error code %lu" msgstr "" "не удалось получить версию правила сортировки для локали \"%s\" (код ошибки: " "%lu)" -#: utils/adt/pg_locale.c:1776 utils/adt/pg_locale.c:1789 +#: utils/adt/pg_locale.c:1895 utils/adt/pg_locale.c:1908 #, c-format msgid "could not convert string to UTF-16: error code %lu" msgstr "не удалось преобразовать строку в UTF-16 (код ошибки: %lu)" -#: utils/adt/pg_locale.c:1803 +#: utils/adt/pg_locale.c:1920 #, c-format msgid "could not compare Unicode strings: %m" msgstr "не удалось сравнить строки в Unicode: %m" -#: utils/adt/pg_locale.c:1984 +#: utils/adt/pg_locale.c:2094 #, c-format msgid "collation failed: %s" msgstr "ошибка в библиотеке сортировки: %s" -#: utils/adt/pg_locale.c:2205 utils/adt/pg_locale.c:2237 +#: utils/adt/pg_locale.c:2313 utils/adt/pg_locale.c:2345 #, c-format msgid "sort key generation failed: %s" msgstr "не удалось сгенерировать ключ сортировки: %s" -#: utils/adt/pg_locale.c:2474 +#: utils/adt/pg_locale.c:2635 #, c-format msgid "could not get language from locale \"%s\": %s" msgstr "не удалось определить язык для локали \"%s\": %s" -#: utils/adt/pg_locale.c:2495 utils/adt/pg_locale.c:2511 +#: utils/adt/pg_locale.c:2656 utils/adt/pg_locale.c:2672 #, c-format msgid "could not open collator for locale \"%s\": %s" msgstr "не удалось открыть сортировщик для локали \"%s\": %s" -#: utils/adt/pg_locale.c:2536 +#: utils/adt/pg_locale.c:2697 #, c-format msgid "encoding \"%s\" not supported by ICU" msgstr "ICU не поддерживает кодировку \"%s\"" -#: utils/adt/pg_locale.c:2543 +#: utils/adt/pg_locale.c:2704 #, c-format msgid "could not open ICU converter for encoding \"%s\": %s" msgstr "не удалось открыть преобразователь ICU для кодировки \"%s\": %s" -#: utils/adt/pg_locale.c:2561 utils/adt/pg_locale.c:2580 -#: utils/adt/pg_locale.c:2636 utils/adt/pg_locale.c:2647 +#: utils/adt/pg_locale.c:2722 utils/adt/pg_locale.c:2741 +#: utils/adt/pg_locale.c:2797 utils/adt/pg_locale.c:2808 #, c-format msgid "%s failed: %s" msgstr "ошибка %s: %s" -#: utils/adt/pg_locale.c:2822 +#: utils/adt/pg_locale.c:2983 #, c-format msgid "could not convert locale name \"%s\" to language tag: %s" msgstr "не удалось получить из названия локали \"%s\" метку языка: %s" -#: utils/adt/pg_locale.c:2863 +#: utils/adt/pg_locale.c:3024 #, c-format msgid "could not get language from ICU locale \"%s\": %s" msgstr "не удалось определить язык для локали ICU \"%s\": %s" -#: utils/adt/pg_locale.c:2865 utils/adt/pg_locale.c:2894 +#: utils/adt/pg_locale.c:3026 utils/adt/pg_locale.c:3055 #, c-format msgid "To disable ICU locale validation, set the parameter \"%s\" to \"%s\"." msgstr "" "Чтобы отключить проверку локалей ICU, установите для параметра \"%s\" " "значение \"%s\"." -#: utils/adt/pg_locale.c:2892 +#: utils/adt/pg_locale.c:3053 #, c-format msgid "ICU locale \"%s\" has unknown language \"%s\"" msgstr "для локали ICU \"%s\" получен неизвестный язык \"%s\"" -#: utils/adt/pg_locale.c:3073 +#: utils/adt/pg_locale.c:3204 #, c-format msgid "invalid multibyte character for locale" msgstr "неверный многобайтный символ для локали" -#: utils/adt/pg_locale.c:3074 +#: utils/adt/pg_locale.c:3205 #, c-format msgid "" "The server's LC_CTYPE locale is probably incompatible with the database " @@ -28146,137 +29495,142 @@ msgid "" msgstr "" "Параметр локали сервера LC_CTYPE, возможно, несовместим с кодировкой БД." -#: utils/adt/pg_lsn.c:263 +#: utils/adt/pg_lsn.c:262 #, c-format msgid "cannot add NaN to pg_lsn" msgstr "нельзя добавить NaN к pg_lsn" -#: utils/adt/pg_lsn.c:297 +#: utils/adt/pg_lsn.c:296 #, c-format msgid "cannot subtract NaN from pg_lsn" msgstr "нельзя вычесть NaN из pg_lsn" -#: utils/adt/pg_upgrade_support.c:29 +#: utils/adt/pg_upgrade_support.c:39 #, c-format msgid "function can only be called when server is in binary upgrade mode" msgstr "" "функцию можно вызывать только когда сервер в режиме двоичного обновления" -#: utils/adt/pgstatfuncs.c:254 +#: utils/adt/pgstatfuncs.c:252 #, c-format msgid "invalid command name: \"%s\"" msgstr "неверное имя команды: \"%s\"" -#: utils/adt/pgstatfuncs.c:1774 +#: utils/adt/pgstatfuncs.c:1739 #, c-format msgid "unrecognized reset target: \"%s\"" msgstr "запрошен сброс неизвестного счётчика: \"%s\"" -#: utils/adt/pgstatfuncs.c:1775 +#: utils/adt/pgstatfuncs.c:1740 #, c-format msgid "" -"Target must be \"archiver\", \"bgwriter\", \"io\", \"recovery_prefetch\", or " -"\"wal\"." +"Target must be \"archiver\", \"bgwriter\", \"checkpointer\", \"io\", " +"\"recovery_prefetch\", \"slru\", or \"wal\"." msgstr "" "Допустимые счётчики: \"archiver\", \"bgwriter\", \"io\", " -"\"recovery_prefetch\" и \"wal\"." +"\"recovery_prefetch\", \"slru\" и \"wal\"." -#: utils/adt/pgstatfuncs.c:1857 +#: utils/adt/pgstatfuncs.c:1822 #, c-format msgid "invalid subscription OID %u" msgstr "неверный OID подписки %u" -#: utils/adt/pseudotypes.c:58 utils/adt/pseudotypes.c:92 +#: utils/adt/pseudorandomfuncs.c:69 +#, c-format +msgid "setseed parameter %g is out of allowed range [-1,1]" +msgstr "параметр setseed %g вне допустимого диапазона [-1,1]" + +#: utils/adt/pseudotypes.c:55 utils/adt/pseudotypes.c:89 #, c-format msgid "cannot display a value of type %s" msgstr "значение типа %s нельзя вывести" -#: utils/adt/pseudotypes.c:310 +#: utils/adt/pseudotypes.c:307 #, c-format msgid "cannot accept a value of a shell type" msgstr "значение типа shell нельзя ввести" -#: utils/adt/pseudotypes.c:320 +#: utils/adt/pseudotypes.c:317 #, c-format msgid "cannot display a value of a shell type" msgstr "значение типа shell нельзя вывести" -#: utils/adt/rangetypes.c:415 +#: utils/adt/rangetypes.c:422 #, c-format msgid "range constructor flags argument must not be null" msgstr "аргумент flags конструктора диапазона не может быть NULL" -#: utils/adt/rangetypes.c:1014 +#: utils/adt/rangetypes.c:1021 #, c-format msgid "result of range difference would not be contiguous" msgstr "результат вычитания диапазонов будет не непрерывным" -#: utils/adt/rangetypes.c:1075 +#: utils/adt/rangetypes.c:1082 #, c-format msgid "result of range union would not be contiguous" msgstr "результат объединения диапазонов будет не непрерывным" -#: utils/adt/rangetypes.c:1750 +#: utils/adt/rangetypes.c:1757 #, c-format msgid "range lower bound must be less than or equal to range upper bound" msgstr "нижняя граница диапазона должна быть меньше или равна верхней" -#: utils/adt/rangetypes.c:2197 utils/adt/rangetypes.c:2210 -#: utils/adt/rangetypes.c:2224 +#: utils/adt/rangetypes.c:2256 utils/adt/rangetypes.c:2269 +#: utils/adt/rangetypes.c:2283 #, c-format msgid "invalid range bound flags" msgstr "неверные флаги границ диапазона" -#: utils/adt/rangetypes.c:2198 utils/adt/rangetypes.c:2211 -#: utils/adt/rangetypes.c:2225 +#: utils/adt/rangetypes.c:2257 utils/adt/rangetypes.c:2270 +#: utils/adt/rangetypes.c:2284 #, c-format msgid "Valid values are \"[]\", \"[)\", \"(]\", and \"()\"." msgstr "Допустимые значения: \"[]\", \"[)\", \"(]\" и \"()\"." -#: utils/adt/rangetypes.c:2293 utils/adt/rangetypes.c:2310 -#: utils/adt/rangetypes.c:2325 utils/adt/rangetypes.c:2345 -#: utils/adt/rangetypes.c:2356 utils/adt/rangetypes.c:2403 -#: utils/adt/rangetypes.c:2411 +#: utils/adt/rangetypes.c:2352 utils/adt/rangetypes.c:2369 +#: utils/adt/rangetypes.c:2384 utils/adt/rangetypes.c:2404 +#: utils/adt/rangetypes.c:2415 utils/adt/rangetypes.c:2462 +#: utils/adt/rangetypes.c:2470 #, c-format msgid "malformed range literal: \"%s\"" msgstr "ошибочный литерал диапазона: \"%s\"" -#: utils/adt/rangetypes.c:2295 +#: utils/adt/rangetypes.c:2354 #, c-format msgid "Junk after \"empty\" key word." msgstr "Мусор после ключевого слова \"empty\"." -#: utils/adt/rangetypes.c:2312 +#: utils/adt/rangetypes.c:2371 #, c-format msgid "Missing left parenthesis or bracket." msgstr "Отсутствует левая скобка (круглая или квадратная)." -#: utils/adt/rangetypes.c:2327 +#: utils/adt/rangetypes.c:2386 #, c-format msgid "Missing comma after lower bound." msgstr "Отсутствует запятая после нижней границы." -#: utils/adt/rangetypes.c:2347 +#: utils/adt/rangetypes.c:2406 #, c-format msgid "Too many commas." msgstr "Слишком много запятых." -#: utils/adt/rangetypes.c:2358 +#: utils/adt/rangetypes.c:2417 #, c-format msgid "Junk after right parenthesis or bracket." msgstr "Мусор после правой скобки." -#: utils/adt/regexp.c:305 utils/adt/regexp.c:1997 utils/adt/varlena.c:4270 +#: utils/adt/regexp.c:304 utils/adt/regexp.c:1996 utils/adt/varlena.c:4273 #, c-format msgid "regular expression failed: %s" msgstr "ошибка в регулярном выражении: %s" -#: utils/adt/regexp.c:446 utils/adt/regexp.c:681 +#: utils/adt/regexp.c:445 utils/adt/regexp.c:680 #, c-format msgid "invalid regular expression option: \"%.*s\"" msgstr "неверный параметр регулярного выражения: \"%.*s\"" -#: utils/adt/regexp.c:683 +#: utils/adt/regexp.c:682 #, c-format msgid "" "If you meant to use regexp_replace() with a start parameter, cast the fourth " @@ -28285,15 +29639,15 @@ msgstr "" "Если вы хотите вызвать regexp_replace() с параметром start, явно приведите " "четвёртый аргумент к целочисленному типу." -#: utils/adt/regexp.c:717 utils/adt/regexp.c:726 utils/adt/regexp.c:1083 -#: utils/adt/regexp.c:1147 utils/adt/regexp.c:1156 utils/adt/regexp.c:1165 -#: utils/adt/regexp.c:1174 utils/adt/regexp.c:1854 utils/adt/regexp.c:1863 -#: utils/adt/regexp.c:1872 utils/misc/guc.c:6627 utils/misc/guc.c:6661 +#: 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:6785 utils/misc/guc.c:6819 #, c-format msgid "invalid value for parameter \"%s\": %d" msgstr "неверное значение параметра \"%s\": %d" -#: utils/adt/regexp.c:937 +#: utils/adt/regexp.c:936 #, c-format msgid "" "SQL regular expression may not contain more than two escape-double-quote " @@ -28303,19 +29657,19 @@ msgstr "" "(экранированных кавычек)" #. translator: %s is a SQL function name -#: utils/adt/regexp.c:1094 utils/adt/regexp.c:1185 utils/adt/regexp.c:1272 -#: utils/adt/regexp.c:1311 utils/adt/regexp.c:1699 utils/adt/regexp.c:1754 -#: utils/adt/regexp.c:1883 +#: 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 #, c-format msgid "%s does not support the \"global\" option" msgstr "%s не поддерживает режим \"global\"" -#: utils/adt/regexp.c:1313 +#: utils/adt/regexp.c:1312 #, c-format msgid "Use the regexp_matches function instead." msgstr "Вместо неё используйте функцию regexp_matches." -#: utils/adt/regexp.c:1501 +#: utils/adt/regexp.c:1500 #, c-format msgid "too many regular expression matches" msgstr "слишком много совпадений для регулярного выражения" @@ -28330,19 +29684,19 @@ msgstr "имя \"%s\" имеют несколько функций" msgid "more than one operator named %s" msgstr "имя %s имеют несколько операторов" -#: utils/adt/regproc.c:670 gram.y:8841 +#: utils/adt/regproc.c:670 gram.y:8992 #, c-format msgid "missing argument" msgstr "отсутствует аргумент" -#: utils/adt/regproc.c:671 gram.y:8842 +#: utils/adt/regproc.c:671 gram.y:8993 #, c-format msgid "Use NONE to denote the missing argument of a unary operator." msgstr "" "Чтобы обозначить отсутствующий аргумент унарного оператора, укажите NONE." -#: utils/adt/regproc.c:675 utils/adt/regproc.c:2009 utils/adt/ruleutils.c:10021 -#: utils/adt/ruleutils.c:10234 +#: utils/adt/regproc.c:675 utils/adt/regproc.c:2029 utils/adt/ruleutils.c:10498 +#: utils/adt/ruleutils.c:10711 #, c-format msgid "too many arguments" msgstr "слишком много аргументов" @@ -28352,65 +29706,65 @@ msgstr "слишком много аргументов" msgid "Provide two argument types for operator." msgstr "Предоставьте для оператора два типа аргументов." -#: utils/adt/regproc.c:1544 utils/adt/regproc.c:1661 utils/adt/regproc.c:1790 -#: utils/adt/regproc.c:1795 utils/adt/varlena.c:3410 utils/adt/varlena.c:3415 +#: utils/adt/regproc.c:1564 utils/adt/regproc.c:1681 utils/adt/regproc.c:1810 +#: utils/adt/regproc.c:1815 utils/adt/varlena.c:3413 utils/adt/varlena.c:3418 #, c-format msgid "invalid name syntax" msgstr "ошибка синтаксиса в имени" -#: utils/adt/regproc.c:1904 +#: utils/adt/regproc.c:1924 #, c-format msgid "expected a left parenthesis" msgstr "ожидалась левая скобка" -#: utils/adt/regproc.c:1922 +#: utils/adt/regproc.c:1942 #, c-format msgid "expected a right parenthesis" msgstr "ожидалась правая скобка" -#: utils/adt/regproc.c:1941 +#: utils/adt/regproc.c:1961 #, c-format msgid "expected a type name" msgstr "ожидалось имя типа" -#: utils/adt/regproc.c:1973 +#: utils/adt/regproc.c:1993 #, c-format msgid "improper type name" msgstr "ошибочное имя типа" -#: utils/adt/ri_triggers.c:306 utils/adt/ri_triggers.c:1625 -#: utils/adt/ri_triggers.c:2610 +#: utils/adt/ri_triggers.c:303 utils/adt/ri_triggers.c:1616 +#: utils/adt/ri_triggers.c:2601 #, c-format msgid "insert or update on table \"%s\" violates foreign key constraint \"%s\"" msgstr "" "INSERT или UPDATE в таблице \"%s\" нарушает ограничение внешнего ключа \"%s\"" -#: utils/adt/ri_triggers.c:309 utils/adt/ri_triggers.c:1628 +#: utils/adt/ri_triggers.c:306 utils/adt/ri_triggers.c:1619 #, c-format msgid "MATCH FULL does not allow mixing of null and nonnull key values." msgstr "MATCH FULL не позволяет смешивать в значении ключа null и не null." -#: utils/adt/ri_triggers.c:2045 +#: utils/adt/ri_triggers.c:2036 #, c-format msgid "function \"%s\" must be fired for INSERT" msgstr "функция \"%s\" должна запускаться для INSERT" -#: utils/adt/ri_triggers.c:2051 +#: utils/adt/ri_triggers.c:2042 #, c-format msgid "function \"%s\" must be fired for UPDATE" msgstr "функция \"%s\" должна запускаться для UPDATE" -#: utils/adt/ri_triggers.c:2057 +#: utils/adt/ri_triggers.c:2048 #, c-format msgid "function \"%s\" must be fired for DELETE" msgstr "функция \"%s\" должна запускаться для DELETE" -#: utils/adt/ri_triggers.c:2080 +#: utils/adt/ri_triggers.c:2071 #, c-format msgid "no pg_constraint entry for trigger \"%s\" on table \"%s\"" msgstr "для триггера \"%s\" таблицы \"%s\" нет записи pg_constraint" -#: utils/adt/ri_triggers.c:2082 +#: utils/adt/ri_triggers.c:2073 #, c-format msgid "" "Remove this referential integrity trigger and its mates, then do ALTER TABLE " @@ -28419,12 +29773,12 @@ msgstr "" "Удалите этот триггер ссылочной целостности и связанные объекты, а затем " "выполните ALTER TABLE ADD CONSTRAINT." -#: utils/adt/ri_triggers.c:2112 gram.y:4223 +#: utils/adt/ri_triggers.c:2103 gram.y:4340 #, c-format msgid "MATCH PARTIAL not yet implemented" msgstr "выражение MATCH PARTIAL ещё не реализовано" -#: utils/adt/ri_triggers.c:2435 +#: utils/adt/ri_triggers.c:2426 #, c-format msgid "" "referential integrity query on \"%s\" from constraint \"%s\" on \"%s\" gave " @@ -28433,33 +29787,33 @@ msgstr "" "неожиданный результат запроса ссылочной целостности к \"%s\" из ограничения " "\"%s\" таблицы \"%s\"" -#: utils/adt/ri_triggers.c:2439 +#: utils/adt/ri_triggers.c:2430 #, c-format msgid "This is most likely due to a rule having rewritten the query." msgstr "Скорее всего это вызвано правилом, переписавшим запрос." -#: utils/adt/ri_triggers.c:2600 +#: utils/adt/ri_triggers.c:2591 #, c-format msgid "removing partition \"%s\" violates foreign key constraint \"%s\"" msgstr "" "при удалении секции \"%s\" нарушается ограничение внешнего ключа \"%s\"" -#: utils/adt/ri_triggers.c:2603 utils/adt/ri_triggers.c:2628 +#: utils/adt/ri_triggers.c:2594 utils/adt/ri_triggers.c:2619 #, c-format msgid "Key (%s)=(%s) is still referenced from table \"%s\"." msgstr "На ключ (%s)=(%s) всё ещё есть ссылки в таблице \"%s\"." -#: utils/adt/ri_triggers.c:2614 +#: utils/adt/ri_triggers.c:2605 #, c-format msgid "Key (%s)=(%s) is not present in table \"%s\"." msgstr "Ключ (%s)=(%s) отсутствует в таблице \"%s\"." -#: utils/adt/ri_triggers.c:2617 +#: utils/adt/ri_triggers.c:2608 #, c-format msgid "Key is not present in table \"%s\"." msgstr "Ключ отсутствует в таблице \"%s\"." -#: utils/adt/ri_triggers.c:2623 +#: utils/adt/ri_triggers.c:2614 #, c-format msgid "" "update or delete on table \"%s\" violates foreign key constraint \"%s\" on " @@ -28468,48 +29822,48 @@ msgstr "" "UPDATE или DELETE в таблице \"%s\" нарушает ограничение внешнего ключа " "\"%s\" таблицы \"%s\"" -#: utils/adt/ri_triggers.c:2631 +#: utils/adt/ri_triggers.c:2622 #, c-format msgid "Key is still referenced from table \"%s\"." msgstr "На ключ всё ещё есть ссылки в таблице \"%s\"." -#: utils/adt/rowtypes.c:106 utils/adt/rowtypes.c:510 +#: utils/adt/rowtypes.c:105 utils/adt/rowtypes.c:509 #, c-format msgid "input of anonymous composite types is not implemented" msgstr "ввод анонимных составных типов не реализован" -#: utils/adt/rowtypes.c:159 utils/adt/rowtypes.c:191 utils/adt/rowtypes.c:217 -#: utils/adt/rowtypes.c:228 utils/adt/rowtypes.c:286 utils/adt/rowtypes.c:297 +#: utils/adt/rowtypes.c:158 utils/adt/rowtypes.c:190 utils/adt/rowtypes.c:216 +#: utils/adt/rowtypes.c:227 utils/adt/rowtypes.c:285 utils/adt/rowtypes.c:296 #, c-format msgid "malformed record literal: \"%s\"" msgstr "ошибка в литерале записи: \"%s\"" -#: utils/adt/rowtypes.c:160 +#: utils/adt/rowtypes.c:159 #, c-format msgid "Missing left parenthesis." msgstr "Отсутствует левая скобка." -#: utils/adt/rowtypes.c:192 +#: utils/adt/rowtypes.c:191 #, c-format msgid "Too few columns." msgstr "Слишком мало столбцов." -#: utils/adt/rowtypes.c:287 +#: utils/adt/rowtypes.c:286 #, c-format msgid "Too many columns." msgstr "Слишком много столбцов." -#: utils/adt/rowtypes.c:298 +#: utils/adt/rowtypes.c:297 #, c-format msgid "Junk after right parenthesis." msgstr "Мусор после правой скобки." -#: utils/adt/rowtypes.c:559 +#: utils/adt/rowtypes.c:558 #, c-format msgid "wrong number of columns: %d, expected %d" msgstr "неверное число столбцов: %d, ожидалось: %d" -#: utils/adt/rowtypes.c:601 +#: utils/adt/rowtypes.c:599 #, c-format msgid "" "binary data has type %u (%s) instead of expected %u (%s) in record column %d" @@ -28517,168 +29871,177 @@ msgstr "" "с бинарными данными связан тип %u (%s) вместо ожидаемого %u (%s) в столбце " "записи %d" -#: utils/adt/rowtypes.c:668 +#: utils/adt/rowtypes.c:660 #, c-format msgid "improper binary format in record column %d" msgstr "неподходящий двоичный формат в столбце записи %d" -#: utils/adt/rowtypes.c:959 utils/adt/rowtypes.c:1205 utils/adt/rowtypes.c:1463 -#: utils/adt/rowtypes.c:1709 +#: utils/adt/rowtypes.c:949 utils/adt/rowtypes.c:1195 utils/adt/rowtypes.c:1453 +#: utils/adt/rowtypes.c:1699 #, c-format msgid "cannot compare dissimilar column types %s and %s at record column %d" msgstr "не удалось сравнить различные типы столбцов %s и %s, столбец записи %d" -#: utils/adt/rowtypes.c:1050 utils/adt/rowtypes.c:1275 -#: utils/adt/rowtypes.c:1560 utils/adt/rowtypes.c:1745 +#: utils/adt/rowtypes.c:1040 utils/adt/rowtypes.c:1265 +#: utils/adt/rowtypes.c:1550 utils/adt/rowtypes.c:1735 #, c-format msgid "cannot compare record types with different numbers of columns" msgstr "сравнивать типы записей с разным числом столбцов нельзя" -#: utils/adt/ruleutils.c:2679 +#: utils/adt/ruleutils.c:2689 #, c-format msgid "input is a query, not an expression" msgstr "на вход поступил запрос, а не выражение" -#: utils/adt/ruleutils.c:2691 +#: utils/adt/ruleutils.c:2701 #, c-format msgid "expression contains variables of more than one relation" msgstr "выражение содержит переменные из нескольких отношений" -#: utils/adt/ruleutils.c:2698 +#: utils/adt/ruleutils.c:2708 #, c-format msgid "expression contains variables" msgstr "выражение содержит переменные" -#: utils/adt/ruleutils.c:5228 +#: utils/adt/ruleutils.c:5241 #, c-format msgid "rule \"%s\" has unsupported event type %d" msgstr "правило \"%s\" имеет неподдерживаемый тип событий %d" -#: utils/adt/timestamp.c:112 +#: utils/adt/timestamp.c:128 #, c-format msgid "TIMESTAMP(%d)%s precision must not be negative" msgstr "TIMESTAMP(%d)%s: точность должна быть неотрицательна" -#: utils/adt/timestamp.c:118 +#: utils/adt/timestamp.c:134 #, c-format msgid "TIMESTAMP(%d)%s precision reduced to maximum allowed, %d" msgstr "TIMESTAMP(%d)%s: точность уменьшена до дозволенного максимума: %d" -#: utils/adt/timestamp.c:378 +#: utils/adt/timestamp.c:394 #, c-format msgid "timestamp(%d) precision must be between %d and %d" msgstr "точность timestamp(%d) должна быть между %d и %d" -#: utils/adt/timestamp.c:496 +#: utils/adt/timestamp.c:512 #, c-format msgid "Numeric time zones must have \"-\" or \"+\" as first character." msgstr "" "Запись числового часового пояса должна начинаться с символа \"-\" или \"+\"." -#: utils/adt/timestamp.c:508 +#: utils/adt/timestamp.c:524 #, c-format msgid "numeric time zone \"%s\" out of range" msgstr "числовой часовой пояс \"%s\" вне диапазона" -#: utils/adt/timestamp.c:609 utils/adt/timestamp.c:619 -#: utils/adt/timestamp.c:627 +#: utils/adt/timestamp.c:625 utils/adt/timestamp.c:635 +#: utils/adt/timestamp.c:643 #, c-format msgid "timestamp out of range: %d-%02d-%02d %d:%02d:%02g" msgstr "timestamp вне диапазона: %d-%02d-%02d %d:%02d:%02g" -#: utils/adt/timestamp.c:728 +#: utils/adt/timestamp.c:744 #, c-format msgid "timestamp cannot be NaN" msgstr "timestamp не может быть NaN" -#: utils/adt/timestamp.c:746 utils/adt/timestamp.c:758 +#: utils/adt/timestamp.c:762 utils/adt/timestamp.c:774 #, c-format msgid "timestamp out of range: \"%g\"" msgstr "timestamp вне диапазона: \"%g\"" -#: utils/adt/timestamp.c:941 utils/adt/timestamp.c:1518 -#: utils/adt/timestamp.c:2708 utils/adt/timestamp.c:2778 -#: utils/adt/timestamp.c:2795 utils/adt/timestamp.c:2848 -#: utils/adt/timestamp.c:2887 utils/adt/timestamp.c:3215 -#: utils/adt/timestamp.c:3220 utils/adt/timestamp.c:3225 -#: utils/adt/timestamp.c:3275 utils/adt/timestamp.c:3282 -#: utils/adt/timestamp.c:3289 utils/adt/timestamp.c:3309 -#: utils/adt/timestamp.c:3316 utils/adt/timestamp.c:3323 -#: utils/adt/timestamp.c:3410 utils/adt/timestamp.c:3485 -#: utils/adt/timestamp.c:3854 utils/adt/timestamp.c:3978 -#: utils/adt/timestamp.c:4026 utils/adt/timestamp.c:4036 -#: utils/adt/timestamp.c:4226 utils/adt/timestamp.c:4236 -#: utils/adt/timestamp.c:4532 +#: utils/adt/timestamp.c:957 utils/adt/timestamp.c:1516 +#: utils/adt/timestamp.c:1526 utils/adt/timestamp.c:1587 +#: utils/adt/timestamp.c:2807 utils/adt/timestamp.c:2816 +#: utils/adt/timestamp.c:2831 utils/adt/timestamp.c:2905 +#: utils/adt/timestamp.c:2922 utils/adt/timestamp.c:2979 +#: utils/adt/timestamp.c:3022 utils/adt/timestamp.c:3400 +#: utils/adt/timestamp.c:3458 utils/adt/timestamp.c:3481 +#: utils/adt/timestamp.c:3490 utils/adt/timestamp.c:3514 +#: utils/adt/timestamp.c:3537 utils/adt/timestamp.c:3546 +#: utils/adt/timestamp.c:3681 utils/adt/timestamp.c:3782 +#: utils/adt/timestamp.c:4189 utils/adt/timestamp.c:4226 +#: utils/adt/timestamp.c:4274 utils/adt/timestamp.c:4283 +#: utils/adt/timestamp.c:4375 utils/adt/timestamp.c:4422 +#: utils/adt/timestamp.c:4431 utils/adt/timestamp.c:4527 +#: utils/adt/timestamp.c:4580 utils/adt/timestamp.c:4590 +#: utils/adt/timestamp.c:4785 utils/adt/timestamp.c:4795 +#: utils/adt/timestamp.c:5097 #, c-format msgid "interval out of range" msgstr "interval вне диапазона" -#: utils/adt/timestamp.c:1065 utils/adt/timestamp.c:1098 +#: utils/adt/timestamp.c:1094 utils/adt/timestamp.c:1127 #, c-format msgid "invalid INTERVAL type modifier" msgstr "неверный модификатор типа INTERVAL" -#: utils/adt/timestamp.c:1081 +#: utils/adt/timestamp.c:1110 #, c-format msgid "INTERVAL(%d) precision must not be negative" msgstr "INTERVAL(%d): точность должна быть неотрицательна" -#: utils/adt/timestamp.c:1087 +#: utils/adt/timestamp.c:1116 #, c-format msgid "INTERVAL(%d) precision reduced to maximum allowed, %d" msgstr "INTERVAL(%d): точность уменьшена до максимально возможной: %d" -#: utils/adt/timestamp.c:1473 +#: utils/adt/timestamp.c:1506 #, c-format msgid "interval(%d) precision must be between %d and %d" msgstr "точность interval(%d) должна быть между %d и %d" -#: utils/adt/timestamp.c:2703 -#, c-format -msgid "cannot subtract infinite timestamps" -msgstr "вычитать бесконечные значения timestamp нельзя" - -#: utils/adt/timestamp.c:4015 utils/adt/timestamp.c:4215 +#: utils/adt/timestamp.c:4564 utils/adt/timestamp.c:4769 #, c-format msgid "origin out of range" msgstr "начало вне диапазона" -#: utils/adt/timestamp.c:4020 utils/adt/timestamp.c:4220 +#: utils/adt/timestamp.c:4569 utils/adt/timestamp.c:4774 +#, c-format +msgid "timestamps cannot be binned into infinite intervals" +msgstr "значения timestamp нельзя подогнать под бесконечные интервалы" + +#: utils/adt/timestamp.c:4574 utils/adt/timestamp.c:4779 #, c-format msgid "timestamps cannot be binned into intervals containing months or years" msgstr "" "значения timestamp нельзя подогнать под интервалы, содержащие месяцы или годы" -#: utils/adt/timestamp.c:4031 utils/adt/timestamp.c:4231 +#: utils/adt/timestamp.c:4585 utils/adt/timestamp.c:4790 #, c-format msgid "stride must be greater than zero" msgstr "шаг должен быть больше нуля" -#: utils/adt/timestamp.c:4526 +#: utils/adt/timestamp.c:5091 #, c-format msgid "Months usually have fractional weeks." msgstr "В месяцах обычно дробное количество недель." -#: utils/adt/trigfuncs.c:42 +#: utils/adt/timestamp.c:6551 utils/adt/timestamp.c:6637 +#, c-format +msgid "step size cannot be infinite" +msgstr "размер шага не может быть бесконечным" + +#: utils/adt/trigfuncs.c:41 #, c-format msgid "suppress_redundant_updates_trigger: must be called as trigger" msgstr "" "функция suppress_redundant_updates_trigger должна вызываться как триггер" -#: utils/adt/trigfuncs.c:48 +#: utils/adt/trigfuncs.c:47 #, c-format msgid "suppress_redundant_updates_trigger: must be called on update" msgstr "" "функция suppress_redundant_updates_trigger должна вызываться при обновлении" -#: utils/adt/trigfuncs.c:54 +#: utils/adt/trigfuncs.c:53 #, c-format msgid "suppress_redundant_updates_trigger: must be called before update" msgstr "" "функция suppress_redundant_updates_trigger должна вызываться перед " "обновлением" -#: utils/adt/trigfuncs.c:60 +#: utils/adt/trigfuncs.c:59 #, c-format msgid "suppress_redundant_updates_trigger: must be called for each row" msgstr "" @@ -28699,32 +30062,32 @@ msgstr "" msgid "no operand in tsquery: \"%s\"" msgstr "нет оператора в tsquery: \"%s\"" -#: utils/adt/tsquery.c:558 +#: utils/adt/tsquery.c:554 #, c-format msgid "value is too big in tsquery: \"%s\"" msgstr "слишком большое значение в tsquery: \"%s\"" -#: utils/adt/tsquery.c:563 +#: utils/adt/tsquery.c:559 #, c-format msgid "operand is too long in tsquery: \"%s\"" msgstr "слишком длинный операнд в tsquery: \"%s\"" -#: utils/adt/tsquery.c:591 +#: utils/adt/tsquery.c:587 #, c-format msgid "word is too long in tsquery: \"%s\"" msgstr "слишком длинное слово в tsquery: \"%s\"" -#: utils/adt/tsquery.c:717 utils/adt/tsvector_parser.c:147 +#: utils/adt/tsquery.c:713 utils/adt/tsvector_parser.c:147 #, c-format msgid "syntax error in tsquery: \"%s\"" msgstr "ошибка синтаксиса в tsquery: \"%s\"" -#: utils/adt/tsquery.c:883 +#: utils/adt/tsquery.c:879 #, c-format msgid "text-search query doesn't contain lexemes: \"%s\"" msgstr "запрос поиска текста не содержит лексемы: \"%s\"" -#: utils/adt/tsquery.c:894 utils/adt/tsquery_util.c:376 +#: utils/adt/tsquery.c:890 utils/adt/tsquery_util.c:376 #, c-format msgid "tsquery is too large" msgstr "tsquery слишком большой" @@ -28763,72 +30126,72 @@ msgstr "массив весов не может содержать null" msgid "weight out of range" msgstr "вес вне диапазона" -#: utils/adt/tsvector.c:217 +#: utils/adt/tsvector.c:216 #, c-format msgid "word is too long (%ld bytes, max %ld bytes)" msgstr "слово слишком длинное (%ld Б, при максимуме %ld)" -#: utils/adt/tsvector.c:224 +#: utils/adt/tsvector.c:223 #, c-format msgid "string is too long for tsvector (%ld bytes, max %ld bytes)" msgstr "строка слишком длинна для tsvector (%ld Б, при максимуме %ld)" -#: utils/adt/tsvector_op.c:773 +#: utils/adt/tsvector_op.c:771 #, c-format msgid "lexeme array may not contain nulls" msgstr "массив лексем не может содержать элементы null" -#: utils/adt/tsvector_op.c:778 +#: utils/adt/tsvector_op.c:776 #, c-format msgid "lexeme array may not contain empty strings" msgstr "массив лексем не должен содержать пустые строки" -#: utils/adt/tsvector_op.c:847 +#: utils/adt/tsvector_op.c:845 #, c-format msgid "weight array may not contain nulls" msgstr "массив весов не может содержать элементы null" -#: utils/adt/tsvector_op.c:871 +#: utils/adt/tsvector_op.c:869 #, c-format msgid "unrecognized weight: \"%c\"" msgstr "нераспознанный вес: \"%c\"" -#: utils/adt/tsvector_op.c:2601 +#: utils/adt/tsvector_op.c:2599 #, c-format msgid "ts_stat query must return one tsvector column" msgstr "запрос ts_stat должен вернуть один столбец tsvector" -#: utils/adt/tsvector_op.c:2790 +#: utils/adt/tsvector_op.c:2788 #, c-format msgid "tsvector column \"%s\" does not exist" msgstr "столбец \"%s\" типа tsvector не существует" -#: utils/adt/tsvector_op.c:2797 +#: utils/adt/tsvector_op.c:2795 #, c-format msgid "column \"%s\" is not of tsvector type" msgstr "столбец \"%s\" должен иметь тип tsvector" -#: utils/adt/tsvector_op.c:2809 +#: utils/adt/tsvector_op.c:2807 #, c-format msgid "configuration column \"%s\" does not exist" msgstr "столбец конфигурации \"%s\" не существует" -#: utils/adt/tsvector_op.c:2815 +#: utils/adt/tsvector_op.c:2813 #, c-format msgid "column \"%s\" is not of regconfig type" msgstr "столбец \"%s\" должен иметь тип regconfig" -#: utils/adt/tsvector_op.c:2822 +#: utils/adt/tsvector_op.c:2820 #, c-format msgid "configuration column \"%s\" must not be null" msgstr "значение столбца конфигурации \"%s\" не должно быть null" -#: utils/adt/tsvector_op.c:2835 +#: utils/adt/tsvector_op.c:2833 #, c-format msgid "text search configuration name \"%s\" must be schema-qualified" msgstr "имя конфигурации текстового поиска \"%s\" должно указываться со схемой" -#: utils/adt/tsvector_op.c:2860 +#: utils/adt/tsvector_op.c:2858 #, c-format msgid "column \"%s\" is not of a character type" msgstr "столбец \"%s\" имеет не символьный тип" @@ -28849,17 +30212,17 @@ msgstr "нет спец. символа \"%s\"" msgid "wrong position info in tsvector: \"%s\"" msgstr "неверная информация о позиции в tsvector: \"%s\"" -#: utils/adt/uuid.c:413 +#: utils/adt/uuid.c:418 #, c-format msgid "could not generate random values" msgstr "не удалось сгенерировать случайные значения" -#: utils/adt/varbit.c:110 utils/adt/varchar.c:54 +#: utils/adt/varbit.c:110 utils/adt/varchar.c:53 #, c-format msgid "length for type %s must be at least 1" msgstr "длина значения типа %s должна быть как минимум 1" -#: utils/adt/varbit.c:115 utils/adt/varchar.c:58 +#: utils/adt/varbit.c:115 utils/adt/varchar.c:57 #, c-format msgid "length for type %s cannot exceed %d" msgstr "длина значения типа %s не может превышать %d" @@ -28894,9 +30257,9 @@ msgstr "неверная длина во внешней строке битов" msgid "bit string too long for type bit varying(%d)" msgstr "строка битов не умещается в тип bit varying(%d)" -#: utils/adt/varbit.c:1081 utils/adt/varbit.c:1191 utils/adt/varlena.c:908 -#: utils/adt/varlena.c:971 utils/adt/varlena.c:1128 utils/adt/varlena.c:3052 -#: utils/adt/varlena.c:3130 +#: utils/adt/varbit.c:1081 utils/adt/varbit.c:1191 utils/adt/varlena.c:911 +#: utils/adt/varlena.c:974 utils/adt/varlena.c:1131 utils/adt/varlena.c:3055 +#: utils/adt/varlena.c:3133 #, c-format msgid "negative substring length not allowed" msgstr "подстрока должна иметь неотрицательную длину" @@ -28922,106 +30285,113 @@ msgstr "" msgid "bit index %d out of valid range (0..%d)" msgstr "индекс бита %d вне диапазона 0..%d" -#: utils/adt/varbit.c:1833 utils/adt/varlena.c:3334 +#: utils/adt/varbit.c:1833 utils/adt/varlena.c:3337 #, c-format msgid "new bit must be 0 or 1" msgstr "значением бита должен быть 0 или 1" -#: utils/adt/varchar.c:162 utils/adt/varchar.c:313 +#: utils/adt/varchar.c:161 utils/adt/varchar.c:312 #, c-format msgid "value too long for type character(%d)" msgstr "значение не умещается в тип character(%d)" -#: utils/adt/varchar.c:476 utils/adt/varchar.c:640 +#: utils/adt/varchar.c:475 utils/adt/varchar.c:639 #, c-format msgid "value too long for type character varying(%d)" msgstr "значение не умещается в тип character varying(%d)" -#: utils/adt/varchar.c:738 utils/adt/varlena.c:1517 +#: utils/adt/varchar.c:737 utils/adt/varlena.c:1520 #, c-format msgid "could not determine which collation to use for string comparison" msgstr "" "не удалось определить, какое правило сортировки использовать для сравнения " "строк" -#: utils/adt/varlena.c:1227 utils/adt/varlena.c:1806 +#: utils/adt/varlena.c:1230 utils/adt/varlena.c:1809 #, c-format msgid "nondeterministic collations are not supported for substring searches" msgstr "" "недетерминированные правила сортировки не поддерживаются для поиска подстрок" -#: utils/adt/varlena.c:3218 utils/adt/varlena.c:3285 +#: utils/adt/varlena.c:3221 utils/adt/varlena.c:3288 #, c-format msgid "index %d out of valid range, 0..%d" msgstr "индекс %d вне диапазона 0..%d" -#: utils/adt/varlena.c:3249 utils/adt/varlena.c:3321 +#: utils/adt/varlena.c:3252 utils/adt/varlena.c:3324 #, c-format msgid "index %lld out of valid range, 0..%lld" msgstr "индекс %lld вне диапазона 0..%lld" -#: utils/adt/varlena.c:4382 +#: utils/adt/varlena.c:4385 #, c-format msgid "field position must not be zero" msgstr "позиция поля должна быть отлична от 0" -#: utils/adt/varlena.c:5554 +#: utils/adt/varlena.c:5630 #, c-format msgid "unterminated format() type specifier" msgstr "незавершённый спецификатор типа format()" -#: utils/adt/varlena.c:5555 utils/adt/varlena.c:5689 utils/adt/varlena.c:5810 +#: utils/adt/varlena.c:5631 utils/adt/varlena.c:5765 utils/adt/varlena.c:5886 #, c-format msgid "For a single \"%%\" use \"%%%%\"." msgstr "Для представления одного знака \"%%\" запишите \"%%%%\"." -#: utils/adt/varlena.c:5687 utils/adt/varlena.c:5808 +#: utils/adt/varlena.c:5763 utils/adt/varlena.c:5884 #, c-format msgid "unrecognized format() type specifier \"%.*s\"" msgstr "нераспознанный спецификатор типа format(): \"%.*s\"" -#: utils/adt/varlena.c:5700 utils/adt/varlena.c:5757 +#: utils/adt/varlena.c:5776 utils/adt/varlena.c:5833 #, c-format msgid "too few arguments for format()" msgstr "мало аргументов для format()" -#: utils/adt/varlena.c:5853 utils/adt/varlena.c:6035 +#: utils/adt/varlena.c:5929 utils/adt/varlena.c:6111 #, c-format msgid "number is out of range" msgstr "число вне диапазона" -#: utils/adt/varlena.c:5916 utils/adt/varlena.c:5944 +#: utils/adt/varlena.c:5992 utils/adt/varlena.c:6020 #, c-format msgid "format specifies argument 0, but arguments are numbered from 1" msgstr "формат ссылается на аргумент 0, но аргументы нумеруются с 1" -#: utils/adt/varlena.c:5937 +#: utils/adt/varlena.c:6013 #, c-format msgid "width argument position must be ended by \"$\"" msgstr "указание аргумента ширины должно оканчиваться \"$\"" -#: utils/adt/varlena.c:5982 +#: utils/adt/varlena.c:6058 #, c-format msgid "null values cannot be formatted as an SQL identifier" msgstr "значения null нельзя представить в виде SQL-идентификатора" -#: utils/adt/varlena.c:6190 +#: utils/adt/varlena.c:6266 #, c-format msgid "Unicode normalization can only be performed if server encoding is UTF8" msgstr "" "нормализацию Unicode можно выполнять, только если кодировка сервера — UTF8" -#: utils/adt/varlena.c:6203 +#: utils/adt/varlena.c:6279 #, c-format msgid "invalid normalization form: %s" msgstr "неверная форма нормализации: %s" -#: utils/adt/varlena.c:6406 utils/adt/varlena.c:6441 utils/adt/varlena.c:6476 +# well-spelled: категоризацию +#: utils/adt/varlena.c:6324 +#, c-format +msgid "Unicode categorization can only be performed if server encoding is UTF8" +msgstr "" +"категоризацию Unicode можно выполнять, только если кодировка сервера — UTF8" + +#: utils/adt/varlena.c:6541 utils/adt/varlena.c:6576 utils/adt/varlena.c:6611 #, c-format msgid "invalid Unicode code point: %04X" msgstr "неверный код символа Unicode: %04X" -#: utils/adt/varlena.c:6506 +#: utils/adt/varlena.c:6641 #, c-format msgid "Unicode escapes must be \\XXXX, \\+XXXXXX, \\uXXXX, or \\UXXXXXXXX." msgstr "" @@ -29032,17 +30402,17 @@ msgstr "" msgid "argument of ntile must be greater than zero" msgstr "аргумент ntile должен быть больше нуля" -#: utils/adt/windowfuncs.c:723 +#: utils/adt/windowfuncs.c:707 #, c-format msgid "argument of nth_value must be greater than zero" msgstr "аргумент nth_value должен быть больше нуля" -#: utils/adt/xid8funcs.c:126 +#: utils/adt/xid8funcs.c:124 #, c-format msgid "transaction ID %llu is in the future" msgstr "ID транзакции %llu относится к будущему" -#: utils/adt/xid8funcs.c:555 +#: utils/adt/xid8funcs.c:553 #, c-format msgid "invalid external pg_snapshot data" msgstr "неверное внешнее представление pg_snapshot" @@ -29057,7 +30427,7 @@ msgstr "XML-функции не поддерживаются" msgid "This functionality requires the server to be built with libxml support." msgstr "Для этой функциональности в сервере не хватает поддержки libxml." -#: utils/adt/xml.c:258 utils/mb/mbutils.c:628 +#: utils/adt/xml.c:258 utils/mb/mbutils.c:627 #, c-format msgid "invalid encoding name \"%s\"" msgstr "неверное имя кодировки: \"%s\"" @@ -29067,37 +30437,37 @@ msgstr "неверное имя кодировки: \"%s\"" msgid "invalid XML comment" msgstr "ошибка в XML-комментарии" -#: utils/adt/xml.c:670 +#: utils/adt/xml.c:697 #, c-format msgid "not an XML document" msgstr "не XML-документ" -#: utils/adt/xml.c:966 utils/adt/xml.c:989 +#: utils/adt/xml.c:1008 utils/adt/xml.c:1031 #, c-format msgid "invalid XML processing instruction" msgstr "неправильная XML-инструкция обработки (PI)" -#: utils/adt/xml.c:967 +#: utils/adt/xml.c:1009 #, c-format msgid "XML processing instruction target name cannot be \"%s\"." msgstr "назначением XML-инструкции обработки (PI) не может быть \"%s\"." -#: utils/adt/xml.c:990 +#: utils/adt/xml.c:1032 #, c-format msgid "XML processing instruction cannot contain \"?>\"." msgstr "XML-инструкция обработки (PI) не может содержать \"?>\"." -#: utils/adt/xml.c:1069 +#: utils/adt/xml.c:1111 #, c-format msgid "xmlvalidate is not implemented" msgstr "функция xmlvalidate не реализована" -#: utils/adt/xml.c:1125 +#: utils/adt/xml.c:1167 #, c-format msgid "could not initialize XML library" msgstr "не удалось инициализировать библиотеку XML" -#: utils/adt/xml.c:1126 +#: utils/adt/xml.c:1168 #, c-format msgid "" "libxml2 has incompatible char type: sizeof(char)=%zu, sizeof(xmlChar)=%zu." @@ -29105,12 +30475,12 @@ msgstr "" "В libxml2 оказался несовместимый тип char: sizeof(char)=%zu, " "sizeof(xmlChar)=%zu." -#: utils/adt/xml.c:1212 +#: utils/adt/xml.c:1254 #, c-format msgid "could not set up XML error handler" msgstr "не удалось установить обработчик XML-ошибок" -#: utils/adt/xml.c:1213 +#: utils/adt/xml.c:1255 #, c-format msgid "" "This probably indicates that the version of libxml2 being used is not " @@ -29119,125 +30489,125 @@ msgstr "" "Возможно, это означает, что используемая версия libxml2 несовместима с " "заголовочными файлами libxml2, с которыми был собран PostgreSQL." -#: utils/adt/xml.c:2199 +#: utils/adt/xml.c:2281 msgid "Invalid character value." msgstr "Неверный символ." -#: utils/adt/xml.c:2202 +#: utils/adt/xml.c:2284 msgid "Space required." msgstr "Требуется пробел." -#: utils/adt/xml.c:2205 +#: utils/adt/xml.c:2287 msgid "standalone accepts only 'yes' or 'no'." msgstr "значениями атрибута standalone могут быть только 'yes' и 'no'." -#: utils/adt/xml.c:2208 +#: utils/adt/xml.c:2290 msgid "Malformed declaration: missing version." msgstr "Ошибочное объявление: не указана версия." -#: utils/adt/xml.c:2211 +#: utils/adt/xml.c:2293 msgid "Missing encoding in text declaration." msgstr "В объявлении не указана кодировка." -#: utils/adt/xml.c:2214 +#: utils/adt/xml.c:2296 msgid "Parsing XML declaration: '?>' expected." msgstr "Ошибка при разборе XML-объявления: ожидается '?>'." -#: utils/adt/xml.c:2217 +#: utils/adt/xml.c:2299 #, c-format msgid "Unrecognized libxml error code: %d." msgstr "Нераспознанный код ошибки libxml: %d." -#: utils/adt/xml.c:2471 +#: utils/adt/xml.c:2553 #, c-format msgid "XML does not support infinite date values." msgstr "XML не поддерживает бесконечность в датах." -#: utils/adt/xml.c:2493 utils/adt/xml.c:2520 +#: utils/adt/xml.c:2575 utils/adt/xml.c:2602 #, c-format msgid "XML does not support infinite timestamp values." msgstr "XML не поддерживает бесконечность в timestamp." -#: utils/adt/xml.c:2936 +#: utils/adt/xml.c:3018 #, c-format msgid "invalid query" msgstr "неверный запрос" -#: utils/adt/xml.c:3028 +#: utils/adt/xml.c:3110 #, c-format msgid "portal \"%s\" does not return tuples" msgstr "портал \"%s\" не возвращает кортежи" -#: utils/adt/xml.c:4280 +#: utils/adt/xml.c:4362 #, c-format msgid "invalid array for XML namespace mapping" msgstr "неправильный массив с сопоставлениями пространств имён XML" -#: utils/adt/xml.c:4281 +#: utils/adt/xml.c:4363 #, c-format msgid "" "The array must be two-dimensional with length of the second axis equal to 2." msgstr "Массив должен быть двухмерным и содержать 2 элемента по второй оси." -#: utils/adt/xml.c:4305 +#: utils/adt/xml.c:4387 #, c-format msgid "empty XPath expression" msgstr "пустое выражение XPath" -#: utils/adt/xml.c:4357 +#: utils/adt/xml.c:4439 #, c-format msgid "neither namespace name nor URI may be null" msgstr "ни префикс, ни URI пространства имён не может быть null" -#: utils/adt/xml.c:4364 +#: utils/adt/xml.c:4446 #, c-format msgid "could not register XML namespace with name \"%s\" and URI \"%s\"" msgstr "" "не удалось зарегистрировать пространство имён XML с префиксом \"%s\" и URI " "\"%s\"" -#: utils/adt/xml.c:4707 +#: utils/adt/xml.c:4795 #, c-format msgid "DEFAULT namespace is not supported" msgstr "пространство имён DEFAULT не поддерживается" -#: utils/adt/xml.c:4736 +#: utils/adt/xml.c:4824 #, c-format msgid "row path filter must not be empty string" msgstr "путь отбираемых строк не должен быть пустым" -#: utils/adt/xml.c:4767 +#: utils/adt/xml.c:4858 #, c-format msgid "column path filter must not be empty string" msgstr "путь отбираемого столбца не должен быть пустым" -#: utils/adt/xml.c:4911 +#: utils/adt/xml.c:5005 #, c-format msgid "more than one value returned by column XPath expression" msgstr "выражение XPath, отбирающее столбец, возвратило более одного значения" -#: utils/cache/lsyscache.c:1043 +#: utils/cache/lsyscache.c:1017 #, c-format msgid "cast from type %s to type %s does not exist" msgstr "приведение типа %s к типу %s не существует" -#: utils/cache/lsyscache.c:2845 utils/cache/lsyscache.c:2878 -#: utils/cache/lsyscache.c:2911 utils/cache/lsyscache.c:2944 +#: utils/cache/lsyscache.c:2887 utils/cache/lsyscache.c:2920 +#: utils/cache/lsyscache.c:2953 utils/cache/lsyscache.c:2986 #, c-format msgid "type %s is only a shell" msgstr "тип %s является пустышкой" -#: utils/cache/lsyscache.c:2850 +#: utils/cache/lsyscache.c:2892 #, c-format msgid "no input function available for type %s" msgstr "для типа %s нет функции ввода" -#: utils/cache/lsyscache.c:2883 +#: utils/cache/lsyscache.c:2925 #, c-format msgid "no output function available for type %s" msgstr "для типа %s нет функции вывода" -#: utils/cache/partcache.c:219 +#: utils/cache/partcache.c:216 #, c-format msgid "" "operator class \"%s\" of access method %s is missing support function %d for " @@ -29246,56 +30616,56 @@ msgstr "" "в классе операторов \"%s\" метода доступа %s нет опорной функции %d для типа " "%s" -#: utils/cache/plancache.c:724 +#: utils/cache/plancache.c:747 #, c-format msgid "cached plan must not change result type" msgstr "в кешированном плане не должен изменяться тип результата" -#: utils/cache/relcache.c:3741 +#: utils/cache/relcache.c:3801 #, c-format msgid "heap relfilenumber value not set when in binary upgrade mode" msgstr "" "значение relfilenumber для кучи не задано в режиме двоичного обновления" -#: utils/cache/relcache.c:3749 +#: utils/cache/relcache.c:3809 #, c-format msgid "unexpected request for new relfilenumber in binary upgrade mode" msgstr "" "неожиданный запрос нового значения relfilenumber в режиме двоичного " "обновления" -#: utils/cache/relcache.c:6495 +#: utils/cache/relcache.c:6539 #, c-format msgid "could not create relation-cache initialization file \"%s\": %m" msgstr "создать файл инициализации для кеша отношений \"%s\" не удалось: %m" -#: utils/cache/relcache.c:6497 +#: utils/cache/relcache.c:6541 #, c-format msgid "Continuing anyway, but there's something wrong." msgstr "Продолжаем всё равно, хотя что-то не так." -#: utils/cache/relcache.c:6819 +#: utils/cache/relcache.c:6871 #, c-format msgid "could not remove cache file \"%s\": %m" msgstr "не удалось стереть файл кеша \"%s\": %m" -#: utils/cache/relmapper.c:597 +#: utils/cache/relmapper.c:596 #, c-format msgid "cannot PREPARE a transaction that modified relation mapping" msgstr "" "выполнить PREPARE для транзакции, изменившей сопоставление отношений, нельзя" -#: utils/cache/relmapper.c:853 +#: utils/cache/relmapper.c:852 #, c-format msgid "relation mapping file \"%s\" contains invalid data" msgstr "файл сопоставления отношений \"%s\" содержит неверные данные" -#: utils/cache/relmapper.c:863 +#: utils/cache/relmapper.c:862 #, c-format msgid "relation mapping file \"%s\" contains incorrect checksum" msgstr "ошибка контрольной суммы в файле сопоставления отношений \"%s\"" -#: utils/cache/typcache.c:1809 utils/fmgr/funcapi.c:574 +#: utils/cache/typcache.c:1812 utils/fmgr/funcapi.c:574 #, c-format msgid "record type has not been registered" msgstr "тип записи не зарегистрирован" @@ -29310,102 +30680,102 @@ msgstr "ЛОВУШКА: Исключительное условие: невер msgid "TRAP: failed Assert(\"%s\"), File: \"%s\", Line: %d, PID: %d\n" msgstr "ЛОВУШКА: нарушение Assert(\"%s\"), файл: \"%s\", строка: %d, PID: %d\n" -#: utils/error/elog.c:416 +#: utils/error/elog.c:415 #, c-format msgid "error occurred before error message processing is available\n" msgstr "произошла ошибка до готовности подсистемы обработки сообщений\n" -#: utils/error/elog.c:2096 +#: utils/error/elog.c:2134 #, c-format msgid "could not reopen file \"%s\" as stderr: %m" msgstr "открыть файл \"%s\" как stderr не удалось: %m" -#: utils/error/elog.c:2109 +#: utils/error/elog.c:2147 #, c-format msgid "could not reopen file \"%s\" as stdout: %m" msgstr "открыть файл \"%s\" как stdout не удалось: %m" -#: utils/error/elog.c:2145 +#: utils/error/elog.c:2183 #, c-format -msgid "invalid character" -msgstr "неверный символ" +msgid "Invalid character" +msgstr "Недопустимый символ" -#: utils/error/elog.c:2851 utils/error/elog.c:2878 utils/error/elog.c:2894 +#: utils/error/elog.c:2889 utils/error/elog.c:2916 utils/error/elog.c:2932 msgid "[unknown]" msgstr "[н/д]" -#: utils/error/elog.c:3167 utils/error/elog.c:3488 utils/error/elog.c:3595 +#: utils/error/elog.c:3202 utils/error/elog.c:3526 utils/error/elog.c:3633 msgid "missing error text" msgstr "отсутствует текст ошибки" -#: utils/error/elog.c:3170 utils/error/elog.c:3173 +#: utils/error/elog.c:3205 utils/error/elog.c:3208 #, c-format msgid " at character %d" msgstr " (символ %d)" -#: utils/error/elog.c:3183 utils/error/elog.c:3190 +#: utils/error/elog.c:3218 utils/error/elog.c:3225 msgid "DETAIL: " msgstr "ПОДРОБНОСТИ: " -#: utils/error/elog.c:3197 +#: utils/error/elog.c:3232 msgid "HINT: " msgstr "ПОДСКАЗКА: " -#: utils/error/elog.c:3204 +#: utils/error/elog.c:3239 msgid "QUERY: " msgstr "ЗАПРОС: " -#: utils/error/elog.c:3211 +#: utils/error/elog.c:3246 msgid "CONTEXT: " msgstr "КОНТЕКСТ: " -#: utils/error/elog.c:3221 +#: utils/error/elog.c:3256 #, c-format msgid "LOCATION: %s, %s:%d\n" msgstr "ПОЛОЖЕНИЕ: %s, %s:%d\n" -#: utils/error/elog.c:3228 +#: utils/error/elog.c:3263 #, c-format msgid "LOCATION: %s:%d\n" msgstr "ПОЛОЖЕНИЕ: %s:%d\n" -#: utils/error/elog.c:3235 +#: utils/error/elog.c:3270 msgid "BACKTRACE: " msgstr "СТЕК: " -#: utils/error/elog.c:3247 +#: utils/error/elog.c:3282 msgid "STATEMENT: " msgstr "ОПЕРАТОР: " -#: utils/error/elog.c:3640 +#: utils/error/elog.c:3678 msgid "DEBUG" msgstr "ОТЛАДКА" -#: utils/error/elog.c:3644 +#: utils/error/elog.c:3682 msgid "LOG" msgstr "СООБЩЕНИЕ" -#: utils/error/elog.c:3647 +#: utils/error/elog.c:3685 msgid "INFO" msgstr "ИНФОРМАЦИЯ" -#: utils/error/elog.c:3650 +#: utils/error/elog.c:3688 msgid "NOTICE" msgstr "ЗАМЕЧАНИЕ" -#: utils/error/elog.c:3654 +#: utils/error/elog.c:3692 msgid "WARNING" msgstr "ПРЕДУПРЕЖДЕНИЕ" -#: utils/error/elog.c:3657 +#: utils/error/elog.c:3695 msgid "ERROR" msgstr "ОШИБКА" -#: utils/error/elog.c:3660 +#: utils/error/elog.c:3698 msgid "FATAL" msgstr "ВАЖНО" -#: utils/error/elog.c:3663 +#: utils/error/elog.c:3701 msgid "PANIC" msgstr "ПАНИКА" @@ -29478,22 +30848,22 @@ msgstr "Отличительный блок имеет неверную длин msgid "incompatible library \"%s\": magic block mismatch" msgstr "несовместимая библиотека \"%s\": несоответствие отличительного блока" -#: utils/fmgr/dfmgr.c:492 +#: utils/fmgr/dfmgr.c:475 #, c-format msgid "access to library \"%s\" is not allowed" msgstr "доступ к библиотеке \"%s\" не разрешён" -#: utils/fmgr/dfmgr.c:518 +#: utils/fmgr/dfmgr.c:501 #, c-format msgid "invalid macro name in dynamic library path: %s" msgstr "неправильный макрос в пути динамической библиотеки: %s" -#: utils/fmgr/dfmgr.c:558 +#: utils/fmgr/dfmgr.c:541 #, c-format msgid "zero-length component in parameter \"dynamic_library_path\"" msgstr "параметр dynamic_library_path содержит компонент нулевой длины" -#: utils/fmgr/dfmgr.c:577 +#: utils/fmgr/dfmgr.c:560 #, c-format msgid "component in parameter \"dynamic_library_path\" is not an absolute path" msgstr "" @@ -29524,14 +30894,14 @@ msgid "unrecognized API version %d reported by info function \"%s\"" msgstr "" "версия API (%d), выданная информационной функцией \"%s\", не поддерживается" -#: utils/fmgr/fmgr.c:2080 +#: utils/fmgr/fmgr.c:2109 #, c-format msgid "operator class options info is absent in function call context" msgstr "" "информация о параметрах класса операторов отсутствует в контексте вызова " "функции" -#: utils/fmgr/fmgr.c:2147 +#: utils/fmgr/fmgr.c:2176 #, c-format msgid "language validation function %u called for language %u instead of %u" msgstr "функция языковой проверки %u вызвана для языка %u (а не %u)" @@ -29551,11 +30921,6 @@ msgid "argument declared %s does not contain a range type but type %s" msgstr "" "аргумент, объявленный как \"%s\", содержит не диапазонный тип, а тип %s" -#: utils/fmgr/funcapi.c:725 -#, c-format -msgid "could not find multirange type for data type %s" -msgstr "тип мультидиапазона для типа данных %s не найден" - #: utils/fmgr/funcapi.c:1929 utils/fmgr/funcapi.c:1961 #, c-format msgid "number of aliases does not match number of columns" @@ -29571,105 +30936,100 @@ msgstr "псевдоним столбца не указан" msgid "could not determine row description for function returning record" msgstr "не удалось определить описание строки для функции, возвращающей запись" -#: utils/init/miscinit.c:346 +#: utils/init/miscinit.c:352 #, c-format msgid "data directory \"%s\" does not exist" msgstr "каталог данных \"%s\" не существует" -#: utils/init/miscinit.c:351 +#: utils/init/miscinit.c:357 #, c-format msgid "could not read permissions of directory \"%s\": %m" -msgstr "не удалось считать права на каталог \"%s\": %m" +msgstr "не удалось прочитать права на каталог \"%s\": %m" -#: utils/init/miscinit.c:359 +#: utils/init/miscinit.c:365 #, c-format msgid "specified data directory \"%s\" is not a directory" msgstr "указанный каталог данных \"%s\" не существует" -#: utils/init/miscinit.c:375 +#: utils/init/miscinit.c:381 #, c-format msgid "data directory \"%s\" has wrong ownership" msgstr "владелец каталога данных \"%s\" определён неверно" -#: utils/init/miscinit.c:377 +#: utils/init/miscinit.c:383 #, c-format msgid "The server must be started by the user that owns the data directory." msgstr "" "Сервер должен запускать пользователь, являющийся владельцем каталога данных." -#: utils/init/miscinit.c:395 +#: utils/init/miscinit.c:401 #, c-format msgid "data directory \"%s\" has invalid permissions" msgstr "для каталога данных \"%s\" установлены неправильные права доступа" -#: utils/init/miscinit.c:397 +#: utils/init/miscinit.c:403 #, c-format msgid "Permissions should be u=rwx (0700) or u=rwx,g=rx (0750)." msgstr "Маска прав должна быть u=rwx (0700) или u=rwx,g=rx (0750)." -#: utils/init/miscinit.c:455 +#: utils/init/miscinit.c:461 #, c-format msgid "could not change directory to \"%s\": %m" msgstr "не удалось перейти в каталог \"%s\": %m" -#: utils/init/miscinit.c:692 utils/misc/guc.c:3557 +#: utils/init/miscinit.c:697 utils/misc/guc.c:3650 #, c-format msgid "cannot set parameter \"%s\" within security-restricted operation" msgstr "" "параметр \"%s\" нельзя задать в рамках операции с ограничениями по " "безопасности" -#: utils/init/miscinit.c:764 +#: utils/init/miscinit.c:770 #, c-format msgid "role with OID %u does not exist" msgstr "роль с OID %u не существует" -#: utils/init/miscinit.c:794 +#: utils/init/miscinit.c:800 #, c-format msgid "role \"%s\" is not permitted to log in" msgstr "для роли \"%s\" вход запрещён" -#: utils/init/miscinit.c:812 +#: utils/init/miscinit.c:818 #, c-format msgid "too many connections for role \"%s\"" msgstr "слишком много подключений для роли \"%s\"" -#: utils/init/miscinit.c:919 -#, c-format -msgid "permission denied to set session authorization" -msgstr "нет прав для смены объекта авторизации в сеансе" - -#: utils/init/miscinit.c:1002 +#: utils/init/miscinit.c:991 #, c-format msgid "invalid role OID: %u" msgstr "неверный OID роли: %u" -#: utils/init/miscinit.c:1149 +#: utils/init/miscinit.c:1138 #, c-format msgid "database system is shut down" msgstr "система БД выключена" -#: utils/init/miscinit.c:1236 +#: utils/init/miscinit.c:1225 #, c-format msgid "could not create lock file \"%s\": %m" msgstr "не удалось создать файл блокировки \"%s\": %m" -#: utils/init/miscinit.c:1250 +#: utils/init/miscinit.c:1239 #, c-format msgid "could not open lock file \"%s\": %m" msgstr "не удалось открыть файл блокировки \"%s\": %m" -#: utils/init/miscinit.c:1257 +#: utils/init/miscinit.c:1246 #, c-format msgid "could not read lock file \"%s\": %m" msgstr "не удалось прочитать файл блокировки \"%s\": %m" -#: utils/init/miscinit.c:1266 +#: utils/init/miscinit.c:1255 #, c-format msgid "lock file \"%s\" is empty" msgstr "файл блокировки \"%s\" пуст" -#: utils/init/miscinit.c:1267 +#: utils/init/miscinit.c:1256 #, c-format msgid "" "Either another server is starting, or the lock file is the remnant of a " @@ -29678,38 +31038,38 @@ msgstr "" "Либо сейчас запускается другой сервер, либо этот файл остался в результате " "сбоя при предыдущем запуске." -#: utils/init/miscinit.c:1311 +#: utils/init/miscinit.c:1300 #, c-format msgid "lock file \"%s\" already exists" msgstr "файл блокировки \"%s\" уже существует" -#: utils/init/miscinit.c:1315 +#: utils/init/miscinit.c:1304 #, c-format msgid "Is another postgres (PID %d) running in data directory \"%s\"?" msgstr "Другой экземпляр postgres (PID %d) работает с каталогом данных \"%s\"?" -#: utils/init/miscinit.c:1317 +#: utils/init/miscinit.c:1306 #, c-format msgid "Is another postmaster (PID %d) running in data directory \"%s\"?" msgstr "" "Другой экземпляр postmaster (PID %d) работает с каталогом данных \"%s\"?" -#: utils/init/miscinit.c:1320 +#: utils/init/miscinit.c:1309 #, c-format msgid "Is another postgres (PID %d) using socket file \"%s\"?" msgstr "Другой экземпляр postgres (PID %d) использует файл сокета \"%s\"?" -#: utils/init/miscinit.c:1322 +#: utils/init/miscinit.c:1311 #, c-format msgid "Is another postmaster (PID %d) using socket file \"%s\"?" msgstr "Другой экземпляр postmaster (PID %d) использует файл сокета \"%s\"?" -#: utils/init/miscinit.c:1373 +#: utils/init/miscinit.c:1362 #, c-format msgid "could not remove old lock file \"%s\": %m" msgstr "не удалось стереть старый файл блокировки \"%s\": %m" -#: utils/init/miscinit.c:1375 +#: utils/init/miscinit.c:1364 #, c-format msgid "" "The file seems accidentally left over, but it could not be removed. Please " @@ -29718,48 +31078,48 @@ msgstr "" "Кажется, файл сохранился по ошибке, но удалить его не получилось. " "Пожалуйста, удалите файл вручную и повторите попытку." -#: utils/init/miscinit.c:1412 utils/init/miscinit.c:1426 -#: utils/init/miscinit.c:1437 +#: utils/init/miscinit.c:1401 utils/init/miscinit.c:1415 +#: utils/init/miscinit.c:1426 #, c-format msgid "could not write lock file \"%s\": %m" msgstr "не удалось записать файл блокировки \"%s\": %m" -#: utils/init/miscinit.c:1548 utils/init/miscinit.c:1690 utils/misc/guc.c:5597 +#: utils/init/miscinit.c:1537 utils/init/miscinit.c:1679 utils/misc/guc.c:5724 #, c-format msgid "could not read from file \"%s\": %m" msgstr "не удалось прочитать файл \"%s\": %m" -#: utils/init/miscinit.c:1678 +#: utils/init/miscinit.c:1667 #, c-format msgid "could not open file \"%s\": %m; continuing anyway" msgstr "не удалось открыть файл \"%s\": %m; ошибка игнорируется" -#: utils/init/miscinit.c:1703 +#: utils/init/miscinit.c:1692 #, c-format msgid "lock file \"%s\" contains wrong PID: %ld instead of %ld" msgstr "файл блокировки \"%s\" содержит неверный PID: %ld вместо %ld" -#: utils/init/miscinit.c:1742 utils/init/miscinit.c:1758 +#: utils/init/miscinit.c:1731 utils/init/miscinit.c:1747 #, c-format msgid "\"%s\" is not a valid data directory" msgstr "\"%s\" не является каталогом данных" -#: utils/init/miscinit.c:1744 +#: utils/init/miscinit.c:1733 #, c-format msgid "File \"%s\" is missing." msgstr "Файл \"%s\" отсутствует." -#: utils/init/miscinit.c:1760 +#: utils/init/miscinit.c:1749 #, c-format msgid "File \"%s\" does not contain valid data." msgstr "Файл \"%s\" содержит неприемлемые данные." -#: utils/init/miscinit.c:1762 +#: utils/init/miscinit.c:1751 #, c-format msgid "You might need to initdb." msgstr "Возможно, вам нужно выполнить initdb." -#: utils/init/miscinit.c:1770 +#: utils/init/miscinit.c:1759 #, c-format msgid "" "The data directory was initialized by PostgreSQL version %s, which is not " @@ -29880,12 +31240,12 @@ msgstr "" "База данных была инициализирована с параметром LC_CTYPE \"%s\", но сейчас " "setlocale() не воспринимает его." -#: utils/init/postinit.c:475 +#: utils/init/postinit.c:491 #, c-format msgid "database \"%s\" has a collation version mismatch" msgstr "несовпадение версии для правила сортировки в базе данных \"%s\"" -#: utils/init/postinit.c:477 +#: utils/init/postinit.c:493 #, c-format msgid "" "The database was created using collation version %s, but the operating " @@ -29894,7 +31254,7 @@ msgstr "" "База данных была создана с версией правила сортировки %s, но операционная " "система предоставляет версию %s." -#: utils/init/postinit.c:480 +#: utils/init/postinit.c:496 #, c-format msgid "" "Rebuild all objects in this database that use the default collation and run " @@ -29905,31 +31265,31 @@ msgstr "" "сортировки, и выполните ALTER DATABASE %s REFRESH COLLATION VERSION, либо " "соберите PostgreSQL с правильной версией библиотеки." -#: utils/init/postinit.c:891 +#: utils/init/postinit.c:902 #, c-format msgid "no roles are defined in this database system" msgstr "в этой системе баз данных не создано ни одной роли" -#: utils/init/postinit.c:892 +#: utils/init/postinit.c:903 #, c-format msgid "You should immediately run CREATE USER \"%s\" SUPERUSER;." msgstr "Вы должны немедленно выполнить CREATE USER \"%s\" CREATEUSER;." -#: utils/init/postinit.c:928 +#: utils/init/postinit.c:940 #, c-format msgid "must be superuser to connect in binary upgrade mode" msgstr "" "нужно быть суперпользователем, чтобы подключиться в режиме двоичного " "обновления" -#: utils/init/postinit.c:949 +#: utils/init/postinit.c:961 #, c-format msgid "remaining connection slots are reserved for roles with the %s attribute" msgstr "" "оставшиеся слоты подключений зарезервированы для подключений ролей с " "атрибутом %s" -#: utils/init/postinit.c:955 +#: utils/init/postinit.c:967 #, c-format msgid "" "remaining connection slots are reserved for roles with privileges of the " @@ -29938,32 +31298,32 @@ msgstr "" "оставшиеся слоты подключений зарезервированы для подключений ролей с правами " "роли \"%s\"" -#: utils/init/postinit.c:967 +#: utils/init/postinit.c:979 #, c-format msgid "permission denied to start WAL sender" msgstr "нет прав для запуска процесса, передающего WAL" -#: utils/init/postinit.c:968 +#: utils/init/postinit.c:980 #, c-format msgid "Only roles with the %s attribute may start a WAL sender process." msgstr "Только роли с атрибутом %s могут запускать процессы, передающие WAL." -#: utils/init/postinit.c:1086 +#: utils/init/postinit.c:1098 #, c-format msgid "It seems to have just been dropped or renamed." msgstr "Похоже, она только что была удалена или переименована." -#: utils/init/postinit.c:1090 +#: utils/init/postinit.c:1102 #, c-format msgid "database %u does not exist" msgstr "база данных %u не существует" -#: utils/init/postinit.c:1099 +#: utils/init/postinit.c:1111 #, c-format msgid "cannot connect to invalid database \"%s\"" msgstr "подключиться к некорректной базе \"%s\" нельзя" -#: utils/init/postinit.c:1159 +#: utils/init/postinit.c:1172 #, c-format msgid "The database subdirectory \"%s\" is missing." msgstr "Подкаталог базы данных \"%s\" отсутствует." @@ -29990,48 +31350,48 @@ msgstr "неожиданный ID кодировки %d для наборов с msgid "unexpected encoding ID %d for WIN character sets" msgstr "неожиданный ID кодировки %d для наборов символов WIN" -#: utils/mb/mbutils.c:298 utils/mb/mbutils.c:901 +#: utils/mb/mbutils.c:297 utils/mb/mbutils.c:900 #, c-format msgid "conversion between %s and %s is not supported" msgstr "преобразование %s <-> %s не поддерживается" -#: utils/mb/mbutils.c:403 utils/mb/mbutils.c:431 utils/mb/mbutils.c:816 -#: utils/mb/mbutils.c:843 +#: utils/mb/mbutils.c:402 utils/mb/mbutils.c:430 utils/mb/mbutils.c:815 +#: utils/mb/mbutils.c:842 #, c-format msgid "String of %d bytes is too long for encoding conversion." msgstr "Строка из %d байт слишком длинна для преобразования кодировки." -#: utils/mb/mbutils.c:569 +#: utils/mb/mbutils.c:568 #, c-format msgid "invalid source encoding name \"%s\"" msgstr "неверное имя исходной кодировки: \"%s\"" -#: utils/mb/mbutils.c:574 +#: utils/mb/mbutils.c:573 #, c-format msgid "invalid destination encoding name \"%s\"" msgstr "неверное имя кодировки результата: \"%s\"" -#: utils/mb/mbutils.c:714 +#: utils/mb/mbutils.c:713 #, c-format msgid "invalid byte value for encoding \"%s\": 0x%02x" msgstr "недопустимое байтовое значение для кодировки \"%s\": 0x%02x" -#: utils/mb/mbutils.c:878 +#: utils/mb/mbutils.c:877 #, c-format msgid "invalid Unicode code point" msgstr "неверный код Unicode" -#: utils/mb/mbutils.c:1204 +#: utils/mb/mbutils.c:1201 #, c-format msgid "bind_textdomain_codeset failed" msgstr "ошибка в bind_textdomain_codeset" -#: utils/mb/mbutils.c:1725 +#: utils/mb/mbutils.c:1718 #, c-format msgid "invalid byte sequence for encoding \"%s\": %s" msgstr "неверная последовательность байт для кодировки \"%s\": %s" -#: utils/mb/mbutils.c:1758 +#: utils/mb/mbutils.c:1751 #, c-format msgid "" "character with byte sequence %s in encoding \"%s\" has no equivalent in " @@ -30050,14 +31410,14 @@ msgstr "пустое имя каталога конфигурации: \"%s\"" msgid "could not open configuration directory \"%s\": %m" msgstr "открыть каталог конфигурации \"%s\" не удалось: %m" -#: utils/misc/guc.c:115 +#: utils/misc/guc.c:122 msgid "" "Valid units for this parameter are \"B\", \"kB\", \"MB\", \"GB\", and \"TB\"." msgstr "" "Допустимые единицы измерения для этого параметра: \"B\", \"kB\", \"MB\", " "\"GB\" и \"TB\"." -#: utils/misc/guc.c:152 +#: utils/misc/guc.c:159 msgid "" "Valid units for this parameter are \"us\", \"ms\", \"s\", \"min\", \"h\", " "and \"d\"." @@ -30065,36 +31425,36 @@ msgstr "" "Допустимые единицы измерения для этого параметра: \"us\", \"ms\", \"s\", " "\"min\", \"h\" и \"d\"." -#: utils/misc/guc.c:421 +#: utils/misc/guc.c:430 #, c-format msgid "unrecognized configuration parameter \"%s\" in file \"%s\" line %d" msgstr "нераспознанный параметр конфигурации \"%s\" в файле \"%s\", строке %d" -#: utils/misc/guc.c:461 utils/misc/guc.c:3411 utils/misc/guc.c:3655 -#: utils/misc/guc.c:3753 utils/misc/guc.c:3851 utils/misc/guc.c:3975 -#: utils/misc/guc.c:4078 +#: utils/misc/guc.c:470 utils/misc/guc.c:3504 utils/misc/guc.c:3748 +#: utils/misc/guc.c:3846 utils/misc/guc.c:3944 utils/misc/guc.c:4068 +#: utils/misc/guc.c:4171 #, c-format msgid "parameter \"%s\" cannot be changed without restarting the server" msgstr "параметр \"%s\" изменяется только при перезапуске сервера" -#: utils/misc/guc.c:497 +#: utils/misc/guc.c:506 #, c-format msgid "parameter \"%s\" removed from configuration file, reset to default" msgstr "" "параметр \"%s\" удалён из файла конфигурации, он принимает значение по " "умолчанию" -#: utils/misc/guc.c:562 +#: utils/misc/guc.c:571 #, c-format msgid "parameter \"%s\" changed to \"%s\"" msgstr "параметр \"%s\" принял значение \"%s\"" -#: utils/misc/guc.c:604 +#: utils/misc/guc.c:613 #, c-format msgid "configuration file \"%s\" contains errors" msgstr "файл конфигурации \"%s\" содержит ошибки" -#: utils/misc/guc.c:609 +#: utils/misc/guc.c:618 #, c-format msgid "" "configuration file \"%s\" contains errors; unaffected changes were applied" @@ -30102,17 +31462,17 @@ msgstr "" "файл конфигурации \"%s\" содержит ошибки; были применены не зависимые " "изменения" -#: utils/misc/guc.c:614 +#: utils/misc/guc.c:623 #, c-format msgid "configuration file \"%s\" contains errors; no changes were applied" msgstr "файл конфигурации \"%s\" содержит ошибки; изменения не были применены" -#: utils/misc/guc.c:1211 utils/misc/guc.c:1227 +#: utils/misc/guc.c:1139 utils/misc/guc.c:1155 #, c-format msgid "invalid configuration parameter name \"%s\"" msgstr "неверное имя параметра конфигурации: \"%s\"" -#: utils/misc/guc.c:1213 +#: utils/misc/guc.c:1141 #, c-format msgid "" "Custom parameter names must be two or more simple identifiers separated by " @@ -30121,22 +31481,22 @@ msgstr "" "Имена нестандартных параметров должны состоять из двух или более простых " "идентификаторов, разделённых точками." -#: utils/misc/guc.c:1229 +#: utils/misc/guc.c:1157 #, c-format msgid "\"%s\" is a reserved prefix." msgstr "\"%s\" — зарезервированный префикс." -#: utils/misc/guc.c:1243 +#: utils/misc/guc.c:1170 utils/misc/guc.c:1280 #, c-format msgid "unrecognized configuration parameter \"%s\"" msgstr "нераспознанный параметр конфигурации: \"%s\"" -#: utils/misc/guc.c:1767 +#: utils/misc/guc.c:1802 #, c-format -msgid "%s: could not access directory \"%s\": %s\n" -msgstr "%s: ошибка доступа к каталогу \"%s\": %s\n" +msgid "%s: could not access directory \"%s\": %m\n" +msgstr "%s: ошибка при обращении к каталогу \"%s\": %m\n" -#: utils/misc/guc.c:1772 +#: utils/misc/guc.c:1806 #, c-format msgid "" "Run initdb or pg_basebackup to initialize a PostgreSQL data directory.\n" @@ -30144,7 +31504,7 @@ msgstr "" "Запустите initdb или pg_basebackup для инициализации каталога данных " "PostgreSQL.\n" -#: utils/misc/guc.c:1796 +#: utils/misc/guc.c:1830 #, c-format msgid "" "%s does not know where to find the server configuration file.\n" @@ -30155,12 +31515,12 @@ msgstr "" "Вы должны указать его расположение в параметре --config-file или -D, либо " "установить переменную окружения PGDATA.\n" -#: utils/misc/guc.c:1819 +#: utils/misc/guc.c:1853 #, c-format -msgid "%s: could not access the server configuration file \"%s\": %s\n" -msgstr "%s не может открыть файл конфигурации сервера \"%s\": %s\n" +msgid "%s: could not access the server configuration file \"%s\": %m\n" +msgstr "%s не может открыть файл конфигурации сервера \"%s\": %m\n" -#: utils/misc/guc.c:1847 +#: utils/misc/guc.c:1881 #, c-format msgid "" "%s does not know where to find the database system data.\n" @@ -30171,7 +31531,7 @@ msgstr "" "Их расположение можно задать как значение \"data_directory\" в файле \"%s\", " "либо передать в параметре -D, либо установить переменную окружения PGDATA.\n" -#: utils/misc/guc.c:1899 +#: utils/misc/guc.c:1933 #, c-format msgid "" "%s does not know where to find the \"hba\" configuration file.\n" @@ -30182,7 +31542,7 @@ msgstr "" "Его расположение можно задать как значение \"hba_file\" в файле \"%s\", либо " "передать в параметре -D, либо установить переменную окружения PGDATA.\n" -#: utils/misc/guc.c:1930 +#: utils/misc/guc.c:1964 #, c-format msgid "" "%s does not know where to find the \"ident\" configuration file.\n" @@ -30193,124 +31553,138 @@ msgstr "" "Его расположение можно задать как значение \"ident_file\" в файле \"%s\", " "либо передать в параметре -D, либо установить переменную окружения PGDATA.\n" -#: utils/misc/guc.c:2896 +#: utils/misc/guc.c:2943 msgid "Value exceeds integer range." msgstr "Значение выходит за рамки целых чисел." -#: utils/misc/guc.c:3132 +#: utils/misc/guc.c:3185 #, c-format -msgid "%d%s%s is outside the valid range for parameter \"%s\" (%d .. %d)" -msgstr "%d%s%s вне диапазона, допустимого для параметра \"%s\" (%d .. %d)" +msgid "" +"%d%s%s is outside the valid range for parameter \"%s\" (%d%s%s .. %d%s%s)" +msgstr "" +"%d%s%s вне диапазона, допустимого для параметра \"%s\" (%d%s%s .. %d%s%s)" -#: utils/misc/guc.c:3168 +#: utils/misc/guc.c:3226 #, c-format -msgid "%g%s%s is outside the valid range for parameter \"%s\" (%g .. %g)" -msgstr "%g%s%s вне диапазона, допустимого для параметра \"%s\" (%g .. %g)" +msgid "" +"%g%s%s is outside the valid range for parameter \"%s\" (%g%s%s .. %g%s%s)" +msgstr "" +"%g%s%s вне диапазона, допустимого для параметра \"%s\" (%g%s%s .. %g%s%s)" -#: utils/misc/guc.c:3369 utils/misc/guc_funcs.c:54 +#: utils/misc/guc.c:3465 #, c-format -msgid "cannot set parameters during a parallel operation" -msgstr "устанавливать параметры во время параллельных операций нельзя" +msgid "parameter \"%s\" cannot be set during a parallel operation" +msgstr "параметр \"%s\" нельзя установить во время параллельной операции" -#: utils/misc/guc.c:3388 utils/misc/guc.c:4539 +#: utils/misc/guc.c:3481 utils/misc/guc.c:4655 #, c-format msgid "parameter \"%s\" cannot be changed" msgstr "параметр \"%s\" нельзя изменить" -#: utils/misc/guc.c:3421 +#: utils/misc/guc.c:3514 #, c-format msgid "parameter \"%s\" cannot be changed now" msgstr "параметр \"%s\" нельзя изменить сейчас" -#: utils/misc/guc.c:3448 utils/misc/guc.c:3510 utils/misc/guc.c:4515 -#: utils/misc/guc.c:6563 +#: utils/misc/guc.c:3541 utils/misc/guc.c:3603 utils/misc/guc.c:4630 +#: utils/misc/guc.c:6721 #, c-format msgid "permission denied to set parameter \"%s\"" msgstr "нет прав для изменения параметра \"%s\"" -#: utils/misc/guc.c:3490 +#: utils/misc/guc.c:3583 #, c-format msgid "parameter \"%s\" cannot be set after connection start" msgstr "параметр \"%s\" нельзя задать после установления соединения" -#: utils/misc/guc.c:3549 +#: utils/misc/guc.c:3642 #, c-format msgid "cannot set parameter \"%s\" within security-definer function" msgstr "" "параметр \"%s\" нельзя задать в функции с контекстом безопасности " "определившего" -#: utils/misc/guc.c:3570 +#: utils/misc/guc.c:3663 #, c-format msgid "parameter \"%s\" cannot be reset" msgstr "параметр \"%s\" нельзя сбросить" -#: utils/misc/guc.c:3577 +#: utils/misc/guc.c:3670 #, c-format msgid "parameter \"%s\" cannot be set locally in functions" msgstr "параметр \"%s\" нельзя задавать локально в функциях" -#: utils/misc/guc.c:4221 utils/misc/guc.c:4268 utils/misc/guc.c:5282 +#: utils/misc/guc.c:4329 utils/misc/guc.c:4377 utils/misc/guc.c:5409 #, c-format msgid "permission denied to examine \"%s\"" msgstr "нет прав для просмотра параметра \"%s\"" -#: utils/misc/guc.c:4222 utils/misc/guc.c:4269 utils/misc/guc.c:5283 +#: utils/misc/guc.c:4330 utils/misc/guc.c:4378 utils/misc/guc.c:5410 #, c-format msgid "" "Only roles with privileges of the \"%s\" role may examine this parameter." msgstr "Просматривать этот параметр могут только роли с правами роли \"%s\"." -#: utils/misc/guc.c:4505 +#: utils/misc/guc.c:4588 +#, c-format +msgid "ALTER SYSTEM is not allowed in this environment" +msgstr "команда ALTER SYSTEM запрещена в этом окружении" + +#: utils/misc/guc.c:4620 #, c-format msgid "permission denied to perform ALTER SYSTEM RESET ALL" msgstr "нет прав для выполнения ALTER SYSTEM RESET ALL" -#: utils/misc/guc.c:4571 +#: utils/misc/guc.c:4699 #, c-format msgid "parameter value for ALTER SYSTEM must not contain a newline" msgstr "значение параметра для ALTER SYSTEM не должно быть многострочным" -#: utils/misc/guc.c:4617 +#: utils/misc/guc.c:4744 #, c-format msgid "could not parse contents of file \"%s\"" msgstr "не удалось разобрать содержимое файла \"%s\"" -#: utils/misc/guc.c:4799 +#: utils/misc/guc.c:4926 #, c-format msgid "attempt to redefine parameter \"%s\"" msgstr "попытка переопределить параметр \"%s\"" -#: utils/misc/guc.c:5138 +#: utils/misc/guc.c:5265 #, c-format msgid "invalid configuration parameter name \"%s\", removing it" msgstr "неверное имя параметра конфигурации: \"%s\", он удаляется" -#: utils/misc/guc.c:5140 +#: utils/misc/guc.c:5267 #, c-format msgid "\"%s\" is now a reserved prefix." msgstr "Теперь \"%s\" — зарезервированный префикс." -#: utils/misc/guc.c:6017 +#: utils/misc/guc.c:6144 #, c-format msgid "while setting parameter \"%s\" to \"%s\"" msgstr "при назначении параметру \"%s\" значения \"%s\"" -#: utils/misc/guc.c:6186 +#: utils/misc/guc.c:6313 #, c-format msgid "parameter \"%s\" could not be set" msgstr "параметр \"%s\" нельзя установить" -#: utils/misc/guc.c:6276 +#: utils/misc/guc.c:6403 #, c-format msgid "could not parse setting for parameter \"%s\"" msgstr "не удалось разобрать значение параметра \"%s\"" -#: utils/misc/guc.c:6695 +#: utils/misc/guc.c:6853 #, c-format msgid "invalid value for parameter \"%s\": %g" msgstr "неверное значение параметра \"%s\": %g" +#: utils/misc/guc_funcs.c:54 +#, c-format +msgid "cannot set parameters during a parallel operation" +msgstr "устанавливать параметры во время параллельных операций нельзя" + #: utils/misc/guc_funcs.c:130 #, c-format msgid "SET LOCAL TRANSACTION SNAPSHOT is not implemented" @@ -30326,59 +31700,59 @@ msgstr "SET %s принимает только один аргумент" msgid "SET requires parameter name" msgstr "SET требует имя параметра" -#: utils/misc/guc_tables.c:662 +#: utils/misc/guc_tables.c:676 msgid "Ungrouped" msgstr "Разное" -#: utils/misc/guc_tables.c:664 +#: utils/misc/guc_tables.c:677 msgid "File Locations" msgstr "Расположения файлов" -#: utils/misc/guc_tables.c:666 +#: utils/misc/guc_tables.c:678 msgid "Connections and Authentication / Connection Settings" msgstr "Подключения и аутентификация / Параметры подключений" -#: utils/misc/guc_tables.c:668 +#: utils/misc/guc_tables.c:679 msgid "Connections and Authentication / TCP Settings" msgstr "Подключения и аутентификация / Параметры TCP" -#: utils/misc/guc_tables.c:670 +#: utils/misc/guc_tables.c:680 msgid "Connections and Authentication / Authentication" msgstr "Подключения и аутентификация / Аутентификация" -#: utils/misc/guc_tables.c:672 +#: utils/misc/guc_tables.c:681 msgid "Connections and Authentication / SSL" msgstr "Подключения и аутентификация / SSL" -#: utils/misc/guc_tables.c:674 +#: utils/misc/guc_tables.c:682 msgid "Resource Usage / Memory" msgstr "Использование ресурсов / Память" -#: utils/misc/guc_tables.c:676 +#: utils/misc/guc_tables.c:683 msgid "Resource Usage / Disk" msgstr "Использование ресурсов / Диск" -#: utils/misc/guc_tables.c:678 +#: utils/misc/guc_tables.c:684 msgid "Resource Usage / Kernel Resources" msgstr "Использование ресурсов / Ресурсы ядра" -#: utils/misc/guc_tables.c:680 +#: utils/misc/guc_tables.c:685 msgid "Resource Usage / Cost-Based Vacuum Delay" msgstr "Использование ресурсов / Задержка очистки по стоимости" -#: utils/misc/guc_tables.c:682 +#: utils/misc/guc_tables.c:686 msgid "Resource Usage / Background Writer" msgstr "Использование ресурсов / Фоновая запись" -#: utils/misc/guc_tables.c:684 +#: utils/misc/guc_tables.c:687 msgid "Resource Usage / Asynchronous Behavior" msgstr "Использование ресурсов / Асинхронное поведение" -#: utils/misc/guc_tables.c:686 +#: utils/misc/guc_tables.c:688 msgid "Write-Ahead Log / Settings" msgstr "Журнал WAL / Параметры" -#: utils/misc/guc_tables.c:688 +#: utils/misc/guc_tables.c:689 msgid "Write-Ahead Log / Checkpoints" msgstr "Журнал WAL / Контрольные точки" @@ -30386,210 +31760,214 @@ msgstr "Журнал WAL / Контрольные точки" msgid "Write-Ahead Log / Archiving" msgstr "Журнал WAL / Архивация" -#: utils/misc/guc_tables.c:692 +#: utils/misc/guc_tables.c:691 msgid "Write-Ahead Log / Recovery" msgstr "Журнал WAL / Восстановление" -#: utils/misc/guc_tables.c:694 +#: utils/misc/guc_tables.c:692 msgid "Write-Ahead Log / Archive Recovery" msgstr "Журнал WAL / Восстановление из архива" -#: utils/misc/guc_tables.c:696 +#: utils/misc/guc_tables.c:693 msgid "Write-Ahead Log / Recovery Target" msgstr "Журнал WAL / Цель восстановления" -#: utils/misc/guc_tables.c:698 +#: utils/misc/guc_tables.c:694 +msgid "Write-Ahead Log / Summarization" +msgstr "Журнал WAL / Обобщение" + +#: utils/misc/guc_tables.c:695 msgid "Replication / Sending Servers" msgstr "Репликация / Передающие серверы" -#: utils/misc/guc_tables.c:700 +#: utils/misc/guc_tables.c:696 msgid "Replication / Primary Server" msgstr "Репликация / Ведущий сервер" -#: utils/misc/guc_tables.c:702 +#: utils/misc/guc_tables.c:697 msgid "Replication / Standby Servers" msgstr "Репликация / Резервные серверы" -#: utils/misc/guc_tables.c:704 +#: utils/misc/guc_tables.c:698 msgid "Replication / Subscribers" msgstr "Репликация / Подписчики" -#: utils/misc/guc_tables.c:706 +#: utils/misc/guc_tables.c:699 msgid "Query Tuning / Planner Method Configuration" msgstr "Настройка запросов / Конфигурация методов планировщика" -#: utils/misc/guc_tables.c:708 +#: utils/misc/guc_tables.c:700 msgid "Query Tuning / Planner Cost Constants" msgstr "Настройка запросов / Константы стоимости для планировщика" -#: utils/misc/guc_tables.c:710 +#: utils/misc/guc_tables.c:701 msgid "Query Tuning / Genetic Query Optimizer" msgstr "Настройка запросов / Генетический оптимизатор запросов" -#: utils/misc/guc_tables.c:712 +#: utils/misc/guc_tables.c:702 msgid "Query Tuning / Other Planner Options" msgstr "Настройка запросов / Другие параметры планировщика" -#: utils/misc/guc_tables.c:714 +#: utils/misc/guc_tables.c:703 msgid "Reporting and Logging / Where to Log" msgstr "Отчёты и протоколы / Куда записывать" -#: utils/misc/guc_tables.c:716 +#: utils/misc/guc_tables.c:704 msgid "Reporting and Logging / When to Log" msgstr "Отчёты и протоколы / Когда записывать" -#: utils/misc/guc_tables.c:718 +#: utils/misc/guc_tables.c:705 msgid "Reporting and Logging / What to Log" msgstr "Отчёты и протоколы / Что записывать" -#: utils/misc/guc_tables.c:720 +#: utils/misc/guc_tables.c:706 msgid "Reporting and Logging / Process Title" msgstr "Отчёты и протоколы / Заголовок процесса" -#: utils/misc/guc_tables.c:722 +#: utils/misc/guc_tables.c:707 msgid "Statistics / Monitoring" msgstr "Статистика / Мониторинг" -#: utils/misc/guc_tables.c:724 +#: utils/misc/guc_tables.c:708 msgid "Statistics / Cumulative Query and Index Statistics" msgstr "Статистика / Накопительная статистика по запросам и индексам" -#: utils/misc/guc_tables.c:726 +#: utils/misc/guc_tables.c:709 msgid "Autovacuum" msgstr "Автоочистка" -#: utils/misc/guc_tables.c:728 +#: utils/misc/guc_tables.c:710 msgid "Client Connection Defaults / Statement Behavior" msgstr "Параметры клиентских подключений по умолчанию / Поведение команд" -#: utils/misc/guc_tables.c:730 +#: utils/misc/guc_tables.c:711 msgid "Client Connection Defaults / Locale and Formatting" msgstr "" "Параметры клиентских подключений по умолчанию / Языковая среда и форматы" -#: utils/misc/guc_tables.c:732 +#: utils/misc/guc_tables.c:712 msgid "Client Connection Defaults / Shared Library Preloading" msgstr "" "Параметры клиентских подключений по умолчанию / Предзагрузка разделяемых " "библиотек" -#: utils/misc/guc_tables.c:734 +#: utils/misc/guc_tables.c:713 msgid "Client Connection Defaults / Other Defaults" msgstr "Параметры клиентских подключений по умолчанию / Другие параметры" -#: utils/misc/guc_tables.c:736 +#: utils/misc/guc_tables.c:714 msgid "Lock Management" msgstr "Управление блокировками" -#: utils/misc/guc_tables.c:738 +#: utils/misc/guc_tables.c:715 msgid "Version and Platform Compatibility / Previous PostgreSQL Versions" msgstr "Версия и совместимость платформ / Предыдущие версии PostgreSQL" -#: utils/misc/guc_tables.c:740 +#: utils/misc/guc_tables.c:716 msgid "Version and Platform Compatibility / Other Platforms and Clients" msgstr "Версия и совместимость платформ / Другие платформы и клиенты" -#: utils/misc/guc_tables.c:742 +#: utils/misc/guc_tables.c:717 msgid "Error Handling" msgstr "Обработка ошибок" -#: utils/misc/guc_tables.c:744 +#: utils/misc/guc_tables.c:718 msgid "Preset Options" msgstr "Предопределённые параметры" -#: utils/misc/guc_tables.c:746 +#: utils/misc/guc_tables.c:719 msgid "Customized Options" msgstr "Внесистемные параметры" -#: utils/misc/guc_tables.c:748 +#: utils/misc/guc_tables.c:720 msgid "Developer Options" msgstr "Параметры для разработчиков" -#: utils/misc/guc_tables.c:805 +#: utils/misc/guc_tables.c:775 msgid "Enables the planner's use of sequential-scan plans." msgstr "" "Разрешает планировщику использовать планы последовательного сканирования." -#: utils/misc/guc_tables.c:815 +#: utils/misc/guc_tables.c:785 msgid "Enables the planner's use of index-scan plans." msgstr "Разрешает планировщику использовать планы сканирования по индексу." -#: utils/misc/guc_tables.c:825 +#: utils/misc/guc_tables.c:795 msgid "Enables the planner's use of index-only-scan plans." msgstr "Разрешает планировщику использовать планы сканирования только индекса." -#: utils/misc/guc_tables.c:835 +#: utils/misc/guc_tables.c:805 msgid "Enables the planner's use of bitmap-scan plans." msgstr "" "Разрешает планировщику использовать планы сканирования по битовой карте." -#: utils/misc/guc_tables.c:845 +#: utils/misc/guc_tables.c:815 msgid "Enables the planner's use of TID scan plans." msgstr "Разрешает планировщику использовать планы сканирования TID." -#: utils/misc/guc_tables.c:855 +#: utils/misc/guc_tables.c:825 msgid "Enables the planner's use of explicit sort steps." msgstr "Разрешает планировщику использовать шаги с явной сортировкой." -#: utils/misc/guc_tables.c:865 +#: utils/misc/guc_tables.c:835 msgid "Enables the planner's use of incremental sort steps." msgstr "" "Разрешает планировщику использовать шаги с инкрементальной сортировкой." -#: utils/misc/guc_tables.c:875 +#: utils/misc/guc_tables.c:845 msgid "Enables the planner's use of hashed aggregation plans." msgstr "Разрешает планировщику использовать планы агрегирования по хешу." -#: utils/misc/guc_tables.c:885 +#: utils/misc/guc_tables.c:855 msgid "Enables the planner's use of materialization." msgstr "Разрешает планировщику использовать материализацию." # well-spelled: мемоизацию -#: utils/misc/guc_tables.c:895 +#: utils/misc/guc_tables.c:865 msgid "Enables the planner's use of memoization." msgstr "Разрешает планировщику использовать мемоизацию." -#: utils/misc/guc_tables.c:905 +#: utils/misc/guc_tables.c:875 msgid "Enables the planner's use of nested-loop join plans." msgstr "" "Разрешает планировщику использовать планы соединения с вложенными циклами." -#: utils/misc/guc_tables.c:915 +#: utils/misc/guc_tables.c:885 msgid "Enables the planner's use of merge join plans." msgstr "Разрешает планировщику использовать планы соединения слиянием." -#: utils/misc/guc_tables.c:925 +#: utils/misc/guc_tables.c:895 msgid "Enables the planner's use of hash join plans." msgstr "Разрешает планировщику использовать планы соединения по хешу." -#: utils/misc/guc_tables.c:935 +#: utils/misc/guc_tables.c:905 msgid "Enables the planner's use of gather merge plans." msgstr "Разрешает планировщику использовать планы сбора слиянием." -#: utils/misc/guc_tables.c:945 +#: utils/misc/guc_tables.c:915 msgid "Enables partitionwise join." msgstr "Включает соединения с учётом секционирования." -#: utils/misc/guc_tables.c:955 +#: utils/misc/guc_tables.c:925 msgid "Enables partitionwise aggregation and grouping." msgstr "Включает агрегирование и группировку с учётом секционирования." -#: utils/misc/guc_tables.c:965 +#: utils/misc/guc_tables.c:935 msgid "Enables the planner's use of parallel append plans." msgstr "Разрешает планировщику использовать планы параллельного добавления." -#: utils/misc/guc_tables.c:975 +#: utils/misc/guc_tables.c:945 msgid "Enables the planner's use of parallel hash plans." msgstr "" "Разрешает планировщику использовать планы параллельного соединения по хешу." -#: utils/misc/guc_tables.c:985 +#: utils/misc/guc_tables.c:955 msgid "Enables plan-time and execution-time partition pruning." msgstr "" "Включает устранение секций во время планирования и во время выполнения " "запросов." -#: utils/misc/guc_tables.c:986 +#: utils/misc/guc_tables.c:956 msgid "" "Allows the query planner and executor to compare partition bounds to " "conditions in the query to determine which partitions must be scanned." @@ -30597,7 +31975,7 @@ msgstr "" "Разрешает планировщику и исполнителю запросов сопоставлять границы секций с " "условиями в запросе и выделять отдельные секции для сканирования." -#: utils/misc/guc_tables.c:997 +#: utils/misc/guc_tables.c:967 msgid "" "Enables the planner's ability to produce plans that provide presorted input " "for ORDER BY / DISTINCT aggregate functions." @@ -30605,7 +31983,7 @@ msgstr "" "Включает в планировщике возможность формировать планы, подающие ранее " "сортированные данные на вход агрегирующим функциям с ORDER BY / DISTINCT." -#: utils/misc/guc_tables.c:1000 +#: utils/misc/guc_tables.c:970 msgid "" "Allows the query planner to build plans that provide presorted input for " "aggregate functions with an ORDER BY / DISTINCT clause. When disabled, " @@ -30616,49 +31994,66 @@ msgstr "" "данные. Когда этот параметр отключён, во время выполнения всегда неявно " "производится сортировка." -#: utils/misc/guc_tables.c:1012 +#: utils/misc/guc_tables.c:982 msgid "Enables the planner's use of async append plans." msgstr "Разрешает планировщику использовать планы асинхронного добавления." -#: utils/misc/guc_tables.c:1022 +#: utils/misc/guc_tables.c:992 +msgid "Enables reordering of GROUP BY keys." +msgstr "Включает переупорядочивание ключей GROUP BY." + +#: utils/misc/guc_tables.c:1002 msgid "Enables genetic query optimization." msgstr "Включает генетическую оптимизацию запросов." -#: utils/misc/guc_tables.c:1023 +#: utils/misc/guc_tables.c:1003 msgid "This algorithm attempts to do planning without exhaustive searching." msgstr "Этот алгоритм пытается построить план без полного перебора." -#: utils/misc/guc_tables.c:1034 +#: utils/misc/guc_tables.c:1017 msgid "Shows whether the current user is a superuser." msgstr "Показывает, является ли текущий пользователь суперпользователем." -#: utils/misc/guc_tables.c:1044 +#: utils/misc/guc_tables.c:1032 +msgid "Allows running the ALTER SYSTEM command." +msgstr "Разрешает выполнять команду ALTER SYSTEM." + +#: utils/misc/guc_tables.c:1033 +msgid "" +"Can be set to off for environments where global configuration changes should " +"be made using a different method." +msgstr "" +"Может быть выключен в окружениях, где изменения глобальной конфигурации " +"должны производиться другим методом." + +#: utils/misc/guc_tables.c:1043 msgid "Enables advertising the server via Bonjour." msgstr "Включает объявление сервера посредством Bonjour." -#: utils/misc/guc_tables.c:1053 +#: utils/misc/guc_tables.c:1052 msgid "Collects transaction commit time." msgstr "Записывает время фиксации транзакций." -#: utils/misc/guc_tables.c:1062 +#: utils/misc/guc_tables.c:1061 msgid "Enables SSL connections." msgstr "Разрешает SSL-подключения." -#: utils/misc/guc_tables.c:1071 -msgid "Controls whether ssl_passphrase_command is called during server reload." +#: utils/misc/guc_tables.c:1070 +msgid "" +"Controls whether \"ssl_passphrase_command\" is called during server reload." msgstr "" -"Определяет, будет ли вызываться ssl_passphrase_command при перезагрузке " +"Определяет, будет ли вызываться \"ssl_passphrase_command\" при перезагрузке " "сервера." -#: utils/misc/guc_tables.c:1080 +#: utils/misc/guc_tables.c:1079 msgid "Give priority to server ciphersuite order." msgstr "Назначает более приоритетным набор шифров сервера." -#: utils/misc/guc_tables.c:1089 +#: utils/misc/guc_tables.c:1088 msgid "Forces synchronization of updates to disk." msgstr "Принудительная запись изменений на диск." -#: utils/misc/guc_tables.c:1090 +#: utils/misc/guc_tables.c:1089 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 " @@ -30669,11 +32064,11 @@ msgstr "" "обеспечивающую физическую запись данных на диск. Тем самым гарантируется, " "что кластер БД придёт в целостное состояние после отказа ОС или оборудования." -#: utils/misc/guc_tables.c:1101 +#: utils/misc/guc_tables.c:1100 msgid "Continues processing after a checksum failure." msgstr "Продолжает обработку при ошибке контрольной суммы." -#: utils/misc/guc_tables.c:1102 +#: utils/misc/guc_tables.c:1101 msgid "" "Detection of a checksum failure normally causes PostgreSQL to report an " "error, aborting the current transaction. Setting ignore_checksum_failure to " @@ -30687,34 +32082,34 @@ msgstr "" "что может привести к сбоям или другим серьёзным проблемам. Это имеет место, " "только если включён контроль целостности страниц." -#: utils/misc/guc_tables.c:1116 +#: utils/misc/guc_tables.c:1115 msgid "Continues processing past damaged page headers." msgstr "Продолжает обработку при повреждении заголовков страниц." -#: utils/misc/guc_tables.c:1117 +#: utils/misc/guc_tables.c:1116 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." +"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 "" "Обнаруживая повреждённый заголовок страницы, PostgreSQL обычно сообщает об " -"ошибке и прерывает текущую транзакцию. Но если zero_damaged_pages равен " +"ошибке и прерывает текущую транзакцию. Но если \"zero_damaged_pages\" равен " "true, система выдаст предупреждение, обнулит повреждённую страницу и " "продолжит работу. Это приведёт к потере данных, а именно строк в " "повреждённой странице." -#: utils/misc/guc_tables.c:1130 +#: utils/misc/guc_tables.c:1129 msgid "Continues recovery after an invalid pages failure." msgstr "" "Продолжает восстановление после ошибок, связанных с неправильными страницами." -#: utils/misc/guc_tables.c:1131 +#: utils/misc/guc_tables.c:1130 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 " +"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 " @@ -30722,19 +32117,19 @@ msgid "" msgstr "" "Обнаруживая в записях WAL ссылки на неправильные страницы во время " "восстановления, PostgreSQL выдаёт ошибку уровня ПАНИКА и прерывает " -"восстановление. Если ignore_invalid_pages равен true, система игнорирует " +"восстановление. Если \"ignore_invalid_pages\" равен true, система игнорирует " "такие некорректные ссылки (но всё же выдаёт предупреждение) и продолжает " "восстановление. Это может привести к краху сервера, потере данных, " "распространению или сокрытию повреждения данных и другим серьёзным " "проблемам. Данный параметр действует только при восстановлении или в режиме " "резервного сервера." -#: utils/misc/guc_tables.c:1149 +#: utils/misc/guc_tables.c:1148 msgid "Writes full pages to WAL when first modified after a checkpoint." msgstr "" "Запись полных страниц в WAL при первом изменении после контрольной точки." -#: utils/misc/guc_tables.c:1150 +#: utils/misc/guc_tables.c:1149 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 " @@ -30747,7 +32142,7 @@ msgstr "" "при первом изменении после контрольной точки, что позволяет полностью " "восстановить данные." -#: utils/misc/guc_tables.c:1163 +#: utils/misc/guc_tables.c:1162 msgid "" "Writes full pages to WAL when first modified after a checkpoint, even for a " "non-critical modification." @@ -30755,93 +32150,98 @@ msgstr "" "Запись полных страниц в WAL при первом изменении после контрольной точки, " "даже при некритическом изменении." -#: utils/misc/guc_tables.c:1173 +#: utils/misc/guc_tables.c:1172 msgid "Writes zeroes to new WAL files before first use." msgstr "Записывать нули в новые файлы WAL перед первым использованием." -#: utils/misc/guc_tables.c:1183 +#: utils/misc/guc_tables.c:1182 msgid "Recycles WAL files by renaming them." msgstr "Перерабатывать файлы WAL, производя переименование." -#: utils/misc/guc_tables.c:1193 +#: utils/misc/guc_tables.c:1192 msgid "Logs each checkpoint." msgstr "Протоколировать каждую контрольную точку." -#: utils/misc/guc_tables.c:1202 +#: utils/misc/guc_tables.c:1201 msgid "Logs each successful connection." msgstr "Протоколировать устанавливаемые соединения." -#: utils/misc/guc_tables.c:1211 +#: utils/misc/guc_tables.c:1210 +msgid "Logs details of pre-authentication connection handshake." +msgstr "" +"Протоколировать сообщения об установлении соединения до аутентификации." + +#: utils/misc/guc_tables.c:1220 msgid "Logs end of a session, including duration." msgstr "Протоколировать конец сеанса, отмечая длительность." -#: utils/misc/guc_tables.c:1220 +#: utils/misc/guc_tables.c:1229 msgid "Logs each replication command." msgstr "Протоколировать каждую команду репликации." -#: utils/misc/guc_tables.c:1229 +#: utils/misc/guc_tables.c:1238 msgid "Shows whether the running server has assertion checks enabled." msgstr "Показывает, включены ли проверки истинности на работающем сервере." -#: utils/misc/guc_tables.c:1240 +#: utils/misc/guc_tables.c:1249 msgid "Terminate session on any error." msgstr "Завершать сеансы при любой ошибке." -#: utils/misc/guc_tables.c:1249 +#: utils/misc/guc_tables.c:1258 msgid "Reinitialize server after backend crash." msgstr "Перезапускать систему БД при аварии серверного процесса." -#: utils/misc/guc_tables.c:1258 +#: utils/misc/guc_tables.c:1267 msgid "Remove temporary files after backend crash." msgstr "Удалять временные файлы после аварии обслуживающего процесса." -#: utils/misc/guc_tables.c:1268 +#: utils/misc/guc_tables.c:1277 msgid "Send SIGABRT not SIGQUIT to child processes after backend crash." msgstr "" "Посылать дочерним процессам SIGABRT, а не SIGQUIT при сбое серверного " "процесса." -#: utils/misc/guc_tables.c:1278 +#: utils/misc/guc_tables.c:1287 msgid "Send SIGABRT not SIGKILL to stuck child processes." msgstr "Посылать SIGABRT, а не SIGKILL зависшим дочерним процессам." -#: utils/misc/guc_tables.c:1289 +#: utils/misc/guc_tables.c:1298 msgid "Logs the duration of each completed SQL statement." msgstr "Протоколировать длительность каждого выполненного SQL-оператора." -#: utils/misc/guc_tables.c:1298 +#: utils/misc/guc_tables.c:1307 msgid "Logs each query's parse tree." msgstr "Протоколировать дерево разбора для каждого запроса." -#: utils/misc/guc_tables.c:1307 +#: utils/misc/guc_tables.c:1316 msgid "Logs each query's rewritten parse tree." msgstr "Протоколировать перезаписанное дерево разбора для каждого запроса." -#: utils/misc/guc_tables.c:1316 +#: utils/misc/guc_tables.c:1325 msgid "Logs each query's execution plan." msgstr "Протоколировать план выполнения каждого запроса." -#: utils/misc/guc_tables.c:1325 +#: utils/misc/guc_tables.c:1334 msgid "Indents parse and plan tree displays." msgstr "Отступы при отображении деревьев разбора и плана запросов." -#: utils/misc/guc_tables.c:1334 +#: utils/misc/guc_tables.c:1343 msgid "Writes parser performance statistics to the server log." msgstr "Запись статистики разбора запросов в протокол сервера." -#: utils/misc/guc_tables.c:1343 +#: utils/misc/guc_tables.c:1352 msgid "Writes planner performance statistics to the server log." msgstr "Запись статистики планирования в протокол сервера." -#: utils/misc/guc_tables.c:1352 +#: utils/misc/guc_tables.c:1361 msgid "Writes executor performance statistics to the server log." msgstr "Запись статистики выполнения запросов в протокол сервера." -#: utils/misc/guc_tables.c:1361 +#: utils/misc/guc_tables.c:1370 msgid "Writes cumulative performance statistics to the server log." msgstr "Запись общей статистики производительности в протокол сервера." -#: utils/misc/guc_tables.c:1371 +#: utils/misc/guc_tables.c:1380 msgid "" "Logs system resource usage statistics (memory and CPU) on various B-tree " "operations." @@ -30849,11 +32249,11 @@ msgstr "" "Фиксировать статистику использования системных ресурсов (памяти и " "процессора) при различных операциях с b-деревом." -#: utils/misc/guc_tables.c:1383 +#: utils/misc/guc_tables.c:1392 msgid "Collects information about executing commands." msgstr "Собирает информацию о выполняющихся командах." -#: utils/misc/guc_tables.c:1384 +#: utils/misc/guc_tables.c:1393 msgid "" "Enables the collection of information on the currently executing command of " "each session, along with the time at which that command began execution." @@ -30861,70 +32261,70 @@ msgstr "" "Включает сбор информации о командах, выполняющихся во всех сеансах, а также " "время запуска команды." -#: utils/misc/guc_tables.c:1394 +#: utils/misc/guc_tables.c:1403 msgid "Collects statistics on database activity." msgstr "Собирает статистику активности в БД." -#: utils/misc/guc_tables.c:1403 +#: utils/misc/guc_tables.c:1412 msgid "Collects timing statistics for database I/O activity." msgstr "Собирает статистику по времени активности ввода/вывода." -#: utils/misc/guc_tables.c:1412 +#: utils/misc/guc_tables.c:1421 msgid "Collects timing statistics for WAL I/O activity." msgstr "Собирает статистику по времени активности ввода/вывода WAL." -#: utils/misc/guc_tables.c:1422 +#: utils/misc/guc_tables.c:1431 msgid "Updates the process title to show the active SQL command." msgstr "Выводит в заголовок процесса активную SQL-команду." -#: utils/misc/guc_tables.c:1423 +#: utils/misc/guc_tables.c:1432 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:1432 +#: utils/misc/guc_tables.c:1441 msgid "Starts the autovacuum subprocess." msgstr "Запускает подпроцесс автоочистки." -#: utils/misc/guc_tables.c:1442 +#: utils/misc/guc_tables.c:1451 msgid "Generates debugging output for LISTEN and NOTIFY." msgstr "Генерирует отладочные сообщения для LISTEN и NOTIFY." -#: utils/misc/guc_tables.c:1454 +#: utils/misc/guc_tables.c:1463 msgid "Emits information about lock usage." msgstr "Выдавать информацию о применяемых блокировках." -#: utils/misc/guc_tables.c:1464 +#: utils/misc/guc_tables.c:1473 msgid "Emits information about user lock usage." msgstr "Выдавать информацию о применяемых пользовательских блокировках." -#: utils/misc/guc_tables.c:1474 +#: utils/misc/guc_tables.c:1483 msgid "Emits information about lightweight lock usage." msgstr "Выдавать информацию о применяемых лёгких блокировках." -#: utils/misc/guc_tables.c:1484 +#: utils/misc/guc_tables.c:1493 msgid "" "Dumps information about all current locks when a deadlock timeout occurs." msgstr "" "Выводить информацию обо всех текущих блокировках в случае тайм-аута при " "взаимоблокировке." -#: utils/misc/guc_tables.c:1496 +#: utils/misc/guc_tables.c:1505 msgid "Logs long lock waits." msgstr "Протоколировать длительные ожидания в блокировках." -#: utils/misc/guc_tables.c:1505 +#: utils/misc/guc_tables.c:1514 msgid "Logs standby recovery conflict waits." msgstr "" "Протоколировать события ожидания разрешения конфликтов при восстановлении на " "ведомом." -#: utils/misc/guc_tables.c:1514 +#: utils/misc/guc_tables.c:1523 msgid "Logs the host name in the connection logs." msgstr "Записывать имя узла в протоколы подключений." -#: utils/misc/guc_tables.c:1515 +#: utils/misc/guc_tables.c:1524 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 " @@ -30936,11 +32336,11 @@ msgstr "" "параметр, но учтите, что это может значительно повлиять на " "производительность." -#: utils/misc/guc_tables.c:1526 +#: utils/misc/guc_tables.c:1535 msgid "Treats \"expr=NULL\" as \"expr IS NULL\"." msgstr "Обрабатывать \"expr=NULL\" как \"expr IS NULL\"." -#: utils/misc/guc_tables.c:1527 +#: utils/misc/guc_tables.c:1536 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 " @@ -30952,10 +32352,6 @@ msgstr "" "совпадает с NULL, и false в противном случае. По правилам expr = NULL всегда " "должно возвращать null (неопределённость)." -#: utils/misc/guc_tables.c:1539 -msgid "Enables per-database user names." -msgstr "Включает связывание имён пользователей с базами данных." - #: utils/misc/guc_tables.c:1548 msgid "Sets the default read-only status of new transactions." msgstr "" @@ -31071,11 +32467,17 @@ msgid "Sets whether to include or exclude transaction with recovery target." msgstr "Определяет, включать ли транзакцию в целевую точку восстановления." #: utils/misc/guc_tables.c:1778 +msgid "Starts the WAL summarizer process to enable incremental backup." +msgstr "" +"Запускает процесс обобщения WAL, необходимый для инкрементального " +"копирования." + +#: utils/misc/guc_tables.c:1788 msgid "Allows connections and queries during recovery." msgstr "" "Разрешает принимать новые подключения и запросы в процессе восстановления." -#: utils/misc/guc_tables.c:1788 +#: utils/misc/guc_tables.c:1798 msgid "" "Allows feedback from a hot standby to the primary that will avoid query " "conflicts." @@ -31083,19 +32485,19 @@ msgstr "" "Разрешает обратную связь сервера горячего резерва с основным для " "предотвращения конфликтов при длительных запросах." -#: utils/misc/guc_tables.c:1798 +#: utils/misc/guc_tables.c:1808 msgid "Shows whether hot standby is currently active." msgstr "Показывает, активен ли в настоящий момент режим горячего резерва." -#: utils/misc/guc_tables.c:1809 +#: utils/misc/guc_tables.c:1819 msgid "Allows modifications of the structure of system tables." msgstr "Разрешает модифицировать структуру системных таблиц." -#: utils/misc/guc_tables.c:1820 +#: utils/misc/guc_tables.c:1830 msgid "Disables reading from system indexes." msgstr "Запрещает использование системных индексов." -#: utils/misc/guc_tables.c:1821 +#: utils/misc/guc_tables.c:1831 msgid "" "It does not prevent updating the indexes, so it is safe to use. The worst " "consequence is slowness." @@ -31103,20 +32505,20 @@ msgstr "" "При этом индексы продолжают обновляться, так что данное поведение безопасно. " "Худшее следствие - замедление." -#: utils/misc/guc_tables.c:1832 +#: utils/misc/guc_tables.c:1842 msgid "Allows tablespaces directly inside pg_tblspc, for testing." msgstr "" "Позволяет размещать табличные пространства внутри pg_tblspc; предназначается " "для тестирования." -#: utils/misc/guc_tables.c:1843 +#: utils/misc/guc_tables.c:1853 msgid "" "Enables backward compatibility mode for privilege checks on large objects." msgstr "" "Включает режим обратной совместимости при проверке привилегий для больших " "объектов." -#: utils/misc/guc_tables.c:1844 +#: utils/misc/guc_tables.c:1854 msgid "" "Skips privilege checks when reading or modifying large objects, for " "compatibility with PostgreSQL releases prior to 9.0." @@ -31124,66 +32526,66 @@ msgstr "" "Пропускает проверки привилегий при чтении или изменении больших объектов " "(для совместимости с версиями PostgreSQL до 9.0)." -#: utils/misc/guc_tables.c:1854 +#: utils/misc/guc_tables.c:1864 msgid "When generating SQL fragments, quote all identifiers." msgstr "" "Генерируя SQL-фрагменты, заключать все идентификаторы в двойные кавычки." -#: utils/misc/guc_tables.c:1864 +#: utils/misc/guc_tables.c:1874 msgid "Shows whether data checksums are turned on for this cluster." msgstr "Показывает, включён ли в этом кластере контроль целостности данных." -#: utils/misc/guc_tables.c:1875 +#: utils/misc/guc_tables.c:1885 msgid "Add sequence number to syslog messages to avoid duplicate suppression." msgstr "" "Добавлять последовательный номер в сообщения syslog во избежание подавления " "повторов." -#: utils/misc/guc_tables.c:1885 +#: utils/misc/guc_tables.c:1895 msgid "Split messages sent to syslog by lines and to fit into 1024 bytes." msgstr "" "Разбивать сообщения, передаваемые в syslog, по строкам размером не больше " "1024 байт." -#: utils/misc/guc_tables.c:1895 +#: utils/misc/guc_tables.c:1905 msgid "Controls whether Gather and Gather Merge also run subplans." msgstr "" "Определяет, будут ли узлы сбора и сбора слиянием также выполнять подпланы." -#: utils/misc/guc_tables.c:1896 +#: utils/misc/guc_tables.c:1906 msgid "Should gather nodes also run subplans or just gather tuples?" msgstr "" "Должны ли узлы сбора также выполнять подпланы или только собирать кортежи?" -#: utils/misc/guc_tables.c:1906 +#: utils/misc/guc_tables.c:1916 msgid "Allow JIT compilation." msgstr "Включить JIT-компиляцию." -#: utils/misc/guc_tables.c:1917 +#: utils/misc/guc_tables.c:1927 msgid "Register JIT-compiled functions with debugger." msgstr "Регистрировать JIT-скомпилированные функции в отладчике." -#: utils/misc/guc_tables.c:1934 +#: utils/misc/guc_tables.c:1944 msgid "Write out LLVM bitcode to facilitate JIT debugging." msgstr "Выводить битовый код LLVM для облегчения отладки JIT." -#: utils/misc/guc_tables.c:1945 +#: utils/misc/guc_tables.c:1955 msgid "Allow JIT compilation of expressions." msgstr "Включить JIT-компиляцию выражений." -#: utils/misc/guc_tables.c:1956 +#: utils/misc/guc_tables.c:1966 msgid "Register JIT-compiled functions with perf profiler." msgstr "Регистрировать JIT-компилируемые функции в профилировщике perf." -#: utils/misc/guc_tables.c:1973 +#: utils/misc/guc_tables.c:1983 msgid "Allow JIT compilation of tuple deforming." msgstr "Разрешить JIT-компиляцию кода преобразования кортежей." -#: utils/misc/guc_tables.c:1984 +#: utils/misc/guc_tables.c:1994 msgid "Whether to continue running after a failure to sync data files." msgstr "Продолжать работу после ошибки при сохранении файлов данных на диске." -#: utils/misc/guc_tables.c:1993 +#: utils/misc/guc_tables.c:2003 msgid "" "Sets whether a WAL receiver should create a temporary replication slot if no " "permanent slot is configured." @@ -31191,28 +32593,46 @@ msgstr "" "Определяет, должен ли приёмник WAL создавать временный слот репликации, если " "не настроен постоянный слот." -#: utils/misc/guc_tables.c:2011 +#: utils/misc/guc_tables.c:2012 +msgid "Enables event triggers." +msgstr "Включает событийные триггеры." + +#: utils/misc/guc_tables.c:2013 +msgid "When enabled, event triggers will fire for all applicable statements." +msgstr "" +"При включении событийные триггеры будут срабатывать для всех операторов, для " +"которых применимы." + +#: utils/misc/guc_tables.c:2022 +msgid "" +"Enables a physical standby to synchronize logical failover replication slots " +"from the primary server." +msgstr "" +"Позволяет физической реплике синхронизировать переносимые слоты логической " +"репликации с ведущего сервера." + +#: utils/misc/guc_tables.c:2040 msgid "" "Sets the amount of time to wait before forcing a switch to the next WAL file." msgstr "" "Задаёт время задержки перед принудительным переключением на следующий файл " "WAL." -#: utils/misc/guc_tables.c:2022 +#: utils/misc/guc_tables.c:2051 msgid "" "Sets the amount of time to wait after authentication on connection startup." msgstr "" "Задаёт время ожидания после аутентификации при установлении соединения." -#: utils/misc/guc_tables.c:2024 utils/misc/guc_tables.c:2658 +#: utils/misc/guc_tables.c:2053 utils/misc/guc_tables.c:2780 msgid "This allows attaching a debugger to the process." msgstr "Это позволяет подключить к процессу отладчик." -#: utils/misc/guc_tables.c:2033 +#: utils/misc/guc_tables.c:2062 msgid "Sets the default statistics target." msgstr "Устанавливает ориентир статистики по умолчанию." -#: utils/misc/guc_tables.c:2034 +#: utils/misc/guc_tables.c:2063 msgid "" "This applies to table columns that have not had a column-specific target set " "via ALTER TABLE SET STATISTICS." @@ -31220,13 +32640,13 @@ msgstr "" "Это значение распространяется на столбцы таблицы, для которых ориентир " "статистики не задан явно через ALTER TABLE SET STATISTICS." -#: utils/misc/guc_tables.c:2043 +#: utils/misc/guc_tables.c:2072 msgid "Sets the FROM-list size beyond which subqueries are not collapsed." msgstr "" "Задаёт предел для списка FROM, при превышении которого подзапросы не " "сворачиваются." -#: utils/misc/guc_tables.c:2045 +#: utils/misc/guc_tables.c:2074 msgid "" "The planner will merge subqueries into upper queries if the resulting FROM " "list would have no more than this many items." @@ -31234,13 +32654,13 @@ msgstr "" "Планировщик объединит вложенные запросы с внешними, если в полученном списке " "FROM будет не больше заданного числа элементов." -#: utils/misc/guc_tables.c:2056 +#: utils/misc/guc_tables.c:2085 msgid "Sets the FROM-list size beyond which JOIN constructs are not flattened." msgstr "" "Задаёт предел для списка FROM, при превышении которого конструкции JOIN " "сохраняются." -#: utils/misc/guc_tables.c:2058 +#: utils/misc/guc_tables.c:2087 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." @@ -31248,34 +32668,34 @@ msgstr "" "Планировщик будет сносить явные конструкции JOIN в списки FROM, пока в " "результирующем списке не больше заданного числа элементов." -#: utils/misc/guc_tables.c:2069 +#: utils/misc/guc_tables.c:2098 msgid "Sets the threshold of FROM items beyond which GEQO is used." msgstr "" "Задаёт предел для списка FROM, при превышении которого применяется GEQO." -#: utils/misc/guc_tables.c:2079 +#: utils/misc/guc_tables.c:2108 msgid "GEQO: effort is used to set the default for other GEQO parameters." msgstr "" "GEQO: оценка усилий для планирования, задающая значения по умолчанию для " "других параметров GEQO." -#: utils/misc/guc_tables.c:2089 +#: utils/misc/guc_tables.c:2118 msgid "GEQO: number of individuals in the population." msgstr "GEQO: число особей в популяции." -#: utils/misc/guc_tables.c:2090 utils/misc/guc_tables.c:2100 +#: utils/misc/guc_tables.c:2119 utils/misc/guc_tables.c:2129 msgid "Zero selects a suitable default value." msgstr "При нуле выбирается подходящее значение по умолчанию." -#: utils/misc/guc_tables.c:2099 +#: utils/misc/guc_tables.c:2128 msgid "GEQO: number of iterations of the algorithm." msgstr "GEQO: число итераций алгоритма." -#: utils/misc/guc_tables.c:2111 +#: utils/misc/guc_tables.c:2140 msgid "Sets the time to wait on a lock before checking for deadlock." msgstr "Задаёт интервал ожидания в блокировке до проверки на взаимоблокировку." -#: utils/misc/guc_tables.c:2122 +#: utils/misc/guc_tables.c:2151 msgid "" "Sets the maximum delay before canceling queries when a hot standby server is " "processing archived WAL data." @@ -31283,7 +32703,7 @@ msgstr "" "Задаёт максимальную задержку до отмены запроса, когда сервер горячего " "резерва обрабатывает данные WAL из архива." -#: utils/misc/guc_tables.c:2133 +#: utils/misc/guc_tables.c:2162 msgid "" "Sets the maximum delay before canceling queries when a hot standby server is " "processing streamed WAL data." @@ -31291,13 +32711,13 @@ msgstr "" "Задаёт максимальную задержку до отмены запроса, когда сервер горячего " "резерва обрабатывает данные WAL из потока." -#: utils/misc/guc_tables.c:2144 +#: utils/misc/guc_tables.c:2173 msgid "Sets the minimum delay for applying changes during recovery." msgstr "" "Задаёт минимальную задержку для применения изменений в процессе " "восстановления." -#: utils/misc/guc_tables.c:2155 +#: utils/misc/guc_tables.c:2184 msgid "" "Sets the maximum interval between WAL receiver status reports to the sending " "server." @@ -31305,21 +32725,21 @@ msgstr "" "Задаёт максимальный интервал между отчётами о состоянии приёмника WAL, " "отправляемыми передающему серверу." -#: utils/misc/guc_tables.c:2166 +#: utils/misc/guc_tables.c:2195 msgid "Sets the maximum wait time to receive data from the sending server." msgstr "" "Задаёт предельное время ожидания для получения данных от передающего сервера." -#: utils/misc/guc_tables.c:2177 +#: utils/misc/guc_tables.c:2206 msgid "Sets the maximum number of concurrent connections." msgstr "Задаёт максимально возможное число подключений." -#: utils/misc/guc_tables.c:2188 +#: utils/misc/guc_tables.c:2217 msgid "Sets the number of connection slots reserved for superusers." msgstr "" "Определяет, сколько слотов подключений забронировано для суперпользователей." -#: utils/misc/guc_tables.c:2198 +#: utils/misc/guc_tables.c:2227 msgid "" "Sets the number of connection slots reserved for roles with privileges of " "pg_use_reserved_connections." @@ -31327,19 +32747,19 @@ msgstr "" "Определяет, сколько слотов подключений забронировано для ролей с правом " "pg_use_reserved_connections." -#: utils/misc/guc_tables.c:2209 +#: utils/misc/guc_tables.c:2238 msgid "Amount of dynamic shared memory reserved at startup." msgstr "Объём динамической разделяемой памяти, резервируемый при запуске." -#: utils/misc/guc_tables.c:2224 +#: utils/misc/guc_tables.c:2253 msgid "Sets the number of shared memory buffers used by the server." msgstr "Задаёт количество буферов в разделяемой памяти, используемых сервером." -#: utils/misc/guc_tables.c:2235 +#: utils/misc/guc_tables.c:2264 msgid "Sets the buffer pool size for VACUUM, ANALYZE, and autovacuum." msgstr "Задаёт размер пула буферов для операций VACUUM, ANALYZE и автоочистки." -#: utils/misc/guc_tables.c:2246 +#: utils/misc/guc_tables.c:2275 msgid "" "Shows the size of the server's main shared memory area (rounded up to the " "nearest MB)." @@ -31347,29 +32767,90 @@ msgstr "" "Показывает объём основной области общей памяти сервера (округляется до " "ближайшего значения в мегабайтах)." -#: utils/misc/guc_tables.c:2257 +#: utils/misc/guc_tables.c:2286 msgid "Shows the number of huge pages needed for the main shared memory area." msgstr "" "Показывает количество огромных страниц, необходимое для основной области " "общей памяти." -#: utils/misc/guc_tables.c:2258 +#: utils/misc/guc_tables.c:2287 msgid "-1 indicates that the value could not be determined." msgstr "Значение -1 показывает, что определить это количество не удалось." -#: utils/misc/guc_tables.c:2268 +#: utils/misc/guc_tables.c:2297 +msgid "" +"Sets the size of the dedicated buffer pool used for the commit timestamp " +"cache." +msgstr "" +"Задаёт размер выделенного пула буферов, используемых для кеширования времени " +"фиксации транзакций." + +#: utils/misc/guc_tables.c:2298 utils/misc/guc_tables.c:2353 +#: utils/misc/guc_tables.c:2364 +msgid "" +"Specify 0 to have this value determined as a fraction of shared_buffers." +msgstr "При значении 0 это число определяется как процент от shared_buffers." + +#: utils/misc/guc_tables.c:2308 +msgid "" +"Sets the size of the dedicated buffer pool used for the MultiXact member " +"cache." +msgstr "" +"Задаёт размер выделенного пула буферов, используемых для кеширования " +"членства в MultiXact." + +#: utils/misc/guc_tables.c:2319 +msgid "" +"Sets the size of the dedicated buffer pool used for the MultiXact offset " +"cache." +msgstr "" +"Задаёт размер выделенного пула буферов, используемых для кеширования " +"смещений MultiXact." + +#: utils/misc/guc_tables.c:2330 +msgid "" +"Sets the size of the dedicated buffer pool used for the LISTEN/NOTIFY " +"message cache." +msgstr "" +"Задаёт размер выделенного пула буферов, используемых для кеширования " +"сообщений LISTEN/NOTIFY." + +#: utils/misc/guc_tables.c:2341 +msgid "" +"Sets the size of the dedicated buffer pool used for the serializable " +"transaction cache." +msgstr "" +"Задаёт размер выделенного пула буферов, используемых для кеширования " +"сериализуемых транзакций." + +#: utils/misc/guc_tables.c:2352 +msgid "" +"Sets the size of the dedicated buffer pool used for the subtransaction cache." +msgstr "" +"Задаёт размер выделенного пула буферов, используемых для кеширования " +"подтранзакций." + +#: utils/misc/guc_tables.c:2363 +msgid "" +"Sets the size of the dedicated buffer pool used for the transaction status " +"cache." +msgstr "" +"Задаёт размер выделенного пула буферов, используемых для кеширования статуса " +"транзакций." + +#: utils/misc/guc_tables.c:2374 msgid "Sets the maximum number of temporary buffers used by each session." msgstr "Задаёт предельное число временных буферов на один сеанс." -#: utils/misc/guc_tables.c:2279 +#: utils/misc/guc_tables.c:2385 msgid "Sets the TCP port the server listens on." msgstr "Задаёт TCP-порт для работы сервера." -#: utils/misc/guc_tables.c:2289 +#: utils/misc/guc_tables.c:2395 msgid "Sets the access permissions of the Unix-domain socket." msgstr "Задаёт права доступа для Unix-сокета." -#: utils/misc/guc_tables.c:2290 +#: utils/misc/guc_tables.c:2396 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 " @@ -31381,11 +32862,11 @@ msgstr "" "воспринимаемом системными функциями chmod и umask. (Чтобы использовать " "привычный восьмеричный формат, добавьте в начало ноль (0).)" -#: utils/misc/guc_tables.c:2304 +#: utils/misc/guc_tables.c:2410 msgid "Sets the file permissions for log files." msgstr "Задаёт права доступа к файлам протоколов." -#: utils/misc/guc_tables.c:2305 +#: utils/misc/guc_tables.c:2411 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 " @@ -31395,11 +32876,11 @@ msgstr "" "функциями chmod и umask. (Чтобы использовать привычный восьмеричный формат, " "добавьте в начало ноль (0).)" -#: utils/misc/guc_tables.c:2319 +#: utils/misc/guc_tables.c:2425 msgid "Shows the mode of the data directory." msgstr "Показывает режим каталога данных." -#: utils/misc/guc_tables.c:2320 +#: utils/misc/guc_tables.c:2426 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 " @@ -31409,11 +32890,11 @@ msgstr "" "функциями chmod и umask. (Чтобы использовать привычный восьмеричный формат, " "добавьте в начало ноль (0).)" -#: utils/misc/guc_tables.c:2333 +#: utils/misc/guc_tables.c:2439 msgid "Sets the maximum memory to be used for query workspaces." msgstr "Задаёт предельный объём памяти для рабочих пространств запросов." -#: utils/misc/guc_tables.c:2334 +#: utils/misc/guc_tables.c:2440 msgid "" "This much memory can be used by each internal sort operation and hash table " "before switching to temporary disk files." @@ -31421,19 +32902,19 @@ msgstr "" "Такой объём памяти может использоваться каждой внутренней операцией " "сортировки и таблицей хешей до переключения на временные файлы на диске." -#: utils/misc/guc_tables.c:2346 +#: utils/misc/guc_tables.c:2457 msgid "Sets the maximum memory to be used for maintenance operations." msgstr "Задаёт предельный объём памяти для операций по обслуживанию." -#: utils/misc/guc_tables.c:2347 +#: utils/misc/guc_tables.c:2458 msgid "This includes operations such as VACUUM and CREATE INDEX." msgstr "Подразумеваются в частности операции VACUUM и CREATE INDEX." -#: utils/misc/guc_tables.c:2357 +#: utils/misc/guc_tables.c:2468 msgid "Sets the maximum memory to be used for logical decoding." msgstr "Задаёт предельный объём памяти для логического декодирования." -#: utils/misc/guc_tables.c:2358 +#: utils/misc/guc_tables.c:2469 msgid "" "This much memory can be used by each internal reorder buffer before spilling " "to disk." @@ -31441,85 +32922,94 @@ msgstr "" "Такой объём памяти может использоваться каждым внутренним буфером " "пересортировки до вымещения данных на диск." -#: utils/misc/guc_tables.c:2374 +#: utils/misc/guc_tables.c:2485 msgid "Sets the maximum stack depth, in kilobytes." msgstr "Задаёт максимальную глубину стека (в КБ)." -#: utils/misc/guc_tables.c:2385 +#: utils/misc/guc_tables.c:2496 msgid "Limits the total size of all temporary files used by each process." msgstr "" "Ограничивает общий размер всех временных файлов, доступный для каждого " "процесса." -#: utils/misc/guc_tables.c:2386 +#: utils/misc/guc_tables.c:2497 msgid "-1 means no limit." msgstr "-1 отключает ограничение." -#: utils/misc/guc_tables.c:2396 +#: utils/misc/guc_tables.c:2507 msgid "Vacuum cost for a page found in the buffer cache." msgstr "Стоимость очистки для страницы, найденной в кеше." -#: utils/misc/guc_tables.c:2406 +#: utils/misc/guc_tables.c:2517 msgid "Vacuum cost for a page not found in the buffer cache." msgstr "Стоимость очистки для страницы, не найденной в кеше." -#: utils/misc/guc_tables.c:2416 +#: utils/misc/guc_tables.c:2527 msgid "Vacuum cost for a page dirtied by vacuum." msgstr "Стоимость очистки для страницы, которая не была \"грязной\"." -#: utils/misc/guc_tables.c:2426 +#: utils/misc/guc_tables.c:2537 msgid "Vacuum cost amount available before napping." msgstr "Суммарная стоимость очистки, при которой нужна передышка." -#: utils/misc/guc_tables.c:2436 +#: utils/misc/guc_tables.c:2547 msgid "Vacuum cost amount available before napping, for autovacuum." msgstr "" "Суммарная стоимость очистки, при которой нужна передышка, для автоочистки." -#: utils/misc/guc_tables.c:2446 +#: utils/misc/guc_tables.c:2557 msgid "" "Sets the maximum number of simultaneously open files for each server process." msgstr "" "Задаёт предельное число одновременно открытых файлов для каждого серверного " "процесса." -#: utils/misc/guc_tables.c:2459 +#: utils/misc/guc_tables.c:2570 msgid "Sets the maximum number of simultaneously prepared transactions." msgstr "Задаёт предельное число одновременно подготовленных транзакций." -#: utils/misc/guc_tables.c:2470 +#: utils/misc/guc_tables.c:2581 msgid "Sets the minimum OID of tables for tracking locks." msgstr "Задаёт минимальный OID таблиц, для которых отслеживаются блокировки." -#: utils/misc/guc_tables.c:2471 +#: utils/misc/guc_tables.c:2582 msgid "Is used to avoid output on system tables." msgstr "Применяется для игнорирования системных таблиц." -#: utils/misc/guc_tables.c:2480 +#: utils/misc/guc_tables.c:2591 msgid "Sets the OID of the table with unconditionally lock tracing." msgstr "Задаёт OID таблицы для безусловного отслеживания блокировок." -#: utils/misc/guc_tables.c:2492 +#: utils/misc/guc_tables.c:2603 msgid "Sets the maximum allowed duration of any statement." msgstr "Задаёт предельную длительность для любого оператора." -#: utils/misc/guc_tables.c:2493 utils/misc/guc_tables.c:2504 -#: utils/misc/guc_tables.c:2515 utils/misc/guc_tables.c:2526 +#: 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 msgid "A value of 0 turns off the timeout." msgstr "Нулевое значение отключает тайм-аут." -#: utils/misc/guc_tables.c:2503 +#: utils/misc/guc_tables.c:2614 msgid "Sets the maximum allowed duration of any wait for a lock." msgstr "Задаёт максимальную продолжительность ожидания блокировок." -#: utils/misc/guc_tables.c:2514 +#: utils/misc/guc_tables.c:2625 msgid "" "Sets the maximum allowed idle time between queries, when in a transaction." msgstr "" "Задаёт предельно допустимую длительность простоя между запросами в " "транзакции." -#: utils/misc/guc_tables.c:2525 +#: utils/misc/guc_tables.c:2636 +msgid "" +"Sets the maximum allowed duration of any transaction within a session (not a " +"prepared transaction)." +msgstr "" +"Задаёт предельно допустимую длительность для любых транзакций в сеансе " +"(кроме подготовленных)." + +#: utils/misc/guc_tables.c:2647 msgid "" "Sets the maximum allowed idle time between queries, when not in a " "transaction." @@ -31527,37 +33017,37 @@ msgstr "" "Задаёт предельно допустимую длительность простоя между запросами вне " "транзакций." -#: utils/misc/guc_tables.c:2536 +#: utils/misc/guc_tables.c:2658 msgid "Minimum age at which VACUUM should freeze a table row." msgstr "" "Минимальный возраст строк таблицы, при котором VACUUM может их заморозить." -#: utils/misc/guc_tables.c:2546 +#: utils/misc/guc_tables.c:2668 msgid "Age at which VACUUM should scan whole table to freeze tuples." msgstr "" "Возраст, при котором VACUUM должен сканировать всю таблицу с целью " "заморозить кортежи." -#: utils/misc/guc_tables.c:2556 +#: utils/misc/guc_tables.c:2678 msgid "Minimum age at which VACUUM should freeze a MultiXactId in a table row." msgstr "" "Минимальный возраст, при котором VACUUM будет замораживать MultiXactId в " "строке таблицы." -#: utils/misc/guc_tables.c:2566 +#: utils/misc/guc_tables.c:2688 msgid "Multixact age at which VACUUM should scan whole table to freeze tuples." msgstr "" "Возраст multixact, при котором VACUUM должен сканировать всю таблицу с целью " "заморозить кортежи." -#: utils/misc/guc_tables.c:2576 +#: utils/misc/guc_tables.c:2698 msgid "" "Age at which VACUUM should trigger failsafe to avoid a wraparound outage." msgstr "" "Возраст, при котором VACUUM должен включить защиту от зацикливания во " "избежание отказа." -#: utils/misc/guc_tables.c:2585 +#: utils/misc/guc_tables.c:2707 msgid "" "Multixact age at which VACUUM should trigger failsafe to avoid a wraparound " "outage." @@ -31565,44 +33055,44 @@ msgstr "" "Возраст мультитранзакций, при котором VACUUM должен включить защиту от " "зацикливания во избежание отказа." -#: utils/misc/guc_tables.c:2598 +#: utils/misc/guc_tables.c:2720 msgid "Sets the maximum number of locks per transaction." msgstr "Задаёт предельное число блокировок на транзакцию." -#: utils/misc/guc_tables.c:2599 +#: utils/misc/guc_tables.c:2721 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." +"\"max_locks_per_transaction\" objects per server process or prepared " +"transaction will need to be locked at any one time." msgstr "" "Размер разделяемой таблицы блокировок выбирается из предположения, что в " "один момент времени потребуется заблокировать не более " -"max_locks_per_transaction объектов для одного серверного процесса или " +"\"max_locks_per_transaction\" объектов для одного серверного процесса или " "подготовленной транзакции." -#: utils/misc/guc_tables.c:2610 +#: utils/misc/guc_tables.c:2732 msgid "Sets the maximum number of predicate locks per transaction." msgstr "Задаёт предельное число предикатных блокировок на транзакцию." -#: utils/misc/guc_tables.c:2611 +#: utils/misc/guc_tables.c:2733 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 " +"\"max_pred_locks_per_transaction\" objects per server process or prepared " "transaction will need to be locked at any one time." msgstr "" "Размер разделяемой таблицы предикатных блокировок выбирается из " "предположения, что в один момент времени потребуется заблокировать не более " -"max_pred_locks_per_transaction объектов для одного серверного процесса или " -"подготовленной транзакции." +"\"max_pred_locks_per_transaction\" объектов для одного серверного процесса " +"или подготовленной транзакции." -#: utils/misc/guc_tables.c:2622 +#: utils/misc/guc_tables.c:2744 msgid "" "Sets the maximum number of predicate-locked pages and tuples per relation." msgstr "" "Задаёт максимальное число страниц и кортежей, блокируемых предикатными " "блокировками в одном отношении." -#: utils/misc/guc_tables.c:2623 +#: utils/misc/guc_tables.c:2745 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." @@ -31610,13 +33100,13 @@ msgstr "" "Если одним соединением блокируется больше этого общего числа страниц и " "кортежей, эти блокировки заменяются блокировкой на уровне отношения." -#: utils/misc/guc_tables.c:2633 +#: utils/misc/guc_tables.c:2755 msgid "Sets the maximum number of predicate-locked tuples per page." msgstr "" "Задаёт максимальное число кортежей, блокируемых предикатными блокировками в " "одной странице." -#: utils/misc/guc_tables.c:2634 +#: utils/misc/guc_tables.c:2756 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." @@ -31624,45 +33114,50 @@ msgstr "" "Если одним соединением блокируется больше этого числа кортежей на одной " "странице, эти блокировки заменяются блокировкой на уровне страницы." -#: utils/misc/guc_tables.c:2644 +#: utils/misc/guc_tables.c:2766 msgid "Sets the maximum allowed time to complete client authentication." msgstr "Ограничивает время, за которое клиент должен пройти аутентификацию." -#: utils/misc/guc_tables.c:2656 +#: utils/misc/guc_tables.c:2778 msgid "" "Sets the amount of time to wait before authentication on connection startup." msgstr "Задаёт время ожидания до аутентификации при установлении соединения." -#: utils/misc/guc_tables.c:2668 +#: utils/misc/guc_tables.c:2790 +msgid "Sets the maximum number of allocated pages for NOTIFY / LISTEN queue." +msgstr "" +"Задаёт максимальное число страниц, выделяемых для очереди NOTIFY / LISTEN." + +#: utils/misc/guc_tables.c:2800 msgid "Buffer size for reading ahead in the WAL during recovery." msgstr "Размер буфера для упреждающего чтения WAL во время восстановления." -#: utils/misc/guc_tables.c:2669 +#: utils/misc/guc_tables.c:2801 msgid "" "Maximum distance to read ahead in the WAL to prefetch referenced data blocks." msgstr "" "Максимальный объём WAL, прочитываемый наперёд для осуществления предвыборки " "изменяемых блоков данных." -#: utils/misc/guc_tables.c:2679 +#: utils/misc/guc_tables.c:2811 msgid "Sets the size of WAL files held for standby servers." msgstr "" "Определяет предельный объём файлов WAL, сохраняемых для резервных серверов." -#: utils/misc/guc_tables.c:2690 +#: utils/misc/guc_tables.c:2822 msgid "Sets the minimum size to shrink the WAL to." msgstr "Задаёт минимальный размер WAL при сжатии." -#: utils/misc/guc_tables.c:2702 +#: utils/misc/guc_tables.c:2834 msgid "Sets the WAL size that triggers a checkpoint." msgstr "Задаёт размер WAL, при котором инициируется контрольная точка." -#: utils/misc/guc_tables.c:2714 +#: utils/misc/guc_tables.c:2846 msgid "Sets the maximum time between automatic WAL checkpoints." msgstr "" "Задаёт максимальное время между автоматическими контрольными точками WAL." -#: utils/misc/guc_tables.c:2725 +#: utils/misc/guc_tables.c:2857 msgid "" "Sets the maximum time before warning if checkpoints triggered by WAL volume " "happen too frequently." @@ -31670,7 +33165,7 @@ msgstr "" "Задаёт максимальный интервал, в котором выдаётся предупреждение о том, что " "контрольные точки, вызванные активностью WAL, происходят слишком часто." -#: utils/misc/guc_tables.c:2727 +#: utils/misc/guc_tables.c:2859 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 " @@ -31680,49 +33175,54 @@ msgstr "" "контрольными точками, вызванными заполнением файлов сегментов WAL, меньше " "заданного значения. Нулевое значение отключает эти предупреждения." -#: utils/misc/guc_tables.c:2740 utils/misc/guc_tables.c:2958 -#: utils/misc/guc_tables.c:2998 +#: utils/misc/guc_tables.c:2872 utils/misc/guc_tables.c:3090 +#: utils/misc/guc_tables.c:3144 msgid "" "Number of pages after which previously performed writes are flushed to disk." msgstr "" "Число страниц, по достижении которого ранее выполненные операции записи " "сбрасываются на диск." -#: utils/misc/guc_tables.c:2751 +#: utils/misc/guc_tables.c:2883 msgid "Sets the number of disk-page buffers in shared memory for WAL." msgstr "Задаёт число буферов дисковых страниц в разделяемой памяти для WAL." -#: utils/misc/guc_tables.c:2762 +#: utils/misc/guc_tables.c:2884 +msgid "" +"Specify -1 to have this value determined as a fraction of shared_buffers." +msgstr "При значении -1 это число определяется как процент от shared_buffers." + +#: utils/misc/guc_tables.c:2894 msgid "Time between WAL flushes performed in the WAL writer." msgstr "Задержка между сбросом WAL в процессе, записывающем WAL." -#: utils/misc/guc_tables.c:2773 +#: utils/misc/guc_tables.c:2905 msgid "Amount of WAL written out by WAL writer that triggers a flush." msgstr "" "Объём WAL, обработанный пишущим WAL процессом, при котором инициируется " "сброс журнала на диск." -#: utils/misc/guc_tables.c:2784 +#: utils/misc/guc_tables.c:2916 msgid "Minimum size of new file to fsync instead of writing WAL." msgstr "" "Размер нового файла, при достижении которого файл не пишется в WAL, а " "сбрасывается на диск." -#: utils/misc/guc_tables.c:2795 +#: utils/misc/guc_tables.c:2927 msgid "Sets the maximum number of simultaneously running WAL sender processes." msgstr "" "Задаёт предельное число одновременно работающих процессов передачи WAL." -#: utils/misc/guc_tables.c:2806 +#: utils/misc/guc_tables.c:2938 msgid "Sets the maximum number of simultaneously defined replication slots." msgstr "Задаёт предельное число одновременно существующих слотов репликации." -#: utils/misc/guc_tables.c:2816 +#: utils/misc/guc_tables.c:2948 msgid "Sets the maximum WAL size that can be reserved by replication slots." msgstr "" "Задаёт максимальный размер WAL, который могут резервировать слоты репликации." -#: utils/misc/guc_tables.c:2817 +#: utils/misc/guc_tables.c:2949 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." @@ -31731,11 +33231,11 @@ msgstr "" "помечены как нерабочие, а сегменты будут освобождены для удаления или " "переработки." -#: utils/misc/guc_tables.c:2829 +#: utils/misc/guc_tables.c:2961 msgid "Sets the maximum time to wait for WAL replication." msgstr "Задаёт предельное время ожидания репликации WAL." -#: utils/misc/guc_tables.c:2840 +#: utils/misc/guc_tables.c:2972 msgid "" "Sets the delay in microseconds between transaction commit and flushing WAL " "to disk." @@ -31743,19 +33243,19 @@ msgstr "" "Задаёт задержку в микросекундах между фиксированием транзакций и сбросом WAL " "на диск." -#: utils/misc/guc_tables.c:2852 +#: utils/misc/guc_tables.c:2984 msgid "" "Sets the minimum number of concurrent open transactions required before " -"performing commit_delay." +"performing \"commit_delay\"." msgstr "" "Задаёт минимальное число одновременно открытых транзакций, которое требуется " -"для применения commit_delay." +"для применения \"commit_delay\"." -#: utils/misc/guc_tables.c:2863 +#: utils/misc/guc_tables.c:2995 msgid "Sets the number of digits displayed for floating-point values." msgstr "Задаёт число выводимых цифр для чисел с плавающей точкой." -#: utils/misc/guc_tables.c:2864 +#: utils/misc/guc_tables.c:2996 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 " @@ -31767,7 +33267,7 @@ msgstr "" "(FLT_DIG или DBL_DIG соответственно). Положительное значение включает режим " "точного вывода." -#: utils/misc/guc_tables.c:2876 +#: utils/misc/guc_tables.c:3008 msgid "" "Sets the minimum execution time above which a sample of statements will be " "logged. Sampling is determined by log_statement_sample_rate." @@ -31776,22 +33276,22 @@ msgstr "" "которого он выводится в журнал. Выборка определяется параметром " "log_statement_sample_rate." -#: utils/misc/guc_tables.c:2879 +#: utils/misc/guc_tables.c:3011 msgid "Zero logs a sample of all queries. -1 turns this feature off." msgstr "При 0 выводятся все запросы в выборке; -1 отключает эти сообщения." -#: utils/misc/guc_tables.c:2889 +#: utils/misc/guc_tables.c:3021 msgid "" "Sets the minimum execution time above which all statements will be logged." msgstr "" "Задаёт предельное время выполнения любого оператора, при превышении которого " "он выводится в журнал." -#: utils/misc/guc_tables.c:2891 +#: utils/misc/guc_tables.c:3023 msgid "Zero prints all queries. -1 turns this feature off." msgstr "При 0 выводятся все запросы; -1 отключает эти сообщения." -#: utils/misc/guc_tables.c:2901 +#: utils/misc/guc_tables.c:3033 msgid "" "Sets the minimum execution time above which autovacuum actions will be " "logged." @@ -31799,12 +33299,12 @@ msgstr "" "Задаёт предельное время выполнения автоочистки, при превышении которого эта " "операция протоколируется в журнале." -#: utils/misc/guc_tables.c:2903 +#: utils/misc/guc_tables.c:3035 msgid "Zero prints all actions. -1 turns autovacuum logging off." msgstr "" "При 0 протоколируются все операции автоочистки; -1 отключает эти сообщения." -#: utils/misc/guc_tables.c:2913 +#: utils/misc/guc_tables.c:3045 msgid "" "Sets the maximum length in bytes of data logged for bind parameter values " "when logging statements." @@ -31812,11 +33312,11 @@ msgstr "" "Задаёт максимальный размер данных (в байтах), выводимых в значениях " "привязанных параметров при протоколировании операторов." -#: utils/misc/guc_tables.c:2915 utils/misc/guc_tables.c:2927 +#: utils/misc/guc_tables.c:3047 utils/misc/guc_tables.c:3059 msgid "-1 to print values in full." msgstr "При -1 значения выводятся полностью." -#: utils/misc/guc_tables.c:2925 +#: utils/misc/guc_tables.c:3057 msgid "" "Sets the maximum length in bytes of data logged for bind parameter values " "when logging statements, on error." @@ -31824,17 +33324,17 @@ msgstr "" "Задаёт максимальный размер данных (в байтах), выводимых в значениях " "привязанных параметров при протоколировании операторов в случае ошибки." -#: utils/misc/guc_tables.c:2937 +#: utils/misc/guc_tables.c:3069 msgid "Background writer sleep time between rounds." msgstr "Время простоя в процессе фоновой записи между подходами." -#: utils/misc/guc_tables.c:2948 +#: utils/misc/guc_tables.c:3080 msgid "Background writer maximum number of LRU pages to flush per round." msgstr "" "Максимальное число LRU-страниц, сбрасываемых за один подход, в процессе " "фоновой записи." -#: utils/misc/guc_tables.c:2971 +#: utils/misc/guc_tables.c:3103 msgid "" "Number of simultaneous requests that can be handled efficiently by the disk " "subsystem." @@ -31842,89 +33342,97 @@ msgstr "" "Число одновременных запросов, которые могут быть эффективно обработаны " "дисковой подсистемой." -#: utils/misc/guc_tables.c:2985 +#: utils/misc/guc_tables.c:3117 msgid "" -"A variant of effective_io_concurrency that is used for maintenance work." +"A variant of \"effective_io_concurrency\" that is used for maintenance work." msgstr "" -"Вариация параметра effective_io_concurrency, предназначенная для операций " -"обслуживания БД." +"Вариация параметра \"effective_io_concurrency\", предназначенная для " +"операций обслуживания БД." -#: utils/misc/guc_tables.c:3011 +#: utils/misc/guc_tables.c:3132 +msgid "Limit on the size of data reads and writes." +msgstr "Предельный размер для операций чтения и записи данных." + +#: utils/misc/guc_tables.c:3157 msgid "Maximum number of concurrent worker processes." msgstr "Задаёт максимально возможное число рабочих процессов." -#: utils/misc/guc_tables.c:3023 +#: utils/misc/guc_tables.c:3169 msgid "Maximum number of logical replication worker processes." msgstr "" "Задаёт максимально возможное число рабочих процессов логической репликации." -#: utils/misc/guc_tables.c:3035 +#: utils/misc/guc_tables.c:3181 msgid "Maximum number of table synchronization workers per subscription." msgstr "" "Задаёт максимально возможное число процессов синхронизации таблиц для одной " "подписки." -#: utils/misc/guc_tables.c:3047 +#: utils/misc/guc_tables.c:3193 msgid "Maximum number of parallel apply workers per subscription." msgstr "" "Задаёт максимально возможное число параллельных применяющих процессов для " "одной подписки." -#: utils/misc/guc_tables.c:3057 +#: utils/misc/guc_tables.c:3203 msgid "Sets the amount of time to wait before forcing log file rotation." msgstr "" "Задаёт время задержки перед принудительным переключением на следующий файл " "журнала." -#: utils/misc/guc_tables.c:3069 +#: utils/misc/guc_tables.c:3215 msgid "Sets the maximum size a log file can reach before being rotated." msgstr "" "Задаёт максимальный размер, которого может достичь файл журнала до " "переключения на другой файл." -#: utils/misc/guc_tables.c:3081 +#: utils/misc/guc_tables.c:3227 msgid "Shows the maximum number of function arguments." msgstr "Показывает максимально возможное число аргументов функций." -#: utils/misc/guc_tables.c:3092 +#: utils/misc/guc_tables.c:3238 msgid "Shows the maximum number of index keys." msgstr "Показывает максимально возможное число ключей в индексе." -#: utils/misc/guc_tables.c:3103 +#: utils/misc/guc_tables.c:3249 msgid "Shows the maximum identifier length." msgstr "Показывает максимально возможную длину идентификатора." -#: utils/misc/guc_tables.c:3114 +#: utils/misc/guc_tables.c:3260 msgid "Shows the size of a disk block." msgstr "Показывает размер дискового блока." -#: utils/misc/guc_tables.c:3125 +#: utils/misc/guc_tables.c:3271 msgid "Shows the number of pages per disk file." msgstr "Показывает число страниц в одном файле." -#: utils/misc/guc_tables.c:3136 +#: utils/misc/guc_tables.c:3282 msgid "Shows the block size in the write ahead log." msgstr "Показывает размер блока в журнале WAL." -#: utils/misc/guc_tables.c:3147 +#: utils/misc/guc_tables.c:3293 msgid "" "Sets the time to wait before retrying to retrieve WAL after a failed attempt." msgstr "" "Задаёт время задержки перед повторной попыткой обращения к WAL после неудачи." -#: utils/misc/guc_tables.c:3159 +#: utils/misc/guc_tables.c:3305 msgid "Shows the size of write ahead log segments." msgstr "Показывает размер сегментов журнала предзаписи." -#: utils/misc/guc_tables.c:3172 +#: utils/misc/guc_tables.c:3318 +msgid "Time for which WAL summary files should be kept." +msgstr "Время, в течение которого должны сохраняться файлы обобщения WAL." + +#: utils/misc/guc_tables.c:3331 msgid "Time to sleep between autovacuum runs." msgstr "Время простоя между запусками автоочистки." -#: utils/misc/guc_tables.c:3182 +#: utils/misc/guc_tables.c:3341 msgid "Minimum number of tuple updates or deletes prior to vacuum." msgstr "Минимальное число изменений или удалений кортежей, вызывающее очистку." -#: utils/misc/guc_tables.c:3191 +#: utils/misc/guc_tables.c:3350 msgid "" "Minimum number of tuple inserts prior to vacuum, or -1 to disable insert " "vacuums." @@ -31932,27 +33440,27 @@ msgstr "" "Минимальное число добавлений кортежей, вызывающее очистку; при -1 такая " "очистка отключается." -#: utils/misc/guc_tables.c:3200 +#: utils/misc/guc_tables.c:3359 msgid "Minimum number of tuple inserts, updates, or deletes prior to analyze." msgstr "" "Минимальное число добавлений, изменений или удалений кортежей, вызывающее " "анализ." -#: utils/misc/guc_tables.c:3210 +#: utils/misc/guc_tables.c:3369 msgid "" "Age at which to autovacuum a table to prevent transaction ID wraparound." msgstr "" "Возраст, при котором необходима автоочистка таблицы для предотвращения " "зацикливания ID транзакций." -#: utils/misc/guc_tables.c:3222 +#: utils/misc/guc_tables.c:3381 msgid "" "Multixact age at which to autovacuum a table to prevent multixact wraparound." msgstr "" "Возраст multixact, при котором необходима автоочистка таблицы для " "предотвращения зацикливания multixact." -#: utils/misc/guc_tables.c:3232 +#: utils/misc/guc_tables.c:3391 msgid "" "Sets the maximum number of simultaneously running autovacuum worker " "processes." @@ -31960,65 +33468,53 @@ msgstr "" "Задаёт предельное число одновременно выполняющихся рабочих процессов " "автоочистки." -#: utils/misc/guc_tables.c:3242 +#: utils/misc/guc_tables.c:3401 msgid "" "Sets the maximum number of parallel processes per maintenance operation." msgstr "" "Задаёт максимальное число параллельных процессов на одну операцию " "обслуживания." -#: utils/misc/guc_tables.c:3252 +#: utils/misc/guc_tables.c:3411 msgid "Sets the maximum number of parallel processes per executor node." msgstr "Задаёт максимальное число параллельных процессов на узел исполнителя." -#: utils/misc/guc_tables.c:3263 +#: utils/misc/guc_tables.c:3422 msgid "" "Sets the maximum number of parallel workers that can be active at one time." msgstr "" -"Задаёт максимальное число параллельных процессов, которые могут быть активны " -"одновременно." +"Задаёт максимальное число параллельных исполнителей, которые могут быть " +"активны одновременно." -#: utils/misc/guc_tables.c:3274 +#: utils/misc/guc_tables.c:3433 msgid "Sets the maximum memory to be used by each autovacuum worker process." msgstr "" "Задаёт предельный объём памяти для каждого рабочего процесса автоочистки." -#: utils/misc/guc_tables.c:3285 -msgid "" -"Time before a snapshot is too old to read pages changed after the snapshot " -"was taken." -msgstr "" -"Срок, по истечении которого снимок считается слишком старым для получения " -"страниц, изменённых после создания снимка." - -#: utils/misc/guc_tables.c:3286 -msgid "A value of -1 disables this feature." -msgstr "Значение -1 отключает это поведение." - -#: utils/misc/guc_tables.c:3296 +#: utils/misc/guc_tables.c:3444 msgid "Time between issuing TCP keepalives." msgstr "Интервал между TCP-пакетами пульса (keep-alive)." -#: utils/misc/guc_tables.c:3297 utils/misc/guc_tables.c:3308 -#: utils/misc/guc_tables.c:3432 +#: utils/misc/guc_tables.c:3445 utils/misc/guc_tables.c:3456 +#: utils/misc/guc_tables.c:3580 msgid "A value of 0 uses the system default." msgstr "При нулевом значении действует системный параметр." -#: utils/misc/guc_tables.c:3307 +#: utils/misc/guc_tables.c:3455 msgid "Time between TCP keepalive retransmits." msgstr "Интервал между повторениями TCP-пакетов пульса (keep-alive)." -#: utils/misc/guc_tables.c:3318 +#: utils/misc/guc_tables.c:3466 msgid "SSL renegotiation is no longer supported; this can only be 0." msgstr "" "Повторное согласование SSL более не поддерживается; единственное допустимое " "значение - 0." -#: utils/misc/guc_tables.c:3329 +#: utils/misc/guc_tables.c:3477 msgid "Maximum number of TCP keepalive retransmits." msgstr "Максимальное число повторений TCP-пакетов пульса (keep-alive)." -#: utils/misc/guc_tables.c:3330 +#: utils/misc/guc_tables.c:3478 msgid "" "Number of consecutive keepalive retransmits that can be lost before a " "connection is considered dead. A value of 0 uses the system default." @@ -32027,15 +33523,15 @@ msgstr "" "чем соединение будет считаться пропавшим. При нулевом значении действует " "системный параметр." -#: utils/misc/guc_tables.c:3341 +#: utils/misc/guc_tables.c:3489 msgid "Sets the maximum allowed result for exact search by GIN." msgstr "Ограничивает результат точного поиска с использованием GIN." -#: utils/misc/guc_tables.c:3352 +#: utils/misc/guc_tables.c:3500 msgid "Sets the planner's assumption about the total size of the data caches." msgstr "Подсказывает планировщику примерный общий размер кешей данных." -#: utils/misc/guc_tables.c:3353 +#: utils/misc/guc_tables.c:3501 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 " @@ -32045,12 +33541,12 @@ msgstr "" "попадают файлы данных PostgreSQL. Размер задаётся в дисковых страницах " "(обычно это 8 КБ)." -#: utils/misc/guc_tables.c:3364 +#: utils/misc/guc_tables.c:3512 msgid "Sets the minimum amount of table data for a parallel scan." msgstr "" "Задаёт минимальный объём данных в таблице для параллельного сканирования." -#: utils/misc/guc_tables.c:3365 +#: utils/misc/guc_tables.c:3513 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." @@ -32059,12 +33555,12 @@ msgstr "" "задано этим ограничением, он исключает параллельное сканирование из " "рассмотрения." -#: utils/misc/guc_tables.c:3375 +#: utils/misc/guc_tables.c:3523 msgid "Sets the minimum amount of index data for a parallel scan." msgstr "" "Задаёт минимальный объём данных в индексе для параллельного сканирования." -#: utils/misc/guc_tables.c:3376 +#: utils/misc/guc_tables.c:3524 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." @@ -32073,68 +33569,68 @@ msgstr "" "задано этим ограничением, он исключает параллельное сканирование из " "рассмотрения." -#: utils/misc/guc_tables.c:3387 +#: utils/misc/guc_tables.c:3535 msgid "Shows the server version as an integer." msgstr "Показывает версию сервера в виде целого числа." -#: utils/misc/guc_tables.c:3398 +#: utils/misc/guc_tables.c:3546 msgid "Log the use of temporary files larger than this number of kilobytes." msgstr "" "Фиксирует в протоколе превышение временными файлами заданного размера (в КБ)." -#: utils/misc/guc_tables.c:3399 +#: utils/misc/guc_tables.c:3547 msgid "Zero logs all files. The default is -1 (turning this feature off)." msgstr "" "При 0 отмечаются все файлы; при -1 эти сообщения отключаются (по умолчанию)." -#: utils/misc/guc_tables.c:3409 +#: utils/misc/guc_tables.c:3557 msgid "Sets the size reserved for pg_stat_activity.query, in bytes." msgstr "Задаёт размер, резервируемый для pg_stat_activity.query (в байтах)." -#: utils/misc/guc_tables.c:3420 +#: utils/misc/guc_tables.c:3568 msgid "Sets the maximum size of the pending list for GIN index." msgstr "Задаёт максимальный размер списка-очереди для GIN-индекса." -#: utils/misc/guc_tables.c:3431 +#: utils/misc/guc_tables.c:3579 msgid "TCP user timeout." msgstr "Пользовательский таймаут TCP." -#: utils/misc/guc_tables.c:3442 +#: utils/misc/guc_tables.c:3590 msgid "The size of huge page that should be requested." msgstr "Запрашиваемый размер огромных страниц." -#: utils/misc/guc_tables.c:3453 +#: utils/misc/guc_tables.c:3601 msgid "Aggressively flush system caches for debugging purposes." msgstr "Включает агрессивный сброс системных кешей для целей отладки." -#: utils/misc/guc_tables.c:3476 +#: utils/misc/guc_tables.c:3624 msgid "" "Sets the time interval between checks for disconnection while running " "queries." msgstr "" "Задаёт интервал между проверками подключения во время выполнения запросов." -#: utils/misc/guc_tables.c:3487 +#: utils/misc/guc_tables.c:3635 msgid "Time between progress updates for long-running startup operations." msgstr "" "Интервал между обновлениями состояния длительных операций, выполняемых при " "запуске." -#: utils/misc/guc_tables.c:3489 +#: utils/misc/guc_tables.c:3637 msgid "0 turns this feature off." msgstr "При 0 эта функциональность отключается." -#: utils/misc/guc_tables.c:3499 +#: utils/misc/guc_tables.c:3647 msgid "Sets the iteration count for SCRAM secret generation." msgstr "Задаёт количество итераций для формирования секрета SCRAM." -#: utils/misc/guc_tables.c:3519 +#: utils/misc/guc_tables.c:3667 msgid "" "Sets the planner's estimate of the cost of a sequentially fetched disk page." msgstr "" "Задаёт для планировщика ориентир стоимости последовательного чтения страницы." -#: utils/misc/guc_tables.c:3530 +#: utils/misc/guc_tables.c:3678 msgid "" "Sets the planner's estimate of the cost of a nonsequentially fetched disk " "page." @@ -32142,13 +33638,13 @@ msgstr "" "Задаёт для планировщика ориентир стоимости непоследовательного чтения " "страницы." -#: utils/misc/guc_tables.c:3541 +#: utils/misc/guc_tables.c:3689 msgid "Sets the planner's estimate of the cost of processing each tuple (row)." msgstr "" "Задаёт для планировщика ориентир стоимости обработки каждого кортежа " "(строки)." -#: utils/misc/guc_tables.c:3552 +#: utils/misc/guc_tables.c:3700 msgid "" "Sets the planner's estimate of the cost of processing each index entry " "during an index scan." @@ -32156,7 +33652,7 @@ msgstr "" "Задаёт для планировщика ориентир стоимости обработки каждого элемента " "индекса в процессе сканирования индекса." -#: utils/misc/guc_tables.c:3563 +#: utils/misc/guc_tables.c:3711 msgid "" "Sets the planner's estimate of the cost of processing each operator or " "function call." @@ -32164,7 +33660,7 @@ msgstr "" "Задаёт для планировщика ориентир стоимости обработки каждого оператора или " "вызова функции." -#: utils/misc/guc_tables.c:3574 +#: utils/misc/guc_tables.c:3722 msgid "" "Sets the planner's estimate of the cost of passing each tuple (row) from " "worker to leader backend." @@ -32172,7 +33668,7 @@ msgstr "" "Задаёт для планировщика ориентир стоимости передачи каждого кортежа (строки) " "ведущему процессу от рабочего." -#: utils/misc/guc_tables.c:3585 +#: utils/misc/guc_tables.c:3733 msgid "" "Sets the planner's estimate of the cost of starting up worker processes for " "parallel query." @@ -32180,40 +33676,40 @@ msgstr "" "Задаёт для планировщика ориентир стоимости запуска рабочих процессов для " "параллельного выполнения запроса." -#: utils/misc/guc_tables.c:3597 +#: utils/misc/guc_tables.c:3745 msgid "Perform JIT compilation if query is more expensive." msgstr "Стоимость запроса, при превышении которой производится JIT-компиляция." -#: utils/misc/guc_tables.c:3598 +#: utils/misc/guc_tables.c:3746 msgid "-1 disables JIT compilation." msgstr "-1 отключает JIT-компиляцию." -#: utils/misc/guc_tables.c:3608 +#: utils/misc/guc_tables.c:3756 msgid "Optimize JIT-compiled functions if query is more expensive." msgstr "" "Стоимость запроса, при превышении которой оптимизируются JIT-" "скомпилированные функции." -#: utils/misc/guc_tables.c:3609 +#: utils/misc/guc_tables.c:3757 msgid "-1 disables optimization." msgstr "-1 отключает оптимизацию." -#: utils/misc/guc_tables.c:3619 +#: utils/misc/guc_tables.c:3767 msgid "Perform JIT inlining if query is more expensive." msgstr "Стоимость запроса, при которой выполняется встраивание JIT." -#: utils/misc/guc_tables.c:3620 +#: utils/misc/guc_tables.c:3768 msgid "-1 disables inlining." msgstr "-1 отключает встраивание кода." -#: utils/misc/guc_tables.c:3630 +#: utils/misc/guc_tables.c:3778 msgid "" "Sets the planner's estimate of the fraction of a cursor's rows that will be " "retrieved." msgstr "" "Задаёт для планировщика ориентир доли требуемых строк курсора в общем числе." -#: utils/misc/guc_tables.c:3642 +#: utils/misc/guc_tables.c:3790 msgid "" "Sets the planner's estimate of the average size of a recursive query's " "working table." @@ -32221,37 +33717,37 @@ msgstr "" "Задаёт для планировщика ориентир среднего размера рабочей таблицы в " "рекурсивном запросе." -#: utils/misc/guc_tables.c:3654 +#: utils/misc/guc_tables.c:3802 msgid "GEQO: selective pressure within the population." msgstr "GEQO: селективное давление в популяции." -#: utils/misc/guc_tables.c:3665 +#: utils/misc/guc_tables.c:3813 msgid "GEQO: seed for random path selection." msgstr "GEQO: отправное значение для случайного выбора пути." -#: utils/misc/guc_tables.c:3676 -msgid "Multiple of work_mem to use for hash tables." -msgstr "Множитель work_mem, определяющий объём памяти для хеш-таблиц." +#: utils/misc/guc_tables.c:3824 +msgid "Multiple of \"work_mem\" to use for hash tables." +msgstr "Множитель \"work_mem\", определяющий объём памяти для хеш-таблиц." -#: utils/misc/guc_tables.c:3687 +#: utils/misc/guc_tables.c:3835 msgid "Multiple of the average buffer usage to free per round." msgstr "" "Множитель для среднего числа использованных буферов, определяющий число " "буферов, освобождаемых за один подход." -#: utils/misc/guc_tables.c:3697 +#: utils/misc/guc_tables.c:3845 msgid "Sets the seed for random-number generation." msgstr "Задаёт отправное значение для генератора случайных чисел." -#: utils/misc/guc_tables.c:3708 +#: utils/misc/guc_tables.c:3856 msgid "Vacuum cost delay in milliseconds." msgstr "Задержка очистки (в миллисекундах)." -#: utils/misc/guc_tables.c:3719 +#: utils/misc/guc_tables.c:3867 msgid "Vacuum cost delay in milliseconds, for autovacuum." msgstr "Задержка очистки для автоочистки (в миллисекундах)." -#: utils/misc/guc_tables.c:3730 +#: utils/misc/guc_tables.c:3878 msgid "" "Number of tuple updates or deletes prior to vacuum as a fraction of " "reltuples." @@ -32259,13 +33755,13 @@ msgstr "" "Отношение числа обновлений или удалений кортежей к reltuples, определяющее " "потребность в очистке." -#: utils/misc/guc_tables.c:3740 +#: utils/misc/guc_tables.c:3888 msgid "Number of tuple inserts prior to vacuum as a fraction of reltuples." msgstr "" "Отношение числа добавлений кортежей к reltuples, определяющее потребность в " "очистке." -#: utils/misc/guc_tables.c:3750 +#: utils/misc/guc_tables.c:3898 msgid "" "Number of tuple inserts, updates, or deletes prior to analyze as a fraction " "of reltuples." @@ -32273,7 +33769,7 @@ msgstr "" "Отношение числа добавлений, обновлений или удалений кортежей к reltuples, " "определяющее потребность в анализе." -#: utils/misc/guc_tables.c:3760 +#: utils/misc/guc_tables.c:3908 msgid "" "Time spent flushing dirty buffers during checkpoint, as fraction of " "checkpoint interval." @@ -32281,25 +33777,26 @@ msgstr "" "Отношение продолжительности сброса \"грязных\" буферов во время контрольной " "точки к интервалу контрольных точек." -#: utils/misc/guc_tables.c:3770 -msgid "Fraction of statements exceeding log_min_duration_sample to be logged." +#: utils/misc/guc_tables.c:3918 +msgid "" +"Fraction of statements exceeding \"log_min_duration_sample\" to be logged." msgstr "" "Доля записываемых в журнал операторов с длительностью, превышающей " -"log_min_duration_sample." +"\"log_min_duration_sample\"." -#: utils/misc/guc_tables.c:3771 +#: utils/misc/guc_tables.c:3919 msgid "Use a value between 0.0 (never log) and 1.0 (always log)." msgstr "" "Может задаваться значением от 0.0 (не записывать никакие операторы) и 1.0 " "(записывать все)." -#: utils/misc/guc_tables.c:3780 +#: utils/misc/guc_tables.c:3928 msgid "Sets the fraction of transactions from which to log all statements." msgstr "" "Задаёт долю транзакций, все операторы которых будут записываться в журнал " "сервера." -#: utils/misc/guc_tables.c:3781 +#: utils/misc/guc_tables.c:3929 msgid "" "Use a value between 0.0 (never log) and 1.0 (log all statements for all " "transactions)." @@ -32307,48 +33804,48 @@ msgstr "" "Значение 0.0 означает — не записывать никакие транзакции, а значение 1.0 — " "записывать все операторы всех транзакций." -#: utils/misc/guc_tables.c:3800 +#: utils/misc/guc_tables.c:3948 msgid "Sets the shell command that will be called to archive a WAL file." msgstr "Задаёт команду оболочки, вызываемую для архивации файла WAL." -#: utils/misc/guc_tables.c:3801 +#: utils/misc/guc_tables.c:3949 msgid "This is used only if \"archive_library\" is not set." msgstr "Это параметр используется, только если не задан \"archive_library\"." -#: utils/misc/guc_tables.c:3810 +#: utils/misc/guc_tables.c:3958 msgid "Sets the library that will be called to archive a WAL file." msgstr "Задаёт библиотеку, вызываемую для архивации файла WAL." -#: utils/misc/guc_tables.c:3811 +#: utils/misc/guc_tables.c:3959 msgid "An empty string indicates that \"archive_command\" should be used." msgstr "" "Пустая строка указывает, что должен использоваться параметр " "\"archive_command\"." -#: utils/misc/guc_tables.c:3820 +#: utils/misc/guc_tables.c:3968 msgid "" "Sets the shell command that will be called to retrieve an archived WAL file." msgstr "" "Задаёт команду оболочки, которая будет вызываться для извлечения из архива " "файла WAL." -#: utils/misc/guc_tables.c:3830 +#: utils/misc/guc_tables.c:3978 msgid "Sets the shell command that will be executed at every restart point." msgstr "" "Задаёт команду оболочки, которая будет выполняться при каждой точке " "перезапуска." -#: utils/misc/guc_tables.c:3840 +#: utils/misc/guc_tables.c:3988 msgid "" "Sets the shell command that will be executed once at the end of recovery." msgstr "" "Задаёт команду оболочки, которая будет выполняться в конце восстановления." -#: utils/misc/guc_tables.c:3850 +#: utils/misc/guc_tables.c:3998 msgid "Specifies the timeline to recover into." msgstr "Указывает линию времени для выполнения восстановления." -#: utils/misc/guc_tables.c:3860 +#: utils/misc/guc_tables.c:4008 msgid "" "Set to \"immediate\" to end recovery as soon as a consistent state is " "reached." @@ -32356,24 +33853,24 @@ msgstr "" "Задайте значение \"immediate\", чтобы восстановление остановилось сразу " "после достижения согласованного состояния." -#: utils/misc/guc_tables.c:3869 +#: utils/misc/guc_tables.c:4017 msgid "Sets the transaction ID up to which recovery will proceed." msgstr "" "Задаёт идентификатор транзакции, вплоть до которой будет производиться " "восстановление." -#: utils/misc/guc_tables.c:3878 +#: utils/misc/guc_tables.c:4026 msgid "Sets the time stamp up to which recovery will proceed." msgstr "" "Задаёт момент времени, вплоть до которого будет производиться восстановление." -#: utils/misc/guc_tables.c:3887 +#: utils/misc/guc_tables.c:4035 msgid "Sets the named restore point up to which recovery will proceed." msgstr "" "Задаёт именованную точку восстановления, до которой будет производиться " "восстановление." -#: utils/misc/guc_tables.c:3896 +#: utils/misc/guc_tables.c:4044 msgid "" "Sets the LSN of the write-ahead log location up to which recovery will " "proceed." @@ -32381,61 +33878,61 @@ msgstr "" "Задаёт в виде LSN позицию в журнале предзаписи, до которой будет " "производиться восстановление." -#: utils/misc/guc_tables.c:3906 +#: utils/misc/guc_tables.c:4054 msgid "Sets the connection string to be used to connect to the sending server." msgstr "" "Задаёт строку соединения, которая будет использоваться для подключения к " "передающему серверу." -#: utils/misc/guc_tables.c:3917 +#: utils/misc/guc_tables.c:4065 msgid "Sets the name of the replication slot to use on the sending server." msgstr "" "Задаёт имя слота репликации, который будет использоваться на передающем " "сервере." -#: utils/misc/guc_tables.c:3927 +#: utils/misc/guc_tables.c:4075 msgid "Sets the client's character set encoding." msgstr "Задаёт кодировку символов, используемую клиентом." -#: utils/misc/guc_tables.c:3938 +#: utils/misc/guc_tables.c:4086 msgid "Controls information prefixed to each log line." msgstr "Определяет содержимое префикса каждой строки протокола." -#: utils/misc/guc_tables.c:3939 +#: utils/misc/guc_tables.c:4087 msgid "If blank, no prefix is used." msgstr "При пустом значении префикс также отсутствует." -#: utils/misc/guc_tables.c:3948 +#: utils/misc/guc_tables.c:4096 msgid "Sets the time zone to use in log messages." msgstr "Задаёт часовой пояс для вывода времени в сообщениях протокола." -#: utils/misc/guc_tables.c:3958 +#: utils/misc/guc_tables.c:4106 msgid "Sets the display format for date and time values." msgstr "Устанавливает формат вывода дат и времени." -#: utils/misc/guc_tables.c:3959 +#: utils/misc/guc_tables.c:4107 msgid "Also controls interpretation of ambiguous date inputs." msgstr "Также помогает разбирать неоднозначно заданные вводимые даты." -#: utils/misc/guc_tables.c:3970 +#: utils/misc/guc_tables.c:4118 msgid "Sets the default table access method for new tables." msgstr "Задаёт табличный метод доступа по умолчанию для новых таблиц." -#: utils/misc/guc_tables.c:3981 +#: utils/misc/guc_tables.c:4129 msgid "Sets the default tablespace to create tables and indexes in." msgstr "" "Задаёт табличное пространство по умолчанию для новых таблиц и индексов." -#: utils/misc/guc_tables.c:3982 +#: utils/misc/guc_tables.c:4130 msgid "An empty string selects the database's default tablespace." msgstr "При пустом значении используется табличное пространство базы данных." -#: utils/misc/guc_tables.c:3992 +#: utils/misc/guc_tables.c:4140 msgid "Sets the tablespace(s) to use for temporary tables and sort files." msgstr "" "Задаёт табличное пространство(а) для временных таблиц и файлов сортировки." -#: utils/misc/guc_tables.c:4003 +#: utils/misc/guc_tables.c:4151 msgid "" "Sets whether a CREATEROLE user automatically grants the role to themselves, " "and with which options." @@ -32443,11 +33940,11 @@ msgstr "" "Определяет, будет ли пользователь CREATEROLE автоматически включать себя в " "создаваемую роль и с какими параметрами." -#: utils/misc/guc_tables.c:4015 +#: utils/misc/guc_tables.c:4163 msgid "Sets the path for dynamically loadable modules." msgstr "Задаёт путь для динамически загружаемых модулей." -#: utils/misc/guc_tables.c:4016 +#: utils/misc/guc_tables.c:4164 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 " @@ -32457,71 +33954,71 @@ msgstr "" "указан путь (нет символа '/'), система будет искать этот файл в заданном " "пути." -#: utils/misc/guc_tables.c:4029 +#: utils/misc/guc_tables.c:4177 msgid "Sets the location of the Kerberos server key file." msgstr "Задаёт размещение файла с ключом Kerberos для данного сервера." -#: utils/misc/guc_tables.c:4040 +#: utils/misc/guc_tables.c:4188 msgid "Sets the Bonjour service name." msgstr "Задаёт название службы Bonjour." -#: utils/misc/guc_tables.c:4050 +#: utils/misc/guc_tables.c:4198 msgid "Sets the language in which messages are displayed." msgstr "Задаёт язык выводимых сообщений." -#: utils/misc/guc_tables.c:4060 +#: utils/misc/guc_tables.c:4208 msgid "Sets the locale for formatting monetary amounts." msgstr "Задаёт локаль для форматирования денежных сумм." -#: utils/misc/guc_tables.c:4070 +#: utils/misc/guc_tables.c:4218 msgid "Sets the locale for formatting numbers." msgstr "Задаёт локаль для форматирования чисел." -#: utils/misc/guc_tables.c:4080 +#: utils/misc/guc_tables.c:4228 msgid "Sets the locale for formatting date and time values." msgstr "Задаёт локаль для форматирования дат и времени." -#: utils/misc/guc_tables.c:4090 +#: utils/misc/guc_tables.c:4238 msgid "Lists shared libraries to preload into each backend." msgstr "" "Список разделяемых библиотек, заранее загружаемых в каждый обслуживающий " "процесс." -#: utils/misc/guc_tables.c:4101 +#: utils/misc/guc_tables.c:4249 msgid "Lists shared libraries to preload into server." msgstr "Список разделяемых библиотек, заранее загружаемых в память сервера." -#: utils/misc/guc_tables.c:4112 +#: utils/misc/guc_tables.c:4260 msgid "Lists unprivileged shared libraries to preload into each backend." msgstr "" "Список непривилегированных разделяемых библиотек, заранее загружаемых в " "каждый обслуживающий процесс." -#: utils/misc/guc_tables.c:4123 +#: utils/misc/guc_tables.c:4271 msgid "Sets the schema search order for names that are not schema-qualified." msgstr "Задаёт порядок просмотра схемы при поиске неполных имён." -#: utils/misc/guc_tables.c:4135 +#: utils/misc/guc_tables.c:4283 msgid "Shows the server (database) character set encoding." msgstr "Показывает кодировку символов сервера (базы данных)." -#: utils/misc/guc_tables.c:4147 +#: utils/misc/guc_tables.c:4295 msgid "Shows the server version." msgstr "Показывает версию сервера." -#: utils/misc/guc_tables.c:4159 +#: utils/misc/guc_tables.c:4307 msgid "Sets the current role." msgstr "Задаёт текущую роль." -#: utils/misc/guc_tables.c:4171 +#: utils/misc/guc_tables.c:4319 msgid "Sets the session user name." msgstr "Задаёт имя пользователя в сеансе." -#: utils/misc/guc_tables.c:4182 +#: utils/misc/guc_tables.c:4330 msgid "Sets the destination for server log output." msgstr "Определяет, куда будет выводиться протокол сервера." -#: utils/misc/guc_tables.c:4183 +#: utils/misc/guc_tables.c:4331 msgid "" "Valid values are combinations of \"stderr\", \"syslog\", \"csvlog\", " "\"jsonlog\", and \"eventlog\", depending on the platform." @@ -32529,24 +34026,24 @@ msgstr "" "Значение может включать сочетание слов \"stderr\", \"syslog\", \"csvlog\", " "\"jsonlog\" и \"eventlog\", в зависимости от платформы." -#: utils/misc/guc_tables.c:4194 +#: utils/misc/guc_tables.c:4342 msgid "Sets the destination directory for log files." msgstr "Задаёт целевой каталог для файлов протоколов." -#: utils/misc/guc_tables.c:4195 +#: utils/misc/guc_tables.c:4343 msgid "Can be specified as relative to the data directory or as absolute path." msgstr "" "Путь может быть абсолютным или указываться относительно каталога данных." -#: utils/misc/guc_tables.c:4205 +#: utils/misc/guc_tables.c:4353 msgid "Sets the file name pattern for log files." msgstr "Задаёт шаблон имени для файлов протоколов." -#: utils/misc/guc_tables.c:4216 +#: utils/misc/guc_tables.c:4364 msgid "Sets the program name used to identify PostgreSQL messages in syslog." msgstr "Задаёт имя программы для идентификации сообщений PostgreSQL в syslog." -#: utils/misc/guc_tables.c:4227 +#: utils/misc/guc_tables.c:4375 msgid "" "Sets the application name used to identify PostgreSQL messages in the event " "log." @@ -32554,121 +34051,121 @@ msgstr "" "Задаёт имя приложения для идентификации сообщений PostgreSQL в журнале " "событий." -#: utils/misc/guc_tables.c:4238 +#: utils/misc/guc_tables.c:4386 msgid "Sets the time zone for displaying and interpreting time stamps." msgstr "" "Задаёт часовой пояс для вывода и разбора строкового представления времени." -#: utils/misc/guc_tables.c:4248 +#: utils/misc/guc_tables.c:4396 msgid "Selects a file of time zone abbreviations." msgstr "Выбирает файл с сокращёнными названиями часовых поясов." -#: utils/misc/guc_tables.c:4258 +#: utils/misc/guc_tables.c:4406 msgid "Sets the owning group of the Unix-domain socket." msgstr "Задаёт группу-владельца Unix-сокета." -#: utils/misc/guc_tables.c:4259 +#: utils/misc/guc_tables.c:4407 msgid "" "The owning user of the socket is always the user that starts the server." msgstr "" "Собственно владельцем сокета всегда будет пользователь, запускающий сервер." -#: utils/misc/guc_tables.c:4269 +#: utils/misc/guc_tables.c:4417 msgid "Sets the directories where Unix-domain sockets will be created." msgstr "Задаёт каталоги, где будут создаваться Unix-сокеты." -#: utils/misc/guc_tables.c:4280 +#: utils/misc/guc_tables.c:4428 msgid "Sets the host name or IP address(es) to listen to." msgstr "Задаёт имя узла или IP-адрес(а) для привязки." -#: utils/misc/guc_tables.c:4295 +#: utils/misc/guc_tables.c:4443 msgid "Sets the server's data directory." msgstr "Определяет каталог данных сервера." -#: utils/misc/guc_tables.c:4306 +#: utils/misc/guc_tables.c:4454 msgid "Sets the server's main configuration file." msgstr "Определяет основной файл конфигурации сервера." -#: utils/misc/guc_tables.c:4317 +#: utils/misc/guc_tables.c:4465 msgid "Sets the server's \"hba\" configuration file." msgstr "Задаёт путь к файлу конфигурации \"hba\"." -#: utils/misc/guc_tables.c:4328 +#: utils/misc/guc_tables.c:4476 msgid "Sets the server's \"ident\" configuration file." msgstr "Задаёт путь к файлу конфигурации \"ident\"." -#: utils/misc/guc_tables.c:4339 +#: utils/misc/guc_tables.c:4487 msgid "Writes the postmaster PID to the specified file." msgstr "Файл, в который будет записан код процесса postmaster." -#: utils/misc/guc_tables.c:4350 +#: utils/misc/guc_tables.c:4498 msgid "Shows the name of the SSL library." msgstr "Показывает имя библиотеки SSL." -#: utils/misc/guc_tables.c:4365 +#: utils/misc/guc_tables.c:4513 msgid "Location of the SSL server certificate file." msgstr "Размещение файла сертификата сервера для SSL." -#: utils/misc/guc_tables.c:4375 +#: utils/misc/guc_tables.c:4523 msgid "Location of the SSL server private key file." msgstr "Размещение файла с закрытым ключом сервера для SSL." -#: utils/misc/guc_tables.c:4385 +#: utils/misc/guc_tables.c:4533 msgid "Location of the SSL certificate authority file." msgstr "Размещение файла центра сертификации для SSL." -#: utils/misc/guc_tables.c:4395 +#: utils/misc/guc_tables.c:4543 msgid "Location of the SSL certificate revocation list file." msgstr "Размещение файла со списком отзыва сертификатов для SSL." -#: utils/misc/guc_tables.c:4405 +#: utils/misc/guc_tables.c:4553 msgid "Location of the SSL certificate revocation list directory." msgstr "Размещение каталога со списками отзыва сертификатов для SSL." -#: utils/misc/guc_tables.c:4415 +#: utils/misc/guc_tables.c:4563 msgid "" "Number of synchronous standbys and list of names of potential synchronous " "ones." msgstr "" "Количество потенциально синхронных резервных серверов и список их имён." -#: utils/misc/guc_tables.c:4426 +#: utils/misc/guc_tables.c:4574 msgid "Sets default text search configuration." msgstr "Задаёт конфигурацию текстового поиска по умолчанию." -#: utils/misc/guc_tables.c:4436 +#: utils/misc/guc_tables.c:4584 msgid "Sets the list of allowed SSL ciphers." msgstr "Задаёт список допустимых алгоритмов шифрования для SSL." -#: utils/misc/guc_tables.c:4451 +#: utils/misc/guc_tables.c:4599 msgid "Sets the curve to use for ECDH." msgstr "Задаёт кривую для ECDH." -#: utils/misc/guc_tables.c:4466 +#: utils/misc/guc_tables.c:4614 msgid "Location of the SSL DH parameters file." msgstr "Размещение файла с параметрами SSL DH." -#: utils/misc/guc_tables.c:4477 +#: utils/misc/guc_tables.c:4625 msgid "Command to obtain passphrases for SSL." msgstr "Команда, позволяющая получить пароль для SSL." -#: utils/misc/guc_tables.c:4488 +#: utils/misc/guc_tables.c:4636 msgid "Sets the application name to be reported in statistics and logs." msgstr "" "Задаёт имя приложения, которое будет выводиться в статистике и протоколах." -#: utils/misc/guc_tables.c:4499 +#: utils/misc/guc_tables.c:4647 msgid "Sets the name of the cluster, which is included in the process title." msgstr "Задаёт имя кластера, которое будет добавляться в название процесса." -#: utils/misc/guc_tables.c:4510 +#: utils/misc/guc_tables.c:4658 msgid "" "Sets the WAL resource managers for which WAL consistency checks are done." msgstr "" "Задаёт перечень менеджеров ресурсов WAL, для которых выполняются проверки " "целостности WAL." -#: utils/misc/guc_tables.c:4511 +#: utils/misc/guc_tables.c:4659 msgid "" "Full-page images will be logged for all data blocks and cross-checked " "against the results of WAL replay." @@ -32676,32 +34173,53 @@ msgstr "" "При этом в журнал будут записываться образы полных страниц для всех блоков " "данных для сверки с результатами воспроизведения WAL." -#: utils/misc/guc_tables.c:4521 +#: utils/misc/guc_tables.c:4669 msgid "JIT provider to use." msgstr "Используемый провайдер JIT." -#: utils/misc/guc_tables.c:4532 +#: utils/misc/guc_tables.c:4680 msgid "Log backtrace for errors in these functions." msgstr "Записывать в журнал стек в случае ошибок в перечисленных функциях." -#: utils/misc/guc_tables.c:4543 +#: utils/misc/guc_tables.c:4691 msgid "Use direct I/O for file access." msgstr "Использовать прямой ввод/вывод для работы с файлами." -#: utils/misc/guc_tables.c:4563 +#: utils/misc/guc_tables.c:4702 +msgid "" +"Lists streaming replication standby server replication slot names that " +"logical WAL sender processes will wait for." +msgstr "" +"Определяет список имён слотов потовой репликации, готовности которых будут " +"ждать процессы передачи логических изменений." + +#: utils/misc/guc_tables.c:4704 +msgid "" +"Logical WAL sender processes will send decoded changes to output plugins " +"only after the specified replication slots have confirmed receiving WAL." +msgstr "" +"Процессы передачи логических изменений из WAL будут передавать " +"декодированные изменения модулям вывода только после того, как указанные " +"слоты репликации подтвердят получение WAL." + +#: utils/misc/guc_tables.c:4716 +msgid "Prohibits access to non-system relations of specified kinds." +msgstr "Запрещает доступ к несистемным отношениям указанных видов." + +#: utils/misc/guc_tables.c:4736 msgid "Sets whether \"\\'\" is allowed in string literals." msgstr "Определяет, можно ли использовать \"\\'\" в текстовых строках." -#: utils/misc/guc_tables.c:4573 +#: utils/misc/guc_tables.c:4746 msgid "Sets the output format for bytea." msgstr "Задаёт формат вывода данных типа bytea." -#: utils/misc/guc_tables.c:4583 +#: utils/misc/guc_tables.c:4756 msgid "Sets the message levels that are sent to the client." msgstr "Ограничивает уровень сообщений, передаваемых клиенту." -#: utils/misc/guc_tables.c:4584 utils/misc/guc_tables.c:4680 -#: utils/misc/guc_tables.c:4691 utils/misc/guc_tables.c:4763 +#: utils/misc/guc_tables.c:4757 utils/misc/guc_tables.c:4853 +#: utils/misc/guc_tables.c:4864 msgid "" "Each level includes all the levels that follow it. The later the level, the " "fewer messages are sent." @@ -32709,16 +34227,16 @@ msgstr "" "Каждый уровень включает все последующие. Чем выше уровень, тем меньше " "сообщений." -#: utils/misc/guc_tables.c:4594 +#: utils/misc/guc_tables.c:4767 msgid "Enables in-core computation of query identifiers." msgstr "Включает внутреннее вычисление идентификаторов запросов." -#: utils/misc/guc_tables.c:4604 +#: utils/misc/guc_tables.c:4777 msgid "Enables the planner to use constraints to optimize queries." msgstr "" "Разрешает планировщику оптимизировать запросы, полагаясь на ограничения." -#: utils/misc/guc_tables.c:4605 +#: utils/misc/guc_tables.c:4778 msgid "" "Table scans will be skipped if their constraints guarantee that no rows " "match the query." @@ -32726,93 +34244,88 @@ msgstr "" "Сканирование таблицы не будет выполняться, если её ограничения гарантируют, " "что запросу не удовлетворяют никакие строки." -#: utils/misc/guc_tables.c:4616 +#: utils/misc/guc_tables.c:4789 msgid "Sets the default compression method for compressible values." msgstr "Задаёт выбираемый по умолчанию метод сжатия для сжимаемых значений." -#: utils/misc/guc_tables.c:4627 +#: utils/misc/guc_tables.c:4800 msgid "Sets the transaction isolation level of each new transaction." msgstr "Задаёт уровень изоляции транзакций для новых транзакций." -#: utils/misc/guc_tables.c:4637 +#: utils/misc/guc_tables.c:4810 msgid "Sets the current transaction's isolation level." msgstr "Задаёт текущий уровень изоляции транзакций." -#: utils/misc/guc_tables.c:4648 +#: utils/misc/guc_tables.c:4821 msgid "Sets the display format for interval values." msgstr "Задаёт формат отображения для внутренних значений." -#: utils/misc/guc_tables.c:4659 +#: utils/misc/guc_tables.c:4832 msgid "Log level for reporting invalid ICU locale strings." msgstr "Уровень протоколирования сообщений о некорректных строках локалей ICU." -#: utils/misc/guc_tables.c:4669 +#: utils/misc/guc_tables.c:4842 msgid "Sets the verbosity of logged messages." msgstr "Задаёт детализацию протоколируемых сообщений." -#: utils/misc/guc_tables.c:4679 +#: utils/misc/guc_tables.c:4852 msgid "Sets the message levels that are logged." msgstr "Ограничивает уровни протоколируемых сообщений." -#: utils/misc/guc_tables.c:4690 +#: utils/misc/guc_tables.c:4863 msgid "" "Causes all statements generating error at or above this level to be logged." msgstr "" "Включает протоколирование для SQL-операторов, выполненных с ошибкой этого " "или большего уровня." -#: utils/misc/guc_tables.c:4701 +#: utils/misc/guc_tables.c:4874 msgid "Sets the type of statements logged." msgstr "Задаёт тип протоколируемых операторов." -#: utils/misc/guc_tables.c:4711 +#: utils/misc/guc_tables.c:4884 msgid "Sets the syslog \"facility\" to be used when syslog enabled." msgstr "Задаёт получателя сообщений, отправляемых в syslog." -#: utils/misc/guc_tables.c:4722 +#: utils/misc/guc_tables.c:4895 msgid "Sets the session's behavior for triggers and rewrite rules." msgstr "" "Задаёт режим срабатывания триггеров и правил перезаписи для текущего сеанса." -#: utils/misc/guc_tables.c:4732 +#: utils/misc/guc_tables.c:4905 msgid "Sets the current transaction's synchronization level." msgstr "Задаёт уровень синхронизации текущей транзакции." -#: utils/misc/guc_tables.c:4742 -msgid "Allows archiving of WAL files using archive_command." -msgstr "Разрешает архивацию файлов WAL командой archive_command." +#: utils/misc/guc_tables.c:4915 +msgid "Allows archiving of WAL files using \"archive_command\"." +msgstr "Разрешает архивацию файлов WAL с использованием \"archive_command\"." -#: utils/misc/guc_tables.c:4752 +#: utils/misc/guc_tables.c:4925 msgid "Sets the action to perform upon reaching the recovery target." msgstr "" "Задаёт действие, которое будет выполняться по достижении цели восстановления." -#: utils/misc/guc_tables.c:4762 -msgid "Enables logging of recovery-related debugging information." -msgstr "" -"Включает протоколирование отладочной информации, связанной с репликацией." - -#: utils/misc/guc_tables.c:4779 +#: utils/misc/guc_tables.c:4935 msgid "Collects function-level statistics on database activity." msgstr "Включает сбор статистики активности в БД на уровне функций." -#: utils/misc/guc_tables.c:4790 +#: utils/misc/guc_tables.c:4946 msgid "Sets the consistency of accesses to statistics data." msgstr "Задаёт режим согласования доступа к данным статистики." -#: utils/misc/guc_tables.c:4800 +#: utils/misc/guc_tables.c:4956 msgid "Compresses full-page writes written in WAL file with specified method." msgstr "Сжимать данные записываемых в WAL полных страниц заданным методом." -#: utils/misc/guc_tables.c:4810 +#: utils/misc/guc_tables.c:4966 msgid "Sets the level of information written to the WAL." msgstr "Задаёт уровень информации, записываемой в WAL." -#: utils/misc/guc_tables.c:4820 +#: utils/misc/guc_tables.c:4976 msgid "Selects the dynamic shared memory implementation used." msgstr "Выбирает используемую реализацию динамической разделяемой памяти." -#: utils/misc/guc_tables.c:4830 +#: utils/misc/guc_tables.c:4986 msgid "" "Selects the shared memory implementation used for the main shared memory " "region." @@ -32820,15 +34333,15 @@ msgstr "" "Выбирает реализацию разделяемой памяти для управления основным блоком " "разделяемой памяти." -#: utils/misc/guc_tables.c:4840 +#: utils/misc/guc_tables.c:4996 msgid "Selects the method used for forcing WAL updates to disk." msgstr "Выбирает метод принудительной записи изменений в WAL на диск." -#: utils/misc/guc_tables.c:4850 +#: utils/misc/guc_tables.c:5006 msgid "Sets how binary values are to be encoded in XML." msgstr "Определяет, как должны кодироваться двоичные значения в XML." -#: utils/misc/guc_tables.c:4860 +#: utils/misc/guc_tables.c:5016 msgid "" "Sets whether XML data in implicit parsing and serialization operations is to " "be considered as documents or content fragments." @@ -32836,23 +34349,27 @@ msgstr "" "Определяет, следует ли рассматривать XML-данные в неявных операциях разбора " "и сериализации как документы или как фрагменты содержания." -#: utils/misc/guc_tables.c:4871 +#: utils/misc/guc_tables.c:5027 msgid "Use of huge pages on Linux or Windows." msgstr "Включает использование огромных страниц в Linux и в Windows." -#: utils/misc/guc_tables.c:4881 +#: utils/misc/guc_tables.c:5037 +msgid "Indicates the status of huge pages." +msgstr "Показывает состояние использования огромных страниц." + +#: utils/misc/guc_tables.c:5048 msgid "Prefetch referenced blocks during recovery." msgstr "Осуществлять предвыборку изменяемых блоков в процессе восстановления." -#: utils/misc/guc_tables.c:4882 +#: utils/misc/guc_tables.c:5049 msgid "Look ahead in the WAL to find references to uncached data." msgstr "Прочитывать WAL наперёд для вычисления ещё не кешированных блоков." -#: utils/misc/guc_tables.c:4891 +#: utils/misc/guc_tables.c:5058 msgid "Forces the planner's use parallel query nodes." msgstr "Принудительно включает в планировщике узлы параллельного выполнения." -#: utils/misc/guc_tables.c:4892 +#: utils/misc/guc_tables.c:5059 msgid "" "This can be useful for testing the parallel query infrastructure by forcing " "the planner to generate plans that contain nodes that perform tuple " @@ -32862,15 +34379,15 @@ msgstr "" "выполнения, так как планировщик будет строить планы с передачей кортежей " "между параллельными исполнителями и основным процессом." -#: utils/misc/guc_tables.c:4904 +#: utils/misc/guc_tables.c:5071 msgid "Chooses the algorithm for encrypting passwords." msgstr "Выбирает алгоритм шифрования паролей." -#: utils/misc/guc_tables.c:4914 +#: utils/misc/guc_tables.c:5081 msgid "Controls the planner's selection of custom or generic plan." msgstr "Управляет выбором специализированных или общих планов планировщиком." -#: utils/misc/guc_tables.c:4915 +#: utils/misc/guc_tables.c:5082 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 " @@ -32880,30 +34397,30 @@ msgstr "" "планы, и планировщик пытается выбрать лучший вариант. Этот параметр " "позволяет переопределить поведение по умолчанию." -#: utils/misc/guc_tables.c:4927 +#: utils/misc/guc_tables.c:5094 msgid "Sets the minimum SSL/TLS protocol version to use." msgstr "" "Задаёт минимальную версию протокола SSL/TLS, которая может использоваться." -#: utils/misc/guc_tables.c:4939 +#: utils/misc/guc_tables.c:5106 msgid "Sets the maximum SSL/TLS protocol version to use." msgstr "" "Задаёт максимальную версию протокола SSL/TLS, которая может использоваться." -#: utils/misc/guc_tables.c:4951 +#: utils/misc/guc_tables.c:5118 msgid "" "Sets the method for synchronizing the data directory before crash recovery." msgstr "" "Задаёт метод синхронизации каталога данных перед восстановления после сбоя." -#: utils/misc/guc_tables.c:4960 +#: utils/misc/guc_tables.c:5127 msgid "" "Forces immediate streaming or serialization of changes in large transactions." msgstr "" "Включает непосредственную передачу или сериализацию изменений в больших " "транзакциях." -#: utils/misc/guc_tables.c:4961 +#: utils/misc/guc_tables.c:5128 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 " @@ -32921,8 +34438,8 @@ msgstr "" msgid "internal error: unrecognized run-time parameter type\n" msgstr "внутренняя ошибка: нераспознанный тип параметра времени выполнения\n" -#: utils/misc/pg_controldata.c:51 utils/misc/pg_controldata.c:91 -#: utils/misc/pg_controldata.c:182 utils/misc/pg_controldata.c:223 +#: utils/misc/pg_controldata.c:50 utils/misc/pg_controldata.c:90 +#: utils/misc/pg_controldata.c:181 utils/misc/pg_controldata.c:222 #, c-format msgid "calculated CRC checksum does not match value stored in file" msgstr "" @@ -32951,12 +34468,12 @@ msgstr "" "Чтобы отключить политику для владельца таблицы, воспользуйтесь командой " "ALTER TABLE NO FORCE ROW LEVEL SECURITY." -#: utils/misc/timeout.c:524 +#: utils/misc/timeout.c:520 #, c-format msgid "cannot add more timeout reasons" msgstr "добавить другие причины тайм-аута нельзя" -#: utils/misc/tzparser.c:60 +#: utils/misc/tzparser.c:61 #, c-format msgid "" "time zone abbreviation \"%s\" is too long (maximum %d characters) in time " @@ -32965,44 +34482,44 @@ msgstr "" "краткое обозначение часового пояса \"%s\" должно содержать меньше символов " "(максимум %d) (файл часовых поясов \"%s\", строка %d)" -#: utils/misc/tzparser.c:72 +#: utils/misc/tzparser.c:73 #, c-format msgid "time zone offset %d is out of range in time zone file \"%s\", line %d" msgstr "" "смещение часового пояса %d выходит за рамки (файл часовых поясов \"%s\", " "строка %d)" -#: utils/misc/tzparser.c:111 +#: utils/misc/tzparser.c:112 #, c-format msgid "missing time zone abbreviation in time zone file \"%s\", line %d" msgstr "" "отсутствует краткое обозначение часового пояса (файл часовых поясов \"%s\", " "строка %d)" -#: utils/misc/tzparser.c:120 +#: utils/misc/tzparser.c:121 #, c-format msgid "missing time zone offset in time zone file \"%s\", line %d" msgstr "" "отсутствует смещение часового пояса (файл часовых поясов \"%s\", строка %d)" -#: utils/misc/tzparser.c:132 +#: utils/misc/tzparser.c:133 #, c-format msgid "invalid number for time zone offset in time zone file \"%s\", line %d" msgstr "" "смещение часового пояса должно быть числом (файл часовых поясов \"%s\", " "строка %d)" -#: utils/misc/tzparser.c:168 +#: utils/misc/tzparser.c:169 #, c-format msgid "invalid syntax in time zone file \"%s\", line %d" msgstr "ошибка синтаксиса в файле часовых поясов \"%s\", строке %d" -#: utils/misc/tzparser.c:236 +#: utils/misc/tzparser.c:237 #, c-format msgid "time zone abbreviation \"%s\" is multiply defined" msgstr "краткое обозначение часового пояса \"%s\" определено неоднократно" -#: utils/misc/tzparser.c:238 +#: utils/misc/tzparser.c:239 #, c-format msgid "" "Entry in time zone file \"%s\", line %d, conflicts with entry in file " @@ -33011,86 +34528,84 @@ msgstr "" "Запись в файле часовых поясов \"%s\", строке %d, противоречит записи в файле " "\"%s\", строке %d." -#: utils/misc/tzparser.c:300 +#: utils/misc/tzparser.c:301 #, c-format msgid "invalid time zone file name \"%s\"" msgstr "неправильное имя файла часовых поясов: \"%s\"" -#: utils/misc/tzparser.c:313 +#: utils/misc/tzparser.c:314 #, c-format msgid "time zone file recursion limit exceeded in file \"%s\"" msgstr "предел вложенности файлов часовых поясов превышен в файле \"%s\"" -#: utils/misc/tzparser.c:352 utils/misc/tzparser.c:365 +#: utils/misc/tzparser.c:353 utils/misc/tzparser.c:366 #, c-format msgid "could not read time zone file \"%s\": %m" msgstr "прочитать файл часовых поясов \"%s\" не удалось: %m" -#: utils/misc/tzparser.c:376 +#: utils/misc/tzparser.c:377 #, c-format msgid "line is too long in time zone file \"%s\", line %d" msgstr "слишком длинная строка в файле часовых поясов \"%s\" (строка %d)" -#: utils/misc/tzparser.c:400 +#: utils/misc/tzparser.c:401 #, c-format msgid "@INCLUDE without file name in time zone file \"%s\", line %d" msgstr "" "в @INCLUDE не указано имя файла (файл часовых поясов \"%s\", строка %d)" -#: utils/mmgr/aset.c:446 utils/mmgr/generation.c:206 utils/mmgr/slab.c:367 +#: utils/mmgr/aset.c:452 utils/mmgr/bump.c:184 utils/mmgr/generation.c:216 +#: utils/mmgr/slab.c:371 #, c-format msgid "Failed while creating memory context \"%s\"." msgstr "Ошибка при создании контекста памяти \"%s\"." -#: utils/mmgr/dsa.c:532 utils/mmgr/dsa.c:1350 +#: utils/mmgr/dsa.c:523 utils/mmgr/dsa.c:1364 #, c-format msgid "could not attach to dynamic shared area" msgstr "не удалось подключиться к динамической разделяемой области" -#: utils/mmgr/mcxt.c:1047 utils/mmgr/mcxt.c:1083 utils/mmgr/mcxt.c:1121 -#: utils/mmgr/mcxt.c:1159 utils/mmgr/mcxt.c:1247 utils/mmgr/mcxt.c:1278 -#: utils/mmgr/mcxt.c:1314 utils/mmgr/mcxt.c:1503 utils/mmgr/mcxt.c:1548 -#: utils/mmgr/mcxt.c:1605 +#: utils/mmgr/mcxt.c:1155 #, c-format msgid "Failed on request of size %zu in memory context \"%s\"." msgstr "Ошибка при запросе блока размером %zu в контексте памяти \"%s\"." -#: utils/mmgr/mcxt.c:1210 +#: utils/mmgr/mcxt.c:1299 #, c-format msgid "logging memory contexts of PID %d" msgstr "вывод информации о памяти процесса с PID %d" -#: utils/mmgr/portalmem.c:188 +#: utils/mmgr/portalmem.c:187 #, c-format msgid "cursor \"%s\" already exists" msgstr "курсор \"%s\" уже существует" -#: utils/mmgr/portalmem.c:192 +#: utils/mmgr/portalmem.c:191 #, c-format msgid "closing existing cursor \"%s\"" msgstr "существующий курсор (\"%s\") закрывается" -#: utils/mmgr/portalmem.c:402 +#: utils/mmgr/portalmem.c:401 #, c-format msgid "portal \"%s\" cannot be run" msgstr "портал \"%s\" не может быть запущен" -#: utils/mmgr/portalmem.c:480 +#: utils/mmgr/portalmem.c:479 #, c-format msgid "cannot drop pinned portal \"%s\"" msgstr "удалить закреплённый портал \"%s\" нельзя" -#: utils/mmgr/portalmem.c:488 +#: utils/mmgr/portalmem.c:487 #, c-format msgid "cannot drop active portal \"%s\"" msgstr "удалить активный портал \"%s\" нельзя" -#: utils/mmgr/portalmem.c:739 +#: utils/mmgr/portalmem.c:738 #, c-format msgid "cannot PREPARE a transaction that has created a cursor WITH HOLD" msgstr "нельзя выполнить PREPARE для транзакции, создавшей курсор WITH HOLD" -#: utils/mmgr/portalmem.c:1230 +#: utils/mmgr/portalmem.c:1232 #, c-format msgid "" "cannot perform transaction commands inside a cursor loop that is not read-" @@ -33101,15 +34616,15 @@ msgstr "" #: utils/sort/logtape.c:266 utils/sort/logtape.c:287 #, c-format -msgid "could not seek to block %ld of temporary file" -msgstr "не удалось переместиться к блоку %ld временного файла" +msgid "could not seek to block %lld of temporary file" +msgstr "не удалось переместиться к блоку %lld временного файла" -#: utils/sort/sharedtuplestore.c:467 +#: utils/sort/sharedtuplestore.c:466 #, c-format msgid "unexpected chunk in shared tuplestore temporary file" msgstr "неожиданный фрагмент в файле общего временного хранилища кортежей" -#: utils/sort/sharedtuplestore.c:549 +#: utils/sort/sharedtuplestore.c:548 #, c-format msgid "could not seek to block %u in shared tuplestore temporary file" msgstr "" @@ -33121,17 +34636,17 @@ msgstr "" msgid "cannot have more than %d runs for an external sort" msgstr "число потоков данных для внешней сортировки не может превышать %d" -#: utils/sort/tuplesortvariants.c:1363 +#: utils/sort/tuplesortvariants.c:1552 #, c-format msgid "could not create unique index \"%s\"" msgstr "создать уникальный индекс \"%s\" не удалось" -#: utils/sort/tuplesortvariants.c:1365 +#: utils/sort/tuplesortvariants.c:1554 #, c-format msgid "Key %s is duplicated." msgstr "Ключ %s дублируется." -#: utils/sort/tuplesortvariants.c:1366 +#: utils/sort/tuplesortvariants.c:1555 #, c-format msgid "Duplicate keys exist." msgstr "Данные содержат дублирующиеся ключи." @@ -33145,32 +34660,32 @@ msgstr "Данные содержат дублирующиеся ключи." msgid "could not seek in tuplestore temporary file" msgstr "не удалось переместиться во временном файле хранилища кортежей" -#: utils/time/snapmgr.c:571 +#: utils/time/snapmgr.c:536 #, c-format msgid "The source transaction is not running anymore." msgstr "Исходная транзакция уже не выполняется." -#: utils/time/snapmgr.c:1166 +#: utils/time/snapmgr.c:1136 #, c-format msgid "cannot export a snapshot from a subtransaction" msgstr "экспортировать снимок из вложенной транзакции нельзя" -#: utils/time/snapmgr.c:1325 utils/time/snapmgr.c:1330 -#: utils/time/snapmgr.c:1335 utils/time/snapmgr.c:1350 -#: utils/time/snapmgr.c:1355 utils/time/snapmgr.c:1360 -#: utils/time/snapmgr.c:1375 utils/time/snapmgr.c:1380 -#: utils/time/snapmgr.c:1385 utils/time/snapmgr.c:1487 -#: utils/time/snapmgr.c:1503 utils/time/snapmgr.c:1528 +#: utils/time/snapmgr.c:1296 utils/time/snapmgr.c:1301 +#: utils/time/snapmgr.c:1306 utils/time/snapmgr.c:1321 +#: utils/time/snapmgr.c:1326 utils/time/snapmgr.c:1331 +#: utils/time/snapmgr.c:1346 utils/time/snapmgr.c:1351 +#: utils/time/snapmgr.c:1356 utils/time/snapmgr.c:1470 +#: utils/time/snapmgr.c:1486 utils/time/snapmgr.c:1511 #, c-format msgid "invalid snapshot data in file \"%s\"" msgstr "неверные данные снимка в файле \"%s\"" -#: utils/time/snapmgr.c:1422 +#: utils/time/snapmgr.c:1393 #, c-format msgid "SET TRANSACTION SNAPSHOT must be called before any query" msgstr "команда SET TRANSACTION SNAPSHOT должна выполняться до запросов" -#: utils/time/snapmgr.c:1431 +#: utils/time/snapmgr.c:1402 #, c-format msgid "" "a snapshot-importing transaction must have isolation level SERIALIZABLE or " @@ -33179,12 +34694,17 @@ msgstr "" "транзакция, импортирующая снимок, должна иметь уровень изоляции SERIALIZABLE " "или REPEATABLE READ" -#: utils/time/snapmgr.c:1440 utils/time/snapmgr.c:1449 +#: utils/time/snapmgr.c:1411 #, c-format msgid "invalid snapshot identifier: \"%s\"" msgstr "неверный идентификатор снимка: \"%s\"" -#: utils/time/snapmgr.c:1541 +#: utils/time/snapmgr.c:1426 +#, c-format +msgid "snapshot \"%s\" does not exist" +msgstr "снимок \"%s\" не существует" + +#: utils/time/snapmgr.c:1524 #, c-format msgid "" "a serializable transaction cannot import a snapshot from a non-serializable " @@ -33192,7 +34712,7 @@ msgid "" msgstr "" "сериализуемая транзакция не может импортировать снимок из не сериализуемой" -#: utils/time/snapmgr.c:1545 +#: utils/time/snapmgr.c:1528 #, c-format msgid "" "a non-read-only serializable transaction cannot import a snapshot from a " @@ -33201,279 +34721,294 @@ msgstr "" "сериализуемая транзакция в режиме \"чтение-запись\" не может импортировать " "снимок из транзакции в режиме \"только чтение\"" -#: utils/time/snapmgr.c:1560 +#: utils/time/snapmgr.c:1543 #, c-format msgid "cannot import a snapshot from a different database" msgstr "нельзя импортировать снимок из другой базы данных" -#: gram.y:1197 +#: gram.y:1231 #, c-format msgid "UNENCRYPTED PASSWORD is no longer supported" msgstr "вариант UNENCRYPTED PASSWORD более не поддерживается" -#: gram.y:1198 +#: gram.y:1232 #, c-format msgid "Remove UNENCRYPTED to store the password in encrypted form instead." msgstr "" "Удалите слово UNENCRYPTED, чтобы сохранить пароль в зашифрованном виде." -#: gram.y:1525 gram.y:1541 +#: gram.y:1559 gram.y:1575 #, c-format msgid "CREATE SCHEMA IF NOT EXISTS cannot include schema elements" msgstr "CREATE SCHEMA IF NOT EXISTS не может включать элементы схемы" -#: gram.y:1693 +#: gram.y:1727 #, c-format msgid "current database cannot be changed" msgstr "сменить текущую базу данных нельзя" -#: gram.y:1826 +#: gram.y:1860 #, c-format msgid "time zone interval must be HOUR or HOUR TO MINUTE" msgstr "" "интервал, задающий часовой пояс, должен иметь точность HOUR или HOUR TO " "MINUTE" -#: gram.y:2443 +#: gram.y:2487 #, c-format msgid "column number must be in range from 1 to %d" msgstr "номер столбца должен быть в диапазоне от 1 до %d" -#: gram.y:3039 +#: gram.y:3083 #, c-format msgid "sequence option \"%s\" not supported here" msgstr "параметр последовательности \"%s\" здесь не поддерживается" -#: gram.y:3068 +#: gram.y:3122 #, c-format msgid "modulus for hash partition provided more than once" msgstr "модуль для хеш-секции указан неоднократно" -#: gram.y:3077 +#: gram.y:3131 #, c-format msgid "remainder for hash partition provided more than once" msgstr "остаток для хеш-секции указан неоднократно" -#: gram.y:3084 +#: gram.y:3138 #, c-format msgid "unrecognized hash partition bound specification \"%s\"" msgstr "нераспознанное указание ограничения хеш-секции \"%s\"" -#: gram.y:3092 +#: gram.y:3146 #, c-format msgid "modulus for hash partition must be specified" msgstr "необходимо указать модуль для хеш-секции" -#: gram.y:3096 +#: gram.y:3150 #, c-format msgid "remainder for hash partition must be specified" msgstr "необходимо указать остаток для хеш-секции" -#: gram.y:3304 gram.y:3338 +#: gram.y:3358 gram.y:3392 #, c-format msgid "STDIN/STDOUT not allowed with PROGRAM" msgstr "указания STDIN/STDOUT несовместимы с PROGRAM" -#: gram.y:3310 +#: gram.y:3364 #, c-format msgid "WHERE clause not allowed with COPY TO" msgstr "предложение WHERE не допускается с COPY TO" -#: gram.y:3649 gram.y:3656 gram.y:12821 gram.y:12829 +#: gram.y:3712 gram.y:3719 gram.y:13023 gram.y:13031 #, c-format msgid "GLOBAL is deprecated in temporary table creation" msgstr "указание GLOBAL при создании временных таблиц устарело" -#: gram.y:3932 +#: gram.y:3995 #, c-format msgid "for a generated column, GENERATED ALWAYS must be specified" msgstr "для генерируемого столбца должно указываться GENERATED ALWAYS" -#: gram.y:4315 +#: gram.y:4432 #, c-format msgid "a column list with %s is only supported for ON DELETE actions" msgstr "список столбцов с %s поддерживается только для действий ON DELETE" -#: gram.y:5027 +#: gram.y:5151 #, c-format msgid "CREATE EXTENSION ... FROM is no longer supported" msgstr "CREATE EXTENSION ... FROM более не поддерживается" -#: gram.y:5725 +#: gram.y:5849 #, c-format msgid "unrecognized row security option \"%s\"" msgstr "нераспознанный вариант политики безопасности строк \"%s\"" -#: gram.y:5726 +#: gram.y:5850 #, c-format msgid "Only PERMISSIVE or RESTRICTIVE policies are supported currently." msgstr "" "В настоящее время поддерживаются только политики PERMISSIVE и RESTRICTIVE." -#: gram.y:5811 +#: gram.y:5935 #, c-format msgid "CREATE OR REPLACE CONSTRAINT TRIGGER is not supported" msgstr "CREATE OR REPLACE CONSTRAINT TRIGGER не поддерживается" -#: gram.y:5848 +#: gram.y:5972 msgid "duplicate trigger events specified" msgstr "события триггера повторяются" -#: gram.y:5997 +#: gram.y:6121 #, c-format msgid "conflicting constraint properties" msgstr "противоречащие характеристики ограничения" -#: gram.y:6096 +#: gram.y:6220 #, c-format msgid "CREATE ASSERTION is not yet implemented" msgstr "оператор CREATE ASSERTION ещё не реализован" -#: gram.y:6504 +#: gram.y:6537 +#, c-format +msgid "dropping an enum value is not implemented" +msgstr "удаление значения из перечисления не поддерживается" + +#: gram.y:6655 #, c-format msgid "RECHECK is no longer required" msgstr "RECHECK более не требуется" -#: gram.y:6505 +#: gram.y:6656 #, c-format msgid "Update your data type." msgstr "Обновите тип данных." -#: gram.y:8378 +#: gram.y:8529 #, c-format msgid "aggregates cannot have output arguments" msgstr "у агрегатных функций не может быть выходных аргументов" -#: gram.y:11054 gram.y:11073 +#: gram.y:11221 gram.y:11240 #, c-format msgid "WITH CHECK OPTION not supported on recursive views" msgstr "" "предложение WITH CHECK OPTION не поддерживается для рекурсивных представлений" -#: gram.y:12960 +#: gram.y:13162 #, c-format msgid "LIMIT #,# syntax is not supported" msgstr "синтаксис LIMIT #,# не поддерживается" -#: gram.y:12961 +#: gram.y:13163 #, c-format msgid "Use separate LIMIT and OFFSET clauses." msgstr "Используйте отдельные предложения LIMIT и OFFSET." -#: gram.y:13821 +#: gram.y:14038 #, c-format msgid "only one DEFAULT value is allowed" msgstr "допускается только одно значение DEFAULT" -#: gram.y:13830 +#: gram.y:14047 #, c-format msgid "only one PATH value per column is allowed" msgstr "для столбца допускается только одно значение PATH" -#: gram.y:13839 +#: gram.y:14056 #, c-format msgid "conflicting or redundant NULL / NOT NULL declarations for column \"%s\"" msgstr "" "конфликтующие или избыточные объявления NULL/NOT NULL для столбца \"%s\"" -#: gram.y:13848 +#: gram.y:14065 #, c-format msgid "unrecognized column option \"%s\"" msgstr "нераспознанный параметр столбца \"%s\"" -#: gram.y:14102 +#: gram.y:14147 +#, c-format +msgid "only string constants are supported in JSON_TABLE path specification" +msgstr "в указании пути JSON_TABLE поддерживаются только строковые константы" + +#: gram.y:14469 #, c-format msgid "precision for type float must be at least 1 bit" msgstr "тип float должен иметь точность минимум 1 бит" -#: gram.y:14111 +#: gram.y:14478 #, c-format msgid "precision for type float must be less than 54 bits" msgstr "тип float должен иметь точность меньше 54 бит" -#: gram.y:14614 +#: gram.y:14995 #, c-format msgid "wrong number of parameters on left side of OVERLAPS expression" msgstr "неверное число параметров в левой части выражения OVERLAPS" -#: gram.y:14619 +#: gram.y:15000 #, c-format msgid "wrong number of parameters on right side of OVERLAPS expression" msgstr "неверное число параметров в правой части выражения OVERLAPS" -#: gram.y:14796 +#: gram.y:15177 #, c-format msgid "UNIQUE predicate is not yet implemented" msgstr "предикат UNIQUE ещё не реализован" -#: gram.y:15212 +#: gram.y:15591 #, c-format msgid "cannot use multiple ORDER BY clauses with WITHIN GROUP" msgstr "ORDER BY с WITHIN GROUP можно указать только один раз" -#: gram.y:15217 +#: gram.y:15596 #, c-format msgid "cannot use DISTINCT with WITHIN GROUP" msgstr "DISTINCT нельзя использовать с WITHIN GROUP" -#: gram.y:15222 +#: gram.y:15601 #, c-format msgid "cannot use VARIADIC with WITHIN GROUP" msgstr "VARIADIC нельзя использовать с WITHIN GROUP" -#: gram.y:15856 gram.y:15880 +#: gram.y:16328 gram.y:16352 #, c-format msgid "frame start cannot be UNBOUNDED FOLLOWING" msgstr "началом рамки не может быть UNBOUNDED FOLLOWING" -#: gram.y:15861 +#: gram.y:16333 #, c-format msgid "frame starting from following row cannot end with current row" msgstr "" "рамка, начинающаяся со следующей строки, не может заканчиваться текущей" -#: gram.y:15885 +#: gram.y:16357 #, c-format msgid "frame end cannot be UNBOUNDED PRECEDING" msgstr "концом рамки не может быть UNBOUNDED PRECEDING" -#: gram.y:15891 +#: gram.y:16363 #, c-format msgid "frame starting from current row cannot have preceding rows" msgstr "" "рамка, начинающаяся с текущей строки, не может иметь предшествующих строк" -#: gram.y:15898 +#: gram.y:16370 #, c-format msgid "frame starting from following row cannot have preceding rows" msgstr "" "рамка, начинающаяся со следующей строки, не может иметь предшествующих строк" -#: gram.y:16659 +#: gram.y:16919 +#, c-format +msgid "unrecognized JSON encoding: %s" +msgstr "нераспознанная кодировка JSON: %s" + +#: gram.y:17243 #, c-format msgid "type modifier cannot have parameter name" msgstr "параметр функции-модификатора типа должен быть безымянным" -#: gram.y:16665 +#: gram.y:17249 #, c-format msgid "type modifier cannot have ORDER BY" msgstr "модификатор типа не может включать ORDER BY" -#: gram.y:16733 gram.y:16740 gram.y:16747 +#: gram.y:17317 gram.y:17324 gram.y:17331 #, c-format msgid "%s cannot be used as a role name here" msgstr "%s нельзя использовать здесь как имя роли" -#: gram.y:16837 gram.y:18294 +#: gram.y:17421 gram.y:18906 #, c-format msgid "WITH TIES cannot be specified without ORDER BY clause" msgstr "WITH TIES нельзя задать без предложения ORDER BY" -#: gram.y:17973 gram.y:18160 +#: gram.y:18597 gram.y:18772 msgid "improper use of \"*\"" msgstr "недопустимое использование \"*\"" -#: gram.y:18224 +#: gram.y:18836 #, c-format msgid "" "an ordered-set aggregate with a VARIADIC direct argument must have one " @@ -33482,70 +35017,70 @@ msgstr "" "сортирующая агрегатная функция с непосредственным аргументом VARIADIC должна " "иметь один агрегатный аргумент VARIADIC того же типа данных" -#: gram.y:18261 +#: gram.y:18873 #, c-format msgid "multiple ORDER BY clauses not allowed" msgstr "ORDER BY можно указать только один раз" -#: gram.y:18272 +#: gram.y:18884 #, c-format msgid "multiple OFFSET clauses not allowed" msgstr "OFFSET можно указать только один раз" -#: gram.y:18281 +#: gram.y:18893 #, c-format msgid "multiple LIMIT clauses not allowed" msgstr "LIMIT можно указать только один раз" -#: gram.y:18290 +#: gram.y:18902 #, c-format msgid "multiple limit options not allowed" msgstr "параметры LIMIT можно указать только один раз" -#: gram.y:18317 +#: gram.y:18929 #, c-format msgid "multiple WITH clauses not allowed" msgstr "WITH можно указать только один раз" -#: gram.y:18510 +#: gram.y:19122 #, c-format msgid "OUT and INOUT arguments aren't allowed in TABLE functions" msgstr "в табличных функциях не может быть аргументов OUT и INOUT" -#: gram.y:18643 +#: gram.y:19255 #, c-format msgid "multiple COLLATE clauses not allowed" msgstr "COLLATE можно указать только один раз" #. translator: %s is CHECK, UNIQUE, or similar -#: gram.y:18681 gram.y:18694 +#: gram.y:19293 gram.y:19306 #, c-format msgid "%s constraints cannot be marked DEFERRABLE" msgstr "ограничения %s не могут иметь характеристики DEFERRABLE" #. translator: %s is CHECK, UNIQUE, or similar -#: gram.y:18707 +#: gram.y:19319 #, c-format msgid "%s constraints cannot be marked NOT VALID" msgstr "ограничения %s не могут иметь характеристики NOT VALID" #. translator: %s is CHECK, UNIQUE, or similar -#: gram.y:18720 +#: gram.y:19332 #, c-format msgid "%s constraints cannot be marked NO INHERIT" msgstr "ограничения %s не могут иметь характеристики NO INHERIT" -#: gram.y:18742 +#: gram.y:19354 #, c-format msgid "unrecognized partitioning strategy \"%s\"" msgstr "нераспознанная стратегия секционирования \"%s\"" -#: gram.y:18766 +#: gram.y:19378 #, c-format msgid "invalid publication object list" msgstr "неверный список объектов публикации" -#: gram.y:18767 +#: gram.y:19379 #, c-format msgid "" "One of TABLE or TABLES IN SCHEMA must be specified before a standalone table " @@ -33554,22 +35089,22 @@ msgstr "" "Перед именем отдельной таблицы или схемы нужно указать TABLE либо TABLES IN " "SCHEMA." -#: gram.y:18783 +#: gram.y:19395 #, c-format msgid "invalid table name" msgstr "неверное имя таблицы" -#: gram.y:18804 +#: gram.y:19416 #, c-format msgid "WHERE clause not allowed for schema" msgstr "предложение WHERE не допускается для схемы" -#: gram.y:18811 +#: gram.y:19423 #, c-format msgid "column specification not allowed for schema" msgstr "указание столбца не допускается для схемы" -#: gram.y:18825 +#: gram.y:19437 #, c-format msgid "invalid schema name" msgstr "неверное имя схемы" @@ -33618,12 +35153,18 @@ msgstr "" "обнаружено слишком много синтаксических ошибок, обработка файла \"%s\" " "прекращается" -#: jsonpath_gram.y:529 +# skip-rule: space-after-comma, space-before-period +#: jsonpath_gram.y:267 +#, c-format +msgid ".decimal() can only have an optional precision[,scale]." +msgstr "Аргументами .decimal() могут быть только точность[,масштаб]." + +#: jsonpath_gram.y:599 #, c-format msgid "Unrecognized flag character \"%.*s\" in LIKE_REGEX predicate." msgstr "Нераспознанный символ флага \"%.*s\" в предикате LIKE_REGEX." -#: jsonpath_gram.y:607 +#: jsonpath_gram.y:677 #, c-format msgid "XQuery \"x\" flag (expanded regular expressions) is not implemented" msgstr "" @@ -33641,7 +35182,7 @@ msgstr "неверная последовательность шестнадца msgid "unexpected end after backslash" msgstr "неожиданный конец строки после обратной косой черты" -#: jsonpath_scan.l:201 repl_scanner.l:209 scan.l:741 +#: jsonpath_scan.l:201 repl_scanner.l:211 scan.l:756 msgid "unterminated quoted string" msgstr "незавершённая строка в кавычках" @@ -33653,8 +35194,8 @@ msgstr "неожиданный конец комментария" msgid "invalid numeric literal" msgstr "неверная числовая строка" -#: jsonpath_scan.l:325 jsonpath_scan.l:331 jsonpath_scan.l:337 scan.l:1049 -#: scan.l:1053 scan.l:1057 scan.l:1061 scan.l:1065 scan.l:1069 scan.l:1073 +#: jsonpath_scan.l:325 jsonpath_scan.l:331 jsonpath_scan.l:337 scan.l:1064 +#: scan.l:1068 scan.l:1072 scan.l:1076 msgid "trailing junk after numeric literal" msgstr "мусорное содержимое после числовой константы" @@ -33670,70 +35211,70 @@ msgstr "%s в конце аргумента jsonpath" msgid "%s at or near \"%s\" of jsonpath input" msgstr "%s в строке jsonpath (примерное положение: \"%s\")" -#: jsonpath_scan.l:557 +#: jsonpath_scan.l:568 msgid "invalid input" msgstr "некорректные входные данные" -#: jsonpath_scan.l:583 +#: jsonpath_scan.l:594 msgid "invalid hexadecimal digit" msgstr "неверная шестнадцатеричная цифра" -#: jsonpath_scan.l:614 +#: jsonpath_scan.l:625 #, c-format msgid "could not convert Unicode to server encoding" msgstr "не удалось преобразовать символ Unicode в серверную кодировку" -#: repl_gram.y:301 repl_gram.y:333 +#: repl_gram.y:318 repl_gram.y:359 #, c-format msgid "invalid timeline %u" msgstr "неверная линия времени %u" -#: repl_scanner.l:152 +#: repl_scanner.l:154 msgid "invalid streaming start location" msgstr "неверная позиция начала потока" -#: scan.l:482 +#: scan.l:497 msgid "unterminated /* comment" msgstr "незавершённый комментарий /*" -#: scan.l:502 +#: scan.l:517 msgid "unterminated bit string literal" msgstr "оборванная битовая строка" -#: scan.l:516 +#: scan.l:531 msgid "unterminated hexadecimal string literal" msgstr "оборванная шестнадцатеричная строка" -#: scan.l:566 +#: scan.l:581 #, c-format msgid "unsafe use of string constant with Unicode escapes" msgstr "небезопасное использование строковой константы со спецкодами Unicode" -#: scan.l:567 +#: scan.l:582 #, c-format msgid "" "String constants with Unicode escapes cannot be used when " -"standard_conforming_strings is off." +"\"standard_conforming_strings\" is off." msgstr "" "Строки со спецкодами Unicode нельзя использовать, когда параметр " -"standard_conforming_strings выключен." +"\"standard_conforming_strings\" выключен." -#: scan.l:628 +#: scan.l:643 msgid "unhandled previous state in xqs" msgstr "" "необрабатываемое предыдущее состояние при обнаружении закрывающего апострофа" -#: scan.l:702 +#: scan.l:717 #, c-format msgid "Unicode escapes must be \\uXXXX or \\UXXXXXXXX." msgstr "Спецкоды Unicode должны иметь вид \\uXXXX или \\UXXXXXXXX." -#: scan.l:713 +#: scan.l:728 #, c-format msgid "unsafe use of \\' in a string literal" msgstr "небезопасное использование символа \\' в строке" -#: scan.l:714 +#: scan.l:729 #, c-format msgid "" "Use '' to write quotes in strings. \\' is insecure in client-only encodings." @@ -33741,56 +35282,56 @@ msgstr "" "Записывайте апостроф в строке в виде ''. Запись \\' небезопасна для " "исключительно клиентских кодировок." -#: scan.l:786 +#: scan.l:801 msgid "unterminated dollar-quoted string" msgstr "незавершённая строка с $" -#: scan.l:803 scan.l:813 +#: scan.l:818 scan.l:828 msgid "zero-length delimited identifier" msgstr "пустой идентификатор в кавычках" -#: scan.l:824 syncrep_scanner.l:101 +#: scan.l:839 syncrep_scanner.l:101 msgid "unterminated quoted identifier" msgstr "незавершённый идентификатор в кавычках" -#: scan.l:987 +#: scan.l:1002 msgid "operator too long" msgstr "слишком длинный оператор" -#: scan.l:1000 +#: scan.l:1015 msgid "trailing junk after parameter" msgstr "мусорное содержимое после параметра" -#: scan.l:1021 +#: scan.l:1036 msgid "invalid hexadecimal integer" msgstr "неверное шестнадцатеричное целое" -#: scan.l:1025 +#: scan.l:1040 msgid "invalid octal integer" msgstr "неверное восьмеричное целое" -#: scan.l:1029 +#: scan.l:1044 msgid "invalid binary integer" msgstr "неверное двоичное целое" #. translator: %s is typically the translation of "syntax error" -#: scan.l:1236 +#: scan.l:1239 #, c-format msgid "%s at end of input" msgstr "%s в конце" #. translator: first %s is typically the translation of "syntax error" -#: scan.l:1244 +#: scan.l:1247 #, c-format msgid "%s at or near \"%s\"" msgstr "%s (примерное положение: \"%s\")" -#: scan.l:1434 +#: scan.l:1439 #, c-format msgid "nonstandard use of \\' in a string literal" msgstr "нестандартное применение \\' в строке" -#: scan.l:1435 +#: scan.l:1440 #, c-format msgid "" "Use '' to write quotes in strings, or use the escape string syntax (E'...')." @@ -33798,27 +35339,299 @@ msgstr "" "Записывайте апостроф в строках в виде '' или используйте синтаксис спецстрок " "(E'...')." -#: scan.l:1444 +#: scan.l:1449 #, c-format msgid "nonstandard use of \\\\ in a string literal" msgstr "нестандартное применение \\\\ в строке" -#: scan.l:1445 +#: scan.l:1450 #, c-format msgid "Use the escape string syntax for backslashes, e.g., E'\\\\'." msgstr "" "Используйте для записи обратных слэшей синтаксис спецстрок, например E'\\\\'." -#: scan.l:1459 +#: scan.l:1464 #, c-format msgid "nonstandard use of escape in a string literal" msgstr "нестандартное использование спецсимвола в строке" -#: scan.l:1460 +#: scan.l:1465 #, c-format msgid "Use the escape string syntax for escapes, e.g., E'\\r\\n'." msgstr "Используйте для записи спецсимволов синтаксис спецстрок E'\\r\\n'." +#, c-format +#~ msgid "" +#~ "database is not accepting commands to avoid wraparound data loss in " +#~ "database \"%s\"" +#~ msgstr "" +#~ "база данных не принимает команды во избежание потери данных из-за " +#~ "зацикливания транзакций в базе данных \"%s\"" + +#, c-format +#~ msgid "" +#~ "Stop the postmaster and vacuum that database in single-user mode.\n" +#~ "You might also need to commit or roll back old prepared transactions, or " +#~ "drop stale replication slots." +#~ msgstr "" +#~ "Остановите управляющий процесс (postmaster) и выполните очистку (VACUUM) " +#~ "базы данных в монопольном режиме.\n" +#~ "Возможно, вам также придётся зафиксировать или откатить старые " +#~ "подготовленные транзакции и удалить неиспользуемые слоты репликации." + +#, c-format +#~ msgid "" +#~ "database is not accepting commands to avoid wraparound data loss in " +#~ "database with OID %u" +#~ msgstr "" +#~ "база данных не принимает команды во избежание потери данных из-за " +#~ "зацикливания транзакций в базе данных с OID %u" + +#, c-format +#~ msgid "cannot commit subtransactions during a parallel operation" +#~ msgstr "фиксировать подтранзакции во время параллельных операций нельзя" + +#, c-format +#~ msgid "invalid segment number %d in file \"%s\"" +#~ msgstr "неверный номер сегмента %d в файле \"%s\"" + +#, c-format +#~ msgid "-X requires a power of two value between 1 MB and 1 GB" +#~ msgstr "" +#~ "для -X требуется число, равное степени двух, в интервале от 1 МБ до 1 ГБ" + +#, c-format +#~ msgid "invalid parameter name \"%s\"" +#~ msgstr "неверное имя параметра \"%s\"" + +#, c-format +#~ msgid "MERGE not supported in COPY" +#~ msgstr "MERGE не поддерживается в COPY" + +#, c-format +#~ msgid "cannot specify DELIMITER in BINARY mode" +#~ msgstr "в режиме BINARY нельзя указывать DELIMITER" + +#, c-format +#~ msgid "cannot specify DEFAULT in BINARY mode" +#~ msgstr "в режиме BINARY нельзя указывать DEFAULT" + +#, c-format +#~ msgid "cannot specify HEADER in BINARY mode" +#~ msgstr "в режиме BINARY нельзя использовать HEADER" + +#, c-format +#~ msgid "COPY quote available only in CSV mode" +#~ msgstr "определить кавычки для COPY можно только в режиме CSV" + +#, c-format +#~ msgid "COPY escape available only in CSV mode" +#~ msgstr "определить спецсимвол для COPY можно только в режиме CSV" + +#, c-format +#~ msgid "COPY force quote available only in CSV mode" +#~ msgstr "" +#~ "параметр force quote для COPY можно использовать только в режиме CSV" + +#, c-format +#~ msgid "COPY force quote only available using COPY TO" +#~ msgstr "параметр force quote для COPY можно использовать только с COPY TO" + +#, c-format +#~ msgid "COPY force not null available only in CSV mode" +#~ msgstr "" +#~ "параметр force not null для COPY можно использовать только в режиме CSV" + +#, c-format +#~ msgid "COPY force not null only available using COPY FROM" +#~ msgstr "" +#~ "параметр force not null для COPY можно использовать только с COPY FROM" + +#, c-format +#~ msgid "COPY force null available only in CSV mode" +#~ msgstr "параметр force null для COPY можно использовать только в режиме CSV" + +#, c-format +#~ msgid "COPY force null only available using COPY FROM" +#~ msgstr "параметр force null для COPY можно использовать только с COPY FROM" + +#, c-format +#~ msgid "COPY DEFAULT only available using COPY FROM" +#~ msgstr "параметр DEFAULT для COPY можно использовать только с COPY FROM" + +#, c-format +#~ msgid "COPY delimiter must not appear in the DEFAULT specification" +#~ msgstr "" +#~ "разделитель для COPY не должен присутствовать в представлении DEFAULT" + +#, c-format +#~ msgid "CSV quote character must not appear in the DEFAULT specification" +#~ msgstr "" +#~ "символ кавычек в CSV не должен присутствовать в представлении DEFAULT" + +#, c-format +#~ msgid "FORCE_NOT_NULL column \"%s\" not referenced by COPY" +#~ msgstr "столбец FORCE_NOT_NULL \"%s\" не фигурирует в COPY" + +#, c-format +#~ msgid "FORCE_QUOTE column \"%s\" not referenced by COPY" +#~ msgstr "столбец FORCE_QUOTE \"%s\" не фигурирует в COPY" + +#, c-format +#~ msgid "cannot create exclusion constraints on partitioned table \"%s\"" +#~ msgstr "" +#~ "создать ограничение-исключение в секционированной таблице \"%s\" нельзя" + +#, c-format +#~ msgid "cannot reindex invalid index \"%s.%s\" concurrently, skipping" +#~ msgstr "" +#~ "перестроить нерабочий индекс \"%s.%s\" неблокирующим способом нельзя, он " +#~ "пропускается" + +#, c-format +#~ msgid "" +#~ "specifying a table access method is not supported on a partitioned table" +#~ msgstr "" +#~ "указание табличного метода доступа для секционированных таблиц не " +#~ "поддерживаются" + +#, c-format +#~ msgid "cannot change access method of a partitioned table" +#~ msgstr "менять метод доступа для секционированной таблицы нельзя" + +#, c-format +#~ msgid "" +#~ "MD5 authentication is not supported when \"db_user_namespace\" is enabled" +#~ msgstr "" +#~ "проверка подлинности MD5 не поддерживается, когда включён режим " +#~ "\"db_user_namespace\"" + +#, c-format +#~ msgid "could not unbind after searching for user \"%s\" on server \"%s\"" +#~ msgstr "" +#~ "не удалось отвязаться после поиска пользователя \"%s\" на сервере \"%s\"" + +#, c-format +#~ msgid "MERGE not supported in WITH query" +#~ msgstr "MERGE не поддерживается в запросе WITH" + +#, c-format +#~ msgid "IS DISTINCT FROM requires = operator to yield boolean" +#~ msgstr "" +#~ "для IS DISTINCT FROM требуется, чтобы оператор = возвращал логическое " +#~ "значение" + +#, c-format +#~ msgid "could not fork autovacuum launcher process: %m" +#~ msgstr "породить процесс запуска автоочистки не удалось: %m" + +#, c-format +#~ msgid "could not fork autovacuum worker process: %m" +#~ msgstr "не удалось породить рабочий процесс автоочистки: %m" + +#, c-format +#~ msgid "" +#~ "Consider increasing the configuration parameter \"max_worker_processes\"." +#~ msgstr "Возможно, стоит увеличить параметр \"max_worker_processes\"." + +#, c-format +#~ msgid "could not fork startup process: %m" +#~ msgstr "породить стартовый процесс не удалось: %m" + +#, c-format +#~ msgid "could not fork archiver process: %m" +#~ msgstr "породить процесс архиватора не удалось: %m" + +#, c-format +#~ msgid "could not fork checkpointer process: %m" +#~ msgstr "породить процесс контрольных точек не удалось: %m" + +#, c-format +#~ msgid "could not fork WAL writer process: %m" +#~ msgstr "породить процесс записи WAL не удалось: %m" + +#, c-format +#~ msgid "could not fork WAL receiver process: %m" +#~ msgstr "породить процесс считывания WAL не удалось: %m" + +#, c-format +#~ msgid "could not fork worker process: %m" +#~ msgstr "породить рабочий процесс не удалось: %m" + +#, c-format +#~ msgid "could not remove file \"%s\": %s\n" +#~ msgstr "не удалось стереть файл \"%s\": %s\n" + +#, c-format +#~ msgid "publication_names parameter missing" +#~ msgstr "отсутствует параметр publication_names" + +#, c-format +#~ msgid "snapshot too old" +#~ msgstr "снимок слишком стар" + +#, c-format +#~ msgid "must be superuser to rotate log files with adminpack 1.0" +#~ msgstr "" +#~ "прокручивать файлы протоколов, используя adminpack 1.0, может только " +#~ "суперпользователь" + +#, c-format +#~ msgid "Consider using %s, which is part of core, instead." +#~ msgstr "" +#~ "Рассмотрите возможность использования функции %s, включённой в ядро." + +#, c-format +#~ msgid "could not write block %u in file \"%s\": wrote only %d of %d bytes" +#~ msgstr "не удалось записать блок %u в файл \"%s\" (записано байт: %d из %d)" + +#, c-format +#~ msgid "Unmatched \"%c\" character." +#~ msgstr "Непарный знак \"%c\"." + +#, c-format +#~ msgid "formatting field \"%s\" is only supported in to_char" +#~ msgstr "поле форматирования \"%s\" поддерживается только в функции to_char" + +#, c-format +#~ msgid "must be superuser to read files with adminpack 1.0" +#~ msgstr "" +#~ "читать файлы, используя adminpack 1.0, может только суперпользователь" + +#, c-format +#~ msgid "" +#~ "string argument of jsonpath item method .%s() is not a valid " +#~ "representation of a double precision number" +#~ msgstr "" +#~ "строковый аргумент метода элемента jsonpath .%s() не является " +#~ "представлением значения double precision" + +#, c-format +#~ msgid "collation provider LIBC is not supported on this platform" +#~ msgstr "" +#~ "провайдер правил сортировки LIBC не поддерживается на этой платформе" + +#, c-format +#~ msgid "cannot subtract infinite timestamps" +#~ msgstr "вычитать бесконечные значения timestamp нельзя" + +#~ msgid "Enables per-database user names." +#~ msgstr "Включает связывание имён пользователей с базами данных." + +#~ msgid "" +#~ "Time before a snapshot is too old to read pages changed after the " +#~ "snapshot was taken." +#~ msgstr "" +#~ "Срок, по истечении которого снимок считается слишком старым для получения " +#~ "страниц, изменённых после создания снимка." + +#~ msgid "A value of -1 disables this feature." +#~ msgstr "Значение -1 отключает это поведение." + +#~ msgid "Enables logging of recovery-related debugging information." +#~ msgstr "" +#~ "Включает протоколирование отладочной информации, связанной с репликацией." + #, c-format #~ msgid "out of memory while trying to decode a record of length %u" #~ msgstr "не удалось выделить память для декодирования записи длины %u" @@ -34216,10 +36029,6 @@ msgstr "Используйте для записи спецсимволов си #~ "слот \"%s\" аннулируется, так как его позиция restart_lsn %X/%X превышает " #~ "max_slot_wal_keep_size" -#, c-format -#~ msgid "cannot read from logical replication slot \"%s\"" -#~ msgstr "прочитать из слота логической репликации \"%s\" нельзя" - #, c-format #~ msgid "cannot convert partitioned table \"%s\" to a view" #~ msgstr "" @@ -34450,9 +36259,6 @@ msgstr "Используйте для записи спецсимволов си #~ msgid "oidvector has too many elements" #~ msgstr "oidvector содержит слишком много элементов" -#~ msgid "Enables reordering of GROUP BY keys." -#~ msgstr "Включает переупорядочивание ключей GROUP BY." - #~ msgid "unknown compression option \"%s\"" #~ msgstr "неизвестный параметр сжатия \"%s\"" @@ -34522,14 +36328,6 @@ msgstr "Используйте для записи спецсимволов си #~ msgid "JSON_TABLE path name is not allowed here" #~ msgstr "SELECT ... INTO здесь не допускается" -#, fuzzy -#~ msgid "JSON path expression must be type %s, not type %s" -#~ msgstr "аргумент конструкции %s должен иметь тип %s, а не %s" - -#, fuzzy -#~ msgid "cannot cast DEFAULT expression type %s to %s" -#~ msgstr "привести тип %s к %s нельзя" - #, fuzzy #~ msgid "JSON_TABLE() is not yet implemented for the json type" #~ msgstr "REINDEX для секционированных индексов ещё не реализован" @@ -34538,10 +36336,6 @@ msgstr "Используйте для записи спецсимволов си #~ msgid "%s() is not yet implemented for the json type" #~ msgstr "политики для этой команды ещё не реализованы" -#, fuzzy -#~ msgid "cannot use RETURNING type %s in %s" -#~ msgstr "привести тип %s к %s нельзя" - #, fuzzy #~ msgid "invalid JSON_TABLE plan" #~ msgstr "неверное указание OWNED BY" @@ -34988,9 +36782,6 @@ msgstr "Используйте для записи спецсимволов си #~ msgid "Writes temporary statistics files to the specified directory." #~ msgstr "Каталог, в который будут записываться временные файлы статистики." -#~ msgid "must be superuser to execute ALTER SYSTEM command" -#~ msgstr "выполнить команду ALTER SYSTEM может только суперпользователь" - #~ msgid "" #~ "query-specified return tuple and function return type are not compatible" #~ msgstr "" @@ -36287,9 +38078,6 @@ msgstr "Используйте для записи спецсимволов си #~ msgid "using previous checkpoint record at %X/%X" #~ msgstr "используется предыдущая запись контрольной точки по смещению %X/%X" -#~ msgid "invalid secondary checkpoint link in control file" -#~ msgstr "неверная ссылка на вторичную контрольную точку в файле pg_control" - #~ msgid "invalid secondary checkpoint record" #~ msgstr "неверная запись вторичной контрольной точки" @@ -36400,9 +38188,6 @@ msgstr "Используйте для записи спецсимволов си #~ msgid "data directory \"%s\" has group or world access" #~ msgstr "к каталогу данных \"%s\" имеют доступ все или группа" -#~ msgid "worker process" -#~ msgstr "рабочий процесс" - #~ msgid "built-in type %u not found" #~ msgstr "встроенный тип %u не найден" @@ -36417,13 +38202,6 @@ msgstr "Используйте для записи спецсимволов си #~ msgstr "" #~ "тип данных \"%s.%s\", требуемый для логической репликации, не существует" -#~ msgid "" -#~ "logical replication could not find row for delete in replication target " -#~ "relation \"%s\"" -#~ msgstr "" -#~ "при логической репликации не удалось найти строку для удаления в целевом " -#~ "отношении репликации \"%s\"" - #~ msgid "memory for serializable conflict tracking is nearly exhausted" #~ msgstr "" #~ "память для отслеживания конфликтов сериализации практически исчерпана" @@ -36848,9 +38626,6 @@ msgstr "Используйте для записи спецсимволов си #~ msgid "Proceeding with relation creation anyway." #~ msgstr "Несмотря на это, создание отношения продолжается." -#~ msgid "default expression must not return a set" -#~ msgstr "выражение по умолчанию не может возвращать множество" - #~ msgid "access method name cannot be qualified" #~ msgstr "имя метода доступа не может быть составным" @@ -37512,12 +39287,6 @@ msgstr "Используйте для записи спецсимволов си #~ msgid "neither input type is an array" #~ msgstr "входной тип так же не является массивом" -#~ msgid "unexpected \"=\"" -#~ msgstr "неожиданный знак \"=\"" - -#~ msgid "invalid symbol" -#~ msgstr "неверный символ" - #~ msgid "" #~ "must be superuser or have the same role to cancel queries running in " #~ "other server processes" @@ -37574,11 +39343,6 @@ msgstr "Используйте для записи спецсимволов си #~ msgstr "" #~ "распознать идентификатор локального пользователя (%ld) не удалось: %s" -#~ msgid "cannot use physical replication slot created for logical decoding" -#~ msgstr "" -#~ "для логического декодирования нельзя использовать созданный физический " -#~ "слот репликации" - #~ msgid "" #~ "incomplete read from reorderbuffer spill file: read %d instead of %u bytes" #~ msgstr "" @@ -38065,9 +39829,6 @@ msgstr "Используйте для записи спецсимволов си #~ "Недостаточно памяти для переназначения блокировок подготовленных " #~ "транзакций." -#~ msgid "\"interval\" time zone \"%s\" not valid" -#~ msgstr "\"интервал\" содержит неверный часовой пояс \"%s\"" - #~ msgid "inconsistent use of year %04d and \"BC\"" #~ msgstr "несогласованное использование в годе %04d и \"BC\"" diff --git a/src/backend/po/sv.po b/src/backend/po/sv.po index 2d2e2272672..67d4ed84f3b 100644 --- a/src/backend/po/sv.po +++ b/src/backend/po/sv.po @@ -1,5 +1,5 @@ # Swedish message translation file for postgresql -# Dennis Björklund , 2002, 2003, 2004, 2005, 2006, 2017, 2018, 2019, 2020, 2021, 2022, 2023. +# Dennis Björklund , 2002, 2003, 2004, 2005, 2006, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024. # # 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 @@ -21,10 +21,10 @@ # hänvisas till och inte någon annan städning. msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 16\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-09-23 02:45+0000\n" -"PO-Revision-Date: 2023-09-23 15:32+0200\n" +"POT-Creation-Date: 2024-09-21 16:45+0000\n" +"PO-Revision-Date: 2024-09-21 22:53+0200\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -33,6 +33,11 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +#: ../common/binaryheap.c:121 ../common/binaryheap.c:159 +#, c-format +msgid "out of binary heap slots" +msgstr "slut på slottar i binär-heap" + #: ../common/compression.c:132 ../common/compression.c:141 #: ../common/compression.c:150 #, c-format @@ -90,64 +95,66 @@ msgstr "komprimeringsalgoritmen \"%s\" stöder inte långdistansläge" msgid "not recorded" msgstr "ej sparad" -#: ../common/controldata_utils.c:69 ../common/controldata_utils.c:73 -#: commands/copyfrom.c:1670 commands/extension.c:3480 utils/adt/genfile.c:123 +#: ../common/controldata_utils.c:93 ../common/controldata_utils.c:97 +#: commands/copyfrom.c:1739 commands/extension.c:3538 utils/adt/genfile.c:123 +#: utils/time/snapmgr.c:1430 #, 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:84 ../common/controldata_utils.c:86 +#: ../common/controldata_utils.c:108 ../common/controldata_utils.c:110 #: access/transam/timeline.c:143 access/transam/timeline.c:362 -#: access/transam/twophase.c:1347 access/transam/xlog.c:3193 -#: access/transam/xlog.c:3996 access/transam/xlogrecovery.c:1199 -#: access/transam/xlogrecovery.c:1291 access/transam/xlogrecovery.c:1328 -#: access/transam/xlogrecovery.c:1388 backup/basebackup.c:1842 -#: commands/extension.c:3490 libpq/hba.c:769 replication/logical/origin.c:745 -#: replication/logical/origin.c:781 replication/logical/reorderbuffer.c:5050 -#: replication/logical/snapbuild.c:2031 replication/slot.c:1953 -#: replication/slot.c:1994 replication/walsender.c:643 +#: access/transam/twophase.c:1369 access/transam/xlog.c:3476 +#: access/transam/xlog.c:4340 access/transam/xlogrecovery.c:1238 +#: access/transam/xlogrecovery.c:1336 access/transam/xlogrecovery.c:1373 +#: access/transam/xlogrecovery.c:1440 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:5108 +#: replication/logical/snapbuild.c:2052 replication/slot.c:2236 +#: replication/slot.c:2277 replication/walsender.c:655 #: storage/file/buffile.c:470 storage/file/copydir.c:185 -#: utils/adt/genfile.c:197 utils/adt/misc.c:984 utils/cache/relmapper.c:827 +#: utils/adt/genfile.c:197 utils/adt/misc.c:1028 utils/cache/relmapper.c:829 #, c-format msgid "could not read file \"%s\": %m" msgstr "kunde inte läsa fil \"%s\": %m" -#: ../common/controldata_utils.c:92 ../common/controldata_utils.c:95 -#: access/transam/xlog.c:3198 access/transam/xlog.c:4001 -#: backup/basebackup.c:1846 replication/logical/origin.c:750 -#: replication/logical/origin.c:789 replication/logical/snapbuild.c:2036 -#: replication/slot.c:1957 replication/slot.c:1998 replication/walsender.c:648 -#: utils/cache/relmapper.c:831 +#: ../common/controldata_utils.c:116 ../common/controldata_utils.c:119 +#: access/transam/xlog.c:3481 access/transam/xlog.c:4345 +#: 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 +#: utils/cache/relmapper.c:833 #, c-format msgid "could not read file \"%s\": read %d of %zu" msgstr "kunde inte läsa fil \"%s\": läste %d av %zu" -#: ../common/controldata_utils.c:104 ../common/controldata_utils.c:108 -#: ../common/controldata_utils.c:233 ../common/controldata_utils.c:236 -#: access/heap/rewriteheap.c:1175 access/heap/rewriteheap.c:1280 +#: ../common/controldata_utils.c:128 ../common/controldata_utils.c:132 +#: ../common/controldata_utils.c:277 ../common/controldata_utils.c:280 +#: 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:1359 -#: access/transam/twophase.c:1771 access/transam/xlog.c:3039 -#: access/transam/xlog.c:3233 access/transam/xlog.c:3238 -#: access/transam/xlog.c:3374 access/transam/xlog.c:3966 -#: access/transam/xlog.c:4885 commands/copyfrom.c:1730 commands/copyto.c:332 +#: access/transam/timeline.c:512 access/transam/twophase.c:1381 +#: access/transam/twophase.c:1793 access/transam/xlog.c:3322 +#: access/transam/xlog.c:3516 access/transam/xlog.c:3521 +#: access/transam/xlog.c:3657 access/transam/xlog.c:4310 +#: access/transam/xlog.c:5245 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:5102 -#: replication/logical/snapbuild.c:1798 replication/logical/snapbuild.c:1922 -#: replication/slot.c:1844 replication/slot.c:2005 replication/walsender.c:658 -#: storage/file/copydir.c:208 storage/file/copydir.c:213 storage/file/fd.c:782 -#: storage/file/fd.c:3700 storage/file/fd.c:3806 utils/cache/relmapper.c:839 -#: utils/cache/relmapper.c:945 +#: replication/logical/reorderbuffer.c:5160 +#: 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 +#: utils/cache/relmapper.c:956 #, c-format msgid "could not close file \"%s\": %m" msgstr "kunde inte stänga fil \"%s\": %m" -#: ../common/controldata_utils.c:124 +#: ../common/controldata_utils.c:168 msgid "byte ordering mismatch" msgstr "byte-ordning stämmer inte" -#: ../common/controldata_utils.c:126 +#: ../common/controldata_utils.c:170 #, c-format msgid "" "possible byte ordering mismatch\n" @@ -160,141 +167,157 @@ msgstr "" "inte detta program. I så fall kan nedanstående resultat vara felaktiga\n" "och PostgreSQL-installationen vara inkompatibel med databaskatalogen." -#: ../common/controldata_utils.c:181 ../common/controldata_utils.c:186 -#: ../common/file_utils.c:228 ../common/file_utils.c:287 -#: ../common/file_utils.c:361 access/heap/rewriteheap.c:1263 -#: access/transam/timeline.c:111 access/transam/timeline.c:251 -#: access/transam/timeline.c:348 access/transam/twophase.c:1303 -#: access/transam/xlog.c:2946 access/transam/xlog.c:3109 -#: access/transam/xlog.c:3148 access/transam/xlog.c:3341 -#: access/transam/xlog.c:3986 access/transam/xlogrecovery.c:4179 -#: access/transam/xlogrecovery.c:4282 access/transam/xlogutils.c:838 -#: backup/basebackup.c:538 backup/basebackup.c:1512 libpq/hba.c:629 -#: postmaster/syslogger.c:1560 replication/logical/origin.c:735 -#: replication/logical/reorderbuffer.c:3706 -#: replication/logical/reorderbuffer.c:4257 -#: replication/logical/reorderbuffer.c:5030 -#: replication/logical/snapbuild.c:1753 replication/logical/snapbuild.c:1863 -#: replication/slot.c:1925 replication/walsender.c:616 -#: replication/walsender.c:2731 storage/file/copydir.c:151 -#: storage/file/fd.c:757 storage/file/fd.c:3457 storage/file/fd.c:3687 -#: storage/file/fd.c:3777 storage/smgr/md.c:663 utils/cache/relmapper.c:816 -#: utils/cache/relmapper.c:924 utils/error/elog.c:2082 -#: utils/init/miscinit.c:1530 utils/init/miscinit.c:1664 -#: utils/init/miscinit.c:1741 utils/misc/guc.c:4600 utils/misc/guc.c:4650 +#: ../common/controldata_utils.c:225 ../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 +#: access/heap/rewriteheap.c:1229 access/transam/timeline.c:111 +#: access/transam/timeline.c:251 access/transam/timeline.c:348 +#: access/transam/twophase.c:1325 access/transam/xlog.c:3229 +#: access/transam/xlog.c:3392 access/transam/xlog.c:3431 +#: access/transam/xlog.c:3624 access/transam/xlog.c:4330 +#: access/transam/xlogrecovery.c:4263 access/transam/xlogrecovery.c:4366 +#: 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:3761 +#: replication/logical/reorderbuffer.c:4315 +#: replication/logical/reorderbuffer.c:5088 +#: 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 +#: utils/cache/relmapper.c:935 utils/error/elog.c:2124 +#: utils/init/miscinit.c:1526 utils/init/miscinit.c:1660 +#: utils/init/miscinit.c:1737 utils/misc/guc.c:4736 utils/misc/guc.c:4786 #, c-format msgid "could not open file \"%s\": %m" msgstr "kunde inte öppna fil \"%s\": %m" -#: ../common/controldata_utils.c:202 ../common/controldata_utils.c:205 -#: access/transam/twophase.c:1744 access/transam/twophase.c:1753 -#: access/transam/xlog.c:8755 access/transam/xlogfuncs.c:708 -#: backup/basebackup_server.c:175 backup/basebackup_server.c:268 -#: postmaster/postmaster.c:5573 postmaster/syslogger.c:1571 -#: postmaster/syslogger.c:1584 postmaster/syslogger.c:1597 -#: utils/cache/relmapper.c:936 +#: ../common/controldata_utils.c:246 ../common/controldata_utils.c:249 +#: access/transam/twophase.c:1766 access/transam/twophase.c:1775 +#: access/transam/xlog.c:9255 access/transam/xlogfuncs.c:698 +#: backup/basebackup_server.c:173 backup/basebackup_server.c:266 +#: backup/walsummary.c:304 postmaster/postmaster.c:4125 +#: postmaster/syslogger.c:1522 postmaster/syslogger.c:1535 +#: postmaster/syslogger.c:1548 utils/cache/relmapper.c:947 #, c-format msgid "could not write file \"%s\": %m" msgstr "kunde inte skriva fil \"%s\": %m" -#: ../common/controldata_utils.c:219 ../common/controldata_utils.c:224 -#: ../common/file_utils.c:299 ../common/file_utils.c:369 -#: access/heap/rewriteheap.c:959 access/heap/rewriteheap.c:1169 -#: access/heap/rewriteheap.c:1274 access/transam/timeline.c:432 -#: access/transam/timeline.c:506 access/transam/twophase.c:1765 -#: access/transam/xlog.c:3032 access/transam/xlog.c:3227 -#: access/transam/xlog.c:3959 access/transam/xlog.c:8145 -#: access/transam/xlog.c:8190 backup/basebackup_server.c:209 -#: replication/logical/snapbuild.c:1791 replication/slot.c:1830 -#: replication/slot.c:1935 storage/file/fd.c:774 storage/file/fd.c:3798 -#: storage/smgr/md.c:1135 storage/smgr/md.c:1180 storage/sync/sync.c:451 -#: utils/misc/guc.c:4370 +#: ../common/controldata_utils.c:263 ../common/controldata_utils.c:268 +#: ../common/file_utils.c:418 ../common/file_utils.c:488 +#: 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:1787 +#: access/transam/xlog.c:3315 access/transam/xlog.c:3510 +#: access/transam/xlog.c:4303 access/transam/xlog.c:8630 +#: access/transam/xlog.c:8675 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:1329 storage/smgr/md.c:1374 +#: storage/sync/sync.c:446 utils/misc/guc.c:4489 #, c-format msgid "could not fsync file \"%s\": %m" msgstr "kunde inte fsync:a fil \"%s\": %m" -#: ../common/cryptohash.c:261 ../common/cryptohash_openssl.c:133 -#: ../common/cryptohash_openssl.c:332 ../common/exec.c:550 ../common/exec.c:595 -#: ../common/exec.c:687 ../common/hmac.c:309 ../common/hmac.c:325 -#: ../common/hmac_openssl.c:132 ../common/hmac_openssl.c:327 -#: ../common/md5_common.c:155 ../common/psprintf.c:143 -#: ../common/scram-common.c:258 ../common/stringinfo.c:305 ../port/path.c:751 -#: ../port/path.c:789 ../port/path.c:806 access/transam/twophase.c:1412 -#: access/transam/xlogrecovery.c:589 lib/dshash.c:253 libpq/auth.c:1345 -#: libpq/auth.c:1389 libpq/auth.c:1946 libpq/be-secure-gssapi.c:524 -#: postmaster/bgworker.c:352 postmaster/bgworker.c:934 -#: postmaster/postmaster.c:2537 postmaster/postmaster.c:4130 -#: postmaster/postmaster.c:5498 postmaster/postmaster.c:5869 -#: replication/libpqwalreceiver/libpqwalreceiver.c:308 -#: replication/logical/logical.c:208 replication/walsender.c:686 -#: storage/buffer/localbuf.c:601 storage/file/fd.c:866 storage/file/fd.c:1397 -#: storage/file/fd.c:1558 storage/file/fd.c:2478 storage/ipc/procarray.c:1449 -#: storage/ipc/procarray.c:2232 storage/ipc/procarray.c:2239 -#: storage/ipc/procarray.c:2738 storage/ipc/procarray.c:3374 -#: utils/adt/formatting.c:1690 utils/adt/formatting.c:1812 -#: utils/adt/formatting.c:1935 utils/adt/pg_locale.c:473 -#: utils/adt/pg_locale.c:637 utils/fmgr/dfmgr.c:229 utils/hash/dynahash.c:514 -#: utils/hash/dynahash.c:614 utils/hash/dynahash.c:1111 utils/mb/mbutils.c:402 -#: utils/mb/mbutils.c:430 utils/mb/mbutils.c:815 utils/mb/mbutils.c:842 -#: utils/misc/guc.c:640 utils/misc/guc.c:665 utils/misc/guc.c:1053 -#: utils/misc/guc.c:4348 utils/misc/tzparser.c:476 utils/mmgr/aset.c:445 -#: utils/mmgr/dsa.c:714 utils/mmgr/dsa.c:736 utils/mmgr/dsa.c:817 -#: utils/mmgr/generation.c:205 utils/mmgr/mcxt.c:1046 utils/mmgr/mcxt.c:1082 -#: utils/mmgr/mcxt.c:1120 utils/mmgr/mcxt.c:1158 utils/mmgr/mcxt.c:1246 -#: utils/mmgr/mcxt.c:1277 utils/mmgr/mcxt.c:1313 utils/mmgr/mcxt.c:1502 -#: utils/mmgr/mcxt.c:1547 utils/mmgr/mcxt.c:1604 utils/mmgr/slab.c:366 +#: ../common/cryptohash.c:261 ../common/cryptohash_openssl.c:158 +#: ../common/cryptohash_openssl.c:356 ../common/exec.c:562 ../common/exec.c:607 +#: ../common/exec.c:699 ../common/hmac.c:309 ../common/hmac.c:325 +#: ../common/hmac_openssl.c:160 ../common/hmac_openssl.c:357 +#: ../common/md5_common.c:156 ../common/parse_manifest.c:157 +#: ../common/parse_manifest.c:853 ../common/psprintf.c:143 +#: ../common/scram-common.c:269 ../common/stringinfo.c:314 ../port/path.c:751 +#: ../port/path.c:788 ../port/path.c:805 access/transam/twophase.c:1434 +#: 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:3559 postmaster/postmaster.c:4019 +#: postmaster/postmaster.c:4381 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 +#: 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:509 +#: utils/adt/pg_locale.c:673 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:4467 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 #, c-format msgid "out of memory" msgstr "slut på minne" #: ../common/cryptohash.c:266 ../common/cryptohash.c:272 -#: ../common/cryptohash_openssl.c:344 ../common/cryptohash_openssl.c:352 -#: ../common/hmac.c:321 ../common/hmac.c:329 ../common/hmac_openssl.c:339 -#: ../common/hmac_openssl.c:347 +#: ../common/cryptohash_openssl.c:368 ../common/cryptohash_openssl.c:376 +#: ../common/hmac.c:321 ../common/hmac.c:329 ../common/hmac_openssl.c:369 +#: ../common/hmac_openssl.c:377 msgid "success" msgstr "lyckades" -#: ../common/cryptohash.c:268 ../common/cryptohash_openssl.c:346 -#: ../common/hmac_openssl.c:341 +#: ../common/cryptohash.c:268 ../common/cryptohash_openssl.c:370 +#: ../common/hmac_openssl.c:371 msgid "destination buffer too small" msgstr "destinationsbuffer för liten" -#: ../common/cryptohash_openssl.c:348 ../common/hmac_openssl.c:343 +#: ../common/cryptohash_openssl.c:372 ../common/hmac_openssl.c:373 msgid "OpenSSL failure" msgstr "OpenSSL-fel" -#: ../common/exec.c:172 +#: ../common/exec.c:174 #, c-format msgid "invalid binary \"%s\": %m" msgstr "ogiltig binär \"%s\": %m" -#: ../common/exec.c:215 +#: ../common/exec.c:217 #, c-format msgid "could not read binary \"%s\": %m" msgstr "kunde inte läsa binär \"%s\": %m" -#: ../common/exec.c:223 +#: ../common/exec.c:225 #, c-format msgid "could not find a \"%s\" to execute" msgstr "kunde inte hitta en \"%s\" att köra" -#: ../common/exec.c:250 +#: ../common/exec.c:252 #, c-format msgid "could not resolve path \"%s\" to absolute form: %m" msgstr "kunde inte konvertera sökvägen \"%s\" till en absolut sökväg: %m" -#: ../common/exec.c:412 libpq/pqcomm.c:728 storage/ipc/latch.c:1128 -#: storage/ipc/latch.c:1308 storage/ipc/latch.c:1541 storage/ipc/latch.c:1703 -#: storage/ipc/latch.c:1829 +#: ../common/exec.c:382 commands/collationcmds.c:876 commands/copyfrom.c:1723 +#: commands/copyto.c:650 libpq/be-secure-common.c:59 +#, c-format +msgid "could not execute command \"%s\": %m" +msgstr "kunde inte köra kommandot \"%s\": %m" + +#: ../common/exec.c:394 libpq/be-secure-common.c:71 +#, c-format +msgid "could not read from command \"%s\": %m" +msgstr "kunde inte läsa från kommando \"%s\": %m" + +#: ../common/exec.c:397 +#, c-format +msgid "no data was returned by command \"%s\"" +msgstr "ingen data returnerades från kommandot \"%s\"" + +#: ../common/exec.c:424 libpq/pqcomm.c:192 storage/ipc/latch.c:1169 +#: storage/ipc/latch.c:1349 storage/ipc/latch.c:1582 storage/ipc/latch.c:1744 +#: storage/ipc/latch.c:1870 #, c-format msgid "%s() failed: %m" msgstr "%s() misslyckades: %m" #: ../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:753 ../port/path.c:791 -#: ../port/path.c:808 utils/misc/ps_status.c:168 utils/misc/ps_status.c:176 -#: utils/misc/ps_status.c:203 utils/misc/ps_status.c:211 +#: ../common/psprintf.c:145 ../port/path.c:753 ../port/path.c:790 +#: ../port/path.c:807 utils/misc/ps_status.c:193 utils/misc/ps_status.c:201 +#: utils/misc/ps_status.c:228 utils/misc/ps_status.c:236 #, c-format msgid "out of memory\n" msgstr "slut på minne\n" @@ -304,39 +327,51 @@ msgstr "slut på minne\n" msgid "cannot duplicate null pointer (internal error)\n" msgstr "kan inte duplicera null-pekare (internt fel)\n" -#: ../common/file_utils.c:87 ../common/file_utils.c:447 -#: ../common/file_utils.c:451 access/transam/twophase.c:1315 -#: access/transam/xlogarchive.c:112 access/transam/xlogarchive.c:229 -#: backup/basebackup.c:346 backup/basebackup.c:544 backup/basebackup.c:615 -#: commands/copyfrom.c:1680 commands/copyto.c:702 commands/extension.c:3469 -#: commands/tablespace.c:810 commands/tablespace.c:899 postmaster/pgarch.c:590 -#: replication/logical/snapbuild.c:1649 storage/file/fd.c:1922 -#: storage/file/fd.c:2008 storage/file/fd.c:3511 utils/adt/dbsize.c:106 -#: utils/adt/dbsize.c:258 utils/adt/dbsize.c:338 utils/adt/genfile.c:483 -#: utils/adt/genfile.c:658 utils/adt/misc.c:340 +#: ../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" + +#: ../common/file_utils.c:120 ../common/file_utils.c:566 +#: ../common/file_utils.c:570 access/transam/twophase.c:1337 +#: 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:696 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 +#: 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 msgid "could not stat file \"%s\": %m" msgstr "kunde inte göra stat() på fil \"%s\": %m" -#: ../common/file_utils.c:162 ../common/pgfnames.c:48 ../common/rmtree.c:63 -#: commands/tablespace.c:734 commands/tablespace.c:744 -#: postmaster/postmaster.c:1564 storage/file/fd.c:2880 -#: storage/file/reinit.c:126 utils/adt/misc.c:256 utils/misc/tzparser.c:338 +#: ../common/file_utils.c:130 ../common/file_utils.c:227 +#, c-format +msgid "this build does not support sync method \"%s\"" +msgstr "detta bygge stöder inte synkmetod \"%s\"" + +#: ../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:1468 +#: 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:196 ../common/pgfnames.c:69 ../common/rmtree.c:104 -#: storage/file/fd.c:2892 +#: ../common/file_utils.c:169 ../common/file_utils.c:315 +#: ../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:379 access/transam/xlogarchive.c:383 -#: postmaster/pgarch.c:746 postmaster/syslogger.c:1608 -#: replication/logical/snapbuild.c:1810 replication/slot.c:723 -#: replication/slot.c:1716 replication/slot.c:1858 storage/file/fd.c:792 -#: utils/time/snapmgr.c:1284 +#: ../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 +#: utils/time/snapmgr.c:1255 #, c-format msgid "could not rename file \"%s\" to \"%s\": %m" msgstr "kunde inte döpa om fil \"%s\" till \"%s\": %m" @@ -345,90 +380,102 @@ msgstr "kunde inte döpa om fil \"%s\" till \"%s\": %m" msgid "internal error" msgstr "internt fel" -#: ../common/jsonapi.c:1144 +#: ../common/jsonapi.c:2121 +msgid "Recursive descent parser cannot use incremental lexer." +msgstr "Recursive-descent-parser kan inte använda inkrementell lexer." + +#: ../common/jsonapi.c:2123 +msgid "Incremental parser requires incremental lexer." +msgstr "Inkrementell parser kräver en inkrementell lexer." + +#: ../common/jsonapi.c:2125 +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 #, c-format -msgid "Escape sequence \"\\%s\" is invalid." -msgstr "Escape-sekvens \"\\%s\" är ogiltig." +msgid "Escape sequence \"\\%.*s\" is invalid." +msgstr "Escape-sekvens \"\\%.*s\" är ogiltig." -#: ../common/jsonapi.c:1147 +#: ../common/jsonapi.c:2131 #, 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:1150 +#: ../common/jsonapi.c:2135 #, c-format -msgid "Expected end of input, but found \"%s\"." -msgstr "Förväntade slut på indata, men hittade \"%s\"." +msgid "Expected end of input, but found \"%.*s\"." +msgstr "Förväntade slut på indata, men hittade \"%.*s\"." -#: ../common/jsonapi.c:1153 +#: ../common/jsonapi.c:2138 #, c-format -msgid "Expected array element or \"]\", but found \"%s\"." -msgstr "Färväntade array-element eller \"]\", men hittade \"%s\"." +msgid "Expected array element or \"]\", but found \"%.*s\"." +msgstr "Färväntade array-element eller \"]\", men hittade \"%.*s\"." -#: ../common/jsonapi.c:1156 +#: ../common/jsonapi.c:2141 #, c-format -msgid "Expected \",\" or \"]\", but found \"%s\"." -msgstr "Förväntade \",\" eller \"]\", men hittade \"%s\"." +msgid "Expected \",\" or \"]\", but found \"%.*s\"." +msgstr "Förväntade \",\" eller \"]\", men hittade \"%.*s\"." -#: ../common/jsonapi.c:1159 +#: ../common/jsonapi.c:2144 #, c-format -msgid "Expected \":\", but found \"%s\"." -msgstr "Förväntade sig \":\" men hittade \"%s\"." +msgid "Expected \":\", but found \"%.*s\"." +msgstr "Förväntade sig \":\" men hittade \"%.*s\"." -#: ../common/jsonapi.c:1162 +#: ../common/jsonapi.c:2147 #, c-format -msgid "Expected JSON value, but found \"%s\"." -msgstr "Förväntade JSON-värde, men hittade \"%s\"." +msgid "Expected JSON value, but found \"%.*s\"." +msgstr "Förväntade JSON-värde, men hittade \"%.*s\"." -#: ../common/jsonapi.c:1165 +#: ../common/jsonapi.c:2150 msgid "The input string ended unexpectedly." msgstr "Indatasträngen avslutades oväntat." -#: ../common/jsonapi.c:1167 +#: ../common/jsonapi.c:2152 #, c-format -msgid "Expected string or \"}\", but found \"%s\"." -msgstr "Färväntade sträng eller \"}\", men hittade \"%s\"." +msgid "Expected string or \"}\", but found \"%.*s\"." +msgstr "Färväntade sträng eller \"}\", men hittade \"%.*s\"." -#: ../common/jsonapi.c:1170 +#: ../common/jsonapi.c:2155 #, c-format -msgid "Expected \",\" or \"}\", but found \"%s\"." -msgstr "Förväntade sig \",\" eller \"}\" men hittade \"%s\"." +msgid "Expected \",\" or \"}\", but found \"%.*s\"." +msgstr "Förväntade sig \",\" eller \"}\" men hittade \"%.*s\"." -#: ../common/jsonapi.c:1173 +#: ../common/jsonapi.c:2158 #, c-format -msgid "Expected string, but found \"%s\"." -msgstr "Förväntade sträng, men hittade \"%s\"." +msgid "Expected string, but found \"%.*s\"." +msgstr "Förväntade sträng, men hittade \"%.*s\"." -#: ../common/jsonapi.c:1176 +#: ../common/jsonapi.c:2161 #, c-format -msgid "Token \"%s\" is invalid." -msgstr "Token \"%s\" är ogiltig." +msgid "Token \"%.*s\" is invalid." +msgstr "Token \"%.*s\" är ogiltig." -#: ../common/jsonapi.c:1179 jsonpath_scan.l:597 +#: ../common/jsonapi.c:2164 jsonpath_scan.l:608 #, c-format msgid "\\u0000 cannot be converted to text." msgstr "\\u0000 kan inte konverteras till text." -#: ../common/jsonapi.c:1181 +#: ../common/jsonapi.c:2166 msgid "\"\\u\" must be followed by four hexadecimal digits." msgstr "\"\\u\" måste följas av fyra hexdecimala siffror." -#: ../common/jsonapi.c:1184 +#: ../common/jsonapi.c:2169 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:1187 +#: ../common/jsonapi.c:2178 #, 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:1190 jsonpath_scan.l:630 +#: ../common/jsonapi.c:2185 jsonpath_scan.l:641 #, c-format 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:1192 jsonpath_scan.l:641 jsonpath_scan.l:651 -#: jsonpath_scan.l:702 +#: ../common/jsonapi.c:2187 jsonpath_scan.l:652 jsonpath_scan.l:662 +#: jsonpath_scan.l:713 #, c-format msgid "Unicode low surrogate must follow a high surrogate." msgstr "Unicodes lägre surrogathalva måste följa en övre surrogathalva." @@ -453,11 +500,168 @@ msgstr "detalj: " msgid "hint: " msgstr "tips: " +#: ../common/parse_manifest.c:159 ../common/parse_manifest.c:855 +#, c-format +msgid "could not initialize checksum of manifest" +msgstr "kunde inte initiera kontrollsumma för backup-manifest" + +#: ../common/parse_manifest.c:204 ../common/parse_manifest.c:261 +msgid "manifest ended unexpectedly" +msgstr "manifestet avslutades oväntat" + +#: ../common/parse_manifest.c:210 ../common/parse_manifest.c:862 +#, c-format +msgid "could not update checksum of manifest" +msgstr "kunde inte uppdatera kontrollsumma för backup-manifest" + +#: ../common/parse_manifest.c:302 +msgid "unexpected object start" +msgstr "oväntad objektstart" + +#: ../common/parse_manifest.c:337 +msgid "unexpected object end" +msgstr "oväntat objektslut" + +#: ../common/parse_manifest.c:366 +msgid "unexpected array start" +msgstr "oväntad array-start" + +#: ../common/parse_manifest.c:391 +msgid "unexpected array end" +msgstr "oväntat array-slut" + +#: ../common/parse_manifest.c:418 +msgid "expected version indicator" +msgstr "förväntade en versionsindikator" + +#: ../common/parse_manifest.c:454 +msgid "unrecognized top-level field" +msgstr "okänt toppnivåfält" + +#: ../common/parse_manifest.c:473 +msgid "unexpected file field" +msgstr "oväntat filfält" + +#: ../common/parse_manifest.c:487 +msgid "unexpected WAL range field" +msgstr "oväntat WAL-intervall-fält" + +#: ../common/parse_manifest.c:493 +msgid "unexpected object field" +msgstr "oväntat objektfält" + +#: ../common/parse_manifest.c:583 +msgid "unexpected scalar" +msgstr "oväntad skalar" + +#: ../common/parse_manifest.c:609 +msgid "manifest version not an integer" +msgstr "manifestversion är inte ett heltal" + +#: ../common/parse_manifest.c:613 +msgid "unexpected manifest version" +msgstr "oväntad manifestversion" + +#: ../common/parse_manifest.c:637 +msgid "system identifier in manifest not an integer" +msgstr "manifestets systemidentifierare är inte ett heltal" + +#: ../common/parse_manifest.c:662 +msgid "missing path name" +msgstr "saknas sökväg" + +#: ../common/parse_manifest.c:665 +msgid "both path name and encoded path name" +msgstr "både sökväg och kodad sökväg" + +#: ../common/parse_manifest.c:667 +msgid "missing size" +msgstr "saknar storlek" + +#: ../common/parse_manifest.c:670 +msgid "checksum without algorithm" +msgstr "kontrollsumma utan algoritm" + +#: ../common/parse_manifest.c:684 +msgid "could not decode file name" +msgstr "kunde inte avkoda filnamn" + +#: ../common/parse_manifest.c:694 +msgid "file size is not an integer" +msgstr "filstorlek är inte ett haltal" + +#: ../common/parse_manifest.c:700 backup/basebackup.c:870 +#, c-format +msgid "unrecognized checksum algorithm: \"%s\"" +msgstr "okänd algoritm för kontrollsumma: \"%s\"" + +#: ../common/parse_manifest.c:719 +#, c-format +msgid "invalid checksum for file \"%s\": \"%s\"" +msgstr "ogiltig kontrollsumma för fil \"%s\": \"%s\"" + +#: ../common/parse_manifest.c:762 +msgid "missing timeline" +msgstr "saknar tidslinje" + +#: ../common/parse_manifest.c:764 +msgid "missing start LSN" +msgstr "saknar start-LSN" + +#: ../common/parse_manifest.c:766 +msgid "missing end LSN" +msgstr "saknar slut-LSN" + +#: ../common/parse_manifest.c:772 +msgid "timeline is not an integer" +msgstr "tidslinje är inte ett heltal" + +#: ../common/parse_manifest.c:775 +msgid "could not parse start LSN" +msgstr "kunde inte parsa start-LSN" + +#: ../common/parse_manifest.c:778 +msgid "could not parse end LSN" +msgstr "kunde inte parsa slut-LSN" + +#: ../common/parse_manifest.c:843 +msgid "expected at least 2 lines" +msgstr "förväntade minst två rader" + +#: ../common/parse_manifest.c:846 +msgid "last line not newline-terminated" +msgstr "sista raden är inte nyradsterminerad" + +#: ../common/parse_manifest.c:865 +#, c-format +msgid "could not finalize checksum of manifest" +msgstr "kunde inte göra klart kontrollsumma för backup-manifest" + +#: ../common/parse_manifest.c:869 +#, c-format +msgid "manifest has no checksum" +msgstr "manifestet har ingen kontrollsumma" + +#: ../common/parse_manifest.c:873 +#, c-format +msgid "invalid manifest checksum: \"%s\"" +msgstr "ogiltig kontrollsumma för manifest: \"%s\"" + +#: ../common/parse_manifest.c:877 +#, c-format +msgid "manifest checksum mismatch" +msgstr "kontrollsumma för manifest matchar inte" + +#: ../common/parse_manifest.c:892 +#, c-format +msgid "could not parse backup manifest: %s" +msgstr "kunde inte parsa backup-manifest: %s" + #: ../common/percentrepl.c:79 ../common/percentrepl.c:85 #: ../common/percentrepl.c:118 ../common/percentrepl.c:124 -#: postmaster/postmaster.c:2211 utils/misc/guc.c:3118 utils/misc/guc.c:3154 -#: utils/misc/guc.c:3224 utils/misc/guc.c:4547 utils/misc/guc.c:6721 -#: utils/misc/guc.c:6762 +#: tcop/backend_startup.c:741 utils/misc/guc.c:3167 utils/misc/guc.c:3208 +#: utils/misc/guc.c:3283 utils/misc/guc.c:4671 utils/misc/guc.c:6896 +#: utils/misc/guc.c:6937 #, c-format msgid "invalid value for parameter \"%s\": \"%s\"" msgstr "ogiltigt värde för parameter \"%s\": \"%s\"" @@ -517,45 +721,45 @@ msgstr "kunde inte köra igen med token för begränsad åtkomst: felkod %lu" msgid "could not get exit code from subprocess: error code %lu" msgstr "kunde inte hämta statuskod för underprocess: felkod %lu" -#: ../common/rmtree.c:95 access/heap/rewriteheap.c:1248 -#: access/transam/twophase.c:1704 access/transam/xlogarchive.c:120 -#: access/transam/xlogarchive.c:393 postmaster/postmaster.c:1143 -#: postmaster/syslogger.c:1537 replication/logical/origin.c:591 -#: replication/logical/reorderbuffer.c:4526 -#: replication/logical/snapbuild.c:1691 replication/logical/snapbuild.c:2125 -#: replication/slot.c:1909 storage/file/fd.c:832 storage/file/fd.c:3325 -#: storage/file/fd.c:3387 storage/file/reinit.c:262 storage/ipc/dsm.c:316 -#: storage/smgr/md.c:383 storage/smgr/md.c:442 storage/sync/sync.c:248 -#: utils/time/snapmgr.c:1608 +#: ../common/rmtree.c:97 access/heap/rewriteheap.c:1214 +#: access/transam/twophase.c:1726 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:4584 +#: 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 +#: storage/smgr/md.c:381 storage/smgr/md.c:440 storage/sync/sync.c:243 +#: utils/time/snapmgr.c:1591 #, c-format msgid "could not remove file \"%s\": %m" msgstr "kunde inte ta bort fil \"%s\": %m" -#: ../common/rmtree.c:122 commands/tablespace.c:773 commands/tablespace.c:786 -#: commands/tablespace.c:821 commands/tablespace.c:911 storage/file/fd.c:3317 -#: storage/file/fd.c:3726 +#: ../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 #, c-format msgid "could not remove directory \"%s\": %m" msgstr "kunde inte ta bort katalog \"%s\": %m" -#: ../common/scram-common.c:271 +#: ../common/scram-common.c:282 msgid "could not encode salt" msgstr "kunde inte koda saltet" -#: ../common/scram-common.c:287 +#: ../common/scram-common.c:298 msgid "could not encode stored key" msgstr "kunde inte koda den lagrade nyckeln" -#: ../common/scram-common.c:304 +#: ../common/scram-common.c:315 msgid "could not encode server key" msgstr "kunde inte koda servernyckeln" -#: ../common/stringinfo.c:306 +#: ../common/stringinfo.c:315 #, c-format msgid "Cannot enlarge string buffer containing %d bytes by %d more bytes." msgstr "Kan inte utöka strängbuffer som innehåller %d byte med ytterligare %d bytes." -#: ../common/stringinfo.c:310 +#: ../common/stringinfo.c:319 #, c-format msgid "" "out of memory\n" @@ -571,7 +775,7 @@ msgstr "" msgid "could not look up effective user ID %ld: %s" msgstr "kunde inte slå upp effektivt användar-id %ld: %s" -#: ../common/username.c:45 libpq/auth.c:1881 +#: ../common/username.c:45 libpq/auth.c:1888 msgid "user does not exist" msgstr "användaren finns inte" @@ -665,20 +869,20 @@ msgstr "Du kan ha antivirus, backup eller liknande mjukvara som stör databassys #: ../port/path.c:775 #, c-format -msgid "could not get current working directory: %s\n" -msgstr "kunde inte fastställa nuvarande arbetskatalog: %s\n" +msgid "could not get current working directory: %m\n" +msgstr "kunde inte fastställa nuvarande arbetskatalog: %m\n" #: ../port/strerror.c:72 #, c-format msgid "operating system error %d" msgstr "operativsystemfel %d" -#: ../port/thread.c:50 ../port/thread.c:86 +#: ../port/user.c:43 ../port/user.c:79 #, c-format msgid "could not look up local user ID %d: %s" msgstr "kunde inte slå upp lokalt användar-id %d: %s" -#: ../port/thread.c:55 ../port/thread.c:91 +#: ../port/user.c:48 ../port/user.c:84 #, c-format msgid "local user with ID %d does not exist" msgstr "lokal användare med ID %d existerar inte" @@ -698,115 +902,104 @@ msgstr "kunde inte hämta SID för PowerUser-grupp: felkod %lu\n" msgid "could not check access token membership: error code %lu\n" msgstr "kunde inte kontrollera access-token-medlemskap: felkod %lu\n" -#: access/brin/brin.c:216 +#: access/brin/brin.c:405 #, c-format msgid "request for BRIN range summarization for index \"%s\" page %u was not recorded" msgstr "förfrågan efter BRIN-intervallsummering för index \"%s\" sida %u har inte spelats in" -#: access/brin/brin.c:1036 access/brin/brin.c:1137 access/gin/ginfast.c:1040 -#: access/transam/xlogfuncs.c:189 access/transam/xlogfuncs.c:214 -#: access/transam/xlogfuncs.c:247 access/transam/xlogfuncs.c:286 -#: access/transam/xlogfuncs.c:307 access/transam/xlogfuncs.c:328 -#: access/transam/xlogfuncs.c:398 access/transam/xlogfuncs.c:456 +#: access/brin/brin.c:1385 access/brin/brin.c:1493 access/gin/ginfast.c:1040 +#: access/transam/xlogfuncs.c:183 access/transam/xlogfuncs.c:208 +#: access/transam/xlogfuncs.c:241 access/transam/xlogfuncs.c:280 +#: access/transam/xlogfuncs.c:301 access/transam/xlogfuncs.c:322 +#: access/transam/xlogfuncs.c:388 access/transam/xlogfuncs.c:446 #, c-format msgid "recovery is in progress" msgstr "återställning pågår" -#: access/brin/brin.c:1037 access/brin/brin.c:1138 +#: access/brin/brin.c:1386 access/brin/brin.c:1494 #, c-format msgid "BRIN control functions cannot be executed during recovery." msgstr "BRIN-kontrollfunktioner kan inte köras under återställning." -#: access/brin/brin.c:1042 access/brin/brin.c:1143 +#: access/brin/brin.c:1391 access/brin/brin.c:1499 #, c-format msgid "block number out of range: %lld" msgstr "blocknummer är utanför giltigt intervall: %lld" -#: access/brin/brin.c:1086 access/brin/brin.c:1169 +#: access/brin/brin.c:1436 access/brin/brin.c:1525 #, c-format msgid "\"%s\" is not a BRIN index" msgstr "\"%s\" är inte ett BRIN-index" -#: access/brin/brin.c:1102 access/brin/brin.c:1185 +#: access/brin/brin.c:1452 access/brin/brin.c:1541 #, c-format msgid "could not open parent table of index \"%s\"" msgstr "kunde inte öppna föräldratabell för index \"%s\"" -#: access/brin/brin_bloom.c:750 access/brin/brin_bloom.c:792 -#: access/brin/brin_minmax_multi.c:3011 access/brin/brin_minmax_multi.c:3148 -#: statistics/dependencies.c:663 statistics/dependencies.c:716 -#: statistics/mcv.c:1484 statistics/mcv.c:1515 statistics/mvdistinct.c:344 -#: statistics/mvdistinct.c:397 utils/adt/pseudotypes.c:43 -#: utils/adt/pseudotypes.c:77 utils/adt/tsgistidx.c:93 +#: access/brin/brin.c:1461 access/brin/brin.c:1557 access/gin/ginfast.c:1085 +#: parser/parse_utilcmd.c:2277 #, c-format -msgid "cannot accept a value of type %s" -msgstr "kan inte acceptera ett värde av type %s" +msgid "index \"%s\" is not valid" +msgstr "index \"%s\" är inte giltigt" -#: access/brin/brin_minmax_multi.c:2171 access/brin/brin_minmax_multi.c:2178 -#: access/brin/brin_minmax_multi.c:2185 utils/adt/timestamp.c:941 -#: utils/adt/timestamp.c:1518 utils/adt/timestamp.c:2708 -#: utils/adt/timestamp.c:2778 utils/adt/timestamp.c:2795 -#: utils/adt/timestamp.c:2848 utils/adt/timestamp.c:2887 -#: utils/adt/timestamp.c:3184 utils/adt/timestamp.c:3189 -#: utils/adt/timestamp.c:3194 utils/adt/timestamp.c:3244 -#: utils/adt/timestamp.c:3251 utils/adt/timestamp.c:3258 -#: utils/adt/timestamp.c:3278 utils/adt/timestamp.c:3285 -#: utils/adt/timestamp.c:3292 utils/adt/timestamp.c:3322 -#: utils/adt/timestamp.c:3330 utils/adt/timestamp.c:3374 -#: utils/adt/timestamp.c:3796 utils/adt/timestamp.c:3920 -#: utils/adt/timestamp.c:4440 +#: access/brin/brin_bloom.c:783 access/brin/brin_bloom.c:825 +#: access/brin/brin_minmax_multi.c:2993 access/brin/brin_minmax_multi.c:3130 +#: statistics/dependencies.c:661 statistics/dependencies.c:714 +#: statistics/mcv.c:1480 statistics/mcv.c:1511 statistics/mvdistinct.c:343 +#: statistics/mvdistinct.c:396 utils/adt/pseudotypes.c:40 +#: utils/adt/pseudotypes.c:74 utils/adt/tsgistidx.c:94 #, c-format -msgid "interval out of range" -msgstr "interval utanför giltigt intervall" +msgid "cannot accept a value of type %s" +msgstr "kan inte acceptera ett värde av type %s" -#: access/brin/brin_pageops.c:76 access/brin/brin_pageops.c:362 -#: access/brin/brin_pageops.c:852 access/gin/ginentrypage.c:110 -#: access/gist/gist.c:1442 access/spgist/spgdoinsert.c:2002 -#: access/spgist/spgdoinsert.c:2279 +#: 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/spgist/spgdoinsert.c:2278 #, c-format msgid "index row size %zu exceeds maximum %zu for index \"%s\"" msgstr "indexradstorlek %zu överstiger maximum %zu för index \"%s\"" -#: access/brin/brin_revmap.c:393 access/brin/brin_revmap.c:399 +#: access/brin/brin_revmap.c:383 access/brin/brin_revmap.c:389 #, c-format msgid "corrupted BRIN index: inconsistent range map" msgstr "trasigt BRIN-index: inkonsistent intervall-map" -#: access/brin/brin_revmap.c:593 +#: access/brin/brin_revmap.c:583 #, c-format msgid "unexpected page type 0x%04X in BRIN index \"%s\" block %u" msgstr "oväntad sidtyp 0x%04X i BRIN-index \"%s\" block %u" -#: access/brin/brin_validate.c:118 access/gin/ginvalidate.c:151 -#: access/gist/gistvalidate.c:153 access/hash/hashvalidate.c:139 +#: access/brin/brin_validate.c:118 access/gin/ginvalidate.c:149 +#: access/gist/gistvalidate.c:152 access/hash/hashvalidate.c:139 #: access/nbtree/nbtvalidate.c:120 access/spgist/spgvalidate.c:189 #, c-format msgid "operator family \"%s\" of access method %s contains function %s with invalid support number %d" msgstr "operatorfamilj \"%s\" för accessmetod %s innehåller funktion %s med ogiltigt supportnummer %d" -#: access/brin/brin_validate.c:134 access/gin/ginvalidate.c:163 -#: access/gist/gistvalidate.c:165 access/hash/hashvalidate.c:118 +#: access/brin/brin_validate.c:134 access/gin/ginvalidate.c:161 +#: access/gist/gistvalidate.c:164 access/hash/hashvalidate.c:118 #: access/nbtree/nbtvalidate.c:132 access/spgist/spgvalidate.c:201 #, c-format msgid "operator family \"%s\" of access method %s contains function %s with wrong signature for support number %d" msgstr "operatorfamilj \"%s\" för accessmetod %s innehåller funktion %s med felaktig signatur för supportnummer %d" -#: access/brin/brin_validate.c:156 access/gin/ginvalidate.c:182 -#: access/gist/gistvalidate.c:185 access/hash/hashvalidate.c:160 +#: access/brin/brin_validate.c:156 access/gin/ginvalidate.c:180 +#: access/gist/gistvalidate.c:184 access/hash/hashvalidate.c:160 #: access/nbtree/nbtvalidate.c:152 access/spgist/spgvalidate.c:221 #, c-format msgid "operator family \"%s\" of access method %s contains operator %s with invalid strategy number %d" msgstr "operatorfamilj \"%s\" för accessmetod %s innehåller operator %s med ogiltigt strateginummer %d" -#: access/brin/brin_validate.c:185 access/gin/ginvalidate.c:195 +#: access/brin/brin_validate.c:185 access/gin/ginvalidate.c:193 #: access/hash/hashvalidate.c:173 access/nbtree/nbtvalidate.c:165 #: access/spgist/spgvalidate.c:237 #, c-format msgid "operator family \"%s\" of access method %s contains invalid ORDER BY specification for operator %s" msgstr "operatorfamilj \"%s\" för accessmetod %s innehåller ogiltig ORDER BY-specifikatioon för operator %s" -#: access/brin/brin_validate.c:198 access/gin/ginvalidate.c:208 -#: access/gist/gistvalidate.c:233 access/hash/hashvalidate.c:186 +#: access/brin/brin_validate.c:198 access/gin/ginvalidate.c:206 +#: access/gist/gistvalidate.c:232 access/hash/hashvalidate.c:186 #: access/nbtree/nbtvalidate.c:178 access/spgist/spgvalidate.c:253 #, c-format msgid "operator family \"%s\" of access method %s contains operator %s with wrong signature" @@ -829,38 +1022,38 @@ msgstr "operatorfamilj \"%s\" för accessmetod %s saknas supportfunktion(er) f msgid "operator class \"%s\" of access method %s is missing operator(s)" msgstr "operatorklass \"%s\" för accessmetoden %s saknar operator(er)" -#: access/brin/brin_validate.c:270 access/gin/ginvalidate.c:250 -#: access/gist/gistvalidate.c:274 +#: access/brin/brin_validate.c:270 access/gin/ginvalidate.c:248 +#: access/gist/gistvalidate.c:273 #, c-format msgid "operator class \"%s\" of access method %s is missing support function %d" msgstr "operatorklass \"%s\" för accessmetod %s saknar supportfunktion %d" -#: access/common/attmap.c:122 +#: access/common/attmap.c:121 #, c-format msgid "Returned type %s does not match expected type %s in column %d." msgstr "Returnerad typ %s matchar inte förväntad type %s i kolumn %d." -#: access/common/attmap.c:150 +#: access/common/attmap.c:149 #, c-format msgid "Number of returned columns (%d) does not match expected column count (%d)." msgstr "Antalet returnerade kolumner (%d) matchar inte förväntat antal kolumner (%d)." -#: access/common/attmap.c:234 access/common/attmap.c:246 +#: access/common/attmap.c:233 access/common/attmap.c:245 #, c-format msgid "could not convert row type" msgstr "kunde inte konvertera radtypen" -#: access/common/attmap.c:235 +#: access/common/attmap.c:234 #, c-format msgid "Attribute \"%s\" of type %s does not match corresponding attribute of type %s." msgstr "Attribut \"%s\" för typ %s matchar inte motsvarande attribut för typ %s." -#: access/common/attmap.c:247 +#: access/common/attmap.c:246 #, c-format msgid "Attribute \"%s\" of type %s does not exist in type %s." msgstr "Attribut \"%s\" i typ %s finns inte i typ %s." -#: access/common/heaptuple.c:1124 access/common/heaptuple.c:1459 +#: access/common/heaptuple.c:1132 access/common/heaptuple.c:1467 #, c-format msgid "number of columns (%d) exceeds limit (%d)" msgstr "antalet kolumner (%d) överskrider gränsen (%d)" @@ -870,122 +1063,110 @@ msgstr "antalet kolumner (%d) överskrider gränsen (%d)" msgid "number of index columns (%d) exceeds limit (%d)" msgstr "antalet indexerade kolumner (%d) överskrider gränsen (%d)" -#: access/common/indextuple.c:209 access/spgist/spgutils.c:950 +#: access/common/indextuple.c:209 access/spgist/spgutils.c:970 #, c-format msgid "index row requires %zu bytes, maximum size is %zu" msgstr "indexrad kräver %zu byte, maximal storlek är %zu" -#: access/common/printtup.c:292 tcop/fastpath.c:107 tcop/fastpath.c:454 -#: tcop/postgres.c:1944 +#: access/common/printtup.c:292 commands/explain.c:5376 tcop/fastpath.c:107 +#: tcop/fastpath.c:454 tcop/postgres.c:1956 #, c-format msgid "unsupported format code: %d" msgstr "ej stödd formatkod: %d" -#: access/common/reloptions.c:521 access/common/reloptions.c:532 +#: access/common/reloptions.c:519 access/common/reloptions.c:530 msgid "Valid values are \"on\", \"off\", and \"auto\"." msgstr "Giltiga värden är \"on\", \"off\" och \"auto\"." -#: access/common/reloptions.c:543 +#: access/common/reloptions.c:541 msgid "Valid values are \"local\" and \"cascaded\"." msgstr "Giltiga värden är \"local\" och \"cascaded\"." -#: access/common/reloptions.c:691 +#: access/common/reloptions.c:689 #, c-format msgid "user-defined relation parameter types limit exceeded" msgstr "överskriden gräns för användardefinierade relationsparametertyper" -#: access/common/reloptions.c:1233 +#: access/common/reloptions.c:1231 #, c-format msgid "RESET must not include values for parameters" msgstr "RESET får inte ha med värden på parametrar" -#: access/common/reloptions.c:1265 +#: access/common/reloptions.c:1263 #, c-format msgid "unrecognized parameter namespace \"%s\"" msgstr "okänd parameternamnrymd \"%s\"" -#: access/common/reloptions.c:1302 commands/variable.c:1167 +#: access/common/reloptions.c:1300 commands/variable.c:1191 #, c-format msgid "tables declared WITH OIDS are not supported" msgstr "tabeller deklarerade med WITH OIDS stöds inte" -#: access/common/reloptions.c:1470 +#: access/common/reloptions.c:1468 #, c-format msgid "unrecognized parameter \"%s\"" msgstr "okänd parameter \"%s\"" -#: access/common/reloptions.c:1582 +#: access/common/reloptions.c:1580 #, c-format msgid "parameter \"%s\" specified more than once" msgstr "parameter \"%s\" angiven mer än en gång" -#: access/common/reloptions.c:1598 +#: access/common/reloptions.c:1596 #, c-format msgid "invalid value for boolean option \"%s\": %s" msgstr "ogiltigt värde för booleansk flagga \"%s\": \"%s\"" -#: access/common/reloptions.c:1610 +#: access/common/reloptions.c:1608 #, c-format msgid "invalid value for integer option \"%s\": %s" msgstr "ogiltigt värde för heltalsflagga \"%s\": \"%s\"" -#: access/common/reloptions.c:1616 access/common/reloptions.c:1636 +#: access/common/reloptions.c:1614 access/common/reloptions.c:1634 #, c-format msgid "value %s out of bounds for option \"%s\"" msgstr "värdet %s är utanför sitt intervall för flaggan \"%s\"" -#: access/common/reloptions.c:1618 +#: access/common/reloptions.c:1616 #, c-format msgid "Valid values are between \"%d\" and \"%d\"." msgstr "Giltiga värden är mellan \"%d\" och \"%d\"." -#: access/common/reloptions.c:1630 +#: access/common/reloptions.c:1628 #, c-format msgid "invalid value for floating point option \"%s\": %s" msgstr "ogiltigt värde för flyttalsflagga \"%s\": %s" -#: access/common/reloptions.c:1638 +#: access/common/reloptions.c:1636 #, c-format msgid "Valid values are between \"%f\" and \"%f\"." msgstr "Giltiga värden är mellan \"%f\" och \"%f\"." -#: access/common/reloptions.c:1660 +#: access/common/reloptions.c:1658 #, c-format msgid "invalid value for enum option \"%s\": %s" msgstr "ogiltigt värde för enum-flagga \"%s\": %s" -#: access/common/reloptions.c:1991 +#: access/common/reloptions.c:1989 #, c-format msgid "cannot specify storage parameters for a partitioned table" msgstr "kan inte ange lagringsparametrar för partitionerad tabell" -#: access/common/reloptions.c:1992 +#: access/common/reloptions.c:1990 #, c-format msgid "Specify storage parameters for its leaf partitions instead." msgstr "Ange lagringsparametrar för dess löv-partition istället." -#: access/common/toast_compression.c:33 +#: access/common/toast_compression.c:31 #, c-format msgid "compression method lz4 not supported" msgstr "komprimeringsmetod lz4 stöds ej" -#: access/common/toast_compression.c:34 +#: access/common/toast_compression.c:32 #, c-format msgid "This functionality requires the server to be built with lz4 support." msgstr "Denna funktionalitet kräver att servern byggts med lz4-stöd." -#: access/common/tupdesc.c:837 commands/tablecmds.c:6953 -#: commands/tablecmds.c:12973 -#, c-format -msgid "too many array dimensions" -msgstr "för många array-dimensioner" - -#: access/common/tupdesc.c:842 parser/parse_clause.c:772 -#: parser/parse_relation.c:1913 -#, c-format -msgid "column \"%s\" cannot be declared SETOF" -msgstr "kolumn \"%s\" kan inte deklareras som SETOF" - #: access/gin/ginbulk.c:44 #, c-format msgid "posting list is too long" @@ -993,8 +1174,8 @@ msgstr "post-listan är för lång" #: access/gin/ginbulk.c:45 #, c-format -msgid "Reduce maintenance_work_mem." -msgstr "Minska maintenance_work_mem." +msgid "Reduce \"maintenance_work_mem\"." +msgstr "Minska \"maintenance_work_mem\"." #: access/gin/ginfast.c:1041 #, c-format @@ -1011,7 +1192,7 @@ msgstr "\"%s\" är inte ett GIN-index" msgid "cannot access temporary indexes of other sessions" msgstr "kan inte flytta temporära index tillhörande andra sessioner" -#: access/gin/ginget.c:273 access/nbtree/nbtinsert.c:762 +#: access/gin/ginget.c:271 access/nbtree/nbtinsert.c:762 #, c-format msgid "failed to re-find tuple within index \"%s\"" msgstr "misslyckades att återfinna tuple i index \"%s\"" @@ -1026,50 +1207,50 @@ msgstr "gamla GIN-index stöder inte hela-index-scan eller sökningar efter null msgid "To fix this, do REINDEX INDEX \"%s\"." msgstr "För att fixa detta, kör REINDEX INDEX \"%s\"." -#: access/gin/ginutil.c:146 executor/execExpr.c:2169 -#: utils/adt/arrayfuncs.c:3996 utils/adt/arrayfuncs.c:6683 -#: utils/adt/rowtypes.c:984 +#: access/gin/ginutil.c:147 executor/execExpr.c:2192 +#: utils/adt/arrayfuncs.c:4016 utils/adt/arrayfuncs.c:6712 +#: utils/adt/rowtypes.c:974 #, c-format msgid "could not identify a comparison function for type %s" msgstr "kunde inte hitta någon jämförelsefunktion för typen %s" -#: access/gin/ginvalidate.c:92 access/gist/gistvalidate.c:93 +#: access/gin/ginvalidate.c:90 access/gist/gistvalidate.c:92 #: access/hash/hashvalidate.c:102 access/spgist/spgvalidate.c:102 #, c-format msgid "operator family \"%s\" of access method %s contains support function %s with different left and right input types" msgstr "operatorfamilj \"%s\" för accessmetod %s innehåller supportfunktion %s med olika vänster- och höger-inputtyper" -#: access/gin/ginvalidate.c:260 +#: access/gin/ginvalidate.c:258 #, c-format msgid "operator class \"%s\" of access method %s is missing support function %d or %d" msgstr "operatorklass \"%s\" för accessmetod \"%s\" saknar supportfunktion %d eller %d" -#: access/gin/ginvalidate.c:333 access/gist/gistvalidate.c:350 +#: access/gin/ginvalidate.c:331 access/gist/gistvalidate.c:349 #: access/spgist/spgvalidate.c:387 #, c-format msgid "support function number %d is invalid for access method %s" msgstr "supportfunktionsnummer %d är ogiltig för accessmetod %s" -#: access/gist/gist.c:759 access/gist/gistvacuum.c:426 +#: access/gist/gist.c:760 access/gist/gistvacuum.c:426 #, c-format msgid "index \"%s\" contains an inner tuple marked as invalid" msgstr "index \"%s\" innehåller en inre tupel som är markerad ogiltig" -#: access/gist/gist.c:761 access/gist/gistvacuum.c:428 +#: access/gist/gist.c:762 access/gist/gistvacuum.c:428 #, c-format msgid "This is caused by an incomplete page split at crash recovery before upgrading to PostgreSQL 9.1." msgstr "Detta orsakas av en inkomplett siduppdelning under krashåterställning körd innan uppdatering till PostgreSQL 9.1." -#: access/gist/gist.c:762 access/gist/gistutil.c:801 access/gist/gistutil.c:812 -#: access/gist/gistvacuum.c:429 access/hash/hashutil.c:227 -#: access/hash/hashutil.c:238 access/hash/hashutil.c:250 -#: access/hash/hashutil.c:271 access/nbtree/nbtpage.c:813 +#: access/gist/gist.c:763 access/gist/gistutil.c:800 access/gist/gistutil.c:811 +#: access/gist/gistvacuum.c:429 access/hash/hashutil.c:226 +#: access/hash/hashutil.c:237 access/hash/hashutil.c:249 +#: access/hash/hashutil.c:270 access/nbtree/nbtpage.c:813 #: access/nbtree/nbtpage.c:824 #, c-format msgid "Please REINDEX it." msgstr "Var vänlig och kör REINDEX på det." -#: access/gist/gist.c:1176 +#: access/gist/gist.c:1196 #, c-format msgid "fixing incomplete split in index \"%s\", block %u" msgstr "lagar ofärdig split i index \"%s\", block %u" @@ -1084,52 +1265,52 @@ msgstr "picksplit-metod för kolumn %d i index \"%s\" misslyckades" msgid "The index is not optimal. To optimize it, contact a developer, or try to use the column as the second one in the CREATE INDEX command." msgstr "Indexet är inte optimalt. För att optimera det, kontakta en utvecklare eller försök använda kolumnen som det andra värdet i CREATE INDEX-kommandot." -#: access/gist/gistutil.c:798 access/hash/hashutil.c:224 +#: access/gist/gistutil.c:797 access/hash/hashutil.c:223 #: access/nbtree/nbtpage.c:810 #, c-format msgid "index \"%s\" contains unexpected zero page at block %u" msgstr "index \"%s\" innehåller en oväntad nollställd sida vid block %u" -#: access/gist/gistutil.c:809 access/hash/hashutil.c:235 -#: access/hash/hashutil.c:247 access/nbtree/nbtpage.c:821 +#: access/gist/gistutil.c:808 access/hash/hashutil.c:234 +#: access/hash/hashutil.c:246 access/nbtree/nbtpage.c:821 #, c-format msgid "index \"%s\" contains corrupted page at block %u" msgstr "index \"%s\" har en trasig sida vid block %u" -#: access/gist/gistvalidate.c:203 +#: access/gist/gistvalidate.c:202 #, c-format msgid "operator family \"%s\" of access method %s contains unsupported ORDER BY specification for operator %s" msgstr "operatorfamiljen \"%s\" för accessmetod %s innehåller en ORDER BY som inte stöds för operator %s" -#: access/gist/gistvalidate.c:214 +#: access/gist/gistvalidate.c:213 #, c-format msgid "operator family \"%s\" of access method %s contains incorrect ORDER BY opfamily specification for operator %s" msgstr "operatorfamiljen \"%s\" för accessmetod %s innehåller en inkorrekt ORDER BY \"opfamiily\"-specifikation för operator %s" -#: access/hash/hashfunc.c:279 access/hash/hashfunc.c:333 -#: utils/adt/varchar.c:1009 utils/adt/varchar.c:1064 +#: access/hash/hashfunc.c:277 access/hash/hashfunc.c:333 +#: utils/adt/varchar.c:1008 utils/adt/varchar.c:1065 #, c-format msgid "could not determine which collation to use for string hashing" msgstr "kunde inte bestämma vilken jämförelse (collation) som skall användas för sträng-hashning" -#: access/hash/hashfunc.c:280 access/hash/hashfunc.c:334 catalog/heap.c:668 -#: catalog/heap.c:674 commands/createas.c:206 commands/createas.c:515 -#: commands/indexcmds.c:2039 commands/tablecmds.c:17462 commands/view.c:86 -#: regex/regc_pg_locale.c:243 utils/adt/formatting.c:1648 -#: utils/adt/formatting.c:1770 utils/adt/formatting.c:1893 utils/adt/like.c:191 -#: utils/adt/like_support.c:1025 utils/adt/varchar.c:739 -#: utils/adt/varchar.c:1010 utils/adt/varchar.c:1065 utils/adt/varlena.c:1518 +#: access/hash/hashfunc.c:278 access/hash/hashfunc.c:334 catalog/heap.c:672 +#: catalog/heap.c:678 commands/createas.c:201 commands/createas.c:508 +#: commands/indexcmds.c:2048 commands/tablecmds.c:18068 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 +#: utils/adt/varchar.c:1009 utils/adt/varchar.c:1066 utils/adt/varlena.c:1521 #, c-format msgid "Use the COLLATE clause to set the collation explicitly." msgstr "Använd en COLLATE-klausul för att sätta jämförelsen explicit." -#: access/hash/hashinsert.c:86 +#: access/hash/hashinsert.c:84 #, c-format msgid "index row size %zu exceeds hash maximum %zu" msgstr "indexradstorlek %zu överstiger hash-maximum %zu" -#: access/hash/hashinsert.c:88 access/spgist/spgdoinsert.c:2006 -#: access/spgist/spgdoinsert.c:2283 access/spgist/spgutils.c:1011 +#: access/hash/hashinsert.c:86 access/spgist/spgdoinsert.c:2005 +#: access/spgist/spgdoinsert.c:2282 access/spgist/spgutils.c:1031 #, c-format msgid "Values larger than a buffer page cannot be indexed." msgstr "Värden större än en buffert-sida kan inte indexeras." @@ -1144,17 +1325,17 @@ msgstr "ogiltigt overflow-blocknummer %u" msgid "out of overflow pages in hash index \"%s\"" msgstr "slut på överspillsidor i hash-index \"%s\"" -#: access/hash/hashsearch.c:315 +#: access/hash/hashsearch.c:311 #, c-format msgid "hash indexes do not support whole-index scans" msgstr "hash-index stöder inte hela-index-scans" -#: access/hash/hashutil.c:263 +#: access/hash/hashutil.c:262 #, c-format msgid "index \"%s\" is not a hash index" msgstr "index \"%s\" är inte ett hashträd" -#: access/hash/hashutil.c:269 +#: access/hash/hashutil.c:268 #, c-format msgid "index \"%s\" has wrong hash version" msgstr "index \"%s\" har fel hash-version" @@ -1169,228 +1350,229 @@ msgstr "operatorfamilj \"%s\" för accessmetod %s saknar supportfunktion för op 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:2027 +#: access/heap/heapam.c:2195 #, 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:2546 +#: access/heap/heapam.c:2714 #, c-format msgid "cannot delete tuples during a parallel operation" msgstr "kan inte radera tupler under en parallell operation" -#: access/heap/heapam.c:2593 +#: access/heap/heapam.c:2761 #, c-format msgid "attempted to delete invisible tuple" msgstr "försökte ta bort en osynlig tuple" -#: access/heap/heapam.c:3036 access/heap/heapam.c:5903 +#: access/heap/heapam.c:3209 access/heap/heapam.c:6082 #, c-format msgid "cannot update tuples during a parallel operation" msgstr "kan inte uppdatera tupler under en parallell operation" -#: access/heap/heapam.c:3164 +#: access/heap/heapam.c:3337 #, c-format msgid "attempted to update invisible tuple" msgstr "försökte uppdatera en osynlig tuple" -#: access/heap/heapam.c:4551 access/heap/heapam.c:4589 -#: access/heap/heapam.c:4854 access/heap/heapam_handler.c:467 +#: access/heap/heapam.c:4726 access/heap/heapam.c:4764 +#: access/heap/heapam.c:5029 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_handler.c:412 +#: access/heap/heapam_handler.c:413 #, c-format msgid "tuple to be locked was already moved to another partition due to concurrent update" msgstr "tupel som skall låsas har redan flyttats till en annan partition av en samtida uppdatering" -#: access/heap/hio.c:536 access/heap/rewriteheap.c:659 +#: access/heap/hio.c:535 access/heap/rewriteheap.c:640 #, c-format msgid "row is too big: size %zu, maximum size %zu" msgstr "raden är för stor: storlek %zu, maximal storlek %zu" -#: access/heap/rewriteheap.c:919 +#: access/heap/rewriteheap.c:885 #, c-format msgid "could not write to file \"%s\", wrote %d of %d: %m" msgstr "kunde inte skriva till fil \"%s\", skrev %d av %d: %m." -#: access/heap/rewriteheap.c:1011 access/heap/rewriteheap.c:1128 +#: access/heap/rewriteheap.c:977 access/heap/rewriteheap.c:1094 #: access/transam/timeline.c:329 access/transam/timeline.c:481 -#: access/transam/xlog.c:2971 access/transam/xlog.c:3162 -#: access/transam/xlog.c:3938 access/transam/xlog.c:8744 -#: access/transam/xlogfuncs.c:702 backup/basebackup_server.c:151 -#: backup/basebackup_server.c:244 commands/dbcommands.c:518 -#: postmaster/postmaster.c:4557 postmaster/postmaster.c:5560 -#: replication/logical/origin.c:603 replication/slot.c:1777 -#: storage/file/copydir.c:157 storage/smgr/md.c:232 utils/time/snapmgr.c:1263 +#: access/transam/xlog.c:3254 access/transam/xlog.c:3445 +#: access/transam/xlog.c:4282 access/transam/xlog.c:9244 +#: 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:4112 +#: postmaster/walsummarizer.c:1212 replication/logical/origin.c:603 +#: replication/slot.c:2059 storage/file/copydir.c:157 storage/smgr/md.c:230 +#: utils/time/snapmgr.c:1234 #, c-format msgid "could not create file \"%s\": %m" msgstr "kunde inte skapa fil \"%s\": %m" -#: access/heap/rewriteheap.c:1138 +#: access/heap/rewriteheap.c:1104 #, c-format msgid "could not truncate file \"%s\" to %u: %m" msgstr "kunde inte trunkera fil \"%s\" till %u: %m" -#: access/heap/rewriteheap.c:1156 access/transam/timeline.c:384 +#: access/heap/rewriteheap.c:1122 access/transam/timeline.c:384 #: access/transam/timeline.c:424 access/transam/timeline.c:498 -#: access/transam/xlog.c:3021 access/transam/xlog.c:3218 -#: access/transam/xlog.c:3950 commands/dbcommands.c:530 -#: postmaster/postmaster.c:4567 postmaster/postmaster.c:4577 +#: access/transam/xlog.c:3304 access/transam/xlog.c:3501 +#: access/transam/xlog.c:4294 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:1767 -#: replication/slot.c:1812 storage/file/buffile.c:545 -#: storage/file/copydir.c:197 utils/init/miscinit.c:1605 -#: utils/init/miscinit.c:1616 utils/init/miscinit.c:1624 utils/misc/guc.c:4331 -#: utils/misc/guc.c:4362 utils/misc/guc.c:5490 utils/misc/guc.c:5508 -#: utils/time/snapmgr.c:1268 utils/time/snapmgr.c:1275 +#: 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:1601 +#: utils/init/miscinit.c:1612 utils/init/miscinit.c:1620 utils/misc/guc.c:4450 +#: utils/misc/guc.c:4481 utils/misc/guc.c:5634 utils/misc/guc.c:5652 +#: utils/time/snapmgr.c:1239 utils/time/snapmgr.c:1246 #, c-format msgid "could not write to file \"%s\": %m" msgstr "kunde inte skriva till fil \"%s\": %m" -#: access/heap/vacuumlazy.c:482 +#: access/heap/vacuumlazy.c:473 #, c-format msgid "aggressively vacuuming \"%s.%s.%s\"" msgstr "aggressiv vaccum av \"%s.%s.%s\"" -#: access/heap/vacuumlazy.c:487 +#: access/heap/vacuumlazy.c:478 #, c-format msgid "vacuuming \"%s.%s.%s\"" msgstr "kör vaccum på \"%s.%s.%s\"" -#: access/heap/vacuumlazy.c:635 +#: access/heap/vacuumlazy.c:626 #, c-format msgid "finished vacuuming \"%s.%s.%s\": index scans: %d\n" msgstr "avslutade vacuum av \"%s.%s.%s\": indexskanningar: %d\n" -#: access/heap/vacuumlazy.c:646 +#: access/heap/vacuumlazy.c:637 #, c-format msgid "automatic aggressive vacuum to prevent wraparound of table \"%s.%s.%s\": index scans: %d\n" msgstr "automatisk aggressiv vacuum för att förhindra \"wraparound\" av tabell \"%s.%s.%s\": indexskanningar: %d\n" -#: access/heap/vacuumlazy.c:648 +#: access/heap/vacuumlazy.c:639 #, c-format msgid "automatic vacuum to prevent wraparound of table \"%s.%s.%s\": index scans: %d\n" msgstr "automatisk vacuum för att förhindra \"wraparound\" av tabell \"%s.%s.%s\": indexskanningar: %d\n" -#: access/heap/vacuumlazy.c:653 +#: access/heap/vacuumlazy.c:644 #, c-format msgid "automatic aggressive vacuum of table \"%s.%s.%s\": index scans: %d\n" msgstr "automatisk vacuum av tabell \"%s.%s.%s\": indexskanningar: %d\n" -#: access/heap/vacuumlazy.c:655 +#: access/heap/vacuumlazy.c:646 #, c-format msgid "automatic vacuum of table \"%s.%s.%s\": index scans: %d\n" msgstr "automatisk vacuum av tabell \"%s.%s.%s\": indexskanningar: %d\n" -#: access/heap/vacuumlazy.c:662 +#: access/heap/vacuumlazy.c:653 #, c-format msgid "pages: %u removed, %u remain, %u scanned (%.2f%% of total)\n" msgstr "sidor: %u borttagna, %u kvar, %u skannade (%-2f%% av totala antalet)\n" -#: access/heap/vacuumlazy.c:669 +#: access/heap/vacuumlazy.c:660 #, c-format msgid "tuples: %lld removed, %lld remain, %lld are dead but not yet removable\n" msgstr "tupler: %lld borttagna, %lld kvar, %lld är döda men ännu inte möjliga att ta bort\n" -#: access/heap/vacuumlazy.c:675 +#: access/heap/vacuumlazy.c:666 #, c-format msgid "tuples missed: %lld dead from %u pages not removed due to cleanup lock contention\n" msgstr "tupler missade: %lld döda från %u sidor som inte tagits bort på grund av låstvister vid städning\n" -#: access/heap/vacuumlazy.c:681 +#: access/heap/vacuumlazy.c:672 #, c-format msgid "removable cutoff: %u, which was %d XIDs old when operation ended\n" msgstr "gräns för borttagning: %u, som var %d XID:er gammal när operationen avslutades\n" -#: access/heap/vacuumlazy.c:688 +#: access/heap/vacuumlazy.c:679 #, c-format msgid "new relfrozenxid: %u, which is %d XIDs ahead of previous value\n" msgstr "ny relfrozenxid: %u, som är %d XID:er före tidigare värde\n" -#: access/heap/vacuumlazy.c:696 +#: access/heap/vacuumlazy.c:687 #, c-format msgid "new relminmxid: %u, which is %d MXIDs ahead of previous value\n" msgstr "ny relminmxid: %u, som är %d MXID:er för tidigare värde\n" -#: access/heap/vacuumlazy.c:699 +#: access/heap/vacuumlazy.c:690 #, c-format msgid "frozen: %u pages from table (%.2f%% of total) had %lld tuples frozen\n" msgstr "frysta: %u sidor i tabellen (%.2f%% av totalt) hade %lld frysta tupler\n" -#: access/heap/vacuumlazy.c:707 +#: access/heap/vacuumlazy.c:698 msgid "index scan not needed: " msgstr "index-scan behövdes inte: " -#: access/heap/vacuumlazy.c:709 +#: access/heap/vacuumlazy.c:700 msgid "index scan needed: " msgstr "index-scan behövdes: " -#: access/heap/vacuumlazy.c:711 +#: access/heap/vacuumlazy.c:702 #, c-format msgid "%u pages from table (%.2f%% of total) had %lld dead item identifiers removed\n" msgstr "%u sidor i tabell (%.2f%% av totalt) hade %lld döda postidentifierare borttagna\n" -#: access/heap/vacuumlazy.c:716 +#: access/heap/vacuumlazy.c:707 msgid "index scan bypassed: " msgstr "index-scan överhoppad: " -#: access/heap/vacuumlazy.c:718 +#: access/heap/vacuumlazy.c:709 msgid "index scan bypassed by failsafe: " msgstr "index-scan överhoppad av felsäkerhetsfunktion: " -#: access/heap/vacuumlazy.c:720 +#: access/heap/vacuumlazy.c:711 #, c-format msgid "%u pages from table (%.2f%% of total) have %lld dead item identifiers\n" msgstr "%u sidor från tabell (%.2f%% totalt) har %lld döda postidentifierare\n" -#: access/heap/vacuumlazy.c:735 +#: access/heap/vacuumlazy.c:726 #, c-format msgid "index \"%s\": pages: %u in total, %u newly deleted, %u currently deleted, %u reusable\n" msgstr "index \"%s\": sidor: %u totalt, %u tidigare borttagna, %u nuvarande borttagna, %u återanvändbara\n" -#: access/heap/vacuumlazy.c:747 commands/analyze.c:796 +#: access/heap/vacuumlazy.c:738 commands/analyze.c:794 #, c-format msgid "I/O timings: read: %.3f ms, write: %.3f ms\n" msgstr "I/O-timing: läs: %.3f ms, skriv: %.3f ms\n" -#: access/heap/vacuumlazy.c:757 commands/analyze.c:799 +#: access/heap/vacuumlazy.c:748 commands/analyze.c:797 #, c-format msgid "avg read rate: %.3f MB/s, avg write rate: %.3f MB/s\n" msgstr "snitt läshastighet: %.3f MB/s, snitt skrivhastighet: %.3f MB/s\n" -#: access/heap/vacuumlazy.c:760 commands/analyze.c:801 +#: access/heap/vacuumlazy.c:751 commands/analyze.c:799 #, c-format msgid "buffer usage: %lld hits, %lld misses, %lld dirtied\n" msgstr "bufferanvändning: %lld träffar, %lld missar, %lld nersmutsade\n" -#: access/heap/vacuumlazy.c:765 +#: access/heap/vacuumlazy.c:756 #, c-format msgid "WAL usage: %lld records, %lld full page images, %llu bytes\n" msgstr "WAL-användning: %lld poster, %lld hela sidor, %llu bytes\n" -#: access/heap/vacuumlazy.c:769 commands/analyze.c:805 +#: access/heap/vacuumlazy.c:760 commands/analyze.c:803 #, c-format msgid "system usage: %s" msgstr "systemanvändning: %s" -#: access/heap/vacuumlazy.c:2482 +#: access/heap/vacuumlazy.c:2172 #, c-format msgid "table \"%s\": removed %lld dead item identifiers in %u pages" msgstr "tabell \"%s\": tog bort %lld döda postidentifierare i %u sidor" -#: access/heap/vacuumlazy.c:2642 +#: access/heap/vacuumlazy.c:2326 #, c-format msgid "bypassing nonessential maintenance of table \"%s.%s.%s\" as a failsafe after %d index scans" msgstr "hoppar över ej nödvändigt underhåll av tabell \"%s.%s.%s\" som skyddsåtgärd efter %d index-scan" -#: access/heap/vacuumlazy.c:2645 +#: access/heap/vacuumlazy.c:2329 #, c-format msgid "The table's relfrozenxid or relminmxid is too far in the past." msgstr "Tabellens relfrozenxid eller relminmxid är för långt bak i tiden." -#: access/heap/vacuumlazy.c:2646 +#: access/heap/vacuumlazy.c:2330 #, c-format msgid "" "Consider increasing configuration parameter \"maintenance_work_mem\" or \"autovacuum_work_mem\".\n" @@ -1399,67 +1581,67 @@ msgstr "" "Överväg att öka konfigurationsparametern \"maintenance_work_mem\" eller \"autovacuum_work_mem\".\n" "Du kan också överväga andra metoder för att VACUUM skall hinna med allokeringen av transactions-ID." -#: access/heap/vacuumlazy.c:2891 +#: access/heap/vacuumlazy.c:2592 #, c-format msgid "\"%s\": stopping truncate due to conflicting lock request" msgstr "\"%s\": stoppar trunkering pga konfliktande låskrav" -#: access/heap/vacuumlazy.c:2961 +#: access/heap/vacuumlazy.c:2662 #, c-format msgid "table \"%s\": truncated %u to %u pages" msgstr "tabell \"%s\": trunkerade %u till %u sidor" -#: access/heap/vacuumlazy.c:3023 +#: access/heap/vacuumlazy.c:2724 #, c-format msgid "table \"%s\": suspending truncate due to conflicting lock request" msgstr "tabell \"%s\": pausar trunkering pga konfliktande låskrav" -#: access/heap/vacuumlazy.c:3183 +#: access/heap/vacuumlazy.c:2843 #, c-format 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:3399 +#: access/heap/vacuumlazy.c:3113 #, 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:3402 +#: access/heap/vacuumlazy.c:3116 #, 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:3406 +#: access/heap/vacuumlazy.c:3120 #, c-format msgid "while scanning relation \"%s.%s\"" msgstr "vid skanning av relation \"%s.%s\"" -#: access/heap/vacuumlazy.c:3414 +#: access/heap/vacuumlazy.c:3128 #, 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:3417 +#: access/heap/vacuumlazy.c:3131 #, 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:3421 +#: access/heap/vacuumlazy.c:3135 #, c-format msgid "while vacuuming relation \"%s.%s\"" msgstr "vid vacuum av relation \"%s.%s\"" -#: access/heap/vacuumlazy.c:3426 commands/vacuumparallel.c:1074 +#: access/heap/vacuumlazy.c:3140 commands/vacuumparallel.c:1113 #, 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:3431 commands/vacuumparallel.c:1080 +#: access/heap/vacuumlazy.c:3145 commands/vacuumparallel.c:1119 #, 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:3437 +#: access/heap/vacuumlazy.c:3151 #, c-format msgid "while truncating relation \"%s.%s\" to %u blocks" msgstr "vid trunkering av relation \"%s.%s\" till %u block" @@ -1474,19 +1656,24 @@ msgstr "accessmetod \"%s\" har inte typ %s" msgid "index access method \"%s\" does not have a handler" msgstr "indexaccessmetod \"%s\" har ingen hanterare" -#: access/index/genam.c:490 +#: access/index/genam.c:487 #, c-format msgid "transaction aborted during system catalog scan" msgstr "transaktionen avbruten under scan av systemkatalog" -#: access/index/indexam.c:142 catalog/objectaddress.c:1394 -#: commands/indexcmds.c:2867 commands/tablecmds.c:272 commands/tablecmds.c:296 -#: commands/tablecmds.c:17163 commands/tablecmds.c:18935 +#: access/index/genam.c:655 access/index/indexam.c:82 +#, c-format +msgid "cannot access index \"%s\" while it is being reindexed" +msgstr "kan inte använda index \"%s\" som håller på att indexeras om" + +#: access/index/indexam.c:203 catalog/objectaddress.c:1356 +#: commands/indexcmds.c:2878 commands/tablecmds.c:281 commands/tablecmds.c:305 +#: commands/tablecmds.c:17763 commands/tablecmds.c:19574 #, c-format msgid "\"%s\" is not an index" msgstr "\"%s\" är inte ett index" -#: access/index/indexam.c:979 +#: access/index/indexam.c:1028 #, c-format msgid "operator class %s has no options" msgstr "operatorklass %s har inga flaggor" @@ -1507,7 +1694,7 @@ msgid "This may be because of a non-immutable index expression." msgstr "Det kan bero på ett icke-immutable indexuttryck." #: access/nbtree/nbtpage.c:157 access/nbtree/nbtpage.c:611 -#: parser/parse_utilcmd.c:2317 +#: parser/parse_utilcmd.c:2323 #, c-format msgid "index \"%s\" is not a btree" msgstr "index \"%s\" är inte ett btree" @@ -1517,27 +1704,27 @@ msgstr "index \"%s\" är inte ett btree" msgid "version mismatch in index \"%s\": file version %d, current version %d, minimal supported version %d" msgstr "versionsfel i index \"%s\": filversion %d, aktuell version %d, minsta supportade version %d" -#: access/nbtree/nbtpage.c:1866 +#: access/nbtree/nbtpage.c:1861 #, c-format msgid "index \"%s\" contains a half-dead internal page" msgstr "index \"%s\" innehåller en halvdöd intern sida" -#: access/nbtree/nbtpage.c:1868 +#: access/nbtree/nbtpage.c:1863 #, c-format 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:2662 +#: access/nbtree/nbtutils.c:5102 #, 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:2668 +#: access/nbtree/nbtutils.c:5108 #, 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:2672 +#: access/nbtree/nbtutils.c:5112 #, c-format msgid "" "Values larger than 1/3 of a buffer page cannot be indexed.\n" @@ -1552,12 +1739,18 @@ msgstr "" msgid "operator family \"%s\" of access method %s is missing support function for types %s and %s" msgstr "operatorfamilj \"%s\" för accessmetod %s saknar supportfunktioner för typerna %s och %s" +#: access/sequence/sequence.c:75 access/table/table.c:145 +#: optimizer/util/plancat.c:144 +#, c-format +msgid "cannot open relation \"%s\"" +msgstr "kan inte öppna relationen \"%s\"" + #: access/spgist/spgutils.c:245 #, c-format msgid "compress method must be defined when leaf type is different from input type" msgstr "komprimeringsmetod måste definieras när lövtypen skiljer sig från indatatypen" -#: access/spgist/spgutils.c:1008 +#: access/spgist/spgutils.c:1028 #, c-format msgid "SP-GiST inner tuple size %zu exceeds maximum %zu" msgstr "SP-GiST inre tuplestorlek %zu överstiger maximala %zu" @@ -1572,314 +1765,313 @@ msgstr "SP-GiST lövdatatyp %s matchar deklarerad typ %s" msgid "operator family \"%s\" of access method %s is missing support function %d for type %s" msgstr "operatorfamilj \"%s\" för accessmetod %s saknar supportfunktion %d för typ %s" -#: access/table/table.c:145 optimizer/util/plancat.c:145 -#, c-format -msgid "cannot open relation \"%s\"" -msgstr "kan inte öppna relationen \"%s\"" - -#: access/table/tableam.c:265 +#: access/table/tableam.c:255 #, c-format msgid "tid (%u, %u) is not valid for relation \"%s\"" msgstr "tid (%u, %u) är inte giltigt för relation \"%s\"" -#: access/table/tableamapi.c:116 +#: access/table/tableamapi.c:109 #, c-format -msgid "%s cannot be empty." -msgstr "%s får inte vara tom." +msgid "\"%s\" cannot be empty." +msgstr "\"%s\" får inte vara tom." -#: access/table/tableamapi.c:123 access/transam/xlogrecovery.c:4774 +#: access/table/tableamapi.c:116 access/transam/xlogrecovery.c:4858 #, c-format -msgid "%s is too long (maximum %d characters)." -msgstr "%s är för lång (maximalt %d tecken)." +msgid "\"%s\" is too long (maximum %d characters)." +msgstr "\"%s\" är för lång (maximalt %d tecken)." -#: access/table/tableamapi.c:146 +#: access/table/tableamapi.c:139 #, c-format msgid "table access method \"%s\" does not exist" msgstr "tabellaccessmetod \"%s\" existerar inte" -#: access/table/tableamapi.c:151 +#: access/table/tableamapi.c:144 #, c-format msgid "Table access method \"%s\" does not exist." msgstr "Tabellaccessmetod \"%s\" existerar inte." -#: access/tablesample/bernoulli.c:148 access/tablesample/system.c:152 +#: access/tablesample/bernoulli.c:148 access/tablesample/system.c:151 #, c-format msgid "sample percentage must be between 0 and 100" msgstr "urvalsprocent måste vara mellan 0 och 100" -#: access/transam/commit_ts.c:279 +#: access/transam/commit_ts.c:287 #, c-format msgid "cannot retrieve commit timestamp for transaction %u" msgstr "kan inte hämta commit-tidsstämpel för transaktion %u" -#: access/transam/commit_ts.c:377 +#: access/transam/commit_ts.c:385 #, c-format msgid "could not get commit timestamp data" msgstr "kunde inte hämta commit-tidsstämpeldata" -#: access/transam/commit_ts.c:379 +#: access/transam/commit_ts.c:387 #, c-format msgid "Make sure the configuration parameter \"%s\" is set on the primary server." msgstr "Se till att konfigurationsparametern \"%s\" är satt på primär-servern." -#: access/transam/commit_ts.c:381 +#: access/transam/commit_ts.c:389 #, c-format msgid "Make sure the configuration parameter \"%s\" is set." msgstr "Se till att konfigurationsparametern \"%s\" är satt." -#: access/transam/multixact.c:1023 +#: access/transam/multixact.c:1091 #, c-format -msgid "database is not accepting commands that generate new MultiXactIds to avoid wraparound data loss in database \"%s\"" -msgstr "databasen tar inte emot kommandon som genererar nya MultiXactId:er för att förhinda dataförlust vid \"wraparound\" i databasen \"%s\"" +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:1025 access/transam/multixact.c:1032 -#: access/transam/multixact.c:1056 access/transam/multixact.c:1065 +#: 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 #, c-format msgid "" "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 "" -"Utför en hela databasen-VACUUM i den databasen.\n" +"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:1030 +#: access/transam/multixact.c:1098 #, c-format -msgid "database is not accepting commands that generate new MultiXactIds to avoid wraparound data loss in database with OID %u" -msgstr "databasen tar inte emot kommandon som genererar nya MultiXactId:er för att förhinda dataförlust vid \"wraparound\" i databasen med OID %u" +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:1051 access/transam/multixact.c:2333 +#: access/transam/multixact.c:1119 access/transam/multixact.c:2474 #, 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:1060 access/transam/multixact.c:2342 +#: access/transam/multixact.c:1128 access/transam/multixact.c:2483 #, 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:1121 +#: access/transam/multixact.c:1189 #, c-format msgid "multixact \"members\" limit exceeded" msgstr "multixact \"members\"-gräns överskriden" -#: access/transam/multixact.c:1122 +#: access/transam/multixact.c:1190 #, 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:1127 +#: access/transam/multixact.c:1195 #, 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 hela-databas-VACUUM i databas med OID %u med reducerade iställningar vacuum_multixact_freeze_min_age och vacuum_multixact_freeze_table_age." +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:1158 +#: access/transam/multixact.c:1226 #, 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:1163 +#: access/transam/multixact.c:1231 #, 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 hela-databas-VACUUM i den databasen med reducerade inställningar för vacuum_multixact_freeze_min_age och vacuum_multixact_freeze_table_age." +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:1302 +#: access/transam/multixact.c:1371 #, 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:1308 +#: access/transam/multixact.c:1377 #, 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:2338 access/transam/multixact.c:2347 -#: access/transam/varsup.c:151 access/transam/varsup.c:158 -#: access/transam/varsup.c:466 access/transam/varsup.c:473 +#: access/transam/multixact.c:2479 access/transam/multixact.c:2488 #, c-format msgid "" -"To avoid a database shutdown, execute a database-wide VACUUM in that database.\n" +"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 "" -"För att undvika att databasen stängs ner, utför en hela databas-VACCUM i den databasen.\n" +"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:2622 +#: access/transam/multixact.c:2767 #, 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:2644 +#: access/transam/multixact.c:2789 #, c-format msgid "MultiXact member wraparound protections are now enabled" msgstr "MultiXact-medlems wraparound-skydd är nu påslagen" -#: access/transam/multixact.c:3027 +#: access/transam/multixact.c:3180 #, 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:3045 +#: access/transam/multixact.c:3198 #, 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:3359 +#: access/transam/multixact.c:3517 #, c-format msgid "invalid MultiXactId: %u" msgstr "ogiltig MultiXactId: %u" -#: access/transam/parallel.c:729 access/transam/parallel.c:848 +#: access/transam/parallel.c:731 access/transam/parallel.c:850 #, c-format msgid "parallel worker failed to initialize" msgstr "parallell arbetare misslyckades med initiering" -#: access/transam/parallel.c:730 access/transam/parallel.c:849 +#: access/transam/parallel.c:732 access/transam/parallel.c:851 #, c-format msgid "More details may be available in the server log." msgstr "Fler detaljer kan finnas i serverloggen." -#: access/transam/parallel.c:910 +#: access/transam/parallel.c:912 #, c-format msgid "postmaster exited during a parallel transaction" msgstr "postmaster avslutade under en parallell transaktion" -#: access/transam/parallel.c:1097 +#: access/transam/parallel.c:1099 #, c-format msgid "lost connection to parallel worker" msgstr "tappad kopplingen till parallell arbetare" -#: access/transam/parallel.c:1163 access/transam/parallel.c:1165 +#: access/transam/parallel.c:1155 access/transam/parallel.c:1157 msgid "parallel worker" msgstr "parallell arbetare" -#: access/transam/parallel.c:1319 replication/logical/applyparallelworker.c:893 +#: access/transam/parallel.c:1327 replication/logical/applyparallelworker.c:890 #, c-format msgid "could not map dynamic shared memory segment" msgstr "kunde inte skapa dynamiskt delat minnessegment: %m" -#: access/transam/parallel.c:1324 replication/logical/applyparallelworker.c:899 +#: access/transam/parallel.c:1332 replication/logical/applyparallelworker.c:896 #, c-format msgid "invalid magic number in dynamic shared memory segment" msgstr "ogiltigt magiskt nummer i dynamiskt delat minnessegment" -#: access/transam/rmgr.c:84 +#: access/transam/rmgr.c:93 #, c-format msgid "resource manager with ID %d not registered" msgstr "resurshanterare med ID %d är inte registrerad" -#: access/transam/rmgr.c:85 +#: access/transam/rmgr.c:94 #, c-format -msgid "Include the extension module that implements this resource manager in shared_preload_libraries." -msgstr "Inkludera utökningsmodulen som implementerar denna resurshanterar i shared_preload_libraries." +msgid "Include the extension module that implements this resource manager in \"shared_preload_libraries\"." +msgstr "Inkludera utökningsmodulen som implementerar denna resurshanterare i \"shared_preload_libraries\"." -#: access/transam/rmgr.c:101 +#: access/transam/rmgr.c:110 #, c-format msgid "custom resource manager name is invalid" msgstr "namn på egendefinierad resurshanterare är ogiltigt" -#: access/transam/rmgr.c:102 +#: access/transam/rmgr.c:111 #, c-format msgid "Provide a non-empty name for the custom resource manager." msgstr "Ange ett icke-tomt namn för den egendefinierade resurshanteraren." -#: access/transam/rmgr.c:105 +#: access/transam/rmgr.c:114 #, c-format msgid "custom resource manager ID %d is out of range" msgstr "egendefinierat resurshanterar-ID %d är utanför giltigt intervall" -#: access/transam/rmgr.c:106 +#: access/transam/rmgr.c:115 #, c-format msgid "Provide a custom resource manager ID between %d and %d." msgstr "Ange ett egendefinierat resurshanterar-ID mellan %d och %d." -#: access/transam/rmgr.c:111 access/transam/rmgr.c:116 -#: access/transam/rmgr.c:128 +#: access/transam/rmgr.c:120 access/transam/rmgr.c:125 +#: access/transam/rmgr.c:137 #, c-format msgid "failed to register custom resource manager \"%s\" with ID %d" msgstr "misslyckades med att registera en egendefinierad resurshanterare \"%s\" med ID %d" -#: access/transam/rmgr.c:112 +#: access/transam/rmgr.c:121 #, c-format -msgid "Custom resource manager must be registered while initializing modules in shared_preload_libraries." -msgstr "Egendefinierad resurshanterare måste vara registerad när man initierar moduler i shared_preload_libraries." +msgid "Custom resource manager must be registered while initializing modules in \"shared_preload_libraries\"." +msgstr "Egendefinierad resurshanterare måste vara registerad när man initierar moduler i \"shared_preload_libraries\"." -#: access/transam/rmgr.c:117 +#: access/transam/rmgr.c:126 #, c-format msgid "Custom resource manager \"%s\" already registered with the same ID." msgstr "Egendefinierad resurshanterare \"%s\" är redan registrerade med samma ID." -#: access/transam/rmgr.c:129 +#: access/transam/rmgr.c:138 #, c-format msgid "Existing resource manager with ID %d has the same name." msgstr "Det finns redan en resurshanterare med ID %d som har samma namn." -#: access/transam/rmgr.c:135 +#: access/transam/rmgr.c:144 #, c-format msgid "registered custom resource manager \"%s\" with ID %d" msgstr "registrerade egendefinerad resurshanterare \"%s\" med ID %d" -#: access/transam/slru.c:714 +#: access/transam/slru.c:361 +#, c-format +msgid "\"%s\" must be a multiple of %d" +msgstr "\"%s\" måste vara en multiple av \"%d\"" + +#: access/transam/slru.c:830 #, c-format msgid "file \"%s\" doesn't exist, reading as zeroes" msgstr "filen \"%s\" existerar inte, läses som nollor" -#: access/transam/slru.c:946 access/transam/slru.c:952 -#: access/transam/slru.c:960 access/transam/slru.c:965 -#: access/transam/slru.c:972 access/transam/slru.c:977 -#: access/transam/slru.c:984 access/transam/slru.c:991 +#: 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 #, c-format msgid "could not access status of transaction %u" msgstr "kunde inte läsa status på transaktion %u" -#: access/transam/slru.c:947 +#: access/transam/slru.c:1060 #, c-format msgid "Could not open file \"%s\": %m." msgstr "Kunde inte öppna fil \"%s\": %m." -#: access/transam/slru.c:953 +#: access/transam/slru.c:1066 #, c-format msgid "Could not seek in file \"%s\" to offset %d: %m." msgstr "Kunde inte söka i fil \"%s\" till offset %d: %m." -#: access/transam/slru.c:961 +#: access/transam/slru.c:1074 #, c-format msgid "Could not read from file \"%s\" at offset %d: %m." msgstr "Kunde inte läsa från fil \"%s\" på offset %d: %m." -#: access/transam/slru.c:966 +#: access/transam/slru.c:1079 #, c-format msgid "Could not read from file \"%s\" at offset %d: read too few bytes." msgstr "Kunde inte läsa från fil \"%s\" på offset %d: läste för få bytes." -#: access/transam/slru.c:973 +#: access/transam/slru.c:1086 #, c-format msgid "Could not write to file \"%s\" at offset %d: %m." msgstr "Kunde inte skriva till fil \"%s\" på offset %d: %m." -#: access/transam/slru.c:978 +#: access/transam/slru.c:1091 #, c-format msgid "Could not write to file \"%s\" at offset %d: wrote too few bytes." msgstr "Kunde inte skriva till fil \"%s\" på offset %d: skrev för få bytes." -#: access/transam/slru.c:985 +#: access/transam/slru.c:1098 #, c-format msgid "Could not fsync file \"%s\": %m." msgstr "Kunde inte fsync:a fil \"%s\": %m." -#: access/transam/slru.c:992 +#: access/transam/slru.c:1105 #, c-format msgid "Could not close file \"%s\": %m." msgstr "Kunde inte stänga fil \"%s\": %m." -#: access/transam/slru.c:1253 +#: access/transam/slru.c:1431 #, c-format msgid "could not truncate directory \"%s\": apparent wraparound" msgstr "Kunde inte trunkera katalog \"%s\": trolig wraparound" @@ -1924,788 +2116,824 @@ msgstr "Tidslinje-ID:er måste vara mindre än barnens tidslinje-ID:er." msgid "requested timeline %u is not in this server's history" msgstr "efterfrågad tidslinje %u finns inte i denna servers historik" -#: access/transam/twophase.c:386 +#: access/transam/twophase.c:368 #, c-format msgid "transaction identifier \"%s\" is too long" msgstr "transaktionsidentifierare \"%s\" är för lång" -#: access/transam/twophase.c:393 +#: access/transam/twophase.c:375 #, c-format msgid "prepared transactions are disabled" msgstr "förberedda transaktioner är avslagna" -#: access/transam/twophase.c:394 +#: access/transam/twophase.c:376 #, c-format -msgid "Set max_prepared_transactions to a nonzero value." -msgstr "Sätt max_prepared_transactions till ett ickenollvärde." +msgid "Set \"max_prepared_transactions\" to a nonzero value." +msgstr "Sätt \"max_prepared_transactions\" till ett värde som inte är noll." -#: access/transam/twophase.c:413 +#: access/transam/twophase.c:395 #, c-format msgid "transaction identifier \"%s\" is already in use" msgstr "transaktionsidentifierare \"%s\" används redan" -#: access/transam/twophase.c:422 access/transam/twophase.c:2517 +#: access/transam/twophase.c:404 access/transam/twophase.c:2540 #, c-format msgid "maximum number of prepared transactions reached" msgstr "maximalt antal förberedda transaktioner har uppnåtts" -#: access/transam/twophase.c:423 access/transam/twophase.c:2518 +#: access/transam/twophase.c:405 access/transam/twophase.c:2541 #, c-format -msgid "Increase max_prepared_transactions (currently %d)." -msgstr "Öka max_prepared_transactions (nu %d)." +msgid "Increase \"max_prepared_transactions\" (currently %d)." +msgstr "Öka \"max_prepared_transactions\" (nu %d)." -#: access/transam/twophase.c:599 +#: access/transam/twophase.c:580 #, c-format msgid "prepared transaction with identifier \"%s\" is busy" msgstr "förberedd transaktion med identifierare \"%s\" är upptagen" -#: access/transam/twophase.c:605 +#: access/transam/twophase.c:586 #, c-format msgid "permission denied to finish prepared transaction" msgstr "rättighet saknas för att slutföra förberedd transaktion" -#: access/transam/twophase.c:606 +#: access/transam/twophase.c:587 #, c-format msgid "Must be superuser or the user that prepared the transaction." msgstr "Måste vara superuser eller den användare som förberedde transaktionen" -#: access/transam/twophase.c:617 +#: access/transam/twophase.c:598 #, c-format msgid "prepared transaction belongs to another database" msgstr "förberedda transaktionen tillhör en annan databas" -#: access/transam/twophase.c:618 +#: access/transam/twophase.c:599 #, c-format msgid "Connect to the database where the transaction was prepared to finish it." msgstr "Anslut till databasen där transaktionen var förberedd för att slutföra den." -#: access/transam/twophase.c:633 +#: access/transam/twophase.c:614 #, c-format msgid "prepared transaction with identifier \"%s\" does not exist" msgstr "förberedd transaktion med identifierare \"%s\" finns inte" -#: access/transam/twophase.c:1168 +#: access/transam/twophase.c:1190 #, c-format msgid "two-phase state file maximum length exceeded" msgstr "tvåfas-statusfilens maximala längd överskriden" -#: access/transam/twophase.c:1323 +#: access/transam/twophase.c:1345 #, c-format msgid "incorrect size of file \"%s\": %lld byte" msgid_plural "incorrect size of file \"%s\": %lld bytes" msgstr[0] "felaktig storlek på fil \"%s\": %lld byte" msgstr[1] "felaktig storlek på fil \"%s\": %lld bytes" -#: access/transam/twophase.c:1332 +#: access/transam/twophase.c:1354 #, c-format msgid "incorrect alignment of CRC offset for file \"%s\"" msgstr "inkorrekt justering (alignment) av CRC-offset för fil \"%s\"" -#: access/transam/twophase.c:1350 +#: access/transam/twophase.c:1372 #, c-format msgid "could not read file \"%s\": read %d of %lld" msgstr "kunde inte läsa fil \"%s\": läste %d av %lld" -#: access/transam/twophase.c:1365 +#: access/transam/twophase.c:1387 #, c-format msgid "invalid magic number stored in file \"%s\"" msgstr "felaktigt magiskt nummer lagrat i fil \"%s\"" -#: access/transam/twophase.c:1371 +#: access/transam/twophase.c:1393 #, c-format msgid "invalid size stored in file \"%s\"" msgstr "felaktig storlek lagrad i fil \"%s\"" -#: access/transam/twophase.c:1383 +#: access/transam/twophase.c:1405 #, c-format msgid "calculated CRC checksum does not match value stored in file \"%s\"" msgstr "beräknad CRC-checksumma matchar inte värdet som är lagrat i filen \"%s\"" -#: access/transam/twophase.c:1413 access/transam/xlogrecovery.c:590 -#: replication/logical/logical.c:209 replication/walsender.c:687 +#: access/transam/twophase.c:1435 access/transam/xlogrecovery.c:565 +#: postmaster/walsummarizer.c:936 replication/logical/logical.c:211 +#: replication/walsender.c:836 #, c-format msgid "Failed while allocating a WAL reading processor." msgstr "Misslyckades vid allokering av en WAL-läs-processor." -#: access/transam/twophase.c:1423 +#: access/transam/twophase.c:1445 #, c-format msgid "could not read two-phase state from WAL at %X/%X: %s" msgstr "kunde inte läsa tvåfas-status från WAL vid %X/%X: %s" -#: access/transam/twophase.c:1428 +#: access/transam/twophase.c:1450 #, c-format msgid "could not read two-phase state from WAL at %X/%X" msgstr "kunde inte läsa tvåfas-status från WAL vid %X/%X" -#: access/transam/twophase.c:1436 +#: access/transam/twophase.c:1458 #, c-format msgid "expected two-phase state data is not present in WAL at %X/%X" msgstr "förväntad tvåfas-statusdata finns inte i WAL vid %X/%X" -#: access/transam/twophase.c:1732 +#: access/transam/twophase.c:1754 #, c-format msgid "could not recreate file \"%s\": %m" msgstr "kan inte återskapa fil \"%s\": %m" -#: access/transam/twophase.c:1859 +#: access/transam/twophase.c:1881 #, c-format msgid "%u two-phase state file was written for a long-running prepared transaction" msgid_plural "%u two-phase state files were written for long-running prepared transactions" msgstr[0] "%u tvåfas-statusfil skrevs för långkörande förberedd transkation" msgstr[1] "%u tvåfas-statusfiler skrevs för långkörande förberedda transaktioner" -#: access/transam/twophase.c:2093 +#: access/transam/twophase.c:2116 #, c-format msgid "recovering prepared transaction %u from shared memory" msgstr "återskapar förberedd transaktion %u från delat minne" -#: access/transam/twophase.c:2186 +#: access/transam/twophase.c:2209 #, c-format msgid "removing stale two-phase state file for transaction %u" msgstr "tar bort död tvåfas-statusfil för transaktioon %u" -#: access/transam/twophase.c:2193 +#: access/transam/twophase.c:2216 #, c-format msgid "removing stale two-phase state from memory for transaction %u" msgstr "tar bort död tvåfas-statusfil från minne för transaktion %u" -#: access/transam/twophase.c:2206 +#: access/transam/twophase.c:2229 #, c-format msgid "removing future two-phase state file for transaction %u" msgstr "tar bort framtida tvåfas-statusfil för transaktion %u" -#: access/transam/twophase.c:2213 +#: access/transam/twophase.c:2236 #, c-format msgid "removing future two-phase state from memory for transaction %u" msgstr "tar bort framtida tvåfas-statusfil från minne för transaktion %u" -#: access/transam/twophase.c:2238 +#: access/transam/twophase.c:2261 #, c-format msgid "corrupted two-phase state file for transaction %u" msgstr "korrupt tvåfas-statusfil för transaktion %u" -#: access/transam/twophase.c:2243 +#: access/transam/twophase.c:2266 #, c-format msgid "corrupted two-phase state in memory for transaction %u" msgstr "korrupt tvåfas-status i minnet för transaktion %u" -#: access/transam/twophase.c:2500 +#: access/transam/twophase.c:2523 #, c-format msgid "could not recover two-phase state file for transaction %u" msgstr "kunde inte återställa tvåfas-statusfil för transaktion %u" -#: access/transam/twophase.c:2502 +#: access/transam/twophase.c:2525 #, c-format 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:2510 jit/jit.c:205 utils/fmgr/dfmgr.c:209 -#: utils/fmgr/dfmgr.c:415 +#: access/transam/twophase.c:2533 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" -#: access/transam/varsup.c:129 +#: access/transam/varsup.c:156 +#, c-format +msgid "database is not accepting commands that assign new transaction IDs to avoid wraparound data loss in database \"%s\"" +msgstr "databasen tar inte emot kommandon som tilldelar nya transaktions-ID för att förhinda dataförlust vid \"wraparound\" i databasen \"%s\"" + +#: access/transam/varsup.c:163 #, c-format -msgid "database is not accepting commands to avoid wraparound data loss in database \"%s\"" -msgstr "databasen tar inte emot kommandon för att förhinda dataförlust vid \"wraparound\" i databasen \"%s\"" +msgid "database is not accepting commands that assign new transaction IDs to avoid wraparound data loss in database with OID %u" +msgstr "databasen tar inte emot kommandon som tilldelar nya transaktions-ID för att förhinda dataförlust vid \"wraparound\" i databasen med OID %u" -#: access/transam/varsup.c:131 access/transam/varsup.c:138 +#: access/transam/varsup.c:175 access/transam/varsup.c:490 +#, c-format +msgid "database \"%s\" must be vacuumed within %u transactions" +msgstr "databas \"%s\" måste städas (vacuum) inom %u transaktioner" + +#: access/transam/varsup.c:178 #, c-format msgid "" -"Stop the postmaster and vacuum that database in single-user mode.\n" +"To avoid transaction ID 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 "" -"Stoppa postmaster och städa (vacuum) den databasen i enanvändarläge.\n" -"Du kan också behöva commit:a eller rulla tillbaka förberedda transaktioner eller slänga gamla replikeringsslottar." +"För att undvika fel vid tilldelning av transaktions-ID 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/varsup.c:136 +#: access/transam/varsup.c:182 access/transam/varsup.c:497 #, c-format -msgid "database is not accepting commands to avoid wraparound data loss in database with OID %u" -msgstr "databasen tar inte emot kommandon för att förhinda dataförlust vid wraparound i databas med OID %u" +msgid "database with OID %u must be vacuumed within %u transactions" +msgstr "databas med OID %u måste städas (vacuum) inom %u transaktioner" -#: access/transam/varsup.c:148 access/transam/varsup.c:463 +#: access/transam/varsup.c:185 access/transam/varsup.c:493 +#: access/transam/varsup.c:500 #, c-format -msgid "database \"%s\" must be vacuumed within %u transactions" -msgstr "databas \"%s\" måste städas (vacuum) inom %u transaktioner" +msgid "" +"To avoid XID 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 "" +"För att undvika fel vid tilldelning av XID 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/varsup.c:155 access/transam/varsup.c:470 +#: access/transam/xact.c:649 #, c-format -msgid "database with OID %u must be vacuumed within %u transactions" -msgstr "databas med OID %u måste städas (vacuum) inom %u transaktioner" +msgid "cannot assign transaction IDs during a parallel operation" +msgstr "can inte tilldela transaktions-ID under en parallell operation" + +#: access/transam/xact.c:840 +#, c-format +msgid "cannot modify data in a parallel worker" +msgstr "kan inte modifiera data i en parellell arbetare" + +#: access/transam/xact.c:1115 +#, c-format +msgid "cannot start commands during a parallel operation" +msgstr "kan inte starta kommandon under en parallell operation" -#: access/transam/xact.c:1102 +#: access/transam/xact.c:1123 #, c-format 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:1643 +#: access/transam/xact.c:1664 #, c-format msgid "maximum number of committed subtransactions (%d) exceeded" msgstr "maximalt antal commit:ade undertransaktioner (%d) överskridet" -#: access/transam/xact.c:2513 +#: access/transam/xact.c:2561 #, 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:2523 +#: access/transam/xact.c:2571 #, 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:3490 +#: access/transam/xact.c:3593 #, 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:3500 +#: access/transam/xact.c:3603 #, c-format msgid "%s cannot run inside a subtransaction" -msgstr "%s kan inte köras i ett undertransaktionsblock" +msgstr "%s kan inte köras i en undertransaktion" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3510 +#: access/transam/xact.c:3613 #, 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:3520 +#: access/transam/xact.c:3623 #, 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:3591 access/transam/xact.c:3916 -#: access/transam/xact.c:3995 access/transam/xact.c:4118 -#: access/transam/xact.c:4269 access/transam/xact.c:4338 -#: access/transam/xact.c:4449 +#: 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 #, c-format msgid "%s can only be used in transaction blocks" msgstr "%s kan bara användas i transaktionsblock" -#: access/transam/xact.c:3802 +#: access/transam/xact.c:3905 #, c-format msgid "there is already a transaction in progress" msgstr "det är redan en transaktion igång" -#: access/transam/xact.c:3921 access/transam/xact.c:4000 -#: access/transam/xact.c:4123 +#: access/transam/xact.c:4024 access/transam/xact.c:4103 +#: access/transam/xact.c:4226 #, c-format msgid "there is no transaction in progress" msgstr "ingen transaktion pågår" -#: access/transam/xact.c:4011 +#: access/transam/xact.c:4114 #, c-format msgid "cannot commit during a parallel operation" msgstr "kan inte commit:a under en parallell operation" -#: access/transam/xact.c:4134 +#: access/transam/xact.c:4237 #, c-format msgid "cannot abort during a parallel operation" msgstr "can inte avbryta under en parallell operation" -#: access/transam/xact.c:4233 +#: access/transam/xact.c:4336 #, c-format msgid "cannot define savepoints during a parallel operation" msgstr "kan inte definiera sparpunkter under en parallell operation" -#: access/transam/xact.c:4320 +#: access/transam/xact.c:4423 #, 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:4330 access/transam/xact.c:4381 -#: access/transam/xact.c:4441 access/transam/xact.c:4490 +#: access/transam/xact.c:4433 access/transam/xact.c:4484 +#: access/transam/xact.c:4544 access/transam/xact.c:4593 #, c-format msgid "savepoint \"%s\" does not exist" msgstr "sparpunkt \"%s\" existerar inte" -#: access/transam/xact.c:4387 access/transam/xact.c:4496 +#: access/transam/xact.c:4490 access/transam/xact.c:4599 #, c-format msgid "savepoint \"%s\" does not exist within current savepoint level" msgstr "sparpunkt \"%s\" finns inte inom aktuell sparpunktsnivå" -#: access/transam/xact.c:4429 +#: access/transam/xact.c:4532 #, 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:4557 +#: access/transam/xact.c:5376 #, c-format -msgid "cannot start subtransactions during a parallel operation" -msgstr "kan inte starta subtransaktioner under en parallell operation" +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/xact.c:4625 +#: access/transam/xlog.c:1541 #, c-format -msgid "cannot commit subtransactions during a parallel operation" -msgstr "kan inte commit:a subtransaktioner undert en parallell operation" +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/xact.c:5271 +#: access/transam/xlog.c:1768 #, c-format -msgid "cannot have more than 2^32-1 subtransactions in a transaction" -msgstr "kan inte ha mer än 2^32-1 subtransaktioner i en transaktion" +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:1466 +#: access/transam/xlog.c:2209 access/transam/xlog.c:4500 #, 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" +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:2227 +#, c-format +msgid "\"%s\" must be set to -1 during binary upgrade mode." +msgstr "\"%s\" måsta vara satt till -1 i binärt uppgraderingsläge" -#: access/transam/xlog.c:2228 +#: access/transam/xlog.c:2476 #, 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" +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:3455 access/transam/xlogutils.c:833 -#: replication/walsender.c:2725 +#: access/transam/xlog.c:3738 access/transam/xlogutils.c:831 +#: replication/walsender.c:3045 #, 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:3739 +#: access/transam/xlog.c:4060 #, c-format msgid "could not rename file \"%s\": %m" msgstr "kunde inte byta namn på fil \"%s\": %m" -#: access/transam/xlog.c:3781 access/transam/xlog.c:3791 +#: access/transam/xlog.c:4103 access/transam/xlog.c:4114 +#: access/transam/xlog.c:4135 #, c-format msgid "required WAL directory \"%s\" does not exist" msgstr "krävd WAL-katalog \"%s\" finns inte" -#: access/transam/xlog.c:3797 +#: access/transam/xlog.c:4120 access/transam/xlog.c:4141 #, c-format msgid "creating missing WAL directory \"%s\"" msgstr "skapar saknad WAL-katalog \"%s\"" -#: access/transam/xlog.c:3800 commands/dbcommands.c:3172 +#: access/transam/xlog.c:4124 access/transam/xlog.c:4144 +#: commands/dbcommands.c:3259 #, c-format msgid "could not create missing directory \"%s\": %m" msgstr "kunde inte skapa saknad katalog \"%s\": %m" -#: access/transam/xlog.c:3867 +#: access/transam/xlog.c:4211 #, c-format msgid "could not generate secret authorization token" msgstr "kunde inte generera hemligt auktorisationstoken" -#: access/transam/xlog.c:4017 access/transam/xlog.c:4026 -#: access/transam/xlog.c:4050 access/transam/xlog.c:4057 -#: access/transam/xlog.c:4064 access/transam/xlog.c:4069 -#: access/transam/xlog.c:4076 access/transam/xlog.c:4083 -#: access/transam/xlog.c:4090 access/transam/xlog.c:4097 -#: access/transam/xlog.c:4104 access/transam/xlog.c:4111 -#: access/transam/xlog.c:4120 access/transam/xlog.c:4127 -#: utils/init/miscinit.c:1762 +#: access/transam/xlog.c:4362 access/transam/xlog.c:4372 +#: access/transam/xlog.c:4398 access/transam/xlog.c:4406 +#: access/transam/xlog.c:4414 access/transam/xlog.c:4420 +#: access/transam/xlog.c:4428 access/transam/xlog.c:4436 +#: access/transam/xlog.c:4444 access/transam/xlog.c:4452 +#: access/transam/xlog.c:4460 access/transam/xlog.c:4468 +#: access/transam/xlog.c:4478 access/transam/xlog.c:4486 +#: utils/init/miscinit.c:1758 #, c-format msgid "database files are incompatible with server" msgstr "databasfilerna är inkompatibla med servern" -#: access/transam/xlog.c:4018 +#: access/transam/xlog.c:4363 #, 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:4022 +#: access/transam/xlog.c:4367 #, 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:4027 +#: access/transam/xlog.c:4373 #, 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:4030 access/transam/xlog.c:4054 -#: access/transam/xlog.c:4061 access/transam/xlog.c:4066 +#: access/transam/xlog.c:4376 access/transam/xlog.c:4402 +#: access/transam/xlog.c:4410 access/transam/xlog.c:4416 #, c-format msgid "It looks like you need to initdb." msgstr "Du behöver troligen köra initdb." -#: access/transam/xlog.c:4041 +#: access/transam/xlog.c:4388 #, c-format msgid "incorrect checksum in control file" msgstr "ogiltig kontrollsumma kontrollfil" -#: access/transam/xlog.c:4051 +#: access/transam/xlog.c:4399 #, 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:4058 +#: access/transam/xlog.c:4407 #, 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:4065 +#: access/transam/xlog.c:4415 #, 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:4070 +#: access/transam/xlog.c:4421 #, 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:4073 access/transam/xlog.c:4080 -#: access/transam/xlog.c:4087 access/transam/xlog.c:4094 -#: access/transam/xlog.c:4101 access/transam/xlog.c:4108 -#: access/transam/xlog.c:4115 access/transam/xlog.c:4123 -#: access/transam/xlog.c:4130 +#: access/transam/xlog.c:4424 access/transam/xlog.c:4432 +#: access/transam/xlog.c:4440 access/transam/xlog.c:4448 +#: access/transam/xlog.c:4456 access/transam/xlog.c:4464 +#: access/transam/xlog.c:4472 access/transam/xlog.c:4481 +#: access/transam/xlog.c:4489 #, 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:4077 +#: access/transam/xlog.c:4429 #, 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:4084 +#: access/transam/xlog.c:4437 #, 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:4091 +#: access/transam/xlog.c:4445 #, 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:4098 +#: access/transam/xlog.c:4453 #, 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:4105 +#: access/transam/xlog.c:4461 #, 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:4112 +#: access/transam/xlog.c:4469 #, 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:4121 +#: access/transam/xlog.c:4479 #, 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:4128 +#: access/transam/xlog.c:4487 #, 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:4137 +#: access/transam/xlog.c:4496 #, c-format -msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d byte" -msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d bytes" -msgstr[0] "WAL-segmentstorlek måste vara en tvåpotens mellan 1MB och 1GB men kontrollfilen anger %d byte" -msgstr[1] "WAL-segmentstorlek måste vara en tvåpotens mellan 1MB och 1GB men kontrollfilen anger %d byte" +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:4149 +#: access/transam/xlog.c:4509 #, 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:4153 +#: access/transam/xlog.c:4513 #, 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:4308 catalog/namespace.c:4335 -#: commands/tablespace.c:1216 commands/user.c:2536 commands/variable.c:72 -#: utils/error/elog.c:2205 +#: access/transam/xlog.c:4661 catalog/namespace.c:4681 +#: commands/tablespace.c:1210 commands/user.c:2529 commands/variable.c:72 +#: replication/slot.c:2429 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:4354 commands/user.c:2552 commands/variable.c:173 -#: utils/error/elog.c:2231 +#: access/transam/xlog.c:4707 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:4768 +#: access/transam/xlog.c:5128 #, 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:4776 +#: access/transam/xlog.c:5136 #, 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:4782 +#: access/transam/xlog.c:5142 #, 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:4999 +#: access/transam/xlog.c:5367 #, 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" +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:5000 +#: access/transam/xlog.c:5368 #, 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." +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:5001 +#: access/transam/xlog.c:5369 #, 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." +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:5065 +#: access/transam/xlog.c:5434 #, c-format msgid "control file contains invalid checkpoint location" msgstr "kontrollfil innehåller ogiltig checkpoint-position" -#: access/transam/xlog.c:5076 +#: access/transam/xlog.c:5445 #, c-format msgid "database system was shut down at %s" msgstr "databassystemet stängdes ner vid %s" -#: access/transam/xlog.c:5082 +#: access/transam/xlog.c:5451 #, 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:5088 +#: access/transam/xlog.c:5457 #, 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:5094 +#: access/transam/xlog.c:5463 #, 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:5096 +#: access/transam/xlog.c:5465 #, 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:5102 +#: access/transam/xlog.c:5471 #, 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:5104 +#: access/transam/xlog.c:5473 #, 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:5110 +#: access/transam/xlog.c:5479 #, 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:5116 +#: access/transam/xlog.c:5486 #, c-format msgid "control file contains invalid database cluster state" msgstr "kontrollfil innehåller ogiltigt databasklustertillstånd" -#: access/transam/xlog.c:5500 +#: access/transam/xlog.c:5874 #, c-format msgid "WAL ends before end of online backup" msgstr "WAL slutar före sluttiden av online-backup:en" -#: access/transam/xlog.c:5501 +#: access/transam/xlog.c:5875 #, 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:5504 +#: access/transam/xlog.c:5879 #, c-format msgid "WAL ends before consistent recovery point" msgstr "WAL avslutas innan konstistent återställningspunkt" -#: access/transam/xlog.c:5550 +#: access/transam/xlog.c:5925 #, c-format msgid "selected new timeline ID: %u" msgstr "valt nytt tidslinje-ID: %u" -#: access/transam/xlog.c:5583 +#: access/transam/xlog.c:5958 #, c-format msgid "archive recovery complete" msgstr "arkivåterställning klar" -#: access/transam/xlog.c:6189 +#: access/transam/xlog.c:6587 #, c-format msgid "shutting down" msgstr "stänger ner" #. translator: the placeholders show checkpoint options -#: access/transam/xlog.c:6228 +#: access/transam/xlog.c:6626 #, 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:6240 +#: access/transam/xlog.c:6638 #, 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:6305 +#: access/transam/xlog.c:6703 #, 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:6328 +#: access/transam/xlog.c:6726 #, 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:6766 +#: access/transam/xlog.c:7208 #, 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:7327 +#: access/transam/xlog.c:7793 #, c-format msgid "recovery restart point at %X/%X" msgstr "återställningens omstartspunkt vid %X/%X" -#: access/transam/xlog.c:7329 +#: access/transam/xlog.c:7795 #, c-format msgid "Last completed transaction was at log time %s." msgstr "Senaste kompletta transaktionen var vid loggtid %s" -#: access/transam/xlog.c:7577 +#: access/transam/xlog.c:8057 #, c-format msgid "restore point \"%s\" created at %X/%X" msgstr "återställningspunkt \"%s\" skapad vid %X/%X" -#: access/transam/xlog.c:7784 +#: access/transam/xlog.c:8264 #, 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:7841 +#: access/transam/xlog.c:8322 #, 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:7899 +#: access/transam/xlog.c:8380 #, 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:7928 +#: access/transam/xlog.c:8409 #, 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:8195 +#: access/transam/xlog.c:8680 #, 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:8200 +#: access/transam/xlog.c:8685 #, c-format msgid "could not fdatasync file \"%s\": %m" msgstr "kunde inte fdatasync:a fil \"%s\": %m" -#: access/transam/xlog.c:8285 access/transam/xlog.c:8608 +#: access/transam/xlog.c:8772 access/transam/xlog.c:9108 #, 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:8286 access/transam/xlog.c:8609 -#: access/transam/xlogfuncs.c:254 +#: access/transam/xlog.c:8773 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." +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:8291 +#: access/transam/xlog.c:8778 #, c-format msgid "backup label too long (max %d bytes)" msgstr "backup-etikett för lång (max %d byte)" -#: access/transam/xlog.c:8412 +#: access/transam/xlog.c:8899 #, 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 sedab senaste omstartpunkten" +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:8414 access/transam/xlog.c:8697 +#: access/transam/xlog.c:8901 access/transam/xlog.c:9197 #, 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." +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:8481 backup/basebackup.c:1351 utils/adt/misc.c:354 +#: access/transam/xlog.c:8981 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:8488 backup/basebackup.c:1356 utils/adt/misc.c:359 +#: access/transam/xlog.c:8988 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:8647 backup/basebackup.c:1217 +#: access/transam/xlog.c:9109 +#, 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:9147 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:8648 backup/basebackup.c:1218 +#: access/transam/xlog.c:9148 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:8695 +#: access/transam/xlog.c:9195 #, 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" +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:8811 +#: access/transam/xlog.c:9311 #, 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:8825 +#: access/transam/xlog.c:9325 #, 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:8827 +#: access/transam/xlog.c:9327 #, 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ändbart utan att alla WAL-segment finns." +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:8834 +#: access/transam/xlog.c:9334 #, c-format msgid "all required WAL segments have been archived" msgstr "alla krävda WAL-segments har arkiverats" -#: access/transam/xlog.c:8838 +#: access/transam/xlog.c:9338 #, 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:8877 +#: access/transam/xlog.c:9377 #, 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" -#: access/transam/xlogarchive.c:207 +#: access/transam/xlogarchive.c:213 #, c-format msgid "archive file \"%s\" has wrong size: %lld instead of %lld" msgstr "arkivfil \"%s\" har fel storlek: %lld istället för %lld" -#: access/transam/xlogarchive.c:216 +#: access/transam/xlogarchive.c:222 #, c-format msgid "restored log file \"%s\" from archive" msgstr "återställd logfil \"%s\" från arkiv" -#: access/transam/xlogarchive.c:230 +#: access/transam/xlogarchive.c:236 #, c-format -msgid "restore_command returned a zero exit status, but stat() failed." -msgstr "restore_command returnerade exit-kod noll men stat() misslyckades." +msgid "\"restore_command\" returned a zero exit status, but stat() failed." +msgstr "\"restore_command\" returnerade exit-kod noll men stat() misslyckades." -#: access/transam/xlogarchive.c:262 +#: access/transam/xlogarchive.c:268 #, c-format msgid "could not restore file \"%s\" from archive: %s" msgstr "kunde inte återställa fil \"%s\" från arkiv: %s" @@ -2713,926 +2941,961 @@ msgstr "kunde inte återställa fil \"%s\" från arkiv: %s" #. translator: First %s represents a postgresql.conf parameter name like #. "recovery_end_command", the 2nd is the value of that parameter, the #. third an already translated error message. -#: access/transam/xlogarchive.c:340 +#: access/transam/xlogarchive.c:346 #, c-format msgid "%s \"%s\": %s" msgstr "%s \"%s\": %s" -#: access/transam/xlogarchive.c:450 access/transam/xlogarchive.c:530 +#: access/transam/xlogarchive.c:456 access/transam/xlogarchive.c:536 #, c-format msgid "could not create archive status file \"%s\": %m" msgstr "kunde inte skapa arkiveringsstatusfil \"%s\": %m" -#: access/transam/xlogarchive.c:458 access/transam/xlogarchive.c:538 +#: access/transam/xlogarchive.c:464 access/transam/xlogarchive.c:544 #, c-format msgid "could not write archive status file \"%s\": %m" msgstr "kunde inte skriva arkiveringsstatusfil \"%s\": %m" -#: access/transam/xlogfuncs.c:75 backup/basebackup.c:973 +#: access/transam/xlogfuncs.c:69 backup/basebackup.c:997 #, c-format msgid "a backup is already in progress in this session" msgstr "en backup är redan på gång i denna session" -#: access/transam/xlogfuncs.c:146 +#: access/transam/xlogfuncs.c:140 #, c-format msgid "backup is not in progress" msgstr "ingen backup är på gång" -#: access/transam/xlogfuncs.c:147 +#: access/transam/xlogfuncs.c:141 #, c-format msgid "Did you call pg_backup_start()?" msgstr "Anropade du pg_backup_start()?" -#: access/transam/xlogfuncs.c:190 access/transam/xlogfuncs.c:248 -#: access/transam/xlogfuncs.c:287 access/transam/xlogfuncs.c:308 -#: access/transam/xlogfuncs.c:329 +#: access/transam/xlogfuncs.c:184 access/transam/xlogfuncs.c:242 +#: access/transam/xlogfuncs.c:281 access/transam/xlogfuncs.c:302 +#: access/transam/xlogfuncs.c:323 #, c-format msgid "WAL control functions cannot be executed during recovery." msgstr "WAL-kontrollfunktioner kan inte köras under återställning." -#: access/transam/xlogfuncs.c:215 access/transam/xlogfuncs.c:399 -#: access/transam/xlogfuncs.c:457 +#: access/transam/xlogfuncs.c:209 access/transam/xlogfuncs.c:389 +#: access/transam/xlogfuncs.c:447 #, c-format msgid "%s cannot be executed during recovery." msgstr "%s kan inte köras under återställning" -#: access/transam/xlogfuncs.c:221 +#: access/transam/xlogfuncs.c:215 #, c-format -msgid "pg_log_standby_snapshot() can only be used if wal_level >= replica" -msgstr "pg_log_standby_snapshot() kan bara användas om wal_level >= replica" +msgid "pg_log_standby_snapshot() can only be used if \"wal_level\" >= \"replica\"" +msgstr "pg_log_standby_snapshot() kan bara användas om \"wal_level\" >= \"replica\"" -#: access/transam/xlogfuncs.c:253 +#: access/transam/xlogfuncs.c:247 #, c-format msgid "WAL level not sufficient for creating a restore point" msgstr "WAL-nivån är inte tillräcklig för att skapa en återställningspunkt" -#: access/transam/xlogfuncs.c:261 +#: access/transam/xlogfuncs.c:255 #, c-format msgid "value too long for restore point (maximum %d characters)" msgstr "värdet för långt för en återställningspunkt (maximalt %d tecken)" -#: access/transam/xlogfuncs.c:496 +#: access/transam/xlogfuncs.c:486 #, c-format msgid "invalid WAL file name \"%s\"" msgstr "ogiltigt WAL-filnamn \"%s\"" -#: access/transam/xlogfuncs.c:532 access/transam/xlogfuncs.c:562 -#: access/transam/xlogfuncs.c:586 access/transam/xlogfuncs.c:609 -#: access/transam/xlogfuncs.c:689 +#: access/transam/xlogfuncs.c:522 access/transam/xlogfuncs.c:552 +#: access/transam/xlogfuncs.c:576 access/transam/xlogfuncs.c:599 +#: access/transam/xlogfuncs.c:679 #, c-format msgid "recovery is not in progress" msgstr "återställning är inte i gång" -#: access/transam/xlogfuncs.c:533 access/transam/xlogfuncs.c:563 -#: access/transam/xlogfuncs.c:587 access/transam/xlogfuncs.c:610 -#: access/transam/xlogfuncs.c:690 +#: access/transam/xlogfuncs.c:523 access/transam/xlogfuncs.c:553 +#: access/transam/xlogfuncs.c:577 access/transam/xlogfuncs.c:600 +#: access/transam/xlogfuncs.c:680 #, c-format msgid "Recovery control functions can only be executed during recovery." msgstr "Återställningskontrollfunktioner kan bara köras under återställning." -#: access/transam/xlogfuncs.c:538 access/transam/xlogfuncs.c:568 +#: access/transam/xlogfuncs.c:528 access/transam/xlogfuncs.c:558 #, c-format msgid "standby promotion is ongoing" -msgstr "standby-befordring pågår" +msgstr "standby-befordran pågår" -#: access/transam/xlogfuncs.c:539 access/transam/xlogfuncs.c:569 +#: access/transam/xlogfuncs.c:529 access/transam/xlogfuncs.c:559 #, c-format msgid "%s cannot be executed after promotion is triggered." msgstr "%s kan inte köras efter att befordran startats." -#: access/transam/xlogfuncs.c:695 +#: access/transam/xlogfuncs.c:685 #, c-format msgid "\"wait_seconds\" must not be negative or zero" msgstr "\"wait_seconds\" får inte vara negativ eller noll" -#: access/transam/xlogfuncs.c:715 storage/ipc/signalfuncs.c:260 +#: access/transam/xlogfuncs.c:707 storage/ipc/signalfuncs.c:265 #, c-format msgid "failed to send signal to postmaster: %m" msgstr "misslyckades med att sända en signal till postmaster: %m" -#: access/transam/xlogfuncs.c:751 +#: access/transam/xlogfuncs.c:739 libpq/be-secure.c:237 libpq/be-secure.c:346 +#, c-format +msgid "terminating connection due to unexpected postmaster exit" +msgstr "avslutar anslutning på grund av att postmaster stängde oväntat ner" + +#: access/transam/xlogfuncs.c:740 +#, c-format +msgid "while waiting on promotion" +msgstr "vid väntan på befordran" + +#: access/transam/xlogfuncs.c:744 #, c-format msgid "server did not promote within %d second" msgid_plural "server did not promote within %d seconds" msgstr[0] "servern befordrades inte inom %d sekund" msgstr[1] "servern befordrades inte inom %d sekunder" -#: access/transam/xlogprefetcher.c:1092 +#: access/transam/xlogprefetcher.c:1088 #, c-format -msgid "recovery_prefetch is not supported on platforms that lack posix_fadvise()." -msgstr "recovery_prefetch stöds inte på plattformar som saknar posix_fadvise()." +msgid "\"recovery_prefetch\" is not supported on platforms that lack posix_fadvise()." +msgstr "\"recovery_prefetch\" stöds inte på plattformar som saknar posix_fadvise()." -#: access/transam/xlogreader.c:610 +#: access/transam/xlogreader.c:619 #, c-format msgid "invalid record offset at %X/%X: expected at least %u, got %u" msgstr "ogiltig postlängd vid %X/%X: förväntade minst %u, fick %u" -#: access/transam/xlogreader.c:619 +#: access/transam/xlogreader.c:628 #, c-format msgid "contrecord is requested by %X/%X" msgstr "contrecord är begärd vid %X/%X" -#: access/transam/xlogreader.c:740 +#: access/transam/xlogreader.c:669 access/transam/xlogreader.c:1134 +#, 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" + +#: access/transam/xlogreader.c:758 #, c-format msgid "there is no contrecord flag at %X/%X" msgstr "det finns ingen contrecord-flagga vid %X/%X" -#: access/transam/xlogreader.c:753 +#: access/transam/xlogreader.c:771 #, 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" -#: access/transam/xlogreader.c:812 -#, c-format -msgid "record length %u at %X/%X too long" -msgstr "postlängd %u vid %X/%X är för lång" - -#: access/transam/xlogreader.c:878 -#, c-format -msgid "out of memory while trying to decode a record of length %u" -msgstr "slut på minne vid avkodning av post med längden %u" - -#: access/transam/xlogreader.c:1130 -#, 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" - -#: access/transam/xlogreader.c:1138 +#: access/transam/xlogreader.c:1142 #, c-format msgid "invalid resource manager ID %u at %X/%X" msgstr "ogiltigt resurshanterar-ID %u vid %X/%X" -#: access/transam/xlogreader.c:1151 access/transam/xlogreader.c:1167 +#: access/transam/xlogreader.c:1155 access/transam/xlogreader.c:1171 #, c-format msgid "record with incorrect prev-link %X/%X at %X/%X" msgstr "post med inkorrekt prev-link %X/%X vid %X/%X" -#: access/transam/xlogreader.c:1203 +#: access/transam/xlogreader.c:1209 #, c-format msgid "incorrect resource manager data checksum in record at %X/%X" msgstr "felaktig resurshanterardatakontrollsumma i post vid %X/%X" -#: access/transam/xlogreader.c:1237 +#: access/transam/xlogreader.c:1243 #, 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" -#: access/transam/xlogreader.c:1252 access/transam/xlogreader.c:1294 +#: access/transam/xlogreader.c:1258 access/transam/xlogreader.c:1300 #, 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" -#: access/transam/xlogreader.c:1268 +#: access/transam/xlogreader.c:1274 #, 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" -#: access/transam/xlogreader.c:1276 +#: access/transam/xlogreader.c:1282 #, 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" -#: access/transam/xlogreader.c:1282 +#: access/transam/xlogreader.c:1288 #, 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" -#: access/transam/xlogreader.c:1314 +#: access/transam/xlogreader.c:1320 #, 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" -#: access/transam/xlogreader.c:1340 +#: access/transam/xlogreader.c:1346 #, 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" -#: access/transam/xlogreader.c:1746 +#: access/transam/xlogreader.c:1749 #, c-format msgid "out-of-order block_id %u at %X/%X" msgstr "\"ej i sekvens\"-block_id %u vid %X/%X" -#: access/transam/xlogreader.c:1770 +#: access/transam/xlogreader.c:1773 #, 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" -#: access/transam/xlogreader.c:1777 +#: access/transam/xlogreader.c:1780 #, 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" -#: access/transam/xlogreader.c:1813 +#: access/transam/xlogreader.c:1816 #, 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" -#: access/transam/xlogreader.c:1829 +#: access/transam/xlogreader.c:1832 #, 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" -#: access/transam/xlogreader.c:1843 +#: access/transam/xlogreader.c:1846 #, 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" -#: access/transam/xlogreader.c:1858 +#: access/transam/xlogreader.c:1861 #, 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" -#: access/transam/xlogreader.c:1874 +#: access/transam/xlogreader.c:1877 #, 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" -#: access/transam/xlogreader.c:1886 +#: access/transam/xlogreader.c:1889 #, c-format msgid "invalid block_id %u at %X/%X" msgstr "ogiltig block_id %u vid %X/%X" -#: access/transam/xlogreader.c:1953 +#: access/transam/xlogreader.c:1956 #, c-format msgid "record with invalid length at %X/%X" msgstr "post med ogiltig längd vid %X/%X" -#: access/transam/xlogreader.c:1979 +#: access/transam/xlogreader.c:1982 #, 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" -#: access/transam/xlogreader.c:2063 +#: access/transam/xlogreader.c:2066 #, 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" -#: access/transam/xlogreader.c:2070 +#: access/transam/xlogreader.c:2073 #, 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" -#: access/transam/xlogreader.c:2097 access/transam/xlogreader.c:2114 +#: access/transam/xlogreader.c:2100 access/transam/xlogreader.c:2117 #, 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" -#: access/transam/xlogreader.c:2123 +#: access/transam/xlogreader.c:2126 #, 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" -#: access/transam/xlogreader.c:2131 +#: access/transam/xlogreader.c:2134 #, c-format msgid "could not decompress image at %X/%X, block %d" msgstr "kunde inte packa upp avbild vid %X/%X, block %d" -#: access/transam/xlogrecovery.c:547 -#, c-format -msgid "entering standby mode" -msgstr "går in i standby-läge" - -#: access/transam/xlogrecovery.c:550 -#, 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:554 -#, c-format -msgid "starting point-in-time recovery to %s" -msgstr "startar point-in-time-återställning till %s" - -#: access/transam/xlogrecovery.c:558 -#, c-format -msgid "starting point-in-time recovery to \"%s\"" -msgstr "startar point-in-time-återställning till \"%s\"" - -#: access/transam/xlogrecovery.c:562 -#, 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:566 -#, 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:569 +#: access/transam/xlogrecovery.c:617 #, c-format -msgid "starting archive recovery" -msgstr "Startar arkivåterställning" +msgid "starting backup recovery with redo LSN %X/%X, checkpoint LSN %X/%X, on timeline ID %u" +msgstr "startar backupåterställning med redo LSN %X/%X, checkpoint LSN %X/%X, på tidslinje ID %u" -#: access/transam/xlogrecovery.c:653 +#: access/transam/xlogrecovery.c:649 #, c-format -msgid "could not find redo location referenced by checkpoint record" -msgstr "kunde inte hitta redo-position refererad av checkpoint-post" +msgid "could not find redo location %X/%X referenced by checkpoint record at %X/%X" +msgstr "kunde inte hitta redo-position %X/%X refererad av checkpoint-post vid %X/%X" -#: access/transam/xlogrecovery.c:654 access/transam/xlogrecovery.c:664 +#: access/transam/xlogrecovery.c:651 access/transam/xlogrecovery.c:662 #, c-format msgid "" -"If you are restoring from a backup, touch \"%s/recovery.signal\" and add required recovery options.\n" +"If you are restoring from a backup, touch \"%s/recovery.signal\" or \"%s/standby.signal\" and add required recovery options.\n" "If you are not restoring from a backup, try removing the file \"%s/backup_label\".\n" "Be careful: removing \"%s/backup_label\" will result in a corrupt cluster if restoring from a backup." msgstr "" -"Om du återställer från en backup, gör touch på \"%s/recovery.signal\" och lägg till\n" +"Om du återställer från en backup, gör touch på \"%s/recovery.signal\" eller \"%s/standby.signal\" och lägg till\n" "önskade återställningsalternativ. Om du inte återställer från en backup, försök ta\n" "bort filen \"%s/backup_label\". Var försiktig: borttagning av \"%s/backup_label\"\n" "kommer resultera i ett trasigt kluster om du återställer från en backup." -#: access/transam/xlogrecovery.c:663 +#: access/transam/xlogrecovery.c:660 #, c-format -msgid "could not locate required checkpoint record" -msgstr "kunde inte hitta den checkpoint-post som krävs" +msgid "could not locate required checkpoint record at %X/%X" +msgstr "kunde inte hitta den checkpoint-post som krävs vid %X/%X" -#: access/transam/xlogrecovery.c:692 commands/tablespace.c:670 +#: access/transam/xlogrecovery.c:690 commands/tablespace.c:664 #, c-format msgid "could not create symbolic link \"%s\": %m" msgstr "kan inte skapa symbolisk länk \"%s\": %m" -#: access/transam/xlogrecovery.c:724 access/transam/xlogrecovery.c:730 +#: access/transam/xlogrecovery.c:723 access/transam/xlogrecovery.c:729 #, c-format msgid "ignoring file \"%s\" because no file \"%s\" exists" msgstr "hoppar över fil \"%s\" då ingen fil \"%s\" finns" -#: access/transam/xlogrecovery.c:726 +#: access/transam/xlogrecovery.c:725 #, c-format msgid "File \"%s\" was renamed to \"%s\"." msgstr "Filen \"%s\" döptes om till \"%s\"." -#: access/transam/xlogrecovery.c:732 +#: access/transam/xlogrecovery.c:731 #, c-format msgid "Could not rename file \"%s\" to \"%s\": %m." msgstr "Kunde inte döpa om fil \"%s\" till \"%s\": %m" -#: access/transam/xlogrecovery.c:786 +#: access/transam/xlogrecovery.c:770 +#, c-format +msgid "restarting backup recovery with redo LSN %X/%X" +msgstr "startar om backupåterställning med redo LSN %X/%X" + +#: access/transam/xlogrecovery.c:795 +#, c-format +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 +#, c-format +msgid "entering standby mode" +msgstr "går in i standby-läge" + +#: access/transam/xlogrecovery.c:809 +#, 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 +#, c-format +msgid "starting point-in-time recovery to %s" +msgstr "startar point-in-time-återställning till %s" + +#: access/transam/xlogrecovery.c:817 +#, c-format +msgid "starting point-in-time recovery to \"%s\"" +msgstr "startar point-in-time-återställning till \"%s\"" + +#: access/transam/xlogrecovery.c:821 +#, 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 +#, 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 #, c-format -msgid "could not locate a valid checkpoint record" -msgstr "kunde inte hitta en giltig checkpoint-post" +msgid "starting archive recovery" +msgstr "Startar arkivåterställning" -#: access/transam/xlogrecovery.c:810 +#: access/transam/xlogrecovery.c:849 #, 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:812 +#: access/transam/xlogrecovery.c:851 #, 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:826 +#: access/transam/xlogrecovery.c:865 #, 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:854 +#: access/transam/xlogrecovery.c:893 #, c-format msgid "invalid next transaction ID" msgstr "nästa transaktions-ID ogiltig" -#: access/transam/xlogrecovery.c:859 +#: access/transam/xlogrecovery.c:898 #, c-format msgid "invalid redo in checkpoint record" msgstr "ogiltig redo i checkpoint-post" -#: access/transam/xlogrecovery.c:870 +#: access/transam/xlogrecovery.c:909 #, c-format msgid "invalid redo record in shutdown checkpoint" msgstr "ogiltig redo-post i nedstängnings-checkpoint" -#: access/transam/xlogrecovery.c:899 +#: access/transam/xlogrecovery.c:938 #, 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:903 +#: access/transam/xlogrecovery.c:942 #, 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:946 +#: access/transam/xlogrecovery.c:985 #, 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:947 +#: access/transam/xlogrecovery.c:986 #, 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:1001 +#: access/transam/xlogrecovery.c:1040 #, c-format msgid "using recovery command file \"%s\" is not supported" msgstr "använda återställningskommandofil \"%s\" stöds inte" -#: access/transam/xlogrecovery.c:1066 +#: access/transam/xlogrecovery.c:1105 #, 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:1083 +#: access/transam/xlogrecovery.c:1122 #, c-format -msgid "specified neither primary_conninfo nor restore_command" -msgstr "angav varken primary_conninfo eller restore_command" +msgid "specified neither \"primary_conninfo\" nor \"restore_command\"" +msgstr "angav varken \"primary_conninfo\" eller \"restore_command\"" -#: access/transam/xlogrecovery.c:1084 +#: access/transam/xlogrecovery.c:1123 #, 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:1092 +#: access/transam/xlogrecovery.c:1131 #, 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" +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:1130 +#: access/transam/xlogrecovery.c:1169 #, c-format msgid "recovery target timeline %u does not exist" msgstr "återställningsmåltidslinje %u finns inte" -#: access/transam/xlogrecovery.c:1213 access/transam/xlogrecovery.c:1220 -#: access/transam/xlogrecovery.c:1279 access/transam/xlogrecovery.c:1359 -#: access/transam/xlogrecovery.c:1383 +#: 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 #, c-format msgid "invalid data in file \"%s\"" msgstr "felaktig data i fil \"%s\"" -#: access/transam/xlogrecovery.c:1280 +#: access/transam/xlogrecovery.c:1319 #, 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:1662 +#: access/transam/xlogrecovery.c:1330 +#, 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 +#, 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 +#, 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 #, c-format msgid "redo starts at %X/%X" msgstr "redo startar vid %X/%X" -#: access/transam/xlogrecovery.c:1675 +#: access/transam/xlogrecovery.c:1753 #, 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:1767 +#: access/transam/xlogrecovery.c:1843 #, 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:1799 +#: access/transam/xlogrecovery.c:1875 #, c-format msgid "redo done at %X/%X system usage: %s" msgstr "redo gjord vid %X/%X systemanvändning: %s" -#: access/transam/xlogrecovery.c:1805 +#: access/transam/xlogrecovery.c:1881 #, c-format msgid "last completed transaction was at log time %s" msgstr "senaste kompletta transaktionen var vid loggtid %s" -#: access/transam/xlogrecovery.c:1814 +#: access/transam/xlogrecovery.c:1890 #, c-format msgid "redo is not required" msgstr "redo behövs inte" -#: access/transam/xlogrecovery.c:1825 +#: access/transam/xlogrecovery.c:1901 #, 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:2019 +#: access/transam/xlogrecovery.c:2095 #, 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:2086 +#: access/transam/xlogrecovery.c:2162 #, c-format msgid "unexpected directory entry \"%s\" found in %s" msgstr "Oväntat katalogpost \"%s\" hittades i %s" -#: access/transam/xlogrecovery.c:2088 +#: access/transam/xlogrecovery.c:2164 #, 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:2089 +#: access/transam/xlogrecovery.c:2165 +#, 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 #, 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." +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:2163 +#: access/transam/xlogrecovery.c:2247 #, 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:2201 +#: access/transam/xlogrecovery.c:2285 #, c-format msgid "WAL redo at %X/%X for %s" msgstr "WAL-redo vid %X/%X för %s" -#: access/transam/xlogrecovery.c:2299 +#: access/transam/xlogrecovery.c:2383 #, 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:2308 +#: access/transam/xlogrecovery.c:2392 #, 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:2324 +#: access/transam/xlogrecovery.c:2408 #, 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:2508 access/transam/xlogrecovery.c:2784 +#: access/transam/xlogrecovery.c:2592 access/transam/xlogrecovery.c:2868 #, c-format msgid "recovery stopping after reaching consistency" msgstr "återställning stoppad efter att ha uppnått konsistens" -#: access/transam/xlogrecovery.c:2529 +#: access/transam/xlogrecovery.c:2613 #, 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:2619 +#: access/transam/xlogrecovery.c:2703 #, 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:2626 +#: access/transam/xlogrecovery.c:2710 #, 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:2679 +#: access/transam/xlogrecovery.c:2763 #, 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:2697 +#: access/transam/xlogrecovery.c:2781 #, 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:2764 +#: access/transam/xlogrecovery.c:2848 #, 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:2772 +#: access/transam/xlogrecovery.c:2856 #, 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:2853 +#: access/transam/xlogrecovery.c:2937 #, c-format msgid "pausing at the end of recovery" msgstr "pausar vid slutet av återställning" -#: access/transam/xlogrecovery.c:2854 +#: access/transam/xlogrecovery.c:2938 #, 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:2857 access/transam/xlogrecovery.c:4594 +#: access/transam/xlogrecovery.c:2941 access/transam/xlogrecovery.c:4678 #, c-format msgid "recovery has paused" msgstr "återställning har pausats" -#: access/transam/xlogrecovery.c:2858 +#: access/transam/xlogrecovery.c:2942 #, 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:3121 +#: access/transam/xlogrecovery.c:3205 #, 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:3329 +#: access/transam/xlogrecovery.c:3413 #, 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:3336 +#: access/transam/xlogrecovery.c:3420 #, 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:3976 +#: access/transam/xlogrecovery.c:4060 #, c-format msgid "invalid checkpoint location" msgstr "ogiltig checkpoint-position" -#: access/transam/xlogrecovery.c:3986 +#: access/transam/xlogrecovery.c:4070 #, c-format msgid "invalid checkpoint record" msgstr "ogiltig checkpoint-post" -#: access/transam/xlogrecovery.c:3992 +#: access/transam/xlogrecovery.c:4076 #, c-format msgid "invalid resource manager ID in checkpoint record" msgstr "ogiltig resurshanterar-ID i checkpoint-post" -#: access/transam/xlogrecovery.c:4000 +#: access/transam/xlogrecovery.c:4084 #, c-format msgid "invalid xl_info in checkpoint record" msgstr "ogiltig xl_info i checkpoint-post" -#: access/transam/xlogrecovery.c:4006 +#: access/transam/xlogrecovery.c:4090 #, c-format msgid "invalid length of checkpoint record" msgstr "ogiltig längd på checkpoint-post" -#: access/transam/xlogrecovery.c:4060 +#: access/transam/xlogrecovery.c:4144 #, 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:4074 +#: access/transam/xlogrecovery.c:4158 #, 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:4093 +#: access/transam/xlogrecovery.c:4177 #, c-format msgid "new target timeline is %u" msgstr "ny måltidslinje är %u" -#: access/transam/xlogrecovery.c:4296 +#: access/transam/xlogrecovery.c:4380 #, c-format msgid "WAL receiver process shutdown requested" msgstr "nedstängning av WAL-mottagarprocess efterfrågad" -#: access/transam/xlogrecovery.c:4356 +#: access/transam/xlogrecovery.c:4440 #, c-format msgid "received promote request" -msgstr "tog emot förfrågan om befordring" +msgstr "tog emot förfrågan om befordran" -#: access/transam/xlogrecovery.c:4585 +#: access/transam/xlogrecovery.c:4669 #, 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:4586 access/transam/xlogrecovery.c:4613 -#: access/transam/xlogrecovery.c:4643 +#: access/transam/xlogrecovery.c:4670 access/transam/xlogrecovery.c:4697 +#: access/transam/xlogrecovery.c:4727 #, 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:4595 +#: access/transam/xlogrecovery.c:4679 #, 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:4596 +#: access/transam/xlogrecovery.c:4680 #, 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:4607 +#: access/transam/xlogrecovery.c:4691 #, 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:4617 +#: access/transam/xlogrecovery.c:4701 #, 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:4641 +#: access/transam/xlogrecovery.c:4725 #, 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:4647 +#: access/transam/xlogrecovery.c:4731 #, 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:4689 +#: access/transam/xlogrecovery.c:4773 #, c-format msgid "multiple recovery targets specified" msgstr "multipla återställningsmål angivna" -#: access/transam/xlogrecovery.c:4690 +#: access/transam/xlogrecovery.c:4774 #, 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." +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:4701 +#: access/transam/xlogrecovery.c:4785 #, c-format msgid "The only allowed value is \"immediate\"." msgstr "Det enda tillåtna värdet är \"immediate\"." -#: access/transam/xlogrecovery.c:4853 utils/adt/timestamp.c:186 -#: utils/adt/timestamp.c:439 +#: access/transam/xlogrecovery.c:4937 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:4898 +#: access/transam/xlogrecovery.c:4982 #, c-format -msgid "recovery_target_timeline is not a valid number." -msgstr "recovery_target_timeline är inte ett giltigt nummer." +msgid "\"recovery_target_timeline\" is not a valid number." +msgstr "\"recovery_target_timeline\" är inte ett giltigt nummer." -#: access/transam/xlogutils.c:1039 +#: access/transam/xlogutils.c:1032 #, c-format msgid "could not read from WAL segment %s, offset %d: %m" msgstr "kunde inte läsa från WAL-segment %s, offset %d: %m" -#: access/transam/xlogutils.c:1046 +#: access/transam/xlogutils.c:1039 #, c-format msgid "could not read from WAL segment %s, offset %d: read %d of %d" msgstr "kunde inte läsa från WAL-segment %s, offset %d, läste %d av %d" -#: archive/shell_archive.c:96 +#: archive/shell_archive.c:98 #, c-format msgid "archive command failed with exit code %d" msgstr "arkiveringskommando misslyckades med felkod %d" -#: archive/shell_archive.c:98 archive/shell_archive.c:108 -#: archive/shell_archive.c:114 archive/shell_archive.c:123 +#: archive/shell_archive.c:100 archive/shell_archive.c:110 +#: archive/shell_archive.c:116 archive/shell_archive.c:125 #, c-format msgid "The failed archive command was: %s" msgstr "Det misslyckade arkiveringskommandot var: %s" -#: archive/shell_archive.c:105 +#: archive/shell_archive.c:107 #, c-format msgid "archive command was terminated by exception 0x%X" msgstr "arkiveringskommandot terminerades med avbrott 0x%X" -#: archive/shell_archive.c:107 postmaster/postmaster.c:3678 +#: archive/shell_archive.c:109 postmaster/postmaster.c:3094 #, 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." -#: archive/shell_archive.c:112 +#: archive/shell_archive.c:114 #, c-format msgid "archive command was terminated by signal %d: %s" msgstr "arkiveringskommandot terminerades av signal %d: %s" -#: archive/shell_archive.c:121 +#: archive/shell_archive.c:123 #, c-format msgid "archive command exited with unrecognized status %d" msgstr "arkiveringskommandot avslutade med okänd statuskod %d" -#: backup/backup_manifest.c:253 +#: backup/backup_manifest.c:254 #, c-format msgid "expected end timeline %u but found timeline %u" msgstr "förväntade sluttidslinje %u men hittade tidslinje %u" -#: backup/backup_manifest.c:277 +#: backup/backup_manifest.c:278 #, c-format msgid "expected start timeline %u but found timeline %u" msgstr "förväntade starttidslinje %u men hittade tidslinje %u" -#: backup/backup_manifest.c:304 +#: backup/backup_manifest.c:305 #, c-format msgid "start timeline %u not found in history of timeline %u" msgstr "starttidslinje %u hittades inte i historiken för tidslinje %u" -#: backup/backup_manifest.c:355 +#: backup/backup_manifest.c:356 #, c-format msgid "could not rewind temporary file" msgstr "kunde inte spola tillbaka temporär fil" -#: backup/basebackup.c:470 +#: backup/basebackup.c:479 #, c-format msgid "could not find any WAL files" msgstr "kunde inte hitta några WAL-filer" -#: backup/basebackup.c:485 backup/basebackup.c:500 backup/basebackup.c:509 +#: backup/basebackup.c:494 backup/basebackup.c:509 backup/basebackup.c:518 #, c-format msgid "could not find WAL file \"%s\"" msgstr "kunde inte hitta WAL-fil \"%s\"" -#: backup/basebackup.c:551 backup/basebackup.c:576 +#: backup/basebackup.c:560 backup/basebackup.c:585 #, c-format msgid "unexpected WAL file size \"%s\"" msgstr "oväntad WAL-filstorlek \"%s\"" -#: backup/basebackup.c:646 +#: backup/basebackup.c:656 #, c-format msgid "%lld total checksum verification failure" msgid_plural "%lld total checksum verification failures" msgstr[0] "totalt %lld verifieringsfel av checksumma" msgstr[1] "totalt %lld verifieringsfel av checksumma" -#: backup/basebackup.c:653 +#: backup/basebackup.c:663 #, c-format msgid "checksum verification failure during base backup" msgstr "misslyckad verifiering av checksumma under basbackup" -#: backup/basebackup.c:722 backup/basebackup.c:731 backup/basebackup.c:742 -#: backup/basebackup.c:759 backup/basebackup.c:768 backup/basebackup.c:779 -#: backup/basebackup.c:796 backup/basebackup.c:805 backup/basebackup.c:817 -#: backup/basebackup.c:841 backup/basebackup.c:855 backup/basebackup.c:866 -#: backup/basebackup.c:877 backup/basebackup.c:890 +#: backup/basebackup.c:733 backup/basebackup.c:742 backup/basebackup.c:753 +#: backup/basebackup.c:770 backup/basebackup.c:779 backup/basebackup.c:788 +#: backup/basebackup.c:803 backup/basebackup.c:820 backup/basebackup.c:829 +#: backup/basebackup.c:841 backup/basebackup.c:865 backup/basebackup.c:879 +#: backup/basebackup.c:890 backup/basebackup.c:901 backup/basebackup.c:914 #, c-format msgid "duplicate option \"%s\"" msgstr "duplicerad flagga \"%s\"" -#: backup/basebackup.c:750 +#: backup/basebackup.c:761 #, c-format msgid "unrecognized checkpoint type: \"%s\"" msgstr "okänd checkpoint-typ: \"%s\"" -#: backup/basebackup.c:785 +#: backup/basebackup.c:793 +#, c-format +msgid "incremental backups cannot be taken unless WAL summarization is enabled" +msgstr "inkrementella backup:er kan inte tas om inte WAL-summering är påslagen" + +#: backup/basebackup.c:809 #, c-format msgid "%d is outside the valid range for parameter \"%s\" (%d .. %d)" msgstr "%d är utanför giltigt intervall för parameter \"%s\" (%d .. %d)" -#: backup/basebackup.c:830 +#: backup/basebackup.c:854 #, c-format msgid "unrecognized manifest option: \"%s\"" msgstr "okänd manifestflagga: \"%s\"" -#: backup/basebackup.c:846 -#, c-format -msgid "unrecognized checksum algorithm: \"%s\"" -msgstr "okänd algoritm för kontrollsumma: \"%s\"" - -#: backup/basebackup.c:881 +#: backup/basebackup.c:905 #, c-format msgid "unrecognized compression algorithm: \"%s\"" msgstr "okänd komprimeringsalgoritm: \"%s\"" -#: backup/basebackup.c:897 +#: backup/basebackup.c:921 #, c-format msgid "unrecognized base backup option: \"%s\"" msgstr "okänd basbackupflagga: \"%s\"" -#: backup/basebackup.c:908 +#: backup/basebackup.c:932 #, c-format msgid "manifest checksums require a backup manifest" msgstr "manifestchecksummor kräver ett backup-manifest" -#: backup/basebackup.c:917 +#: backup/basebackup.c:941 #, c-format msgid "target detail cannot be used without target" msgstr "målinställningar kan inte användas utan ett mål" -#: backup/basebackup.c:926 backup/basebackup_target.c:218 +#: backup/basebackup.c:950 backup/basebackup_target.c:218 #, c-format msgid "target \"%s\" does not accept a target detail" msgstr "målet \"%s\" stöder inte målinställningar" -#: backup/basebackup.c:937 +#: backup/basebackup.c:961 #, c-format msgid "compression detail cannot be specified unless compression is enabled" msgstr "komprimeringsinställning kan inte anges om komprimering inte är påslagen" -#: backup/basebackup.c:950 +#: backup/basebackup.c:974 #, c-format msgid "invalid compression specification: %s" msgstr "ogiltig inställning för komprimering: %s" -#: backup/basebackup.c:1116 backup/basebackup.c:1294 +#: backup/basebackup.c:1024 +#, c-format +msgid "must UPLOAD_MANIFEST before performing an incremental BASE_BACKUP" +msgstr "måste UPLOAD_MANIFEST innan befordran av en inkrementell BASE_BACKUP" + +#: backup/basebackup.c:1157 backup/basebackup.c:1358 #, c-format msgid "could not stat file or directory \"%s\": %m" msgstr "kunde inte ta status på fil eller katalog \"%s\": %m" -#: backup/basebackup.c:1430 +#: backup/basebackup.c:1544 #, c-format msgid "skipping special file \"%s\"" msgstr "hoppar över specialfil \"%s\"" -#: backup/basebackup.c:1542 -#, c-format -msgid "invalid segment number %d in file \"%s\"" -msgstr "ogiltigt segmentnummer %d i fil \"%s\"" - -#: backup/basebackup.c:1574 +#: backup/basebackup.c:1751 #, c-format msgid "could not verify checksum in file \"%s\", block %u: read buffer size %d and page size %d differ" msgstr "kunde inte verifiera checksumma i fil \"%s\", block %u: läsbufferstorlek %d och sidstorlek %d skiljer sig åt" -#: backup/basebackup.c:1658 +#: backup/basebackup.c:1813 +#, c-format +msgid "file \"%s\" has a total of %d checksum verification failure" +msgid_plural "file \"%s\" has a total of %d checksum verification failures" +msgstr[0] "filen \"%s\" har totalt %d kontrollerad felaktiga checksumma" +msgstr[1] "filen \"%s\" har totalt %d kontrollerade felaktiga checksummor" + +#: backup/basebackup.c:1917 #, c-format msgid "checksum verification failed in file \"%s\", block %u: calculated %X but expected %X" msgstr "checksumkontroll misslyckades i fil \"%s\", block %u: beräknade %X men förväntade %X" -#: backup/basebackup.c:1665 +#: backup/basebackup.c:1924 #, c-format msgid "further checksum verification failures in file \"%s\" will not be reported" msgstr "ytterligare kontroller av checksummor i fil \"%s\" kommer inte rapporteras" -#: backup/basebackup.c:1721 -#, c-format -msgid "file \"%s\" has a total of %d checksum verification failure" -msgid_plural "file \"%s\" has a total of %d checksum verification failures" -msgstr[0] "filen \"%s\" har totalt %d kontrollerad felaktiga checksumma" -msgstr[1] "filen \"%s\" har totalt %d kontrollerade felaktiga checksummor" - -#: backup/basebackup.c:1767 +#: backup/basebackup.c:2048 #, c-format msgid "file name too long for tar format: \"%s\"" msgstr "filnamnet är för långt för tar-format: \"%s\"" -#: backup/basebackup.c:1772 +#: backup/basebackup.c:2053 #, c-format msgid "symbolic link target too long for tar format: file name \"%s\", target \"%s\"" msgstr "mål för symbolisk länk är för långt för tar-format: filnamn \"%s\", mål \"%s\"" +#: backup/basebackup.c:2127 +#, c-format +msgid "could not read file \"%s\": read %zd of %zu" +msgstr "kunde inte läsa fil \"%s\": läste %zd av %zu" + #: backup/basebackup_gzip.c:67 #, c-format msgid "gzip compression is not supported by this build" @@ -3643,53 +3906,114 @@ msgstr "gzip-komprimering stöds inte av detta bygge" msgid "could not initialize compression library" msgstr "kunde inte initierar komprimeringsbibliotek" +#: backup/basebackup_incremental.c:294 +#, c-format +msgid "manifest contains no required WAL ranges" +msgstr "manifestet innehåller inga WAL-intervall som krävs" + +#: backup/basebackup_incremental.c:349 +#, c-format +msgid "timeline %u found in manifest, but not in this server's history" +msgstr "tidslinje %u hittades i manifest men inte i denna servers historik" + +#: backup/basebackup_incremental.c:414 +#, c-format +msgid "manifest requires WAL from initial timeline %u starting at %X/%X, but that timeline begins at %X/%X" +msgstr "manifestet kräver WAL från initiala tidslinjen %u vid start %X/%X men den tidslinjen börjar vid %X/%X" + +#: backup/basebackup_incremental.c:424 +#, c-format +msgid "manifest requires WAL from continuation timeline %u starting at %X/%X, but that timeline begins at %X/%X" +msgstr "manifestet kräver WAL från tidslinje %u att fortsätta med som startar vid %X/%X men den tidslinjen börjar vid %X/%X" + +#: backup/basebackup_incremental.c:435 +#, c-format +msgid "manifest requires WAL from final timeline %u ending at %X/%X, but this backup starts at %X/%X" +msgstr "manifestet kräver WAL från avslutande tidslinje %u som slutar vid %X/%X, men denna backup startar vid %X/%X" + +#: backup/basebackup_incremental.c:439 +#, c-format +msgid "This can happen for incremental backups on a standby if there was little activity since the previous backup." +msgstr "Detta kan hända vid inkrementella backuper på en standby om det är lite aktivitet från föregående backup." + +#: backup/basebackup_incremental.c:446 +#, c-format +msgid "manifest requires WAL from non-final timeline %u ending at %X/%X, but this server switched timelines at %X/%X" +msgstr "manifestet kräver WAL från en icke avslutande tidslinje %u som slutar vid %X/%X men denns server bytte tidslinje vid %X/%X" + +#: backup/basebackup_incremental.c:527 +#, c-format +msgid "WAL summaries are required on timeline %u from %X/%X to %X/%X, but no summaries for that timeline and LSN range exist" +msgstr "WAL-summering krävs för tidslinje %u från %X/%X till %X/%X men inga summeringar för den tidslinjen och det LSN-intervallet finns" + +#: backup/basebackup_incremental.c:534 +#, c-format +msgid "WAL summaries are required on timeline %u from %X/%X to %X/%X, but the summaries for that timeline and LSN range are incomplete" +msgstr "WAL-summering krävs för tidslinje %u från %X/%X till %X/%X men summeringar för den tidslinjen och det LSN-intervallet är inkompletta" + +#: backup/basebackup_incremental.c:538 +#, c-format +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 +#, 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 +#, 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" + #: backup/basebackup_lz4.c:67 #, c-format msgid "lz4 compression is not supported by this build" msgstr "lz4-komprimering stöds inte av detta bygge" -#: backup/basebackup_server.c:75 +#: backup/basebackup_server.c:73 #, c-format msgid "permission denied to create backup stored on server" msgstr "rättighet saknas för att skapa backup som lagras på servern" -#: backup/basebackup_server.c:76 +#: backup/basebackup_server.c:74 #, c-format msgid "Only roles with privileges of the \"%s\" role may create a backup stored on the server." msgstr "Bara roller med rättigheter från rollen \"%s\" får skapa backup som lagras på servern." -#: backup/basebackup_server.c:91 +#: backup/basebackup_server.c:89 #, c-format msgid "relative path not allowed for backup stored on server" msgstr "relativ sökväg tillåts inte för backup som sparas på servern" -#: backup/basebackup_server.c:104 commands/dbcommands.c:501 -#: commands/tablespace.c:163 commands/tablespace.c:179 -#: commands/tablespace.c:599 commands/tablespace.c:644 replication/slot.c:1704 +#: 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 #: storage/file/copydir.c:47 #, c-format msgid "could not create directory \"%s\": %m" msgstr "kunde inte skapa katalog \"%s\": %m" -#: backup/basebackup_server.c:117 +#: backup/basebackup_server.c:115 #, c-format msgid "directory \"%s\" exists but is not empty" msgstr "katalogen \"%s\" existerar men är inte tom" -#: backup/basebackup_server.c:125 utils/init/postinit.c:1164 +#: backup/basebackup_server.c:123 utils/init/postinit.c:1177 #, c-format msgid "could not access directory \"%s\": %m" msgstr "kunde inte komma åt katalog \"%s\": %m" -#: backup/basebackup_server.c:177 backup/basebackup_server.c:184 -#: backup/basebackup_server.c:270 backup/basebackup_server.c:277 -#: storage/smgr/md.c:504 storage/smgr/md.c:511 storage/smgr/md.c:593 -#: storage/smgr/md.c:615 storage/smgr/md.c:865 +#: 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 #, c-format msgid "Check free disk space." msgstr "Kontrollera ledigt diskutrymme." -#: backup/basebackup_server.c:181 backup/basebackup_server.c:274 +#: backup/basebackup_server.c:179 backup/basebackup_server.c:272 +#: backup/walsummary.c:309 #, c-format msgid "could not write file \"%s\": wrote only %d of %d bytes at offset %u" msgstr "kunde inte skriva fil \"%s\": skrev bara %d av %d byte vid offset %u" @@ -3719,709 +4043,720 @@ msgstr "kunde inte sätta komprimeringens arbetarantal till %d: %s" msgid "could not enable long-distance mode: %s" msgstr "kunde inte aktivera långdistansläge: %s" -#: bootstrap/bootstrap.c:243 postmaster/postmaster.c:721 tcop/postgres.c:3819 +#: backup/walsummaryfuncs.c:95 +#, c-format +msgid "invalid timeline %lld" +msgstr "ogiltig tidslinje %lld" + +#: bootstrap/bootstrap.c:239 postmaster/postmaster.c:623 tcop/postgres.c:3946 #, c-format msgid "--%s requires a value" msgstr "--%s kräver ett värde" -#: bootstrap/bootstrap.c:248 postmaster/postmaster.c:726 tcop/postgres.c:3824 +#: bootstrap/bootstrap.c:244 postmaster/postmaster.c:628 tcop/postgres.c:3951 #, c-format msgid "-c %s requires a value" msgstr "-c %s kräver ett värde" -#: bootstrap/bootstrap.c:289 -#, c-format -msgid "-X requires a power of two value between 1 MB and 1 GB" -msgstr "-X kräver ett tvåpotensvärde mellan 1 MB och 1 GB" - -#: bootstrap/bootstrap.c:295 postmaster/postmaster.c:844 -#: postmaster/postmaster.c:857 +#: bootstrap/bootstrap.c:282 postmaster/postmaster.c:746 +#: postmaster/postmaster.c:759 #, c-format msgid "Try \"%s --help\" for more information.\n" msgstr "Försök med \"%s --help\" för mer information.\n" -#: bootstrap/bootstrap.c:304 +#: bootstrap/bootstrap.c:291 #, c-format msgid "%s: invalid command-line arguments\n" msgstr "%s: ogiltigt kommandoradsargument\n" -#: catalog/aclchk.c:201 +#: catalog/aclchk.c:210 #, c-format msgid "grant options can only be granted to roles" msgstr "\"grant option\" kan bara ges till roller" -#: catalog/aclchk.c:323 +#: catalog/aclchk.c:332 #, c-format msgid "no privileges were granted for column \"%s\" of relation \"%s\"" msgstr "inga rättigheter givna för kolumn \"%s\" i relation \"%s\"" -#: catalog/aclchk.c:328 +#: catalog/aclchk.c:337 #, c-format msgid "no privileges were granted for \"%s\"" msgstr "inga rättigheter gavs till \"%s\"" -#: catalog/aclchk.c:336 +#: catalog/aclchk.c:345 #, c-format msgid "not all privileges were granted for column \"%s\" of relation \"%s\"" msgstr "inte alla rättigheter givna för kolumn \"%s\" i relation \"%s\"" -#: catalog/aclchk.c:341 +#: catalog/aclchk.c:350 #, c-format msgid "not all privileges were granted for \"%s\"" msgstr "inte alla rättigheter givna för \"%s\"" -#: catalog/aclchk.c:352 +#: catalog/aclchk.c:361 #, c-format msgid "no privileges could be revoked for column \"%s\" of relation \"%s\"" msgstr "inga rättigheter kunde tas tillbaka från kolumn \"%s\" i relation \"%s\"" -#: catalog/aclchk.c:357 +#: catalog/aclchk.c:366 #, c-format msgid "no privileges could be revoked for \"%s\"" msgstr "inga rättigheter kunde tas tillbaka från \"%s\"" -#: catalog/aclchk.c:365 +#: catalog/aclchk.c:374 #, c-format msgid "not all privileges could be revoked for column \"%s\" of relation \"%s\"" msgstr "inte alla rättigheter kunde tas tillbaka från kolumn \"%s\" i relation \"%s\"" -#: catalog/aclchk.c:370 +#: catalog/aclchk.c:379 #, c-format msgid "not all privileges could be revoked for \"%s\"" msgstr "inte alla rättigheter kunde tas tillbaka från \"%s\"" -#: catalog/aclchk.c:402 +#: catalog/aclchk.c:411 #, c-format msgid "grantor must be current user" msgstr "utfärdare måste vara den aktiva användaren" -#: catalog/aclchk.c:470 catalog/aclchk.c:1045 +#: catalog/aclchk.c:479 catalog/aclchk.c:1054 #, c-format msgid "invalid privilege type %s for relation" msgstr "ogiltig privilegietyp %s för relation" -#: catalog/aclchk.c:474 catalog/aclchk.c:1049 +#: catalog/aclchk.c:483 catalog/aclchk.c:1058 #, c-format msgid "invalid privilege type %s for sequence" msgstr "ogiltig privilegietyp %s för sekvens" -#: catalog/aclchk.c:478 +#: catalog/aclchk.c:487 #, c-format msgid "invalid privilege type %s for database" msgstr "ogiltig privilegietyp %s för databas" -#: catalog/aclchk.c:482 +#: catalog/aclchk.c:491 #, c-format msgid "invalid privilege type %s for domain" msgstr "ogiltig privilegietyp %s för domän" -#: catalog/aclchk.c:486 catalog/aclchk.c:1053 +#: catalog/aclchk.c:495 catalog/aclchk.c:1062 #, c-format msgid "invalid privilege type %s for function" msgstr "ogiltig privilegietyp %s för funktion" -#: catalog/aclchk.c:490 +#: catalog/aclchk.c:499 #, c-format msgid "invalid privilege type %s for language" msgstr "ogiltig privilegietyp %s för språk" -#: catalog/aclchk.c:494 +#: catalog/aclchk.c:503 #, c-format msgid "invalid privilege type %s for large object" msgstr "ogiltig privilegietyp %s för stort objekt" -#: catalog/aclchk.c:498 catalog/aclchk.c:1069 +#: catalog/aclchk.c:507 catalog/aclchk.c:1078 #, c-format msgid "invalid privilege type %s for schema" msgstr "ogiltig privilegietyp %s för schema" -#: catalog/aclchk.c:502 catalog/aclchk.c:1057 +#: catalog/aclchk.c:511 catalog/aclchk.c:1066 #, c-format msgid "invalid privilege type %s for procedure" msgstr "ogiltig rättighetstyp %s för procedur" -#: catalog/aclchk.c:506 catalog/aclchk.c:1061 +#: catalog/aclchk.c:515 catalog/aclchk.c:1070 #, c-format msgid "invalid privilege type %s for routine" msgstr "ogiltig rättighetstyp %s för rutin" -#: catalog/aclchk.c:510 +#: catalog/aclchk.c:519 #, c-format msgid "invalid privilege type %s for tablespace" msgstr "ogiltig privilegietyp %s för tabellutrymme" -#: catalog/aclchk.c:514 catalog/aclchk.c:1065 +#: catalog/aclchk.c:523 catalog/aclchk.c:1074 #, c-format msgid "invalid privilege type %s for type" msgstr "ogiltig privilegietyp %s för typ" -#: catalog/aclchk.c:518 +#: catalog/aclchk.c:527 #, c-format msgid "invalid privilege type %s for foreign-data wrapper" msgstr "ogiltig privilegietyp %s för främmande data-omvandlare" -#: catalog/aclchk.c:522 +#: catalog/aclchk.c:531 #, c-format msgid "invalid privilege type %s for foreign server" msgstr "ogiltig privilegietyp %s för främmande server" -#: catalog/aclchk.c:526 +#: catalog/aclchk.c:535 #, c-format msgid "invalid privilege type %s for parameter" msgstr "ogiltig privilegietyp %s för parameter" -#: catalog/aclchk.c:565 +#: catalog/aclchk.c:574 #, c-format msgid "column privileges are only valid for relations" msgstr "kolumnprivilegier är bara giltiga för relationer" -#: catalog/aclchk.c:728 catalog/aclchk.c:3555 catalog/objectaddress.c:1092 -#: catalog/pg_largeobject.c:116 storage/large_object/inv_api.c:287 +#: catalog/aclchk.c:737 catalog/aclchk.c:3624 catalog/objectaddress.c:1054 +#: catalog/pg_largeobject.c:113 storage/large_object/inv_api.c:285 #, c-format msgid "large object %u does not exist" msgstr "stort objekt %u existerar inte" -#: catalog/aclchk.c:1102 +#: catalog/aclchk.c:1111 #, c-format msgid "default privileges cannot be set for columns" msgstr "standardrättigheter kan inte sättas för kolumner" -#: catalog/aclchk.c:1138 +#: catalog/aclchk.c:1147 #, c-format msgid "permission denied to change default privileges" msgstr "rättighet saknas för att ändra standardrättigheter" -#: catalog/aclchk.c:1256 +#: catalog/aclchk.c:1265 #, c-format msgid "cannot use IN SCHEMA clause when using GRANT/REVOKE ON SCHEMAS" msgstr "kan inte använda IN SCHEMA-klausul samtidigt som GRANT/REVOKE ON SCHEMAS" -#: catalog/aclchk.c:1595 catalog/catalog.c:631 catalog/objectaddress.c:1561 -#: catalog/pg_publication.c:533 commands/analyze.c:390 commands/copy.c:837 -#: commands/sequence.c:1663 commands/tablecmds.c:7339 commands/tablecmds.c:7495 -#: commands/tablecmds.c:7545 commands/tablecmds.c:7619 -#: commands/tablecmds.c:7689 commands/tablecmds.c:7801 -#: commands/tablecmds.c:7895 commands/tablecmds.c:7954 -#: commands/tablecmds.c:8043 commands/tablecmds.c:8073 -#: commands/tablecmds.c:8201 commands/tablecmds.c:8283 -#: commands/tablecmds.c:8417 commands/tablecmds.c:8525 -#: commands/tablecmds.c:12240 commands/tablecmds.c:12421 -#: commands/tablecmds.c:12582 commands/tablecmds.c:13744 -#: commands/tablecmds.c:16273 commands/trigger.c:949 parser/analyze.c:2518 -#: parser/parse_relation.c:737 parser/parse_target.c:1054 -#: parser/parse_type.c:144 parser/parse_utilcmd.c:3413 -#: parser/parse_utilcmd.c:3449 parser/parse_utilcmd.c:3491 utils/adt/acl.c:2876 -#: utils/adt/ruleutils.c:2799 +#: catalog/aclchk.c:1616 catalog/catalog.c:650 catalog/objectaddress.c:1523 +#: catalog/pg_publication.c:528 commands/analyze.c:380 commands/copy.c:947 +#: commands/sequence.c:1655 commands/tablecmds.c:7518 commands/tablecmds.c:7672 +#: commands/tablecmds.c:7722 commands/tablecmds.c:7796 +#: commands/tablecmds.c:7866 commands/tablecmds.c:7996 +#: commands/tablecmds.c:8125 commands/tablecmds.c:8219 +#: commands/tablecmds.c:8320 commands/tablecmds.c:8447 +#: commands/tablecmds.c:8477 commands/tablecmds.c:8619 +#: commands/tablecmds.c:8712 commands/tablecmds.c:8846 +#: commands/tablecmds.c:8958 commands/tablecmds.c:12695 +#: commands/tablecmds.c:12887 commands/tablecmds.c:13048 +#: commands/tablecmds.c:14237 commands/tablecmds.c:16863 commands/trigger.c:942 +#: 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 +#: utils/adt/ruleutils.c:2807 #, c-format msgid "column \"%s\" of relation \"%s\" does not exist" msgstr "kolumn \"%s\" i relation \"%s\" existerar inte" -#: catalog/aclchk.c:1840 +#: catalog/aclchk.c:1861 #, c-format msgid "\"%s\" is an index" msgstr "\"%s\" är ett index" -#: catalog/aclchk.c:1847 commands/tablecmds.c:13901 commands/tablecmds.c:17172 +#: catalog/aclchk.c:1868 commands/tablecmds.c:14394 commands/tablecmds.c:17772 #, c-format msgid "\"%s\" is a composite type" msgstr "\"%s\" är en composite-typ" -#: catalog/aclchk.c:1855 catalog/objectaddress.c:1401 commands/sequence.c:1171 -#: commands/tablecmds.c:254 commands/tablecmds.c:17136 utils/adt/acl.c:2084 -#: utils/adt/acl.c:2114 utils/adt/acl.c:2146 utils/adt/acl.c:2178 -#: utils/adt/acl.c:2206 utils/adt/acl.c:2236 +#: catalog/aclchk.c:1876 catalog/objectaddress.c:1363 commands/tablecmds.c:263 +#: commands/tablecmds.c:17736 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 #, c-format msgid "\"%s\" is not a sequence" msgstr "\"%s\" är inte en sekvens" -#: catalog/aclchk.c:1893 +#: catalog/aclchk.c:1914 #, c-format msgid "sequence \"%s\" only supports USAGE, SELECT, and UPDATE privileges" msgstr "sekvensen \"%s\" stöder bara USAGE-, SELECT- och UPDATE-rättigheter" -#: catalog/aclchk.c:1910 +#: catalog/aclchk.c:1931 #, c-format msgid "invalid privilege type %s for table" msgstr "ogiltig rättighetstyp %s för tabell" -#: catalog/aclchk.c:2072 +#: catalog/aclchk.c:2093 #, c-format msgid "invalid privilege type %s for column" msgstr "ogitligt rättighetstyp %s för kolumn" -#: catalog/aclchk.c:2085 +#: catalog/aclchk.c:2106 #, c-format msgid "sequence \"%s\" only supports SELECT column privileges" msgstr "sekvensen \"%s\" stöder bara kolumnrättigheten SELECT" -#: catalog/aclchk.c:2275 +#: catalog/aclchk.c:2296 #, c-format msgid "language \"%s\" is not trusted" msgstr "språket \"%s\" är inte betrott" -#: catalog/aclchk.c:2277 +#: catalog/aclchk.c:2298 #, c-format msgid "GRANT and REVOKE are not allowed on untrusted languages, because only superusers can use untrusted languages." msgstr "GRANT och REVOKE är inte tillåtna på icke betrodda språk då bara en superuser kan använda icke betrodda språk." -#: catalog/aclchk.c:2427 +#: catalog/aclchk.c:2449 #, c-format msgid "cannot set privileges of array types" msgstr "kan inte sätta privilegier för array-typer" -#: catalog/aclchk.c:2428 +#: catalog/aclchk.c:2450 #, c-format msgid "Set the privileges of the element type instead." msgstr "Sätt rättigheter för elementtypen istället." -#: catalog/aclchk.c:2435 catalog/objectaddress.c:1667 +#: catalog/aclchk.c:2454 +#, c-format +msgid "cannot set privileges of multirange types" +msgstr "kan inte sätta privilegier för multirange-typer" + +#: catalog/aclchk.c:2455 +#, c-format +msgid "Set the privileges of the range type instead." +msgstr "Sätt rättigheter för range-typen istället." + +#: catalog/aclchk.c:2462 catalog/objectaddress.c:1629 #, c-format msgid "\"%s\" is not a domain" msgstr "\"%s\" är inte en domän" -#: catalog/aclchk.c:2619 +#: catalog/aclchk.c:2648 #, c-format msgid "unrecognized privilege type \"%s\"" msgstr "okänd privilegietyp \"%s\"" -#: catalog/aclchk.c:2684 +#: catalog/aclchk.c:2715 #, c-format msgid "permission denied for aggregate %s" msgstr "rättighet saknas för aggregat %s" -#: catalog/aclchk.c:2687 +#: catalog/aclchk.c:2718 #, c-format msgid "permission denied for collation %s" msgstr "rättighet saknas för jämförelse %s" -#: catalog/aclchk.c:2690 +#: catalog/aclchk.c:2721 #, c-format msgid "permission denied for column %s" msgstr "rättighet saknas för kolumn %s" -#: catalog/aclchk.c:2693 +#: catalog/aclchk.c:2724 #, c-format msgid "permission denied for conversion %s" msgstr "rättighet saknas för konvertering %s" -#: catalog/aclchk.c:2696 +#: catalog/aclchk.c:2727 #, c-format msgid "permission denied for database %s" msgstr "rättighet saknas för databas %s" -#: catalog/aclchk.c:2699 +#: catalog/aclchk.c:2730 #, c-format msgid "permission denied for domain %s" msgstr "rättighet saknas för domän %s" -#: catalog/aclchk.c:2702 +#: catalog/aclchk.c:2733 #, c-format msgid "permission denied for event trigger %s" msgstr "rättighet saknas för händelsetrigger %s" -#: catalog/aclchk.c:2705 +#: catalog/aclchk.c:2736 #, c-format msgid "permission denied for extension %s" msgstr "rättighet saknas för utökning %s" -#: catalog/aclchk.c:2708 +#: catalog/aclchk.c:2739 #, c-format msgid "permission denied for foreign-data wrapper %s" msgstr "rättighet saknas för främmande data-omvandlare %s" -#: catalog/aclchk.c:2711 +#: catalog/aclchk.c:2742 #, c-format msgid "permission denied for foreign server %s" msgstr "rättighet saknas för främmande server %s" -#: catalog/aclchk.c:2714 +#: catalog/aclchk.c:2745 #, c-format msgid "permission denied for foreign table %s" msgstr "rättighet saknas för främmande tabell %s" -#: catalog/aclchk.c:2717 +#: catalog/aclchk.c:2748 #, c-format msgid "permission denied for function %s" msgstr "rättighet saknas för funktion %s" -#: catalog/aclchk.c:2720 +#: catalog/aclchk.c:2751 #, c-format msgid "permission denied for index %s" msgstr "rättighet saknas för index %s" -#: catalog/aclchk.c:2723 +#: catalog/aclchk.c:2754 #, c-format msgid "permission denied for language %s" msgstr "rättighet saknas för språk %s" -#: catalog/aclchk.c:2726 +#: catalog/aclchk.c:2757 #, c-format msgid "permission denied for large object %s" msgstr "rättighet saknas för stort objekt %s" -#: catalog/aclchk.c:2729 +#: catalog/aclchk.c:2760 #, c-format msgid "permission denied for materialized view %s" msgstr "rättighet saknas för materialiserad vy %s" -#: catalog/aclchk.c:2732 +#: catalog/aclchk.c:2763 #, c-format msgid "permission denied for operator class %s" msgstr "rättighet saknas för operatorklasss %s" -#: catalog/aclchk.c:2735 +#: catalog/aclchk.c:2766 #, c-format msgid "permission denied for operator %s" msgstr "rättighet saknas för operator %s" -#: catalog/aclchk.c:2738 +#: catalog/aclchk.c:2769 #, c-format msgid "permission denied for operator family %s" msgstr "rättighet saknas för operatorfamilj %s" -#: catalog/aclchk.c:2741 +#: catalog/aclchk.c:2772 #, c-format msgid "permission denied for parameter %s" msgstr "rättighet saknas för parametern %s" -#: catalog/aclchk.c:2744 +#: catalog/aclchk.c:2775 #, c-format msgid "permission denied for policy %s" msgstr "rättighet saknas för policy %s" -#: catalog/aclchk.c:2747 +#: catalog/aclchk.c:2778 #, c-format msgid "permission denied for procedure %s" msgstr "rättighet saknas för procedur %s" -#: catalog/aclchk.c:2750 +#: catalog/aclchk.c:2781 #, c-format msgid "permission denied for publication %s" msgstr "rättighet saknas för publicering %s" -#: catalog/aclchk.c:2753 +#: catalog/aclchk.c:2784 #, c-format msgid "permission denied for routine %s" msgstr "rättighet saknas för rutin %s" -#: catalog/aclchk.c:2756 +#: catalog/aclchk.c:2787 #, c-format msgid "permission denied for schema %s" msgstr "rättighet saknas för schema %s" -#: catalog/aclchk.c:2759 commands/sequence.c:659 commands/sequence.c:885 -#: commands/sequence.c:927 commands/sequence.c:968 commands/sequence.c:1761 -#: commands/sequence.c:1810 +#: catalog/aclchk.c:2790 commands/sequence.c:654 commands/sequence.c:880 +#: commands/sequence.c:922 commands/sequence.c:963 commands/sequence.c:1753 +#: commands/sequence.c:1799 #, c-format msgid "permission denied for sequence %s" msgstr "rättighet saknas för sekvens %s" -#: catalog/aclchk.c:2762 +#: catalog/aclchk.c:2793 #, c-format msgid "permission denied for statistics object %s" msgstr "rättighet saknas för statistikobjekt %s" -#: catalog/aclchk.c:2765 +#: catalog/aclchk.c:2796 #, c-format msgid "permission denied for subscription %s" msgstr "rättighet saknas för prenumeration %s" -#: catalog/aclchk.c:2768 +#: catalog/aclchk.c:2799 #, c-format msgid "permission denied for table %s" msgstr "rättighet saknas för tabell %s" -#: catalog/aclchk.c:2771 +#: catalog/aclchk.c:2802 #, c-format msgid "permission denied for tablespace %s" msgstr "rättighet saknas för tabellutrymme %s" -#: catalog/aclchk.c:2774 +#: catalog/aclchk.c:2805 #, c-format msgid "permission denied for text search configuration %s" msgstr "rättighet saknas för textsökkonfigurering %s" -#: catalog/aclchk.c:2777 +#: catalog/aclchk.c:2808 #, c-format msgid "permission denied for text search dictionary %s" msgstr "rättighet saknas för textsökordlista %s" -#: catalog/aclchk.c:2780 +#: catalog/aclchk.c:2811 #, c-format msgid "permission denied for type %s" msgstr "rättighet saknas för typ %s" -#: catalog/aclchk.c:2783 +#: catalog/aclchk.c:2814 #, c-format msgid "permission denied for view %s" msgstr "rättighet saknas för vy %s" -#: catalog/aclchk.c:2819 +#: catalog/aclchk.c:2850 #, c-format msgid "must be owner of aggregate %s" msgstr "måste vara ägaren till aggregatet %s" -#: catalog/aclchk.c:2822 +#: catalog/aclchk.c:2853 #, c-format msgid "must be owner of collation %s" msgstr "måste vara ägaren till jämförelsen %s" -#: catalog/aclchk.c:2825 +#: catalog/aclchk.c:2856 #, c-format msgid "must be owner of conversion %s" msgstr "måste vara ägaren till konverteringen %s" -#: catalog/aclchk.c:2828 +#: catalog/aclchk.c:2859 #, c-format msgid "must be owner of database %s" msgstr "måste vara ägaren till databasen %s" -#: catalog/aclchk.c:2831 +#: catalog/aclchk.c:2862 #, c-format msgid "must be owner of domain %s" msgstr "måste vara ägaren av domänen %s" -#: catalog/aclchk.c:2834 +#: catalog/aclchk.c:2865 #, c-format msgid "must be owner of event trigger %s" msgstr "måste vara ägaren till händelsetrigger %s" -#: catalog/aclchk.c:2837 +#: catalog/aclchk.c:2868 #, c-format msgid "must be owner of extension %s" msgstr "måste vara ägaren till utökningen %s" -#: catalog/aclchk.c:2840 +#: catalog/aclchk.c:2871 #, c-format msgid "must be owner of foreign-data wrapper %s" msgstr "måste vara ägaren till främmande data-omvandlaren %s" -#: catalog/aclchk.c:2843 +#: catalog/aclchk.c:2874 #, c-format msgid "must be owner of foreign server %s" msgstr "måste vara ägaren till främmande servern %s" -#: catalog/aclchk.c:2846 +#: catalog/aclchk.c:2877 #, c-format msgid "must be owner of foreign table %s" msgstr "måste vara ägaren till främmande tabellen %s" -#: catalog/aclchk.c:2849 +#: catalog/aclchk.c:2880 #, c-format msgid "must be owner of function %s" msgstr "måste vara ägaren till funktionen %s" -#: catalog/aclchk.c:2852 +#: catalog/aclchk.c:2883 #, c-format msgid "must be owner of index %s" msgstr "måste vara ägaren till indexet %s" -#: catalog/aclchk.c:2855 +#: catalog/aclchk.c:2886 #, c-format msgid "must be owner of language %s" msgstr "måste vara ägaren till språket %s" -#: catalog/aclchk.c:2858 +#: catalog/aclchk.c:2889 #, c-format msgid "must be owner of large object %s" msgstr "måste vara ägaren till stora objektet %s" -#: catalog/aclchk.c:2861 +#: catalog/aclchk.c:2892 #, c-format msgid "must be owner of materialized view %s" msgstr "måste vara ägaren till den materialiserade vyn %s" -#: catalog/aclchk.c:2864 +#: catalog/aclchk.c:2895 #, c-format msgid "must be owner of operator class %s" msgstr "måste vara ägaren till operatorklassen %s" -#: catalog/aclchk.c:2867 +#: catalog/aclchk.c:2898 #, c-format msgid "must be owner of operator %s" msgstr "måste vara ägaren till operatorn %s" -#: catalog/aclchk.c:2870 +#: catalog/aclchk.c:2901 #, c-format msgid "must be owner of operator family %s" msgstr "måste vara ägaren till operatorfamiljen %s" -#: catalog/aclchk.c:2873 +#: catalog/aclchk.c:2904 #, c-format msgid "must be owner of procedure %s" msgstr "måste vara ägaren till proceduren %s" -#: catalog/aclchk.c:2876 +#: catalog/aclchk.c:2907 #, c-format msgid "must be owner of publication %s" msgstr "måste vara ägaren till publiceringen %s" -#: catalog/aclchk.c:2879 +#: catalog/aclchk.c:2910 #, c-format msgid "must be owner of routine %s" msgstr "måste vara ägaren till rutinen %s" -#: catalog/aclchk.c:2882 +#: catalog/aclchk.c:2913 #, c-format msgid "must be owner of sequence %s" msgstr "måste vara ägaren till sekvensen %s" -#: catalog/aclchk.c:2885 +#: catalog/aclchk.c:2916 #, c-format msgid "must be owner of subscription %s" msgstr "måste vara ägaren till prenumerationen %s" -#: catalog/aclchk.c:2888 +#: catalog/aclchk.c:2919 #, c-format msgid "must be owner of table %s" msgstr "måste vara ägaren till tabellen %s" -#: catalog/aclchk.c:2891 +#: catalog/aclchk.c:2922 #, c-format msgid "must be owner of type %s" msgstr "måste vara ägaren till typen %s" -#: catalog/aclchk.c:2894 +#: catalog/aclchk.c:2925 #, c-format msgid "must be owner of view %s" msgstr "måste vara ägaren till vyn %s" -#: catalog/aclchk.c:2897 +#: catalog/aclchk.c:2928 #, c-format msgid "must be owner of schema %s" msgstr "måste vara ägaren till schemat %s" -#: catalog/aclchk.c:2900 +#: catalog/aclchk.c:2931 #, c-format msgid "must be owner of statistics object %s" msgstr "måste vara ägaren till statistikobjektet %s" -#: catalog/aclchk.c:2903 +#: catalog/aclchk.c:2934 #, c-format msgid "must be owner of tablespace %s" msgstr "måste vara ägaren till tabellutrymmet %s" -#: catalog/aclchk.c:2906 +#: catalog/aclchk.c:2937 #, c-format msgid "must be owner of text search configuration %s" msgstr "måste vara ägaren till textsökkonfigurationen %s" -#: catalog/aclchk.c:2909 +#: catalog/aclchk.c:2940 #, c-format msgid "must be owner of text search dictionary %s" msgstr "måste vara ägaren till textsökordlistan %s" -#: catalog/aclchk.c:2923 +#: catalog/aclchk.c:2954 #, c-format msgid "must be owner of relation %s" msgstr "måste vara ägaren till relationen %s" -#: catalog/aclchk.c:2969 +#: catalog/aclchk.c:3000 #, c-format msgid "permission denied for column \"%s\" of relation \"%s\"" msgstr "rättighet saknas för kolumn \"%s\" i relation \"%s\"" -#: catalog/aclchk.c:3104 catalog/aclchk.c:3979 catalog/aclchk.c:4011 +#: catalog/aclchk.c:3157 catalog/aclchk.c:4165 catalog/aclchk.c:4196 #, c-format msgid "%s with OID %u does not exist" msgstr "%s med OID %u existerar inte" -#: catalog/aclchk.c:3188 catalog/aclchk.c:3207 +#: catalog/aclchk.c:3240 catalog/aclchk.c:3259 #, c-format msgid "attribute %d of relation with OID %u does not exist" msgstr "attribut %d i relation med OID %u existerar inte" -#: catalog/aclchk.c:3302 +#: catalog/aclchk.c:3297 catalog/aclchk.c:3360 catalog/aclchk.c:3999 #, c-format msgid "relation with OID %u does not exist" msgstr "relation med OID %u existerar inte" -#: catalog/aclchk.c:3476 +#: catalog/aclchk.c:3545 #, c-format msgid "parameter ACL with OID %u does not exist" msgstr "parameter ACL med OID %u existerar inte" -#: catalog/aclchk.c:3640 commands/collationcmds.c:808 -#: commands/publicationcmds.c:1746 +#: catalog/aclchk.c:3718 commands/collationcmds.c:853 +#: commands/publicationcmds.c:1739 #, c-format msgid "schema with OID %u does not exist" msgstr "schema med OID %u existerar inte" -#: catalog/aclchk.c:3705 utils/cache/typcache.c:390 utils/cache/typcache.c:445 +#: catalog/aclchk.c:3792 catalog/aclchk.c:3819 catalog/aclchk.c:3848 +#: utils/cache/typcache.c:392 utils/cache/typcache.c:447 #, c-format msgid "type with OID %u does not exist" msgstr "typ med OID %u existerar inte" -#: catalog/catalog.c:449 +#: catalog/catalog.c:468 #, c-format msgid "still searching for an unused OID in relation \"%s\"" msgstr "letar fortfarande efter en oanvänd OID i relationen \"%s\"" -#: catalog/catalog.c:451 +#: catalog/catalog.c:470 #, c-format msgid "OID candidates have been checked %llu time, but no unused OID has been found yet." msgid_plural "OID candidates have been checked %llu times, but no unused OID has been found yet." msgstr[0] "OID-kandidater har kontrollerats %llu gång men inga oanvända OID:er har hittats än." msgstr[1] "OID-kandidater har kontrollerats %llu gånger men inga oanvända OID:er har hittats än." -#: catalog/catalog.c:476 +#: catalog/catalog.c:495 #, c-format msgid "new OID has been assigned in relation \"%s\" after %llu retry" msgid_plural "new OID has been assigned in relation \"%s\" after %llu retries" msgstr[0] "ny OID har tilldelats i relation \"%s\" after %llu försök" msgstr[1] "ny OID har tilldelats i relation \"%s\" after %llu försök" -#: catalog/catalog.c:609 catalog/catalog.c:676 +#: catalog/catalog.c:628 catalog/catalog.c:695 #, c-format msgid "must be superuser to call %s()" msgstr "måste vara en superuser för att anropa %s()" -#: catalog/catalog.c:618 +#: catalog/catalog.c:637 #, c-format msgid "pg_nextoid() can only be used on system catalogs" msgstr "pg_nextoid() kan bara användas på systemkataloger" -#: catalog/catalog.c:623 parser/parse_utilcmd.c:2264 +#: catalog/catalog.c:642 parser/parse_utilcmd.c:2270 #, c-format msgid "index \"%s\" does not belong to table \"%s\"" msgstr "index \"%s\" tillhör inte tabell \"%s\"" -#: catalog/catalog.c:640 +#: catalog/catalog.c:659 #, c-format msgid "column \"%s\" is not of type oid" msgstr "kolumnen \"%s\" är inte av typen oid" -#: catalog/catalog.c:647 +#: catalog/catalog.c:666 #, c-format msgid "index \"%s\" is not the index for column \"%s\"" msgstr "index \"%s\" är inte indexet för kolumnen \"%s\"" -#: catalog/dependency.c:546 catalog/pg_shdepend.c:658 +#: catalog/dependency.c:497 catalog/pg_shdepend.c:703 #, c-format msgid "cannot drop %s because it is required by the database system" msgstr "kan inte ta bort %s eftersom den krävs av databassystemet" -#: catalog/dependency.c:838 catalog/dependency.c:1065 +#: catalog/dependency.c:789 catalog/dependency.c:1016 #, c-format msgid "cannot drop %s because %s requires it" msgstr "kan inte ta bort %s eftersom %s behöver den" -#: catalog/dependency.c:840 catalog/dependency.c:1067 +#: catalog/dependency.c:791 catalog/dependency.c:1018 #, c-format msgid "You can drop %s instead." msgstr "Du kan ta bort %s i stället." -#: catalog/dependency.c:1146 catalog/dependency.c:1155 +#: catalog/dependency.c:1097 catalog/dependency.c:1106 #, c-format msgid "%s depends on %s" msgstr "%s beror på %s" -#: catalog/dependency.c:1170 catalog/dependency.c:1179 +#: catalog/dependency.c:1121 catalog/dependency.c:1130 #, c-format msgid "drop cascades to %s" msgstr "drop svämmar över (cascades) till %s" -#: catalog/dependency.c:1187 catalog/pg_shdepend.c:823 +#: catalog/dependency.c:1138 catalog/pg_shdepend.c:868 #, c-format msgid "" "\n" @@ -4436,714 +4771,715 @@ msgstr[1] "" "\n" "och %d andra objekt (se serverloggen för en lista)" -#: catalog/dependency.c:1199 +#: catalog/dependency.c:1150 #, c-format 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:1202 catalog/dependency.c:1209 -#: catalog/dependency.c:1220 commands/tablecmds.c:1335 -#: commands/tablecmds.c:14386 commands/tablespace.c:466 commands/user.c:1309 -#: commands/vacuum.c:211 commands/view.c:446 libpq/auth.c:326 -#: replication/logical/applyparallelworker.c:1044 replication/syncrep.c:1017 -#: storage/lmgr/deadlock.c:1134 storage/lmgr/proc.c:1358 utils/misc/guc.c:3120 -#: utils/misc/guc.c:3156 utils/misc/guc.c:3226 utils/misc/guc.c:6615 -#: utils/misc/guc.c:6649 utils/misc/guc.c:6683 utils/misc/guc.c:6726 -#: utils/misc/guc.c:6768 +#: catalog/dependency.c:1153 catalog/dependency.c:1160 +#: catalog/dependency.c:1171 commands/tablecmds.c:1442 +#: commands/tablecmds.c:14986 commands/tablespace.c:460 commands/user.c:1302 +#: commands/vacuum.c:211 commands/view.c:441 executor/execExprInterp.c:4643 +#: executor/execExprInterp.c:4651 libpq/auth.c:324 +#: replication/logical/applyparallelworker.c:1041 replication/syncrep.c:1011 +#: storage/lmgr/deadlock.c:1134 storage/lmgr/proc.c:1427 utils/misc/guc.c:3169 +#: utils/misc/guc.c:3210 utils/misc/guc.c:3285 utils/misc/guc.c:6790 +#: utils/misc/guc.c:6824 utils/misc/guc.c:6858 utils/misc/guc.c:6901 +#: utils/misc/guc.c:6943 #, c-format msgid "%s" msgstr "%s" -#: catalog/dependency.c:1203 catalog/dependency.c:1210 +#: catalog/dependency.c:1154 catalog/dependency.c:1161 #, c-format msgid "Use DROP ... CASCADE to drop the dependent objects too." msgstr "Använd DROP ... CASCADE för att ta bort de beroende objekten också." -#: catalog/dependency.c:1207 +#: catalog/dependency.c:1158 #, c-format msgid "cannot drop desired object(s) because other objects depend on them" msgstr "kan inte ta bort önskade objekt eftersom andra objekt beror på dem" -#: catalog/dependency.c:1215 +#: catalog/dependency.c:1166 #, c-format msgid "drop cascades to %d other object" msgid_plural "drop cascades to %d other objects" msgstr[0] "drop svämmar över (cascades) till %d andra objekt" msgstr[1] "drop svämmar över (cascades) till %d andra objekt" -#: catalog/dependency.c:1899 +#: catalog/dependency.c:1850 #, c-format msgid "constant of the type %s cannot be used here" msgstr "konstant av typen %s kan inte användas här" -#: catalog/dependency.c:2420 parser/parse_relation.c:3404 -#: parser/parse_relation.c:3414 +#: catalog/dependency.c:2375 parser/parse_relation.c:3407 +#: parser/parse_relation.c:3417 #, c-format msgid "column %d of relation \"%s\" does not exist" msgstr "kolumn %d i relation \"%s\" finns inte" -#: catalog/heap.c:324 +#: catalog/heap.c:325 #, c-format msgid "permission denied to create \"%s.%s\"" msgstr "rättighet saknas för att skapa \"%s.%s\"" -#: catalog/heap.c:326 +#: catalog/heap.c:327 #, c-format msgid "System catalog modifications are currently disallowed." msgstr "Systemkatalogändringar är för tillfället inte tillåtna." -#: catalog/heap.c:466 commands/tablecmds.c:2374 commands/tablecmds.c:3047 -#: commands/tablecmds.c:6922 +#: catalog/heap.c:467 commands/tablecmds.c:2478 commands/tablecmds.c:2900 +#: commands/tablecmds.c:7140 #, c-format msgid "tables can have at most %d columns" msgstr "tabeller kan ha som mest %d kolumner" -#: catalog/heap.c:484 commands/tablecmds.c:7229 +#: catalog/heap.c:485 commands/tablecmds.c:7409 #, c-format msgid "column name \"%s\" conflicts with a system column name" msgstr "kolumnnamn \"%s\" står i konflikt med ett systemkolumnnamn" -#: catalog/heap.c:500 +#: catalog/heap.c:501 #, c-format msgid "column name \"%s\" specified more than once" msgstr "kolumnnamn \"%s\" angiven mer än en gång" #. translator: first %s is an integer not a name -#: catalog/heap.c:575 +#: catalog/heap.c:579 #, c-format msgid "partition key column %s has pseudo-type %s" msgstr "partitionsnyckelkolumn \"%s\" har pseudo-typ %s" -#: catalog/heap.c:580 +#: catalog/heap.c:584 #, c-format msgid "column \"%s\" has pseudo-type %s" msgstr "kolumn \"%s\" har pseudo-typ %s" -#: catalog/heap.c:611 +#: catalog/heap.c:615 #, c-format msgid "composite type %s cannot be made a member of itself" msgstr "composite-typ %s kan inte vara en del av sig själv" #. translator: first %s is an integer not a name -#: catalog/heap.c:666 +#: catalog/heap.c:670 #, c-format msgid "no collation was derived for partition key column %s with collatable type %s" msgstr "ingen jämförelse kunde härledas för partitionsnyckelkolumn %s med jämförelsetyp %s" -#: catalog/heap.c:672 commands/createas.c:203 commands/createas.c:512 +#: catalog/heap.c:676 commands/createas.c:198 commands/createas.c:505 #, c-format msgid "no collation was derived for column \"%s\" with collatable type %s" msgstr "ingen jämförelse kunde härledas för kolumn \"%s\" med jämförelsetyp %s" -#: catalog/heap.c:1148 catalog/index.c:887 commands/createas.c:408 -#: commands/tablecmds.c:3987 +#: catalog/heap.c:1161 catalog/index.c:899 commands/createas.c:401 +#: commands/tablecmds.c:4149 #, c-format msgid "relation \"%s\" already exists" msgstr "relationen \"%s\" finns redan" -#: catalog/heap.c:1164 catalog/pg_type.c:434 catalog/pg_type.c:782 -#: catalog/pg_type.c:954 commands/typecmds.c:249 commands/typecmds.c:261 -#: commands/typecmds.c:754 commands/typecmds.c:1169 commands/typecmds.c:1395 -#: commands/typecmds.c:1575 commands/typecmds.c:2546 +#: catalog/heap.c:1177 catalog/pg_type.c:434 catalog/pg_type.c:805 +#: catalog/pg_type.c:977 commands/typecmds.c:253 commands/typecmds.c:265 +#: commands/typecmds.c:758 commands/typecmds.c:1179 commands/typecmds.c:1405 +#: commands/typecmds.c:1585 commands/typecmds.c:2556 #, c-format msgid "type \"%s\" already exists" msgstr "typen \"%s\" existerar redan" -#: catalog/heap.c:1165 +#: catalog/heap.c:1178 #, c-format msgid "A relation has an associated type of the same name, so you must use a name that doesn't conflict with any existing type." msgstr "En relation har en associerad typ med samma namn så du måste använda ett namn som inte krockar med någon existerande typ." -#: catalog/heap.c:1205 +#: catalog/heap.c:1218 #, c-format msgid "toast relfilenumber value not set when in binary upgrade mode" msgstr "relfile-nummervärde för toast är inte satt i binärt uppgraderingsläge" -#: catalog/heap.c:1216 +#: catalog/heap.c:1229 #, c-format msgid "pg_class heap OID value not set when in binary upgrade mode" msgstr "pg_class heap OID-värde är inte satt i binärt uppgraderingsläge" -#: catalog/heap.c:1226 +#: catalog/heap.c:1239 #, c-format msgid "relfilenumber value not set when in binary upgrade mode" msgstr "relfile-nummervärde är inte satt i binärt uppgraderingsläge" -#: catalog/heap.c:2119 +#: catalog/heap.c:2128 #, c-format msgid "cannot add NO INHERIT constraint to partitioned table \"%s\"" msgstr "kan inte lägga till NO INHERIT-villkor till partitionerad tabell \"%s\"" -#: catalog/heap.c:2393 +#: catalog/heap.c:2400 #, c-format msgid "check constraint \"%s\" already exists" msgstr "check-villkor \"%s\" finns redan" -#: catalog/heap.c:2563 catalog/index.c:901 catalog/pg_constraint.c:682 -#: commands/tablecmds.c:8900 +#: catalog/heap.c:2572 catalog/index.c:913 catalog/pg_constraint.c:724 +#: commands/tablecmds.c:9333 #, c-format msgid "constraint \"%s\" for relation \"%s\" already exists" msgstr "integritetsvillkor \"%s\" för relation \"%s\" finns redan" -#: catalog/heap.c:2570 +#: catalog/heap.c:2579 #, c-format msgid "constraint \"%s\" conflicts with non-inherited constraint on relation \"%s\"" msgstr "villkor \"%s\" står i konflikt med icke-ärvt villkor på relation \"%s\"" -#: catalog/heap.c:2581 +#: catalog/heap.c:2590 #, c-format msgid "constraint \"%s\" conflicts with inherited constraint on relation \"%s\"" msgstr "villkor \"%s\" står i konflikt med ärvt villkor på relation \"%s\"" -#: catalog/heap.c:2591 +#: catalog/heap.c:2600 #, c-format msgid "constraint \"%s\" conflicts with NOT VALID constraint on relation \"%s\"" msgstr "villkor \"%s\" står i konflikt med NOT VALID-villkor på relation \"%s\"" -#: catalog/heap.c:2596 +#: catalog/heap.c:2605 #, c-format msgid "merging constraint \"%s\" with inherited definition" msgstr "slår samman villkor \"%s\" med ärvd definition" -#: catalog/heap.c:2622 catalog/pg_constraint.c:811 commands/tablecmds.c:2672 -#: commands/tablecmds.c:3199 commands/tablecmds.c:6858 -#: commands/tablecmds.c:15208 commands/tablecmds.c:15349 +#: catalog/heap.c:2631 catalog/pg_constraint.c:853 commands/tablecmds.c:3057 +#: commands/tablecmds.c:3360 commands/tablecmds.c:7066 +#: commands/tablecmds.c:15804 commands/tablecmds.c:15935 #, c-format msgid "too many inheritance parents" msgstr "för många föräldrar i arv" -#: catalog/heap.c:2706 +#: catalog/heap.c:2715 #, c-format msgid "cannot use generated column \"%s\" in column generation expression" msgstr "kan inte använda genererad kolumn \"%s\" i kolumngenereringsuttryck" -#: catalog/heap.c:2708 +#: catalog/heap.c:2717 #, c-format msgid "A generated column cannot reference another generated column." msgstr "En genererad kolumn kan inte referera till en annan genererad kolumn." -#: catalog/heap.c:2714 +#: catalog/heap.c:2723 #, c-format msgid "cannot use whole-row variable in column generation expression" msgstr "kan inte använda hela-raden-variabel i kolumngenereringsuttryck" -#: catalog/heap.c:2715 +#: catalog/heap.c:2724 #, c-format msgid "This would cause the generated column to depend on its own value." msgstr "Detta skulle leda till att den genererade kolumnen beror på sitt eget värde." -#: catalog/heap.c:2768 +#: catalog/heap.c:2779 #, c-format msgid "generation expression is not immutable" msgstr "genereringsuttryck är inte immutable" -#: catalog/heap.c:2796 rewrite/rewriteHandler.c:1297 +#: catalog/heap.c:2807 rewrite/rewriteHandler.c:1282 #, 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:2801 commands/prepare.c:334 parser/analyze.c:2742 -#: parser/parse_target.c:593 parser/parse_target.c:874 -#: parser/parse_target.c:884 rewrite/rewriteHandler.c:1302 +#: catalog/heap.c:2812 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:1287 #, c-format msgid "You will need to rewrite or cast the expression." msgstr "Du måste skriva om eller typomvandla uttrycket." -#: catalog/heap.c:2848 +#: catalog/heap.c:2859 #, c-format msgid "only table \"%s\" can be referenced in check constraint" msgstr "bara tabell \"%s\" kan refereras i check-villkoret" -#: catalog/heap.c:3154 +#: catalog/heap.c:3165 #, c-format msgid "unsupported ON COMMIT and foreign key combination" msgstr "inget stöd för kombinationen ON COMMIT och främmande nyckel" -#: catalog/heap.c:3155 +#: catalog/heap.c:3166 #, c-format msgid "Table \"%s\" references \"%s\", but they do not have the same ON COMMIT setting." msgstr "Tabell \"%s\" refererar till \"%s\", men de har inte samma ON COMMIT-inställning." -#: catalog/heap.c:3160 +#: catalog/heap.c:3171 #, c-format msgid "cannot truncate a table referenced in a foreign key constraint" msgstr "kan inte trunkera en tabell som refererars till i ett främmande nyckelvillkor" -#: catalog/heap.c:3161 +#: catalog/heap.c:3172 #, c-format msgid "Table \"%s\" references \"%s\"." msgstr "Tabell \"%s\" refererar till \"%s\"." -#: catalog/heap.c:3163 +#: catalog/heap.c:3174 #, c-format msgid "Truncate table \"%s\" at the same time, or use TRUNCATE ... CASCADE." msgstr "Trunkera tabellen \"%s\" samtidigt, eller använd TRUNCATE ... CASCADE." -#: catalog/index.c:225 parser/parse_utilcmd.c:2170 +#: catalog/index.c:219 parser/parse_utilcmd.c:2176 #, c-format msgid "multiple primary keys for table \"%s\" are not allowed" msgstr "multipla primärnycklar för tabell \"%s\" tillåts inte" -#: catalog/index.c:239 +#: catalog/index.c:233 #, c-format msgid "primary keys cannot use NULLS NOT DISTINCT indexes" msgstr "primärnycklar kan inte använda NULLS NOT DISTINCT-index" -#: catalog/index.c:256 +#: catalog/index.c:250 #, c-format msgid "primary keys cannot be expressions" msgstr "primärnycklar kan inte vara uttryck" -#: catalog/index.c:273 +#: catalog/index.c:267 #, c-format msgid "primary key column \"%s\" is not marked NOT NULL" msgstr "primärnyckelkolumn \"%s\" är inte markerad NOT NULL" -#: catalog/index.c:786 catalog/index.c:1942 +#: catalog/index.c:798 catalog/index.c:1915 #, c-format msgid "user-defined indexes on system catalog tables are not supported" msgstr "användardefinierade index på systemkatalogen är inte möjligt" -#: catalog/index.c:826 +#: catalog/index.c:838 #, c-format msgid "nondeterministic collations are not supported for operator class \"%s\"" msgstr "ickedeterministiska jämförelser (collation) stöds inte för operatorklass \"%s\"" -#: catalog/index.c:841 +#: catalog/index.c:853 #, c-format msgid "concurrent index creation on system catalog tables is not supported" msgstr "samtida indexskapande på systemkatalogtabeller stöds inte" -#: catalog/index.c:850 catalog/index.c:1318 +#: catalog/index.c:862 catalog/index.c:1331 #, c-format msgid "concurrent index creation for exclusion constraints is not supported" msgstr "samtida indexskapande för uteslutningsvillkor stöds inte" -#: catalog/index.c:859 +#: catalog/index.c:871 #, c-format msgid "shared indexes cannot be created after initdb" msgstr "delade index kan inte skapas efter initdb" -#: catalog/index.c:879 commands/createas.c:423 commands/sequence.c:158 +#: catalog/index.c:891 commands/createas.c:416 commands/sequence.c:159 #: parser/parse_utilcmd.c:209 #, c-format msgid "relation \"%s\" already exists, skipping" msgstr "relationen \"%s\" finns redan, hoppar över" -#: catalog/index.c:929 +#: catalog/index.c:941 #, c-format 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:939 utils/cache/relcache.c:3731 +#: catalog/index.c:951 utils/cache/relcache.c:3790 #, 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" -#: catalog/index.c:2241 +#: catalog/index.c:2214 #, c-format 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:3649 +#: catalog/index.c:3670 #, 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:3660 commands/indexcmds.c:3631 +#: catalog/index.c:3681 commands/indexcmds.c:3653 #, c-format msgid "cannot reindex invalid index on TOAST table" msgstr "kan inte omindexera angivet index i TOAST-tabell" -#: catalog/index.c:3676 commands/indexcmds.c:3511 commands/indexcmds.c:3655 -#: commands/tablecmds.c:3402 +#: catalog/index.c:3697 commands/indexcmds.c:3531 commands/indexcmds.c:3677 +#: commands/tablecmds.c:3564 #, c-format msgid "cannot move system relation \"%s\"" msgstr "kan inte flytta systemrelation \"%s\"" -#: catalog/index.c:3820 +#: catalog/index.c:3834 #, c-format msgid "index \"%s\" was reindexed" msgstr "index \"%s\" omindexerades" -#: catalog/index.c:3957 +#: catalog/index.c:4000 #, 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:260 catalog/namespace.c:464 catalog/namespace.c:556 -#: commands/trigger.c:5718 +#: catalog/namespace.c:447 catalog/namespace.c:651 catalog/namespace.c:743 +#: commands/trigger.c:5731 #, c-format msgid "cross-database references are not implemented: \"%s.%s.%s\"" msgstr "referenser till andra databaser är inte implementerat: \"%s.%s.%s\"" -#: catalog/namespace.c:317 +#: catalog/namespace.c:504 #, c-format msgid "temporary tables cannot specify a schema name" msgstr "temporära tabeller kan inte anges med ett schemanamn" -#: catalog/namespace.c:398 +#: catalog/namespace.c:585 #, c-format msgid "could not obtain lock on relation \"%s.%s\"" msgstr "kunde inte ta lås på relationen \"%s.%s\"" -#: catalog/namespace.c:403 commands/lockcmds.c:144 commands/lockcmds.c:224 +#: catalog/namespace.c:590 commands/lockcmds.c:143 commands/lockcmds.c:223 #, c-format msgid "could not obtain lock on relation \"%s\"" msgstr "kunde inte ta lås på relationen \"%s\"" -#: catalog/namespace.c:431 parser/parse_relation.c:1430 +#: catalog/namespace.c:618 parser/parse_relation.c:1430 #, c-format msgid "relation \"%s.%s\" does not exist" msgstr "relationen \"%s.%s\" existerar inte" -#: catalog/namespace.c:436 parser/parse_relation.c:1443 +#: catalog/namespace.c:623 parser/parse_relation.c:1443 #: parser/parse_relation.c:1451 utils/adt/regproc.c:913 #, c-format msgid "relation \"%s\" does not exist" msgstr "relationen \"%s\" existerar inte" -#: catalog/namespace.c:502 catalog/namespace.c:3073 commands/extension.c:1611 -#: commands/extension.c:1617 +#: catalog/namespace.c:689 catalog/namespace.c:3507 commands/extension.c:1607 +#: commands/extension.c:1613 #, c-format msgid "no schema has been selected to create in" msgstr "inget schema har valts för att skapa i" -#: catalog/namespace.c:654 catalog/namespace.c:667 +#: catalog/namespace.c:841 catalog/namespace.c:854 #, c-format msgid "cannot create relations in temporary schemas of other sessions" msgstr "kan inte skapa relationer i temporära scheman som tillhör andra sessioner" -#: catalog/namespace.c:658 +#: catalog/namespace.c:845 #, c-format msgid "cannot create temporary relation in non-temporary schema" msgstr "kan inte skapa temporär relation i icke-temporärt schema" -#: catalog/namespace.c:673 +#: catalog/namespace.c:860 #, c-format msgid "only temporary relations may be created in temporary schemas" msgstr "bara temporära relationer får skapas i temporära scheman" -#: catalog/namespace.c:2265 +#: catalog/namespace.c:2604 #, c-format msgid "statistics object \"%s\" does not exist" msgstr "statistikobjektet \"%s\" existerar inte" -#: catalog/namespace.c:2388 +#: catalog/namespace.c:2746 #, c-format msgid "text search parser \"%s\" does not exist" msgstr "textsökparser \"%s\" finns inte" -#: catalog/namespace.c:2514 utils/adt/regproc.c:1439 +#: catalog/namespace.c:2891 utils/adt/regproc.c:1459 #, c-format msgid "text search dictionary \"%s\" does not exist" msgstr "textsökkatalog \"%s\" finns inte" -#: catalog/namespace.c:2641 +#: catalog/namespace.c:3037 #, c-format msgid "text search template \"%s\" does not exist" msgstr "textsökmall \"%s\" finns inte" -#: catalog/namespace.c:2767 commands/tsearchcmds.c:1162 -#: utils/adt/regproc.c:1329 utils/cache/ts_cache.c:635 +#: catalog/namespace.c:3182 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:2880 parser/parse_expr.c:832 parser/parse_target.c:1246 +#: catalog/namespace.c:3314 parser/parse_expr.c:868 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:2886 gram.y:18569 gram.y:18609 parser/parse_expr.c:839 -#: parser/parse_target.c:1253 +#: catalog/namespace.c:3320 gram.y:19181 gram.y:19221 parser/parse_expr.c:875 +#: 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:3016 +#: catalog/namespace.c:3450 #, 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:3022 +#: catalog/namespace.c:3456 #, 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:3095 commands/schemacmds.c:264 commands/schemacmds.c:344 -#: commands/tablecmds.c:1280 utils/adt/regproc.c:1668 +#: catalog/namespace.c:3529 commands/schemacmds.c:264 commands/schemacmds.c:344 +#: commands/tablecmds.c:1387 utils/adt/regproc.c:1688 #, c-format msgid "schema \"%s\" does not exist" msgstr "schema \"%s\" existerar inte" -#: catalog/namespace.c:3126 +#: catalog/namespace.c:3560 #, 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:3693 utils/adt/regproc.c:1056 +#: catalog/namespace.c:4001 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:3748 +#: catalog/namespace.c:4056 #, c-format msgid "conversion \"%s\" does not exist" msgstr "konvertering \"%s\" finns inte" -#: catalog/namespace.c:4012 +#: catalog/namespace.c:4397 #, 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:4028 +#: catalog/namespace.c:4413 #, c-format msgid "cannot create temporary tables during recovery" msgstr "kan inte skapa temptabeller under återställning" -#: catalog/namespace.c:4034 +#: catalog/namespace.c:4419 #, c-format msgid "cannot create temporary tables during a parallel operation" msgstr "kan inte skapa temporära tabeller under en parallell operation" -#: catalog/objectaddress.c:1409 commands/policy.c:96 commands/policy.c:376 -#: commands/tablecmds.c:248 commands/tablecmds.c:290 commands/tablecmds.c:2206 -#: commands/tablecmds.c:12357 +#: catalog/objectaddress.c:1371 commands/policy.c:93 commands/policy.c:373 +#: commands/tablecmds.c:257 commands/tablecmds.c:299 commands/tablecmds.c:2310 +#: commands/tablecmds.c:12823 #, c-format msgid "\"%s\" is not a table" msgstr "\"%s\" är inte en tabell" -#: catalog/objectaddress.c:1416 commands/tablecmds.c:260 -#: commands/tablecmds.c:17141 commands/view.c:119 +#: catalog/objectaddress.c:1378 commands/tablecmds.c:269 +#: commands/tablecmds.c:17741 commands/view.c:114 #, c-format msgid "\"%s\" is not a view" msgstr "\"%s\" är inte en vy" -#: catalog/objectaddress.c:1423 commands/matview.c:186 commands/tablecmds.c:266 -#: commands/tablecmds.c:17146 +#: catalog/objectaddress.c:1385 commands/matview.c:199 commands/tablecmds.c:275 +#: commands/tablecmds.c:17746 #, c-format msgid "\"%s\" is not a materialized view" msgstr "\"%s\" är inte en materialiserad vy" -#: catalog/objectaddress.c:1430 commands/tablecmds.c:284 -#: commands/tablecmds.c:17151 +#: catalog/objectaddress.c:1392 commands/tablecmds.c:293 +#: commands/tablecmds.c:17751 #, c-format msgid "\"%s\" is not a foreign table" msgstr "\"%s\" är inte en främmande tabell" -#: catalog/objectaddress.c:1471 +#: catalog/objectaddress.c:1433 #, c-format msgid "must specify relation and object name" msgstr "måste ange relation och objektnamn" -#: catalog/objectaddress.c:1547 catalog/objectaddress.c:1600 +#: catalog/objectaddress.c:1509 catalog/objectaddress.c:1562 #, c-format msgid "column name must be qualified" msgstr "kolumnnamn måste vara kvalificerat" -#: catalog/objectaddress.c:1619 +#: catalog/objectaddress.c:1581 #, c-format msgid "default value for column \"%s\" of relation \"%s\" does not exist" msgstr "standardvärde för kolumn \"%s\" i relation \"%s\" existerar inte" -#: catalog/objectaddress.c:1656 commands/functioncmds.c:137 -#: commands/tablecmds.c:276 commands/typecmds.c:274 commands/typecmds.c:3689 +#: 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:4441 +#: utils/adt/acl.c:4560 #, c-format msgid "type \"%s\" does not exist" msgstr "typen \"%s\" existerar inte" -#: catalog/objectaddress.c:1775 +#: catalog/objectaddress.c:1737 #, c-format msgid "operator %d (%s, %s) of %s does not exist" msgstr "operator %d (%s, %s) för %s finns inte" -#: catalog/objectaddress.c:1806 +#: catalog/objectaddress.c:1768 #, c-format msgid "function %d (%s, %s) of %s does not exist" msgstr "funktion %d (%s, %s) för %s finns inte" -#: catalog/objectaddress.c:1857 catalog/objectaddress.c:1883 +#: catalog/objectaddress.c:1819 catalog/objectaddress.c:1845 #, c-format msgid "user mapping for user \"%s\" on server \"%s\" does not exist" msgstr "användarmappning för användare \"%s\" på server \"%s\" finns inte" -#: catalog/objectaddress.c:1872 commands/foreigncmds.c:430 -#: commands/foreigncmds.c:993 commands/foreigncmds.c:1356 foreign/foreign.c:700 +#: catalog/objectaddress.c:1834 commands/foreigncmds.c:430 +#: commands/foreigncmds.c:993 commands/foreigncmds.c:1356 foreign/foreign.c:713 #, c-format msgid "server \"%s\" does not exist" msgstr "server \"%s\" finns inte" -#: catalog/objectaddress.c:1939 +#: catalog/objectaddress.c:1901 #, c-format msgid "publication relation \"%s\" in publication \"%s\" does not exist" msgstr "publiceringsrelation \"%s\" i publicering \"%s\" finns inte" -#: catalog/objectaddress.c:1986 +#: catalog/objectaddress.c:1948 #, c-format msgid "publication schema \"%s\" in publication \"%s\" does not exist" msgstr "publiceringsschema \"%s\" i publicering \"%s\" finns inte" -#: catalog/objectaddress.c:2044 +#: catalog/objectaddress.c:2006 #, c-format msgid "unrecognized default ACL object type \"%c\"" msgstr "okänd standard-ACL-objekttyp \"%c\"" -#: catalog/objectaddress.c:2045 +#: catalog/objectaddress.c:2007 #, c-format msgid "Valid object types are \"%c\", \"%c\", \"%c\", \"%c\", \"%c\"." msgstr "Giltiga objekttyper är \"%c\", \"%c\", \"%c\", \"%c\", \"%c\"." -#: catalog/objectaddress.c:2096 +#: catalog/objectaddress.c:2058 #, c-format msgid "default ACL for user \"%s\" in schema \"%s\" on %s does not exist" msgstr "standard ACL för användare \"%s\" i schema \"%s\" på %s finns inte" -#: catalog/objectaddress.c:2101 +#: catalog/objectaddress.c:2063 #, c-format msgid "default ACL for user \"%s\" on %s does not exist" msgstr "standard ACL för användare \"%s\" på %s finns inte" -#: catalog/objectaddress.c:2127 catalog/objectaddress.c:2184 -#: catalog/objectaddress.c:2239 +#: catalog/objectaddress.c:2089 catalog/objectaddress.c:2146 +#: catalog/objectaddress.c:2201 #, c-format msgid "name or argument lists may not contain nulls" msgstr "namn eller argumentlistor får inte innehålla null" -#: catalog/objectaddress.c:2161 +#: catalog/objectaddress.c:2123 #, c-format msgid "unsupported object type \"%s\"" msgstr "ej stöd för objekttyp \"%s\"" -#: catalog/objectaddress.c:2180 catalog/objectaddress.c:2197 -#: catalog/objectaddress.c:2262 catalog/objectaddress.c:2346 +#: catalog/objectaddress.c:2142 catalog/objectaddress.c:2159 +#: catalog/objectaddress.c:2224 catalog/objectaddress.c:2308 #, c-format msgid "name list length must be exactly %d" msgstr "namnlistlängen måste vara exakt %d" -#: catalog/objectaddress.c:2201 +#: catalog/objectaddress.c:2163 #, c-format msgid "large object OID may not be null" msgstr "stort objekt-OID får inte vara null" -#: catalog/objectaddress.c:2210 catalog/objectaddress.c:2280 -#: catalog/objectaddress.c:2287 +#: catalog/objectaddress.c:2172 catalog/objectaddress.c:2242 +#: catalog/objectaddress.c:2249 #, c-format msgid "name list length must be at least %d" msgstr "namnlistlängden måste vara minst %d" -#: catalog/objectaddress.c:2273 catalog/objectaddress.c:2294 +#: catalog/objectaddress.c:2235 catalog/objectaddress.c:2256 #, c-format msgid "argument list length must be exactly %d" msgstr "argumentlistans längd måste vara exakt %d" -#: catalog/objectaddress.c:2508 libpq/be-fsstubs.c:329 +#: catalog/objectaddress.c:2470 libpq/be-fsstubs.c:329 #, c-format msgid "must be owner of large object %u" msgstr "måste vara ägaren till stort objekt %u" -#: catalog/objectaddress.c:2523 commands/functioncmds.c:1561 +#: catalog/objectaddress.c:2485 commands/functioncmds.c:1560 #, c-format msgid "must be owner of type %s or type %s" msgstr "måste vara ägaren till typ %s eller typ %s" -#: catalog/objectaddress.c:2550 catalog/objectaddress.c:2559 -#: catalog/objectaddress.c:2565 +#: catalog/objectaddress.c:2512 catalog/objectaddress.c:2521 +#: catalog/objectaddress.c:2527 #, c-format msgid "permission denied" msgstr "rättighet saknas" -#: catalog/objectaddress.c:2551 catalog/objectaddress.c:2560 +#: catalog/objectaddress.c:2513 catalog/objectaddress.c:2522 #, c-format msgid "The current user must have the %s attribute." msgstr "Aktuella användaren måste ha attributet %s." -#: catalog/objectaddress.c:2566 +#: catalog/objectaddress.c:2528 #, c-format msgid "The current user must have the %s option on role \"%s\"." msgstr "Aktuella användaren måste ha flaggan %s på rollen \"%s\"." -#: catalog/objectaddress.c:2580 +#: catalog/objectaddress.c:2542 #, c-format msgid "must be superuser" msgstr "måste vara en superuser" -#: catalog/objectaddress.c:2649 +#: catalog/objectaddress.c:2611 #, c-format msgid "unrecognized object type \"%s\"" msgstr "okänd objekttyp \"%s\"" #. translator: second %s is, e.g., "table %s" -#: catalog/objectaddress.c:2941 +#: catalog/objectaddress.c:2903 #, c-format msgid "column %s of %s" msgstr "kolumn %s av %s" -#: catalog/objectaddress.c:2956 +#: catalog/objectaddress.c:2918 #, c-format msgid "function %s" msgstr "funktion %s" -#: catalog/objectaddress.c:2969 +#: catalog/objectaddress.c:2931 #, c-format msgid "type %s" msgstr "typ %s" -#: catalog/objectaddress.c:3006 +#: catalog/objectaddress.c:2968 #, c-format msgid "cast from %s to %s" msgstr "typomvandling från %s till %s" -#: catalog/objectaddress.c:3039 +#: catalog/objectaddress.c:3001 #, c-format msgid "collation %s" msgstr "jämförelse %s" #. translator: second %s is, e.g., "table %s" -#: catalog/objectaddress.c:3070 +#: catalog/objectaddress.c:3032 #, c-format msgid "constraint %s on %s" msgstr "villkor %s på %s" -#: catalog/objectaddress.c:3076 +#: catalog/objectaddress.c:3038 #, c-format msgid "constraint %s" msgstr "villkor %s" -#: catalog/objectaddress.c:3108 +#: catalog/objectaddress.c:3070 #, c-format msgid "conversion %s" msgstr "konvertering %s" #. translator: %s is typically "column %s of table %s" -#: catalog/objectaddress.c:3130 +#: catalog/objectaddress.c:3092 #, c-format msgid "default value for %s" msgstr "default-värde för %s" -#: catalog/objectaddress.c:3141 +#: catalog/objectaddress.c:3103 #, c-format msgid "language %s" msgstr "språk %s" -#: catalog/objectaddress.c:3149 +#: catalog/objectaddress.c:3111 #, c-format msgid "large object %u" msgstr "stort objekt %u" -#: catalog/objectaddress.c:3162 +#: catalog/objectaddress.c:3124 #, c-format msgid "operator %s" msgstr "operator %s" -#: catalog/objectaddress.c:3199 +#: catalog/objectaddress.c:3161 #, c-format msgid "operator class %s for access method %s" msgstr "operatorklass %s för accessmetod %s" -#: catalog/objectaddress.c:3227 +#: catalog/objectaddress.c:3189 #, c-format msgid "access method %s" msgstr "accessmetod %s" @@ -5152,7 +5488,7 @@ msgstr "accessmetod %s" #. first two %s's are data type names, the third %s is the #. description of the operator family, and the last %s is the #. textual form of the operator with arguments. -#: catalog/objectaddress.c:3276 +#: catalog/objectaddress.c:3238 #, c-format msgid "operator %d (%s, %s) of %s: %s" msgstr "operator %d (%s, %s) för %s: %s" @@ -5161,236 +5497,236 @@ msgstr "operator %d (%s, %s) för %s: %s" #. are data type names, the third %s is the description of the #. operator family, and the last %s is the textual form of the #. function with arguments. -#: catalog/objectaddress.c:3333 +#: catalog/objectaddress.c:3295 #, c-format msgid "function %d (%s, %s) of %s: %s" msgstr "funktion %d (%s, %s) för %s: %s" #. translator: second %s is, e.g., "table %s" -#: catalog/objectaddress.c:3385 +#: catalog/objectaddress.c:3347 #, c-format msgid "rule %s on %s" msgstr "regel %s på %s" #. translator: second %s is, e.g., "table %s" -#: catalog/objectaddress.c:3431 +#: catalog/objectaddress.c:3393 #, c-format msgid "trigger %s on %s" msgstr "trigger %s på %s" -#: catalog/objectaddress.c:3451 +#: catalog/objectaddress.c:3413 #, c-format msgid "schema %s" msgstr "schema %s" -#: catalog/objectaddress.c:3479 +#: catalog/objectaddress.c:3441 #, c-format msgid "statistics object %s" msgstr "statistikobjekt %s" -#: catalog/objectaddress.c:3510 +#: catalog/objectaddress.c:3472 #, c-format msgid "text search parser %s" msgstr "textsökparser %s" -#: catalog/objectaddress.c:3541 +#: catalog/objectaddress.c:3503 #, c-format msgid "text search dictionary %s" msgstr "textsökordlista %s" -#: catalog/objectaddress.c:3572 +#: catalog/objectaddress.c:3534 #, c-format msgid "text search template %s" msgstr "textsökmall %s" -#: catalog/objectaddress.c:3603 +#: catalog/objectaddress.c:3565 #, c-format msgid "text search configuration %s" msgstr "textsökkonfiguration %s" -#: catalog/objectaddress.c:3616 +#: catalog/objectaddress.c:3578 #, c-format msgid "role %s" msgstr "roll %s" -#: catalog/objectaddress.c:3653 catalog/objectaddress.c:5505 +#: catalog/objectaddress.c:3615 catalog/objectaddress.c:5464 #, c-format msgid "membership of role %s in role %s" msgstr "medlemskap av rollen %s i rollen %s" -#: catalog/objectaddress.c:3674 +#: catalog/objectaddress.c:3636 #, c-format msgid "database %s" msgstr "databas %s" -#: catalog/objectaddress.c:3690 +#: catalog/objectaddress.c:3652 #, c-format msgid "tablespace %s" msgstr "tabellutrymme %s" -#: catalog/objectaddress.c:3701 +#: catalog/objectaddress.c:3663 #, c-format msgid "foreign-data wrapper %s" msgstr "främmande data-omvandlare %s" -#: catalog/objectaddress.c:3711 +#: catalog/objectaddress.c:3673 #, c-format msgid "server %s" msgstr "server %s" -#: catalog/objectaddress.c:3744 +#: catalog/objectaddress.c:3706 #, c-format msgid "user mapping for %s on server %s" msgstr "användarmappning för %s på server %s" -#: catalog/objectaddress.c:3796 +#: catalog/objectaddress.c:3758 #, c-format msgid "default privileges on new relations belonging to role %s in schema %s" msgstr "standardrättigheter för nya relationer som tillhör rollen %s i schema %s" -#: catalog/objectaddress.c:3800 +#: catalog/objectaddress.c:3762 #, c-format msgid "default privileges on new relations belonging to role %s" msgstr "standardrättigheter för nya relationer som tillhör rollen %s" -#: catalog/objectaddress.c:3806 +#: catalog/objectaddress.c:3768 #, c-format msgid "default privileges on new sequences belonging to role %s in schema %s" msgstr "standardrättigheter för nya sekvenser som tillhör rollen %s i schema %s" -#: catalog/objectaddress.c:3810 +#: catalog/objectaddress.c:3772 #, c-format msgid "default privileges on new sequences belonging to role %s" msgstr "standardrättigheter för nya sekvenser som tillhör rollen %s" -#: catalog/objectaddress.c:3816 +#: catalog/objectaddress.c:3778 #, c-format msgid "default privileges on new functions belonging to role %s in schema %s" msgstr "standardrättigheter för nya funktioner som tillhör rollen %s i schema %s" -#: catalog/objectaddress.c:3820 +#: catalog/objectaddress.c:3782 #, c-format msgid "default privileges on new functions belonging to role %s" msgstr "standardrättigheter för nya funktioner som tillhör rollen %s" -#: catalog/objectaddress.c:3826 +#: catalog/objectaddress.c:3788 #, c-format msgid "default privileges on new types belonging to role %s in schema %s" msgstr "standardrättigheter för nya typer som tillhör rollen %s i schema %s" -#: catalog/objectaddress.c:3830 +#: catalog/objectaddress.c:3792 #, c-format msgid "default privileges on new types belonging to role %s" msgstr "standardrättigheter för nya typer som tillhör rollen %s" -#: catalog/objectaddress.c:3836 +#: catalog/objectaddress.c:3798 #, c-format msgid "default privileges on new schemas belonging to role %s" msgstr " %zu)" msgstr "servern försöke skicka för stort GSSAPI-paket (%zu > %zu)" @@ -15235,810 +15687,810 @@ msgstr "kunde inte acceptera GSSSPI-säkerhetskontext" msgid "GSSAPI size check error" msgstr "GSSAPI-fel vid kontroll av storlek" -#: libpq/be-secure-openssl.c:125 +#: libpq/be-secure-openssl.c:131 #, c-format msgid "could not create SSL context: %s" msgstr "kunde inte skapa SSL-kontext: %s" -#: libpq/be-secure-openssl.c:151 +#: libpq/be-secure-openssl.c:157 #, c-format msgid "could not load server certificate file \"%s\": %s" msgstr "kunde inte ladda serverns certifikatfil \"%s\": %s" -#: libpq/be-secure-openssl.c:171 +#: libpq/be-secure-openssl.c:177 #, c-format msgid "private key file \"%s\" cannot be reloaded because it requires a passphrase" msgstr "privat nyckelfil \"%s\" kan inte laddas om eftersom den kräver en lösenordsfras" -#: libpq/be-secure-openssl.c:176 +#: libpq/be-secure-openssl.c:182 #, c-format msgid "could not load private key file \"%s\": %s" msgstr "kunde inte läsa in privata nyckelfilen \"%s\": %s" -#: libpq/be-secure-openssl.c:185 +#: libpq/be-secure-openssl.c:191 #, c-format msgid "check of private key failed: %s" msgstr "kontroll av privat nyckel misslyckades: %s" #. translator: first %s is a GUC option name, second %s is its value -#: libpq/be-secure-openssl.c:198 libpq/be-secure-openssl.c:221 +#: libpq/be-secure-openssl.c:204 libpq/be-secure-openssl.c:227 #, c-format msgid "\"%s\" setting \"%s\" not supported by this build" msgstr "\"%s\"-inställning \"%s\" stöds inte av detta bygge" -#: libpq/be-secure-openssl.c:208 +#: libpq/be-secure-openssl.c:214 #, c-format msgid "could not set minimum SSL protocol version" msgstr "kunde inte sätta minimal SSL-protokollversion" -#: libpq/be-secure-openssl.c:231 +#: libpq/be-secure-openssl.c:237 #, c-format msgid "could not set maximum SSL protocol version" msgstr "kunde inte sätta maximal SSL-protokollversion" -#: libpq/be-secure-openssl.c:247 +#: libpq/be-secure-openssl.c:253 #, c-format msgid "could not set SSL protocol version range" msgstr "kunde inte sätta SSL-protokollversionsintervall" -#: libpq/be-secure-openssl.c:248 +#: libpq/be-secure-openssl.c:254 #, c-format msgid "\"%s\" cannot be higher than \"%s\"" msgstr "\"%s\" får inte vara högre än \"%s\"" -#: libpq/be-secure-openssl.c:285 +#: libpq/be-secure-openssl.c:307 #, c-format msgid "could not set the cipher list (no valid ciphers available)" msgstr "kunde inte sätta kryptolistan (inga giltiga krypton är tillgängliga)" -#: libpq/be-secure-openssl.c:305 +#: libpq/be-secure-openssl.c:327 #, c-format msgid "could not load root certificate file \"%s\": %s" msgstr "kunde inte ladda root-certifikatfilen \"%s\": %s" -#: libpq/be-secure-openssl.c:354 +#: libpq/be-secure-openssl.c:376 #, c-format msgid "could not load SSL certificate revocation list file \"%s\": %s" msgstr "kunde inte ladda fil \"%s\" med certifikatåterkallningslista för SSL: %s" -#: libpq/be-secure-openssl.c:362 +#: libpq/be-secure-openssl.c:384 #, c-format msgid "could not load SSL certificate revocation list directory \"%s\": %s" msgstr "kunde inte ladda katalog \"%s\" för certifikatåterkallning: %s" -#: libpq/be-secure-openssl.c:370 +#: libpq/be-secure-openssl.c:392 #, c-format msgid "could not load SSL certificate revocation list file \"%s\" or directory \"%s\": %s" msgstr "kunde inte ladda fil \"%s\" eller katalog \"%s\" med certifikatåterkallning för SSL: %s" -#: libpq/be-secure-openssl.c:428 +#: libpq/be-secure-openssl.c:450 #, c-format msgid "could not initialize SSL connection: SSL context not set up" msgstr "kunde inte initiera SSL-uppkoppling: SSL-kontex ej uppsatt" -#: libpq/be-secure-openssl.c:439 +#: libpq/be-secure-openssl.c:464 #, c-format msgid "could not initialize SSL connection: %s" msgstr "kunde inte initiera SSL-uppkoppling: %s" -#: libpq/be-secure-openssl.c:447 +#: libpq/be-secure-openssl.c:472 #, c-format msgid "could not set SSL socket: %s" msgstr "kunde inte sätta SSL-uttag (socket): %s" -#: libpq/be-secure-openssl.c:502 +#: libpq/be-secure-openssl.c:528 #, c-format msgid "could not accept SSL connection: %m" msgstr "kunde inte acceptera SSL-uppkoppling: %m" -#: libpq/be-secure-openssl.c:506 libpq/be-secure-openssl.c:561 +#: libpq/be-secure-openssl.c:532 libpq/be-secure-openssl.c:589 #, c-format msgid "could not accept SSL connection: EOF detected" msgstr "kunde inte starta SSL-anslutning: hittade EOF" -#: libpq/be-secure-openssl.c:545 +#: libpq/be-secure-openssl.c:573 #, c-format msgid "could not accept SSL connection: %s" msgstr "kunde inte acceptera SSL-uppkoppling: %s" -#: libpq/be-secure-openssl.c:549 +#: libpq/be-secure-openssl.c:577 #, c-format msgid "This may indicate that the client does not support any SSL protocol version between %s and %s." msgstr "Detta kan tyda på att servern inte stöder någon SSL-protokolversion mellan %s och %s." -#: libpq/be-secure-openssl.c:566 libpq/be-secure-openssl.c:755 -#: libpq/be-secure-openssl.c:819 +#: libpq/be-secure-openssl.c:594 libpq/be-secure-openssl.c:809 +#: libpq/be-secure-openssl.c:879 #, c-format msgid "unrecognized SSL error code: %d" msgstr "okänd SSL-felkod: %d" -#: libpq/be-secure-openssl.c:612 +#: libpq/be-secure-openssl.c:622 +#, c-format +msgid "received SSL connection request with unexpected ALPN protocol" +msgstr "tog emot anslutningsförfrågan för SSL med oväntat ALPN-protokoll" + +#: libpq/be-secure-openssl.c:666 #, c-format msgid "SSL certificate's common name contains embedded null" msgstr "SSL-certifikatets \"comman name\" innehåller null-värden" -#: libpq/be-secure-openssl.c:658 +#: libpq/be-secure-openssl.c:712 #, c-format msgid "SSL certificate's distinguished name contains embedded null" msgstr "SSL-certifikatets utskiljande namn innehåller null-värden" -#: libpq/be-secure-openssl.c:744 libpq/be-secure-openssl.c:803 +#: libpq/be-secure-openssl.c:798 libpq/be-secure-openssl.c:863 #, c-format msgid "SSL error: %s" msgstr "SSL-fel: %s" -#: libpq/be-secure-openssl.c:985 +#: libpq/be-secure-openssl.c:1038 #, c-format msgid "could not open DH parameters file \"%s\": %m" msgstr "kunde inte öppna DH-parameterfil \"%s\": %m" -#: libpq/be-secure-openssl.c:997 +#: libpq/be-secure-openssl.c:1050 #, c-format msgid "could not load DH parameters file: %s" msgstr "kunde inte ladda DH-parameterfil: %s" -#: libpq/be-secure-openssl.c:1007 +#: libpq/be-secure-openssl.c:1060 #, c-format msgid "invalid DH parameters: %s" msgstr "ogiltiga DH-parametrar: %s" -#: libpq/be-secure-openssl.c:1016 +#: libpq/be-secure-openssl.c:1069 #, c-format msgid "invalid DH parameters: p is not prime" msgstr "ogiltiga DH-parametrar: p är inte ett primtal" -#: libpq/be-secure-openssl.c:1025 +#: libpq/be-secure-openssl.c:1078 #, c-format msgid "invalid DH parameters: neither suitable generator or safe prime" msgstr "ogiltiga DH-parametrar: varken lämplig generator eller säkert primtal" -#: libpq/be-secure-openssl.c:1161 +#: libpq/be-secure-openssl.c:1214 #, c-format msgid "Client certificate verification failed at depth %d: %s." msgstr "Klientcertifikat-autentisering misslyckades vid djupet %d: %s." -#: libpq/be-secure-openssl.c:1198 +#: libpq/be-secure-openssl.c:1251 #, c-format msgid "Failed certificate data (unverified): subject \"%s\", serial number %s, issuer \"%s\"." msgstr "Felaktig certifikatdata (ej verifierad): ämne \"%s\", serienummer %s, utställare \"%s\"." -#: libpq/be-secure-openssl.c:1199 +#: libpq/be-secure-openssl.c:1252 msgid "unknown" msgstr "okänd" -#: libpq/be-secure-openssl.c:1290 +#: libpq/be-secure-openssl.c:1389 #, c-format msgid "DH: could not load DH parameters" msgstr "DH: kunde inte ladda DH-parametrar" -#: libpq/be-secure-openssl.c:1298 +#: libpq/be-secure-openssl.c:1397 #, c-format msgid "DH: could not set DH parameters: %s" msgstr "DH: kunde inte sätta DH-parametrar: %s" -#: libpq/be-secure-openssl.c:1325 +#: libpq/be-secure-openssl.c:1424 #, c-format msgid "ECDH: unrecognized curve name: %s" msgstr "ECDH: okänt kurvnamn: %s" -#: libpq/be-secure-openssl.c:1334 +#: libpq/be-secure-openssl.c:1433 #, c-format msgid "ECDH: could not create key" msgstr "ECDH: kunde inte skapa nyckel" -#: libpq/be-secure-openssl.c:1362 +#: libpq/be-secure-openssl.c:1461 msgid "no SSL error reported" msgstr "inget SSL-fel rapporterat" -#: libpq/be-secure-openssl.c:1366 +#: libpq/be-secure-openssl.c:1479 #, c-format msgid "SSL error code %lu" msgstr "SSL-felkod %lu" -#: libpq/be-secure-openssl.c:1525 +#: libpq/be-secure-openssl.c:1636 #, c-format msgid "could not create BIO" msgstr "kunde inte skapa BIO" -#: libpq/be-secure-openssl.c:1535 +#: libpq/be-secure-openssl.c:1646 #, c-format msgid "could not get NID for ASN1_OBJECT object" msgstr "kunde inte hämta NID för ASN1_OBJECT-objekt" -#: libpq/be-secure-openssl.c:1543 +#: libpq/be-secure-openssl.c:1654 #, c-format msgid "could not convert NID %d to an ASN1_OBJECT structure" msgstr "kunde inte konvertera NID %d till en ASN1_OBJECT-struktur" -#: libpq/be-secure.c:207 libpq/be-secure.c:303 -#, c-format -msgid "terminating connection due to unexpected postmaster exit" -msgstr "avslutar anslutning på grund av att postmaster stängde oväntat ner" - -#: libpq/crypt.c:49 +#: libpq/crypt.c:48 #, c-format msgid "Role \"%s\" does not exist." msgstr "Rollen \"%s\" finns inte." -#: libpq/crypt.c:59 +#: libpq/crypt.c:58 #, c-format msgid "User \"%s\" has no password assigned." msgstr "Användaren \"%s\" har inget lösenord satt." -#: libpq/crypt.c:77 +#: libpq/crypt.c:76 #, c-format msgid "User \"%s\" has an expired password." msgstr "Användaren \"%s\" har ett utgånget lösenord." -#: libpq/crypt.c:183 +#: libpq/crypt.c:182 #, c-format msgid "User \"%s\" has a password that cannot be used with MD5 authentication." msgstr "Användaren \"%s\" har ett lösenord som inte kan användas med MD5-autentisering." -#: libpq/crypt.c:204 libpq/crypt.c:246 libpq/crypt.c:266 +#: libpq/crypt.c:203 libpq/crypt.c:245 libpq/crypt.c:265 #, c-format msgid "Password does not match for user \"%s\"." msgstr "Lösenordet matchar inte för användare \"%s\"." -#: libpq/crypt.c:285 +#: libpq/crypt.c:284 #, c-format msgid "Password of user \"%s\" is in unrecognized format." msgstr "Lösenordet för användare \"%s\" är på ett okänt format." -#: libpq/hba.c:332 +#: libpq/hba.c:327 #, c-format msgid "invalid regular expression \"%s\": %s" msgstr "ogiltigt reguljärt uttryck \"%s\": %s" -#: libpq/hba.c:334 libpq/hba.c:666 libpq/hba.c:1250 libpq/hba.c:1270 -#: libpq/hba.c:1293 libpq/hba.c:1306 libpq/hba.c:1359 libpq/hba.c:1387 -#: libpq/hba.c:1395 libpq/hba.c:1407 libpq/hba.c:1428 libpq/hba.c:1441 -#: libpq/hba.c:1466 libpq/hba.c:1493 libpq/hba.c:1505 libpq/hba.c:1564 -#: libpq/hba.c:1584 libpq/hba.c:1598 libpq/hba.c:1618 libpq/hba.c:1629 -#: libpq/hba.c:1644 libpq/hba.c:1663 libpq/hba.c:1679 libpq/hba.c:1691 -#: libpq/hba.c:1728 libpq/hba.c:1769 libpq/hba.c:1782 libpq/hba.c:1804 -#: libpq/hba.c:1816 libpq/hba.c:1834 libpq/hba.c:1884 libpq/hba.c:1928 -#: libpq/hba.c:1939 libpq/hba.c:1955 libpq/hba.c:1972 libpq/hba.c:1983 -#: libpq/hba.c:2002 libpq/hba.c:2018 libpq/hba.c:2034 libpq/hba.c:2093 -#: libpq/hba.c:2110 libpq/hba.c:2123 libpq/hba.c:2135 libpq/hba.c:2154 -#: libpq/hba.c:2240 libpq/hba.c:2258 libpq/hba.c:2352 libpq/hba.c:2371 -#: libpq/hba.c:2400 libpq/hba.c:2413 libpq/hba.c:2436 libpq/hba.c:2458 -#: libpq/hba.c:2472 tsearch/ts_locale.c:243 +#: libpq/hba.c:329 libpq/hba.c:661 libpq/hba.c:1245 libpq/hba.c:1265 +#: libpq/hba.c:1288 libpq/hba.c:1301 libpq/hba.c:1354 libpq/hba.c:1382 +#: libpq/hba.c:1390 libpq/hba.c:1402 libpq/hba.c:1423 libpq/hba.c:1436 +#: libpq/hba.c:1461 libpq/hba.c:1488 libpq/hba.c:1500 libpq/hba.c:1559 +#: libpq/hba.c:1579 libpq/hba.c:1593 libpq/hba.c:1613 libpq/hba.c:1624 +#: libpq/hba.c:1639 libpq/hba.c:1658 libpq/hba.c:1674 libpq/hba.c:1686 +#: libpq/hba.c:1752 libpq/hba.c:1765 libpq/hba.c:1787 libpq/hba.c:1799 +#: libpq/hba.c:1817 libpq/hba.c:1867 libpq/hba.c:1911 libpq/hba.c:1922 +#: libpq/hba.c:1938 libpq/hba.c:1955 libpq/hba.c:1966 libpq/hba.c:1985 +#: libpq/hba.c:2001 libpq/hba.c:2017 libpq/hba.c:2076 libpq/hba.c:2093 +#: libpq/hba.c:2106 libpq/hba.c:2118 libpq/hba.c:2137 libpq/hba.c:2223 +#: libpq/hba.c:2241 libpq/hba.c:2335 libpq/hba.c:2354 libpq/hba.c:2383 +#: libpq/hba.c:2396 libpq/hba.c:2419 libpq/hba.c:2441 libpq/hba.c:2455 +#: tsearch/ts_locale.c:241 #, c-format msgid "line %d of configuration file \"%s\"" msgstr "rad %d i konfigurationsfil \"%s\"" -#: libpq/hba.c:462 +#: libpq/hba.c:457 #, c-format msgid "skipping missing authentication file \"%s\"" msgstr "hoppar över saknad autentiseringsfil \"%s\"" -#: libpq/hba.c:614 +#: libpq/hba.c:609 #, c-format msgid "could not open file \"%s\": maximum nesting depth exceeded" msgstr "kunde inte öppna filen \"%s\": maximalt nästlingsdjup överskridet" -#: libpq/hba.c:1221 +#: libpq/hba.c:1216 #, c-format msgid "error enumerating network interfaces: %m" msgstr "fel vid uppräkning av nätverksinterface: %m" #. translator: the second %s is a list of auth methods -#: libpq/hba.c:1248 +#: libpq/hba.c:1243 #, c-format msgid "authentication option \"%s\" is only valid for authentication methods %s" msgstr "autentiseringsflagga \"%s\" är bara giltig för autentiseringsmetoder %s" -#: libpq/hba.c:1268 +#: libpq/hba.c:1263 #, c-format msgid "authentication method \"%s\" requires argument \"%s\" to be set" msgstr "autentiseringsmetod \"%s\" kräver att argumentet \"%s\" är satt" -#: libpq/hba.c:1292 +#: libpq/hba.c:1287 #, c-format msgid "missing entry at end of line" msgstr "saknar post vid slutet av raden" -#: libpq/hba.c:1305 +#: libpq/hba.c:1300 #, c-format msgid "multiple values in ident field" msgstr "multipla värden i ident-fält" -#: libpq/hba.c:1357 +#: libpq/hba.c:1352 #, c-format msgid "multiple values specified for connection type" msgstr "multipla värden angivna för anslutningstyp" -#: libpq/hba.c:1358 +#: libpq/hba.c:1353 #, c-format msgid "Specify exactly one connection type per line." msgstr "Ange exakt en anslutningstyp per rad." -#: libpq/hba.c:1385 +#: libpq/hba.c:1380 #, c-format msgid "hostssl record cannot match because SSL is disabled" msgstr "hostssl-post kan inte matcha då SSL är avslaget" -#: libpq/hba.c:1386 +#: libpq/hba.c:1381 #, c-format -msgid "Set ssl = on in postgresql.conf." -msgstr "Sätt ssl = on i postgresql.conf." +msgid "Set \"ssl = on\" in postgresql.conf." +msgstr "Sätt \"ssl = on\" i postgresql.conf." -#: libpq/hba.c:1394 +#: libpq/hba.c:1389 #, c-format msgid "hostssl record cannot match because SSL is not supported by this build" msgstr "hostssl-post kan inte matcha då SSL inte stöds i detta bygge" -#: libpq/hba.c:1406 +#: libpq/hba.c:1401 #, c-format msgid "hostgssenc record cannot match because GSSAPI is not supported by this build" msgstr "hostgssenc-post kan inte matcha då GSSAPI inte stöds i detta bygge" -#: libpq/hba.c:1426 +#: libpq/hba.c:1421 #, c-format msgid "invalid connection type \"%s\"" msgstr "ogiltig anslutningstyp \"%s\"" -#: libpq/hba.c:1440 +#: libpq/hba.c:1435 #, c-format msgid "end-of-line before database specification" msgstr "slut-på-rad innan databasspecifikation" -#: libpq/hba.c:1465 +#: libpq/hba.c:1460 #, c-format msgid "end-of-line before role specification" msgstr "slut-på-rad innan rollspecifikation" -#: libpq/hba.c:1492 +#: libpq/hba.c:1487 #, c-format msgid "end-of-line before IP address specification" msgstr "slut-på-rad före IP-adressangivelse" -#: libpq/hba.c:1503 +#: libpq/hba.c:1498 #, c-format msgid "multiple values specified for host address" msgstr "multipla värden angivna för värdnamn" -#: libpq/hba.c:1504 +#: libpq/hba.c:1499 #, c-format msgid "Specify one address range per line." msgstr "Ange ett adressintervall per rad." -#: libpq/hba.c:1562 +#: libpq/hba.c:1557 #, c-format msgid "invalid IP address \"%s\": %s" msgstr "ogiltig IP-adress \"%s\": %s" -#: libpq/hba.c:1582 +#: libpq/hba.c:1577 #, c-format msgid "specifying both host name and CIDR mask is invalid: \"%s\"" msgstr "får inte ange både värdnamn och CIDR-mask: \"%s\"" -#: libpq/hba.c:1596 +#: libpq/hba.c:1591 #, c-format msgid "invalid CIDR mask in address \"%s\"" msgstr "ogiltig CIDR-mask i adress \"%s\"" -#: libpq/hba.c:1616 +#: libpq/hba.c:1611 #, c-format msgid "end-of-line before netmask specification" msgstr "slut-på-fil innan nätmask-angivelse" -#: libpq/hba.c:1617 +#: libpq/hba.c:1612 #, c-format msgid "Specify an address range in CIDR notation, or provide a separate netmask." msgstr "Ange adressintervall på CIDR-format eller ange en separat nätmask." -#: libpq/hba.c:1628 +#: libpq/hba.c:1623 #, c-format msgid "multiple values specified for netmask" msgstr "multipla värden angivna för nätmask" -#: libpq/hba.c:1642 +#: libpq/hba.c:1637 #, c-format msgid "invalid IP mask \"%s\": %s" msgstr "ogiltig IP-mask \"%s\": %s" -#: libpq/hba.c:1662 +#: libpq/hba.c:1657 #, c-format msgid "IP address and mask do not match" msgstr "IP-adress och mask matchar inte varandra" -#: libpq/hba.c:1678 +#: libpq/hba.c:1673 #, c-format msgid "end-of-line before authentication method" msgstr "slut-på-rad innan autentiseringsmetod" -#: libpq/hba.c:1689 +#: libpq/hba.c:1684 #, c-format msgid "multiple values specified for authentication type" msgstr "multipla värden angivna för autentiseringstyp" -#: libpq/hba.c:1690 +#: libpq/hba.c:1685 #, c-format msgid "Specify exactly one authentication type per line." msgstr "Ange exakt en autentiseringstyp per rad." -#: libpq/hba.c:1767 +#: libpq/hba.c:1750 #, c-format msgid "invalid authentication method \"%s\"" msgstr "ogiltig autentiseringsmetod \"%s\"" -#: libpq/hba.c:1780 +#: libpq/hba.c:1763 #, c-format msgid "invalid authentication method \"%s\": not supported by this build" msgstr "ogiltig autentiseringsmetod \"%s\": stöds inte av detta bygge" -#: libpq/hba.c:1803 +#: libpq/hba.c:1786 #, c-format msgid "gssapi authentication is not supported on local sockets" msgstr "gssapi-autentisering stöds ej på lokala uttag (socket)" -#: libpq/hba.c:1815 +#: libpq/hba.c:1798 #, c-format msgid "peer authentication is only supported on local sockets" msgstr "peer-autentisering stöds bara på logala uttag (socket)" -#: libpq/hba.c:1833 +#: libpq/hba.c:1816 #, c-format msgid "cert authentication is only supported on hostssl connections" msgstr "cert-autentisering stöds bara för hostssl-anslutningar" -#: libpq/hba.c:1883 +#: libpq/hba.c:1866 #, c-format msgid "authentication option not in name=value format: %s" msgstr "autentiseringsflagga et på formatet namn=värde: %s" -#: libpq/hba.c:1927 +#: libpq/hba.c:1910 #, c-format msgid "cannot use ldapbasedn, ldapbinddn, ldapbindpasswd, ldapsearchattribute, ldapsearchfilter, or ldapurl together with ldapprefix" msgstr "kan inte använda ldapbasedn, ldapbinddn, ldapbindpasswd, ldapsearchattribute, ldapsearchfilter eller ldapurl tillsammans med ldapprefix" -#: libpq/hba.c:1938 +#: libpq/hba.c:1921 #, c-format msgid "authentication method \"ldap\" requires argument \"ldapbasedn\", \"ldapprefix\", or \"ldapsuffix\" to be set" msgstr "autentiseringsmetoden \"ldap\" kräver att argumenten \"ldapbasedn\", \"ldapprefix\" eller \"ldapsuffix\" är satta" -#: libpq/hba.c:1954 +#: libpq/hba.c:1937 #, c-format msgid "cannot use ldapsearchattribute together with ldapsearchfilter" msgstr "kan inte använda ldapsearchattribute tillsammans med ldapsearchfilter" -#: libpq/hba.c:1971 +#: libpq/hba.c:1954 #, c-format msgid "list of RADIUS servers cannot be empty" msgstr "listan med RADIUS-servrar kan inte vara tom" -#: libpq/hba.c:1982 +#: libpq/hba.c:1965 #, c-format msgid "list of RADIUS secrets cannot be empty" msgstr "listan med RADIUS-hemligheter kan inte vara tom" -#: libpq/hba.c:1999 +#: libpq/hba.c:1982 #, c-format msgid "the number of RADIUS secrets (%d) must be 1 or the same as the number of RADIUS servers (%d)" msgstr "antalet RADIUS-hemligheter (%d) måste vara 1 eller samma som antalet RADIUS-servrar (%d)" -#: libpq/hba.c:2015 +#: libpq/hba.c:1998 #, c-format msgid "the number of RADIUS ports (%d) must be 1 or the same as the number of RADIUS servers (%d)" msgstr "antalet RADIUS-portar (%d) måste vara 1 eller samma som antalet RADIUS-servrar (%d)" -#: libpq/hba.c:2031 +#: libpq/hba.c:2014 #, c-format msgid "the number of RADIUS identifiers (%d) must be 1 or the same as the number of RADIUS servers (%d)" msgstr "antalet RADIUS-identifierare (%d) måste vara 1 eller samma som antalet RADIUS-servrar (%d)" -#: libpq/hba.c:2083 +#: libpq/hba.c:2066 msgid "ident, peer, gssapi, sspi, and cert" msgstr "ident, peer, gssapi, sspi och cert" -#: libpq/hba.c:2092 +#: libpq/hba.c:2075 #, c-format msgid "clientcert can only be configured for \"hostssl\" rows" msgstr "clientcert kan bara konfigureras för \"hostssl\"-rader" -#: libpq/hba.c:2109 +#: libpq/hba.c:2092 #, c-format msgid "clientcert only accepts \"verify-full\" when using \"cert\" authentication" msgstr "clientcert tillåter bara \"verify-full\" när man använder \"cert\"-autentisering" -#: libpq/hba.c:2122 +#: libpq/hba.c:2105 #, c-format msgid "invalid value for clientcert: \"%s\"" msgstr "ogiltigt värde för clientcert: \"%s\"" -#: libpq/hba.c:2134 +#: libpq/hba.c:2117 #, c-format msgid "clientname can only be configured for \"hostssl\" rows" msgstr "clientname kan bara konfigureras för \"hostssl\"-rader" -#: libpq/hba.c:2153 +#: libpq/hba.c:2136 #, c-format msgid "invalid value for clientname: \"%s\"" msgstr "ogiltigt värde för clientname: \"%s\"" -#: libpq/hba.c:2186 +#: libpq/hba.c:2169 #, c-format msgid "could not parse LDAP URL \"%s\": %s" msgstr "kunde inte parsa LDAP-URL \"%s\": %s" -#: libpq/hba.c:2197 +#: libpq/hba.c:2180 #, c-format msgid "unsupported LDAP URL scheme: %s" msgstr "ej stöd för LDAP-URL-schema: %s" -#: libpq/hba.c:2221 +#: libpq/hba.c:2204 #, c-format msgid "LDAP URLs not supported on this platform" msgstr "LDAP-URL:er stöds inte på denna platform" -#: libpq/hba.c:2239 +#: libpq/hba.c:2222 #, c-format msgid "invalid ldapscheme value: \"%s\"" msgstr "ogiltigt ldap-schema-värde: \"%s\"" -#: libpq/hba.c:2257 +#: libpq/hba.c:2240 #, c-format msgid "invalid LDAP port number: \"%s\"" msgstr "ogiltigt LDAP-portnummer \"%s\"" -#: libpq/hba.c:2303 libpq/hba.c:2310 +#: libpq/hba.c:2286 libpq/hba.c:2293 msgid "gssapi and sspi" msgstr "gssapi och sspi" -#: libpq/hba.c:2319 libpq/hba.c:2328 +#: libpq/hba.c:2302 libpq/hba.c:2311 msgid "sspi" msgstr "sspi" -#: libpq/hba.c:2350 +#: libpq/hba.c:2333 #, c-format msgid "could not parse RADIUS server list \"%s\"" msgstr "kunde inte parsa RADIUS-serverlista \"%s\"" -#: libpq/hba.c:2398 +#: libpq/hba.c:2381 #, c-format msgid "could not parse RADIUS port list \"%s\"" msgstr "kunde inte parsa RADIUS-portlista \"%s\"" -#: libpq/hba.c:2412 +#: libpq/hba.c:2395 #, c-format msgid "invalid RADIUS port number: \"%s\"" msgstr "ogiltigt RADIUS-portnummer: \"%s\"" -#: libpq/hba.c:2434 +#: libpq/hba.c:2417 #, c-format msgid "could not parse RADIUS secret list \"%s\"" msgstr "kunde inte parsa RADIUS-hemlighetlista: \"%s\"" -#: libpq/hba.c:2456 +#: libpq/hba.c:2439 #, c-format msgid "could not parse RADIUS identifiers list \"%s\"" msgstr "kunde inte parsa RADIUS-identifierarlista: \"%s\"" -#: libpq/hba.c:2470 +#: libpq/hba.c:2453 #, c-format msgid "unrecognized authentication option name: \"%s\"" msgstr "okänd autentiseringsflaggnamn: \"%s\"" -#: libpq/hba.c:2662 +#: libpq/hba.c:2645 #, c-format msgid "configuration file \"%s\" contains no entries" msgstr "konfigurationsfil \"%s\" innehåller inga poster" -#: libpq/hba.c:2815 +#: libpq/hba.c:2798 #, c-format msgid "regular expression match for \"%s\" failed: %s" msgstr "matchning av reguljärt uttryck för \"%s\" misslyckades: %s" -#: libpq/hba.c:2839 +#: libpq/hba.c:2822 #, c-format msgid "regular expression \"%s\" has no subexpressions as requested by backreference in \"%s\"" msgstr "reguljärt uttryck \"%s\" har inga deluttryck som krävs för bakåtreferens i \"%s\"" -#: libpq/hba.c:2942 +#: libpq/hba.c:2925 #, c-format msgid "provided user name (%s) and authenticated user name (%s) do not match" msgstr "givet användarnamn (%s) och autentiserat användarnamn (%s) matchar inte" -#: libpq/hba.c:2962 +#: libpq/hba.c:2945 #, c-format msgid "no match in usermap \"%s\" for user \"%s\" authenticated as \"%s\"" msgstr "ingen träff i användarmappning \"%s\" för användare \"%s\" autentiserad som \"%s\"" -#: libpq/pqcomm.c:200 +#: libpq/pqcomm.c:211 libpq/pqcomm.c:219 libpq/pqcomm.c:250 libpq/pqcomm.c:259 +#: libpq/pqcomm.c:1648 libpq/pqcomm.c:1693 libpq/pqcomm.c:1733 +#: libpq/pqcomm.c:1777 libpq/pqcomm.c:1816 libpq/pqcomm.c:1855 +#: libpq/pqcomm.c:1891 libpq/pqcomm.c:1930 +#, c-format +msgid "%s(%s) failed: %m" +msgstr "%s(%s) misslyckades: %m" + +#: libpq/pqcomm.c:296 #, c-format msgid "could not set socket to nonblocking mode: %m" msgstr "kunde inte sätta uttag (socket) till ickeblockerande läge: %m" -#: libpq/pqcomm.c:361 +#: libpq/pqcomm.c:456 #, c-format msgid "Unix-domain socket path \"%s\" is too long (maximum %d bytes)" msgstr "Sökväg till unixdomänuttag \"%s\" är för lång (maximalt %d byte)" -#: libpq/pqcomm.c:381 +#: libpq/pqcomm.c:476 #, c-format msgid "could not translate host name \"%s\", service \"%s\" to address: %s" msgstr "kunde inte översätta värdnamn \"%s\", service \"%s\" till adress: %s" -#: libpq/pqcomm.c:385 +#: libpq/pqcomm.c:480 #, c-format msgid "could not translate service \"%s\" to address: %s" msgstr "kunde inte översätta service \"%s\" till adress: %s" -#: libpq/pqcomm.c:412 +#: libpq/pqcomm.c:502 #, c-format msgid "could not bind to all requested addresses: MAXLISTEN (%d) exceeded" msgstr "kunde inte binda till alla efterfrågade adresser: MAXLISTEN (%d) överskriden" -#: libpq/pqcomm.c:421 +#: libpq/pqcomm.c:511 msgid "IPv4" msgstr "IPv4" -#: libpq/pqcomm.c:424 +#: libpq/pqcomm.c:514 msgid "IPv6" msgstr "IPv6" -#: libpq/pqcomm.c:427 +#: libpq/pqcomm.c:517 msgid "Unix" msgstr "Unix" -#: libpq/pqcomm.c:431 +#: libpq/pqcomm.c:521 #, c-format msgid "unrecognized address family %d" msgstr "ej igenkänd adressfamilj %d" #. translator: first %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:455 +#: libpq/pqcomm.c:545 #, c-format msgid "could not create %s socket for address \"%s\": %m" msgstr "kunde inte skapa %s-uttag för adress \"%s\": %m" #. translator: third %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:481 libpq/pqcomm.c:499 +#: libpq/pqcomm.c:574 libpq/pqcomm.c:592 #, c-format msgid "%s(%s) failed for %s address \"%s\": %m" msgstr "%s(%s) misslyckades för %s-adress \"%s\": %m" #. translator: first %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:522 +#: libpq/pqcomm.c:615 #, c-format msgid "could not bind %s address \"%s\": %m" msgstr "kunde inte binda %s-adress \"%s\": %m" -#: libpq/pqcomm.c:526 +#: libpq/pqcomm.c:619 #, c-format msgid "Is another postmaster already running on port %d?" msgstr "Kör en annan postmaster redan på port %d?" -#: libpq/pqcomm.c:528 +#: libpq/pqcomm.c:621 #, c-format msgid "Is another postmaster already running on port %d? If not, wait a few seconds and retry." msgstr "Kör en annan postmaster redan på port %d? Om inte, vänta några sekunder och försök igen." #. translator: first %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:557 +#: libpq/pqcomm.c:650 #, c-format msgid "could not listen on %s address \"%s\": %m" msgstr "kunde inte lyssna på %s-adress \"%s\": %m" -#: libpq/pqcomm.c:565 +#: libpq/pqcomm.c:658 #, c-format msgid "listening on Unix socket \"%s\"" msgstr "lyssnar på Unix-uttag (socket) \"%s\"" #. translator: first %s is IPv4 or IPv6 -#: libpq/pqcomm.c:570 +#: libpq/pqcomm.c:663 #, c-format msgid "listening on %s address \"%s\", port %d" msgstr "lyssnar på %s-adress \"%s\", port %d" -#: libpq/pqcomm.c:659 +#: libpq/pqcomm.c:753 #, c-format msgid "group \"%s\" does not exist" msgstr "gruppen \"%s\" existerar inte" -#: libpq/pqcomm.c:669 +#: libpq/pqcomm.c:763 #, c-format msgid "could not set group of file \"%s\": %m" msgstr "kunde inte sätta gruppen på filen \"%s\": %m" -#: libpq/pqcomm.c:680 +#: libpq/pqcomm.c:774 #, c-format msgid "could not set permissions of file \"%s\": %m" msgstr "kunde inte sätta rättigheter på filen \"%s\": %m" -#: libpq/pqcomm.c:708 +#: libpq/pqcomm.c:803 #, c-format msgid "could not accept new connection: %m" msgstr "kunde inte acceptera ny uppkoppling: %m" -#: libpq/pqcomm.c:748 libpq/pqcomm.c:757 libpq/pqcomm.c:789 libpq/pqcomm.c:799 -#: libpq/pqcomm.c:1624 libpq/pqcomm.c:1669 libpq/pqcomm.c:1709 -#: libpq/pqcomm.c:1753 libpq/pqcomm.c:1792 libpq/pqcomm.c:1831 -#: libpq/pqcomm.c:1867 libpq/pqcomm.c:1906 -#, c-format -msgid "%s(%s) failed: %m" -msgstr "%s(%s) misslyckades: %m" - -#: libpq/pqcomm.c:903 +#: libpq/pqcomm.c:885 #, c-format msgid "there is no client connection" msgstr "det finns ingen klientanslutning" -#: libpq/pqcomm.c:954 libpq/pqcomm.c:1050 +#: libpq/pqcomm.c:941 libpq/pqcomm.c:1042 #, c-format msgid "could not receive data from client: %m" msgstr "kunde inte ta emot data från klient: %m" -#: libpq/pqcomm.c:1155 tcop/postgres.c:4405 +#: libpq/pqcomm.c:1149 tcop/postgres.c:4533 #, c-format msgid "terminating connection because protocol synchronization was lost" msgstr "stänger anslutning då protokollsynkroniseringen tappades" -#: libpq/pqcomm.c:1221 +#: libpq/pqcomm.c:1215 #, c-format msgid "unexpected EOF within message length word" msgstr "oväntat EOF inom meddelandelängdord" -#: libpq/pqcomm.c:1231 +#: libpq/pqcomm.c:1225 #, c-format msgid "invalid message length" msgstr "ogiltig meddelandelängd" -#: libpq/pqcomm.c:1253 libpq/pqcomm.c:1266 +#: libpq/pqcomm.c:1247 libpq/pqcomm.c:1260 #, c-format msgid "incomplete message from client" msgstr "inkomplett meddelande från klient" -#: libpq/pqcomm.c:1377 +#: libpq/pqcomm.c:1401 #, c-format msgid "could not send data to client: %m" msgstr "kunde inte skicka data till klient: %m" -#: libpq/pqcomm.c:1592 +#: libpq/pqcomm.c:1616 #, c-format msgid "%s(%s) failed: error code %d" msgstr "%s(%s) misslyckades: felkod %d" -#: libpq/pqcomm.c:1681 +#: libpq/pqcomm.c:1705 #, c-format msgid "setting the keepalive idle time is not supported" msgstr "sätta idle-tid på keepalive stöds inte" -#: libpq/pqcomm.c:1765 libpq/pqcomm.c:1840 libpq/pqcomm.c:1915 +#: libpq/pqcomm.c:1789 libpq/pqcomm.c:1864 libpq/pqcomm.c:1939 #, c-format msgid "%s(%s) not supported" msgstr "%s(%s) stöds inte" -#: libpq/pqformat.c:407 +#: libpq/pqformat.c:404 #, c-format msgid "no data left in message" msgstr "ingen data kvar i meddelandet" -#: libpq/pqformat.c:518 libpq/pqformat.c:536 libpq/pqformat.c:557 -#: utils/adt/array_userfuncs.c:799 utils/adt/arrayfuncs.c:1506 -#: utils/adt/rowtypes.c:615 +#: libpq/pqformat.c:515 libpq/pqformat.c:533 libpq/pqformat.c:554 +#: utils/adt/array_userfuncs.c:797 utils/adt/arrayfuncs.c:1481 +#: utils/adt/rowtypes.c:613 #, c-format msgid "insufficient data left in message" msgstr "otillräckligt med data kvar i meddelande" -#: libpq/pqformat.c:598 libpq/pqformat.c:627 +#: libpq/pqformat.c:595 libpq/pqformat.c:624 #, c-format msgid "invalid string in message" msgstr "ogiltig sträng i meddelande" -#: libpq/pqformat.c:643 +#: libpq/pqformat.c:640 #, c-format msgid "invalid message format" msgstr "ogiltigt meddelandeformat" -#: main/main.c:235 +#: main/main.c:234 #, c-format msgid "%s: WSAStartup failed: %d\n" msgstr "%s: WSAStartup misslyckades: %d\n" -#: main/main.c:329 +#: main/main.c:322 #, c-format msgid "" "%s is the PostgreSQL server.\n" @@ -16047,7 +16499,7 @@ msgstr "" "%s är PostgreSQL-servern.\n" "\n" -#: main/main.c:330 +#: main/main.c:323 #, c-format msgid "" "Usage:\n" @@ -16058,107 +16510,107 @@ msgstr "" " %s [FLAGGA]...\n" "\n" -#: main/main.c:331 +#: main/main.c:324 #, c-format msgid "Options:\n" msgstr "Flaggor:\n" -#: main/main.c:332 +#: main/main.c:325 #, c-format msgid " -B NBUFFERS number of shared buffers\n" msgstr " -B NBUFFERS antalet delade buffertar\n" -#: main/main.c:333 +#: main/main.c:326 #, c-format msgid " -c NAME=VALUE set run-time parameter\n" msgstr " -c NAMN=VÄRDE sätt körparameter\n" -#: main/main.c:334 +#: main/main.c:327 #, c-format msgid " -C NAME print value of run-time parameter, then exit\n" msgstr " -C NAMN skriv ut värde av runtime-parameter, avsluta sen\n" -#: main/main.c:335 +#: main/main.c:328 #, c-format msgid " -d 1-5 debugging level\n" msgstr " -d 1-5 debug-nivå\n" -#: main/main.c:336 +#: main/main.c:329 #, c-format msgid " -D DATADIR database directory\n" msgstr " -D DATADIR databaskatalog\n" -#: main/main.c:337 +#: main/main.c:330 #, c-format msgid " -e use European date input format (DMY)\n" msgstr " -e använd europeiskt datumformat för indata (DMY)\n" -#: main/main.c:338 +#: main/main.c:331 #, c-format msgid " -F turn fsync off\n" msgstr " -F slå av fsync\n" -#: main/main.c:339 +#: main/main.c:332 #, c-format msgid " -h HOSTNAME host name or IP address to listen on\n" msgstr " -h VÄRDNAMN värdnamn eller IP-adress att lyssna på\n" -#: main/main.c:340 +#: main/main.c:333 #, c-format msgid " -i enable TCP/IP connections (deprecated)\n" msgstr " -i tillåt TCP/IP-uppkopplingar (obsolet)\n" -#: main/main.c:341 +#: main/main.c:334 #, c-format msgid " -k DIRECTORY Unix-domain socket location\n" msgstr " -k KATALOG plats för unix-domän-uttag (socket)\n" -#: main/main.c:343 +#: main/main.c:336 #, c-format msgid " -l enable SSL connections\n" msgstr " -l tillåt SSL-anslutningar\n" -#: main/main.c:345 +#: main/main.c:338 #, c-format msgid " -N MAX-CONNECT maximum number of allowed connections\n" msgstr " -N MAX-ANSLUT maximalt antal tillåtna anslutningar\n" -#: main/main.c:346 +#: main/main.c:339 #, c-format msgid " -p PORT port number to listen on\n" msgstr " -p PORT portnummer att lyssna på\n" -#: main/main.c:347 +#: main/main.c:340 #, c-format msgid " -s show statistics after each query\n" msgstr " -s visa statistik efter varje fråga\n" -#: main/main.c:348 +#: main/main.c:341 #, c-format msgid " -S WORK-MEM set amount of memory for sorts (in kB)\n" msgstr " -S WORK-MEM ställ in mängden minne för sorteringar (i kB)\n" -#: main/main.c:349 +#: main/main.c:342 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version visa versionsinformation, avsluta sedan\n" -#: main/main.c:350 +#: main/main.c:343 #, c-format msgid " --NAME=VALUE set run-time parameter\n" msgstr " --NAMN=VÄRDE sätt parameter (som används under körning)\n" -#: main/main.c:351 +#: main/main.c:344 #, c-format msgid " --describe-config describe configuration parameters, then exit\n" msgstr " --describe-config beskriv konfigurationsparametrar, avsluta sedan\n" -#: main/main.c:352 +#: main/main.c:345 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help visa denna hjälp, avsluta sedan\n" -#: main/main.c:354 +#: main/main.c:347 #, c-format msgid "" "\n" @@ -16167,37 +16619,37 @@ msgstr "" "\n" "Utvecklarflaggor:\n" -#: main/main.c:355 +#: main/main.c:348 #, c-format msgid " -f s|i|o|b|t|n|m|h forbid use of some plan types\n" msgstr " -f s|i|o|b|t|n|m|h förbjud användning av vissa plan-typer\n" -#: main/main.c:356 +#: main/main.c:349 #, c-format msgid " -O allow system table structure changes\n" msgstr " -O tillåt strukturändring av systemtabeller\n" -#: main/main.c:357 +#: main/main.c:350 #, c-format msgid " -P disable system indexes\n" msgstr " -P stäng av systemindex\n" -#: main/main.c:358 +#: main/main.c:351 #, c-format msgid " -t pa|pl|ex show timings after each query\n" msgstr " -t pa|pl|ex visa tidtagning efter varje fråga\n" -#: main/main.c:359 +#: main/main.c:352 #, c-format msgid " -T send SIGABRT to all backend processes if one dies\n" msgstr " -T skicka SIGABRT till alla serverprocesser om en dör\n" -#: main/main.c:360 +#: main/main.c:353 #, c-format msgid " -W NUM wait NUM seconds to allow attach from a debugger\n" msgstr " -W NUM vänta NUM sekunder för att tillåta att en debugger kopplas in\n" -#: main/main.c:362 +#: main/main.c:355 #, c-format msgid "" "\n" @@ -16206,37 +16658,37 @@ msgstr "" "\n" "Flaggor för enanvändarläge:\n" -#: main/main.c:363 +#: main/main.c:356 #, c-format msgid " --single selects single-user mode (must be first argument)\n" msgstr " --single väljer enanvändarläge (måste vara första argumentet)\n" -#: main/main.c:364 +#: main/main.c:357 #, c-format msgid " DBNAME database name (defaults to user name)\n" msgstr " DBNAMN databasnamn (standard är användarnamnet)\n" -#: main/main.c:365 +#: main/main.c:358 #, c-format msgid " -d 0-5 override debugging level\n" msgstr " -d 0-5 överskugga debug-nivå\n" -#: main/main.c:366 +#: main/main.c:359 #, c-format msgid " -E echo statement before execution\n" msgstr " -E skriv ut sats före körning\n" -#: main/main.c:367 +#: main/main.c:360 #, c-format msgid " -j do not use newline as interactive query delimiter\n" msgstr " -j använd inte nyrad som en interaktiv frågeavskiljare\n" -#: main/main.c:368 main/main.c:374 +#: main/main.c:361 main/main.c:367 #, c-format msgid " -r FILENAME send stdout and stderr to given file\n" msgstr " -r FILNAMN skicka stdout och stderr till angiven fil\n" -#: main/main.c:370 +#: main/main.c:363 #, c-format msgid "" "\n" @@ -16245,22 +16697,22 @@ msgstr "" "\n" "Flaggor för bootstrap-läge:\n" -#: main/main.c:371 +#: main/main.c:364 #, c-format msgid " --boot selects bootstrapping mode (must be first argument)\n" msgstr " --boot väljer bootstrap-läge (måste vara första argumentet)\n" -#: main/main.c:372 +#: main/main.c:365 #, c-format msgid " --check selects check mode (must be first argument)\n" msgstr " --check väljer kontrolläge (måste vara första argumentet)\n" -#: main/main.c:373 +#: main/main.c:366 #, c-format msgid " DBNAME database name (mandatory argument in bootstrapping mode)\n" msgstr " DBNAMN databasnamn (krävs i bootstrap-läge)\n" -#: main/main.c:376 +#: main/main.c:369 #, c-format msgid "" "\n" @@ -16276,12 +16728,12 @@ msgstr "" "\n" "Rapportera buggar till <%s>.\n" -#: main/main.c:380 +#: main/main.c:373 #, c-format msgid "%s home page: <%s>\n" msgstr "hemsida för %s: <%s>\n" -#: main/main.c:391 +#: main/main.c:384 #, c-format msgid "" "\"root\" execution of the PostgreSQL server is not permitted.\n" @@ -16294,12 +16746,12 @@ msgstr "" "ev. säkehetsproblem. Se dokumentationen för mer information om hur man\n" "startar servern på rätt sätt.\n" -#: main/main.c:408 +#: main/main.c:401 #, c-format msgid "%s: real and effective user IDs must match\n" msgstr "%s: riktig och effektiv användar-ID måste matcha varandra\n" -#: main/main.c:415 +#: main/main.c:408 #, c-format msgid "" "Execution of PostgreSQL by a user with administrative permissions is not\n" @@ -16324,20 +16776,15 @@ msgstr "utökningsbar nodtyp \"%s\" finns redan" msgid "ExtensibleNodeMethods \"%s\" was not registered" msgstr "ExtensibleNodeMethods \"%s\" har inte registerats" -#: nodes/makefuncs.c:153 statistics/extended_stats.c:2335 +#: nodes/makefuncs.c:152 statistics/extended_stats.c:2310 #, c-format msgid "relation \"%s\" does not have a composite type" msgstr "relationen \"%s\" har ingen composite-typ" -#: nodes/makefuncs.c:879 -#, c-format -msgid "unrecognized JSON encoding: %s" -msgstr "okänd JSON-kodning: %s" - -#: nodes/nodeFuncs.c:116 nodes/nodeFuncs.c:147 parser/parse_coerce.c:2567 +#: nodes/nodeFuncs.c:118 nodes/nodeFuncs.c:149 parser/parse_coerce.c:2567 #: parser/parse_coerce.c:2705 parser/parse_coerce.c:2752 -#: parser/parse_expr.c:2049 parser/parse_func.c:710 parser/parse_oper.c:883 -#: utils/fmgr/funcapi.c:661 +#: parser/parse_expr.c:2112 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" msgstr "kunde inte hitta array-typ för datatyp %s" @@ -16352,931 +16799,936 @@ msgstr "portal \"%s\" med parametrar: %s" msgid "unnamed portal with parameters: %s" msgstr "ej namngiven portal med parametrar: %s" -#: optimizer/path/joinrels.c:973 +#: optimizer/path/joinrels.c:972 #, c-format msgid "FULL JOIN is only supported with merge-joinable or hash-joinable join conditions" msgstr "FULL JOIN stöds bara med villkor som är merge-joinbara eller hash-joinbara" -#: optimizer/plan/createplan.c:7111 parser/parse_merge.c:182 -#: parser/parse_merge.c:189 +#: optimizer/plan/createplan.c:7175 parser/parse_merge.c:203 +#: rewrite/rewriteHandler.c:1696 #, c-format msgid "cannot execute MERGE on relation \"%s\"" msgstr "kan inte utföra MERGE på relation \"%s\"" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: optimizer/plan/initsplan.c:1408 +#: optimizer/plan/initsplan.c:1407 #, c-format msgid "%s cannot be applied to the nullable side of an outer join" msgstr "%s kan inte appliceras på den nullbara sidan av en outer join" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: optimizer/plan/planner.c:1361 parser/analyze.c:1761 parser/analyze.c:2018 -#: parser/analyze.c:3231 +#: optimizer/plan/planner.c:1386 parser/analyze.c:1771 parser/analyze.c:2029 +#: parser/analyze.c:3247 #, c-format msgid "%s is not allowed with UNION/INTERSECT/EXCEPT" msgstr "%s tillåts inte med UNION/INTERSECT/EXCEPT" -#: optimizer/plan/planner.c:2082 optimizer/plan/planner.c:4040 +#: optimizer/plan/planner.c:2127 optimizer/plan/planner.c:4113 #, c-format msgid "could not implement GROUP BY" msgstr "kunde inte implementera GROUP BY" -#: optimizer/plan/planner.c:2083 optimizer/plan/planner.c:4041 -#: optimizer/plan/planner.c:4681 optimizer/prep/prepunion.c:1053 +#: optimizer/plan/planner.c:2128 optimizer/plan/planner.c:4114 +#: optimizer/plan/planner.c:4795 optimizer/prep/prepunion.c:1320 #, c-format msgid "Some of the datatypes only support hashing, while others only support sorting." msgstr "Några av datatyperna stöder bara hash:ning medan andra bara stöder sortering." -#: optimizer/plan/planner.c:4680 +#: optimizer/plan/planner.c:4794 #, c-format msgid "could not implement DISTINCT" msgstr "kunde inte implementera DISTINCT" -#: optimizer/plan/planner.c:6019 +#: optimizer/plan/planner.c:6139 #, c-format msgid "could not implement window PARTITION BY" msgstr "kunde inte implementera fönster-PARTITION BY" -#: optimizer/plan/planner.c:6020 +#: optimizer/plan/planner.c:6140 #, c-format msgid "Window partitioning columns must be of sortable datatypes." msgstr "Fönsterpartitioneringskolumner måsta ha en sorterbar datatyp." -#: optimizer/plan/planner.c:6024 +#: optimizer/plan/planner.c:6144 #, c-format msgid "could not implement window ORDER BY" msgstr "kunde inte implementera fönster-ORDER BY" -#: optimizer/plan/planner.c:6025 +#: optimizer/plan/planner.c:6145 #, c-format msgid "Window ordering columns must be of sortable datatypes." msgstr "Fönsterordningskolumner måste ha en sorterbar datatyp." -#: optimizer/prep/prepunion.c:516 +#: optimizer/prep/prepunion.c:467 #, c-format msgid "could not implement recursive UNION" msgstr "kunde inte implementera rekursiv UNION" -#: optimizer/prep/prepunion.c:517 +#: optimizer/prep/prepunion.c:468 #, c-format msgid "All column datatypes must be hashable." msgstr "Alla kolumndatatyper måsta vara hash-bara." #. translator: %s is UNION, INTERSECT, or EXCEPT -#: optimizer/prep/prepunion.c:1052 +#: optimizer/prep/prepunion.c:1319 #, c-format msgid "could not implement %s" msgstr "kunde inte implementera %s" -#: optimizer/util/clauses.c:4856 +#: optimizer/util/clauses.c:4951 #, c-format msgid "SQL function \"%s\" during inlining" msgstr "SQL-funktion \"%s\" vid inline:ing" -#: optimizer/util/plancat.c:154 +#: optimizer/util/plancat.c:153 #, c-format 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:726 +#: optimizer/util/plancat.c:768 #, 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:743 +#: optimizer/util/plancat.c:785 #, 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:793 +#: optimizer/util/plancat.c:835 #, 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:898 +#: optimizer/util/plancat.c:945 #, 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" -#: parser/analyze.c:826 parser/analyze.c:1540 +#: parser/analyze.c:824 parser/analyze.c:1550 #, c-format msgid "VALUES lists must all be the same length" msgstr "VÄRDE-listor måste alla ha samma längd" -#: parser/analyze.c:1028 +#: parser/analyze.c:1027 #, c-format msgid "INSERT has more expressions than target columns" msgstr "INSERT har fler uttryck än målkolumner" -#: parser/analyze.c:1046 +#: parser/analyze.c:1045 #, c-format msgid "INSERT has more target columns than expressions" msgstr "INSERT har fler målkolumner än uttryck" -#: parser/analyze.c:1050 +#: parser/analyze.c:1049 #, c-format msgid "The insertion source is a row expression containing the same number of columns expected by the INSERT. Did you accidentally use extra parentheses?" msgstr "Imatningskällan är ett raduttryck som innehåller samma antal kolumner som INSERT:en förväntade sig. Glömde du använda extra parenteser?" -#: parser/analyze.c:1347 parser/analyze.c:1734 +#: parser/analyze.c:1357 parser/analyze.c:1744 #, c-format msgid "SELECT ... INTO is not allowed here" msgstr "SELECT ... INTO tillåts inte här" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:1663 parser/analyze.c:3463 +#: parser/analyze.c:1673 parser/analyze.c:3479 #, c-format msgid "%s cannot be applied to VALUES" msgstr "%s kan inte appliceras på VÄRDEN" -#: parser/analyze.c:1900 +#: parser/analyze.c:1911 #, c-format msgid "invalid UNION/INTERSECT/EXCEPT ORDER BY clause" msgstr "ogiltig UNION/INTERSECT/EXCEPT ORDER BY-klausul" -#: parser/analyze.c:1901 +#: parser/analyze.c:1912 #, c-format msgid "Only result column names can be used, not expressions or functions." msgstr "Bara kolumnnamn i resultatet kan användas, inte uttryck eller funktioner." -#: parser/analyze.c:1902 +#: parser/analyze.c:1913 #, c-format msgid "Add the expression/function to every SELECT, or move the UNION into a FROM clause." msgstr "Lägg till uttrycket/funktionen till varje SELECT eller flytta UNION:en in i en FROM-klausul." -#: parser/analyze.c:2008 +#: parser/analyze.c:2019 #, c-format msgid "INTO is only allowed on first SELECT of UNION/INTERSECT/EXCEPT" msgstr "INTO tillåts bara i den första SELECT i UNION/INTERSECT/EXCEPT" -#: parser/analyze.c:2080 +#: parser/analyze.c:2091 #, c-format msgid "UNION/INTERSECT/EXCEPT member statement cannot refer to other relations of same query level" msgstr "UNION/INTERSECT/EXCEPT-medlemssats kan inte referera till andra relationer på samma frågenivå" -#: parser/analyze.c:2167 +#: parser/analyze.c:2178 #, c-format msgid "each %s query must have the same number of columns" msgstr "varje %s-fråga måste ha samma antal kolumner" -#: parser/analyze.c:2573 +#: parser/analyze.c:2535 +#, c-format +msgid "SET target columns cannot be qualified with the relation name." +msgstr "målkolumner för SET kan inte kvalifiiceras med ett relationsnamn." + +#: parser/analyze.c:2589 #, c-format msgid "RETURNING must have at least one column" msgstr "RETURNING måste ha minst en kolumn" -#: parser/analyze.c:2676 +#: parser/analyze.c:2692 #, c-format msgid "assignment source returned %d column" msgid_plural "assignment source returned %d columns" msgstr[0] "tilldelningskälla returnerade %d kolumn" msgstr[1] "tilldelningskälla returnerade %d kolumner" -#: parser/analyze.c:2737 +#: parser/analyze.c:2753 #, c-format msgid "variable \"%s\" is of type %s but expression is of type %s" msgstr "variabeln \"%s\" har typ %s men uttrycket har typ %s" #. translator: %s is a SQL keyword -#: parser/analyze.c:2862 parser/analyze.c:2870 +#: parser/analyze.c:2878 parser/analyze.c:2886 #, c-format msgid "cannot specify both %s and %s" msgstr "kan inte ange både %s och %s" -#: parser/analyze.c:2890 +#: parser/analyze.c:2906 #, 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:2898 +#: parser/analyze.c:2914 #, c-format msgid "DECLARE CURSOR WITH HOLD ... %s is not supported" msgstr "DECLARE CURSOR WITH HOLD ... %s stöds inte" -#: parser/analyze.c:2901 +#: parser/analyze.c:2917 #, 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:2909 +#: parser/analyze.c:2925 #, 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:2920 +#: parser/analyze.c:2936 #, c-format msgid "DECLARE INSENSITIVE CURSOR ... %s is not valid" msgstr "DECLARE INSENSITIVE CURSOR ... %s är inte giltig" -#: parser/analyze.c:2923 +#: parser/analyze.c:2939 #, c-format msgid "Insensitive cursors must be READ ONLY." msgstr "Okänsliga markörer måste vara READ ONLY." -#: parser/analyze.c:3017 +#: parser/analyze.c:3033 #, 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:3027 +#: parser/analyze.c:3043 #, 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:3037 +#: parser/analyze.c:3053 #, c-format msgid "materialized views may not be defined using bound parameters" msgstr "materialiserade vyer kan inte defineras med bundna parametrar" -#: parser/analyze.c:3049 +#: parser/analyze.c:3065 #, 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:3238 +#: parser/analyze.c:3254 #, 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:3245 +#: parser/analyze.c:3261 #, 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:3252 +#: parser/analyze.c:3268 #, 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:3259 +#: parser/analyze.c:3275 #, 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:3266 +#: parser/analyze.c:3282 #, 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:3273 +#: parser/analyze.c:3289 #, 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:3372 +#: parser/analyze.c:3388 #, 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:3436 +#: parser/analyze.c:3452 #, 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:3445 +#: parser/analyze.c:3461 #, 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:3454 +#: parser/analyze.c:3470 #, 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:3472 +#: parser/analyze.c:3488 #, 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:3481 +#: parser/analyze.c:3497 #, 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:3501 +#: parser/analyze.c:3517 #, 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:221 parser/parse_oper.c:227 +#: parser/parse_agg.c:210 parser/parse_oper.c:215 #, c-format msgid "could not identify an ordering operator for type %s" msgstr "kunde inte identifiera en jämförelseoperator för typ %s" -#: parser/parse_agg.c:223 +#: parser/parse_agg.c:212 #, 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:258 +#: parser/parse_agg.c:270 #, c-format msgid "GROUPING must have fewer than 32 arguments" msgstr "GROUPING måste ha färre än 32 argument" -#: parser/parse_agg.c:361 +#: parser/parse_agg.c:373 msgid "aggregate functions are not allowed in JOIN conditions" msgstr "aggregatfunktioner tillåts inte i JOIN-villkor" -#: parser/parse_agg.c:363 +#: parser/parse_agg.c:375 msgid "grouping operations are not allowed in JOIN conditions" msgstr "gruppoperationer tillåts inte i JOIN-villkor" -#: parser/parse_agg.c:375 +#: parser/parse_agg.c:385 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:377 +#: parser/parse_agg.c:387 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:382 +#: parser/parse_agg.c:392 msgid "aggregate functions are not allowed in functions in FROM" msgstr "aggregatfunktioner tillåts inte i funktioner i FROM" -#: parser/parse_agg.c:384 +#: parser/parse_agg.c:394 msgid "grouping operations are not allowed in functions in FROM" msgstr "gruppoperationer tillåts inte i funktioner i FROM" -#: parser/parse_agg.c:392 +#: parser/parse_agg.c:402 msgid "aggregate functions are not allowed in policy expressions" msgstr "aggregatfunktioner tillåts inte i policyuttryck" -#: parser/parse_agg.c:394 +#: parser/parse_agg.c:404 msgid "grouping operations are not allowed in policy expressions" msgstr "gruppoperationer tillåts inte i policyuttryck" -#: parser/parse_agg.c:411 +#: parser/parse_agg.c:421 msgid "aggregate functions are not allowed in window RANGE" msgstr "aggregatfunktioner tillåts inte i fönster-RANGE" -#: parser/parse_agg.c:413 +#: parser/parse_agg.c:423 msgid "grouping operations are not allowed in window RANGE" msgstr "grupperingsoperationer tillåts inte i fönster-RANGE" -#: parser/parse_agg.c:418 +#: parser/parse_agg.c:428 msgid "aggregate functions are not allowed in window ROWS" msgstr "aggregatfunktioner tillåts inte i fönster-RADER" -#: parser/parse_agg.c:420 +#: parser/parse_agg.c:430 msgid "grouping operations are not allowed in window ROWS" msgstr "grupperingsfunktioner tillåts inte i fönster-RADER" -#: parser/parse_agg.c:425 +#: parser/parse_agg.c:435 msgid "aggregate functions are not allowed in window GROUPS" msgstr "aggregatfunktioner tillåts inte i fönster-GROUPS" -#: parser/parse_agg.c:427 +#: parser/parse_agg.c:437 msgid "grouping operations are not allowed in window GROUPS" msgstr "grupperingsfunktioner tillåts inte i fönster-GROUPS" -#: parser/parse_agg.c:440 +#: parser/parse_agg.c:450 msgid "aggregate functions are not allowed in MERGE WHEN conditions" msgstr "aggregatfunktioner tillåts inte i MERGE WHEN-villkor" -#: parser/parse_agg.c:442 +#: parser/parse_agg.c:452 msgid "grouping operations are not allowed in MERGE WHEN conditions" msgstr "gruppoperationer tillåts inte i MERGE WHEN-villkor" -#: parser/parse_agg.c:468 +#: parser/parse_agg.c:479 msgid "aggregate functions are not allowed in check constraints" msgstr "aggregatfunktioner tillåts inte i check-villkor" -#: parser/parse_agg.c:470 +#: parser/parse_agg.c:481 msgid "grouping operations are not allowed in check constraints" msgstr "gruppoperationer tillåts inte i check-villkor" -#: parser/parse_agg.c:477 +#: parser/parse_agg.c:488 msgid "aggregate functions are not allowed in DEFAULT expressions" msgstr "aggregatfunktioner tillåts inte i DEFAULT-uttryck" -#: parser/parse_agg.c:479 +#: parser/parse_agg.c:490 msgid "grouping operations are not allowed in DEFAULT expressions" msgstr "grupperingsoperationer tillåts inte i DEFAULT-uttryck" -#: parser/parse_agg.c:484 +#: parser/parse_agg.c:495 msgid "aggregate functions are not allowed in index expressions" msgstr "aggregatfunktioner tillåts inte i indexuttryck" -#: parser/parse_agg.c:486 +#: parser/parse_agg.c:497 msgid "grouping operations are not allowed in index expressions" msgstr "gruppoperationer tillåts inte i indexuttryck" -#: parser/parse_agg.c:491 +#: parser/parse_agg.c:502 msgid "aggregate functions are not allowed in index predicates" msgstr "aggregatfunktionsanrop tillåts inte i indexpredikat" -#: parser/parse_agg.c:493 +#: parser/parse_agg.c:504 msgid "grouping operations are not allowed in index predicates" msgstr "gruppoperationer tillåts inte i indexpredikat" -#: parser/parse_agg.c:498 +#: parser/parse_agg.c:509 msgid "aggregate functions are not allowed in statistics expressions" msgstr "aggregatfunktioner tillåts inte i statistikuttryck" -#: parser/parse_agg.c:500 +#: parser/parse_agg.c:511 msgid "grouping operations are not allowed in statistics expressions" msgstr "gruppoperationer tillåts inte i statistikuttryck" -#: parser/parse_agg.c:505 +#: parser/parse_agg.c:516 msgid "aggregate functions are not allowed in transform expressions" msgstr "aggregatfunktioner tillåts inte i transform-uttryck" -#: parser/parse_agg.c:507 +#: parser/parse_agg.c:518 msgid "grouping operations are not allowed in transform expressions" msgstr "gruppoperationer tillåts inte i transforme-uttryck" -#: parser/parse_agg.c:512 +#: parser/parse_agg.c:523 msgid "aggregate functions are not allowed in EXECUTE parameters" msgstr "aggregatfunktioner tillåts inte i EXECUTE-parametrar" -#: parser/parse_agg.c:514 +#: parser/parse_agg.c:525 msgid "grouping operations are not allowed in EXECUTE parameters" msgstr "gruppoperationer tillåts inte i EXECUTE-parametrar" -#: parser/parse_agg.c:519 +#: parser/parse_agg.c:530 msgid "aggregate functions are not allowed in trigger WHEN conditions" msgstr "aggregatfunktioner tillåts inte i WHEN-villkor" -#: parser/parse_agg.c:521 +#: parser/parse_agg.c:532 msgid "grouping operations are not allowed in trigger WHEN conditions" msgstr "gruppoperationer tillåts inte i WHEN-villkor" -#: parser/parse_agg.c:526 +#: parser/parse_agg.c:537 msgid "aggregate functions are not allowed in partition bound" msgstr "aggregatfunktioner tillåts inte i partitionsgräns" -#: parser/parse_agg.c:528 +#: parser/parse_agg.c:539 msgid "grouping operations are not allowed in partition bound" msgstr "gruppoperationer tillåts inte i partitionsgräns" -#: parser/parse_agg.c:533 +#: parser/parse_agg.c:544 msgid "aggregate functions are not allowed in partition key expressions" msgstr "aggregatfunktioner tillåts inte i partitionsnyckeluttryck" -#: parser/parse_agg.c:535 +#: parser/parse_agg.c:546 msgid "grouping operations are not allowed in partition key expressions" msgstr "gruppoperationer tillåts inte i partitionsnyckeluttryck" -#: parser/parse_agg.c:541 +#: parser/parse_agg.c:552 msgid "aggregate functions are not allowed in column generation expressions" msgstr "aggregatfunktioner tillåts inte i kolumngenereringsuttryck" -#: parser/parse_agg.c:543 +#: parser/parse_agg.c:554 msgid "grouping operations are not allowed in column generation expressions" msgstr "gruppoperationer tillåts inte i kolumngenereringsuttryck" -#: parser/parse_agg.c:549 +#: parser/parse_agg.c:560 msgid "aggregate functions are not allowed in CALL arguments" msgstr "aggregatfunktioner tillåts inte i CALL-argument" -#: parser/parse_agg.c:551 +#: parser/parse_agg.c:562 msgid "grouping operations are not allowed in CALL arguments" msgstr "gruppoperationer tillåts inte i CALL-argument" -#: parser/parse_agg.c:557 +#: parser/parse_agg.c:568 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:559 +#: parser/parse_agg.c:570 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:586 parser/parse_clause.c:1956 +#: parser/parse_agg.c:597 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:589 +#: parser/parse_agg.c:600 #, c-format msgid "grouping operations are not allowed in %s" msgstr "gruppoperationer tillåts inte i %s" -#: parser/parse_agg.c:690 +#: parser/parse_agg.c:701 #, 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:768 +#: parser/parse_agg.c:779 #, 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:769 parser/parse_expr.c:1700 parser/parse_expr.c:2182 -#: parser/parse_func.c:884 +#: parser/parse_agg.c:780 parser/parse_expr.c:1762 parser/parse_expr.c:2245 +#: 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:774 +#: parser/parse_agg.c:785 #, c-format msgid "aggregate function calls cannot contain window function calls" msgstr "aggregatfunktionsanrop kan inte innehålla fönsterfunktionanrop" -#: parser/parse_agg.c:853 +#: parser/parse_agg.c:864 msgid "window functions are not allowed in JOIN conditions" msgstr "fönsterfunktioner tillåts inte i JOIN-villkor" -#: parser/parse_agg.c:860 +#: parser/parse_agg.c:871 msgid "window functions are not allowed in functions in FROM" msgstr "fönsterfunktioner tillåts inte i funktioner i FROM" -#: parser/parse_agg.c:866 +#: parser/parse_agg.c:877 msgid "window functions are not allowed in policy expressions" msgstr "fönsterfunktioner tillåts inte i policy-uttryck" -#: parser/parse_agg.c:879 +#: parser/parse_agg.c:890 msgid "window functions are not allowed in window definitions" msgstr "fönsterfunktioner tillåts inte i fönsterdefinitioner" -#: parser/parse_agg.c:890 +#: parser/parse_agg.c:901 msgid "window functions are not allowed in MERGE WHEN conditions" msgstr "fönsterfunktioner tillåts inte i MERGE WHEN-villkor" -#: parser/parse_agg.c:914 +#: parser/parse_agg.c:926 msgid "window functions are not allowed in check constraints" msgstr "fönsterfunktioner tillåts inte i check-villkor" -#: parser/parse_agg.c:918 +#: parser/parse_agg.c:930 msgid "window functions are not allowed in DEFAULT expressions" msgstr "fönsterfunktioner tillåts inte i DEFAULT-uttryck" -#: parser/parse_agg.c:921 +#: parser/parse_agg.c:933 msgid "window functions are not allowed in index expressions" msgstr "fönsterfunktioner tillåts inte i indexuttryck" -#: parser/parse_agg.c:924 +#: parser/parse_agg.c:936 msgid "window functions are not allowed in statistics expressions" msgstr "fönsterfunktioner tillåts inte i statistikuttryck" -#: parser/parse_agg.c:927 +#: parser/parse_agg.c:939 msgid "window functions are not allowed in index predicates" msgstr "fönsterfunktioner tillåts inte i indexpredikat" -#: parser/parse_agg.c:930 +#: parser/parse_agg.c:942 msgid "window functions are not allowed in transform expressions" msgstr "fönsterfunktioner tillåts inte i transform-uttrycket" -#: parser/parse_agg.c:933 +#: parser/parse_agg.c:945 msgid "window functions are not allowed in EXECUTE parameters" msgstr "fönsterfunktioner tillåts inte i EXECUTE-parametrar" -#: parser/parse_agg.c:936 +#: parser/parse_agg.c:948 msgid "window functions are not allowed in trigger WHEN conditions" msgstr "fönsterfunktioner tillåts inte i WHEN-villkor" -#: parser/parse_agg.c:939 +#: parser/parse_agg.c:951 msgid "window functions are not allowed in partition bound" msgstr "fönsterfunktioner tillåts inte i partitiongräns" -#: parser/parse_agg.c:942 +#: parser/parse_agg.c:954 msgid "window functions are not allowed in partition key expressions" msgstr "fönsterfunktioner tillåts inte i partitionsnyckeluttryck" -#: parser/parse_agg.c:945 +#: parser/parse_agg.c:957 msgid "window functions are not allowed in CALL arguments" msgstr "fönsterfunktioner tillåts inte i CALL-argument" -#: parser/parse_agg.c:948 +#: parser/parse_agg.c:960 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:951 +#: parser/parse_agg.c:963 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:974 parser/parse_clause.c:1965 +#: parser/parse_agg.c:986 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:1008 parser/parse_clause.c:2798 +#: parser/parse_agg.c:1020 parser/parse_clause.c:2804 #, c-format msgid "window \"%s\" does not exist" msgstr "fönster \"%s\" finns inte" -#: parser/parse_agg.c:1096 +#: parser/parse_agg.c:1108 #, c-format msgid "too many grouping sets present (maximum 4096)" msgstr "för många grupperingsmängder (maximalt 4096)" -#: parser/parse_agg.c:1236 +#: parser/parse_agg.c:1248 #, 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:1429 +#: parser/parse_agg.c:1441 #, 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:1432 +#: parser/parse_agg.c:1444 #, 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:1437 +#: parser/parse_agg.c:1449 #, 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:1601 +#: parser/parse_agg.c:1613 #, 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" -#: parser/parse_clause.c:195 +#: parser/parse_clause.c:193 #, c-format msgid "relation \"%s\" cannot be the target of a modifying statement" msgstr "relationen \"%s\" kan inte vara målet för en modifierande sats" -#: parser/parse_clause.c:571 parser/parse_clause.c:599 parser/parse_func.c:2552 +#: parser/parse_clause.c:569 parser/parse_clause.c:597 parser/parse_func.c:2553 #, c-format msgid "set-returning functions must appear at top level of FROM" msgstr "mängdreturnerande funktioner måste vara på toppnivå i FROM" -#: parser/parse_clause.c:611 +#: parser/parse_clause.c:609 #, c-format msgid "multiple column definition lists are not allowed for the same function" msgstr "multipla kolumndefinitionslistor tillåts inte i samma funktion" -#: parser/parse_clause.c:644 +#: parser/parse_clause.c:642 #, c-format msgid "ROWS FROM() with multiple functions cannot have a column definition list" msgstr "ROWS FROM() med multipla funktioner kan inte ha en kolumndefinitionslista" -#: parser/parse_clause.c:645 +#: parser/parse_clause.c:643 #, c-format msgid "Put a separate column definition list for each function inside ROWS FROM()." msgstr "Lägg till en separat kolumndefinitionslista för varje funktion inne i ROWS FROM()." -#: parser/parse_clause.c:651 +#: parser/parse_clause.c:649 #, c-format msgid "UNNEST() with multiple arguments cannot have a column definition list" msgstr "UNNEST() med multipla argument kan inte ha en kolumndefinitionslista" -#: parser/parse_clause.c:652 +#: parser/parse_clause.c:650 #, c-format msgid "Use separate UNNEST() calls inside ROWS FROM(), and attach a column definition list to each one." msgstr "Använd separata UNNEST()-anrop inne i ROWS FROM() och koppla en kolumndefinitionslista till varje." -#: parser/parse_clause.c:659 +#: parser/parse_clause.c:657 #, c-format msgid "WITH ORDINALITY cannot be used with a column definition list" msgstr "WITH ORDINALITY kan inte användas tillsammans med en kolumndefinitionslista" -#: parser/parse_clause.c:660 +#: parser/parse_clause.c:658 #, c-format msgid "Put the column definition list inside ROWS FROM()." msgstr "Placera kolumndefinitionslistan inne i ROWS FROM()." -#: parser/parse_clause.c:760 +#: parser/parse_clause.c:762 parser/parse_jsontable.c:295 #, c-format msgid "only one FOR ORDINALITY column is allowed" msgstr "bara en FOR ORDINALITY-kolumn tillåts" -#: parser/parse_clause.c:821 +#: parser/parse_clause.c:823 #, c-format msgid "column name \"%s\" is not unique" msgstr "kolumnnamn \"%s\" är inte unikt" -#: parser/parse_clause.c:863 +#: parser/parse_clause.c:865 #, c-format msgid "namespace name \"%s\" is not unique" msgstr "namespace-namn \"%s\" är inte unikt" -#: parser/parse_clause.c:873 +#: parser/parse_clause.c:875 #, c-format msgid "only one default namespace is allowed" msgstr "bara ett standard-namespace tillåts" -#: parser/parse_clause.c:933 +#: parser/parse_clause.c:935 #, c-format msgid "tablesample method %s does not exist" msgstr "tabellsamplingsmetod \"%s\" existerar inte" -#: parser/parse_clause.c:955 +#: parser/parse_clause.c:957 #, c-format msgid "tablesample method %s requires %d argument, not %d" msgid_plural "tablesample method %s requires %d arguments, not %d" msgstr[0] "tabellsamplingsmetod %s kräver %d argument, inte %d" msgstr[1] "tabellsamplingsmetod %s kräver %d argument, inte %d" -#: parser/parse_clause.c:989 +#: parser/parse_clause.c:991 #, c-format msgid "tablesample method %s does not support REPEATABLE" msgstr "tabellsamplingsmetod %s stöder inte REPEATABLE" -#: parser/parse_clause.c:1138 +#: parser/parse_clause.c:1144 #, c-format msgid "TABLESAMPLE clause can only be applied to tables and materialized views" msgstr "TABLESAMPLE-klausul kan bara appliceras på tabeller och materialiserade vyer" -#: parser/parse_clause.c:1325 +#: parser/parse_clause.c:1331 #, c-format msgid "column name \"%s\" appears more than once in USING clause" msgstr "kolumnnamn \"%s\" angivet mer än en gång i USING-klausul" -#: parser/parse_clause.c:1340 +#: parser/parse_clause.c:1346 #, c-format msgid "common column name \"%s\" appears more than once in left table" msgstr "gemensamt kolumnnamn \"%s\" finns mer än en gång i vänstra tabellen" -#: parser/parse_clause.c:1349 +#: parser/parse_clause.c:1355 #, c-format msgid "column \"%s\" specified in USING clause does not exist in left table" msgstr "kolumn \"%s\" angiven i USING-klausul finns inte i den vänstra tabellen" -#: parser/parse_clause.c:1364 +#: parser/parse_clause.c:1370 #, c-format msgid "common column name \"%s\" appears more than once in right table" msgstr "gemensamt kolumnnamn \"%s\" finns mer än en gång i högra tabellen" -#: parser/parse_clause.c:1373 +#: parser/parse_clause.c:1379 #, c-format msgid "column \"%s\" specified in USING clause does not exist in right table" msgstr "kolumn \"%s\" angiven i USING-klausul finns inte i den högra tabellen" -#: parser/parse_clause.c:1901 +#: parser/parse_clause.c:1907 #, c-format msgid "row count cannot be null in FETCH FIRST ... WITH TIES clause" msgstr "radantal kan inte vara null i FETCH FIRST ... WITH TIES-klausul" #. translator: %s is name of a SQL construct, eg LIMIT -#: parser/parse_clause.c:1926 +#: parser/parse_clause.c:1932 #, c-format msgid "argument of %s must not contain variables" msgstr "argumentet till %s får inte innehålla variabler" #. translator: first %s is name of a SQL construct, eg ORDER BY -#: parser/parse_clause.c:2091 +#: parser/parse_clause.c:2097 #, c-format msgid "%s \"%s\" is ambiguous" msgstr "%s \"%s\" är tvetydig" #. translator: %s is name of a SQL construct, eg ORDER BY -#: parser/parse_clause.c:2119 +#: parser/parse_clause.c:2125 #, c-format msgid "non-integer constant in %s" msgstr "ej heltalskonstant i %s" #. translator: %s is name of a SQL construct, eg ORDER BY -#: parser/parse_clause.c:2141 +#: parser/parse_clause.c:2147 #, c-format msgid "%s position %d is not in select list" msgstr "%s-position %d finns inte i select-listan" -#: parser/parse_clause.c:2580 +#: parser/parse_clause.c:2586 #, c-format msgid "CUBE is limited to 12 elements" msgstr "CUBE är begränsad till 12 element" -#: parser/parse_clause.c:2786 +#: parser/parse_clause.c:2792 #, c-format msgid "window \"%s\" is already defined" msgstr "fönster \"%s\" är redan definierad" -#: parser/parse_clause.c:2847 +#: parser/parse_clause.c:2853 #, c-format msgid "cannot override PARTITION BY clause of window \"%s\"" msgstr "kan inte övertrumfa PARTITION BY-klausul för fönster \"%s\"" -#: parser/parse_clause.c:2859 +#: parser/parse_clause.c:2865 #, c-format msgid "cannot override ORDER BY clause of window \"%s\"" msgstr "kan inte övertrumfa ORDER BY-klausul för fönster \"%s\"" -#: parser/parse_clause.c:2889 parser/parse_clause.c:2895 +#: parser/parse_clause.c:2895 parser/parse_clause.c:2901 #, c-format msgid "cannot copy window \"%s\" because it has a frame clause" msgstr "kan inte kopiera fönster \"%s\" då det har en fönsterramklausul" -#: parser/parse_clause.c:2897 +#: parser/parse_clause.c:2903 #, c-format msgid "Omit the parentheses in this OVER clause." msgstr "Ta bort parenteserna i denna OVER-klausul." -#: parser/parse_clause.c:2917 +#: parser/parse_clause.c:2923 #, c-format msgid "RANGE with offset PRECEDING/FOLLOWING requires exactly one ORDER BY column" msgstr "RANGE med offset PRECEDING/FOLLOWING kräver exakt en ORDER BY-kolumn" -#: parser/parse_clause.c:2940 +#: parser/parse_clause.c:2946 #, c-format msgid "GROUPS mode requires an ORDER BY clause" msgstr "GROUPS-läge kräver en ORDER BY-klausul" -#: parser/parse_clause.c:3011 +#: parser/parse_clause.c:3016 #, c-format msgid "in an aggregate with DISTINCT, ORDER BY expressions must appear in argument list" msgstr "i ett aggregat med DISTINCT så måste ORDER BY-uttryck finnas i argumentlistan" -#: parser/parse_clause.c:3012 +#: parser/parse_clause.c:3017 #, c-format msgid "for SELECT DISTINCT, ORDER BY expressions must appear in select list" msgstr "i SELECT DISTINCT så måste ORDER BY-uttryck finnas i select-listan" -#: parser/parse_clause.c:3044 +#: parser/parse_clause.c:3049 #, c-format msgid "an aggregate with DISTINCT must have at least one argument" msgstr "ett aggregat med DISTINCT måste ha minst ett argument" -#: parser/parse_clause.c:3045 +#: parser/parse_clause.c:3050 #, c-format msgid "SELECT DISTINCT must have at least one column" msgstr "SELECT DISTINCT måste ha minst en kolumn" -#: parser/parse_clause.c:3111 parser/parse_clause.c:3143 +#: parser/parse_clause.c:3116 parser/parse_clause.c:3148 #, c-format msgid "SELECT DISTINCT ON expressions must match initial ORDER BY expressions" msgstr "SELECT DISTINCT ON-uttrycken måste matcha de initiala ORDER BY-uttrycken" -#: parser/parse_clause.c:3221 +#: parser/parse_clause.c:3226 #, c-format msgid "ASC/DESC is not allowed in ON CONFLICT clause" msgstr "ASC/DESC tillåts inte i ON CONFLICT-klausul" -#: parser/parse_clause.c:3227 +#: parser/parse_clause.c:3232 #, c-format msgid "NULLS FIRST/LAST is not allowed in ON CONFLICT clause" msgstr "NULLS FIRST/LAST tillåts inte i ON CONFLICT-klausul" -#: parser/parse_clause.c:3306 +#: parser/parse_clause.c:3311 #, c-format msgid "ON CONFLICT DO UPDATE requires inference specification or constraint name" msgstr "ON CONFLICT DO UPDATE kräver inferensangivelse eller villkorsnamn" -#: parser/parse_clause.c:3307 +#: parser/parse_clause.c:3312 #, c-format msgid "For example, ON CONFLICT (column_name)." msgstr "Till exempel, ON CONFLICT (kolumnnamn)." -#: parser/parse_clause.c:3318 +#: parser/parse_clause.c:3323 #, c-format msgid "ON CONFLICT is not supported with system catalog tables" msgstr "ON CONFLICT stöds inte för systemkatalogtabeller" -#: parser/parse_clause.c:3326 +#: parser/parse_clause.c:3331 #, c-format msgid "ON CONFLICT is not supported on table \"%s\" used as a catalog table" msgstr "ON CONFLICT stöds inte på tabell \"%s\" som används som katalogtabell" -#: parser/parse_clause.c:3457 +#: parser/parse_clause.c:3462 #, c-format msgid "operator %s is not a valid ordering operator" msgstr "operator %s är inte en giltig sorteringsoperator" -#: parser/parse_clause.c:3459 +#: parser/parse_clause.c:3464 #, c-format msgid "Ordering operators must be \"<\" or \">\" members of btree operator families." msgstr "Sorteringsoperationer måste vara \"<\"- eller \">\"-medlemmar i btree-operatorfamiljer." -#: parser/parse_clause.c:3770 +#: parser/parse_clause.c:3775 #, c-format msgid "RANGE with offset PRECEDING/FOLLOWING is not supported for column type %s" msgstr "RANGE med offset PRECEDING/FOLLOWING stöds inte för kolumntyp %s" -#: parser/parse_clause.c:3776 +#: parser/parse_clause.c:3781 #, c-format msgid "RANGE with offset PRECEDING/FOLLOWING is not supported for column type %s and offset type %s" msgstr "RANGE med offset PRECEDING/FOLLOWING stöd inte av kolumntyp %s och offset-typ %s" -#: parser/parse_clause.c:3779 +#: parser/parse_clause.c:3784 #, c-format msgid "Cast the offset value to an appropriate type." msgstr "Typomvandla offset-värdet till lämplig typ." -#: parser/parse_clause.c:3784 +#: parser/parse_clause.c:3789 #, c-format msgid "RANGE with offset PRECEDING/FOLLOWING has multiple interpretations for column type %s and offset type %s" msgstr "RANGE med offset PRECEDING/FOLLOWING har multipla tolkingar för kolumntyp %s och offset-typ %s" -#: parser/parse_clause.c:3787 +#: parser/parse_clause.c:3792 #, c-format msgid "Cast the offset value to the exact intended type." msgstr "Typomvandla offset-värdet till exakt den önskade typen." #: parser/parse_coerce.c:1050 parser/parse_coerce.c:1088 #: parser/parse_coerce.c:1106 parser/parse_coerce.c:1121 -#: parser/parse_expr.c:2083 parser/parse_expr.c:2691 parser/parse_expr.c:3497 -#: parser/parse_target.c:985 +#: parser/parse_expr.c:2146 parser/parse_expr.c:2754 parser/parse_expr.c:3405 +#: parser/parse_expr.c:3634 parser/parse_target.c:998 #, c-format msgid "cannot cast type %s to %s" msgstr "kan inte omvandla typ %s till %s" @@ -17335,19 +17787,19 @@ msgid "arguments declared \"%s\" are not all alike" msgstr "argument deklarerade \"%s\" är inte alla likadana" #: parser/parse_coerce.c:2249 parser/parse_coerce.c:2362 -#: utils/fmgr/funcapi.c:592 +#: utils/fmgr/funcapi.c:600 #, c-format msgid "argument declared %s is not an array but type %s" msgstr "argumentet deklarerad %s är inte en array utan typ %s" #: parser/parse_coerce.c:2282 parser/parse_coerce.c:2432 -#: utils/fmgr/funcapi.c:606 +#: utils/fmgr/funcapi.c:614 #, c-format msgid "argument declared %s is not a range type but type %s" msgstr "argumentet deklarerad %s är inte en intervalltyp utan typ %s" #: parser/parse_coerce.c:2316 parser/parse_coerce.c:2396 -#: parser/parse_coerce.c:2529 utils/fmgr/funcapi.c:624 utils/fmgr/funcapi.c:689 +#: parser/parse_coerce.c:2529 utils/fmgr/funcapi.c:632 utils/fmgr/funcapi.c:697 #, c-format msgid "argument declared %s is not a multirange type but type %s" msgstr "argumentet deklarerad %s är inte en multirange-typ utan typ %s" @@ -17471,437 +17923,547 @@ msgstr "rekursiv referens till fråga \"%s\" får inte finnas i en INTERSECT" msgid "recursive reference to query \"%s\" must not appear within EXCEPT" msgstr "rekursiv referens till fråga \"%s\" får inte finnas i en EXCEPT" -#: parser/parse_cte.c:133 -#, c-format -msgid "MERGE not supported in WITH query" -msgstr "MERGE stöds inte i WITH-fråga" - -#: parser/parse_cte.c:143 +#: parser/parse_cte.c:136 #, c-format msgid "WITH query name \"%s\" specified more than once" msgstr "WITH-frågenamn \"%s\" angivet mer än en gång" -#: parser/parse_cte.c:314 +#: parser/parse_cte.c:308 #, c-format msgid "could not identify an inequality operator for type %s" msgstr "kunde inte hitta en olikhetsoperator för typ %s" -#: parser/parse_cte.c:341 +#: parser/parse_cte.c:335 #, c-format msgid "WITH clause containing a data-modifying statement must be at the top level" msgstr "WITH-klausul som innehåller en datamodifierande sats måste vara på toppnivå" -#: parser/parse_cte.c:390 +#: parser/parse_cte.c:384 #, c-format msgid "recursive query \"%s\" column %d has type %s in non-recursive term but type %s overall" msgstr "rekursiv fråga \"%s\" kolumn %d har typ %s i den ickerekursiva termen med typ %s totalt sett" -#: parser/parse_cte.c:396 +#: parser/parse_cte.c:390 #, c-format msgid "Cast the output of the non-recursive term to the correct type." msgstr "Typomvandla utdatan för den ickerekursiva termen till korrekt typ." -#: parser/parse_cte.c:401 +#: parser/parse_cte.c:395 #, c-format msgid "recursive query \"%s\" column %d has collation \"%s\" in non-recursive term but collation \"%s\" overall" msgstr "rekursiv fråga \"%s\" kolumn %d har jämförelse (collation) \"%s\" i en icke-rekursiv term men jämförelse \"%s\" totalt sett" -#: parser/parse_cte.c:405 +#: parser/parse_cte.c:399 #, c-format msgid "Use the COLLATE clause to set the collation of the non-recursive term." msgstr "Använd en COLLATE-klausul för att sätta jämförelse för den icke-rekursiva termen." -#: parser/parse_cte.c:426 +#: parser/parse_cte.c:420 #, c-format msgid "WITH query is not recursive" msgstr "WITH-fråga är inte rekursiv" -#: parser/parse_cte.c:457 +#: parser/parse_cte.c:451 #, c-format msgid "with a SEARCH or CYCLE clause, the left side of the UNION must be a SELECT" msgstr "med en SEARCH- eller CYCLE-klausul så måste vänstersidan av en UNION vara en SELECT" -#: parser/parse_cte.c:462 +#: parser/parse_cte.c:456 #, c-format msgid "with a SEARCH or CYCLE clause, the right side of the UNION must be a SELECT" msgstr "med en SEARCH- eller CYCLE-klausul så måste högersidan av en UNION vara en SELECT" -#: parser/parse_cte.c:477 +#: parser/parse_cte.c:471 #, c-format msgid "search column \"%s\" not in WITH query column list" msgstr "sökkolumn \"%s\" finns inte med i kolumnlistan för WITH-fråga" -#: parser/parse_cte.c:484 +#: parser/parse_cte.c:478 #, c-format msgid "search column \"%s\" specified more than once" msgstr "sökkolumn \"%s\" angiven mer än en gång" -#: parser/parse_cte.c:493 +#: parser/parse_cte.c:487 #, c-format msgid "search sequence column name \"%s\" already used in WITH query column list" msgstr "namn på söksekvensenskolumn \"%s\" används redan i kolumnlistan till WITH-fråga" -#: parser/parse_cte.c:510 +#: parser/parse_cte.c:504 #, c-format msgid "cycle column \"%s\" not in WITH query column list" msgstr "cycle-kolumn \"%s\" finns inte i kolumnlistan i WITH-fråga" -#: parser/parse_cte.c:517 +#: parser/parse_cte.c:511 #, c-format msgid "cycle column \"%s\" specified more than once" msgstr "cycle-kolumn \"%s\" angiven mer än en gång" -#: parser/parse_cte.c:526 +#: parser/parse_cte.c:520 #, c-format msgid "cycle mark column name \"%s\" already used in WITH query column list" msgstr "mark-kolumnnamn \"%s\" för cycle används redan i kolumnlistan i WITH-fråga" -#: parser/parse_cte.c:533 +#: parser/parse_cte.c:527 #, c-format msgid "cycle path column name \"%s\" already used in WITH query column list" msgstr "path-kolumnnamn \"%s\" för cycle används redan i kolumnlistan i WITH-fråga" -#: parser/parse_cte.c:541 +#: parser/parse_cte.c:535 #, c-format msgid "cycle mark column name and cycle path column name are the same" msgstr "mark-kolumnnamn och path-kolumnnamn i cycle är båda samma" -#: parser/parse_cte.c:551 +#: parser/parse_cte.c:545 #, c-format msgid "search sequence column name and cycle mark column name are the same" msgstr "namn på söksekvenskolumn och namn på mark-kolumn i cycle är båda samma" -#: parser/parse_cte.c:558 +#: parser/parse_cte.c:552 #, c-format msgid "search sequence column name and cycle path column name are the same" msgstr "namn på söksekvenskolumn och namn på path-kolumn i cycle är båda samma" -#: parser/parse_cte.c:642 +#: parser/parse_cte.c:636 #, c-format msgid "WITH query \"%s\" has %d columns available but %d columns specified" msgstr "WITH-fråga \"%s\" har %d kolumner tillgängliga men %d kolumner angivna" -#: parser/parse_cte.c:822 +#: parser/parse_cte.c:816 #, c-format msgid "mutual recursion between WITH items is not implemented" msgstr "ömsesidig rekursion mellan WITH-poster är inte implementerat" -#: parser/parse_cte.c:874 +#: parser/parse_cte.c:868 #, c-format msgid "recursive query \"%s\" must not contain data-modifying statements" msgstr "rekursiv fråga \"%s\" får inte innehålla datamodifierande satser" -#: parser/parse_cte.c:882 +#: parser/parse_cte.c:876 #, c-format msgid "recursive query \"%s\" does not have the form non-recursive-term UNION [ALL] recursive-term" msgstr "rekursiv fråga \"%s\" är inte på formen icke-rekursiv-term UNION [ALL] rekursiv-term" -#: parser/parse_cte.c:926 +#: parser/parse_cte.c:911 #, c-format msgid "ORDER BY in a recursive query is not implemented" msgstr "ORDER BY i en rekursiv fråga är inte implementerat" -#: parser/parse_cte.c:932 +#: parser/parse_cte.c:917 #, c-format msgid "OFFSET in a recursive query is not implemented" msgstr "OFFSET i en rekursiv fråga är inte implementerat" -#: parser/parse_cte.c:938 +#: parser/parse_cte.c:923 #, c-format msgid "LIMIT in a recursive query is not implemented" msgstr "LIMIT i en rekursiv fråga är inte implementerat" -#: parser/parse_cte.c:944 +#: parser/parse_cte.c:929 #, c-format msgid "FOR UPDATE/SHARE in a recursive query is not implemented" msgstr "FOR UPDATE/SHARE i en rekursiv fråga är inte implementerat" -#: parser/parse_cte.c:1001 +#: parser/parse_cte.c:1008 #, c-format 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:294 +#: parser/parse_expr.c:313 #, c-format msgid "DEFAULT is not allowed in this context" msgstr "DEFAULT tillåts inte i detta kontext" -#: parser/parse_expr.c:371 parser/parse_relation.c:3688 -#: parser/parse_relation.c:3698 parser/parse_relation.c:3716 -#: parser/parse_relation.c:3723 parser/parse_relation.c:3737 +#: parser/parse_expr.c:406 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:383 +#: parser/parse_expr.c:418 #, c-format msgid "column \"%s\" not found in data type %s" msgstr "kolumn \"%s\" fanns inte i datatypen %s" -#: parser/parse_expr.c:389 +#: parser/parse_expr.c:424 #, 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:395 +#: parser/parse_expr.c:430 #, 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:426 parser/parse_target.c:733 +#: parser/parse_expr.c:461 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:548 +#: parser/parse_expr.c:584 msgid "cannot use column reference in DEFAULT expression" msgstr "kan inte använda kolumnreferenser i DEFAULT-uttryck" -#: parser/parse_expr.c:551 +#: parser/parse_expr.c:587 msgid "cannot use column reference in partition bound expression" msgstr "kan inte använda kolumnreferenser i partitionsgränsuttryck" -#: parser/parse_expr.c:810 parser/parse_relation.c:833 -#: parser/parse_relation.c:915 parser/parse_target.c:1225 +#: parser/parse_expr.c:846 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:866 parser/parse_param.c:110 parser/parse_param.c:142 +#: parser/parse_expr.c:902 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" -#: parser/parse_expr.c:1066 +#. translator: %s is name of a SQL construct, eg NULLIF +#: parser/parse_expr.c:1103 parser/parse_expr.c:3065 #, c-format -msgid "NULLIF requires = operator to yield boolean" -msgstr "NULLIF kräver att =-operatorn returnerar boolean" +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:1072 parser/parse_expr.c:3007 +#: parser/parse_expr.c:1109 parser/parse_expr.c:3072 #, c-format msgid "%s must not return a set" msgstr "%s får inte returnera en mängd" -#: parser/parse_expr.c:1457 parser/parse_expr.c:1489 +#: parser/parse_expr.c:1395 +#, 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 #, c-format msgid "number of columns does not match number of values" msgstr "antalet kolumner matchar inte antalet värden" -#: parser/parse_expr.c:1503 +#: parser/parse_expr.c:1565 #, 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:1698 parser/parse_expr.c:2180 parser/parse_func.c:2677 +#: parser/parse_expr.c:1760 parser/parse_expr.c:2243 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:1761 +#: parser/parse_expr.c:1824 msgid "cannot use subquery in check constraint" msgstr "kan inte använda subfråga i check-villkor" -#: parser/parse_expr.c:1765 +#: parser/parse_expr.c:1828 msgid "cannot use subquery in DEFAULT expression" msgstr "kan inte använda underfråga i DEFAULT-uttryck" -#: parser/parse_expr.c:1768 +#: parser/parse_expr.c:1831 msgid "cannot use subquery in index expression" msgstr "kan inte använda subfråga i indexuttryck" -#: parser/parse_expr.c:1771 +#: parser/parse_expr.c:1834 msgid "cannot use subquery in index predicate" msgstr "kan inte använda subfråga i indexpredikat" -#: parser/parse_expr.c:1774 +#: parser/parse_expr.c:1837 msgid "cannot use subquery in statistics expression" msgstr "kan inte använda underfråga i statistikuttryck" -#: parser/parse_expr.c:1777 +#: parser/parse_expr.c:1840 msgid "cannot use subquery in transform expression" msgstr "kan inte använda underfråga i transformeringsuttrycket" -#: parser/parse_expr.c:1780 +#: parser/parse_expr.c:1843 msgid "cannot use subquery in EXECUTE parameter" msgstr "kan inte använda subfråga i EXECUTE-parameter" -#: parser/parse_expr.c:1783 +#: parser/parse_expr.c:1846 msgid "cannot use subquery in trigger WHEN condition" msgstr "kan inte använda subfråga i triggerns WHEN-villkor" -#: parser/parse_expr.c:1786 +#: parser/parse_expr.c:1849 msgid "cannot use subquery in partition bound" msgstr "kan inte använda underfråga i partitionsgräns" -#: parser/parse_expr.c:1789 +#: parser/parse_expr.c:1852 msgid "cannot use subquery in partition key expression" msgstr "kan inte använda underfråga i partitionsnyckeluttryck" -#: parser/parse_expr.c:1792 +#: parser/parse_expr.c:1855 msgid "cannot use subquery in CALL argument" msgstr "kan inte använda subfråga i CALL-argument" -#: parser/parse_expr.c:1795 +#: parser/parse_expr.c:1858 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:1798 +#: parser/parse_expr.c:1861 msgid "cannot use subquery in column generation expression" msgstr "kan inte använda subfråga i kolumngenereringsuttryck" -#: parser/parse_expr.c:1851 parser/parse_expr.c:3628 +#: parser/parse_expr.c:1914 parser/parse_expr.c:3764 #, c-format msgid "subquery must return only one column" msgstr "underfråga kan bara returnera en kolumn" -#: parser/parse_expr.c:1922 +#: parser/parse_expr.c:1985 #, c-format msgid "subquery has too many columns" msgstr "underfråga har för många kolumner" -#: parser/parse_expr.c:1927 +#: parser/parse_expr.c:1990 #, c-format msgid "subquery has too few columns" msgstr "underfråga har för få kolumner" -#: parser/parse_expr.c:2023 +#: parser/parse_expr.c:2086 #, c-format msgid "cannot determine type of empty array" msgstr "kan inte bestämma typen av en tom array" -#: parser/parse_expr.c:2024 +#: parser/parse_expr.c:2087 #, 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:2038 +#: parser/parse_expr.c:2101 #, 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:2121 +#: parser/parse_expr.c:2184 #, c-format msgid "ROW expressions can have at most %d entries" msgstr "ROW-uttryck kan ha som mest %d poster" -#: parser/parse_expr.c:2326 +#: parser/parse_expr.c:2389 #, 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:2327 +#: parser/parse_expr.c:2390 #, 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:2342 +#: parser/parse_expr.c:2405 #, 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:2450 +#: parser/parse_expr.c:2513 #, c-format msgid "cannot cast XMLSERIALIZE result to %s" msgstr "kan inte typomvandla XMLSERIALIZE-resultat till %s" -#: parser/parse_expr.c:2764 parser/parse_expr.c:2960 +#: parser/parse_expr.c:2827 parser/parse_expr.c:3023 #, c-format msgid "unequal number of entries in row expressions" msgstr "olika antal element i raduttryck" -#: parser/parse_expr.c:2774 +#: parser/parse_expr.c:2837 #, c-format msgid "cannot compare rows of zero length" msgstr "kan inte jämföra rader med längden noll" -#: parser/parse_expr.c:2799 +#: parser/parse_expr.c:2862 #, 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:2806 +#: parser/parse_expr.c:2869 #, 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:2865 parser/parse_expr.c:2906 +#: parser/parse_expr.c:2928 parser/parse_expr.c:2969 #, 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:2867 +#: parser/parse_expr.c:2930 #, 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:2908 +#: parser/parse_expr.c:2971 #, c-format msgid "There are multiple equally-plausible candidates." msgstr "Det finns flera lika sannolika kandidater." -#: parser/parse_expr.c:3001 -#, c-format -msgid "IS DISTINCT FROM requires = operator to yield boolean" -msgstr "IS DISTINCT FROM kräver att operatorn = ger tillbaka en boolean" - -#: parser/parse_expr.c:3239 +#: parser/parse_expr.c:3306 #, 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:3261 +#: parser/parse_expr.c:3370 #, 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:3262 +#: parser/parse_expr.c:3371 #, 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:3335 +#: parser/parse_expr.c:3460 #, 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:3348 +#: parser/parse_expr.c:3473 #, 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:3353 +#: parser/parse_expr.c:3478 #, c-format msgid "unsupported JSON encoding" msgstr "ej stödd JSON-kodning" -#: parser/parse_expr.c:3354 +#: parser/parse_expr.c:3479 #, c-format msgid "Only UTF8 JSON encoding is supported." msgstr "Enbart JSON-kodningen UTF8 stöds." -#: parser/parse_expr.c:3391 +#: parser/parse_expr.c:3516 #, 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:3712 parser/parse_func.c:865 +#: parser/parse_expr.c:3521 +#, 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:3849 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:3934 +#: parser/parse_expr.c:4072 #, 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:3954 +#: parser/parse_expr.c:4092 #, 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:4118 parser/parse_expr.c:4238 +#, c-format +msgid "cannot use RETURNING type %s in %s" +msgstr "kan inte använda RETURNING-typ %s i %s" + +#: parser/parse_expr.c:4167 +#, 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:4241 +#, c-format +msgid "Try returning a string type or bytea." +msgstr "Försök returnera en strängtyp eller bytea." + +#: parser/parse_expr.c:4306 +#, 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:4319 +#, 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:4333 parser/parse_expr.c:4362 parser/parse_expr.c:4393 +#: parser/parse_expr.c:4419 parser/parse_expr.c:4445 +#: parser/parse_jsontable.c:94 +#, c-format +msgid "invalid %s behavior" +msgstr "ogiltig %s-angivelse" + +#. 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:4336 parser/parse_expr.c:4365 +#, 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." + +#. 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:4343 parser/parse_expr.c:4372 parser/parse_expr.c:4401 +#: parser/parse_expr.c:4429 parser/parse_expr.c:4455 +#, 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:4346 parser/parse_expr.c:4375 +#, 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:4394 +#, 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:4404 +#, 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:4422 parser/parse_expr.c:4448 +#, 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:4432 parser/parse_expr.c:4458 +#, 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:4488 +#, 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:4706 +#, 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:4711 +#, c-format +msgid "DEFAULT expression must not contain column references" +msgstr "DEFAULT-uttryck får inte innehålla kolumnreferenser" + +#: parser/parse_expr.c:4716 +#, c-format +msgid "DEFAULT expression must not return a set" +msgstr "DEFAULT-uttryck får inte returnera en mängd" + +#: parser/parse_expr.c:4792 parser/parse_expr.c:4801 +#, 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:4795 +#, c-format +msgid "You will need to explicitly cast the expression to type %s." +msgstr "Du måste explicit omvandla uttrycket till typen %s." + #: parser/parse_func.c:194 #, c-format msgid "argument name \"%s\" used more than once" @@ -17912,7 +18474,7 @@ msgstr "argumentnamn \"%s\" angivet mer än en gång" msgid "positional argument cannot follow named argument" msgstr "positionella argument kan inte komma efter namngivna argument" -#: parser/parse_func.c:287 parser/parse_func.c:2367 +#: parser/parse_func.c:287 parser/parse_func.c:2368 #, c-format msgid "%s is not a procedure" msgstr "%s är inte en procedur" @@ -18031,7 +18593,7 @@ msgstr "Kunde inte välja en bästa kandidatfunktion: Du kan behöva lägga till msgid "No aggregate function matches the given name and argument types. Perhaps you misplaced ORDER BY; ORDER BY must appear after all regular arguments of the aggregate." msgstr "Ingen aggregatfunktion matchar det givna namnet och argumenttyperna. Kanske har du placerat ORDER BY på fel plats; ORDER BY måste komma efter alla vanliga argument till aggregatet." -#: parser/parse_func.c:622 parser/parse_func.c:2410 +#: parser/parse_func.c:622 parser/parse_func.c:2411 #, c-format msgid "procedure %s does not exist" msgstr "proceduren \"%s\" finns inte" @@ -18051,7 +18613,7 @@ msgstr "Ingen funktion matchar det angivna namnet och argumenttyperna. Du kan be msgid "VARIADIC argument must be an array" msgstr "VARIADIC-argument måste vara en array" -#: parser/parse_func.c:791 parser/parse_func.c:855 +#: parser/parse_func.c:791 parser/parse_func.c:856 #, c-format msgid "%s(*) must be used to call a parameterless aggregate function" msgstr "%s(*) måste användas för att anropa en parameterlös aggregatfunktion" @@ -18066,263 +18628,257 @@ msgstr "aggregat kan inte returnera mängder" msgid "aggregates cannot use named arguments" msgstr "aggregat kan inte använda namngivna argument" -#: parser/parse_func.c:845 +#: parser/parse_func.c:846 #, c-format msgid "DISTINCT is not implemented for window functions" msgstr "DISTINCT är inte implementerad för fönsterfunktioner" -#: parser/parse_func.c:874 +#: parser/parse_func.c:875 #, c-format msgid "FILTER is not implemented for non-aggregate window functions" msgstr "FILTER är inte implementerat för icke-aggregat-fönsterfunktioner" -#: parser/parse_func.c:883 +#: parser/parse_func.c:884 #, c-format msgid "window function calls cannot contain set-returning function calls" msgstr "fönsterfunktioner kan inte innehålla funtionsanrop till funktioner som returnerar mängder" -#: parser/parse_func.c:891 +#: parser/parse_func.c:892 #, c-format msgid "window functions cannot return sets" msgstr "fönsterfunktioner kan inte returnera mängder" -#: parser/parse_func.c:2166 parser/parse_func.c:2439 +#: parser/parse_func.c:2167 parser/parse_func.c:2440 #, c-format msgid "could not find a function named \"%s\"" msgstr "kunde inte hitta funktion med namn \"%s\"" -#: parser/parse_func.c:2180 parser/parse_func.c:2457 +#: parser/parse_func.c:2181 parser/parse_func.c:2458 #, c-format msgid "function name \"%s\" is not unique" msgstr "funktionsnamn \"%s\" är inte unikt" -#: parser/parse_func.c:2182 parser/parse_func.c:2460 +#: parser/parse_func.c:2183 parser/parse_func.c:2461 #, c-format msgid "Specify the argument list to select the function unambiguously." msgstr "Ange argumentlistan för att välja funktionen entydigt." -#: parser/parse_func.c:2226 +#: parser/parse_func.c:2227 #, c-format msgid "procedures cannot have more than %d argument" msgid_plural "procedures cannot have more than %d arguments" msgstr[0] "procedurer kan inte ha mer än %d argument" msgstr[1] "procedurer kan inte ha mer än %d argument" -#: parser/parse_func.c:2357 +#: parser/parse_func.c:2358 #, c-format msgid "%s is not a function" msgstr "%s är inte en funktion" -#: parser/parse_func.c:2377 +#: parser/parse_func.c:2378 #, c-format msgid "function %s is not an aggregate" msgstr "funktionen %s är inte en aggregatfunktion" -#: parser/parse_func.c:2405 +#: parser/parse_func.c:2406 #, c-format msgid "could not find a procedure named \"%s\"" msgstr "kunde inte hitta en procedur med namn \"%s\"" -#: parser/parse_func.c:2419 +#: parser/parse_func.c:2420 #, c-format msgid "could not find an aggregate named \"%s\"" msgstr "kunde inte hitta ett aggregat med namn \"%s\"" -#: parser/parse_func.c:2424 +#: parser/parse_func.c:2425 #, c-format msgid "aggregate %s(*) does not exist" msgstr "aggregatfunktion %s(*) existerar inte" -#: parser/parse_func.c:2429 +#: parser/parse_func.c:2430 #, c-format msgid "aggregate %s does not exist" msgstr "aggregatfunktion %s existerar inte" -#: parser/parse_func.c:2465 +#: parser/parse_func.c:2466 #, c-format msgid "procedure name \"%s\" is not unique" msgstr "procedurnamn \"%s\" är inte unikt" -#: parser/parse_func.c:2468 +#: parser/parse_func.c:2469 #, c-format msgid "Specify the argument list to select the procedure unambiguously." msgstr "Ange argumentlistan för att välja proceduren entydigt." -#: parser/parse_func.c:2473 +#: parser/parse_func.c:2474 #, c-format msgid "aggregate name \"%s\" is not unique" msgstr "aggregatnamn \"%s\" är inte unikt" -#: parser/parse_func.c:2476 +#: parser/parse_func.c:2477 #, c-format msgid "Specify the argument list to select the aggregate unambiguously." msgstr "Ange argumentlistan för att välja aggregatet entydigt." -#: parser/parse_func.c:2481 +#: parser/parse_func.c:2482 #, c-format msgid "routine name \"%s\" is not unique" msgstr "rutinnamn \"%s\" är inte unikt" -#: parser/parse_func.c:2484 +#: parser/parse_func.c:2485 #, c-format msgid "Specify the argument list to select the routine unambiguously." msgstr "Ange argumentlistan för att välja rutinen entydigt." -#: parser/parse_func.c:2539 +#: parser/parse_func.c:2540 msgid "set-returning functions are not allowed in JOIN conditions" msgstr "mängdreturnerande funktioner tillåts inte i JOIN-villkor" -#: parser/parse_func.c:2560 +#: parser/parse_func.c:2561 msgid "set-returning functions are not allowed in policy expressions" msgstr "mängdreturnerande funktioner tillåts inte i policy-uttryck" -#: parser/parse_func.c:2576 +#: parser/parse_func.c:2577 msgid "set-returning functions are not allowed in window definitions" msgstr "mängdreturnerande funktioner tillåts inte i fönsterdefinitioner" -#: parser/parse_func.c:2613 +#: parser/parse_func.c:2615 msgid "set-returning functions are not allowed in MERGE WHEN conditions" msgstr "mängdreturnerande funktioner tillåts inte i MERGE WHEN-villkor" -#: parser/parse_func.c:2617 +#: parser/parse_func.c:2619 msgid "set-returning functions are not allowed in check constraints" msgstr "mängdreturnerande funktioner tillåts inte i check-villkor" -#: parser/parse_func.c:2621 +#: parser/parse_func.c:2623 msgid "set-returning functions are not allowed in DEFAULT expressions" msgstr "mängdreturnerande funktioner tillåts inte i DEFAULT-uttryck" -#: parser/parse_func.c:2624 +#: parser/parse_func.c:2626 msgid "set-returning functions are not allowed in index expressions" msgstr "mängdreturnerande funktioner tillåts inte i indexuttryck" -#: parser/parse_func.c:2627 +#: parser/parse_func.c:2629 msgid "set-returning functions are not allowed in index predicates" msgstr "mängdreturnerande funktioner tillåts inte i indexpredukat" -#: parser/parse_func.c:2630 +#: parser/parse_func.c:2632 msgid "set-returning functions are not allowed in statistics expressions" msgstr "mängdreturnerande funktioner tillåts inte i statistikuttryck" -#: parser/parse_func.c:2633 +#: parser/parse_func.c:2635 msgid "set-returning functions are not allowed in transform expressions" msgstr "mängdreturnerande funktioner tillåts inte i transformuttryck" -#: parser/parse_func.c:2636 +#: parser/parse_func.c:2638 msgid "set-returning functions are not allowed in EXECUTE parameters" msgstr "mängdreturnerande funktioner tillåts inte i EXECUTE-parametrar" -#: parser/parse_func.c:2639 +#: parser/parse_func.c:2641 msgid "set-returning functions are not allowed in trigger WHEN conditions" msgstr "mängdreturnerande funktioner tillåts inte i WHEN-villkor" -#: parser/parse_func.c:2642 +#: parser/parse_func.c:2644 msgid "set-returning functions are not allowed in partition bound" msgstr "mängdreturnerande funktioner tillåts inte i partitionsgräns" -#: parser/parse_func.c:2645 +#: parser/parse_func.c:2647 msgid "set-returning functions are not allowed in partition key expressions" msgstr "mängdreturnerande funktioner tillåts inte i partitionsnyckeluttryck" -#: parser/parse_func.c:2648 +#: parser/parse_func.c:2650 msgid "set-returning functions are not allowed in CALL arguments" msgstr "mängdreturnerande funktioner tillåts inte i CALL-argument" -#: parser/parse_func.c:2651 +#: parser/parse_func.c:2653 msgid "set-returning functions are not allowed in COPY FROM WHERE conditions" msgstr "mängdreturnerande funktioner tillåts inte i COPY FROM WHERE-villkor" -#: parser/parse_func.c:2654 +#: parser/parse_func.c:2656 msgid "set-returning functions are not allowed in column generation expressions" msgstr "mängdreturnerande funktioner tillåts inte i kolumngenereringsuttryck" -#: parser/parse_merge.c:119 +#: parser/parse_jsontable.c:95 +#, c-format +msgid "Only EMPTY [ ARRAY ] or ERROR is allowed in the top-level ON ERROR clause." +msgstr "Enbart EMPTY [ ARRAY ] eller ERROR tillåts på toppnivå i ON ERROR-klausul." + +#: parser/parse_jsontable.c:189 parser/parse_jsontable.c:203 +#, c-format +msgid "duplicate JSON_TABLE column or path name: %s" +msgstr "duplicerad JSON_TABLE-kolumn eller sökvägsnamn: %s" + +#: parser/parse_merge.c:129 #, c-format msgid "WITH RECURSIVE is not supported for MERGE statement" msgstr "WHERE RECURSIVE stöds inte i MERGE-satser" -#: parser/parse_merge.c:161 +#: parser/parse_merge.c:176 #, c-format msgid "unreachable WHEN clause specified after unconditional WHEN clause" msgstr "onåbar WHEN-klausul har angivits efter en ej villkorlig WHEN-klausul" -#: parser/parse_merge.c:191 -#, c-format -msgid "MERGE is not supported for relations with rules." -msgstr "MERGE stöds inte för relationer med regler." - -#: parser/parse_merge.c:208 +#: parser/parse_merge.c:222 #, c-format msgid "name \"%s\" specified more than once" msgstr "namnet \"%s\" angivet mer än en gång" -#: parser/parse_merge.c:210 +#: parser/parse_merge.c:224 #, c-format msgid "The name is used both as MERGE target table and data source." msgstr "Namnet används både som MERGE-måltabell och som datakälla." -#: parser/parse_node.c:87 +#: parser/parse_node.c:82 #, c-format msgid "target lists can have at most %d entries" msgstr "mållista kan ha som mest %d poster" -#: parser/parse_oper.c:123 parser/parse_oper.c:690 +#: parser/parse_oper.c:114 parser/parse_oper.c:678 #, c-format msgid "postfix operators are not supported" msgstr "postfix-operatorer stöds inte" -#: parser/parse_oper.c:130 parser/parse_oper.c:649 utils/adt/regproc.c:509 -#: utils/adt/regproc.c:683 -#, c-format -msgid "operator does not exist: %s" -msgstr "operator existerar inte: %s" - -#: parser/parse_oper.c:229 +#: parser/parse_oper.c:217 #, c-format msgid "Use an explicit ordering operator or modify the query." msgstr "Använd en explicit ordningsoperator eller ändra frågan." -#: parser/parse_oper.c:485 +#: parser/parse_oper.c:473 #, c-format msgid "operator requires run-time type coercion: %s" msgstr "operator kräver run-time-typomvandling: %s" -#: parser/parse_oper.c:641 +#: parser/parse_oper.c:629 #, c-format msgid "operator is not unique: %s" msgstr "operatorn är inte unik: %s" -#: parser/parse_oper.c:643 +#: parser/parse_oper.c:631 #, c-format msgid "Could not choose a best candidate operator. You might need to add explicit type casts." msgstr "Kunde inte välja en bästa kandidatoperator. Du behöver troligen lägga till en explicit typomvandling." -#: parser/parse_oper.c:652 +#: parser/parse_oper.c:640 #, c-format msgid "No operator matches the given name and argument type. You might need to add an explicit type cast." msgstr "Ingen operator matchar det angivna namnet och argumenttyp. Du kan behöva lägga till explicita typomvandlingar." -#: parser/parse_oper.c:654 +#: parser/parse_oper.c:642 #, c-format msgid "No operator matches the given name and argument types. You might need to add explicit type casts." msgstr "Ingen operator matchar det angivna namnet och argumenttyperna. Du kan behöva lägga till explicita typomvandlingar." -#: parser/parse_oper.c:714 parser/parse_oper.c:828 -#, c-format -msgid "operator is only a shell: %s" -msgstr "operator är bara en shell-typ: %s" - -#: parser/parse_oper.c:816 +#: parser/parse_oper.c:803 #, c-format msgid "op ANY/ALL (array) requires array on right side" msgstr "op ANY/ALL (array) kräver en array på höger sida" -#: parser/parse_oper.c:858 +#: parser/parse_oper.c:844 #, c-format msgid "op ANY/ALL (array) requires operator to yield boolean" msgstr "op ANY/ALL (array) kräver att operatorn returnerar en boolean" -#: parser/parse_oper.c:863 +#: parser/parse_oper.c:849 #, c-format msgid "op ANY/ALL (array) requires operator not to return a set" msgstr "op ANY/ALL (array) kräver att operatorn inte returnerar en mängd" @@ -18332,7 +18888,7 @@ msgstr "op ANY/ALL (array) kräver att operatorn inte returnerar en mängd" msgid "inconsistent types deduced for parameter $%d" msgstr "inkonsistenta typer härledda för parameter $%d" -#: parser/parse_param.c:309 tcop/postgres.c:740 +#: parser/parse_param.c:309 tcop/postgres.c:744 #, c-format msgid "could not determine data type of parameter $%d" msgstr "kunde inte lista ut datatypen för parameter $%d" @@ -18352,13 +18908,13 @@ msgstr "tabellreferens %u är tvetydig" msgid "table name \"%s\" specified more than once" msgstr "tabellnamn \"%s\" angivet mer än en gång" -#: parser/parse_relation.c:494 parser/parse_relation.c:3630 -#: parser/parse_relation.c:3639 +#: parser/parse_relation.c:494 parser/parse_relation.c:3633 +#: parser/parse_relation.c:3642 #, c-format msgid "invalid reference to FROM-clause entry for table \"%s\"" msgstr "ogiltig referens till FROM-klausulpost för tabell \"%s\"" -#: parser/parse_relation.c:498 parser/parse_relation.c:3641 +#: parser/parse_relation.c:498 parser/parse_relation.c:3644 #, c-format msgid "There is an entry for table \"%s\", but it cannot be referenced from this part of the query." msgstr "Det finns en post för tabell \"%s\" men den kan inte refereras till från denna del av frågan." @@ -18384,7 +18940,7 @@ msgid "cannot use system column \"%s\" in MERGE WHEN condition" msgstr "kan inte använda systemkolumn \"%s\" i MERGE WHEN-villkor" #: parser/parse_relation.c:1236 parser/parse_relation.c:1691 -#: parser/parse_relation.c:2388 +#: parser/parse_relation.c:2384 #, c-format msgid "table \"%s\" has %d columns available but %d columns specified" msgstr "tabell \"%s\" har %d kolumner tillgängliga men %d kolumner angivna" @@ -18399,157 +18955,157 @@ msgstr "Det finns en WITH-post med namn \"%s\" men den kan inte refereras till f msgid "Use WITH RECURSIVE, or re-order the WITH items to remove forward references." msgstr "Använd WITH RECURSIVE eller ändra ordning på WITH-posterna för att ta bort framåt-referenser." -#: parser/parse_relation.c:1834 +#: parser/parse_relation.c:1833 #, c-format msgid "a column definition list is redundant for a function with OUT parameters" msgstr "en kolumndefinitionslista är redundant för en funktion med OUT-parametrar" -#: parser/parse_relation.c:1840 +#: parser/parse_relation.c:1839 #, c-format msgid "a column definition list is redundant for a function returning a named composite type" msgstr "en kolumndefinitionslista är redundant för en funktion som returnerar en namngiven composite-typ" -#: parser/parse_relation.c:1847 +#: parser/parse_relation.c:1846 #, c-format msgid "a column definition list is only allowed for functions returning \"record\"" msgstr "en kolumndefinitionslista tillåts bara för funktioner som returnerar \"record\"" -#: parser/parse_relation.c:1858 +#: parser/parse_relation.c:1857 #, c-format msgid "a column definition list is required for functions returning \"record\"" msgstr "en kolumndefinitionslista krävs för funktioner som returnerar \"record\"" -#: parser/parse_relation.c:1895 +#: parser/parse_relation.c:1894 #, c-format msgid "column definition lists can have at most %d entries" msgstr "kolumndefinitionslistor kan ha som mest %d poster" -#: parser/parse_relation.c:1955 +#: parser/parse_relation.c:1954 #, c-format msgid "function \"%s\" in FROM has unsupported return type %s" msgstr "funktion \"%s\" i FROM har en icke stödd returtyp %s" -#: parser/parse_relation.c:1982 parser/parse_relation.c:2068 +#: parser/parse_relation.c:1981 parser/parse_relation.c:2066 #, c-format msgid "functions in FROM can return at most %d columns" msgstr "funktioner i FROM kan returnera som mest %d kolumner" -#: parser/parse_relation.c:2098 +#: parser/parse_relation.c:2096 #, c-format msgid "%s function has %d columns available but %d columns specified" msgstr "funktionen %s har %d kolumner tillgängliga men %d kolumner angivna" -#: parser/parse_relation.c:2180 +#: parser/parse_relation.c:2177 #, c-format msgid "VALUES lists \"%s\" have %d columns available but %d columns specified" msgstr "VALUES-lista \"%s\" har %d kolumner tillgängliga men %d kolumner angivna" -#: parser/parse_relation.c:2246 +#: parser/parse_relation.c:2242 #, c-format msgid "joins can have at most %d columns" msgstr "joins kan ha som mest %d kolumner" -#: parser/parse_relation.c:2271 +#: parser/parse_relation.c:2267 #, c-format msgid "join expression \"%s\" has %d columns available but %d columns specified" msgstr "join-uttryck \"%s\" har %d kolumner tillgängliga men %d kolumner angivna" -#: parser/parse_relation.c:2361 +#: parser/parse_relation.c:2357 #, c-format msgid "WITH query \"%s\" does not have a RETURNING clause" msgstr "WITH-fråga \"%s\" har ingen RETURNING-klausul" -#: parser/parse_relation.c:3632 +#: parser/parse_relation.c:3635 #, c-format msgid "Perhaps you meant to reference the table alias \"%s\"." msgstr "Kanske tänkte du referera till tabellaliaset \"%s\"." -#: parser/parse_relation.c:3644 +#: parser/parse_relation.c:3647 #, c-format msgid "To reference that table, you must mark this subquery with LATERAL." msgstr "För att referera till den tabellen så måste denna subfråga markeras som LATERAL." -#: parser/parse_relation.c:3650 +#: parser/parse_relation.c:3653 #, c-format msgid "missing FROM-clause entry for table \"%s\"" msgstr "saknar FROM-klausulpost för tabell \"%s\"" -#: parser/parse_relation.c:3690 +#: parser/parse_relation.c:3693 #, c-format msgid "There are columns named \"%s\", but they are in tables that cannot be referenced from this part of the query." msgstr "Det finns kolumner med namn \"%s\", men de är i tabeller som inte kan refereras till från denna del av frågan." -#: parser/parse_relation.c:3692 +#: parser/parse_relation.c:3695 #, c-format msgid "Try using a table-qualified name." msgstr "Försök med ett tabell-prefixat namn." -#: parser/parse_relation.c:3700 +#: parser/parse_relation.c:3703 #, c-format msgid "There is a column named \"%s\" in table \"%s\", but it cannot be referenced from this part of the query." msgstr "Det finns en kolumn med namn \"%s\" i tabell \"%s\" men den kan inte refereras till från denna del av frågan." -#: parser/parse_relation.c:3703 +#: parser/parse_relation.c:3706 #, c-format msgid "To reference that column, you must mark this subquery with LATERAL." msgstr "För att referera till den kolumnen så måste denna subfråga markeras som LATERAL." -#: parser/parse_relation.c:3705 +#: parser/parse_relation.c:3708 #, c-format msgid "To reference that column, you must use a table-qualified name." msgstr "För att referera till den kolumnen så måste du använda ett tabell-prefixat namn." -#: parser/parse_relation.c:3725 +#: parser/parse_relation.c:3728 #, c-format msgid "Perhaps you meant to reference the column \"%s.%s\"." msgstr "Kanske tänkte du referera till kolumnen \"%s.%s\"." -#: parser/parse_relation.c:3739 +#: parser/parse_relation.c:3742 #, c-format msgid "Perhaps you meant to reference the column \"%s.%s\" or the column \"%s.%s\"." msgstr "Kanske tänkte du referera till kolumnen \"%s.%s\" eller kolumnen \"%s.%s\"." -#: parser/parse_target.c:481 parser/parse_target.c:796 +#: parser/parse_target.c:480 parser/parse_target.c:795 #, c-format msgid "cannot assign to system column \"%s\"" msgstr "kan inte skriva till systemkolumn \"%s\"" -#: parser/parse_target.c:509 +#: parser/parse_target.c:508 #, c-format msgid "cannot set an array element to DEFAULT" msgstr "kan inte sätta ett array-element till DEFAULT" -#: parser/parse_target.c:514 +#: parser/parse_target.c:513 #, c-format msgid "cannot set a subfield to DEFAULT" msgstr "kan inte sätta ett underfält till DEFAULT" -#: parser/parse_target.c:588 +#: parser/parse_target.c:587 #, c-format msgid "column \"%s\" is of type %s but expression is of type %s" msgstr "kolumn \"%s\" har typ %s men uttrycket är av typ %s" -#: parser/parse_target.c:780 +#: parser/parse_target.c:779 #, c-format msgid "cannot assign to field \"%s\" of column \"%s\" because its type %s is not a composite type" msgstr "kan inte tilldela till fält \"%s\" i kolumn \"%s\" då dess typ %s inte är en composit-typ" -#: parser/parse_target.c:789 +#: parser/parse_target.c:788 #, c-format msgid "cannot assign to field \"%s\" of column \"%s\" because there is no such column in data type %s" msgstr "kan inte tilldela till fält \"%s\" i kolumn \"%s\" då det inte finns någon sådan kolumn i datatypen %s" -#: parser/parse_target.c:869 +#: parser/parse_target.c:877 #, c-format msgid "subscripted assignment to \"%s\" requires type %s but expression is of type %s" msgstr "tilldelning med array-index till \"%s\" kräver typ %s men uttrycket har typ %s" -#: parser/parse_target.c:879 +#: parser/parse_target.c:887 #, c-format msgid "subfield \"%s\" is of type %s but expression is of type %s" msgstr "underfält \"%s\" har typ %s men uttrycket har typ %s" -#: parser/parse_target.c:1314 +#: parser/parse_target.c:1327 #, c-format msgid "SELECT * with no tables specified is not valid" msgstr "SELECT * utan tabeller angivna är inte giltigt" @@ -18569,8 +19125,8 @@ msgstr "dålig %%TYPE-referens (för många punktade namn): %s" msgid "type reference %s converted to %s" msgstr "typreferens %s konverterad till %s" -#: parser/parse_type.c:278 parser/parse_type.c:813 utils/cache/typcache.c:395 -#: utils/cache/typcache.c:450 +#: parser/parse_type.c:278 parser/parse_type.c:813 utils/cache/typcache.c:397 +#: utils/cache/typcache.c:452 #, c-format msgid "type \"%s\" is only a shell" msgstr "typ \"%s\" är bara ett skal" @@ -18590,330 +19146,325 @@ msgstr "typmodifierare måste vare enkla konstanter eller identifierare" msgid "invalid type name \"%s\"" msgstr "ogiltigt typnamn \"%s\"" -#: parser/parse_utilcmd.c:264 +#: parser/parse_utilcmd.c:263 #, c-format msgid "cannot create partitioned table as inheritance child" msgstr "kan inte skapa partitionerad tabell som barnarv" -#: parser/parse_utilcmd.c:580 +#: parser/parse_utilcmd.c:475 +#, c-format +msgid "cannot set logged status of a temporary sequence" +msgstr "kan inte sätta loggningsstatus för en temporär sekvens" + +#: parser/parse_utilcmd.c:611 #, c-format msgid "array of serial is not implemented" msgstr "array med serial är inte implementerat" -#: parser/parse_utilcmd.c:659 parser/parse_utilcmd.c:671 -#: parser/parse_utilcmd.c:730 +#: parser/parse_utilcmd.c:690 parser/parse_utilcmd.c:702 +#: parser/parse_utilcmd.c:761 #, c-format msgid "conflicting NULL/NOT NULL declarations for column \"%s\" of table \"%s\"" msgstr "motstridiga NULL/NOT NULL-villkor för kolumnen \"%s\" i tabell \"%s\"" -#: parser/parse_utilcmd.c:683 +#: parser/parse_utilcmd.c:714 #, c-format msgid "multiple default values specified for column \"%s\" of table \"%s\"" msgstr "multipla default-värden angivna för kolumn \"%s\" i tabell \"%s\"" -#: parser/parse_utilcmd.c:700 +#: parser/parse_utilcmd.c:731 #, c-format msgid "identity columns are not supported on typed tables" msgstr "identitetskolumner stöds inte på typade tabeller" -#: parser/parse_utilcmd.c:704 +#: parser/parse_utilcmd.c:735 #, c-format msgid "identity columns are not supported on partitions" msgstr "identitetskolumner stöds inte för partitioner" -#: parser/parse_utilcmd.c:713 +#: parser/parse_utilcmd.c:744 #, c-format msgid "multiple identity specifications for column \"%s\" of table \"%s\"" msgstr "multipla identitetspecifikationer för kolumn \"%s\" i tabell \"%s\"" -#: parser/parse_utilcmd.c:743 +#: parser/parse_utilcmd.c:774 #, c-format msgid "generated columns are not supported on typed tables" msgstr "genererade kolumner stöds inte på typade tabeller" -#: parser/parse_utilcmd.c:747 +#: parser/parse_utilcmd.c:778 #, c-format msgid "multiple generation clauses specified for column \"%s\" of table \"%s\"" msgstr "multipla genereringsklausuler angivna för kolumn \"%s\" i tabell \"%s\"" -#: parser/parse_utilcmd.c:765 parser/parse_utilcmd.c:880 +#: parser/parse_utilcmd.c:796 parser/parse_utilcmd.c:911 #, c-format msgid "primary key constraints are not supported on foreign tables" msgstr "primärnyckelvillkor stöds inte på främmande tabeller" -#: parser/parse_utilcmd.c:774 parser/parse_utilcmd.c:890 +#: parser/parse_utilcmd.c:805 parser/parse_utilcmd.c:921 #, c-format msgid "unique constraints are not supported on foreign tables" msgstr "unika villkor stöds inte på främmande tabeller" -#: parser/parse_utilcmd.c:819 +#: parser/parse_utilcmd.c:850 #, c-format msgid "both default and identity specified for column \"%s\" of table \"%s\"" msgstr "både default och identity angiven för kolumn \"%s\" i tabell \"%s\"" -#: parser/parse_utilcmd.c:827 +#: parser/parse_utilcmd.c:858 #, c-format msgid "both default and generation expression specified for column \"%s\" of table \"%s\"" msgstr "både default och genereringsuttryck angiven för kolumn \"%s\" i tabell \"%s\"" -#: parser/parse_utilcmd.c:835 +#: parser/parse_utilcmd.c:866 #, c-format msgid "both identity and generation expression specified for column \"%s\" of table \"%s\"" msgstr "både identity och genereringsuttryck angiven för kolumn \"%s\" i tabell \"%s\"" -#: parser/parse_utilcmd.c:900 +#: parser/parse_utilcmd.c:931 #, c-format msgid "exclusion constraints are not supported on foreign tables" msgstr "uteslutningsvillkor stöds inte på främmande tabeller" -#: parser/parse_utilcmd.c:906 -#, c-format -msgid "exclusion constraints are not supported on partitioned tables" -msgstr "uteslutningsvillkor stöds inte för partitionerade tabeller" - -#: parser/parse_utilcmd.c:971 +#: parser/parse_utilcmd.c:996 #, c-format msgid "LIKE is not supported for creating foreign tables" msgstr "LIKE stöds inte för att skapa främmande tabeller" -#: parser/parse_utilcmd.c:984 +#: parser/parse_utilcmd.c:1009 #, c-format msgid "relation \"%s\" is invalid in LIKE clause" msgstr "relationen \"%s\" är ogiltig i LIKE-klausul" -#: parser/parse_utilcmd.c:1741 parser/parse_utilcmd.c:1849 +#: parser/parse_utilcmd.c:1736 parser/parse_utilcmd.c:1844 #, c-format msgid "Index \"%s\" contains a whole-row table reference." msgstr "Index \"%s\" innehåller en hela-raden-referens." -#: parser/parse_utilcmd.c:2236 +#: parser/parse_utilcmd.c:2242 #, c-format msgid "cannot use an existing index in CREATE TABLE" msgstr "kan inte använda ett existerande index i CREATE TABLE" -#: parser/parse_utilcmd.c:2256 +#: parser/parse_utilcmd.c:2262 #, c-format msgid "index \"%s\" is already associated with a constraint" msgstr "index \"%s\" är redan associerad med ett villkor" -#: parser/parse_utilcmd.c:2271 -#, c-format -msgid "index \"%s\" is not valid" -msgstr "index \"%s\" är inte giltigt" - -#: parser/parse_utilcmd.c:2277 +#: parser/parse_utilcmd.c:2283 #, c-format msgid "\"%s\" is not a unique index" msgstr "\"%s\" är inte ett unikt index" -#: parser/parse_utilcmd.c:2278 parser/parse_utilcmd.c:2285 -#: parser/parse_utilcmd.c:2292 parser/parse_utilcmd.c:2369 +#: parser/parse_utilcmd.c:2284 parser/parse_utilcmd.c:2291 +#: parser/parse_utilcmd.c:2298 parser/parse_utilcmd.c:2375 #, c-format msgid "Cannot create a primary key or unique constraint using such an index." msgstr "Kan inte skapa en primärnyckel eller ett unikt villkor med hjälp av ett sådant index." -#: parser/parse_utilcmd.c:2284 +#: parser/parse_utilcmd.c:2290 #, c-format msgid "index \"%s\" contains expressions" msgstr "index \"%s\" innehåller uttryck" -#: parser/parse_utilcmd.c:2291 +#: parser/parse_utilcmd.c:2297 #, c-format msgid "\"%s\" is a partial index" msgstr "\"%s\" är ett partiellt index" -#: parser/parse_utilcmd.c:2303 +#: parser/parse_utilcmd.c:2309 #, c-format msgid "\"%s\" is a deferrable index" msgstr "\"%s\" är ett \"deferrable\" index" -#: parser/parse_utilcmd.c:2304 +#: parser/parse_utilcmd.c:2310 #, c-format msgid "Cannot create a non-deferrable constraint using a deferrable index." msgstr "Kan inte skapa ett icke-\"deferrable\" integritetsvillkor från ett \"deferrable\" index." -#: parser/parse_utilcmd.c:2368 +#: parser/parse_utilcmd.c:2374 #, c-format msgid "index \"%s\" column number %d does not have default sorting behavior" msgstr "index \"%s\" kolumn nummer %d har ingen standard för sorteringsbeteende" -#: parser/parse_utilcmd.c:2525 +#: parser/parse_utilcmd.c:2531 #, c-format msgid "column \"%s\" appears twice in primary key constraint" msgstr "kolumn \"%s\" finns med två gånger i primära nyckel-villkoret" -#: parser/parse_utilcmd.c:2531 +#: parser/parse_utilcmd.c:2537 #, c-format msgid "column \"%s\" appears twice in unique constraint" msgstr "kolumn \"%s\" finns med två gånger i unique-villkoret" -#: parser/parse_utilcmd.c:2878 +#: parser/parse_utilcmd.c:2871 #, c-format msgid "index expressions and predicates can refer only to the table being indexed" msgstr "indexuttryck och predikat kan bara referera till tabellen som indexeras" -#: parser/parse_utilcmd.c:2950 +#: parser/parse_utilcmd.c:2943 #, c-format msgid "statistics expressions can refer only to the table being referenced" msgstr "statistikuttryck kan bara referera till tabellen som är refererad" -#: parser/parse_utilcmd.c:2993 +#: parser/parse_utilcmd.c:2986 #, c-format msgid "rules on materialized views are not supported" msgstr "regler på materialiserade vyer stöds inte" -#: parser/parse_utilcmd.c:3053 +#: parser/parse_utilcmd.c:3046 #, c-format msgid "rule WHERE condition cannot contain references to other relations" msgstr "WHERE-villkor i regel kan inte innehålla referenser till andra relationer" -#: parser/parse_utilcmd.c:3125 +#: parser/parse_utilcmd.c:3118 #, c-format msgid "rules with WHERE conditions can only have SELECT, INSERT, UPDATE, or DELETE actions" msgstr "regler med WHERE-villkor kan bara innehålla SELECT-, INSERT-, UPDATE- eller DELETE-handlingar" -#: parser/parse_utilcmd.c:3143 parser/parse_utilcmd.c:3244 -#: rewrite/rewriteHandler.c:539 rewrite/rewriteManip.c:1087 +#: parser/parse_utilcmd.c:3136 parser/parse_utilcmd.c:3237 +#: rewrite/rewriteHandler.c:538 rewrite/rewriteManip.c:1095 #, c-format msgid "conditional UNION/INTERSECT/EXCEPT statements are not implemented" msgstr "UNION-/INTERSECT-/EXCEPT-satser med villkor är inte implementerat" -#: parser/parse_utilcmd.c:3161 +#: parser/parse_utilcmd.c:3154 #, c-format msgid "ON SELECT rule cannot use OLD" msgstr "ON SELECT-regel kan inte använda OLD" -#: parser/parse_utilcmd.c:3165 +#: parser/parse_utilcmd.c:3158 #, c-format msgid "ON SELECT rule cannot use NEW" msgstr "ON SELECT-regel kan inte använda NEW" -#: parser/parse_utilcmd.c:3174 +#: parser/parse_utilcmd.c:3167 #, c-format msgid "ON INSERT rule cannot use OLD" msgstr "ON INSERT-regel kan inte använda OLD" -#: parser/parse_utilcmd.c:3180 +#: parser/parse_utilcmd.c:3173 #, c-format msgid "ON DELETE rule cannot use NEW" msgstr "ON DELETE-regel kan inte använda NEW" -#: parser/parse_utilcmd.c:3208 +#: parser/parse_utilcmd.c:3201 #, c-format msgid "cannot refer to OLD within WITH query" msgstr "kan inte referera till OLD i WITH-fråga" -#: parser/parse_utilcmd.c:3215 +#: parser/parse_utilcmd.c:3208 #, c-format msgid "cannot refer to NEW within WITH query" msgstr "kan inte referera till NEW i WITH-fråga" -#: parser/parse_utilcmd.c:3667 +#: parser/parse_utilcmd.c:3664 #, c-format msgid "misplaced DEFERRABLE clause" msgstr "felplacerad DEFERRABLE-klausul" -#: parser/parse_utilcmd.c:3672 parser/parse_utilcmd.c:3687 +#: parser/parse_utilcmd.c:3669 parser/parse_utilcmd.c:3684 #, c-format msgid "multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed" msgstr "multipla DEFERRABLE/NOT DEFERRABLE-klausuler tillåts inte" -#: parser/parse_utilcmd.c:3682 +#: parser/parse_utilcmd.c:3679 #, c-format msgid "misplaced NOT DEFERRABLE clause" msgstr "felplacerad NOT DEFERRABLE-klausul" -#: parser/parse_utilcmd.c:3703 +#: parser/parse_utilcmd.c:3700 #, c-format msgid "misplaced INITIALLY DEFERRED clause" msgstr "felplacerad INITIALLY DEFERRED-klausul" -#: parser/parse_utilcmd.c:3708 parser/parse_utilcmd.c:3734 +#: parser/parse_utilcmd.c:3705 parser/parse_utilcmd.c:3731 #, c-format msgid "multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed" msgstr "multipla INITIALLY IMMEDIATE/DEFERRED-klausuler tillåts inte" -#: parser/parse_utilcmd.c:3729 +#: parser/parse_utilcmd.c:3726 #, c-format msgid "misplaced INITIALLY IMMEDIATE clause" msgstr "felplacerad klausul INITIALLY IMMEDIATE" -#: parser/parse_utilcmd.c:3922 +#: parser/parse_utilcmd.c:3919 #, c-format msgid "CREATE specifies a schema (%s) different from the one being created (%s)" msgstr "CREATE anger ett schema (%s) som skiljer sig från det som skapas (%s)" -#: parser/parse_utilcmd.c:3957 +#: parser/parse_utilcmd.c:3954 #, c-format msgid "\"%s\" is not a partitioned table" msgstr "\"%s\" är inte en partitionerad tabell" -#: parser/parse_utilcmd.c:3964 +#: parser/parse_utilcmd.c:3961 #, c-format msgid "table \"%s\" is not partitioned" msgstr "tabell \"%s\" är inte partitionerad" -#: parser/parse_utilcmd.c:3971 +#: parser/parse_utilcmd.c:3968 #, c-format msgid "index \"%s\" is not partitioned" msgstr "index \"%s\" är inte partitionerad" -#: parser/parse_utilcmd.c:4011 +#: parser/parse_utilcmd.c:4008 #, c-format msgid "a hash-partitioned table may not have a default partition" msgstr "en hash-partitionerad tabell får inte ha en standardpartition" -#: parser/parse_utilcmd.c:4028 +#: parser/parse_utilcmd.c:4025 #, c-format msgid "invalid bound specification for a hash partition" msgstr "ogiltig gränsangivelse för hash-partition" -#: parser/parse_utilcmd.c:4034 partitioning/partbounds.c:4803 +#: parser/parse_utilcmd.c:4031 partitioning/partbounds.c:4802 #, c-format msgid "modulus for hash partition must be an integer value greater than zero" msgstr "modulo för hash-partition vara ett heltalsvärde större än noll" -#: parser/parse_utilcmd.c:4041 partitioning/partbounds.c:4811 +#: parser/parse_utilcmd.c:4038 partitioning/partbounds.c:4810 #, c-format msgid "remainder for hash partition must be less than modulus" msgstr "rest för hash-partition måste vara lägre än modulo" -#: parser/parse_utilcmd.c:4054 +#: parser/parse_utilcmd.c:4051 #, c-format msgid "invalid bound specification for a list partition" msgstr "ogiltig gränsangivelse för listpartition" -#: parser/parse_utilcmd.c:4107 +#: parser/parse_utilcmd.c:4104 #, c-format msgid "invalid bound specification for a range partition" msgstr "ogiltig gränsangivelse för range-partition" -#: parser/parse_utilcmd.c:4113 +#: parser/parse_utilcmd.c:4110 #, c-format msgid "FROM must specify exactly one value per partitioning column" msgstr "FROM måste ge exakt ett värde per partitionerande kolumn" -#: parser/parse_utilcmd.c:4117 +#: parser/parse_utilcmd.c:4114 #, c-format 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:4231 +#: parser/parse_utilcmd.c:4228 #, c-format msgid "cannot specify NULL in range bound" msgstr "kan inte ange NULL i range-gräns" -#: parser/parse_utilcmd.c:4280 +#: parser/parse_utilcmd.c:4277 #, 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:4287 +#: parser/parse_utilcmd.c:4284 #, 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:4330 +#: parser/parse_utilcmd.c:4327 #, 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\"" @@ -18926,12 +19477,12 @@ msgstr "UESCAPE måste följas av en enkel stränglitteral" msgid "invalid Unicode escape character" msgstr "ogiltigt Unicode-escapetecken" -#: parser/parser.c:347 scan.l:1390 +#: parser/parser.c:347 scan.l:1393 #, c-format msgid "invalid Unicode escape value" msgstr "ogiltigt Unicode-escapevärde" -#: parser/parser.c:494 scan.l:701 utils/adt/varlena.c:6505 +#: parser/parser.c:494 scan.l:716 utils/adt/varlena.c:6640 #, c-format msgid "invalid Unicode escape" msgstr "ogiltig Unicode-escapesekvens" @@ -18941,8 +19492,8 @@ msgstr "ogiltig Unicode-escapesekvens" msgid "Unicode escapes must be \\XXXX or \\+XXXXXX." msgstr "Unicode-escapesekvenser måste vara \\XXXX eller \\+XXXXXX." -#: parser/parser.c:523 scan.l:662 scan.l:678 scan.l:694 -#: utils/adt/varlena.c:6530 +#: parser/parser.c:523 scan.l:677 scan.l:693 scan.l:709 +#: utils/adt/varlena.c:6665 #, c-format msgid "invalid Unicode surrogate pair" msgstr "ogiltigt Unicode-surrogatpar" @@ -18952,89 +19503,89 @@ msgstr "ogiltigt Unicode-surrogatpar" msgid "identifier \"%s\" will be truncated to \"%.*s\"" msgstr "identifierare \"%s\" kommer trunkeras till \"%.*s\"" -#: partitioning/partbounds.c:2921 +#: partitioning/partbounds.c:2920 #, c-format msgid "partition \"%s\" conflicts with existing default partition \"%s\"" msgstr "partition \"%s\" står i konflikt med existerande default-partition \"%s\"" -#: partitioning/partbounds.c:2973 partitioning/partbounds.c:2992 -#: partitioning/partbounds.c:3014 +#: partitioning/partbounds.c:2972 partitioning/partbounds.c:2991 +#: partitioning/partbounds.c:3013 #, c-format msgid "every hash partition modulus must be a factor of the next larger modulus" msgstr "varje hash-partition-modulo måste vara en faktror av näste högre modulo" -#: partitioning/partbounds.c:2974 partitioning/partbounds.c:3015 +#: partitioning/partbounds.c:2973 partitioning/partbounds.c:3014 #, c-format msgid "The new modulus %d is not a factor of %d, the modulus of existing partition \"%s\"." msgstr "Ny modulon %d är inte en faktor av %d som är modulo för den existerande partitionen \"%s\"." -#: partitioning/partbounds.c:2993 +#: partitioning/partbounds.c:2992 #, c-format msgid "The new modulus %d is not divisible by %d, the modulus of existing partition \"%s\"." msgstr "Ny modulon %d är inte delbar med %d som är modulo för den existerande paritionen \"%s\"." -#: partitioning/partbounds.c:3128 +#: partitioning/partbounds.c:3127 #, c-format msgid "empty range bound specified for partition \"%s\"" msgstr "tom intervallsgräns angiven för partition \"%s\"" -#: partitioning/partbounds.c:3130 +#: partitioning/partbounds.c:3129 #, c-format msgid "Specified lower bound %s is greater than or equal to upper bound %s." -msgstr "Angiven lägre gräns %s är större än eller lika med övre gräns %s." +msgstr "Angiven undre gräns %s är större än eller lika med övre gräns %s." -#: partitioning/partbounds.c:3238 +#: partitioning/partbounds.c:3237 #, c-format msgid "partition \"%s\" would overlap partition \"%s\"" msgstr "partition \"%s\" skulle överlappa partition \"%s\"" -#: partitioning/partbounds.c:3355 +#: partitioning/partbounds.c:3354 #, c-format msgid "skipped scanning foreign table \"%s\" which is a partition of default partition \"%s\"" msgstr "hoppade över skanning av främmand tabell \"%s\" som er en partition för standardpartitionen \"%s\"" -#: partitioning/partbounds.c:4807 +#: partitioning/partbounds.c:4806 #, c-format msgid "remainder for hash partition must be an integer value greater than or equal to zero" msgstr "rest för hash-partition måste vara ett heltalsvärde större än eller lika med noll" -#: partitioning/partbounds.c:4831 +#: partitioning/partbounds.c:4830 #, c-format msgid "\"%s\" is not a hash partitioned table" msgstr "\"%s\" är inte en hash-partitionerad tabell" -#: partitioning/partbounds.c:4842 partitioning/partbounds.c:4959 +#: partitioning/partbounds.c:4841 partitioning/partbounds.c:4958 #, c-format msgid "number of partitioning columns (%d) does not match number of partition keys provided (%d)" msgstr "antalet partitioneringskolumner (%d) stämmer inte med antalet partioneringsnycklas som angivits (%d)" -#: partitioning/partbounds.c:4864 +#: partitioning/partbounds.c:4863 #, c-format msgid "column %d of the partition key has type %s, but supplied value is of type %s" msgstr "kolumn %d i partitioneringsnyckeln har typ %s men använt värde har typ %s" -#: partitioning/partbounds.c:4896 +#: partitioning/partbounds.c:4895 #, c-format msgid "column %d of the partition key has type \"%s\", but supplied value is of type \"%s\"" msgstr "kolumn %d i partitioneringsnyckeln har typ \"%s\" men använt värde har typ \"%s\"" -#: port/pg_sema.c:209 port/pg_shmem.c:708 port/posix_sema.c:209 -#: port/sysv_sema.c:323 port/sysv_shmem.c:708 +#: port/pg_sema.c:209 port/pg_shmem.c:717 port/posix_sema.c:209 +#: port/sysv_sema.c:323 port/sysv_shmem.c:717 #, c-format msgid "could not stat data directory \"%s\": %m" msgstr "kunde inte göra stat() på datakatalog \"%s\": %m" -#: port/pg_shmem.c:223 port/sysv_shmem.c:223 +#: port/pg_shmem.c:224 port/sysv_shmem.c:224 #, c-format msgid "could not create shared memory segment: %m" msgstr "kunde inte skapa delat minnessegment: %m" -#: port/pg_shmem.c:224 port/sysv_shmem.c:224 +#: port/pg_shmem.c:225 port/sysv_shmem.c:225 #, c-format msgid "Failed system call was shmget(key=%lu, size=%zu, 0%o)." msgstr "Misslyckade systemanropet var semget(key=%lu, size=%zu, 0%o)." -#: port/pg_shmem.c:228 port/sysv_shmem.c:228 +#: port/pg_shmem.c:229 port/sysv_shmem.c:229 #, c-format msgid "" "This error usually means that PostgreSQL's request for a shared memory segment exceeded your kernel's SHMMAX parameter, or possibly that it is less than your kernel's SHMMIN parameter.\n" @@ -19043,7 +19594,7 @@ msgstr "" "Felet betyder vanligen att PostgreSQLs begäran av delat minnessegment överskred kärnans SHMMAX-parameter eller möjligen att det är lägre än kärnans SHMMIN-parameter.\n" "PostgreSQLs dokumentation innehåller mer information om konfigueration av delat minne." -#: port/pg_shmem.c:235 port/sysv_shmem.c:235 +#: port/pg_shmem.c:236 port/sysv_shmem.c:236 #, c-format msgid "" "This error usually means that PostgreSQL's request for a shared memory segment exceeded your kernel's SHMALL parameter. You might need to reconfigure the kernel with larger SHMALL.\n" @@ -19052,7 +19603,7 @@ msgstr "" "Felet betyder vanligen att PostgreSQLs begäran av delat minnessegment överskred kärnans SHMALL-parameter. Du kan behöva rekonfigurera kärnan med ett större SHMALL.\n" "PostgreSQLs dokumentation innehåller mer information om konfigueration av delat minne." -#: port/pg_shmem.c:241 port/sysv_shmem.c:241 +#: port/pg_shmem.c:242 port/sysv_shmem.c:242 #, c-format msgid "" "This error does *not* mean that you have run out of disk space. It occurs either if all available shared memory IDs have been taken, in which case you need to raise the SHMMNI parameter in your kernel, or because the system's overall limit for shared memory has been reached.\n" @@ -19061,37 +19612,37 @@ msgstr "" "Felet betyder *inte* att diskutrymmet tagit slut. Felet sker aningen om alla tillgängliga ID-nummer för delat minne tagit slut och då behöver du öka kärnans SHMMNI-parameter eller för att systemets totala gräns för delat minne ha nåtts.\n" "PostgreSQLs dokumentation innehåller mer information om konfigueration av delat minne." -#: port/pg_shmem.c:583 port/sysv_shmem.c:583 port/win32_shmem.c:641 +#: port/pg_shmem.c:584 port/sysv_shmem.c:584 port/win32_shmem.c:646 #, c-format -msgid "huge_page_size must be 0 on this platform." -msgstr "huge_page_size måste vara 0 på denna plattform." +msgid "\"huge_page_size\" must be 0 on this platform." +msgstr "\"huge_page_size\" måste vara 0 på denna plattform." -#: port/pg_shmem.c:646 port/sysv_shmem.c:646 +#: port/pg_shmem.c:655 port/sysv_shmem.c:655 #, c-format msgid "could not map anonymous shared memory: %m" msgstr "kunde inte mappa anonymt delat minne: %m" -#: port/pg_shmem.c:648 port/sysv_shmem.c:648 +#: port/pg_shmem.c:657 port/sysv_shmem.c:657 #, c-format -msgid "This error usually means that PostgreSQL's request for a shared memory segment exceeded available memory, swap space, or huge pages. To reduce the request size (currently %zu bytes), reduce PostgreSQL's shared memory usage, perhaps by reducing shared_buffers or max_connections." -msgstr "Detta fel betyder vanligtvis att PostgreSQL:s begäran av delat minnessegment överskrider mängden tillgängligt minne, swap eller stora sidor. För att minska begärd storlek (nu %zu byte) minska PostgreSQL:s användning av delat minne t.ex. genom att dra ner på shared_buffers eller max_connections." +msgid "This error usually means that PostgreSQL's request for a shared memory segment exceeded available memory, swap space, or huge pages. To reduce the request size (currently %zu bytes), reduce PostgreSQL's shared memory usage, perhaps by reducing \"shared_buffers\" or \"max_connections\"." +msgstr "Detta fel betyder vanligtvis att PostgreSQL:s begäran av delat minnessegment överskrider mängden tillgängligt minne, swap eller stora sidor. För att minska begärd storlek (nu %zu byte) minska PostgreSQL:s användning av delat minne t.ex. genom att dra ner på \"shared_buffers\" eller \"max_connections\"." -#: port/pg_shmem.c:716 port/sysv_shmem.c:716 +#: port/pg_shmem.c:725 port/sysv_shmem.c:725 #, c-format msgid "huge pages not supported on this platform" msgstr "stora sidor stöds inte på denna plattform" -#: port/pg_shmem.c:723 port/sysv_shmem.c:723 +#: port/pg_shmem.c:732 port/sysv_shmem.c:732 #, c-format -msgid "huge pages not supported with the current shared_memory_type setting" -msgstr "stora sidor stöds inte vid nuvarande inställning av shared_memory_type" +msgid "huge pages not supported with the current \"shared_memory_type\" setting" +msgstr "stora sidor stöds inte vid nuvarande inställning av \"shared_memory_type\"" -#: port/pg_shmem.c:783 port/sysv_shmem.c:783 utils/init/miscinit.c:1351 +#: port/pg_shmem.c:798 port/sysv_shmem.c:798 utils/init/miscinit.c:1347 #, c-format msgid "pre-existing shared memory block (key %lu, ID %lu) is still in use" msgstr "redan existerande delat minnesblock (nyckel %lu, ID %lu) används fortfarande" -#: port/pg_shmem.c:786 port/sysv_shmem.c:786 utils/init/miscinit.c:1353 +#: port/pg_shmem.c:801 port/sysv_shmem.c:801 utils/init/miscinit.c:1349 #, c-format msgid "Terminate any old server processes associated with data directory \"%s\"." msgstr "Stäng ner gamla serverprocesser som hör ihop med datakatalogen \"%s\"." @@ -19109,9 +19660,9 @@ msgstr "Misslyckade systemanropet var semget(%lu, %d, 0%o)." #: port/sysv_sema.c:125 #, 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" +"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 "Detta fel betyder *inte* att disken blivit full. Detta fel kommer när systemgränsen för maximalt antal semaforvektorer (SEMMNI) överskridits eller när systemets globala maximum för semaforer (SEMMNS) överskridits. Du behöver öka respektive kernel-parameter. Alternativt kan du minska PostgreSQL:s användning av semaforer genom att dra ner på parametern max_connections. PostgreSQL:s dokumentation innehåller mer information om hur du konfigurerar systemet för PostgreSQL." +msgstr "Detta fel betyder *inte* att disken blivit full. Detta fel kommer när systemgränsen för maximalt antal semaforvektorer (SEMMNI) överskridits eller när systemets globala maximum för semaforer (SEMMNS) överskridits. Du behöver öka respektive kernel-parameter. Alternativt kan du minska PostgreSQL:s användning av semaforer genom att dra ner på parametern \"max_connections\". PostgreSQL:s dokumentation innehåller mer information om hur du konfigurerar systemet för PostgreSQL." #: port/sysv_sema.c:155 #, c-format @@ -19238,972 +19789,877 @@ msgstr "Misslyckat systemanrop var DuplicateHandle." msgid "Failed system call was MapViewOfFileEx." msgstr "Misslyckat systemanrop var MapViewOfFileEx." -#: postmaster/autovacuum.c:417 -#, c-format -msgid "could not fork autovacuum launcher process: %m" -msgstr "kunde inte starta autovacuum-process: %m" - -#: postmaster/autovacuum.c:764 +#: postmaster/autovacuum.c:686 #, c-format msgid "autovacuum worker took too long to start; canceled" msgstr "autovacuum-arbetaren tog för lång tid på sig att starta; avbruten" -#: postmaster/autovacuum.c:1489 -#, c-format -msgid "could not fork autovacuum worker process: %m" -msgstr "kunde inte starta autovacuum-arbetsprocess: %m" - -#: postmaster/autovacuum.c:2334 +#: postmaster/autovacuum.c:2199 #, c-format msgid "autovacuum: dropping orphan temp table \"%s.%s.%s\"" msgstr "autovacuum: slänger övergiven temptabell \"%s.%s.%s\"" -#: postmaster/autovacuum.c:2570 +#: postmaster/autovacuum.c:2435 #, c-format msgid "automatic vacuum of table \"%s.%s.%s\"" msgstr "automatisk vacuum av tabell \"%s.%s.%s\"" -#: postmaster/autovacuum.c:2573 +#: postmaster/autovacuum.c:2438 #, c-format msgid "automatic analyze of table \"%s.%s.%s\"" msgstr "automatisk analys av tabell \"%s.%s.%s\"" -#: postmaster/autovacuum.c:2767 +#: postmaster/autovacuum.c:2632 #, c-format msgid "processing work entry for relation \"%s.%s.%s\"" msgstr "processar arbetspost för relation \"%s.%s.%s\"" -#: postmaster/autovacuum.c:3381 +#: postmaster/autovacuum.c:3250 #, c-format msgid "autovacuum not started because of misconfiguration" msgstr "autovacuum har inte startats på grund av en felkonfigurering" -#: postmaster/autovacuum.c:3382 +#: postmaster/autovacuum.c:3251 #, c-format msgid "Enable the \"track_counts\" option." msgstr "Slå på flaggan \"track_counts\"." -#: postmaster/bgworker.c:259 +#: postmaster/bgworker.c:260 #, c-format msgid "inconsistent background worker state (max_worker_processes=%d, total_slots=%d)" msgstr "inkonsistent tillstånd i bakgrundsarbetare (max_worker_processes=%d, total_slots=%d)" -#: postmaster/bgworker.c:669 +#: postmaster/bgworker.c:651 #, c-format msgid "background worker \"%s\": background workers without shared memory access are not supported" msgstr "bakgrundsarbetare \"%s\": bakgrundsarbetare utan access till delat minne stöds inte" -#: postmaster/bgworker.c:680 +#: postmaster/bgworker.c:662 #, c-format msgid "background worker \"%s\": cannot request database access if starting at postmaster start" msgstr "bakgrundsarbetare \"%s\" kan inte få databasaccess om den startar när postmaster startar" -#: postmaster/bgworker.c:694 +#: postmaster/bgworker.c:676 #, c-format msgid "background worker \"%s\": invalid restart interval" msgstr "bakgrundsarbetare \"%s\": ogiltigt omstartsintervall" -#: postmaster/bgworker.c:709 +#: postmaster/bgworker.c:691 #, c-format msgid "background worker \"%s\": parallel workers may not be configured for restart" msgstr "bakgrundsarbetare \"%s\": parallella arbetare kan inte konfigureras för omstart" -#: postmaster/bgworker.c:733 tcop/postgres.c:3255 +#: postmaster/bgworker.c:715 tcop/postgres.c:3312 #, c-format msgid "terminating background worker \"%s\" due to administrator command" msgstr "terminerar bakgrundsarbetare \"%s\" pga administratörskommando" -#: postmaster/bgworker.c:890 +#: postmaster/bgworker.c:888 #, c-format -msgid "background worker \"%s\": must be registered in shared_preload_libraries" -msgstr "bakgrundsarbetare \"%s\": måste vara registrerad i shared_preload_libraries" +msgid "background worker \"%s\": must be registered in \"shared_preload_libraries\"" +msgstr "bakgrundsarbetare \"%s\": måste vara registrerad i \"shared_preload_libraries\"" -#: postmaster/bgworker.c:902 +#: postmaster/bgworker.c:911 #, c-format msgid "background worker \"%s\": only dynamic background workers can request notification" msgstr "bakgrundsarbetare \"%s\": bara dynamiska bakgrundsarbetare kan be om notifiering" -#: postmaster/bgworker.c:917 +#: postmaster/bgworker.c:926 #, c-format msgid "too many background workers" msgstr "för många bakgrundsarbetare" -#: postmaster/bgworker.c:918 +#: postmaster/bgworker.c:927 #, c-format msgid "Up to %d background worker can be registered with the current settings." msgid_plural "Up to %d background workers can be registered with the current settings." msgstr[0] "Upp till %d bakgrundsarbetare kan registreras med nuvarande inställning." msgstr[1] "Upp till %d bakgrundsarbetare kan registreras med nuvarande inställning." -#: postmaster/bgworker.c:922 +#: postmaster/bgworker.c:931 postmaster/checkpointer.c:445 #, c-format -msgid "Consider increasing the configuration parameter \"max_worker_processes\"." -msgstr "Överväg att öka konfigurationsparametern \"max_worker_processes\"." +msgid "Consider increasing the configuration parameter \"%s\"." +msgstr "Överväg att öka konfigurationsparametern \"%s\"." -#: postmaster/checkpointer.c:431 +#: postmaster/checkpointer.c:441 #, c-format msgid "checkpoints are occurring too frequently (%d second apart)" msgid_plural "checkpoints are occurring too frequently (%d seconds apart)" msgstr[0] "checkpoint:s sker för ofta (%d sekund emellan)" msgstr[1] "checkpoint:s sker för ofta (%d sekunder emellan)" -#: postmaster/checkpointer.c:435 -#, c-format -msgid "Consider increasing the configuration parameter \"max_wal_size\"." -msgstr "Överväg att öka konfigurationsparametern \"max_wal_size\"." - -#: postmaster/checkpointer.c:1059 +#: postmaster/checkpointer.c:1067 #, c-format msgid "checkpoint request failed" msgstr "checkpoint-behgäran misslyckades" -#: postmaster/checkpointer.c:1060 +#: postmaster/checkpointer.c:1068 #, c-format msgid "Consult recent messages in the server log for details." msgstr "Se senaste meddelanden i serverloggen för mer information." -#: postmaster/pgarch.c:416 +#: postmaster/launch_backend.c:381 #, c-format -msgid "archive_mode enabled, yet archiving is not configured" -msgstr "archive_mode är påslagen, men ändå är arkivering inte konfigurerad" +msgid "could not execute server process \"%s\": %m" +msgstr "kunde inte köra serverprocess \"%s\": %m" -#: postmaster/pgarch.c:438 +#: postmaster/launch_backend.c:434 #, c-format -msgid "removed orphan archive status file \"%s\"" -msgstr "tog bort övergiven arkivstatusfil \"%s\": %m" +msgid "could not create backend parameter file mapping: error code %lu" +msgstr "kunde inte skapa fil-mapping för backend-parametrar: felkod %lu" -#: postmaster/pgarch.c:448 +#: postmaster/launch_backend.c:442 #, c-format -msgid "removal of orphan archive status file \"%s\" failed too many times, will try again later" -msgstr "borttagning av övergiven arkivstatusfil \"%s\" misslyckades för många gånger, kommer försöka igen senare" +msgid "could not map backend parameter memory: error code %lu" +msgstr "kunde inte mappa minne för backend-parametrar: felkod %lu" -#: postmaster/pgarch.c:484 +#: postmaster/launch_backend.c:459 #, c-format -msgid "archiving write-ahead log file \"%s\" failed too many times, will try again later" -msgstr "arkivering av write-ahead-logg-fil \"%s\" misslyckades för många gånger, kommer försöka igen senare" +msgid "subprocess command line too long" +msgstr "subprocessens kommando är för långt" -#: postmaster/pgarch.c:791 postmaster/pgarch.c:830 +#: postmaster/launch_backend.c:477 #, c-format -msgid "both archive_command and archive_library set" -msgstr "både archive_command och archive_library är satt" +msgid "CreateProcess() call failed: %m (error code %lu)" +msgstr "Anrop till CreateProcess() misslyckades: %m (felkod %lu)" -#: postmaster/pgarch.c:792 postmaster/pgarch.c:831 +#: postmaster/launch_backend.c:504 #, c-format -msgid "Only one of archive_command, archive_library may be set." -msgstr "Bara en av archive_command och archive_library får sättas." +msgid "could not unmap view of backend parameter file: error code %lu" +msgstr "kunde inte avmappa vy för backend:ens parameterfil: felkod %lu" + +#: postmaster/launch_backend.c:508 +#, c-format +msgid "could not close handle to backend parameter file: error code %lu" +msgstr "kunde inte stänga \"handle\" till backend:ens parameterfil: felkod %lu" + +#: postmaster/launch_backend.c:530 +#, c-format +msgid "giving up after too many tries to reserve shared memory" +msgstr "ger upp efter för många försök att reservera delat minne" + +#: postmaster/launch_backend.c:531 +#, c-format +msgid "This might be caused by ASLR or antivirus software." +msgstr "Detta kan orsakas av ASLR eller antivirusprogram." + +#: postmaster/launch_backend.c:834 +#, c-format +msgid "could not duplicate socket %d for use in backend: error code %d" +msgstr "kunde inte duplicera uttag (socket) %d för att använda i backend: felkod %d" + +#: postmaster/launch_backend.c:866 +#, c-format +msgid "could not create inherited socket: error code %d\n" +msgstr "kunde inte skapa ärvt uttag (socket): felkod %d\n" + +#: postmaster/launch_backend.c:895 +#, c-format +msgid "could not open backend variables file \"%s\": %m\n" +msgstr "kunde inte öppna bakändans variabelfil \"%s\": %m\n" + +#: postmaster/launch_backend.c:901 +#, c-format +msgid "could not read from backend variables file \"%s\": %m\n" +msgstr "kunde inte läsa från bakändans variabelfil \"%s\": %m\n" + +#: postmaster/launch_backend.c:912 +#, c-format +msgid "could not read startup data from backend variables file \"%s\": %m\n" +msgstr "kunde inte uppstartsdata från bakändans variabelfil \"%s\": %m\n" + +#: postmaster/launch_backend.c:924 +#, c-format +msgid "could not remove file \"%s\": %m\n" +msgstr "kunde inte ta bort fil \"%s\": %m\n" + +#: postmaster/launch_backend.c:940 +#, c-format +msgid "could not map view of backend variables: error code %lu\n" +msgstr "kunde inte mappa in vy för bakgrundsvariabler: felkod %lu\n" + +#: postmaster/launch_backend.c:959 +#, c-format +msgid "could not unmap view of backend variables: error code %lu\n" +msgstr "kunde inte avmappa vy för bakgrundsvariabler: felkod %lu\n" + +#: postmaster/launch_backend.c:966 +#, c-format +msgid "could not close handle to backend parameter variables: error code %lu\n" +msgstr "kunde inte stänga \"handle\" till backend:ens parametervariabler: felkod %lu\n" + +#: postmaster/pgarch.c:428 +#, c-format +msgid "\"archive_mode\" enabled, yet archiving is not configured" +msgstr "\"archive_mode\" är påslagen, men ändå är arkivering inte konfigurerad" + +#: postmaster/pgarch.c:452 +#, c-format +msgid "removed orphan archive status file \"%s\"" +msgstr "tog bort övergiven arkivstatusfil \"%s\": %m" -#: postmaster/pgarch.c:809 +#: postmaster/pgarch.c:462 +#, c-format +msgid "removal of orphan archive status file \"%s\" failed too many times, will try again later" +msgstr "borttagning av övergiven arkivstatusfil \"%s\" misslyckades för många gånger, kommer försöka igen senare" + +#: postmaster/pgarch.c:498 +#, c-format +msgid "archiving write-ahead log file \"%s\" failed too many times, will try again later" +msgstr "arkivering av write-ahead-logg-fil \"%s\" misslyckades för många gånger, kommer försöka igen senare" + +#: postmaster/pgarch.c:879 postmaster/pgarch.c:918 +#, c-format +msgid "both \"archive_command\" and \"archive_library\" set" +msgstr "både \"archive_command\" och \"archive_library\" är satt" + +#: postmaster/pgarch.c:880 postmaster/pgarch.c:919 +#, c-format +msgid "Only one of \"archive_command\", \"archive_library\" may be set." +msgstr "Bara en av \"archive_command\" och \"archive_library\" får sättas." + +#: postmaster/pgarch.c:897 #, c-format msgid "restarting archiver process because value of \"archive_library\" was changed" msgstr "startar om arkiveringsprocess då värdet på \"archive_library\" har ändrats" -#: postmaster/pgarch.c:846 +#: postmaster/pgarch.c:934 #, c-format msgid "archive modules have to define the symbol %s" msgstr "arkiveringsmoduler måste definiera symbolen %s" -#: postmaster/pgarch.c:852 +#: postmaster/pgarch.c:940 #, c-format msgid "archive modules must register an archive callback" msgstr "arkiveringsmoduler måste registrera en arkiverings-callback" -#: postmaster/postmaster.c:759 +#: postmaster/postmaster.c:661 #, c-format msgid "%s: invalid argument for option -f: \"%s\"\n" msgstr "%s: ogiltigt argument till flagga -f: \"%s\"\n" -#: postmaster/postmaster.c:832 +#: postmaster/postmaster.c:734 #, c-format msgid "%s: invalid argument for option -t: \"%s\"\n" msgstr "%s: ogiltigt argument till flagga -t: \"%s\"\n" -#: postmaster/postmaster.c:855 +#: postmaster/postmaster.c:757 #, c-format msgid "%s: invalid argument: \"%s\"\n" msgstr "%s: ogiltigt argument: \"%s\"\n" -#: postmaster/postmaster.c:923 +#: postmaster/postmaster.c:825 +#, c-format +msgid "%s: \"superuser_reserved_connections\" (%d) plus \"reserved_connections\" (%d) must be less than \"max_connections\" (%d)\n" +msgstr "%s: \"superuser_reserved_connections\" (%d) plus \"reserved_connections\" (%d) måste vara mindre än \"max_connections\" (%d)\n" + +#: postmaster/postmaster.c:833 #, c-format -msgid "%s: superuser_reserved_connections (%d) plus reserved_connections (%d) must be less than max_connections (%d)\n" -msgstr "%s: superuser_reserved_connections (%d) plus reserved_connections (%d) måste vara mindre än max_connections (%d)\n" +msgid "WAL archival cannot be enabled when \"wal_level\" is \"minimal\"" +msgstr "WAL-arkivering kan inte slås på när \"wal_level\" är \"minimal\"" -#: postmaster/postmaster.c:931 +#: postmaster/postmaster.c:836 #, c-format -msgid "WAL archival cannot be enabled when wal_level is \"minimal\"" -msgstr "WAL-arkivering kan inte slås på när wal_level är \"minimal\"" +msgid "WAL streaming (\"max_wal_senders\" > 0) requires \"wal_level\" to be \"replica\" or \"logical\"" +msgstr "WAL-strömning (\"max_wal_senders\" > 0) kräver att \"wal_level\" är \"replica\" eller \"logical\"" -#: postmaster/postmaster.c:934 +#: postmaster/postmaster.c:839 #, c-format -msgid "WAL streaming (max_wal_senders > 0) requires wal_level \"replica\" or \"logical\"" -msgstr "WAL-strömning (max_wal_senders > 0) kräver wal_level \"replica\" eller \"logical\"" +msgid "WAL cannot be summarized when \"wal_level\" is \"minimal\"" +msgstr "WAL kan inte summeras när \"wal_level\" är \"minimal\"" -#: postmaster/postmaster.c:942 +#: postmaster/postmaster.c:847 #, c-format msgid "%s: invalid datetoken tables, please fix\n" msgstr "%s: ogiltiga datumtokentabeller, det behöver lagas\n" -#: postmaster/postmaster.c:1099 +#: postmaster/postmaster.c:1004 #, 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:1175 +#: postmaster/postmaster.c:1069 #, c-format msgid "ending log output to stderr" msgstr "avslutar loggutmatning till stderr" -#: postmaster/postmaster.c:1176 +#: postmaster/postmaster.c:1070 #, c-format msgid "Future log output will go to log destination \"%s\"." msgstr "Framtida loggutmatning kommer gå till logg-destination \"%s\"." -#: postmaster/postmaster.c:1187 +#: postmaster/postmaster.c:1081 #, c-format msgid "starting %s" msgstr "startar %s" -#: postmaster/postmaster.c:1239 +#: postmaster/postmaster.c:1143 #, c-format msgid "could not create listen socket for \"%s\"" msgstr "kunde inte skapa lyssnande uttag (socket) för \"%s\"" -#: postmaster/postmaster.c:1245 +#: postmaster/postmaster.c:1149 #, c-format msgid "could not create any TCP/IP sockets" msgstr "kunde inte skapa TCP/IP-uttag (socket)" -#: postmaster/postmaster.c:1277 +#: postmaster/postmaster.c:1181 #, c-format msgid "DNSServiceRegister() failed: error code %ld" msgstr "DNSServiceRegister() misslyckades: felkod %ld" -#: postmaster/postmaster.c:1328 +#: postmaster/postmaster.c:1234 #, 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:1334 +#: postmaster/postmaster.c:1240 #, c-format msgid "could not create any Unix-domain sockets" msgstr "kunde inte skapa något Unix-domän-uttag (socket)" -#: postmaster/postmaster.c:1345 +#: postmaster/postmaster.c:1251 #, c-format msgid "no socket created for listening" msgstr "inget uttag (socket) skapat för lyssnande" -#: postmaster/postmaster.c:1376 +#: postmaster/postmaster.c:1282 #, c-format -msgid "%s: could not change permissions of external PID file \"%s\": %s\n" -msgstr "%s: kunde inte ändra rättigheter på extern PID-fil \"%s\": %s\n" +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:1380 +#: postmaster/postmaster.c:1286 #, c-format -msgid "%s: could not write external PID file \"%s\": %s\n" -msgstr "%s: kunde inte skriva extern PID-fil \"%s\": %s\n" +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:1408 utils/init/postinit.c:221 +#: postmaster/postmaster.c:1314 utils/init/postinit.c:221 #, c-format msgid "could not load %s" msgstr "kunde inte ladda \"%s\"" -#: postmaster/postmaster.c:1434 +#: postmaster/postmaster.c:1340 #, c-format msgid "postmaster became multithreaded during startup" msgstr "postmaster blev flertrådad under uppstart" -#: postmaster/postmaster.c:1435 +#: postmaster/postmaster.c:1341 #, 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:1536 +#: postmaster/postmaster.c:1440 #, 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:1543 +#: postmaster/postmaster.c:1447 #, c-format msgid "%s: could not locate matching postgres executable" msgstr "%s: kunde inte hitta matchande postgres-binär" -#: postmaster/postmaster.c:1566 utils/misc/tzparser.c:340 +#: postmaster/postmaster.c:1470 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:1593 +#: postmaster/postmaster.c:1497 #, c-format msgid "" "%s: could not find the database system\n" "Expected to find it in the directory \"%s\",\n" -"but could not open file \"%s\": %s\n" +"but could not open file \"%s\": %m\n" msgstr "" "%s: kunde inte hitta databassystemet\n" "Förväntade mig att hitta det i katalogen \"%s\",\n" -"men kunde inte öppna filen \"%s\": %s\n" +"men kunde inte öppna filen \"%s\": %m\n" #. translator: %s is SIGKILL or SIGABRT -#: postmaster/postmaster.c:1890 +#: postmaster/postmaster.c:1787 #, c-format msgid "issuing %s to recalcitrant children" msgstr "skickar %s till motsträviga barn" -#: postmaster/postmaster.c:1912 +#: postmaster/postmaster.c:1809 #, 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:1987 postmaster/postmaster.c:2015 -#, c-format -msgid "incomplete startup packet" -msgstr "ofullständigt startuppaket" - -#: postmaster/postmaster.c:1999 postmaster/postmaster.c:2032 -#, c-format -msgid "invalid length of startup packet" -msgstr "ogiltig längd på startuppaket" - -#: postmaster/postmaster.c:2061 -#, c-format -msgid "failed to send SSL negotiation response: %m" -msgstr "misslyckades att skicka SSL-förhandlingssvar: %m" - -#: postmaster/postmaster.c:2079 -#, c-format -msgid "received unencrypted data after SSL request" -msgstr "tog emot okrypterad data efter SSL-förfrågan" - -#: postmaster/postmaster.c:2080 postmaster/postmaster.c:2124 -#, c-format -msgid "This could be either a client-software bug or evidence of an attempted man-in-the-middle attack." -msgstr "Detta kan antingen vara en bug i klientens mjukvara eller bevis på ett försök att utföra en attack av typen man-in-the-middle." - -#: postmaster/postmaster.c:2105 -#, c-format -msgid "failed to send GSSAPI negotiation response: %m" -msgstr "misslyckades att skicka GSSAPI-förhandlingssvar: %m" - -#: postmaster/postmaster.c:2123 -#, c-format -msgid "received unencrypted data after GSSAPI encryption request" -msgstr "tog emot okrypterad data efter GSSAPI-krypteringsförfrågan" - -#: postmaster/postmaster.c:2147 -#, c-format -msgid "unsupported frontend protocol %u.%u: server supports %u.0 to %u.%u" -msgstr "inget stöd för framändans protokoll %u.%u: servern stöder %u.0 till %u.%u" - -#: postmaster/postmaster.c:2214 -#, c-format -msgid "Valid values are: \"false\", 0, \"true\", 1, \"database\"." -msgstr "Giltiga värden är: \"false\", 0, \"true\", 1, \"database\"." - -#: postmaster/postmaster.c:2255 -#, c-format -msgid "invalid startup packet layout: expected terminator as last byte" -msgstr "ogiltig startpaketlayout: förväntade en terminator som sista byte" - -#: postmaster/postmaster.c:2272 -#, c-format -msgid "no PostgreSQL user name specified in startup packet" -msgstr "inget PostgreSQL-användarnamn angivet i startuppaketet" - -#: postmaster/postmaster.c:2336 -#, c-format -msgid "the database system is starting up" -msgstr "databassystemet startar upp" - -#: postmaster/postmaster.c:2342 -#, c-format -msgid "the database system is not yet accepting connections" -msgstr "databassystemet tar ännu inte emot anslutningar" - -#: postmaster/postmaster.c:2343 -#, c-format -msgid "Consistent recovery state has not been yet reached." -msgstr "Konsistent återställningstillstånd har ännu inte uppnåtts." - -#: postmaster/postmaster.c:2347 -#, c-format -msgid "the database system is not accepting connections" -msgstr "databassystemet tar inte emot anslutningar" - -#: postmaster/postmaster.c:2348 -#, c-format -msgid "Hot standby mode is disabled." -msgstr "Hot standby-läge är avstängt." - -#: postmaster/postmaster.c:2353 -#, c-format -msgid "the database system is shutting down" -msgstr "databassystemet stänger ner" - -#: postmaster/postmaster.c:2358 -#, c-format -msgid "the database system is in recovery mode" -msgstr "databassystemet är återställningsläge" - -#: postmaster/postmaster.c:2363 storage/ipc/procarray.c:491 -#: storage/ipc/sinvaladt.c:306 storage/lmgr/proc.c:353 -#, c-format -msgid "sorry, too many clients already" -msgstr "ledsen, för många klienter" - -#: postmaster/postmaster.c:2450 +#: postmaster/postmaster.c:1872 #, c-format msgid "wrong key in cancel request for process %d" msgstr "fel nyckel i avbrytbegäran för process %d" -#: postmaster/postmaster.c:2462 +#: postmaster/postmaster.c:1884 #, 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:2729 +#: postmaster/postmaster.c:2105 #, c-format msgid "received SIGHUP, reloading configuration files" msgstr "mottog SIGHUP, läser om konfigurationsfiler" #. translator: %s is a configuration file -#: postmaster/postmaster.c:2753 postmaster/postmaster.c:2757 +#: postmaster/postmaster.c:2133 postmaster/postmaster.c:2137 #, c-format msgid "%s was not reloaded" msgstr "%s laddades inte om" -#: postmaster/postmaster.c:2767 +#: postmaster/postmaster.c:2147 #, c-format msgid "SSL configuration was not reloaded" msgstr "SSL-konfiguration laddades inte om" -#: postmaster/postmaster.c:2857 +#: postmaster/postmaster.c:2233 #, c-format msgid "received smart shutdown request" msgstr "tog emot förfrågan om att stänga ner smart" -#: postmaster/postmaster.c:2898 +#: postmaster/postmaster.c:2274 #, c-format msgid "received fast shutdown request" msgstr "tog emot förfrågan om att stänga ner snabbt" -#: postmaster/postmaster.c:2916 +#: postmaster/postmaster.c:2292 #, c-format msgid "aborting any active transactions" msgstr "avbryter aktiva transaktioner" -#: postmaster/postmaster.c:2940 +#: postmaster/postmaster.c:2316 #, c-format msgid "received immediate shutdown request" msgstr "mottog begäran för omedelbar nedstängning" -#: postmaster/postmaster.c:3016 +#: postmaster/postmaster.c:2388 #, c-format msgid "shutdown at recovery target" msgstr "nedstängs vid återställningsmål" -#: postmaster/postmaster.c:3034 postmaster/postmaster.c:3070 +#: postmaster/postmaster.c:2406 postmaster/postmaster.c:2442 msgid "startup process" msgstr "uppstartprocess" -#: postmaster/postmaster.c:3037 +#: postmaster/postmaster.c:2409 #, c-format msgid "aborting startup due to startup process failure" msgstr "avbryter uppstart på grund av fel i startprocessen" -#: postmaster/postmaster.c:3110 +#: postmaster/postmaster.c:2484 #, c-format msgid "database system is ready to accept connections" msgstr "databassystemet är redo att ta emot anslutningar" -#: postmaster/postmaster.c:3131 +#: postmaster/postmaster.c:2505 msgid "background writer process" msgstr "bakgrundsskrivarprocess" -#: postmaster/postmaster.c:3178 +#: postmaster/postmaster.c:2552 msgid "checkpointer process" msgstr "checkpoint-process" -#: postmaster/postmaster.c:3194 +#: postmaster/postmaster.c:2568 msgid "WAL writer process" msgstr "WAL-skrivarprocess" -#: postmaster/postmaster.c:3209 +#: postmaster/postmaster.c:2583 msgid "WAL receiver process" msgstr "WAL-mottagarprocess" -#: postmaster/postmaster.c:3224 +#: postmaster/postmaster.c:2597 +msgid "WAL summarizer process" +msgstr "WAL-summeringsprocess" + +#: postmaster/postmaster.c:2612 msgid "autovacuum launcher process" msgstr "autovacuum-startprocess" -#: postmaster/postmaster.c:3242 +#: postmaster/postmaster.c:2630 msgid "archiver process" msgstr "arkiveringsprocess" -#: postmaster/postmaster.c:3255 +#: postmaster/postmaster.c:2643 msgid "system logger process" msgstr "system-logg-process" -#: postmaster/postmaster.c:3312 +#: postmaster/postmaster.c:2660 +msgid "slot sync worker process" +msgstr "arbetarprocess för slotsynkronisering" + +#: postmaster/postmaster.c:2716 #, c-format msgid "background worker \"%s\"" msgstr "bakgrundsarbetare \"%s\"" -#: postmaster/postmaster.c:3391 postmaster/postmaster.c:3411 -#: postmaster/postmaster.c:3418 postmaster/postmaster.c:3436 +#: postmaster/postmaster.c:2795 postmaster/postmaster.c:2815 +#: postmaster/postmaster.c:2822 postmaster/postmaster.c:2840 msgid "server process" msgstr "serverprocess" -#: postmaster/postmaster.c:3490 +#: postmaster/postmaster.c:2894 #, 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:3665 +#: postmaster/postmaster.c:3081 #, c-format msgid "%s (PID %d) exited with exit code %d" msgstr "%s (PID %d) avslutade med felkod %d" -#: postmaster/postmaster.c:3667 postmaster/postmaster.c:3679 -#: postmaster/postmaster.c:3689 postmaster/postmaster.c:3700 +#: postmaster/postmaster.c:3083 postmaster/postmaster.c:3095 +#: postmaster/postmaster.c:3105 postmaster/postmaster.c:3116 #, 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:3676 +#: postmaster/postmaster.c:3092 #, 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:3686 +#: postmaster/postmaster.c:3102 #, 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:3698 +#: postmaster/postmaster.c:3114 #, c-format msgid "%s (PID %d) exited with unrecognized status %d" msgstr "%s (PID %d) avslutade med okänd status %d" -#: postmaster/postmaster.c:3906 +#: postmaster/postmaster.c:3330 #, c-format msgid "abnormal database system shutdown" msgstr "ej normal databasnedstängning" -#: postmaster/postmaster.c:3932 +#: postmaster/postmaster.c:3356 #, c-format msgid "shutting down due to startup process failure" msgstr "stänger ner på grund av fel i startprocessen" -#: postmaster/postmaster.c:3938 +#: postmaster/postmaster.c:3362 #, c-format -msgid "shutting down because restart_after_crash is off" -msgstr "stänger ner då restart_after_crash är av" +msgid "shutting down because \"restart_after_crash\" is off" +msgstr "stänger ner då \"restart_after_crash\" är av" -#: postmaster/postmaster.c:3950 +#: postmaster/postmaster.c:3374 #, c-format msgid "all server processes terminated; reinitializing" msgstr "alla serverprocesser är avslutade; initierar på nytt" -#: postmaster/postmaster.c:4144 postmaster/postmaster.c:5462 -#: postmaster/postmaster.c:5860 +#: postmaster/postmaster.c:3573 postmaster/postmaster.c:3983 +#: postmaster/postmaster.c:4372 #, c-format msgid "could not generate random cancel key" msgstr "kunde inte skapa slumpad avbrytningsnyckel" -#: postmaster/postmaster.c:4206 +#: postmaster/postmaster.c:3606 #, c-format msgid "could not fork new process for connection: %m" msgstr "kunde inte fork():a ny process for uppkoppling: %m" -#: postmaster/postmaster.c:4248 +#: postmaster/postmaster.c:3648 msgid "could not fork new process for connection: " msgstr "kunde inte fork():a ny process for uppkoppling: " -#: postmaster/postmaster.c:4354 -#, c-format -msgid "connection received: host=%s port=%s" -msgstr "ansluting mottagen: värd=%s port=%s" - -#: postmaster/postmaster.c:4359 -#, c-format -msgid "connection received: host=%s" -msgstr "ansluting mottagen: värd=%s" - -#: postmaster/postmaster.c:4596 -#, c-format -msgid "could not execute server process \"%s\": %m" -msgstr "kunde inte köra serverprocess \"%s\": %m" - -#: postmaster/postmaster.c:4654 -#, c-format -msgid "could not create backend parameter file mapping: error code %lu" -msgstr "kunde inte skapa fil-mapping för backend-parametrar: felkod %lu" - -#: postmaster/postmaster.c:4663 -#, c-format -msgid "could not map backend parameter memory: error code %lu" -msgstr "kunde inte mappa minne för backend-parametrar: felkod %lu" - -#: postmaster/postmaster.c:4690 -#, c-format -msgid "subprocess command line too long" -msgstr "subprocessens kommando är för långt" - -#: postmaster/postmaster.c:4708 -#, c-format -msgid "CreateProcess() call failed: %m (error code %lu)" -msgstr "Anrop till CreateProcess() misslyckades: %m (felkod %lu)" - -#: postmaster/postmaster.c:4735 -#, c-format -msgid "could not unmap view of backend parameter file: error code %lu" -msgstr "kunde inte avmappa vy för backend:ens parameterfil: felkod %lu" - -#: postmaster/postmaster.c:4739 -#, c-format -msgid "could not close handle to backend parameter file: error code %lu" -msgstr "kunde inte stänga \"handle\" till backend:ens parameterfil: felkod %lu" - -#: postmaster/postmaster.c:4761 -#, c-format -msgid "giving up after too many tries to reserve shared memory" -msgstr "ger upp efter för många försök att reservera delat minne" - -#: postmaster/postmaster.c:4762 -#, c-format -msgid "This might be caused by ASLR or antivirus software." -msgstr "Detta kan orsakas av ASLR eller antivirusprogram." - -#: postmaster/postmaster.c:4935 -#, c-format -msgid "SSL configuration could not be loaded in child process" -msgstr "SSL-konfigurering kunde inte laddas i barnprocess" - -#: postmaster/postmaster.c:5060 +#: postmaster/postmaster.c:3682 #, c-format msgid "Please report this to <%s>." msgstr "Rapportera gärna detta till <%s>." -#: postmaster/postmaster.c:5128 +#: postmaster/postmaster.c:3750 #, 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:5386 -#, c-format -msgid "could not fork startup process: %m" -msgstr "kunde inte starta startup-processen: %m" - -#: postmaster/postmaster.c:5390 -#, c-format -msgid "could not fork archiver process: %m" -msgstr "kunde inte fork:a arkivprocess: %m" - -#: postmaster/postmaster.c:5394 -#, c-format -msgid "could not fork background writer process: %m" -msgstr "kunde inte starta process för bakgrundsskrivare: %m" - -#: postmaster/postmaster.c:5398 +#: postmaster/postmaster.c:3933 #, c-format -msgid "could not fork checkpointer process: %m" -msgstr "kunde inte fork:a bakgrundsprocess: %m" +msgid "could not fork \"%s\" process: %m" +msgstr "kunde inte fork:a \"%s\"-process: %m" -#: postmaster/postmaster.c:5402 -#, c-format -msgid "could not fork WAL writer process: %m" -msgstr "kunde inte fork:a WAL-skrivprocess: %m" - -#: postmaster/postmaster.c:5406 -#, c-format -msgid "could not fork WAL receiver process: %m" -msgstr "kunde inte fork:a WAL-mottagarprocess: %m" - -#: postmaster/postmaster.c:5410 -#, c-format -msgid "could not fork process: %m" -msgstr "kunde inte fork:a process: %m" - -#: postmaster/postmaster.c:5611 postmaster/postmaster.c:5638 +#: postmaster/postmaster.c:4171 postmaster/postmaster.c:4205 #, c-format msgid "database connection requirement not indicated during registration" msgstr "krav på databasanslutning fanns inte med vid registering" -#: postmaster/postmaster.c:5622 postmaster/postmaster.c:5649 +#: postmaster/postmaster.c:4181 postmaster/postmaster.c:4215 #, c-format msgid "invalid processing mode in background worker" msgstr "ogiltigt processläge i bakgrundsarbetare" -#: postmaster/postmaster.c:5734 -#, c-format -msgid "could not fork worker process: %m" -msgstr "kunde inte starta (fork) arbetarprocess: %m" - -#: postmaster/postmaster.c:5846 -#, c-format -msgid "no slot available for new worker process" -msgstr "ingen slot tillgänglig för ny arbetsprocess" - -#: postmaster/postmaster.c:6177 -#, c-format -msgid "could not duplicate socket %d for use in backend: error code %d" -msgstr "kunde inte duplicera uttag (socket) %d för att använda i backend: felkod %d" - -#: postmaster/postmaster.c:6209 -#, c-format -msgid "could not create inherited socket: error code %d\n" -msgstr "kunde inte skapa ärvt uttag (socket): felkod %d\n" - -#: postmaster/postmaster.c:6238 -#, c-format -msgid "could not open backend variables file \"%s\": %s\n" -msgstr "kunde inte öppna bakändans variabelfil \"%s\": %s\n" - -#: postmaster/postmaster.c:6245 -#, c-format -msgid "could not read from backend variables file \"%s\": %s\n" -msgstr "kunde inte läsa från bakändans variabelfil \"%s\": %s\n" - -#: postmaster/postmaster.c:6254 -#, c-format -msgid "could not remove file \"%s\": %s\n" -msgstr "kunde inte ta bort fil \"%s\": %s\n" - -#: postmaster/postmaster.c:6271 +#: postmaster/postmaster.c:4275 #, c-format -msgid "could not map view of backend variables: error code %lu\n" -msgstr "kunde inte mappa in vy för bakgrundsvariabler: felkod %lu\n" - -#: postmaster/postmaster.c:6280 -#, c-format -msgid "could not unmap view of backend variables: error code %lu\n" -msgstr "kunde inte avmappa vy för bakgrundsvariabler: felkod %lu\n" +msgid "could not fork background worker process: %m" +msgstr "kunde inte fork:a process för bakgrundsarbete: %m" -#: postmaster/postmaster.c:6287 +#: postmaster/postmaster.c:4358 #, c-format -msgid "could not close handle to backend parameter variables: error code %lu\n" -msgstr "kunde inte stänga \"handle\" till backend:ens parametervariabler: felkod %lu\n" +msgid "no slot available for new background worker process" +msgstr "ingen slot tillgänglig till ny process för bakgrundsarbete" -#: postmaster/postmaster.c:6446 +#: postmaster/postmaster.c:4621 #, c-format msgid "could not read exit code for process\n" msgstr "kunde inte läsa avslutningskod för process\n" -#: postmaster/postmaster.c:6488 +#: postmaster/postmaster.c:4663 #, c-format msgid "could not post child completion status\n" msgstr "kunde inte skicka barnets avslutningsstatus\n" -#: postmaster/syslogger.c:501 postmaster/syslogger.c:1222 +#: postmaster/syslogger.c:529 postmaster/syslogger.c:1173 #, c-format msgid "could not read from logger pipe: %m" msgstr "kunde inte läsa från loggrör (pipe): %m" -#: postmaster/syslogger.c:598 postmaster/syslogger.c:612 +#: postmaster/syslogger.c:629 postmaster/syslogger.c:643 #, c-format msgid "could not create pipe for syslog: %m" msgstr "kunde inte skapa rör (pipe) för syslog: %m" -#: postmaster/syslogger.c:677 +#: postmaster/syslogger.c:712 #, c-format msgid "could not fork system logger: %m" msgstr "kunde inte fork:a systemloggaren: %m" -#: postmaster/syslogger.c:713 +#: postmaster/syslogger.c:731 #, c-format msgid "redirecting log output to logging collector process" msgstr "omdirigerar loggutmatning till logginsamlingsprocess" -#: postmaster/syslogger.c:714 +#: postmaster/syslogger.c:732 #, c-format msgid "Future log output will appear in directory \"%s\"." msgstr "Framtida loggutmatning kommer dyka upp i katalog \"%s\"." -#: postmaster/syslogger.c:722 +#: postmaster/syslogger.c:740 #, c-format msgid "could not redirect stdout: %m" msgstr "kunde inte omdirigera stdout: %m" -#: postmaster/syslogger.c:727 postmaster/syslogger.c:744 +#: postmaster/syslogger.c:745 postmaster/syslogger.c:762 #, c-format msgid "could not redirect stderr: %m" msgstr "kunde inte omdirigera stderr: %m" -#: postmaster/syslogger.c:1177 +#: postmaster/syslogger.c:1128 #, c-format -msgid "could not write to log file: %s\n" -msgstr "kunde inte skriva till loggfil: %s\n" +msgid "could not write to log file: %m\n" +msgstr "kunde inte skriva till loggfil: %m\n" -#: postmaster/syslogger.c:1295 +#: postmaster/syslogger.c:1246 #, c-format msgid "could not open log file \"%s\": %m" msgstr "kunde inte öppna loggfil \"%s\": %m" -#: postmaster/syslogger.c:1385 +#: postmaster/syslogger.c:1336 #, c-format msgid "disabling automatic rotation (use SIGHUP to re-enable)" msgstr "stänger av automatisk rotation (använd SIGHUP för att slå på igen)" -#: regex/regc_pg_locale.c:242 +#: postmaster/walsummarizer.c:740 +#, c-format +msgid "WAL summarization is not progressing" +msgstr "WAL-summering avancerar inte" + +#: postmaster/walsummarizer.c:741 +#, c-format +msgid "Summarization is needed through %X/%X, but is stuck at %X/%X on disk and %X/%X in memory." +msgstr "Summering krävs till %X/%X men har fastnat vid %X/%X på disk och vid %X/%X i minnet." + +#: postmaster/walsummarizer.c:755 +#, c-format +msgid "still waiting for WAL summarization through %X/%X after %ld second" +msgid_plural "still waiting for WAL summarization through %X/%X after %ld seconds" +msgstr[0] "väntar fortfarande på WAL-summering till %X/%X efter %ld sekund" +msgstr[1] "väntar fortfarande på WAL-summering till %X/%X efter %ld sekunder" + +#: postmaster/walsummarizer.c:760 +#, c-format +msgid "Summarization has reached %X/%X on disk and %X/%X in memory." +msgstr "Summering har nått %X/%X på disk och %X/%X i minnet." + +#: postmaster/walsummarizer.c:1000 +#, c-format +msgid "could not find a valid record after %X/%X" +msgstr "kunde inte hitta en giltig post efter %X/%X" + +#: postmaster/walsummarizer.c:1045 +#, c-format +msgid "could not read WAL from timeline %u at %X/%X: %s" +msgstr "kunde inte läsa WAL från tidslinje %u vid %X/%X: %s" + +#: postmaster/walsummarizer.c:1051 +#, c-format +msgid "could not read WAL from timeline %u at %X/%X" +msgstr "kunde inte läsa WAL från tidslinje %u vid %X/%X" + +#: regex/regc_pg_locale.c:244 #, c-format msgid "could not determine which collation to use for regular expression" msgstr "kunde inte bestämma vilken jämförelse (collation) som skall användas för reguljära uttryck" -#: regex/regc_pg_locale.c:265 +#: regex/regc_pg_locale.c:262 #, c-format msgid "nondeterministic collations are not supported for regular expressions" msgstr "ickedeterministiska jämförelser (collation) stöds inte för reguljära uttryck" -#: repl_gram.y:301 repl_gram.y:333 +#: repl_gram.y:318 repl_gram.y:359 #, c-format msgid "invalid timeline %u" msgstr "ogiltig tidslinje %u" -#: repl_scanner.l:152 +#: repl_scanner.l:154 msgid "invalid streaming start location" msgstr "ogiltig startposition för strömning" -#: replication/libpqwalreceiver/libpqwalreceiver.c:197 -#: replication/libpqwalreceiver/libpqwalreceiver.c:280 +#: replication/libpqwalreceiver/libpqwalreceiver.c:267 +#: replication/libpqwalreceiver/libpqwalreceiver.c:358 #, c-format msgid "password is required" msgstr "lösenord krävs" -#: replication/libpqwalreceiver/libpqwalreceiver.c:198 +#: replication/libpqwalreceiver/libpqwalreceiver.c:268 #, 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:199 +#: replication/libpqwalreceiver/libpqwalreceiver.c:269 #, 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:211 +#: replication/libpqwalreceiver/libpqwalreceiver.c:285 #, c-format msgid "could not clear search path: %s" msgstr "kunde inte nollställa sökväg: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:257 +#: replication/libpqwalreceiver/libpqwalreceiver.c:331 +#: replication/libpqwalreceiver/libpqwalreceiver.c:517 #, c-format msgid "invalid connection string syntax: %s" msgstr "ogiltig anslutningssträngsyntax %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:281 +#: replication/libpqwalreceiver/libpqwalreceiver.c:359 #, 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:307 +#: replication/libpqwalreceiver/libpqwalreceiver.c:386 #, c-format msgid "could not parse connection string: %s" msgstr "kunde inte parsa anslutningssträng: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:380 +#: replication/libpqwalreceiver/libpqwalreceiver.c:459 #, 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:392 -#: replication/libpqwalreceiver/libpqwalreceiver.c:635 +#: replication/libpqwalreceiver/libpqwalreceiver.c:476 +#: replication/libpqwalreceiver/libpqwalreceiver.c:763 #, c-format msgid "invalid response from primary server" msgstr "ogiltigt svar från primär server" -#: replication/libpqwalreceiver/libpqwalreceiver.c:393 +#: replication/libpqwalreceiver/libpqwalreceiver.c:477 #, 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:478 -#: replication/libpqwalreceiver/libpqwalreceiver.c:485 -#: replication/libpqwalreceiver/libpqwalreceiver.c:515 +#: replication/libpqwalreceiver/libpqwalreceiver.c:606 +#: replication/libpqwalreceiver/libpqwalreceiver.c:613 +#: replication/libpqwalreceiver/libpqwalreceiver.c:643 #, c-format msgid "could not start WAL streaming: %s" msgstr "kunde inte starta WAL-strömning: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:539 +#: replication/libpqwalreceiver/libpqwalreceiver.c:667 #, 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:562 +#: replication/libpqwalreceiver/libpqwalreceiver.c:690 #, c-format msgid "unexpected result set after end-of-streaming" msgstr "oväntad resultatmängd efter end-of-streaming" -#: replication/libpqwalreceiver/libpqwalreceiver.c:577 +#: replication/libpqwalreceiver/libpqwalreceiver.c:705 #, c-format msgid "error while shutting down streaming COPY: %s" msgstr "fel vid nestängning av strömmande COPY: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:587 +#: replication/libpqwalreceiver/libpqwalreceiver.c:715 #, 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:596 -#: replication/libpqwalreceiver/libpqwalreceiver.c:832 +#: replication/libpqwalreceiver/libpqwalreceiver.c:724 +#: replication/libpqwalreceiver/libpqwalreceiver.c:957 #, c-format msgid "unexpected result after CommandComplete: %s" msgstr "oväntat resultat efter CommandComplete: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:623 +#: replication/libpqwalreceiver/libpqwalreceiver.c:751 #, 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:636 +#: replication/libpqwalreceiver/libpqwalreceiver.c:764 #, 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:795 -#: replication/libpqwalreceiver/libpqwalreceiver.c:848 -#: replication/libpqwalreceiver/libpqwalreceiver.c:855 +#: replication/libpqwalreceiver/libpqwalreceiver.c:920 +#: replication/libpqwalreceiver/libpqwalreceiver.c:973 +#: replication/libpqwalreceiver/libpqwalreceiver.c:980 #, 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:875 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1000 #, 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:967 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1101 #, c-format msgid "could not create replication slot \"%s\": %s" msgstr "kunde inte skapa replikeringsslot \"%s\": %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1013 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1140 +#, c-format +msgid "could not alter replication slot \"%s\": %s" +msgstr "kunde inte ändra replikeringsslot \"%s\": %s" + +#: replication/libpqwalreceiver/libpqwalreceiver.c:1174 #, c-format msgid "invalid query response" msgstr "ogiltigt frågerespons" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1014 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1175 #, c-format msgid "Expected %d fields, got %d fields." msgstr "Förväntade %d fält, fick %d fält." -#: replication/libpqwalreceiver/libpqwalreceiver.c:1084 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1245 #, c-format msgid "the query interface requires a database connection" msgstr "frågeinterface:et kräver en databasanslutning" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1115 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1277 msgid "empty query" msgstr "tom fråga" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1121 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1283 msgid "unexpected pipeline mode" msgstr "oväntat pipeline-läge" @@ -20212,189 +20668,205 @@ msgstr "oväntat pipeline-läge" msgid "logical replication parallel apply worker for subscription \"%s\" has finished" msgstr "logisk replikerings parallella ändringsapplicerare för prenumeration \"%s\" har avslutat" -#: replication/logical/applyparallelworker.c:825 +#: replication/logical/applyparallelworker.c:822 #, c-format msgid "lost connection to the logical replication apply worker" msgstr "tappade anslutning till den logiska replikeringens ändringsapplicerare" -#: replication/logical/applyparallelworker.c:1027 -#: replication/logical/applyparallelworker.c:1029 +#: replication/logical/applyparallelworker.c:1024 +#: replication/logical/applyparallelworker.c:1026 msgid "logical replication parallel apply worker" msgstr "logisk replikerings ändringsapplicerare" -#: replication/logical/applyparallelworker.c:1043 +#: replication/logical/applyparallelworker.c:1040 #, 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:1130 -#: replication/logical/applyparallelworker.c:1303 +#: replication/logical/applyparallelworker.c:1127 +#: replication/logical/applyparallelworker.c:1300 #, 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:1183 +#: replication/logical/applyparallelworker.c:1180 #, 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:1218 +#: replication/logical/applyparallelworker.c:1215 #, 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" -#: replication/logical/decode.c:180 replication/logical/logical.c:140 +#: replication/logical/decode.c:177 replication/logical/logical.c:141 #, c-format -msgid "logical decoding on standby requires wal_level >= logical on the primary" -msgstr "logisk avkodning på standby kräver wal_level >= logical på primären" +msgid "logical decoding on standby requires \"wal_level\" >= \"logical\" on the primary" +msgstr "logisk avkodning på standby kräver \"wal_level\" >= \"logical\" på primären" -#: replication/logical/launcher.c:331 +#: replication/logical/launcher.c:334 #, c-format msgid "cannot start logical replication workers when max_replication_slots = 0" msgstr "kan inte starta logisk replikeringsarbetare när max_replication_slots = 0" -#: replication/logical/launcher.c:424 +#: replication/logical/launcher.c:427 #, c-format msgid "out of logical replication worker slots" msgstr "slut på logiska replikeringsarbetarslots" -#: replication/logical/launcher.c:425 replication/logical/launcher.c:499 -#: replication/slot.c:1297 storage/lmgr/lock.c:964 storage/lmgr/lock.c:1002 -#: storage/lmgr/lock.c:2787 storage/lmgr/lock.c:4172 storage/lmgr/lock.c:4237 -#: storage/lmgr/lock.c:4587 storage/lmgr/predicate.c:2413 -#: storage/lmgr/predicate.c:2428 storage/lmgr/predicate.c:3825 +#: replication/logical/launcher.c:428 replication/logical/launcher.c:514 +#: replication/slot.c:1524 storage/lmgr/lock.c:985 storage/lmgr/lock.c:1023 +#: storage/lmgr/lock.c:2826 storage/lmgr/lock.c:4211 storage/lmgr/lock.c:4276 +#: storage/lmgr/lock.c:4626 storage/lmgr/predicate.c:2464 +#: storage/lmgr/predicate.c:2479 storage/lmgr/predicate.c:3876 #, c-format -msgid "You might need to increase %s." -msgstr "Du kan behöva öka %s." +msgid "You might need to increase \"%s\"." +msgstr "Du kan behöva öka \"%s\"." -#: replication/logical/launcher.c:498 +#: replication/logical/launcher.c:513 #, c-format msgid "out of background worker slots" msgstr "slut på bakgrundsarbetarslots" -#: replication/logical/launcher.c:705 +#: replication/logical/launcher.c:720 #, c-format msgid "logical replication worker slot %d is empty, cannot attach" msgstr "logisk replikeringsarbetarslot %d är tom, kan inte ansluta" -#: replication/logical/launcher.c:714 +#: replication/logical/launcher.c:729 #, c-format msgid "logical replication worker slot %d is already used by another worker, cannot attach" msgstr "logiisk replikeringsarbetarslot %d används redan av en annan arbetare, kan inte ansluta" -#: replication/logical/logical.c:120 +#: replication/logical/logical.c:121 #, c-format -msgid "logical decoding requires wal_level >= logical" -msgstr "logisk avkodning kräver wal_level >= logical" +msgid "logical decoding requires \"wal_level\" >= \"logical\"" +msgstr "logisk avkodning kräver \"wal_level\" >= \"logical\"" -#: replication/logical/logical.c:125 +#: replication/logical/logical.c:126 #, c-format msgid "logical decoding requires a database connection" msgstr "logisk avkodning kräver en databasanslutning" -#: replication/logical/logical.c:363 replication/logical/logical.c:517 +#: replication/logical/logical.c:365 replication/logical/logical.c:519 #, 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:368 replication/logical/logical.c:522 +#: replication/logical/logical.c:370 replication/logical/logical.c:529 #, c-format msgid "replication slot \"%s\" was not created in this database" msgstr "replikeringsslot \"%s\" har inte skapats i denna databasen" -#: replication/logical/logical.c:375 +#: replication/logical/logical.c:377 #, c-format 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:534 replication/logical/logical.c:541 +#: replication/logical/logical.c:540 #, c-format -msgid "can no longer get changes from replication slot \"%s\"" -msgstr "kan inte längre få ändringar från replikeringsslot \"%s\"" +msgid "cannot use replication slot \"%s\" for logical decoding" +msgstr "kan inte använda replikeringsslot \"%s\" för logisk avkodning" -#: replication/logical/logical.c:536 +#: replication/logical/logical.c:542 replication/slot.c:798 +#: replication/slot.c:829 #, 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." +msgid "This replication slot is being synchronized from the primary server." +msgstr "Denna replikeringsslot synkroniseras från primära servern." #: replication/logical/logical.c:543 #, 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." +msgid "Specify another replication slot." +msgstr "Ange en annan replikeringsslot." -#: replication/logical/logical.c:608 +#: replication/logical/logical.c:554 replication/logical/logical.c:561 #, c-format -msgid "starting logical decoding for slot \"%s\"" +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:556 +#, 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:563 +#, 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:628 +#, c-format +msgid "starting logical decoding for slot \"%s\"" msgstr "startar logisk avkodning för slot \"%s\"" -#: replication/logical/logical.c:610 +#: replication/logical/logical.c:630 #, 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:758 +#: replication/logical/logical.c:778 #, 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:764 +#: replication/logical/logical.c:784 #, 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:935 replication/logical/logical.c:980 -#: replication/logical/logical.c:1025 replication/logical/logical.c:1071 +#: replication/logical/logical.c:955 replication/logical/logical.c:1000 +#: replication/logical/logical.c:1045 replication/logical/logical.c:1091 #, 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:1303 replication/logical/logical.c:1352 -#: replication/logical/logical.c:1393 replication/logical/logical.c:1479 -#: replication/logical/logical.c:1528 +#: 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 #, c-format msgid "logical streaming requires a %s callback" msgstr "logisk strömning kräven en %s-callback" -#: replication/logical/logical.c:1438 +#: replication/logical/logical.c:1458 #, 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" -#: replication/logical/logicalfuncs.c:126 +#: replication/logical/logicalfuncs.c:123 #, c-format msgid "slot name must not be null" msgstr "slot-namn får inte vara null" -#: replication/logical/logicalfuncs.c:142 +#: replication/logical/logicalfuncs.c:139 #, c-format msgid "options array must not be null" msgstr "flagg-array får inte vara null" -#: replication/logical/logicalfuncs.c:159 +#: replication/logical/logicalfuncs.c:156 #, c-format msgid "array must be one-dimensional" msgstr "array:en måste vara endimensionell" -#: replication/logical/logicalfuncs.c:165 +#: replication/logical/logicalfuncs.c:162 #, c-format msgid "array must not contain nulls" msgstr "array:en får inte innehålla null" -#: replication/logical/logicalfuncs.c:180 utils/adt/json.c:1484 -#: utils/adt/jsonb.c:1403 +#: replication/logical/logicalfuncs.c:177 utils/adt/json.c:1420 +#: utils/adt/jsonb.c:1304 #, c-format msgid "array must have even number of elements" msgstr "array:en måste ha ett jämnt antal element" -#: replication/logical/logicalfuncs.c:227 +#: replication/logical/logicalfuncs.c:224 #, c-format msgid "logical decoding output plugin \"%s\" produces binary output, but function \"%s\" expects textual data" msgstr "utdata-plugin \"%s\" för logisk avkodning producerar binär utdata men funktionen \"%s\" förväntar sig textdata" #: replication/logical/origin.c:190 #, c-format -msgid "cannot query or manipulate replication origin when max_replication_slots = 0" -msgstr "kan inte se eller ändra replikeringskällor när max_replication_slots = 0" +msgid "cannot query or manipulate replication origin when \"max_replication_slots\" is 0" +msgstr "kan inte se eller ändra replikeringskällor när \"max_replication_slots\" är 0" #: replication/logical/origin.c:195 #, c-format @@ -20428,8 +20900,8 @@ msgstr "replikeringscheckpoint har fel magiskt tal %u istället för %u" #: replication/logical/origin.c:798 #, c-format -msgid "could not find free replication state, increase max_replication_slots" -msgstr "kunde inte hitta ledig replikeringsplats, öka max_replication_slots" +msgid "could not find free replication state, increase \"max_replication_slots\"" +msgstr "kunde inte hitta ledig replikeringsplats, öka \"max_replication_slots\"" #: replication/logical/origin.c:806 #, c-format @@ -20441,1067 +20913,1320 @@ msgstr "återställde replikeringstillstånd för nod %d till %X/%X" msgid "replication slot checkpoint has wrong checksum %u, expected %u" msgstr "replikeringsslot-checkpoint har felaktig kontrollsumma %u, förväntade %u" -#: replication/logical/origin.c:944 replication/logical/origin.c:1141 +#: replication/logical/origin.c:944 replication/logical/origin.c:1143 #, c-format msgid "replication origin with ID %d is already active for PID %d" msgstr "replikeringskälla med ID %d är redan aktiv för PID %d" -#: replication/logical/origin.c:955 replication/logical/origin.c:1153 +#: replication/logical/origin.c:955 replication/logical/origin.c:1156 #, c-format msgid "could not find free replication state slot for replication origin with ID %d" msgstr "kunde inte hitta ledig replikerings-state-slot för replikerings-origin med ID %d" -#: replication/logical/origin.c:957 replication/logical/origin.c:1155 -#: replication/slot.c:2093 +#: replication/logical/origin.c:957 replication/logical/origin.c:1158 +#: replication/slot.c:2384 #, c-format -msgid "Increase max_replication_slots and try again." -msgstr "Öka max_replication_slots och försök igen." +msgid "Increase \"max_replication_slots\" and try again." +msgstr "Öka \"max_replication_slots\" och försök igen." -#: replication/logical/origin.c:1112 +#: replication/logical/origin.c:1114 #, c-format msgid "cannot setup replication origin when one is already setup" msgstr "kan inte ställa in replikeringskälla när en redan är inställd" -#: replication/logical/origin.c:1196 replication/logical/origin.c:1412 -#: replication/logical/origin.c:1432 +#: replication/logical/origin.c:1199 replication/logical/origin.c:1415 +#: replication/logical/origin.c:1435 #, c-format msgid "no replication origin is configured" msgstr "ingen replikeringskälla är konfigurerad" -#: replication/logical/origin.c:1282 +#: replication/logical/origin.c:1285 #, c-format msgid "replication origin name \"%s\" is reserved" msgstr "replikeringskällnamn \"%s\" är reserverat" -#: replication/logical/origin.c:1284 +#: replication/logical/origin.c:1287 #, c-format msgid "Origin names \"%s\", \"%s\", and names starting with \"pg_\" are reserved." msgstr "Källnamn \"%s\", \"%s\" och namn som startar med \"pg_\" är reserverade." -#: replication/logical/relation.c:240 +#: replication/logical/relation.c:242 #, c-format msgid "\"%s\"" msgstr "\"%s\"" -#: replication/logical/relation.c:243 +#: replication/logical/relation.c:245 #, c-format msgid ", \"%s\"" msgstr ", \"%s\"" -#: replication/logical/relation.c:249 +#: replication/logical/relation.c:251 #, c-format msgid "logical replication target relation \"%s.%s\" is missing replicated column: %s" msgid_plural "logical replication target relation \"%s.%s\" is missing replicated columns: %s" msgstr[0] "destinationsrelation \"%s.%s\" för logisk replikering saknar en replikerad kolumn: %s" msgstr[1] "destinationsrelation \"%s.%s\" för logisk replikering saknar några replikerade kolumner: %s" -#: replication/logical/relation.c:304 +#: replication/logical/relation.c:306 #, c-format msgid "logical replication target relation \"%s.%s\" uses system columns in REPLICA IDENTITY index" msgstr "destinationsrelation \"%s.%s\" för logisk replikering använder systemkolumner i REPLICA IDENTITY-index" -#: replication/logical/relation.c:396 +#: replication/logical/relation.c:398 #, c-format msgid "logical replication target relation \"%s.%s\" does not exist" msgstr "destinationsrelation \"%s.%s\" för logisk replikering finns inte" -#: replication/logical/reorderbuffer.c:3936 +#: replication/logical/reorderbuffer.c:3994 #, c-format msgid "could not write to data file for XID %u: %m" msgstr "kunde inte skriva till datafil för XID %u: %m" -#: replication/logical/reorderbuffer.c:4282 -#: replication/logical/reorderbuffer.c:4307 +#: replication/logical/reorderbuffer.c:4340 +#: replication/logical/reorderbuffer.c:4365 #, c-format msgid "could not read from reorderbuffer spill file: %m" msgstr "kunde inte läsa från reorderbuffer spill-fil: %m" -#: replication/logical/reorderbuffer.c:4286 -#: replication/logical/reorderbuffer.c:4311 +#: replication/logical/reorderbuffer.c:4344 +#: replication/logical/reorderbuffer.c:4369 #, c-format msgid "could not read from reorderbuffer spill file: read %d instead of %u bytes" msgstr "kunde inte läsa från reorderbuffer spill-fil: läste %d istället för %u byte" -#: replication/logical/reorderbuffer.c:4561 +#: replication/logical/reorderbuffer.c:4619 #, c-format msgid "could not remove file \"%s\" during removal of pg_replslot/%s/xid*: %m" msgstr "kunde inte radera fil \"%s\" vid borttagning av pg_replslot/%s/xid*: %m" -#: replication/logical/reorderbuffer.c:5057 +#: replication/logical/reorderbuffer.c:5115 #, c-format 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/snapbuild.c:639 +#: replication/logical/slotsync.c:215 +#, c-format +msgid "could not synchronize replication slot \"%s\" because remote slot precedes local slot" +msgstr "kunde inte synkronisera replikeringsslot \"%s\" då fjärrslotten ligger tidigare än den lokala slotten" + +#: 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 "Fjärrslotten har LSN %X/%X och katalog-xmin %u men lokala slotten har LSN %X/%X och katalog-xmin %u." + +#: replication/logical/slotsync.c:459 +#, c-format +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:579 +#, c-format +msgid "could not synchronize replication slot \"%s\"" +msgstr "kunde inte synkronisera replikeringsslot \"%s\"" + +#: replication/logical/slotsync.c:580 +#, c-format +msgid "Logical decoding could not find consistent point from local slot's LSN %X/%X." +msgstr "Logisk avkodning kunde inte hitta en konsistent punkt från lokala slottens LSN %X/%X" + +#: replication/logical/slotsync.c:589 +#, 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 +#, 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 +#, 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 +#, 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 +#, 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 +#, 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 +#, 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 +#, 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." + +#. translator: first %s is a connection option; second %s is a GUC +#. variable name +#. +#: replication/logical/slotsync.c:1029 +#, 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:1050 +#, 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 +#, 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 +#, 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 +#, 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 +#, 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 +#, 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" + +#: replication/logical/slotsync.c:1287 +#, 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 +#, c-format +msgid "cannot synchronize replication slots concurrently" +msgstr "kan inte synkronisera replikeringsslottar parallellt" + +#: replication/logical/slotsync.c:1403 +#, c-format +msgid "slot sync worker started" +msgstr "arbetare för slot-synk startad" + +#: replication/logical/slotsync.c:1466 replication/slotfuncs.c:900 +#: replication/walreceiver.c:307 +#, c-format +msgid "could not connect to the primary server: %s" +msgstr "kunde inte ansluta till primärserver: %s" + +#: replication/logical/snapbuild.c:653 #, c-format msgid "initial slot snapshot too large" msgstr "initialt slot-snapshot är för stort" -#: replication/logical/snapbuild.c:693 +#: replication/logical/snapbuild.c:707 #, c-format msgid "exported logical decoding snapshot: \"%s\" with %u transaction ID" msgid_plural "exported logical decoding snapshot: \"%s\" with %u transaction IDs" msgstr[0] "exporterade logisk avkodnings-snapshot: \"%s\" med %u transaktions-ID" msgstr[1] "exporterade logisk avkodnings-snapshot: \"%s\" med %u transaktions-ID" -#: replication/logical/snapbuild.c:1388 replication/logical/snapbuild.c:1480 -#: replication/logical/snapbuild.c:1996 +#: replication/logical/snapbuild.c:1404 replication/logical/snapbuild.c:1501 +#: replication/logical/snapbuild.c:2017 #, c-format msgid "logical decoding found consistent point at %X/%X" msgstr "logisk avkodning hittade konsistent punkt vid %X/%X" -#: replication/logical/snapbuild.c:1390 +#: replication/logical/snapbuild.c:1406 #, c-format msgid "There are no running transactions." msgstr "Det finns inga körande transaktioner." -#: replication/logical/snapbuild.c:1432 +#: replication/logical/snapbuild.c:1453 #, c-format msgid "logical decoding found initial starting point at %X/%X" msgstr "logisk avkodning hittade initial startpunkt vid %X/%X" -#: replication/logical/snapbuild.c:1434 replication/logical/snapbuild.c:1458 +#: replication/logical/snapbuild.c:1455 replication/logical/snapbuild.c:1479 #, c-format msgid "Waiting for transactions (approximately %d) older than %u to end." msgstr "Väntar på att transaktioner (cirka %d) äldre än %u skall gå klart." -#: replication/logical/snapbuild.c:1456 +#: replication/logical/snapbuild.c:1477 #, c-format msgid "logical decoding found initial consistent point at %X/%X" msgstr "logisk avkodning hittade initial konsistent punkt vid %X/%X" -#: replication/logical/snapbuild.c:1482 +#: replication/logical/snapbuild.c:1503 #, c-format msgid "There are no old transactions anymore." msgstr "Det finns inte längre några gamla transaktioner." -#: replication/logical/snapbuild.c:1883 +#: replication/logical/snapbuild.c:1904 #, c-format msgid "snapbuild state file \"%s\" has wrong magic number: %u instead of %u" msgstr "snapbuild-state-fil \"%s\" har fel magiskt tal: %u istället för %u" -#: replication/logical/snapbuild.c:1889 +#: replication/logical/snapbuild.c:1910 #, c-format msgid "snapbuild state file \"%s\" has unsupported version: %u instead of %u" msgstr "snapbuild-state-fil \"%s\" har en ej stödd version: %u istället för %u" -#: replication/logical/snapbuild.c:1930 +#: replication/logical/snapbuild.c:1951 #, c-format msgid "checksum mismatch for snapbuild state file \"%s\": is %u, should be %u" msgstr "checksumma stämmer inte för snapbuild-state-fil \"%s\": är %u, skall vara %u" -#: replication/logical/snapbuild.c:1998 +#: replication/logical/snapbuild.c:2019 #, c-format msgid "Logical decoding will begin using saved snapshot." msgstr "Logisk avkodning kommer starta med sparat snapshot." -#: replication/logical/snapbuild.c:2105 +#: replication/logical/snapbuild.c:2126 #, c-format msgid "could not parse file name \"%s\"" msgstr "kunde inte parsa filnamn \"%s\"" -#: replication/logical/tablesync.c:153 +#: replication/logical/tablesync.c:161 #, c-format msgid "logical replication table synchronization worker for subscription \"%s\", table \"%s\" has finished" msgstr "logisk replikerings tabellsynkroniseringsarbetare för prenumeration \"%s\", tabell \"%s\" är klar" -#: replication/logical/tablesync.c:622 +#: replication/logical/tablesync.c:641 #, c-format msgid "logical replication apply worker for subscription \"%s\" will restart so that two_phase can be enabled" msgstr "arbetarprocess för uppspelning av logisk replikering av prenumeration \"%s\" kommer starta om så att two_phase kan slås på" -#: replication/logical/tablesync.c:797 replication/logical/tablesync.c:939 +#: replication/logical/tablesync.c:827 replication/logical/tablesync.c:969 #, c-format msgid "could not fetch table info for table \"%s.%s\" from publisher: %s" msgstr "kunde inte hämta tabellinfo för tabell \"%s.%s\" från publicerare: %s" -#: replication/logical/tablesync.c:804 +#: replication/logical/tablesync.c:834 #, c-format msgid "table \"%s.%s\" not found on publisher" msgstr "tabell \"%s.%s\" hittades inte hos publicerare" -#: replication/logical/tablesync.c:862 +#: replication/logical/tablesync.c:892 #, c-format msgid "could not fetch column list info for table \"%s.%s\" from publisher: %s" msgstr "kunde inte hämta kolumlista för tabell \"%s.%s\" från publicerare: %s" -#: replication/logical/tablesync.c:1041 +#: replication/logical/tablesync.c:1071 #, c-format msgid "could not fetch table WHERE clause info for table \"%s.%s\" from publisher: %s" msgstr "kunde inte hämta tabells WHERE-klausul för tabell \"%s.%s\" från publicerare: %s" -#: replication/logical/tablesync.c:1192 +#: replication/logical/tablesync.c:1230 #, c-format 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:1393 +#: replication/logical/tablesync.c:1429 #, 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:1435 +#: replication/logical/tablesync.c:1472 #, c-format msgid "replication origin \"%s\" already exists" msgstr "replikeringsurspring \"%s\" finns redan" -#: replication/logical/tablesync.c:1468 replication/logical/worker.c:2374 +#: replication/logical/tablesync.c:1505 replication/logical/worker.c:2361 #, 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:1481 +#: replication/logical/tablesync.c:1518 #, c-format msgid "table copy could not finish transaction on publisher: %s" msgstr "tabellkopiering kunde inte slutföra transaktion på publiceraren: %s" -#: replication/logical/worker.c:499 +#: replication/logical/worker.c:481 #, c-format msgid "logical replication parallel apply worker for subscription \"%s\" will stop" msgstr "logiska replikeringens parallella ändringsapplicerare för prenumeration \"%s\" kommer stoppa" -#: replication/logical/worker.c:501 +#: replication/logical/worker.c:483 #, c-format msgid "Cannot handle streamed replication transactions using parallel apply workers until all tables have been synchronized." msgstr "Kan inte hantera strömmade replikerade transaktioner med parallell ändringsapplicerare innan alla tabeller har synkroniserats." -#: replication/logical/worker.c:863 replication/logical/worker.c:978 +#: replication/logical/worker.c:852 replication/logical/worker.c:967 #, c-format msgid "incorrect binary data format in logical replication column %d" msgstr "inkorrekt binärt dataformat i logisk replikeringskolumn %d" -#: replication/logical/worker.c:2513 +#: replication/logical/worker.c:2500 #, c-format msgid "publisher did not send replica identity column expected by the logical replication target relation \"%s.%s\"" msgstr "publicerare skickade inte identitetskolumn för replika som förväntades av den logiska replikeringens målrelation \"%s.%s\"" -#: replication/logical/worker.c:2520 +#: replication/logical/worker.c:2507 #, 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 "logisk replikeringsmålrelation \"%s.%s\" har varken REPLICA IDENTITY-index eller PRIMARY KEY och den publicerade relationen har inte REPLICA IDENTITY FULL" -#: replication/logical/worker.c:3384 +#: replication/logical/worker.c:3371 #, c-format msgid "invalid logical replication message type \"??? (%d)\"" msgstr "ogiltig logisk replikeringsmeddelandetyp \"??? (%d)\"" -#: replication/logical/worker.c:3556 +#: replication/logical/worker.c:3543 #, c-format msgid "data stream from publisher has ended" msgstr "dataströmmen från publiceraren har avslutats" -#: replication/logical/worker.c:3713 +#: replication/logical/worker.c:3697 #, c-format msgid "terminating logical replication worker due to timeout" msgstr "avslutar logisk replikeringsarbetare på grund av timeout" -#: replication/logical/worker.c:3907 +#: replication/logical/worker.c:3891 #, c-format msgid "logical replication worker for subscription \"%s\" will stop because the subscription was removed" msgstr "logiska replikerings ändringsapplicerare för prenumeration \"%s\" kommer att stoppa då prenumerationen har tagits bort" -#: replication/logical/worker.c:3920 +#: replication/logical/worker.c:3905 #, c-format msgid "logical replication worker for subscription \"%s\" will stop because the subscription was disabled" msgstr "logiska replikerings ändringsapplicerare för prenumeration \"%s\" kommer att stoppa då prenumerationen har stängts av" -#: replication/logical/worker.c:3951 +#: replication/logical/worker.c:3936 #, c-format msgid "logical replication parallel apply worker for subscription \"%s\" will stop because of a parameter change" msgstr "logiska replikeringens ändringsapplicerare för prenumeration \"%s\" kommer att stoppa på grund av ändrade parametrar" -#: replication/logical/worker.c:3955 +#: replication/logical/worker.c:3940 #, c-format msgid "logical replication worker for subscription \"%s\" will restart because of a parameter change" msgstr "logiska replikeringens ändringsapplicerare för prenumeration \"%s\" kommer att startas om på grund av ändrade parametrar" +#: replication/logical/worker.c:3954 +#, c-format +msgid "logical replication parallel apply worker for subscription \"%s\" will stop because the subscription owner's superuser privileges have been revoked" +msgstr "logiska replikerings parallella ändringsapplicerare för prenumeration \"%s\" kommer att stoppa då prenumerationens ägare har blivit av med superuser-rättigheten" + +#: replication/logical/worker.c:3958 +#, c-format +msgid "logical replication worker for subscription \"%s\" will restart because the subscription owner's superuser privileges have been revoked" +msgstr "logiska replikerings ändringsapplicerare för prenumeration \"%s\" kommer att startas om då prenumerationens ägare har blivit av med superuser-rättigheten" + #: replication/logical/worker.c:4478 #, c-format +msgid "subscription has no replication slot set" +msgstr "prenumeration har ingen replikeringsslot angiven" + +#: replication/logical/worker.c:4591 +#, c-format msgid "logical replication worker for subscription %u will not start because the subscription was removed during startup" msgstr "logiska replikeringens ändringsapplicerare för prenumeration %u kommer inte att startas då prenumerationen togs bort i uppstarten" -#: replication/logical/worker.c:4493 +#: replication/logical/worker.c:4607 #, c-format msgid "logical replication worker for subscription \"%s\" will not start because the subscription was disabled during startup" msgstr "logiska replikeringens ändringsapplicerare för prenumeration \"%s\" kommer inte att startas då prenumerationen stängdes av i uppstarten" -#: replication/logical/worker.c:4510 +#: replication/logical/worker.c:4631 #, c-format msgid "logical replication table synchronization worker for subscription \"%s\", table \"%s\" has started" msgstr "logisk replikerings tabellsynkroniseringsarbetare för prenumeration \"%s\", tabell \"%s\" har startat" -#: replication/logical/worker.c:4515 +#: replication/logical/worker.c:4636 #, c-format msgid "logical replication apply worker for subscription \"%s\" has started" msgstr "logiska replikeringens ändringsapplicerare för prenumeration \"%s\" har startat" -#: replication/logical/worker.c:4590 -#, c-format -msgid "subscription has no replication slot set" -msgstr "prenumeration har ingen replikeringsslot angiven" - -#: replication/logical/worker.c:4757 +#: replication/logical/worker.c:4758 #, 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:4805 +#: replication/logical/worker.c:4806 #, 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:4819 +#: replication/logical/worker.c:4820 #, 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:4901 +#: replication/logical/worker.c:4902 #, c-format msgid "skip-LSN of subscription \"%s\" cleared" msgstr "överhoppnings-LSN för logiska prenumerationen \"%s\" har nollställts" -#: replication/logical/worker.c:4902 +#: replication/logical/worker.c:4903 #, 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:4928 +#: replication/logical/worker.c:4940 #, 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:4932 +#: replication/logical/worker.c:4944 #, 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:4937 +#: replication/logical/worker.c:4949 #, 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:4948 +#: replication/logical/worker.c:4960 #, 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:4955 +#: replication/logical/worker.c:4967 #, 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:4966 +#: replication/logical/worker.c:4978 #, 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:4974 +#: replication/logical/worker.c:4986 #, 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:318 +#: replication/pgoutput/pgoutput.c:315 #, c-format msgid "invalid proto_version" msgstr "ogiltig proto_version" -#: replication/pgoutput/pgoutput.c:323 +#: replication/pgoutput/pgoutput.c:320 #, c-format msgid "proto_version \"%s\" out of range" msgstr "proto_version \"%s\" är utanför giltigt intervall" -#: replication/pgoutput/pgoutput.c:340 +#: replication/pgoutput/pgoutput.c:337 #, c-format msgid "invalid publication_names syntax" msgstr "ogiltig publication_names-syntax" -#: replication/pgoutput/pgoutput.c:443 +#: replication/pgoutput/pgoutput.c:407 replication/pgoutput/pgoutput.c:411 +#, c-format +msgid "option \"%s\" missing" +msgstr "flaggan \"%s\" saknas." + +#: replication/pgoutput/pgoutput.c:452 #, 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:449 +#: replication/pgoutput/pgoutput.c:458 #, 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:455 -#, c-format -msgid "publication_names parameter missing" -msgstr "saknar parameter publication_names" - -#: replication/pgoutput/pgoutput.c:469 +#: replication/pgoutput/pgoutput.c:473 #, 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:475 +#: replication/pgoutput/pgoutput.c:479 #, 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:480 +#: replication/pgoutput/pgoutput.c:484 #, 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:497 +#: replication/pgoutput/pgoutput.c:498 #, 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:502 +#: replication/pgoutput/pgoutput.c:503 #, 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:207 +#: replication/slot.c:260 #, c-format msgid "replication slot name \"%s\" is too short" msgstr "replikeringsslotnamn \"%s\" är för kort" -#: replication/slot.c:216 +#: replication/slot.c:269 #, c-format msgid "replication slot name \"%s\" is too long" msgstr "replikeringsslotnamn \"%s\" är för långt" -#: replication/slot.c:229 +#: replication/slot.c:282 #, c-format msgid "replication slot name \"%s\" contains invalid character" msgstr "replikeringsslotnamn \"%s\" innehåller ogiltiga tecken" -#: replication/slot.c:231 +#: replication/slot.c:284 #, c-format 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:285 +#: replication/slot.c:333 +#, 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 +#, 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 #, c-format msgid "replication slot \"%s\" already exists" msgstr "replikeringsslot \"%s\" finns redan" -#: replication/slot.c:295 +#: replication/slot.c:380 #, c-format msgid "all replication slots are in use" msgstr "alla replikeringsslots används" -#: replication/slot.c:296 +#: replication/slot.c:381 #, c-format -msgid "Free one or increase max_replication_slots." -msgstr "Frigör en eller öka max_replication_slots." +msgid "Free one or increase \"max_replication_slots\"." +msgstr "Frigör en eller öka \"max_replication_slots\"." -#: replication/slot.c:474 replication/slotfuncs.c:736 -#: utils/activity/pgstat_replslot.c:55 utils/adt/genfile.c:774 +#: replication/slot.c:560 replication/slot.c:2453 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:520 replication/slot.c:1110 +#: replication/slot.c:606 replication/slot.c:1337 #, c-format msgid "replication slot \"%s\" is active for PID %d" msgstr "replikeringsslot \"%s\" är aktiv för PID %d" -#: replication/slot.c:756 replication/slot.c:1645 replication/slot.c:2028 +#: replication/slot.c:638 +#, c-format +msgid "acquired logical replication slot \"%s\"" +msgstr "tog logisk replikeringsslot \"%s\"" + +#: replication/slot.c:640 +#, c-format +msgid "acquired physical replication slot \"%s\"" +msgstr "tog fysisk replikeringsslot \"%s\"" + +#: replication/slot.c:729 +#, c-format +msgid "released logical replication slot \"%s\"" +msgstr "släppte logisk replikeringsslot \"%s\"" + +#: replication/slot.c:731 +#, c-format +msgid "released physical replication slot \"%s\"" +msgstr "släppte fysisk replikeringsslot \"%s\"" + +#: replication/slot.c:797 +#, c-format +msgid "cannot drop replication slot \"%s\"" +msgstr "kan inte slänga replikeringsslot \"%s\"" + +#: replication/slot.c:816 +#, 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 +#, c-format +msgid "cannot alter replication slot \"%s\"" +msgstr "kan inte ändra replikeringsslot \"%s\"" + +#: replication/slot.c:838 +#, 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:1927 replication/slot.c:2311 #, c-format msgid "could not remove directory \"%s\"" msgstr "kunde inte ta bort katalog \"%s\"" -#: replication/slot.c:1145 +#: replication/slot.c:1372 #, 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" +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:1150 +#: replication/slot.c:1377 #, c-format -msgid "replication slots can only be used if wal_level >= replica" -msgstr "replikeringsslots kan bara användas om wal_level >= replica" +msgid "replication slots can only be used if \"wal_level\" >= \"replica\"" +msgstr "replikeringsslots kan bara användas om \"wal_level\" >= \"replica\"" -#: replication/slot.c:1162 +#: replication/slot.c:1389 #, c-format msgid "permission denied to use replication slots" msgstr "rättighet saknas för att använda replikeringsslottar" -#: replication/slot.c:1163 +#: replication/slot.c:1390 #, 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:1271 +#: replication/slot.c:1498 #, 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:1279 +#: replication/slot.c:1506 #, c-format msgid "The slot conflicted with xid horizon %u." msgstr "Slotten är i konflikt med xid-horisont %u." -#: replication/slot.c:1284 -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:1511 +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:1292 +#: replication/slot.c:1519 #, 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:1294 +#: replication/slot.c:1521 #, c-format msgid "invalidating obsolete replication slot \"%s\"" msgstr "invaliderar obsolet replikeringssslot \"%s\"" -#: replication/slot.c:1966 +#: replication/slot.c:2249 #, 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:1973 +#: replication/slot.c:2256 #, c-format msgid "replication slot file \"%s\" has unsupported version %u" msgstr "replikeringsslotfil \"%s\" har en icke stödd version %u" -#: replication/slot.c:1980 +#: replication/slot.c:2263 #, c-format msgid "replication slot file \"%s\" has corrupted length %u" msgstr "replikeringsslotfil \"%s\" har felaktig längd %u" -#: replication/slot.c:2016 +#: replication/slot.c:2299 #, 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:2050 +#: replication/slot.c:2333 #, c-format -msgid "logical replication slot \"%s\" exists, but wal_level < logical" -msgstr "logisk replikeringsslot \"%s\" finns men wal_level < replica" +msgid "logical replication slot \"%s\" exists, but \"wal_level\" < \"logical\"" +msgstr "logisk replikeringsslot \"%s\" finns men \"wal_level\" < \"replica\"" -#: replication/slot.c:2052 +#: replication/slot.c:2335 #, c-format -msgid "Change wal_level to be logical or higher." -msgstr "Ändra wal_level till logical eller högre." +msgid "Change \"wal_level\" to be \"logical\" or higher." +msgstr "Ändra \"wal_level\" till \"logical\" eller högre." -#: replication/slot.c:2056 +#: replication/slot.c:2339 #, c-format -msgid "physical replication slot \"%s\" exists, but wal_level < replica" -msgstr "fysisk replikeringsslot \"%s\" finns men wal_level < replica" +msgid "physical replication slot \"%s\" exists, but \"wal_level\" < \"replica\"" +msgstr "fysisk replikeringsslot \"%s\" finns men \"wal_level\" < \"replica\"" -#: replication/slot.c:2058 +#: replication/slot.c:2341 #, c-format -msgid "Change wal_level to be replica or higher." -msgstr "Ändra wal_level till replica eller högre." +msgid "Change \"wal_level\" to be \"replica\" or higher." +msgstr "Ändra \"wal_level\" till \"replica\" eller högre." -#: replication/slot.c:2092 +#: replication/slot.c:2383 #, c-format msgid "too many replication slots active before shutdown" msgstr "för många aktiva replikeringsslottar innan nerstängning" -#: replication/slotfuncs.c:601 +#: replication/slot.c:2461 +#, c-format +msgid "\"%s\" is not a physical replication slot" +msgstr "\"%s\" är inte en fysisk replikeringsslot" + +#: replication/slot.c:2638 +#, 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:2640 replication/slot.c:2681 replication/slot.c:2696 +#, 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:2642 +#, c-format +msgid "Create the replication slot \"%s\" or amend parameter \"%s\"." +msgstr "Skapa replikeringsslotten \"%s\" eller ändra parametern \"%s\"" + +#: replication/slot.c:2659 +#, 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:2661 +#, 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:2663 +#, 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:2679 +#, 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:2683 +#, 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:2694 +#, 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:2698 +#, 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\"." + +#: replication/slotfuncs.c:526 #, c-format msgid "invalid target WAL LSN" msgstr "ogiltig mål-LSN för WAL" -#: replication/slotfuncs.c:623 +#: replication/slotfuncs.c:548 #, c-format msgid "replication slot \"%s\" cannot be advanced" msgstr "replikeringsslot \"%s\" kan inte avanceras" -#: replication/slotfuncs.c:625 +#: replication/slotfuncs.c:550 #, c-format msgid "This slot has never previously reserved WAL, or it has been invalidated." msgstr "Denna slot har aldrig tidigare reserverat WAL eller så har den invaliderats." -#: replication/slotfuncs.c:641 +#: replication/slotfuncs.c:566 #, c-format msgid "cannot advance replication slot to %X/%X, minimum is %X/%X" msgstr "kan inte flytta fram replikeringsslot till %X/%X, minimum är %X/%X" -#: replication/slotfuncs.c:748 +#: replication/slotfuncs.c:673 #, c-format msgid "cannot copy physical replication slot \"%s\" as a logical replication slot" msgstr "kan inte kopiera fysisk replikeringsslot \"%s\" som en logisk replikeringsslot" -#: replication/slotfuncs.c:750 +#: replication/slotfuncs.c:675 #, c-format msgid "cannot copy logical replication slot \"%s\" as a physical replication slot" msgstr "kan inte kopiera logisk replikeringsslot \"%s\" som en fysisk replikeringsslot" -#: replication/slotfuncs.c:757 +#: replication/slotfuncs.c:682 #, c-format msgid "cannot copy a replication slot that doesn't reserve WAL" msgstr "kan inte kopiera en replikeringsslot som inte tidigare har reserverat WAL" -#: replication/slotfuncs.c:834 +#: replication/slotfuncs.c:768 #, c-format msgid "could not copy replication slot \"%s\"" msgstr "kunde inte kopiera replikeringsslot \"%s\"" -#: replication/slotfuncs.c:836 +#: replication/slotfuncs.c:770 #, c-format msgid "The source replication slot was modified incompatibly during the copy operation." msgstr "Källreplikeringsslotten ändrades på ett inkompatibelt sätt under copy-operationen." -#: replication/slotfuncs.c:842 +#: replication/slotfuncs.c:776 #, c-format msgid "cannot copy unfinished logical replication slot \"%s\"" msgstr "kan inte kopiera ej slutförd replikeringsslot \"%s\"" -#: replication/slotfuncs.c:844 +#: replication/slotfuncs.c:778 #, c-format msgid "Retry when the source replication slot's confirmed_flush_lsn is valid." msgstr "Försök igen när källreplikeringsslottens confirmed_flush_lsn är giltig." -#: replication/syncrep.c:262 +#: replication/slotfuncs.c:877 +#, c-format +msgid "replication slots can only be synchronized to a standby server" +msgstr "replikerings-slot kan bara synkroniseras till en standby-server" + +#: replication/syncrep.c:261 #, c-format msgid "canceling the wait for synchronous replication and terminating connection due to administrator command" msgstr "avbryter väntan på synkron replikering samt avslutar anslutning på grund av ett administratörskommando" -#: replication/syncrep.c:263 replication/syncrep.c:280 +#: replication/syncrep.c:262 replication/syncrep.c:279 #, c-format msgid "The transaction has already committed locally, but might not have been replicated to the standby." msgstr "Transaktionen har redan commit:ats lokalt men har kanske inte replikerats till standby:en." -#: replication/syncrep.c:279 +#: replication/syncrep.c:278 #, c-format msgid "canceling wait for synchronous replication due to user request" msgstr "avbryter väntan på synkron replikering efter användarens önskemål" -#: replication/syncrep.c:486 +#: replication/syncrep.c:485 #, c-format -msgid "standby \"%s\" is now a synchronous standby with priority %u" -msgstr "standby \"%s\" är nu en synkron standby med prioritet %u" +msgid "standby \"%s\" is now a synchronous standby with priority %d" +msgstr "standby \"%s\" är nu en synkron standby med prioritet %d" -#: replication/syncrep.c:490 +#: replication/syncrep.c:489 #, c-format msgid "standby \"%s\" is now a candidate for quorum synchronous standby" msgstr "standby \"%s\" är nu en kvorumkandidat för synkron standby" -#: replication/syncrep.c:1019 +#: replication/syncrep.c:1013 #, c-format -msgid "synchronous_standby_names parser failed" -msgstr "synchronous_standby_names-parser misslyckades" +msgid "\"synchronous_standby_names\" parser failed" +msgstr "\"synchronous_standby_names\"-parser misslyckades" -#: replication/syncrep.c:1025 +#: replication/syncrep.c:1019 #, c-format msgid "number of synchronous standbys (%d) must be greater than zero" msgstr "antal synkrona standbys (%d) måste vara fler än noll" -#: replication/walreceiver.c:180 +#: replication/walreceiver.c:176 #, c-format msgid "terminating walreceiver process due to administrator command" msgstr "avslutar wal-mottagarprocessen på grund av ett administratörskommando" -#: replication/walreceiver.c:305 -#, c-format -msgid "could not connect to the primary server: %s" -msgstr "kunde inte ansluta till primärserver: %s" - -#: replication/walreceiver.c:352 +#: replication/walreceiver.c:354 #, c-format msgid "database system identifier differs between the primary and standby" msgstr "databassystemets identifierare skiljer sig åt mellan primären och standby:en" -#: replication/walreceiver.c:353 +#: replication/walreceiver.c:355 #, c-format msgid "The primary's identifier is %s, the standby's identifier is %s." msgstr "Primärens identifierare är %s, standby:ens identifierare är %s." -#: replication/walreceiver.c:364 +#: replication/walreceiver.c:366 #, c-format msgid "highest timeline %u of the primary is behind recovery timeline %u" msgstr "högsta tidslinjen %u i primären är efter återställningstidslinjen %u" -#: replication/walreceiver.c:417 +#: replication/walreceiver.c:419 #, c-format msgid "started streaming WAL from primary at %X/%X on timeline %u" msgstr "startade strömning av WAL från primären vid %X/%X på tidslinje %u" -#: replication/walreceiver.c:421 +#: replication/walreceiver.c:423 #, c-format msgid "restarted WAL streaming at %X/%X on timeline %u" msgstr "återstartade WAL-strömning vid %X/%X på tidslinje %u" -#: replication/walreceiver.c:457 +#: replication/walreceiver.c:458 #, c-format msgid "cannot continue WAL streaming, recovery has already ended" msgstr "kan inte fortsätta WAL-strömning, återställning har redan avslutats" -#: replication/walreceiver.c:501 +#: replication/walreceiver.c:502 #, c-format msgid "replication terminated by primary server" msgstr "replikering avslutad av primär server" -#: replication/walreceiver.c:502 +#: replication/walreceiver.c:503 #, c-format msgid "End of WAL reached on timeline %u at %X/%X." msgstr "Slut på WAL nådd på tidslinje %u vid %X/%X." -#: replication/walreceiver.c:592 +#: replication/walreceiver.c:593 #, c-format msgid "terminating walreceiver due to timeout" msgstr "avslutar wal-mottagare på grund av timeout" -#: replication/walreceiver.c:624 +#: replication/walreceiver.c:625 #, c-format msgid "primary server contains no more WAL on requested timeline %u" msgstr "primär server har ingen mer WAL på efterfrågad tidslinje %u" -#: replication/walreceiver.c:640 replication/walreceiver.c:1066 +#: replication/walreceiver.c:641 replication/walreceiver.c:1071 #, c-format msgid "could not close WAL segment %s: %m" msgstr "kunde inte stänga WAL-segment %s: %m" -#: replication/walreceiver.c:759 +#: replication/walreceiver.c:760 #, c-format msgid "fetching timeline history file for timeline %u from primary server" msgstr "hämtar tidslinjehistorikfil för tidslinje %u från primära servern" -#: replication/walreceiver.c:954 +#: replication/walreceiver.c:959 #, c-format -msgid "could not write to WAL segment %s at offset %u, length %lu: %m" -msgstr "kunde inte skriva till WAL-segment %s på offset %u, längd %lu: %m" +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:519 +#: replication/walsender.c:531 #, c-format msgid "cannot use %s with a logical replication slot" msgstr "kan inte använda %s med logisk replikeringsslot" -#: replication/walsender.c:623 storage/smgr/md.c:1529 +#: replication/walsender.c:635 storage/smgr/md.c:1723 #, 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:627 +#: replication/walsender.c:639 #, 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:704 +#: replication/walsender.c:853 #, 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:770 +#: replication/walsender.c:919 #, 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:773 +#: replication/walsender.c:922 #, 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:817 +#: replication/walsender.c:966 #, 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:1010 +#: replication/walsender.c:1160 #, 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:1095 +#: replication/walsender.c:1266 #, 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:1105 +#: replication/walsender.c:1276 #, 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:1111 +#: replication/walsender.c:1282 #, 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:1116 +#: replication/walsender.c:1287 #, 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:1122 +#: replication/walsender.c:1293 #, 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:1128 +#: replication/walsender.c:1299 #, c-format msgid "%s must not be called in a subtransaction" msgstr "%s får inte anropas i en undertransaktion" -#: replication/walsender.c:1275 +#: replication/walsender.c:1472 #, c-format msgid "terminating walsender process after promotion" -msgstr "stänger ner walsender-process efter befordring" +msgstr "stänger ner walsender-process efter befordran" -#: replication/walsender.c:1696 +#: replication/walsender.c:2000 #, 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:1731 +#: replication/walsender.c:2035 #, 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:1764 +#: replication/walsender.c:2068 #, c-format msgid "received replication command: %s" msgstr "tog emot replikeringskommando: %s" -#: replication/walsender.c:1772 tcop/fastpath.c:209 tcop/postgres.c:1138 -#: tcop/postgres.c:1496 tcop/postgres.c:1736 tcop/postgres.c:2210 -#: tcop/postgres.c:2648 tcop/postgres.c:2726 +#: replication/walsender.c:2076 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:1914 replication/walsender.c:1949 +#: replication/walsender.c:2233 replication/walsender.c:2268 #, c-format msgid "unexpected EOF on standby connection" msgstr "oväntat EOF från standby-anslutning" -#: replication/walsender.c:1937 +#: replication/walsender.c:2256 #, c-format msgid "invalid standby message type \"%c\"" msgstr "ogiltigt standby-meddelandetyp \"%c\"" -#: replication/walsender.c:2026 +#: replication/walsender.c:2345 #, c-format msgid "unexpected message type \"%c\"" msgstr "oväntad meddelandetyp \"%c\"" -#: replication/walsender.c:2439 +#: replication/walsender.c:2759 #, c-format msgid "terminating walsender process due to replication timeout" msgstr "avslutar walsender-process på grund av replikerings-timeout" -#: rewrite/rewriteDefine.c:111 rewrite/rewriteDefine.c:842 +#: rewrite/rewriteDefine.c:104 rewrite/rewriteDefine.c:835 #, c-format msgid "rule \"%s\" for relation \"%s\" already exists" msgstr "regel \"%s\" för relation \"%s\" existerar redan" -#: rewrite/rewriteDefine.c:268 rewrite/rewriteDefine.c:780 +#: rewrite/rewriteDefine.c:261 rewrite/rewriteDefine.c:773 #, c-format msgid "relation \"%s\" cannot have rules" msgstr "relationen \"%s\" kan inte ha regler" -#: rewrite/rewriteDefine.c:299 +#: rewrite/rewriteDefine.c:292 #, c-format msgid "rule actions on OLD are not implemented" msgstr "regelhandlingar på OLD är inte implementerat" -#: rewrite/rewriteDefine.c:300 +#: rewrite/rewriteDefine.c:293 #, c-format msgid "Use views or triggers instead." msgstr "Använd vyer eller triggrar istället." -#: rewrite/rewriteDefine.c:304 +#: rewrite/rewriteDefine.c:297 #, c-format msgid "rule actions on NEW are not implemented" msgstr "regelhandlingar på NEW är inte implementerat" -#: rewrite/rewriteDefine.c:305 +#: rewrite/rewriteDefine.c:298 #, c-format msgid "Use triggers instead." msgstr "Använd triggrar istället." -#: rewrite/rewriteDefine.c:319 +#: rewrite/rewriteDefine.c:312 #, c-format msgid "relation \"%s\" cannot have ON SELECT rules" msgstr "relationen \"%s\" kan inte ha ON SELECT-regler" -#: rewrite/rewriteDefine.c:329 +#: rewrite/rewriteDefine.c:322 #, c-format msgid "INSTEAD NOTHING rules on SELECT are not implemented" msgstr "INSTEAD NOTHING-regler på SELECT är inte implementerat ännu" -#: rewrite/rewriteDefine.c:330 +#: rewrite/rewriteDefine.c:323 #, c-format msgid "Use views instead." msgstr "Använd vyer istället." -#: rewrite/rewriteDefine.c:338 +#: rewrite/rewriteDefine.c:331 #, c-format msgid "multiple actions for rules on SELECT are not implemented" msgstr "flera regelhandlingar på SELECT är inte implementerat" -#: rewrite/rewriteDefine.c:348 +#: rewrite/rewriteDefine.c:341 #, c-format msgid "rules on SELECT must have action INSTEAD SELECT" msgstr "regler på SELECT måste ha handlingen INSTEAD SELECT" -#: rewrite/rewriteDefine.c:356 +#: rewrite/rewriteDefine.c:349 #, c-format msgid "rules on SELECT must not contain data-modifying statements in WITH" msgstr "regler på SELECT får inte innehålla datamodifierande satser i WITH" -#: rewrite/rewriteDefine.c:364 +#: rewrite/rewriteDefine.c:357 #, c-format msgid "event qualifications are not implemented for rules on SELECT" msgstr "händelsebegränsningar är inte implementerat för regler på SELECT" -#: rewrite/rewriteDefine.c:391 +#: rewrite/rewriteDefine.c:384 #, c-format msgid "\"%s\" is already a view" msgstr "\"%s\" är redan en vy" -#: rewrite/rewriteDefine.c:415 +#: rewrite/rewriteDefine.c:408 #, c-format msgid "view rule for \"%s\" must be named \"%s\"" msgstr "vy-regel (rule) för \"%s\" måste ha namnet \"%s\"" -#: rewrite/rewriteDefine.c:442 +#: rewrite/rewriteDefine.c:435 #, c-format msgid "cannot have multiple RETURNING lists in a rule" msgstr "kan inte ha flera RETURNING-listor i en regel" -#: rewrite/rewriteDefine.c:447 +#: rewrite/rewriteDefine.c:440 #, c-format msgid "RETURNING lists are not supported in conditional rules" msgstr "RETURNING-listor stöds inte i villkorade regler" -#: rewrite/rewriteDefine.c:451 +#: rewrite/rewriteDefine.c:444 #, c-format msgid "RETURNING lists are not supported in non-INSTEAD rules" msgstr "RETURNING-listor stöds inte i icke-INSTEAD-regler" -#: rewrite/rewriteDefine.c:465 +#: rewrite/rewriteDefine.c:458 #, c-format msgid "non-view rule for \"%s\" must not be named \"%s\"" msgstr "regel (rule) för icke-vy \"%s\" får inte ha namnet \"%s\"" -#: rewrite/rewriteDefine.c:539 +#: rewrite/rewriteDefine.c:532 #, c-format msgid "SELECT rule's target list has too many entries" msgstr "SELECT-regelns mållista har för många poster" -#: rewrite/rewriteDefine.c:540 +#: rewrite/rewriteDefine.c:533 #, c-format msgid "RETURNING list has too many entries" msgstr "RETURNING-lista har för många element" -#: rewrite/rewriteDefine.c:567 +#: rewrite/rewriteDefine.c:560 #, c-format msgid "cannot convert relation containing dropped columns to view" msgstr "kan inte konvertera en relation som har borttagna kolumner till en vy" -#: rewrite/rewriteDefine.c:568 +#: rewrite/rewriteDefine.c:561 #, c-format msgid "cannot create a RETURNING list for a relation containing dropped columns" msgstr "kan inte skapa en RETURNING-lista för relationer som innehåller borttagna kolumner" -#: rewrite/rewriteDefine.c:574 +#: rewrite/rewriteDefine.c:567 #, c-format msgid "SELECT rule's target entry %d has different column name from column \"%s\"" msgstr "SELECT-regels målpost %d har ett annat kolumnnamn än kolumnen \"%s\"" -#: rewrite/rewriteDefine.c:576 +#: rewrite/rewriteDefine.c:569 #, c-format msgid "SELECT target entry is named \"%s\"." msgstr "SELECT-målpost har namn \"%s\"." -#: rewrite/rewriteDefine.c:585 +#: rewrite/rewriteDefine.c:578 #, c-format msgid "SELECT rule's target entry %d has different type from column \"%s\"" msgstr "SELECT-regels målpot %d har en annan typ än kolumnen \"%s\"" -#: rewrite/rewriteDefine.c:587 +#: rewrite/rewriteDefine.c:580 #, c-format msgid "RETURNING list's entry %d has different type from column \"%s\"" msgstr "RETURNING-listans post %d har en annan typ än kolumnen \"%s\"" -#: rewrite/rewriteDefine.c:590 rewrite/rewriteDefine.c:614 +#: rewrite/rewriteDefine.c:583 rewrite/rewriteDefine.c:607 #, c-format msgid "SELECT target entry has type %s, but column has type %s." msgstr "SELECT-målpost har typ %s men kolumnen har typ %s." -#: rewrite/rewriteDefine.c:593 rewrite/rewriteDefine.c:618 +#: rewrite/rewriteDefine.c:586 rewrite/rewriteDefine.c:611 #, c-format msgid "RETURNING list entry has type %s, but column has type %s." msgstr "RETURNING-listpost har typ %s men kolumnen har typ %s." -#: rewrite/rewriteDefine.c:609 +#: rewrite/rewriteDefine.c:602 #, c-format msgid "SELECT rule's target entry %d has different size from column \"%s\"" msgstr "SELECT-regelns målpost %d har en annan storlek än kolumnen \"%s\"" -#: rewrite/rewriteDefine.c:611 +#: rewrite/rewriteDefine.c:604 #, c-format msgid "RETURNING list's entry %d has different size from column \"%s\"" msgstr "RETURNING-listpost %d har en annan storlek än kolumnen\"%s\"" -#: rewrite/rewriteDefine.c:628 +#: rewrite/rewriteDefine.c:621 #, c-format msgid "SELECT rule's target list has too few entries" msgstr "SELECT-regels mållista har för få element" -#: rewrite/rewriteDefine.c:629 +#: rewrite/rewriteDefine.c:622 #, c-format msgid "RETURNING list has too few entries" msgstr "RETURNING-lista har för få element" -#: rewrite/rewriteDefine.c:718 rewrite/rewriteDefine.c:833 -#: rewrite/rewriteSupport.c:109 +#: rewrite/rewriteDefine.c:711 rewrite/rewriteDefine.c:826 +#: rewrite/rewriteSupport.c:108 #, c-format msgid "rule \"%s\" for relation \"%s\" does not exist" msgstr "regel \"%s\" för relation \"%s\" existerar inte" -#: rewrite/rewriteDefine.c:852 +#: rewrite/rewriteDefine.c:845 #, c-format msgid "renaming an ON SELECT rule is not allowed" msgstr "byta namn på en ON SELECT-regel tillåts inte" -#: rewrite/rewriteHandler.c:583 +#: rewrite/rewriteHandler.c:582 #, c-format 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:610 +#: rewrite/rewriteHandler.c:609 #, 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:663 +#: rewrite/rewriteHandler.c:662 #, c-format msgid "cannot have RETURNING lists in multiple rules" msgstr "kan inte ha RETURNING-listor i multipla regler" -#: rewrite/rewriteHandler.c:895 rewrite/rewriteHandler.c:934 +#: rewrite/rewriteHandler.c:894 rewrite/rewriteHandler.c:933 #, 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:897 rewrite/rewriteHandler.c:963 +#: rewrite/rewriteHandler.c:896 rewrite/rewriteHandler.c:962 #, 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:899 +#: rewrite/rewriteHandler.c:898 #, c-format msgid "Use OVERRIDING SYSTEM VALUE to override." msgstr "Använd OVERRIDING SYSTEM VALUE för att överskugga." -#: rewrite/rewriteHandler.c:961 rewrite/rewriteHandler.c:969 +#: rewrite/rewriteHandler.c:960 rewrite/rewriteHandler.c:968 #, c-format msgid "column \"%s\" can only be updated to DEFAULT" msgstr "kolumn \"%s\" kan bara uppdateras till DEFAULT" -#: rewrite/rewriteHandler.c:1116 rewrite/rewriteHandler.c:1134 +#: rewrite/rewriteHandler.c:1115 rewrite/rewriteHandler.c:1133 #, c-format msgid "multiple assignments to same column \"%s\"" msgstr "flera tilldelningar till samma kolumn \"%s\"" -#: rewrite/rewriteHandler.c:2119 rewrite/rewriteHandler.c:4040 +#: rewrite/rewriteHandler.c:1698 +#, c-format +msgid "MERGE is not supported for relations with rules." +msgstr "MERGE stöds inte för relationer med regler." + +#: rewrite/rewriteHandler.c:1738 rewrite/rewriteHandler.c:3229 +#, c-format +msgid "access to non-system view \"%s\" is restricted" +msgstr "access till icke-system vy \"%s\" är begränsad" + +#: rewrite/rewriteHandler.c:2119 rewrite/rewriteHandler.c:4221 #, c-format msgid "infinite recursion detected in rules for relation \"%s\"" msgstr "oändlig rekursion detekterad i reglerna för relation \"%s\"" @@ -21511,163 +22236,226 @@ msgstr "oändlig rekursion detekterad i reglerna för relation \"%s\"" msgid "infinite recursion detected in policy for relation \"%s\"" msgstr "oändlig rekursion detekterad i policy för relation \"%s\"" -#: rewrite/rewriteHandler.c:2524 +#: rewrite/rewriteHandler.c:2556 msgid "Junk view columns are not updatable." msgstr "Skräpkolumner i vy är inte uppdateringsbara." -#: rewrite/rewriteHandler.c:2529 +#: rewrite/rewriteHandler.c:2561 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:2532 +#: rewrite/rewriteHandler.c:2564 msgid "View columns that refer to system columns are not updatable." msgstr "Vykolumner som refererar till systemkolumner är inte uppdateringsbara." -#: rewrite/rewriteHandler.c:2535 +#: rewrite/rewriteHandler.c:2567 msgid "View columns that return whole-row references are not updatable." msgstr "Vykolumner som returnerar hel-rad-referenser är inte uppdateringsbara." -#: rewrite/rewriteHandler.c:2596 +#: rewrite/rewriteHandler.c:2628 msgid "Views containing DISTINCT are not automatically updatable." msgstr "Vyer som innehåller DISTINCT är inte automatiskt uppdateringsbara." -#: rewrite/rewriteHandler.c:2599 +#: rewrite/rewriteHandler.c:2631 msgid "Views containing GROUP BY are not automatically updatable." msgstr "Vyer som innehåller GROUP BY är inte automatiskt uppdateringsbara." -#: rewrite/rewriteHandler.c:2602 +#: rewrite/rewriteHandler.c:2634 msgid "Views containing HAVING are not automatically updatable." msgstr "Vyer som innehåller HAVING är inte automatiskt uppdateringsbara." -#: rewrite/rewriteHandler.c:2605 +#: rewrite/rewriteHandler.c:2637 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:2608 +#: rewrite/rewriteHandler.c:2640 msgid "Views containing WITH are not automatically updatable." msgstr "Vyer som innehåller WITH är inte automatiskt uppdateringsbara." -#: rewrite/rewriteHandler.c:2611 +#: rewrite/rewriteHandler.c:2643 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:2623 +#: rewrite/rewriteHandler.c:2655 msgid "Views that return aggregate functions are not automatically updatable." msgstr "Vyer som returnerar aggregatfunktioner är inte automatiskt uppdateringsbara." -#: rewrite/rewriteHandler.c:2626 +#: rewrite/rewriteHandler.c:2658 msgid "Views that return window functions are not automatically updatable." msgstr "Vyer som returnerar fönsterfunktioner uppdateras inte automatiskt." -#: rewrite/rewriteHandler.c:2629 +#: rewrite/rewriteHandler.c:2661 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:2636 rewrite/rewriteHandler.c:2640 -#: rewrite/rewriteHandler.c:2648 +#: rewrite/rewriteHandler.c:2668 rewrite/rewriteHandler.c:2672 +#: rewrite/rewriteHandler.c:2680 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:2651 +#: rewrite/rewriteHandler.c:2683 msgid "Views containing TABLESAMPLE are not automatically updatable." msgstr "Vyer som innehåller TABLESAMPLE är inte automatiskt uppdateringsbara." -#: rewrite/rewriteHandler.c:2675 +#: rewrite/rewriteHandler.c:2707 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:3155 +#: rewrite/rewriteHandler.c:3088 rewrite/rewriteHandler.c:3123 +#, c-format +msgid "cannot insert into view \"%s\"" +msgstr "kan inte sätta in i vy \"%s\"" + +#: rewrite/rewriteHandler.c:3091 +#, 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:3096 rewrite/rewriteHandler.c:3132 +#, c-format +msgid "cannot update view \"%s\"" +msgstr "kan inte uppdatera vy \"%s\"" + +#: rewrite/rewriteHandler.c:3099 +#, 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:3104 rewrite/rewriteHandler.c:3141 +#, c-format +msgid "cannot delete from view \"%s\"" +msgstr "kan inte radera från vy \"%s\"" + +#: rewrite/rewriteHandler.c:3107 +#, 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:3126 +#, 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:3135 +#, 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:3144 +#, 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:3319 #, 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:3163 +#: rewrite/rewriteHandler.c:3327 #, c-format msgid "cannot update column \"%s\" of view \"%s\"" msgstr "kan inte uppdatera kolumn \"%s\" i view \"%s\"" -#: rewrite/rewriteHandler.c:3667 +#: rewrite/rewriteHandler.c:3335 +#, 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:3363 +#, c-format +msgid "cannot merge into view \"%s\"" +msgstr "kan inte merge:a till vy \"%s\"" + +#: rewrite/rewriteHandler.c:3365 +#, 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:3366 +#, 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:3879 #, 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:3678 +#: rewrite/rewriteHandler.c:3890 #, 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:3692 +#: rewrite/rewriteHandler.c:3904 #, 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:3696 +#: rewrite/rewriteHandler.c:3908 #, 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:3701 +#: rewrite/rewriteHandler.c:3913 #, 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:3968 rewrite/rewriteHandler.c:3976 -#: rewrite/rewriteHandler.c:3984 -#, c-format +#: rewrite/rewriteHandler.c:4173 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:4089 +#: rewrite/rewriteHandler.c:4270 #, c-format msgid "cannot perform INSERT RETURNING on relation \"%s\"" msgstr "kan inte utföra INSERT RETURNING på relation \"%s\"" -#: rewrite/rewriteHandler.c:4091 +#: rewrite/rewriteHandler.c:4272 #, 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:4096 +#: rewrite/rewriteHandler.c:4277 #, c-format msgid "cannot perform UPDATE RETURNING on relation \"%s\"" msgstr "kan inte utföra UPDATE RETURNING på relation \"%s\"" -#: rewrite/rewriteHandler.c:4098 +#: rewrite/rewriteHandler.c:4279 #, 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:4103 +#: rewrite/rewriteHandler.c:4284 #, c-format msgid "cannot perform DELETE RETURNING on relation \"%s\"" msgstr "kan inte utföra DELETE RETURNING på relation \"%s\"" -#: rewrite/rewriteHandler.c:4105 +#: rewrite/rewriteHandler.c:4286 #, 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:4123 +#: rewrite/rewriteHandler.c:4304 #, 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:4180 +#: rewrite/rewriteHandler.c:4361 #, 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" -#: rewrite/rewriteManip.c:1075 +#: rewrite/rewriteManip.c:1083 #, c-format msgid "conditional utility statements are not implemented" msgstr "villkorliga hjälpsatser är inte implementerat" -#: rewrite/rewriteManip.c:1419 +#: rewrite/rewriteManip.c:1430 #, c-format msgid "WHERE CURRENT OF on a view is not implemented" msgstr "WHERE CURRENT OF för en vy är inte implementerat" -#: rewrite/rewriteManip.c:1754 +#: rewrite/rewriteManip.c:1765 #, c-format msgid "NEW variables in ON UPDATE rules cannot reference columns that are part of a multiple assignment in the subject UPDATE command" msgstr "NEW-variabler i ON UPDATE-regler kan inte referera till kolumner som är del av en multiple uppdatering i subjektets UPDATE-kommando" @@ -21677,117 +22465,117 @@ msgstr "NEW-variabler i ON UPDATE-regler kan inte referera till kolumner som är msgid "with a SEARCH or CYCLE clause, the recursive reference to WITH query \"%s\" must be at the top level of its right-hand SELECT" msgstr "med en SEARCH- eller CYCLE-klausul så måste rekursiva referensen till WITH-fråga \"%s\" vara på toppnivå eller i dess högra SELECT" -#: scan.l:482 +#: scan.l:497 msgid "unterminated /* comment" msgstr "ej avslutad /*-kommentar" -#: scan.l:502 +#: scan.l:517 msgid "unterminated bit string literal" msgstr "ej avslutad bitsträngslitteral" -#: scan.l:516 +#: scan.l:531 msgid "unterminated hexadecimal string literal" msgstr "ej avslutad hexadecimal stränglitteral" -#: scan.l:566 +#: scan.l:581 #, c-format msgid "unsafe use of string constant with Unicode escapes" msgstr "osäker användning av strängkonstand med Unicode-escape:r" -#: scan.l:567 +#: scan.l:582 #, c-format -msgid "String constants with Unicode escapes cannot be used when standard_conforming_strings is off." -msgstr "Strängkonstanter som innehåller Unicode-escapesekvenser kan inte användas när standard_conforming_strings är av." +msgid "String constants with Unicode escapes cannot be used when \"standard_conforming_strings\" is off." +msgstr "Strängkonstanter som innehåller Unicode-escapesekvenser kan inte användas när \"standard_conforming_strings\" är av." -#: scan.l:628 +#: scan.l:643 msgid "unhandled previous state in xqs" msgstr "tidigare state i xqs som ej kan hanteras" -#: scan.l:702 +#: scan.l:717 #, c-format msgid "Unicode escapes must be \\uXXXX or \\UXXXXXXXX." msgstr "Unicode-escapesekvenser måste vara \\uXXXX eller \\UXXXXXXXX." -#: scan.l:713 +#: scan.l:728 #, c-format msgid "unsafe use of \\' in a string literal" msgstr "osäker användning av \\' i stränglitteral" -#: scan.l:714 +#: scan.l:729 #, c-format msgid "Use '' to write quotes in strings. \\' is insecure in client-only encodings." msgstr "Använd '' för att inkludera ett enkelcitattecken i en sträng. \\' är inte säkert i klient-teckenkodning." -#: scan.l:786 +#: scan.l:801 msgid "unterminated dollar-quoted string" msgstr "icke terminerad dollarciterad sträng" -#: scan.l:803 scan.l:813 +#: scan.l:818 scan.l:828 msgid "zero-length delimited identifier" msgstr "noll-längds avdelad identifierare" -#: scan.l:824 syncrep_scanner.l:101 +#: scan.l:839 syncrep_scanner.l:101 msgid "unterminated quoted identifier" msgstr "icke terminerad citerad identifierare" -#: scan.l:987 +#: scan.l:1002 msgid "operator too long" msgstr "operatorn är för lång" -#: scan.l:1000 +#: scan.l:1015 msgid "trailing junk after parameter" msgstr "skräptecken kommer efter parameter" -#: scan.l:1021 +#: scan.l:1036 msgid "invalid hexadecimal integer" msgstr "ogiltigt hexdecimalt heltal" -#: scan.l:1025 +#: scan.l:1040 msgid "invalid octal integer" msgstr "ogiltigt oktalt heltal" -#: scan.l:1029 +#: scan.l:1044 msgid "invalid binary integer" msgstr "ogiltigt binärt heltal" #. translator: %s is typically the translation of "syntax error" -#: scan.l:1236 +#: scan.l:1239 #, c-format msgid "%s at end of input" msgstr "%s vid slutet av indatan" #. translator: first %s is typically the translation of "syntax error" -#: scan.l:1244 +#: scan.l:1247 #, c-format msgid "%s at or near \"%s\"" msgstr "%s vid eller nära \"%s\"" -#: scan.l:1434 +#: scan.l:1439 #, c-format msgid "nonstandard use of \\' in a string literal" msgstr "ickestandard användning av \\' i stränglitteral" -#: scan.l:1435 +#: scan.l:1440 #, c-format msgid "Use '' to write quotes in strings, or use the escape string syntax (E'...')." msgstr "Använd '' för att skriva citattecken i strängar eller använd escape-strängsyntac (E'...')." -#: scan.l:1444 +#: scan.l:1449 #, c-format msgid "nonstandard use of \\\\ in a string literal" msgstr "ickestandard användning av \\\\ i strängslitteral" -#: scan.l:1445 +#: scan.l:1450 #, c-format msgid "Use the escape string syntax for backslashes, e.g., E'\\\\'." msgstr "Använd escape-strängsyntax för bakstreck, dvs. E'\\\\'." -#: scan.l:1459 +#: scan.l:1464 #, c-format msgid "nonstandard use of escape in a string literal" msgstr "ickestandard användning av escape i stränglitteral" -#: scan.l:1460 +#: scan.l:1465 #, c-format msgid "Use the escape string syntax for escapes, e.g., E'\\r\\n'." msgstr "Använd escape-strängsyntax, dvs E'\\r\\n'." @@ -21818,72 +22606,67 @@ msgstr "okänd Snowball-parameter: \"%s\"" msgid "missing Language parameter" msgstr "saknar parameter \"Language\"" -#: statistics/extended_stats.c:179 +#: statistics/extended_stats.c:176 #, c-format msgid "statistics object \"%s.%s\" could not be computed for relation \"%s.%s\"" msgstr "statistikobjekt \"%s.%s\" kunde inte beräknas för relation \"%s.%s\"" -#: statistics/mcv.c:1372 +#: statistics/mcv.c:1368 #, c-format 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:612 storage/buffer/bufmgr.c:769 +#: storage/buffer/bufmgr.c:649 storage/buffer/bufmgr.c:805 #, 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:1137 +#: storage/buffer/bufmgr.c:1532 #, 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:1931 storage/buffer/localbuf.c:359 +#: storage/buffer/bufmgr.c:2277 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:1998 +#: storage/buffer/bufmgr.c:2348 #, 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:2000 +#: storage/buffer/bufmgr.c:2350 #, 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:5219 +#: storage/buffer/bufmgr.c:5653 #, c-format msgid "could not write block %u of %s" msgstr "kunde inte skriva block %u av %s" -#: storage/buffer/bufmgr.c:5221 +#: storage/buffer/bufmgr.c:5655 #, c-format msgid "Multiple failures --- write error might be permanent." msgstr "Multipla fel --- skrivfelet kan vara permanent." -#: storage/buffer/bufmgr.c:5243 storage/buffer/bufmgr.c:5263 +#: storage/buffer/bufmgr.c:5677 storage/buffer/bufmgr.c:5697 #, c-format msgid "writing block %u of relation %s" msgstr "skriver block %u i relation %s" -#: storage/buffer/bufmgr.c:5593 -#, c-format -msgid "snapshot too old" -msgstr "snapshot för gammal" - -#: storage/buffer/localbuf.c:219 +#: storage/buffer/localbuf.c:220 #, c-format msgid "no empty local buffer available" msgstr "ingen tom lokal buffer tillgänglig" -#: storage/buffer/localbuf.c:592 +#: storage/buffer/localbuf.c:597 #, c-format msgid "cannot access temporary tables during a parallel operation" msgstr "kan inte komma åt temporära tabeller under en parallell operation" -#: storage/buffer/localbuf.c:699 +#: storage/buffer/localbuf.c:712 #, c-format msgid "\"temp_buffers\" cannot be changed after any temporary tables have been accessed in the session." msgstr "\"temp_buffers\" kan inte ändras efter att man använt temporära tabeller i sessionen." @@ -21903,152 +22686,157 @@ msgstr "kunde inte läsa från filmängd \"%s\": läste bara %zu av %zu byte" msgid "could not read from temporary file: read only %zu of %zu bytes" msgstr "kunde inte läsa från temporärfil: läste bara %zu av %zu byte" -#: storage/file/buffile.c:774 storage/file/buffile.c:895 +#: storage/file/buffile.c:774 storage/file/buffile.c:877 #, c-format msgid "could not determine size of temporary file \"%s\" from BufFile \"%s\": %m" msgstr "kunde inte bestämma storlek på temporär fil \"%s\" från BufFile \"%s\": %m" -#: storage/file/buffile.c:974 +#: storage/file/buffile.c:956 #, c-format msgid "could not delete fileset \"%s\": %m" msgstr "kunde inte radera filmängd \"%s\": %m" -#: storage/file/buffile.c:992 storage/smgr/md.c:338 storage/smgr/md.c:1041 +#: storage/file/buffile.c:974 storage/smgr/md.c:336 storage/smgr/md.c:1192 #, c-format msgid "could not truncate file \"%s\": %m" msgstr "kunde inte trunkera fil \"%s\": %m" -#: storage/file/fd.c:537 storage/file/fd.c:609 storage/file/fd.c:645 +#: 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:567 +#: 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:619 +#: 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:937 +#: storage/file/fd.c:983 #, c-format msgid "getrlimit failed: %m" msgstr "getrlimit misslyckades: %m" -#: storage/file/fd.c:1027 +#: 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:1028 +#: 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:1116 storage/file/fd.c:2565 storage/file/fd.c:2674 -#: storage/file/fd.c:2825 +#: 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:1490 +#: 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:1629 +#: 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:1636 +#: 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:1833 +#: 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:1869 +#: 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:1910 +#: 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:1998 +#: 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:2185 +#: 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:2541 storage/file/fd.c:2600 +#: 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:2645 +#: 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:2801 +#: 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:3331 +#: 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:3449 +#: 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:3463 -#, c-format -msgid "could not synchronize file system for file \"%s\": %m" -msgstr "kan inte synkronisera filsystemet för fil \"%s\": %m" - -#: storage/file/fd.c:3676 +#: 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:3708 +#: 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:3897 +#: 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:3964 +#, c-format +msgid "Invalid list syntax in parameter \"%s\"" +msgstr "Ogiltigt listsyntax för parameter \"%s\"" + +#: storage/file/fd.c:3984 #, c-format -msgid "debug_io_direct is not supported on this platform." -msgstr "debug_io_direct stöds inte på denna plattform." +msgid "Invalid option \"%s\"" +msgstr "Ogiltig flagga \"%s\"" -#: storage/file/fd.c:3944 +#: 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" +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:3951 +#: 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" +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" #: storage/file/reinit.c:145 #, c-format @@ -22060,22 +22848,22 @@ msgstr "nollställer ologgade relationer (init), förbrukad tid %ld.%02d s, aktu msgid "resetting unlogged relations (cleanup), elapsed time: %ld.%02d s, current path: %s" msgstr "nollställer ologgade relationer (cleanup), förbrukad tid %ld.%02d s, aktuell sökväg: %s" -#: storage/file/sharedfileset.c:79 +#: storage/file/sharedfileset.c:73 #, c-format msgid "could not attach to a SharedFileSet that is already destroyed" msgstr "kunde inte koppla till en SharedFileSet som redan tagits bort" -#: storage/ipc/dsm.c:352 +#: storage/ipc/dsm.c:379 #, c-format msgid "dynamic shared memory control segment is corrupt" msgstr "dynamiskt delat minnes kontrollsegment är korrupt" -#: storage/ipc/dsm.c:417 +#: storage/ipc/dsm.c:444 #, c-format msgid "dynamic shared memory control segment is not valid" msgstr "dynamiskt delat minnes kontrollsegment är inte giltigt" -#: storage/ipc/dsm.c:599 +#: storage/ipc/dsm.c:626 #, c-format msgid "too many dynamic shared memory segments" msgstr "för många dynamiska delade minnessegment" @@ -22135,73 +22923,99 @@ msgstr "kunde inte stänga delat minnessegment \"%s\": %m" msgid "could not duplicate handle for \"%s\": %m" msgstr "kunde inte duplicera handle för \"%s\": %m" -#: storage/ipc/procarray.c:3796 +#: storage/ipc/dsm_registry.c:142 +#, 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 +#, c-format +msgid "DSM segment name too long" +msgstr "Namn på DSM-segment är för långt" + +#: storage/ipc/dsm_registry.c:150 +#, 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 +#, 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" + +#: storage/ipc/procarray.c:488 storage/lmgr/proc.c:352 +#: tcop/backend_startup.c:304 +#, c-format +msgid "sorry, too many clients already" +msgstr "ledsen, för många klienter" + +#: storage/ipc/procarray.c:3857 #, c-format msgid "database \"%s\" is being used by prepared transactions" msgstr "databasen \"%s\" används av förberedda transationer" -#: storage/ipc/procarray.c:3828 storage/ipc/procarray.c:3837 -#: storage/ipc/signalfuncs.c:230 storage/ipc/signalfuncs.c:237 +#: storage/ipc/procarray.c:3893 storage/ipc/procarray.c:3901 +#: storage/ipc/signalfuncs.c:235 storage/ipc/signalfuncs.c:242 #, c-format msgid "permission denied to terminate process" msgstr "rättighet saknas för att avsluta process" -#: storage/ipc/procarray.c:3829 storage/ipc/signalfuncs.c:231 +#: storage/ipc/procarray.c:3894 storage/ipc/signalfuncs.c:236 #, c-format msgid "Only roles with the %s attribute may terminate processes of roles with the %s attribute." msgstr "Bara roller med attributet %s får terminera processer för roller som har attributet %s." -#: storage/ipc/procarray.c:3838 storage/ipc/signalfuncs.c:238 +#: storage/ipc/procarray.c:3902 storage/ipc/signalfuncs.c:243 #, c-format msgid "Only roles with privileges of the role whose process is being terminated or with privileges of the \"%s\" role may terminate this process." msgstr "Bara roller med rättigheter från rollen vars process kommer termineras eller med rättigheter från rollen \"%s\" får terminera denna process." -#: storage/ipc/procsignal.c:420 +#: storage/ipc/procsignal.c:416 #, c-format msgid "still waiting for backend with PID %d to accept ProcSignalBarrier" msgstr "väntare fortfarande på att backend:en med PID %d skall acceptera ProcSignalBarrier" -#: storage/ipc/shm_mq.c:384 +#: storage/ipc/shm_mq.c:383 #, c-format msgid "cannot send a message of size %zu via shared memory queue" msgstr "kan inte skicka ett meddelande med storlek %zu via kö i delat minne" -#: storage/ipc/shm_mq.c:719 +#: storage/ipc/shm_mq.c:718 #, c-format msgid "invalid message size %zu in shared memory queue" msgstr "ogiltig meddelandestorlek %zu i kö i delat minne" -#: storage/ipc/shm_toc.c:118 storage/ipc/shm_toc.c:200 storage/lmgr/lock.c:963 -#: storage/lmgr/lock.c:1001 storage/lmgr/lock.c:2786 storage/lmgr/lock.c:4171 -#: storage/lmgr/lock.c:4236 storage/lmgr/lock.c:4586 -#: storage/lmgr/predicate.c:2412 storage/lmgr/predicate.c:2427 -#: storage/lmgr/predicate.c:3824 storage/lmgr/predicate.c:4871 -#: utils/hash/dynahash.c:1107 +#: storage/ipc/shm_toc.c:118 storage/ipc/shm_toc.c:200 storage/lmgr/lock.c:984 +#: storage/lmgr/lock.c:1022 storage/lmgr/lock.c:2825 storage/lmgr/lock.c:4210 +#: storage/lmgr/lock.c:4275 storage/lmgr/lock.c:4625 +#: storage/lmgr/predicate.c:2463 storage/lmgr/predicate.c:2478 +#: storage/lmgr/predicate.c:3875 storage/lmgr/predicate.c:4922 +#: utils/hash/dynahash.c:1095 #, c-format msgid "out of shared memory" msgstr "slut på delat minne" -#: storage/ipc/shmem.c:170 storage/ipc/shmem.c:266 +#: storage/ipc/shmem.c:161 storage/ipc/shmem.c:257 #, c-format msgid "out of shared memory (%zu bytes requested)" msgstr "slut på delat minne (%zu byte efterfrågat)" -#: storage/ipc/shmem.c:445 +#: storage/ipc/shmem.c:436 #, c-format msgid "could not create ShmemIndex entry for data structure \"%s\"" msgstr "kunde inte skapa ShmemIndex-post för datastrukturen \"%s\"" -#: storage/ipc/shmem.c:460 +#: storage/ipc/shmem.c:451 #, c-format msgid "ShmemIndex entry size is wrong for data structure \"%s\": expected %zu, actual %zu" msgstr "ShmemIndex-poststorlek är fel för datastruktur \"%s\": förväntade %zu var %zu" -#: storage/ipc/shmem.c:479 +#: storage/ipc/shmem.c:470 #, c-format msgid "not enough shared memory for data structure \"%s\" (%zu bytes requested)" msgstr "otillräckligt delat minne för datastruktur \"%s\" (efterfrågade %zu byte)" -#: storage/ipc/shmem.c:511 storage/ipc/shmem.c:530 +#: storage/ipc/shmem.c:502 storage/ipc/shmem.c:521 #, c-format msgid "requested shared memory size overflows size_t" msgstr "efterfrågad delat minnesstorlek överskrider size_t" @@ -22211,128 +23025,124 @@ msgstr "efterfrågad delat minnesstorlek överskrider size_t" msgid "PID %d is not a PostgreSQL backend process" msgstr "PID %d är inte en PostgreSQL backend-process" -#: storage/ipc/signalfuncs.c:104 storage/lmgr/proc.c:1379 -#: utils/adt/mcxtfuncs.c:190 +#: storage/ipc/signalfuncs.c:109 storage/lmgr/proc.c:1448 +#: utils/adt/mcxtfuncs.c:182 #, c-format msgid "could not send signal to process %d: %m" msgstr "kunde inte skicka signal till process %d: %m" -#: storage/ipc/signalfuncs.c:124 storage/ipc/signalfuncs.c:131 +#: storage/ipc/signalfuncs.c:129 storage/ipc/signalfuncs.c:136 #, c-format msgid "permission denied to cancel query" msgstr "rättighet saknas för att avbryta fråga" -#: storage/ipc/signalfuncs.c:125 +#: storage/ipc/signalfuncs.c:130 #, c-format msgid "Only roles with the %s attribute may cancel queries of roles with the %s attribute." msgstr "Bara roller med attributet %s får avbryta frågor åt roller med attributet %s." -#: storage/ipc/signalfuncs.c:132 +#: storage/ipc/signalfuncs.c:137 #, c-format msgid "Only roles with privileges of the role whose query is being canceled or with privileges of the \"%s\" role may cancel this query." msgstr "Bara roller med rättigheter från rollen vars fråga kommer avbrytas eller med rättigheter från rollen \"%s\" får avbryta denna fråga." -#: storage/ipc/signalfuncs.c:174 +#: storage/ipc/signalfuncs.c:179 #, c-format msgid "could not check the existence of the backend with PID %d: %m" msgstr "kunde inte kontrollera existensen av en backend med PID %d: %m" -#: storage/ipc/signalfuncs.c:192 +#: storage/ipc/signalfuncs.c:197 #, c-format msgid "backend with PID %d did not terminate within %lld millisecond" msgid_plural "backend with PID %d did not terminate within %lld milliseconds" msgstr[0] "backend med PID %d terminerade inte inom %lld millisekund" msgstr[1] "backend med PID %d terminerade inte inom %lld millisekunder" -#: storage/ipc/signalfuncs.c:223 +#: storage/ipc/signalfuncs.c:228 #, c-format msgid "\"timeout\" must not be negative" msgstr "\"timeout\" kan inte vara negativ" -#: storage/ipc/signalfuncs.c:279 -#, c-format -msgid "must be superuser to rotate log files with adminpack 1.0" -msgstr "måste vara superuser för att rotera loggfiler med adminpack 1.0" - -#. translator: %s is a SQL function name -#: storage/ipc/signalfuncs.c:281 utils/adt/genfile.c:250 -#, c-format -msgid "Consider using %s, which is part of core, instead." -msgstr "Du kanske kan använda %s istället som är en del av core." - -#: storage/ipc/signalfuncs.c:287 storage/ipc/signalfuncs.c:307 +#: storage/ipc/signalfuncs.c:285 #, c-format msgid "rotation not possible because log collection not active" msgstr "rotering är inte möjligt då logginsamling inte är aktiverad" -#: storage/ipc/standby.c:330 +#: storage/ipc/standby.c:329 #, c-format msgid "recovery still waiting after %ld.%03d ms: %s" msgstr "återställning väntar fortfarande efter %ld.%03d ms: %s" -#: storage/ipc/standby.c:339 +#: storage/ipc/standby.c:338 #, c-format msgid "recovery finished waiting after %ld.%03d ms: %s" msgstr "återställning slutade vänta efter efter %ld.%03d ms: %s" -#: storage/ipc/standby.c:921 tcop/postgres.c:3384 +#: storage/ipc/standby.c:920 tcop/postgres.c:3196 #, c-format msgid "canceling statement due to conflict with recovery" msgstr "avbryter sats på grund av konflikt med återställning" -#: storage/ipc/standby.c:922 tcop/postgres.c:2533 +#: storage/ipc/standby.c:921 tcop/postgres.c:2557 #, c-format msgid "User transaction caused buffer deadlock with recovery." msgstr "Användartransaktion orsakade deadlock för buffer vid återställning." -#: storage/ipc/standby.c:1488 +#: storage/ipc/standby.c:1486 msgid "unknown reason" msgstr "okänt skäl" -#: storage/ipc/standby.c:1493 +#: storage/ipc/standby.c:1491 msgid "recovery conflict on buffer pin" msgstr "återställningskonflikt vid bufferfastlåsning" -#: storage/ipc/standby.c:1496 +#: storage/ipc/standby.c:1494 msgid "recovery conflict on lock" msgstr "återställningskonflikt vid lås" -#: storage/ipc/standby.c:1499 +#: storage/ipc/standby.c:1497 msgid "recovery conflict on tablespace" msgstr "återställningskonflikt vid tabellutrymme" -#: storage/ipc/standby.c:1502 +#: storage/ipc/standby.c:1500 msgid "recovery conflict on snapshot" msgstr "återställningskonflikt vid snapshot" -#: storage/ipc/standby.c:1505 +#: storage/ipc/standby.c:1503 msgid "recovery conflict on replication slot" msgstr "återställningskonflikt vid replikeringsslot" -#: storage/ipc/standby.c:1508 +#: storage/ipc/standby.c:1506 msgid "recovery conflict on buffer deadlock" msgstr "återställningskonflikt vid bufferdeadlock" -#: storage/ipc/standby.c:1511 +#: storage/ipc/standby.c:1509 msgid "recovery conflict on database" msgstr "återställningskonflikt vid databas" -#: storage/large_object/inv_api.c:191 +#: storage/large_object/inv_api.c:190 #, c-format msgid "pg_largeobject entry for OID %u, page %d has invalid data field size %d" msgstr "pg_largeobject-post för OID %u, sida %d har ogiltig datafältstorlek %d" -#: storage/large_object/inv_api.c:274 +#: storage/large_object/inv_api.c:272 #, c-format msgid "invalid flags for opening a large object: %d" msgstr "ogiltiga flaggor för att öppna stort objekt: %d" -#: storage/large_object/inv_api.c:457 +#: storage/large_object/inv_api.c:297 storage/large_object/inv_api.c:309 +#: storage/large_object/inv_api.c:506 storage/large_object/inv_api.c:617 +#: storage/large_object/inv_api.c:807 +#, c-format +msgid "permission denied for large object %u" +msgstr "rättighet saknas för stort objekt %u" + +#: storage/large_object/inv_api.c:455 #, c-format msgid "invalid whence setting: %d" msgstr "ogiltig whence-inställning: %d" -#: storage/large_object/inv_api.c:629 +#: storage/large_object/inv_api.c:627 #, c-format msgid "invalid large object write request size: %d" msgstr "ogiltig storlek för stort objects skrivningbegäran: %d" @@ -22357,211 +23167,211 @@ msgstr "deadlock upptäckt" msgid "See server log for query details." msgstr "Se server-logg för frågedetaljer." -#: storage/lmgr/lmgr.c:859 +#: storage/lmgr/lmgr.c:848 #, c-format msgid "while updating tuple (%u,%u) in relation \"%s\"" msgstr "vid uppdatering av tupel (%u,%u) i relation \"%s\"" -#: storage/lmgr/lmgr.c:862 +#: storage/lmgr/lmgr.c:851 #, c-format msgid "while deleting tuple (%u,%u) in relation \"%s\"" msgstr "vid borttagning av tupel (%u,%u) i relation \"%s\"" -#: storage/lmgr/lmgr.c:865 +#: storage/lmgr/lmgr.c:854 #, c-format msgid "while locking tuple (%u,%u) in relation \"%s\"" msgstr "vid låsning av tupel (%u,%u) i relation \"%s\"" -#: storage/lmgr/lmgr.c:868 +#: storage/lmgr/lmgr.c:857 #, c-format msgid "while locking updated version (%u,%u) of tuple in relation \"%s\"" msgstr "vid låsning av uppdaterad version (%u,%u) av tupel i relation \"%s\"" -#: storage/lmgr/lmgr.c:871 +#: storage/lmgr/lmgr.c:860 #, c-format msgid "while inserting index tuple (%u,%u) in relation \"%s\"" msgstr "vid insättning av indextupel (%u,%u) i relation \"%s\"" -#: storage/lmgr/lmgr.c:874 +#: storage/lmgr/lmgr.c:863 #, c-format msgid "while checking uniqueness of tuple (%u,%u) in relation \"%s\"" msgstr "vid kontroll av unikhet av tupel (%u,%u) i relation \"%s\"" -#: storage/lmgr/lmgr.c:877 +#: storage/lmgr/lmgr.c:866 #, c-format msgid "while rechecking updated tuple (%u,%u) in relation \"%s\"" msgstr "vid återkontroll av uppdaterad tupel (%u,%u) i relation \"%s\"" -#: storage/lmgr/lmgr.c:880 +#: storage/lmgr/lmgr.c:869 #, c-format msgid "while checking exclusion constraint on tuple (%u,%u) in relation \"%s\"" msgstr "vid kontroll av uteslutningsvillkor av tupel (%u,%u) i relation \"%s\"" -#: storage/lmgr/lmgr.c:1174 +#: storage/lmgr/lmgr.c:1239 #, c-format msgid "relation %u of database %u" msgstr "relation %u i databasen %u" -#: storage/lmgr/lmgr.c:1180 +#: storage/lmgr/lmgr.c:1245 #, c-format msgid "extension of relation %u of database %u" msgstr "utökning av relation %u i databas %u" -#: storage/lmgr/lmgr.c:1186 +#: storage/lmgr/lmgr.c:1251 #, c-format msgid "pg_database.datfrozenxid of database %u" msgstr "pg_database.datfrozenxid för databas %u" -#: storage/lmgr/lmgr.c:1191 +#: storage/lmgr/lmgr.c:1256 #, c-format msgid "page %u of relation %u of database %u" msgstr "sida %u i relation %u i databas %u" -#: storage/lmgr/lmgr.c:1198 +#: storage/lmgr/lmgr.c:1263 #, c-format msgid "tuple (%u,%u) of relation %u of database %u" msgstr "tuple (%u,%u) i relation %u i databas %u" -#: storage/lmgr/lmgr.c:1206 +#: storage/lmgr/lmgr.c:1271 #, c-format msgid "transaction %u" msgstr "transaktion %u" -#: storage/lmgr/lmgr.c:1211 +#: storage/lmgr/lmgr.c:1276 #, c-format msgid "virtual transaction %d/%u" msgstr "vituell transaktion %d/%u" -#: storage/lmgr/lmgr.c:1217 +#: storage/lmgr/lmgr.c:1282 #, c-format msgid "speculative token %u of transaction %u" msgstr "spekulativ token %u för transaktion %u" -#: storage/lmgr/lmgr.c:1223 +#: storage/lmgr/lmgr.c:1288 #, c-format msgid "object %u of class %u of database %u" msgstr "objekt %u av klass %u i databas %u" -#: storage/lmgr/lmgr.c:1231 +#: storage/lmgr/lmgr.c:1296 #, c-format msgid "user lock [%u,%u,%u]" msgstr "användarlås [%u,%u,%u]" -#: storage/lmgr/lmgr.c:1238 +#: storage/lmgr/lmgr.c:1303 #, c-format msgid "advisory lock [%u,%u,%u,%u]" msgstr "rådgivande lås [%u,%u,%u,%u]" -#: storage/lmgr/lmgr.c:1246 +#: storage/lmgr/lmgr.c:1311 #, c-format msgid "remote transaction %u of subscription %u of database %u" msgstr "fjärrtransaktion %u för prenumeration %u i databas %u" -#: storage/lmgr/lmgr.c:1253 +#: storage/lmgr/lmgr.c:1318 #, c-format msgid "unrecognized locktag type %d" msgstr "okänd låsetikettyp %d" -#: storage/lmgr/lock.c:791 +#: storage/lmgr/lock.c:812 #, c-format msgid "cannot acquire lock mode %s on database objects while recovery is in progress" msgstr "kan inte ta låsläge %s på databasobjekt när återställning pågår" -#: storage/lmgr/lock.c:793 +#: storage/lmgr/lock.c:814 #, c-format msgid "Only RowExclusiveLock or less can be acquired on database objects during recovery." msgstr "Bara RowExclusiveLock eller lägre kan tas på databasobjekt under återställning." -#: storage/lmgr/lock.c:3235 storage/lmgr/lock.c:3303 storage/lmgr/lock.c:3419 +#: storage/lmgr/lock.c:3274 storage/lmgr/lock.c:3342 storage/lmgr/lock.c:3458 #, c-format msgid "cannot PREPARE while holding both session-level and transaction-level locks on the same object" msgstr "kan inte göra PREPARE samtidigt som vi håller lås på sessionsnivå och transaktionsnivå för samma objekt" -#: storage/lmgr/predicate.c:649 +#: storage/lmgr/predicate.c:653 #, c-format msgid "not enough elements in RWConflictPool to record a read/write conflict" msgstr "ej tillräckligt med element i RWConflictPool för att spara ner en läs/skriv-konflikt" -#: storage/lmgr/predicate.c:650 storage/lmgr/predicate.c:675 +#: storage/lmgr/predicate.c:654 storage/lmgr/predicate.c:679 #, c-format -msgid "You might need to run fewer transactions at a time or increase max_connections." -msgstr "Du kan behöva köra färre samtidiga transaktioner eller öka max_connections." +msgid "You might need to run fewer transactions at a time or increase \"max_connections\"." +msgstr "Du kan behöva köra färre samtidiga transaktioner eller öka \"max_connections\"." -#: storage/lmgr/predicate.c:674 +#: storage/lmgr/predicate.c:678 #, c-format msgid "not enough elements in RWConflictPool to record a potential read/write conflict" msgstr "ej tillräckligt med element i RWConflictPool för att spara ner en potentiell läs/skriv-konflikt" -#: storage/lmgr/predicate.c:1630 +#: storage/lmgr/predicate.c:1681 #, c-format msgid "\"default_transaction_isolation\" is set to \"serializable\"." msgstr "\"default_transaction_isolation\" är satt till \"serializable\"." -#: storage/lmgr/predicate.c:1631 +#: storage/lmgr/predicate.c:1682 #, c-format msgid "You can use \"SET default_transaction_isolation = 'repeatable read'\" to change the default." msgstr "Du kan använda \"SET default_transaction_isolation = 'repeatable read'\" för att ändra standardvärdet." -#: storage/lmgr/predicate.c:1682 +#: storage/lmgr/predicate.c:1733 #, c-format msgid "a snapshot-importing transaction must not be READ ONLY DEFERRABLE" msgstr "en snapshot-importerande transaktion får inte vara READ ONLY DEFERRABLE" -#: storage/lmgr/predicate.c:1761 utils/time/snapmgr.c:570 -#: utils/time/snapmgr.c:576 +#: storage/lmgr/predicate.c:1812 utils/time/snapmgr.c:535 +#: utils/time/snapmgr.c:541 #, c-format msgid "could not import the requested snapshot" msgstr "kunde inte importera efterfrågat snapshot" -#: storage/lmgr/predicate.c:1762 utils/time/snapmgr.c:577 +#: storage/lmgr/predicate.c:1813 utils/time/snapmgr.c:542 #, c-format msgid "The source process with PID %d is not running anymore." msgstr "Källprocessen med PID %d kör inte längre." -#: storage/lmgr/predicate.c:3935 storage/lmgr/predicate.c:3971 -#: storage/lmgr/predicate.c:4004 storage/lmgr/predicate.c:4012 -#: storage/lmgr/predicate.c:4051 storage/lmgr/predicate.c:4281 -#: storage/lmgr/predicate.c:4600 storage/lmgr/predicate.c:4612 -#: storage/lmgr/predicate.c:4659 storage/lmgr/predicate.c:4695 +#: storage/lmgr/predicate.c:3986 storage/lmgr/predicate.c:4022 +#: storage/lmgr/predicate.c:4055 storage/lmgr/predicate.c:4063 +#: storage/lmgr/predicate.c:4102 storage/lmgr/predicate.c:4332 +#: storage/lmgr/predicate.c:4651 storage/lmgr/predicate.c:4663 +#: storage/lmgr/predicate.c:4710 storage/lmgr/predicate.c:4746 #, c-format msgid "could not serialize access due to read/write dependencies among transactions" msgstr "kunde inte serialisera åtkomst på grund av läs/skriv-beroenden bland transaktionerna" -#: storage/lmgr/predicate.c:3937 storage/lmgr/predicate.c:3973 -#: storage/lmgr/predicate.c:4006 storage/lmgr/predicate.c:4014 -#: storage/lmgr/predicate.c:4053 storage/lmgr/predicate.c:4283 -#: storage/lmgr/predicate.c:4602 storage/lmgr/predicate.c:4614 -#: storage/lmgr/predicate.c:4661 storage/lmgr/predicate.c:4697 +#: storage/lmgr/predicate.c:3988 storage/lmgr/predicate.c:4024 +#: storage/lmgr/predicate.c:4057 storage/lmgr/predicate.c:4065 +#: storage/lmgr/predicate.c:4104 storage/lmgr/predicate.c:4334 +#: storage/lmgr/predicate.c:4653 storage/lmgr/predicate.c:4665 +#: storage/lmgr/predicate.c:4712 storage/lmgr/predicate.c:4748 #, c-format msgid "The transaction might succeed if retried." msgstr "Transaktionen kan lyckas om den körs igen." -#: storage/lmgr/proc.c:349 +#: storage/lmgr/proc.c:348 #, c-format -msgid "number of requested standby connections exceeds max_wal_senders (currently %d)" -msgstr "antalet efterfrågade standby-anslutningar överskrider max_wal_senders (nu %d)" +msgid "number of requested standby connections exceeds \"max_wal_senders\" (currently %d)" +msgstr "antalet efterfrågade standby-anslutningar överskrider \"max_wal_senders\" (nu %d)" -#: storage/lmgr/proc.c:1472 +#: storage/lmgr/proc.c:1541 #, c-format msgid "process %d avoided deadlock for %s on %s by rearranging queue order after %ld.%03d ms" msgstr "process %d undvek deadlock på %s för %s genom att kasta om köordningen efter %ld.%03d ms" -#: storage/lmgr/proc.c:1487 +#: storage/lmgr/proc.c:1556 #, c-format msgid "process %d detected deadlock while waiting for %s on %s after %ld.%03d ms" msgstr "process %d upptäckte deadlock medan den väntade på %s för %s efter %ld.%03d ms" -#: storage/lmgr/proc.c:1496 +#: storage/lmgr/proc.c:1565 #, c-format msgid "process %d still waiting for %s on %s after %ld.%03d ms" msgstr "process %d väntar fortfarande på %s för %s efter %ld.%03d ms" -#: storage/lmgr/proc.c:1503 +#: storage/lmgr/proc.c:1572 #, c-format msgid "process %d acquired %s on %s after %ld.%03d ms" msgstr "process %d fick %s på %s efter %ld.%03d ms" -#: storage/lmgr/proc.c:1520 +#: storage/lmgr/proc.c:1589 #, c-format msgid "process %d failed to acquire %s on %s after %ld.%03d ms" msgstr "process %d misslyckades att ta %s på %s efter %ld.%03d ms" @@ -22594,421 +23404,561 @@ msgstr "trasiga postlängder: totalt %u, tillgänglig plats %u" msgid "corrupted line pointer: offset = %u, size = %u" msgstr "korrupt radpekare: offset = %u, storlek = %u" -#: storage/smgr/md.c:487 storage/smgr/md.c:549 +#: storage/smgr/md.c:485 storage/smgr/md.c:547 #, c-format msgid "cannot extend file \"%s\" beyond %u blocks" msgstr "kan inte utöka fil \"%s\" utöver %u block" -#: storage/smgr/md.c:502 storage/smgr/md.c:613 +#: storage/smgr/md.c:500 storage/smgr/md.c:611 #, c-format msgid "could not extend file \"%s\": %m" msgstr "kunde inte utöka fil \"%s\": %m" -#: storage/smgr/md.c:508 +#: storage/smgr/md.c:506 #, c-format 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:591 +#: storage/smgr/md.c:589 #, 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:782 -#, c-format -msgid "could not read block %u in file \"%s\": %m" -msgstr "kunde inte läsa block %u i fil \"%s\": %m" - -#: storage/smgr/md.c:798 +#: storage/smgr/md.c:869 #, c-format -msgid "could not read block %u in file \"%s\": read only %d of %d bytes" -msgstr "kunde inte läsa block %u i fil \"%s\": läste bara %d av %d byte" +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:856 +#: storage/smgr/md.c:895 #, c-format -msgid "could not write block %u in file \"%s\": %m" -msgstr "kunde inte skriva block %u i fil \"%s\": %m" +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:861 +#: storage/smgr/md.c:995 #, c-format -msgid "could not write block %u in file \"%s\": wrote only %d of %d bytes" -msgstr "kunde inte skriva block %u i fil \"%s\": skrev bara %d av %d byte" +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:1012 +#: storage/smgr/md.c:1163 #, 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:1067 +#: storage/smgr/md.c:1218 #, 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:1494 +#: storage/smgr/md.c:1688 #, 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:1508 +#: storage/smgr/md.c:1702 #, c-format msgid "could not open file \"%s\" (target block %u): %m" msgstr "kunde inte öppna fil \"%s\" (målblock %u): %m" -#: tcop/fastpath.c:142 utils/fmgr/fmgr.c:2132 +#: tcop/backend_startup.c:85 #, c-format -msgid "function with OID %u does not exist" -msgstr "funktionen med OID %u existerar inte" +msgid "SSL configuration could not be loaded in child process" +msgstr "SSL-konfigurering kunde inte laddas i barnprocess" -#: tcop/fastpath.c:149 +#: tcop/backend_startup.c:208 #, c-format -msgid "cannot call function \"%s\" via fastpath interface" -msgstr "kan inte anropa funktionen \"%s\" via fastpath-interface" +msgid "connection received: host=%s port=%s" +msgstr "ansluting mottagen: värd=%s port=%s" -#: tcop/fastpath.c:234 +#: tcop/backend_startup.c:213 #, c-format -msgid "fastpath function call: \"%s\" (OID %u)" -msgstr "fastpath funktionsanrop: \"%s\" (OID %u)" +msgid "connection received: host=%s" +msgstr "ansluting mottagen: värd=%s" -#: tcop/fastpath.c:313 tcop/postgres.c:1365 tcop/postgres.c:1601 -#: tcop/postgres.c:2059 tcop/postgres.c:2309 +#: tcop/backend_startup.c:277 #, c-format -msgid "duration: %s ms" -msgstr "varaktighet %s ms" +msgid "the database system is starting up" +msgstr "databassystemet startar upp" -#: tcop/fastpath.c:317 +#: tcop/backend_startup.c:283 #, c-format -msgid "duration: %s ms fastpath function call: \"%s\" (OID %u)" -msgstr "varaktighet: %s ms fastpath funktionsanrop: \"%s\" (OID %u)" +msgid "the database system is not yet accepting connections" +msgstr "databassystemet tar ännu inte emot anslutningar" -#: tcop/fastpath.c:353 +#: tcop/backend_startup.c:284 #, c-format -msgid "function call message contains %d arguments but function requires %d" -msgstr "meddelande för funktionsanrop innehåller %d argument men funktionen kräver %d" +msgid "Consistent recovery state has not been yet reached." +msgstr "Konsistent återställningstillstånd har ännu inte uppnåtts." -#: tcop/fastpath.c:361 +#: tcop/backend_startup.c:288 #, c-format -msgid "function call message contains %d argument formats but %d arguments" -msgstr "meddelande för funktioonsanrop innehåller %d argumentformat men %d argument" +msgid "the database system is not accepting connections" +msgstr "databassystemet tar inte emot anslutningar" -#: tcop/fastpath.c:385 +#: tcop/backend_startup.c:289 #, c-format -msgid "invalid argument size %d in function call message" -msgstr "ogiltig argumentstorlek %d i funktionsaropsmeddelande" +msgid "Hot standby mode is disabled." +msgstr "Hot standby-läge är avstängt." -#: tcop/fastpath.c:448 +#: tcop/backend_startup.c:294 +#, c-format +msgid "the database system is shutting down" +msgstr "databassystemet stänger ner" + +#: tcop/backend_startup.c:299 +#, c-format +msgid "the database system is in recovery mode" +msgstr "databassystemet är återställningsläge" + +#: tcop/backend_startup.c:414 +#, c-format +msgid "received direct SSL connection request without ALPN protocol negotiation extension" +msgstr "förfrågan för direkt SSL-anslutning har mottagits utan utökning för ALPN-protokollförhandling" + +#: tcop/backend_startup.c:420 +#, c-format +msgid "direct SSL connection accepted" +msgstr "direkt SSL-anslutning accepterad" + +#: tcop/backend_startup.c:430 +#, c-format +msgid "direct SSL connection rejected" +msgstr "direkt SSL-anslutning avvisad" + +#: tcop/backend_startup.c:489 tcop/backend_startup.c:517 +#, c-format +msgid "incomplete startup packet" +msgstr "ofullständigt startuppaket" + +#: tcop/backend_startup.c:501 tcop/backend_startup.c:538 +#, c-format +msgid "invalid length of startup packet" +msgstr "ogiltig längd på startuppaket" + +#: tcop/backend_startup.c:573 +#, c-format +msgid "SSLRequest accepted" +msgstr "SSLRequest accepterad" + +#: tcop/backend_startup.c:576 +#, c-format +msgid "SSLRequest rejected" +msgstr "SSLRequest nekad" + +#: tcop/backend_startup.c:585 +#, c-format +msgid "failed to send SSL negotiation response: %m" +msgstr "misslyckades att skicka SSL-förhandlingssvar: %m" + +#: tcop/backend_startup.c:603 +#, c-format +msgid "received unencrypted data after SSL request" +msgstr "tog emot okrypterad data efter SSL-förfrågan" + +#: tcop/backend_startup.c:604 tcop/backend_startup.c:658 +#, c-format +msgid "This could be either a client-software bug or evidence of an attempted man-in-the-middle attack." +msgstr "Detta kan antingen vara en bug i klientens mjukvara eller bevis på ett försök att utföra en attack av typen man-in-the-middle." + +#: tcop/backend_startup.c:627 +#, c-format +msgid "GSSENCRequest accepted" +msgstr "GSSENCRequest accepterad" + +#: tcop/backend_startup.c:630 +#, c-format +msgid "GSSENCRequest rejected" +msgstr "GSSENCRequest nekad" + +#: tcop/backend_startup.c:639 +#, c-format +msgid "failed to send GSSAPI negotiation response: %m" +msgstr "misslyckades att skicka GSSAPI-förhandlingssvar: %m" + +#: tcop/backend_startup.c:657 +#, c-format +msgid "received unencrypted data after GSSAPI encryption request" +msgstr "tog emot okrypterad data efter GSSAPI-krypteringsförfrågan" + +#: tcop/backend_startup.c:681 +#, c-format +msgid "unsupported frontend protocol %u.%u: server supports %u.0 to %u.%u" +msgstr "inget stöd för framändans protokoll %u.%u: servern stöder %u.0 till %u.%u" + +#: tcop/backend_startup.c:744 +#, c-format +msgid "Valid values are: \"false\", 0, \"true\", 1, \"database\"." +msgstr "Giltiga värden är: \"false\", 0, \"true\", 1, \"database\"." + +#: tcop/backend_startup.c:785 +#, c-format +msgid "invalid startup packet layout: expected terminator as last byte" +msgstr "ogiltig startpaketlayout: förväntade en terminator som sista byte" + +#: tcop/backend_startup.c:802 +#, c-format +msgid "no PostgreSQL user name specified in startup packet" +msgstr "inget PostgreSQL-användarnamn angivet i startuppaketet" + +#: tcop/fastpath.c:142 utils/fmgr/fmgr.c:2161 +#, c-format +msgid "function with OID %u does not exist" +msgstr "funktionen med OID %u existerar inte" + +#: tcop/fastpath.c:149 +#, c-format +msgid "cannot call function \"%s\" via fastpath interface" +msgstr "kan inte anropa funktionen \"%s\" via fastpath-interface" + +#: tcop/fastpath.c:234 +#, c-format +msgid "fastpath function call: \"%s\" (OID %u)" +msgstr "fastpath funktionsanrop: \"%s\" (OID %u)" + +#: tcop/fastpath.c:313 tcop/postgres.c:1369 tcop/postgres.c:1605 +#: tcop/postgres.c:2071 tcop/postgres.c:2333 +#, c-format +msgid "duration: %s ms" +msgstr "varaktighet %s ms" + +#: tcop/fastpath.c:317 +#, c-format +msgid "duration: %s ms fastpath function call: \"%s\" (OID %u)" +msgstr "varaktighet: %s ms fastpath funktionsanrop: \"%s\" (OID %u)" + +#: tcop/fastpath.c:353 +#, c-format +msgid "function call message contains %d arguments but function requires %d" +msgstr "meddelande för funktionsanrop innehåller %d argument men funktionen kräver %d" + +#: tcop/fastpath.c:361 +#, c-format +msgid "function call message contains %d argument formats but %d arguments" +msgstr "meddelande för funktioonsanrop innehåller %d argumentformat men %d argument" + +#: tcop/fastpath.c:385 +#, c-format +msgid "invalid argument size %d in function call message" +msgstr "ogiltig argumentstorlek %d i funktionsaropsmeddelande" + +#: tcop/fastpath.c:448 #, c-format msgid "incorrect binary data format in function argument %d" msgstr "inkorrekt binärt dataformat i funktionsargument %d" -#: tcop/postgres.c:463 tcop/postgres.c:4882 +#: tcop/postgres.c:467 tcop/postgres.c:5012 #, c-format msgid "invalid frontend message type %d" msgstr "ogiltig frontend-meddelandetyp %d" -#: tcop/postgres.c:1072 +#: tcop/postgres.c:1076 #, c-format msgid "statement: %s" msgstr "sats: %s" -#: tcop/postgres.c:1370 +#: tcop/postgres.c:1374 #, c-format msgid "duration: %s ms statement: %s" msgstr "varaktighet: %s ms sats: %s" -#: tcop/postgres.c:1476 +#: tcop/postgres.c:1480 #, c-format msgid "cannot insert multiple commands into a prepared statement" msgstr "kan inte stoppa in multipla kommandon i en förberedd sats" -#: tcop/postgres.c:1606 +#: tcop/postgres.c:1610 #, c-format msgid "duration: %s ms parse %s: %s" msgstr "varaktighet: %s ms parse %s: %s" -#: tcop/postgres.c:1672 tcop/postgres.c:2629 +#: tcop/postgres.c:1677 tcop/postgres.c:2653 #, c-format msgid "unnamed prepared statement does not exist" msgstr "förberedd sats utan namn existerar inte" -#: tcop/postgres.c:1713 +#: tcop/postgres.c:1729 #, c-format msgid "bind message has %d parameter formats but %d parameters" msgstr "bind-meddelande har %d parameterformat men %d parametrar" -#: tcop/postgres.c:1719 +#: tcop/postgres.c:1735 #, c-format msgid "bind message supplies %d parameters, but prepared statement \"%s\" requires %d" msgstr "bind-meddelande ger %d parametrar men förberedd sats \"%s\" kräver %d" -#: tcop/postgres.c:1937 +#: tcop/postgres.c:1949 #, c-format msgid "incorrect binary data format in bind parameter %d" msgstr "inkorrekt binärdataformat i bind-parameter %d" -#: tcop/postgres.c:2064 +#: tcop/postgres.c:2076 #, c-format msgid "duration: %s ms bind %s%s%s: %s" msgstr "varaktighet: %s ms bind %s%s%s: %s" -#: tcop/postgres.c:2118 tcop/postgres.c:2712 +#: tcop/postgres.c:2131 tcop/postgres.c:2735 #, c-format msgid "portal \"%s\" does not exist" msgstr "portal \"%s\" existerar inte" -#: tcop/postgres.c:2189 +#: tcop/postgres.c:2213 #, c-format msgid "%s %s%s%s: %s" msgstr "%s %s%s%s: %s" -#: tcop/postgres.c:2191 tcop/postgres.c:2317 +#: tcop/postgres.c:2215 tcop/postgres.c:2341 msgid "execute fetch from" msgstr "kör hämtning från" -#: tcop/postgres.c:2192 tcop/postgres.c:2318 +#: tcop/postgres.c:2216 tcop/postgres.c:2342 msgid "execute" msgstr "kör" -#: tcop/postgres.c:2314 +#: tcop/postgres.c:2338 #, c-format msgid "duration: %s ms %s %s%s%s: %s" msgstr "varaktighet: %s ms %s %s%s%s: %s" -#: tcop/postgres.c:2462 +#: tcop/postgres.c:2486 #, c-format msgid "prepare: %s" msgstr "prepare: %s" -#: tcop/postgres.c:2487 +#: tcop/postgres.c:2511 #, c-format -msgid "parameters: %s" -msgstr "parametrar: %s" +msgid "Parameters: %s" +msgstr "Parametrar: %s" -#: tcop/postgres.c:2502 +#: tcop/postgres.c:2526 #, c-format -msgid "abort reason: recovery conflict" -msgstr "abortskäl: återställningskonflikt" +msgid "Abort reason: recovery conflict" +msgstr "Abortskäl: återställningskonflikt" -#: tcop/postgres.c:2518 +#: tcop/postgres.c:2542 #, c-format msgid "User was holding shared buffer pin for too long." msgstr "Användaren höll delad bufferfastlåsning för länge." -#: tcop/postgres.c:2521 +#: tcop/postgres.c:2545 #, c-format msgid "User was holding a relation lock for too long." msgstr "Användare höll ett relationslås för länge." -#: tcop/postgres.c:2524 +#: tcop/postgres.c:2548 #, c-format msgid "User was or might have been using tablespace that must be dropped." msgstr "Användaren använde eller har använt ett tablespace som tagits bort." -#: tcop/postgres.c:2527 +#: tcop/postgres.c:2551 #, c-format msgid "User query might have needed to see row versions that must be removed." msgstr "Användarfrågan kan ha behövt se radversioner som har tagits bort." -#: tcop/postgres.c:2530 +#: tcop/postgres.c:2554 #, c-format msgid "User was using a logical replication slot that must be invalidated." msgstr "Användaren använde en logisk replikeringsslot som måste invalideras." -#: tcop/postgres.c:2536 +#: tcop/postgres.c:2560 #, c-format msgid "User was connected to a database that must be dropped." msgstr "Användare var ansluten till databas som måste slängas." -#: tcop/postgres.c:2575 +#: tcop/postgres.c:2599 #, c-format msgid "portal \"%s\" parameter $%d = %s" msgstr "portal \"%s\" parameter $%d = %s" -#: tcop/postgres.c:2578 +#: tcop/postgres.c:2602 #, c-format msgid "portal \"%s\" parameter $%d" msgstr "portal \"%s\" parameter $%d" -#: tcop/postgres.c:2584 +#: tcop/postgres.c:2608 #, c-format msgid "unnamed portal parameter $%d = %s" msgstr "ej namngiven portalparameter $%d = %s" -#: tcop/postgres.c:2587 +#: tcop/postgres.c:2611 #, c-format msgid "unnamed portal parameter $%d" msgstr "ej namngiven portalparameter $%d" -#: tcop/postgres.c:2932 +#: tcop/postgres.c:2955 #, c-format msgid "terminating connection because of unexpected SIGQUIT signal" msgstr "stänger anslutning på grund av oväntad SIGQUIT-signal" -#: tcop/postgres.c:2938 +#: tcop/postgres.c:2961 #, c-format msgid "terminating connection because of crash of another server process" msgstr "avbryter anslutning på grund av en krash i en annan serverprocess" -#: tcop/postgres.c:2939 +#: tcop/postgres.c:2962 #, c-format msgid "The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory." msgstr "Postmastern har sagt åt denna serverprocess att rulla tillbaka den aktuella transaktionen och avsluta då en annan process har avslutats onormalt och har eventuellt trasat sönder delat minne." -#: tcop/postgres.c:2943 tcop/postgres.c:3310 +#: tcop/postgres.c:2966 tcop/postgres.c:3219 #, c-format msgid "In a moment you should be able to reconnect to the database and repeat your command." msgstr "Du kan strax återansluta till databasen och upprepa kommandot." -#: tcop/postgres.c:2950 +#: tcop/postgres.c:2973 #, c-format msgid "terminating connection due to immediate shutdown command" msgstr "stänger anslutning på grund av kommando för omedelbar nedstängning" -#: tcop/postgres.c:3036 +#: tcop/postgres.c:3051 #, c-format msgid "floating-point exception" msgstr "flyttalsavbrott" -#: tcop/postgres.c:3037 +#: tcop/postgres.c:3052 #, c-format msgid "An invalid floating-point operation was signaled. This probably means an out-of-range result or an invalid operation, such as division by zero." msgstr "En ogiltig flyttalsoperation har signalerats. Detta beror troligen på ett resultat som är utanför giltigt intervall eller en ogiltig operation så som division med noll." -#: tcop/postgres.c:3214 +#: tcop/postgres.c:3217 +#, c-format +msgid "terminating connection due to conflict with recovery" +msgstr "avslutar anslutning på grund av konflikt med återställning" + +#: tcop/postgres.c:3289 #, c-format msgid "canceling authentication due to timeout" msgstr "avbryter autentisering på grund av timeout" -#: tcop/postgres.c:3218 +#: tcop/postgres.c:3293 #, c-format msgid "terminating autovacuum process due to administrator command" msgstr "avslutar autovacuum-process på grund av ett administratörskommando" -#: tcop/postgres.c:3222 +#: tcop/postgres.c:3297 #, c-format msgid "terminating logical replication worker due to administrator command" msgstr "avslutar logisk replikeringsarbetare på grund av ett administratörskommando" -#: tcop/postgres.c:3239 tcop/postgres.c:3249 tcop/postgres.c:3308 -#, c-format -msgid "terminating connection due to conflict with recovery" -msgstr "avslutar anslutning på grund av konflikt med återställning" - -#: tcop/postgres.c:3260 +#: tcop/postgres.c:3317 #, c-format msgid "terminating connection due to administrator command" msgstr "avslutar anslutning på grund av ett administratörskommando" -#: tcop/postgres.c:3291 +#: tcop/postgres.c:3348 #, c-format msgid "connection to client lost" msgstr "anslutning till klient har brutits" -#: tcop/postgres.c:3361 +#: tcop/postgres.c:3400 #, c-format msgid "canceling statement due to lock timeout" msgstr "avbryter sats på grund av lås-timeout" -#: tcop/postgres.c:3368 +#: tcop/postgres.c:3407 #, c-format msgid "canceling statement due to statement timeout" msgstr "avbryter sats på grund av sats-timeout" -#: tcop/postgres.c:3375 +#: tcop/postgres.c:3414 #, c-format msgid "canceling autovacuum task" msgstr "avbryter autovacuum-uppgift" -#: tcop/postgres.c:3398 +#: tcop/postgres.c:3427 #, c-format msgid "canceling statement due to user request" msgstr "avbryter sats på användares begäran" -#: tcop/postgres.c:3412 +#: tcop/postgres.c:3448 #, c-format msgid "terminating connection due to idle-in-transaction timeout" msgstr "terminerar anslutning på grund av idle-in-transaction-timeout" -#: tcop/postgres.c:3423 +#: tcop/postgres.c:3461 +#, c-format +msgid "terminating connection due to transaction timeout" +msgstr "terminerar anslutning på grund av transaktionstimeout" + +#: tcop/postgres.c:3474 #, c-format msgid "terminating connection due to idle-session timeout" msgstr "stänger anslutning på grund av idle-session-timeout" -#: tcop/postgres.c:3514 +#: tcop/postgres.c:3564 #, c-format msgid "stack depth limit exceeded" msgstr "maximalt stackdjup överskridet" -#: tcop/postgres.c:3515 +#: tcop/postgres.c:3565 #, c-format msgid "Increase the configuration parameter \"max_stack_depth\" (currently %dkB), after ensuring the platform's stack depth limit is adequate." msgstr "Öka konfigurationsparametern \"max_stack_depth\" (nu %dkB) efter att ha undersökt att plattformens gräns för stackdjup är tillräcklig." -#: tcop/postgres.c:3562 +#: tcop/postgres.c:3612 #, c-format msgid "\"max_stack_depth\" must not exceed %ldkB." msgstr "\"max_stack_depth\" får ej överskrida %ldkB." -#: tcop/postgres.c:3564 +#: tcop/postgres.c:3614 #, c-format msgid "Increase the platform's stack depth limit via \"ulimit -s\" or local equivalent." msgstr "Öka plattformens stackdjupbegränsning via \"ulimit -s\" eller motsvarande." -#: tcop/postgres.c:3587 +#: tcop/postgres.c:3637 #, c-format -msgid "client_connection_check_interval must be set to 0 on this platform." -msgstr "client_connection_check_interval måste sättas till 0 på denna plattform." +msgid "\"client_connection_check_interval\" must be set to 0 on this platform." +msgstr "\"client_connection_check_interval\" måste sättas till 0 på denna plattform." -#: tcop/postgres.c:3608 +#: tcop/postgres.c:3658 #, c-format msgid "Cannot enable parameter when \"log_statement_stats\" is true." msgstr "Kan inte slå på parameter när \"log_statement_stats\" är satt." -#: tcop/postgres.c:3623 +#: tcop/postgres.c:3673 #, c-format msgid "Cannot enable \"log_statement_stats\" when \"log_parser_stats\", \"log_planner_stats\", or \"log_executor_stats\" is true." msgstr "Kan inte slå på \"log_statement_stats\" när \"log_parser_stats\", \"log_planner_stats\" eller \"log_executor_stats\" är satta." -#: tcop/postgres.c:3971 +#: tcop/postgres.c:4098 #, c-format msgid "invalid command-line argument for server process: %s" msgstr "ogiltigt kommandoradsargument för serverprocess: %s" -#: tcop/postgres.c:3972 tcop/postgres.c:3978 +#: tcop/postgres.c:4099 tcop/postgres.c:4105 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Försök med \"%s --help\" för mer information." -#: tcop/postgres.c:3976 +#: tcop/postgres.c:4103 #, c-format msgid "%s: invalid command-line argument: %s" msgstr "%s: ogiltigt kommandoradsargument: %s" -#: tcop/postgres.c:4029 +#: tcop/postgres.c:4156 #, c-format msgid "%s: no database nor user name specified" msgstr "%s: ingen databas eller användarnamn angivet" -#: tcop/postgres.c:4779 +#: tcop/postgres.c:4909 #, c-format msgid "invalid CLOSE message subtype %d" msgstr "ogiltig subtyp %d för CLOSE-meddelande" -#: tcop/postgres.c:4816 +#: tcop/postgres.c:4946 #, c-format msgid "invalid DESCRIBE message subtype %d" msgstr "ogiltig subtyp %d för DESCRIBE-meddelande" -#: tcop/postgres.c:4903 +#: tcop/postgres.c:5033 #, c-format msgid "fastpath function calls not supported in a replication connection" msgstr "fastpath-funktionsanrop stöds inte i en replikeringsanslutning" -#: tcop/postgres.c:4907 +#: tcop/postgres.c:5037 #, c-format msgid "extended query protocol not supported in a replication connection" msgstr "utökat frågeprotokoll stöds inte i en replikeringsanslutning" -#: tcop/postgres.c:5087 +#: tcop/postgres.c:5217 #, c-format msgid "disconnection: session time: %d:%02d:%02d.%03d user=%s database=%s host=%s%s%s" msgstr "nedkoppling: sessionstid: %d:%02d:%02d.%03d användare=%s databas=%s värd=%s%s%s" @@ -23029,42 +23979,42 @@ msgid "Declare it with SCROLL option to enable backward scan." msgstr "Deklarera den med flaggan SCROLL för att kunna traversera bakåt." #. translator: %s is name of a SQL command, eg CREATE -#: tcop/utility.c:417 +#: tcop/utility.c:410 #, c-format msgid "cannot execute %s in a read-only transaction" msgstr "kan inte köra %s i read-only-transaktion" #. translator: %s is name of a SQL command, eg CREATE -#: tcop/utility.c:435 +#: tcop/utility.c:428 #, c-format msgid "cannot execute %s during a parallel operation" msgstr "kan inte köra %s under parallell operation" #. translator: %s is name of a SQL command, eg CREATE -#: tcop/utility.c:454 +#: tcop/utility.c:447 #, c-format msgid "cannot execute %s during recovery" msgstr "kan inte köra %s under återställning" #. translator: %s is name of a SQL command, eg PREPARE -#: tcop/utility.c:472 +#: tcop/utility.c:465 #, c-format msgid "cannot execute %s within security-restricted operation" msgstr "kan inte köra %s inom säkerhetsbegränsad operation" #. translator: %s is name of a SQL command, eg LISTEN -#: tcop/utility.c:828 +#: tcop/utility.c:821 #, c-format msgid "cannot execute %s within a background process" msgstr "kan inte köra %s i en bakgrundsprocess" #. translator: %s is name of a SQL command, eg CHECKPOINT -#: tcop/utility.c:954 +#: tcop/utility.c:947 #, c-format msgid "permission denied to execute %s command" msgstr "rättighet saknas för köra kommandot %s" -#: tcop/utility.c:956 +#: tcop/utility.c:949 #, c-format msgid "Only roles with privileges of the \"%s\" role may execute this command." msgstr "Bara roller med rättigheter från rollen \"%s\" får köra detta kommando." @@ -23127,7 +24077,7 @@ msgstr "kunde inte öppna synonymordboksfil \"%s\": %m" #: tsearch/dict_thesaurus.c:212 #, c-format msgid "unexpected delimiter" -msgstr "oväntad avdelare" +msgstr "oväntad separator" #: tsearch/dict_thesaurus.c:262 tsearch/dict_thesaurus.c:278 #, c-format @@ -23246,17 +24196,17 @@ msgstr "antalet alias överskriver angivet antal %d" msgid "affix file contains both old-style and new-style commands" msgstr "affix-fil innehåller kommandon på gammalt och nytt format" -#: tsearch/to_tsany.c:195 utils/adt/tsvector.c:278 utils/adt/tsvector_op.c:1128 +#: tsearch/to_tsany.c:194 utils/adt/tsvector.c:277 utils/adt/tsvector_op.c:1126 #, c-format msgid "string is too long for tsvector (%d bytes, max %d bytes)" msgstr "strängen är för lång för tsvector (%d byte, max %d byte)" -#: tsearch/ts_locale.c:238 +#: tsearch/ts_locale.c:236 #, c-format msgid "line %d of configuration file \"%s\": \"%s\"" msgstr "rad %d i konfigureringsfil \"%s\": \"%s\"" -#: tsearch/ts_locale.c:317 +#: tsearch/ts_locale.c:315 #, c-format msgid "conversion from wchar_t to server encoding failed: %m" msgstr "konvertering från wchar_t till serverkodning misslyckades: %m" @@ -23283,37 +24233,37 @@ msgstr "ogiltigt filnamn \"%s\" till textsökkonfiguration" msgid "could not open stop-word file \"%s\": %m" msgstr "kunde inte öppna stoppordsfil \"%s\": %m" -#: tsearch/wparser.c:308 tsearch/wparser.c:396 tsearch/wparser.c:473 +#: tsearch/wparser.c:306 tsearch/wparser.c:394 tsearch/wparser.c:471 #, c-format msgid "text search parser does not support headline creation" msgstr "textsökparsern stöder inte skapande av rubriker" -#: tsearch/wparser_def.c:2663 +#: tsearch/wparser_def.c:2664 #, c-format msgid "unrecognized headline parameter: \"%s\"" msgstr "okänd rubrikparameter: \"%s\"" -#: tsearch/wparser_def.c:2673 +#: tsearch/wparser_def.c:2674 #, c-format msgid "MinWords should be less than MaxWords" msgstr "MinWords skall vara mindre än MaxWords" -#: tsearch/wparser_def.c:2677 +#: tsearch/wparser_def.c:2678 #, c-format msgid "MinWords should be positive" msgstr "MinWords skall vara positiv" -#: tsearch/wparser_def.c:2681 +#: tsearch/wparser_def.c:2682 #, c-format msgid "ShortWord should be >= 0" msgstr "ShortWord skall vara >= 0" -#: tsearch/wparser_def.c:2685 +#: tsearch/wparser_def.c:2686 #, c-format msgid "MaxFragments should be >= 0" msgstr "MaxFragments skall vara >= 0" -#: utils/activity/pgstat.c:438 +#: utils/activity/pgstat.c:435 #, c-format msgid "could not unlink permanent statistics file \"%s\": %m" msgstr "kunde inte radera permanent statistikfil \"%s\": %m" @@ -23358,115 +24308,125 @@ msgstr "korrupt statistikfil \"%s\"" msgid "function call to dropped function" msgstr "funktionsanrop till borttagen funktion" -#: utils/activity/pgstat_xact.c:363 +#: utils/activity/pgstat_xact.c:362 #, c-format msgid "resetting existing statistics for kind %s, db=%u, oid=%u" msgstr "återställer existerande statistik för typ %s, db=%u, oid=%u" -#: utils/adt/acl.c:177 utils/adt/name.c:93 +#: utils/activity/wait_event.c:207 utils/activity/wait_event.c:232 +#, c-format +msgid "wait event \"%s\" already exists in type \"%s\"" +msgstr "wait event \"%s\" finns redan i type \"%s\"" + +#: utils/activity/wait_event.c:246 +#, c-format +msgid "too many custom wait events" +msgstr "för många egendefinierade wait event" + +#: utils/adt/acl.c:183 utils/adt/name.c:93 #, c-format msgid "identifier too long" msgstr "identifieraren för lång" -#: utils/adt/acl.c:178 utils/adt/name.c:94 +#: utils/adt/acl.c:184 utils/adt/name.c:94 #, c-format msgid "Identifier must be less than %d characters." msgstr "Identifierare måste vara mindre än %d tecken." -#: utils/adt/acl.c:266 +#: utils/adt/acl.c:272 #, c-format msgid "unrecognized key word: \"%s\"" msgstr "okänt nyckelord: \"%s\"" -#: utils/adt/acl.c:267 +#: utils/adt/acl.c:273 #, c-format msgid "ACL key word must be \"group\" or \"user\"." msgstr "ACL-nyckelord måste vara \"group\" eller \"user\"." -#: utils/adt/acl.c:275 +#: utils/adt/acl.c:281 #, c-format msgid "missing name" msgstr "namn saknas" -#: utils/adt/acl.c:276 +#: utils/adt/acl.c:282 #, c-format msgid "A name must follow the \"group\" or \"user\" key word." msgstr "Ett namn måste följa efter nyckelorden \"group\" resp. \"user\"." -#: utils/adt/acl.c:282 +#: utils/adt/acl.c:288 #, c-format msgid "missing \"=\" sign" msgstr "saknar \"=\"-tecken" -#: utils/adt/acl.c:341 +#: utils/adt/acl.c:350 #, c-format msgid "invalid mode character: must be one of \"%s\"" msgstr "ogiltigt lägestecken: måste vara en av \"%s\"" -#: utils/adt/acl.c:371 +#: utils/adt/acl.c:380 #, c-format msgid "a name must follow the \"/\" sign" msgstr "ett namn måste följa på tecknet \"/\"" -#: utils/adt/acl.c:383 +#: utils/adt/acl.c:392 #, c-format msgid "defaulting grantor to user ID %u" msgstr "sätter fullmaktsgivaranvändar-ID till standardvärdet %u" -#: utils/adt/acl.c:569 +#: utils/adt/acl.c:578 #, c-format msgid "ACL array contains wrong data type" msgstr "ACL-array innehåller fel datatyp" -#: utils/adt/acl.c:573 +#: utils/adt/acl.c:582 #, c-format msgid "ACL arrays must be one-dimensional" msgstr "ACL-array:er måste vara endimensionella" -#: utils/adt/acl.c:577 +#: utils/adt/acl.c:586 #, c-format msgid "ACL arrays must not contain null values" msgstr "ACL-array:er får inte innehålla null-värden" -#: utils/adt/acl.c:606 +#: utils/adt/acl.c:615 #, c-format msgid "extra garbage at the end of the ACL specification" msgstr "skräp vid slutet av ACL-angivelse" -#: utils/adt/acl.c:1248 +#: utils/adt/acl.c:1263 #, c-format msgid "grant options cannot be granted back to your own grantor" msgstr "fullmaksgivarflaggor kan inte ges tillbaka till den som givit det till dig" -#: utils/adt/acl.c:1564 +#: utils/adt/acl.c:1579 #, c-format msgid "aclinsert is no longer supported" msgstr "aclinsert stöds inte länge" -#: utils/adt/acl.c:1574 +#: utils/adt/acl.c:1589 #, c-format msgid "aclremove is no longer supported" msgstr "aclremove stöds inte längre" -#: utils/adt/acl.c:1693 +#: utils/adt/acl.c:1709 #, c-format msgid "unrecognized privilege type: \"%s\"" msgstr "okänd privilegietyp: \"%s\"" -#: utils/adt/acl.c:3476 utils/adt/regproc.c:100 utils/adt/regproc.c:265 +#: utils/adt/acl.c:3550 utils/adt/regproc.c:100 utils/adt/regproc.c:265 #, c-format msgid "function \"%s\" does not exist" msgstr "funktionen \"%s\" finns inte" -#: utils/adt/acl.c:5023 +#: utils/adt/acl.c:5196 #, c-format msgid "must be able to SET ROLE \"%s\"" msgstr "måste kunna utföra SET ROLE \"%s\"" #: utils/adt/array_userfuncs.c:102 utils/adt/array_userfuncs.c:489 -#: utils/adt/array_userfuncs.c:878 utils/adt/json.c:694 utils/adt/json.c:831 -#: utils/adt/json.c:869 utils/adt/jsonb.c:1139 utils/adt/jsonb.c:1211 -#: utils/adt/jsonb.c:1629 utils/adt/jsonb.c:1817 utils/adt/jsonb.c:1827 +#: utils/adt/array_userfuncs.c:866 utils/adt/json.c:602 utils/adt/json.c:740 +#: utils/adt/json.c:790 utils/adt/jsonb.c:1025 utils/adt/jsonb.c:1098 +#: utils/adt/jsonb.c:1530 utils/adt/jsonb.c:1718 utils/adt/jsonb.c:1728 #, c-format msgid "could not determine input data type" msgstr "kan inte bestämma indatatyp" @@ -23477,17 +24437,17 @@ msgid "input data type is not an array" msgstr "indatatyp är inte en array" #: utils/adt/array_userfuncs.c:151 utils/adt/array_userfuncs.c:203 -#: utils/adt/float.c:1228 utils/adt/float.c:1302 utils/adt/float.c:4117 -#: utils/adt/float.c:4155 utils/adt/int.c:778 utils/adt/int.c:800 +#: utils/adt/float.c:1222 utils/adt/float.c:1296 utils/adt/float.c:4022 +#: utils/adt/float.c:4060 utils/adt/int.c:778 utils/adt/int.c:800 #: utils/adt/int.c:814 utils/adt/int.c:828 utils/adt/int.c:859 #: utils/adt/int.c:880 utils/adt/int.c:997 utils/adt/int.c:1011 #: 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:1257 utils/adt/numeric.c:1901 utils/adt/numeric.c:4388 -#: utils/adt/rangetypes.c:1481 utils/adt/rangetypes.c:1494 -#: utils/adt/varbit.c:1195 utils/adt/varbit.c:1596 utils/adt/varlena.c:1132 -#: utils/adt/varlena.c:3134 +#: utils/adt/int8.c:1256 utils/adt/numeric.c:1917 utils/adt/numeric.c:4454 +#: 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 #, c-format msgid "integer out of range" msgstr "heltal utanför giltigt intervall" @@ -23524,267 +24484,278 @@ msgstr "Array:er med olika elementdimensioner är inte kompatibla för sammaslag msgid "Arrays with differing dimensions are not compatible for concatenation." msgstr "Array:er med olika dimensioner fungerar inte vid konkatenering." -#: utils/adt/array_userfuncs.c:987 utils/adt/array_userfuncs.c:995 -#: utils/adt/arrayfuncs.c:5590 utils/adt/arrayfuncs.c:5596 +#: utils/adt/array_userfuncs.c:975 utils/adt/array_userfuncs.c:983 +#: utils/adt/arrayfuncs.c:5616 utils/adt/arrayfuncs.c:5622 #, c-format msgid "cannot accumulate arrays of different dimensionality" msgstr "kan inte ackumulera arrayer med olika dimensioner" -#: utils/adt/array_userfuncs.c:1286 utils/adt/array_userfuncs.c:1440 +#: utils/adt/array_userfuncs.c:1272 utils/adt/array_userfuncs.c:1426 #, c-format msgid "searching for elements in multidimensional arrays is not supported" msgstr "sökning efter element i en multidimensionell array stöds inte" -#: utils/adt/array_userfuncs.c:1315 +#: utils/adt/array_userfuncs.c:1301 #, c-format msgid "initial position must not be null" msgstr "initiala positionen får ej vara null" -#: utils/adt/array_userfuncs.c:1688 +#: utils/adt/array_userfuncs.c:1674 #, c-format msgid "sample size must be between 0 and %d" msgstr "samplingsstorleken måste vara mellan 0 och %d" -#: utils/adt/arrayfuncs.c:273 utils/adt/arrayfuncs.c:287 -#: utils/adt/arrayfuncs.c:298 utils/adt/arrayfuncs.c:320 -#: utils/adt/arrayfuncs.c:337 utils/adt/arrayfuncs.c:351 -#: utils/adt/arrayfuncs.c:359 utils/adt/arrayfuncs.c:366 -#: utils/adt/arrayfuncs.c:506 utils/adt/arrayfuncs.c:521 -#: utils/adt/arrayfuncs.c:532 utils/adt/arrayfuncs.c:547 -#: utils/adt/arrayfuncs.c:568 utils/adt/arrayfuncs.c:598 -#: utils/adt/arrayfuncs.c:605 utils/adt/arrayfuncs.c:613 -#: utils/adt/arrayfuncs.c:647 utils/adt/arrayfuncs.c:670 -#: utils/adt/arrayfuncs.c:690 utils/adt/arrayfuncs.c:807 -#: utils/adt/arrayfuncs.c:816 utils/adt/arrayfuncs.c:846 -#: utils/adt/arrayfuncs.c:861 utils/adt/arrayfuncs.c:914 +#: utils/adt/arrayfuncs.c:264 utils/adt/arrayfuncs.c:273 +#: utils/adt/arrayfuncs.c:284 utils/adt/arrayfuncs.c:307 +#: utils/adt/arrayfuncs.c:440 utils/adt/arrayfuncs.c:454 +#: utils/adt/arrayfuncs.c:466 utils/adt/arrayfuncs.c:636 +#: utils/adt/arrayfuncs.c:668 utils/adt/arrayfuncs.c:703 +#: utils/adt/arrayfuncs.c:718 utils/adt/arrayfuncs.c:777 +#: utils/adt/arrayfuncs.c:782 utils/adt/arrayfuncs.c:870 +#: utils/adt/arrayfuncs.c:897 utils/adt/arrayfuncs.c:904 +#: utils/adt/arrayfuncs.c:941 #, c-format msgid "malformed array literal: \"%s\"" msgstr "felaktig array-literal: \"%s\"" -#: utils/adt/arrayfuncs.c:274 -#, c-format -msgid "\"[\" must introduce explicitly-specified array dimensions." -msgstr "\"[\" måste införa explicit angivna array-dimensioner." - -#: utils/adt/arrayfuncs.c:288 +#: utils/adt/arrayfuncs.c:265 #, c-format -msgid "Missing array dimension value." -msgstr "Saknar värde i array-dimension." +msgid "Array value must start with \"{\" or dimension information." +msgstr "Array-värde måste starta med \"{\" eller dimensionsinformation" -#: utils/adt/arrayfuncs.c:299 utils/adt/arrayfuncs.c:338 +#: utils/adt/arrayfuncs.c:274 utils/adt/arrayfuncs.c:467 #, c-format msgid "Missing \"%s\" after array dimensions." msgstr "Saknar \"%s\" efter array-dimensioner." -#: utils/adt/arrayfuncs.c:308 utils/adt/arrayfuncs.c:2933 -#: utils/adt/arrayfuncs.c:2965 utils/adt/arrayfuncs.c:2980 +#: utils/adt/arrayfuncs.c:285 #, c-format -msgid "upper bound cannot be less than lower bound" -msgstr "övre gränsen kan inte vara lägre än undre gränsen" +msgid "Array contents must start with \"{\"." +msgstr "Array-innehåll måste starta med \"{\"." -#: utils/adt/arrayfuncs.c:321 +#: utils/adt/arrayfuncs.c:308 utils/adt/multirangetypes.c:292 #, c-format -msgid "Array value must start with \"{\" or dimension information." -msgstr "Array-värde måste starta med \"{\" eller dimensionsinformation" +msgid "Junk after closing right brace." +msgstr "Skräp efter avslutande höger parentes." -#: utils/adt/arrayfuncs.c:352 +#: utils/adt/arrayfuncs.c:431 utils/adt/arrayfuncs.c:643 #, c-format -msgid "Array contents must start with \"{\"." -msgstr "Array-innehåll måste starta med \"{\"." +msgid "number of array dimensions exceeds the maximum allowed (%d)" +msgstr "antal array-dimensioner överskriver maximalt tillåtna (%d)" -#: utils/adt/arrayfuncs.c:360 utils/adt/arrayfuncs.c:367 +#: utils/adt/arrayfuncs.c:441 #, c-format -msgid "Specified array dimensions do not match array contents." -msgstr "Angivna array-dimensioner matchar inte array-innehållet." +msgid "\"[\" must introduce explicitly-specified array dimensions." +msgstr "\"[\" måste införa explicit angivna array-dimensioner." -#: utils/adt/arrayfuncs.c:507 utils/adt/arrayfuncs.c:533 -#: utils/adt/multirangetypes.c:166 utils/adt/rangetypes.c:2405 -#: utils/adt/rangetypes.c:2413 utils/adt/rowtypes.c:219 -#: utils/adt/rowtypes.c:230 +#: utils/adt/arrayfuncs.c:455 #, c-format -msgid "Unexpected end of input." -msgstr "oväntat slut på indata." +msgid "Missing array dimension value." +msgstr "Saknar värde i array-dimension." + +#: utils/adt/arrayfuncs.c:481 utils/adt/arrayfuncs.c:2940 +#: utils/adt/arrayfuncs.c:2985 utils/adt/arrayfuncs.c:3000 +#, c-format +msgid "upper bound cannot be less than lower bound" +msgstr "övre gränsen kan inte vara lägre än undre gränsen" + +#: utils/adt/arrayfuncs.c:487 +#, c-format +msgid "array upper bound is too large: %d" +msgstr "övre gräns för array är för stor: %d" + +#: utils/adt/arrayfuncs.c:538 +#, c-format +msgid "array bound is out of integer range" +msgstr "array-gräns är utanför giltigt interval för integer" -#: utils/adt/arrayfuncs.c:522 utils/adt/arrayfuncs.c:569 -#: utils/adt/arrayfuncs.c:599 utils/adt/arrayfuncs.c:648 +#: utils/adt/arrayfuncs.c:637 utils/adt/arrayfuncs.c:669 +#: utils/adt/arrayfuncs.c:704 utils/adt/arrayfuncs.c:898 #, c-format msgid "Unexpected \"%c\" character." msgstr "oväntat tecken \"%c\"." -#: utils/adt/arrayfuncs.c:548 utils/adt/arrayfuncs.c:671 +#: utils/adt/arrayfuncs.c:719 #, c-format msgid "Unexpected array element." msgstr "Oväntat array-element." -#: utils/adt/arrayfuncs.c:606 +#: utils/adt/arrayfuncs.c:778 #, c-format -msgid "Unmatched \"%c\" character." -msgstr "Icke matchat tecken \"%c\"." +msgid "Specified array dimensions do not match array contents." +msgstr "Angivna array-dimensioner matchar inte array-innehållet." -#: utils/adt/arrayfuncs.c:614 utils/adt/jsonfuncs.c:2553 +#: utils/adt/arrayfuncs.c:783 utils/adt/jsonfuncs.c:2598 #, c-format msgid "Multidimensional arrays must have sub-arrays with matching dimensions." msgstr "Flerdimensionella array:er måste ha underarray:er med matchande dimensioner." -#: utils/adt/arrayfuncs.c:691 utils/adt/multirangetypes.c:293 +#: utils/adt/arrayfuncs.c:871 utils/adt/arrayfuncs.c:905 #, c-format -msgid "Junk after closing right brace." -msgstr "Skräp efter avslutande höger parentes." +msgid "Incorrectly quoted array element." +msgstr "Felaktigt quote:at array-element." + +#: utils/adt/arrayfuncs.c:942 utils/adt/multirangetypes.c:165 +#: utils/adt/rangetypes.c:2464 utils/adt/rangetypes.c:2472 +#: utils/adt/rowtypes.c:218 utils/adt/rowtypes.c:229 +#, c-format +msgid "Unexpected end of input." +msgstr "oväntat slut på indata." -#: utils/adt/arrayfuncs.c:1325 utils/adt/arrayfuncs.c:3479 -#: utils/adt/arrayfuncs.c:6080 +#: utils/adt/arrayfuncs.c:1301 utils/adt/arrayfuncs.c:3499 +#: utils/adt/arrayfuncs.c:6106 #, c-format msgid "invalid number of dimensions: %d" msgstr "felaktigt antal dimensioner: %d" -#: utils/adt/arrayfuncs.c:1336 +#: utils/adt/arrayfuncs.c:1312 #, c-format msgid "invalid array flags" msgstr "ogiltiga array-flaggor" -#: utils/adt/arrayfuncs.c:1358 +#: utils/adt/arrayfuncs.c:1334 #, c-format msgid "binary data has array element type %u (%s) instead of expected %u (%s)" msgstr "binär data har array-elementtyp typ %u (%s) istället för förväntade %u (%s)" -#: utils/adt/arrayfuncs.c:1402 utils/adt/multirangetypes.c:451 -#: utils/adt/rangetypes.c:344 utils/cache/lsyscache.c:2916 +#: utils/adt/arrayfuncs.c:1378 utils/adt/multirangetypes.c:450 +#: utils/adt/rangetypes.c:351 utils/cache/lsyscache.c:2958 #, c-format msgid "no binary input function available for type %s" msgstr "ingen binär indatafunktion finns för typen %s" -#: utils/adt/arrayfuncs.c:1542 +#: utils/adt/arrayfuncs.c:1509 #, c-format msgid "improper binary format in array element %d" msgstr "felaktigt binärt format i array-element %d" -#: utils/adt/arrayfuncs.c:1623 utils/adt/multirangetypes.c:456 -#: utils/adt/rangetypes.c:349 utils/cache/lsyscache.c:2949 +#: utils/adt/arrayfuncs.c:1588 utils/adt/multirangetypes.c:455 +#: utils/adt/rangetypes.c:356 utils/cache/lsyscache.c:2991 #, c-format msgid "no binary output function available for type %s" msgstr "det saknas en binär output-funktion för typen %s" -#: utils/adt/arrayfuncs.c:2102 +#: utils/adt/arrayfuncs.c:2067 #, c-format msgid "slices of fixed-length arrays not implemented" msgstr "slice av fixlängd-array är inte implementerat" -#: utils/adt/arrayfuncs.c:2280 utils/adt/arrayfuncs.c:2302 -#: utils/adt/arrayfuncs.c:2351 utils/adt/arrayfuncs.c:2589 -#: utils/adt/arrayfuncs.c:2911 utils/adt/arrayfuncs.c:6066 -#: utils/adt/arrayfuncs.c:6092 utils/adt/arrayfuncs.c:6103 -#: utils/adt/json.c:1497 utils/adt/json.c:1569 utils/adt/jsonb.c:1416 -#: utils/adt/jsonb.c:1500 utils/adt/jsonfuncs.c:4434 utils/adt/jsonfuncs.c:4587 -#: utils/adt/jsonfuncs.c:4698 utils/adt/jsonfuncs.c:4746 +#: utils/adt/arrayfuncs.c:2245 utils/adt/arrayfuncs.c:2267 +#: utils/adt/arrayfuncs.c:2316 utils/adt/arrayfuncs.c:2570 +#: utils/adt/arrayfuncs.c:2915 utils/adt/arrayfuncs.c:6092 +#: utils/adt/arrayfuncs.c:6118 utils/adt/arrayfuncs.c:6129 +#: utils/adt/json.c:1433 utils/adt/json.c:1505 utils/adt/jsonb.c:1317 +#: utils/adt/jsonb.c:1401 utils/adt/jsonfuncs.c:4710 utils/adt/jsonfuncs.c:4863 +#: utils/adt/jsonfuncs.c:4974 utils/adt/jsonfuncs.c:5022 #, c-format msgid "wrong number of array subscripts" msgstr "fel antal array-indexeringar" -#: utils/adt/arrayfuncs.c:2285 utils/adt/arrayfuncs.c:2393 -#: utils/adt/arrayfuncs.c:2656 utils/adt/arrayfuncs.c:2970 +#: utils/adt/arrayfuncs.c:2250 utils/adt/arrayfuncs.c:2374 +#: utils/adt/arrayfuncs.c:2653 utils/adt/arrayfuncs.c:2990 #, c-format msgid "array subscript out of range" msgstr "array-index utanför giltigt område" -#: utils/adt/arrayfuncs.c:2290 +#: utils/adt/arrayfuncs.c:2255 #, c-format msgid "cannot assign null value to an element of a fixed-length array" msgstr "kan inte tilldela null-värde till ett element i en array med fast längd" -#: utils/adt/arrayfuncs.c:2858 +#: utils/adt/arrayfuncs.c:2855 #, c-format msgid "updates on slices of fixed-length arrays not implemented" msgstr "uppdatering av slice på fixlängd-array är inte implementerat" -#: utils/adt/arrayfuncs.c:2889 +#: utils/adt/arrayfuncs.c:2886 #, c-format msgid "array slice subscript must provide both boundaries" msgstr "array-slice-index måste inkludera båda gränser" -#: utils/adt/arrayfuncs.c:2890 +#: utils/adt/arrayfuncs.c:2887 #, c-format msgid "When assigning to a slice of an empty array value, slice boundaries must be fully specified." msgstr "Vid tilldelning till en slice av en tom array så måste slice-gränserna anges" -#: utils/adt/arrayfuncs.c:2901 utils/adt/arrayfuncs.c:2997 +#: utils/adt/arrayfuncs.c:2905 utils/adt/arrayfuncs.c:3017 #, c-format msgid "source array too small" msgstr "käll-array för liten" -#: utils/adt/arrayfuncs.c:3637 +#: utils/adt/arrayfuncs.c:3657 #, c-format msgid "null array element not allowed in this context" msgstr "null-element i arrayer stöds inte i detta kontext" -#: utils/adt/arrayfuncs.c:3808 utils/adt/arrayfuncs.c:3979 -#: utils/adt/arrayfuncs.c:4370 +#: utils/adt/arrayfuncs.c:3828 utils/adt/arrayfuncs.c:3999 +#: utils/adt/arrayfuncs.c:4390 #, c-format msgid "cannot compare arrays of different element types" msgstr "kan inte jämföra arrayer med olika elementtyper" -#: utils/adt/arrayfuncs.c:4157 utils/adt/multirangetypes.c:2806 -#: utils/adt/multirangetypes.c:2878 utils/adt/rangetypes.c:1354 -#: utils/adt/rangetypes.c:1418 utils/adt/rowtypes.c:1885 +#: utils/adt/arrayfuncs.c:4177 utils/adt/multirangetypes.c:2805 +#: utils/adt/multirangetypes.c:2877 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" msgstr "kunde inte hitta en hash-funktion för typ %s" -#: utils/adt/arrayfuncs.c:4285 utils/adt/rowtypes.c:2006 +#: utils/adt/arrayfuncs.c:4305 utils/adt/rowtypes.c:1996 #, c-format msgid "could not identify an extended hash function for type %s" msgstr "kunde inte hitta en utökad hash-funktion för typ %s" -#: utils/adt/arrayfuncs.c:5480 +#: utils/adt/arrayfuncs.c:5506 #, c-format msgid "data type %s is not an array type" msgstr "datatypen %s är inte en arraytyp" -#: utils/adt/arrayfuncs.c:5535 +#: utils/adt/arrayfuncs.c:5561 #, c-format msgid "cannot accumulate null arrays" msgstr "kan inte ackumulera null-array:er" -#: utils/adt/arrayfuncs.c:5563 +#: utils/adt/arrayfuncs.c:5589 #, c-format msgid "cannot accumulate empty arrays" msgstr "kan inte ackumulera tomma array:er" -#: utils/adt/arrayfuncs.c:5964 utils/adt/arrayfuncs.c:6004 +#: utils/adt/arrayfuncs.c:5990 utils/adt/arrayfuncs.c:6030 #, c-format msgid "dimension array or low bound array cannot be null" msgstr "dimensionsarray eller undre gränsarray kan inte vara null" -#: utils/adt/arrayfuncs.c:6067 utils/adt/arrayfuncs.c:6093 +#: utils/adt/arrayfuncs.c:6093 utils/adt/arrayfuncs.c:6119 #, c-format msgid "Dimension array must be one dimensional." msgstr "Dimensionsarray måste vara endimensionell." -#: utils/adt/arrayfuncs.c:6072 utils/adt/arrayfuncs.c:6098 +#: utils/adt/arrayfuncs.c:6098 utils/adt/arrayfuncs.c:6124 #, c-format msgid "dimension values cannot be null" msgstr "dimensionsvärden kan inte vara null" -#: utils/adt/arrayfuncs.c:6104 +#: utils/adt/arrayfuncs.c:6130 #, c-format msgid "Low bound array has different size than dimensions array." msgstr "Undre arraygräns har annan storlek än dimensionsarray." -#: utils/adt/arrayfuncs.c:6382 +#: utils/adt/arrayfuncs.c:6411 #, c-format msgid "removing elements from multidimensional arrays is not supported" msgstr "borttagning av element från en multidimensionell array stöds inte" -#: utils/adt/arrayfuncs.c:6659 +#: utils/adt/arrayfuncs.c:6688 #, c-format msgid "thresholds must be one-dimensional array" msgstr "gränsvärden måste vara en endimensionell array" -#: utils/adt/arrayfuncs.c:6664 +#: utils/adt/arrayfuncs.c:6693 #, c-format msgid "thresholds array must not contain NULLs" msgstr "gränsvärdesarray får inte innehålla NULLL-värden" -#: utils/adt/arrayfuncs.c:6897 +#: utils/adt/arrayfuncs.c:6926 #, c-format msgid "number of elements to trim must be between 0 and %d" msgstr "antal element att trimma måste vara mellan 0 och %d" @@ -23799,22 +24770,22 @@ msgstr "array-index måste ha typen integer" msgid "array subscript in assignment must not be null" msgstr "array-index i tilldelning kan inte vara null" -#: utils/adt/arrayutils.c:161 +#: utils/adt/arrayutils.c:140 #, c-format msgid "array lower bound is too large: %d" -msgstr "lägre gräns för array är för stor: %d" +msgstr "undre gräns för array är för stor: %d" -#: utils/adt/arrayutils.c:263 +#: utils/adt/arrayutils.c:242 #, c-format msgid "typmod array must be type cstring[]" msgstr "typmod-array måste ha typ cstring[]" -#: utils/adt/arrayutils.c:268 +#: utils/adt/arrayutils.c:247 #, c-format msgid "typmod array must be one-dimensional" msgstr "typmod-array måste vara endimensionell" -#: utils/adt/arrayutils.c:273 +#: utils/adt/arrayutils.c:252 #, c-format msgid "typmod array must not contain nulls" msgstr "typmod-arrayen får inte innehålla null-värden" @@ -23825,48 +24796,52 @@ msgid "encoding conversion from %s to ASCII not supported" msgstr "kodningskonvertering från %s till ASCII stöds inte" #. translator: first %s is inet or cidr -#: utils/adt/bool.c:153 utils/adt/cash.c:277 utils/adt/datetime.c:4017 -#: utils/adt/float.c:206 utils/adt/float.c:293 utils/adt/float.c:307 -#: utils/adt/float.c:412 utils/adt/float.c:495 utils/adt/float.c:509 +#: utils/adt/bool.c:149 utils/adt/cash.c:354 utils/adt/datetime.c:4142 +#: utils/adt/float.c:200 utils/adt/float.c:287 utils/adt/float.c:301 +#: utils/adt/float.c:406 utils/adt/float.c:489 utils/adt/float.c:503 #: utils/adt/geo_ops.c:250 utils/adt/geo_ops.c:335 utils/adt/geo_ops.c:974 #: utils/adt/geo_ops.c:1417 utils/adt/geo_ops.c:1454 utils/adt/geo_ops.c:1462 #: 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:183 utils/adt/mac.c:94 utils/adt/mac8.c:225 -#: utils/adt/network.c:99 utils/adt/numeric.c:795 utils/adt/numeric.c:7136 -#: utils/adt/numeric.c:7339 utils/adt/numeric.c:8286 utils/adt/numutils.c:357 -#: utils/adt/numutils.c:619 utils/adt/numutils.c:881 utils/adt/numutils.c:920 -#: utils/adt/numutils.c:942 utils/adt/numutils.c:1006 utils/adt/numutils.c:1028 -#: utils/adt/pg_lsn.c:74 utils/adt/tid.c:72 utils/adt/tid.c:80 -#: utils/adt/tid.c:94 utils/adt/tid.c:103 utils/adt/timestamp.c:494 -#: utils/adt/uuid.c:135 utils/adt/xid8funcs.c:354 +#: 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/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 +#: utils/adt/tid.c:94 utils/adt/tid.c:103 utils/adt/timestamp.c:510 +#: utils/adt/uuid.c:140 utils/adt/xid8funcs.c:360 #, c-format msgid "invalid input syntax for type %s: \"%s\"" msgstr "ogiltig indatasyntax för type %s: \"%s\"" -#: utils/adt/cash.c:215 utils/adt/cash.c:240 utils/adt/cash.c:250 -#: utils/adt/cash.c:290 utils/adt/int.c:180 utils/adt/numutils.c:351 -#: utils/adt/numutils.c:613 utils/adt/numutils.c:875 utils/adt/numutils.c:926 -#: utils/adt/numutils.c:965 utils/adt/numutils.c:1012 +#: utils/adt/cash.c:98 utils/adt/cash.c:111 utils/adt/cash.c:124 +#: utils/adt/cash.c:137 utils/adt/cash.c:150 #, c-format -msgid "value \"%s\" is out of range for type %s" -msgstr "värdet \"%s\" är utanför giltigt intervall för typen %s" +msgid "money out of range" +msgstr "money utanför giltigt intervall" -#: utils/adt/cash.c:652 utils/adt/cash.c:702 utils/adt/cash.c:753 -#: utils/adt/cash.c:802 utils/adt/cash.c:854 utils/adt/cash.c:904 -#: utils/adt/float.c:105 utils/adt/int.c:843 utils/adt/int.c:959 -#: utils/adt/int.c:1039 utils/adt/int.c:1101 utils/adt/int.c:1139 -#: utils/adt/int.c:1167 utils/adt/int8.c:515 utils/adt/int8.c:573 -#: utils/adt/int8.c:943 utils/adt/int8.c:1023 utils/adt/int8.c:1085 -#: utils/adt/int8.c:1165 utils/adt/numeric.c:3175 utils/adt/numeric.c:3198 -#: utils/adt/numeric.c:3283 utils/adt/numeric.c:3301 utils/adt/numeric.c:3397 -#: utils/adt/numeric.c:8835 utils/adt/numeric.c:9148 utils/adt/numeric.c:9496 -#: utils/adt/numeric.c:9612 utils/adt/numeric.c:11122 -#: utils/adt/timestamp.c:3406 +#: utils/adt/cash.c:161 utils/adt/cash.c:723 utils/adt/float.c:99 +#: utils/adt/int.c:843 utils/adt/int.c:959 utils/adt/int.c:1039 +#: 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 #, c-format msgid "division by zero" msgstr "division med noll" +#: utils/adt/cash.c:292 utils/adt/cash.c:317 utils/adt/cash.c:327 +#: utils/adt/cash.c:367 utils/adt/int.c:180 utils/adt/numutils.c:350 +#: utils/adt/numutils.c:612 utils/adt/numutils.c:874 utils/adt/numutils.c:925 +#: utils/adt/numutils.c:964 utils/adt/numutils.c:1011 +#, c-format +msgid "value \"%s\" is out of range for type %s" +msgstr "värdet \"%s\" är utanför giltigt intervall för typen %s" + #: utils/adt/char.c:197 #, c-format msgid "\"char\" out of range" @@ -23877,159 +24852,186 @@ msgstr "\"char\" utanför sitt intervall" msgid "could not compute %s hash: %s" msgstr "kunde inte beräkna %s-hash: %s" -#: utils/adt/date.c:63 utils/adt/timestamp.c:100 utils/adt/varbit.c:105 -#: utils/adt/varchar.c:49 +#: utils/adt/date.c:64 utils/adt/timestamp.c:116 utils/adt/varbit.c:105 +#: utils/adt/varchar.c:48 #, c-format msgid "invalid type modifier" msgstr "ogiltig typmodifierare" -#: utils/adt/date.c:75 +#: utils/adt/date.c:76 #, c-format msgid "TIME(%d)%s precision must not be negative" msgstr "TIME(%d)%s-precisionen får inte vara negativ" -#: utils/adt/date.c:81 +#: utils/adt/date.c:82 #, c-format msgid "TIME(%d)%s precision reduced to maximum allowed, %d" msgstr "TIME(%d)%s-precisionen reducerad till maximalt tillåtna, %d" -#: utils/adt/date.c:166 utils/adt/date.c:174 utils/adt/formatting.c:4241 -#: utils/adt/formatting.c:4250 utils/adt/formatting.c:4363 -#: utils/adt/formatting.c:4373 +#: utils/adt/date.c:167 utils/adt/date.c:175 utils/adt/formatting.c:4424 +#: utils/adt/formatting.c:4433 utils/adt/formatting.c:4538 +#: utils/adt/formatting.c:4548 #, c-format msgid "date out of range: \"%s\"" msgstr "datum utanför giltigt intervall \"%s\"" -#: utils/adt/date.c:221 utils/adt/date.c:519 utils/adt/date.c:543 -#: utils/adt/rangetypes.c:1577 utils/adt/rangetypes.c:1592 utils/adt/xml.c:2460 +#: 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 #, c-format msgid "date out of range" msgstr "datum utanför giltigt intervall" -#: utils/adt/date.c:267 utils/adt/timestamp.c:582 +#: utils/adt/date.c:268 utils/adt/timestamp.c:598 #, c-format msgid "date field value out of range: %d-%02d-%02d" msgstr "datumfältvärde utanför giltigt område: %d-%02d-%02d" -#: utils/adt/date.c:274 utils/adt/date.c:283 utils/adt/timestamp.c:588 +#: utils/adt/date.c:275 utils/adt/date.c:284 utils/adt/timestamp.c:604 #, c-format msgid "date out of range: %d-%02d-%02d" msgstr "datum utanför giltigt område: %d-%02d-%02d" -#: utils/adt/date.c:494 +#: utils/adt/date.c:495 #, c-format msgid "cannot subtract infinite dates" msgstr "kan inte subtrahera oändliga datum" -#: utils/adt/date.c:592 utils/adt/date.c:655 utils/adt/date.c:691 -#: utils/adt/date.c:2885 utils/adt/date.c:2895 +#: utils/adt/date.c:593 utils/adt/date.c:656 utils/adt/date.c:692 +#: utils/adt/date.c:2906 utils/adt/date.c:2916 #, c-format msgid "date out of range for timestamp" msgstr "datum utanför filtigt område för timestamp" -#: utils/adt/date.c:1121 utils/adt/date.c:1204 utils/adt/date.c:1220 -#: utils/adt/date.c:2206 utils/adt/date.c:2990 utils/adt/timestamp.c:4097 -#: utils/adt/timestamp.c:4290 utils/adt/timestamp.c:4432 -#: utils/adt/timestamp.c:4685 utils/adt/timestamp.c:4886 -#: utils/adt/timestamp.c:4933 utils/adt/timestamp.c:5157 -#: utils/adt/timestamp.c:5204 utils/adt/timestamp.c:5334 +#: utils/adt/date.c:1122 utils/adt/date.c:1205 utils/adt/date.c:1221 +#: utils/adt/date.c:2215 utils/adt/date.c:3011 utils/adt/timestamp.c:4726 +#: utils/adt/timestamp.c:4941 utils/adt/timestamp.c:5089 +#: utils/adt/timestamp.c:5342 utils/adt/timestamp.c:5543 +#: utils/adt/timestamp.c:5590 utils/adt/timestamp.c:5814 +#: utils/adt/timestamp.c:5861 utils/adt/timestamp.c:5941 +#: utils/adt/timestamp.c:6070 #, c-format msgid "unit \"%s\" not supported for type %s" msgstr "enheten \"%s\" stöds inte för typen %s" -#: utils/adt/date.c:1229 utils/adt/date.c:2222 utils/adt/date.c:3010 -#: utils/adt/timestamp.c:4111 utils/adt/timestamp.c:4307 -#: utils/adt/timestamp.c:4446 utils/adt/timestamp.c:4645 -#: utils/adt/timestamp.c:4942 utils/adt/timestamp.c:5213 -#: utils/adt/timestamp.c:5395 +#: utils/adt/date.c:1230 utils/adt/date.c:2231 utils/adt/date.c:3031 +#: utils/adt/timestamp.c:4740 utils/adt/timestamp.c:4958 +#: utils/adt/timestamp.c:5103 utils/adt/timestamp.c:5302 +#: utils/adt/timestamp.c:5599 utils/adt/timestamp.c:5870 +#: utils/adt/timestamp.c:5911 utils/adt/timestamp.c:6131 #, c-format msgid "unit \"%s\" not recognized for type %s" msgstr "enheten \"%s\" känns inte igen för typen %s" -#: utils/adt/date.c:1313 utils/adt/date.c:1359 utils/adt/date.c:1918 -#: utils/adt/date.c:1949 utils/adt/date.c:1978 utils/adt/date.c:2848 -#: utils/adt/date.c:3080 utils/adt/datetime.c:424 utils/adt/datetime.c:1809 -#: utils/adt/formatting.c:4081 utils/adt/formatting.c:4117 -#: utils/adt/formatting.c:4210 utils/adt/formatting.c:4339 utils/adt/json.c:467 -#: utils/adt/json.c:506 utils/adt/timestamp.c:232 utils/adt/timestamp.c:264 -#: utils/adt/timestamp.c:700 utils/adt/timestamp.c:709 -#: utils/adt/timestamp.c:787 utils/adt/timestamp.c:820 -#: utils/adt/timestamp.c:2933 utils/adt/timestamp.c:2954 -#: utils/adt/timestamp.c:2967 utils/adt/timestamp.c:2976 -#: utils/adt/timestamp.c:2984 utils/adt/timestamp.c:3045 -#: utils/adt/timestamp.c:3068 utils/adt/timestamp.c:3081 -#: utils/adt/timestamp.c:3092 utils/adt/timestamp.c:3100 -#: utils/adt/timestamp.c:3801 utils/adt/timestamp.c:3925 -#: utils/adt/timestamp.c:4015 utils/adt/timestamp.c:4105 -#: utils/adt/timestamp.c:4198 utils/adt/timestamp.c:4301 -#: utils/adt/timestamp.c:4750 utils/adt/timestamp.c:5024 -#: utils/adt/timestamp.c:5463 utils/adt/timestamp.c:5473 -#: utils/adt/timestamp.c:5478 utils/adt/timestamp.c:5484 -#: utils/adt/timestamp.c:5517 utils/adt/timestamp.c:5604 -#: utils/adt/timestamp.c:5645 utils/adt/timestamp.c:5649 -#: utils/adt/timestamp.c:5703 utils/adt/timestamp.c:5707 -#: utils/adt/timestamp.c:5713 utils/adt/timestamp.c:5747 utils/adt/xml.c:2482 -#: utils/adt/xml.c:2489 utils/adt/xml.c:2509 utils/adt/xml.c:2516 +#: utils/adt/date.c:1314 utils/adt/date.c:1360 utils/adt/date.c:1919 +#: utils/adt/date.c:1950 utils/adt/date.c:1979 utils/adt/date.c:2869 +#: utils/adt/date.c:3101 utils/adt/datetime.c:422 utils/adt/datetime.c:1807 +#: utils/adt/formatting.c:4269 utils/adt/formatting.c:4305 +#: utils/adt/formatting.c:4392 utils/adt/formatting.c:4514 utils/adt/json.c:366 +#: utils/adt/json.c:405 utils/adt/timestamp.c:248 utils/adt/timestamp.c:280 +#: utils/adt/timestamp.c:716 utils/adt/timestamp.c:725 +#: utils/adt/timestamp.c:803 utils/adt/timestamp.c:836 +#: utils/adt/timestamp.c:3066 utils/adt/timestamp.c:3075 +#: utils/adt/timestamp.c:3092 utils/adt/timestamp.c:3097 +#: utils/adt/timestamp.c:3116 utils/adt/timestamp.c:3129 +#: utils/adt/timestamp.c:3140 utils/adt/timestamp.c:3146 +#: utils/adt/timestamp.c:3152 utils/adt/timestamp.c:3157 +#: utils/adt/timestamp.c:3210 utils/adt/timestamp.c:3219 +#: utils/adt/timestamp.c:3240 utils/adt/timestamp.c:3245 +#: utils/adt/timestamp.c:3266 utils/adt/timestamp.c:3279 +#: utils/adt/timestamp.c:3293 utils/adt/timestamp.c:3301 +#: utils/adt/timestamp.c:3307 utils/adt/timestamp.c:3312 +#: utils/adt/timestamp.c:4380 utils/adt/timestamp.c:4532 +#: utils/adt/timestamp.c:4608 utils/adt/timestamp.c:4644 +#: utils/adt/timestamp.c:4734 utils/adt/timestamp.c:4813 +#: utils/adt/timestamp.c:4849 utils/adt/timestamp.c:4952 +#: utils/adt/timestamp.c:5407 utils/adt/timestamp.c:5681 +#: utils/adt/timestamp.c:6199 utils/adt/timestamp.c:6209 +#: utils/adt/timestamp.c:6214 utils/adt/timestamp.c:6220 +#: 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 #, c-format msgid "timestamp out of range" msgstr "timestamp utanför giltigt intervall" -#: utils/adt/date.c:1535 utils/adt/date.c:2343 utils/adt/formatting.c:4431 +#: utils/adt/date.c:1536 utils/adt/date.c:2352 utils/adt/formatting.c:4597 #, c-format msgid "time out of range" msgstr "time utanför giltigt intervall" -#: utils/adt/date.c:1587 utils/adt/timestamp.c:597 +#: utils/adt/date.c:1588 utils/adt/timestamp.c:613 #, c-format msgid "time field value out of range: %d:%02d:%02g" msgstr "time-värde utanför giltigt område: %d:%02d:%02g" -#: utils/adt/date.c:2107 utils/adt/date.c:2647 utils/adt/float.c:1042 -#: utils/adt/float.c:1118 utils/adt/int.c:635 utils/adt/int.c:682 -#: utils/adt/int.c:717 utils/adt/int8.c:414 utils/adt/numeric.c:2579 -#: utils/adt/timestamp.c:3455 utils/adt/timestamp.c:3482 -#: utils/adt/timestamp.c:3513 +#: utils/adt/date.c:2020 +#, c-format +msgid "cannot convert infinite interval to time" +msgstr "kan inte konvertera oändligt intervall till time" + +#: utils/adt/date.c:2061 utils/adt/date.c:2605 +#, c-format +msgid "cannot add infinite interval to time" +msgstr "kan inte addera oändligt intervall till time" + +#: utils/adt/date.c:2084 utils/adt/date.c:2632 +#, c-format +msgid "cannot subtract infinite interval from time" +msgstr "kan inte subtrahera oändligt intervall från time" + +#: 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/timestamp.c:3810 utils/adt/timestamp.c:3847 +#: utils/adt/timestamp.c:3888 #, c-format msgid "invalid preceding or following size in window function" msgstr "ogiltig föregående eller efterföljande storlek i fönsterfunktion" -#: utils/adt/date.c:2351 +#: utils/adt/date.c:2360 #, c-format msgid "time zone displacement out of range" msgstr "tidszonförskjutning utanför giltigt intervall" -#: utils/adt/date.c:3110 utils/adt/timestamp.c:5506 utils/adt/timestamp.c:5736 +#: utils/adt/date.c:3132 utils/adt/timestamp.c:6242 utils/adt/timestamp.c:6479 +#, c-format +msgid "interval time zone \"%s\" must be finite" +msgstr "intervalltidszonen \"%s\" måste vara ändlig" + +#: utils/adt/date.c:3139 utils/adt/timestamp.c:6249 utils/adt/timestamp.c:6486 #, c-format msgid "interval time zone \"%s\" must not include months or days" msgstr "intervalltidszonen \"%s\" kan inte inkludera månader eller år" -#: utils/adt/datetime.c:3223 utils/adt/datetime.c:4002 -#: utils/adt/datetime.c:4008 utils/adt/timestamp.c:512 +#: utils/adt/datetime.c:3232 utils/adt/datetime.c:4127 +#: utils/adt/datetime.c:4133 utils/adt/timestamp.c:528 #, c-format msgid "time zone \"%s\" not recognized" msgstr "tidszon \"%s\" känns inte igen" -#: utils/adt/datetime.c:3976 utils/adt/datetime.c:3983 +#: utils/adt/datetime.c:4101 utils/adt/datetime.c:4108 #, c-format msgid "date/time field value out of range: \"%s\"" msgstr "datum/tid-värde utanför giltigt område: \"%s\"" -#: utils/adt/datetime.c:3985 +#: utils/adt/datetime.c:4110 #, c-format msgid "Perhaps you need a different \"datestyle\" setting." msgstr "Du kanske behöver en annan inställning av variabeln \"datestyle\"." -#: utils/adt/datetime.c:3990 +#: utils/adt/datetime.c:4115 #, c-format msgid "interval field value out of range: \"%s\"" msgstr "intervall-värde utanför giltigt område: \"%s\"" -#: utils/adt/datetime.c:3996 +#: utils/adt/datetime.c:4121 #, c-format msgid "time zone displacement out of range: \"%s\"" msgstr "tidszonförskjutning itanför sitt intervall: \"%s\"" -#: utils/adt/datetime.c:4010 +#: utils/adt/datetime.c:4135 #, c-format msgid "This time zone name appears in the configuration file for time zone abbreviation \"%s\"." msgstr "Detta tidszonsnamn finns i konfigurationsfilen för tidszonsförkortning \"%s\"." @@ -24039,22 +25041,22 @@ msgstr "Detta tidszonsnamn finns i konfigurationsfilen för tidszonsförkortning msgid "invalid Datum pointer" msgstr "ogiltigt Datum-pekare" -#: utils/adt/dbsize.c:761 utils/adt/dbsize.c:837 +#: utils/adt/dbsize.c:764 utils/adt/dbsize.c:840 #, c-format msgid "invalid size: \"%s\"" msgstr "ogiltig storlek: \"%s\"" -#: utils/adt/dbsize.c:838 +#: utils/adt/dbsize.c:841 #, c-format msgid "Invalid size unit: \"%s\"." msgstr "Ogiltig storleksenhet: \"%s\"." -#: utils/adt/dbsize.c:839 +#: utils/adt/dbsize.c:842 #, c-format msgid "Valid units are \"bytes\", \"B\", \"kB\", \"MB\", \"GB\", \"TB\", and \"PB\"." msgstr "Giltiga enheter är \"bytes\", \"B\", \"kB\", \"MB\", \"GB\", \"TB\" och \"PB\"." -#: utils/adt/domains.c:92 +#: utils/adt/domains.c:95 #, c-format msgid "type %s is not a domain" msgstr "typen %s är inte en domän" @@ -24136,353 +25138,348 @@ msgstr "kunde inte bestämma den verkliga enum-typen" msgid "enum %s contains no values" msgstr "enum %s innehåller inga värden" -#: utils/adt/float.c:89 +#: utils/adt/float.c:83 #, c-format msgid "value out of range: overflow" msgstr "värde utanför giltigt intervall: overflow" -#: utils/adt/float.c:97 +#: utils/adt/float.c:91 #, c-format msgid "value out of range: underflow" msgstr "värde utanför giltigt intervall: underflow" -#: utils/adt/float.c:286 +#: utils/adt/float.c:280 #, c-format msgid "\"%s\" is out of range for type real" msgstr "\"%s\" är utanför giltigt intervall för typen real" -#: utils/adt/float.c:488 +#: utils/adt/float.c:482 #, c-format msgid "\"%s\" is out of range for type double precision" msgstr "\"%s\" är utanför giltigt intervall för typen double precision" -#: utils/adt/float.c:1253 utils/adt/float.c:1327 utils/adt/int.c:355 +#: 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:1278 utils/adt/numeric.c:4500 utils/adt/numeric.c:4505 +#: utils/adt/int8.c:1277 utils/adt/numeric.c:4593 utils/adt/numeric.c:4598 #, c-format msgid "smallint out of range" msgstr "smallint utanför sitt intervall" -#: utils/adt/float.c:1453 utils/adt/numeric.c:3693 utils/adt/numeric.c:10027 +#: utils/adt/float.c:1447 utils/adt/numeric.c:3709 utils/adt/numeric.c:10112 #, c-format msgid "cannot take square root of a negative number" msgstr "kan inte ta kvadratroten av ett negativt tal" -#: utils/adt/float.c:1521 utils/adt/numeric.c:3981 utils/adt/numeric.c:4093 +#: utils/adt/float.c:1515 utils/adt/numeric.c:3997 utils/adt/numeric.c:4109 #, c-format msgid "zero raised to a negative power is undefined" msgstr "noll upphöjt med ett negativt tal är odefinierat" -#: utils/adt/float.c:1525 utils/adt/numeric.c:3985 utils/adt/numeric.c:10918 +#: utils/adt/float.c:1519 utils/adt/numeric.c:4001 utils/adt/numeric.c:11003 #, c-format msgid "a negative number raised to a non-integer power yields a complex result" msgstr "ett negativt tal upphöjt i en icke-negativ potens ger ett komplext resultat" -#: utils/adt/float.c:1701 utils/adt/float.c:1734 utils/adt/numeric.c:3893 -#: utils/adt/numeric.c:10698 +#: utils/adt/float.c:1695 utils/adt/float.c:1728 utils/adt/numeric.c:3909 +#: utils/adt/numeric.c:10783 #, c-format msgid "cannot take logarithm of zero" msgstr "kan inte ta logartimen av noll" -#: utils/adt/float.c:1705 utils/adt/float.c:1738 utils/adt/numeric.c:3831 -#: utils/adt/numeric.c:3888 utils/adt/numeric.c:10702 +#: 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 #, c-format msgid "cannot take logarithm of a negative number" msgstr "kan inte ta logaritmen av ett negativt tal" -#: utils/adt/float.c:1771 utils/adt/float.c:1802 utils/adt/float.c:1897 -#: utils/adt/float.c:1924 utils/adt/float.c:1952 utils/adt/float.c:1979 -#: utils/adt/float.c:2126 utils/adt/float.c:2163 utils/adt/float.c:2333 -#: utils/adt/float.c:2389 utils/adt/float.c:2454 utils/adt/float.c:2511 -#: utils/adt/float.c:2702 utils/adt/float.c:2726 +#: utils/adt/float.c:1765 utils/adt/float.c:1796 utils/adt/float.c:1891 +#: utils/adt/float.c:1918 utils/adt/float.c:1946 utils/adt/float.c:1973 +#: utils/adt/float.c:2120 utils/adt/float.c:2157 utils/adt/float.c:2327 +#: utils/adt/float.c:2383 utils/adt/float.c:2448 utils/adt/float.c:2505 +#: utils/adt/float.c:2696 utils/adt/float.c:2720 #, c-format msgid "input is out of range" msgstr "indata är utanför giltigt intervall" -#: utils/adt/float.c:2867 -#, c-format -msgid "setseed parameter %g is out of allowed range [-1,1]" -msgstr "setseed-parameter %g är utanför giltigt intervall [-1,1]" - -#: utils/adt/float.c:4095 utils/adt/numeric.c:1841 +#: utils/adt/float.c:4000 utils/adt/numeric.c:1857 #, c-format msgid "count must be greater than zero" msgstr "antal måste vara större än noll" -#: utils/adt/float.c:4100 utils/adt/numeric.c:1852 +#: utils/adt/float.c:4005 utils/adt/numeric.c:1868 #, c-format msgid "operand, lower bound, and upper bound cannot be NaN" -msgstr "operand, lägre gräns och övre gräns kan inte vara NaN" +msgstr "operand, undre gräns och övre gräns kan inte vara NaN" -#: utils/adt/float.c:4106 utils/adt/numeric.c:1857 +#: utils/adt/float.c:4011 utils/adt/numeric.c:1873 #, c-format msgid "lower and upper bounds must be finite" -msgstr "lägre och övre gräns måste vara ändliga" +msgstr "undre och övre gräns måste vara ändliga" -#: utils/adt/float.c:4172 utils/adt/numeric.c:1871 +#: utils/adt/float.c:4077 utils/adt/numeric.c:1887 #, c-format msgid "lower bound cannot equal upper bound" -msgstr "lägre gräns kan inte vara samma som övre gräns" +msgstr "undre gräns kan inte vara samma som övre gräns" -#: utils/adt/formatting.c:519 +#: utils/adt/formatting.c:530 #, c-format msgid "invalid format specification for an interval value" msgstr "ogiltig formatspecifikation för ett intervallvärdei" -#: utils/adt/formatting.c:520 +#: utils/adt/formatting.c:531 #, c-format msgid "Intervals are not tied to specific calendar dates." msgstr "Intervaller är inte kopplade till specifika kalenderdatum." -#: utils/adt/formatting.c:1150 +#: utils/adt/formatting.c:1161 #, c-format msgid "\"EEEE\" must be the last pattern used" msgstr "\"EEEE\" måste vara det sista mönstret som används" -#: utils/adt/formatting.c:1158 +#: utils/adt/formatting.c:1169 #, c-format msgid "\"9\" must be ahead of \"PR\"" msgstr "\"9\" måste vara före \"PR\"" -#: utils/adt/formatting.c:1174 +#: utils/adt/formatting.c:1185 #, c-format msgid "\"0\" must be ahead of \"PR\"" msgstr "\"0\" måste vara före \"PR\"" -#: utils/adt/formatting.c:1201 +#: utils/adt/formatting.c:1212 #, c-format msgid "multiple decimal points" msgstr "multipla decimalpunkter" -#: utils/adt/formatting.c:1205 utils/adt/formatting.c:1288 +#: utils/adt/formatting.c:1216 utils/adt/formatting.c:1299 #, c-format msgid "cannot use \"V\" and decimal point together" msgstr "kan inte använda \"V\" ach decimalpunkt tillsammans" -#: utils/adt/formatting.c:1217 +#: utils/adt/formatting.c:1228 #, c-format msgid "cannot use \"S\" twice" msgstr "kan inte använda \"S\" två gånger" -#: utils/adt/formatting.c:1221 +#: utils/adt/formatting.c:1232 #, c-format msgid "cannot use \"S\" and \"PL\"/\"MI\"/\"SG\"/\"PR\" together" msgstr "kan inte använda \"S\" och \"PL\"/\"MI\"/\"SG\"/\"PR\" tillsammans" -#: utils/adt/formatting.c:1241 +#: utils/adt/formatting.c:1252 #, c-format msgid "cannot use \"S\" and \"MI\" together" msgstr "kan inte använda \"S\" och \"MI\" tillsammans." -#: utils/adt/formatting.c:1251 +#: utils/adt/formatting.c:1262 #, c-format msgid "cannot use \"S\" and \"PL\" together" msgstr "kan inte använda \"S\" och \"PL\" tillsammans." -#: utils/adt/formatting.c:1261 +#: utils/adt/formatting.c:1272 #, c-format msgid "cannot use \"S\" and \"SG\" together" msgstr "kan inte använda \"S\" och \"SG\" tillsammans." -#: utils/adt/formatting.c:1270 +#: utils/adt/formatting.c:1281 #, c-format msgid "cannot use \"PR\" and \"S\"/\"PL\"/\"MI\"/\"SG\" together" msgstr "kan inte använda \"PR\" och \"S\"/\"PL\"/\"MI\"/\"SG\" tillsammans." -#: utils/adt/formatting.c:1296 +#: utils/adt/formatting.c:1307 #, c-format msgid "cannot use \"EEEE\" twice" msgstr "kan inte använda \"EEEE\" två gånger" -#: utils/adt/formatting.c:1302 +#: utils/adt/formatting.c:1313 #, c-format msgid "\"EEEE\" is incompatible with other formats" msgstr "\"EEEE\" är inkompatibel med andra format" -#: utils/adt/formatting.c:1303 +#: utils/adt/formatting.c:1314 #, c-format msgid "\"EEEE\" may only be used together with digit and decimal point patterns." msgstr "\"EEEE\" får bara användas tillsammans med siffror- och decimalpunkts-mönster." -#: utils/adt/formatting.c:1387 +#: utils/adt/formatting.c:1398 #, c-format msgid "invalid datetime format separator: \"%s\"" msgstr "ogiltigt formatseparator för datetime: \"%s\"" -#: utils/adt/formatting.c:1514 +#: utils/adt/formatting.c:1525 #, c-format msgid "\"%s\" is not a number" msgstr "\"%s\" är inte ett nummer" -#: utils/adt/formatting.c:1592 +#: utils/adt/formatting.c:1603 #, c-format msgid "case conversion failed: %s" msgstr "case-konvertering misslyckades: %s" -#: utils/adt/formatting.c:1646 utils/adt/formatting.c:1768 -#: utils/adt/formatting.c:1891 +#: utils/adt/formatting.c:1651 utils/adt/formatting.c:1799 +#: utils/adt/formatting.c:1989 #, c-format msgid "could not determine which collation to use for %s function" msgstr "kunde inte bestämma jämförelse (collation) för funktionen %s" -#: utils/adt/formatting.c:2274 +#: utils/adt/formatting.c:2410 #, c-format msgid "invalid combination of date conventions" msgstr "ogiltig kombination av datumkonventioner" -#: utils/adt/formatting.c:2275 +#: utils/adt/formatting.c:2411 #, c-format msgid "Do not mix Gregorian and ISO week date conventions in a formatting template." msgstr "Blanda inte datumkonventionerna Gregoriansk och ISO-veckor i formatteringsmall." -#: utils/adt/formatting.c:2297 +#: utils/adt/formatting.c:2433 #, c-format msgid "conflicting values for \"%s\" field in formatting string" msgstr "värden för \"%s\" i formatsträng står i konflikt med varandra" -#: utils/adt/formatting.c:2299 +#: utils/adt/formatting.c:2435 #, c-format msgid "This value contradicts a previous setting for the same field type." msgstr "Detta värde motsäger en tidigare inställning för samma fälttyp." -#: utils/adt/formatting.c:2366 +#: utils/adt/formatting.c:2502 #, c-format msgid "source string too short for \"%s\" formatting field" msgstr "källsträngen är för kort för formatfält \"%s\"" -#: utils/adt/formatting.c:2368 +#: utils/adt/formatting.c:2504 #, c-format msgid "Field requires %d characters, but only %d remain." msgstr "Fältet kräver %d tecken men bara %d återstår." -#: utils/adt/formatting.c:2370 utils/adt/formatting.c:2384 +#: utils/adt/formatting.c:2506 utils/adt/formatting.c:2520 #, c-format msgid "If your source string is not fixed-width, try using the \"FM\" modifier." msgstr "Om din källsträng inte är av fast längd så testa med modifieraren \"FM\"." -#: utils/adt/formatting.c:2380 utils/adt/formatting.c:2393 -#: utils/adt/formatting.c:2614 +#: utils/adt/formatting.c:2516 utils/adt/formatting.c:2529 +#: utils/adt/formatting.c:2750 utils/adt/formatting.c:3650 #, c-format msgid "invalid value \"%s\" for \"%s\"" msgstr "ogiltigt värde \"%s\" för \"%s\"" -#: utils/adt/formatting.c:2382 +#: utils/adt/formatting.c:2518 #, c-format msgid "Field requires %d characters, but only %d could be parsed." msgstr "Fältet kräver %d tecken men bara %d kunde parsas." -#: utils/adt/formatting.c:2395 +#: utils/adt/formatting.c:2531 #, c-format msgid "Value must be an integer." msgstr "Värdet måste vara ett heltal." -#: utils/adt/formatting.c:2400 +#: utils/adt/formatting.c:2536 #, c-format msgid "value for \"%s\" in source string is out of range" msgstr "värdet för \"%s\" i källsträng är utanför giltigt intervall" -#: utils/adt/formatting.c:2402 +#: utils/adt/formatting.c:2538 #, c-format msgid "Value must be in the range %d to %d." msgstr "Värdet måste vara i intervallet %d till %d." -#: utils/adt/formatting.c:2616 +#: utils/adt/formatting.c:2752 #, c-format msgid "The given value did not match any of the allowed values for this field." msgstr "Det givna värdet matchar inget av de tillåtna värdena för detta fält." -#: utils/adt/formatting.c:2832 utils/adt/formatting.c:2852 -#: utils/adt/formatting.c:2872 utils/adt/formatting.c:2892 -#: utils/adt/formatting.c:2911 utils/adt/formatting.c:2930 -#: utils/adt/formatting.c:2954 utils/adt/formatting.c:2972 -#: utils/adt/formatting.c:2990 utils/adt/formatting.c:3008 -#: utils/adt/formatting.c:3025 utils/adt/formatting.c:3042 +#: utils/adt/formatting.c:2968 utils/adt/formatting.c:2988 +#: utils/adt/formatting.c:3008 utils/adt/formatting.c:3028 +#: utils/adt/formatting.c:3047 utils/adt/formatting.c:3066 +#: utils/adt/formatting.c:3090 utils/adt/formatting.c:3108 +#: utils/adt/formatting.c:3126 utils/adt/formatting.c:3144 +#: utils/adt/formatting.c:3161 utils/adt/formatting.c:3178 #, c-format msgid "localized string format value too long" msgstr "lokaliserat strängformatvärde är för långt" -#: utils/adt/formatting.c:3322 +#: utils/adt/formatting.c:3458 #, c-format msgid "unmatched format separator \"%c\"" msgstr "ej matchande formatteringsseparator \"%c\"" -#: utils/adt/formatting.c:3383 +#: utils/adt/formatting.c:3519 #, c-format msgid "unmatched format character \"%s\"" msgstr "ej matchande formatteringstecken \"%s\"" -#: utils/adt/formatting.c:3491 +#: utils/adt/formatting.c:3652 #, c-format -msgid "formatting field \"%s\" is only supported in to_char" -msgstr "formateringsfält \"%s\" stöds bara i to_char" +msgid "Time zone abbreviation is not recognized." +msgstr "Känner inte igen förkortning för tidszon." -#: utils/adt/formatting.c:3665 +#: utils/adt/formatting.c:3853 #, c-format msgid "invalid input string for \"Y,YYY\"" msgstr "ogiltig indatasträng för \"Y,YYY\"" -#: utils/adt/formatting.c:3754 +#: utils/adt/formatting.c:3942 #, c-format msgid "input string is too short for datetime format" msgstr "indatasträngen är för kort för datetime-formatet" -#: utils/adt/formatting.c:3762 +#: utils/adt/formatting.c:3950 #, c-format msgid "trailing characters remain in input string after datetime format" msgstr "efterföljande tecken finns kvar i indatasträngen efter datetime-formattering" -#: utils/adt/formatting.c:4319 +#: utils/adt/formatting.c:4494 #, c-format msgid "missing time zone in input string for type timestamptz" msgstr "saknar tidszon i indatasträngen för typen timestamptz" -#: utils/adt/formatting.c:4325 +#: utils/adt/formatting.c:4500 #, c-format msgid "timestamptz out of range" msgstr "timestamptz utanför giltigt intervall" -#: utils/adt/formatting.c:4353 +#: utils/adt/formatting.c:4528 #, c-format msgid "datetime format is zoned but not timed" msgstr "datetime-format har zon men inte tid" -#: utils/adt/formatting.c:4411 +#: utils/adt/formatting.c:4577 #, c-format msgid "missing time zone in input string for type timetz" msgstr "saknar tidszon i indatasträng för typ timetz" -#: utils/adt/formatting.c:4417 +#: utils/adt/formatting.c:4583 #, c-format msgid "timetz out of range" msgstr "timetz utanför giltigt intervall" -#: utils/adt/formatting.c:4443 +#: utils/adt/formatting.c:4609 #, c-format msgid "datetime format is not dated and not timed" msgstr "datetime-format har inte datum och inte tid" -#: utils/adt/formatting.c:4575 +#: utils/adt/formatting.c:4786 #, c-format msgid "hour \"%d\" is invalid for the 12-hour clock" msgstr "timmen \"%d\" är ogiltigt för en 12-timmars-klocka" -#: utils/adt/formatting.c:4577 +#: utils/adt/formatting.c:4788 #, c-format msgid "Use the 24-hour clock, or give an hour between 1 and 12." msgstr "Använd en 24-timmars-klocka eller ange en timme mellan 1 och 12." -#: utils/adt/formatting.c:4689 +#: utils/adt/formatting.c:4900 #, c-format msgid "cannot calculate day of year without year information" msgstr "kan inte beräkna dag på året utan årsinformation" -#: utils/adt/formatting.c:5621 +#: utils/adt/formatting.c:5852 #, c-format msgid "\"EEEE\" not supported for input" msgstr "\"EEEE\" stöds inte för indata" -#: utils/adt/formatting.c:5633 +#: utils/adt/formatting.c:5864 #, c-format msgid "\"RN\" not supported for input" msgstr "\"RN\" stöds inte för indata" @@ -24514,12 +25511,7 @@ msgstr "kunde inte söka (seek) i fil \"%s\": %m" msgid "file length too large" msgstr "fillängd är för stor" -#: utils/adt/genfile.c:248 -#, c-format -msgid "must be superuser to read files with adminpack 1.0" -msgstr "måste vara superuser för att läsa filer med adminpack 1.0" - -#: utils/adt/genfile.c:702 +#: utils/adt/genfile.c:656 #, c-format msgid "tablespace with OID %u does not exist" msgstr "tabellutrymme med OID %u finns inte" @@ -24575,555 +25567,640 @@ msgstr "måste efterfråga minst 2 punkter" msgid "invalid int2vector data" msgstr "ogiltig int2vector-data" -#: utils/adt/int.c:1529 utils/adt/int8.c:1404 utils/adt/numeric.c:1749 -#: utils/adt/timestamp.c:5797 utils/adt/timestamp.c:5879 +#: utils/adt/int.c:1529 utils/adt/int8.c:1403 utils/adt/numeric.c:1765 +#: utils/adt/timestamp.c:6546 utils/adt/timestamp.c:6632 #, c-format msgid "step size cannot equal zero" msgstr "stegstorleken kan inte vara noll" -#: utils/adt/int8.c:449 utils/adt/int8.c:472 utils/adt/int8.c:486 -#: utils/adt/int8.c:500 utils/adt/int8.c:531 utils/adt/int8.c:555 -#: utils/adt/int8.c:637 utils/adt/int8.c:705 utils/adt/int8.c:711 -#: utils/adt/int8.c:737 utils/adt/int8.c:751 utils/adt/int8.c:775 -#: utils/adt/int8.c:788 utils/adt/int8.c:900 utils/adt/int8.c:914 -#: utils/adt/int8.c:928 utils/adt/int8.c:959 utils/adt/int8.c:981 -#: utils/adt/int8.c:995 utils/adt/int8.c:1009 utils/adt/int8.c:1042 -#: utils/adt/int8.c:1056 utils/adt/int8.c:1070 utils/adt/int8.c:1101 -#: utils/adt/int8.c:1123 utils/adt/int8.c:1137 utils/adt/int8.c:1151 -#: utils/adt/int8.c:1313 utils/adt/int8.c:1348 utils/adt/numeric.c:4459 -#: utils/adt/rangetypes.c:1528 utils/adt/rangetypes.c:1541 +#: utils/adt/int8.c:448 utils/adt/int8.c:471 utils/adt/int8.c:485 +#: utils/adt/int8.c:499 utils/adt/int8.c:530 utils/adt/int8.c:554 +#: utils/adt/int8.c:636 utils/adt/int8.c:704 utils/adt/int8.c:710 +#: utils/adt/int8.c:736 utils/adt/int8.c:750 utils/adt/int8.c:774 +#: utils/adt/int8.c:787 utils/adt/int8.c:899 utils/adt/int8.c:913 +#: utils/adt/int8.c:927 utils/adt/int8.c:958 utils/adt/int8.c:980 +#: 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/rangetypes.c:1535 utils/adt/rangetypes.c:1548 #: utils/adt/varbit.c:1676 #, c-format msgid "bigint out of range" msgstr "bigint utanför sitt intervall" -#: utils/adt/int8.c:1361 +#: utils/adt/int8.c:1360 #, c-format msgid "OID out of range" msgstr "OID utanför sitt intervall" -#: utils/adt/json.c:320 utils/adt/jsonb.c:781 +#: utils/adt/json.c:202 utils/adt/jsonb.c:664 #, c-format msgid "key value must be scalar, not array, composite, or json" msgstr "nyckelvärde måste vara skalär, inte array, composite eller json" -#: utils/adt/json.c:1113 utils/adt/json.c:1123 utils/fmgr/funcapi.c:2082 +#: utils/adt/json.c:1034 utils/adt/json.c:1044 utils/fmgr/funcapi.c:2090 #, c-format msgid "could not determine data type for argument %d" msgstr "kunde inte lista ut datatypen för argument %d" -#: utils/adt/json.c:1146 utils/adt/json.c:1337 utils/adt/json.c:1513 -#: utils/adt/json.c:1591 utils/adt/jsonb.c:1432 utils/adt/jsonb.c:1522 +#: utils/adt/json.c:1067 utils/adt/json.c:1266 utils/adt/json.c:1449 +#: utils/adt/json.c:1527 utils/adt/jsonb.c:1333 utils/adt/jsonb.c:1423 #, c-format msgid "null value not allowed for object key" msgstr "null-värde tillåts inte som objektnyckel" -#: utils/adt/json.c:1189 utils/adt/json.c:1352 +#: utils/adt/json.c:1117 utils/adt/json.c:1288 #, c-format msgid "duplicate JSON object key value: %s" msgstr "duplicerat nyckelvärde i JSON objekt: %s" -#: utils/adt/json.c:1297 utils/adt/jsonb.c:1233 +#: utils/adt/json.c:1226 utils/adt/jsonb.c:1134 #, c-format msgid "argument list must have even number of elements" msgstr "argumentlistan måste ha ett jämt antal element" #. translator: %s is a SQL function name -#: utils/adt/json.c:1299 utils/adt/jsonb.c:1235 +#: utils/adt/json.c:1228 utils/adt/jsonb.c:1136 #, c-format msgid "The arguments of %s must consist of alternating keys and values." msgstr "Argumenten till %s måste bestå av varannan nyckel och varannat värde." -#: utils/adt/json.c:1491 utils/adt/jsonb.c:1410 +#: utils/adt/json.c:1427 utils/adt/jsonb.c:1311 #, c-format msgid "array must have two columns" msgstr "array:en måste ha två kolumner" -#: utils/adt/json.c:1580 utils/adt/jsonb.c:1511 +#: utils/adt/json.c:1516 utils/adt/jsonb.c:1412 #, c-format msgid "mismatched array dimensions" msgstr "array-dimensionerna stämmer inte" -#: utils/adt/json.c:1764 utils/adt/jsonb_util.c:1958 +#: utils/adt/json.c:1702 utils/adt/jsonb_util.c:1956 #, c-format msgid "duplicate JSON object key value" msgstr "duplicerat nyckelvärde i JSON objekt" -#: utils/adt/jsonb.c:294 +#: utils/adt/jsonb.c:282 #, c-format msgid "string too long to represent as jsonb string" msgstr "strängen är för lång för att representeras som en jsonb-sträng" -#: utils/adt/jsonb.c:295 +#: utils/adt/jsonb.c:283 #, c-format msgid "Due to an implementation restriction, jsonb strings cannot exceed %d bytes." msgstr "På grund av en implementationsbegränsning så kan jsonb-strängar inte överstiga %d byte." -#: utils/adt/jsonb.c:1252 +#: utils/adt/jsonb.c:1153 #, c-format msgid "argument %d: key must not be null" msgstr "argument %d: nyckeln får inte vara null" -#: utils/adt/jsonb.c:1843 +#: utils/adt/jsonb.c:1744 #, c-format msgid "field name must not be null" msgstr "fältnamnet får inte vara null" -#: utils/adt/jsonb.c:1905 +#: utils/adt/jsonb.c:1806 #, c-format msgid "object keys must be strings" msgstr "objektnycklar måste vara strängar" -#: utils/adt/jsonb.c:2116 +#: utils/adt/jsonb.c:2017 #, c-format msgid "cannot cast jsonb null to type %s" msgstr "kan inte typomvandla jsonb-null till type %s" -#: utils/adt/jsonb.c:2117 +#: utils/adt/jsonb.c:2018 #, c-format msgid "cannot cast jsonb string to type %s" msgstr "kan inte typomvandla jsonb-sträng till typ %s" -#: utils/adt/jsonb.c:2118 +#: utils/adt/jsonb.c:2019 #, c-format msgid "cannot cast jsonb numeric to type %s" msgstr "kan inte typomvandla jsonb-numeric till typ %s" -#: utils/adt/jsonb.c:2119 +#: utils/adt/jsonb.c:2020 #, c-format msgid "cannot cast jsonb boolean to type %s" msgstr "kan inte typomvandla jsonb-boolean till typ %s" -#: utils/adt/jsonb.c:2120 +#: utils/adt/jsonb.c:2021 #, c-format msgid "cannot cast jsonb array to type %s" msgstr "kan inte typomvandla jsonb-array till typ %s" -#: utils/adt/jsonb.c:2121 +#: utils/adt/jsonb.c:2022 #, c-format msgid "cannot cast jsonb object to type %s" msgstr "kan inte typomvandla jsonb-objekt till typ %s" -#: utils/adt/jsonb.c:2122 +#: utils/adt/jsonb.c:2023 #, c-format msgid "cannot cast jsonb array or object to type %s" msgstr "kan inte typomvandla jsonb-array eller objekt till typ %s" -#: utils/adt/jsonb_util.c:758 +#: utils/adt/jsonb_util.c:756 #, c-format msgid "number of jsonb object pairs exceeds the maximum allowed (%zu)" msgstr "antalet jsonb-objektpar överskrider det maximalt tillåtna (%zu)" -#: utils/adt/jsonb_util.c:799 +#: utils/adt/jsonb_util.c:797 #, c-format msgid "number of jsonb array elements exceeds the maximum allowed (%zu)" msgstr "antalet jsonb-array-element överskrider det maximalt tillåtna (%zu)" -#: utils/adt/jsonb_util.c:1673 utils/adt/jsonb_util.c:1693 +#: utils/adt/jsonb_util.c:1671 utils/adt/jsonb_util.c:1691 #, c-format msgid "total size of jsonb array elements exceeds the maximum of %d bytes" msgstr "total storleken på element i jsonb-array överskrider maximala %d byte" -#: utils/adt/jsonb_util.c:1754 utils/adt/jsonb_util.c:1789 -#: utils/adt/jsonb_util.c:1809 +#: utils/adt/jsonb_util.c:1752 utils/adt/jsonb_util.c:1787 +#: utils/adt/jsonb_util.c:1807 #, c-format msgid "total size of jsonb object elements exceeds the maximum of %d bytes" msgstr "total storleken på element i jsonb-objekt överskrider maximala %d byte" -#: utils/adt/jsonbsubs.c:70 utils/adt/jsonbsubs.c:151 +#: utils/adt/jsonbsubs.c:67 utils/adt/jsonbsubs.c:148 #, c-format msgid "jsonb subscript does not support slices" msgstr "array-index-syntax för jsonb stöder inte slices" -#: utils/adt/jsonbsubs.c:103 utils/adt/jsonbsubs.c:117 +#: utils/adt/jsonbsubs.c:100 utils/adt/jsonbsubs.c:114 #, c-format msgid "subscript type %s is not supported" msgstr "array-index-typ %s stöds inte" -#: utils/adt/jsonbsubs.c:104 +#: utils/adt/jsonbsubs.c:101 #, c-format msgid "jsonb subscript must be coercible to only one type, integer or text." msgstr "array-index för jsonb måste vara konverterbar till en av typerna integer eller text." -#: utils/adt/jsonbsubs.c:118 +#: utils/adt/jsonbsubs.c:115 #, c-format msgid "jsonb subscript must be coercible to either integer or text." msgstr "array-index för jsonb måste vara konverterbar till antingen integer eller text." -#: utils/adt/jsonbsubs.c:139 +#: utils/adt/jsonbsubs.c:136 #, c-format msgid "jsonb subscript must have text type" msgstr "array-index för jsonb måste ha typen text" -#: utils/adt/jsonbsubs.c:207 +#: utils/adt/jsonbsubs.c:204 #, c-format msgid "jsonb subscript in assignment must not be null" msgstr "array-index för jsonb i tilldelning kan inte vara null" -#: utils/adt/jsonfuncs.c:572 utils/adt/jsonfuncs.c:821 -#: utils/adt/jsonfuncs.c:2429 utils/adt/jsonfuncs.c:2881 -#: utils/adt/jsonfuncs.c:3676 utils/adt/jsonfuncs.c:4018 +#: utils/adt/jsonfuncs.c:583 utils/adt/jsonfuncs.c:830 +#: utils/adt/jsonfuncs.c:2439 utils/adt/jsonfuncs.c:3015 +#: utils/adt/jsonfuncs.c:3948 utils/adt/jsonfuncs.c:4295 #, c-format msgid "cannot call %s on a scalar" msgstr "kan inte anropa %s på en skalär" -#: utils/adt/jsonfuncs.c:577 utils/adt/jsonfuncs.c:806 -#: utils/adt/jsonfuncs.c:2883 utils/adt/jsonfuncs.c:3663 +#: utils/adt/jsonfuncs.c:588 utils/adt/jsonfuncs.c:815 +#: utils/adt/jsonfuncs.c:3017 utils/adt/jsonfuncs.c:3935 #, c-format msgid "cannot call %s on an array" msgstr "kan inte anropa %s på en array" -#: utils/adt/jsonfuncs.c:713 +#: utils/adt/jsonfuncs.c:724 #, c-format msgid "JSON data, line %d: %s%s%s" msgstr "JSON-data, rad %d: %s%s%s" -#: utils/adt/jsonfuncs.c:1875 utils/adt/jsonfuncs.c:1912 +#: utils/adt/jsonfuncs.c:1883 utils/adt/jsonfuncs.c:1920 #, c-format msgid "cannot get array length of a scalar" msgstr "kan inte hämta array-längd på skalär" -#: utils/adt/jsonfuncs.c:1879 utils/adt/jsonfuncs.c:1898 +#: utils/adt/jsonfuncs.c:1887 utils/adt/jsonfuncs.c:1906 #, c-format msgid "cannot get array length of a non-array" msgstr "kan inte hämta array-längd på icke-array" -#: utils/adt/jsonfuncs.c:1978 +#: utils/adt/jsonfuncs.c:1986 #, c-format msgid "cannot call %s on a non-object" msgstr "kan inte anropa %s på ett icke-objekt" -#: utils/adt/jsonfuncs.c:2166 +#: utils/adt/jsonfuncs.c:2174 #, c-format msgid "cannot deconstruct an array as an object" msgstr "kan inte dekonstruera en array som ett objekt" -#: utils/adt/jsonfuncs.c:2180 +#: utils/adt/jsonfuncs.c:2188 #, c-format msgid "cannot deconstruct a scalar" msgstr "kan inte dekonstruera en skalär" -#: utils/adt/jsonfuncs.c:2225 +#: utils/adt/jsonfuncs.c:2233 #, c-format msgid "cannot extract elements from a scalar" msgstr "kan inte extrahera element från en skalär" -#: utils/adt/jsonfuncs.c:2229 +#: utils/adt/jsonfuncs.c:2237 #, c-format msgid "cannot extract elements from an object" msgstr "kan inte extrahera element från ett objekt" -#: utils/adt/jsonfuncs.c:2414 utils/adt/jsonfuncs.c:3896 +#: utils/adt/jsonfuncs.c:2424 utils/adt/jsonfuncs.c:4173 #, c-format msgid "cannot call %s on a non-array" msgstr "kan inte anropa %s på icke-array" -#: utils/adt/jsonfuncs.c:2488 utils/adt/jsonfuncs.c:2493 -#: utils/adt/jsonfuncs.c:2510 utils/adt/jsonfuncs.c:2516 +#: utils/adt/jsonfuncs.c:2515 utils/adt/jsonfuncs.c:2520 +#: utils/adt/jsonfuncs.c:2538 utils/adt/jsonfuncs.c:2544 #, c-format msgid "expected JSON array" msgstr "förväntade JSON-array" -#: utils/adt/jsonfuncs.c:2489 +#: utils/adt/jsonfuncs.c:2516 #, c-format msgid "See the value of key \"%s\"." msgstr "Se värdetypen för nyckel \"%s\"" -#: utils/adt/jsonfuncs.c:2511 +#: utils/adt/jsonfuncs.c:2539 #, c-format msgid "See the array element %s of key \"%s\"." msgstr "Se array-element %s för nyckel \"%s\"." -#: utils/adt/jsonfuncs.c:2517 +#: utils/adt/jsonfuncs.c:2545 #, c-format msgid "See the array element %s." msgstr "Se array-element %s." -#: utils/adt/jsonfuncs.c:2552 +#: utils/adt/jsonfuncs.c:2597 #, c-format msgid "malformed JSON array" msgstr "felaktig JSON-array" #. translator: %s is a function name, eg json_to_record -#: utils/adt/jsonfuncs.c:3389 +#: utils/adt/jsonfuncs.c:3647 #, c-format msgid "first argument of %s must be a row type" msgstr "första argumentet till %s måste vara en radtyp" #. translator: %s is a function name, eg json_to_record -#: utils/adt/jsonfuncs.c:3413 +#: utils/adt/jsonfuncs.c:3671 #, c-format msgid "could not determine row type for result of %s" msgstr "kunde inte lista ut radtyp för resultat av %s" -#: utils/adt/jsonfuncs.c:3415 +#: utils/adt/jsonfuncs.c:3673 #, c-format msgid "Provide a non-null record argument, or call the function in the FROM clause using a column definition list." msgstr "Ange en icke-null record som argument eller anropa funktionen i FROM-klausulen med en kolumndefinitionslista." -#: utils/adt/jsonfuncs.c:3785 utils/fmgr/funcapi.c:94 +#: utils/adt/jsonfuncs.c:4059 utils/fmgr/funcapi.c:94 #, c-format msgid "materialize mode required, but it is not allowed in this context" msgstr "materialiserat läge krävs, men stöds inte i detta kontext" -#: utils/adt/jsonfuncs.c:3913 utils/adt/jsonfuncs.c:3997 +#: utils/adt/jsonfuncs.c:4190 utils/adt/jsonfuncs.c:4274 #, c-format msgid "argument of %s must be an array of objects" msgstr "argumentet till %s måste vara en array med objekt" -#: utils/adt/jsonfuncs.c:3946 +#: utils/adt/jsonfuncs.c:4223 #, c-format msgid "cannot call %s on an object" msgstr "kan inte anropa %s på ett objekt" -#: utils/adt/jsonfuncs.c:4380 utils/adt/jsonfuncs.c:4439 -#: utils/adt/jsonfuncs.c:4519 +#: utils/adt/jsonfuncs.c:4656 utils/adt/jsonfuncs.c:4715 +#: utils/adt/jsonfuncs.c:4795 #, c-format msgid "cannot delete from scalar" msgstr "kan inte radera från en skalär" -#: utils/adt/jsonfuncs.c:4524 +#: utils/adt/jsonfuncs.c:4800 #, c-format msgid "cannot delete from object using integer index" msgstr "kan inte radera från objekt genom att använda heltalsindex" -#: utils/adt/jsonfuncs.c:4592 utils/adt/jsonfuncs.c:4751 +#: utils/adt/jsonfuncs.c:4868 utils/adt/jsonfuncs.c:5027 #, c-format msgid "cannot set path in scalar" msgstr "kan inte sätta sökväg i skalär" -#: utils/adt/jsonfuncs.c:4633 utils/adt/jsonfuncs.c:4675 +#: utils/adt/jsonfuncs.c:4909 utils/adt/jsonfuncs.c:4951 #, c-format msgid "null_value_treatment must be \"delete_key\", \"return_target\", \"use_json_null\", or \"raise_exception\"" msgstr "null_value_treatment måste vara \"delete_key\", \"return_target\", \"use_json_null\" eller \"raise_exception\"" -#: utils/adt/jsonfuncs.c:4646 +#: utils/adt/jsonfuncs.c:4922 #, c-format msgid "JSON value must not be null" msgstr "JSON-värde får inte vara null" -#: utils/adt/jsonfuncs.c:4647 +#: utils/adt/jsonfuncs.c:4923 #, c-format msgid "Exception was raised because null_value_treatment is \"raise_exception\"." msgstr "Avbrott utlöstes då null_value_treatment är \"raise_exception\"." -#: utils/adt/jsonfuncs.c:4648 +#: utils/adt/jsonfuncs.c:4924 #, c-format msgid "To avoid, either change the null_value_treatment argument or ensure that an SQL NULL is not passed." msgstr "För att undvika detta så ändra null_value_treatment-argumentet eller se till att ett SQL-NULL inte skickas." -#: utils/adt/jsonfuncs.c:4703 +#: utils/adt/jsonfuncs.c:4979 #, c-format msgid "cannot delete path in scalar" msgstr "kan inte radera sökväg i skalär" -#: utils/adt/jsonfuncs.c:4917 +#: utils/adt/jsonfuncs.c:5193 #, c-format msgid "path element at position %d is null" msgstr "sökvägselement vid position %d är null" -#: utils/adt/jsonfuncs.c:4936 utils/adt/jsonfuncs.c:4967 -#: utils/adt/jsonfuncs.c:5040 +#: utils/adt/jsonfuncs.c:5212 utils/adt/jsonfuncs.c:5243 +#: utils/adt/jsonfuncs.c:5316 #, c-format msgid "cannot replace existing key" msgstr "kan inte ersätta befintlig nyckel" -#: utils/adt/jsonfuncs.c:4937 utils/adt/jsonfuncs.c:4968 +#: utils/adt/jsonfuncs.c:5213 utils/adt/jsonfuncs.c:5244 #, c-format msgid "The path assumes key is a composite object, but it is a scalar value." msgstr "Sökvägen förväntar sig att nyckeln är ett sammansatt objekt men det är ett skalärt värde." -#: utils/adt/jsonfuncs.c:5041 +#: utils/adt/jsonfuncs.c:5317 #, c-format msgid "Try using the function jsonb_set to replace key value." msgstr "Försök använda funktionen jsonb_set för att ersätta nyckelvärde." -#: utils/adt/jsonfuncs.c:5145 +#: utils/adt/jsonfuncs.c:5421 #, c-format msgid "path element at position %d is not an integer: \"%s\"" msgstr "sökvägselement vid position %d är inte ett heltal: \"%s\"" -#: utils/adt/jsonfuncs.c:5162 +#: utils/adt/jsonfuncs.c:5438 #, c-format msgid "path element at position %d is out of range: %d" msgstr "sökvägselement vid position %d är utanför giltigt intervall: %d\"" -#: utils/adt/jsonfuncs.c:5314 +#: utils/adt/jsonfuncs.c:5590 #, c-format msgid "wrong flag type, only arrays and scalars are allowed" msgstr "fel flaggtyp, bara array:er och skalärer tillåts" -#: utils/adt/jsonfuncs.c:5321 +#: utils/adt/jsonfuncs.c:5597 #, c-format msgid "flag array element is not a string" msgstr "flaggelement i arrayen är inte en sträng" -#: utils/adt/jsonfuncs.c:5322 utils/adt/jsonfuncs.c:5344 +#: utils/adt/jsonfuncs.c:5598 utils/adt/jsonfuncs.c:5620 #, c-format msgid "Possible values are: \"string\", \"numeric\", \"boolean\", \"key\", and \"all\"." msgstr "Möjliga värden är: \"string\", \"numeric\", \"boolean\", \"key\" samt \"all\"." -#: utils/adt/jsonfuncs.c:5342 +#: utils/adt/jsonfuncs.c:5618 #, c-format msgid "wrong flag in flag array: \"%s\"" msgstr "fel flagga i flagg-array: \"%s\"" -#: utils/adt/jsonpath.c:382 +#: utils/adt/jsonpath.c:389 #, c-format msgid "@ is not allowed in root expressions" msgstr "@ är inte tillåten i rotuttryck" -#: utils/adt/jsonpath.c:388 +#: utils/adt/jsonpath.c:395 #, c-format msgid "LAST is allowed only in array subscripts" msgstr "LAST tillåts bara i array-indexeringar" -#: utils/adt/jsonpath_exec.c:361 +#: utils/adt/jsonpath_exec.c:491 #, c-format msgid "single boolean result is expected" msgstr "förväntade ett booleanskt resultat" -#: utils/adt/jsonpath_exec.c:557 +#: utils/adt/jsonpath_exec.c:851 #, c-format -msgid "\"vars\" argument is not an object" -msgstr "\"variabel\"-argumentet är inte ett objekt" +msgid "jsonpath wildcard array accessor can only be applied to an array" +msgstr "jsonpaths arrayväljare med wildcard kan bara applcieras på en array" -#: utils/adt/jsonpath_exec.c:558 +#: utils/adt/jsonpath_exec.c:874 #, c-format -msgid "Jsonpath parameters should be encoded as key-value pairs of \"vars\" object." -msgstr "Jsonpath-parametrar skall kodas som nyckel-värde-par av \"variabel\"-objekt." +msgid "jsonpath wildcard member accessor can only be applied to an object" +msgstr "jsonpaths medlemsväljare med wildcard kan bara appliceras på ett objekt" + +#: utils/adt/jsonpath_exec.c:923 +#, c-format +msgid "jsonpath array subscript is out of bounds" +msgstr "array-index för jsonpath är utanför giltigt område" + +#: utils/adt/jsonpath_exec.c:980 +#, c-format +msgid "jsonpath array accessor can only be applied to an array" +msgstr "jsonpaths arrayväljare kan bara appliceras på en array" -#: utils/adt/jsonpath_exec.c:675 +#: utils/adt/jsonpath_exec.c:1044 #, c-format msgid "JSON object does not contain key \"%s\"" msgstr "JSON-objekt innehåller inte nyckeln \"%s\"" -#: utils/adt/jsonpath_exec.c:687 +#: utils/adt/jsonpath_exec.c:1056 #, c-format msgid "jsonpath member accessor can only be applied to an object" msgstr "jsonpaths medlemsväljare kan bara appliceras på ett objekt" -#: utils/adt/jsonpath_exec.c:716 +#: utils/adt/jsonpath_exec.c:1114 #, c-format -msgid "jsonpath wildcard array accessor can only be applied to an array" -msgstr "jsonpaths arrayväljare med wildcard kan bara applcieras på en array" +msgid "jsonpath item method .%s() can only be applied to an array" +msgstr "jsonpaths elementmetod .%s() kan bara applicerars på en array" -#: utils/adt/jsonpath_exec.c:764 +#: utils/adt/jsonpath_exec.c:1167 utils/adt/jsonpath_exec.c:1193 #, c-format -msgid "jsonpath array subscript is out of bounds" -msgstr "array-index för jsonpath är utanför giltigt område" +msgid "argument \"%s\" of jsonpath item method .%s() is invalid for type double precision" +msgstr "argumentet \"%s\" till jsonpaths elementmetod .%s() är ogiltig för typen double precision" -#: utils/adt/jsonpath_exec.c:821 +#: utils/adt/jsonpath_exec.c:1172 utils/adt/jsonpath_exec.c:1198 +#: utils/adt/jsonpath_exec.c:1414 utils/adt/jsonpath_exec.c:1446 #, c-format -msgid "jsonpath array accessor can only be applied to an array" -msgstr "jsonpaths arrayväljare kan bara appliceras på en array" +msgid "NaN or Infinity is not allowed for jsonpath item method .%s()" +msgstr "NaN eller Infinity tillåts inte för jsonpaths elementmetod .%s()" -#: utils/adt/jsonpath_exec.c:873 +#: utils/adt/jsonpath_exec.c:1211 utils/adt/jsonpath_exec.c:1313 +#: utils/adt/jsonpath_exec.c:1455 utils/adt/jsonpath_exec.c:1593 #, c-format -msgid "jsonpath wildcard member accessor can only be applied to an object" -msgstr "jsonpaths medlemsväljare med wildcard kan bara appliceras på ett objekt" +msgid "jsonpath item method .%s() can only be applied to a string or numeric value" +msgstr "jsonpaths elementmetod .%s() kan bara applicerars på en sträng eller ett numeriskt värde" -#: utils/adt/jsonpath_exec.c:1007 +#: utils/adt/jsonpath_exec.c:1281 utils/adt/jsonpath_exec.c:1305 #, c-format -msgid "jsonpath item method .%s() can only be applied to an array" -msgstr "jsonpaths elementmetod .%s() lkan bara applicerar på en array" +msgid "argument \"%s\" of jsonpath item method .%s() is invalid for type bigint" +msgstr "argumentet \"%s\" till jsonpaths elementmetod .%s() är ogiltig för typen bigint" -#: utils/adt/jsonpath_exec.c:1060 +#: utils/adt/jsonpath_exec.c:1357 utils/adt/jsonpath_exec.c:1377 #, c-format -msgid "numeric argument of jsonpath item method .%s() is out of range for type double precision" -msgstr "numeriskt argument till jsonpaths elementmetod .%s() är utanför giltigt intervall för typen double precision" +msgid "argument \"%s\" of jsonpath item method .%s() is invalid for type boolean" +msgstr "argumentet \"%s\" till jsonpaths elementmetod .%s() är ogiltig för typen boolean" -#: utils/adt/jsonpath_exec.c:1081 +#: utils/adt/jsonpath_exec.c:1386 #, c-format -msgid "string argument of jsonpath item method .%s() is not a valid representation of a double precision number" -msgstr "strängargument till jsonpaths elementmetod .%s() är inte en giltig representation av ett double precision-nummer" +msgid "jsonpath item method .%s() can only be applied to a boolean, string, or numeric value" +msgstr "jsonpaths elementmetod .%s() kan bara appliceras på en boolean, sträng eller ett numeriskt värde" -#: utils/adt/jsonpath_exec.c:1094 +#: utils/adt/jsonpath_exec.c:1439 utils/adt/jsonpath_exec.c:1528 #, c-format -msgid "jsonpath item method .%s() can only be applied to a string or numeric value" -msgstr "jsonpaths elementmetod .%s() kan bara applicerar på en sträng eller ett numeriskt värde" +msgid "argument \"%s\" of jsonpath item method .%s() is invalid for type numeric" +msgstr "argumentet \"%s\" till jsonpaths elementmetod .%s() är ogiltig för typen numeric" + +#: utils/adt/jsonpath_exec.c:1487 +#, c-format +msgid "precision of jsonpath item method .%s() is out of range for type integer" +msgstr "precisionen för jsonpaths elementmetod .%s() är utanför giltigt intervall för typen integer" + +#: utils/adt/jsonpath_exec.c:1501 +#, c-format +msgid "scale of jsonpath item method .%s() is out of range for type integer" +msgstr "skalan för jsonpaths elementmetod .%s() är utanför giltigt intervall för typen integer" + +#: utils/adt/jsonpath_exec.c:1561 utils/adt/jsonpath_exec.c:1585 +#, c-format +msgid "argument \"%s\" of jsonpath item method .%s() is invalid for type integer" +msgstr "argumentet \"%s\" till jsonpaths elementmetod .%s() är ogiltig för typen integer" + +#: utils/adt/jsonpath_exec.c:1648 +#, c-format +msgid "jsonpath item method .%s() can only be applied to a boolean, string, numeric, or datetime value" +msgstr "jsonpaths elementmetod .%s() kan bara applicerars på en boolean, sträng eller ett datetime-värde" -#: utils/adt/jsonpath_exec.c:1584 +#: utils/adt/jsonpath_exec.c:2137 #, c-format msgid "left operand of jsonpath operator %s is not a single numeric value" msgstr "vänster operand på jsonpath-operator %s är inte ett ensamt numeriskt värde" -#: utils/adt/jsonpath_exec.c:1591 +#: utils/adt/jsonpath_exec.c:2144 #, c-format msgid "right operand of jsonpath operator %s is not a single numeric value" msgstr "höger operand på jsonpath-operator %s är inte ett ensamt numeriskt värde" -#: utils/adt/jsonpath_exec.c:1659 +#: utils/adt/jsonpath_exec.c:2212 #, c-format msgid "operand of unary jsonpath operator %s is not a numeric value" msgstr "operand till unär jsonpath-operator %s är inte ett numeriskt värde" -#: utils/adt/jsonpath_exec.c:1758 +#: utils/adt/jsonpath_exec.c:2311 #, c-format msgid "jsonpath item method .%s() can only be applied to a numeric value" msgstr "jsonpaths elementmetod .%s() kan bara appliceras på ett numeriskt värde" -#: utils/adt/jsonpath_exec.c:1798 +#: utils/adt/jsonpath_exec.c:2357 #, c-format msgid "jsonpath item method .%s() can only be applied to a string" -msgstr "jsonpaths elementmetod .%s() lkan bara applicerar på en sträng" +msgstr "jsonpaths elementmetod .%s() kan bara appliceras på en sträng" + +#: utils/adt/jsonpath_exec.c:2450 +#, c-format +msgid "time precision of jsonpath item method .%s() is out of range for type integer" +msgstr "tidsprecisionen till jsonpaths elementmetod .%s() är utanför giltigt intervall för typen integer" -#: utils/adt/jsonpath_exec.c:1901 +#: utils/adt/jsonpath_exec.c:2484 utils/adt/jsonpath_exec.c:2490 +#: utils/adt/jsonpath_exec.c:2517 utils/adt/jsonpath_exec.c:2545 +#: utils/adt/jsonpath_exec.c:2598 utils/adt/jsonpath_exec.c:2649 +#: utils/adt/jsonpath_exec.c:2720 #, c-format -msgid "datetime format is not recognized: \"%s\"" -msgstr "datetime-format känns inte igen: \"%s\"" +msgid "%s format is not recognized: \"%s\"" +msgstr "%s-format känns inte igen: \"%s\"" -#: utils/adt/jsonpath_exec.c:1903 +#: utils/adt/jsonpath_exec.c:2486 #, c-format msgid "Use a datetime template argument to specify the input data format." msgstr "Använd ett datetime-mallargument för att ange indataformatet." -#: utils/adt/jsonpath_exec.c:1971 +#: utils/adt/jsonpath_exec.c:2679 utils/adt/jsonpath_exec.c:2760 +#, c-format +msgid "time precision of jsonpath item method .%s() is invalid" +msgstr "tidsprecisionen till jsonpaths elementmetod .%s() är ogiltigt" + +#: utils/adt/jsonpath_exec.c:2840 #, c-format msgid "jsonpath item method .%s() can only be applied to an object" msgstr "elementmetod .%s() för jsonpath kan bara appliceras på ett objekt" -#: utils/adt/jsonpath_exec.c:2153 +#: utils/adt/jsonpath_exec.c:3124 +#, c-format +msgid "could not convert value of type %s to jsonpath" +msgstr "kunde inte konvertera värde av typ %s till jsonpath" + +#: utils/adt/jsonpath_exec.c:3158 #, c-format msgid "could not find jsonpath variable \"%s\"" msgstr "kunde inte hitta jsonpath-variabel \"%s\"" -#: utils/adt/jsonpath_exec.c:2417 +#: utils/adt/jsonpath_exec.c:3211 +#, c-format +msgid "\"vars\" argument is not an object" +msgstr "\"variabel\"-argumentet är inte ett objekt" + +#: utils/adt/jsonpath_exec.c:3212 +#, c-format +msgid "Jsonpath parameters should be encoded as key-value pairs of \"vars\" object." +msgstr "Jsonpath-parametrar skall kodas som nyckel-värde-par av \"variabel\"-objekt." + +#: utils/adt/jsonpath_exec.c:3475 #, c-format msgid "jsonpath array subscript is not a single numeric value" msgstr "array-index för jsonpath är inte ett ensamt numeriskt värde" -#: utils/adt/jsonpath_exec.c:2429 +#: utils/adt/jsonpath_exec.c:3487 #, c-format msgid "jsonpath array subscript is out of integer range" msgstr "array-index för jsonpath är utanför giltigt interval för integer" -#: utils/adt/jsonpath_exec.c:2606 +#: utils/adt/jsonpath_exec.c:3671 #, c-format msgid "cannot convert value from %s to %s without time zone usage" msgstr "kan inte konvertera värde från %s till %s utan att använda tidszon" -#: utils/adt/jsonpath_exec.c:2608 +#: utils/adt/jsonpath_exec.c:3673 #, c-format msgid "Use *_tz() function for time zone support." msgstr "ANvända *_tz()-funktioner som stöder tidszon." +#: utils/adt/jsonpath_exec.c:3981 +#, c-format +msgid "JSON path expression for column \"%s\" should return single item without wrapper" +msgstr "Uttryck för JSON-sökväg för kolumn \"%s\" skall returnera en post utan wrapper" + +#: utils/adt/jsonpath_exec.c:3983 utils/adt/jsonpath_exec.c:3988 +#, c-format +msgid "Use the WITH WRAPPER clause to wrap SQL/JSON items into an array." +msgstr "Använd klausulen WITH WRAPPER för att packa SQL/JSON-poster in i en array." + +#: utils/adt/jsonpath_exec.c:3987 +#, c-format +msgid "JSON path expression in JSON_QUERY should return single item without wrapper" +msgstr "Uttryck för JSON-sökväg i JSON_QUERY skall returnera ett värde utan wrapper" + +#: utils/adt/jsonpath_exec.c:4045 utils/adt/jsonpath_exec.c:4069 +#, c-format +msgid "JSON path expression for column \"%s\" should return single scalar item" +msgstr "Uttryck för JSON-sökväg för kolumn \"%s\" skall returnera ett skalärt värde" + +#: utils/adt/jsonpath_exec.c:4050 utils/adt/jsonpath_exec.c:4074 +#, c-format +msgid "JSON path expression in JSON_VALUE should return single scalar item" +msgstr "Uttryck för JSON-sökväg i JSON_VALUE skall returnera ett skalärt värde" + #: utils/adt/levenshtein.c:132 #, c-format msgid "levenshtein argument exceeds maximum length of %d characters" msgstr "levenshtein-argument överskrider maximala längden på %d tecken" -#: utils/adt/like.c:161 +#: utils/adt/like.c:159 #, c-format msgid "nondeterministic collations are not supported for LIKE" msgstr "ickedeterministiska jämförelser (collation) stöds inte för LIKE" -#: utils/adt/like.c:190 utils/adt/like_support.c:1024 +#: utils/adt/like.c:188 utils/adt/like_support.c:1023 #, c-format msgid "could not determine which collation to use for ILIKE" msgstr "kunde inte bestämma vilken jämförelse (collation) som skall användas för ILIKE" -#: utils/adt/like.c:202 +#: utils/adt/like.c:200 #, c-format msgid "nondeterministic collations are not supported for ILIKE" msgstr "ickedeterministiska jämförelser (collation) stöds inte för ILIKE" @@ -25133,22 +26210,22 @@ msgstr "ickedeterministiska jämförelser (collation) stöds inte för ILIKE" msgid "LIKE pattern must not end with escape character" msgstr "LIKE-mönster för inte sluta med ett escape-tecken" -#: utils/adt/like_match.c:293 utils/adt/regexp.c:801 +#: utils/adt/like_match.c:293 utils/adt/regexp.c:800 #, c-format msgid "invalid escape string" msgstr "ogiltig escape-sträng" -#: utils/adt/like_match.c:294 utils/adt/regexp.c:802 +#: utils/adt/like_match.c:294 utils/adt/regexp.c:801 #, c-format msgid "Escape string must be empty or one character." msgstr "Escape-sträng måste vara tom eller ett tecken." -#: utils/adt/like_support.c:1014 +#: utils/adt/like_support.c:1013 #, c-format msgid "case insensitive matching not supported on type bytea" msgstr "matchning utan skiftlägeskänslighet stöds inte för typen bytea" -#: utils/adt/like_support.c:1115 +#: utils/adt/like_support.c:1114 #, c-format msgid "regular-expression matching not supported on type bytea" msgstr "matching med reguljär-uttryck stöds inte för typen bytea" @@ -25158,17 +26235,17 @@ msgstr "matching med reguljär-uttryck stöds inte för typen bytea" msgid "invalid octet value in \"macaddr\" value: \"%s\"" msgstr "ogiltigt oktet-värde i \"macaddr\"-värde: \"%s\"" -#: utils/adt/mac8.c:554 +#: utils/adt/mac8.c:555 #, c-format msgid "macaddr8 data out of range to convert to macaddr" msgstr "macaddr8-data utanför giltigt intervall för att konverteras till macaddr" -#: utils/adt/mac8.c:555 +#: utils/adt/mac8.c:556 #, c-format msgid "Only addresses that have FF and FE as values in the 4th and 5th bytes from the left, for example xx:xx:xx:ff:fe:xx:xx:xx, are eligible to be converted from macaddr8 to macaddr." msgstr "Bara adresser som har FF och FE som värden i 4:e och 5:e byten från vänster, till exempel xx:xx:xx:ff:fe:xx:xx:xx, är möjliga att konvertera från macaddr8 till macaddr." -#: utils/adt/mcxtfuncs.c:182 +#: utils/adt/mcxtfuncs.c:173 #, c-format msgid "PID %d is not a PostgreSQL server process" msgstr "PID %d är inte en PostgreSQL serverprocess" @@ -25207,70 +26284,70 @@ msgstr "kan vara en enkelt namn" msgid "requires AS" msgstr "kräver AS" -#: utils/adt/misc.c:853 utils/adt/misc.c:867 utils/adt/misc.c:906 -#: utils/adt/misc.c:912 utils/adt/misc.c:918 utils/adt/misc.c:941 +#: utils/adt/misc.c:897 utils/adt/misc.c:911 utils/adt/misc.c:950 +#: utils/adt/misc.c:956 utils/adt/misc.c:962 utils/adt/misc.c:985 #, c-format msgid "string is not a valid identifier: \"%s\"" msgstr "sträng är inte en giltig identifierare: \"%s\"" -#: utils/adt/misc.c:855 +#: utils/adt/misc.c:899 #, c-format msgid "String has unclosed double quotes." msgstr "Sträng har ej avslutade dubbla citattecken." -#: utils/adt/misc.c:869 +#: utils/adt/misc.c:913 #, c-format msgid "Quoted identifier must not be empty." msgstr "Citerad identifierare får inte vara tom." -#: utils/adt/misc.c:908 +#: utils/adt/misc.c:952 #, c-format msgid "No valid identifier before \".\"." msgstr "Ingen giltig indentifierare innan \".\"." -#: utils/adt/misc.c:914 +#: utils/adt/misc.c:958 #, c-format msgid "No valid identifier after \".\"." msgstr "Ingen giltig identifierare efter \".\"." -#: utils/adt/misc.c:974 +#: utils/adt/misc.c:1018 #, c-format msgid "log format \"%s\" is not supported" msgstr "loggformat \"%s\" stöds inte" -#: utils/adt/misc.c:975 +#: utils/adt/misc.c:1019 #, c-format msgid "The supported log formats are \"stderr\", \"csvlog\", and \"jsonlog\"." msgstr "Loggformat som stöds är \"stderr\", \"csvlog\" och \"jsonlog\"." -#: utils/adt/multirangetypes.c:151 utils/adt/multirangetypes.c:164 -#: utils/adt/multirangetypes.c:193 utils/adt/multirangetypes.c:267 -#: utils/adt/multirangetypes.c:291 +#: utils/adt/multirangetypes.c:150 utils/adt/multirangetypes.c:163 +#: utils/adt/multirangetypes.c:192 utils/adt/multirangetypes.c:266 +#: utils/adt/multirangetypes.c:290 #, c-format msgid "malformed multirange literal: \"%s\"" msgstr "trasig multirange-litteral: \"%s\"" -#: utils/adt/multirangetypes.c:153 +#: utils/adt/multirangetypes.c:152 #, c-format msgid "Missing left brace." msgstr "Saknar vänster krullparentes" -#: utils/adt/multirangetypes.c:195 +#: utils/adt/multirangetypes.c:194 #, c-format msgid "Expected range start." msgstr "Förväntade range-start" -#: utils/adt/multirangetypes.c:269 +#: utils/adt/multirangetypes.c:268 #, c-format msgid "Expected comma or end of multirange." msgstr "Oväntat komma eller slut på multirange." -#: utils/adt/multirangetypes.c:982 +#: utils/adt/multirangetypes.c:981 #, c-format msgid "multiranges cannot be constructed from multidimensional arrays" msgstr "multiranges kan inte skapas från en multidimensionell array" -#: utils/adt/multirangetypes.c:1008 +#: utils/adt/multirangetypes.c:1007 #, c-format msgid "multirange values cannot contain null members" msgstr "multirange-värden kan inte innehålla null-medlemmar" @@ -25349,112 +26426,138 @@ msgstr "resultatet är utanför giltigt intervall" msgid "cannot subtract inet values of different sizes" msgstr "kan inte subtrahera inet-värden av olika storlek" -#: utils/adt/numeric.c:785 utils/adt/numeric.c:3643 utils/adt/numeric.c:7131 -#: utils/adt/numeric.c:7334 utils/adt/numeric.c:7806 utils/adt/numeric.c:10501 -#: utils/adt/numeric.c:10975 utils/adt/numeric.c:11069 -#: utils/adt/numeric.c:11203 +#: 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 #, c-format msgid "value overflows numeric format" msgstr "overflow på värde i formatet numeric" -#: utils/adt/numeric.c:1098 +#: utils/adt/numeric.c:1106 #, c-format msgid "invalid sign in external \"numeric\" value" msgstr "ogiltigt tecken i externt \"numric\"-värde" -#: utils/adt/numeric.c:1104 +#: utils/adt/numeric.c:1112 #, c-format msgid "invalid scale in external \"numeric\" value" msgstr "ogiltig skala i externt \"numeric\"-värde" -#: utils/adt/numeric.c:1113 +#: utils/adt/numeric.c:1121 #, c-format msgid "invalid digit in external \"numeric\" value" msgstr "felaktig siffra i externt numeriskt (\"numeric\") värde " -#: utils/adt/numeric.c:1328 utils/adt/numeric.c:1342 +#: utils/adt/numeric.c:1336 utils/adt/numeric.c:1350 #, c-format msgid "NUMERIC precision %d must be between 1 and %d" msgstr "Precisionen %d för NUMERIC måste vara mellan 1 och %d" -#: utils/adt/numeric.c:1333 +#: utils/adt/numeric.c:1341 #, c-format msgid "NUMERIC scale %d must be between %d and %d" msgstr "Skalan %d för NUMERIC måste vara mellan %d och %d" -#: utils/adt/numeric.c:1351 +#: utils/adt/numeric.c:1359 #, c-format msgid "invalid NUMERIC type modifier" msgstr "ogiltig typmodifierare för NUMERIC" -#: utils/adt/numeric.c:1709 +#: utils/adt/numeric.c:1725 #, c-format msgid "start value cannot be NaN" msgstr "startvärde får inte vara NaN" -#: utils/adt/numeric.c:1713 +#: utils/adt/numeric.c:1729 #, c-format msgid "start value cannot be infinity" msgstr "startvärde får inte vara oändligt" -#: utils/adt/numeric.c:1720 +#: utils/adt/numeric.c:1736 #, c-format msgid "stop value cannot be NaN" msgstr "stoppvärde får inte vara NaN" -#: utils/adt/numeric.c:1724 +#: utils/adt/numeric.c:1740 #, c-format msgid "stop value cannot be infinity" msgstr "stoppvärde får inte vara oändligt" -#: utils/adt/numeric.c:1737 +#: utils/adt/numeric.c:1753 #, c-format msgid "step size cannot be NaN" msgstr "stegstorlek får inte vara NaN" -#: utils/adt/numeric.c:1741 +#: utils/adt/numeric.c:1757 #, c-format msgid "step size cannot be infinity" msgstr "stegstorlek får inte vara oändligt" -#: utils/adt/numeric.c:3633 +#: utils/adt/numeric.c:3649 #, c-format msgid "factorial of a negative number is undefined" msgstr "fakultet av ett negativt tal är odefinierat" -#: utils/adt/numeric.c:4366 utils/adt/numeric.c:4446 utils/adt/numeric.c:4487 -#: utils/adt/numeric.c:4683 +#: utils/adt/numeric.c:4256 #, c-format -msgid "cannot convert NaN to %s" -msgstr "kan inte konvertera NaN till %s" +msgid "lower bound cannot be NaN" +msgstr "undre gräns kan inte vara NaN" -#: utils/adt/numeric.c:4370 utils/adt/numeric.c:4450 utils/adt/numeric.c:4491 -#: utils/adt/numeric.c:4687 +#: utils/adt/numeric.c:4260 #, c-format -msgid "cannot convert infinity to %s" -msgstr "kan inte konvertera oändlighet till %s" +msgid "lower bound cannot be infinity" +msgstr "undre gräns kan inte vara oändlig" -#: utils/adt/numeric.c:4696 +#: utils/adt/numeric.c:4267 #, c-format -msgid "pg_lsn out of range" -msgstr "pg_lsn är utanför giltigt intervall" +msgid "upper bound cannot be NaN" +msgstr "övre gräns kan inte vara NaN" -#: utils/adt/numeric.c:7896 utils/adt/numeric.c:7947 +#: utils/adt/numeric.c:4271 +#, c-format +msgid "upper bound cannot be infinity" +msgstr "övre gräns kan inte vara oändlig" + +#: utils/adt/numeric.c:4432 utils/adt/numeric.c:4520 utils/adt/numeric.c:4580 +#: utils/adt/numeric.c:4776 +#, c-format +msgid "cannot convert NaN to %s" +msgstr "kan inte konvertera NaN till %s" + +#: utils/adt/numeric.c:4436 utils/adt/numeric.c:4524 utils/adt/numeric.c:4584 +#: utils/adt/numeric.c:4780 +#, c-format +msgid "cannot convert infinity to %s" +msgstr "kan inte konvertera oändlighet till %s" + +#: utils/adt/numeric.c:4789 +#, c-format +msgid "pg_lsn out of range" +msgstr "pg_lsn är utanför giltigt intervall" + +#: utils/adt/numeric.c:7981 utils/adt/numeric.c:8032 #, c-format msgid "numeric field overflow" msgstr "overflow i numeric-fält" -#: utils/adt/numeric.c:7897 +#: utils/adt/numeric.c:7982 #, c-format msgid "A field with precision %d, scale %d must round to an absolute value less than %s%d." msgstr "Ett fält med precision %d, skala %d måste avrundas till ett absolut värde mindre än %s%d." -#: utils/adt/numeric.c:7948 +#: utils/adt/numeric.c:8033 #, c-format msgid "A field with precision %d, scale %d cannot hold an infinite value." msgstr "Ett fält med precision %d, skala %d kan inte innehålla ett oändligt värde." -#: utils/adt/oid.c:216 +#: utils/adt/numeric.c:11359 utils/adt/pseudorandomfuncs.c:135 +#: utils/adt/pseudorandomfuncs.c:159 +#, c-format +msgid "lower bound must be less than or equal to upper bound" +msgstr "undre gräns måste vara mindre eller lika med övre gräns" + +#: utils/adt/oid.c:217 #, c-format msgid "invalid oidvector data" msgstr "ogiltig oidvector-data" @@ -25484,306 +26587,312 @@ msgstr "efterfrågat tecken är för stort för kodning: %u" msgid "requested character not valid for encoding: %u" msgstr "efterfrågat tecken är inte giltigt för kodning: %u" -#: utils/adt/orderedsetaggs.c:448 utils/adt/orderedsetaggs.c:553 -#: utils/adt/orderedsetaggs.c:693 +#: utils/adt/orderedsetaggs.c:446 utils/adt/orderedsetaggs.c:551 +#: utils/adt/orderedsetaggs.c:691 #, c-format 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:1410 +#: utils/adt/pg_locale.c:1484 #, 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:1421 utils/adt/pg_locale.c:2831 -#: utils/adt/pg_locale.c:2904 +#: utils/adt/pg_locale.c:1495 utils/adt/pg_locale.c:2969 +#: utils/adt/pg_locale.c:3042 #, c-format msgid "ICU is not supported in this build" msgstr "ICU stöds inte av detta bygge" -#: utils/adt/pg_locale.c:1450 +#: utils/adt/pg_locale.c:1523 #, c-format msgid "could not create locale \"%s\": %m" msgstr "kunde inte skapa locale \"%s\": %m" -#: utils/adt/pg_locale.c:1453 +#: utils/adt/pg_locale.c:1526 #, 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:1568 +#: utils/adt/pg_locale.c:1647 #, 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:1577 -#, c-format -msgid "collation provider LIBC is not supported on this platform" -msgstr "leverantören LIBC för jämförelse (collation) stöds inte på denna plattform" - -#: utils/adt/pg_locale.c:1618 +#: utils/adt/pg_locale.c:1694 #, 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:1624 +#: utils/adt/pg_locale.c:1700 #, 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:1626 +#: utils/adt/pg_locale.c:1702 #, 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:1629 +#: utils/adt/pg_locale.c:1705 #, 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:1695 +#: utils/adt/pg_locale.c:1749 utils/adt/pg_locale.c:2533 +#: utils/adt/pg_locale.c:2558 +#, c-format +msgid "invalid locale name \"%s\" for builtin provider" +msgstr "ogiltigt lokalnamn \"%s\" för inbyggd leverantör" + +#: utils/adt/pg_locale.c:1791 #, c-format msgid "could not load locale \"%s\"" msgstr "kunde inte skapa locale \"%s\"" -#: utils/adt/pg_locale.c:1720 +#: utils/adt/pg_locale.c:1816 #, 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:1776 utils/adt/pg_locale.c:1789 +#: utils/adt/pg_locale.c:1872 utils/adt/pg_locale.c:1885 #, 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:1803 +#: utils/adt/pg_locale.c:1897 #, c-format msgid "could not compare Unicode strings: %m" msgstr "kunde inte jämföra Unicode-strängar: %m" -#: utils/adt/pg_locale.c:1984 +#: utils/adt/pg_locale.c:2071 #, c-format msgid "collation failed: %s" msgstr "jämförelse misslyckades: %s" -#: utils/adt/pg_locale.c:2205 utils/adt/pg_locale.c:2237 +#: utils/adt/pg_locale.c:2290 utils/adt/pg_locale.c:2322 #, c-format msgid "sort key generation failed: %s" msgstr "generering av sorteringsnyckel misslyckades: %s" -#: utils/adt/pg_locale.c:2474 +#: utils/adt/pg_locale.c:2612 #, 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:2495 utils/adt/pg_locale.c:2511 +#: utils/adt/pg_locale.c:2633 utils/adt/pg_locale.c:2649 #, 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:2536 +#: utils/adt/pg_locale.c:2674 #, c-format msgid "encoding \"%s\" not supported by ICU" msgstr "kodning \"%s\" stöds inte av ICU" -#: utils/adt/pg_locale.c:2543 +#: utils/adt/pg_locale.c:2681 #, 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:2561 utils/adt/pg_locale.c:2580 -#: utils/adt/pg_locale.c:2636 utils/adt/pg_locale.c:2647 +#: utils/adt/pg_locale.c:2699 utils/adt/pg_locale.c:2718 +#: utils/adt/pg_locale.c:2774 utils/adt/pg_locale.c:2785 #, c-format msgid "%s failed: %s" msgstr "%s misslyckades: %s" -#: utils/adt/pg_locale.c:2822 +#: utils/adt/pg_locale.c:2960 #, 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:2863 +#: utils/adt/pg_locale.c:3001 #, 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:2865 utils/adt/pg_locale.c:2894 +#: utils/adt/pg_locale.c:3003 utils/adt/pg_locale.c:3032 #, 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:2892 +#: utils/adt/pg_locale.c:3030 #, 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:3073 +#: utils/adt/pg_locale.c:3181 #, c-format msgid "invalid multibyte character for locale" msgstr "ogiltigt multibyte-tecken för lokalen" -#: utils/adt/pg_locale.c:3074 +#: utils/adt/pg_locale.c:3182 #, 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." -#: utils/adt/pg_lsn.c:263 +#: utils/adt/pg_lsn.c:262 #, c-format msgid "cannot add NaN to pg_lsn" msgstr "kan inte addera NaN till pg_lsn" -#: utils/adt/pg_lsn.c:297 +#: utils/adt/pg_lsn.c:296 #, c-format msgid "cannot subtract NaN from pg_lsn" msgstr "kan inte subtrahera Nan från pg_lsn" -#: utils/adt/pg_upgrade_support.c:29 +#: utils/adt/pg_upgrade_support.c:39 #, c-format msgid "function can only be called when server is in binary upgrade mode" msgstr "funktionen kan bara anropas när servern är i binärt uppgraderingsläge" -#: utils/adt/pgstatfuncs.c:254 +#: utils/adt/pgstatfuncs.c:252 #, c-format msgid "invalid command name: \"%s\"" msgstr "ogiltigt kommandonamn: \"%s\"" -#: utils/adt/pgstatfuncs.c:1774 +#: utils/adt/pgstatfuncs.c:1739 #, c-format msgid "unrecognized reset target: \"%s\"" msgstr "okänt återställningsmål \"%s\"" -#: utils/adt/pgstatfuncs.c:1775 +#: utils/adt/pgstatfuncs.c:1740 #, c-format -msgid "Target must be \"archiver\", \"bgwriter\", \"io\", \"recovery_prefetch\", or \"wal\"." -msgstr "Målet måste vara \"archiver\", \"bgwriter\", \"io\", \"recovery_prefetch\" eller \"wal\"." +msgid "Target must be \"archiver\", \"bgwriter\", \"checkpointer\", \"io\", \"recovery_prefetch\", \"slru\", or \"wal\"." +msgstr "Målet måste vara \"archiver\", \"bgwriter\", \"checkpointer\", \"io\", \"recovery_prefetch\", \"slru\" eller \"wal\"." -#: utils/adt/pgstatfuncs.c:1857 +#: utils/adt/pgstatfuncs.c:1822 #, c-format msgid "invalid subscription OID %u" msgstr "ogiltigt prenumerations-OID: %u" -#: utils/adt/pseudotypes.c:58 utils/adt/pseudotypes.c:92 +#: utils/adt/pseudorandomfuncs.c:69 +#, c-format +msgid "setseed parameter %g is out of allowed range [-1,1]" +msgstr "setseed-parameter %g är utanför giltigt intervall [-1,1]" + +#: utils/adt/pseudotypes.c:55 utils/adt/pseudotypes.c:89 #, c-format msgid "cannot display a value of type %s" msgstr "kan inte visa ett värde av typ %s" -#: utils/adt/pseudotypes.c:310 +#: utils/adt/pseudotypes.c:307 #, c-format msgid "cannot accept a value of a shell type" msgstr "kan inte acceptera ett värde av typen shell" -#: utils/adt/pseudotypes.c:320 +#: utils/adt/pseudotypes.c:317 #, c-format msgid "cannot display a value of a shell type" msgstr "kan inte visa ett värde av typen shell" -#: utils/adt/rangetypes.c:415 +#: utils/adt/rangetypes.c:422 #, c-format msgid "range constructor flags argument must not be null" msgstr "konstruktorflaggargument till range får inte vara null" -#: utils/adt/rangetypes.c:1014 +#: utils/adt/rangetypes.c:1021 #, c-format msgid "result of range difference would not be contiguous" msgstr "resultatet av range-skillnad skulle inte vara angränsande" -#: utils/adt/rangetypes.c:1075 +#: utils/adt/rangetypes.c:1082 #, c-format msgid "result of range union would not be contiguous" msgstr "resultatet av range-union skulle inte vara angränsande" -#: utils/adt/rangetypes.c:1750 +#: utils/adt/rangetypes.c:1757 #, c-format msgid "range lower bound must be less than or equal to range upper bound" -msgstr "lägre gräns för range måste vara lägre eller lika med övre gräns för range" +msgstr "undre gräns för range måste vara lägre eller lika med övre gräns för range" -#: utils/adt/rangetypes.c:2197 utils/adt/rangetypes.c:2210 -#: utils/adt/rangetypes.c:2224 +#: utils/adt/rangetypes.c:2256 utils/adt/rangetypes.c:2269 +#: utils/adt/rangetypes.c:2283 #, c-format msgid "invalid range bound flags" msgstr "ogiltig gränsflagga för range" -#: utils/adt/rangetypes.c:2198 utils/adt/rangetypes.c:2211 -#: utils/adt/rangetypes.c:2225 +#: utils/adt/rangetypes.c:2257 utils/adt/rangetypes.c:2270 +#: utils/adt/rangetypes.c:2284 #, c-format msgid "Valid values are \"[]\", \"[)\", \"(]\", and \"()\"." msgstr "Giltiga värden är \"[]\", \"[)\", \"(]\" och \"()\"." -#: utils/adt/rangetypes.c:2293 utils/adt/rangetypes.c:2310 -#: utils/adt/rangetypes.c:2325 utils/adt/rangetypes.c:2345 -#: utils/adt/rangetypes.c:2356 utils/adt/rangetypes.c:2403 -#: utils/adt/rangetypes.c:2411 +#: utils/adt/rangetypes.c:2352 utils/adt/rangetypes.c:2369 +#: utils/adt/rangetypes.c:2384 utils/adt/rangetypes.c:2404 +#: utils/adt/rangetypes.c:2415 utils/adt/rangetypes.c:2462 +#: utils/adt/rangetypes.c:2470 #, c-format msgid "malformed range literal: \"%s\"" msgstr "trasig range-litteral: \"%s\"" -#: utils/adt/rangetypes.c:2295 +#: utils/adt/rangetypes.c:2354 #, c-format msgid "Junk after \"empty\" key word." msgstr "Skräp efter nyckelordet \"empty\"." -#: utils/adt/rangetypes.c:2312 +#: utils/adt/rangetypes.c:2371 #, c-format msgid "Missing left parenthesis or bracket." msgstr "Saknar vänster parentes eller hakparentes." -#: utils/adt/rangetypes.c:2327 +#: utils/adt/rangetypes.c:2386 #, c-format msgid "Missing comma after lower bound." -msgstr "Saknar komma efter lägre gräns." +msgstr "Saknar komma efter undre gräns." -#: utils/adt/rangetypes.c:2347 +#: utils/adt/rangetypes.c:2406 #, c-format msgid "Too many commas." msgstr "För många komman." -#: utils/adt/rangetypes.c:2358 +#: utils/adt/rangetypes.c:2417 #, c-format msgid "Junk after right parenthesis or bracket." msgstr "Skräp efter höger parentes eller hakparentes." -#: utils/adt/regexp.c:305 utils/adt/regexp.c:1997 utils/adt/varlena.c:4270 +#: utils/adt/regexp.c:304 utils/adt/regexp.c:1996 utils/adt/varlena.c:4273 #, c-format msgid "regular expression failed: %s" msgstr "reguljärt uttryck misslyckades: %s" -#: utils/adt/regexp.c:446 utils/adt/regexp.c:681 +#: utils/adt/regexp.c:445 utils/adt/regexp.c:680 #, c-format msgid "invalid regular expression option: \"%.*s\"" msgstr "ogiltigt flagga till reguljärt uttryck: \"%.*s\"" -#: utils/adt/regexp.c:683 +#: utils/adt/regexp.c:682 #, c-format msgid "If you meant to use regexp_replace() with a start parameter, cast the fourth argument to integer explicitly." msgstr "Om du menade att använda regexp_replace() med en startstartparameter så cast:a fjärde argumentet uttryckligen till integer." -#: utils/adt/regexp.c:717 utils/adt/regexp.c:726 utils/adt/regexp.c:1083 -#: utils/adt/regexp.c:1147 utils/adt/regexp.c:1156 utils/adt/regexp.c:1165 -#: utils/adt/regexp.c:1174 utils/adt/regexp.c:1854 utils/adt/regexp.c:1863 -#: utils/adt/regexp.c:1872 utils/misc/guc.c:6610 utils/misc/guc.c:6644 +#: 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:6785 utils/misc/guc.c:6819 #, c-format msgid "invalid value for parameter \"%s\": %d" msgstr "ogiltigt värde för parameter \"%s\": %d" -#: utils/adt/regexp.c:937 +#: utils/adt/regexp.c:936 #, c-format msgid "SQL regular expression may not contain more than two escape-double-quote separators" msgstr "Regulart uttryck i SQL får inte innehålla mer än två dubbelcitat-escape-separatorer" #. translator: %s is a SQL function name -#: utils/adt/regexp.c:1094 utils/adt/regexp.c:1185 utils/adt/regexp.c:1272 -#: utils/adt/regexp.c:1311 utils/adt/regexp.c:1699 utils/adt/regexp.c:1754 -#: utils/adt/regexp.c:1883 +#: 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 #, c-format msgid "%s does not support the \"global\" option" msgstr "%s stöder inte \"global\"-flaggan" -#: utils/adt/regexp.c:1313 +#: utils/adt/regexp.c:1312 #, c-format msgid "Use the regexp_matches function instead." msgstr "Använd regexp_matches-funktionen istället." -#: utils/adt/regexp.c:1501 +#: utils/adt/regexp.c:1500 #, c-format msgid "too many regular expression matches" msgstr "för många reguljära uttryck matchar" @@ -25798,8 +26907,8 @@ msgstr "mer än en funktion med namn %s" msgid "more than one operator named %s" msgstr "mer än en operator med namn %s" -#: utils/adt/regproc.c:675 utils/adt/regproc.c:2009 utils/adt/ruleutils.c:10020 -#: utils/adt/ruleutils.c:10233 +#: utils/adt/regproc.c:675 utils/adt/regproc.c:2029 utils/adt/ruleutils.c:10498 +#: utils/adt/ruleutils.c:10711 #, c-format msgid "too many arguments" msgstr "för många argument" @@ -25809,288 +26918,314 @@ msgstr "för många argument" msgid "Provide two argument types for operator." msgstr "Ange två argumenttyper för operatorn." -#: utils/adt/regproc.c:1544 utils/adt/regproc.c:1661 utils/adt/regproc.c:1790 -#: utils/adt/regproc.c:1795 utils/adt/varlena.c:3410 utils/adt/varlena.c:3415 +#: utils/adt/regproc.c:1564 utils/adt/regproc.c:1681 utils/adt/regproc.c:1810 +#: utils/adt/regproc.c:1815 utils/adt/varlena.c:3413 utils/adt/varlena.c:3418 #, c-format msgid "invalid name syntax" msgstr "ogiltig namnsyntax" -#: utils/adt/regproc.c:1904 +#: utils/adt/regproc.c:1924 #, c-format msgid "expected a left parenthesis" msgstr "förväntade en vänsterparentes" -#: utils/adt/regproc.c:1922 +#: utils/adt/regproc.c:1942 #, c-format msgid "expected a right parenthesis" msgstr "förväntade en högreparentes" -#: utils/adt/regproc.c:1941 +#: utils/adt/regproc.c:1961 #, c-format msgid "expected a type name" msgstr "förväntade ett typnamn" -#: utils/adt/regproc.c:1973 +#: utils/adt/regproc.c:1993 #, c-format msgid "improper type name" msgstr "olämpligt typnamn" -#: utils/adt/ri_triggers.c:306 utils/adt/ri_triggers.c:1625 -#: utils/adt/ri_triggers.c:2610 +#: utils/adt/ri_triggers.c:303 utils/adt/ri_triggers.c:1616 +#: utils/adt/ri_triggers.c:2601 #, c-format msgid "insert or update on table \"%s\" violates foreign key constraint \"%s\"" msgstr "insert eller update på tabell \"%s\" bryter mot främmande nyckel-villkoret \"%s\"" -#: utils/adt/ri_triggers.c:309 utils/adt/ri_triggers.c:1628 +#: utils/adt/ri_triggers.c:306 utils/adt/ri_triggers.c:1619 #, c-format msgid "MATCH FULL does not allow mixing of null and nonnull key values." msgstr "MATCH FULL tillåter inte att man blandar null och icke-null-värden." -#: utils/adt/ri_triggers.c:2045 +#: utils/adt/ri_triggers.c:2036 #, c-format msgid "function \"%s\" must be fired for INSERT" msgstr "funktionen \"%s\" måste köras för INSERT" -#: utils/adt/ri_triggers.c:2051 +#: utils/adt/ri_triggers.c:2042 #, c-format msgid "function \"%s\" must be fired for UPDATE" msgstr "funktionen \"%s\" måste köras för UPDATE" -#: utils/adt/ri_triggers.c:2057 +#: utils/adt/ri_triggers.c:2048 #, c-format msgid "function \"%s\" must be fired for DELETE" msgstr "funktionen \"%s\" måste köras för DELETE" -#: utils/adt/ri_triggers.c:2080 +#: utils/adt/ri_triggers.c:2071 #, c-format msgid "no pg_constraint entry for trigger \"%s\" on table \"%s\"" msgstr "ingen pg_constraint-post för trigger \"%s\" på tabell \"%s\"" -#: utils/adt/ri_triggers.c:2082 +#: utils/adt/ri_triggers.c:2073 #, c-format msgid "Remove this referential integrity trigger and its mates, then do ALTER TABLE ADD CONSTRAINT." msgstr "Ta bort denna trigger för referensiell integritet och dess kollegor, gör sen ALTER TABLE ADD CONSTRAINT." -#: utils/adt/ri_triggers.c:2435 +#: utils/adt/ri_triggers.c:2426 #, c-format msgid "referential integrity query on \"%s\" from constraint \"%s\" on \"%s\" gave unexpected result" msgstr "referentiell integritetsfråga på \"%s\" från villkor \"%s\" på \"%s\" gav oväntat resultat" -#: utils/adt/ri_triggers.c:2439 +#: utils/adt/ri_triggers.c:2430 #, c-format msgid "This is most likely due to a rule having rewritten the query." msgstr "Detta beror troligen på att en regel har skrivit om frågan." -#: utils/adt/ri_triggers.c:2600 +#: utils/adt/ri_triggers.c:2591 #, c-format msgid "removing partition \"%s\" violates foreign key constraint \"%s\"" msgstr "borttagning av partition \"%s\" bryter mot främmande nyckel-villkoret \"%s\"" -#: utils/adt/ri_triggers.c:2603 utils/adt/ri_triggers.c:2628 +#: utils/adt/ri_triggers.c:2594 utils/adt/ri_triggers.c:2619 #, c-format msgid "Key (%s)=(%s) is still referenced from table \"%s\"." msgstr "Nyckeln (%s)=(%s) refereras fortfarande till från tabell \"%s\"." -#: utils/adt/ri_triggers.c:2614 +#: utils/adt/ri_triggers.c:2605 #, c-format msgid "Key (%s)=(%s) is not present in table \"%s\"." msgstr "Nyckel (%s)=(%s) finns inte i tabellen \"%s\"." -#: utils/adt/ri_triggers.c:2617 +#: utils/adt/ri_triggers.c:2608 #, c-format msgid "Key is not present in table \"%s\"." msgstr "Nyckeln finns inte i tabellen \"%s\"." -#: utils/adt/ri_triggers.c:2623 +#: utils/adt/ri_triggers.c:2614 #, c-format msgid "update or delete on table \"%s\" violates foreign key constraint \"%s\" on table \"%s\"" msgstr "update eller delete på tabell \"%s\" bryter mot främmande nyckel-villkoret \"%s\" för tabell \"%s\"" -#: utils/adt/ri_triggers.c:2631 +#: utils/adt/ri_triggers.c:2622 #, c-format msgid "Key is still referenced from table \"%s\"." msgstr "Nyckel refereras fortfarande till från tabell \"%s\"." -#: utils/adt/rowtypes.c:106 utils/adt/rowtypes.c:510 +#: utils/adt/rowtypes.c:105 utils/adt/rowtypes.c:509 #, c-format msgid "input of anonymous composite types is not implemented" msgstr "inläsning av annonym composite-typ är inte implementerat" -#: utils/adt/rowtypes.c:159 utils/adt/rowtypes.c:191 utils/adt/rowtypes.c:217 -#: utils/adt/rowtypes.c:228 utils/adt/rowtypes.c:286 utils/adt/rowtypes.c:297 +#: utils/adt/rowtypes.c:158 utils/adt/rowtypes.c:190 utils/adt/rowtypes.c:216 +#: utils/adt/rowtypes.c:227 utils/adt/rowtypes.c:285 utils/adt/rowtypes.c:296 #, c-format msgid "malformed record literal: \"%s\"" msgstr "felaktig postliteral: \"%s\"" -#: utils/adt/rowtypes.c:160 +#: utils/adt/rowtypes.c:159 #, c-format msgid "Missing left parenthesis." msgstr "Saknar vänster parentes" -#: utils/adt/rowtypes.c:192 +#: utils/adt/rowtypes.c:191 #, c-format msgid "Too few columns." msgstr "För få kolumner." -#: utils/adt/rowtypes.c:287 +#: utils/adt/rowtypes.c:286 #, c-format msgid "Too many columns." msgstr "För många kolumner." -#: utils/adt/rowtypes.c:298 +#: utils/adt/rowtypes.c:297 #, c-format msgid "Junk after right parenthesis." msgstr "Skräp efter höger parentes" -#: utils/adt/rowtypes.c:559 +#: utils/adt/rowtypes.c:558 #, c-format msgid "wrong number of columns: %d, expected %d" msgstr "fel antal kolumner: %d, förväntade %d" -#: utils/adt/rowtypes.c:601 +#: utils/adt/rowtypes.c:599 #, c-format msgid "binary data has type %u (%s) instead of expected %u (%s) in record column %d" msgstr "binär data har typ %u (%s) istället för förväntad %u (%s) i postkolumn %d" -#: utils/adt/rowtypes.c:668 +#: utils/adt/rowtypes.c:660 #, c-format msgid "improper binary format in record column %d" msgstr "felaktigt binärt format i postkolumn %d" -#: utils/adt/rowtypes.c:959 utils/adt/rowtypes.c:1205 utils/adt/rowtypes.c:1463 -#: utils/adt/rowtypes.c:1709 +#: utils/adt/rowtypes.c:949 utils/adt/rowtypes.c:1195 utils/adt/rowtypes.c:1453 +#: utils/adt/rowtypes.c:1699 #, c-format msgid "cannot compare dissimilar column types %s and %s at record column %d" msgstr "kan inte jämföra olika kolumntyper %s och %s vid postkolumn %d" -#: utils/adt/rowtypes.c:1050 utils/adt/rowtypes.c:1275 -#: utils/adt/rowtypes.c:1560 utils/adt/rowtypes.c:1745 +#: utils/adt/rowtypes.c:1040 utils/adt/rowtypes.c:1265 +#: utils/adt/rowtypes.c:1550 utils/adt/rowtypes.c:1735 #, c-format msgid "cannot compare record types with different numbers of columns" msgstr "kan inte jämföra record-typer med olika antal kolumner" -#: utils/adt/ruleutils.c:2694 +#: utils/adt/ruleutils.c:2689 #, c-format msgid "input is a query, not an expression" msgstr "indata är en fråga, inte ett uttryck" -#: utils/adt/ruleutils.c:2706 +#: utils/adt/ruleutils.c:2701 #, c-format msgid "expression contains variables of more than one relation" msgstr "uttryck innehåller variabler till mer än en relation" -#: utils/adt/ruleutils.c:2713 +#: utils/adt/ruleutils.c:2708 #, c-format msgid "expression contains variables" msgstr "uttryck innehåller variabler" -#: utils/adt/ruleutils.c:5227 +#: utils/adt/ruleutils.c:5241 #, c-format msgid "rule \"%s\" has unsupported event type %d" msgstr "regel \"%s\" har en icke stödd händelsetyp %d" -#: utils/adt/timestamp.c:112 +#: utils/adt/timestamp.c:128 #, c-format msgid "TIMESTAMP(%d)%s precision must not be negative" msgstr "prceision för TIMESTAMP(%d)%s kan inte vara negativ" -#: utils/adt/timestamp.c:118 +#: utils/adt/timestamp.c:134 #, c-format msgid "TIMESTAMP(%d)%s precision reduced to maximum allowed, %d" msgstr "precision för TIMESTAMP(%d)%s reducerad till högsta tillåtna, %d" -#: utils/adt/timestamp.c:378 +#: utils/adt/timestamp.c:394 #, c-format msgid "timestamp(%d) precision must be between %d and %d" msgstr "timestamp(%d)-precision måste vara mellan %d och %d" -#: utils/adt/timestamp.c:496 +#: utils/adt/timestamp.c:512 #, c-format msgid "Numeric time zones must have \"-\" or \"+\" as first character." msgstr "Numeriska tidszoner måste ha \"-\" eller \"+\" som sitt första tecken." -#: utils/adt/timestamp.c:508 +#: utils/adt/timestamp.c:524 #, c-format msgid "numeric time zone \"%s\" out of range" msgstr "numerisk tidszon \"%s\" utanför giltigt intervall" -#: utils/adt/timestamp.c:609 utils/adt/timestamp.c:619 -#: utils/adt/timestamp.c:627 +#: utils/adt/timestamp.c:625 utils/adt/timestamp.c:635 +#: utils/adt/timestamp.c:643 #, c-format msgid "timestamp out of range: %d-%02d-%02d %d:%02d:%02g" msgstr "timestamp utanför giltigt intervall: %d-%02d-%02d %d:%02d:%02g" -#: utils/adt/timestamp.c:728 +#: utils/adt/timestamp.c:744 #, c-format msgid "timestamp cannot be NaN" msgstr "timestamp kan inte vara NaN" -#: utils/adt/timestamp.c:746 utils/adt/timestamp.c:758 +#: utils/adt/timestamp.c:762 utils/adt/timestamp.c:774 #, c-format msgid "timestamp out of range: \"%g\"" msgstr "timestamp utanför giltigt intervall: \"%g\"" -#: utils/adt/timestamp.c:1065 utils/adt/timestamp.c:1098 +#: utils/adt/timestamp.c:957 utils/adt/timestamp.c:1516 +#: utils/adt/timestamp.c:1526 utils/adt/timestamp.c:1587 +#: utils/adt/timestamp.c:2807 utils/adt/timestamp.c:2816 +#: utils/adt/timestamp.c:2831 utils/adt/timestamp.c:2905 +#: utils/adt/timestamp.c:2922 utils/adt/timestamp.c:2979 +#: utils/adt/timestamp.c:3022 utils/adt/timestamp.c:3400 +#: utils/adt/timestamp.c:3458 utils/adt/timestamp.c:3481 +#: utils/adt/timestamp.c:3490 utils/adt/timestamp.c:3514 +#: utils/adt/timestamp.c:3537 utils/adt/timestamp.c:3546 +#: utils/adt/timestamp.c:3681 utils/adt/timestamp.c:3782 +#: utils/adt/timestamp.c:4189 utils/adt/timestamp.c:4226 +#: utils/adt/timestamp.c:4274 utils/adt/timestamp.c:4283 +#: utils/adt/timestamp.c:4375 utils/adt/timestamp.c:4422 +#: utils/adt/timestamp.c:4431 utils/adt/timestamp.c:4527 +#: utils/adt/timestamp.c:4580 utils/adt/timestamp.c:4590 +#: utils/adt/timestamp.c:4785 utils/adt/timestamp.c:4795 +#: utils/adt/timestamp.c:5097 +#, c-format +msgid "interval out of range" +msgstr "interval utanför giltigt intervall" + +#: utils/adt/timestamp.c:1094 utils/adt/timestamp.c:1127 #, c-format msgid "invalid INTERVAL type modifier" msgstr "ogitligt modifierare för typen INTERVAL" -#: utils/adt/timestamp.c:1081 +#: utils/adt/timestamp.c:1110 #, c-format msgid "INTERVAL(%d) precision must not be negative" msgstr "INTERVAL(%d)-precision kan inte vara negativ" -#: utils/adt/timestamp.c:1087 +#: utils/adt/timestamp.c:1116 #, c-format msgid "INTERVAL(%d) precision reduced to maximum allowed, %d" msgstr "INTERVAL(%d)-precision reducerad till maximalt tillåtna, %d" -#: utils/adt/timestamp.c:1473 +#: utils/adt/timestamp.c:1506 #, c-format msgid "interval(%d) precision must be between %d and %d" msgstr "interval(%d)-precision måste vara mellan %d och %d" -#: utils/adt/timestamp.c:2703 -#, c-format -msgid "cannot subtract infinite timestamps" -msgstr "kan inte subtrahera oändliga tider (timestamp)" - -#: utils/adt/timestamp.c:3956 utils/adt/timestamp.c:4139 +#: utils/adt/timestamp.c:4564 utils/adt/timestamp.c:4769 #, c-format msgid "origin out of range" msgstr "origin utanför giltigt intervall" -#: utils/adt/timestamp.c:3961 utils/adt/timestamp.c:4144 +#: utils/adt/timestamp.c:4569 utils/adt/timestamp.c:4774 +#, c-format +msgid "timestamps cannot be binned into infinite intervals" +msgstr "timestamps kan inte injusteras in i oändliga intervall" + +#: utils/adt/timestamp.c:4574 utils/adt/timestamp.c:4779 #, c-format msgid "timestamps cannot be binned into intervals containing months or years" msgstr "timestamps kan inte injusteras in i intervall som innehåller månader eller år" -#: utils/adt/timestamp.c:3968 utils/adt/timestamp.c:4151 +#: utils/adt/timestamp.c:4585 utils/adt/timestamp.c:4790 #, c-format msgid "stride must be greater than zero" msgstr "\"stride\" måste vara större än noll" -#: utils/adt/timestamp.c:4434 +#: utils/adt/timestamp.c:5091 #, c-format msgid "Months usually have fractional weeks." msgstr "Månader har vanligtvis veckor som decimaltal." -#: utils/adt/trigfuncs.c:42 +#: utils/adt/timestamp.c:6551 utils/adt/timestamp.c:6637 +#, c-format +msgid "step size cannot be infinite" +msgstr "stegstorlek får inte vara oändlig" + +#: utils/adt/trigfuncs.c:41 #, c-format msgid "suppress_redundant_updates_trigger: must be called as trigger" msgstr "suppress_redundant_updates_trigger: måste anropas som trigger" -#: utils/adt/trigfuncs.c:48 +#: utils/adt/trigfuncs.c:47 #, c-format msgid "suppress_redundant_updates_trigger: must be called on update" msgstr "suppress_redundant_updates_trigger: måste anropas vid update" -#: utils/adt/trigfuncs.c:54 +#: utils/adt/trigfuncs.c:53 #, c-format msgid "suppress_redundant_updates_trigger: must be called before update" msgstr "suppress_redundant_updates_trigger: måste anropas innan update" -#: utils/adt/trigfuncs.c:60 +#: utils/adt/trigfuncs.c:59 #, c-format msgid "suppress_redundant_updates_trigger: must be called for each row" msgstr "suppress_redundant_updates_trigger: måste anropas för varje rad" @@ -26105,32 +27240,32 @@ msgstr "distans i frasoperator måste vara ett heltalsvärde mellan noll och %d, msgid "no operand in tsquery: \"%s\"" msgstr "ingen operand i tsquery: \"%s\"" -#: utils/adt/tsquery.c:558 +#: utils/adt/tsquery.c:554 #, c-format msgid "value is too big in tsquery: \"%s\"" msgstr "värdet är för stort i tsquery: \"%s\"" -#: utils/adt/tsquery.c:563 +#: utils/adt/tsquery.c:559 #, c-format msgid "operand is too long in tsquery: \"%s\"" msgstr "operanden är för lång i tsquery: \"%s\"" -#: utils/adt/tsquery.c:591 +#: utils/adt/tsquery.c:587 #, c-format msgid "word is too long in tsquery: \"%s\"" msgstr "ord för långt i tsquery: \"%s\"" -#: utils/adt/tsquery.c:717 utils/adt/tsvector_parser.c:147 +#: utils/adt/tsquery.c:713 utils/adt/tsvector_parser.c:147 #, c-format msgid "syntax error in tsquery: \"%s\"" msgstr "syntaxfel i tsquery: \"%s\"" -#: utils/adt/tsquery.c:883 +#: utils/adt/tsquery.c:879 #, c-format msgid "text-search query doesn't contain lexemes: \"%s\"" msgstr "textsökfråga innehåller inte lexem: \"%s\"" -#: utils/adt/tsquery.c:894 utils/adt/tsquery_util.c:376 +#: utils/adt/tsquery.c:890 utils/adt/tsquery_util.c:376 #, c-format msgid "tsquery is too large" msgstr "tsquery är för stor" @@ -26165,72 +27300,72 @@ msgstr "array med vikter får inte innehålla null-värden" msgid "weight out of range" msgstr "vikten är utanför giltigt intervall" -#: utils/adt/tsvector.c:217 +#: utils/adt/tsvector.c:216 #, c-format msgid "word is too long (%ld bytes, max %ld bytes)" msgstr "ordet är för långt (%ld byte, max %ld byte)" -#: utils/adt/tsvector.c:224 +#: utils/adt/tsvector.c:223 #, c-format msgid "string is too long for tsvector (%ld bytes, max %ld bytes)" msgstr "strängen är för lång för tsvector (%ld byte, max %ld byte)" -#: utils/adt/tsvector_op.c:773 +#: utils/adt/tsvector_op.c:771 #, c-format msgid "lexeme array may not contain nulls" msgstr "lexem-array:en får inte innehålla null-värden" -#: utils/adt/tsvector_op.c:778 +#: utils/adt/tsvector_op.c:776 #, c-format msgid "lexeme array may not contain empty strings" msgstr "lexem-array:en får inte innehålla tomma strängar" -#: utils/adt/tsvector_op.c:847 +#: utils/adt/tsvector_op.c:845 #, c-format msgid "weight array may not contain nulls" msgstr "vikt-array:en får inte innehålla null-värden" -#: utils/adt/tsvector_op.c:871 +#: utils/adt/tsvector_op.c:869 #, c-format msgid "unrecognized weight: \"%c\"" msgstr "okänd vikt: \"%c\"" -#: utils/adt/tsvector_op.c:2601 +#: utils/adt/tsvector_op.c:2599 #, c-format msgid "ts_stat query must return one tsvector column" msgstr "ts_stat-frågan måste returnera en tsvector-kolumn" -#: utils/adt/tsvector_op.c:2790 +#: utils/adt/tsvector_op.c:2788 #, c-format msgid "tsvector column \"%s\" does not exist" msgstr "tsvector-kolumnen \"%s\" existerar inte" -#: utils/adt/tsvector_op.c:2797 +#: utils/adt/tsvector_op.c:2795 #, c-format msgid "column \"%s\" is not of tsvector type" msgstr "kolumnen \"%s\" är inte av typen tsvector" -#: utils/adt/tsvector_op.c:2809 +#: utils/adt/tsvector_op.c:2807 #, c-format msgid "configuration column \"%s\" does not exist" -msgstr "konfigurationskolumnen \"%s\" existerar inte" +msgstr "kolumnen \"%s\" för konfiguration existerar inte" -#: utils/adt/tsvector_op.c:2815 +#: utils/adt/tsvector_op.c:2813 #, c-format msgid "column \"%s\" is not of regconfig type" msgstr "kolumn \"%s\" har inte regconfig-typ" -#: utils/adt/tsvector_op.c:2822 +#: utils/adt/tsvector_op.c:2820 #, c-format msgid "configuration column \"%s\" must not be null" -msgstr "konfigurationskolumn \"%s\" får inte vara null" +msgstr "kolumn \"%s\" för konfiguration får inte vara null" -#: utils/adt/tsvector_op.c:2835 +#: utils/adt/tsvector_op.c:2833 #, c-format msgid "text search configuration name \"%s\" must be schema-qualified" -msgstr "Textsökkonfigurationsnamn \"%s\" måste vara angivet med schema" +msgstr "Konfigurationsnamn \"%s\" för textsök måste vara angivet med schema" -#: utils/adt/tsvector_op.c:2860 +#: utils/adt/tsvector_op.c:2858 #, c-format msgid "column \"%s\" is not of a character type" msgstr "kolumnen \"%s\" är inte av typen character" @@ -26250,17 +27385,17 @@ msgstr "det finns inget escape-tecken: \"%s\"" msgid "wrong position info in tsvector: \"%s\"" msgstr "fel positionsinfo i tsvector: \"%s\"" -#: utils/adt/uuid.c:413 +#: utils/adt/uuid.c:418 #, c-format msgid "could not generate random values" msgstr "kunde inte generera slumpmässiga värden" -#: utils/adt/varbit.c:110 utils/adt/varchar.c:54 +#: utils/adt/varbit.c:110 utils/adt/varchar.c:53 #, c-format msgid "length for type %s must be at least 1" msgstr "längden för typ %s måste vara minst 1" -#: utils/adt/varbit.c:115 utils/adt/varchar.c:58 +#: utils/adt/varbit.c:115 utils/adt/varchar.c:57 #, c-format msgid "length for type %s cannot exceed %d" msgstr "längden för typ %s kan inte överstiga %d" @@ -26295,9 +27430,9 @@ msgstr "ogiltig längd på extern bitsträng" msgid "bit string too long for type bit varying(%d)" msgstr "bitsträngen för lång för typen bit varying(%d)" -#: utils/adt/varbit.c:1081 utils/adt/varbit.c:1191 utils/adt/varlena.c:908 -#: utils/adt/varlena.c:971 utils/adt/varlena.c:1128 utils/adt/varlena.c:3052 -#: utils/adt/varlena.c:3130 +#: utils/adt/varbit.c:1081 utils/adt/varbit.c:1191 utils/adt/varlena.c:911 +#: utils/adt/varlena.c:974 utils/adt/varlena.c:1131 utils/adt/varlena.c:3055 +#: utils/adt/varlena.c:3133 #, c-format msgid "negative substring length not allowed" msgstr "negativ substräng-läng tillåts inte" @@ -26322,337 +27457,342 @@ msgstr "kan inte XOR:a bitsträngar av olika storlek" msgid "bit index %d out of valid range (0..%d)" msgstr "bitindex %d utanför giltigt intervall (0..%d)" -#: utils/adt/varbit.c:1833 utils/adt/varlena.c:3334 +#: utils/adt/varbit.c:1833 utils/adt/varlena.c:3337 #, c-format msgid "new bit must be 0 or 1" msgstr "nya biten måste vara 0 eller 1" -#: utils/adt/varchar.c:162 utils/adt/varchar.c:313 +#: utils/adt/varchar.c:161 utils/adt/varchar.c:312 #, c-format msgid "value too long for type character(%d)" msgstr "värdet för långt för typen character (%d)" -#: utils/adt/varchar.c:476 utils/adt/varchar.c:640 +#: utils/adt/varchar.c:475 utils/adt/varchar.c:639 #, c-format msgid "value too long for type character varying(%d)" msgstr "värdet för långt för typen character varying(%d)" -#: utils/adt/varchar.c:738 utils/adt/varlena.c:1517 +#: utils/adt/varchar.c:737 utils/adt/varlena.c:1520 #, c-format msgid "could not determine which collation to use for string comparison" msgstr "kunde inte bestämma vilken jämförelse (collation) som skall användas för strängjämförelse" -#: utils/adt/varlena.c:1227 utils/adt/varlena.c:1806 +#: utils/adt/varlena.c:1230 utils/adt/varlena.c:1809 #, c-format msgid "nondeterministic collations are not supported for substring searches" msgstr "ickedeterministiska jämförelser (collation) stöds inte för substrängsökningar" -#: utils/adt/varlena.c:3218 utils/adt/varlena.c:3285 +#: utils/adt/varlena.c:3221 utils/adt/varlena.c:3288 #, c-format msgid "index %d out of valid range, 0..%d" msgstr "index %d utanför giltigt intervall, 0..%d" -#: utils/adt/varlena.c:3249 utils/adt/varlena.c:3321 +#: utils/adt/varlena.c:3252 utils/adt/varlena.c:3324 #, c-format msgid "index %lld out of valid range, 0..%lld" msgstr "index %lld utanför giltigt intervall, 0..%lld" -#: utils/adt/varlena.c:4382 +#: utils/adt/varlena.c:4385 #, c-format msgid "field position must not be zero" msgstr "fältpositionen får inte vara noll" -#: utils/adt/varlena.c:5554 +#: utils/adt/varlena.c:5630 #, c-format msgid "unterminated format() type specifier" msgstr "icketerminerad typangivelse för format()" -#: utils/adt/varlena.c:5555 utils/adt/varlena.c:5689 utils/adt/varlena.c:5810 +#: utils/adt/varlena.c:5631 utils/adt/varlena.c:5765 utils/adt/varlena.c:5886 #, c-format msgid "For a single \"%%\" use \"%%%%\"." msgstr "För ett ensamt \"%%\" använd \"%%%%\"." -#: utils/adt/varlena.c:5687 utils/adt/varlena.c:5808 +#: utils/adt/varlena.c:5763 utils/adt/varlena.c:5884 #, c-format msgid "unrecognized format() type specifier \"%.*s\"" msgstr "okänd typspecifierare \"%.*s\" för format()" -#: utils/adt/varlena.c:5700 utils/adt/varlena.c:5757 +#: utils/adt/varlena.c:5776 utils/adt/varlena.c:5833 #, c-format msgid "too few arguments for format()" msgstr "för få argument till format()" -#: utils/adt/varlena.c:5853 utils/adt/varlena.c:6035 +#: utils/adt/varlena.c:5929 utils/adt/varlena.c:6111 #, c-format msgid "number is out of range" msgstr "numret är utanför giltigt intervall" -#: utils/adt/varlena.c:5916 utils/adt/varlena.c:5944 +#: utils/adt/varlena.c:5992 utils/adt/varlena.c:6020 #, c-format msgid "format specifies argument 0, but arguments are numbered from 1" msgstr "formatet anger argument 0 men argumenten är numrerade från 1" -#: utils/adt/varlena.c:5937 +#: utils/adt/varlena.c:6013 #, c-format msgid "width argument position must be ended by \"$\"" msgstr "argumentposition för bredd måste avslutas med \"$\"" -#: utils/adt/varlena.c:5982 +#: utils/adt/varlena.c:6058 #, c-format msgid "null values cannot be formatted as an SQL identifier" msgstr "null-värden kan inte formatteras som SQL-identifierare" -#: utils/adt/varlena.c:6190 +#: utils/adt/varlena.c:6266 #, c-format msgid "Unicode normalization can only be performed if server encoding is UTF8" msgstr "Unicode-normalisering kan bara utföras om server-kodningen är UTF8" -#: utils/adt/varlena.c:6203 +#: utils/adt/varlena.c:6279 #, c-format msgid "invalid normalization form: %s" msgstr "ogiltigt normaliseringsform: %s" -#: utils/adt/varlena.c:6406 utils/adt/varlena.c:6441 utils/adt/varlena.c:6476 +#: utils/adt/varlena.c:6324 +#, c-format +msgid "Unicode categorization can only be performed if server encoding is UTF8" +msgstr "Unicode-kategorisering kan bara utföras om server-kodningen är UTF8" + +#: utils/adt/varlena.c:6541 utils/adt/varlena.c:6576 utils/adt/varlena.c:6611 #, c-format msgid "invalid Unicode code point: %04X" msgstr "ogiltig Unicode-kodpunkt: %04X" -#: utils/adt/varlena.c:6506 +#: utils/adt/varlena.c:6641 #, c-format msgid "Unicode escapes must be \\XXXX, \\+XXXXXX, \\uXXXX, or \\UXXXXXXXX." msgstr "Unicode-escapesekvenser måste vara \\XXXX, \\+XXXXXX, \\UXXXX eller \\UXXXXXXXX." -#: utils/adt/windowfuncs.c:442 +#: utils/adt/windowfuncs.c:443 #, c-format msgid "argument of ntile must be greater than zero" msgstr "argumentet till ntile måste vara större än noll" -#: utils/adt/windowfuncs.c:706 +#: utils/adt/windowfuncs.c:707 #, c-format msgid "argument of nth_value must be greater than zero" msgstr "argumentet till nth_value måste vara större än noll" -#: utils/adt/xid8funcs.c:125 +#: utils/adt/xid8funcs.c:124 #, c-format msgid "transaction ID %llu is in the future" msgstr "transaktions-ID %llu är från framtiden" -#: utils/adt/xid8funcs.c:547 +#: utils/adt/xid8funcs.c:553 #, c-format msgid "invalid external pg_snapshot data" msgstr "ogiltig extern pg_snapshot-data" -#: utils/adt/xml.c:228 +#: utils/adt/xml.c:238 #, c-format msgid "unsupported XML feature" msgstr "ej stödd XML-finess" -#: utils/adt/xml.c:229 +#: utils/adt/xml.c:239 #, c-format 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:248 utils/mb/mbutils.c:628 +#: utils/adt/xml.c:258 utils/mb/mbutils.c:627 #, c-format msgid "invalid encoding name \"%s\"" msgstr "ogiltigt kodningsnamn \"%s\"" -#: utils/adt/xml.c:496 utils/adt/xml.c:501 +#: utils/adt/xml.c:506 utils/adt/xml.c:511 #, c-format msgid "invalid XML comment" msgstr "ogiltigt XML-kommentar" -#: utils/adt/xml.c:660 +#: utils/adt/xml.c:697 #, c-format msgid "not an XML document" msgstr "inget XML-dokument" -#: utils/adt/xml.c:956 utils/adt/xml.c:979 +#: utils/adt/xml.c:1008 utils/adt/xml.c:1031 #, c-format msgid "invalid XML processing instruction" msgstr "ogiltig XML-processinstruktion" -#: utils/adt/xml.c:957 +#: utils/adt/xml.c:1009 #, c-format msgid "XML processing instruction target name cannot be \"%s\"." msgstr "XML-processinstruktions målnamn kan inte vara \"%s\"." -#: utils/adt/xml.c:980 +#: utils/adt/xml.c:1032 #, c-format msgid "XML processing instruction cannot contain \"?>\"." msgstr "XML-processinstruktion kan inte innehålla \"?>\"." -#: utils/adt/xml.c:1059 +#: utils/adt/xml.c:1111 #, c-format msgid "xmlvalidate is not implemented" msgstr "xmlvalidate är inte implementerat" -#: utils/adt/xml.c:1115 +#: utils/adt/xml.c:1167 #, c-format msgid "could not initialize XML library" msgstr "kunde inte initiera XML-bibliotek" -#: utils/adt/xml.c:1116 +#: utils/adt/xml.c:1168 #, c-format msgid "libxml2 has incompatible char type: sizeof(char)=%zu, sizeof(xmlChar)=%zu." msgstr "libxml2 har inkompatibel char-typ: sizeof(char)=%zu, sizeof(xmlChar)=%zu." -#: utils/adt/xml.c:1202 +#: utils/adt/xml.c:1254 #, c-format msgid "could not set up XML error handler" msgstr "kunde inte ställa in XML-felhanterare" -#: utils/adt/xml.c:1203 +#: utils/adt/xml.c:1255 #, 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 "Detta tyder på att libxml2-versionen som används inte är kompatibel med libxml2-header-filerna som PostgreSQL byggts med." -#: utils/adt/xml.c:2189 +#: utils/adt/xml.c:2281 msgid "Invalid character value." msgstr "Ogiltigt teckenvärde." -#: utils/adt/xml.c:2192 +#: utils/adt/xml.c:2284 msgid "Space required." msgstr "Mellanslag krävs." -#: utils/adt/xml.c:2195 +#: utils/adt/xml.c:2287 msgid "standalone accepts only 'yes' or 'no'." msgstr "standalone tillåter bara 'yes' eller 'no'." -#: utils/adt/xml.c:2198 +#: utils/adt/xml.c:2290 msgid "Malformed declaration: missing version." msgstr "Felaktig deklaration: saknar version." -#: utils/adt/xml.c:2201 +#: utils/adt/xml.c:2293 msgid "Missing encoding in text declaration." msgstr "Saknar kodning i textdeklaration." -#: utils/adt/xml.c:2204 +#: utils/adt/xml.c:2296 msgid "Parsing XML declaration: '?>' expected." msgstr "Parsar XML-deklaration: förväntade sig '?>'" -#: utils/adt/xml.c:2207 +#: utils/adt/xml.c:2299 #, c-format msgid "Unrecognized libxml error code: %d." msgstr "Okänd libxml-felkod: %d." -#: utils/adt/xml.c:2461 +#: utils/adt/xml.c:2553 #, c-format msgid "XML does not support infinite date values." msgstr "XML stöder inte oändliga datumvärden." -#: utils/adt/xml.c:2483 utils/adt/xml.c:2510 +#: utils/adt/xml.c:2575 utils/adt/xml.c:2602 #, c-format msgid "XML does not support infinite timestamp values." msgstr "XML stöder inte oändliga timestamp-värden." -#: utils/adt/xml.c:2926 +#: utils/adt/xml.c:3018 #, c-format msgid "invalid query" msgstr "ogiltig fråga" -#: utils/adt/xml.c:3018 +#: utils/adt/xml.c:3110 #, c-format msgid "portal \"%s\" does not return tuples" msgstr "portalen \"%s\" returnerar inga tupler" -#: utils/adt/xml.c:4270 +#: utils/adt/xml.c:4362 #, c-format msgid "invalid array for XML namespace mapping" msgstr "ogiltig array till XML-namnrymdmappning" -#: utils/adt/xml.c:4271 +#: utils/adt/xml.c:4363 #, c-format msgid "The array must be two-dimensional with length of the second axis equal to 2." msgstr "Arrayen måste vara tvådimensionell där längden på andra axeln är 2." -#: utils/adt/xml.c:4295 +#: utils/adt/xml.c:4387 #, c-format msgid "empty XPath expression" msgstr "tomt XPath-uttryck" -#: utils/adt/xml.c:4347 +#: utils/adt/xml.c:4439 #, c-format msgid "neither namespace name nor URI may be null" msgstr "varken namnrymdnamn eller URI får vara null" -#: utils/adt/xml.c:4354 +#: utils/adt/xml.c:4446 #, c-format msgid "could not register XML namespace with name \"%s\" and URI \"%s\"" msgstr "kunde inte registrera XML-namnrymd med namn \"%s\" och URL \"%s\"" -#: utils/adt/xml.c:4697 +#: utils/adt/xml.c:4795 #, c-format msgid "DEFAULT namespace is not supported" msgstr "namnrymden DEFAULT stöds inte" -#: utils/adt/xml.c:4726 +#: utils/adt/xml.c:4824 #, c-format msgid "row path filter must not be empty string" msgstr "sökvägsfilter för rad får inte vara tomma strängen" -#: utils/adt/xml.c:4757 +#: utils/adt/xml.c:4858 #, c-format msgid "column path filter must not be empty string" msgstr "sokvägsfilter för kolumn får inte vara tomma strängen" -#: utils/adt/xml.c:4901 +#: utils/adt/xml.c:5005 #, c-format msgid "more than one value returned by column XPath expression" msgstr "mer än ett värde returnerades från kolumns XPath-uttryck" -#: utils/cache/lsyscache.c:1043 +#: utils/cache/lsyscache.c:1017 #, c-format msgid "cast from type %s to type %s does not exist" msgstr "typomvandling från typ %s till typ %s finns inte" -#: utils/cache/lsyscache.c:2845 utils/cache/lsyscache.c:2878 -#: utils/cache/lsyscache.c:2911 utils/cache/lsyscache.c:2944 +#: utils/cache/lsyscache.c:2887 utils/cache/lsyscache.c:2920 +#: utils/cache/lsyscache.c:2953 utils/cache/lsyscache.c:2986 #, c-format msgid "type %s is only a shell" msgstr "typ %s är bara en shell-typ" -#: utils/cache/lsyscache.c:2850 +#: utils/cache/lsyscache.c:2892 #, c-format msgid "no input function available for type %s" msgstr "ingen inläsningsfunktion finns för typ %s" -#: utils/cache/lsyscache.c:2883 +#: utils/cache/lsyscache.c:2925 #, c-format msgid "no output function available for type %s" msgstr "ingen utmatningsfunktion finns för typ %s" -#: utils/cache/partcache.c:219 +#: utils/cache/partcache.c:216 #, c-format msgid "operator class \"%s\" of access method %s is missing support function %d for type %s" msgstr "operatorklass \"%s\" för accessmetod %s saknar supportfunktion %d för typ %s" -#: utils/cache/plancache.c:724 +#: utils/cache/plancache.c:747 #, c-format msgid "cached plan must not change result type" msgstr "cache:ad plan får inte ändra resultattyp" -#: utils/cache/relcache.c:3741 +#: utils/cache/relcache.c:3800 #, 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:3749 +#: utils/cache/relcache.c:3808 #, 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:6495 +#: utils/cache/relcache.c:6536 #, 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:6497 +#: utils/cache/relcache.c:6538 #, c-format msgid "Continuing anyway, but there's something wrong." msgstr "Fortsätter ändå, trots att något är fel." -#: utils/cache/relcache.c:6819 +#: utils/cache/relcache.c:6868 #, c-format msgid "could not remove cache file \"%s\": %m" msgstr "kunde inte ta bort cache-fil \"%s\": %m" @@ -26662,17 +27802,17 @@ msgstr "kunde inte ta bort cache-fil \"%s\": %m" msgid "cannot PREPARE a transaction that modified relation mapping" msgstr "kan inte göra PREPARE på en transaktion som ändrat relationsmappningen" -#: utils/cache/relmapper.c:850 +#: utils/cache/relmapper.c:852 #, c-format msgid "relation mapping file \"%s\" contains invalid data" msgstr "relationsmappningsfilen \"%s\" innehåller ogiltig data" -#: utils/cache/relmapper.c:860 +#: utils/cache/relmapper.c:862 #, c-format msgid "relation mapping file \"%s\" contains incorrect checksum" msgstr "relationsmappningsfilen \"%s\" innehåller en felaktig checksumma" -#: utils/cache/typcache.c:1809 utils/fmgr/funcapi.c:566 +#: utils/cache/typcache.c:1812 utils/fmgr/funcapi.c:574 #, c-format msgid "record type has not been registered" msgstr "posttypen har inte registrerats" @@ -26687,102 +27827,102 @@ msgstr "TRAP: ExceptionalCondition: fel argument i PID %d\n" msgid "TRAP: failed Assert(\"%s\"), File: \"%s\", Line: %d, PID: %d\n" msgstr "TRAP: misslyckad Assert(\"%s\"), Fil: \"%s\", Rad: %d, PID: %d)\n" -#: utils/error/elog.c:416 +#: utils/error/elog.c:415 #, c-format msgid "error occurred before error message processing is available\n" msgstr "fel uppstod innan processning av felmeddelande är tillgängligt\n" -#: utils/error/elog.c:2092 +#: utils/error/elog.c:2134 #, c-format msgid "could not reopen file \"%s\" as stderr: %m" msgstr "kunde inte återöppna filen \"%s\" som stderr: %m" -#: utils/error/elog.c:2105 +#: utils/error/elog.c:2147 #, c-format msgid "could not reopen file \"%s\" as stdout: %m" msgstr "kunde inte återöppna filen \"%s\" som stdout: %m" -#: utils/error/elog.c:2141 +#: utils/error/elog.c:2183 #, c-format -msgid "invalid character" -msgstr "ogiltigt tecken" +msgid "Invalid character" +msgstr "Ogiltigt tecken" -#: utils/error/elog.c:2847 utils/error/elog.c:2874 utils/error/elog.c:2890 +#: utils/error/elog.c:2889 utils/error/elog.c:2916 utils/error/elog.c:2932 msgid "[unknown]" msgstr "[okänd]" -#: utils/error/elog.c:3163 utils/error/elog.c:3484 utils/error/elog.c:3591 +#: utils/error/elog.c:3202 utils/error/elog.c:3526 utils/error/elog.c:3633 msgid "missing error text" msgstr "saknar feltext" -#: utils/error/elog.c:3166 utils/error/elog.c:3169 +#: utils/error/elog.c:3205 utils/error/elog.c:3208 #, c-format msgid " at character %d" msgstr " vid tecken %d" -#: utils/error/elog.c:3179 utils/error/elog.c:3186 +#: utils/error/elog.c:3218 utils/error/elog.c:3225 msgid "DETAIL: " msgstr "DETALJ: " -#: utils/error/elog.c:3193 +#: utils/error/elog.c:3232 msgid "HINT: " msgstr "TIPS: " -#: utils/error/elog.c:3200 +#: utils/error/elog.c:3239 msgid "QUERY: " msgstr "FRÅGA: " -#: utils/error/elog.c:3207 +#: utils/error/elog.c:3246 msgid "CONTEXT: " msgstr "KONTEXT: " -#: utils/error/elog.c:3217 +#: utils/error/elog.c:3256 #, c-format msgid "LOCATION: %s, %s:%d\n" msgstr "PLATS: %s, %s:%d\n" -#: utils/error/elog.c:3224 +#: utils/error/elog.c:3263 #, c-format msgid "LOCATION: %s:%d\n" msgstr "PLATS: %s:%d\n" -#: utils/error/elog.c:3231 +#: utils/error/elog.c:3270 msgid "BACKTRACE: " msgstr "BACKTRACE: " -#: utils/error/elog.c:3243 +#: utils/error/elog.c:3282 msgid "STATEMENT: " msgstr "SATS: " -#: utils/error/elog.c:3636 +#: utils/error/elog.c:3678 msgid "DEBUG" msgstr "DEBUG" -#: utils/error/elog.c:3640 +#: utils/error/elog.c:3682 msgid "LOG" msgstr "LOGG" -#: utils/error/elog.c:3643 +#: utils/error/elog.c:3685 msgid "INFO" msgstr "INFO" -#: utils/error/elog.c:3646 +#: utils/error/elog.c:3688 msgid "NOTICE" msgstr "NOTIS" -#: utils/error/elog.c:3650 +#: utils/error/elog.c:3692 msgid "WARNING" msgstr "VARNING" -#: utils/error/elog.c:3653 +#: utils/error/elog.c:3695 msgid "ERROR" msgstr "FEL" -#: utils/error/elog.c:3656 +#: utils/error/elog.c:3698 msgid "FATAL" msgstr "FATALT" -#: utils/error/elog.c:3659 +#: utils/error/elog.c:3701 msgid "PANIC" msgstr "PANIK" @@ -26855,22 +27995,22 @@ msgstr "Magiskt block har oväntad längd eller annan paddning." msgid "incompatible library \"%s\": magic block mismatch" msgstr "inkompatibelt bibliotek \"%s\": magiskt block matchar inte" -#: utils/fmgr/dfmgr.c:492 +#: utils/fmgr/dfmgr.c:475 #, c-format msgid "access to library \"%s\" is not allowed" msgstr "åtkomst till biblioteket \"%s\" tillåts inte" -#: utils/fmgr/dfmgr.c:518 +#: utils/fmgr/dfmgr.c:501 #, c-format msgid "invalid macro name in dynamic library path: %s" msgstr "ogiltigt macro-namn i dynamisk biblioteksökväg: %s" -#: utils/fmgr/dfmgr.c:558 +#: utils/fmgr/dfmgr.c:541 #, c-format msgid "zero-length component in parameter \"dynamic_library_path\"" msgstr "komponent med längden noll i parameter \"dynamic_library_path\"" -#: utils/fmgr/dfmgr.c:577 +#: utils/fmgr/dfmgr.c:560 #, c-format msgid "component in parameter \"dynamic_library_path\" is not an absolute path" msgstr "komponent som inte är en absolut sökväg i parameter \"dynamic_library_path\"" @@ -26895,223 +28035,213 @@ msgstr "SQL-anropbara funktioner kräver en medföljande PG_FUNCTION_INFO_V1(fun msgid "unrecognized API version %d reported by info function \"%s\"" msgstr "okänd API-version %d rapporterad av infofunktion \"%s\"" -#: utils/fmgr/fmgr.c:2080 +#: utils/fmgr/fmgr.c:2109 #, c-format msgid "operator class options info is absent in function call context" msgstr "info om operatorklassflaggor saknas i funktionens anropskontext" -#: utils/fmgr/fmgr.c:2147 +#: utils/fmgr/fmgr.c:2176 #, c-format msgid "language validation function %u called for language %u instead of %u" msgstr "språkvalideringsfunktion %u anropad för språk %u istället för %u" -#: utils/fmgr/funcapi.c:489 +#: utils/fmgr/funcapi.c:496 #, c-format msgid "could not determine actual result type for function \"%s\" declared to return type %s" msgstr "kunde inte bestämma resultattyp för funktion \"%s\" som deklarerats att returnera typ %s" -#: utils/fmgr/funcapi.c:634 +#: utils/fmgr/funcapi.c:642 #, c-format msgid "argument declared %s does not contain a range type but type %s" msgstr "argumentet deklarerad %s innehåller inte en range-typ utan typ %s" -#: utils/fmgr/funcapi.c:717 -#, c-format -msgid "could not find multirange type for data type %s" -msgstr "kunde inte hitta multirange-typ för datatyp %s" - -#: utils/fmgr/funcapi.c:1921 utils/fmgr/funcapi.c:1953 +#: utils/fmgr/funcapi.c:1929 utils/fmgr/funcapi.c:1961 #, c-format msgid "number of aliases does not match number of columns" msgstr "antalet alias matchar inte antalet kolumner" -#: utils/fmgr/funcapi.c:1947 +#: utils/fmgr/funcapi.c:1955 #, c-format msgid "no column alias was provided" msgstr "inget kolumnalias angivet" -#: utils/fmgr/funcapi.c:1971 +#: utils/fmgr/funcapi.c:1979 #, c-format msgid "could not determine row description for function returning record" msgstr "kunde inte få radbeskrivning för funktion som returnerar en record" -#: utils/init/miscinit.c:347 +#: utils/init/miscinit.c:352 #, c-format msgid "data directory \"%s\" does not exist" msgstr "databaskatalogen \"%s\" existerar inte" -#: utils/init/miscinit.c:352 +#: utils/init/miscinit.c:357 #, c-format msgid "could not read permissions of directory \"%s\": %m" msgstr "kunde inte läsa rättigheter på katalog \"%s\": %m" -#: utils/init/miscinit.c:360 +#: utils/init/miscinit.c:365 #, c-format msgid "specified data directory \"%s\" is not a directory" msgstr "angiven datakatalog \"%s\" är inte en katalog" -#: utils/init/miscinit.c:376 +#: utils/init/miscinit.c:381 #, c-format msgid "data directory \"%s\" has wrong ownership" msgstr "datakatalogen \"%s\" har fel ägare" -#: utils/init/miscinit.c:378 +#: utils/init/miscinit.c:383 #, c-format msgid "The server must be started by the user that owns the data directory." msgstr "Servern måste startas av den användare som äger datakatalogen." -#: utils/init/miscinit.c:396 +#: utils/init/miscinit.c:401 #, c-format msgid "data directory \"%s\" has invalid permissions" msgstr "datakatalogen \"%s\" har felaktiga rättigheter" -#: utils/init/miscinit.c:398 +#: utils/init/miscinit.c:403 #, c-format msgid "Permissions should be u=rwx (0700) or u=rwx,g=rx (0750)." msgstr "Rättigheterna skall vara u=rwx (0700) eller u=rwx,g=rx (0750)." -#: utils/init/miscinit.c:456 +#: utils/init/miscinit.c:461 #, c-format msgid "could not change directory to \"%s\": %m" msgstr "kunde inte byta katalog till \"%s\": %m" -#: utils/init/miscinit.c:693 utils/misc/guc.c:3548 +#: utils/init/miscinit.c:697 utils/misc/guc.c:3650 #, c-format msgid "cannot set parameter \"%s\" within security-restricted operation" msgstr "kan inte sätta parameter \"%s\" från en säkerhetsbegränsad operation" -#: utils/init/miscinit.c:765 +#: utils/init/miscinit.c:770 #, c-format msgid "role with OID %u does not exist" msgstr "roll med OID %u existerar inte" -#: utils/init/miscinit.c:795 +#: utils/init/miscinit.c:800 #, c-format msgid "role \"%s\" is not permitted to log in" msgstr "roll \"%s\" tillåts inte logga in" -#: utils/init/miscinit.c:813 +#: utils/init/miscinit.c:818 #, c-format msgid "too many connections for role \"%s\"" msgstr "för många uppkopplingar för roll \"%s\"" -#: utils/init/miscinit.c:912 -#, c-format -msgid "permission denied to set session authorization" -msgstr "rättighet saknas för att sätta sessionsauktorisation" - -#: utils/init/miscinit.c:995 +#: utils/init/miscinit.c:991 #, c-format msgid "invalid role OID: %u" msgstr "ogiltigt roll-OID: %u" -#: utils/init/miscinit.c:1142 +#: utils/init/miscinit.c:1138 #, c-format msgid "database system is shut down" msgstr "databassystemet är nedstängt" -#: utils/init/miscinit.c:1229 +#: utils/init/miscinit.c:1225 #, c-format msgid "could not create lock file \"%s\": %m" msgstr "kan inte skapa låsfil \"%s\": %m" -#: utils/init/miscinit.c:1243 +#: utils/init/miscinit.c:1239 #, c-format msgid "could not open lock file \"%s\": %m" msgstr "kunde inte öppna låsfil \"%s\": %m" -#: utils/init/miscinit.c:1250 +#: utils/init/miscinit.c:1246 #, c-format msgid "could not read lock file \"%s\": %m" msgstr "kunde inte läsa låsfil \"%s\": %m" -#: utils/init/miscinit.c:1259 +#: utils/init/miscinit.c:1255 #, c-format msgid "lock file \"%s\" is empty" msgstr "låsfilen \"%s\" är tom" -#: utils/init/miscinit.c:1260 +#: utils/init/miscinit.c:1256 #, c-format msgid "Either another server is starting, or the lock file is the remnant of a previous server startup crash." msgstr "Antingen startar en annan server eller så är låsfilen kvar från en tidigare serverkrash vid uppstart." -#: utils/init/miscinit.c:1304 +#: utils/init/miscinit.c:1300 #, c-format msgid "lock file \"%s\" already exists" msgstr "låsfil med namn \"%s\" finns redan" -#: utils/init/miscinit.c:1308 +#: utils/init/miscinit.c:1304 #, c-format msgid "Is another postgres (PID %d) running in data directory \"%s\"?" msgstr "Kör en annan postgres (PID %d) i datakatalogen \"%s\"?" -#: utils/init/miscinit.c:1310 +#: utils/init/miscinit.c:1306 #, c-format msgid "Is another postmaster (PID %d) running in data directory \"%s\"?" msgstr "Kör en annan postmaster (PID %d) i datakatalogen \"%s\"?" -#: utils/init/miscinit.c:1313 +#: utils/init/miscinit.c:1309 #, c-format msgid "Is another postgres (PID %d) using socket file \"%s\"?" msgstr "Använder en annan postgres (PID %d) uttagesfilen (socket) \"%s\"?" -#: utils/init/miscinit.c:1315 +#: utils/init/miscinit.c:1311 #, c-format msgid "Is another postmaster (PID %d) using socket file \"%s\"?" msgstr "Använder en annan postmaster (PID %d) uttagesfilen (socket) \"%s\"?" -#: utils/init/miscinit.c:1366 +#: utils/init/miscinit.c:1362 #, c-format msgid "could not remove old lock file \"%s\": %m" msgstr "kunde inte ta bort gammal låsfil \"%s\": %m" -#: utils/init/miscinit.c:1368 +#: utils/init/miscinit.c:1364 #, 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 "Filen verkar ha lämnats kvar av misstag, men kan inte tas bort. Ta bort den för hand och försök igen.>" -#: utils/init/miscinit.c:1405 utils/init/miscinit.c:1419 -#: utils/init/miscinit.c:1430 +#: utils/init/miscinit.c:1401 utils/init/miscinit.c:1415 +#: utils/init/miscinit.c:1426 #, c-format msgid "could not write lock file \"%s\": %m" msgstr "kunde inte skriva låsfil \"%s\": %m" -#: utils/init/miscinit.c:1541 utils/init/miscinit.c:1683 utils/misc/guc.c:5580 +#: utils/init/miscinit.c:1537 utils/init/miscinit.c:1679 utils/misc/guc.c:5724 #, c-format msgid "could not read from file \"%s\": %m" msgstr "kunde inte läsa från fil \"%s\": %m" -#: utils/init/miscinit.c:1671 +#: utils/init/miscinit.c:1667 #, c-format msgid "could not open file \"%s\": %m; continuing anyway" msgstr "kunde inte öppna fil \"%s\": %m: fortsätter ändå" -#: utils/init/miscinit.c:1696 +#: utils/init/miscinit.c:1692 #, c-format msgid "lock file \"%s\" contains wrong PID: %ld instead of %ld" msgstr "låsfil \"%s\" innehåller fel PID: %ld istället för %ld" -#: utils/init/miscinit.c:1735 utils/init/miscinit.c:1751 +#: utils/init/miscinit.c:1731 utils/init/miscinit.c:1747 #, c-format msgid "\"%s\" is not a valid data directory" msgstr "\"%s\" är inte en giltigt datakatalog" -#: utils/init/miscinit.c:1737 +#: utils/init/miscinit.c:1733 #, c-format msgid "File \"%s\" is missing." msgstr "Filen \"%s\" saknas." -#: utils/init/miscinit.c:1753 +#: utils/init/miscinit.c:1749 #, c-format msgid "File \"%s\" does not contain valid data." msgstr "Filen \"%s\" innehåller inte giltig data." -#: utils/init/miscinit.c:1755 +#: utils/init/miscinit.c:1751 #, c-format msgid "You might need to initdb." msgstr "Du kan behöva köra initdb." -#: utils/init/miscinit.c:1763 +#: utils/init/miscinit.c:1759 #, c-format msgid "The data directory was initialized by PostgreSQL version %s, which is not compatible with this version %s." msgstr "Datakatalogen har skapats av PostgreSQL version %s, som inte är kompatibel med version %s." @@ -27213,72 +28343,72 @@ msgstr "Återskapa databasen med en annan lokal eller installera den saknade lok msgid "The database was initialized with LC_CTYPE \"%s\", which is not recognized by setlocale()." msgstr "Databasen initierades med LC_CTYPE \"%s\", vilket inte känns igen av setlocale()." -#: utils/init/postinit.c:475 +#: utils/init/postinit.c:491 #, c-format msgid "database \"%s\" has a collation version mismatch" msgstr "databasen \"%s\" har en jämförelse (collation) vars version som inte matchar" -#: utils/init/postinit.c:477 +#: utils/init/postinit.c:493 #, c-format msgid "The database was created using collation version %s, but the operating system provides version %s." msgstr "Databasen skapades med jämförelseversion %s men operativsystemet tillhandahåller version %s." -#: utils/init/postinit.c:480 +#: utils/init/postinit.c:496 #, c-format msgid "Rebuild all objects in this database that use the default collation and run ALTER DATABASE %s REFRESH COLLATION VERSION, or build PostgreSQL with the right library version." msgstr "Bygg om alla objekt i denna databas som använder standardjämförelse (collation) och kör ALTER DATABASE %s REFRESH COLLATION VERSION eller bygg PostgreSQL med rätt bibliotekversion." -#: utils/init/postinit.c:891 +#: utils/init/postinit.c:902 #, c-format msgid "no roles are defined in this database system" msgstr "inga roller är definierade i detta databassystem" -#: utils/init/postinit.c:892 +#: utils/init/postinit.c:903 #, c-format msgid "You should immediately run CREATE USER \"%s\" SUPERUSER;." msgstr "Du borde direkt köra CREATE USER \"%s\" SUPERUSER;." -#: utils/init/postinit.c:928 +#: utils/init/postinit.c:940 #, c-format msgid "must be superuser to connect in binary upgrade mode" -msgstr "måste vara superuser för att ansluta i binärt uppgraderingsläger" +msgstr "måste vara superuser för att ansluta i binärt uppgraderingsläge" -#: utils/init/postinit.c:949 +#: utils/init/postinit.c:961 #, c-format msgid "remaining connection slots are reserved for roles with the %s attribute" msgstr "resterande anslutningsslottar är reserverade för roller med attributet %s" -#: utils/init/postinit.c:955 +#: utils/init/postinit.c:967 #, c-format msgid "remaining connection slots are reserved for roles with privileges of the \"%s\" role" msgstr "resterande anslutningsslottar är reserverade för roller med rättigheter från rollen \"%s\"" -#: utils/init/postinit.c:967 +#: utils/init/postinit.c:979 #, c-format msgid "permission denied to start WAL sender" msgstr "rättighet saknas för att starta WAL-skickare" -#: utils/init/postinit.c:968 +#: utils/init/postinit.c:980 #, c-format msgid "Only roles with the %s attribute may start a WAL sender process." msgstr "Bara roller med attributet %s får starta en process för WAL-skickande." -#: utils/init/postinit.c:1086 +#: utils/init/postinit.c:1098 #, c-format msgid "It seems to have just been dropped or renamed." msgstr "Det verkar precis ha tagits bort eller döpts om." -#: utils/init/postinit.c:1090 +#: utils/init/postinit.c:1102 #, c-format msgid "database %u does not exist" msgstr "databasen %u existerar inte" -#: utils/init/postinit.c:1099 +#: utils/init/postinit.c:1111 #, c-format msgid "cannot connect to invalid database \"%s\"" msgstr "kan inte ansluta till ogiltig databas \"%s\"" -#: utils/init/postinit.c:1159 +#: utils/init/postinit.c:1172 #, c-format msgid "The database subdirectory \"%s\" is missing." msgstr "Databasens underbibliotek \"%s\" saknas." @@ -27305,53 +28435,48 @@ msgstr "oväntat kodnings-ID %d för ISO 8859-teckenuppsättningarna" msgid "unexpected encoding ID %d for WIN character sets" msgstr "oväntat kodnings-ID %d för WIN-teckenuppsättningarna" -#: utils/mb/mbutils.c:298 utils/mb/mbutils.c:901 +#: utils/mb/mbutils.c:297 utils/mb/mbutils.c:900 #, c-format msgid "conversion between %s and %s is not supported" msgstr "konvertering mellan %s och %s stöds inte" -#: 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" - -#: utils/mb/mbutils.c:403 utils/mb/mbutils.c:431 utils/mb/mbutils.c:816 -#: utils/mb/mbutils.c:843 +#: utils/mb/mbutils.c:402 utils/mb/mbutils.c:430 utils/mb/mbutils.c:815 +#: utils/mb/mbutils.c:842 #, 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:569 +#: utils/mb/mbutils.c:568 #, c-format msgid "invalid source encoding name \"%s\"" msgstr "ogiltigt källkodningsnamn \"%s\"" -#: utils/mb/mbutils.c:574 +#: utils/mb/mbutils.c:573 #, c-format msgid "invalid destination encoding name \"%s\"" msgstr "ogiltigt målkodningsnamn \"%s\"" -#: utils/mb/mbutils.c:714 +#: utils/mb/mbutils.c:713 #, 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:878 +#: utils/mb/mbutils.c:877 #, c-format msgid "invalid Unicode code point" msgstr "ogiltig Unicode-kodpunkt" -#: utils/mb/mbutils.c:1204 +#: utils/mb/mbutils.c:1201 #, c-format msgid "bind_textdomain_codeset failed" msgstr "bind_textdomain_codeset misslyckades" -#: utils/mb/mbutils.c:1725 +#: utils/mb/mbutils.c:1718 #, c-format msgid "invalid byte sequence for encoding \"%s\": %s" msgstr "ogiltigt byte-sekvens för kodning \"%s\": %s" -#: utils/mb/mbutils.c:1758 +#: utils/mb/mbutils.c:1751 #, 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\"" @@ -27366,82 +28491,82 @@ msgstr "konfigurationskatalogens namn är tomt: \"%s\"" msgid "could not open configuration directory \"%s\": %m" msgstr "kunde inte öppna konfigureringskatalog \"%s\": %m" -#: utils/misc/guc.c:115 +#: utils/misc/guc.c:122 msgid "Valid units for this parameter are \"B\", \"kB\", \"MB\", \"GB\", and \"TB\"." msgstr "Giltiga enheter för denna parameter är \"B\", \"kB\", \"MB\", \"GB\" och \"TB\"." -#: utils/misc/guc.c:152 +#: utils/misc/guc.c:159 msgid "Valid units for this parameter are \"us\", \"ms\", \"s\", \"min\", \"h\", and \"d\"." msgstr "Giltiga enheter för denna parameter är \"us\", \"ms\", \"s\", \"min\", \"h\" och \"d\"." -#: utils/misc/guc.c:421 +#: utils/misc/guc.c:430 #, c-format msgid "unrecognized configuration parameter \"%s\" in file \"%s\" line %d" msgstr "okänd konfigurationsparameter \"%s\" i fil \"%s\" rad %d" -#: utils/misc/guc.c:461 utils/misc/guc.c:3406 utils/misc/guc.c:3646 -#: utils/misc/guc.c:3744 utils/misc/guc.c:3842 utils/misc/guc.c:3966 -#: utils/misc/guc.c:4069 +#: utils/misc/guc.c:470 utils/misc/guc.c:3504 utils/misc/guc.c:3748 +#: utils/misc/guc.c:3846 utils/misc/guc.c:3944 utils/misc/guc.c:4068 +#: utils/misc/guc.c:4171 #, c-format msgid "parameter \"%s\" cannot be changed without restarting the server" msgstr "parameter \"%s\" kan inte ändras utan att starta om servern" -#: utils/misc/guc.c:497 +#: utils/misc/guc.c:506 #, c-format msgid "parameter \"%s\" removed from configuration file, reset to default" msgstr "parameter \"%s\" borttagen från konfigurationsfil, återställs till standard" -#: utils/misc/guc.c:562 +#: utils/misc/guc.c:571 #, c-format msgid "parameter \"%s\" changed to \"%s\"" msgstr "parameter \"%s\" ändrad till \"%s\"" -#: utils/misc/guc.c:604 +#: utils/misc/guc.c:613 #, c-format msgid "configuration file \"%s\" contains errors" msgstr "konfigurationsfil \"%s\" innehåller fel" -#: utils/misc/guc.c:609 +#: utils/misc/guc.c:618 #, c-format msgid "configuration file \"%s\" contains errors; unaffected changes were applied" msgstr "konfigurationsfil \"%s\" innehåller fel; opåverkade ändringar har utförts" -#: utils/misc/guc.c:614 +#: utils/misc/guc.c:623 #, c-format msgid "configuration file \"%s\" contains errors; no changes were applied" msgstr "konfigurationsfil \"%s\" innehåller fel; inga ändringar har utförts" -#: utils/misc/guc.c:1211 utils/misc/guc.c:1227 +#: utils/misc/guc.c:1139 utils/misc/guc.c:1155 #, c-format msgid "invalid configuration parameter name \"%s\"" msgstr "ogiltig konfigurationsparameter \"%s\"" -#: utils/misc/guc.c:1213 +#: utils/misc/guc.c:1141 #, c-format msgid "Custom parameter names must be two or more simple identifiers separated by dots." msgstr "Egenskapade parameternamn måste vara två eller fler enkla identifierare separerade med punkter." -#: utils/misc/guc.c:1229 +#: utils/misc/guc.c:1157 #, c-format msgid "\"%s\" is a reserved prefix." msgstr "\"%s\" är ett reserverat prefix." -#: utils/misc/guc.c:1243 +#: utils/misc/guc.c:1170 utils/misc/guc.c:1280 #, c-format msgid "unrecognized configuration parameter \"%s\"" msgstr "okänd konfigurationsparameter \"%s\"" -#: utils/misc/guc.c:1765 +#: utils/misc/guc.c:1802 #, c-format -msgid "%s: could not access directory \"%s\": %s\n" -msgstr "%s: kunde inte komma åt katalogen \"%s\": %s\n" +msgid "%s: could not access directory \"%s\": %m\n" +msgstr "%s: kunde inte komma åt katalogen \"%s\": %m\n" -#: utils/misc/guc.c:1770 +#: utils/misc/guc.c:1806 #, c-format msgid "Run initdb or pg_basebackup to initialize a PostgreSQL data directory.\n" msgstr "Kör initdb eller pg_basebackup för att initiera en PostgreSQL-datakatalog.\n" -#: utils/misc/guc.c:1794 +#: utils/misc/guc.c:1830 #, c-format msgid "" "%s does not know where to find the server configuration file.\n" @@ -27450,12 +28575,12 @@ msgstr "" "%s vet inte var servens konfigurationsfil är.\n" "Du måste ange flaggan --config-file eller -D alternativt sätta omgivningsvariabeln PGDATA.\n" -#: utils/misc/guc.c:1817 +#: utils/misc/guc.c:1853 #, c-format -msgid "%s: could not access the server configuration file \"%s\": %s\n" -msgstr "%s: har inte åtkomst till serverns konfigureringsfil \"%s\": %s\n" +msgid "%s: could not access the server configuration file \"%s\": %m\n" +msgstr "%s: ingen åtkomst till serverns konfigureringsfil \"%s\": %m\n" -#: utils/misc/guc.c:1845 +#: utils/misc/guc.c:1881 #, c-format msgid "" "%s does not know where to find the database system data.\n" @@ -27464,7 +28589,7 @@ msgstr "" "%s vet inte var databasens systemdata är.\n" "Det kan anges med \"data_directory\" i \"%s\" eller med flaggan -D alternativt genom att sätta omgivningsvariabeln PGDATA.\n" -#: utils/misc/guc.c:1897 +#: utils/misc/guc.c:1933 #, c-format msgid "" "%s does not know where to find the \"hba\" configuration file.\n" @@ -27473,7 +28598,7 @@ msgstr "" "%s vet inte var \"hba\"-konfigurationsfilen är.\n" "Detta kan anges som \"hba_file\" i \"%s\" eller med flaggan -D alternativt genom att sätta omgivningsvariabeln PGDATA.\n" -#: utils/misc/guc.c:1928 +#: utils/misc/guc.c:1964 #, c-format msgid "" "%s does not know where to find the \"ident\" configuration file.\n" @@ -27482,121 +28607,131 @@ msgstr "" "%s vet inte var \"ident\"-konfigurationsfilen är.\n" "Detta kan anges som \"ident_file\" i \"%s\" eller med flaggan -D alternativt genom att sätta omgivningsvariabeln PGDATA.\n" -#: utils/misc/guc.c:2894 +#: utils/misc/guc.c:2943 msgid "Value exceeds integer range." msgstr "Värde överskriver heltalsintervall." -#: utils/misc/guc.c:3130 +#: utils/misc/guc.c:3185 #, c-format -msgid "%d%s%s is outside the valid range for parameter \"%s\" (%d .. %d)" -msgstr "%d%s%s är utanför giltigt intervall för parameter \"%s\" (%d .. %d)" +msgid "%d%s%s is outside the valid range for parameter \"%s\" (%d%s%s .. %d%s%s)" +msgstr "%d%s%s är utanför giltigt intervall för parameter \"%s\" (%d%s%s .. %d%s%s)" -#: utils/misc/guc.c:3166 +#: utils/misc/guc.c:3226 #, c-format -msgid "%g%s%s is outside the valid range for parameter \"%s\" (%g .. %g)" -msgstr "%g%s%s är utanför giltigt intervall för parameter \"%s\" (%g .. %g)" +msgid "%g%s%s is outside the valid range for parameter \"%s\" (%g%s%s .. %g%s%s)" +msgstr "%g%s%s är utanför giltigt intervall för parameter \"%s\" (%g%s%s .. %g%s%s)" -#: utils/misc/guc.c:3366 utils/misc/guc_funcs.c:54 +#: utils/misc/guc.c:3465 #, c-format -msgid "cannot set parameters during a parallel operation" -msgstr "kan inte sätta parametrar under en parallell operation" +msgid "parameter \"%s\" cannot be set during a parallel operation" +msgstr "parameter \"%s\" can inte sättas under en parallell operation" -#: utils/misc/guc.c:3383 utils/misc/guc.c:4530 +#: utils/misc/guc.c:3481 utils/misc/guc.c:4655 #, c-format msgid "parameter \"%s\" cannot be changed" msgstr "parameter \"%s\" kan inte ändras" -#: utils/misc/guc.c:3416 +#: utils/misc/guc.c:3514 #, c-format msgid "parameter \"%s\" cannot be changed now" msgstr "parameter \"%s\" kan inte ändras nu" -#: utils/misc/guc.c:3443 utils/misc/guc.c:3501 utils/misc/guc.c:4506 -#: utils/misc/guc.c:6546 +#: utils/misc/guc.c:3541 utils/misc/guc.c:3603 utils/misc/guc.c:4630 +#: utils/misc/guc.c:6721 #, c-format msgid "permission denied to set parameter \"%s\"" msgstr "rättighet saknas för att sätta parameter \"%s\"" -#: utils/misc/guc.c:3481 +#: utils/misc/guc.c:3583 #, c-format msgid "parameter \"%s\" cannot be set after connection start" msgstr "parameter \"%s\" kan inte ändras efter uppkopplingen startats" -#: utils/misc/guc.c:3540 +#: utils/misc/guc.c:3642 #, c-format msgid "cannot set parameter \"%s\" within security-definer function" msgstr "kan inte sätta parameter \"%s\" inom en security-definer-funktion" -#: utils/misc/guc.c:3561 +#: utils/misc/guc.c:3663 #, c-format msgid "parameter \"%s\" cannot be reset" msgstr "parametern \"%s\" kunde inte återställas" -#: utils/misc/guc.c:3568 +#: utils/misc/guc.c:3670 #, c-format msgid "parameter \"%s\" cannot be set locally in functions" msgstr "parametern \"%s\" kan inte ändras lokalt i funktioner" -#: utils/misc/guc.c:4212 utils/misc/guc.c:4259 utils/misc/guc.c:5266 +#: utils/misc/guc.c:4329 utils/misc/guc.c:4377 utils/misc/guc.c:5409 #, c-format msgid "permission denied to examine \"%s\"" msgstr "rättighet saknas för att se \"%s\"" -#: utils/misc/guc.c:4213 utils/misc/guc.c:4260 utils/misc/guc.c:5267 +#: utils/misc/guc.c:4330 utils/misc/guc.c:4378 utils/misc/guc.c:5410 #, c-format msgid "Only roles with privileges of the \"%s\" role may examine this parameter." msgstr "Bara roller med rättigheter från rollen \"%s\" får se denna parameter." -#: utils/misc/guc.c:4496 +#: utils/misc/guc.c:4588 +#, c-format +msgid "ALTER SYSTEM is not allowed in this environment" +msgstr "ALTER SYSTEM tillåts inte i denna miljö" + +#: utils/misc/guc.c:4620 #, c-format msgid "permission denied to perform ALTER SYSTEM RESET ALL" msgstr "rättighet saknas för att utföra ALTER SYSTEM RESET ALL" -#: utils/misc/guc.c:4562 +#: utils/misc/guc.c:4699 #, c-format msgid "parameter value for ALTER SYSTEM must not contain a newline" msgstr "parametervärde till ALTER SYSTEM kan inte innehålla nyradstecken" -#: utils/misc/guc.c:4608 +#: utils/misc/guc.c:4744 #, c-format msgid "could not parse contents of file \"%s\"" msgstr "kunde inte parsa innehållet i fil \"%s\"" -#: utils/misc/guc.c:4790 +#: utils/misc/guc.c:4926 #, c-format msgid "attempt to redefine parameter \"%s\"" msgstr "försök att omdefiniera parameter \"%s\"" -#: utils/misc/guc.c:5129 +#: utils/misc/guc.c:5265 #, c-format msgid "invalid configuration parameter name \"%s\", removing it" msgstr "ogiltigt konfigurationsparameternamn \"%s\", tas bort" -#: utils/misc/guc.c:5131 +#: utils/misc/guc.c:5267 #, c-format msgid "\"%s\" is now a reserved prefix." msgstr "\"%s\" är nu ett reserverat prefix." -#: utils/misc/guc.c:6000 +#: utils/misc/guc.c:6144 #, c-format msgid "while setting parameter \"%s\" to \"%s\"" msgstr "vid sättande av parameter \"%s\" till \"%s\"" -#: utils/misc/guc.c:6169 +#: utils/misc/guc.c:6313 #, c-format msgid "parameter \"%s\" could not be set" msgstr "parameter \"%s\" kunde inte sättas" -#: utils/misc/guc.c:6259 +#: utils/misc/guc.c:6403 #, c-format msgid "could not parse setting for parameter \"%s\"" msgstr "kunde inte tolka inställningen för parameter \"%s\"" -#: utils/misc/guc.c:6678 +#: utils/misc/guc.c:6853 #, c-format msgid "invalid value for parameter \"%s\": %g" msgstr "ogiltigt värde för parameter \"%s\": %g" +#: utils/misc/guc_funcs.c:54 +#, c-format +msgid "cannot set parameters during a parallel operation" +msgstr "kan inte sätta parametrar under en parallell operation" + #: utils/misc/guc_funcs.c:130 #, c-format msgid "SET LOCAL TRANSACTION SNAPSHOT is not implemented" @@ -27612,59 +28747,59 @@ msgstr "SET %s tar bara ett argument" msgid "SET requires parameter name" msgstr "SET kräver ett parameternamn" -#: utils/misc/guc_tables.c:662 +#: utils/misc/guc_tables.c:676 msgid "Ungrouped" msgstr "Ej grupperad" -#: utils/misc/guc_tables.c:664 +#: utils/misc/guc_tables.c:677 msgid "File Locations" msgstr "Filplatser" -#: utils/misc/guc_tables.c:666 +#: utils/misc/guc_tables.c:678 msgid "Connections and Authentication / Connection Settings" msgstr "Uppkopplingar och Autentisering / Uppkopplingsinställningar" -#: utils/misc/guc_tables.c:668 +#: utils/misc/guc_tables.c:679 msgid "Connections and Authentication / TCP Settings" msgstr "Uppkopplingar och Autentisering / TCP-inställningar" -#: utils/misc/guc_tables.c:670 +#: utils/misc/guc_tables.c:680 msgid "Connections and Authentication / Authentication" msgstr "Uppkopplingar och Autentisering / Autentisering" -#: utils/misc/guc_tables.c:672 +#: utils/misc/guc_tables.c:681 msgid "Connections and Authentication / SSL" msgstr "Uppkopplingar och Autentisering / SSL" -#: utils/misc/guc_tables.c:674 +#: utils/misc/guc_tables.c:682 msgid "Resource Usage / Memory" msgstr "Resursanvändning / Minne" -#: utils/misc/guc_tables.c:676 +#: utils/misc/guc_tables.c:683 msgid "Resource Usage / Disk" msgstr "Resursanvändning / Disk" -#: utils/misc/guc_tables.c:678 +#: utils/misc/guc_tables.c:684 msgid "Resource Usage / Kernel Resources" msgstr "Resursanvändning / Kärnresurser" -#: utils/misc/guc_tables.c:680 +#: utils/misc/guc_tables.c:685 msgid "Resource Usage / Cost-Based Vacuum Delay" msgstr "Resursanvändning / Kostnadsbaserad Vacuum-fördröjning" -#: utils/misc/guc_tables.c:682 +#: utils/misc/guc_tables.c:686 msgid "Resource Usage / Background Writer" msgstr "Resursanvändning / Bakgrundskrivare" -#: utils/misc/guc_tables.c:684 +#: utils/misc/guc_tables.c:687 msgid "Resource Usage / Asynchronous Behavior" msgstr "Resursanvändning / Asynkront beteende" -#: utils/misc/guc_tables.c:686 +#: utils/misc/guc_tables.c:688 msgid "Write-Ahead Log / Settings" msgstr "Write-Ahead Log / Inställningar" -#: utils/misc/guc_tables.c:688 +#: utils/misc/guc_tables.c:689 msgid "Write-Ahead Log / Checkpoints" msgstr "Write-Ahead Log / Checkpoint:er" @@ -27672,458 +28807,474 @@ msgstr "Write-Ahead Log / Checkpoint:er" msgid "Write-Ahead Log / Archiving" msgstr "Write-Ahead Log / Arkivering" -#: utils/misc/guc_tables.c:692 +#: utils/misc/guc_tables.c:691 msgid "Write-Ahead Log / Recovery" msgstr "Write-Ahead Log / Återställning" -#: utils/misc/guc_tables.c:694 +#: utils/misc/guc_tables.c:692 msgid "Write-Ahead Log / Archive Recovery" msgstr "Write-Ahead Log / Återställning från arkiv" -#: utils/misc/guc_tables.c:696 +#: utils/misc/guc_tables.c:693 msgid "Write-Ahead Log / Recovery Target" msgstr "Write-Ahead Log / Återställningsmål" -#: utils/misc/guc_tables.c:698 +#: utils/misc/guc_tables.c:694 +msgid "Write-Ahead Log / Summarization" +msgstr "Write-Ahead Log / Summering" + +#: utils/misc/guc_tables.c:695 msgid "Replication / Sending Servers" msgstr "Replilering / Skickande servrar" -#: utils/misc/guc_tables.c:700 +#: utils/misc/guc_tables.c:696 msgid "Replication / Primary Server" msgstr "Replikering / Primärserver" -#: utils/misc/guc_tables.c:702 +#: utils/misc/guc_tables.c:697 msgid "Replication / Standby Servers" msgstr "Replikering / Standby-servrar" -#: utils/misc/guc_tables.c:704 +#: utils/misc/guc_tables.c:698 msgid "Replication / Subscribers" msgstr "Replikering / Prenumeranter" -#: utils/misc/guc_tables.c:706 +#: utils/misc/guc_tables.c:699 msgid "Query Tuning / Planner Method Configuration" msgstr "Frågeoptimering / Planeringsmetodinställningar" -#: utils/misc/guc_tables.c:708 +#: utils/misc/guc_tables.c:700 msgid "Query Tuning / Planner Cost Constants" msgstr "Frågeoptimering / Plannerarens kostnadskonstanter" -#: utils/misc/guc_tables.c:710 +#: utils/misc/guc_tables.c:701 msgid "Query Tuning / Genetic Query Optimizer" msgstr "Frågeoptimering / Genetisk frågeoptimerare" -#: utils/misc/guc_tables.c:712 +#: utils/misc/guc_tables.c:702 msgid "Query Tuning / Other Planner Options" msgstr "Frågeoptimering / Andra planeringsinställningar" -#: utils/misc/guc_tables.c:714 +#: utils/misc/guc_tables.c:703 msgid "Reporting and Logging / Where to Log" msgstr "Rapportering och loggning / Logga var?" -#: utils/misc/guc_tables.c:716 +#: utils/misc/guc_tables.c:704 msgid "Reporting and Logging / When to Log" msgstr "Rapportering och loggning / Logga när?" -#: utils/misc/guc_tables.c:718 +#: utils/misc/guc_tables.c:705 msgid "Reporting and Logging / What to Log" msgstr "Rapportering och loggning / Logga vad?" -#: utils/misc/guc_tables.c:720 +#: utils/misc/guc_tables.c:706 msgid "Reporting and Logging / Process Title" msgstr "Rapportering och loggning / Processtitel" -#: utils/misc/guc_tables.c:722 +#: utils/misc/guc_tables.c:707 msgid "Statistics / Monitoring" msgstr "Statistik / Övervakning" -#: utils/misc/guc_tables.c:724 +#: utils/misc/guc_tables.c:708 msgid "Statistics / Cumulative Query and Index Statistics" msgstr "Statistik / Ihopsamlad fråge- och index-statistik" -#: utils/misc/guc_tables.c:726 +#: utils/misc/guc_tables.c:709 msgid "Autovacuum" msgstr "Autovacuum" -#: utils/misc/guc_tables.c:728 +#: utils/misc/guc_tables.c:710 msgid "Client Connection Defaults / Statement Behavior" msgstr "Standard för klientanslutning / Satsbeteende" -#: utils/misc/guc_tables.c:730 +#: utils/misc/guc_tables.c:711 msgid "Client Connection Defaults / Locale and Formatting" msgstr "Standard för klientanslutning / Lokal och formattering" -#: utils/misc/guc_tables.c:732 +#: utils/misc/guc_tables.c:712 msgid "Client Connection Defaults / Shared Library Preloading" msgstr "Standard för klientanslutning / Förladdning av delat bibliotek" -#: utils/misc/guc_tables.c:734 +#: utils/misc/guc_tables.c:713 msgid "Client Connection Defaults / Other Defaults" msgstr "Standard för klientanslutning / Övriga standardvärden" -#: utils/misc/guc_tables.c:736 +#: utils/misc/guc_tables.c:714 msgid "Lock Management" msgstr "Låshantering" -#: utils/misc/guc_tables.c:738 +#: utils/misc/guc_tables.c:715 msgid "Version and Platform Compatibility / Previous PostgreSQL Versions" msgstr "Version och plattformskompabilitet / Tidigare PostrgreSQL-versioner" -#: utils/misc/guc_tables.c:740 +#: utils/misc/guc_tables.c:716 msgid "Version and Platform Compatibility / Other Platforms and Clients" msgstr "Version och plattformskompabilitet / Andra plattformar och klienter" -#: utils/misc/guc_tables.c:742 +#: utils/misc/guc_tables.c:717 msgid "Error Handling" msgstr "Felhantering" -#: utils/misc/guc_tables.c:744 +#: utils/misc/guc_tables.c:718 msgid "Preset Options" msgstr "Förinställningsflaggor" -#: utils/misc/guc_tables.c:746 +#: utils/misc/guc_tables.c:719 msgid "Customized Options" msgstr "Ändrade flaggor" -#: utils/misc/guc_tables.c:748 +#: utils/misc/guc_tables.c:720 msgid "Developer Options" msgstr "Utvecklarflaggor" -#: utils/misc/guc_tables.c:805 +#: utils/misc/guc_tables.c:775 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:815 +#: utils/misc/guc_tables.c:785 msgid "Enables the planner's use of index-scan plans." msgstr "Aktiverar planerarens användning av planer med indexskanning." -#: utils/misc/guc_tables.c:825 +#: utils/misc/guc_tables.c:795 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:835 +#: utils/misc/guc_tables.c:805 msgid "Enables the planner's use of bitmap-scan plans." msgstr "Aktiverar planerarens användning av planer med bitmapskanning." -#: utils/misc/guc_tables.c:845 +#: utils/misc/guc_tables.c:815 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:855 +#: utils/misc/guc_tables.c:825 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:865 +#: utils/misc/guc_tables.c:835 msgid "Enables the planner's use of incremental sort steps." msgstr "Aktiverar planerarens användning av inkrementella sorteringssteg." -#: utils/misc/guc_tables.c:875 +#: utils/misc/guc_tables.c:845 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:885 +#: utils/misc/guc_tables.c:855 msgid "Enables the planner's use of materialization." msgstr "Aktiverar planerarens användning av materialisering." -#: utils/misc/guc_tables.c:895 +#: utils/misc/guc_tables.c:865 msgid "Enables the planner's use of memoization." msgstr "Aktiverar planerarens användning av memoization." -#: utils/misc/guc_tables.c:905 +#: utils/misc/guc_tables.c:875 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:915 +#: utils/misc/guc_tables.c:885 msgid "Enables the planner's use of merge join plans." msgstr "Aktiverar planerarens användning av merge-join-planer." -#: utils/misc/guc_tables.c:925 +#: utils/misc/guc_tables.c:895 msgid "Enables the planner's use of hash join plans." msgstr "Aktiverar planerarens användning av hash-join-planer." -#: utils/misc/guc_tables.c:935 +#: utils/misc/guc_tables.c:905 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:945 +#: utils/misc/guc_tables.c:915 msgid "Enables partitionwise join." msgstr "Aktiverar join per partition." -#: utils/misc/guc_tables.c:955 +#: utils/misc/guc_tables.c:925 msgid "Enables partitionwise aggregation and grouping." msgstr "Aktiverar aggregering och gruppering per partition." -#: utils/misc/guc_tables.c:965 +#: utils/misc/guc_tables.c:935 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:975 +#: utils/misc/guc_tables.c:945 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:985 +#: utils/misc/guc_tables.c:955 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:986 +#: utils/misc/guc_tables.c:956 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:997 +#: utils/misc/guc_tables.c:967 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:1000 +#: utils/misc/guc_tables.c:970 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:1012 +#: utils/misc/guc_tables.c:982 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:1022 +#: utils/misc/guc_tables.c:992 +msgid "Enables reordering of GROUP BY keys." +msgstr "Aktiverar omkastning av nycklar i GROUP BY." + +#: utils/misc/guc_tables.c:1002 msgid "Enables genetic query optimization." msgstr "Aktiverar genetisk frågeoptimering." -#: utils/misc/guc_tables.c:1023 +#: utils/misc/guc_tables.c:1003 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:1034 +#: utils/misc/guc_tables.c:1017 msgid "Shows whether the current user is a superuser." msgstr "Visar om den aktuella användaren är en superuser." -#: utils/misc/guc_tables.c:1044 +#: utils/misc/guc_tables.c:1032 +msgid "Allows running the ALTER SYSTEM command." +msgstr "Tillåter att kommandot ALTER SYSTEM körs." + +#: utils/misc/guc_tables.c:1033 +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 msgid "Enables advertising the server via Bonjour." msgstr "Aktiverar annonsering av servern via Bonjour." -#: utils/misc/guc_tables.c:1053 +#: utils/misc/guc_tables.c:1052 msgid "Collects transaction commit time." msgstr "Samlar in tid för transaktions-commit." -#: utils/misc/guc_tables.c:1062 +#: utils/misc/guc_tables.c:1061 msgid "Enables SSL connections." msgstr "Tillåter SSL-anslutningar." -#: utils/misc/guc_tables.c:1071 -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:1070 +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:1080 +#: utils/misc/guc_tables.c:1079 msgid "Give priority to server ciphersuite order." msgstr "Ge prioritet till serverns ordning av kryptometoder." -#: utils/misc/guc_tables.c:1089 +#: utils/misc/guc_tables.c:1088 msgid "Forces synchronization of updates to disk." msgstr "Tvingar synkronisering av uppdateringar till disk." -#: utils/misc/guc_tables.c:1090 +#: utils/misc/guc_tables.c:1089 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:1101 +#: utils/misc/guc_tables.c:1100 msgid "Continues processing after a checksum failure." msgstr "Fortsätter processande efter checksummefel." -#: utils/misc/guc_tables.c:1102 +#: utils/misc/guc_tables.c:1101 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:1116 +#: utils/misc/guc_tables.c:1115 msgid "Continues processing past damaged page headers." msgstr "Fortsätter processande efter trasiga sidhuvuden." -#: utils/misc/guc_tables.c:1117 -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:1116 +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:1130 +#: utils/misc/guc_tables.c:1129 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:1131 -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:1130 +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:1149 +#: utils/misc/guc_tables.c:1148 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:1150 +#: utils/misc/guc_tables.c:1149 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:1163 +#: utils/misc/guc_tables.c:1162 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:1173 +#: utils/misc/guc_tables.c:1172 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:1183 +#: utils/misc/guc_tables.c:1182 msgid "Recycles WAL files by renaming them." msgstr "Återanvänder WAL-filer genom att byta namn på dem." -#: utils/misc/guc_tables.c:1193 +#: utils/misc/guc_tables.c:1192 msgid "Logs each checkpoint." msgstr "Logga varje checkpoint." -#: utils/misc/guc_tables.c:1202 +#: utils/misc/guc_tables.c:1201 msgid "Logs each successful connection." msgstr "Logga varje lyckad anslutning." -#: utils/misc/guc_tables.c:1211 +#: utils/misc/guc_tables.c:1210 +msgid "Logs details of pre-authentication connection handshake." +msgstr "Logga detaljer om anslutningshandskakning före autentisering." + +#: utils/misc/guc_tables.c:1220 msgid "Logs end of a session, including duration." msgstr "Loggar slut på session, inklusive längden." -#: utils/misc/guc_tables.c:1220 +#: utils/misc/guc_tables.c:1229 msgid "Logs each replication command." msgstr "Loggar alla replikeringskommanon." -#: utils/misc/guc_tables.c:1229 +#: utils/misc/guc_tables.c:1238 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:1240 +#: utils/misc/guc_tables.c:1249 msgid "Terminate session on any error." msgstr "Avbryt sessionen vid fel." -#: utils/misc/guc_tables.c:1249 +#: utils/misc/guc_tables.c:1258 msgid "Reinitialize server after backend crash." msgstr "Återinitiera servern efter en backend-krash." -#: utils/misc/guc_tables.c:1258 +#: utils/misc/guc_tables.c:1267 msgid "Remove temporary files after backend crash." msgstr "Ta bort temporära filer efter en backend-krash." -#: utils/misc/guc_tables.c:1268 +#: utils/misc/guc_tables.c:1277 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:1278 +#: utils/misc/guc_tables.c:1287 msgid "Send SIGABRT not SIGKILL to stuck child processes." msgstr "Skicka SIGABRT och inte SIGKILL till barnprocesser som fastnat." -#: utils/misc/guc_tables.c:1289 +#: utils/misc/guc_tables.c:1298 msgid "Logs the duration of each completed SQL statement." msgstr "Loggar tiden för varje avslutad SQL-sats." -#: utils/misc/guc_tables.c:1298 +#: utils/misc/guc_tables.c:1307 msgid "Logs each query's parse tree." msgstr "Loggar alla frågors parse-träd." -#: utils/misc/guc_tables.c:1307 +#: utils/misc/guc_tables.c:1316 msgid "Logs each query's rewritten parse tree." msgstr "Logga alla frågors omskrivet parse-träd." -#: utils/misc/guc_tables.c:1316 +#: utils/misc/guc_tables.c:1325 msgid "Logs each query's execution plan." msgstr "Logga alla frågors körningsplan." -#: utils/misc/guc_tables.c:1325 +#: utils/misc/guc_tables.c:1334 msgid "Indents parse and plan tree displays." msgstr "Indentera parse och planeringsträdutskrifter" -#: utils/misc/guc_tables.c:1334 +#: utils/misc/guc_tables.c:1343 msgid "Writes parser performance statistics to the server log." msgstr "Skriver parserns prestandastatistik till serverloggen." -#: utils/misc/guc_tables.c:1343 +#: utils/misc/guc_tables.c:1352 msgid "Writes planner performance statistics to the server log." msgstr "Skriver planerarens prestandastatistik till serverloggen." -#: utils/misc/guc_tables.c:1352 +#: utils/misc/guc_tables.c:1361 msgid "Writes executor performance statistics to the server log." msgstr "Skrivere exekverarens prestandastatistik till serverloggen." -#: utils/misc/guc_tables.c:1361 +#: utils/misc/guc_tables.c:1370 msgid "Writes cumulative performance statistics to the server log." msgstr "Skriver ackumulerad prestandastatistik till serverloggen." -#: utils/misc/guc_tables.c:1371 +#: utils/misc/guc_tables.c:1380 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:1383 +#: utils/misc/guc_tables.c:1392 msgid "Collects information about executing commands." msgstr "Samla information om körda kommanon." -#: utils/misc/guc_tables.c:1384 +#: utils/misc/guc_tables.c:1393 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:1394 +#: utils/misc/guc_tables.c:1403 msgid "Collects statistics on database activity." msgstr "Samla in statistik om databasaktivitet." -#: utils/misc/guc_tables.c:1403 +#: utils/misc/guc_tables.c:1412 msgid "Collects timing statistics for database I/O activity." msgstr "Samla in timingstatistik om databasens I/O-aktivitet." -#: utils/misc/guc_tables.c:1412 +#: utils/misc/guc_tables.c:1421 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:1422 +#: utils/misc/guc_tables.c:1431 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:1423 +#: utils/misc/guc_tables.c:1432 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:1432 +#: utils/misc/guc_tables.c:1441 msgid "Starts the autovacuum subprocess." msgstr "Starta autovacuum-barnprocess." -#: utils/misc/guc_tables.c:1442 +#: utils/misc/guc_tables.c:1451 msgid "Generates debugging output for LISTEN and NOTIFY." msgstr "Skapar debug-output för LISTEN och NOTIFY." -#: utils/misc/guc_tables.c:1454 +#: utils/misc/guc_tables.c:1463 msgid "Emits information about lock usage." msgstr "Visar information om låsanvändning." -#: utils/misc/guc_tables.c:1464 +#: utils/misc/guc_tables.c:1473 msgid "Emits information about user lock usage." msgstr "Visar information om användares låsanvändning." -#: utils/misc/guc_tables.c:1474 +#: utils/misc/guc_tables.c:1483 msgid "Emits information about lightweight lock usage." msgstr "Visar information om lättviktig låsanvändning." -#: utils/misc/guc_tables.c:1484 +#: utils/misc/guc_tables.c:1493 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:1496 +#: utils/misc/guc_tables.c:1505 msgid "Logs long lock waits." msgstr "Loggar långa väntetider på lås." -#: utils/misc/guc_tables.c:1505 +#: utils/misc/guc_tables.c:1514 msgid "Logs standby recovery conflict waits." msgstr "Loggar väntande på återställningskonflikter i standby" -#: utils/misc/guc_tables.c:1514 +#: utils/misc/guc_tables.c:1523 msgid "Logs the host name in the connection logs." msgstr "Loggar hostnamnet i anslutningsloggen." -#: utils/misc/guc_tables.c:1515 +#: utils/misc/guc_tables.c:1524 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:1526 +#: utils/misc/guc_tables.c:1535 msgid "Treats \"expr=NULL\" as \"expr IS NULL\"." msgstr "Tolkar \"uttryck=NULL\" som \"uttryck IS NULL\"." -#: utils/misc/guc_tables.c:1527 +#: utils/misc/guc_tables.c:1536 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:1539 -msgid "Enables per-database user names." -msgstr "Aktiverar användarnamn per databas." - #: utils/misc/guc_tables.c:1548 msgid "Sets the default read-only status of new transactions." msgstr "Ställer in standard read-only-status för nya transaktioner." @@ -28217,1366 +29368,1440 @@ 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 +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 msgid "Allows connections and queries during recovery." msgstr "Tillåt anslutningar och frågor under återställning." -#: utils/misc/guc_tables.c:1788 +#: utils/misc/guc_tables.c:1798 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:1798 +#: utils/misc/guc_tables.c:1808 msgid "Shows whether hot standby is currently active." msgstr "Visar hurvida hot standby är aktiv för närvarande." -#: utils/misc/guc_tables.c:1809 +#: utils/misc/guc_tables.c:1819 msgid "Allows modifications of the structure of system tables." msgstr "Tillåter strukturförändringar av systemtabeller." -#: utils/misc/guc_tables.c:1820 +#: utils/misc/guc_tables.c:1830 msgid "Disables reading from system indexes." msgstr "Stänger av läsning från systemindex." -#: utils/misc/guc_tables.c:1821 +#: utils/misc/guc_tables.c:1831 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:1832 +#: utils/misc/guc_tables.c:1842 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:1843 +#: utils/misc/guc_tables.c:1853 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:1844 +#: utils/misc/guc_tables.c:1854 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:1854 +#: utils/misc/guc_tables.c:1864 msgid "When generating SQL fragments, quote all identifiers." msgstr "När SQL-fragment genereras så citera alla identifierare." -#: utils/misc/guc_tables.c:1864 +#: utils/misc/guc_tables.c:1874 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:1875 +#: utils/misc/guc_tables.c:1885 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:1885 +#: utils/misc/guc_tables.c:1895 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:1895 +#: utils/misc/guc_tables.c:1905 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:1896 +#: utils/misc/guc_tables.c:1906 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:1906 +#: utils/misc/guc_tables.c:1916 msgid "Allow JIT compilation." msgstr "Tillåt JIT-kompilering." -#: utils/misc/guc_tables.c:1917 +#: utils/misc/guc_tables.c:1927 msgid "Register JIT-compiled functions with debugger." msgstr "Registrera JIT-kompilerade funktioner hos debuggern." -#: utils/misc/guc_tables.c:1934 +#: utils/misc/guc_tables.c:1944 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:1945 +#: utils/misc/guc_tables.c:1955 msgid "Allow JIT compilation of expressions." msgstr "Tillåt JIT-kompilering av uttryck." -#: utils/misc/guc_tables.c:1956 +#: utils/misc/guc_tables.c:1966 msgid "Register JIT-compiled functions with perf profiler." msgstr "Registrera JIT-kompilerade funktioner med perf-profilerare." -#: utils/misc/guc_tables.c:1973 +#: utils/misc/guc_tables.c:1983 msgid "Allow JIT compilation of tuple deforming." msgstr "Tillåt JIT-kompilering av tupeluppdelning." -#: utils/misc/guc_tables.c:1984 +#: utils/misc/guc_tables.c:1994 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:1993 +#: utils/misc/guc_tables.c:2003 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:2011 +#: utils/misc/guc_tables.c:2012 +msgid "Enables event triggers." +msgstr "Aktiverar händelsetriggrar." + +#: utils/misc/guc_tables.c:2013 +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 +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 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:2022 +#: utils/misc/guc_tables.c:2051 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:2024 utils/misc/guc_tables.c:2658 +#: utils/misc/guc_tables.c:2053 utils/misc/guc_tables.c:2780 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:2033 +#: utils/misc/guc_tables.c:2062 msgid "Sets the default statistics target." msgstr "Sätter standardstatistikmålet." -#: utils/misc/guc_tables.c:2034 +#: utils/misc/guc_tables.c:2063 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:2043 +#: utils/misc/guc_tables.c:2072 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:2045 +#: utils/misc/guc_tables.c:2074 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:2056 +#: utils/misc/guc_tables.c:2085 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:2058 +#: utils/misc/guc_tables.c:2087 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:2069 +#: utils/misc/guc_tables.c:2098 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:2079 +#: utils/misc/guc_tables.c:2108 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:2089 +#: utils/misc/guc_tables.c:2118 msgid "GEQO: number of individuals in the population." msgstr "GEQO: antal individer i populationen." -#: utils/misc/guc_tables.c:2090 utils/misc/guc_tables.c:2100 +#: utils/misc/guc_tables.c:2119 utils/misc/guc_tables.c:2129 msgid "Zero selects a suitable default value." msgstr "Noll väljer ett lämpligt standardvärde." -#: utils/misc/guc_tables.c:2099 +#: utils/misc/guc_tables.c:2128 msgid "GEQO: number of iterations of the algorithm." msgstr "GEQO: antal iterationer för algoritmen." -#: utils/misc/guc_tables.c:2111 +#: utils/misc/guc_tables.c:2140 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:2122 +#: utils/misc/guc_tables.c:2151 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:2133 +#: utils/misc/guc_tables.c:2162 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:2144 +#: utils/misc/guc_tables.c:2173 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:2155 +#: utils/misc/guc_tables.c:2184 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:2166 +#: utils/misc/guc_tables.c:2195 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:2177 +#: utils/misc/guc_tables.c:2206 msgid "Sets the maximum number of concurrent connections." msgstr "Sätter maximalt antal samtidiga anslutningar." -#: utils/misc/guc_tables.c:2188 +#: utils/misc/guc_tables.c:2217 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:2198 +#: utils/misc/guc_tables.c:2227 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:2209 +#: utils/misc/guc_tables.c:2238 msgid "Amount of dynamic shared memory reserved at startup." msgstr "Mängd dynamiskt delat minne som reserveras vid uppstart" -#: utils/misc/guc_tables.c:2224 +#: utils/misc/guc_tables.c:2253 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:2235 +#: utils/misc/guc_tables.c:2264 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:2246 +#: utils/misc/guc_tables.c:2275 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:2257 +#: utils/misc/guc_tables.c:2286 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:2258 +#: utils/misc/guc_tables.c:2287 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:2268 +#: utils/misc/guc_tables.c:2297 +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 +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 +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 +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 +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 +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 +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 +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 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:2279 +#: utils/misc/guc_tables.c:2385 msgid "Sets the TCP port the server listens on." msgstr "Sätter TCP-porten som servern lyssnar på." -#: utils/misc/guc_tables.c:2289 +#: utils/misc/guc_tables.c:2395 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:2290 +#: utils/misc/guc_tables.c:2396 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:2304 +#: utils/misc/guc_tables.c:2410 msgid "Sets the file permissions for log files." msgstr "Sätter filrättigheter för loggfiler." -#: utils/misc/guc_tables.c:2305 +#: utils/misc/guc_tables.c:2411 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:2319 +#: utils/misc/guc_tables.c:2425 msgid "Shows the mode of the data directory." msgstr "Visar rättigheter för datakatalog" -#: utils/misc/guc_tables.c:2320 +#: utils/misc/guc_tables.c:2426 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:2333 +#: utils/misc/guc_tables.c:2439 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:2334 +#: utils/misc/guc_tables.c:2440 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:2346 +#: utils/misc/guc_tables.c:2457 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:2347 +#: utils/misc/guc_tables.c:2458 msgid "This includes operations such as VACUUM and CREATE INDEX." msgstr "Detta inkluderar operationer som VACUUM och CREATE INDEX." -#: utils/misc/guc_tables.c:2357 +#: utils/misc/guc_tables.c:2468 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:2358 +#: utils/misc/guc_tables.c:2469 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:2374 +#: utils/misc/guc_tables.c:2485 msgid "Sets the maximum stack depth, in kilobytes." msgstr "Sätter det maximala stackdjupet, i kilobyte." -#: utils/misc/guc_tables.c:2385 +#: utils/misc/guc_tables.c:2496 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:2386 +#: utils/misc/guc_tables.c:2497 msgid "-1 means no limit." msgstr "-1 betyder ingen gräns." -#: utils/misc/guc_tables.c:2396 +#: utils/misc/guc_tables.c:2507 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:2406 +#: utils/misc/guc_tables.c:2517 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:2416 +#: utils/misc/guc_tables.c:2527 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:2426 +#: utils/misc/guc_tables.c:2537 msgid "Vacuum cost amount available before napping." msgstr "Vacuum-kostnad kvar innan pausande." -#: utils/misc/guc_tables.c:2436 +#: utils/misc/guc_tables.c:2547 msgid "Vacuum cost amount available before napping, for autovacuum." msgstr "Vacuum-kostnad kvar innan pausande, för autovacuum." -#: utils/misc/guc_tables.c:2446 +#: utils/misc/guc_tables.c:2557 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:2459 +#: utils/misc/guc_tables.c:2570 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:2470 +#: utils/misc/guc_tables.c:2581 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:2471 +#: utils/misc/guc_tables.c:2582 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:2480 +#: utils/misc/guc_tables.c:2591 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:2492 +#: utils/misc/guc_tables.c:2603 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:2493 utils/misc/guc_tables.c:2504 -#: utils/misc/guc_tables.c:2515 utils/misc/guc_tables.c:2526 +#: 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 msgid "A value of 0 turns off the timeout." msgstr "Värdet 0 stänger av timeout:en." -#: utils/misc/guc_tables.c:2503 +#: utils/misc/guc_tables.c:2614 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:2514 +#: utils/misc/guc_tables.c:2625 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:2525 +#: utils/misc/guc_tables.c:2636 +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 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:2536 +#: utils/misc/guc_tables.c:2658 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:2546 +#: utils/misc/guc_tables.c:2668 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:2556 +#: utils/misc/guc_tables.c:2678 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:2566 +#: utils/misc/guc_tables.c:2688 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:2576 +#: utils/misc/guc_tables.c:2698 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:2585 +#: utils/misc/guc_tables.c:2707 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:2598 +#: utils/misc/guc_tables.c:2720 msgid "Sets the maximum number of locks per transaction." msgstr "Sätter det maximala antalet lås per transaktion." -#: utils/misc/guc_tables.c:2599 -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:2721 +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:2610 +#: utils/misc/guc_tables.c:2732 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:2611 -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:2733 +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:2622 +#: utils/misc/guc_tables.c:2744 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:2623 +#: utils/misc/guc_tables.c:2745 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:2633 +#: utils/misc/guc_tables.c:2755 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:2634 +#: utils/misc/guc_tables.c:2756 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:2644 +#: utils/misc/guc_tables.c:2766 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:2656 +#: utils/misc/guc_tables.c:2778 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:2668 +#: utils/misc/guc_tables.c:2790 +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 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:2669 +#: utils/misc/guc_tables.c:2801 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:2679 +#: utils/misc/guc_tables.c:2811 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:2690 +#: utils/misc/guc_tables.c:2822 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:2702 +#: utils/misc/guc_tables.c:2834 msgid "Sets the WAL size that triggers a checkpoint." msgstr "Sätter WAL-storlek som triggar en checkpoint." -#: utils/misc/guc_tables.c:2714 +#: utils/misc/guc_tables.c:2846 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:2725 +#: utils/misc/guc_tables.c:2857 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:2727 +#: utils/misc/guc_tables.c:2859 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:2740 utils/misc/guc_tables.c:2958 -#: utils/misc/guc_tables.c:2998 +#: utils/misc/guc_tables.c:2872 utils/misc/guc_tables.c:3090 +#: utils/misc/guc_tables.c:3144 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:2751 +#: utils/misc/guc_tables.c:2883 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:2762 +#: utils/misc/guc_tables.c:2884 +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 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:2773 +#: utils/misc/guc_tables.c:2905 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:2784 +#: utils/misc/guc_tables.c:2916 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:2795 +#: utils/misc/guc_tables.c:2927 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:2806 +#: utils/misc/guc_tables.c:2938 msgid "Sets the maximum number of simultaneously defined replication slots." msgstr "Sätter maximalt antal samtidigt definierade replikeringsslottar." -#: utils/misc/guc_tables.c:2816 +#: utils/misc/guc_tables.c:2948 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:2817 +#: utils/misc/guc_tables.c:2949 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:2829 +#: utils/misc/guc_tables.c:2961 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:2840 +#: utils/misc/guc_tables.c:2972 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:2852 -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:2984 +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:2863 +#: utils/misc/guc_tables.c:2995 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:2864 +#: utils/misc/guc_tables.c:2996 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:2876 +#: utils/misc/guc_tables.c:3008 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:2879 +#: utils/misc/guc_tables.c:3011 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:2889 +#: utils/misc/guc_tables.c:3021 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:2891 +#: utils/misc/guc_tables.c:3023 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:2901 +#: utils/misc/guc_tables.c:3033 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:2903 +#: utils/misc/guc_tables.c:3035 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:2913 +#: utils/misc/guc_tables.c:3045 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:2915 utils/misc/guc_tables.c:2927 +#: utils/misc/guc_tables.c:3047 utils/misc/guc_tables.c:3059 msgid "-1 to print values in full." msgstr "-1 för att skriva ut hela värden." -#: utils/misc/guc_tables.c:2925 +#: utils/misc/guc_tables.c:3057 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:2937 +#: utils/misc/guc_tables.c:3069 msgid "Background writer sleep time between rounds." msgstr "Bakgrundsskrivarens sleep-tid mellan körningar." -#: utils/misc/guc_tables.c:2948 +#: utils/misc/guc_tables.c:3080 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:2971 +#: utils/misc/guc_tables.c:3103 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:2985 -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:3117 +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:3011 +#: utils/misc/guc_tables.c:3132 +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 msgid "Maximum number of concurrent worker processes." msgstr "Maximalt antal samtidiga arbetsprocesser." -#: utils/misc/guc_tables.c:3023 +#: utils/misc/guc_tables.c:3169 msgid "Maximum number of logical replication worker processes." msgstr "Maximalt antal arbetsprocesser för logisk replikering." -#: utils/misc/guc_tables.c:3035 +#: utils/misc/guc_tables.c:3181 msgid "Maximum number of table synchronization workers per subscription." msgstr "Maximalt antal arbetare som synkroniserar tabeller per prenumeration." -#: utils/misc/guc_tables.c:3047 +#: utils/misc/guc_tables.c:3193 msgid "Maximum number of parallel apply workers per subscription." msgstr "Maximalt antal parallella arbetare som applicerar ändring per prenumeration." -#: utils/misc/guc_tables.c:3057 +#: utils/misc/guc_tables.c:3203 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:3069 +#: utils/misc/guc_tables.c:3215 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:3081 +#: utils/misc/guc_tables.c:3227 msgid "Shows the maximum number of function arguments." msgstr "Visar maximalt antal funktionsargument." -#: utils/misc/guc_tables.c:3092 +#: utils/misc/guc_tables.c:3238 msgid "Shows the maximum number of index keys." msgstr "Visar maximalt antal indexnycklar." -#: utils/misc/guc_tables.c:3103 +#: utils/misc/guc_tables.c:3249 msgid "Shows the maximum identifier length." msgstr "Visar den maximala identifierarlängden." -#: utils/misc/guc_tables.c:3114 +#: utils/misc/guc_tables.c:3260 msgid "Shows the size of a disk block." msgstr "Visar storleken på ett diskblock." -#: utils/misc/guc_tables.c:3125 +#: utils/misc/guc_tables.c:3271 msgid "Shows the number of pages per disk file." msgstr "Visar antal sidor per diskfil." -#: utils/misc/guc_tables.c:3136 +#: utils/misc/guc_tables.c:3282 msgid "Shows the block size in the write ahead log." msgstr "Visar blockstorleken i the write-ahead-loggen." -#: utils/misc/guc_tables.c:3147 +#: utils/misc/guc_tables.c:3293 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:3159 +#: utils/misc/guc_tables.c:3305 msgid "Shows the size of write ahead log segments." msgstr "Visar storleken på write-ahead-log-segment." -#: utils/misc/guc_tables.c:3172 +#: utils/misc/guc_tables.c:3318 +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 msgid "Time to sleep between autovacuum runs." msgstr "Tid att sova mellan körningar av autovacuum." -#: utils/misc/guc_tables.c:3182 +#: utils/misc/guc_tables.c:3341 msgid "Minimum number of tuple updates or deletes prior to vacuum." msgstr "Minst antal tupel-uppdateringar eller raderingar innan vacuum." -#: utils/misc/guc_tables.c:3191 +#: utils/misc/guc_tables.c:3350 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:3200 +#: utils/misc/guc_tables.c:3359 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:3210 +#: utils/misc/guc_tables.c:3369 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:3222 +#: utils/misc/guc_tables.c:3381 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:3232 +#: utils/misc/guc_tables.c:3391 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:3242 +#: utils/misc/guc_tables.c:3401 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:3252 +#: utils/misc/guc_tables.c:3411 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:3263 +#: utils/misc/guc_tables.c:3422 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:3274 +#: utils/misc/guc_tables.c:3433 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:3285 -msgid "Time before a snapshot is too old to read pages changed after the snapshot was taken." -msgstr "Tid innan ett snapshot är för gammalt för att läsa sidor som ändrats efter snapshot:en tagits." - -#: utils/misc/guc_tables.c:3286 -msgid "A value of -1 disables this feature." -msgstr "Värdet -1 stänger av denna funktion." - -#: utils/misc/guc_tables.c:3296 +#: utils/misc/guc_tables.c:3444 msgid "Time between issuing TCP keepalives." msgstr "Tid mellan skickande av TCP-keepalive." -#: utils/misc/guc_tables.c:3297 utils/misc/guc_tables.c:3308 -#: utils/misc/guc_tables.c:3432 +#: utils/misc/guc_tables.c:3445 utils/misc/guc_tables.c:3456 +#: utils/misc/guc_tables.c:3580 msgid "A value of 0 uses the system default." msgstr "Värdet 0 anger systemets standardvärde." -#: utils/misc/guc_tables.c:3307 +#: utils/misc/guc_tables.c:3455 msgid "Time between TCP keepalive retransmits." msgstr "Tid mellan omsändning av TCP-keepalive." -#: utils/misc/guc_tables.c:3318 +#: utils/misc/guc_tables.c:3466 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:3329 +#: utils/misc/guc_tables.c:3477 msgid "Maximum number of TCP keepalive retransmits." msgstr "Maximalt antal omsändningar av TCP-keepalive." -#: utils/misc/guc_tables.c:3330 +#: utils/misc/guc_tables.c:3478 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:3341 +#: utils/misc/guc_tables.c:3489 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:3352 +#: utils/misc/guc_tables.c:3500 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:3353 +#: utils/misc/guc_tables.c:3501 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:3364 +#: utils/misc/guc_tables.c:3512 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:3365 +#: utils/misc/guc_tables.c:3513 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:3375 +#: utils/misc/guc_tables.c:3523 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:3376 +#: utils/misc/guc_tables.c:3524 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:3387 +#: utils/misc/guc_tables.c:3535 msgid "Shows the server version as an integer." msgstr "Visar serverns version som ett heltal." -#: utils/misc/guc_tables.c:3398 +#: utils/misc/guc_tables.c:3546 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:3399 +#: utils/misc/guc_tables.c:3547 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:3409 +#: utils/misc/guc_tables.c:3557 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:3420 +#: utils/misc/guc_tables.c:3568 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:3431 +#: utils/misc/guc_tables.c:3579 msgid "TCP user timeout." msgstr "Användartimeout för TCP." -#: utils/misc/guc_tables.c:3442 +#: utils/misc/guc_tables.c:3590 msgid "The size of huge page that should be requested." msgstr "Storleken på stora sidor skall hämtas." -#: utils/misc/guc_tables.c:3453 +#: utils/misc/guc_tables.c:3601 msgid "Aggressively flush system caches for debugging purposes." msgstr "Flush:a systemcache aggressivt för att förenkla debugging." -#: utils/misc/guc_tables.c:3476 +#: utils/misc/guc_tables.c:3624 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:3487 +#: utils/misc/guc_tables.c:3635 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:3489 +#: utils/misc/guc_tables.c:3637 msgid "0 turns this feature off." msgstr "0 stänger av denna finess." -#: utils/misc/guc_tables.c:3499 +#: utils/misc/guc_tables.c:3647 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:3519 +#: utils/misc/guc_tables.c:3667 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:3530 +#: utils/misc/guc_tables.c:3678 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:3541 +#: utils/misc/guc_tables.c:3689 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:3552 +#: utils/misc/guc_tables.c:3700 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:3563 +#: utils/misc/guc_tables.c:3711 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:3574 +#: utils/misc/guc_tables.c:3722 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:3585 +#: utils/misc/guc_tables.c:3733 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:3597 +#: utils/misc/guc_tables.c:3745 msgid "Perform JIT compilation if query is more expensive." msgstr "Utför JIT-kompilering om frågan är dyrare." -#: utils/misc/guc_tables.c:3598 +#: utils/misc/guc_tables.c:3746 msgid "-1 disables JIT compilation." msgstr "-1 stänger av JIT-kompilering." -#: utils/misc/guc_tables.c:3608 +#: utils/misc/guc_tables.c:3756 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:3609 +#: utils/misc/guc_tables.c:3757 msgid "-1 disables optimization." msgstr "-1 stänger av optimering." -#: utils/misc/guc_tables.c:3619 +#: utils/misc/guc_tables.c:3767 msgid "Perform JIT inlining if query is more expensive." msgstr "Utför JIT-\"inlining\" om frågan är dyrare." -#: utils/misc/guc_tables.c:3620 +#: utils/misc/guc_tables.c:3768 msgid "-1 disables inlining." msgstr "-1 stänger av \"inlining\"" -#: utils/misc/guc_tables.c:3630 +#: utils/misc/guc_tables.c:3778 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:3642 +#: utils/misc/guc_tables.c:3790 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:3654 +#: utils/misc/guc_tables.c:3802 msgid "GEQO: selective pressure within the population." msgstr "GEQO: selektionstryck inom populationen." -#: utils/misc/guc_tables.c:3665 +#: utils/misc/guc_tables.c:3813 msgid "GEQO: seed for random path selection." msgstr "GEQO: slumptalsfrö för val av slumpad sökväg." -#: utils/misc/guc_tables.c:3676 -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:3824 +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:3687 +#: utils/misc/guc_tables.c:3835 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:3697 +#: utils/misc/guc_tables.c:3845 msgid "Sets the seed for random-number generation." msgstr "Sätter fröet för slumptalsgeneratorn." -#: utils/misc/guc_tables.c:3708 +#: utils/misc/guc_tables.c:3856 msgid "Vacuum cost delay in milliseconds." msgstr "Städkostfördröjning i millisekunder." -#: utils/misc/guc_tables.c:3719 +#: utils/misc/guc_tables.c:3867 msgid "Vacuum cost delay in milliseconds, for autovacuum." msgstr "Städkostfördröjning i millisekunder, för autovacuum." -#: utils/misc/guc_tables.c:3730 +#: utils/misc/guc_tables.c:3878 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:3740 +#: utils/misc/guc_tables.c:3888 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:3750 +#: utils/misc/guc_tables.c:3898 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:3760 +#: utils/misc/guc_tables.c:3908 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:3770 -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:3918 +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:3771 +#: utils/misc/guc_tables.c:3919 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:3780 +#: utils/misc/guc_tables.c:3928 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:3781 +#: utils/misc/guc_tables.c:3929 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:3800 +#: utils/misc/guc_tables.c:3948 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:3801 +#: utils/misc/guc_tables.c:3949 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:3810 +#: utils/misc/guc_tables.c:3958 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:3811 +#: utils/misc/guc_tables.c:3959 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:3820 +#: utils/misc/guc_tables.c:3968 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:3830 +#: utils/misc/guc_tables.c:3978 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:3840 +#: utils/misc/guc_tables.c:3988 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:3850 +#: utils/misc/guc_tables.c:3998 msgid "Specifies the timeline to recover into." msgstr "Anger tidslinjen att återställa till." -#: utils/misc/guc_tables.c:3860 +#: utils/misc/guc_tables.c:4008 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:3869 +#: utils/misc/guc_tables.c:4017 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:3878 +#: utils/misc/guc_tables.c:4026 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:3887 +#: utils/misc/guc_tables.c:4035 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:3896 +#: utils/misc/guc_tables.c:4044 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:3906 +#: utils/misc/guc_tables.c:4054 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:3917 +#: utils/misc/guc_tables.c:4065 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:3927 +#: utils/misc/guc_tables.c:4075 msgid "Sets the client's character set encoding." msgstr "Ställer in klientens teckenkodning." -#: utils/misc/guc_tables.c:3938 +#: utils/misc/guc_tables.c:4086 msgid "Controls information prefixed to each log line." msgstr "Styr information prefixat till varje loggrad." -#: utils/misc/guc_tables.c:3939 +#: utils/misc/guc_tables.c:4087 msgid "If blank, no prefix is used." msgstr "Om tom så används inget prefix." -#: utils/misc/guc_tables.c:3948 +#: utils/misc/guc_tables.c:4096 msgid "Sets the time zone to use in log messages." msgstr "Sätter tidszonen som används i loggmeddelanden." -#: utils/misc/guc_tables.c:3958 +#: utils/misc/guc_tables.c:4106 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:3959 +#: utils/misc/guc_tables.c:4107 msgid "Also controls interpretation of ambiguous date inputs." msgstr "Styr också tolkning av tvetydig datumindata." -#: utils/misc/guc_tables.c:3970 +#: utils/misc/guc_tables.c:4118 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:3981 +#: utils/misc/guc_tables.c:4129 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:3982 +#: utils/misc/guc_tables.c:4130 msgid "An empty string selects the database's default tablespace." msgstr "En tom sträng väljer databasens standardtabellutrymme." -#: utils/misc/guc_tables.c:3992 +#: utils/misc/guc_tables.c:4140 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:4003 +#: utils/misc/guc_tables.c:4151 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:4015 +#: utils/misc/guc_tables.c:4163 msgid "Sets the path for dynamically loadable modules." msgstr "Sätter sökvägen till dynamiskt laddade moduler." -#: utils/misc/guc_tables.c:4016 +#: utils/misc/guc_tables.c:4164 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:4029 +#: utils/misc/guc_tables.c:4177 msgid "Sets the location of the Kerberos server key file." msgstr "Ställer in platsen för Kerberos servernyckelfil." -#: utils/misc/guc_tables.c:4040 +#: utils/misc/guc_tables.c:4188 msgid "Sets the Bonjour service name." msgstr "Sätter Bonjour-tjänstens namn." -#: utils/misc/guc_tables.c:4050 +#: utils/misc/guc_tables.c:4198 msgid "Sets the language in which messages are displayed." msgstr "Sätter språket som meddelanden visas i." -#: utils/misc/guc_tables.c:4060 +#: utils/misc/guc_tables.c:4208 msgid "Sets the locale for formatting monetary amounts." msgstr "Sätter lokalen för att formattera monetära belopp." -#: utils/misc/guc_tables.c:4070 +#: utils/misc/guc_tables.c:4218 msgid "Sets the locale for formatting numbers." msgstr "Ställer in lokalen för att formattera nummer." -#: utils/misc/guc_tables.c:4080 +#: utils/misc/guc_tables.c:4228 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:4090 +#: utils/misc/guc_tables.c:4238 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:4101 +#: utils/misc/guc_tables.c:4249 msgid "Lists shared libraries to preload into server." msgstr "Listar delade bibliotek som skall förladdas i servern." -#: utils/misc/guc_tables.c:4112 +#: utils/misc/guc_tables.c:4260 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:4123 +#: utils/misc/guc_tables.c:4271 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:4135 +#: utils/misc/guc_tables.c:4283 msgid "Shows the server (database) character set encoding." msgstr "Visar serverns (databasens) teckenkodning." -#: utils/misc/guc_tables.c:4147 +#: utils/misc/guc_tables.c:4295 msgid "Shows the server version." msgstr "Visar serverversionen" -#: utils/misc/guc_tables.c:4159 +#: utils/misc/guc_tables.c:4307 msgid "Sets the current role." msgstr "Ställer in den aktiva rollen." -#: utils/misc/guc_tables.c:4171 +#: utils/misc/guc_tables.c:4319 msgid "Sets the session user name." msgstr "Sätter sessionens användarnamn." -#: utils/misc/guc_tables.c:4182 +#: utils/misc/guc_tables.c:4330 msgid "Sets the destination for server log output." msgstr "Sätter serverloggens destination." -#: utils/misc/guc_tables.c:4183 +#: utils/misc/guc_tables.c:4331 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:4194 +#: utils/misc/guc_tables.c:4342 msgid "Sets the destination directory for log files." msgstr "Sätter destinationskatalogen för loggfiler." -#: utils/misc/guc_tables.c:4195 +#: utils/misc/guc_tables.c:4343 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:4205 +#: utils/misc/guc_tables.c:4353 msgid "Sets the file name pattern for log files." msgstr "Sätter filnamnsmallen för loggfiler." -#: utils/misc/guc_tables.c:4216 +#: utils/misc/guc_tables.c:4364 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:4227 +#: utils/misc/guc_tables.c:4375 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:4238 +#: utils/misc/guc_tables.c:4386 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:4248 +#: utils/misc/guc_tables.c:4396 msgid "Selects a file of time zone abbreviations." msgstr "Väljer en fil för tidszonsförkortningar." -#: utils/misc/guc_tables.c:4258 +#: utils/misc/guc_tables.c:4406 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:4259 +#: utils/misc/guc_tables.c:4407 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:4269 +#: utils/misc/guc_tables.c:4417 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:4280 +#: utils/misc/guc_tables.c:4428 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:4295 +#: utils/misc/guc_tables.c:4443 msgid "Sets the server's data directory." msgstr "Ställer in serverns datakatalog." -#: utils/misc/guc_tables.c:4306 +#: utils/misc/guc_tables.c:4454 msgid "Sets the server's main configuration file." msgstr "Sätter serverns huvudkonfigurationsfil." -#: utils/misc/guc_tables.c:4317 +#: utils/misc/guc_tables.c:4465 msgid "Sets the server's \"hba\" configuration file." msgstr "Sätter serverns \"hba\"-konfigurationsfil." -#: utils/misc/guc_tables.c:4328 +#: utils/misc/guc_tables.c:4476 msgid "Sets the server's \"ident\" configuration file." msgstr "Sätter serverns \"ident\"-konfigurationsfil." -#: utils/misc/guc_tables.c:4339 +#: utils/misc/guc_tables.c:4487 msgid "Writes the postmaster PID to the specified file." msgstr "Skriver postmaster-PID till angiven fil." -#: utils/misc/guc_tables.c:4350 +#: utils/misc/guc_tables.c:4498 msgid "Shows the name of the SSL library." msgstr "Visar namnet på SSL-biblioteket." -#: utils/misc/guc_tables.c:4365 +#: utils/misc/guc_tables.c:4513 msgid "Location of the SSL server certificate file." msgstr "Plats för serverns SSL-certifikatfil." -#: utils/misc/guc_tables.c:4375 +#: utils/misc/guc_tables.c:4523 msgid "Location of the SSL server private key file." msgstr "Plats för serverns privata SSL-nyckelfil." -#: utils/misc/guc_tables.c:4385 +#: utils/misc/guc_tables.c:4533 msgid "Location of the SSL certificate authority file." msgstr "Plats för SSL-certifikats auktoritetsfil." -#: utils/misc/guc_tables.c:4395 +#: utils/misc/guc_tables.c:4543 msgid "Location of the SSL certificate revocation list file." msgstr "Plats för SSL-certifikats återkallningsfil." -#: utils/misc/guc_tables.c:4405 +#: utils/misc/guc_tables.c:4553 msgid "Location of the SSL certificate revocation list directory." msgstr "Plats av katalog för SSL-certifikats återkallningslistor." -#: utils/misc/guc_tables.c:4415 +#: utils/misc/guc_tables.c:4563 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:4426 +#: utils/misc/guc_tables.c:4574 msgid "Sets default text search configuration." msgstr "Ställer in standard textsökkonfiguration." -#: utils/misc/guc_tables.c:4436 +#: utils/misc/guc_tables.c:4584 msgid "Sets the list of allowed SSL ciphers." msgstr "Ställer in listan med tillåtna SSL-krypton." -#: utils/misc/guc_tables.c:4451 +#: utils/misc/guc_tables.c:4599 msgid "Sets the curve to use for ECDH." msgstr "Ställer in kurvan att använda för ECDH." -#: utils/misc/guc_tables.c:4466 +#: utils/misc/guc_tables.c:4614 msgid "Location of the SSL DH parameters file." msgstr "Plats för SSL DH-parameterfil." -#: utils/misc/guc_tables.c:4477 +#: utils/misc/guc_tables.c:4625 msgid "Command to obtain passphrases for SSL." msgstr "Kommando för att hämta lösenfraser för SSL." -#: utils/misc/guc_tables.c:4488 +#: utils/misc/guc_tables.c:4636 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:4499 +#: utils/misc/guc_tables.c:4647 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:4510 +#: utils/misc/guc_tables.c:4658 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:4511 +#: utils/misc/guc_tables.c:4659 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:4521 +#: utils/misc/guc_tables.c:4669 msgid "JIT provider to use." msgstr "JIT-leverantör som används." -#: utils/misc/guc_tables.c:4532 +#: utils/misc/guc_tables.c:4680 msgid "Log backtrace for errors in these functions." msgstr "Loggar backtrace vid fel i dessa funktioner." -#: utils/misc/guc_tables.c:4543 +#: utils/misc/guc_tables.c:4691 msgid "Use direct I/O for file access." msgstr "Använd direct-I/O för filaccess." -#: utils/misc/guc_tables.c:4563 +#: utils/misc/guc_tables.c:4702 +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 +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 +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 msgid "Sets whether \"\\'\" is allowed in string literals." msgstr "Anger hurvida \"\\'\" tillåts i sträng-literaler." -#: utils/misc/guc_tables.c:4573 +#: utils/misc/guc_tables.c:4746 msgid "Sets the output format for bytea." msgstr "Ställer in output-format för bytea." -#: utils/misc/guc_tables.c:4583 +#: utils/misc/guc_tables.c:4756 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:4584 utils/misc/guc_tables.c:4680 -#: utils/misc/guc_tables.c:4691 utils/misc/guc_tables.c:4763 +#: utils/misc/guc_tables.c:4757 utils/misc/guc_tables.c:4853 +#: utils/misc/guc_tables.c:4864 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:4594 +#: utils/misc/guc_tables.c:4767 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:4604 +#: utils/misc/guc_tables.c:4777 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:4605 +#: utils/misc/guc_tables.c:4778 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:4616 +#: utils/misc/guc_tables.c:4789 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:4627 +#: utils/misc/guc_tables.c:4800 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:4637 +#: utils/misc/guc_tables.c:4810 msgid "Sets the current transaction's isolation level." msgstr "Sätter den aktuella transaktionsisolationsnivån." -#: utils/misc/guc_tables.c:4648 +#: utils/misc/guc_tables.c:4821 msgid "Sets the display format for interval values." msgstr "Ställer in visningsformat för intervallvärden." -#: utils/misc/guc_tables.c:4659 +#: utils/misc/guc_tables.c:4832 msgid "Log level for reporting invalid ICU locale strings." msgstr "Loggnivå för rapportering av ogiltiga ICU-lokalsträngar." -#: utils/misc/guc_tables.c:4669 +#: utils/misc/guc_tables.c:4842 msgid "Sets the verbosity of logged messages." msgstr "Ställer in pratighet för loggade meddelanden." -#: utils/misc/guc_tables.c:4679 +#: utils/misc/guc_tables.c:4852 msgid "Sets the message levels that are logged." msgstr "Ställer in meddelandenivåer som loggas." -#: utils/misc/guc_tables.c:4690 +#: utils/misc/guc_tables.c:4863 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:4701 +#: utils/misc/guc_tables.c:4874 msgid "Sets the type of statements logged." msgstr "Ställer in vilken sorts satser som loggas." -#: utils/misc/guc_tables.c:4711 +#: utils/misc/guc_tables.c:4884 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:4722 +#: utils/misc/guc_tables.c:4895 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:4732 +#: utils/misc/guc_tables.c:4905 msgid "Sets the current transaction's synchronization level." msgstr "Ställer in den nuvarande transaktionens synkroniseringsnivå." -#: utils/misc/guc_tables.c:4742 -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:4915 +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:4752 +#: utils/misc/guc_tables.c:4925 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:4762 -msgid "Enables logging of recovery-related debugging information." -msgstr "Slår på loggning av återställningsrelaterad debug-information." - -#: utils/misc/guc_tables.c:4779 +#: utils/misc/guc_tables.c:4935 msgid "Collects function-level statistics on database activity." msgstr "Samlar in statistik på funktionsnivå över databasaktivitet." -#: utils/misc/guc_tables.c:4790 +#: utils/misc/guc_tables.c:4946 msgid "Sets the consistency of accesses to statistics data." msgstr "Sätter konsistensinställning för accesser av statistikdata." -#: utils/misc/guc_tables.c:4800 +#: utils/misc/guc_tables.c:4956 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:4810 +#: utils/misc/guc_tables.c:4966 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:4820 +#: utils/misc/guc_tables.c:4976 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:4830 +#: utils/misc/guc_tables.c:4986 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:4840 +#: utils/misc/guc_tables.c:4996 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:4850 +#: utils/misc/guc_tables.c:5006 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:4860 +#: utils/misc/guc_tables.c:5016 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:4871 +#: utils/misc/guc_tables.c:5027 msgid "Use of huge pages on Linux or Windows." msgstr "Använd stora sidor på Linux resp. Windows." -#: utils/misc/guc_tables.c:4881 +#: utils/misc/guc_tables.c:5037 +msgid "Indicates the status of huge pages." +msgstr "Visas status för stora sidor." + +#: utils/misc/guc_tables.c:5048 msgid "Prefetch referenced blocks during recovery." msgstr "Prefetch:a refererade block vid återställning." -#: utils/misc/guc_tables.c:4882 +#: utils/misc/guc_tables.c:5049 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:4891 +#: utils/misc/guc_tables.c:5058 msgid "Forces the planner's use parallel query nodes." msgstr "Tvingar planeraren att använda parallella frågenoder." -#: utils/misc/guc_tables.c:4892 +#: utils/misc/guc_tables.c:5059 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:4904 +#: utils/misc/guc_tables.c:5071 msgid "Chooses the algorithm for encrypting passwords." msgstr "Väljer algoritm för att kryptera lösenord." -#: utils/misc/guc_tables.c:4914 +#: utils/misc/guc_tables.c:5081 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:4915 +#: utils/misc/guc_tables.c:5082 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:4927 +#: utils/misc/guc_tables.c:5094 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:4939 +#: utils/misc/guc_tables.c:5106 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:4951 +#: utils/misc/guc_tables.c:5118 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:4960 +#: utils/misc/guc_tables.c:5127 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:4961 +#: utils/misc/guc_tables.c:5128 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." @@ -29585,8 +30810,8 @@ msgstr "På publiceringssidan så tillåter detta strömning eller serialisering msgid "internal error: unrecognized run-time parameter type\n" msgstr "internt fel: okänd parametertyp\n" -#: utils/misc/pg_controldata.c:48 utils/misc/pg_controldata.c:86 -#: utils/misc/pg_controldata.c:175 utils/misc/pg_controldata.c:214 +#: utils/misc/pg_controldata.c:50 utils/misc/pg_controldata.c:90 +#: utils/misc/pg_controldata.c:181 utils/misc/pg_controldata.c:222 #, c-format msgid "calculated CRC checksum does not match value stored in file" msgstr "uträknad CRC-checksumma matchar inte värdet som är lagrat i fil" @@ -29606,145 +30831,143 @@ msgstr "frågan påverkas av radsäkerhetspolicyn för tabell \"%s\"" msgid "To disable the policy for the table's owner, use ALTER TABLE NO FORCE ROW LEVEL SECURITY." msgstr "För att slå av policyn för tabellens ägare, använd ALTER TABLE NO FORCE ROW LEVEL SECURITY." -#: utils/misc/timeout.c:524 +#: utils/misc/timeout.c:520 #, c-format msgid "cannot add more timeout reasons" msgstr "kan inte lägga till fler timeoutskäl" -#: utils/misc/tzparser.c:60 +#: utils/misc/tzparser.c:61 #, c-format msgid "time zone abbreviation \"%s\" is too long (maximum %d characters) in time zone file \"%s\", line %d" msgstr "tidszonförkortningen \"%s\" är för lång (max %d tecken) i tidszonfilen \"%s\", rad %d" -#: utils/misc/tzparser.c:72 +#: utils/misc/tzparser.c:73 #, c-format msgid "time zone offset %d is out of range in time zone file \"%s\", line %d" msgstr "tidszonoffset %d är otanför giltigt intervall i tidszonfilen \"%s\", rad %d" -#: utils/misc/tzparser.c:111 +#: utils/misc/tzparser.c:112 #, c-format msgid "missing time zone abbreviation in time zone file \"%s\", line %d" msgstr "tidszonförkortning saknas i tidszonfilen \"%s\", rad %d" -#: utils/misc/tzparser.c:120 +#: utils/misc/tzparser.c:121 #, c-format msgid "missing time zone offset in time zone file \"%s\", line %d" msgstr "tidszonoffset saknas i tidszonfilen \"%s\", rad %d" -#: utils/misc/tzparser.c:132 +#: utils/misc/tzparser.c:133 #, c-format msgid "invalid number for time zone offset in time zone file \"%s\", line %d" msgstr "felaktigt nummer för tidszonsoffset i tidszonfilen \"%s\", rad %d" -#: utils/misc/tzparser.c:168 +#: utils/misc/tzparser.c:169 #, c-format msgid "invalid syntax in time zone file \"%s\", line %d" msgstr "felaktig syntax i tidszonfilen \"%s\", rad %d" -#: utils/misc/tzparser.c:236 +#: utils/misc/tzparser.c:237 #, c-format msgid "time zone abbreviation \"%s\" is multiply defined" msgstr "tidszonförkortningen \"%s\" är definierad flera gånger" -#: utils/misc/tzparser.c:238 +#: utils/misc/tzparser.c:239 #, c-format msgid "Entry in time zone file \"%s\", line %d, conflicts with entry in file \"%s\", line %d." msgstr "Post i tidszonfilen \"%s\", rad %d, står i konflikt med post i filen \"%s\", rad %d." -#: utils/misc/tzparser.c:300 +#: utils/misc/tzparser.c:301 #, c-format msgid "invalid time zone file name \"%s\"" msgstr "ogiltigt tidszonfilnamn: \"%s\"" -#: utils/misc/tzparser.c:313 +#: utils/misc/tzparser.c:314 #, c-format msgid "time zone file recursion limit exceeded in file \"%s\"" msgstr "tidszonfilens rekursiva maxtak överskridet i filen \"%s\"" -#: utils/misc/tzparser.c:352 utils/misc/tzparser.c:365 +#: utils/misc/tzparser.c:353 utils/misc/tzparser.c:366 #, c-format msgid "could not read time zone file \"%s\": %m" msgstr "kunde inte läsa tidszonfil \"%s\": %m" -#: utils/misc/tzparser.c:376 +#: utils/misc/tzparser.c:377 #, c-format msgid "line is too long in time zone file \"%s\", line %d" msgstr "raden är för lång i tidszonfil \"%s\", rad %d" -#: utils/misc/tzparser.c:400 +#: utils/misc/tzparser.c:401 #, c-format msgid "@INCLUDE without file name in time zone file \"%s\", line %d" msgstr "@INCLUDE utan filnamn i tidszonfil \"%s\", rad %d" -#: utils/mmgr/aset.c:446 utils/mmgr/generation.c:206 utils/mmgr/slab.c:367 +#: utils/mmgr/aset.c:452 utils/mmgr/bump.c:184 utils/mmgr/generation.c:216 +#: utils/mmgr/slab.c:371 #, c-format msgid "Failed while creating memory context \"%s\"." msgstr "Misslyckades vid skapande av minneskontext \"%s\"." -#: utils/mmgr/dsa.c:532 utils/mmgr/dsa.c:1346 +#: utils/mmgr/dsa.c:523 utils/mmgr/dsa.c:1364 #, c-format msgid "could not attach to dynamic shared area" msgstr "kunde inte ansluta till dynamisk delad area" -#: utils/mmgr/mcxt.c:1047 utils/mmgr/mcxt.c:1083 utils/mmgr/mcxt.c:1121 -#: utils/mmgr/mcxt.c:1159 utils/mmgr/mcxt.c:1247 utils/mmgr/mcxt.c:1278 -#: utils/mmgr/mcxt.c:1314 utils/mmgr/mcxt.c:1503 utils/mmgr/mcxt.c:1548 -#: utils/mmgr/mcxt.c:1605 +#: utils/mmgr/mcxt.c:1155 #, 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:1210 +#: utils/mmgr/mcxt.c:1299 #, c-format msgid "logging memory contexts of PID %d" msgstr "loggar minneskontext för PID %d" -#: utils/mmgr/portalmem.c:188 +#: utils/mmgr/portalmem.c:187 #, c-format msgid "cursor \"%s\" already exists" msgstr "markör \"%s\" finns redan" -#: utils/mmgr/portalmem.c:192 +#: utils/mmgr/portalmem.c:191 #, c-format msgid "closing existing cursor \"%s\"" msgstr "stänger existerande markör \"%s\"" -#: utils/mmgr/portalmem.c:402 +#: utils/mmgr/portalmem.c:401 #, c-format msgid "portal \"%s\" cannot be run" msgstr "portal \"%s\" kan inte köras" -#: utils/mmgr/portalmem.c:480 +#: utils/mmgr/portalmem.c:479 #, c-format msgid "cannot drop pinned portal \"%s\"" msgstr "kan inte ta bort fastsatt portal \"%s\"" -#: utils/mmgr/portalmem.c:488 +#: utils/mmgr/portalmem.c:487 #, c-format msgid "cannot drop active portal \"%s\"" msgstr "kan inte ta bort aktiv portal \"%s\"" -#: utils/mmgr/portalmem.c:739 +#: utils/mmgr/portalmem.c:738 #, c-format msgid "cannot PREPARE a transaction that has created a cursor WITH HOLD" msgstr "kan inte göra PREPARE på en transaktion som skapat en markör med WITH HOLD" -#: utils/mmgr/portalmem.c:1230 +#: utils/mmgr/portalmem.c:1229 #, c-format msgid "cannot perform transaction commands inside a cursor loop that is not read-only" msgstr "kan inte utföra transaktionskommandon i en markörloop som inte är read-only" #: utils/sort/logtape.c:266 utils/sort/logtape.c:287 #, c-format -msgid "could not seek to block %ld of temporary file" -msgstr "kunde inte söka (seek) till block %ld i temporärfil" +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:467 +#: utils/sort/sharedtuplestore.c:466 #, 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:549 +#: utils/sort/sharedtuplestore.c:548 #, 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" @@ -29754,17 +30977,17 @@ msgstr "kunde inte söka (seek) till block %u i delad temporär lagringsfil för msgid "cannot have more than %d runs for an external sort" msgstr "kan inte ha mer än %d körningar för en extern sortering" -#: utils/sort/tuplesortvariants.c:1363 +#: utils/sort/tuplesortvariants.c:1552 #, c-format msgid "could not create unique index \"%s\"" msgstr "kunde inte skapa unikt index \"%s\"" -#: utils/sort/tuplesortvariants.c:1365 +#: utils/sort/tuplesortvariants.c:1554 #, c-format msgid "Key %s is duplicated." msgstr "Nyckeln %s är duplicerad." -#: utils/sort/tuplesortvariants.c:1366 +#: utils/sort/tuplesortvariants.c:1555 #, c-format msgid "Duplicate keys exist." msgstr "Duplicerade nycklar existerar." @@ -29778,540 +31001,57 @@ msgstr "Duplicerade nycklar existerar." msgid "could not seek in tuplestore temporary file" msgstr "kunde inte söka i temporär lagringsfil för tupler" -#: utils/time/snapmgr.c:571 +#: utils/time/snapmgr.c:536 #, c-format msgid "The source transaction is not running anymore." msgstr "Källtransaktionen kör inte längre." -#: utils/time/snapmgr.c:1166 +#: utils/time/snapmgr.c:1136 #, c-format msgid "cannot export a snapshot from a subtransaction" -msgstr "kan inte exportera ett snapshot från en subtransaktion" +msgstr "kan inte exportera ett snapshot från en undertransaktion" -#: utils/time/snapmgr.c:1325 utils/time/snapmgr.c:1330 -#: utils/time/snapmgr.c:1335 utils/time/snapmgr.c:1350 -#: utils/time/snapmgr.c:1355 utils/time/snapmgr.c:1360 -#: utils/time/snapmgr.c:1375 utils/time/snapmgr.c:1380 -#: utils/time/snapmgr.c:1385 utils/time/snapmgr.c:1487 -#: utils/time/snapmgr.c:1503 utils/time/snapmgr.c:1528 +#: utils/time/snapmgr.c:1296 utils/time/snapmgr.c:1301 +#: utils/time/snapmgr.c:1306 utils/time/snapmgr.c:1321 +#: utils/time/snapmgr.c:1326 utils/time/snapmgr.c:1331 +#: utils/time/snapmgr.c:1346 utils/time/snapmgr.c:1351 +#: utils/time/snapmgr.c:1356 utils/time/snapmgr.c:1470 +#: utils/time/snapmgr.c:1486 utils/time/snapmgr.c:1511 #, c-format msgid "invalid snapshot data in file \"%s\"" msgstr "ogiltig snapshot-data i fil \"%s\"" -#: utils/time/snapmgr.c:1422 +#: utils/time/snapmgr.c:1393 #, c-format msgid "SET TRANSACTION SNAPSHOT must be called before any query" msgstr "SET TRANSACTION SNAPSHOT måste anropas innan någon fråga" -#: utils/time/snapmgr.c:1431 +#: utils/time/snapmgr.c:1402 #, c-format msgid "a snapshot-importing transaction must have isolation level SERIALIZABLE or REPEATABLE READ" msgstr "en snapshot-importerande transaktion måste ha isoleringsnivå SERIALIZABLE eller REPEATABLE READ" -#: utils/time/snapmgr.c:1440 utils/time/snapmgr.c:1449 +#: utils/time/snapmgr.c:1411 #, c-format msgid "invalid snapshot identifier: \"%s\"" msgstr "ogiltig snapshot-identifierare: \"%s\"" -#: utils/time/snapmgr.c:1541 +#: utils/time/snapmgr.c:1426 +#, c-format +msgid "snapshot \"%s\" does not exist" +msgstr "snapshot \"%s\" existerar inte" + +#: utils/time/snapmgr.c:1524 #, c-format msgid "a serializable transaction cannot import a snapshot from a non-serializable transaction" msgstr "en serialiserbar transaktion kan inte importera ett snapshot från en icke-serialiserbar transaktion" -#: utils/time/snapmgr.c:1545 +#: utils/time/snapmgr.c:1528 #, c-format msgid "a non-read-only serializable transaction cannot import a snapshot from a read-only transaction" msgstr "en serialiserbar transaktion som inte är read-only kan inte importera en snapshot från en read-only-transaktion." -#: utils/time/snapmgr.c:1560 +#: utils/time/snapmgr.c:1543 #, c-format msgid "cannot import a snapshot from a different database" msgstr "kan inte importera en snapshot från en annan databas" - -#, c-format -#~ msgid " -n do not reinitialize shared memory after abnormal exit\n" -#~ msgstr " -n initiera inte delat minne på nytt efter onormal avstängning\n" - -#, c-format -#~ msgid " GSS (authenticated=%s, encrypted=%s)" -#~ msgstr "GSS (autentiserad=%s, krypterad=%s)" - -#, c-format -#~ msgid "Apply system library package updates." -#~ msgstr "Applicera paketuppdateringar för systembibliotek." - -#, c-format -#~ msgid "Close open transactions with multixacts soon to avoid wraparound problems." -#~ msgstr "Stäng öppna transaktioner med multixacts snart för att undvika \"wraparound\"." - -#~ msgid "Controls when to replicate or apply each change." -#~ msgstr "Styr när man skall replikera eller applicera en ändring." - -#, c-format -#~ msgid "FORMAT JSON has no effect for json and jsonb types" -#~ msgstr "FORMAT JSON har ingen effekt på typerna json och jsonb" - -#, c-format -#~ msgid "For example, FROM (SELECT ...) [AS] foo." -#~ msgstr "Till exempel, FROM (SELECT ...) [AS] foo" - -#, c-format -#~ msgid "For example, FROM (VALUES ...) [AS] foo." -#~ msgstr "Till exempel, FROM (VALUES ...) [AS] foo" - -#~ msgid "Forces use of parallel query facilities." -#~ msgstr "Tvingar användning av parallella frågefinesser." - -#, c-format -#~ msgid "Foreign tables cannot have TRUNCATE triggers." -#~ msgstr "Främmande tabeller kan inte ha TRUNCATE-triggrar." - -#~ msgid "If possible, run query using a parallel worker and with parallel restrictions." -#~ msgstr "Om det är möjligt så kör fråga med en parallell arbetare och med parallella begränsningar." - -#, c-format -#~ msgid "In particular, the table cannot be involved in any foreign key relationships." -#~ msgstr "Mer specifikt, tabellen kan inte vare inblandad i främmande-nyckelberoenden." - -#, c-format -#~ msgid "LDAP over SSL is not supported on this platform." -#~ msgstr "LDAP över SSL stöds inte på denna plattform" - -#~ msgid "Number of transactions by which VACUUM and HOT cleanup should be deferred, if any." -#~ msgstr "Antalet transaktioner som VACUUM och HOT-städning skall fördröjas (om någon)." - -#, c-format -#~ msgid "Object keys should be text." -#~ msgstr "Objektnycklar skall vara text." - -#, c-format -#~ msgid "Omit the generation expression in the definition of the child table column to inherit the generation expression from the parent table." -#~ msgstr "Utelämna genereringsuttrycket i definitionen av barntabellkolumnen för att ärva genereringsuttrycket från föräldratabellen." - -#~ msgid "Shows the character classification and case conversion locale." -#~ msgstr "Visar lokal för teckenklassificering samt skiftlägeskonvertering." - -#~ msgid "Shows the collation order locale." -#~ msgstr "Visar lokal för jämförelseordning." - -#~ msgid "Specifies a file name whose presence ends recovery in the standby." -#~ msgstr "Anger ett filnamn vars närvaro gör att återställning avslutas i en standby." - -#, c-format -#~ msgid "Subscribed publication %s is subscribing to other publications." -#~ msgid_plural "Subscribed publications %s are subscribing to other publications." -#~ msgstr[0] "Prenumererad publicering %s prenumererar på andra publiceringar." -#~ msgstr[1] "Prenumererade publiceringar %s prenumererar på andra publiceringar." - -#, c-format -#~ msgid "The owner of a subscription must be a superuser." -#~ msgstr "Ägaren av en prenumeration måste vara en superuser." - -#, c-format -#~ msgid "VALUES in FROM must have an alias" -#~ msgstr "VALUES i FROM måste ha ett alias" - -#, c-format -#~ msgid "Valid options in this context are: %s" -#~ msgstr "Giltiga flaggor i detta kontext är: %s" - -#, c-format -#~ msgid "You might need to increase max_locks_per_transaction." -#~ msgstr "Du kan behöva öka parametern max_locks_per_transaction." - -#, c-format -#~ msgid "You might need to increase max_logical_replication_workers." -#~ msgstr "Du kan behöva öka max_logical_replication_workers." - -#, c-format -#~ msgid "You might need to increase max_pred_locks_per_transaction." -#~ msgstr "Du kan behöva öka parametern max_pred_locks_per_transaction." - -#, c-format -#~ msgid "You might need to increase max_worker_processes." -#~ msgstr "Du kan behöva öka max_worker_processes." - -#, c-format -#~ msgid "argument %d cannot be null" -#~ msgstr "argument %d kan inte vara null" - -#, c-format -#~ msgid "authentication file token too long, skipping: \"%s\"" -#~ msgstr "autentiseringsfil-token för lång, hoppar över: \"%s\"" - -#, c-format -#~ msgid "cannot convert partition \"%s\" to a view" -#~ msgstr "kan inte konvertera partition \"%s\" till en vy" - -#, c-format -#~ msgid "cannot convert partitioned table \"%s\" to a view" -#~ msgstr "kan inte konvertera partitionerad tabell \"%s\" till en vy" - -#, c-format -#~ msgid "cannot create restricted tokens on this platform: error code %lu" -#~ msgstr "kan inte skapa token för begränsad åtkomst på denna plattorm: felkod %lu" - -#, c-format -#~ msgid "cannot read from logical replication slot \"%s\"" -#~ msgstr "kan inte läsa från logisk replikeringsslot \"%s\"" - -#, c-format -#~ msgid "column \"%s\" in child table has a conflicting generation expression" -#~ msgstr "kolumn \"%s\" i barntabell har ett motstridigt genereringsuttryck" - -#, c-format -#~ msgid "conversion with OID %u does not exist" -#~ msgstr "konvertering med OID %u existerar inte" - -#, c-format -#~ msgid "could not convert table \"%s\" to a view because it has child tables" -#~ msgstr "kunde inte konvertera tabell \"%s\" till en vy då den har barntabeller" - -#, c-format -#~ msgid "could not convert table \"%s\" to a view because it has indexes" -#~ msgstr "kunde inte konvertera tabell \"%s\" till en vy eftersom den har index" - -#, c-format -#~ msgid "could not convert table \"%s\" to a view because it has parent tables" -#~ msgstr "kunde inte konvertera tabell \"%s\" till en vy då den har föräldratabeller" - -#, c-format -#~ msgid "could not convert table \"%s\" to a view because it has row security enabled" -#~ msgstr "kunde inte konvertera tabell \"%s\" till en vy eftersom den har radsäkerhet påslagen" - -#, c-format -#~ msgid "could not convert table \"%s\" to a view because it has row security policies" -#~ msgstr "kunde inte konvertera tabell \"%s\" till en vy eftersom den har radsäkerhetspolicy" - -#, c-format -#~ msgid "could not convert table \"%s\" to a view because it has triggers" -#~ msgstr "kunde inte konvertera tabell \"%s\" till en vy då den har triggrar" - -#, c-format -#~ msgid "could not convert table \"%s\" to a view because it is not empty" -#~ msgstr "kunde inte konvertera tabell \"%s\" till en vy då den inte är tom" - -#, c-format -#~ msgid "could not form array type name for type \"%s\"" -#~ msgstr "kunde inte skapa array-typnamn för typ \"%s\"" - -#, c-format -#~ msgid "could not identify current directory: %m" -#~ msgstr "kunde inte identifiera aktuell katalog: %m" - -#, c-format -#~ msgid "could not link file \"%s\" to \"%s\": %m" -#~ msgstr "kunde inte länka fil \"%s\" till \"%s\": %m" - -#, c-format -#~ msgid "could not load function _ldap_start_tls_sA in wldap32.dll" -#~ msgstr "kunde inte ladda funktionen _ldap_start_tls_sA i wldap32.dll" - -#, c-format -#~ msgid "could not load library \"%s\": error code %lu" -#~ msgstr "kunde inte ladda länkbibliotek \"%s\": felkod %lu" - -#, c-format -#~ msgid "could not load pg_hba.conf" -#~ msgstr "kunde inte ladda pg_hba.conf" - -#, c-format -#~ msgid "could not open secondary authentication file \"@%s\" as \"%s\": %m" -#~ msgstr "kunde inte öppna sekundär autentiseringsfil \"@%s\" som \"%s\": %m" - -#, c-format -#~ msgid "could not open usermap file \"%s\": %m" -#~ msgstr "kunde inte öppna användarmappningsfil \"%s\": %m" - -#, c-format -#~ msgid "could not read binary \"%s\"" -#~ msgstr "kunde inte läsa binär \"%s\"" - -#, c-format -#~ msgid "could not read block %ld of temporary file: read only %zu of %zu bytes" -#~ msgstr "kunde inte läsa block %ld i temporärfil: läste bara %zu av %zu byte" - -#, c-format -#~ msgid "could not read from hash-join temporary file: read only %zu of %zu bytes" -#~ msgstr "kunde inte läsa från hash-join-temporärfil: läste bara %zu av %zu byte" - -#, c-format -#~ msgid "could not read from shared tuplestore temporary file" -#~ msgstr "kunde inte läsa från delad temporär lagringsfil för tupler" - -#, c-format -#~ msgid "could not read from shared tuplestore temporary file: read only %zu of %zu bytes" -#~ msgstr "kunde inte läsa från delad temporär lagringsfil för tupler: läste bara %zu av %zu byte" - -#, c-format -#~ msgid "could not read from streaming transaction's changes file \"%s\": read only %zu of %zu bytes" -#~ msgstr "kunde inte läsa från strömmande transaktionens ändringsfil \"%s\": läste bara %zu av %zu byte" - -#, c-format -#~ msgid "could not read from streaming transaction's subxact file \"%s\": read only %zu of %zu bytes" -#~ msgstr "kunde inte läsa från strömmande transaktions subxact-fil \"%s\": läste bara %zu av %zu byte" - -#, c-format -#~ msgid "could not read from tuplestore temporary file: read only %zu of %zu bytes" -#~ msgstr "kunde inte läsa från temporär lagringsfil för tupler: läste bara %zu av %zu byte" - -#, c-format -#~ msgid "could not remove file or directory \"%s\": %m" -#~ msgstr "kunde inte ta bort fil eller katalog \"%s\": %m" - -#, c-format -#~ msgid "could not stat promote trigger file \"%s\": %m" -#~ msgstr "kunde inte göra stat() på triggerfil för befordring \"%s\": %m" - -#, c-format -#~ msgid "duplicate JSON key %s" -#~ msgstr "Duplicerad JSON-nyckel %s" - -#, c-format -#~ msgid "duplicate JSON object key" -#~ msgstr "duplicerad nyckel i JSON-objekt" - -#, c-format -#~ msgid "extension with OID %u does not exist" -#~ msgstr "utökning med OID %u existerar inte" - -#, c-format -#~ msgid "generated columns are not supported on partitions" -#~ msgstr "genererade kolumner stöds inte för partitioner" - -#, c-format -#~ msgid "gtsvector_in not implemented" -#~ msgstr "gtsvector_in är inte implementerad" - -#, c-format -#~ msgid "invalid checkpoint link in backup_label file" -#~ msgstr "ogiltig checkpoint-länk i \"backup_label\"-fil" - -#, c-format -#~ msgid "invalid info bits %04X in log segment %s, offset %u" -#~ msgstr "ogiltiga infobitar %04X i loggsegment %s, offset %u" - -#, c-format -#~ msgid "invalid length of primary checkpoint record" -#~ msgstr "ogiltig längd i primär checkpoint-post" - -#, c-format -#~ msgid "invalid magic number %04X in log segment %s, offset %u" -#~ msgstr "felaktigt magiskt nummer %04X i loggsegment %s, offset %u" - -#, c-format -#~ msgid "invalid primary checkpoint link in control file" -#~ msgstr "ogiltig primär checkpoint-länk i kontrollfil" - -#, c-format -#~ msgid "invalid primary checkpoint record" -#~ msgstr "ogiltig primär checkpoint-post" - -#, c-format -#~ msgid "invalid record length at %X/%X: wanted %u, got %u" -#~ msgstr "ogiltig postlängd vid %X/%X: förväntade %u, fick %u" - -#, c-format -#~ msgid "invalid record offset at %X/%X" -#~ msgstr "ogiltig postoffset vid %X/%X" - -#, c-format -#~ msgid "invalid resource manager ID in primary checkpoint record" -#~ msgstr "ogiltig resurshanterar-ID i primär checkpoint-post" - -#, c-format -#~ msgid "invalid xl_info in primary checkpoint record" -#~ msgstr "ogiltig xl_info i primär checkpoint-post" - -#, c-format -#~ msgid "invalidating slot \"%s\" because its restart_lsn %X/%X exceeds max_slot_wal_keep_size" -#~ msgstr "invaliderar slot \"%s\" då dess restart_lsn %X/%X överskrider max_slot_wal_keep_size" - -#, c-format -#~ msgid "language with OID %u does not exist" -#~ msgstr "språk med OID %u existerar inte" - -#, c-format -#~ msgid "local connections are not supported by this build" -#~ msgstr "lokala anslutningar stöds inte av detta bygge" - -#, c-format -#~ msgid "logical decoding cannot be used while in recovery" -#~ msgstr "logisk avkodning kan inte användas under återställning" - -#, c-format -#~ msgid "missing contrecord at %X/%X" -#~ msgstr "det saknas en contrecord vid %X/%X" - -#, c-format -#~ msgid "must be a member of the role whose process is being terminated or member of pg_signal_backend" -#~ msgstr "måste vara medlem i den roll vars process håller på att avslutas eller medlem i pg_signal_backend" - -#, c-format -#~ msgid "must be a member of the role whose query is being canceled or member of pg_signal_backend" -#~ msgstr "måste vara medlem i den roll vars fråga håller på att avbrytas eller medlem i pg_signal_backend" - -#, c-format -#~ msgid "must be a superuser to cancel superuser query" -#~ msgstr "måste vara superuser för att avbryta en superusers fråga" - -#, c-format -#~ msgid "must be a superuser to terminate superuser process" -#~ msgstr "måste vara superuser för stoppa en superusers process" - -#, c-format -#~ msgid "must be superuser or have privileges of pg_checkpoint to do CHECKPOINT" -#~ msgstr "måste vara superuser eller ha rättigheter från pg_checkpoint att göra CHECKPOINT" - -#, c-format -#~ msgid "must be superuser or have privileges of pg_read_all_settings to examine \"%s\"" -#~ msgstr "måste vara superuser eller ha rättigheter från pg_read_all_settings för att undersöka \"%s\"" - -#, c-format -#~ msgid "must be superuser or replication role to start walsender" -#~ msgstr "måste vara superuser eller replikeringsroll för att starta \"walsender\"" - -#, c-format -#~ msgid "must be superuser or replication role to use replication slots" -#~ msgstr "måste vara superuser eller replikeringsroll för att använda replikeringsslottar" - -#, c-format -#~ msgid "must be superuser to alter replication roles or change replication attribute" -#~ msgstr "måste vara en superuser eller replikeringsroll för att använda replikeringsslottar" - -#, c-format -#~ msgid "must be superuser to alter superuser roles or change superuser attribute" -#~ msgstr "måste vara superuser för ändra superuser-roller eller ändra superuser-attribut" - -#, c-format -#~ msgid "must be superuser to alter superusers" -#~ msgstr "måste vara en superuser för att ändra en superuser" - -#, c-format -#~ msgid "must be superuser to change bypassrls attribute" -#~ msgstr "måste vara en superuser för ändra bypassrls-attribut" - -#, c-format -#~ msgid "must be superuser to create bypassrls users" -#~ msgstr "måste vara en superuser för att skapa bypassrls-användare" - -#, c-format -#~ msgid "must be superuser to create replication users" -#~ msgstr "måste vara en superuser för att skapa replikeringsanvändare" - -#, c-format -#~ msgid "must be superuser to create subscriptions" -#~ msgstr "måste vara en superuser för att skapa prenumerationer" - -#, c-format -#~ msgid "must be superuser to create superusers" -#~ msgstr "måste vara en superuser för att skapa nya superuser" - -#, c-format -#~ msgid "must be superuser to drop superusers" -#~ msgstr "måste vara en superuser för att ta bort en superuser" - -#, c-format -#~ msgid "must be superuser to rename superusers" -#~ msgstr "måste vara en superuser för att döpa om en superúser" - -#, c-format -#~ msgid "must be superuser to set grantor" -#~ msgstr "måste vara en superuser för att sätta fullmaktsgivare" - -#, c-format -#~ msgid "must be superuser to skip transaction" -#~ msgstr "måste vara en superuser för att hoppa över transaktioner" - -#, c-format -#~ msgid "must have CREATEROLE privilege" -#~ msgstr "måste ha rättigheten CREATEROLE" - -#, c-format -#~ msgid "oldest xmin is far in the past" -#~ msgstr "äldsta xmin är från lång tid tillbaka" - -#, c-format -#~ msgid "operator class with OID %u does not exist" -#~ msgstr "operatorklass med OID %u existerar inte" - -#, c-format -#~ msgid "operator family with OID %u does not exist" -#~ msgstr "operatorfamilj med OID %u existerar inte" - -#, c-format -#~ msgid "operator with OID %u does not exist" -#~ msgstr "operator med OID %u existerar inte" - -# FIXME -#, c-format -#~ msgid "out-of-sequence timeline ID %u (after %u) in log segment %s, offset %u" -#~ msgstr "\"ej i sekvens\"-fel på tidslinje-ID %u (efter %u) i loggsegment %s, offset %u" - -#, c-format -#~ msgid "permission denied to change owner of subscription \"%s\"" -#~ msgstr "rättighet saknas för att byta ägare på prenumeration \"%s\"" - -#, c-format -#~ msgid "promote trigger file found: %s" -#~ msgstr "triggerfil för befordring hittad: %s" - -#, c-format -#~ msgid "select() failed in postmaster: %m" -#~ msgstr "select() misslyckades i postmaster: %m" - -#, c-format -#~ msgid "skipping \"%s\" --- only superuser can analyze it" -#~ msgstr "hoppar över \"%s\" --- bara superuser kan analysera den" - -#, c-format -#~ msgid "skipping \"%s\" --- only superuser can vacuum it" -#~ msgstr "hoppar över \"%s\" --- bara en superuser kan städa den" - -#, c-format -#~ msgid "skipping \"%s\" --- only superuser or database owner can analyze it" -#~ msgstr "hoppar över \"%s\" --- bara superuser eller databasägaren kan analysera den" - -#, c-format -#~ msgid "skipping \"%s\" --- only superuser or database owner can vacuum it" -#~ msgstr "hoppar över \"%s\" --- bara en superuser eller databasägaren kan städa den" - -#, c-format -#~ msgid "skipping \"%s\" --- only table or database owner can analyze it" -#~ msgstr "hoppar över \"%s\" --- bara tabell eller databasägaren kan analysera den" - -#, c-format -#~ msgid "skipping \"%s\" --- only table or database owner can vacuum it" -#~ msgstr "hoppar över \"%s\" --- bara tabell eller databasägaren kan köra vacuum på den" - -#, c-format -#~ msgid "statistics object with OID %u does not exist" -#~ msgstr "statistikobjekt med OID %u finns inte" - -#, c-format -#~ msgid "subquery in FROM must have an alias" -#~ msgstr "subfråga i FROM måste ha ett alias" - -#, c-format -#~ msgid "tables were not subscribed, you will have to run %s to subscribe the tables" -#~ msgstr "tabellerna prenumererades inte på, du behöver köra %s för att prenumerera på dessa tabeller" - -#, c-format -#~ msgid "tablespaces are not supported on this platform" -#~ msgstr "tabellutrymmen stöds inte på denna plattform" - -#, c-format -#~ msgid "text search configuration with OID %u does not exist" -#~ msgstr "textsökkonfiguration med OID %u existerar inte" - -#, c-format -#~ msgid "text search dictionary with OID %u does not exist" -#~ msgstr "textsökordlista med OID %u existerar inte" - -#, c-format -#~ msgid "unexpected EOF for tape %p: requested %zu bytes, read %zu bytes" -#~ msgstr "oväntat EOF för band %p: efterfrågade %zu byte, läste %zu byte" - -#, c-format -#~ msgid "unexpected pageaddr %X/%X in log segment %s, offset %u" -#~ msgstr "oväntad sidadress %X/%X i loggsegment %s, offset %u" diff --git a/src/backend/po/uk.po b/src/backend/po/uk.po index 1e9c7943db9..6c4c0add9ee 100644 --- a/src/backend/po/uk.po +++ b/src/backend/po/uk.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: postgresql\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-02-09 18:10+0000\n" -"PO-Revision-Date: 2024-02-11 17:37+0100\n" +"POT-Creation-Date: 2024-09-23 10:41+0000\n" +"PO-Revision-Date: 2024-09-23 19:38\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -14,9 +14,13 @@ msgstr "" "X-Crowdin-Project: postgresql\n" "X-Crowdin-Project-ID: 324573\n" "X-Crowdin-Language: uk\n" -"X-Crowdin-File: /REL_16_STABLE/postgres.pot\n" -"X-Crowdin-File-ID: 951\n" -"X-Generator: Poedit 3.4.2\n" +"X-Crowdin-File: /REL_17_STABLE/postgres.pot\n" +"X-Crowdin-File-ID: 988\n" + +#: ../common/binaryheap.c:121 ../common/binaryheap.c:159 +#, c-format +msgid "out of binary heap slots" +msgstr "недостатньо слотів двійкової купи" #: ../common/compression.c:132 ../common/compression.c:141 #: ../common/compression.c:150 @@ -75,209 +79,225 @@ msgstr "алгоритм стиснення \"%s\" не підтримує ре msgid "not recorded" msgstr "не записано" -#: ../common/controldata_utils.c:79 ../common/controldata_utils.c:83 -#: commands/copyfrom.c:1687 commands/extension.c:3480 utils/adt/genfile.c:123 +#: ../common/controldata_utils.c:93 ../common/controldata_utils.c:97 +#: commands/copyfrom.c:1739 commands/extension.c:3538 utils/adt/genfile.c:123 +#: utils/time/snapmgr.c:1430 #, c-format msgid "could not open file \"%s\" for reading: %m" msgstr "не вдалося відкрити файл \"%s\" для читання: %m" -#: ../common/controldata_utils.c:94 ../common/controldata_utils.c:96 +#: ../common/controldata_utils.c:108 ../common/controldata_utils.c:110 #: access/transam/timeline.c:143 access/transam/timeline.c:362 -#: access/transam/twophase.c:1347 access/transam/xlog.c:3195 -#: access/transam/xlog.c:3998 access/transam/xlogrecovery.c:1225 -#: access/transam/xlogrecovery.c:1317 access/transam/xlogrecovery.c:1354 -#: access/transam/xlogrecovery.c:1414 backup/basebackup.c:1842 -#: commands/extension.c:3490 libpq/hba.c:769 replication/logical/origin.c:745 -#: replication/logical/origin.c:781 replication/logical/reorderbuffer.c:5050 -#: replication/logical/snapbuild.c:2031 replication/slot.c:1953 -#: replication/slot.c:1994 replication/walsender.c:643 +#: access/transam/twophase.c:1369 access/transam/xlog.c:3476 +#: access/transam/xlog.c:4340 access/transam/xlogrecovery.c:1238 +#: access/transam/xlogrecovery.c:1336 access/transam/xlogrecovery.c:1373 +#: access/transam/xlogrecovery.c:1440 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:5108 +#: replication/logical/snapbuild.c:2052 replication/slot.c:2236 +#: replication/slot.c:2277 replication/walsender.c:655 #: storage/file/buffile.c:470 storage/file/copydir.c:185 -#: utils/adt/genfile.c:197 utils/adt/misc.c:984 utils/cache/relmapper.c:830 +#: utils/adt/genfile.c:197 utils/adt/misc.c:1028 utils/cache/relmapper.c:829 #, c-format msgid "could not read file \"%s\": %m" msgstr "не вдалося прочитати файл \"%s\": %m" -#: ../common/controldata_utils.c:102 ../common/controldata_utils.c:105 -#: access/transam/xlog.c:3200 access/transam/xlog.c:4003 -#: backup/basebackup.c:1846 replication/logical/origin.c:750 -#: replication/logical/origin.c:789 replication/logical/snapbuild.c:2036 -#: replication/slot.c:1957 replication/slot.c:1998 replication/walsender.c:648 -#: utils/cache/relmapper.c:834 +#: ../common/controldata_utils.c:116 ../common/controldata_utils.c:119 +#: access/transam/xlog.c:3481 access/transam/xlog.c:4345 +#: 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 +#: utils/cache/relmapper.c:833 #, c-format msgid "could not read file \"%s\": read %d of %zu" msgstr "не вдалося прочитати файл \"%s\": прочитано %d з %zu" -#: ../common/controldata_utils.c:114 ../common/controldata_utils.c:118 -#: ../common/controldata_utils.c:263 ../common/controldata_utils.c:266 -#: access/heap/rewriteheap.c:1175 access/heap/rewriteheap.c:1280 +#: ../common/controldata_utils.c:128 ../common/controldata_utils.c:132 +#: ../common/controldata_utils.c:277 ../common/controldata_utils.c:280 +#: 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:1359 -#: access/transam/twophase.c:1771 access/transam/xlog.c:3041 -#: access/transam/xlog.c:3235 access/transam/xlog.c:3240 -#: access/transam/xlog.c:3376 access/transam/xlog.c:3968 -#: access/transam/xlog.c:4887 commands/copyfrom.c:1747 commands/copyto.c:332 +#: access/transam/timeline.c:512 access/transam/twophase.c:1381 +#: access/transam/twophase.c:1793 access/transam/xlog.c:3322 +#: access/transam/xlog.c:3516 access/transam/xlog.c:3521 +#: access/transam/xlog.c:3657 access/transam/xlog.c:4310 +#: access/transam/xlog.c:5245 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:5102 -#: replication/logical/snapbuild.c:1798 replication/logical/snapbuild.c:1922 -#: replication/slot.c:1844 replication/slot.c:2005 replication/walsender.c:658 -#: storage/file/copydir.c:208 storage/file/copydir.c:213 storage/file/fd.c:782 -#: storage/file/fd.c:3700 storage/file/fd.c:3806 utils/cache/relmapper.c:842 -#: utils/cache/relmapper.c:957 +#: replication/logical/reorderbuffer.c:5160 +#: 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 +#: utils/cache/relmapper.c:956 #, c-format msgid "could not close file \"%s\": %m" msgstr "неможливо закрити файл \"%s\": %m" -#: ../common/controldata_utils.c:154 +#: ../common/controldata_utils.c:168 msgid "byte ordering mismatch" msgstr "неправильний порядок байтів" -#: ../common/controldata_utils.c:156 +#: ../common/controldata_utils.c:170 #, c-format -msgid "" -"possible byte ordering mismatch\n" +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" +msgstr "можлива помилка у послідовності байтів.\n" "Порядок байтів, що використовують для зберігання файлу pg_control, може не відповідати тому, який використовується цією програмою. У такому випадку результати нижче будуть неправильним, і інсталяція PostgreSQL буде несумісною з цим каталогом даних." -#: ../common/controldata_utils.c:211 ../common/controldata_utils.c:216 -#: ../common/file_utils.c:228 ../common/file_utils.c:287 -#: ../common/file_utils.c:361 access/heap/rewriteheap.c:1263 -#: access/transam/timeline.c:111 access/transam/timeline.c:251 -#: access/transam/timeline.c:348 access/transam/twophase.c:1303 -#: access/transam/xlog.c:2948 access/transam/xlog.c:3111 -#: access/transam/xlog.c:3150 access/transam/xlog.c:3343 -#: access/transam/xlog.c:3988 access/transam/xlogrecovery.c:4213 -#: access/transam/xlogrecovery.c:4316 access/transam/xlogutils.c:838 -#: backup/basebackup.c:538 backup/basebackup.c:1512 libpq/hba.c:629 -#: postmaster/syslogger.c:1560 replication/logical/origin.c:735 -#: replication/logical/reorderbuffer.c:3706 -#: replication/logical/reorderbuffer.c:4257 -#: replication/logical/reorderbuffer.c:5030 -#: replication/logical/snapbuild.c:1753 replication/logical/snapbuild.c:1863 -#: replication/slot.c:1925 replication/walsender.c:616 -#: replication/walsender.c:2731 storage/file/copydir.c:151 -#: storage/file/fd.c:757 storage/file/fd.c:3457 storage/file/fd.c:3687 -#: storage/file/fd.c:3777 storage/smgr/md.c:663 utils/cache/relmapper.c:819 -#: utils/cache/relmapper.c:936 utils/error/elog.c:2086 -#: utils/init/miscinit.c:1537 utils/init/miscinit.c:1671 -#: utils/init/miscinit.c:1748 utils/misc/guc.c:4609 utils/misc/guc.c:4659 +#: ../common/controldata_utils.c:225 ../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 +#: access/heap/rewriteheap.c:1229 access/transam/timeline.c:111 +#: access/transam/timeline.c:251 access/transam/timeline.c:348 +#: access/transam/twophase.c:1325 access/transam/xlog.c:3229 +#: access/transam/xlog.c:3392 access/transam/xlog.c:3431 +#: access/transam/xlog.c:3624 access/transam/xlog.c:4330 +#: access/transam/xlogrecovery.c:4263 access/transam/xlogrecovery.c:4366 +#: 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:3761 +#: replication/logical/reorderbuffer.c:4315 +#: replication/logical/reorderbuffer.c:5088 +#: 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 +#: utils/cache/relmapper.c:935 utils/error/elog.c:2124 +#: utils/init/miscinit.c:1526 utils/init/miscinit.c:1660 +#: utils/init/miscinit.c:1737 utils/misc/guc.c:4736 utils/misc/guc.c:4786 #, c-format msgid "could not open file \"%s\": %m" msgstr "не можливо відкрити файл \"%s\": %m" -#: ../common/controldata_utils.c:232 ../common/controldata_utils.c:235 -#: access/transam/twophase.c:1744 access/transam/twophase.c:1753 -#: access/transam/xlog.c:8757 access/transam/xlogfuncs.c:708 -#: backup/basebackup_server.c:175 backup/basebackup_server.c:268 -#: postmaster/postmaster.c:5573 postmaster/syslogger.c:1571 -#: postmaster/syslogger.c:1584 postmaster/syslogger.c:1597 -#: utils/cache/relmapper.c:948 +#: ../common/controldata_utils.c:246 ../common/controldata_utils.c:249 +#: access/transam/twophase.c:1766 access/transam/twophase.c:1775 +#: access/transam/xlog.c:9255 access/transam/xlogfuncs.c:698 +#: backup/basebackup_server.c:173 backup/basebackup_server.c:266 +#: backup/walsummary.c:304 postmaster/postmaster.c:4125 +#: postmaster/syslogger.c:1522 postmaster/syslogger.c:1535 +#: postmaster/syslogger.c:1548 utils/cache/relmapper.c:947 #, c-format msgid "could not write file \"%s\": %m" msgstr "не вдалося записати файл \"%s\": %m" -#: ../common/controldata_utils.c:249 ../common/controldata_utils.c:254 -#: ../common/file_utils.c:299 ../common/file_utils.c:369 -#: access/heap/rewriteheap.c:959 access/heap/rewriteheap.c:1169 -#: access/heap/rewriteheap.c:1274 access/transam/timeline.c:432 -#: access/transam/timeline.c:506 access/transam/twophase.c:1765 -#: access/transam/xlog.c:3034 access/transam/xlog.c:3229 -#: access/transam/xlog.c:3961 access/transam/xlog.c:8147 -#: access/transam/xlog.c:8192 backup/basebackup_server.c:209 -#: commands/dbcommands.c:515 replication/logical/snapbuild.c:1791 -#: replication/slot.c:1830 replication/slot.c:1935 storage/file/fd.c:774 -#: storage/file/fd.c:3798 storage/smgr/md.c:1135 storage/smgr/md.c:1180 -#: storage/sync/sync.c:451 utils/misc/guc.c:4379 +#: ../common/controldata_utils.c:263 ../common/controldata_utils.c:268 +#: ../common/file_utils.c:418 ../common/file_utils.c:488 +#: 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:1787 +#: access/transam/xlog.c:3315 access/transam/xlog.c:3510 +#: access/transam/xlog.c:4303 access/transam/xlog.c:8630 +#: access/transam/xlog.c:8675 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:1329 storage/smgr/md.c:1374 +#: storage/sync/sync.c:446 utils/misc/guc.c:4489 #, c-format msgid "could not fsync file \"%s\": %m" msgstr "не вдалося fsync файл \"%s\": %m" -#: ../common/cryptohash.c:261 ../common/cryptohash_openssl.c:133 -#: ../common/cryptohash_openssl.c:332 ../common/exec.c:550 ../common/exec.c:595 -#: ../common/exec.c:687 ../common/hmac.c:309 ../common/hmac.c:325 -#: ../common/hmac_openssl.c:132 ../common/hmac_openssl.c:327 -#: ../common/md5_common.c:155 ../common/psprintf.c:143 -#: ../common/scram-common.c:269 ../common/stringinfo.c:305 ../port/path.c:751 -#: ../port/path.c:789 ../port/path.c:806 access/transam/twophase.c:1412 -#: access/transam/xlogrecovery.c:589 lib/dshash.c:253 libpq/auth.c:1343 -#: libpq/auth.c:1387 libpq/auth.c:1944 libpq/be-secure-gssapi.c:524 -#: postmaster/bgworker.c:352 postmaster/bgworker.c:934 -#: postmaster/postmaster.c:2537 postmaster/postmaster.c:4130 -#: postmaster/postmaster.c:5498 postmaster/postmaster.c:5869 -#: replication/libpqwalreceiver/libpqwalreceiver.c:361 -#: replication/logical/logical.c:208 replication/walsender.c:686 -#: storage/buffer/localbuf.c:601 storage/file/fd.c:866 storage/file/fd.c:1397 -#: storage/file/fd.c:1558 storage/file/fd.c:2478 storage/ipc/procarray.c:1449 -#: storage/ipc/procarray.c:2231 storage/ipc/procarray.c:2238 -#: storage/ipc/procarray.c:2737 storage/ipc/procarray.c:3373 -#: utils/adt/formatting.c:1690 utils/adt/formatting.c:1812 -#: utils/adt/formatting.c:1935 utils/adt/pg_locale.c:473 -#: utils/adt/pg_locale.c:637 utils/fmgr/dfmgr.c:229 utils/hash/dynahash.c:514 -#: utils/hash/dynahash.c:614 utils/hash/dynahash.c:1111 utils/mb/mbutils.c:402 -#: utils/mb/mbutils.c:430 utils/mb/mbutils.c:815 utils/mb/mbutils.c:842 -#: utils/misc/guc.c:640 utils/misc/guc.c:665 utils/misc/guc.c:1053 -#: utils/misc/guc.c:4357 utils/misc/tzparser.c:476 utils/mmgr/aset.c:445 -#: utils/mmgr/dsa.c:714 utils/mmgr/dsa.c:736 utils/mmgr/dsa.c:817 -#: utils/mmgr/generation.c:205 utils/mmgr/mcxt.c:1046 utils/mmgr/mcxt.c:1082 -#: utils/mmgr/mcxt.c:1120 utils/mmgr/mcxt.c:1158 utils/mmgr/mcxt.c:1246 -#: utils/mmgr/mcxt.c:1277 utils/mmgr/mcxt.c:1313 utils/mmgr/mcxt.c:1502 -#: utils/mmgr/mcxt.c:1547 utils/mmgr/mcxt.c:1604 utils/mmgr/slab.c:366 +#: ../common/cryptohash.c:261 ../common/cryptohash_openssl.c:158 +#: ../common/cryptohash_openssl.c:356 ../common/exec.c:562 ../common/exec.c:607 +#: ../common/exec.c:699 ../common/hmac.c:309 ../common/hmac.c:325 +#: ../common/hmac_openssl.c:160 ../common/hmac_openssl.c:357 +#: ../common/md5_common.c:156 ../common/parse_manifest.c:157 +#: ../common/parse_manifest.c:853 ../common/psprintf.c:143 +#: ../common/scram-common.c:269 ../common/stringinfo.c:314 ../port/path.c:751 +#: ../port/path.c:788 ../port/path.c:805 access/transam/twophase.c:1434 +#: 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:3559 postmaster/postmaster.c:4019 +#: postmaster/postmaster.c:4381 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 +#: 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:509 +#: utils/adt/pg_locale.c:673 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:4467 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 #, c-format msgid "out of memory" msgstr "недостатньо пам'яті" #: ../common/cryptohash.c:266 ../common/cryptohash.c:272 -#: ../common/cryptohash_openssl.c:344 ../common/cryptohash_openssl.c:352 -#: ../common/hmac.c:321 ../common/hmac.c:329 ../common/hmac_openssl.c:339 -#: ../common/hmac_openssl.c:347 +#: ../common/cryptohash_openssl.c:368 ../common/cryptohash_openssl.c:376 +#: ../common/hmac.c:321 ../common/hmac.c:329 ../common/hmac_openssl.c:369 +#: ../common/hmac_openssl.c:377 msgid "success" msgstr "успіх" -#: ../common/cryptohash.c:268 ../common/cryptohash_openssl.c:346 -#: ../common/hmac_openssl.c:341 +#: ../common/cryptohash.c:268 ../common/cryptohash_openssl.c:370 +#: ../common/hmac_openssl.c:371 msgid "destination buffer too small" msgstr "буфер призначення занадто малий" -#: ../common/cryptohash_openssl.c:348 ../common/hmac_openssl.c:343 +#: ../common/cryptohash_openssl.c:372 ../common/hmac_openssl.c:373 msgid "OpenSSL failure" msgstr "Помилка OpenSSL" -#: ../common/exec.c:172 +#: ../common/exec.c:174 #, c-format msgid "invalid binary \"%s\": %m" msgstr "невірний бінарний файл \"%s\": %m" -#: ../common/exec.c:215 +#: ../common/exec.c:217 #, c-format msgid "could not read binary \"%s\": %m" msgstr "не вдалося прочитати бінарний файл \"%s\": %m" -#: ../common/exec.c:223 +#: ../common/exec.c:225 #, c-format msgid "could not find a \"%s\" to execute" msgstr "неможливо знайти \"%s\" для виконання" -#: ../common/exec.c:250 +#: ../common/exec.c:252 #, c-format msgid "could not resolve path \"%s\" to absolute form: %m" msgstr "не вдалося знайти абсолютний шлях \"%s\": %m" -#: ../common/exec.c:412 libpq/pqcomm.c:728 storage/ipc/latch.c:1128 -#: storage/ipc/latch.c:1308 storage/ipc/latch.c:1541 storage/ipc/latch.c:1703 -#: storage/ipc/latch.c:1829 +#: ../common/exec.c:382 commands/collationcmds.c:876 commands/copyfrom.c:1723 +#: commands/copyto.c:650 libpq/be-secure-common.c:59 +#, c-format +msgid "could not execute command \"%s\": %m" +msgstr "не вдалося виконати команду \"%s\": %m" + +#: ../common/exec.c:394 libpq/be-secure-common.c:71 +#, c-format +msgid "could not read from command \"%s\": %m" +msgstr "не вдалося прочитати висновок команди \"%s\": %m" + +#: ../common/exec.c:397 +#, c-format +msgid "no data was returned by command \"%s\"" +msgstr "команда \"%s\" не повернула жодних даних" + +#: ../common/exec.c:424 libpq/pqcomm.c:192 storage/ipc/latch.c:1169 +#: storage/ipc/latch.c:1349 storage/ipc/latch.c:1582 storage/ipc/latch.c:1744 +#: storage/ipc/latch.c:1870 #, c-format msgid "%s() failed: %m" msgstr "%s() помилка: %m" #: ../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:753 ../port/path.c:791 -#: ../port/path.c:808 utils/misc/ps_status.c:168 utils/misc/ps_status.c:176 -#: utils/misc/ps_status.c:203 utils/misc/ps_status.c:211 +#: ../common/psprintf.c:145 ../port/path.c:753 ../port/path.c:790 +#: ../port/path.c:807 utils/misc/ps_status.c:193 utils/misc/ps_status.c:201 +#: utils/misc/ps_status.c:228 utils/misc/ps_status.c:236 #, c-format msgid "out of memory\n" msgstr "недостатньо пам'яті\n" @@ -287,39 +307,51 @@ msgstr "недостатньо пам'яті\n" msgid "cannot duplicate null pointer (internal error)\n" msgstr "неможливо дублювати нульовий покажчик (внутрішня помилка)\n" -#: ../common/file_utils.c:87 ../common/file_utils.c:447 -#: ../common/file_utils.c:451 access/transam/twophase.c:1315 -#: access/transam/xlogarchive.c:112 access/transam/xlogarchive.c:236 -#: backup/basebackup.c:346 backup/basebackup.c:544 backup/basebackup.c:615 -#: commands/copyfrom.c:1697 commands/copyto.c:702 commands/extension.c:3469 -#: commands/tablespace.c:810 commands/tablespace.c:899 postmaster/pgarch.c:590 -#: replication/logical/snapbuild.c:1649 storage/file/fd.c:1922 -#: storage/file/fd.c:2008 storage/file/fd.c:3511 utils/adt/dbsize.c:106 -#: utils/adt/dbsize.c:258 utils/adt/dbsize.c:338 utils/adt/genfile.c:483 -#: utils/adt/genfile.c:658 utils/adt/misc.c:340 +#: ../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" + +#: ../common/file_utils.c:120 ../common/file_utils.c:566 +#: ../common/file_utils.c:570 access/transam/twophase.c:1337 +#: 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:696 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 +#: 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 msgid "could not stat file \"%s\": %m" msgstr "не вдалося отримати інформацію від файлу \"%s\": %m" -#: ../common/file_utils.c:162 ../common/pgfnames.c:48 ../common/rmtree.c:63 -#: commands/tablespace.c:734 commands/tablespace.c:744 -#: postmaster/postmaster.c:1564 storage/file/fd.c:2880 -#: storage/file/reinit.c:126 utils/adt/misc.c:256 utils/misc/tzparser.c:338 +#: ../common/file_utils.c:130 ../common/file_utils.c:227 +#, c-format +msgid "this build does not support sync method \"%s\"" +msgstr "ця збірка не підтримує метод синхронізації \"%s\"" + +#: ../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:1468 +#: 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:196 ../common/pgfnames.c:69 ../common/rmtree.c:104 -#: storage/file/fd.c:2892 +#: ../common/file_utils.c:169 ../common/file_utils.c:315 +#: ../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" -#: ../common/file_utils.c:379 access/transam/xlogarchive.c:390 -#: postmaster/pgarch.c:746 postmaster/syslogger.c:1608 -#: replication/logical/snapbuild.c:1810 replication/slot.c:723 -#: replication/slot.c:1716 replication/slot.c:1858 storage/file/fd.c:792 -#: utils/time/snapmgr.c:1284 +#: ../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 +#: utils/time/snapmgr.c:1255 #, c-format msgid "could not rename file \"%s\" to \"%s\": %m" msgstr "не вдалося перейменувати файл \"%s\" на \"%s\": %m" @@ -328,90 +360,102 @@ msgstr "не вдалося перейменувати файл \"%s\" на \"%s msgid "internal error" msgstr "внутрішня помилка" -#: ../common/jsonapi.c:1144 +#: ../common/jsonapi.c:2121 +msgid "Recursive descent parser cannot use incremental lexer." +msgstr "Рекурсивний спуск не може використовувати інкрементний лексичний аналізатор." + +#: ../common/jsonapi.c:2123 +msgid "Incremental parser requires incremental lexer." +msgstr "Інкрементний аналізатор потребує Інкрементний лексичний аналізатор." + +#: ../common/jsonapi.c:2125 +msgid "JSON nested too deep, maximum permitted depth is 6400." +msgstr "JSON вкладений занадто глибокий, максимально дозволена глибина - 6400." + +#: ../common/jsonapi.c:2127 #, c-format -msgid "Escape sequence \"\\%s\" is invalid." -msgstr "Неприпустима спеціальна послідовність \"\\%s\"." +msgid "Escape sequence \"\\%.*s\" is invalid." +msgstr "Неприпустима спеціальна послідовність \"\\%.*s\"." -#: ../common/jsonapi.c:1147 +#: ../common/jsonapi.c:2131 #, c-format msgid "Character with value 0x%02x must be escaped." msgstr "Символ зі значенням 0x%02x повинен бути пропущений." -#: ../common/jsonapi.c:1150 +#: ../common/jsonapi.c:2135 #, c-format -msgid "Expected end of input, but found \"%s\"." -msgstr "Очікувався кінець введення, але знайдено \"%s\"." +msgid "Expected end of input, but found \"%.*s\"." +msgstr "Очікувався кінець введення, але знайдено \"%.*s\"." -#: ../common/jsonapi.c:1153 +#: ../common/jsonapi.c:2138 #, c-format -msgid "Expected array element or \"]\", but found \"%s\"." -msgstr "Очікувався елемент масиву або \"]\", але знайдено \"%s\"." +msgid "Expected array element or \"]\", but found \"%.*s\"." +msgstr "Очікувався елемент масиву або \"]\", але знайдено \"%.*s\"." -#: ../common/jsonapi.c:1156 +#: ../common/jsonapi.c:2141 #, c-format -msgid "Expected \",\" or \"]\", but found \"%s\"." -msgstr "Очікувалось \",\" або \"]\", але знайдено \"%s\"." +msgid "Expected \",\" or \"]\", but found \"%.*s\"." +msgstr "Очікувалось \",\" або \"]\", але знайдено \"%.*s\"." -#: ../common/jsonapi.c:1159 +#: ../common/jsonapi.c:2144 #, c-format -msgid "Expected \":\", but found \"%s\"." -msgstr "Очікувалось \":\", але знайдено \"%s\"." +msgid "Expected \":\", but found \"%.*s\"." +msgstr "Очікувалось \":\", але знайдено \"%.*s\"." -#: ../common/jsonapi.c:1162 +#: ../common/jsonapi.c:2147 #, c-format -msgid "Expected JSON value, but found \"%s\"." -msgstr "Очікувалось значення JSON, але знайдено \"%s\"." +msgid "Expected JSON value, but found \"%.*s\"." +msgstr "Очікувалось значення JSON, але знайдено \"%.*s\"." -#: ../common/jsonapi.c:1165 +#: ../common/jsonapi.c:2150 msgid "The input string ended unexpectedly." msgstr "Несподіваний кінець вхідного рядка." -#: ../common/jsonapi.c:1167 +#: ../common/jsonapi.c:2152 #, c-format -msgid "Expected string or \"}\", but found \"%s\"." -msgstr "Очікувався рядок або \"}\", але знайдено \"%s\"." +msgid "Expected string or \"}\", but found \"%.*s\"." +msgstr "Очікувався рядок або \"}\", але знайдено \"%.*s\"." -#: ../common/jsonapi.c:1170 +#: ../common/jsonapi.c:2155 #, c-format -msgid "Expected \",\" or \"}\", but found \"%s\"." -msgstr "Очікувалось \",\" або \"}\", але знайдено \"%s\"." +msgid "Expected \",\" or \"}\", but found \"%.*s\"." +msgstr "Очікувалось \",\" або \"}\", але знайдено \"%.*s\"." -#: ../common/jsonapi.c:1173 +#: ../common/jsonapi.c:2158 #, c-format -msgid "Expected string, but found \"%s\"." -msgstr "Очікувався рядок, але знайдено \"%s\"." +msgid "Expected string, but found \"%.*s\"." +msgstr "Очікувався рядок, але знайдено \"%.*s\"." -#: ../common/jsonapi.c:1176 +#: ../common/jsonapi.c:2161 #, c-format -msgid "Token \"%s\" is invalid." -msgstr "Неприпустимий маркер \"%s\"." +msgid "Token \"%.*s\" is invalid." +msgstr "Неприпустимий маркер \"%.*s\"." -#: ../common/jsonapi.c:1179 jsonpath_scan.l:597 +#: ../common/jsonapi.c:2164 jsonpath_scan.l:608 #, c-format msgid "\\u0000 cannot be converted to text." msgstr "\\u0000 не можна перетворити в текст." -#: ../common/jsonapi.c:1181 +#: ../common/jsonapi.c:2166 msgid "\"\\u\" must be followed by four hexadecimal digits." msgstr "За \"\\u\" повинні прямувати чотири шістнадцяткових числа." -#: ../common/jsonapi.c:1184 +#: ../common/jsonapi.c:2169 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:1187 +#: ../common/jsonapi.c:2178 #, c-format msgid "Unicode escape value could not be translated to the server's encoding %s." msgstr "Значення символу Unicode не вдалося перекласти в кодування сервера %s." -#: ../common/jsonapi.c:1190 jsonpath_scan.l:630 +#: ../common/jsonapi.c:2185 jsonpath_scan.l:641 #, c-format msgid "Unicode high surrogate must not follow a high surrogate." msgstr "Старший сурогат Unicode не повинен прямувати за іншим старшим сурогатом." -#: ../common/jsonapi.c:1192 jsonpath_scan.l:641 jsonpath_scan.l:651 -#: jsonpath_scan.l:702 +#: ../common/jsonapi.c:2187 jsonpath_scan.l:652 jsonpath_scan.l:662 +#: jsonpath_scan.l:713 #, c-format msgid "Unicode low surrogate must follow a high surrogate." msgstr "Молодший сурогат Unicode не повинен прямувати за іншим молодшим сурогатом." @@ -436,11 +480,168 @@ msgstr "деталі: " msgid "hint: " msgstr "підказка: " +#: ../common/parse_manifest.c:159 ../common/parse_manifest.c:855 +#, c-format +msgid "could not initialize checksum of manifest" +msgstr "не вдалося ініціалізувати контрольну суму маніфесту" + +#: ../common/parse_manifest.c:204 ../common/parse_manifest.c:261 +msgid "manifest ended unexpectedly" +msgstr "маніфест закінчився несподівано" + +#: ../common/parse_manifest.c:210 ../common/parse_manifest.c:862 +#, c-format +msgid "could not update checksum of manifest" +msgstr "не вдалося оновити контрольну суму маніфесту" + +#: ../common/parse_manifest.c:302 +msgid "unexpected object start" +msgstr "неочікуваний початок об'єкта" + +#: ../common/parse_manifest.c:337 +msgid "unexpected object end" +msgstr "неочікуваний кінець об'єкта" + +#: ../common/parse_manifest.c:366 +msgid "unexpected array start" +msgstr "неочікуваний початок масиву" + +#: ../common/parse_manifest.c:391 +msgid "unexpected array end" +msgstr "неочікуваний кінець масиву" + +#: ../common/parse_manifest.c:418 +msgid "expected version indicator" +msgstr "індикатор очікуваної версії" + +#: ../common/parse_manifest.c:454 +msgid "unrecognized top-level field" +msgstr "нерозпізнане поле верхнього рівня" + +#: ../common/parse_manifest.c:473 +msgid "unexpected file field" +msgstr "неочікуване поле файлу" + +#: ../common/parse_manifest.c:487 +msgid "unexpected WAL range field" +msgstr "неочікуване поле діапазону WAL" + +#: ../common/parse_manifest.c:493 +msgid "unexpected object field" +msgstr "неочікуване поле об'єкта" + +#: ../common/parse_manifest.c:583 +msgid "unexpected scalar" +msgstr "неочікуваний скаляр" + +#: ../common/parse_manifest.c:609 +msgid "manifest version not an integer" +msgstr "версія маніфесту не ціле число" + +#: ../common/parse_manifest.c:613 +msgid "unexpected manifest version" +msgstr "неочікувана версія маніфесту" + +#: ../common/parse_manifest.c:637 +msgid "system identifier in manifest not an integer" +msgstr "системний ідентифікатор в маніфесті не ціле число" + +#: ../common/parse_manifest.c:662 +msgid "missing path name" +msgstr "пропущено шлях" + +#: ../common/parse_manifest.c:665 +msgid "both path name and encoded path name" +msgstr "і ім'я шляху, і закодований шлях" + +#: ../common/parse_manifest.c:667 +msgid "missing size" +msgstr "відсутній розмір" + +#: ../common/parse_manifest.c:670 +msgid "checksum without algorithm" +msgstr "контрольна сума без алгоритму" + +#: ../common/parse_manifest.c:684 +msgid "could not decode file name" +msgstr "не вдалося декодувати ім'я файлу" + +#: ../common/parse_manifest.c:694 +msgid "file size is not an integer" +msgstr "розмір файлу не є цілим числом" + +#: ../common/parse_manifest.c:700 backup/basebackup.c:870 +#, c-format +msgid "unrecognized checksum algorithm: \"%s\"" +msgstr "нерозпізнаний алгоритм контрольної суми: \"%s\"" + +#: ../common/parse_manifest.c:719 +#, c-format +msgid "invalid checksum for file \"%s\": \"%s\"" +msgstr "неприпустима контрольна сума для файлу \"%s\": \"%s\"" + +#: ../common/parse_manifest.c:762 +msgid "missing timeline" +msgstr "відсутня часова шкала" + +#: ../common/parse_manifest.c:764 +msgid "missing start LSN" +msgstr "відсутній LSN початку" + +#: ../common/parse_manifest.c:766 +msgid "missing end LSN" +msgstr "відсутній LSN кінця" + +#: ../common/parse_manifest.c:772 +msgid "timeline is not an integer" +msgstr "часова лінія не є цілим числом" + +#: ../common/parse_manifest.c:775 +msgid "could not parse start LSN" +msgstr "не вдалося проаналізувати початковий LSN" + +#: ../common/parse_manifest.c:778 +msgid "could not parse end LSN" +msgstr "не вдалося проаналізувати кінцевий LSN" + +#: ../common/parse_manifest.c:843 +msgid "expected at least 2 lines" +msgstr "очікувалося принаймні 2 рядки" + +#: ../common/parse_manifest.c:846 +msgid "last line not newline-terminated" +msgstr "останній рядок не завершений новим рядком" + +#: ../common/parse_manifest.c:865 +#, c-format +msgid "could not finalize checksum of manifest" +msgstr "не вдалося остаточно завершити контрольну суму маніфесту" + +#: ../common/parse_manifest.c:869 +#, c-format +msgid "manifest has no checksum" +msgstr "у маніфесті немає контрольної суми" + +#: ../common/parse_manifest.c:873 +#, c-format +msgid "invalid manifest checksum: \"%s\"" +msgstr "неприпустима контрольна сума маніфесту: \"%s\"" + +#: ../common/parse_manifest.c:877 +#, c-format +msgid "manifest checksum mismatch" +msgstr "невідповідність контрольної суми маніфесту" + +#: ../common/parse_manifest.c:892 +#, c-format +msgid "could not parse backup manifest: %s" +msgstr "не вдалося проаналізувати маніфест резервної копії: %s" + #: ../common/percentrepl.c:79 ../common/percentrepl.c:85 #: ../common/percentrepl.c:118 ../common/percentrepl.c:124 -#: postmaster/postmaster.c:2211 utils/misc/guc.c:3120 utils/misc/guc.c:3156 -#: utils/misc/guc.c:3226 utils/misc/guc.c:4556 utils/misc/guc.c:6738 -#: utils/misc/guc.c:6779 +#: tcop/backend_startup.c:741 utils/misc/guc.c:3167 utils/misc/guc.c:3208 +#: utils/misc/guc.c:3283 utils/misc/guc.c:4671 utils/misc/guc.c:6896 +#: utils/misc/guc.c:6937 #, c-format msgid "invalid value for parameter \"%s\": \"%s\"" msgstr "неприпустиме значення параметру \"%s\": \"%s\"" @@ -500,23 +701,23 @@ msgstr "не вдалося перезапустити з обмеженим т msgid "could not get exit code from subprocess: error code %lu" msgstr "не вдалося отримати код завершення підпроцесу: код помилки %lu" -#: ../common/rmtree.c:95 access/heap/rewriteheap.c:1248 -#: access/transam/twophase.c:1704 access/transam/xlogarchive.c:120 -#: access/transam/xlogarchive.c:400 postmaster/postmaster.c:1143 -#: postmaster/syslogger.c:1537 replication/logical/origin.c:591 -#: replication/logical/reorderbuffer.c:4526 -#: replication/logical/snapbuild.c:1691 replication/logical/snapbuild.c:2125 -#: replication/slot.c:1909 storage/file/fd.c:832 storage/file/fd.c:3325 -#: storage/file/fd.c:3387 storage/file/reinit.c:262 storage/ipc/dsm.c:316 -#: storage/smgr/md.c:383 storage/smgr/md.c:442 storage/sync/sync.c:248 -#: utils/time/snapmgr.c:1608 +#: ../common/rmtree.c:97 access/heap/rewriteheap.c:1214 +#: access/transam/twophase.c:1726 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:4584 +#: 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 +#: storage/smgr/md.c:381 storage/smgr/md.c:440 storage/sync/sync.c:243 +#: utils/time/snapmgr.c:1591 #, c-format msgid "could not remove file \"%s\": %m" msgstr "не можливо видалити файл \"%s\": %m" -#: ../common/rmtree.c:122 commands/tablespace.c:773 commands/tablespace.c:786 -#: commands/tablespace.c:821 commands/tablespace.c:911 storage/file/fd.c:3317 -#: storage/file/fd.c:3726 +#: ../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 #, c-format msgid "could not remove directory \"%s\": %m" msgstr "не вдалося видалити каталог \"%s\": %m" @@ -533,20 +734,16 @@ msgstr "на вдалося закодувати збережений ключ" msgid "could not encode server key" msgstr "не вдалося закодувати серверний ключ" -#: ../common/stringinfo.c:306 +#: ../common/stringinfo.c:315 #, c-format msgid "Cannot enlarge string buffer containing %d bytes by %d more bytes." msgstr "Не вдалося збільшити рядковий буфер (містить: %d байтів, потребувалось: %d байтів)." -#: ../common/stringinfo.c:310 +#: ../common/stringinfo.c:319 #, c-format -msgid "" -"out of memory\n" -"\n" +msgid "out of memory\n\n" "Cannot enlarge string buffer containing %d bytes by %d more bytes.\n" -msgstr "" -"недостатньо пам'яті\n" -"\n" +msgstr "недостатньо пам'яті\n\n" "Неможливо збільшити рядковий буфер (містить: %d байт, потребувалось: %d байт).\n" #: ../common/username.c:43 @@ -554,7 +751,7 @@ msgstr "" msgid "could not look up effective user ID %ld: %s" msgstr "не можу знайти користувача з ефективним ID %ld: %s" -#: ../common/username.c:45 libpq/auth.c:1879 +#: ../common/username.c:45 libpq/auth.c:1888 msgid "user does not exist" msgstr "користувача не існує" @@ -648,20 +845,20 @@ msgstr "Ви можливо маєте антивірус, резервне ко #: ../port/path.c:775 #, c-format -msgid "could not get current working directory: %s\n" -msgstr "не вдалося отримати поточний робочий каталог: %s\n" +msgid "could not get current working directory: %m\n" +msgstr "не вдалося отримати поточний робочий каталог: %m\n" #: ../port/strerror.c:72 #, c-format msgid "operating system error %d" msgstr "помилка операційної системи %d" -#: ../port/thread.c:50 ../port/thread.c:86 +#: ../port/user.c:43 ../port/user.c:79 #, c-format msgid "could not look up local user ID %d: %s" msgstr "не вдалося знайти локального користувача з ідентифікатором %d: %s" -#: ../port/thread.c:55 ../port/thread.c:91 +#: ../port/user.c:48 ../port/user.c:84 #, c-format msgid "local user with ID %d does not exist" msgstr "локального користувача з ідентифікатором %d не існує" @@ -681,104 +878,104 @@ msgstr "не вдалося отримати SID для групи PowerUsers: msgid "could not check access token membership: error code %lu\n" msgstr "не вдається перевірити членство токену доступу: код помилки %lu\n" -#: access/brin/brin.c:216 +#: access/brin/brin.c:405 #, c-format msgid "request for BRIN range summarization for index \"%s\" page %u was not recorded" msgstr "запит на підсумок діапазону BRIN для індексу «%s» сторінки %u не вдалося записати" -#: access/brin/brin.c:1036 access/brin/brin.c:1143 access/gin/ginfast.c:1039 -#: access/transam/xlogfuncs.c:189 access/transam/xlogfuncs.c:214 -#: access/transam/xlogfuncs.c:247 access/transam/xlogfuncs.c:286 -#: access/transam/xlogfuncs.c:307 access/transam/xlogfuncs.c:328 -#: access/transam/xlogfuncs.c:398 access/transam/xlogfuncs.c:456 +#: access/brin/brin.c:1385 access/brin/brin.c:1493 access/gin/ginfast.c:1040 +#: access/transam/xlogfuncs.c:183 access/transam/xlogfuncs.c:208 +#: access/transam/xlogfuncs.c:241 access/transam/xlogfuncs.c:280 +#: access/transam/xlogfuncs.c:301 access/transam/xlogfuncs.c:322 +#: access/transam/xlogfuncs.c:388 access/transam/xlogfuncs.c:446 #, c-format msgid "recovery is in progress" msgstr "відновлення у процесі" -#: access/brin/brin.c:1037 access/brin/brin.c:1144 +#: access/brin/brin.c:1386 access/brin/brin.c:1494 #, c-format msgid "BRIN control functions cannot be executed during recovery." msgstr "Контрольна функція BRIN не може бути виконана під час відновлення." -#: access/brin/brin.c:1042 access/brin/brin.c:1149 +#: access/brin/brin.c:1391 access/brin/brin.c:1499 #, c-format msgid "block number out of range: %lld" msgstr "номер блоку поза діапазоном: %lld" -#: access/brin/brin.c:1086 access/brin/brin.c:1175 +#: access/brin/brin.c:1436 access/brin/brin.c:1525 #, c-format msgid "\"%s\" is not a BRIN index" msgstr "\"%s\" не є індексом BRIN" -#: access/brin/brin.c:1102 access/brin/brin.c:1191 +#: access/brin/brin.c:1452 access/brin/brin.c:1541 #, c-format msgid "could not open parent table of index \"%s\"" msgstr "не вдалося відкрити батьківську таблицю індексу \"%s\"" -#: access/brin/brin.c:1111 access/brin/brin.c:1207 access/gin/ginfast.c:1084 -#: parser/parse_utilcmd.c:2280 +#: access/brin/brin.c:1461 access/brin/brin.c:1557 access/gin/ginfast.c:1085 +#: parser/parse_utilcmd.c:2277 #, c-format msgid "index \"%s\" is not valid" msgstr "індекс \"%s\" не є припустимим" -#: access/brin/brin_bloom.c:749 access/brin/brin_bloom.c:791 -#: access/brin/brin_minmax_multi.c:2985 access/brin/brin_minmax_multi.c:3122 -#: statistics/dependencies.c:663 statistics/dependencies.c:716 -#: statistics/mcv.c:1484 statistics/mcv.c:1515 statistics/mvdistinct.c:344 -#: statistics/mvdistinct.c:397 utils/adt/pseudotypes.c:43 -#: utils/adt/pseudotypes.c:77 utils/adt/tsgistidx.c:93 +#: access/brin/brin_bloom.c:783 access/brin/brin_bloom.c:825 +#: access/brin/brin_minmax_multi.c:2993 access/brin/brin_minmax_multi.c:3130 +#: statistics/dependencies.c:661 statistics/dependencies.c:714 +#: statistics/mcv.c:1480 statistics/mcv.c:1511 statistics/mvdistinct.c:343 +#: statistics/mvdistinct.c:396 utils/adt/pseudotypes.c:40 +#: utils/adt/pseudotypes.c:74 utils/adt/tsgistidx.c:94 #, c-format msgid "cannot accept a value of type %s" msgstr "не можна прийняти значення типу %s" -#: access/brin/brin_pageops.c:76 access/brin/brin_pageops.c:362 -#: access/brin/brin_pageops.c:852 access/gin/ginentrypage.c:110 -#: access/gist/gist.c:1462 access/spgist/spgdoinsert.c:2002 -#: access/spgist/spgdoinsert.c:2279 +#: 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/spgist/spgdoinsert.c:2278 #, c-format msgid "index row size %zu exceeds maximum %zu for index \"%s\"" msgstr "розмір рядка індексу %zu перевищує максимальний %zu для індексу \"%s\"" -#: access/brin/brin_revmap.c:393 access/brin/brin_revmap.c:399 +#: access/brin/brin_revmap.c:383 access/brin/brin_revmap.c:389 #, c-format msgid "corrupted BRIN index: inconsistent range map" msgstr "пошкоджений BRIN індекс: несумісна карта діапазонів" -#: access/brin/brin_revmap.c:593 +#: access/brin/brin_revmap.c:583 #, c-format msgid "unexpected page type 0x%04X in BRIN index \"%s\" block %u" msgstr "неочікуваний тип сторінки 0x%04X в BRIN індексі \"%s\" блокує %u" -#: access/brin/brin_validate.c:118 access/gin/ginvalidate.c:151 -#: access/gist/gistvalidate.c:153 access/hash/hashvalidate.c:139 +#: access/brin/brin_validate.c:118 access/gin/ginvalidate.c:149 +#: access/gist/gistvalidate.c:152 access/hash/hashvalidate.c:139 #: access/nbtree/nbtvalidate.c:120 access/spgist/spgvalidate.c:189 #, c-format msgid "operator family \"%s\" of access method %s contains function %s with invalid support number %d" msgstr "сімейство операторів \"%s\" методу доступу %s містить функцію %s з недопустимим номером підтримки %d" -#: access/brin/brin_validate.c:134 access/gin/ginvalidate.c:163 -#: access/gist/gistvalidate.c:165 access/hash/hashvalidate.c:118 +#: access/brin/brin_validate.c:134 access/gin/ginvalidate.c:161 +#: access/gist/gistvalidate.c:164 access/hash/hashvalidate.c:118 #: access/nbtree/nbtvalidate.c:132 access/spgist/spgvalidate.c:201 #, c-format msgid "operator family \"%s\" of access method %s contains function %s with wrong signature for support number %d" msgstr "сімейство операторів \"%s\" з доступом %s містить функцію %s з неправильним підписом для номеру підтримки %d" -#: access/brin/brin_validate.c:156 access/gin/ginvalidate.c:182 -#: access/gist/gistvalidate.c:185 access/hash/hashvalidate.c:160 +#: access/brin/brin_validate.c:156 access/gin/ginvalidate.c:180 +#: access/gist/gistvalidate.c:184 access/hash/hashvalidate.c:160 #: access/nbtree/nbtvalidate.c:152 access/spgist/spgvalidate.c:221 #, c-format msgid "operator family \"%s\" of access method %s contains operator %s with invalid strategy number %d" msgstr "сімейство операторів \"%s\" з доступом %s містить оператор %s з недопустимим стратегічним номером %d" -#: access/brin/brin_validate.c:185 access/gin/ginvalidate.c:195 +#: access/brin/brin_validate.c:185 access/gin/ginvalidate.c:193 #: access/hash/hashvalidate.c:173 access/nbtree/nbtvalidate.c:165 #: access/spgist/spgvalidate.c:237 #, c-format msgid "operator family \"%s\" of access method %s contains invalid ORDER BY specification for operator %s" msgstr "сімейство операторів \"%s\" з доступом %s містить некоректну специфікацію ORDER BY для оператора %s" -#: access/brin/brin_validate.c:198 access/gin/ginvalidate.c:208 -#: access/gist/gistvalidate.c:233 access/hash/hashvalidate.c:186 +#: access/brin/brin_validate.c:198 access/gin/ginvalidate.c:206 +#: access/gist/gistvalidate.c:232 access/hash/hashvalidate.c:186 #: access/nbtree/nbtvalidate.c:178 access/spgist/spgvalidate.c:253 #, c-format msgid "operator family \"%s\" of access method %s contains operator %s with wrong signature" @@ -801,38 +998,38 @@ msgstr "сімейство операторів \"%s\" з методом дос msgid "operator class \"%s\" of access method %s is missing operator(s)" msgstr "клас операторів \"%s\" з методом доступа %s не має операторів" -#: access/brin/brin_validate.c:270 access/gin/ginvalidate.c:250 -#: access/gist/gistvalidate.c:274 +#: access/brin/brin_validate.c:270 access/gin/ginvalidate.c:248 +#: access/gist/gistvalidate.c:273 #, c-format msgid "operator class \"%s\" of access method %s is missing support function %d" msgstr "клас операторів \"%s\" з доступом %s немає функції підтримки %d" -#: access/common/attmap.c:122 +#: access/common/attmap.c:121 #, c-format msgid "Returned type %s does not match expected type %s in column %d." msgstr "Повернений тип %s не відповідає очікуваному типу %s в стовпці %d." -#: access/common/attmap.c:150 +#: access/common/attmap.c:149 #, c-format msgid "Number of returned columns (%d) does not match expected column count (%d)." msgstr "Кількість повернених стовпців (%d) не відповідає очікуваній кількості стовпців (%d)." -#: access/common/attmap.c:234 access/common/attmap.c:246 +#: access/common/attmap.c:233 access/common/attmap.c:245 #, c-format msgid "could not convert row type" msgstr "неможливо конвертувати тип рядка" -#: access/common/attmap.c:235 +#: access/common/attmap.c:234 #, c-format msgid "Attribute \"%s\" of type %s does not match corresponding attribute of type %s." msgstr "Атрибут \"%s\" типу %s не збігається з відповідним атрибутом типу %s." -#: access/common/attmap.c:247 +#: access/common/attmap.c:246 #, c-format msgid "Attribute \"%s\" of type %s does not exist in type %s." msgstr "Атрибут \"%s\" типу %s не існує в типі %s." -#: access/common/heaptuple.c:1133 access/common/heaptuple.c:1468 +#: access/common/heaptuple.c:1132 access/common/heaptuple.c:1467 #, c-format msgid "number of columns (%d) exceeds limit (%d)" msgstr "кількість стовпців (%d) перевищує обмеження (%d)" @@ -842,122 +1039,110 @@ msgstr "кількість стовпців (%d) перевищує обмеже msgid "number of index columns (%d) exceeds limit (%d)" msgstr "кількість індексних стовпців (%d) перевищує обмеження (%d)" -#: access/common/indextuple.c:209 access/spgist/spgutils.c:957 +#: access/common/indextuple.c:209 access/spgist/spgutils.c:970 #, c-format msgid "index row requires %zu bytes, maximum size is %zu" msgstr "індексний рядок вимагає %zu байтів, максимальний розмір %zu" -#: access/common/printtup.c:292 tcop/fastpath.c:107 tcop/fastpath.c:454 -#: tcop/postgres.c:1944 +#: access/common/printtup.c:292 commands/explain.c:5376 tcop/fastpath.c:107 +#: tcop/fastpath.c:454 tcop/postgres.c:1956 #, c-format msgid "unsupported format code: %d" msgstr "цей формат коду не підтримується:%d" -#: access/common/reloptions.c:521 access/common/reloptions.c:532 +#: access/common/reloptions.c:519 access/common/reloptions.c:530 msgid "Valid values are \"on\", \"off\", and \"auto\"." msgstr "Дійсні значення \"увімкнено\", \"вимкнено\" та \"автоматично\"." -#: access/common/reloptions.c:543 +#: access/common/reloptions.c:541 msgid "Valid values are \"local\" and \"cascaded\"." msgstr "Припустимі значення лише \"local\" і \"cascaded\"." -#: access/common/reloptions.c:691 +#: access/common/reloptions.c:689 #, c-format msgid "user-defined relation parameter types limit exceeded" msgstr "перевищено встановлене користувачем обмеження типу параметрів відношення" -#: access/common/reloptions.c:1233 +#: access/common/reloptions.c:1231 #, c-format msgid "RESET must not include values for parameters" msgstr "RESET не має містити значення для параметрів" -#: access/common/reloptions.c:1265 +#: access/common/reloptions.c:1263 #, c-format msgid "unrecognized parameter namespace \"%s\"" msgstr "нерозпізнаний параметр простору імен \"%s\"" -#: access/common/reloptions.c:1302 commands/variable.c:1167 +#: access/common/reloptions.c:1300 commands/variable.c:1191 #, c-format msgid "tables declared WITH OIDS are not supported" msgstr "таблиці, позначені WITH OIDS, не підтримуються" -#: access/common/reloptions.c:1470 +#: access/common/reloptions.c:1468 #, c-format msgid "unrecognized parameter \"%s\"" msgstr "нерозпізнаний параметр \"%s\"" -#: access/common/reloptions.c:1582 +#: access/common/reloptions.c:1580 #, c-format msgid "parameter \"%s\" specified more than once" msgstr "параметр «%s» вказано кілька разів" -#: access/common/reloptions.c:1598 +#: access/common/reloptions.c:1596 #, c-format msgid "invalid value for boolean option \"%s\": %s" msgstr "неприпустиме значення для булевого параметра \"%s\": %s" -#: access/common/reloptions.c:1610 +#: access/common/reloptions.c:1608 #, c-format msgid "invalid value for integer option \"%s\": %s" msgstr "неприпустиме значення для цілого параметра \"%s\": %s" -#: access/common/reloptions.c:1616 access/common/reloptions.c:1636 +#: access/common/reloptions.c:1614 access/common/reloptions.c:1634 #, c-format msgid "value %s out of bounds for option \"%s\"" msgstr "значення %s поза допустимими межами для параметра \"%s\"" -#: access/common/reloptions.c:1618 +#: access/common/reloptions.c:1616 #, c-format msgid "Valid values are between \"%d\" and \"%d\"." msgstr "Припустимі значення знаходяться між \"%d\" і \"%d\"." -#: access/common/reloptions.c:1630 +#: access/common/reloptions.c:1628 #, c-format msgid "invalid value for floating point option \"%s\": %s" msgstr "неприпустиме значення для числа з плавучою точкою параметра \"%s\": %s" -#: access/common/reloptions.c:1638 +#: access/common/reloptions.c:1636 #, c-format msgid "Valid values are between \"%f\" and \"%f\"." msgstr "Припустимі значення знаходяться між \"%f\" і \"%f\"." -#: access/common/reloptions.c:1660 +#: access/common/reloptions.c:1658 #, c-format msgid "invalid value for enum option \"%s\": %s" msgstr "недійсне значення для параметра перерахування \"%s\": %s" -#: access/common/reloptions.c:1991 +#: access/common/reloptions.c:1989 #, c-format msgid "cannot specify storage parameters for a partitioned table" msgstr "неможливо вказати параметри сховища для секціонованої таблиці" -#: access/common/reloptions.c:1992 +#: access/common/reloptions.c:1990 #, c-format msgid "Specify storage parameters for its leaf partitions instead." msgstr "Вкажіть параметри сховища для табличних розділів." -#: access/common/toast_compression.c:33 +#: access/common/toast_compression.c:31 #, c-format msgid "compression method lz4 not supported" msgstr "метод стискання lz4 не підтримується" -#: access/common/toast_compression.c:34 +#: access/common/toast_compression.c:32 #, c-format msgid "This functionality requires the server to be built with lz4 support." msgstr "Ця функціональність потребує, щоб сервер був побудований з підтримкою lz4." -#: access/common/tupdesc.c:837 commands/tablecmds.c:6957 -#: commands/tablecmds.c:12985 -#, c-format -msgid "too many array dimensions" -msgstr "занадто багато вимірів масиву" - -#: access/common/tupdesc.c:842 parser/parse_clause.c:772 -#: parser/parse_relation.c:1913 -#, c-format -msgid "column \"%s\" cannot be declared SETOF" -msgstr "стовпець\"%s\" не може бути оголошений SETOF" - #: access/gin/ginbulk.c:44 #, c-format msgid "posting list is too long" @@ -965,25 +1150,25 @@ msgstr "список вказівників задовгий" #: access/gin/ginbulk.c:45 #, c-format -msgid "Reduce maintenance_work_mem." -msgstr "Зменшіть maintenance_work_mem." +msgid "Reduce \"maintenance_work_mem\"." +msgstr "Зменшіть \"maintenance_work_mem\"." -#: access/gin/ginfast.c:1040 +#: access/gin/ginfast.c:1041 #, c-format msgid "GIN pending list cannot be cleaned up during recovery." msgstr "Черга записів GIN не може бути очищена під час відновлення." -#: access/gin/ginfast.c:1047 +#: access/gin/ginfast.c:1048 #, c-format msgid "\"%s\" is not a GIN index" msgstr "\"%s\" не є індексом GIN" -#: access/gin/ginfast.c:1058 +#: access/gin/ginfast.c:1059 #, c-format msgid "cannot access temporary indexes of other sessions" msgstr "доступ до тимчасових індексів з інших сесій заблокований" -#: access/gin/ginget.c:273 access/nbtree/nbtinsert.c:762 +#: access/gin/ginget.c:271 access/nbtree/nbtinsert.c:762 #, c-format msgid "failed to re-find tuple within index \"%s\"" msgstr "не вдалося повторно знайти кортеж в межах індексу \"%s\"" @@ -998,50 +1183,50 @@ msgstr "старі індекси GIN не підтримують сканува msgid "To fix this, do REINDEX INDEX \"%s\"." msgstr "Щоб виправити це, зробіть REINDEX INDEX \"%s\"." -#: access/gin/ginutil.c:146 executor/execExpr.c:2169 -#: utils/adt/arrayfuncs.c:4045 utils/adt/arrayfuncs.c:6732 -#: utils/adt/rowtypes.c:984 +#: access/gin/ginutil.c:147 executor/execExpr.c:2192 +#: utils/adt/arrayfuncs.c:4016 utils/adt/arrayfuncs.c:6712 +#: utils/adt/rowtypes.c:974 #, c-format msgid "could not identify a comparison function for type %s" msgstr "не вдалося визначити порівняльну функцію для типу %s" -#: access/gin/ginvalidate.c:92 access/gist/gistvalidate.c:93 +#: access/gin/ginvalidate.c:90 access/gist/gistvalidate.c:92 #: access/hash/hashvalidate.c:102 access/spgist/spgvalidate.c:102 #, c-format msgid "operator family \"%s\" of access method %s contains support function %s with different left and right input types" msgstr "сімейство операторів \"%s\" з методом доступу %s містить функцію підтримки %s з різними типами вводу зліва і справа" -#: access/gin/ginvalidate.c:260 +#: access/gin/ginvalidate.c:258 #, c-format msgid "operator class \"%s\" of access method %s is missing support function %d or %d" msgstr "клас операторів \"%s\" з методом доступу %s не має функції підтримки %d або %d" -#: access/gin/ginvalidate.c:333 access/gist/gistvalidate.c:350 +#: access/gin/ginvalidate.c:331 access/gist/gistvalidate.c:349 #: access/spgist/spgvalidate.c:387 #, c-format msgid "support function number %d is invalid for access method %s" msgstr "номер функції підтримки %d неприпустимий для методу доступу %s" -#: access/gist/gist.c:759 access/gist/gistvacuum.c:426 +#: access/gist/gist.c:760 access/gist/gistvacuum.c:426 #, c-format msgid "index \"%s\" contains an inner tuple marked as invalid" msgstr "індекс \"%s\" містить внутрішній кортеж, позначений як неправильний" -#: access/gist/gist.c:761 access/gist/gistvacuum.c:428 +#: access/gist/gist.c:762 access/gist/gistvacuum.c:428 #, c-format msgid "This is caused by an incomplete page split at crash recovery before upgrading to PostgreSQL 9.1." msgstr "Це викликано неповним поділом сторінки під час відновлення перед покращенням до версії PostgreSQL 9.1." -#: access/gist/gist.c:762 access/gist/gistutil.c:801 access/gist/gistutil.c:812 -#: access/gist/gistvacuum.c:429 access/hash/hashutil.c:227 -#: access/hash/hashutil.c:238 access/hash/hashutil.c:250 -#: access/hash/hashutil.c:271 access/nbtree/nbtpage.c:813 +#: access/gist/gist.c:763 access/gist/gistutil.c:800 access/gist/gistutil.c:811 +#: access/gist/gistvacuum.c:429 access/hash/hashutil.c:226 +#: access/hash/hashutil.c:237 access/hash/hashutil.c:249 +#: access/hash/hashutil.c:270 access/nbtree/nbtpage.c:813 #: access/nbtree/nbtpage.c:824 #, c-format msgid "Please REINDEX it." msgstr "Будь ласка, виконайте REINDEX." -#: access/gist/gist.c:1195 +#: access/gist/gist.c:1196 #, c-format msgid "fixing incomplete split in index \"%s\", block %u" msgstr "виправлення неповного розділу в індексі \"%s\", блок %u" @@ -1056,52 +1241,52 @@ msgstr "помилка методу picksplit для стовпця %d інде msgid "The index is not optimal. To optimize it, contact a developer, or try to use the column as the second one in the CREATE INDEX command." msgstr "Індекс не є оптимальним. Щоб оптимізувати його, зв'яжіться з розробником або спробуйте використати стовпець як другий індекс у команді CREATE INDEX." -#: access/gist/gistutil.c:798 access/hash/hashutil.c:224 +#: access/gist/gistutil.c:797 access/hash/hashutil.c:223 #: access/nbtree/nbtpage.c:810 #, c-format msgid "index \"%s\" contains unexpected zero page at block %u" msgstr "індекс \"%s\" містить неочікувану нульову сторінку в блоці %u" -#: access/gist/gistutil.c:809 access/hash/hashutil.c:235 -#: access/hash/hashutil.c:247 access/nbtree/nbtpage.c:821 +#: access/gist/gistutil.c:808 access/hash/hashutil.c:234 +#: access/hash/hashutil.c:246 access/nbtree/nbtpage.c:821 #, c-format msgid "index \"%s\" contains corrupted page at block %u" msgstr "індекс \"%s\" містить пошкоджену сторінку в блоці %u" -#: access/gist/gistvalidate.c:203 +#: access/gist/gistvalidate.c:202 #, c-format msgid "operator family \"%s\" of access method %s contains unsupported ORDER BY specification for operator %s" msgstr "сімейство операторів \"%s\" з методом доступу %s містить непідтримувану для оператора специфікацію ORDER BY %s" -#: access/gist/gistvalidate.c:214 +#: access/gist/gistvalidate.c:213 #, c-format msgid "operator family \"%s\" of access method %s contains incorrect ORDER BY opfamily specification for operator %s" msgstr "сімейство операторів \"%s\" з методом доступу %s містить некоректну для оператора специфікацію ORDER BY opfamily %s" -#: access/hash/hashfunc.c:279 access/hash/hashfunc.c:333 -#: utils/adt/varchar.c:1009 utils/adt/varchar.c:1064 +#: access/hash/hashfunc.c:277 access/hash/hashfunc.c:333 +#: utils/adt/varchar.c:1008 utils/adt/varchar.c:1065 #, c-format msgid "could not determine which collation to use for string hashing" msgstr "не вдалося визначити, який параметр сортування використати для обчислення хешу рядків" -#: access/hash/hashfunc.c:280 access/hash/hashfunc.c:334 catalog/heap.c:668 -#: catalog/heap.c:674 commands/createas.c:206 commands/createas.c:515 -#: commands/indexcmds.c:2015 commands/tablecmds.c:17490 commands/view.c:86 -#: regex/regc_pg_locale.c:243 utils/adt/formatting.c:1648 -#: utils/adt/formatting.c:1770 utils/adt/formatting.c:1893 utils/adt/like.c:191 -#: utils/adt/like_support.c:1025 utils/adt/varchar.c:739 -#: utils/adt/varchar.c:1010 utils/adt/varchar.c:1065 utils/adt/varlena.c:1518 +#: access/hash/hashfunc.c:278 access/hash/hashfunc.c:334 catalog/heap.c:672 +#: catalog/heap.c:678 commands/createas.c:201 commands/createas.c:508 +#: commands/indexcmds.c:2048 commands/tablecmds.c:18068 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 +#: utils/adt/varchar.c:1009 utils/adt/varchar.c:1066 utils/adt/varlena.c:1521 #, c-format msgid "Use the COLLATE clause to set the collation explicitly." msgstr "Використайте опцію COLLATE для задання параметрів сортування." -#: access/hash/hashinsert.c:86 +#: access/hash/hashinsert.c:84 #, c-format msgid "index row size %zu exceeds hash maximum %zu" msgstr "індексний рядок розміру %zu перевищує максимальний хеш %zu" -#: access/hash/hashinsert.c:88 access/spgist/spgdoinsert.c:2006 -#: access/spgist/spgdoinsert.c:2283 access/spgist/spgutils.c:1018 +#: access/hash/hashinsert.c:86 access/spgist/spgdoinsert.c:2005 +#: access/spgist/spgdoinsert.c:2282 access/spgist/spgutils.c:1031 #, c-format msgid "Values larger than a buffer page cannot be indexed." msgstr "Значення, що перевищують буфер сторінки, не можна індексувати." @@ -1116,17 +1301,17 @@ msgstr "недійсний номер блока переповнення %u" msgid "out of overflow pages in hash index \"%s\"" msgstr "закінчились переповнені сторінки в хеш-індексі \"%s\"" -#: access/hash/hashsearch.c:315 +#: access/hash/hashsearch.c:311 #, c-format msgid "hash indexes do not support whole-index scans" msgstr "хеш-індекси не підтримують сканування цілого індексу" -#: access/hash/hashutil.c:263 +#: access/hash/hashutil.c:262 #, c-format msgid "index \"%s\" is not a hash index" msgstr "індекс \"%s\" не є хеш-індексом" -#: access/hash/hashutil.c:269 +#: access/hash/hashutil.c:268 #, c-format msgid "index \"%s\" has wrong hash version" msgstr "індекс \"%s\" має неправильну версію хешу" @@ -1141,297 +1326,296 @@ msgstr "сімейство операторів \"%s\" з методом дос msgid "operator family \"%s\" of access method %s is missing cross-type operator(s)" msgstr "сімейство операторів \"%s\" з методом доступу %s не містить міжтипового оператора (ів)" -#: access/heap/heapam.c:2038 +#: access/heap/heapam.c:2195 #, c-format msgid "cannot insert tuples in a parallel worker" msgstr "не вдалося вставити кортежі в паралельного працівника" -#: access/heap/heapam.c:2557 +#: access/heap/heapam.c:2714 #, c-format msgid "cannot delete tuples during a parallel operation" msgstr "не вдалося видалити кортежі під час паралельної операції" -#: access/heap/heapam.c:2604 +#: access/heap/heapam.c:2761 #, c-format msgid "attempted to delete invisible tuple" msgstr "спроба видалити невидимий кортеж" -#: access/heap/heapam.c:3052 access/heap/heapam.c:5921 +#: access/heap/heapam.c:3209 access/heap/heapam.c:6082 #, c-format msgid "cannot update tuples during a parallel operation" msgstr "неможливо оновити кортежі під час паралельної операції" -#: access/heap/heapam.c:3180 +#: access/heap/heapam.c:3337 #, c-format msgid "attempted to update invisible tuple" msgstr "спроба оновити невидимий кортеж" -#: access/heap/heapam.c:4569 access/heap/heapam.c:4607 -#: access/heap/heapam.c:4872 access/heap/heapam_handler.c:467 +#: access/heap/heapam.c:4726 access/heap/heapam.c:4764 +#: access/heap/heapam.c:5029 access/heap/heapam_handler.c:468 #, c-format msgid "could not obtain lock on row in relation \"%s\"" msgstr "не вдалося отримати блокування у рядку стосовно \"%s\"" -#: access/heap/heapam_handler.c:412 +#: access/heap/heapam_handler.c:413 #, c-format msgid "tuple to be locked was already moved to another partition due to concurrent update" msgstr "кортеж, який підлягає блокуванню, вже був переміщений до іншої секції в результаті паралельного оновлення" -#: access/heap/hio.c:536 access/heap/rewriteheap.c:659 +#: access/heap/hio.c:535 access/heap/rewriteheap.c:640 #, c-format msgid "row is too big: size %zu, maximum size %zu" msgstr "рядок завеликий: розмір %zu, максимальний розмір %zu" -#: access/heap/rewriteheap.c:919 +#: access/heap/rewriteheap.c:885 #, c-format msgid "could not write to file \"%s\", wrote %d of %d: %m" msgstr "не вдалося записати до файлу \"%s\", записано %d з %d: %m" -#: access/heap/rewriteheap.c:1011 access/heap/rewriteheap.c:1128 +#: access/heap/rewriteheap.c:977 access/heap/rewriteheap.c:1094 #: access/transam/timeline.c:329 access/transam/timeline.c:481 -#: access/transam/xlog.c:2973 access/transam/xlog.c:3164 -#: access/transam/xlog.c:3940 access/transam/xlog.c:8746 -#: access/transam/xlogfuncs.c:702 backup/basebackup_server.c:151 -#: backup/basebackup_server.c:244 commands/dbcommands.c:495 -#: postmaster/postmaster.c:4557 postmaster/postmaster.c:5560 -#: replication/logical/origin.c:603 replication/slot.c:1777 -#: storage/file/copydir.c:157 storage/smgr/md.c:232 utils/time/snapmgr.c:1263 +#: access/transam/xlog.c:3254 access/transam/xlog.c:3445 +#: access/transam/xlog.c:4282 access/transam/xlog.c:9244 +#: 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:4112 +#: postmaster/walsummarizer.c:1212 replication/logical/origin.c:603 +#: replication/slot.c:2059 storage/file/copydir.c:157 storage/smgr/md.c:230 +#: utils/time/snapmgr.c:1234 #, c-format msgid "could not create file \"%s\": %m" msgstr "неможливо створити файл \"%s\": %m" -#: access/heap/rewriteheap.c:1138 +#: access/heap/rewriteheap.c:1104 #, c-format msgid "could not truncate file \"%s\" to %u: %m" msgstr "не вдалося скоротити файл \"%s\" до потрібного розміру %u: %m" -#: access/heap/rewriteheap.c:1156 access/transam/timeline.c:384 +#: access/heap/rewriteheap.c:1122 access/transam/timeline.c:384 #: access/transam/timeline.c:424 access/transam/timeline.c:498 -#: access/transam/xlog.c:3023 access/transam/xlog.c:3220 -#: access/transam/xlog.c:3952 commands/dbcommands.c:507 -#: postmaster/postmaster.c:4567 postmaster/postmaster.c:4577 +#: access/transam/xlog.c:3304 access/transam/xlog.c:3501 +#: access/transam/xlog.c:4294 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:1767 -#: replication/slot.c:1812 storage/file/buffile.c:545 -#: storage/file/copydir.c:197 utils/init/miscinit.c:1612 -#: utils/init/miscinit.c:1623 utils/init/miscinit.c:1631 utils/misc/guc.c:4340 -#: utils/misc/guc.c:4371 utils/misc/guc.c:5507 utils/misc/guc.c:5525 -#: utils/time/snapmgr.c:1268 utils/time/snapmgr.c:1275 +#: 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:1601 +#: utils/init/miscinit.c:1612 utils/init/miscinit.c:1620 utils/misc/guc.c:4450 +#: utils/misc/guc.c:4481 utils/misc/guc.c:5634 utils/misc/guc.c:5652 +#: utils/time/snapmgr.c:1239 utils/time/snapmgr.c:1246 #, c-format msgid "could not write to file \"%s\": %m" msgstr "неможливо записати до файлу \"%s\": %m" -#: access/heap/vacuumlazy.c:482 +#: access/heap/vacuumlazy.c:473 #, c-format msgid "aggressively vacuuming \"%s.%s.%s\"" msgstr "агресивне очищення \"%s.%s.%s\"" -#: access/heap/vacuumlazy.c:487 +#: access/heap/vacuumlazy.c:478 #, c-format msgid "vacuuming \"%s.%s.%s\"" msgstr "очищення \"%s.%s.%s\"" -#: access/heap/vacuumlazy.c:635 +#: access/heap/vacuumlazy.c:626 #, c-format msgid "finished vacuuming \"%s.%s.%s\": index scans: %d\n" msgstr "очищення закінчено \"%s.%s.%s\": сканувань індексу: %d\n" -#: access/heap/vacuumlazy.c:646 +#: access/heap/vacuumlazy.c:637 #, c-format msgid "automatic aggressive vacuum to prevent wraparound of table \"%s.%s.%s\": index scans: %d\n" msgstr "автоматичний агресивний вакуум для запобігання зацикленню таблиці \"%s.%s.%s\": сканування індексу: %d\n" -#: access/heap/vacuumlazy.c:648 +#: access/heap/vacuumlazy.c:639 #, c-format msgid "automatic vacuum to prevent wraparound of table \"%s.%s.%s\": index scans: %d\n" msgstr "автоматичне очищення для запобігання зацикленню таблиці \"%s.%s.%s\": сканування індексу: %d\n" -#: access/heap/vacuumlazy.c:653 +#: access/heap/vacuumlazy.c:644 #, c-format msgid "automatic aggressive vacuum of table \"%s.%s.%s\": index scans: %d\n" msgstr "автоматична агресивне очищення таблиці \"%s.%s.%s\": сканувань індексу: %d\n" -#: access/heap/vacuumlazy.c:655 +#: access/heap/vacuumlazy.c:646 #, c-format msgid "automatic vacuum of table \"%s.%s.%s\": index scans: %d\n" msgstr "автоматичне очищення таблиці \"%s.%s.%s\": сканувань індексу: %d\n" -#: access/heap/vacuumlazy.c:662 +#: access/heap/vacuumlazy.c:653 #, c-format msgid "pages: %u removed, %u remain, %u scanned (%.2f%% of total)\n" msgstr "сторінок: %u видалено, %u залишилось, %u відскановано (%.2f%% від загальної кількості)\n" -#: access/heap/vacuumlazy.c:669 +#: access/heap/vacuumlazy.c:660 #, c-format msgid "tuples: %lld removed, %lld remain, %lld are dead but not yet removable\n" msgstr "кортежів: %lld видалено, %lld залишилось, %lld мертвих, але все ще не можуть бути видаленні\n" -#: access/heap/vacuumlazy.c:675 +#: access/heap/vacuumlazy.c:666 #, c-format msgid "tuples missed: %lld dead from %u pages not removed due to cleanup lock contention\n" msgstr "пропущено кортежів: %lld померлих з %u сторінок не видалено через очищення блокування\n" -#: access/heap/vacuumlazy.c:681 +#: access/heap/vacuumlazy.c:672 #, c-format msgid "removable cutoff: %u, which was %d XIDs old when operation ended\n" msgstr "Видалення вирізу: %u, це було %d XIDs старий при завершенні операції\n" -#: access/heap/vacuumlazy.c:688 +#: access/heap/vacuumlazy.c:679 #, c-format msgid "new relfrozenxid: %u, which is %d XIDs ahead of previous value\n" msgstr "новий relfrozenxid: %u, що є %d XIDs попереду попереднього значення\n" -#: access/heap/vacuumlazy.c:696 +#: access/heap/vacuumlazy.c:687 #, c-format msgid "new relminmxid: %u, which is %d MXIDs ahead of previous value\n" msgstr "новий relminmxid: %u, що становить %d MXIDs попереду попереднього значення\n" -#: access/heap/vacuumlazy.c:699 +#: access/heap/vacuumlazy.c:690 #, c-format msgid "frozen: %u pages from table (%.2f%% of total) had %lld tuples frozen\n" msgstr "заморожено: %u сторінок з таблиці (%.2f%% з усього) має %lld заморожені рядків\n" -#: access/heap/vacuumlazy.c:707 +#: access/heap/vacuumlazy.c:698 msgid "index scan not needed: " msgstr "сканування індексу не потрібне: " -#: access/heap/vacuumlazy.c:709 +#: access/heap/vacuumlazy.c:700 msgid "index scan needed: " msgstr "сканування індексу потрібне: " -#: access/heap/vacuumlazy.c:711 +#: access/heap/vacuumlazy.c:702 #, c-format msgid "%u pages from table (%.2f%% of total) had %lld dead item identifiers removed\n" msgstr "у %u сторінок з таблиці (%.2f%% від загальної кількості) було видалено %lld мертвих ідентифікаторів елементів\n" -#: access/heap/vacuumlazy.c:716 +#: access/heap/vacuumlazy.c:707 msgid "index scan bypassed: " msgstr "сканування індексу пропущено: " -#: access/heap/vacuumlazy.c:718 +#: access/heap/vacuumlazy.c:709 msgid "index scan bypassed by failsafe: " msgstr "сканування індексу безпечно пропущено: " -#: access/heap/vacuumlazy.c:720 +#: access/heap/vacuumlazy.c:711 #, c-format msgid "%u pages from table (%.2f%% of total) have %lld dead item identifiers\n" msgstr "%u сторінок з таблиці (%.2f%% від загальної кількості) мають %lld мертвих ідентифікаторів елементів\n" -#: access/heap/vacuumlazy.c:735 +#: access/heap/vacuumlazy.c:726 #, c-format msgid "index \"%s\": pages: %u in total, %u newly deleted, %u currently deleted, %u reusable\n" msgstr "індекс \"%s\": сторінок: %u загалом, %u нещодавно видалено, %u наразі видалено, %u для повторного використання\n" -#: access/heap/vacuumlazy.c:747 commands/analyze.c:796 +#: access/heap/vacuumlazy.c:738 commands/analyze.c:794 #, c-format msgid "I/O timings: read: %.3f ms, write: %.3f ms\n" msgstr "час вводу-виведення: читання %.3f мс, запис: %.3f мс\n" -#: access/heap/vacuumlazy.c:757 commands/analyze.c:799 +#: access/heap/vacuumlazy.c:748 commands/analyze.c:797 #, c-format msgid "avg read rate: %.3f MB/s, avg write rate: %.3f MB/s\n" msgstr "середня швидкість читання: %.3f МБ/с, середня швидкість запису: %.3f МБ/с\n" -#: access/heap/vacuumlazy.c:760 commands/analyze.c:801 +#: access/heap/vacuumlazy.c:751 commands/analyze.c:799 #, c-format msgid "buffer usage: %lld hits, %lld misses, %lld dirtied\n" msgstr "використання буфера: %lld звернень, %lld промахів, %lld, брудних записів\n" -#: access/heap/vacuumlazy.c:765 +#: access/heap/vacuumlazy.c:756 #, c-format msgid "WAL usage: %lld records, %lld full page images, %llu bytes\n" msgstr "Використання WAL: %lld записів, %lld зображень на повну сторінку, %llu байтів\n" -#: access/heap/vacuumlazy.c:769 commands/analyze.c:805 +#: access/heap/vacuumlazy.c:760 commands/analyze.c:803 #, c-format msgid "system usage: %s" msgstr "використання системи: %s" -#: access/heap/vacuumlazy.c:2482 +#: access/heap/vacuumlazy.c:2172 #, c-format msgid "table \"%s\": removed %lld dead item identifiers in %u pages" msgstr "таблиця \"%s\": видалено %lld мертвих ідентифікаторів елементів в %u сторінках" -#: access/heap/vacuumlazy.c:2642 +#: access/heap/vacuumlazy.c:2326 #, 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:2645 +#: access/heap/vacuumlazy.c:2329 #, c-format msgid "The table's relfrozenxid or relminmxid is too far in the past." msgstr "relfrozenxid або relminmxid таблиці занадто далеко в минулому." -#: access/heap/vacuumlazy.c:2646 +#: access/heap/vacuumlazy.c:2330 #, c-format -msgid "" -"Consider increasing configuration parameter \"maintenance_work_mem\" or \"autovacuum_work_mem\".\n" +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" +msgstr "Можливо, слід збільшити параметр конфігурації \"maintenance_work_mem\" або \"autovacuum_work_mem\".\n" "Можливо, вам також доведеться розглянути інші способи, щоб VACUUM не відставав від розподілу ідентифікаторів транзакцій." -#: access/heap/vacuumlazy.c:2891 +#: access/heap/vacuumlazy.c:2592 #, c-format msgid "\"%s\": stopping truncate due to conflicting lock request" msgstr "\"%s\": зупинка скорочення через конфліктний запит блокування" -#: access/heap/vacuumlazy.c:2961 +#: access/heap/vacuumlazy.c:2662 #, c-format msgid "table \"%s\": truncated %u to %u pages" msgstr "таблиця \"%s: скорочена від %u до %u сторінок" -#: access/heap/vacuumlazy.c:3023 +#: access/heap/vacuumlazy.c:2724 #, c-format msgid "table \"%s\": suspending truncate due to conflicting lock request" msgstr "таблиця \"%s: припинення скорочення через конфліктуючий запит блокування" -#: access/heap/vacuumlazy.c:3183 +#: access/heap/vacuumlazy.c:2843 #, c-format msgid "disabling parallel option of vacuum on \"%s\" --- cannot vacuum temporary tables in parallel" msgstr "вимкнення паралельної опції очищення на \"%s\" --- неможливо паралельно очистити тимчасові таблиці" -#: access/heap/vacuumlazy.c:3399 +#: access/heap/vacuumlazy.c:3113 #, c-format msgid "while scanning block %u offset %u of relation \"%s.%s\"" msgstr "під час сканування блоку %u зсувом %u відношення \"%s.%s\"" -#: access/heap/vacuumlazy.c:3402 +#: access/heap/vacuumlazy.c:3116 #, c-format msgid "while scanning block %u of relation \"%s.%s\"" msgstr "у процесі сканування блоку %u відношення \"%s.%s\"" -#: access/heap/vacuumlazy.c:3406 +#: access/heap/vacuumlazy.c:3120 #, c-format msgid "while scanning relation \"%s.%s\"" msgstr "у процесі сканування відношення \"%s.%s\"" -#: access/heap/vacuumlazy.c:3414 +#: access/heap/vacuumlazy.c:3128 #, c-format msgid "while vacuuming block %u offset %u of relation \"%s.%s\"" msgstr "під час очищення блоку %u зсувом %u відношення \"%s.%s\"" -#: access/heap/vacuumlazy.c:3417 +#: access/heap/vacuumlazy.c:3131 #, c-format msgid "while vacuuming block %u of relation \"%s.%s\"" msgstr "у процесі очищення блоку %u відношення \"%s.%s\"" -#: access/heap/vacuumlazy.c:3421 +#: access/heap/vacuumlazy.c:3135 #, c-format msgid "while vacuuming relation \"%s.%s\"" msgstr "у процесі очищення відношення \"%s.%s\"" -#: access/heap/vacuumlazy.c:3426 commands/vacuumparallel.c:1074 +#: access/heap/vacuumlazy.c:3140 commands/vacuumparallel.c:1113 #, c-format msgid "while vacuuming index \"%s\" of relation \"%s.%s\"" msgstr "у процесі очищення індексу \"%s\" відношення \"%s.%s\"" -#: access/heap/vacuumlazy.c:3431 commands/vacuumparallel.c:1080 +#: access/heap/vacuumlazy.c:3145 commands/vacuumparallel.c:1119 #, c-format msgid "while cleaning up index \"%s\" of relation \"%s.%s\"" msgstr "у процесі очищення індексу \"%s\" відношення \"%s.%s\"" -#: access/heap/vacuumlazy.c:3437 +#: access/heap/vacuumlazy.c:3151 #, c-format msgid "while truncating relation \"%s.%s\" to %u blocks" msgstr "у процесі скорочення відношення \"%s.%s\" до %u блоків" @@ -1446,19 +1630,24 @@ msgstr "метод доступу \"%s\" не є типу %s" msgid "index access method \"%s\" does not have a handler" msgstr "для методу доступу індекса \"%s\" не заданий обробник" -#: access/index/genam.c:490 +#: access/index/genam.c:487 #, c-format msgid "transaction aborted during system catalog scan" msgstr "транзакцію перервано під час сканування системного каталогу" -#: access/index/indexam.c:203 catalog/objectaddress.c:1394 -#: commands/indexcmds.c:2843 commands/tablecmds.c:272 commands/tablecmds.c:296 -#: commands/tablecmds.c:17185 commands/tablecmds.c:18963 +#: access/index/genam.c:655 access/index/indexam.c:82 +#, c-format +msgid "cannot access index \"%s\" while it is being reindexed" +msgstr "неможливо отримати доступ до індекса \"%s\" в процесі реіндексації" + +#: access/index/indexam.c:203 catalog/objectaddress.c:1356 +#: commands/indexcmds.c:2878 commands/tablecmds.c:281 commands/tablecmds.c:305 +#: commands/tablecmds.c:17763 commands/tablecmds.c:19574 #, c-format msgid "\"%s\" is not an index" msgstr "\"%s\" не є індексом" -#: access/index/indexam.c:1016 +#: access/index/indexam.c:1028 #, c-format msgid "operator class %s has no options" msgstr "клас операторів %s без параметрів" @@ -1479,7 +1668,7 @@ msgid "This may be because of a non-immutable index expression." msgstr "Можливо, це викликано змінною природою індексного вираження." #: access/nbtree/nbtpage.c:157 access/nbtree/nbtpage.c:611 -#: parser/parse_utilcmd.c:2326 +#: parser/parse_utilcmd.c:2323 #, c-format msgid "index \"%s\" is not a btree" msgstr "індекс \"%s\" не є b-деревом" @@ -1489,33 +1678,31 @@ msgstr "індекс \"%s\" не є b-деревом" msgid "version mismatch in index \"%s\": file version %d, current version %d, minimal supported version %d" msgstr "невідповідність версії в індексі \"%s\": версія файла %d, поточна версія %d, мінімальна підтримувана версія %d" -#: access/nbtree/nbtpage.c:1866 +#: access/nbtree/nbtpage.c:1861 #, c-format msgid "index \"%s\" contains a half-dead internal page" msgstr "індекс \"%s\" містить наполовину мертву внутрішню сторінку" -#: access/nbtree/nbtpage.c:1868 +#: access/nbtree/nbtpage.c:1863 #, c-format 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:2677 +#: access/nbtree/nbtutils.c:5102 #, 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:2683 +#: access/nbtree/nbtutils.c:5108 #, c-format msgid "Index row references tuple (%u,%u) in relation \"%s\"." msgstr "Рядок індексу посилається на кортеж (%u,,%u) у відношенні \"%s\"." -#: access/nbtree/nbtutils.c:2687 +#: access/nbtree/nbtutils.c:5112 #, c-format -msgid "" -"Values larger than 1/3 of a buffer page cannot be indexed.\n" +msgid "Values larger than 1/3 of a buffer page cannot be indexed.\n" "Consider a function index of an MD5 hash of the value, or use full text indexing." -msgstr "" -"Значення, що займають більше, ніж 1/3 сторінки буферу, не можуть бути індексовані.\n" +msgstr "Значення, що займають більше, ніж 1/3 сторінки буферу, не можуть бути індексовані.\n" "Радимо застосувати індекс MD5-хеш значення або використати повнотекстове індексування." #: access/nbtree/nbtvalidate.c:246 @@ -1523,12 +1710,18 @@ msgstr "" msgid "operator family \"%s\" of access method %s is missing support function for types %s and %s" msgstr "сімейство операторів \"%s\" методу доступу %s не має опорної функції для типів %s та %s" -#: access/spgist/spgutils.c:243 +#: access/sequence/sequence.c:75 access/table/table.c:145 +#: optimizer/util/plancat.c:144 +#, c-format +msgid "cannot open relation \"%s\"" +msgstr "неможливо відкрити відношення \"%s\"" + +#: access/spgist/spgutils.c:245 #, c-format msgid "compress method must be defined when leaf type is different from input type" msgstr "метод стиснення повинен бути визначений, коли тип листів відрізняється від вхідного типу" -#: access/spgist/spgutils.c:1015 +#: access/spgist/spgutils.c:1028 #, c-format msgid "SP-GiST inner tuple size %zu exceeds maximum %zu" msgstr "Внутрішній розмір кортежу SP-GiST %zu перевищує максимальний %zu" @@ -1543,82 +1736,76 @@ msgstr "тип даних кінцевого вузла SP-GiST %s не відп msgid "operator family \"%s\" of access method %s is missing support function %d for type %s" msgstr "сімейство операторів \"%s\" методу доступу %s не має опорної функції для типів %d для типу %s" -#: access/table/table.c:145 optimizer/util/plancat.c:145 -#, c-format -msgid "cannot open relation \"%s\"" -msgstr "неможливо відкрити відношення \"%s\"" - -#: access/table/tableam.c:265 +#: access/table/tableam.c:255 #, c-format msgid "tid (%u, %u) is not valid for relation \"%s\"" msgstr "невірний tid (%u, %u) для відношення \"%s\"" -#: access/table/tableamapi.c:116 +#: access/table/tableamapi.c:109 #, c-format -msgid "%s cannot be empty." -msgstr "%s не може бути пустим." +msgid "\"%s\" cannot be empty." +msgstr "\"%s\" не може бути пустим." -#: access/table/tableamapi.c:123 access/transam/xlogrecovery.c:4808 +#: access/table/tableamapi.c:116 access/transam/xlogrecovery.c:4858 #, c-format -msgid "%s is too long (maximum %d characters)." -msgstr "%s занадто довгий (максимум %d символів)." +msgid "\"%s\" is too long (maximum %d characters)." +msgstr "\"%s\" занадто довгий (максимум %d символів)." -#: access/table/tableamapi.c:146 +#: access/table/tableamapi.c:139 #, c-format msgid "table access method \"%s\" does not exist" msgstr "табличного методу доступу \"%s\" не існує" -#: access/table/tableamapi.c:151 +#: access/table/tableamapi.c:144 #, c-format msgid "Table access method \"%s\" does not exist." msgstr "Табличного методу доступу \"%s\" не існує." -#: access/tablesample/bernoulli.c:148 access/tablesample/system.c:152 +#: access/tablesample/bernoulli.c:148 access/tablesample/system.c:151 #, c-format msgid "sample percentage must be between 0 and 100" msgstr "відсоток вибірки повинен задаватися числом від 0 до 100" -#: access/transam/commit_ts.c:279 +#: access/transam/commit_ts.c:287 #, c-format msgid "cannot retrieve commit timestamp for transaction %u" msgstr "не вдалося отримати мітку позначки часу транзакції %u" -#: access/transam/commit_ts.c:377 +#: access/transam/commit_ts.c:385 #, c-format msgid "could not get commit timestamp data" msgstr "не вдалося отримати позначку часу фіксації" -#: access/transam/commit_ts.c:379 +#: access/transam/commit_ts.c:387 #, c-format msgid "Make sure the configuration parameter \"%s\" is set on the primary server." msgstr "Переконайтесь, що в конфігурації основного серверу встановлений параметр \"%s\"." -#: access/transam/commit_ts.c:381 +#: access/transam/commit_ts.c:389 #, c-format msgid "Make sure the configuration parameter \"%s\" is set." msgstr "Переконайтесь, що в конфігурації встановлений параметр \"%s\"." -#: access/transam/multixact.c:1023 +#: access/transam/multixact.c:1091 #, c-format -msgid "database is not accepting commands that generate new MultiXactIds to avoid wraparound data loss in database \"%s\"" -msgstr "щоб уникнути втрат даних у базі даних \"%s\", база даних не приймає команди, що створюють нові MultiXactIds" +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:1025 access/transam/multixact.c:1032 -#: access/transam/multixact.c:1056 access/transam/multixact.c:1065 +#: 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 #, c-format -msgid "" -"Execute a database-wide VACUUM in that database.\n" +msgid "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 "" -"Виконати очистку (VACUUM) по всій базі даних.\n" +msgstr "Виконати очистку (VACUUM) по всій базі даних.\n" "Можливо, вам доведеться зафіксувати, відкотити назад старі підготовані транзакції або видалити застарілі слоти реплікації." -#: access/transam/multixact.c:1030 +#: access/transam/multixact.c:1098 #, c-format -msgid "database is not accepting commands that generate new MultiXactIds to avoid wraparound data loss in database with OID %u" -msgstr "щоб уникнути втрат даних в базі даних з OID %u, база даних не приймає команди, що створюють нові MultiXactIds" +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:1051 access/transam/multixact.c:2333 +#: access/transam/multixact.c:1119 access/transam/multixact.c:2474 #, 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" @@ -1627,7 +1814,7 @@ msgstr[1] "бази даних \"%s\" повинні бути очищені (va msgstr[2] "баз даних \"%s\" повинні бути очищені (vacuumed) перед тим, як більшість MultiXactIds буде використано (%u)" msgstr[3] "баз даних \"%s\" повинні бути очищені (vacuumed) перед тим, як більшість MultiXactId буде використано (%u)" -#: access/transam/multixact.c:1060 access/transam/multixact.c:2342 +#: access/transam/multixact.c:1128 access/transam/multixact.c:2483 #, 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" @@ -1636,12 +1823,12 @@ msgstr[1] "бази даних з OID %u повинні бути очищені msgstr[2] "баз даних з OID %u повинні бути очищені (vacuumed), перед тим як більшість MultiXactIds буде використано (%u)" msgstr[3] "баз даних з OID %u повинні бути очищені (vacuumed), перед тим як більшість MultiXactId буде використано (%u)" -#: access/transam/multixact.c:1121 +#: access/transam/multixact.c:1189 #, c-format msgid "multixact \"members\" limit exceeded" msgstr "перевищено ліміт членів мультитранзакції" -#: access/transam/multixact.c:1122 +#: access/transam/multixact.c:1190 #, 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." @@ -1650,12 +1837,12 @@ msgstr[1] "Мультитранзакція створена цією коман msgstr[2] "Мультитранзакція створена цією командою з %u членів, але місця вистачає лише для %u членів." msgstr[3] "Мультитранзакція створена цією командою з %u членів, але місця вистачає лише для %u членів." -#: access/transam/multixact.c:1127 +#: access/transam/multixact.c:1195 #, 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." +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:1158 +#: access/transam/multixact.c:1226 #, 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" @@ -1664,201 +1851,202 @@ msgstr[1] "база даних з OID %u повинна бути очищена msgstr[2] "база даних з OID %u повинна бути очищена перед використанням додаткових членів мультитранзакції (%d)" msgstr[3] "база даних з OID %u повинна бути очищена перед використанням додаткових членів мультитранзакції (%d)" -#: access/transam/multixact.c:1163 +#: access/transam/multixact.c:1231 #, 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." +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:1302 +#: access/transam/multixact.c:1371 #, c-format msgid "MultiXactId %u does no longer exist -- apparent wraparound" msgstr "MultiXactId %u припинив існування -- очевидно відбулося зациклення" -#: access/transam/multixact.c:1308 +#: access/transam/multixact.c:1377 #, c-format msgid "MultiXactId %u has not been created yet -- apparent wraparound" msgstr "MultiXactId %u ще не був створений -- очевидно відбулося зациклення" -#: access/transam/multixact.c:2338 access/transam/multixact.c:2347 -#: access/transam/varsup.c:151 access/transam/varsup.c:158 -#: access/transam/varsup.c:466 access/transam/varsup.c:473 +#: access/transam/multixact.c:2479 access/transam/multixact.c:2488 #, c-format -msgid "" -"To avoid a database shutdown, execute a database-wide VACUUM in that database.\n" +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 "" -"Щоб уникнути вимкнення бази даних, виконайте VACUUM для всієї бази даних.\n" -"Можливо, вам доведеться зафіксувати або відкотити назад старі підготовленні транзакції або видалити застарілі слоти реплікації." +msgstr "Щоб уникнути збоїв у призначенні MultiXactId, виконайте VACUUM для всієї бази даних у цій базі даних.\n" +"Вам також може знадобитися зафіксувати або відкотити старі підготовлені транзакції, або видалити застарілі слоти реплікації." -#: access/transam/multixact.c:2622 +#: access/transam/multixact.c:2767 #, 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:2644 +#: access/transam/multixact.c:2789 #, c-format msgid "MultiXact member wraparound protections are now enabled" msgstr "Захист від зациклення члену MultiXact наразі ввімкнена" -#: access/transam/multixact.c:3027 +#: access/transam/multixact.c:3180 #, c-format msgid "oldest MultiXact %u not found, earliest MultiXact %u, skipping truncation" msgstr "найстарішу MultiXact %u не знайдено, найновіша MultiXact %u, скорочення пропускається" -#: access/transam/multixact.c:3045 +#: access/transam/multixact.c:3198 #, 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:3359 +#: access/transam/multixact.c:3517 #, c-format msgid "invalid MultiXactId: %u" msgstr "неприпустимий MultiXactId: %u" -#: access/transam/parallel.c:729 access/transam/parallel.c:848 +#: access/transam/parallel.c:731 access/transam/parallel.c:850 #, c-format msgid "parallel worker failed to initialize" msgstr "не вдалося виконати ініціалізацію паралельного виконавця" -#: access/transam/parallel.c:730 access/transam/parallel.c:849 +#: access/transam/parallel.c:732 access/transam/parallel.c:851 #, c-format msgid "More details may be available in the server log." msgstr "Більше деталей можуть бути доступні в журналі серверу." -#: access/transam/parallel.c:910 +#: access/transam/parallel.c:912 #, c-format msgid "postmaster exited during a parallel transaction" msgstr "postmaster завершився під час паралельної транзакції" -#: access/transam/parallel.c:1097 +#: access/transam/parallel.c:1099 #, c-format msgid "lost connection to parallel worker" msgstr "втрачено зв'язок з паралельним виконавцем" -#: access/transam/parallel.c:1163 access/transam/parallel.c:1165 +#: access/transam/parallel.c:1155 access/transam/parallel.c:1157 msgid "parallel worker" msgstr "паралельний виконавець" -#: access/transam/parallel.c:1319 replication/logical/applyparallelworker.c:893 +#: access/transam/parallel.c:1327 replication/logical/applyparallelworker.c:890 #, c-format msgid "could not map dynamic shared memory segment" msgstr "не вдалося відобразити динамічний сегмент спільної пам'яті" -#: access/transam/parallel.c:1324 replication/logical/applyparallelworker.c:899 +#: access/transam/parallel.c:1332 replication/logical/applyparallelworker.c:896 #, c-format msgid "invalid magic number in dynamic shared memory segment" msgstr "неприпустиме магічне число в динамічному сегменті спільної пам'яті" -#: access/transam/rmgr.c:84 +#: access/transam/rmgr.c:93 #, c-format msgid "resource manager with ID %d not registered" msgstr "менеджер ресурсів з ID %d не зареєстрований" -#: access/transam/rmgr.c:85 +#: access/transam/rmgr.c:94 #, c-format -msgid "Include the extension module that implements this resource manager in shared_preload_libraries." -msgstr "Включає модуль розширення, який впроваджує цей менеджер ресурсів у shared_preload_libraries." +msgid "Include the extension module that implements this resource manager in \"shared_preload_libraries\"." +msgstr "Включає модуль розширення, який впроваджує цей менеджер ресурсів у \"shared_preload_libraries\"." -#: access/transam/rmgr.c:101 +#: access/transam/rmgr.c:110 #, c-format msgid "custom resource manager name is invalid" msgstr "назва користувацького менеджера ресурсів неприпустима" -#: access/transam/rmgr.c:102 +#: access/transam/rmgr.c:111 #, c-format msgid "Provide a non-empty name for the custom resource manager." msgstr "Вкажіть непорожню назву для користувацького менеджера ресурсів." -#: access/transam/rmgr.c:105 +#: access/transam/rmgr.c:114 #, c-format msgid "custom resource manager ID %d is out of range" msgstr "ID %d користувацького менеджера ресурсів поза діапазоном" -#: access/transam/rmgr.c:106 +#: access/transam/rmgr.c:115 #, c-format msgid "Provide a custom resource manager ID between %d and %d." msgstr "Вкажіть ID користувацького менеджера ресурсів між %d і %d." -#: access/transam/rmgr.c:111 access/transam/rmgr.c:116 -#: access/transam/rmgr.c:128 +#: access/transam/rmgr.c:120 access/transam/rmgr.c:125 +#: access/transam/rmgr.c:137 #, c-format msgid "failed to register custom resource manager \"%s\" with ID %d" msgstr "не вдалося зареєструвати користувацький менеджер ресурсів \"%s\" з ID %d" -#: access/transam/rmgr.c:112 +#: access/transam/rmgr.c:121 #, c-format -msgid "Custom resource manager must be registered while initializing modules in shared_preload_libraries." -msgstr "Користувацький менеджер ресурсів повинен бути зареєстрований під час ініціалізації модулів у shared_preload_libraries." +msgid "Custom resource manager must be registered while initializing modules in \"shared_preload_libraries\"." +msgstr "Користувацький менеджер ресурсів повинен бути зареєстрований під час ініціалізації модулів у \"shared_preload_libraries\"." -#: access/transam/rmgr.c:117 +#: access/transam/rmgr.c:126 #, c-format msgid "Custom resource manager \"%s\" already registered with the same ID." msgstr "Користувацький менеджер ресурсів \"%s\" вже зареєстрований з таким самим ID." -#: access/transam/rmgr.c:129 +#: access/transam/rmgr.c:138 #, c-format msgid "Existing resource manager with ID %d has the same name." msgstr "Існуючий менеджер ресурсів з ID %d має таку саму назву." -#: access/transam/rmgr.c:135 +#: access/transam/rmgr.c:144 #, c-format msgid "registered custom resource manager \"%s\" with ID %d" msgstr "зареєстрований користувацький менеджер ресурсів \"%s\" з ID %d" -#: access/transam/slru.c:714 +#: access/transam/slru.c:361 +#, c-format +msgid "\"%s\" must be a multiple of %d" +msgstr "\"%s\" має бути кратним %d" + +#: access/transam/slru.c:830 #, c-format msgid "file \"%s\" doesn't exist, reading as zeroes" msgstr "файл \"%s\" не існує, вважається нульовим" -#: access/transam/slru.c:946 access/transam/slru.c:952 -#: access/transam/slru.c:960 access/transam/slru.c:965 -#: access/transam/slru.c:972 access/transam/slru.c:977 -#: access/transam/slru.c:984 access/transam/slru.c:991 +#: 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 #, c-format msgid "could not access status of transaction %u" msgstr "не можливо отримати статус транзакції %u" -#: access/transam/slru.c:947 +#: access/transam/slru.c:1060 #, c-format msgid "Could not open file \"%s\": %m." msgstr "Не можливо відкрити файл \"%s\": %m." -#: access/transam/slru.c:953 +#: access/transam/slru.c:1066 #, c-format msgid "Could not seek in file \"%s\" to offset %d: %m." msgstr "Не вдалося знайти у файлі \"%s\" до зсуву %d: %m." -#: access/transam/slru.c:961 +#: access/transam/slru.c:1074 #, c-format msgid "Could not read from file \"%s\" at offset %d: %m." msgstr "Не вдалося прочитати з файлу \"%s\" по зсуву %d: %m." -#: access/transam/slru.c:966 +#: access/transam/slru.c:1079 #, c-format msgid "Could not read from file \"%s\" at offset %d: read too few bytes." msgstr "Не вдалося прочитати з файлу \"%s\" по зсуву %d: прочитано занадто мало байтів." -#: access/transam/slru.c:973 +#: access/transam/slru.c:1086 #, c-format msgid "Could not write to file \"%s\" at offset %d: %m." msgstr "Не вдалося записати до файлу \"%s\" зсув %d: %m." -#: access/transam/slru.c:978 +#: access/transam/slru.c:1091 #, c-format msgid "Could not write to file \"%s\" at offset %d: wrote too few bytes." msgstr "Не вдалося записати до файлу \"%s\" зсув %d: записано занадто мало байтів." -#: access/transam/slru.c:985 +#: access/transam/slru.c:1098 #, c-format msgid "Could not fsync file \"%s\": %m." msgstr "Не вдалося синхронізувати файл \"%s\": %m." -#: access/transam/slru.c:992 +#: access/transam/slru.c:1105 #, c-format msgid "Could not close file \"%s\": %m." msgstr "Не можливо закрити файл \"%s\": %m." -#: access/transam/slru.c:1253 +#: access/transam/slru.c:1431 #, c-format msgid "could not truncate directory \"%s\": apparent wraparound" msgstr "не вдалося спустошити каталог \"%s\": очевидно сталося зациклення" @@ -1903,72 +2091,72 @@ msgstr "Ідентифікатори ліній часу повинні бути msgid "requested timeline %u is not in this server's history" msgstr "в історії даного серверу немає запитаної лінії часу %u" -#: access/transam/twophase.c:386 +#: access/transam/twophase.c:368 #, c-format msgid "transaction identifier \"%s\" is too long" msgstr "ідентифікатор транзакції \"%s\" задовгий" -#: access/transam/twophase.c:393 +#: access/transam/twophase.c:375 #, c-format msgid "prepared transactions are disabled" msgstr "підготовлені транзакції вимкнено" -#: access/transam/twophase.c:394 +#: access/transam/twophase.c:376 #, c-format -msgid "Set max_prepared_transactions to a nonzero value." -msgstr "Встановіть ненульове значення параметра max_prepared_transactions." +msgid "Set \"max_prepared_transactions\" to a nonzero value." +msgstr "Встановіть ненульове значення параметра \"max_prepared_transactions\"." -#: access/transam/twophase.c:413 +#: access/transam/twophase.c:395 #, c-format msgid "transaction identifier \"%s\" is already in use" msgstr "ідентифікатор транзакції \"%s\" вже використовується" -#: access/transam/twophase.c:422 access/transam/twophase.c:2517 +#: access/transam/twophase.c:404 access/transam/twophase.c:2540 #, c-format msgid "maximum number of prepared transactions reached" msgstr "досягнуто максимального числа підготованих транзакцій" -#: access/transam/twophase.c:423 access/transam/twophase.c:2518 +#: access/transam/twophase.c:405 access/transam/twophase.c:2541 #, c-format -msgid "Increase max_prepared_transactions (currently %d)." -msgstr "Збільшіть max_prepared_transactions (наразі %d)." +msgid "Increase \"max_prepared_transactions\" (currently %d)." +msgstr "Збільшіть \"max_prepared_transactions\" (наразі %d)." -#: access/transam/twophase.c:599 +#: access/transam/twophase.c:580 #, c-format msgid "prepared transaction with identifier \"%s\" is busy" msgstr "підготовлена транзакція з ідентифікатором \"%s\" зайнята" -#: access/transam/twophase.c:605 +#: access/transam/twophase.c:586 #, c-format msgid "permission denied to finish prepared transaction" msgstr "немає дозволу для завершення підготовлених транзакцій" -#: access/transam/twophase.c:606 +#: access/transam/twophase.c:587 #, c-format msgid "Must be superuser or the user that prepared the transaction." msgstr "Треба пути суперкористувачем або користувачем, який підготував транзакцію." -#: access/transam/twophase.c:617 +#: access/transam/twophase.c:598 #, c-format msgid "prepared transaction belongs to another database" msgstr "підготовлена транзакція належить до іншої бази даних" -#: access/transam/twophase.c:618 +#: access/transam/twophase.c:599 #, c-format msgid "Connect to the database where the transaction was prepared to finish it." msgstr "З'єднайтесь з базою даних, де була підготовлена транзакція, щоб завершити її." -#: access/transam/twophase.c:633 +#: access/transam/twophase.c:614 #, c-format msgid "prepared transaction with identifier \"%s\" does not exist" msgstr "підготовленої транзакції з ідентифікатором \"%s\" не існує" -#: access/transam/twophase.c:1168 +#: access/transam/twophase.c:1190 #, c-format msgid "two-phase state file maximum length exceeded" msgstr "перевищено граничний розмір файла у 2-фазовому стані" -#: access/transam/twophase.c:1323 +#: access/transam/twophase.c:1345 #, c-format msgid "incorrect size of file \"%s\": %lld byte" msgid_plural "incorrect size of file \"%s\": %lld bytes" @@ -1977,58 +2165,59 @@ msgstr[1] "неправильний розмір файлу \"%s\": %lld бай msgstr[2] "неправильний розмір файлу \"%s\": %lld байтів" msgstr[3] "неправильний розмір файлу \"%s\": %lld байтів" -#: access/transam/twophase.c:1332 +#: access/transam/twophase.c:1354 #, c-format msgid "incorrect alignment of CRC offset for file \"%s\"" msgstr "неправильне вирівнювання зсуву CRC для файлу \"%s\"" -#: access/transam/twophase.c:1350 +#: access/transam/twophase.c:1372 #, c-format msgid "could not read file \"%s\": read %d of %lld" msgstr "не вдалося прочитати файл \"%s\": прочитано %d з %lld" -#: access/transam/twophase.c:1365 +#: access/transam/twophase.c:1387 #, c-format msgid "invalid magic number stored in file \"%s\"" msgstr "неприпустиме магічне число, збережене у файлі\"%s\"" -#: access/transam/twophase.c:1371 +#: access/transam/twophase.c:1393 #, c-format msgid "invalid size stored in file \"%s\"" msgstr "неприпустимий розмір, збережений у файлі \"%s\"" -#: access/transam/twophase.c:1383 +#: access/transam/twophase.c:1405 #, c-format msgid "calculated CRC checksum does not match value stored in file \"%s\"" msgstr "обчислена контрольна сума CRC не відповідає значенню, збереженому у файлі \"%s\"" -#: access/transam/twophase.c:1413 access/transam/xlogrecovery.c:590 -#: replication/logical/logical.c:209 replication/walsender.c:687 +#: access/transam/twophase.c:1435 access/transam/xlogrecovery.c:565 +#: postmaster/walsummarizer.c:936 replication/logical/logical.c:211 +#: replication/walsender.c:836 #, c-format msgid "Failed while allocating a WAL reading processor." msgstr "Не вдалося розмістити обробник журналу транзакцій." -#: access/transam/twophase.c:1423 +#: access/transam/twophase.c:1445 #, c-format msgid "could not read two-phase state from WAL at %X/%X: %s" msgstr "не вдалося прочитати 2-фазовий стан з WAL при %X/%X: %s" -#: access/transam/twophase.c:1428 +#: access/transam/twophase.c:1450 #, c-format msgid "could not read two-phase state from WAL at %X/%X" msgstr "не вдалося прочитати 2-фазовий стан з WAL при %X/%X" -#: access/transam/twophase.c:1436 +#: access/transam/twophase.c:1458 #, c-format msgid "expected two-phase state data is not present in WAL at %X/%X" msgstr "очікувані дані 2-фазного стану відсутні в WAL при %X/%X" -#: access/transam/twophase.c:1732 +#: access/transam/twophase.c:1754 #, c-format msgid "could not recreate file \"%s\": %m" msgstr "не вдалося відтворити файл \"%s\": %m" -#: access/transam/twophase.c:1859 +#: access/transam/twophase.c:1881 #, c-format msgid "%u two-phase state file was written for a long-running prepared transaction" msgid_plural "%u two-phase state files were written for long-running prepared transactions" @@ -2037,660 +2226,691 @@ msgstr[1] "%u 2-фазовий стан файлів був записаний msgstr[2] "%u 2-фазовий стан файлів був записаний завдяки довготривалим підготовленим транзакціям" msgstr[3] "%u 2-фазовий стан файлів був записаний завдяки довготривалим підготовленим транзакціям" -#: access/transam/twophase.c:2093 +#: access/transam/twophase.c:2116 #, c-format msgid "recovering prepared transaction %u from shared memory" msgstr "відновлення підготовленої транзакції %u із спільної пам'яті" -#: access/transam/twophase.c:2186 +#: access/transam/twophase.c:2209 #, c-format msgid "removing stale two-phase state file for transaction %u" msgstr "видалення застарілого файла 2-фазового стану для транзакції %u" -#: access/transam/twophase.c:2193 +#: access/transam/twophase.c:2216 #, c-format msgid "removing stale two-phase state from memory for transaction %u" msgstr "видалення з пам'яті застарілого 2-фазового стану для транзакції %u" -#: access/transam/twophase.c:2206 +#: access/transam/twophase.c:2229 #, c-format msgid "removing future two-phase state file for transaction %u" msgstr "видалення файлу майбутнього 2-фазового стану для транзакції %u" -#: access/transam/twophase.c:2213 +#: access/transam/twophase.c:2236 #, c-format msgid "removing future two-phase state from memory for transaction %u" msgstr "видалення з пам'яті майбутнього 2-фазового стану для транзакції %u" -#: access/transam/twophase.c:2238 +#: access/transam/twophase.c:2261 #, c-format msgid "corrupted two-phase state file for transaction %u" msgstr "пошкоджений файл двофазного стану для транзакції %u" -#: access/transam/twophase.c:2243 +#: access/transam/twophase.c:2266 #, c-format msgid "corrupted two-phase state in memory for transaction %u" msgstr "пошкоджена пам'ять двофазного стану для транзакції %u" -#: access/transam/twophase.c:2500 +#: access/transam/twophase.c:2523 #, c-format msgid "could not recover two-phase state file for transaction %u" msgstr "не вдалося відновити файл 2-фазового стану для транзакції %u" -#: access/transam/twophase.c:2502 +#: access/transam/twophase.c:2525 #, c-format 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:2510 jit/jit.c:205 utils/fmgr/dfmgr.c:209 -#: utils/fmgr/dfmgr.c:415 +#: access/transam/twophase.c:2533 storage/file/fd.c:514 utils/fmgr/dfmgr.c:209 #, c-format msgid "could not access file \"%s\": %m" msgstr "немає доступу до файлу \"%s\": %m" -#: access/transam/varsup.c:129 -#, c-format -msgid "database is not accepting commands to avoid wraparound data loss in database \"%s\"" -msgstr "база даних не приймає команди, щоб уникнути втрати даних через зациклення транзакцій в БД \"%s\"" - -#: access/transam/varsup.c:131 access/transam/varsup.c:138 +#: access/transam/varsup.c:156 #, c-format -msgid "" -"Stop the postmaster and vacuum that database in single-user mode.\n" -"You might also need to commit or roll back old prepared transactions, or drop stale replication slots." -msgstr "" -"Зупиніть postmaster і виконайте очищення (vacuum) бази даних в однокористувацькому режимі.\n" -"Можливо, також доведеться зафіксувати або відкотити назад старі підготовлені транзакції, або розірвати застарілі реплікаційні слоти." +msgid "database is not accepting commands that assign new transaction IDs to avoid wraparound data loss in database \"%s\"" +msgstr "база даних не приймає команди, які призначають нові ідентифікатори транзакцій, щоб уникнути обхідної втрати даних у базі даних \"%s\"" -#: access/transam/varsup.c:136 +#: access/transam/varsup.c:163 #, c-format -msgid "database is not accepting commands to avoid wraparound data loss in database with OID %u" -msgstr "база даних не приймає команди задля уникнення втрати даних через зациклення транзакцій в базі даних з OID %u" +msgid "database is not accepting commands that assign new transaction IDs to avoid wraparound data loss in database with OID %u" +msgstr "база даних не приймає команди, які призначають нові ідентифікатори транзакцій, щоб уникнути обхідної втрати даних у базі даних з OID %u" -#: access/transam/varsup.c:148 access/transam/varsup.c:463 +#: access/transam/varsup.c:175 access/transam/varsup.c:490 #, c-format msgid "database \"%s\" must be vacuumed within %u transactions" msgstr "база даних \"%s\" повинна бути очищена (граничне число транзакцій: %u)" -#: access/transam/varsup.c:155 access/transam/varsup.c:470 +#: access/transam/varsup.c:178 +#, c-format +msgid "To avoid transaction ID 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 "Щоб уникнути збоїв у призначенні ID транзакцій, виконайте VACUUM для всієї бази даних у цій базі даних.\n" +"Вам також може знадобитися зафіксувати або відкотити старі підготовлені транзакції, або видалити застарілі слоти реплікації." + +#: access/transam/varsup.c:182 access/transam/varsup.c:497 #, c-format msgid "database with OID %u must be vacuumed within %u transactions" msgstr "база даних з OID %u повинна бути очищена (граничне число транзакцій: %u)" -#: access/transam/xact.c:1102 +#: access/transam/varsup.c:185 access/transam/varsup.c:493 +#: access/transam/varsup.c:500 +#, c-format +msgid "To avoid XID 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 "Щоб уникнути збоїв у призначенні XID, виконайте VACUUM для всієї бази даних у цій базі даних.\n" +"Вам також може знадобитися зафіксувати або відкотити старі підготовлені транзакції, або видалити застарілі слоти реплікації." + +#: access/transam/xact.c:649 +#, c-format +msgid "cannot assign transaction IDs during a parallel operation" +msgstr "не можна призначити ідентифікатори транзакцій під час паралельних операцій" + +#: access/transam/xact.c:840 +#, c-format +msgid "cannot modify data in a parallel worker" +msgstr "неможливо змінити дані паралельного виконавця" + +#: access/transam/xact.c:1115 +#, c-format +msgid "cannot start commands during a parallel operation" +msgstr "неможливо запустити команди під час паралельних операцій" + +#: access/transam/xact.c:1123 #, c-format msgid "cannot have more than 2^32-2 commands in a transaction" msgstr "в одній транзакції не може бути більше 2^32-2 команд" -#: access/transam/xact.c:1643 +#: access/transam/xact.c:1664 #, c-format msgid "maximum number of committed subtransactions (%d) exceeded" msgstr "перевищено межу числа зафіксованих підтранзакцій (%d)" -#: access/transam/xact.c:2513 +#: access/transam/xact.c:2561 #, c-format msgid "cannot PREPARE a transaction that has operated on temporary objects" msgstr "неможливо виконати PREPARE для транзакції, що здійснювалася на тимчасових об'єктах" -#: access/transam/xact.c:2523 +#: access/transam/xact.c:2571 #, c-format msgid "cannot PREPARE a transaction that has exported snapshots" msgstr "не можна виконати PREPARE для транзакції, яка має експортовані знімки" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3490 +#: access/transam/xact.c:3593 #, c-format msgid "%s cannot run inside a transaction block" msgstr "%s неможливо запустити всередині блоку транзакції" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3500 +#: access/transam/xact.c:3603 #, c-format msgid "%s cannot run inside a subtransaction" msgstr "%s неможливо запустити всередині підтранзакції" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3510 +#: access/transam/xact.c:3613 #, c-format msgid "%s cannot be executed within a pipeline" msgstr "%s не можна використовувати в межах конвеєра" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3520 +#: access/transam/xact.c:3623 #, c-format msgid "%s cannot be executed from a function" msgstr "%s неможливо виконати з функції" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3591 access/transam/xact.c:3916 -#: access/transam/xact.c:3995 access/transam/xact.c:4118 -#: access/transam/xact.c:4269 access/transam/xact.c:4338 -#: access/transam/xact.c:4449 +#: 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 #, c-format msgid "%s can only be used in transaction blocks" msgstr "%s може використовуватися тільки в блоках транзакції" -#: access/transam/xact.c:3802 +#: access/transam/xact.c:3905 #, c-format msgid "there is already a transaction in progress" msgstr "транзакція вже виконується" -#: access/transam/xact.c:3921 access/transam/xact.c:4000 -#: access/transam/xact.c:4123 +#: access/transam/xact.c:4024 access/transam/xact.c:4103 +#: access/transam/xact.c:4226 #, c-format msgid "there is no transaction in progress" msgstr "немає незавершеної транзакції" -#: access/transam/xact.c:4011 +#: access/transam/xact.c:4114 #, c-format msgid "cannot commit during a parallel operation" msgstr "не можна фіксувати транзакції під час паралельних операцій" -#: access/transam/xact.c:4134 +#: access/transam/xact.c:4237 #, c-format msgid "cannot abort during a parallel operation" msgstr "не можна перервати під час паралельних операцій" -#: access/transam/xact.c:4233 +#: access/transam/xact.c:4336 #, c-format msgid "cannot define savepoints during a parallel operation" msgstr "не можна визначати точки збереження під час паралельних операцій" -#: access/transam/xact.c:4320 +#: access/transam/xact.c:4423 #, c-format msgid "cannot release savepoints during a parallel operation" msgstr "не можна вивільняти точки збереження під час паралельних транзакцій" -#: access/transam/xact.c:4330 access/transam/xact.c:4381 -#: access/transam/xact.c:4441 access/transam/xact.c:4490 +#: access/transam/xact.c:4433 access/transam/xact.c:4484 +#: access/transam/xact.c:4544 access/transam/xact.c:4593 #, c-format msgid "savepoint \"%s\" does not exist" msgstr "точка збереження \"%s\" не існує" -#: access/transam/xact.c:4387 access/transam/xact.c:4496 +#: access/transam/xact.c:4490 access/transam/xact.c:4599 #, c-format msgid "savepoint \"%s\" does not exist within current savepoint level" msgstr "точка збереження \"%s\" не існує на поточному рівні збереження точок" -#: access/transam/xact.c:4429 +#: access/transam/xact.c:4532 #, c-format msgid "cannot rollback to savepoints during a parallel operation" msgstr "не можна відкотити назад до точки збереження під час паралельних операцій" -#: access/transam/xact.c:4557 -#, c-format -msgid "cannot start subtransactions during a parallel operation" -msgstr "не можна запустити підтранзакцію під час паралельних операцій" - -#: access/transam/xact.c:4625 -#, c-format -msgid "cannot commit subtransactions during a parallel operation" -msgstr "не можна визначити підтранзакцію під час паралельних операцій" - -#: access/transam/xact.c:5271 +#: access/transam/xact.c:5376 #, c-format msgid "cannot have more than 2^32-1 subtransactions in a transaction" msgstr "в одній транзакції не може бути більше 2^32-1 підтранзакцій" -#: access/transam/xlog.c:1468 +#: access/transam/xlog.c:1541 #, 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:2230 +#: access/transam/xlog.c:1768 +#, 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:2209 access/transam/xlog.c:4500 #, c-format -msgid "could not write to log file %s at offset %u, length %zu: %m" -msgstr "не вдалося записати у файл журналу %s (зсув: %u, довжина: %zu): %m" +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:3457 access/transam/xlogutils.c:833 -#: replication/walsender.c:2725 +#: access/transam/xlog.c:2227 +#, c-format +msgid "\"%s\" must be set to -1 during binary upgrade mode." +msgstr "\"%s\" має бути встановлено на -1 під час двійкового режиму оновлення." + +#: access/transam/xlog.c:2476 +#, 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:3738 access/transam/xlogutils.c:831 +#: replication/walsender.c:3045 #, c-format msgid "requested WAL segment %s has already been removed" msgstr "запитуваний сегмент WAL %s вже видалений" -#: access/transam/xlog.c:3741 +#: access/transam/xlog.c:4060 #, c-format msgid "could not rename file \"%s\": %m" msgstr "не вдалося перейменувати файл \"%s\": %m" -#: access/transam/xlog.c:3783 access/transam/xlog.c:3793 +#: access/transam/xlog.c:4103 access/transam/xlog.c:4114 +#: access/transam/xlog.c:4135 #, c-format msgid "required WAL directory \"%s\" does not exist" msgstr "необхідний каталог WAL \"%s\" не існує" -#: access/transam/xlog.c:3799 +#: access/transam/xlog.c:4120 access/transam/xlog.c:4141 #, c-format msgid "creating missing WAL directory \"%s\"" msgstr "створюється відсутній каталог WAL \"%s\"" -#: access/transam/xlog.c:3802 commands/dbcommands.c:3172 +#: access/transam/xlog.c:4124 access/transam/xlog.c:4144 +#: commands/dbcommands.c:3259 #, c-format msgid "could not create missing directory \"%s\": %m" msgstr "не вдалося створити відстуній каталог \"%s\": %m" -#: access/transam/xlog.c:3869 +#: access/transam/xlog.c:4211 #, c-format msgid "could not generate secret authorization token" msgstr "не вдалося згенерувати секретний токен для авторизації" -#: access/transam/xlog.c:4019 access/transam/xlog.c:4028 -#: access/transam/xlog.c:4052 access/transam/xlog.c:4059 -#: access/transam/xlog.c:4066 access/transam/xlog.c:4071 -#: access/transam/xlog.c:4078 access/transam/xlog.c:4085 -#: access/transam/xlog.c:4092 access/transam/xlog.c:4099 -#: access/transam/xlog.c:4106 access/transam/xlog.c:4113 -#: access/transam/xlog.c:4122 access/transam/xlog.c:4129 -#: utils/init/miscinit.c:1769 +#: access/transam/xlog.c:4362 access/transam/xlog.c:4372 +#: access/transam/xlog.c:4398 access/transam/xlog.c:4406 +#: access/transam/xlog.c:4414 access/transam/xlog.c:4420 +#: access/transam/xlog.c:4428 access/transam/xlog.c:4436 +#: access/transam/xlog.c:4444 access/transam/xlog.c:4452 +#: access/transam/xlog.c:4460 access/transam/xlog.c:4468 +#: access/transam/xlog.c:4478 access/transam/xlog.c:4486 +#: utils/init/miscinit.c:1758 #, c-format msgid "database files are incompatible with server" msgstr "файли бази даних є несумісними з даним сервером" -#: access/transam/xlog.c:4020 +#: access/transam/xlog.c:4363 #, 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:4024 +#: access/transam/xlog.c:4367 #, 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:4029 +#: access/transam/xlog.c:4373 #, 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:4032 access/transam/xlog.c:4056 -#: access/transam/xlog.c:4063 access/transam/xlog.c:4068 +#: access/transam/xlog.c:4376 access/transam/xlog.c:4402 +#: access/transam/xlog.c:4410 access/transam/xlog.c:4416 #, c-format msgid "It looks like you need to initdb." msgstr "Здається, Вам треба виконати initdb." -#: access/transam/xlog.c:4043 +#: access/transam/xlog.c:4388 #, c-format msgid "incorrect checksum in control file" msgstr "помилка контрольної суми у файлі pg_control" -#: access/transam/xlog.c:4053 +#: access/transam/xlog.c:4399 #, 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:4060 +#: access/transam/xlog.c:4407 #, 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:4067 +#: access/transam/xlog.c:4415 #, c-format msgid "The database cluster appears to use a different floating-point number format than the server executable." msgstr "Здається, в кластері баз даних і в програмі сервера використовуються різні формати чисел з плаваючою точкою." -#: access/transam/xlog.c:4072 +#: access/transam/xlog.c:4421 #, 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:4075 access/transam/xlog.c:4082 -#: access/transam/xlog.c:4089 access/transam/xlog.c:4096 -#: access/transam/xlog.c:4103 access/transam/xlog.c:4110 -#: access/transam/xlog.c:4117 access/transam/xlog.c:4125 -#: access/transam/xlog.c:4132 +#: access/transam/xlog.c:4424 access/transam/xlog.c:4432 +#: access/transam/xlog.c:4440 access/transam/xlog.c:4448 +#: access/transam/xlog.c:4456 access/transam/xlog.c:4464 +#: access/transam/xlog.c:4472 access/transam/xlog.c:4481 +#: access/transam/xlog.c:4489 #, c-format msgid "It looks like you need to recompile or initdb." msgstr "Здається, вам потрібно перекомпілювати сервер або виконати initdb." -#: access/transam/xlog.c:4079 +#: access/transam/xlog.c:4429 #, 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:4086 +#: access/transam/xlog.c:4437 #, 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:4093 +#: access/transam/xlog.c:4445 #, 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:4100 +#: access/transam/xlog.c:4453 #, 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:4107 +#: access/transam/xlog.c:4461 #, 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:4114 +#: access/transam/xlog.c:4469 #, 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:4123 +#: access/transam/xlog.c:4479 #, 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:4130 +#: access/transam/xlog.c:4487 #, 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:4139 +#: access/transam/xlog.c:4496 #, c-format -msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d byte" -msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d bytes" -msgstr[0] "Розмір сегменту WAL повинен задаватись ступенем 2 в інтервалі від 1 МБ до 1 ГБ, але в керуючому файлі вказано значення %d" -msgstr[1] "Розмір сегменту WAL повинен задаватись ступенем 2 в інтервалі від 1 МБ до 1 ГБ, але в керуючому файлі вказано значення %d" -msgstr[2] "Розмір сегменту WAL повинен задаватись ступенем 2 в інтервалі від 1 МБ до 1 ГБ, але в керуючому файлі вказано значення %d" -msgstr[3] "Розмір сегменту WAL повинен задаватись ступенем 2 в інтервалі від 1 МБ до 1 ГБ, але в керуючому файлі вказано значення %d" +msgid "invalid WAL segment size in control file (%d byte)" +msgid_plural "invalid WAL segment size in control file (%d bytes)" +msgstr[0] "невірний розмір сегменту WAL у файлі керування (%d байт)" +msgstr[1] "невірний розмір сегмента WAL у файлі керування (%d байтів)" +msgstr[2] "невірний розмір сегмента WAL у файлі керування (%d байтів)" +msgstr[3] "невірний розмір сегмента WAL у файлі керування (%d байтів)" -#: access/transam/xlog.c:4151 +#: access/transam/xlog.c:4509 #, 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:4155 +#: access/transam/xlog.c:4513 #, 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:4310 catalog/namespace.c:4335 -#: commands/tablespace.c:1216 commands/user.c:2530 commands/variable.c:72 -#: utils/error/elog.c:2209 +#: access/transam/xlog.c:4661 catalog/namespace.c:4681 +#: commands/tablespace.c:1210 commands/user.c:2529 commands/variable.c:72 +#: replication/slot.c:2429 tcop/postgres.c:3715 utils/error/elog.c:2247 #, c-format msgid "List syntax is invalid." msgstr "Помилка синтаксису у списку." -#: access/transam/xlog.c:4356 commands/user.c:2546 commands/variable.c:173 -#: utils/error/elog.c:2235 +#: access/transam/xlog.c:4707 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:4770 +#: access/transam/xlog.c:5128 #, c-format msgid "could not write bootstrap write-ahead log file: %m" msgstr "не вдалося записати початкове завантаження випереджувального журналювання: %m" -#: access/transam/xlog.c:4778 +#: access/transam/xlog.c:5136 #, c-format msgid "could not fsync bootstrap write-ahead log file: %m" msgstr "не вдалося скинути на диск початкове завантаження випереджувального журналювання: %m" -#: access/transam/xlog.c:4784 +#: access/transam/xlog.c:5142 #, c-format msgid "could not close bootstrap write-ahead log file: %m" msgstr "не вдалося закрити початкове завантаження випереджувального журналювання: %m" -#: access/transam/xlog.c:5001 +#: access/transam/xlog.c:5367 #, c-format -msgid "WAL was generated with wal_level=minimal, cannot continue recovering" -msgstr "WAL був створений з параметром wal_level=minimal, неможливо продовжити відновлення" +msgid "WAL was generated with \"wal_level=minimal\", cannot continue recovering" +msgstr "WAL був створений з \"wal_level=minimal\", неможливо продовжити відновлення" -#: access/transam/xlog.c:5002 +#: access/transam/xlog.c:5368 #, c-format -msgid "This happens if you temporarily set wal_level=minimal on the server." -msgstr "Це трапляється, якщо ви тимчасово встановили параметр wal_level=minimal на сервері." +msgid "This happens if you temporarily set \"wal_level=minimal\" on the server." +msgstr "Це трапляється, якщо ви тимчасово встановили \"wal_level=minimal\" на сервері." -#: access/transam/xlog.c:5003 +#: access/transam/xlog.c:5369 #, c-format -msgid "Use a backup taken after setting wal_level to higher than minimal." -msgstr "Використовуйте резервну копію, зроблену після встановлення значення wal_level, що перевищує максимальне." +msgid "Use a backup taken after setting \"wal_level\" to higher than \"minimal\"." +msgstr "Використовуйте резервну копію, зроблену після встановлення значення wal_level, що перевищує мінимальний рівень." -#: access/transam/xlog.c:5067 +#: access/transam/xlog.c:5434 #, c-format msgid "control file contains invalid checkpoint location" msgstr "контрольний файл містить недійсне розташування контрольної точки" -#: access/transam/xlog.c:5078 +#: access/transam/xlog.c:5445 #, c-format msgid "database system was shut down at %s" msgstr "система бази даних була вимкнена %s" -#: access/transam/xlog.c:5084 +#: access/transam/xlog.c:5451 #, c-format msgid "database system was shut down in recovery at %s" msgstr "система бази даних завершила роботу у процесі відновлення %s" -#: access/transam/xlog.c:5090 +#: access/transam/xlog.c:5457 #, c-format msgid "database system shutdown was interrupted; last known up at %s" msgstr "завершення роботи бази даних було перервано; останній момент роботи %s" -#: access/transam/xlog.c:5096 +#: access/transam/xlog.c:5463 #, c-format msgid "database system was interrupted while in recovery at %s" msgstr "система бази даних була перервана в процесі відновлення %s" -#: access/transam/xlog.c:5098 +#: access/transam/xlog.c:5465 #, 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:5104 +#: access/transam/xlog.c:5471 #, c-format msgid "database system was interrupted while in recovery at log time %s" msgstr "робота системи бази даних була перервана в процесі відновлення, час в журналі %s" -#: access/transam/xlog.c:5106 +#: access/transam/xlog.c:5473 #, 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:5112 +#: access/transam/xlog.c:5479 #, c-format msgid "database system was interrupted; last known up at %s" msgstr "робота системи бази даних була перервана; останній момент роботи %s" -#: access/transam/xlog.c:5118 +#: access/transam/xlog.c:5486 #, c-format msgid "control file contains invalid database cluster state" msgstr "контрольний файл містить недійсний стан кластеру бази даних" -#: access/transam/xlog.c:5502 +#: access/transam/xlog.c:5874 #, c-format msgid "WAL ends before end of online backup" msgstr "WAL завершився до завершення онлайн резервного копіювання" -#: access/transam/xlog.c:5503 +#: access/transam/xlog.c:5875 #, c-format msgid "All WAL generated while online backup was taken must be available at recovery." msgstr "Всі журнали WAL, створені під час резервного копіювання \"на ходу\", повинні бути в наявності для відновлення." -#: access/transam/xlog.c:5506 +#: access/transam/xlog.c:5879 #, c-format msgid "WAL ends before consistent recovery point" msgstr "WAL завершився до узгодженої точки відновлення" -#: access/transam/xlog.c:5552 +#: access/transam/xlog.c:5925 #, c-format msgid "selected new timeline ID: %u" msgstr "вибрано новий ID часової лінії: %u" -#: access/transam/xlog.c:5585 +#: access/transam/xlog.c:5958 #, c-format msgid "archive recovery complete" msgstr "відновлення архіву завершено" -#: access/transam/xlog.c:6191 +#: access/transam/xlog.c:6587 #, c-format msgid "shutting down" msgstr "завершення роботи" #. translator: the placeholders show checkpoint options -#: access/transam/xlog.c:6230 +#: access/transam/xlog.c:6626 #, 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:6242 +#: access/transam/xlog.c:6638 #, 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:6307 +#: access/transam/xlog.c:6703 #, 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:6330 +#: access/transam/xlog.c:6726 #, 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:6768 +#: access/transam/xlog.c:7208 #, c-format msgid "concurrent write-ahead log activity while database system is shutting down" msgstr "під час того вимкнення БД помічено конкурентну активність у випереджувальному журналюванні" -#: access/transam/xlog.c:7329 +#: access/transam/xlog.c:7793 #, c-format msgid "recovery restart point at %X/%X" msgstr "відновлення збереженої точки %X/%X" -#: access/transam/xlog.c:7331 +#: access/transam/xlog.c:7795 #, c-format msgid "Last completed transaction was at log time %s." msgstr "Остання завершена транзакція була в %s." -#: access/transam/xlog.c:7579 +#: access/transam/xlog.c:8057 #, c-format msgid "restore point \"%s\" created at %X/%X" msgstr "точка відновлення \"%s\" створена в %X/%X" -#: access/transam/xlog.c:7786 +#: access/transam/xlog.c:8264 #, c-format msgid "online backup was canceled, recovery cannot continue" msgstr "онлайн резервне копіювання скасовано, неможливо продовжити відновлення" -#: access/transam/xlog.c:7843 +#: access/transam/xlog.c:8322 #, c-format msgid "unexpected timeline ID %u (should be %u) in shutdown checkpoint record" msgstr "неочікуваний ID лінії часу %u (повинен бути %u) у записі контрольної точки вимкнення" -#: access/transam/xlog.c:7901 +#: access/transam/xlog.c:8380 #, c-format msgid "unexpected timeline ID %u (should be %u) in online checkpoint record" msgstr "неочікуваний ID лінії часу %u (повинен бути %u) у записі контрольної точки онлайн" -#: access/transam/xlog.c:7930 +#: access/transam/xlog.c:8409 #, c-format msgid "unexpected timeline ID %u (should be %u) in end-of-recovery record" msgstr "неочікуваний ID лінії часу %u (повинен бути %u) у записі кінця відновлення" -#: access/transam/xlog.c:8197 +#: access/transam/xlog.c:8680 #, c-format msgid "could not fsync write-through file \"%s\": %m" msgstr "не вдалосьясинхронізувати файл наскрізного запису %s: %m" -#: access/transam/xlog.c:8202 +#: access/transam/xlog.c:8685 #, c-format msgid "could not fdatasync file \"%s\": %m" msgstr "не вдалося fdatasync файл \"%s\": %m" -#: access/transam/xlog.c:8287 access/transam/xlog.c:8610 +#: access/transam/xlog.c:8772 access/transam/xlog.c:9108 #, c-format msgid "WAL level not sufficient for making an online backup" msgstr "Обраний рівень WAL недостатній для резервного копіювання \"на ходу\"" -#: access/transam/xlog.c:8288 access/transam/xlog.c:8611 -#: access/transam/xlogfuncs.c:254 +#: access/transam/xlog.c:8773 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\" при запуску серверу." +msgid "\"wal_level\" must be set to \"replica\" or \"logical\" at server start." +msgstr "\"wal_level\" потрібно задати \"replica\" або \"logical\" при запуску сервера." -#: access/transam/xlog.c:8293 +#: access/transam/xlog.c:8778 #, c-format msgid "backup label too long (max %d bytes)" msgstr "мітка резервного копіювання задовга (максимум %d байт)" -#: access/transam/xlog.c:8414 +#: access/transam/xlog.c:8899 #, c-format -msgid "WAL generated with full_page_writes=off was replayed since last restartpoint" -msgstr "Після останньої точки відновлення був відтворений WAL, створений в режимі full_page_writes=off" +msgid "WAL generated with \"full_page_writes=off\" was replayed since last restartpoint" +msgstr "Після останньої точки відновлення був відтворений WAL, створений в режимі \"full_page_writes=off\"" -#: access/transam/xlog.c:8416 access/transam/xlog.c:8699 +#: access/transam/xlog.c:8901 access/transam/xlog.c:9197 #, 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 на основному сервері, а потім спробуйте ще раз створити резервну копію в Інтернеті." +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:8483 backup/basebackup.c:1351 utils/adt/misc.c:354 +#: access/transam/xlog.c:8981 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:8490 backup/basebackup.c:1356 utils/adt/misc.c:359 +#: access/transam/xlog.c:8988 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:8649 backup/basebackup.c:1217 +#: access/transam/xlog.c:9109 +#, c-format +msgid "wal_level must be set to \"replica\" or \"logical\" at server start." +msgstr "встановіть wal_level \"replica\" або \"logical\" при запуску серверу." + +#: access/transam/xlog.c:9147 backup/basebackup.c:1281 #, c-format msgid "the standby was promoted during online backup" msgstr "режим очікування було підвищено у процесі резервного копіювання \"на ходу\"" -#: access/transam/xlog.c:8650 backup/basebackup.c:1218 +#: access/transam/xlog.c:9148 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:8697 +#: access/transam/xlog.c:9195 #, c-format -msgid "WAL generated with full_page_writes=off was replayed during online backup" -msgstr "У процесі резервного копіювання \"на ходу\" був відтворений WAL, створений в режимі full_page_writes=off" +msgid "WAL generated with \"full_page_writes=off\" was replayed during online backup" +msgstr "WAL створений з \"full_page_writes=off\" було відтворено під час резервного копіювання" -#: access/transam/xlog.c:8813 +#: access/transam/xlog.c:9311 #, c-format msgid "base backup done, waiting for required WAL segments to be archived" msgstr "резервне копіювання виконане, очікуються необхідні сегменти WAL для архівації" -#: access/transam/xlog.c:8827 +#: access/transam/xlog.c:9325 #, c-format msgid "still waiting for all required WAL segments to be archived (%d seconds elapsed)" msgstr "все ще чекає на необхідні сегменти WAL для архівації (%d секунд пройшло)" -#: access/transam/xlog.c:8829 +#: access/transam/xlog.c:9327 #, 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." +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:8836 +#: access/transam/xlog.c:9334 #, c-format msgid "all required WAL segments have been archived" msgstr "усі необхідні сегменти WAL архівовані" -#: access/transam/xlog.c:8840 +#: access/transam/xlog.c:9338 #, 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:8879 +#: access/transam/xlog.c:9377 #, c-format msgid "aborting backup due to backend exiting before pg_backup_stop was called" msgstr "припинення резервного копіювання через завершення обслуговуючого процесу до виклику pg_backup_stop" -#: access/transam/xlogarchive.c:214 +#: access/transam/xlogarchive.c:213 #, c-format msgid "archive file \"%s\" has wrong size: %lld instead of %lld" msgstr "файл архіву \"%s\" має неправильний розмір: %lld замість %lld" -#: access/transam/xlogarchive.c:223 +#: access/transam/xlogarchive.c:222 #, c-format msgid "restored log file \"%s\" from archive" msgstr "відновлений файл журналу \"%s\" з архіву" -#: access/transam/xlogarchive.c:237 +#: access/transam/xlogarchive.c:236 #, c-format -msgid "restore_command returned a zero exit status, but stat() failed." -msgstr "restore_command повернула нульовий статус виходу, але stat() не вдався." +msgid "\"restore_command\" returned a zero exit status, but stat() failed." +msgstr "\"restore_command\" повернула нульовий статус виходу, але виклик stat() не вдався." -#: access/transam/xlogarchive.c:269 +#: access/transam/xlogarchive.c:268 #, c-format msgid "could not restore file \"%s\" from archive: %s" msgstr "неможливо відновити файл \"%s\" з архіву: %s" @@ -2698,104 +2918,114 @@ msgstr "неможливо відновити файл \"%s\" з архіву: % #. translator: First %s represents a postgresql.conf parameter name like #. "recovery_end_command", the 2nd is the value of that parameter, the #. third an already translated error message. -#: access/transam/xlogarchive.c:347 +#: access/transam/xlogarchive.c:346 #, c-format msgid "%s \"%s\": %s" msgstr "%s \"%s\": %s" -#: access/transam/xlogarchive.c:457 access/transam/xlogarchive.c:537 +#: access/transam/xlogarchive.c:456 access/transam/xlogarchive.c:536 #, c-format msgid "could not create archive status file \"%s\": %m" msgstr "неможливо створити файл статусу архіву \"%s\": %m" -#: access/transam/xlogarchive.c:465 access/transam/xlogarchive.c:545 +#: access/transam/xlogarchive.c:464 access/transam/xlogarchive.c:544 #, c-format msgid "could not write archive status file \"%s\": %m" msgstr "неможливо записати файл архівного статусу \"%s\": %m" -#: access/transam/xlogfuncs.c:75 backup/basebackup.c:973 +#: access/transam/xlogfuncs.c:69 backup/basebackup.c:997 #, c-format msgid "a backup is already in progress in this session" msgstr "резервне копіювання наразі триває в цьому сеансі" -#: access/transam/xlogfuncs.c:146 +#: access/transam/xlogfuncs.c:140 #, c-format msgid "backup is not in progress" msgstr "резервне копіювання не виконується" -#: access/transam/xlogfuncs.c:147 +#: access/transam/xlogfuncs.c:141 #, c-format msgid "Did you call pg_backup_start()?" msgstr "Ви викликали pg_backup_start()?" -#: access/transam/xlogfuncs.c:190 access/transam/xlogfuncs.c:248 -#: access/transam/xlogfuncs.c:287 access/transam/xlogfuncs.c:308 -#: access/transam/xlogfuncs.c:329 +#: access/transam/xlogfuncs.c:184 access/transam/xlogfuncs.c:242 +#: access/transam/xlogfuncs.c:281 access/transam/xlogfuncs.c:302 +#: access/transam/xlogfuncs.c:323 #, c-format msgid "WAL control functions cannot be executed during recovery." msgstr "Функції управління WAL не можна використовувати під час відновлення." -#: access/transam/xlogfuncs.c:215 access/transam/xlogfuncs.c:399 -#: access/transam/xlogfuncs.c:457 +#: access/transam/xlogfuncs.c:209 access/transam/xlogfuncs.c:389 +#: access/transam/xlogfuncs.c:447 #, c-format msgid "%s cannot be executed during recovery." msgstr "%s не можна використовувати під час відновлення." -#: access/transam/xlogfuncs.c:221 +#: access/transam/xlogfuncs.c:215 #, c-format -msgid "pg_log_standby_snapshot() can only be used if wal_level >= replica" -msgstr "pg_log_standby_snapshot() можна використовувати лише якщо wal_level >= replica" +msgid "pg_log_standby_snapshot() can only be used if \"wal_level\" >= \"replica\"" +msgstr "pg_log_standby_snapshot() можна використовувати лише якщо \"wal_level\" >= \"replica\"" -#: access/transam/xlogfuncs.c:253 +#: access/transam/xlogfuncs.c:247 #, c-format msgid "WAL level not sufficient for creating a restore point" msgstr "Обраний рівень WAL не достатній для створення точки відновлення" -#: access/transam/xlogfuncs.c:261 +#: access/transam/xlogfuncs.c:255 #, c-format msgid "value too long for restore point (maximum %d characters)" msgstr "значення для точки відновлення перевищує межу (%d симв.)" -#: access/transam/xlogfuncs.c:496 +#: access/transam/xlogfuncs.c:486 #, c-format msgid "invalid WAL file name \"%s\"" msgstr "неприпустиме ім'я файлу WAL \"%s\"" -#: access/transam/xlogfuncs.c:532 access/transam/xlogfuncs.c:562 -#: access/transam/xlogfuncs.c:586 access/transam/xlogfuncs.c:609 -#: access/transam/xlogfuncs.c:689 +#: access/transam/xlogfuncs.c:522 access/transam/xlogfuncs.c:552 +#: access/transam/xlogfuncs.c:576 access/transam/xlogfuncs.c:599 +#: access/transam/xlogfuncs.c:679 #, c-format msgid "recovery is not in progress" msgstr "відновлення не виконується" -#: access/transam/xlogfuncs.c:533 access/transam/xlogfuncs.c:563 -#: access/transam/xlogfuncs.c:587 access/transam/xlogfuncs.c:610 -#: access/transam/xlogfuncs.c:690 +#: access/transam/xlogfuncs.c:523 access/transam/xlogfuncs.c:553 +#: access/transam/xlogfuncs.c:577 access/transam/xlogfuncs.c:600 +#: access/transam/xlogfuncs.c:680 #, c-format msgid "Recovery control functions can only be executed during recovery." msgstr "Функції управління відновленням можна використовувати тільки під час відновлення." -#: access/transam/xlogfuncs.c:538 access/transam/xlogfuncs.c:568 +#: access/transam/xlogfuncs.c:528 access/transam/xlogfuncs.c:558 #, c-format msgid "standby promotion is ongoing" msgstr "просування в режимі очікування триває" -#: access/transam/xlogfuncs.c:539 access/transam/xlogfuncs.c:569 +#: access/transam/xlogfuncs.c:529 access/transam/xlogfuncs.c:559 #, c-format msgid "%s cannot be executed after promotion is triggered." msgstr "%s не може бути виконаний після того як підвищення запущено." -#: access/transam/xlogfuncs.c:695 +#: access/transam/xlogfuncs.c:685 #, c-format msgid "\"wait_seconds\" must not be negative or zero" msgstr "\"wait_seconds\" не має бути від'ємним чи нулем" -#: access/transam/xlogfuncs.c:715 storage/ipc/signalfuncs.c:265 +#: access/transam/xlogfuncs.c:707 storage/ipc/signalfuncs.c:265 #, c-format msgid "failed to send signal to postmaster: %m" msgstr "надіслати сигнал процесу postmaster не вдалося: %m" -#: access/transam/xlogfuncs.c:751 +#: access/transam/xlogfuncs.c:739 libpq/be-secure.c:237 libpq/be-secure.c:346 +#, c-format +msgid "terminating connection due to unexpected postmaster exit" +msgstr "завершення підключення через неочікуване закриття головного процесу" + +#: access/transam/xlogfuncs.c:740 +#, c-format +msgid "while waiting on promotion" +msgstr "в очікуванні на підвищення" + +#: access/transam/xlogfuncs.c:744 #, c-format msgid "server did not promote within %d second" msgid_plural "server did not promote within %d seconds" @@ -2804,704 +3034,717 @@ msgstr[1] "сервер не підвищувався протягом %d сек msgstr[2] "сервер не підвищувався протягом %d секунд" msgstr[3] "сервер не підвищувався протягом %d секунд" -#: access/transam/xlogprefetcher.c:1092 +#: access/transam/xlogprefetcher.c:1088 #, c-format -msgid "recovery_prefetch is not supported on platforms that lack posix_fadvise()." -msgstr "recovery_prefetch не підтримується на платформах, у яких відсутня posix_fadvise()." +msgid "\"recovery_prefetch\" is not supported on platforms that lack posix_fadvise()." +msgstr "\"recovery_prefetch\" не підтримується на платформах, у яких відсутня posix_fadvise()." -#: access/transam/xlogreader.c:621 +#: access/transam/xlogreader.c:619 #, c-format msgid "invalid record offset at %X/%X: expected at least %u, got %u" msgstr "неприпустиме зміщення запису в %X/%X: очікувалось хоча б %u, отримано %u" -#: access/transam/xlogreader.c:630 +#: access/transam/xlogreader.c:628 #, c-format msgid "contrecord is requested by %X/%X" msgstr "по зсуву %X/%X запитано продовження запису" -#: access/transam/xlogreader.c:671 access/transam/xlogreader.c:1136 +#: access/transam/xlogreader.c:669 access/transam/xlogreader.c:1134 #, c-format msgid "invalid record length at %X/%X: expected at least %u, got %u" msgstr "неприпустима довжина запису %X/%X: очікувалась мінімум %u, отримано %u" -#: access/transam/xlogreader.c:760 +#: access/transam/xlogreader.c:758 #, c-format msgid "there is no contrecord flag at %X/%X" msgstr "немає прапорця contrecord в позиції %X/%X" -#: access/transam/xlogreader.c:773 +#: access/transam/xlogreader.c:771 #, c-format msgid "invalid contrecord length %u (expected %lld) at %X/%X" msgstr "неприпустима довжина contrecord %u (очікувалось %lld) на %X/%X" -#: access/transam/xlogreader.c:1144 +#: access/transam/xlogreader.c:1142 #, c-format msgid "invalid resource manager ID %u at %X/%X" msgstr "невірний ID менеджера ресурсів %u в %X/%X" -#: access/transam/xlogreader.c:1157 access/transam/xlogreader.c:1173 +#: access/transam/xlogreader.c:1155 access/transam/xlogreader.c:1171 #, c-format msgid "record with incorrect prev-link %X/%X at %X/%X" msgstr "запис з неправильним попереднім посиланням %X/%X на %X/%X" -#: access/transam/xlogreader.c:1211 +#: access/transam/xlogreader.c:1209 #, c-format msgid "incorrect resource manager data checksum in record at %X/%X" msgstr "некоректна контрольна сума даних менеджера ресурсів у запису по зсуву %X/%X" -#: access/transam/xlogreader.c:1245 +#: access/transam/xlogreader.c:1243 #, 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:1260 access/transam/xlogreader.c:1302 +#: access/transam/xlogreader.c:1258 access/transam/xlogreader.c:1300 #, 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:1276 +#: access/transam/xlogreader.c:1274 #, 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:1284 +#: access/transam/xlogreader.c:1282 #, c-format msgid "WAL file is from different database system: incorrect segment size in page header" msgstr "Файл WAL належить іншій системі баз даних: некоректний розмір сегменту в заголовку сторінки" -#: access/transam/xlogreader.c:1290 +#: access/transam/xlogreader.c:1288 #, c-format msgid "WAL file is from different database system: incorrect XLOG_BLCKSZ in page header" msgstr "Файл WAL належить іншій системі баз даних: некоректний XLOG_BLCKSZ в заголовку сторінки" -#: access/transam/xlogreader.c:1322 +#: access/transam/xlogreader.c:1320 #, 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:1348 +#: access/transam/xlogreader.c:1346 #, 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:1754 +#: access/transam/xlogreader.c:1749 #, c-format msgid "out-of-order block_id %u at %X/%X" msgstr "ідентифікатор блока %u out-of-order в позиції %X/%X" -#: access/transam/xlogreader.c:1778 +#: access/transam/xlogreader.c:1773 #, c-format msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X" msgstr "BKPBLOCK_HAS_DATA встановлений, але немає даних в позиції %X/%X" -#: access/transam/xlogreader.c:1785 +#: access/transam/xlogreader.c:1780 #, 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:1821 +#: access/transam/xlogreader.c:1816 #, 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:1837 +#: access/transam/xlogreader.c:1832 #, 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:1851 +#: access/transam/xlogreader.c:1846 #, c-format msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X" msgstr "BKPIMAGE_COMPRESSED встановлений, але довжина образу блока дорівнює %u в позиції %X/%X" -#: access/transam/xlogreader.c:1866 +#: access/transam/xlogreader.c:1861 #, 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:1882 +#: access/transam/xlogreader.c:1877 #, c-format msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X" msgstr "BKPBLOCK_SAME_REL встановлений, але попереднє значення не задано в позиції %X/%X" -#: access/transam/xlogreader.c:1894 +#: access/transam/xlogreader.c:1889 #, c-format msgid "invalid block_id %u at %X/%X" msgstr "невірний ідентифікатор блоку %u в позиції %X/%X" -#: access/transam/xlogreader.c:1961 +#: access/transam/xlogreader.c:1956 #, c-format msgid "record with invalid length at %X/%X" msgstr "запис з невірною довжиною на %X/%X" -#: access/transam/xlogreader.c:1987 +#: access/transam/xlogreader.c:1982 #, c-format msgid "could not locate backup block with ID %d in WAL record" msgstr "не вдалося знайти блок резервної копії з ID %d у записі WAL" -#: access/transam/xlogreader.c:2071 +#: access/transam/xlogreader.c:2066 #, c-format msgid "could not restore image at %X/%X with invalid block %d specified" msgstr "не вдалося відновити зображення %X/%X з недійсним вказаним блоком %d" -#: access/transam/xlogreader.c:2078 +#: access/transam/xlogreader.c:2073 #, c-format msgid "could not restore image at %X/%X with invalid state, block %d" msgstr "не вдалося відновити зображення %X/%X з недійсним станом, блок %d" -#: access/transam/xlogreader.c:2105 access/transam/xlogreader.c:2122 +#: access/transam/xlogreader.c:2100 access/transam/xlogreader.c:2117 #, 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:2131 +#: access/transam/xlogreader.c:2126 #, c-format msgid "could not restore image at %X/%X compressed with unknown method, block %d" msgstr "не вдалося відновити зображення %X/%X стиснуте з невідомим методом, блок %d" -#: access/transam/xlogreader.c:2139 +#: access/transam/xlogreader.c:2134 #, c-format msgid "could not decompress image at %X/%X, block %d" msgstr "не вдалося розпакувати зображення на %X/%X, блок %d" -#: access/transam/xlogrecovery.c:547 -#, c-format -msgid "entering standby mode" -msgstr "перехід у режим очікування" - -#: access/transam/xlogrecovery.c:550 -#, c-format -msgid "starting point-in-time recovery to XID %u" -msgstr "починається відновлення точки в часі до XID %u" - -#: access/transam/xlogrecovery.c:554 -#, c-format -msgid "starting point-in-time recovery to %s" -msgstr "починається відновлення точки в часі до %s" - -#: access/transam/xlogrecovery.c:558 -#, c-format -msgid "starting point-in-time recovery to \"%s\"" -msgstr "починається відновлення точки в часі до \"%s\"" - -#: access/transam/xlogrecovery.c:562 -#, c-format -msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%X\"" -msgstr "починається відновлення точки в часі до локації WAL (LSN) \"%X/%X\"" - -#: access/transam/xlogrecovery.c:566 -#, c-format -msgid "starting point-in-time recovery to earliest consistent point" -msgstr "починається відновлення даних до першої точки домовленості" - -#: access/transam/xlogrecovery.c:569 -#, c-format -msgid "starting archive recovery" -msgstr "початок відновлення архіву" - -#: access/transam/xlogrecovery.c:637 +#: access/transam/xlogrecovery.c:617 #, c-format msgid "starting backup recovery with redo LSN %X/%X, checkpoint LSN %X/%X, on timeline ID %u" msgstr "стартуємо відновлення резервної копії з LSN повторення %X/%X, LSN контрольної точки %X/%X, на часовій шкалі з ID %u" -#: access/transam/xlogrecovery.c:669 +#: access/transam/xlogrecovery.c:649 #, c-format -msgid "could not find redo location referenced by checkpoint record" -msgstr "не вдалося знайти положення REDO, вказане записом контрольної точки" +msgid "could not find redo location %X/%X referenced by checkpoint record at %X/%X" +msgstr "не вдалося знайти положення REDO %X/%X, вказане записом контрольної точки в %X/%X" -#: access/transam/xlogrecovery.c:670 access/transam/xlogrecovery.c:680 +#: access/transam/xlogrecovery.c:651 access/transam/xlogrecovery.c:662 #, c-format -msgid "" -"If you are restoring from a backup, touch \"%s/recovery.signal\" and add required recovery options.\n" +msgid "If you are restoring from a backup, touch \"%s/recovery.signal\" or \"%s/standby.signal\" and add required recovery options.\n" "If you are not restoring from a backup, try removing the file \"%s/backup_label\".\n" "Be careful: removing \"%s/backup_label\" will result in a corrupt cluster if restoring from a backup." -msgstr "" -"Якщо ви відновлюєте з резервної копії, оновіть файл \"%s/recovery.signal\" та додайте необхідні параметри відновлення.\n" -"Якщо ви не відновлюєте з резервної копії, спробуйте видалити файл \"%s/backup_label\".\n" -"Будьте обережні: видалення \"%s/backup_label\" призведе до пошкодження кластеру при відновленні з резервної копії." +msgstr "Якщо ви відновлюєтеся з резервної копії, оновіть \"%s/recovery.signal\" або \"%s/standby.signal\" і додайте необхідні параметри відновлення.\n" +"Якщо ви відновлюєте не з резервної копії, спробуйте видалити файл \"%s/backup_label\".\n" +"Будьте обережні: видалення \"%s/backup_label\" призведе до пошкодження кластера при відновленні з резервної копії." -#: access/transam/xlogrecovery.c:679 +#: access/transam/xlogrecovery.c:660 #, c-format -msgid "could not locate required checkpoint record" -msgstr "не вдалося знайти запис потрібної контрольної точки" +msgid "could not locate required checkpoint record at %X/%X" +msgstr "не вдалося знайти запис необхідної контрольної точки в %X/%X" -#: access/transam/xlogrecovery.c:708 commands/tablespace.c:670 +#: access/transam/xlogrecovery.c:690 commands/tablespace.c:664 #, c-format msgid "could not create symbolic link \"%s\": %m" msgstr "не вдалося створити символічне послання \"%s\": %m" -#: access/transam/xlogrecovery.c:740 access/transam/xlogrecovery.c:746 +#: access/transam/xlogrecovery.c:723 access/transam/xlogrecovery.c:729 #, c-format msgid "ignoring file \"%s\" because no file \"%s\" exists" msgstr "файл \"%s\" ігнорується, тому що файлу \"%s\" не існує" -#: access/transam/xlogrecovery.c:742 +#: access/transam/xlogrecovery.c:725 #, c-format msgid "File \"%s\" was renamed to \"%s\"." msgstr "Файл \"%s\" був перейменований на \"%s\"." -#: access/transam/xlogrecovery.c:748 +#: access/transam/xlogrecovery.c:731 #, c-format msgid "Could not rename file \"%s\" to \"%s\": %m." msgstr "Неможливо перейменувати файл \"%s\" на \"%s\": %m." -#: access/transam/xlogrecovery.c:787 +#: access/transam/xlogrecovery.c:770 #, c-format msgid "restarting backup recovery with redo LSN %X/%X" msgstr "перезапуск відновлення резервної копії на LSN %X/%X" -#: access/transam/xlogrecovery.c:812 +#: access/transam/xlogrecovery.c:795 +#, c-format +msgid "could not locate a valid checkpoint record at %X/%X" +msgstr "не вдалося знайти запис допустимої контрольної точки в %X/%X" + +#: access/transam/xlogrecovery.c:806 +#, c-format +msgid "entering standby mode" +msgstr "перехід у режим очікування" + +#: access/transam/xlogrecovery.c:809 +#, c-format +msgid "starting point-in-time recovery to XID %u" +msgstr "починається відновлення точки в часі до XID %u" + +#: access/transam/xlogrecovery.c:813 +#, c-format +msgid "starting point-in-time recovery to %s" +msgstr "починається відновлення точки в часі до %s" + +#: access/transam/xlogrecovery.c:817 +#, c-format +msgid "starting point-in-time recovery to \"%s\"" +msgstr "починається відновлення точки в часі до \"%s\"" + +#: access/transam/xlogrecovery.c:821 +#, c-format +msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%X\"" +msgstr "починається відновлення точки в часі до локації WAL (LSN) \"%X/%X\"" + +#: access/transam/xlogrecovery.c:825 +#, c-format +msgid "starting point-in-time recovery to earliest consistent point" +msgstr "починається відновлення даних до першої точки домовленості" + +#: access/transam/xlogrecovery.c:828 #, c-format -msgid "could not locate a valid checkpoint record" -msgstr "не вдалося знайти запис допустимої контрольної точки" +msgid "starting archive recovery" +msgstr "початок відновлення архіву" -#: access/transam/xlogrecovery.c:836 +#: access/transam/xlogrecovery.c:849 #, c-format msgid "requested timeline %u is not a child of this server's history" msgstr "запитувана лінія часу %u не є відгалуженням історії цього серверу" -#: access/transam/xlogrecovery.c:838 +#: access/transam/xlogrecovery.c:851 #, 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:852 +#: access/transam/xlogrecovery.c:865 #, 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:880 +#: access/transam/xlogrecovery.c:893 #, c-format msgid "invalid next transaction ID" msgstr "невірний ID наступної транзакції" -#: access/transam/xlogrecovery.c:885 +#: access/transam/xlogrecovery.c:898 #, c-format msgid "invalid redo in checkpoint record" msgstr "невірний запис REDO в контрольній точці" -#: access/transam/xlogrecovery.c:896 +#: access/transam/xlogrecovery.c:909 #, c-format msgid "invalid redo record in shutdown checkpoint" msgstr "невірний запис REDO в контрольній точці вимкнення" -#: access/transam/xlogrecovery.c:925 +#: access/transam/xlogrecovery.c:938 #, c-format msgid "database system was not properly shut down; automatic recovery in progress" msgstr "робота системи бази даних не була завершена належним чином; відбувається автоматичне відновлення" -#: access/transam/xlogrecovery.c:929 +#: access/transam/xlogrecovery.c:942 #, c-format msgid "crash recovery starts in timeline %u and has target timeline %u" msgstr "відновлення після збою починається на лінії часу %u і має цільову лінію часу: %u" -#: access/transam/xlogrecovery.c:972 +#: access/transam/xlogrecovery.c:985 #, c-format msgid "backup_label contains data inconsistent with control file" msgstr "backup_label містить дані, які не узгоджені з файлом pg_control" -#: access/transam/xlogrecovery.c:973 +#: access/transam/xlogrecovery.c:986 #, 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:1027 +#: access/transam/xlogrecovery.c:1040 #, c-format msgid "using recovery command file \"%s\" is not supported" msgstr "використання файлу команд відновлення \"%s\" не підтримується" -#: access/transam/xlogrecovery.c:1092 +#: access/transam/xlogrecovery.c:1105 #, c-format msgid "standby mode is not supported by single-user servers" msgstr "режим очікування не підтримується однокористувацьким сервером" -#: access/transam/xlogrecovery.c:1109 +#: access/transam/xlogrecovery.c:1122 #, c-format -msgid "specified neither primary_conninfo nor restore_command" -msgstr "не заззначено ані параметр primary_conninfo, ані параметр restore_command" +msgid "specified neither \"primary_conninfo\" nor \"restore_command\"" +msgstr "не вказано ні \"primary_conninfo\", ані \"restore_command\"" -#: access/transam/xlogrecovery.c:1110 +#: access/transam/xlogrecovery.c:1123 #, 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:1118 +#: access/transam/xlogrecovery.c:1131 #, c-format -msgid "must specify restore_command when standby mode is not enabled" -msgstr "необхідно вказати restore_command, якщо не ввімкнено режиму очікування" +msgid "must specify \"restore_command\" when standby mode is not enabled" +msgstr "необхідно вказати \"restore_command\", якщо не ввімкнено режиму очікування" -#: access/transam/xlogrecovery.c:1156 +#: access/transam/xlogrecovery.c:1169 #, c-format msgid "recovery target timeline %u does not exist" msgstr "цільова лінія часу відновлення %u не існує" -#: access/transam/xlogrecovery.c:1239 access/transam/xlogrecovery.c:1246 -#: access/transam/xlogrecovery.c:1305 access/transam/xlogrecovery.c:1385 -#: access/transam/xlogrecovery.c:1409 +#: 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 #, c-format msgid "invalid data in file \"%s\"" msgstr "невірні дані у файлі \"%s\"" -#: access/transam/xlogrecovery.c:1306 +#: access/transam/xlogrecovery.c:1319 #, c-format msgid "Timeline ID parsed is %u, but expected %u." msgstr "Проаналізовано ID часової лінії %u, очіувалося %u." -#: access/transam/xlogrecovery.c:1688 +#: access/transam/xlogrecovery.c:1330 +#, c-format +msgid "this is an incremental backup, not a data directory" +msgstr "це інкрементна резервна копія, а не каталог даних" + +#: access/transam/xlogrecovery.c:1331 +#, c-format +msgid "Use pg_combinebackup to reconstruct a valid data directory." +msgstr "Використовуйте pg_combinebackup для відновлення правильного каталогу даних." + +#: access/transam/xlogrecovery.c:1717 +#, c-format +msgid "unexpected record type found at redo point %X/%X" +msgstr "знайдено неочікуваний тип запису в точці повторення %X/%X" + +#: access/transam/xlogrecovery.c:1740 #, c-format msgid "redo starts at %X/%X" msgstr "запис REDO починається з %X/%X" -#: access/transam/xlogrecovery.c:1701 +#: access/transam/xlogrecovery.c:1753 #, 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:1793 +#: access/transam/xlogrecovery.c:1843 #, c-format msgid "requested recovery stop point is before consistent recovery point" msgstr "запитувана точка відновлення передує узгодженій точці відновлення" -#: access/transam/xlogrecovery.c:1825 +#: access/transam/xlogrecovery.c:1875 #, c-format msgid "redo done at %X/%X system usage: %s" msgstr "повторно виконано через %X/%X системне використання: %s" -#: access/transam/xlogrecovery.c:1831 +#: access/transam/xlogrecovery.c:1881 #, c-format msgid "last completed transaction was at log time %s" msgstr "остання завершена транзакція була в %s" -#: access/transam/xlogrecovery.c:1840 +#: access/transam/xlogrecovery.c:1890 #, c-format msgid "redo is not required" msgstr "дані REDO не потрібні" -#: access/transam/xlogrecovery.c:1851 +#: access/transam/xlogrecovery.c:1901 #, c-format msgid "recovery ended before configured recovery target was reached" msgstr "відновлення завершилось до досягення налаштованої цілі відновлення" -#: access/transam/xlogrecovery.c:2045 +#: access/transam/xlogrecovery.c:2095 #, c-format msgid "successfully skipped missing contrecord at %X/%X, overwritten at %s" msgstr "успішно пропущений відсутній contrecord при %X/%X, перезаписано на %s" -#: access/transam/xlogrecovery.c:2112 +#: access/transam/xlogrecovery.c:2162 #, c-format msgid "unexpected directory entry \"%s\" found in %s" msgstr "знайдено неочікуваний запис каталогу \"%s\" в %s" -#: access/transam/xlogrecovery.c:2114 +#: access/transam/xlogrecovery.c:2164 #, c-format msgid "All directory entries in pg_tblspc/ should be symbolic links." msgstr "Всі записи каталогу в pg_tblspc/ повинні бути символічними посиланнями." -#: access/transam/xlogrecovery.c:2115 +#: access/transam/xlogrecovery.c:2165 #, 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, щоб завершити відновлення." +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:2167 +#: access/transam/xlogrecovery.c:2217 #, 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:2197 +#: access/transam/xlogrecovery.c:2247 #, c-format msgid "consistent recovery state reached at %X/%X" msgstr "узгоджений стан відновлення досягнутий %X/%X" #. translator: %s is a WAL record description -#: access/transam/xlogrecovery.c:2235 +#: access/transam/xlogrecovery.c:2285 #, c-format msgid "WAL redo at %X/%X for %s" msgstr "запис REDO в WAL в позиції %X/%X для %s" -#: access/transam/xlogrecovery.c:2333 +#: access/transam/xlogrecovery.c:2383 #, c-format msgid "unexpected previous timeline ID %u (current timeline ID %u) in checkpoint record" msgstr "несподіваний ID попередньої лінії часу %u (ID теперішньої лінії часу %u) в записі контрольної точки" -#: access/transam/xlogrecovery.c:2342 +#: access/transam/xlogrecovery.c:2392 #, c-format msgid "unexpected timeline ID %u (after %u) in checkpoint record" msgstr "неочікуваний ID лінії часу %u (після %u) в записі контрольної точки" -#: access/transam/xlogrecovery.c:2358 +#: access/transam/xlogrecovery.c:2408 #, 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:2542 access/transam/xlogrecovery.c:2818 +#: access/transam/xlogrecovery.c:2592 access/transam/xlogrecovery.c:2868 #, c-format msgid "recovery stopping after reaching consistency" msgstr "відновлення зупиняється після досягнення узгодженості" -#: access/transam/xlogrecovery.c:2563 +#: access/transam/xlogrecovery.c:2613 #, c-format msgid "recovery stopping before WAL location (LSN) \"%X/%X\"" msgstr "відновлення зупиняється перед позицією WAL (LSN) \"%X/%X\"" -#: access/transam/xlogrecovery.c:2653 +#: access/transam/xlogrecovery.c:2703 #, c-format msgid "recovery stopping before commit of transaction %u, time %s" msgstr "відновлення припиняється до підтвердження транзакції %u, час %s" -#: access/transam/xlogrecovery.c:2660 +#: access/transam/xlogrecovery.c:2710 #, c-format msgid "recovery stopping before abort of transaction %u, time %s" msgstr "відновлення припиняється до скасування транзакції %u, час %s" -#: access/transam/xlogrecovery.c:2713 +#: access/transam/xlogrecovery.c:2763 #, c-format msgid "recovery stopping at restore point \"%s\", time %s" msgstr "відновлення припиняється в точці відновлення\"%s\", час %s" -#: access/transam/xlogrecovery.c:2731 +#: access/transam/xlogrecovery.c:2781 #, c-format msgid "recovery stopping after WAL location (LSN) \"%X/%X\"" msgstr "відновлення припиняється пісня локації WAL (LSN) \"%X/%X\"" -#: access/transam/xlogrecovery.c:2798 +#: access/transam/xlogrecovery.c:2848 #, c-format msgid "recovery stopping after commit of transaction %u, time %s" msgstr "відновлення припиняється після підтвердження транзакції %u, час %s" -#: access/transam/xlogrecovery.c:2806 +#: access/transam/xlogrecovery.c:2856 #, c-format msgid "recovery stopping after abort of transaction %u, time %s" msgstr "відновлення припиняється після скасування транзакції %u, час %s" -#: access/transam/xlogrecovery.c:2887 +#: access/transam/xlogrecovery.c:2937 #, c-format msgid "pausing at the end of recovery" msgstr "пауза в кінці відновлення" -#: access/transam/xlogrecovery.c:2888 +#: access/transam/xlogrecovery.c:2938 #, c-format msgid "Execute pg_wal_replay_resume() to promote." msgstr "Виконайте pg_wal_replay_resume() для підвищення рівня." -#: access/transam/xlogrecovery.c:2891 access/transam/xlogrecovery.c:4628 +#: access/transam/xlogrecovery.c:2941 access/transam/xlogrecovery.c:4678 #, c-format msgid "recovery has paused" msgstr "відновлення зупинено" -#: access/transam/xlogrecovery.c:2892 +#: access/transam/xlogrecovery.c:2942 #, c-format msgid "Execute pg_wal_replay_resume() to continue." msgstr "Виконайте pg_wal_replay_resume(), щоб продовжити." -#: access/transam/xlogrecovery.c:3155 +#: access/transam/xlogrecovery.c:3205 #, 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:3363 +#: access/transam/xlogrecovery.c:3413 #, 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:3370 +#: access/transam/xlogrecovery.c:3420 #, 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:4010 +#: access/transam/xlogrecovery.c:4060 #, c-format msgid "invalid checkpoint location" msgstr "невірне розташування контрольної точки" -#: access/transam/xlogrecovery.c:4020 +#: access/transam/xlogrecovery.c:4070 #, c-format msgid "invalid checkpoint record" msgstr "невірний запис контрольної точки" -#: access/transam/xlogrecovery.c:4026 +#: access/transam/xlogrecovery.c:4076 #, c-format msgid "invalid resource manager ID in checkpoint record" msgstr "невірний ID менеджера ресурсів в записі контрольної точки" -#: access/transam/xlogrecovery.c:4034 +#: access/transam/xlogrecovery.c:4084 #, c-format msgid "invalid xl_info in checkpoint record" msgstr "невірний xl_info у записі контрольної точки" -#: access/transam/xlogrecovery.c:4040 +#: access/transam/xlogrecovery.c:4090 #, c-format msgid "invalid length of checkpoint record" msgstr "невірна довжина запису контрольної точки" -#: access/transam/xlogrecovery.c:4094 +#: access/transam/xlogrecovery.c:4144 #, c-format msgid "new timeline %u is not a child of database system timeline %u" msgstr "нова лінія часу %u не є дочірньою для лінії часу системи бази даних %u" -#: access/transam/xlogrecovery.c:4108 +#: access/transam/xlogrecovery.c:4158 #, 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:4127 +#: access/transam/xlogrecovery.c:4177 #, c-format msgid "new target timeline is %u" msgstr "нова цільова лінія часу %u" -#: access/transam/xlogrecovery.c:4330 +#: access/transam/xlogrecovery.c:4380 #, c-format msgid "WAL receiver process shutdown requested" msgstr "Запит на вимкнення процесу приймача WAL" -#: access/transam/xlogrecovery.c:4390 +#: access/transam/xlogrecovery.c:4440 #, c-format msgid "received promote request" msgstr "отримано запит підвищення статусу" -#: access/transam/xlogrecovery.c:4619 +#: access/transam/xlogrecovery.c:4669 #, c-format msgid "hot standby is not possible because of insufficient parameter settings" msgstr "hot standby неможливий через недостатнє налаштування параметрів" -#: access/transam/xlogrecovery.c:4620 access/transam/xlogrecovery.c:4647 -#: access/transam/xlogrecovery.c:4677 +#: access/transam/xlogrecovery.c:4670 access/transam/xlogrecovery.c:4697 +#: access/transam/xlogrecovery.c:4727 #, 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:4629 +#: access/transam/xlogrecovery.c:4679 #, c-format msgid "If recovery is unpaused, the server will shut down." msgstr "Якщо відновлення не буде зупинено, сервер завершить роботу." -#: access/transam/xlogrecovery.c:4630 +#: access/transam/xlogrecovery.c:4680 #, c-format msgid "You can then restart the server after making the necessary configuration changes." msgstr "Після здійснення необхідних змін у конфігурації, ви можете перезапустити сервер." -#: access/transam/xlogrecovery.c:4641 +#: access/transam/xlogrecovery.c:4691 #, c-format msgid "promotion is not possible because of insufficient parameter settings" msgstr "підвищення неможливе через недостатнє налаштування параметрів" -#: access/transam/xlogrecovery.c:4651 +#: access/transam/xlogrecovery.c:4701 #, c-format msgid "Restart the server after making the necessary configuration changes." msgstr "Перезапустити сервер після здійснення необхідних змін у конфігурації." -#: access/transam/xlogrecovery.c:4675 +#: access/transam/xlogrecovery.c:4725 #, c-format msgid "recovery aborted because of insufficient parameter settings" msgstr "відновлення перервано через недостатнє налаштування параметрів" -#: access/transam/xlogrecovery.c:4681 +#: access/transam/xlogrecovery.c:4731 #, c-format msgid "You can restart the server after making the necessary configuration changes." msgstr "Ви можете перезапустити сервер, після здійснення необхідних змін у конфігурації." -#: access/transam/xlogrecovery.c:4723 +#: access/transam/xlogrecovery.c:4773 #, c-format msgid "multiple recovery targets specified" msgstr "вказано декілька цілей відновлення" -#: access/transam/xlogrecovery.c:4724 +#: access/transam/xlogrecovery.c:4774 #, 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 може бути встановлений." +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:4735 +#: access/transam/xlogrecovery.c:4785 #, c-format msgid "The only allowed value is \"immediate\"." msgstr "Єдиним дозволеним значенням є \"immediate\"." -#: access/transam/xlogrecovery.c:4887 utils/adt/timestamp.c:186 -#: utils/adt/timestamp.c:439 +#: access/transam/xlogrecovery.c:4937 utils/adt/timestamp.c:202 +#: utils/adt/timestamp.c:455 #, c-format msgid "timestamp out of range: \"%s\"" msgstr "позначка часу поза діапазоном: \"%s\"" -#: access/transam/xlogrecovery.c:4932 +#: access/transam/xlogrecovery.c:4982 #, c-format -msgid "recovery_target_timeline is not a valid number." -msgstr "recovery_target_timeline не є допустимим числом." +msgid "\"recovery_target_timeline\" is not a valid number." +msgstr "\"recovery_target_timeline\" не є допустимим числом." -#: access/transam/xlogutils.c:1039 +#: access/transam/xlogutils.c:1032 #, c-format msgid "could not read from WAL segment %s, offset %d: %m" msgstr "не вдалося прочитати сегмент WAL %s, зсув %d: %m" -#: access/transam/xlogutils.c:1046 +#: access/transam/xlogutils.c:1039 #, c-format msgid "could not read from WAL segment %s, offset %d: read %d of %d" msgstr "не вдалося прочитати сегмент WAL %s, зсув %d: прочитано %d з %d" -#: archive/shell_archive.c:96 +#: archive/shell_archive.c:98 #, c-format msgid "archive command failed with exit code %d" msgstr "команда архівації завершилась помилкой з кодом %d" -#: archive/shell_archive.c:98 archive/shell_archive.c:108 -#: archive/shell_archive.c:114 archive/shell_archive.c:123 +#: archive/shell_archive.c:100 archive/shell_archive.c:110 +#: archive/shell_archive.c:116 archive/shell_archive.c:125 #, c-format msgid "The failed archive command was: %s" msgstr "Команда архівації з помилкою: %s" -#: archive/shell_archive.c:105 +#: archive/shell_archive.c:107 #, c-format msgid "archive command was terminated by exception 0x%X" msgstr "команда архівації була перервана винятком 0x%X" -#: archive/shell_archive.c:107 postmaster/postmaster.c:3678 +#: archive/shell_archive.c:109 postmaster/postmaster.c:3094 #, c-format msgid "See C include file \"ntstatus.h\" for a description of the hexadecimal value." msgstr "Опис цього Шістнадцяткового значення дивіться у включаємому C-файлі \"ntstatus.h\"." -#: archive/shell_archive.c:112 +#: archive/shell_archive.c:114 #, c-format msgid "archive command was terminated by signal %d: %s" msgstr "команда архівації була перервана сигналом %d: %s" -#: archive/shell_archive.c:121 +#: archive/shell_archive.c:123 #, c-format msgid "archive command exited with unrecognized status %d" msgstr "команда архівації завершена з нерозпізнаним статусом %d" -#: backup/backup_manifest.c:253 +#: backup/backup_manifest.c:254 #, c-format msgid "expected end timeline %u but found timeline %u" msgstr "очікувався кінець часової шкали %u але знайдено часову шкалу %u" -#: backup/backup_manifest.c:277 +#: backup/backup_manifest.c:278 #, c-format msgid "expected start timeline %u but found timeline %u" msgstr "очікувався початок часової шкали %u але знайдено часову шкалу %u" -#: backup/backup_manifest.c:304 +#: backup/backup_manifest.c:305 #, c-format msgid "start timeline %u not found in history of timeline %u" msgstr "початок часової шкали %u не знайдено в історії часової шкали %u" -#: backup/backup_manifest.c:355 +#: backup/backup_manifest.c:356 #, c-format msgid "could not rewind temporary file" msgstr "не вдалося перемотати назад тимчасовий файл" -#: backup/basebackup.c:470 +#: backup/basebackup.c:479 #, c-format msgid "could not find any WAL files" msgstr "не вдалося знайти ні одного файла WAL" -#: backup/basebackup.c:485 backup/basebackup.c:500 backup/basebackup.c:509 +#: backup/basebackup.c:494 backup/basebackup.c:509 backup/basebackup.c:518 #, c-format msgid "could not find WAL file \"%s\"" msgstr "не вдалося знайти файл WAL \"%s\"" -#: backup/basebackup.c:551 backup/basebackup.c:576 +#: backup/basebackup.c:560 backup/basebackup.c:585 #, c-format msgid "unexpected WAL file size \"%s\"" msgstr "неочікуаний розмір файлу WAL \"%s\"" -#: backup/basebackup.c:646 +#: backup/basebackup.c:656 #, c-format msgid "%lld total checksum verification failure" msgid_plural "%lld total checksum verification failures" @@ -3510,106 +3753,96 @@ msgstr[1] "всього помилок перевірки контрольних msgstr[2] "всього помилок перевірки контрольних сум: %lld" msgstr[3] "всього помилок перевірки контрольних сум: %lld" -#: backup/basebackup.c:653 +#: backup/basebackup.c:663 #, c-format msgid "checksum verification failure during base backup" msgstr "під час базового резервного копіювання виявлено неполадки контрольних сум" -#: backup/basebackup.c:722 backup/basebackup.c:731 backup/basebackup.c:742 -#: backup/basebackup.c:759 backup/basebackup.c:768 backup/basebackup.c:779 -#: backup/basebackup.c:796 backup/basebackup.c:805 backup/basebackup.c:817 -#: backup/basebackup.c:841 backup/basebackup.c:855 backup/basebackup.c:866 -#: backup/basebackup.c:877 backup/basebackup.c:890 +#: backup/basebackup.c:733 backup/basebackup.c:742 backup/basebackup.c:753 +#: backup/basebackup.c:770 backup/basebackup.c:779 backup/basebackup.c:788 +#: backup/basebackup.c:803 backup/basebackup.c:820 backup/basebackup.c:829 +#: backup/basebackup.c:841 backup/basebackup.c:865 backup/basebackup.c:879 +#: backup/basebackup.c:890 backup/basebackup.c:901 backup/basebackup.c:914 #, c-format msgid "duplicate option \"%s\"" msgstr "повторюваний параметр \"%s\"" -#: backup/basebackup.c:750 +#: backup/basebackup.c:761 #, c-format msgid "unrecognized checkpoint type: \"%s\"" msgstr "нерозпізнаний тип контрольної точки: \"%s\"" -#: backup/basebackup.c:785 +#: backup/basebackup.c:793 +#, c-format +msgid "incremental backups cannot be taken unless WAL summarization is enabled" +msgstr "інкрементні резервні копії не можна створювати, якщо не ввімкнено підсумовування WAL" + +#: backup/basebackup.c:809 #, c-format msgid "%d is outside the valid range for parameter \"%s\" (%d .. %d)" msgstr "%d за припустимим діапазномо для параметру \"%s\" (%d .. %d)" -#: backup/basebackup.c:830 +#: backup/basebackup.c:854 #, c-format msgid "unrecognized manifest option: \"%s\"" msgstr "нерозпізнаний параметр маніфесту: \"%s\"" -#: backup/basebackup.c:846 -#, c-format -msgid "unrecognized checksum algorithm: \"%s\"" -msgstr "нерозпізнаний алгоритм контрольної суми: \"%s\"" - -#: backup/basebackup.c:881 +#: backup/basebackup.c:905 #, c-format msgid "unrecognized compression algorithm: \"%s\"" msgstr "нерозпізнаний алгоритм стискання: \"%s\"" -#: backup/basebackup.c:897 +#: backup/basebackup.c:921 #, c-format msgid "unrecognized base backup option: \"%s\"" msgstr "нерозпізнаний параметр базової резервної копії: \"%s\"" -#: backup/basebackup.c:908 +#: backup/basebackup.c:932 #, c-format msgid "manifest checksums require a backup manifest" msgstr "контрольні суми маніфесту потребують резервного копіювання маніфесту" -#: backup/basebackup.c:917 +#: backup/basebackup.c:941 #, c-format msgid "target detail cannot be used without target" msgstr "елемент цілі не можна використовувати без цілі" -#: backup/basebackup.c:926 backup/basebackup_target.c:218 +#: backup/basebackup.c:950 backup/basebackup_target.c:218 #, c-format msgid "target \"%s\" does not accept a target detail" msgstr "ціль \"%s\" не приймає елемент цілі" -#: backup/basebackup.c:937 +#: backup/basebackup.c:961 #, c-format msgid "compression detail cannot be specified unless compression is enabled" msgstr "деталі стиснення не можуть бути вказані, якщо не увімкнено стиснення" -#: backup/basebackup.c:950 +#: backup/basebackup.c:974 #, c-format msgid "invalid compression specification: %s" msgstr "неприпустима специфікація стискання: %s" -#: backup/basebackup.c:1116 backup/basebackup.c:1294 +#: backup/basebackup.c:1024 +#, c-format +msgid "must UPLOAD_MANIFEST before performing an incremental BASE_BACKUP" +msgstr "повинен UPLOAD_MANIFEST перед виконанням інкрементного BASE_BACKUP" + +#: backup/basebackup.c:1157 backup/basebackup.c:1358 #, c-format msgid "could not stat file or directory \"%s\": %m" msgstr "не вдалося отримати інформацію про файл або каталог \"%s\": %m" -#: backup/basebackup.c:1430 +#: backup/basebackup.c:1544 #, c-format msgid "skipping special file \"%s\"" msgstr "спеціальний файл \"%s\" пропускається" -#: backup/basebackup.c:1542 -#, c-format -msgid "invalid segment number %d in file \"%s\"" -msgstr "неприпустимий номер сегменту %d в файлі \"%s\"" - -#: backup/basebackup.c:1574 +#: backup/basebackup.c:1751 #, c-format msgid "could not verify checksum in file \"%s\", block %u: read buffer size %d and page size %d differ" msgstr "не вдалося перевірити контрольну суму у файлі \"%s\", блок %u: розмір прочитаного буфера %d і розмір прочитаної сторінки %d відрізняються" -#: backup/basebackup.c:1658 -#, c-format -msgid "checksum verification failed in file \"%s\", block %u: calculated %X but expected %X" -msgstr "помилка перевірки контрольної суми у файлі \"%s\", блок %u: обчислено %X, але очікувалось %X" - -#: backup/basebackup.c:1665 -#, c-format -msgid "further checksum verification failures in file \"%s\" will not be reported" -msgstr "про подальші помилки під час перевірки контрольної суми в файлі \"%s\" повідомлятись не буде" - -#: backup/basebackup.c:1721 +#: backup/basebackup.c:1813 #, c-format msgid "file \"%s\" has a total of %d checksum verification failure" msgid_plural "file \"%s\" has a total of %d checksum verification failures" @@ -3618,16 +3851,31 @@ msgstr[1] "файл \"%s\" має загальну кількість помил msgstr[2] "файл \"%s\" має загальну кількість помилок перевірки контрольної суми: %d" msgstr[3] "файл \"%s\" має загальну кількість помилок перевірки контрольної суми: %d" -#: backup/basebackup.c:1767 +#: backup/basebackup.c:1917 +#, c-format +msgid "checksum verification failed in file \"%s\", block %u: calculated %X but expected %X" +msgstr "помилка перевірки контрольної суми у файлі \"%s\", блок %u: обчислено %X, але очікувалось %X" + +#: backup/basebackup.c:1924 +#, c-format +msgid "further checksum verification failures in file \"%s\" will not be reported" +msgstr "про подальші помилки під час перевірки контрольної суми в файлі \"%s\" повідомлятись не буде" + +#: backup/basebackup.c:2048 #, c-format msgid "file name too long for tar format: \"%s\"" msgstr "ім'я файлу занадто довге для tar формату: \"%s\"" -#: backup/basebackup.c:1772 +#: backup/basebackup.c:2053 #, c-format msgid "symbolic link target too long for tar format: file name \"%s\", target \"%s\"" msgstr "мета символьного посилання занадто довга для формату tar: ім'я файлу \"%s\", мета \"%s\"" +#: backup/basebackup.c:2127 +#, c-format +msgid "could not read file \"%s\": read %zd of %zu" +msgstr "не вдалося прочитати файл \"%s\": читання %zd з %zu" + #: backup/basebackup_gzip.c:67 #, c-format msgid "gzip compression is not supported by this build" @@ -3638,53 +3886,114 @@ msgstr "стискання gzip не підтримується цією збі msgid "could not initialize compression library" msgstr "не вдалося ініціалізувати бібліотеку стискання" -#: backup/basebackup_lz4.c:67 +#: backup/basebackup_incremental.c:294 #, c-format -msgid "lz4 compression is not supported by this build" -msgstr "стискання lz4 не підтримується цією збіркою" +msgid "manifest contains no required WAL ranges" +msgstr "маніфест не містить необхідних діапазонів WAL" -#: backup/basebackup_server.c:75 +#: backup/basebackup_incremental.c:349 #, c-format -msgid "permission denied to create backup stored on server" -msgstr "немає прав на створення резервної копії, збереженої на сервері" +msgid "timeline %u found in manifest, but not in this server's history" +msgstr "часову шкалу %u знайдено в маніфесті, але не в історії цього сервера" -#: backup/basebackup_server.c:76 +#: backup/basebackup_incremental.c:414 #, c-format -msgid "Only roles with privileges of the \"%s\" role may create a backup stored on the server." -msgstr "Тільки ролі з привілеями ролі \"%s\" можуть створювати резервні копії, що зберігаються на сервері." +msgid "manifest requires WAL from initial timeline %u starting at %X/%X, but that timeline begins at %X/%X" +msgstr "маніфест вимагає WAL з початкової шкали %u, починаючи з %X/%X, але ця шкала починається з %X/%X" -#: backup/basebackup_server.c:91 +#: backup/basebackup_incremental.c:424 #, c-format -msgid "relative path not allowed for backup stored on server" +msgid "manifest requires WAL from continuation timeline %u starting at %X/%X, but that timeline begins at %X/%X" +msgstr "маніфест вимагає WAL зі шкали продовження %u, починаючи з %X/%X, але ця шкала починається з %X/%X" + +#: backup/basebackup_incremental.c:435 +#, c-format +msgid "manifest requires WAL from final timeline %u ending at %X/%X, but this backup starts at %X/%X" +msgstr "маніфест вимагає WAL з кінцевої шкали часу %u, що закінчується на %X/%X, але ця резервна копія починається з %X/%X" + +#: backup/basebackup_incremental.c:439 +#, c-format +msgid "This can happen for incremental backups on a standby if there was little activity since the previous backup." +msgstr "Це може статися з інкрементними резервними копіями на резервному сервері, якщо було замало активності з минулої резервної копії." + +#: backup/basebackup_incremental.c:446 +#, c-format +msgid "manifest requires WAL from non-final timeline %u ending at %X/%X, but this server switched timelines at %X/%X" +msgstr "маніфест вимагає WAL з не фінальної лінійки %u, що закінчується на %X/%X, але цей сервер перемкнув лінійки на %X/%X" + +#: backup/basebackup_incremental.c:527 +#, c-format +msgid "WAL summaries are required on timeline %u from %X/%X to %X/%X, but no summaries for that timeline and LSN range exist" +msgstr "Зведення WAL потрібні на часовій шкалі %u від %X/%X до %X/%X, але зведень для цієї шкали та діапазону LSN не існує" + +#: backup/basebackup_incremental.c:534 +#, c-format +msgid "WAL summaries are required on timeline %u from %X/%X to %X/%X, but the summaries for that timeline and LSN range are incomplete" +msgstr "Зведення WAL потрібні на часовій шкалі %u від %X/%X до %X/%X, але зведення для цієї часової шкали та діапазону LSN є неповними" + +#: backup/basebackup_incremental.c:538 +#, c-format +msgid "The first unsummarized LSN in this range is %X/%X." +msgstr "Перший не підсумований LSN у цьому діапазоні - %X/%X." + +#: backup/basebackup_incremental.c:938 +#, c-format +msgid "backup manifest version 1 does not support incremental backup" +msgstr "маніфест резервного копіювання версії 1 не підтримує інкреметного резервного копіювання" + +#: backup/basebackup_incremental.c:956 +#, c-format +msgid "system identifier in backup manifest is %llu, but database system identifier is %llu" +msgstr "системний ідентифікатор в маніфесті резервного копіювання %llu, але ідентифікатор системи бази даних є %llu" + +#: backup/basebackup_lz4.c:67 +#, c-format +msgid "lz4 compression is not supported by this build" +msgstr "стискання lz4 не підтримується цією збіркою" + +#: backup/basebackup_server.c:73 +#, c-format +msgid "permission denied to create backup stored on server" +msgstr "немає прав на створення резервної копії, збереженої на сервері" + +#: backup/basebackup_server.c:74 +#, c-format +msgid "Only roles with privileges of the \"%s\" role may create a backup stored on the server." +msgstr "Тільки ролі з привілеями ролі \"%s\" можуть створювати резервні копії, що зберігаються на сервері." + +#: backup/basebackup_server.c:89 +#, c-format +msgid "relative path not allowed for backup stored on server" msgstr "відносний шлях не дозволений для резервного копіювання збереженого на сервері" -#: backup/basebackup_server.c:104 commands/dbcommands.c:478 -#: commands/tablespace.c:163 commands/tablespace.c:179 -#: commands/tablespace.c:599 commands/tablespace.c:644 replication/slot.c:1704 +#: 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 #: storage/file/copydir.c:47 #, c-format msgid "could not create directory \"%s\": %m" msgstr "не вдалося створити каталог \"%s\": %m" -#: backup/basebackup_server.c:117 +#: backup/basebackup_server.c:115 #, c-format msgid "directory \"%s\" exists but is not empty" msgstr "каталог \"%s\" існує, але він не порожній" -#: backup/basebackup_server.c:125 utils/init/postinit.c:1164 +#: backup/basebackup_server.c:123 utils/init/postinit.c:1177 #, c-format msgid "could not access directory \"%s\": %m" msgstr "немає доступу до каталогу \"%s\": %m" -#: backup/basebackup_server.c:177 backup/basebackup_server.c:184 -#: backup/basebackup_server.c:270 backup/basebackup_server.c:277 -#: storage/smgr/md.c:504 storage/smgr/md.c:511 storage/smgr/md.c:593 -#: storage/smgr/md.c:615 storage/smgr/md.c:865 +#: 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 #, c-format msgid "Check free disk space." msgstr "Перевірьте вільний дисковий простір." -#: backup/basebackup_server.c:181 backup/basebackup_server.c:274 +#: backup/basebackup_server.c:179 backup/basebackup_server.c:272 +#: backup/walsummary.c:309 #, c-format msgid "could not write file \"%s\": wrote only %d of %d bytes at offset %u" msgstr "не вдалося записати файл \"%s\": записано лише %d з %d байтів зі зсувом %u" @@ -3714,645 +4023,656 @@ msgstr "не вдалося встановити кількість процес msgid "could not enable long-distance mode: %s" msgstr "не вдалося включити режим довгої відстані: %s" -#: bootstrap/bootstrap.c:243 postmaster/postmaster.c:721 tcop/postgres.c:3819 +#: backup/walsummaryfuncs.c:95 +#, c-format +msgid "invalid timeline %lld" +msgstr "неприпустима часова шкала %lld" + +#: bootstrap/bootstrap.c:239 postmaster/postmaster.c:623 tcop/postgres.c:3946 #, c-format msgid "--%s requires a value" msgstr "--%s необхідне значення" -#: bootstrap/bootstrap.c:248 postmaster/postmaster.c:726 tcop/postgres.c:3824 +#: bootstrap/bootstrap.c:244 postmaster/postmaster.c:628 tcop/postgres.c:3951 #, c-format msgid "-c %s requires a value" msgstr "-c %s необхідне значення" -#: bootstrap/bootstrap.c:289 -#, c-format -msgid "-X requires a power of two value between 1 MB and 1 GB" -msgstr "для -X необхідне число, яке дорівнює ступеню 2 в інтервалі від 1 МБ до 1 ГБ" - -#: bootstrap/bootstrap.c:295 postmaster/postmaster.c:844 -#: postmaster/postmaster.c:857 +#: bootstrap/bootstrap.c:282 postmaster/postmaster.c:746 +#: postmaster/postmaster.c:759 #, c-format msgid "Try \"%s --help\" for more information.\n" msgstr "Спробуйте \"%s --help\" для додаткової інформації.\n" -#: bootstrap/bootstrap.c:304 +#: bootstrap/bootstrap.c:291 #, c-format msgid "%s: invalid command-line arguments\n" msgstr "%s: невірні аргументи командного рядка\n" -#: catalog/aclchk.c:201 +#: catalog/aclchk.c:210 #, c-format msgid "grant options can only be granted to roles" msgstr "право надання прав можна надавати тільки ролям" -#: catalog/aclchk.c:323 +#: catalog/aclchk.c:332 #, c-format msgid "no privileges were granted for column \"%s\" of relation \"%s\"" msgstr "для стовпця \"%s\" відношення \"%s\" не призначено ніяких прав" -#: catalog/aclchk.c:328 +#: catalog/aclchk.c:337 #, c-format msgid "no privileges were granted for \"%s\"" msgstr "для \"%s\" не призначено ніяких прав" -#: catalog/aclchk.c:336 +#: catalog/aclchk.c:345 #, c-format msgid "not all privileges were granted for column \"%s\" of relation \"%s\"" msgstr "для стовпця \"%s\" відношення \"%s\" призначено не всі права" -#: catalog/aclchk.c:341 +#: catalog/aclchk.c:350 #, c-format msgid "not all privileges were granted for \"%s\"" msgstr "для \"%s\" призначено не всі права" -#: catalog/aclchk.c:352 +#: catalog/aclchk.c:361 #, c-format msgid "no privileges could be revoked for column \"%s\" of relation \"%s\"" msgstr "для стовпця \"%s\" відношення \"%s\" жодні права не можуть бути відкликані" -#: catalog/aclchk.c:357 +#: catalog/aclchk.c:366 #, c-format msgid "no privileges could be revoked for \"%s\"" msgstr "для \"%s\" жодні права не можуть бути відкликані" -#: catalog/aclchk.c:365 +#: catalog/aclchk.c:374 #, c-format msgid "not all privileges could be revoked for column \"%s\" of relation \"%s\"" msgstr "для стовпця \"%s\" відношення \"%s\" не всі права можуть бути відкликані" -#: catalog/aclchk.c:370 +#: catalog/aclchk.c:379 #, c-format msgid "not all privileges could be revoked for \"%s\"" msgstr "для \"%s\" не всі права можуть бути відкликані" -#: catalog/aclchk.c:402 +#: catalog/aclchk.c:411 #, c-format msgid "grantor must be current user" msgstr "грантодавець повинен бути поточним користувачем" -#: catalog/aclchk.c:470 catalog/aclchk.c:1045 +#: catalog/aclchk.c:479 catalog/aclchk.c:1054 #, c-format msgid "invalid privilege type %s for relation" msgstr "недійсний тип права %s для відношення" -#: catalog/aclchk.c:474 catalog/aclchk.c:1049 +#: catalog/aclchk.c:483 catalog/aclchk.c:1058 #, c-format msgid "invalid privilege type %s for sequence" msgstr "невірний тип права %s для послідовності" -#: catalog/aclchk.c:478 +#: catalog/aclchk.c:487 #, c-format msgid "invalid privilege type %s for database" msgstr "недійсний тип права %s для бази даних" -#: catalog/aclchk.c:482 +#: catalog/aclchk.c:491 #, c-format msgid "invalid privilege type %s for domain" msgstr "недійсний тип права %s для домену" -#: catalog/aclchk.c:486 catalog/aclchk.c:1053 +#: catalog/aclchk.c:495 catalog/aclchk.c:1062 #, c-format msgid "invalid privilege type %s for function" msgstr "недійсний тип права %s для функції" -#: catalog/aclchk.c:490 +#: catalog/aclchk.c:499 #, c-format msgid "invalid privilege type %s for language" msgstr "недійсний тип права %s для мови" -#: catalog/aclchk.c:494 +#: catalog/aclchk.c:503 #, c-format msgid "invalid privilege type %s for large object" msgstr "недійсний тип права %s для великого об'єкту" -#: catalog/aclchk.c:498 catalog/aclchk.c:1069 +#: catalog/aclchk.c:507 catalog/aclchk.c:1078 #, c-format msgid "invalid privilege type %s for schema" msgstr "недійсний тип привілеїв %s для схеми" -#: catalog/aclchk.c:502 catalog/aclchk.c:1057 +#: catalog/aclchk.c:511 catalog/aclchk.c:1066 #, c-format msgid "invalid privilege type %s for procedure" msgstr "недійсний тип привілеїв %s для процедури" -#: catalog/aclchk.c:506 catalog/aclchk.c:1061 +#: catalog/aclchk.c:515 catalog/aclchk.c:1070 #, c-format msgid "invalid privilege type %s for routine" msgstr "недійсний тип привілею %s для підпрограми" -#: catalog/aclchk.c:510 +#: catalog/aclchk.c:519 #, c-format msgid "invalid privilege type %s for tablespace" msgstr "недійсний тип привілеїв %s для табличного простору" -#: catalog/aclchk.c:514 catalog/aclchk.c:1065 +#: catalog/aclchk.c:523 catalog/aclchk.c:1074 #, c-format msgid "invalid privilege type %s for type" msgstr "недійсний тип привілею %s для типу" -#: catalog/aclchk.c:518 +#: catalog/aclchk.c:527 #, c-format msgid "invalid privilege type %s for foreign-data wrapper" msgstr "недійсний тип привілею %s для джерела сторонніх даних" -#: catalog/aclchk.c:522 +#: catalog/aclchk.c:531 #, c-format msgid "invalid privilege type %s for foreign server" msgstr "недійсний тип привілею %s для стороннього серверу" -#: catalog/aclchk.c:526 +#: catalog/aclchk.c:535 #, c-format msgid "invalid privilege type %s for parameter" msgstr "неприпустимий тип привілею %s для параметру" -#: catalog/aclchk.c:565 +#: catalog/aclchk.c:574 #, c-format msgid "column privileges are only valid for relations" msgstr "привілеї стовпця дійсні лише для зв'язків" -#: catalog/aclchk.c:728 catalog/aclchk.c:3555 catalog/objectaddress.c:1092 -#: catalog/pg_largeobject.c:116 storage/large_object/inv_api.c:286 +#: catalog/aclchk.c:737 catalog/aclchk.c:3624 catalog/objectaddress.c:1054 +#: catalog/pg_largeobject.c:113 storage/large_object/inv_api.c:285 #, c-format msgid "large object %u does not exist" msgstr "великого об'єкту %u не існує" -#: catalog/aclchk.c:1102 +#: catalog/aclchk.c:1111 #, c-format msgid "default privileges cannot be set for columns" msgstr "права за замовчуванням не можна встановити для стовпців" -#: catalog/aclchk.c:1138 +#: catalog/aclchk.c:1147 #, c-format msgid "permission denied to change default privileges" msgstr "немає дозволу для зміни прав за замовчуванням" -#: catalog/aclchk.c:1256 +#: catalog/aclchk.c:1265 #, c-format msgid "cannot use IN SCHEMA clause when using GRANT/REVOKE ON SCHEMAS" msgstr "речення IN SCHEMA не можна використати в GRANT/REVOKE ON SCHEMAS" -#: catalog/aclchk.c:1595 catalog/catalog.c:631 catalog/objectaddress.c:1561 -#: catalog/pg_publication.c:533 commands/analyze.c:390 commands/copy.c:837 -#: commands/sequence.c:1663 commands/tablecmds.c:7343 commands/tablecmds.c:7499 -#: commands/tablecmds.c:7549 commands/tablecmds.c:7623 -#: commands/tablecmds.c:7693 commands/tablecmds.c:7809 -#: commands/tablecmds.c:7903 commands/tablecmds.c:7962 -#: commands/tablecmds.c:8051 commands/tablecmds.c:8081 -#: commands/tablecmds.c:8209 commands/tablecmds.c:8291 -#: commands/tablecmds.c:8425 commands/tablecmds.c:8533 -#: commands/tablecmds.c:12252 commands/tablecmds.c:12433 -#: commands/tablecmds.c:12594 commands/tablecmds.c:13756 -#: commands/tablecmds.c:16287 commands/trigger.c:949 parser/analyze.c:2518 -#: parser/parse_relation.c:737 parser/parse_target.c:1054 -#: parser/parse_type.c:144 parser/parse_utilcmd.c:3422 -#: parser/parse_utilcmd.c:3458 parser/parse_utilcmd.c:3500 utils/adt/acl.c:2876 -#: utils/adt/ruleutils.c:2797 +#: catalog/aclchk.c:1616 catalog/catalog.c:650 catalog/objectaddress.c:1523 +#: catalog/pg_publication.c:528 commands/analyze.c:380 commands/copy.c:947 +#: commands/sequence.c:1655 commands/tablecmds.c:7518 commands/tablecmds.c:7672 +#: commands/tablecmds.c:7722 commands/tablecmds.c:7796 +#: commands/tablecmds.c:7866 commands/tablecmds.c:7996 +#: commands/tablecmds.c:8125 commands/tablecmds.c:8219 +#: commands/tablecmds.c:8320 commands/tablecmds.c:8447 +#: commands/tablecmds.c:8477 commands/tablecmds.c:8619 +#: commands/tablecmds.c:8712 commands/tablecmds.c:8846 +#: commands/tablecmds.c:8958 commands/tablecmds.c:12695 +#: commands/tablecmds.c:12887 commands/tablecmds.c:13048 +#: commands/tablecmds.c:14237 commands/tablecmds.c:16863 commands/trigger.c:942 +#: 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 +#: utils/adt/ruleutils.c:2807 #, c-format msgid "column \"%s\" of relation \"%s\" does not exist" msgstr "стовпець \"%s\" зв'язку \"%s\" не існує" -#: catalog/aclchk.c:1840 +#: catalog/aclchk.c:1861 #, c-format msgid "\"%s\" is an index" msgstr "\"%s\" є індексом" -#: catalog/aclchk.c:1847 commands/tablecmds.c:13913 commands/tablecmds.c:17194 +#: catalog/aclchk.c:1868 commands/tablecmds.c:14394 commands/tablecmds.c:17772 #, c-format msgid "\"%s\" is a composite type" msgstr "\"%s\" це складений тип" -#: catalog/aclchk.c:1855 catalog/objectaddress.c:1401 commands/sequence.c:1171 -#: commands/tablecmds.c:254 commands/tablecmds.c:17158 utils/adt/acl.c:2084 -#: utils/adt/acl.c:2114 utils/adt/acl.c:2146 utils/adt/acl.c:2178 -#: utils/adt/acl.c:2206 utils/adt/acl.c:2236 +#: catalog/aclchk.c:1876 catalog/objectaddress.c:1363 commands/tablecmds.c:263 +#: commands/tablecmds.c:17736 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 #, c-format msgid "\"%s\" is not a sequence" msgstr "\"%s\" не є послідовністю" -#: catalog/aclchk.c:1893 +#: catalog/aclchk.c:1914 #, c-format msgid "sequence \"%s\" only supports USAGE, SELECT, and UPDATE privileges" msgstr "послідовність \"%s\" підтримує лише привілеї USAGE, SELECT та UPDATE" -#: catalog/aclchk.c:1910 +#: catalog/aclchk.c:1931 #, c-format msgid "invalid privilege type %s for table" msgstr "недійсний тип привілею %s для таблиці" -#: catalog/aclchk.c:2072 +#: catalog/aclchk.c:2093 #, c-format msgid "invalid privilege type %s for column" msgstr "недійсний тип привілею %s для стовпця" -#: catalog/aclchk.c:2085 +#: catalog/aclchk.c:2106 #, c-format msgid "sequence \"%s\" only supports SELECT column privileges" msgstr "послідовність \"%s\" підтримує тільки привілей стовпця SELECT" -#: catalog/aclchk.c:2275 +#: catalog/aclchk.c:2296 #, c-format msgid "language \"%s\" is not trusted" msgstr "мова \"%s\" не є довіреною" -#: catalog/aclchk.c:2277 +#: catalog/aclchk.c:2298 #, c-format msgid "GRANT and REVOKE are not allowed on untrusted languages, because only superusers can use untrusted languages." msgstr "GRANT і REVOKE не є допустимими для недовірених мов, тому що тільки суперкористувачі можуть використовувати недовірені мови." -#: catalog/aclchk.c:2427 +#: catalog/aclchk.c:2449 #, c-format msgid "cannot set privileges of array types" msgstr "не можна встановити права для типів масивів" -#: catalog/aclchk.c:2428 +#: catalog/aclchk.c:2450 #, c-format msgid "Set the privileges of the element type instead." msgstr "Замість цього встановіть права для типу елементу." -#: catalog/aclchk.c:2435 catalog/objectaddress.c:1667 +#: catalog/aclchk.c:2454 +#, c-format +msgid "cannot set privileges of multirange types" +msgstr "не можна встановити права для типів множинного діапазону" + +#: catalog/aclchk.c:2455 +#, c-format +msgid "Set the privileges of the range type instead." +msgstr "Замість цього встановіть права типу діапазону." + +#: catalog/aclchk.c:2462 catalog/objectaddress.c:1629 #, c-format msgid "\"%s\" is not a domain" msgstr "\"%s\" не є доменом" -#: catalog/aclchk.c:2619 +#: catalog/aclchk.c:2648 #, c-format msgid "unrecognized privilege type \"%s\"" msgstr "нерозпізнаний привілей \"%s\"" -#: catalog/aclchk.c:2684 +#: catalog/aclchk.c:2715 #, c-format msgid "permission denied for aggregate %s" msgstr "немає дозволу для агрегату %s" -#: catalog/aclchk.c:2687 +#: catalog/aclchk.c:2718 #, c-format msgid "permission denied for collation %s" msgstr "немає дозволу для сортування %s" -#: catalog/aclchk.c:2690 +#: catalog/aclchk.c:2721 #, c-format msgid "permission denied for column %s" msgstr "немає дозволу для стовпця %s" -#: catalog/aclchk.c:2693 +#: catalog/aclchk.c:2724 #, c-format msgid "permission denied for conversion %s" msgstr "немає дозволу для перетворення %s" -#: catalog/aclchk.c:2696 +#: catalog/aclchk.c:2727 #, c-format msgid "permission denied for database %s" msgstr "немає доступу для бази даних %s" -#: catalog/aclchk.c:2699 +#: catalog/aclchk.c:2730 #, c-format msgid "permission denied for domain %s" msgstr "немає дозволу для домену %s" -#: catalog/aclchk.c:2702 +#: catalog/aclchk.c:2733 #, c-format msgid "permission denied for event trigger %s" msgstr "немає дозволу для тригера подій %s" -#: catalog/aclchk.c:2705 +#: catalog/aclchk.c:2736 #, c-format msgid "permission denied for extension %s" msgstr "немає дозволу для розширення %s" -#: catalog/aclchk.c:2708 +#: catalog/aclchk.c:2739 #, c-format msgid "permission denied for foreign-data wrapper %s" msgstr "немає дозволу для джерела сторонніх даних %s" -#: catalog/aclchk.c:2711 +#: catalog/aclchk.c:2742 #, c-format msgid "permission denied for foreign server %s" msgstr "немає дозволу для стороннього серверу %s" -#: catalog/aclchk.c:2714 +#: catalog/aclchk.c:2745 #, c-format msgid "permission denied for foreign table %s" msgstr "немає дозволу для сторонньої таблиці %s" -#: catalog/aclchk.c:2717 +#: catalog/aclchk.c:2748 #, c-format msgid "permission denied for function %s" msgstr "немає дозволу для функції %s" -#: catalog/aclchk.c:2720 +#: catalog/aclchk.c:2751 #, c-format msgid "permission denied for index %s" msgstr "немає дозволу для індексу %s" -#: catalog/aclchk.c:2723 +#: catalog/aclchk.c:2754 #, c-format msgid "permission denied for language %s" msgstr "немає дозволу для мови %s" -#: catalog/aclchk.c:2726 +#: catalog/aclchk.c:2757 #, c-format msgid "permission denied for large object %s" msgstr "немає дозволу для великого об'єкту %s" -#: catalog/aclchk.c:2729 +#: catalog/aclchk.c:2760 #, c-format msgid "permission denied for materialized view %s" msgstr "немає дозволу для матеріалізованого подання %s" -#: catalog/aclchk.c:2732 +#: catalog/aclchk.c:2763 #, c-format msgid "permission denied for operator class %s" msgstr "немає дозволу для класу операторів %s" -#: catalog/aclchk.c:2735 +#: catalog/aclchk.c:2766 #, c-format msgid "permission denied for operator %s" msgstr "немає дозволу для оператора %s" -#: catalog/aclchk.c:2738 +#: catalog/aclchk.c:2769 #, c-format msgid "permission denied for operator family %s" msgstr "немає дозволу для сімейства операторів %s" -#: catalog/aclchk.c:2741 +#: catalog/aclchk.c:2772 #, c-format msgid "permission denied for parameter %s" msgstr "дозвіл відхилено для параметру %s" -#: catalog/aclchk.c:2744 +#: catalog/aclchk.c:2775 #, c-format msgid "permission denied for policy %s" msgstr "немає дозволу для політики %s" -#: catalog/aclchk.c:2747 +#: catalog/aclchk.c:2778 #, c-format msgid "permission denied for procedure %s" msgstr "немає дозволу для процедури %s" -#: catalog/aclchk.c:2750 +#: catalog/aclchk.c:2781 #, c-format msgid "permission denied for publication %s" msgstr "немає дозволу для публікації %s" -#: catalog/aclchk.c:2753 +#: catalog/aclchk.c:2784 #, c-format msgid "permission denied for routine %s" msgstr "немає дозволу для підпрограми %s" -#: catalog/aclchk.c:2756 +#: catalog/aclchk.c:2787 #, c-format msgid "permission denied for schema %s" msgstr "немає дозволу для схеми %s" -#: catalog/aclchk.c:2759 commands/sequence.c:659 commands/sequence.c:885 -#: commands/sequence.c:927 commands/sequence.c:968 commands/sequence.c:1761 -#: commands/sequence.c:1810 +#: catalog/aclchk.c:2790 commands/sequence.c:654 commands/sequence.c:880 +#: commands/sequence.c:922 commands/sequence.c:963 commands/sequence.c:1753 +#: commands/sequence.c:1799 #, c-format msgid "permission denied for sequence %s" msgstr "немає дозволу для послідовності %s" -#: catalog/aclchk.c:2762 +#: catalog/aclchk.c:2793 #, c-format msgid "permission denied for statistics object %s" msgstr "немає дозволу для об'єкту статистики %s" -#: catalog/aclchk.c:2765 +#: catalog/aclchk.c:2796 #, c-format msgid "permission denied for subscription %s" msgstr "немає дозволу для підписки %s" -#: catalog/aclchk.c:2768 +#: catalog/aclchk.c:2799 #, c-format msgid "permission denied for table %s" msgstr "немає дозволу для таблиці %s" -#: catalog/aclchk.c:2771 +#: catalog/aclchk.c:2802 #, c-format msgid "permission denied for tablespace %s" msgstr "немає дозволу для табличного простору %s" -#: catalog/aclchk.c:2774 +#: catalog/aclchk.c:2805 #, c-format msgid "permission denied for text search configuration %s" msgstr "немає дозволу для конфігурації текстового пошуку %s" -#: catalog/aclchk.c:2777 +#: catalog/aclchk.c:2808 #, c-format msgid "permission denied for text search dictionary %s" msgstr "немає дозволу для словника текстового пошуку %s" -#: catalog/aclchk.c:2780 +#: catalog/aclchk.c:2811 #, c-format msgid "permission denied for type %s" msgstr "немає дозволу для типу %s" -#: catalog/aclchk.c:2783 +#: catalog/aclchk.c:2814 #, c-format msgid "permission denied for view %s" msgstr "немає дозволу для подання %s" -#: catalog/aclchk.c:2819 +#: catalog/aclchk.c:2850 #, c-format msgid "must be owner of aggregate %s" msgstr "треба бути власником агрегату %s" -#: catalog/aclchk.c:2822 +#: catalog/aclchk.c:2853 #, c-format msgid "must be owner of collation %s" msgstr "треба бути власником правил сортування %s" -#: catalog/aclchk.c:2825 +#: catalog/aclchk.c:2856 #, c-format msgid "must be owner of conversion %s" msgstr "треба бути власником перетворення %s" -#: catalog/aclchk.c:2828 +#: catalog/aclchk.c:2859 #, c-format msgid "must be owner of database %s" msgstr "треба бути власником бази даних %s" -#: catalog/aclchk.c:2831 +#: catalog/aclchk.c:2862 #, c-format msgid "must be owner of domain %s" msgstr "треба бути власником домену %s" -#: catalog/aclchk.c:2834 +#: catalog/aclchk.c:2865 #, c-format msgid "must be owner of event trigger %s" msgstr "треба бути власником тригеру подій %s" -#: catalog/aclchk.c:2837 +#: catalog/aclchk.c:2868 #, c-format msgid "must be owner of extension %s" msgstr "треба бути власником розширення %s" -#: catalog/aclchk.c:2840 +#: catalog/aclchk.c:2871 #, c-format msgid "must be owner of foreign-data wrapper %s" msgstr "треба бути власником джерела сторонніх даних %s" -#: catalog/aclchk.c:2843 +#: catalog/aclchk.c:2874 #, c-format msgid "must be owner of foreign server %s" msgstr "треба бути власником стороннього серверу %s" -#: catalog/aclchk.c:2846 +#: catalog/aclchk.c:2877 #, c-format msgid "must be owner of foreign table %s" msgstr "треба бути власником сторонньої таблиці %s" -#: catalog/aclchk.c:2849 +#: catalog/aclchk.c:2880 #, c-format msgid "must be owner of function %s" msgstr "треба бути власником функції %s" -#: catalog/aclchk.c:2852 +#: catalog/aclchk.c:2883 #, c-format msgid "must be owner of index %s" msgstr "треба бути власником індексу %s" -#: catalog/aclchk.c:2855 +#: catalog/aclchk.c:2886 #, c-format msgid "must be owner of language %s" msgstr "треба бути власником мови %s" -#: catalog/aclchk.c:2858 +#: catalog/aclchk.c:2889 #, c-format msgid "must be owner of large object %s" msgstr "треба бути власником великого об'єкту %s" -#: catalog/aclchk.c:2861 +#: catalog/aclchk.c:2892 #, c-format msgid "must be owner of materialized view %s" msgstr "треба бути власником матеріалізованого подання %s" -#: catalog/aclchk.c:2864 +#: catalog/aclchk.c:2895 #, c-format msgid "must be owner of operator class %s" msgstr "треба бути власником класу операторів %s" -#: catalog/aclchk.c:2867 +#: catalog/aclchk.c:2898 #, c-format msgid "must be owner of operator %s" msgstr "треба бути власником оператора %s" -#: catalog/aclchk.c:2870 +#: catalog/aclchk.c:2901 #, c-format msgid "must be owner of operator family %s" msgstr "треба бути власником сімейства операторів %s" -#: catalog/aclchk.c:2873 +#: catalog/aclchk.c:2904 #, c-format msgid "must be owner of procedure %s" msgstr "треба бути власником процедури %s" -#: catalog/aclchk.c:2876 +#: catalog/aclchk.c:2907 #, c-format msgid "must be owner of publication %s" msgstr "треба бути власником публікації %s" -#: catalog/aclchk.c:2879 +#: catalog/aclchk.c:2910 #, c-format msgid "must be owner of routine %s" msgstr "треба бути власником підпрограми %s" -#: catalog/aclchk.c:2882 +#: catalog/aclchk.c:2913 #, c-format msgid "must be owner of sequence %s" msgstr "треба бути власником послідовності %s" -#: catalog/aclchk.c:2885 +#: catalog/aclchk.c:2916 #, c-format msgid "must be owner of subscription %s" msgstr "треба бути власником підписки %s" -#: catalog/aclchk.c:2888 +#: catalog/aclchk.c:2919 #, c-format msgid "must be owner of table %s" msgstr "треба бути власником таблиці %s" -#: catalog/aclchk.c:2891 +#: catalog/aclchk.c:2922 #, c-format msgid "must be owner of type %s" msgstr "треба бути власником типу %s" -#: catalog/aclchk.c:2894 +#: catalog/aclchk.c:2925 #, c-format msgid "must be owner of view %s" msgstr "треба бути власником подання %s" -#: catalog/aclchk.c:2897 +#: catalog/aclchk.c:2928 #, c-format msgid "must be owner of schema %s" msgstr "треба бути власником схеми %s" -#: catalog/aclchk.c:2900 +#: catalog/aclchk.c:2931 #, c-format msgid "must be owner of statistics object %s" msgstr "треба бути власником об'єкту статистики %s" -#: catalog/aclchk.c:2903 +#: catalog/aclchk.c:2934 #, c-format msgid "must be owner of tablespace %s" msgstr "треба бути власником табличного простору %s" -#: catalog/aclchk.c:2906 +#: catalog/aclchk.c:2937 #, c-format msgid "must be owner of text search configuration %s" msgstr "треба бути власником конфігурації текстового пошуку %s" -#: catalog/aclchk.c:2909 +#: catalog/aclchk.c:2940 #, c-format msgid "must be owner of text search dictionary %s" msgstr "треба бути власником словника текстового пошуку %s" -#: catalog/aclchk.c:2923 +#: catalog/aclchk.c:2954 #, c-format msgid "must be owner of relation %s" msgstr "треба бути власником відношення %s" -#: catalog/aclchk.c:2969 +#: catalog/aclchk.c:3000 #, c-format msgid "permission denied for column \"%s\" of relation \"%s\"" msgstr "немає дозволу для стовпця \"%s\" відношення \"%s\"" -#: catalog/aclchk.c:3104 catalog/aclchk.c:3984 catalog/aclchk.c:4015 +#: catalog/aclchk.c:3157 catalog/aclchk.c:4165 catalog/aclchk.c:4196 #, c-format msgid "%s with OID %u does not exist" msgstr "%s з OID %u не існує" -#: catalog/aclchk.c:3188 catalog/aclchk.c:3207 +#: catalog/aclchk.c:3240 catalog/aclchk.c:3259 #, c-format msgid "attribute %d of relation with OID %u does not exist" msgstr "атрибут %d відношення з OID %u не існує" -#: catalog/aclchk.c:3302 +#: catalog/aclchk.c:3297 catalog/aclchk.c:3360 catalog/aclchk.c:3999 #, c-format msgid "relation with OID %u does not exist" msgstr "відношення з OID %u не існує" -#: catalog/aclchk.c:3476 +#: catalog/aclchk.c:3545 #, c-format msgid "parameter ACL with OID %u does not exist" msgstr "параметр ACL з OID %u не існує" -#: catalog/aclchk.c:3640 commands/collationcmds.c:813 -#: commands/publicationcmds.c:1746 +#: catalog/aclchk.c:3718 commands/collationcmds.c:853 +#: commands/publicationcmds.c:1739 #, c-format msgid "schema with OID %u does not exist" msgstr "схема з OID %u не існує" -#: catalog/aclchk.c:3705 utils/cache/typcache.c:390 utils/cache/typcache.c:445 +#: catalog/aclchk.c:3792 catalog/aclchk.c:3819 catalog/aclchk.c:3848 +#: utils/cache/typcache.c:392 utils/cache/typcache.c:447 #, c-format msgid "type with OID %u does not exist" msgstr "тип з OID %u не існує" -#: catalog/catalog.c:449 +#: catalog/catalog.c:468 #, c-format msgid "still searching for an unused OID in relation \"%s\"" msgstr "все ще шукаю невикористаний OID у відношенні \"%s\"" -#: catalog/catalog.c:451 +#: catalog/catalog.c:470 #, c-format msgid "OID candidates have been checked %llu time, but no unused OID has been found yet." msgid_plural "OID candidates have been checked %llu times, but no unused OID has been found yet." @@ -4361,7 +4681,7 @@ msgstr[1] "OID кандидати буле перевірені %llu рази, msgstr[2] "OID кандидати буле перевірені %llu разів, але невикористаного OID все ще не знайдено." msgstr[3] "OID кандидати буле перевірені %llu разів, але невикористаного OID все ще не знайдено." -#: catalog/catalog.c:476 +#: catalog/catalog.c:495 #, c-format msgid "new OID has been assigned in relation \"%s\" after %llu retry" msgid_plural "new OID has been assigned in relation \"%s\" after %llu retries" @@ -4370,106 +4690,101 @@ msgstr[1] "новий OID було призначено у відношенні msgstr[2] "новий OID було призначено у відношенні \"%s\" після %llu повторних спроб" msgstr[3] "новий OID було призначено у відношенні \"%s\" після %llu повторних спроб" -#: catalog/catalog.c:609 catalog/catalog.c:676 +#: catalog/catalog.c:628 catalog/catalog.c:695 #, c-format msgid "must be superuser to call %s()" msgstr "для виклику %s() потрібно бути суперкористувачем" -#: catalog/catalog.c:618 +#: catalog/catalog.c:637 #, c-format msgid "pg_nextoid() can only be used on system catalogs" msgstr "pg_nextoid() можна використовувати лише для системних каталогів" -#: catalog/catalog.c:623 parser/parse_utilcmd.c:2273 +#: catalog/catalog.c:642 parser/parse_utilcmd.c:2270 #, c-format msgid "index \"%s\" does not belong to table \"%s\"" msgstr "індекс \"%s\" не належить таблиці \"%s\"" -#: catalog/catalog.c:640 +#: catalog/catalog.c:659 #, c-format msgid "column \"%s\" is not of type oid" msgstr "стовпець \"%s\" повинен мати тип oid" -#: catalog/catalog.c:647 +#: catalog/catalog.c:666 #, c-format msgid "index \"%s\" is not the index for column \"%s\"" msgstr "індекс \"%s\" не є індексом для стовпця \"%s\"" -#: catalog/dependency.c:546 catalog/pg_shdepend.c:658 +#: catalog/dependency.c:497 catalog/pg_shdepend.c:703 #, c-format msgid "cannot drop %s because it is required by the database system" msgstr "не вдалося видалити %s, оскільки він потрібний системі бази даних" -#: catalog/dependency.c:838 catalog/dependency.c:1065 +#: catalog/dependency.c:789 catalog/dependency.c:1016 #, c-format msgid "cannot drop %s because %s requires it" msgstr "не вдалося видалити %s, оскільки %s потребує його" -#: catalog/dependency.c:840 catalog/dependency.c:1067 +#: catalog/dependency.c:791 catalog/dependency.c:1018 #, c-format msgid "You can drop %s instead." msgstr "Ви можете видалити %s замість цього." -#: catalog/dependency.c:1146 catalog/dependency.c:1155 +#: catalog/dependency.c:1097 catalog/dependency.c:1106 #, c-format msgid "%s depends on %s" msgstr "%s залежить від %s" -#: catalog/dependency.c:1170 catalog/dependency.c:1179 +#: catalog/dependency.c:1121 catalog/dependency.c:1130 #, c-format msgid "drop cascades to %s" msgstr "видалення поширюється (cascades) на об'єкт %s" -#: catalog/dependency.c:1187 catalog/pg_shdepend.c:823 +#: catalog/dependency.c:1138 catalog/pg_shdepend.c:868 #, c-format -msgid "" -"\n" +msgid "\n" "and %d other object (see server log for list)" -msgid_plural "" -"\n" +msgid_plural "\n" "and %d other objects (see server log for list)" -msgstr[0] "" -"\n" +msgstr[0] "\n" "і ще %d інших об'єктів (див. список у протоколі серверу)" -msgstr[1] "" -"\n" +msgstr[1] "\n" "і ще %d інші об'єкти (див. список у протоколі серверу)" -msgstr[2] "" -"\n" +msgstr[2] "\n" "і ще %d інших об'єктів (див. список у протоколі серверу)" -msgstr[3] "" -"\n" +msgstr[3] "\n" "і ще %d інших об'єктів (див. список у протоколі серверу)" -#: catalog/dependency.c:1199 +#: catalog/dependency.c:1150 #, c-format msgid "cannot drop %s because other objects depend on it" msgstr "неможливо видалити %s, тому що від нього залежать інші об'єкти" -#: catalog/dependency.c:1202 catalog/dependency.c:1209 -#: catalog/dependency.c:1220 commands/tablecmds.c:1335 -#: commands/tablecmds.c:14400 commands/tablespace.c:466 commands/user.c:1303 -#: commands/vacuum.c:211 commands/view.c:446 libpq/auth.c:326 -#: replication/logical/applyparallelworker.c:1044 replication/syncrep.c:1017 -#: storage/lmgr/deadlock.c:1134 storage/lmgr/proc.c:1366 utils/misc/guc.c:3122 -#: utils/misc/guc.c:3158 utils/misc/guc.c:3228 utils/misc/guc.c:6632 -#: utils/misc/guc.c:6666 utils/misc/guc.c:6700 utils/misc/guc.c:6743 -#: utils/misc/guc.c:6785 +#: catalog/dependency.c:1153 catalog/dependency.c:1160 +#: catalog/dependency.c:1171 commands/tablecmds.c:1442 +#: commands/tablecmds.c:14986 commands/tablespace.c:460 commands/user.c:1302 +#: commands/vacuum.c:211 commands/view.c:441 executor/execExprInterp.c:4643 +#: executor/execExprInterp.c:4651 libpq/auth.c:324 +#: replication/logical/applyparallelworker.c:1041 replication/syncrep.c:1011 +#: storage/lmgr/deadlock.c:1134 storage/lmgr/proc.c:1427 utils/misc/guc.c:3169 +#: utils/misc/guc.c:3210 utils/misc/guc.c:3285 utils/misc/guc.c:6790 +#: utils/misc/guc.c:6824 utils/misc/guc.c:6858 utils/misc/guc.c:6901 +#: utils/misc/guc.c:6943 #, c-format msgid "%s" msgstr "%s" -#: catalog/dependency.c:1203 catalog/dependency.c:1210 +#: catalog/dependency.c:1154 catalog/dependency.c:1161 #, c-format msgid "Use DROP ... CASCADE to drop the dependent objects too." msgstr "Використайте DROP ... CASCADE для видалення залежних об'єктів також." -#: catalog/dependency.c:1207 +#: catalog/dependency.c:1158 #, c-format msgid "cannot drop desired object(s) because other objects depend on them" msgstr "не можна видалити бажаний(-і) об'єкт(-и) тому, що інші об'єкти залежні від нього(них)" -#: catalog/dependency.c:1215 +#: catalog/dependency.c:1166 #, c-format msgid "drop cascades to %d other object" msgid_plural "drop cascades to %d other objects" @@ -4478,679 +4793,679 @@ msgstr[1] "видалення поширюється (cascades) на ще %d і msgstr[2] "видалення поширюється (cascades) на ще %d інших об'єктів" msgstr[3] "видалення поширюється (cascades) на ще %d інших об'єктів" -#: catalog/dependency.c:1899 +#: catalog/dependency.c:1850 #, c-format msgid "constant of the type %s cannot be used here" msgstr "константа типу %s не може бути використана тут" -#: catalog/dependency.c:2420 parser/parse_relation.c:3404 -#: parser/parse_relation.c:3414 +#: catalog/dependency.c:2375 parser/parse_relation.c:3407 +#: parser/parse_relation.c:3417 #, c-format msgid "column %d of relation \"%s\" does not exist" msgstr "стовпець %d відношення \"%s\" не існує" -#: catalog/heap.c:324 +#: catalog/heap.c:325 #, c-format msgid "permission denied to create \"%s.%s\"" msgstr "немає дозволу для створення \"%s.%s\"" -#: catalog/heap.c:326 +#: catalog/heap.c:327 #, c-format msgid "System catalog modifications are currently disallowed." msgstr "Змінення системного каталогу наразі заборонено." -#: catalog/heap.c:466 commands/tablecmds.c:2374 commands/tablecmds.c:3047 -#: commands/tablecmds.c:6926 +#: catalog/heap.c:467 commands/tablecmds.c:2478 commands/tablecmds.c:2900 +#: commands/tablecmds.c:7140 #, c-format msgid "tables can have at most %d columns" msgstr "таблиці можуть містити максимум %d стовпців" -#: catalog/heap.c:484 commands/tablecmds.c:7233 +#: catalog/heap.c:485 commands/tablecmds.c:7409 #, c-format msgid "column name \"%s\" conflicts with a system column name" msgstr "ім'я стовпця \"%s\" конфліктує з системним іменем стовпця" -#: catalog/heap.c:500 +#: catalog/heap.c:501 #, c-format msgid "column name \"%s\" specified more than once" msgstr "ім'я стовпця \"%s\" вказано кілька разів" #. translator: first %s is an integer not a name -#: catalog/heap.c:575 +#: catalog/heap.c:579 #, c-format msgid "partition key column %s has pseudo-type %s" msgstr "стовпець ключа секціонування %s має псевдотип %s" -#: catalog/heap.c:580 +#: catalog/heap.c:584 #, c-format msgid "column \"%s\" has pseudo-type %s" msgstr "стовпець \"%s\" має псевдо-тип %s" -#: catalog/heap.c:611 +#: catalog/heap.c:615 #, c-format msgid "composite type %s cannot be made a member of itself" msgstr "складений тип %s не може містити сам себе" #. translator: first %s is an integer not a name -#: catalog/heap.c:666 +#: catalog/heap.c:670 #, c-format msgid "no collation was derived for partition key column %s with collatable type %s" msgstr "для стовпця ключа секціонування \"%s\" з сортируючим типом %s не вдалося отримати параметри сортування" -#: catalog/heap.c:672 commands/createas.c:203 commands/createas.c:512 +#: catalog/heap.c:676 commands/createas.c:198 commands/createas.c:505 #, c-format msgid "no collation was derived for column \"%s\" with collatable type %s" msgstr "для стовпця \"%s\" із сортувальним типом %s не вдалося отримати параметри сортування" -#: catalog/heap.c:1148 catalog/index.c:887 commands/createas.c:408 -#: commands/tablecmds.c:3987 +#: catalog/heap.c:1161 catalog/index.c:899 commands/createas.c:401 +#: commands/tablecmds.c:4149 #, c-format msgid "relation \"%s\" already exists" msgstr "відношення \"%s\" вже існує" -#: catalog/heap.c:1164 catalog/pg_type.c:434 catalog/pg_type.c:782 -#: catalog/pg_type.c:954 commands/typecmds.c:249 commands/typecmds.c:261 -#: commands/typecmds.c:754 commands/typecmds.c:1169 commands/typecmds.c:1395 -#: commands/typecmds.c:1575 commands/typecmds.c:2546 +#: catalog/heap.c:1177 catalog/pg_type.c:434 catalog/pg_type.c:805 +#: catalog/pg_type.c:977 commands/typecmds.c:253 commands/typecmds.c:265 +#: commands/typecmds.c:758 commands/typecmds.c:1179 commands/typecmds.c:1405 +#: commands/typecmds.c:1585 commands/typecmds.c:2556 #, c-format msgid "type \"%s\" already exists" msgstr "тип \"%s\" вже існує" -#: catalog/heap.c:1165 +#: catalog/heap.c:1178 #, c-format msgid "A relation has an associated type of the same name, so you must use a name that doesn't conflict with any existing type." msgstr "З відношенням вже пов'язаний тип з таким самим іменем, тому виберіть ім'я, яке не буде конфліктувати з типами, що існують." -#: catalog/heap.c:1205 +#: catalog/heap.c:1218 #, c-format msgid "toast relfilenumber value not set when in binary upgrade mode" msgstr "значення toast relfilenumber не встановлено в режимі двійкового оновлення" -#: catalog/heap.c:1216 +#: catalog/heap.c:1229 #, c-format msgid "pg_class heap OID value not set when in binary upgrade mode" msgstr "значення OID в pg_class не задано в режимі двійкового оновлення" -#: catalog/heap.c:1226 +#: catalog/heap.c:1239 #, c-format msgid "relfilenumber value not set when in binary upgrade mode" msgstr "значення relfilenumber не встановлено в режимі двійкового оновлення" -#: catalog/heap.c:2119 +#: catalog/heap.c:2128 #, c-format msgid "cannot add NO INHERIT constraint to partitioned table \"%s\"" msgstr "не можна додати обмеження NO INHERIT до секціонованої таблиці \"%s\"" -#: catalog/heap.c:2394 +#: catalog/heap.c:2400 #, c-format msgid "check constraint \"%s\" already exists" msgstr "обмеження перевірки \"%s\" вже інсує" -#: catalog/heap.c:2564 catalog/index.c:901 catalog/pg_constraint.c:682 -#: commands/tablecmds.c:8908 +#: catalog/heap.c:2572 catalog/index.c:913 catalog/pg_constraint.c:724 +#: commands/tablecmds.c:9333 #, c-format msgid "constraint \"%s\" for relation \"%s\" already exists" msgstr "обмеження \"%s\" відношення \"%s\" вже існує" -#: catalog/heap.c:2571 +#: catalog/heap.c:2579 #, c-format msgid "constraint \"%s\" conflicts with non-inherited constraint on relation \"%s\"" msgstr "обмеження \"%s\" конфліктує з неуспадкованим обмеженням відношення \"%s\"" -#: catalog/heap.c:2582 +#: catalog/heap.c:2590 #, c-format msgid "constraint \"%s\" conflicts with inherited constraint on relation \"%s\"" msgstr "обмеження \"%s\" конфліктує з успадкованим обмеженням відношення \"%s\"" -#: catalog/heap.c:2592 +#: catalog/heap.c:2600 #, c-format msgid "constraint \"%s\" conflicts with NOT VALID constraint on relation \"%s\"" msgstr "обмеження \"%s\" конфліктує з обмеженням NOT VALID в відношенні \"%s\"" -#: catalog/heap.c:2597 +#: catalog/heap.c:2605 #, c-format msgid "merging constraint \"%s\" with inherited definition" msgstr "злиття обмеження \"%s\" з успадкованим визначенням" -#: catalog/heap.c:2623 catalog/pg_constraint.c:811 commands/tablecmds.c:2672 -#: commands/tablecmds.c:3199 commands/tablecmds.c:6858 -#: commands/tablecmds.c:15222 commands/tablecmds.c:15363 +#: catalog/heap.c:2631 catalog/pg_constraint.c:853 commands/tablecmds.c:3057 +#: commands/tablecmds.c:3360 commands/tablecmds.c:7066 +#: commands/tablecmds.c:15804 commands/tablecmds.c:15935 #, c-format msgid "too many inheritance parents" msgstr "занадто багато батьків наслідування" -#: catalog/heap.c:2707 +#: catalog/heap.c:2715 #, c-format msgid "cannot use generated column \"%s\" in column generation expression" msgstr "в виразі створення стовпця не можна використовувати згенерований стовпець \"%s\"" -#: catalog/heap.c:2709 +#: catalog/heap.c:2717 #, c-format msgid "A generated column cannot reference another generated column." msgstr "Згенерований стовпець не може посилатися на інший згенерований стовпець." -#: catalog/heap.c:2715 +#: catalog/heap.c:2723 #, c-format msgid "cannot use whole-row variable in column generation expression" msgstr "у виразі створення стовпців не можна використовувати змінну усього рядка" -#: catalog/heap.c:2716 +#: catalog/heap.c:2724 #, c-format msgid "This would cause the generated column to depend on its own value." msgstr "Це призведе до того, що згенерований стовпець буде залежати від власного значення." -#: catalog/heap.c:2771 +#: catalog/heap.c:2779 #, c-format msgid "generation expression is not immutable" msgstr "вираз генерації не є незмінним" -#: catalog/heap.c:2799 rewrite/rewriteHandler.c:1297 +#: catalog/heap.c:2807 rewrite/rewriteHandler.c:1282 #, c-format msgid "column \"%s\" is of type %s but default expression is of type %s" msgstr "стовпець \"%s\" має тип %s, але тип виразу за замовчуванням %s" -#: catalog/heap.c:2804 commands/prepare.c:334 parser/analyze.c:2742 -#: parser/parse_target.c:593 parser/parse_target.c:874 -#: parser/parse_target.c:884 rewrite/rewriteHandler.c:1302 +#: catalog/heap.c:2812 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:1287 #, c-format msgid "You will need to rewrite or cast the expression." msgstr "Потрібно буде переписати або привести вираз." -#: catalog/heap.c:2851 +#: catalog/heap.c:2859 #, c-format msgid "only table \"%s\" can be referenced in check constraint" msgstr "в обмеженні-перевірці можна посилатися лише на таблицю \"%s\"" -#: catalog/heap.c:3157 +#: catalog/heap.c:3165 #, c-format msgid "unsupported ON COMMIT and foreign key combination" msgstr "непідтримуване поєднання зовнішнього ключа з ON COMMIT" -#: catalog/heap.c:3158 +#: catalog/heap.c:3166 #, c-format msgid "Table \"%s\" references \"%s\", but they do not have the same ON COMMIT setting." msgstr "Таблиця \"%s\" посилається на \"%s\", але вони не мають той же параметр ON COMMIT." -#: catalog/heap.c:3163 +#: catalog/heap.c:3171 #, c-format msgid "cannot truncate a table referenced in a foreign key constraint" msgstr "скоротити таблицю, на яку посилається зовнішній ключ, не можливо" -#: catalog/heap.c:3164 +#: catalog/heap.c:3172 #, c-format msgid "Table \"%s\" references \"%s\"." msgstr "Таблиця \"%s\" посилається на \"%s\"." -#: catalog/heap.c:3166 +#: catalog/heap.c:3174 #, c-format msgid "Truncate table \"%s\" at the same time, or use TRUNCATE ... CASCADE." msgstr "Скоротіть таблицю \"%s\" паралельно або використайте TRUNCATE ... CASCADE." -#: catalog/index.c:225 parser/parse_utilcmd.c:2179 +#: catalog/index.c:219 parser/parse_utilcmd.c:2176 #, c-format msgid "multiple primary keys for table \"%s\" are not allowed" msgstr "таблиця \"%s\" не може містити кілька первинних ключів" -#: catalog/index.c:239 +#: catalog/index.c:233 #, c-format msgid "primary keys cannot use NULLS NOT DISTINCT indexes" msgstr "первинні ключі не можуть використовувати NULLS NOT DISTINCT індекси" -#: catalog/index.c:256 +#: catalog/index.c:250 #, c-format msgid "primary keys cannot be expressions" msgstr "первинні ключі не можуть бути виразами" -#: catalog/index.c:273 +#: catalog/index.c:267 #, c-format msgid "primary key column \"%s\" is not marked NOT NULL" msgstr "стовпець первинного ключа \"%s\" не позначений як NOT NULL" -#: catalog/index.c:786 catalog/index.c:1942 +#: catalog/index.c:798 catalog/index.c:1915 #, c-format msgid "user-defined indexes on system catalog tables are not supported" msgstr "користувацькі індекси в таблицях системного каталогу не підтримуються" -#: catalog/index.c:826 +#: catalog/index.c:838 #, c-format msgid "nondeterministic collations are not supported for operator class \"%s\"" msgstr "недетерміновані правила сортування не підтримуються для класу операторів \"%s\"" -#: catalog/index.c:841 +#: catalog/index.c:853 #, c-format msgid "concurrent index creation on system catalog tables is not supported" msgstr "паралельне створення індексу в таблицях системного каталогу не підтримується" -#: catalog/index.c:850 catalog/index.c:1318 +#: catalog/index.c:862 catalog/index.c:1331 #, c-format msgid "concurrent index creation for exclusion constraints is not supported" msgstr "парарельне створення індексу для обмежень-виключень не підтримується" -#: catalog/index.c:859 +#: catalog/index.c:871 #, c-format msgid "shared indexes cannot be created after initdb" msgstr "не можливо створити спільні індекси після initdb" -#: catalog/index.c:879 commands/createas.c:423 commands/sequence.c:158 +#: catalog/index.c:891 commands/createas.c:416 commands/sequence.c:159 #: parser/parse_utilcmd.c:209 #, c-format msgid "relation \"%s\" already exists, skipping" msgstr "ввідношення \"%s\" вже існує, пропускаємо" -#: catalog/index.c:929 +#: catalog/index.c:941 #, c-format msgid "pg_class index OID value not set when in binary upgrade mode" msgstr "значення OID індекса в pg_class не встановлено в режимі двійкового оновлення" -#: catalog/index.c:939 utils/cache/relcache.c:3731 +#: catalog/index.c:951 utils/cache/relcache.c:3790 #, c-format msgid "index relfilenumber value not set when in binary upgrade mode" msgstr "значення індексу relfilenumber не встановлено в режимі двійкового оновлення" -#: catalog/index.c:2241 +#: catalog/index.c:2214 #, c-format msgid "DROP INDEX CONCURRENTLY must be first action in transaction" msgstr "DROP INDEX CONCURRENTLY повинен бути першою дією в транзакції" -#: catalog/index.c:3675 +#: catalog/index.c:3670 #, c-format msgid "cannot reindex temporary tables of other sessions" msgstr "повторно індексувати тимчасові таблиці інших сеансів не можна" -#: catalog/index.c:3686 commands/indexcmds.c:3607 +#: catalog/index.c:3681 commands/indexcmds.c:3653 #, c-format msgid "cannot reindex invalid index on TOAST table" msgstr "переіндексувати неприпустимий індекс в таблиці TOAST не можна" -#: catalog/index.c:3702 commands/indexcmds.c:3487 commands/indexcmds.c:3631 -#: commands/tablecmds.c:3402 +#: catalog/index.c:3697 commands/indexcmds.c:3531 commands/indexcmds.c:3677 +#: commands/tablecmds.c:3564 #, c-format msgid "cannot move system relation \"%s\"" msgstr "перемістити системне відношення \"%s\" не можна" -#: catalog/index.c:3846 +#: catalog/index.c:3834 #, c-format msgid "index \"%s\" was reindexed" msgstr "індекс \"%s\" був перебудований" -#: catalog/index.c:3983 +#: catalog/index.c:4000 #, c-format msgid "cannot reindex invalid index \"%s.%s\" on TOAST table, skipping" msgstr "переіндексувати неприпустимий індекс \"%s.%s\" в таблиці TOAST не можна, пропускається" -#: catalog/namespace.c:260 catalog/namespace.c:464 catalog/namespace.c:556 -#: commands/trigger.c:5736 +#: catalog/namespace.c:447 catalog/namespace.c:651 catalog/namespace.c:743 +#: commands/trigger.c:5731 #, c-format msgid "cross-database references are not implemented: \"%s.%s.%s\"" msgstr "cross-database посилання не реалізовані: \"%s.%s.%s\"" -#: catalog/namespace.c:317 +#: catalog/namespace.c:504 #, c-format msgid "temporary tables cannot specify a schema name" msgstr "для тимчасових таблиць ім'я схеми не вказується" -#: catalog/namespace.c:398 +#: catalog/namespace.c:585 #, c-format msgid "could not obtain lock on relation \"%s.%s\"" msgstr "не вдалося отримати блокування зв'язку \"%s.%s\"" -#: catalog/namespace.c:403 commands/lockcmds.c:144 commands/lockcmds.c:224 +#: catalog/namespace.c:590 commands/lockcmds.c:143 commands/lockcmds.c:223 #, c-format msgid "could not obtain lock on relation \"%s\"" msgstr "не вдалося отримати блокування зв'язку \"%s\"" -#: catalog/namespace.c:431 parser/parse_relation.c:1430 +#: catalog/namespace.c:618 parser/parse_relation.c:1430 #, c-format msgid "relation \"%s.%s\" does not exist" msgstr "відношення \"%s.%s\" не існує" -#: catalog/namespace.c:436 parser/parse_relation.c:1443 +#: catalog/namespace.c:623 parser/parse_relation.c:1443 #: parser/parse_relation.c:1451 utils/adt/regproc.c:913 #, c-format msgid "relation \"%s\" does not exist" msgstr "відношення \"%s\" не існує" -#: catalog/namespace.c:502 catalog/namespace.c:3073 commands/extension.c:1611 -#: commands/extension.c:1617 +#: catalog/namespace.c:689 catalog/namespace.c:3507 commands/extension.c:1607 +#: commands/extension.c:1613 #, c-format msgid "no schema has been selected to create in" msgstr "не вибрано схему для створення об'єктів" -#: catalog/namespace.c:654 catalog/namespace.c:667 +#: catalog/namespace.c:841 catalog/namespace.c:854 #, c-format msgid "cannot create relations in temporary schemas of other sessions" msgstr "неможливо створити відношення в тимчасових схемах з інших сеансів" -#: catalog/namespace.c:658 +#: catalog/namespace.c:845 #, c-format msgid "cannot create temporary relation in non-temporary schema" msgstr "неможливо створити тимчасове відношення в не тимчасовій схемі" -#: catalog/namespace.c:673 +#: catalog/namespace.c:860 #, c-format msgid "only temporary relations may be created in temporary schemas" msgstr "в тимчасових схемах можуть бути створені тільки тимчасові відношення" -#: catalog/namespace.c:2265 +#: catalog/namespace.c:2604 #, c-format msgid "statistics object \"%s\" does not exist" msgstr "об'єкт статистики \"%s\" не існує" -#: catalog/namespace.c:2388 +#: catalog/namespace.c:2746 #, c-format msgid "text search parser \"%s\" does not exist" msgstr "парсер текстового пошуку \"%s\" не існує" -#: catalog/namespace.c:2514 utils/adt/regproc.c:1439 +#: catalog/namespace.c:2891 utils/adt/regproc.c:1459 #, c-format msgid "text search dictionary \"%s\" does not exist" msgstr "словник текстового пошуку \"%s\" не існує" -#: catalog/namespace.c:2641 +#: catalog/namespace.c:3037 #, c-format msgid "text search template \"%s\" does not exist" msgstr "шаблон текстового пошуку \"%s\" не існує" -#: catalog/namespace.c:2767 commands/tsearchcmds.c:1168 -#: utils/adt/regproc.c:1329 utils/cache/ts_cache.c:635 +#: catalog/namespace.c:3182 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:2880 parser/parse_expr.c:832 parser/parse_target.c:1246 +#: catalog/namespace.c:3314 parser/parse_expr.c:868 parser/parse_target.c:1259 #, c-format msgid "cross-database references are not implemented: %s" msgstr "міжбазові посилання не реалізовані: %s" -#: catalog/namespace.c:2886 parser/parse_expr.c:839 parser/parse_target.c:1253 -#: gram.y:18569 gram.y:18609 +#: catalog/namespace.c:3320 parser/parse_expr.c:875 parser/parse_target.c:1266 +#: gram.y:19181 gram.y:19221 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "неправильне повне ім'я (забагато компонентів): %s" -#: catalog/namespace.c:3016 +#: catalog/namespace.c:3450 #, c-format msgid "cannot move objects into or out of temporary schemas" msgstr "не можна переміщати об'єкти в або з тимчасових схем" -#: catalog/namespace.c:3022 +#: catalog/namespace.c:3456 #, c-format msgid "cannot move objects into or out of TOAST schema" msgstr "не можна переміщати об'єкти в або з схем TOAST" -#: catalog/namespace.c:3095 commands/schemacmds.c:264 commands/schemacmds.c:344 -#: commands/tablecmds.c:1280 utils/adt/regproc.c:1668 +#: catalog/namespace.c:3529 commands/schemacmds.c:264 commands/schemacmds.c:344 +#: commands/tablecmds.c:1387 utils/adt/regproc.c:1688 #, c-format msgid "schema \"%s\" does not exist" msgstr "схема \"%s\" не існує" -#: catalog/namespace.c:3126 +#: catalog/namespace.c:3560 #, c-format msgid "improper relation name (too many dotted names): %s" msgstr "неправильне ім'я зв'язку (забагато компонентів): %s" -#: catalog/namespace.c:3693 utils/adt/regproc.c:1056 +#: catalog/namespace.c:4001 utils/adt/regproc.c:1056 #, c-format msgid "collation \"%s\" for encoding \"%s\" does not exist" msgstr "правило сортування \"%s\" для кодування \"%s\" не існує" -#: catalog/namespace.c:3748 +#: catalog/namespace.c:4056 #, c-format msgid "conversion \"%s\" does not exist" msgstr "перетворення\"%s\" не існує" -#: catalog/namespace.c:4012 +#: catalog/namespace.c:4397 #, c-format msgid "permission denied to create temporary tables in database \"%s\"" msgstr "немає дозволу для створення тимчасових таблиць в базі даних \"%s\"" -#: catalog/namespace.c:4028 +#: catalog/namespace.c:4413 #, c-format msgid "cannot create temporary tables during recovery" msgstr "не можна створити тимчасові таблиці під час відновлення" -#: catalog/namespace.c:4034 +#: catalog/namespace.c:4419 #, c-format msgid "cannot create temporary tables during a parallel operation" msgstr "не можна створити тимчасові таблиці під час паралельної операції" -#: catalog/objectaddress.c:1409 commands/policy.c:96 commands/policy.c:376 -#: commands/tablecmds.c:248 commands/tablecmds.c:290 commands/tablecmds.c:2206 -#: commands/tablecmds.c:12369 +#: catalog/objectaddress.c:1371 commands/policy.c:93 commands/policy.c:373 +#: commands/tablecmds.c:257 commands/tablecmds.c:299 commands/tablecmds.c:2310 +#: commands/tablecmds.c:12823 #, c-format msgid "\"%s\" is not a table" msgstr "\"%s\" не є таблицею" -#: catalog/objectaddress.c:1416 commands/tablecmds.c:260 -#: commands/tablecmds.c:17163 commands/view.c:119 +#: catalog/objectaddress.c:1378 commands/tablecmds.c:269 +#: commands/tablecmds.c:17741 commands/view.c:114 #, c-format msgid "\"%s\" is not a view" msgstr "\"%s\" не є поданням" -#: catalog/objectaddress.c:1423 commands/matview.c:186 commands/tablecmds.c:266 -#: commands/tablecmds.c:17168 +#: catalog/objectaddress.c:1385 commands/matview.c:199 commands/tablecmds.c:275 +#: commands/tablecmds.c:17746 #, c-format msgid "\"%s\" is not a materialized view" msgstr "\"%s\" не є матеріалізованим поданням" -#: catalog/objectaddress.c:1430 commands/tablecmds.c:284 -#: commands/tablecmds.c:17173 +#: catalog/objectaddress.c:1392 commands/tablecmds.c:293 +#: commands/tablecmds.c:17751 #, c-format msgid "\"%s\" is not a foreign table" msgstr "\"%s\" не є сторонньою таблицею" -#: catalog/objectaddress.c:1471 +#: catalog/objectaddress.c:1433 #, c-format msgid "must specify relation and object name" msgstr "треба вказати відношення й ім'я об'єкта" -#: catalog/objectaddress.c:1547 catalog/objectaddress.c:1600 +#: catalog/objectaddress.c:1509 catalog/objectaddress.c:1562 #, c-format msgid "column name must be qualified" msgstr "слід вказати ім'я стовпця" -#: catalog/objectaddress.c:1619 +#: catalog/objectaddress.c:1581 #, c-format msgid "default value for column \"%s\" of relation \"%s\" does not exist" msgstr "значення за замовчуванням для стовпця \"%s\" відношення \"%s\" не існує" -#: catalog/objectaddress.c:1656 commands/functioncmds.c:137 -#: commands/tablecmds.c:276 commands/typecmds.c:274 commands/typecmds.c:3691 +#: 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:4441 +#: utils/adt/acl.c:4560 #, c-format msgid "type \"%s\" does not exist" msgstr "тип \"%s\" не існує" -#: catalog/objectaddress.c:1775 +#: catalog/objectaddress.c:1737 #, c-format msgid "operator %d (%s, %s) of %s does not exist" msgstr "оператор %d (%s, %s) з %s не існує" -#: catalog/objectaddress.c:1806 +#: catalog/objectaddress.c:1768 #, c-format msgid "function %d (%s, %s) of %s does not exist" msgstr "функція %d (%s, %s) з %s не існує" -#: catalog/objectaddress.c:1857 catalog/objectaddress.c:1883 +#: catalog/objectaddress.c:1819 catalog/objectaddress.c:1845 #, c-format msgid "user mapping for user \"%s\" on server \"%s\" does not exist" msgstr "відображення користувача для користувача \"%s\" на сервері \"%s\"не існує" -#: catalog/objectaddress.c:1872 commands/foreigncmds.c:430 -#: commands/foreigncmds.c:993 commands/foreigncmds.c:1356 foreign/foreign.c:700 +#: catalog/objectaddress.c:1834 commands/foreigncmds.c:430 +#: commands/foreigncmds.c:993 commands/foreigncmds.c:1356 foreign/foreign.c:713 #, c-format msgid "server \"%s\" does not exist" msgstr "сервер \"%s\" не існує" -#: catalog/objectaddress.c:1939 +#: catalog/objectaddress.c:1901 #, c-format msgid "publication relation \"%s\" in publication \"%s\" does not exist" msgstr "відношення публікації \"%s\" в публікації \"%s\" не існує" -#: catalog/objectaddress.c:1986 +#: catalog/objectaddress.c:1948 #, c-format msgid "publication schema \"%s\" in publication \"%s\" does not exist" msgstr "схема публікації \"%s\" в публікації \"%s\" не існує" -#: catalog/objectaddress.c:2044 +#: catalog/objectaddress.c:2006 #, c-format msgid "unrecognized default ACL object type \"%c\"" msgstr "нерозпізнаний тип об'єкта ACL за замовчуванням \"%c\"" -#: catalog/objectaddress.c:2045 +#: catalog/objectaddress.c:2007 #, c-format msgid "Valid object types are \"%c\", \"%c\", \"%c\", \"%c\", \"%c\"." msgstr "Припустимі типи об'єктів: \"%c\", \"%c\", \"%c\", \"%c\", \"%c\"." -#: catalog/objectaddress.c:2096 +#: catalog/objectaddress.c:2058 #, c-format msgid "default ACL for user \"%s\" in schema \"%s\" on %s does not exist" msgstr "ACL за замовчуванням для користувача \"%s\" в схемі \"%s\" для об'єкту %s не існує" -#: catalog/objectaddress.c:2101 +#: catalog/objectaddress.c:2063 #, c-format msgid "default ACL for user \"%s\" on %s does not exist" msgstr "ACL за замовчуванням для користувача \"%s\" і для об'єкту %s не існує" -#: catalog/objectaddress.c:2127 catalog/objectaddress.c:2184 -#: catalog/objectaddress.c:2239 +#: catalog/objectaddress.c:2089 catalog/objectaddress.c:2146 +#: catalog/objectaddress.c:2201 #, c-format msgid "name or argument lists may not contain nulls" msgstr "списки імен та аргументів не повинні містити Null" -#: catalog/objectaddress.c:2161 +#: catalog/objectaddress.c:2123 #, c-format msgid "unsupported object type \"%s\"" msgstr "непідтримуваний тип об'єкта \"%s\"" -#: catalog/objectaddress.c:2180 catalog/objectaddress.c:2197 -#: catalog/objectaddress.c:2262 catalog/objectaddress.c:2346 +#: catalog/objectaddress.c:2142 catalog/objectaddress.c:2159 +#: catalog/objectaddress.c:2224 catalog/objectaddress.c:2308 #, c-format msgid "name list length must be exactly %d" msgstr "довжина списку імен повинна бути точно %d" -#: catalog/objectaddress.c:2201 +#: catalog/objectaddress.c:2163 #, c-format msgid "large object OID may not be null" msgstr "OID великого об'єкта не повинно бути нулем" -#: catalog/objectaddress.c:2210 catalog/objectaddress.c:2280 -#: catalog/objectaddress.c:2287 +#: catalog/objectaddress.c:2172 catalog/objectaddress.c:2242 +#: catalog/objectaddress.c:2249 #, c-format msgid "name list length must be at least %d" msgstr "довжина списку імен повинна бути щонайменше %d" -#: catalog/objectaddress.c:2273 catalog/objectaddress.c:2294 +#: catalog/objectaddress.c:2235 catalog/objectaddress.c:2256 #, c-format msgid "argument list length must be exactly %d" msgstr "довжина списку аргументів повинна бути точно %d" -#: catalog/objectaddress.c:2508 libpq/be-fsstubs.c:329 +#: catalog/objectaddress.c:2470 libpq/be-fsstubs.c:329 #, c-format msgid "must be owner of large object %u" msgstr "треба бути власником великого об'єкта %u" -#: catalog/objectaddress.c:2523 commands/functioncmds.c:1561 +#: catalog/objectaddress.c:2485 commands/functioncmds.c:1560 #, c-format msgid "must be owner of type %s or type %s" msgstr "треба бути власником типу %s або типу %s" -#: catalog/objectaddress.c:2550 catalog/objectaddress.c:2559 -#: catalog/objectaddress.c:2565 +#: catalog/objectaddress.c:2512 catalog/objectaddress.c:2521 +#: catalog/objectaddress.c:2527 #, c-format msgid "permission denied" msgstr "немає доступу" -#: catalog/objectaddress.c:2551 catalog/objectaddress.c:2560 +#: catalog/objectaddress.c:2513 catalog/objectaddress.c:2522 #, c-format msgid "The current user must have the %s attribute." msgstr "Поточний користувач повинен мати атрибут %s." -#: catalog/objectaddress.c:2566 +#: catalog/objectaddress.c:2528 #, c-format msgid "The current user must have the %s option on role \"%s\"." msgstr "Поточний користувач повинен мати параметр %s для ролі \"%s\"." -#: catalog/objectaddress.c:2580 +#: catalog/objectaddress.c:2542 #, c-format msgid "must be superuser" msgstr "треба бути суперкористувачем" -#: catalog/objectaddress.c:2649 +#: catalog/objectaddress.c:2611 #, c-format msgid "unrecognized object type \"%s\"" msgstr "нерозпізнаний тип об'єкту \"%s\"" #. translator: second %s is, e.g., "table %s" -#: catalog/objectaddress.c:2941 +#: catalog/objectaddress.c:2903 #, c-format msgid "column %s of %s" msgstr "стовпець %s з %s" -#: catalog/objectaddress.c:2956 +#: catalog/objectaddress.c:2918 #, c-format msgid "function %s" msgstr "функція %s" -#: catalog/objectaddress.c:2969 +#: catalog/objectaddress.c:2931 #, c-format msgid "type %s" msgstr "тип %s" -#: catalog/objectaddress.c:3006 +#: catalog/objectaddress.c:2968 #, c-format msgid "cast from %s to %s" msgstr "приведення від %s до %s" -#: catalog/objectaddress.c:3039 +#: catalog/objectaddress.c:3001 #, c-format msgid "collation %s" msgstr "сортування %s" #. translator: second %s is, e.g., "table %s" -#: catalog/objectaddress.c:3070 +#: catalog/objectaddress.c:3032 #, c-format msgid "constraint %s on %s" msgstr "обмеження %s на %s" -#: catalog/objectaddress.c:3076 +#: catalog/objectaddress.c:3038 #, c-format msgid "constraint %s" msgstr "обмеження %s" -#: catalog/objectaddress.c:3108 +#: catalog/objectaddress.c:3070 #, c-format msgid "conversion %s" msgstr "перетворення %s" #. translator: %s is typically "column %s of table %s" -#: catalog/objectaddress.c:3130 +#: catalog/objectaddress.c:3092 #, c-format msgid "default value for %s" msgstr "значення за замовчуванням для %s" -#: catalog/objectaddress.c:3141 +#: catalog/objectaddress.c:3103 #, c-format msgid "language %s" msgstr "мова %s" -#: catalog/objectaddress.c:3149 +#: catalog/objectaddress.c:3111 #, c-format msgid "large object %u" msgstr "великий об'єкт %u" -#: catalog/objectaddress.c:3162 +#: catalog/objectaddress.c:3124 #, c-format msgid "operator %s" msgstr "оператор %s" -#: catalog/objectaddress.c:3199 +#: catalog/objectaddress.c:3161 #, c-format msgid "operator class %s for access method %s" msgstr "клас операторів %s для методу доступу %s" -#: catalog/objectaddress.c:3227 +#: catalog/objectaddress.c:3189 #, c-format msgid "access method %s" msgstr "метод доступу %s" @@ -5159,7 +5474,7 @@ msgstr "метод доступу %s" #. first two %s's are data type names, the third %s is the #. description of the operator family, and the last %s is the #. textual form of the operator with arguments. -#: catalog/objectaddress.c:3276 +#: catalog/objectaddress.c:3238 #, c-format msgid "operator %d (%s, %s) of %s: %s" msgstr "оператор %d (%s, %s) з %s: %s" @@ -5168,236 +5483,236 @@ msgstr "оператор %d (%s, %s) з %s: %s" #. are data type names, the third %s is the description of the #. operator family, and the last %s is the textual form of the #. function with arguments. -#: catalog/objectaddress.c:3333 +#: catalog/objectaddress.c:3295 #, c-format msgid "function %d (%s, %s) of %s: %s" msgstr "функція %d (%s, %s) з %s: %s" #. translator: second %s is, e.g., "table %s" -#: catalog/objectaddress.c:3385 +#: catalog/objectaddress.c:3347 #, c-format msgid "rule %s on %s" msgstr "правило %s на %s" #. translator: second %s is, e.g., "table %s" -#: catalog/objectaddress.c:3431 +#: catalog/objectaddress.c:3393 #, c-format msgid "trigger %s on %s" msgstr "тригер %s на %s" -#: catalog/objectaddress.c:3451 +#: catalog/objectaddress.c:3413 #, c-format msgid "schema %s" msgstr "схема %s" -#: catalog/objectaddress.c:3479 +#: catalog/objectaddress.c:3441 #, c-format msgid "statistics object %s" msgstr "об'єкт статистики %s" -#: catalog/objectaddress.c:3510 +#: catalog/objectaddress.c:3472 #, c-format msgid "text search parser %s" msgstr "парсер текстового пошуку %s" -#: catalog/objectaddress.c:3541 +#: catalog/objectaddress.c:3503 #, c-format msgid "text search dictionary %s" msgstr "словник текстового пошуку %s" -#: catalog/objectaddress.c:3572 +#: catalog/objectaddress.c:3534 #, c-format msgid "text search template %s" msgstr "шаблон текстового пошуку %s" -#: catalog/objectaddress.c:3603 +#: catalog/objectaddress.c:3565 #, c-format msgid "text search configuration %s" msgstr "конфігурація текстового пошуку %s" -#: catalog/objectaddress.c:3616 +#: catalog/objectaddress.c:3578 #, c-format msgid "role %s" msgstr "роль %s" -#: catalog/objectaddress.c:3653 catalog/objectaddress.c:5505 +#: catalog/objectaddress.c:3615 catalog/objectaddress.c:5464 #, c-format msgid "membership of role %s in role %s" msgstr "членство ролі %s в ролі %s" -#: catalog/objectaddress.c:3674 +#: catalog/objectaddress.c:3636 #, c-format msgid "database %s" msgstr "база даних %s" -#: catalog/objectaddress.c:3690 +#: catalog/objectaddress.c:3652 #, c-format msgid "tablespace %s" msgstr "табличний простір %s" -#: catalog/objectaddress.c:3701 +#: catalog/objectaddress.c:3663 #, c-format msgid "foreign-data wrapper %s" msgstr "джерело сторонніх даних %s" -#: catalog/objectaddress.c:3711 +#: catalog/objectaddress.c:3673 #, c-format msgid "server %s" msgstr "сервер %s" -#: catalog/objectaddress.c:3744 +#: catalog/objectaddress.c:3706 #, c-format msgid "user mapping for %s on server %s" msgstr "зіставлення користувача для %s на сервері %s" -#: catalog/objectaddress.c:3796 +#: catalog/objectaddress.c:3758 #, c-format msgid "default privileges on new relations belonging to role %s in schema %s" msgstr "права за замовчуванням для нових відношень, що належать ролі %s в схемі %s" -#: catalog/objectaddress.c:3800 +#: catalog/objectaddress.c:3762 #, c-format msgid "default privileges on new relations belonging to role %s" msgstr "права за замовчуванням для нових відношень, що належать ролі %s" -#: catalog/objectaddress.c:3806 +#: catalog/objectaddress.c:3768 #, c-format msgid "default privileges on new sequences belonging to role %s in schema %s" msgstr "права за замовчуванням для нових послідовностей, що належать ролі %s в схемі %s" -#: catalog/objectaddress.c:3810 +#: catalog/objectaddress.c:3772 #, c-format msgid "default privileges on new sequences belonging to role %s" msgstr "права за замовчуванням для нових послідовностей, що належать ролі %s" -#: catalog/objectaddress.c:3816 +#: catalog/objectaddress.c:3778 #, c-format msgid "default privileges on new functions belonging to role %s in schema %s" msgstr "права за замовчуванням для нових функцій, що належать ролі %s в схемі %s" -#: catalog/objectaddress.c:3820 +#: catalog/objectaddress.c:3782 #, c-format msgid "default privileges on new functions belonging to role %s" msgstr "права за замовчуванням для нових функцій, що належать ролі %s" -#: catalog/objectaddress.c:3826 +#: catalog/objectaddress.c:3788 #, c-format msgid "default privileges on new types belonging to role %s in schema %s" msgstr "права за замовчуванням для нових типів, що належать ролі %s в схемі %s" -#: catalog/objectaddress.c:3830 +#: catalog/objectaddress.c:3792 #, c-format msgid "default privileges on new types belonging to role %s" msgstr "права за замовчуванням для нових типів, що належать ролі %s" -#: catalog/objectaddress.c:3836 +#: catalog/objectaddress.c:3798 #, c-format msgid "default privileges on new schemas belonging to role %s" msgstr "права за замовчуванням для нових схем, що належать ролі %s" -#: catalog/objectaddress.c:3843 +#: catalog/objectaddress.c:3805 #, c-format msgid "default privileges belonging to role %s in schema %s" msgstr "права за замовчуванням, що належать ролі %s в схемі %s" -#: catalog/objectaddress.c:3847 +#: catalog/objectaddress.c:3809 #, c-format msgid "default privileges belonging to role %s" msgstr "права за замовчуванням належать ролі %s" -#: catalog/objectaddress.c:3869 +#: catalog/objectaddress.c:3831 #, c-format msgid "extension %s" msgstr "розширення %s" -#: catalog/objectaddress.c:3886 +#: catalog/objectaddress.c:3848 #, c-format msgid "event trigger %s" msgstr "тригер подій %s" -#: catalog/objectaddress.c:3910 +#: catalog/objectaddress.c:3872 #, c-format msgid "parameter %s" msgstr "параметр %s" #. translator: second %s is, e.g., "table %s" -#: catalog/objectaddress.c:3953 +#: catalog/objectaddress.c:3915 #, c-format msgid "policy %s on %s" msgstr "політика %s на %s" -#: catalog/objectaddress.c:3967 +#: catalog/objectaddress.c:3929 #, c-format msgid "publication %s" msgstr "публікація %s" -#: catalog/objectaddress.c:3980 +#: catalog/objectaddress.c:3942 #, c-format msgid "publication of schema %s in publication %s" msgstr "публікація схеми %s в публікації %s" #. translator: first %s is, e.g., "table %s" -#: catalog/objectaddress.c:4011 +#: catalog/objectaddress.c:3973 #, c-format msgid "publication of %s in publication %s" msgstr "відношення публікації %s в публікації %s" -#: catalog/objectaddress.c:4024 +#: catalog/objectaddress.c:3986 #, c-format msgid "subscription %s" msgstr "підписка %s" -#: catalog/objectaddress.c:4045 +#: catalog/objectaddress.c:4007 #, c-format msgid "transform for %s language %s" msgstr "трансформація для %s мови %s" -#: catalog/objectaddress.c:4116 +#: catalog/objectaddress.c:4076 #, c-format msgid "table %s" msgstr "таблиця %s" -#: catalog/objectaddress.c:4121 +#: catalog/objectaddress.c:4081 #, c-format msgid "index %s" msgstr "індекс %s" -#: catalog/objectaddress.c:4125 +#: catalog/objectaddress.c:4085 #, c-format msgid "sequence %s" msgstr "послідовність %s" -#: catalog/objectaddress.c:4129 +#: catalog/objectaddress.c:4089 #, c-format msgid "toast table %s" msgstr "таблиця toast %s" -#: catalog/objectaddress.c:4133 +#: catalog/objectaddress.c:4093 #, c-format msgid "view %s" msgstr "подання %s" -#: catalog/objectaddress.c:4137 +#: catalog/objectaddress.c:4097 #, c-format msgid "materialized view %s" msgstr "матеріалізоване подання %s" -#: catalog/objectaddress.c:4141 +#: catalog/objectaddress.c:4101 #, c-format msgid "composite type %s" msgstr "складений тип %s" -#: catalog/objectaddress.c:4145 +#: catalog/objectaddress.c:4105 #, c-format msgid "foreign table %s" msgstr "зовнішня таблиця %s" -#: catalog/objectaddress.c:4150 +#: catalog/objectaddress.c:4110 #, c-format msgid "relation %s" msgstr "відношення %s" -#: catalog/objectaddress.c:4191 +#: catalog/objectaddress.c:4151 #, c-format msgid "operator family %s for access method %s" msgstr "сімейство операторів %s для методу доступу %s" @@ -5441,7 +5756,7 @@ msgstr "не можна пропустити початкове значення msgid "return type of inverse transition function %s is not %s" msgstr "інвертована функція переходу %s повинна повертати тип %s" -#: catalog/pg_aggregate.c:352 executor/nodeWindowAgg.c:3009 +#: catalog/pg_aggregate.c:352 executor/nodeWindowAgg.c:2992 #, c-format msgid "strictness of aggregate's forward and inverse transition functions must match" msgstr "пряма й інвертована функції переходу агрегату повинні мати однакову суворість" @@ -5456,7 +5771,7 @@ msgstr "фінальна функція з додатковими аргумен msgid "return type of combine function %s is not %s" msgstr "комбінуюча функція %s повинна повертати тип %s" -#: catalog/pg_aggregate.c:439 executor/nodeAgg.c:3903 +#: catalog/pg_aggregate.c:439 executor/nodeAgg.c:3902 #, c-format msgid "combine function with transition type %s must not be declared STRICT" msgstr "комбінуюча функція з перехідним типом %s не повинна оголошуватись як сувора (STRICT)" @@ -5471,12 +5786,12 @@ msgstr "функція серіалізації %s повинна поверта msgid "return type of deserialization function %s is not %s" msgstr "функція десеріалізації %s повинна повертати тип %s" -#: catalog/pg_aggregate.c:498 catalog/pg_proc.c:191 catalog/pg_proc.c:225 +#: catalog/pg_aggregate.c:498 catalog/pg_proc.c:189 catalog/pg_proc.c:223 #, c-format msgid "cannot determine result data type" msgstr "не вдалося визначити тип результату" -#: catalog/pg_aggregate.c:513 catalog/pg_proc.c:204 catalog/pg_proc.c:233 +#: catalog/pg_aggregate.c:513 catalog/pg_proc.c:202 catalog/pg_proc.c:231 #, c-format msgid "unsafe use of pseudo-type \"internal\"" msgstr "небезпечне використання псевдотипу (pseudo-type) \"internal\"" @@ -5491,7 +5806,7 @@ msgstr "реалізація рухомого агрегату повертає msgid "sort operator can only be specified for single-argument aggregates" msgstr "оператора сортування можна вказати лише для агрегатних функцій з одним аргументом" -#: catalog/pg_aggregate.c:706 catalog/pg_proc.c:386 +#: catalog/pg_aggregate.c:706 catalog/pg_proc.c:384 #, c-format msgid "cannot change routine kind" msgstr "неможливо змінити тип підпрограми" @@ -5516,13 +5831,13 @@ msgstr "\"%s\" є агрегатом для гіпотетичних набор msgid "cannot change number of direct arguments of an aggregate function" msgstr "змінити кількість прямих аргументів агрегатної функції не можна" -#: catalog/pg_aggregate.c:858 commands/functioncmds.c:691 -#: commands/typecmds.c:1975 commands/typecmds.c:2021 commands/typecmds.c:2073 -#: commands/typecmds.c:2110 commands/typecmds.c:2144 commands/typecmds.c:2178 -#: commands/typecmds.c:2212 commands/typecmds.c:2241 commands/typecmds.c:2328 -#: commands/typecmds.c:2370 parser/parse_func.c:417 parser/parse_func.c:448 +#: catalog/pg_aggregate.c:858 commands/functioncmds.c:686 +#: commands/typecmds.c:1985 commands/typecmds.c:2031 commands/typecmds.c:2083 +#: commands/typecmds.c:2120 commands/typecmds.c:2154 commands/typecmds.c:2188 +#: commands/typecmds.c:2222 commands/typecmds.c:2251 commands/typecmds.c:2338 +#: commands/typecmds.c:2380 parser/parse_func.c:417 parser/parse_func.c:448 #: parser/parse_func.c:475 parser/parse_func.c:489 parser/parse_func.c:611 -#: parser/parse_func.c:631 parser/parse_func.c:2171 parser/parse_func.c:2444 +#: parser/parse_func.c:631 parser/parse_func.c:2172 parser/parse_func.c:2445 #, c-format msgid "function %s does not exist" msgstr "функції %s не існує" @@ -5597,133 +5912,133 @@ msgstr "Ця операція не підтримується для секці msgid "This operation is not supported for partitioned indexes." msgstr "Ця операція не підтримується для секціонованих індексів." -#: catalog/pg_collation.c:102 catalog/pg_collation.c:160 +#: catalog/pg_collation.c:101 catalog/pg_collation.c:159 #, c-format msgid "collation \"%s\" already exists, skipping" msgstr "сортування \"%s\" вже існує, пропускаємо" -#: catalog/pg_collation.c:104 +#: catalog/pg_collation.c:103 #, c-format msgid "collation \"%s\" for encoding \"%s\" already exists, skipping" msgstr "правило сортування \"%s \" для кодування \"%s\" вже існує, пропускаємо" -#: catalog/pg_collation.c:112 catalog/pg_collation.c:167 +#: catalog/pg_collation.c:111 catalog/pg_collation.c:166 #, c-format msgid "collation \"%s\" already exists" msgstr "правило сортування \"%s\" вже існує" -#: catalog/pg_collation.c:114 +#: catalog/pg_collation.c:113 #, c-format msgid "collation \"%s\" for encoding \"%s\" already exists" msgstr "правило сортування \"%s \" для кодування \"%s\" вже існує" -#: catalog/pg_constraint.c:690 +#: catalog/pg_constraint.c:732 #, c-format msgid "constraint \"%s\" for domain %s already exists" msgstr "обмеження \"%s\" для домену %s вже існує" -#: catalog/pg_constraint.c:890 catalog/pg_constraint.c:983 +#: catalog/pg_constraint.c:932 catalog/pg_constraint.c:1025 #, c-format msgid "constraint \"%s\" for table \"%s\" does not exist" msgstr "індексу \"%s\" для таблиці \"%s\" не існує" -#: catalog/pg_constraint.c:1083 +#: catalog/pg_constraint.c:1125 #, c-format msgid "constraint \"%s\" for domain %s does not exist" msgstr "обмеження \"%s\" для домену \"%s\" не існує" -#: catalog/pg_conversion.c:67 +#: catalog/pg_conversion.c:64 #, c-format msgid "conversion \"%s\" already exists" msgstr "перетворення \"%s\" вже існує" -#: catalog/pg_conversion.c:80 +#: catalog/pg_conversion.c:77 #, c-format msgid "default conversion for %s to %s already exists" msgstr "перетворення за замовчуванням від %s до %s вже існує" -#: catalog/pg_depend.c:222 commands/extension.c:3368 +#: catalog/pg_depend.c:224 commands/extension.c:3397 #, c-format msgid "%s is already a member of extension \"%s\"" msgstr "%s вже є членом розширення \"%s\"" -#: catalog/pg_depend.c:229 catalog/pg_depend.c:280 commands/extension.c:3408 +#: catalog/pg_depend.c:231 catalog/pg_depend.c:282 commands/extension.c:3437 #, c-format msgid "%s is not a member of extension \"%s\"" msgstr "%s не є членом розширення \"%s\"" -#: catalog/pg_depend.c:232 +#: catalog/pg_depend.c:234 #, c-format msgid "An extension is not allowed to replace an object that it does not own." msgstr "Розширенню не дозволяється замінювати об'єкт, який йому не належить." -#: catalog/pg_depend.c:283 +#: catalog/pg_depend.c:285 #, c-format msgid "An extension may only use CREATE ... IF NOT EXISTS to skip object creation if the conflicting object is one that it already owns." msgstr "Розширення може використовувати лише CREATE ... IF NOT EXISTS, щоб пропустити створення об'єкту, якщо конфліктуючий об'єкт уже належить йому." -#: catalog/pg_depend.c:646 +#: catalog/pg_depend.c:648 #, c-format msgid "cannot remove dependency on %s because it is a system object" msgstr "неможливо видалити залежність від об'єкта %s, тому що це системний об'єкт" -#: catalog/pg_enum.c:137 catalog/pg_enum.c:259 catalog/pg_enum.c:554 +#: catalog/pg_enum.c:175 catalog/pg_enum.c:314 catalog/pg_enum.c:624 #, c-format msgid "invalid enum label \"%s\"" msgstr "неприпустима мітка перераховування \"%s\"" -#: catalog/pg_enum.c:138 catalog/pg_enum.c:260 catalog/pg_enum.c:555 +#: catalog/pg_enum.c:176 catalog/pg_enum.c:315 catalog/pg_enum.c:625 #, c-format msgid "Labels must be %d bytes or less." msgstr "Мітки повинні бути %d байт або менше." -#: catalog/pg_enum.c:288 +#: catalog/pg_enum.c:343 #, c-format msgid "enum label \"%s\" already exists, skipping" msgstr "мітка перераховування \"%s\" вже існує, пропускаємо" -#: catalog/pg_enum.c:295 catalog/pg_enum.c:598 +#: catalog/pg_enum.c:350 catalog/pg_enum.c:668 #, c-format msgid "enum label \"%s\" already exists" msgstr "мітка перераховування \"%s\" вже існує" -#: catalog/pg_enum.c:350 catalog/pg_enum.c:593 +#: catalog/pg_enum.c:405 catalog/pg_enum.c:663 #, c-format msgid "\"%s\" is not an existing enum label" msgstr "\"%s\" не є існуючою міткою перераховування" -#: catalog/pg_enum.c:408 +#: catalog/pg_enum.c:463 #, c-format msgid "pg_enum OID value not set when in binary upgrade mode" msgstr "значення OID в pg_enum не встановлено в режимі двійкового оновлення" -#: catalog/pg_enum.c:418 +#: catalog/pg_enum.c:473 #, c-format msgid "ALTER TYPE ADD BEFORE/AFTER is incompatible with binary upgrade" msgstr "Конструкція ALTER TYPE ADD BEFORE/AFTER несумісна з двійковим оновленням даних" -#: catalog/pg_inherits.c:593 +#: catalog/pg_inherits.c:592 #, c-format msgid "cannot detach partition \"%s\"" msgstr "не можна відключити розділ \"%s\"" -#: catalog/pg_inherits.c:595 +#: catalog/pg_inherits.c:594 #, c-format msgid "The partition is being detached concurrently or has an unfinished detach." msgstr "Розділ відключається одночасно або має незакінчене відключення." -#: catalog/pg_inherits.c:596 commands/tablecmds.c:4583 -#: commands/tablecmds.c:15478 +#: catalog/pg_inherits.c:595 commands/tablecmds.c:4777 +#: commands/tablecmds.c:16050 #, c-format msgid "Use ALTER TABLE ... DETACH PARTITION ... FINALIZE to complete the pending detach operation." msgstr "Використайте ALTER TABLE ... DETACH PARTITION ... FINALIZE щоб завершити очікувану операцію відключення." -#: catalog/pg_inherits.c:600 +#: catalog/pg_inherits.c:599 #, c-format msgid "cannot complete detaching partition \"%s\"" msgstr "не можна завершити відключення розділу \"%s\"" -#: catalog/pg_inherits.c:602 +#: catalog/pg_inherits.c:601 #, c-format msgid "There's no pending concurrent detach." msgstr "Немає жодного очікуючого паралельного відключення." @@ -5733,77 +6048,92 @@ msgstr "Немає жодного очікуючого паралельного msgid "schema \"%s\" already exists" msgstr "схема \"%s\" вже існує" -#: catalog/pg_operator.c:219 catalog/pg_operator.c:361 +#: catalog/pg_operator.c:213 catalog/pg_operator.c:355 #, c-format msgid "\"%s\" is not a valid operator name" msgstr "\"%s\" не є коректним оператором" -#: catalog/pg_operator.c:370 +#: catalog/pg_operator.c:379 +#, c-format +msgid "operator %s already exists" +msgstr "оператор %s вже існує" + +#: catalog/pg_operator.c:445 commands/operatorcmds.c:600 +#, c-format +msgid "operator cannot be its own negator" +msgstr "оператор не може бути власним запереченням" + +#: catalog/pg_operator.c:572 #, c-format msgid "only binary operators can have commutators" msgstr "(commutators) можна визначити лише для бінарних операторів" -#: catalog/pg_operator.c:374 commands/operatorcmds.c:509 +#: catalog/pg_operator.c:576 #, c-format msgid "only binary operators can have join selectivity" msgstr "функцію оцінки з'єднання можливо визначити лише для бінарних операторів" -#: catalog/pg_operator.c:378 +#: catalog/pg_operator.c:580 #, c-format msgid "only binary operators can merge join" msgstr "підтримку з'єднання злиттям можливо позначити лише для бінарних операторів" -#: catalog/pg_operator.c:382 +#: catalog/pg_operator.c:584 #, c-format msgid "only binary operators can hash" msgstr "підтримка хешу можливо позначити лише для бінарних операторів" -#: catalog/pg_operator.c:393 +#: catalog/pg_operator.c:593 #, c-format msgid "only boolean operators can have negators" msgstr "зворотню операцію можливо визначити лише для логічних операторів" -#: catalog/pg_operator.c:397 commands/operatorcmds.c:517 +#: catalog/pg_operator.c:597 #, c-format msgid "only boolean operators can have restriction selectivity" msgstr "функцію оцінки обмеження можливо визначити лише для логічних операторів" -#: catalog/pg_operator.c:401 commands/operatorcmds.c:521 +#: catalog/pg_operator.c:601 #, c-format msgid "only boolean operators can have join selectivity" msgstr "функцію оцінки з'єднання можливо визначити лише для логічних операторів" -#: catalog/pg_operator.c:405 +#: catalog/pg_operator.c:605 #, c-format msgid "only boolean operators can merge join" msgstr "підтримку з'єднання злиттям можливо позначити лише для логічних операторів" -#: catalog/pg_operator.c:409 +#: catalog/pg_operator.c:609 #, c-format msgid "only boolean operators can hash" msgstr "підтримку хешу можливо позначити лише для логічних операторів" -#: catalog/pg_operator.c:421 +#: catalog/pg_operator.c:739 #, c-format -msgid "operator %s already exists" -msgstr "оператор %s вже існує" +msgid "commutator operator %s is already the commutator of operator %s" +msgstr "оператор комутатора %s вже є комутатором оператора %s" -#: catalog/pg_operator.c:621 +#: catalog/pg_operator.c:744 #, c-format -msgid "operator cannot be its own negator or sort operator" -msgstr "оператор не може бути зворотнім до себе або власним оператором сортування" +msgid "commutator operator %s is already the commutator of operator %u" +msgstr "оператор комутатора %s вже є комутатором оператора %u" -#: catalog/pg_parameter_acl.c:53 +#: catalog/pg_operator.c:807 #, c-format -msgid "parameter ACL \"%s\" does not exist" -msgstr "параметр ACL \"%s\" не існує" +msgid "negator operator %s is already the negator of operator %s" +msgstr "оператор заперечення %s вже є запереченням оператора %s" -#: catalog/pg_parameter_acl.c:88 +#: catalog/pg_operator.c:812 #, c-format -msgid "invalid parameter name \"%s\"" -msgstr "неприпустима назва параметру \"%s\"" +msgid "negator operator %s is already the negator of operator %u" +msgstr "заперечний оператор %s вже є запереченням оператора %u" + +#: catalog/pg_parameter_acl.c:50 +#, c-format +msgid "parameter ACL \"%s\" does not exist" +msgstr "параметр ACL \"%s\" не існує" -#: catalog/pg_proc.c:132 parser/parse_func.c:2233 +#: catalog/pg_proc.c:130 parser/parse_func.c:2234 #, c-format msgid "functions cannot have more than %d argument" msgid_plural "functions cannot have more than %d arguments" @@ -5812,37 +6142,37 @@ msgstr[1] "функції не можуть мати більше %d аргум msgstr[2] "функції не можуть мати більше %d аргументів" msgstr[3] "функції не можуть мати більше %d аргументів" -#: catalog/pg_proc.c:376 +#: catalog/pg_proc.c:374 #, c-format msgid "function \"%s\" already exists with same argument types" msgstr "функція \"%s\" з аргументами таких типів вже існує" -#: catalog/pg_proc.c:388 +#: catalog/pg_proc.c:386 #, c-format msgid "\"%s\" is an aggregate function." msgstr "\"%s\" є функцією агрегату." -#: catalog/pg_proc.c:390 +#: catalog/pg_proc.c:388 #, c-format msgid "\"%s\" is a function." msgstr "\"%s\" є функцією." -#: catalog/pg_proc.c:392 +#: catalog/pg_proc.c:390 #, c-format msgid "\"%s\" is a procedure." msgstr "\"%s\" є процедурою." -#: catalog/pg_proc.c:394 +#: catalog/pg_proc.c:392 #, c-format msgid "\"%s\" is a window function." msgstr "\"%s\" є функцією вікна." -#: catalog/pg_proc.c:414 +#: catalog/pg_proc.c:412 #, c-format msgid "cannot change whether a procedure has output parameters" msgstr "неможливо визначити вихідні параметри для процедури" -#: catalog/pg_proc.c:415 catalog/pg_proc.c:445 +#: catalog/pg_proc.c:413 catalog/pg_proc.c:443 #, c-format msgid "cannot change return type of existing function" msgstr "неможливо змінити тип повернення існуючої функції" @@ -5851,171 +6181,170 @@ msgstr "неможливо змінити тип повернення існую #. AGGREGATE #. #. translator: first %s is DROP FUNCTION or DROP PROCEDURE -#: catalog/pg_proc.c:421 catalog/pg_proc.c:448 catalog/pg_proc.c:493 -#: catalog/pg_proc.c:519 catalog/pg_proc.c:543 +#: catalog/pg_proc.c:419 catalog/pg_proc.c:446 catalog/pg_proc.c:491 +#: catalog/pg_proc.c:517 catalog/pg_proc.c:541 #, c-format msgid "Use %s %s first." msgstr "Використайте %s %s спочатку." -#: catalog/pg_proc.c:446 +#: catalog/pg_proc.c:444 #, c-format msgid "Row type defined by OUT parameters is different." msgstr "Параметри OUT визначають другий тип рядку." -#: catalog/pg_proc.c:490 +#: catalog/pg_proc.c:488 #, c-format msgid "cannot change name of input parameter \"%s\"" msgstr "неможливо змінити ім'я вхідного параметру \"%s\"" -#: catalog/pg_proc.c:517 +#: catalog/pg_proc.c:515 #, c-format msgid "cannot remove parameter defaults from existing function" msgstr "неможливо прибрати параметр за замовчуванням з існуючої функції" -#: catalog/pg_proc.c:541 +#: catalog/pg_proc.c:539 #, c-format msgid "cannot change data type of existing parameter default value" msgstr "неможливо змінити тип даних для існуючого значення параметру за замовчуванням" -#: catalog/pg_proc.c:752 +#: catalog/pg_proc.c:750 #, c-format msgid "there is no built-in function named \"%s\"" msgstr "немає вбудованої функції \"%s\"" -#: catalog/pg_proc.c:845 +#: catalog/pg_proc.c:843 #, c-format msgid "SQL functions cannot return type %s" msgstr "Функції SQL не можуть повернути тип %s" -#: catalog/pg_proc.c:860 +#: catalog/pg_proc.c:858 #, c-format msgid "SQL functions cannot have arguments of type %s" msgstr "функції SQL не можуть мати аргументи типу %s" -#: catalog/pg_proc.c:987 executor/functions.c:1466 +#: catalog/pg_proc.c:986 executor/functions.c:1468 #, c-format msgid "SQL function \"%s\"" msgstr "Функція SQL \"%s\"" -#: catalog/pg_publication.c:71 catalog/pg_publication.c:79 -#: catalog/pg_publication.c:87 catalog/pg_publication.c:93 +#: catalog/pg_publication.c:66 catalog/pg_publication.c:74 +#: catalog/pg_publication.c:82 catalog/pg_publication.c:88 #, c-format msgid "cannot add relation \"%s\" to publication" msgstr "не можна додати відношення \"%s\" до публікації" -#: catalog/pg_publication.c:81 +#: catalog/pg_publication.c:76 #, c-format msgid "This operation is not supported for system tables." msgstr "Ця операція не підтримується для системних таблиць." -#: catalog/pg_publication.c:89 +#: catalog/pg_publication.c:84 #, c-format msgid "This operation is not supported for temporary tables." msgstr "Ця операція не підтримується для тимчасових таблиць." -#: catalog/pg_publication.c:95 +#: catalog/pg_publication.c:90 #, c-format msgid "This operation is not supported for unlogged tables." msgstr "Ця операція не підтримується для таблиць без журналювання." -#: catalog/pg_publication.c:109 catalog/pg_publication.c:117 +#: catalog/pg_publication.c:104 catalog/pg_publication.c:112 #, c-format msgid "cannot add schema \"%s\" to publication" msgstr "не можна додати схему \"%s\" до публікації" -#: catalog/pg_publication.c:111 +#: catalog/pg_publication.c:106 #, c-format msgid "This operation is not supported for system schemas." msgstr "Ця операція не підтримується для системних схем." -#: catalog/pg_publication.c:119 +#: catalog/pg_publication.c:114 #, c-format msgid "Temporary schemas cannot be replicated." msgstr "Тимчасові схеми не можуть бути репліковані." -#: catalog/pg_publication.c:397 +#: catalog/pg_publication.c:392 #, c-format msgid "relation \"%s\" is already member of publication \"%s\"" msgstr "відношення \"%s\" вже є членом публікації \"%s\"" -#: catalog/pg_publication.c:539 +#: catalog/pg_publication.c:534 #, c-format msgid "cannot use system column \"%s\" in publication column list" msgstr "не можна використати системний стовпець \"%s\" у списку стовпців публікації" -#: catalog/pg_publication.c:545 +#: catalog/pg_publication.c:540 #, c-format msgid "cannot use generated column \"%s\" in publication column list" msgstr "не можна використати згенерований стовпець \"%s\" у списку стовпців публікації" -#: catalog/pg_publication.c:551 +#: catalog/pg_publication.c:546 #, c-format msgid "duplicate column \"%s\" in publication column list" msgstr "дуплікат стовпця \"%s\" в списку стовпців публікації" -#: catalog/pg_publication.c:641 +#: catalog/pg_publication.c:636 #, c-format msgid "schema \"%s\" is already member of publication \"%s\"" msgstr "схема \"%s\" вже є членом публікації \"%s\"" -#: catalog/pg_shdepend.c:830 +#: catalog/pg_shdepend.c:875 #, c-format -msgid "" -"\n" +msgid "\n" "and objects in %d other database (see server log for list)" -msgid_plural "" -"\n" +msgid_plural "\n" "and objects in %d other databases (see server log for list)" -msgstr[0] "" -"\n" +msgstr[0] "\n" "і об'єкти в %d іншій базі даних (див. список в протоколі сервера)" -msgstr[1] "" -"\n" +msgstr[1] "\n" "і об'єкти в %d інших базах даних (див. список в протоколі сервера)" -msgstr[2] "" -"\n" +msgstr[2] "\n" "і об'єкти в %d інших базах даних (див. список в протоколі сервера)" -msgstr[3] "" -"\n" +msgstr[3] "\n" "і об'єкти в %d інших базах даних (див. список в протоколі сервера)" -#: catalog/pg_shdepend.c:1177 +#: catalog/pg_shdepend.c:1222 #, c-format msgid "role %u was concurrently dropped" msgstr "роль %u було видалено паралельним способом" -#: catalog/pg_shdepend.c:1189 +#: catalog/pg_shdepend.c:1234 #, c-format msgid "tablespace %u was concurrently dropped" msgstr "табличний простір %u було видалено паралельним способом" -#: catalog/pg_shdepend.c:1203 +#: catalog/pg_shdepend.c:1248 #, c-format msgid "database %u was concurrently dropped" msgstr "базу даних %u було видалено паралельним способом" -#: catalog/pg_shdepend.c:1254 +#: catalog/pg_shdepend.c:1299 #, c-format msgid "owner of %s" msgstr "власник об'єкту %s" -#: catalog/pg_shdepend.c:1256 +#: catalog/pg_shdepend.c:1301 #, c-format msgid "privileges for %s" msgstr "права для %s" -#: catalog/pg_shdepend.c:1258 +#: catalog/pg_shdepend.c:1303 +#, c-format +msgid "initial privileges for %s" +msgstr "початкові права для %s" + +#: catalog/pg_shdepend.c:1305 #, c-format msgid "target of %s" msgstr "ціль %s" -#: catalog/pg_shdepend.c:1260 +#: catalog/pg_shdepend.c:1307 #, c-format msgid "tablespace for %s" msgstr "табличний простір для %s" #. translator: %s will always be "database %s" -#: catalog/pg_shdepend.c:1268 +#: catalog/pg_shdepend.c:1315 #, c-format msgid "%d object in %s" msgid_plural "%d objects in %s" @@ -6024,22 +6353,22 @@ msgstr[1] "%d об'єкти в %s" msgstr[2] "%d об'єктів у %s" msgstr[3] "%d об'єктів у %s" -#: catalog/pg_shdepend.c:1332 +#: catalog/pg_shdepend.c:1379 #, c-format msgid "cannot drop objects owned by %s because they are required by the database system" msgstr "не вдалося видалити об'єкти, що належать %s, оскільки вони потрібні системі бази даних" -#: catalog/pg_shdepend.c:1498 +#: catalog/pg_shdepend.c:1560 #, c-format msgid "cannot reassign ownership of objects owned by %s because they are required by the database system" msgstr "не вдалося змінити власника об'єктів, що належать ролі %s, тому що вони необхідні системі баз даних" -#: catalog/pg_subscription.c:424 +#: catalog/pg_subscription.c:438 #, c-format msgid "could not drop relation mapping for subscription \"%s\"" msgstr "не вдалося видалити зіставлення відношень для підписки \"%s\"" -#: catalog/pg_subscription.c:426 +#: catalog/pg_subscription.c:440 #, c-format msgid "Table synchronization for relation \"%s\" is in progress and is in state \"%c\"." msgstr "Синхронізація таблиць для відношення \"%s\" у процесі та знаходиться у стані \"%c\"." @@ -6047,227 +6376,227 @@ msgstr "Синхронізація таблиць для відношення \" #. translator: first %s is a SQL ALTER command and second %s is a #. SQL DROP command #. -#: catalog/pg_subscription.c:433 +#: catalog/pg_subscription.c:447 #, c-format msgid "Use %s to enable subscription if not already enabled or use %s to drop the subscription." msgstr "Використайте %s, щоб активувати підписку, якщо вона ще не активована, або використайте %s, щоб видалити підписку." -#: catalog/pg_type.c:134 catalog/pg_type.c:474 +#: catalog/pg_type.c:133 catalog/pg_type.c:474 #, c-format msgid "pg_type OID value not set when in binary upgrade mode" msgstr "значення OID в pg_type не задано в режимі двійкового оновлення" -#: catalog/pg_type.c:254 +#: catalog/pg_type.c:253 #, c-format msgid "invalid type internal size %d" msgstr "неприпустимий внутрішній розмір типу %d" -#: catalog/pg_type.c:270 catalog/pg_type.c:278 catalog/pg_type.c:286 -#: catalog/pg_type.c:295 +#: catalog/pg_type.c:269 catalog/pg_type.c:277 catalog/pg_type.c:285 +#: catalog/pg_type.c:294 #, c-format msgid "alignment \"%c\" is invalid for passed-by-value type of size %d" msgstr "вирівнювання \"%c\" недійсне для типу переданого за значенням розміром: %d" -#: catalog/pg_type.c:302 +#: catalog/pg_type.c:301 #, c-format msgid "internal size %d is invalid for passed-by-value type" msgstr "внутрішній розмір %d недійсний для типу, переданого за значенням" -#: catalog/pg_type.c:312 catalog/pg_type.c:318 +#: catalog/pg_type.c:311 catalog/pg_type.c:317 #, c-format msgid "alignment \"%c\" is invalid for variable-length type" msgstr "вирівнювання \"%c\" недійсне для типу змінної довжини" -#: catalog/pg_type.c:326 commands/typecmds.c:4146 +#: catalog/pg_type.c:325 commands/typecmds.c:4363 #, c-format msgid "fixed-size types must have storage PLAIN" msgstr "для типів фіксованого розміру застосовується лише режим зберігання PLAIN" -#: catalog/pg_type.c:955 +#: catalog/pg_type.c:978 #, c-format msgid "Failed while creating a multirange type for type \"%s\"." msgstr "Помилка під час створення багатодіапазонного типу для типу \"%s\"." -#: catalog/pg_type.c:956 +#: catalog/pg_type.c:979 #, c-format msgid "You can manually specify a multirange type name using the \"multirange_type_name\" attribute." msgstr "Ви можете вручну вказати назву багатодіапазонного типу за допомогою атрибуту \"multirange_type_name\"." -#: catalog/storage.c:505 storage/buffer/bufmgr.c:1145 +#: catalog/storage.c:508 storage/buffer/bufmgr.c:1540 #, c-format msgid "invalid page in block %u of relation %s" msgstr "неприпустима сторінка в блоці %u відношення %s" -#: commands/aggregatecmds.c:171 +#: commands/aggregatecmds.c:167 #, c-format msgid "only ordered-set aggregates can be hypothetical" msgstr "гіпотетичними можуть бути тільки впорядковані агрегати" -#: commands/aggregatecmds.c:196 +#: commands/aggregatecmds.c:192 #, c-format msgid "aggregate attribute \"%s\" not recognized" msgstr "атрибут агрегату \"%s\" не розпізнано" -#: commands/aggregatecmds.c:206 +#: commands/aggregatecmds.c:202 #, c-format msgid "aggregate stype must be specified" msgstr "у визначенні агрегату необхідно вказати stype" -#: commands/aggregatecmds.c:210 +#: commands/aggregatecmds.c:206 #, c-format msgid "aggregate sfunc must be specified" msgstr "в визначенні агрегату потребується sfunc" -#: commands/aggregatecmds.c:222 +#: commands/aggregatecmds.c:218 #, c-format msgid "aggregate msfunc must be specified when mstype is specified" msgstr "в визначенні агрегату потребується msfunc, коли mstype визначений" -#: commands/aggregatecmds.c:226 +#: commands/aggregatecmds.c:222 #, c-format msgid "aggregate minvfunc must be specified when mstype is specified" msgstr "в визначенні агрегату потребується minvfunc, коли mstype визначений" -#: commands/aggregatecmds.c:233 +#: commands/aggregatecmds.c:229 #, c-format msgid "aggregate msfunc must not be specified without mstype" msgstr "msfunc для агрегату не повинна визначатись без mstype" -#: commands/aggregatecmds.c:237 +#: commands/aggregatecmds.c:233 #, c-format msgid "aggregate minvfunc must not be specified without mstype" msgstr "minvfunc для агрегату не повинна визначатись без mstype" -#: commands/aggregatecmds.c:241 +#: commands/aggregatecmds.c:237 #, c-format msgid "aggregate mfinalfunc must not be specified without mstype" msgstr "mfinalfunc для агрегату не повинна визначатись без mstype" -#: commands/aggregatecmds.c:245 +#: commands/aggregatecmds.c:241 #, c-format msgid "aggregate msspace must not be specified without mstype" msgstr "msspace для агрегату не повинна визначатись без mstype" -#: commands/aggregatecmds.c:249 +#: commands/aggregatecmds.c:245 #, c-format msgid "aggregate minitcond must not be specified without mstype" msgstr "minitcond для агрегату не повинна визначатись без mstype" -#: commands/aggregatecmds.c:278 +#: commands/aggregatecmds.c:274 #, c-format msgid "aggregate input type must be specified" msgstr "слід указати тип агрегату вводу" -#: commands/aggregatecmds.c:308 +#: commands/aggregatecmds.c:304 #, c-format msgid "basetype is redundant with aggregate input type specification" msgstr "в визначенні агрегату з зазначенням вхідного типу не потрібен базовий тип" -#: commands/aggregatecmds.c:351 commands/aggregatecmds.c:392 +#: commands/aggregatecmds.c:347 commands/aggregatecmds.c:388 #, c-format msgid "aggregate transition data type cannot be %s" msgstr "тип даних агрегату транзакції не може бути %s" -#: commands/aggregatecmds.c:363 +#: commands/aggregatecmds.c:359 #, c-format msgid "serialization functions may be specified only when the aggregate transition data type is %s" msgstr "функції серіалізації можуть визначатись, лише коли перехідний тип даних агрегату %s" -#: commands/aggregatecmds.c:373 +#: commands/aggregatecmds.c:369 #, c-format msgid "must specify both or neither of serialization and deserialization functions" msgstr "повинні визначатись обидві або жодна з серіалізуючих та десеріалізуючих функцій" -#: commands/aggregatecmds.c:438 commands/functioncmds.c:639 +#: commands/aggregatecmds.c:434 commands/functioncmds.c:634 #, c-format msgid "parameter \"parallel\" must be SAFE, RESTRICTED, or UNSAFE" msgstr "параметр \"parallel\" має мати значення SAFE, RESTRICTED, або UNSAFE" -#: commands/aggregatecmds.c:494 +#: commands/aggregatecmds.c:490 #, c-format msgid "parameter \"%s\" must be READ_ONLY, SHAREABLE, or READ_WRITE" msgstr "параметр \"%s\" має мати значення READ_ONLY, SHAREABLE, або READ_WRITE" -#: commands/alter.c:86 commands/event_trigger.c:174 +#: commands/alter.c:82 commands/event_trigger.c:191 #, c-format msgid "event trigger \"%s\" already exists" msgstr "тригер подій \"%s\" вже існує" -#: commands/alter.c:89 commands/foreigncmds.c:593 +#: commands/alter.c:85 commands/foreigncmds.c:593 #, c-format msgid "foreign-data wrapper \"%s\" already exists" msgstr "джерело сторонніх даних \"%s\" вже існує" -#: commands/alter.c:92 commands/foreigncmds.c:884 +#: commands/alter.c:88 commands/foreigncmds.c:884 #, c-format msgid "server \"%s\" already exists" msgstr "сервер \"%s\" вже існує" -#: commands/alter.c:95 commands/proclang.c:133 +#: commands/alter.c:91 commands/proclang.c:131 #, c-format msgid "language \"%s\" already exists" msgstr "мова \"%s\" вже існує" -#: commands/alter.c:98 commands/publicationcmds.c:771 +#: commands/alter.c:94 commands/publicationcmds.c:764 #, c-format msgid "publication \"%s\" already exists" msgstr "публікація \"%s\" вже існує" -#: commands/alter.c:101 commands/subscriptioncmds.c:657 +#: commands/alter.c:97 commands/subscriptioncmds.c:669 #, c-format msgid "subscription \"%s\" already exists" msgstr "підписка \"%s\" вже існує" -#: commands/alter.c:124 +#: commands/alter.c:120 #, c-format msgid "conversion \"%s\" already exists in schema \"%s\"" msgstr "перетворення \"%s\" вже існує в схемі \"%s\"" -#: commands/alter.c:128 +#: commands/alter.c:124 #, c-format msgid "statistics object \"%s\" already exists in schema \"%s\"" msgstr "об'єкт статистики \"%s\" вже існує в схемі \"%s\"" -#: commands/alter.c:132 +#: commands/alter.c:128 #, c-format msgid "text search parser \"%s\" already exists in schema \"%s\"" msgstr "парсер текстового пошуку \"%s\" вже існує в схемі \"%s\"" -#: commands/alter.c:136 +#: commands/alter.c:132 #, c-format msgid "text search dictionary \"%s\" already exists in schema \"%s\"" msgstr "словник текстового пошуку \"%s\" вже існує в схемі \"%s\"" -#: commands/alter.c:140 +#: commands/alter.c:136 #, c-format msgid "text search template \"%s\" already exists in schema \"%s\"" msgstr "шаблон текстового пошуку \"%s\" вже існує в схемі \"%s\"" -#: commands/alter.c:144 +#: commands/alter.c:140 #, c-format msgid "text search configuration \"%s\" already exists in schema \"%s\"" msgstr "конфігурація текстового пошуку \"%s\" вже існує в схемі \"%s\"" -#: commands/alter.c:217 +#: commands/alter.c:213 #, c-format msgid "must be superuser to rename %s" msgstr "перейменувати %s може тільки суперкористувач" -#: commands/alter.c:259 commands/subscriptioncmds.c:636 -#: commands/subscriptioncmds.c:1116 commands/subscriptioncmds.c:1198 -#: commands/subscriptioncmds.c:1837 +#: commands/alter.c:255 commands/subscriptioncmds.c:648 +#: commands/subscriptioncmds.c:1129 commands/subscriptioncmds.c:1212 +#: commands/subscriptioncmds.c:1918 #, c-format msgid "password_required=false is superuser-only" msgstr "password_required=false тільки для суперкористувачів" -#: commands/alter.c:260 commands/subscriptioncmds.c:637 -#: commands/subscriptioncmds.c:1117 commands/subscriptioncmds.c:1199 -#: commands/subscriptioncmds.c:1838 +#: commands/alter.c:256 commands/subscriptioncmds.c:649 +#: commands/subscriptioncmds.c:1130 commands/subscriptioncmds.c:1213 +#: commands/subscriptioncmds.c:1919 #, 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 можуть бути створені або змінені тільки суперкористувачем." -#: commands/alter.c:775 +#: commands/alter.c:734 #, c-format msgid "must be superuser to set schema of %s" msgstr "встановити схему об'єкту %s може тільки суперкористувач" @@ -6287,8 +6616,8 @@ msgstr "Тільки суперкористувач може створити м msgid "access method \"%s\" already exists" msgstr "метод доступу \"%s\" вже існує" -#: commands/amcmds.c:154 commands/indexcmds.c:216 commands/indexcmds.c:839 -#: commands/opclasscmds.c:375 commands/opclasscmds.c:833 +#: commands/amcmds.c:154 commands/indexcmds.c:222 commands/indexcmds.c:842 +#: commands/opclasscmds.c:374 commands/opclasscmds.c:832 #, c-format msgid "access method \"%s\" does not exist" msgstr "методу доступу \"%s\" не існує" @@ -6298,114 +6627,114 @@ msgstr "методу доступу \"%s\" не існує" msgid "handler function is not specified" msgstr "функція-обробник не вказана" -#: commands/amcmds.c:264 commands/event_trigger.c:183 -#: commands/foreigncmds.c:489 commands/proclang.c:80 commands/trigger.c:709 -#: parser/parse_clause.c:941 +#: commands/amcmds.c:264 commands/event_trigger.c:200 +#: commands/foreigncmds.c:489 commands/proclang.c:78 commands/trigger.c:702 +#: parser/parse_clause.c:943 #, c-format msgid "function %s must return type %s" msgstr "функція %s повинна повертати тип %s" -#: commands/analyze.c:228 +#: commands/analyze.c:217 #, c-format msgid "skipping \"%s\" --- cannot analyze this foreign table" msgstr "пропуск об'єкту \"%s\" --- неможливо аналізувати цю сторонню таблицю" -#: commands/analyze.c:245 +#: commands/analyze.c:234 #, c-format msgid "skipping \"%s\" --- cannot analyze non-tables or special system tables" msgstr "пропуск об'єкту \"%s\" --- неможливо аналізувати не-таблиці або спеціальні системні таблиці" -#: commands/analyze.c:325 +#: commands/analyze.c:314 #, c-format msgid "analyzing \"%s.%s\" inheritance tree" msgstr "аналізується дерево наслідування \"%s.%s\"" -#: commands/analyze.c:330 +#: commands/analyze.c:319 #, c-format msgid "analyzing \"%s.%s\"" msgstr "аналіз \"%s.%s\"" -#: commands/analyze.c:395 +#: commands/analyze.c:385 #, c-format msgid "column \"%s\" of relation \"%s\" appears more than once" msgstr "стовпець \"%s\" відносно \"%s\" з'являється більше одного разу" -#: commands/analyze.c:787 +#: commands/analyze.c:785 #, c-format msgid "automatic analyze of table \"%s.%s.%s\"\n" msgstr "автоматичний аналіз таблиці \"%s.%s.%s\"\n" -#: commands/analyze.c:1334 +#: commands/analyze.c:1300 #, c-format msgid "\"%s\": scanned %d of %u pages, containing %.0f live rows and %.0f dead rows; %d rows in sample, %.0f estimated total rows" msgstr "\"%s\": проскановано %d з %u сторінок, вони містять %.0f живих рядків і %.0f мертвих рядків; %d рядків вибрані; %.0f приблизне загальне число рядків" -#: commands/analyze.c:1418 +#: commands/analyze.c:1384 #, c-format msgid "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree contains no child tables" msgstr "пропускається аналіз дерева наслідування \"%s.%s\" --- це дерево наслідування не містить дочірніх таблиць" -#: commands/analyze.c:1516 +#: commands/analyze.c:1482 #, c-format msgid "skipping analyze of \"%s.%s\" inheritance tree --- this inheritance tree contains no analyzable child tables" msgstr "пропускається аналіз дерева наслідування \"%s.%s\" --- це дерево наслідування не містить аналізуючих дочірніх таблиць" -#: commands/async.c:646 +#: commands/async.c:612 #, c-format msgid "channel name cannot be empty" msgstr "ім'я каналу не може бути пустим" -#: commands/async.c:652 +#: commands/async.c:618 #, c-format msgid "channel name too long" msgstr "ім'я каналу задовге" -#: commands/async.c:657 +#: commands/async.c:623 #, c-format msgid "payload string too long" msgstr "рядок навантаження задовгий" -#: commands/async.c:876 +#: commands/async.c:842 #, c-format msgid "cannot PREPARE a transaction that has executed LISTEN, UNLISTEN, or NOTIFY" msgstr "виконати PREPARE для транзакції, яка виконала LISTEN, UNLISTEN або NOTIFY неможливо" -#: commands/async.c:980 +#: commands/async.c:946 #, c-format msgid "too many notifications in the NOTIFY queue" msgstr "занадто багато сповіщень у черзі NOTIFY" -#: commands/async.c:1602 +#: commands/async.c:1553 #, c-format msgid "NOTIFY queue is %.0f%% full" msgstr "Черга NOTIFY заповнена на %.0f%%" -#: commands/async.c:1604 +#: commands/async.c:1555 #, c-format msgid "The server process with PID %d is among those with the oldest transactions." msgstr "Серверний процес з PID %d серед процесів з найдавнішими транзакціями." -#: commands/async.c:1607 +#: commands/async.c:1558 #, c-format msgid "The NOTIFY queue cannot be emptied until that process ends its current transaction." msgstr "Черга NOTIFY не може бути спорожненою, поки цей процес не завершить поточну транзакцію." -#: commands/cluster.c:130 +#: commands/cluster.c:128 #, c-format msgid "unrecognized CLUSTER option \"%s\"" msgstr "нерозпізнаний параметр CLUSTER \"%s\"" -#: commands/cluster.c:160 commands/cluster.c:433 +#: commands/cluster.c:159 commands/cluster.c:433 #, c-format msgid "cannot cluster temporary tables of other sessions" msgstr "не можна кластеризувати тимчасові таблиці з інших сеансів" -#: commands/cluster.c:178 +#: commands/cluster.c:177 #, c-format msgid "there is no previously clustered index for table \"%s\"" msgstr "немає попереднього кластеризованого індексу для таблиці \"%s\"" -#: commands/cluster.c:192 commands/tablecmds.c:14214 commands/tablecmds.c:16057 +#: commands/cluster.c:191 commands/tablecmds.c:14695 commands/tablecmds.c:16626 #, c-format msgid "index \"%s\" for table \"%s\" does not exist" msgstr "індекс \"%s\" для таблці \"%s\" не існує" @@ -6420,7 +6749,7 @@ msgstr "не можна кластеризувати спільний катал msgid "cannot vacuum temporary tables of other sessions" msgstr "не можна очищати тимчасові таблиці з інших сеансів" -#: commands/cluster.c:513 commands/tablecmds.c:16067 +#: commands/cluster.c:513 commands/tablecmds.c:16636 #, c-format msgid "\"%s\" is not an index for table \"%s\"" msgstr "\"%s\" не є індексом для таблиці \"%s\"" @@ -6445,62 +6774,66 @@ msgstr "неможливо кластеризувати за невірним і msgid "cannot mark index clustered in partitioned table" msgstr "неможливо помітити індекс кластеризованим в секційній таблиці" -#: commands/cluster.c:950 +#: commands/cluster.c:956 #, c-format msgid "clustering \"%s.%s\" using index scan on \"%s\"" msgstr "кластеризація \"%s.%s\" з використанням сканування індексу \"%s\"" -#: commands/cluster.c:956 +#: commands/cluster.c:962 #, c-format msgid "clustering \"%s.%s\" using sequential scan and sort" msgstr "кластеризація \"%s.%s\"з використанням послідовного сканування та сортування" -#: commands/cluster.c:961 +#: commands/cluster.c:967 #, c-format msgid "vacuuming \"%s.%s\"" msgstr "очищення \"%s.%s\"" -#: commands/cluster.c:988 +#: commands/cluster.c:994 #, c-format msgid "\"%s.%s\": found %.0f removable, %.0f nonremovable row versions in %u pages" msgstr "\"%s.%s\": знайдено версій рядків, що можуть бути видалені %.0f, що не можуть бути видалені %.0f, переглянуто сторінок %u" -#: commands/cluster.c:993 +#: commands/cluster.c:999 #, c-format -msgid "" -"%.0f dead row versions cannot be removed yet.\n" +msgid "%.0f dead row versions cannot be removed yet.\n" "%s." -msgstr "" -"%.0f \"мертві\" версії рядків досі не можуть бути видалені.\n" +msgstr "%.0f \"мертві\" версії рядків досі не можуть бути видалені.\n" "%s." -#: commands/collationcmds.c:112 +#: commands/cluster.c:1744 +#, c-format +msgid "permission denied to cluster \"%s\", skipping it" +msgstr "відмовлено в дозволі кластеру \"%s\", пропуск" + +#: commands/collationcmds.c:110 #, c-format msgid "collation attribute \"%s\" not recognized" msgstr "атрибут collation \"%s\" не розпізнаний" -#: commands/collationcmds.c:125 commands/collationcmds.c:131 -#: commands/define.c:389 commands/tablecmds.c:7884 -#: replication/pgoutput/pgoutput.c:309 replication/pgoutput/pgoutput.c:332 -#: replication/pgoutput/pgoutput.c:346 replication/pgoutput/pgoutput.c:356 -#: replication/pgoutput/pgoutput.c:366 replication/pgoutput/pgoutput.c:376 -#: replication/pgoutput/pgoutput.c:386 replication/walsender.c:996 -#: replication/walsender.c:1018 replication/walsender.c:1028 +#: commands/collationcmds.c:123 commands/collationcmds.c:129 +#: commands/define.c:388 commands/tablecmds.c:8106 +#: replication/pgoutput/pgoutput.c:307 replication/pgoutput/pgoutput.c:330 +#: replication/pgoutput/pgoutput.c:344 replication/pgoutput/pgoutput.c:354 +#: replication/pgoutput/pgoutput.c:364 replication/pgoutput/pgoutput.c:374 +#: replication/pgoutput/pgoutput.c:386 replication/walsender.c:1146 +#: replication/walsender.c:1168 replication/walsender.c:1178 +#: replication/walsender.c:1187 replication/walsender.c:1426 #, c-format msgid "conflicting or redundant options" msgstr "конфліктуючі або надлишкові параметри" -#: commands/collationcmds.c:126 +#: commands/collationcmds.c:124 #, c-format msgid "LOCALE cannot be specified together with LC_COLLATE or LC_CTYPE." msgstr "LOCALE не може вказуватись разом з LC_COLLATE або LC_CTYPE." -#: commands/collationcmds.c:132 +#: commands/collationcmds.c:130 #, c-format msgid "FROM cannot be specified together with any other options." msgstr "FROM не можна вказувати разом з будь-якими іншими параметрами." -#: commands/collationcmds.c:191 +#: commands/collationcmds.c:189 #, c-format msgid "collation \"default\" cannot be copied" msgstr "сортування \"за замовчуванням\" не може бути скопійовано" @@ -6510,100 +6843,94 @@ msgstr "сортування \"за замовчуванням\" не може msgid "unrecognized collation provider: %s" msgstr "нерозпізнаний постачальник правил сортування: %s" -#: commands/collationcmds.c:253 commands/collationcmds.c:259 -#: commands/collationcmds.c:267 +#: commands/collationcmds.c:253 commands/collationcmds.c:264 +#: commands/collationcmds.c:270 commands/collationcmds.c:278 #, c-format msgid "parameter \"%s\" must be specified" msgstr "необхідно вказати параметр \"%s\"" -#: commands/collationcmds.c:282 commands/dbcommands.c:1091 +#: commands/collationcmds.c:293 commands/dbcommands.c:1134 #, c-format msgid "using standard form \"%s\" for ICU locale \"%s\"" msgstr "використання стандартної форми \"%s\" для мови ICU \"%s\"" -#: commands/collationcmds.c:301 +#: commands/collationcmds.c:312 #, c-format msgid "nondeterministic collations not supported with this provider" msgstr "недетерміновані правила сортування не підтримуються цим провайдером" -#: commands/collationcmds.c:306 commands/dbcommands.c:1110 +#: commands/collationcmds.c:317 commands/dbcommands.c:1087 #, c-format msgid "ICU rules cannot be specified unless locale provider is ICU" msgstr "Правила ICU не можна вказати, якщо постачальник локалі не ICU" -#: commands/collationcmds.c:325 +#: commands/collationcmds.c:340 #, c-format msgid "current database's encoding is not supported with this provider" msgstr "кодування поточної бази даних не підтримується цим провайдером" -#: commands/collationcmds.c:385 +#: commands/collationcmds.c:409 #, c-format msgid "collation \"%s\" for encoding \"%s\" already exists in schema \"%s\"" msgstr "правило сортування \"%s\" для кодування \"%s\" вже існує в схемі \"%s\"" -#: commands/collationcmds.c:396 +#: commands/collationcmds.c:420 #, c-format msgid "collation \"%s\" already exists in schema \"%s\"" msgstr "правило сортування \"%s\" вже існує в схемі \"%s\"" -#: commands/collationcmds.c:421 +#: commands/collationcmds.c:445 #, c-format msgid "cannot refresh version of default collation" msgstr "оновити версію правила сортування за замовчуванням не можна" #. translator: %s is an SQL command #. translator: %s is an SQL ALTER command -#: commands/collationcmds.c:423 commands/subscriptioncmds.c:1331 -#: commands/tablecmds.c:7709 commands/tablecmds.c:7719 -#: commands/tablecmds.c:13916 commands/tablecmds.c:17196 -#: commands/tablecmds.c:17217 commands/typecmds.c:3637 commands/typecmds.c:3720 -#: commands/typecmds.c:4013 +#: commands/collationcmds.c:447 commands/subscriptioncmds.c:1376 +#: commands/tablecmds.c:7882 commands/tablecmds.c:7892 +#: commands/tablecmds.c:7894 commands/tablecmds.c:14397 +#: commands/tablecmds.c:17774 commands/tablecmds.c:17795 +#: commands/typecmds.c:3787 commands/typecmds.c:3872 commands/typecmds.c:4226 #, c-format msgid "Use %s instead." msgstr "Використайте %s замість цього." -#: commands/collationcmds.c:451 commands/dbcommands.c:2488 +#: commands/collationcmds.c:480 commands/dbcommands.c:2567 #, c-format msgid "changing version from %s to %s" msgstr "зміна версії з %s на %s" -#: commands/collationcmds.c:466 commands/dbcommands.c:2501 +#: commands/collationcmds.c:495 commands/dbcommands.c:2580 #, c-format msgid "version has not changed" msgstr "версію не змінено" -#: commands/collationcmds.c:499 commands/dbcommands.c:2667 +#: commands/collationcmds.c:528 commands/dbcommands.c:2746 #, c-format msgid "database with OID %u does not exist" msgstr "база даних з OID %u не існує" -#: commands/collationcmds.c:520 +#: commands/collationcmds.c:554 #, c-format msgid "collation with OID %u does not exist" msgstr "порядку сортування %u з OID не існує" -#: commands/collationcmds.c:808 +#: commands/collationcmds.c:848 #, c-format msgid "must be superuser to import system collations" msgstr "імпортувати систмені правила сортування може тільки суперкористувач" -#: commands/collationcmds.c:836 commands/copyfrom.c:1671 commands/copyto.c:656 -#: libpq/be-secure-common.c:59 -#, c-format -msgid "could not execute command \"%s\": %m" -msgstr "не вдалося виконати команду \"%s\": %m" - -#: commands/collationcmds.c:928 commands/collationcmds.c:1013 +#: commands/collationcmds.c:968 commands/collationcmds.c:1053 #, c-format msgid "no usable system locales were found" msgstr "придатні системні локалі не знайдені" -#: commands/comment.c:61 commands/dbcommands.c:1612 commands/dbcommands.c:1824 -#: commands/dbcommands.c:1934 commands/dbcommands.c:2132 -#: commands/dbcommands.c:2370 commands/dbcommands.c:2461 -#: commands/dbcommands.c:2571 commands/dbcommands.c:3071 -#: utils/init/postinit.c:1021 utils/init/postinit.c:1085 -#: utils/init/postinit.c:1157 +#: commands/comment.c:61 commands/dbcommands.c:1665 commands/dbcommands.c:1892 +#: commands/dbcommands.c:2002 commands/dbcommands.c:2200 +#: commands/dbcommands.c:2438 commands/dbcommands.c:2529 +#: commands/dbcommands.c:2650 commands/dbcommands.c:3158 +#: utils/init/postinit.c:1033 utils/init/postinit.c:1097 +#: utils/init/postinit.c:1170 #, c-format msgid "database \"%s\" does not exist" msgstr "бази даних \"%s\" не існує" @@ -6613,309 +6940,264 @@ msgstr "бази даних \"%s\" не існує" msgid "cannot set comment on relation \"%s\"" msgstr "встановити коментар для відношення \"%s\" не можна" -#: commands/constraint.c:63 utils/adt/ri_triggers.c:2028 +#: commands/constraint.c:61 utils/adt/ri_triggers.c:2019 #, c-format msgid "function \"%s\" was not called by trigger manager" msgstr "функція \"%s\" не була викликана менеджером тригерів" -#: commands/constraint.c:70 utils/adt/ri_triggers.c:2037 +#: commands/constraint.c:68 utils/adt/ri_triggers.c:2028 #, c-format msgid "function \"%s\" must be fired AFTER ROW" msgstr "функція \"%s\" повинна запускатися в AFTER ROW" -#: commands/constraint.c:84 +#: commands/constraint.c:82 #, c-format msgid "function \"%s\" must be fired for INSERT or UPDATE" msgstr "функція \"%s\" повинна запускатися для INSERT або UPDATE" -#: commands/conversioncmds.c:69 +#: commands/conversioncmds.c:62 #, c-format msgid "source encoding \"%s\" does not exist" msgstr "вихідного кодування \"%s\" не існує" -#: commands/conversioncmds.c:76 +#: commands/conversioncmds.c:69 #, c-format msgid "destination encoding \"%s\" does not exist" msgstr "цільового кодування \"%s\" не існує" -#: commands/conversioncmds.c:89 +#: commands/conversioncmds.c:82 #, c-format msgid "encoding conversion to or from \"SQL_ASCII\" is not supported" msgstr "перетворення кодування в або з \"SQL_ASCII\" не підтримується" -#: commands/conversioncmds.c:102 +#: commands/conversioncmds.c:95 #, c-format msgid "encoding conversion function %s must return type %s" msgstr "функція перетворення кодування %s повинна повертати тип %s" -#: commands/conversioncmds.c:132 +#: commands/conversioncmds.c:125 #, c-format msgid "encoding conversion function %s returned incorrect result for empty input" msgstr "функція перетворення кодування %s повернула неправильний результат для порожнього вводу" -#: commands/copy.c:86 +#: commands/copy.c:84 #, c-format msgid "permission denied to COPY to or from an external program" msgstr "немає дозволу для COPY в або з зовнішньої програми" -#: commands/copy.c:87 +#: commands/copy.c:85 #, c-format msgid "Only roles with privileges of the \"%s\" role may COPY to or from an external program." msgstr "Тільки ролі з правами \"%s\" можуть виконувати COPY з зовнішньою програмою." -#: commands/copy.c:89 commands/copy.c:100 commands/copy.c:109 +#: commands/copy.c:87 commands/copy.c:98 commands/copy.c:107 #, c-format msgid "Anyone can COPY to stdout or from stdin. psql's \\copy command also works for anyone." msgstr "Будь-хто може використати COPY to stdout або from stdin, а також команду psql \\copy." -#: commands/copy.c:97 +#: commands/copy.c:95 #, c-format msgid "permission denied to COPY from a file" msgstr "немає дозволу для COPY з файлу" -#: commands/copy.c:98 +#: commands/copy.c:96 #, c-format msgid "Only roles with privileges of the \"%s\" role may COPY from a file." msgstr "Тільки ролі з правами \"%s\" можуть виконувати COPY з файлу." -#: commands/copy.c:106 +#: commands/copy.c:104 #, c-format msgid "permission denied to COPY to a file" msgstr "немає дозволу для COPY в файл" -#: commands/copy.c:107 +#: commands/copy.c:105 #, c-format msgid "Only roles with privileges of the \"%s\" role may COPY to a file." msgstr "Тільки ролі з правами \"%s\" можуть виконувати COPY в файл." -#: commands/copy.c:195 +#: commands/copy.c:193 #, c-format msgid "COPY FROM not supported with row-level security" msgstr "COPY FROM не підтримується із захистом на рівні рядків" -#: commands/copy.c:196 +#: commands/copy.c:194 #, c-format msgid "Use INSERT statements instead." msgstr "Використайте оператори INSERT замість цього." -#: commands/copy.c:290 -#, c-format -msgid "MERGE not supported in COPY" -msgstr "COPY не підтримує MERGE" - -#: commands/copy.c:383 +#: commands/copy.c:375 #, c-format msgid "cannot use \"%s\" with HEADER in COPY TO" msgstr "використовувати \"%s\" з HEADER в COPY TO не можна" -#: commands/copy.c:392 +#: commands/copy.c:384 #, c-format msgid "%s requires a Boolean value or \"match\"" msgstr "%s потребує Boolean або \"відповідність\"" -#: commands/copy.c:451 +#. 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:796 +#: commands/copy.c:811 commands/copy.c:837 commands/copy.c:847 +#, 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 +#, c-format +msgid "COPY %s \"%s\" not recognized" +msgstr "COPY %s \"%s\" не розпізнано" + +#: commands/copy.c:502 #, c-format msgid "COPY format \"%s\" not recognized" msgstr "Формат \"%s\" для COPY не розпізнано" -#: commands/copy.c:509 commands/copy.c:522 commands/copy.c:535 -#: commands/copy.c:554 +#: commands/copy.c:560 commands/copy.c:575 commands/copy.c:590 +#: commands/copy.c:609 #, c-format msgid "argument to option \"%s\" must be a list of column names" msgstr "аргументом функції \"%s\" повинен бути список імен стовпців" -#: commands/copy.c:566 +#: commands/copy.c:621 #, c-format msgid "argument to option \"%s\" must be a valid encoding name" msgstr "аргументом функції \"%s\" повинне бути припустиме ім'я коду" -#: commands/copy.c:573 commands/dbcommands.c:859 commands/dbcommands.c:2318 +#: commands/copy.c:642 commands/dbcommands.c:866 commands/dbcommands.c:2386 #, c-format msgid "option \"%s\" not recognized" msgstr "параметр \"%s\" не розпізнано" -#: commands/copy.c:585 -#, c-format -msgid "cannot specify DELIMITER in BINARY mode" -msgstr "неможливо визначити DELIMITER в режимі BINARY" - -#: commands/copy.c:590 +#. 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 #, c-format -msgid "cannot specify NULL in BINARY mode" -msgstr "неможливо визначити NULL в режимі BINARY" +msgid "cannot specify %s in BINARY mode" +msgstr "не можна вказати %s в режимі BINARY" -#: commands/copy.c:595 +#: commands/copy.c:670 #, c-format -msgid "cannot specify DEFAULT in BINARY mode" -msgstr "в режимі BINARY не можна визначити DEFAULT" +msgid "only ON_ERROR STOP is allowed in BINARY mode" +msgstr "в режимі BINARY допускається лише ON_ERROR STOP" -#: commands/copy.c:617 +#: commands/copy.c:692 #, c-format msgid "COPY delimiter must be a single one-byte character" msgstr "роздільник для COPY повинен бути однобайтовим символом" -#: commands/copy.c:624 +#: commands/copy.c:699 #, c-format msgid "COPY delimiter cannot be newline or carriage return" msgstr "Роздільник для COPY не може бути символом нового рядка або повернення каретки" -#: commands/copy.c:630 +#: commands/copy.c:705 #, c-format msgid "COPY null representation cannot use newline or carriage return" msgstr "Подання NULL для COPY не може включати символ нового рядка або повернення каретки" -#: commands/copy.c:640 +#: commands/copy.c:715 #, c-format msgid "COPY default representation cannot use newline or carriage return" msgstr "Подання для COPY за замовчуванням не може включати символ нового рядка або повернення каретки" -#: commands/copy.c:658 +#: commands/copy.c:733 #, c-format msgid "COPY delimiter cannot be \"%s\"" msgstr "роздільник COPY не може бути \"%s\"" -#: commands/copy.c:664 +#. 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:790 commands/copy.c:804 #, c-format -msgid "cannot specify HEADER in BINARY mode" -msgstr "не можна вказати HEADER у режимі BINARY" +msgid "COPY %s requires CSV mode" +msgstr "Для COPY %s потрібен режим CSV" -#: commands/copy.c:670 -#, c-format -msgid "COPY quote available only in CSV mode" -msgstr "лапки для COPY доустпні тільки в режимі CSV" - -#: commands/copy.c:675 +#: commands/copy.c:752 #, c-format msgid "COPY quote must be a single one-byte character" msgstr "лапки для COPY повинні бути однобайтовим символом" -#: commands/copy.c:680 +#: commands/copy.c:757 #, c-format msgid "COPY delimiter and quote must be different" msgstr "роздільник і лапки для COPY повинні бути різними" -#: commands/copy.c:686 -#, c-format -msgid "COPY escape available only in CSV mode" -msgstr "вихід для COPY доступний тільки в режимі CSV" - -#: commands/copy.c:691 +#: commands/copy.c:769 #, c-format msgid "COPY escape must be a single one-byte character" msgstr "вихід для COPY повинен бути однобайтовим символом" -#: commands/copy.c:697 -#, c-format -msgid "COPY force quote available only in CSV mode" -msgstr "Параметр force quote для COPY можна використати тільки в режимі CSV" - -#: commands/copy.c:701 -#, c-format -msgid "COPY force quote only available using COPY TO" -msgstr "Параметр force quote для COPY можна використати тільки з COPY TO" - -#: commands/copy.c:707 -#, c-format -msgid "COPY force not null available only in CSV mode" -msgstr "Параметр force not null для COPY можна використати тільки в режимі CSV" - -#: commands/copy.c:711 -#, c-format -msgid "COPY force not null only available using COPY FROM" -msgstr "Параметр force not null для COPY можна використати тільки з COPY FROM" - -#: commands/copy.c:717 -#, c-format -msgid "COPY force null available only in CSV mode" -msgstr "Параметр force null для COPY можна використати тільки в режимі CSV" - -#: commands/copy.c:722 -#, c-format -msgid "COPY force null only available using COPY FROM" -msgstr "Параметр force null only для COPY можна використати тільки з COPY FROM" - -#: commands/copy.c:728 -#, c-format -msgid "COPY delimiter must not appear in the NULL specification" -msgstr "роздільник COPY не повинен з'являтися у специфікації NULL" - -#: commands/copy.c:735 -#, c-format -msgid "CSV quote character must not appear in the NULL specification" -msgstr "лапки CSV не повинні з'являтися у специфікації NULL" - -#: commands/copy.c:742 -#, c-format -msgid "COPY DEFAULT only available using COPY FROM" -msgstr "COPY DEFAULT тільки для COPY FROM" - -#: commands/copy.c:748 +#. translator: %s is the name of a COPY option, e.g. NULL +#: commands/copy.c:819 commands/copy.c:855 #, c-format -msgid "COPY delimiter must not appear in the DEFAULT specification" -msgstr "роздільник COPY не повинен з'являтися у специфікації DEFAULT" +msgid "COPY delimiter character must not appear in the %s specification" +msgstr "символ розділювача для COPY не повинен з'являтися в специфікації %s" -#: commands/copy.c:755 +#. translator: %s is the name of a COPY option, e.g. NULL +#: commands/copy.c:828 commands/copy.c:864 #, c-format -msgid "CSV quote character must not appear in the DEFAULT specification" -msgstr "лапки CSV не повинні з'являтися у специфікації DEFAULT" +msgid "CSV quote character must not appear in the %s specification" +msgstr "лапки CSV не повинні з'являтися у специфікації %s" -#: commands/copy.c:763 +#: commands/copy.c:873 #, c-format msgid "NULL specification and DEFAULT specification cannot be the same" msgstr "Специфікація NULL і специфікація DEFAULT не може співпадати" -#: commands/copy.c:825 +#: commands/copy.c:935 #, c-format msgid "column \"%s\" is a generated column" msgstr "стовпець \"%s\" є згенерованим стовпцем" -#: commands/copy.c:827 +#: commands/copy.c:937 #, c-format msgid "Generated columns cannot be used in COPY." msgstr "Згенеровані стовпці не можна використовувати в COPY." -#: commands/copy.c:842 commands/indexcmds.c:1886 commands/statscmds.c:242 -#: commands/tablecmds.c:2405 commands/tablecmds.c:3127 -#: commands/tablecmds.c:3626 parser/parse_relation.c:3689 -#: parser/parse_relation.c:3699 parser/parse_relation.c:3717 -#: parser/parse_relation.c:3724 parser/parse_relation.c:3738 -#: utils/adt/tsvector_op.c:2855 +#: commands/copy.c:952 commands/indexcmds.c:1917 commands/statscmds.c:239 +#: commands/tablecmds.c:2509 commands/tablecmds.c:2980 +#: commands/tablecmds.c:3788 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:849 commands/tablecmds.c:2431 commands/trigger.c:958 -#: parser/parse_target.c:1070 parser/parse_target.c:1081 +#: commands/copy.c:959 commands/tablecmds.c:2535 commands/trigger.c:951 +#: parser/parse_target.c:1083 parser/parse_target.c:1094 #, c-format msgid "column \"%s\" specified more than once" msgstr "стовпець \"%s\" вказано більше чим один раз" -#: commands/copyfrom.c:122 +#: commands/copyfrom.c:118 #, c-format msgid "COPY %s" msgstr "COPY %s" -#: commands/copyfrom.c:130 +#: commands/copyfrom.c:126 #, c-format msgid "COPY %s, line %llu, column %s" msgstr "COPY %s, рядок %llu, стовпець %s" -#: commands/copyfrom.c:135 commands/copyfrom.c:181 +#: commands/copyfrom.c:131 commands/copyfrom.c:177 #, c-format msgid "COPY %s, line %llu" msgstr "COPY %s, рядок %llu" -#: commands/copyfrom.c:147 +#: commands/copyfrom.c:143 #, c-format msgid "COPY %s, line %llu, column %s: \"%s\"" msgstr "COPY %s, рядок %llu, стовпець %s: \"%s\"" -#: commands/copyfrom.c:157 +#: commands/copyfrom.c:153 #, c-format msgid "COPY %s, line %llu, column %s: null input" msgstr "COPY %s, рядок %llu, стовпець %s: null введення" -#: commands/copyfrom.c:174 +#: commands/copyfrom.c:170 #, c-format msgid "COPY %s, line %llu: \"%s\"" msgstr "COPY %s, рядок %llu: \"%s\"" @@ -6960,37 +7242,43 @@ msgstr "виконати COPY FREEZE через попередню активн msgid "cannot perform COPY FREEZE because the table was not created or truncated in the current subtransaction" msgstr "не можна виконати COPY FREEZE, тому, що таблиця не була створена або скорочена в поточній підтранзакції" -#: commands/copyfrom.c:1414 +#: commands/copyfrom.c:1313 #, c-format -msgid "FORCE_NOT_NULL column \"%s\" not referenced by COPY" -msgstr "Стовпець FORCE_NOT_NULL \"%s\" не фігурує в COPY" +msgid "%llu row was skipped due to data type incompatibility" +msgid_plural "%llu rows were skipped due to data type incompatibility" +msgstr[0] "Рядок %llu пропущено через несумісність типів даних" +msgstr[1] "Рядки %llu пропущено через несумісність типів даних" +msgstr[2] "Рядки %llu пропущено через несумісність типів даних" +msgstr[3] "Рядки %llu пропущено через несумісність типів даних" -#: commands/copyfrom.c:1437 +#. translator: first %s is the name of a COPY option, e.g. FORCE_NOT_NULL +#. translator: %s is the name of a COPY option, e.g. FORCE_NOT_NULL +#: commands/copyfrom.c:1448 commands/copyfrom.c:1491 commands/copyto.c:597 #, c-format -msgid "FORCE_NULL column \"%s\" not referenced by COPY" -msgstr "Стовпець FORCE_NULL \"%s\" не фігурує в COPY" +msgid "%s column \"%s\" not referenced by COPY" +msgstr "%s стовпець \"%s\" не фігурує в COPY" -#: commands/copyfrom.c:1490 utils/mb/mbutils.c:386 +#: commands/copyfrom.c:1544 utils/mb/mbutils.c:385 #, c-format msgid "default conversion function for encoding \"%s\" to \"%s\" does not exist" msgstr "функції за замовчуванням перетворення з кодування \"%s\" в \"%s\" не існує" -#: commands/copyfrom.c:1690 +#: commands/copyfrom.c:1742 #, c-format msgid "COPY FROM instructs the PostgreSQL server process to read a file. You may want a client-side facility such as psql's \\copy." msgstr "COPY FROM наказує серверному процесу PostgreSQL прочитати дані з файлу. Можливо, вам потрібна клієнтська команда, наприклад \\copy в psql." -#: commands/copyfrom.c:1703 commands/copyto.c:708 +#: commands/copyfrom.c:1755 commands/copyto.c:702 #, c-format msgid "\"%s\" is a directory" msgstr "\"%s\" - каталог" -#: commands/copyfrom.c:1771 commands/copyto.c:306 libpq/be-secure-common.c:83 +#: commands/copyfrom.c:1823 commands/copyto.c:299 libpq/be-secure-common.c:83 #, c-format msgid "could not close pipe to external command: %m" msgstr "не вдалося закрити канал за допомогою зовнішньої команди: %m" -#: commands/copyfrom.c:1786 commands/copyto.c:311 +#: commands/copyfrom.c:1838 commands/copyto.c:304 #, c-format msgid "program \"%s\" failed" msgstr "збій програми \"%s\"" @@ -7031,17 +7319,17 @@ msgid "could not read from COPY file: %m" msgstr "не вдалося прочитати файл COPY: %m" #: commands/copyfromparse.c:278 commands/copyfromparse.c:303 -#: tcop/postgres.c:377 +#: replication/walsender.c:756 replication/walsender.c:782 tcop/postgres.c:381 #, c-format msgid "unexpected EOF on client connection with an open transaction" msgstr "неочікуваний обрив з'єднання з клієнтом при відкритій транзакції" -#: commands/copyfromparse.c:294 +#: commands/copyfromparse.c:294 replication/walsender.c:772 #, c-format msgid "unexpected message type 0x%02X during COPY from stdin" msgstr "неочікуваний тип повідомлення 0x%02X під час COPY з stdin" -#: commands/copyfromparse.c:317 +#: commands/copyfromparse.c:317 replication/walsender.c:803 #, c-format msgid "COPY from stdin failed: %s" msgstr "помилка при stdin COPY: %s" @@ -7061,8 +7349,8 @@ msgstr "невідповідність назви стовпця в полі з msgid "column name mismatch in header line field %d: got \"%s\", expected \"%s\"" msgstr "невідповідність назви стовпця в полі заголовку %d: отримано \"%s\", очікувалось \"%s\"" -#: commands/copyfromparse.c:892 commands/copyfromparse.c:1512 -#: commands/copyfromparse.c:1768 +#: commands/copyfromparse.c:892 commands/copyfromparse.c:1554 +#: commands/copyfromparse.c:1810 #, c-format msgid "extra data after last expected column" msgstr "зайві дані після вмісту останнього стовпця" @@ -7072,465 +7360,481 @@ msgstr "зайві дані після вмісту останнього сто msgid "missing data for column \"%s\"" msgstr "відсутні дані для стовпця \"%s\"" -#: commands/copyfromparse.c:999 +#: commands/copyfromparse.c:990 +#, c-format +msgid "skipping row due to data type incompatibility at line %llu for column \"%s\": \"%s\"" +msgstr "пропуск рядка через несумісність типів даних в рядку %llu для стовпця \"%s\": \"%s\"" + +#: commands/copyfromparse.c:998 +#, c-format +msgid "skipping row due to data type incompatibility at line %llu for column \"%s\": null input" +msgstr "пропуск рядка через несумісність типів даних в рядку %llu для стовпця \"%s\": значення null" + +#: commands/copyfromparse.c:1044 #, c-format msgid "received copy data after EOF marker" msgstr "після маркера кінця файлу продовжуються дані COPY" -#: commands/copyfromparse.c:1006 +#: commands/copyfromparse.c:1051 #, c-format msgid "row field count is %d, expected %d" msgstr "кількість полів у рядку: %d, очікувалось: %d" -#: commands/copyfromparse.c:1294 commands/copyfromparse.c:1311 +#: commands/copyfromparse.c:1336 commands/copyfromparse.c:1353 #, c-format msgid "literal carriage return found in data" msgstr "в даних виявлено явне повернення каретки" -#: commands/copyfromparse.c:1295 commands/copyfromparse.c:1312 +#: commands/copyfromparse.c:1337 commands/copyfromparse.c:1354 #, c-format msgid "unquoted carriage return found in data" msgstr "в даних виявлено повернення каретки без лапок" -#: commands/copyfromparse.c:1297 commands/copyfromparse.c:1314 +#: commands/copyfromparse.c:1339 commands/copyfromparse.c:1356 #, c-format msgid "Use \"\\r\" to represent carriage return." msgstr "Використайте \"\\r\", щоб позначити повернення каретки." -#: commands/copyfromparse.c:1298 commands/copyfromparse.c:1315 +#: commands/copyfromparse.c:1340 commands/copyfromparse.c:1357 #, c-format msgid "Use quoted CSV field to represent carriage return." msgstr "Використайте CSV в лапках, щоб позначити повернення каретки." -#: commands/copyfromparse.c:1327 +#: commands/copyfromparse.c:1369 #, c-format msgid "literal newline found in data" msgstr "в даних знайдено явний новий рядок" -#: commands/copyfromparse.c:1328 +#: commands/copyfromparse.c:1370 #, c-format msgid "unquoted newline found in data" msgstr "в даних знайдено новий рядок без лапок" -#: commands/copyfromparse.c:1330 +#: commands/copyfromparse.c:1372 #, c-format msgid "Use \"\\n\" to represent newline." msgstr "Використайте \"\\n\", щоб представити новий рядок." -#: commands/copyfromparse.c:1331 +#: commands/copyfromparse.c:1373 #, c-format msgid "Use quoted CSV field to represent newline." msgstr "Використайте CSV в лапках, щоб позначити новий рядок." -#: commands/copyfromparse.c:1377 commands/copyfromparse.c:1413 +#: commands/copyfromparse.c:1419 commands/copyfromparse.c:1455 #, c-format msgid "end-of-copy marker does not match previous newline style" msgstr "маркер \"кінець копії\" не відповідає попередньому стилю нового рядка" -#: commands/copyfromparse.c:1386 commands/copyfromparse.c:1402 +#: commands/copyfromparse.c:1428 commands/copyfromparse.c:1444 #, c-format msgid "end-of-copy marker corrupt" msgstr "маркер \"кінець копії\" зіпсований" -#: commands/copyfromparse.c:1704 commands/copyfromparse.c:1919 +#: commands/copyfromparse.c:1746 commands/copyfromparse.c:1961 #, c-format msgid "unexpected default marker in COPY data" msgstr "неочікуваний маркер за замовчуванням в даних COPY" -#: commands/copyfromparse.c:1705 commands/copyfromparse.c:1920 +#: commands/copyfromparse.c:1747 commands/copyfromparse.c:1962 #, c-format msgid "Column \"%s\" has no default value." msgstr "Колонка \"%s\" не має значення за замовчуванням." -#: commands/copyfromparse.c:1852 +#: commands/copyfromparse.c:1894 #, c-format msgid "unterminated CSV quoted field" msgstr "незакінчене поле в лапках CSV" -#: commands/copyfromparse.c:1954 commands/copyfromparse.c:1973 +#: commands/copyfromparse.c:1996 commands/copyfromparse.c:2015 #, c-format msgid "unexpected EOF in COPY data" msgstr "неочікуваний кінец файлу в даних COPY" -#: commands/copyfromparse.c:1963 +#: commands/copyfromparse.c:2005 #, c-format msgid "invalid field size" msgstr "невірний розмір поля" -#: commands/copyfromparse.c:1986 +#: commands/copyfromparse.c:2028 #, c-format msgid "incorrect binary data format" msgstr "невірний двійковий формат даних" -#: commands/copyto.c:236 +#: commands/copyto.c:229 #, c-format msgid "could not write to COPY program: %m" msgstr "не вдалося записати в канал програми COPY: %m" -#: commands/copyto.c:241 +#: commands/copyto.c:234 #, c-format msgid "could not write to COPY file: %m" msgstr "не можливо записати в файл COPY: %m" -#: commands/copyto.c:386 +#: commands/copyto.c:379 #, c-format msgid "cannot copy from view \"%s\"" msgstr "неможливо скопіювати з подання \"%s\"" -#: commands/copyto.c:388 commands/copyto.c:394 commands/copyto.c:400 -#: commands/copyto.c:411 +#: commands/copyto.c:381 commands/copyto.c:387 commands/copyto.c:393 +#: commands/copyto.c:404 #, c-format msgid "Try the COPY (SELECT ...) TO variant." msgstr "Спробуйте варіацію COPY (SELECT ...) TO." -#: commands/copyto.c:392 +#: commands/copyto.c:385 #, c-format msgid "cannot copy from materialized view \"%s\"" msgstr "неможливо скопіювати з матеріалізованого подання \"%s\"" -#: commands/copyto.c:398 +#: commands/copyto.c:391 #, c-format msgid "cannot copy from foreign table \"%s\"" msgstr "неможливо скопіювати зі сторонньої таблиці \"%s\"" -#: commands/copyto.c:404 +#: commands/copyto.c:397 #, c-format msgid "cannot copy from sequence \"%s\"" msgstr "не вдалося скопіювати з послідовності \"%s\"" -#: commands/copyto.c:409 +#: commands/copyto.c:402 #, c-format msgid "cannot copy from partitioned table \"%s\"" msgstr "неможливо скопіювати з секційної таблиці \"%s\"" -#: commands/copyto.c:415 +#: commands/copyto.c:408 #, c-format msgid "cannot copy from non-table relation \"%s\"" msgstr "не можна копіювати з відношення \"%s\", котре не є таблицею" -#: commands/copyto.c:467 +#: commands/copyto.c:460 #, c-format msgid "DO INSTEAD NOTHING rules are not supported for COPY" msgstr "правила DO INSTEAD NOTHING не підтримуються для COPY" -#: commands/copyto.c:481 +#: commands/copyto.c:474 #, c-format msgid "conditional DO INSTEAD rules are not supported for COPY" msgstr "умовні правила DO INSTEAD не підтримуються для COPY" -#: commands/copyto.c:485 +#: commands/copyto.c:478 #, c-format msgid "DO ALSO rules are not supported for the COPY" msgstr "правила DO ALSO не підтримуються для COPY" -#: commands/copyto.c:490 +#: commands/copyto.c:483 #, c-format msgid "multi-statement DO INSTEAD rules are not supported for COPY" msgstr "складові правила DO INSTEAD не підтримуються з COPY" -#: commands/copyto.c:500 +#: commands/copyto.c:493 #, c-format msgid "COPY (SELECT INTO) is not supported" msgstr "COPY (SELECT INTO) не підтримується" -#: commands/copyto.c:517 +#: commands/copyto.c:511 #, c-format msgid "COPY query must have a RETURNING clause" msgstr "В запиті COPY повинно бути речення RETURNING" -#: commands/copyto.c:546 +#: commands/copyto.c:540 #, c-format msgid "relation referenced by COPY statement has changed" msgstr "відношення, згадане в операторі COPY, змінилось" -#: commands/copyto.c:605 -#, c-format -msgid "FORCE_QUOTE column \"%s\" not referenced by COPY" -msgstr "Стовпець FORCE_QUOTE \"%s\" не фігурує в COPY" - -#: commands/copyto.c:673 +#: commands/copyto.c:667 #, c-format msgid "relative path not allowed for COPY to file" msgstr "при виконанні COPY в файл не можна вказувати відносний шлях" -#: commands/copyto.c:692 +#: commands/copyto.c:686 #, c-format msgid "could not open file \"%s\" for writing: %m" msgstr "не вдалося відкрити файл \"%s\" для запису: %m" -#: commands/copyto.c:695 +#: commands/copyto.c:689 #, c-format msgid "COPY TO instructs the PostgreSQL server process to write a file. You may want a client-side facility such as psql's \\copy." msgstr "COPY TO наказує серверному процесу PostgreSQL записати дані до файлу. Можливо, вам потрібна клієнтська команда, наприклад \\copy в psql." -#: commands/createas.c:215 commands/createas.c:523 +#: commands/createas.c:210 commands/createas.c:516 #, c-format msgid "too many column names were specified" msgstr "вказано забагато імен стовпців" -#: commands/createas.c:546 +#: commands/createas.c:539 #, c-format msgid "policies not yet implemented for this command" msgstr "політики для цієї команди все ще не реалізовані" -#: commands/dbcommands.c:822 +#: commands/dbcommands.c:829 #, c-format msgid "LOCATION is not supported anymore" msgstr "LOCATION більше не підтримується" -#: commands/dbcommands.c:823 +#: commands/dbcommands.c:830 #, c-format msgid "Consider using tablespaces instead." msgstr "Розгляньте можливість використання табличних просторів." -#: commands/dbcommands.c:848 +#: commands/dbcommands.c:855 #, c-format msgid "OIDs less than %u are reserved for system objects" msgstr "OID котрі менше ніж %u, зарезервовані для системних об'єктів" -#: commands/dbcommands.c:879 utils/adt/ascii.c:146 +#: commands/dbcommands.c:886 utils/adt/ascii.c:146 #, c-format msgid "%d is not a valid encoding code" msgstr "%d не є вірним кодом кодування" -#: commands/dbcommands.c:890 utils/adt/ascii.c:128 +#: commands/dbcommands.c:897 utils/adt/ascii.c:128 #, c-format msgid "%s is not a valid encoding name" msgstr "%s не є вірним ім'ям кодування" -#: commands/dbcommands.c:919 +#: commands/dbcommands.c:931 #, c-format msgid "unrecognized locale provider: %s" msgstr "нерозпізнаний постачальник локалів: %s" -#: commands/dbcommands.c:932 commands/dbcommands.c:2351 commands/user.c:300 -#: commands/user.c:740 +#: commands/dbcommands.c:944 commands/dbcommands.c:2419 commands/user.c:299 +#: commands/user.c:739 #, c-format msgid "invalid connection limit: %d" msgstr "недійсний ліміт з'єднання: %d" -#: commands/dbcommands.c:953 +#: commands/dbcommands.c:965 #, c-format msgid "permission denied to create database" msgstr "немає дозволу для створення бази даних" -#: commands/dbcommands.c:977 +#: commands/dbcommands.c:989 #, c-format msgid "template database \"%s\" does not exist" msgstr "шаблону бази даних \"%s\" не існує" -#: commands/dbcommands.c:987 +#: commands/dbcommands.c:999 #, c-format msgid "cannot use invalid database \"%s\" as template" msgstr "не можна використовувати невірну базу даних \"%s\" в якості шаблону" -#: commands/dbcommands.c:988 commands/dbcommands.c:2380 -#: utils/init/postinit.c:1100 +#: commands/dbcommands.c:1000 commands/dbcommands.c:2448 +#: utils/init/postinit.c:1112 #, c-format msgid "Use DROP DATABASE to drop invalid databases." msgstr "Використайте DROP DATABASE для видалення невірних баз даних." -#: commands/dbcommands.c:999 +#: commands/dbcommands.c:1011 #, c-format msgid "permission denied to copy database \"%s\"" msgstr "немає дозволу для копіювання бази даних \"%s\"" -#: commands/dbcommands.c:1016 +#: commands/dbcommands.c:1028 #, c-format msgid "invalid create database strategy \"%s\"" msgstr "неприпустима стратегія створення бази даних \"%s\"" -#: commands/dbcommands.c:1017 +#: commands/dbcommands.c:1029 #, c-format -msgid "Valid strategies are \"wal_log\", and \"file_copy\"." -msgstr "Припустимі стратегії: \"wal_log\" і \"file_copy\"." +msgid "Valid strategies are \"wal_log\" and \"file_copy\"." +msgstr "Припустимі стратегії - це \"wal_log\" і \"file_copy\"." -#: commands/dbcommands.c:1043 +#: commands/dbcommands.c:1050 #, c-format msgid "invalid server encoding %d" msgstr "недійсний сервер кодування %d" -#: commands/dbcommands.c:1049 +#: commands/dbcommands.c:1056 #, c-format msgid "invalid LC_COLLATE locale name: \"%s\"" msgstr "неприпустиме ім'я локалі LC_COLLATE: \"%s\"" -#: commands/dbcommands.c:1050 commands/dbcommands.c:1056 +#: commands/dbcommands.c:1057 commands/dbcommands.c:1063 #, c-format msgid "If the locale name is specific to ICU, use ICU_LOCALE." msgstr "Якщо ім'я локалі характерне для ICU, використовуйте ICU_LOCALE." -#: commands/dbcommands.c:1055 +#: commands/dbcommands.c:1062 #, c-format msgid "invalid LC_CTYPE locale name: \"%s\"" msgstr "неприпустиме ім'я локалі LC_CTYPE: \"%s\"" -#: commands/dbcommands.c:1066 +#: commands/dbcommands.c:1074 +#, c-format +msgid "BUILTIN_LOCALE cannot be specified unless locale provider is builtin" +msgstr "BUILTIN_LOCALE не може бути вказано, якщо постачальник локалі не вбудований" + +#: commands/dbcommands.c:1082 +#, c-format +msgid "ICU locale cannot be specified unless locale provider is ICU" +msgstr "ICU локаль не може бути визначена, якщо постачальник локалі не ICU" + +#: commands/dbcommands.c:1100 +#, c-format +msgid "LOCALE or BUILTIN_LOCALE must be specified" +msgstr "Необхідно вказати LOCALE або BUILTIN_LOCALE" + +#: commands/dbcommands.c:1109 #, c-format msgid "encoding \"%s\" is not supported with ICU provider" msgstr "кодування \"%s\" не підтримується провайдером ICU" -#: commands/dbcommands.c:1076 +#: commands/dbcommands.c:1119 #, c-format msgid "LOCALE or ICU_LOCALE must be specified" msgstr "Необхідно вказати LOCALE або ICU_LOCALE" -#: commands/dbcommands.c:1105 -#, c-format -msgid "ICU locale cannot be specified unless locale provider is ICU" -msgstr "ICU локаль не може бути визначена, якщо постачальник локалі не ICU" - -#: commands/dbcommands.c:1128 +#: commands/dbcommands.c:1163 #, c-format msgid "new encoding (%s) is incompatible with the encoding of the template database (%s)" msgstr "нове кодування (%s) несумісне з кодуванням шаблона бази даних (%s)" -#: commands/dbcommands.c:1131 +#: commands/dbcommands.c:1166 #, c-format msgid "Use the same encoding as in the template database, or use template0 as template." msgstr "Використайте кодування шаблона бази даних або виберіть template0 в якості шаблона." -#: commands/dbcommands.c:1136 +#: commands/dbcommands.c:1171 #, c-format msgid "new collation (%s) is incompatible with the collation of the template database (%s)" msgstr "нове правило сортування (%s) несумісне з правилом в шаблоні бази даних (%s)" -#: commands/dbcommands.c:1138 +#: commands/dbcommands.c:1173 #, c-format msgid "Use the same collation as in the template database, or use template0 as template." msgstr "Використайте те ж саме правило сортування, що і в шаблоні бази даних, або виберіть template0 в якості шаблона." -#: commands/dbcommands.c:1143 +#: commands/dbcommands.c:1178 #, c-format msgid "new LC_CTYPE (%s) is incompatible with the LC_CTYPE of the template database (%s)" msgstr "новий параметр LC_CTYPE (%s) несумісний з LC_CTYPE в шаблоні бази даних (%s)" -#: commands/dbcommands.c:1145 +#: commands/dbcommands.c:1180 #, c-format msgid "Use the same LC_CTYPE as in the template database, or use template0 as template." msgstr "Використайте той самий LC_CTYPE, що і в шаблоні бази даних, або виберіть template0 в якості шаблона." -#: commands/dbcommands.c:1150 +#: commands/dbcommands.c:1185 #, c-format msgid "new locale provider (%s) does not match locale provider of the template database (%s)" msgstr "новий постачальник локалі (%s) не відповідає постачальнику локалі шаблону бази даних (%s)" -#: commands/dbcommands.c:1152 +#: commands/dbcommands.c:1187 #, c-format msgid "Use the same locale provider as in the template database, or use template0 as template." msgstr "Використайте такого ж постачальника локалі, що й у шаблоні бази даних, або використайте template0 в якості шаблону." -#: commands/dbcommands.c:1164 +#: commands/dbcommands.c:1199 #, c-format msgid "new ICU locale (%s) is incompatible with the ICU locale of the template database (%s)" msgstr "нова ICU локаль (%s) несумісна з ICU локалью шаблону бази даних (%s)" -#: commands/dbcommands.c:1166 +#: commands/dbcommands.c:1201 #, c-format msgid "Use the same ICU locale as in the template database, or use template0 as template." msgstr "Використайте таку ж ICU локаль, що й у шаблоні бази даних, або використайте template0 в якості шаблону." -#: commands/dbcommands.c:1177 +#: commands/dbcommands.c:1212 #, c-format msgid "new ICU collation rules (%s) are incompatible with the ICU collation rules of the template database (%s)" msgstr "нові правила сортування ICU (%s) несумісні з правилами сортування ICU шаблону бази даних (%s)" -#: commands/dbcommands.c:1179 +#: commands/dbcommands.c:1214 #, c-format msgid "Use the same ICU collation rules as in the template database, or use template0 as template." msgstr "Використайте ті ж правила сортування ICU, що й в шаблоні бази даних, або виберіть template0 в якості шаблону." -#: commands/dbcommands.c:1202 +#: commands/dbcommands.c:1243 #, c-format msgid "template database \"%s\" has a collation version, but no actual collation version could be determined" msgstr "шаблон бази даних \"%s\" має версію правил сортування, але фактичну версію визначити не вдалося" -#: commands/dbcommands.c:1207 +#: commands/dbcommands.c:1248 #, c-format msgid "template database \"%s\" has a collation version mismatch" msgstr "шаблон бази даних \"%s\" має невідповідність версії параметрів сортування" -#: commands/dbcommands.c:1209 +#: commands/dbcommands.c:1250 #, c-format msgid "The template database was created using collation version %s, but the operating system provides version %s." msgstr "Шаблон бази даних було створено за допомогою параметрів сортування версії %s, але операційна система надає версію %s." -#: commands/dbcommands.c:1212 +#: commands/dbcommands.c:1253 #, c-format msgid "Rebuild all objects in the template database that use the default collation and run ALTER DATABASE %s REFRESH COLLATION VERSION, or build PostgreSQL with the right library version." msgstr "Перебудуйте всі об'єкти шаблону бази даних, які використовують стандартний параметр сортування або виконайте ALTER DATABASE %s REFRESH COLLATION VERSION, або побудуйте PostgreSQL з правильною версією бібліотеки." -#: commands/dbcommands.c:1248 commands/dbcommands.c:1980 +#: commands/dbcommands.c:1298 commands/dbcommands.c:2048 #, c-format msgid "pg_global cannot be used as default tablespace" msgstr "pg_global не можна використати в якості табличного простору за замовчуванням" -#: commands/dbcommands.c:1274 +#: commands/dbcommands.c:1324 #, c-format msgid "cannot assign new default tablespace \"%s\"" msgstr "не вдалося призначити новий табличний простір за замовчуванням \"%s\"" -#: commands/dbcommands.c:1276 +#: commands/dbcommands.c:1326 #, c-format msgid "There is a conflict because database \"%s\" already has some tables in this tablespace." msgstr "БД \"%s\" вже містить таблиці, що знаходяться в цьому табличному просторі." -#: commands/dbcommands.c:1306 commands/dbcommands.c:1853 +#: commands/dbcommands.c:1356 commands/dbcommands.c:1921 #, c-format msgid "database \"%s\" already exists" msgstr "база даних \"%s\" вже існує" -#: commands/dbcommands.c:1320 +#: commands/dbcommands.c:1370 #, c-format msgid "source database \"%s\" is being accessed by other users" msgstr "вихідна база даних \"%s\" зайнята іншими користувачами" -#: commands/dbcommands.c:1342 +#: commands/dbcommands.c:1392 #, c-format msgid "database OID %u is already in use by database \"%s\"" msgstr "OID %u вже використовується базою даних \"%s\" вже використовує" -#: commands/dbcommands.c:1348 +#: commands/dbcommands.c:1398 #, c-format msgid "data directory with the specified OID %u already exists" msgstr "каталог даних з вказаним OID %u вже існує" -#: commands/dbcommands.c:1520 commands/dbcommands.c:1535 +#: commands/dbcommands.c:1571 commands/dbcommands.c:1586 +#: utils/adt/pg_locale.c:2565 #, c-format msgid "encoding \"%s\" does not match locale \"%s\"" msgstr "кодування \"%s\" не відповідає локалі \"%s\"" -#: commands/dbcommands.c:1523 +#: commands/dbcommands.c:1574 #, c-format msgid "The chosen LC_CTYPE setting requires encoding \"%s\"." msgstr "Обраний параметр LC_CTYPE потребує кодування \"%s\"." -#: commands/dbcommands.c:1538 +#: commands/dbcommands.c:1589 #, c-format msgid "The chosen LC_COLLATE setting requires encoding \"%s\"." msgstr "Обраний параметр LC_COLLATE потребує кодування \"%s\"." -#: commands/dbcommands.c:1619 +#: commands/dbcommands.c:1672 #, c-format msgid "database \"%s\" does not exist, skipping" msgstr "бази даних \"%s\" не існує, пропускаємо" -#: commands/dbcommands.c:1643 +#: commands/dbcommands.c:1696 #, c-format msgid "cannot drop a template database" msgstr "неможливо видалити шаблон бази даних" -#: commands/dbcommands.c:1649 +#: commands/dbcommands.c:1702 #, c-format msgid "cannot drop the currently open database" msgstr "неможливо видалити наразі відкриту базу даних" -#: commands/dbcommands.c:1662 +#: commands/dbcommands.c:1715 #, c-format msgid "database \"%s\" is used by an active logical replication slot" msgstr "база даних \"%s\" використовується активним слотом логічної реплікації" -#: commands/dbcommands.c:1664 +#: commands/dbcommands.c:1717 #, c-format msgid "There is %d active slot." msgid_plural "There are %d active slots." @@ -7539,12 +7843,12 @@ msgstr[1] "Активні слоти %d." msgstr[2] "Активних слотів %d." msgstr[3] "Активних слотів %d." -#: commands/dbcommands.c:1678 +#: commands/dbcommands.c:1731 #, c-format msgid "database \"%s\" is being used by logical replication subscription" msgstr "база даних \"%s\" використовується в підписці логічної реплікації" -#: commands/dbcommands.c:1680 +#: commands/dbcommands.c:1733 #, c-format msgid "There is %d subscription." msgid_plural "There are %d subscriptions." @@ -7553,74 +7857,74 @@ msgstr[1] "Знайдено підписки %d." msgstr[2] "Знайдено підписок %d." msgstr[3] "Знайдено підписок %d." -#: commands/dbcommands.c:1701 commands/dbcommands.c:1875 -#: commands/dbcommands.c:2002 +#: commands/dbcommands.c:1754 commands/dbcommands.c:1943 +#: commands/dbcommands.c:2070 #, c-format msgid "database \"%s\" is being accessed by other users" msgstr "база даних \"%s\" зайнята іншими користувачами" -#: commands/dbcommands.c:1835 +#: commands/dbcommands.c:1903 #, c-format msgid "permission denied to rename database" msgstr "немає дозволу для перейменування бази даних" -#: commands/dbcommands.c:1864 +#: commands/dbcommands.c:1932 #, c-format msgid "current database cannot be renamed" msgstr "поточна база даних не може бути перейменована" -#: commands/dbcommands.c:1958 +#: commands/dbcommands.c:2026 #, c-format msgid "cannot change the tablespace of the currently open database" msgstr "неможливо змінити табличний простір наразі відкритої бази даних" -#: commands/dbcommands.c:2064 +#: commands/dbcommands.c:2132 #, c-format msgid "some relations of database \"%s\" are already in tablespace \"%s\"" msgstr "деякі відношення бази даних \"%s\" вже є в табличному просторі \"%s\"" -#: commands/dbcommands.c:2066 +#: commands/dbcommands.c:2134 #, c-format msgid "You must move them back to the database's default tablespace before using this command." msgstr "Перед тим, як виконувати цю команду, вам треба повернути їх в табличний простір за замовчуванням для цієї бази даних." -#: commands/dbcommands.c:2193 commands/dbcommands.c:2909 -#: commands/dbcommands.c:3209 commands/dbcommands.c:3322 +#: commands/dbcommands.c:2261 commands/dbcommands.c:2996 +#: commands/dbcommands.c:3296 commands/dbcommands.c:3409 #, c-format msgid "some useless files may be left behind in old database directory \"%s\"" msgstr "у старому каталозі бази даних \"%s\" могли залишитися непотрібні файли" -#: commands/dbcommands.c:2254 +#: commands/dbcommands.c:2322 #, c-format msgid "unrecognized DROP DATABASE option \"%s\"" msgstr "нерозпізнаний параметр DROP DATABASE \"%s\"" -#: commands/dbcommands.c:2332 +#: commands/dbcommands.c:2400 #, c-format msgid "option \"%s\" cannot be specified with other options" msgstr "параметр \"%s\" не може бути вказаним з іншими параметрами" -#: commands/dbcommands.c:2379 +#: commands/dbcommands.c:2447 #, c-format msgid "cannot alter invalid database \"%s\"" msgstr "неможливо змінити невірну базу даних \"%s\"" -#: commands/dbcommands.c:2396 +#: commands/dbcommands.c:2464 #, c-format msgid "cannot disallow connections for current database" msgstr "не можна заборонити з'єднання для поточної бази даних" -#: commands/dbcommands.c:2611 +#: commands/dbcommands.c:2690 #, c-format msgid "permission denied to change owner of database" msgstr "немає дозволу для зміни власника бази даних" -#: commands/dbcommands.c:3015 +#: commands/dbcommands.c:3102 #, c-format msgid "There are %d other session(s) and %d prepared transaction(s) using the database." msgstr "Знайдено %d інших сеансів і %d підготованих транзакцій з використанням цієї бази даних." -#: commands/dbcommands.c:3018 +#: commands/dbcommands.c:3105 #, c-format msgid "There is %d other session using the database." msgid_plural "There are %d other sessions using the database." @@ -7629,7 +7933,7 @@ msgstr[1] "Є %d інші сеанси з використанням цієї б msgstr[2] "Є %d інших сеансів з використанням цієї бази даних." msgstr[3] "Є %d інших сеансів з використанням цієї бази даних." -#: commands/dbcommands.c:3023 storage/ipc/procarray.c:3797 +#: commands/dbcommands.c:3110 storage/ipc/procarray.c:3859 #, c-format msgid "There is %d prepared transaction using the database." msgid_plural "There are %d prepared transactions using the database." @@ -7638,583 +7942,598 @@ msgstr[1] "З цією базою даних пов'язані %d підгото msgstr[2] "З цією базою даних пов'язані %d підготовлених транзакцій." msgstr[3] "З цією базою даних пов'язані %d підготовлених транзакцій." -#: commands/dbcommands.c:3165 +#: commands/dbcommands.c:3252 #, c-format msgid "missing directory \"%s\"" msgstr "відсутній каталог \"%s\"" -#: commands/dbcommands.c:3223 commands/tablespace.c:190 -#: commands/tablespace.c:639 +#: commands/dbcommands.c:3310 commands/tablespace.c:184 +#: commands/tablespace.c:633 #, c-format msgid "could not stat directory \"%s\": %m" msgstr "не вдалося отримати інформацію про каталог \"%s\": %m" -#: commands/define.c:54 commands/define.c:258 commands/define.c:290 -#: commands/define.c:318 commands/define.c:364 +#: commands/define.c:53 commands/define.c:257 commands/define.c:289 +#: commands/define.c:317 commands/define.c:363 #, c-format msgid "%s requires a parameter" msgstr "%s потребує параметру" -#: commands/define.c:87 commands/define.c:98 commands/define.c:192 -#: commands/define.c:210 commands/define.c:225 commands/define.c:243 +#: commands/define.c:86 commands/define.c:97 commands/define.c:191 +#: commands/define.c:209 commands/define.c:224 commands/define.c:242 #, c-format msgid "%s requires a numeric value" msgstr "%s потребує числового значення" -#: commands/define.c:154 +#: commands/define.c:153 #, c-format msgid "%s requires a Boolean value" msgstr "%s потребує логічного значення" -#: commands/define.c:168 commands/define.c:177 commands/define.c:327 +#: commands/define.c:167 commands/define.c:176 commands/define.c:326 #, c-format msgid "%s requires an integer value" msgstr "%s потребує ціле значення" -#: commands/define.c:272 +#: commands/define.c:271 #, c-format msgid "argument of %s must be a name" msgstr "аргументом %s повинно бути ім'я" -#: commands/define.c:302 +#: commands/define.c:301 #, c-format msgid "argument of %s must be a type name" msgstr "аргументом %s повинно бути ім'я типу" -#: commands/define.c:348 +#: commands/define.c:347 #, c-format msgid "invalid argument for %s: \"%s\"" msgstr "невірний аргумент для %s: \"%s\"" -#: commands/dropcmds.c:101 commands/functioncmds.c:1387 -#: utils/adt/ruleutils.c:2895 +#: commands/dropcmds.c:96 commands/functioncmds.c:1382 +#: utils/adt/ruleutils.c:2905 #, c-format msgid "\"%s\" is an aggregate function" msgstr "\"%s\" є функцією агрегату" -#: commands/dropcmds.c:103 +#: commands/dropcmds.c:98 #, c-format msgid "Use DROP AGGREGATE to drop aggregate functions." msgstr "Використайте DROP AGGREGATE, щоб видалити агрегатні функції." -#: commands/dropcmds.c:158 commands/sequence.c:474 commands/tablecmds.c:3710 -#: commands/tablecmds.c:3868 commands/tablecmds.c:3920 -#: commands/tablecmds.c:16482 tcop/utility.c:1336 +#: commands/dropcmds.c:153 commands/sequence.c:462 commands/tablecmds.c:3872 +#: commands/tablecmds.c:4030 commands/tablecmds.c:4082 +#: commands/tablecmds.c:17058 tcop/utility.c:1325 #, c-format msgid "relation \"%s\" does not exist, skipping" msgstr "відношення \"%s\" не існує, пропускаємо" -#: commands/dropcmds.c:188 commands/dropcmds.c:287 commands/tablecmds.c:1285 +#: commands/dropcmds.c:183 commands/dropcmds.c:282 commands/tablecmds.c:1392 #, c-format msgid "schema \"%s\" does not exist, skipping" msgstr "схеми \"%s\" не існує, пропускаємо" -#: commands/dropcmds.c:228 commands/dropcmds.c:267 commands/tablecmds.c:277 +#: commands/dropcmds.c:223 commands/dropcmds.c:262 commands/tablecmds.c:286 #, c-format msgid "type \"%s\" does not exist, skipping" msgstr "типу \"%s\" не існує, пропускаємо" -#: commands/dropcmds.c:257 +#: commands/dropcmds.c:252 #, c-format msgid "access method \"%s\" does not exist, skipping" msgstr "методу доступу \"%s\" не існує, пропускаємо" -#: commands/dropcmds.c:275 +#: commands/dropcmds.c:270 #, c-format msgid "collation \"%s\" does not exist, skipping" msgstr "правила сортування \"%s\" не існує, пропускаємо" -#: commands/dropcmds.c:282 +#: commands/dropcmds.c:277 #, c-format msgid "conversion \"%s\" does not exist, skipping" msgstr "перетворення \"%s\" не існує, пропускаємо" -#: commands/dropcmds.c:293 commands/statscmds.c:654 +#: commands/dropcmds.c:288 commands/statscmds.c:664 #, c-format msgid "statistics object \"%s\" does not exist, skipping" msgstr "об'єкту статистики \"%s\" не існує, пропускаємо" -#: commands/dropcmds.c:300 +#: commands/dropcmds.c:295 #, c-format msgid "text search parser \"%s\" does not exist, skipping" msgstr "парсеру текстового пошуку \"%s\" не існує, пропускаємо" -#: commands/dropcmds.c:307 +#: commands/dropcmds.c:302 #, c-format msgid "text search dictionary \"%s\" does not exist, skipping" msgstr "словника текстового пошуку \"%s\" не існує, пропускаємо" -#: commands/dropcmds.c:314 +#: commands/dropcmds.c:309 #, c-format msgid "text search template \"%s\" does not exist, skipping" msgstr "шаблону текстового пошуку \"%s\" не існує, пропускаємо" -#: commands/dropcmds.c:321 +#: commands/dropcmds.c:316 #, c-format msgid "text search configuration \"%s\" does not exist, skipping" msgstr "конфігурації текстового пошуку \"%s\" не існує, пропускаємо" -#: commands/dropcmds.c:326 +#: commands/dropcmds.c:321 #, c-format msgid "extension \"%s\" does not exist, skipping" msgstr "розширення \"%s\" не існує, пропускаємо" -#: commands/dropcmds.c:336 +#: commands/dropcmds.c:331 #, c-format msgid "function %s(%s) does not exist, skipping" msgstr "функції %s(%s) не існує, пропускаємо" -#: commands/dropcmds.c:349 +#: commands/dropcmds.c:344 #, c-format msgid "procedure %s(%s) does not exist, skipping" msgstr "процедури %s(%s) не існує, пропускаємо" -#: commands/dropcmds.c:362 +#: commands/dropcmds.c:357 #, c-format msgid "routine %s(%s) does not exist, skipping" msgstr "підпрограми %s(%s) не існує, пропускаємо" -#: commands/dropcmds.c:375 +#: commands/dropcmds.c:370 #, c-format msgid "aggregate %s(%s) does not exist, skipping" msgstr "агрегату %s(%s) не існує, пропускаємо" -#: commands/dropcmds.c:388 +#: commands/dropcmds.c:383 #, c-format msgid "operator %s does not exist, skipping" msgstr "оператора \"%s\" не існує, пропускаємо" -#: commands/dropcmds.c:394 +#: commands/dropcmds.c:389 #, c-format msgid "language \"%s\" does not exist, skipping" msgstr "мови \"%s\" не існує, пропускаємо" -#: commands/dropcmds.c:403 +#: commands/dropcmds.c:398 #, c-format msgid "cast from type %s to type %s does not exist, skipping" msgstr "приведення від типу %s до типу %s не існує, пропускаємо" -#: commands/dropcmds.c:412 +#: commands/dropcmds.c:407 #, c-format msgid "transform for type %s language \"%s\" does not exist, skipping" msgstr "трансформації для типу %s мови \"%s\" не існує, пропускаємо" -#: commands/dropcmds.c:420 +#: commands/dropcmds.c:415 #, c-format msgid "trigger \"%s\" for relation \"%s\" does not exist, skipping" msgstr "тригеру \"%s\" для відношення \"%s\" не існує, пропускаємо" -#: commands/dropcmds.c:429 +#: commands/dropcmds.c:424 #, c-format msgid "policy \"%s\" for relation \"%s\" does not exist, skipping" msgstr "політики \"%s\" для відношення \"%s\" не існує, пропускаємо" -#: commands/dropcmds.c:436 +#: commands/dropcmds.c:431 #, c-format msgid "event trigger \"%s\" does not exist, skipping" msgstr "тригеру подій \"%s\" не існує, пропускаємо" -#: commands/dropcmds.c:442 +#: commands/dropcmds.c:437 #, c-format msgid "rule \"%s\" for relation \"%s\" does not exist, skipping" msgstr "правила \"%s\" для відношення \"%s\" не існує, пропускаємо" -#: commands/dropcmds.c:449 +#: commands/dropcmds.c:444 #, c-format msgid "foreign-data wrapper \"%s\" does not exist, skipping" msgstr "джерела сторонніх даних \"%s\" не існує, пропускаємо" -#: commands/dropcmds.c:453 commands/foreigncmds.c:1360 +#: commands/dropcmds.c:448 commands/foreigncmds.c:1360 #, c-format msgid "server \"%s\" does not exist, skipping" msgstr "серверу \"%s\" не існує, пропускаємо" -#: commands/dropcmds.c:462 +#: commands/dropcmds.c:457 #, c-format msgid "operator class \"%s\" does not exist for access method \"%s\", skipping" msgstr "класу операторів \"%s\" не існує для методу доступу \"%s\", пропускаємо" -#: commands/dropcmds.c:474 +#: commands/dropcmds.c:469 #, c-format msgid "operator family \"%s\" does not exist for access method \"%s\", skipping" msgstr "сімейства операторів \"%s\" не існує для методу доступу \"%s\", пропускаємо" -#: commands/dropcmds.c:481 +#: commands/dropcmds.c:476 #, c-format msgid "publication \"%s\" does not exist, skipping" msgstr "публікації \"%s\" не існує, пропускаємо" -#: commands/event_trigger.c:125 +#: commands/event_trigger.c:137 #, c-format msgid "permission denied to create event trigger \"%s\"" msgstr "немає дозволу для створення тригера подій %s\"" -#: commands/event_trigger.c:127 +#: commands/event_trigger.c:139 #, c-format msgid "Must be superuser to create an event trigger." msgstr "Тільки суперкористувач може створити тригер подій." -#: commands/event_trigger.c:136 +#: commands/event_trigger.c:149 #, c-format msgid "unrecognized event name \"%s\"" msgstr "нерозпізнане ім'я подій \"%s\"" -#: commands/event_trigger.c:153 +#: commands/event_trigger.c:166 #, c-format msgid "unrecognized filter variable \"%s\"" msgstr "нерозпізнана змінна фільтру \"%s\"" -#: commands/event_trigger.c:207 +#: commands/event_trigger.c:181 +#, c-format +msgid "tag filtering is not supported for login event triggers" +msgstr "фільтрація тегів не підтримується для тригерів події входу" + +#: commands/event_trigger.c:224 #, 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:213 commands/event_trigger.c:235 +#: commands/event_trigger.c:230 commands/event_trigger.c:252 #, c-format msgid "event triggers are not supported for %s" msgstr "для %s тригери подій не підтримуються" -#: commands/event_trigger.c:248 +#: commands/event_trigger.c:265 #, c-format msgid "filter variable \"%s\" specified more than once" msgstr "змінну фільтра \"%s\" вказано кілька разів" -#: commands/event_trigger.c:376 commands/event_trigger.c:420 -#: commands/event_trigger.c:514 +#: commands/event_trigger.c:435 commands/event_trigger.c:487 +#: commands/event_trigger.c:581 #, c-format msgid "event trigger \"%s\" does not exist" msgstr "тригеру подій \"%s\" не існує" -#: commands/event_trigger.c:452 +#: commands/event_trigger.c:519 #, c-format msgid "event trigger with OID %u does not exist" msgstr "тригер подій %u з OID не існує" -#: commands/event_trigger.c:482 +#: commands/event_trigger.c:549 #, c-format msgid "permission denied to change owner of event trigger \"%s\"" msgstr "немає дозволу для зміни власника тригера подій \"%s\"" -#: commands/event_trigger.c:484 +#: commands/event_trigger.c:551 #, c-format msgid "The owner of an event trigger must be a superuser." msgstr "Власником тригеру подій може бути тільки суперкористувач." -#: commands/event_trigger.c:1304 +#: commands/event_trigger.c:1411 #, c-format msgid "%s can only be called in a sql_drop event trigger function" msgstr "%s можливо викликати лише в подієвій тригерній функції sql_drop" -#: commands/event_trigger.c:1397 commands/event_trigger.c:1418 +#: commands/event_trigger.c:1504 commands/event_trigger.c:1525 #, c-format msgid "%s can only be called in a table_rewrite event trigger function" msgstr "%s можливо викликати лише в подієвій тригерній функції table_rewrite" -#: commands/event_trigger.c:1831 +#: commands/event_trigger.c:1938 #, c-format msgid "%s can only be called in an event trigger function" msgstr "%s можливо викликати тільки в подієвій тригерній функції" -#: commands/explain.c:220 +#: commands/explain.c:241 commands/explain.c:266 #, c-format msgid "unrecognized value for EXPLAIN option \"%s\": \"%s\"" msgstr "нерозпізнане значення параметру EXPLAIN \"%s\": \"%s\"" -#: commands/explain.c:227 +#: commands/explain.c:273 #, c-format msgid "unrecognized EXPLAIN option \"%s\"" msgstr "нерозпізнаний параметр EXPLAIN \"%s\"" -#: commands/explain.c:236 +#: commands/explain.c:282 #, c-format msgid "EXPLAIN option WAL requires ANALYZE" msgstr "Параметр WAL оператора EXPLAIN потребує вказівки ANALYZE" -#: commands/explain.c:245 +#: commands/explain.c:291 #, c-format msgid "EXPLAIN option TIMING requires ANALYZE" msgstr "Параметр TIMING оператора EXPLAIN потребує вказівки ANALYZE" -#: commands/explain.c:251 +#: commands/explain.c:297 +#, c-format +msgid "EXPLAIN option SERIALIZE requires ANALYZE" +msgstr "Параметр SERIALIZE оператора EXPLAIN потребує вказівки ANALYZE" + +#: commands/explain.c:303 #, c-format msgid "EXPLAIN options ANALYZE and GENERIC_PLAN cannot be used together" msgstr "Параметри ANALYZE і GENERIC_PLAN не можуть використовуватись разом" -#: commands/extension.c:177 commands/extension.c:3033 +#: commands/extension.c:178 commands/extension.c:3031 #, c-format msgid "extension \"%s\" does not exist" msgstr "розширення \"%s\" не існує" -#: commands/extension.c:276 commands/extension.c:285 commands/extension.c:297 -#: commands/extension.c:307 +#: commands/extension.c:277 commands/extension.c:286 commands/extension.c:298 +#: commands/extension.c:308 #, c-format msgid "invalid extension name: \"%s\"" msgstr "невірне ім'я розширення: \"%s\"" -#: commands/extension.c:277 +#: commands/extension.c:278 #, c-format msgid "Extension names must not be empty." msgstr "Імена розширення не повинні бути пустими." -#: commands/extension.c:286 +#: commands/extension.c:287 #, c-format msgid "Extension names must not contain \"--\"." msgstr "Імена розширення не повинні містити \"--\"." -#: commands/extension.c:298 +#: commands/extension.c:299 #, c-format msgid "Extension names must not begin or end with \"-\"." msgstr "Імена розширення не повинні починатися або закінчуватися символом \"-\"." -#: commands/extension.c:308 +#: commands/extension.c:309 #, c-format msgid "Extension names must not contain directory separator characters." msgstr "Імена розширення не повинні містити роздільники шляху." -#: commands/extension.c:323 commands/extension.c:332 commands/extension.c:341 -#: commands/extension.c:351 +#: commands/extension.c:324 commands/extension.c:333 commands/extension.c:342 +#: commands/extension.c:352 #, c-format msgid "invalid extension version name: \"%s\"" msgstr "невірне ім'я версії розширення: \"%s\"" -#: commands/extension.c:324 +#: commands/extension.c:325 #, c-format msgid "Version names must not be empty." msgstr "Імена версії не повинні бути пустими." -#: commands/extension.c:333 +#: commands/extension.c:334 #, c-format msgid "Version names must not contain \"--\"." msgstr "Імена версії не повинні містити \"--\"." -#: commands/extension.c:342 +#: commands/extension.c:343 #, c-format msgid "Version names must not begin or end with \"-\"." msgstr "Імена версії не повинні починатись або закінчуватись символом \"-\"." -#: commands/extension.c:352 +#: commands/extension.c:353 #, c-format msgid "Version names must not contain directory separator characters." msgstr "Імена версії не повинні містити роздільники шляху." -#: commands/extension.c:506 +#: commands/extension.c:507 #, c-format msgid "extension \"%s\" is not available" msgstr "розширення \"%s\" недоступне" -#: commands/extension.c:507 +#: commands/extension.c:508 #, c-format msgid "Could not open extension control file \"%s\": %m." msgstr "Не вдалося відкрити контрольний файл розширення \"%s\": %m." -#: commands/extension.c:509 +#: commands/extension.c:510 #, c-format msgid "The extension must first be installed on the system where PostgreSQL is running." msgstr "Розширення спочатку має бути встановлене в системі, де запущено PostgreSQL." -#: commands/extension.c:513 +#: commands/extension.c:514 #, c-format msgid "could not open extension control file \"%s\": %m" msgstr "не вдалося відкрити керуючий файл розширення \"%s\": %m" -#: commands/extension.c:536 commands/extension.c:546 +#: commands/extension.c:537 commands/extension.c:547 #, c-format msgid "parameter \"%s\" cannot be set in a secondary extension control file" msgstr "параметр \"%s\" не можна задавати в додатковому керуючому файлі розширення" -#: commands/extension.c:568 commands/extension.c:576 commands/extension.c:584 -#: utils/misc/guc.c:3100 +#: commands/extension.c:569 commands/extension.c:577 commands/extension.c:585 +#: utils/misc/guc.c:3147 #, c-format msgid "parameter \"%s\" requires a Boolean value" msgstr "параметр \"%s\" потребує логічного значення" -#: commands/extension.c:593 +#: commands/extension.c:594 #, c-format msgid "\"%s\" is not a valid encoding name" msgstr "\"%s\" не є невірним ім'ям кодування" -#: commands/extension.c:607 commands/extension.c:622 +#: commands/extension.c:608 commands/extension.c:623 #, c-format msgid "parameter \"%s\" must be a list of extension names" msgstr "параметр \"%s\" повинен містити список імен розширень" -#: commands/extension.c:629 +#: commands/extension.c:630 #, c-format msgid "unrecognized parameter \"%s\" in file \"%s\"" msgstr "нерозпізнаний параметр \"%s\" в файлі \"%s\"" -#: commands/extension.c:638 +#: commands/extension.c:639 #, c-format msgid "parameter \"schema\" cannot be specified when \"relocatable\" is true" msgstr "параметр \"schema\" не може бути вказаним, коли \"relocatable\" є дійсним" -#: commands/extension.c:816 +#: commands/extension.c:817 #, c-format msgid "transaction control statements are not allowed within an extension script" msgstr "в скрипті розширення не повинно бути операторів управління транзакціями" -#: commands/extension.c:896 +#: commands/extension.c:897 #, c-format msgid "permission denied to create extension \"%s\"" msgstr "немає дозволу для створення розширення %s\"" -#: commands/extension.c:899 +#: commands/extension.c:900 #, c-format msgid "Must have CREATE privilege on current database to create this extension." msgstr "Необхідно мати право CREATE для поточної бази даних щоб створити це розширення." -#: commands/extension.c:900 +#: commands/extension.c:901 #, c-format msgid "Must be superuser to create this extension." msgstr "Тільки суперкористувач може створити це розширення." -#: commands/extension.c:904 +#: commands/extension.c:905 #, c-format msgid "permission denied to update extension \"%s\"" msgstr "немає дозволу для оновлення розширення %s\"" -#: commands/extension.c:907 +#: commands/extension.c:908 #, c-format msgid "Must have CREATE privilege on current database to update this extension." msgstr "Необхідно мати право CREATE для поточної бази даних щоб оновити це розширення." -#: commands/extension.c:908 +#: commands/extension.c:909 #, c-format msgid "Must be superuser to update this extension." msgstr "Тільки суперкористувач може оновити це розширення." -#: commands/extension.c:1046 +#: commands/extension.c:1042 #, c-format msgid "invalid character in extension owner: must not contain any of \"%s\"" msgstr "неприпустимий символ у власника розширення: не може містити жодного з \"%s\"" -#: commands/extension.c:1070 commands/extension.c:1097 +#: commands/extension.c:1066 commands/extension.c:1093 #, c-format msgid "invalid character in extension \"%s\" schema: must not contain any of \"%s\"" msgstr "неприпустимий символ у розширенні \"%s\" схеми: не повинно містити жодної з \"%s\"" -#: commands/extension.c:1292 +#: commands/extension.c:1288 #, c-format msgid "extension \"%s\" has no update path from version \"%s\" to version \"%s\"" msgstr "розширення \"%s\" не має жодного шляху оновлення від версії \"%s\" до версії \"%s\"" -#: commands/extension.c:1500 commands/extension.c:3091 +#: commands/extension.c:1496 commands/extension.c:3089 #, c-format msgid "version to install must be specified" msgstr "для інсталяції слід указати версію" -#: commands/extension.c:1537 +#: commands/extension.c:1533 #, c-format msgid "extension \"%s\" has no installation script nor update path for version \"%s\"" msgstr "розширення \"%s\" не має ні скрипту для встановлення, ні шляху оновлення для версії \"%s\"" -#: commands/extension.c:1571 +#: commands/extension.c:1567 #, c-format msgid "extension \"%s\" must be installed in schema \"%s\"" msgstr "розширення \"%s\" треба встановлювати в схемі \"%s\"" -#: commands/extension.c:1731 +#: commands/extension.c:1727 #, c-format msgid "cyclic dependency detected between extensions \"%s\" and \"%s\"" msgstr "виявлено циклічну залежність між розширеннями \"%s\" і \"%s\"" -#: commands/extension.c:1736 +#: commands/extension.c:1732 #, c-format msgid "installing required extension \"%s\"" msgstr "встановлення необхідних розширень \"%s\"" -#: commands/extension.c:1759 +#: commands/extension.c:1755 #, c-format msgid "required extension \"%s\" is not installed" msgstr "необхідні розширення \"%s\" не встановлено" -#: commands/extension.c:1762 +#: commands/extension.c:1758 #, c-format msgid "Use CREATE EXTENSION ... CASCADE to install required extensions too." msgstr "Використайте CREATE EXTENSION ... CASCADE також для встановлення необхідних розширень." -#: commands/extension.c:1797 +#: commands/extension.c:1793 #, c-format msgid "extension \"%s\" already exists, skipping" msgstr "розширення \"%s\" вже існує, пропускаємо" -#: commands/extension.c:1804 +#: commands/extension.c:1800 #, c-format msgid "extension \"%s\" already exists" msgstr "розширення \"%s\" вже існує" -#: commands/extension.c:1815 +#: commands/extension.c:1811 #, c-format msgid "nested CREATE EXTENSION is not supported" msgstr "вкладенні оператори CREATE EXTENSION не підтримуються" -#: commands/extension.c:1979 +#: commands/extension.c:1975 #, c-format msgid "cannot drop extension \"%s\" because it is being modified" msgstr "неможливо видалити розширення \"%s\", оскільки воно змінюється" -#: commands/extension.c:2454 +#: commands/extension.c:2450 #, c-format msgid "%s can only be called from an SQL script executed by CREATE EXTENSION" msgstr "%s можна викликати лише з SQL-скрипта, виконаного CREATE EXTENSION" -#: commands/extension.c:2466 +#: commands/extension.c:2462 #, c-format msgid "OID %u does not refer to a table" msgstr "OID %u не посилається на таблицю" -#: commands/extension.c:2471 +#: commands/extension.c:2467 #, c-format msgid "table \"%s\" is not a member of the extension being created" msgstr "таблиця \"%s\" не є членом створеного розширення" -#: commands/extension.c:2817 +#: commands/extension.c:2813 #, c-format msgid "cannot move extension \"%s\" into schema \"%s\" because the extension contains the schema" msgstr "неможливо перемістити розширення \"%s\" в схему \"%s\", оскільки розширення містить схему" -#: commands/extension.c:2858 commands/extension.c:2952 +#: commands/extension.c:2854 commands/extension.c:2948 #, c-format msgid "extension \"%s\" does not support SET SCHEMA" msgstr "розширення \"%s\" не підтримує SET SCHEMA" -#: commands/extension.c:2915 +#: commands/extension.c:2911 #, c-format msgid "cannot SET SCHEMA of extension \"%s\" because other extensions prevent it" msgstr "неможливо виконати SET SCHEMA для розширення \"%s\", оскільки інші розширення заважають цьому" -#: commands/extension.c:2917 +#: commands/extension.c:2913 #, c-format msgid "Extension \"%s\" requests no relocation of extension \"%s\"." msgstr "Розширення \"%s\" запитує не переносити розширення \"%s\"." -#: commands/extension.c:2954 +#: commands/extension.c:2950 #, c-format msgid "%s is not in the extension's schema \"%s\"" msgstr "%s не є схемою розширення \"%s\"" -#: commands/extension.c:3013 +#: commands/extension.c:3011 #, c-format msgid "nested ALTER EXTENSION is not supported" msgstr "вкладенні оператори ALTER EXTENSION не підтримуються" -#: commands/extension.c:3102 +#: commands/extension.c:3100 #, c-format msgid "version \"%s\" of extension \"%s\" is already installed" msgstr "версія \"%s\" розширення \"%s\" вже встановлена" -#: commands/extension.c:3314 +#: commands/extension.c:3311 #, c-format msgid "cannot add an object of this type to an extension" msgstr "додати об'єкт цього типу до розширення не можна" -#: commands/extension.c:3380 +#: commands/extension.c:3409 #, c-format msgid "cannot add schema \"%s\" to extension \"%s\" because the schema contains the extension" msgstr "неможливо додати схему \"%s\" до розширення \"%s\", оскільки схема містить розширення" -#: commands/extension.c:3474 +#: commands/extension.c:3491 commands/typecmds.c:4042 utils/fmgr/funcapi.c:725 +#, c-format +msgid "could not find multirange type for data type %s" +msgstr "не вдалося знайти багатодіапазонний тип для типу даних %s" + +#: commands/extension.c:3532 #, c-format msgid "file \"%s\" is too large" msgstr "файл \"%s\" занадто великий" @@ -8244,7 +8563,7 @@ msgstr "Треба бути суперкористувачем, щоб змін msgid "The owner of a foreign-data wrapper must be a superuser." msgstr "Власником джерела сторонніх даних може бути тільки суперкористувач." -#: commands/foreigncmds.c:291 commands/foreigncmds.c:707 foreign/foreign.c:678 +#: commands/foreigncmds.c:291 commands/foreigncmds.c:707 foreign/foreign.c:691 #, c-format msgid "foreign-data wrapper \"%s\" does not exist" msgstr "джерела сторонніх даних \"%s\" не існує" @@ -8314,7 +8633,7 @@ msgstr "зіставлення користувача \"%s\" не існує д msgid "user mapping for \"%s\" does not exist for server \"%s\", skipping" msgstr "зіставлення користувача \"%s\" не існує для сервера \"%s\", пропускаємо" -#: commands/foreigncmds.c:1507 foreign/foreign.c:391 +#: commands/foreigncmds.c:1507 foreign/foreign.c:404 #, c-format msgid "foreign-data wrapper \"%s\" has no handler" msgstr "джерело сторонніх даних \"%s\" не має обробника" @@ -8329,363 +8648,368 @@ msgstr "джерело сторонніх даних \"%s\" не підтрим msgid "importing foreign table \"%s\"" msgstr "імпорт сторонньої таблиці \"%s\"" -#: commands/functioncmds.c:109 +#: commands/functioncmds.c:104 #, c-format msgid "SQL function cannot return shell type %s" msgstr "SQL-функція не може повертати тип оболонки %s" -#: commands/functioncmds.c:114 +#: commands/functioncmds.c:109 #, c-format msgid "return type %s is only a shell" msgstr "тип, що повертається, %s - лише оболонка" -#: commands/functioncmds.c:143 parser/parse_type.c:354 +#: commands/functioncmds.c:138 parser/parse_type.c:354 #, c-format msgid "type modifier cannot be specified for shell type \"%s\"" msgstr "для типу оболонки \"%s\" неможливо вказати модифікатор типу" -#: commands/functioncmds.c:149 +#: commands/functioncmds.c:144 #, c-format msgid "type \"%s\" is not yet defined" msgstr "тип \"%s\" все ще не визначений" -#: commands/functioncmds.c:150 +#: commands/functioncmds.c:145 #, c-format msgid "Creating a shell type definition." msgstr "Створення визначення типу оболонки." -#: commands/functioncmds.c:249 +#: commands/functioncmds.c:244 #, c-format msgid "SQL function cannot accept shell type %s" msgstr "SQL-функція не може приймати значення типу оболонки %s" -#: commands/functioncmds.c:255 +#: commands/functioncmds.c:250 #, c-format msgid "aggregate cannot accept shell type %s" msgstr "агрегатна функція не може приймати значення типу оболонки %s" -#: commands/functioncmds.c:260 +#: commands/functioncmds.c:255 #, c-format msgid "argument type %s is only a shell" msgstr "тип аргументу %s - лише оболонка" -#: commands/functioncmds.c:270 +#: commands/functioncmds.c:265 #, c-format msgid "type %s does not exist" msgstr "тип \"%s\" не існує" -#: commands/functioncmds.c:284 +#: commands/functioncmds.c:279 #, c-format msgid "aggregates cannot accept set arguments" msgstr "агрегатні функції не приймають в аргументах набору" -#: commands/functioncmds.c:288 +#: commands/functioncmds.c:283 #, c-format msgid "procedures cannot accept set arguments" msgstr "процедури не приймають в аргументах набору" -#: commands/functioncmds.c:292 +#: commands/functioncmds.c:287 #, c-format msgid "functions cannot accept set arguments" msgstr "функції не приймають в аргументах набору" -#: commands/functioncmds.c:302 +#: commands/functioncmds.c:297 #, c-format msgid "VARIADIC parameter must be the last input parameter" msgstr "Параметр VARIADIC повинен бути останнім в списку вхідних параметрів" -#: commands/functioncmds.c:322 +#: commands/functioncmds.c:317 #, c-format msgid "VARIADIC parameter must be the last parameter" msgstr "Параметр VARIADIC повинен бути останнім параметром" -#: commands/functioncmds.c:347 +#: commands/functioncmds.c:342 #, c-format msgid "VARIADIC parameter must be an array" msgstr "Параметр VARIADIC повинен бути масивом" -#: commands/functioncmds.c:392 +#: commands/functioncmds.c:387 #, c-format msgid "parameter name \"%s\" used more than once" msgstr "ім'я параметру «%s» використано декілька разів" -#: commands/functioncmds.c:410 +#: commands/functioncmds.c:405 #, c-format msgid "only input parameters can have default values" msgstr "тільки ввідні параметри можуть мати значення за замовчуванням" -#: commands/functioncmds.c:425 +#: commands/functioncmds.c:420 #, c-format msgid "cannot use table references in parameter default value" msgstr "у значенні параметру за замовчуванням не можна посилатись на таблиці" -#: commands/functioncmds.c:449 +#: commands/functioncmds.c:444 #, c-format msgid "input parameters after one with a default value must also have defaults" msgstr "вхідні параметри, наступні за параметром зі значенням \"за замовчуванням\", також повинні мати значення \"за замовчуванням\"" -#: commands/functioncmds.c:459 +#: commands/functioncmds.c:454 #, c-format msgid "procedure OUT parameters cannot appear after one with a default value" msgstr "параметри процедури OUT не можуть з'являтись після параметра зі значенням за замовчуванням" -#: commands/functioncmds.c:601 commands/functioncmds.c:780 +#: commands/functioncmds.c:596 commands/functioncmds.c:775 #, c-format msgid "invalid attribute in procedure definition" msgstr "некоректний атрибут у визначенні процедури" -#: commands/functioncmds.c:697 +#: commands/functioncmds.c:692 #, c-format msgid "support function %s must return type %s" msgstr "функція підтримки %s повинна повертати тип %s" -#: commands/functioncmds.c:708 +#: commands/functioncmds.c:703 #, c-format msgid "must be superuser to specify a support function" msgstr "для уточнення функції підтримки потрібно бути суперкористувачем" -#: commands/functioncmds.c:829 commands/functioncmds.c:1432 +#: commands/functioncmds.c:824 commands/functioncmds.c:1427 #, c-format msgid "COST must be positive" msgstr "COST має бути додатнім" -#: commands/functioncmds.c:837 commands/functioncmds.c:1440 +#: commands/functioncmds.c:832 commands/functioncmds.c:1435 #, c-format msgid "ROWS must be positive" msgstr "Значення ROWS повинно бути позитивним" -#: commands/functioncmds.c:866 +#: commands/functioncmds.c:861 #, c-format msgid "no function body specified" msgstr "не вказано тіло функції" -#: commands/functioncmds.c:871 +#: commands/functioncmds.c:866 #, c-format msgid "duplicate function body specified" msgstr "вказано тіло дубліката функції" -#: commands/functioncmds.c:876 +#: commands/functioncmds.c:871 #, c-format msgid "inline SQL function body only valid for language SQL" msgstr "вбудоване тіло функції SQL допустиме лише для мови SQL" -#: commands/functioncmds.c:918 +#: commands/functioncmds.c:913 #, c-format msgid "SQL function with unquoted function body cannot have polymorphic arguments" msgstr "SQL функція з тілом без лапок не може мати поліморфні аргументи" -#: commands/functioncmds.c:944 commands/functioncmds.c:963 +#: commands/functioncmds.c:939 commands/functioncmds.c:958 #, c-format msgid "%s is not yet supported in unquoted SQL function body" msgstr "%s ще не підтримується у тілі SQL функції без лапок" -#: commands/functioncmds.c:991 +#: commands/functioncmds.c:986 #, c-format msgid "only one AS item needed for language \"%s\"" msgstr "для мови \"%s\" потрібен лише один вираз AS" -#: commands/functioncmds.c:1096 +#: commands/functioncmds.c:1091 #, c-format msgid "no language specified" msgstr "не вказано жодної мови" -#: commands/functioncmds.c:1104 commands/functioncmds.c:2105 -#: commands/proclang.c:237 +#: commands/functioncmds.c:1099 commands/functioncmds.c:2117 +#: commands/proclang.c:235 #, c-format msgid "language \"%s\" does not exist" msgstr "мови \"%s\" не існує" -#: commands/functioncmds.c:1106 commands/functioncmds.c:2107 +#: commands/functioncmds.c:1101 commands/functioncmds.c:2119 #, c-format msgid "Use CREATE EXTENSION to load the language into the database." msgstr "Використайте CREATE EXTENSION, щоб завантажити мову в базу даних." -#: commands/functioncmds.c:1139 commands/functioncmds.c:1424 +#: commands/functioncmds.c:1134 commands/functioncmds.c:1419 #, c-format msgid "only superuser can define a leakproof function" msgstr "лише суперкористувачі можуть визначити функцію з атрибутом leakproof" -#: commands/functioncmds.c:1190 +#: commands/functioncmds.c:1185 #, c-format msgid "function result type must be %s because of OUT parameters" msgstr "результат функції повинен мати тип %s відповідно з параметрами OUT" -#: commands/functioncmds.c:1203 +#: commands/functioncmds.c:1198 #, c-format msgid "function result type must be specified" msgstr "необхідно вказати тип результату функції" -#: commands/functioncmds.c:1256 commands/functioncmds.c:1444 +#: commands/functioncmds.c:1251 commands/functioncmds.c:1439 #, c-format msgid "ROWS is not applicable when function does not return a set" msgstr "ROWS не застосовується, коли функція не повертає набір" -#: commands/functioncmds.c:1547 +#: commands/functioncmds.c:1546 #, c-format msgid "source data type %s is a pseudo-type" msgstr "вихідний тип даних %s є псевдотипом" -#: commands/functioncmds.c:1553 +#: commands/functioncmds.c:1552 #, c-format msgid "target data type %s is a pseudo-type" msgstr "цільовий тип даних %s є псевдотипом" -#: commands/functioncmds.c:1577 +#: commands/functioncmds.c:1576 #, c-format msgid "cast will be ignored because the source data type is a domain" msgstr "приведення буде ігноруватися, оскільки вихідні дані мають тип домену" -#: commands/functioncmds.c:1582 +#: commands/functioncmds.c:1581 #, c-format msgid "cast will be ignored because the target data type is a domain" msgstr "приведення буде ігноруватися, оскільки цільові дані мають тип домену" -#: commands/functioncmds.c:1607 +#: commands/functioncmds.c:1606 #, c-format msgid "cast function must take one to three arguments" msgstr "функція приведення повинна приймати від одного до трьох аргументів" -#: commands/functioncmds.c:1613 +#: commands/functioncmds.c:1612 #, c-format msgid "argument of cast function must match or be binary-coercible from source data type" msgstr "аргумент функції приведення повинен співпадати або бути двійково-сумісним з вихідним типом даних" -#: commands/functioncmds.c:1617 +#: commands/functioncmds.c:1616 #, c-format msgid "second argument of cast function must be type %s" msgstr "другий аргумент функції приведення повинен мати тип %s" -#: commands/functioncmds.c:1622 +#: commands/functioncmds.c:1621 #, c-format msgid "third argument of cast function must be type %s" msgstr "третій аргумент функції приведення повинен мати тип %s" -#: commands/functioncmds.c:1629 +#: commands/functioncmds.c:1628 #, c-format msgid "return data type of cast function must match or be binary-coercible to target data type" msgstr "тип вертаючих даних функції приведення повинен співпадати або бути двійково-сумісним з цільовим типом даних" -#: commands/functioncmds.c:1640 +#: commands/functioncmds.c:1639 #, c-format msgid "cast function must not be volatile" msgstr "функція приведення не може бути змінною (volatile)" -#: commands/functioncmds.c:1645 +#: commands/functioncmds.c:1644 #, c-format msgid "cast function must be a normal function" msgstr "функція приведення повинна бути звичайною функцією" -#: commands/functioncmds.c:1649 +#: commands/functioncmds.c:1648 #, c-format msgid "cast function must not return a set" msgstr "функція приведення не може вертати набір" -#: commands/functioncmds.c:1675 +#: commands/functioncmds.c:1674 #, c-format msgid "must be superuser to create a cast WITHOUT FUNCTION" msgstr "тільки суперкористувач може створити приведення WITHOUT FUNCTION" -#: commands/functioncmds.c:1690 +#: commands/functioncmds.c:1689 #, c-format msgid "source and target data types are not physically compatible" msgstr "вихідний та цільовий типи даних не сумісні фізично" -#: commands/functioncmds.c:1705 +#: commands/functioncmds.c:1709 #, c-format msgid "composite data types are not binary-compatible" msgstr "складені типи даних не сумісні на двійковому рівні" -#: commands/functioncmds.c:1711 -#, c-format -msgid "enum data types are not binary-compatible" -msgstr "типи переліку не сумісні на двійковому рівні" - -#: commands/functioncmds.c:1717 +#: commands/functioncmds.c:1715 #, c-format msgid "array data types are not binary-compatible" msgstr "типи масивів не сумісні на двійковому рівні" -#: commands/functioncmds.c:1734 +#: commands/functioncmds.c:1723 +#, c-format +msgid "range data types are not binary-compatible" +msgstr "типи-діапазону не сумісні на двійковому рівні" + +#: commands/functioncmds.c:1729 +#, c-format +msgid "enum data types are not binary-compatible" +msgstr "типи переліку не сумісні на двійковому рівні" + +#: commands/functioncmds.c:1746 #, c-format msgid "domain data types must not be marked binary-compatible" msgstr "типи доменів не можуть вважатись сумісними на двійковому рівні" -#: commands/functioncmds.c:1744 +#: commands/functioncmds.c:1756 #, c-format msgid "source data type and target data type are the same" msgstr "вихідний тип даних співпадає з цільовим типом" -#: commands/functioncmds.c:1777 +#: commands/functioncmds.c:1789 #, c-format msgid "transform function must not be volatile" msgstr "функція перетворення не може бути мінливою" -#: commands/functioncmds.c:1781 +#: commands/functioncmds.c:1793 #, c-format msgid "transform function must be a normal function" msgstr "функція перетворення повинна бути нормальною функцією" -#: commands/functioncmds.c:1785 +#: commands/functioncmds.c:1797 #, c-format msgid "transform function must not return a set" msgstr "функція перетворення не повинна повертати набір" -#: commands/functioncmds.c:1789 +#: commands/functioncmds.c:1801 #, c-format msgid "transform function must take one argument" msgstr "функція перетворення повинна приймати один аргумент" -#: commands/functioncmds.c:1793 +#: commands/functioncmds.c:1805 #, c-format msgid "first argument of transform function must be type %s" msgstr "перший аргумент функції перетворення повинен бути типу %s" -#: commands/functioncmds.c:1832 +#: commands/functioncmds.c:1844 #, c-format msgid "data type %s is a pseudo-type" msgstr "тип даних %s є псевдотипом" -#: commands/functioncmds.c:1838 +#: commands/functioncmds.c:1850 #, c-format msgid "data type %s is a domain" msgstr "тип даних %s є доменом" -#: commands/functioncmds.c:1878 +#: commands/functioncmds.c:1890 #, c-format msgid "return data type of FROM SQL function must be %s" msgstr "результат функції FROM SQL має бути типу %s" -#: commands/functioncmds.c:1904 +#: commands/functioncmds.c:1916 #, c-format msgid "return data type of TO SQL function must be the transform data type" msgstr "результат функції TO SQL повинен мати тип даних перетворення" -#: commands/functioncmds.c:1931 +#: commands/functioncmds.c:1943 #, c-format msgid "transform for type %s language \"%s\" already exists" msgstr "перетворення для типу %s мови \"%s\" вже існує" -#: commands/functioncmds.c:2017 +#: commands/functioncmds.c:2029 #, c-format msgid "transform for type %s language \"%s\" does not exist" msgstr "перетворення для типу %s мови \"%s\" не існує" -#: commands/functioncmds.c:2041 +#: commands/functioncmds.c:2053 #, c-format msgid "function %s already exists in schema \"%s\"" msgstr "функція %s вже існує в схемі \"%s\"" -#: commands/functioncmds.c:2092 +#: commands/functioncmds.c:2104 #, c-format msgid "no inline code specified" msgstr "не вказано жодного впровадженого коду" -#: commands/functioncmds.c:2138 +#: commands/functioncmds.c:2150 #, c-format msgid "language \"%s\" does not support inline code execution" msgstr "мова \"%s\" не підтримує виконання впровадженого коду" -#: commands/functioncmds.c:2233 +#: commands/functioncmds.c:2245 #, c-format msgid "cannot pass more than %d argument to a procedure" msgid_plural "cannot pass more than %d arguments to a procedure" @@ -8694,555 +9018,560 @@ msgstr[1] "процедурі неможливо передати більше % msgstr[2] "процедурі неможливо передати більше %d аргументів" msgstr[3] "процедурі неможливо передати більше %d аргументів" -#: commands/indexcmds.c:640 +#: commands/indexcmds.c:648 #, c-format msgid "must specify at least one column" msgstr "треба вказати хоча б один стовпець" -#: commands/indexcmds.c:644 +#: commands/indexcmds.c:652 #, c-format msgid "cannot use more than %d columns in an index" msgstr "не можна використовувати більше ніж %d стовпців в індексі" -#: commands/indexcmds.c:687 +#: commands/indexcmds.c:695 #, c-format msgid "cannot create index on relation \"%s\"" msgstr "створити індекс для відношення \"%s\" не можна" -#: commands/indexcmds.c:713 +#: commands/indexcmds.c:721 #, c-format msgid "cannot create index on partitioned table \"%s\" concurrently" msgstr "неможливо створити індекс в секційній таблиці \"%s\" паралельним способом" -#: commands/indexcmds.c:718 -#, c-format -msgid "cannot create exclusion constraints on partitioned table \"%s\"" -msgstr "створити обмеження-виняток в секціонованій таблиці \"%s\" не можна" - -#: commands/indexcmds.c:728 +#: commands/indexcmds.c:731 #, c-format msgid "cannot create indexes on temporary tables of other sessions" msgstr "неможливо створити індекси в тимчасових таблицях в інших сеансах" -#: commands/indexcmds.c:766 commands/tablecmds.c:784 commands/tablespace.c:1184 +#: commands/indexcmds.c:769 commands/tablecmds.c:801 commands/tablespace.c:1178 #, c-format msgid "cannot specify default tablespace for partitioned relations" msgstr "для секціонованих відношень не можна вказати табличний простір за замовчуванням" -#: commands/indexcmds.c:798 commands/tablecmds.c:819 commands/tablecmds.c:3409 +#: commands/indexcmds.c:801 commands/tablecmds.c:832 commands/tablecmds.c:3571 #, c-format msgid "only shared relations can be placed in pg_global tablespace" msgstr "тільки спільні відношення можуть бути поміщені в табличний pg_global" -#: commands/indexcmds.c:831 +#: commands/indexcmds.c:834 #, c-format msgid "substituting access method \"gist\" for obsolete method \"rtree\"" msgstr "застарілий метод доступу \"rtree\" підміняється методом \"gist\"" -#: commands/indexcmds.c:852 +#: commands/indexcmds.c:855 #, c-format msgid "access method \"%s\" does not support unique indexes" msgstr "методу доступу \"%s\" не підтримує унікальні індекси" -#: commands/indexcmds.c:857 +#: commands/indexcmds.c:860 #, c-format msgid "access method \"%s\" does not support included columns" msgstr "методу доступу \"%s\" не підтримує включені стовпці" -#: commands/indexcmds.c:862 +#: commands/indexcmds.c:865 #, c-format msgid "access method \"%s\" does not support multicolumn indexes" msgstr "метод доступу \"%s\" не підтримує багатостовпцеві індекси" -#: commands/indexcmds.c:867 +#: commands/indexcmds.c:870 #, c-format msgid "access method \"%s\" does not support exclusion constraints" msgstr "метод доступу \"%s\" не підтримує обмеження-винятки" -#: commands/indexcmds.c:994 +#: commands/indexcmds.c:999 #, c-format msgid "cannot match partition key to an index using access method \"%s\"" msgstr "не можна зіставити ключ розділу з індексом використовуючи метод доступу \"%s\"" -#: commands/indexcmds.c:1004 +#: commands/indexcmds.c:1009 #, c-format msgid "unsupported %s constraint with partition key definition" msgstr "непідтримуване обмеження \"%s\" з визначенням ключа секціонування" -#: commands/indexcmds.c:1006 +#: commands/indexcmds.c:1011 #, c-format msgid "%s constraints cannot be used when partition keys include expressions." msgstr "обмеження %s не можуть використовуватись, якщо ключі секціонування включають вирази." -#: commands/indexcmds.c:1048 +#: commands/indexcmds.c:1061 +#, c-format +msgid "cannot match partition key to index on column \"%s\" using non-equal operator \"%s\"" +msgstr "не вдається зіставити ключ розділу з індексом у стовпці \"%s\" за допомогою оператора нерівності \"%s\"" + +#: commands/indexcmds.c:1077 #, c-format msgid "unique constraint on partitioned table must include all partitioning columns" msgstr "обмеження унікальності в секціонованій таблиці повинно включати всі стовпці секціонування" -#: commands/indexcmds.c:1049 +#: commands/indexcmds.c:1078 #, c-format msgid "%s constraint on table \"%s\" lacks column \"%s\" which is part of the partition key." msgstr "в обмеженні %s таблиці\"%s\" не вистачає стовпця \"%s\", що є частиною ключа секціонування." -#: commands/indexcmds.c:1068 commands/indexcmds.c:1087 +#: commands/indexcmds.c:1097 commands/indexcmds.c:1116 #, c-format msgid "index creation on system columns is not supported" msgstr "створення індексу для системних стовпців не підтримується" -#: commands/indexcmds.c:1316 tcop/utility.c:1526 +#: commands/indexcmds.c:1346 tcop/utility.c:1515 #, c-format msgid "cannot create unique index on partitioned table \"%s\"" msgstr "не можна створити унікальний індекс в секціонованій таблиці \"%s\"" -#: commands/indexcmds.c:1318 tcop/utility.c:1528 +#: commands/indexcmds.c:1348 tcop/utility.c:1517 #, c-format msgid "Table \"%s\" contains partitions that are foreign tables." msgstr "Таблиця \"%s\" містить секції, які є зовнішніми таблицями." -#: commands/indexcmds.c:1803 +#: commands/indexcmds.c:1833 #, c-format msgid "functions in index predicate must be marked IMMUTABLE" msgstr "функції в предикаті індексу повинні бути позначені як IMMUTABLE" -#: commands/indexcmds.c:1881 parser/parse_utilcmd.c:2522 -#: parser/parse_utilcmd.c:2657 +#: commands/indexcmds.c:1912 parser/parse_utilcmd.c:2519 +#: parser/parse_utilcmd.c:2654 #, c-format msgid "column \"%s\" named in key does not exist" msgstr "вказаний у ключі стовпець \"%s\" не існує" -#: commands/indexcmds.c:1905 parser/parse_utilcmd.c:1821 +#: commands/indexcmds.c:1936 parser/parse_utilcmd.c:1807 #, c-format msgid "expressions are not supported in included columns" msgstr "вирази не підтримуються у включених стовпцях " -#: commands/indexcmds.c:1946 +#: commands/indexcmds.c:1977 #, c-format msgid "functions in index expression must be marked IMMUTABLE" msgstr "функції в індексному виразі повинні бути позначені як IMMUTABLE" -#: commands/indexcmds.c:1961 +#: commands/indexcmds.c:1992 #, c-format msgid "including column does not support a collation" msgstr "включені стовпці не підтримують правила сортування" -#: commands/indexcmds.c:1965 +#: commands/indexcmds.c:1996 #, c-format msgid "including column does not support an operator class" msgstr "включені стовпці не підтримують класи операторів" -#: commands/indexcmds.c:1969 +#: commands/indexcmds.c:2000 #, c-format msgid "including column does not support ASC/DESC options" msgstr "включені стовпці не підтримують параметри ASC/DESC" -#: commands/indexcmds.c:1973 +#: commands/indexcmds.c:2004 #, c-format msgid "including column does not support NULLS FIRST/LAST options" msgstr "включені стовпці не підтримують параметри NULLS FIRST/LAST" -#: commands/indexcmds.c:2014 +#: commands/indexcmds.c:2047 #, c-format msgid "could not determine which collation to use for index expression" msgstr "не вдалося визначити, яке правило сортування використати для індексного виразу" -#: commands/indexcmds.c:2022 commands/tablecmds.c:17497 commands/typecmds.c:807 -#: parser/parse_expr.c:2722 parser/parse_type.c:568 parser/parse_utilcmd.c:3783 -#: utils/adt/misc.c:586 +#: commands/indexcmds.c:2055 commands/tablecmds.c:18075 commands/typecmds.c:811 +#: parser/parse_expr.c:2785 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" msgstr "тип %s не підтримує правила сортування" -#: commands/indexcmds.c:2087 +#: commands/indexcmds.c:2122 #, c-format msgid "operator %s is not commutative" msgstr "оператор %s не комутативний" -#: commands/indexcmds.c:2089 +#: commands/indexcmds.c:2124 #, c-format msgid "Only commutative operators can be used in exclusion constraints." msgstr "В обмеженнях-виключеннях можуть використовуватись лише комутативні оператори." -#: commands/indexcmds.c:2115 +#: commands/indexcmds.c:2150 #, c-format msgid "operator %s is not a member of operator family \"%s\"" msgstr "оператор %s не є членом сімейства операторів \"%s\"" -#: commands/indexcmds.c:2118 +#: commands/indexcmds.c:2153 #, c-format msgid "The exclusion operator must be related to the index operator class for the constraint." msgstr "Оператор винятку для обмеження повинен відноситись до класу операторів індексу." -#: commands/indexcmds.c:2153 +#: commands/indexcmds.c:2188 #, c-format msgid "access method \"%s\" does not support ASC/DESC options" msgstr "метод доступу \"%s\" не підтримує параметри ASC/DESC" -#: commands/indexcmds.c:2158 +#: commands/indexcmds.c:2193 #, c-format msgid "access method \"%s\" does not support NULLS FIRST/LAST options" msgstr "метод доступу \"%s\" не підтримує параметри NULLS FIRST/LAST" -#: commands/indexcmds.c:2204 commands/tablecmds.c:17522 -#: commands/tablecmds.c:17528 commands/typecmds.c:2301 +#: commands/indexcmds.c:2237 commands/tablecmds.c:18100 +#: commands/tablecmds.c:18106 commands/typecmds.c:2311 #, c-format msgid "data type %s has no default operator class for access method \"%s\"" msgstr "тип даних %s не має класу операторів за замовчуванням для методу доступу \"%s\"" -#: commands/indexcmds.c:2206 +#: commands/indexcmds.c:2239 #, c-format msgid "You must specify an operator class for the index or define a default operator class for the data type." msgstr "Ви повинні вказати клас операторів для індексу або визначити клас операторів за замовчуванням для цього типу даних." -#: commands/indexcmds.c:2235 commands/indexcmds.c:2243 -#: commands/opclasscmds.c:205 +#: commands/indexcmds.c:2268 commands/indexcmds.c:2276 +#: commands/opclasscmds.c:204 #, c-format msgid "operator class \"%s\" does not exist for access method \"%s\"" msgstr "клас операторів \"%s\" не існує для методу доступу \"%s\"" -#: commands/indexcmds.c:2257 commands/typecmds.c:2289 +#: commands/indexcmds.c:2290 commands/typecmds.c:2299 #, c-format msgid "operator class \"%s\" does not accept data type %s" msgstr "клас операторів \"%s\" не приймає тип даних %s" -#: commands/indexcmds.c:2347 +#: commands/indexcmds.c:2380 #, c-format msgid "there are multiple default operator classes for data type %s" msgstr "для типу даних %s є кілька класів операторів за замовчуванням" -#: commands/indexcmds.c:2675 +#: commands/indexcmds.c:2708 #, c-format msgid "unrecognized REINDEX option \"%s\"" msgstr "нерозпізнаний параметр REINDEX \"%s\"" -#: commands/indexcmds.c:2899 +#: commands/indexcmds.c:2940 #, c-format msgid "table \"%s\" has no indexes that can be reindexed concurrently" msgstr "таблиця \"%s\" не має індексів, які можна переіндексувати паралельно" -#: commands/indexcmds.c:2913 +#: commands/indexcmds.c:2954 #, c-format msgid "table \"%s\" has no indexes to reindex" msgstr "таблиця \"%s\" не має індексів для переіндексування" -#: commands/indexcmds.c:2958 commands/indexcmds.c:3468 -#: commands/indexcmds.c:3596 +#: commands/indexcmds.c:3001 commands/indexcmds.c:3512 +#: commands/indexcmds.c:3642 #, c-format msgid "cannot reindex system catalogs concurrently" msgstr "не можна конкурентно переіндексувати системні каталоги" -#: commands/indexcmds.c:2981 +#: commands/indexcmds.c:3025 #, c-format msgid "can only reindex the currently open database" msgstr "переіндексувати можна тільки наразі відкриту базу даних" -#: commands/indexcmds.c:3075 +#: commands/indexcmds.c:3117 #, c-format msgid "cannot reindex system catalogs concurrently, skipping all" msgstr "не можна конкурентно переіндексувати системні каталоги, пропускаємо" -#: commands/indexcmds.c:3108 +#: commands/indexcmds.c:3150 #, c-format msgid "cannot move system relations, skipping all" msgstr "не можна перемістити системні відношення, пропускаються усі" -#: commands/indexcmds.c:3154 +#: commands/indexcmds.c:3196 #, c-format msgid "while reindexing partitioned table \"%s.%s\"" msgstr "під час переіндексування секціонованої таблиці \"%s.%s\"" -#: commands/indexcmds.c:3157 +#: commands/indexcmds.c:3199 #, c-format msgid "while reindexing partitioned index \"%s.%s\"" msgstr "під час переіндексування секціонованого індексу \"%s.%s\"" -#: commands/indexcmds.c:3348 commands/indexcmds.c:4204 +#: commands/indexcmds.c:3392 commands/indexcmds.c:4268 #, c-format msgid "table \"%s.%s\" was reindexed" msgstr "таблиця \"%s.%s\" була переіндексована" -#: commands/indexcmds.c:3500 commands/indexcmds.c:3552 +#: commands/indexcmds.c:3544 commands/indexcmds.c:3597 +#, c-format +msgid "skipping reindex of invalid index \"%s.%s\"" +msgstr "пропуск пере індексації недійсного індексу \"%s.%s\"" + +#: commands/indexcmds.c:3547 commands/indexcmds.c:3600 #, c-format -msgid "cannot reindex invalid index \"%s.%s\" concurrently, skipping" -msgstr "неможливо переіндексувати пошкоджений індекс \"%s.%s\" паралельно, пропускається" +msgid "Use DROP INDEX or REINDEX INDEX." +msgstr "Використовуйте DROP INDEX або REINDEX INDEX." -#: commands/indexcmds.c:3506 +#: commands/indexcmds.c:3551 #, c-format msgid "cannot reindex exclusion constraint index \"%s.%s\" concurrently, skipping" msgstr "неможливо переіндексувати індекс обмеження-виключення \"%s.%s\" паралельно, пропускається" -#: commands/indexcmds.c:3661 +#: commands/indexcmds.c:3707 #, c-format msgid "cannot reindex this type of relation concurrently" msgstr "неможливо переіндексувати цей тип відношень паралельон" -#: commands/indexcmds.c:3682 +#: commands/indexcmds.c:3725 #, c-format msgid "cannot move non-shared relation to tablespace \"%s\"" msgstr "не можна перемістити не спільне відношення до табличного простору \"%s\"" -#: commands/indexcmds.c:4185 commands/indexcmds.c:4197 +#: commands/indexcmds.c:4249 commands/indexcmds.c:4261 #, c-format msgid "index \"%s.%s\" was reindexed" msgstr "індекс \"%s.%s\" був перебудований" -#: commands/indexcmds.c:4187 commands/indexcmds.c:4206 +#: commands/indexcmds.c:4251 commands/indexcmds.c:4270 #, c-format msgid "%s." msgstr "%s." -#: commands/lockcmds.c:92 +#: commands/lockcmds.c:91 #, c-format msgid "cannot lock relation \"%s\"" msgstr "блокувати відношення \"%s\" не можна" -#: commands/matview.c:193 +#: commands/matview.c:206 #, c-format msgid "CONCURRENTLY cannot be used when the materialized view is not populated" msgstr "CONCURRENTLY не може використовуватись, коли матеріалізоване подання не наповнено" -#: commands/matview.c:199 gram.y:18306 +#: commands/matview.c:212 gram.y:18918 #, c-format msgid "%s and %s options cannot be used together" msgstr "параметри %s та %s не можуть бути використані разом" -#: commands/matview.c:256 +#: commands/matview.c:269 #, c-format msgid "cannot refresh materialized view \"%s\" concurrently" msgstr "оновити матеріалізоване подання \"%s\" паралельно не можна" -#: commands/matview.c:259 +#: commands/matview.c:272 #, c-format msgid "Create a unique index with no WHERE clause on one or more columns of the materialized view." msgstr "Створіть унікальний індекс без речення WHERE для одного або більше стовпців матеріалізованого подання." -#: commands/matview.c:653 +#: commands/matview.c:666 #, c-format msgid "new data for materialized view \"%s\" contains duplicate rows without any null columns" msgstr "нові дані для матеріалізованого подання \"%s\" містять рядки, які дублюються (без урахування стовпців з null)" -#: commands/matview.c:655 +#: commands/matview.c:668 #, c-format msgid "Row: %s" msgstr "Рядок: %s" -#: commands/opclasscmds.c:124 +#: commands/opclasscmds.c:123 #, c-format msgid "operator family \"%s\" does not exist for access method \"%s\"" msgstr "сімейство операторів \"%s\" не існує для методу доступу \"%s\"" -#: commands/opclasscmds.c:267 +#: commands/opclasscmds.c:266 #, c-format msgid "operator family \"%s\" for access method \"%s\" already exists" msgstr "сімейство операторів \"%s\" для методу доступу \"%s\" вже існує" -#: commands/opclasscmds.c:416 +#: commands/opclasscmds.c:415 #, c-format msgid "must be superuser to create an operator class" msgstr "тільки суперкористувач може створити клас операторів" -#: commands/opclasscmds.c:493 commands/opclasscmds.c:910 -#: commands/opclasscmds.c:1056 +#: commands/opclasscmds.c:492 commands/opclasscmds.c:909 +#: commands/opclasscmds.c:1055 #, c-format msgid "invalid operator number %d, must be between 1 and %d" msgstr "неприпустимий номер оператора %d, число має бути між 1 і %d" -#: commands/opclasscmds.c:538 commands/opclasscmds.c:960 -#: commands/opclasscmds.c:1072 +#: commands/opclasscmds.c:537 commands/opclasscmds.c:959 +#: commands/opclasscmds.c:1071 #, c-format msgid "invalid function number %d, must be between 1 and %d" msgstr "неприпустимий номер функції %d, число має бути між 1 і %d" -#: commands/opclasscmds.c:567 +#: commands/opclasscmds.c:566 #, c-format msgid "storage type specified more than once" msgstr "тип сховища вказано більше одного разу" -#: commands/opclasscmds.c:594 +#: commands/opclasscmds.c:593 #, c-format msgid "storage type cannot be different from data type for access method \"%s\"" msgstr "тип сховища не може відрізнятися від типу даних для методу доступу \"%s\"" -#: commands/opclasscmds.c:610 +#: commands/opclasscmds.c:609 #, c-format msgid "operator class \"%s\" for access method \"%s\" already exists" msgstr "клас операторів \"%s\" для методу доступу \"%s\" вже існує" -#: commands/opclasscmds.c:638 +#: commands/opclasscmds.c:637 #, c-format msgid "could not make operator class \"%s\" be default for type %s" msgstr "клас операторів \"%s\" не вдалося зробити класом за замовчуванням для типу %s" -#: commands/opclasscmds.c:641 +#: commands/opclasscmds.c:640 #, c-format msgid "Operator class \"%s\" already is the default." msgstr "Клас операторів \"%s\" вже є класом за замовчуванням." -#: commands/opclasscmds.c:801 +#: commands/opclasscmds.c:800 #, c-format msgid "must be superuser to create an operator family" msgstr "тільки суперкористувач може створити сімейство операторів" -#: commands/opclasscmds.c:861 +#: commands/opclasscmds.c:860 #, c-format msgid "must be superuser to alter an operator family" msgstr "тільки суперкористувач може змінити сімейство операторів" -#: commands/opclasscmds.c:919 +#: commands/opclasscmds.c:918 #, c-format msgid "operator argument types must be specified in ALTER OPERATOR FAMILY" msgstr "типи аргументу оператора повинні бути вказані в ALTER OPERATOR FAMILY" -#: commands/opclasscmds.c:994 +#: commands/opclasscmds.c:993 #, c-format msgid "STORAGE cannot be specified in ALTER OPERATOR FAMILY" msgstr "STORAGE не може бути вказано в ALTER OPERATOR FAMILY" -#: commands/opclasscmds.c:1128 +#: commands/opclasscmds.c:1127 #, c-format msgid "one or two argument types must be specified" msgstr "треба вказати один або два типи аргументу" -#: commands/opclasscmds.c:1154 +#: commands/opclasscmds.c:1153 #, c-format msgid "index operators must be binary" msgstr "індексні оператори повинні бути бінарними" -#: commands/opclasscmds.c:1173 +#: commands/opclasscmds.c:1172 #, c-format msgid "access method \"%s\" does not support ordering operators" msgstr "метод доступу \"%s\" не підтримує сортувальних операторів" -#: commands/opclasscmds.c:1184 +#: commands/opclasscmds.c:1183 #, c-format msgid "index search operators must return boolean" msgstr "оператори пошуку по індексу повинні повертати логічне значення" -#: commands/opclasscmds.c:1224 +#: commands/opclasscmds.c:1223 #, c-format msgid "associated data types for operator class options parsing functions must match opclass input type" msgstr "пов'язані типи даних для функцій обробки параметрів класів операторів повинні відповідати типу вхідних даних opclass" -#: commands/opclasscmds.c:1231 +#: commands/opclasscmds.c:1230 #, c-format msgid "left and right associated data types for operator class options parsing functions must match" msgstr "ліві та праві пов'язані типи даних для функцій розбору параметрів класів операторів повинні збігатись" -#: commands/opclasscmds.c:1239 +#: commands/opclasscmds.c:1238 #, c-format msgid "invalid operator class options parsing function" msgstr "неприпустима функція розбору параметрів класів операторів" -#: commands/opclasscmds.c:1240 +#: commands/opclasscmds.c:1239 #, c-format msgid "Valid signature of operator class options parsing function is %s." msgstr "Допустимий підпис для функції розбору параметрів класів операторів: %s." -#: commands/opclasscmds.c:1259 +#: commands/opclasscmds.c:1258 #, c-format msgid "btree comparison functions must have two arguments" msgstr "функції порівняння btree повинні мати два аргумента" -#: commands/opclasscmds.c:1263 +#: commands/opclasscmds.c:1262 #, c-format msgid "btree comparison functions must return integer" msgstr "функції порівняння btree повинні повертати ціле число" -#: commands/opclasscmds.c:1280 +#: commands/opclasscmds.c:1279 #, c-format msgid "btree sort support functions must accept type \"internal\"" msgstr "опорні функції сортування btree повинні приймати тип \"internal\"" -#: commands/opclasscmds.c:1284 +#: commands/opclasscmds.c:1283 #, c-format msgid "btree sort support functions must return void" msgstr "опорні функції сортування btree повинні повертати недійсне (void)" -#: commands/opclasscmds.c:1295 +#: commands/opclasscmds.c:1294 #, c-format msgid "btree in_range functions must have five arguments" msgstr "функції in_range для btree повинні приймати п'ять аргументів" -#: commands/opclasscmds.c:1299 +#: commands/opclasscmds.c:1298 #, c-format msgid "btree in_range functions must return boolean" msgstr "функції in_range для btree повинні повертати логічне значення" -#: commands/opclasscmds.c:1315 +#: commands/opclasscmds.c:1314 #, c-format msgid "btree equal image functions must have one argument" msgstr "функції equal image для btree повинні приймати один аргумент" -#: commands/opclasscmds.c:1319 +#: commands/opclasscmds.c:1318 #, c-format msgid "btree equal image functions must return boolean" msgstr "функції equal image для btree повинні повертати логічне значення" -#: commands/opclasscmds.c:1332 +#: commands/opclasscmds.c:1331 #, c-format msgid "btree equal image functions must not be cross-type" msgstr "функції equal image для btree не можуть бути хрестоподібного типу" -#: commands/opclasscmds.c:1342 +#: commands/opclasscmds.c:1341 #, c-format msgid "hash function 1 must have one argument" msgstr "геш-функція 1 повинна приймати один аргумент" -#: commands/opclasscmds.c:1346 +#: commands/opclasscmds.c:1345 #, c-format msgid "hash function 1 must return integer" msgstr "геш-функція 1 повинна повертати ціле число" -#: commands/opclasscmds.c:1353 +#: commands/opclasscmds.c:1352 #, c-format msgid "hash function 2 must have two arguments" msgstr "геш-функція 2 повинна приймати два аргументи" -#: commands/opclasscmds.c:1357 +#: commands/opclasscmds.c:1356 #, c-format msgid "hash function 2 must return bigint" msgstr "геш-функція 2 повинна повертати велике ціле (bigint)" -#: commands/opclasscmds.c:1382 +#: commands/opclasscmds.c:1381 #, c-format msgid "associated data types must be specified for index support function" msgstr "для опорної функції індексів повинні бути вказані пов'язані типи даних" -#: commands/opclasscmds.c:1407 +#: commands/opclasscmds.c:1406 #, c-format msgid "function number %d for (%s,%s) appears more than once" msgstr "номер функції %d для (%s,%s) з'являється більш ніж один раз" -#: commands/opclasscmds.c:1414 +#: commands/opclasscmds.c:1413 #, c-format msgid "operator number %d for (%s,%s) appears more than once" msgstr "номер оператора %d для (%s,%s) з'являється більш ніж один раз" -#: commands/opclasscmds.c:1460 +#: commands/opclasscmds.c:1459 #, c-format msgid "operator %d(%s,%s) already exists in operator family \"%s\"" msgstr "оператор %d(%s,%s) вже існує в сімействі операторів \"%s\"" -#: commands/opclasscmds.c:1566 +#: commands/opclasscmds.c:1565 #, c-format msgid "function %d(%s,%s) already exists in operator family \"%s\"" msgstr "функція %d(%s,%s) вже існує в сімействі операторів \"%s\"" -#: commands/opclasscmds.c:1647 +#: commands/opclasscmds.c:1646 #, c-format msgid "operator %d(%s,%s) does not exist in operator family \"%s\"" msgstr "оператора %d(%s,%s) не існує в сімействі операторів \"%s\"" -#: commands/opclasscmds.c:1687 +#: commands/opclasscmds.c:1686 #, c-format msgid "function %d(%s,%s) does not exist in operator family \"%s\"" msgstr "функції %d(%s,%s) не існує в сімействі операторів \"%s\"" -#: commands/opclasscmds.c:1718 +#: commands/opclasscmds.c:1717 #, c-format msgid "operator class \"%s\" for access method \"%s\" already exists in schema \"%s\"" msgstr "клас операторів \"%s\" для методу доступу \"%s\" вже існує в схемі \"%s\"" -#: commands/opclasscmds.c:1741 +#: commands/opclasscmds.c:1740 #, c-format msgid "operator family \"%s\" for access method \"%s\" already exists in schema \"%s\"" msgstr "сімейство операторів \"%s\" для методу доступу \"%s\" вже існує в схемі \"%s\"" @@ -9252,7 +9581,7 @@ msgstr "сімейство операторів \"%s\" для методу до msgid "SETOF type not allowed for operator argument" msgstr "Аргументом оператора не може бути тип SETOF" -#: commands/operatorcmds.c:154 commands/operatorcmds.c:481 +#: commands/operatorcmds.c:154 commands/operatorcmds.c:554 #, c-format msgid "operator attribute \"%s\" not recognized" msgstr "атрибут оператора \"%s\" не розпізнаний" @@ -9292,53 +9621,70 @@ msgstr "функція оцінювання з'єднання %s має декі msgid "join estimator function %s must return type %s" msgstr "функція оцінювання з'єднання %s повинна повертати тип %s" -#: commands/operatorcmds.c:475 +#: commands/operatorcmds.c:388 parser/parse_oper.c:119 parser/parse_oper.c:637 +#: utils/adt/regproc.c:509 utils/adt/regproc.c:683 +#, c-format +msgid "operator does not exist: %s" +msgstr "оператор не існує: %s" + +#: commands/operatorcmds.c:396 parser/parse_oper.c:702 parser/parse_oper.c:815 +#, c-format +msgid "operator is only a shell: %s" +msgstr "оператор є лише оболонкою: %s" + +#: commands/operatorcmds.c:548 #, c-format msgid "operator attribute \"%s\" cannot be changed" msgstr "атрибут оператора \"%s\" неможливо змінити" -#: commands/policy.c:89 commands/policy.c:382 commands/statscmds.c:149 -#: commands/tablecmds.c:1616 commands/tablecmds.c:2219 -#: commands/tablecmds.c:3520 commands/tablecmds.c:6369 -#: commands/tablecmds.c:9189 commands/tablecmds.c:17084 -#: commands/tablecmds.c:17119 commands/trigger.c:323 commands/trigger.c:1339 -#: commands/trigger.c:1449 rewrite/rewriteDefine.c:275 -#: rewrite/rewriteDefine.c:786 rewrite/rewriteRemove.c:80 +#: commands/operatorcmds.c:615 commands/operatorcmds.c:622 +#: commands/operatorcmds.c:628 commands/operatorcmds.c:634 +#, c-format +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:1723 commands/tablecmds.c:2323 +#: commands/tablecmds.c:3682 commands/tablecmds.c:6582 +#: commands/tablecmds.c:9614 commands/tablecmds.c:17662 +#: commands/tablecmds.c:17697 commands/trigger.c:316 commands/trigger.c:1332 +#: commands/trigger.c:1442 rewrite/rewriteDefine.c:268 +#: rewrite/rewriteDefine.c:779 rewrite/rewriteRemove.c:74 #, c-format msgid "permission denied: \"%s\" is a system catalog" msgstr "доступ заборонений: \"%s\" - системний каталог" -#: commands/policy.c:172 +#: commands/policy.c:169 #, c-format msgid "ignoring specified roles other than PUBLIC" msgstr "всі вказані ролі, крім PUBLIC, ігноруються" -#: commands/policy.c:173 +#: commands/policy.c:170 #, c-format msgid "All roles are members of the PUBLIC role." msgstr "Роль PUBLIC включає в себе всі інші ролі." -#: commands/policy.c:606 +#: commands/policy.c:603 #, c-format msgid "WITH CHECK cannot be applied to SELECT or DELETE" msgstr "WITH CHECK не можна застосувати до SELECT або DELETE" -#: commands/policy.c:615 commands/policy.c:918 +#: commands/policy.c:612 commands/policy.c:915 #, c-format msgid "only WITH CHECK expression allowed for INSERT" msgstr "для INSERT допускається лише вираз WITH CHECK" -#: commands/policy.c:689 commands/policy.c:1141 +#: commands/policy.c:686 commands/policy.c:1138 #, c-format msgid "policy \"%s\" for table \"%s\" already exists" msgstr "політика \"%s\" для таблиці \"%s\" вже існує" -#: commands/policy.c:890 commands/policy.c:1169 commands/policy.c:1240 +#: commands/policy.c:887 commands/policy.c:1166 commands/policy.c:1237 #, c-format msgid "policy \"%s\" for table \"%s\" does not exist" msgstr "політика \"%s\" для таблиці \"%s\" не існує" -#: commands/policy.c:908 +#: commands/policy.c:905 #, c-format msgid "only USING expression allowed for SELECT, DELETE" msgstr "для SELECT, DELETE допускається лише вираз USING" @@ -9354,245 +9700,244 @@ msgid "cannot create a cursor WITH HOLD within security-restricted operation" msgstr "не можна створити курсос WITH HOLD в межах операції з обмеженням по безпеці" #: commands/portalcmds.c:189 commands/portalcmds.c:242 -#: executor/execCurrent.c:70 utils/adt/xml.c:2854 utils/adt/xml.c:3024 +#: executor/execCurrent.c:70 utils/adt/xml.c:2936 utils/adt/xml.c:3106 #, c-format msgid "cursor \"%s\" does not exist" msgstr "курсор \"%s\" не існує" -#: commands/prepare.c:75 +#: commands/prepare.c:72 #, c-format msgid "invalid statement name: must not be empty" msgstr "неприпустиме ім'я оператора: не повинне бути пустим" -#: commands/prepare.c:230 commands/prepare.c:235 +#: commands/prepare.c:227 commands/prepare.c:232 #, c-format msgid "prepared statement is not a SELECT" msgstr "підготовлений оператор не SELECT" -#: commands/prepare.c:295 +#: commands/prepare.c:292 #, c-format msgid "wrong number of parameters for prepared statement \"%s\"" msgstr "невірне число параметрів для підготовленого оператора \"%s\"" -#: commands/prepare.c:297 +#: commands/prepare.c:294 #, c-format msgid "Expected %d parameters but got %d." msgstr "Очікувалось %d параметрів, але отримано %d." -#: commands/prepare.c:330 +#: commands/prepare.c:327 #, c-format msgid "parameter $%d of type %s cannot be coerced to the expected type %s" msgstr "параметр $%d типу %s не можна привести до очікуваного типу %s" -#: commands/prepare.c:414 +#: commands/prepare.c:411 #, c-format msgid "prepared statement \"%s\" already exists" msgstr "підготовлений оператор \"%s\" вже існує" -#: commands/prepare.c:453 +#: commands/prepare.c:450 #, c-format msgid "prepared statement \"%s\" does not exist" msgstr "підготовлений оператор \"%s\" не існує" -#: commands/proclang.c:68 +#: commands/proclang.c:66 #, c-format msgid "must be superuser to create custom procedural language" msgstr "для створення користувацької мови потрібно бути суперкористувачем" -#: commands/publicationcmds.c:131 postmaster/postmaster.c:1208 -#: postmaster/postmaster.c:1306 storage/file/fd.c:3911 -#: utils/init/miscinit.c:1822 +#: commands/publicationcmds.c:124 postmaster/postmaster.c:1108 +#: postmaster/postmaster.c:1210 utils/init/miscinit.c:1811 #, c-format msgid "invalid list syntax in parameter \"%s\"" msgstr "неприпустимий синтаксис списку в параметрі \"%s\"" -#: commands/publicationcmds.c:150 +#: commands/publicationcmds.c:143 #, c-format msgid "unrecognized value for publication option \"%s\": \"%s\"" msgstr "нерозпізнане значення параметра публікації \"%s\": \"%s\"" -#: commands/publicationcmds.c:164 +#: commands/publicationcmds.c:157 #, c-format msgid "unrecognized publication parameter: \"%s\"" msgstr "нерозпізнаний параметр публікації: \"%s\"" -#: commands/publicationcmds.c:205 +#: commands/publicationcmds.c:198 #, c-format msgid "no schema has been selected for CURRENT_SCHEMA" msgstr "жодної схеми не вибрано для CURRENT_SCHEMA" -#: commands/publicationcmds.c:502 +#: commands/publicationcmds.c:495 msgid "System columns are not allowed." msgstr "Системні стовпці не допускаються." -#: commands/publicationcmds.c:509 commands/publicationcmds.c:514 -#: commands/publicationcmds.c:531 +#: commands/publicationcmds.c:502 commands/publicationcmds.c:507 +#: commands/publicationcmds.c:524 msgid "User-defined operators are not allowed." msgstr "Користувацькі оператори не допускаються." -#: commands/publicationcmds.c:555 +#: commands/publicationcmds.c:548 msgid "Only columns, constants, built-in operators, built-in data types, built-in collations, and immutable built-in functions are allowed." msgstr "Дозволяються тільки стовпці, константи, вбудовані оператори, вбудовані типи даних, вбудовані параметри сортування та незмінні вбудовані функції." -#: commands/publicationcmds.c:567 +#: commands/publicationcmds.c:560 msgid "User-defined types are not allowed." msgstr "Користувацькі типи не допускаються." -#: commands/publicationcmds.c:570 +#: commands/publicationcmds.c:563 msgid "User-defined or built-in mutable functions are not allowed." msgstr "Користувацькі або вбудовані змінні функції не допускаються." -#: commands/publicationcmds.c:573 +#: commands/publicationcmds.c:566 msgid "User-defined collations are not allowed." msgstr "Користувацькі параметри сортування не допускаються." -#: commands/publicationcmds.c:583 +#: commands/publicationcmds.c:576 #, c-format msgid "invalid publication WHERE expression" msgstr "неприпустимий вираз публікації WHERE" -#: commands/publicationcmds.c:636 +#: commands/publicationcmds.c:629 #, c-format msgid "cannot use publication WHERE clause for relation \"%s\"" msgstr "використовувати вираз публікації WHERE для відношення \"%s\" не можна" -#: commands/publicationcmds.c:638 +#: commands/publicationcmds.c:631 #, c-format msgid "WHERE clause cannot be used for a partitioned table when %s is false." msgstr "вираз WHERE для секціонованих таблиць не можна використовувати, коли %s є false." -#: commands/publicationcmds.c:709 commands/publicationcmds.c:723 +#: commands/publicationcmds.c:702 commands/publicationcmds.c:716 #, c-format msgid "cannot use column list for relation \"%s.%s\" in publication \"%s\"" msgstr "не можна використовувати список стовпців для відношення \"%s.%s\" в публікації \"%s\"" -#: commands/publicationcmds.c:712 +#: commands/publicationcmds.c:705 #, c-format msgid "Column lists cannot be specified in publications containing FOR TABLES IN SCHEMA elements." msgstr "Списки стовпців не можна вказувати в публікаціях, що містять елементи FOR TABLES IN SCHEMA." -#: commands/publicationcmds.c:726 +#: commands/publicationcmds.c:719 #, c-format msgid "Column lists cannot be specified for partitioned tables when %s is false." msgstr "Списки стовпців для секціонованих таблиць не можна використовувати, коли %s є false." -#: commands/publicationcmds.c:761 +#: commands/publicationcmds.c:754 #, c-format msgid "must be superuser to create FOR ALL TABLES publication" msgstr "для створення публікації УСІХ ТАБЛИЦЬ потрібно бути суперкористувачем" -#: commands/publicationcmds.c:832 +#: commands/publicationcmds.c:825 #, c-format msgid "must be superuser to create FOR TABLES IN SCHEMA publication" msgstr "щоб створити публікацію FOR TABLES IN SCHEMA потрібно бути суперкористувачем" -#: commands/publicationcmds.c:868 +#: commands/publicationcmds.c:861 #, c-format -msgid "wal_level is insufficient to publish logical changes" -msgstr "недостатній wal_level для публікації логічних змін" +msgid "\"wal_level\" is insufficient to publish logical changes" +msgstr "недостатній \"wal_level\" для публікації логічних змін" -#: commands/publicationcmds.c:869 +#: commands/publicationcmds.c:862 #, c-format -msgid "Set wal_level to \"logical\" before creating subscriptions." -msgstr "Встановіть wal_level на \"logical\" перед створенням підписок." +msgid "Set \"wal_level\" to \"logical\" before creating subscriptions." +msgstr "Встановіть \"wal_level\" на \"logical\" перед створенням підписок." -#: commands/publicationcmds.c:965 commands/publicationcmds.c:973 +#: commands/publicationcmds.c:958 commands/publicationcmds.c:966 #, c-format msgid "cannot set parameter \"%s\" to false for publication \"%s\"" msgstr "встановити параметр \"%s\" на false для публікації \"%s\" не можна" -#: commands/publicationcmds.c:968 +#: commands/publicationcmds.c:961 #, c-format msgid "The publication contains a WHERE clause for partitioned table \"%s\", which is not allowed when \"%s\" is false." msgstr "Публікація містить вираз WHERE для секціонованої таблиці \"%s\", який не допускається коли \"%s\" є false." -#: commands/publicationcmds.c:976 +#: commands/publicationcmds.c:969 #, c-format msgid "The publication contains a column list for partitioned table \"%s\", which is not allowed when \"%s\" is false." msgstr "Публікація містить список стовпців для секціонованої таблиці \"%s\", який не допускається коли \"%s\" є false." -#: commands/publicationcmds.c:1299 +#: commands/publicationcmds.c:1292 #, c-format msgid "cannot add schema to publication \"%s\"" msgstr "не можна додати схему до публікації \"%s\"" -#: commands/publicationcmds.c:1301 +#: commands/publicationcmds.c:1294 #, c-format msgid "Schemas cannot be added if any tables that specify a column list are already part of the publication." msgstr "Схеми не можна додавати, якщо будь-яка таблиця, що вказуює на список стовпців, вже є частиною публікації." -#: commands/publicationcmds.c:1349 +#: commands/publicationcmds.c:1342 #, c-format msgid "must be superuser to add or set schemas" msgstr "для додавання або встановлення схем потрібно бути суперкористувачем" -#: commands/publicationcmds.c:1358 commands/publicationcmds.c:1366 +#: commands/publicationcmds.c:1351 commands/publicationcmds.c:1359 #, c-format msgid "publication \"%s\" is defined as FOR ALL TABLES" msgstr "публікація \"%s\" визначена ДЛЯ ВСІХ ТАБЛИЦЬ" -#: commands/publicationcmds.c:1360 +#: commands/publicationcmds.c:1353 #, c-format msgid "Schemas cannot be added to or dropped from FOR ALL TABLES publications." msgstr "До публікації FOR ALL TABLES не можна додати або видалити схеми." -#: commands/publicationcmds.c:1368 +#: commands/publicationcmds.c:1361 #, c-format msgid "Tables cannot be added to or dropped from FOR ALL TABLES publications." msgstr "У публікації ВСІХ ТАБЛИЦЬ не можна додати або видалити таблиці." -#: commands/publicationcmds.c:1392 commands/publicationcmds.c:1431 -#: commands/publicationcmds.c:1968 utils/cache/lsyscache.c:3592 +#: commands/publicationcmds.c:1385 commands/publicationcmds.c:1424 +#: commands/publicationcmds.c:1961 utils/cache/lsyscache.c:3634 #, c-format msgid "publication \"%s\" does not exist" msgstr "публікація \"%s\" вже існує" -#: commands/publicationcmds.c:1594 commands/publicationcmds.c:1657 +#: commands/publicationcmds.c:1587 commands/publicationcmds.c:1650 #, c-format msgid "conflicting or redundant WHERE clauses for table \"%s\"" msgstr "конфліктуючі або надлишкові вирази WHERE для таблиці \"%s\"" -#: commands/publicationcmds.c:1601 commands/publicationcmds.c:1669 +#: commands/publicationcmds.c:1594 commands/publicationcmds.c:1662 #, c-format msgid "conflicting or redundant column lists for table \"%s\"" msgstr "конфліктуючі або надлишкові списки стовпців для таблиці \"%s\"" -#: commands/publicationcmds.c:1803 +#: commands/publicationcmds.c:1796 #, c-format msgid "column list must not be specified in ALTER PUBLICATION ... DROP" msgstr "список стовпців не можна вказувати в ALTER PUBLICATION ... DROP" -#: commands/publicationcmds.c:1815 +#: commands/publicationcmds.c:1808 #, c-format msgid "relation \"%s\" is not part of the publication" msgstr "відносини \"%s\" не є частиною публікації" -#: commands/publicationcmds.c:1822 +#: commands/publicationcmds.c:1815 #, c-format msgid "cannot use a WHERE clause when removing a table from a publication" msgstr "під час видалення таблиці з публікації використовувати вираз WHERE не можна" -#: commands/publicationcmds.c:1882 +#: commands/publicationcmds.c:1875 #, c-format msgid "tables from schema \"%s\" are not part of the publication" msgstr "таблиці зі схеми \"%s\" не є частиною публікації" -#: commands/publicationcmds.c:1925 commands/publicationcmds.c:1932 +#: commands/publicationcmds.c:1918 commands/publicationcmds.c:1925 #, c-format msgid "permission denied to change owner of publication \"%s\"" msgstr "немає прав на зміну власника публікації \"%s\"" -#: commands/publicationcmds.c:1927 +#: commands/publicationcmds.c:1920 #, c-format msgid "The owner of a FOR ALL TABLES publication must be a superuser." msgstr "Власником публікації УСІХ ТАБЛИЦЬ повинен бути суперкористувач." -#: commands/publicationcmds.c:1934 +#: commands/publicationcmds.c:1927 #, c-format msgid "The owner of a FOR TABLES IN SCHEMA publication must be a superuser." msgstr "Власник публікації публікації FOR TABLES IN SCHEMA повинен бути суперкористувачем." -#: commands/publicationcmds.c:2000 +#: commands/publicationcmds.c:1993 #, c-format msgid "publication with OID %u does not exist" msgstr "публікації %u з OID не існує" @@ -9637,242 +9982,242 @@ msgstr "мітки безпеки не підтримуються для цьо msgid "cannot set security label on relation \"%s\"" msgstr "не можна встановити мітку безпеки для відношення \"%s\"" -#: commands/sequence.c:754 +#: commands/sequence.c:748 #, c-format msgid "nextval: reached maximum value of sequence \"%s\" (%lld)" msgstr "nextval: досягнено максимального значення послідовності \"%s\" (%lld)" -#: commands/sequence.c:773 +#: commands/sequence.c:767 #, c-format msgid "nextval: reached minimum value of sequence \"%s\" (%lld)" msgstr "nextval: досягнено мінімального значення послідовності \"%s\" (%lld)" -#: commands/sequence.c:891 +#: commands/sequence.c:886 #, c-format msgid "currval of sequence \"%s\" is not yet defined in this session" msgstr "поточне значення (currval) для послідовності \"%s\" ще не визначено у цьому сеансі" -#: commands/sequence.c:910 commands/sequence.c:916 +#: commands/sequence.c:905 commands/sequence.c:911 #, c-format msgid "lastval is not yet defined in this session" msgstr "останнє значення ще не визначено в цьому сеансі" -#: commands/sequence.c:996 +#: commands/sequence.c:991 #, c-format msgid "setval: value %lld is out of bounds for sequence \"%s\" (%lld..%lld)" msgstr "setval: значення %lld поза межами послідовності \"%s\" (%lld..%lld)" -#: commands/sequence.c:1365 +#: commands/sequence.c:1357 #, c-format msgid "invalid sequence option SEQUENCE NAME" msgstr "неприпустимий параметр послідовності SEQUENCE NAME" -#: commands/sequence.c:1391 +#: commands/sequence.c:1383 #, c-format msgid "identity column type must be smallint, integer, or bigint" msgstr "типом стовпця ідентифікації може бути тільки smallint, integer або bigint" -#: commands/sequence.c:1392 +#: commands/sequence.c:1384 #, c-format msgid "sequence type must be smallint, integer, or bigint" msgstr "типом послідовності може бути тільки smallint, integer або bigint" -#: commands/sequence.c:1426 +#: commands/sequence.c:1418 #, c-format msgid "INCREMENT must not be zero" msgstr "INCREMENT не повинен бути нулем" -#: commands/sequence.c:1474 +#: commands/sequence.c:1466 #, c-format msgid "MAXVALUE (%lld) is out of range for sequence data type %s" msgstr "MAXVALUE (%lld) виходить за межі діапазону типу даних послідовності %s" -#: commands/sequence.c:1506 +#: commands/sequence.c:1498 #, c-format msgid "MINVALUE (%lld) is out of range for sequence data type %s" msgstr "MINVALUE (%lld) виходить за межі діапазону для типу даних послідовності %s" -#: commands/sequence.c:1514 +#: commands/sequence.c:1506 #, c-format msgid "MINVALUE (%lld) must be less than MAXVALUE (%lld)" msgstr "MINVALUE (%lld) повинно бути меншим за MAXVALUE (%lld)" -#: commands/sequence.c:1535 +#: commands/sequence.c:1527 #, c-format msgid "START value (%lld) cannot be less than MINVALUE (%lld)" msgstr "Значення START (%lld) не може бути меншим за MINVALUE (%lld)" -#: commands/sequence.c:1541 +#: commands/sequence.c:1533 #, c-format msgid "START value (%lld) cannot be greater than MAXVALUE (%lld)" msgstr "Значення START (%lld) не може бути більшим за MAXVALUE (%lld)" -#: commands/sequence.c:1565 +#: commands/sequence.c:1557 #, c-format msgid "RESTART value (%lld) cannot be less than MINVALUE (%lld)" msgstr "Значення RESTART (%lld) не може бути меншим за MINVALUE (%lld)" -#: commands/sequence.c:1571 +#: commands/sequence.c:1563 #, c-format msgid "RESTART value (%lld) cannot be greater than MAXVALUE (%lld)" msgstr "Значення RESTART (%lld) не може бути більшим за MAXVALUE (%lld)" -#: commands/sequence.c:1582 +#: commands/sequence.c:1574 #, c-format msgid "CACHE (%lld) must be greater than zero" msgstr "CACHE (%lld) повинно бути більше нуля" -#: commands/sequence.c:1618 +#: commands/sequence.c:1610 #, c-format msgid "invalid OWNED BY option" msgstr "неприпустимий параметр OWNED BY" -#: commands/sequence.c:1619 +#: commands/sequence.c:1611 #, c-format msgid "Specify OWNED BY table.column or OWNED BY NONE." msgstr "Вкажіть OWNED BY таблиця.стовпець або OWNED BY NONE." -#: commands/sequence.c:1644 +#: commands/sequence.c:1636 #, c-format msgid "sequence cannot be owned by relation \"%s\"" msgstr "послідовність не може належати відношенню \"%s\"" -#: commands/sequence.c:1652 +#: commands/sequence.c:1644 #, c-format msgid "sequence must have same owner as table it is linked to" msgstr "послідовність повинна мати того ж власника, що і таблиця, з якою вона зв'язана" -#: commands/sequence.c:1656 +#: commands/sequence.c:1648 #, c-format msgid "sequence must be in same schema as table it is linked to" msgstr "послідовність повинна бути в тій самій схемі, що і таблиця, з якою вона зв'язана" -#: commands/sequence.c:1678 +#: commands/sequence.c:1670 #, c-format msgid "cannot change ownership of identity sequence" msgstr "змінити власника послідовності ідентифікації не можна" -#: commands/sequence.c:1679 commands/tablecmds.c:13903 -#: commands/tablecmds.c:16502 +#: commands/sequence.c:1671 commands/tablecmds.c:14384 +#: commands/tablecmds.c:17078 #, c-format msgid "Sequence \"%s\" is linked to table \"%s\"." msgstr "Послідовність \"%s\" зв'язана з таблицею \"%s\"." -#: commands/statscmds.c:109 commands/statscmds.c:118 tcop/utility.c:1887 +#: commands/statscmds.c:106 commands/statscmds.c:115 tcop/utility.c:1883 #, c-format msgid "only a single relation is allowed in CREATE STATISTICS" msgstr "в CREATE STATISTICS можна вказати лише одне відношення" -#: commands/statscmds.c:136 +#: commands/statscmds.c:133 #, c-format msgid "cannot define statistics for relation \"%s\"" msgstr "визначити статистику відношення \"%s\" не можна" -#: commands/statscmds.c:190 +#: commands/statscmds.c:187 #, c-format msgid "statistics object \"%s\" already exists, skipping" msgstr "об'єкт статистики \"%s\" вже існує, пропускається" -#: commands/statscmds.c:198 +#: commands/statscmds.c:195 #, c-format msgid "statistics object \"%s\" already exists" msgstr "об'єкт статистики \"%s\" вже існує" -#: commands/statscmds.c:209 +#: commands/statscmds.c:206 #, c-format msgid "cannot have more than %d columns in statistics" msgstr "в статистиці не може бути більше ніж %d стовпців" -#: commands/statscmds.c:250 commands/statscmds.c:273 commands/statscmds.c:307 +#: commands/statscmds.c:247 commands/statscmds.c:270 commands/statscmds.c:304 #, c-format msgid "statistics creation on system columns is not supported" msgstr "створення статистики для системних стовпців не підтримується" -#: commands/statscmds.c:257 commands/statscmds.c:280 +#: commands/statscmds.c:254 commands/statscmds.c:277 #, 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:324 +#: commands/statscmds.c:321 #, 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:345 +#: commands/statscmds.c:342 #, c-format msgid "when building statistics on a single expression, statistics kinds may not be specified" msgstr "при побудові статистики для одного виразу види статистики можуть не вказуватись" -#: commands/statscmds.c:374 +#: commands/statscmds.c:371 #, c-format msgid "unrecognized statistics kind \"%s\"" msgstr "нерозпізнаний вид статистики \"%s\"" -#: commands/statscmds.c:403 +#: commands/statscmds.c:400 #, c-format msgid "extended statistics require at least 2 columns" msgstr "для розширеної статистики потрібно мінімум 2 стовпці" -#: commands/statscmds.c:421 +#: commands/statscmds.c:418 #, c-format msgid "duplicate column name in statistics definition" msgstr "дублювання імені стовпця у визначенні статистики" -#: commands/statscmds.c:456 +#: commands/statscmds.c:453 #, c-format msgid "duplicate expression in statistics definition" msgstr "дублікат виразу у визначенні статистики" -#: commands/statscmds.c:619 commands/tablecmds.c:8188 +#: commands/statscmds.c:628 commands/tablecmds.c:8597 #, c-format msgid "statistics target %d is too low" msgstr "мета статистики занадто мала %d" -#: commands/statscmds.c:627 commands/tablecmds.c:8196 +#: commands/statscmds.c:636 commands/tablecmds.c:8605 #, c-format msgid "lowering statistics target to %d" msgstr "мета статистики знижується до %d" -#: commands/statscmds.c:650 +#: commands/statscmds.c:660 #, c-format msgid "statistics object \"%s.%s\" does not exist, skipping" msgstr "об'єкт статистики \"%s.%s\" не існує, пропускається" -#: commands/subscriptioncmds.c:271 commands/subscriptioncmds.c:359 +#: commands/subscriptioncmds.c:275 commands/subscriptioncmds.c:372 #, c-format msgid "unrecognized subscription parameter: \"%s\"" msgstr "нерозпізнаний параметр підписки: \"%s\"" -#: commands/subscriptioncmds.c:327 replication/pgoutput/pgoutput.c:395 +#: commands/subscriptioncmds.c:340 replication/pgoutput/pgoutput.c:397 #, c-format msgid "unrecognized origin value: \"%s\"" msgstr "нерозпізнане значення походження: \"%s\"" -#: commands/subscriptioncmds.c:350 +#: commands/subscriptioncmds.c:363 #, c-format msgid "invalid WAL location (LSN): %s" msgstr "неприпустиме розташування WAL (LSN): %s" #. translator: both %s are strings of the form "option = value" -#: commands/subscriptioncmds.c:374 commands/subscriptioncmds.c:381 -#: commands/subscriptioncmds.c:388 commands/subscriptioncmds.c:410 -#: commands/subscriptioncmds.c:426 +#: commands/subscriptioncmds.c:387 commands/subscriptioncmds.c:394 +#: commands/subscriptioncmds.c:401 commands/subscriptioncmds.c:423 +#: commands/subscriptioncmds.c:439 #, c-format msgid "%s and %s are mutually exclusive options" msgstr "%s та %s є взаємовиключними опціями" #. translator: both %s are strings of the form "option = value" -#: commands/subscriptioncmds.c:416 commands/subscriptioncmds.c:432 +#: commands/subscriptioncmds.c:429 commands/subscriptioncmds.c:445 #, c-format msgid "subscription with %s must also set %s" msgstr "підписка з %s повинна також встановити %s" -#: commands/subscriptioncmds.c:494 +#: commands/subscriptioncmds.c:506 #, c-format msgid "could not receive list of publications from the publisher: %s" msgstr "не вдалося отримати список публікацій з сервера публікації: %s" -#: commands/subscriptioncmds.c:526 +#: commands/subscriptioncmds.c:538 #, c-format msgid "publication %s does not exist on the publisher" msgid_plural "publications %s do not exist on the publisher" @@ -9881,130 +10226,136 @@ msgstr[1] "публікацій %s не існує на сервері публ msgstr[2] "публікацій %s не існує на сервері публікації" msgstr[3] "публікацій %s не існує на сервері публікації" -#: commands/subscriptioncmds.c:614 +#: commands/subscriptioncmds.c:626 #, c-format msgid "permission denied to create subscription" msgstr "немає дозволу для створення підписки" -#: commands/subscriptioncmds.c:615 +#: commands/subscriptioncmds.c:627 #, c-format msgid "Only roles with privileges of the \"%s\" role may create subscriptions." msgstr "Тільки ролі з правами \"%s\" можуть створювати підписки." -#: commands/subscriptioncmds.c:745 commands/subscriptioncmds.c:878 -#: replication/logical/tablesync.c:1327 replication/logical/worker.c:4616 +#: commands/subscriptioncmds.c:758 commands/subscriptioncmds.c:891 +#: commands/subscriptioncmds.c:1524 replication/logical/tablesync.c:1345 +#: replication/logical/worker.c:4503 #, c-format msgid "could not connect to the publisher: %s" msgstr "не вдалося підключитись до сервера публікації: %s" -#: commands/subscriptioncmds.c:816 +#: commands/subscriptioncmds.c:829 #, c-format msgid "created replication slot \"%s\" on publisher" msgstr "на сервері публікації створений слот реплікації \"%s\"" -#: commands/subscriptioncmds.c:828 +#: commands/subscriptioncmds.c:841 #, c-format msgid "subscription was created, but is not connected" msgstr "підписка була створена, але не підключена" -#: commands/subscriptioncmds.c:829 +#: commands/subscriptioncmds.c:842 #, c-format msgid "To initiate replication, you must manually create the replication slot, enable the subscription, and refresh the subscription." msgstr "Щоб ініціювати реплікацію, необхідно вручну створити слот реплікації, підключити підписку і оновити підписку." -#: commands/subscriptioncmds.c:1096 commands/subscriptioncmds.c:1509 -#: commands/subscriptioncmds.c:1892 utils/cache/lsyscache.c:3642 +#: commands/subscriptioncmds.c:1109 commands/subscriptioncmds.c:1590 +#: commands/subscriptioncmds.c:1973 utils/cache/lsyscache.c:3684 #, c-format msgid "subscription \"%s\" does not exist" msgstr "підписка \"%s\" не існує" -#: commands/subscriptioncmds.c:1152 +#: commands/subscriptioncmds.c:1166 commands/subscriptioncmds.c:1245 #, c-format msgid "cannot set %s for enabled subscription" msgstr "неможливо встановити %s для увімкненої підписки" -#: commands/subscriptioncmds.c:1234 +#: commands/subscriptioncmds.c:1233 +#, c-format +msgid "cannot set option \"%s\" for a subscription that does not have a slot name" +msgstr "не може задати параметр \"%s\" для підписки, яка не має назви слоту" + +#: commands/subscriptioncmds.c:1279 #, c-format msgid "cannot enable subscription that does not have a slot name" msgstr "увімкнути підписку, для якої не задано ім'я слота, не можна" -#: commands/subscriptioncmds.c:1278 commands/subscriptioncmds.c:1329 +#: commands/subscriptioncmds.c:1323 commands/subscriptioncmds.c:1374 #, c-format msgid "ALTER SUBSCRIPTION with refresh is not allowed for disabled subscriptions" msgstr "ALTER SUBSCRIPTION з оновленням для відключених підписок не допускається" -#: commands/subscriptioncmds.c:1279 +#: commands/subscriptioncmds.c:1324 #, c-format msgid "Use ALTER SUBSCRIPTION ... SET PUBLICATION ... WITH (refresh = false)." msgstr "Використайте ALTER SUBSCRIPTION ... SET PUBLICATION ... WITH (refresh = false)." -#: commands/subscriptioncmds.c:1288 commands/subscriptioncmds.c:1343 +#: commands/subscriptioncmds.c:1333 commands/subscriptioncmds.c:1388 #, c-format msgid "ALTER SUBSCRIPTION with refresh and copy_data is not allowed when two_phase is enabled" msgstr "ALTER SUBSCRIPTION з параметрами refresh і copy_data не допускається, коли two_phase ввімкнено" -#: commands/subscriptioncmds.c:1289 +#: commands/subscriptioncmds.c:1334 #, c-format msgid "Use ALTER SUBSCRIPTION ... SET PUBLICATION with refresh = false, or with copy_data = false, or use DROP/CREATE SUBSCRIPTION." msgstr "Використайте ALTER SUBSCRIPTION ... SET PUBLICATION з параметрами refresh або copy_data, які дорівнюють false, або використайте DROP/CREATE SUBSCRIPTION." #. translator: %s is an SQL ALTER command -#: commands/subscriptioncmds.c:1345 +#: commands/subscriptioncmds.c:1390 #, c-format msgid "Use %s with refresh = false, or with copy_data = false, or use DROP/CREATE SUBSCRIPTION." msgstr "Використовуйте %s з refresh = false, або з copy_data = false, або використовуйте DROP/CREATE SUBSCRIPTION." -#: commands/subscriptioncmds.c:1367 +#: commands/subscriptioncmds.c:1412 #, c-format msgid "ALTER SUBSCRIPTION ... REFRESH is not allowed for disabled subscriptions" msgstr "ALTER SUBSCRIPTION ... REFRESH для відключених підписок не допускається" -#: commands/subscriptioncmds.c:1392 +#: commands/subscriptioncmds.c:1437 #, c-format msgid "ALTER SUBSCRIPTION ... REFRESH with copy_data is not allowed when two_phase is enabled" msgstr "ALTER SUBSCRIPTION ... REFRESH з параметром copy_data не допускається, коли two_phase ввімкнено" -#: commands/subscriptioncmds.c:1393 +#: commands/subscriptioncmds.c:1438 #, c-format msgid "Use ALTER SUBSCRIPTION ... REFRESH with copy_data = false, or use DROP/CREATE SUBSCRIPTION." msgstr "Використайте ALTER SUBSCRIPTION ... REFRESH з параметром copy_data, який дорівнює false, або використайте DROP/CREATE SUBSCRIPTION." -#: commands/subscriptioncmds.c:1428 +#: commands/subscriptioncmds.c:1473 #, c-format 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:1513 +#: commands/subscriptioncmds.c:1594 #, c-format msgid "subscription \"%s\" does not exist, skipping" msgstr "підписка \"%s\" не існує, пропускається" -#: commands/subscriptioncmds.c:1782 +#: commands/subscriptioncmds.c:1863 #, c-format msgid "dropped replication slot \"%s\" on publisher" msgstr "видалено слот реплікації \"%s\" на сервері публікації" -#: commands/subscriptioncmds.c:1791 commands/subscriptioncmds.c:1799 +#: commands/subscriptioncmds.c:1872 commands/subscriptioncmds.c:1880 #, c-format msgid "could not drop replication slot \"%s\" on publisher: %s" msgstr "не вдалося видалити слот реплікації \"%s\" на сервері публікації: %s" -#: commands/subscriptioncmds.c:1924 +#: commands/subscriptioncmds.c:2005 #, c-format msgid "subscription with OID %u does not exist" msgstr "підписки %u з OID не існує" -#: commands/subscriptioncmds.c:1995 commands/subscriptioncmds.c:2120 +#: commands/subscriptioncmds.c:2076 commands/subscriptioncmds.c:2201 #, c-format msgid "could not receive list of replicated tables from the publisher: %s" msgstr "не вдалося отримати список реплікованих таблиць із сервера публікації: %s" -#: commands/subscriptioncmds.c:2031 +#: commands/subscriptioncmds.c:2112 #, 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:2033 +#: commands/subscriptioncmds.c:2114 #, 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." @@ -10013,1885 +10364,1961 @@ msgstr[1] "Створювана підписка підписується на msgstr[2] "Створювана підписка підписується на публікації (%s), яка містить таблиці, до яких записуються інші підписки." msgstr[3] "Створювана підписка підписується на публікації (%s), яка містить таблиці, до яких записуються інші підписки." -#: commands/subscriptioncmds.c:2036 +#: commands/subscriptioncmds.c:2117 #, c-format msgid "Verify that initial data copied from the publisher tables did not come from other origins." msgstr "Переконайтеся, що вихідні дані, скопійовані з таблиць публікатора, не були отримані з інших джерел." -#: commands/subscriptioncmds.c:2142 replication/logical/tablesync.c:886 -#: replication/pgoutput/pgoutput.c:1112 +#: commands/subscriptioncmds.c:2223 replication/logical/tablesync.c:906 +#: replication/pgoutput/pgoutput.c:1117 #, c-format msgid "cannot use different column lists for table \"%s.%s\" in different publications" msgstr "використовувати різні списки стовпців для таблиці \"%s.%s\" в різних публікаціях не можна" -#: commands/subscriptioncmds.c:2192 +#: commands/subscriptioncmds.c:2273 #, 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:2195 +#: commands/subscriptioncmds.c:2276 #, 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:2226 +#: commands/subscriptioncmds.c:2307 #, c-format msgid "publication name \"%s\" used more than once" msgstr "ім'я публікації \"%s\" використовується більше ніж один раз" -#: commands/subscriptioncmds.c:2270 +#: commands/subscriptioncmds.c:2351 #, c-format msgid "publication \"%s\" is already in subscription \"%s\"" msgstr "публікація \"%s\" вже в підписці \"%s\"" -#: commands/subscriptioncmds.c:2284 +#: commands/subscriptioncmds.c:2365 #, c-format msgid "publication \"%s\" is not in subscription \"%s\"" msgstr "публікація \"%s\" не знаходиться в підписці \"%s\"" -#: commands/subscriptioncmds.c:2295 +#: commands/subscriptioncmds.c:2376 #, c-format msgid "cannot drop all the publications from a subscription" msgstr "не можна видалити всі публікації з підписки" -#: commands/subscriptioncmds.c:2352 +#: commands/subscriptioncmds.c:2433 #, c-format msgid "%s requires a Boolean value or \"parallel\"" msgstr "%s потребує логічне значення або \"parallel\"" -#: commands/tablecmds.c:246 commands/tablecmds.c:288 +#: commands/tablecmds.c:255 commands/tablecmds.c:297 #, c-format msgid "table \"%s\" does not exist" msgstr "таблиця \"%s\" не існує" -#: commands/tablecmds.c:247 commands/tablecmds.c:289 +#: commands/tablecmds.c:256 commands/tablecmds.c:298 #, c-format msgid "table \"%s\" does not exist, skipping" msgstr "таблиця \"%s\" не існує, пропускається" -#: commands/tablecmds.c:249 commands/tablecmds.c:291 +#: commands/tablecmds.c:258 commands/tablecmds.c:300 msgid "Use DROP TABLE to remove a table." msgstr "Використайте DROP TABLE для видалення таблиці." -#: commands/tablecmds.c:252 +#: commands/tablecmds.c:261 #, c-format msgid "sequence \"%s\" does not exist" msgstr "послідовність \"%s\" не існує" -#: commands/tablecmds.c:253 +#: commands/tablecmds.c:262 #, c-format msgid "sequence \"%s\" does not exist, skipping" msgstr "послідовність \"%s\" не існує, пропускається" -#: commands/tablecmds.c:255 +#: commands/tablecmds.c:264 msgid "Use DROP SEQUENCE to remove a sequence." msgstr "Використайте DROP SEQUENCE, щоб видалити послідовність." -#: commands/tablecmds.c:258 +#: commands/tablecmds.c:267 #, c-format msgid "view \"%s\" does not exist" msgstr "подання \"%s\" не існує" -#: commands/tablecmds.c:259 +#: commands/tablecmds.c:268 #, c-format msgid "view \"%s\" does not exist, skipping" msgstr "подання \"%s\" не існує, пропускається" -#: commands/tablecmds.c:261 +#: commands/tablecmds.c:270 msgid "Use DROP VIEW to remove a view." msgstr "Використайте DROP VIEW для видалення подання." -#: commands/tablecmds.c:264 +#: commands/tablecmds.c:273 #, c-format msgid "materialized view \"%s\" does not exist" msgstr "матеріалізоване подання \"%s\" не існує" -#: commands/tablecmds.c:265 +#: commands/tablecmds.c:274 #, c-format msgid "materialized view \"%s\" does not exist, skipping" msgstr "матеріалізоване подання \"%s\" не існує, пропускається" -#: commands/tablecmds.c:267 +#: commands/tablecmds.c:276 msgid "Use DROP MATERIALIZED VIEW to remove a materialized view." msgstr "Використайте DROP MATERIALIZED VIEW, щоб видалити матеріалізоване подання." -#: commands/tablecmds.c:270 commands/tablecmds.c:294 commands/tablecmds.c:19006 -#: parser/parse_utilcmd.c:2254 +#: commands/tablecmds.c:279 commands/tablecmds.c:303 commands/tablecmds.c:19617 +#: parser/parse_utilcmd.c:2251 #, c-format msgid "index \"%s\" does not exist" msgstr "індекс \"%s\" не існує" -#: commands/tablecmds.c:271 commands/tablecmds.c:295 +#: commands/tablecmds.c:280 commands/tablecmds.c:304 #, c-format msgid "index \"%s\" does not exist, skipping" msgstr "індекс \"%s\" не існує, пропускається" -#: commands/tablecmds.c:273 commands/tablecmds.c:297 +#: commands/tablecmds.c:282 commands/tablecmds.c:306 msgid "Use DROP INDEX to remove an index." msgstr "Використайте DROP INDEX, щоб видалити індекс." -#: commands/tablecmds.c:278 +#: commands/tablecmds.c:287 #, c-format msgid "\"%s\" is not a type" msgstr "\"%s\" не є типом" -#: commands/tablecmds.c:279 +#: commands/tablecmds.c:288 msgid "Use DROP TYPE to remove a type." msgstr "Використайте DROP TYPE, щоб видалити тип." -#: commands/tablecmds.c:282 commands/tablecmds.c:13742 -#: commands/tablecmds.c:16207 +#: commands/tablecmds.c:291 commands/tablecmds.c:14223 +#: commands/tablecmds.c:16783 #, c-format msgid "foreign table \"%s\" does not exist" msgstr "зовнішня таблиця \"%s\" не існує" -#: commands/tablecmds.c:283 +#: commands/tablecmds.c:292 #, c-format msgid "foreign table \"%s\" does not exist, skipping" msgstr "зовнішня таблиця \"%s\" не існує, пропускається" -#: commands/tablecmds.c:285 +#: commands/tablecmds.c:294 msgid "Use DROP FOREIGN TABLE to remove a foreign table." msgstr "Використайте DROP FOREIGN TABLE щоб видалити сторонню таблицю." -#: commands/tablecmds.c:700 +#: commands/tablecmds.c:717 #, c-format msgid "ON COMMIT can only be used on temporary tables" msgstr "ON COMMIT можна використовувати лише для тимчасових таблиць" -#: commands/tablecmds.c:731 +#: commands/tablecmds.c:748 #, c-format msgid "cannot create temporary table within security-restricted operation" msgstr "неможливо створити тимчасову таблицю в межах операції з обмеженням безпеки" -#: commands/tablecmds.c:767 commands/tablecmds.c:15052 +#: commands/tablecmds.c:784 commands/tablecmds.c:15642 #, c-format msgid "relation \"%s\" would be inherited from more than once" msgstr "відношення \"%s\" буде успадковуватись більш ніж один раз" -#: commands/tablecmds.c:955 -#, c-format -msgid "specifying a table access method is not supported on a partitioned table" -msgstr "вказання методу доступу до таблиці не підтримується з секційною таблицею" - -#: commands/tablecmds.c:1048 +#: commands/tablecmds.c:1050 #, c-format msgid "\"%s\" is not partitioned" msgstr "\"%s\" не секціоновано" -#: commands/tablecmds.c:1142 +#: commands/tablecmds.c:1144 #, c-format msgid "cannot partition using more than %d columns" msgstr "число стовпців в ключі секціонування не може перевищувати %d" -#: commands/tablecmds.c:1198 +#: commands/tablecmds.c:1200 #, c-format msgid "cannot create foreign partition of partitioned table \"%s\"" msgstr "не можна створити зовнішню секцію в секціонованій таблиці \"%s\"" -#: commands/tablecmds.c:1200 +#: commands/tablecmds.c:1202 #, c-format msgid "Table \"%s\" contains indexes that are unique." msgstr "Таблиця \"%s\" містить індекси, які унікальні." -#: commands/tablecmds.c:1365 +#: commands/tablecmds.c:1321 commands/tablecmds.c:13239 #, c-format -msgid "DROP INDEX CONCURRENTLY does not support dropping multiple objects" -msgstr "DROP INDEX CONCURRENTLY не підтримує видалення кількох об'єктів" +msgid "too many array dimensions" +msgstr "занадто багато вимірів масиву" -#: commands/tablecmds.c:1369 +#: commands/tablecmds.c:1326 parser/parse_clause.c:774 +#: parser/parse_relation.c:1912 #, c-format -msgid "DROP INDEX CONCURRENTLY does not support CASCADE" +msgid "column \"%s\" cannot be declared SETOF" +msgstr "стовпець\"%s\" не може бути оголошений SETOF" + +#: commands/tablecmds.c:1472 +#, c-format +msgid "DROP INDEX CONCURRENTLY does not support dropping multiple objects" +msgstr "DROP INDEX CONCURRENTLY не підтримує видалення кількох об'єктів" + +#: commands/tablecmds.c:1476 +#, c-format +msgid "DROP INDEX CONCURRENTLY does not support CASCADE" msgstr "DROP INDEX CONCURRENTLY не підтримує режим CASCADE" -#: commands/tablecmds.c:1473 +#: commands/tablecmds.c:1580 #, c-format msgid "cannot drop partitioned index \"%s\" concurrently" msgstr "неможливо видалити секціонований індекс \"%s\" паралельно" -#: commands/tablecmds.c:1761 +#: commands/tablecmds.c:1868 #, c-format msgid "cannot truncate only a partitioned table" msgstr "скоротити тільки секціоновану таблицю не можна" -#: commands/tablecmds.c:1762 +#: commands/tablecmds.c:1869 #, c-format msgid "Do not specify the ONLY keyword, or use TRUNCATE ONLY on the partitions directly." msgstr "Не вказуйте ключове слово ONLY або використайте TRUNCATE ONLY безпосередньо для секцій." -#: commands/tablecmds.c:1835 +#: commands/tablecmds.c:1942 #, c-format msgid "truncate cascades to table \"%s\"" msgstr "скорочення поширюється на таблицю \"%s\"" -#: commands/tablecmds.c:2199 +#: commands/tablecmds.c:2303 #, c-format msgid "cannot truncate foreign table \"%s\"" msgstr "скоротити зовнішню таблицю \"%s\" не можна" -#: commands/tablecmds.c:2256 +#: commands/tablecmds.c:2360 #, c-format msgid "cannot truncate temporary tables of other sessions" msgstr "тимчасові таблиці інших сеансів не можна скоротити" -#: commands/tablecmds.c:2488 commands/tablecmds.c:14949 +#: commands/tablecmds.c:2589 commands/tablecmds.c:15539 #, c-format msgid "cannot inherit from partitioned table \"%s\"" msgstr "успадкування від секціонованої таблиці \"%s\" не допускається" -#: commands/tablecmds.c:2493 +#: commands/tablecmds.c:2594 #, c-format msgid "cannot inherit from partition \"%s\"" msgstr "успадкування від розділу \"%s\" не допускається" -#: commands/tablecmds.c:2501 parser/parse_utilcmd.c:2484 -#: parser/parse_utilcmd.c:2626 +#: commands/tablecmds.c:2602 parser/parse_utilcmd.c:2481 +#: parser/parse_utilcmd.c:2623 #, c-format msgid "inherited relation \"%s\" is not a table or foreign table" msgstr "успадковане відношення \"%s\" не є таблицею або сторонньою таблицею" -#: commands/tablecmds.c:2513 +#: commands/tablecmds.c:2614 #, c-format msgid "cannot create a temporary relation as partition of permanent relation \"%s\"" msgstr "створити тимчасове відношення як секцію постійного відношення\"%s\" не можна" -#: commands/tablecmds.c:2522 commands/tablecmds.c:14928 +#: commands/tablecmds.c:2623 commands/tablecmds.c:15518 #, c-format msgid "cannot inherit from temporary relation \"%s\"" msgstr "тимчасове відношення \"%s\" не може успадковуватись" -#: commands/tablecmds.c:2532 commands/tablecmds.c:14936 +#: commands/tablecmds.c:2633 commands/tablecmds.c:15526 #, c-format msgid "cannot inherit from temporary relation of another session" msgstr "успадкування від тимчасового відношення іншого сеансу неможливе" -#: commands/tablecmds.c:2585 +#: commands/tablecmds.c:2774 commands/tablecmds.c:2828 +#: commands/tablecmds.c:12922 parser/parse_utilcmd.c:1265 +#: parser/parse_utilcmd.c:1308 parser/parse_utilcmd.c:1735 +#: parser/parse_utilcmd.c:1843 #, c-format -msgid "merging multiple inherited definitions of column \"%s\"" -msgstr "злиття декількох успадкованих визначень стовпця \"%s\"" +msgid "cannot convert whole-row table reference" +msgstr "перетворити посилання на тип усього рядка таблиці не можна" -#: commands/tablecmds.c:2597 +#: commands/tablecmds.c:2775 parser/parse_utilcmd.c:1266 #, c-format -msgid "inherited column \"%s\" has a type conflict" -msgstr "конфлікт типів в успадкованому стовпці \"%s\"" +msgid "Generation expression for column \"%s\" contains a whole-row reference to table \"%s\"." +msgstr "Вираз генерації для стовпця \"%s\" містить посилання на весь рядок на таблицю \"%s\"." -#: commands/tablecmds.c:2599 commands/tablecmds.c:2628 -#: commands/tablecmds.c:2647 commands/tablecmds.c:2919 -#: commands/tablecmds.c:2955 commands/tablecmds.c:2971 -#: parser/parse_coerce.c:2155 parser/parse_coerce.c:2175 -#: parser/parse_coerce.c:2195 parser/parse_coerce.c:2216 -#: parser/parse_coerce.c:2271 parser/parse_coerce.c:2305 -#: parser/parse_coerce.c:2381 parser/parse_coerce.c:2412 -#: parser/parse_coerce.c:2451 parser/parse_coerce.c:2518 -#: parser/parse_param.c:223 +#: commands/tablecmds.c:2829 parser/parse_utilcmd.c:1309 #, c-format -msgid "%s versus %s" -msgstr "%s проти %s" +msgid "Constraint \"%s\" contains a whole-row reference to table \"%s\"." +msgstr "Обмеження \"%s\" посилається на тип усього рядка в таблиці \"%s\"." -#: commands/tablecmds.c:2612 +#: commands/tablecmds.c:2939 commands/tablecmds.c:3210 #, c-format -msgid "inherited column \"%s\" has a collation conflict" -msgstr "конфлікт правил сортування в успадкованому стовпці \"%s\"" +msgid "column \"%s\" inherits from generated column but specifies default" +msgstr "стовпець \"%s\" успадковується із згенерованого стовпця, але вказує за замовчуванням" -#: commands/tablecmds.c:2614 commands/tablecmds.c:2935 -#: commands/tablecmds.c:6849 +#: commands/tablecmds.c:2944 commands/tablecmds.c:3215 #, c-format -msgid "\"%s\" versus \"%s\"" -msgstr "\"%s\" проти \"%s\"" +msgid "column \"%s\" inherits from generated column but specifies identity" +msgstr "стовпець \"%s\" успадковується із згенерованого стовпця, але вказує ідентичність" -#: commands/tablecmds.c:2626 +#: commands/tablecmds.c:2952 commands/tablecmds.c:3223 #, c-format -msgid "inherited column \"%s\" has a storage parameter conflict" -msgstr "конфлікт параметрів зберігання в успадкованому стовпці \"%s\"" +msgid "child column \"%s\" specifies generation expression" +msgstr "дочірній стовпець \"%s\" визначає вираз генерації" -#: commands/tablecmds.c:2645 commands/tablecmds.c:2969 +#: commands/tablecmds.c:2954 commands/tablecmds.c:3225 #, c-format -msgid "column \"%s\" has a compression method conflict" -msgstr "конфлікт методів стиснення в стовпці \"%s\"" +msgid "A child table column cannot be generated unless its parent column is." +msgstr "Стовпець дочірньої таблиці не може бути створений, якщо не створено стовпець батьківської таблиці." -#: commands/tablecmds.c:2661 +#: commands/tablecmds.c:3000 #, c-format -msgid "inherited column \"%s\" has a generation conflict" -msgstr "конфлікт генерування в успадкованому стовпці \"%s\"" +msgid "column \"%s\" inherits conflicting generation expressions" +msgstr "стовпець \"%s\" успадковує конфліктуючи вирази генерації" -#: commands/tablecmds.c:2767 commands/tablecmds.c:2822 -#: commands/tablecmds.c:12468 parser/parse_utilcmd.c:1307 -#: parser/parse_utilcmd.c:1350 parser/parse_utilcmd.c:1749 -#: parser/parse_utilcmd.c:1857 +#: commands/tablecmds.c:3002 #, c-format -msgid "cannot convert whole-row table reference" -msgstr "перетворити посилання на тип усього рядка таблиці не можна" +msgid "To resolve the conflict, specify a generation expression explicitly." +msgstr "Щоб вирішити цей конфлікт, явно вкажіть вираз генерації." -#: commands/tablecmds.c:2768 parser/parse_utilcmd.c:1308 +#: commands/tablecmds.c:3006 #, c-format -msgid "Generation expression for column \"%s\" contains a whole-row reference to table \"%s\"." -msgstr "Вираз генерації для стовпця \"%s\" містить посилання на весь рядок на таблицю \"%s\"." +msgid "column \"%s\" inherits conflicting default values" +msgstr "стовпець \"%s\" успадковує конфліктні значення за замовчуванням" -#: commands/tablecmds.c:2823 parser/parse_utilcmd.c:1351 +#: commands/tablecmds.c:3008 #, c-format -msgid "Constraint \"%s\" contains a whole-row reference to table \"%s\"." -msgstr "Обмеження \"%s\" посилається на тип усього рядка в таблиці \"%s\"." +msgid "To resolve the conflict, specify a default explicitly." +msgstr "Для усунення конфлікту вкажіть бажане значення за замовчуванням." + +#: commands/tablecmds.c:3063 +#, c-format +msgid "check constraint name \"%s\" appears multiple times but with different expressions" +msgstr "ім'я перевірочного обмеження \"%s\" з'являється декілька разів, але з різними виразами" -#: commands/tablecmds.c:2901 +#: commands/tablecmds.c:3114 #, c-format msgid "merging column \"%s\" with inherited definition" msgstr "злиття стовпця \"%s\" з успадкованим визначенням" -#: commands/tablecmds.c:2905 +#: commands/tablecmds.c:3118 #, c-format msgid "moving and merging column \"%s\" with inherited definition" msgstr "переміщення і злиття стовпця \"%s\" з успадкованим визначенням" -#: commands/tablecmds.c:2906 +#: commands/tablecmds.c:3119 #, c-format msgid "User-specified column moved to the position of the inherited column." msgstr "Визначений користувачем стовпець переміщений в позицію успадкованого стовпця." -#: commands/tablecmds.c:2917 +#: commands/tablecmds.c:3131 #, c-format msgid "column \"%s\" has a type conflict" msgstr "конфлікт типів в стовпці \"%s\"" -#: commands/tablecmds.c:2933 -#, c-format -msgid "column \"%s\" has a collation conflict" -msgstr "конфлікт правил сортування в стовпці \"%s\"" - -#: commands/tablecmds.c:2953 +#: commands/tablecmds.c:3133 commands/tablecmds.c:3167 +#: commands/tablecmds.c:3183 commands/tablecmds.c:3290 +#: commands/tablecmds.c:3323 commands/tablecmds.c:3339 +#: parser/parse_coerce.c:2155 parser/parse_coerce.c:2175 +#: parser/parse_coerce.c:2195 parser/parse_coerce.c:2216 +#: parser/parse_coerce.c:2271 parser/parse_coerce.c:2305 +#: parser/parse_coerce.c:2381 parser/parse_coerce.c:2412 +#: parser/parse_coerce.c:2451 parser/parse_coerce.c:2518 +#: parser/parse_param.c:223 #, c-format -msgid "column \"%s\" has a storage parameter conflict" -msgstr "конфлікт параметрів зберігання в стовпці \"%s\"" +msgid "%s versus %s" +msgstr "%s проти %s" -#: commands/tablecmds.c:2999 commands/tablecmds.c:3086 +#: commands/tablecmds.c:3145 #, c-format -msgid "column \"%s\" inherits from generated column but specifies default" -msgstr "стовпець \"%s\" успадковується із згенерованого стовпця, але вказує за замовчуванням" +msgid "column \"%s\" has a collation conflict" +msgstr "конфлікт правил сортування в стовпці \"%s\"" -#: commands/tablecmds.c:3004 commands/tablecmds.c:3091 +#: commands/tablecmds.c:3147 commands/tablecmds.c:3309 +#: commands/tablecmds.c:7057 #, c-format -msgid "column \"%s\" inherits from generated column but specifies identity" -msgstr "стовпець \"%s\" успадковується із згенерованого стовпця, але вказує ідентичність" +msgid "\"%s\" versus \"%s\"" +msgstr "\"%s\" проти \"%s\"" -#: commands/tablecmds.c:3012 commands/tablecmds.c:3099 +#: commands/tablecmds.c:3165 #, c-format -msgid "child column \"%s\" specifies generation expression" -msgstr "дочірній стовпець \"%s\" визначає вираз генерації" +msgid "column \"%s\" has a storage parameter conflict" +msgstr "конфлікт параметрів зберігання в стовпці \"%s\"" -#: commands/tablecmds.c:3014 commands/tablecmds.c:3101 +#: commands/tablecmds.c:3181 commands/tablecmds.c:3337 #, c-format -msgid "A child table column cannot be generated unless its parent column is." -msgstr "Стовпець дочірньої таблиці не може бути створений, якщо не створено стовпець батьківської таблиці." +msgid "column \"%s\" has a compression method conflict" +msgstr "конфлікт методів стиснення в стовпці \"%s\"" -#: commands/tablecmds.c:3147 +#: commands/tablecmds.c:3276 #, c-format -msgid "column \"%s\" inherits conflicting generation expressions" -msgstr "стовпець \"%s\" успадковує конфліктуючи вирази генерації" +msgid "merging multiple inherited definitions of column \"%s\"" +msgstr "злиття декількох успадкованих визначень стовпця \"%s\"" -#: commands/tablecmds.c:3149 +#: commands/tablecmds.c:3288 #, c-format -msgid "To resolve the conflict, specify a generation expression explicitly." -msgstr "Щоб вирішити цей конфлікт, явно вкажіть вираз генерації." +msgid "inherited column \"%s\" has a type conflict" +msgstr "конфлікт типів в успадкованому стовпці \"%s\"" -#: commands/tablecmds.c:3153 +#: commands/tablecmds.c:3307 #, c-format -msgid "column \"%s\" inherits conflicting default values" -msgstr "стовпець \"%s\" успадковує конфліктні значення за замовчуванням" +msgid "inherited column \"%s\" has a collation conflict" +msgstr "конфлікт правил сортування в успадкованому стовпці \"%s\"" -#: commands/tablecmds.c:3155 +#: commands/tablecmds.c:3321 #, c-format -msgid "To resolve the conflict, specify a default explicitly." -msgstr "Для усунення конфлікту вкажіть бажане значення за замовчуванням." +msgid "inherited column \"%s\" has a storage parameter conflict" +msgstr "конфлікт параметрів зберігання в успадкованому стовпці \"%s\"" -#: commands/tablecmds.c:3205 +#: commands/tablecmds.c:3349 #, c-format -msgid "check constraint name \"%s\" appears multiple times but with different expressions" -msgstr "ім'я перевірочного обмеження \"%s\" з'являється декілька разів, але з різними виразами" +msgid "inherited column \"%s\" has a generation conflict" +msgstr "конфлікт генерування в успадкованому стовпці \"%s\"" -#: commands/tablecmds.c:3418 +#: commands/tablecmds.c:3580 #, c-format msgid "cannot move temporary tables of other sessions" msgstr "переміщувати тимчасові таблиці інших сеансів не можна" -#: commands/tablecmds.c:3488 +#: commands/tablecmds.c:3650 #, c-format msgid "cannot rename column of typed table" msgstr "перейменувати стовпець типізованої таблиці не можна" -#: commands/tablecmds.c:3507 +#: commands/tablecmds.c:3669 #, c-format msgid "cannot rename columns of relation \"%s\"" msgstr "перейменувати стовпці відношення %s не можна" -#: commands/tablecmds.c:3602 +#: commands/tablecmds.c:3764 #, c-format msgid "inherited column \"%s\" must be renamed in child tables too" msgstr "успадкований стовпець \"%s\" повинен бути перейменований в дочірніх таблицях також" -#: commands/tablecmds.c:3634 +#: commands/tablecmds.c:3796 #, c-format msgid "cannot rename system column \"%s\"" msgstr "не можна перейменувати системний стовпець \"%s\"" -#: commands/tablecmds.c:3649 +#: commands/tablecmds.c:3811 #, c-format msgid "cannot rename inherited column \"%s\"" msgstr "не можна перейменувати успадкований стовпець \"%s\"" -#: commands/tablecmds.c:3801 +#: commands/tablecmds.c:3963 #, c-format msgid "inherited constraint \"%s\" must be renamed in child tables too" msgstr "успадковане обмеження \"%s\" повинно бути перейменовано в дочірніх таблицях також" -#: commands/tablecmds.c:3808 +#: commands/tablecmds.c:3970 #, c-format msgid "cannot rename inherited constraint \"%s\"" msgstr "не можна перейменувати успадковане обмеження \"%s\"" #. translator: first %s is a SQL command, eg ALTER TABLE -#: commands/tablecmds.c:4105 +#: commands/tablecmds.c:4267 #, c-format msgid "cannot %s \"%s\" because it is being used by active queries in this session" msgstr "не можна виконати %s \"%s\", тому що цей об'єкт використовується активними запитами в цьому сеансі" #. translator: first %s is a SQL command, eg ALTER TABLE -#: commands/tablecmds.c:4114 +#: commands/tablecmds.c:4276 #, c-format msgid "cannot %s \"%s\" because it has pending trigger events" msgstr "не можна виконати %s \"%s\", тому що з цим об'єктом зв'язані очікуванні події тригерів" -#: commands/tablecmds.c:4581 +#: commands/tablecmds.c:4302 +#, c-format +msgid "cannot alter temporary tables of other sessions" +msgstr "не можна змінювати тимчасові таблиці з інших сеансів" + +#: commands/tablecmds.c:4775 #, c-format msgid "cannot alter partition \"%s\" with an incomplete detach" msgstr "не можна змінити розділ \"%s\" з неповним відключенням" -#: commands/tablecmds.c:4774 commands/tablecmds.c:4789 +#: commands/tablecmds.c:4979 commands/tablecmds.c:4994 #, c-format msgid "cannot change persistence setting twice" msgstr "неможливо двічі змінити параметр стійкості" -#: commands/tablecmds.c:4810 -#, c-format -msgid "cannot change access method of a partitioned table" -msgstr "неможливо змінити метод доступу секціонованої таблиці" - -#: commands/tablecmds.c:4816 +#: commands/tablecmds.c:5015 #, c-format msgid "cannot have multiple SET ACCESS METHOD subcommands" msgstr "неможливо мати декілька підкоманд SET ACCESS METHOD" -#: commands/tablecmds.c:5537 +#: commands/tablecmds.c:5745 #, c-format msgid "cannot rewrite system relation \"%s\"" msgstr "перезаписати системне відношення \"%s\" не можна" -#: commands/tablecmds.c:5543 +#: commands/tablecmds.c:5751 #, c-format msgid "cannot rewrite table \"%s\" used as a catalog table" msgstr "перезаписати таблицю \"%s\", що використовується як таблиця каталогу, не можна" -#: commands/tablecmds.c:5553 +#: commands/tablecmds.c:5763 #, c-format msgid "cannot rewrite temporary tables of other sessions" msgstr "неможливо перезаписати тимчасові таблиці інших сеансів" -#: commands/tablecmds.c:6048 +#: commands/tablecmds.c:6258 #, c-format msgid "column \"%s\" of relation \"%s\" contains null values" msgstr "стовпець \"%s\" відношення \"%s\" містить null значення" -#: commands/tablecmds.c:6065 +#: commands/tablecmds.c:6275 #, c-format msgid "check constraint \"%s\" of relation \"%s\" is violated by some row" msgstr "перевірка обмеження \"%s\" відношення \"%s\" порушується деяким рядком" -#: commands/tablecmds.c:6084 partitioning/partbounds.c:3388 +#: commands/tablecmds.c:6294 partitioning/partbounds.c:3387 #, c-format msgid "updated partition constraint for default partition \"%s\" would be violated by some row" msgstr "оновлене обмеження секції для секції за замовчуванням \"%s\" буде порушено деякими рядками" -#: commands/tablecmds.c:6090 +#: commands/tablecmds.c:6300 #, c-format msgid "partition constraint of relation \"%s\" is violated by some row" msgstr "обмеження секції відношення \"%s\" порушується деяким рядком" #. translator: %s is a group of some SQL keywords -#: commands/tablecmds.c:6352 +#: commands/tablecmds.c:6565 #, c-format msgid "ALTER action %s cannot be performed on relation \"%s\"" msgstr "Дію ALTER %s не можна виконати на відношенні \"%s\"" -#: commands/tablecmds.c:6607 commands/tablecmds.c:6614 +#: commands/tablecmds.c:6820 commands/tablecmds.c:6827 #, c-format msgid "cannot alter type \"%s\" because column \"%s.%s\" uses it" msgstr "неможливо змінити тип \"%s\", тому що стовпець \"%s.%s\" використовує його" -#: commands/tablecmds.c:6621 +#: commands/tablecmds.c:6834 #, c-format msgid "cannot alter foreign table \"%s\" because column \"%s.%s\" uses its row type" msgstr "неможливо змінити сторонню таблицю \"%s\", тому що стовпець \"%s.%s\" використовує тип її рядка" -#: commands/tablecmds.c:6628 +#: commands/tablecmds.c:6841 #, c-format msgid "cannot alter table \"%s\" because column \"%s.%s\" uses its row type" msgstr "неможливо змінити таблицю \"%s\", тому що стовпець \"%s.%s\" використовує тип її рядка" -#: commands/tablecmds.c:6684 +#: commands/tablecmds.c:6897 #, c-format msgid "cannot alter type \"%s\" because it is the type of a typed table" msgstr "неможливо змінити тип \"%s\", тому що це тип типізованої таблиці" -#: commands/tablecmds.c:6686 +#: commands/tablecmds.c:6899 #, c-format msgid "Use ALTER ... CASCADE to alter the typed tables too." msgstr "Щоб змінити типізовані таблиці, використайте також ALTER ... CASCADE." -#: commands/tablecmds.c:6732 +#: commands/tablecmds.c:6945 #, c-format msgid "type %s is not a composite type" msgstr "тип %s не є складеним" -#: commands/tablecmds.c:6759 +#: commands/tablecmds.c:6972 #, c-format msgid "cannot add column to typed table" msgstr "неможливо додати стовпець до типізованої таблиці" -#: commands/tablecmds.c:6812 +#: commands/tablecmds.c:7020 #, c-format msgid "cannot add column to a partition" msgstr "неможливо додати стовпець до розділу" -#: commands/tablecmds.c:6841 commands/tablecmds.c:15179 +#: commands/tablecmds.c:7049 commands/tablecmds.c:15757 #, c-format msgid "child table \"%s\" has different type for column \"%s\"" msgstr "дочірня таблиця \"%s\" має інший тип для стовпця \"%s\"" -#: commands/tablecmds.c:6847 commands/tablecmds.c:15186 +#: commands/tablecmds.c:7055 commands/tablecmds.c:15763 #, c-format msgid "child table \"%s\" has different collation for column \"%s\"" msgstr "дочірня таблиця \"%s\" має інше правило сортування для стовпця \"%s\"" -#: commands/tablecmds.c:6865 +#: commands/tablecmds.c:7073 #, c-format msgid "merging definition of column \"%s\" for child \"%s\"" msgstr "об'єднання визначення стовпця \"%s\" для нащадка \"%s\"" -#: commands/tablecmds.c:6912 +#: commands/tablecmds.c:7126 #, c-format msgid "cannot recursively add identity column to table that has child tables" msgstr "неможливо додати стовпець ідентифікації в таблицю, яка має дочірні таблиці" -#: commands/tablecmds.c:7163 +#: commands/tablecmds.c:7339 #, c-format msgid "column must be added to child tables too" msgstr "стовпець також повинен бути доданий до дочірніх таблиць" -#: commands/tablecmds.c:7241 +#: commands/tablecmds.c:7417 #, c-format msgid "column \"%s\" of relation \"%s\" already exists, skipping" msgstr "стовпець \"%s\" відношення \"%s\" вже існує, пропускається" -#: commands/tablecmds.c:7248 +#: commands/tablecmds.c:7424 #, c-format msgid "column \"%s\" of relation \"%s\" already exists" msgstr "стовпець \"%s\" відношення \"%s\" вже існує" -#: commands/tablecmds.c:7314 commands/tablecmds.c:12106 +#: commands/tablecmds.c:7490 commands/tablecmds.c:12550 #, c-format msgid "cannot remove constraint from only the partitioned table when partitions exist" msgstr "неможливо видалити обмеження тільки з секціонованої таблиці, коли існують секції" -#: commands/tablecmds.c:7315 commands/tablecmds.c:7632 -#: commands/tablecmds.c:8601 commands/tablecmds.c:12107 +#: commands/tablecmds.c:7491 commands/tablecmds.c:7805 +#: commands/tablecmds.c:7983 commands/tablecmds.c:8090 +#: commands/tablecmds.c:8207 commands/tablecmds.c:9026 +#: commands/tablecmds.c:12551 #, c-format msgid "Do not specify the ONLY keyword." msgstr "Не вказуйте ключове слово ONLY." -#: commands/tablecmds.c:7352 commands/tablecmds.c:7558 -#: commands/tablecmds.c:7700 commands/tablecmds.c:7818 -#: commands/tablecmds.c:7912 commands/tablecmds.c:7971 -#: commands/tablecmds.c:8090 commands/tablecmds.c:8229 -#: commands/tablecmds.c:8299 commands/tablecmds.c:8433 -#: commands/tablecmds.c:12261 commands/tablecmds.c:13765 -#: commands/tablecmds.c:16296 +#: commands/tablecmds.c:7527 commands/tablecmds.c:7731 +#: commands/tablecmds.c:7873 commands/tablecmds.c:8005 +#: commands/tablecmds.c:8134 commands/tablecmds.c:8228 +#: commands/tablecmds.c:8329 commands/tablecmds.c:8486 +#: commands/tablecmds.c:8639 commands/tablecmds.c:8720 +#: commands/tablecmds.c:8854 commands/tablecmds.c:12704 +#: commands/tablecmds.c:14246 commands/tablecmds.c:16872 #, c-format msgid "cannot alter system column \"%s\"" msgstr "не можна змінити системний стовпець \"%s\"" -#: commands/tablecmds.c:7358 commands/tablecmds.c:7706 +#: commands/tablecmds.c:7533 commands/tablecmds.c:7879 #, c-format msgid "column \"%s\" of relation \"%s\" is an identity column" msgstr "стовпець \"%s\" відношення \"%s\" є стовпцем ідентифікації" -#: commands/tablecmds.c:7401 +#: commands/tablecmds.c:7574 #, c-format msgid "column \"%s\" is in a primary key" msgstr "стовпець \"%s\" входить до первинного ключа" -#: commands/tablecmds.c:7406 +#: commands/tablecmds.c:7579 #, c-format msgid "column \"%s\" is in index used as replica identity" msgstr "стовпець \"%s\" в індексі, що використовується як ідентифікація репліки" -#: commands/tablecmds.c:7429 +#: commands/tablecmds.c:7602 #, c-format msgid "column \"%s\" is marked NOT NULL in parent table" msgstr "стовпець \"%s\" в батьківській таблиці позначений як NOT NULL" -#: commands/tablecmds.c:7629 commands/tablecmds.c:9085 +#: commands/tablecmds.c:7802 commands/tablecmds.c:9510 #, c-format msgid "constraint must be added to child tables too" msgstr "обмеження повинно бути додано у дочірні таблиці також" -#: commands/tablecmds.c:7630 +#: commands/tablecmds.c:7803 #, c-format msgid "Column \"%s\" of relation \"%s\" is not already NOT NULL." msgstr "Стовпець \"%s\" відношення \"%s\" вже не NOT NULL." -#: commands/tablecmds.c:7715 +#: commands/tablecmds.c:7888 #, c-format msgid "column \"%s\" of relation \"%s\" is a generated column" msgstr "стовпець \"%s\" відношення \"%s\" є згенерованим стовпцем" -#: commands/tablecmds.c:7829 +#: commands/tablecmds.c:7982 +#, c-format +msgid "cannot add identity to a column of only the partitioned table" +msgstr "не може додати ідентифікатор до стовпця лише розділеної таблиці" + +#: commands/tablecmds.c:7988 +#, c-format +msgid "cannot add identity to a column of a partition" +msgstr "не може додати ідентифікатор до стовпця розділу" + +#: commands/tablecmds.c:8016 #, 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:7835 +#: commands/tablecmds.c:8022 #, c-format msgid "column \"%s\" of relation \"%s\" is already an identity column" msgstr "стовпець \"%s\" відношення \"%s\" вже є стовпцем ідентифікації" -#: commands/tablecmds.c:7841 +#: commands/tablecmds.c:8028 #, c-format msgid "column \"%s\" of relation \"%s\" already has a default value" msgstr "стовпець \"%s\" відношення \"%s\" вже має значення за замовчуванням" -#: commands/tablecmds.c:7918 commands/tablecmds.c:7979 +#: commands/tablecmds.c:8089 +#, c-format +msgid "cannot change identity column of only the partitioned table" +msgstr "не можна змінювати стовпець ідентичності лише в розбитій на розділи таблиці" + +#: commands/tablecmds.c:8095 +#, c-format +msgid "cannot change identity column of a partition" +msgstr "не можна змінити стовпець ідентичності розділу" + +#: commands/tablecmds.c:8140 commands/tablecmds.c:8236 #, c-format msgid "column \"%s\" of relation \"%s\" is not an identity column" msgstr "стовпець \"%s\" відношення \"%s\" не є стовпцем ідентифікації" -#: commands/tablecmds.c:7984 +#: commands/tablecmds.c:8206 +#, c-format +msgid "cannot drop identity from a column of only the partitioned table" +msgstr "не можна вилучити ідентифікатор зі стовпця лише розбитої на розділи таблиці" + +#: commands/tablecmds.c:8212 +#, c-format +msgid "cannot drop identity from a column of a partition" +msgstr "не можна вилучити ідентифікатор зі стовпця розділу" + +#: commands/tablecmds.c:8241 #, c-format msgid "column \"%s\" of relation \"%s\" is not an identity column, skipping" msgstr "стовпець \"%s\" відношення \"%s\" не є стовпцем ідентифікації, пропускається" -#: commands/tablecmds.c:8037 +#: commands/tablecmds.c:8335 +#, c-format +msgid "column \"%s\" of relation \"%s\" is not a generated column" +msgstr "стовпець \"%s\" відношення \"%s\" не є згенерованим стовпцем" + +#: commands/tablecmds.c:8433 #, c-format msgid "ALTER TABLE / DROP EXPRESSION must be applied to child tables too" msgstr "ALTER TABLE / DROP EXPRESSION повинен бути застосований і до дочірніх таблиць" -#: commands/tablecmds.c:8059 +#: commands/tablecmds.c:8455 #, c-format msgid "cannot drop generation expression from inherited column" msgstr "не можна видалити вираз генерації з успадкованого стовпця" -#: commands/tablecmds.c:8098 +#: commands/tablecmds.c:8494 #, c-format msgid "column \"%s\" of relation \"%s\" is not a stored generated column" msgstr "стовпець \"%s\" відношення \"%s\" не є збереженим згенерованим стовпцем" -#: commands/tablecmds.c:8103 +#: commands/tablecmds.c:8499 #, c-format msgid "column \"%s\" of relation \"%s\" is not a stored generated column, skipping" msgstr "стовпець \"%s\" відношення \"%s\" не є збереженим згенерованим стовпцем, пропускається" -#: commands/tablecmds.c:8176 +#: commands/tablecmds.c:8577 #, c-format msgid "cannot refer to non-index column by number" msgstr "не можна посилатись на неіндексований стовпець за номером" -#: commands/tablecmds.c:8219 +#: commands/tablecmds.c:8629 #, c-format msgid "column number %d of relation \"%s\" does not exist" msgstr "стовпець з номером %d відношення %s не існує" -#: commands/tablecmds.c:8238 +#: commands/tablecmds.c:8648 #, c-format msgid "cannot alter statistics on included column \"%s\" of index \"%s\"" msgstr "змінити статистику включеного стовпця \"%s\" індексу \"%s\" не можна" -#: commands/tablecmds.c:8243 +#: commands/tablecmds.c:8653 #, c-format msgid "cannot alter statistics on non-expression column \"%s\" of index \"%s\"" msgstr "змінити статистику невираженого стовпця \"%s\" індексу \"%s\" не можна" -#: commands/tablecmds.c:8245 +#: commands/tablecmds.c:8655 #, c-format msgid "Alter statistics on table column instead." msgstr "Замість цього змініть статистику стовпця в таблиці." -#: commands/tablecmds.c:8480 +#: commands/tablecmds.c:8901 #, c-format msgid "cannot drop column from typed table" msgstr "не можна видалити стовпець з типізованої таблиці" -#: commands/tablecmds.c:8539 +#: commands/tablecmds.c:8964 #, c-format msgid "column \"%s\" of relation \"%s\" does not exist, skipping" msgstr "стовпець \"%s\" відношення \"%s\" не існує, пропускається" -#: commands/tablecmds.c:8552 +#: commands/tablecmds.c:8977 #, c-format msgid "cannot drop system column \"%s\"" msgstr "не можна видалити системний стовпець \"%s\"" -#: commands/tablecmds.c:8562 +#: commands/tablecmds.c:8987 #, c-format msgid "cannot drop inherited column \"%s\"" msgstr "не можна видалити успадкований стовпець \"%s\"" -#: commands/tablecmds.c:8575 +#: commands/tablecmds.c:9000 #, c-format msgid "cannot drop column \"%s\" because it is part of the partition key of relation \"%s\"" msgstr "не можна видалити стовпець \"%s\", тому що він є частиною ключа секції відношення \"%s\"" -#: commands/tablecmds.c:8600 +#: commands/tablecmds.c:9025 #, c-format msgid "cannot drop column from only the partitioned table when partitions exist" msgstr "видалити стовпець тільки з секціонованої таблиці, коли існують секції, не можна" -#: commands/tablecmds.c:8805 +#: commands/tablecmds.c:9230 #, 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:8830 +#: commands/tablecmds.c:9255 #, 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:9167 +#: commands/tablecmds.c:9592 #, c-format msgid "cannot use ONLY for foreign key on partitioned table \"%s\" referencing relation \"%s\"" msgstr "не можна використати ONLY для стороннього ключа в секціонованій таблиці \"%s\", який посилається на відношення \"%s\"" -#: commands/tablecmds.c:9173 +#: commands/tablecmds.c:9598 #, c-format msgid "cannot add NOT VALID foreign key on partitioned table \"%s\" referencing relation \"%s\"" msgstr "не можна додати сторонній ключ з характеристикою NOT VALID в секціоновану таблицю \"%s\", який посилається на відношення \"%s\"" -#: commands/tablecmds.c:9176 +#: commands/tablecmds.c:9601 #, c-format msgid "This feature is not yet supported on partitioned tables." msgstr "Ця функція ще не підтримується з секціонованими таблицями." -#: commands/tablecmds.c:9183 commands/tablecmds.c:9639 +#: commands/tablecmds.c:9608 commands/tablecmds.c:10064 #, c-format msgid "referenced relation \"%s\" is not a table" msgstr "вказане відношення \"%s\" не є таблицею" -#: commands/tablecmds.c:9206 +#: commands/tablecmds.c:9631 #, c-format msgid "constraints on permanent tables may reference only permanent tables" msgstr "обмеження в постійних таблицях можуть посилатись лише на постійні таблиці" -#: commands/tablecmds.c:9213 +#: commands/tablecmds.c:9638 #, c-format msgid "constraints on unlogged tables may reference only permanent or unlogged tables" msgstr "обмеження в нежурнальованих таблицях можуть посилатись тільки на постійні або нежурналюємі таблиці" -#: commands/tablecmds.c:9219 +#: commands/tablecmds.c:9644 #, c-format msgid "constraints on temporary tables may reference only temporary tables" msgstr "обмеження в тимчасових таблицях можуть посилатись лише на тимчасові таблиці" -#: commands/tablecmds.c:9223 +#: commands/tablecmds.c:9648 #, c-format msgid "constraints on temporary tables must involve temporary tables of this session" msgstr "обмеження в тимчасових таблицях повинні посилатись лише на тичасові таблиці поточного сеансу" -#: commands/tablecmds.c:9287 commands/tablecmds.c:9293 +#: commands/tablecmds.c:9712 commands/tablecmds.c:9718 #, c-format msgid "invalid %s action for foreign key constraint containing generated column" msgstr "неприпустима дія %s для обмеження зовнішнього ключа, який містить згеренований стовпець" -#: commands/tablecmds.c:9309 +#: commands/tablecmds.c:9734 #, c-format msgid "number of referencing and referenced columns for foreign key disagree" msgstr "число стовпців в джерелі і призначенні зовнішнього ключа не збігається" -#: commands/tablecmds.c:9416 +#: commands/tablecmds.c:9841 #, c-format msgid "foreign key constraint \"%s\" cannot be implemented" msgstr "обмеження зовнішнього ключа \"%s\" не можна реалізувати" -#: commands/tablecmds.c:9418 +#: commands/tablecmds.c:9843 #, c-format msgid "Key columns \"%s\" and \"%s\" are of incompatible types: %s and %s." msgstr "Стовпці ключа \"%s\" і \"%s\" містять несумісні типи: %s і %s." -#: commands/tablecmds.c:9575 +#: commands/tablecmds.c:10000 #, 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:9849 commands/tablecmds.c:10319 -#: parser/parse_utilcmd.c:800 parser/parse_utilcmd.c:929 +#: commands/tablecmds.c:10274 commands/tablecmds.c:10761 +#: 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:10872 commands/tablecmds.c:11150 -#: commands/tablecmds.c:12063 commands/tablecmds.c:12138 +#: commands/tablecmds.c:10744 +#, c-format +msgid "cannot attach table \"%s\" as a partition because it is referenced by foreign key \"%s\"" +msgstr "не можна підключити таблицю \"%s\" в якості секції, тому що на неї посилається сторонній ключ \"%s\"" + +#: commands/tablecmds.c:11314 commands/tablecmds.c:11595 +#: commands/tablecmds.c:12507 commands/tablecmds.c:12581 #, c-format msgid "constraint \"%s\" of relation \"%s\" does not exist" msgstr "обмеження \"%s\" відношення \"%s\" не існує" -#: commands/tablecmds.c:10879 +#: commands/tablecmds.c:11321 #, c-format msgid "constraint \"%s\" of relation \"%s\" is not a foreign key constraint" msgstr "обмеження \"%s\" відношення \"%s\" не є обмеженням зовнішнього ключа" -#: commands/tablecmds.c:10917 +#: commands/tablecmds.c:11359 #, c-format msgid "cannot alter constraint \"%s\" on relation \"%s\"" msgstr "не можна змінити обмеження \"%s\" відношення \"%s\"" -#: commands/tablecmds.c:10920 +#: commands/tablecmds.c:11362 #, c-format msgid "Constraint \"%s\" is derived from constraint \"%s\" of relation \"%s\"." msgstr "Обмеження \"%s\" походить з обмеження \"%s\" відношення \"%s\"." -#: commands/tablecmds.c:10922 +#: commands/tablecmds.c:11364 #, c-format msgid "You may alter the constraint it derives from instead." msgstr "Натомість ви можете змінити початкове обмеження." -#: commands/tablecmds.c:11158 +#: commands/tablecmds.c:11603 #, c-format msgid "constraint \"%s\" of relation \"%s\" is not a foreign key or check constraint" msgstr "обмеження \"%s\" відношення \"%s\" не є зовнішнім ключем або перевіркою обмеженням " -#: commands/tablecmds.c:11235 +#: commands/tablecmds.c:11680 #, c-format msgid "constraint must be validated on child tables too" msgstr "обмеження повинно дотримуватися в дочірніх таблицях також" -#: commands/tablecmds.c:11322 +#: commands/tablecmds.c:11767 #, c-format msgid "column \"%s\" referenced in foreign key constraint does not exist" msgstr "стовпець \"%s\", вказаний в обмеженні зовнішнього ключа, не існує" -#: commands/tablecmds.c:11328 +#: commands/tablecmds.c:11773 #, c-format msgid "system columns cannot be used in foreign keys" msgstr "в зовнішніх ключах не можна використовувати системні стовпці" -#: commands/tablecmds.c:11332 +#: commands/tablecmds.c:11777 #, c-format msgid "cannot have more than %d keys in a foreign key" msgstr "у зовнішньому ключі не може бути більш ніж %d ключів" -#: commands/tablecmds.c:11397 +#: commands/tablecmds.c:11842 #, c-format msgid "cannot use a deferrable primary key for referenced table \"%s\"" msgstr "використовувати затримуваний первинний ключ в цільовій зовнішній таблиці \"%s\" не можна" -#: commands/tablecmds.c:11414 +#: commands/tablecmds.c:11859 #, c-format msgid "there is no primary key for referenced table \"%s\"" msgstr "у цільовій зовнішній таблиці \"%s\" немає первинного ключа" -#: commands/tablecmds.c:11482 +#: commands/tablecmds.c:11927 #, c-format msgid "foreign key referenced-columns list must not contain duplicates" msgstr "у списку стовпців зовнішнього ключа не повинно бути повторень" -#: commands/tablecmds.c:11574 +#: commands/tablecmds.c:12019 #, c-format msgid "cannot use a deferrable unique constraint for referenced table \"%s\"" msgstr "використовувати затримане обмеження унікальності в цільовій зовнішній таблиці \"%s\" не можна" -#: commands/tablecmds.c:11579 +#: commands/tablecmds.c:12024 #, c-format msgid "there is no unique constraint matching given keys for referenced table \"%s\"" msgstr "у цільовій зовнішній таблиці \"%s\" немає обмеження унікальності, відповідного даним ключам" -#: commands/tablecmds.c:12019 +#: commands/tablecmds.c:12463 #, c-format msgid "cannot drop inherited constraint \"%s\" of relation \"%s\"" msgstr "видалити успадковане обмеження \"%s\" відношення \"%s\" не можна" -#: commands/tablecmds.c:12069 +#: commands/tablecmds.c:12513 #, c-format msgid "constraint \"%s\" of relation \"%s\" does not exist, skipping" msgstr "обмеження \"%s\" відношення \"%s\" не існує, пропускається" -#: commands/tablecmds.c:12245 +#: commands/tablecmds.c:12688 #, c-format msgid "cannot alter column type of typed table" msgstr "змінити тип стовпця в типізованій таблиці не можна" -#: commands/tablecmds.c:12272 +#: commands/tablecmds.c:12714 +#, c-format +msgid "cannot specify USING when altering type of generated column" +msgstr "не можна вказати USING під час зміни типу згенерованого стовпця" + +#: commands/tablecmds.c:12715 commands/tablecmds.c:17918 +#: commands/tablecmds.c:18008 commands/trigger.c:656 +#: rewrite/rewriteHandler.c:935 rewrite/rewriteHandler.c:970 +#, c-format +msgid "Column \"%s\" is a generated column." +msgstr "Стовпець \"%s\" є згенерованим стовпцем." + +#: commands/tablecmds.c:12725 #, c-format msgid "cannot alter inherited column \"%s\"" msgstr "змінити успадкований стовпець \"%s\" не можна" -#: commands/tablecmds.c:12281 +#: commands/tablecmds.c:12734 #, c-format msgid "cannot alter column \"%s\" because it is part of the partition key of relation \"%s\"" msgstr "не можна змінити стовпець \"%s\", тому що він є частиною ключа секції відношення \"%s\"" -#: commands/tablecmds.c:12331 +#: commands/tablecmds.c:12784 #, c-format msgid "result of USING clause for column \"%s\" cannot be cast automatically to type %s" msgstr "результати речення USING для стовпця \"%s\" не можна автоматично наведено для типу %s" -#: commands/tablecmds.c:12334 +#: commands/tablecmds.c:12787 #, c-format msgid "You might need to add an explicit cast." msgstr "Можливо, необхідно додати явне приведення типу." -#: commands/tablecmds.c:12338 +#: commands/tablecmds.c:12791 #, 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:12341 +#: commands/tablecmds.c:12795 #, c-format msgid "You might need to specify \"USING %s::%s\"." msgstr "Можливо, необхідно вказати \"USING %s::%s\"." -#: commands/tablecmds.c:12440 +#: commands/tablecmds.c:12894 #, c-format msgid "cannot alter inherited column \"%s\" of relation \"%s\"" msgstr "не можна змінити успадкований стовпець \"%s\" відношення \"%s\"" -#: commands/tablecmds.c:12469 +#: commands/tablecmds.c:12923 #, c-format msgid "USING expression contains a whole-row table reference." msgstr "Вираз USING містить посилання на тип усього рядка таблиці." -#: commands/tablecmds.c:12480 +#: commands/tablecmds.c:12934 #, c-format msgid "type of inherited column \"%s\" must be changed in child tables too" msgstr "тип успадкованого стовпця \"%s\" повинен бути змінений і в дочірніх таблицях" -#: commands/tablecmds.c:12605 +#: commands/tablecmds.c:13059 #, c-format msgid "cannot alter type of column \"%s\" twice" msgstr "не можна змінити тип стовпця \"%s\" двічі" -#: commands/tablecmds.c:12643 +#: commands/tablecmds.c:13097 #, c-format msgid "generation expression for column \"%s\" cannot be cast automatically to type %s" msgstr "вираз генерації для стовпця \"%s\" не можна автоматично привести до типу %s" -#: commands/tablecmds.c:12648 +#: commands/tablecmds.c:13102 #, c-format msgid "default for column \"%s\" cannot be cast automatically to type %s" msgstr "значення за замовчуванням для стовпця \"%s\" не можна автоматично привести до типу %s" -#: commands/tablecmds.c:12729 +#: commands/tablecmds.c:13406 #, c-format -msgid "cannot alter type of a column used by a view or rule" -msgstr "змінити тип стовпця, залученого в поданні або правилі, не можна" +msgid "cannot alter type of a column used by a function or procedure" +msgstr "неможливо змінити тип стовпця, який використовується функцією або процедурою" -#: commands/tablecmds.c:12730 commands/tablecmds.c:12749 -#: commands/tablecmds.c:12767 +#: commands/tablecmds.c:13407 commands/tablecmds.c:13422 +#: commands/tablecmds.c:13442 commands/tablecmds.c:13461 +#: commands/tablecmds.c:13520 #, c-format msgid "%s depends on column \"%s\"" msgstr "%s залежить від стовпця \"%s\"" -#: commands/tablecmds.c:12748 +#: commands/tablecmds.c:13421 +#, c-format +msgid "cannot alter type of a column used by a view or rule" +msgstr "змінити тип стовпця, залученого в поданні або правилі, не можна" + +#: commands/tablecmds.c:13441 #, c-format msgid "cannot alter type of a column used in a trigger definition" msgstr "неможливо змінити тип стовпця, що використовується у визначенні тригеру" -#: commands/tablecmds.c:12766 +#: commands/tablecmds.c:13460 #, c-format msgid "cannot alter type of a column used in a policy definition" msgstr "неможливо змінити тип стовпця, що використовується у визначенні політики" -#: commands/tablecmds.c:12797 +#: commands/tablecmds.c:13491 #, c-format msgid "cannot alter type of a column used by a generated column" msgstr "змінити тип стовпця, який використовується згенерованим стовпцем, не можна" -#: commands/tablecmds.c:12798 +#: commands/tablecmds.c:13492 #, c-format msgid "Column \"%s\" is used by generated column \"%s\"." msgstr "Стовпець \"%s\" використовується згенерованим стовпцем \"%s\"." -#: commands/tablecmds.c:13873 commands/tablecmds.c:13885 +#: commands/tablecmds.c:13519 +#, c-format +msgid "cannot alter type of a column used by a publication WHERE clause" +msgstr "неможливо змінити тип стовпця, який використовується публікацією в реченні WHERE" + +#: commands/tablecmds.c:14354 commands/tablecmds.c:14366 #, c-format msgid "cannot change owner of index \"%s\"" msgstr "неможливо змінити власника індексу \"%s\"" -#: commands/tablecmds.c:13875 commands/tablecmds.c:13887 +#: commands/tablecmds.c:14356 commands/tablecmds.c:14368 #, c-format msgid "Change the ownership of the index's table instead." msgstr "Замість цього змініть власника таблиці, що містить цей індекс." -#: commands/tablecmds.c:13901 +#: commands/tablecmds.c:14382 #, c-format msgid "cannot change owner of sequence \"%s\"" msgstr "неможливо змінити власника послідовності \"%s\"" -#: commands/tablecmds.c:13926 +#: commands/tablecmds.c:14407 #, c-format msgid "cannot change owner of relation \"%s\"" msgstr "неможливо змінити власника відношення \"%s\"" -#: commands/tablecmds.c:14288 +#: commands/tablecmds.c:14874 #, c-format msgid "cannot have multiple SET TABLESPACE subcommands" msgstr "в одній інструкції не може бути декілька підкоманд SET TABLESPACE" -#: commands/tablecmds.c:14365 +#: commands/tablecmds.c:14951 #, c-format msgid "cannot set options for relation \"%s\"" msgstr "неможливо встановити параметри відношення \"%s\"" -#: commands/tablecmds.c:14399 commands/view.c:445 +#: commands/tablecmds.c:14985 commands/view.c:440 #, c-format msgid "WITH CHECK OPTION is supported only on automatically updatable views" msgstr "WITH CHECK OPTION підтримується лише з автооновлюваними поданнями" -#: commands/tablecmds.c:14649 +#: commands/tablecmds.c:15235 #, c-format msgid "only tables, indexes, and materialized views exist in tablespaces" msgstr "у табличних просторах існують лише таблиці, індекси та матеріалізовані подання" -#: commands/tablecmds.c:14661 +#: commands/tablecmds.c:15247 #, c-format msgid "cannot move relations in to or out of pg_global tablespace" msgstr "переміщувати відношення у або з табличного простору pg_global не можна" -#: commands/tablecmds.c:14753 +#: commands/tablecmds.c:15339 #, c-format msgid "aborting because lock on relation \"%s.%s\" is not available" msgstr "переривання через блокування відношення \"%s.%s\" неможливе" -#: commands/tablecmds.c:14769 +#: commands/tablecmds.c:15355 #, c-format msgid "no matching relations in tablespace \"%s\" found" msgstr " табличному просторі \"%s\" не знайдені відповідні відносини" -#: commands/tablecmds.c:14887 +#: commands/tablecmds.c:15477 #, c-format msgid "cannot change inheritance of typed table" msgstr "змінити успадкування типізованої таблиці не можна" -#: commands/tablecmds.c:14892 commands/tablecmds.c:15410 +#: commands/tablecmds.c:15482 commands/tablecmds.c:15982 #, c-format msgid "cannot change inheritance of a partition" msgstr "змінити успадкування секції не можна" -#: commands/tablecmds.c:14897 +#: commands/tablecmds.c:15487 #, c-format msgid "cannot change inheritance of partitioned table" msgstr "змінити успадкування секціонованої таблиці не можна" -#: commands/tablecmds.c:14943 +#: commands/tablecmds.c:15533 #, c-format msgid "cannot inherit to temporary relation of another session" msgstr "успадкування для тимчасового відношення іншого сеансу не можливе" -#: commands/tablecmds.c:14956 +#: commands/tablecmds.c:15546 #, c-format msgid "cannot inherit from a partition" msgstr "успадкування від секції неможливе" -#: commands/tablecmds.c:14978 commands/tablecmds.c:17841 +#: commands/tablecmds.c:15568 commands/tablecmds.c:18419 #, c-format msgid "circular inheritance not allowed" msgstr "циклічне успадкування неприпустиме" -#: commands/tablecmds.c:14979 commands/tablecmds.c:17842 +#: commands/tablecmds.c:15569 commands/tablecmds.c:18420 #, c-format msgid "\"%s\" is already a child of \"%s\"." msgstr "\"%s\" вже є нащадком \"%s\"." -#: commands/tablecmds.c:14992 +#: commands/tablecmds.c:15582 #, c-format msgid "trigger \"%s\" prevents table \"%s\" from becoming an inheritance child" msgstr "тригер \"%s\" не дозволяє таблиці \"%s\" стати нащадком успадкування" -#: commands/tablecmds.c:14994 +#: commands/tablecmds.c:15584 #, c-format msgid "ROW triggers with transition tables are not supported in inheritance hierarchies." msgstr "Тригери ROW з перехідними таблицями не підтримуються в ієрархіях успадкування." -#: commands/tablecmds.c:15197 +#: commands/tablecmds.c:15773 #, c-format msgid "column \"%s\" in child table must be marked NOT NULL" msgstr "стовпець \"%s\" в дочірній таблиці має бути позначений як NOT NULL" -#: commands/tablecmds.c:15206 +#: commands/tablecmds.c:15782 #, c-format msgid "column \"%s\" in child table must be a generated column" msgstr "стовпець \"%s\" у дочірній таблиці повинен бути згенерованим стовпцем" -#: commands/tablecmds.c:15211 +#: commands/tablecmds.c:15786 #, c-format msgid "column \"%s\" in child table must not be a generated column" msgstr "стовпець \"%s\" у дочірній таблиці повинен бути не генерованим стовпцем" -#: commands/tablecmds.c:15242 +#: commands/tablecmds.c:15824 #, c-format msgid "child table is missing column \"%s\"" msgstr "у дочірній таблиці не вистачає стовпця \"%s\"" -#: commands/tablecmds.c:15330 +#: commands/tablecmds.c:15905 #, c-format msgid "child table \"%s\" has different definition for check constraint \"%s\"" msgstr "дочірня таблиця \"%s\" має інше визначення перевірочного обмеження \"%s\"" -#: commands/tablecmds.c:15338 +#: commands/tablecmds.c:15912 #, c-format msgid "constraint \"%s\" conflicts with non-inherited constraint on child table \"%s\"" msgstr "обмеження \"%s\" конфліктує з неуспадкованим обмеженням дочірньої таблиці \"%s\"" -#: commands/tablecmds.c:15349 +#: commands/tablecmds.c:15922 #, c-format msgid "constraint \"%s\" conflicts with NOT VALID constraint on child table \"%s\"" msgstr "обмеження \"%s\" конфліктує з NOT VALID обмеженням дочірньої таблиці \"%s\"" -#: commands/tablecmds.c:15388 +#: commands/tablecmds.c:15960 #, c-format msgid "child table is missing constraint \"%s\"" msgstr "у дочірній таблиці не вистачає обмеження \"%s\"" -#: commands/tablecmds.c:15474 +#: commands/tablecmds.c:16046 #, c-format msgid "partition \"%s\" already pending detach in partitioned table \"%s.%s\"" msgstr "розділ \"%s\" вже очікує відключення в секціонованій таблиці \"%s.%s\"" -#: commands/tablecmds.c:15503 commands/tablecmds.c:15551 +#: commands/tablecmds.c:16075 commands/tablecmds.c:16121 #, c-format msgid "relation \"%s\" is not a partition of relation \"%s\"" msgstr "відношення \"%s\" не є секцією відношення \"%s\"" -#: commands/tablecmds.c:15557 +#: commands/tablecmds.c:16127 #, c-format msgid "relation \"%s\" is not a parent of relation \"%s\"" msgstr "відношення \"%s\" не є предком відношення \"%s\"" -#: commands/tablecmds.c:15785 +#: commands/tablecmds.c:16354 #, c-format msgid "typed tables cannot inherit" msgstr "типізовані таблиці не можуть успадковуватись" -#: commands/tablecmds.c:15815 +#: commands/tablecmds.c:16384 #, c-format msgid "table is missing column \"%s\"" msgstr "у таблиці не вистачає стовпця \"%s\"" -#: commands/tablecmds.c:15826 +#: commands/tablecmds.c:16395 #, c-format msgid "table has column \"%s\" where type requires \"%s\"" msgstr "таблиця містить стовпець \"%s\", а тип потребує \"%s\"" -#: commands/tablecmds.c:15835 +#: commands/tablecmds.c:16404 #, c-format msgid "table \"%s\" has different type for column \"%s\"" msgstr "таблиця \"%s\" містить стовпець \"%s\" іншого типу" -#: commands/tablecmds.c:15849 +#: commands/tablecmds.c:16418 #, c-format msgid "table has extra column \"%s\"" msgstr "таблиця містить зайвий стовпець \"%s\"" -#: commands/tablecmds.c:15901 +#: commands/tablecmds.c:16470 #, c-format msgid "\"%s\" is not a typed table" msgstr "\"%s\" - не типізована таблиця" -#: commands/tablecmds.c:16075 +#: commands/tablecmds.c:16644 #, c-format msgid "cannot use non-unique index \"%s\" as replica identity" msgstr "для ідентифікації репліки не можна використати неунікальний індекс \"%s\"" -#: commands/tablecmds.c:16081 +#: commands/tablecmds.c:16650 #, c-format msgid "cannot use non-immediate index \"%s\" as replica identity" msgstr "для ідентифікації репліки не можна використати небезпосередній індекс \"%s\"" -#: commands/tablecmds.c:16087 +#: commands/tablecmds.c:16656 #, c-format msgid "cannot use expression index \"%s\" as replica identity" msgstr "для ідентифікації репліки не можна використати індекс з виразом \"%s\"" -#: commands/tablecmds.c:16093 +#: commands/tablecmds.c:16662 #, c-format msgid "cannot use partial index \"%s\" as replica identity" msgstr "для ідентифікації репліки не можна використати частковий індекс \"%s\"" -#: commands/tablecmds.c:16110 +#: commands/tablecmds.c:16679 #, c-format msgid "index \"%s\" cannot be used as replica identity because column %d is a system column" msgstr "індекс \"%s\" не можна використати як ідентифікацію репліки, тому що стовпець %d - системний стовпець" -#: commands/tablecmds.c:16117 +#: commands/tablecmds.c:16686 #, c-format msgid "index \"%s\" cannot be used as replica identity because column \"%s\" is nullable" msgstr "індекс \"%s\" не можна використати як ідентифікацію репліки, тому що стовпець \"%s\" допускає Null" -#: commands/tablecmds.c:16362 +#: commands/tablecmds.c:16938 #, c-format msgid "cannot change logged status of table \"%s\" because it is temporary" msgstr "змінити стан журналювання таблиці \"%s\" не можна, тому що вона тимчасова" -#: commands/tablecmds.c:16386 +#: commands/tablecmds.c:16962 #, c-format msgid "cannot change table \"%s\" to unlogged because it is part of a publication" msgstr "таблицю \"%s\" не можна змінити на нежурнальовану, тому що вона є частиною публікації" -#: commands/tablecmds.c:16388 +#: commands/tablecmds.c:16964 #, c-format msgid "Unlogged relations cannot be replicated." msgstr "Нежурнальовані відношення не підтримують реплікацію." -#: commands/tablecmds.c:16433 +#: commands/tablecmds.c:17009 #, c-format msgid "could not change table \"%s\" to logged because it references unlogged table \"%s\"" msgstr "не вдалося змінити таблицю \"%s\" на журнальовану, тому що вона посилається на нежурнальовану таблицю \"%s\"" -#: commands/tablecmds.c:16443 +#: commands/tablecmds.c:17019 #, c-format msgid "could not change table \"%s\" to unlogged because it references logged table \"%s\"" msgstr "не вдалося змінити таблицю \"%s\" на нежурнальовану, тому що вона посилається на журнальовану таблицю \"%s\"" -#: commands/tablecmds.c:16501 +#: commands/tablecmds.c:17077 #, c-format msgid "cannot move an owned sequence into another schema" msgstr "перемістити послідовність з власником в іншу схему не можна" -#: commands/tablecmds.c:16608 +#: commands/tablecmds.c:17182 #, c-format msgid "relation \"%s\" already exists in schema \"%s\"" msgstr "відношення \"%s\" вже існує в схемі \"%s\"" -#: commands/tablecmds.c:17028 +#: commands/tablecmds.c:17603 #, c-format msgid "\"%s\" is not a table or materialized view" msgstr "\"%s\" не є таблицею або матеріалізованим поданням" -#: commands/tablecmds.c:17178 +#: commands/tablecmds.c:17756 #, c-format msgid "\"%s\" is not a composite type" msgstr "\"%s\" - не складений тип" -#: commands/tablecmds.c:17208 +#: commands/tablecmds.c:17786 #, c-format msgid "cannot change schema of index \"%s\"" msgstr "змінити схему індексу \"%s\" не можна" -#: commands/tablecmds.c:17210 commands/tablecmds.c:17224 +#: commands/tablecmds.c:17788 commands/tablecmds.c:17802 #, c-format msgid "Change the schema of the table instead." msgstr "Замість цього змініть схему таблиці." -#: commands/tablecmds.c:17214 +#: commands/tablecmds.c:17792 #, c-format msgid "cannot change schema of composite type \"%s\"" msgstr "змінити схему складеного типу \"%s\" не можна" -#: commands/tablecmds.c:17222 +#: commands/tablecmds.c:17800 #, c-format msgid "cannot change schema of TOAST table \"%s\"" msgstr "змінити схему таблиці TOAST \"%s\" не можна" -#: commands/tablecmds.c:17254 +#: commands/tablecmds.c:17832 #, c-format msgid "cannot use \"list\" partition strategy with more than one column" msgstr "стратегія секціонування \"по списку\" не може використовувати декілька стовпців" -#: commands/tablecmds.c:17320 +#: commands/tablecmds.c:17898 #, c-format msgid "column \"%s\" named in partition key does not exist" msgstr "стовпець \"%s\", згаданий в ключі секціонування, не існує" -#: commands/tablecmds.c:17328 +#: commands/tablecmds.c:17906 #, c-format msgid "cannot use system column \"%s\" in partition key" msgstr "системний стовпець \"%s\" не можна використати в ключі секціонування" -#: commands/tablecmds.c:17339 commands/tablecmds.c:17429 +#: commands/tablecmds.c:17917 commands/tablecmds.c:18007 #, c-format msgid "cannot use generated column in partition key" msgstr "використати згенерований стовпець в ключі секції, не можна" -#: commands/tablecmds.c:17340 commands/tablecmds.c:17430 commands/trigger.c:663 -#: rewrite/rewriteHandler.c:936 rewrite/rewriteHandler.c:971 -#, c-format -msgid "Column \"%s\" is a generated column." -msgstr "Стовпець \"%s\" є згенерованим стовпцем." - -#: commands/tablecmds.c:17412 +#: commands/tablecmds.c:17990 #, c-format msgid "partition key expressions cannot contain system column references" msgstr "вирази ключа секціонування не можуть містити посилання на системний стовпець" -#: commands/tablecmds.c:17459 +#: commands/tablecmds.c:18037 #, c-format msgid "functions in partition key expression must be marked IMMUTABLE" msgstr "функції у виразі ключа секціонування повинні бути позначені як IMMUTABLE" -#: commands/tablecmds.c:17468 +#: commands/tablecmds.c:18046 #, c-format msgid "cannot use constant expression as partition key" msgstr "не можна використати константий вираз як ключ секціонування" -#: commands/tablecmds.c:17489 +#: commands/tablecmds.c:18067 #, c-format msgid "could not determine which collation to use for partition expression" msgstr "не вдалося визначити, яке правило сортування використати для виразу секціонування" -#: commands/tablecmds.c:17524 +#: commands/tablecmds.c:18102 #, 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:17530 +#: commands/tablecmds.c:18108 #, 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:17781 +#: commands/tablecmds.c:18359 #, c-format msgid "\"%s\" is already a partition" msgstr "\"%s\" вже є секцією" -#: commands/tablecmds.c:17787 +#: commands/tablecmds.c:18365 #, c-format msgid "cannot attach a typed table as partition" msgstr "неможливо підключити типізовану таблицю в якості секції" -#: commands/tablecmds.c:17803 +#: commands/tablecmds.c:18381 #, c-format msgid "cannot attach inheritance child as partition" msgstr "неможливо підключити нащадка успадкування в якості секції" -#: commands/tablecmds.c:17817 +#: commands/tablecmds.c:18395 #, c-format msgid "cannot attach inheritance parent as partition" msgstr "неможливо підключити предка успадкування в якості секції" -#: commands/tablecmds.c:17851 +#: commands/tablecmds.c:18429 #, c-format msgid "cannot attach a temporary relation as partition of permanent relation \"%s\"" msgstr "неможливо підкючити тимчасове відношення в якості секції постійного відношення \"%s\"" -#: commands/tablecmds.c:17859 +#: commands/tablecmds.c:18437 #, c-format msgid "cannot attach a permanent relation as partition of temporary relation \"%s\"" msgstr "неможливо підключити постійне відношення в якості секції тимчасового відношення \"%s\"" -#: commands/tablecmds.c:17867 +#: commands/tablecmds.c:18445 #, c-format msgid "cannot attach as partition of temporary relation of another session" msgstr "неможливо підключити секцію до тимчасового відношення в іншому сеансі" -#: commands/tablecmds.c:17874 +#: commands/tablecmds.c:18452 #, c-format msgid "cannot attach temporary relation of another session as partition" msgstr "неможливо підключити тимчасове відношення з іншого сеансу в якості секції" -#: commands/tablecmds.c:17894 +#: commands/tablecmds.c:18472 +#, c-format +msgid "table \"%s\" being attached contains an identity column \"%s\"" +msgstr "таблиця \"%s\", що додається, містить стовпець ідентичності \"%s\"" + +#: commands/tablecmds.c:18474 +#, c-format +msgid "The new partition may not contain an identity column." +msgstr "Новий розділ може не містити стовпця ідентичності." + +#: commands/tablecmds.c:18482 #, c-format msgid "table \"%s\" contains column \"%s\" not found in parent \"%s\"" msgstr "таблиця \"%s\" містить стовпець \"%s\", відсутній в батьківській \"%s\"" -#: commands/tablecmds.c:17897 +#: commands/tablecmds.c:18485 #, c-format msgid "The new partition may contain only the columns present in parent." msgstr "Нова секція може містити лише стовпці, що є у батьківській таблиці." -#: commands/tablecmds.c:17909 +#: commands/tablecmds.c:18497 #, c-format msgid "trigger \"%s\" prevents table \"%s\" from becoming a partition" msgstr "тригер \"%s\" не дозволяє зробити таблицю \"%s\" секцією" -#: commands/tablecmds.c:17911 +#: commands/tablecmds.c:18499 #, c-format msgid "ROW triggers with transition tables are not supported on partitions." msgstr "Тригери ROW з перехідними таблицями не підтримуються для секцій." -#: commands/tablecmds.c:18090 +#: commands/tablecmds.c:18675 #, c-format msgid "cannot attach foreign table \"%s\" as partition of partitioned table \"%s\"" msgstr "не можна підключити зовнішню таблицю \"%s\" в якості секції секціонованої таблиці \"%s\"" -#: commands/tablecmds.c:18093 +#: commands/tablecmds.c:18678 #, c-format msgid "Partitioned table \"%s\" contains unique indexes." msgstr "Секціонована таблиця \"%s\" містить унікальні індекси." -#: commands/tablecmds.c:18410 +#: commands/tablecmds.c:19000 #, c-format msgid "cannot detach partitions concurrently when a default partition exists" msgstr "не можна одночасно відключити розділи, коли існує розділ за замовчуванням" -#: commands/tablecmds.c:18519 +#: commands/tablecmds.c:19109 #, c-format msgid "partitioned table \"%s\" was removed concurrently" msgstr "секціоновану таблицю \"%s\" було видалено одночасно" -#: commands/tablecmds.c:18525 +#: commands/tablecmds.c:19115 #, c-format msgid "partition \"%s\" was removed concurrently" msgstr "розділ \"%s\" було видалено паралельно" -#: commands/tablecmds.c:19040 commands/tablecmds.c:19060 -#: commands/tablecmds.c:19081 commands/tablecmds.c:19100 -#: commands/tablecmds.c:19142 +#: commands/tablecmds.c:19651 commands/tablecmds.c:19671 +#: commands/tablecmds.c:19692 commands/tablecmds.c:19711 +#: commands/tablecmds.c:19753 #, c-format msgid "cannot attach index \"%s\" as a partition of index \"%s\"" msgstr "неможливо підключити індекс \"%s\" в якості секції індексу \"%s\"" -#: commands/tablecmds.c:19043 +#: commands/tablecmds.c:19654 #, c-format msgid "Index \"%s\" is already attached to another index." msgstr "Індекс \"%s\" вже підключений до іншого індексу." -#: commands/tablecmds.c:19063 +#: commands/tablecmds.c:19674 #, c-format msgid "Index \"%s\" is not an index on any partition of table \"%s\"." msgstr "Індекс \"%s\" не є індексом жодної секції таблиці \"%s\"." -#: commands/tablecmds.c:19084 +#: commands/tablecmds.c:19695 #, c-format msgid "The index definitions do not match." msgstr "Визначення індексів не співпадають." -#: commands/tablecmds.c:19103 +#: commands/tablecmds.c:19714 #, 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:19145 +#: commands/tablecmds.c:19756 #, c-format msgid "Another index is already attached for partition \"%s\"." msgstr "До секції \"%s\" вже підключений інший індекс." -#: commands/tablecmds.c:19381 +#: commands/tablecmds.c:19992 #, c-format msgid "column data type %s does not support compression" msgstr "тип даних стовпця %s не підтримує стискання" -#: commands/tablecmds.c:19388 +#: commands/tablecmds.c:19999 #, c-format msgid "invalid compression method \"%s\"" msgstr "неприпустимий метод стискання \"%s\"" -#: commands/tablecmds.c:19414 +#: commands/tablecmds.c:20025 #, c-format msgid "invalid storage type \"%s\"" msgstr "неприпустимий тип сховища \"%s\"" -#: commands/tablecmds.c:19424 +#: commands/tablecmds.c:20035 #, c-format msgid "column data type %s can only have storage PLAIN" msgstr "тип даних стовпця %s може мати тільки сховище PLAIN" -#: commands/tablespace.c:199 commands/tablespace.c:650 +#: commands/tablespace.c:193 commands/tablespace.c:644 #, c-format msgid "\"%s\" exists but is not a directory" msgstr "\"%s\" існує, але це не каталог" -#: commands/tablespace.c:230 +#: commands/tablespace.c:224 #, c-format msgid "permission denied to create tablespace \"%s\"" msgstr "немає прав на створення табличного простору \"%s\"" -#: commands/tablespace.c:232 +#: commands/tablespace.c:226 #, c-format msgid "Must be superuser to create a tablespace." msgstr "Щоб створити табличний простір, потрібно бути суперкористувачем." -#: commands/tablespace.c:248 +#: commands/tablespace.c:242 #, c-format msgid "tablespace location cannot contain single quotes" msgstr "у шляху до розташування табличного простіру не повинно бути одинарних лапок" -#: commands/tablespace.c:261 +#: commands/tablespace.c:255 #, c-format msgid "tablespace location must be an absolute path" msgstr "шлях до розташування табличного простору повинен бути абсолютним" -#: commands/tablespace.c:273 +#: commands/tablespace.c:267 #, c-format msgid "tablespace location \"%s\" is too long" msgstr "шлях до розташування табличного простору \"%s\" занадто довгий" -#: commands/tablespace.c:280 +#: commands/tablespace.c:274 #, c-format msgid "tablespace location should not be inside the data directory" msgstr "табличний простір не повинен розташовуватись всередині каталогу даних" -#: commands/tablespace.c:289 commands/tablespace.c:976 +#: commands/tablespace.c:283 commands/tablespace.c:970 #, c-format msgid "unacceptable tablespace name \"%s\"" msgstr "неприпустиме ім'я табличного простору \"%s\"" -#: commands/tablespace.c:291 commands/tablespace.c:977 +#: commands/tablespace.c:285 commands/tablespace.c:971 #, c-format msgid "The prefix \"pg_\" is reserved for system tablespaces." msgstr "Префікс \"\"pg_\" зарезервований для системних табличних просторів." -#: commands/tablespace.c:310 commands/tablespace.c:998 +#: commands/tablespace.c:304 commands/tablespace.c:992 #, c-format msgid "tablespace \"%s\" already exists" msgstr "табличний простір \"%s\" вже існує" -#: commands/tablespace.c:326 +#: commands/tablespace.c:320 #, c-format msgid "pg_tablespace OID value not set when in binary upgrade mode" msgstr "значення OID pg_tablespace не встановлено в режимі двійкового оновлення" -#: commands/tablespace.c:431 commands/tablespace.c:959 -#: commands/tablespace.c:1048 commands/tablespace.c:1117 -#: commands/tablespace.c:1263 commands/tablespace.c:1466 +#: commands/tablespace.c:425 commands/tablespace.c:953 +#: commands/tablespace.c:1042 commands/tablespace.c:1111 +#: commands/tablespace.c:1257 commands/tablespace.c:1460 #, c-format msgid "tablespace \"%s\" does not exist" msgstr "табличний простір \"%s\" не існує" -#: commands/tablespace.c:437 +#: commands/tablespace.c:431 #, c-format msgid "tablespace \"%s\" does not exist, skipping" msgstr "табличний простір \"%s\" вже існує, пропускається" -#: commands/tablespace.c:463 +#: commands/tablespace.c:457 #, c-format msgid "tablespace \"%s\" cannot be dropped because some objects depend on it" msgstr "табличний простір \"%s\" не можна видалити, тому що деякі об'єкти залежать від нього" -#: commands/tablespace.c:530 +#: commands/tablespace.c:524 #, c-format msgid "tablespace \"%s\" is not empty" msgstr "табличний простір \"%s\" не пустий" -#: commands/tablespace.c:617 +#: commands/tablespace.c:611 #, c-format msgid "directory \"%s\" does not exist" msgstr "каталог \"%s\" не існує" -#: commands/tablespace.c:618 +#: commands/tablespace.c:612 #, c-format msgid "Create this directory for the tablespace before restarting the server." msgstr "Створіть цей каталог для табличного простору до перезапуску сервера." -#: commands/tablespace.c:623 +#: commands/tablespace.c:617 #, c-format msgid "could not set permissions on directory \"%s\": %m" msgstr "не вдалося встановити права для каталогу \"%s\": %m" -#: commands/tablespace.c:655 +#: commands/tablespace.c:649 #, c-format msgid "directory \"%s\" already in use as a tablespace" msgstr "каталог \"%s\" вже використовується в якості табличного простору" -#: commands/tablespace.c:833 commands/tablespace.c:919 +#: commands/tablespace.c:827 commands/tablespace.c:913 #, c-format msgid "could not remove symbolic link \"%s\": %m" msgstr "не вдалося видалити символьне посилання \"%s\": %m" -#: commands/tablespace.c:842 commands/tablespace.c:927 +#: commands/tablespace.c:836 commands/tablespace.c:921 #, c-format msgid "\"%s\" is not a directory or symbolic link" msgstr "\"%s\" - не каталог або символьне посилання" -#: commands/tablespace.c:1122 +#: commands/tablespace.c:1116 #, c-format msgid "Tablespace \"%s\" does not exist." msgstr "Табличний простір \"%s\" не існує." -#: commands/tablespace.c:1568 +#: commands/tablespace.c:1562 #, c-format msgid "directories for tablespace %u could not be removed" msgstr "не вдалося видалити каталоги табличного простору %u" -#: commands/tablespace.c:1570 +#: commands/tablespace.c:1564 #, c-format msgid "You can remove the directories manually if necessary." msgstr "За потреби ви можете видалити каталоги вручну." -#: commands/trigger.c:232 commands/trigger.c:243 +#: commands/trigger.c:225 commands/trigger.c:236 #, c-format msgid "\"%s\" is a table" msgstr "\"%s\" - таблиця" -#: commands/trigger.c:234 commands/trigger.c:245 +#: commands/trigger.c:227 commands/trigger.c:238 #, c-format msgid "Tables cannot have INSTEAD OF triggers." msgstr "Таблиці не можуть мати тригери INSTEAD OF." -#: commands/trigger.c:266 +#: commands/trigger.c:259 #, c-format msgid "\"%s\" is a partitioned table" msgstr "\"%s\" є секційною таблицею" -#: commands/trigger.c:268 +#: commands/trigger.c:261 #, c-format msgid "ROW triggers with transition tables are not supported on partitioned tables." msgstr "Тригери ROW з перехідними таблицями не підтримуються для секційованих таблиць." -#: commands/trigger.c:280 commands/trigger.c:287 commands/trigger.c:451 +#: commands/trigger.c:273 commands/trigger.c:280 commands/trigger.c:444 #, c-format msgid "\"%s\" is a view" msgstr "\"%s\" - подання" -#: commands/trigger.c:282 +#: commands/trigger.c:275 #, c-format msgid "Views cannot have row-level BEFORE or AFTER triggers." msgstr "Подання не можуть мати рядкові тригери BEFORE або AFTER." -#: commands/trigger.c:289 +#: commands/trigger.c:282 #, c-format msgid "Views cannot have TRUNCATE triggers." msgstr "Подання не можуть мати тригери TRUNCATE." -#: commands/trigger.c:297 commands/trigger.c:309 commands/trigger.c:444 +#: commands/trigger.c:290 commands/trigger.c:302 commands/trigger.c:437 #, c-format msgid "\"%s\" is a foreign table" msgstr "\"%s\" - зовнішня таблиця" -#: commands/trigger.c:299 +#: commands/trigger.c:292 #, c-format msgid "Foreign tables cannot have INSTEAD OF triggers." msgstr "Зовнішні таблиці не можуть мати тригери INSTEAD OF." -#: commands/trigger.c:311 +#: commands/trigger.c:304 #, c-format msgid "Foreign tables cannot have constraint triggers." msgstr "Зовнішні таблиці не можуть мати обмежувальні тригери." -#: commands/trigger.c:316 commands/trigger.c:1332 commands/trigger.c:1439 +#: commands/trigger.c:309 commands/trigger.c:1325 commands/trigger.c:1432 #, c-format msgid "relation \"%s\" cannot have triggers" msgstr "відношення \"%s\" не може мати тригери" -#: commands/trigger.c:387 +#: commands/trigger.c:380 #, c-format msgid "TRUNCATE FOR EACH ROW triggers are not supported" msgstr "Тригери TRUNCATE FOR EACH ROW не підтримуються" -#: commands/trigger.c:395 +#: commands/trigger.c:388 #, c-format msgid "INSTEAD OF triggers must be FOR EACH ROW" msgstr "Тригери INSTEAD OF повинні мати тип FOR EACH ROW" -#: commands/trigger.c:399 +#: commands/trigger.c:392 #, c-format msgid "INSTEAD OF triggers cannot have WHEN conditions" msgstr "Тригери INSTEAD OF не можуть мати умови WHEN" -#: commands/trigger.c:403 +#: commands/trigger.c:396 #, c-format msgid "INSTEAD OF triggers cannot have column lists" msgstr "Тригери INSTEAD OF не можуть мати список стовпців" -#: commands/trigger.c:432 +#: commands/trigger.c:425 #, c-format msgid "ROW variable naming in the REFERENCING clause is not supported" msgstr "Змінна іменування ROW в реченні REFERENCING не підтримується" -#: commands/trigger.c:433 +#: commands/trigger.c:426 #, c-format msgid "Use OLD TABLE or NEW TABLE for naming transition tables." msgstr "Використайте OLD TABLE або NEW TABLE для іменування перехідних таблиць." -#: commands/trigger.c:446 +#: commands/trigger.c:439 #, c-format msgid "Triggers on foreign tables cannot have transition tables." msgstr "Тригери зовнішніх таблиць не можуть використовувати перехідні таблиці." -#: commands/trigger.c:453 +#: commands/trigger.c:446 #, c-format msgid "Triggers on views cannot have transition tables." msgstr "Тригери подань не можуть використовувати перехідні таблиці." -#: commands/trigger.c:469 +#: commands/trigger.c:462 #, c-format msgid "ROW triggers with transition tables are not supported on partitions" msgstr "Тригери ROW з перехідними таблицями для секцій не підтримуються" -#: commands/trigger.c:473 +#: commands/trigger.c:466 #, c-format msgid "ROW triggers with transition tables are not supported on inheritance children" msgstr "Тригери ROW з перехідними таблицями для нащадків успадкування не підтримуються" -#: commands/trigger.c:479 +#: commands/trigger.c:472 #, c-format msgid "transition table name can only be specified for an AFTER trigger" msgstr "ім'я перехідної таблиці можна задати лише для тригеру AFTER" -#: commands/trigger.c:484 +#: commands/trigger.c:477 #, c-format msgid "TRUNCATE triggers with transition tables are not supported" msgstr "Тригери TRUNCATE з перехідними таблицями не підтримуються" -#: commands/trigger.c:501 +#: commands/trigger.c:494 #, c-format msgid "transition tables cannot be specified for triggers with more than one event" msgstr "перехідні таблиці не можна задати для тригерів, призначених для кількох подій" -#: commands/trigger.c:512 +#: commands/trigger.c:505 #, c-format msgid "transition tables cannot be specified for triggers with column lists" msgstr "перехідні таблиці не можна задати для тригерів зі списками стовпців" -#: commands/trigger.c:529 +#: commands/trigger.c:522 #, c-format msgid "NEW TABLE can only be specified for an INSERT or UPDATE trigger" msgstr "NEW TABLE можна задати лише для тригерів INSERT або UPDATE" -#: commands/trigger.c:534 +#: commands/trigger.c:527 #, c-format msgid "NEW TABLE cannot be specified multiple times" msgstr "NEW TABLE не можна задавати декілька разів" -#: commands/trigger.c:544 +#: commands/trigger.c:537 #, c-format msgid "OLD TABLE can only be specified for a DELETE or UPDATE trigger" msgstr "OLD TABLE можна задати лише для тригерів DELETE або UPDATE" -#: commands/trigger.c:549 +#: commands/trigger.c:542 #, c-format msgid "OLD TABLE cannot be specified multiple times" msgstr "OLD TABLE не можна задавати декілька разів" -#: commands/trigger.c:559 +#: commands/trigger.c:552 #, c-format msgid "OLD TABLE name and NEW TABLE name cannot be the same" msgstr "Ім'я OLD TABLE та ім'я NEW TABLE не можуть бути однаковими" -#: commands/trigger.c:623 commands/trigger.c:636 +#: commands/trigger.c:616 commands/trigger.c:629 #, c-format msgid "statement trigger's WHEN condition cannot reference column values" msgstr "в умові WHEN операторного тригера не можна посилатись на значення стовпця" -#: commands/trigger.c:628 +#: commands/trigger.c:621 #, c-format msgid "INSERT trigger's WHEN condition cannot reference OLD values" msgstr "В умові WHEN тригеру INSERT не можна посилатись на значення OLD" -#: commands/trigger.c:641 +#: commands/trigger.c:634 #, c-format msgid "DELETE trigger's WHEN condition cannot reference NEW values" msgstr "В умові WHEN тригера DELETE не можна посилатись на значення NEW" -#: commands/trigger.c:646 +#: commands/trigger.c:639 #, c-format msgid "BEFORE trigger's WHEN condition cannot reference NEW system columns" msgstr "В умові WHEN тригера BEFORE не можна посилатись на системні стовпці NEW" -#: commands/trigger.c:654 commands/trigger.c:662 +#: commands/trigger.c:647 commands/trigger.c:655 #, c-format msgid "BEFORE trigger's WHEN condition cannot reference NEW generated columns" msgstr "В умові WHEN тригера BEFORE не можна посилатись на згенеровані стовпці NEW" -#: commands/trigger.c:655 +#: commands/trigger.c:648 #, c-format msgid "A whole-row reference is used and the table contains generated columns." msgstr "Використовується посилання на весь рядок і таблиця містить згенеровані стовпці." -#: commands/trigger.c:770 commands/trigger.c:1614 +#: commands/trigger.c:763 commands/trigger.c:1607 #, c-format msgid "trigger \"%s\" for relation \"%s\" already exists" msgstr "тригер \"%s\" для відношення \"%s\" вже існує" -#: commands/trigger.c:783 +#: commands/trigger.c:776 #, c-format msgid "trigger \"%s\" for relation \"%s\" is an internal or a child trigger" msgstr "тригер \"%s\" для відношення \"%s\" є зовнішнім або дочірнім тригером" -#: commands/trigger.c:802 +#: commands/trigger.c:795 #, c-format msgid "trigger \"%s\" for relation \"%s\" is a constraint trigger" msgstr "тригер \"%s\" для відношення \"%s\" є зовнішнім тригером" -#: commands/trigger.c:1404 commands/trigger.c:1557 commands/trigger.c:1838 +#: commands/trigger.c:1397 commands/trigger.c:1550 commands/trigger.c:1831 #, c-format msgid "trigger \"%s\" for table \"%s\" does not exist" msgstr "тригер \"%s\" для таблиці \"%s\" не існує" -#: commands/trigger.c:1529 +#: commands/trigger.c:1522 #, c-format msgid "cannot rename trigger \"%s\" on table \"%s\"" msgstr "перейменувати тригер \"%s\" для таблиці \"%s\" не можна" -#: commands/trigger.c:1531 +#: commands/trigger.c:1524 #, c-format msgid "Rename the trigger on the partitioned table \"%s\" instead." msgstr "Замість цього перейменуйте тригер для секціонованої таблиці \"%s\"." -#: commands/trigger.c:1631 +#: commands/trigger.c:1624 #, c-format msgid "renamed trigger \"%s\" on relation \"%s\"" msgstr "перейменовано тригер \"%s\" для відношення \"%s\"" -#: commands/trigger.c:1777 +#: commands/trigger.c:1770 #, c-format msgid "permission denied: \"%s\" is a system trigger" msgstr "немає доступу: \"%s\" - системний тригер" -#: commands/trigger.c:2386 +#: commands/trigger.c:2379 #, c-format msgid "trigger function %u returned null value" msgstr "тригерна функція %u повернула значення null" -#: commands/trigger.c:2446 commands/trigger.c:2664 commands/trigger.c:2917 -#: commands/trigger.c:3270 +#: commands/trigger.c:2439 commands/trigger.c:2657 commands/trigger.c:2910 +#: commands/trigger.c:3263 #, c-format msgid "BEFORE STATEMENT trigger cannot return a value" msgstr "Тригер BEFORE STATEMENT не може повертати значення" -#: commands/trigger.c:2522 +#: commands/trigger.c:2515 #, 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:2523 +#: commands/trigger.c:2516 #, c-format msgid "Before executing trigger \"%s\", the row was to be in partition \"%s.%s\"." msgstr "Перед виконанням тригера \"%s\", рядок повинен був бути в секції \"%s.%s\"." -#: commands/trigger.c:3347 executor/nodeModifyTable.c:2369 -#: executor/nodeModifyTable.c:2452 +#: commands/trigger.c:3340 executor/nodeModifyTable.c:2373 +#: executor/nodeModifyTable.c:2456 #, c-format msgid "tuple to be updated was already modified by an operation triggered by the current command" msgstr "кортеж, який повинен бути оновленим, вже змінений в операції, яка викликана поточною командою" -#: commands/trigger.c:3348 executor/nodeModifyTable.c:1535 -#: executor/nodeModifyTable.c:1609 executor/nodeModifyTable.c:2370 -#: executor/nodeModifyTable.c:2453 executor/nodeModifyTable.c:3098 +#: commands/trigger.c:3341 executor/nodeModifyTable.c:1541 +#: executor/nodeModifyTable.c:1615 executor/nodeModifyTable.c:2374 +#: executor/nodeModifyTable.c:2457 executor/nodeModifyTable.c:3093 +#: executor/nodeModifyTable.c:3254 #, 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:3389 executor/nodeLockRows.c:228 -#: executor/nodeLockRows.c:237 executor/nodeModifyTable.c:308 -#: executor/nodeModifyTable.c:1551 executor/nodeModifyTable.c:2387 -#: executor/nodeModifyTable.c:2595 +#: commands/trigger.c:3382 executor/nodeLockRows.c:228 +#: executor/nodeLockRows.c:237 executor/nodeModifyTable.c:314 +#: executor/nodeModifyTable.c:1557 executor/nodeModifyTable.c:2391 +#: executor/nodeModifyTable.c:2599 #, c-format msgid "could not serialize access due to concurrent update" msgstr "не вдалося серіалізувати доступ через паралельне оновлення" -#: commands/trigger.c:3397 executor/nodeModifyTable.c:1641 -#: executor/nodeModifyTable.c:2470 executor/nodeModifyTable.c:2619 -#: executor/nodeModifyTable.c:2986 +#: commands/trigger.c:3390 executor/nodeModifyTable.c:1647 +#: executor/nodeModifyTable.c:2474 executor/nodeModifyTable.c:2623 +#: executor/nodeModifyTable.c:3111 #, c-format msgid "could not serialize access due to concurrent delete" msgstr "не вдалося серіалізувати доступ через паралельне видалення" -#: commands/trigger.c:4604 +#: commands/trigger.c:4601 #, c-format msgid "cannot fire deferred trigger within security-restricted operation" msgstr "не можна виконати відкладений тригер в межах операції з обмеженням по безпеці" -#: commands/trigger.c:5787 +#: commands/trigger.c:5782 #, c-format msgid "constraint \"%s\" is not deferrable" msgstr "обмеження \"%s\" не є відкладеним" -#: commands/trigger.c:5810 +#: commands/trigger.c:5805 #, c-format msgid "constraint \"%s\" does not exist" msgstr "обмеження \"%s\" не існує" @@ -11991,663 +12418,673 @@ msgstr "зіставлення для типу маркера \"%s\" не існ msgid "invalid parameter list format: \"%s\"" msgstr "неприпустимий формат списку параметрів: \"%s\"" -#: commands/typecmds.c:217 +#: commands/typecmds.c:221 #, c-format msgid "must be superuser to create a base type" msgstr "для створення базового типу потрібно бути суперкористувачем" -#: commands/typecmds.c:275 +#: commands/typecmds.c:279 #, c-format msgid "Create the type as a shell type, then create its I/O functions, then do a full CREATE TYPE." msgstr "Створіть тип в якості оболонки, потім створіть його функції вводу-виводу, а потім виконайте повну CREATE TYPE." -#: commands/typecmds.c:327 commands/typecmds.c:1450 commands/typecmds.c:4263 +#: commands/typecmds.c:331 commands/typecmds.c:1460 commands/typecmds.c:4480 #, c-format msgid "type attribute \"%s\" not recognized" msgstr "атрибут типу \"%s\" не розпізнаний" -#: commands/typecmds.c:382 +#: commands/typecmds.c:386 #, c-format msgid "invalid type category \"%s\": must be simple ASCII" msgstr "неприпустима категорія типу \"%s\": повинен бути простий ASCII" -#: commands/typecmds.c:401 +#: commands/typecmds.c:405 #, c-format msgid "array element type cannot be %s" msgstr "типом елементу масиву не може бути %s" -#: commands/typecmds.c:433 +#: commands/typecmds.c:437 #, c-format msgid "alignment \"%s\" not recognized" msgstr "тип вирівнювання \"%s\" не розпізнаний" -#: commands/typecmds.c:450 commands/typecmds.c:4137 +#: commands/typecmds.c:454 commands/typecmds.c:4354 #, c-format msgid "storage \"%s\" not recognized" msgstr "сховище \"%s\" не розпізнане" -#: commands/typecmds.c:461 +#: commands/typecmds.c:465 #, c-format msgid "type input function must be specified" msgstr "необхідно вказати функцію вводу типу" -#: commands/typecmds.c:465 +#: commands/typecmds.c:469 #, c-format msgid "type output function must be specified" msgstr "необхідно вказати функцію виводу типу" -#: commands/typecmds.c:470 +#: commands/typecmds.c:474 #, c-format msgid "type modifier output function is useless without a type modifier input function" msgstr "функція виводу модифікатора типу недоцільна без функції вводу модифікатора типу" -#: commands/typecmds.c:512 +#: commands/typecmds.c:516 #, c-format msgid "element type cannot be specified without a subscripting function" msgstr "тип елементу не можна вказати без припустимої функції підписки" -#: commands/typecmds.c:781 +#: commands/typecmds.c:785 #, c-format msgid "\"%s\" is not a valid base type for a domain" msgstr "\"%s\" - невідповідний базовий тип для домену" -#: commands/typecmds.c:879 +#: commands/typecmds.c:883 #, c-format msgid "multiple default expressions" msgstr "неодноразове визначення значення типу за замовчуванням" -#: commands/typecmds.c:942 commands/typecmds.c:951 +#: commands/typecmds.c:946 commands/typecmds.c:955 #, c-format msgid "conflicting NULL/NOT NULL constraints" msgstr "конфліктуючі обмеження NULL/NOT NULL" -#: commands/typecmds.c:967 +#: commands/typecmds.c:971 #, c-format msgid "check constraints for domains cannot be marked NO INHERIT" msgstr "перевірки обмеження для доменів не можуть позначатись як NO INHERIT" -#: commands/typecmds.c:976 commands/typecmds.c:2956 +#: commands/typecmds.c:980 commands/typecmds.c:2940 #, c-format msgid "unique constraints not possible for domains" msgstr "обмеження унікальності неможливе для доменів" -#: commands/typecmds.c:982 commands/typecmds.c:2962 +#: commands/typecmds.c:986 commands/typecmds.c:2946 #, c-format msgid "primary key constraints not possible for domains" msgstr "обмеження первинного ключа неможливі для доменів" -#: commands/typecmds.c:988 commands/typecmds.c:2968 +#: commands/typecmds.c:992 commands/typecmds.c:2952 #, c-format msgid "exclusion constraints not possible for domains" msgstr "обмеження винятків неможливі для доменів" -#: commands/typecmds.c:994 commands/typecmds.c:2974 +#: commands/typecmds.c:998 commands/typecmds.c:2958 #, c-format msgid "foreign key constraints not possible for domains" msgstr "обмеження зовнішніх ключів неможливі для доменів" -#: commands/typecmds.c:1003 commands/typecmds.c:2983 +#: commands/typecmds.c:1007 commands/typecmds.c:2967 #, c-format msgid "specifying constraint deferrability not supported for domains" msgstr "зазначення відкладення обмежень для доменів не підтримується" -#: commands/typecmds.c:1317 utils/cache/typcache.c:2567 +#: commands/typecmds.c:1327 utils/cache/typcache.c:2570 #, c-format msgid "%s is not an enum" msgstr "%s не є переліком" -#: commands/typecmds.c:1458 +#: commands/typecmds.c:1468 #, c-format msgid "type attribute \"subtype\" is required" msgstr "вимагається атрибут типу \"subtype\"" -#: commands/typecmds.c:1463 +#: commands/typecmds.c:1473 #, c-format msgid "range subtype cannot be %s" msgstr "%s не може бути підтипом діапазону" -#: commands/typecmds.c:1482 +#: commands/typecmds.c:1492 #, c-format msgid "range collation specified but subtype does not support collation" msgstr "вказано правило сортування для діапазону, але підтип не підтримує сортування" -#: commands/typecmds.c:1492 +#: commands/typecmds.c:1502 #, c-format msgid "cannot specify a canonical function without a pre-created shell type" msgstr "неможливо вказати канонічну функцію без попередньо створеного типу оболонки" -#: commands/typecmds.c:1493 +#: commands/typecmds.c:1503 #, c-format msgid "Create the type as a shell type, then create its canonicalization function, then do a full CREATE TYPE." msgstr "Створіть тип в якості оболонки, потім створіть його функцію канонізації, а потім виконайте повну CREATE TYPE." -#: commands/typecmds.c:1965 +#: commands/typecmds.c:1975 #, c-format msgid "type input function %s has multiple matches" msgstr "функція введення типу %s має декілька збігів" -#: commands/typecmds.c:1983 +#: commands/typecmds.c:1993 #, c-format msgid "type input function %s must return type %s" msgstr "функція вводу типу %s повинна повертати тип %s" -#: commands/typecmds.c:1999 +#: commands/typecmds.c:2009 #, c-format msgid "type input function %s should not be volatile" msgstr "функція введення типу %s не повинна бути змінною" -#: commands/typecmds.c:2027 +#: commands/typecmds.c:2037 #, c-format msgid "type output function %s must return type %s" msgstr "функція виводу типу %s повинна повертати тип %s" -#: commands/typecmds.c:2034 +#: commands/typecmds.c:2044 #, c-format msgid "type output function %s should not be volatile" msgstr "функція виводу типу %s не повинна бути змінною" -#: commands/typecmds.c:2063 +#: commands/typecmds.c:2073 #, c-format msgid "type receive function %s has multiple matches" msgstr "функція отримання типу %s має декілька збігів" -#: commands/typecmds.c:2081 +#: commands/typecmds.c:2091 #, c-format msgid "type receive function %s must return type %s" msgstr "функція отримання типу %s повинна повертати тип %s" -#: commands/typecmds.c:2088 +#: commands/typecmds.c:2098 #, c-format msgid "type receive function %s should not be volatile" msgstr "функція отримання типу %s не повинна бути змінною" -#: commands/typecmds.c:2116 +#: commands/typecmds.c:2126 #, c-format msgid "type send function %s must return type %s" msgstr "функція відправлення типу %s повинна повертати тип %s" -#: commands/typecmds.c:2123 +#: commands/typecmds.c:2133 #, c-format msgid "type send function %s should not be volatile" msgstr "функція відправлення типу %s не повинна бути змінною" -#: commands/typecmds.c:2150 +#: commands/typecmds.c:2160 #, c-format msgid "typmod_in function %s must return type %s" msgstr "функція typmod_in %s повинна повертати тип %s" -#: commands/typecmds.c:2157 +#: commands/typecmds.c:2167 #, c-format msgid "type modifier input function %s should not be volatile" msgstr "функція вводу модифікатора типу %s не повинна бути змінною" -#: commands/typecmds.c:2184 +#: commands/typecmds.c:2194 #, c-format msgid "typmod_out function %s must return type %s" msgstr "функція typmod_out %s повинна повертати тип %s" -#: commands/typecmds.c:2191 +#: commands/typecmds.c:2201 #, c-format msgid "type modifier output function %s should not be volatile" msgstr "функція виводу модифікатора типу %s не повинна бути змінною" -#: commands/typecmds.c:2218 +#: commands/typecmds.c:2228 #, c-format msgid "type analyze function %s must return type %s" msgstr "функція аналізу типу %s повинна повертати тип %s" -#: commands/typecmds.c:2247 +#: commands/typecmds.c:2257 #, c-format msgid "type subscripting function %s must return type %s" msgstr "функція підписки типу %s повинна повертати тип %s" -#: commands/typecmds.c:2257 +#: commands/typecmds.c:2267 #, c-format msgid "user-defined types cannot use subscripting function %s" msgstr "типи визначені користувачем не можуть використовувати функцію підписки %s" -#: commands/typecmds.c:2303 +#: commands/typecmds.c:2313 #, c-format msgid "You must specify an operator class for the range type or define a default operator class for the subtype." msgstr "Ви повинні вказати клас операторів для типу діапазону або визначити клас операторів за замовчуванням для цього підтипу." -#: commands/typecmds.c:2334 +#: commands/typecmds.c:2344 #, c-format msgid "range canonical function %s must return range type" msgstr "функція канонічного діапазону %s повинна вертати тип діапазону" -#: commands/typecmds.c:2340 +#: commands/typecmds.c:2350 #, c-format msgid "range canonical function %s must be immutable" msgstr "функція канонічного діапазону %s повинна бути незмінною" -#: commands/typecmds.c:2376 +#: commands/typecmds.c:2386 #, c-format msgid "range subtype diff function %s must return type %s" msgstr "функція розбіжностей для підтипу діапазону %s повинна повертати тип %s" -#: commands/typecmds.c:2383 +#: commands/typecmds.c:2393 #, c-format msgid "range subtype diff function %s must be immutable" msgstr "функція розбіжностей для підтипу діапазону %s повинна бути незмінною" -#: commands/typecmds.c:2410 +#: commands/typecmds.c:2420 #, c-format msgid "pg_type array OID value not set when in binary upgrade mode" msgstr "значення OID масиву pg_type не встановлено в режимі двійкового оновлення" -#: commands/typecmds.c:2443 +#: commands/typecmds.c:2453 #, c-format msgid "pg_type multirange OID value not set when in binary upgrade mode" msgstr "значення OID в pg_type не задано під час режиму двійкового оновлення" -#: commands/typecmds.c:2476 +#: commands/typecmds.c:2486 #, c-format msgid "pg_type multirange array OID value not set when in binary upgrade mode" msgstr "значення OID масиву в pg_type не задано під час режиму двійкового оновлення" -#: commands/typecmds.c:2772 -#, c-format -msgid "column \"%s\" of table \"%s\" contains null values" -msgstr "стовпець \"%s\" таблиці \"%s\" містить значення NULL" - -#: commands/typecmds.c:2885 commands/typecmds.c:3086 +#: commands/typecmds.c:2868 commands/typecmds.c:3093 #, c-format msgid "constraint \"%s\" of domain \"%s\" does not exist" msgstr "обмеження \"%s\" для домену \"%s\" не існує" -#: commands/typecmds.c:2889 +#: commands/typecmds.c:2872 #, c-format msgid "constraint \"%s\" of domain \"%s\" does not exist, skipping" msgstr "обмеження \"%s\" для домену \"%s\" не існує, пропускається" -#: commands/typecmds.c:3093 +#: commands/typecmds.c:3100 #, c-format msgid "constraint \"%s\" of domain \"%s\" is not a check constraint" msgstr "обмеження \"%s\" для домену \"%s\" не є перевірочним обмеженням" -#: commands/typecmds.c:3194 +#: commands/typecmds.c:3180 +#, c-format +msgid "column \"%s\" of table \"%s\" contains null values" +msgstr "стовпець \"%s\" таблиці \"%s\" містить значення NULL" + +#: commands/typecmds.c:3269 #, c-format msgid "column \"%s\" of table \"%s\" contains values that violate the new constraint" msgstr "стовпець \"%s\" таблиці \"%s\" містить значення, які порушують нове обмеження" -#: commands/typecmds.c:3423 commands/typecmds.c:3622 commands/typecmds.c:3705 -#: commands/typecmds.c:3893 +#: commands/typecmds.c:3498 commands/typecmds.c:3772 commands/typecmds.c:3857 +#: commands/typecmds.c:4073 #, c-format msgid "%s is not a domain" msgstr "%s - не домен" -#: commands/typecmds.c:3455 +#: commands/typecmds.c:3532 commands/typecmds.c:3686 #, c-format msgid "constraint \"%s\" for domain \"%s\" already exists" msgstr "обмеження \"%s\" для домену \"%s\" вже існує" -#: commands/typecmds.c:3506 +#: commands/typecmds.c:3583 #, c-format msgid "cannot use table references in domain check constraint" msgstr "у перевірочному обмеженні для домену не можна посилатись на таблиці" -#: commands/typecmds.c:3634 commands/typecmds.c:3717 commands/typecmds.c:4010 +#: commands/typecmds.c:3784 commands/typecmds.c:3869 commands/typecmds.c:4223 #, c-format msgid "%s is a table's row type" msgstr "%s - тип рядків таблиці" -#: commands/typecmds.c:3644 commands/typecmds.c:3727 commands/typecmds.c:3925 +#: commands/typecmds.c:3794 commands/typecmds.c:3879 commands/typecmds.c:4121 #, c-format msgid "cannot alter array type %s" msgstr "змінити тип масиву \"%s\" не можна" -#: commands/typecmds.c:3646 commands/typecmds.c:3729 commands/typecmds.c:3927 +#: commands/typecmds.c:3796 commands/typecmds.c:3881 commands/typecmds.c:4123 #, c-format msgid "You can alter type %s, which will alter the array type as well." msgstr "Ви можете змінити тип %s, який спричинить зміну типу масиву." -#: commands/typecmds.c:3995 +#: commands/typecmds.c:3892 +#, c-format +msgid "cannot alter multirange type %s" +msgstr "не можна змінювати багатодіапазонний тип %s" + +#: commands/typecmds.c:3895 +#, c-format +msgid "You can alter type %s, which will alter the multirange type as well." +msgstr "Ви можете змінити тип %s, що також змінить тип мультидіапазону." + +#: commands/typecmds.c:4202 #, c-format msgid "type \"%s\" already exists in schema \"%s\"" msgstr "тип \"%s\" вже існує в схемі \"%s\"" -#: commands/typecmds.c:4165 +#: commands/typecmds.c:4382 #, c-format msgid "cannot change type's storage to PLAIN" msgstr "неможливо змінити сховище типу на PLAIN" -#: commands/typecmds.c:4258 +#: commands/typecmds.c:4475 #, c-format msgid "type attribute \"%s\" cannot be changed" msgstr "атрибут типу \"%s\" неможливо змінити" -#: commands/typecmds.c:4276 +#: commands/typecmds.c:4493 #, c-format msgid "must be superuser to alter a type" msgstr "для зміни типу потрібно бути суперкористувачем" -#: commands/typecmds.c:4297 commands/typecmds.c:4306 +#: commands/typecmds.c:4514 commands/typecmds.c:4523 #, c-format msgid "%s is not a base type" msgstr "%s - не є базовим типом" -#: commands/user.c:201 +#: commands/user.c:200 #, c-format msgid "SYSID can no longer be specified" msgstr "SYSID вже не потрібно вказувати" -#: commands/user.c:319 commands/user.c:325 commands/user.c:331 -#: commands/user.c:337 commands/user.c:343 +#: commands/user.c:318 commands/user.c:324 commands/user.c:330 +#: commands/user.c:336 commands/user.c:342 #, c-format msgid "permission denied to create role" msgstr "немає прав для створення ролі" -#: commands/user.c:320 +#: commands/user.c:319 #, c-format msgid "Only roles with the %s attribute may create roles." msgstr "Створювати ролі можуть лише ролі з атрибутом %s." -#: commands/user.c:326 commands/user.c:332 commands/user.c:338 -#: commands/user.c:344 +#: commands/user.c:325 commands/user.c:331 commands/user.c:337 +#: commands/user.c:343 #, c-format msgid "Only roles with the %s attribute may create roles with the %s attribute." msgstr "Тільки ролі з атрибутом %s можуть створювати ролі з атрибутом %s." -#: commands/user.c:355 commands/user.c:1387 commands/user.c:1394 -#: utils/adt/acl.c:5401 utils/adt/acl.c:5407 gram.y:16726 gram.y:16772 +#: 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 #, c-format msgid "role name \"%s\" is reserved" msgstr "ім'я ролі \"%s\" зарезервовано" -#: commands/user.c:357 commands/user.c:1389 commands/user.c:1396 +#: commands/user.c:356 commands/user.c:1388 commands/user.c:1395 #, c-format msgid "Role names starting with \"pg_\" are reserved." msgstr "Імена ролей, які починаються на \"pg_\", зарезервовані." -#: commands/user.c:378 commands/user.c:1411 +#: commands/user.c:377 commands/user.c:1410 #, c-format msgid "role \"%s\" already exists" msgstr "роль \"%s\" вже існує" -#: commands/user.c:440 commands/user.c:925 +#: commands/user.c:439 commands/user.c:924 #, c-format msgid "empty string is not a valid password, clearing password" msgstr "пустий рядок є неприпустимим паролем, пароль скидається" -#: commands/user.c:469 +#: commands/user.c:468 #, c-format msgid "pg_authid OID value not set when in binary upgrade mode" msgstr "значення OID в pg_authid не встановлено в режимі двійкового оновлення" -#: commands/user.c:653 commands/user.c:1011 +#: commands/user.c:652 commands/user.c:1010 msgid "Cannot alter reserved roles." msgstr "Не можна змінити зарезервовані ролі." -#: commands/user.c:760 commands/user.c:766 commands/user.c:782 -#: commands/user.c:790 commands/user.c:804 commands/user.c:810 -#: commands/user.c:816 commands/user.c:825 commands/user.c:870 -#: commands/user.c:1033 commands/user.c:1044 +#: commands/user.c:759 commands/user.c:765 commands/user.c:781 +#: commands/user.c:789 commands/user.c:803 commands/user.c:809 +#: commands/user.c:815 commands/user.c:824 commands/user.c:869 +#: commands/user.c:1032 commands/user.c:1043 #, c-format msgid "permission denied to alter role" msgstr "немає прав на зміну ролі" -#: commands/user.c:761 commands/user.c:1034 +#: commands/user.c:760 commands/user.c:1033 #, c-format msgid "Only roles with the %s attribute may alter roles with the %s attribute." msgstr "Тільки ролі з атрибутом %s можуть змінювати ролі з атрибутом %s." -#: commands/user.c:767 commands/user.c:805 commands/user.c:811 -#: commands/user.c:817 +#: commands/user.c:766 commands/user.c:804 commands/user.c:810 +#: commands/user.c:816 #, c-format msgid "Only roles with the %s attribute may change the %s attribute." msgstr "Змінити атрибут %s може тільки роль з атрибутом %s." -#: commands/user.c:783 commands/user.c:1045 +#: commands/user.c:782 commands/user.c:1044 #, c-format msgid "Only roles with the %s attribute and the %s option on role \"%s\" may alter this role." msgstr "Тільки ролі з атрибутом %s та опцією %s на роль \"%s\" можуть змінити цю роль." -#: commands/user.c:791 +#: commands/user.c:790 #, c-format msgid "To change another role's password, the current user must have the %s attribute and the %s option on the role." msgstr "Щоб змінити пароль іншої ролі, поточний користувач повинен мати атрибут %s та параметр %s в ролі." -#: commands/user.c:826 +#: commands/user.c:825 #, c-format msgid "Only roles with the %s option on role \"%s\" may add members." msgstr "Тільки ролі з опцією %s на роль \"%s\" можуть додавати учасників." -#: commands/user.c:871 +#: commands/user.c:870 #, c-format -msgid "The bootstrap user must have the %s attribute." -msgstr "Початковий користувач повинен мати атрибут %s." +msgid "The bootstrap superuser must have the %s attribute." +msgstr "Суперкористувач завантажувача повинен мати атрибут %s." -#: commands/user.c:1076 +#: commands/user.c:1075 #, c-format msgid "permission denied to alter setting" msgstr "немає прав на зміну налаштувань" -#: commands/user.c:1077 +#: commands/user.c:1076 #, c-format msgid "Only roles with the %s attribute may alter settings globally." msgstr "Тільки ролі з атрибутом %s можуть змінювати налаштування глобально." -#: commands/user.c:1101 commands/user.c:1172 commands/user.c:1178 +#: commands/user.c:1100 commands/user.c:1171 commands/user.c:1177 #, c-format msgid "permission denied to drop role" msgstr "немає прав для видалення ролі" -#: commands/user.c:1102 +#: commands/user.c:1101 #, c-format msgid "Only roles with the %s attribute and the %s option on the target roles may drop roles." msgstr "Тільки ролі з атрибутом %s та опцією %s на цільових ролях можуть видаляти ролі." -#: commands/user.c:1126 +#: commands/user.c:1125 #, c-format msgid "cannot use special role specifier in DROP ROLE" msgstr "використати спеціальну роль у DROP ROLE не можна" -#: commands/user.c:1136 commands/user.c:1358 commands/variable.c:836 -#: commands/variable.c:839 commands/variable.c:923 commands/variable.c:926 -#: utils/adt/acl.c:356 utils/adt/acl.c:376 utils/adt/acl.c:5256 -#: utils/adt/acl.c:5304 utils/adt/acl.c:5332 utils/adt/acl.c:5351 -#: utils/adt/regproc.c:1551 utils/init/miscinit.c:756 +#: commands/user.c:1135 commands/user.c:1357 commands/variable.c:838 +#: commands/variable.c:841 commands/variable.c:947 commands/variable.c:950 +#: 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/regproc.c:1571 utils/init/miscinit.c:762 #, c-format msgid "role \"%s\" does not exist" msgstr "роль \"%s\" не існує" -#: commands/user.c:1141 +#: commands/user.c:1140 #, c-format msgid "role \"%s\" does not exist, skipping" msgstr "роль \"%s\" не існує, пропускається" -#: commands/user.c:1154 commands/user.c:1158 +#: commands/user.c:1153 commands/user.c:1157 #, c-format msgid "current user cannot be dropped" msgstr "користувач не можна видалити сам себе" -#: commands/user.c:1162 +#: commands/user.c:1161 #, c-format msgid "session user cannot be dropped" msgstr "користувача поточного сеансу не можна видалити" -#: commands/user.c:1173 +#: commands/user.c:1172 #, c-format msgid "Only roles with the %s attribute may drop roles with the %s attribute." msgstr "Тільки ролі з атрибутом %s можуть видаляти ролі з атрибутом %s." -#: commands/user.c:1179 +#: commands/user.c:1178 #, c-format msgid "Only roles with the %s attribute and the %s option on role \"%s\" may drop this role." msgstr "Тільки ролі з атрибутом %s та опцією %s на роль \"%s\" можуть видалити цю роль." -#: commands/user.c:1300 +#: commands/user.c:1299 #, c-format msgid "role \"%s\" cannot be dropped because some objects depend on it" msgstr "роль \"%s\" не можна видалити, тому що деякі об'єкти залежать від неї" -#: commands/user.c:1374 +#: commands/user.c:1373 #, c-format msgid "session user cannot be renamed" msgstr "користувача поточного сеансу не можна перейменувати" -#: commands/user.c:1378 +#: commands/user.c:1377 #, c-format msgid "current user cannot be renamed" msgstr "користувач не може перейменувати сам себе" -#: commands/user.c:1422 commands/user.c:1432 +#: commands/user.c:1421 commands/user.c:1431 #, c-format msgid "permission denied to rename role" msgstr "немає прав на перейменування ролі" -#: commands/user.c:1423 +#: commands/user.c:1422 #, c-format msgid "Only roles with the %s attribute may rename roles with the %s attribute." msgstr "Тільки ролі з атрибутом %s можуть перейменовувати ролі з атрибутом %s." -#: commands/user.c:1433 +#: commands/user.c:1432 #, c-format msgid "Only roles with the %s attribute and the %s option on role \"%s\" may rename this role." msgstr "Тільки ролі з атрибутом %s та опцією %s на роль \"%s\" можуть перейменувати цю роль." -#: commands/user.c:1455 +#: commands/user.c:1454 #, c-format msgid "MD5 password cleared because of role rename" msgstr "У результаті перейменування ролі сума MD5 паролю очищена" -#: commands/user.c:1519 gram.y:1260 +#: commands/user.c:1518 gram.y:1294 #, c-format msgid "unrecognized role option \"%s\"" msgstr "нерозпізнаний параметр ролі \"%s\"" -#: commands/user.c:1524 +#: commands/user.c:1523 #, c-format msgid "unrecognized value for role option \"%s\": \"%s\"" msgstr "нерозпізнане значення параметру ролі \"%s\": \"%s\"" -#: commands/user.c:1557 +#: commands/user.c:1556 #, c-format msgid "column names cannot be included in GRANT/REVOKE ROLE" msgstr "в GRANT/REVOKE ROLE не можна включати назви стовпців" -#: commands/user.c:1597 +#: commands/user.c:1596 #, c-format msgid "permission denied to drop objects" msgstr "немає прав на видалення об'єктів" -#: commands/user.c:1598 +#: commands/user.c:1597 #, c-format msgid "Only roles with privileges of role \"%s\" may drop objects owned by it." msgstr "Тільки ролі з привілеями ролі \"%s\" можуть видаляти об'єкти, що належать йому." -#: commands/user.c:1626 commands/user.c:1637 +#: commands/user.c:1625 commands/user.c:1636 #, c-format msgid "permission denied to reassign objects" msgstr "немає прав на повторне призначення об'єктів" -#: commands/user.c:1627 +#: commands/user.c:1626 #, c-format msgid "Only roles with privileges of role \"%s\" may reassign objects owned by it." msgstr "Тільки ролі з привілеями ролі \"%s\" можуть переназначати об'єкти, що належать йому." -#: commands/user.c:1638 +#: commands/user.c:1637 #, c-format msgid "Only roles with privileges of role \"%s\" may reassign objects to it." msgstr "Тільки ролі з привілеями ролі \"%s\" можуть перепризначати об'єкти." -#: commands/user.c:1734 +#: commands/user.c:1733 #, c-format msgid "role \"%s\" cannot be a member of any role" msgstr "роль \"%s\" не може бути членом якої-небудь ролі" -#: commands/user.c:1747 +#: commands/user.c:1746 #, c-format msgid "role \"%s\" is a member of role \"%s\"" msgstr "роль \"%s\" - учасник ролі \"%s\"" -#: commands/user.c:1787 commands/user.c:1813 +#: commands/user.c:1786 commands/user.c:1812 #, c-format msgid "%s option cannot be granted back to your own grantor" msgstr "параметр %s не можна призначити тому, хто призначив їх вам" -#: commands/user.c:1890 +#: commands/user.c:1889 #, c-format msgid "role \"%s\" has already been granted membership in role \"%s\" by role \"%s\"" msgstr "роль \"%s\" вже отримала членство в ролі \"%s\" від ролі \"%s\"" -#: commands/user.c:2025 +#: commands/user.c:2024 #, c-format msgid "role \"%s\" has not been granted membership in role \"%s\" by role \"%s\"" msgstr "роль \"%s\" не отримала членство в ролі \"%s\" від ролі \"%s\"" -#: commands/user.c:2125 +#: commands/user.c:2124 #, c-format msgid "role \"%s\" cannot have explicit members" msgstr "роль \"%s\" не може мати явних членів" -#: commands/user.c:2136 commands/user.c:2159 +#: commands/user.c:2135 commands/user.c:2158 #, c-format msgid "permission denied to grant role \"%s\"" msgstr "немає дозволу для надання ролі \"%s\"" -#: commands/user.c:2138 +#: commands/user.c:2137 #, c-format msgid "Only roles with the %s attribute may grant roles with the %s attribute." msgstr "Тільки ролі з атрибутом %s можуть надавати членство ролі з атрибутом %s." -#: commands/user.c:2143 commands/user.c:2166 +#: commands/user.c:2142 commands/user.c:2165 #, c-format msgid "permission denied to revoke role \"%s\"" msgstr "немає дозволу для відкликання ролі \"%s\"" -#: commands/user.c:2145 +#: commands/user.c:2144 #, c-format msgid "Only roles with the %s attribute may revoke roles with the %s attribute." msgstr "Тільки ролі з атрибутом %s можуть відкликати членство ролі з атрибутом %s." -#: commands/user.c:2161 +#: commands/user.c:2160 #, c-format msgid "Only roles with the %s option on role \"%s\" may grant this role." msgstr "Тільки ролі з опцією %s на роль \"%s\" можуть надавати членство до цієї ролі." -#: commands/user.c:2168 +#: commands/user.c:2167 #, c-format msgid "Only roles with the %s option on role \"%s\" may revoke this role." msgstr "Тільки ролі з опцією %s на роль \"%s\" можуть відкликати членство в цій ролі." -#: commands/user.c:2248 commands/user.c:2257 +#: commands/user.c:2247 commands/user.c:2256 #, c-format msgid "permission denied to grant privileges as role \"%s\"" msgstr "немає дозволу для надання привілеїв ролі \"%s\"" -#: commands/user.c:2250 +#: commands/user.c:2249 #, c-format msgid "Only roles with privileges of role \"%s\" may grant privileges as this role." msgstr "Тільки ролі з привілеями ролі \"%s\" можуть надавати привілеї цієї ролі." -#: commands/user.c:2259 +#: commands/user.c:2258 #, c-format msgid "The grantor must have the %s option on role \"%s\"." msgstr "Власник прав повинен мати опцію %s для ролі \"%s\"." -#: commands/user.c:2267 +#: commands/user.c:2266 #, c-format msgid "permission denied to revoke privileges granted by role \"%s\"" msgstr "відмовлено у дозволі на відкликання привілеїв, наданих роллю \"%s\"" -#: commands/user.c:2269 +#: commands/user.c:2268 #, c-format msgid "Only roles with privileges of role \"%s\" may revoke privileges granted by this role." msgstr "Тільки ролі з привілеями ролі \"%s\" можуть відкликати привілеї, надані цією роллю." -#: commands/user.c:2492 utils/adt/acl.c:1309 +#: commands/user.c:2491 utils/adt/acl.c:1324 #, c-format msgid "dependent privileges exist" msgstr "залежні права існують" -#: commands/user.c:2493 utils/adt/acl.c:1310 +#: commands/user.c:2492 utils/adt/acl.c:1325 #, c-format msgid "Use CASCADE to revoke them too." msgstr "Використайте CASCADE, щоб відкликати їх." -#: commands/vacuum.c:137 +#: commands/vacuum.c:134 #, 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" @@ -12717,92 +13154,88 @@ msgstr "ONLY_DATABASE_STATS не можна вказувати з іншими msgid "%s cannot be executed from VACUUM or ANALYZE" msgstr "%s не можна виконати під час VACUUM або ANALYZE" -#: commands/vacuum.c:733 +#: commands/vacuum.c:730 #, c-format msgid "permission denied to vacuum \"%s\", skipping it" msgstr "немає дозволу для очистки\"%s\", пропускаємо його" -#: commands/vacuum.c:746 +#: commands/vacuum.c:743 #, c-format msgid "permission denied to analyze \"%s\", skipping it" msgstr "відмовлено в дозволі на аналіз \"%s\", пропуск" -#: commands/vacuum.c:824 commands/vacuum.c:921 +#: commands/vacuum.c:821 commands/vacuum.c:918 #, c-format msgid "skipping vacuum of \"%s\" --- lock not available" msgstr "очистка \"%s\" пропускається --- блокування недоступне" -#: commands/vacuum.c:829 +#: commands/vacuum.c:826 #, c-format msgid "skipping vacuum of \"%s\" --- relation no longer exists" msgstr "очистка \"%s\" пропускається --- це відношення більше не існує" -#: commands/vacuum.c:845 commands/vacuum.c:926 +#: commands/vacuum.c:842 commands/vacuum.c:923 #, c-format msgid "skipping analyze of \"%s\" --- lock not available" msgstr "пропуск аналізу об'єкта \"%s\" --- блокування недоступне" -#: commands/vacuum.c:850 +#: commands/vacuum.c:847 #, c-format msgid "skipping analyze of \"%s\" --- relation no longer exists" msgstr "пропуск аналізу об'єкта\"%s\" --- відношення більше не існує" -#: commands/vacuum.c:1161 +#: commands/vacuum.c:1139 #, c-format msgid "cutoff for removing and freezing tuples is far in the past" msgstr "відсікання для видалення та заморожування кортежів залишилося далеко в минулому" -#: commands/vacuum.c:1162 commands/vacuum.c:1167 +#: commands/vacuum.c:1140 commands/vacuum.c:1145 #, c-format -msgid "" -"Close open transactions soon to avoid wraparound problems.\n" +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" +msgstr "Завершіть відкриті транзакції якнайшвидше, щоб уникнути проблеми зациклення.\n" "Можливо, вам також доведеться затвердити або відкотити старі підготовленні транзакції, або видалити застарілі слоти реплікації." -#: commands/vacuum.c:1166 +#: commands/vacuum.c:1144 #, c-format msgid "cutoff for freezing multixacts is far in the past" msgstr "відсікання для заморожування мультитранзакцій залишилося далеко в минулому" -#: commands/vacuum.c:1908 +#: commands/vacuum.c:1890 #, c-format msgid "some databases have not been vacuumed in over 2 billion transactions" msgstr "деякі бази даних не очищалися протягом більш ніж 2 мільярдів транзакцій" -#: commands/vacuum.c:1909 +#: commands/vacuum.c:1891 #, c-format msgid "You might have already suffered transaction-wraparound data loss." msgstr "Можливо, ви вже втратили дані в результаті зациклення транзакцій." -#: commands/vacuum.c:2078 +#: commands/vacuum.c:2070 #, c-format msgid "skipping \"%s\" --- cannot vacuum non-tables or special system tables" msgstr "пропускається \"%s\" --- очищати не таблиці або спеціальні системні таблиці не можна" -#: commands/vacuum.c:2503 +#: commands/vacuum.c:2502 #, c-format -msgid "scanned index \"%s\" to remove %d row versions" -msgstr "просканований індекс \"%s\", видалено версій рядків %d" +msgid "scanned index \"%s\" to remove %lld row versions" +msgstr "" -#: commands/vacuum.c:2522 +#: commands/vacuum.c:2521 #, c-format msgid "index \"%s\" now contains %.0f row versions in %u pages" msgstr "індекс \"%s\" наразі містить %.0f версій рядків у %u сторінках" -#: commands/vacuum.c:2526 +#: commands/vacuum.c:2525 #, c-format -msgid "" -"%.0f index row versions were removed.\n" +msgid "%.0f index row versions were removed.\n" "%u index pages were newly deleted.\n" "%u index pages are currently deleted, of which %u are currently reusable." -msgstr "" -"%.0f версій індексних рядків було видалено.\n" +msgstr "%.0f версій індексних рядків було видалено.\n" "%u індексних сторінок щойно видалено.\n" "%u індексних сторінок наразі видалено, з яких %u наразі можна використовувати повторно." -#: commands/vacuumparallel.c:677 +#: commands/vacuumparallel.c:708 #, c-format msgid "launched %d parallel vacuum worker for index vacuuming (planned: %d)" msgid_plural "launched %d parallel vacuum workers for index vacuuming (planned: %d)" @@ -12811,7 +13244,7 @@ msgstr[1] "запущено %d паралельних виконавців оч msgstr[2] "запущено %d паралельних виконавців очистки для очищення індексу (заплановано: %d)" msgstr[3] "запущено %d паралельних виконавців очистки для очищення індексу (заплановано: %d)" -#: commands/vacuumparallel.c:683 +#: commands/vacuumparallel.c:714 #, 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)" @@ -12875,7 +13308,7 @@ msgstr "Команда SET TRANSACTION ISOLATION LEVEL повинна викли msgid "SET TRANSACTION ISOLATION LEVEL must not be called in a subtransaction" msgstr "Команда SET TRANSACTION ISOLATION LEVEL не повинна викликатияь в підтранзакції" -#: commands/variable.c:606 storage/lmgr/predicate.c:1629 +#: commands/variable.c:606 storage/lmgr/predicate.c:1680 #, c-format msgid "cannot use serializable mode in a hot standby" msgstr "використовувати серіалізований режим в hot standby не можна" @@ -12907,90 +13340,100 @@ msgstr "Змінити клієнтське кодування зараз нем #: commands/variable.c:781 #, c-format -msgid "cannot change client_encoding during a parallel operation" -msgstr "змінити клієнтське кодування під час паралельної операції неможливо" +msgid "cannot change \"client_encoding\" during a parallel operation" +msgstr "" + +#: commands/variable.c:863 +#, c-format +msgid "permission will be denied to set session authorization \"%s\"" +msgstr "буде відмовлено у встановленні авторизації сеансу \"%s\"" + +#: commands/variable.c:868 +#, c-format +msgid "permission denied to set session authorization \"%s\"" +msgstr "відмовлено у встановленні авторизації сеансу \"%s\"" -#: commands/variable.c:948 +#: commands/variable.c:972 #, c-format msgid "permission will be denied to set role \"%s\"" msgstr "немає прав для встановлення ролі \"%s\"" -#: commands/variable.c:953 +#: commands/variable.c:977 #, c-format msgid "permission denied to set role \"%s\"" msgstr "немає прав для встановлення ролі \"%s\"" -#: commands/variable.c:1153 +#: commands/variable.c:1177 #, c-format msgid "Bonjour is not supported by this build" msgstr "Bonjour не підтримується даною збіркою" -#: commands/variable.c:1181 +#: commands/variable.c:1205 #, c-format -msgid "effective_io_concurrency must be set to 0 on platforms that lack posix_fadvise()." -msgstr "значення effective_io_concurrency повинне дорівнювати 0 (нулю) на платформах, де відсутній posix_fadvise()." +msgid "\"effective_io_concurrency\" must be set to 0 on platforms that lack posix_fadvise()." +msgstr "" -#: commands/variable.c:1194 +#: commands/variable.c:1218 #, c-format -msgid "maintenance_io_concurrency must be set to 0 on platforms that lack posix_fadvise()." -msgstr "maintenance_io_concurrency повинне бути встановлене на 0, на платформах які не мають posix_fadvise()." +msgid "\"maintenance_io_concurrency\" must be set to 0 on platforms that lack posix_fadvise()." +msgstr "" -#: commands/variable.c:1207 +#: commands/variable.c:1231 #, c-format msgid "SSL is not supported by this build" msgstr "SSL не підтримується даною збіркою" -#: commands/view.c:84 +#: commands/view.c:79 #, c-format msgid "could not determine which collation to use for view column \"%s\"" msgstr "не вдалося визначити, яке правило сортування використати для стовпця подання \"%s\"" -#: commands/view.c:279 commands/view.c:290 +#: commands/view.c:274 commands/view.c:285 #, c-format msgid "cannot drop columns from view" msgstr "видалити стовпці з подання неможливо" -#: commands/view.c:295 +#: commands/view.c:290 #, c-format msgid "cannot change name of view column \"%s\" to \"%s\"" msgstr "змінити ім'я стовпця \"%s\" на \"%s\" в поданні неможливо" -#: commands/view.c:298 +#: commands/view.c:293 #, c-format msgid "Use ALTER VIEW ... RENAME COLUMN ... to change name of view column instead." msgstr "Щоб змінити назву стовпця подання, замість цього використайте ALTER VIEW ... RENAME COLUMN." -#: commands/view.c:309 +#: commands/view.c:304 #, c-format msgid "cannot change data type of view column \"%s\" from %s to %s" msgstr "змінити тип стовпця подання \"%s\" з %s на %s неможливо" -#: commands/view.c:323 +#: commands/view.c:318 #, c-format msgid "cannot change collation of view column \"%s\" from \"%s\" to \"%s\"" msgstr "змінити параметри сортування стовпця подання \"%s\" з \"%s\" на \"%s\" не можна" -#: commands/view.c:392 +#: commands/view.c:387 #, c-format msgid "views must not contain SELECT INTO" msgstr "подання не повинні містити SELECT INTO" -#: commands/view.c:404 +#: commands/view.c:399 #, c-format msgid "views must not contain data-modifying statements in WITH" msgstr "подання не повинні містити інструкції, які змінюють дані в WITH" -#: commands/view.c:474 +#: commands/view.c:469 #, c-format msgid "CREATE VIEW specifies more column names than columns" msgstr "У CREATE VIEW вказано більше імен стовпців, ніж самих стовпців" -#: commands/view.c:482 +#: commands/view.c:477 #, c-format msgid "views cannot be unlogged because they do not have storage" msgstr "подання не можуть бути нежурнальованими, так як вони не мають сховища" -#: commands/view.c:496 +#: commands/view.c:491 #, c-format msgid "view \"%s\" will be a temporary view" msgstr "подання \"%s\" буде тичасовим поданням" @@ -13026,58 +13469,58 @@ msgstr "курсор \"%s\" не розташовується у рядку" msgid "cursor \"%s\" is not a simply updatable scan of table \"%s\"" msgstr "курсор \"%s\" - не просте оновлюване сканування таблиці \"%s\"" -#: executor/execCurrent.c:280 executor/execExprInterp.c:2498 +#: executor/execCurrent.c:280 executor/execExprInterp.c:2543 #, c-format msgid "type of parameter %d (%s) does not match that when preparing the plan (%s)" msgstr "тип параметру %d (%s) не відповідає тому, з котрим тривала підготовка плану (%s)" -#: executor/execCurrent.c:292 executor/execExprInterp.c:2510 +#: executor/execCurrent.c:292 executor/execExprInterp.c:2555 #, c-format msgid "no value found for parameter %d" msgstr "не знайдено значення для параметру %d" -#: executor/execExpr.c:637 executor/execExpr.c:644 executor/execExpr.c:650 -#: executor/execExprInterp.c:4234 executor/execExprInterp.c:4251 -#: executor/execExprInterp.c:4350 executor/nodeModifyTable.c:197 -#: executor/nodeModifyTable.c:208 executor/nodeModifyTable.c:225 -#: executor/nodeModifyTable.c:233 +#: executor/execExpr.c:642 executor/execExpr.c:649 executor/execExpr.c:655 +#: executor/execExprInterp.c:4840 executor/execExprInterp.c:4857 +#: executor/execExprInterp.c:4956 executor/nodeModifyTable.c:203 +#: executor/nodeModifyTable.c:214 executor/nodeModifyTable.c:231 +#: executor/nodeModifyTable.c:239 #, c-format msgid "table row type and query-specified row type do not match" msgstr "тип рядка таблиці відрізняється від типу рядка-результату запиту" -#: executor/execExpr.c:638 executor/nodeModifyTable.c:198 +#: executor/execExpr.c:643 executor/nodeModifyTable.c:204 #, c-format msgid "Query has too many columns." msgstr "Запит повертає дуже багато стовпців." -#: executor/execExpr.c:645 executor/nodeModifyTable.c:226 +#: executor/execExpr.c:650 executor/nodeModifyTable.c:232 #, c-format msgid "Query provides a value for a dropped column at ordinal position %d." msgstr "Запит надає значення для видаленого стовпця з порядковим номером %d." -#: executor/execExpr.c:651 executor/execExprInterp.c:4252 -#: executor/nodeModifyTable.c:209 +#: executor/execExpr.c:656 executor/execExprInterp.c:4858 +#: executor/nodeModifyTable.c:215 #, c-format msgid "Table has type %s at ordinal position %d, but query expects %s." msgstr "Таблиця має тип %s у порядковому розташуванні %d, але запит очікує %s." -#: executor/execExpr.c:1099 parser/parse_agg.c:838 +#: executor/execExpr.c:1104 parser/parse_agg.c:838 #, c-format msgid "window function calls cannot be nested" msgstr "виклики віконних функцій не можуть бути вкладеними" -#: executor/execExpr.c:1618 +#: executor/execExpr.c:1641 #, c-format msgid "target type is not an array" msgstr "цільовий тип не є масивом" -#: executor/execExpr.c:1958 +#: executor/execExpr.c:1981 #, c-format msgid "ROW() column has type %s instead of type %s" msgstr "Стовпець ROW() має тип %s замість %s" -#: executor/execExpr.c:2574 executor/execSRF.c:719 parser/parse_func.c:138 -#: parser/parse_func.c:655 parser/parse_func.c:1032 +#: executor/execExpr.c:2643 executor/execSRF.c:718 parser/parse_func.c:138 +#: parser/parse_func.c:655 parser/parse_func.c:1033 #, c-format msgid "cannot pass more than %d argument to a function" msgid_plural "cannot pass more than %d arguments to a function" @@ -13086,104 +13529,121 @@ msgstr[1] "функції не можна передати більше ніж % msgstr[2] "функції не можна передати більше ніж %d аргументів" msgstr[3] "функції не можна передати більше ніж %d аргументів" -#: executor/execExpr.c:2601 executor/execSRF.c:739 executor/functions.c:1066 -#: utils/adt/jsonfuncs.c:3780 utils/fmgr/funcapi.c:89 utils/fmgr/funcapi.c:143 +#: executor/execExpr.c:2670 executor/execSRF.c:738 executor/functions.c:1068 +#: utils/adt/jsonfuncs.c:4054 utils/fmgr/funcapi.c:89 utils/fmgr/funcapi.c:143 #, c-format msgid "set-valued function called in context that cannot accept a set" msgstr "функція \"set-valued\" викликана в контексті, де йому немає місця" -#: executor/execExpr.c:3007 parser/parse_node.c:277 parser/parse_node.c:327 +#: executor/execExpr.c:3076 parser/parse_node.c:272 parser/parse_node.c:322 #, c-format msgid "cannot subscript type %s because it does not support subscripting" msgstr "не можна підписати вказати тип %s, тому що він не підтримує підписку" -#: executor/execExpr.c:3135 executor/execExpr.c:3157 +#: executor/execExpr.c:3204 executor/execExpr.c:3226 #, c-format msgid "type %s does not support subscripted assignment" msgstr "тип %s не підтримує вказані присвоєння за підпискою" -#: executor/execExprInterp.c:1962 +#: executor/execExprInterp.c:2007 #, c-format msgid "attribute %d of type %s has been dropped" msgstr "атрибут %d типу %s був видалений" -#: executor/execExprInterp.c:1968 +#: executor/execExprInterp.c:2013 #, c-format msgid "attribute %d of type %s has wrong type" msgstr "атрибут %d типу %s має неправильний тип" -#: executor/execExprInterp.c:1970 executor/execExprInterp.c:3104 -#: executor/execExprInterp.c:3150 +#: executor/execExprInterp.c:2015 executor/execExprInterp.c:3214 +#: executor/execExprInterp.c:3260 #, c-format msgid "Table has type %s, but query expects %s." msgstr "Таблиця має тип %s, але запит очікував %s." -#: executor/execExprInterp.c:2050 utils/adt/expandedrecord.c:99 -#: utils/adt/expandedrecord.c:231 utils/cache/typcache.c:1749 -#: utils/cache/typcache.c:1908 utils/cache/typcache.c:2055 -#: utils/fmgr/funcapi.c:561 +#: executor/execExprInterp.c:2095 utils/adt/expandedrecord.c:99 +#: utils/adt/expandedrecord.c:231 utils/cache/typcache.c:1752 +#: utils/cache/typcache.c:1911 utils/cache/typcache.c:2058 +#: utils/fmgr/funcapi.c:569 #, c-format msgid "type %s is not composite" msgstr "тип %s не є складеним" -#: executor/execExprInterp.c:2588 +#: executor/execExprInterp.c:2698 #, c-format msgid "WHERE CURRENT OF is not supported for this table type" msgstr "WHERE CURRENT OF для таблиць такого типу не підтримується" -#: executor/execExprInterp.c:2801 +#: executor/execExprInterp.c:2911 #, c-format msgid "cannot merge incompatible arrays" msgstr "не можна об'єднати несумісні масиви" -#: executor/execExprInterp.c:2802 +#: executor/execExprInterp.c:2912 #, c-format msgid "Array with element type %s cannot be included in ARRAY construct with element type %s." msgstr "Масив з типом елементів %s не може бути включений в конструкцію ARRAY з типом елементів %s." -#: executor/execExprInterp.c:2823 utils/adt/arrayfuncs.c:266 -#: utils/adt/arrayfuncs.c:576 utils/adt/arrayfuncs.c:1330 -#: utils/adt/arrayfuncs.c:3532 utils/adt/arrayfuncs.c:5616 -#: utils/adt/arrayfuncs.c:6133 utils/adt/arraysubs.c:150 +#: executor/execExprInterp.c:2933 utils/adt/arrayfuncs.c:1305 +#: utils/adt/arrayfuncs.c:3503 utils/adt/arrayfuncs.c:5593 +#: utils/adt/arrayfuncs.c:6110 utils/adt/arraysubs.c:150 #: utils/adt/arraysubs.c:488 #, c-format msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)" msgstr "число вимірів масива (%d) перевищує ліміт (%d)" -#: executor/execExprInterp.c:2843 executor/execExprInterp.c:2878 +#: executor/execExprInterp.c:2953 executor/execExprInterp.c:2988 #, c-format msgid "multidimensional arrays must have array expressions with matching dimensions" msgstr "для багатовимірних масивів повинні задаватись вирази з відповідними вимірами" -#: executor/execExprInterp.c:2855 utils/adt/array_expanded.c:274 -#: utils/adt/arrayfuncs.c:960 utils/adt/arrayfuncs.c:1569 -#: utils/adt/arrayfuncs.c:2377 utils/adt/arrayfuncs.c:2392 -#: utils/adt/arrayfuncs.c:2654 utils/adt/arrayfuncs.c:2670 -#: utils/adt/arrayfuncs.c:2978 utils/adt/arrayfuncs.c:2993 -#: utils/adt/arrayfuncs.c:3334 utils/adt/arrayfuncs.c:3562 -#: utils/adt/arrayfuncs.c:6225 utils/adt/arrayfuncs.c:6566 -#: utils/adt/arrayutils.c:98 utils/adt/arrayutils.c:107 -#: utils/adt/arrayutils.c:114 +#: executor/execExprInterp.c:2965 utils/adt/array_expanded.c:274 +#: utils/adt/arrayfuncs.c:335 utils/adt/arrayfuncs.c:494 +#: utils/adt/arrayfuncs.c:727 utils/adt/arrayfuncs.c:1533 +#: utils/adt/arrayfuncs.c:2341 utils/adt/arrayfuncs.c:2356 +#: utils/adt/arrayfuncs.c:2618 utils/adt/arrayfuncs.c:2634 +#: utils/adt/arrayfuncs.c:2895 utils/adt/arrayfuncs.c:2949 +#: utils/adt/arrayfuncs.c:2964 utils/adt/arrayfuncs.c:3305 +#: utils/adt/arrayfuncs.c:3533 utils/adt/arrayfuncs.c:5365 +#: utils/adt/arrayfuncs.c:6202 utils/adt/arrayfuncs.c:6546 +#: utils/adt/arrayutils.c:83 utils/adt/arrayutils.c:92 +#: utils/adt/arrayutils.c:99 #, c-format msgid "array size exceeds the maximum allowed (%d)" msgstr "розмір масиву перевищує максимальний допустимий розмір (%d)" -#: executor/execExprInterp.c:3103 executor/execExprInterp.c:3149 +#: executor/execExprInterp.c:3213 executor/execExprInterp.c:3259 #, c-format msgid "attribute %d has wrong type" msgstr "атрибут %d має неправильний тип" -#: executor/execExprInterp.c:3735 utils/adt/domains.c:155 +#: executor/execExprInterp.c:3845 utils/adt/domains.c:158 #, c-format msgid "domain %s does not allow null values" msgstr "домен %s не допускає значення null" -#: executor/execExprInterp.c:3750 utils/adt/domains.c:193 +#: executor/execExprInterp.c:3860 utils/adt/domains.c:196 #, c-format msgid "value for domain %s violates check constraint \"%s\"" msgstr "значення домену %s порушує перевірочнео бмеження \"%s\"" -#: executor/execExprInterp.c:4235 +#: executor/execExprInterp.c:4435 +#, c-format +msgid "no SQL/JSON item found for specified path of column \"%s\"" +msgstr "" + +#: executor/execExprInterp.c:4440 +#, c-format +msgid "no SQL/JSON item found for specified path" +msgstr "" + +#. translator: first %s is a SQL/JSON clause (e.g. ON ERROR) +#: executor/execExprInterp.c:4640 executor/execExprInterp.c:4648 +#, c-format +msgid "could not coerce %s expression (%s) to the RETURNING type" +msgstr "" + +#: executor/execExprInterp.c:4841 #, c-format msgid "Table row contains %d attribute, but query expects %d." msgid_plural "Table row contains %d attributes, but query expects %d." @@ -13192,329 +13652,293 @@ msgstr[1] "Рядок таблиці містить %d атрибути, але msgstr[2] "Рядок таблиці містить %d атрибутів, але запит очікував %d." msgstr[3] "Рядок таблиці містить %d атрибутів, але запит очікував %d." -#: executor/execExprInterp.c:4351 executor/execSRF.c:978 +#: executor/execExprInterp.c:4957 executor/execSRF.c:977 #, c-format msgid "Physical storage mismatch on dropped attribute at ordinal position %d." msgstr "Невідповідність параметрів фізичного зберігання видаленого атрибуту %d." -#: executor/execIndexing.c:588 +#: executor/execIndexing.c:593 #, c-format msgid "ON CONFLICT does not support deferrable unique constraints/exclusion constraints as arbiters" msgstr "ON CONFLICT не підтримує відкладені обмеження унікальності/обмеження-виключення в якості визначального індексу" -#: executor/execIndexing.c:865 +#: executor/execIndexing.c:870 #, c-format msgid "could not create exclusion constraint \"%s\"" msgstr "не вдалося створити обмеження-виключення \"%s\"" -#: executor/execIndexing.c:868 +#: executor/execIndexing.c:873 #, c-format msgid "Key %s conflicts with key %s." msgstr "Ключ %s конфліктує з ключем %s." -#: executor/execIndexing.c:870 +#: executor/execIndexing.c:875 #, c-format msgid "Key conflicts exist." msgstr "Існують конфлікти ключей." -#: executor/execIndexing.c:876 +#: executor/execIndexing.c:881 #, c-format msgid "conflicting key value violates exclusion constraint \"%s\"" msgstr "конфліктуюче значення ключа порушує обмеження-виключення \"%s\"" -#: executor/execIndexing.c:879 +#: executor/execIndexing.c:884 #, c-format msgid "Key %s conflicts with existing key %s." msgstr "Ключ %s конфліктує з існуючим ключем %s." -#: executor/execIndexing.c:881 +#: executor/execIndexing.c:886 #, c-format msgid "Key conflicts with existing key." msgstr "Ключ конфліктує з існуючим ключем." -#: executor/execMain.c:1039 +#: executor/execMain.c:1043 #, c-format msgid "cannot change sequence \"%s\"" msgstr "послідовність \"%s\" не можна змінити" -#: executor/execMain.c:1045 +#: executor/execMain.c:1049 #, c-format msgid "cannot change TOAST relation \"%s\"" msgstr "TOAST-відношення \"%s\" не можна змінити" -#: executor/execMain.c:1063 rewrite/rewriteHandler.c:3079 -#: rewrite/rewriteHandler.c:3966 -#, c-format -msgid "cannot insert into view \"%s\"" -msgstr "вставити дані в подання \"%s\" не можна" - -#: executor/execMain.c:1065 rewrite/rewriteHandler.c:3082 -#: rewrite/rewriteHandler.c:3969 -#, 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." - -#: executor/execMain.c:1071 rewrite/rewriteHandler.c:3087 -#: rewrite/rewriteHandler.c:3974 -#, c-format -msgid "cannot update view \"%s\"" -msgstr "оновити подання \"%s\" не можна" - -#: executor/execMain.c:1073 rewrite/rewriteHandler.c:3090 -#: rewrite/rewriteHandler.c:3977 -#, 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." - -#: executor/execMain.c:1079 rewrite/rewriteHandler.c:3095 -#: rewrite/rewriteHandler.c:3982 -#, c-format -msgid "cannot delete from view \"%s\"" -msgstr "видалити дані з подання \"%s\" не можна" - -#: executor/execMain.c:1081 rewrite/rewriteHandler.c:3098 -#: rewrite/rewriteHandler.c:3985 -#, 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." - -#: executor/execMain.c:1092 +#: executor/execMain.c:1068 #, c-format msgid "cannot change materialized view \"%s\"" msgstr "змінити матеріалізоване подання \"%s\" не можна" -#: executor/execMain.c:1104 +#: executor/execMain.c:1080 #, c-format msgid "cannot insert into foreign table \"%s\"" msgstr "вставляти дані в зовнішню таблицю \"%s\" не можна" -#: executor/execMain.c:1110 +#: executor/execMain.c:1086 #, c-format msgid "foreign table \"%s\" does not allow inserts" msgstr "зовнішня таблиця \"%s\" не допускає додавання даних" -#: executor/execMain.c:1117 +#: executor/execMain.c:1093 #, c-format msgid "cannot update foreign table \"%s\"" msgstr "оновити зовнішню таблицю \"%s\" не можна" -#: executor/execMain.c:1123 +#: executor/execMain.c:1099 #, c-format msgid "foreign table \"%s\" does not allow updates" msgstr "зовнішня таблиця \"%s\" не дозволяє оновлення" -#: executor/execMain.c:1130 +#: executor/execMain.c:1106 #, c-format msgid "cannot delete from foreign table \"%s\"" msgstr "видаляти дані з зовнішньої таблиці \"%s\" не можна" -#: executor/execMain.c:1136 +#: executor/execMain.c:1112 #, c-format msgid "foreign table \"%s\" does not allow deletes" msgstr "зовнішня таблиця \"%s\" не дозволяє видалення даних" -#: executor/execMain.c:1147 +#: executor/execMain.c:1123 #, c-format msgid "cannot change relation \"%s\"" msgstr "відношення \"%s\" не можна змінити" -#: executor/execMain.c:1174 +#: executor/execMain.c:1150 #, c-format msgid "cannot lock rows in sequence \"%s\"" msgstr "блокувати рядки в послідовності \"%s\" не можна" -#: executor/execMain.c:1181 +#: executor/execMain.c:1157 #, c-format msgid "cannot lock rows in TOAST relation \"%s\"" msgstr "блокувати рядки в TOAST-відношенні \"%s\" не можна" -#: executor/execMain.c:1188 +#: executor/execMain.c:1164 #, c-format msgid "cannot lock rows in view \"%s\"" msgstr "блокувати рядки в поданні \"%s\" не можна" -#: executor/execMain.c:1196 +#: executor/execMain.c:1172 #, c-format msgid "cannot lock rows in materialized view \"%s\"" msgstr "блокувати рядки в матеріалізованому поданні \"%s\" не можна" -#: executor/execMain.c:1205 executor/execMain.c:2708 +#: executor/execMain.c:1181 executor/execMain.c:2686 #: executor/nodeLockRows.c:135 #, c-format msgid "cannot lock rows in foreign table \"%s\"" msgstr "блокувати рядки в зовнішній таблиці \"%s\" не можна" -#: executor/execMain.c:1211 +#: executor/execMain.c:1187 #, c-format msgid "cannot lock rows in relation \"%s\"" msgstr "блокувати рядки у відношенні \"%s\" не можна" -#: executor/execMain.c:1922 +#: executor/execMain.c:1900 #, c-format msgid "new row for relation \"%s\" violates partition constraint" msgstr "новий рядок для відношення \"%s\" порушує обмеження секції" -#: executor/execMain.c:1924 executor/execMain.c:2008 executor/execMain.c:2059 -#: executor/execMain.c:2169 +#: executor/execMain.c:1902 executor/execMain.c:1986 executor/execMain.c:2037 +#: executor/execMain.c:2147 #, c-format msgid "Failing row contains %s." msgstr "Помилковий рядок містить %s." -#: executor/execMain.c:2005 +#: executor/execMain.c:1983 #, c-format msgid "null value in column \"%s\" of relation \"%s\" violates not-null constraint" msgstr "null значення в стовпці \"%s\" відношення \"%s\" порушує not-null обмеження" -#: executor/execMain.c:2057 +#: executor/execMain.c:2035 #, c-format msgid "new row for relation \"%s\" violates check constraint \"%s\"" msgstr "новий рядок для відношення \"%s\" порушує перевірне обмеження перевірку \"%s\"" -#: executor/execMain.c:2167 +#: executor/execMain.c:2145 #, c-format msgid "new row violates check option for view \"%s\"" msgstr "новий рядок порушує параметр перевірки для подання \"%s\"" -#: executor/execMain.c:2177 +#: executor/execMain.c:2155 #, c-format msgid "new row violates row-level security policy \"%s\" for table \"%s\"" msgstr "новий рядок порушує політику захисту на рівні рядків \"%s\" для таблиці \"%s\"" -#: executor/execMain.c:2182 +#: executor/execMain.c:2160 #, c-format msgid "new row violates row-level security policy for table \"%s\"" msgstr "новий рядок порушує політику захисту на рівні рядків для таблиці \"%s\"" -#: executor/execMain.c:2190 +#: executor/execMain.c:2168 #, c-format msgid "target row violates row-level security policy \"%s\" (USING expression) for table \"%s\"" msgstr "цільовий рядок порушує політику захисту на рівні рядків \"%s\" (вираз USING) для таблиці \"%s\"" -#: executor/execMain.c:2195 +#: executor/execMain.c:2173 #, c-format msgid "target row violates row-level security policy (USING expression) for table \"%s\"" msgstr "цільовий рядок порушує політику захисту на рівні рядків (вираз USING) для таблиці \"%s\"" -#: executor/execMain.c:2202 +#: executor/execMain.c:2180 #, c-format msgid "new row violates row-level security policy \"%s\" (USING expression) for table \"%s\"" msgstr "новий рядок порушує політику захисту на рівні рядків \"%s\" (вираз USING) для таблиці \"%s\"" -#: executor/execMain.c:2207 +#: executor/execMain.c:2185 #, c-format msgid "new row violates row-level security policy (USING expression) for table \"%s\"" msgstr "новий рядок порушує політику захисту на рівні рядків (вираз USING) для таблиці \"%s\"" -#: executor/execPartition.c:330 +#: executor/execPartition.c:327 #, c-format msgid "no partition of relation \"%s\" found for row" msgstr "для рядка не знайдено секції у відношенні \"%s\"" -#: executor/execPartition.c:333 +#: executor/execPartition.c:330 #, c-format msgid "Partition key of the failing row contains %s." msgstr "Ключ секціонування для невідповідного рядка містить %s." -#: executor/execReplication.c:231 executor/execReplication.c:415 +#: executor/execReplication.c:272 executor/execReplication.c:456 #, c-format msgid "tuple to be locked was already moved to another partition due to concurrent update, retrying" msgstr "кортеж, що підлягає блокуванню, вже переміщено в іншу секцію в результаті паралельного оновлення, триває повторна спроба" -#: executor/execReplication.c:235 executor/execReplication.c:419 +#: executor/execReplication.c:276 executor/execReplication.c:460 #, c-format msgid "concurrent update, retrying" msgstr "паралельне оновлення, триває повторна спроба" -#: executor/execReplication.c:241 executor/execReplication.c:425 +#: executor/execReplication.c:282 executor/execReplication.c:466 #, c-format msgid "concurrent delete, retrying" msgstr "паралельне видалення, триває повторна спроба" -#: executor/execReplication.c:311 parser/parse_cte.c:308 -#: parser/parse_oper.c:233 utils/adt/array_userfuncs.c:1348 -#: utils/adt/array_userfuncs.c:1491 utils/adt/arrayfuncs.c:3881 -#: utils/adt/arrayfuncs.c:4436 utils/adt/arrayfuncs.c:6446 -#: utils/adt/rowtypes.c:1230 +#: executor/execReplication.c:352 parser/parse_cte.c:302 +#: 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:6426 +#: utils/adt/rowtypes.c:1220 #, c-format msgid "could not identify an equality operator for type %s" msgstr "не вдалося визначити оператора рівності для типу %s" -#: executor/execReplication.c:642 executor/execReplication.c:648 +#: executor/execReplication.c:683 executor/execReplication.c:689 #, c-format msgid "cannot update table \"%s\"" msgstr "оновити таблицю \"%s\" не можна" -#: executor/execReplication.c:644 executor/execReplication.c:656 +#: executor/execReplication.c:685 executor/execReplication.c:697 #, c-format msgid "Column used in the publication WHERE expression is not part of the replica identity." msgstr "Стовпець, що використовується в виразі WHERE публікації не є частиною ідентифікації репліки." -#: executor/execReplication.c:650 executor/execReplication.c:662 +#: executor/execReplication.c:691 executor/execReplication.c:703 #, c-format msgid "Column list used by the publication does not cover the replica identity." msgstr "Список стовпців, який використовується публікацією, не охоплює ідентифікацію репліки." -#: executor/execReplication.c:654 executor/execReplication.c:660 +#: executor/execReplication.c:695 executor/execReplication.c:701 #, c-format msgid "cannot delete from table \"%s\"" msgstr "видалити дані з таблиці \"%s\" не можна" -#: executor/execReplication.c:680 +#: executor/execReplication.c:721 #, c-format msgid "cannot update table \"%s\" because it does not have a replica identity and publishes updates" msgstr "оновлення в таблиці \"%s\" неможливе, тому що в ній відсутній ідентифікатор репліки, і вона публікує оновлення" -#: executor/execReplication.c:682 +#: executor/execReplication.c:723 #, c-format msgid "To enable updating the table, set REPLICA IDENTITY using ALTER TABLE." msgstr "Щоб ця таблиця підтримувала оновлення, встановіть REPLICA IDENTITY, використавши ALTER TABLE." -#: executor/execReplication.c:686 +#: executor/execReplication.c:727 #, c-format msgid "cannot delete from table \"%s\" because it does not have a replica identity and publishes deletes" msgstr "видалення з таблиці \"%s\" неможливе, тому що в ній відсутній ідентифікатор репліки, і вона публікує видалення" -#: executor/execReplication.c:688 +#: executor/execReplication.c:729 #, c-format msgid "To enable deleting from the table, set REPLICA IDENTITY using ALTER TABLE." msgstr "Щоб ця таблиця підтримувала видалення, встановіть REPLICA IDENTITY, використавши ALTER TABLE." -#: executor/execReplication.c:704 +#: executor/execReplication.c:745 #, c-format msgid "cannot use relation \"%s.%s\" as logical replication target" msgstr "використовувати відношення \"%s.%s\" як ціль логічної реплікації, не можна" -#: executor/execSRF.c:316 +#: executor/execSRF.c:315 #, c-format msgid "rows returned by function are not all of the same row type" msgstr "рядки, які повернула функція, не мають однаковий тип рядка" -#: executor/execSRF.c:366 +#: executor/execSRF.c:365 #, c-format msgid "table-function protocol for value-per-call mode was not followed" msgstr "протокол функції-таблиці для режиму значення-на-виклик не дотримувався" -#: executor/execSRF.c:374 executor/execSRF.c:668 +#: executor/execSRF.c:373 executor/execSRF.c:667 #, c-format msgid "table-function protocol for materialize mode was not followed" msgstr "порушення протоколу табличної функції в режимі матеріалізації" -#: executor/execSRF.c:381 executor/execSRF.c:686 +#: executor/execSRF.c:380 executor/execSRF.c:685 #, c-format msgid "unrecognized table-function returnMode: %d" msgstr "нерозпізнаний режим повернення табличної функції: %d" -#: executor/execSRF.c:895 +#: executor/execSRF.c:894 #, c-format msgid "function returning setof record called in context that cannot accept type record" msgstr "функція, що повертає набір записів, викликана в контексті, що не може прийняти тип запису" -#: executor/execSRF.c:951 executor/execSRF.c:967 executor/execSRF.c:977 +#: executor/execSRF.c:950 executor/execSRF.c:966 executor/execSRF.c:976 #, c-format msgid "function return row and query-specified return row do not match" msgstr "тип результату функції відрізняється від типу рядка-результату запиту" -#: executor/execSRF.c:952 +#: executor/execSRF.c:951 #, c-format msgid "Returned row contains %d attribute, but query expects %d." msgid_plural "Returned row contains %d attributes, but query expects %d." @@ -13523,23 +13947,33 @@ msgstr[1] "Повернений рядок містить %d атрибути, msgstr[2] "Повернений рядок містить %d атрибутів, але запит очікував %d." msgstr[3] "Повернений рядок містить %d атрибутів, але запит очікував %d." -#: executor/execSRF.c:968 +#: executor/execSRF.c:967 #, c-format msgid "Returned type %s at ordinal position %d, but query expects %s." msgstr "Повернений тип %s у порядковій позиції %d, але запит очікував %s." -#: executor/execTuples.c:146 executor/execTuples.c:353 -#: executor/execTuples.c:521 executor/execTuples.c:713 +#: executor/execTuples.c:147 executor/execTuples.c:368 +#: executor/execTuples.c:563 executor/execTuples.c:772 #, c-format msgid "cannot retrieve a system column in this context" msgstr "не можна отримати системний стовпець в цьому контексті" -#: executor/execUtils.c:744 +#: executor/execTuples.c:163 executor/execTuples.c:580 +#, c-format +msgid "don't have transaction information for this type of tuple" +msgstr "" + +#: executor/execTuples.c:390 executor/execTuples.c:794 +#, c-format +msgid "don't have a storage tuple in this context" +msgstr "" + +#: executor/execUtils.c:713 #, c-format msgid "materialized view \"%s\" has not been populated" msgstr "матеріалізоване подання \"%s\" не було наповнене" -#: executor/execUtils.c:746 +#: executor/execUtils.c:715 #, c-format msgid "Use the REFRESH MATERIALIZED VIEW command." msgstr "Використайте команду REFRESH MATERIALIZED VIEW." @@ -13549,111 +13983,111 @@ msgstr "Використайте команду REFRESH MATERIALIZED VIEW." msgid "could not determine actual type of argument declared %s" msgstr "не вдалося визначити фактичний тип аргументу, оголошеного як %s" -#: executor/functions.c:512 +#: executor/functions.c:513 #, c-format msgid "cannot COPY to/from client in an SQL function" msgstr "у функції SQL не можна виконати COPY до/з клієнта" #. translator: %s is a SQL statement name -#: executor/functions.c:518 +#: executor/functions.c:519 #, c-format msgid "%s is not allowed in an SQL function" msgstr "функція SQL не дозволяє використання %s" #. translator: %s is a SQL statement name -#: executor/functions.c:526 executor/spi.c:1742 executor/spi.c:2635 +#: executor/functions.c:527 executor/spi.c:1741 executor/spi.c:2651 #, c-format msgid "%s is not allowed in a non-volatile function" msgstr "незмінна функція не дозволяє використання %s" -#: executor/functions.c:1450 +#: executor/functions.c:1452 #, c-format msgid "SQL function \"%s\" statement %d" msgstr "SQL функція \"%s\" оператор %d" -#: executor/functions.c:1476 +#: executor/functions.c:1478 #, c-format msgid "SQL function \"%s\" during startup" msgstr "SQL функція \"%s\" під час запуску" -#: executor/functions.c:1561 +#: executor/functions.c:1563 #, c-format msgid "calling procedures with output arguments is not supported in SQL functions" msgstr "виклик процедур з вихідними аргументами в функціях SQL не підтримується" -#: executor/functions.c:1694 executor/functions.c:1732 -#: executor/functions.c:1746 executor/functions.c:1836 -#: executor/functions.c:1869 executor/functions.c:1883 +#: executor/functions.c:1698 executor/functions.c:1736 +#: executor/functions.c:1750 executor/functions.c:1845 +#: executor/functions.c:1878 executor/functions.c:1892 #, c-format msgid "return type mismatch in function declared to return %s" msgstr "невідповідність типу повернення в функції, оголошеній як %s" -#: executor/functions.c:1696 +#: executor/functions.c:1700 #, c-format -msgid "Function's final statement must be SELECT or INSERT/UPDATE/DELETE RETURNING." -msgstr "Останнім оператором у функції повинен бути SELECT або INSERT/UPDATE/DELETE RETURNING." +msgid "Function's final statement must be SELECT or INSERT/UPDATE/DELETE/MERGE RETURNING." +msgstr "" -#: executor/functions.c:1734 +#: executor/functions.c:1738 #, c-format msgid "Final statement must return exactly one column." msgstr "Останній оператор повинен вертати один стовпець." -#: executor/functions.c:1748 +#: executor/functions.c:1752 #, c-format msgid "Actual return type is %s." msgstr "Фактичний тип повернення: %s." -#: executor/functions.c:1838 +#: executor/functions.c:1847 #, c-format msgid "Final statement returns too many columns." msgstr "Останній оператор вертає дуже багато стовпців." -#: executor/functions.c:1871 +#: executor/functions.c:1880 #, c-format msgid "Final statement returns %s instead of %s at column %d." msgstr "Останній оператор поветрає %s замість %s для стовпця %d." -#: executor/functions.c:1885 +#: executor/functions.c:1894 #, c-format msgid "Final statement returns too few columns." msgstr "Останній оператор вертає дуже мало стовпців." -#: executor/functions.c:1913 +#: executor/functions.c:1922 #, c-format msgid "return type %s is not supported for SQL functions" msgstr "для SQL функцій тип повернення %s не підтримується" -#: executor/nodeAgg.c:3937 executor/nodeWindowAgg.c:2993 +#: executor/nodeAgg.c:3936 executor/nodeWindowAgg.c:2976 #, c-format msgid "aggregate %u needs to have compatible input type and transition type" msgstr "агрегатна функція %u повинна мати сумісні тип введення і тип переходу" -#: executor/nodeAgg.c:3967 parser/parse_agg.c:680 parser/parse_agg.c:708 +#: executor/nodeAgg.c:3966 parser/parse_agg.c:680 parser/parse_agg.c:708 #, c-format msgid "aggregate function calls cannot be nested" msgstr "виклики агрегатних функцій не можуть бути вкладеними" -#: executor/nodeCustom.c:154 executor/nodeCustom.c:165 +#: executor/nodeCustom.c:144 executor/nodeCustom.c:155 #, c-format msgid "custom scan \"%s\" does not support MarkPos" msgstr "налаштовуване сканування \"%s\" не підтримує MarkPos" -#: executor/nodeHashjoin.c:1143 executor/nodeHashjoin.c:1173 +#: executor/nodeHashjoin.c:1131 executor/nodeHashjoin.c:1161 #, c-format msgid "could not rewind hash-join temporary file" msgstr "не вдалося перемотати назад тимчасовий файл хеш-з'єднання" -#: executor/nodeIndexonlyscan.c:238 +#: executor/nodeIndexonlyscan.c:239 #, c-format msgid "lossy distance functions are not supported in index-only scans" msgstr "функції неточної (lossy) дистанції не підтримуються в скануваннях лише по індексу" -#: executor/nodeLimit.c:374 +#: executor/nodeLimit.c:373 #, c-format msgid "OFFSET must not be negative" msgstr "OFFSET повинен бути не негативним" -#: executor/nodeLimit.c:400 +#: executor/nodeLimit.c:399 #, c-format msgid "LIMIT must not be negative" msgstr "LIMIT повинен бути не негативним" @@ -13668,73 +14102,74 @@ msgstr "RIGHT JOIN підтримується лише з умовами, які msgid "FULL JOIN is only supported with merge-joinable join conditions" msgstr "FULL JOIN підтримується лише з умовами, які допускають з'єднання злиттям" -#: executor/nodeModifyTable.c:234 +#: executor/nodeModifyTable.c:240 #, c-format msgid "Query has too few columns." msgstr "Запит повертає дуже мало стовпців." -#: executor/nodeModifyTable.c:1534 executor/nodeModifyTable.c:1608 +#: executor/nodeModifyTable.c:1540 executor/nodeModifyTable.c:1614 #, c-format msgid "tuple to be deleted was already modified by an operation triggered by the current command" msgstr "кортеж, який підлягає видаленню, вже змінений в операції, яка викликана поточною командою" -#: executor/nodeModifyTable.c:1763 +#: executor/nodeModifyTable.c:1769 #, c-format msgid "invalid ON UPDATE specification" msgstr "неприпустима специфікація ON UPDATE" -#: executor/nodeModifyTable.c:1764 +#: executor/nodeModifyTable.c:1770 #, c-format msgid "The result tuple would appear in a different partition than the original tuple." msgstr "Результуючий кортеж з'явиться в іншій секції в порівнянні з оригінальним кортежем." -#: executor/nodeModifyTable.c:2223 +#: executor/nodeModifyTable.c:2226 #, 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:2224 +#: executor/nodeModifyTable.c:2227 #, c-format msgid "A foreign key points to ancestor \"%s\" but not the root ancestor \"%s\"." msgstr "Зовнішній ключ вказує на предка \"%s\", але не на кореневого предка \"%s\"." -#: executor/nodeModifyTable.c:2227 +#: executor/nodeModifyTable.c:2230 #, c-format msgid "Consider defining the foreign key on table \"%s\"." msgstr "Розгляньте визначення зовнішнього ключа для таблиці \"%s\"." #. translator: %s is a SQL command name -#: executor/nodeModifyTable.c:2573 executor/nodeModifyTable.c:2975 +#: executor/nodeModifyTable.c:2577 executor/nodeModifyTable.c:3099 +#: executor/nodeModifyTable.c:3260 #, c-format msgid "%s command cannot affect row a second time" msgstr "команда %s не може вплинути на рядок вдруге" -#: executor/nodeModifyTable.c:2575 +#: executor/nodeModifyTable.c:2579 #, c-format msgid "Ensure that no rows proposed for insertion within the same command have duplicate constrained values." msgstr "Переконайтеся, що немає рядків для вставки з тією ж командою з дуплікованими обмежувальними значеннями." -#: executor/nodeModifyTable.c:2977 +#: executor/nodeModifyTable.c:3092 executor/nodeModifyTable.c:3253 #, c-format -msgid "Ensure that not more than one source row matches any one target row." -msgstr "Переконайтесь, що не більше ніж один вихідний рядок відповідає будь-якому одному цільовому рядку." +msgid "tuple to be updated or deleted was already modified by an operation triggered by the current command" +msgstr "кортеж, який підлягає оновленню або видаленню, вже змінено операцією, викликаною поточною командою" -#: executor/nodeModifyTable.c:3058 +#: executor/nodeModifyTable.c:3101 executor/nodeModifyTable.c:3262 #, c-format -msgid "tuple to be deleted was already moved to another partition due to concurrent update" -msgstr "кортеж, який підлягає видаленню, вже переміщено в іншу секцію в результаті паралельного оновлення" +msgid "Ensure that not more than one source row matches any one target row." +msgstr "Переконайтесь, що не більше ніж один вихідний рядок відповідає будь-якому одному цільовому рядку." -#: executor/nodeModifyTable.c:3097 +#: executor/nodeModifyTable.c:3170 #, c-format -msgid "tuple to be updated or deleted was already modified by an operation triggered by the current command" -msgstr "кортеж, який підлягає оновленню або видаленню, вже змінено операцією, викликаною поточною командою" +msgid "tuple to be merged was already moved to another partition due to concurrent update" +msgstr "" -#: executor/nodeSamplescan.c:260 +#: executor/nodeSamplescan.c:244 #, c-format msgid "TABLESAMPLE parameter cannot be null" msgstr "Параметр TABLESAMPLE не може бути null" -#: executor/nodeSamplescan.c:272 +#: executor/nodeSamplescan.c:256 #, c-format msgid "TABLESAMPLE REPEATABLE parameter cannot be null" msgstr "Параметр TABLESAMPLE REPEATABLE не може бути null" @@ -13745,7 +14180,7 @@ msgstr "Параметр TABLESAMPLE REPEATABLE не може бути null" msgid "more than one row returned by a subquery used as an expression" msgstr "підзапит, використаний в якості вираження, повернув більше ніж один рядок" -#: executor/nodeTableFuncscan.c:375 +#: executor/nodeTableFuncscan.c:370 #, c-format msgid "namespace URI must not be null" msgstr "простір імен URI не повинен бути null" @@ -13755,17 +14190,17 @@ msgstr "простір імен URI не повинен бути null" msgid "row filter expression must not be null" msgstr "вираз фільтру рядків не повинен бути null" -#: executor/nodeTableFuncscan.c:415 +#: executor/nodeTableFuncscan.c:416 #, c-format msgid "column filter expression must not be null" msgstr "вираз фільтру стовпців не повинен бути null" -#: executor/nodeTableFuncscan.c:416 +#: executor/nodeTableFuncscan.c:417 #, c-format msgid "Filter for column \"%s\" is null." msgstr "Фільтр для стовпця \"%s\" є null." -#: executor/nodeTableFuncscan.c:506 +#: executor/nodeTableFuncscan.c:507 #, c-format msgid "null is not allowed in column \"%s\"" msgstr "у стовпці \"%s\" не допускається null" @@ -13795,84 +14230,84 @@ msgstr "зсув кінця рамки не повинен бути null" msgid "frame ending offset must not be negative" msgstr "зсув кінця рамки не повинен бути негативним" -#: executor/nodeWindowAgg.c:2909 +#: executor/nodeWindowAgg.c:2892 #, c-format msgid "aggregate function %s does not support use as a window function" msgstr "агрегатна функція %s не підтримує використання в якості віконної функції" -#: executor/spi.c:242 executor/spi.c:342 +#: executor/spi.c:241 executor/spi.c:341 #, c-format msgid "invalid transaction termination" msgstr "неприпустиме завершення транзакції" -#: executor/spi.c:257 +#: executor/spi.c:256 #, c-format msgid "cannot commit while a subtransaction is active" msgstr "неможливо затвердити, коли підтранзакції активні" -#: executor/spi.c:348 +#: executor/spi.c:347 #, c-format msgid "cannot roll back while a subtransaction is active" msgstr "неможливо відкотити, коли підтранзакції активні" -#: executor/spi.c:472 +#: executor/spi.c:471 #, c-format msgid "transaction left non-empty SPI stack" msgstr "транзакція залишила непорожню групу SPI" -#: executor/spi.c:473 executor/spi.c:533 +#: executor/spi.c:472 executor/spi.c:532 #, c-format msgid "Check for missing \"SPI_finish\" calls." msgstr "Перевірте наявність виклику \"SPI_finish\"." -#: executor/spi.c:532 +#: executor/spi.c:531 #, c-format msgid "subtransaction left non-empty SPI stack" msgstr "підтранзакція залишила непорожню групу SPI" -#: executor/spi.c:1600 +#: executor/spi.c:1599 #, c-format msgid "cannot open multi-query plan as cursor" msgstr "неможливо відкрити план декількох запитів як курсор" #. translator: %s is name of a SQL command, eg INSERT -#: executor/spi.c:1610 +#: executor/spi.c:1609 #, c-format msgid "cannot open %s query as cursor" msgstr "неможливо відкрити запит %s як курсор" -#: executor/spi.c:1716 +#: executor/spi.c:1715 #, c-format msgid "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE is not supported" msgstr "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE не підтримується" -#: executor/spi.c:1717 parser/analyze.c:2912 +#: executor/spi.c:1716 parser/analyze.c:2928 #, c-format msgid "Scrollable cursors must be READ ONLY." msgstr "Курсори з прокручуванням повинні бути READ ONLY." -#: executor/spi.c:2474 +#: executor/spi.c:2490 #, c-format msgid "empty query does not return tuples" msgstr "пустий запит не повертає кортежі" #. translator: %s is name of a SQL command, eg INSERT -#: executor/spi.c:2548 +#: executor/spi.c:2564 #, c-format msgid "%s query does not return tuples" msgstr "%s запит не повертає кортежі" -#: executor/spi.c:2963 +#: executor/spi.c:2981 #, c-format msgid "SQL expression \"%s\"" msgstr "SQL вираз \"%s\"" -#: executor/spi.c:2968 +#: executor/spi.c:2986 #, c-format msgid "PL/pgSQL assignment \"%s\"" msgstr "PL/pgSQL присвоєння \"%s\"" -#: executor/spi.c:2971 +#: executor/spi.c:2989 #, c-format msgid "SQL statement \"%s\"" msgstr "SQL-оператор \"%s\"" @@ -13882,28 +14317,34 @@ msgstr "SQL-оператор \"%s\"" msgid "could not send tuple to shared-memory queue" msgstr "не вдалося передати кортеж у чергу в спільну пам'ять" -#: foreign/foreign.c:222 +#: foreign/foreign.c:225 +#, c-format +msgid "user mapping not found for user \"%s\", server \"%s\"" +msgstr "зіставлення користувача не знайдено для користувача \"%s\", сервер \"%s\"" + +#: foreign/foreign.c:336 optimizer/plan/createplan.c:7153 +#: optimizer/util/plancat.c:540 #, c-format -msgid "user mapping not found for \"%s\"" -msgstr "зіставлення користувача \"%s\" не знайдено" +msgid "access to non-system foreign table is restricted" +msgstr "" -#: foreign/foreign.c:647 storage/file/fd.c:3931 +#: foreign/foreign.c:660 #, c-format msgid "invalid option \"%s\"" msgstr "недійсний параметр \"%s\"" -#: foreign/foreign.c:649 +#: foreign/foreign.c:662 #, c-format msgid "Perhaps you meant the option \"%s\"." msgstr "Можливо, ви мали на увазі параметр \"%s\"." -#: foreign/foreign.c:651 +#: foreign/foreign.c:664 #, c-format msgid "There are no valid options in this context." msgstr "У цьому контексті немає припустимих варіантів." -#: lib/dshash.c:254 utils/mmgr/dsa.c:715 utils/mmgr/dsa.c:737 -#: utils/mmgr/dsa.c:818 +#: lib/dshash.c:254 utils/mmgr/dsa.c:708 utils/mmgr/dsa.c:730 +#: utils/mmgr/dsa.c:811 #, c-format msgid "Failed on DSA request of size %zu." msgstr "Не вдалося виконати запит DSA розміру %zu." @@ -13913,568 +14354,568 @@ msgstr "Не вдалося виконати запит DSA розміру %zu." msgid "expected SASL response, got message type %d" msgstr "очікувалася відповідь SASL, але отримано тип повідомлення %d" -#: libpq/auth-scram.c:270 +#: libpq/auth-scram.c:263 #, c-format msgid "client selected an invalid SASL authentication mechanism" msgstr "клієнт обрав неприпустимий механізм автентифікації SASL" -#: libpq/auth-scram.c:294 libpq/auth-scram.c:543 libpq/auth-scram.c:554 +#: libpq/auth-scram.c:287 libpq/auth-scram.c:536 libpq/auth-scram.c:547 #, c-format msgid "invalid SCRAM secret for user \"%s\"" msgstr "неприпустимий секрет SCRAM для користувача \"%s\"" -#: libpq/auth-scram.c:305 +#: libpq/auth-scram.c:298 #, c-format msgid "User \"%s\" does not have a valid SCRAM secret." msgstr "Користувач \"%s\" не має припустимого секрету SCRAM." -#: libpq/auth-scram.c:385 libpq/auth-scram.c:390 libpq/auth-scram.c:744 -#: libpq/auth-scram.c:752 libpq/auth-scram.c:857 libpq/auth-scram.c:870 -#: libpq/auth-scram.c:880 libpq/auth-scram.c:988 libpq/auth-scram.c:995 -#: libpq/auth-scram.c:1010 libpq/auth-scram.c:1025 libpq/auth-scram.c:1039 -#: libpq/auth-scram.c:1057 libpq/auth-scram.c:1072 libpq/auth-scram.c:1386 -#: libpq/auth-scram.c:1394 +#: libpq/auth-scram.c:378 libpq/auth-scram.c:383 libpq/auth-scram.c:737 +#: libpq/auth-scram.c:745 libpq/auth-scram.c:850 libpq/auth-scram.c:863 +#: libpq/auth-scram.c:873 libpq/auth-scram.c:981 libpq/auth-scram.c:988 +#: libpq/auth-scram.c:1003 libpq/auth-scram.c:1018 libpq/auth-scram.c:1032 +#: libpq/auth-scram.c:1050 libpq/auth-scram.c:1065 libpq/auth-scram.c:1379 +#: libpq/auth-scram.c:1387 #, c-format msgid "malformed SCRAM message" msgstr "неправильне повідомлення SCRAM" -#: libpq/auth-scram.c:386 +#: libpq/auth-scram.c:379 #, c-format msgid "The message is empty." msgstr "Повідомлення порожнє." -#: libpq/auth-scram.c:391 +#: libpq/auth-scram.c:384 #, c-format msgid "Message length does not match input length." msgstr "Довжина повідомлення не відповідає довжині вводу." -#: libpq/auth-scram.c:423 +#: libpq/auth-scram.c:416 #, c-format msgid "invalid SCRAM response" msgstr "неприпустима відповідь SCRAM" -#: libpq/auth-scram.c:424 +#: libpq/auth-scram.c:417 #, c-format msgid "Nonce does not match." msgstr "Одноразовий ідентифікатор не збігається." -#: libpq/auth-scram.c:500 +#: libpq/auth-scram.c:493 #, c-format msgid "could not generate random salt" msgstr "не вдалося згенерувати випадкову сіль" -#: libpq/auth-scram.c:745 +#: libpq/auth-scram.c:738 #, c-format msgid "Expected attribute \"%c\" but found \"%s\"." msgstr "Очікувався атрибут \"%c\", але знайдено \"%s\"." -#: libpq/auth-scram.c:753 libpq/auth-scram.c:881 +#: libpq/auth-scram.c:746 libpq/auth-scram.c:874 #, c-format msgid "Expected character \"=\" for attribute \"%c\"." msgstr "Очікувався символ \"=\" для атрибуту \"%c\"." -#: libpq/auth-scram.c:858 +#: libpq/auth-scram.c:851 #, c-format msgid "Attribute expected, but found end of string." msgstr "Очікувався атрибут, але знайдено кінець рядка." -#: libpq/auth-scram.c:871 +#: libpq/auth-scram.c:864 #, c-format msgid "Attribute expected, but found invalid character \"%s\"." msgstr "Очікувався атрибут, але знайдено неприпустимий символ \"%s\"." -#: libpq/auth-scram.c:989 libpq/auth-scram.c:1011 +#: libpq/auth-scram.c:982 libpq/auth-scram.c:1004 #, c-format msgid "The client selected SCRAM-SHA-256-PLUS, but the SCRAM message does not include channel binding data." msgstr "Клієнт обрав алгоритм SCRAM-SHA-256-PLUS, але повідомлення SCRAM не містить даних зв’язування каналів." -#: libpq/auth-scram.c:996 libpq/auth-scram.c:1026 +#: libpq/auth-scram.c:989 libpq/auth-scram.c:1019 #, c-format msgid "Comma expected, but found character \"%s\"." msgstr "Очікувалась кома, але знайдено символ \"%s\"." -#: libpq/auth-scram.c:1017 +#: libpq/auth-scram.c:1010 #, c-format msgid "SCRAM channel binding negotiation error" msgstr "Помилка узгодження зв’язування каналів SCRAM" -#: libpq/auth-scram.c:1018 +#: libpq/auth-scram.c:1011 #, c-format msgid "The client supports SCRAM channel binding but thinks the server does not. However, this server does support channel binding." msgstr "Клієнт підтримує зв’язування каналів SCRAM, але думає, що сервер не підтримує. Однак, сервер теж підтримує зв’язування каналів." -#: libpq/auth-scram.c:1040 +#: libpq/auth-scram.c:1033 #, c-format msgid "The client selected SCRAM-SHA-256 without channel binding, but the SCRAM message includes channel binding data." msgstr "Клієнт обрав алгоритм SCRAM-SHA-256 без зв’язування каналів, але повідомлення SCRAM містить дані зв’язування каналів." -#: libpq/auth-scram.c:1051 +#: libpq/auth-scram.c:1044 #, c-format msgid "unsupported SCRAM channel-binding type \"%s\"" msgstr "непідтримуваний тип зв'язування каналів SCRAM \"%s\"" -#: libpq/auth-scram.c:1058 +#: libpq/auth-scram.c:1051 #, c-format msgid "Unexpected channel-binding flag \"%s\"." msgstr "Неочікувана позначка зв'язування каналів \"%s\"." -#: libpq/auth-scram.c:1068 +#: libpq/auth-scram.c:1061 #, c-format msgid "client uses authorization identity, but it is not supported" msgstr "клієнт використовує ідентифікатор для авторизації, але це не підтримується" -#: libpq/auth-scram.c:1073 +#: libpq/auth-scram.c:1066 #, c-format msgid "Unexpected attribute \"%s\" in client-first-message." msgstr "Неочікуваний атрибут \"%s\" у першому повідомленні клієнта." -#: libpq/auth-scram.c:1089 +#: libpq/auth-scram.c:1082 #, c-format msgid "client requires an unsupported SCRAM extension" msgstr "клієнт потребує непідтримуване розширення SCRAM" -#: libpq/auth-scram.c:1103 +#: libpq/auth-scram.c:1096 #, c-format msgid "non-printable characters in SCRAM nonce" msgstr "недруковані символи в одноразовому ідентифікаторі SCRAM" -#: libpq/auth-scram.c:1234 +#: libpq/auth-scram.c:1227 #, c-format msgid "could not generate random nonce" msgstr "не вдалося згенерувати випадковий одноразовий ідентифікатор" -#: libpq/auth-scram.c:1244 +#: libpq/auth-scram.c:1237 #, c-format msgid "could not encode random nonce" msgstr "не вдалося кодувати випадковий одноразовий ідентифікатор" -#: libpq/auth-scram.c:1350 +#: libpq/auth-scram.c:1343 #, c-format msgid "SCRAM channel binding check failed" msgstr "Помилка перевірки зв'язування каналів SCRAM" -#: libpq/auth-scram.c:1368 +#: libpq/auth-scram.c:1361 #, c-format msgid "unexpected SCRAM channel-binding attribute in client-final-message" msgstr "неочікуваний атрибут зв'язування каналів SCRAM в останньому повідомленні клієнта" -#: libpq/auth-scram.c:1387 +#: libpq/auth-scram.c:1380 #, c-format msgid "Malformed proof in client-final-message." msgstr "Неправильне підтвердження в останньому повідомленні клієнта." -#: libpq/auth-scram.c:1395 +#: libpq/auth-scram.c:1388 #, c-format msgid "Garbage found at the end of client-final-message." msgstr "Сміття знайдено в кінці останнього повідомлення клієнта." -#: libpq/auth.c:271 +#: libpq/auth.c:269 #, c-format msgid "authentication failed for user \"%s\": host rejected" msgstr "користувач \"%s\" не пройшов автентифікацію: відхилений хост" -#: libpq/auth.c:274 +#: libpq/auth.c:272 #, c-format msgid "\"trust\" authentication failed for user \"%s\"" msgstr "користувач \"%s\" не пройшов автентифікацію \"trust\"" -#: libpq/auth.c:277 +#: libpq/auth.c:275 #, c-format msgid "Ident authentication failed for user \"%s\"" msgstr "Користувач \"%s\" не пройшов автентифікацію Ident" -#: libpq/auth.c:280 +#: libpq/auth.c:278 #, c-format msgid "Peer authentication failed for user \"%s\"" msgstr "Користувач \"%s\" не пройшов автентифікацію Peer" -#: libpq/auth.c:285 +#: libpq/auth.c:283 #, c-format msgid "password authentication failed for user \"%s\"" msgstr "користувач \"%s\" не пройшов автентифікацію за допомогою пароля" -#: libpq/auth.c:290 +#: libpq/auth.c:288 #, c-format msgid "GSSAPI authentication failed for user \"%s\"" msgstr "Користувач \"%s\" не пройшов автентифікацію GSSAPI" -#: libpq/auth.c:293 +#: libpq/auth.c:291 #, c-format msgid "SSPI authentication failed for user \"%s\"" msgstr "Користувач \"%s\" не пройшов автентифікацію SSPI" -#: libpq/auth.c:296 +#: libpq/auth.c:294 #, c-format msgid "PAM authentication failed for user \"%s\"" msgstr "Користувач \"%s\" не пройшов автентифікацію PAM" -#: libpq/auth.c:299 +#: libpq/auth.c:297 #, c-format msgid "BSD authentication failed for user \"%s\"" msgstr "Користувач \"%s\" не пройшов автентифікацію BSD" -#: libpq/auth.c:302 +#: libpq/auth.c:300 #, c-format msgid "LDAP authentication failed for user \"%s\"" msgstr "Користувач \"%s\" не пройшов автентифікацію LDAP" -#: libpq/auth.c:305 +#: libpq/auth.c:303 #, c-format msgid "certificate authentication failed for user \"%s\"" msgstr "користувач \"%s\" не пройшов автентифікацію за сертифікатом" -#: libpq/auth.c:308 +#: libpq/auth.c:306 #, c-format msgid "RADIUS authentication failed for user \"%s\"" msgstr "Користувач \"%s\" не пройшов автентифікацію RADIUS" -#: libpq/auth.c:311 +#: libpq/auth.c:309 #, c-format msgid "authentication failed for user \"%s\": invalid authentication method" msgstr "користувач \"%s\" не пройшов автентифікацію: неприпустимий метод автентифікації" -#: libpq/auth.c:315 +#: libpq/auth.c:313 #, c-format msgid "Connection matched file \"%s\" line %d: \"%s\"" -msgstr "З'єднання відповідає файлу \"%s\" рядку %d: \"%s\"" +msgstr "З'єднання відповідає файлу \"%s\" рядок %d: \"%s\"" -#: libpq/auth.c:359 +#: libpq/auth.c:357 #, c-format msgid "authentication identifier set more than once" msgstr "ідентифікатор автентифікації встановлено більш ніж один раз" -#: libpq/auth.c:360 +#: libpq/auth.c:358 #, c-format msgid "previous identifier: \"%s\"; new identifier: \"%s\"" msgstr "попередній ідентифікатор: \"%s\"; новий ідентифікатор: \"%s\"" -#: libpq/auth.c:370 +#: libpq/auth.c:368 #, c-format msgid "connection authenticated: identity=\"%s\" method=%s (%s:%d)" msgstr "підключення автентифіковано: ідентифікатор=\"%s\" метод=%s (%s:%d)" -#: libpq/auth.c:410 +#: libpq/auth.c:408 #, c-format msgid "client certificates can only be checked if a root certificate store is available" msgstr "сертифікати клієнтів можуть перевірятися, лише якщо доступне сховище кореневих сертифікатів" -#: libpq/auth.c:421 +#: libpq/auth.c:419 #, c-format msgid "connection requires a valid client certificate" msgstr "підключення потребує припустимий сертифікат клієнта" -#: libpq/auth.c:452 libpq/auth.c:498 +#: libpq/auth.c:450 libpq/auth.c:496 msgid "GSS encryption" msgstr "Шифрування GSS" -#: libpq/auth.c:455 libpq/auth.c:501 +#: libpq/auth.c:453 libpq/auth.c:499 msgid "SSL encryption" msgstr "Шифрування SSL" -#: libpq/auth.c:457 libpq/auth.c:503 +#: libpq/auth.c:455 libpq/auth.c:501 msgid "no encryption" msgstr "без шифрування" #. translator: last %s describes encryption state -#: libpq/auth.c:463 +#: libpq/auth.c:461 #, 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:470 +#: libpq/auth.c:468 #, 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:508 +#: libpq/auth.c:506 #, c-format msgid "Client IP address resolved to \"%s\", forward lookup matches." msgstr "IP-адреса клієнта дозволяється в \"%s\", відповідає прямому перетворенню." -#: libpq/auth.c:511 +#: libpq/auth.c:509 #, c-format msgid "Client IP address resolved to \"%s\", forward lookup not checked." msgstr "IP-адреса клієнта дозволяється в \"%s\", пряме перетворення не перевірялося." -#: libpq/auth.c:514 +#: libpq/auth.c:512 #, c-format msgid "Client IP address resolved to \"%s\", forward lookup does not match." msgstr "IP-адреса клієнта дозволяється в \"%s\", не відповідає прямому перетворенню." -#: libpq/auth.c:517 +#: libpq/auth.c:515 #, c-format msgid "Could not translate client host name \"%s\" to IP address: %s." msgstr "Перекласти ім'я клієнтського хосту \"%s\" в IP-адресу: %s, не вдалося." -#: libpq/auth.c:522 +#: libpq/auth.c:520 #, 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:530 +#: libpq/auth.c:528 #, 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:538 +#: libpq/auth.c:536 #, 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:711 +#: libpq/auth.c:656 +#, c-format +msgid "connection authenticated: user=\"%s\" method=%s (%s:%d)" +msgstr "підключення автентифіковано: user=\"%s\" method=%s (%s:%d)" + +#: libpq/auth.c:725 #, c-format msgid "expected password response, got message type %d" msgstr "очікувалася відповід з паролем, але отримано тип повідомлення %d" -#: libpq/auth.c:732 +#: libpq/auth.c:746 #, c-format msgid "invalid password packet size" msgstr "неприпустимий розмір пакету з паролем" -#: libpq/auth.c:750 +#: libpq/auth.c:764 #, c-format msgid "empty password returned by client" msgstr "клієнт повернув пустий пароль" -#: libpq/auth.c:877 libpq/hba.c:1727 -#, c-format -msgid "MD5 authentication is not supported when \"db_user_namespace\" is enabled" -msgstr "Автентифікація MD5 не підтримується, коли увімкнуто режим \"db_user_namespace\"" - -#: libpq/auth.c:883 +#: libpq/auth.c:892 #, c-format msgid "could not generate random MD5 salt" msgstr "не вдалося створити випадкову сіль для MD5" -#: libpq/auth.c:934 libpq/be-secure-gssapi.c:540 +#: libpq/auth.c:943 libpq/be-secure-gssapi.c:540 #, c-format msgid "could not set environment: %m" msgstr "не вдалося встановити середовище: %m" -#: libpq/auth.c:973 +#: libpq/auth.c:982 #, c-format msgid "expected GSS response, got message type %d" msgstr "очікувалася відповідь GSS, але отримано тип повідомлення %d" -#: libpq/auth.c:1039 +#: libpq/auth.c:1048 msgid "accepting GSS security context failed" msgstr "прийняти контекст безпеки GSS не вдалось" -#: libpq/auth.c:1080 +#: libpq/auth.c:1089 msgid "retrieving GSS user name failed" msgstr "отримання ім'я користувача GSS не виконано" -#: libpq/auth.c:1226 +#: libpq/auth.c:1235 msgid "could not acquire SSPI credentials" msgstr "не вдалось отримати облікові дані SSPI" -#: libpq/auth.c:1251 +#: libpq/auth.c:1260 #, c-format msgid "expected SSPI response, got message type %d" msgstr "очікувалась відповідь SSPI, але отримано тип повідомлення %d" -#: libpq/auth.c:1329 +#: libpq/auth.c:1338 msgid "could not accept SSPI security context" msgstr "прийняти контекст безпеки SSPI не вдалося" -#: libpq/auth.c:1370 +#: libpq/auth.c:1379 msgid "could not get token from SSPI security context" msgstr "не вдалося отримати маркер з контексту безпеки SSPI" -#: libpq/auth.c:1506 libpq/auth.c:1525 +#: libpq/auth.c:1515 libpq/auth.c:1534 #, c-format msgid "could not translate name" msgstr "не вдалося перекласти ім'я" -#: libpq/auth.c:1538 +#: libpq/auth.c:1547 #, c-format msgid "realm name too long" msgstr "ім'я області дуже довге" -#: libpq/auth.c:1553 +#: libpq/auth.c:1562 #, c-format msgid "translated account name too long" msgstr "ім'я перекладеного облікового запису дуже довге" -#: libpq/auth.c:1732 +#: libpq/auth.c:1741 #, c-format msgid "could not create socket for Ident connection: %m" msgstr "не вдалося створити сокет для підключення до серверу Ident: %m" -#: libpq/auth.c:1747 +#: libpq/auth.c:1756 #, c-format msgid "could not bind to local address \"%s\": %m" msgstr "не вдалося прив'язатися до локальної адреси \"%s\": %m" -#: libpq/auth.c:1759 +#: libpq/auth.c:1768 #, c-format msgid "could not connect to Ident server at address \"%s\", port %s: %m" msgstr "не вдалося підключитися до Ident-серверу за адресою \"%s\", порт %s: %m" -#: libpq/auth.c:1781 +#: libpq/auth.c:1790 #, c-format msgid "could not send query to Ident server at address \"%s\", port %s: %m" msgstr "не вдалося надіслати запит до Ident -серверу за адресою \"%s\", порт %s: %m" -#: libpq/auth.c:1798 +#: libpq/auth.c:1807 #, c-format msgid "could not receive response from Ident server at address \"%s\", port %s: %m" msgstr "не вдалося отримати відповідь від Ident-серверу за адресою \"%s\", порт %s: %m" -#: libpq/auth.c:1808 +#: libpq/auth.c:1817 #, c-format msgid "invalidly formatted response from Ident server: \"%s\"" msgstr "неприпустимо форматована відповідь від Ident-серверу: \"%s\"" -#: libpq/auth.c:1861 +#: libpq/auth.c:1870 #, c-format msgid "peer authentication is not supported on this platform" msgstr "автентифікація peer не підтримується на цій платформі" -#: libpq/auth.c:1865 +#: libpq/auth.c:1874 #, c-format msgid "could not get peer credentials: %m" msgstr "не вдалося отримати облікові дані користувача через peer: %m" -#: libpq/auth.c:1877 +#: libpq/auth.c:1886 #, c-format msgid "could not look up local user ID %ld: %s" msgstr "не вдалося знайти локального користувача за ідентифікатором (%ld): %s" -#: libpq/auth.c:1979 +#: libpq/auth.c:1988 #, c-format msgid "error from underlying PAM layer: %s" msgstr "помилка у нижчому шарі PAM: %s" -#: libpq/auth.c:1990 +#: libpq/auth.c:1999 #, c-format msgid "unsupported PAM conversation %d/\"%s\"" msgstr "непідтримувана розмова PAM %d/\"%s\"" -#: libpq/auth.c:2047 +#: libpq/auth.c:2056 #, c-format msgid "could not create PAM authenticator: %s" msgstr "не вдалося створити автентифікатор PAM: %s" -#: libpq/auth.c:2058 +#: libpq/auth.c:2067 #, c-format msgid "pam_set_item(PAM_USER) failed: %s" msgstr "помилка в pam_set_item(PAM_USER): %s" -#: libpq/auth.c:2090 +#: libpq/auth.c:2099 #, c-format msgid "pam_set_item(PAM_RHOST) failed: %s" msgstr "помилка в pam_set_item(PAM_RHOST): %s" -#: libpq/auth.c:2102 +#: libpq/auth.c:2111 #, c-format msgid "pam_set_item(PAM_CONV) failed: %s" msgstr "помилка в pam_set_item(PAM_CONV): %s" -#: libpq/auth.c:2115 +#: libpq/auth.c:2124 #, c-format msgid "pam_authenticate failed: %s" msgstr "помилка в pam_authenticate: %sв" -#: libpq/auth.c:2128 +#: libpq/auth.c:2137 #, c-format msgid "pam_acct_mgmt failed: %s" msgstr "помилка в pam_acct_mgmt: %s" -#: libpq/auth.c:2139 +#: libpq/auth.c:2148 #, c-format msgid "could not release PAM authenticator: %s" msgstr "не вдалося вивільнити автентифікатор PAM: %s" -#: libpq/auth.c:2219 +#: libpq/auth.c:2228 #, c-format msgid "could not initialize LDAP: error code %d" msgstr "не вдалося ініціалізувати протокол LDAP: код помилки %d" -#: libpq/auth.c:2256 +#: libpq/auth.c:2265 #, c-format msgid "could not extract domain name from ldapbasedn" msgstr "не вдалося отримати назву домена з ldapbasedn" -#: libpq/auth.c:2264 +#: libpq/auth.c:2273 #, c-format msgid "LDAP authentication could not find DNS SRV records for \"%s\"" msgstr "Автентифікація LDAP не змогла знайти записи DNS SRV для \"%s\"" -#: libpq/auth.c:2266 +#: libpq/auth.c:2275 #, c-format msgid "Set an LDAP server name explicitly." msgstr "Встановіть назву сервера LDAP, явно." -#: libpq/auth.c:2318 +#: libpq/auth.c:2327 #, c-format msgid "could not initialize LDAP: %s" msgstr "не вдалося ініціалізувати протокол LDAP: %s" -#: libpq/auth.c:2328 +#: libpq/auth.c:2337 #, c-format msgid "ldaps not supported with this LDAP library" msgstr "протокол ldaps з поточною бібліотекою LDAP не підтримується" -#: libpq/auth.c:2336 +#: libpq/auth.c:2345 #, c-format msgid "could not initialize LDAP: %m" msgstr "не вдалося ініціалізувати протокол LDAP: %m" -#: libpq/auth.c:2346 +#: libpq/auth.c:2355 #, c-format msgid "could not set LDAP protocol version: %s" msgstr "не вдалося встановити версію протоколу LDAP: %s" -#: libpq/auth.c:2362 +#: libpq/auth.c:2371 #, c-format msgid "could not start LDAP TLS session: %s" msgstr "не вдалося почати сеанс протоколу LDAP TLS: %s" -#: libpq/auth.c:2439 +#: libpq/auth.c:2448 #, c-format msgid "LDAP server not specified, and no ldapbasedn" msgstr "Сервер LDAP не вказаний, і не ldapbasedn" -#: libpq/auth.c:2446 +#: libpq/auth.c:2455 #, c-format msgid "LDAP server not specified" msgstr "LDAP-сервер не вказаний" -#: libpq/auth.c:2508 +#: libpq/auth.c:2517 #, c-format msgid "invalid character in user name for LDAP authentication" msgstr "неприпустимий символ в імені користувача для автентифікації LDAP" -#: libpq/auth.c:2525 +#: libpq/auth.c:2534 #, 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:2555 +#: libpq/auth.c:2564 #, c-format msgid "could not search LDAP for filter \"%s\" on server \"%s\": %s" msgstr "не вдалося виконати LDAP-пошук за фільтром \"%s\" на сервері \"%s\": %s" -#: libpq/auth.c:2571 +#: libpq/auth.c:2580 #, c-format msgid "LDAP user \"%s\" does not exist" msgstr "LDAP-користувач \"%s\" не існує" -#: libpq/auth.c:2572 +#: libpq/auth.c:2581 #, c-format msgid "LDAP search for filter \"%s\" on server \"%s\" returned no entries." msgstr "LDAP-пошук за фільтром \"%s\" на сервері \"%s\" не повернув записів." -#: libpq/auth.c:2576 +#: libpq/auth.c:2585 #, c-format msgid "LDAP user \"%s\" is not unique" msgstr "LDAP-користувач \"%s\" не унікальний" -#: libpq/auth.c:2577 +#: libpq/auth.c:2586 #, 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." @@ -14483,137 +14924,132 @@ msgstr[1] "LDAP-пошук за фільтром \"%s\" на сервері \"%s msgstr[2] "LDAP-пошук за фільтром \"%s\" на сервері \"%s\" повернув %d записів." msgstr[3] "LDAP-пошук за фільтром \"%s\" на сервері \"%s\" повернув %d записів." -#: libpq/auth.c:2597 +#: libpq/auth.c:2606 #, 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:2618 -#, c-format -msgid "could not unbind after searching for user \"%s\" on server \"%s\"" -msgstr "не вдалося відв'язатись після пошуку користувача \"%s\" на сервері \"%s\"" - -#: libpq/auth.c:2649 +#: libpq/auth.c:2633 #, c-format msgid "LDAP login failed for user \"%s\" on server \"%s\": %s" msgstr "Помилка під час реєстрації в протоколі LDAP користувача \"%s\" на сервері \"%s\": %s" -#: libpq/auth.c:2681 +#: libpq/auth.c:2665 #, c-format msgid "LDAP diagnostics: %s" msgstr "Діагностика LDAP: %s" -#: libpq/auth.c:2719 +#: libpq/auth.c:2703 #, c-format msgid "certificate authentication failed for user \"%s\": client certificate contains no user name" msgstr "помилка автентифікації сертифіката для користувача \"%s\": сертифікат клієнта не містить імені користувача" -#: libpq/auth.c:2740 +#: libpq/auth.c:2724 #, c-format msgid "certificate authentication failed for user \"%s\": unable to retrieve subject DN" msgstr "помилка автентифікації сертифікату для користувача \"%s\": не вдалося отримати DN суб'єкта" -#: libpq/auth.c:2763 +#: libpq/auth.c:2747 #, c-format msgid "certificate validation (clientcert=verify-full) failed for user \"%s\": DN mismatch" msgstr "помилка перевірки сертифікату (clientcert=verify-full) для користувача \"%s\": DN невідповідність" -#: libpq/auth.c:2768 +#: libpq/auth.c:2752 #, c-format msgid "certificate validation (clientcert=verify-full) failed for user \"%s\": CN mismatch" msgstr "помилка перевірки сертифікату (clientcert=verify-full) для користувача \"%s\": CN невідповідність" -#: libpq/auth.c:2870 +#: libpq/auth.c:2854 #, c-format msgid "RADIUS server not specified" msgstr "RADIUS-сервер не вказаний" -#: libpq/auth.c:2877 +#: libpq/auth.c:2861 #, c-format msgid "RADIUS secret not specified" msgstr "Секрет RADIUS не вказаний" -#: libpq/auth.c:2891 +#: libpq/auth.c:2875 #, c-format msgid "RADIUS authentication does not support passwords longer than %d characters" msgstr "Автентифікація RADIUS не підтримує паролі довші ніж %d символів" -#: libpq/auth.c:2993 libpq/hba.c:2369 +#: libpq/auth.c:2977 libpq/hba.c:2352 #, c-format msgid "could not translate RADIUS server name \"%s\" to address: %s" msgstr "не вдалося перетворити ім'я серверу RADIUS \"%s\" в адресу: %s" -#: libpq/auth.c:3007 +#: libpq/auth.c:2991 #, c-format msgid "could not generate random encryption vector" msgstr "не вдалося створити випадковий вектор шифрування" -#: libpq/auth.c:3044 +#: libpq/auth.c:3028 #, c-format msgid "could not perform MD5 encryption of password: %s" msgstr "не вдалося виконати MD5 шифрування паролю: %s" -#: libpq/auth.c:3071 +#: libpq/auth.c:3055 #, c-format msgid "could not create RADIUS socket: %m" msgstr "не вдалося створити сокет RADIUS: %m" -#: libpq/auth.c:3087 +#: libpq/auth.c:3071 #, c-format msgid "could not bind local RADIUS socket: %m" msgstr "не вдалося прив'язатися до локального сокету RADIUS: %m" -#: libpq/auth.c:3097 +#: libpq/auth.c:3081 #, c-format msgid "could not send RADIUS packet: %m" msgstr "не вдалося відправити пакет RADIUS: %m" -#: libpq/auth.c:3131 libpq/auth.c:3157 +#: libpq/auth.c:3115 libpq/auth.c:3141 #, c-format msgid "timeout waiting for RADIUS response from %s" msgstr "перевищено час очікування відповіді RADIUS від %s" -#: libpq/auth.c:3150 +#: libpq/auth.c:3134 #, c-format msgid "could not check status on RADIUS socket: %m" msgstr "не вдалося перевірити статус сокету RADIUS: %m" -#: libpq/auth.c:3180 +#: libpq/auth.c:3164 #, c-format msgid "could not read RADIUS response: %m" msgstr "не вдалося прочитати відповідь RADIUS: %m" -#: libpq/auth.c:3188 +#: libpq/auth.c:3172 #, c-format msgid "RADIUS response from %s was sent from incorrect port: %d" msgstr "Відповідь RADIUS від %s була відправлена з неправильного порту: %d" -#: libpq/auth.c:3196 +#: libpq/auth.c:3180 #, c-format msgid "RADIUS response from %s too short: %d" msgstr "Занадто коротка відповідь RADIUS від %s: %d" -#: libpq/auth.c:3203 +#: libpq/auth.c:3187 #, c-format msgid "RADIUS response from %s has corrupt length: %d (actual length %d)" msgstr "У відповіді RADIUS від %s покшоджена довжина: %d (фактична довжина %d)" -#: libpq/auth.c:3211 +#: libpq/auth.c:3195 #, c-format msgid "RADIUS response from %s is to a different request: %d (should be %d)" msgstr "Прийшла відповідь RADIUS від %s на інший запит: %d (очікувалася %d)" -#: libpq/auth.c:3236 +#: libpq/auth.c:3220 #, c-format msgid "could not perform MD5 encryption of received packet: %s" msgstr "не вдалося виконати MD5 шифрування отриманого пакету: %s" -#: libpq/auth.c:3246 +#: libpq/auth.c:3230 #, c-format msgid "RADIUS response from %s has incorrect MD5 signature" msgstr "Відповідь RADIUS від %s має неправильний підпис MD5" -#: libpq/auth.c:3264 +#: libpq/auth.c:3248 #, c-format msgid "RADIUS response from %s has invalid code (%d) for user \"%s\"" msgstr "Відповідь RADIUS від %s має неприпустимий код (%d) для користувача \"%s\"" @@ -14670,50 +15106,37 @@ msgstr "не вдалося написати файл сервера \"%s\": %m" msgid "large object read request is too large" msgstr "запит на читання великого об'єкту має завеликий розмір" -#: libpq/be-fsstubs.c:816 utils/adt/genfile.c:262 utils/adt/genfile.c:294 -#: utils/adt/genfile.c:315 +#: libpq/be-fsstubs.c:816 utils/adt/genfile.c:248 utils/adt/genfile.c:269 #, c-format msgid "requested length cannot be negative" msgstr "запитувана довжина не може бути негативною" -#: libpq/be-fsstubs.c:871 storage/large_object/inv_api.c:298 -#: storage/large_object/inv_api.c:310 storage/large_object/inv_api.c:507 -#: storage/large_object/inv_api.c:618 storage/large_object/inv_api.c:808 -#, c-format -msgid "permission denied for large object %u" -msgstr "немає дозволу для великого об'єкта %u" - -#: libpq/be-secure-common.c:71 -#, c-format -msgid "could not read from command \"%s\": %m" -msgstr "не вдалося прочитати висновок команди \"%s\": %m" - -#: libpq/be-secure-common.c:91 +#: libpq/be-secure-common.c:94 #, c-format msgid "command \"%s\" failed" msgstr "помилка команди \"%s\"" -#: libpq/be-secure-common.c:119 +#: libpq/be-secure-common.c:123 #, c-format msgid "could not access private key file \"%s\": %m" msgstr "не вдалось отримати доступ до файла закритиго ключа \"%s\": %m" -#: libpq/be-secure-common.c:129 +#: libpq/be-secure-common.c:133 #, c-format msgid "private key file \"%s\" is not a regular file" msgstr "файл закритого ключа \"%s\" не є звичайним" -#: libpq/be-secure-common.c:155 +#: libpq/be-secure-common.c:159 #, c-format msgid "private key file \"%s\" must be owned by the database user or root" msgstr "файл закритого ключа \"%s\" повинен належати користувачу бази даних або коріня" -#: libpq/be-secure-common.c:165 +#: libpq/be-secure-common.c:169 #, c-format msgid "private key file \"%s\" has group or world access" msgstr "до файлу закритого ключа \"%s\" мають доступ група або всі" -#: libpq/be-secure-common.c:167 +#: libpq/be-secure-common.c:171 #, c-format 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) або менше, якщо він належить кореню." @@ -14759,1077 +15182,1055 @@ msgstr "не вдалося прийняти контекст безпеки GSS msgid "GSSAPI size check error" msgstr "помилка перевірки розміру GSSAPI" -#: libpq/be-secure-openssl.c:125 +#: libpq/be-secure-openssl.c:131 #, c-format msgid "could not create SSL context: %s" msgstr "не вдалося створити контекст SSL: %s" -#: libpq/be-secure-openssl.c:151 +#: libpq/be-secure-openssl.c:157 #, c-format msgid "could not load server certificate file \"%s\": %s" msgstr "не вдалося завантажити сертифікат серверу \"%s\": %s" -#: libpq/be-secure-openssl.c:171 +#: libpq/be-secure-openssl.c:177 #, c-format msgid "private key file \"%s\" cannot be reloaded because it requires a passphrase" msgstr "файл закритого ключа \"%s\" не можна перезавантажити, тому що це потребує парольну фразу" -#: libpq/be-secure-openssl.c:176 +#: libpq/be-secure-openssl.c:182 #, c-format msgid "could not load private key file \"%s\": %s" msgstr "не вдалось завантажити файл закритого ключа \"%s\": %s" -#: libpq/be-secure-openssl.c:185 +#: libpq/be-secure-openssl.c:191 #, c-format msgid "check of private key failed: %s" msgstr "помилка під час перевірки приватного ключа: %s" #. translator: first %s is a GUC option name, second %s is its value -#: libpq/be-secure-openssl.c:198 libpq/be-secure-openssl.c:221 +#: libpq/be-secure-openssl.c:204 libpq/be-secure-openssl.c:227 #, c-format msgid "\"%s\" setting \"%s\" not supported by this build" msgstr "\"%s\" налаштування \"%s\" не підтримується цією збіркою" -#: libpq/be-secure-openssl.c:208 +#: libpq/be-secure-openssl.c:214 #, c-format msgid "could not set minimum SSL protocol version" msgstr "не вдалося встановити мінімальну версію протоколу SSL" -#: libpq/be-secure-openssl.c:231 +#: libpq/be-secure-openssl.c:237 #, c-format msgid "could not set maximum SSL protocol version" msgstr "не вдалося встановити максимальну версію протоколу SSL" -#: libpq/be-secure-openssl.c:247 +#: libpq/be-secure-openssl.c:253 #, c-format msgid "could not set SSL protocol version range" msgstr "не вдалося встановити діапазон версій протоколу SSL" -#: libpq/be-secure-openssl.c:248 +#: libpq/be-secure-openssl.c:254 #, c-format msgid "\"%s\" cannot be higher than \"%s\"" msgstr "\"%s\" не може бути більше, ніж \"%s\"" -#: libpq/be-secure-openssl.c:285 +#: libpq/be-secure-openssl.c:307 #, c-format msgid "could not set the cipher list (no valid ciphers available)" msgstr "не вдалося встановити список шифрів (немає дійсних шифрів)" -#: libpq/be-secure-openssl.c:305 +#: libpq/be-secure-openssl.c:327 #, c-format msgid "could not load root certificate file \"%s\": %s" msgstr "не вдалося завантажити файл кореневого сертифікату \"%s\": %s" -#: libpq/be-secure-openssl.c:354 +#: libpq/be-secure-openssl.c:376 #, c-format msgid "could not load SSL certificate revocation list file \"%s\": %s" msgstr "не вдалося завантажити файл зі списком відкликаних сертифікатів SSL \"%s\": %s" -#: libpq/be-secure-openssl.c:362 +#: libpq/be-secure-openssl.c:384 #, c-format msgid "could not load SSL certificate revocation list directory \"%s\": %s" msgstr "не вдалося завантажити каталог списку відкликаних сертифікатів SSL \"%s\": %s" -#: libpq/be-secure-openssl.c:370 +#: libpq/be-secure-openssl.c:392 #, c-format msgid "could not load SSL certificate revocation list file \"%s\" or directory \"%s\": %s" msgstr "не вдалося завантажити файл \"%s\" або каталог \"%s\" списку відкликаних сертифікатів SSL: %s" -#: libpq/be-secure-openssl.c:428 +#: libpq/be-secure-openssl.c:450 #, c-format msgid "could not initialize SSL connection: SSL context not set up" msgstr "не вдалося ініціалізувати SSL-підключення: контекст SSL не встановлений" -#: libpq/be-secure-openssl.c:439 +#: libpq/be-secure-openssl.c:464 #, c-format msgid "could not initialize SSL connection: %s" msgstr "не вдалося ініціалізувати SSL-підключення: %s" -#: libpq/be-secure-openssl.c:447 +#: libpq/be-secure-openssl.c:472 #, c-format msgid "could not set SSL socket: %s" msgstr "не вдалося встановити SSL-сокет: %s" -#: libpq/be-secure-openssl.c:503 +#: libpq/be-secure-openssl.c:528 #, c-format msgid "could not accept SSL connection: %m" msgstr "не вдалося прийняти SSL-підключення: %m" -#: libpq/be-secure-openssl.c:507 libpq/be-secure-openssl.c:562 +#: libpq/be-secure-openssl.c:532 libpq/be-secure-openssl.c:589 #, c-format msgid "could not accept SSL connection: EOF detected" msgstr "не вдалося прийняти SSL-підключення: виявлений EOF" -#: libpq/be-secure-openssl.c:546 +#: libpq/be-secure-openssl.c:573 #, c-format msgid "could not accept SSL connection: %s" msgstr "не вдалося отримати підключення SSL: %s" -#: libpq/be-secure-openssl.c:550 +#: libpq/be-secure-openssl.c:577 #, c-format msgid "This may indicate that the client does not support any SSL protocol version between %s and %s." msgstr "Це може вказувати, що клієнт не підтримує жодної версії протоколу SSL між %s і %s." -#: libpq/be-secure-openssl.c:567 libpq/be-secure-openssl.c:756 -#: libpq/be-secure-openssl.c:826 +#: libpq/be-secure-openssl.c:594 libpq/be-secure-openssl.c:809 +#: libpq/be-secure-openssl.c:879 #, c-format msgid "unrecognized SSL error code: %d" msgstr "нерозпізнаний код помилки SSL: %d" -#: libpq/be-secure-openssl.c:613 +#: libpq/be-secure-openssl.c:622 +#, c-format +msgid "received SSL connection request with unexpected ALPN protocol" +msgstr "" + +#: libpq/be-secure-openssl.c:666 #, c-format msgid "SSL certificate's common name contains embedded null" msgstr "Спільне ім'я SSL-сертифікату містить нульовий байт" -#: libpq/be-secure-openssl.c:659 +#: libpq/be-secure-openssl.c:712 #, c-format msgid "SSL certificate's distinguished name contains embedded null" msgstr "Унікальна назва сертифікату SSL містить вбудоване null-значення" -#: libpq/be-secure-openssl.c:745 libpq/be-secure-openssl.c:810 +#: libpq/be-secure-openssl.c:798 libpq/be-secure-openssl.c:863 #, c-format msgid "SSL error: %s" msgstr "Помилка SSL: %s" -#: libpq/be-secure-openssl.c:987 +#: libpq/be-secure-openssl.c:1038 #, c-format msgid "could not open DH parameters file \"%s\": %m" msgstr "не вдалося відкрити файл параметрів DH \"%s\": %m" -#: libpq/be-secure-openssl.c:999 +#: libpq/be-secure-openssl.c:1050 #, c-format msgid "could not load DH parameters file: %s" msgstr "не вдалося завантажити файл параметрів DH: %s" -#: libpq/be-secure-openssl.c:1009 +#: libpq/be-secure-openssl.c:1060 #, c-format msgid "invalid DH parameters: %s" msgstr "неприпустимі параметри DH: %s" -#: libpq/be-secure-openssl.c:1018 +#: libpq/be-secure-openssl.c:1069 #, c-format msgid "invalid DH parameters: p is not prime" msgstr "неприпустимі параметри DH: р - не штрих" -#: libpq/be-secure-openssl.c:1027 +#: libpq/be-secure-openssl.c:1078 #, c-format msgid "invalid DH parameters: neither suitable generator or safe prime" msgstr "неприпустимі параметри DH: немає придатного генератора або безпечного штриха" -#: libpq/be-secure-openssl.c:1163 +#: libpq/be-secure-openssl.c:1214 #, c-format msgid "Client certificate verification failed at depth %d: %s." msgstr "Не вдалося перевірити сертифікат клієнта на глибині %d: %s." -#: libpq/be-secure-openssl.c:1200 +#: libpq/be-secure-openssl.c:1251 #, c-format msgid "Failed certificate data (unverified): subject \"%s\", serial number %s, issuer \"%s\"." msgstr "Помилкові дані сертифіката (неперевірені): тема \"%s\", серійний номер %s, емітент \"%s\"." -#: libpq/be-secure-openssl.c:1201 +#: libpq/be-secure-openssl.c:1252 msgid "unknown" msgstr "невідомо" -#: libpq/be-secure-openssl.c:1292 +#: libpq/be-secure-openssl.c:1389 #, c-format msgid "DH: could not load DH parameters" msgstr "DH: не вдалося завантажити параметри DH" -#: libpq/be-secure-openssl.c:1300 +#: libpq/be-secure-openssl.c:1397 #, c-format msgid "DH: could not set DH parameters: %s" msgstr "DH: не вдалося встановити параметри DH: %s" -#: libpq/be-secure-openssl.c:1327 +#: libpq/be-secure-openssl.c:1424 #, c-format msgid "ECDH: unrecognized curve name: %s" msgstr "ECDH: нерозпізнане ім'я кривої: %s" -#: libpq/be-secure-openssl.c:1336 +#: libpq/be-secure-openssl.c:1433 #, c-format msgid "ECDH: could not create key" msgstr "ECDH: не вдалося створити ключ" -#: libpq/be-secure-openssl.c:1364 +#: libpq/be-secure-openssl.c:1461 msgid "no SSL error reported" msgstr "немає повідомлення про помилку SSL" -#: libpq/be-secure-openssl.c:1368 +#: libpq/be-secure-openssl.c:1479 #, c-format msgid "SSL error code %lu" msgstr "Код помилки SSL %lu" -#: libpq/be-secure-openssl.c:1527 +#: libpq/be-secure-openssl.c:1636 #, c-format msgid "could not create BIO" msgstr "неможливо створити BIO" -#: libpq/be-secure-openssl.c:1537 +#: libpq/be-secure-openssl.c:1646 #, c-format msgid "could not get NID for ASN1_OBJECT object" msgstr "не вдалося отримати NID для об'єкту ASN1_OBJECT" -#: libpq/be-secure-openssl.c:1545 +#: libpq/be-secure-openssl.c:1654 #, c-format msgid "could not convert NID %d to an ASN1_OBJECT structure" msgstr "не вдалося перетворити NID %d в структуру ASN1_OBJECT" -#: libpq/be-secure.c:207 libpq/be-secure.c:303 -#, c-format -msgid "terminating connection due to unexpected postmaster exit" -msgstr "завершення підключення через неочікуване закриття головного процесу" - -#: libpq/crypt.c:49 +#: libpq/crypt.c:48 #, c-format msgid "Role \"%s\" does not exist." msgstr "Роль \"%s\" не існує." -#: libpq/crypt.c:59 +#: libpq/crypt.c:58 #, c-format msgid "User \"%s\" has no password assigned." msgstr "Користувач \"%s\" не має пароля." -#: libpq/crypt.c:77 +#: libpq/crypt.c:76 #, c-format msgid "User \"%s\" has an expired password." msgstr "Користувач \"%s\" має прострочений пароль." -#: libpq/crypt.c:183 +#: libpq/crypt.c:182 #, c-format msgid "User \"%s\" has a password that cannot be used with MD5 authentication." msgstr "Користувач \"%s\" має пароль, який не можна використовувати з автентифікацією MD5." -#: libpq/crypt.c:204 libpq/crypt.c:246 libpq/crypt.c:266 +#: libpq/crypt.c:203 libpq/crypt.c:245 libpq/crypt.c:265 #, c-format msgid "Password does not match for user \"%s\"." msgstr "Пароль не підходить для користувача \"%s\"." -#: libpq/crypt.c:285 +#: libpq/crypt.c:284 #, c-format msgid "Password of user \"%s\" is in unrecognized format." msgstr "Пароль користувача \"%s\" представлений в нерозпізнаному форматі." -#: libpq/hba.c:332 +#: libpq/hba.c:327 #, c-format msgid "invalid regular expression \"%s\": %s" msgstr "недійсний регулярний вираз \"%s\": %s" -#: libpq/hba.c:334 libpq/hba.c:666 libpq/hba.c:1250 libpq/hba.c:1270 -#: libpq/hba.c:1293 libpq/hba.c:1306 libpq/hba.c:1359 libpq/hba.c:1387 -#: libpq/hba.c:1395 libpq/hba.c:1407 libpq/hba.c:1428 libpq/hba.c:1441 -#: libpq/hba.c:1466 libpq/hba.c:1493 libpq/hba.c:1505 libpq/hba.c:1564 -#: libpq/hba.c:1584 libpq/hba.c:1598 libpq/hba.c:1618 libpq/hba.c:1629 -#: libpq/hba.c:1644 libpq/hba.c:1663 libpq/hba.c:1679 libpq/hba.c:1691 -#: libpq/hba.c:1728 libpq/hba.c:1769 libpq/hba.c:1782 libpq/hba.c:1804 -#: libpq/hba.c:1816 libpq/hba.c:1834 libpq/hba.c:1884 libpq/hba.c:1928 -#: libpq/hba.c:1939 libpq/hba.c:1955 libpq/hba.c:1972 libpq/hba.c:1983 -#: libpq/hba.c:2002 libpq/hba.c:2018 libpq/hba.c:2034 libpq/hba.c:2093 -#: libpq/hba.c:2110 libpq/hba.c:2123 libpq/hba.c:2135 libpq/hba.c:2154 -#: libpq/hba.c:2240 libpq/hba.c:2258 libpq/hba.c:2352 libpq/hba.c:2371 -#: libpq/hba.c:2400 libpq/hba.c:2413 libpq/hba.c:2436 libpq/hba.c:2458 -#: libpq/hba.c:2472 tsearch/ts_locale.c:243 +#: libpq/hba.c:329 libpq/hba.c:661 libpq/hba.c:1245 libpq/hba.c:1265 +#: libpq/hba.c:1288 libpq/hba.c:1301 libpq/hba.c:1354 libpq/hba.c:1382 +#: libpq/hba.c:1390 libpq/hba.c:1402 libpq/hba.c:1423 libpq/hba.c:1436 +#: libpq/hba.c:1461 libpq/hba.c:1488 libpq/hba.c:1500 libpq/hba.c:1559 +#: libpq/hba.c:1579 libpq/hba.c:1593 libpq/hba.c:1613 libpq/hba.c:1624 +#: libpq/hba.c:1639 libpq/hba.c:1658 libpq/hba.c:1674 libpq/hba.c:1686 +#: libpq/hba.c:1752 libpq/hba.c:1765 libpq/hba.c:1787 libpq/hba.c:1799 +#: libpq/hba.c:1817 libpq/hba.c:1867 libpq/hba.c:1911 libpq/hba.c:1922 +#: libpq/hba.c:1938 libpq/hba.c:1955 libpq/hba.c:1966 libpq/hba.c:1985 +#: libpq/hba.c:2001 libpq/hba.c:2017 libpq/hba.c:2076 libpq/hba.c:2093 +#: libpq/hba.c:2106 libpq/hba.c:2118 libpq/hba.c:2137 libpq/hba.c:2223 +#: libpq/hba.c:2241 libpq/hba.c:2335 libpq/hba.c:2354 libpq/hba.c:2383 +#: libpq/hba.c:2396 libpq/hba.c:2419 libpq/hba.c:2441 libpq/hba.c:2455 +#: tsearch/ts_locale.c:241 #, c-format msgid "line %d of configuration file \"%s\"" msgstr "рядок %d файла конфігурації \"%s\"" -#: libpq/hba.c:462 +#: libpq/hba.c:457 #, c-format msgid "skipping missing authentication file \"%s\"" msgstr "пропускається відсутній файл автентифікації \"%s\"" -#: libpq/hba.c:614 +#: libpq/hba.c:609 #, c-format msgid "could not open file \"%s\": maximum nesting depth exceeded" msgstr "не вдалося відкрити файл \"%s\": максимальну глибину вкладення перевищено" -#: libpq/hba.c:1221 +#: libpq/hba.c:1216 #, c-format msgid "error enumerating network interfaces: %m" msgstr "помилка перерахування мережевих інтерфейсів: %m" #. translator: the second %s is a list of auth methods -#: libpq/hba.c:1248 +#: libpq/hba.c:1243 #, c-format msgid "authentication option \"%s\" is only valid for authentication methods %s" msgstr "параметр автентифікації \"%s\" припустимий лише для способів автентифікації %s" -#: libpq/hba.c:1268 +#: libpq/hba.c:1263 #, c-format msgid "authentication method \"%s\" requires argument \"%s\" to be set" msgstr "спосіб автентифікації \"%s\" потребує аргумент \"%s\" для встановлення" -#: libpq/hba.c:1292 +#: libpq/hba.c:1287 #, c-format msgid "missing entry at end of line" msgstr "відсутній запис в кінці рядка" -#: libpq/hba.c:1305 +#: libpq/hba.c:1300 #, c-format msgid "multiple values in ident field" msgstr "кілька значень в полі ident" -#: libpq/hba.c:1357 +#: libpq/hba.c:1352 #, c-format msgid "multiple values specified for connection type" msgstr "кілька значень вказано для типу підключення" -#: libpq/hba.c:1358 +#: libpq/hba.c:1353 #, c-format msgid "Specify exactly one connection type per line." msgstr "Вкажіть в рядку єдиний тип підключення." -#: libpq/hba.c:1385 +#: libpq/hba.c:1380 #, c-format msgid "hostssl record cannot match because SSL is disabled" msgstr "запис hostssl не збігається, тому що протокол SSL вимкнутий" -#: libpq/hba.c:1386 +#: libpq/hba.c:1381 #, c-format -msgid "Set ssl = on in postgresql.conf." -msgstr "Встановіть ssl = on в postgresql.conf." +msgid "Set \"ssl = on\" in postgresql.conf." +msgstr "" -#: libpq/hba.c:1394 +#: libpq/hba.c:1389 #, c-format msgid "hostssl record cannot match because SSL is not supported by this build" msgstr "запис hostssl не збігається, тому що SSL не підтримується цією збіркою" -#: libpq/hba.c:1406 +#: libpq/hba.c:1401 #, c-format msgid "hostgssenc record cannot match because GSSAPI is not supported by this build" msgstr "запис hostgssenc не може збігатись, оскільки GSSAPI не підтримується цією збіркою" -#: libpq/hba.c:1426 +#: libpq/hba.c:1421 #, c-format msgid "invalid connection type \"%s\"" msgstr "неприпустимий тип підключення \"%s\"" -#: libpq/hba.c:1440 +#: libpq/hba.c:1435 #, c-format msgid "end-of-line before database specification" msgstr "кінець рядка перед визначенням бази даних" -#: libpq/hba.c:1465 +#: libpq/hba.c:1460 #, c-format msgid "end-of-line before role specification" msgstr "кінець рядка перед визначенням ролі" -#: libpq/hba.c:1492 +#: libpq/hba.c:1487 #, c-format msgid "end-of-line before IP address specification" msgstr "кінець рядка перед визначенням IP-адрес" -#: libpq/hba.c:1503 +#: libpq/hba.c:1498 #, c-format msgid "multiple values specified for host address" msgstr "для адреси хоста вказано кілька значень" -#: libpq/hba.c:1504 +#: libpq/hba.c:1499 #, c-format msgid "Specify one address range per line." msgstr "Вкажіть один діапазон адреси в рядку." -#: libpq/hba.c:1562 +#: libpq/hba.c:1557 #, c-format msgid "invalid IP address \"%s\": %s" msgstr "неприпустима IP адреса \"%s\": %s" -#: libpq/hba.c:1582 +#: libpq/hba.c:1577 #, c-format msgid "specifying both host name and CIDR mask is invalid: \"%s\"" msgstr "визначити одночасно ім’я хоста і маску CIDR не можна: \"%s\"" -#: libpq/hba.c:1596 +#: libpq/hba.c:1591 #, c-format msgid "invalid CIDR mask in address \"%s\"" msgstr "неприпустима маска CIDR в адресі \"%s\"" -#: libpq/hba.c:1616 +#: libpq/hba.c:1611 #, c-format msgid "end-of-line before netmask specification" msgstr "кінець рядка перед визначенням маски мережі" -#: libpq/hba.c:1617 +#: libpq/hba.c:1612 #, c-format msgid "Specify an address range in CIDR notation, or provide a separate netmask." msgstr "Вкажіть діапазон адрес в нотації CIDR або надайте окрему маску мережі." -#: libpq/hba.c:1628 +#: libpq/hba.c:1623 #, c-format msgid "multiple values specified for netmask" msgstr "для маски мережі вказано декілька значень" -#: libpq/hba.c:1642 +#: libpq/hba.c:1637 #, c-format msgid "invalid IP mask \"%s\": %s" msgstr "неприпустима маска IP \"%s\": %s" -#: libpq/hba.c:1662 +#: libpq/hba.c:1657 #, c-format msgid "IP address and mask do not match" msgstr "IP-адреса і маска не збігаються" -#: libpq/hba.c:1678 +#: libpq/hba.c:1673 #, c-format msgid "end-of-line before authentication method" msgstr "кінець рядка перед способом автентифікації" -#: libpq/hba.c:1689 +#: libpq/hba.c:1684 #, c-format msgid "multiple values specified for authentication type" msgstr "для типу автентифікації вказано декілька значень" -#: libpq/hba.c:1690 +#: libpq/hba.c:1685 #, c-format msgid "Specify exactly one authentication type per line." msgstr "Вкажіть у рядку єдиний тип автентифікації." -#: libpq/hba.c:1767 +#: libpq/hba.c:1750 #, c-format msgid "invalid authentication method \"%s\"" msgstr "неприпустимий спосіб автентифікації \"%s\"" -#: libpq/hba.c:1780 +#: libpq/hba.c:1763 #, c-format msgid "invalid authentication method \"%s\": not supported by this build" msgstr "неприпустимий спосіб автентифікації \"%s\": не підтримується цією збіркою" -#: libpq/hba.c:1803 +#: libpq/hba.c:1786 #, c-format msgid "gssapi authentication is not supported on local sockets" msgstr "автентифікація gssapi для локальних сокетів не підтримується" -#: libpq/hba.c:1815 +#: libpq/hba.c:1798 #, c-format msgid "peer authentication is only supported on local sockets" msgstr "автентифікація peer підтримується лише для локальних сокетів" -#: libpq/hba.c:1833 +#: libpq/hba.c:1816 #, c-format msgid "cert authentication is only supported on hostssl connections" msgstr "автентифікація cert підтримується лише для підключень hostssl" -#: libpq/hba.c:1883 +#: libpq/hba.c:1866 #, c-format msgid "authentication option not in name=value format: %s" msgstr "параметр автентифікації вказаний не в форматі ім’я=значення: %s" -#: libpq/hba.c:1927 +#: libpq/hba.c:1910 #, c-format msgid "cannot use ldapbasedn, ldapbinddn, ldapbindpasswd, ldapsearchattribute, ldapsearchfilter, or ldapurl together with ldapprefix" msgstr "не можна використовувати ldapbasedn, ldapbinddn, ldapbindpasswd, ldapsearchattribute, ldapsearchfilter або ldapurl разом з ldapprefix" -#: libpq/hba.c:1938 +#: libpq/hba.c:1921 #, c-format msgid "authentication method \"ldap\" requires argument \"ldapbasedn\", \"ldapprefix\", or \"ldapsuffix\" to be set" msgstr "спосіб автентифікації \"ldap\" потребує встановити аргумент \"ldapbasedn\", \"ldapprefix\" або \"ldapsuffix\"" -#: libpq/hba.c:1954 +#: libpq/hba.c:1937 #, c-format msgid "cannot use ldapsearchattribute together with ldapsearchfilter" msgstr "не можна використовувати ldapsearchattribute разом з ldapsearchfilter" -#: libpq/hba.c:1971 +#: libpq/hba.c:1954 #, c-format msgid "list of RADIUS servers cannot be empty" msgstr "список серверів RADIUS не може бути порожнім" -#: libpq/hba.c:1982 +#: libpq/hba.c:1965 #, c-format msgid "list of RADIUS secrets cannot be empty" msgstr "список секретів RADIUS не може бути порожнім" -#: libpq/hba.c:1999 +#: libpq/hba.c:1982 #, c-format msgid "the number of RADIUS secrets (%d) must be 1 or the same as the number of RADIUS servers (%d)" msgstr "кількість секретів RADIUS (%d) повинна бути 1 або дорівнювати кількості серверів RADIUS (%d)" -#: libpq/hba.c:2015 +#: libpq/hba.c:1998 #, c-format msgid "the number of RADIUS ports (%d) must be 1 or the same as the number of RADIUS servers (%d)" msgstr "кількість портів RADIUS (%d) повинна бути 1 або дорівнювати кількості серверів RADIUS (%d)" -#: libpq/hba.c:2031 +#: libpq/hba.c:2014 #, c-format msgid "the number of RADIUS identifiers (%d) must be 1 or the same as the number of RADIUS servers (%d)" msgstr "кількість ідентифікаторів RADIUS (%d) повинна бути 1 або дорівнювати кількості серверів RADIUS (%d)" -#: libpq/hba.c:2083 +#: libpq/hba.c:2066 msgid "ident, peer, gssapi, sspi, and cert" msgstr "ident, peer, gssapi, sspi і cert" -#: libpq/hba.c:2092 +#: libpq/hba.c:2075 #, c-format msgid "clientcert can only be configured for \"hostssl\" rows" msgstr "clientcert може бути налаштовано лише для рядків \"hostssl\"" -#: libpq/hba.c:2109 +#: libpq/hba.c:2092 #, c-format msgid "clientcert only accepts \"verify-full\" when using \"cert\" authentication" msgstr "clientcert приймає лише \"verify-full\" під час використання автентифікації \"cert\"" -#: libpq/hba.c:2122 +#: libpq/hba.c:2105 #, c-format msgid "invalid value for clientcert: \"%s\"" msgstr "неприпустиме значення для clientcert: \"%s\"" -#: libpq/hba.c:2134 +#: libpq/hba.c:2117 #, c-format msgid "clientname can only be configured for \"hostssl\" rows" msgstr "clientname можна налаштувати лише для рядків \"hostssl\"" -#: libpq/hba.c:2153 +#: libpq/hba.c:2136 #, c-format msgid "invalid value for clientname: \"%s\"" msgstr "неприпустиме значення для clientname: \"%s\"" -#: libpq/hba.c:2186 +#: libpq/hba.c:2169 #, c-format msgid "could not parse LDAP URL \"%s\": %s" msgstr "не вдалося аналізувати URL-адресу LDAP \"%s\": %s" -#: libpq/hba.c:2197 +#: libpq/hba.c:2180 #, c-format msgid "unsupported LDAP URL scheme: %s" msgstr "непідтримувана схема в URL-адресі LDAP: %s" -#: libpq/hba.c:2221 +#: libpq/hba.c:2204 #, c-format msgid "LDAP URLs not supported on this platform" msgstr "URL-адреса LDAP не підтримується на цій платформі" -#: libpq/hba.c:2239 +#: libpq/hba.c:2222 #, c-format msgid "invalid ldapscheme value: \"%s\"" msgstr "недійсне значення ldapscheme: \"%s\"" -#: libpq/hba.c:2257 +#: libpq/hba.c:2240 #, c-format msgid "invalid LDAP port number: \"%s\"" msgstr "недійсний номер порту LDAP: \"%s\"" -#: libpq/hba.c:2303 libpq/hba.c:2310 +#: libpq/hba.c:2286 libpq/hba.c:2293 msgid "gssapi and sspi" msgstr "gssapi і sspi" -#: libpq/hba.c:2319 libpq/hba.c:2328 +#: libpq/hba.c:2302 libpq/hba.c:2311 msgid "sspi" msgstr "sspi" -#: libpq/hba.c:2350 +#: libpq/hba.c:2333 #, c-format msgid "could not parse RADIUS server list \"%s\"" msgstr "не вдалося проаналізувати список серверів RADIUS \"%s\"" -#: libpq/hba.c:2398 +#: libpq/hba.c:2381 #, c-format msgid "could not parse RADIUS port list \"%s\"" msgstr "не вдалося проаналізувати список портів RADIUS \"%s\"" -#: libpq/hba.c:2412 +#: libpq/hba.c:2395 #, c-format msgid "invalid RADIUS port number: \"%s\"" msgstr "недійсний номер порту RADIUS: \"%s\"" -#: libpq/hba.c:2434 +#: libpq/hba.c:2417 #, c-format msgid "could not parse RADIUS secret list \"%s\"" msgstr "не вдалося проаналізувати список секретів RADIUS \"%s\"" -#: libpq/hba.c:2456 +#: libpq/hba.c:2439 #, c-format msgid "could not parse RADIUS identifiers list \"%s\"" msgstr "не вдалося проаналізувати список ідентифікаторів RADIUS \"%s\"" -#: libpq/hba.c:2470 +#: libpq/hba.c:2453 #, c-format msgid "unrecognized authentication option name: \"%s\"" msgstr "нерозпізнане ім’я параметра автентифікації: \"%s\"" -#: libpq/hba.c:2662 +#: libpq/hba.c:2645 #, c-format msgid "configuration file \"%s\" contains no entries" msgstr "файл конфігурації \"%s\" не містить елементів" -#: libpq/hba.c:2815 +#: libpq/hba.c:2798 #, c-format msgid "regular expression match for \"%s\" failed: %s" msgstr "помилка при пошуку за регулярним виразом для \"%s\": %s" -#: libpq/hba.c:2839 +#: libpq/hba.c:2822 #, c-format msgid "regular expression \"%s\" has no subexpressions as requested by backreference in \"%s\"" msgstr "регулярний вираз \"%s не містить підвиразів, необхідних для зворотного посилання в \"%s\"" -#: libpq/hba.c:2942 +#: libpq/hba.c:2925 #, c-format msgid "provided user name (%s) and authenticated user name (%s) do not match" msgstr "вказане ім'я користувача (%s) і автентифіковане ім'я користувача (%s) не збігаються" -#: libpq/hba.c:2962 +#: libpq/hba.c:2945 #, c-format msgid "no match in usermap \"%s\" for user \"%s\" authenticated as \"%s\"" msgstr "немає відповідності у файлі зіставлень \"%s\" для користувача \"%s\" автентифікованого як \"%s\"" -#: libpq/pqcomm.c:200 +#: libpq/pqcomm.c:211 libpq/pqcomm.c:219 libpq/pqcomm.c:250 libpq/pqcomm.c:259 +#: libpq/pqcomm.c:1648 libpq/pqcomm.c:1693 libpq/pqcomm.c:1733 +#: libpq/pqcomm.c:1777 libpq/pqcomm.c:1816 libpq/pqcomm.c:1855 +#: libpq/pqcomm.c:1891 libpq/pqcomm.c:1930 +#, c-format +msgid "%s(%s) failed: %m" +msgstr "%s(%s) помилка: %m" + +#: libpq/pqcomm.c:296 #, c-format msgid "could not set socket to nonblocking mode: %m" msgstr "не вдалося перевести сокет у неблокуючий режим: %m" -#: libpq/pqcomm.c:361 +#: libpq/pqcomm.c:456 #, c-format msgid "Unix-domain socket path \"%s\" is too long (maximum %d bytes)" msgstr "Шлях Unix-сокету \"%s\" занадто довгий (максимум %d байтів)" -#: libpq/pqcomm.c:381 +#: libpq/pqcomm.c:476 #, c-format msgid "could not translate host name \"%s\", service \"%s\" to address: %s" msgstr "не вдалось перекласти ім'я хоста \"%s\", служби \"%s\" в адресу: %s" -#: libpq/pqcomm.c:385 +#: libpq/pqcomm.c:480 #, c-format msgid "could not translate service \"%s\" to address: %s" msgstr "не вдалось перекласти службу \"%s\" в адресу: %s" -#: libpq/pqcomm.c:412 +#: libpq/pqcomm.c:502 #, c-format msgid "could not bind to all requested addresses: MAXLISTEN (%d) exceeded" msgstr "не вдалось прив'язатись до всіх запитаних адрес: MAXLISTEN (%d) перевищено" -#: libpq/pqcomm.c:421 +#: libpq/pqcomm.c:511 msgid "IPv4" msgstr "IPv4" -#: libpq/pqcomm.c:424 +#: libpq/pqcomm.c:514 msgid "IPv6" msgstr "IPv6" -#: libpq/pqcomm.c:427 +#: libpq/pqcomm.c:517 msgid "Unix" msgstr "Unix" -#: libpq/pqcomm.c:431 +#: libpq/pqcomm.c:521 #, c-format msgid "unrecognized address family %d" msgstr "нерозпізнане сімейство адресів %d" #. translator: first %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:455 +#: libpq/pqcomm.c:545 #, c-format msgid "could not create %s socket for address \"%s\": %m" msgstr "не вдалось створити сокет %s для адреси \"%s\": %m" #. translator: third %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:481 libpq/pqcomm.c:499 +#: libpq/pqcomm.c:574 libpq/pqcomm.c:592 #, c-format msgid "%s(%s) failed for %s address \"%s\": %m" msgstr "%s(%s) помилка %s для адреси \"%s\": %m" #. translator: first %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:522 +#: libpq/pqcomm.c:615 #, c-format msgid "could not bind %s address \"%s\": %m" msgstr "не вдалось прив'язатись до адреси %s \"%s\": %m" -#: libpq/pqcomm.c:526 +#: libpq/pqcomm.c:619 #, c-format msgid "Is another postmaster already running on port %d?" msgstr "Можливо інший процес postmaster вже виконується на порті %d?" -#: libpq/pqcomm.c:528 +#: libpq/pqcomm.c:621 #, c-format msgid "Is another postmaster already running on port %d? If not, wait a few seconds and retry." msgstr "Можливо порт %d вже зайнятий іншим процесом postmaster? Якщо ні, почекайте пару секунд і спробуйте знову." #. translator: first %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:557 +#: libpq/pqcomm.c:650 #, c-format msgid "could not listen on %s address \"%s\": %m" msgstr "не вдалось прослухати на адресі %s \"%s\": %m" -#: libpq/pqcomm.c:565 +#: libpq/pqcomm.c:658 #, c-format msgid "listening on Unix socket \"%s\"" msgstr "прослуховувати UNIX сокет \"%s\"" #. translator: first %s is IPv4 or IPv6 -#: libpq/pqcomm.c:570 +#: libpq/pqcomm.c:663 #, c-format msgid "listening on %s address \"%s\", port %d" msgstr "прослуховувати %s адресу \"%s\", порт %d" -#: libpq/pqcomm.c:659 +#: libpq/pqcomm.c:753 #, c-format msgid "group \"%s\" does not exist" msgstr "група \"%s\" не існує" -#: libpq/pqcomm.c:669 +#: libpq/pqcomm.c:763 #, c-format msgid "could not set group of file \"%s\": %m" msgstr "не вдалось встановити групу для файла \"%s\": %m" -#: libpq/pqcomm.c:680 +#: libpq/pqcomm.c:774 #, c-format msgid "could not set permissions of file \"%s\": %m" msgstr "не вдалось встановити дозволи для файла \"%s\": %m" -#: libpq/pqcomm.c:708 +#: libpq/pqcomm.c:803 #, c-format msgid "could not accept new connection: %m" msgstr "не вдалось прийняти нове підключення: %m" -#: libpq/pqcomm.c:748 libpq/pqcomm.c:757 libpq/pqcomm.c:789 libpq/pqcomm.c:799 -#: libpq/pqcomm.c:1634 libpq/pqcomm.c:1679 libpq/pqcomm.c:1719 -#: libpq/pqcomm.c:1763 libpq/pqcomm.c:1802 libpq/pqcomm.c:1841 -#: libpq/pqcomm.c:1877 libpq/pqcomm.c:1916 -#, c-format -msgid "%s(%s) failed: %m" -msgstr "%s(%s) помилка: %m" - -#: libpq/pqcomm.c:903 +#: libpq/pqcomm.c:885 #, c-format msgid "there is no client connection" msgstr "немає клієнтського підключення" -#: libpq/pqcomm.c:959 libpq/pqcomm.c:1060 +#: libpq/pqcomm.c:941 libpq/pqcomm.c:1042 #, c-format msgid "could not receive data from client: %m" msgstr "не вдалось отримати дані від клієнта: %m" -#: libpq/pqcomm.c:1165 tcop/postgres.c:4405 +#: libpq/pqcomm.c:1149 tcop/postgres.c:4533 #, c-format msgid "terminating connection because protocol synchronization was lost" msgstr "завершення підключення через втрату синхронізації протоколу" -#: libpq/pqcomm.c:1231 +#: libpq/pqcomm.c:1215 #, c-format msgid "unexpected EOF within message length word" msgstr "неочікуваний EOF в слові довжини повідомлення" -#: libpq/pqcomm.c:1241 +#: libpq/pqcomm.c:1225 #, c-format msgid "invalid message length" msgstr "неприпустима довжина повідомлення" -#: libpq/pqcomm.c:1263 libpq/pqcomm.c:1276 +#: libpq/pqcomm.c:1247 libpq/pqcomm.c:1260 #, c-format msgid "incomplete message from client" msgstr "неповне повідомлення від клієнта" -#: libpq/pqcomm.c:1387 +#: libpq/pqcomm.c:1401 #, c-format msgid "could not send data to client: %m" msgstr "не вдалось надіслати дані клієнту: %m" -#: libpq/pqcomm.c:1602 +#: libpq/pqcomm.c:1616 #, c-format msgid "%s(%s) failed: error code %d" msgstr "%s(%s) помилка: код помилки %d" -#: libpq/pqcomm.c:1691 +#: libpq/pqcomm.c:1705 #, c-format msgid "setting the keepalive idle time is not supported" msgstr "встановлення часу простою keepalive не підтримується" -#: libpq/pqcomm.c:1775 libpq/pqcomm.c:1850 libpq/pqcomm.c:1925 +#: libpq/pqcomm.c:1789 libpq/pqcomm.c:1864 libpq/pqcomm.c:1939 #, c-format msgid "%s(%s) not supported" msgstr "%s(%s) не підтримується" -#: libpq/pqformat.c:407 +#: libpq/pqformat.c:404 #, c-format msgid "no data left in message" msgstr "у повідомлення не залишилось даних" -#: libpq/pqformat.c:518 libpq/pqformat.c:536 libpq/pqformat.c:557 -#: utils/adt/array_userfuncs.c:799 utils/adt/arrayfuncs.c:1507 -#: utils/adt/rowtypes.c:615 +#: libpq/pqformat.c:515 libpq/pqformat.c:533 libpq/pqformat.c:554 +#: utils/adt/array_userfuncs.c:797 utils/adt/arrayfuncs.c:1481 +#: utils/adt/rowtypes.c:613 #, c-format msgid "insufficient data left in message" msgstr "недостатьно даних залишилось в повідомленні" -#: libpq/pqformat.c:598 libpq/pqformat.c:627 +#: libpq/pqformat.c:595 libpq/pqformat.c:624 #, c-format msgid "invalid string in message" msgstr "неприпустимий рядок в повідомленні" -#: libpq/pqformat.c:643 +#: libpq/pqformat.c:640 #, c-format msgid "invalid message format" msgstr "неприпустимий формат повідомлення" -#: main/main.c:235 +#: main/main.c:234 #, c-format msgid "%s: WSAStartup failed: %d\n" msgstr "%s: помилка WSAStartup: %d\n" -#: main/main.c:329 +#: main/main.c:322 #, c-format -msgid "" -"%s is the PostgreSQL server.\n" -"\n" -msgstr "" -"%s - сервер PostgreSQL.\n" -"\n" +msgid "%s is the PostgreSQL server.\n\n" +msgstr "%s - сервер PostgreSQL.\n\n" -#: main/main.c:330 +#: main/main.c:323 #, c-format -msgid "" -"Usage:\n" -" %s [OPTION]...\n" -"\n" -msgstr "" -"Використання:\n" -" %s [OPTION]...\n" -"\n" +msgid "Usage:\n" +" %s [OPTION]...\n\n" +msgstr "Використання:\n" +" %s [OPTION]...\n\n" -#: main/main.c:331 +#: main/main.c:324 #, c-format msgid "Options:\n" msgstr "Параметри:\n" -#: main/main.c:332 +#: main/main.c:325 #, c-format msgid " -B NBUFFERS number of shared buffers\n" msgstr " -B NBUFFERS число спільних буферів\n" -#: main/main.c:333 +#: main/main.c:326 #, c-format msgid " -c NAME=VALUE set run-time parameter\n" msgstr " -c NAME=VALUE встановити параметр під час виконання\n" -#: main/main.c:334 +#: main/main.c:327 #, c-format msgid " -C NAME print value of run-time parameter, then exit\n" msgstr " -C NAME вивести значення параметру під час виконання і вийти\n" -#: main/main.c:335 +#: main/main.c:328 #, c-format msgid " -d 1-5 debugging level\n" msgstr " -d 1-5 рівень налагодження\n" -#: main/main.c:336 +#: main/main.c:329 #, c-format msgid " -D DATADIR database directory\n" msgstr " -D DATADIR каталог бази даних\n" -#: main/main.c:337 +#: main/main.c:330 #, c-format msgid " -e use European date input format (DMY)\n" msgstr " -e використати європейський формат дат (DMY)\n" -#: main/main.c:338 +#: main/main.c:331 #, c-format msgid " -F turn fsync off\n" msgstr " -F вимкнути fsync\n" -#: main/main.c:339 +#: main/main.c:332 #, c-format msgid " -h HOSTNAME host name or IP address to listen on\n" msgstr " -h HOSTNAME ім’я хоста або IP-адреса для прослуховування\n" -#: main/main.c:340 +#: main/main.c:333 #, c-format msgid " -i enable TCP/IP connections (deprecated)\n" msgstr " -i активувати підключення TCP/IP (застаріле)\n" -#: main/main.c:341 +#: main/main.c:334 #, c-format msgid " -k DIRECTORY Unix-domain socket location\n" msgstr " -k DIRECTORY розташування Unix-сокетів\n" -#: main/main.c:343 +#: main/main.c:336 #, c-format msgid " -l enable SSL connections\n" msgstr " -l активувати SSL-підключення\n" -#: main/main.c:345 +#: main/main.c:338 #, c-format msgid " -N MAX-CONNECT maximum number of allowed connections\n" msgstr " -N MAX-CONNECT максимальне число дозволених підключень\n" -#: main/main.c:346 +#: main/main.c:339 #, c-format msgid " -p PORT port number to listen on\n" msgstr " -p PORT номер порту для прослуховування\n" -#: main/main.c:347 +#: main/main.c:340 #, c-format msgid " -s show statistics after each query\n" msgstr " -s відображувати статистику після кожного запиту\n" -#: main/main.c:348 +#: main/main.c:341 #, c-format msgid " -S WORK-MEM set amount of memory for sorts (in kB)\n" msgstr " -S WORK-MEM вказати обсяг пам'яті для сортування (в КБ)\n" -#: main/main.c:349 +#: main/main.c:342 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version вивести інформацію про версію і вийти\n" -#: main/main.c:350 +#: main/main.c:343 #, c-format msgid " --NAME=VALUE set run-time parameter\n" msgstr " --NAME=VALUE встановити параметр під час виконання\n" -#: main/main.c:351 +#: main/main.c:344 #, c-format msgid " --describe-config describe configuration parameters, then exit\n" msgstr " --describe-config описати параметри конфігурації і вийти\n" -#: main/main.c:352 +#: main/main.c:345 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help показати довідку і вийти\n" -#: main/main.c:354 +#: main/main.c:347 #, c-format -msgid "" -"\n" +msgid "\n" "Developer options:\n" -msgstr "" -"\n" +msgstr "\n" "Параметри для розробників:\n" -#: main/main.c:355 +#: main/main.c:348 #, c-format msgid " -f s|i|o|b|t|n|m|h forbid use of some plan types\n" msgstr " -f s|i|o|b|t|n|m|h заборонити використовувати деякі типи плану\n" -#: main/main.c:356 +#: main/main.c:349 #, c-format msgid " -O allow system table structure changes\n" msgstr " -O дозволити змінювати структуру системних таблиць\n" -#: main/main.c:357 +#: main/main.c:350 #, c-format msgid " -P disable system indexes\n" msgstr " -P вимкнути системні індекси\n" -#: main/main.c:358 +#: main/main.c:351 #, c-format msgid " -t pa|pl|ex show timings after each query\n" msgstr " -t pa|pl|ex показувати час після кожного запиту\n" -#: main/main.c:359 +#: main/main.c:352 #, c-format msgid " -T send SIGABRT to all backend processes if one dies\n" msgstr " -T надіслати SIGABRT усім внутрішнім процесам, якщо один вимкнеться\n" -#: main/main.c:360 +#: main/main.c:353 #, c-format msgid " -W NUM wait NUM seconds to allow attach from a debugger\n" msgstr " -W NUM очікувати NUM секунд, щоб дозволити підключення від налагоджувача\n" -#: main/main.c:362 +#: main/main.c:355 #, c-format -msgid "" -"\n" +msgid "\n" "Options for single-user mode:\n" -msgstr "" -"\n" +msgstr "\n" "Параметри для однокористувацького режиму:\n" -#: main/main.c:363 +#: main/main.c:356 #, c-format msgid " --single selects single-user mode (must be first argument)\n" msgstr " --single установка однокористувацького режиму (цей аргумент повинен бути першим)\n" -#: main/main.c:364 +#: main/main.c:357 #, c-format msgid " DBNAME database name (defaults to user name)\n" msgstr " DBNAME ім’я бази даних (за замовчуванням - ім'я користувача)\n" -#: main/main.c:365 +#: main/main.c:358 #, c-format msgid " -d 0-5 override debugging level\n" msgstr " -d 0-5 змінити рівень налагодження\n" -#: main/main.c:366 +#: main/main.c:359 #, c-format msgid " -E echo statement before execution\n" msgstr " -E інструкція відлуння перед виконанням\n" -#: main/main.c:367 +#: main/main.c:360 #, c-format msgid " -j do not use newline as interactive query delimiter\n" msgstr " -j не використовувати новий рядок як роздільник інтерактивних запитів\n" -#: main/main.c:368 main/main.c:374 +#: main/main.c:361 main/main.c:367 #, c-format msgid " -r FILENAME send stdout and stderr to given file\n" msgstr " -r FILENAME надіслати stdout і stderr до вказаного файлу\n" -#: main/main.c:370 +#: main/main.c:363 #, c-format -msgid "" -"\n" +msgid "\n" "Options for bootstrapping mode:\n" -msgstr "" -"\n" +msgstr "\n" "Параметри для режиму початкового завантаження:\n" -#: main/main.c:371 +#: main/main.c:364 #, c-format msgid " --boot selects bootstrapping mode (must be first argument)\n" msgstr " --boot установка режиму початкового завантаження (цей аргумент повинен бути першим)\n" -#: main/main.c:372 +#: main/main.c:365 #, c-format msgid " --check selects check mode (must be first argument)\n" msgstr " --check обирає режим перевірки (має бути першим аргументом)\n" -#: main/main.c:373 +#: main/main.c:366 #, c-format msgid " DBNAME database name (mandatory argument in bootstrapping mode)\n" msgstr " DBNAME ім'я бази даних (обов'язковий аргумент у режимі початкового завантаження)\n" -#: main/main.c:376 +#: main/main.c:369 #, c-format -msgid "" -"\n" +msgid "\n" "Please read the documentation for the complete list of run-time\n" "configuration settings and how to set them on the command line or in\n" -"the configuration file.\n" -"\n" +"the configuration file.\n\n" "Report bugs to <%s>.\n" -msgstr "" -"\n" -"Будь-ласка прочитайте інструкцію для повного списку параметрів конфігурації виконання і їх встановлення у командний рядок або в файл конфігурації.\n" -"\n" +msgstr "\n" +"Будь-ласка прочитайте інструкцію для повного списку параметрів конфігурації виконання і їх встановлення у командний рядок або в файл конфігурації.\n\n" "Про помилки повідомляйте <%s>.\n" -#: main/main.c:380 +#: main/main.c:373 #, c-format msgid "%s home page: <%s>\n" msgstr "Домашня сторінка %s: <%s>\n" -#: main/main.c:391 +#: main/main.c:384 #, c-format -msgid "" -"\"root\" execution of the PostgreSQL server is not permitted.\n" +msgid "\"root\" execution of the PostgreSQL server is not permitted.\n" "The server must be started under an unprivileged user ID to prevent\n" "possible system security compromise. See the documentation for\n" "more information on how to properly start the server.\n" -msgstr "" -"Запускати сервер PostgreSQL під іменем \"root\" не дозволено.\n" +msgstr "Запускати сервер PostgreSQL під іменем \"root\" не дозволено.\n" "Для запобігання компрометації системи безпеки сервер повинен запускати непривілейований користувач. Дивіться документацію, щоб дізнатися більше про те, як правильно запустити сервер.\n" -#: main/main.c:408 +#: main/main.c:401 #, c-format msgid "%s: real and effective user IDs must match\n" msgstr "%s: дійсний і ефективний ID користувача повинні збігатися\n" -#: main/main.c:415 +#: main/main.c:408 #, c-format -msgid "" -"Execution of PostgreSQL by a user with administrative permissions is not\n" +msgid "Execution of PostgreSQL by a user with administrative permissions is not\n" "permitted.\n" "The server must be started under an unprivileged user ID to prevent\n" "possible system security compromises. See the documentation for\n" "more information on how to properly start the server.\n" -msgstr "" -"Запускати PostgreSQL під іменем користувача з правами адміністратора не дозволено.\n" +msgstr "Запускати PostgreSQL під іменем користувача з правами адміністратора не дозволено.\n" "Для запобігання можливої компрометації системи безпеки сервер повинен запускати непривілейований користувач. Дивіться документацію, щоб дізнатися більше про те, як правильно запустити сервер.\n" #: nodes/extensible.c:66 @@ -15842,20 +16243,15 @@ msgstr "розширений тип вузла \"%s\" вже існує" msgid "ExtensibleNodeMethods \"%s\" was not registered" msgstr "Методи розширеного вузла \"%s\" не зареєстровані" -#: nodes/makefuncs.c:153 statistics/extended_stats.c:2335 +#: nodes/makefuncs.c:152 statistics/extended_stats.c:2310 #, c-format msgid "relation \"%s\" does not have a composite type" msgstr "відношення \"%s\" не має складеного типу" -#: nodes/makefuncs.c:879 -#, c-format -msgid "unrecognized JSON encoding: %s" -msgstr "нерозпізнане кодування JSON: %s" - -#: nodes/nodeFuncs.c:116 nodes/nodeFuncs.c:147 parser/parse_coerce.c:2567 +#: nodes/nodeFuncs.c:118 nodes/nodeFuncs.c:149 parser/parse_coerce.c:2567 #: parser/parse_coerce.c:2705 parser/parse_coerce.c:2752 -#: parser/parse_expr.c:2049 parser/parse_func.c:710 parser/parse_oper.c:883 -#: utils/fmgr/funcapi.c:661 +#: parser/parse_expr.c:2112 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" msgstr "не вдалося знайти тип масиву для типу даних %s" @@ -15870,179 +16266,184 @@ msgstr "портал \"%s\" з параметрами: %s" msgid "unnamed portal with parameters: %s" msgstr "портал без імені з параметрами: %s" -#: optimizer/path/joinrels.c:973 +#: optimizer/path/joinrels.c:972 #, c-format msgid "FULL JOIN is only supported with merge-joinable or hash-joinable join conditions" msgstr "FULL JOIN підтримується лише з умовами, які допускають з'єднання злиттям або хеш-з'єднанням" -#: optimizer/plan/createplan.c:7111 parser/parse_merge.c:182 -#: parser/parse_merge.c:189 +#: optimizer/plan/createplan.c:7175 parser/parse_merge.c:203 +#: rewrite/rewriteHandler.c:1696 #, c-format msgid "cannot execute MERGE on relation \"%s\"" msgstr "не можна виконати MERGE для відношення \"%s\"" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: optimizer/plan/initsplan.c:1408 +#: optimizer/plan/initsplan.c:1407 #, c-format msgid "%s cannot be applied to the nullable side of an outer join" msgstr "%s не можна застосовувати до нульової сторони зовнішнього з’єднання" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: optimizer/plan/planner.c:1361 parser/analyze.c:1761 parser/analyze.c:2018 -#: parser/analyze.c:3231 +#: optimizer/plan/planner.c:1386 parser/analyze.c:1771 parser/analyze.c:2029 +#: parser/analyze.c:3247 #, c-format msgid "%s is not allowed with UNION/INTERSECT/EXCEPT" msgstr "%s несумісно з UNION/INTERSECT/EXCEPT" -#: optimizer/plan/planner.c:2076 optimizer/plan/planner.c:4035 +#: optimizer/plan/planner.c:2127 optimizer/plan/planner.c:4113 #, c-format msgid "could not implement GROUP BY" msgstr "не вдалося реалізувати GROUP BY" -#: optimizer/plan/planner.c:2077 optimizer/plan/planner.c:4036 -#: optimizer/plan/planner.c:4676 optimizer/prep/prepunion.c:1053 +#: optimizer/plan/planner.c:2128 optimizer/plan/planner.c:4114 +#: optimizer/plan/planner.c:4795 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:4675 +#: optimizer/plan/planner.c:4794 #, c-format msgid "could not implement DISTINCT" msgstr "не вдалося реалізувати DISTINCT" -#: optimizer/plan/planner.c:6014 +#: optimizer/plan/planner.c:6139 #, c-format msgid "could not implement window PARTITION BY" msgstr "не вдалося реалізувати PARTITION BY для вікна" -#: optimizer/plan/planner.c:6015 +#: optimizer/plan/planner.c:6140 #, c-format msgid "Window partitioning columns must be of sortable datatypes." msgstr "Стовпці, що розділяють вікна, повинні мати типи даних з можливістю сортування." -#: optimizer/plan/planner.c:6019 +#: optimizer/plan/planner.c:6144 #, c-format msgid "could not implement window ORDER BY" msgstr "не вдалося реалізувати ORDER BY для вікна" -#: optimizer/plan/planner.c:6020 +#: optimizer/plan/planner.c:6145 #, c-format msgid "Window ordering columns must be of sortable datatypes." msgstr "Стовпці, що впорядковують вікна, повинні мати типи даних з можливістю сортування." -#: optimizer/prep/prepunion.c:516 +#: optimizer/prep/prepunion.c:467 #, c-format msgid "could not implement recursive UNION" msgstr "не вдалося реалізувати рекурсивний UNION" -#: optimizer/prep/prepunion.c:517 +#: optimizer/prep/prepunion.c:468 #, c-format msgid "All column datatypes must be hashable." msgstr "Усі стовпці повинні мати типи даних з можливістю хешування." #. translator: %s is UNION, INTERSECT, or EXCEPT -#: optimizer/prep/prepunion.c:1052 +#: optimizer/prep/prepunion.c:1319 #, c-format msgid "could not implement %s" msgstr "не вдалося реалізувати %s" -#: optimizer/util/clauses.c:4929 +#: optimizer/util/clauses.c:4951 #, c-format msgid "SQL function \"%s\" during inlining" msgstr "Впроваджена в код SQL-функція \"%s\"" -#: optimizer/util/plancat.c:154 +#: optimizer/util/plancat.c:153 #, c-format msgid "cannot access temporary or unlogged relations during recovery" msgstr "отримати доступ до тимчасових або нежурнальованих відношень під час відновлення не можна" -#: optimizer/util/plancat.c:726 +#: optimizer/util/plancat.c:768 #, c-format msgid "whole row unique index inference specifications are not supported" msgstr "вказівки з посиланням на весь рядок для вибору унікального індексу не підтримуються" -#: optimizer/util/plancat.c:743 +#: optimizer/util/plancat.c:785 #, c-format msgid "constraint in ON CONFLICT clause has no associated index" msgstr "з обмеженням в реченні ON CONFLICT не пов'язаний індекс" -#: optimizer/util/plancat.c:793 +#: optimizer/util/plancat.c:835 #, c-format msgid "ON CONFLICT DO UPDATE not supported with exclusion constraints" msgstr "ON CONFLICT DO UPDATE не підтримується з обмеженнями-винятками" -#: optimizer/util/plancat.c:898 +#: optimizer/util/plancat.c:945 #, c-format msgid "there is no unique or exclusion constraint matching the ON CONFLICT specification" msgstr "немає унікального обмеження або обмеження-виключення відповідного специфікації ON CONFLICT" -#: parser/analyze.c:826 parser/analyze.c:1540 +#: parser/analyze.c:824 parser/analyze.c:1550 #, c-format msgid "VALUES lists must all be the same length" msgstr "Списки VALUES повинні мати однакову довжину" -#: parser/analyze.c:1028 +#: parser/analyze.c:1027 #, c-format msgid "INSERT has more expressions than target columns" msgstr "INSERT містить більше виразів, ніж цільових стовпців" -#: parser/analyze.c:1046 +#: parser/analyze.c:1045 #, c-format msgid "INSERT has more target columns than expressions" msgstr "INSERT містить більше цільових стовпців, ніж виразів" -#: parser/analyze.c:1050 +#: parser/analyze.c:1049 #, c-format msgid "The insertion source is a row expression containing the same number of columns expected by the INSERT. Did you accidentally use extra parentheses?" msgstr "Джерелом даних є вираз рядка, який містить стільки ж стовпців, скільки потребується для INSERT. Ви випадково використовували додаткові дужки?" -#: parser/analyze.c:1347 parser/analyze.c:1734 +#: parser/analyze.c:1357 parser/analyze.c:1744 #, c-format msgid "SELECT ... INTO is not allowed here" msgstr "SELECT ... INTO не дозволяється тут" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:1663 parser/analyze.c:3463 +#: parser/analyze.c:1673 parser/analyze.c:3479 #, c-format msgid "%s cannot be applied to VALUES" msgstr "%s не можна застосовувати до VALUES" -#: parser/analyze.c:1900 +#: parser/analyze.c:1911 #, c-format msgid "invalid UNION/INTERSECT/EXCEPT ORDER BY clause" msgstr "неприпустиме речення UNION/INTERSECT/EXCEPT ORDER BY" -#: parser/analyze.c:1901 +#: parser/analyze.c:1912 #, c-format msgid "Only result column names can be used, not expressions or functions." msgstr "Дозволено використання тільки імен стовпців, але не виразів або функцій." -#: parser/analyze.c:1902 +#: parser/analyze.c:1913 #, c-format msgid "Add the expression/function to every SELECT, or move the UNION into a FROM clause." msgstr "Додайте вираз/функція до кожного SELECT, або перемістіть UNION у речення FROM." -#: parser/analyze.c:2008 +#: parser/analyze.c:2019 #, c-format msgid "INTO is only allowed on first SELECT of UNION/INTERSECT/EXCEPT" msgstr "INTO дозволяється додати лише до першого SELECT в UNION/INTERSECT/EXCEPT" -#: parser/analyze.c:2080 +#: parser/analyze.c:2091 #, c-format msgid "UNION/INTERSECT/EXCEPT member statement cannot refer to other relations of same query level" msgstr "Учасник інструкції UNION/INTERSECT/EXCEPT не може посилатись на інші відносини на тому ж рівні" -#: parser/analyze.c:2167 +#: parser/analyze.c:2178 #, c-format msgid "each %s query must have the same number of columns" msgstr "кожен %s запит повинен мати однакову кількість стовпців" -#: parser/analyze.c:2573 +#: parser/analyze.c:2535 +#, c-format +msgid "SET target columns cannot be qualified with the relation name." +msgstr "Цільові стовпці SET не можуть бути кваліфіковані за допомогою імені відношення." + +#: parser/analyze.c:2589 #, c-format msgid "RETURNING must have at least one column" msgstr "В RETURNING повинен бути мінімум один стовпець" -#: parser/analyze.c:2676 +#: parser/analyze.c:2692 #, c-format msgid "assignment source returned %d column" msgid_plural "assignment source returned %d columns" @@ -16051,224 +16452,224 @@ msgstr[1] "джерело призначення повернуло %d стов msgstr[2] "джерело призначення повернуло %d стовпців" msgstr[3] "джерело призначення повернуло %d стовпців" -#: parser/analyze.c:2737 +#: parser/analyze.c:2753 #, c-format msgid "variable \"%s\" is of type %s but expression is of type %s" msgstr "змінна \"%s\" має тип %s, але вираз має тип %s" #. translator: %s is a SQL keyword -#: parser/analyze.c:2862 parser/analyze.c:2870 +#: parser/analyze.c:2878 parser/analyze.c:2886 #, c-format msgid "cannot specify both %s and %s" msgstr "не можна вказати як %s, так і %s" -#: parser/analyze.c:2890 +#: parser/analyze.c:2906 #, 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:2898 +#: parser/analyze.c:2914 #, c-format msgid "DECLARE CURSOR WITH HOLD ... %s is not supported" msgstr "DECLARE CURSOR WITH HOLD ... %s не підтримується" -#: parser/analyze.c:2901 +#: parser/analyze.c:2917 #, 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:2909 +#: parser/analyze.c:2925 #, 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:2920 +#: parser/analyze.c:2936 #, c-format msgid "DECLARE INSENSITIVE CURSOR ... %s is not valid" msgstr "DECLARE INSENSITIVE CURSOR ... %s не є припустимим" -#: parser/analyze.c:2923 +#: parser/analyze.c:2939 #, c-format msgid "Insensitive cursors must be READ ONLY." msgstr "Нечутливі курсори повинні бути READ ONLY." -#: parser/analyze.c:3017 +#: parser/analyze.c:3033 #, c-format msgid "materialized views must not use data-modifying statements in WITH" msgstr "в матеріалізованих поданнях не повинні використовуватись оператори, які змінюють дані в WITH" -#: parser/analyze.c:3027 +#: parser/analyze.c:3043 #, c-format msgid "materialized views must not use temporary tables or views" msgstr "в матеріалізованих поданнях не повинні використовуватись тимчасові таблиці або подання" -#: parser/analyze.c:3037 +#: parser/analyze.c:3053 #, c-format msgid "materialized views may not be defined using bound parameters" msgstr "визначати матеріалізовані подання з зв'язаними параметрами не можна" -#: parser/analyze.c:3049 +#: parser/analyze.c:3065 #, c-format msgid "materialized views cannot be unlogged" msgstr "матеріалізовані подання не можуть бути нежурнальованими" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3238 +#: parser/analyze.c:3254 #, 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:3245 +#: parser/analyze.c:3261 #, 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:3252 +#: parser/analyze.c:3268 #, 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:3259 +#: parser/analyze.c:3275 #, 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:3266 +#: parser/analyze.c:3282 #, 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:3273 +#: parser/analyze.c:3289 #, 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:3372 +#: parser/analyze.c:3388 #, 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:3436 +#: parser/analyze.c:3452 #, 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:3445 +#: parser/analyze.c:3461 #, 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:3454 +#: parser/analyze.c:3470 #, 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:3472 +#: parser/analyze.c:3488 #, 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:3481 +#: parser/analyze.c:3497 #, 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:3501 +#: parser/analyze.c:3517 #, c-format msgid "relation \"%s\" in %s clause not found in FROM clause" msgstr "відношення \"%s\" в реченні %s не знайдено в реченні FROM" -#: parser/parse_agg.c:209 parser/parse_oper.c:227 +#: parser/parse_agg.c:210 parser/parse_oper.c:215 #, c-format msgid "could not identify an ordering operator for type %s" msgstr "для типу %s не вдалося визначити оператора сортування" -#: parser/parse_agg.c:211 +#: parser/parse_agg.c:212 #, c-format msgid "Aggregates with DISTINCT must be able to sort their inputs." msgstr "Агрегатним функціям з DISTINCT необхідно сортувати їх вхідні дані." -#: parser/parse_agg.c:269 +#: parser/parse_agg.c:270 #, c-format msgid "GROUPING must have fewer than 32 arguments" msgstr "GROUPING повинно містити меньше, ніж 32 аргумента" -#: parser/parse_agg.c:372 +#: parser/parse_agg.c:373 msgid "aggregate functions are not allowed in JOIN conditions" msgstr "агрегатні функції не дозволяються в умовах JOIN" -#: parser/parse_agg.c:374 +#: parser/parse_agg.c:375 msgid "grouping operations are not allowed in JOIN conditions" msgstr "операції групування не дозволяються в умовах JOIN" -#: parser/parse_agg.c:386 +#: parser/parse_agg.c:385 msgid "aggregate functions are not allowed in FROM clause of their own query level" msgstr "агрегатні функції не можна застосовувати в реченні FROM їх рівня запиту" -#: parser/parse_agg.c:388 +#: parser/parse_agg.c:387 msgid "grouping operations are not allowed in FROM clause of their own query level" msgstr "операції групування не можна застосовувати в реченні FROM їх рівня запиту" -#: parser/parse_agg.c:393 +#: parser/parse_agg.c:392 msgid "aggregate functions are not allowed in functions in FROM" msgstr "агрегатні функції не можна застосовувати у функціях у FROM" -#: parser/parse_agg.c:395 +#: parser/parse_agg.c:394 msgid "grouping operations are not allowed in functions in FROM" msgstr "операції групування не можна застосовувати у функціях у FROM" -#: parser/parse_agg.c:403 +#: parser/parse_agg.c:402 msgid "aggregate functions are not allowed in policy expressions" msgstr "агрегатні функції не можна застосовувати у виразах політики" -#: parser/parse_agg.c:405 +#: parser/parse_agg.c:404 msgid "grouping operations are not allowed in policy expressions" msgstr "операції групування не можна застосовувати у виразах політики" -#: parser/parse_agg.c:422 +#: parser/parse_agg.c:421 msgid "aggregate functions are not allowed in window RANGE" msgstr "агрегатні функції не можна застосовувати у вікні RANGE " -#: parser/parse_agg.c:424 +#: parser/parse_agg.c:423 msgid "grouping operations are not allowed in window RANGE" msgstr "операції групування не можна застосовувати у вікні RANGE" -#: parser/parse_agg.c:429 +#: parser/parse_agg.c:428 msgid "aggregate functions are not allowed in window ROWS" msgstr "агрегатні функції не можна застосовувати у вікні ROWS" -#: parser/parse_agg.c:431 +#: parser/parse_agg.c:430 msgid "grouping operations are not allowed in window ROWS" msgstr "операції групування не можна застосовувати у вікні ROWS" -#: parser/parse_agg.c:436 +#: parser/parse_agg.c:435 msgid "aggregate functions are not allowed in window GROUPS" msgstr "агрегатні функції не можна застосовувати у вікні GROUPS" -#: parser/parse_agg.c:438 +#: parser/parse_agg.c:437 msgid "grouping operations are not allowed in window GROUPS" msgstr "операції групування не можна застосовувати у вікні GROUPS" -#: parser/parse_agg.c:451 +#: parser/parse_agg.c:450 msgid "aggregate functions are not allowed in MERGE WHEN conditions" msgstr "агрегатні функції не можна застосовувати в умовах MERGE WHEN" -#: parser/parse_agg.c:453 +#: parser/parse_agg.c:452 msgid "grouping operations are not allowed in MERGE WHEN conditions" msgstr "операції групування не можна застосовувати в умовах MERGE WHEN" @@ -16377,7 +16778,7 @@ 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:1956 +#: parser/parse_agg.c:597 parser/parse_clause.c:1962 #, c-format msgid "aggregate functions are not allowed in %s" msgstr "агрегатні функції не можна застосовувати в %s" @@ -16398,8 +16799,8 @@ msgstr "агрегат зовнішнього рівня не може міст msgid "aggregate function calls cannot contain set-returning function calls" msgstr "виклики агрегатної функції не можуть містити викликів функції, що повертають множину" -#: parser/parse_agg.c:780 parser/parse_expr.c:1700 parser/parse_expr.c:2182 -#: parser/parse_func.c:884 +#: parser/parse_agg.c:780 parser/parse_expr.c:1762 parser/parse_expr.c:2245 +#: 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." @@ -16429,170 +16830,170 @@ msgstr "віконні функції не можна застосовувати msgid "window functions are not allowed in MERGE WHEN conditions" msgstr "віконні функції не можна застосовувати в умовах MERGE WHEN" -#: parser/parse_agg.c:925 +#: parser/parse_agg.c:926 msgid "window functions are not allowed in check constraints" msgstr "віконні функції не можна застосовувати в перевірках обмежень" -#: parser/parse_agg.c:929 +#: parser/parse_agg.c:930 msgid "window functions are not allowed in DEFAULT expressions" msgstr "віконні функції не можна застосовувати у виразах DEFAULT" -#: parser/parse_agg.c:932 +#: parser/parse_agg.c:933 msgid "window functions are not allowed in index expressions" msgstr "віконні функції не можна застосовувати у виразах індексів" -#: parser/parse_agg.c:935 +#: parser/parse_agg.c:936 msgid "window functions are not allowed in statistics expressions" msgstr "віконні функції не можна застосовувати у виразах статистики" -#: parser/parse_agg.c:938 +#: parser/parse_agg.c:939 msgid "window functions are not allowed in index predicates" msgstr "віконні функції не можна застосовувати в предикатах індексів" -#: parser/parse_agg.c:941 +#: parser/parse_agg.c:942 msgid "window functions are not allowed in transform expressions" msgstr "віконні функції не можна застосовувати у виразах перетворювання" -#: parser/parse_agg.c:944 +#: parser/parse_agg.c:945 msgid "window functions are not allowed in EXECUTE parameters" msgstr "віконні функції не можна застосовувати в параметрах EXECUTE" -#: parser/parse_agg.c:947 +#: parser/parse_agg.c:948 msgid "window functions are not allowed in trigger WHEN conditions" msgstr "віконні функції не можна застосовувати в умовах WHEN для тригерів" -#: parser/parse_agg.c:950 +#: parser/parse_agg.c:951 msgid "window functions are not allowed in partition bound" msgstr "віконні функції не можна застосовувати в границі секції" -#: parser/parse_agg.c:953 +#: parser/parse_agg.c:954 msgid "window functions are not allowed in partition key expressions" msgstr "віконні функції не можна застосовувати у виразах ключа секціонування" -#: parser/parse_agg.c:956 +#: parser/parse_agg.c:957 msgid "window functions are not allowed in CALL arguments" msgstr "віконні функції не можна застосовувати в аргументах CALL" -#: parser/parse_agg.c:959 +#: parser/parse_agg.c:960 msgid "window functions are not allowed in COPY FROM WHERE conditions" msgstr "віконні функції не можна застосовувати в умовах COPY FROM WHERE" -#: parser/parse_agg.c:962 +#: parser/parse_agg.c:963 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:985 parser/parse_clause.c:1965 +#: parser/parse_agg.c:986 parser/parse_clause.c:1971 #, c-format msgid "window functions are not allowed in %s" msgstr "віконні функції не можна застосовувати в %s" -#: parser/parse_agg.c:1019 parser/parse_clause.c:2798 +#: parser/parse_agg.c:1020 parser/parse_clause.c:2804 #, c-format msgid "window \"%s\" does not exist" msgstr "вікно \"%s\" не існує" -#: parser/parse_agg.c:1107 +#: parser/parse_agg.c:1108 #, c-format msgid "too many grouping sets present (maximum 4096)" msgstr "забагато наборів групування (максимум 4096)" -#: parser/parse_agg.c:1247 +#: parser/parse_agg.c:1248 #, c-format msgid "aggregate functions are not allowed in a recursive query's recursive term" msgstr "агрегатні функції не дозволені у рекурсивному терміні рекурсивного запиту" -#: parser/parse_agg.c:1440 +#: parser/parse_agg.c:1441 #, 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:1443 +#: parser/parse_agg.c:1444 #, c-format msgid "Direct arguments of an ordered-set aggregate must use only grouped columns." msgstr "Прямі аргументи сортувального агрегату можуть використовувати лише згруповані стовпці." -#: parser/parse_agg.c:1448 +#: parser/parse_agg.c:1449 #, c-format msgid "subquery uses ungrouped column \"%s.%s\" from outer query" msgstr "вкладений запит використовує не згруповані стовпці \"%s.%s\" з зовнішнього запиту" -#: parser/parse_agg.c:1612 +#: parser/parse_agg.c:1613 #, c-format msgid "arguments to GROUPING must be grouping expressions of the associated query level" msgstr "аргументами групування мають бути вирази групування пов'язаного рівня запиту" -#: parser/parse_clause.c:195 +#: parser/parse_clause.c:193 #, c-format msgid "relation \"%s\" cannot be the target of a modifying statement" msgstr "відношення \"%s\" не може бути метою модифікованої інструкції" -#: parser/parse_clause.c:571 parser/parse_clause.c:599 parser/parse_func.c:2552 +#: parser/parse_clause.c:569 parser/parse_clause.c:597 parser/parse_func.c:2553 #, c-format msgid "set-returning functions must appear at top level of FROM" msgstr "функції, що повертають множину, мають з'являтися на вищому рівні FROM" -#: parser/parse_clause.c:611 +#: parser/parse_clause.c:609 #, c-format msgid "multiple column definition lists are not allowed for the same function" msgstr "кілька списків з визначенням стовпців не дозволені для тої самої функції" -#: parser/parse_clause.c:644 +#: parser/parse_clause.c:642 #, c-format msgid "ROWS FROM() with multiple functions cannot have a column definition list" msgstr "ROWS FROM() з декількома функціями не можуть мати список з визначенням стовпців" -#: parser/parse_clause.c:645 +#: parser/parse_clause.c:643 #, c-format msgid "Put a separate column definition list for each function inside ROWS FROM()." msgstr "Укладіть окремі списки з визначенням стовпців для кожної з функцій всередині ROWS FROM()." -#: parser/parse_clause.c:651 +#: parser/parse_clause.c:649 #, c-format msgid "UNNEST() with multiple arguments cannot have a column definition list" msgstr "UNNEST() з кількома аргументами не можуть мати список з визначенням стовпців" -#: parser/parse_clause.c:652 +#: parser/parse_clause.c:650 #, c-format msgid "Use separate UNNEST() calls inside ROWS FROM(), and attach a column definition list to each one." msgstr "Використайте окремі виклики UNNEST() всередині ROWS FROM() і підключіть список з визначенням стовпців до кожного." -#: parser/parse_clause.c:659 +#: parser/parse_clause.c:657 #, c-format msgid "WITH ORDINALITY cannot be used with a column definition list" msgstr "WITH ORDINALITY не можна використовувати з списком з визначенням стовпців" -#: parser/parse_clause.c:660 +#: parser/parse_clause.c:658 #, c-format msgid "Put the column definition list inside ROWS FROM()." msgstr "Помістіть список з визначенням стовпців всередину ROWS FROM()." -#: parser/parse_clause.c:760 +#: parser/parse_clause.c:762 parser/parse_jsontable.c:295 #, c-format msgid "only one FOR ORDINALITY column is allowed" msgstr "FOR ORDINALITY дозволяється лише для одного стовпця" -#: parser/parse_clause.c:821 +#: parser/parse_clause.c:823 #, c-format msgid "column name \"%s\" is not unique" msgstr "ім'я стовпця \"%s\" не є унікальним" -#: parser/parse_clause.c:863 +#: parser/parse_clause.c:865 #, c-format msgid "namespace name \"%s\" is not unique" msgstr "ім'я простору імен \"%s\" не є унікальним" -#: parser/parse_clause.c:873 +#: parser/parse_clause.c:875 #, c-format msgid "only one default namespace is allowed" msgstr "дозволено тільки один простір імен за замовчуванням" -#: parser/parse_clause.c:933 +#: parser/parse_clause.c:935 #, c-format msgid "tablesample method %s does not exist" msgstr "метод %s для отримання вибірки не існує" -#: parser/parse_clause.c:955 +#: parser/parse_clause.c:957 #, c-format msgid "tablesample method %s requires %d argument, not %d" msgid_plural "tablesample method %s requires %d arguments, not %d" @@ -16601,204 +17002,204 @@ msgstr[1] "метод %s для отримання вибірки потребу msgstr[2] "метод %s для отримання вибірки потребує аргументів: %d, отримано: %d" msgstr[3] "метод %s для отримання вибірки потребує аргументів: %d, отримано: %d" -#: parser/parse_clause.c:989 +#: parser/parse_clause.c:991 #, c-format msgid "tablesample method %s does not support REPEATABLE" msgstr "метод %s для отримання вибірки не підтримує REPEATABLE" -#: parser/parse_clause.c:1138 +#: parser/parse_clause.c:1144 #, c-format msgid "TABLESAMPLE clause can only be applied to tables and materialized views" msgstr "Речення TABLESAMPLE можна застосовувати лише до таблиць або матеріалізованих подань" -#: parser/parse_clause.c:1325 +#: parser/parse_clause.c:1331 #, c-format msgid "column name \"%s\" appears more than once in USING clause" msgstr "ім’я стовпця \"%s\" з'являється у реченні USING неодноразово" -#: parser/parse_clause.c:1340 +#: parser/parse_clause.c:1346 #, c-format msgid "common column name \"%s\" appears more than once in left table" msgstr "ім’я спільного стовпця \"%s\" з'являється у таблиці зліва неодноразово" -#: parser/parse_clause.c:1349 +#: parser/parse_clause.c:1355 #, c-format msgid "column \"%s\" specified in USING clause does not exist in left table" msgstr "в таблиці зліва не існує стовпець \"%s\", вказаний в реченні USING" -#: parser/parse_clause.c:1364 +#: parser/parse_clause.c:1370 #, c-format msgid "common column name \"%s\" appears more than once in right table" msgstr "ім’я спільного стовпця \"%s\" з'являється в таблиці справа неодноразово" -#: parser/parse_clause.c:1373 +#: parser/parse_clause.c:1379 #, c-format msgid "column \"%s\" specified in USING clause does not exist in right table" msgstr "в таблиці справа не існує стовпець \"%s\", вказаний в реченні USING" -#: parser/parse_clause.c:1901 +#: parser/parse_clause.c:1907 #, c-format msgid "row count cannot be null in FETCH FIRST ... WITH TIES clause" msgstr "кількість рядків не може бути NULL в операторі FETCH FIRST ... WITH TIES" #. translator: %s is name of a SQL construct, eg LIMIT -#: parser/parse_clause.c:1926 +#: parser/parse_clause.c:1932 #, c-format msgid "argument of %s must not contain variables" msgstr "аргумент %s не може містити змінні" #. translator: first %s is name of a SQL construct, eg ORDER BY -#: parser/parse_clause.c:2091 +#: parser/parse_clause.c:2097 #, c-format msgid "%s \"%s\" is ambiguous" msgstr "вираз %s \"%s\" неоднозначний" #. translator: %s is name of a SQL construct, eg ORDER BY -#: parser/parse_clause.c:2119 +#: parser/parse_clause.c:2125 #, c-format msgid "non-integer constant in %s" msgstr "нецілочисельна константа в %s" #. translator: %s is name of a SQL construct, eg ORDER BY -#: parser/parse_clause.c:2141 +#: parser/parse_clause.c:2147 #, c-format msgid "%s position %d is not in select list" msgstr "в списку вибірки %s немає позиції %d" -#: parser/parse_clause.c:2580 +#: parser/parse_clause.c:2586 #, c-format msgid "CUBE is limited to 12 elements" msgstr "CUBE має обмеження в 12 елементів" -#: parser/parse_clause.c:2786 +#: parser/parse_clause.c:2792 #, c-format msgid "window \"%s\" is already defined" msgstr "вікно \"%s\" вже визначено" -#: parser/parse_clause.c:2847 +#: parser/parse_clause.c:2853 #, c-format msgid "cannot override PARTITION BY clause of window \"%s\"" msgstr "змінити речення PARTITION BY для вікна \"%s\" не можна" -#: parser/parse_clause.c:2859 +#: parser/parse_clause.c:2865 #, c-format msgid "cannot override ORDER BY clause of window \"%s\"" msgstr "змінити речення ORDER BY для вікна \"%s\" не можна" -#: parser/parse_clause.c:2889 parser/parse_clause.c:2895 +#: parser/parse_clause.c:2895 parser/parse_clause.c:2901 #, c-format msgid "cannot copy window \"%s\" because it has a frame clause" msgstr "скопіювати вікно \"%s\", яке має речення рамки, не можна" -#: parser/parse_clause.c:2897 +#: parser/parse_clause.c:2903 #, c-format msgid "Omit the parentheses in this OVER clause." msgstr "Пропустіть дужки в реченні OVER." -#: parser/parse_clause.c:2917 +#: parser/parse_clause.c:2923 #, c-format msgid "RANGE with offset PRECEDING/FOLLOWING requires exactly one ORDER BY column" msgstr "Для RANGE з зсувом PRECEDING/FOLLOWING потребується лише один стовпець в ORDER BY" -#: parser/parse_clause.c:2940 +#: parser/parse_clause.c:2946 #, c-format msgid "GROUPS mode requires an ORDER BY clause" msgstr "Для режиму GROUPS потребується речення ORDER BY" -#: parser/parse_clause.c:3011 +#: parser/parse_clause.c:3016 #, c-format msgid "in an aggregate with DISTINCT, ORDER BY expressions must appear in argument list" msgstr "для агрегатної функції з DISTINCT, вирази ORDER BY повинні з'являтись у списку аргументів" -#: parser/parse_clause.c:3012 +#: parser/parse_clause.c:3017 #, c-format msgid "for SELECT DISTINCT, ORDER BY expressions must appear in select list" msgstr "для SELECT DISTINCT вирази ORDER BY повинні бути в списку вибірки" -#: parser/parse_clause.c:3044 +#: parser/parse_clause.c:3049 #, c-format msgid "an aggregate with DISTINCT must have at least one argument" msgstr "агрегатна функція з DISTINCT повинна мати мінімум один аргумент" -#: parser/parse_clause.c:3045 +#: parser/parse_clause.c:3050 #, c-format msgid "SELECT DISTINCT must have at least one column" msgstr "SELECT DISTINCT повинен мати мінімум один стовпець" -#: parser/parse_clause.c:3111 parser/parse_clause.c:3143 +#: parser/parse_clause.c:3116 parser/parse_clause.c:3148 #, c-format msgid "SELECT DISTINCT ON expressions must match initial ORDER BY expressions" msgstr "Вирази SELECT DISTINCT ON повинні відповідати початковим виразам ORDER BY" -#: parser/parse_clause.c:3221 +#: parser/parse_clause.c:3226 #, c-format msgid "ASC/DESC is not allowed in ON CONFLICT clause" msgstr "ASC/DESC не дозволяється в реченні ON CONFLICT" -#: parser/parse_clause.c:3227 +#: parser/parse_clause.c:3232 #, c-format msgid "NULLS FIRST/LAST is not allowed in ON CONFLICT clause" msgstr "NULLS FIRST/LAST не довзоляється в реченні ON CONFLICT" -#: parser/parse_clause.c:3306 +#: parser/parse_clause.c:3311 #, c-format msgid "ON CONFLICT DO UPDATE requires inference specification or constraint name" msgstr "ON CONFLICT DO UPDATE вимагає специфікації висновку або імені обмеження" -#: parser/parse_clause.c:3307 +#: parser/parse_clause.c:3312 #, c-format msgid "For example, ON CONFLICT (column_name)." msgstr "Наприклад, ON CONFLICT (ім'я_стовпця)." -#: parser/parse_clause.c:3318 +#: parser/parse_clause.c:3323 #, c-format msgid "ON CONFLICT is not supported with system catalog tables" msgstr "ON CONFLICT не підтримується таблицями системного каталогу" -#: parser/parse_clause.c:3326 +#: parser/parse_clause.c:3331 #, c-format msgid "ON CONFLICT is not supported on table \"%s\" used as a catalog table" msgstr "ON CONFLICT не підтримується в таблиці \"%s\", що використовується як таблиця каталогу" -#: parser/parse_clause.c:3457 +#: parser/parse_clause.c:3462 #, c-format msgid "operator %s is not a valid ordering operator" msgstr "оператор %s не є дійсним оператором сортування" -#: parser/parse_clause.c:3459 +#: parser/parse_clause.c:3464 #, c-format msgid "Ordering operators must be \"<\" or \">\" members of btree operator families." msgstr "Оператори сортування повинні бути учасниками \"<\" або \">\" сімейств операторів btree." -#: parser/parse_clause.c:3770 +#: parser/parse_clause.c:3775 #, c-format msgid "RANGE with offset PRECEDING/FOLLOWING is not supported for column type %s" msgstr "RANGE зі зсувом PRECEDING/FOLLOWING не підтримується для типу стовпця %s" -#: parser/parse_clause.c:3776 +#: parser/parse_clause.c:3781 #, c-format msgid "RANGE with offset PRECEDING/FOLLOWING is not supported for column type %s and offset type %s" msgstr "RANGE зі зсувом PRECEDING/FOLLOWING не підтримується для типу стовпця %s і типу зсуву %s" -#: parser/parse_clause.c:3779 +#: parser/parse_clause.c:3784 #, c-format msgid "Cast the offset value to an appropriate type." msgstr "Приведіть значення зсуву до потрібного типу." -#: parser/parse_clause.c:3784 +#: parser/parse_clause.c:3789 #, c-format msgid "RANGE with offset PRECEDING/FOLLOWING has multiple interpretations for column type %s and offset type %s" msgstr "RANGE зі зсувом PRECEDING/FOLLOWING має декілька інтерпретацій для типу стовпця %s і типу зсуву %s" -#: parser/parse_clause.c:3787 +#: parser/parse_clause.c:3792 #, c-format msgid "Cast the offset value to the exact intended type." msgstr "Приведіть значення зсуву в точності до призначеного типу." #: parser/parse_coerce.c:1050 parser/parse_coerce.c:1088 #: parser/parse_coerce.c:1106 parser/parse_coerce.c:1121 -#: parser/parse_expr.c:2083 parser/parse_expr.c:2691 parser/parse_expr.c:3497 -#: parser/parse_target.c:985 +#: parser/parse_expr.c:2146 parser/parse_expr.c:2754 parser/parse_expr.c:3405 +#: parser/parse_expr.c:3634 parser/parse_target.c:998 #, c-format msgid "cannot cast type %s to %s" msgstr "неможливо транслювати тип %s в %s" @@ -16857,19 +17258,19 @@ msgid "arguments declared \"%s\" are not all alike" msgstr "оголошенні аргументи \"%s\", повинні бути схожими" #: parser/parse_coerce.c:2249 parser/parse_coerce.c:2362 -#: utils/fmgr/funcapi.c:592 +#: utils/fmgr/funcapi.c:600 #, c-format msgid "argument declared %s is not an array but type %s" msgstr "аргумент, оголошений як %s , є не масивом, а типом %s" #: parser/parse_coerce.c:2282 parser/parse_coerce.c:2432 -#: utils/fmgr/funcapi.c:606 +#: utils/fmgr/funcapi.c:614 #, c-format msgid "argument declared %s is not a range type but type %s" msgstr "аргумент, оголошений як %s, є не діапазонним типом, а типом %s" #: parser/parse_coerce.c:2316 parser/parse_coerce.c:2396 -#: parser/parse_coerce.c:2529 utils/fmgr/funcapi.c:624 utils/fmgr/funcapi.c:689 +#: parser/parse_coerce.c:2529 utils/fmgr/funcapi.c:632 utils/fmgr/funcapi.c:697 #, c-format msgid "argument declared %s is not a multirange type but type %s" msgstr "оголошений аргумент %s не є багатодіапазонним типом, а типом %s" @@ -16993,437 +17394,547 @@ msgstr "рекурсивне посилання на запит \"%s\" не по msgid "recursive reference to query \"%s\" must not appear within EXCEPT" msgstr "рекурсивне посилання на запит \"%s\" не повинне з'являтись в EXCEPT" -#: parser/parse_cte.c:133 -#, c-format -msgid "MERGE not supported in WITH query" -msgstr "MERGE не підтримується в запиті WITH" - -#: parser/parse_cte.c:143 +#: parser/parse_cte.c:136 #, c-format msgid "WITH query name \"%s\" specified more than once" msgstr "Ім’я запиту WITH \"%s\" вказано неодноразово" -#: parser/parse_cte.c:314 +#: parser/parse_cte.c:308 #, c-format msgid "could not identify an inequality operator for type %s" msgstr "не вдалося визначити оператора нерівності для типу %s" -#: parser/parse_cte.c:341 +#: parser/parse_cte.c:335 #, c-format msgid "WITH clause containing a data-modifying statement must be at the top level" msgstr "Речення WITH, яке містить оператор, що змінює дані, повинне бути на верхньому рівні" -#: parser/parse_cte.c:390 +#: parser/parse_cte.c:384 #, 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:396 +#: parser/parse_cte.c:390 #, c-format msgid "Cast the output of the non-recursive term to the correct type." msgstr "Приведіть результат нерекурсивної частини до правильного типу." -#: parser/parse_cte.c:401 +#: parser/parse_cte.c:395 #, 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:405 +#: parser/parse_cte.c:399 #, c-format msgid "Use the COLLATE clause to set the collation of the non-recursive term." msgstr "Використайте речення COLLATE, щоб встановити параметри сортування в нерекурсивній частині." -#: parser/parse_cte.c:426 +#: parser/parse_cte.c:420 #, c-format msgid "WITH query is not recursive" msgstr "Запит WITH не є рекурсивним" -#: parser/parse_cte.c:457 +#: parser/parse_cte.c:451 #, 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:462 +#: parser/parse_cte.c:456 #, 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:477 +#: parser/parse_cte.c:471 #, c-format msgid "search column \"%s\" not in WITH query column list" msgstr "пошуковий стовпець \"%s\" відсутній в списку стовпців запиту WITH" -#: parser/parse_cte.c:484 +#: parser/parse_cte.c:478 #, c-format msgid "search column \"%s\" specified more than once" msgstr "пошуковий стовпець \"%s\" вказано більше одного разу" -#: parser/parse_cte.c:493 +#: parser/parse_cte.c:487 #, c-format msgid "search sequence column name \"%s\" already used in WITH query column list" msgstr "назва послідовності пошуку \"%s\" вже використовується у списку стовпців запиту WITH" -#: parser/parse_cte.c:510 +#: parser/parse_cte.c:504 #, c-format msgid "cycle column \"%s\" not in WITH query column list" msgstr "стовпець циклу \"%s\" відсутній в списку стовпців запиту WITH" -#: parser/parse_cte.c:517 +#: parser/parse_cte.c:511 #, c-format msgid "cycle column \"%s\" specified more than once" msgstr "стовпець циклу \"%s\" вказано більше одного разу" -#: parser/parse_cte.c:526 +#: parser/parse_cte.c:520 #, c-format msgid "cycle mark column name \"%s\" already used in WITH query column list" msgstr "назва стовпця позначки циклу \"%s\" вже використовується у списку стовпців запиту WITH" -#: parser/parse_cte.c:533 +#: parser/parse_cte.c:527 #, c-format msgid "cycle path column name \"%s\" already used in WITH query column list" msgstr "назва стовпця циклу шляху \"%s\" вже використовується у списку стовпців запиту WITH" -#: parser/parse_cte.c:541 +#: parser/parse_cte.c:535 #, c-format msgid "cycle mark column name and cycle path column name are the same" msgstr "назва стовпця позначки циклу і назва стовпця циклу шляху однакові" -#: parser/parse_cte.c:551 +#: parser/parse_cte.c:545 #, c-format msgid "search sequence column name and cycle mark column name are the same" msgstr "назва стовпця послідовності пошуку і назва стовпця позначки циклу однакові" -#: parser/parse_cte.c:558 +#: parser/parse_cte.c:552 #, c-format msgid "search sequence column name and cycle path column name are the same" msgstr "назва стовпця послідовності пошуку і назва стовпця циклу шляху однакові" -#: parser/parse_cte.c:642 +#: parser/parse_cte.c:636 #, c-format msgid "WITH query \"%s\" has %d columns available but %d columns specified" msgstr "Запит WITH \"%s\" має %d доступних стовпців, але %d стовпців вказано" -#: parser/parse_cte.c:822 +#: parser/parse_cte.c:816 #, c-format msgid "mutual recursion between WITH items is not implemented" msgstr "взаємна рекурсія між елементами WITH не реалізована" -#: parser/parse_cte.c:874 +#: parser/parse_cte.c:868 #, c-format msgid "recursive query \"%s\" must not contain data-modifying statements" msgstr "рекурсивний запит \"%s\" не повинен містити оператори, які змінюють дані" -#: parser/parse_cte.c:882 +#: parser/parse_cte.c:876 #, 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:926 +#: parser/parse_cte.c:911 #, c-format msgid "ORDER BY in a recursive query is not implemented" msgstr "ORDER BY в рекурсивному запиті не реалізовано" -#: parser/parse_cte.c:932 +#: parser/parse_cte.c:917 #, c-format msgid "OFFSET in a recursive query is not implemented" msgstr "OFFSET у рекурсивному запиті не реалізовано" -#: parser/parse_cte.c:938 +#: parser/parse_cte.c:923 #, c-format msgid "LIMIT in a recursive query is not implemented" msgstr "LIMIT у рекурсивному запиті не реалізовано" -#: parser/parse_cte.c:944 +#: parser/parse_cte.c:929 #, c-format msgid "FOR UPDATE/SHARE in a recursive query is not implemented" msgstr "FOR UPDATE/SHARE в рекурсивному запиті не реалізовано" -#: parser/parse_cte.c:1001 +#: parser/parse_cte.c:1008 #, c-format msgid "recursive reference to query \"%s\" must not appear more than once" msgstr "рекурсивне посилання на запит \"%s\" не повинне з'являтись неодноразово" -#: parser/parse_expr.c:294 +#: parser/parse_expr.c:313 #, c-format msgid "DEFAULT is not allowed in this context" msgstr "DEFAULT не допускається в цьому контексті" -#: parser/parse_expr.c:371 parser/parse_relation.c:3688 -#: parser/parse_relation.c:3698 parser/parse_relation.c:3716 -#: parser/parse_relation.c:3723 parser/parse_relation.c:3737 +#: parser/parse_expr.c:406 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:383 +#: parser/parse_expr.c:418 #, c-format msgid "column \"%s\" not found in data type %s" msgstr "стовпець \"%s\" не знайдено в типі даних %s" -#: parser/parse_expr.c:389 +#: parser/parse_expr.c:424 #, c-format msgid "could not identify column \"%s\" in record data type" msgstr "не вдалося ідентифікувати стовпець \"%s\" в типі запису" -#: parser/parse_expr.c:395 +#: parser/parse_expr.c:430 #, c-format msgid "column notation .%s applied to type %s, which is not a composite type" msgstr "запис імені стовпця .%s застосований до типу %s, котрий не є складеним типом" -#: parser/parse_expr.c:426 parser/parse_target.c:733 +#: parser/parse_expr.c:461 parser/parse_target.c:732 #, c-format msgid "row expansion via \"*\" is not supported here" msgstr "розширення рядка через \"*\" тут не підтримується" -#: parser/parse_expr.c:548 +#: parser/parse_expr.c:584 msgid "cannot use column reference in DEFAULT expression" msgstr "у виразі DEFAULT не можна використовувати посилання на стовпець" -#: parser/parse_expr.c:551 +#: parser/parse_expr.c:587 msgid "cannot use column reference in partition bound expression" msgstr "у виразі границі секції не можна використовувати посилання на стовпці" -#: parser/parse_expr.c:810 parser/parse_relation.c:833 -#: parser/parse_relation.c:915 parser/parse_target.c:1225 +#: parser/parse_expr.c:846 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:866 parser/parse_param.c:110 parser/parse_param.c:142 +#: parser/parse_expr.c:902 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 не існує" -#: parser/parse_expr.c:1066 +#. translator: %s is name of a SQL construct, eg NULLIF +#: parser/parse_expr.c:1103 parser/parse_expr.c:3065 #, c-format -msgid "NULLIF requires = operator to yield boolean" -msgstr "NULLIF потребує = щоб оператор повертав логічне значення" +msgid "%s requires = operator to yield boolean" +msgstr "" #. translator: %s is name of a SQL construct, eg NULLIF -#: parser/parse_expr.c:1072 parser/parse_expr.c:3007 +#: parser/parse_expr.c:1109 parser/parse_expr.c:3072 #, c-format msgid "%s must not return a set" msgstr "%s не повинна повертати набір" -#: parser/parse_expr.c:1457 parser/parse_expr.c:1489 +#: parser/parse_expr.c:1395 +#, c-format +msgid "MERGE_ACTION() can only be used in the RETURNING list of a MERGE command" +msgstr "" + +#: parser/parse_expr.c:1519 parser/parse_expr.c:1551 #, c-format msgid "number of columns does not match number of values" msgstr "кількість стовпців не відповідає кількості значень" -#: parser/parse_expr.c:1503 +#: parser/parse_expr.c:1565 #, 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:1698 parser/parse_expr.c:2180 parser/parse_func.c:2677 +#: parser/parse_expr.c:1760 parser/parse_expr.c:2243 parser/parse_func.c:2679 #, c-format msgid "set-returning functions are not allowed in %s" msgstr "функції, повертаючі набори, не дозволяються в %s" -#: parser/parse_expr.c:1761 +#: parser/parse_expr.c:1824 msgid "cannot use subquery in check constraint" msgstr "в обмеженні-перевірці не можна використовувати підзапити" -#: parser/parse_expr.c:1765 +#: parser/parse_expr.c:1828 msgid "cannot use subquery in DEFAULT expression" msgstr "у виразі DEFAULT не можна використовувати підзапити" -#: parser/parse_expr.c:1768 +#: parser/parse_expr.c:1831 msgid "cannot use subquery in index expression" msgstr "в індексному виразі не можна використовувати підзапити" -#: parser/parse_expr.c:1771 +#: parser/parse_expr.c:1834 msgid "cannot use subquery in index predicate" msgstr "в предикаті індексу не можна використовувати підзапити" -#: parser/parse_expr.c:1774 +#: parser/parse_expr.c:1837 msgid "cannot use subquery in statistics expression" msgstr "у виразі статистики не можна використовувати підзапит" -#: parser/parse_expr.c:1777 +#: parser/parse_expr.c:1840 msgid "cannot use subquery in transform expression" msgstr "у виразі перетворення не можна використовувати підзапити" -#: parser/parse_expr.c:1780 +#: parser/parse_expr.c:1843 msgid "cannot use subquery in EXECUTE parameter" msgstr "в параметрі EXECUTE не можна використовувати підзапити" -#: parser/parse_expr.c:1783 +#: parser/parse_expr.c:1846 msgid "cannot use subquery in trigger WHEN condition" msgstr "в умові WHEN для тригеру не можна використовувати підзапити" -#: parser/parse_expr.c:1786 +#: parser/parse_expr.c:1849 msgid "cannot use subquery in partition bound" msgstr "в границі секції не можна використовувати підзапити" -#: parser/parse_expr.c:1789 +#: parser/parse_expr.c:1852 msgid "cannot use subquery in partition key expression" msgstr "у виразі ключа секціонування не можна використовувати підзапити" -#: parser/parse_expr.c:1792 +#: parser/parse_expr.c:1855 msgid "cannot use subquery in CALL argument" msgstr "в аргументі CALL не можна використовувати підзапити" -#: parser/parse_expr.c:1795 +#: parser/parse_expr.c:1858 msgid "cannot use subquery in COPY FROM WHERE condition" msgstr "не можна використовувати підзапити в умові COPY FROM WHERE" -#: parser/parse_expr.c:1798 +#: parser/parse_expr.c:1861 msgid "cannot use subquery in column generation expression" msgstr "у виразі генерації стовпців не можна використовувати підзапити" -#: parser/parse_expr.c:1851 parser/parse_expr.c:3628 +#: parser/parse_expr.c:1914 parser/parse_expr.c:3764 #, c-format msgid "subquery must return only one column" msgstr "підзапит повинен повертати лише один стовпець" -#: parser/parse_expr.c:1922 +#: parser/parse_expr.c:1985 #, c-format msgid "subquery has too many columns" msgstr "підзапит має занадто багато стовпців" -#: parser/parse_expr.c:1927 +#: parser/parse_expr.c:1990 #, c-format msgid "subquery has too few columns" msgstr "підзапит має занадто мало стовпців" -#: parser/parse_expr.c:2023 +#: parser/parse_expr.c:2086 #, c-format msgid "cannot determine type of empty array" msgstr "тип пустого масиву визначити не можна" -#: parser/parse_expr.c:2024 +#: parser/parse_expr.c:2087 #, c-format msgid "Explicitly cast to the desired type, for example ARRAY[]::integer[]." msgstr "Приведіть його до бажаного типу явним чином, наприклад ARRAY[]::integer[]." -#: parser/parse_expr.c:2038 +#: parser/parse_expr.c:2101 #, c-format msgid "could not find element type for data type %s" msgstr "не вдалося знайти тип елементу для типу даних %s" -#: parser/parse_expr.c:2121 +#: parser/parse_expr.c:2184 #, c-format msgid "ROW expressions can have at most %d entries" msgstr "ROW вирази можуть мати максимум %d елементів" -#: parser/parse_expr.c:2326 +#: parser/parse_expr.c:2389 #, c-format msgid "unnamed XML attribute value must be a column reference" msgstr "замість значення XML-атрибуту без імені повинен вказуватись стовпець" -#: parser/parse_expr.c:2327 +#: parser/parse_expr.c:2390 #, c-format msgid "unnamed XML element value must be a column reference" msgstr "замість значення XML-елементу без імені повинен вказуватись стовпець" -#: parser/parse_expr.c:2342 +#: parser/parse_expr.c:2405 #, c-format msgid "XML attribute name \"%s\" appears more than once" msgstr "Ім'я XML-атрибуту \"%s\" з'являється неодноразово" -#: parser/parse_expr.c:2450 +#: parser/parse_expr.c:2513 #, c-format msgid "cannot cast XMLSERIALIZE result to %s" msgstr "привести результат XMLSERIALIZE до %s не можна" -#: parser/parse_expr.c:2764 parser/parse_expr.c:2960 +#: parser/parse_expr.c:2827 parser/parse_expr.c:3023 #, c-format msgid "unequal number of entries in row expressions" msgstr "неоднакова кількість елементів у виразах рядка" -#: parser/parse_expr.c:2774 +#: parser/parse_expr.c:2837 #, c-format msgid "cannot compare rows of zero length" msgstr "рядки нульової довжини порівнювати не можна" -#: parser/parse_expr.c:2799 +#: parser/parse_expr.c:2862 #, c-format msgid "row comparison operator must yield type boolean, not type %s" msgstr "оператор порівняння рядків повинен видавати логічний тип, а не %s" -#: parser/parse_expr.c:2806 +#: parser/parse_expr.c:2869 #, c-format msgid "row comparison operator must not return a set" msgstr "оператор порівняння рядків повинен вертати набір" -#: parser/parse_expr.c:2865 parser/parse_expr.c:2906 +#: parser/parse_expr.c:2928 parser/parse_expr.c:2969 #, c-format msgid "could not determine interpretation of row comparison operator %s" msgstr "не вдалося визначити інтерпретацію оператора порівняння рядків %s" -#: parser/parse_expr.c:2867 +#: parser/parse_expr.c:2930 #, c-format msgid "Row comparison operators must be associated with btree operator families." msgstr "Оператори порівняння рядків повинні бути пов'язанні з сімейством операторів btree." -#: parser/parse_expr.c:2908 +#: parser/parse_expr.c:2971 #, c-format msgid "There are multiple equally-plausible candidates." msgstr "Існує декілька рівноцінних кандидатів." -#: parser/parse_expr.c:3001 -#, c-format -msgid "IS DISTINCT FROM requires = operator to yield boolean" -msgstr "IS DISTINCT FROM, потребує = щоб оператор повертав логічне значення" - -#: parser/parse_expr.c:3239 +#: parser/parse_expr.c:3306 #, c-format msgid "JSON ENCODING clause is only allowed for bytea input type" msgstr "Вираз JSON ENCODING дозволено лише для типу введення bytea" -#: parser/parse_expr.c:3261 +#: parser/parse_expr.c:3370 #, c-format msgid "cannot use non-string types with implicit FORMAT JSON clause" msgstr "використовувати типи, які не є string з неявним виразом FORMAT JSON не можна" -#: parser/parse_expr.c:3262 +#: parser/parse_expr.c:3371 #, c-format msgid "cannot use non-string types with explicit FORMAT JSON clause" msgstr "використовувати типи, які не є string з явним виразом FORMAT JSON не можна" -#: parser/parse_expr.c:3335 +#: parser/parse_expr.c:3460 #, c-format msgid "cannot use JSON format with non-string output types" msgstr "використовувати формат JSON з типами виводу, які не є string не можна" -#: parser/parse_expr.c:3348 +#: parser/parse_expr.c:3473 #, c-format msgid "cannot set JSON encoding for non-bytea output types" msgstr "встановити кодування JSON для типів виводу, які не є bytea не можна" -#: parser/parse_expr.c:3353 +#: parser/parse_expr.c:3478 #, c-format msgid "unsupported JSON encoding" msgstr "непідтримуване JSON кодування" -#: parser/parse_expr.c:3354 +#: parser/parse_expr.c:3479 #, c-format msgid "Only UTF8 JSON encoding is supported." msgstr "Підтримується лише кодування UTF8 формату JSON." -#: parser/parse_expr.c:3391 +#: parser/parse_expr.c:3516 #, c-format msgid "returning SETOF types is not supported in SQL/JSON functions" msgstr "повернення типів SETOF не підтримується у функціях SQL/JSON" -#: parser/parse_expr.c:3712 parser/parse_func.c:865 +#: parser/parse_expr.c:3521 +#, c-format +msgid "returning pseudo-types is not supported in SQL/JSON functions" +msgstr "" + +#: parser/parse_expr.c:3849 parser/parse_func.c:866 #, c-format msgid "aggregate ORDER BY is not implemented for window functions" msgstr "агрегатне речення ORDER BY для віконних функцій не реалізовано" -#: parser/parse_expr.c:3934 +#: parser/parse_expr.c:4072 #, c-format msgid "cannot use JSON FORMAT ENCODING clause for non-bytea input types" msgstr "використовувати вираз JSON FORMAT ENCODING для типів введення, які не є bytea не можна" -#: parser/parse_expr.c:3954 +#: parser/parse_expr.c:4092 #, c-format msgid "cannot use type %s in IS JSON predicate" msgstr "використовувати тип %s в предикаті IS JSON не можна" +#: parser/parse_expr.c:4118 parser/parse_expr.c:4238 +#, c-format +msgid "cannot use RETURNING type %s in %s" +msgstr "не можна використовувати тип RETURNING %s в %s" + +#: parser/parse_expr.c:4167 +#, c-format +msgid "cannot use non-string types with WITH UNIQUE KEYS clause" +msgstr "не можна використовувати не строкові типи з пунктом WITH UNIQUE KEYS" + +#: parser/parse_expr.c:4241 +#, c-format +msgid "Try returning a string type or bytea." +msgstr "Спробуйте повернути тип string або bytea." + +#: parser/parse_expr.c:4306 +#, c-format +msgid "cannot specify FORMAT JSON in RETURNING clause of %s()" +msgstr "" + +#: parser/parse_expr.c:4319 +#, c-format +msgid "SQL/JSON QUOTES behavior must not be specified when WITH WRAPPER is used" +msgstr "" + +#. translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) +#: parser/parse_expr.c:4333 parser/parse_expr.c:4362 parser/parse_expr.c:4393 +#: parser/parse_expr.c:4419 parser/parse_expr.c:4445 +#: parser/parse_jsontable.c:94 +#, c-format +msgid "invalid %s behavior" +msgstr "" + +#. 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:4336 parser/parse_expr.c:4365 +#, c-format +msgid "Only ERROR, NULL, EMPTY ARRAY, EMPTY OBJECT, or DEFAULT expression is allowed in %s for %s." +msgstr "" + +#. 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:4343 parser/parse_expr.c:4372 parser/parse_expr.c:4401 +#: parser/parse_expr.c:4429 parser/parse_expr.c:4455 +#, c-format +msgid "invalid %s behavior for column \"%s\"" +msgstr "" + +#. translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) +#: parser/parse_expr.c:4346 parser/parse_expr.c:4375 +#, c-format +msgid "Only ERROR, NULL, EMPTY ARRAY, EMPTY OBJECT, or DEFAULT expression is allowed in %s for formatted columns." +msgstr "" + +#: parser/parse_expr.c:4394 +#, c-format +msgid "Only ERROR, TRUE, FALSE, or UNKNOWN is allowed in %s for %s." +msgstr "" + +#. translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) +#: parser/parse_expr.c:4404 +#, c-format +msgid "Only ERROR, TRUE, FALSE, or UNKNOWN is allowed in %s for EXISTS columns." +msgstr "" + +#. 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:4422 parser/parse_expr.c:4448 +#, c-format +msgid "Only ERROR, NULL, or DEFAULT expression is allowed in %s for %s." +msgstr "" + +#. translator: %s is name of a SQL/JSON clause (eg. ON EMPTY) +#: parser/parse_expr.c:4432 parser/parse_expr.c:4458 +#, c-format +msgid "Only ERROR, NULL, or DEFAULT expression is allowed in %s for scalar columns." +msgstr "" + +#: parser/parse_expr.c:4488 +#, c-format +msgid "JSON path expression must be of type %s, not of type %s" +msgstr "" + +#: parser/parse_expr.c:4706 +#, c-format +msgid "can only specify a constant, non-aggregate function, or operator expression for DEFAULT" +msgstr "" + +#: parser/parse_expr.c:4711 +#, c-format +msgid "DEFAULT expression must not contain column references" +msgstr "" + +#: parser/parse_expr.c:4716 +#, c-format +msgid "DEFAULT expression must not return a set" +msgstr "" + +#: parser/parse_expr.c:4792 parser/parse_expr.c:4801 +#, c-format +msgid "cannot cast behavior expression of type %s to %s" +msgstr "" + +#: parser/parse_expr.c:4795 +#, c-format +msgid "You will need to explicitly cast the expression to type %s." +msgstr "" + #: parser/parse_func.c:194 #, c-format msgid "argument name \"%s\" used more than once" @@ -17434,7 +17945,7 @@ msgstr "ім’я аргументу \"%s\" використовується н msgid "positional argument cannot follow named argument" msgstr "позиційний аргумент не може стежити за іменованим аргументомв" -#: parser/parse_func.c:287 parser/parse_func.c:2367 +#: parser/parse_func.c:287 parser/parse_func.c:2368 #, c-format msgid "%s is not a procedure" msgstr "%s не є процедурою" @@ -17557,7 +18068,7 @@ msgstr "Не вдалося обрати найкращу кандидатуру msgid "No aggregate function matches the given name and argument types. Perhaps you misplaced ORDER BY; ORDER BY must appear after all regular arguments of the aggregate." msgstr "Агрегатну функцію з цим ім'ям і типами аргументів не знайдено. Можливо, ви невірно розмістили речення ORDER BY; речення ORDER BY повинно з'являтись після всіх звичайних аргументів агрегату." -#: parser/parse_func.c:622 parser/parse_func.c:2410 +#: parser/parse_func.c:622 parser/parse_func.c:2411 #, c-format msgid "procedure %s does not exist" msgstr "процедура %s не існує" @@ -17577,7 +18088,7 @@ msgstr "Функцію з цим ім'ям і типами аргументів msgid "VARIADIC argument must be an array" msgstr "Аргумент VARIADIC повинен бути масивом" -#: parser/parse_func.c:791 parser/parse_func.c:855 +#: parser/parse_func.c:791 parser/parse_func.c:856 #, c-format msgid "%s(*) must be used to call a parameterless aggregate function" msgstr " %s(*) треба використовувати для виклику агрегатної функції без параметрів" @@ -17592,42 +18103,42 @@ msgstr "агрегатні функції не можуть повертати msgid "aggregates cannot use named arguments" msgstr "агрегатні функції не можуть використовувати іменовані аргументи" -#: parser/parse_func.c:845 +#: parser/parse_func.c:846 #, c-format msgid "DISTINCT is not implemented for window functions" msgstr "DISTINCT для віконних функції не реалізовано" -#: parser/parse_func.c:874 +#: parser/parse_func.c:875 #, c-format msgid "FILTER is not implemented for non-aggregate window functions" msgstr "FILTER для неагрегатних віконних функцій не реалізовано" -#: parser/parse_func.c:883 +#: parser/parse_func.c:884 #, c-format msgid "window function calls cannot contain set-returning function calls" msgstr "виклики віконних функцій не можуть містити виклики функцій, які повертають набори" -#: parser/parse_func.c:891 +#: parser/parse_func.c:892 #, c-format msgid "window functions cannot return sets" msgstr "віконні функції не можуть повертати набори" -#: parser/parse_func.c:2166 parser/parse_func.c:2439 +#: parser/parse_func.c:2167 parser/parse_func.c:2440 #, c-format msgid "could not find a function named \"%s\"" msgstr "не вдалося знайти функцію з іменем \"%s\"" -#: parser/parse_func.c:2180 parser/parse_func.c:2457 +#: parser/parse_func.c:2181 parser/parse_func.c:2458 #, c-format msgid "function name \"%s\" is not unique" msgstr "ім’я функції \"%s\" не є унікальним" -#: parser/parse_func.c:2182 parser/parse_func.c:2460 +#: parser/parse_func.c:2183 parser/parse_func.c:2461 #, c-format msgid "Specify the argument list to select the function unambiguously." msgstr "Укажіть список аргументів для однозначного вибору функції." -#: parser/parse_func.c:2226 +#: parser/parse_func.c:2227 #, c-format msgid "procedures cannot have more than %d argument" msgid_plural "procedures cannot have more than %d arguments" @@ -17636,221 +18147,215 @@ msgstr[1] "процедури не можуть мати більш ніж %d а msgstr[2] "процедури не можуть мати більш ніж %d аргументів" msgstr[3] "процедури не можуть мати більш ніж %d аргументів" -#: parser/parse_func.c:2357 +#: parser/parse_func.c:2358 #, c-format msgid "%s is not a function" msgstr "%s не є функцією" -#: parser/parse_func.c:2377 +#: parser/parse_func.c:2378 #, c-format msgid "function %s is not an aggregate" msgstr "функція %s не є агрегатною" -#: parser/parse_func.c:2405 +#: parser/parse_func.c:2406 #, c-format msgid "could not find a procedure named \"%s\"" msgstr "не вдалося знайти процедуру з іменем \"%s\"" -#: parser/parse_func.c:2419 +#: parser/parse_func.c:2420 #, c-format msgid "could not find an aggregate named \"%s\"" msgstr "не вдалося знайти агрегат з ім'ям \"%s\"" -#: parser/parse_func.c:2424 +#: parser/parse_func.c:2425 #, c-format msgid "aggregate %s(*) does not exist" msgstr "агрегат %s (*) не існує" -#: parser/parse_func.c:2429 +#: parser/parse_func.c:2430 #, c-format msgid "aggregate %s does not exist" msgstr "агрегат %s не існує" -#: parser/parse_func.c:2465 +#: parser/parse_func.c:2466 #, c-format msgid "procedure name \"%s\" is not unique" msgstr "назва процедури \"%s\" не є унікальною" -#: parser/parse_func.c:2468 +#: parser/parse_func.c:2469 #, c-format msgid "Specify the argument list to select the procedure unambiguously." msgstr "Вкажіть список аргументів для однозначного вибору процедури." -#: parser/parse_func.c:2473 +#: parser/parse_func.c:2474 #, c-format msgid "aggregate name \"%s\" is not unique" msgstr "назва агрегатної функції \"%s\" не є унікальною" -#: parser/parse_func.c:2476 +#: parser/parse_func.c:2477 #, c-format msgid "Specify the argument list to select the aggregate unambiguously." msgstr "Вкажіть список аргументів для однозначного вибору агрегатної функції." -#: parser/parse_func.c:2481 +#: parser/parse_func.c:2482 #, c-format msgid "routine name \"%s\" is not unique" msgstr "назва підпрограми \"%s\" не є унікальною" -#: parser/parse_func.c:2484 +#: parser/parse_func.c:2485 #, c-format msgid "Specify the argument list to select the routine unambiguously." msgstr "Вкажіть список аргументів для однозначного вибору підпрограми." -#: parser/parse_func.c:2539 +#: parser/parse_func.c:2540 msgid "set-returning functions are not allowed in JOIN conditions" msgstr "функції, що повертають множину, не можна застосовувати в умовах групування" -#: parser/parse_func.c:2560 +#: parser/parse_func.c:2561 msgid "set-returning functions are not allowed in policy expressions" msgstr "функції, що повертають множину, не можна застосовувати у виразах політики" -#: parser/parse_func.c:2576 +#: parser/parse_func.c:2577 msgid "set-returning functions are not allowed in window definitions" msgstr "функції, що повертають множину, не можна застосовувати у віконних визначеннях" -#: parser/parse_func.c:2613 +#: parser/parse_func.c:2615 msgid "set-returning functions are not allowed in MERGE WHEN conditions" msgstr "функції, які повертають набір, не можна застосовувати в умовах MERGE WHEN" -#: parser/parse_func.c:2617 +#: parser/parse_func.c:2619 msgid "set-returning functions are not allowed in check constraints" msgstr "функції, що повертають множину, не можна застосовувати в обмеженнях Check" -#: parser/parse_func.c:2621 +#: parser/parse_func.c:2623 msgid "set-returning functions are not allowed in DEFAULT expressions" msgstr "функції, що повертають множину, не можна застосовувати у стандартних виразах" -#: parser/parse_func.c:2624 +#: parser/parse_func.c:2626 msgid "set-returning functions are not allowed in index expressions" msgstr "функції, що повертають множину, не можна застосовувати в індексних виразах" -#: parser/parse_func.c:2627 +#: parser/parse_func.c:2629 msgid "set-returning functions are not allowed in index predicates" msgstr "функції, що повертають множину, не можна застосовувати в індексних предикатах" -#: parser/parse_func.c:2630 +#: parser/parse_func.c:2632 msgid "set-returning functions are not allowed in statistics expressions" msgstr "функції, що повертають набори, не можна застосовувати у виразах статистики" -#: parser/parse_func.c:2633 +#: parser/parse_func.c:2635 msgid "set-returning functions are not allowed in transform expressions" msgstr "функції, що повертають множину, не можна застосовувати у виразах перетворення" -#: parser/parse_func.c:2636 +#: parser/parse_func.c:2638 msgid "set-returning functions are not allowed in EXECUTE parameters" msgstr "функції, що повертають множину, не можна застосовуватив параметрах виконання" -#: parser/parse_func.c:2639 +#: parser/parse_func.c:2641 msgid "set-returning functions are not allowed in trigger WHEN conditions" msgstr "функції, що повертають множину, не можна застосовувати в умовах для тригерів WHEN" -#: parser/parse_func.c:2642 +#: parser/parse_func.c:2644 msgid "set-returning functions are not allowed in partition bound" msgstr "функції, що повертають множину не можна застосовувати в границі секції" -#: parser/parse_func.c:2645 +#: parser/parse_func.c:2647 msgid "set-returning functions are not allowed in partition key expressions" msgstr "функції, що повертають множину, не можна застосовувати у виразах ключа розділення" -#: parser/parse_func.c:2648 +#: parser/parse_func.c:2650 msgid "set-returning functions are not allowed in CALL arguments" msgstr "функції, що повертають множину, не можна застосовувати в аргументах Відеовикликів" -#: parser/parse_func.c:2651 +#: parser/parse_func.c:2653 msgid "set-returning functions are not allowed in COPY FROM WHERE conditions" msgstr "функції, що повертають множину не можна застосовувати в умовах COPY FROM WHERE" -#: parser/parse_func.c:2654 +#: parser/parse_func.c:2656 msgid "set-returning functions are not allowed in column generation expressions" msgstr "функції, що повертають множину не можна застосовувати у виразах генерації стовпців" -#: parser/parse_merge.c:119 +#: parser/parse_jsontable.c:95 +#, c-format +msgid "Only EMPTY [ ARRAY ] or ERROR is allowed in the top-level ON ERROR clause." +msgstr "" + +#: parser/parse_jsontable.c:189 parser/parse_jsontable.c:203 +#, c-format +msgid "duplicate JSON_TABLE column or path name: %s" +msgstr "" + +#: parser/parse_merge.c:129 #, c-format msgid "WITH RECURSIVE is not supported for MERGE statement" msgstr "WITH RECURSIVE не підтримується для інструкції MERGE" -#: parser/parse_merge.c:161 +#: parser/parse_merge.c:176 #, c-format msgid "unreachable WHEN clause specified after unconditional WHEN clause" msgstr "недосяжна речення WHEN зазначено після безумовного речення WHEN" -#: parser/parse_merge.c:191 -#, c-format -msgid "MERGE is not supported for relations with rules." -msgstr "MERGE не підтримує відношення з правилами." - -#: parser/parse_merge.c:208 +#: parser/parse_merge.c:222 #, c-format msgid "name \"%s\" specified more than once" msgstr "ім'я \"%s\" вказано кілька разів" -#: parser/parse_merge.c:210 +#: parser/parse_merge.c:224 #, c-format msgid "The name is used both as MERGE target table and data source." msgstr "Ім'я вказано одночасно як цільова таблиця та джерело MERGE." -#: parser/parse_node.c:87 +#: parser/parse_node.c:82 #, c-format msgid "target lists can have at most %d entries" msgstr "цільові списки можуть мати максимум %d елементів" -#: parser/parse_oper.c:123 parser/parse_oper.c:690 +#: parser/parse_oper.c:114 parser/parse_oper.c:678 #, c-format msgid "postfix operators are not supported" msgstr "постфіксні оператори не підтримуються" -#: parser/parse_oper.c:130 parser/parse_oper.c:649 utils/adt/regproc.c:509 -#: utils/adt/regproc.c:683 -#, c-format -msgid "operator does not exist: %s" -msgstr "оператор не існує: %s" - -#: parser/parse_oper.c:229 +#: parser/parse_oper.c:217 #, c-format msgid "Use an explicit ordering operator or modify the query." msgstr "Використати явний оператор сортування або змінити запит." -#: parser/parse_oper.c:485 +#: parser/parse_oper.c:473 #, c-format msgid "operator requires run-time type coercion: %s" msgstr "оператор вимагає приведення типів під час виконання: %s" -#: parser/parse_oper.c:641 +#: parser/parse_oper.c:629 #, c-format msgid "operator is not unique: %s" msgstr "оператор не є унікальним: %s" -#: parser/parse_oper.c:643 +#: parser/parse_oper.c:631 #, c-format msgid "Could not choose a best candidate operator. You might need to add explicit type casts." msgstr "Не вдалося вибрати найкращу кандидатуру оператора. Вам, можливо треба додати явні приведення типів." -#: parser/parse_oper.c:652 +#: parser/parse_oper.c:640 #, c-format msgid "No operator matches the given name and argument type. You might need to add an explicit type cast." msgstr "Жодний оператор не відповідає даному імені та типу аргументу. Вам, можливо, треба додати явне приведення типу." -#: parser/parse_oper.c:654 +#: parser/parse_oper.c:642 #, c-format msgid "No operator matches the given name and argument types. You might need to add explicit type casts." msgstr "Жодний оператор не відповідає даному імені та типу аргументу. Вам, можливо, треба додати явні приведення типів." -#: parser/parse_oper.c:714 parser/parse_oper.c:828 -#, c-format -msgid "operator is only a shell: %s" -msgstr "оператор є лише оболонкою: %s" - -#: parser/parse_oper.c:816 +#: parser/parse_oper.c:803 #, c-format msgid "op ANY/ALL (array) requires array on right side" msgstr "op ANY/ALL (масив) вимагає масив справа" -#: parser/parse_oper.c:858 +#: parser/parse_oper.c:844 #, c-format msgid "op ANY/ALL (array) requires operator to yield boolean" msgstr "op ANY/ALL (масив) вимагає оператора для видання логічного типу" -#: parser/parse_oper.c:863 +#: parser/parse_oper.c:849 #, c-format msgid "op ANY/ALL (array) requires operator not to return a set" msgstr "op ANY/ALL (масив) вимагає оператора не для повернення множини" @@ -17860,7 +18365,7 @@ msgstr "op ANY/ALL (масив) вимагає оператора не для п msgid "inconsistent types deduced for parameter $%d" msgstr "для параметру $%d виведені неузгоджені типи" -#: parser/parse_param.c:309 tcop/postgres.c:740 +#: parser/parse_param.c:309 tcop/postgres.c:744 #, c-format msgid "could not determine data type of parameter $%d" msgstr "не вдалося визначити тип даних параметра $%d" @@ -17880,13 +18385,13 @@ msgstr "посилання на таблицю %u неоднозначне" msgid "table name \"%s\" specified more than once" msgstr "ім'я таблиці \"%s\" вказано більше одного разу" -#: parser/parse_relation.c:494 parser/parse_relation.c:3630 -#: parser/parse_relation.c:3639 +#: parser/parse_relation.c:494 parser/parse_relation.c:3633 +#: parser/parse_relation.c:3642 #, c-format msgid "invalid reference to FROM-clause entry for table \"%s\"" msgstr "в елементі речення FROM неприпустиме посилання на таблицю \"%s\"" -#: parser/parse_relation.c:498 parser/parse_relation.c:3641 +#: parser/parse_relation.c:498 parser/parse_relation.c:3644 #, c-format msgid "There is an entry for table \"%s\", but it cannot be referenced from this part of the query." msgstr "Таблиця \"%s\" присутня в запиті, але посилатися на неї з цієї частини запиту не можна." @@ -17912,7 +18417,7 @@ msgid "cannot use system column \"%s\" in MERGE WHEN condition" msgstr "неможливо використати симтемний стовпець \"%s\" в умові MERGE WHEN" #: parser/parse_relation.c:1236 parser/parse_relation.c:1691 -#: parser/parse_relation.c:2388 +#: parser/parse_relation.c:2384 #, c-format msgid "table \"%s\" has %d columns available but %d columns specified" msgstr "таблиця \"%s\" має %d доступних стовпців, але вказано %d стовпців" @@ -17927,157 +18432,157 @@ msgstr "Існує WITH елемент \"%s\" але на нього не мож msgid "Use WITH RECURSIVE, or re-order the WITH items to remove forward references." msgstr "Використовувати WITH RECURSIVE, або перевпорядкувати елементи WITH, щоб видалити попередні посилання." -#: parser/parse_relation.c:1834 +#: parser/parse_relation.c:1833 #, c-format msgid "a column definition list is redundant for a function with OUT parameters" msgstr "список з визначенням стовпців не потрібен для функції з параметрами OUT" -#: parser/parse_relation.c:1840 +#: parser/parse_relation.c:1839 #, c-format msgid "a column definition list is redundant for a function returning a named composite type" msgstr "список з визначенням стовпців не потрібен для функції, яка повертає іменований складений тип" -#: parser/parse_relation.c:1847 +#: parser/parse_relation.c:1846 #, c-format msgid "a column definition list is only allowed for functions returning \"record\"" msgstr "список з визначенням стовпців дозволений лише для функцій, що повертають \"запис\"" -#: parser/parse_relation.c:1858 +#: parser/parse_relation.c:1857 #, c-format msgid "a column definition list is required for functions returning \"record\"" msgstr "список з визначенням стовпців вимагається для функцій, що повертають \"запис\"" -#: parser/parse_relation.c:1895 +#: parser/parse_relation.c:1894 #, c-format msgid "column definition lists can have at most %d entries" msgstr "списки визначень стовпців можуть мати максимум %d елементів" -#: parser/parse_relation.c:1955 +#: parser/parse_relation.c:1954 #, c-format msgid "function \"%s\" in FROM has unsupported return type %s" msgstr "функція \"%s\" у FROM повертає тип, що не підтримується %s" -#: parser/parse_relation.c:1982 parser/parse_relation.c:2068 +#: parser/parse_relation.c:1981 parser/parse_relation.c:2066 #, c-format msgid "functions in FROM can return at most %d columns" msgstr "функції з FROM можуть повертати не більше %d стовпців" -#: parser/parse_relation.c:2098 +#: parser/parse_relation.c:2096 #, c-format msgid "%s function has %d columns available but %d columns specified" msgstr "функція \"%s\" має %d доступних стовпців, але вказано %d стовпців" -#: parser/parse_relation.c:2180 +#: parser/parse_relation.c:2177 #, c-format msgid "VALUES lists \"%s\" have %d columns available but %d columns specified" msgstr "VALUES списки \"%s\" мають %d доступних стовпців, але %d стовпців вказано" -#: parser/parse_relation.c:2246 +#: parser/parse_relation.c:2242 #, c-format msgid "joins can have at most %d columns" msgstr "з'єднання можуть мати максимум %d стовпців" -#: parser/parse_relation.c:2271 +#: parser/parse_relation.c:2267 #, c-format msgid "join expression \"%s\" has %d columns available but %d columns specified" msgstr "вираз з'єднання \"%s\" має %d доступних стовпців, але %d стовпців вказано" -#: parser/parse_relation.c:2361 +#: parser/parse_relation.c:2357 #, c-format msgid "WITH query \"%s\" does not have a RETURNING clause" msgstr "WITH запит \"%s\" не має речення RETURNING" -#: parser/parse_relation.c:3632 +#: parser/parse_relation.c:3635 #, c-format msgid "Perhaps you meant to reference the table alias \"%s\"." msgstr "Можливо, малося на увазі посилання на псевдонім таблиці \"%s\"." -#: parser/parse_relation.c:3644 +#: parser/parse_relation.c:3647 #, c-format msgid "To reference that table, you must mark this subquery with LATERAL." msgstr "Щоб використати цю таблицю, вам потрібно позначити цей підзапит як LATERAL." -#: parser/parse_relation.c:3650 +#: parser/parse_relation.c:3653 #, c-format msgid "missing FROM-clause entry for table \"%s\"" msgstr "таблиця \"%s\" відсутня в реченні FROM" -#: parser/parse_relation.c:3690 +#: parser/parse_relation.c:3693 #, c-format msgid "There are columns named \"%s\", but they are in tables that cannot be referenced from this part of the query." msgstr "Є стовпці з назвою \"%s\", але вони знаходяться в таблицях, на які не можна посилатися з цієї частини запиту." -#: parser/parse_relation.c:3692 +#: parser/parse_relation.c:3695 #, c-format msgid "Try using a table-qualified name." msgstr "Спробуй використати повне ім'я включно з таблицею." -#: parser/parse_relation.c:3700 +#: parser/parse_relation.c:3703 #, c-format msgid "There is a column named \"%s\" in table \"%s\", but it cannot be referenced from this part of the query." msgstr "Є стовпець з іменем \"%s\" в таблиці \"%s\", але на нього не можна посилатись з цієї частини запиту." -#: parser/parse_relation.c:3703 +#: parser/parse_relation.c:3706 #, c-format msgid "To reference that column, you must mark this subquery with LATERAL." msgstr "Щоб використати цей стовпець, вам потрібно позначити цей підзапит як LATERAL." -#: parser/parse_relation.c:3705 +#: parser/parse_relation.c:3708 #, c-format msgid "To reference that column, you must use a table-qualified name." msgstr "Щоб посилатися на цей стовпець, ви повинні використовувати повне ім'я включно з таблицею." -#: parser/parse_relation.c:3725 +#: parser/parse_relation.c:3728 #, c-format msgid "Perhaps you meant to reference the column \"%s.%s\"." msgstr "Можливо, передбачалось посилання на стовпець \"%s.%s\"." -#: parser/parse_relation.c:3739 +#: parser/parse_relation.c:3742 #, c-format msgid "Perhaps you meant to reference the column \"%s.%s\" or the column \"%s.%s\"." msgstr "Можливо, передбачалось посилання на стовпець \"%s.%s\" або стовпець \"%s.%s\"." -#: parser/parse_target.c:481 parser/parse_target.c:796 +#: parser/parse_target.c:480 parser/parse_target.c:795 #, c-format msgid "cannot assign to system column \"%s\"" msgstr "призначити значення системному стовпцю \"%s\" не можна" -#: parser/parse_target.c:509 +#: parser/parse_target.c:508 #, c-format msgid "cannot set an array element to DEFAULT" msgstr "елементу масива не можна встановити значення DEFAULT" -#: parser/parse_target.c:514 +#: parser/parse_target.c:513 #, c-format msgid "cannot set a subfield to DEFAULT" msgstr "підполю не можна встановити значення DEFAULT" -#: parser/parse_target.c:588 +#: parser/parse_target.c:587 #, c-format msgid "column \"%s\" is of type %s but expression is of type %s" msgstr "стовпець \"%s\" має тип %s, а вираз %s" -#: parser/parse_target.c:780 +#: parser/parse_target.c:779 #, c-format msgid "cannot assign to field \"%s\" of column \"%s\" because its type %s is not a composite type" msgstr "призначити значення полю \"%s\" стовпця \"%s\" не можна, тому, що тип %s не є складеним типом" -#: parser/parse_target.c:789 +#: parser/parse_target.c:788 #, c-format msgid "cannot assign to field \"%s\" of column \"%s\" because there is no such column in data type %s" msgstr "призначити значення полю \"%s\" стовпця \"%s\" не можна, тому, що в типі даних %s немає такого стовпця" -#: parser/parse_target.c:869 +#: parser/parse_target.c:877 #, c-format msgid "subscripted assignment to \"%s\" requires type %s but expression is of type %s" msgstr "індексоване присвоєння \"%s\" вимагає тип %s, але вираз має тип %s" -#: parser/parse_target.c:879 +#: parser/parse_target.c:887 #, c-format msgid "subfield \"%s\" is of type %s but expression is of type %s" msgstr "підполе \"%s\" має тип %s, але вираз має тип %s" -#: parser/parse_target.c:1314 +#: parser/parse_target.c:1327 #, c-format msgid "SELECT * with no tables specified is not valid" msgstr "SELECT * повинен посилатись на таблиці" @@ -18097,8 +18602,8 @@ msgstr "неправильне посилання %%TYPE (занадто баг msgid "type reference %s converted to %s" msgstr "посилання на тип %s перетворене на тип %s" -#: parser/parse_type.c:278 parser/parse_type.c:813 utils/cache/typcache.c:395 -#: utils/cache/typcache.c:450 +#: parser/parse_type.c:278 parser/parse_type.c:813 utils/cache/typcache.c:397 +#: utils/cache/typcache.c:452 #, c-format msgid "type \"%s\" is only a shell" msgstr "тип \"%s\" є лише оболонкою" @@ -18118,330 +18623,330 @@ msgstr "модифікатором типу повинна бути звичай msgid "invalid type name \"%s\"" msgstr "невірне ім'я типу \"%s\"" -#: parser/parse_utilcmd.c:264 +#: parser/parse_utilcmd.c:263 #, c-format msgid "cannot create partitioned table as inheritance child" msgstr "створити секціоновану таблицю в якості нащадка не можна" -#: parser/parse_utilcmd.c:589 +#: parser/parse_utilcmd.c:475 +#, c-format +msgid "cannot set logged status of a temporary sequence" +msgstr "" + +#: parser/parse_utilcmd.c:611 #, c-format msgid "array of serial is not implemented" msgstr "масиви послідовності не реалізовані" -#: parser/parse_utilcmd.c:668 parser/parse_utilcmd.c:680 -#: parser/parse_utilcmd.c:739 +#: parser/parse_utilcmd.c:690 parser/parse_utilcmd.c:702 +#: parser/parse_utilcmd.c:761 #, c-format msgid "conflicting NULL/NOT NULL declarations for column \"%s\" of table \"%s\"" msgstr "несумісні оголошення NULL/NOT NULL для стовпця \"%s\" таблиці \"%s\"" -#: parser/parse_utilcmd.c:692 +#: parser/parse_utilcmd.c:714 #, c-format msgid "multiple default values specified for column \"%s\" of table \"%s\"" msgstr "для стовпця \"%s\" таблиці \"%s\" вказано декілька значень за замовчуванням" -#: parser/parse_utilcmd.c:709 +#: parser/parse_utilcmd.c:731 #, c-format msgid "identity columns are not supported on typed tables" msgstr "ідентифікаційні стовпці не підтримуються в типізованих таблицях" -#: parser/parse_utilcmd.c:713 +#: parser/parse_utilcmd.c:735 #, c-format msgid "identity columns are not supported on partitions" msgstr "ідентифікаційні стовпці не підтримуються з секціями" -#: parser/parse_utilcmd.c:722 +#: parser/parse_utilcmd.c:744 #, c-format msgid "multiple identity specifications for column \"%s\" of table \"%s\"" msgstr "для стовпця \"%s\" таблиці \"%s\" властивість identity вказана неодноразово" -#: parser/parse_utilcmd.c:752 +#: parser/parse_utilcmd.c:774 #, c-format msgid "generated columns are not supported on typed tables" msgstr "згенеровані стовпці не підтримуються в типізованих таблицях" -#: parser/parse_utilcmd.c:756 +#: parser/parse_utilcmd.c:778 #, c-format msgid "multiple generation clauses specified for column \"%s\" of table \"%s\"" msgstr "для стовпця \"%s\" таблиці \"%s\" вказано декілька речень генерації" -#: parser/parse_utilcmd.c:774 parser/parse_utilcmd.c:889 +#: parser/parse_utilcmd.c:796 parser/parse_utilcmd.c:911 #, c-format msgid "primary key constraints are not supported on foreign tables" msgstr "обмеження первинного ключа для сторонніх таблиць не підтримуються" -#: parser/parse_utilcmd.c:783 parser/parse_utilcmd.c:899 +#: parser/parse_utilcmd.c:805 parser/parse_utilcmd.c:921 #, c-format msgid "unique constraints are not supported on foreign tables" msgstr "обмеження унікальності для сторонніх таблиць не підтримуються" -#: parser/parse_utilcmd.c:828 +#: parser/parse_utilcmd.c:850 #, c-format msgid "both default and identity specified for column \"%s\" of table \"%s\"" msgstr "для стовпця \"%s\" таблиці \"%s\" вказано значення за замовчуванням і властивість identity" -#: parser/parse_utilcmd.c:836 +#: parser/parse_utilcmd.c:858 #, c-format msgid "both default and generation expression specified for column \"%s\" of table \"%s\"" msgstr "для стовпця \"%s\" таблиці \"%s\" вказано вираз за замовчуванням і вираз генерації" -#: parser/parse_utilcmd.c:844 +#: parser/parse_utilcmd.c:866 #, c-format msgid "both identity and generation expression specified for column \"%s\" of table \"%s\"" msgstr "для стовпця \"%s\" таблиці \"%s\" вказано вираз ідентичності і вираз генерації" -#: parser/parse_utilcmd.c:909 +#: parser/parse_utilcmd.c:931 #, c-format msgid "exclusion constraints are not supported on foreign tables" msgstr "обмеження-виключення для сторонніх таблиць не підтримуються" -#: parser/parse_utilcmd.c:915 -#, c-format -msgid "exclusion constraints are not supported on partitioned tables" -msgstr "обмеження-виключення для секціонованих таблиць не підтримуються" - -#: parser/parse_utilcmd.c:980 +#: parser/parse_utilcmd.c:996 #, c-format msgid "LIKE is not supported for creating foreign tables" msgstr "LIKE не підтримується при створенні сторонніх таблиць" -#: parser/parse_utilcmd.c:993 +#: parser/parse_utilcmd.c:1009 #, c-format msgid "relation \"%s\" is invalid in LIKE clause" msgstr "невірше відношення \"%s\" в реченні LIKE" -#: parser/parse_utilcmd.c:1750 parser/parse_utilcmd.c:1858 +#: parser/parse_utilcmd.c:1736 parser/parse_utilcmd.c:1844 #, c-format msgid "Index \"%s\" contains a whole-row table reference." msgstr "Індекс \"%s\" містить посилання на таблицю на весь рядок." -#: parser/parse_utilcmd.c:2245 +#: parser/parse_utilcmd.c:2242 #, c-format msgid "cannot use an existing index in CREATE TABLE" msgstr "у CREATE TABLE не можна використовувати існуючий індекс" -#: parser/parse_utilcmd.c:2265 +#: parser/parse_utilcmd.c:2262 #, c-format msgid "index \"%s\" is already associated with a constraint" msgstr "індекс \"%s\" вже пов'язаний з обмеженням" -#: parser/parse_utilcmd.c:2286 +#: parser/parse_utilcmd.c:2283 #, c-format msgid "\"%s\" is not a unique index" msgstr "\"%s\" не є унікальним індексом" -#: parser/parse_utilcmd.c:2287 parser/parse_utilcmd.c:2294 -#: parser/parse_utilcmd.c:2301 parser/parse_utilcmd.c:2378 +#: parser/parse_utilcmd.c:2284 parser/parse_utilcmd.c:2291 +#: parser/parse_utilcmd.c:2298 parser/parse_utilcmd.c:2375 #, c-format msgid "Cannot create a primary key or unique constraint using such an index." msgstr "Створити первинний ключ або обмеження унікальності, використовуючи такий індекс, не можна." -#: parser/parse_utilcmd.c:2293 +#: parser/parse_utilcmd.c:2290 #, c-format msgid "index \"%s\" contains expressions" msgstr "індекс \"%s\" містить вирази" -#: parser/parse_utilcmd.c:2300 +#: parser/parse_utilcmd.c:2297 #, c-format msgid "\"%s\" is a partial index" msgstr "\"%s\" є частковим індексом" -#: parser/parse_utilcmd.c:2312 +#: parser/parse_utilcmd.c:2309 #, c-format msgid "\"%s\" is a deferrable index" msgstr "\"%s\" є індексом, що відкладається" -#: parser/parse_utilcmd.c:2313 +#: parser/parse_utilcmd.c:2310 #, c-format msgid "Cannot create a non-deferrable constraint using a deferrable index." msgstr "Створити обмеження, що не відкладається, використовуючи індекс, що відкладається, не можна." -#: parser/parse_utilcmd.c:2377 +#: parser/parse_utilcmd.c:2374 #, c-format msgid "index \"%s\" column number %d does not have default sorting behavior" msgstr "індекс \"%s\" номер стовпця %d не має поведінки сортування за замовчуванням" -#: parser/parse_utilcmd.c:2534 +#: parser/parse_utilcmd.c:2531 #, c-format msgid "column \"%s\" appears twice in primary key constraint" msgstr "стовпець \"%s\" з'являється двічі в обмеженні первинного ключа" -#: parser/parse_utilcmd.c:2540 +#: parser/parse_utilcmd.c:2537 #, c-format msgid "column \"%s\" appears twice in unique constraint" msgstr "стовпець \"%s\" з'являється двічі в обмеженні унікальності" -#: parser/parse_utilcmd.c:2887 +#: parser/parse_utilcmd.c:2871 #, c-format msgid "index expressions and predicates can refer only to the table being indexed" msgstr "індекс-вирази й предикати можуть посилатись лише на індексовану таблицю" -#: parser/parse_utilcmd.c:2959 +#: parser/parse_utilcmd.c:2943 #, c-format msgid "statistics expressions can refer only to the table being referenced" msgstr "вирази статистики можуть посилатися лише на таблицю, для якої збирається статистика" -#: parser/parse_utilcmd.c:3002 +#: parser/parse_utilcmd.c:2986 #, c-format msgid "rules on materialized views are not supported" msgstr "правила для матеріалізованих подань не підтримуються" -#: parser/parse_utilcmd.c:3062 +#: parser/parse_utilcmd.c:3046 #, c-format msgid "rule WHERE condition cannot contain references to other relations" msgstr "в умовах WHERE правила не можуть містити посилання на інші зв'язки" -#: parser/parse_utilcmd.c:3134 +#: parser/parse_utilcmd.c:3118 #, c-format msgid "rules with WHERE conditions can only have SELECT, INSERT, UPDATE, or DELETE actions" msgstr "правила з умовами WHERE можуть мати лише дії SELECT, INSERT, UPDATE або DELETE" -#: parser/parse_utilcmd.c:3152 parser/parse_utilcmd.c:3253 -#: rewrite/rewriteHandler.c:539 rewrite/rewriteManip.c:1087 +#: parser/parse_utilcmd.c:3136 parser/parse_utilcmd.c:3237 +#: rewrite/rewriteHandler.c:538 rewrite/rewriteManip.c:1095 #, c-format msgid "conditional UNION/INTERSECT/EXCEPT statements are not implemented" msgstr "умовні оператори UNION/INTERSECT/EXCEPT не реалізовані" -#: parser/parse_utilcmd.c:3170 +#: parser/parse_utilcmd.c:3154 #, c-format msgid "ON SELECT rule cannot use OLD" msgstr "у правилі ON SELECT не можна використовувати OLD" -#: parser/parse_utilcmd.c:3174 +#: parser/parse_utilcmd.c:3158 #, c-format msgid "ON SELECT rule cannot use NEW" msgstr "у правилі ON SELECT не можна використовувати NEW" -#: parser/parse_utilcmd.c:3183 +#: parser/parse_utilcmd.c:3167 #, c-format msgid "ON INSERT rule cannot use OLD" msgstr "у правилі ON INSERT не можна використовувати OLD" -#: parser/parse_utilcmd.c:3189 +#: parser/parse_utilcmd.c:3173 #, c-format msgid "ON DELETE rule cannot use NEW" msgstr "у правилі ON DELETE не можна використовувати NEW" -#: parser/parse_utilcmd.c:3217 +#: parser/parse_utilcmd.c:3201 #, c-format msgid "cannot refer to OLD within WITH query" msgstr "у запиті WITH не можна посилатися на OLD" -#: parser/parse_utilcmd.c:3224 +#: parser/parse_utilcmd.c:3208 #, c-format msgid "cannot refer to NEW within WITH query" msgstr "у запиті WITH не можна посилатися на NEW" -#: parser/parse_utilcmd.c:3676 +#: parser/parse_utilcmd.c:3664 #, c-format msgid "misplaced DEFERRABLE clause" msgstr "речення DEFERRABLE розташовано неправильно" -#: parser/parse_utilcmd.c:3681 parser/parse_utilcmd.c:3696 +#: parser/parse_utilcmd.c:3669 parser/parse_utilcmd.c:3684 #, c-format msgid "multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed" msgstr "декілька речень DEFERRABLE/NOT DEFERRABLE не допускаються" -#: parser/parse_utilcmd.c:3691 +#: parser/parse_utilcmd.c:3679 #, c-format msgid "misplaced NOT DEFERRABLE clause" msgstr "речення NOT DEFERRABLE розташовано неправильно" -#: parser/parse_utilcmd.c:3704 parser/parse_utilcmd.c:3730 gram.y:5990 +#: parser/parse_utilcmd.c:3692 parser/parse_utilcmd.c:3718 gram.y:6114 #, c-format msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE" msgstr "обмеження, оголошене як INITIALLY DEFERRED, повинно бути оголошене як DEFERRABLE" -#: parser/parse_utilcmd.c:3712 +#: parser/parse_utilcmd.c:3700 #, c-format msgid "misplaced INITIALLY DEFERRED clause" msgstr "речення INITIALLY DEFERRED розташовано неправильно" -#: parser/parse_utilcmd.c:3717 parser/parse_utilcmd.c:3743 +#: parser/parse_utilcmd.c:3705 parser/parse_utilcmd.c:3731 #, c-format msgid "multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed" msgstr "декілька речень INITIALLY IMMEDIATE/DEFERRED не допускаються" -#: parser/parse_utilcmd.c:3738 +#: parser/parse_utilcmd.c:3726 #, c-format msgid "misplaced INITIALLY IMMEDIATE clause" msgstr "речення INITIALLY IMMEDIATE розташовано неправильно" -#: parser/parse_utilcmd.c:3931 +#: parser/parse_utilcmd.c:3919 #, c-format msgid "CREATE specifies a schema (%s) different from the one being created (%s)" msgstr "В CREATE вказана схема (%s), яка відрізняється від створюваної (%s)" -#: parser/parse_utilcmd.c:3966 +#: parser/parse_utilcmd.c:3954 #, c-format msgid "\"%s\" is not a partitioned table" msgstr "\"%s\" не є секціонованою таблицею" -#: parser/parse_utilcmd.c:3973 +#: parser/parse_utilcmd.c:3961 #, c-format msgid "table \"%s\" is not partitioned" msgstr "таблиця \"%s\" не є секційною" -#: parser/parse_utilcmd.c:3980 +#: parser/parse_utilcmd.c:3968 #, c-format msgid "index \"%s\" is not partitioned" msgstr "індекс \"%s\" не є секціонованим" -#: parser/parse_utilcmd.c:4020 +#: parser/parse_utilcmd.c:4008 #, c-format msgid "a hash-partitioned table may not have a default partition" msgstr "у геш-секціонованій таблиці не може бути розділу за замовчуванням" -#: parser/parse_utilcmd.c:4037 +#: parser/parse_utilcmd.c:4025 #, c-format msgid "invalid bound specification for a hash partition" msgstr "неприпустима вказівка границі для геш-секції" -#: parser/parse_utilcmd.c:4043 partitioning/partbounds.c:4803 +#: parser/parse_utilcmd.c:4031 partitioning/partbounds.c:4802 #, c-format msgid "modulus for hash partition must be an integer value greater than zero" msgstr "модуль для хеш-секції повинен бути цілим числом більшим за нуль" -#: parser/parse_utilcmd.c:4050 partitioning/partbounds.c:4811 +#: parser/parse_utilcmd.c:4038 partitioning/partbounds.c:4810 #, c-format msgid "remainder for hash partition must be less than modulus" msgstr "залишок для геш-секції повинен бути меньшим, ніж модуль" -#: parser/parse_utilcmd.c:4063 +#: parser/parse_utilcmd.c:4051 #, c-format msgid "invalid bound specification for a list partition" msgstr "нерипустима вказівка границі для секції по списку" -#: parser/parse_utilcmd.c:4116 +#: parser/parse_utilcmd.c:4104 #, c-format msgid "invalid bound specification for a range partition" msgstr "неприпустима вказівка границі для секції діапазону" -#: parser/parse_utilcmd.c:4122 +#: parser/parse_utilcmd.c:4110 #, c-format msgid "FROM must specify exactly one value per partitioning column" msgstr "В FROM повинно вказуватися лише одне значення для стовпця секціонування" -#: parser/parse_utilcmd.c:4126 +#: parser/parse_utilcmd.c:4114 #, c-format msgid "TO must specify exactly one value per partitioning column" msgstr "В TO повинно вказуватися лише одне значення для стовпця секціонування" -#: parser/parse_utilcmd.c:4240 +#: parser/parse_utilcmd.c:4228 #, c-format msgid "cannot specify NULL in range bound" msgstr "вказати NULL в діапазоні границі не можна" -#: parser/parse_utilcmd.c:4289 +#: parser/parse_utilcmd.c:4277 #, c-format msgid "every bound following MAXVALUE must also be MAXVALUE" msgstr "за кожною границею MAXVALUE повинні бути лише границі MAXVALUE" -#: parser/parse_utilcmd.c:4296 +#: parser/parse_utilcmd.c:4284 #, c-format msgid "every bound following MINVALUE must also be MINVALUE" msgstr "за кожною границею MINVALUE повинні бути лише границі MINVALUE" -#: parser/parse_utilcmd.c:4339 +#: parser/parse_utilcmd.c:4327 #, c-format msgid "specified value cannot be cast to type %s for column \"%s\"" msgstr "вказане значення не можна привести до типу %s для стовпця \"%s\"" @@ -18454,12 +18959,12 @@ msgstr "UESCAPE повинен відстежуватись простим лі msgid "invalid Unicode escape character" msgstr "неприпустимий символ спеціального коду Unicode" -#: parser/parser.c:347 scan.l:1390 +#: parser/parser.c:347 scan.l:1393 #, c-format msgid "invalid Unicode escape value" msgstr "неприпустиме значення спеціального коду Unicode" -#: parser/parser.c:494 utils/adt/varlena.c:6505 scan.l:701 +#: parser/parser.c:494 utils/adt/varlena.c:6640 scan.l:716 #, c-format msgid "invalid Unicode escape" msgstr "неприпустимий спеціальний код Unicode" @@ -18469,8 +18974,8 @@ msgstr "неприпустимий спеціальний код Unicode" msgid "Unicode escapes must be \\XXXX or \\+XXXXXX." msgstr "Спеціальні символи Unicode повинні бути \\XXXX або \\+XXXXXX." -#: parser/parser.c:523 utils/adt/varlena.c:6530 scan.l:662 scan.l:678 -#: scan.l:694 +#: parser/parser.c:523 utils/adt/varlena.c:6665 scan.l:677 scan.l:693 +#: scan.l:709 #, c-format msgid "invalid Unicode surrogate pair" msgstr "неприпустима сурогатна пара Unicode" @@ -18480,146 +18985,140 @@ msgstr "неприпустима сурогатна пара Unicode" msgid "identifier \"%s\" will be truncated to \"%.*s\"" msgstr "ідентифікатор \"%s\" буде скорочено до \"%.*s\"" -#: partitioning/partbounds.c:2921 +#: partitioning/partbounds.c:2920 #, c-format msgid "partition \"%s\" conflicts with existing default partition \"%s\"" msgstr "існують конфлікти між розділом \"%s\" та існуючим розділом за замовчуванням \"%s\"" -#: partitioning/partbounds.c:2973 partitioning/partbounds.c:2992 -#: partitioning/partbounds.c:3014 +#: partitioning/partbounds.c:2972 partitioning/partbounds.c:2991 +#: partitioning/partbounds.c:3013 #, c-format msgid "every hash partition modulus must be a factor of the next larger modulus" msgstr "модуль кожної геш-секції повинен бути дільником наступних більших модулів" -#: partitioning/partbounds.c:2974 partitioning/partbounds.c:3015 +#: partitioning/partbounds.c:2973 partitioning/partbounds.c:3014 #, c-format msgid "The new modulus %d is not a factor of %d, the modulus of existing partition \"%s\"." msgstr "Новий модуль %d не є дільником %d, поточний модуль розділу \"%s\"." -#: partitioning/partbounds.c:2993 +#: partitioning/partbounds.c:2992 #, c-format msgid "The new modulus %d is not divisible by %d, the modulus of existing partition \"%s\"." msgstr "Новий модуль %d не ділиться на %d, поточний модуль розділу \"%s\"." -#: partitioning/partbounds.c:3128 +#: partitioning/partbounds.c:3127 #, c-format msgid "empty range bound specified for partition \"%s\"" msgstr "для секції \"%s\" вказані границі, які утворюють пустий діапазон" -#: partitioning/partbounds.c:3130 +#: partitioning/partbounds.c:3129 #, c-format msgid "Specified lower bound %s is greater than or equal to upper bound %s." msgstr "Вказана нижня границя %s більша або дорівнює верхній границі %s." -#: partitioning/partbounds.c:3238 +#: partitioning/partbounds.c:3237 #, c-format msgid "partition \"%s\" would overlap partition \"%s\"" msgstr "секція \"%s\" буде перекривати секцію \"%s\"" -#: partitioning/partbounds.c:3355 +#: partitioning/partbounds.c:3354 #, c-format msgid "skipped scanning foreign table \"%s\" which is a partition of default partition \"%s\"" msgstr "пропущено сканування зовнішньої таблиці \"%s\" яка є секцією секції за замовчуванням \"%s\"" -#: partitioning/partbounds.c:4807 +#: partitioning/partbounds.c:4806 #, c-format msgid "remainder for hash partition must be an integer value greater than or equal to zero" msgstr "залишок для хеш-секції повинен бути цілим числом більшим або рівним нулю" -#: partitioning/partbounds.c:4831 +#: partitioning/partbounds.c:4830 #, c-format msgid "\"%s\" is not a hash partitioned table" msgstr "\"%s\" не є геш-секціонованою таблицею" -#: partitioning/partbounds.c:4842 partitioning/partbounds.c:4959 +#: partitioning/partbounds.c:4841 partitioning/partbounds.c:4958 #, c-format msgid "number of partitioning columns (%d) does not match number of partition keys provided (%d)" msgstr "кількість секціонованих стовпців (%d) не дорівнює кількості наданих ключів секціонування (%d)" -#: partitioning/partbounds.c:4864 +#: partitioning/partbounds.c:4863 #, c-format msgid "column %d of the partition key has type %s, but supplied value is of type %s" msgstr "стовпець %d ключа секціонування має тип %s, але для нього вказане значення типу %s" -#: partitioning/partbounds.c:4896 +#: partitioning/partbounds.c:4895 #, c-format msgid "column %d of the partition key has type \"%s\", but supplied value is of type \"%s\"" msgstr "стовпець %d ключа секціонування має тип \"%s\", але для нього вказано значення типу \"%s\"" -#: port/pg_sema.c:209 port/pg_shmem.c:708 port/posix_sema.c:209 -#: port/sysv_sema.c:323 port/sysv_shmem.c:708 +#: port/pg_sema.c:209 port/pg_shmem.c:717 port/posix_sema.c:209 +#: port/sysv_sema.c:323 port/sysv_shmem.c:717 #, c-format msgid "could not stat data directory \"%s\": %m" msgstr "не вдалося встановити дані каталогу \"%s\": %m" -#: port/pg_shmem.c:223 port/sysv_shmem.c:223 +#: port/pg_shmem.c:224 port/sysv_shmem.c:224 #, c-format msgid "could not create shared memory segment: %m" msgstr "не вдалося створити сегмент спільної пам'яті: %m" -#: port/pg_shmem.c:224 port/sysv_shmem.c:224 +#: port/pg_shmem.c:225 port/sysv_shmem.c:225 #, c-format msgid "Failed system call was shmget(key=%lu, size=%zu, 0%o)." msgstr "Помилка в системному виклику shmget (ключ=%lu, розмір=%zu, 0%o)." -#: port/pg_shmem.c:228 port/sysv_shmem.c:228 +#: port/pg_shmem.c:229 port/sysv_shmem.c:229 #, c-format -msgid "" -"This error usually means that PostgreSQL's request for a shared memory segment exceeded your kernel's SHMMAX parameter, or possibly that it is less than your kernel's SHMMIN parameter.\n" +msgid "This error usually means that PostgreSQL's request for a shared memory segment exceeded your kernel's SHMMAX parameter, or possibly that it is less than your kernel's SHMMIN parameter.\n" "The PostgreSQL documentation contains more information about shared memory configuration." -msgstr "" -"Ця помилка зазвичай означає, що запит PostgreSQL для сегменту спільної пам'яті перевищує параметр SHMMAX вашого ядра, або можливо що він менший за параметр SHMMIN вашого ядра.\n" +msgstr "Ця помилка зазвичай означає, що запит PostgreSQL для сегменту спільної пам'яті перевищує параметр SHMMAX вашого ядра, або можливо що він менший за параметр SHMMIN вашого ядра.\n" "Більше інформації про налаштування спільної пам'яті міститься в інструкції PostgreSQL." -#: port/pg_shmem.c:235 port/sysv_shmem.c:235 +#: port/pg_shmem.c:236 port/sysv_shmem.c:236 #, c-format -msgid "" -"This error usually means that PostgreSQL's request for a shared memory segment exceeded your kernel's SHMALL parameter. You might need to reconfigure the kernel with larger SHMALL.\n" +msgid "This error usually means that PostgreSQL's request for a shared memory segment exceeded your kernel's SHMALL parameter. You might need to reconfigure the kernel with larger SHMALL.\n" "The PostgreSQL documentation contains more information about shared memory configuration." -msgstr "" -"Ця помилка зазвичай означає, що запит PostgreSQL для сегменту спільної пам'яті перевищує параметр SHMALL вашого ядра. Можливо, вам слід переналаштувати ваше ядро, збільшивши параметр SHMALL.\n" +msgstr "Ця помилка зазвичай означає, що запит PostgreSQL для сегменту спільної пам'яті перевищує параметр SHMALL вашого ядра. Можливо, вам слід переналаштувати ваше ядро, збільшивши параметр SHMALL.\n" "Більше інформації про налаштування спільної пам'яті міститься в інструкції PostgreSQL." -#: port/pg_shmem.c:241 port/sysv_shmem.c:241 +#: port/pg_shmem.c:242 port/sysv_shmem.c:242 #, c-format -msgid "" -"This error does *not* mean that you have run out of disk space. It occurs either if all available shared memory IDs have been taken, in which case you need to raise the SHMMNI parameter in your kernel, or because the system's overall limit for shared memory has been reached.\n" +msgid "This error does *not* mean that you have run out of disk space. It occurs either if all available shared memory IDs have been taken, in which case you need to raise the SHMMNI parameter in your kernel, or because the system's overall limit for shared memory has been reached.\n" "The PostgreSQL documentation contains more information about shared memory configuration." -msgstr "" -"Ця помилка НЕ означає, що на диску немає місця. Ймовірніше за все, були зайняті всі доступні ID спільної пам'яті, в такому випадку вам потрібно підвищити параметр SHMMNI у вашому ядрі, або перевищено граничний розмір спільної пам'яті.\n" +msgstr "Ця помилка НЕ означає, що на диску немає місця. Ймовірніше за все, були зайняті всі доступні ID спільної пам'яті, в такому випадку вам потрібно підвищити параметр SHMMNI у вашому ядрі, або перевищено граничний розмір спільної пам'яті.\n" "Детальна інформація про налаштування спільної пам'яті міститься в інструкції PostgreSQL." -#: port/pg_shmem.c:583 port/sysv_shmem.c:583 port/win32_shmem.c:641 +#: port/pg_shmem.c:584 port/sysv_shmem.c:584 port/win32_shmem.c:646 #, c-format -msgid "huge_page_size must be 0 on this platform." -msgstr "huge_page_size повинен бути 0 на цій платформі." +msgid "\"huge_page_size\" must be 0 on this platform." +msgstr "" -#: port/pg_shmem.c:646 port/sysv_shmem.c:646 +#: port/pg_shmem.c:655 port/sysv_shmem.c:655 #, c-format msgid "could not map anonymous shared memory: %m" msgstr "не вдалося показати анонімну спільну пам'ять: %m" -#: port/pg_shmem.c:648 port/sysv_shmem.c:648 +#: port/pg_shmem.c:657 port/sysv_shmem.c:657 #, c-format -msgid "This error usually means that PostgreSQL's request for a shared memory segment exceeded available memory, swap space, or huge pages. To reduce the request size (currently %zu bytes), reduce PostgreSQL's shared memory usage, perhaps by reducing shared_buffers or max_connections." -msgstr "Ця помилка зазвичай означає, що запит PostgreSQL для сегменту спільної пам'яті перевищує об'єм доступної фізичної або віртуальної пам'яті або гігантских сторінок. Щоб зменшити розмір запиту (поточний: %zu байтів), зменшіть використання спільної пам'яті PostgreSQL, можливо зменшив shared_buffers або max_connections." +msgid "This error usually means that PostgreSQL's request for a shared memory segment exceeded available memory, swap space, or huge pages. To reduce the request size (currently %zu bytes), reduce PostgreSQL's shared memory usage, perhaps by reducing \"shared_buffers\" or \"max_connections\"." +msgstr "" -#: port/pg_shmem.c:716 port/sysv_shmem.c:716 +#: port/pg_shmem.c:725 port/sysv_shmem.c:725 #, c-format msgid "huge pages not supported on this platform" msgstr "величезні сторінки на цій плтаформі не підтримуються" -#: port/pg_shmem.c:723 port/sysv_shmem.c:723 +#: port/pg_shmem.c:732 port/sysv_shmem.c:732 #, c-format -msgid "huge pages not supported with the current shared_memory_type setting" -msgstr "величезні сторінки не підтримуються з поточним параметром shared_memory_type" +msgid "huge pages not supported with the current \"shared_memory_type\" setting" +msgstr "" -#: port/pg_shmem.c:783 port/sysv_shmem.c:783 utils/init/miscinit.c:1358 +#: port/pg_shmem.c:798 port/sysv_shmem.c:798 utils/init/miscinit.c:1347 #, c-format msgid "pre-existing shared memory block (key %lu, ID %lu) is still in use" msgstr "раніше виділений блок спільної пам'яті (ключ %lu, ідентифікатор %lu) все ще використовується" -#: port/pg_shmem.c:786 port/sysv_shmem.c:786 utils/init/miscinit.c:1360 +#: port/pg_shmem.c:801 port/sysv_shmem.c:801 utils/init/miscinit.c:1349 #, c-format msgid "Terminate any old server processes associated with data directory \"%s\"." msgstr "Припинити будь-які старі серверні процеси, пов'язані з каталогом даних \"%s\"." @@ -18636,12 +19135,9 @@ msgstr "Помилка системного виклику semget(%lu, %d, 0%o). #: port/sysv_sema.c:125 #, 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" +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:155 #, c-format @@ -18768,97 +19264,87 @@ msgstr "Помилка в системному виклику DuplicateHandle." msgid "Failed system call was MapViewOfFileEx." msgstr "Помилка в системному виклику MapViewOfFileEx." -#: postmaster/autovacuum.c:417 -#, c-format -msgid "could not fork autovacuum launcher process: %m" -msgstr "не вдалося породити процес запуску автоочистки: %m" - -#: postmaster/autovacuum.c:764 +#: postmaster/autovacuum.c:686 #, c-format msgid "autovacuum worker took too long to start; canceled" msgstr "старт процеса автовакуума зайняв забагато часу; скасовано" -#: postmaster/autovacuum.c:1489 -#, c-format -msgid "could not fork autovacuum worker process: %m" -msgstr "не вдалося породити робочий процес автоочитски: %m" - -#: postmaster/autovacuum.c:2334 +#: postmaster/autovacuum.c:2199 #, c-format msgid "autovacuum: dropping orphan temp table \"%s.%s.%s\"" msgstr "автоочистка: видалення застарілої тимчасової таблиці \"%s.%s.%s\"" -#: postmaster/autovacuum.c:2570 +#: postmaster/autovacuum.c:2435 #, c-format msgid "automatic vacuum of table \"%s.%s.%s\"" msgstr "автоматична очистка таблиці \"%s.%s.%s\"" -#: postmaster/autovacuum.c:2573 +#: postmaster/autovacuum.c:2438 #, c-format msgid "automatic analyze of table \"%s.%s.%s\"" msgstr "автоматичний аналіз таблиці \"%s.%s.%s\"" -#: postmaster/autovacuum.c:2767 +#: postmaster/autovacuum.c:2632 #, c-format msgid "processing work entry for relation \"%s.%s.%s\"" msgstr "обробка робочого введення для відношення \"%s.%s.%s\"" -#: postmaster/autovacuum.c:3381 +#: postmaster/autovacuum.c:3250 #, c-format msgid "autovacuum not started because of misconfiguration" msgstr "автоочистку не запущено через неправильну конфігурацію" -#: postmaster/autovacuum.c:3382 +#: postmaster/autovacuum.c:3251 #, c-format msgid "Enable the \"track_counts\" option." msgstr "Активувати параметр \"track_counts\"." -#: postmaster/bgworker.c:259 +#: postmaster/bgworker.c:260 #, c-format msgid "inconsistent background worker state (max_worker_processes=%d, total_slots=%d)" msgstr "несумісний стан фонового процесу (max_worker_processes=%d, total_slots=%d)" -#: postmaster/bgworker.c:669 +#: postmaster/bgworker.c:651 #, c-format msgid "background worker \"%s\": background workers without shared memory access are not supported" msgstr "фоновий виконавець \"%s\": фонові виконавці без доступу до спільної пам'яті не підтримуються" -#: postmaster/bgworker.c:680 +#: postmaster/bgworker.c:662 #, c-format msgid "background worker \"%s\": cannot request database access if starting at postmaster start" msgstr "фоновий виконавець \"%s\": не може запитувати доступ до бази даних, якщо його запущено при старті адміністратора поштового сервісу" -#: postmaster/bgworker.c:694 +#: postmaster/bgworker.c:676 #, c-format msgid "background worker \"%s\": invalid restart interval" msgstr "фоновий виконавець \"%s\": неприпустимий інтервал перезавантаження" -#: postmaster/bgworker.c:709 +#: postmaster/bgworker.c:691 #, c-format msgid "background worker \"%s\": parallel workers may not be configured for restart" msgstr "фоновий виконавець\"%s\": паралельні виконавці не можуть бути налаштовані для перезавантаження" -#: postmaster/bgworker.c:733 tcop/postgres.c:3255 +#: postmaster/bgworker.c:715 tcop/postgres.c:3312 #, c-format msgid "terminating background worker \"%s\" due to administrator command" msgstr "завершення фонового процесу \"%s\" по команді адміністратора" -#: postmaster/bgworker.c:890 +#: postmaster/bgworker.c:888 #, c-format -msgid "background worker \"%s\": must be registered in shared_preload_libraries" -msgstr "фоновий процес \"%s\": повинен бути зареєстрований в shared_preload_libraries" +msgid "background worker \"%s\": must be registered in \"shared_preload_libraries\"" +msgstr "" -#: postmaster/bgworker.c:902 +#: postmaster/bgworker.c:911 #, c-format msgid "background worker \"%s\": only dynamic background workers can request notification" msgstr "фоновий процес \"%s\": лише динамічні фонові процеси можуть запитувати сповіщення" -#: postmaster/bgworker.c:917 +#: postmaster/bgworker.c:926 #, c-format msgid "too many background workers" msgstr "занадто багато фонових процесів" -#: postmaster/bgworker.c:918 +#: postmaster/bgworker.c:927 #, c-format msgid "Up to %d background worker can be registered with the current settings." msgid_plural "Up to %d background workers can be registered with the current settings." @@ -18867,12 +19353,12 @@ msgstr[1] "Максимальне можливе число фонових пр msgstr[2] "Максимальне можливе число фонових процесів при поточних параметрах: %d." msgstr[3] "Максимальне можливе число фонових процесів при поточних параметрах: %d." -#: postmaster/bgworker.c:922 +#: postmaster/bgworker.c:931 postmaster/checkpointer.c:445 #, c-format -msgid "Consider increasing the configuration parameter \"max_worker_processes\"." -msgstr "Можливо, слід збільшити параметр конфігурації \"max_worker_processes\"." +msgid "Consider increasing the configuration parameter \"%s\"." +msgstr "" -#: postmaster/checkpointer.c:431 +#: postmaster/checkpointer.c:441 #, c-format msgid "checkpoints are occurring too frequently (%d second apart)" msgid_plural "checkpoints are occurring too frequently (%d seconds apart)" @@ -18881,854 +19367,769 @@ msgstr[1] "контрольні точки відбуваються занадт msgstr[2] "контрольні точки відбуваються занадто часто (через %d сек.)" msgstr[3] "контрольні точки відбуваються занадто часто (через %d сек.)" -#: postmaster/checkpointer.c:435 -#, c-format -msgid "Consider increasing the configuration parameter \"max_wal_size\"." -msgstr "Можливо, слід збільшити параметр конфігурації \"max_wal_size\"." - -#: postmaster/checkpointer.c:1059 +#: postmaster/checkpointer.c:1067 #, c-format msgid "checkpoint request failed" msgstr "збій при запиті контрольної точки" -#: postmaster/checkpointer.c:1060 +#: postmaster/checkpointer.c:1068 #, c-format msgid "Consult recent messages in the server log for details." msgstr "Для деталей, зверніться до останніх повідомлень в протоколі серверу." -#: postmaster/pgarch.c:416 +#: postmaster/launch_backend.c:381 #, c-format -msgid "archive_mode enabled, yet archiving is not configured" -msgstr "archive_mode активовано, але архівування не налаштовано" +msgid "could not execute server process \"%s\": %m" +msgstr "не вдалося виконати серверні процеси \"%s\":%m" -#: postmaster/pgarch.c:438 +#: postmaster/launch_backend.c:434 #, c-format -msgid "removed orphan archive status file \"%s\"" -msgstr "видалено залишковий файл статусу архіву \"%s\"" +msgid "could not create backend parameter file mapping: error code %lu" +msgstr "не вдалося створити відображення файлу параметру внутрішнього сервера: код помилки %lu" + +#: postmaster/launch_backend.c:442 +#, c-format +msgid "could not map backend parameter memory: error code %lu" +msgstr "не вдалося відобразити пам'ять параметру внутрішнього сервера: код помилки %lu" + +#: postmaster/launch_backend.c:459 +#, c-format +msgid "subprocess command line too long" +msgstr "командний рядок підпроцесу занадто довгий" + +#: postmaster/launch_backend.c:477 +#, c-format +msgid "CreateProcess() call failed: %m (error code %lu)" +msgstr "помилка виклику CreateProcess(): %m (код помилки %lu)" + +#: postmaster/launch_backend.c:504 +#, c-format +msgid "could not unmap view of backend parameter file: error code %lu" +msgstr "не вдалося вимкнути відображення файлу параметру внутрішнього сервера: код помилки %lu" + +#: postmaster/launch_backend.c:508 +#, c-format +msgid "could not close handle to backend parameter file: error code %lu" +msgstr "не вдалося закрити покажчик файлу параметру внутрішнього сервера: код помилки %lu" + +#: postmaster/launch_backend.c:530 +#, c-format +msgid "giving up after too many tries to reserve shared memory" +msgstr "кількість повторних спроб резервування спільної пам'яті досягло межі" + +#: postmaster/launch_backend.c:531 +#, c-format +msgid "This might be caused by ASLR or antivirus software." +msgstr "Це може бути викликано антивірусним програмним забезпеченням або ASLR." + +#: postmaster/launch_backend.c:834 +#, c-format +msgid "could not duplicate socket %d for use in backend: error code %d" +msgstr "не вдалося продублювати сокет %d для використання: код помилки %d" + +#: postmaster/launch_backend.c:866 +#, c-format +msgid "could not create inherited socket: error code %d\n" +msgstr "не вдалося створити успадкований сокет: код помилки %d\n" + +#: postmaster/launch_backend.c:895 +#, c-format +msgid "could not open backend variables file \"%s\": %m\n" +msgstr "" + +#: postmaster/launch_backend.c:901 +#, c-format +msgid "could not read from backend variables file \"%s\": %m\n" +msgstr "" -#: postmaster/pgarch.c:448 +#: postmaster/launch_backend.c:912 +#, c-format +msgid "could not read startup data from backend variables file \"%s\": %m\n" +msgstr "" + +#: postmaster/launch_backend.c:924 +#, c-format +msgid "could not remove file \"%s\": %m\n" +msgstr "" + +#: postmaster/launch_backend.c:940 +#, c-format +msgid "could not map view of backend variables: error code %lu\n" +msgstr "не вдалося відобразити файл серверних змінних: код помилки %lu\n" + +#: postmaster/launch_backend.c:959 +#, c-format +msgid "could not unmap view of backend variables: error code %lu\n" +msgstr "не вдалося вимкнути відображення файлу серверних змінних: код помилки %lu\n" + +#: postmaster/launch_backend.c:966 +#, c-format +msgid "could not close handle to backend parameter variables: error code %lu\n" +msgstr "не вдалося закрити покажчик файлу серверних змінних: код помилки %lu\n" + +#: postmaster/pgarch.c:428 +#, c-format +msgid "\"archive_mode\" enabled, yet archiving is not configured" +msgstr "" + +#: postmaster/pgarch.c:452 +#, c-format +msgid "removed orphan archive status file \"%s\"" +msgstr "видалено залишковий файл статусу архіву \"%s\"" + +#: postmaster/pgarch.c:462 #, c-format msgid "removal of orphan archive status file \"%s\" failed too many times, will try again later" msgstr "видалення залишкового файлу статусу архіву \"%s\" не вдалося занадто багато разів, пізніже спробуємо знову" -#: postmaster/pgarch.c:484 +#: postmaster/pgarch.c:498 #, c-format msgid "archiving write-ahead log file \"%s\" failed too many times, will try again later" msgstr "архівація файлу випереджувальног журналювання \"%s\" не виконана багато разів, наступна спроба буде пізніже" -#: postmaster/pgarch.c:791 postmaster/pgarch.c:830 +#: postmaster/pgarch.c:879 postmaster/pgarch.c:918 #, c-format -msgid "both archive_command and archive_library set" -msgstr "встановлено команду archive_command і archive_library" +msgid "both \"archive_command\" and \"archive_library\" set" +msgstr "" -#: postmaster/pgarch.c:792 postmaster/pgarch.c:831 +#: postmaster/pgarch.c:880 postmaster/pgarch.c:919 #, c-format -msgid "Only one of archive_command, archive_library may be set." -msgstr "Можливо встановити лише одну з archive_command, archive_library." +msgid "Only one of \"archive_command\", \"archive_library\" may be set." +msgstr "" -#: postmaster/pgarch.c:809 +#: postmaster/pgarch.c:897 #, c-format msgid "restarting archiver process because value of \"archive_library\" was changed" msgstr "перезапуск процесу архіватора, оскільки значення \"archive_library\" було змінено" -#: postmaster/pgarch.c:846 +#: postmaster/pgarch.c:934 #, c-format msgid "archive modules have to define the symbol %s" msgstr "архівні модулі повинні визначити символ %s" -#: postmaster/pgarch.c:852 +#: postmaster/pgarch.c:940 #, c-format msgid "archive modules must register an archive callback" msgstr "модулі архіву повинні реєструвати зворотний виклик архіву" -#: postmaster/postmaster.c:759 +#: postmaster/postmaster.c:661 #, c-format msgid "%s: invalid argument for option -f: \"%s\"\n" msgstr "%s: неприпустимий аргумент для параметру -f: \"%s\"\n" -#: postmaster/postmaster.c:832 +#: postmaster/postmaster.c:734 #, c-format msgid "%s: invalid argument for option -t: \"%s\"\n" msgstr "%s: неприпустимий аргумент для параметру -t: \"%s\"\n" -#: postmaster/postmaster.c:855 +#: postmaster/postmaster.c:757 #, c-format msgid "%s: invalid argument: \"%s\"\n" msgstr "%s: неприпустимий аргумент: \"%s\"\n" -#: postmaster/postmaster.c:923 +#: postmaster/postmaster.c:825 #, c-format -msgid "%s: superuser_reserved_connections (%d) plus reserved_connections (%d) must be less than max_connections (%d)\n" -msgstr "%s: superuser_reserved_connections (%d) плюс reserved_connections (%d) має бути меншим за max_connections (%d)\n" +msgid "%s: \"superuser_reserved_connections\" (%d) plus \"reserved_connections\" (%d) must be less than \"max_connections\" (%d)\n" +msgstr "" -#: postmaster/postmaster.c:931 +#: postmaster/postmaster.c:833 #, c-format -msgid "WAL archival cannot be enabled when wal_level is \"minimal\"" -msgstr "WAL архіватор не може бути активованим, коли wal_level \"мінімальний\"" +msgid "WAL archival cannot be enabled when \"wal_level\" is \"minimal\"" +msgstr "" -#: postmaster/postmaster.c:934 +#: postmaster/postmaster.c:836 #, c-format -msgid "WAL streaming (max_wal_senders > 0) requires wal_level \"replica\" or \"logical\"" -msgstr "Потокове передавання WAL (max_wal_senders > 0) вимагає wal_level \"replica\" або \"logical\"" +msgid "WAL streaming (\"max_wal_senders\" > 0) requires \"wal_level\" to be \"replica\" or \"logical\"" +msgstr "Потокове передавання WAL (\"max_wal_senders\" > 0) вимагає \"wal_level\" \"replica\" або \"logical\"" -#: postmaster/postmaster.c:942 +#: postmaster/postmaster.c:839 +#, c-format +msgid "WAL cannot be summarized when \"wal_level\" is \"minimal\"" +msgstr "неможливо підсумувати WAL, якщо \"wal_level\" дорівнє \"minimal\"" + +#: postmaster/postmaster.c:847 #, c-format msgid "%s: invalid datetoken tables, please fix\n" msgstr "%s: неприпустимі таблиці маркерів часу, будь-ласка виправіть\n" -#: postmaster/postmaster.c:1099 +#: postmaster/postmaster.c:1004 #, c-format msgid "could not create I/O completion port for child queue" msgstr "не вдалося створити завершений порт вводу-виводу для черги дітей" -#: postmaster/postmaster.c:1175 +#: postmaster/postmaster.c:1069 #, c-format msgid "ending log output to stderr" msgstr "завершення запису виводу Stderr" -#: postmaster/postmaster.c:1176 +#: postmaster/postmaster.c:1070 #, c-format msgid "Future log output will go to log destination \"%s\"." msgstr "В майбутньому запис виведення буде записуватися в призначення \"%s\"." -#: postmaster/postmaster.c:1187 +#: postmaster/postmaster.c:1081 #, c-format msgid "starting %s" msgstr "початок %s" -#: postmaster/postmaster.c:1239 +#: postmaster/postmaster.c:1143 #, c-format msgid "could not create listen socket for \"%s\"" msgstr "не вдалося створити сокет прослуховування для \"%s\"" -#: postmaster/postmaster.c:1245 +#: postmaster/postmaster.c:1149 #, c-format msgid "could not create any TCP/IP sockets" msgstr "не вдалося створити TCP/IP сокети" -#: postmaster/postmaster.c:1277 +#: postmaster/postmaster.c:1181 #, c-format msgid "DNSServiceRegister() failed: error code %ld" msgstr "Помилка DNSServiceRegister(): код помилки %ld" -#: postmaster/postmaster.c:1328 +#: postmaster/postmaster.c:1234 #, c-format msgid "could not create Unix-domain socket in directory \"%s\"" msgstr "не вдалося створити Unix-domain сокет в каталозі \"%s\"" -#: postmaster/postmaster.c:1334 +#: postmaster/postmaster.c:1240 #, c-format msgid "could not create any Unix-domain sockets" msgstr "не вдалося створити Unix-domain сокети" -#: postmaster/postmaster.c:1345 +#: postmaster/postmaster.c:1251 #, c-format msgid "no socket created for listening" msgstr "не створено жодного сокету для прослуховування" -#: postmaster/postmaster.c:1376 +#: postmaster/postmaster.c:1282 #, c-format -msgid "%s: could not change permissions of external PID file \"%s\": %s\n" -msgstr "%s: не вдалося змінити дозволи зовнішнього PID файлу \"%s\": %s\n" +msgid "%s: could not change permissions of external PID file \"%s\": %m\n" +msgstr "%s: не вдалося змінити дозволи зовнішнього PID файлу \"%s\": %m\n" -#: postmaster/postmaster.c:1380 +#: postmaster/postmaster.c:1286 #, c-format -msgid "%s: could not write external PID file \"%s\": %s\n" -msgstr "%s: не вдалося записати зовнішній PID файл \"%s\": %s\n" +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:1408 utils/init/postinit.c:221 +#: postmaster/postmaster.c:1314 utils/init/postinit.c:221 #, c-format msgid "could not load %s" msgstr "не вдалося завантажити %s" -#: postmaster/postmaster.c:1434 +#: postmaster/postmaster.c:1340 #, c-format msgid "postmaster became multithreaded during startup" msgstr "адміністратор поштового сервера став багатопотоковим під час запуску" -#: postmaster/postmaster.c:1435 +#: postmaster/postmaster.c:1341 #, c-format msgid "Set the LC_ALL environment variable to a valid locale." msgstr "Встановити в змінній середовища LC_ALL дійісну локаль." -#: postmaster/postmaster.c:1536 +#: postmaster/postmaster.c:1440 #, c-format msgid "%s: could not locate my own executable path" msgstr "%s: не вдалося знайти свій власний шлях для виконання" -#: postmaster/postmaster.c:1543 +#: postmaster/postmaster.c:1447 #, c-format msgid "%s: could not locate matching postgres executable" msgstr "%s: не вдалося знайти відповідний postgres файл, що виконується" -#: postmaster/postmaster.c:1566 utils/misc/tzparser.c:340 +#: postmaster/postmaster.c:1470 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:1593 +#: postmaster/postmaster.c:1497 #, c-format -msgid "" -"%s: could not find the database system\n" +msgid "%s: could not find the database system\n" "Expected to find it in the directory \"%s\",\n" -"but could not open file \"%s\": %s\n" -msgstr "" -"%s: не вдалося знайти систему бази даних\n" +"but could not open file \"%s\": %m\n" +msgstr "%s: не вдалося знайти систему бази даних\n" "Очікувалося знайти її у каталозі \"%s\",\n" -"але не вдалося відкрити файл \"%s\": %s\n" +"але не вдалося відкрити файл \"%s\": %m\n" #. translator: %s is SIGKILL or SIGABRT -#: postmaster/postmaster.c:1890 +#: postmaster/postmaster.c:1787 #, c-format msgid "issuing %s to recalcitrant children" msgstr "надсилання %s непокірливим дітям" -#: postmaster/postmaster.c:1912 +#: postmaster/postmaster.c:1809 #, c-format msgid "performing immediate shutdown because data directory lock file is invalid" msgstr "виконується негайне припинення роботи через неприпустимий файл блокування каталогу даних" -#: postmaster/postmaster.c:1987 postmaster/postmaster.c:2015 -#, c-format -msgid "incomplete startup packet" -msgstr "неповний стартовий пакет" - -#: postmaster/postmaster.c:1999 postmaster/postmaster.c:2032 -#, c-format -msgid "invalid length of startup packet" -msgstr "неприпустима довжина стартового пакету" - -#: postmaster/postmaster.c:2061 -#, c-format -msgid "failed to send SSL negotiation response: %m" -msgstr "помилка надсилання протоколу SSL в процесі відповіді зв'язування: %m" - -#: postmaster/postmaster.c:2079 -#, c-format -msgid "received unencrypted data after SSL request" -msgstr "отримані незашифровані дані після запиту SSL" - -#: postmaster/postmaster.c:2080 postmaster/postmaster.c:2124 -#, c-format -msgid "This could be either a client-software bug or evidence of an attempted man-in-the-middle attack." -msgstr "Це може бути або помилкою клієнтського програмного забезпечення, або доказом спроби техносферної атаки." - -#: postmaster/postmaster.c:2105 -#, c-format -msgid "failed to send GSSAPI negotiation response: %m" -msgstr "помилка надсилання GSSAPI в процесі відповіді зв'язування: %m" - -#: postmaster/postmaster.c:2123 -#, c-format -msgid "received unencrypted data after GSSAPI encryption request" -msgstr "отримані незашифровані дані після запиту шифрування GSSAPI" - -#: postmaster/postmaster.c:2147 -#, c-format -msgid "unsupported frontend protocol %u.%u: server supports %u.0 to %u.%u" -msgstr "протокол інтерфейсу, що не підтримується, %u.%u: сервер підтримує %u.0 до %u.%u" - -#: postmaster/postmaster.c:2214 -#, c-format -msgid "Valid values are: \"false\", 0, \"true\", 1, \"database\"." -msgstr "Дійсні значення: \"false\", 0, \"true\", 1, \"database\"." - -#: postmaster/postmaster.c:2255 -#, c-format -msgid "invalid startup packet layout: expected terminator as last byte" -msgstr "неприпустима структура стартового пакету: останнім байтом очікувався термінатор" - -#: postmaster/postmaster.c:2272 -#, c-format -msgid "no PostgreSQL user name specified in startup packet" -msgstr "не вказано жодного ім'я користувача PostgreSQL у стартовому пакеті" - -#: postmaster/postmaster.c:2336 -#, c-format -msgid "the database system is starting up" -msgstr "система бази даних запускається" - -#: postmaster/postmaster.c:2342 -#, c-format -msgid "the database system is not yet accepting connections" -msgstr "система бази даних ще не приймає підключення" - -#: postmaster/postmaster.c:2343 -#, c-format -msgid "Consistent recovery state has not been yet reached." -msgstr "Узгодженого стану відновлення ще не досягнуто." - -#: postmaster/postmaster.c:2347 -#, c-format -msgid "the database system is not accepting connections" -msgstr "система бази даних не приймає підключення" - -#: postmaster/postmaster.c:2348 -#, c-format -msgid "Hot standby mode is disabled." -msgstr "Режим Hot standby вимкнений." - -#: postmaster/postmaster.c:2353 -#, c-format -msgid "the database system is shutting down" -msgstr "система бази даних завершує роботу" - -#: postmaster/postmaster.c:2358 -#, c-format -msgid "the database system is in recovery mode" -msgstr "система бази даних у режимі відновлення" - -#: postmaster/postmaster.c:2363 storage/ipc/procarray.c:491 -#: storage/ipc/sinvaladt.c:306 storage/lmgr/proc.c:353 -#, c-format -msgid "sorry, too many clients already" -msgstr "вибачте, вже забагато клієнтів" - -#: postmaster/postmaster.c:2450 +#: postmaster/postmaster.c:1872 #, c-format msgid "wrong key in cancel request for process %d" msgstr "неправильний ключ в запиті скасування процесу %d" -#: postmaster/postmaster.c:2462 +#: postmaster/postmaster.c:1884 #, c-format msgid "PID %d in cancel request did not match any process" msgstr "PID %d в запиті на скасування не відповідає жодному процесу" -#: postmaster/postmaster.c:2729 +#: postmaster/postmaster.c:2105 #, c-format msgid "received SIGHUP, reloading configuration files" msgstr "отримано SIGHUP, поновлення файлів конфігурацій" #. translator: %s is a configuration file -#: postmaster/postmaster.c:2753 postmaster/postmaster.c:2757 +#: postmaster/postmaster.c:2133 postmaster/postmaster.c:2137 #, c-format msgid "%s was not reloaded" msgstr "%s не було перезавантажено" -#: postmaster/postmaster.c:2767 +#: postmaster/postmaster.c:2147 #, c-format msgid "SSL configuration was not reloaded" msgstr "Конфігурація протоколу SSL не була перезавантажена" -#: postmaster/postmaster.c:2857 +#: postmaster/postmaster.c:2233 #, c-format msgid "received smart shutdown request" msgstr "отримано smart запит на завершення роботи" -#: postmaster/postmaster.c:2898 +#: postmaster/postmaster.c:2274 #, c-format msgid "received fast shutdown request" msgstr "отримано швидкий запит на завершення роботи" -#: postmaster/postmaster.c:2916 +#: postmaster/postmaster.c:2292 #, c-format msgid "aborting any active transactions" msgstr "переривання будь-яких активних транзакцій" -#: postmaster/postmaster.c:2940 +#: postmaster/postmaster.c:2316 #, c-format msgid "received immediate shutdown request" msgstr "отримано запит на негайне завершення роботи" -#: postmaster/postmaster.c:3016 +#: postmaster/postmaster.c:2388 #, c-format msgid "shutdown at recovery target" msgstr "завершення роботи при відновленні мети" -#: postmaster/postmaster.c:3034 postmaster/postmaster.c:3070 +#: postmaster/postmaster.c:2406 postmaster/postmaster.c:2442 msgid "startup process" msgstr "стартовий процес" -#: postmaster/postmaster.c:3037 +#: postmaster/postmaster.c:2409 #, c-format msgid "aborting startup due to startup process failure" msgstr "переривання запуску через помилку в стартовому процесі" -#: postmaster/postmaster.c:3110 +#: postmaster/postmaster.c:2484 #, c-format msgid "database system is ready to accept connections" msgstr "система бази даних готова до отримання підключення" -#: postmaster/postmaster.c:3131 +#: postmaster/postmaster.c:2505 msgid "background writer process" msgstr "процес фонового запису" -#: postmaster/postmaster.c:3178 +#: postmaster/postmaster.c:2552 msgid "checkpointer process" msgstr "процес контрольних точок" -#: postmaster/postmaster.c:3194 +#: postmaster/postmaster.c:2568 msgid "WAL writer process" msgstr "Процес запису WAL" -#: postmaster/postmaster.c:3209 +#: postmaster/postmaster.c:2583 msgid "WAL receiver process" msgstr "Процес отримання WAL" -#: postmaster/postmaster.c:3224 +#: postmaster/postmaster.c:2597 +msgid "WAL summarizer process" +msgstr "Процес підсумовування WAL" + +#: postmaster/postmaster.c:2612 msgid "autovacuum launcher process" msgstr "процес запуску автоочистки" -#: postmaster/postmaster.c:3242 +#: postmaster/postmaster.c:2630 msgid "archiver process" msgstr "процес архівації" -#: postmaster/postmaster.c:3255 +#: postmaster/postmaster.c:2643 msgid "system logger process" msgstr "процес системного журналювання" -#: postmaster/postmaster.c:3312 +#: postmaster/postmaster.c:2660 +msgid "slot sync worker process" +msgstr "робочий процес синхронізації слоту" + +#: postmaster/postmaster.c:2716 #, c-format msgid "background worker \"%s\"" msgstr "фоновий виконавець \"%s\"" -#: postmaster/postmaster.c:3391 postmaster/postmaster.c:3411 -#: postmaster/postmaster.c:3418 postmaster/postmaster.c:3436 +#: postmaster/postmaster.c:2795 postmaster/postmaster.c:2815 +#: postmaster/postmaster.c:2822 postmaster/postmaster.c:2840 msgid "server process" msgstr "процес сервера" -#: postmaster/postmaster.c:3490 +#: postmaster/postmaster.c:2894 #, 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:3665 +#: postmaster/postmaster.c:3081 #, c-format msgid "%s (PID %d) exited with exit code %d" msgstr "%s (PID %d) завершився з кодом виходу %d" -#: postmaster/postmaster.c:3667 postmaster/postmaster.c:3679 -#: postmaster/postmaster.c:3689 postmaster/postmaster.c:3700 +#: postmaster/postmaster.c:3083 postmaster/postmaster.c:3095 +#: postmaster/postmaster.c:3105 postmaster/postmaster.c:3116 #, 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:3676 +#: postmaster/postmaster.c:3092 #, 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:3686 +#: postmaster/postmaster.c:3102 #, 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:3698 +#: postmaster/postmaster.c:3114 #, c-format msgid "%s (PID %d) exited with unrecognized status %d" msgstr "%s (PID %d) завершився з нерозпізнаним статусом %d" -#: postmaster/postmaster.c:3906 +#: postmaster/postmaster.c:3330 #, c-format msgid "abnormal database system shutdown" msgstr "ненормальне завершення роботи системи бази даних" -#: postmaster/postmaster.c:3932 +#: postmaster/postmaster.c:3356 #, c-format msgid "shutting down due to startup process failure" msgstr "завершення роботи через помилку в стартовому процесі" -#: postmaster/postmaster.c:3938 +#: postmaster/postmaster.c:3362 #, c-format -msgid "shutting down because restart_after_crash is off" -msgstr "завершення роботи, тому що restart_after_crash вимкнено" +msgid "shutting down because \"restart_after_crash\" is off" +msgstr "завершення роботи, тому що \"restart_after_crash\" вимкнено" -#: postmaster/postmaster.c:3950 +#: postmaster/postmaster.c:3374 #, c-format msgid "all server processes terminated; reinitializing" msgstr "усі серверні процеси перервано; повторна ініціалізація" -#: postmaster/postmaster.c:4144 postmaster/postmaster.c:5462 -#: postmaster/postmaster.c:5860 +#: postmaster/postmaster.c:3573 postmaster/postmaster.c:3983 +#: postmaster/postmaster.c:4372 #, c-format msgid "could not generate random cancel key" msgstr "не вдалося згенерувати випадковий ключ скасування" -#: postmaster/postmaster.c:4206 +#: postmaster/postmaster.c:3606 #, c-format msgid "could not fork new process for connection: %m" msgstr "не вдалося породити нові процеси для з'єднання: %m" -#: postmaster/postmaster.c:4248 +#: postmaster/postmaster.c:3648 msgid "could not fork new process for connection: " msgstr "не вдалося породити нові процеси для з'єднання: " -#: postmaster/postmaster.c:4354 -#, c-format -msgid "connection received: host=%s port=%s" -msgstr "з'єднання отримано: хост=%s порт=%s" - -#: postmaster/postmaster.c:4359 -#, c-format -msgid "connection received: host=%s" -msgstr "з'єднання отримано: хост=%s" - -#: postmaster/postmaster.c:4596 -#, c-format -msgid "could not execute server process \"%s\": %m" -msgstr "не вдалося виконати серверні процеси \"%s\":%m" - -#: postmaster/postmaster.c:4654 -#, c-format -msgid "could not create backend parameter file mapping: error code %lu" -msgstr "не вдалося створити відображення файлу параметру внутрішнього сервера: код помилки %lu" - -#: postmaster/postmaster.c:4663 -#, c-format -msgid "could not map backend parameter memory: error code %lu" -msgstr "не вдалося відобразити пам'ять параметру внутрішнього сервера: код помилки %lu" - -#: postmaster/postmaster.c:4690 -#, c-format -msgid "subprocess command line too long" -msgstr "командний рядок підпроцесу занадто довгий" - -#: postmaster/postmaster.c:4708 -#, c-format -msgid "CreateProcess() call failed: %m (error code %lu)" -msgstr "помилка виклику CreateProcess(): %m (код помилки %lu)" - -#: postmaster/postmaster.c:4735 -#, c-format -msgid "could not unmap view of backend parameter file: error code %lu" -msgstr "не вдалося вимкнути відображення файлу параметру внутрішнього сервера: код помилки %lu" - -#: postmaster/postmaster.c:4739 -#, c-format -msgid "could not close handle to backend parameter file: error code %lu" -msgstr "не вдалося закрити покажчик файлу параметру внутрішнього сервера: код помилки %lu" - -#: postmaster/postmaster.c:4761 -#, c-format -msgid "giving up after too many tries to reserve shared memory" -msgstr "кількість повторних спроб резервування спільної пам'яті досягло межі" - -#: postmaster/postmaster.c:4762 -#, c-format -msgid "This might be caused by ASLR or antivirus software." -msgstr "Це може бути викликано антивірусним програмним забезпеченням або ASLR." - -#: postmaster/postmaster.c:4935 -#, c-format -msgid "SSL configuration could not be loaded in child process" -msgstr "Не вдалося завантажити конфігурацію SSL в дочірній процес" - -#: postmaster/postmaster.c:5060 +#: postmaster/postmaster.c:3682 #, c-format msgid "Please report this to <%s>." msgstr "Будь-ласка повідомте про це <%s>." -#: postmaster/postmaster.c:5128 +#: postmaster/postmaster.c:3750 #, c-format msgid "database system is ready to accept read-only connections" msgstr "система бази даних готова до отримання підключення лише для читання" -#: postmaster/postmaster.c:5386 -#, c-format -msgid "could not fork startup process: %m" -msgstr "не вдалося породити стартовий процес: %m" - -#: postmaster/postmaster.c:5390 -#, c-format -msgid "could not fork archiver process: %m" -msgstr "не вдалося породити процес архіватора: %m" - -#: postmaster/postmaster.c:5394 -#, c-format -msgid "could not fork background writer process: %m" -msgstr "не вдалося породити фоновий процес запису: %m" - -#: postmaster/postmaster.c:5398 -#, c-format -msgid "could not fork checkpointer process: %m" -msgstr "не вдалося породити процес контрольних точок: %m" - -#: postmaster/postmaster.c:5402 -#, c-format -msgid "could not fork WAL writer process: %m" -msgstr "не вдалося породити процес запису WAL: %m" - -#: postmaster/postmaster.c:5406 +#: postmaster/postmaster.c:3933 #, c-format -msgid "could not fork WAL receiver process: %m" -msgstr "не вдалося породити процес отримання WAL: %m" +msgid "could not fork \"%s\" process: %m" +msgstr "не вдалося породити процес \"%s\": %m" -#: postmaster/postmaster.c:5410 -#, c-format -msgid "could not fork process: %m" -msgstr "не вдалося породити процес: %m" - -#: postmaster/postmaster.c:5611 postmaster/postmaster.c:5638 +#: postmaster/postmaster.c:4171 postmaster/postmaster.c:4205 #, c-format msgid "database connection requirement not indicated during registration" msgstr "під час реєстрації не вказувалося, що вимагається підключення до бази даних" -#: postmaster/postmaster.c:5622 postmaster/postmaster.c:5649 +#: postmaster/postmaster.c:4181 postmaster/postmaster.c:4215 #, c-format msgid "invalid processing mode in background worker" msgstr "неприпустимий режим обробки у фоновому записі" -#: postmaster/postmaster.c:5734 -#, c-format -msgid "could not fork worker process: %m" -msgstr "не вдалося породити процес запису: %m" - -#: postmaster/postmaster.c:5846 -#, c-format -msgid "no slot available for new worker process" -msgstr "немає доступного слоту для нового робочого процесу" - -#: postmaster/postmaster.c:6177 -#, c-format -msgid "could not duplicate socket %d for use in backend: error code %d" -msgstr "не вдалося продублювати сокет %d для використання: код помилки %d" - -#: postmaster/postmaster.c:6209 -#, c-format -msgid "could not create inherited socket: error code %d\n" -msgstr "не вдалося створити успадкований сокет: код помилки %d\n" - -#: postmaster/postmaster.c:6238 +#: postmaster/postmaster.c:4275 #, c-format -msgid "could not open backend variables file \"%s\": %s\n" -msgstr "не вдалося відкрити внутрішні змінні файли \"%s\": %s\n" +msgid "could not fork background worker process: %m" +msgstr "не вдалося породити фоновий процес: %m" -#: postmaster/postmaster.c:6245 +#: postmaster/postmaster.c:4358 #, c-format -msgid "could not read from backend variables file \"%s\": %s\n" -msgstr "не вдалося прочитати внутрішні змінні файли \"%s\": %s\n" +msgid "no slot available for new background worker process" +msgstr "немає доступного слоту для нового фонового робочого процесу" -#: postmaster/postmaster.c:6254 -#, c-format -msgid "could not remove file \"%s\": %s\n" -msgstr "не вдалося видалити файл \"%s\": %s\n" - -#: postmaster/postmaster.c:6271 -#, c-format -msgid "could not map view of backend variables: error code %lu\n" -msgstr "не вдалося відобразити файл серверних змінних: код помилки %lu\n" - -#: postmaster/postmaster.c:6280 -#, c-format -msgid "could not unmap view of backend variables: error code %lu\n" -msgstr "не вдалося вимкнути відображення файлу серверних змінних: код помилки %lu\n" - -#: postmaster/postmaster.c:6287 -#, c-format -msgid "could not close handle to backend parameter variables: error code %lu\n" -msgstr "не вдалося закрити покажчик файлу серверних змінних: код помилки %lu\n" - -#: postmaster/postmaster.c:6446 +#: postmaster/postmaster.c:4621 #, c-format msgid "could not read exit code for process\n" msgstr "не вдалося прочитати код завершення процесу\n" -#: postmaster/postmaster.c:6488 +#: postmaster/postmaster.c:4663 #, c-format msgid "could not post child completion status\n" msgstr "не вдалося надіслати статус завершення нащадка\n" -#: postmaster/syslogger.c:501 postmaster/syslogger.c:1222 +#: postmaster/syslogger.c:529 postmaster/syslogger.c:1173 #, c-format msgid "could not read from logger pipe: %m" msgstr "не вдалося прочитати з каналу журналювання: %m" -#: postmaster/syslogger.c:598 postmaster/syslogger.c:612 +#: postmaster/syslogger.c:629 postmaster/syslogger.c:643 #, c-format msgid "could not create pipe for syslog: %m" msgstr "не вдалося створити канал для syslog: %m" -#: postmaster/syslogger.c:677 +#: postmaster/syslogger.c:712 #, c-format msgid "could not fork system logger: %m" msgstr "не вдалося породити процес системного журналювання: %m" -#: postmaster/syslogger.c:713 +#: postmaster/syslogger.c:731 #, c-format msgid "redirecting log output to logging collector process" msgstr "переспрямовування виводу в протокол прочесу збирача протоколів" -#: postmaster/syslogger.c:714 +#: postmaster/syslogger.c:732 #, c-format msgid "Future log output will appear in directory \"%s\"." msgstr "Наступні протоколи будуть виводитись в каталог \"%s\"." -#: postmaster/syslogger.c:722 +#: postmaster/syslogger.c:740 #, c-format msgid "could not redirect stdout: %m" msgstr "не вдалося переспрямувати stdout: %m" -#: postmaster/syslogger.c:727 postmaster/syslogger.c:744 +#: postmaster/syslogger.c:745 postmaster/syslogger.c:762 #, c-format msgid "could not redirect stderr: %m" msgstr "не вдалося переспрямувати stderr: %m" -#: postmaster/syslogger.c:1177 +#: postmaster/syslogger.c:1128 #, c-format -msgid "could not write to log file: %s\n" -msgstr "не вдалося записати до файлу протокола: %s\n" +msgid "could not write to log file: %m\n" +msgstr "не вдалося записати до файлу протокола: %m\n" -#: postmaster/syslogger.c:1295 +#: postmaster/syslogger.c:1246 #, c-format msgid "could not open log file \"%s\": %m" msgstr "не вдалося відкрити файл журналу \"%s\": %m" -#: postmaster/syslogger.c:1385 +#: postmaster/syslogger.c:1336 #, c-format msgid "disabling automatic rotation (use SIGHUP to re-enable)" msgstr "вимкнення автоматичного обертання (щоб повторно ввімкнути, використайте SIGHUP)" -#: regex/regc_pg_locale.c:242 +#: postmaster/walsummarizer.c:740 +#, c-format +msgid "WAL summarization is not progressing" +msgstr "Підбиття підсумків WAL не просувається" + +#: postmaster/walsummarizer.c:741 +#, c-format +msgid "Summarization is needed through %X/%X, but is stuck at %X/%X on disk and %X/%X in memory." +msgstr "Підсумовування потрібне через %X/%X, але воно застрягло на %X/%X на диску та %X/%X у пам'яті." + +#: postmaster/walsummarizer.c:755 +#, c-format +msgid "still waiting for WAL summarization through %X/%X after %ld second" +msgid_plural "still waiting for WAL summarization through %X/%X after %ld seconds" +msgstr[0] "все ще чекає на підбиття підсумків WAL через %X/%X через %ld секунду" +msgstr[1] "все ще чекає на підбиття підсумків WAL через %X/%X через %ld секунди" +msgstr[2] "все ще чекає на підбиття підсумків WAL через %X/%X через %ld секунд" +msgstr[3] "все ще чекає на підбиття підсумків WAL через %X/%X через %ld секунд" + +#: postmaster/walsummarizer.c:760 +#, c-format +msgid "Summarization has reached %X/%X on disk and %X/%X in memory." +msgstr "Підсумок досягнув %X/%X на диску та %X/%X у пам'яті." + +#: postmaster/walsummarizer.c:1000 +#, c-format +msgid "could not find a valid record after %X/%X" +msgstr "не вдалося знайти припустимий запис після %X/%X" + +#: postmaster/walsummarizer.c:1045 +#, c-format +msgid "could not read WAL from timeline %u at %X/%X: %s" +msgstr "не вдалося прочитати WAL з часової шкали %u за адресою %X/%X: %s" + +#: postmaster/walsummarizer.c:1051 +#, c-format +msgid "could not read WAL from timeline %u at %X/%X" +msgstr "не вдалося прочитати WAL з часової шкали %u на %X/%X" + +#: regex/regc_pg_locale.c:244 #, c-format msgid "could not determine which collation to use for regular expression" msgstr "не вдалося визначити які параметри сортування використати для регулярного виразу" -#: regex/regc_pg_locale.c:265 +#: regex/regc_pg_locale.c:262 #, c-format msgid "nondeterministic collations are not supported for regular expressions" msgstr "недетерміновані правила сортування не підтримуються для регулярних виразів" -#: replication/libpqwalreceiver/libpqwalreceiver.c:245 -#: replication/libpqwalreceiver/libpqwalreceiver.c:332 +#: replication/libpqwalreceiver/libpqwalreceiver.c:267 +#: replication/libpqwalreceiver/libpqwalreceiver.c:358 #, c-format msgid "password is required" msgstr "пароль обов'язковий" -#: replication/libpqwalreceiver/libpqwalreceiver.c:246 +#: replication/libpqwalreceiver/libpqwalreceiver.c:268 #, c-format msgid "Non-superuser cannot connect if the server does not request a password." msgstr "Несуперкористувач не може підключитися, якщо сервер не запитує пароль." -#: replication/libpqwalreceiver/libpqwalreceiver.c:247 +#: replication/libpqwalreceiver/libpqwalreceiver.c:269 #, c-format msgid "Target server's authentication method must be changed, or set password_required=false in the subscription parameters." msgstr "Необхідно змінити метод автентифікації цільового сервера або встановити password_required=false у параметрах підписки." -#: replication/libpqwalreceiver/libpqwalreceiver.c:259 +#: replication/libpqwalreceiver/libpqwalreceiver.c:285 #, c-format msgid "could not clear search path: %s" msgstr "не вдалося очистити шлях пошуку: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:305 +#: replication/libpqwalreceiver/libpqwalreceiver.c:331 +#: replication/libpqwalreceiver/libpqwalreceiver.c:517 #, c-format msgid "invalid connection string syntax: %s" msgstr "неприпустимий синтаксис рядка підключення: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:333 +#: replication/libpqwalreceiver/libpqwalreceiver.c:359 #, c-format msgid "Non-superusers must provide a password in the connection string." msgstr "Несуперкористувачі повинні вказати пароль для рядка підключення." -#: replication/libpqwalreceiver/libpqwalreceiver.c:360 +#: replication/libpqwalreceiver/libpqwalreceiver.c:386 #, c-format msgid "could not parse connection string: %s" msgstr "не вдалося аналізувати рядок підключення: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:433 +#: replication/libpqwalreceiver/libpqwalreceiver.c:459 #, c-format msgid "could not receive database system identifier and timeline ID from the primary server: %s" msgstr "не вдалося отримати ідентифікатор системи бази даних та ідентифікатор часової шкали з основного серверу: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:449 -#: replication/libpqwalreceiver/libpqwalreceiver.c:692 +#: replication/libpqwalreceiver/libpqwalreceiver.c:476 +#: replication/libpqwalreceiver/libpqwalreceiver.c:763 #, c-format msgid "invalid response from primary server" msgstr "неприпустима відповідь з основного серверу" -#: replication/libpqwalreceiver/libpqwalreceiver.c:450 +#: replication/libpqwalreceiver/libpqwalreceiver.c:477 #, 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 або більше полів." -#: replication/libpqwalreceiver/libpqwalreceiver.c:535 -#: replication/libpqwalreceiver/libpqwalreceiver.c:542 -#: replication/libpqwalreceiver/libpqwalreceiver.c:572 +#: replication/libpqwalreceiver/libpqwalreceiver.c:606 +#: replication/libpqwalreceiver/libpqwalreceiver.c:613 +#: replication/libpqwalreceiver/libpqwalreceiver.c:643 #, c-format msgid "could not start WAL streaming: %s" msgstr "не вдалося почати потокове передавання WAL: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:596 +#: replication/libpqwalreceiver/libpqwalreceiver.c:667 #, c-format msgid "could not send end-of-streaming message to primary: %s" msgstr "не вдалося передати основному серверу повідомлення про кінець передвання: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:619 +#: replication/libpqwalreceiver/libpqwalreceiver.c:690 #, c-format msgid "unexpected result set after end-of-streaming" msgstr "неочікуваний набір результатів після кінця передачі" -#: replication/libpqwalreceiver/libpqwalreceiver.c:634 +#: replication/libpqwalreceiver/libpqwalreceiver.c:705 #, c-format msgid "error while shutting down streaming COPY: %s" msgstr "помилка при завершенні потокового передавання \"копіювати\": %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:644 +#: replication/libpqwalreceiver/libpqwalreceiver.c:715 #, c-format msgid "error reading result of streaming command: %s" msgstr "помилка при читанні результату команди потокового передавання: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:653 -#: replication/libpqwalreceiver/libpqwalreceiver.c:889 +#: replication/libpqwalreceiver/libpqwalreceiver.c:724 +#: replication/libpqwalreceiver/libpqwalreceiver.c:957 #, c-format msgid "unexpected result after CommandComplete: %s" msgstr "неочікуваний результат CommandComplete: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:680 +#: replication/libpqwalreceiver/libpqwalreceiver.c:751 #, c-format msgid "could not receive timeline history file from the primary server: %s" msgstr "не вдалося отримати файл історії часової шкали з основного сервера: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:693 +#: replication/libpqwalreceiver/libpqwalreceiver.c:764 #, c-format msgid "Expected 1 tuple with 2 fields, got %d tuples with %d fields." msgstr "Очікувалося 1 кортеж з 2 поле, отримано %d кортежів з %d полями." -#: replication/libpqwalreceiver/libpqwalreceiver.c:852 -#: replication/libpqwalreceiver/libpqwalreceiver.c:905 -#: replication/libpqwalreceiver/libpqwalreceiver.c:912 +#: replication/libpqwalreceiver/libpqwalreceiver.c:920 +#: replication/libpqwalreceiver/libpqwalreceiver.c:973 +#: replication/libpqwalreceiver/libpqwalreceiver.c:980 #, c-format msgid "could not receive data from WAL stream: %s" msgstr "не вдалося отримати дані з WAL потоку: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:932 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1000 #, c-format msgid "could not send data to WAL stream: %s" msgstr "не вдалося передати дані потоку WAL: %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1024 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1101 #, c-format msgid "could not create replication slot \"%s\": %s" msgstr "не вдалося створити слот реплікації \"%s\": %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1070 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1140 +#, c-format +msgid "could not alter replication slot \"%s\": %s" +msgstr "не може змінити слот реплікації \"%s\": %s" + +#: replication/libpqwalreceiver/libpqwalreceiver.c:1174 #, c-format msgid "invalid query response" msgstr "неприпустима відповідь на запит" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1071 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1175 #, c-format msgid "Expected %d fields, got %d fields." msgstr "Очікувалося %d полів, отримано %d полі." -#: replication/libpqwalreceiver/libpqwalreceiver.c:1141 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1245 #, c-format msgid "the query interface requires a database connection" msgstr "інтерфейс запитів вимагає підключення до бази даних" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1172 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1277 msgid "empty query" msgstr "пустий запит" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1178 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1283 msgid "unexpected pipeline mode" msgstr "неочікуваний режим конвеєра" @@ -19737,189 +20138,205 @@ msgstr "неочікуваний режим конвеєра" msgid "logical replication parallel apply worker for subscription \"%s\" has finished" msgstr "завершено логічну реплікацію паралельного аплікатора для підписки \"%s\"" -#: replication/logical/applyparallelworker.c:825 +#: replication/logical/applyparallelworker.c:822 #, c-format msgid "lost connection to the logical replication apply worker" msgstr "втрачено зв'язок з робочим застосунком логічної реплікації" -#: replication/logical/applyparallelworker.c:1027 -#: replication/logical/applyparallelworker.c:1029 +#: replication/logical/applyparallelworker.c:1024 +#: replication/logical/applyparallelworker.c:1026 msgid "logical replication parallel apply worker" msgstr "застосовуючій робочий процес паралельної реплікації" -#: replication/logical/applyparallelworker.c:1043 +#: replication/logical/applyparallelworker.c:1040 #, c-format msgid "logical replication parallel apply worker exited due to error" msgstr "паралельний робочий додаток логічнаої реплікації завершив роботу через помилку" -#: replication/logical/applyparallelworker.c:1130 -#: replication/logical/applyparallelworker.c:1303 +#: replication/logical/applyparallelworker.c:1127 +#: replication/logical/applyparallelworker.c:1300 #, c-format msgid "lost connection to the logical replication parallel apply worker" msgstr "втрачено зв'язок з паралельним робочим застосунком логічної реплікації" -#: replication/logical/applyparallelworker.c:1183 +#: replication/logical/applyparallelworker.c:1180 #, c-format msgid "could not send data to shared-memory queue" msgstr "не вдалося передати дані в чергу в спільну пам'ять" -#: replication/logical/applyparallelworker.c:1218 +#: replication/logical/applyparallelworker.c:1215 #, 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:180 replication/logical/logical.c:140 +#: replication/logical/decode.c:177 replication/logical/logical.c:141 #, c-format -msgid "logical decoding on standby requires wal_level >= logical on the primary" -msgstr "логічне декодування на standby вимагає wal_level >= logical в основному" +msgid "logical decoding on standby requires \"wal_level\" >= \"logical\" on the primary" +msgstr "логічне декодування на standby вимагає \"wal_level\" >= \"logical\" на основному сервері" -#: replication/logical/launcher.c:331 +#: replication/logical/launcher.c:334 #, c-format msgid "cannot start logical replication workers when max_replication_slots = 0" msgstr "неможливо почати логічні записи реплікацій, коли max_replication_slots = 0" -#: replication/logical/launcher.c:424 +#: replication/logical/launcher.c:427 #, c-format msgid "out of logical replication worker slots" msgstr "недостатньо слотів для процесів логічної реплікації" -#: replication/logical/launcher.c:425 replication/logical/launcher.c:499 -#: replication/slot.c:1297 storage/lmgr/lock.c:964 storage/lmgr/lock.c:1002 -#: storage/lmgr/lock.c:2787 storage/lmgr/lock.c:4172 storage/lmgr/lock.c:4237 -#: storage/lmgr/lock.c:4587 storage/lmgr/predicate.c:2413 -#: storage/lmgr/predicate.c:2428 storage/lmgr/predicate.c:3825 +#: replication/logical/launcher.c:428 replication/logical/launcher.c:514 +#: replication/slot.c:1524 storage/lmgr/lock.c:985 storage/lmgr/lock.c:1023 +#: storage/lmgr/lock.c:2826 storage/lmgr/lock.c:4211 storage/lmgr/lock.c:4276 +#: storage/lmgr/lock.c:4626 storage/lmgr/predicate.c:2464 +#: storage/lmgr/predicate.c:2479 storage/lmgr/predicate.c:3876 #, c-format -msgid "You might need to increase %s." -msgstr "Можливо, вам слід збільшити %s." +msgid "You might need to increase \"%s\"." +msgstr "Можливо, вам слід збільшити \"%s\"." -#: replication/logical/launcher.c:498 +#: replication/logical/launcher.c:513 #, c-format msgid "out of background worker slots" msgstr "недостатньо слотів для фонових робочих процесів" -#: replication/logical/launcher.c:705 +#: replication/logical/launcher.c:720 #, c-format msgid "logical replication worker slot %d is empty, cannot attach" msgstr "слот запису логічної реплікації %d пустий, неможливо підключитися" -#: replication/logical/launcher.c:714 +#: replication/logical/launcher.c:729 #, c-format msgid "logical replication worker slot %d is already used by another worker, cannot attach" msgstr "слот запису логічної реплікації %d вже використовується іншим виконавцем, неможливо підключитися" -#: replication/logical/logical.c:120 +#: replication/logical/logical.c:121 #, c-format -msgid "logical decoding requires wal_level >= logical" -msgstr "логічне декодування вимагає wal_level >= logical" +msgid "logical decoding requires \"wal_level\" >= \"logical\"" +msgstr "логічне декодування вимагає \"wal_level\" >= logical\"" -#: replication/logical/logical.c:125 +#: replication/logical/logical.c:126 #, c-format msgid "logical decoding requires a database connection" msgstr "логічне декодування вимагає підключення до бази даних" -#: replication/logical/logical.c:363 replication/logical/logical.c:517 +#: replication/logical/logical.c:365 replication/logical/logical.c:519 #, c-format msgid "cannot use physical replication slot for logical decoding" msgstr "неможливо використовувати слот невідповідної реплікації для логічного кодування" -#: replication/logical/logical.c:368 replication/logical/logical.c:522 +#: replication/logical/logical.c:370 replication/logical/logical.c:529 #, c-format msgid "replication slot \"%s\" was not created in this database" msgstr "слот реплікації \"%s\" був створений не в цій базі даних" -#: replication/logical/logical.c:375 +#: replication/logical/logical.c:377 #, c-format msgid "cannot create logical replication slot in transaction that has performed writes" msgstr "неможливо створити слот логічної реплікації у транзакції, що виконує записування" -#: replication/logical/logical.c:534 replication/logical/logical.c:541 +#: replication/logical/logical.c:540 +#, 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 +#, c-format +msgid "This replication slot is being synchronized from the primary server." +msgstr "Цей слот реплікації синхронізується з основного сервера." + +#: replication/logical/logical.c:543 +#, c-format +msgid "Specify another replication slot." +msgstr "Вкажіть інший слот реплікації." + +#: replication/logical/logical.c:554 replication/logical/logical.c:561 #, c-format msgid "can no longer get changes from replication slot \"%s\"" msgstr "більше не можна отримувати зміни з слоту реплікації \"%s\"" -#: replication/logical/logical.c:536 +#: replication/logical/logical.c:556 #, c-format msgid "This slot has been invalidated because it exceeded the maximum reserved size." msgstr "Цей слот визнано недійсним, тому що він перевищив максимально зарезервований розмір." -#: replication/logical/logical.c:543 +#: replication/logical/logical.c:563 #, c-format msgid "This slot has been invalidated because it was conflicting with recovery." msgstr "Цей слот було скасовано, оскільки він суперечив відновленню." -#: replication/logical/logical.c:608 +#: replication/logical/logical.c:628 #, c-format msgid "starting logical decoding for slot \"%s\"" msgstr "початок логічного декодування для слоту \"%s\"" -#: replication/logical/logical.c:610 +#: replication/logical/logical.c:630 #, c-format msgid "Streaming transactions committing after %X/%X, reading WAL from %X/%X." msgstr "Потокове передавання транзакцій, що затверджені, після %X/%X, читання WAL з %X/%X." -#: replication/logical/logical.c:758 +#: replication/logical/logical.c:778 #, 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:764 +#: replication/logical/logical.c:784 #, c-format msgid "slot \"%s\", output plugin \"%s\", in the %s callback" msgstr "слот \"%s\", плагін виходу \"%s\", у зворотньому виклику %s" -#: replication/logical/logical.c:935 replication/logical/logical.c:980 -#: replication/logical/logical.c:1025 replication/logical/logical.c:1071 +#: replication/logical/logical.c:955 replication/logical/logical.c:1000 +#: replication/logical/logical.c:1045 replication/logical/logical.c:1091 #, c-format msgid "logical replication at prepare time requires a %s callback" msgstr "логічна реплікація під час підготовки потребує %s зворотнього виклику" -#: replication/logical/logical.c:1303 replication/logical/logical.c:1352 -#: replication/logical/logical.c:1393 replication/logical/logical.c:1479 -#: replication/logical/logical.c:1528 +#: 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 #, c-format msgid "logical streaming requires a %s callback" msgstr "логічне потокове передавання потребує %s зворотнього виклику" -#: replication/logical/logical.c:1438 +#: replication/logical/logical.c:1458 #, c-format msgid "logical streaming at prepare time requires a %s callback" msgstr "логічне потокове передавання під час підготовки потребує %s зворотнього виклику" -#: replication/logical/logicalfuncs.c:126 +#: replication/logical/logicalfuncs.c:123 #, c-format msgid "slot name must not be null" msgstr "ім'я слоту має бути не Null-значення" -#: replication/logical/logicalfuncs.c:142 +#: replication/logical/logicalfuncs.c:139 #, c-format msgid "options array must not be null" msgstr "масив параметрів має бути не Null-значення" -#: replication/logical/logicalfuncs.c:159 +#: replication/logical/logicalfuncs.c:156 #, c-format msgid "array must be one-dimensional" msgstr "масив має бути одновимірним" -#: replication/logical/logicalfuncs.c:165 +#: replication/logical/logicalfuncs.c:162 #, c-format msgid "array must not contain nulls" msgstr "масив не має включати nulls" -#: replication/logical/logicalfuncs.c:180 utils/adt/json.c:1484 -#: utils/adt/jsonb.c:1403 +#: replication/logical/logicalfuncs.c:177 utils/adt/json.c:1420 +#: utils/adt/jsonb.c:1304 #, c-format msgid "array must have even number of elements" msgstr "масив повинен мати парну кількість елементів" -#: replication/logical/logicalfuncs.c:227 +#: replication/logical/logicalfuncs.c:224 #, c-format msgid "logical decoding output plugin \"%s\" produces binary output, but function \"%s\" expects textual data" msgstr "плагін виходу логічного декодування \"%s\" виробляє бінарний вихід, але функція \"%s\" очікує текстові дані" #: replication/logical/origin.c:190 #, c-format -msgid "cannot query or manipulate replication origin when max_replication_slots = 0" -msgstr "неможливо вимагати або маніпулювати джерелами реплікації, коли max_replication_slots = 0" +msgid "cannot query or manipulate replication origin when \"max_replication_slots\" is 0" +msgstr "неможливо надіслати запит або маніпулювати джерелами реплікації, коли \"max_replication_slots\" = 0" #: replication/logical/origin.c:195 #, c-format @@ -19953,8 +20370,8 @@ msgstr "контрольна точка реплікації має неправ #: replication/logical/origin.c:798 #, c-format -msgid "could not find free replication state, increase max_replication_slots" -msgstr "не вдалося знайти вільний слот для стану реплікації, збільшіть max_replication_slots" +msgid "could not find free replication state, increase \"max_replication_slots\"" +msgstr "не вдалося знайти вільний слот для стану реплікації, збільшіть \"max_replication_slots\"" #: replication/logical/origin.c:806 #, c-format @@ -19966,54 +20383,54 @@ msgstr "відновлений стан реплікації вузла %d в %X msgid "replication slot checkpoint has wrong checksum %u, expected %u" msgstr "неправильна контрольна сума файлу контрольної точки для слота реплікації %u, очікувалось %u" -#: replication/logical/origin.c:944 replication/logical/origin.c:1141 +#: replication/logical/origin.c:944 replication/logical/origin.c:1143 #, c-format msgid "replication origin with ID %d is already active for PID %d" msgstr "джерело реплікації з ID %d вже активний для PID %d" -#: replication/logical/origin.c:955 replication/logical/origin.c:1153 +#: replication/logical/origin.c:955 replication/logical/origin.c:1156 #, c-format msgid "could not find free replication state slot for replication origin with ID %d" msgstr "не вдалося знайти вільний слот стану реплікації для джерела реплікації з ID %d" -#: replication/logical/origin.c:957 replication/logical/origin.c:1155 -#: replication/slot.c:2093 +#: replication/logical/origin.c:957 replication/logical/origin.c:1158 +#: replication/slot.c:2384 #, c-format -msgid "Increase max_replication_slots and try again." -msgstr "Збільшіть max_replication_slots і спробуйте знову." +msgid "Increase \"max_replication_slots\" and try again." +msgstr "Збільшіть \"max_replication_slots\" і спробуйте знову." -#: replication/logical/origin.c:1112 +#: replication/logical/origin.c:1114 #, c-format msgid "cannot setup replication origin when one is already setup" msgstr "не можна налаштувати джерело реплікації, коли один вже налаштований" -#: replication/logical/origin.c:1196 replication/logical/origin.c:1412 -#: replication/logical/origin.c:1432 +#: replication/logical/origin.c:1199 replication/logical/origin.c:1415 +#: replication/logical/origin.c:1435 #, c-format msgid "no replication origin is configured" msgstr "жодне джерело реплікації не налаштоване" -#: replication/logical/origin.c:1282 +#: replication/logical/origin.c:1285 #, c-format msgid "replication origin name \"%s\" is reserved" msgstr "назва джерела реплікації \"%s\" зарезервована" -#: replication/logical/origin.c:1284 +#: replication/logical/origin.c:1287 #, c-format msgid "Origin names \"%s\", \"%s\", and names starting with \"pg_\" are reserved." msgstr "Імена походженням \"%s\", \"%s\" та імена, що починаються з \"pg_\", є зарезервованими." -#: replication/logical/relation.c:240 +#: replication/logical/relation.c:242 #, c-format msgid "\"%s\"" msgstr "\"%s\"" -#: replication/logical/relation.c:243 +#: replication/logical/relation.c:245 #, c-format msgid ", \"%s\"" msgstr ", \"%s\"" -#: replication/logical/relation.c:249 +#: replication/logical/relation.c:251 #, c-format msgid "logical replication target relation \"%s.%s\" is missing replicated column: %s" msgid_plural "logical replication target relation \"%s.%s\" is missing replicated columns: %s" @@ -20022,49 +20439,177 @@ msgstr[1] "в цільовому відношенні логічної репл msgstr[2] "в цільовому відношенні логічної реплікації \"%s.%s\" пропущено репліковані стовпці: %s" msgstr[3] "в цільовому відношенні логічної реплікації \"%s.%s\" пропущено репліковані стовпці: %s" -#: replication/logical/relation.c:304 +#: replication/logical/relation.c:306 #, c-format msgid "logical replication target relation \"%s.%s\" uses system columns in REPLICA IDENTITY index" msgstr "в цільовому відношенні логічної реплікації \"%s.%s\" в індексі REPLICA IDENTITY використовуються системні стовпці" -#: replication/logical/relation.c:396 +#: replication/logical/relation.c:398 #, c-format msgid "logical replication target relation \"%s.%s\" does not exist" msgstr "цільове відношення логічної реплікації \"%s.%s\" не існує" -#: replication/logical/reorderbuffer.c:3936 +#: replication/logical/reorderbuffer.c:3994 #, c-format msgid "could not write to data file for XID %u: %m" msgstr "не вдалося записати у файл даних для XID %u: %m" -#: replication/logical/reorderbuffer.c:4282 -#: replication/logical/reorderbuffer.c:4307 +#: replication/logical/reorderbuffer.c:4340 +#: replication/logical/reorderbuffer.c:4365 #, c-format msgid "could not read from reorderbuffer spill file: %m" msgstr "не вдалося прочитати з файлу розгортання буферу пересортування: %m" -#: replication/logical/reorderbuffer.c:4286 -#: replication/logical/reorderbuffer.c:4311 +#: replication/logical/reorderbuffer.c:4344 +#: replication/logical/reorderbuffer.c:4369 #, c-format msgid "could not read from reorderbuffer spill file: read %d instead of %u bytes" msgstr "не вдалося прочитати з файлу розгортання буферу пересортування: прочитано %d замість %u байт" -#: replication/logical/reorderbuffer.c:4561 +#: replication/logical/reorderbuffer.c:4619 #, 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:5057 +#: replication/logical/reorderbuffer.c:5115 #, c-format msgid "could not read from file \"%s\": read %d instead of %d bytes" msgstr "не вдалося прочитати з файлу \"%s\": прочитано %d замість %d байт" -#: replication/logical/snapbuild.c:639 +#: replication/logical/slotsync.c:215 +#, c-format +msgid "could not synchronize replication slot \"%s\" because remote slot precedes local slot" +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." + +#: 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." + +#: replication/logical/slotsync.c:589 +#, c-format +msgid "newly created replication slot \"%s\" is sync-ready now" +msgstr "новостворений слот реплікації \"%s\" готовий до синхронізації" + +#: replication/logical/slotsync.c:628 +#, 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 "пропуск синхронізації слотів, оскільки отримана синхронізація слотів LSN %X/%X для слота \"%s\" випереджає позицію очікування %X/%X" + +#: replication/logical/slotsync.c:650 +#, c-format +msgid "exiting from slot synchronization because same name slot \"%s\" already exists on the standby" +msgstr "вихід із синхронізації слотів, оскільки однойменний слот \"%s\" вже існує у режимі очікування" + +#: replication/logical/slotsync.c:819 +#, c-format +msgid "could not fetch failover logical slots info from the primary server: %s" +msgstr "не вдалося отримати інформацію про логічні слоти обходу відмови з основного сервера: %s" + +#: replication/logical/slotsync.c:965 +#, 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 +#, c-format +msgid "Check if primary_slot_name is configured correctly." +msgstr "Перевірте, чи правильно налаштовано primary_slot_name." + +#: replication/logical/slotsync.c:987 +#, 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 +#, c-format +msgid "replication slot \"%s\" specified by \"%s\" does not exist on primary server" +msgstr "слот реплікації \"%s\", на який вказує \"%s\", не існує на основному сервері" + +#. translator: first %s is a connection option; second %s is a GUC +#. variable name +#. +#: replication/logical/slotsync.c:1029 +#, c-format +msgid "replication slot synchronization requires \"%s\" to be specified in \"%s\"" +msgstr "для синхронізації слотів реплікації потрібно, щоб \"%s\" було вказано у \"%s\"" + +#: replication/logical/slotsync.c:1050 +#, 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 +#, 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 +#, 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 +#, c-format +msgid "replication slot synchronization worker will shut down because \"%s\" is disabled" +msgstr "процес синхронизації слотів реплікації буде вимкнутий, тому що \"%s\" відключено" + +#: replication/logical/slotsync.c:1138 +#, c-format +msgid "replication slot synchronization worker will restart because of a parameter change" +msgstr "процес синхронізації слотів реплікації буде перезавантажений через зміну параметра" + +#: replication/logical/slotsync.c:1162 +#, c-format +msgid "replication slot synchronization worker is shutting down on receiving SIGINT" +msgstr "процес синхронізації слотів реплікації буде вимкнуто через отримання повідомлення SIGINT" + +#: replication/logical/slotsync.c:1287 +#, c-format +msgid "cannot synchronize replication slots when standby promotion is ongoing" +msgstr "неможливо синхронізувати слоти реплікації під час підвищення резервного сервера" + +#: replication/logical/slotsync.c:1295 +#, c-format +msgid "cannot synchronize replication slots concurrently" +msgstr "не може синхронізувати слоти реплікації одночасно" + +#: replication/logical/slotsync.c:1403 +#, c-format +msgid "slot sync worker started" +msgstr "запущено працівника синхронізації слотів" + +#: replication/logical/slotsync.c:1466 replication/slotfuncs.c:900 +#: replication/walreceiver.c:307 +#, c-format +msgid "could not connect to the primary server: %s" +msgstr "не вдалося підключитися до основного серверу: %s" + +#: replication/logical/snapbuild.c:653 #, c-format msgid "initial slot snapshot too large" msgstr "початковий знімок слота занадто великий" -#: replication/logical/snapbuild.c:693 +#: replication/logical/snapbuild.c:707 #, c-format msgid "exported logical decoding snapshot: \"%s\" with %u transaction ID" msgid_plural "exported logical decoding snapshot: \"%s\" with %u transaction IDs" @@ -20073,389 +20618,449 @@ msgstr[1] "експортовано знімок логічного декоду msgstr[2] "експортовано знімок логічного декодування \"%s\" з %u ID транзакціями" msgstr[3] "експортовано знімок логічного декодування \"%s\" з %u ID транзакціями" -#: replication/logical/snapbuild.c:1388 replication/logical/snapbuild.c:1480 -#: replication/logical/snapbuild.c:1996 +#: replication/logical/snapbuild.c:1404 replication/logical/snapbuild.c:1501 +#: replication/logical/snapbuild.c:2017 #, c-format msgid "logical decoding found consistent point at %X/%X" msgstr "узгодження процесу логічного кодування знайдено в точці %X/%X" -#: replication/logical/snapbuild.c:1390 +#: replication/logical/snapbuild.c:1406 #, c-format msgid "There are no running transactions." msgstr "Більше активних транзакцій немає." -#: replication/logical/snapbuild.c:1432 +#: replication/logical/snapbuild.c:1453 #, c-format msgid "logical decoding found initial starting point at %X/%X" msgstr "початкова стартова точка процесу логічного декодування знайдена в точці %X/%X" -#: replication/logical/snapbuild.c:1434 replication/logical/snapbuild.c:1458 +#: replication/logical/snapbuild.c:1455 replication/logical/snapbuild.c:1479 #, c-format msgid "Waiting for transactions (approximately %d) older than %u to end." msgstr "Очікування транзакцій (приблизно %d) старіше, ніж %u до кінця." -#: replication/logical/snapbuild.c:1456 +#: replication/logical/snapbuild.c:1477 #, c-format msgid "logical decoding found initial consistent point at %X/%X" msgstr "початкова точка узгодження процесу логічного кодування знайдена в точці %X/%X" -#: replication/logical/snapbuild.c:1482 +#: replication/logical/snapbuild.c:1503 #, c-format msgid "There are no old transactions anymore." msgstr "Більше старих транзакцій немає." -#: replication/logical/snapbuild.c:1883 +#: replication/logical/snapbuild.c:1904 #, c-format msgid "snapbuild state file \"%s\" has wrong magic number: %u instead of %u" msgstr "файл стану snapbuild \"%s\" має неправильне магічне число: %u замість %u" -#: replication/logical/snapbuild.c:1889 +#: replication/logical/snapbuild.c:1910 #, c-format msgid "snapbuild state file \"%s\" has unsupported version: %u instead of %u" msgstr "файл стану snapbuild \"%s\" має непідтримуючу версію: %u замість %u" -#: replication/logical/snapbuild.c:1930 +#: replication/logical/snapbuild.c:1951 #, c-format msgid "checksum mismatch for snapbuild state file \"%s\": is %u, should be %u" msgstr "у файлі стану snapbuild \"%s\" невідповідність контрольної суми: %u, повинно бути %u" -#: replication/logical/snapbuild.c:1998 +#: replication/logical/snapbuild.c:2019 #, c-format msgid "Logical decoding will begin using saved snapshot." msgstr "Логічне декодування почнеться зі збереженого знімку." -#: replication/logical/snapbuild.c:2105 +#: replication/logical/snapbuild.c:2126 #, c-format msgid "could not parse file name \"%s\"" msgstr "не вдалося аналізувати ім'я файлу \"%s\"" -#: replication/logical/tablesync.c:153 +#: replication/logical/tablesync.c:161 #, c-format msgid "logical replication table synchronization worker for subscription \"%s\", table \"%s\" has finished" msgstr "процес синхронізації таблиці при логічній реплікації для підписки \"%s\", таблиці \"%s\" закінчив обробку" -#: replication/logical/tablesync.c:632 +#: replication/logical/tablesync.c:641 #, 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:807 replication/logical/tablesync.c:949 +#: replication/logical/tablesync.c:827 replication/logical/tablesync.c:969 #, c-format msgid "could not fetch table info for table \"%s.%s\" from publisher: %s" msgstr "не вдалося отримати інформацію про таблицю \"%s.%s\" з серверу публікації: %s" -#: replication/logical/tablesync.c:814 +#: replication/logical/tablesync.c:834 #, c-format msgid "table \"%s.%s\" not found on publisher" msgstr "таблиця \"%s.%s\" не знайдена на сервері публікації" -#: replication/logical/tablesync.c:872 +#: replication/logical/tablesync.c:892 #, c-format msgid "could not fetch column list info for table \"%s.%s\" from publisher: %s" msgstr "не вдалося отримати інформацію про список стовпців для таблиці \"%s.%s\" з серверу публікації: %s" -#: replication/logical/tablesync.c:1051 +#: replication/logical/tablesync.c:1071 #, 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:1210 +#: replication/logical/tablesync.c:1230 #, c-format msgid "could not start initial contents copy for table \"%s.%s\": %s" msgstr "не вдалося почати копіювання початкового змісту таблиці \"%s.%s\": %s" -#: replication/logical/tablesync.c:1411 +#: replication/logical/tablesync.c:1429 #, c-format msgid "table copy could not start transaction on publisher: %s" msgstr "копії таблиці не вдалося запустити транзакцію на сервері публікації: %s" -#: replication/logical/tablesync.c:1453 +#: replication/logical/tablesync.c:1472 #, c-format msgid "replication origin \"%s\" already exists" msgstr "джерело реплікації \"%s\" вже існує" -#: replication/logical/tablesync.c:1486 replication/logical/worker.c:2374 +#: replication/logical/tablesync.c:1505 replication/logical/worker.c:2361 #, c-format msgid "user \"%s\" cannot replicate into relation with row-level security enabled: \"%s\"" msgstr "користувач \"%s\" не може реплікувати у відношення з увімкненим захистом на рівні рядків: \"%s\"" -#: replication/logical/tablesync.c:1499 +#: replication/logical/tablesync.c:1518 #, c-format msgid "table copy could not finish transaction on publisher: %s" msgstr "копії таблиці не вдалося завершити транзакцію на сервері публікації: %s" -#: replication/logical/worker.c:499 +#: replication/logical/worker.c:481 #, c-format msgid "logical replication parallel apply worker for subscription \"%s\" will stop" msgstr "застосовуючий процес логічної реплікації для підписки \"%s\" буде зупинено" -#: replication/logical/worker.c:501 +#: replication/logical/worker.c:483 #, c-format msgid "Cannot handle streamed replication transactions using parallel apply workers until all tables have been synchronized." msgstr "Неможливо обробляти транзакції потокової реплікації з використанням паралельних застосовуючих працівників, доки не буде синхронізовано всі таблиці." -#: replication/logical/worker.c:863 replication/logical/worker.c:978 +#: replication/logical/worker.c:852 replication/logical/worker.c:967 #, c-format msgid "incorrect binary data format in logical replication column %d" msgstr "невірний формат двійкових даних в стовпці логічної реплікації %d" -#: replication/logical/worker.c:2513 +#: replication/logical/worker.c:2500 #, 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:2520 +#: replication/logical/worker.c:2507 #, 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:3384 +#: replication/logical/worker.c:3371 #, c-format msgid "invalid logical replication message type \"??? (%d)\"" msgstr "неприпустимий тип повідомлення логічної реплікації \"??? (%d)\"" -#: replication/logical/worker.c:3556 +#: replication/logical/worker.c:3543 #, c-format msgid "data stream from publisher has ended" msgstr "потік даних з серверу публікації завершився" -#: replication/logical/worker.c:3713 +#: replication/logical/worker.c:3697 #, c-format msgid "terminating logical replication worker due to timeout" msgstr "завершення процесу логічної реплікації через тайм-аут" -#: replication/logical/worker.c:3907 +#: replication/logical/worker.c:3891 #, c-format msgid "logical replication worker for subscription \"%s\" will stop because the subscription was removed" msgstr "процес логічної реплікації для підписки \"%s\" буде зупинено, тому, що підписка була видалена" -#: replication/logical/worker.c:3920 +#: replication/logical/worker.c:3905 #, c-format msgid "logical replication worker for subscription \"%s\" will stop because the subscription was disabled" msgstr "процес логічної реплікації для підписки \"%s\" буде зупинено, тому, що підписка була вимкнута" -#: replication/logical/worker.c:3951 +#: replication/logical/worker.c:3936 #, c-format msgid "logical replication parallel apply worker for subscription \"%s\" will stop because of a parameter change" msgstr "процес, що застосовує паралельну логічну реплікацію для підписки \"%s\", буде зупинено через зміну параметру" -#: replication/logical/worker.c:3955 +#: replication/logical/worker.c:3940 #, c-format msgid "logical replication worker for subscription \"%s\" will restart because of a parameter change" msgstr "процес логічної реплікації для підписки \"%s\", буде перезавантажено через зміну параметру" +#: replication/logical/worker.c:3954 +#, 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:3958 +#, 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:4478 #, c-format +msgid "subscription has no replication slot set" +msgstr "для підписки не встановлений слот реплікації" + +#: replication/logical/worker.c:4591 +#, 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:4493 +#: replication/logical/worker.c:4607 #, 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:4510 +#: replication/logical/worker.c:4631 #, c-format msgid "logical replication table synchronization worker for subscription \"%s\", table \"%s\" has started" msgstr "просец синхронізації таблиці під час логічної реплікації для підписки \"%s\", таблиці \"%s\" запущений" -#: replication/logical/worker.c:4515 +#: replication/logical/worker.c:4636 #, c-format msgid "logical replication apply worker for subscription \"%s\" has started" msgstr "застосовуючий процес логічної реплікації для підписки \"%s\" запущений" -#: replication/logical/worker.c:4590 -#, c-format -msgid "subscription has no replication slot set" -msgstr "для підписки не встановлений слот реплікації" - -#: replication/logical/worker.c:4757 +#: replication/logical/worker.c:4758 #, c-format msgid "subscription \"%s\" has been disabled because of an error" msgstr "підписка \"%s\" була відключена через помилку" -#: replication/logical/worker.c:4805 +#: replication/logical/worker.c:4806 #, c-format msgid "logical replication starts skipping transaction at LSN %X/%X" msgstr "логічна реплікація починає пропускати транзакцію в LSN %X/%X" -#: replication/logical/worker.c:4819 +#: replication/logical/worker.c:4820 #, c-format msgid "logical replication completed skipping transaction at LSN %X/%X" msgstr "логічна реплікація завершила пропускати транзакцію в LSN %X/%X" -#: replication/logical/worker.c:4901 +#: replication/logical/worker.c:4902 #, c-format msgid "skip-LSN of subscription \"%s\" cleared" msgstr "очищено LSN пропуску підписки \"%s\"" -#: replication/logical/worker.c:4902 +#: replication/logical/worker.c:4903 #, 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:4928 +#: replication/logical/worker.c:4940 #, c-format msgid "processing remote data for replication origin \"%s\" during message type \"%s\"" msgstr "обробка віддалених даних для джерела реплікації \"%s\" під час повідомлення типу \"%s\"" -#: replication/logical/worker.c:4932 +#: replication/logical/worker.c:4944 #, 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:4937 +#: replication/logical/worker.c:4949 #, 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:4948 +#: replication/logical/worker.c:4960 #, 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:4955 +#: replication/logical/worker.c:4967 #, 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:4966 +#: replication/logical/worker.c:4978 #, 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:4974 +#: replication/logical/worker.c:4986 #, 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:317 +#: replication/pgoutput/pgoutput.c:315 #, c-format msgid "invalid proto_version" msgstr "неприпустиме значення proto_version" -#: replication/pgoutput/pgoutput.c:322 +#: replication/pgoutput/pgoutput.c:320 #, c-format msgid "proto_version \"%s\" out of range" msgstr "значення proto_version \"%s\" за межами діапазону" -#: replication/pgoutput/pgoutput.c:339 +#: replication/pgoutput/pgoutput.c:337 #, c-format msgid "invalid publication_names syntax" msgstr "неприпустимий синтаксис publication_names" -#: replication/pgoutput/pgoutput.c:440 +#: replication/pgoutput/pgoutput.c:407 replication/pgoutput/pgoutput.c:411 #, c-format -msgid "client sent proto_version=%d but server only supports protocol %d or lower" -msgstr "клієнт передав proto_version=%d, але сервер підтримує лише протокол %d або нижче" +msgid "option \"%s\" missing" +msgstr "параметр \"%s\" відсутній" -#: replication/pgoutput/pgoutput.c:446 +#: replication/pgoutput/pgoutput.c:452 #, c-format -msgid "client sent proto_version=%d but server only supports protocol %d or higher" -msgstr "клієнт передав proto_version=%d, але сервер підтримує лише протокол %d або вище" +msgid "client sent proto_version=%d but server only supports protocol %d or lower" +msgstr "клієнт передав proto_version=%d, але сервер підтримує лише протокол %d або нижче" -#: replication/pgoutput/pgoutput.c:452 +#: replication/pgoutput/pgoutput.c:458 #, c-format -msgid "publication_names parameter missing" -msgstr "пропущено параметр publication_names" +msgid "client sent proto_version=%d but server only supports protocol %d or higher" +msgstr "клієнт передав proto_version=%d, але сервер підтримує лише протокол %d або вище" -#: replication/pgoutput/pgoutput.c:466 +#: replication/pgoutput/pgoutput.c:473 #, c-format msgid "requested proto_version=%d does not support streaming, need %d or higher" msgstr "запитувана proto_version=%d не підтримує потокову передачу, потребується %d або вища" -#: replication/pgoutput/pgoutput.c:472 +#: replication/pgoutput/pgoutput.c:479 #, 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:477 +#: replication/pgoutput/pgoutput.c:484 #, c-format msgid "streaming requested, but not supported by output plugin" msgstr "запитане потокова передавача, але не підтримується плагіном виводу" -#: replication/pgoutput/pgoutput.c:494 +#: replication/pgoutput/pgoutput.c:498 #, 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:499 +#: replication/pgoutput/pgoutput.c:503 #, c-format msgid "two-phase commit requested, but not supported by output plugin" msgstr "запитано двоетапне затвердження, але не підтримується плагіном виводу" -#: replication/slot.c:207 +#: replication/slot.c:260 #, c-format msgid "replication slot name \"%s\" is too short" msgstr "ім'я слоту реплікації \"%s\" занадто коротке" -#: replication/slot.c:216 +#: replication/slot.c:269 #, c-format msgid "replication slot name \"%s\" is too long" msgstr "ім'я слоту реплікації \"%s\" занадто довге" -#: replication/slot.c:229 +#: replication/slot.c:282 #, c-format msgid "replication slot name \"%s\" contains invalid character" msgstr "ім'я слоту реплікації \"%s\" містить неприпустимий символ" -#: replication/slot.c:231 +#: replication/slot.c:284 #, c-format msgid "Replication slot names may only contain lower case letters, numbers, and the underscore character." msgstr "Імена слота реплікації можуть містити лише букви в нижньому кейсі, числа, і символ підкреслення." -#: replication/slot.c:285 +#: replication/slot.c:333 +#, c-format +msgid "cannot enable failover for a replication slot created on the standby" +msgstr "не вдається увімкнути відмовостійкість для слота реплікації, створеного в режимі очікування" + +#: replication/slot.c:345 replication/slot.c:849 +#, c-format +msgid "cannot enable failover for a temporary replication slot" +msgstr "не вдається увімкнути відмовостійкість для тимчасового слота реплікації" + +#: replication/slot.c:370 #, c-format msgid "replication slot \"%s\" already exists" msgstr "слот реплікації \"%s\" вже існує" -#: replication/slot.c:295 +#: replication/slot.c:380 #, c-format msgid "all replication slots are in use" msgstr "використовуються всі слоти реплікації" -#: replication/slot.c:296 +#: replication/slot.c:381 #, c-format -msgid "Free one or increase max_replication_slots." -msgstr "Звільніть непотрібні або збільшіть max_replication_slots." +msgid "Free one or increase \"max_replication_slots\"." +msgstr "Звільніть непотрібні або збільшіть \"max_replication_slots\"." -#: replication/slot.c:474 replication/slotfuncs.c:736 -#: utils/activity/pgstat_replslot.c:55 utils/adt/genfile.c:774 +#: replication/slot.c:560 replication/slot.c:2453 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:520 replication/slot.c:1110 +#: replication/slot.c:606 replication/slot.c:1337 #, c-format msgid "replication slot \"%s\" is active for PID %d" msgstr "слот реплікації \"%s\" активний для PID %d" -#: replication/slot.c:756 replication/slot.c:1645 replication/slot.c:2028 +#: replication/slot.c:638 +#, c-format +msgid "acquired logical replication slot \"%s\"" +msgstr "придбано слот логічної реплікації \"%s\"" + +#: replication/slot.c:640 +#, c-format +msgid "acquired physical replication slot \"%s\"" +msgstr "придбано фізичний слот реплікації \"%s\"" + +#: replication/slot.c:729 +#, c-format +msgid "released logical replication slot \"%s\"" +msgstr "звільнено слот логічної реплікації \"%s\"" + +#: replication/slot.c:731 +#, c-format +msgid "released physical replication slot \"%s\"" +msgstr "звільнено фізичний слот реплікації \"%s\"" + +#: replication/slot.c:797 +#, c-format +msgid "cannot drop replication slot \"%s\"" +msgstr "не може скинути слот реплікації \"%s\"" + +#: replication/slot.c:816 +#, c-format +msgid "cannot use %s with a physical replication slot" +msgstr "не може використовувати %s з фізичним слотом реплікації" + +#: replication/slot.c:828 +#, c-format +msgid "cannot alter replication slot \"%s\"" +msgstr "не може змінювати слот реплікації \"%s\"" + +#: replication/slot.c:838 +#, 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 #, c-format msgid "could not remove directory \"%s\"" msgstr "не вдалося видалити каталог \"%s\"" -#: replication/slot.c:1145 +#: replication/slot.c:1372 #, c-format -msgid "replication slots can only be used if max_replication_slots > 0" -msgstr "слоти реплікації можна використовувати лише якщо max_replication_slots > 0" +msgid "replication slots can only be used if \"max_replication_slots\" > 0" +msgstr "слоти реплікації можна використовувати лише якщо \"max_replication_slots\" > 0" -#: replication/slot.c:1150 +#: replication/slot.c:1377 #, c-format -msgid "replication slots can only be used if wal_level >= replica" -msgstr "слоти реплікації можна використовувати лише якщо wal_level >= replica" +msgid "replication slots can only be used if \"wal_level\" >= \"replica\"" +msgstr "слоти реплікації можна використовувати лише якщо \"wal_level\" >= \"replica\"" -#: replication/slot.c:1162 +#: replication/slot.c:1389 #, c-format msgid "permission denied to use replication slots" msgstr "немає дозволу для використання слотів реплікації" -#: replication/slot.c:1163 +#: replication/slot.c:1390 #, c-format msgid "Only roles with the %s attribute may use replication slots." msgstr "Тільки ролі з атрибутом %s можуть використовувати слоти реплікації." -#: replication/slot.c:1271 +#: replication/slot.c:1498 #, 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." @@ -20464,575 +21069,640 @@ msgstr[1] "Значення restart_lsn слота %X/%X перевищує лі msgstr[2] "Значення restart_lsn слота %X/%X перевищує ліміт на %llu байтів." msgstr[3] "Значення restart_lsn слота %X/%X перевищує ліміт на %llu байтів." -#: replication/slot.c:1279 +#: replication/slot.c:1506 #, c-format msgid "The slot conflicted with xid horizon %u." msgstr "Слот конфліктував з горизонтом xid %u." -#: replication/slot.c:1284 -msgid "Logical decoding on standby requires wal_level >= logical on the primary server." -msgstr "Логічне декодування на standby вимагає wal_level >= logical на основному сервері." +#: replication/slot.c:1511 +msgid "Logical decoding on standby requires \"wal_level\" >= \"logical\" on the primary server." +msgstr "Логічне декодування на резервному сервері вимагає \"wal_level\" >= \"logical\" на основному сервері." -#: replication/slot.c:1292 +#: replication/slot.c:1519 #, c-format msgid "terminating process %d to release replication slot \"%s\"" msgstr "завершення процесу %d для звільнення слоту реплікації \"%s\"" -#: replication/slot.c:1294 +#: replication/slot.c:1521 #, c-format msgid "invalidating obsolete replication slot \"%s\"" msgstr "анулювання застарілого слоту реплікації \"%s\"" -#: replication/slot.c:1966 +#: replication/slot.c:2249 #, c-format msgid "replication slot file \"%s\" has wrong magic number: %u instead of %u" msgstr "файл слоту реплікації \"%s\" має неправильне магічне число: %u замість %u" -#: replication/slot.c:1973 +#: replication/slot.c:2256 #, c-format msgid "replication slot file \"%s\" has unsupported version %u" msgstr "файл слоту реплікації \"%s\" має непідтримуючу версію %u" -#: replication/slot.c:1980 +#: replication/slot.c:2263 #, c-format msgid "replication slot file \"%s\" has corrupted length %u" msgstr "файл слоту реплікації \"%s\" має пошкоджену довжину %u" -#: replication/slot.c:2016 +#: replication/slot.c:2299 #, c-format msgid "checksum mismatch for replication slot file \"%s\": is %u, should be %u" msgstr "у файлі слоту реплікації \"%s\" невідповідність контрольної суми: %u, повинно бути %u" -#: replication/slot.c:2050 +#: replication/slot.c:2333 #, c-format -msgid "logical replication slot \"%s\" exists, but wal_level < logical" -msgstr "слот логічної реплікації \"%s\" існує, але wal_level < logical" +msgid "logical replication slot \"%s\" exists, but \"wal_level\" < \"logical\"" +msgstr "слот логічної реплікації \"%s\" існує, але \"wal_level\" < \"logical\"" -#: replication/slot.c:2052 +#: replication/slot.c:2335 #, c-format -msgid "Change wal_level to be logical or higher." -msgstr "Змініть wal_level на logical або вище." +msgid "Change \"wal_level\" to be \"logical\" or higher." +msgstr "Змініть \"wal_level\" на \"logical\" або вище." -#: replication/slot.c:2056 +#: replication/slot.c:2339 #, c-format -msgid "physical replication slot \"%s\" exists, but wal_level < replica" -msgstr "слот фізичної реплікації \"%s\" існує, але wal_level < replica" +msgid "physical replication slot \"%s\" exists, but \"wal_level\" < \"replica\"" +msgstr "слот фізичної реплікації \"%s\" існує, але \"wal_level\" < \"replica\"" -#: replication/slot.c:2058 +#: replication/slot.c:2341 #, c-format -msgid "Change wal_level to be replica or higher." -msgstr "Змініть wal_level на replica або вище." +msgid "Change \"wal_level\" to be \"replica\" or higher." +msgstr "Змініть \"wal_level\" на \"replica\" або вище." -#: replication/slot.c:2092 +#: replication/slot.c:2383 #, c-format msgid "too many replication slots active before shutdown" msgstr "перед завершенням роботи активно занадто багато слотів реплікації" -#: replication/slotfuncs.c:601 +#: replication/slot.c:2461 +#, c-format +msgid "\"%s\" is not a physical replication slot" +msgstr "\"%s\" не є фізичним слотом реплікації" + +#: replication/slot.c:2638 +#, c-format +msgid "replication slot \"%s\" specified in parameter \"%s\" does not exist" +msgstr "слот реплікації \"%s\", вказаний в параметрі \"%s\", не існує" + +#: replication/slot.c:2640 replication/slot.c:2681 replication/slot.c:2696 +#, c-format +msgid "Logical replication is waiting on the standby associated with replication slot \"%s\"." +msgstr "Логічна реплікація чекає на слоті реплікації, що пов'язана з слотом реплікації \"%s\"." + +#: replication/slot.c:2642 +#, c-format +msgid "Create the replication slot \"%s\" or amend parameter \"%s\"." +msgstr "Створіть слот реплікації \"%s\" або змініть параметр \"%s\"." + +#: replication/slot.c:2659 +#, c-format +msgid "cannot specify logical replication slot \"%s\" in parameter \"%s\"" +msgstr "неможливо вказати слот логічної реплікації \"%s\" в параметрі \"%s\"" + +#: replication/slot.c:2661 +#, c-format +msgid "Logical replication is waiting for correction on replication slot \"%s\"." +msgstr "Логічна реплікація очікує на корекцію на слоті реплікації \"%s\"." + +#: replication/slot.c:2663 +#, c-format +msgid "Remove the logical replication slot \"%s\" from parameter \"%s\"." +msgstr "Приберіть слот логічної реплікації \"%s\" з параметру \"%s\"." + +#: replication/slot.c:2679 +#, c-format +msgid "physical replication slot \"%s\" specified in parameter \"%s\" has been invalidated" +msgstr "" + +#: replication/slot.c:2683 +#, c-format +msgid "Drop and recreate the replication slot \"%s\", or amend parameter \"%s\"." +msgstr "" + +#: replication/slot.c:2694 +#, c-format +msgid "replication slot \"%s\" specified in parameter \"%s\" does not have active_pid" +msgstr "" + +#: replication/slot.c:2698 +#, c-format +msgid "Start the standby associated with the replication slot \"%s\", or amend parameter \"%s\"." +msgstr "" + +#: replication/slotfuncs.c:526 #, c-format msgid "invalid target WAL LSN" msgstr "неприпустима ціль WAL LSN" -#: replication/slotfuncs.c:623 +#: replication/slotfuncs.c:548 #, c-format msgid "replication slot \"%s\" cannot be advanced" msgstr "слот реплікації \"%s\" не може бути розширеним" -#: replication/slotfuncs.c:625 +#: replication/slotfuncs.c:550 #, c-format msgid "This slot has never previously reserved WAL, or it has been invalidated." msgstr "Цей слот ніколи раніше не резервував WAL, або він був недійсним." -#: replication/slotfuncs.c:641 +#: replication/slotfuncs.c:566 #, c-format msgid "cannot advance replication slot to %X/%X, minimum is %X/%X" msgstr "просунути слот реплікації до позиції %X/%X не можна, мінімальна позиція %X/%X" -#: replication/slotfuncs.c:748 +#: replication/slotfuncs.c:673 #, c-format msgid "cannot copy physical replication slot \"%s\" as a logical replication slot" msgstr "не можна скопіювати слот фізичної реплікації \"%s\" як слот логічної реплікації" -#: replication/slotfuncs.c:750 +#: replication/slotfuncs.c:675 #, c-format msgid "cannot copy logical replication slot \"%s\" as a physical replication slot" msgstr "не можна скопіювати слот логічної реплікації \"%s\" як слот фізичної реплікації" -#: replication/slotfuncs.c:757 +#: replication/slotfuncs.c:682 #, c-format msgid "cannot copy a replication slot that doesn't reserve WAL" msgstr "не можна скопіювати слот реплікації, який не резервує WAL" -#: replication/slotfuncs.c:834 +#: replication/slotfuncs.c:768 #, c-format msgid "could not copy replication slot \"%s\"" msgstr "не вдалося скопіювати слот реплікації \"%s\"" -#: replication/slotfuncs.c:836 +#: replication/slotfuncs.c:770 #, c-format msgid "The source replication slot was modified incompatibly during the copy operation." msgstr "Слот реплікації джерела був змінений несумісно під час операції копіювання." -#: replication/slotfuncs.c:842 +#: replication/slotfuncs.c:776 #, c-format msgid "cannot copy unfinished logical replication slot \"%s\"" msgstr "не можна скопіювати незавершений слот логічної реплікації \"%s\"" -#: replication/slotfuncs.c:844 +#: replication/slotfuncs.c:778 #, c-format msgid "Retry when the source replication slot's confirmed_flush_lsn is valid." msgstr "Повторіть, коли confirmed_flush_lsn слоту джерела реплікації є дійсним." -#: replication/syncrep.c:262 +#: replication/slotfuncs.c:877 +#, c-format +msgid "replication slots can only be synchronized to a standby server" +msgstr "слоти реплікації можна синхронізувати лише з резервним сервером" + +#: replication/syncrep.c:261 #, c-format msgid "canceling the wait for synchronous replication and terminating connection due to administrator command" msgstr "скасування очікування синхронної реплікації і завершення з'єднання по команді адміністратора" -#: replication/syncrep.c:263 replication/syncrep.c:280 +#: replication/syncrep.c:262 replication/syncrep.c:279 #, c-format msgid "The transaction has already committed locally, but might not have been replicated to the standby." msgstr "Транзакція вже була затверджена локально, але можливо не була реплікована до режиму очікування." -#: replication/syncrep.c:279 +#: replication/syncrep.c:278 #, c-format msgid "canceling wait for synchronous replication due to user request" msgstr "скасування очікування синхронної реплікації по запиту користувача" -#: replication/syncrep.c:486 +#: replication/syncrep.c:485 #, c-format -msgid "standby \"%s\" is now a synchronous standby with priority %u" -msgstr "режим очікування \"%s\" зараз є синхронним з пріоритетом %u" +msgid "standby \"%s\" is now a synchronous standby with priority %d" +msgstr "очікування \"%s\" тепер є синхронним очікуванням з пріоритетом %d" -#: replication/syncrep.c:490 +#: replication/syncrep.c:489 #, c-format msgid "standby \"%s\" is now a candidate for quorum synchronous standby" msgstr "режим очікування \"%s\" зараз є кандидатом для включення в кворум синхронних" -#: replication/syncrep.c:1019 +#: replication/syncrep.c:1013 #, c-format -msgid "synchronous_standby_names parser failed" -msgstr "помилка при аналізуванні synchronous_standby_names" +msgid "\"synchronous_standby_names\" parser failed" +msgstr "" -#: replication/syncrep.c:1025 +#: replication/syncrep.c:1019 #, c-format msgid "number of synchronous standbys (%d) must be greater than zero" msgstr "кількість синхронних режимів очікування (%d) повинно бути більше нуля" -#: replication/walreceiver.c:180 +#: replication/walreceiver.c:176 #, c-format msgid "terminating walreceiver process due to administrator command" msgstr "завершення процесу walreceiver по команді адміністратора" -#: replication/walreceiver.c:305 -#, c-format -msgid "could not connect to the primary server: %s" -msgstr "не вдалося підключитися до основного серверу: %s" - -#: replication/walreceiver.c:352 +#: replication/walreceiver.c:354 #, c-format msgid "database system identifier differs between the primary and standby" msgstr "ідентифікатор системи бази даних на основному і резервному серверах відрізняються" -#: replication/walreceiver.c:353 +#: replication/walreceiver.c:355 #, c-format msgid "The primary's identifier is %s, the standby's identifier is %s." msgstr "Ідентифікатор на основному сервері %s, на резервному %s." -#: replication/walreceiver.c:364 +#: replication/walreceiver.c:366 #, c-format msgid "highest timeline %u of the primary is behind recovery timeline %u" msgstr "остання часова шкала %u на основному сервері відстає від відновлюючої часової шкали %u" -#: replication/walreceiver.c:417 +#: replication/walreceiver.c:419 #, c-format msgid "started streaming WAL from primary at %X/%X on timeline %u" msgstr "запущено потокове передавання WAL з основного серверу з позиції %X/%X на часовій шкалі %u" -#: replication/walreceiver.c:421 +#: replication/walreceiver.c:423 #, c-format msgid "restarted WAL streaming at %X/%X on timeline %u" msgstr "перезапуска потокового передавання WAL з позиції %X/%X на часовій шкалі %u" -#: replication/walreceiver.c:457 +#: replication/walreceiver.c:458 #, c-format msgid "cannot continue WAL streaming, recovery has already ended" msgstr "продовжити потокове передавання WAL не можна, відновлення вже завершено" -#: replication/walreceiver.c:501 +#: replication/walreceiver.c:502 #, c-format msgid "replication terminated by primary server" msgstr "реплікація завершена основним сервером" -#: replication/walreceiver.c:502 +#: replication/walreceiver.c:503 #, c-format msgid "End of WAL reached on timeline %u at %X/%X." msgstr "На часовій шкалі %u в позиції %X/%X WAL досяг кінця." -#: replication/walreceiver.c:592 +#: replication/walreceiver.c:593 #, c-format msgid "terminating walreceiver due to timeout" msgstr "завершення процесу walreceiver через тайм-аут" -#: replication/walreceiver.c:624 +#: replication/walreceiver.c:625 #, c-format msgid "primary server contains no more WAL on requested timeline %u" msgstr "основний сервер більше не містить WAL для запитаної часової шкали %u" -#: replication/walreceiver.c:640 replication/walreceiver.c:1066 +#: replication/walreceiver.c:641 replication/walreceiver.c:1071 #, c-format msgid "could not close WAL segment %s: %m" msgstr "не вдалося закрити сегмент WAL %s: %m" -#: replication/walreceiver.c:759 +#: replication/walreceiver.c:760 #, c-format msgid "fetching timeline history file for timeline %u from primary server" msgstr "отримання файлу історії часової шкали для часової шкали %u з основного серверу" -#: replication/walreceiver.c:954 +#: replication/walreceiver.c:959 #, c-format -msgid "could not write to WAL segment %s at offset %u, length %lu: %m" -msgstr "не вдалося записати в сегмент WAL %s зсув %u, довжина %lu: %m" +msgid "could not write to WAL segment %s at offset %d, length %lu: %m" +msgstr "не вдалося записати у сегмент WAL %s зі зміщенням %d, довжиною %lu: %m" -#: replication/walsender.c:519 +#: replication/walsender.c:531 #, c-format msgid "cannot use %s with a logical replication slot" msgstr "використовувати %s зі слотом логічної реплікації не можна" -#: replication/walsender.c:623 storage/smgr/md.c:1529 +#: replication/walsender.c:635 storage/smgr/md.c:1723 #, c-format msgid "could not seek to end of file \"%s\": %m" msgstr "не вдалося досягти кінця файлу \"%s\": %m" -#: replication/walsender.c:627 +#: replication/walsender.c:639 #, c-format msgid "could not seek to beginning of file \"%s\": %m" msgstr "не вдалося знайти початок файлу \"%s\": %m" -#: replication/walsender.c:704 +#: replication/walsender.c:853 #, c-format msgid "cannot use a logical replication slot for physical replication" msgstr "використовувати логічний слот реплікації для фізичної реплікації, не можна" -#: replication/walsender.c:770 +#: replication/walsender.c:919 #, 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:773 +#: replication/walsender.c:922 #, c-format msgid "This server's history forked from timeline %u at %X/%X." msgstr "Історія цього серверу відгалузилась від часової шкали %u в позиції %X/%X." -#: replication/walsender.c:817 +#: replication/walsender.c:966 #, 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:1010 +#: replication/walsender.c:1160 #, 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:1095 +#: replication/walsender.c:1266 #, c-format msgid "%s must not be called inside a transaction" msgstr "%s не має викликатися всередині транзакції" #. translator: %s is a CREATE_REPLICATION_SLOT statement -#: replication/walsender.c:1105 +#: replication/walsender.c:1276 #, c-format msgid "%s must be called inside a transaction" msgstr "%s має викликатися всередині транзакції" #. translator: %s is a CREATE_REPLICATION_SLOT statement -#: replication/walsender.c:1111 +#: replication/walsender.c:1282 #, 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:1116 +#: replication/walsender.c:1287 #, 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:1122 +#: replication/walsender.c:1293 #, c-format msgid "%s must be called before any query" msgstr "%s має викликатися до будь-якого запиту" #. translator: %s is a CREATE_REPLICATION_SLOT statement -#: replication/walsender.c:1128 +#: replication/walsender.c:1299 #, c-format msgid "%s must not be called in a subtransaction" msgstr "%s не має викликатися всередині підтранзакції" -#: replication/walsender.c:1275 +#: replication/walsender.c:1472 #, c-format msgid "terminating walsender process after promotion" msgstr "завершення процесу walsender після підвищення" -#: replication/walsender.c:1696 +#: replication/walsender.c:2000 #, c-format msgid "cannot execute new commands while WAL sender is in stopping mode" msgstr "не можна виконувати нові команди, поки процес відправки WAL знаходиться в режимі зупинки" -#: replication/walsender.c:1731 +#: replication/walsender.c:2035 #, c-format msgid "cannot execute SQL commands in WAL sender for physical replication" msgstr "не можна виконувати команди SQL в процесі відправки WAL для фізичної реплікації" -#: replication/walsender.c:1764 +#: replication/walsender.c:2068 #, c-format msgid "received replication command: %s" msgstr "отримано команду реплікації: %s" -#: replication/walsender.c:1772 tcop/fastpath.c:209 tcop/postgres.c:1138 -#: tcop/postgres.c:1496 tcop/postgres.c:1736 tcop/postgres.c:2210 -#: tcop/postgres.c:2648 tcop/postgres.c:2726 +#: replication/walsender.c:2076 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:1914 replication/walsender.c:1949 +#: replication/walsender.c:2233 replication/walsender.c:2268 #, c-format msgid "unexpected EOF on standby connection" msgstr "неочікуваний обрив з'єднання з резервним сервером" -#: replication/walsender.c:1937 +#: replication/walsender.c:2256 #, c-format msgid "invalid standby message type \"%c\"" msgstr "неприпустимий тип повідомлення резервного серверу \"%c\"" -#: replication/walsender.c:2026 +#: replication/walsender.c:2345 #, c-format msgid "unexpected message type \"%c\"" msgstr "неочікуваний тип повідомлення \"%c\"" -#: replication/walsender.c:2439 +#: replication/walsender.c:2759 #, c-format msgid "terminating walsender process due to replication timeout" msgstr "завершення процесу walsender через тайм-аут реплікації" -#: rewrite/rewriteDefine.c:111 rewrite/rewriteDefine.c:842 +#: rewrite/rewriteDefine.c:104 rewrite/rewriteDefine.c:835 #, c-format msgid "rule \"%s\" for relation \"%s\" already exists" msgstr "правило \"%s\" для зв'язка \"%s\" вже існує" -#: rewrite/rewriteDefine.c:268 rewrite/rewriteDefine.c:780 +#: rewrite/rewriteDefine.c:261 rewrite/rewriteDefine.c:773 #, c-format msgid "relation \"%s\" cannot have rules" msgstr "відношення \"%s\" не може мати правил" -#: rewrite/rewriteDefine.c:299 +#: rewrite/rewriteDefine.c:292 #, c-format msgid "rule actions on OLD are not implemented" msgstr "дії правил для OLD не реалізовані" -#: rewrite/rewriteDefine.c:300 +#: rewrite/rewriteDefine.c:293 #, c-format msgid "Use views or triggers instead." msgstr "Використайте подання або тригери замість." -#: rewrite/rewriteDefine.c:304 +#: rewrite/rewriteDefine.c:297 #, c-format msgid "rule actions on NEW are not implemented" msgstr "дії правил для NEW не реалізовані" -#: rewrite/rewriteDefine.c:305 +#: rewrite/rewriteDefine.c:298 #, c-format msgid "Use triggers instead." msgstr "Використайте тригери замість." -#: rewrite/rewriteDefine.c:319 +#: rewrite/rewriteDefine.c:312 #, c-format msgid "relation \"%s\" cannot have ON SELECT rules" msgstr "відношення \"%s\" не може мати правил ON SELECT" -#: rewrite/rewriteDefine.c:329 +#: rewrite/rewriteDefine.c:322 #, c-format msgid "INSTEAD NOTHING rules on SELECT are not implemented" msgstr "Правила INSTEAD NOTHING для SELECT не реалізовані" -#: rewrite/rewriteDefine.c:330 +#: rewrite/rewriteDefine.c:323 #, c-format msgid "Use views instead." msgstr "Використайте подання замість." -#: rewrite/rewriteDefine.c:338 +#: rewrite/rewriteDefine.c:331 #, c-format msgid "multiple actions for rules on SELECT are not implemented" msgstr "декілька дій в правилах для SELECT не реалізовані" -#: rewrite/rewriteDefine.c:348 +#: rewrite/rewriteDefine.c:341 #, c-format msgid "rules on SELECT must have action INSTEAD SELECT" msgstr "правила для SELECT повинні мати дію INSTEAD SELECT" -#: rewrite/rewriteDefine.c:356 +#: rewrite/rewriteDefine.c:349 #, c-format msgid "rules on SELECT must not contain data-modifying statements in WITH" msgstr "правила для SELECT не повинні містити операторів, які змінюють дані в WITH" -#: rewrite/rewriteDefine.c:364 +#: rewrite/rewriteDefine.c:357 #, c-format msgid "event qualifications are not implemented for rules on SELECT" msgstr "в правилах для SELECT не може бути умов" -#: rewrite/rewriteDefine.c:391 +#: rewrite/rewriteDefine.c:384 #, c-format msgid "\"%s\" is already a view" msgstr "\"%s\" вже є поданням" -#: rewrite/rewriteDefine.c:415 +#: rewrite/rewriteDefine.c:408 #, c-format msgid "view rule for \"%s\" must be named \"%s\"" msgstr "правило подання для \"%s\" повинно називатися \"%s\"" -#: rewrite/rewriteDefine.c:442 +#: rewrite/rewriteDefine.c:435 #, c-format msgid "cannot have multiple RETURNING lists in a rule" msgstr "правило не може мати декілька списків RETURNING" -#: rewrite/rewriteDefine.c:447 +#: rewrite/rewriteDefine.c:440 #, c-format msgid "RETURNING lists are not supported in conditional rules" msgstr "Умовні правила не підтримують списки RETURNING" -#: rewrite/rewriteDefine.c:451 +#: rewrite/rewriteDefine.c:444 #, c-format msgid "RETURNING lists are not supported in non-INSTEAD rules" msgstr "Правила non-INSTEAD не підтримують списки RETURNING" -#: rewrite/rewriteDefine.c:465 +#: rewrite/rewriteDefine.c:458 #, c-format msgid "non-view rule for \"%s\" must not be named \"%s\"" msgstr "правило не-подання для \"%s\" не повинно мати назву \"%s\"" -#: rewrite/rewriteDefine.c:539 +#: rewrite/rewriteDefine.c:532 #, c-format msgid "SELECT rule's target list has too many entries" msgstr "Список цілей правила для SELECT має занадто багато елементів" -#: rewrite/rewriteDefine.c:540 +#: rewrite/rewriteDefine.c:533 #, c-format msgid "RETURNING list has too many entries" msgstr "Список RETURNING має занадто багато елементів" -#: rewrite/rewriteDefine.c:567 +#: rewrite/rewriteDefine.c:560 #, c-format msgid "cannot convert relation containing dropped columns to view" msgstr "перетворити зв'язок, який містить видаленні стовпці, на подання не можна" -#: rewrite/rewriteDefine.c:568 +#: rewrite/rewriteDefine.c:561 #, c-format msgid "cannot create a RETURNING list for a relation containing dropped columns" msgstr "створити список RETURNING для зв'язка, який містить видаленні стовпці, не можна" -#: rewrite/rewriteDefine.c:574 +#: rewrite/rewriteDefine.c:567 #, c-format msgid "SELECT rule's target entry %d has different column name from column \"%s\"" msgstr "Елемент результата правила для SELECT %d відрізняється іменем стовпця від стовпця \"%s\"" -#: rewrite/rewriteDefine.c:576 +#: rewrite/rewriteDefine.c:569 #, c-format msgid "SELECT target entry is named \"%s\"." msgstr "Ім'я елемента результату SELECT \"%s\"." -#: rewrite/rewriteDefine.c:585 +#: rewrite/rewriteDefine.c:578 #, c-format msgid "SELECT rule's target entry %d has different type from column \"%s\"" msgstr "Елемент результата правила для SELECT %d відрізняється типом від стовпця \"%s\"" -#: rewrite/rewriteDefine.c:587 +#: rewrite/rewriteDefine.c:580 #, c-format msgid "RETURNING list's entry %d has different type from column \"%s\"" msgstr "Елемент списку RETURNING %d відрізняється типом від стовпця \"%s\"" -#: rewrite/rewriteDefine.c:590 rewrite/rewriteDefine.c:614 +#: rewrite/rewriteDefine.c:583 rewrite/rewriteDefine.c:607 #, c-format msgid "SELECT target entry has type %s, but column has type %s." msgstr "Елемент результату SELECT має тип %s, але стовпець має тип %s." -#: rewrite/rewriteDefine.c:593 rewrite/rewriteDefine.c:618 +#: rewrite/rewriteDefine.c:586 rewrite/rewriteDefine.c:611 #, c-format msgid "RETURNING list entry has type %s, but column has type %s." msgstr "Елемент списку RETURNING має тип %s, але стовпець має тип %s." -#: rewrite/rewriteDefine.c:609 +#: rewrite/rewriteDefine.c:602 #, c-format msgid "SELECT rule's target entry %d has different size from column \"%s\"" msgstr "Елемент результата правил для SELECT %d відрізняється розміром від стовпця \"%s\"" -#: rewrite/rewriteDefine.c:611 +#: rewrite/rewriteDefine.c:604 #, c-format msgid "RETURNING list's entry %d has different size from column \"%s\"" msgstr "Елемент списку RETURNING %d відрізняється розміром від стовпця \"%s\"" -#: rewrite/rewriteDefine.c:628 +#: rewrite/rewriteDefine.c:621 #, c-format msgid "SELECT rule's target list has too few entries" msgstr "Список результату правила для SELECT має занадто мало елементів" -#: rewrite/rewriteDefine.c:629 +#: rewrite/rewriteDefine.c:622 #, c-format msgid "RETURNING list has too few entries" msgstr "Список RETURNING має занадто мало елементів" -#: rewrite/rewriteDefine.c:718 rewrite/rewriteDefine.c:833 -#: rewrite/rewriteSupport.c:109 +#: rewrite/rewriteDefine.c:711 rewrite/rewriteDefine.c:826 +#: rewrite/rewriteSupport.c:108 #, c-format msgid "rule \"%s\" for relation \"%s\" does not exist" msgstr "правило \"%s\" для відношення \"%s\" не існує" -#: rewrite/rewriteDefine.c:852 +#: rewrite/rewriteDefine.c:845 #, c-format msgid "renaming an ON SELECT rule is not allowed" msgstr "не допускається перейменування правила ON SELECT" -#: rewrite/rewriteHandler.c:583 +#: rewrite/rewriteHandler.c:582 #, c-format msgid "WITH query name \"%s\" appears in both a rule action and the query being rewritten" msgstr "Ім'я запиту WITH \"%s\" з'являється і в дії правила, і в переписаному запиті" -#: rewrite/rewriteHandler.c:610 +#: rewrite/rewriteHandler.c:609 #, 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:663 +#: rewrite/rewriteHandler.c:662 #, c-format msgid "cannot have RETURNING lists in multiple rules" msgstr "списки RETURNING може мати лише одне правило" -#: rewrite/rewriteHandler.c:895 rewrite/rewriteHandler.c:934 +#: rewrite/rewriteHandler.c:894 rewrite/rewriteHandler.c:933 #, c-format msgid "cannot insert a non-DEFAULT value into column \"%s\"" msgstr "вставити значення non-DEFAULT до стовпця \"%s\" не можна" -#: rewrite/rewriteHandler.c:897 rewrite/rewriteHandler.c:963 +#: rewrite/rewriteHandler.c:896 rewrite/rewriteHandler.c:962 #, c-format msgid "Column \"%s\" is an identity column defined as GENERATED ALWAYS." msgstr "Стовпець \"%s\" є ідентифікаційним стовпцем визначеним як GENERATED ALWAYS." -#: rewrite/rewriteHandler.c:899 +#: rewrite/rewriteHandler.c:898 #, c-format msgid "Use OVERRIDING SYSTEM VALUE to override." msgstr "Для зміни використайте OVERRIDING SYSTEM VALUE." -#: rewrite/rewriteHandler.c:961 rewrite/rewriteHandler.c:969 +#: rewrite/rewriteHandler.c:960 rewrite/rewriteHandler.c:968 #, c-format msgid "column \"%s\" can only be updated to DEFAULT" msgstr "стовпець \"%s\" може бути оновлено тільки до DEFAULT" -#: rewrite/rewriteHandler.c:1116 rewrite/rewriteHandler.c:1134 +#: rewrite/rewriteHandler.c:1115 rewrite/rewriteHandler.c:1133 #, c-format msgid "multiple assignments to same column \"%s\"" msgstr "кілька завдань для одного стовпця \"%s\"" -#: rewrite/rewriteHandler.c:2119 rewrite/rewriteHandler.c:4040 +#: rewrite/rewriteHandler.c:1698 +#, c-format +msgid "MERGE is not supported for relations with rules." +msgstr "MERGE не підтримує відношення з правилами." + +#: rewrite/rewriteHandler.c:1738 rewrite/rewriteHandler.c:3229 +#, c-format +msgid "access to non-system view \"%s\" is restricted" +msgstr "" + +#: rewrite/rewriteHandler.c:2119 rewrite/rewriteHandler.c:4221 #, c-format msgid "infinite recursion detected in rules for relation \"%s\"" msgstr "виявлена безкінечна рекурсія у правилах для відносин \"%s\"" @@ -21042,163 +21712,226 @@ msgstr "виявлена безкінечна рекурсія у правила msgid "infinite recursion detected in policy for relation \"%s\"" msgstr "виявлена безкінечна рекурсія в політиці для зв'язка \"%s\"" -#: rewrite/rewriteHandler.c:2524 +#: rewrite/rewriteHandler.c:2556 msgid "Junk view columns are not updatable." msgstr "Утилізовані стовпці подань не оновлюються." -#: rewrite/rewriteHandler.c:2529 +#: rewrite/rewriteHandler.c:2561 msgid "View columns that are not columns of their base relation are not updatable." msgstr "Стовпці подання, які не є стовпцями базового зв'язку, не оновлюються." -#: rewrite/rewriteHandler.c:2532 +#: rewrite/rewriteHandler.c:2564 msgid "View columns that refer to system columns are not updatable." msgstr "Стовпці подання, які посилаються на системні стовпці, не оновлюються." -#: rewrite/rewriteHandler.c:2535 +#: rewrite/rewriteHandler.c:2567 msgid "View columns that return whole-row references are not updatable." msgstr "Стовпці подання, що повертають посилання на весь рядок, не оновлюються." -#: rewrite/rewriteHandler.c:2596 +#: rewrite/rewriteHandler.c:2628 msgid "Views containing DISTINCT are not automatically updatable." msgstr "Подання які містять DISTINCT не оновлюються автоматично." -#: rewrite/rewriteHandler.c:2599 +#: rewrite/rewriteHandler.c:2631 msgid "Views containing GROUP BY are not automatically updatable." msgstr "Подання які містять GROUP BY не оновлюються автоматично." -#: rewrite/rewriteHandler.c:2602 +#: rewrite/rewriteHandler.c:2634 msgid "Views containing HAVING are not automatically updatable." msgstr "Подання які містять HAVING не оновлюються автоматично." -#: rewrite/rewriteHandler.c:2605 +#: rewrite/rewriteHandler.c:2637 msgid "Views containing UNION, INTERSECT, or EXCEPT are not automatically updatable." msgstr "Подання які містять UNION, INTERSECT, або EXCEPT не оновлюються автоматично." -#: rewrite/rewriteHandler.c:2608 +#: rewrite/rewriteHandler.c:2640 msgid "Views containing WITH are not automatically updatable." msgstr "Подання які містять WITH не оновлюються автоматично." -#: rewrite/rewriteHandler.c:2611 +#: rewrite/rewriteHandler.c:2643 msgid "Views containing LIMIT or OFFSET are not automatically updatable." msgstr "Подання які містять LIMIT або OFFSET не оновлюються автоматично." -#: rewrite/rewriteHandler.c:2623 +#: rewrite/rewriteHandler.c:2655 msgid "Views that return aggregate functions are not automatically updatable." msgstr "Подання які повертають агрегатні функції не оновлюються автоматично." -#: rewrite/rewriteHandler.c:2626 +#: rewrite/rewriteHandler.c:2658 msgid "Views that return window functions are not automatically updatable." msgstr "Подання які повертають віконні функції не оновлюються автоматично." -#: rewrite/rewriteHandler.c:2629 +#: rewrite/rewriteHandler.c:2661 msgid "Views that return set-returning functions are not automatically updatable." msgstr "Подання які повертають set-returning функції не оновлюються автоматично." -#: rewrite/rewriteHandler.c:2636 rewrite/rewriteHandler.c:2640 -#: rewrite/rewriteHandler.c:2648 +#: rewrite/rewriteHandler.c:2668 rewrite/rewriteHandler.c:2672 +#: rewrite/rewriteHandler.c:2680 msgid "Views that do not select from a single table or view are not automatically updatable." msgstr "Подання які обирають дані не з одної таблиці або подання не оновлюються автоматично." -#: rewrite/rewriteHandler.c:2651 +#: rewrite/rewriteHandler.c:2683 msgid "Views containing TABLESAMPLE are not automatically updatable." msgstr "Подання які містять TABLESAMPLE не оновлюються автоматично." -#: rewrite/rewriteHandler.c:2675 +#: rewrite/rewriteHandler.c:2707 msgid "Views that have no updatable columns are not automatically updatable." msgstr "Подання які не мають оновлюваних стовпців не оновлюються автоматично." -#: rewrite/rewriteHandler.c:3155 +#: rewrite/rewriteHandler.c:3088 rewrite/rewriteHandler.c:3123 +#, c-format +msgid "cannot insert into view \"%s\"" +msgstr "вставити дані в подання \"%s\" не можна" + +#: rewrite/rewriteHandler.c:3091 +#, 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:3096 rewrite/rewriteHandler.c:3132 +#, c-format +msgid "cannot update view \"%s\"" +msgstr "оновити подання \"%s\" не можна" + +#: rewrite/rewriteHandler.c:3099 +#, 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:3104 rewrite/rewriteHandler.c:3141 +#, c-format +msgid "cannot delete from view \"%s\"" +msgstr "видалити дані з подання \"%s\" не можна" + +#: rewrite/rewriteHandler.c:3107 +#, 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:3126 +#, c-format +msgid "To enable inserting into the view using MERGE, provide an INSTEAD OF INSERT trigger." +msgstr "" + +#: rewrite/rewriteHandler.c:3135 +#, c-format +msgid "To enable updating the view using MERGE, provide an INSTEAD OF UPDATE trigger." +msgstr "" + +#: rewrite/rewriteHandler.c:3144 +#, c-format +msgid "To enable deleting from the view using MERGE, provide an INSTEAD OF DELETE trigger." +msgstr "" + +#: rewrite/rewriteHandler.c:3319 #, c-format msgid "cannot insert into column \"%s\" of view \"%s\"" msgstr "вставити дані в стовпець \"%s\" подання \"%s\" не можна" -#: rewrite/rewriteHandler.c:3163 +#: rewrite/rewriteHandler.c:3327 #, c-format msgid "cannot update column \"%s\" of view \"%s\"" msgstr "оновити дані в стовпці \"%s\" подання \"%s\" не можна" -#: rewrite/rewriteHandler.c:3667 +#: rewrite/rewriteHandler.c:3335 +#, c-format +msgid "cannot merge into column \"%s\" of view \"%s\"" +msgstr "" + +#: rewrite/rewriteHandler.c:3363 +#, c-format +msgid "cannot merge into view \"%s\"" +msgstr "" + +#: rewrite/rewriteHandler.c:3365 +#, c-format +msgid "MERGE is not supported for views with INSTEAD OF triggers for some actions but not all." +msgstr "" + +#: rewrite/rewriteHandler.c:3366 +#, 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 "" + +#: rewrite/rewriteHandler.c:3879 #, c-format msgid "DO INSTEAD NOTIFY rules are not supported for data-modifying statements in WITH" msgstr "Правила DO INSTEAD NOTIFY не підтримуються для операторів, які змінюють дані в WITH" -#: rewrite/rewriteHandler.c:3678 +#: rewrite/rewriteHandler.c:3890 #, c-format msgid "DO INSTEAD NOTHING rules are not supported for data-modifying statements in WITH" msgstr "Правила DO INSTEAD NOTHING не підтримуються для операторів, які змінюють дані в WITH" -#: rewrite/rewriteHandler.c:3692 +#: rewrite/rewriteHandler.c:3904 #, c-format msgid "conditional DO INSTEAD rules are not supported for data-modifying statements in WITH" msgstr "умовні правила DO INSTEAD не підтримуються для операторів, які змінюють дані в WITH" -#: rewrite/rewriteHandler.c:3696 +#: rewrite/rewriteHandler.c:3908 #, c-format msgid "DO ALSO rules are not supported for data-modifying statements in WITH" msgstr "Правила DO ALSO не підтримуються для операторів, які змінюють дані в WITH" -#: rewrite/rewriteHandler.c:3701 +#: rewrite/rewriteHandler.c:3913 #, c-format msgid "multi-statement DO INSTEAD rules are not supported for data-modifying statements in WITH" msgstr "складові правила DO INSTEAD не підтримуються операторами, які змінюють дані у WITH" -#: rewrite/rewriteHandler.c:3968 rewrite/rewriteHandler.c:3976 -#: rewrite/rewriteHandler.c:3984 -#, c-format +#: rewrite/rewriteHandler.c:4173 msgid "Views with conditional DO INSTEAD rules are not automatically updatable." msgstr "Подання з умовними правилами DO INSTEAD не оновлюються автоматично." -#: rewrite/rewriteHandler.c:4089 +#: rewrite/rewriteHandler.c:4270 #, c-format msgid "cannot perform INSERT RETURNING on relation \"%s\"" msgstr "виконати INSERT RETURNING для зв'язка \"%s\" не можна" -#: rewrite/rewriteHandler.c:4091 +#: rewrite/rewriteHandler.c:4272 #, 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:4096 +#: rewrite/rewriteHandler.c:4277 #, c-format msgid "cannot perform UPDATE RETURNING on relation \"%s\"" msgstr "виконати UPDATE RETURNING для зв'язка \"%s\" не можна" -#: rewrite/rewriteHandler.c:4098 +#: rewrite/rewriteHandler.c:4279 #, 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:4103 +#: rewrite/rewriteHandler.c:4284 #, c-format msgid "cannot perform DELETE RETURNING on relation \"%s\"" msgstr "виконати DELETE RETURNING для зв'язка \"%s\" не можна" -#: rewrite/rewriteHandler.c:4105 +#: rewrite/rewriteHandler.c:4286 #, 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:4123 +#: rewrite/rewriteHandler.c:4304 #, 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:4180 +#: rewrite/rewriteHandler.c:4361 #, c-format msgid "WITH cannot be used in a query that is rewritten by rules into multiple queries" msgstr "WITH не можна використовувати в запиті, який переписаний правилами в декілька запитів" -#: rewrite/rewriteManip.c:1075 +#: rewrite/rewriteManip.c:1083 #, c-format msgid "conditional utility statements are not implemented" msgstr "умовні службові оператори не реалізовані" -#: rewrite/rewriteManip.c:1419 +#: rewrite/rewriteManip.c:1430 #, c-format msgid "WHERE CURRENT OF on a view is not implemented" msgstr "Умова WHERE CURRENT OF для подання не реалізована" -#: rewrite/rewriteManip.c:1754 +#: rewrite/rewriteManip.c:1765 #, c-format msgid "NEW variables in ON UPDATE rules cannot reference columns that are part of a multiple assignment in the subject UPDATE command" msgstr "Змінні NEW в правилах ON UPDATE не можуть посилатись на стовпці, які є частиною декілької призначень в команді UPDATE" @@ -21234,72 +21967,67 @@ msgstr "нерозпізнаний параметр Snowball: \"%s\"" msgid "missing Language parameter" msgstr "пропущений параметр Language" -#: statistics/extended_stats.c:179 +#: statistics/extended_stats.c:176 #, c-format msgid "statistics object \"%s.%s\" could not be computed for relation \"%s.%s\"" msgstr "об'єкт статистики \"%s.%s\" не вдалося обчислити для відношення \"%s.%s\"" -#: statistics/mcv.c:1372 +#: statistics/mcv.c:1368 #, c-format msgid "function returning record called in context that cannot accept type record" msgstr "функція, що повертає набір, викликана у контексті, що не приймає тип запис" -#: storage/buffer/bufmgr.c:612 storage/buffer/bufmgr.c:769 +#: storage/buffer/bufmgr.c:649 storage/buffer/bufmgr.c:805 #, c-format msgid "cannot access temporary tables of other sessions" msgstr "доступ до тимчасових таблиць з інших сесій заблоковано" -#: storage/buffer/bufmgr.c:1137 +#: storage/buffer/bufmgr.c:1532 #, c-format msgid "invalid page in block %u of relation %s; zeroing out page" msgstr "неприпустима сторінка в блоці %u відношення %s; сторінка обнуляється" -#: storage/buffer/bufmgr.c:1931 storage/buffer/localbuf.c:359 +#: storage/buffer/bufmgr.c:2277 storage/buffer/localbuf.c:361 #, c-format msgid "cannot extend relation %s beyond %u blocks" msgstr "не можна розширити відношення %s понад %u блоків" -#: storage/buffer/bufmgr.c:1998 +#: storage/buffer/bufmgr.c:2348 #, c-format msgid "unexpected data beyond EOF in block %u of relation %s" msgstr "неочікуванні дані після EOF в блоці %u відношення %s" -#: storage/buffer/bufmgr.c:2000 +#: storage/buffer/bufmgr.c:2350 #, c-format msgid "This has been seen to occur with buggy kernels; consider updating your system." msgstr "Ця ситуація може виникати через помилки в ядрі; можливо, вам слід оновити вашу систему." -#: storage/buffer/bufmgr.c:5219 +#: storage/buffer/bufmgr.c:5653 #, c-format msgid "could not write block %u of %s" msgstr "неможливо записати блок %u файлу %s" -#: storage/buffer/bufmgr.c:5221 +#: storage/buffer/bufmgr.c:5655 #, c-format msgid "Multiple failures --- write error might be permanent." msgstr "Кілька неполадок --- можливо, постійна помилка запису." -#: storage/buffer/bufmgr.c:5243 storage/buffer/bufmgr.c:5263 +#: storage/buffer/bufmgr.c:5677 storage/buffer/bufmgr.c:5697 #, c-format msgid "writing block %u of relation %s" msgstr "записування блоку %u зв'язку %s" -#: storage/buffer/bufmgr.c:5593 -#, c-format -msgid "snapshot too old" -msgstr "знімок є застарим" - -#: storage/buffer/localbuf.c:219 +#: storage/buffer/localbuf.c:220 #, c-format msgid "no empty local buffer available" msgstr "немає жодного пустого локального буферу" -#: storage/buffer/localbuf.c:592 +#: storage/buffer/localbuf.c:597 #, c-format msgid "cannot access temporary tables during a parallel operation" msgstr "немає доступу до тимчасових таблиць під час паралельної операції" -#: storage/buffer/localbuf.c:699 +#: storage/buffer/localbuf.c:712 #, c-format msgid "\"temp_buffers\" cannot be changed after any temporary tables have been accessed in the session." msgstr "параметр \"temp_buffers\" не можна змінити після того, як тимчасові таблиці отримали доступ в сеансі." @@ -21319,151 +22047,156 @@ msgstr "не вдалося прочитати файл \"%s\": прочитан msgid "could not read from temporary file: read only %zu of %zu bytes" msgstr "не вдалося прочитати тимчасовий файл: прочитано лише %zu з %zu байт" -#: storage/file/buffile.c:774 storage/file/buffile.c:895 +#: storage/file/buffile.c:774 storage/file/buffile.c:877 #, c-format msgid "could not determine size of temporary file \"%s\" from BufFile \"%s\": %m" msgstr "не вдалося визначити розмір тимчасового файлу \"%s\" з BufFile \"%s\": %m" -#: storage/file/buffile.c:974 +#: storage/file/buffile.c:956 #, c-format msgid "could not delete fileset \"%s\": %m" msgstr "не вдалося видалити набір файлів \"%s\": %m" -#: storage/file/buffile.c:992 storage/smgr/md.c:338 storage/smgr/md.c:1041 +#: storage/file/buffile.c:974 storage/smgr/md.c:336 storage/smgr/md.c:1192 #, c-format msgid "could not truncate file \"%s\": %m" msgstr "не вдалося скоротити файл \"%s\": %m" -#: storage/file/fd.c:537 storage/file/fd.c:609 storage/file/fd.c:645 +#: 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:567 +#: storage/file/fd.c:613 #, c-format msgid "could not determine dirty data size: %m" msgstr "не вдалося визначити розмір \"брудних\" даних: %m" -#: storage/file/fd.c:619 +#: storage/file/fd.c:665 #, c-format msgid "could not munmap() while flushing data: %m" msgstr "не вдалося munmap() під час очищення даних: %m" -#: storage/file/fd.c:937 +#: storage/file/fd.c:983 #, c-format msgid "getrlimit failed: %m" msgstr "помилка getrlimit: %m" -#: storage/file/fd.c:1027 +#: storage/file/fd.c:1073 #, c-format msgid "insufficient file descriptors available to start server process" msgstr "недостатньо доступних дескрипторів файлу для запуску серверного процесу" -#: storage/file/fd.c:1028 +#: storage/file/fd.c:1074 #, c-format msgid "System allows %d, server needs at least %d." msgstr "Система дозволяє %d, сервер потребує щонайменше %d." -#: storage/file/fd.c:1116 storage/file/fd.c:2565 storage/file/fd.c:2674 -#: storage/file/fd.c:2825 +#: 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:1490 +#: storage/file/fd.c:1536 #, c-format msgid "temporary file: path \"%s\", size %lu" msgstr "тимчасовий файл: шлях \"%s\", розмір %lu" -#: storage/file/fd.c:1629 +#: storage/file/fd.c:1675 #, c-format msgid "cannot create temporary directory \"%s\": %m" msgstr "неможливо створити тимчасовий каталог \"%s\": %m" -#: storage/file/fd.c:1636 +#: storage/file/fd.c:1682 #, c-format msgid "cannot create temporary subdirectory \"%s\": %m" msgstr "неможливо створити тимчасовий підкаталог \"%s\": %m" -#: storage/file/fd.c:1833 +#: storage/file/fd.c:1879 #, c-format msgid "could not create temporary file \"%s\": %m" msgstr "неможливо створити тимчасовий файл \"%s\": %m" -#: storage/file/fd.c:1869 +#: storage/file/fd.c:1915 #, c-format msgid "could not open temporary file \"%s\": %m" msgstr "неможливо відкрити тимчасовий файл \"%s\": %m" -#: storage/file/fd.c:1910 +#: storage/file/fd.c:1956 #, c-format msgid "could not unlink temporary file \"%s\": %m" msgstr "помилка видалення тимчасового файлу \"%s\": %m" -#: storage/file/fd.c:1998 +#: storage/file/fd.c:2044 #, c-format msgid "could not delete file \"%s\": %m" msgstr "не вдалося видалити файл \"%s\": %m" -#: storage/file/fd.c:2185 +#: 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:2541 storage/file/fd.c:2600 +#: 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:2645 +#: 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:2801 +#: 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:3331 +#: storage/file/fd.c:3384 #, c-format msgid "unexpected file found in temporary-files directory: \"%s\"" msgstr "знайдено неочікуваний файл в каталозі тимчасових файлів: \"%s\"" -#: storage/file/fd.c:3449 +#: storage/file/fd.c:3502 #, c-format msgid "syncing data directory (syncfs), elapsed time: %ld.%02d s, current path: %s" msgstr "синхронізація каталогу даних (syncfs), витрачено часу: %ld.%02d с, поточний шлях: %s" -#: storage/file/fd.c:3463 -#, c-format -msgid "could not synchronize file system for file \"%s\": %m" -msgstr "не вдалося синхронізувати файлову систему для файлу \"%s\": %m" - -#: storage/file/fd.c:3676 +#: storage/file/fd.c:3729 #, 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:3708 +#: storage/file/fd.c:3761 #, c-format msgid "syncing data directory (fsync), elapsed time: %ld.%02d s, current path: %s" msgstr "синхронізація каталогу даних (fsync), витрачено часу: %ld.%02d с, поточний шлях: %s" -#: storage/file/fd.c:3897 +#: storage/file/fd.c:3950 #, c-format -msgid "debug_io_direct is not supported on this platform." -msgstr "debug_io_direct не підтримується на цій платформі." +msgid "\"debug_io_direct\" is not supported on this platform." +msgstr "" + +#: storage/file/fd.c:3964 +#, c-format +msgid "Invalid list syntax in parameter \"%s\"" +msgstr "" -#: storage/file/fd.c:3944 +#: storage/file/fd.c:3984 #, c-format -msgid "debug_io_direct is not supported for WAL because XLOG_BLCKSZ is too small" -msgstr "debug_io_direct не підтримується для WAL, оскільки XLOG_BLCKSZ занадто малий" +msgid "Invalid option \"%s\"" +msgstr "Недійсний параметр \"%s\"" -#: storage/file/fd.c:3951 +#: storage/file/fd.c:3997 #, c-format -msgid "debug_io_direct is not supported for data because BLCKSZ is too small" -msgstr "debug_io_direct не підтримується для даних, тому що BLCKSZ занадто малий" +msgid "\"debug_io_direct\" is not supported for WAL because XLOG_BLCKSZ is too small" +msgstr "" + +#: storage/file/fd.c:4004 +#, c-format +msgid "\"debug_io_direct\" is not supported for data because BLCKSZ is too small" +msgstr "" #: storage/file/reinit.c:145 #, c-format @@ -21475,22 +22208,22 @@ msgstr "скидання нежурнальованих відношень (init msgid "resetting unlogged relations (cleanup), elapsed time: %ld.%02d s, current path: %s" msgstr "скидання нежурнальованих відношень (очищення), витрачено часу: %ld.%02d с, поточний шлях: %s" -#: storage/file/sharedfileset.c:79 +#: storage/file/sharedfileset.c:73 #, c-format msgid "could not attach to a SharedFileSet that is already destroyed" msgstr "не вдалося підключитися до вже знищеному набору SharedFileSet" -#: storage/ipc/dsm.c:352 +#: storage/ipc/dsm.c:379 #, c-format msgid "dynamic shared memory control segment is corrupt" msgstr "сегмент керування динамічної спільної пам'яті пошкоджений" -#: storage/ipc/dsm.c:417 +#: storage/ipc/dsm.c:444 #, c-format msgid "dynamic shared memory control segment is not valid" msgstr "сегмент керування динамічної спільної пам'яті недійсний" -#: storage/ipc/dsm.c:599 +#: storage/ipc/dsm.c:626 #, c-format msgid "too many dynamic shared memory segments" msgstr "занадто багато сегментів динамічної спільної пам'яті" @@ -21550,73 +22283,99 @@ msgstr "не вдалося закрити сегмент спільної па msgid "could not duplicate handle for \"%s\": %m" msgstr "не вдалося продублювати маркер для \"%s\": %m" -#: storage/ipc/procarray.c:3795 +#: storage/ipc/dsm_registry.c:142 +#, c-format +msgid "DSM segment name cannot be empty" +msgstr "Ім'я сегмента DSM не може бути порожнім" + +#: storage/ipc/dsm_registry.c:146 +#, c-format +msgid "DSM segment name too long" +msgstr "Занадто довге ім'я сегменту DSM" + +#: storage/ipc/dsm_registry.c:150 +#, c-format +msgid "DSM segment size must be nonzero" +msgstr "Розмір сегменту DSM повинен бути ненульовим" + +#: storage/ipc/dsm_registry.c:176 +#, c-format +msgid "requested DSM segment size does not match size of existing segment" +msgstr "розмір запитуваного сегмента DSM не збігається з розміром наявного сегмента" + +#: storage/ipc/procarray.c:488 storage/lmgr/proc.c:352 +#: tcop/backend_startup.c:304 +#, c-format +msgid "sorry, too many clients already" +msgstr "вибачте, вже забагато клієнтів" + +#: storage/ipc/procarray.c:3857 #, c-format msgid "database \"%s\" is being used by prepared transactions" msgstr "база даних \"%s\" використовується підготовленими транзакціями" -#: storage/ipc/procarray.c:3827 storage/ipc/procarray.c:3836 +#: storage/ipc/procarray.c:3893 storage/ipc/procarray.c:3901 #: storage/ipc/signalfuncs.c:235 storage/ipc/signalfuncs.c:242 #, c-format msgid "permission denied to terminate process" msgstr "немає дозволу для припинення процесу" -#: storage/ipc/procarray.c:3828 storage/ipc/signalfuncs.c:236 +#: storage/ipc/procarray.c:3894 storage/ipc/signalfuncs.c:236 #, c-format msgid "Only roles with the %s attribute may terminate processes of roles with the %s attribute." msgstr "Тільки ролі з атрибутом %s можуть припинити процеси ролей з атрибутом %s." -#: storage/ipc/procarray.c:3837 storage/ipc/signalfuncs.c:243 +#: storage/ipc/procarray.c:3902 storage/ipc/signalfuncs.c:243 #, c-format msgid "Only roles with privileges of the role whose process is being terminated or with privileges of the \"%s\" role may terminate this process." msgstr "Лише ролі з привілеями ролі, процес якої завершується, або з привілеями ролі \"%s\" можуть завершити цей процес." -#: storage/ipc/procsignal.c:420 +#: storage/ipc/procsignal.c:416 #, c-format msgid "still waiting for backend with PID %d to accept ProcSignalBarrier" msgstr "все ще чекаємо на прийняття ProcSignalBarrier від бекенд з PID %d" -#: storage/ipc/shm_mq.c:384 +#: storage/ipc/shm_mq.c:383 #, c-format msgid "cannot send a message of size %zu via shared memory queue" msgstr "не можна надсилати повідомлення розміру %zu через чергу спільної пам'яті" -#: storage/ipc/shm_mq.c:719 +#: storage/ipc/shm_mq.c:718 #, c-format msgid "invalid message size %zu in shared memory queue" msgstr "неприпустимий розмір повідомлення %zu в черзі спільної пам'яті" -#: storage/ipc/shm_toc.c:118 storage/ipc/shm_toc.c:200 storage/lmgr/lock.c:963 -#: storage/lmgr/lock.c:1001 storage/lmgr/lock.c:2786 storage/lmgr/lock.c:4171 -#: storage/lmgr/lock.c:4236 storage/lmgr/lock.c:4586 -#: storage/lmgr/predicate.c:2412 storage/lmgr/predicate.c:2427 -#: storage/lmgr/predicate.c:3824 storage/lmgr/predicate.c:4871 -#: utils/hash/dynahash.c:1107 +#: storage/ipc/shm_toc.c:118 storage/ipc/shm_toc.c:200 storage/lmgr/lock.c:984 +#: storage/lmgr/lock.c:1022 storage/lmgr/lock.c:2825 storage/lmgr/lock.c:4210 +#: storage/lmgr/lock.c:4275 storage/lmgr/lock.c:4625 +#: storage/lmgr/predicate.c:2463 storage/lmgr/predicate.c:2478 +#: storage/lmgr/predicate.c:3875 storage/lmgr/predicate.c:4922 +#: utils/hash/dynahash.c:1095 #, c-format msgid "out of shared memory" msgstr "нестача спільної пам'яті" -#: storage/ipc/shmem.c:170 storage/ipc/shmem.c:266 +#: storage/ipc/shmem.c:161 storage/ipc/shmem.c:257 #, c-format msgid "out of shared memory (%zu bytes requested)" msgstr "нестача спільної пам'яті (потребується %zu байт)" -#: storage/ipc/shmem.c:445 +#: storage/ipc/shmem.c:436 #, c-format msgid "could not create ShmemIndex entry for data structure \"%s\"" msgstr "не вдалося створити введення ShmemIndex для структури даних \"%s\"" -#: storage/ipc/shmem.c:460 +#: storage/ipc/shmem.c:451 #, c-format msgid "ShmemIndex entry size is wrong for data structure \"%s\": expected %zu, actual %zu" msgstr "розмір введення ShmemIndex є неправильним для структури даних \"%s\": очікувано %zu, фактично %zu" -#: storage/ipc/shmem.c:479 +#: storage/ipc/shmem.c:470 #, c-format msgid "not enough shared memory for data structure \"%s\" (%zu bytes requested)" msgstr "недостатньо спільної пам'яті для структури даних \"%s\" (потрібно було %zu байтів)" -#: storage/ipc/shmem.c:511 storage/ipc/shmem.c:530 +#: storage/ipc/shmem.c:502 storage/ipc/shmem.c:521 #, c-format msgid "requested shared memory size overflows size_t" msgstr "запитаний сегмент спільної пам'яті не вміщається в size_t" @@ -21626,8 +22385,8 @@ msgstr "запитаний сегмент спільної пам'яті не в msgid "PID %d is not a PostgreSQL backend process" msgstr "PID %d не є внутрішнім процесом PostgreSQL" -#: storage/ipc/signalfuncs.c:109 storage/lmgr/proc.c:1387 -#: utils/adt/mcxtfuncs.c:190 +#: storage/ipc/signalfuncs.c:109 storage/lmgr/proc.c:1448 +#: utils/adt/mcxtfuncs.c:182 #, c-format msgid "could not send signal to process %d: %m" msgstr "не вдалося надіслати сигнал процесу %d: %m" @@ -21666,90 +22425,86 @@ msgstr[3] "процес з PID %d не завершився протягом %ll msgid "\"timeout\" must not be negative" msgstr "\"timeout\" повинен не може бути негативним" -#: storage/ipc/signalfuncs.c:284 -#, c-format -msgid "must be superuser to rotate log files with adminpack 1.0" -msgstr "прокручувати файли протоколів використовуючи adminpack 1.0, може лише суперкористувач" - -#. translator: %s is a SQL function name -#: storage/ipc/signalfuncs.c:286 utils/adt/genfile.c:250 -#, c-format -msgid "Consider using %s, which is part of core, instead." -msgstr "Розгляньте використання %s, що є частиною ядра." - -#: storage/ipc/signalfuncs.c:292 storage/ipc/signalfuncs.c:312 +#: storage/ipc/signalfuncs.c:285 #, c-format msgid "rotation not possible because log collection not active" msgstr "обертання неможливе тому, що записування колекції не активоване" -#: storage/ipc/standby.c:330 +#: storage/ipc/standby.c:329 #, c-format msgid "recovery still waiting after %ld.%03d ms: %s" msgstr "відновлення все ще чекає, після %ld.%03d мс: %s" -#: storage/ipc/standby.c:339 +#: storage/ipc/standby.c:338 #, c-format msgid "recovery finished waiting after %ld.%03d ms: %s" msgstr "відновлення закінчило очікування після %ld.%03d мс: %s" -#: storage/ipc/standby.c:921 tcop/postgres.c:3384 +#: storage/ipc/standby.c:920 tcop/postgres.c:3196 #, c-format msgid "canceling statement due to conflict with recovery" msgstr "виконання оператора скасовано через конфлікт з процесом відновлення" -#: storage/ipc/standby.c:922 tcop/postgres.c:2533 +#: storage/ipc/standby.c:921 tcop/postgres.c:2557 #, c-format msgid "User transaction caused buffer deadlock with recovery." msgstr "Транзакція користувача призвела до взаємного блокування з процесом відновлення." -#: storage/ipc/standby.c:1488 +#: storage/ipc/standby.c:1486 msgid "unknown reason" msgstr "невідома причина" -#: storage/ipc/standby.c:1493 +#: storage/ipc/standby.c:1491 msgid "recovery conflict on buffer pin" msgstr "конфлікт відновлення, закріпленого в буфері" -#: storage/ipc/standby.c:1496 +#: storage/ipc/standby.c:1494 msgid "recovery conflict on lock" msgstr "конфлікт відновлення при блокуванні" -#: storage/ipc/standby.c:1499 +#: storage/ipc/standby.c:1497 msgid "recovery conflict on tablespace" msgstr "конфлікт відновлення у табличному просторі" -#: storage/ipc/standby.c:1502 +#: storage/ipc/standby.c:1500 msgid "recovery conflict on snapshot" msgstr "конфлікт відновлення під час знімку" -#: storage/ipc/standby.c:1505 +#: storage/ipc/standby.c:1503 msgid "recovery conflict on replication slot" msgstr "конфлікт відновлення у слоті реплікації" -#: storage/ipc/standby.c:1508 +#: storage/ipc/standby.c:1506 msgid "recovery conflict on buffer deadlock" msgstr "конфлікт відновлення при взаємному блокуванні буфера" -#: storage/ipc/standby.c:1511 +#: storage/ipc/standby.c:1509 msgid "recovery conflict on database" msgstr "конфлікт відновлення у базі даних" -#: storage/large_object/inv_api.c:191 +#: storage/large_object/inv_api.c:190 #, c-format msgid "pg_largeobject entry for OID %u, page %d has invalid data field size %d" msgstr "у введенні pg_largeobject для OID %u, сторінка %d має неприпустимий розмір поля даних %d" -#: storage/large_object/inv_api.c:273 +#: storage/large_object/inv_api.c:272 #, c-format msgid "invalid flags for opening a large object: %d" msgstr "неприпустимі позначки для відкриття великого об'єкту: %d" -#: storage/large_object/inv_api.c:456 +#: storage/large_object/inv_api.c:297 storage/large_object/inv_api.c:309 +#: storage/large_object/inv_api.c:506 storage/large_object/inv_api.c:617 +#: storage/large_object/inv_api.c:807 +#, c-format +msgid "permission denied for large object %u" +msgstr "немає дозволу для великого об'єкта %u" + +#: storage/large_object/inv_api.c:455 #, c-format msgid "invalid whence setting: %d" msgstr "неприпустиме значення орієнтиру: %d" -#: storage/large_object/inv_api.c:628 +#: storage/large_object/inv_api.c:627 #, c-format msgid "invalid large object write request size: %d" msgstr "неприпустимий розмір запису великого об'єкту: %d" @@ -21774,211 +22529,211 @@ msgstr "виявлено взаємне блокування" msgid "See server log for query details." msgstr "Подробиці запиту перегляньте в записі серверу." -#: storage/lmgr/lmgr.c:859 +#: storage/lmgr/lmgr.c:848 #, c-format msgid "while updating tuple (%u,%u) in relation \"%s\"" msgstr "при оновленні кортежу (%u,%u) в зв'язку \"%s\"" -#: storage/lmgr/lmgr.c:862 +#: storage/lmgr/lmgr.c:851 #, c-format msgid "while deleting tuple (%u,%u) in relation \"%s\"" msgstr "при видаленні кортежу (%u,%u) в зв'язку \"%s\"" -#: storage/lmgr/lmgr.c:865 +#: storage/lmgr/lmgr.c:854 #, c-format msgid "while locking tuple (%u,%u) in relation \"%s\"" msgstr "при блокуванні кортежу (%u,%u) в зв'язку \"%s\"" -#: storage/lmgr/lmgr.c:868 +#: storage/lmgr/lmgr.c:857 #, c-format msgid "while locking updated version (%u,%u) of tuple in relation \"%s\"" msgstr "при блокуванні оновленої версії (%u,%u) кортежу в зв'язку \"%s\"" -#: storage/lmgr/lmgr.c:871 +#: storage/lmgr/lmgr.c:860 #, c-format msgid "while inserting index tuple (%u,%u) in relation \"%s\"" msgstr "при вставці кортежу індексу (%u,%u) в зв'язку \"%s\"" -#: storage/lmgr/lmgr.c:874 +#: storage/lmgr/lmgr.c:863 #, c-format msgid "while checking uniqueness of tuple (%u,%u) in relation \"%s\"" msgstr "під час перевірки унікальності кортежа (%u,%u) у відношенні \"%s\"" -#: storage/lmgr/lmgr.c:877 +#: storage/lmgr/lmgr.c:866 #, c-format msgid "while rechecking updated tuple (%u,%u) in relation \"%s\"" msgstr "під час повторної перевірки оновленого кортежа (%u,%u) у відношенні \"%s\"" -#: storage/lmgr/lmgr.c:880 +#: storage/lmgr/lmgr.c:869 #, c-format msgid "while checking exclusion constraint on tuple (%u,%u) in relation \"%s\"" msgstr "під час перевірки обмеження-виключення для кортежа (%u,%u) у відношенні \"%s\"" -#: storage/lmgr/lmgr.c:1174 +#: storage/lmgr/lmgr.c:1239 #, c-format msgid "relation %u of database %u" msgstr "відношення %u бази даних %u" -#: storage/lmgr/lmgr.c:1180 +#: storage/lmgr/lmgr.c:1245 #, c-format msgid "extension of relation %u of database %u" msgstr "розширення відношення %u бази даних %u" -#: storage/lmgr/lmgr.c:1186 +#: storage/lmgr/lmgr.c:1251 #, c-format msgid "pg_database.datfrozenxid of database %u" msgstr "pg_database.datfrozenxid бази даних %u" -#: storage/lmgr/lmgr.c:1191 +#: storage/lmgr/lmgr.c:1256 #, c-format msgid "page %u of relation %u of database %u" msgstr "сторінка %u відношення %u бази даних %u" -#: storage/lmgr/lmgr.c:1198 +#: storage/lmgr/lmgr.c:1263 #, c-format msgid "tuple (%u,%u) of relation %u of database %u" msgstr "кортеж (%u,%u) відношення %u бази даних %u" -#: storage/lmgr/lmgr.c:1206 +#: storage/lmgr/lmgr.c:1271 #, c-format msgid "transaction %u" msgstr "транзакція %u" -#: storage/lmgr/lmgr.c:1211 +#: storage/lmgr/lmgr.c:1276 #, c-format msgid "virtual transaction %d/%u" msgstr "віртуальна транзакція %d/%u" -#: storage/lmgr/lmgr.c:1217 +#: storage/lmgr/lmgr.c:1282 #, c-format msgid "speculative token %u of transaction %u" msgstr "орієнтовний маркер %u транзакції %u" -#: storage/lmgr/lmgr.c:1223 +#: storage/lmgr/lmgr.c:1288 #, c-format msgid "object %u of class %u of database %u" msgstr "об’єкт %u класу %u бази даних %u" -#: storage/lmgr/lmgr.c:1231 +#: storage/lmgr/lmgr.c:1296 #, c-format msgid "user lock [%u,%u,%u]" msgstr "користувацьке блокування [%u,%u,%u]" -#: storage/lmgr/lmgr.c:1238 +#: storage/lmgr/lmgr.c:1303 #, c-format msgid "advisory lock [%u,%u,%u,%u]" msgstr "рекомендаційне блокування [%u,%u,%u,%u]" -#: storage/lmgr/lmgr.c:1246 +#: storage/lmgr/lmgr.c:1311 #, c-format msgid "remote transaction %u of subscription %u of database %u" msgstr "віддалена транзакція %u з підписки %u з бази даних %u" -#: storage/lmgr/lmgr.c:1253 +#: storage/lmgr/lmgr.c:1318 #, c-format msgid "unrecognized locktag type %d" msgstr "нерозпізнаний тип блокування %d" -#: storage/lmgr/lock.c:791 +#: storage/lmgr/lock.c:812 #, c-format msgid "cannot acquire lock mode %s on database objects while recovery is in progress" msgstr "поки виконується відновлення, не можна отримати блокування об'єктів бази даних в режимі %s" -#: storage/lmgr/lock.c:793 +#: storage/lmgr/lock.c:814 #, c-format msgid "Only RowExclusiveLock or less can be acquired on database objects during recovery." msgstr "Під час процесу відновлення для об'єктів бази даних може бути отримане лише блокування RowExclusiveLock або менш сильна." -#: storage/lmgr/lock.c:3235 storage/lmgr/lock.c:3303 storage/lmgr/lock.c:3419 +#: storage/lmgr/lock.c:3274 storage/lmgr/lock.c:3342 storage/lmgr/lock.c:3458 #, c-format msgid "cannot PREPARE while holding both session-level and transaction-level locks on the same object" msgstr "не можна виконати PREPARE, під час утримання блокування на рівні сеансу і на рівні транзакції для одного об'єкта" -#: storage/lmgr/predicate.c:649 +#: storage/lmgr/predicate.c:653 #, c-format msgid "not enough elements in RWConflictPool to record a read/write conflict" msgstr "в RWConflictPool недостатньо елементів для запису про конфлікт читання/запису" -#: storage/lmgr/predicate.c:650 storage/lmgr/predicate.c:675 +#: storage/lmgr/predicate.c:654 storage/lmgr/predicate.c:679 #, c-format -msgid "You might need to run fewer transactions at a time or increase max_connections." -msgstr "Можливо, вам слід виконувати менше транзакцій в секунду або збільшити параметр max_connections." +msgid "You might need to run fewer transactions at a time or increase \"max_connections\"." +msgstr "" -#: storage/lmgr/predicate.c:674 +#: storage/lmgr/predicate.c:678 #, c-format msgid "not enough elements in RWConflictPool to record a potential read/write conflict" msgstr "в RWConflictPool недостатньо елементів для запису про потенціальний конфлікт читання/запису" -#: storage/lmgr/predicate.c:1630 +#: storage/lmgr/predicate.c:1681 #, c-format msgid "\"default_transaction_isolation\" is set to \"serializable\"." msgstr "параметр \"default_transaction_isolation\" має значення \"serializable\"." -#: storage/lmgr/predicate.c:1631 +#: storage/lmgr/predicate.c:1682 #, c-format msgid "You can use \"SET default_transaction_isolation = 'repeatable read'\" to change the default." msgstr "Ви можете використати \"SET default_transaction_isolation = 'repeatable read'\" щоб змінити режим за замовчуванням." -#: storage/lmgr/predicate.c:1682 +#: storage/lmgr/predicate.c:1733 #, c-format msgid "a snapshot-importing transaction must not be READ ONLY DEFERRABLE" msgstr "транзакція, яка імпортує знімок не повинна бутив READ ONLY DEFERRABLE" -#: storage/lmgr/predicate.c:1761 utils/time/snapmgr.c:570 -#: utils/time/snapmgr.c:576 +#: storage/lmgr/predicate.c:1812 utils/time/snapmgr.c:535 +#: utils/time/snapmgr.c:541 #, c-format msgid "could not import the requested snapshot" msgstr "не вдалося імпортувати запитаний знімок" -#: storage/lmgr/predicate.c:1762 utils/time/snapmgr.c:577 +#: storage/lmgr/predicate.c:1813 utils/time/snapmgr.c:542 #, c-format msgid "The source process with PID %d is not running anymore." msgstr "Вихідний процес з PID %d вже не виконується." -#: storage/lmgr/predicate.c:3935 storage/lmgr/predicate.c:3971 -#: storage/lmgr/predicate.c:4004 storage/lmgr/predicate.c:4012 -#: storage/lmgr/predicate.c:4051 storage/lmgr/predicate.c:4281 -#: storage/lmgr/predicate.c:4600 storage/lmgr/predicate.c:4612 -#: storage/lmgr/predicate.c:4659 storage/lmgr/predicate.c:4695 +#: storage/lmgr/predicate.c:3986 storage/lmgr/predicate.c:4022 +#: storage/lmgr/predicate.c:4055 storage/lmgr/predicate.c:4063 +#: storage/lmgr/predicate.c:4102 storage/lmgr/predicate.c:4332 +#: storage/lmgr/predicate.c:4651 storage/lmgr/predicate.c:4663 +#: storage/lmgr/predicate.c:4710 storage/lmgr/predicate.c:4746 #, c-format msgid "could not serialize access due to read/write dependencies among transactions" msgstr "не вдалося серіалізувати доступ через залежність читання/запису серед транзакцій" -#: storage/lmgr/predicate.c:3937 storage/lmgr/predicate.c:3973 -#: storage/lmgr/predicate.c:4006 storage/lmgr/predicate.c:4014 -#: storage/lmgr/predicate.c:4053 storage/lmgr/predicate.c:4283 -#: storage/lmgr/predicate.c:4602 storage/lmgr/predicate.c:4614 -#: storage/lmgr/predicate.c:4661 storage/lmgr/predicate.c:4697 +#: storage/lmgr/predicate.c:3988 storage/lmgr/predicate.c:4024 +#: storage/lmgr/predicate.c:4057 storage/lmgr/predicate.c:4065 +#: storage/lmgr/predicate.c:4104 storage/lmgr/predicate.c:4334 +#: storage/lmgr/predicate.c:4653 storage/lmgr/predicate.c:4665 +#: storage/lmgr/predicate.c:4712 storage/lmgr/predicate.c:4748 #, c-format msgid "The transaction might succeed if retried." msgstr "Транзакція може завершитися успішно, якщо повторити спробу." -#: storage/lmgr/proc.c:349 +#: storage/lmgr/proc.c:348 #, c-format -msgid "number of requested standby connections exceeds max_wal_senders (currently %d)" -msgstr "кількість запитаних підключень резервного серверу перевищує max_wal_senders (поточна %d)" +msgid "number of requested standby connections exceeds \"max_wal_senders\" (currently %d)" +msgstr "" -#: storage/lmgr/proc.c:1480 +#: storage/lmgr/proc.c:1541 #, c-format msgid "process %d avoided deadlock for %s on %s by rearranging queue order after %ld.%03d ms" msgstr "процес %d уникнув взаємного блокування, чекаючи в режимі %s блокування %s змінивши порядок черги після %ld.%03d мс" -#: storage/lmgr/proc.c:1495 +#: storage/lmgr/proc.c:1556 #, c-format msgid "process %d detected deadlock while waiting for %s on %s after %ld.%03d ms" msgstr "процес %d виявив взаємне блокування, чекаючи в режимі %s блокування %s після %ld.%03d мс" -#: storage/lmgr/proc.c:1504 +#: storage/lmgr/proc.c:1565 #, c-format msgid "process %d still waiting for %s on %s after %ld.%03d ms" msgstr "процес %d все ще чекає в режимі %s блокування %s після %ld.%03d мс" -#: storage/lmgr/proc.c:1511 +#: storage/lmgr/proc.c:1572 #, c-format msgid "process %d acquired %s on %s after %ld.%03d ms" msgstr "процес %d отримав в режимі %s блокування %s після %ld.%03d мс" -#: storage/lmgr/proc.c:1528 +#: storage/lmgr/proc.c:1589 #, c-format msgid "process %d failed to acquire %s on %s after %ld.%03d ms" msgstr "процес %d не зміг отримати в режимі %s блокування %s після %ld.%03d мс" @@ -22011,67 +22766,202 @@ msgstr "пошкоджена довжина елементу: загальний msgid "corrupted line pointer: offset = %u, size = %u" msgstr "пошкоджений вказівник рядка: зсув = %u, розмір = %u" -#: storage/smgr/md.c:487 storage/smgr/md.c:549 +#: storage/smgr/md.c:485 storage/smgr/md.c:547 #, c-format msgid "cannot extend file \"%s\" beyond %u blocks" msgstr "не можна розширити файл \"%s\" до блоку %u" -#: storage/smgr/md.c:502 storage/smgr/md.c:613 +#: storage/smgr/md.c:500 storage/smgr/md.c:611 #, c-format msgid "could not extend file \"%s\": %m" msgstr "не вдалося розширити файл \"%s\": %m" -#: storage/smgr/md.c:508 +#: storage/smgr/md.c:506 #, c-format msgid "could not extend file \"%s\": wrote only %d of %d bytes at block %u" msgstr "не вдалося розширити файл \"%s\" записано лише %d з %d байт в блоку %u" -#: storage/smgr/md.c:591 +#: storage/smgr/md.c:589 #, c-format msgid "could not extend file \"%s\" with FileFallocate(): %m" msgstr "не вдалося розширити файл \"%s\" за допомогою FileFallocate(): %m" -#: storage/smgr/md.c:782 +#: storage/smgr/md.c:869 +#, c-format +msgid "could not read blocks %u..%u in file \"%s\": %m" +msgstr "не вдалося прочитати блоки %u..%u у файлі \"%s\": %m" + +#: storage/smgr/md.c:895 +#, 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 +#, c-format +msgid "could not write blocks %u..%u in file \"%s\": %m" +msgstr "не вдалося записати блоки %u..%u у файл \"%s\": %m" + +#: storage/smgr/md.c:1163 +#, 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:1218 +#, c-format +msgid "could not truncate file \"%s\" to %u blocks: %m" +msgstr "не вдалося скоротити файл \"%s\" до %u блоків: %m" + +#: storage/smgr/md.c:1688 +#, c-format +msgid "could not open file \"%s\" (target block %u): previous segment is only %u blocks" +msgstr "не вдалося відкрити файл \"%s\" (цільовий блок %u): попередній сегмент має лише %u блоків" + +#: storage/smgr/md.c:1702 +#, c-format +msgid "could not open file \"%s\" (target block %u): %m" +msgstr "не вдалося відкрити файл \"%s\" (цільовий блок %u): %m" + +#: tcop/backend_startup.c:85 +#, c-format +msgid "SSL configuration could not be loaded in child process" +msgstr "Не вдалося завантажити конфігурацію SSL в дочірній процес" + +#: tcop/backend_startup.c:208 +#, c-format +msgid "connection received: host=%s port=%s" +msgstr "з'єднання отримано: хост=%s порт=%s" + +#: tcop/backend_startup.c:213 +#, c-format +msgid "connection received: host=%s" +msgstr "з'єднання отримано: хост=%s" + +#: tcop/backend_startup.c:277 +#, c-format +msgid "the database system is starting up" +msgstr "система бази даних запускається" + +#: tcop/backend_startup.c:283 #, c-format -msgid "could not read block %u in file \"%s\": %m" -msgstr "не вдалося прочитати блок %u в файлі \"%s\": %m" +msgid "the database system is not yet accepting connections" +msgstr "система бази даних ще не приймає підключення" + +#: tcop/backend_startup.c:284 +#, c-format +msgid "Consistent recovery state has not been yet reached." +msgstr "Узгодженого стану відновлення ще не досягнуто." + +#: tcop/backend_startup.c:288 +#, c-format +msgid "the database system is not accepting connections" +msgstr "система бази даних не приймає підключення" + +#: tcop/backend_startup.c:289 +#, c-format +msgid "Hot standby mode is disabled." +msgstr "Режим Hot standby вимкнений." + +#: tcop/backend_startup.c:294 +#, c-format +msgid "the database system is shutting down" +msgstr "система бази даних завершує роботу" + +#: tcop/backend_startup.c:299 +#, c-format +msgid "the database system is in recovery mode" +msgstr "система бази даних у режимі відновлення" + +#: tcop/backend_startup.c:414 +#, c-format +msgid "received direct SSL connection request without ALPN protocol negotiation extension" +msgstr "" + +#: tcop/backend_startup.c:420 +#, c-format +msgid "direct SSL connection accepted" +msgstr "" + +#: tcop/backend_startup.c:430 +#, c-format +msgid "direct SSL connection rejected" +msgstr "" + +#: tcop/backend_startup.c:489 tcop/backend_startup.c:517 +#, c-format +msgid "incomplete startup packet" +msgstr "неповний стартовий пакет" + +#: tcop/backend_startup.c:501 tcop/backend_startup.c:538 +#, c-format +msgid "invalid length of startup packet" +msgstr "неприпустима довжина стартового пакету" + +#: tcop/backend_startup.c:573 +#, c-format +msgid "SSLRequest accepted" +msgstr "" + +#: tcop/backend_startup.c:576 +#, c-format +msgid "SSLRequest rejected" +msgstr "" + +#: tcop/backend_startup.c:585 +#, c-format +msgid "failed to send SSL negotiation response: %m" +msgstr "помилка надсилання протоколу SSL в процесі відповіді зв'язування: %m" + +#: tcop/backend_startup.c:603 +#, c-format +msgid "received unencrypted data after SSL request" +msgstr "отримані незашифровані дані після запиту SSL" + +#: tcop/backend_startup.c:604 tcop/backend_startup.c:658 +#, c-format +msgid "This could be either a client-software bug or evidence of an attempted man-in-the-middle attack." +msgstr "Це може бути або помилкою клієнтського програмного забезпечення, або доказом спроби техносферної атаки." + +#: tcop/backend_startup.c:627 +#, c-format +msgid "GSSENCRequest accepted" +msgstr "" -#: storage/smgr/md.c:798 +#: tcop/backend_startup.c:630 #, c-format -msgid "could not read block %u in file \"%s\": read only %d of %d bytes" -msgstr "не вдалося прочитати блок %u в файлі \"%s\": прочитано лише %d з %d байт" +msgid "GSSENCRequest rejected" +msgstr "" -#: storage/smgr/md.c:856 +#: tcop/backend_startup.c:639 #, c-format -msgid "could not write block %u in file \"%s\": %m" -msgstr "не вдалося записати блок %u у файл \"%s\": %m" +msgid "failed to send GSSAPI negotiation response: %m" +msgstr "помилка надсилання GSSAPI в процесі відповіді зв'язування: %m" -#: storage/smgr/md.c:861 +#: tcop/backend_startup.c:657 #, c-format -msgid "could not write block %u in file \"%s\": wrote only %d of %d bytes" -msgstr "не вдалося записати блок %u в файл \"%s\": записано лише %d з %d байт" +msgid "received unencrypted data after GSSAPI encryption request" +msgstr "отримані незашифровані дані після запиту шифрування GSSAPI" -#: storage/smgr/md.c:1012 +#: tcop/backend_startup.c:681 #, c-format -msgid "could not truncate file \"%s\" to %u blocks: it's only %u blocks now" -msgstr "не вдалося скоротити файл \"%s\" до %u блоків: лише %u блоків зараз" +msgid "unsupported frontend protocol %u.%u: server supports %u.0 to %u.%u" +msgstr "протокол інтерфейсу, що не підтримується, %u.%u: сервер підтримує %u.0 до %u.%u" -#: storage/smgr/md.c:1067 +#: tcop/backend_startup.c:744 #, c-format -msgid "could not truncate file \"%s\" to %u blocks: %m" -msgstr "не вдалося скоротити файл \"%s\" до %u блоків: %m" +msgid "Valid values are: \"false\", 0, \"true\", 1, \"database\"." +msgstr "Дійсні значення: \"false\", 0, \"true\", 1, \"database\"." -#: storage/smgr/md.c:1494 +#: tcop/backend_startup.c:785 #, c-format -msgid "could not open file \"%s\" (target block %u): previous segment is only %u blocks" -msgstr "не вдалося відкрити файл \"%s\" (цільовий блок %u): попередній сегмент має лише %u блоків" +msgid "invalid startup packet layout: expected terminator as last byte" +msgstr "неприпустима структура стартового пакету: останнім байтом очікувався термінатор" -#: storage/smgr/md.c:1508 +#: tcop/backend_startup.c:802 #, c-format -msgid "could not open file \"%s\" (target block %u): %m" -msgstr "не вдалося відкрити файл \"%s\" (цільовий блок %u): %m" +msgid "no PostgreSQL user name specified in startup packet" +msgstr "не вказано жодного ім'я користувача PostgreSQL у стартовому пакеті" -#: tcop/fastpath.c:142 utils/fmgr/fmgr.c:2132 +#: tcop/fastpath.c:142 utils/fmgr/fmgr.c:2161 #, c-format msgid "function with OID %u does not exist" msgstr "функція з OID %u не існує" @@ -22086,8 +22976,8 @@ msgstr "неможливо викликати функцію \"%s\" через msgid "fastpath function call: \"%s\" (OID %u)" msgstr "виклик функції fastpath: \"%s\" (OID %u)" -#: tcop/fastpath.c:313 tcop/postgres.c:1365 tcop/postgres.c:1601 -#: tcop/postgres.c:2059 tcop/postgres.c:2309 +#: tcop/fastpath.c:313 tcop/postgres.c:1369 tcop/postgres.c:1605 +#: tcop/postgres.c:2071 tcop/postgres.c:2333 #, c-format msgid "duration: %s ms" msgstr "тривалість: %s мс" @@ -22117,315 +23007,320 @@ msgstr "неприпустимий розмір аргументу %d в пов msgid "incorrect binary data format in function argument %d" msgstr "неправильний формат двійкових даних в аргументі функції %d" -#: tcop/postgres.c:463 tcop/postgres.c:4882 +#: tcop/postgres.c:467 tcop/postgres.c:5012 #, c-format msgid "invalid frontend message type %d" msgstr "неприпустимий тип клієнтського повідомлення %d" -#: tcop/postgres.c:1072 +#: tcop/postgres.c:1076 #, c-format msgid "statement: %s" msgstr "оператор: %s" -#: tcop/postgres.c:1370 +#: tcop/postgres.c:1374 #, c-format msgid "duration: %s ms statement: %s" msgstr "тривалість: %s мс, оператор: %s" -#: tcop/postgres.c:1476 +#: tcop/postgres.c:1480 #, c-format msgid "cannot insert multiple commands into a prepared statement" msgstr "до підтготовленого оператору не можна вставити декілька команд" -#: tcop/postgres.c:1606 +#: tcop/postgres.c:1610 #, c-format msgid "duration: %s ms parse %s: %s" msgstr "тривалість: %s мс, аналізування %s: %s" -#: tcop/postgres.c:1672 tcop/postgres.c:2629 +#: tcop/postgres.c:1677 tcop/postgres.c:2653 #, c-format msgid "unnamed prepared statement does not exist" msgstr "підготовлений оператор без імені не існує" -#: tcop/postgres.c:1713 +#: tcop/postgres.c:1729 #, c-format msgid "bind message has %d parameter formats but %d parameters" msgstr "повідомлення bind має %d форматів, але %d параметрів" -#: tcop/postgres.c:1719 +#: tcop/postgres.c:1735 #, c-format msgid "bind message supplies %d parameters, but prepared statement \"%s\" requires %d" msgstr "в повідомленні bind передано %d параметрів, але підготовлений оператор \"%s\" потребує %d" -#: tcop/postgres.c:1937 +#: tcop/postgres.c:1949 #, c-format msgid "incorrect binary data format in bind parameter %d" msgstr "невірний формат двійкових даних в параметрі bind %d" -#: tcop/postgres.c:2064 +#: tcop/postgres.c:2076 #, c-format msgid "duration: %s ms bind %s%s%s: %s" msgstr "тривалість: %s мс, повідомлення bind %s%s%s: %s" -#: tcop/postgres.c:2118 tcop/postgres.c:2712 +#: tcop/postgres.c:2131 tcop/postgres.c:2735 #, c-format msgid "portal \"%s\" does not exist" msgstr "портал \"%s\" не існує" -#: tcop/postgres.c:2189 +#: tcop/postgres.c:2213 #, c-format msgid "%s %s%s%s: %s" msgstr "%s %s%s%s: %s" -#: tcop/postgres.c:2191 tcop/postgres.c:2317 +#: tcop/postgres.c:2215 tcop/postgres.c:2341 msgid "execute fetch from" msgstr "виконати витягнення з" -#: tcop/postgres.c:2192 tcop/postgres.c:2318 +#: tcop/postgres.c:2216 tcop/postgres.c:2342 msgid "execute" msgstr "виконувати" -#: tcop/postgres.c:2314 +#: tcop/postgres.c:2338 #, c-format msgid "duration: %s ms %s %s%s%s: %s" msgstr "тривалість: %s мс %s %s%s%s: %s" -#: tcop/postgres.c:2462 +#: tcop/postgres.c:2486 #, c-format msgid "prepare: %s" msgstr "підготовка: %s" -#: tcop/postgres.c:2487 +#: tcop/postgres.c:2511 #, c-format -msgid "parameters: %s" -msgstr "параметри: %s" +msgid "Parameters: %s" +msgstr "Параметри: %s" -#: tcop/postgres.c:2502 +#: tcop/postgres.c:2526 #, c-format -msgid "abort reason: recovery conflict" -msgstr "причина переривання: конфлікт під час відновлення" +msgid "Abort reason: recovery conflict" +msgstr "Причина переривання: конфлікт відновлення" -#: tcop/postgres.c:2518 +#: tcop/postgres.c:2542 #, c-format msgid "User was holding shared buffer pin for too long." msgstr "Користувач утримував позначку спільного буферу занадто довго." -#: tcop/postgres.c:2521 +#: tcop/postgres.c:2545 #, c-format msgid "User was holding a relation lock for too long." msgstr "Користувач утримував блокування відношення занадто довго." -#: tcop/postgres.c:2524 +#: tcop/postgres.c:2548 #, c-format msgid "User was or might have been using tablespace that must be dropped." msgstr "Користувач використовував табличний простір який повинен бути видаленим." -#: tcop/postgres.c:2527 +#: tcop/postgres.c:2551 #, c-format msgid "User query might have needed to see row versions that must be removed." msgstr "Запиту користувача потрібно було бачити версії рядків, які повинні бути видалені." -#: tcop/postgres.c:2530 +#: tcop/postgres.c:2554 #, c-format msgid "User was using a logical replication slot that must be invalidated." msgstr "Користувач використовував логічний слот реплікації, який повинен бути анульований." -#: tcop/postgres.c:2536 +#: tcop/postgres.c:2560 #, c-format msgid "User was connected to a database that must be dropped." msgstr "Користувач був підключен до бази даних, яка повинна бути видалена." -#: tcop/postgres.c:2575 +#: tcop/postgres.c:2599 #, c-format msgid "portal \"%s\" parameter $%d = %s" msgstr "параметр порталу \"%s\": $%d = %s" -#: tcop/postgres.c:2578 +#: tcop/postgres.c:2602 #, c-format msgid "portal \"%s\" parameter $%d" msgstr "параметр порталу \"%s\": $%d" -#: tcop/postgres.c:2584 +#: tcop/postgres.c:2608 #, c-format msgid "unnamed portal parameter $%d = %s" msgstr "параметр порталу без назви $%d = %s" -#: tcop/postgres.c:2587 +#: tcop/postgres.c:2611 #, c-format msgid "unnamed portal parameter $%d" msgstr "параметр порталу без назви $%d" -#: tcop/postgres.c:2932 +#: tcop/postgres.c:2955 #, c-format msgid "terminating connection because of unexpected SIGQUIT signal" msgstr "завершення підключення через неочікуваний сигнал SIGQUIT" -#: tcop/postgres.c:2938 +#: tcop/postgres.c:2961 #, c-format msgid "terminating connection because of crash of another server process" msgstr "завершення підключення через аварійне завершення роботи іншого серверного процесу" -#: tcop/postgres.c:2939 +#: tcop/postgres.c:2962 #, c-format msgid "The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory." msgstr "Керуючий процес віддав команду цьому серверному процесу відкотити поточну транзакцію і завершитися, тому, що інший серверний процес завершився неправильно і можливо пошкодив спільну пам'ять." -#: tcop/postgres.c:2943 tcop/postgres.c:3310 +#: tcop/postgres.c:2966 tcop/postgres.c:3219 #, c-format msgid "In a moment you should be able to reconnect to the database and repeat your command." msgstr "В цей момент ви можете повторно підключитися до бази даних і повторити вашу команду." -#: tcop/postgres.c:2950 +#: tcop/postgres.c:2973 #, c-format msgid "terminating connection due to immediate shutdown command" msgstr "завершення підключення через команду негайного завершення роботи" -#: tcop/postgres.c:3036 +#: tcop/postgres.c:3051 #, c-format msgid "floating-point exception" msgstr "виняток в операції з рухомою комою" -#: tcop/postgres.c:3037 +#: tcop/postgres.c:3052 #, c-format msgid "An invalid floating-point operation was signaled. This probably means an out-of-range result or an invalid operation, such as division by zero." msgstr "Надійшло повідомлення про неприпустиму операцію з рухомою комою. Можливо, це значить, що результат виявився за діапазоном або виникла неприпустима операція, така як ділення на нуль." -#: tcop/postgres.c:3214 +#: tcop/postgres.c:3217 +#, c-format +msgid "terminating connection due to conflict with recovery" +msgstr "завершення підключення через конфлікт з процесом відновлення" + +#: tcop/postgres.c:3289 #, c-format msgid "canceling authentication due to timeout" msgstr "скасування автентифікації через тайм-аут" -#: tcop/postgres.c:3218 +#: tcop/postgres.c:3293 #, c-format msgid "terminating autovacuum process due to administrator command" msgstr "завершення процесу автоочистки по команді адміністратора" -#: tcop/postgres.c:3222 +#: tcop/postgres.c:3297 #, c-format msgid "terminating logical replication worker due to administrator command" msgstr "завершення обробника логічної реплікації по команді адміністратора" -#: tcop/postgres.c:3239 tcop/postgres.c:3249 tcop/postgres.c:3308 -#, c-format -msgid "terminating connection due to conflict with recovery" -msgstr "завершення підключення через конфлікт з процесом відновлення" - -#: tcop/postgres.c:3260 +#: tcop/postgres.c:3317 #, c-format msgid "terminating connection due to administrator command" msgstr "завершення підключення по команді адміністратора" -#: tcop/postgres.c:3291 +#: tcop/postgres.c:3348 #, c-format msgid "connection to client lost" msgstr "підключення до клієнта втрачено" -#: tcop/postgres.c:3361 +#: tcop/postgres.c:3400 #, c-format msgid "canceling statement due to lock timeout" msgstr "виконання оператора скасовано через тайм-аут блокування" -#: tcop/postgres.c:3368 +#: tcop/postgres.c:3407 #, c-format msgid "canceling statement due to statement timeout" msgstr "виконання оператора скасовано через тайм-аут" -#: tcop/postgres.c:3375 +#: tcop/postgres.c:3414 #, c-format msgid "canceling autovacuum task" msgstr "скасування завдання автоочистки" -#: tcop/postgres.c:3398 +#: tcop/postgres.c:3427 #, c-format msgid "canceling statement due to user request" msgstr "виконання оператора скасовано по запиту користувача" -#: tcop/postgres.c:3412 +#: tcop/postgres.c:3448 #, c-format msgid "terminating connection due to idle-in-transaction timeout" msgstr "завершення підключення через тайм-аут бездіяльності в транзакції" -#: tcop/postgres.c:3423 +#: tcop/postgres.c:3461 +#, c-format +msgid "terminating connection due to transaction timeout" +msgstr "переривання з'єднання через тайм-аут транзакції" + +#: tcop/postgres.c:3474 #, c-format msgid "terminating connection due to idle-session timeout" msgstr "завершення підключення через тайм-аут неактивного сеансу" -#: tcop/postgres.c:3514 +#: tcop/postgres.c:3564 #, c-format msgid "stack depth limit exceeded" msgstr "перевищено ліміт глибини стека" -#: tcop/postgres.c:3515 +#: tcop/postgres.c:3565 #, c-format msgid "Increase the configuration parameter \"max_stack_depth\" (currently %dkB), after ensuring the platform's stack depth limit is adequate." msgstr "Збільште параметр конфігурації \"max_stack_depth\" (поточне значення %d КБ), попередньо переконавшись, що ОС надає достатній розмір стеку." -#: tcop/postgres.c:3562 +#: tcop/postgres.c:3612 #, c-format msgid "\"max_stack_depth\" must not exceed %ldkB." msgstr "Значення \"max_stack_depth\" не повинно перевищувати %ld КБ." -#: tcop/postgres.c:3564 +#: tcop/postgres.c:3614 #, c-format msgid "Increase the platform's stack depth limit via \"ulimit -s\" or local equivalent." msgstr "Збільшіть ліміт глибини стека в системі через команду \"ulimit -s\" або через локальний еквівалент." -#: tcop/postgres.c:3587 +#: tcop/postgres.c:3637 #, c-format -msgid "client_connection_check_interval must be set to 0 on this platform." -msgstr "client_connection_check_interval має бути встановлений в 0 на цій платформі." +msgid "\"client_connection_check_interval\" must be set to 0 on this platform." +msgstr "" -#: tcop/postgres.c:3608 +#: tcop/postgres.c:3658 #, c-format msgid "Cannot enable parameter when \"log_statement_stats\" is true." msgstr "Не можна ввімкнути параметр, коли \"log_statement_stats\" дорівнює true." -#: tcop/postgres.c:3623 +#: tcop/postgres.c:3673 #, c-format msgid "Cannot enable \"log_statement_stats\" when \"log_parser_stats\", \"log_planner_stats\", or \"log_executor_stats\" is true." msgstr "Не можна ввімкнути \"log_statement_stats\", коли \"log_parser_stats\", \"log_planner_stats\", або \"log_executor_stats\" дорівнюють true." -#: tcop/postgres.c:3971 +#: tcop/postgres.c:4098 #, c-format msgid "invalid command-line argument for server process: %s" msgstr "неприпустимий аргумент командного рядка для серверного процесу: %s" -#: tcop/postgres.c:3972 tcop/postgres.c:3978 +#: tcop/postgres.c:4099 tcop/postgres.c:4105 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Спробуйте \"%s --help\" для додаткової інформації." -#: tcop/postgres.c:3976 +#: tcop/postgres.c:4103 #, c-format msgid "%s: invalid command-line argument: %s" msgstr "%s: неприпустимий аргумент командного рядка: %s" -#: tcop/postgres.c:4029 +#: tcop/postgres.c:4156 #, c-format msgid "%s: no database nor user name specified" msgstr "%s: ні база даних, ні ім'я користувача не вказані" -#: tcop/postgres.c:4779 +#: tcop/postgres.c:4909 #, c-format msgid "invalid CLOSE message subtype %d" msgstr "неприпустимий підтип повідомлення CLOSE %d" -#: tcop/postgres.c:4816 +#: tcop/postgres.c:4946 #, c-format msgid "invalid DESCRIBE message subtype %d" msgstr "неприпустимий підтип повідомлення DESCRIBE %d" -#: tcop/postgres.c:4903 +#: tcop/postgres.c:5033 #, c-format msgid "fastpath function calls not supported in a replication connection" msgstr "виклики функції fastpath не підтримуються в підключенні реплікації" -#: tcop/postgres.c:4907 +#: tcop/postgres.c:5037 #, c-format msgid "extended query protocol not supported in a replication connection" msgstr "протокол розширених запитів не підтримується в підключенні реплікації" -#: tcop/postgres.c:5087 +#: tcop/postgres.c:5217 #, c-format msgid "disconnection: session time: %d:%02d:%02d.%03d user=%s database=%s host=%s%s%s" msgstr "відключення: час сеансу: %d:%02d:%02d.%03d користувач = %s база даних = %s хост = %s%s%s" @@ -22446,42 +23341,42 @@ msgid "Declare it with SCROLL option to enable backward scan." msgstr "Оголосити з параметром SCROLL, щоб активувати зворотню розгортку." #. translator: %s is name of a SQL command, eg CREATE -#: tcop/utility.c:417 +#: tcop/utility.c:410 #, c-format msgid "cannot execute %s in a read-only transaction" msgstr "не можна виконати %s в транзакції \"лише для читання\"" #. translator: %s is name of a SQL command, eg CREATE -#: tcop/utility.c:435 +#: tcop/utility.c:428 #, c-format msgid "cannot execute %s during a parallel operation" msgstr "не можна виконати %s під час паралельних операцій" #. translator: %s is name of a SQL command, eg CREATE -#: tcop/utility.c:454 +#: tcop/utility.c:447 #, c-format msgid "cannot execute %s during recovery" msgstr "не можна виконати %s під час відновлення" #. translator: %s is name of a SQL command, eg PREPARE -#: tcop/utility.c:472 +#: tcop/utility.c:465 #, c-format msgid "cannot execute %s within security-restricted operation" msgstr "не можна виконати %s в межах операції з обмеженнями безпеки" #. translator: %s is name of a SQL command, eg LISTEN -#: tcop/utility.c:828 +#: tcop/utility.c:821 #, c-format msgid "cannot execute %s within a background process" msgstr "не можна виконати %s у фоновому процесі" #. translator: %s is name of a SQL command, eg CHECKPOINT -#: tcop/utility.c:954 +#: tcop/utility.c:947 #, c-format msgid "permission denied to execute %s command" msgstr "немає дозволу для виконання команди %s" -#: tcop/utility.c:956 +#: tcop/utility.c:949 #, c-format msgid "Only roles with privileges of the \"%s\" role may execute this command." msgstr "Цю команду можуть виконувати лише ролі з привілеями ролі \"%s\"." @@ -22632,13 +23527,13 @@ msgstr "неприпустима позначка affix \"%s\" зі значен msgid "could not open dictionary file \"%s\": %m" msgstr "не вдалося відкрити файл словника \"%s\": %m" -#: tsearch/spell.c:749 utils/adt/regexp.c:224 jsonpath_gram.y:559 +#: tsearch/spell.c:749 utils/adt/regexp.c:223 jsonpath_gram.y:629 #, c-format msgid "invalid regular expression: %s" msgstr "неприпустимий регулярний вираз: %s" #: tsearch/spell.c:963 tsearch/spell.c:980 tsearch/spell.c:997 -#: tsearch/spell.c:1014 tsearch/spell.c:1079 gram.y:18123 gram.y:18140 +#: tsearch/spell.c:1014 tsearch/spell.c:1079 gram.y:18735 gram.y:18752 #, c-format msgid "syntax error" msgstr "синтаксична помилка" @@ -22674,17 +23569,17 @@ msgstr "кількість псевдонімів перевищує вказа msgid "affix file contains both old-style and new-style commands" msgstr "файл affix містить команди і в старому, і в новому стилі" -#: tsearch/to_tsany.c:195 utils/adt/tsvector.c:278 utils/adt/tsvector_op.c:1128 +#: tsearch/to_tsany.c:194 utils/adt/tsvector.c:277 utils/adt/tsvector_op.c:1126 #, c-format msgid "string is too long for tsvector (%d bytes, max %d bytes)" msgstr "рядок занадто довгий для tsvector (%d байт, максимум %d байт)" -#: tsearch/ts_locale.c:238 +#: tsearch/ts_locale.c:236 #, c-format msgid "line %d of configuration file \"%s\": \"%s\"" msgstr "рядок %d файлу конфігурації \"%s\": \"%s\"" -#: tsearch/ts_locale.c:317 +#: tsearch/ts_locale.c:315 #, c-format msgid "conversion from wchar_t to server encoding failed: %m" msgstr "перетворити wchar_t в кодування серверу не вдалося: %mв" @@ -22711,72 +23606,72 @@ msgstr "неприпустиме ім'я файлу конфігурації т msgid "could not open stop-word file \"%s\": %m" msgstr "не вдалося відкрити файл стоп-слова \"%s\": %m" -#: tsearch/wparser.c:308 tsearch/wparser.c:396 tsearch/wparser.c:473 +#: tsearch/wparser.c:306 tsearch/wparser.c:394 tsearch/wparser.c:471 #, c-format msgid "text search parser does not support headline creation" msgstr "аналізатор текстового пошуку не підтримує створення заголовку" -#: tsearch/wparser_def.c:2663 +#: tsearch/wparser_def.c:2664 #, c-format msgid "unrecognized headline parameter: \"%s\"" msgstr "нерозпізнаний параметр заголовку: \"%s\"" -#: tsearch/wparser_def.c:2673 +#: tsearch/wparser_def.c:2674 #, c-format msgid "MinWords should be less than MaxWords" msgstr "Значення MinWords повинно бути меньшим за MaxWords" -#: tsearch/wparser_def.c:2677 +#: tsearch/wparser_def.c:2678 #, c-format msgid "MinWords should be positive" msgstr "Значення MinWords повинно бути позитивним" -#: tsearch/wparser_def.c:2681 +#: tsearch/wparser_def.c:2682 #, c-format msgid "ShortWord should be >= 0" msgstr "Значення ShortWord повинно бути >= 0" -#: tsearch/wparser_def.c:2685 +#: tsearch/wparser_def.c:2686 #, c-format msgid "MaxFragments should be >= 0" msgstr "Значення MaxFragments повинно бути >= 0" -#: utils/activity/pgstat.c:438 +#: utils/activity/pgstat.c:435 #, c-format msgid "could not unlink permanent statistics file \"%s\": %m" msgstr "не вдалося від'єднати файл постійної статистики \"%s\": %m" -#: utils/activity/pgstat.c:1255 +#: utils/activity/pgstat.c:1252 #, c-format msgid "invalid statistics kind: \"%s\"" msgstr "неприпустимий тип статистики: \"%s\"" -#: utils/activity/pgstat.c:1335 +#: utils/activity/pgstat.c:1332 #, c-format msgid "could not open temporary statistics file \"%s\": %m" msgstr "не вдалося відкрити тимчасовий файл статистики \"%s\": %m" -#: utils/activity/pgstat.c:1447 +#: utils/activity/pgstat.c:1444 #, c-format msgid "could not write temporary statistics file \"%s\": %m" msgstr "не вдалося записати в тимчасовий файл статистики \"%s\": %m" -#: utils/activity/pgstat.c:1456 +#: utils/activity/pgstat.c:1453 #, c-format msgid "could not close temporary statistics file \"%s\": %m" msgstr "не вдалося закрити тимчасовий файл статистики \"%s\": %m" -#: utils/activity/pgstat.c:1464 +#: utils/activity/pgstat.c:1461 #, c-format msgid "could not rename temporary statistics file \"%s\" to \"%s\": %m" msgstr "не вдалося перейменувати тимчасовий файл статистики з \"%s\" в \"%s\": %m" -#: utils/activity/pgstat.c:1513 +#: utils/activity/pgstat.c:1510 #, c-format msgid "could not open statistics file \"%s\": %m" msgstr "не вдалося відкрити файл статистики \"%s\": %m" -#: utils/activity/pgstat.c:1675 +#: utils/activity/pgstat.c:1672 #, c-format msgid "corrupted statistics file \"%s\"" msgstr "пошкоджений файл статистики \"%s\"" @@ -22786,115 +23681,125 @@ msgstr "пошкоджений файл статистики \"%s\"" msgid "function call to dropped function" msgstr "виклик видаленої функції" -#: utils/activity/pgstat_xact.c:363 +#: utils/activity/pgstat_xact.c:362 #, c-format msgid "resetting existing statistics for kind %s, db=%u, oid=%u" msgstr "скидання існуючої статистики для типу %s, db=%u, oid=%u" -#: utils/adt/acl.c:177 utils/adt/name.c:93 +#: utils/activity/wait_event.c:207 utils/activity/wait_event.c:232 +#, c-format +msgid "wait event \"%s\" already exists in type \"%s\"" +msgstr "" + +#: utils/activity/wait_event.c:246 +#, c-format +msgid "too many custom wait events" +msgstr "" + +#: utils/adt/acl.c:183 utils/adt/name.c:93 #, c-format msgid "identifier too long" msgstr "занадто довгий ідентифікатор" -#: utils/adt/acl.c:178 utils/adt/name.c:94 +#: utils/adt/acl.c:184 utils/adt/name.c:94 #, c-format msgid "Identifier must be less than %d characters." msgstr "Ідентифікатор повинен бути короче ніж %d символів." -#: utils/adt/acl.c:266 +#: utils/adt/acl.c:272 #, c-format msgid "unrecognized key word: \"%s\"" msgstr "нерозпізнане ключове слово: \"%s\"" -#: utils/adt/acl.c:267 +#: utils/adt/acl.c:273 #, c-format msgid "ACL key word must be \"group\" or \"user\"." msgstr "Ключовим словом ACL повинно бути \"group\" або \"user\"." -#: utils/adt/acl.c:275 +#: utils/adt/acl.c:281 #, c-format msgid "missing name" msgstr "пропущено ім'я" -#: utils/adt/acl.c:276 +#: utils/adt/acl.c:282 #, c-format msgid "A name must follow the \"group\" or \"user\" key word." msgstr "За ключовими словами \"group\" або \"user\" повинно йти ім'я." -#: utils/adt/acl.c:282 +#: utils/adt/acl.c:288 #, c-format msgid "missing \"=\" sign" msgstr "пропущено знак \"=\"" -#: utils/adt/acl.c:341 +#: utils/adt/acl.c:350 #, c-format msgid "invalid mode character: must be one of \"%s\"" msgstr "неприпустимий символ режиму: повинен бути один з \"%s\"" -#: utils/adt/acl.c:371 +#: utils/adt/acl.c:380 #, c-format msgid "a name must follow the \"/\" sign" msgstr "за знаком \"/\" повинно прямувати ім'я" -#: utils/adt/acl.c:383 +#: utils/adt/acl.c:392 #, c-format msgid "defaulting grantor to user ID %u" msgstr "призначив права користувач з ідентифікатором %u" -#: utils/adt/acl.c:569 +#: utils/adt/acl.c:578 #, c-format msgid "ACL array contains wrong data type" msgstr "Масив ACL містить неправильний тип даних" -#: utils/adt/acl.c:573 +#: utils/adt/acl.c:582 #, c-format msgid "ACL arrays must be one-dimensional" msgstr "Масиви ACL повинні бути одновимірними" -#: utils/adt/acl.c:577 +#: utils/adt/acl.c:586 #, c-format msgid "ACL arrays must not contain null values" msgstr "Масиви ACL не повинні містити значення null" -#: utils/adt/acl.c:606 +#: utils/adt/acl.c:615 #, c-format msgid "extra garbage at the end of the ACL specification" msgstr "зайве сміття в кінці специфікації ACL" -#: utils/adt/acl.c:1248 +#: utils/adt/acl.c:1263 #, c-format msgid "grant options cannot be granted back to your own grantor" msgstr "параметри призначення прав не можна повернути тому, хто призначив їх вам" -#: utils/adt/acl.c:1564 +#: utils/adt/acl.c:1579 #, c-format msgid "aclinsert is no longer supported" msgstr "aclinsert більше не підтримується" -#: utils/adt/acl.c:1574 +#: utils/adt/acl.c:1589 #, c-format msgid "aclremove is no longer supported" msgstr "aclremove більше не підтримується" -#: utils/adt/acl.c:1693 +#: utils/adt/acl.c:1709 #, c-format msgid "unrecognized privilege type: \"%s\"" msgstr "нерозпізнаний тип прав: \"%s\"" -#: utils/adt/acl.c:3476 utils/adt/regproc.c:100 utils/adt/regproc.c:265 +#: utils/adt/acl.c:3550 utils/adt/regproc.c:100 utils/adt/regproc.c:265 #, c-format msgid "function \"%s\" does not exist" msgstr "функція \"%s\" не існує" -#: utils/adt/acl.c:5023 +#: utils/adt/acl.c:5196 #, c-format msgid "must be able to SET ROLE \"%s\"" msgstr "потрібно мати можливість SET ROLE \"%s\"" #: utils/adt/array_userfuncs.c:102 utils/adt/array_userfuncs.c:489 -#: utils/adt/array_userfuncs.c:878 utils/adt/json.c:694 utils/adt/json.c:831 -#: utils/adt/json.c:869 utils/adt/jsonb.c:1139 utils/adt/jsonb.c:1211 -#: utils/adt/jsonb.c:1629 utils/adt/jsonb.c:1817 utils/adt/jsonb.c:1827 +#: utils/adt/array_userfuncs.c:866 utils/adt/json.c:602 utils/adt/json.c:740 +#: utils/adt/json.c:790 utils/adt/jsonb.c:1025 utils/adt/jsonb.c:1098 +#: utils/adt/jsonb.c:1530 utils/adt/jsonb.c:1718 utils/adt/jsonb.c:1728 #, c-format msgid "could not determine input data type" msgstr "не вдалося визначити тип вхідних даних" @@ -22905,17 +23810,17 @@ msgid "input data type is not an array" msgstr "тип вхідних даних не є масивом" #: utils/adt/array_userfuncs.c:151 utils/adt/array_userfuncs.c:203 -#: utils/adt/float.c:1228 utils/adt/float.c:1302 utils/adt/float.c:4117 -#: utils/adt/float.c:4155 utils/adt/int.c:778 utils/adt/int.c:800 +#: utils/adt/float.c:1222 utils/adt/float.c:1296 utils/adt/float.c:4022 +#: utils/adt/float.c:4060 utils/adt/int.c:778 utils/adt/int.c:800 #: utils/adt/int.c:814 utils/adt/int.c:828 utils/adt/int.c:859 #: utils/adt/int.c:880 utils/adt/int.c:997 utils/adt/int.c:1011 #: 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:1257 utils/adt/numeric.c:1901 utils/adt/numeric.c:4388 -#: utils/adt/rangetypes.c:1481 utils/adt/rangetypes.c:1494 -#: utils/adt/varbit.c:1195 utils/adt/varbit.c:1596 utils/adt/varlena.c:1132 -#: utils/adt/varlena.c:3134 +#: utils/adt/int8.c:1256 utils/adt/numeric.c:1917 utils/adt/numeric.c:4454 +#: 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 #, c-format msgid "integer out of range" msgstr "ціле число поза діапазоном" @@ -22952,267 +23857,278 @@ msgstr "Масиви з різними вимірами елементів не msgid "Arrays with differing dimensions are not compatible for concatenation." msgstr "Масиви з різними вимірами не є сумісними для об'єднання." -#: utils/adt/array_userfuncs.c:987 utils/adt/array_userfuncs.c:995 -#: utils/adt/arrayfuncs.c:5639 utils/adt/arrayfuncs.c:5645 +#: utils/adt/array_userfuncs.c:975 utils/adt/array_userfuncs.c:983 +#: utils/adt/arrayfuncs.c:5616 utils/adt/arrayfuncs.c:5622 #, c-format msgid "cannot accumulate arrays of different dimensionality" msgstr "накопичувати масиви різної розмірності не можна" -#: utils/adt/array_userfuncs.c:1286 utils/adt/array_userfuncs.c:1440 +#: utils/adt/array_userfuncs.c:1272 utils/adt/array_userfuncs.c:1426 #, c-format msgid "searching for elements in multidimensional arrays is not supported" msgstr "пошук елементів у багатовимірних масивах не підтримується" -#: utils/adt/array_userfuncs.c:1315 +#: utils/adt/array_userfuncs.c:1301 #, c-format msgid "initial position must not be null" msgstr "початкова позиція не повинна бути null" -#: utils/adt/array_userfuncs.c:1688 +#: utils/adt/array_userfuncs.c:1674 #, c-format msgid "sample size must be between 0 and %d" msgstr "розмір вибірки повинен бути між 0 і %d" -#: utils/adt/arrayfuncs.c:274 utils/adt/arrayfuncs.c:288 -#: utils/adt/arrayfuncs.c:299 utils/adt/arrayfuncs.c:321 -#: utils/adt/arrayfuncs.c:338 utils/adt/arrayfuncs.c:352 -#: utils/adt/arrayfuncs.c:360 utils/adt/arrayfuncs.c:367 -#: utils/adt/arrayfuncs.c:507 utils/adt/arrayfuncs.c:522 -#: utils/adt/arrayfuncs.c:533 utils/adt/arrayfuncs.c:548 -#: utils/adt/arrayfuncs.c:569 utils/adt/arrayfuncs.c:599 -#: utils/adt/arrayfuncs.c:606 utils/adt/arrayfuncs.c:614 -#: utils/adt/arrayfuncs.c:648 utils/adt/arrayfuncs.c:671 -#: utils/adt/arrayfuncs.c:691 utils/adt/arrayfuncs.c:808 -#: utils/adt/arrayfuncs.c:817 utils/adt/arrayfuncs.c:847 -#: utils/adt/arrayfuncs.c:862 utils/adt/arrayfuncs.c:915 +#: utils/adt/arrayfuncs.c:264 utils/adt/arrayfuncs.c:273 +#: utils/adt/arrayfuncs.c:284 utils/adt/arrayfuncs.c:307 +#: utils/adt/arrayfuncs.c:440 utils/adt/arrayfuncs.c:454 +#: utils/adt/arrayfuncs.c:466 utils/adt/arrayfuncs.c:636 +#: utils/adt/arrayfuncs.c:668 utils/adt/arrayfuncs.c:703 +#: utils/adt/arrayfuncs.c:718 utils/adt/arrayfuncs.c:777 +#: utils/adt/arrayfuncs.c:782 utils/adt/arrayfuncs.c:870 +#: utils/adt/arrayfuncs.c:897 utils/adt/arrayfuncs.c:904 +#: utils/adt/arrayfuncs.c:941 #, c-format msgid "malformed array literal: \"%s\"" msgstr "неправильний літерал масиву: \"%s\"" -#: utils/adt/arrayfuncs.c:275 -#, c-format -msgid "\"[\" must introduce explicitly-specified array dimensions." -msgstr "\"[\" повинно представляти явно вказані виміри масиву." - -#: utils/adt/arrayfuncs.c:289 +#: utils/adt/arrayfuncs.c:265 #, c-format -msgid "Missing array dimension value." -msgstr "Пропущено значення виміру масиву." +msgid "Array value must start with \"{\" or dimension information." +msgstr "Значення масиву повинно починатись з \"{\" або з інформації про вимір." -#: utils/adt/arrayfuncs.c:300 utils/adt/arrayfuncs.c:339 +#: utils/adt/arrayfuncs.c:274 utils/adt/arrayfuncs.c:467 #, c-format msgid "Missing \"%s\" after array dimensions." msgstr "Пропущено \"%s\" після вимірів масиву." -#: utils/adt/arrayfuncs.c:309 utils/adt/arrayfuncs.c:2969 -#: utils/adt/arrayfuncs.c:3014 utils/adt/arrayfuncs.c:3029 +#: utils/adt/arrayfuncs.c:285 #, c-format -msgid "upper bound cannot be less than lower bound" -msgstr "верхня границя не може бути меньше нижньої границі" +msgid "Array contents must start with \"{\"." +msgstr "Вміст масиву повинен починатись з \"{\"." -#: utils/adt/arrayfuncs.c:322 +#: utils/adt/arrayfuncs.c:308 utils/adt/multirangetypes.c:292 #, c-format -msgid "Array value must start with \"{\" or dimension information." -msgstr "Значення масиву повинно починатись з \"{\" або з інформації про вимір." +msgid "Junk after closing right brace." +msgstr "Сміття після закриття правої дужки." -#: utils/adt/arrayfuncs.c:353 +#: utils/adt/arrayfuncs.c:431 utils/adt/arrayfuncs.c:643 #, c-format -msgid "Array contents must start with \"{\"." -msgstr "Вміст масиву повинен починатись з \"{\"." +msgid "number of array dimensions exceeds the maximum allowed (%d)" +msgstr "кількість вимірів масиву перевищує максимально дозволену (%d)" -#: utils/adt/arrayfuncs.c:361 utils/adt/arrayfuncs.c:368 +#: utils/adt/arrayfuncs.c:441 #, c-format -msgid "Specified array dimensions do not match array contents." -msgstr "Вказані виміри масиву не відповідають його вмісту." +msgid "\"[\" must introduce explicitly-specified array dimensions." +msgstr "\"[\" повинно представляти явно вказані виміри масиву." -#: utils/adt/arrayfuncs.c:508 utils/adt/arrayfuncs.c:534 -#: utils/adt/multirangetypes.c:166 utils/adt/rangetypes.c:2405 -#: utils/adt/rangetypes.c:2413 utils/adt/rowtypes.c:219 -#: utils/adt/rowtypes.c:230 +#: utils/adt/arrayfuncs.c:455 #, c-format -msgid "Unexpected end of input." -msgstr "Неочікуваний кінец введення." +msgid "Missing array dimension value." +msgstr "Пропущено значення виміру масиву." -#: utils/adt/arrayfuncs.c:523 utils/adt/arrayfuncs.c:570 -#: utils/adt/arrayfuncs.c:600 utils/adt/arrayfuncs.c:649 +#: utils/adt/arrayfuncs.c:481 utils/adt/arrayfuncs.c:2940 +#: utils/adt/arrayfuncs.c:2985 utils/adt/arrayfuncs.c:3000 +#, c-format +msgid "upper bound cannot be less than lower bound" +msgstr "верхня границя не може бути меньше нижньої границі" + +#: utils/adt/arrayfuncs.c:487 +#, c-format +msgid "array upper bound is too large: %d" +msgstr "верхня межа масиву занадто велика: %d" + +#: utils/adt/arrayfuncs.c:538 +#, c-format +msgid "array bound is out of integer range" +msgstr "межа масиву знаходиться за межами цілочисельного діапазону" + +#: utils/adt/arrayfuncs.c:637 utils/adt/arrayfuncs.c:669 +#: utils/adt/arrayfuncs.c:704 utils/adt/arrayfuncs.c:898 #, c-format msgid "Unexpected \"%c\" character." msgstr "Неочікуваний символ \"%c\"." -#: utils/adt/arrayfuncs.c:549 utils/adt/arrayfuncs.c:672 +#: utils/adt/arrayfuncs.c:719 #, c-format msgid "Unexpected array element." msgstr "Неочікуваний елемент масиву." -#: utils/adt/arrayfuncs.c:607 +#: utils/adt/arrayfuncs.c:778 #, c-format -msgid "Unmatched \"%c\" character." -msgstr "Невідповідний символ \"%c\"." +msgid "Specified array dimensions do not match array contents." +msgstr "Вказані виміри масиву не відповідають його вмісту." -#: utils/adt/arrayfuncs.c:615 utils/adt/jsonfuncs.c:2553 +#: utils/adt/arrayfuncs.c:783 utils/adt/jsonfuncs.c:2598 #, c-format msgid "Multidimensional arrays must have sub-arrays with matching dimensions." msgstr "Багатовимірні масиви повинні мати вкладені масиви з відповідними вимірами." -#: utils/adt/arrayfuncs.c:692 utils/adt/multirangetypes.c:293 +#: utils/adt/arrayfuncs.c:871 utils/adt/arrayfuncs.c:905 #, c-format -msgid "Junk after closing right brace." -msgstr "Сміття після закриття правої дужки." +msgid "Incorrectly quoted array element." +msgstr "Неправильно процитовано елемент масиву." + +#: utils/adt/arrayfuncs.c:942 utils/adt/multirangetypes.c:165 +#: utils/adt/rangetypes.c:2464 utils/adt/rangetypes.c:2472 +#: utils/adt/rowtypes.c:218 utils/adt/rowtypes.c:229 +#, c-format +msgid "Unexpected end of input." +msgstr "Неочікуваний кінец введення." -#: utils/adt/arrayfuncs.c:1326 utils/adt/arrayfuncs.c:3528 -#: utils/adt/arrayfuncs.c:6129 +#: utils/adt/arrayfuncs.c:1301 utils/adt/arrayfuncs.c:3499 +#: utils/adt/arrayfuncs.c:6106 #, c-format msgid "invalid number of dimensions: %d" msgstr "неприпустима кількість вимірів: %d" -#: utils/adt/arrayfuncs.c:1337 +#: utils/adt/arrayfuncs.c:1312 #, c-format msgid "invalid array flags" msgstr "неприпустимі позначки масиву" -#: utils/adt/arrayfuncs.c:1359 +#: utils/adt/arrayfuncs.c:1334 #, c-format msgid "binary data has array element type %u (%s) instead of expected %u (%s)" msgstr "двійкові дані мають тип елементу масиву %u (%s) замість очікуваного %u (%s)" -#: utils/adt/arrayfuncs.c:1403 utils/adt/multirangetypes.c:451 -#: utils/adt/rangetypes.c:344 utils/cache/lsyscache.c:2916 +#: utils/adt/arrayfuncs.c:1378 utils/adt/multirangetypes.c:450 +#: utils/adt/rangetypes.c:351 utils/cache/lsyscache.c:2958 #, c-format msgid "no binary input function available for type %s" msgstr "для типу %s немає функції введення двійкових даних" -#: utils/adt/arrayfuncs.c:1543 +#: utils/adt/arrayfuncs.c:1509 #, c-format msgid "improper binary format in array element %d" msgstr "неправильний двійковий формат в елементі масиву %d" -#: utils/adt/arrayfuncs.c:1624 utils/adt/multirangetypes.c:456 -#: utils/adt/rangetypes.c:349 utils/cache/lsyscache.c:2949 +#: utils/adt/arrayfuncs.c:1588 utils/adt/multirangetypes.c:455 +#: utils/adt/rangetypes.c:356 utils/cache/lsyscache.c:2991 #, c-format msgid "no binary output function available for type %s" msgstr "для типу %s немає функції виводу двійкових даних" -#: utils/adt/arrayfuncs.c:2103 +#: utils/adt/arrayfuncs.c:2067 #, c-format msgid "slices of fixed-length arrays not implemented" msgstr "розрізання масивів постійної довжини не реалізовано" -#: utils/adt/arrayfuncs.c:2281 utils/adt/arrayfuncs.c:2303 -#: utils/adt/arrayfuncs.c:2352 utils/adt/arrayfuncs.c:2606 -#: utils/adt/arrayfuncs.c:2944 utils/adt/arrayfuncs.c:6115 -#: utils/adt/arrayfuncs.c:6141 utils/adt/arrayfuncs.c:6152 -#: utils/adt/json.c:1497 utils/adt/json.c:1569 utils/adt/jsonb.c:1416 -#: utils/adt/jsonb.c:1500 utils/adt/jsonfuncs.c:4434 utils/adt/jsonfuncs.c:4587 -#: utils/adt/jsonfuncs.c:4698 utils/adt/jsonfuncs.c:4746 +#: utils/adt/arrayfuncs.c:2245 utils/adt/arrayfuncs.c:2267 +#: utils/adt/arrayfuncs.c:2316 utils/adt/arrayfuncs.c:2570 +#: utils/adt/arrayfuncs.c:2915 utils/adt/arrayfuncs.c:6092 +#: utils/adt/arrayfuncs.c:6118 utils/adt/arrayfuncs.c:6129 +#: utils/adt/json.c:1433 utils/adt/json.c:1505 utils/adt/jsonb.c:1317 +#: utils/adt/jsonb.c:1401 utils/adt/jsonfuncs.c:4710 utils/adt/jsonfuncs.c:4863 +#: utils/adt/jsonfuncs.c:4974 utils/adt/jsonfuncs.c:5022 #, c-format msgid "wrong number of array subscripts" msgstr "невірне число верхніх індексів масива" -#: utils/adt/arrayfuncs.c:2286 utils/adt/arrayfuncs.c:2410 -#: utils/adt/arrayfuncs.c:2689 utils/adt/arrayfuncs.c:3019 +#: utils/adt/arrayfuncs.c:2250 utils/adt/arrayfuncs.c:2374 +#: utils/adt/arrayfuncs.c:2653 utils/adt/arrayfuncs.c:2990 #, c-format msgid "array subscript out of range" msgstr "верхній індекс масиву поза діапазоном" -#: utils/adt/arrayfuncs.c:2291 +#: utils/adt/arrayfuncs.c:2255 #, c-format msgid "cannot assign null value to an element of a fixed-length array" msgstr "не можна призначати значення null значення елементу масива постійної довжини" -#: utils/adt/arrayfuncs.c:2891 +#: utils/adt/arrayfuncs.c:2855 #, c-format msgid "updates on slices of fixed-length arrays not implemented" msgstr "оновлення в зрізах масивів постійної довжини не реалізовані" -#: utils/adt/arrayfuncs.c:2922 +#: utils/adt/arrayfuncs.c:2886 #, c-format msgid "array slice subscript must provide both boundaries" msgstr "у вказівці зрізу масива повинні бути задані обидві межі" -#: utils/adt/arrayfuncs.c:2923 +#: utils/adt/arrayfuncs.c:2887 #, c-format msgid "When assigning to a slice of an empty array value, slice boundaries must be fully specified." msgstr "Під час присвоєння значень зрізу в пустому масиві, межі зрізу повинні вказуватися повністю." -#: utils/adt/arrayfuncs.c:2934 utils/adt/arrayfuncs.c:3046 +#: utils/adt/arrayfuncs.c:2905 utils/adt/arrayfuncs.c:3017 #, c-format msgid "source array too small" msgstr "вихідний масив занадто малий" -#: utils/adt/arrayfuncs.c:3686 +#: utils/adt/arrayfuncs.c:3657 #, c-format msgid "null array element not allowed in this context" msgstr "елемент масиву null не дозволений в цьому контексті" -#: utils/adt/arrayfuncs.c:3857 utils/adt/arrayfuncs.c:4028 -#: utils/adt/arrayfuncs.c:4419 +#: utils/adt/arrayfuncs.c:3828 utils/adt/arrayfuncs.c:3999 +#: utils/adt/arrayfuncs.c:4390 #, c-format msgid "cannot compare arrays of different element types" msgstr "не можна порівнювати масиви з елементами різних типів" -#: utils/adt/arrayfuncs.c:4206 utils/adt/multirangetypes.c:2806 -#: utils/adt/multirangetypes.c:2878 utils/adt/rangetypes.c:1354 -#: utils/adt/rangetypes.c:1418 utils/adt/rowtypes.c:1885 +#: utils/adt/arrayfuncs.c:4177 utils/adt/multirangetypes.c:2805 +#: utils/adt/multirangetypes.c:2877 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" msgstr "не вдалося визначити геш-функцію для типу %s" -#: utils/adt/arrayfuncs.c:4334 utils/adt/rowtypes.c:2006 +#: utils/adt/arrayfuncs.c:4305 utils/adt/rowtypes.c:1996 #, c-format msgid "could not identify an extended hash function for type %s" msgstr "не вдалося визначити розширену геш-функцію для типу %s" -#: utils/adt/arrayfuncs.c:5529 +#: utils/adt/arrayfuncs.c:5506 #, c-format msgid "data type %s is not an array type" msgstr "тип даних %s не є типом масиву" -#: utils/adt/arrayfuncs.c:5584 +#: utils/adt/arrayfuncs.c:5561 #, c-format msgid "cannot accumulate null arrays" msgstr "накопичувати null-масиви не можна" -#: utils/adt/arrayfuncs.c:5612 +#: utils/adt/arrayfuncs.c:5589 #, c-format msgid "cannot accumulate empty arrays" msgstr "накопичувати пусті масиви не можна" -#: utils/adt/arrayfuncs.c:6013 utils/adt/arrayfuncs.c:6053 +#: utils/adt/arrayfuncs.c:5990 utils/adt/arrayfuncs.c:6030 #, c-format msgid "dimension array or low bound array cannot be null" msgstr "масив розмірності або масив нижніх границь не може бути null" -#: utils/adt/arrayfuncs.c:6116 utils/adt/arrayfuncs.c:6142 +#: utils/adt/arrayfuncs.c:6093 utils/adt/arrayfuncs.c:6119 #, c-format msgid "Dimension array must be one dimensional." msgstr "Масив розмірності повинен бути одновимірним." -#: utils/adt/arrayfuncs.c:6121 utils/adt/arrayfuncs.c:6147 +#: utils/adt/arrayfuncs.c:6098 utils/adt/arrayfuncs.c:6124 #, c-format msgid "dimension values cannot be null" msgstr "значення розмірностей не можуть бути null" -#: utils/adt/arrayfuncs.c:6153 +#: utils/adt/arrayfuncs.c:6130 #, c-format msgid "Low bound array has different size than dimensions array." msgstr "Масив нижніх границь відрізняється за розміром від масиву розмірностей." -#: utils/adt/arrayfuncs.c:6431 +#: utils/adt/arrayfuncs.c:6411 #, c-format msgid "removing elements from multidimensional arrays is not supported" msgstr "видалення елементів з багатовимірних масивів не підтримується" -#: utils/adt/arrayfuncs.c:6708 +#: utils/adt/arrayfuncs.c:6688 #, c-format msgid "thresholds must be one-dimensional array" msgstr "граничне значення повинно вказуватись одновимірним масивом" -#: utils/adt/arrayfuncs.c:6713 +#: utils/adt/arrayfuncs.c:6693 #, c-format msgid "thresholds array must not contain NULLs" msgstr "масив границь не повинен містити NULL" -#: utils/adt/arrayfuncs.c:6946 +#: utils/adt/arrayfuncs.c:6926 #, c-format msgid "number of elements to trim must be between 0 and %d" msgstr "кількість елементів для обрізки має бути між 0 і %d" @@ -23227,22 +24143,22 @@ msgstr "індекс елементу масиву має бути цілим ч msgid "array subscript in assignment must not be null" msgstr "підрядковий символ масиву у призначенні не може бути NULL" -#: utils/adt/arrayutils.c:155 +#: utils/adt/arrayutils.c:140 #, c-format msgid "array lower bound is too large: %d" msgstr "нижня границя масиву занадто велика: %d" -#: utils/adt/arrayutils.c:257 +#: utils/adt/arrayutils.c:242 #, c-format msgid "typmod array must be type cstring[]" msgstr "масив typmod повинен мати тип cstring[]" -#: utils/adt/arrayutils.c:262 +#: utils/adt/arrayutils.c:247 #, c-format msgid "typmod array must be one-dimensional" msgstr "масив typmod повинен бути одновимірним" -#: utils/adt/arrayutils.c:267 +#: utils/adt/arrayutils.c:252 #, c-format msgid "typmod array must not contain nulls" msgstr "масив typmod не повинен містити елементи nulls" @@ -23253,48 +24169,52 @@ msgid "encoding conversion from %s to ASCII not supported" msgstr "перетворення кодування з %s в ASCII не підтримується" #. translator: first %s is inet or cidr -#: utils/adt/bool.c:153 utils/adt/cash.c:277 utils/adt/datetime.c:4017 -#: utils/adt/float.c:206 utils/adt/float.c:293 utils/adt/float.c:307 -#: utils/adt/float.c:412 utils/adt/float.c:495 utils/adt/float.c:509 +#: utils/adt/bool.c:149 utils/adt/cash.c:354 utils/adt/datetime.c:4142 +#: utils/adt/float.c:200 utils/adt/float.c:287 utils/adt/float.c:301 +#: utils/adt/float.c:406 utils/adt/float.c:489 utils/adt/float.c:503 #: utils/adt/geo_ops.c:250 utils/adt/geo_ops.c:335 utils/adt/geo_ops.c:974 #: utils/adt/geo_ops.c:1417 utils/adt/geo_ops.c:1454 utils/adt/geo_ops.c:1462 #: 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:183 utils/adt/mac.c:94 utils/adt/mac8.c:225 -#: utils/adt/network.c:99 utils/adt/numeric.c:795 utils/adt/numeric.c:7136 -#: utils/adt/numeric.c:7339 utils/adt/numeric.c:8286 utils/adt/numutils.c:357 -#: utils/adt/numutils.c:619 utils/adt/numutils.c:881 utils/adt/numutils.c:920 -#: utils/adt/numutils.c:942 utils/adt/numutils.c:1006 utils/adt/numutils.c:1028 -#: utils/adt/pg_lsn.c:74 utils/adt/tid.c:72 utils/adt/tid.c:80 -#: utils/adt/tid.c:94 utils/adt/tid.c:103 utils/adt/timestamp.c:494 -#: utils/adt/uuid.c:135 utils/adt/xid8funcs.c:362 +#: 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/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 +#: utils/adt/tid.c:94 utils/adt/tid.c:103 utils/adt/timestamp.c:510 +#: utils/adt/uuid.c:140 utils/adt/xid8funcs.c:360 #, c-format msgid "invalid input syntax for type %s: \"%s\"" msgstr "неприпустимий синтаксис для типу %s: \"%s\"" -#: utils/adt/cash.c:215 utils/adt/cash.c:240 utils/adt/cash.c:250 -#: utils/adt/cash.c:290 utils/adt/int.c:180 utils/adt/numutils.c:351 -#: utils/adt/numutils.c:613 utils/adt/numutils.c:875 utils/adt/numutils.c:926 -#: utils/adt/numutils.c:965 utils/adt/numutils.c:1012 +#: utils/adt/cash.c:98 utils/adt/cash.c:111 utils/adt/cash.c:124 +#: utils/adt/cash.c:137 utils/adt/cash.c:150 #, c-format -msgid "value \"%s\" is out of range for type %s" -msgstr "значення \"%s\" поза діапазоном для типу %s" +msgid "money out of range" +msgstr "" -#: utils/adt/cash.c:652 utils/adt/cash.c:702 utils/adt/cash.c:753 -#: utils/adt/cash.c:802 utils/adt/cash.c:854 utils/adt/cash.c:904 -#: utils/adt/float.c:105 utils/adt/int.c:843 utils/adt/int.c:959 -#: utils/adt/int.c:1039 utils/adt/int.c:1101 utils/adt/int.c:1139 -#: utils/adt/int.c:1167 utils/adt/int8.c:515 utils/adt/int8.c:573 -#: utils/adt/int8.c:943 utils/adt/int8.c:1023 utils/adt/int8.c:1085 -#: utils/adt/int8.c:1165 utils/adt/numeric.c:3175 utils/adt/numeric.c:3198 -#: utils/adt/numeric.c:3283 utils/adt/numeric.c:3301 utils/adt/numeric.c:3397 -#: utils/adt/numeric.c:8835 utils/adt/numeric.c:9148 utils/adt/numeric.c:9496 -#: utils/adt/numeric.c:9612 utils/adt/numeric.c:11122 -#: utils/adt/timestamp.c:3430 +#: utils/adt/cash.c:161 utils/adt/cash.c:723 utils/adt/float.c:99 +#: utils/adt/int.c:843 utils/adt/int.c:959 utils/adt/int.c:1039 +#: 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 #, c-format msgid "division by zero" msgstr "ділення на нуль" +#: utils/adt/cash.c:292 utils/adt/cash.c:317 utils/adt/cash.c:327 +#: utils/adt/cash.c:367 utils/adt/int.c:180 utils/adt/numutils.c:350 +#: utils/adt/numutils.c:612 utils/adt/numutils.c:874 utils/adt/numutils.c:925 +#: utils/adt/numutils.c:964 utils/adt/numutils.c:1011 +#, c-format +msgid "value \"%s\" is out of range for type %s" +msgstr "значення \"%s\" поза діапазоном для типу %s" + #: utils/adt/char.c:197 #, c-format msgid "\"char\" out of range" @@ -23305,185 +24225,211 @@ msgstr "значення \"char\" поза діапазоном" msgid "could not compute %s hash: %s" msgstr "не вдалося обчислити %s хеш: %s" -#: utils/adt/date.c:63 utils/adt/timestamp.c:100 utils/adt/varbit.c:105 -#: utils/adt/varchar.c:49 +#: utils/adt/date.c:64 utils/adt/timestamp.c:116 utils/adt/varbit.c:105 +#: utils/adt/varchar.c:48 #, c-format msgid "invalid type modifier" msgstr "неприпустимий тип модифікатора" -#: utils/adt/date.c:75 +#: utils/adt/date.c:76 #, c-format msgid "TIME(%d)%s precision must not be negative" msgstr "TIME(%d)%s точність не повинна бути від'ємною" -#: utils/adt/date.c:81 +#: utils/adt/date.c:82 #, c-format msgid "TIME(%d)%s precision reduced to maximum allowed, %d" msgstr "TIME(%d)%s точність зменшена до дозволеного максимуму, %d" -#: utils/adt/date.c:166 utils/adt/date.c:174 utils/adt/formatting.c:4241 -#: utils/adt/formatting.c:4250 utils/adt/formatting.c:4363 -#: utils/adt/formatting.c:4373 +#: utils/adt/date.c:167 utils/adt/date.c:175 utils/adt/formatting.c:4424 +#: utils/adt/formatting.c:4433 utils/adt/formatting.c:4538 +#: utils/adt/formatting.c:4548 #, c-format msgid "date out of range: \"%s\"" msgstr "дата поза діапазоном: \"%s\"" -#: utils/adt/date.c:221 utils/adt/date.c:519 utils/adt/date.c:543 -#: utils/adt/rangetypes.c:1577 utils/adt/rangetypes.c:1592 utils/adt/xml.c:2470 +#: 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 #, c-format msgid "date out of range" msgstr "дата поза діапазоном" -#: utils/adt/date.c:267 utils/adt/timestamp.c:582 +#: utils/adt/date.c:268 utils/adt/timestamp.c:598 #, c-format msgid "date field value out of range: %d-%02d-%02d" msgstr "значення поля типу date поза діапазоном: %d-%02d-%02d" -#: utils/adt/date.c:274 utils/adt/date.c:283 utils/adt/timestamp.c:588 +#: utils/adt/date.c:275 utils/adt/date.c:284 utils/adt/timestamp.c:604 #, c-format msgid "date out of range: %d-%02d-%02d" msgstr "дата поза діапазоном: %d-%02d-%02d" -#: utils/adt/date.c:494 +#: utils/adt/date.c:495 #, c-format msgid "cannot subtract infinite dates" msgstr "віднімати безкінечні дати не можна" -#: utils/adt/date.c:592 utils/adt/date.c:655 utils/adt/date.c:691 -#: utils/adt/date.c:2885 utils/adt/date.c:2895 +#: utils/adt/date.c:593 utils/adt/date.c:656 utils/adt/date.c:692 +#: utils/adt/date.c:2906 utils/adt/date.c:2916 #, c-format msgid "date out of range for timestamp" msgstr "для позначки часу дата поза діапазоном" -#: utils/adt/date.c:1121 utils/adt/date.c:1204 utils/adt/date.c:1220 -#: utils/adt/date.c:2206 utils/adt/date.c:2990 utils/adt/timestamp.c:4143 -#: utils/adt/timestamp.c:4336 utils/adt/timestamp.c:4478 -#: utils/adt/timestamp.c:4731 utils/adt/timestamp.c:4932 -#: utils/adt/timestamp.c:4979 utils/adt/timestamp.c:5203 -#: utils/adt/timestamp.c:5250 utils/adt/timestamp.c:5380 +#: utils/adt/date.c:1122 utils/adt/date.c:1205 utils/adt/date.c:1221 +#: utils/adt/date.c:2215 utils/adt/date.c:3011 utils/adt/timestamp.c:4726 +#: utils/adt/timestamp.c:4941 utils/adt/timestamp.c:5089 +#: utils/adt/timestamp.c:5342 utils/adt/timestamp.c:5543 +#: utils/adt/timestamp.c:5590 utils/adt/timestamp.c:5814 +#: utils/adt/timestamp.c:5861 utils/adt/timestamp.c:5941 +#: utils/adt/timestamp.c:6070 #, c-format msgid "unit \"%s\" not supported for type %s" msgstr "одиниця \"%s\" не підтримується для типу %s" -#: utils/adt/date.c:1229 utils/adt/date.c:2222 utils/adt/date.c:3010 -#: utils/adt/timestamp.c:4157 utils/adt/timestamp.c:4353 -#: utils/adt/timestamp.c:4492 utils/adt/timestamp.c:4691 -#: utils/adt/timestamp.c:4988 utils/adt/timestamp.c:5259 -#: utils/adt/timestamp.c:5441 +#: utils/adt/date.c:1230 utils/adt/date.c:2231 utils/adt/date.c:3031 +#: utils/adt/timestamp.c:4740 utils/adt/timestamp.c:4958 +#: utils/adt/timestamp.c:5103 utils/adt/timestamp.c:5302 +#: utils/adt/timestamp.c:5599 utils/adt/timestamp.c:5870 +#: utils/adt/timestamp.c:5911 utils/adt/timestamp.c:6131 #, c-format msgid "unit \"%s\" not recognized for type %s" msgstr "нерозпізнана одиниця \"%s\" для типу %s" -#: utils/adt/date.c:1313 utils/adt/date.c:1359 utils/adt/date.c:1918 -#: utils/adt/date.c:1949 utils/adt/date.c:1978 utils/adt/date.c:2848 -#: utils/adt/date.c:3080 utils/adt/datetime.c:424 utils/adt/datetime.c:1809 -#: utils/adt/formatting.c:4081 utils/adt/formatting.c:4117 -#: utils/adt/formatting.c:4210 utils/adt/formatting.c:4339 utils/adt/json.c:467 -#: utils/adt/json.c:506 utils/adt/timestamp.c:232 utils/adt/timestamp.c:264 -#: utils/adt/timestamp.c:700 utils/adt/timestamp.c:709 -#: utils/adt/timestamp.c:787 utils/adt/timestamp.c:820 -#: utils/adt/timestamp.c:2933 utils/adt/timestamp.c:2954 -#: utils/adt/timestamp.c:2967 utils/adt/timestamp.c:2978 -#: utils/adt/timestamp.c:2984 utils/adt/timestamp.c:2992 -#: utils/adt/timestamp.c:3053 utils/adt/timestamp.c:3076 -#: utils/adt/timestamp.c:3089 utils/adt/timestamp.c:3103 -#: utils/adt/timestamp.c:3111 utils/adt/timestamp.c:3119 -#: utils/adt/timestamp.c:3847 utils/adt/timestamp.c:3971 -#: utils/adt/timestamp.c:4061 utils/adt/timestamp.c:4151 -#: utils/adt/timestamp.c:4244 utils/adt/timestamp.c:4347 -#: utils/adt/timestamp.c:4796 utils/adt/timestamp.c:5070 -#: utils/adt/timestamp.c:5509 utils/adt/timestamp.c:5519 -#: utils/adt/timestamp.c:5524 utils/adt/timestamp.c:5530 -#: utils/adt/timestamp.c:5563 utils/adt/timestamp.c:5650 -#: utils/adt/timestamp.c:5691 utils/adt/timestamp.c:5695 -#: utils/adt/timestamp.c:5749 utils/adt/timestamp.c:5753 -#: utils/adt/timestamp.c:5759 utils/adt/timestamp.c:5793 utils/adt/xml.c:2492 -#: utils/adt/xml.c:2499 utils/adt/xml.c:2519 utils/adt/xml.c:2526 +#: utils/adt/date.c:1314 utils/adt/date.c:1360 utils/adt/date.c:1919 +#: utils/adt/date.c:1950 utils/adt/date.c:1979 utils/adt/date.c:2869 +#: utils/adt/date.c:3101 utils/adt/datetime.c:422 utils/adt/datetime.c:1807 +#: utils/adt/formatting.c:4269 utils/adt/formatting.c:4305 +#: utils/adt/formatting.c:4392 utils/adt/formatting.c:4514 utils/adt/json.c:366 +#: utils/adt/json.c:405 utils/adt/timestamp.c:248 utils/adt/timestamp.c:280 +#: utils/adt/timestamp.c:716 utils/adt/timestamp.c:725 +#: utils/adt/timestamp.c:803 utils/adt/timestamp.c:836 +#: utils/adt/timestamp.c:3066 utils/adt/timestamp.c:3075 +#: utils/adt/timestamp.c:3092 utils/adt/timestamp.c:3097 +#: utils/adt/timestamp.c:3116 utils/adt/timestamp.c:3129 +#: utils/adt/timestamp.c:3140 utils/adt/timestamp.c:3146 +#: utils/adt/timestamp.c:3152 utils/adt/timestamp.c:3157 +#: utils/adt/timestamp.c:3210 utils/adt/timestamp.c:3219 +#: utils/adt/timestamp.c:3240 utils/adt/timestamp.c:3245 +#: utils/adt/timestamp.c:3266 utils/adt/timestamp.c:3279 +#: utils/adt/timestamp.c:3293 utils/adt/timestamp.c:3301 +#: utils/adt/timestamp.c:3307 utils/adt/timestamp.c:3312 +#: utils/adt/timestamp.c:4380 utils/adt/timestamp.c:4532 +#: utils/adt/timestamp.c:4608 utils/adt/timestamp.c:4644 +#: utils/adt/timestamp.c:4734 utils/adt/timestamp.c:4813 +#: utils/adt/timestamp.c:4849 utils/adt/timestamp.c:4952 +#: utils/adt/timestamp.c:5407 utils/adt/timestamp.c:5681 +#: utils/adt/timestamp.c:6199 utils/adt/timestamp.c:6209 +#: utils/adt/timestamp.c:6214 utils/adt/timestamp.c:6220 +#: 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 #, c-format msgid "timestamp out of range" msgstr "позначка часу поза діапазоном" -#: utils/adt/date.c:1535 utils/adt/date.c:2343 utils/adt/formatting.c:4431 +#: utils/adt/date.c:1536 utils/adt/date.c:2352 utils/adt/formatting.c:4597 #, c-format msgid "time out of range" msgstr "час поза діапазоном" -#: utils/adt/date.c:1587 utils/adt/timestamp.c:597 +#: utils/adt/date.c:1588 utils/adt/timestamp.c:613 #, c-format msgid "time field value out of range: %d:%02d:%02g" msgstr "значення поля типу time поза діапазоном: %d:%02d:%02g" -#: utils/adt/date.c:2107 utils/adt/date.c:2647 utils/adt/float.c:1042 -#: utils/adt/float.c:1118 utils/adt/int.c:635 utils/adt/int.c:682 -#: utils/adt/int.c:717 utils/adt/int8.c:414 utils/adt/numeric.c:2579 -#: utils/adt/timestamp.c:3501 utils/adt/timestamp.c:3528 -#: utils/adt/timestamp.c:3559 +#: utils/adt/date.c:2020 +#, c-format +msgid "cannot convert infinite interval to time" +msgstr "не можна перетворити нескінченний інтервал у час" + +#: utils/adt/date.c:2061 utils/adt/date.c:2605 +#, c-format +msgid "cannot add infinite interval to time" +msgstr "не можна додати нескінченний інтервал до часу" + +#: utils/adt/date.c:2084 utils/adt/date.c:2632 +#, c-format +msgid "cannot subtract infinite interval from time" +msgstr "не можна відняти від часу нескінченний інтервал" + +#: 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/timestamp.c:3810 utils/adt/timestamp.c:3847 +#: utils/adt/timestamp.c:3888 #, c-format msgid "invalid preceding or following size in window function" msgstr "неприпустимий розмір preceding або following у віконній функції" -#: utils/adt/date.c:2351 +#: utils/adt/date.c:2360 #, c-format msgid "time zone displacement out of range" msgstr "зсув часового поясу поза діапазоном" -#: utils/adt/date.c:3111 utils/adt/timestamp.c:5552 utils/adt/timestamp.c:5782 +#: utils/adt/date.c:3132 utils/adt/timestamp.c:6242 utils/adt/timestamp.c:6479 +#, c-format +msgid "interval time zone \"%s\" must be finite" +msgstr "часовий пояс інтервалу \"%s\" має бути скінченним" + +#: utils/adt/date.c:3139 utils/adt/timestamp.c:6249 utils/adt/timestamp.c:6486 #, c-format msgid "interval time zone \"%s\" must not include months or days" msgstr "інтервал \"%s\", який задає часовий пояс, не повинен включати місяці або дні" -#: utils/adt/datetime.c:3223 utils/adt/datetime.c:4002 -#: utils/adt/datetime.c:4008 utils/adt/timestamp.c:512 +#: utils/adt/datetime.c:3232 utils/adt/datetime.c:4127 +#: utils/adt/datetime.c:4133 utils/adt/timestamp.c:528 #, c-format msgid "time zone \"%s\" not recognized" msgstr "часовий пояс \"%s\" не розпізнаний" -#: utils/adt/datetime.c:3976 utils/adt/datetime.c:3983 +#: utils/adt/datetime.c:4101 utils/adt/datetime.c:4108 #, c-format msgid "date/time field value out of range: \"%s\"" msgstr "значення поля типу дата/час поза діапазоном: \"%s\"" -#: utils/adt/datetime.c:3985 +#: utils/adt/datetime.c:4110 #, c-format msgid "Perhaps you need a different \"datestyle\" setting." msgstr "Можливо, вам потрібні інші налаштування \"datestyle\"." -#: utils/adt/datetime.c:3990 +#: utils/adt/datetime.c:4115 #, c-format msgid "interval field value out of range: \"%s\"" msgstr "значення поля типу інтервал, поза діапазоном: \"%s\"" -#: utils/adt/datetime.c:3996 +#: utils/adt/datetime.c:4121 #, c-format msgid "time zone displacement out of range: \"%s\"" msgstr "зміщення часового поясу, поза діапазоном: \"%s\"" -#: utils/adt/datetime.c:4010 +#: utils/adt/datetime.c:4135 #, c-format msgid "This time zone name appears in the configuration file for time zone abbreviation \"%s\"." msgstr "Це ім'я часового поясу з'являється у файлі конфігурації часового поясу з кодом \"%s\"." -#: utils/adt/datum.c:91 utils/adt/datum.c:103 +#: utils/adt/datum.c:90 utils/adt/datum.c:102 #, c-format msgid "invalid Datum pointer" msgstr "неприпустимий вказівник Datum" -#: utils/adt/dbsize.c:761 utils/adt/dbsize.c:837 +#: utils/adt/dbsize.c:764 utils/adt/dbsize.c:840 #, c-format msgid "invalid size: \"%s\"" msgstr "неприпустимий розмір: \"%s\"" -#: utils/adt/dbsize.c:838 +#: utils/adt/dbsize.c:841 #, c-format msgid "Invalid size unit: \"%s\"." msgstr "Неприпустима одиниця вимірювання розміру: \"%s\"." -#: utils/adt/dbsize.c:839 +#: utils/adt/dbsize.c:842 #, c-format msgid "Valid units are \"bytes\", \"B\", \"kB\", \"MB\", \"GB\", \"TB\", and \"PB\"." msgstr "Припустимі одиниці вимірювання: \"bytes\", \"B\", \"kB\", \"MB\", \"GB\", \"TB\", і \"PB\"." -#: utils/adt/domains.c:92 +#: utils/adt/domains.c:95 #, c-format msgid "type %s is not a domain" msgstr "тип %s не є доменом" @@ -23533,10 +24479,10 @@ msgstr "неприпустима скінченна послідовність b msgid "Input data is missing padding, is truncated, or is otherwise corrupted." msgstr "Вхідні дані позбавлені можливості заповнення, скорочені, або пошкоджені іншим чином." -#: utils/adt/encode.c:492 utils/adt/encode.c:557 utils/adt/jsonfuncs.c:648 -#: utils/adt/varlena.c:331 utils/adt/varlena.c:372 jsonpath_gram.y:528 -#: jsonpath_scan.l:629 jsonpath_scan.l:640 jsonpath_scan.l:650 -#: jsonpath_scan.l:701 +#: utils/adt/encode.c:492 utils/adt/encode.c:557 utils/adt/jsonfuncs.c:659 +#: utils/adt/varlena.c:333 utils/adt/varlena.c:374 jsonpath_gram.y:266 +#: jsonpath_gram.y:598 jsonpath_scan.l:640 jsonpath_scan.l:651 +#: jsonpath_scan.l:661 jsonpath_scan.l:712 #, c-format msgid "invalid input syntax for type %s" msgstr "неприпустимий вхідний синтаксис для типу %s" @@ -23573,353 +24519,348 @@ msgstr "не вдалося визначити фактичний тип пер msgid "enum %s contains no values" msgstr "перелік %s не містить значень" -#: utils/adt/float.c:89 +#: utils/adt/float.c:83 #, c-format msgid "value out of range: overflow" msgstr "значення поза діапазоном: надлишок" -#: utils/adt/float.c:97 +#: utils/adt/float.c:91 #, c-format msgid "value out of range: underflow" msgstr "значення поза діапазоном: недостача" -#: utils/adt/float.c:286 +#: utils/adt/float.c:280 #, c-format msgid "\"%s\" is out of range for type real" msgstr "\"%s\" поза діапазоном для дійсного типу" -#: utils/adt/float.c:488 +#: utils/adt/float.c:482 #, c-format msgid "\"%s\" is out of range for type double precision" msgstr "\"%s\" поза діапазоном для типу double precision" -#: utils/adt/float.c:1253 utils/adt/float.c:1327 utils/adt/int.c:355 +#: 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:1278 utils/adt/numeric.c:4500 utils/adt/numeric.c:4505 +#: utils/adt/int8.c:1277 utils/adt/numeric.c:4593 utils/adt/numeric.c:4598 #, c-format msgid "smallint out of range" msgstr "двобайтове ціле поза діапазоном" -#: utils/adt/float.c:1453 utils/adt/numeric.c:3693 utils/adt/numeric.c:10027 +#: utils/adt/float.c:1447 utils/adt/numeric.c:3709 utils/adt/numeric.c:10112 #, c-format msgid "cannot take square root of a negative number" msgstr "вилучити квадратний корінь від'ємного числа не можна" -#: utils/adt/float.c:1521 utils/adt/numeric.c:3981 utils/adt/numeric.c:4093 +#: utils/adt/float.c:1515 utils/adt/numeric.c:3997 utils/adt/numeric.c:4109 #, c-format msgid "zero raised to a negative power is undefined" msgstr "нуль у від'ємному ступені дає невизначеність" -#: utils/adt/float.c:1525 utils/adt/numeric.c:3985 utils/adt/numeric.c:10918 +#: utils/adt/float.c:1519 utils/adt/numeric.c:4001 utils/adt/numeric.c:11003 #, c-format msgid "a negative number raised to a non-integer power yields a complex result" msgstr "від'ємне число у не цілому ступені дає комплексний результат" -#: utils/adt/float.c:1701 utils/adt/float.c:1734 utils/adt/numeric.c:3893 -#: utils/adt/numeric.c:10698 +#: utils/adt/float.c:1695 utils/adt/float.c:1728 utils/adt/numeric.c:3909 +#: utils/adt/numeric.c:10783 #, c-format msgid "cannot take logarithm of zero" msgstr "обчислити логарифм нуля не можна" -#: utils/adt/float.c:1705 utils/adt/float.c:1738 utils/adt/numeric.c:3831 -#: utils/adt/numeric.c:3888 utils/adt/numeric.c:10702 +#: 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 #, c-format msgid "cannot take logarithm of a negative number" msgstr "обчислити логарифм від'ємного числа не можна" -#: utils/adt/float.c:1771 utils/adt/float.c:1802 utils/adt/float.c:1897 -#: utils/adt/float.c:1924 utils/adt/float.c:1952 utils/adt/float.c:1979 -#: utils/adt/float.c:2126 utils/adt/float.c:2163 utils/adt/float.c:2333 -#: utils/adt/float.c:2389 utils/adt/float.c:2454 utils/adt/float.c:2511 -#: utils/adt/float.c:2702 utils/adt/float.c:2726 +#: utils/adt/float.c:1765 utils/adt/float.c:1796 utils/adt/float.c:1891 +#: utils/adt/float.c:1918 utils/adt/float.c:1946 utils/adt/float.c:1973 +#: utils/adt/float.c:2120 utils/adt/float.c:2157 utils/adt/float.c:2327 +#: utils/adt/float.c:2383 utils/adt/float.c:2448 utils/adt/float.c:2505 +#: utils/adt/float.c:2696 utils/adt/float.c:2720 #, c-format msgid "input is out of range" msgstr "введене значення поза діапазоном" -#: utils/adt/float.c:2867 -#, c-format -msgid "setseed parameter %g is out of allowed range [-1,1]" -msgstr "параметр setseed %g поза допустимим діапазоном [-1,1]" - -#: utils/adt/float.c:4095 utils/adt/numeric.c:1841 +#: utils/adt/float.c:4000 utils/adt/numeric.c:1857 #, c-format msgid "count must be greater than zero" msgstr "лічильник повинен бути більше нуля" -#: utils/adt/float.c:4100 utils/adt/numeric.c:1852 +#: utils/adt/float.c:4005 utils/adt/numeric.c:1868 #, c-format msgid "operand, lower bound, and upper bound cannot be NaN" msgstr "операнд, нижня границя і верхня границя не можуть бути NaN" -#: utils/adt/float.c:4106 utils/adt/numeric.c:1857 +#: utils/adt/float.c:4011 utils/adt/numeric.c:1873 #, c-format msgid "lower and upper bounds must be finite" msgstr "нижня і верхня границі повинні бути скінченними" -#: utils/adt/float.c:4172 utils/adt/numeric.c:1871 +#: utils/adt/float.c:4077 utils/adt/numeric.c:1887 #, c-format msgid "lower bound cannot equal upper bound" msgstr "нижня границя не може дорівнювати верхній границі" -#: utils/adt/formatting.c:519 +#: utils/adt/formatting.c:530 #, c-format msgid "invalid format specification for an interval value" msgstr "неприпустима специфікація формату для цілого значення" -#: utils/adt/formatting.c:520 +#: utils/adt/formatting.c:531 #, c-format msgid "Intervals are not tied to specific calendar dates." msgstr "Інтервали не зв'язуються з певними календарними датами." -#: utils/adt/formatting.c:1150 +#: utils/adt/formatting.c:1161 #, c-format msgid "\"EEEE\" must be the last pattern used" msgstr "\"EEEE\" повинно бути останнім використаним шаблоном" -#: utils/adt/formatting.c:1158 +#: utils/adt/formatting.c:1169 #, c-format msgid "\"9\" must be ahead of \"PR\"" msgstr "\"9\" повинна бути до \"PR\"" -#: utils/adt/formatting.c:1174 +#: utils/adt/formatting.c:1185 #, c-format msgid "\"0\" must be ahead of \"PR\"" msgstr "\"0\" повинен бути до \"PR\"" -#: utils/adt/formatting.c:1201 +#: utils/adt/formatting.c:1212 #, c-format msgid "multiple decimal points" msgstr "численні десяткові точки" -#: utils/adt/formatting.c:1205 utils/adt/formatting.c:1288 +#: utils/adt/formatting.c:1216 utils/adt/formatting.c:1299 #, c-format msgid "cannot use \"V\" and decimal point together" msgstr "використовувати \"V\" і десяткову точку разом, не можна" -#: utils/adt/formatting.c:1217 +#: utils/adt/formatting.c:1228 #, c-format msgid "cannot use \"S\" twice" msgstr "використовувати \"S\" двічі, не можна" -#: utils/adt/formatting.c:1221 +#: utils/adt/formatting.c:1232 #, c-format msgid "cannot use \"S\" and \"PL\"/\"MI\"/\"SG\"/\"PR\" together" msgstr "використовувати \"S\" і \"PL\"/\"MI\"/\"SG\"/\"PR\" разом, не можна" -#: utils/adt/formatting.c:1241 +#: utils/adt/formatting.c:1252 #, c-format msgid "cannot use \"S\" and \"MI\" together" msgstr "використовувати \"S\" і \"MI\" разом, не можна" -#: utils/adt/formatting.c:1251 +#: utils/adt/formatting.c:1262 #, c-format msgid "cannot use \"S\" and \"PL\" together" msgstr "не можна використовувати \"S\" і \"PL\" разом" -#: utils/adt/formatting.c:1261 +#: utils/adt/formatting.c:1272 #, c-format msgid "cannot use \"S\" and \"SG\" together" msgstr "не можна використовувати \"S\" і \"SG\" разом" -#: utils/adt/formatting.c:1270 +#: utils/adt/formatting.c:1281 #, c-format msgid "cannot use \"PR\" and \"S\"/\"PL\"/\"MI\"/\"SG\" together" msgstr "не можна використовувати \"PR\" і \"S\"/\"PL\"/\"MI\"/\"SG\" разом" -#: utils/adt/formatting.c:1296 +#: utils/adt/formatting.c:1307 #, c-format msgid "cannot use \"EEEE\" twice" msgstr "не можна використовувати \"EEEE\" двічі" -#: utils/adt/formatting.c:1302 +#: utils/adt/formatting.c:1313 #, c-format msgid "\"EEEE\" is incompatible with other formats" msgstr "\"EEEE\" є несумісним з іншими форматами" -#: utils/adt/formatting.c:1303 +#: utils/adt/formatting.c:1314 #, c-format msgid "\"EEEE\" may only be used together with digit and decimal point patterns." msgstr "\"EEEE\" може використовуватись лише разом з шаблонами цифр і десяткової точки." -#: utils/adt/formatting.c:1387 +#: utils/adt/formatting.c:1398 #, c-format msgid "invalid datetime format separator: \"%s\"" msgstr "неприпустимий роздільник формату дати й часу: \"%s\"" -#: utils/adt/formatting.c:1514 +#: utils/adt/formatting.c:1525 #, c-format msgid "\"%s\" is not a number" msgstr "\"%s\" не є числом" -#: utils/adt/formatting.c:1592 +#: utils/adt/formatting.c:1603 #, c-format msgid "case conversion failed: %s" msgstr "помилка при перетворенні регістру: %s" -#: utils/adt/formatting.c:1646 utils/adt/formatting.c:1768 -#: utils/adt/formatting.c:1891 +#: utils/adt/formatting.c:1651 utils/adt/formatting.c:1799 +#: utils/adt/formatting.c:1989 #, c-format msgid "could not determine which collation to use for %s function" msgstr "не вдалося визначити який параметр сортування використати для функції %s" -#: utils/adt/formatting.c:2274 +#: utils/adt/formatting.c:2410 #, c-format msgid "invalid combination of date conventions" msgstr "неприпустиме поєднання стилів дат" -#: utils/adt/formatting.c:2275 +#: utils/adt/formatting.c:2411 #, c-format msgid "Do not mix Gregorian and ISO week date conventions in a formatting template." msgstr "Не змішуйте Gregorian і ISO стилі дат (тижнів) в одному шаблоні форматування." -#: utils/adt/formatting.c:2297 +#: utils/adt/formatting.c:2433 #, c-format msgid "conflicting values for \"%s\" field in formatting string" msgstr "конфліктуючі значення для \"%s\" поля в рядку форматування" -#: utils/adt/formatting.c:2299 +#: utils/adt/formatting.c:2435 #, c-format msgid "This value contradicts a previous setting for the same field type." msgstr "Це значення суперечить попередньому параметри для поля того ж типу." -#: utils/adt/formatting.c:2366 +#: utils/adt/formatting.c:2502 #, c-format msgid "source string too short for \"%s\" formatting field" msgstr "вихідний рядок занадто короткий для \"%s\" поля форматування" -#: utils/adt/formatting.c:2368 +#: utils/adt/formatting.c:2504 #, c-format msgid "Field requires %d characters, but only %d remain." msgstr "Поле потребує %d символів, але залишилось лише %d." -#: utils/adt/formatting.c:2370 utils/adt/formatting.c:2384 +#: utils/adt/formatting.c:2506 utils/adt/formatting.c:2520 #, c-format msgid "If your source string is not fixed-width, try using the \"FM\" modifier." msgstr "Якщо ваш вихідний рядок не має постійної ширини, спробуйте використати \"FM\" модифікатор." -#: utils/adt/formatting.c:2380 utils/adt/formatting.c:2393 -#: utils/adt/formatting.c:2614 +#: utils/adt/formatting.c:2516 utils/adt/formatting.c:2529 +#: utils/adt/formatting.c:2750 utils/adt/formatting.c:3650 #, c-format msgid "invalid value \"%s\" for \"%s\"" msgstr "неприпустиме значення \"%s\" для \"%s\"" -#: utils/adt/formatting.c:2382 +#: utils/adt/formatting.c:2518 #, c-format msgid "Field requires %d characters, but only %d could be parsed." msgstr "Поле потребує %d символів, але вдалося аналізувати лише %d." -#: utils/adt/formatting.c:2395 +#: utils/adt/formatting.c:2531 #, c-format msgid "Value must be an integer." msgstr "Значення повинне бути цілим числом." -#: utils/adt/formatting.c:2400 +#: utils/adt/formatting.c:2536 #, c-format msgid "value for \"%s\" in source string is out of range" msgstr "значення для \"%s\" у вихідному рядку поза діапазоном" -#: utils/adt/formatting.c:2402 +#: utils/adt/formatting.c:2538 #, c-format msgid "Value must be in the range %d to %d." msgstr "Значення повинне бути в діапазоні %d до %d." -#: utils/adt/formatting.c:2616 +#: utils/adt/formatting.c:2752 #, c-format msgid "The given value did not match any of the allowed values for this field." msgstr "Дане значення не відповідає жодному з доступних значень для цього поля." -#: utils/adt/formatting.c:2832 utils/adt/formatting.c:2852 -#: utils/adt/formatting.c:2872 utils/adt/formatting.c:2892 -#: utils/adt/formatting.c:2911 utils/adt/formatting.c:2930 -#: utils/adt/formatting.c:2954 utils/adt/formatting.c:2972 -#: utils/adt/formatting.c:2990 utils/adt/formatting.c:3008 -#: utils/adt/formatting.c:3025 utils/adt/formatting.c:3042 +#: utils/adt/formatting.c:2968 utils/adt/formatting.c:2988 +#: utils/adt/formatting.c:3008 utils/adt/formatting.c:3028 +#: utils/adt/formatting.c:3047 utils/adt/formatting.c:3066 +#: utils/adt/formatting.c:3090 utils/adt/formatting.c:3108 +#: utils/adt/formatting.c:3126 utils/adt/formatting.c:3144 +#: utils/adt/formatting.c:3161 utils/adt/formatting.c:3178 #, c-format msgid "localized string format value too long" msgstr "занадто довге значення формату локалізованого рядка" -#: utils/adt/formatting.c:3322 +#: utils/adt/formatting.c:3458 #, c-format msgid "unmatched format separator \"%c\"" msgstr "невідповідний роздільник формату \"%c\"" -#: utils/adt/formatting.c:3383 +#: utils/adt/formatting.c:3519 #, c-format msgid "unmatched format character \"%s\"" msgstr "невідповідний формат символу \"%s\"" -#: utils/adt/formatting.c:3491 +#: utils/adt/formatting.c:3652 #, c-format -msgid "formatting field \"%s\" is only supported in to_char" -msgstr "поле форматування \"%s\" підтримується лише в функції to_char" +msgid "Time zone abbreviation is not recognized." +msgstr "Абревіатуру часової зони не розпізнано." -#: utils/adt/formatting.c:3665 +#: utils/adt/formatting.c:3853 #, c-format msgid "invalid input string for \"Y,YYY\"" msgstr "неприпустимий вхідний рядок для \"Y,YYY\"" -#: utils/adt/formatting.c:3754 +#: utils/adt/formatting.c:3942 #, c-format msgid "input string is too short for datetime format" msgstr "вхідний рядок занадто короткий для формату дати й часу" -#: utils/adt/formatting.c:3762 +#: utils/adt/formatting.c:3950 #, c-format msgid "trailing characters remain in input string after datetime format" msgstr "символи наприкінці залишаються у вхідному рядку після формату дати й часу" -#: utils/adt/formatting.c:4319 +#: utils/adt/formatting.c:4494 #, c-format msgid "missing time zone in input string for type timestamptz" msgstr "пропущено часовий пояс у вхідному рядку для типу timestamptz" -#: utils/adt/formatting.c:4325 +#: utils/adt/formatting.c:4500 #, c-format msgid "timestamptz out of range" msgstr "timestamptz поза діапазоном" -#: utils/adt/formatting.c:4353 +#: utils/adt/formatting.c:4528 #, c-format msgid "datetime format is zoned but not timed" msgstr "формат дати й часу зоновано, але не приурочено" -#: utils/adt/formatting.c:4411 +#: utils/adt/formatting.c:4577 #, c-format msgid "missing time zone in input string for type timetz" msgstr "пропущено часовий пояс у вхідному рядку для типу timetz" -#: utils/adt/formatting.c:4417 +#: utils/adt/formatting.c:4583 #, c-format msgid "timetz out of range" msgstr "timetz поза діапазоном" -#: utils/adt/formatting.c:4443 +#: utils/adt/formatting.c:4609 #, c-format msgid "datetime format is not dated and not timed" msgstr "формат дати й часу не датований і не приурочений" -#: utils/adt/formatting.c:4575 +#: utils/adt/formatting.c:4786 #, c-format msgid "hour \"%d\" is invalid for the 12-hour clock" msgstr "година \"%d\" неприпустима для 12-часового годинника" -#: utils/adt/formatting.c:4577 +#: utils/adt/formatting.c:4788 #, c-format msgid "Use the 24-hour clock, or give an hour between 1 and 12." msgstr "Використайте 24-часовий годинник, або передавайте години від 1 до 12." -#: utils/adt/formatting.c:4689 +#: utils/adt/formatting.c:4900 #, c-format msgid "cannot calculate day of year without year information" msgstr "не можна обчислити день року без інформації про рік" -#: utils/adt/formatting.c:5621 +#: utils/adt/formatting.c:5852 #, c-format msgid "\"EEEE\" not supported for input" msgstr "\"EEEE\" не підтримується при введенні" -#: utils/adt/formatting.c:5633 +#: utils/adt/formatting.c:5864 #, c-format msgid "\"RN\" not supported for input" msgstr "\"RN\" не підтримується при введенні" @@ -23951,12 +24892,7 @@ msgstr "не вдалося знайти в файлі \"%s\": %m" msgid "file length too large" msgstr "довжина файлу завелика" -#: utils/adt/genfile.c:248 -#, c-format -msgid "must be superuser to read files with adminpack 1.0" -msgstr "щоб читати файли, використовуючи adminpack 1.0 потрібно бути суперкористувачем" - -#: utils/adt/genfile.c:702 +#: utils/adt/genfile.c:656 #, c-format msgid "tablespace with OID %u does not exist" msgstr "табличний простір з OID %u не існує" @@ -24012,560 +24948,645 @@ msgstr "повинно бути запитано мінімум 2 точки" msgid "invalid int2vector data" msgstr "неприпустимі дані int2vector" -#: utils/adt/int.c:1529 utils/adt/int8.c:1404 utils/adt/numeric.c:1749 -#: utils/adt/timestamp.c:5843 utils/adt/timestamp.c:5925 +#: utils/adt/int.c:1529 utils/adt/int8.c:1403 utils/adt/numeric.c:1765 +#: utils/adt/timestamp.c:6546 utils/adt/timestamp.c:6632 #, c-format msgid "step size cannot equal zero" msgstr "розмір кроку не може дорівнювати нулю" -#: utils/adt/int8.c:449 utils/adt/int8.c:472 utils/adt/int8.c:486 -#: utils/adt/int8.c:500 utils/adt/int8.c:531 utils/adt/int8.c:555 -#: utils/adt/int8.c:637 utils/adt/int8.c:705 utils/adt/int8.c:711 -#: utils/adt/int8.c:737 utils/adt/int8.c:751 utils/adt/int8.c:775 -#: utils/adt/int8.c:788 utils/adt/int8.c:900 utils/adt/int8.c:914 -#: utils/adt/int8.c:928 utils/adt/int8.c:959 utils/adt/int8.c:981 -#: utils/adt/int8.c:995 utils/adt/int8.c:1009 utils/adt/int8.c:1042 -#: utils/adt/int8.c:1056 utils/adt/int8.c:1070 utils/adt/int8.c:1101 -#: utils/adt/int8.c:1123 utils/adt/int8.c:1137 utils/adt/int8.c:1151 -#: utils/adt/int8.c:1313 utils/adt/int8.c:1348 utils/adt/numeric.c:4459 -#: utils/adt/rangetypes.c:1528 utils/adt/rangetypes.c:1541 +#: utils/adt/int8.c:448 utils/adt/int8.c:471 utils/adt/int8.c:485 +#: utils/adt/int8.c:499 utils/adt/int8.c:530 utils/adt/int8.c:554 +#: utils/adt/int8.c:636 utils/adt/int8.c:704 utils/adt/int8.c:710 +#: utils/adt/int8.c:736 utils/adt/int8.c:750 utils/adt/int8.c:774 +#: utils/adt/int8.c:787 utils/adt/int8.c:899 utils/adt/int8.c:913 +#: utils/adt/int8.c:927 utils/adt/int8.c:958 utils/adt/int8.c:980 +#: 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/rangetypes.c:1535 utils/adt/rangetypes.c:1548 #: utils/adt/varbit.c:1676 #, c-format msgid "bigint out of range" msgstr "bigint поза діапазоном" -#: utils/adt/int8.c:1361 +#: utils/adt/int8.c:1360 #, c-format msgid "OID out of range" msgstr "OID поза діапазоном" -#: utils/adt/json.c:320 utils/adt/jsonb.c:781 +#: utils/adt/json.c:202 utils/adt/jsonb.c:664 #, c-format msgid "key value must be scalar, not array, composite, or json" msgstr "значенням ключа повинен бути скаляр, не масив, композитний тип, або json" -#: utils/adt/json.c:1113 utils/adt/json.c:1123 utils/fmgr/funcapi.c:2082 +#: utils/adt/json.c:1034 utils/adt/json.c:1044 utils/fmgr/funcapi.c:2090 #, c-format msgid "could not determine data type for argument %d" msgstr "не вдалося визначити тип даних для аргументу %d" -#: utils/adt/json.c:1146 utils/adt/json.c:1337 utils/adt/json.c:1513 -#: utils/adt/json.c:1591 utils/adt/jsonb.c:1432 utils/adt/jsonb.c:1522 +#: utils/adt/json.c:1067 utils/adt/json.c:1266 utils/adt/json.c:1449 +#: utils/adt/json.c:1527 utils/adt/jsonb.c:1333 utils/adt/jsonb.c:1423 #, c-format msgid "null value not allowed for object key" msgstr "значення null не дозволене для ключа об'єкту" -#: utils/adt/json.c:1189 utils/adt/json.c:1352 +#: utils/adt/json.c:1117 utils/adt/json.c:1288 #, c-format msgid "duplicate JSON object key value: %s" msgstr "дублікат ключа об'єкта JSON: %s" -#: utils/adt/json.c:1297 utils/adt/jsonb.c:1233 +#: utils/adt/json.c:1226 utils/adt/jsonb.c:1134 #, c-format msgid "argument list must have even number of elements" msgstr "список аргументів повинен мати парну кількість елементів" #. translator: %s is a SQL function name -#: utils/adt/json.c:1299 utils/adt/jsonb.c:1235 +#: utils/adt/json.c:1228 utils/adt/jsonb.c:1136 #, c-format msgid "The arguments of %s must consist of alternating keys and values." msgstr "Аргументи %s повинні складатись з альтернативних ключей і значень." -#: utils/adt/json.c:1491 utils/adt/jsonb.c:1410 +#: utils/adt/json.c:1427 utils/adt/jsonb.c:1311 #, c-format msgid "array must have two columns" msgstr "масив повинен мати два стовпця" -#: utils/adt/json.c:1580 utils/adt/jsonb.c:1511 +#: utils/adt/json.c:1516 utils/adt/jsonb.c:1412 #, c-format msgid "mismatched array dimensions" msgstr "невідповідні виміри масиву" -#: utils/adt/json.c:1764 utils/adt/jsonb_util.c:1958 +#: utils/adt/json.c:1702 utils/adt/jsonb_util.c:1956 #, c-format msgid "duplicate JSON object key value" msgstr "дублікат значення ключа об'єкту JSON" -#: utils/adt/jsonb.c:294 +#: utils/adt/jsonb.c:282 #, c-format msgid "string too long to represent as jsonb string" msgstr "рядок занадто довгий для представлення в якості рядка jsonb" -#: utils/adt/jsonb.c:295 +#: utils/adt/jsonb.c:283 #, c-format msgid "Due to an implementation restriction, jsonb strings cannot exceed %d bytes." msgstr "Через обмеження упровадження, рядки jsonb не можуть перевищувати %d байт." -#: utils/adt/jsonb.c:1252 +#: utils/adt/jsonb.c:1153 #, c-format msgid "argument %d: key must not be null" msgstr "аргумент %d: ключ не повинен бути null" -#: utils/adt/jsonb.c:1843 +#: utils/adt/jsonb.c:1744 #, c-format msgid "field name must not be null" msgstr "ім'я поля не повинно бути null" -#: utils/adt/jsonb.c:1905 +#: utils/adt/jsonb.c:1806 #, c-format msgid "object keys must be strings" msgstr "ключі об'єктів повинні бути рядками" -#: utils/adt/jsonb.c:2116 +#: utils/adt/jsonb.c:2017 #, c-format msgid "cannot cast jsonb null to type %s" msgstr "привести значення jsonb null до типу %s не можна" -#: utils/adt/jsonb.c:2117 +#: utils/adt/jsonb.c:2018 #, c-format msgid "cannot cast jsonb string to type %s" msgstr "привести рядок jsonb до типу %s не можна" -#: utils/adt/jsonb.c:2118 +#: utils/adt/jsonb.c:2019 #, c-format msgid "cannot cast jsonb numeric to type %s" msgstr "привести число jsonb до типу %s не можна" -#: utils/adt/jsonb.c:2119 +#: utils/adt/jsonb.c:2020 #, c-format msgid "cannot cast jsonb boolean to type %s" msgstr "привести логічне значення jsonb до типу %s не можна" -#: utils/adt/jsonb.c:2120 +#: utils/adt/jsonb.c:2021 #, c-format msgid "cannot cast jsonb array to type %s" msgstr "привести масив jsonb до типу %s не можна" -#: utils/adt/jsonb.c:2121 +#: utils/adt/jsonb.c:2022 #, c-format msgid "cannot cast jsonb object to type %s" msgstr "привести об'єкт jsonb до типу %s не можна" -#: utils/adt/jsonb.c:2122 +#: utils/adt/jsonb.c:2023 #, c-format msgid "cannot cast jsonb array or object to type %s" msgstr "привести масив або об'єкт jsonb до типу %s не можна" -#: utils/adt/jsonb_util.c:758 +#: utils/adt/jsonb_util.c:756 #, c-format msgid "number of jsonb object pairs exceeds the maximum allowed (%zu)" msgstr "кількість пар об'єкта jsonb перевищує максимально дозволену (%zu)" -#: utils/adt/jsonb_util.c:799 +#: utils/adt/jsonb_util.c:797 #, c-format msgid "number of jsonb array elements exceeds the maximum allowed (%zu)" msgstr "кількість елементів масиву jsonb перевищує максимально дозволену(%zu)" -#: utils/adt/jsonb_util.c:1673 utils/adt/jsonb_util.c:1693 +#: utils/adt/jsonb_util.c:1671 utils/adt/jsonb_util.c:1691 #, c-format msgid "total size of jsonb array elements exceeds the maximum of %d bytes" msgstr "загальний розмір елементів масиву jsonb перевищує максимум %d байт" -#: utils/adt/jsonb_util.c:1754 utils/adt/jsonb_util.c:1789 -#: utils/adt/jsonb_util.c:1809 +#: utils/adt/jsonb_util.c:1752 utils/adt/jsonb_util.c:1787 +#: utils/adt/jsonb_util.c:1807 #, c-format msgid "total size of jsonb object elements exceeds the maximum of %d bytes" msgstr "загальний розмір елементів об'єкту jsonb перевищує максимум %d байт" -#: utils/adt/jsonbsubs.c:70 utils/adt/jsonbsubs.c:151 +#: utils/adt/jsonbsubs.c:67 utils/adt/jsonbsubs.c:148 #, c-format msgid "jsonb subscript does not support slices" msgstr "підрядковий символ jsonb не підтримує сектори" -#: utils/adt/jsonbsubs.c:103 utils/adt/jsonbsubs.c:117 +#: utils/adt/jsonbsubs.c:100 utils/adt/jsonbsubs.c:114 #, c-format msgid "subscript type %s is not supported" msgstr "тип підписки %s не підтримується" -#: utils/adt/jsonbsubs.c:104 +#: utils/adt/jsonbsubs.c:101 #, c-format msgid "jsonb subscript must be coercible to only one type, integer or text." msgstr "підрядковий символ jsonb повинен бути приведений лише до одного типу, integer або text." -#: utils/adt/jsonbsubs.c:118 +#: utils/adt/jsonbsubs.c:115 #, c-format msgid "jsonb subscript must be coercible to either integer or text." msgstr "підрядковий символ jsonb повинен бути приведений або до integer, або до text." -#: utils/adt/jsonbsubs.c:139 +#: utils/adt/jsonbsubs.c:136 #, c-format msgid "jsonb subscript must have text type" msgstr "підрядковий символ jsonb повинен мати тип text" -#: utils/adt/jsonbsubs.c:207 +#: utils/adt/jsonbsubs.c:204 #, c-format msgid "jsonb subscript in assignment must not be null" msgstr "підрядковий символ jsonb у присвоєнні не повинен бути null" -#: utils/adt/jsonfuncs.c:572 utils/adt/jsonfuncs.c:821 -#: utils/adt/jsonfuncs.c:2429 utils/adt/jsonfuncs.c:2881 -#: utils/adt/jsonfuncs.c:3676 utils/adt/jsonfuncs.c:4018 +#: utils/adt/jsonfuncs.c:583 utils/adt/jsonfuncs.c:830 +#: utils/adt/jsonfuncs.c:2439 utils/adt/jsonfuncs.c:3015 +#: utils/adt/jsonfuncs.c:3948 utils/adt/jsonfuncs.c:4295 #, c-format msgid "cannot call %s on a scalar" msgstr "викликати %s зі скаляром, не можна" -#: utils/adt/jsonfuncs.c:577 utils/adt/jsonfuncs.c:806 -#: utils/adt/jsonfuncs.c:2883 utils/adt/jsonfuncs.c:3663 +#: utils/adt/jsonfuncs.c:588 utils/adt/jsonfuncs.c:815 +#: utils/adt/jsonfuncs.c:3017 utils/adt/jsonfuncs.c:3935 #, c-format msgid "cannot call %s on an array" msgstr "викликати %s з масивом, не можна" -#: utils/adt/jsonfuncs.c:636 jsonpath_scan.l:596 +#: utils/adt/jsonfuncs.c:647 jsonpath_scan.l:607 #, c-format msgid "unsupported Unicode escape sequence" msgstr "непідтримувана спеціальна послідовність Unicode" -#: utils/adt/jsonfuncs.c:713 +#: utils/adt/jsonfuncs.c:724 #, c-format msgid "JSON data, line %d: %s%s%s" msgstr "Дані JSON, рядок %d: %s%s%s" -#: utils/adt/jsonfuncs.c:1875 utils/adt/jsonfuncs.c:1912 +#: utils/adt/jsonfuncs.c:1883 utils/adt/jsonfuncs.c:1920 #, c-format msgid "cannot get array length of a scalar" msgstr "отримати довжину скаляра масиву не можна" -#: utils/adt/jsonfuncs.c:1879 utils/adt/jsonfuncs.c:1898 +#: utils/adt/jsonfuncs.c:1887 utils/adt/jsonfuncs.c:1906 #, c-format msgid "cannot get array length of a non-array" msgstr "отримати довжину масива для не масиву не можна" -#: utils/adt/jsonfuncs.c:1978 +#: utils/adt/jsonfuncs.c:1986 #, c-format msgid "cannot call %s on a non-object" msgstr "викликати %s з не об'єктом, не можна" -#: utils/adt/jsonfuncs.c:2166 +#: utils/adt/jsonfuncs.c:2174 #, c-format msgid "cannot deconstruct an array as an object" msgstr "вилучити масив у вигляді об'єкту не можна" -#: utils/adt/jsonfuncs.c:2180 +#: utils/adt/jsonfuncs.c:2188 #, c-format msgid "cannot deconstruct a scalar" msgstr "вилучити скаляр не можна" -#: utils/adt/jsonfuncs.c:2225 +#: utils/adt/jsonfuncs.c:2233 #, c-format msgid "cannot extract elements from a scalar" msgstr "вилучити елементи зі скаляру не можна" -#: utils/adt/jsonfuncs.c:2229 +#: utils/adt/jsonfuncs.c:2237 #, c-format msgid "cannot extract elements from an object" msgstr "вилучити елементи з об'єкту не можна" -#: utils/adt/jsonfuncs.c:2414 utils/adt/jsonfuncs.c:3896 +#: utils/adt/jsonfuncs.c:2424 utils/adt/jsonfuncs.c:4173 #, c-format msgid "cannot call %s on a non-array" msgstr "викликати %s з не масивом не можна" -#: utils/adt/jsonfuncs.c:2488 utils/adt/jsonfuncs.c:2493 -#: utils/adt/jsonfuncs.c:2510 utils/adt/jsonfuncs.c:2516 +#: utils/adt/jsonfuncs.c:2515 utils/adt/jsonfuncs.c:2520 +#: utils/adt/jsonfuncs.c:2538 utils/adt/jsonfuncs.c:2544 #, c-format msgid "expected JSON array" msgstr "очікувався масив JSON" -#: utils/adt/jsonfuncs.c:2489 +#: utils/adt/jsonfuncs.c:2516 #, c-format msgid "See the value of key \"%s\"." msgstr "Перевірте значення ключа \"%s\"." -#: utils/adt/jsonfuncs.c:2511 +#: utils/adt/jsonfuncs.c:2539 #, c-format msgid "See the array element %s of key \"%s\"." msgstr "Перевірте елемент масиву %s ключа \"%s\"." -#: utils/adt/jsonfuncs.c:2517 +#: utils/adt/jsonfuncs.c:2545 #, c-format msgid "See the array element %s." msgstr "Перевірте елемент масиву %s." -#: utils/adt/jsonfuncs.c:2552 +#: utils/adt/jsonfuncs.c:2597 #, c-format msgid "malformed JSON array" msgstr "неправильний масив JSON" #. translator: %s is a function name, eg json_to_record -#: utils/adt/jsonfuncs.c:3389 +#: utils/adt/jsonfuncs.c:3647 #, c-format msgid "first argument of %s must be a row type" msgstr "першим аргументом %s повинен бути тип рядка" #. translator: %s is a function name, eg json_to_record -#: utils/adt/jsonfuncs.c:3413 +#: utils/adt/jsonfuncs.c:3671 #, c-format msgid "could not determine row type for result of %s" msgstr "не вдалося визначити тип рядка для результату %s" -#: utils/adt/jsonfuncs.c:3415 +#: utils/adt/jsonfuncs.c:3673 #, c-format msgid "Provide a non-null record argument, or call the function in the FROM clause using a column definition list." msgstr "Надайте аргумент ненульового запису, або викличте функцію в реченні FROM, використовуючи список визначення стовпців." -#: utils/adt/jsonfuncs.c:3785 utils/fmgr/funcapi.c:94 +#: utils/adt/jsonfuncs.c:4059 utils/fmgr/funcapi.c:94 #, c-format msgid "materialize mode required, but it is not allowed in this context" msgstr "необхідний режим матеріалізації (materialize mode), але він неприпустимий у цьому контексті" -#: utils/adt/jsonfuncs.c:3913 utils/adt/jsonfuncs.c:3997 +#: utils/adt/jsonfuncs.c:4190 utils/adt/jsonfuncs.c:4274 #, c-format msgid "argument of %s must be an array of objects" msgstr "аргументом %s повинен бути масив об'єктів" -#: utils/adt/jsonfuncs.c:3946 +#: utils/adt/jsonfuncs.c:4223 #, c-format msgid "cannot call %s on an object" msgstr "викликати %s з об'єктом не можна" -#: utils/adt/jsonfuncs.c:4380 utils/adt/jsonfuncs.c:4439 -#: utils/adt/jsonfuncs.c:4519 +#: utils/adt/jsonfuncs.c:4656 utils/adt/jsonfuncs.c:4715 +#: utils/adt/jsonfuncs.c:4795 #, c-format msgid "cannot delete from scalar" msgstr "видалити зі скаляру не можна" -#: utils/adt/jsonfuncs.c:4524 +#: utils/adt/jsonfuncs.c:4800 #, c-format msgid "cannot delete from object using integer index" msgstr "видалити з об'єкту по числовому індексу не можна" -#: utils/adt/jsonfuncs.c:4592 utils/adt/jsonfuncs.c:4751 +#: utils/adt/jsonfuncs.c:4868 utils/adt/jsonfuncs.c:5027 #, c-format msgid "cannot set path in scalar" msgstr "встановити шлях в скалярі не можна" -#: utils/adt/jsonfuncs.c:4633 utils/adt/jsonfuncs.c:4675 +#: utils/adt/jsonfuncs.c:4909 utils/adt/jsonfuncs.c:4951 #, c-format msgid "null_value_treatment must be \"delete_key\", \"return_target\", \"use_json_null\", or \"raise_exception\"" msgstr "null_value_treatment має бути \"delete_key\", \"return_target\", \"use_json_null\", або \"raise_exception\"" -#: utils/adt/jsonfuncs.c:4646 +#: utils/adt/jsonfuncs.c:4922 #, c-format msgid "JSON value must not be null" msgstr "Значення JSON не повинне бути null" -#: utils/adt/jsonfuncs.c:4647 +#: utils/adt/jsonfuncs.c:4923 #, c-format msgid "Exception was raised because null_value_treatment is \"raise_exception\"." msgstr "Виняток було запущено через те, що null_value_treatment дорівнює \"raise_exception\"." -#: utils/adt/jsonfuncs.c:4648 +#: utils/adt/jsonfuncs.c:4924 #, c-format msgid "To avoid, either change the null_value_treatment argument or ensure that an SQL NULL is not passed." msgstr "Щоб уникнути, або змініть аргумент null_value_treatment або переконайтесь що SQL NULL не передано." -#: utils/adt/jsonfuncs.c:4703 +#: utils/adt/jsonfuncs.c:4979 #, c-format msgid "cannot delete path in scalar" msgstr "видалити шлях в скалярі не можна" -#: utils/adt/jsonfuncs.c:4917 +#: utils/adt/jsonfuncs.c:5193 #, c-format msgid "path element at position %d is null" msgstr "елемент шляху в позиції %d є null" -#: utils/adt/jsonfuncs.c:4936 utils/adt/jsonfuncs.c:4967 -#: utils/adt/jsonfuncs.c:5040 +#: utils/adt/jsonfuncs.c:5212 utils/adt/jsonfuncs.c:5243 +#: utils/adt/jsonfuncs.c:5316 #, c-format msgid "cannot replace existing key" msgstr "замініти існуючий ключ не можна" -#: utils/adt/jsonfuncs.c:4937 utils/adt/jsonfuncs.c:4968 +#: utils/adt/jsonfuncs.c:5213 utils/adt/jsonfuncs.c:5244 #, c-format msgid "The path assumes key is a composite object, but it is a scalar value." msgstr "Шлях припускає, що ключ є складеним об'єктом, але це скалярне значення." -#: utils/adt/jsonfuncs.c:5041 +#: utils/adt/jsonfuncs.c:5317 #, c-format msgid "Try using the function jsonb_set to replace key value." msgstr "Спробуйте, використати функцію jsonb_set, щоб замінити значення ключа." -#: utils/adt/jsonfuncs.c:5145 +#: utils/adt/jsonfuncs.c:5421 #, c-format msgid "path element at position %d is not an integer: \"%s\"" msgstr "елмент шляху в позиції %d не є цілим числом: \"%s\"" -#: utils/adt/jsonfuncs.c:5162 +#: utils/adt/jsonfuncs.c:5438 #, c-format msgid "path element at position %d is out of range: %d" msgstr "елемент шляху в позиції %d поза діапазоном: %d" -#: utils/adt/jsonfuncs.c:5314 +#: utils/adt/jsonfuncs.c:5590 #, c-format msgid "wrong flag type, only arrays and scalars are allowed" msgstr "неправильний тип позначки, дозволені лише масиви і скаляри" -#: utils/adt/jsonfuncs.c:5321 +#: utils/adt/jsonfuncs.c:5597 #, c-format msgid "flag array element is not a string" msgstr "елемент масиву позначок не є рядком" -#: utils/adt/jsonfuncs.c:5322 utils/adt/jsonfuncs.c:5344 +#: utils/adt/jsonfuncs.c:5598 utils/adt/jsonfuncs.c:5620 #, c-format msgid "Possible values are: \"string\", \"numeric\", \"boolean\", \"key\", and \"all\"." msgstr "Можливі значення: \"string\", \"numeric\", \"boolean\", \"key\", і \"all\"." -#: utils/adt/jsonfuncs.c:5342 +#: utils/adt/jsonfuncs.c:5618 #, c-format msgid "wrong flag in flag array: \"%s\"" msgstr "неправильна позначка в масиві позначок: \"%s\"" -#: utils/adt/jsonpath.c:382 +#: utils/adt/jsonpath.c:389 #, c-format msgid "@ is not allowed in root expressions" msgstr "@ не дозволяється в кореневих виразах" -#: utils/adt/jsonpath.c:388 +#: utils/adt/jsonpath.c:395 #, c-format msgid "LAST is allowed only in array subscripts" msgstr "LAST дозволяється лише в підрядкових символах масиву" -#: utils/adt/jsonpath_exec.c:361 +#: utils/adt/jsonpath_exec.c:491 #, c-format msgid "single boolean result is expected" msgstr "очікується один логічний результат" -#: utils/adt/jsonpath_exec.c:557 +#: utils/adt/jsonpath_exec.c:851 #, c-format -msgid "\"vars\" argument is not an object" -msgstr "аргумент \"vars\" не є об'єктом" +msgid "jsonpath wildcard array accessor can only be applied to an array" +msgstr "доступ до підстановочного масиву jsonpath може бути застосований лише до масиву" -#: utils/adt/jsonpath_exec.c:558 +#: utils/adt/jsonpath_exec.c:874 #, c-format -msgid "Jsonpath parameters should be encoded as key-value pairs of \"vars\" object." -msgstr "Параметри Jsonpath повинні бути закодовані в якості пар \"ключ-значення\" об'єкту \"vars\"." +msgid "jsonpath wildcard member accessor can only be applied to an object" +msgstr "доступ до підстановочного елемента jsonpath може бути застосований лише до об'єкта" + +#: utils/adt/jsonpath_exec.c:923 +#, c-format +msgid "jsonpath array subscript is out of bounds" +msgstr "підрядковий символ масиву jsonpath поза межами" + +#: utils/adt/jsonpath_exec.c:980 +#, c-format +msgid "jsonpath array accessor can only be applied to an array" +msgstr "доступ до масиву jsonpath може бути застосований лише до масиву" -#: utils/adt/jsonpath_exec.c:675 +#: utils/adt/jsonpath_exec.c:1044 #, c-format msgid "JSON object does not contain key \"%s\"" msgstr "Об'єкт JSON не містить ключа \"%s\"" -#: utils/adt/jsonpath_exec.c:687 +#: utils/adt/jsonpath_exec.c:1056 #, c-format msgid "jsonpath member accessor can only be applied to an object" msgstr "доступ для елемента jsonpath може бути застосований лише до об'єкта" -#: utils/adt/jsonpath_exec.c:716 +#: utils/adt/jsonpath_exec.c:1114 #, c-format -msgid "jsonpath wildcard array accessor can only be applied to an array" -msgstr "доступ до підстановочного масиву jsonpath може бути застосований лише до масиву" +msgid "jsonpath item method .%s() can only be applied to an array" +msgstr "метод елемента jsonpath .%s() може бути застосований лише до масиву" -#: utils/adt/jsonpath_exec.c:764 +#: utils/adt/jsonpath_exec.c:1167 utils/adt/jsonpath_exec.c:1193 #, c-format -msgid "jsonpath array subscript is out of bounds" -msgstr "підрядковий символ масиву jsonpath поза межами" +msgid "argument \"%s\" of jsonpath item method .%s() is invalid for type double precision" +msgstr "" -#: utils/adt/jsonpath_exec.c:821 +#: utils/adt/jsonpath_exec.c:1172 utils/adt/jsonpath_exec.c:1198 +#: utils/adt/jsonpath_exec.c:1414 utils/adt/jsonpath_exec.c:1446 #, c-format -msgid "jsonpath array accessor can only be applied to an array" -msgstr "доступ до масиву jsonpath може бути застосований лише до масиву" +msgid "NaN or Infinity is not allowed for jsonpath item method .%s()" +msgstr "" -#: utils/adt/jsonpath_exec.c:873 +#: utils/adt/jsonpath_exec.c:1211 utils/adt/jsonpath_exec.c:1313 +#: utils/adt/jsonpath_exec.c:1455 utils/adt/jsonpath_exec.c:1593 #, c-format -msgid "jsonpath wildcard member accessor can only be applied to an object" -msgstr "доступ до підстановочного елемента jsonpath може бути застосований лише до об'єкта" +msgid "jsonpath item method .%s() can only be applied to a string or numeric value" +msgstr "метод елемента jsonpath .%s() може бути застосований лише до рядка або числового значення" -#: utils/adt/jsonpath_exec.c:1007 +#: utils/adt/jsonpath_exec.c:1281 utils/adt/jsonpath_exec.c:1305 #, c-format -msgid "jsonpath item method .%s() can only be applied to an array" -msgstr "метод елемента jsonpath .%s() може бути застосований лише до масиву" +msgid "argument \"%s\" of jsonpath item method .%s() is invalid for type bigint" +msgstr "" -#: utils/adt/jsonpath_exec.c:1060 +#: utils/adt/jsonpath_exec.c:1357 utils/adt/jsonpath_exec.c:1377 #, c-format -msgid "numeric argument of jsonpath item method .%s() is out of range for type double precision" -msgstr "числовий аргумент методу елемента jsonpath .%s() поза діапазоном для типу double precision" +msgid "argument \"%s\" of jsonpath item method .%s() is invalid for type boolean" +msgstr "" -#: utils/adt/jsonpath_exec.c:1081 +#: utils/adt/jsonpath_exec.c:1386 #, c-format -msgid "string argument of jsonpath item method .%s() is not a valid representation of a double precision number" -msgstr "строковий аргумент методу елемента jsonpath .%s() не є представленням числа double precision" +msgid "jsonpath item method .%s() can only be applied to a boolean, string, or numeric value" +msgstr "" -#: utils/adt/jsonpath_exec.c:1094 +#: utils/adt/jsonpath_exec.c:1439 utils/adt/jsonpath_exec.c:1528 #, c-format -msgid "jsonpath item method .%s() can only be applied to a string or numeric value" -msgstr "метод елемента jsonpath .%s() може бути застосований лише до рядка або числового значення" +msgid "argument \"%s\" of jsonpath item method .%s() is invalid for type numeric" +msgstr "" + +#: utils/adt/jsonpath_exec.c:1487 +#, c-format +msgid "precision of jsonpath item method .%s() is out of range for type integer" +msgstr "точність методу елементу jsonpath .%s() знаходиться за межами діапазону для типу integer" + +#: utils/adt/jsonpath_exec.c:1501 +#, c-format +msgid "scale of jsonpath item method .%s() is out of range for type integer" +msgstr "масштаб методу jsonpath елементу .%s() знаходиться за межами діапазону для типу integer" + +#: utils/adt/jsonpath_exec.c:1561 utils/adt/jsonpath_exec.c:1585 +#, c-format +msgid "argument \"%s\" of jsonpath item method .%s() is invalid for type integer" +msgstr "" -#: utils/adt/jsonpath_exec.c:1584 +#: utils/adt/jsonpath_exec.c:1648 +#, c-format +msgid "jsonpath item method .%s() can only be applied to a boolean, string, numeric, or datetime value" +msgstr "" + +#: utils/adt/jsonpath_exec.c:2137 #, c-format msgid "left operand of jsonpath operator %s is not a single numeric value" msgstr "лівий операнд оператора jsonpath %s не є єдиним числовим значенням" -#: utils/adt/jsonpath_exec.c:1591 +#: utils/adt/jsonpath_exec.c:2144 #, c-format msgid "right operand of jsonpath operator %s is not a single numeric value" msgstr "правий операнд оператора jsonpath %s не є єдиним числовим значенням" -#: utils/adt/jsonpath_exec.c:1659 +#: utils/adt/jsonpath_exec.c:2212 #, c-format msgid "operand of unary jsonpath operator %s is not a numeric value" msgstr "операнд унарного оператора jsonpath %s не є єдиним числовим значенням" -#: utils/adt/jsonpath_exec.c:1758 +#: utils/adt/jsonpath_exec.c:2311 #, c-format msgid "jsonpath item method .%s() can only be applied to a numeric value" msgstr "метод елемента jsonpath .%s() може бути застосований лише до числового значення" -#: utils/adt/jsonpath_exec.c:1798 +#: utils/adt/jsonpath_exec.c:2357 #, c-format msgid "jsonpath item method .%s() can only be applied to a string" msgstr "метод елемента jsonpath .%s() може бути застосований лише до рядку" -#: utils/adt/jsonpath_exec.c:1901 +#: utils/adt/jsonpath_exec.c:2450 +#, c-format +msgid "time precision of jsonpath item method .%s() is out of range for type integer" +msgstr "точність часу методу елементу jsonpath .%s() знаходиться за межами діапазону для типу integer" + +#: utils/adt/jsonpath_exec.c:2484 utils/adt/jsonpath_exec.c:2490 +#: utils/adt/jsonpath_exec.c:2517 utils/adt/jsonpath_exec.c:2545 +#: utils/adt/jsonpath_exec.c:2598 utils/adt/jsonpath_exec.c:2649 +#: utils/adt/jsonpath_exec.c:2720 #, c-format -msgid "datetime format is not recognized: \"%s\"" -msgstr "формат дати й часу не розпізнано: \"%s\"" +msgid "%s format is not recognized: \"%s\"" +msgstr "Формат %s не розпізнано: \"%s\"" -#: utils/adt/jsonpath_exec.c:1903 +#: utils/adt/jsonpath_exec.c:2486 #, c-format msgid "Use a datetime template argument to specify the input data format." msgstr "Використайте аргумент шаблону дати й часу щоб вказати формат вхідних даних." -#: utils/adt/jsonpath_exec.c:1971 +#: utils/adt/jsonpath_exec.c:2679 utils/adt/jsonpath_exec.c:2760 +#, c-format +msgid "time precision of jsonpath item method .%s() is invalid" +msgstr "" + +#: utils/adt/jsonpath_exec.c:2840 #, c-format msgid "jsonpath item method .%s() can only be applied to an object" msgstr "метод елемента jsonpath .%s() може бути застосований лише до об'єкта" -#: utils/adt/jsonpath_exec.c:2153 +#: utils/adt/jsonpath_exec.c:3124 +#, c-format +msgid "could not convert value of type %s to jsonpath" +msgstr "" + +#: utils/adt/jsonpath_exec.c:3158 #, c-format msgid "could not find jsonpath variable \"%s\"" msgstr "не вдалося знайти змінну jsonpath \"%s\"" -#: utils/adt/jsonpath_exec.c:2417 +#: utils/adt/jsonpath_exec.c:3211 +#, c-format +msgid "\"vars\" argument is not an object" +msgstr "аргумент \"vars\" не є об'єктом" + +#: utils/adt/jsonpath_exec.c:3212 +#, c-format +msgid "Jsonpath parameters should be encoded as key-value pairs of \"vars\" object." +msgstr "Параметри Jsonpath повинні бути закодовані в якості пар \"ключ-значення\" об'єкту \"vars\"." + +#: utils/adt/jsonpath_exec.c:3475 #, c-format msgid "jsonpath array subscript is not a single numeric value" msgstr "підрядковий символ масиву jsonpath не є єдиним числовим значенням" -#: utils/adt/jsonpath_exec.c:2429 +#: utils/adt/jsonpath_exec.c:3487 #, c-format msgid "jsonpath array subscript is out of integer range" msgstr "підрядковий символ масиву jsonpath поза цілим діапазоном" -#: utils/adt/jsonpath_exec.c:2606 +#: utils/adt/jsonpath_exec.c:3671 #, c-format msgid "cannot convert value from %s to %s without time zone usage" msgstr "не можна перетворити значення з %s в %s без використання часового поясу" -#: utils/adt/jsonpath_exec.c:2608 +#: utils/adt/jsonpath_exec.c:3673 #, c-format msgid "Use *_tz() function for time zone support." msgstr "Використовуйте функцію *_tz() для підтримки часового поясу." +#: utils/adt/jsonpath_exec.c:3981 +#, c-format +msgid "JSON path expression for column \"%s\" should return single item without wrapper" +msgstr "" + +#: utils/adt/jsonpath_exec.c:3983 utils/adt/jsonpath_exec.c:3988 +#, c-format +msgid "Use the WITH WRAPPER clause to wrap SQL/JSON items into an array." +msgstr "" + +#: utils/adt/jsonpath_exec.c:3987 +#, c-format +msgid "JSON path expression in JSON_QUERY should return single item without wrapper" +msgstr "" + +#: utils/adt/jsonpath_exec.c:4045 utils/adt/jsonpath_exec.c:4069 +#, c-format +msgid "JSON path expression for column \"%s\" should return single scalar item" +msgstr "" + +#: utils/adt/jsonpath_exec.c:4050 utils/adt/jsonpath_exec.c:4074 +#, c-format +msgid "JSON path expression in JSON_VALUE should return single scalar item" +msgstr "" + #: utils/adt/levenshtein.c:132 #, c-format msgid "levenshtein argument exceeds maximum length of %d characters" msgstr "довжина аргументу levenshtein перевищує максимальну довжину, %d символів" -#: utils/adt/like.c:161 +#: utils/adt/like.c:159 #, c-format msgid "nondeterministic collations are not supported for LIKE" msgstr "недетерміновані параметри сортування не підтримуються для LIKE" -#: utils/adt/like.c:190 utils/adt/like_support.c:1024 +#: utils/adt/like.c:188 utils/adt/like_support.c:1023 #, c-format msgid "could not determine which collation to use for ILIKE" msgstr "не вдалося визначити який параметр сортування використати для ILIKE" -#: utils/adt/like.c:202 +#: utils/adt/like.c:200 #, c-format msgid "nondeterministic collations are not supported for ILIKE" msgstr "недетерміновані параметри сортування не підтримуються для ILIKE" @@ -24575,22 +25596,22 @@ msgstr "недетерміновані параметри сортування msgid "LIKE pattern must not end with escape character" msgstr "Шаблон LIKE не повинен закінчуватись символом виходу" -#: utils/adt/like_match.c:293 utils/adt/regexp.c:801 +#: utils/adt/like_match.c:293 utils/adt/regexp.c:800 #, c-format msgid "invalid escape string" msgstr "неприпустимий рядок виходу" -#: utils/adt/like_match.c:294 utils/adt/regexp.c:802 +#: utils/adt/like_match.c:294 utils/adt/regexp.c:801 #, c-format msgid "Escape string must be empty or one character." msgstr "Рядок виходу повинен бути пустим або складатися з одного символу." -#: utils/adt/like_support.c:1014 +#: utils/adt/like_support.c:1013 #, c-format msgid "case insensitive matching not supported on type bytea" msgstr "порівняння без урахування регістру не підтримується для типу bytea" -#: utils/adt/like_support.c:1115 +#: utils/adt/like_support.c:1114 #, c-format msgid "regular-expression matching not supported on type bytea" msgstr "порівняння з регулярними виразами не підтримується для типу bytea" @@ -24600,17 +25621,17 @@ msgstr "порівняння з регулярними виразами не п msgid "invalid octet value in \"macaddr\" value: \"%s\"" msgstr "неприпустиме значення октету в значенні типу \"macaddr\": \"%s\"" -#: utils/adt/mac8.c:554 +#: utils/adt/mac8.c:555 #, c-format msgid "macaddr8 data out of range to convert to macaddr" msgstr "дані macaddr8 поза діапазоном, для перетворення в macaddr" -#: utils/adt/mac8.c:555 +#: utils/adt/mac8.c:556 #, c-format msgid "Only addresses that have FF and FE as values in the 4th and 5th bytes from the left, for example xx:xx:xx:ff:fe:xx:xx:xx, are eligible to be converted from macaddr8 to macaddr." msgstr "Лише адреси, які мають FF і FE в якості значень в четвертому і п'ятому байті зліва, наприклад xx:xx:xx:ff:fe:xx:xx:xx можуть бути перетворені з macaddr8 в macaddr." -#: utils/adt/mcxtfuncs.c:182 +#: utils/adt/mcxtfuncs.c:173 #, c-format msgid "PID %d is not a PostgreSQL server process" msgstr "PID %d не є серверним процесом PostgreSQL" @@ -24649,70 +25670,70 @@ msgstr "може бути пустою міткою" msgid "requires AS" msgstr "потребує AS" -#: utils/adt/misc.c:853 utils/adt/misc.c:867 utils/adt/misc.c:906 -#: utils/adt/misc.c:912 utils/adt/misc.c:918 utils/adt/misc.c:941 +#: utils/adt/misc.c:897 utils/adt/misc.c:911 utils/adt/misc.c:950 +#: utils/adt/misc.c:956 utils/adt/misc.c:962 utils/adt/misc.c:985 #, c-format msgid "string is not a valid identifier: \"%s\"" msgstr "рядок не є припустимим ідентифікатором: \"%s\"" -#: utils/adt/misc.c:855 +#: utils/adt/misc.c:899 #, c-format msgid "String has unclosed double quotes." msgstr "Рядок має не закриті лапки." -#: utils/adt/misc.c:869 +#: utils/adt/misc.c:913 #, c-format msgid "Quoted identifier must not be empty." msgstr "Ідентифікатор в лапках не повинен бути пустим." -#: utils/adt/misc.c:908 +#: utils/adt/misc.c:952 #, c-format msgid "No valid identifier before \".\"." msgstr "Перед \".\" немає припустимого ідентифікатору." -#: utils/adt/misc.c:914 +#: utils/adt/misc.c:958 #, c-format msgid "No valid identifier after \".\"." msgstr "Після \".\" немає припустимого ідентифікатора." -#: utils/adt/misc.c:974 +#: utils/adt/misc.c:1018 #, c-format msgid "log format \"%s\" is not supported" msgstr "формат журналу \"%s\" не підтримується" -#: utils/adt/misc.c:975 +#: utils/adt/misc.c:1019 #, c-format msgid "The supported log formats are \"stderr\", \"csvlog\", and \"jsonlog\"." msgstr "Підтримуванні формати журналів: \"stderr\", \"csvlog\", і \"jsonlog\"." -#: utils/adt/multirangetypes.c:151 utils/adt/multirangetypes.c:164 -#: utils/adt/multirangetypes.c:193 utils/adt/multirangetypes.c:267 -#: utils/adt/multirangetypes.c:291 +#: utils/adt/multirangetypes.c:150 utils/adt/multirangetypes.c:163 +#: utils/adt/multirangetypes.c:192 utils/adt/multirangetypes.c:266 +#: utils/adt/multirangetypes.c:290 #, c-format msgid "malformed multirange literal: \"%s\"" msgstr "неправильний багатодіапазонний літерал: \"%s\"" -#: utils/adt/multirangetypes.c:153 +#: utils/adt/multirangetypes.c:152 #, c-format msgid "Missing left brace." msgstr "Пропущено ліву дужку." -#: utils/adt/multirangetypes.c:195 +#: utils/adt/multirangetypes.c:194 #, c-format msgid "Expected range start." msgstr "Очікуваний початок діапазону." -#: utils/adt/multirangetypes.c:269 +#: utils/adt/multirangetypes.c:268 #, c-format msgid "Expected comma or end of multirange." msgstr "Очікувалась кома або закінчення мультидіапазону." -#: utils/adt/multirangetypes.c:982 +#: utils/adt/multirangetypes.c:981 #, c-format msgid "multiranges cannot be constructed from multidimensional arrays" msgstr "мультидіапазони не можуть бути побудовані з багатовимірних масивів" -#: utils/adt/multirangetypes.c:1008 +#: utils/adt/multirangetypes.c:1007 #, c-format msgid "multirange values cannot contain null members" msgstr "мультидіапазонні значення не можуть містити членів null" @@ -24791,112 +25812,138 @@ msgstr "результат поза діапазоном" msgid "cannot subtract inet values of different sizes" msgstr "не можна віднімати значення inet різного розміру" -#: utils/adt/numeric.c:785 utils/adt/numeric.c:3643 utils/adt/numeric.c:7131 -#: utils/adt/numeric.c:7334 utils/adt/numeric.c:7806 utils/adt/numeric.c:10501 -#: utils/adt/numeric.c:10975 utils/adt/numeric.c:11069 -#: utils/adt/numeric.c:11203 +#: 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 #, c-format msgid "value overflows numeric format" msgstr "значення переповнюють формат numeric" -#: utils/adt/numeric.c:1098 +#: utils/adt/numeric.c:1106 #, c-format msgid "invalid sign in external \"numeric\" value" msgstr "неприпустимий знак у зовнішньому значенні \"numeric\"" -#: utils/adt/numeric.c:1104 +#: utils/adt/numeric.c:1112 #, c-format msgid "invalid scale in external \"numeric\" value" msgstr "неприпустимий масштаб у зовнішньому значенні \"numeric\"" -#: utils/adt/numeric.c:1113 +#: utils/adt/numeric.c:1121 #, c-format msgid "invalid digit in external \"numeric\" value" msgstr "неприпустиме число у зовнішньому значенні \"numeric\"" -#: utils/adt/numeric.c:1328 utils/adt/numeric.c:1342 +#: utils/adt/numeric.c:1336 utils/adt/numeric.c:1350 #, c-format msgid "NUMERIC precision %d must be between 1 and %d" msgstr "Точність NUMERIC %d повинна бути між 1 і %d" -#: utils/adt/numeric.c:1333 +#: utils/adt/numeric.c:1341 #, c-format msgid "NUMERIC scale %d must be between %d and %d" msgstr "Масштаб NUMERIC %d повинен бути між %d і %d" -#: utils/adt/numeric.c:1351 +#: utils/adt/numeric.c:1359 #, c-format msgid "invalid NUMERIC type modifier" msgstr "неприпустимий модифікатор типу NUMERIC" -#: utils/adt/numeric.c:1709 +#: utils/adt/numeric.c:1725 #, c-format msgid "start value cannot be NaN" msgstr "початкове значення не може бути NaN" -#: utils/adt/numeric.c:1713 +#: utils/adt/numeric.c:1729 #, c-format msgid "start value cannot be infinity" msgstr "початкове значення не може бути нескінченністю" -#: utils/adt/numeric.c:1720 +#: utils/adt/numeric.c:1736 #, c-format msgid "stop value cannot be NaN" msgstr "кінцеве значення не може бути NaN" -#: utils/adt/numeric.c:1724 +#: utils/adt/numeric.c:1740 #, c-format msgid "stop value cannot be infinity" msgstr "кінцеве значення не може бути нескінченністю" -#: utils/adt/numeric.c:1737 +#: utils/adt/numeric.c:1753 #, c-format msgid "step size cannot be NaN" msgstr "розмір кроку не може бути NaN" -#: utils/adt/numeric.c:1741 +#: utils/adt/numeric.c:1757 #, c-format msgid "step size cannot be infinity" msgstr "розмір кроку не може бути нескінченністю" -#: utils/adt/numeric.c:3633 +#: utils/adt/numeric.c:3649 #, c-format msgid "factorial of a negative number is undefined" msgstr "факторіал від'ємного числа не визначено" -#: utils/adt/numeric.c:4366 utils/adt/numeric.c:4446 utils/adt/numeric.c:4487 -#: utils/adt/numeric.c:4683 +#: utils/adt/numeric.c:4256 +#, c-format +msgid "lower bound cannot be NaN" +msgstr "" + +#: utils/adt/numeric.c:4260 +#, c-format +msgid "lower bound cannot be infinity" +msgstr "" + +#: utils/adt/numeric.c:4267 +#, c-format +msgid "upper bound cannot be NaN" +msgstr "" + +#: utils/adt/numeric.c:4271 +#, 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 #, c-format msgid "cannot convert NaN to %s" msgstr "неможливо перетворити NaN на %s" -#: utils/adt/numeric.c:4370 utils/adt/numeric.c:4450 utils/adt/numeric.c:4491 -#: utils/adt/numeric.c:4687 +#: utils/adt/numeric.c:4436 utils/adt/numeric.c:4524 utils/adt/numeric.c:4584 +#: utils/adt/numeric.c:4780 #, c-format msgid "cannot convert infinity to %s" msgstr "неможливо перетворити нескінченність на %s" -#: utils/adt/numeric.c:4696 +#: utils/adt/numeric.c:4789 #, c-format msgid "pg_lsn out of range" msgstr "pg_lsn поза діапазоном" -#: utils/adt/numeric.c:7896 utils/adt/numeric.c:7947 +#: utils/adt/numeric.c:7981 utils/adt/numeric.c:8032 #, c-format msgid "numeric field overflow" msgstr "надлишок поля numeric" -#: utils/adt/numeric.c:7897 +#: utils/adt/numeric.c:7982 #, 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:7948 +#: utils/adt/numeric.c:8033 #, c-format msgid "A field with precision %d, scale %d cannot hold an infinite value." msgstr "Поле з точністю %d, масштабом %d не може містити нескінченне значення." -#: utils/adt/oid.c:216 +#: utils/adt/numeric.c:11359 utils/adt/pseudorandomfuncs.c:135 +#: utils/adt/pseudorandomfuncs.c:159 +#, c-format +msgid "lower bound must be less than or equal to upper bound" +msgstr "" + +#: utils/adt/oid.c:217 #, c-format msgid "invalid oidvector data" msgstr "неприпустимі дані oidvector" @@ -24926,306 +25973,312 @@ msgstr "запитаний символ занадто великий для к msgid "requested character not valid for encoding: %u" msgstr "запитаний символ не припустимий для кодування: %u" -#: utils/adt/orderedsetaggs.c:448 utils/adt/orderedsetaggs.c:553 -#: utils/adt/orderedsetaggs.c:693 +#: utils/adt/orderedsetaggs.c:446 utils/adt/orderedsetaggs.c:551 +#: utils/adt/orderedsetaggs.c:691 #, c-format msgid "percentile value %g is not between 0 and 1" msgstr "значення процентиля %g не є між 0 і 1" -#: utils/adt/pg_locale.c:1410 +#: utils/adt/pg_locale.c:1484 #, c-format msgid "could not open collator for locale \"%s\" with rules \"%s\": %s" msgstr "не вдалося відкрити сортувальник для локалізації\"%s\" з правилами \"%s\": %s" -#: utils/adt/pg_locale.c:1421 utils/adt/pg_locale.c:2831 -#: utils/adt/pg_locale.c:2904 +#: utils/adt/pg_locale.c:1495 utils/adt/pg_locale.c:2969 +#: utils/adt/pg_locale.c:3042 #, c-format msgid "ICU is not supported in this build" msgstr "ICU не підтримується в цій збірці" -#: utils/adt/pg_locale.c:1450 +#: utils/adt/pg_locale.c:1523 #, c-format msgid "could not create locale \"%s\": %m" msgstr "не вдалося створити локалізацію \"%s\": %m" -#: utils/adt/pg_locale.c:1453 +#: utils/adt/pg_locale.c:1526 #, c-format msgid "The operating system could not find any locale data for the locale name \"%s\"." msgstr "Операційній системі не вдалося знайти дані локалізації з іменем \"%s\"." -#: utils/adt/pg_locale.c:1568 +#: utils/adt/pg_locale.c:1647 #, c-format msgid "collations with different collate and ctype values are not supported on this platform" msgstr "параметри сортування з різними значеннями collate і ctype не підтримуються на цій платформі" -#: utils/adt/pg_locale.c:1577 -#, c-format -msgid "collation provider LIBC is not supported on this platform" -msgstr "провайдер параметрів сортування LIBC не підтримується на цій платформі" - -#: utils/adt/pg_locale.c:1618 +#: utils/adt/pg_locale.c:1694 #, c-format msgid "collation \"%s\" has no actual version, but a version was recorded" msgstr "для параметру сортування \"%s\" який не має фактичної версії, була вказана версія" -#: utils/adt/pg_locale.c:1624 +#: utils/adt/pg_locale.c:1700 #, c-format msgid "collation \"%s\" has version mismatch" msgstr "невідповідність версій для параметру сортування \"%s\"" -#: utils/adt/pg_locale.c:1626 +#: utils/adt/pg_locale.c:1702 #, 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:1629 +#: utils/adt/pg_locale.c:1705 #, 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:1695 +#: utils/adt/pg_locale.c:1749 utils/adt/pg_locale.c:2533 +#: utils/adt/pg_locale.c:2558 +#, c-format +msgid "invalid locale name \"%s\" for builtin provider" +msgstr "неприпустиме ім'я локалі \"%s\" для вбудованого провайдера" + +#: utils/adt/pg_locale.c:1791 #, c-format msgid "could not load locale \"%s\"" msgstr "не вдалося завантажити локаль \"%s\"" -#: utils/adt/pg_locale.c:1720 +#: utils/adt/pg_locale.c:1816 #, c-format msgid "could not get collation version for locale \"%s\": error code %lu" msgstr "не вдалося отримати версію параметрів сортування для локалізації \"%s\": код помилки %lu" -#: utils/adt/pg_locale.c:1776 utils/adt/pg_locale.c:1789 +#: utils/adt/pg_locale.c:1872 utils/adt/pg_locale.c:1885 #, c-format msgid "could not convert string to UTF-16: error code %lu" msgstr "не вдалося перетворити рядок в UTF-16: код помилки %lu" -#: utils/adt/pg_locale.c:1803 +#: utils/adt/pg_locale.c:1897 #, c-format msgid "could not compare Unicode strings: %m" msgstr "не вдалося порівняти рядки в Unicode: %m" -#: utils/adt/pg_locale.c:1984 +#: utils/adt/pg_locale.c:2071 #, c-format msgid "collation failed: %s" msgstr "помилка в бібліотеці сортування: %s" -#: utils/adt/pg_locale.c:2205 utils/adt/pg_locale.c:2237 +#: utils/adt/pg_locale.c:2290 utils/adt/pg_locale.c:2322 #, c-format msgid "sort key generation failed: %s" msgstr "не вдалося згенерувати ключ сортування: %s" -#: utils/adt/pg_locale.c:2474 +#: utils/adt/pg_locale.c:2612 #, c-format msgid "could not get language from locale \"%s\": %s" msgstr "не вдалося отримати мову з локалі \"%s\": %s" -#: utils/adt/pg_locale.c:2495 utils/adt/pg_locale.c:2511 +#: utils/adt/pg_locale.c:2633 utils/adt/pg_locale.c:2649 #, c-format msgid "could not open collator for locale \"%s\": %s" msgstr "не вдалося відкрити сортувальник для локалізації \"%s\": %s" -#: utils/adt/pg_locale.c:2536 +#: utils/adt/pg_locale.c:2674 #, c-format msgid "encoding \"%s\" not supported by ICU" msgstr "ICU не підтримує кодування \"%s\"" -#: utils/adt/pg_locale.c:2543 +#: utils/adt/pg_locale.c:2681 #, c-format msgid "could not open ICU converter for encoding \"%s\": %s" msgstr "не вдалося відкрити перетворювач ICU для кодування \"%s\": %s" -#: utils/adt/pg_locale.c:2561 utils/adt/pg_locale.c:2580 -#: utils/adt/pg_locale.c:2636 utils/adt/pg_locale.c:2647 +#: utils/adt/pg_locale.c:2699 utils/adt/pg_locale.c:2718 +#: utils/adt/pg_locale.c:2774 utils/adt/pg_locale.c:2785 #, c-format msgid "%s failed: %s" msgstr "%s помилка: %s" -#: utils/adt/pg_locale.c:2822 +#: utils/adt/pg_locale.c:2960 #, c-format msgid "could not convert locale name \"%s\" to language tag: %s" msgstr "не вдалося перетворити локальну назву \"%s\" на мітку мови: %s" -#: utils/adt/pg_locale.c:2863 +#: utils/adt/pg_locale.c:3001 #, c-format msgid "could not get language from ICU locale \"%s\": %s" msgstr "не вдалося отримати мову з локалі ICU \"%s\": %s" -#: utils/adt/pg_locale.c:2865 utils/adt/pg_locale.c:2894 +#: utils/adt/pg_locale.c:3003 utils/adt/pg_locale.c:3032 #, c-format msgid "To disable ICU locale validation, set the parameter \"%s\" to \"%s\"." msgstr "Щоб вимкнути перевірку мови ICU, встановіть параметр \"%s\" на \"%s\"." -#: utils/adt/pg_locale.c:2892 +#: utils/adt/pg_locale.c:3030 #, c-format msgid "ICU locale \"%s\" has unknown language \"%s\"" msgstr "locale ICU \"%s\" має невідому мову \"%s\"" -#: utils/adt/pg_locale.c:3073 +#: utils/adt/pg_locale.c:3181 #, c-format msgid "invalid multibyte character for locale" msgstr "неприпустимий мультибайтний символ для локалізації" -#: utils/adt/pg_locale.c:3074 +#: utils/adt/pg_locale.c:3182 #, c-format msgid "The server's LC_CTYPE locale is probably incompatible with the database encoding." msgstr "Параметр локалізації серверу LC_CTYPE, можливо, несумісний з кодуванням бази даних." -#: utils/adt/pg_lsn.c:263 +#: utils/adt/pg_lsn.c:262 #, c-format msgid "cannot add NaN to pg_lsn" msgstr "не можна додати NaN в pg_lsn" -#: utils/adt/pg_lsn.c:297 +#: utils/adt/pg_lsn.c:296 #, c-format msgid "cannot subtract NaN from pg_lsn" msgstr "віднімати NaN з pg_lsn не можна" -#: utils/adt/pg_upgrade_support.c:29 +#: utils/adt/pg_upgrade_support.c:39 #, c-format msgid "function can only be called when server is in binary upgrade mode" msgstr "функцію можна викликати тільки коли сервер знаходиться в режимі двійкового оновлення" -#: utils/adt/pgstatfuncs.c:254 +#: utils/adt/pgstatfuncs.c:252 #, c-format msgid "invalid command name: \"%s\"" msgstr "неприпустиме ім’я команди: \"%s\"" -#: utils/adt/pgstatfuncs.c:1774 +#: utils/adt/pgstatfuncs.c:1739 #, c-format msgid "unrecognized reset target: \"%s\"" msgstr "нерозпізнане відновлення мети: \"%s\"" -#: utils/adt/pgstatfuncs.c:1775 +#: utils/adt/pgstatfuncs.c:1740 #, c-format -msgid "Target must be \"archiver\", \"bgwriter\", \"io\", \"recovery_prefetch\", or \"wal\"." -msgstr "Ціль має бути \"archiver\", \"bgwriter\", \"io\", \"recovery_prefetch\", або \"wal\"." +msgid "Target must be \"archiver\", \"bgwriter\", \"checkpointer\", \"io\", \"recovery_prefetch\", \"slru\", or \"wal\"." +msgstr "Ціллю має бути \"archiver\", \"bgwriter\", \"checkpointer\", \"io\", \"recovery_prefetch\", \"slru\" або \"wal\"." -#: utils/adt/pgstatfuncs.c:1857 +#: utils/adt/pgstatfuncs.c:1822 #, c-format msgid "invalid subscription OID %u" msgstr "некоректний OID підписки %u" -#: utils/adt/pseudotypes.c:58 utils/adt/pseudotypes.c:92 +#: utils/adt/pseudorandomfuncs.c:69 +#, c-format +msgid "setseed parameter %g is out of allowed range [-1,1]" +msgstr "параметр setseed %g поза допустимим діапазоном [-1,1]" + +#: utils/adt/pseudotypes.c:55 utils/adt/pseudotypes.c:89 #, c-format msgid "cannot display a value of type %s" msgstr "значення типу %s не можна відобразити" -#: utils/adt/pseudotypes.c:310 +#: utils/adt/pseudotypes.c:307 #, c-format msgid "cannot accept a value of a shell type" msgstr "не можна прийняти значення типу shell" -#: utils/adt/pseudotypes.c:320 +#: utils/adt/pseudotypes.c:317 #, c-format msgid "cannot display a value of a shell type" msgstr "не можна відобразити значення типу shell" -#: utils/adt/rangetypes.c:415 +#: utils/adt/rangetypes.c:422 #, c-format msgid "range constructor flags argument must not be null" msgstr "аргумент позначок конструктору діапазону не може бути null" -#: utils/adt/rangetypes.c:1014 +#: utils/adt/rangetypes.c:1021 #, c-format msgid "result of range difference would not be contiguous" msgstr "результат різниці діапазонів не буде безперервним" -#: utils/adt/rangetypes.c:1075 +#: utils/adt/rangetypes.c:1082 #, c-format msgid "result of range union would not be contiguous" msgstr "результат об'єднання діапазонів не буде безперервним" -#: utils/adt/rangetypes.c:1750 +#: utils/adt/rangetypes.c:1757 #, c-format msgid "range lower bound must be less than or equal to range upper bound" msgstr "нижня границя діапазону повинна бути менше або дорівнювати верхній границі діапазону" -#: utils/adt/rangetypes.c:2197 utils/adt/rangetypes.c:2210 -#: utils/adt/rangetypes.c:2224 +#: utils/adt/rangetypes.c:2256 utils/adt/rangetypes.c:2269 +#: utils/adt/rangetypes.c:2283 #, c-format msgid "invalid range bound flags" msgstr "неприпустимі позначки границь діапазону" -#: utils/adt/rangetypes.c:2198 utils/adt/rangetypes.c:2211 -#: utils/adt/rangetypes.c:2225 +#: utils/adt/rangetypes.c:2257 utils/adt/rangetypes.c:2270 +#: utils/adt/rangetypes.c:2284 #, c-format msgid "Valid values are \"[]\", \"[)\", \"(]\", and \"()\"." msgstr "Припустимі значення \"[]\", \"[)\", \"(]\", і \"()\"." -#: utils/adt/rangetypes.c:2293 utils/adt/rangetypes.c:2310 -#: utils/adt/rangetypes.c:2325 utils/adt/rangetypes.c:2345 -#: utils/adt/rangetypes.c:2356 utils/adt/rangetypes.c:2403 -#: utils/adt/rangetypes.c:2411 +#: utils/adt/rangetypes.c:2352 utils/adt/rangetypes.c:2369 +#: utils/adt/rangetypes.c:2384 utils/adt/rangetypes.c:2404 +#: utils/adt/rangetypes.c:2415 utils/adt/rangetypes.c:2462 +#: utils/adt/rangetypes.c:2470 #, c-format msgid "malformed range literal: \"%s\"" msgstr "неправильний літерал діапазону: \"%s\"" -#: utils/adt/rangetypes.c:2295 +#: utils/adt/rangetypes.c:2354 #, c-format msgid "Junk after \"empty\" key word." msgstr "Сміття після ключового слова \"empty\"." -#: utils/adt/rangetypes.c:2312 +#: utils/adt/rangetypes.c:2371 #, c-format msgid "Missing left parenthesis or bracket." msgstr "Пропущено ліву дужку (круглу або квадратну)." -#: utils/adt/rangetypes.c:2327 +#: utils/adt/rangetypes.c:2386 #, c-format msgid "Missing comma after lower bound." msgstr "Пропущено кому після нижньої границі." -#: utils/adt/rangetypes.c:2347 +#: utils/adt/rangetypes.c:2406 #, c-format msgid "Too many commas." msgstr "Занадто багато ком." -#: utils/adt/rangetypes.c:2358 +#: utils/adt/rangetypes.c:2417 #, c-format msgid "Junk after right parenthesis or bracket." msgstr "Сміття після правої дужки." -#: utils/adt/regexp.c:305 utils/adt/regexp.c:1997 utils/adt/varlena.c:4270 +#: utils/adt/regexp.c:304 utils/adt/regexp.c:1996 utils/adt/varlena.c:4273 #, c-format msgid "regular expression failed: %s" msgstr "помилка в регулярному виразі: %s" -#: utils/adt/regexp.c:446 utils/adt/regexp.c:681 +#: utils/adt/regexp.c:445 utils/adt/regexp.c:680 #, c-format msgid "invalid regular expression option: \"%.*s\"" msgstr "неприпустимий параметр регулярного виразу: \"%.*s\"" -#: utils/adt/regexp.c:683 +#: utils/adt/regexp.c:682 #, c-format 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:717 utils/adt/regexp.c:726 utils/adt/regexp.c:1083 -#: utils/adt/regexp.c:1147 utils/adt/regexp.c:1156 utils/adt/regexp.c:1165 -#: utils/adt/regexp.c:1174 utils/adt/regexp.c:1854 utils/adt/regexp.c:1863 -#: utils/adt/regexp.c:1872 utils/misc/guc.c:6627 utils/misc/guc.c:6661 +#: 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:6785 utils/misc/guc.c:6819 #, c-format msgid "invalid value for parameter \"%s\": %d" msgstr "неприпустиме значення для параметра \"%s\": %d" -#: utils/adt/regexp.c:937 +#: utils/adt/regexp.c:936 #, 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:1094 utils/adt/regexp.c:1185 utils/adt/regexp.c:1272 -#: utils/adt/regexp.c:1311 utils/adt/regexp.c:1699 utils/adt/regexp.c:1754 -#: utils/adt/regexp.c:1883 +#: 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 #, c-format msgid "%s does not support the \"global\" option" msgstr "%s не підтримує параметр \"global\"" -#: utils/adt/regexp.c:1313 +#: utils/adt/regexp.c:1312 #, c-format msgid "Use the regexp_matches function instead." msgstr "Використайте функцію regexp_matches замість." -#: utils/adt/regexp.c:1501 +#: utils/adt/regexp.c:1500 #, c-format msgid "too many regular expression matches" msgstr "занадто багато відповідностей для регулярного виразу" @@ -25240,18 +26293,18 @@ msgstr "ім'я \"%s\" мають декілька функцій" msgid "more than one operator named %s" msgstr "ім'я %s мають декілька операторів" -#: utils/adt/regproc.c:670 gram.y:8841 +#: utils/adt/regproc.c:670 gram.y:8992 #, c-format msgid "missing argument" msgstr "пропущено аргумент" -#: utils/adt/regproc.c:671 gram.y:8842 +#: utils/adt/regproc.c:671 gram.y:8993 #, c-format msgid "Use NONE to denote the missing argument of a unary operator." msgstr "Щоб позначити пропущений аргумент унарного оператору, використайте NONE." -#: utils/adt/regproc.c:675 utils/adt/regproc.c:2009 utils/adt/ruleutils.c:10018 -#: utils/adt/ruleutils.c:10231 +#: utils/adt/regproc.c:675 utils/adt/regproc.c:2029 utils/adt/ruleutils.c:10498 +#: utils/adt/ruleutils.c:10711 #, c-format msgid "too many arguments" msgstr "занадто багато аргументів" @@ -25261,308 +26314,319 @@ msgstr "занадто багато аргументів" msgid "Provide two argument types for operator." msgstr "Надайте для оператора два типи аргументів." -#: utils/adt/regproc.c:1544 utils/adt/regproc.c:1661 utils/adt/regproc.c:1790 -#: utils/adt/regproc.c:1795 utils/adt/varlena.c:3410 utils/adt/varlena.c:3415 +#: utils/adt/regproc.c:1564 utils/adt/regproc.c:1681 utils/adt/regproc.c:1810 +#: utils/adt/regproc.c:1815 utils/adt/varlena.c:3413 utils/adt/varlena.c:3418 #, c-format msgid "invalid name syntax" msgstr "неприпустимий синтаксис в імені" -#: utils/adt/regproc.c:1904 +#: utils/adt/regproc.c:1924 #, c-format msgid "expected a left parenthesis" msgstr "очікувалась ліва дужка" -#: utils/adt/regproc.c:1922 +#: utils/adt/regproc.c:1942 #, c-format msgid "expected a right parenthesis" msgstr "очікувалась права дужка" -#: utils/adt/regproc.c:1941 +#: utils/adt/regproc.c:1961 #, c-format msgid "expected a type name" msgstr "очікувалось ім'я типу" -#: utils/adt/regproc.c:1973 +#: utils/adt/regproc.c:1993 #, c-format msgid "improper type name" msgstr "неправильне ім'я типу" -#: utils/adt/ri_triggers.c:306 utils/adt/ri_triggers.c:1625 -#: utils/adt/ri_triggers.c:2610 +#: utils/adt/ri_triggers.c:303 utils/adt/ri_triggers.c:1616 +#: utils/adt/ri_triggers.c:2601 #, c-format msgid "insert or update on table \"%s\" violates foreign key constraint \"%s\"" msgstr "insert або update в таблиці \"%s\" порушує обмеження зовнішнього ключа \"%s\"" -#: utils/adt/ri_triggers.c:309 utils/adt/ri_triggers.c:1628 +#: utils/adt/ri_triggers.c:306 utils/adt/ri_triggers.c:1619 #, c-format msgid "MATCH FULL does not allow mixing of null and nonnull key values." msgstr "MATCH FULL не дозволяє змішувати в значенні ключа null і nonnull." -#: utils/adt/ri_triggers.c:2045 +#: utils/adt/ri_triggers.c:2036 #, c-format msgid "function \"%s\" must be fired for INSERT" msgstr "функція \"%s\" повинна запускатись для INSERT" -#: utils/adt/ri_triggers.c:2051 +#: utils/adt/ri_triggers.c:2042 #, c-format msgid "function \"%s\" must be fired for UPDATE" msgstr "функція \"%s\" повинна запускатись для UPDATE" -#: utils/adt/ri_triggers.c:2057 +#: utils/adt/ri_triggers.c:2048 #, c-format msgid "function \"%s\" must be fired for DELETE" msgstr "функція \"%s\" повинна запускатись для DELETE" -#: utils/adt/ri_triggers.c:2080 +#: utils/adt/ri_triggers.c:2071 #, c-format msgid "no pg_constraint entry for trigger \"%s\" on table \"%s\"" msgstr "для тригеру \"%s\" таблиці \"%s\" немає введення pg_constraint" -#: utils/adt/ri_triggers.c:2082 +#: utils/adt/ri_triggers.c:2073 #, c-format msgid "Remove this referential integrity trigger and its mates, then do ALTER TABLE ADD CONSTRAINT." msgstr "Видаліть цей тригер цілісності зв’язків і пов'язані об'єкти, а потім виконайте ALTER TABLE ADD CONSTRAINT." -#: utils/adt/ri_triggers.c:2112 gram.y:4223 +#: utils/adt/ri_triggers.c:2103 gram.y:4340 #, c-format msgid "MATCH PARTIAL not yet implemented" msgstr "Вираз MATCH PARTIAL все ще не реалізований" -#: utils/adt/ri_triggers.c:2435 +#: utils/adt/ri_triggers.c:2426 #, c-format msgid "referential integrity query on \"%s\" from constraint \"%s\" on \"%s\" gave unexpected result" msgstr "неочікуваний результат запиту цілісності зв’язків до \"%s\" з обмеження \"%s\" таблиці \"%s\"" -#: utils/adt/ri_triggers.c:2439 +#: utils/adt/ri_triggers.c:2430 #, c-format msgid "This is most likely due to a rule having rewritten the query." msgstr "Скоріше за все, це викликано правилом, яке переписало запит." -#: utils/adt/ri_triggers.c:2600 +#: utils/adt/ri_triggers.c:2591 #, c-format msgid "removing partition \"%s\" violates foreign key constraint \"%s\"" msgstr "видалення секції \"%s\" порушує обмеження зовнішнього ключа \"%s" -#: utils/adt/ri_triggers.c:2603 utils/adt/ri_triggers.c:2628 +#: utils/adt/ri_triggers.c:2594 utils/adt/ri_triggers.c:2619 #, c-format msgid "Key (%s)=(%s) is still referenced from table \"%s\"." msgstr "На ключ (%s)=(%s) все ще є посилання в таблиці \"%s\"." -#: utils/adt/ri_triggers.c:2614 +#: utils/adt/ri_triggers.c:2605 #, c-format msgid "Key (%s)=(%s) is not present in table \"%s\"." msgstr "Ключ (%s)=(%s) не присутній в таблиці \"%s\"." -#: utils/adt/ri_triggers.c:2617 +#: utils/adt/ri_triggers.c:2608 #, c-format msgid "Key is not present in table \"%s\"." msgstr "Ключ не присутній в таблиці \"%s\"." -#: utils/adt/ri_triggers.c:2623 +#: utils/adt/ri_triggers.c:2614 #, c-format msgid "update or delete on table \"%s\" violates foreign key constraint \"%s\" on table \"%s\"" msgstr "update або delete в таблиці \"%s\" порушує обмеження зовнішнього ключа \"%s\" таблиці \"%s\"" -#: utils/adt/ri_triggers.c:2631 +#: utils/adt/ri_triggers.c:2622 #, c-format msgid "Key is still referenced from table \"%s\"." msgstr "На ключ все ще є посилання в таблиці \"%s\"." -#: utils/adt/rowtypes.c:106 utils/adt/rowtypes.c:510 +#: utils/adt/rowtypes.c:105 utils/adt/rowtypes.c:509 #, c-format msgid "input of anonymous composite types is not implemented" msgstr "введення анонімних складених типів не реалізовано" -#: utils/adt/rowtypes.c:159 utils/adt/rowtypes.c:191 utils/adt/rowtypes.c:217 -#: utils/adt/rowtypes.c:228 utils/adt/rowtypes.c:286 utils/adt/rowtypes.c:297 +#: utils/adt/rowtypes.c:158 utils/adt/rowtypes.c:190 utils/adt/rowtypes.c:216 +#: utils/adt/rowtypes.c:227 utils/adt/rowtypes.c:285 utils/adt/rowtypes.c:296 #, c-format msgid "malformed record literal: \"%s\"" msgstr "невірно сформований літерал запису: \"%s\"" -#: utils/adt/rowtypes.c:160 +#: utils/adt/rowtypes.c:159 #, c-format msgid "Missing left parenthesis." msgstr "Відсутня ліва дужка." -#: utils/adt/rowtypes.c:192 +#: utils/adt/rowtypes.c:191 #, c-format msgid "Too few columns." msgstr "Занадто мало стовпців." -#: utils/adt/rowtypes.c:287 +#: utils/adt/rowtypes.c:286 #, c-format msgid "Too many columns." msgstr "Занадто багато стовпців." -#: utils/adt/rowtypes.c:298 +#: utils/adt/rowtypes.c:297 #, c-format msgid "Junk after right parenthesis." msgstr "Сміття післа правої дужки." -#: utils/adt/rowtypes.c:559 +#: utils/adt/rowtypes.c:558 #, c-format msgid "wrong number of columns: %d, expected %d" msgstr "неправильна кількість стовпців: %d, очікувалось %d" -#: utils/adt/rowtypes.c:601 +#: utils/adt/rowtypes.c:599 #, c-format msgid "binary data has type %u (%s) instead of expected %u (%s) in record column %d" msgstr "двійкові дані мають тип %u (%s) замість очікуваного %u (%s) в стовпці запису %d" -#: utils/adt/rowtypes.c:668 +#: utils/adt/rowtypes.c:660 #, c-format msgid "improper binary format in record column %d" msgstr "неправильний двійковий формат у стовпці запису %d" -#: utils/adt/rowtypes.c:959 utils/adt/rowtypes.c:1205 utils/adt/rowtypes.c:1463 -#: utils/adt/rowtypes.c:1709 +#: utils/adt/rowtypes.c:949 utils/adt/rowtypes.c:1195 utils/adt/rowtypes.c:1453 +#: utils/adt/rowtypes.c:1699 #, c-format msgid "cannot compare dissimilar column types %s and %s at record column %d" msgstr "не можна порівнювати неподібні типи стовпців %s і %s, стовпець запису %d" -#: utils/adt/rowtypes.c:1050 utils/adt/rowtypes.c:1275 -#: utils/adt/rowtypes.c:1560 utils/adt/rowtypes.c:1745 +#: utils/adt/rowtypes.c:1040 utils/adt/rowtypes.c:1265 +#: utils/adt/rowtypes.c:1550 utils/adt/rowtypes.c:1735 #, c-format msgid "cannot compare record types with different numbers of columns" msgstr "не можна порівнювати типи записів з різної кількістю стовпців" -#: utils/adt/ruleutils.c:2679 +#: utils/adt/ruleutils.c:2689 #, c-format msgid "input is a query, not an expression" msgstr "вхідне значення є запитом, а не виразом" -#: utils/adt/ruleutils.c:2691 +#: utils/adt/ruleutils.c:2701 #, c-format msgid "expression contains variables of more than one relation" msgstr "вираз містить змінні більше одного відношення" -#: utils/adt/ruleutils.c:2698 +#: utils/adt/ruleutils.c:2708 #, c-format msgid "expression contains variables" msgstr "вираз містить змінні" -#: utils/adt/ruleutils.c:5225 +#: utils/adt/ruleutils.c:5241 #, c-format msgid "rule \"%s\" has unsupported event type %d" msgstr "правило \"%s\" має непідтримуваний тип подій %d" -#: utils/adt/timestamp.c:112 +#: utils/adt/timestamp.c:128 #, c-format msgid "TIMESTAMP(%d)%s precision must not be negative" msgstr "TIMESTAMP(%d)%s точність не повинна бути від'ємною" -#: utils/adt/timestamp.c:118 +#: utils/adt/timestamp.c:134 #, c-format msgid "TIMESTAMP(%d)%s precision reduced to maximum allowed, %d" msgstr "TIMESTAMP(%d)%s точність зменшена до дозволеного максимуму, %d" -#: utils/adt/timestamp.c:378 +#: utils/adt/timestamp.c:394 #, c-format msgid "timestamp(%d) precision must be between %d and %d" msgstr "точність позначки часу (%d) повинна бути між %d і %d" -#: utils/adt/timestamp.c:496 +#: utils/adt/timestamp.c:512 #, c-format msgid "Numeric time zones must have \"-\" or \"+\" as first character." msgstr "Числові часові пояси повинні мати \"-\" або \"+\" в якості першого символу." -#: utils/adt/timestamp.c:508 +#: utils/adt/timestamp.c:524 #, c-format msgid "numeric time zone \"%s\" out of range" msgstr "числовий часовий пояс \"%s\" поза діапазоном" -#: utils/adt/timestamp.c:609 utils/adt/timestamp.c:619 -#: utils/adt/timestamp.c:627 +#: utils/adt/timestamp.c:625 utils/adt/timestamp.c:635 +#: utils/adt/timestamp.c:643 #, c-format msgid "timestamp out of range: %d-%02d-%02d %d:%02d:%02g" msgstr "позначка часу поза діапазоном: %d-%02d-%02d %d:%02d:%02g" -#: utils/adt/timestamp.c:728 +#: utils/adt/timestamp.c:744 #, c-format msgid "timestamp cannot be NaN" msgstr "позначка часу не може бути NaN" -#: utils/adt/timestamp.c:746 utils/adt/timestamp.c:758 +#: utils/adt/timestamp.c:762 utils/adt/timestamp.c:774 #, c-format msgid "timestamp out of range: \"%g\"" msgstr "позначка часу поза діапазоном: \"%g\"" -#: utils/adt/timestamp.c:941 utils/adt/timestamp.c:1518 -#: utils/adt/timestamp.c:2708 utils/adt/timestamp.c:2778 -#: utils/adt/timestamp.c:2795 utils/adt/timestamp.c:2848 -#: utils/adt/timestamp.c:2887 utils/adt/timestamp.c:3203 -#: utils/adt/timestamp.c:3208 utils/adt/timestamp.c:3213 -#: utils/adt/timestamp.c:3263 utils/adt/timestamp.c:3270 -#: utils/adt/timestamp.c:3277 utils/adt/timestamp.c:3297 -#: utils/adt/timestamp.c:3304 utils/adt/timestamp.c:3311 -#: utils/adt/timestamp.c:3398 utils/adt/timestamp.c:3473 -#: utils/adt/timestamp.c:3842 utils/adt/timestamp.c:3966 -#: utils/adt/timestamp.c:4486 +#: utils/adt/timestamp.c:957 utils/adt/timestamp.c:1516 +#: utils/adt/timestamp.c:1526 utils/adt/timestamp.c:1587 +#: utils/adt/timestamp.c:2807 utils/adt/timestamp.c:2816 +#: utils/adt/timestamp.c:2831 utils/adt/timestamp.c:2905 +#: utils/adt/timestamp.c:2922 utils/adt/timestamp.c:2979 +#: utils/adt/timestamp.c:3022 utils/adt/timestamp.c:3400 +#: utils/adt/timestamp.c:3458 utils/adt/timestamp.c:3481 +#: utils/adt/timestamp.c:3490 utils/adt/timestamp.c:3514 +#: utils/adt/timestamp.c:3537 utils/adt/timestamp.c:3546 +#: utils/adt/timestamp.c:3681 utils/adt/timestamp.c:3782 +#: utils/adt/timestamp.c:4189 utils/adt/timestamp.c:4226 +#: utils/adt/timestamp.c:4274 utils/adt/timestamp.c:4283 +#: utils/adt/timestamp.c:4375 utils/adt/timestamp.c:4422 +#: utils/adt/timestamp.c:4431 utils/adt/timestamp.c:4527 +#: utils/adt/timestamp.c:4580 utils/adt/timestamp.c:4590 +#: utils/adt/timestamp.c:4785 utils/adt/timestamp.c:4795 +#: utils/adt/timestamp.c:5097 #, c-format msgid "interval out of range" msgstr "інтервал поза діапазоном" -#: utils/adt/timestamp.c:1065 utils/adt/timestamp.c:1098 +#: utils/adt/timestamp.c:1094 utils/adt/timestamp.c:1127 #, c-format msgid "invalid INTERVAL type modifier" msgstr "неприпустимий модифікатор типу INTERVAL" -#: utils/adt/timestamp.c:1081 +#: utils/adt/timestamp.c:1110 #, c-format msgid "INTERVAL(%d) precision must not be negative" msgstr "INTERVAL(%d) точність не повинна бути від'ємною" -#: utils/adt/timestamp.c:1087 +#: utils/adt/timestamp.c:1116 #, c-format msgid "INTERVAL(%d) precision reduced to maximum allowed, %d" msgstr "INTERVAL(%d) точність зменшена до максимально можливої, %d" -#: utils/adt/timestamp.c:1473 +#: utils/adt/timestamp.c:1506 #, c-format msgid "interval(%d) precision must be between %d and %d" msgstr "interval(%d) точність повинна бути між %d і %d" -#: utils/adt/timestamp.c:2703 -#, c-format -msgid "cannot subtract infinite timestamps" -msgstr "віднімати безкінечні позначки часу не можна" - -#: utils/adt/timestamp.c:4002 utils/adt/timestamp.c:4185 +#: utils/adt/timestamp.c:4564 utils/adt/timestamp.c:4769 #, c-format msgid "origin out of range" msgstr "джерело поза діапазоном" -#: utils/adt/timestamp.c:4007 utils/adt/timestamp.c:4190 +#: utils/adt/timestamp.c:4569 utils/adt/timestamp.c:4774 +#, c-format +msgid "timestamps cannot be binned into infinite intervals" +msgstr "мітки часу не можуть бути розбиті на нескінченні інтервали" + +#: utils/adt/timestamp.c:4574 utils/adt/timestamp.c:4779 #, c-format msgid "timestamps cannot be binned into intervals containing months or years" msgstr "позначки часу не можна розділяти на інтервали, що містять місяці або роки" -#: utils/adt/timestamp.c:4014 utils/adt/timestamp.c:4197 +#: utils/adt/timestamp.c:4585 utils/adt/timestamp.c:4790 #, c-format msgid "stride must be greater than zero" msgstr "крок повинен бути більше нуля" -#: utils/adt/timestamp.c:4480 +#: utils/adt/timestamp.c:5091 #, c-format msgid "Months usually have fractional weeks." msgstr "У місяців зазвичай є дробові тижні." -#: utils/adt/trigfuncs.c:42 +#: utils/adt/timestamp.c:6551 utils/adt/timestamp.c:6637 +#, c-format +msgid "step size cannot be infinite" +msgstr "розмір кроку не може бути нескінченним" + +#: utils/adt/trigfuncs.c:41 #, c-format msgid "suppress_redundant_updates_trigger: must be called as trigger" msgstr "suppress_redundant_updates_trigger: повинна викликатись як тригер" -#: utils/adt/trigfuncs.c:48 +#: utils/adt/trigfuncs.c:47 #, c-format msgid "suppress_redundant_updates_trigger: must be called on update" msgstr "suppress_redundant_updates_trigger: повинна викликатись при оновленні" -#: utils/adt/trigfuncs.c:54 +#: utils/adt/trigfuncs.c:53 #, c-format msgid "suppress_redundant_updates_trigger: must be called before update" msgstr "suppress_redundant_updates_trigger: повинна викликатись перед оновленням" -#: utils/adt/trigfuncs.c:60 +#: utils/adt/trigfuncs.c:59 #, c-format msgid "suppress_redundant_updates_trigger: must be called for each row" msgstr "suppress_redundant_updates_trigger: повинна викликатис перед кожним рядком" @@ -25577,32 +26641,32 @@ msgstr "відстань у фразовому операторі повинна msgid "no operand in tsquery: \"%s\"" msgstr "немає оператора в tsquery: \"%s\"" -#: utils/adt/tsquery.c:558 +#: utils/adt/tsquery.c:554 #, c-format msgid "value is too big in tsquery: \"%s\"" msgstr "занадто велике значення в tsquery: \"%s\"" -#: utils/adt/tsquery.c:563 +#: utils/adt/tsquery.c:559 #, c-format msgid "operand is too long in tsquery: \"%s\"" msgstr "занадто довгий операнд в tsquery: \"%s\"" -#: utils/adt/tsquery.c:591 +#: utils/adt/tsquery.c:587 #, c-format msgid "word is too long in tsquery: \"%s\"" msgstr "занадто довге слово в tsquery: \"%s\"" -#: utils/adt/tsquery.c:717 utils/adt/tsvector_parser.c:147 +#: utils/adt/tsquery.c:713 utils/adt/tsvector_parser.c:147 #, c-format msgid "syntax error in tsquery: \"%s\"" msgstr "синтаксична помилка в tsquery: \"%s\"" -#: utils/adt/tsquery.c:883 +#: utils/adt/tsquery.c:879 #, c-format msgid "text-search query doesn't contain lexemes: \"%s\"" msgstr "запит пошуку тексту не містить лексем: \"%s\"" -#: utils/adt/tsquery.c:894 utils/adt/tsquery_util.c:376 +#: utils/adt/tsquery.c:890 utils/adt/tsquery_util.c:376 #, c-format msgid "tsquery is too large" msgstr "tsquery занадто великий" @@ -25637,72 +26701,72 @@ msgstr "масив значимості не повинен містити null" msgid "weight out of range" msgstr "значимість поза діапазоном" -#: utils/adt/tsvector.c:217 +#: utils/adt/tsvector.c:216 #, c-format msgid "word is too long (%ld bytes, max %ld bytes)" msgstr "слово занадто довге (%ld байт, при максимумі %ld)" -#: utils/adt/tsvector.c:224 +#: utils/adt/tsvector.c:223 #, c-format msgid "string is too long for tsvector (%ld bytes, max %ld bytes)" msgstr "рядок занадто довгий для tsvector (%ld байт, при максимумі %ld)" -#: utils/adt/tsvector_op.c:773 +#: utils/adt/tsvector_op.c:771 #, c-format msgid "lexeme array may not contain nulls" msgstr "масив лексем не може містити null" -#: utils/adt/tsvector_op.c:778 +#: utils/adt/tsvector_op.c:776 #, c-format msgid "lexeme array may not contain empty strings" msgstr "масив лексем не може містити порожніх рядків" -#: utils/adt/tsvector_op.c:847 +#: utils/adt/tsvector_op.c:845 #, c-format msgid "weight array may not contain nulls" msgstr "масив значимості не може містити null" -#: utils/adt/tsvector_op.c:871 +#: utils/adt/tsvector_op.c:869 #, c-format msgid "unrecognized weight: \"%c\"" msgstr "нерозпізнана значимість: \"%c\"" -#: utils/adt/tsvector_op.c:2601 +#: utils/adt/tsvector_op.c:2599 #, c-format msgid "ts_stat query must return one tsvector column" msgstr "запит ts_stat повинен повернути один стовпець tsvector" -#: utils/adt/tsvector_op.c:2790 +#: utils/adt/tsvector_op.c:2788 #, c-format msgid "tsvector column \"%s\" does not exist" msgstr "стовпець типу tsvector \"%s\" не існує" -#: utils/adt/tsvector_op.c:2797 +#: utils/adt/tsvector_op.c:2795 #, c-format msgid "column \"%s\" is not of tsvector type" msgstr "стовпець \"%s\" повинен мати тип tsvector" -#: utils/adt/tsvector_op.c:2809 +#: utils/adt/tsvector_op.c:2807 #, c-format msgid "configuration column \"%s\" does not exist" msgstr "стовпець конфігурації \"%s\" не існує" -#: utils/adt/tsvector_op.c:2815 +#: utils/adt/tsvector_op.c:2813 #, c-format msgid "column \"%s\" is not of regconfig type" msgstr "стовпець \"%s\" повинен мати тип regconfig" -#: utils/adt/tsvector_op.c:2822 +#: utils/adt/tsvector_op.c:2820 #, c-format msgid "configuration column \"%s\" must not be null" msgstr "значення стовпця конфігурації \"%s\" не повинне бути null" -#: utils/adt/tsvector_op.c:2835 +#: utils/adt/tsvector_op.c:2833 #, c-format msgid "text search configuration name \"%s\" must be schema-qualified" msgstr "ім'я конфігурації текстового пошуку \"%s\" повинно вказуватися зі схемою" -#: utils/adt/tsvector_op.c:2860 +#: utils/adt/tsvector_op.c:2858 #, c-format msgid "column \"%s\" is not of a character type" msgstr "стовпець \"%s\" має не символьний тип" @@ -25722,17 +26786,17 @@ msgstr "немає пропущеного символу: \"%s\"" msgid "wrong position info in tsvector: \"%s\"" msgstr "неправильна інформація про позицію в tsvector: \"%s\"" -#: utils/adt/uuid.c:413 +#: utils/adt/uuid.c:418 #, c-format msgid "could not generate random values" msgstr "не вдалося згенерувати випадкові значення" -#: utils/adt/varbit.c:110 utils/adt/varchar.c:54 +#: utils/adt/varbit.c:110 utils/adt/varchar.c:53 #, c-format msgid "length for type %s must be at least 1" msgstr "довжина для типу %s повинна бути мінімум 1" -#: utils/adt/varbit.c:115 utils/adt/varchar.c:58 +#: utils/adt/varbit.c:115 utils/adt/varchar.c:57 #, c-format msgid "length for type %s cannot exceed %d" msgstr "довжина для типу %s не може перевищувати %d" @@ -25767,9 +26831,9 @@ msgstr "неприпустима довжина у зовнішньому ряд msgid "bit string too long for type bit varying(%d)" msgstr "рядок бітів занадто довгий для типу bit varying(%d)" -#: utils/adt/varbit.c:1081 utils/adt/varbit.c:1191 utils/adt/varlena.c:908 -#: utils/adt/varlena.c:971 utils/adt/varlena.c:1128 utils/adt/varlena.c:3052 -#: utils/adt/varlena.c:3130 +#: utils/adt/varbit.c:1081 utils/adt/varbit.c:1191 utils/adt/varlena.c:911 +#: utils/adt/varlena.c:974 utils/adt/varlena.c:1131 utils/adt/varlena.c:3055 +#: utils/adt/varlena.c:3133 #, c-format msgid "negative substring length not allowed" msgstr "від'ємна довжина підрядка не дозволена" @@ -25794,122 +26858,127 @@ msgstr "не можна використовувати (XOR) для бітови msgid "bit index %d out of valid range (0..%d)" msgstr "індекс біту %d поза припустимим діапазоном (0..%d)" -#: utils/adt/varbit.c:1833 utils/adt/varlena.c:3334 +#: utils/adt/varbit.c:1833 utils/adt/varlena.c:3337 #, c-format msgid "new bit must be 0 or 1" msgstr "новий біт повинен бути 0 або 1" -#: utils/adt/varchar.c:162 utils/adt/varchar.c:313 +#: utils/adt/varchar.c:161 utils/adt/varchar.c:312 #, c-format msgid "value too long for type character(%d)" msgstr "значення занадто довге для типу character(%d)" -#: utils/adt/varchar.c:476 utils/adt/varchar.c:640 +#: utils/adt/varchar.c:475 utils/adt/varchar.c:639 #, c-format msgid "value too long for type character varying(%d)" msgstr "значення занадто довге для типу character varying(%d)" -#: utils/adt/varchar.c:738 utils/adt/varlena.c:1517 +#: utils/adt/varchar.c:737 utils/adt/varlena.c:1520 #, c-format msgid "could not determine which collation to use for string comparison" msgstr "не вдалося визначити, який параметр сортування використати для порівняння рядків" -#: utils/adt/varlena.c:1227 utils/adt/varlena.c:1806 +#: utils/adt/varlena.c:1230 utils/adt/varlena.c:1809 #, c-format msgid "nondeterministic collations are not supported for substring searches" msgstr "недетерміновані параметри сортування не підтримуються для пошуку підрядків" -#: utils/adt/varlena.c:3218 utils/adt/varlena.c:3285 +#: utils/adt/varlena.c:3221 utils/adt/varlena.c:3288 #, c-format msgid "index %d out of valid range, 0..%d" msgstr "індекс %d поза припустимим діапазоном, 0..%d" -#: utils/adt/varlena.c:3249 utils/adt/varlena.c:3321 +#: utils/adt/varlena.c:3252 utils/adt/varlena.c:3324 #, c-format msgid "index %lld out of valid range, 0..%lld" msgstr "індекс %lld поза допустимим діапазоном, 0..%lld" -#: utils/adt/varlena.c:4382 +#: utils/adt/varlena.c:4385 #, c-format msgid "field position must not be zero" msgstr "позиція поля не повинна бути нульовою" -#: utils/adt/varlena.c:5554 +#: utils/adt/varlena.c:5630 #, c-format msgid "unterminated format() type specifier" msgstr "незавершений специфікатор типу format()" -#: utils/adt/varlena.c:5555 utils/adt/varlena.c:5689 utils/adt/varlena.c:5810 +#: utils/adt/varlena.c:5631 utils/adt/varlena.c:5765 utils/adt/varlena.c:5886 #, c-format msgid "For a single \"%%\" use \"%%%%\"." msgstr "Для представлення одного знаку \"%%\", використайте \"%%%%\"." -#: utils/adt/varlena.c:5687 utils/adt/varlena.c:5808 +#: utils/adt/varlena.c:5763 utils/adt/varlena.c:5884 #, c-format msgid "unrecognized format() type specifier \"%.*s\"" msgstr "нерозпізнаний специфікатор типу format() \"%.*s\"" -#: utils/adt/varlena.c:5700 utils/adt/varlena.c:5757 +#: utils/adt/varlena.c:5776 utils/adt/varlena.c:5833 #, c-format msgid "too few arguments for format()" msgstr "занадто мало аргументів для format()" -#: utils/adt/varlena.c:5853 utils/adt/varlena.c:6035 +#: utils/adt/varlena.c:5929 utils/adt/varlena.c:6111 #, c-format msgid "number is out of range" msgstr "число поза діапазоном" -#: utils/adt/varlena.c:5916 utils/adt/varlena.c:5944 +#: utils/adt/varlena.c:5992 utils/adt/varlena.c:6020 #, c-format msgid "format specifies argument 0, but arguments are numbered from 1" msgstr "формат посилається на аргумент 0, але аргументи нумеруются з 1" -#: utils/adt/varlena.c:5937 +#: utils/adt/varlena.c:6013 #, c-format msgid "width argument position must be ended by \"$\"" msgstr "вказівка аргументу ширини повинно закінчуватися \"$\"" -#: utils/adt/varlena.c:5982 +#: utils/adt/varlena.c:6058 #, c-format msgid "null values cannot be formatted as an SQL identifier" msgstr "значення null не можна форматувати у вигляді SQL-ідентифікатору" -#: utils/adt/varlena.c:6190 +#: utils/adt/varlena.c:6266 #, c-format msgid "Unicode normalization can only be performed if server encoding is UTF8" msgstr "Нормалізація Unicode може виконуватись лише тоді, коли кодування серверу - UTF8" -#: utils/adt/varlena.c:6203 +#: utils/adt/varlena.c:6279 #, c-format msgid "invalid normalization form: %s" msgstr "неприпустима форма нормалізації: %s" -#: utils/adt/varlena.c:6406 utils/adt/varlena.c:6441 utils/adt/varlena.c:6476 +#: utils/adt/varlena.c:6324 +#, c-format +msgid "Unicode categorization can only be performed if server encoding is UTF8" +msgstr "Категоризація в юні коді може бути виконана, тільки якщо кодування сервера - UTF8" + +#: utils/adt/varlena.c:6541 utils/adt/varlena.c:6576 utils/adt/varlena.c:6611 #, c-format msgid "invalid Unicode code point: %04X" msgstr "неприпустима точка коду Unicode: %04X" -#: utils/adt/varlena.c:6506 +#: utils/adt/varlena.c:6641 #, c-format msgid "Unicode escapes must be \\XXXX, \\+XXXXXX, \\uXXXX, or \\UXXXXXXXX." msgstr "Спеціальні коди Unicode повинні бути \\XXXX, \\+XXXXXX, \\uXXXXXX, або \\UXXXXXX." -#: utils/adt/windowfuncs.c:442 +#: utils/adt/windowfuncs.c:443 #, c-format msgid "argument of ntile must be greater than zero" msgstr "аргумент ntile повинен бути більше нуля" -#: utils/adt/windowfuncs.c:706 +#: utils/adt/windowfuncs.c:707 #, c-format msgid "argument of nth_value must be greater than zero" msgstr "аргумент nth_value повинен бути більше нуля" -#: utils/adt/xid8funcs.c:126 +#: utils/adt/xid8funcs.c:124 #, c-format msgid "transaction ID %llu is in the future" msgstr "ідентифікатор транзакції %llu знаходиться в майбутньому" -#: utils/adt/xid8funcs.c:555 +#: utils/adt/xid8funcs.c:553 #, c-format msgid "invalid external pg_snapshot data" msgstr "неприпустимі зовнішні дані pg_snapshot" @@ -25924,7 +26993,7 @@ msgstr "XML-функції не підтримуються" msgid "This functionality requires the server to be built with libxml support." msgstr "Ця функціональність потребує, щоб сервер був побудований з підтримкою libxml." -#: utils/adt/xml.c:258 utils/mb/mbutils.c:628 +#: utils/adt/xml.c:258 utils/mb/mbutils.c:627 #, c-format msgid "invalid encoding name \"%s\"" msgstr "неприпустиме ім’я кодування \"%s\"" @@ -25934,217 +27003,217 @@ msgstr "неприпустиме ім’я кодування \"%s\"" msgid "invalid XML comment" msgstr "неприпустимий XML-коментар" -#: utils/adt/xml.c:670 +#: utils/adt/xml.c:697 #, c-format msgid "not an XML document" msgstr "не XML-документ" -#: utils/adt/xml.c:966 utils/adt/xml.c:989 +#: utils/adt/xml.c:1008 utils/adt/xml.c:1031 #, c-format msgid "invalid XML processing instruction" msgstr "неприпустима XML-команда обробки" -#: utils/adt/xml.c:967 +#: utils/adt/xml.c:1009 #, c-format msgid "XML processing instruction target name cannot be \"%s\"." msgstr "Метою XML-команди обробки не може бути \"%s\"." -#: utils/adt/xml.c:990 +#: utils/adt/xml.c:1032 #, c-format msgid "XML processing instruction cannot contain \"?>\"." msgstr "XML-команда обробки не може містити \"?>\"." -#: utils/adt/xml.c:1069 +#: utils/adt/xml.c:1111 #, c-format msgid "xmlvalidate is not implemented" msgstr "функція xmlvalidate не реалізована" -#: utils/adt/xml.c:1125 +#: utils/adt/xml.c:1167 #, c-format msgid "could not initialize XML library" msgstr "не вдалося ініціалізувати бібліотеку XML" -#: utils/adt/xml.c:1126 +#: utils/adt/xml.c:1168 #, 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:1212 +#: utils/adt/xml.c:1254 #, c-format msgid "could not set up XML error handler" msgstr "не вдалося встановити обробник XML-помилок" -#: utils/adt/xml.c:1213 +#: utils/adt/xml.c:1255 #, 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:2199 +#: utils/adt/xml.c:2281 msgid "Invalid character value." msgstr "Неприпустиме значення символу." -#: utils/adt/xml.c:2202 +#: utils/adt/xml.c:2284 msgid "Space required." msgstr "Потребується пробіл." -#: utils/adt/xml.c:2205 +#: utils/adt/xml.c:2287 msgid "standalone accepts only 'yes' or 'no'." msgstr "значеннями атрибуту standalone можуть бути лише 'yes' або 'no'." -#: utils/adt/xml.c:2208 +#: utils/adt/xml.c:2290 msgid "Malformed declaration: missing version." msgstr "Неправильне оголошення: пропущена версія." -#: utils/adt/xml.c:2211 +#: utils/adt/xml.c:2293 msgid "Missing encoding in text declaration." msgstr "В оголошенні пропущене кодування." -#: utils/adt/xml.c:2214 +#: utils/adt/xml.c:2296 msgid "Parsing XML declaration: '?>' expected." msgstr "Аналіз XML-оголошення: '?>' очікується." -#: utils/adt/xml.c:2217 +#: utils/adt/xml.c:2299 #, c-format msgid "Unrecognized libxml error code: %d." msgstr "Нерозпізнаний код помилки libxml: %d." -#: utils/adt/xml.c:2471 +#: utils/adt/xml.c:2553 #, c-format msgid "XML does not support infinite date values." msgstr "XML не підтримує безкінечні значення в датах." -#: utils/adt/xml.c:2493 utils/adt/xml.c:2520 +#: utils/adt/xml.c:2575 utils/adt/xml.c:2602 #, c-format msgid "XML does not support infinite timestamp values." msgstr "XML не підтримує безкінченні значення в позначках часу." -#: utils/adt/xml.c:2936 +#: utils/adt/xml.c:3018 #, c-format msgid "invalid query" msgstr "неприпустимий запит" -#: utils/adt/xml.c:3028 +#: utils/adt/xml.c:3110 #, c-format msgid "portal \"%s\" does not return tuples" msgstr "portal \"%s\" не повертає кортежі" -#: utils/adt/xml.c:4280 +#: utils/adt/xml.c:4362 #, c-format msgid "invalid array for XML namespace mapping" msgstr "неприпустимий масив з зіставленням простіру імен XML" -#: utils/adt/xml.c:4281 +#: utils/adt/xml.c:4363 #, c-format msgid "The array must be two-dimensional with length of the second axis equal to 2." msgstr "Масив повинен бути двовимірним і містити 2 елемента по другій вісі." -#: utils/adt/xml.c:4305 +#: utils/adt/xml.c:4387 #, c-format msgid "empty XPath expression" msgstr "пустий вираз XPath" -#: utils/adt/xml.c:4357 +#: utils/adt/xml.c:4439 #, c-format msgid "neither namespace name nor URI may be null" msgstr "ні ім'я простіру імен ні URI не можуть бути null" -#: utils/adt/xml.c:4364 +#: utils/adt/xml.c:4446 #, c-format msgid "could not register XML namespace with name \"%s\" and URI \"%s\"" msgstr "не вдалося зареєструвати простір імен XML з ім'ям \"%s\" і URI \"%s\"" -#: utils/adt/xml.c:4707 +#: utils/adt/xml.c:4795 #, c-format msgid "DEFAULT namespace is not supported" msgstr "Простір імен DEFAULT не підтримується" -#: utils/adt/xml.c:4736 +#: utils/adt/xml.c:4824 #, c-format msgid "row path filter must not be empty string" msgstr "шлях фільтруючих рядків не повинен бути пустим" -#: utils/adt/xml.c:4767 +#: utils/adt/xml.c:4858 #, c-format msgid "column path filter must not be empty string" msgstr "шлях фільтруючого стовпця не повинен бути пустим" -#: utils/adt/xml.c:4911 +#: utils/adt/xml.c:5005 #, c-format msgid "more than one value returned by column XPath expression" msgstr "вираз XPath, який відбирає стовпець, повернув більше одного значення" -#: utils/cache/lsyscache.c:1043 +#: utils/cache/lsyscache.c:1017 #, c-format msgid "cast from type %s to type %s does not exist" msgstr "приведення від типу %s до типу %s не існує" -#: utils/cache/lsyscache.c:2845 utils/cache/lsyscache.c:2878 -#: utils/cache/lsyscache.c:2911 utils/cache/lsyscache.c:2944 +#: utils/cache/lsyscache.c:2887 utils/cache/lsyscache.c:2920 +#: utils/cache/lsyscache.c:2953 utils/cache/lsyscache.c:2986 #, c-format msgid "type %s is only a shell" msgstr "тип %s лише оболонка" -#: utils/cache/lsyscache.c:2850 +#: utils/cache/lsyscache.c:2892 #, c-format msgid "no input function available for type %s" msgstr "для типу %s немає доступної функції введення" -#: utils/cache/lsyscache.c:2883 +#: utils/cache/lsyscache.c:2925 #, c-format msgid "no output function available for type %s" msgstr "для типу %s немає доступної функції виводу" -#: utils/cache/partcache.c:219 +#: utils/cache/partcache.c:216 #, c-format msgid "operator class \"%s\" of access method %s is missing support function %d for type %s" msgstr "в класі операторів \"%s\" методу доступу %s пропущено опорну функцію %d для типу %s" -#: utils/cache/plancache.c:724 +#: utils/cache/plancache.c:747 #, c-format msgid "cached plan must not change result type" msgstr "в кешованому плані не повинен змінюватись тип результату" -#: utils/cache/relcache.c:3741 +#: utils/cache/relcache.c:3800 #, c-format msgid "heap relfilenumber value not set when in binary upgrade mode" msgstr "значення relfilenumber не встановлене у режимі двійкового оновлення" -#: utils/cache/relcache.c:3749 +#: utils/cache/relcache.c:3808 #, c-format msgid "unexpected request for new relfilenumber in binary upgrade mode" msgstr "неочікуваний запит на новий relfilenumber в режимі двійкового оновлення" -#: utils/cache/relcache.c:6495 +#: utils/cache/relcache.c:6536 #, c-format msgid "could not create relation-cache initialization file \"%s\": %m" msgstr "не вдалося створити файл ініціалізації для кешу відношень \"%s\": %m" -#: utils/cache/relcache.c:6497 +#: utils/cache/relcache.c:6538 #, c-format msgid "Continuing anyway, but there's something wrong." msgstr "Продовжуємо усе одно, але щось не так." -#: utils/cache/relcache.c:6819 +#: utils/cache/relcache.c:6868 #, c-format msgid "could not remove cache file \"%s\": %m" msgstr "не вдалося видалити файл кешу \"%s\": %m" -#: utils/cache/relmapper.c:597 +#: utils/cache/relmapper.c:596 #, c-format msgid "cannot PREPARE a transaction that modified relation mapping" msgstr "виконати PREPARE для транзакції, яка змінила зіставлення відношень, не можна" -#: utils/cache/relmapper.c:853 +#: utils/cache/relmapper.c:852 #, c-format msgid "relation mapping file \"%s\" contains invalid data" msgstr "файл зіставлень відношень \"%s\" містить неприпустимі дані" -#: utils/cache/relmapper.c:863 +#: utils/cache/relmapper.c:862 #, c-format msgid "relation mapping file \"%s\" contains incorrect checksum" msgstr "файл зіставлень відношень \"%s\" містить неправильну контрольну суму" -#: utils/cache/typcache.c:1809 utils/fmgr/funcapi.c:566 +#: utils/cache/typcache.c:1812 utils/fmgr/funcapi.c:574 #, c-format msgid "record type has not been registered" msgstr "тип запису не зареєстрований" @@ -26159,102 +27228,102 @@ msgstr "TRAP: ExceptionalCondition: невірні аргументи в PID %d\ msgid "TRAP: failed Assert(\"%s\"), File: \"%s\", Line: %d, PID: %d\n" msgstr "TRAP: помилка Assert(\"%s\"), файл: \"%s\", рядок: %d, PID: %d\n" -#: utils/error/elog.c:416 +#: utils/error/elog.c:415 #, c-format msgid "error occurred before error message processing is available\n" msgstr "сталася помилка перед тим, як обробка повідомлення про помилку була доступна\n" -#: utils/error/elog.c:2096 +#: utils/error/elog.c:2134 #, c-format msgid "could not reopen file \"%s\" as stderr: %m" msgstr "не вдалося повторно відкрити файл \"%s\" як stderr: %m" -#: utils/error/elog.c:2109 +#: utils/error/elog.c:2147 #, c-format msgid "could not reopen file \"%s\" as stdout: %m" msgstr "не вдалося повторно відкрити файл \"%s\" як stdout: %m" -#: utils/error/elog.c:2145 +#: utils/error/elog.c:2183 #, c-format -msgid "invalid character" -msgstr "неприпустимий символ" +msgid "Invalid character" +msgstr "Неприпустимий символ" -#: utils/error/elog.c:2851 utils/error/elog.c:2878 utils/error/elog.c:2894 +#: utils/error/elog.c:2889 utils/error/elog.c:2916 utils/error/elog.c:2932 msgid "[unknown]" msgstr "[unknown]" -#: utils/error/elog.c:3167 utils/error/elog.c:3488 utils/error/elog.c:3595 +#: utils/error/elog.c:3202 utils/error/elog.c:3526 utils/error/elog.c:3633 msgid "missing error text" msgstr "пропущено текст помилки" -#: utils/error/elog.c:3170 utils/error/elog.c:3173 +#: utils/error/elog.c:3205 utils/error/elog.c:3208 #, c-format msgid " at character %d" msgstr " символ %d" -#: utils/error/elog.c:3183 utils/error/elog.c:3190 +#: utils/error/elog.c:3218 utils/error/elog.c:3225 msgid "DETAIL: " msgstr "ВІДОМОСТІ: " -#: utils/error/elog.c:3197 +#: utils/error/elog.c:3232 msgid "HINT: " msgstr "УКАЗІВКА: " -#: utils/error/elog.c:3204 +#: utils/error/elog.c:3239 msgid "QUERY: " msgstr "ЗАПИТ: " -#: utils/error/elog.c:3211 +#: utils/error/elog.c:3246 msgid "CONTEXT: " msgstr "КОНТЕКСТ: " -#: utils/error/elog.c:3221 +#: utils/error/elog.c:3256 #, c-format msgid "LOCATION: %s, %s:%d\n" msgstr "РОЗТАШУВАННЯ: %s, %s:%d\n" -#: utils/error/elog.c:3228 +#: utils/error/elog.c:3263 #, c-format msgid "LOCATION: %s:%d\n" msgstr "РОЗТАШУВАННЯ: %s:%d\n" -#: utils/error/elog.c:3235 +#: utils/error/elog.c:3270 msgid "BACKTRACE: " msgstr "ВІДСТЕЖУВАТИ: " -#: utils/error/elog.c:3247 +#: utils/error/elog.c:3282 msgid "STATEMENT: " msgstr "ІНСТРУКЦІЯ: " -#: utils/error/elog.c:3640 +#: utils/error/elog.c:3678 msgid "DEBUG" msgstr "НАЛАГОДЖЕННЯ" -#: utils/error/elog.c:3644 +#: utils/error/elog.c:3682 msgid "LOG" msgstr "ЗАПИСУВАННЯ" -#: utils/error/elog.c:3647 +#: utils/error/elog.c:3685 msgid "INFO" msgstr "ІНФОРМАЦІЯ" -#: utils/error/elog.c:3650 +#: utils/error/elog.c:3688 msgid "NOTICE" msgstr "ПОВІДОМЛЕННЯ" -#: utils/error/elog.c:3654 +#: utils/error/elog.c:3692 msgid "WARNING" msgstr "ПОПЕРЕДЖЕННЯ" -#: utils/error/elog.c:3657 +#: utils/error/elog.c:3695 msgid "ERROR" msgstr "ПОМИЛКА" -#: utils/error/elog.c:3660 +#: utils/error/elog.c:3698 msgid "FATAL" msgstr "ФАТАЛЬНО" -#: utils/error/elog.c:3663 +#: utils/error/elog.c:3701 msgid "PANIC" msgstr "ПАНІКА" @@ -26327,22 +27396,22 @@ msgstr "Магічний блок має неочікувану довжину msgid "incompatible library \"%s\": magic block mismatch" msgstr "несумісна бібліотка \"%s\": невідповідність магічного блоку" -#: utils/fmgr/dfmgr.c:492 +#: utils/fmgr/dfmgr.c:475 #, c-format msgid "access to library \"%s\" is not allowed" msgstr "доступ до бібліотеки \"%s\" не дозволений" -#: utils/fmgr/dfmgr.c:518 +#: utils/fmgr/dfmgr.c:501 #, c-format msgid "invalid macro name in dynamic library path: %s" msgstr "неприпустиме ім'я макросу в шляху динамічної бібліотеки: %s" -#: utils/fmgr/dfmgr.c:558 +#: utils/fmgr/dfmgr.c:541 #, c-format msgid "zero-length component in parameter \"dynamic_library_path\"" msgstr "параметр \"dynamic_library_path\" містить компонент нульової довжини" -#: utils/fmgr/dfmgr.c:577 +#: utils/fmgr/dfmgr.c:560 #, c-format msgid "component in parameter \"dynamic_library_path\" is not an absolute path" msgstr "параметр \"dynamic_library_path\" містить компонент, який не є абсолютним шляхом" @@ -26367,223 +27436,213 @@ msgstr "Функції, які викликаються з SQL, потребую msgid "unrecognized API version %d reported by info function \"%s\"" msgstr "нерозпізнана версія API %d, повідомлена інформаційною функцією \"%s\"" -#: utils/fmgr/fmgr.c:2080 +#: utils/fmgr/fmgr.c:2109 #, c-format msgid "operator class options info is absent in function call context" msgstr "в контексті виклику функції відсутня інформація стосовно параметрів класів операторів" -#: utils/fmgr/fmgr.c:2147 +#: utils/fmgr/fmgr.c:2176 #, c-format msgid "language validation function %u called for language %u instead of %u" msgstr "функція мовної перевірки %u викликана для мови %u замість %u" -#: utils/fmgr/funcapi.c:489 +#: utils/fmgr/funcapi.c:496 #, c-format msgid "could not determine actual result type for function \"%s\" declared to return type %s" msgstr "не вдалося визначити фактичний тип результату для функції \"%s\" оголошеної як, та, котра повертає тип %s" -#: utils/fmgr/funcapi.c:634 +#: utils/fmgr/funcapi.c:642 #, c-format msgid "argument declared %s does not contain a range type but type %s" msgstr "оголошений аргумент %s не містить тип діапазону, а тип %s" -#: utils/fmgr/funcapi.c:717 -#, c-format -msgid "could not find multirange type for data type %s" -msgstr "не вдалося знайти багатодіапазонний тип для типу даних %s" - -#: utils/fmgr/funcapi.c:1921 utils/fmgr/funcapi.c:1953 +#: utils/fmgr/funcapi.c:1929 utils/fmgr/funcapi.c:1961 #, c-format msgid "number of aliases does not match number of columns" msgstr "кількість псевдонімів не відповідає кількості стовпців" -#: utils/fmgr/funcapi.c:1947 +#: utils/fmgr/funcapi.c:1955 #, c-format msgid "no column alias was provided" msgstr "жодного псевдоніму для стовпця не було надано" -#: utils/fmgr/funcapi.c:1971 +#: utils/fmgr/funcapi.c:1979 #, c-format msgid "could not determine row description for function returning record" msgstr "не вдалося визначити опис рядка для функції, що повертає запис" -#: utils/init/miscinit.c:346 +#: utils/init/miscinit.c:352 #, c-format msgid "data directory \"%s\" does not exist" msgstr "каталог даних \"%s\" не існує" -#: utils/init/miscinit.c:351 +#: utils/init/miscinit.c:357 #, c-format msgid "could not read permissions of directory \"%s\": %m" msgstr "не вдалося прочитати дозволи на каталог \"%s\": %m" -#: utils/init/miscinit.c:359 +#: utils/init/miscinit.c:365 #, c-format msgid "specified data directory \"%s\" is not a directory" msgstr "вказаний каталог даних \"%s\" не є каталогом" -#: utils/init/miscinit.c:375 +#: utils/init/miscinit.c:381 #, c-format msgid "data directory \"%s\" has wrong ownership" msgstr "власник каталогу даних \"%s\" визначений неправильно" -#: utils/init/miscinit.c:377 +#: utils/init/miscinit.c:383 #, c-format msgid "The server must be started by the user that owns the data directory." msgstr "Сервер повинен запускати користувач, який володіє каталогом даних." -#: utils/init/miscinit.c:395 +#: utils/init/miscinit.c:401 #, c-format msgid "data directory \"%s\" has invalid permissions" msgstr "каталог даних \"%s\" має неприпустимі дозволи" -#: utils/init/miscinit.c:397 +#: utils/init/miscinit.c:403 #, c-format msgid "Permissions should be u=rwx (0700) or u=rwx,g=rx (0750)." msgstr "Дозволи повинні бути u=rwx (0700) або u=rwx,g=rx (0750)." -#: utils/init/miscinit.c:455 +#: utils/init/miscinit.c:461 #, c-format msgid "could not change directory to \"%s\": %m" msgstr "не вдалося змінити каталог на \"%s\": %m" -#: utils/init/miscinit.c:692 utils/misc/guc.c:3557 +#: utils/init/miscinit.c:697 utils/misc/guc.c:3650 #, c-format msgid "cannot set parameter \"%s\" within security-restricted operation" msgstr "встановити параметр \"%s\" в межах операції з обмеженнями по безпеці, не можна" -#: utils/init/miscinit.c:764 +#: utils/init/miscinit.c:770 #, c-format msgid "role with OID %u does not exist" msgstr "роль з OID %u не існує" -#: utils/init/miscinit.c:794 +#: utils/init/miscinit.c:800 #, c-format msgid "role \"%s\" is not permitted to log in" msgstr "для ролі \"%s\" вхід не дозволений" -#: utils/init/miscinit.c:812 +#: utils/init/miscinit.c:818 #, c-format msgid "too many connections for role \"%s\"" msgstr "занадто багато підключень для ролі \"%s\"" -#: utils/init/miscinit.c:919 -#, c-format -msgid "permission denied to set session authorization" -msgstr "немає прав для встановлення авторизації в сеансі" - -#: utils/init/miscinit.c:1002 +#: utils/init/miscinit.c:991 #, c-format msgid "invalid role OID: %u" msgstr "неприпустимий OID ролі: %u" -#: utils/init/miscinit.c:1149 +#: utils/init/miscinit.c:1138 #, c-format msgid "database system is shut down" msgstr "система бази даних вимкнена" -#: utils/init/miscinit.c:1236 +#: utils/init/miscinit.c:1225 #, c-format msgid "could not create lock file \"%s\": %m" msgstr "не вдалося створити файл блокування \"%s\": %m" -#: utils/init/miscinit.c:1250 +#: utils/init/miscinit.c:1239 #, c-format msgid "could not open lock file \"%s\": %m" msgstr "не вдалося відкрити файл блокування \"%s\": %m" -#: utils/init/miscinit.c:1257 +#: utils/init/miscinit.c:1246 #, c-format msgid "could not read lock file \"%s\": %m" msgstr "не вдалося прочитати файл блокування \"%s\": %m" -#: utils/init/miscinit.c:1266 +#: utils/init/miscinit.c:1255 #, c-format msgid "lock file \"%s\" is empty" msgstr "файл блокування \"%s\" пустий" -#: utils/init/miscinit.c:1267 +#: utils/init/miscinit.c:1256 #, 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:1311 +#: utils/init/miscinit.c:1300 #, c-format msgid "lock file \"%s\" already exists" msgstr "файл блокування \"%s\" вже існує" -#: utils/init/miscinit.c:1315 +#: utils/init/miscinit.c:1304 #, c-format msgid "Is another postgres (PID %d) running in data directory \"%s\"?" msgstr "Інший postgres (PID %d) працює з каталогом даних \"%s\"?" -#: utils/init/miscinit.c:1317 +#: utils/init/miscinit.c:1306 #, c-format msgid "Is another postmaster (PID %d) running in data directory \"%s\"?" msgstr "Інший postmaster (PID %d) працює з каталогом даних \"%s\"?" -#: utils/init/miscinit.c:1320 +#: utils/init/miscinit.c:1309 #, c-format msgid "Is another postgres (PID %d) using socket file \"%s\"?" msgstr "Інший postgres (PID %d) використовує файл сокету \"%s\"?" -#: utils/init/miscinit.c:1322 +#: utils/init/miscinit.c:1311 #, c-format msgid "Is another postmaster (PID %d) using socket file \"%s\"?" msgstr "Інший postmaster (PID %d) використовує файл сокету \"%s\"?" -#: utils/init/miscinit.c:1373 +#: utils/init/miscinit.c:1362 #, c-format msgid "could not remove old lock file \"%s\": %m" msgstr "не вдалося видалити старий файл блокування \"%s\": %m" -#: utils/init/miscinit.c:1375 +#: utils/init/miscinit.c:1364 #, 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:1412 utils/init/miscinit.c:1426 -#: utils/init/miscinit.c:1437 +#: utils/init/miscinit.c:1401 utils/init/miscinit.c:1415 +#: utils/init/miscinit.c:1426 #, c-format msgid "could not write lock file \"%s\": %m" msgstr "не вдалося записати файл блокування \"%s\": %m" -#: utils/init/miscinit.c:1548 utils/init/miscinit.c:1690 utils/misc/guc.c:5597 +#: utils/init/miscinit.c:1537 utils/init/miscinit.c:1679 utils/misc/guc.c:5724 #, c-format msgid "could not read from file \"%s\": %m" msgstr "не вдалося прочитати з файлу \"%s\": %m" -#: utils/init/miscinit.c:1678 +#: utils/init/miscinit.c:1667 #, c-format msgid "could not open file \"%s\": %m; continuing anyway" msgstr "не вдалося відкрити файл \"%s\": %m; все одно продовжується" -#: utils/init/miscinit.c:1703 +#: utils/init/miscinit.c:1692 #, c-format msgid "lock file \"%s\" contains wrong PID: %ld instead of %ld" msgstr "файл блокування \"%s\" містить неправильний PID: %ld замість %ld" -#: utils/init/miscinit.c:1742 utils/init/miscinit.c:1758 +#: utils/init/miscinit.c:1731 utils/init/miscinit.c:1747 #, c-format msgid "\"%s\" is not a valid data directory" msgstr "\"%s\" не є припустимим каталогом даних" -#: utils/init/miscinit.c:1744 +#: utils/init/miscinit.c:1733 #, c-format msgid "File \"%s\" is missing." msgstr "Файл \"%s\" пропущено." -#: utils/init/miscinit.c:1760 +#: utils/init/miscinit.c:1749 #, c-format msgid "File \"%s\" does not contain valid data." msgstr "Файл \"%s\" не містить припустимих даних." -#: utils/init/miscinit.c:1762 +#: utils/init/miscinit.c:1751 #, c-format msgid "You might need to initdb." msgstr "Можливо, вам слід виконати initdb." -#: utils/init/miscinit.c:1770 +#: utils/init/miscinit.c:1759 #, c-format msgid "The data directory was initialized by PostgreSQL version %s, which is not compatible with this version %s." msgstr "Каталог даних ініціалізований сервером PostgreSQL версії %s, не сумісною з цією версією %s." @@ -26685,72 +27744,72 @@ msgstr "Повторно створіть базу даних з іншою ло msgid "The database was initialized with LC_CTYPE \"%s\", which is not recognized by setlocale()." msgstr "База даних була ініціалізована з параметром LC_CTYPE \"%s\", але зараз setlocale() не розпізнає його." -#: utils/init/postinit.c:475 +#: utils/init/postinit.c:491 #, c-format msgid "database \"%s\" has a collation version mismatch" msgstr "база даних \"%s\" має невідповідність версії параметрів сортування" -#: utils/init/postinit.c:477 +#: utils/init/postinit.c:493 #, c-format msgid "The database was created using collation version %s, but the operating system provides version %s." msgstr "Базу даних було створено за допомогою параметрів сортування версії %s, але операційна система надає версію %s." -#: utils/init/postinit.c:480 +#: utils/init/postinit.c:496 #, c-format msgid "Rebuild all objects in this database that use the default collation and run ALTER DATABASE %s REFRESH COLLATION VERSION, or build PostgreSQL with the right library version." msgstr "Перебудуйте всі об'єкти бази даних, які використовують стандартний параметр сортування або виконайте ALTER DATABASE %s REFRESH COLLATION VERSION, або побудуйте PostgreSQL з правильною версією бібліотеки." -#: utils/init/postinit.c:891 +#: utils/init/postinit.c:902 #, c-format msgid "no roles are defined in this database system" msgstr "в цій системі баз даних не визначено жодної ролі" -#: utils/init/postinit.c:892 +#: utils/init/postinit.c:903 #, c-format msgid "You should immediately run CREATE USER \"%s\" SUPERUSER;." msgstr "Ви повинні негайно виконати CREATE USER \"%s\" SUPERUSER;." -#: utils/init/postinit.c:928 +#: utils/init/postinit.c:940 #, c-format msgid "must be superuser to connect in binary upgrade mode" msgstr "потрібно бути суперкористувачем, щоб підключитись в режимі двійкового оновлення" -#: utils/init/postinit.c:949 +#: utils/init/postinit.c:961 #, c-format msgid "remaining connection slots are reserved for roles with the %s attribute" msgstr "слоти підключення, що залишилися, зарезервовані для ролей з атрибутом %s" -#: utils/init/postinit.c:955 +#: utils/init/postinit.c:967 #, c-format msgid "remaining connection slots are reserved for roles with privileges of the \"%s\" role" msgstr "слоти підключення, що залишилися, зарезервовані для ролей з привілеями ролі \"%s\"" -#: utils/init/postinit.c:967 +#: utils/init/postinit.c:979 #, c-format msgid "permission denied to start WAL sender" msgstr "немає дозволу для запуску відправника WAL" -#: utils/init/postinit.c:968 +#: utils/init/postinit.c:980 #, c-format msgid "Only roles with the %s attribute may start a WAL sender process." msgstr "Тільки ролі з атрибутом %s можуть почати процес відправки WAL." -#: utils/init/postinit.c:1086 +#: utils/init/postinit.c:1098 #, c-format msgid "It seems to have just been dropped or renamed." msgstr "Схоже, вона щойно була видалена або перейменована." -#: utils/init/postinit.c:1090 +#: utils/init/postinit.c:1102 #, c-format msgid "database %u does not exist" msgstr "база даних %u не існує" -#: utils/init/postinit.c:1099 +#: utils/init/postinit.c:1111 #, c-format msgid "cannot connect to invalid database \"%s\"" msgstr "неможливо під'єднатися до невірної бази даних \"%s\"" -#: utils/init/postinit.c:1159 +#: utils/init/postinit.c:1172 #, c-format msgid "The database subdirectory \"%s\" is missing." msgstr "Підкаталог бази даних \"%s\" пропущений." @@ -26777,48 +27836,48 @@ msgstr "неочікуваний ідентифікатор кодування % msgid "unexpected encoding ID %d for WIN character sets" msgstr "неочікуваний ідентифікатор кодування %d для наборів символів WIN" -#: utils/mb/mbutils.c:298 utils/mb/mbutils.c:901 +#: utils/mb/mbutils.c:297 utils/mb/mbutils.c:900 #, c-format msgid "conversion between %s and %s is not supported" msgstr "перетворення між %s і %s не підтримується" -#: utils/mb/mbutils.c:403 utils/mb/mbutils.c:431 utils/mb/mbutils.c:816 -#: utils/mb/mbutils.c:843 +#: utils/mb/mbutils.c:402 utils/mb/mbutils.c:430 utils/mb/mbutils.c:815 +#: utils/mb/mbutils.c:842 #, c-format msgid "String of %d bytes is too long for encoding conversion." msgstr "Рядок з %d байт занадто довгий для перетворення кодування." -#: utils/mb/mbutils.c:569 +#: utils/mb/mbutils.c:568 #, c-format msgid "invalid source encoding name \"%s\"" msgstr "неприпустиме ім’я вихідного кодування \"%s\"" -#: utils/mb/mbutils.c:574 +#: utils/mb/mbutils.c:573 #, c-format msgid "invalid destination encoding name \"%s\"" msgstr "неприпустиме ім’я кодування результату \"%s\"" -#: utils/mb/mbutils.c:714 +#: utils/mb/mbutils.c:713 #, c-format msgid "invalid byte value for encoding \"%s\": 0x%02x" msgstr "неприпустиме значення байту для кодування \"%s\": 0x%02x" -#: utils/mb/mbutils.c:878 +#: utils/mb/mbutils.c:877 #, c-format msgid "invalid Unicode code point" msgstr "неприпустима кодова точка Unicode" -#: utils/mb/mbutils.c:1204 +#: utils/mb/mbutils.c:1201 #, c-format msgid "bind_textdomain_codeset failed" msgstr "помилка в bind_textdomain_codeset" -#: utils/mb/mbutils.c:1725 +#: utils/mb/mbutils.c:1718 #, c-format msgid "invalid byte sequence for encoding \"%s\": %s" msgstr "неприпустима послідовність байтів для кодування \"%s\": %s" -#: utils/mb/mbutils.c:1758 +#: utils/mb/mbutils.c:1751 #, c-format msgid "character with byte sequence %s in encoding \"%s\" has no equivalent in encoding \"%s\"" msgstr "символ з послідовністю байтів %s в кодуванні \"%s\" не має еквіваленту в кодуванні \"%s\"" @@ -26833,237 +27892,239 @@ msgstr "пуста назва каталогу конфігурації: \"%s\"" msgid "could not open configuration directory \"%s\": %m" msgstr "не вдалося відкрити каталог конфігурації \"%s\": %m" -#: utils/misc/guc.c:115 +#: utils/misc/guc.c:122 msgid "Valid units for this parameter are \"B\", \"kB\", \"MB\", \"GB\", and \"TB\"." msgstr "Припустимі одиниці для цього параметру: \"B\", \"kB\", \"MB\", \"GB\", і \"TB\"." -#: utils/misc/guc.c:152 +#: utils/misc/guc.c:159 msgid "Valid units for this parameter are \"us\", \"ms\", \"s\", \"min\", \"h\", and \"d\"." msgstr "Припустимі одиниці для цього параметру: \"us\", \"ms\", \"s\", \"min\", \"h\", і \"d\"." -#: utils/misc/guc.c:421 +#: utils/misc/guc.c:430 #, c-format msgid "unrecognized configuration parameter \"%s\" in file \"%s\" line %d" msgstr "нерозпізнаний параметр конфігурації \"%s\" у файлі \"%s\" рядок %d" -#: utils/misc/guc.c:461 utils/misc/guc.c:3411 utils/misc/guc.c:3655 -#: utils/misc/guc.c:3753 utils/misc/guc.c:3851 utils/misc/guc.c:3975 -#: utils/misc/guc.c:4078 +#: utils/misc/guc.c:470 utils/misc/guc.c:3504 utils/misc/guc.c:3748 +#: utils/misc/guc.c:3846 utils/misc/guc.c:3944 utils/misc/guc.c:4068 +#: utils/misc/guc.c:4171 #, c-format msgid "parameter \"%s\" cannot be changed without restarting the server" msgstr "параметр \"%s\" не може бути змінений, без перезавантаження сервера" -#: utils/misc/guc.c:497 +#: utils/misc/guc.c:506 #, c-format msgid "parameter \"%s\" removed from configuration file, reset to default" msgstr "параметр \"%s\" видалений з файла конфігурації, значення скинуто до \"за замовчуванням\"" -#: utils/misc/guc.c:562 +#: utils/misc/guc.c:571 #, c-format msgid "parameter \"%s\" changed to \"%s\"" msgstr "параметр \"%s\" змінено на \"%s\"" -#: utils/misc/guc.c:604 +#: utils/misc/guc.c:613 #, c-format msgid "configuration file \"%s\" contains errors" msgstr "файл конфігурації \"%s\" містить помилки" -#: utils/misc/guc.c:609 +#: utils/misc/guc.c:618 #, c-format msgid "configuration file \"%s\" contains errors; unaffected changes were applied" msgstr "файл конфігурації \"%s\" містить помилки; були застосовані не залежні зміни" -#: utils/misc/guc.c:614 +#: utils/misc/guc.c:623 #, c-format msgid "configuration file \"%s\" contains errors; no changes were applied" msgstr "файл конфігурації \"%s\" містить помилки; зміни не були застосовані" -#: utils/misc/guc.c:1211 utils/misc/guc.c:1227 +#: utils/misc/guc.c:1139 utils/misc/guc.c:1155 #, c-format msgid "invalid configuration parameter name \"%s\"" msgstr "неприпустима назва параметра конфігурації \"%s\"" -#: utils/misc/guc.c:1213 +#: utils/misc/guc.c:1141 #, c-format msgid "Custom parameter names must be two or more simple identifiers separated by dots." msgstr "Власні назви параметрів повинні містити два або більше простих ідентифікаторів, розділених крапками." -#: utils/misc/guc.c:1229 +#: utils/misc/guc.c:1157 #, c-format msgid "\"%s\" is a reserved prefix." msgstr "\"%s\" є зарезервованим префіксом." -#: utils/misc/guc.c:1243 +#: utils/misc/guc.c:1170 utils/misc/guc.c:1280 #, c-format msgid "unrecognized configuration parameter \"%s\"" msgstr "нерозпізнаний параметр конфігурації \"%s\"" -#: utils/misc/guc.c:1767 +#: utils/misc/guc.c:1802 #, c-format -msgid "%s: could not access directory \"%s\": %s\n" -msgstr "%s: немає доступу до каталогу \"%s\": %s\n" +msgid "%s: could not access directory \"%s\": %m\n" +msgstr "%s: не вдалося отримати доступ до каталогу \"%s\": %m\n" -#: utils/misc/guc.c:1772 +#: utils/misc/guc.c:1806 #, c-format msgid "Run initdb or pg_basebackup to initialize a PostgreSQL data directory.\n" msgstr "Запустіть initdb або pg_basebackup для ініціалізації каталогу даних PostgreSQL.\n" -#: utils/misc/guc.c:1796 +#: utils/misc/guc.c:1830 #, c-format -msgid "" -"%s does not know where to find the server configuration file.\n" +msgid "%s does not know where to find the server configuration file.\n" "You must specify the --config-file or -D invocation option or set the PGDATA environment variable.\n" -msgstr "" -"%s не знає де знайти файл конфігурації сервера.\n" +msgstr "%s не знає де знайти файл конфігурації сервера.\n" "Ви повинні вказати його розташування в параметрі --config-file або -D, або встановити змінну середовища PGDATA.\n" -#: utils/misc/guc.c:1819 +#: utils/misc/guc.c:1853 #, c-format -msgid "%s: could not access the server configuration file \"%s\": %s\n" -msgstr "%s: не вдалося отримати доступ до файлу конфігурації сервера \"%s\": %s\n" +msgid "%s: could not access the server configuration file \"%s\": %m\n" +msgstr "%s: не вдалося отримати доступ до файлу конфігурації сервера \"%s\": %m\n" -#: utils/misc/guc.c:1847 +#: utils/misc/guc.c:1881 #, c-format -msgid "" -"%s does not know where to find the database system data.\n" +msgid "%s does not know where to find the database system data.\n" "This can be specified as \"data_directory\" in \"%s\", or by the -D invocation option, or by the PGDATA environment variable.\n" -msgstr "" -"%s не знає де знайти дані системи бази даних.\n" +msgstr "%s не знає де знайти дані системи бази даних.\n" "Їх розташування може бути вказано як \"data_directory\" в \"%s\", або передано в параметрі -D, або встановлено змінну середовища PGDATA.\n" -#: utils/misc/guc.c:1899 +#: utils/misc/guc.c:1933 #, c-format -msgid "" -"%s does not know where to find the \"hba\" configuration file.\n" +msgid "%s does not know where to find the \"hba\" configuration file.\n" "This can be specified as \"hba_file\" in \"%s\", or by the -D invocation option, or by the PGDATA environment variable.\n" -msgstr "" -"%s не знає де знайти файл конфігурації \"hba\".\n" +msgstr "%s не знає де знайти файл конфігурації \"hba\".\n" "Його розташування може бути вказано як \"hba_file\" в \"%s\", або передано в параметрі -D, або встановлено змінну середовища PGDATA.\n" -#: utils/misc/guc.c:1930 +#: utils/misc/guc.c:1964 #, c-format -msgid "" -"%s does not know where to find the \"ident\" configuration file.\n" +msgid "%s does not know where to find the \"ident\" configuration file.\n" "This can be specified as \"ident_file\" in \"%s\", or by the -D invocation option, or by the PGDATA environment variable.\n" -msgstr "" -"%s не знає де знайти файл конфігурації \"ident\".\n" +msgstr "%s не знає де знайти файл конфігурації \"ident\".\n" "Його розташування може бути вказано як \"ident_file\" в \"%s\", або передано в параметрі -D, або встановлено змінну середовища PGDATA.\n" -#: utils/misc/guc.c:2896 +#: utils/misc/guc.c:2943 msgid "Value exceeds integer range." msgstr "Значення перевищує діапазон цілих чисел." -#: utils/misc/guc.c:3132 +#: utils/misc/guc.c:3185 #, c-format -msgid "%d%s%s is outside the valid range for parameter \"%s\" (%d .. %d)" -msgstr "%d%s%s поза припустимим діапазоном для параметру \"%s\" (%d .. %d)" +msgid "%d%s%s is outside the valid range for parameter \"%s\" (%d%s%s .. %d%s%s)" +msgstr "%d%s%s поза припустимим діапазоном для параметру \"%s\" (%d%s%s .. %d%s%s)" -#: utils/misc/guc.c:3168 +#: utils/misc/guc.c:3226 #, c-format -msgid "%g%s%s is outside the valid range for parameter \"%s\" (%g .. %g)" -msgstr "%g%s%s поза припустимим діапазоном для параметру \"%s\" (%g .. %g)" +msgid "%g%s%s is outside the valid range for parameter \"%s\" (%g%s%s .. %g%s%s)" +msgstr "%g%s%s поза припустимим діапазоном для параметру \"%s\" (%g%s%s .. %g%s%s)" -#: utils/misc/guc.c:3369 utils/misc/guc_funcs.c:54 +#: utils/misc/guc.c:3465 #, c-format -msgid "cannot set parameters during a parallel operation" -msgstr "встановити параметри під час паралельної операції не можна" +msgid "parameter \"%s\" cannot be set during a parallel operation" +msgstr "параметр \"%s\" не можна встановити під час паралельних операцій" -#: utils/misc/guc.c:3388 utils/misc/guc.c:4539 +#: utils/misc/guc.c:3481 utils/misc/guc.c:4655 #, c-format msgid "parameter \"%s\" cannot be changed" msgstr "параметр \"%s\" не може бути змінений" -#: utils/misc/guc.c:3421 +#: utils/misc/guc.c:3514 #, c-format msgid "parameter \"%s\" cannot be changed now" msgstr "параметр \"%s\" не може бути змінений зараз" -#: utils/misc/guc.c:3448 utils/misc/guc.c:3510 utils/misc/guc.c:4515 -#: utils/misc/guc.c:6563 +#: utils/misc/guc.c:3541 utils/misc/guc.c:3603 utils/misc/guc.c:4630 +#: utils/misc/guc.c:6721 #, c-format msgid "permission denied to set parameter \"%s\"" msgstr "немає прав для встановлення параметру \"%s\"" -#: utils/misc/guc.c:3490 +#: utils/misc/guc.c:3583 #, c-format msgid "parameter \"%s\" cannot be set after connection start" msgstr "параметр \"%s\" не можна встановити після встановлення підключення" -#: utils/misc/guc.c:3549 +#: utils/misc/guc.c:3642 #, c-format msgid "cannot set parameter \"%s\" within security-definer function" msgstr "параметр \"%s\" не можна встановити в межах функції безпеки" -#: utils/misc/guc.c:3570 +#: utils/misc/guc.c:3663 #, c-format msgid "parameter \"%s\" cannot be reset" msgstr "параметр \"%s\" не можна скинути" -#: utils/misc/guc.c:3577 +#: utils/misc/guc.c:3670 #, c-format msgid "parameter \"%s\" cannot be set locally in functions" msgstr "параметр \"%s\" не може бути встановлений локально в функціях" -#: utils/misc/guc.c:4221 utils/misc/guc.c:4268 utils/misc/guc.c:5282 +#: utils/misc/guc.c:4329 utils/misc/guc.c:4377 utils/misc/guc.c:5409 #, c-format msgid "permission denied to examine \"%s\"" msgstr "немає дозволу для вивчення \"%s\"" -#: utils/misc/guc.c:4222 utils/misc/guc.c:4269 utils/misc/guc.c:5283 +#: utils/misc/guc.c:4330 utils/misc/guc.c:4378 utils/misc/guc.c:5410 #, c-format msgid "Only roles with privileges of the \"%s\" role may examine this parameter." msgstr "Тільки ролі з привілеями ролі \"%s\" можуть перевіряти цей параметр." -#: utils/misc/guc.c:4505 +#: utils/misc/guc.c:4588 +#, c-format +msgid "ALTER SYSTEM is not allowed in this environment" +msgstr "ALTER SYSTEM не допускається в цьому середовищі" + +#: utils/misc/guc.c:4620 #, c-format msgid "permission denied to perform ALTER SYSTEM RESET ALL" msgstr "немає дозволу для виконання ALTER SYSTEM RESET ALL" -#: utils/misc/guc.c:4571 +#: utils/misc/guc.c:4699 #, c-format msgid "parameter value for ALTER SYSTEM must not contain a newline" msgstr "значення параметру для ALTER SYSTEM не повинне містити нового рядка" -#: utils/misc/guc.c:4617 +#: utils/misc/guc.c:4744 #, c-format msgid "could not parse contents of file \"%s\"" msgstr "не вдалося аналізувати зміст файла \"%s\"" -#: utils/misc/guc.c:4799 +#: utils/misc/guc.c:4926 #, c-format msgid "attempt to redefine parameter \"%s\"" msgstr "спроба перевизначити параметр \"%s\"" -#: utils/misc/guc.c:5138 +#: utils/misc/guc.c:5265 #, c-format msgid "invalid configuration parameter name \"%s\", removing it" msgstr "неприпустима назва параметра конфігурації \"%s\", видаляємо" -#: utils/misc/guc.c:5140 +#: utils/misc/guc.c:5267 #, c-format msgid "\"%s\" is now a reserved prefix." msgstr "\"%s\" тепер є зарезервованим префіксом." -#: utils/misc/guc.c:6017 +#: utils/misc/guc.c:6144 #, c-format msgid "while setting parameter \"%s\" to \"%s\"" msgstr "під час налаштування параметру \"%s\" на \"%s\"" -#: utils/misc/guc.c:6186 +#: utils/misc/guc.c:6313 #, c-format msgid "parameter \"%s\" could not be set" msgstr "параметр \"%s\" не вдалося встановити" -#: utils/misc/guc.c:6276 +#: utils/misc/guc.c:6403 #, c-format msgid "could not parse setting for parameter \"%s\"" msgstr "не вдалося аналізувати налаштування параметру \"%s\"" -#: utils/misc/guc.c:6695 +#: utils/misc/guc.c:6853 #, c-format msgid "invalid value for parameter \"%s\": %g" msgstr "неприпустиме значення для параметра \"%s\": %g" +#: utils/misc/guc_funcs.c:54 +#, c-format +msgid "cannot set parameters during a parallel operation" +msgstr "встановити параметри під час паралельної операції не можна" + #: utils/misc/guc_funcs.c:130 #, c-format msgid "SET LOCAL TRANSACTION SNAPSHOT is not implemented" @@ -27079,59 +28140,59 @@ msgstr "SET %s приймає лише один аргумент" msgid "SET requires parameter name" msgstr "SET потребує ім'я параметра" -#: utils/misc/guc_tables.c:662 +#: utils/misc/guc_tables.c:676 msgid "Ungrouped" msgstr "Розгруповано" -#: utils/misc/guc_tables.c:664 +#: utils/misc/guc_tables.c:677 msgid "File Locations" msgstr "Розташування файлів" -#: utils/misc/guc_tables.c:666 +#: utils/misc/guc_tables.c:678 msgid "Connections and Authentication / Connection Settings" msgstr "Підключення і автентифікація / Параметри підключень" -#: utils/misc/guc_tables.c:668 +#: utils/misc/guc_tables.c:679 msgid "Connections and Authentication / TCP Settings" msgstr "Підключення і автентифікація / Налаштування TCP" -#: utils/misc/guc_tables.c:670 +#: utils/misc/guc_tables.c:680 msgid "Connections and Authentication / Authentication" msgstr "Підключення і автентифікація / Автентифікація" -#: utils/misc/guc_tables.c:672 +#: utils/misc/guc_tables.c:681 msgid "Connections and Authentication / SSL" msgstr "Підключення і автентифікація / SSL" -#: utils/misc/guc_tables.c:674 +#: utils/misc/guc_tables.c:682 msgid "Resource Usage / Memory" msgstr "Використання ресурсу / Пам'ять" -#: utils/misc/guc_tables.c:676 +#: utils/misc/guc_tables.c:683 msgid "Resource Usage / Disk" msgstr "Використання ресурсу / Диск" -#: utils/misc/guc_tables.c:678 +#: utils/misc/guc_tables.c:684 msgid "Resource Usage / Kernel Resources" msgstr "Використання ресурсу / Ресурси ядра" -#: utils/misc/guc_tables.c:680 +#: utils/misc/guc_tables.c:685 msgid "Resource Usage / Cost-Based Vacuum Delay" msgstr "Використання ресурсу / Затримка очистки по вартості" -#: utils/misc/guc_tables.c:682 +#: utils/misc/guc_tables.c:686 msgid "Resource Usage / Background Writer" msgstr "Використання ресурсу / Фоновий запис" -#: utils/misc/guc_tables.c:684 +#: utils/misc/guc_tables.c:687 msgid "Resource Usage / Asynchronous Behavior" msgstr "Використання ресурсу / Асинхронна поведінка" -#: utils/misc/guc_tables.c:686 +#: utils/misc/guc_tables.c:688 msgid "Write-Ahead Log / Settings" msgstr "Журнал WAL / Параметри" -#: utils/misc/guc_tables.c:688 +#: utils/misc/guc_tables.c:689 msgid "Write-Ahead Log / Checkpoints" msgstr "Журнал WAL / Контрольні точки" @@ -27139,458 +28200,474 @@ msgstr "Журнал WAL / Контрольні точки" msgid "Write-Ahead Log / Archiving" msgstr "Журнал WAL / Архівація" -#: utils/misc/guc_tables.c:692 +#: utils/misc/guc_tables.c:691 msgid "Write-Ahead Log / Recovery" msgstr "Журнал WAL / Відновлення" -#: utils/misc/guc_tables.c:694 +#: utils/misc/guc_tables.c:692 msgid "Write-Ahead Log / Archive Recovery" msgstr "Журнал WAL / Відновлення архіву" -#: utils/misc/guc_tables.c:696 +#: utils/misc/guc_tables.c:693 msgid "Write-Ahead Log / Recovery Target" msgstr "Журнал WAL / Мета відновлення" -#: utils/misc/guc_tables.c:698 +#: utils/misc/guc_tables.c:694 +msgid "Write-Ahead Log / Summarization" +msgstr "Журнал попереднього запису / Підсумки" + +#: utils/misc/guc_tables.c:695 msgid "Replication / Sending Servers" msgstr "Реплікація / Надсилання серверів" -#: utils/misc/guc_tables.c:700 +#: utils/misc/guc_tables.c:696 msgid "Replication / Primary Server" msgstr "Реплікація / Основний сервер" -#: utils/misc/guc_tables.c:702 +#: utils/misc/guc_tables.c:697 msgid "Replication / Standby Servers" msgstr "Реплікація / Резервні сервера" -#: utils/misc/guc_tables.c:704 +#: utils/misc/guc_tables.c:698 msgid "Replication / Subscribers" msgstr "Реплікація / Підписники" -#: utils/misc/guc_tables.c:706 +#: utils/misc/guc_tables.c:699 msgid "Query Tuning / Planner Method Configuration" msgstr "Налаштування запитів / Конфігурація методів планувальника" -#: utils/misc/guc_tables.c:708 +#: utils/misc/guc_tables.c:700 msgid "Query Tuning / Planner Cost Constants" msgstr "Налаштування запитів / Константи вартості для планувальника" -#: utils/misc/guc_tables.c:710 +#: utils/misc/guc_tables.c:701 msgid "Query Tuning / Genetic Query Optimizer" msgstr "Налаштування запитів / Генетичний оптимізатор запитів" -#: utils/misc/guc_tables.c:712 +#: utils/misc/guc_tables.c:702 msgid "Query Tuning / Other Planner Options" msgstr "Налаштування запитів / Інші параметри планувальника" -#: utils/misc/guc_tables.c:714 +#: utils/misc/guc_tables.c:703 msgid "Reporting and Logging / Where to Log" msgstr "Звіти і журналювання / Куди записувати" -#: utils/misc/guc_tables.c:716 +#: utils/misc/guc_tables.c:704 msgid "Reporting and Logging / When to Log" msgstr "Звіти і журналювання / Коли записувати" -#: utils/misc/guc_tables.c:718 +#: utils/misc/guc_tables.c:705 msgid "Reporting and Logging / What to Log" msgstr "Звіти і журналювання / Що записувати" -#: utils/misc/guc_tables.c:720 +#: utils/misc/guc_tables.c:706 msgid "Reporting and Logging / Process Title" msgstr "Звітування і журналювання / Назва процесу" -#: utils/misc/guc_tables.c:722 +#: utils/misc/guc_tables.c:707 msgid "Statistics / Monitoring" msgstr "Статистика / Моніторинг" -#: utils/misc/guc_tables.c:724 +#: utils/misc/guc_tables.c:708 msgid "Statistics / Cumulative Query and Index Statistics" msgstr "Статистика / Кумулятивна статистика запитів та індексів" -#: utils/misc/guc_tables.c:726 +#: utils/misc/guc_tables.c:709 msgid "Autovacuum" msgstr "Автоочистка" -#: utils/misc/guc_tables.c:728 +#: utils/misc/guc_tables.c:710 msgid "Client Connection Defaults / Statement Behavior" msgstr "Параметри клієнтських сеансів за замовчуванням / Поведінка декларацій" -#: utils/misc/guc_tables.c:730 +#: utils/misc/guc_tables.c:711 msgid "Client Connection Defaults / Locale and Formatting" msgstr "Параметри клієнтських сеансів за замовчуванням / Локалізація і форматування" -#: utils/misc/guc_tables.c:732 +#: utils/misc/guc_tables.c:712 msgid "Client Connection Defaults / Shared Library Preloading" msgstr "Параметри клієнтських сеансів за замовчуванням / Попереднє завантаження спільних бібліотек" -#: utils/misc/guc_tables.c:734 +#: utils/misc/guc_tables.c:713 msgid "Client Connection Defaults / Other Defaults" msgstr "Параметри клієнтських сеансів за замовчуванням / Інші параметри за замовчуванням" -#: utils/misc/guc_tables.c:736 +#: utils/misc/guc_tables.c:714 msgid "Lock Management" msgstr "Керування блокуванням" -#: utils/misc/guc_tables.c:738 +#: utils/misc/guc_tables.c:715 msgid "Version and Platform Compatibility / Previous PostgreSQL Versions" msgstr "Сумісність версій і платформ / Попередні версії PostgreSQL" -#: utils/misc/guc_tables.c:740 +#: utils/misc/guc_tables.c:716 msgid "Version and Platform Compatibility / Other Platforms and Clients" msgstr "Сумісність версій і платформ / Інші платформи і клієнти" -#: utils/misc/guc_tables.c:742 +#: utils/misc/guc_tables.c:717 msgid "Error Handling" msgstr "Обробка помилок" -#: utils/misc/guc_tables.c:744 +#: utils/misc/guc_tables.c:718 msgid "Preset Options" msgstr "Визначені параметри" -#: utils/misc/guc_tables.c:746 +#: utils/misc/guc_tables.c:719 msgid "Customized Options" msgstr "Настроєні параметри" -#: utils/misc/guc_tables.c:748 +#: utils/misc/guc_tables.c:720 msgid "Developer Options" msgstr "Параметри для розробників" -#: utils/misc/guc_tables.c:805 +#: utils/misc/guc_tables.c:775 msgid "Enables the planner's use of sequential-scan plans." msgstr "Дає змогу планувальнику використати плани послідовного сканування." -#: utils/misc/guc_tables.c:815 +#: utils/misc/guc_tables.c:785 msgid "Enables the planner's use of index-scan plans." msgstr "Дає змогу планувальнику використати плани сканування по індексу." -#: utils/misc/guc_tables.c:825 +#: utils/misc/guc_tables.c:795 msgid "Enables the planner's use of index-only-scan plans." msgstr "Дає змогу планувальнику використати плани сканування лише індекса." -#: utils/misc/guc_tables.c:835 +#: utils/misc/guc_tables.c:805 msgid "Enables the planner's use of bitmap-scan plans." msgstr "Дає змогу планувальнику використати плани сканування по точковому рисунку." -#: utils/misc/guc_tables.c:845 +#: utils/misc/guc_tables.c:815 msgid "Enables the planner's use of TID scan plans." msgstr "Дає змогу планувальнику використати плани сканування TID." -#: utils/misc/guc_tables.c:855 +#: utils/misc/guc_tables.c:825 msgid "Enables the planner's use of explicit sort steps." msgstr "Дає змогу планувальнику використати кроки з явним сортуванням." -#: utils/misc/guc_tables.c:865 +#: utils/misc/guc_tables.c:835 msgid "Enables the planner's use of incremental sort steps." msgstr "Дає змогу планувальнику використати кроки інкрементного сортування." -#: utils/misc/guc_tables.c:875 +#: utils/misc/guc_tables.c:845 msgid "Enables the planner's use of hashed aggregation plans." msgstr "Дає змогу планувальнику використовувати плани агрегації по гешу." -#: utils/misc/guc_tables.c:885 +#: utils/misc/guc_tables.c:855 msgid "Enables the planner's use of materialization." msgstr "Дає змогу планувальнику використовувати матеріалізацію." -#: utils/misc/guc_tables.c:895 +#: utils/misc/guc_tables.c:865 msgid "Enables the planner's use of memoization." msgstr "Дає змогу планувальнику використовувати мемоїзацію." -#: utils/misc/guc_tables.c:905 +#: utils/misc/guc_tables.c:875 msgid "Enables the planner's use of nested-loop join plans." msgstr "Дає змогу планувальнику використовувати плани з'єднання з вкладеними циклами." -#: utils/misc/guc_tables.c:915 +#: utils/misc/guc_tables.c:885 msgid "Enables the planner's use of merge join plans." msgstr "Дає змогу планувальнику використовувати плани з'єднання об'єднанням." -#: utils/misc/guc_tables.c:925 +#: utils/misc/guc_tables.c:895 msgid "Enables the planner's use of hash join plans." msgstr "Дає змогу планувальнику використовувати плани з'єднання по гешу." -#: utils/misc/guc_tables.c:935 +#: utils/misc/guc_tables.c:905 msgid "Enables the planner's use of gather merge plans." msgstr "Дає змогу планувальнику використовувати плани збору об'єднанням." -#: utils/misc/guc_tables.c:945 +#: utils/misc/guc_tables.c:915 msgid "Enables partitionwise join." msgstr "Вмикає з'єднання з урахуванням секціонування." -#: utils/misc/guc_tables.c:955 +#: utils/misc/guc_tables.c:925 msgid "Enables partitionwise aggregation and grouping." msgstr "Вмикає агрегацію і групування з урахуванням секціонування." -#: utils/misc/guc_tables.c:965 +#: utils/misc/guc_tables.c:935 msgid "Enables the planner's use of parallel append plans." msgstr "Дає змогу планувальнику використовувати плани паралельного додавання." -#: utils/misc/guc_tables.c:975 +#: utils/misc/guc_tables.c:945 msgid "Enables the planner's use of parallel hash plans." msgstr "Дає змогу планувальнику використовувати плани паралельного з'єднання по гешу." -#: utils/misc/guc_tables.c:985 +#: utils/misc/guc_tables.c:955 msgid "Enables plan-time and execution-time partition pruning." msgstr "Активує видалення розділу під час планування і виконання." -#: utils/misc/guc_tables.c:986 +#: utils/misc/guc_tables.c:956 msgid "Allows the query planner and executor to compare partition bounds to conditions in the query to determine which partitions must be scanned." msgstr "Дозволяє планувальнику і виконавцю запитів порівнювати границі секцій з умовами в запиті і визначати які секції повинні бути відскановані." -#: utils/misc/guc_tables.c:997 +#: utils/misc/guc_tables.c:967 msgid "Enables the planner's ability to produce plans that provide presorted input for ORDER BY / DISTINCT aggregate functions." msgstr "Дозволяє планувальнику створювати плани з попередньо відсортованими даними для агрегованих функцій ORDER BY / DISTINCT." -#: utils/misc/guc_tables.c:1000 +#: utils/misc/guc_tables.c:970 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 "Дозволяє планувальнику запитів створювати плани, які надають попередньо відсортовані дані для агрегованих функцій з реченням ORDER BY / DISTINCT. Якщо цей параметр вимкнено, під час виконання запиту завжди виконується неявне сортування." -#: utils/misc/guc_tables.c:1012 +#: utils/misc/guc_tables.c:982 msgid "Enables the planner's use of async append plans." msgstr "Дає змогу планувальнику використовувати асинхронні плани додавання." -#: utils/misc/guc_tables.c:1022 +#: utils/misc/guc_tables.c:992 +msgid "Enables reordering of GROUP BY keys." +msgstr "Дозволяє перевпорядкувати ключі GROUP BY." + +#: utils/misc/guc_tables.c:1002 msgid "Enables genetic query optimization." msgstr "Вмикає генетичну оптимізацію запитів." -#: utils/misc/guc_tables.c:1023 +#: utils/misc/guc_tables.c:1003 msgid "This algorithm attempts to do planning without exhaustive searching." msgstr "Цей алгоритм намагається побудувати план без повного перебору." -#: utils/misc/guc_tables.c:1034 +#: utils/misc/guc_tables.c:1017 msgid "Shows whether the current user is a superuser." msgstr "Показує, чи є поточний користувач суперкористувачем." -#: utils/misc/guc_tables.c:1044 +#: utils/misc/guc_tables.c:1032 +msgid "Allows running the ALTER SYSTEM command." +msgstr "Дозволяє запускати команду ALTER SYSTEM." + +#: utils/misc/guc_tables.c:1033 +msgid "Can be set to off for environments where global configuration changes should be made using a different method." +msgstr "" + +#: utils/misc/guc_tables.c:1043 msgid "Enables advertising the server via Bonjour." msgstr "Вмикає оголошення серверу через Bonjour." -#: utils/misc/guc_tables.c:1053 +#: utils/misc/guc_tables.c:1052 msgid "Collects transaction commit time." msgstr "Збирає час затвердження транзакцій." -#: utils/misc/guc_tables.c:1062 +#: utils/misc/guc_tables.c:1061 msgid "Enables SSL connections." msgstr "Вмикає SSL-підключення." -#: utils/misc/guc_tables.c:1071 -msgid "Controls whether ssl_passphrase_command is called during server reload." -msgstr "Визначає, чи викликається ssl_passphrase_command під час перезавантаження сервера." +#: utils/misc/guc_tables.c:1070 +msgid "Controls whether \"ssl_passphrase_command\" is called during server reload." +msgstr "" -#: utils/misc/guc_tables.c:1080 +#: utils/misc/guc_tables.c:1079 msgid "Give priority to server ciphersuite order." msgstr "Віддавати перевагу замовленню набору шрифтів сервера." -#: utils/misc/guc_tables.c:1089 +#: utils/misc/guc_tables.c:1088 msgid "Forces synchronization of updates to disk." msgstr "Примусова синхронізація оновлень на диск." -#: utils/misc/guc_tables.c:1090 +#: utils/misc/guc_tables.c:1089 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 "Сервер буде використовувати системний виклик fsync() в декількох місцях, щоб переконатися, що оновлення фізично записані на диск. Це гарантує, що кластер баз даних відновиться до узгодженого стану після аварійного завершення роботи операційної системи чи апаратного збою." -#: utils/misc/guc_tables.c:1101 +#: utils/misc/guc_tables.c:1100 msgid "Continues processing after a checksum failure." msgstr "Продовжує обробку після помилки контрольної суми." -#: utils/misc/guc_tables.c:1102 +#: utils/misc/guc_tables.c:1101 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 "Виявляючи помилку контрольної суми, PostgreSQL звичайно повідомляє про помилку і перериває поточну транзакцію. Але якщо ignore_checksum_failure дорівнює true, система пропустить помилку (але видасть попередження) і продовжить обробку. Ця поведінка може бути причиною аварійних завершень роботи або інших серйозних проблем. Це має місце, лише якщо ввімкнен контроль цілосності сторінок." -#: utils/misc/guc_tables.c:1116 +#: utils/misc/guc_tables.c:1115 msgid "Continues processing past damaged page headers." msgstr "Продовжує обробку при пошкоджені заголовків сторінок." -#: utils/misc/guc_tables.c:1117 -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 "Виявляючи пошкоджений заголовок сторінки, PostgreSQL звичайно повідомляє про помилку, перериваючи поточну транзакцію. Але якщо zero_damaged_pages дорівнює true система видасть попередження, обнулить пошкоджену сторінку, і продовжить обробку. Ця поведінка знищить дані, а саме рядків в пошкодженій сторінці." +#: utils/misc/guc_tables.c:1116 +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 "" -#: utils/misc/guc_tables.c:1130 +#: utils/misc/guc_tables.c:1129 msgid "Continues recovery after an invalid pages failure." msgstr "Продовжує відновлення після помилки неприпустимих сторінок." -#: utils/misc/guc_tables.c:1131 -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 "Виявлення WAL записів, які мають посилання на неприпустимі сторінки під час відновлення, змушує PostgreSQL підняти помилку на рівень PANIC, перериваючи відновлення. Встановлення параметру ignore_invalid_pages на true змусить систему ігнорувати неприпустимі посилання на сторінки в WAL записах (але все ще буде повідомляти про попередження), і продовжити відновлення. Ця поведінка може викликати збої, втрату даних, розповсюдження або приховання пошкоджень, або інші серйозні проблеми. Діє лише під час відновлення або в режимі очікування." +#: utils/misc/guc_tables.c:1130 +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 "" -#: utils/misc/guc_tables.c:1149 +#: utils/misc/guc_tables.c:1148 msgid "Writes full pages to WAL when first modified after a checkpoint." msgstr "Запис повних сторінок до WAL при першій зміні після контрольної точки." -#: utils/misc/guc_tables.c:1150 +#: utils/misc/guc_tables.c:1149 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 "Сторінка, записувана під час аварійного завершення роботи операційної системи може бути записаною на диск частково. Під час відновлення, журналу змін рядків в WAL буде недостатньо для відновлення. Цей параметр записує повні сторінки після першої зміни після контрольної точки, тож відновлення можливе." -#: utils/misc/guc_tables.c:1163 +#: utils/misc/guc_tables.c:1162 msgid "Writes full pages to WAL when first modified after a checkpoint, even for a non-critical modification." msgstr "Записує повні сторінки до WAL при першій зміні після контрольної точки, навіть при некритичних змінах." -#: utils/misc/guc_tables.c:1173 +#: utils/misc/guc_tables.c:1172 msgid "Writes zeroes to new WAL files before first use." msgstr "Перед першим використанням записує нулі до нових файлів WAL." -#: utils/misc/guc_tables.c:1183 +#: utils/misc/guc_tables.c:1182 msgid "Recycles WAL files by renaming them." msgstr "Перезаписує файли WAL, перейменувавши їх." -#: utils/misc/guc_tables.c:1193 +#: utils/misc/guc_tables.c:1192 msgid "Logs each checkpoint." msgstr "Журналювати кожну контрольну точку." -#: utils/misc/guc_tables.c:1202 +#: utils/misc/guc_tables.c:1201 msgid "Logs each successful connection." msgstr "Журналювати кожне успішне підключення." -#: utils/misc/guc_tables.c:1211 +#: utils/misc/guc_tables.c:1210 +msgid "Logs details of pre-authentication connection handshake." +msgstr "" + +#: utils/misc/guc_tables.c:1220 msgid "Logs end of a session, including duration." msgstr "Журналювати кінець сеансу, зокрема тривалість." -#: utils/misc/guc_tables.c:1220 +#: utils/misc/guc_tables.c:1229 msgid "Logs each replication command." msgstr "Журналювати кожну команду реплікації." -#: utils/misc/guc_tables.c:1229 +#: utils/misc/guc_tables.c:1238 msgid "Shows whether the running server has assertion checks enabled." msgstr "Показує, чи активовані перевірки твердження на працюючому сервері." -#: utils/misc/guc_tables.c:1240 +#: utils/misc/guc_tables.c:1249 msgid "Terminate session on any error." msgstr "Припиняти сеанси при будь-якій помилці." -#: utils/misc/guc_tables.c:1249 +#: utils/misc/guc_tables.c:1258 msgid "Reinitialize server after backend crash." msgstr "Повторити ініціалізацію сервера, після внутрішнього аварійного завершення роботи." -#: utils/misc/guc_tables.c:1258 +#: utils/misc/guc_tables.c:1267 msgid "Remove temporary files after backend crash." msgstr "Видалити тимчасові файли після аварійного завершення роботи внутрішнього сервера." -#: utils/misc/guc_tables.c:1268 +#: utils/misc/guc_tables.c:1277 msgid "Send SIGABRT not SIGQUIT to child processes after backend crash." msgstr "Надсилати SIGABRT, а не SIGQUIT дочірнім процесам після аварійного завершення роботи бекенда." -#: utils/misc/guc_tables.c:1278 +#: utils/misc/guc_tables.c:1287 msgid "Send SIGABRT not SIGKILL to stuck child processes." msgstr "Надсилати SIGABRT, а не SIGKILL до дочірніх процесів, що застрягли." -#: utils/misc/guc_tables.c:1289 +#: utils/misc/guc_tables.c:1298 msgid "Logs the duration of each completed SQL statement." msgstr "Журналювати тривалість кожного виконаного SQL-оператора." -#: utils/misc/guc_tables.c:1298 +#: utils/misc/guc_tables.c:1307 msgid "Logs each query's parse tree." msgstr "Журналювати дерево аналізу для кожного запиту." -#: utils/misc/guc_tables.c:1307 +#: utils/misc/guc_tables.c:1316 msgid "Logs each query's rewritten parse tree." msgstr "Журналювати переписане дерево аналізу для кожного запиту." -#: utils/misc/guc_tables.c:1316 +#: utils/misc/guc_tables.c:1325 msgid "Logs each query's execution plan." msgstr "Журналювати план виконання кожного запиту." -#: utils/misc/guc_tables.c:1325 +#: utils/misc/guc_tables.c:1334 msgid "Indents parse and plan tree displays." msgstr "Відступи при відображенні дерев аналізу і плану запитів." -#: utils/misc/guc_tables.c:1334 +#: utils/misc/guc_tables.c:1343 msgid "Writes parser performance statistics to the server log." msgstr "Запис статистики продуктивності аналізу до запису сервера." -#: utils/misc/guc_tables.c:1343 +#: utils/misc/guc_tables.c:1352 msgid "Writes planner performance statistics to the server log." msgstr "Запис статистики продуктивності планувальника до запису сервера." -#: utils/misc/guc_tables.c:1352 +#: utils/misc/guc_tables.c:1361 msgid "Writes executor performance statistics to the server log." msgstr "Запис статистики продуктивності виконувача до запису сервера." -#: utils/misc/guc_tables.c:1361 +#: utils/misc/guc_tables.c:1370 msgid "Writes cumulative performance statistics to the server log." msgstr "Запис сукупної статистики продуктивності до запису сервера." -#: utils/misc/guc_tables.c:1371 +#: utils/misc/guc_tables.c:1380 msgid "Logs system resource usage statistics (memory and CPU) on various B-tree operations." msgstr "Журналювати статистику використання системних ресурсів (пам'яті і ЦП) при різноманітних операціях з B-tree." -#: utils/misc/guc_tables.c:1383 +#: utils/misc/guc_tables.c:1392 msgid "Collects information about executing commands." msgstr "Збирати інформацію про команди які виконуються." -#: utils/misc/guc_tables.c:1384 +#: utils/misc/guc_tables.c:1393 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 "Активує збір інформації про поточні команди, які виконуються в кожному сеансі, разом з часом запуску команди." -#: utils/misc/guc_tables.c:1394 +#: utils/misc/guc_tables.c:1403 msgid "Collects statistics on database activity." msgstr "Збирати статистику про активність бази даних." -#: utils/misc/guc_tables.c:1403 +#: utils/misc/guc_tables.c:1412 msgid "Collects timing statistics for database I/O activity." msgstr "Збирати статистику за часом активності введення/виведення для бази даних." -#: utils/misc/guc_tables.c:1412 +#: utils/misc/guc_tables.c:1421 msgid "Collects timing statistics for WAL I/O activity." msgstr "Збирає статистику часу для активності вводу/виводу WAL." -#: utils/misc/guc_tables.c:1422 +#: utils/misc/guc_tables.c:1431 msgid "Updates the process title to show the active SQL command." msgstr "Оновлення виводить в заголовок процесу активну SQL-команду." -#: utils/misc/guc_tables.c:1423 +#: utils/misc/guc_tables.c:1432 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:1432 +#: utils/misc/guc_tables.c:1441 msgid "Starts the autovacuum subprocess." msgstr "Запускає підпроцес автоочистки." -#: utils/misc/guc_tables.c:1442 +#: utils/misc/guc_tables.c:1451 msgid "Generates debugging output for LISTEN and NOTIFY." msgstr "Генерує налагодженні повідомлення для LISTEN і NOTIFY." -#: utils/misc/guc_tables.c:1454 +#: utils/misc/guc_tables.c:1463 msgid "Emits information about lock usage." msgstr "Видає інформацію про блокування, які використовуються." -#: utils/misc/guc_tables.c:1464 +#: utils/misc/guc_tables.c:1473 msgid "Emits information about user lock usage." msgstr "Видає інформацію про користувацькі блокування, які використовуються." -#: utils/misc/guc_tables.c:1474 +#: utils/misc/guc_tables.c:1483 msgid "Emits information about lightweight lock usage." msgstr "Видає інформацію про спрощені блокування, які використовуються." -#: utils/misc/guc_tables.c:1484 +#: utils/misc/guc_tables.c:1493 msgid "Dumps information about all current locks when a deadlock timeout occurs." msgstr "Виводить інформацію про всі поточні блокування, при тайм-ауті взаємного блокування." -#: utils/misc/guc_tables.c:1496 +#: utils/misc/guc_tables.c:1505 msgid "Logs long lock waits." msgstr "Журналювати тривалі очікування в блокуваннях." -#: utils/misc/guc_tables.c:1505 +#: utils/misc/guc_tables.c:1514 msgid "Logs standby recovery conflict waits." msgstr "Журналює очікування конфлікту відновлення." -#: utils/misc/guc_tables.c:1514 +#: utils/misc/guc_tables.c:1523 msgid "Logs the host name in the connection logs." msgstr "Журналювати ім’я хоста до записів підключення." -#: utils/misc/guc_tables.c:1515 +#: utils/misc/guc_tables.c:1524 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 "За замовчуванням, записи підключень показують лише IP-адреси хостів, які підключилися. Якщо ви хочете бачити імена хостів ви можете ввімкнути цей параметр, але врахуйте, що це може значно вплинути на продуктивність." -#: utils/misc/guc_tables.c:1526 +#: utils/misc/guc_tables.c:1535 msgid "Treats \"expr=NULL\" as \"expr IS NULL\"." msgstr "Вважати \"expr=NULL\" як \"expr IS NULL\"." -#: utils/misc/guc_tables.c:1527 +#: utils/misc/guc_tables.c:1536 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 "Коли цей параметр ввімкнений, вирази форми expr = NULL (або NULL = expr) вважаються як expr IS NULL, тобто, повертають true, якщо expr співпадає зі значенням null, і false в іншому разі. Правильна поведінка expr = NULL - завжди повертати null (невідомо)." -#: utils/misc/guc_tables.c:1539 -msgid "Enables per-database user names." -msgstr "Вмикає зв'язування імен користувачів з базами даних." - #: utils/misc/guc_tables.c:1548 msgid "Sets the default read-only status of new transactions." msgstr "Встановлює статус \"лише читання\" за замовчуванням для нових транзакцій." @@ -27684,1366 +28761,1440 @@ msgid "Sets whether to include or exclude transaction with recovery target." msgstr "Встановлює, включати чи виключати транзакції з метою відновлення." #: utils/misc/guc_tables.c:1778 +msgid "Starts the WAL summarizer process to enable incremental backup." +msgstr "Запускає процес підсумовування WAL, щоб увімкнути інкрементне резервне копіювання." + +#: utils/misc/guc_tables.c:1788 msgid "Allows connections and queries during recovery." msgstr "Дозволяє підключення і запити під час відновлення." -#: utils/misc/guc_tables.c:1788 +#: utils/misc/guc_tables.c:1798 msgid "Allows feedback from a hot standby to the primary that will avoid query conflicts." msgstr "Дозволяє зворотній зв'язок серверу hot standby з основним для уникнення конфліктів запитів." -#: utils/misc/guc_tables.c:1798 +#: utils/misc/guc_tables.c:1808 msgid "Shows whether hot standby is currently active." msgstr "Показує, чи hot standby наразі активний." -#: utils/misc/guc_tables.c:1809 +#: utils/misc/guc_tables.c:1819 msgid "Allows modifications of the structure of system tables." msgstr "Дозволяє модифікації структури системних таблиць." -#: utils/misc/guc_tables.c:1820 +#: utils/misc/guc_tables.c:1830 msgid "Disables reading from system indexes." msgstr "Вимикає читання з системних індексів." -#: utils/misc/guc_tables.c:1821 +#: utils/misc/guc_tables.c:1831 msgid "It does not prevent updating the indexes, so it is safe to use. The worst consequence is slowness." msgstr "Це не забороняє оновлення індексів, тож дана поведінка безпечна. Найгірший наслідок це сповільнення." -#: utils/misc/guc_tables.c:1832 +#: utils/misc/guc_tables.c:1842 msgid "Allows tablespaces directly inside pg_tblspc, for testing." msgstr "Дозволяє табличні простори безпосередньо всередині pg_tblspc, для тестування." -#: utils/misc/guc_tables.c:1843 +#: utils/misc/guc_tables.c:1853 msgid "Enables backward compatibility mode for privilege checks on large objects." msgstr "Вмикає режим зворотньої сумісності при перевірці прав для великих об'єктів." -#: utils/misc/guc_tables.c:1844 +#: utils/misc/guc_tables.c:1854 msgid "Skips privilege checks when reading or modifying large objects, for compatibility with PostgreSQL releases prior to 9.0." msgstr "Пропускає перевірки прав при читанні або зміненні великих об'єктів, для сумісності з версіями PostgreSQL до 9.0." -#: utils/misc/guc_tables.c:1854 +#: utils/misc/guc_tables.c:1864 msgid "When generating SQL fragments, quote all identifiers." msgstr "Генеруючи SQL-фрагменти, включати всі ідентифікатори в лапки." -#: utils/misc/guc_tables.c:1864 +#: utils/misc/guc_tables.c:1874 msgid "Shows whether data checksums are turned on for this cluster." msgstr "Показує, чи ввімкнена контрольна сума даних для цього кластеру." -#: utils/misc/guc_tables.c:1875 +#: utils/misc/guc_tables.c:1885 msgid "Add sequence number to syslog messages to avoid duplicate suppression." msgstr "Додає послідовне число до повідомлень syslog, щоб уникнути ігнорування дублікатів." -#: utils/misc/guc_tables.c:1885 +#: utils/misc/guc_tables.c:1895 msgid "Split messages sent to syslog by lines and to fit into 1024 bytes." msgstr "Розділяє повідомлення, які передаються в syslog, рядками розміром не більше 1024 байт." -#: utils/misc/guc_tables.c:1895 +#: utils/misc/guc_tables.c:1905 msgid "Controls whether Gather and Gather Merge also run subplans." msgstr "Визначає, чи вузли зібрання і зібрання об'єднанням також виконають підплани." -#: utils/misc/guc_tables.c:1896 +#: utils/misc/guc_tables.c:1906 msgid "Should gather nodes also run subplans or just gather tuples?" msgstr "Чи повинні вузли збірки також виконувати підплани або тільки збирати кортежі?" -#: utils/misc/guc_tables.c:1906 +#: utils/misc/guc_tables.c:1916 msgid "Allow JIT compilation." msgstr "Дозволити JIT-компіляцію." -#: utils/misc/guc_tables.c:1917 +#: utils/misc/guc_tables.c:1927 msgid "Register JIT-compiled functions with debugger." msgstr "Зареєструйте функції JIT-compiled за допомогою налагоджувача." -#: utils/misc/guc_tables.c:1934 +#: utils/misc/guc_tables.c:1944 msgid "Write out LLVM bitcode to facilitate JIT debugging." msgstr "Виводити бітовий код LLVM для полегшення налагодження JIT." -#: utils/misc/guc_tables.c:1945 +#: utils/misc/guc_tables.c:1955 msgid "Allow JIT compilation of expressions." msgstr "Дозволити JIT-компіляцію виразів." -#: utils/misc/guc_tables.c:1956 +#: utils/misc/guc_tables.c:1966 msgid "Register JIT-compiled functions with perf profiler." msgstr "Зареєструйте функції JIT-compiled за допомогою профілювальника perf." -#: utils/misc/guc_tables.c:1973 +#: utils/misc/guc_tables.c:1983 msgid "Allow JIT compilation of tuple deforming." msgstr "Дозволити JIT-компіляцію перетворення кортежів." -#: utils/misc/guc_tables.c:1984 +#: utils/misc/guc_tables.c:1994 msgid "Whether to continue running after a failure to sync data files." msgstr "Чи продовжувати виконання після помилки синхронізації файлів даних на диску." -#: utils/misc/guc_tables.c:1993 +#: utils/misc/guc_tables.c:2003 msgid "Sets whether a WAL receiver should create a temporary replication slot if no permanent slot is configured." msgstr "Встановлює чи повинен одержувач WAL створити тимчасовий слот реплікації, якщо постійний слот не налаштований." -#: utils/misc/guc_tables.c:2011 +#: utils/misc/guc_tables.c:2012 +msgid "Enables event triggers." +msgstr "Вмикає тригери подій." + +#: utils/misc/guc_tables.c:2013 +msgid "When enabled, event triggers will fire for all applicable statements." +msgstr "Якщо увімкнено, тригери подій спрацьовуватимуть для всіх застосовних операторів." + +#: utils/misc/guc_tables.c:2022 +msgid "Enables a physical standby to synchronize logical failover replication slots from the primary server." +msgstr "" + +#: utils/misc/guc_tables.c:2040 msgid "Sets the amount of time to wait before forcing a switch to the next WAL file." msgstr "Встановлює кількість часу очікування перед примусовим переходом на наступний файл WAL." -#: utils/misc/guc_tables.c:2022 +#: utils/misc/guc_tables.c:2051 msgid "Sets the amount of time to wait after authentication on connection startup." msgstr "Встановлює кількість часу для очікування після автенифікації під час запуску з'єднання." -#: utils/misc/guc_tables.c:2024 utils/misc/guc_tables.c:2658 +#: utils/misc/guc_tables.c:2053 utils/misc/guc_tables.c:2780 msgid "This allows attaching a debugger to the process." msgstr "Це дозволяє підключити налагоджувач до процесу." -#: utils/misc/guc_tables.c:2033 +#: utils/misc/guc_tables.c:2062 msgid "Sets the default statistics target." msgstr "Встановлює мету статистики за замовчуванням." -#: utils/misc/guc_tables.c:2034 +#: utils/misc/guc_tables.c:2063 msgid "This applies to table columns that have not had a column-specific target set via ALTER TABLE SET STATISTICS." msgstr "Це застосовується до стовпців таблиці, для котрих мета статистики не встановлена явно через ALTER TABLE SET STATISTICS." -#: utils/misc/guc_tables.c:2043 +#: utils/misc/guc_tables.c:2072 msgid "Sets the FROM-list size beyond which subqueries are not collapsed." msgstr "Встановлює розмір для списку FROM, при перевищені котрого вкладені запити не згортаються." -#: utils/misc/guc_tables.c:2045 +#: utils/misc/guc_tables.c:2074 msgid "The planner will merge subqueries into upper queries if the resulting FROM list would have no more than this many items." msgstr "Планувальник об'єднає вкладені запити з зовнішніми, якщо в отриманому списку FROM буде не більше заданої кількості елементів." -#: utils/misc/guc_tables.c:2056 +#: utils/misc/guc_tables.c:2085 msgid "Sets the FROM-list size beyond which JOIN constructs are not flattened." msgstr "Встановлює розмір для списку FROM, при перевищенні котрого конструкції JOIN не подаються у вигляді рядка." -#: utils/misc/guc_tables.c:2058 +#: utils/misc/guc_tables.c:2087 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 "Планувальник буде подавати у вигляді рядка явні конструкції JOIN в списки FROM, допоки в отриманому списку не більше заданої кількості елементів." -#: utils/misc/guc_tables.c:2069 +#: utils/misc/guc_tables.c:2098 msgid "Sets the threshold of FROM items beyond which GEQO is used." msgstr "Встановлює граничне значення для елементів FROM, при перевищенні котрого використовується GEQO." -#: utils/misc/guc_tables.c:2079 +#: utils/misc/guc_tables.c:2108 msgid "GEQO: effort is used to set the default for other GEQO parameters." msgstr "GEQO: зусилля використовувались щоб встановити значення за замовчуванням для інших параметрів GEQO." -#: utils/misc/guc_tables.c:2089 +#: utils/misc/guc_tables.c:2118 msgid "GEQO: number of individuals in the population." msgstr "GEQO: кількість користувачів у популяції." -#: utils/misc/guc_tables.c:2090 utils/misc/guc_tables.c:2100 +#: utils/misc/guc_tables.c:2119 utils/misc/guc_tables.c:2129 msgid "Zero selects a suitable default value." msgstr "Нуль вибирає придатне значення за замовчуванням." -#: utils/misc/guc_tables.c:2099 +#: utils/misc/guc_tables.c:2128 msgid "GEQO: number of iterations of the algorithm." msgstr "GEQO: кількість ітерацій в алгоритмі." -#: utils/misc/guc_tables.c:2111 +#: utils/misc/guc_tables.c:2140 msgid "Sets the time to wait on a lock before checking for deadlock." msgstr "Встановлює час очікування в блокуванні до перевірки на взаємне блокування." -#: utils/misc/guc_tables.c:2122 +#: utils/misc/guc_tables.c:2151 msgid "Sets the maximum delay before canceling queries when a hot standby server is processing archived WAL data." msgstr "Встановлює максимальну затримку до скасування запитів, коли hot standby сервер обробляє архівні дані WAL." -#: utils/misc/guc_tables.c:2133 +#: utils/misc/guc_tables.c:2162 msgid "Sets the maximum delay before canceling queries when a hot standby server is processing streamed WAL data." msgstr "Встановлює максимальну затримку до скасування запитів, коли hot standby сервер обробляє дані WAL з потоку." -#: utils/misc/guc_tables.c:2144 +#: utils/misc/guc_tables.c:2173 msgid "Sets the minimum delay for applying changes during recovery." msgstr "Встановлює мінімальну затримку для застосування змін під час відновлення." -#: utils/misc/guc_tables.c:2155 +#: utils/misc/guc_tables.c:2184 msgid "Sets the maximum interval between WAL receiver status reports to the sending server." msgstr "Встановлює максимальний інтервал між звітами про стан одержувачів WAL для серверу надсилання." -#: utils/misc/guc_tables.c:2166 +#: utils/misc/guc_tables.c:2195 msgid "Sets the maximum wait time to receive data from the sending server." msgstr "Встановлює максимальний час очікування для отримання даних з серверу надсилання." -#: utils/misc/guc_tables.c:2177 +#: utils/misc/guc_tables.c:2206 msgid "Sets the maximum number of concurrent connections." msgstr "Встановлює максимальну кілкість паралельних підключень." -#: utils/misc/guc_tables.c:2188 +#: utils/misc/guc_tables.c:2217 msgid "Sets the number of connection slots reserved for superusers." msgstr "Встановлює кількість зарезервованих слотів підключень для суперкористувачів." -#: utils/misc/guc_tables.c:2198 +#: utils/misc/guc_tables.c:2227 msgid "Sets the number of connection slots reserved for roles with privileges of pg_use_reserved_connections." msgstr "Встановлює кількість слотів підключення, зарезервованих для ролей з правами pg_use_reserved_connections." -#: utils/misc/guc_tables.c:2209 +#: utils/misc/guc_tables.c:2238 msgid "Amount of dynamic shared memory reserved at startup." msgstr "Кількість динамічної спільної пам'яті, зарезервованої під час запуску." -#: utils/misc/guc_tables.c:2224 +#: utils/misc/guc_tables.c:2253 msgid "Sets the number of shared memory buffers used by the server." msgstr "Встановлює кількість буферів спільної пам'яті, використовуваних сервером." -#: utils/misc/guc_tables.c:2235 +#: utils/misc/guc_tables.c:2264 msgid "Sets the buffer pool size for VACUUM, ANALYZE, and autovacuum." msgstr "Встановлює розмір буферного пулу для VACUUM, ANALYZE та автоочистки." -#: utils/misc/guc_tables.c:2246 +#: utils/misc/guc_tables.c:2275 msgid "Shows the size of the server's main shared memory area (rounded up to the nearest MB)." msgstr "Показує розмір основної спільної пам'яті сервера (округлення до найближчого МБ)." -#: utils/misc/guc_tables.c:2257 +#: utils/misc/guc_tables.c:2286 msgid "Shows the number of huge pages needed for the main shared memory area." msgstr "Показує кількість величезних сторінок, потрібних для основної області спільної пам'яті." -#: utils/misc/guc_tables.c:2258 +#: utils/misc/guc_tables.c:2287 msgid "-1 indicates that the value could not be determined." msgstr "-1 вказує на те, що значення не може бути визначене." -#: utils/misc/guc_tables.c:2268 +#: utils/misc/guc_tables.c:2297 +msgid "Sets the size of the dedicated buffer pool used for the commit timestamp cache." +msgstr "" + +#: utils/misc/guc_tables.c:2298 utils/misc/guc_tables.c:2353 +#: utils/misc/guc_tables.c:2364 +msgid "Specify 0 to have this value determined as a fraction of shared_buffers." +msgstr "" + +#: utils/misc/guc_tables.c:2308 +msgid "Sets the size of the dedicated buffer pool used for the MultiXact member cache." +msgstr "" + +#: utils/misc/guc_tables.c:2319 +msgid "Sets the size of the dedicated buffer pool used for the MultiXact offset cache." +msgstr "" + +#: utils/misc/guc_tables.c:2330 +msgid "Sets the size of the dedicated buffer pool used for the LISTEN/NOTIFY message cache." +msgstr "" + +#: utils/misc/guc_tables.c:2341 +msgid "Sets the size of the dedicated buffer pool used for the serializable transaction cache." +msgstr "" + +#: utils/misc/guc_tables.c:2352 +msgid "Sets the size of the dedicated buffer pool used for the subtransaction cache." +msgstr "" + +#: utils/misc/guc_tables.c:2363 +msgid "Sets the size of the dedicated buffer pool used for the transaction status cache." +msgstr "" + +#: utils/misc/guc_tables.c:2374 msgid "Sets the maximum number of temporary buffers used by each session." msgstr "Встановлює максимальну кількість використовуваних тимчасових буферів, для кожного сеансу." -#: utils/misc/guc_tables.c:2279 +#: utils/misc/guc_tables.c:2385 msgid "Sets the TCP port the server listens on." msgstr "Встановлює TCP-порт для роботи серверу." -#: utils/misc/guc_tables.c:2289 +#: utils/misc/guc_tables.c:2395 msgid "Sets the access permissions of the Unix-domain socket." msgstr "Встановлює дозволи на доступ для Unix-сокету." -#: utils/misc/guc_tables.c:2290 +#: utils/misc/guc_tables.c:2396 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-сокетів використовується звичний набір дозволів, як у файлових системах Unix. Очікується, що значення параметра вказується у формі, яка прийнята для системних викликів chmod і umask. (Щоб використати звичний вісімковий формат, додайте в початок 0 (нуль).)" -#: utils/misc/guc_tables.c:2304 +#: utils/misc/guc_tables.c:2410 msgid "Sets the file permissions for log files." msgstr "Встановлює права дозволу для файлів журналу." -#: utils/misc/guc_tables.c:2305 +#: utils/misc/guc_tables.c:2411 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 "Очікується, що значення параметру буде вказано в числовому форматі, який сприймається системними викликами chmod і umask. (Щоб використати звичний вісімковий формат, додайте в початок 0 (нуль).)" -#: utils/misc/guc_tables.c:2319 +#: utils/misc/guc_tables.c:2425 msgid "Shows the mode of the data directory." msgstr "Показує режим каталогу даних." -#: utils/misc/guc_tables.c:2320 +#: utils/misc/guc_tables.c:2426 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 "Значення параметру вказується в числовому форматі, який сприймається системними викликами chmod і umask. (Щоб використати звичний вісімковий формат, додайте в початок 0 (нуль).)" -#: utils/misc/guc_tables.c:2333 +#: utils/misc/guc_tables.c:2439 msgid "Sets the maximum memory to be used for query workspaces." msgstr "Встановлює максимальний об'єм пам'яті для робочих просторів запитів." -#: utils/misc/guc_tables.c:2334 +#: utils/misc/guc_tables.c:2440 msgid "This much memory can be used by each internal sort operation and hash table before switching to temporary disk files." msgstr "Такий об'єм пам'яті може використовуватись кожною внутрішньою операцією сортування і таблицею гешування до переключення на тимчасові файли на диску." -#: utils/misc/guc_tables.c:2346 +#: utils/misc/guc_tables.c:2457 msgid "Sets the maximum memory to be used for maintenance operations." msgstr "Встановлює максимальний об'єм пам'яті для операцій по обслуговуванню." -#: utils/misc/guc_tables.c:2347 +#: utils/misc/guc_tables.c:2458 msgid "This includes operations such as VACUUM and CREATE INDEX." msgstr "Це включає такі операції як VACUUM і CREATE INDEX." -#: utils/misc/guc_tables.c:2357 +#: utils/misc/guc_tables.c:2468 msgid "Sets the maximum memory to be used for logical decoding." msgstr "Встановлює максимальний об'єм пам'яті для логічного декодування." -#: utils/misc/guc_tables.c:2358 +#: utils/misc/guc_tables.c:2469 msgid "This much memory can be used by each internal reorder buffer before spilling to disk." msgstr "Ця велика кількість пам'яті може бути використана кожним внутрішнім перевпорядковуючим буфером перед записом на диск." -#: utils/misc/guc_tables.c:2374 +#: utils/misc/guc_tables.c:2485 msgid "Sets the maximum stack depth, in kilobytes." msgstr "Встановлює максимальну глибину стека, в КБ." -#: utils/misc/guc_tables.c:2385 +#: utils/misc/guc_tables.c:2496 msgid "Limits the total size of all temporary files used by each process." msgstr "Обмежує загальний розмір всіх тимчасових файлів, які використовуються кожним процесом." -#: utils/misc/guc_tables.c:2386 +#: utils/misc/guc_tables.c:2497 msgid "-1 means no limit." msgstr "-1 вимикає обмеження." -#: utils/misc/guc_tables.c:2396 +#: utils/misc/guc_tables.c:2507 msgid "Vacuum cost for a page found in the buffer cache." msgstr "Вартість очистки для сторінки, яка була знайдена в буферному кеші." -#: utils/misc/guc_tables.c:2406 +#: utils/misc/guc_tables.c:2517 msgid "Vacuum cost for a page not found in the buffer cache." msgstr "Вартість очистки для сторінки, яка не була знайдена в буферному кеші." -#: utils/misc/guc_tables.c:2416 +#: utils/misc/guc_tables.c:2527 msgid "Vacuum cost for a page dirtied by vacuum." msgstr "Вартість очистки для сторінки, яка не була \"брудною\"." -#: utils/misc/guc_tables.c:2426 +#: utils/misc/guc_tables.c:2537 msgid "Vacuum cost amount available before napping." msgstr "Кількість доступних витрат вакууму перед від'єднанням." -#: utils/misc/guc_tables.c:2436 +#: utils/misc/guc_tables.c:2547 msgid "Vacuum cost amount available before napping, for autovacuum." msgstr "Кількість доступних витрат вакууму перед від'єднанням, для автовакууму." -#: utils/misc/guc_tables.c:2446 +#: utils/misc/guc_tables.c:2557 msgid "Sets the maximum number of simultaneously open files for each server process." msgstr "Встановлює максимальну кількість одночасно відкритих файлів для кожного процесу." -#: utils/misc/guc_tables.c:2459 +#: utils/misc/guc_tables.c:2570 msgid "Sets the maximum number of simultaneously prepared transactions." msgstr "Встановлює максимальну кількість одночасно підготовлених транзакцій." -#: utils/misc/guc_tables.c:2470 +#: utils/misc/guc_tables.c:2581 msgid "Sets the minimum OID of tables for tracking locks." msgstr "Встановлює мінімальний OID таблиць, для яких відстежуються блокування." -#: utils/misc/guc_tables.c:2471 +#: utils/misc/guc_tables.c:2582 msgid "Is used to avoid output on system tables." msgstr "Використовується для уникнення системних таблиць." -#: utils/misc/guc_tables.c:2480 +#: utils/misc/guc_tables.c:2591 msgid "Sets the OID of the table with unconditionally lock tracing." msgstr "Встановлює OID таблиці для безумовного трасування блокувань." -#: utils/misc/guc_tables.c:2492 +#: utils/misc/guc_tables.c:2603 msgid "Sets the maximum allowed duration of any statement." msgstr "Встановлює максимальну тривалість для будь-якого оператору." -#: utils/misc/guc_tables.c:2493 utils/misc/guc_tables.c:2504 -#: utils/misc/guc_tables.c:2515 utils/misc/guc_tables.c:2526 +#: 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 msgid "A value of 0 turns off the timeout." msgstr "Значення 0 (нуль) вимикає тайм-аут." -#: utils/misc/guc_tables.c:2503 +#: utils/misc/guc_tables.c:2614 msgid "Sets the maximum allowed duration of any wait for a lock." msgstr "Встановлює максимально дозволену тривалість очікування блокувань." -#: utils/misc/guc_tables.c:2514 +#: utils/misc/guc_tables.c:2625 msgid "Sets the maximum allowed idle time between queries, when in a transaction." msgstr "Встановлює максимально дозволений час очікування між запитами під час транзакції." -#: utils/misc/guc_tables.c:2525 +#: utils/misc/guc_tables.c:2636 +msgid "Sets the maximum allowed duration of any transaction within a session (not a prepared transaction)." +msgstr "" + +#: utils/misc/guc_tables.c:2647 msgid "Sets the maximum allowed idle time between queries, when not in a transaction." msgstr "Встановлює максимально дозволений час очікування між запитами поза транзакцією." -#: utils/misc/guc_tables.c:2536 +#: utils/misc/guc_tables.c:2658 msgid "Minimum age at which VACUUM should freeze a table row." msgstr "Мінімальний вік рядків таблиці, при котрому VACUUM зможе їх закріпити." -#: utils/misc/guc_tables.c:2546 +#: utils/misc/guc_tables.c:2668 msgid "Age at which VACUUM should scan whole table to freeze tuples." msgstr "Вік, при котрому VACUUM повинен сканувати всю таблицю, щоб закріпити кортежі." -#: utils/misc/guc_tables.c:2556 +#: utils/misc/guc_tables.c:2678 msgid "Minimum age at which VACUUM should freeze a MultiXactId in a table row." msgstr "Мінімальний вік, при котрому VACUUM повинен закріпити MultiXactId в рядку таблиці." -#: utils/misc/guc_tables.c:2566 +#: utils/misc/guc_tables.c:2688 msgid "Multixact age at which VACUUM should scan whole table to freeze tuples." msgstr "Вік Multixact, при котрому VACUUM повинен сканувати всю таблицю, щоб закріпити кортежі." -#: utils/misc/guc_tables.c:2576 +#: utils/misc/guc_tables.c:2698 msgid "Age at which VACUUM should trigger failsafe to avoid a wraparound outage." msgstr "Вік, у якому VACUUM повинен спрацювати безпечно, щоб уникнути зациклення." -#: utils/misc/guc_tables.c:2585 +#: utils/misc/guc_tables.c:2707 msgid "Multixact age at which VACUUM should trigger failsafe to avoid a wraparound outage." msgstr "Вік Multixact, у якому VACUUM повинен спрацювати безпечно, щоб уникнути зациклення." -#: utils/misc/guc_tables.c:2598 +#: utils/misc/guc_tables.c:2720 msgid "Sets the maximum number of locks per transaction." msgstr "Встановлює максимальну кілкість блокувань на транзакцію." -#: utils/misc/guc_tables.c:2599 -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 "Розмір спільної таблиці блокування визначається з припущення, що в будь-який момент часу потрібно заблокувати не більше max_locks_per_transaction об'єктів на один серверний процес або підготовлену транзакцію." +#: utils/misc/guc_tables.c:2721 +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 "" -#: utils/misc/guc_tables.c:2610 +#: utils/misc/guc_tables.c:2732 msgid "Sets the maximum number of predicate locks per transaction." msgstr "Встановлює максимальну кількість предикатних блокувань на транзакцію." -#: utils/misc/guc_tables.c:2611 -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 "Розмір спільної таблиці блокування предикатів визначається з припущення, що за один раз потрібно заблокувати не більше max_pred_locks_per_transaction об'єктів на один серверний процес або підготовлену транзакцію." +#: utils/misc/guc_tables.c:2733 +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 "" -#: utils/misc/guc_tables.c:2622 +#: utils/misc/guc_tables.c:2744 msgid "Sets the maximum number of predicate-locked pages and tuples per relation." msgstr "Встановлює максимальну кількість сторінок і кортежів, блокованих предикатними блокуваннями в одному відношенні." -#: utils/misc/guc_tables.c:2623 +#: utils/misc/guc_tables.c:2745 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 "Якщо одним підключенням блокується більше цієї загальної кількості сторінок і кортежів, ці блокування замінюються блокуванням на рівні відношення." -#: utils/misc/guc_tables.c:2633 +#: utils/misc/guc_tables.c:2755 msgid "Sets the maximum number of predicate-locked tuples per page." msgstr "Встановлює максимальну кількість кортежів, блокованих предикатними блокуваннями в одній сторінці." -#: utils/misc/guc_tables.c:2634 +#: utils/misc/guc_tables.c:2756 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 "Якщо одним підключенням блокується більше цієї кількості кортежів на одній і тій же сторінці, ці блокування замінюються блокуванням на рівні сторінки." -#: utils/misc/guc_tables.c:2644 +#: utils/misc/guc_tables.c:2766 msgid "Sets the maximum allowed time to complete client authentication." msgstr "Встановлює максимально допустимий час, за котрий клієнт повинен завершити автентифікацію." -#: utils/misc/guc_tables.c:2656 +#: utils/misc/guc_tables.c:2778 msgid "Sets the amount of time to wait before authentication on connection startup." msgstr "Встановлює кількість часу для очікування перед автенифікацією під час запуску з'єднання." -#: utils/misc/guc_tables.c:2668 +#: utils/misc/guc_tables.c:2790 +msgid "Sets the maximum number of allocated pages for NOTIFY / LISTEN queue." +msgstr "Встановлює максимальну кількість виділених сторінок для черги NOTIFY / LISTEN." + +#: utils/misc/guc_tables.c:2800 msgid "Buffer size for reading ahead in the WAL during recovery." msgstr "Розмір буфера для читання в WAL під час відновлення." -#: utils/misc/guc_tables.c:2669 +#: utils/misc/guc_tables.c:2801 msgid "Maximum distance to read ahead in the WAL to prefetch referenced data blocks." msgstr "Максимальна відстань до читання WAL, для попереднього отримання блоків, на які посилаються." -#: utils/misc/guc_tables.c:2679 +#: utils/misc/guc_tables.c:2811 msgid "Sets the size of WAL files held for standby servers." msgstr "Встановлює розмір WAL файлів, які потрібно зберігати для резервних серверів." -#: utils/misc/guc_tables.c:2690 +#: utils/misc/guc_tables.c:2822 msgid "Sets the minimum size to shrink the WAL to." msgstr "Встановлює мінімальний розмір WAL при стисканні." -#: utils/misc/guc_tables.c:2702 +#: utils/misc/guc_tables.c:2834 msgid "Sets the WAL size that triggers a checkpoint." msgstr "Встановлює розмір WAL, при котрому ініціюється контрольна точка." -#: utils/misc/guc_tables.c:2714 +#: utils/misc/guc_tables.c:2846 msgid "Sets the maximum time between automatic WAL checkpoints." msgstr "Встановлює максимальний час між автоматичними контрольними точками WAL." -#: utils/misc/guc_tables.c:2725 +#: utils/misc/guc_tables.c:2857 msgid "Sets the maximum time before warning if checkpoints triggered by WAL volume happen too frequently." msgstr "Встановлює максимальний час перед попередженням, якщо контрольні точки WAL відбуваються занадто часто." -#: utils/misc/guc_tables.c:2727 +#: utils/misc/guc_tables.c:2859 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 "Записує в журнал серверу повідомлення, якщо контрольні точки, викликані переповненням файлів сегментів контрольних точок, з'являються частіше ніж цей проміжок часу. Нуль вимикає попередження." -#: utils/misc/guc_tables.c:2740 utils/misc/guc_tables.c:2958 -#: utils/misc/guc_tables.c:2998 +#: utils/misc/guc_tables.c:2872 utils/misc/guc_tables.c:3090 +#: utils/misc/guc_tables.c:3144 msgid "Number of pages after which previously performed writes are flushed to disk." msgstr "Число сторінок, після досягнення якого раніше виконані операції запису скидаються на диск." -#: utils/misc/guc_tables.c:2751 +#: utils/misc/guc_tables.c:2883 msgid "Sets the number of disk-page buffers in shared memory for WAL." msgstr "Встановлює кількість буферів дискових сторінок в спільній пам'яті для WAL." -#: utils/misc/guc_tables.c:2762 +#: utils/misc/guc_tables.c:2884 +msgid "Specify -1 to have this value determined as a fraction of shared_buffers." +msgstr "" + +#: utils/misc/guc_tables.c:2894 msgid "Time between WAL flushes performed in the WAL writer." msgstr "Час між скиданням WAL в процесі, записуючого WAL." -#: utils/misc/guc_tables.c:2773 +#: utils/misc/guc_tables.c:2905 msgid "Amount of WAL written out by WAL writer that triggers a flush." msgstr "Обсяг WAL, оброблений пишучим WAL процесом, при котрому ініціюється скидання журналу на диск." -#: utils/misc/guc_tables.c:2784 +#: utils/misc/guc_tables.c:2916 msgid "Minimum size of new file to fsync instead of writing WAL." msgstr "Мінімальний розмір нового файлу для fsync замість записування WAL." -#: utils/misc/guc_tables.c:2795 +#: utils/misc/guc_tables.c:2927 msgid "Sets the maximum number of simultaneously running WAL sender processes." msgstr "Встановлює максимальну кількість одночасно працюючих процесів передачі WAL." -#: utils/misc/guc_tables.c:2806 +#: utils/misc/guc_tables.c:2938 msgid "Sets the maximum number of simultaneously defined replication slots." msgstr "Встановлює максимальну кількість одночасно визначених слотів реплікації." -#: utils/misc/guc_tables.c:2816 +#: utils/misc/guc_tables.c:2948 msgid "Sets the maximum WAL size that can be reserved by replication slots." msgstr "Встановлює максимальний розмір WAL, який може бути зарезервований слотами реплікації." -#: utils/misc/guc_tables.c:2817 +#: utils/misc/guc_tables.c:2949 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 "Слоти реплікації будуть позначені як невдалі, і розблоковані сегменти для видалення або переробки, якщо цю кількість місця на диску займає WAL." -#: utils/misc/guc_tables.c:2829 +#: utils/misc/guc_tables.c:2961 msgid "Sets the maximum time to wait for WAL replication." msgstr "Встановлює максимальний час очікування реплікації WAL." -#: utils/misc/guc_tables.c:2840 +#: utils/misc/guc_tables.c:2972 msgid "Sets the delay in microseconds between transaction commit and flushing WAL to disk." msgstr "Встановлює затримку в мілісекундах між затвердженням транзакцій і скиданням WAL на диск." -#: utils/misc/guc_tables.c:2852 -msgid "Sets the minimum number of concurrent open transactions required before performing commit_delay." -msgstr "Встановлює мінімальну кількість одночасно відкритих транзакцій, необхідних до виконання commit_delay." +#: utils/misc/guc_tables.c:2984 +msgid "Sets the minimum number of concurrent open transactions required before performing \"commit_delay\"." +msgstr "" -#: utils/misc/guc_tables.c:2863 +#: utils/misc/guc_tables.c:2995 msgid "Sets the number of digits displayed for floating-point values." msgstr "Встановлює кількість виведених чисел для значень з плаваючою точкою." -#: utils/misc/guc_tables.c:2864 +#: utils/misc/guc_tables.c:2996 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 "Це впливає на типи реальних, подвійної точності та геометричних даних. Нульове або від'ємне значення параметру додається до стандартної кількості цифр (FLT_DIG або DBL_DIG у відповідних випадках). Будь-яке значення більше нуля, обирає точний режим виводу." -#: utils/misc/guc_tables.c:2876 +#: utils/misc/guc_tables.c:3008 msgid "Sets the minimum execution time above which a sample of statements will be logged. Sampling is determined by log_statement_sample_rate." msgstr "Встановлює мінімальний час виконання, понад якого вибірка тверджень буде записуватись. Вибірка визначається log_statement_sample_rate." -#: utils/misc/guc_tables.c:2879 +#: utils/misc/guc_tables.c:3011 msgid "Zero logs a sample of all queries. -1 turns this feature off." msgstr "При 0 (нуль) фіксує зразок всіх запитів. -1 вимикає цю функцію." -#: utils/misc/guc_tables.c:2889 +#: utils/misc/guc_tables.c:3021 msgid "Sets the minimum execution time above which all statements will be logged." msgstr "Встановлює мінімальний час виконання, понад якого всі твердження будуть записуватись." -#: utils/misc/guc_tables.c:2891 +#: utils/misc/guc_tables.c:3023 msgid "Zero prints all queries. -1 turns this feature off." msgstr "При 0 (нуль) протоколюються всі запити. -1 вимикає цю функцію." -#: utils/misc/guc_tables.c:2901 +#: utils/misc/guc_tables.c:3033 msgid "Sets the minimum execution time above which autovacuum actions will be logged." msgstr "Встановлює мінімальний час виконання автоочистки, при перевищенні котрого ця дія фіксується в протоколі." -#: utils/misc/guc_tables.c:2903 +#: utils/misc/guc_tables.c:3035 msgid "Zero prints all actions. -1 turns autovacuum logging off." msgstr "При 0 (нуль) протоколюються всі дії автоочистки. -1 вимикає журналювання автоочистки." -#: utils/misc/guc_tables.c:2913 +#: utils/misc/guc_tables.c:3045 msgid "Sets the maximum length in bytes of data logged for bind parameter values when logging statements." msgstr "Встановлює максимальну довжину в байтах даних, що реєструються для значень параметрів під час журналювання операторів." -#: utils/misc/guc_tables.c:2915 utils/misc/guc_tables.c:2927 +#: utils/misc/guc_tables.c:3047 utils/misc/guc_tables.c:3059 msgid "-1 to print values in full." msgstr "-1 для друку значень в повному вигляді." -#: utils/misc/guc_tables.c:2925 +#: utils/misc/guc_tables.c:3057 msgid "Sets the maximum length in bytes of data logged for bind parameter values when logging statements, on error." msgstr "Встановлює максимальну довжину в байтах, даних, що реєструються для значень параметрів під час журналювання операторів, у разі помилки." -#: utils/misc/guc_tables.c:2937 +#: utils/misc/guc_tables.c:3069 msgid "Background writer sleep time between rounds." msgstr "Час призупинення в процесі фонового запису між підходами." -#: utils/misc/guc_tables.c:2948 +#: utils/misc/guc_tables.c:3080 msgid "Background writer maximum number of LRU pages to flush per round." msgstr "Максимальна кількість LRU-сторінок, які скидаються за один підхід, в процесі фонового запису." -#: utils/misc/guc_tables.c:2971 +#: utils/misc/guc_tables.c:3103 msgid "Number of simultaneous requests that can be handled efficiently by the disk subsystem." msgstr "Кількість одночасних запитів, які можуть бути ефективно оброблені дисковою підсистемою." -#: utils/misc/guc_tables.c:2985 -msgid "A variant of effective_io_concurrency that is used for maintenance work." -msgstr "Варіант effective_io_concurrency, що використовується для роботи з обслуговування." +#: utils/misc/guc_tables.c:3117 +msgid "A variant of \"effective_io_concurrency\" that is used for maintenance work." +msgstr "" -#: utils/misc/guc_tables.c:3011 +#: utils/misc/guc_tables.c:3132 +msgid "Limit on the size of data reads and writes." +msgstr "" + +#: utils/misc/guc_tables.c:3157 msgid "Maximum number of concurrent worker processes." msgstr "Максимальна кількість одночасно працюючих процесів." -#: utils/misc/guc_tables.c:3023 +#: utils/misc/guc_tables.c:3169 msgid "Maximum number of logical replication worker processes." msgstr "Максимальна кількість працюючих процесів логічної реплікації." -#: utils/misc/guc_tables.c:3035 +#: utils/misc/guc_tables.c:3181 msgid "Maximum number of table synchronization workers per subscription." msgstr "Максимальна кількість процесів синхронізації таблиць для однієї підписки." -#: utils/misc/guc_tables.c:3047 +#: utils/misc/guc_tables.c:3193 msgid "Maximum number of parallel apply workers per subscription." msgstr "Максимальна кількість паралельних процесів при підписці на одну підписку." -#: utils/misc/guc_tables.c:3057 +#: utils/misc/guc_tables.c:3203 msgid "Sets the amount of time to wait before forcing log file rotation." msgstr "Встановлює кількість часу для оновлення файлу журналу." -#: utils/misc/guc_tables.c:3069 +#: utils/misc/guc_tables.c:3215 msgid "Sets the maximum size a log file can reach before being rotated." msgstr "Встановлює максимальний розмір файлу журналу, якого він може досягнути, до ротації." -#: utils/misc/guc_tables.c:3081 +#: utils/misc/guc_tables.c:3227 msgid "Shows the maximum number of function arguments." msgstr "Показує максимальну кількість аргументів функції." -#: utils/misc/guc_tables.c:3092 +#: utils/misc/guc_tables.c:3238 msgid "Shows the maximum number of index keys." msgstr "Показує максимальну кількість ключів в індексі." -#: utils/misc/guc_tables.c:3103 +#: utils/misc/guc_tables.c:3249 msgid "Shows the maximum identifier length." msgstr "Показує максимальну довжину ідентифікатора." -#: utils/misc/guc_tables.c:3114 +#: utils/misc/guc_tables.c:3260 msgid "Shows the size of a disk block." msgstr "Показує розмір дискового блоку." -#: utils/misc/guc_tables.c:3125 +#: utils/misc/guc_tables.c:3271 msgid "Shows the number of pages per disk file." msgstr "Показує кількість сторінок в одному дисковому файлі." -#: utils/misc/guc_tables.c:3136 +#: utils/misc/guc_tables.c:3282 msgid "Shows the block size in the write ahead log." msgstr "Показує розмір блоку в журналі WAL." -#: utils/misc/guc_tables.c:3147 +#: utils/misc/guc_tables.c:3293 msgid "Sets the time to wait before retrying to retrieve WAL after a failed attempt." msgstr "Встановлює час очікування перед повторною спробою звертання до WAL після невдачі." -#: utils/misc/guc_tables.c:3159 +#: utils/misc/guc_tables.c:3305 msgid "Shows the size of write ahead log segments." msgstr "Показує розмір сегментів WAL." -#: utils/misc/guc_tables.c:3172 +#: utils/misc/guc_tables.c:3318 +msgid "Time for which WAL summary files should be kept." +msgstr "Час, протягом якого слід зберігати зведені файли WAL." + +#: utils/misc/guc_tables.c:3331 msgid "Time to sleep between autovacuum runs." msgstr "Час призупинення між запусками автоочистки." -#: utils/misc/guc_tables.c:3182 +#: utils/misc/guc_tables.c:3341 msgid "Minimum number of tuple updates or deletes prior to vacuum." msgstr "Мінімальна кількість оновлень або видалень кортежів перед очисткою." -#: utils/misc/guc_tables.c:3191 +#: utils/misc/guc_tables.c:3350 msgid "Minimum number of tuple inserts prior to vacuum, or -1 to disable insert vacuums." msgstr "Мінімальна кількість вставлених кортежів перед очищенням, або -1 щоб вимкнути очищення після вставки." -#: utils/misc/guc_tables.c:3200 +#: utils/misc/guc_tables.c:3359 msgid "Minimum number of tuple inserts, updates, or deletes prior to analyze." msgstr "Мінімальна кількість вставлень, оновлень або видалень кортежів перед аналізом." -#: utils/misc/guc_tables.c:3210 +#: utils/misc/guc_tables.c:3369 msgid "Age at which to autovacuum a table to prevent transaction ID wraparound." msgstr "Вік, при котрому необхідна автоочистка таблиці для запобігання зациклення ID транзакцій." -#: utils/misc/guc_tables.c:3222 +#: utils/misc/guc_tables.c:3381 msgid "Multixact age at which to autovacuum a table to prevent multixact wraparound." msgstr "Вік Multixact, при котрому необхідна автоочистка таблиці для запобігання зациклення multixact." -#: utils/misc/guc_tables.c:3232 +#: utils/misc/guc_tables.c:3391 msgid "Sets the maximum number of simultaneously running autovacuum worker processes." msgstr "Встановлює максимальну кількість одночасно працюючих робочих процесів автоочистки." -#: utils/misc/guc_tables.c:3242 +#: utils/misc/guc_tables.c:3401 msgid "Sets the maximum number of parallel processes per maintenance operation." msgstr "Встановлює максимальну кількість паралельних процесів на одну операцію обслуговування." -#: utils/misc/guc_tables.c:3252 +#: utils/misc/guc_tables.c:3411 msgid "Sets the maximum number of parallel processes per executor node." msgstr "Встановлює максимальну кількість паралельних процесів на вузол виконавця." -#: utils/misc/guc_tables.c:3263 +#: utils/misc/guc_tables.c:3422 msgid "Sets the maximum number of parallel workers that can be active at one time." msgstr "Встановлює максимальну кількість паралельних процесів, які можуть бути активні в один момент." -#: utils/misc/guc_tables.c:3274 +#: utils/misc/guc_tables.c:3433 msgid "Sets the maximum memory to be used by each autovacuum worker process." msgstr "Встановлює максимальний об'єм пам'яті для кожного робочого процесу автоочистки." -#: utils/misc/guc_tables.c:3285 -msgid "Time before a snapshot is too old to read pages changed after the snapshot was taken." -msgstr "Термін, після закінчення котрого знімок вважається занадто старим для отримання сторінок, змінених після створення знімку." - -#: utils/misc/guc_tables.c:3286 -msgid "A value of -1 disables this feature." -msgstr "Значення -1 вимикає цю функцію." - -#: utils/misc/guc_tables.c:3296 +#: utils/misc/guc_tables.c:3444 msgid "Time between issuing TCP keepalives." msgstr "Час між видачею TCP keepalives." -#: utils/misc/guc_tables.c:3297 utils/misc/guc_tables.c:3308 -#: utils/misc/guc_tables.c:3432 +#: utils/misc/guc_tables.c:3445 utils/misc/guc_tables.c:3456 +#: utils/misc/guc_tables.c:3580 msgid "A value of 0 uses the system default." msgstr "Значення 0 (нуль) використовує систему за замовчуванням." -#: utils/misc/guc_tables.c:3307 +#: utils/misc/guc_tables.c:3455 msgid "Time between TCP keepalive retransmits." msgstr "Час між повтореннями TCP keepalive." -#: utils/misc/guc_tables.c:3318 +#: utils/misc/guc_tables.c:3466 msgid "SSL renegotiation is no longer supported; this can only be 0." msgstr "Повторне узгодження SSL більше не підтримується; єдине допустиме значення - 0 (нуль)." -#: utils/misc/guc_tables.c:3329 +#: utils/misc/guc_tables.c:3477 msgid "Maximum number of TCP keepalive retransmits." msgstr "Максимальна кількість повторень TCP keepalive." -#: utils/misc/guc_tables.c:3330 +#: utils/misc/guc_tables.c:3478 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 "Кількість послідовних повторень keepalive може бути втрачена, перед тим як підключення буде вважатись \"мертвим\". Значення 0 (нуль) використовує систему за замовчуванням." -#: utils/misc/guc_tables.c:3341 +#: utils/misc/guc_tables.c:3489 msgid "Sets the maximum allowed result for exact search by GIN." msgstr "Встановлює максимально допустимий результат для точного пошуку з використанням GIN." -#: utils/misc/guc_tables.c:3352 +#: utils/misc/guc_tables.c:3500 msgid "Sets the planner's assumption about the total size of the data caches." msgstr "Встановлює планувальнику припустимий загальний розмір кешей даних." -#: utils/misc/guc_tables.c:3353 +#: utils/misc/guc_tables.c:3501 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 "Мається на увазі загальний розмір кешей (кеша ядра і спільних буферів), які використовуються для файлів даних PostgreSQL. Розмір задається в дискових сторінках, звичайно це 8 КБ." -#: utils/misc/guc_tables.c:3364 +#: utils/misc/guc_tables.c:3512 msgid "Sets the minimum amount of table data for a parallel scan." msgstr "Встановлює мінімальний обсяг даних в таблиці для паралельного сканування." -#: utils/misc/guc_tables.c:3365 +#: utils/misc/guc_tables.c:3513 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 "Якщо планувальник вважає, що він прочитає меньше сторінок таблиці, ніж задано цим обмеженням, паралельне сканування не буде розглядатись." -#: utils/misc/guc_tables.c:3375 +#: utils/misc/guc_tables.c:3523 msgid "Sets the minimum amount of index data for a parallel scan." msgstr "Встановлює мінімальний обсяг даних в індексі для паралельного сканування." -#: utils/misc/guc_tables.c:3376 +#: utils/misc/guc_tables.c:3524 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 "Якщо планувальник вважає, що він прочитає меньше сторінок індексу, ніж задано цим обмеженням, паралельне сканування не буде розглядатись." -#: utils/misc/guc_tables.c:3387 +#: utils/misc/guc_tables.c:3535 msgid "Shows the server version as an integer." msgstr "Показує версію сервера у вигляді цілого числа." -#: utils/misc/guc_tables.c:3398 +#: utils/misc/guc_tables.c:3546 msgid "Log the use of temporary files larger than this number of kilobytes." msgstr "Записує до журналу перевищення тимчасовими файлами заданого розміру в КБ." -#: utils/misc/guc_tables.c:3399 +#: utils/misc/guc_tables.c:3547 msgid "Zero logs all files. The default is -1 (turning this feature off)." msgstr "0 (нуль) фіксує всі файли. -1 вимикає цю функцію (за замовчуванням)." -#: utils/misc/guc_tables.c:3409 +#: utils/misc/guc_tables.c:3557 msgid "Sets the size reserved for pg_stat_activity.query, in bytes." msgstr "Встановлює розмір, зарезервований для pg_stat_activity.query, в байтах." -#: utils/misc/guc_tables.c:3420 +#: utils/misc/guc_tables.c:3568 msgid "Sets the maximum size of the pending list for GIN index." msgstr "Встановлює максимальний розмір списку-очікування для GIN-індексу." -#: utils/misc/guc_tables.c:3431 +#: utils/misc/guc_tables.c:3579 msgid "TCP user timeout." msgstr "Таймаут користувача TCP." -#: utils/misc/guc_tables.c:3442 +#: utils/misc/guc_tables.c:3590 msgid "The size of huge page that should be requested." msgstr "Розмір величезної сторінки, яку необхідно затребувати." -#: utils/misc/guc_tables.c:3453 +#: utils/misc/guc_tables.c:3601 msgid "Aggressively flush system caches for debugging purposes." msgstr "Агресивно скидати системні кеші для цілей налагодження." -#: utils/misc/guc_tables.c:3476 +#: utils/misc/guc_tables.c:3624 msgid "Sets the time interval between checks for disconnection while running queries." msgstr "Встановлює інтервал часу між перевірками відключення під час виконання запитів." -#: utils/misc/guc_tables.c:3487 +#: utils/misc/guc_tables.c:3635 msgid "Time between progress updates for long-running startup operations." msgstr "Час між оновленнями прогресу для довготриваючих операцій запуску." -#: utils/misc/guc_tables.c:3489 +#: utils/misc/guc_tables.c:3637 msgid "0 turns this feature off." msgstr "0 вимикає цю функцію." -#: utils/misc/guc_tables.c:3499 +#: utils/misc/guc_tables.c:3647 msgid "Sets the iteration count for SCRAM secret generation." msgstr "Встановлює кількість ітерацій для секретного генерування SCRAM." -#: utils/misc/guc_tables.c:3519 +#: utils/misc/guc_tables.c:3667 msgid "Sets the planner's estimate of the cost of a sequentially fetched disk page." msgstr "Встановлює для планувальника орієнтир вартості послідовного читання дискових сторінок." -#: utils/misc/guc_tables.c:3530 +#: utils/misc/guc_tables.c:3678 msgid "Sets the planner's estimate of the cost of a nonsequentially fetched disk page." msgstr "Встановлює для планувальника орієнтир вартості непослідовного читання дискових сторінок." -#: utils/misc/guc_tables.c:3541 +#: utils/misc/guc_tables.c:3689 msgid "Sets the planner's estimate of the cost of processing each tuple (row)." msgstr "Встановлює для планувальника орієнтир вартості обробки кожного кортежу (рядка)." -#: utils/misc/guc_tables.c:3552 +#: utils/misc/guc_tables.c:3700 msgid "Sets the planner's estimate of the cost of processing each index entry during an index scan." msgstr "Встановлює для планувальника орієнтир вартості обробки кожного елементу індекса під час сканування індексу." -#: utils/misc/guc_tables.c:3563 +#: utils/misc/guc_tables.c:3711 msgid "Sets the planner's estimate of the cost of processing each operator or function call." msgstr "Встановлює для планувальника орієнтир вартості обробки кожного оператора або виклику функції." -#: utils/misc/guc_tables.c:3574 +#: utils/misc/guc_tables.c:3722 msgid "Sets the planner's estimate of the cost of passing each tuple (row) from worker to leader backend." msgstr "Встановлює для планувальника приблизну вартість передавання кожного кортежу (рядка) від робочого процесу вихідному процесу." -#: utils/misc/guc_tables.c:3585 +#: utils/misc/guc_tables.c:3733 msgid "Sets the planner's estimate of the cost of starting up worker processes for parallel query." msgstr "Встановлює для планувальника орієнтир вартості запуску робочих процесів для паралельного запиту." -#: utils/misc/guc_tables.c:3597 +#: utils/misc/guc_tables.c:3745 msgid "Perform JIT compilation if query is more expensive." msgstr "Якщо запит дорожчий, виконується JIT-компіляція." -#: utils/misc/guc_tables.c:3598 +#: utils/misc/guc_tables.c:3746 msgid "-1 disables JIT compilation." msgstr "-1 вимикає JIT-компіляцію." -#: utils/misc/guc_tables.c:3608 +#: utils/misc/guc_tables.c:3756 msgid "Optimize JIT-compiled functions if query is more expensive." msgstr "Оптимізувати функції JIT-compiled, якщо запит дорожчий." -#: utils/misc/guc_tables.c:3609 +#: utils/misc/guc_tables.c:3757 msgid "-1 disables optimization." msgstr "-1 вимикає оптимізацію." -#: utils/misc/guc_tables.c:3619 +#: utils/misc/guc_tables.c:3767 msgid "Perform JIT inlining if query is more expensive." msgstr "Якщо запит дорожчий, виконується вбудовування JIT." -#: utils/misc/guc_tables.c:3620 +#: utils/misc/guc_tables.c:3768 msgid "-1 disables inlining." msgstr "-1 вимикає вбудовування." -#: utils/misc/guc_tables.c:3630 +#: utils/misc/guc_tables.c:3778 msgid "Sets the planner's estimate of the fraction of a cursor's rows that will be retrieved." msgstr "Встановлює для планувальника орієнтир частки необхідних рядків курсора в загальній кількості." -#: utils/misc/guc_tables.c:3642 +#: utils/misc/guc_tables.c:3790 msgid "Sets the planner's estimate of the average size of a recursive query's working table." msgstr "Встановлює для планувальника орієнтир середнього розміру робочої таблиці рекурсивного запиту." -#: utils/misc/guc_tables.c:3654 +#: utils/misc/guc_tables.c:3802 msgid "GEQO: selective pressure within the population." msgstr "GEQO: вибірковий тиск в популяції." -#: utils/misc/guc_tables.c:3665 +#: utils/misc/guc_tables.c:3813 msgid "GEQO: seed for random path selection." msgstr "GEQO: відправна значення для випадкового вибору шляху." -#: utils/misc/guc_tables.c:3676 -msgid "Multiple of work_mem to use for hash tables." -msgstr "Декілька work_mem для використання геш-таблиць." +#: utils/misc/guc_tables.c:3824 +msgid "Multiple of \"work_mem\" to use for hash tables." +msgstr "" -#: utils/misc/guc_tables.c:3687 +#: utils/misc/guc_tables.c:3835 msgid "Multiple of the average buffer usage to free per round." msgstr "Множник для середньої кількості використаних буферів, який визначає кількість буферів, які звільняються за один підхід." -#: utils/misc/guc_tables.c:3697 +#: utils/misc/guc_tables.c:3845 msgid "Sets the seed for random-number generation." msgstr "Встановлює відправне значення для генератора випадкових чисел." -#: utils/misc/guc_tables.c:3708 +#: utils/misc/guc_tables.c:3856 msgid "Vacuum cost delay in milliseconds." msgstr "Затримка вартості очистки в мілісекундах." -#: utils/misc/guc_tables.c:3719 +#: utils/misc/guc_tables.c:3867 msgid "Vacuum cost delay in milliseconds, for autovacuum." msgstr "Затримка вартості очистки в мілісекундах, для автоочистки." -#: utils/misc/guc_tables.c:3730 +#: utils/misc/guc_tables.c:3878 msgid "Number of tuple updates or deletes prior to vacuum as a fraction of reltuples." msgstr "Кількість оновлень або видалень кортежів до reltuples, яка визначає потребу в очистці." -#: utils/misc/guc_tables.c:3740 +#: utils/misc/guc_tables.c:3888 msgid "Number of tuple inserts prior to vacuum as a fraction of reltuples." msgstr "Кількість вставлень кортежів до reltuples, яка визначає потребу в очистці." -#: utils/misc/guc_tables.c:3750 +#: utils/misc/guc_tables.c:3898 msgid "Number of tuple inserts, updates, or deletes prior to analyze as a fraction of reltuples." msgstr "Кількість вставлень, оновлень або видалень кортежів до reltuples, яка визначає потребу в аналізі." -#: utils/misc/guc_tables.c:3760 +#: utils/misc/guc_tables.c:3908 msgid "Time spent flushing dirty buffers during checkpoint, as fraction of checkpoint interval." msgstr "Час тривалості очищення \"брудних\" буферів під час контрольної точки до інтервалу контрольних точок." -#: utils/misc/guc_tables.c:3770 -msgid "Fraction of statements exceeding log_min_duration_sample to be logged." -msgstr "Частка тверджень, перевищує log_min_duration_sample, що підлягає запису." +#: utils/misc/guc_tables.c:3918 +msgid "Fraction of statements exceeding \"log_min_duration_sample\" to be logged." +msgstr "" -#: utils/misc/guc_tables.c:3771 +#: utils/misc/guc_tables.c:3919 msgid "Use a value between 0.0 (never log) and 1.0 (always log)." msgstr "Використайте значення між 0.0 (ніколи не записувати) і 1.0 (завжди записувати)." -#: utils/misc/guc_tables.c:3780 +#: utils/misc/guc_tables.c:3928 msgid "Sets the fraction of transactions from which to log all statements." msgstr "Встановлює частину транзакцій, від яких необхідно журналювати всі команди." -#: utils/misc/guc_tables.c:3781 +#: utils/misc/guc_tables.c:3929 msgid "Use a value between 0.0 (never log) and 1.0 (log all statements for all transactions)." msgstr "Використайте значення між 0.0 (ніколи не записувати) і 1.0 (записувати всі команди для всіх транзакцій)." -#: utils/misc/guc_tables.c:3800 +#: utils/misc/guc_tables.c:3948 msgid "Sets the shell command that will be called to archive a WAL file." msgstr "Встановлює команду оболонки, яка буде викликатись для архівації файлу WAL." -#: utils/misc/guc_tables.c:3801 +#: utils/misc/guc_tables.c:3949 msgid "This is used only if \"archive_library\" is not set." msgstr "Це використовується лише, якщо \"archive_library\" не встановлено." -#: utils/misc/guc_tables.c:3810 +#: utils/misc/guc_tables.c:3958 msgid "Sets the library that will be called to archive a WAL file." msgstr "Встановлює бібліотеку, яка буде викликана для архівування файлу WAL." -#: utils/misc/guc_tables.c:3811 +#: utils/misc/guc_tables.c:3959 msgid "An empty string indicates that \"archive_command\" should be used." msgstr "Порожній рядок вказує на те, що слід використовувати \"archive_command\"." -#: utils/misc/guc_tables.c:3820 +#: utils/misc/guc_tables.c:3968 msgid "Sets the shell command that will be called to retrieve an archived WAL file." msgstr "Встановлює команду оболонки, яка буде викликана для отримання архівованого файлу WAL." -#: utils/misc/guc_tables.c:3830 +#: utils/misc/guc_tables.c:3978 msgid "Sets the shell command that will be executed at every restart point." msgstr "Встановлює команду оболонки, яка буде виконуватися в кожній точці перезапуску." -#: utils/misc/guc_tables.c:3840 +#: utils/misc/guc_tables.c:3988 msgid "Sets the shell command that will be executed once at the end of recovery." msgstr "Встановлює команду оболонки, яка буде виконуватися один раз в кінці відновлення." -#: utils/misc/guc_tables.c:3850 +#: utils/misc/guc_tables.c:3998 msgid "Specifies the timeline to recover into." msgstr "Вказує лінію часу для відновлення." -#: utils/misc/guc_tables.c:3860 +#: utils/misc/guc_tables.c:4008 msgid "Set to \"immediate\" to end recovery as soon as a consistent state is reached." msgstr "Встановіть на \"негайно\" щоб закінчити відновлення як тільки буде досягнуто узгодженого стану." -#: utils/misc/guc_tables.c:3869 +#: utils/misc/guc_tables.c:4017 msgid "Sets the transaction ID up to which recovery will proceed." msgstr "Встановлює ідентифікатор транзакції, до якої буде продовжуватися відновлення." -#: utils/misc/guc_tables.c:3878 +#: utils/misc/guc_tables.c:4026 msgid "Sets the time stamp up to which recovery will proceed." msgstr "Встановлює позначку часу, до якої буде продовжуватися відновлення." -#: utils/misc/guc_tables.c:3887 +#: utils/misc/guc_tables.c:4035 msgid "Sets the named restore point up to which recovery will proceed." msgstr "Встановлює назву точки відновлення, до якої буде продовжуватися відновлення." -#: utils/misc/guc_tables.c:3896 +#: utils/misc/guc_tables.c:4044 msgid "Sets the LSN of the write-ahead log location up to which recovery will proceed." msgstr "Встановлює номер LSN розташування випереджувального журналювання, до якого буде продовжуватися відновлення." -#: utils/misc/guc_tables.c:3906 +#: utils/misc/guc_tables.c:4054 msgid "Sets the connection string to be used to connect to the sending server." msgstr "Встановлює рядок підключення який буде використовуватися для підключення до серверу надсилання." -#: utils/misc/guc_tables.c:3917 +#: utils/misc/guc_tables.c:4065 msgid "Sets the name of the replication slot to use on the sending server." msgstr "Встановлює назву слота реплікації, для використання на сервері надсилання." -#: utils/misc/guc_tables.c:3927 +#: utils/misc/guc_tables.c:4075 msgid "Sets the client's character set encoding." msgstr "Встановлює кодування символів, використовуване клієнтом." -#: utils/misc/guc_tables.c:3938 +#: utils/misc/guc_tables.c:4086 msgid "Controls information prefixed to each log line." msgstr "Визначає інформацію префікса кожного рядка протокола." -#: utils/misc/guc_tables.c:3939 +#: utils/misc/guc_tables.c:4087 msgid "If blank, no prefix is used." msgstr "При пустому значенні, префікс також відсутній." -#: utils/misc/guc_tables.c:3948 +#: utils/misc/guc_tables.c:4096 msgid "Sets the time zone to use in log messages." msgstr "Встановлює часовий пояс для виведення часу в повідомленях протокола." -#: utils/misc/guc_tables.c:3958 +#: utils/misc/guc_tables.c:4106 msgid "Sets the display format for date and time values." msgstr "Встановлює формат виведення значень часу і дат." -#: utils/misc/guc_tables.c:3959 +#: utils/misc/guc_tables.c:4107 msgid "Also controls interpretation of ambiguous date inputs." msgstr "Також визначає багатозначні задані дати, які вводяться." -#: utils/misc/guc_tables.c:3970 +#: utils/misc/guc_tables.c:4118 msgid "Sets the default table access method for new tables." msgstr "Встановлює метод доступу до таблиці за замовчуванням для нових таблиць." -#: utils/misc/guc_tables.c:3981 +#: utils/misc/guc_tables.c:4129 msgid "Sets the default tablespace to create tables and indexes in." msgstr "Встановлює табличний простір за замовчуванням, для створення таблиць і індексів." -#: utils/misc/guc_tables.c:3982 +#: utils/misc/guc_tables.c:4130 msgid "An empty string selects the database's default tablespace." msgstr "Пустий рядок вибирає табличний простір за замовчуванням бази даних." -#: utils/misc/guc_tables.c:3992 +#: utils/misc/guc_tables.c:4140 msgid "Sets the tablespace(s) to use for temporary tables and sort files." msgstr "Встановлює табличний простір(простори) для використання в тимчасових таблицях і файлах сортування." -#: utils/misc/guc_tables.c:4003 +#: utils/misc/guc_tables.c:4151 msgid "Sets whether a CREATEROLE user automatically grants the role to themselves, and with which options." msgstr "Задає, чи буде користувач CREATEROLE автоматично призначати собі цю роль і з якими параметрами." -#: utils/misc/guc_tables.c:4015 +#: utils/misc/guc_tables.c:4163 msgid "Sets the path for dynamically loadable modules." msgstr "Встановлює шлях для динамічно завантажуваних модулів." -#: utils/misc/guc_tables.c:4016 +#: utils/misc/guc_tables.c:4164 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 "Якщо динамічно завантажений модуль потрібно відкрити і у вказаному імені немає компонента каталогу (наприклад, ім'я не містить символ \"/\"), система буде шукати цей шлях у вказаному файлі." -#: utils/misc/guc_tables.c:4029 +#: utils/misc/guc_tables.c:4177 msgid "Sets the location of the Kerberos server key file." msgstr "Встановлює розташування файлу з ключем Kerberos для даного сервера." -#: utils/misc/guc_tables.c:4040 +#: utils/misc/guc_tables.c:4188 msgid "Sets the Bonjour service name." msgstr "Встановлює ім'я служби Bonjour." -#: utils/misc/guc_tables.c:4050 +#: utils/misc/guc_tables.c:4198 msgid "Sets the language in which messages are displayed." msgstr "Встановлює мову виведених повідомлень." -#: utils/misc/guc_tables.c:4060 +#: utils/misc/guc_tables.c:4208 msgid "Sets the locale for formatting monetary amounts." msgstr "Встановлює локалізацію для форматування грошових сум." -#: utils/misc/guc_tables.c:4070 +#: utils/misc/guc_tables.c:4218 msgid "Sets the locale for formatting numbers." msgstr "Встановлює локалізацію для форматування чисел." -#: utils/misc/guc_tables.c:4080 +#: utils/misc/guc_tables.c:4228 msgid "Sets the locale for formatting date and time values." msgstr "Встановлює локалізацію для форматування значень дати і часу." -#: utils/misc/guc_tables.c:4090 +#: utils/misc/guc_tables.c:4238 msgid "Lists shared libraries to preload into each backend." msgstr "Список спільних бібліотек, попередньо завантажених до кожного внутрішнього серверу." -#: utils/misc/guc_tables.c:4101 +#: utils/misc/guc_tables.c:4249 msgid "Lists shared libraries to preload into server." msgstr "Список спільних бібліотек, попередньо завантажених до серверу." -#: utils/misc/guc_tables.c:4112 +#: utils/misc/guc_tables.c:4260 msgid "Lists unprivileged shared libraries to preload into each backend." msgstr "Список непривілейованих спільних бібліотек, попередньо завантажених до кожного внутрішнього серверу." -#: utils/misc/guc_tables.c:4123 +#: utils/misc/guc_tables.c:4271 msgid "Sets the schema search order for names that are not schema-qualified." msgstr "Встановлює порядок пошуку схеми для імен, які не є схемо-кваліфікованими." -#: utils/misc/guc_tables.c:4135 +#: utils/misc/guc_tables.c:4283 msgid "Shows the server (database) character set encoding." msgstr "Показує набір символів кодування сервера (бази даних)." -#: utils/misc/guc_tables.c:4147 +#: utils/misc/guc_tables.c:4295 msgid "Shows the server version." msgstr "Показує версію сервера." -#: utils/misc/guc_tables.c:4159 +#: utils/misc/guc_tables.c:4307 msgid "Sets the current role." msgstr "Встановлює чинну роль." -#: utils/misc/guc_tables.c:4171 +#: utils/misc/guc_tables.c:4319 msgid "Sets the session user name." msgstr "Встановлює ім'я користувача в сеансі." -#: utils/misc/guc_tables.c:4182 +#: utils/misc/guc_tables.c:4330 msgid "Sets the destination for server log output." msgstr "Встановлює, куди буде виводитися протокол серверу." -#: utils/misc/guc_tables.c:4183 +#: utils/misc/guc_tables.c:4331 msgid "Valid values are combinations of \"stderr\", \"syslog\", \"csvlog\", \"jsonlog\", and \"eventlog\", depending on the platform." msgstr "Дійсні значення - це комбінації \"stderr\", \"syslog\", \"csvlog\", \"jsonlog\", і \"eventlog\", в залежності від платформи." -#: utils/misc/guc_tables.c:4194 +#: utils/misc/guc_tables.c:4342 msgid "Sets the destination directory for log files." msgstr "Встановлює каталог призначення для файлів журналу." -#: utils/misc/guc_tables.c:4195 +#: utils/misc/guc_tables.c:4343 msgid "Can be specified as relative to the data directory or as absolute path." msgstr "Шлях може бути абсолютним або вказуватися відносно каталогу даних." -#: utils/misc/guc_tables.c:4205 +#: utils/misc/guc_tables.c:4353 msgid "Sets the file name pattern for log files." msgstr "Встановлює шаблон імені для файлів журналу." -#: utils/misc/guc_tables.c:4216 +#: utils/misc/guc_tables.c:4364 msgid "Sets the program name used to identify PostgreSQL messages in syslog." msgstr "Встановлює ім'я програми для ідентифікації повідомлень PostgreSQL в syslog." -#: utils/misc/guc_tables.c:4227 +#: utils/misc/guc_tables.c:4375 msgid "Sets the application name used to identify PostgreSQL messages in the event log." msgstr "Встановлює ім'я програми для ідентифікації повідомлень PostgreSQL в журналі подій." -#: utils/misc/guc_tables.c:4238 +#: utils/misc/guc_tables.c:4386 msgid "Sets the time zone for displaying and interpreting time stamps." msgstr "Встановлює часовий пояс для відображення та інтерпретації позначок часу." -#: utils/misc/guc_tables.c:4248 +#: utils/misc/guc_tables.c:4396 msgid "Selects a file of time zone abbreviations." msgstr "Вибирає файл з скороченими іменами часових поясів." -#: utils/misc/guc_tables.c:4258 +#: utils/misc/guc_tables.c:4406 msgid "Sets the owning group of the Unix-domain socket." msgstr "Встановлює відповідальну групу Unix-сокету." -#: utils/misc/guc_tables.c:4259 +#: utils/misc/guc_tables.c:4407 msgid "The owning user of the socket is always the user that starts the server." msgstr "Відповідальний користувач сокету це завжди той користувач який запустив сервер." -#: utils/misc/guc_tables.c:4269 +#: utils/misc/guc_tables.c:4417 msgid "Sets the directories where Unix-domain sockets will be created." msgstr "Встановлює каталоги, де будуть створюватись Unix-сокети." -#: utils/misc/guc_tables.c:4280 +#: utils/misc/guc_tables.c:4428 msgid "Sets the host name or IP address(es) to listen to." msgstr "Встановлює ім'я хосту або IP-адресу для прив'язки." -#: utils/misc/guc_tables.c:4295 +#: utils/misc/guc_tables.c:4443 msgid "Sets the server's data directory." msgstr "Встановлює каталог даних серверу." -#: utils/misc/guc_tables.c:4306 +#: utils/misc/guc_tables.c:4454 msgid "Sets the server's main configuration file." msgstr "Встановлює основний файл конфігурації серверу." -#: utils/misc/guc_tables.c:4317 +#: utils/misc/guc_tables.c:4465 msgid "Sets the server's \"hba\" configuration file." msgstr "Встановлює \"hba\" файл конфігурації серверу." -#: utils/misc/guc_tables.c:4328 +#: utils/misc/guc_tables.c:4476 msgid "Sets the server's \"ident\" configuration file." msgstr "Встановлює \"ident\" файл конфігурації серверу." -#: utils/misc/guc_tables.c:4339 +#: utils/misc/guc_tables.c:4487 msgid "Writes the postmaster PID to the specified file." msgstr "Записує ідентифікатор процесу (PID) postmaster у вказаний файл." -#: utils/misc/guc_tables.c:4350 +#: utils/misc/guc_tables.c:4498 msgid "Shows the name of the SSL library." msgstr "Показує назву бібліотеки SSL." -#: utils/misc/guc_tables.c:4365 +#: utils/misc/guc_tables.c:4513 msgid "Location of the SSL server certificate file." msgstr "Розташування файла сертифікату сервера для SSL." -#: utils/misc/guc_tables.c:4375 +#: utils/misc/guc_tables.c:4523 msgid "Location of the SSL server private key file." msgstr "Розташування файла з закритим ключем сервера для SSL." -#: utils/misc/guc_tables.c:4385 +#: utils/misc/guc_tables.c:4533 msgid "Location of the SSL certificate authority file." msgstr "Розташування файла центру сертифікації для SSL." -#: utils/misc/guc_tables.c:4395 +#: utils/misc/guc_tables.c:4543 msgid "Location of the SSL certificate revocation list file." msgstr "Розташування файла зі списком відкликаних сертфікатів для SSL." -#: utils/misc/guc_tables.c:4405 +#: utils/misc/guc_tables.c:4553 msgid "Location of the SSL certificate revocation list directory." msgstr "Розташування каталогу списку відкликаних сертифікатів SSL." -#: utils/misc/guc_tables.c:4415 +#: utils/misc/guc_tables.c:4563 msgid "Number of synchronous standbys and list of names of potential synchronous ones." msgstr "Кількість потенційно синхронних режимів очікування і список їх імен." -#: utils/misc/guc_tables.c:4426 +#: utils/misc/guc_tables.c:4574 msgid "Sets default text search configuration." msgstr "Встановлює конфігурацію текстового пошуку за замовчуванням." -#: utils/misc/guc_tables.c:4436 +#: utils/misc/guc_tables.c:4584 msgid "Sets the list of allowed SSL ciphers." msgstr "Встановлює список дозволених шифрів для SSL." -#: utils/misc/guc_tables.c:4451 +#: utils/misc/guc_tables.c:4599 msgid "Sets the curve to use for ECDH." msgstr "Встановлює криву для ECDH." -#: utils/misc/guc_tables.c:4466 +#: utils/misc/guc_tables.c:4614 msgid "Location of the SSL DH parameters file." msgstr "Розташування файла з параметрами SSL DH." -#: utils/misc/guc_tables.c:4477 +#: utils/misc/guc_tables.c:4625 msgid "Command to obtain passphrases for SSL." msgstr "Команда, що дозволяє отримати парольну фразу для SSL." -#: utils/misc/guc_tables.c:4488 +#: utils/misc/guc_tables.c:4636 msgid "Sets the application name to be reported in statistics and logs." msgstr "Встановлює ім'я програми, яке буде повідомлятись у статистиці і протоколах." -#: utils/misc/guc_tables.c:4499 +#: utils/misc/guc_tables.c:4647 msgid "Sets the name of the cluster, which is included in the process title." msgstr "Встановлює ім'я кластеру, яке буде включене до заголовка процесу." -#: utils/misc/guc_tables.c:4510 +#: utils/misc/guc_tables.c:4658 msgid "Sets the WAL resource managers for which WAL consistency checks are done." msgstr "Встановлює менеджерів ресурсу WAL, для яких виконано перевірки узгодженості WAL." -#: utils/misc/guc_tables.c:4511 +#: utils/misc/guc_tables.c:4659 msgid "Full-page images will be logged for all data blocks and cross-checked against the results of WAL replay." msgstr "При цьому до журналу будуть записуватись зображення повнихс сторінок для всіх блоків даних для перевірки з результатами відтворення WAL." -#: utils/misc/guc_tables.c:4521 +#: utils/misc/guc_tables.c:4669 msgid "JIT provider to use." msgstr "Використовувати провайдер JIT." -#: utils/misc/guc_tables.c:4532 +#: utils/misc/guc_tables.c:4680 msgid "Log backtrace for errors in these functions." msgstr "Відстежувати записи помилок у ціх функціях." -#: utils/misc/guc_tables.c:4543 +#: utils/misc/guc_tables.c:4691 msgid "Use direct I/O for file access." msgstr "Використовувати прямий ввід для доступу до файлу." -#: utils/misc/guc_tables.c:4563 +#: utils/misc/guc_tables.c:4702 +msgid "Lists streaming replication standby server replication slot names that logical WAL sender processes will wait for." +msgstr "" + +#: utils/misc/guc_tables.c:4704 +msgid "Logical WAL sender processes will send decoded changes to output plugins only after the specified replication slots have confirmed receiving WAL." +msgstr "" + +#: utils/misc/guc_tables.c:4716 +msgid "Prohibits access to non-system relations of specified kinds." +msgstr "" + +#: utils/misc/guc_tables.c:4736 msgid "Sets whether \"\\'\" is allowed in string literals." msgstr "Встановлює, чи дозволене використання \"\\\" в текстових рядках." -#: utils/misc/guc_tables.c:4573 +#: utils/misc/guc_tables.c:4746 msgid "Sets the output format for bytea." msgstr "Встановлює формат виводу для типу bytea." -#: utils/misc/guc_tables.c:4583 +#: utils/misc/guc_tables.c:4756 msgid "Sets the message levels that are sent to the client." msgstr "Встановлює рівень повідомлень, переданих клієнту." -#: utils/misc/guc_tables.c:4584 utils/misc/guc_tables.c:4680 -#: utils/misc/guc_tables.c:4691 utils/misc/guc_tables.c:4763 +#: utils/misc/guc_tables.c:4757 utils/misc/guc_tables.c:4853 +#: utils/misc/guc_tables.c:4864 msgid "Each level includes all the levels that follow it. The later the level, the fewer messages are sent." msgstr "Кожен рівень включає всі наступні рівні. Чим вище рівень, тим менше повідомлень надіслано." -#: utils/misc/guc_tables.c:4594 +#: utils/misc/guc_tables.c:4767 msgid "Enables in-core computation of query identifiers." msgstr "Вмикає внутрішнє обчислення ідентифікаторів запиту." -#: utils/misc/guc_tables.c:4604 +#: utils/misc/guc_tables.c:4777 msgid "Enables the planner to use constraints to optimize queries." msgstr "Дає змогу планувальнику оптимізувати запити, використовуючи обмеження." -#: utils/misc/guc_tables.c:4605 +#: utils/misc/guc_tables.c:4778 msgid "Table scans will be skipped if their constraints guarantee that no rows match the query." msgstr "Сканування таблиці буде пропущено, якщо її обмеження гарантують, що запиту не відповідають ніякі рядки." -#: utils/misc/guc_tables.c:4616 +#: utils/misc/guc_tables.c:4789 msgid "Sets the default compression method for compressible values." msgstr "Встановлює метод стискання за замовчуванням для стисливих значень." -#: utils/misc/guc_tables.c:4627 +#: utils/misc/guc_tables.c:4800 msgid "Sets the transaction isolation level of each new transaction." msgstr "Встановлює рівень ізоляції транзакції для кожної нової транзакції." -#: utils/misc/guc_tables.c:4637 +#: utils/misc/guc_tables.c:4810 msgid "Sets the current transaction's isolation level." msgstr "Встановлює чинний рівень ізоляції транзакцій." -#: utils/misc/guc_tables.c:4648 +#: utils/misc/guc_tables.c:4821 msgid "Sets the display format for interval values." msgstr "Встановлює формат відображення внутрішніх значень." -#: utils/misc/guc_tables.c:4659 +#: utils/misc/guc_tables.c:4832 msgid "Log level for reporting invalid ICU locale strings." msgstr "Рівень протоколу для повідомлення про невірні рядки локалі ICU." -#: utils/misc/guc_tables.c:4669 +#: utils/misc/guc_tables.c:4842 msgid "Sets the verbosity of logged messages." msgstr "Встановлює детальність повідомлень, які протоколюються." -#: utils/misc/guc_tables.c:4679 +#: utils/misc/guc_tables.c:4852 msgid "Sets the message levels that are logged." msgstr "Встанолвює рівні повідомлень, які протоколюються." -#: utils/misc/guc_tables.c:4690 +#: utils/misc/guc_tables.c:4863 msgid "Causes all statements generating error at or above this level to be logged." msgstr "Вмикає протоколювання для всіх операторів, виконаних з помилкою цього або вище рівня." -#: utils/misc/guc_tables.c:4701 +#: utils/misc/guc_tables.c:4874 msgid "Sets the type of statements logged." msgstr "Встановлює тип операторів, які протоколюються." -#: utils/misc/guc_tables.c:4711 +#: utils/misc/guc_tables.c:4884 msgid "Sets the syslog \"facility\" to be used when syslog enabled." msgstr "Встановлює отримувача повідомлень, які відправляються до syslog." -#: utils/misc/guc_tables.c:4722 +#: utils/misc/guc_tables.c:4895 msgid "Sets the session's behavior for triggers and rewrite rules." msgstr "Встановлює поведінку для тригерів і правил перезапису для сеансу." -#: utils/misc/guc_tables.c:4732 +#: utils/misc/guc_tables.c:4905 msgid "Sets the current transaction's synchronization level." msgstr "Встановлює рівень синхронізації поточної транзакції." -#: utils/misc/guc_tables.c:4742 -msgid "Allows archiving of WAL files using archive_command." -msgstr "Дозволяє архівацію файлів WAL, використовуючи archive_command." +#: utils/misc/guc_tables.c:4915 +msgid "Allows archiving of WAL files using \"archive_command\"." +msgstr "" -#: utils/misc/guc_tables.c:4752 +#: utils/misc/guc_tables.c:4925 msgid "Sets the action to perform upon reaching the recovery target." msgstr "Встновлює дію яку потрібно виконати в разі досягнення мети відновлення." -#: utils/misc/guc_tables.c:4762 -msgid "Enables logging of recovery-related debugging information." -msgstr "Вмикає протоколювання налагодженної інформації, пов'язаної з відновленням." - -#: utils/misc/guc_tables.c:4779 +#: utils/misc/guc_tables.c:4935 msgid "Collects function-level statistics on database activity." msgstr "Збирає статистику активності в базі даних на рівні функцій." -#: utils/misc/guc_tables.c:4790 +#: utils/misc/guc_tables.c:4946 msgid "Sets the consistency of accesses to statistics data." msgstr "Встановлює послідовність доступу до даних статистики." -#: utils/misc/guc_tables.c:4800 +#: utils/misc/guc_tables.c:4956 msgid "Compresses full-page writes written in WAL file with specified method." msgstr "Стискає повносторінкові записи, записані у файлі WAL за допомогою вказаного методу." -#: utils/misc/guc_tables.c:4810 +#: utils/misc/guc_tables.c:4966 msgid "Sets the level of information written to the WAL." msgstr "Встановлює рівень інформації, яка записується до WAL." -#: utils/misc/guc_tables.c:4820 +#: utils/misc/guc_tables.c:4976 msgid "Selects the dynamic shared memory implementation used." msgstr "Вибирає використовуване впровадження динамічної спільної пам'яті." -#: utils/misc/guc_tables.c:4830 +#: utils/misc/guc_tables.c:4986 msgid "Selects the shared memory implementation used for the main shared memory region." msgstr "Вибирає впровадження спільної пам'яті, що використовується для основної області спільної пам'яті." -#: utils/misc/guc_tables.c:4840 +#: utils/misc/guc_tables.c:4996 msgid "Selects the method used for forcing WAL updates to disk." msgstr "Вибирає метод примусового запису оновлень в WAL на диск." -#: utils/misc/guc_tables.c:4850 +#: utils/misc/guc_tables.c:5006 msgid "Sets how binary values are to be encoded in XML." msgstr "Встановлює, як повинні кодуватись двійкові значення в XML." -#: utils/misc/guc_tables.c:4860 +#: utils/misc/guc_tables.c:5016 msgid "Sets whether XML data in implicit parsing and serialization operations is to be considered as documents or content fragments." msgstr "Встановлює, чи слід розглядати XML-дані в неявних операціях аналізу і серіалізації як документи або як фрагменти змісту." -#: utils/misc/guc_tables.c:4871 +#: utils/misc/guc_tables.c:5027 msgid "Use of huge pages on Linux or Windows." msgstr "Використовувати величезні сторінки в Linux або Windows." -#: utils/misc/guc_tables.c:4881 +#: utils/misc/guc_tables.c:5037 +msgid "Indicates the status of huge pages." +msgstr "Показує статус великих сторінок." + +#: utils/misc/guc_tables.c:5048 msgid "Prefetch referenced blocks during recovery." msgstr "Попередньо вибирати пов'язані блоки під час відновлення." -#: utils/misc/guc_tables.c:4882 +#: utils/misc/guc_tables.c:5049 msgid "Look ahead in the WAL to find references to uncached data." msgstr "Шукати в WAL посилання на незакешовані дані." -#: utils/misc/guc_tables.c:4891 +#: utils/misc/guc_tables.c:5058 msgid "Forces the planner's use parallel query nodes." msgstr "Змушує планувальник використовувати паралельні вузли запитів." -#: utils/misc/guc_tables.c:4892 +#: utils/misc/guc_tables.c:5059 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 "Це може бути корисно для тестування інфраструктури паралельних запитів, змушуючи планувальник генерувати плани, які містять вузли, що виконують зв'язок кортежів між робітниками та основним процесом." -#: utils/misc/guc_tables.c:4904 +#: utils/misc/guc_tables.c:5071 msgid "Chooses the algorithm for encrypting passwords." msgstr "Виберіть алгоритм для шифрування паролів." -#: utils/misc/guc_tables.c:4914 +#: utils/misc/guc_tables.c:5081 msgid "Controls the planner's selection of custom or generic plan." msgstr "Контролює вибір планувальником спеціального або загального плану." -#: utils/misc/guc_tables.c:4915 +#: utils/misc/guc_tables.c:5082 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 "Підготовлені оператори можуть мати спеціальні або загальні плани, і планувальник спробує вибрати, який краще. Це може бути встановлено для зміни поведінки за замовчуванням." -#: utils/misc/guc_tables.c:4927 +#: utils/misc/guc_tables.c:5094 msgid "Sets the minimum SSL/TLS protocol version to use." msgstr "Встановлює мінімальну версію протоколу SSL/TLS для використання." -#: utils/misc/guc_tables.c:4939 +#: utils/misc/guc_tables.c:5106 msgid "Sets the maximum SSL/TLS protocol version to use." msgstr "Встановлює максимальну версію протоколу SSL/TLS для використання." -#: utils/misc/guc_tables.c:4951 +#: utils/misc/guc_tables.c:5118 msgid "Sets the method for synchronizing the data directory before crash recovery." msgstr "Встановлює метод для синхронізації каталогу даних перед аварійним відновленням." -#: utils/misc/guc_tables.c:4960 +#: utils/misc/guc_tables.c:5127 msgid "Forces immediate streaming or serialization of changes in large transactions." msgstr "Забезпечує негайну потокову передачу або серіалізацію змін у великих транзакціях." -#: utils/misc/guc_tables.c:4961 +#: utils/misc/guc_tables.c:5128 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 "На стороні видавця це дозволяє передавати в потоковому режимі або серіалізувати кожну зміну в логічному декодуванні. На стороні абонента це дозволяє серіалізувати всі зміни у файлах і сповіщає працівників паралельних робочих процесів про необхідність прочитати і застосувати їх в кінці транзакції." @@ -29052,8 +30203,8 @@ msgstr "На стороні видавця це дозволяє передав msgid "internal error: unrecognized run-time parameter type\n" msgstr "внутрішня помилка: нерозпізнаний тип параметра часу виконання\n" -#: utils/misc/pg_controldata.c:51 utils/misc/pg_controldata.c:91 -#: utils/misc/pg_controldata.c:182 utils/misc/pg_controldata.c:223 +#: utils/misc/pg_controldata.c:50 utils/misc/pg_controldata.c:90 +#: utils/misc/pg_controldata.c:181 utils/misc/pg_controldata.c:222 #, c-format msgid "calculated CRC checksum does not match value stored in file" msgstr "обчислена контрольна сума CRC не відповідає значенню, збереженому у файлі" @@ -29073,145 +30224,143 @@ msgstr "запит буде обмежений політикою безпеки msgid "To disable the policy for the table's owner, use ALTER TABLE NO FORCE ROW LEVEL SECURITY." msgstr "Щоб вимкнути політику для власника таблиці, використайте ALTER TABLE NO FORCE ROW LEVEL SECURITY." -#: utils/misc/timeout.c:524 +#: utils/misc/timeout.c:520 #, c-format msgid "cannot add more timeout reasons" msgstr "додати більше причин тайм-ауту не можна" -#: utils/misc/tzparser.c:60 +#: utils/misc/tzparser.c:61 #, c-format msgid "time zone abbreviation \"%s\" is too long (maximum %d characters) in time zone file \"%s\", line %d" msgstr "скорочення часового поясу \"%s\" занадто довге (максимум %d символів) у файлі часового поясу \"%s\", рядок %d" -#: utils/misc/tzparser.c:72 +#: utils/misc/tzparser.c:73 #, c-format msgid "time zone offset %d is out of range in time zone file \"%s\", line %d" msgstr "зсув часового поясу %d поза діапазоном у файлі часового поясу \"%s\", рядок %d" -#: utils/misc/tzparser.c:111 +#: utils/misc/tzparser.c:112 #, c-format msgid "missing time zone abbreviation in time zone file \"%s\", line %d" msgstr "пропущено скорочення часового поясу в файлі часового поясу \"%s\", рядок %d" -#: utils/misc/tzparser.c:120 +#: utils/misc/tzparser.c:121 #, c-format msgid "missing time zone offset in time zone file \"%s\", line %d" msgstr "пропущено зсув часового поясу в файлі часового поясу \"%s\", рядок %d" -#: utils/misc/tzparser.c:132 +#: utils/misc/tzparser.c:133 #, c-format msgid "invalid number for time zone offset in time zone file \"%s\", line %d" msgstr "неприпустиме число зсуву часового поясу в файлі часового поясу \"%s\", рядок %d" -#: utils/misc/tzparser.c:168 +#: utils/misc/tzparser.c:169 #, c-format msgid "invalid syntax in time zone file \"%s\", line %d" msgstr "неприпустимий синтаксис у файлі часового поясу \"%s\", рядок %d" -#: utils/misc/tzparser.c:236 +#: utils/misc/tzparser.c:237 #, c-format msgid "time zone abbreviation \"%s\" is multiply defined" msgstr "скорочення часового поясу \"%s\" визначено неодноразово" -#: utils/misc/tzparser.c:238 +#: utils/misc/tzparser.c:239 #, c-format msgid "Entry in time zone file \"%s\", line %d, conflicts with entry in file \"%s\", line %d." msgstr "Запис у файлі часового поясу \"%s\", рядок %d, конфліктує з записом у файлі \"%s\", рядок %d." -#: utils/misc/tzparser.c:300 +#: utils/misc/tzparser.c:301 #, c-format msgid "invalid time zone file name \"%s\"" msgstr "неприпустиме ім'я файла часового поясу \"%s\"" -#: utils/misc/tzparser.c:313 +#: utils/misc/tzparser.c:314 #, c-format msgid "time zone file recursion limit exceeded in file \"%s\"" msgstr "ліміт рекурсії файла часового поясу перевищено у файлі \"%s\"" -#: utils/misc/tzparser.c:352 utils/misc/tzparser.c:365 +#: utils/misc/tzparser.c:353 utils/misc/tzparser.c:366 #, c-format msgid "could not read time zone file \"%s\": %m" msgstr "не вдалося прочитати файл часового поясу \"%s\": %m" -#: utils/misc/tzparser.c:376 +#: utils/misc/tzparser.c:377 #, c-format msgid "line is too long in time zone file \"%s\", line %d" msgstr "занадто довгий рядок у файлі часового поясу \"%s\", рядок %d" -#: utils/misc/tzparser.c:400 +#: utils/misc/tzparser.c:401 #, c-format msgid "@INCLUDE without file name in time zone file \"%s\", line %d" msgstr "в @INCLUDE не вказано ім'я файла у файлі часового поясу \"%s\", рядок %d" -#: utils/mmgr/aset.c:446 utils/mmgr/generation.c:206 utils/mmgr/slab.c:367 +#: utils/mmgr/aset.c:452 utils/mmgr/bump.c:184 utils/mmgr/generation.c:216 +#: utils/mmgr/slab.c:371 #, c-format msgid "Failed while creating memory context \"%s\"." msgstr "Помилка під час створення контексту пам'яті \"%s\"." -#: utils/mmgr/dsa.c:532 utils/mmgr/dsa.c:1346 +#: utils/mmgr/dsa.c:523 utils/mmgr/dsa.c:1364 #, c-format msgid "could not attach to dynamic shared area" msgstr "не вдалося підключитись до динамічно-спільної області" -#: utils/mmgr/mcxt.c:1047 utils/mmgr/mcxt.c:1083 utils/mmgr/mcxt.c:1121 -#: utils/mmgr/mcxt.c:1159 utils/mmgr/mcxt.c:1247 utils/mmgr/mcxt.c:1278 -#: utils/mmgr/mcxt.c:1314 utils/mmgr/mcxt.c:1503 utils/mmgr/mcxt.c:1548 -#: utils/mmgr/mcxt.c:1605 +#: utils/mmgr/mcxt.c:1155 #, c-format msgid "Failed on request of size %zu in memory context \"%s\"." msgstr "Помилка в запиті розміру %zu в контексті пам'яті \"%s\"." -#: utils/mmgr/mcxt.c:1210 +#: utils/mmgr/mcxt.c:1299 #, c-format msgid "logging memory contexts of PID %d" msgstr "журналювання контекстів пам'яті PID %d" -#: utils/mmgr/portalmem.c:188 +#: utils/mmgr/portalmem.c:187 #, c-format msgid "cursor \"%s\" already exists" msgstr "курсор \"%s\" вже існує" -#: utils/mmgr/portalmem.c:192 +#: utils/mmgr/portalmem.c:191 #, c-format msgid "closing existing cursor \"%s\"" msgstr "існуючий курсор \"%s\" закривається" -#: utils/mmgr/portalmem.c:402 +#: utils/mmgr/portalmem.c:401 #, c-format msgid "portal \"%s\" cannot be run" msgstr "портал \"%s\" не можна запустити" -#: utils/mmgr/portalmem.c:480 +#: utils/mmgr/portalmem.c:479 #, c-format msgid "cannot drop pinned portal \"%s\"" msgstr "видалити закріплений портал \"%s\" не можна" -#: utils/mmgr/portalmem.c:488 +#: utils/mmgr/portalmem.c:487 #, c-format msgid "cannot drop active portal \"%s\"" msgstr "видалити активний портал \"%s\" не можна" -#: utils/mmgr/portalmem.c:739 +#: utils/mmgr/portalmem.c:738 #, c-format msgid "cannot PREPARE a transaction that has created a cursor WITH HOLD" msgstr "не можна виконати PREPARE для транзакції, яка створила курсор WITH HOLD" -#: utils/mmgr/portalmem.c:1230 +#: utils/mmgr/portalmem.c:1229 #, c-format msgid "cannot perform transaction commands inside a cursor loop that is not read-only" msgstr "виконати команди транзакції всередині циклу з курсором, який не є \"лише для читання\", не можна" #: utils/sort/logtape.c:266 utils/sort/logtape.c:287 #, c-format -msgid "could not seek to block %ld of temporary file" -msgstr "не вдалося знайти шлях до блокування %ld тимчасового файлу" +msgid "could not seek to block %lld of temporary file" +msgstr "не може намагатися заблокувати %lld тимчасового файлу" -#: utils/sort/sharedtuplestore.c:467 +#: utils/sort/sharedtuplestore.c:466 #, c-format msgid "unexpected chunk in shared tuplestore temporary file" msgstr "неочікуваний блок у тимчасовому файлі спільного сховища кортежів" -#: utils/sort/sharedtuplestore.c:549 +#: utils/sort/sharedtuplestore.c:548 #, c-format msgid "could not seek to block %u in shared tuplestore temporary file" msgstr "не вдалося знайти для блокування %u у тимчасовому файлі зі спільного сховища кортежів" @@ -29221,17 +30370,17 @@ msgstr "не вдалося знайти для блокування %u у ти msgid "cannot have more than %d runs for an external sort" msgstr "кількість виконуючих процесів для зовнішнього сортування не може перевищувати %d" -#: utils/sort/tuplesortvariants.c:1363 +#: utils/sort/tuplesortvariants.c:1552 #, c-format msgid "could not create unique index \"%s\"" msgstr "не вдалося створити унікальний індекс \"%s\"" -#: utils/sort/tuplesortvariants.c:1365 +#: utils/sort/tuplesortvariants.c:1554 #, c-format msgid "Key %s is duplicated." msgstr "Ключ %s дублюється." -#: utils/sort/tuplesortvariants.c:1366 +#: utils/sort/tuplesortvariants.c:1555 #, c-format msgid "Duplicate keys exist." msgstr "Дублікати ключів існують." @@ -29245,403 +30394,423 @@ msgstr "Дублікати ключів існують." msgid "could not seek in tuplestore temporary file" msgstr "не вдалося знайти у тимчасовому файлі зі сховища кортежів" -#: utils/time/snapmgr.c:571 +#: utils/time/snapmgr.c:536 #, c-format msgid "The source transaction is not running anymore." msgstr "Вихідна транзакція вже не виконується." -#: utils/time/snapmgr.c:1166 +#: utils/time/snapmgr.c:1136 #, c-format msgid "cannot export a snapshot from a subtransaction" msgstr "експортувати знімок з підтранзакції не можна" -#: utils/time/snapmgr.c:1325 utils/time/snapmgr.c:1330 -#: utils/time/snapmgr.c:1335 utils/time/snapmgr.c:1350 -#: utils/time/snapmgr.c:1355 utils/time/snapmgr.c:1360 -#: utils/time/snapmgr.c:1375 utils/time/snapmgr.c:1380 -#: utils/time/snapmgr.c:1385 utils/time/snapmgr.c:1487 -#: utils/time/snapmgr.c:1503 utils/time/snapmgr.c:1528 +#: utils/time/snapmgr.c:1296 utils/time/snapmgr.c:1301 +#: utils/time/snapmgr.c:1306 utils/time/snapmgr.c:1321 +#: utils/time/snapmgr.c:1326 utils/time/snapmgr.c:1331 +#: utils/time/snapmgr.c:1346 utils/time/snapmgr.c:1351 +#: utils/time/snapmgr.c:1356 utils/time/snapmgr.c:1470 +#: utils/time/snapmgr.c:1486 utils/time/snapmgr.c:1511 #, c-format msgid "invalid snapshot data in file \"%s\"" msgstr "неприпустимі дані знімку в файлі \"%s\"" -#: utils/time/snapmgr.c:1422 +#: utils/time/snapmgr.c:1393 #, c-format msgid "SET TRANSACTION SNAPSHOT must be called before any query" msgstr "SET TRANSACTION SNAPSHOT повинна викликатись перед будь-яким запитом" -#: utils/time/snapmgr.c:1431 +#: utils/time/snapmgr.c:1402 #, c-format msgid "a snapshot-importing transaction must have isolation level SERIALIZABLE or REPEATABLE READ" msgstr "транзакція, яка імпортує знімок, повинна мати рівень ізоляції SERIALIZABLE або REPEATABLE READ" -#: utils/time/snapmgr.c:1440 utils/time/snapmgr.c:1449 +#: utils/time/snapmgr.c:1411 #, c-format msgid "invalid snapshot identifier: \"%s\"" msgstr "неприпустимий ідентифікатор знімка: \"%s\"" -#: utils/time/snapmgr.c:1541 +#: utils/time/snapmgr.c:1426 +#, c-format +msgid "snapshot \"%s\" does not exist" +msgstr "знімок \"%s\" не існує" + +#: utils/time/snapmgr.c:1524 #, c-format msgid "a serializable transaction cannot import a snapshot from a non-serializable transaction" msgstr "серіалізована транзакція не може імпортувати знімок з не серіалізованої транзакції" -#: utils/time/snapmgr.c:1545 +#: utils/time/snapmgr.c:1528 #, c-format msgid "a non-read-only serializable transaction cannot import a snapshot from a read-only transaction" msgstr "серіалізована транзакція в режимі \"читання-запис\" не може імпортувати знімок з транзакції в режимі \"тільки читання\"" -#: utils/time/snapmgr.c:1560 +#: utils/time/snapmgr.c:1543 #, c-format msgid "cannot import a snapshot from a different database" msgstr "імпортувати знімок з іншої бази даних не можна" -#: gram.y:1197 +#: gram.y:1231 #, c-format msgid "UNENCRYPTED PASSWORD is no longer supported" msgstr "UNENCRYPTED PASSWORD більше не підтримується" -#: gram.y:1198 +#: gram.y:1232 #, c-format msgid "Remove UNENCRYPTED to store the password in encrypted form instead." msgstr "Видаліть UNENCRYPTED, щоб зберегти пароль у зашифрованій формі." -#: gram.y:1525 gram.y:1541 +#: gram.y:1559 gram.y:1575 #, c-format msgid "CREATE SCHEMA IF NOT EXISTS cannot include schema elements" msgstr "CREATE SCHEMA IF NOT EXISTS не може включати елементи схеми" -#: gram.y:1693 +#: gram.y:1727 #, c-format msgid "current database cannot be changed" msgstr "поточна база даних не може бути змінена" -#: gram.y:1826 +#: gram.y:1860 #, c-format msgid "time zone interval must be HOUR or HOUR TO MINUTE" msgstr "інтервал, який задає часовий пояс, повинен бути HOUR або HOUR TO MINUTE" -#: gram.y:2443 +#: gram.y:2487 #, c-format msgid "column number must be in range from 1 to %d" msgstr "номер стовпця повинен бути в діапазоні від 1 до %d" -#: gram.y:3039 +#: gram.y:3083 #, c-format msgid "sequence option \"%s\" not supported here" msgstr "параметр послідовності \"%s\" тут не підтримується" -#: gram.y:3068 +#: gram.y:3122 #, c-format msgid "modulus for hash partition provided more than once" msgstr "модуль для геш-секції вказано неодноразово" -#: gram.y:3077 +#: gram.y:3131 #, c-format msgid "remainder for hash partition provided more than once" msgstr "решта для геш-секції вказана неодноразово" -#: gram.y:3084 +#: gram.y:3138 #, c-format msgid "unrecognized hash partition bound specification \"%s\"" msgstr "нерозпізнана специфікація границі геш-секції \"%s\"" -#: gram.y:3092 +#: gram.y:3146 #, c-format msgid "modulus for hash partition must be specified" msgstr "потрібно вказати модуль для геш-секції" -#: gram.y:3096 +#: gram.y:3150 #, c-format msgid "remainder for hash partition must be specified" msgstr "потрібно вказати решту для геш-секції" -#: gram.y:3304 gram.y:3338 +#: gram.y:3358 gram.y:3392 #, c-format msgid "STDIN/STDOUT not allowed with PROGRAM" msgstr "STDIN/STDOUT не допускається з PROGRAM" -#: gram.y:3310 +#: gram.y:3364 #, c-format msgid "WHERE clause not allowed with COPY TO" msgstr "Речення WHERE не дозволяється використовувати з COPY TO" -#: gram.y:3649 gram.y:3656 gram.y:12821 gram.y:12829 +#: gram.y:3712 gram.y:3719 gram.y:13023 gram.y:13031 #, c-format msgid "GLOBAL is deprecated in temporary table creation" msgstr "GLOBAL при створенні тимчасових таблиць застаріло" -#: gram.y:3932 +#: gram.y:3995 #, c-format msgid "for a generated column, GENERATED ALWAYS must be specified" msgstr "для згенерованого стовпця, потрібно вказати GENERATED ALWAYS" -#: gram.y:4315 +#: gram.y:4432 #, c-format msgid "a column list with %s is only supported for ON DELETE actions" msgstr "список стовпців з %s підтримується лише для дій ON DELETE" -#: gram.y:5027 +#: gram.y:5151 #, c-format msgid "CREATE EXTENSION ... FROM is no longer supported" msgstr "CREATE EXTENSION ... FROM більше не підтримується" -#: gram.y:5725 +#: gram.y:5849 #, c-format msgid "unrecognized row security option \"%s\"" msgstr "нерозпізнаний параметр безпеки рядка \"%s\"" -#: gram.y:5726 +#: gram.y:5850 #, c-format msgid "Only PERMISSIVE or RESTRICTIVE policies are supported currently." msgstr "Наразі підтримуються лише політики PERMISSIVE або RESTRICTIVE." -#: gram.y:5811 +#: gram.y:5935 #, c-format msgid "CREATE OR REPLACE CONSTRAINT TRIGGER is not supported" msgstr "CREATE OR REPLACE CONSTRAINT TRIGGER не підтримується" -#: gram.y:5848 +#: gram.y:5972 msgid "duplicate trigger events specified" msgstr "вказані події тригера повторюються" -#: gram.y:5997 +#: gram.y:6121 #, c-format msgid "conflicting constraint properties" msgstr "конфліктуючі властивості обмеження" -#: gram.y:6096 +#: gram.y:6220 #, c-format msgid "CREATE ASSERTION is not yet implemented" msgstr "CREATE ASSERTION ще не реалізований" -#: gram.y:6504 +#: gram.y:6537 +#, c-format +msgid "dropping an enum value is not implemented" +msgstr "відкидання значення переліку не реалізовано" + +#: gram.y:6655 #, c-format msgid "RECHECK is no longer required" msgstr "RECHECK більше не потребується" -#: gram.y:6505 +#: gram.y:6656 #, c-format msgid "Update your data type." msgstr "Поновіть ваш тип даних." -#: gram.y:8378 +#: gram.y:8529 #, c-format msgid "aggregates cannot have output arguments" msgstr "агрегатні функції не можуть мати вихідних аргументів" -#: gram.y:11054 gram.y:11073 +#: gram.y:11221 gram.y:11240 #, c-format msgid "WITH CHECK OPTION not supported on recursive views" msgstr "WITH CHECK OPTION не підтримується для рекурсивних подань" -#: gram.y:12960 +#: gram.y:13162 #, c-format msgid "LIMIT #,# syntax is not supported" msgstr "Синтаксис LIMIT #,# не підтримується" -#: gram.y:12961 +#: gram.y:13163 #, c-format msgid "Use separate LIMIT and OFFSET clauses." msgstr "Використайте окремі речення LIMIT і OFFSET." -#: gram.y:13821 +#: gram.y:14038 #, c-format msgid "only one DEFAULT value is allowed" msgstr "допускається лише одне значення DEFAULT" -#: gram.y:13830 +#: gram.y:14047 #, c-format msgid "only one PATH value per column is allowed" msgstr "для стовпця допускається лише одне значення PATH" -#: gram.y:13839 +#: gram.y:14056 #, c-format msgid "conflicting or redundant NULL / NOT NULL declarations for column \"%s\"" msgstr "конфліктуючі або надлишкові оголошення NULL / NOT NULL для стовпця \"%s\"" -#: gram.y:13848 +#: gram.y:14065 #, c-format msgid "unrecognized column option \"%s\"" msgstr "нерозпізнаний параметр стовпця \"%s\"" -#: gram.y:14102 +#: gram.y:14147 +#, c-format +msgid "only string constants are supported in JSON_TABLE path specification" +msgstr "" + +#: gram.y:14469 #, c-format msgid "precision for type float must be at least 1 bit" msgstr "точність для типу float повинна бути мінімум 1 біт" -#: gram.y:14111 +#: gram.y:14478 #, c-format msgid "precision for type float must be less than 54 bits" msgstr "точність для типу float повинна бути меньше 54 біт" -#: gram.y:14614 +#: gram.y:14995 #, c-format msgid "wrong number of parameters on left side of OVERLAPS expression" msgstr "неправильна кількість параметрів у лівій частині виразу OVERLAPS" -#: gram.y:14619 +#: gram.y:15000 #, c-format msgid "wrong number of parameters on right side of OVERLAPS expression" msgstr "неправильна кількість параметрів у правій частині виразу OVERLAPS" -#: gram.y:14796 +#: gram.y:15177 #, c-format msgid "UNIQUE predicate is not yet implemented" msgstr "Предикат UNIQUE ще не реалізований" -#: gram.y:15212 +#: gram.y:15591 #, c-format msgid "cannot use multiple ORDER BY clauses with WITHIN GROUP" msgstr "використовувати речення ORDER BY з WITHIN GROUP неодноразово, не можна" -#: gram.y:15217 +#: gram.y:15596 #, c-format msgid "cannot use DISTINCT with WITHIN GROUP" msgstr "використовувати DISTINCT з WITHIN GROUP не можна" -#: gram.y:15222 +#: gram.y:15601 #, c-format msgid "cannot use VARIADIC with WITHIN GROUP" msgstr "використовувати VARIADIC з WITHIN GROUP не можна" -#: gram.y:15856 gram.y:15880 +#: gram.y:16328 gram.y:16352 #, c-format msgid "frame start cannot be UNBOUNDED FOLLOWING" msgstr "початком рамки не може бути UNBOUNDED FOLLOWING" -#: gram.y:15861 +#: gram.y:16333 #, c-format msgid "frame starting from following row cannot end with current row" msgstr "рамка, яка починається з наступного рядка не можна закінчуватись поточним рядком" -#: gram.y:15885 +#: gram.y:16357 #, c-format msgid "frame end cannot be UNBOUNDED PRECEDING" msgstr "кінцем рамки не може бути UNBOUNDED PRECEDING" -#: gram.y:15891 +#: gram.y:16363 #, c-format msgid "frame starting from current row cannot have preceding rows" msgstr "рамка, яка починається з поточного рядка не може мати попередніх рядків" -#: gram.y:15898 +#: gram.y:16370 #, c-format msgid "frame starting from following row cannot have preceding rows" msgstr "рамка, яка починається з наступного рядка не може мати попередніх рядків" -#: gram.y:16659 +#: gram.y:16919 +#, c-format +msgid "unrecognized JSON encoding: %s" +msgstr "нерозпізнане кодування JSON: %s" + +#: gram.y:17243 #, c-format msgid "type modifier cannot have parameter name" msgstr "тип modifier не може мати ім'я параметра" -#: gram.y:16665 +#: gram.y:17249 #, c-format msgid "type modifier cannot have ORDER BY" msgstr "тип modifier не може мати ORDER BY" -#: gram.y:16733 gram.y:16740 gram.y:16747 +#: gram.y:17317 gram.y:17324 gram.y:17331 #, c-format msgid "%s cannot be used as a role name here" msgstr "%s не можна використовувати тут як ім'я ролі" -#: gram.y:16837 gram.y:18294 +#: gram.y:17421 gram.y:18906 #, c-format msgid "WITH TIES cannot be specified without ORDER BY clause" msgstr "WITH TIES не можна задати без оператора ORDER BY" -#: gram.y:17973 gram.y:18160 +#: gram.y:18597 gram.y:18772 msgid "improper use of \"*\"" msgstr "неправильне використання \"*\"" -#: gram.y:18224 +#: gram.y:18836 #, 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:18261 +#: gram.y:18873 #, c-format msgid "multiple ORDER BY clauses not allowed" msgstr "кілька речень ORDER BY не допускається" -#: gram.y:18272 +#: gram.y:18884 #, c-format msgid "multiple OFFSET clauses not allowed" msgstr "кілька речень OFFSET не допускається" -#: gram.y:18281 +#: gram.y:18893 #, c-format msgid "multiple LIMIT clauses not allowed" msgstr "кілька речень LIMIT не допускається" -#: gram.y:18290 +#: gram.y:18902 #, c-format msgid "multiple limit options not allowed" msgstr "використання декількох параметрів обмеження не дозволяється" -#: gram.y:18317 +#: gram.y:18929 #, c-format msgid "multiple WITH clauses not allowed" msgstr "кілька речень WITH не допускається" -#: gram.y:18510 +#: gram.y:19122 #, c-format msgid "OUT and INOUT arguments aren't allowed in TABLE functions" msgstr "В табличних функціях аргументи OUT і INOUT не дозволяються" -#: gram.y:18643 +#: gram.y:19255 #, c-format msgid "multiple COLLATE clauses not allowed" msgstr "кілька речень COLLATE не допускається" #. translator: %s is CHECK, UNIQUE, or similar -#: gram.y:18681 gram.y:18694 +#: gram.y:19293 gram.y:19306 #, c-format msgid "%s constraints cannot be marked DEFERRABLE" msgstr "обмеження %s не можуть бути позначені DEFERRABLE" #. translator: %s is CHECK, UNIQUE, or similar -#: gram.y:18707 +#: gram.y:19319 #, c-format msgid "%s constraints cannot be marked NOT VALID" msgstr "обмеження %s не можуть бути позначені NOT VALID" #. translator: %s is CHECK, UNIQUE, or similar -#: gram.y:18720 +#: gram.y:19332 #, c-format msgid "%s constraints cannot be marked NO INHERIT" msgstr "обмеження %s не можуть бути позначені NO INHERIT" -#: gram.y:18742 +#: gram.y:19354 #, c-format msgid "unrecognized partitioning strategy \"%s\"" msgstr "нерозпізнана стратегія секціонування \"%s\"" -#: gram.y:18766 +#: gram.y:19378 #, c-format msgid "invalid publication object list" msgstr "неприпустимий список об'єктів публікації" -#: gram.y:18767 +#: gram.y:19379 #, 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:18783 +#: gram.y:19395 #, c-format msgid "invalid table name" msgstr "неприпустиме ім'я таблиці" -#: gram.y:18804 +#: gram.y:19416 #, c-format msgid "WHERE clause not allowed for schema" msgstr "Речення WHERE не допускається для схеми" -#: gram.y:18811 +#: gram.y:19423 #, c-format msgid "column specification not allowed for schema" msgstr "специфікація стовпця не дозволена для схеми" -#: gram.y:18825 +#: gram.y:19437 #, c-format msgid "invalid schema name" msgstr "неприпустиме ім'я схеми" @@ -29686,12 +30855,17 @@ msgstr "синтаксична помилка у файлі \"%s\" рядок %u msgid "too many syntax errors found, abandoning file \"%s\"" msgstr "знайдено занадто багато синтаксичних помилок, переривання файла \"%s\"" -#: jsonpath_gram.y:529 +#: jsonpath_gram.y:267 +#, c-format +msgid ".decimal() can only have an optional precision[,scale]." +msgstr ".decimal() може мати лише необов'язковий параметр precision[,scale]." + +#: jsonpath_gram.y:599 #, c-format msgid "Unrecognized flag character \"%.*s\" in LIKE_REGEX predicate." msgstr "Нерозпізнаний символ позначки \"%.*s\" в предикаті LIKE_REGEX." -#: jsonpath_gram.y:607 +#: jsonpath_gram.y:677 #, c-format msgid "XQuery \"x\" flag (expanded regular expressions) is not implemented" msgstr "XQuery \"x\" позначка (розширені регулярні вирази) не реалізовано" @@ -29708,7 +30882,7 @@ msgstr "неприпустима шістнадцяткова послідовн msgid "unexpected end after backslash" msgstr "неочікуваний кінець після зворотного слеша" -#: jsonpath_scan.l:201 repl_scanner.l:209 scan.l:741 +#: jsonpath_scan.l:201 repl_scanner.l:211 scan.l:756 msgid "unterminated quoted string" msgstr "незавершений рядок в лапках" @@ -29720,8 +30894,8 @@ msgstr "неочікуваний кінець коментаря" msgid "invalid numeric literal" msgstr "невірна числова константа" -#: jsonpath_scan.l:325 jsonpath_scan.l:331 jsonpath_scan.l:337 scan.l:1049 -#: scan.l:1053 scan.l:1057 scan.l:1061 scan.l:1065 scan.l:1069 scan.l:1073 +#: jsonpath_scan.l:325 jsonpath_scan.l:331 jsonpath_scan.l:337 scan.l:1064 +#: scan.l:1068 scan.l:1072 scan.l:1076 msgid "trailing junk after numeric literal" msgstr "сміття після числового літерала" @@ -29737,139 +30911,140 @@ msgstr "%s в кінці введення jsonpath" msgid "%s at or near \"%s\" of jsonpath input" msgstr "%s в або біля \"%s\" введення jsonpath" -#: jsonpath_scan.l:557 +#: jsonpath_scan.l:568 msgid "invalid input" msgstr "неправильні вхідні дані" -#: jsonpath_scan.l:583 +#: jsonpath_scan.l:594 msgid "invalid hexadecimal digit" msgstr "неприпустима шістнадцяткова цифра" -#: jsonpath_scan.l:614 +#: jsonpath_scan.l:625 #, c-format msgid "could not convert Unicode to server encoding" msgstr "не вдалося перетворити Юнікод в серверне кодування" -#: repl_gram.y:301 repl_gram.y:333 +#: repl_gram.y:318 repl_gram.y:359 #, c-format msgid "invalid timeline %u" msgstr "неприпустима часова шкала %u" -#: repl_scanner.l:152 +#: repl_scanner.l:154 msgid "invalid streaming start location" msgstr "неприпустиме розташування початку потокового передавання" -#: scan.l:482 +#: scan.l:497 msgid "unterminated /* comment" msgstr "незавершений коментар /*" -#: scan.l:502 +#: scan.l:517 msgid "unterminated bit string literal" msgstr "незавершений бітовий рядок" -#: scan.l:516 +#: scan.l:531 msgid "unterminated hexadecimal string literal" msgstr "незавершений шістнадцятковий рядок" -#: scan.l:566 +#: scan.l:581 #, c-format msgid "unsafe use of string constant with Unicode escapes" msgstr "небезпечне використання рядкової констани зі спеціальними кодами Unicode" -#: scan.l:567 +#: scan.l:582 #, c-format -msgid "String constants with Unicode escapes cannot be used when standard_conforming_strings is off." -msgstr "Константи рядка зі спеціальними кодами Unicode не можна використовувати, коли параметр standard_conforming_strings вимкнений." +msgid "String constants with Unicode escapes cannot be used when \"standard_conforming_strings\" is off." +msgstr "" -#: scan.l:628 +#: scan.l:643 msgid "unhandled previous state in xqs" msgstr "необроблений попередній стан у xqs" -#: scan.l:702 +#: scan.l:717 #, c-format msgid "Unicode escapes must be \\uXXXX or \\UXXXXXXXX." msgstr "Спеціальні коди Unicode повинні бути \\uXXXX або \\UXXXXXXXX." -#: scan.l:713 +#: scan.l:728 #, c-format msgid "unsafe use of \\' in a string literal" msgstr "небезпечне використання символу \\' в рядку" -#: scan.l:714 +#: scan.l:729 #, c-format msgid "Use '' to write quotes in strings. \\' is insecure in client-only encodings." msgstr "Використайте \" щоб записати лапки в рядку. Запис \\' небезпечний лише для клієнтських кодувань." -#: scan.l:786 +#: scan.l:801 msgid "unterminated dollar-quoted string" msgstr "незавершений рядок з $" -#: scan.l:803 scan.l:813 +#: scan.l:818 scan.l:828 msgid "zero-length delimited identifier" msgstr "пустий ідентифікатор із роздільниками" -#: scan.l:824 syncrep_scanner.l:101 +#: scan.l:839 syncrep_scanner.l:101 msgid "unterminated quoted identifier" msgstr "незавершений ідентифікатор в лапках" -#: scan.l:987 +#: scan.l:1002 msgid "operator too long" msgstr "занадто довгий оператор" -#: scan.l:1000 +#: scan.l:1015 msgid "trailing junk after parameter" msgstr "сміття після параметру" -#: scan.l:1021 +#: scan.l:1036 msgid "invalid hexadecimal integer" msgstr "неприпустиме шістнадцяткове число" -#: scan.l:1025 +#: scan.l:1040 msgid "invalid octal integer" msgstr "помилкове вісімкове число" -#: scan.l:1029 +#: scan.l:1044 msgid "invalid binary integer" msgstr "неприпустиме двійкове ціле число" #. translator: %s is typically the translation of "syntax error" -#: scan.l:1236 +#: scan.l:1239 #, c-format msgid "%s at end of input" msgstr "%s в кінці введення" #. translator: first %s is typically the translation of "syntax error" -#: scan.l:1244 +#: scan.l:1247 #, c-format msgid "%s at or near \"%s\"" msgstr "%s в або поблизу \"%s\"" -#: scan.l:1434 +#: scan.l:1439 #, c-format msgid "nonstandard use of \\' in a string literal" msgstr "нестандартне використання \\' в рядку" -#: scan.l:1435 +#: scan.l:1440 #, c-format msgid "Use '' to write quotes in strings, or use the escape string syntax (E'...')." msgstr "Щоб записати лапки у рядку використовуйте \" або синтаксис спеціальних рядків (E'...')." -#: scan.l:1444 +#: scan.l:1449 #, c-format msgid "nonstandard use of \\\\ in a string literal" msgstr "нестандартне використання \\\\ в рядку" -#: scan.l:1445 +#: scan.l:1450 #, c-format msgid "Use the escape string syntax for backslashes, e.g., E'\\\\'." msgstr "Для запису зворотніх скісних рисок \"\\\" використовуйте синтаксис спеціальних рядків, наприклад E'\\\\'." -#: scan.l:1459 +#: scan.l:1464 #, c-format msgid "nonstandard use of escape in a string literal" msgstr "нестандартне використання спеціального символу в рядку" -#: scan.l:1460 +#: scan.l:1465 #, c-format msgid "Use the escape string syntax for escapes, e.g., E'\\r\\n'." msgstr "Для запису спеціальних символів використовуйте синтаксис спеціальних рядків E'\\r\\n'." + diff --git a/src/backend/postmaster/autovacuum.c b/src/backend/postmaster/autovacuum.c index 9a925a10cdc..8f27026d193 100644 --- a/src/backend/postmaster/autovacuum.c +++ b/src/backend/postmaster/autovacuum.c @@ -3332,12 +3332,12 @@ check_autovacuum_work_mem(int *newval, void **extra, GucSource source) return true; /* - * We clamp manually-set values to at least 1MB. Since + * We clamp manually-set values to at least 64kB. Since * maintenance_work_mem is always set to at least this value, do the same * here. */ - if (*newval < 1024) - *newval = 1024; + if (*newval < 64) + *newval = 64; return true; } diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c index bf0241aed0c..d32cef6b53c 100644 --- a/src/backend/postmaster/postmaster.c +++ b/src/backend/postmaster/postmaster.c @@ -3484,7 +3484,8 @@ SignalSomeChildren(int signal, int target) * Assign bkend_type for any recently announced WAL Sender * processes. */ - if (bp->bkend_type == BACKEND_TYPE_NORMAL && + /* Neon: Also allow walproposer background worker to be treated like a WAL sender, so that it's shut down last */ + if ((bp->bkend_type == BACKEND_TYPE_NORMAL || bp->bkend_type == BACKEND_TYPE_BGWORKER) && IsPostmasterChildWalSender(bp->child_slot)) bp->bkend_type = BACKEND_TYPE_WALSND; @@ -3897,7 +3898,8 @@ CountChildren(int target) * Assign bkend_type for any recently announced WAL Sender * processes. */ - if (bp->bkend_type == BACKEND_TYPE_NORMAL && + /* Neon: Also allow walproposer background worker to be treated like a WAL sender, so that it's shut down last */ + if ((bp->bkend_type == BACKEND_TYPE_NORMAL || bp->bkend_type == BACKEND_TYPE_BGWORKER) && IsPostmasterChildWalSender(bp->child_slot)) bp->bkend_type = BACKEND_TYPE_WALSND; diff --git a/src/backend/postmaster/walsummarizer.c b/src/backend/postmaster/walsummarizer.c index b62e2c36de9..c1bf4a70dd1 100644 --- a/src/backend/postmaster/walsummarizer.c +++ b/src/backend/postmaster/walsummarizer.c @@ -382,8 +382,8 @@ WalSummarizerMain(char *startup_data, size_t startup_data_len) switch_lsn = tliSwitchPoint(current_tli, tles, &switch_tli); ereport(DEBUG1, - errmsg("switch point from TLI %u to TLI %u is at %X/%X", - current_tli, switch_tli, LSN_FORMAT_ARGS(switch_lsn))); + errmsg_internal("switch point from TLI %u to TLI %u is at %X/%X", + current_tli, switch_tli, LSN_FORMAT_ARGS(switch_lsn))); } /* @@ -752,9 +752,11 @@ WaitForWalSummarization(XLogRecPtr lsn) current_time) / 1000; ereport(WARNING, (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("still waiting for WAL summarization through %X/%X after %ld seconds", - LSN_FORMAT_ARGS(lsn), - elapsed_seconds), + errmsg_plural("still waiting for WAL summarization through %X/%X after %ld second", + "still waiting for WAL summarization through %X/%X after %ld seconds", + elapsed_seconds, + LSN_FORMAT_ARGS(lsn), + elapsed_seconds), errdetail("Summarization has reached %X/%X on disk and %X/%X in memory.", LSN_FORMAT_ARGS(summarized_lsn), LSN_FORMAT_ARGS(pending_lsn)))); @@ -1217,10 +1219,10 @@ SummarizeWAL(TimeLineID tli, XLogRecPtr start_lsn, bool exact, /* Tell the user what we did. */ ereport(DEBUG1, - errmsg("summarized WAL on TLI %u from %X/%X to %X/%X", - tli, - LSN_FORMAT_ARGS(summary_start_lsn), - LSN_FORMAT_ARGS(summary_end_lsn))); + errmsg_internal("summarized WAL on TLI %u from %X/%X to %X/%X", + tli, + LSN_FORMAT_ARGS(summary_start_lsn), + LSN_FORMAT_ARGS(summary_end_lsn))); /* Durably rename the new summary into place. */ durable_rename(temp_path, final_path, ERROR); @@ -1229,10 +1231,10 @@ SummarizeWAL(TimeLineID tli, XLogRecPtr start_lsn, bool exact, /* If we skipped a non-zero amount of WAL, log a debug message. */ if (summary_end_lsn > summary_start_lsn && fast_forward) ereport(DEBUG1, - errmsg("skipped summarizing WAL on TLI %u from %X/%X to %X/%X", - tli, - LSN_FORMAT_ARGS(summary_start_lsn), - LSN_FORMAT_ARGS(summary_end_lsn))); + errmsg_internal("skipped summarizing WAL on TLI %u from %X/%X to %X/%X", + tli, + LSN_FORMAT_ARGS(summary_start_lsn), + LSN_FORMAT_ARGS(summary_end_lsn))); return summary_end_lsn; } @@ -1575,8 +1577,8 @@ summarizer_read_local_xlog_page(XLogReaderState *state, /* Debugging output. */ ereport(DEBUG1, - errmsg("timeline %u became historic, can read up to %X/%X", - private_data->tli, LSN_FORMAT_ARGS(private_data->read_upto))); + errmsg_internal("timeline %u became historic, can read up to %X/%X", + private_data->tli, LSN_FORMAT_ARGS(private_data->read_upto))); } /* Go around and try again. */ diff --git a/src/backend/regex/regc_color.c b/src/backend/regex/regc_color.c index 30bda0e5ad0..8ae788f5195 100644 --- a/src/backend/regex/regc_color.c +++ b/src/backend/regex/regc_color.c @@ -1075,9 +1075,19 @@ colorcomplement(struct nfa *nfa, assert(of != from); - /* A RAINBOW arc matches all colors, making the complement empty */ + /* + * A RAINBOW arc matches all colors, making the complement empty. But we + * can't just return without making any arcs, because that would leave the + * NFA disconnected which would break any future delsub(). Instead, make + * a CANTMATCH arc. Also set the HASCANTMATCH flag so we know we need to + * clean that up at the start of NFA optimization. + */ if (findarc(of, PLAIN, RAINBOW) != NULL) + { + newarc(nfa, CANTMATCH, 0, from, to); + nfa->flags |= HASCANTMATCH; return; + } /* Otherwise, transiently mark the colors that appear in of's out-arcs */ for (a = of->outs; a != NULL; a = a->outchain) @@ -1089,6 +1099,12 @@ colorcomplement(struct nfa *nfa, assert(!UNUSEDCOLOR(cd)); cd->flags |= COLMARK; } + + /* + * There's no syntax for re-complementing a color set, so we cannot + * see CANTMATCH arcs here. + */ + assert(a->type != CANTMATCH); } /* Scan colors, clear transient marks, add arcs for unmarked colors */ diff --git a/src/backend/regex/regc_nfa.c b/src/backend/regex/regc_nfa.c index f1819a24f6d..acd2286defd 100644 --- a/src/backend/regex/regc_nfa.c +++ b/src/backend/regex/regc_nfa.c @@ -1462,6 +1462,7 @@ removetraverse(struct nfa *nfa, { case PLAIN: case EMPTY: + case CANTMATCH: /* nothing to do */ break; case AHEAD: @@ -1599,6 +1600,12 @@ optimize(struct nfa *nfa, if (verbose) fprintf(f, "\ninitial cleanup:\n"); #endif + /* If we have any CANTMATCH arcs, drop them; but this is uncommon */ + if (nfa->flags & HASCANTMATCH) + { + removecantmatch(nfa); + nfa->flags &= ~HASCANTMATCH; + } cleanup(nfa); /* may simplify situation */ #ifdef REG_DEBUG if (verbose) @@ -2922,6 +2929,34 @@ clonesuccessorstates(struct nfa *nfa, } } +/* + * removecantmatch - remove CANTMATCH arcs, which are no longer useful + * once we are done with the parsing phase. (We need them only to + * preserve connectedness of NFA subgraphs during parsing.) + */ +static void +removecantmatch(struct nfa *nfa) +{ + struct state *s; + + for (s = nfa->states; s != NULL; s = s->next) + { + struct arc *a; + struct arc *nexta; + + for (a = s->outs; a != NULL; a = nexta) + { + nexta = a->outchain; + if (a->type == CANTMATCH) + { + freearc(nfa, a); + if (NISERR()) + return; + } + } + } +} + /* * cleanup - clean up NFA after optimizations */ @@ -3627,6 +3662,8 @@ dumpnfa(struct nfa *nfa, fprintf(f, ", eol [%ld]", (long) nfa->eos[1]); if (nfa->flags & HASLACONS) fprintf(f, ", haslacons"); + if (nfa->flags & HASCANTMATCH) + fprintf(f, ", hascantmatch"); if (nfa->flags & MATCHALL) { fprintf(f, ", minmatchall %d", nfa->minmatchall); @@ -3749,6 +3786,9 @@ dumparc(struct arc *a, break; case EMPTY: break; + case CANTMATCH: + fprintf(f, "X"); + break; default: fprintf(f, "0x%x/0%lo", a->type, (long) a->co); break; diff --git a/src/backend/regex/regcomp.c b/src/backend/regex/regcomp.c index 8a6cfb2973d..15b264e50f1 100644 --- a/src/backend/regex/regcomp.c +++ b/src/backend/regex/regcomp.c @@ -215,6 +215,7 @@ static void clonesuccessorstates(struct nfa *nfa, struct state *ssource, struct state *spredecessor, struct arc *refarc, char *curdonemap, char *outerdonemap, int nstates); +static void removecantmatch(struct nfa *nfa); static void cleanup(struct nfa *nfa); static void markreachable(struct nfa *nfa, struct state *s, struct state *okay, struct state *mark); @@ -342,6 +343,7 @@ struct vars #define BEHIND 'r' /* color-lookbehind arc */ #define WBDRY 'w' /* word boundary constraint */ #define NWBDRY 'W' /* non-word-boundary constraint */ +#define CANTMATCH 'x' /* arc that cannot match anything */ #define SBEGIN 'A' /* beginning of string (even if not BOL) */ #define SEND 'Z' /* end of string (even if not EOL) */ @@ -2368,6 +2370,7 @@ nfanode(struct vars *v, nfa = newnfa(v, v->cm, v->nfa); NOERRZ(); dupnfa(nfa, t->begin, t->end, nfa->init, nfa->final); + nfa->flags = v->nfa->flags; if (!ISERR()) specialcolors(nfa); if (!ISERR()) diff --git a/src/backend/replication/logical/logical.c b/src/backend/replication/logical/logical.c index f8ef5d56d26..d4027585a29 100644 --- a/src/backend/replication/logical/logical.c +++ b/src/backend/replication/logical/logical.c @@ -44,6 +44,8 @@ #include "utils/inval.h" #include "utils/memutils.h" +void (*Custom_XLogReaderRoutines)(XLogReaderRoutine *xlr); + /* data for errcontext callback */ typedef struct LogicalErrorCallbackState { @@ -181,6 +183,12 @@ StartupDecodingContext(List *output_plugin_options, if (!fast_forward) LoadOutputPlugin(&ctx->callbacks, NameStr(slot->data.plugin)); + /* + * NEON: override page_read/segment_open/segment_close functions to support on-demand WAL download + */ + if (Custom_XLogReaderRoutines != NULL) + Custom_XLogReaderRoutines(xl_routine); + /* * Now that the slot's xmin has been set, we can announce ourselves as a * logical decoding backend which doesn't need to be checked individually @@ -539,7 +547,7 @@ CreateDecodingContext(XLogRecPtr start_lsn, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("cannot use replication slot \"%s\" for logical decoding", NameStr(slot->data.name)), - errdetail("This slot is being synchronized from the primary server."), + errdetail("This replication slot is being synchronized from the primary server."), errhint("Specify another replication slot.")); /* @@ -1256,6 +1264,8 @@ message_cb_wrapper(ReorderBuffer *cache, ReorderBufferTXN *txn, if (ctx->callbacks.message_cb == NULL) return; + if (strncmp(prefix, "neon-file", strlen("neon-file")) == 0) + return; /* Push callback + info on the error context stack */ state.ctx = ctx; @@ -1571,6 +1581,8 @@ stream_message_cb_wrapper(ReorderBuffer *cache, ReorderBufferTXN *txn, /* this callback is optional */ if (ctx->callbacks.stream_message_cb == NULL) return; + if (strncmp(prefix, "neon-file", strlen("neon-file")) == 0) + return; /* Push callback + info on the error context stack */ state.ctx = ctx; @@ -1774,6 +1786,7 @@ LogicalIncreaseRestartDecodingForSlot(XLogRecPtr current_lsn, XLogRecPtr restart /* don't overwrite if have a newer restart lsn */ if (restart_lsn <= slot->data.restart_lsn) { + SpinLockRelease(&slot->mutex); } /* @@ -1784,6 +1797,7 @@ LogicalIncreaseRestartDecodingForSlot(XLogRecPtr current_lsn, XLogRecPtr restart { slot->candidate_restart_valid = current_lsn; slot->candidate_restart_lsn = restart_lsn; + SpinLockRelease(&slot->mutex); /* our candidate can directly be used */ updated_lsn = true; @@ -1794,7 +1808,7 @@ LogicalIncreaseRestartDecodingForSlot(XLogRecPtr current_lsn, XLogRecPtr restart * might never end up updating if the receiver acks too slowly. A missed * value here will just cause some extra effort after reconnecting. */ - if (slot->candidate_restart_valid == InvalidXLogRecPtr) + else if (slot->candidate_restart_valid == InvalidXLogRecPtr) { slot->candidate_restart_valid = current_lsn; slot->candidate_restart_lsn = restart_lsn; @@ -2072,6 +2086,11 @@ LogicalSlotAdvanceAndCheckSnapState(XLogRecPtr moveto, PG_TRY(); { + XLogReaderRoutine xlr; + xlr.page_read = read_local_xlog_page; + xlr.segment_open = wal_segment_open; + xlr.segment_close = wal_segment_close; + /* * Create our decoding context in fast_forward mode, passing start_lsn * as InvalidXLogRecPtr, so that we start processing from my slot's @@ -2080,9 +2099,7 @@ LogicalSlotAdvanceAndCheckSnapState(XLogRecPtr moveto, ctx = CreateDecodingContext(InvalidXLogRecPtr, NIL, true, /* fast_forward */ - XL_ROUTINE(.page_read = read_local_xlog_page, - .segment_open = wal_segment_open, - .segment_close = wal_segment_close), + &xlr, NULL, NULL, NULL); /* diff --git a/src/backend/replication/logical/logicalfuncs.c b/src/backend/replication/logical/logicalfuncs.c index b4dd5cce75b..6a5a1164d19 100644 --- a/src/backend/replication/logical/logicalfuncs.c +++ b/src/backend/replication/logical/logicalfuncs.c @@ -201,13 +201,16 @@ pg_logical_slot_get_changes_guts(FunctionCallInfo fcinfo, bool confirm, bool bin PG_TRY(); { + XLogReaderRoutine xlr; + xlr.page_read = read_local_xlog_page; + xlr.segment_open = wal_segment_open; + xlr.segment_close = wal_segment_close; + /* restart at slot's confirmed_flush */ ctx = CreateDecodingContext(InvalidXLogRecPtr, options, false, - XL_ROUTINE(.page_read = read_local_xlog_page, - .segment_open = wal_segment_open, - .segment_close = wal_segment_close), + &xlr, LogicalOutputPrepareWrite, LogicalOutputWrite, NULL); diff --git a/src/backend/replication/logical/origin.c b/src/backend/replication/logical/origin.c index 419e4814f05..614fd2a2d51 100644 --- a/src/backend/replication/logical/origin.c +++ b/src/backend/replication/logical/origin.c @@ -82,6 +82,7 @@ #include "miscadmin.h" #include "nodes/execnodes.h" #include "pgstat.h" +#include "replication/logical.h" #include "replication/origin.h" #include "replication/slot.h" #include "storage/condition_variable.h" diff --git a/src/backend/replication/logical/reorderbuffer.c b/src/backend/replication/logical/reorderbuffer.c index 00a8327e771..9c742e96eb3 100644 --- a/src/backend/replication/logical/reorderbuffer.c +++ b/src/backend/replication/logical/reorderbuffer.c @@ -337,15 +337,20 @@ ReorderBufferAllocate(void) sizeof(ReorderBufferTXN)); /* - * XXX the allocation sizes used below pre-date generation context's block - * growing code. These values should likely be benchmarked and set to - * more suitable values. + * To minimize memory fragmentation caused by long-running transactions + * with changes spanning multiple memory blocks, we use a single + * fixed-size memory block for decoded tuple storage. The performance + * testing showed that the default memory block size maintains logical + * decoding performance without causing fragmentation due to concurrent + * transactions. One might think that we can use the max size as + * SLAB_LARGE_BLOCK_SIZE but the test also showed it doesn't help resolve + * the memory fragmentation. */ buffer->tup_context = GenerationContextCreate(new_ctx, "Tuples", - SLAB_LARGE_BLOCK_SIZE, - SLAB_LARGE_BLOCK_SIZE, - SLAB_LARGE_BLOCK_SIZE); + SLAB_DEFAULT_BLOCK_SIZE, + SLAB_DEFAULT_BLOCK_SIZE, + SLAB_DEFAULT_BLOCK_SIZE); hash_ctl.keysize = sizeof(TransactionId); hash_ctl.entrysize = sizeof(ReorderBufferTXNByIdEnt); @@ -467,6 +472,9 @@ ReorderBufferReturnTXN(ReorderBuffer *rb, ReorderBufferTXN *txn) /* Reset the toast hash */ ReorderBufferToastReset(rb, txn); + /* All changes must be deallocated */ + Assert(txn->size == 0); + pfree(txn); } @@ -1506,6 +1514,7 @@ ReorderBufferCleanupTXN(ReorderBuffer *rb, ReorderBufferTXN *txn) { bool found; dlist_mutable_iter iter; + Size mem_freed = 0; /* cleanup subtransactions & their changes */ dlist_foreach_modify(iter, &txn->subtxns) @@ -1535,9 +1544,20 @@ ReorderBufferCleanupTXN(ReorderBuffer *rb, ReorderBufferTXN *txn) /* Check we're not mixing changes from different transactions. */ Assert(change->txn == txn); + /* + * Instead of updating the memory counter for individual changes, we + * sum up the size of memory to free so we can update the memory + * counter all together below. This saves costs of maintaining the + * max-heap. + */ + mem_freed += ReorderBufferChangeSize(change); + ReorderBufferReturnChange(rb, change, false); } + /* Update the memory counter */ + ReorderBufferChangeMemoryUpdate(rb, NULL, txn, false, mem_freed); + /* * Cleanup the tuplecids we stored for decoding catalog snapshot access. * They are always stored in the toplevel transaction. @@ -1594,9 +1614,6 @@ ReorderBufferCleanupTXN(ReorderBuffer *rb, ReorderBufferTXN *txn) if (rbtxn_is_serialized(txn)) ReorderBufferRestoreCleanup(rb, txn); - /* Update the memory counter */ - ReorderBufferChangeMemoryUpdate(rb, NULL, txn, false, txn->size); - /* deallocate */ ReorderBufferReturnTXN(rb, txn); } @@ -1616,6 +1633,7 @@ static void ReorderBufferTruncateTXN(ReorderBuffer *rb, ReorderBufferTXN *txn, bool txn_prepared) { dlist_mutable_iter iter; + Size mem_freed = 0; /* cleanup subtransactions & their changes */ dlist_foreach_modify(iter, &txn->subtxns) @@ -1648,11 +1666,19 @@ ReorderBufferTruncateTXN(ReorderBuffer *rb, ReorderBufferTXN *txn, bool txn_prep /* remove the change from it's containing list */ dlist_delete(&change->node); + /* + * Instead of updating the memory counter for individual changes, we + * sum up the size of memory to free so we can update the memory + * counter all together below. This saves costs of maintaining the + * max-heap. + */ + mem_freed += ReorderBufferChangeSize(change); + ReorderBufferReturnChange(rb, change, false); } /* Update the memory counter */ - ReorderBufferChangeMemoryUpdate(rb, NULL, txn, false, txn->size); + ReorderBufferChangeMemoryUpdate(rb, NULL, txn, false, mem_freed); /* * Mark the transaction as streamed. @@ -2062,6 +2088,9 @@ ReorderBufferResetTXN(ReorderBuffer *rb, ReorderBufferTXN *txn, rb->stream_stop(rb, txn, last_lsn); ReorderBufferSaveTXNSnapshot(rb, txn, snapshot_now, command_id); } + + /* All changes must be deallocated */ + Assert(txn->size == 0); } /* diff --git a/src/backend/replication/logical/slotsync.c b/src/backend/replication/logical/slotsync.c index 94896aec284..ebfbaebe16c 100644 --- a/src/backend/replication/logical/slotsync.c +++ b/src/backend/replication/logical/slotsync.c @@ -212,9 +212,9 @@ update_local_synced_slot(RemoteSlot *remote_slot, Oid remote_dbid, * impact the users, so we used DEBUG1 level to log the message. */ ereport(slot->data.persistency == RS_TEMPORARY ? LOG : DEBUG1, - errmsg("could not sync slot \"%s\" as remote slot precedes local slot", + errmsg("could not synchronize replication slot \"%s\" because remote slot precedes local slot", remote_slot->name), - errdetail("Remote slot has LSN %X/%X and catalog xmin %u, but local slot has LSN %X/%X and catalog xmin %u.", + errdetail("The remote slot has LSN %X/%X and catalog xmin %u, but the local slot has LSN %X/%X and catalog xmin %u.", LSN_FORMAT_ARGS(remote_slot->restart_lsn), remote_slot->catalog_xmin, LSN_FORMAT_ARGS(slot->data.restart_lsn), @@ -456,7 +456,7 @@ drop_local_obsolete_slots(List *remote_slot_list) 0, AccessShareLock); ereport(LOG, - errmsg("dropped replication slot \"%s\" of dbid %u", + errmsg("dropped replication slot \"%s\" of database with OID %u", NameStr(local_slot->data.name), local_slot->data.database)); } @@ -576,8 +576,8 @@ update_and_persist_local_synced_slot(RemoteSlot *remote_slot, Oid remote_dbid) if (!found_consistent_snapshot) { ereport(LOG, - errmsg("could not sync slot \"%s\"", remote_slot->name), - errdetail("Logical decoding cannot find consistent point from local slot's LSN %X/%X.", + errmsg("could not synchronize replication slot \"%s\"", remote_slot->name), + errdetail("Logical decoding could not find consistent point from local slot's LSN %X/%X.", LSN_FORMAT_ARGS(slot->data.restart_lsn))); return false; @@ -586,7 +586,7 @@ update_and_persist_local_synced_slot(RemoteSlot *remote_slot, Oid remote_dbid) ReplicationSlotPersist(); ereport(LOG, - errmsg("newly created slot \"%s\" is sync-ready now", + errmsg("newly created replication slot \"%s\" is sync-ready now", remote_slot->name)); return true; @@ -625,7 +625,7 @@ synchronize_one_slot(RemoteSlot *remote_slot, Oid remote_dbid) */ ereport(AmLogicalSlotSyncWorkerProcess() ? LOG : ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("skipping slot synchronization as the received slot sync" + errmsg("skipping slot synchronization because the received slot sync" " LSN %X/%X for slot \"%s\" is ahead of the standby position %X/%X", LSN_FORMAT_ARGS(remote_slot->confirmed_lsn), remote_slot->name, @@ -992,10 +992,9 @@ validate_remote_info(WalReceiverConn *wrconn) if (!primary_slot_valid) ereport(ERROR, errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("slot synchronization requires valid primary_slot_name"), /* translator: second %s is a GUC variable name */ - errdetail("The replication slot \"%s\" specified by %s does not exist on the primary server.", - PrimarySlotName, "primary_slot_name")); + errmsg("replication slot \"%s\" specified by \"%s\" does not exist on primary server", + PrimarySlotName, "primary_slot_name")); ExecClearTuple(tupslot); walrcv_clear_result(res); @@ -1021,13 +1020,14 @@ CheckAndGetDbnameFromConninfo(void) dbname = walrcv_get_dbname_from_conninfo(PrimaryConnInfo); if (dbname == NULL) ereport(ERROR, + errcode(ERRCODE_INVALID_PARAMETER_VALUE), /* - * translator: dbname is a specific option; %s is a GUC variable name + * translator: first %s is a connection option; second %s is a GUC + * variable name */ - errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("slot synchronization requires dbname to be specified in %s", - "primary_conninfo")); + errmsg("replication slot synchronization requires \"%s\" to be specified in \"%s\"", + "dbname", "primary_conninfo")); return dbname; } @@ -1047,7 +1047,7 @@ ValidateSlotSyncParams(int elevel) if (wal_level < WAL_LEVEL_LOGICAL) ereport(ERROR, errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("slot synchronization requires \"wal_level\" >= \"logical\"")); + errmsg("replication slot synchronization requires \"wal_level\" >= \"logical\"")); /* * A physical replication slot(primary_slot_name) is required on the @@ -1058,9 +1058,9 @@ ValidateSlotSyncParams(int elevel) if (PrimarySlotName == NULL || *PrimarySlotName == '\0') { ereport(elevel, - /* translator: %s is a GUC variable name */ errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("slot synchronization requires %s to be defined", "primary_slot_name")); + /* translator: %s is a GUC variable name */ + errmsg("replication slot synchronization requires \"%s\" to be set", "primary_slot_name")); return false; } @@ -1072,9 +1072,9 @@ ValidateSlotSyncParams(int elevel) if (!hot_standby_feedback) { ereport(elevel, - /* translator: %s is a GUC variable name */ errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("slot synchronization requires %s to be enabled", + /* translator: %s is a GUC variable name */ + errmsg("replication slot synchronization requires \"%s\" to be enabled", "hot_standby_feedback")); return false; } @@ -1086,9 +1086,9 @@ ValidateSlotSyncParams(int elevel) if (PrimaryConnInfo == NULL || *PrimaryConnInfo == '\0') { ereport(elevel, - /* translator: %s is a GUC variable name */ errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("slot synchronization requires %s to be defined", + /* translator: %s is a GUC variable name */ + errmsg("replication slot synchronization requires \"%s\" to be set", "primary_conninfo")); return false; } @@ -1126,7 +1126,7 @@ slotsync_reread_config(void) { ereport(LOG, /* translator: %s is a GUC variable name */ - errmsg("slot sync worker will shutdown because %s is disabled", "sync_replication_slots")); + errmsg("replication slot synchronization worker will shut down because \"%s\" is disabled", "sync_replication_slots")); proc_exit(0); } @@ -1135,7 +1135,7 @@ slotsync_reread_config(void) (old_hot_standby_feedback != hot_standby_feedback)) { ereport(LOG, - errmsg("slot sync worker will restart because of a parameter change")); + errmsg("replication slot synchronization worker will restart because of a parameter change")); /* * Reset the last-start time for this worker so that the postmaster @@ -1159,7 +1159,7 @@ ProcessSlotSyncInterrupts(WalReceiverConn *wrconn) if (ShutdownRequestPending) { ereport(LOG, - errmsg("slot sync worker is shutting down on receiving SIGINT")); + errmsg("replication slot synchronization worker is shutting down on receiving SIGINT")); proc_exit(0); } diff --git a/src/backend/replication/logical/snapbuild.c b/src/backend/replication/logical/snapbuild.c index ae676145e60..55643dfa804 100644 --- a/src/backend/replication/logical/snapbuild.c +++ b/src/backend/replication/logical/snapbuild.c @@ -132,6 +132,7 @@ #include "miscadmin.h" #include "pgstat.h" #include "replication/logical.h" +#include "replication/message.h" #include "replication/reorderbuffer.h" #include "replication/snapbuild.h" #include "storage/fd.h" @@ -1630,6 +1631,7 @@ SnapBuildSerialize(SnapBuild *builder, XLogRecPtr lsn) int fd; char tmppath[MAXPGPATH]; char path[MAXPGPATH]; + char prefix[MAXPGPATH]; int ret; struct stat stat_buf; Size sz; @@ -1773,6 +1775,13 @@ SnapBuildSerialize(SnapBuild *builder, XLogRecPtr lsn) (errcode_for_file_access(), errmsg("could not open file \"%s\": %m", tmppath))); + /* Do not wallog AUX file at replica */ + if (XLogInsertAllowed()) + { + /* NEON specific: persist snapshot in storage using logical message */ + snprintf(prefix, sizeof(prefix), "neon-file:%s", path); + LogLogicalMessage(prefix, (char *) ondisk, needed_length, false, true); + } errno = 0; pgstat_report_wait_start(WAIT_EVENT_SNAPBUILD_WRITE); if ((write(fd, ondisk, needed_length)) != needed_length) @@ -2075,6 +2084,7 @@ CheckPointSnapBuild(void) DIR *snap_dir; struct dirent *snap_de; char path[MAXPGPATH + 21]; + char prefix[MAXPGPATH + 31]; /* * We start off with a minimum of the last redo pointer. No new @@ -2134,6 +2144,13 @@ CheckPointSnapBuild(void) { elog(DEBUG1, "removing snapbuild snapshot %s", path); + /* Do not wallog AUX file at replica */ + if (XLogInsertAllowed()) + { + /* NEON specific: delete file from storage using logical message */ + snprintf(prefix, sizeof(prefix), "neon-file:%s", path); + LogLogicalMessage(prefix, NULL, 0, false, true); + } /* * It's not particularly harmful, though strange, if we can't * remove the file here. Don't prevent the checkpoint from diff --git a/src/backend/replication/logical/worker.c b/src/backend/replication/logical/worker.c index b5a80fe3e84..3ecc079c917 100644 --- a/src/backend/replication/logical/worker.c +++ b/src/backend/replication/logical/worker.c @@ -173,6 +173,7 @@ #include "replication/logicalworker.h" #include "replication/origin.h" #include "replication/walreceiver.h" +#include "replication/walsender_private.h" #include "replication/worker_internal.h" #include "rewrite/rewriteHandler.h" #include "storage/buffile.h" @@ -3395,6 +3396,19 @@ get_flush_position(XLogRecPtr *write, XLogRecPtr *flush, dlist_mutable_iter iter; XLogRecPtr local_flush = GetFlushRecPtr(NULL); + /* + * If synchronous replication is configured, take into account its position. + * This is particularly important in neon where WAL is hardened only after + * it is flushed on majority of safekeepers. + */ + if (SyncRepStandbyNames != NULL && SyncRepStandbyNames[0] != '\0') + { + /* assumes u64 read is atomic */ + XLogRecPtr sync_rep_flush = WalSndCtl->lsn[SYNC_REP_WAIT_FLUSH]; + + local_flush = Min(local_flush, sync_rep_flush); + } + *write = InvalidXLogRecPtr; *flush = InvalidXLogRecPtr; @@ -3528,6 +3542,9 @@ LogicalRepApplyLoop(XLogRecPtr last_received) if (len != 0) { + /* how many messages processed in a tight loop */ + int n_processed = 0; + /* Loop to process all available data (without blocking). */ for (;;) { @@ -3582,9 +3599,26 @@ LogicalRepApplyLoop(XLogRecPtr last_received) if (last_received < end_lsn) last_received = end_lsn; - UpdateWorkerStats(last_received, send_time, false); - apply_dispatch(&s); + + /* + * Even under tight loop of data periodically send reply + * to allow advancing the slot. Postgres walsender + * normally sends 'k' if it hasn't seen replies for a + * long time even if has more data to send, but we've + * observed them missing when publiser was alloydb. + */ + n_processed++; + if (n_processed % 1000 == 0) + { + send_feedback(last_received, false, false); + UpdateWorkerStats(last_received, send_time, true); + } + else + { + UpdateWorkerStats(last_received, send_time, false); + } + } else if (c == 'k') { @@ -4639,6 +4673,17 @@ InitializeLogRepWorker(void) CommitTransactionCommand(); } +/* + * Reset the origin state. + */ +static void +replorigin_reset(int code, Datum arg) +{ + replorigin_session_origin = InvalidRepOriginId; + replorigin_session_origin_lsn = InvalidXLogRecPtr; + replorigin_session_origin_timestamp = 0; +} + /* Common function to setup the leader apply or tablesync worker. */ void SetupApplyOrSyncWorker(int worker_slot) @@ -4667,6 +4712,19 @@ SetupApplyOrSyncWorker(int worker_slot) 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); @@ -4893,12 +4951,23 @@ void apply_error_callback(void *arg) { ApplyErrorCallbackArg *errarg = &apply_error_callback_arg; + int elevel; if (apply_error_callback_arg.command == 0) return; Assert(errarg->origin_name); + elevel = geterrlevel(); + + /* + * Reset the origin state to prevent the advancement of origin progress if + * we fail to apply. Otherwise, this will result in transaction loss as + * that transaction won't be sent again by the server. + */ + if (elevel >= ERROR) + replorigin_reset(0, (Datum) 0); + if (errarg->rel == NULL) { if (!TransactionIdIsValid(errarg->remote_xid)) diff --git a/src/backend/replication/pgoutput/pgoutput.c b/src/backend/replication/pgoutput/pgoutput.c index abef4eaf68b..00e7024563e 100644 --- a/src/backend/replication/pgoutput/pgoutput.c +++ b/src/backend/replication/pgoutput/pgoutput.c @@ -404,11 +404,11 @@ parse_output_parameters(List *options, PGOutputData *data) if (!protocol_version_given) ereport(ERROR, errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("proto_version option missing")); + errmsg("option \"%s\" missing", "proto_version")); if (!publication_names_given) ereport(ERROR, errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("publication_names option missing")); + errmsg("option \"%s\" missing", "publication_names")); } /* diff --git a/src/backend/replication/slot.c b/src/backend/replication/slot.c index baf9b89dc42..8c954068031 100644 --- a/src/backend/replication/slot.c +++ b/src/backend/replication/slot.c @@ -50,6 +50,7 @@ #include "replication/slotsync.h" #include "replication/slot.h" #include "replication/walsender_private.h" +#include "replication/message.h" #include "storage/fd.h" #include "storage/ipc.h" #include "storage/proc.h" @@ -795,7 +796,7 @@ ReplicationSlotDrop(const char *name, bool nowait) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("cannot drop replication slot \"%s\"", name), - errdetail("This slot is being synced from the primary server.")); + errdetail("This replication slot is being synchronized from the primary server.")); ReplicationSlotDropAcquired(); } @@ -826,7 +827,7 @@ ReplicationSlotAlter(const char *name, bool failover) ereport(ERROR, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), errmsg("cannot alter replication slot \"%s\"", name), - errdetail("This slot is being synced from the primary server.")); + errdetail("This replication slot is being synchronized from the primary server.")); /* * Do not allow users to enable failover on the standby as we do not @@ -898,6 +899,15 @@ ReplicationSlotDropPtr(ReplicationSlot *slot) sprintf(path, "pg_replslot/%s", NameStr(slot->data.name)); sprintf(tmppath, "pg_replslot/%s.tmp", NameStr(slot->data.name)); + if (SlotIsLogical(slot) && XLogInsertAllowed()) + { + /* NEON specific: delete slot from storage using logical message */ + char prefix[MAXPGPATH]; + snprintf(prefix, sizeof(prefix), "neon-file:%s/state", path); + elog(LOG, "Drop replication slot %s", path); + LogLogicalMessage(prefix, NULL, 0, false, true); + } + /* * Rename the slot directory on disk, so that we'll no longer recognize * this as a valid slot. Note that if this fails, we've got to mark the @@ -2077,6 +2087,19 @@ SaveSlotToPath(ReplicationSlot *slot, const char *dir, int elevel) ReplicationSlotOnDiskChecksummedSize); FIN_CRC32C(cp.checksum); + if (SlotIsLogical(slot) && XLogInsertAllowed() && cp.slotdata.restart_lsn != InvalidXLogRecPtr) + { + /* NEON specific: persist slot in storage using logical message */ + char prefix[MAXPGPATH]; + snprintf(prefix, sizeof(prefix), "neon-file:%s", path); + elog(LOG, + "Save replication slot at %s restart_lsn=%X/%X confirmed_flush=%X/%X", + path, + LSN_FORMAT_ARGS(cp.slotdata.restart_lsn), + LSN_FORMAT_ARGS(cp.slotdata.confirmed_flush)); + LogLogicalMessage(prefix, (char*)&cp, sizeof cp, false, true); + } + errno = 0; pgstat_report_wait_start(WAIT_EVENT_REPLICATION_SLOT_WRITE); if ((write(fd, &cp, sizeof(cp))) != sizeof(cp)) @@ -2635,11 +2658,11 @@ StandbySlotsHaveCaughtup(XLogRecPtr wait_for_lsn, int elevel) */ ereport(elevel, errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("replication slot \"%s\" specified in parameter %s does not exist", + errmsg("replication slot \"%s\" specified in parameter \"%s\" does not exist", name, "synchronized_standby_slots"), - errdetail("Logical replication is waiting on the standby associated with \"%s\".", + errdetail("Logical replication is waiting on the standby associated with replication slot \"%s\".", name), - errhint("Consider creating the slot \"%s\" or amend parameter %s.", + errhint("Create the replication slot \"%s\" or amend parameter \"%s\".", name, "synchronized_standby_slots")); break; } @@ -2656,11 +2679,11 @@ StandbySlotsHaveCaughtup(XLogRecPtr wait_for_lsn, int elevel) */ ereport(elevel, errcode(ERRCODE_INVALID_PARAMETER_VALUE), - errmsg("cannot have logical replication slot \"%s\" in parameter %s", + errmsg("cannot specify logical replication slot \"%s\" in parameter \"%s\"", name, "synchronized_standby_slots"), - errdetail("Logical replication is waiting for correction on \"%s\".", + errdetail("Logical replication is waiting for correction on replication slot \"%s\".", name), - errhint("Consider removing logical slot \"%s\" from parameter %s.", + errhint("Remove the logical replication slot \"%s\" from parameter \"%s\".", name, "synchronized_standby_slots")); break; } @@ -2676,11 +2699,11 @@ StandbySlotsHaveCaughtup(XLogRecPtr wait_for_lsn, int elevel) /* Specified physical slot has been invalidated */ ereport(elevel, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("physical slot \"%s\" specified in parameter %s has been invalidated", + errmsg("physical replication slot \"%s\" specified in parameter \"%s\" has been invalidated", name, "synchronized_standby_slots"), - errdetail("Logical replication is waiting on the standby associated with \"%s\".", + errdetail("Logical replication is waiting on the standby associated with replication slot \"%s\".", name), - errhint("Consider dropping and recreating the slot \"%s\" or amend parameter %s.", + errhint("Drop and recreate the replication slot \"%s\", or amend parameter \"%s\".", name, "synchronized_standby_slots")); break; } @@ -2691,11 +2714,11 @@ StandbySlotsHaveCaughtup(XLogRecPtr wait_for_lsn, int elevel) if (inactive) ereport(elevel, errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), - errmsg("replication slot \"%s\" specified in parameter %s does not have active_pid", + errmsg("replication slot \"%s\" specified in parameter \"%s\" does not have active_pid", name, "synchronized_standby_slots"), - errdetail("Logical replication is waiting on the standby associated with \"%s\".", + errdetail("Logical replication is waiting on the standby associated with replication slot \"%s\".", name), - errhint("Consider starting standby associated with \"%s\" or amend parameter %s.", + errhint("Start the standby associated with the replication slot \"%s\", or amend parameter \"%s\".", name, "synchronized_standby_slots")); /* Continue if the current slot hasn't caught up. */ diff --git a/src/backend/replication/walreceiver.c b/src/backend/replication/walreceiver.c index acda5f68d9a..6f28fc2e03d 100644 --- a/src/backend/replication/walreceiver.c +++ b/src/backend/replication/walreceiver.c @@ -524,6 +524,13 @@ WalReceiverMain(char *startup_data, size_t startup_data_len) if (endofwal) break; + /* + * Update WAL statistics, which are produced inside + * issue_xlog_fsync function. This is useful for counting + * WAL flushes, by querying pg_stat_wal. + */ + pgstat_report_wal(true); + /* Find the soonest wakeup time, to limit our nap. */ nextWakeup = TIMESTAMP_INFINITY; for (int i = 0; i < NUM_WALRCV_WAKEUPS; ++i) diff --git a/src/backend/replication/walsender.c b/src/backend/replication/walsender.c index c3181e3295e..35bb4f761fa 100644 --- a/src/backend/replication/walsender.c +++ b/src/backend/replication/walsender.c @@ -53,6 +53,7 @@ #include "access/transam.h" #include "access/xact.h" #include "access/xlog_internal.h" +#include "access/xloginsert.h" #include "access/xlogreader.h" #include "access/xlogrecovery.h" #include "access/xlogutils.h" @@ -129,6 +130,11 @@ bool log_replication_commands = false; */ bool wake_wal_senders = false; +/* + * Backpressure hook, detecting how much we should delay. + */ +uint64 (*delay_backend_us)(void) = NULL; + /* * xlogreader used for replication. Note that a WAL sender doing physical * replication does not need xlogreader to read WAL, but it needs one to @@ -264,9 +270,7 @@ static void WalSndPrepareWrite(LogicalDecodingContext *ctx, XLogRecPtr lsn, Tran static void WalSndWriteData(LogicalDecodingContext *ctx, XLogRecPtr lsn, TransactionId xid, bool last_write); static void WalSndUpdateProgress(LogicalDecodingContext *ctx, XLogRecPtr lsn, TransactionId xid, bool skipped_xact); -static XLogRecPtr WalSndWaitForWal(XLogRecPtr loc); -static void LagTrackerWrite(XLogRecPtr lsn, TimestampTz local_flush_time); -static TimeOffset LagTrackerRead(int head, XLogRecPtr lsn, TimestampTz now); +XLogRecPtr WalSndWaitForWal(XLogRecPtr loc); static bool TransactionIdInRecentPast(TransactionId xid, uint32 epoch); static void WalSndSegmentOpen(XLogReaderState *state, XLogSegNo nextSegNo, @@ -1453,6 +1457,7 @@ StartLogicalReplication(StartReplicationCmd *cmd) { StringInfoData buf; QueryCompletion qc; + XLogReaderRoutine xlr; /* make sure that our requirements are still fulfilled */ CheckLogicalDecodingRequirements(); @@ -1473,6 +1478,10 @@ StartLogicalReplication(StartReplicationCmd *cmd) got_STOPPING = true; } + xlr.page_read = logical_read_xlog_page; + xlr.segment_open = WalSndSegmentOpen; + xlr.segment_close = wal_segment_close; + /* * Create our decoding context, making it start at the previously ack'ed * position. @@ -1481,10 +1490,7 @@ StartLogicalReplication(StartReplicationCmd *cmd) * are reported early. */ logical_decoding_ctx = - CreateDecodingContext(cmd->startpoint, cmd->options, false, - XL_ROUTINE(.page_read = logical_read_xlog_page, - .segment_open = WalSndSegmentOpen, - .segment_close = wal_segment_close), + CreateDecodingContext(cmd->startpoint, cmd->options, false, &xlr, WalSndPrepareWrite, WalSndWriteData, WalSndUpdateProgress); xlogreader = logical_decoding_ctx->reader; @@ -1814,7 +1820,7 @@ NeedToWaitForWal(XLogRecPtr target_lsn, XLogRecPtr flushed_lsn, * detect a shutdown request (either from postmaster or client) we will return * early, so caller must always check. */ -static XLogRecPtr +XLogRecPtr WalSndWaitForWal(XLogRecPtr loc) { int wakeEvents; @@ -2350,7 +2356,7 @@ ProcessStandbyMessage(void) /* * Remember that a walreceiver just confirmed receipt of lsn `lsn`. */ -static void +void PhysicalConfirmReceivedLocation(XLogRecPtr lsn) { bool changed = false; @@ -2390,21 +2396,34 @@ ProcessStandbyReplyMessage(void) flushPtr, applyPtr; bool replyRequested; - TimeOffset writeLag, - flushLag, - applyLag; - bool clearLagTimes; - TimestampTz now; TimestampTz replyTime; - static bool fullyAppliedLastTime = false; - /* the caller already consumed the msgtype byte */ writePtr = pq_getmsgint64(&reply_message); flushPtr = pq_getmsgint64(&reply_message); applyPtr = pq_getmsgint64(&reply_message); replyTime = pq_getmsgint64(&reply_message); replyRequested = pq_getmsgbyte(&reply_message); + ProcessStandbyReply(writePtr, + flushPtr, + applyPtr, + replyTime, + replyRequested); +} + +void +ProcessStandbyReply(XLogRecPtr writePtr, + XLogRecPtr flushPtr, + XLogRecPtr applyPtr, + TimestampTz replyTime, + bool replyRequested) +{ + TimeOffset writeLag, + flushLag, + applyLag; + bool clearLagTimes; + TimestampTz now; + static bool fullyAppliedLastTime = false; if (message_level_is_interesting(DEBUG2)) { @@ -2587,7 +2606,16 @@ ProcessStandbyHSFeedbackMessage(void) feedbackEpoch = pq_getmsgint(&reply_message, 4); feedbackCatalogXmin = pq_getmsgint(&reply_message, 4); feedbackCatalogEpoch = pq_getmsgint(&reply_message, 4); + ProcessStandbyHSFeedback(replyTime, feedbackXmin, feedbackEpoch, feedbackCatalogXmin, feedbackCatalogEpoch); +} +void +ProcessStandbyHSFeedback(TimestampTz replyTime, + TransactionId feedbackXmin, + uint32 feedbackEpoch, + TransactionId feedbackCatalogXmin, + uint32 feedbackCatalogEpoch) +{ if (message_level_is_interesting(DEBUG2)) { char *replyTimeStr; @@ -2959,7 +2987,16 @@ InitWalSenderSlot(void) } } - Assert(MyWalSnd != NULL); + /* + * neon: in vanilla this doesn't happen because walsenders register in + * InitProcess walsenderFreeProcs which is also limited by max_wal_senders. + * However, in neon walproposer occupies walsender slot but doesn't register + * in walsenderFreeProcs (it's a bgworker). + */ + if (!MyWalSnd) + { + elog(ERROR, "out of walsender slots, consider increasing max_wal_senders"); + } /* Arrange to clean up at walsender exit */ on_shmem_exit(WalSndKill, 0); @@ -3273,9 +3310,12 @@ XLogSendPhysical(void) /* * OK to read and send the slice. */ - resetStringInfo(&output_message); - pq_sendbyte(&output_message, 'w'); + if (output_message.data) + resetStringInfo(&output_message); + else + initStringInfo(&output_message); + pq_sendbyte(&output_message, 'w'); pq_sendint64(&output_message, startptr); /* dataStart */ pq_sendint64(&output_message, SendRqstPtr); /* walEnd */ pq_sendint64(&output_message, 0); /* sendtime, filled in last */ @@ -3470,8 +3510,8 @@ WalSndDone(WalSndSendDataCallback send_data) * flush location if valid, write otherwise. Tools like pg_receivewal will * usually (unless in synchronous mode) return an invalid flush location. */ - replicatedPtr = XLogRecPtrIsInvalid(MyWalSnd->flush) ? - MyWalSnd->write : MyWalSnd->flush; + // XXX Zenith uses flush_lsn to pass extra payload, so use write_lsn here + replicatedPtr = MyWalSnd->write; if (WalSndCaughtUp && sentPtr == replicatedPtr && !pq_is_send_pending()) @@ -4091,7 +4131,7 @@ WalSndKeepaliveIfNecessary(void) * eventually reported to have been written, flushed and applied by the * standby in a reply message. */ -static void +void LagTrackerWrite(XLogRecPtr lsn, TimestampTz local_flush_time) { bool buffer_full; @@ -4156,7 +4196,7 @@ LagTrackerWrite(XLogRecPtr lsn, TimestampTz local_flush_time) * Return -1 if no new sample data is available, and otherwise the elapsed * time in microseconds. */ -static TimeOffset +TimeOffset LagTrackerRead(int head, XLogRecPtr lsn, TimestampTz now) { TimestampTz time = 0; diff --git a/src/backend/rewrite/rewriteHandler.c b/src/backend/rewrite/rewriteHandler.c index e1d805d113e..063afd4933e 100644 --- a/src/backend/rewrite/rewriteHandler.c +++ b/src/backend/rewrite/rewriteHandler.c @@ -40,6 +40,7 @@ #include "rewrite/rewriteManip.h" #include "rewrite/rewriteSearchCycle.h" #include "rewrite/rowsecurity.h" +#include "tcop/tcopprot.h" #include "utils/builtins.h" #include "utils/lsyscache.h" #include "utils/rel.h" @@ -57,6 +58,12 @@ typedef struct acquireLocksOnSubLinks_context bool for_execute; /* AcquireRewriteLocks' forExecute param */ } acquireLocksOnSubLinks_context; +typedef struct fireRIRonSubLink_context +{ + List *activeRIRs; + bool hasRowSecurity; +} fireRIRonSubLink_context; + static bool acquireLocksOnSubLinks(Node *node, acquireLocksOnSubLinks_context *context); static Query *rewriteRuleAction(Query *parsetree, @@ -1729,6 +1736,14 @@ ApplyRetrieveRule(Query *parsetree, if (rule->qual != NULL) elog(ERROR, "cannot handle qualified ON SELECT rule"); + /* Check if the expansion of non-system views are restricted */ + if (unlikely((restrict_nonsystem_relation_kind & RESTRICT_RELKIND_VIEW) != 0 && + RelationGetRelid(relation) >= FirstNormalObjectId)) + ereport(ERROR, + (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("access to non-system view \"%s\" is restricted", + RelationGetRelationName(relation)))); + if (rt_index == parsetree->resultRelation) { /* @@ -1830,6 +1845,12 @@ ApplyRetrieveRule(Query *parsetree, */ rule_action = fireRIRrules(rule_action, activeRIRs); + /* + * Make sure the query is marked as having row security if the view query + * does. + */ + parsetree->hasRowSecurity |= rule_action->hasRowSecurity; + /* * Now, plug the view query in as a subselect, converting the relation's * original RTE to a subquery RTE. @@ -1943,7 +1964,7 @@ markQueryForLocking(Query *qry, Node *jtnode, * the SubLink's subselect link with the possibly-rewritten subquery. */ static bool -fireRIRonSubLink(Node *node, List *activeRIRs) +fireRIRonSubLink(Node *node, fireRIRonSubLink_context *context) { if (node == NULL) return false; @@ -1953,7 +1974,13 @@ fireRIRonSubLink(Node *node, List *activeRIRs) /* Do what we came for */ sub->subselect = (Node *) fireRIRrules((Query *) sub->subselect, - activeRIRs); + context->activeRIRs); + + /* + * Remember if any of the sublinks have row security. + */ + context->hasRowSecurity |= ((Query *) sub->subselect)->hasRowSecurity; + /* Fall through to process lefthand args of SubLink */ } @@ -1962,7 +1989,7 @@ fireRIRonSubLink(Node *node, List *activeRIRs) * subselects of subselects for us. */ return expression_tree_walker(node, fireRIRonSubLink, - (void *) activeRIRs); + (void *) context); } @@ -2023,6 +2050,13 @@ fireRIRrules(Query *parsetree, List *activeRIRs) if (rte->rtekind == RTE_SUBQUERY) { rte->subquery = fireRIRrules(rte->subquery, activeRIRs); + + /* + * While we are here, make sure the query is marked as having row + * security if any of its subqueries do. + */ + parsetree->hasRowSecurity |= rte->subquery->hasRowSecurity; + continue; } @@ -2136,6 +2170,12 @@ fireRIRrules(Query *parsetree, List *activeRIRs) cte->ctequery = (Node *) fireRIRrules((Query *) cte->ctequery, activeRIRs); + + /* + * While we are here, make sure the query is marked as having row + * security if any of its CTEs do. + */ + parsetree->hasRowSecurity |= ((Query *) cte->ctequery)->hasRowSecurity; } /* @@ -2143,9 +2183,22 @@ fireRIRrules(Query *parsetree, List *activeRIRs) * the rtable and cteList. */ if (parsetree->hasSubLinks) - query_tree_walker(parsetree, fireRIRonSubLink, (void *) activeRIRs, + { + fireRIRonSubLink_context context; + + context.activeRIRs = activeRIRs; + context.hasRowSecurity = false; + + query_tree_walker(parsetree, fireRIRonSubLink, (void *) &context, QTW_IGNORE_RC_SUBQUERIES); + /* + * Make sure the query is marked as having row security if any of its + * sublinks do. + */ + parsetree->hasRowSecurity |= context.hasRowSecurity; + } + /* * Apply any row-level security policies. We do this last because it * requires special recursion detection if the new quals have sublink @@ -2184,6 +2237,7 @@ fireRIRrules(Query *parsetree, List *activeRIRs) if (hasSubLinks) { acquireLocksOnSubLinks_context context; + fireRIRonSubLink_context fire_context; /* * Recursively process the new quals, checking for infinite @@ -2214,11 +2268,21 @@ fireRIRrules(Query *parsetree, List *activeRIRs) * Now that we have the locks on anything added by * get_row_security_policies, fire any RIR rules for them. */ + fire_context.activeRIRs = activeRIRs; + fire_context.hasRowSecurity = false; + expression_tree_walker((Node *) securityQuals, - fireRIRonSubLink, (void *) activeRIRs); + fireRIRonSubLink, (void *) &fire_context); expression_tree_walker((Node *) withCheckOptions, - fireRIRonSubLink, (void *) activeRIRs); + fireRIRonSubLink, (void *) &fire_context); + + /* + * We can ignore the value of fire_context.hasRowSecurity + * since we only reach this code in cases where hasRowSecurity + * is already true. + */ + Assert(hasRowSecurity); activeRIRs = list_delete_last(activeRIRs); } @@ -3212,6 +3276,14 @@ rewriteTargetView(Query *parsetree, Relation view) } } + /* Check if the expansion of non-system views are restricted */ + if (unlikely((restrict_nonsystem_relation_kind & RESTRICT_RELKIND_VIEW) != 0 && + RelationGetRelid(view) >= FirstNormalObjectId)) + ereport(ERROR, + (errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE), + errmsg("access to non-system view \"%s\" is restricted", + RelationGetRelationName(view)))); + /* * The view must be updatable, else fail. * @@ -3345,7 +3417,7 @@ rewriteTargetView(Query *parsetree, Relation view) errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("cannot merge into view \"%s\"", RelationGetRelationName(view)), - errdetail("MERGE is not supported for views with INSTEAD OF triggers for some actions, but not others."), + errdetail("MERGE is not supported for views with INSTEAD OF triggers for some actions but not all."), errhint("To enable merging into the view, either provide a full set of INSTEAD OF triggers or drop the existing INSTEAD OF triggers.")); } } diff --git a/src/backend/rewrite/rewriteManip.c b/src/backend/rewrite/rewriteManip.c index 191f2dc0b1d..b20625fbd2b 100644 --- a/src/backend/rewrite/rewriteManip.c +++ b/src/backend/rewrite/rewriteManip.c @@ -1141,7 +1141,8 @@ AddInvertedQual(Query *parsetree, Node *qual) /* * add_nulling_relids() finds Vars and PlaceHolderVars that belong to any * of the target_relids, and adds added_relids to their varnullingrels - * and phnullingrels fields. + * and phnullingrels fields. If target_relids is NULL, all level-zero + * Vars and PHVs are modified. */ Node * add_nulling_relids(Node *node, @@ -1170,7 +1171,8 @@ add_nulling_relids_mutator(Node *node, Var *var = (Var *) node; if (var->varlevelsup == context->sublevels_up && - bms_is_member(var->varno, context->target_relids)) + (context->target_relids == NULL || + bms_is_member(var->varno, context->target_relids))) { Relids newnullingrels = bms_union(var->varnullingrels, context->added_relids); @@ -1188,7 +1190,8 @@ add_nulling_relids_mutator(Node *node, PlaceHolderVar *phv = (PlaceHolderVar *) node; if (phv->phlevelsup == context->sublevels_up && - bms_overlap(phv->phrels, context->target_relids)) + (context->target_relids == NULL || + bms_overlap(phv->phrels, context->target_relids))) { Relids newnullingrels = bms_union(phv->phnullingrels, context->added_relids); diff --git a/src/backend/storage/aio/read_stream.c b/src/backend/storage/aio/read_stream.c index 74b9bae6313..9b962c301bf 100644 --- a/src/backend/storage/aio/read_stream.c +++ b/src/backend/storage/aio/read_stream.c @@ -117,13 +117,10 @@ struct ReadStream bool advice_enabled; /* - * Small buffer of block numbers, useful for 'ungetting' to resolve flow - * control problems when I/Os are split. Also useful for batch-loading - * block numbers in the fast path. + * One-block buffer to support 'ungetting' a block number, to resolve flow + * control problems when I/Os are split. */ - BlockNumber blocknums[16]; - int16 blocknums_count; - int16 blocknums_next; + BlockNumber buffered_blocknum; /* * The callback that will tell us which block numbers to read, and an @@ -167,23 +164,23 @@ get_per_buffer_data(ReadStream *stream, int16 buffer_index) } /* - * Ask the callback which block it would like us to read next, with a small - * buffer in front to allow read_stream_unget_block() to work and to allow the - * fast path to skip this function and work directly from the array. + * Ask the callback which block it would like us to read next, with a one block + * buffer in front to allow read_stream_unget_block() to work. */ static inline BlockNumber read_stream_get_block(ReadStream *stream, void *per_buffer_data) { - if (stream->blocknums_next < stream->blocknums_count) - return stream->blocknums[stream->blocknums_next++]; + BlockNumber blocknum; - /* - * We only bother to fetch one at a time here (but see the fast path which - * uses more). - */ - return stream->callback(stream, - stream->callback_private_data, - per_buffer_data); + blocknum = stream->buffered_blocknum; + if (blocknum != InvalidBlockNumber) + stream->buffered_blocknum = InvalidBlockNumber; + else + blocknum = stream->callback(stream, + stream->callback_private_data, + per_buffer_data); + + return blocknum; } /* @@ -193,41 +190,11 @@ read_stream_get_block(ReadStream *stream, void *per_buffer_data) static inline void read_stream_unget_block(ReadStream *stream, BlockNumber blocknum) { - if (stream->blocknums_next == stream->blocknums_count) - { - /* Never initialized or entirely consumed. Re-initialize. */ - stream->blocknums[0] = blocknum; - stream->blocknums_count = 1; - stream->blocknums_next = 0; - } - else - { - /* Must be the last value return from blocknums array. */ - Assert(stream->blocknums_next > 0); - stream->blocknums_next--; - Assert(stream->blocknums[stream->blocknums_next] == blocknum); - } -} - -#ifndef READ_STREAM_DISABLE_FAST_PATH -static void -read_stream_fill_blocknums(ReadStream *stream) -{ - BlockNumber blocknum; - int i = 0; - - do - { - blocknum = stream->callback(stream, - stream->callback_private_data, - NULL); - stream->blocknums[i++] = blocknum; - } while (i < lengthof(stream->blocknums) && - blocknum != InvalidBlockNumber); - stream->blocknums_count = i; - stream->blocknums_next = 0; + /* We shouldn't ever unget more than one block. */ + Assert(stream->buffered_blocknum == InvalidBlockNumber); + Assert(blocknum != InvalidBlockNumber); + stream->buffered_blocknum = blocknum; } -#endif static void read_stream_start_pending_read(ReadStream *stream, bool suppress_advice) @@ -531,6 +498,7 @@ read_stream_begin_relation(int flags, stream->queue_size = queue_size; stream->callback = callback; stream->callback_private_data = callback_private_data; + stream->buffered_blocknum = InvalidBlockNumber; /* * Skip the initial ramp-up phase if the caller says we're going to be @@ -601,9 +569,7 @@ read_stream_next_buffer(ReadStream *stream, void **per_buffer_data) Assert(buffer != InvalidBuffer); /* Choose the next block to pin. */ - if (unlikely(stream->blocknums_next == stream->blocknums_count)) - read_stream_fill_blocknums(stream); - next_blocknum = stream->blocknums[stream->blocknums_next++]; + next_blocknum = read_stream_get_block(stream, NULL); if (likely(next_blocknum != InvalidBlockNumber)) { @@ -765,6 +731,20 @@ read_stream_next_buffer(ReadStream *stream, void **per_buffer_data) return buffer; } +/* + * Transitional support for code that would like to perform or skip reads + * itself, without using the stream. Returns, and consumes, the next block + * number that would be read by the stream's look-ahead algorithm, or + * InvalidBlockNumber if the end of the stream is reached. Also reports the + * strategy that would be used to read it. + */ +BlockNumber +read_stream_next_block(ReadStream *stream, BufferAccessStrategy *strategy) +{ + *strategy = stream->ios[0].op.strategy; + return read_stream_get_block(stream, NULL); +} + /* * Reset a read stream by releasing any queued up buffers, allowing the stream * to be used again for different blocks. This can be used to clear an @@ -779,9 +759,8 @@ read_stream_reset(ReadStream *stream) /* Stop looking ahead. */ stream->distance = 0; - /* Forget buffered block numbers and fast path state. */ - stream->blocknums_next = 0; - stream->blocknums_count = 0; + /* Forget buffered block number and fast path state. */ + stream->buffered_blocknum = InvalidBlockNumber; stream->fast_path = false; /* Unpin anything that wasn't consumed. */ diff --git a/src/backend/storage/buffer/buf_init.c b/src/backend/storage/buffer/buf_init.c index 46116a1f64b..a2616772f8f 100644 --- a/src/backend/storage/buffer/buf_init.c +++ b/src/backend/storage/buffer/buf_init.c @@ -24,6 +24,14 @@ ConditionVariableMinimallyPadded *BufferIOCVArray; WritebackContext BackendWritebackContext; CkptSortItem *CkptBufferIds; +/* + * Buffer with target WAL redo page. + * We must not evict this page from the buffer pool, but we cannot just keep it pinned because + * some WAL redo functions expect the page to not be pinned. So we have a special check in + * localbuf.c to prevent this buffer from being evicted. + */ +Buffer wal_redo_buffer; +bool am_wal_redo_postgres = false; /* * Data Structures: diff --git a/src/backend/storage/buffer/bufmgr.c b/src/backend/storage/buffer/bufmgr.c index 61816730955..35e335187b5 100644 --- a/src/backend/storage/buffer/bufmgr.c +++ b/src/backend/storage/buffer/bufmgr.c @@ -56,6 +56,7 @@ #include "storage/proc.h" #include "storage/smgr.h" #include "storage/standby.h" +#include "replication/walsender.h" #include "utils/memdebug.h" #include "utils/ps_status.h" #include "utils/rel.h" @@ -171,6 +172,10 @@ int checkpoint_flush_after = DEFAULT_CHECKPOINT_FLUSH_AFTER; int bgwriter_flush_after = DEFAULT_BGWRITER_FLUSH_AFTER; int backend_flush_after = DEFAULT_BACKEND_FLUSH_AFTER; +/* Evict unpinned pages (for better test coverage) */ +bool zenith_test_evict = false; + + /* local state for LockBufferForCleanup */ static BufferDesc *PinCountWaitBuf = NULL; @@ -830,7 +835,8 @@ ReadBufferWithoutRelcache(RelFileLocator rlocator, ForkNumber forkNum, BlockNumber blockNum, ReadBufferMode mode, BufferAccessStrategy strategy, bool permanent) { - SMgrRelation smgr = smgropen(rlocator, INVALID_PROC_NUMBER); + SMgrRelation smgr = smgropen(rlocator, INVALID_PROC_NUMBER, + RELPERSISTENCE_PERMANENT); return ReadBuffer_common(NULL, smgr, permanent ? RELPERSISTENCE_PERMANENT : RELPERSISTENCE_UNLOGGED, @@ -1019,7 +1025,13 @@ ZeroAndLockBuffer(Buffer buffer, ReadBufferMode mode, bool already_valid) { BufferDesc *bufHdr; bool need_to_zero; - bool isLocalBuf = BufferIsLocal(buffer); + /* + * wal_redo postgres is working in single user mode, we do not need to + * synchronize access to shared buffer, so let's use local buffers instead. + * Note that this implies that when am_wal_redo_postgres is set, we always + * use local buffers. + */ + bool isLocalBuf = BufferIsLocal(buffer) || am_wal_redo_postgres; Assert(mode == RBM_ZERO_AND_LOCK || mode == RBM_ZERO_AND_CLEANUP_LOCK); @@ -1033,6 +1045,8 @@ ZeroAndLockBuffer(Buffer buffer, ReadBufferMode mode, bool already_valid) } else if (isLocalBuf) { + // TODO : Fix the logic around wal_redo + local buffers in other places too + Assert(BufferIsLocal(buffer) || am_wal_redo_postgres); /* Simple case for non-shared buffers. */ bufHdr = GetLocalBufferDescriptor(-buffer - 1); need_to_zero = (pg_atomic_read_u32(&bufHdr->state) & BM_VALID) == 0; @@ -1147,7 +1161,7 @@ PinBufferForBlock(Relation rel, smgr->smgr_rlocator.locator.relNumber, smgr->smgr_rlocator.backend); - if (persistence == RELPERSISTENCE_TEMP) + if (persistence == RELPERSISTENCE_TEMP || am_wal_redo_postgres) { bufHdr = LocalBufferAlloc(smgr, forkNum, blockNum, foundPtr); if (*foundPtr) @@ -1510,7 +1524,7 @@ WaitReadBuffers(ReadBuffersOperation *operation) BufferDesc *bufHdr; Block bufBlock; - if (persistence == RELPERSISTENCE_TEMP) + if (persistence == RELPERSISTENCE_TEMP || am_wal_redo_postgres) { bufHdr = GetLocalBufferDescriptor(-io_buffers[j] - 1); bufBlock = LocalBufHdrGetBlock(bufHdr); @@ -1543,7 +1557,7 @@ WaitReadBuffers(ReadBuffersOperation *operation) } /* Terminate I/O and set BM_VALID. */ - if (persistence == RELPERSISTENCE_TEMP) + if (persistence == RELPERSISTENCE_TEMP || am_wal_redo_postgres) { uint32 buf_state = pg_atomic_read_u32(&bufHdr->state); @@ -2877,6 +2891,34 @@ UnpinBufferNoOwner(BufferDesc *buf) UnlockBufHdr(buf, buf_state); } ForgetPrivateRefCountEntry(ref); + + if (zenith_test_evict && !InRecovery) + { + buf_state = LockBufHdr(buf); + if ((buf_state & BM_VALID) && BUF_STATE_GET_REFCOUNT(buf_state) == 0) + { + ReservePrivateRefCountEntry(); + PinBuffer_Locked(buf); + if (buf_state & BM_DIRTY) + { + if (LWLockConditionalAcquire(BufferDescriptorGetContentLock(buf), + LW_SHARED)) + { + FlushOneBuffer(b); + LWLockRelease(BufferDescriptorGetContentLock(buf)); + } + } + + /* + * Try to invalidate the page. This can fail if the page is + * concurrently modified; we'll let it be in that case + */ + (void) InvalidateVictimBuffer(buf); + UnpinBuffer(buf); + } + else + UnlockBufHdr(buf, buf_state); + } } } @@ -3796,7 +3838,7 @@ FlushBuffer(BufferDesc *buf, SMgrRelation reln, IOObject io_object, /* Find smgr relation for buffer */ if (reln == NULL) - reln = smgropen(BufTagGetRelFileLocator(&buf->tag), INVALID_PROC_NUMBER); + reln = smgropen(BufTagGetRelFileLocator(&buf->tag), INVALID_PROC_NUMBER, 0); TRACE_POSTGRESQL_BUFFER_FLUSH_START(BufTagGetForkNum(&buf->tag), buf->tag.blockNum, @@ -4699,7 +4741,8 @@ RelationCopyStorageUsingBuffer(RelFileLocator srclocator, use_wal = XLogIsNeeded() && (permanent || forkNum == INIT_FORKNUM); /* Get number of blocks in the source relation. */ - nblocks = smgrnblocks(smgropen(srclocator, INVALID_PROC_NUMBER), + nblocks = smgrnblocks(smgropen(srclocator, INVALID_PROC_NUMBER, + permanent ? RELPERSISTENCE_PERMANENT : RELPERSISTENCE_UNLOGGED), forkNum); /* Nothing to copy; just return. */ @@ -4711,7 +4754,9 @@ RelationCopyStorageUsingBuffer(RelFileLocator srclocator, * relation before starting to copy block by block. */ memset(buf.data, 0, BLCKSZ); - smgrextend(smgropen(dstlocator, INVALID_PROC_NUMBER), forkNum, nblocks - 1, + smgrextend(smgropen(dstlocator, INVALID_PROC_NUMBER, + permanent ? RELPERSISTENCE_PERMANENT : RELPERSISTENCE_UNLOGGED), + forkNum, nblocks - 1, buf.data, true); /* This is a bulk operation, so use buffer access strategies. */ @@ -4778,8 +4823,8 @@ CreateAndCopyRelationData(RelFileLocator src_rlocator, relpersistence = permanent ? RELPERSISTENCE_PERMANENT : RELPERSISTENCE_UNLOGGED; - src_rel = smgropen(src_rlocator, INVALID_PROC_NUMBER); - dst_rel = smgropen(dst_rlocator, INVALID_PROC_NUMBER); + src_rel = smgropen(src_rlocator, INVALID_PROC_NUMBER, relpersistence); + dst_rel = smgropen(dst_rlocator, INVALID_PROC_NUMBER, relpersistence); /* * Create and copy all forks of the relation. During create database we @@ -5996,7 +6041,7 @@ IssuePendingWritebacks(WritebackContext *wb_context, IOContext io_context) i += ahead; /* and finally tell the kernel to write the data to storage */ - reln = smgropen(currlocator, INVALID_PROC_NUMBER); + reln = smgropen(currlocator, INVALID_PROC_NUMBER, 0); smgrwriteback(reln, BufTagGetForkNum(&tag), tag.blockNum, nblocks); } diff --git a/src/backend/storage/buffer/localbuf.c b/src/backend/storage/buffer/localbuf.c index 8da7dd6c98a..78518a15bb6 100644 --- a/src/backend/storage/buffer/localbuf.c +++ b/src/backend/storage/buffer/localbuf.c @@ -17,14 +17,18 @@ #include "access/parallel.h" #include "executor/instrument.h" +#include "miscadmin.h" #include "pgstat.h" #include "storage/buf_internals.h" #include "storage/bufmgr.h" #include "storage/fd.h" #include "utils/guc_hooks.h" #include "utils/memutils.h" +#include "utils/rel.h" #include "utils/resowner.h" +/* NEON: prevent eviction of the buffer of target page */ +extern Buffer wal_redo_buffer; /*#define LBDEBUG*/ @@ -199,6 +203,12 @@ GetLocalVictimBuffer(void) if (LocalRefCount[victim_bufid] == 0) { + if (-victim_bufid - 1 == wal_redo_buffer) + { + /* ZENITH: Prevent eviction of the buffer with target wal redo page */ + continue; + } + buf_state = pg_atomic_read_u32(&bufHdr->state); if (BUF_STATE_GET_USAGECOUNT(buf_state) > 0) @@ -240,7 +250,10 @@ GetLocalVictimBuffer(void) Page localpage = (char *) LocalBufHdrGetBlock(bufHdr); /* Find smgr relation for buffer */ - oreln = smgropen(BufTagGetRelFileLocator(&bufHdr->tag), MyProcNumber); + if (am_wal_redo_postgres && MyProcNumber == INVALID_PROC_NUMBER) + oreln = smgropen(BufTagGetRelFileLocator(&bufHdr->tag), MyProcNumber, RELPERSISTENCE_PERMANENT); + else + oreln = smgropen(BufTagGetRelFileLocator(&bufHdr->tag), MyProcNumber, RELPERSISTENCE_TEMP); PageSetChecksumInplace(localpage, bufHdr->tag.blockNum); diff --git a/src/backend/storage/ipc/sinvaladt.c b/src/backend/storage/ipc/sinvaladt.c index b486d8ddd1d..271212987e0 100644 --- a/src/backend/storage/ipc/sinvaladt.c +++ b/src/backend/storage/ipc/sinvaladt.c @@ -683,6 +683,48 @@ SICleanupQueue(bool callerHasWriteLock, int minFree) } } +/* + * SIResetAll + * Mark all active backends as "reset" + * + * Use this when we don't know what needs to be invalidated. It's a + * cluster-wide InvalidateSystemCaches(). This was a back-branch-only remedy + * to avoid a WAL format change. + * + * The implementation is like SICleanupQueue(false, MAXNUMMESSAGES + 1), with + * one addition. SICleanupQueue() assumes minFree << MAXNUMMESSAGES, so it + * assumes hasMessages==true for any backend it resets. We're resetting even + * fully-caught-up backends, so we set hasMessages. + */ +void +SIResetAll(void) +{ + SISeg *segP = shmInvalBuffer; + int i; + + LWLockAcquire(SInvalWriteLock, LW_EXCLUSIVE); + LWLockAcquire(SInvalReadLock, LW_EXCLUSIVE); + + for (i = 0; i < segP->numProcs; i++) + { + ProcState *stateP = &segP->procState[segP->pgprocnos[i]]; + + Assert(stateP->procPid != 0); + if (stateP->sendOnly) + continue; + + /* Consuming the reset will update "nextMsgNum" and "signaled". */ + stateP->resetState = true; + stateP->hasMessages = true; + } + + segP->minMsgNum = segP->maxMsgNum; + segP->nextThreshold = CLEANUP_MIN; + + LWLockRelease(SInvalReadLock); + LWLockRelease(SInvalWriteLock); +} + /* * GetNextLocalTransactionId --- allocate a new LocalTransactionId diff --git a/src/backend/storage/lmgr/lock.c b/src/backend/storage/lmgr/lock.c index 0400a507779..e5e7ab55716 100644 --- a/src/backend/storage/lmgr/lock.c +++ b/src/backend/storage/lmgr/lock.c @@ -2256,6 +2256,16 @@ LockReleaseAll(LOCKMETHODID lockmethodid, bool allLocks) locallock->numLockOwners = 0; } +#ifdef USE_ASSERT_CHECKING + + /* + * Tuple locks are currently held only for short durations within a + * transaction. Check that we didn't forget to release one. + */ + if (LOCALLOCK_LOCKTAG(*locallock) == LOCKTAG_TUPLE && !allLocks) + elog(WARNING, "tuple lock held at commit"); +#endif + /* * If the lock or proclock pointers are NULL, this lock was taken via * the relation fast-path (and is not known to have been transferred). diff --git a/src/backend/storage/lmgr/lwlock.c b/src/backend/storage/lmgr/lwlock.c index b1e388dc7c9..4e1a4b1ef66 100644 --- a/src/backend/storage/lmgr/lwlock.c +++ b/src/backend/storage/lmgr/lwlock.c @@ -161,7 +161,7 @@ static const char *const BuiltinTrancheNames[] = { [LWTRANCHE_LAUNCHER_HASH] = "LogicalRepLauncherHash", [LWTRANCHE_DSM_REGISTRY_DSA] = "DSMRegistryDSA", [LWTRANCHE_DSM_REGISTRY_HASH] = "DSMRegistryHash", - [LWTRANCHE_COMMITTS_SLRU] = "CommitTSSLRU", + [LWTRANCHE_COMMITTS_SLRU] = "CommitTsSLRU", [LWTRANCHE_MULTIXACTOFFSET_SLRU] = "MultixactOffsetSLRU", [LWTRANCHE_MULTIXACTMEMBER_SLRU] = "MultixactMemberSLRU", [LWTRANCHE_NOTIFY_SLRU] = "NotifySLRU", diff --git a/src/backend/storage/lmgr/predicate.c b/src/backend/storage/lmgr/predicate.c index b455b78f9f7..2c87273e17e 100644 --- a/src/backend/storage/lmgr/predicate.c +++ b/src/backend/storage/lmgr/predicate.c @@ -877,12 +877,17 @@ SerialAdd(TransactionId xid, SerCommitSeqNo minConflictCommitSeqNo) LWLockAcquire(SerialControlLock, LW_EXCLUSIVE); /* - * If no serializable transactions are active, there shouldn't be anything - * to push out to the SLRU. Hitting this assert would mean there's - * something wrong with the earlier cleanup logic. + * If 'xid' is older than the global xmin (== tailXid), there's no need to + * store it, after all. This can happen if the oldest transaction holding + * back the global xmin just finished, making 'xid' uninteresting, but + * ClearOldPredicateLocks() has not yet run. */ tailXid = serialControl->tailXid; - Assert(TransactionIdIsValid(tailXid)); + if (!TransactionIdIsValid(tailXid) || TransactionIdPrecedes(xid, tailXid)) + { + LWLockRelease(SerialControlLock); + return; + } /* * If the SLRU is currently unused, zero out the whole active region from diff --git a/src/backend/storage/smgr/bulk_write.c b/src/backend/storage/smgr/bulk_write.c index 4a10ece4c39..1a5f3ce96e1 100644 --- a/src/backend/storage/smgr/bulk_write.c +++ b/src/backend/storage/smgr/bulk_write.c @@ -132,19 +132,69 @@ smgr_bulk_finish(BulkWriteState *bulkstate) smgr_bulk_flush(bulkstate); /* - * When we wrote out the pages, we passed skipFsync=true to avoid the - * overhead of registering all the writes with the checkpointer. Register - * the whole relation now. - * - * There is one hole in that idea: If a checkpoint occurred while we were - * writing the pages, it already missed fsyncing the pages we had written - * before the checkpoint started. A crash later on would replay the WAL - * starting from the checkpoint, therefore it wouldn't replay our earlier - * WAL records. So if a checkpoint started after the bulk write, fsync - * the files now. + * Fsync the relation, or register it for the next checkpoint, if + * necessary. */ - if (!SmgrIsTemp(bulkstate->smgr)) + if (SmgrIsTemp(bulkstate->smgr)) { + /* Temporary relations don't need to be fsync'd, ever */ + } + else if (!bulkstate->use_wal) + { + /*---------- + * This is either an unlogged relation, or a permanent relation but we + * skipped WAL-logging because wal_level=minimal: + * + * A) Unlogged relation + * + * Unlogged relations will go away on crash, but they need to be + * fsync'd on a clean shutdown. It's sufficient to call + * smgrregistersync(), that ensures that the checkpointer will + * flush it at the shutdown checkpoint. (It will flush it on the + * next online checkpoint too, which is not strictly necessary.) + * + * Note that the init-fork of an unlogged relation is not + * considered unlogged for our purposes. It's treated like a + * regular permanent relation. The callers will pass use_wal=true + * for the init fork. + * + * B) Permanent relation, WAL-logging skipped because wal_level=minimal + * + * This is a new relation, and we didn't WAL-log the pages as we + * wrote, but they need to be fsync'd before commit. + * + * We don't need to do that here, however. The fsync() is done at + * commit, by smgrDoPendingSyncs() (*). + * + * (*) smgrDoPendingSyncs() might decide to WAL-log the whole + * relation at commit instead of fsyncing it, if the relation was + * very small, but it's smgrDoPendingSyncs() responsibility in any + * case. + * + * We cannot distinguish the two here, so conservatively assume it's + * an unlogged relation. A permanent relation with wal_level=minimal + * would require no actions, see above. + */ + smgrregistersync(bulkstate->smgr, bulkstate->forknum); + } + else + { + /* + * Permanent relation, WAL-logged normally. + * + * We already WAL-logged all the pages, so they will be replayed from + * WAL on crash. However, when we wrote out the pages, we passed + * skipFsync=true to avoid the overhead of registering all the writes + * with the checkpointer. Register the whole relation now. + * + * There is one hole in that idea: If a checkpoint occurred while we + * were writing the pages, it already missed fsyncing the pages we had + * written before the checkpoint started. A crash later on would + * replay the WAL starting from the checkpoint, therefore it wouldn't + * replay our earlier WAL records. So if a checkpoint started after + * the bulk write, fsync the files now. + */ + /* * Prevent a checkpoint from starting between the GetRedoRecPtr() and * smgrregistersync() calls. diff --git a/src/backend/storage/smgr/md.c b/src/backend/storage/smgr/md.c index 6796756358f..f9bedd711db 100644 --- a/src/backend/storage/smgr/md.c +++ b/src/backend/storage/smgr/md.c @@ -1451,7 +1451,7 @@ DropRelationFiles(RelFileLocator *delrels, int ndelrels, bool isRedo) srels = palloc(sizeof(SMgrRelation) * ndelrels); for (i = 0; i < ndelrels; i++) { - SMgrRelation srel = smgropen(delrels[i], INVALID_PROC_NUMBER); + SMgrRelation srel = smgropen(delrels[i], INVALID_PROC_NUMBER, 0); if (isRedo) { @@ -1735,7 +1735,7 @@ _mdnblocks(SMgrRelation reln, ForkNumber forknum, MdfdVec *seg) int mdsyncfiletag(const FileTag *ftag, char *path) { - SMgrRelation reln = smgropen(ftag->rlocator, INVALID_PROC_NUMBER); + SMgrRelation reln = smgropen(ftag->rlocator, INVALID_PROC_NUMBER, 0); File file; instr_time io_start; bool need_to_close; diff --git a/src/backend/storage/smgr/smgr.c b/src/backend/storage/smgr/smgr.c index a691aed1f40..c820d3f3ac4 100644 --- a/src/backend/storage/smgr/smgr.c +++ b/src/backend/storage/smgr/smgr.c @@ -52,6 +52,7 @@ #include "postgres.h" #include "access/xlogutils.h" +#include "catalog/pg_tablespace.h" #include "lib/ilist.h" #include "storage/bufmgr.h" #include "storage/ipc.h" @@ -61,74 +62,27 @@ #include "utils/inval.h" -/* - * This struct of function pointers defines the API between smgr.c and - * any individual storage manager module. Note that smgr subfunctions are - * generally expected to report problems via elog(ERROR). An exception is - * that smgr_unlink should use elog(WARNING), rather than erroring out, - * because we normally unlink relations during post-commit/abort cleanup, - * and so it's too late to raise an error. Also, various conditions that - * would normally be errors should be allowed during bootstrap and/or WAL - * recovery --- see comments in md.c for details. - */ -typedef struct f_smgr -{ - void (*smgr_init) (void); /* may be NULL */ - void (*smgr_shutdown) (void); /* may be NULL */ - void (*smgr_open) (SMgrRelation reln); - void (*smgr_close) (SMgrRelation reln, ForkNumber forknum); - void (*smgr_create) (SMgrRelation reln, ForkNumber forknum, - bool isRedo); - bool (*smgr_exists) (SMgrRelation reln, ForkNumber forknum); - void (*smgr_unlink) (RelFileLocatorBackend rlocator, ForkNumber forknum, - bool isRedo); - void (*smgr_extend) (SMgrRelation reln, ForkNumber forknum, - BlockNumber blocknum, const void *buffer, bool skipFsync); - void (*smgr_zeroextend) (SMgrRelation reln, ForkNumber forknum, - BlockNumber blocknum, int nblocks, bool skipFsync); - bool (*smgr_prefetch) (SMgrRelation reln, ForkNumber forknum, - BlockNumber blocknum, int nblocks); - void (*smgr_readv) (SMgrRelation reln, ForkNumber forknum, - BlockNumber blocknum, - void **buffers, BlockNumber nblocks); - void (*smgr_writev) (SMgrRelation reln, ForkNumber forknum, - BlockNumber blocknum, - const void **buffers, BlockNumber nblocks, - bool skipFsync); - void (*smgr_writeback) (SMgrRelation reln, ForkNumber forknum, - BlockNumber blocknum, BlockNumber nblocks); - BlockNumber (*smgr_nblocks) (SMgrRelation reln, ForkNumber forknum); - void (*smgr_truncate) (SMgrRelation reln, ForkNumber forknum, - BlockNumber nblocks); - void (*smgr_immedsync) (SMgrRelation reln, ForkNumber forknum); - void (*smgr_registersync) (SMgrRelation reln, ForkNumber forknum); -} f_smgr; - -static const f_smgr smgrsw[] = { +static const f_smgr smgr_md = { /* magnetic disk */ - { - .smgr_init = mdinit, - .smgr_shutdown = NULL, - .smgr_open = mdopen, - .smgr_close = mdclose, - .smgr_create = mdcreate, - .smgr_exists = mdexists, - .smgr_unlink = mdunlink, - .smgr_extend = mdextend, - .smgr_zeroextend = mdzeroextend, - .smgr_prefetch = mdprefetch, - .smgr_readv = mdreadv, - .smgr_writev = mdwritev, - .smgr_writeback = mdwriteback, - .smgr_nblocks = mdnblocks, - .smgr_truncate = mdtruncate, - .smgr_immedsync = mdimmedsync, - .smgr_registersync = mdregistersync, - } + .smgr_init = mdinit, + .smgr_shutdown = NULL, + .smgr_open = mdopen, + .smgr_close = mdclose, + .smgr_create = mdcreate, + .smgr_exists = mdexists, + .smgr_unlink = mdunlink, + .smgr_extend = mdextend, + .smgr_zeroextend = mdzeroextend, + .smgr_prefetch = mdprefetch, + .smgr_readv = mdreadv, + .smgr_writev = mdwritev, + .smgr_writeback = mdwriteback, + .smgr_nblocks = mdnblocks, + .smgr_truncate = mdtruncate, + .smgr_immedsync = mdimmedsync, + .smgr_registersync = mdregistersync, }; -static const int NSmgr = lengthof(smgrsw); - /* * Each backend has a hashtable that stores all extant SMgrRelation objects. * In addition, "unpinned" SMgrRelation objects are chained together in a list. @@ -138,7 +92,6 @@ static HTAB *SMgrRelationHash = NULL; static dlist_head unpinned_relns; /* local function prototypes */ -static void smgrshutdown(int code, Datum arg); static void smgrdestroy(SMgrRelation reln); @@ -153,31 +106,43 @@ static void smgrdestroy(SMgrRelation reln); void smgrinit(void) { - int i; + (*smgr_init_hook)(); +} - for (i = 0; i < NSmgr; i++) - { - if (smgrsw[i].smgr_init) - smgrsw[i].smgr_init(); - } +/* Hook for plugins to get control in smgr */ +smgr_hook_type smgr_hook = NULL; +smgr_init_hook_type smgr_init_hook = smgr_init_standard; +smgr_shutdown_hook_type smgr_shutdown_hook = NULL; - /* register the shutdown proc */ - on_proc_exit(smgrshutdown, 0); +const f_smgr * +smgr_standard(ProcNumber backend, RelFileLocator rlocator) +{ + return &smgr_md; } -/* - * on_proc_exit hook for smgr cleanup during backend shutdown - */ -static void -smgrshutdown(int code, Datum arg) +void +smgr_init_standard(void) { - int i; + mdinit(); +} - for (i = 0; i < NSmgr; i++) - { - if (smgrsw[i].smgr_shutdown) - smgrsw[i].smgr_shutdown(); - } +void +smgr_shutdown_standard(void) +{ + /* no-op */ +} + +const f_smgr * +smgr(ProcNumber backend, RelFileLocator rlocator) +{ + const f_smgr *result; + + if (smgr_hook) + result = (*smgr_hook)(backend, rlocator); + else + result = smgr_standard(backend, rlocator); + + return result; } /* @@ -192,10 +157,15 @@ smgrshutdown(int code, Datum arg) * smgrdestroyall() is called. Background processes that use smgr but not * transactions typically do this once per checkpoint cycle. * + * The caller should pass the value of pg_class.relpersistence, if they know + * it, or 0 if unknown. Some operations, like smgrwrite() and smgrunlink() + * are allowed when relpersistence is not known, but others like smgrread() + * require it. + * * This does not attempt to actually open the underlying files. */ SMgrRelation -smgropen(RelFileLocator rlocator, ProcNumber backend) +smgropen(RelFileLocator rlocator, ProcNumber backend, char relpersistence) { RelFileLocatorBackend brlocator; SMgrRelation reln; @@ -227,17 +197,35 @@ smgropen(RelFileLocator rlocator, ProcNumber backend) { /* hash_search already filled in the lookup key */ reln->smgr_targblock = InvalidBlockNumber; + reln->smgr_relpersistence = relpersistence; + for (int i = 0; i <= MAX_FORKNUM; ++i) reln->smgr_cached_nblocks[i] = InvalidBlockNumber; - reln->smgr_which = 0; /* we only have md.c at present */ + + reln->smgr = smgr(backend, rlocator); /* implementation-specific initialization */ - smgrsw[reln->smgr_which].smgr_open(reln); + (*reln->smgr).smgr_open(reln); /* it is not pinned yet */ reln->pincount = 0; dlist_push_tail(&unpinned_relns, &reln->node); } + else + { + /* + * If the caller passed a valid 'relpersistence', and it was unknown + * before, update it. + */ + if (reln->smgr_relpersistence == 0) + reln->smgr_relpersistence = relpersistence; + else + { + if (!(relpersistence == 0 || reln->smgr_relpersistence == relpersistence)) + elog(ERROR, "relpersistence mismatch: smgropen %c vs SmgrRelation %c", + relpersistence, reln->smgr_relpersistence); + } + } return reln; } @@ -281,7 +269,7 @@ smgrdestroy(SMgrRelation reln) Assert(reln->pincount == 0); for (forknum = 0; forknum <= MAX_FORKNUM; forknum++) - smgrsw[reln->smgr_which].smgr_close(reln, forknum); + (*reln->smgr).smgr_close(reln, forknum); dlist_delete(&reln->node); @@ -301,7 +289,7 @@ smgrrelease(SMgrRelation reln) { for (ForkNumber forknum = 0; forknum <= MAX_FORKNUM; forknum++) { - smgrsw[reln->smgr_which].smgr_close(reln, forknum); + (*reln->smgr).smgr_close(reln, forknum); reln->smgr_cached_nblocks[forknum] = InvalidBlockNumber; } reln->smgr_targblock = InvalidBlockNumber; @@ -397,7 +385,7 @@ smgrreleaserellocator(RelFileLocatorBackend rlocator) bool smgrexists(SMgrRelation reln, ForkNumber forknum) { - return smgrsw[reln->smgr_which].smgr_exists(reln, forknum); + return (*reln->smgr).smgr_exists(reln, forknum); } /* @@ -410,7 +398,7 @@ smgrexists(SMgrRelation reln, ForkNumber forknum) void smgrcreate(SMgrRelation reln, ForkNumber forknum, bool isRedo) { - smgrsw[reln->smgr_which].smgr_create(reln, forknum, isRedo); + (*reln->smgr).smgr_create(reln, forknum, isRedo); } /* @@ -438,12 +426,10 @@ smgrdosyncall(SMgrRelation *rels, int nrels) */ for (i = 0; i < nrels; i++) { - int which = rels[i]->smgr_which; - for (forknum = 0; forknum <= MAX_FORKNUM; forknum++) { - if (smgrsw[which].smgr_exists(rels[i], forknum)) - smgrsw[which].smgr_immedsync(rels[i], forknum); + if ((*rels[i]->smgr).smgr_exists(rels[i], forknum)) + (*rels[i]->smgr).smgr_immedsync(rels[i], forknum); } } } @@ -482,13 +468,12 @@ smgrdounlinkall(SMgrRelation *rels, int nrels, bool isRedo) for (i = 0; i < nrels; i++) { RelFileLocatorBackend rlocator = rels[i]->smgr_rlocator; - int which = rels[i]->smgr_which; rlocators[i] = rlocator; /* Close the forks at smgr level */ for (forknum = 0; forknum <= MAX_FORKNUM; forknum++) - smgrsw[which].smgr_close(rels[i], forknum); + (*rels[i]->smgr).smgr_close(rels[i], forknum); } /* @@ -512,10 +497,8 @@ smgrdounlinkall(SMgrRelation *rels, int nrels, bool isRedo) for (i = 0; i < nrels; i++) { - int which = rels[i]->smgr_which; - for (forknum = 0; forknum <= MAX_FORKNUM; forknum++) - smgrsw[which].smgr_unlink(rlocators[i], forknum, isRedo); + (*rels[i]->smgr).smgr_unlink(rlocators[i], forknum, isRedo); } pfree(rlocators); @@ -535,8 +518,7 @@ void smgrextend(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum, const void *buffer, bool skipFsync) { - smgrsw[reln->smgr_which].smgr_extend(reln, forknum, blocknum, - buffer, skipFsync); + (*reln->smgr).smgr_extend(reln, forknum, blocknum, buffer, skipFsync); /* * Normally we expect this to increase nblocks by one, but if the cached @@ -560,8 +542,7 @@ void smgrzeroextend(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum, int nblocks, bool skipFsync) { - smgrsw[reln->smgr_which].smgr_zeroextend(reln, forknum, blocknum, - nblocks, skipFsync); + (*reln->smgr).smgr_zeroextend(reln, forknum, blocknum, nblocks, skipFsync); /* * Normally we expect this to increase the fork size by nblocks, but if @@ -585,7 +566,7 @@ bool smgrprefetch(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum, int nblocks) { - return smgrsw[reln->smgr_which].smgr_prefetch(reln, forknum, blocknum, nblocks); + return (*reln->smgr).smgr_prefetch(reln, forknum, blocknum, nblocks); } /* @@ -600,8 +581,8 @@ void smgrreadv(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum, void **buffers, BlockNumber nblocks) { - smgrsw[reln->smgr_which].smgr_readv(reln, forknum, blocknum, buffers, - nblocks); + (*reln->smgr).smgr_readv(reln, forknum, blocknum, buffers, + nblocks); } /* @@ -631,8 +612,8 @@ void smgrwritev(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum, const void **buffers, BlockNumber nblocks, bool skipFsync) { - smgrsw[reln->smgr_which].smgr_writev(reln, forknum, blocknum, - buffers, nblocks, skipFsync); + (*reln->smgr).smgr_writev(reln, forknum, blocknum, + buffers, nblocks, skipFsync); } /* @@ -643,8 +624,7 @@ void smgrwriteback(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum, BlockNumber nblocks) { - smgrsw[reln->smgr_which].smgr_writeback(reln, forknum, blocknum, - nblocks); + (*reln->smgr).smgr_writeback(reln, forknum, blocknum, nblocks); } /* @@ -661,7 +641,7 @@ smgrnblocks(SMgrRelation reln, ForkNumber forknum) if (result != InvalidBlockNumber) return result; - result = smgrsw[reln->smgr_which].smgr_nblocks(reln, forknum); + result = (*reln->smgr).smgr_nblocks(reln, forknum); reln->smgr_cached_nblocks[forknum] = result; @@ -728,7 +708,7 @@ smgrtruncate(SMgrRelation reln, ForkNumber *forknum, int nforks, BlockNumber *nb /* Make the cached size is invalid if we encounter an error. */ reln->smgr_cached_nblocks[forknum[i]] = InvalidBlockNumber; - smgrsw[reln->smgr_which].smgr_truncate(reln, forknum[i], nblocks[i]); + (*reln->smgr).smgr_truncate(reln, forknum[i], nblocks[i]); /* * We might as well update the local smgr_cached_nblocks values. The @@ -756,7 +736,7 @@ smgrtruncate(SMgrRelation reln, ForkNumber *forknum, int nforks, BlockNumber *nb void smgrregistersync(SMgrRelation reln, ForkNumber forknum) { - smgrsw[reln->smgr_which].smgr_registersync(reln, forknum); + (*reln->smgr).smgr_registersync(reln, forknum); } /* @@ -788,9 +768,50 @@ smgrregistersync(SMgrRelation reln, ForkNumber forknum) void smgrimmedsync(SMgrRelation reln, ForkNumber forknum) { - smgrsw[reln->smgr_which].smgr_immedsync(reln, forknum); + (*reln->smgr).smgr_immedsync(reln, forknum); +} + +/* + * Neon-added functions to mark the phases of an unlogged index build. + */ +void +smgr_start_unlogged_build(SMgrRelation reln) +{ + if ((*reln->smgr).smgr_start_unlogged_build) + (*reln->smgr).smgr_start_unlogged_build(reln); +} + +void +smgr_finish_unlogged_build_phase_1(SMgrRelation reln) +{ + if ((*reln->smgr).smgr_finish_unlogged_build_phase_1) + (*reln->smgr).smgr_finish_unlogged_build_phase_1(reln); +} + +void +smgr_end_unlogged_build(SMgrRelation reln) +{ + if ((*reln->smgr).smgr_end_unlogged_build) + (*reln->smgr).smgr_end_unlogged_build(reln); } +/* + * NEON: we do not want to include large pg_xact/multixact files in basebackup and prefer + * to download them on demand to reduce startup time. + * If SLRU segment is not found, we try to download it from page server + * + * This function returns number of blocks in segment. Usually it should be SLRU_PAGES_PER_SEGMENT but in case + * of partial segment, it can be smaller. Zero value means that segment doesn't exist. + * From Postgres point of view empty segment is the same as absent segment. + */ +int +smgr_read_slru_segment(SMgrRelation reln, const char* path, int segno, void* buffer) +{ + return (*reln->smgr).smgr_read_slru_segment ? (*reln->smgr).smgr_read_slru_segment(reln, path, segno, buffer) : 0; +} + + + /* * AtEOXact_SMgr * diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c index 034e0100bf0..358b2e96ef4 100644 --- a/src/backend/tcop/postgres.c +++ b/src/backend/tcop/postgres.c @@ -79,6 +79,7 @@ #include "utils/snapmgr.h" #include "utils/timeout.h" #include "utils/timestamp.h" +#include "utils/varlena.h" /* ---------------- * global variables @@ -103,6 +104,9 @@ int PostAuthDelay = 0; /* Time between checks that the client is still connected. */ int client_connection_check_interval = 0; +/* flags for non-system relation kinds to restrict use */ +int restrict_nonsystem_relation_kind; + /* ---------------- * private typedefs etc * ---------------- @@ -170,6 +174,8 @@ static volatile sig_atomic_t RecoveryConflictPendingReasons[NUM_PROCSIGNALS]; static MemoryContext row_description_context = NULL; static StringInfoData row_description_buf; +process_interrupts_callback_t ProcessInterruptsCallback; + /* ---------------------------------------------------------------- * decls for routines only used in this file * ---------------------------------------------------------------- @@ -1644,6 +1650,7 @@ exec_bind_message(StringInfo input_message) char msec_str[32]; ParamsErrorCbData params_data; ErrorContextCallback params_errcxt; + ListCell *lc; /* Get the fixed part of the message */ portal_name = pq_getmsgstring(input_message); @@ -1679,6 +1686,17 @@ exec_bind_message(StringInfo input_message) pgstat_report_activity(STATE_RUNNING, psrc->query_string); + foreach(lc, psrc->query_list) + { + Query *query = lfirst_node(Query, lc); + + if (query->queryId != UINT64CONST(0)) + { + pgstat_report_query_id(query->queryId, false); + break; + } + } + set_ps_display("BIND"); if (save_log_statement_stats) @@ -2101,6 +2119,7 @@ exec_execute_message(const char *portal_name, long max_rows) ErrorContextCallback params_errcxt; const char *cmdtagname; size_t cmdtaglen; + ListCell *lc; /* Adjust destination to tell printtup.c what to do */ dest = whereToSendOutput; @@ -2147,6 +2166,17 @@ exec_execute_message(const char *portal_name, long max_rows) pgstat_report_activity(STATE_RUNNING, sourceText); + foreach(lc, portal->stmts) + { + PlannedStmt *stmt = lfirst_node(PlannedStmt, lc); + + if (stmt->queryId != UINT64CONST(0)) + { + pgstat_report_query_id(stmt->queryId, false); + break; + } + } + cmdtagname = GetCommandTagNameAndLen(portal->commandTag, &cmdtaglen); set_ps_display_with_len(cmdtagname, cmdtaglen); @@ -3247,6 +3277,7 @@ ProcessInterrupts(void) return; InterruptPending = false; +retry: if (ProcDiePending) { ProcDiePending = false; @@ -3469,6 +3500,13 @@ ProcessInterrupts(void) if (ParallelApplyMessagePending) HandleParallelApplyMessages(); + + /* Call registered callback if any */ + if (ProcessInterruptsCallback) + { + if (ProcessInterruptsCallback()) + goto retry; + } } /* @@ -3667,6 +3705,66 @@ assign_transaction_timeout(int newval, void *extra) } } +/* + * GUC check_hook for restrict_nonsystem_relation_kind + */ +bool +check_restrict_nonsystem_relation_kind(char **newval, void **extra, GucSource source) +{ + char *rawstring; + List *elemlist; + ListCell *l; + int flags = 0; + + /* Need a modifiable copy of string */ + rawstring = pstrdup(*newval); + + if (!SplitIdentifierString(rawstring, ',', &elemlist)) + { + /* syntax error in list */ + GUC_check_errdetail("List syntax is invalid."); + pfree(rawstring); + list_free(elemlist); + return false; + } + + foreach(l, elemlist) + { + char *tok = (char *) lfirst(l); + + if (pg_strcasecmp(tok, "view") == 0) + flags |= RESTRICT_RELKIND_VIEW; + else if (pg_strcasecmp(tok, "foreign-table") == 0) + flags |= RESTRICT_RELKIND_FOREIGN_TABLE; + else + { + GUC_check_errdetail("Unrecognized key word: \"%s\".", tok); + pfree(rawstring); + list_free(elemlist); + return false; + } + } + + pfree(rawstring); + list_free(elemlist); + + /* Save the flags in *extra, for use by the assign function */ + *extra = guc_malloc(ERROR, sizeof(int)); + *((int *) *extra) = flags; + + return true; +} + +/* + * GUC assign_hook for restrict_nonsystem_relation_kind + */ +void +assign_restrict_nonsystem_relation_kind(const char *newval, void *extra) +{ + int *flags = (int *) extra; + + restrict_nonsystem_relation_kind = *flags; +} /* * set_debug_options --- apply "-d N" command line option diff --git a/src/backend/utils/activity/pgstat.c b/src/backend/utils/activity/pgstat.c index dcc2ad8d954..87d22a1e19e 100644 --- a/src/backend/utils/activity/pgstat.c +++ b/src/backend/utils/activity/pgstat.c @@ -822,6 +822,9 @@ pgstat_fetch_entry(PgStat_Kind kind, Oid dboid, Oid objoid) pgstat_prep_snapshot(); + /* clear padding */ + memset(&key, 0, sizeof(struct PgStat_HashKey)); + key.kind = kind; key.dboid = dboid; key.objoid = objoid; diff --git a/src/backend/utils/activity/pgstat_shmem.c b/src/backend/utils/activity/pgstat_shmem.c index 634b9678206..67f56e1dde6 100644 --- a/src/backend/utils/activity/pgstat_shmem.c +++ b/src/backend/utils/activity/pgstat_shmem.c @@ -278,6 +278,11 @@ pgstat_init_entry(PgStat_Kind kind, * further if a longer lived reference is needed. */ pg_atomic_init_u32(&shhashent->refcount, 1); + + /* + * Initialize "generation" to 0, as freshly created. + */ + pg_atomic_init_u32(&shhashent->generation, 0); shhashent->dropped = false; chunk = dsa_allocate0(pgStatLocal.dsa, pgstat_get_kind_info(kind)->shared_size); @@ -301,6 +306,12 @@ pgstat_reinit_entry(PgStat_Kind kind, PgStatShared_HashEntry *shhashent) /* mark as not dropped anymore */ pg_atomic_fetch_add_u32(&shhashent->refcount, 1); + + /* + * Increment "generation", to let any backend with local references know + * that what they point to is outdated. + */ + pg_atomic_fetch_add_u32(&shhashent->generation, 1); shhashent->dropped = false; /* reinitialize content */ @@ -341,6 +352,7 @@ pgstat_acquire_entry_ref(PgStat_EntryRef *entry_ref, entry_ref->shared_stats = shheader; entry_ref->shared_entry = shhashent; + entry_ref->generation = pg_atomic_read_u32(&shhashent->generation); } /* @@ -406,11 +418,18 @@ PgStat_EntryRef * pgstat_get_entry_ref(PgStat_Kind kind, Oid dboid, Oid objoid, bool create, bool *created_entry) { - PgStat_HashKey key = {.kind = kind,.dboid = dboid,.objoid = objoid}; + PgStat_HashKey key; PgStatShared_HashEntry *shhashent; PgStatShared_Common *shheader = NULL; PgStat_EntryRef *entry_ref; + /* clear padding */ + memset(&key, 0, sizeof(struct PgStat_HashKey)); + + key.kind = kind; + key.dboid = dboid; + key.objoid = objoid; + /* * passing in created_entry only makes sense if we possibly could create * entry. @@ -499,7 +518,8 @@ pgstat_get_entry_ref(PgStat_Kind kind, Oid dboid, Oid objoid, bool create, * case are replication slot stats, where a new slot can be * created with the same index just after dropping. But oid * wraparound can lead to other cases as well. We just reset the - * stats to their plain state. + * stats to their plain state, while incrementing its "generation" + * in the shared entry for any remaining local references. */ shheader = pgstat_reinit_entry(kind, shhashent); pgstat_acquire_entry_ref(entry_ref, shhashent, shheader); @@ -566,10 +586,27 @@ pgstat_release_entry_ref(PgStat_HashKey key, PgStat_EntryRef *entry_ref, if (!shent) elog(ERROR, "could not find just referenced shared stats entry"); - Assert(pg_atomic_read_u32(&entry_ref->shared_entry->refcount) == 0); - Assert(entry_ref->shared_entry == shent); - - pgstat_free_entry(shent, NULL); + /* + * This entry may have been reinitialized while trying to release + * it, so double-check that it has not been reused while holding a + * lock on its shared entry. + */ + if (pg_atomic_read_u32(&entry_ref->shared_entry->generation) == + entry_ref->generation) + { + /* Same "generation", so we're OK with the removal */ + Assert(pg_atomic_read_u32(&entry_ref->shared_entry->refcount) == 0); + Assert(entry_ref->shared_entry == shent); + pgstat_free_entry(shent, NULL); + } + else + { + /* + * Shared stats entry has been reinitialized, so do not drop + * its shared entry, only release its lock. + */ + dshash_release_lock(pgStatLocal.shared_hash, shent); + } } } @@ -881,10 +918,17 @@ pgstat_drop_database_and_contents(Oid dboid) bool pgstat_drop_entry(PgStat_Kind kind, Oid dboid, Oid objoid) { - PgStat_HashKey key = {.kind = kind,.dboid = dboid,.objoid = objoid}; + PgStat_HashKey key; PgStatShared_HashEntry *shent; bool freed = true; + /* clear padding */ + memset(&key, 0, sizeof(struct PgStat_HashKey)); + + key.kind = kind; + key.dboid = dboid; + key.objoid = objoid; + /* delete local reference */ if (pgStatEntryRefHash) { diff --git a/src/backend/utils/activity/wait_event_names.txt b/src/backend/utils/activity/wait_event_names.txt index db37beeaae6..d22c55d265c 100644 --- a/src/backend/utils/activity/wait_event_names.txt +++ b/src/backend/utils/activity/wait_event_names.txt @@ -142,7 +142,7 @@ MULTIXACT_CREATION "Waiting for a multixact creation to complete." PARALLEL_BITMAP_SCAN "Waiting for parallel bitmap scan to become initialized." PARALLEL_CREATE_INDEX_SCAN "Waiting for parallel CREATE INDEX workers to finish heap scan." PARALLEL_FINISH "Waiting for parallel workers to finish computing." -PROCARRAY_GROUP_UPDATE "Waiting for the group leader to clear the transaction ID at end of a parallel operation." +PROCARRAY_GROUP_UPDATE "Waiting for the group leader to clear the transaction ID at transaction end." PROC_SIGNAL_BARRIER "Waiting for a barrier event to be processed by all backends." PROMOTE "Waiting for standby promotion." RECOVERY_CONFLICT_SNAPSHOT "Waiting for recovery conflict resolution for a vacuum cleanup." @@ -157,7 +157,7 @@ SYNC_REP "Waiting for confirmation from a remote server during synchronous repli WAL_RECEIVER_EXIT "Waiting for the WAL receiver to exit." WAL_RECEIVER_WAIT_START "Waiting for startup process to send initial data for streaming replication." WAL_SUMMARY_READY "Waiting for a new WAL summary to be generated." -XACT_GROUP_UPDATE "Waiting for the group leader to update transaction status at end of a parallel operation." +XACT_GROUP_UPDATE "Waiting for the group leader to update transaction status at transaction end." ABI_compatibility: @@ -179,6 +179,7 @@ SPIN_DELAY "Waiting while acquiring a contended spinlock." VACUUM_DELAY "Waiting in a cost-based vacuum delay point." VACUUM_TRUNCATE "Waiting to acquire an exclusive lock to truncate off any empty pages at the end of a table vacuumed." WAL_SUMMARIZER_ERROR "Waiting after a WAL summarizer error." +BACK_PRESSURE "Waiting to relieve backpressure." ABI_compatibility: @@ -345,6 +346,7 @@ WALSummarizer "Waiting to read or update WAL summarization state." DSMRegistry "Waiting to read or update the dynamic shared memory registry." InjectionPoint "Waiting to read or update information related to injection points." SerialControl "Waiting to read or update shared pg_serial state." +LastWrittenLsn "Waiting to read or update information related to written recent changes." # # END OF PREDEFINED LWLOCKS (DO NOT CHANGE THIS LINE) diff --git a/src/backend/utils/adt/dbsize.c b/src/backend/utils/adt/dbsize.c index b2d9cc27929..0412867021a 100644 --- a/src/backend/utils/adt/dbsize.c +++ b/src/backend/utils/adt/dbsize.c @@ -23,6 +23,7 @@ #include "commands/tablespace.h" #include "miscadmin.h" #include "storage/fd.h" +#include "storage/smgr.h" #include "utils/acl.h" #include "utils/builtins.h" #include "utils/numeric.h" @@ -111,6 +112,8 @@ db_dir_size(const char *path) return dirsize; } +dbsize_hook_type dbsize_hook = NULL; + /* * calculate size of database in all tablespaces */ @@ -140,6 +143,13 @@ calculate_database_size(Oid dbOid) /* Include pg_default storage */ snprintf(pathname, sizeof(pathname), "base/%u", dbOid); + + if (dbsize_hook) + { + totalsize = (*dbsize_hook)(dbOid); + return totalsize; + } + totalsize = db_dir_size(pathname); /* Scan the non-default tablespaces */ @@ -305,41 +315,30 @@ pg_tablespace_size_name(PG_FUNCTION_ARGS) * is no check here or at the call sites for that. */ static int64 -calculate_relation_size(RelFileLocator *rfn, ProcNumber backend, ForkNumber forknum) +calculate_relation_size(RelFileLocator *rfn, ProcNumber backend, + ForkNumber forknum, char relpersistence) { - int64 totalsize = 0; - char *relationpath; - char pathname[MAXPGPATH]; - unsigned int segcount = 0; - - relationpath = relpathbackend(*rfn, backend, forknum); + SMgrRelation srel; + RelFileLocator rfl = *rfn; + RelFileLocator zero = {0, 0, 0}; - for (segcount = 0;; segcount++) - { - struct stat fst; + /* + * We can get asked the size of a relation without storage, in which case + * we get passed a zero RFL. + * Return 0 for those relations. + */ + if (RelFileLocatorEquals(rfl, zero)) + return 0; - CHECK_FOR_INTERRUPTS(); + srel = smgropen(*rfn, backend, relpersistence); - if (segcount == 0) - snprintf(pathname, MAXPGPATH, "%s", - relationpath); - else - snprintf(pathname, MAXPGPATH, "%s.%u", - relationpath, segcount); - - if (stat(pathname, &fst) < 0) - { - if (errno == ENOENT) - break; - else - ereport(ERROR, - (errcode_for_file_access(), - errmsg("could not stat file \"%s\": %m", pathname))); - } - totalsize += fst.st_size; + if (smgrexists(srel, forknum)) + { + BlockNumber n = smgrnblocks(srel, forknum); + return (int64) n * BLCKSZ; } - return totalsize; + return 0; } Datum @@ -363,7 +362,8 @@ pg_relation_size(PG_FUNCTION_ARGS) PG_RETURN_NULL(); size = calculate_relation_size(&(rel->rd_locator), rel->rd_backend, - forkname_to_number(text_to_cstring(forkName))); + forkname_to_number(text_to_cstring(forkName)), + rel->rd_rel->relpersistence); relation_close(rel, AccessShareLock); @@ -388,7 +388,8 @@ calculate_toast_table_size(Oid toastrelid) /* toast heap size, including FSM and VM size */ for (forkNum = 0; forkNum <= MAX_FORKNUM; forkNum++) size += calculate_relation_size(&(toastRel->rd_locator), - toastRel->rd_backend, forkNum); + toastRel->rd_backend, forkNum, + toastRel->rd_rel->relpersistence); /* toast index size, including FSM and VM size */ indexlist = RelationGetIndexList(toastRel); @@ -402,7 +403,8 @@ calculate_toast_table_size(Oid toastrelid) AccessShareLock); for (forkNum = 0; forkNum <= MAX_FORKNUM; forkNum++) size += calculate_relation_size(&(toastIdxRel->rd_locator), - toastIdxRel->rd_backend, forkNum); + toastIdxRel->rd_backend, forkNum, + toastIdxRel->rd_rel->relpersistence); relation_close(toastIdxRel, AccessShareLock); } @@ -431,7 +433,7 @@ calculate_table_size(Relation rel) */ for (forkNum = 0; forkNum <= MAX_FORKNUM; forkNum++) size += calculate_relation_size(&(rel->rd_locator), rel->rd_backend, - forkNum); + forkNum, rel->rd_rel->relpersistence); /* * Size of toast relation @@ -471,7 +473,8 @@ calculate_indexes_size(Relation rel) for (forkNum = 0; forkNum <= MAX_FORKNUM; forkNum++) size += calculate_relation_size(&(idxRel->rd_locator), idxRel->rd_backend, - forkNum); + forkNum, + idxRel->rd_rel->relpersistence); relation_close(idxRel, AccessShareLock); } diff --git a/src/backend/utils/adt/json.c b/src/backend/utils/adt/json.c index d719a61f16b..30ea4c49127 100644 --- a/src/backend/utils/adt/json.c +++ b/src/backend/utils/adt/json.c @@ -1102,7 +1102,14 @@ json_object_agg_transfn_worker(FunctionCallInfo fcinfo, if (unique_keys) { - const char *key = &out->data[key_offset]; + /* + * Copy the key first, instead of pointing into the buffer. It will be + * added to the hash table, but the buffer may get reallocated as + * we're appending more data to it. That would invalidate pointers to + * keys in the current buffer. + */ + const char *key = MemoryContextStrdup(aggcontext, + &out->data[key_offset]); if (!json_unique_check_key(&state->unique_check.check, key, 0)) ereport(ERROR, @@ -1265,8 +1272,15 @@ json_build_object_worker(int nargs, const Datum *args, const bool *nulls, const if (unique_keys) { - /* check key uniqueness after key appending */ - const char *key = &out->data[key_offset]; + /* + * check key uniqueness after key appending + * + * Copy the key first, instead of pointing into the buffer. It + * will be added to the hash table, but the buffer may get + * reallocated as we're appending more data to it. That would + * invalidate pointers to keys in the current buffer. + */ + const char *key = pstrdup(&out->data[key_offset]); if (!json_unique_check_key(&unique_check.check, key, 0)) ereport(ERROR, diff --git a/src/backend/utils/adt/jsonpath_exec.c b/src/backend/utils/adt/jsonpath_exec.c index c47221b7ee7..1184cba983a 100644 --- a/src/backend/utils/adt/jsonpath_exec.c +++ b/src/backend/utils/adt/jsonpath_exec.c @@ -72,6 +72,7 @@ #include "utils/datetime.h" #include "utils/float.h" #include "utils/formatting.h" +#include "utils/json.h" #include "utils/jsonpath.h" #include "utils/lsyscache.h" #include "utils/memutils.h" @@ -1382,7 +1383,7 @@ executeItemOptUnwrapTarget(JsonPathExecContext *cxt, JsonPathItem *jsp, if (res == jperNotFound) RETURN_ERROR(ereport(ERROR, (errcode(ERRCODE_NON_NUMERIC_SQL_JSON_ITEM), - errmsg("jsonpath item method .%s() can only be applied to a bool, string, or numeric value", + errmsg("jsonpath item method .%s() can only be applied to a boolean, string, or numeric value", jspOperationName(jsp->type))))); jb = &jbv; @@ -1629,32 +1630,13 @@ executeItemOptUnwrapTarget(JsonPathExecContext *cxt, JsonPathItem *jsp, break; case jbvDatetime: { - switch (jb->val.datetime.typid) - { - case DATEOID: - tmp = DatumGetCString(DirectFunctionCall1(date_out, - jb->val.datetime.value)); - break; - case TIMEOID: - tmp = DatumGetCString(DirectFunctionCall1(time_out, - jb->val.datetime.value)); - break; - case TIMETZOID: - tmp = DatumGetCString(DirectFunctionCall1(timetz_out, - jb->val.datetime.value)); - break; - case TIMESTAMPOID: - tmp = DatumGetCString(DirectFunctionCall1(timestamp_out, - jb->val.datetime.value)); - break; - case TIMESTAMPTZOID: - tmp = DatumGetCString(DirectFunctionCall1(timestamptz_out, - jb->val.datetime.value)); - break; - default: - elog(ERROR, "unrecognized SQL/JSON datetime type oid: %u", - jb->val.datetime.typid); - } + char buf[MAXDATELEN + 1]; + + JsonEncodeDateTime(buf, + jb->val.datetime.value, + jb->val.datetime.typid, + &jb->val.datetime.tz); + tmp = pstrdup(buf); } break; case jbvNull: @@ -1663,7 +1645,7 @@ executeItemOptUnwrapTarget(JsonPathExecContext *cxt, JsonPathItem *jsp, case jbvBinary: RETURN_ERROR(ereport(ERROR, (errcode(ERRCODE_NON_NUMERIC_SQL_JSON_ITEM), - errmsg("jsonpath item method .%s() can only be applied to a bool, string, numeric, or datetime value", + errmsg("jsonpath item method .%s() can only be applied to a boolean, string, numeric, or datetime value", jspOperationName(jsp->type))))); break; } @@ -3947,7 +3929,24 @@ JsonPathQuery(Datum jb, JsonPath *jp, JsonWrapper wrapper, bool *empty, return (Datum) 0; } - /* WRAP or not? */ + /* + * Determine whether to wrap the result in a JSON array or not. + * + * First, count the number of SQL/JSON items in the returned + * JsonValueList. If the list is empty (singleton == NULL), no wrapping is + * necessary. + * + * If the wrapper mode is JSW_NONE or JSW_UNSPEC, wrapping is explicitly + * disabled. This enforces a WITHOUT WRAPPER clause, which is also the + * default when no WRAPPER clause is specified. + * + * If the mode is JSW_UNCONDITIONAL, wrapping is enforced regardless of + * the number of SQL/JSON items, enforcing a WITH WRAPPER or WITH + * UNCONDITIONAL WRAPPER clause. + * + * For JSW_CONDITIONAL, wrapping occurs only if there is more than one + * SQL/JSON item in the list, enforcing a WITH CONDITIONAL WRAPPER clause. + */ count = JsonValueListLength(&found); singleton = count > 0 ? JsonValueListHead(&found) : NULL; if (singleton == NULL) @@ -3957,10 +3956,7 @@ JsonPathQuery(Datum jb, JsonPath *jp, JsonWrapper wrapper, bool *empty, else if (wrapper == JSW_UNCONDITIONAL) wrap = true; else if (wrapper == JSW_CONDITIONAL) - wrap = count > 1 || - IsAJsonbScalar(singleton) || - (singleton->type == jbvBinary && - JsonContainerIsScalar(singleton->val.binary.data)); + wrap = count > 1; else { elog(ERROR, "unrecognized json wrapper %d", (int) wrapper); @@ -3984,12 +3980,12 @@ JsonPathQuery(Datum jb, JsonPath *jp, JsonWrapper wrapper, bool *empty, (errcode(ERRCODE_MORE_THAN_ONE_SQL_JSON_ITEM), errmsg("JSON path expression for column \"%s\" should return single item without wrapper", column_name), - errhint("Use WITH WRAPPER clause to wrap SQL/JSON items into array."))); + errhint("Use the WITH WRAPPER clause to wrap SQL/JSON items into an array."))); else ereport(ERROR, (errcode(ERRCODE_MORE_THAN_ONE_SQL_JSON_ITEM), errmsg("JSON path expression in JSON_QUERY should return single item without wrapper"), - errhint("Use WITH WRAPPER clause to wrap SQL/JSON items into array."))); + errhint("Use the WITH WRAPPER clause to wrap SQL/JSON items into an array."))); } if (singleton) diff --git a/src/backend/utils/adt/like_support.c b/src/backend/utils/adt/like_support.c index 2635050861f..6cd21ba8fed 100644 --- a/src/backend/utils/adt/like_support.c +++ b/src/backend/utils/adt/like_support.c @@ -1505,7 +1505,7 @@ pattern_char_isalpha(char c, bool is_multibyte, return (c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z'); else if (is_multibyte && IS_HIGHBIT_SET(c)) return true; - else if (locale && locale->provider == COLLPROVIDER_ICU) + else if (locale && locale->provider != COLLPROVIDER_LIBC) return IS_HIGHBIT_SET(c) || (c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z'); else if (locale && locale->provider == COLLPROVIDER_LIBC) diff --git a/src/backend/utils/adt/pg_locale.c b/src/backend/utils/adt/pg_locale.c index 8d0ea4d31dd..4c85a01b284 100644 --- a/src/backend/utils/adt/pg_locale.c +++ b/src/backend/utils/adt/pg_locale.c @@ -56,6 +56,7 @@ #include "access/htup_details.h" #include "catalog/pg_collation.h" +#include "common/string.h" #include "mb/pg_wchar.h" #include "miscadmin.h" #include "utils/builtins.h" @@ -317,6 +318,16 @@ check_locale(int category, const char *locale, char **canonname) char *save; char *res; + /* Don't let Windows' non-ASCII locale names in. */ + if (!pg_is_ascii(locale)) + { + ereport(WARNING, + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("locale name \"%s\" contains non-ASCII characters", + locale))); + return false; + } + if (canonname) *canonname = NULL; /* in case of failure */ @@ -339,6 +350,18 @@ check_locale(int category, const char *locale, char **canonname) elog(WARNING, "failed to restore old locale \"%s\"", save); pfree(save); + /* Don't let Windows' non-ASCII locale names out. */ + if (canonname && *canonname && !pg_is_ascii(*canonname)) + { + ereport(WARNING, + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), + errmsg("locale name \"%s\" contains non-ASCII characters", + *canonname))); + pfree(*canonname); + *canonname = NULL; + return false; + } + return (res != NULL); } @@ -1347,9 +1370,9 @@ lc_collate_is_c(Oid collation) } else if (default_locale.provider == COLLPROVIDER_LIBC) { - localeptr = setlocale(LC_CTYPE, NULL); + localeptr = setlocale(LC_COLLATE, NULL); if (!localeptr) - elog(ERROR, "invalid LC_CTYPE setting"); + elog(ERROR, "invalid LC_COLLATE setting"); } else elog(ERROR, "unexpected collation provider '%c'", @@ -1779,7 +1802,7 @@ get_collation_actual_version(char collprovider, const char *collcollate) locale_t loc; /* Look up FreeBSD collation version. */ - loc = newlocale(LC_COLLATE, collcollate, NULL); + loc = newlocale(LC_COLLATE_MASK, collcollate, NULL); if (loc) { collversion = diff --git a/src/backend/utils/adt/pgstatfuncs.c b/src/backend/utils/adt/pgstatfuncs.c index 3876339ee1b..2575dba87b9 100644 --- a/src/backend/utils/adt/pgstatfuncs.c +++ b/src/backend/utils/adt/pgstatfuncs.c @@ -1408,7 +1408,7 @@ pg_stat_get_io(PG_FUNCTION_ARGS) values[IO_COL_BACKEND_TYPE] = bktype_desc; values[IO_COL_CONTEXT] = CStringGetTextDatum(context_name); values[IO_COL_OBJECT] = CStringGetTextDatum(obj_name); - values[IO_COL_RESET_TIME] = TimestampTzGetDatum(reset_time); + values[IO_COL_RESET_TIME] = reset_time; /* * Hard-code this to the value of BLCKSZ for now. Future diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c index 653685bffc5..cd9c3eddd1d 100644 --- a/src/backend/utils/adt/ruleutils.c +++ b/src/backend/utils/adt/ruleutils.c @@ -50,7 +50,6 @@ #include "optimizer/optimizer.h" #include "parser/parse_agg.h" #include "parser/parse_func.h" -#include "parser/parse_node.h" #include "parser/parse_oper.h" #include "parser/parse_relation.h" #include "parser/parser.h" @@ -114,14 +113,16 @@ typedef struct { StringInfo buf; /* output buffer to append to */ List *namespaces; /* List of deparse_namespace nodes */ + TupleDesc resultDesc; /* if top level of a view, the view's tupdesc */ + List *targetList; /* Current query level's SELECT targetlist */ List *windowClause; /* Current query level's WINDOW clause */ - List *windowTList; /* targetlist for resolving WINDOW clause */ int prettyFlags; /* enabling of pretty-print functions */ int wrapColumn; /* max line length, or -1 for no limit */ int indentLevel; /* current indent level for pretty-print */ bool varprefix; /* true to print prefixes on Vars */ - ParseExprKind special_exprkind; /* set only for exprkinds needing special - * handling */ + bool colNamesVisible; /* do we care about output column names? */ + bool inGroupBy; /* deparsing GROUP BY clause? */ + bool varInOrderBy; /* deparsing simple Var in ORDER BY? */ Bitmapset *appendparents; /* if not null, map child Vars of these relids * back to the parent rel */ } deparse_context; @@ -398,27 +399,19 @@ static void get_query_def(Query *query, StringInfo buf, List *parentnamespace, int prettyFlags, int wrapColumn, int startIndent); static void get_values_def(List *values_lists, deparse_context *context); static void get_with_clause(Query *query, deparse_context *context); -static void get_select_query_def(Query *query, deparse_context *context, - TupleDesc resultDesc, bool colNamesVisible); -static void get_insert_query_def(Query *query, deparse_context *context, - bool colNamesVisible); -static void get_update_query_def(Query *query, deparse_context *context, - bool colNamesVisible); +static void get_select_query_def(Query *query, deparse_context *context); +static void get_insert_query_def(Query *query, deparse_context *context); +static void get_update_query_def(Query *query, deparse_context *context); static void get_update_query_targetlist_def(Query *query, List *targetList, deparse_context *context, RangeTblEntry *rte); -static void get_delete_query_def(Query *query, deparse_context *context, - bool colNamesVisible); -static void get_merge_query_def(Query *query, deparse_context *context, - bool colNamesVisible); +static void get_delete_query_def(Query *query, deparse_context *context); +static void get_merge_query_def(Query *query, deparse_context *context); static void get_utility_query_def(Query *query, deparse_context *context); -static void get_basic_select_query(Query *query, deparse_context *context, - TupleDesc resultDesc, bool colNamesVisible); -static void get_target_list(List *targetList, deparse_context *context, - TupleDesc resultDesc, bool colNamesVisible); +static void get_basic_select_query(Query *query, deparse_context *context); +static void get_target_list(List *targetList, deparse_context *context); static void get_setop_query(Node *setOp, Query *query, - deparse_context *context, - TupleDesc resultDesc, bool colNamesVisible); + deparse_context *context); static Node *get_rule_sortgroupclause(Index ref, List *tlist, bool force_colno, deparse_context *context); @@ -515,7 +508,7 @@ static char *generate_qualified_relation_name(Oid relid); static char *generate_function_name(Oid funcid, int nargs, List *argnames, Oid *argtypes, bool has_variadic, bool *use_variadic_p, - ParseExprKind special_exprkind); + bool inGroupBy); static char *generate_operator_name(Oid operid, Oid arg1, Oid arg2); static void add_cast_to(StringInfo buf, Oid typid); static char *generate_qualified_type_name(Oid typid); @@ -1094,13 +1087,16 @@ pg_get_triggerdef_worker(Oid trigid, bool pretty) /* Set up context with one-deep namespace stack */ context.buf = &buf; context.namespaces = list_make1(&dpns); + context.resultDesc = NULL; + context.targetList = NIL; context.windowClause = NIL; - context.windowTList = NIL; context.varprefix = true; context.prettyFlags = GET_PRETTY_FLAGS(pretty); context.wrapColumn = WRAP_COLUMN_DEFAULT; context.indentLevel = PRETTYINDENT_STD; - context.special_exprkind = EXPR_KIND_NONE; + context.colNamesVisible = true; + context.inGroupBy = false; + context.varInOrderBy = false; context.appendparents = NULL; get_rule_expr(qual, &context, false); @@ -1111,7 +1107,7 @@ pg_get_triggerdef_worker(Oid trigid, bool pretty) appendStringInfo(&buf, "EXECUTE FUNCTION %s(", generate_function_name(trigrec->tgfoid, 0, NIL, NULL, - false, NULL, EXPR_KIND_NONE)); + false, NULL, false)); if (trigrec->tgnargs > 0) { @@ -2992,7 +2988,7 @@ pg_get_functiondef(PG_FUNCTION_ARGS) appendStringInfo(&buf, " SUPPORT %s", generate_function_name(proc->prosupport, 1, NIL, argtypes, - false, NULL, EXPR_KIND_NONE)); + false, NULL, false)); } if (oldlen != buf.len) @@ -3632,13 +3628,16 @@ deparse_expression_pretty(Node *expr, List *dpcontext, initStringInfo(&buf); context.buf = &buf; context.namespaces = dpcontext; + context.resultDesc = NULL; + context.targetList = NIL; context.windowClause = NIL; - context.windowTList = NIL; context.varprefix = forceprefix; context.prettyFlags = prettyFlags; context.wrapColumn = WRAP_COLUMN_DEFAULT; context.indentLevel = startIndent; - context.special_exprkind = EXPR_KIND_NONE; + context.colNamesVisible = true; + context.inGroupBy = false; + context.varInOrderBy = false; context.appendparents = NULL; get_rule_expr(expr, &context, showimplicit); @@ -5283,13 +5282,16 @@ make_ruledef(StringInfo buf, HeapTuple ruletup, TupleDesc rulettc, context.buf = buf; context.namespaces = list_make1(&dpns); + context.resultDesc = NULL; + context.targetList = NIL; context.windowClause = NIL; - context.windowTList = NIL; context.varprefix = (list_length(query->rtable) != 1); context.prettyFlags = prettyFlags; context.wrapColumn = WRAP_COLUMN_DEFAULT; context.indentLevel = PRETTYINDENT_STD; - context.special_exprkind = EXPR_KIND_NONE; + context.colNamesVisible = true; + context.inGroupBy = false; + context.varInOrderBy = false; context.appendparents = NULL; set_deparse_for_query(&dpns, query, NIL); @@ -5451,14 +5453,17 @@ get_query_def(Query *query, StringInfo buf, List *parentnamespace, context.buf = buf; context.namespaces = lcons(&dpns, list_copy(parentnamespace)); + context.resultDesc = NULL; + context.targetList = NIL; context.windowClause = NIL; - context.windowTList = NIL; context.varprefix = (parentnamespace != NIL || list_length(query->rtable) != 1); context.prettyFlags = prettyFlags; context.wrapColumn = wrapColumn; context.indentLevel = startIndent; - context.special_exprkind = EXPR_KIND_NONE; + context.colNamesVisible = colNamesVisible; + context.inGroupBy = false; + context.varInOrderBy = false; context.appendparents = NULL; set_deparse_for_query(&dpns, query, parentnamespace); @@ -5466,23 +5471,25 @@ get_query_def(Query *query, StringInfo buf, List *parentnamespace, switch (query->commandType) { case CMD_SELECT: - get_select_query_def(query, &context, resultDesc, colNamesVisible); + /* We set context.resultDesc only if it's a SELECT */ + context.resultDesc = resultDesc; + get_select_query_def(query, &context); break; case CMD_UPDATE: - get_update_query_def(query, &context, colNamesVisible); + get_update_query_def(query, &context); break; case CMD_INSERT: - get_insert_query_def(query, &context, colNamesVisible); + get_insert_query_def(query, &context); break; case CMD_DELETE: - get_delete_query_def(query, &context, colNamesVisible); + get_delete_query_def(query, &context); break; case CMD_MERGE: - get_merge_query_def(query, &context, colNamesVisible); + get_merge_query_def(query, &context); break; case CMD_NOTHING: @@ -5687,23 +5694,18 @@ get_with_clause(Query *query, deparse_context *context) * ---------- */ static void -get_select_query_def(Query *query, deparse_context *context, - TupleDesc resultDesc, bool colNamesVisible) +get_select_query_def(Query *query, deparse_context *context) { StringInfo buf = context->buf; - List *save_windowclause; - List *save_windowtlist; bool force_colno; ListCell *l; /* Insert the WITH clause if given */ get_with_clause(query, context); - /* Set up context for possible window functions */ - save_windowclause = context->windowClause; + /* Subroutines may need to consult the SELECT targetlist and windowClause */ + context->targetList = query->targetList; context->windowClause = query->windowClause; - save_windowtlist = context->windowTList; - context->windowTList = query->targetList; /* * If the Query node has a setOperations tree, then it's the top level of @@ -5712,14 +5714,13 @@ get_select_query_def(Query *query, deparse_context *context, */ if (query->setOperations) { - get_setop_query(query->setOperations, query, context, resultDesc, - colNamesVisible); + get_setop_query(query->setOperations, query, context); /* ORDER BY clauses must be simple in this case */ force_colno = true; } else { - get_basic_select_query(query, context, resultDesc, colNamesVisible); + get_basic_select_query(query, context); force_colno = false; } @@ -5808,9 +5809,6 @@ get_select_query_def(Query *query, deparse_context *context, appendStringInfoString(buf, " SKIP LOCKED"); } } - - context->windowClause = save_windowclause; - context->windowTList = save_windowtlist; } /* @@ -5888,8 +5886,7 @@ get_simple_values_rte(Query *query, TupleDesc resultDesc) } static void -get_basic_select_query(Query *query, deparse_context *context, - TupleDesc resultDesc, bool colNamesVisible) +get_basic_select_query(Query *query, deparse_context *context) { StringInfo buf = context->buf; RangeTblEntry *values_rte; @@ -5907,7 +5904,7 @@ get_basic_select_query(Query *query, deparse_context *context, * VALUES part. This reverses what transformValuesClause() did at parse * time. */ - values_rte = get_simple_values_rte(query, resultDesc); + values_rte = get_simple_values_rte(query, context->resultDesc); if (values_rte) { get_values_def(values_rte->values_lists, context); @@ -5945,7 +5942,7 @@ get_basic_select_query(Query *query, deparse_context *context, } /* Then we tell what to select (the targetlist) */ - get_target_list(query->targetList, context, resultDesc, colNamesVisible); + get_target_list(query->targetList, context); /* Add the FROM clause if needed */ get_from_clause(query, " FROM ", context); @@ -5961,15 +5958,15 @@ get_basic_select_query(Query *query, deparse_context *context, /* Add the GROUP BY clause if given */ if (query->groupClause != NULL || query->groupingSets != NULL) { - ParseExprKind save_exprkind; + bool save_ingroupby; appendContextKeyword(context, " GROUP BY ", -PRETTYINDENT_STD, PRETTYINDENT_STD, 1); if (query->groupDistinct) appendStringInfoString(buf, "DISTINCT "); - save_exprkind = context->special_exprkind; - context->special_exprkind = EXPR_KIND_GROUP_BY; + save_ingroupby = context->inGroupBy; + context->inGroupBy = true; if (query->groupingSets == NIL) { @@ -5997,7 +5994,7 @@ get_basic_select_query(Query *query, deparse_context *context, } } - context->special_exprkind = save_exprkind; + context->inGroupBy = save_ingroupby; } /* Add the HAVING clause if given */ @@ -6017,13 +6014,10 @@ get_basic_select_query(Query *query, deparse_context *context, * get_target_list - Parse back a SELECT target list * * This is also used for RETURNING lists in INSERT/UPDATE/DELETE/MERGE. - * - * resultDesc and colNamesVisible are as for get_query_def() * ---------- */ static void -get_target_list(List *targetList, deparse_context *context, - TupleDesc resultDesc, bool colNamesVisible) +get_target_list(List *targetList, deparse_context *context) { StringInfo buf = context->buf; StringInfoData targetbuf; @@ -6080,7 +6074,7 @@ get_target_list(List *targetList, deparse_context *context, * assigned column name explicitly. Otherwise, show it only if * it's not FigureColname's fallback. */ - attname = colNamesVisible ? NULL : "?column?"; + attname = context->colNamesVisible ? NULL : "?column?"; } /* @@ -6089,8 +6083,9 @@ get_target_list(List *targetList, deparse_context *context, * effects of any column RENAME that's been done on the view). * Otherwise, just use what we can find in the TLE. */ - if (resultDesc && colno <= resultDesc->natts) - colname = NameStr(TupleDescAttr(resultDesc, colno - 1)->attname); + if (context->resultDesc && colno <= context->resultDesc->natts) + colname = NameStr(TupleDescAttr(context->resultDesc, + colno - 1)->attname); else colname = tle->resname; @@ -6158,8 +6153,7 @@ get_target_list(List *targetList, deparse_context *context, } static void -get_setop_query(Node *setOp, Query *query, deparse_context *context, - TupleDesc resultDesc, bool colNamesVisible) +get_setop_query(Node *setOp, Query *query, deparse_context *context) { StringInfo buf = context->buf; bool need_paren; @@ -6184,8 +6178,8 @@ get_setop_query(Node *setOp, Query *query, deparse_context *context, subquery->limitCount); if (need_paren) appendStringInfoChar(buf, '('); - get_query_def(subquery, buf, context->namespaces, resultDesc, - colNamesVisible, + get_query_def(subquery, buf, context->namespaces, + context->resultDesc, context->colNamesVisible, context->prettyFlags, context->wrapColumn, context->indentLevel); if (need_paren) @@ -6195,6 +6189,7 @@ get_setop_query(Node *setOp, Query *query, deparse_context *context, { SetOperationStmt *op = (SetOperationStmt *) setOp; int subindent; + bool save_colnamesvisible; /* * We force parens when nesting two SetOperationStmts, except when the @@ -6228,7 +6223,7 @@ get_setop_query(Node *setOp, Query *query, deparse_context *context, else subindent = 0; - get_setop_query(op->larg, query, context, resultDesc, colNamesVisible); + get_setop_query(op->larg, query, context); if (need_paren) appendContextKeyword(context, ") ", -subindent, 0, 0); @@ -6272,7 +6267,15 @@ get_setop_query(Node *setOp, Query *query, deparse_context *context, subindent = 0; appendContextKeyword(context, "", subindent, 0, 0); - get_setop_query(op->rarg, query, context, resultDesc, false); + /* + * The output column names of the RHS sub-select don't matter. + */ + save_colnamesvisible = context->colNamesVisible; + context->colNamesVisible = false; + + get_setop_query(op->rarg, query, context); + + context->colNamesVisible = save_colnamesvisible; if (PRETTY_INDENT(context)) context->indentLevel -= subindent; @@ -6306,20 +6309,32 @@ get_rule_sortgroupclause(Index ref, List *tlist, bool force_colno, * Use column-number form if requested by caller. Otherwise, if * expression is a constant, force it to be dumped with an explicit cast * as decoration --- this is because a simple integer constant is - * ambiguous (and will be misinterpreted by findTargetlistEntry()) if we - * dump it without any decoration. If it's anything more complex than a - * simple Var, then force extra parens around it, to ensure it can't be - * misinterpreted as a cube() or rollup() construct. + * ambiguous (and will be misinterpreted by findTargetlistEntrySQL92()) if + * we dump it without any decoration. Similarly, if it's just a Var, + * there is risk of misinterpretation if the column name is reassigned in + * the SELECT list, so we may need to force table qualification. And, if + * it's anything more complex than a simple Var, then force extra parens + * around it, to ensure it can't be misinterpreted as a cube() or rollup() + * construct. */ if (force_colno) { Assert(!tle->resjunk); appendStringInfo(buf, "%d", tle->resno); } - else if (expr && IsA(expr, Const)) + else if (!expr) + /* do nothing, probably can't happen */ ; + else if (IsA(expr, Const)) get_const_expr((Const *) expr, context, 1); - else if (!expr || IsA(expr, Var)) - get_rule_expr(expr, context, true); + else if (IsA(expr, Var)) + { + /* Tell get_variable to check for name conflict */ + bool save_varinorderby = context->varInOrderBy; + + context->varInOrderBy = true; + (void) get_variable((Var *) expr, 0, false, context); + context->varInOrderBy = save_varinorderby; + } else { /* @@ -6608,8 +6623,7 @@ get_rule_windowspec(WindowClause *wc, List *targetList, * ---------- */ static void -get_insert_query_def(Query *query, deparse_context *context, - bool colNamesVisible) +get_insert_query_def(Query *query, deparse_context *context) { StringInfo buf = context->buf; RangeTblEntry *select_rte = NULL; @@ -6815,7 +6829,7 @@ get_insert_query_def(Query *query, deparse_context *context, { appendContextKeyword(context, " RETURNING", -PRETTYINDENT_STD, PRETTYINDENT_STD, 1); - get_target_list(query->returningList, context, NULL, colNamesVisible); + get_target_list(query->returningList, context); } } @@ -6825,8 +6839,7 @@ get_insert_query_def(Query *query, deparse_context *context, * ---------- */ static void -get_update_query_def(Query *query, deparse_context *context, - bool colNamesVisible) +get_update_query_def(Query *query, deparse_context *context) { StringInfo buf = context->buf; RangeTblEntry *rte; @@ -6872,7 +6885,7 @@ get_update_query_def(Query *query, deparse_context *context, { appendContextKeyword(context, " RETURNING", -PRETTYINDENT_STD, PRETTYINDENT_STD, 1); - get_target_list(query->returningList, context, NULL, colNamesVisible); + get_target_list(query->returningList, context); } } @@ -7034,8 +7047,7 @@ get_update_query_targetlist_def(Query *query, List *targetList, * ---------- */ static void -get_delete_query_def(Query *query, deparse_context *context, - bool colNamesVisible) +get_delete_query_def(Query *query, deparse_context *context) { StringInfo buf = context->buf; RangeTblEntry *rte; @@ -7076,7 +7088,7 @@ get_delete_query_def(Query *query, deparse_context *context, { appendContextKeyword(context, " RETURNING", -PRETTYINDENT_STD, PRETTYINDENT_STD, 1); - get_target_list(query->returningList, context, NULL, colNamesVisible); + get_target_list(query->returningList, context); } } @@ -7086,8 +7098,7 @@ get_delete_query_def(Query *query, deparse_context *context, * ---------- */ static void -get_merge_query_def(Query *query, deparse_context *context, - bool colNamesVisible) +get_merge_query_def(Query *query, deparse_context *context) { StringInfo buf = context->buf; RangeTblEntry *rte; @@ -7240,7 +7251,7 @@ get_merge_query_def(Query *query, deparse_context *context, { appendContextKeyword(context, " RETURNING", -PRETTYINDENT_STD, PRETTYINDENT_STD, 1); - get_target_list(query->returningList, context, NULL, colNamesVisible); + get_target_list(query->returningList, context); } } @@ -7307,6 +7318,7 @@ get_variable(Var *var, int levelsup, bool istoplevel, deparse_context *context) deparse_columns *colinfo; char *refname; char *attname; + bool need_prefix; /* Find appropriate nesting depth */ netlevelsup = var->varlevelsup + levelsup; @@ -7502,7 +7514,45 @@ get_variable(Var *var, int levelsup, bool istoplevel, deparse_context *context) attname = get_rte_attribute_name(rte, attnum); } - if (refname && (context->varprefix || attname == NULL)) + need_prefix = (context->varprefix || attname == NULL); + + /* + * If we're considering a plain Var in an ORDER BY (but not GROUP BY) + * clause, we may need to add a table-name prefix to prevent + * findTargetlistEntrySQL92 from misinterpreting the name as an + * output-column name. To avoid cluttering the output with unnecessary + * prefixes, do so only if there is a name match to a SELECT tlist item + * that is different from the Var. + */ + if (context->varInOrderBy && !context->inGroupBy && !need_prefix) + { + int colno = 0; + + foreach_node(TargetEntry, tle, context->targetList) + { + char *colname; + + if (tle->resjunk) + continue; /* ignore junk entries */ + colno++; + + /* This must match colname-choosing logic in get_target_list() */ + if (context->resultDesc && colno <= context->resultDesc->natts) + colname = NameStr(TupleDescAttr(context->resultDesc, + colno - 1)->attname); + else + colname = tle->resname; + + if (colname && strcmp(colname, attname) == 0 && + !equal(var, tle->expr)) + { + need_prefix = true; + break; + } + } + } + + if (refname && need_prefix) { appendStringInfoString(buf, quote_identifier(refname)); appendStringInfoChar(buf, '.'); @@ -7895,17 +7945,31 @@ get_name_for_var_field(Var *var, int fieldno, /* * We're deparsing a Plan tree so we don't have complete * RTE entries (in particular, rte->subquery is NULL). But - * the only place we'd see a Var directly referencing a - * SUBQUERY RTE is in a SubqueryScan plan node, and we can - * look into the child plan's tlist instead. + * the only place we'd normally see a Var directly + * referencing a SUBQUERY RTE is in a SubqueryScan plan + * node, and we can look into the child plan's tlist + * instead. An exception occurs if the subquery was + * proven empty and optimized away: then we'd find such a + * Var in a childless Result node, and there's nothing in + * the plan tree that would let us figure out what it had + * originally referenced. In that case, fall back on + * printing "fN", analogously to the default column names + * for RowExprs. */ TargetEntry *tle; deparse_namespace save_dpns; const char *result; if (!dpns->inner_plan) - elog(ERROR, "failed to find plan for subquery %s", - rte->eref->aliasname); + { + char *dummy_name = palloc(32); + + Assert(dpns->plan && IsA(dpns->plan, Result)); + snprintf(dummy_name, 32, "f%d", fieldno); + return dummy_name; + } + Assert(dpns->plan && IsA(dpns->plan, SubqueryScan)); + tle = get_tle_by_resno(dpns->inner_tlist, attnum); if (!tle) elog(ERROR, "bogus varattno for subquery var: %d", @@ -8014,20 +8078,30 @@ get_name_for_var_field(Var *var, int fieldno, { /* * We're deparsing a Plan tree so we don't have a CTE - * list. But the only places we'd see a Var directly - * referencing a CTE RTE are in CteScan or WorkTableScan - * plan nodes. For those cases, set_deparse_plan arranged - * for dpns->inner_plan to be the plan node that emits the - * CTE or RecursiveUnion result, and we can look at its - * tlist instead. + * list. But the only places we'd normally see a Var + * directly referencing a CTE RTE are in CteScan or + * WorkTableScan plan nodes. For those cases, + * set_deparse_plan arranged for dpns->inner_plan to be + * the plan node that emits the CTE or RecursiveUnion + * result, and we can look at its tlist instead. As + * above, this can fail if the CTE has been proven empty, + * in which case fall back to "fN". */ TargetEntry *tle; deparse_namespace save_dpns; const char *result; if (!dpns->inner_plan) - elog(ERROR, "failed to find plan for CTE %s", - rte->eref->aliasname); + { + char *dummy_name = palloc(32); + + Assert(dpns->plan && IsA(dpns->plan, Result)); + snprintf(dummy_name, 32, "f%d", fieldno); + return dummy_name; + } + Assert(dpns->plan && (IsA(dpns->plan, CteScan) || + IsA(dpns->plan, WorkTableScan))); + tle = get_tle_by_resno(dpns->inner_tlist, attnum); if (!tle) elog(ERROR, "bogus varattno for subquery var: %d", @@ -10439,7 +10513,7 @@ get_func_expr(FuncExpr *expr, deparse_context *context, argnames, argtypes, expr->funcvariadic, &use_variadic, - context->special_exprkind)); + context->inGroupBy)); nargs = 0; foreach(l, expr->args) { @@ -10509,7 +10583,7 @@ get_agg_expr_helper(Aggref *aggref, deparse_context *context, funcname = generate_function_name(aggref->aggfnoid, nargs, NIL, argtypes, aggref->aggvariadic, &use_variadic, - context->special_exprkind); + context->inGroupBy); /* Print the aggregate name, schema-qualified if needed */ appendStringInfo(buf, "%s(%s", funcname, @@ -10650,7 +10724,7 @@ get_windowfunc_expr_helper(WindowFunc *wfunc, deparse_context *context, if (!funcname) funcname = generate_function_name(wfunc->winfnoid, nargs, argnames, argtypes, false, NULL, - context->special_exprkind); + context->inGroupBy); appendStringInfo(buf, "%s(", funcname); @@ -10689,7 +10763,7 @@ get_windowfunc_expr_helper(WindowFunc *wfunc, deparse_context *context, if (wc->name) appendStringInfoString(buf, quote_identifier(wc->name)); else - get_rule_windowspec(wc, context->windowTList, context); + get_rule_windowspec(wc, context->targetList, context); break; } } @@ -11645,7 +11719,6 @@ get_json_table_columns(TableFunc *tf, JsonTablePathScan *scan, bool showimplicit) { StringInfo buf = context->buf; - JsonExpr *jexpr = castNode(JsonExpr, tf->docexpr); ListCell *lc_colname; ListCell *lc_coltype; ListCell *lc_coltypmod; @@ -11698,6 +11771,10 @@ get_json_table_columns(TableFunc *tf, JsonTablePathScan *scan, if (ordinality) continue; + /* + * Set default_behavior to guide get_json_expr_options() on whether to + * to emit the ON ERROR / EMPTY clauses. + */ if (colexpr->op == JSON_EXISTS_OP) { appendStringInfoString(buf, " EXISTS"); @@ -11721,9 +11798,6 @@ get_json_table_columns(TableFunc *tf, JsonTablePathScan *scan, default_behavior = JSON_BEHAVIOR_NULL; } - if (jexpr->on_error->btype == JSON_BEHAVIOR_ERROR) - default_behavior = JSON_BEHAVIOR_ERROR; - appendStringInfoString(buf, " PATH "); get_json_path_spec(colexpr->path_spec, context, showimplicit); @@ -11801,7 +11875,7 @@ get_json_table(TableFunc *tf, deparse_context *context, bool showimplicit) get_json_table_columns(tf, castNode(JsonTablePathScan, tf->plan), context, showimplicit); - if (jexpr->on_error->btype != JSON_BEHAVIOR_EMPTY) + if (jexpr->on_error->btype != JSON_BEHAVIOR_EMPTY_ARRAY) get_json_behavior(jexpr->on_error, context, "ERROR"); if (PRETTY_INDENT(context)) @@ -12396,7 +12470,7 @@ get_tablesample_def(TableSampleClause *tablesample, deparse_context *context) appendStringInfo(buf, " TABLESAMPLE %s (", generate_function_name(tablesample->tsmhandler, 1, NIL, argtypes, - false, NULL, EXPR_KIND_NONE)); + false, NULL, false)); nargs = 0; foreach(l, tablesample->args) @@ -12816,12 +12890,14 @@ generate_qualified_relation_name(Oid relid) * the output. For non-FuncExpr cases, has_variadic should be false and * use_variadic_p can be NULL. * + * inGroupBy must be true if we're deparsing a GROUP BY clause. + * * The result includes all necessary quoting and schema-prefixing. */ static char * generate_function_name(Oid funcid, int nargs, List *argnames, Oid *argtypes, bool has_variadic, bool *use_variadic_p, - ParseExprKind special_exprkind) + bool inGroupBy) { char *result; HeapTuple proctup; @@ -12846,9 +12922,9 @@ generate_function_name(Oid funcid, int nargs, List *argnames, Oid *argtypes, /* * Due to parser hacks to avoid needing to reserve CUBE, we need to force - * qualification in some special cases. + * qualification of some function names within GROUP BY. */ - if (special_exprkind == EXPR_KIND_GROUP_BY) + if (inGroupBy) { if (strcmp(proname, "cube") == 0 || strcmp(proname, "rollup") == 0) force_qualify = true; @@ -13272,21 +13348,3 @@ get_range_partbound_string(List *bound_datums) return buf->data; } - -/* - * get_list_partvalue_string - * A C string representation of one list partition value - */ -char * -get_list_partvalue_string(Const *val) -{ - deparse_context context; - StringInfo buf = makeStringInfo(); - - memset(&context, 0, sizeof(deparse_context)); - context.buf = buf; - - get_const_expr(val, &context, -1); - - return buf->data; -} diff --git a/src/backend/utils/adt/selfuncs.c b/src/backend/utils/adt/selfuncs.c index 5f5d7959d8e..f4b3e91baa8 100644 --- a/src/backend/utils/adt/selfuncs.c +++ b/src/backend/utils/adt/selfuncs.c @@ -2131,6 +2131,9 @@ scalararraysel(PlannerInfo *root, * * Note: the result is integral, but we use "double" to avoid overflow * concerns. Most callers will use it in double-type expressions anyway. + * + * Note: in some code paths root can be passed as NULL, resulting in + * slightly worse estimates. */ double estimate_array_length(PlannerInfo *root, Node *arrayexpr) @@ -2154,7 +2157,7 @@ estimate_array_length(PlannerInfo *root, Node *arrayexpr) { return list_length(((ArrayExpr *) arrayexpr)->elements); } - else if (arrayexpr) + else if (arrayexpr && root) { /* See if we can find any statistics about it */ VariableStatData vardata; diff --git a/src/backend/utils/adt/xml.c b/src/backend/utils/adt/xml.c index 447e72b21eb..41b1a5c6b0b 100644 --- a/src/backend/utils/adt/xml.c +++ b/src/backend/utils/adt/xml.c @@ -677,8 +677,14 @@ xmltotext_with_options(xmltype *data, XmlOptionType xmloption_arg, bool indent) } #ifdef USE_LIBXML - /* Parse the input according to the xmloption */ - doc = xml_parse(data, xmloption_arg, true, GetDatabaseEncoding(), + + /* + * Parse the input according to the xmloption. + * + * preserve_whitespace is set to false in case we are indenting, otherwise + * libxml2 will fail to indent elements that have whitespace between them. + */ + doc = xml_parse(data, xmloption_arg, !indent, GetDatabaseEncoding(), &parsed_xmloptiontype, &content_nodes, (Node *) &escontext); if (doc == NULL || escontext.error_occurred) @@ -802,7 +808,22 @@ xmltotext_with_options(xmltype *data, XmlOptionType xmloption_arg, bool indent) "could not close xmlSaveCtxtPtr"); } - result = (text *) xmlBuffer_to_xmltype(buf); + /* + * xmlDocContentDumpOutput may add a trailing newline, so remove that. + */ + if (xmloption_arg == XMLOPTION_DOCUMENT) + { + const char *str = (const char *) xmlBufferContent(buf); + int len = xmlBufferLength(buf); + + while (len > 0 && (str[len - 1] == '\n' || + str[len - 1] == '\r')) + len--; + + result = cstring_to_text_with_len(str, len); + } + else + result = (text *) xmlBuffer_to_xmltype(buf); } PG_CATCH(); { @@ -4427,7 +4448,13 @@ xpath_internal(text *xpath_expr_text, xmltype *data, ArrayType *namespaces, } } - xpathcomp = xmlXPathCompile(xpath_expr); + /* + * Note: here and elsewhere, be careful to use xmlXPathCtxtCompile not + * xmlXPathCompile. In libxml2 2.13.3 and older, the latter function + * fails to defend itself against recursion-to-stack-overflow. See + * https://gitlab.gnome.org/GNOME/libxml2/-/issues/799 + */ + xpathcomp = xmlXPathCtxtCompile(xpathctx, xpath_expr); if (xpathcomp == NULL || xmlerrcxt->err_occurred) xml_ereport(xmlerrcxt, ERROR, ERRCODE_INTERNAL_ERROR, "invalid XPath expression"); @@ -4798,7 +4825,10 @@ XmlTableSetRowFilter(TableFuncScanState *state, const char *path) xstr = pg_xmlCharStrndup(path, strlen(path)); - xtCxt->xpathcomp = xmlXPathCompile(xstr); + /* We require XmlTableSetDocument to have been done already */ + Assert(xtCxt->xpathcxt != NULL); + + xtCxt->xpathcomp = xmlXPathCtxtCompile(xtCxt->xpathcxt, xstr); if (xtCxt->xpathcomp == NULL || xtCxt->xmlerrcxt->err_occurred) xml_ereport(xtCxt->xmlerrcxt, ERROR, ERRCODE_SYNTAX_ERROR, "invalid XPath expression"); @@ -4829,7 +4859,10 @@ XmlTableSetColumnFilter(TableFuncScanState *state, const char *path, int colnum) xstr = pg_xmlCharStrndup(path, strlen(path)); - xtCxt->xpathscomp[colnum] = xmlXPathCompile(xstr); + /* We require XmlTableSetDocument to have been done already */ + Assert(xtCxt->xpathcxt != NULL); + + xtCxt->xpathscomp[colnum] = xmlXPathCtxtCompile(xtCxt->xpathcxt, xstr); if (xtCxt->xpathscomp[colnum] == NULL || xtCxt->xmlerrcxt->err_occurred) xml_ereport(xtCxt->xmlerrcxt, ERROR, ERRCODE_DATA_EXCEPTION, "invalid XPath expression"); diff --git a/src/backend/utils/cache/relcache.c b/src/backend/utils/cache/relcache.c index 930cc03ee20..f5f0d60d33c 100644 --- a/src/backend/utils/cache/relcache.c +++ b/src/backend/utils/cache/relcache.c @@ -3770,6 +3770,7 @@ RelationSetNewRelfilenumber(Relation relation, char persistence) { RelFileNumber newrelfilenumber; Relation pg_class; + ItemPointerData otid; HeapTuple tuple; Form_pg_class classform; MultiXactId minmulti = InvalidMultiXactId; @@ -3812,11 +3813,12 @@ RelationSetNewRelfilenumber(Relation relation, char persistence) */ pg_class = table_open(RelationRelationId, RowExclusiveLock); - tuple = SearchSysCacheCopy1(RELOID, - ObjectIdGetDatum(RelationGetRelid(relation))); + tuple = SearchSysCacheLockedCopy1(RELOID, + ObjectIdGetDatum(RelationGetRelid(relation))); if (!HeapTupleIsValid(tuple)) elog(ERROR, "could not find tuple for relation %u", RelationGetRelid(relation)); + otid = tuple->t_self; classform = (Form_pg_class) GETSTRUCT(tuple); /* @@ -3842,7 +3844,8 @@ RelationSetNewRelfilenumber(Relation relation, char persistence) * fails at this stage, the new cluster will need to be recreated * anyway. */ - srel = smgropen(relation->rd_locator, relation->rd_backend); + srel = smgropen(relation->rd_locator, relation->rd_backend, + persistence); smgrdounlinkall(&srel, 1, false); smgrclose(srel); } @@ -3936,9 +3939,10 @@ RelationSetNewRelfilenumber(Relation relation, char persistence) classform->relminmxid = minmulti; classform->relpersistence = persistence; - CatalogTupleUpdate(pg_class, &tuple->t_self, tuple); + CatalogTupleUpdate(pg_class, &otid, tuple); } + UnlockTuple(pg_class, &otid, InplaceUpdateTupleLock); heap_freetuple(tuple); table_close(pg_class, RowExclusiveLock); diff --git a/src/backend/utils/cache/syscache.c b/src/backend/utils/cache/syscache.c index 3e03dfc9910..50c9440f792 100644 --- a/src/backend/utils/cache/syscache.c +++ b/src/backend/utils/cache/syscache.c @@ -30,7 +30,10 @@ #include "catalog/pg_shseclabel_d.h" #include "common/int.h" #include "lib/qunique.h" +#include "miscadmin.h" +#include "storage/lmgr.h" #include "utils/catcache.h" +#include "utils/inval.h" #include "utils/lsyscache.h" #include "utils/rel.h" #include "utils/syscache.h" @@ -268,6 +271,98 @@ ReleaseSysCache(HeapTuple tuple) ReleaseCatCache(tuple); } +/* + * SearchSysCacheLocked1 + * + * Combine SearchSysCache1() with acquiring a LOCKTAG_TUPLE at mode + * InplaceUpdateTupleLock. This is a tool for complying with the + * README.tuplock section "Locking to write inplace-updated tables". After + * the caller's heap_update(), it should UnlockTuple(InplaceUpdateTupleLock) + * and ReleaseSysCache(). + * + * The returned tuple may be the subject of an uncommitted update, so this + * doesn't prevent the "tuple concurrently updated" error. + */ +HeapTuple +SearchSysCacheLocked1(int cacheId, + Datum key1) +{ + ItemPointerData tid; + LOCKTAG tag; + Oid dboid = + SysCache[cacheId]->cc_relisshared ? InvalidOid : MyDatabaseId; + Oid reloid = cacheinfo[cacheId].reloid; + + /*---------- + * Since inplace updates may happen just before our LockTuple(), we must + * return content acquired after LockTuple() of the TID we return. If we + * just fetched twice instead of looping, the following sequence would + * defeat our locking: + * + * GRANT: SearchSysCache1() = TID (1,5) + * GRANT: LockTuple(pg_class, (1,5)) + * [no more inplace update of (1,5) until we release the lock] + * CLUSTER: SearchSysCache1() = TID (1,5) + * CLUSTER: heap_update() = TID (1,8) + * CLUSTER: COMMIT + * GRANT: SearchSysCache1() = TID (1,8) + * GRANT: return (1,8) from SearchSysCacheLocked1() + * VACUUM: SearchSysCache1() = TID (1,8) + * VACUUM: LockTuple(pg_class, (1,8)) # two TIDs now locked for one rel + * VACUUM: inplace update + * GRANT: heap_update() = (1,9) # lose inplace update + * + * In the happy case, this takes two fetches, one to determine the TID to + * lock and another to get the content and confirm the TID didn't change. + * + * This is valid even if the row gets updated to a new TID, the old TID + * becomes LP_UNUSED, and the row gets updated back to its old TID. We'd + * still hold the right LOCKTAG_TUPLE and a copy of the row captured after + * the LOCKTAG_TUPLE. + */ + ItemPointerSetInvalid(&tid); + for (;;) + { + HeapTuple tuple; + LOCKMODE lockmode = InplaceUpdateTupleLock; + + tuple = SearchSysCache1(cacheId, key1); + if (ItemPointerIsValid(&tid)) + { + if (!HeapTupleIsValid(tuple)) + { + LockRelease(&tag, lockmode, false); + return tuple; + } + if (ItemPointerEquals(&tid, &tuple->t_self)) + return tuple; + LockRelease(&tag, lockmode, false); + } + else if (!HeapTupleIsValid(tuple)) + return tuple; + + tid = tuple->t_self; + ReleaseSysCache(tuple); + /* like: LockTuple(rel, &tid, lockmode) */ + SET_LOCKTAG_TUPLE(tag, dboid, reloid, + ItemPointerGetBlockNumber(&tid), + ItemPointerGetOffsetNumber(&tid)); + (void) LockAcquire(&tag, lockmode, false, false); + + /* + * 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. + * + * If a heap_update() call just released its LOCKTAG_TUPLE, we'll + * probably find the old tuple and reach "tuple concurrently updated". + * If that heap_update() aborts, our LOCKTAG_TUPLE blocks inplace + * updates while our caller works. + */ + AcceptInvalidationMessages(); + } +} + /* * SearchSysCacheCopy * @@ -294,6 +389,28 @@ SearchSysCacheCopy(int cacheId, return newtuple; } +/* + * SearchSysCacheLockedCopy1 + * + * Meld SearchSysCacheLockedCopy1 with SearchSysCacheCopy(). After the + * caller's heap_update(), it should UnlockTuple(InplaceUpdateTupleLock) and + * heap_freetuple(). + */ +HeapTuple +SearchSysCacheLockedCopy1(int cacheId, + Datum key1) +{ + HeapTuple tuple, + newtuple; + + tuple = SearchSysCacheLocked1(cacheId, key1); + if (!HeapTupleIsValid(tuple)) + return tuple; + newtuple = heap_copytuple(tuple); + ReleaseSysCache(tuple); + return newtuple; +} + /* * SearchSysCacheExists * diff --git a/src/backend/utils/error/csvlog.c b/src/backend/utils/error/csvlog.c index 855e130a97d..eab8df3fcc3 100644 --- a/src/backend/utils/error/csvlog.c +++ b/src/backend/utils/error/csvlog.c @@ -120,7 +120,7 @@ write_csvlog(ErrorData *edata) appendStringInfoChar(&buf, ','); /* session id */ - appendStringInfo(&buf, "%lx.%x", (long) MyStartTime, MyProcPid); + appendStringInfo(&buf, "%" INT64_MODIFIER "x.%x", MyStartTime, MyProcPid); appendStringInfoChar(&buf, ','); /* Line number */ diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c index d1d1632bdd4..948bec886a2 100644 --- a/src/backend/utils/error/elog.c +++ b/src/backend/utils/error/elog.c @@ -1568,6 +1568,23 @@ geterrcode(void) return edata->sqlerrcode; } +/* + * geterrlevel --- return the currently set error level + * + * This is only intended for use in error callback subroutines, since there + * is no other place outside elog.c where the concept is meaningful. + */ +int +geterrlevel(void) +{ + ErrorData *edata = &errordata[errordata_stack_depth]; + + /* we don't bother incrementing recursion_depth */ + CHECK_STACK_DEPTH(); + + return edata->elevel; +} + /* * geterrposition --- return the currently set error position (0 if none) * @@ -2927,12 +2944,12 @@ log_status_format(StringInfo buf, const char *format, ErrorData *edata) { char strfbuf[128]; - snprintf(strfbuf, sizeof(strfbuf) - 1, "%lx.%x", - (long) (MyStartTime), MyProcPid); + snprintf(strfbuf, sizeof(strfbuf) - 1, "%" INT64_MODIFIER "x.%x", + MyStartTime, MyProcPid); appendStringInfo(buf, "%*s", padding, strfbuf); } else - appendStringInfo(buf, "%lx.%x", (long) (MyStartTime), MyProcPid); + appendStringInfo(buf, "%" INT64_MODIFIER "x.%x", MyStartTime, MyProcPid); break; case 'p': if (padding != 0) diff --git a/src/backend/utils/error/jsonlog.c b/src/backend/utils/error/jsonlog.c index bd0124869d5..2c7b14cacb1 100644 --- a/src/backend/utils/error/jsonlog.c +++ b/src/backend/utils/error/jsonlog.c @@ -168,8 +168,8 @@ write_jsonlog(ErrorData *edata) } /* Session id */ - appendJSONKeyValueFmt(&buf, "session_id", true, "%lx.%x", - (long) MyStartTime, MyProcPid); + appendJSONKeyValueFmt(&buf, "session_id", true, "%" INT64_MODIFIER "x.%x", + MyStartTime, MyProcPid); /* Line number */ appendJSONKeyValueFmt(&buf, "line_num", false, "%ld", log_line_number); diff --git a/src/backend/utils/fmgr/dfmgr.c b/src/backend/utils/fmgr/dfmgr.c index 092004dcf3b..dceb16eb859 100644 --- a/src/backend/utils/fmgr/dfmgr.c +++ b/src/backend/utils/fmgr/dfmgr.c @@ -37,6 +37,7 @@ #include "storage/shmem.h" #include "utils/hsearch.h" +download_extension_file_hook_type download_extension_file_hook = NULL; /* signature for PostgreSQL-specific library init function */ typedef void (*PG_init_t) (void); @@ -79,11 +80,13 @@ char *Dynamic_library_path; static void *internal_load_library(const char *libname); static void incompatible_module_error(const char *libname, const Pg_magic_struct *module_magic_data) pg_attribute_noreturn(); -static char *expand_dynamic_library_name(const char *name); +static char *expand_dynamic_library_name(const char *name, bool *is_found); static void check_restricted_library_name(const char *name); static char *substitute_libpath_macro(const char *name); static char *find_in_dynamic_libpath(const char *basename); +static void neon_try_load(const char *name); + /* Magic structure that module needs to match to be accepted */ static const Pg_magic_struct magic_data = PG_MODULE_MAGIC_DATA; @@ -108,9 +111,20 @@ load_external_function(const char *filename, const char *funcname, char *fullname; void *lib_handle; void *retval; + bool is_found = true; /* Expand the possibly-abbreviated filename to an exact path name */ - fullname = expand_dynamic_library_name(filename); + fullname = expand_dynamic_library_name(filename, &is_found); + + // if file is not found, try to download it from compute_ctl + if (!is_found && download_extension_file_hook != NULL) + { + // try to download the file + elog(DEBUG3, "load_external_function: try to download file: %s", fullname); + neon_try_load(fullname); + // try to find file locally once again + fullname = expand_dynamic_library_name(filename, &is_found); + } /* Load the shared library, unless we already did */ lib_handle = internal_load_library(fullname); @@ -132,6 +146,59 @@ load_external_function(const char *filename, const char *funcname, return retval; } +void +neon_try_load(const char *name) +{ + bool have_slash; + char *request_name; + + // add .so suffix if it is not present + if (strstr(name, DLSUFFIX) == NULL) + { + request_name = psprintf("%s%s", name, DLSUFFIX); + elog(DEBUG3, "neon_try_load: add DLSUFFIX: %s", request_name); + } + else + { + request_name = pstrdup(name); + elog(DEBUG3, "neon_try_load: DLSUFFIX already present: %s", request_name); + } + + have_slash = (first_dir_separator(request_name) != NULL); + + elog(DEBUG3, "neon_try_load: request_name: %s, pkglib_path %s", request_name, pkglib_path); + + if (strncmp(request_name, "$libdir/", strlen("$libdir/")) == 0) + { + char *new_request_name = psprintf("%s", request_name + strlen("$libdir/")); + pfree(request_name); + request_name = new_request_name; + + elog(DEBUG3, "neon_try_load: omit $libdir/: %s", request_name); + } + // if name contains pkglib_path as prefix, strip it and only request the file name + else if (pkglib_path[0] != '\0' && + strncmp(request_name, pkglib_path, strlen(pkglib_path)) == 0) + { + char *new_request_name = psprintf("%s", request_name + strlen(pkglib_path)); + pfree(request_name); + request_name = new_request_name; + + elog(DEBUG3, "neon_try_load: omit pkglib_path: %s", request_name); + } + else if (have_slash) + { + ereport(ERROR, + (errcode(ERRCODE_INVALID_NAME), + errmsg("unexpected path in dynamic library name: %s", + name))); + } + + elog(DEBUG3, "neon_try_load: final request_name: %s", request_name); + + download_extension_file_hook(request_name, true); +} + /* * This function loads a shlib file without looking up any particular * function in it. If the same shlib has previously been loaded, @@ -144,13 +211,24 @@ void load_file(const char *filename, bool restricted) { char *fullname; + bool is_found = true; /* Apply security restriction if requested */ if (restricted) check_restricted_library_name(filename); /* Expand the possibly-abbreviated filename to an exact path name */ - fullname = expand_dynamic_library_name(filename); + fullname = expand_dynamic_library_name(filename, &is_found); + + // if file is not found, try to download it from compute_ctl + if (!is_found && download_extension_file_hook != NULL) + { + // try to download the file + elog(DEBUG3, "load_file: try to download file: %s", fullname); + neon_try_load(fullname); + // try to find file locally once again + fullname = expand_dynamic_library_name(filename, &is_found); + } /* Load the shared library */ (void) internal_load_library(fullname); @@ -411,7 +489,7 @@ incompatible_module_error(const char *libname, * The result will always be freshly palloc'd. */ static char * -expand_dynamic_library_name(const char *name) +expand_dynamic_library_name(const char *name, bool *is_found) { bool have_slash; char *new; @@ -457,6 +535,7 @@ expand_dynamic_library_name(const char *name) * If we can't find the file, just return the string as-is. The ensuing * load attempt will fail and report a suitable message. */ + *is_found = false; return pstrdup(name); } diff --git a/src/backend/utils/init/miscinit.c b/src/backend/utils/init/miscinit.c index 537d92c0cfd..fca20c44adc 100644 --- a/src/backend/utils/init/miscinit.c +++ b/src/backend/utils/init/miscinit.c @@ -29,6 +29,7 @@ #include #include "access/htup_details.h" +#include "access/parallel.h" #include "catalog/pg_authid.h" #include "common/file_perm.h" #include "libpq/libpq.h" @@ -530,7 +531,7 @@ GetOuterUserId(void) static void -SetOuterUserId(Oid userid) +SetOuterUserId(Oid userid, bool is_superuser) { Assert(SecurityRestrictionContext == 0); Assert(OidIsValid(userid)); @@ -538,6 +539,11 @@ SetOuterUserId(Oid userid) /* We force the effective user ID to match, too */ CurrentUserId = userid; + + /* Also update the is_superuser GUC to match OuterUserId's property */ + SetConfigOption("is_superuser", + is_superuser ? "on" : "off", + PGC_INTERNAL, PGC_S_DYNAMIC_DEFAULT); } @@ -551,6 +557,12 @@ GetSessionUserId(void) return SessionUserId; } +bool +GetSessionUserIsSuperuser(void) +{ + Assert(OidIsValid(SessionUserId)); + return SessionUserIsSuperuser; +} static void SetSessionUserId(Oid userid, bool is_superuser) @@ -559,11 +571,6 @@ SetSessionUserId(Oid userid, bool is_superuser) Assert(OidIsValid(userid)); SessionUserId = userid; SessionUserIsSuperuser = is_superuser; - SetRoleIsActive = false; - - /* We force the effective user IDs to match, too */ - OuterUserId = userid; - CurrentUserId = userid; } /* @@ -577,7 +584,8 @@ GetSystemUser(void) } /* - * GetAuthenticatedUserId - get the authenticated user ID + * GetAuthenticatedUserId/SetAuthenticatedUserId - get/set the authenticated + * user ID */ Oid GetAuthenticatedUserId(void) @@ -586,6 +594,21 @@ GetAuthenticatedUserId(void) return AuthenticatedUserId; } +void +SetAuthenticatedUserId(Oid userid) +{ + Assert(OidIsValid(userid)); + + /* call only once */ + Assert(!OidIsValid(AuthenticatedUserId)); + + AuthenticatedUserId = userid; + + /* Also mark our PGPROC entry with the authenticated user id */ + /* (We assume this is an atomic store so no lock is needed) */ + MyProc->roleId = userid; +} + /* * GetUserIdAndSecContext/SetUserIdAndSecContext - get/set the current user ID @@ -743,9 +766,6 @@ InitializeSessionUserId(const char *rolename, Oid roleid, bool bypass_login_chec */ Assert(!IsBootstrapProcessingMode()); - /* call only once */ - Assert(!OidIsValid(AuthenticatedUserId)); - /* * Make sure syscache entries are flushed for recent catalog changes. This * allows us to find roles that were created on-the-fly during @@ -753,36 +773,70 @@ InitializeSessionUserId(const char *rolename, Oid roleid, bool bypass_login_chec */ AcceptInvalidationMessages(); + /* + * Look up the role, either by name if that's given or by OID if not. + * Normally we have to fail if we don't find it, but in parallel workers + * just return without doing anything: all the critical work has been done + * already. The upshot of that is that if the role has been deleted, we + * will not enforce its rolconnlimit against parallel workers anymore. + */ if (rolename != NULL) { roleTup = SearchSysCache1(AUTHNAME, PointerGetDatum(rolename)); if (!HeapTupleIsValid(roleTup)) + { + if (InitializingParallelWorker) + return; ereport(FATAL, (errcode(ERRCODE_INVALID_AUTHORIZATION_SPECIFICATION), errmsg("role \"%s\" does not exist", rolename))); + } } else { roleTup = SearchSysCache1(AUTHOID, ObjectIdGetDatum(roleid)); if (!HeapTupleIsValid(roleTup)) + { + if (InitializingParallelWorker) + return; ereport(FATAL, (errcode(ERRCODE_INVALID_AUTHORIZATION_SPECIFICATION), errmsg("role with OID %u does not exist", roleid))); + } } rform = (Form_pg_authid) GETSTRUCT(roleTup); roleid = rform->oid; rname = NameStr(rform->rolname); - - AuthenticatedUserId = roleid; is_superuser = rform->rolsuper; - /* This sets OuterUserId/CurrentUserId too */ - SetSessionUserId(roleid, is_superuser); + /* In a parallel worker, ParallelWorkerMain already set these variables */ + if (!InitializingParallelWorker) + { + SetAuthenticatedUserId(roleid); - /* Also mark our PGPROC entry with the authenticated user id */ - /* (We assume this is an atomic store so no lock is needed) */ - MyProc->roleId = roleid; + /* + * Set SessionUserId and related variables, including "role", via the + * GUC mechanisms. + * + * Note: ideally we would use PGC_S_DYNAMIC_DEFAULT here, so that + * session_authorization could subsequently be changed from + * pg_db_role_setting entries. Instead, session_authorization in + * pg_db_role_setting has no effect. Changing that would require + * solving two problems: + * + * 1. If pg_db_role_setting has values for both session_authorization + * and role, we could not be sure which order those would be applied + * in, and it would matter. + * + * 2. Sites may have years-old session_authorization entries. There's + * not been any particular reason to remove them. Ending the dormancy + * of those entries could seriously change application behavior, so + * only a major release should do that. + */ + SetConfigOption("session_authorization", rname, + PGC_BACKEND, PGC_S_OVERRIDE); + } /* * These next checks are not enforced when in standalone mode, so that @@ -819,13 +873,6 @@ InitializeSessionUserId(const char *rolename, Oid roleid, bool bypass_login_chec rname))); } - /* Record username and superuser status as GUC settings too */ - SetConfigOption("session_authorization", rname, - PGC_BACKEND, PGC_S_OVERRIDE); - SetConfigOption("is_superuser", - is_superuser ? "on" : "off", - PGC_INTERNAL, PGC_S_DYNAMIC_DEFAULT); - ReleaseSysCache(roleTup); } @@ -847,15 +894,19 @@ InitializeSessionUserIdStandalone(void) Assert(!OidIsValid(AuthenticatedUserId)); AuthenticatedUserId = BOOTSTRAP_SUPERUSERID; - SetSessionUserId(BOOTSTRAP_SUPERUSERID, true); /* - * XXX This should set SetConfigOption("session_authorization"), too. - * Since we don't, C code will get NULL, and current_setting() will get an - * empty string. + * XXX Ideally we'd do this via SetConfigOption("session_authorization"), + * but we lack the role name needed to do that, and we can't fetch it + * because one reason for this special case is to be able to start up even + * if something's happened to the BOOTSTRAP_SUPERUSERID's pg_authid row. + * Since we don't set the GUC itself, C code will see the value as NULL, + * and current_setting() will report an empty string within this session. */ - SetConfigOption("is_superuser", "on", - PGC_INTERNAL, PGC_S_DYNAMIC_DEFAULT); + SetSessionAuthorization(BOOTSTRAP_SUPERUSERID, true); + + /* We could do SetConfigOption("role"), but let's be consistent */ + SetCurrentRoleId(InvalidOid, false); } /* @@ -901,17 +952,21 @@ system_user(PG_FUNCTION_ARGS) /* * Change session auth ID while running * - * Note that we set the GUC variable is_superuser to indicate whether the - * current role is a superuser. + * The SQL standard says that SET SESSION AUTHORIZATION implies SET ROLE NONE. + * We mechanize that at higher levels not here, because this is the GUC + * assign hook for "session_authorization", and it must be commutative with + * SetCurrentRoleId (the hook for "role") because guc.c provides no guarantees + * which will run first during cases such as transaction rollback. Therefore, + * we update derived state (OuterUserId/CurrentUserId/is_superuser) only if + * !SetRoleIsActive. */ void SetSessionAuthorization(Oid userid, bool is_superuser) { SetSessionUserId(userid, is_superuser); - SetConfigOption("is_superuser", - is_superuser ? "on" : "off", - PGC_INTERNAL, PGC_S_DYNAMIC_DEFAULT); + if (!SetRoleIsActive) + SetOuterUserId(userid, is_superuser); } /* @@ -947,28 +1002,25 @@ SetCurrentRoleId(Oid roleid, bool is_superuser) /* * Get correct info if it's SET ROLE NONE * - * If SessionUserId hasn't been set yet, just do nothing --- the eventual - * SetSessionUserId call will fix everything. This is needed since we - * will get called during GUC initialization. + * If SessionUserId hasn't been set yet, do nothing beyond updating + * SetRoleIsActive --- the eventual SetSessionAuthorization call will + * update the derived state. This is needed since we will get called + * during GUC initialization. */ if (!OidIsValid(roleid)) { + SetRoleIsActive = false; + if (!OidIsValid(SessionUserId)) return; roleid = SessionUserId; is_superuser = SessionUserIsSuperuser; - - SetRoleIsActive = false; } else SetRoleIsActive = true; - SetOuterUserId(roleid); - - SetConfigOption("is_superuser", - is_superuser ? "on" : "off", - PGC_INTERNAL, PGC_S_DYNAMIC_DEFAULT); + SetOuterUserId(roleid, is_superuser); } @@ -1372,10 +1424,10 @@ CreateLockFile(const char *filename, bool amPostmaster, * both datadir and socket lockfiles; although more stuff may get added to * the datadir lockfile later. */ - snprintf(buffer, sizeof(buffer), "%d\n%s\n%ld\n%d\n%s\n", + snprintf(buffer, sizeof(buffer), "%d\n%s\n" INT64_FORMAT "\n%d\n%s\n", amPostmaster ? (int) my_pid : -((int) my_pid), DataDir, - (long) MyStartTime, + MyStartTime, PostPortNumber, socketDir); diff --git a/src/backend/utils/init/postinit.c b/src/backend/utils/init/postinit.c index 0805398e24d..adc21e019d5 100644 --- a/src/backend/utils/init/postinit.c +++ b/src/backend/utils/init/postinit.c @@ -22,6 +22,7 @@ #include "access/genam.h" #include "access/heapam.h" #include "access/htup_details.h" +#include "access/parallel.h" #include "access/session.h" #include "access/tableam.h" #include "access/xact.h" @@ -914,7 +915,23 @@ InitPostgres(const char *in_dbname, Oid dboid, { InitializeSessionUserId(username, useroid, (flags & INIT_PG_OVERRIDE_ROLE_LOGIN) != 0); - am_superuser = superuser(); + + /* + * In a parallel worker, set am_superuser based on the + * authenticated user ID, not the current role. This is pretty + * dubious but it matches our historical behavior. Note that this + * value of am_superuser is used only for connection-privilege + * checks here and in CheckMyDatabase (we won't reach + * process_startup_options in a background worker). + * + * In other cases, there's been no opportunity for the current + * role to diverge from the authenticated user ID yet, so we can + * just rely on superuser() and avoid an extra catalog lookup. + */ + if (InitializingParallelWorker) + am_superuser = superuser_arg(GetAuthenticatedUserId()); + else + am_superuser = superuser(); } } else diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c index b0947a4cf15..0831d45aba3 100644 --- a/src/backend/utils/misc/guc.c +++ b/src/backend/utils/misc/guc.c @@ -3327,10 +3327,12 @@ parse_and_validate_value(struct config_generic *record, * * Return value: * +1: the value is valid and was successfully applied. - * 0: the name or value is invalid (but see below). - * -1: the value was not applied because of context, priority, or changeVal. + * 0: the name or value is invalid, or it's invalid to try to set + * this GUC now; but elevel was less than ERROR (see below). + * -1: no error detected, but the value was not applied, either + * because changeVal is false or there is some overriding setting. * - * If there is an error (non-existing option, invalid value) then an + * If there is an error (non-existing option, invalid value, etc) then an * ereport(ERROR) is thrown *unless* this is called for a source for which * we don't want an ERROR (currently, those are defaults, the config file, * and per-database or per-user settings, as well as callers who specify @@ -3393,8 +3395,11 @@ set_config_option_ext(const char *name, const char *value, /* - * set_config_with_handle: takes an optional 'handle' argument, which can be - * obtained by the caller from get_config_handle(). + * set_config_with_handle: sets option `name' to given value. + * + * This API adds the ability to pass a 'handle' argument, which can be + * obtained by the caller from get_config_handle(). NULL has no effect, + * but a non-null value avoids the need to search the GUC tables. * * This should be used by callers which repeatedly set the same config * option(s), and want to avoid the overhead of a hash lookup each time. @@ -3431,6 +3436,16 @@ set_config_with_handle(const char *name, config_handle *handle, elevel = ERROR; } + /* if handle is specified, no need to look up option */ + if (!handle) + { + record = find_option(name, true, false, elevel); + if (record == NULL) + return 0; + } + else + record = handle; + /* * GUC_ACTION_SAVE changes are acceptable during a parallel operation, * because the current worker will also pop the change. We're probably @@ -3438,25 +3453,19 @@ set_config_with_handle(const char *name, config_handle *handle, * body should observe the change, and peer workers do not share in the * execution of a function call started by this worker. * + * Also allow normal setting if the GUC is marked GUC_ALLOW_IN_PARALLEL. + * * Other changes might need to affect other workers, so forbid them. */ - if (IsInParallelMode() && changeVal && action != GUC_ACTION_SAVE) + if (IsInParallelMode() && changeVal && action != GUC_ACTION_SAVE && + (record->flags & GUC_ALLOW_IN_PARALLEL) == 0) { ereport(elevel, (errcode(ERRCODE_INVALID_TRANSACTION_STATE), - errmsg("cannot set parameters during a parallel operation"))); - return -1; - } - - /* if handle is specified, no need to look up option */ - if (!handle) - { - record = find_option(name, true, false, elevel); - if (record == NULL) - return 0; + errmsg("parameter \"%s\" cannot be set during a parallel operation", + name))); + return 0; } - else - record = handle; /* * Check if the option can be set at this time. See guc.h for the precise @@ -3993,6 +4002,9 @@ set_config_with_handle(const char *name, config_handle *handle, case PGC_STRING: { struct config_string *conf = (struct config_string *) record; + GucContext orig_context = context; + GucSource orig_source = source; + Oid orig_srole = srole; #define newval (newval_union.stringval) @@ -4078,6 +4090,44 @@ set_config_with_handle(const char *name, config_handle *handle, set_guc_source(&conf->gen, source); conf->gen.scontext = context; conf->gen.srole = srole; + + /* + * Ugly hack: during SET session_authorization, forcibly + * do SET ROLE NONE with the same context/source/etc, so + * that the effects will have identical lifespan. This is + * required by the SQL spec, and it's not possible to do + * it within the variable's check hook or assign hook + * because our APIs for those don't pass enough info. + * However, don't do it if is_reload: in that case we + * expect that if "role" isn't supposed to be default, it + * has been or will be set by a separate reload action. + * + * Also, for the call from InitializeSessionUserId with + * source == PGC_S_OVERRIDE, use PGC_S_DYNAMIC_DEFAULT for + * "role"'s source, so that it's still possible to set + * "role" from pg_db_role_setting entries. (See notes in + * InitializeSessionUserId before changing this.) + * + * A fine point: for RESET session_authorization, we do + * "RESET role" not "SET ROLE NONE" (by passing down NULL + * rather than "none" for the value). This would have the + * same effects in typical cases, but if the reset value + * of "role" is not "none" it seems better to revert to + * that. + */ + if (!is_reload && + strcmp(conf->gen.name, "session_authorization") == 0) + (void) set_config_with_handle("role", NULL, + value ? "none" : NULL, + orig_context, + (orig_source == PGC_S_OVERRIDE) + ? PGC_S_DYNAMIC_DEFAULT + : orig_source, + orig_srole, + action, + true, + elevel, + false); } if (makeDefault) @@ -5779,12 +5829,6 @@ can_skip_gucvar(struct config_generic *gconf) * mechanisms (if indeed they aren't compile-time constants). So we may * always skip these. * - * Role must be handled specially because its current value can be an - * invalid value (for instance, if someone dropped the role since we set - * it). So if we tried to serialize it normally, we might get a failure. - * We skip it here, and use another mechanism to ensure the worker has the - * right value. - * * For all other GUCs, we skip if the GUC has its compiled-in default * value (i.e., source == PGC_S_DEFAULT). On the leader side, this means * we don't send GUCs that have their default values, which typically @@ -5793,8 +5837,8 @@ can_skip_gucvar(struct config_generic *gconf) * comments in RestoreGUCState for more info. */ return gconf->context == PGC_POSTMASTER || - gconf->context == PGC_INTERNAL || gconf->source == PGC_S_DEFAULT || - strcmp(gconf->name, "role") == 0; + gconf->context == PGC_INTERNAL || + gconf->source == PGC_S_DEFAULT; } /* diff --git a/src/backend/utils/misc/guc_tables.c b/src/backend/utils/misc/guc_tables.c index 6f4188599b1..69c8238de49 100644 --- a/src/backend/utils/misc/guc_tables.c +++ b/src/backend/utils/misc/guc_tables.c @@ -32,6 +32,7 @@ #include "access/toast_compression.h" #include "access/twophase.h" #include "access/xlog_internal.h" +#include "access/xloginsert.h" #include "access/xlogprefetcher.h" #include "access/xlogrecovery.h" #include "archive/archive_module.h" @@ -74,6 +75,7 @@ #include "storage/large_object.h" #include "storage/pg_shmem.h" #include "storage/predicate.h" +#include "storage/smgr.h" #include "storage/standby.h" #include "tcop/tcopprot.h" #include "tsearch/ts_cache.h" @@ -578,6 +580,7 @@ static char *server_encoding_string; static char *server_version_string; static int server_version_num; static char *debug_io_direct_string; +static char *restrict_nonsystem_relation_kind_string; #ifdef HAVE_SYSLOG #define DEFAULT_SYSLOG_FACILITY LOG_LOCAL0 @@ -769,6 +772,36 @@ StaticAssertDecl(lengthof(config_type_names) == (PGC_ENUM + 1), struct config_bool ConfigureNamesBool[] = { + { + {"enable_seqscan_prefetch", PGC_USERSET, RESOURCES_ASYNCHRONOUS, + gettext_noop("Enables prefetching of next pages in sequential scans."), + NULL, + GUC_EXPLAIN + }, + &enable_seqscan_prefetch, + true, + NULL, NULL, NULL + }, + { + {"enable_indexscan_prefetch", PGC_USERSET, RESOURCES_ASYNCHRONOUS, + gettext_noop("Enables prefetching of heap pages in index scans."), + NULL, + GUC_EXPLAIN + }, + &enable_indexscan_prefetch, + true, + NULL, NULL, NULL + }, + { + {"enable_indexonlyscan_prefetch", PGC_USERSET, RESOURCES_ASYNCHRONOUS, + gettext_noop("Enables prefetching of leave pages in index-only scans."), + NULL, + GUC_EXPLAIN + }, + &enable_indexonlyscan_prefetch, + true, + NULL, NULL, NULL + }, { {"enable_seqscan", PGC_USERSET, QUERY_TUNING_METHOD, gettext_noop("Enables the planner's use of sequential-scan plans."), @@ -1015,7 +1048,7 @@ struct config_bool ConfigureNamesBool[] = {"is_superuser", PGC_INTERNAL, UNGROUPED, gettext_noop("Shows whether the current user is a superuser."), NULL, - GUC_REPORT | GUC_NO_SHOW_ALL | GUC_NO_RESET_ALL | GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE + GUC_REPORT | GUC_NO_SHOW_ALL | GUC_NO_RESET_ALL | GUC_NOT_IN_SAMPLE | GUC_DISALLOW_IN_FILE | GUC_ALLOW_IN_PARALLEL }, ¤t_role_is_superuser, false, @@ -2018,13 +2051,22 @@ struct config_bool ConfigureNamesBool[] = { {"sync_replication_slots", PGC_SIGHUP, REPLICATION_STANDBY, - gettext_noop("Enables a physical standby to synchronize logical failover slots from the primary server."), + gettext_noop("Enables a physical standby to synchronize logical failover replication slots from the primary server."), }, &sync_replication_slots, false, NULL, NULL, NULL }, + { + {"neon_test_evict", PGC_POSTMASTER, UNGROUPED, + gettext_noop("Evict unpinned pages (for better test coverage)"), + }, + &zenith_test_evict, + false, + NULL, NULL, NULL + }, + /* End-of-list marker */ { {NULL, 0, 0, NULL, NULL}, NULL, false, NULL, NULL, NULL @@ -2348,7 +2390,7 @@ struct config_int ConfigureNamesInt[] = { {"subtransaction_buffers", PGC_POSTMASTER, RESOURCES_MEM, - gettext_noop("Sets the size of the dedicated buffer pool used for the sub-transaction cache."), + gettext_noop("Sets the size of the dedicated buffer pool used for the subtransaction cache."), gettext_noop("Specify 0 to have this value determined as a fraction of shared_buffers."), GUC_UNIT_BLOCKS }, @@ -2368,6 +2410,16 @@ struct config_int ConfigureNamesInt[] = check_transaction_buffers, NULL, NULL }, + { + {"lsn_cache_size", PGC_POSTMASTER, UNGROUPED, + gettext_noop("Size of last written LSN cache used by Neon."), + NULL + }, + &lastWrittenLsnCacheSize, + 128*1024, 1024, INT_MAX, + NULL, NULL, NULL + }, + { {"temp_buffers", PGC_USERSET, RESOURCES_MEM, gettext_noop("Sets the maximum number of temporary buffers used by each session."), @@ -2446,6 +2498,11 @@ struct config_int ConfigureNamesInt[] = NULL, NULL, NULL }, + /* + * Dynamic shared memory has a higher overhead than local memory contexts, + * so when testing low-memory scenarios that could use shared memory, the + * recommended minimum is 1MB. + */ { {"maintenance_work_mem", PGC_USERSET, RESOURCES_MEM, gettext_noop("Sets the maximum memory to be used for maintenance operations."), @@ -2453,7 +2510,7 @@ struct config_int ConfigureNamesInt[] = GUC_UNIT_KB }, &maintenance_work_mem, - 65536, 1024, MAX_KILOBYTES, + 65536, 64, MAX_KILOBYTES, NULL, NULL, NULL }, @@ -2937,6 +2994,42 @@ struct config_int ConfigureNamesInt[] = NULL, NULL, NULL }, + { + {"max_replication_apply_lag", PGC_POSTMASTER, REPLICATION_SENDING, + gettext_noop("Maximal write lag between master and replicas."), + gettext_noop("When lag between minimal apply position of replica and current LSN exceeds this value," + "backends are blocked."), + GUC_UNIT_MB, + }, + &max_replication_apply_lag, + -1, -1, INT_MAX, /* it should not be smaller than maximal size of WAL record */ + NULL, NULL, NULL + }, + + { + {"max_replication_flush_lag", PGC_POSTMASTER, REPLICATION_SENDING, + gettext_noop("Maximal flush lag between master and replicas."), + gettext_noop("When lag between minimal flush position of replica and current LSN exceeds this value," + "backends are blocked"), + GUC_UNIT_MB, + }, + &max_replication_flush_lag, + -1, -1, INT_MAX, /* it should not be smaller than maximal size of WAL record */ + NULL, NULL, NULL + }, + + { + {"max_replication_write_lag", PGC_POSTMASTER, REPLICATION_SENDING, + gettext_noop("Maximal write lag between master and replicas."), + gettext_noop("When lag between minimal write position of replica and current LSN exceeds this value," + "backends are blocked"), + GUC_UNIT_MB, + }, + &max_replication_write_lag, + -1, -1, INT_MAX, /* it should not be smaller than maximal size of WAL record */ + NULL, NULL, NULL + }, + { {"max_slot_wal_keep_size", PGC_SIGHUP, REPLICATION_SENDING, gettext_noop("Sets the maximum WAL size that can be reserved by replication slots."), @@ -4693,11 +4786,11 @@ struct config_string ConfigureNamesString[] = { {"synchronized_standby_slots", PGC_SIGHUP, REPLICATION_PRIMARY, - gettext_noop("Lists streaming replication standby server slot " + gettext_noop("Lists streaming replication standby server replication slot " "names that logical WAL sender processes will wait for."), gettext_noop("Logical WAL sender processes will send decoded " - "changes to plugins only after the specified " - "replication slots confirm receiving WAL."), + "changes to output plugins only after the specified " + "replication slots have confirmed receiving WAL."), GUC_LIST_INPUT }, &synchronized_standby_slots, @@ -4705,6 +4798,17 @@ struct config_string ConfigureNamesString[] = check_synchronized_standby_slots, assign_synchronized_standby_slots, NULL }, + { + {"restrict_nonsystem_relation_kind", PGC_USERSET, CLIENT_CONN_STATEMENT, + gettext_noop("Prohibits access to non-system relations of specified kinds."), + NULL, + GUC_LIST_INPUT | GUC_NOT_IN_SAMPLE + }, + &restrict_nonsystem_relation_kind_string, + "", + check_restrict_nonsystem_relation_kind, assign_restrict_nonsystem_relation_kind, NULL + }, + /* End-of-list marker */ { {NULL, 0, 0, NULL, NULL}, NULL, NULL, NULL, NULL, NULL diff --git a/src/backend/utils/misc/injection_point.c b/src/backend/utils/misc/injection_point.c index ab327779902..b33cddefabc 100644 --- a/src/backend/utils/misc/injection_point.c +++ b/src/backend/utils/misc/injection_point.c @@ -59,7 +59,7 @@ typedef struct InjectionPointEntry */ pg_atomic_uint64 generation; - char name[INJ_NAME_MAXLEN]; /* hash key */ + char name[INJ_NAME_MAXLEN]; /* point name */ char library[INJ_LIB_MAXLEN]; /* library */ char function[INJ_FUNC_MAXLEN]; /* function */ @@ -315,8 +315,7 @@ InjectionPointAttach(const char *name, if (free_idx == -1) free_idx = idx; } - - if (strcmp(entry->name, name) == 0) + else if (strcmp(entry->name, name) == 0) elog(ERROR, "injection point \"%s\" already defined", name); } if (free_idx == -1) diff --git a/src/backend/utils/misc/postgresql.conf.sample b/src/backend/utils/misc/postgresql.conf.sample index 9ec9f97e926..667e0dc40a2 100644 --- a/src/backend/utils/misc/postgresql.conf.sample +++ b/src/backend/utils/misc/postgresql.conf.sample @@ -139,8 +139,8 @@ # you actively intend to use prepared transactions. #work_mem = 4MB # min 64kB #hash_mem_multiplier = 2.0 # 1-1000.0 multiplier on hash table work_mem -#maintenance_work_mem = 64MB # min 1MB -#autovacuum_work_mem = -1 # min 1MB, or -1 to use maintenance_work_mem +#maintenance_work_mem = 64MB # min 64kB +#autovacuum_work_mem = -1 # min 64kB, or -1 to use maintenance_work_mem #logical_decoding_work_mem = 64MB # min 64kB #max_stack_depth = 2MB # min 100kB #shared_memory_type = mmap # the default is the first option diff --git a/src/backend/utils/mmgr/portalmem.c b/src/backend/utils/mmgr/portalmem.c index 4a246135377..93137820ac3 100644 --- a/src/backend/utils/mmgr/portalmem.c +++ b/src/backend/utils/mmgr/portalmem.c @@ -1150,6 +1150,9 @@ pg_cursor(PG_FUNCTION_ARGS) /* report only "visible" entries */ if (!portal->visible) continue; + /* also ignore it if PortalDefineQuery hasn't been called yet */ + if (!portal->sourceText) + continue; values[0] = CStringGetTextDatum(portal->name); values[1] = CStringGetTextDatum(portal->sourceText); diff --git a/src/bin/initdb/initdb.c b/src/bin/initdb/initdb.c index f00718a0150..af7925fd465 100644 --- a/src/bin/initdb/initdb.c +++ b/src/bin/initdb/initdb.c @@ -225,6 +225,7 @@ static const char *const backend_options = "--single -F -O -j -c search_path=pg_ /* Additional switches to pass to backend (either boot or standalone) */ static char *extra_options = ""; +static char *extra_boot_options = ""; static const char *const subdirs[] = { "global", @@ -340,6 +341,61 @@ do { \ output_failed = true, output_errno = errno; \ } while (0) +#ifdef WIN32 +typedef wchar_t *save_locale_t; +#else +typedef char *save_locale_t; +#endif + +/* + * Save a copy of the current global locale's name, for the given category. + * The returned value must be passed to restore_global_locale(). + * + * Since names from the environment haven't been vetted for non-ASCII + * characters, we use the wchar_t variant of setlocale() on Windows. Otherwise + * they might not survive a save-restore round trip: when restoring, the name + * itself might be interpreted with a different encoding by plain setlocale(), + * after we switch to another locale in between. (This is a problem only in + * initdb, not in similar backend code where the global locale's name should + * already have been verified as ASCII-only.) + */ +static save_locale_t +save_global_locale(int category) +{ + save_locale_t save; + +#ifdef WIN32 + save = _wsetlocale(category, NULL); + if (!save) + pg_fatal("_wsetlocale() failed"); + save = wcsdup(save); + if (!save) + pg_fatal("out of memory"); +#else + save = setlocale(category, NULL); + if (!save) + pg_fatal("setlocale() failed"); + save = pg_strdup(save); +#endif + return save; +} + +/* + * Restore the global locale returned by save_global_locale(). + */ +static void +restore_global_locale(int category, save_locale_t save) +{ +#ifdef WIN32 + if (!_wsetlocale(category, save)) + pg_fatal("failed to restore old locale"); +#else + if (!setlocale(category, save)) + pg_fatal("failed to restore old locale \"%s\"", save); +#endif + free(save); +} + /* * Escape single quotes and backslashes, suitably for insertions into * configuration files or SQL E'' strings. @@ -1536,7 +1592,9 @@ bootstrap_template1(void) initPQExpBuffer(&cmd); - printfPQExpBuffer(&cmd, "\"%s\" --boot %s %s", backend_exec, boot_options, extra_options); + printfPQExpBuffer(&cmd, "\"%s\" --boot %s %s %s", + backend_exec, boot_options, extra_boot_options, + extra_options); appendPQExpBuffer(&cmd, " -X %d", wal_segment_size_mb * (1024 * 1024)); if (data_checksums) appendPQExpBuffer(&cmd, " -k"); @@ -2074,16 +2132,13 @@ locale_date_order(const char *locale) char *posD; char *posM; char *posY; - char *save; + save_locale_t save; size_t res; int result; result = DATEORDER_MDY; /* default */ - save = setlocale(LC_TIME, NULL); - if (!save) - return result; - save = pg_strdup(save); + save = save_global_locale(LC_TIME); setlocale(LC_TIME, locale); @@ -2094,8 +2149,7 @@ locale_date_order(const char *locale) res = my_strftime(buf, sizeof(buf), "%x", &testtime); - setlocale(LC_TIME, save); - free(save); + restore_global_locale(LC_TIME, save); if (res == 0) return result; @@ -2132,18 +2186,17 @@ locale_date_order(const char *locale) static void check_locale_name(int category, const char *locale, char **canonname) { - char *save; + save_locale_t save; char *res; + /* Don't let Windows' non-ASCII locale names in. */ + if (locale && !pg_is_ascii(locale)) + pg_fatal("locale name \"%s\" contains non-ASCII characters", locale); + if (canonname) *canonname = NULL; /* in case of failure */ - save = setlocale(category, NULL); - if (!save) - pg_fatal("setlocale() failed"); - - /* save may be pointing at a modifiable scratch variable, so copy it. */ - save = pg_strdup(save); + save = save_global_locale(category); /* for setlocale() call */ if (!locale) @@ -2157,9 +2210,7 @@ check_locale_name(int category, const char *locale, char **canonname) *canonname = pg_strdup(res); /* restore old value. */ - if (!setlocale(category, save)) - pg_fatal("failed to restore old locale \"%s\"", save); - free(save); + restore_global_locale(category, save); /* complain if locale wasn't valid */ if (res == NULL) @@ -2183,6 +2234,11 @@ check_locale_name(int category, const char *locale, char **canonname) pg_fatal("invalid locale settings; check LANG and LC_* environment variables"); } } + + /* Don't let Windows' non-ASCII locale names out. */ + if (canonname && !pg_is_ascii(*canonname)) + pg_fatal("locale name \"%s\" contains non-ASCII characters", + *canonname); } /* @@ -3128,6 +3184,7 @@ main(int argc, char *argv[]) {"icu-locale", required_argument, NULL, 17}, {"icu-rules", required_argument, NULL, 18}, {"sync-method", required_argument, NULL, 19}, + {"sysid", required_argument, NULL, 20}, {NULL, 0, NULL, 0} }; @@ -3319,6 +3376,11 @@ main(int argc, char *argv[]) if (!parse_sync_method(optarg, &sync_method)) exit(1); break; + case 20: + extra_boot_options = psprintf("%s -s %s", + extra_boot_options, + optarg); + break; default: /* getopt_long already emitted a complaint */ pg_log_error_hint("Try \"%s --help\" for more information.", progname); diff --git a/src/bin/initdb/po/de.po b/src/bin/initdb/po/de.po index 5d59324b557..66a87caaf7e 100644 --- a/src/bin/initdb/po/de.po +++ b/src/bin/initdb/po/de.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-06-19 21:51+0000\n" -"PO-Revision-Date: 2024-06-20 10:36+0200\n" +"POT-Creation-Date: 2024-10-30 10:51+0000\n" +"PO-Revision-Date: 2024-10-30 16:07+0100\n" "Last-Translator: Peter Eisentraut \n" "Language-Team: German \n" "Language: de\n" @@ -56,7 +56,7 @@ msgstr "konnte kein »%s« zum Ausführen finden" msgid "could not resolve path \"%s\" to absolute form: %m" msgstr "konnte Pfad »%s« nicht in absolute Form auflösen: %m" -#: ../../common/exec.c:382 initdb.c:695 +#: ../../common/exec.c:382 initdb.c:750 #, c-format msgid "could not execute command \"%s\": %m" msgstr "konnte Befehl »%s« nicht ausführen: %m" @@ -77,7 +77,7 @@ msgid "%s() failed: %m" msgstr "%s() fehlgeschlagen: %m" #: ../../common/exec.c:562 ../../common/exec.c:607 ../../common/exec.c:699 -#: initdb.c:353 +#: initdb.c:372 initdb.c:408 #, c-format msgid "out of memory" msgstr "Speicher aufgebraucht" @@ -261,274 +261,289 @@ msgstr "konnte Junction für »%s« nicht erzeugen: %s\n" msgid "could not get junction for \"%s\": %s\n" msgstr "konnte Junction für »%s« nicht ermitteln: %s\n" -#: initdb.c:627 initdb.c:1619 +#: initdb.c:369 +#, c-format +msgid "_wsetlocale() failed" +msgstr "_wsetlocale() fehlgeschlagen" + +#: initdb.c:376 +#, c-format +msgid "setlocale() failed" +msgstr "setlocale() fehlgeschlagen" + +#: initdb.c:390 +#, c-format +msgid "failed to restore old locale" +msgstr "konnte alte Locale nicht wiederherstellen" + +#: initdb.c:393 +#, c-format +msgid "failed to restore old locale \"%s\"" +msgstr "konnte alte Locale »%s« nicht wiederherstellen" + +#: initdb.c:682 initdb.c:1674 #, c-format msgid "could not open file \"%s\" for reading: %m" msgstr "konnte Datei »%s« nicht zum Lesen öffnen: %m" -#: initdb.c:671 initdb.c:975 initdb.c:995 +#: initdb.c:726 initdb.c:1030 initdb.c:1050 #, c-format msgid "could not open file \"%s\" for writing: %m" msgstr "konnte Datei »%s« nicht zum Schreiben öffnen: %m" -#: initdb.c:675 initdb.c:978 initdb.c:997 +#: initdb.c:730 initdb.c:1033 initdb.c:1052 #, c-format msgid "could not write file \"%s\": %m" msgstr "konnte Datei »%s« nicht schreiben: %m" -#: initdb.c:679 +#: initdb.c:734 #, c-format msgid "could not close file \"%s\": %m" msgstr "konnte Datei »%s« nicht schließen: %m" -#: initdb.c:713 +#: initdb.c:768 #, c-format msgid "removing data directory \"%s\"" msgstr "entferne Datenverzeichnis »%s«" -#: initdb.c:715 +#: initdb.c:770 #, c-format msgid "failed to remove data directory" msgstr "konnte Datenverzeichnis nicht entfernen" -#: initdb.c:719 +#: initdb.c:774 #, c-format msgid "removing contents of data directory \"%s\"" msgstr "entferne Inhalt des Datenverzeichnisses »%s«" -#: initdb.c:722 +#: initdb.c:777 #, c-format msgid "failed to remove contents of data directory" msgstr "konnte Inhalt des Datenverzeichnisses nicht entfernen" -#: initdb.c:727 +#: initdb.c:782 #, c-format msgid "removing WAL directory \"%s\"" msgstr "entferne WAL-Verzeichnis »%s«" -#: initdb.c:729 +#: initdb.c:784 #, c-format msgid "failed to remove WAL directory" msgstr "konnte WAL-Verzeichnis nicht entfernen" -#: initdb.c:733 +#: initdb.c:788 #, c-format msgid "removing contents of WAL directory \"%s\"" msgstr "entferne Inhalt des WAL-Verzeichnisses »%s«" -#: initdb.c:735 +#: initdb.c:790 #, c-format msgid "failed to remove contents of WAL directory" msgstr "konnte Inhalt des WAL-Verzeichnisses nicht entfernen" -#: initdb.c:742 +#: initdb.c:797 #, c-format msgid "data directory \"%s\" not removed at user's request" msgstr "Datenverzeichnis »%s« wurde auf Anwenderwunsch nicht entfernt" -#: initdb.c:746 +#: initdb.c:801 #, c-format msgid "WAL directory \"%s\" not removed at user's request" msgstr "WAL-Verzeichnis »%s« wurde auf Anwenderwunsch nicht entfernt" -#: initdb.c:764 +#: initdb.c:819 #, c-format msgid "cannot be run as root" msgstr "kann nicht als root ausgeführt werden" -#: initdb.c:765 +#: initdb.c:820 #, c-format msgid "Please log in (using, e.g., \"su\") as the (unprivileged) user that will own the server process." msgstr "Bitte loggen Sie sich (z.B. mit »su«) als der (unprivilegierte) Benutzer ein, der Eigentümer des Serverprozesses sein soll." -#: initdb.c:797 +#: initdb.c:852 #, c-format msgid "\"%s\" is not a valid server encoding name" msgstr "»%s« ist keine gültige Serverkodierung" -#: initdb.c:941 +#: initdb.c:996 #, c-format msgid "file \"%s\" does not exist" msgstr "Datei »%s« existiert nicht" -#: initdb.c:942 initdb.c:947 initdb.c:954 +#: initdb.c:997 initdb.c:1002 initdb.c:1009 #, c-format msgid "This might mean you have a corrupted installation or identified the wrong directory with the invocation option -L." msgstr "Das könnte bedeuten, dass Ihre Installation fehlerhaft ist oder dass Sie das falsche Verzeichnis mit der Kommandozeilenoption -L angegeben haben." -#: initdb.c:946 +#: initdb.c:1001 #, c-format msgid "could not access file \"%s\": %m" msgstr "konnte nicht auf Datei »%s« zugreifen: %m" -#: initdb.c:953 +#: initdb.c:1008 #, c-format msgid "file \"%s\" is not a regular file" msgstr "Datei »%s« ist keine normale Datei" -#: initdb.c:1086 +#: initdb.c:1141 #, c-format msgid "selecting dynamic shared memory implementation ... " msgstr "wähle Implementierung von dynamischem Shared Memory ... " -#: initdb.c:1095 +#: initdb.c:1150 #, c-format msgid "selecting default \"max_connections\" ... " msgstr "wähle Vorgabewert für »max_connections« ... " -#: initdb.c:1115 +#: initdb.c:1170 #, c-format msgid "selecting default \"shared_buffers\" ... " msgstr "wähle Vorgabewert für »shared_buffers« ... " -#: initdb.c:1138 +#: initdb.c:1193 #, c-format msgid "selecting default time zone ... " msgstr "wähle Vorgabewert für Zeitzone ... " -#: initdb.c:1217 +#: initdb.c:1272 msgid "creating configuration files ... " msgstr "erzeuge Konfigurationsdateien ... " -#: initdb.c:1370 initdb.c:1384 initdb.c:1451 initdb.c:1462 +#: initdb.c:1425 initdb.c:1439 initdb.c:1506 initdb.c:1517 #, c-format msgid "could not change permissions of \"%s\": %m" msgstr "konnte Zugriffsrechte von »%s« nicht ändern: %m" -#: initdb.c:1481 +#: initdb.c:1536 #, c-format msgid "running bootstrap script ... " msgstr "führe Bootstrap-Skript aus ... " -#: initdb.c:1493 +#: initdb.c:1548 #, c-format msgid "input file \"%s\" does not belong to PostgreSQL %s" msgstr "Eingabedatei »%s« gehört nicht zu PostgreSQL %s" -#: initdb.c:1495 +#: initdb.c:1550 #, c-format msgid "Specify the correct path using the option -L." msgstr "Geben Sie den korrekten Pfad mit der Option -L an." -#: initdb.c:1597 +#: initdb.c:1652 msgid "Enter new superuser password: " msgstr "Geben Sie das neue Superuser-Passwort ein: " -#: initdb.c:1598 +#: initdb.c:1653 msgid "Enter it again: " msgstr "Geben Sie es noch einmal ein: " -#: initdb.c:1601 +#: initdb.c:1656 #, c-format msgid "Passwords didn't match.\n" msgstr "Passwörter stimmten nicht überein.\n" -#: initdb.c:1625 +#: initdb.c:1680 #, c-format msgid "could not read password from file \"%s\": %m" msgstr "konnte Passwort nicht aus Datei »%s« lesen: %m" -#: initdb.c:1628 +#: initdb.c:1683 #, c-format msgid "password file \"%s\" is empty" msgstr "Passwortdatei »%s« ist leer" -#: initdb.c:2040 +#: initdb.c:2095 #, c-format msgid "caught signal\n" msgstr "Signal abgefangen\n" -#: initdb.c:2046 +#: initdb.c:2101 #, c-format msgid "could not write to child process: %s\n" msgstr "konnte nicht an Kindprozess schreiben: %s\n" -#: initdb.c:2054 +#: initdb.c:2109 #, c-format msgid "ok\n" msgstr "ok\n" -#: initdb.c:2143 -#, c-format -msgid "setlocale() failed" -msgstr "setlocale() fehlgeschlagen" - -#: initdb.c:2161 +#: initdb.c:2191 initdb.c:2237 #, c-format -msgid "failed to restore old locale \"%s\"" -msgstr "konnte alte Locale »%s« nicht wiederherstellen" +msgid "locale name \"%s\" contains non-ASCII characters" +msgstr "Locale-Name »%s« enthält Nicht-ASCII-Zeichen" -#: initdb.c:2169 +#: initdb.c:2217 #, c-format msgid "invalid locale name \"%s\"" msgstr "ungültiger Locale-Name: »%s«" -#: initdb.c:2170 +#: initdb.c:2218 #, c-format msgid "If the locale name is specific to ICU, use --icu-locale." msgstr "Wenn der Locale-Name nur für ICU gültig ist, verwenden Sie --icu-locale." -#: initdb.c:2183 +#: initdb.c:2231 #, c-format msgid "invalid locale settings; check LANG and LC_* environment variables" msgstr "ungültige Locale-Einstellungen; prüfen Sie die Umgebungsvariablen LANG und LC_*" -#: initdb.c:2209 initdb.c:2233 +#: initdb.c:2262 initdb.c:2286 #, c-format msgid "encoding mismatch" msgstr "unpassende Kodierungen" -#: initdb.c:2210 +#: initdb.c:2263 #, c-format msgid "The encoding you selected (%s) and the encoding that the selected locale uses (%s) do not match. This would lead to misbehavior in various character string processing functions." msgstr "Die von Ihnen gewählte Kodierung (%s) und die von der gewählten Locale verwendete Kodierung (%s) passen nicht zu einander. Das würde in verschiedenen Zeichenkettenfunktionen zu Fehlverhalten führen." -#: initdb.c:2215 initdb.c:2236 +#: initdb.c:2268 initdb.c:2289 #, c-format msgid "Rerun %s and either do not specify an encoding explicitly, or choose a matching combination." msgstr "Starten Sie %s erneut und geben Sie entweder keine Kodierung explizit an oder wählen Sie eine passende Kombination." -#: initdb.c:2234 +#: initdb.c:2287 #, c-format msgid "The encoding you selected (%s) is not supported with the ICU provider." msgstr "Die von Ihnen gewählte Kodierung (%s) wird vom ICU-Provider nicht unterstützt." -#: initdb.c:2285 +#: initdb.c:2338 #, c-format msgid "could not convert locale name \"%s\" to language tag: %s" msgstr "konnte Locale-Namen »%s« nicht in Sprach-Tag umwandeln: %s" -#: initdb.c:2291 initdb.c:2343 initdb.c:2435 +#: initdb.c:2344 initdb.c:2396 initdb.c:2488 #, c-format msgid "ICU is not supported in this build" msgstr "ICU wird in dieser Installation nicht unterstützt" -#: initdb.c:2314 +#: initdb.c:2367 #, c-format msgid "could not get language from locale \"%s\": %s" msgstr "konnte Sprache nicht aus Locale »%s« ermitteln: %s" -#: initdb.c:2340 +#: initdb.c:2393 #, c-format msgid "locale \"%s\" has unknown language \"%s\"" msgstr "Locale »%s« hat unbekannte Sprache »%s«" -#: initdb.c:2401 +#: initdb.c:2454 #, c-format msgid "locale must be specified if provider is %s" msgstr "Locale muss angegeben werden, wenn der Provider %s ist" -#: initdb.c:2412 +#: initdb.c:2465 #, c-format msgid "invalid locale name \"%s\" for builtin provider" msgstr "ungültiger Locale-Name »%s« für Provider »builtin«" -#: initdb.c:2423 +#: initdb.c:2476 #, c-format msgid "Using language tag \"%s\" for ICU locale \"%s\".\n" msgstr "Verwende Sprach-Tag »%s« für ICU-Locale »%s«.\n" -#: initdb.c:2446 +#: initdb.c:2499 #, c-format msgid "" "%s initializes a PostgreSQL database cluster.\n" @@ -537,17 +552,17 @@ msgstr "" "%s initialisiert einen PostgreSQL-Datenbankcluster.\n" "\n" -#: initdb.c:2447 +#: initdb.c:2500 #, c-format msgid "Usage:\n" msgstr "Aufruf:\n" -#: initdb.c:2448 +#: initdb.c:2501 #, c-format msgid " %s [OPTION]... [DATADIR]\n" msgstr " %s [OPTION]... [DATENVERZEICHNIS]\n" -#: initdb.c:2449 +#: initdb.c:2502 #, c-format msgid "" "\n" @@ -556,65 +571,65 @@ msgstr "" "\n" "Optionen:\n" -#: initdb.c:2450 +#: initdb.c:2503 #, c-format msgid " -A, --auth=METHOD default authentication method for local connections\n" msgstr " -A, --auth=METHODE vorgegebene Authentifizierungsmethode für lokale Verbindungen\n" -#: initdb.c:2451 +#: initdb.c:2504 #, c-format msgid " --auth-host=METHOD default authentication method for local TCP/IP connections\n" msgstr "" " --auth-host=METHODE vorgegebene Authentifizierungsmethode für lokale\n" " TCP/IP-Verbindungen\n" -#: initdb.c:2452 +#: initdb.c:2505 #, c-format msgid " --auth-local=METHOD default authentication method for local-socket connections\n" msgstr "" " --auth-local=METHODE vorgegebene Authentifizierungsmethode für Verbindungen\n" " auf lokalen Sockets\n" -#: initdb.c:2453 +#: initdb.c:2506 #, c-format msgid " [-D, --pgdata=]DATADIR location for this database cluster\n" msgstr " [-D, --pgdata=]DATENVERZ Datenverzeichnis für diesen Datenbankcluster\n" -#: initdb.c:2454 +#: initdb.c:2507 #, c-format msgid " -E, --encoding=ENCODING set default encoding for new databases\n" msgstr " -E, --encoding=KODIERUNG setze Standardkodierung für neue Datenbanken\n" -#: initdb.c:2455 +#: initdb.c:2508 #, c-format msgid " -g, --allow-group-access allow group read/execute on data directory\n" msgstr "" " -g, --allow-group-access Lese- und Ausführungsrechte am Datenverzeichnis\n" " für Gruppe setzen\n" -#: initdb.c:2456 +#: initdb.c:2509 #, c-format msgid " --icu-locale=LOCALE set ICU locale ID for new databases\n" msgstr " --icu-locale=LOCALE setze ICU-Locale-ID für neue Datenbanken\n" -#: initdb.c:2457 +#: initdb.c:2510 #, c-format msgid " --icu-rules=RULES set additional ICU collation rules for new databases\n" msgstr "" " --icu-rules=REGELN setze zusätzliche ICU-Sortierfolgenregeln für neue\n" " Datenbanken\n" -#: initdb.c:2458 +#: initdb.c:2511 #, c-format msgid " -k, --data-checksums use data page checksums\n" msgstr " -k, --data-checksums Datenseitenprüfsummen verwenden\n" -#: initdb.c:2459 +#: initdb.c:2512 #, c-format msgid " --locale=LOCALE set default locale for new databases\n" msgstr " --locale=LOCALE setze Standardlocale für neue Datenbanken\n" -#: initdb.c:2460 +#: initdb.c:2513 #, c-format msgid "" " --lc-collate=, --lc-ctype=, --lc-messages=LOCALE\n" @@ -628,12 +643,12 @@ msgstr "" " für neue Datenbanken (Voreinstellung aus der\n" " Umgebung entnommen)\n" -#: initdb.c:2464 +#: initdb.c:2517 #, c-format msgid " --no-locale equivalent to --locale=C\n" msgstr " --no-locale entspricht --locale=C\n" -#: initdb.c:2465 +#: initdb.c:2518 #, c-format msgid "" " --builtin-locale=LOCALE\n" @@ -642,7 +657,7 @@ msgstr "" " --builtin-locale=LOCALE\n" " setze Locale für Provider »builtin« für neue Datenbanken\n" -#: initdb.c:2467 +#: initdb.c:2520 #, c-format msgid "" " --locale-provider={builtin|libc|icu}\n" @@ -651,12 +666,12 @@ msgstr "" " --locale-provider={builtin|libc|icu}\n" " setze Standard-Locale-Provider für neue Datenbanken\n" -#: initdb.c:2469 +#: initdb.c:2522 #, c-format msgid " --pwfile=FILE read password for the new superuser from file\n" msgstr " --pwfile=DATEI lese Passwort des neuen Superusers aus Datei\n" -#: initdb.c:2470 +#: initdb.c:2523 #, c-format msgid "" " -T, --text-search-config=CFG\n" @@ -665,27 +680,27 @@ msgstr "" " -T, --text-search-config=KFG\n" " Standardtextsuchekonfiguration\n" -#: initdb.c:2472 +#: initdb.c:2525 #, c-format msgid " -U, --username=NAME database superuser name\n" msgstr " -U, --username=NAME Datenbank-Superusername\n" -#: initdb.c:2473 +#: initdb.c:2526 #, c-format msgid " -W, --pwprompt prompt for a password for the new superuser\n" msgstr " -W, --pwprompt frage nach Passwort für neuen Superuser\n" -#: initdb.c:2474 +#: initdb.c:2527 #, c-format msgid " -X, --waldir=WALDIR location for the write-ahead log directory\n" msgstr " -X, --waldir=WALVERZ Verzeichnis für das Write-Ahead-Log\n" -#: initdb.c:2475 +#: initdb.c:2528 #, c-format msgid " --wal-segsize=SIZE size of WAL segments, in megabytes\n" msgstr " --wal-segsize=ZAHL Größe eines WAL-Segments, in Megabyte\n" -#: initdb.c:2476 +#: initdb.c:2529 #, c-format msgid "" "\n" @@ -694,63 +709,63 @@ msgstr "" "\n" "Weniger häufig verwendete Optionen:\n" -#: initdb.c:2477 +#: initdb.c:2530 #, c-format msgid " -c, --set NAME=VALUE override default setting for server parameter\n" msgstr " -c, --set NAME=WERT Voreinstellung für Serverparameter setzen\n" -#: initdb.c:2478 +#: initdb.c:2531 #, c-format msgid " -d, --debug generate lots of debugging output\n" msgstr " -d, --debug erzeuge eine Menge Debug-Ausgaben\n" -#: initdb.c:2479 +#: initdb.c:2532 #, c-format msgid " --discard-caches set debug_discard_caches=1\n" msgstr " --discard-caches debug_discard_caches=1 setzen\n" -#: initdb.c:2480 +#: initdb.c:2533 #, c-format msgid " -L DIRECTORY where to find the input files\n" msgstr " -L VERZEICHNIS wo sind die Eingabedateien zu finden\n" -#: initdb.c:2481 +#: initdb.c:2534 #, c-format msgid " -n, --no-clean do not clean up after errors\n" msgstr " -n, --no-clean nach Fehlern nicht aufräumen\n" -#: initdb.c:2482 +#: initdb.c:2535 #, c-format msgid " -N, --no-sync do not wait for changes to be written safely to disk\n" msgstr "" " -N, --no-sync nicht warten, bis Änderungen sicher auf Festplatte\n" " geschrieben sind\n" -#: initdb.c:2483 +#: initdb.c:2536 #, c-format msgid " --no-instructions do not print instructions for next steps\n" msgstr " --no-instructions Anleitung für nächste Schritte nicht ausgeben\n" -#: initdb.c:2484 +#: initdb.c:2537 #, c-format msgid " -s, --show show internal settings, then exit\n" msgstr " -s, --show interne Einstellungen zeigen, dann beenden\n" -#: initdb.c:2485 +#: initdb.c:2538 #, c-format msgid " --sync-method=METHOD set method for syncing files to disk\n" msgstr "" " --sync-method=METHODE Methode zum Synchronisieren vond Dateien auf\n" " Festplatte setzen\n" -#: initdb.c:2486 +#: initdb.c:2539 #, c-format msgid " -S, --sync-only only sync database files to disk, then exit\n" msgstr "" " -S, --sync-only nur Datenbankdateien auf Festplatte synchronisieren,\n" " dann beenden\n" -#: initdb.c:2487 +#: initdb.c:2540 #, c-format msgid "" "\n" @@ -759,17 +774,17 @@ msgstr "" "\n" "Weitere Optionen:\n" -#: initdb.c:2488 +#: initdb.c:2541 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version Versionsinformationen anzeigen, dann beenden\n" -#: initdb.c:2489 +#: initdb.c:2542 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help diese Hilfe anzeigen, dann beenden\n" -#: initdb.c:2490 +#: initdb.c:2543 #, c-format msgid "" "\n" @@ -780,7 +795,7 @@ msgstr "" "Wenn kein Datenverzeichnis angegeben ist, dann wird die Umgebungsvariable\n" "PGDATA verwendet.\n" -#: initdb.c:2492 +#: initdb.c:2545 #, c-format msgid "" "\n" @@ -789,72 +804,72 @@ msgstr "" "\n" "Berichten Sie Fehler an <%s>.\n" -#: initdb.c:2493 +#: initdb.c:2546 #, c-format msgid "%s home page: <%s>\n" msgstr "%s Homepage: <%s>\n" -#: initdb.c:2517 +#: initdb.c:2570 #, c-format msgid "invalid authentication method \"%s\" for \"%s\" connections" msgstr "ungültige Authentifizierungsmethode »%s« für »%s«-Verbindungen" -#: initdb.c:2531 +#: initdb.c:2584 #, c-format msgid "must specify a password for the superuser to enable password authentication" msgstr "Superuser-Passwort muss angegeben werden um Passwortauthentifizierung einzuschalten" -#: initdb.c:2550 +#: initdb.c:2603 #, c-format msgid "no data directory specified" msgstr "kein Datenverzeichnis angegeben" -#: initdb.c:2551 +#: initdb.c:2604 #, c-format msgid "You must identify the directory where the data for this database system will reside. Do this with either the invocation option -D or the environment variable PGDATA." msgstr "Sie müssen das Verzeichnis angeben, wo dieses Datenbanksystem abgelegt werden soll. Machen Sie dies entweder mit der Kommandozeilenoption -D oder mit der Umgebungsvariable PGDATA." -#: initdb.c:2568 +#: initdb.c:2621 #, c-format msgid "could not set environment" msgstr "konnte Umgebung nicht setzen" -#: initdb.c:2586 +#: initdb.c:2639 #, c-format msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"" msgstr "Programm »%s« wird von %s benötigt, aber wurde nicht im selben Verzeichnis wie »%s« gefunden" -#: initdb.c:2589 +#: initdb.c:2642 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" msgstr "Programm »%s« wurde von »%s« gefunden, aber es hatte nicht die gleiche Version wie %s" -#: initdb.c:2604 +#: initdb.c:2657 #, c-format msgid "input file location must be an absolute path" msgstr "Eingabedatei muss absoluten Pfad haben" -#: initdb.c:2621 +#: initdb.c:2674 #, c-format msgid "The database cluster will be initialized with locale \"%s\".\n" msgstr "Der Datenbankcluster wird mit der Locale »%s« initialisiert werden.\n" -#: initdb.c:2624 +#: initdb.c:2677 #, c-format msgid "The database cluster will be initialized with this locale configuration:\n" msgstr "Der Datenbankcluster wird mit dieser Locale-Konfiguration initialisiert werden:\n" -#: initdb.c:2625 +#: initdb.c:2678 #, c-format msgid " locale provider: %s\n" msgstr " Locale-Provider: %s\n" -#: initdb.c:2627 +#: initdb.c:2680 #, c-format msgid " default collation: %s\n" msgstr " Standardsortierfolge: %s\n" -#: initdb.c:2628 +#: initdb.c:2681 #, c-format msgid "" " LC_COLLATE: %s\n" @@ -871,22 +886,22 @@ msgstr "" " LC_NUMERIC: %s\n" " LC_TIME: %s\n" -#: initdb.c:2658 +#: initdb.c:2711 #, c-format msgid "could not find suitable encoding for locale \"%s\"" msgstr "konnte keine passende Kodierung für Locale »%s« finden" -#: initdb.c:2660 +#: initdb.c:2713 #, c-format msgid "Rerun %s with the -E option." msgstr "Führen Sie %s erneut mit der Option -E aus." -#: initdb.c:2661 initdb.c:3204 initdb.c:3324 initdb.c:3344 +#: initdb.c:2714 initdb.c:3257 initdb.c:3377 initdb.c:3397 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Versuchen Sie »%s --help« für weitere Informationen." -#: initdb.c:2673 +#: initdb.c:2726 #, c-format msgid "" "Encoding \"%s\" implied by locale is not allowed as a server-side encoding.\n" @@ -895,112 +910,112 @@ msgstr "" "Die von der Locale gesetzte Kodierung »%s« ist nicht als serverseitige Kodierung erlaubt.\n" "Die Standarddatenbankkodierung wird stattdessen auf »%s« gesetzt.\n" -#: initdb.c:2678 +#: initdb.c:2731 #, c-format msgid "locale \"%s\" requires unsupported encoding \"%s\"" msgstr "Locale »%s« benötigt nicht unterstützte Kodierung »%s«" -#: initdb.c:2680 +#: initdb.c:2733 #, c-format msgid "Encoding \"%s\" is not allowed as a server-side encoding." msgstr "Kodierung »%s« ist nicht als serverseitige Kodierung erlaubt." -#: initdb.c:2682 +#: initdb.c:2735 #, c-format msgid "Rerun %s with a different locale selection." msgstr "Starten Sie %s erneut mit einer anderen Locale-Wahl." -#: initdb.c:2690 +#: initdb.c:2743 #, c-format msgid "The default database encoding has accordingly been set to \"%s\".\n" msgstr "Die Standarddatenbankkodierung wurde entsprechend auf »%s« gesetzt.\n" -#: initdb.c:2704 +#: initdb.c:2757 #, c-format msgid "builtin provider locale \"%s\" requires encoding \"%s\"" msgstr "Locale »%s« vom Provider »builtin« benötigt Kodierung »%s«" -#: initdb.c:2766 +#: initdb.c:2819 #, c-format msgid "could not find suitable text search configuration for locale \"%s\"" msgstr "konnte keine passende Textsuchekonfiguration für Locale »%s« finden" -#: initdb.c:2777 +#: initdb.c:2830 #, c-format msgid "suitable text search configuration for locale \"%s\" is unknown" msgstr "passende Textsuchekonfiguration für Locale »%s« ist unbekannt" -#: initdb.c:2782 +#: initdb.c:2835 #, c-format msgid "specified text search configuration \"%s\" might not match locale \"%s\"" msgstr "angegebene Textsuchekonfiguration »%s« passt möglicherweise nicht zur Locale »%s«" -#: initdb.c:2787 +#: initdb.c:2840 #, c-format msgid "The default text search configuration will be set to \"%s\".\n" msgstr "Die Standardtextsuchekonfiguration wird auf »%s« gesetzt.\n" -#: initdb.c:2830 initdb.c:2901 +#: initdb.c:2883 initdb.c:2954 #, c-format msgid "creating directory %s ... " msgstr "erzeuge Verzeichnis %s ... " -#: initdb.c:2835 initdb.c:2906 initdb.c:2954 initdb.c:3011 +#: initdb.c:2888 initdb.c:2959 initdb.c:3007 initdb.c:3064 #, c-format msgid "could not create directory \"%s\": %m" msgstr "konnte Verzeichnis »%s« nicht erzeugen: %m" -#: initdb.c:2844 initdb.c:2916 +#: initdb.c:2897 initdb.c:2969 #, c-format msgid "fixing permissions on existing directory %s ... " msgstr "berichtige Zugriffsrechte des bestehenden Verzeichnisses %s ... " -#: initdb.c:2849 initdb.c:2921 +#: initdb.c:2902 initdb.c:2974 #, c-format msgid "could not change permissions of directory \"%s\": %m" msgstr "konnte Rechte des Verzeichnisses »%s« nicht ändern: %m" -#: initdb.c:2861 initdb.c:2933 +#: initdb.c:2914 initdb.c:2986 #, c-format msgid "directory \"%s\" exists but is not empty" msgstr "Verzeichnis »%s« existiert aber ist nicht leer" -#: initdb.c:2865 +#: initdb.c:2918 #, c-format msgid "If you want to create a new database system, either remove or empty the directory \"%s\" or run %s with an argument other than \"%s\"." msgstr "Wenn Sie ein neues Datenbanksystem erzeugen wollen, entfernen oder leeren Sie das Verzeichnis »%s« or führen Sie %s mit einem anderen Argument als »%s« aus." -#: initdb.c:2873 initdb.c:2943 initdb.c:3369 +#: initdb.c:2926 initdb.c:2996 initdb.c:3422 #, c-format msgid "could not access directory \"%s\": %m" msgstr "konnte nicht auf Verzeichnis »%s« zugreifen: %m" -#: initdb.c:2894 +#: initdb.c:2947 #, c-format msgid "WAL directory location must be an absolute path" msgstr "WAL-Verzeichnis muss absoluten Pfad haben" -#: initdb.c:2937 +#: initdb.c:2990 #, c-format msgid "If you want to store the WAL there, either remove or empty the directory \"%s\"." msgstr "Wenn Sie dort den WAL ablegen wollen, entfernen oder leeren Sie das Verzeichnis »%s«." -#: initdb.c:2947 +#: initdb.c:3000 #, c-format msgid "could not create symbolic link \"%s\": %m" msgstr "konnte symbolische Verknüpfung »%s« nicht erstellen: %m" -#: initdb.c:2966 +#: initdb.c:3019 #, c-format msgid "It contains a dot-prefixed/invisible file, perhaps due to it being a mount point." msgstr "Es enthält eine unsichtbare Datei (beginnt mit Punkt), vielleicht weil es ein Einhängepunkt ist." -#: initdb.c:2968 +#: initdb.c:3021 #, c-format msgid "It contains a lost+found directory, perhaps due to it being a mount point." msgstr "Es enthält ein Verzeichnis »lost+found«, vielleicht weil es ein Einhängepunkt ist." -#: initdb.c:2970 +#: initdb.c:3023 #, c-format msgid "" "Using a mount point directly as the data directory is not recommended.\n" @@ -1009,65 +1024,65 @@ msgstr "" "Einen Einhängepunkt direkt als Datenverzeichnis zu verwenden wird nicht empfohlen.\n" "Erzeugen Sie ein Unterverzeichnis unter dem Einhängepunkt." -#: initdb.c:2997 +#: initdb.c:3050 #, c-format msgid "creating subdirectories ... " msgstr "erzeuge Unterverzeichnisse ... " -#: initdb.c:3040 +#: initdb.c:3093 msgid "performing post-bootstrap initialization ... " msgstr "führe Post-Bootstrap-Initialisierung durch ... " -#: initdb.c:3203 +#: initdb.c:3256 #, c-format msgid "-c %s requires a value" msgstr "-c %s benötigt einen Wert" -#: initdb.c:3228 +#: initdb.c:3281 #, c-format msgid "Running in debug mode.\n" msgstr "Debug-Modus ist an.\n" -#: initdb.c:3232 +#: initdb.c:3285 #, c-format msgid "Running in no-clean mode. Mistakes will not be cleaned up.\n" msgstr "No-Clean-Modus ist an. Bei Fehlern wird nicht aufgeräumt.\n" -#: initdb.c:3305 +#: initdb.c:3358 #, c-format msgid "unrecognized locale provider: %s" msgstr "unbekannter Locale-Provider: %s" -#: initdb.c:3342 +#: initdb.c:3395 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "zu viele Kommandozeilenargumente (das erste ist »%s«)" -#: initdb.c:3349 initdb.c:3353 initdb.c:3357 +#: initdb.c:3402 initdb.c:3406 initdb.c:3410 #, c-format msgid "%s cannot be specified unless locale provider \"%s\" is chosen" msgstr "%s kann nur angegeben werden, wenn Locale-Provider »%s« gewählt ist" -#: initdb.c:3371 initdb.c:3434 +#: initdb.c:3424 initdb.c:3487 msgid "syncing data to disk ... " msgstr "synchronisiere Daten auf Festplatte ... " -#: initdb.c:3379 +#: initdb.c:3432 #, c-format msgid "password prompt and password file cannot be specified together" msgstr "Passwortprompt und Passwortdatei können nicht zusammen angegeben werden" -#: initdb.c:3390 +#: initdb.c:3443 #, 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" -#: initdb.c:3403 +#: initdb.c:3456 #, c-format msgid "superuser name \"%s\" is disallowed; role names cannot begin with \"pg_\"" msgstr "Superuser-Name »%s« nicht erlaubt; Rollennamen können nicht mit »pg_« anfangen" -#: initdb.c:3405 +#: initdb.c:3458 #, c-format msgid "" "The files belonging to this database system will be owned by user \"%s\".\n" @@ -1078,17 +1093,17 @@ msgstr "" "»%s« gehören. Diesem Benutzer muss auch der Serverprozess gehören.\n" "\n" -#: initdb.c:3421 +#: initdb.c:3474 #, c-format msgid "Data page checksums are enabled.\n" msgstr "Datenseitenprüfsummen sind eingeschaltet.\n" -#: initdb.c:3423 +#: initdb.c:3476 #, c-format msgid "Data page checksums are disabled.\n" msgstr "Datenseitenprüfsummen sind ausgeschaltet.\n" -#: initdb.c:3440 +#: initdb.c:3493 #, c-format msgid "" "\n" @@ -1099,22 +1114,22 @@ msgstr "" "Synchronisation auf Festplatte übersprungen.\n" "Das Datenverzeichnis könnte verfälscht werden, falls das Betriebssystem abstürzt.\n" -#: initdb.c:3445 +#: initdb.c:3498 #, c-format msgid "enabling \"trust\" authentication for local connections" msgstr "Authentifizierung für lokale Verbindungen auf »trust« gesetzt" -#: initdb.c:3446 +#: initdb.c:3499 #, c-format msgid "You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb." msgstr "Sie können dies ändern, indem Sie pg_hba.conf bearbeiten oder beim nächsten Aufruf von initdb die Option -A, oder --auth-local und --auth-host, verwenden." #. translator: This is a placeholder in a shell command. -#: initdb.c:3476 +#: initdb.c:3529 msgid "logfile" msgstr "logdatei" -#: initdb.c:3478 +#: initdb.c:3531 #, c-format msgid "" "\n" diff --git a/src/bin/initdb/po/es.po b/src/bin/initdb/po/es.po index 449d2020a6e..0b7dd6ce503 100644 --- a/src/bin/initdb/po/es.po +++ b/src/bin/initdb/po/es.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: initdb (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-10-03 07:20+0000\n" -"PO-Revision-Date: 2023-10-04 11:47+0200\n" +"POT-Creation-Date: 2024-08-01 11:21+0000\n" +"PO-Revision-Date: 2024-08-02 16:03-0400\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" "Language: es\n" @@ -40,33 +40,48 @@ msgstr "detalle: " msgid "hint: " msgstr "consejo: " -#: ../../common/exec.c:172 +#: ../../common/exec.c:174 #, c-format msgid "invalid binary \"%s\": %m" msgstr "binario «%s» no válido: %m" -#: ../../common/exec.c:215 +#: ../../common/exec.c:217 #, c-format msgid "could not read binary \"%s\": %m" msgstr "no se pudo leer el binario «%s»: %m" -#: ../../common/exec.c:223 +#: ../../common/exec.c:225 #, c-format msgid "could not find a \"%s\" to execute" msgstr "no se pudo encontrar un «%s» para ejecutar" -#: ../../common/exec.c:250 +#: ../../common/exec.c:252 #, c-format msgid "could not resolve path \"%s\" to absolute form: %m" msgstr "no se pudo resolver la ruta «%s» a forma absoluta: %m" -#: ../../common/exec.c:412 +#: ../../common/exec.c:382 initdb.c:695 +#, c-format +msgid "could not execute command \"%s\": %m" +msgstr "no se pudo ejecutar la orden «%s»: %m" + +#: ../../common/exec.c:394 +#, c-format +msgid "could not read from command \"%s\": %m" +msgstr "no se pudo leer desde la orden «%s»: %m" + +#: ../../common/exec.c:397 +#, c-format +msgid "no data was returned by command \"%s\"" +msgstr "la orden «%s» no retornó datos" + +#: ../../common/exec.c:424 #, c-format msgid "%s() failed: %m" msgstr "%s() falló: %m" -#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687 -#: initdb.c:349 +#: ../../common/exec.c:562 ../../common/exec.c:607 ../../common/exec.c:699 +#: initdb.c:353 #, c-format msgid "out of memory" msgstr "memoria agotada" @@ -82,35 +97,46 @@ msgstr "memoria agotada\n" msgid "cannot duplicate null pointer (internal error)\n" msgstr "no se puede duplicar un puntero nulo (error interno)\n" -#: ../../common/file_utils.c:87 ../../common/file_utils.c:447 +#: ../../common/file_utils.c:70 ../../common/file_utils.c:347 +#: ../../common/file_utils.c:406 ../../common/file_utils.c:480 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "no se pudo abrir el archivo «%s»: %m" + +#: ../../common/file_utils.c:76 +#, 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" + +#: ../../common/file_utils.c:120 ../../common/file_utils.c:566 #, c-format msgid "could not stat file \"%s\": %m" msgstr "no se pudo hacer stat al archivo «%s»: %m" -#: ../../common/file_utils.c:162 ../../common/pgfnames.c:48 -#: ../../common/rmtree.c:63 +#: ../../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 "esta instalación no soporta el método de sync «%s»" + +#: ../../common/file_utils.c:151 ../../common/file_utils.c:281 +#: ../../common/pgfnames.c:48 ../../common/rmtree.c:63 #, c-format msgid "could not open directory \"%s\": %m" msgstr "no se pudo abrir el directorio «%s»: %m" -#: ../../common/file_utils.c:196 ../../common/pgfnames.c:69 -#: ../../common/rmtree.c:104 +#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 +#: ../../common/pgfnames.c:69 ../../common/rmtree.c:106 #, c-format msgid "could not read directory \"%s\": %m" msgstr "no se pudo leer el directorio «%s»: %m" -#: ../../common/file_utils.c:228 ../../common/file_utils.c:287 -#: ../../common/file_utils.c:361 -#, c-format -msgid "could not open file \"%s\": %m" -msgstr "no se pudo abrir el archivo «%s»: %m" - -#: ../../common/file_utils.c:299 ../../common/file_utils.c:369 +#: ../../common/file_utils.c:418 ../../common/file_utils.c:488 #, c-format msgid "could not fsync file \"%s\": %m" msgstr "no se pudo sincronizar (fsync) archivo «%s»: %m" -#: ../../common/file_utils.c:379 +#: ../../common/file_utils.c:498 #, c-format msgid "could not rename file \"%s\" to \"%s\": %m" msgstr "no se pudo renombrar el archivo de «%s» a «%s»: %m" @@ -150,12 +176,12 @@ msgstr "no se pudo re-ejecutar con el token restringido: código de error %lu" msgid "could not get exit code from subprocess: error code %lu" msgstr "no se pudo obtener el código de salida del subproceso: código de error %lu" -#: ../../common/rmtree.c:95 +#: ../../common/rmtree.c:97 #, c-format msgid "could not remove file \"%s\": %m" msgstr "no se pudo eliminar el archivo «%s»: %m" -#: ../../common/rmtree.c:122 +#: ../../common/rmtree.c:124 #, c-format msgid "could not remove directory \"%s\": %m" msgstr "no se pudo eliminar el directorio «%s»: %m" @@ -204,6 +230,31 @@ msgstr "el proceso hijo fue terminado por una señal %d: %s" msgid "child process exited with unrecognized status %d" msgstr "el proceso hijo terminó con código no reconocido %d" +#: ../../fe_utils/option_utils.c:69 +#, c-format +msgid "invalid value \"%s\" for option %s" +msgstr "el valor «%s» no es válido para la opción %s" + +#: ../../fe_utils/option_utils.c:76 +#, c-format +msgid "%s must be in range %d..%d" +msgstr "%s debe estar en el rango %d..%d" + +#: ../../fe_utils/option_utils.c:106 +#, c-format +msgid "unrecognized sync method: %s" +msgstr "método sync no reconocido: %s" + +#: ../../fe_utils/string_utils.c:434 +#, c-format +msgid "shell command argument contains a newline or carriage return: \"%s\"\n" +msgstr "el argumento de la orden de shell contiene un salto de línea o retorno de carro: «%s»\n" + +#: ../../fe_utils/string_utils.c:607 +#, c-format +msgid "database name contains a newline or carriage return: \"%s\"\n" +msgstr "el nombre de base de datos contiene un salto de línea o retorno de carro: «%s»\n" + #: ../../port/dirmod.c:287 #, c-format msgid "could not set junction for \"%s\": %s\n" @@ -214,276 +265,276 @@ msgstr "no se pudo definir un junction para «%s»: %s\n" msgid "could not get junction for \"%s\": %s\n" msgstr "no se pudo obtener junction para «%s»: %s\n" -#: initdb.c:618 initdb.c:1613 +#: initdb.c:627 initdb.c:1619 #, c-format msgid "could not open file \"%s\" for reading: %m" msgstr "no se pudo abrir archivo «%s» para lectura: %m" -#: initdb.c:662 initdb.c:966 initdb.c:986 +#: initdb.c:671 initdb.c:975 initdb.c:995 #, c-format msgid "could not open file \"%s\" for writing: %m" msgstr "no se pudo abrir el archivo «%s» para escritura: %m" -#: initdb.c:666 initdb.c:969 initdb.c:988 +#: initdb.c:675 initdb.c:978 initdb.c:997 #, c-format msgid "could not write file \"%s\": %m" msgstr "no se pudo escribir el archivo «%s»: %m" -#: initdb.c:670 +#: initdb.c:679 #, c-format msgid "could not close file \"%s\": %m" msgstr "no se pudo cerrar el archivo «%s»: %m" -#: initdb.c:686 -#, c-format -msgid "could not execute command \"%s\": %m" -msgstr "no se pudo ejecutar la orden «%s»: %m" - -#: initdb.c:704 +#: initdb.c:713 #, c-format msgid "removing data directory \"%s\"" msgstr "eliminando el directorio de datos «%s»" -#: initdb.c:706 +#: initdb.c:715 #, c-format msgid "failed to remove data directory" msgstr "no se pudo eliminar el directorio de datos" -#: initdb.c:710 +#: initdb.c:719 #, c-format msgid "removing contents of data directory \"%s\"" msgstr "eliminando el contenido del directorio «%s»" -#: initdb.c:713 +#: initdb.c:722 #, c-format msgid "failed to remove contents of data directory" msgstr "no se pudo eliminar el contenido del directorio de datos" -#: initdb.c:718 +#: initdb.c:727 #, c-format msgid "removing WAL directory \"%s\"" msgstr "eliminando el directorio de WAL «%s»" -#: initdb.c:720 +#: initdb.c:729 #, c-format msgid "failed to remove WAL directory" msgstr "no se pudo eliminar el directorio de WAL" -#: initdb.c:724 +#: initdb.c:733 #, c-format msgid "removing contents of WAL directory \"%s\"" msgstr "eliminando el contenido del directorio de WAL «%s»" -#: initdb.c:726 +#: initdb.c:735 #, c-format msgid "failed to remove contents of WAL directory" msgstr "no se pudo eliminar el contenido del directorio de WAL" -#: initdb.c:733 +#: initdb.c:742 #, c-format msgid "data directory \"%s\" not removed at user's request" msgstr "directorio de datos «%s» no eliminado a petición del usuario" -#: initdb.c:737 +#: initdb.c:746 #, c-format msgid "WAL directory \"%s\" not removed at user's request" msgstr "directorio de WAL «%s» no eliminado a petición del usuario" -#: initdb.c:755 +#: initdb.c:764 #, c-format msgid "cannot be run as root" msgstr "no se puede ejecutar como «root»" -#: initdb.c:756 +#: initdb.c:765 #, c-format msgid "Please log in (using, e.g., \"su\") as the (unprivileged) user that will own the server process." msgstr "Por favor conéctese (usando, por ejemplo, «su») con un usuario no privilegiado, quien ejecutará el proceso servidor." -#: initdb.c:788 +#: initdb.c:797 #, c-format msgid "\"%s\" is not a valid server encoding name" msgstr "«%s» no es un nombre válido de codificación" -#: initdb.c:932 +#: initdb.c:941 #, c-format msgid "file \"%s\" does not exist" msgstr "el archivo «%s» no existe" -#: initdb.c:933 initdb.c:938 initdb.c:945 +#: initdb.c:942 initdb.c:947 initdb.c:954 #, c-format msgid "This might mean you have a corrupted installation or identified the wrong directory with the invocation option -L." msgstr "Esto puede significar que tiene una instalación corrupta o ha identificado el directorio equivocado con la opción -L." -#: initdb.c:937 +#: initdb.c:946 #, c-format msgid "could not access file \"%s\": %m" msgstr "no se pudo acceder al archivo «%s»: %m" -#: initdb.c:944 +#: initdb.c:953 #, c-format msgid "file \"%s\" is not a regular file" msgstr "el archivo «%s» no es un archivo regular" -#: initdb.c:1077 +#: initdb.c:1086 #, c-format msgid "selecting dynamic shared memory implementation ... " msgstr "seleccionando implementación de memoria compartida dinámica ... " -#: initdb.c:1086 +#: initdb.c:1095 #, c-format -msgid "selecting default max_connections ... " -msgstr "seleccionando el valor para max_connections ... " +msgid "selecting default \"max_connections\" ... " +msgstr "seleccionando el valor para «max_connections» ... " -#: initdb.c:1106 +#: initdb.c:1115 #, c-format -msgid "selecting default shared_buffers ... " -msgstr "seleccionando el valor para shared_buffers ... " +msgid "selecting default \"shared_buffers\" ... " +msgstr "seleccionando el valor para «shared_buffers» ... " -#: initdb.c:1129 +#: initdb.c:1138 #, c-format msgid "selecting default time zone ... " msgstr "seleccionando el huso horario por omisión ... " -#: initdb.c:1206 +#: initdb.c:1217 msgid "creating configuration files ... " msgstr "creando archivos de configuración ... " -#: initdb.c:1367 initdb.c:1381 initdb.c:1448 initdb.c:1459 +#: initdb.c:1370 initdb.c:1384 initdb.c:1451 initdb.c:1462 #, c-format msgid "could not change permissions of \"%s\": %m" msgstr "no se pudo cambiar los permisos de «%s»: %m" -#: initdb.c:1477 +#: initdb.c:1481 #, c-format msgid "running bootstrap script ... " msgstr "ejecutando script de inicio (bootstrap) ... " -#: initdb.c:1489 +#: initdb.c:1493 #, c-format msgid "input file \"%s\" does not belong to PostgreSQL %s" msgstr "el archivo de entrada «%s» no pertenece a PostgreSQL %s" -#: initdb.c:1491 +#: initdb.c:1495 #, c-format msgid "Specify the correct path using the option -L." msgstr "Especifique la ruta correcta usando la opción -L." -#: initdb.c:1591 +#: initdb.c:1597 msgid "Enter new superuser password: " msgstr "Ingrese la nueva contraseña del superusuario: " -#: initdb.c:1592 +#: initdb.c:1598 msgid "Enter it again: " msgstr "Ingrésela nuevamente: " -#: initdb.c:1595 +#: initdb.c:1601 #, c-format msgid "Passwords didn't match.\n" msgstr "Las contraseñas no coinciden.\n" -#: initdb.c:1619 +#: initdb.c:1625 #, c-format msgid "could not read password from file \"%s\": %m" msgstr "no se pudo leer la contraseña desde el archivo «%s»: %m" -#: initdb.c:1622 +#: initdb.c:1628 #, c-format msgid "password file \"%s\" is empty" msgstr "el archivo de contraseña «%s» está vacío" -#: initdb.c:2034 +#: initdb.c:2040 #, c-format msgid "caught signal\n" msgstr "se ha capturado una señal\n" -#: initdb.c:2040 +#: initdb.c:2046 #, c-format msgid "could not write to child process: %s\n" msgstr "no se pudo escribir al proceso hijo: %s\n" -#: initdb.c:2048 +#: initdb.c:2054 #, c-format msgid "ok\n" msgstr "hecho\n" -#: initdb.c:2137 +#: initdb.c:2143 #, c-format msgid "setlocale() failed" msgstr "setlocale() falló" -#: initdb.c:2155 +#: initdb.c:2161 #, c-format msgid "failed to restore old locale \"%s\"" msgstr "no se pudo restaurar la configuración regional anterior «%s»" -#: initdb.c:2163 +#: initdb.c:2169 #, c-format msgid "invalid locale name \"%s\"" msgstr "nombre de configuración regional «%s» no es válido" -#: initdb.c:2164 +#: initdb.c:2170 #, c-format msgid "If the locale name is specific to ICU, use --icu-locale." -msgstr "Si el nombre de configuración regional es específico de ICU, use --icu-locale." +msgstr "Si el nombre de configuración regional es específico a ICU, utilice --icu-locale." -#: initdb.c:2177 +#: initdb.c:2183 #, c-format msgid "invalid locale settings; check LANG and LC_* environment variables" msgstr "configuración regional inválida; revise las variables de entorno LANG y LC_*" -#: initdb.c:2203 initdb.c:2227 +#: initdb.c:2209 initdb.c:2233 #, c-format msgid "encoding mismatch" msgstr "codificaciones no coinciden" -#: initdb.c:2204 +#: initdb.c:2210 #, c-format msgid "The encoding you selected (%s) and the encoding that the selected locale uses (%s) do not match. This would lead to misbehavior in various character string processing functions." msgstr "La codificación que seleccionó (%s) y la codificación de la configuración regional elegida (%s) no coinciden. Esto llevaría a comportamientos erráticos en ciertas funciones de procesamiento de cadenas de caracteres." -#: initdb.c:2209 initdb.c:2230 +#: initdb.c:2215 initdb.c:2236 #, c-format msgid "Rerun %s and either do not specify an encoding explicitly, or choose a matching combination." msgstr "" "Vuelva a ejecutar %s sin escoger explícitamente una codificación, o bien\n" "escoja una combinación coincidente." -#: initdb.c:2228 +#: initdb.c:2234 #, c-format msgid "The encoding you selected (%s) is not supported with the ICU provider." msgstr "La codificación que seleccionó (%s) no está soportada con el proveedor ICU." -#: initdb.c:2279 +#: initdb.c:2285 #, 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" -#: initdb.c:2285 initdb.c:2337 initdb.c:2416 +#: initdb.c:2291 initdb.c:2343 initdb.c:2435 #, c-format msgid "ICU is not supported in this build" msgstr "ICU no está soportado en este servidor" -#: initdb.c:2308 +#: initdb.c:2314 #, c-format msgid "could not get language from locale \"%s\": %s" -msgstr "no se pudo obtener el lenguaje de la configuración regional «%s»: %s" +msgstr "no se pudo el lenguaje de la configuración regional «%s»: %s" -#: initdb.c:2334 +#: initdb.c:2340 #, c-format msgid "locale \"%s\" has unknown language \"%s\"" -msgstr "la configuración regional «%s» tiene lenguaje «%s» desconocido" +msgstr "la configuración regional «%s» no idioma desconocido «%s»" + +#: initdb.c:2401 +#, c-format +msgid "locale must be specified if provider is %s" +msgstr "la configuración regional debe especificarse si el proveedor es %s" -#: initdb.c:2400 +#: initdb.c:2412 #, c-format -msgid "ICU locale must be specified" -msgstr "el locale ICU debe ser especificado" +msgid "invalid locale name \"%s\" for builtin provider" +msgstr "nombre de configuración regional «%s» no válido para el proveedor builtin" -#: initdb.c:2404 +#: initdb.c:2423 #, c-format msgid "Using language tag \"%s\" for ICU locale \"%s\".\n" -msgstr "Usando la marca de lenguaje «%s» para la configuración regional ICU «%s».\n" +msgstr "Usando la etiqueta de idioma «%s» para la configuración regional ICU «%s».\n" -#: initdb.c:2427 +#: initdb.c:2446 #, c-format msgid "" "%s initializes a PostgreSQL database cluster.\n" @@ -492,17 +543,17 @@ msgstr "" "%s inicializa un cluster de base de datos PostgreSQL.\n" "\n" -#: initdb.c:2428 +#: initdb.c:2447 #, c-format msgid "Usage:\n" msgstr "Empleo:\n" -#: initdb.c:2429 +#: initdb.c:2448 #, c-format msgid " %s [OPTION]... [DATADIR]\n" msgstr " %s [OPCIÓN]... [DATADIR]\n" -#: initdb.c:2430 +#: initdb.c:2449 #, c-format msgid "" "\n" @@ -511,69 +562,69 @@ msgstr "" "\n" "Opciones:\n" -#: initdb.c:2431 +#: initdb.c:2450 #, c-format msgid " -A, --auth=METHOD default authentication method for local connections\n" msgstr "" " -A, --auth=MÉTODO método de autentificación por omisión para\n" " conexiones locales\n" -#: initdb.c:2432 +#: initdb.c:2451 #, c-format msgid " --auth-host=METHOD default authentication method for local TCP/IP connections\n" msgstr "" " --auth-host=MÉTODO método de autentificación por omisión para\n" " conexiones locales TCP/IP\n" -#: initdb.c:2433 +#: initdb.c:2452 #, c-format msgid " --auth-local=METHOD default authentication method for local-socket connections\n" msgstr "" " --auth-local=MÉTODO método de autentificación por omisión para\n" " conexiones de socket local\n" -#: initdb.c:2434 +#: initdb.c:2453 #, c-format msgid " [-D, --pgdata=]DATADIR location for this database cluster\n" msgstr " [-D, --pgdata=]DATADIR ubicación para este cluster de bases de datos\n" -#: initdb.c:2435 +#: initdb.c:2454 #, c-format msgid " -E, --encoding=ENCODING set default encoding for new databases\n" msgstr " -E, --encoding=CODIF codificación por omisión para nuevas bases de datos\n" -#: initdb.c:2436 +#: initdb.c:2455 #, c-format msgid " -g, --allow-group-access allow group read/execute on data directory\n" msgstr "" " -g, --allow-group-access dar al grupo permisos de lectura/ejecución sobre\n" " el directorio de datos\n" -#: initdb.c:2437 +#: initdb.c:2456 #, c-format msgid " --icu-locale=LOCALE set ICU locale ID for new databases\n" msgstr "" " --icu-locale=LOCALE definir el ID de configuración regional ICU para\n" " nuevas bases de datos\n" -#: initdb.c:2438 +#: initdb.c:2457 #, c-format msgid " --icu-rules=RULES set additional ICU collation rules for new databases\n" -msgstr " --icu-rules=REGLAS reglas adicionales ICU en nuevas bases de datos\n" +msgstr " --icu-rules=REGLAS reglas de ordenamiento ICU adicionales para nuevas bases de datos\n" -#: initdb.c:2439 +#: initdb.c:2458 #, c-format msgid " -k, --data-checksums use data page checksums\n" msgstr " -k, --data-checksums activar sumas de verificación en páginas de datos\n" -#: initdb.c:2440 +#: initdb.c:2459 #, c-format msgid " --locale=LOCALE set default locale for new databases\n" msgstr "" " --locale=LOCALE configuración regional por omisión para \n" " nuevas bases de datos\n" -#: initdb.c:2441 +#: initdb.c:2460 #, c-format msgid "" " --lc-collate=, --lc-ctype=, --lc-messages=LOCALE\n" @@ -587,27 +638,37 @@ msgstr "" " en la categoría respectiva (el valor por omisión\n" " es tomado de variables de ambiente)\n" -#: initdb.c:2445 +#: initdb.c:2464 #, c-format msgid " --no-locale equivalent to --locale=C\n" msgstr " --no-locale equivalente a --locale=C\n" -#: initdb.c:2446 +#: initdb.c:2465 #, c-format msgid "" -" --locale-provider={libc|icu}\n" +" --builtin-locale=LOCALE\n" +" set builtin locale name for new databases\n" +msgstr "" +" --builtin-locale=LOCALE\n" +" define el nombre de configuración regional builtin\n" +" para nuevas bases de datos\n" + +#: initdb.c:2467 +#, c-format +msgid "" +" --locale-provider={builtin|libc|icu}\n" " set default locale provider for new databases\n" msgstr "" -" --locale-provider={libc|icu}\n" +" --locale-provider={builtin|libc|icu}\n" " define el proveedor de configuración regional\n" " para nuevas bases de datos\n" -#: initdb.c:2448 +#: initdb.c:2469 #, c-format msgid " --pwfile=FILE read password for the new superuser from file\n" msgstr " --pwfile=ARCHIVO leer contraseña del nuevo superusuario del archivo\n" -#: initdb.c:2449 +#: initdb.c:2470 #, c-format msgid "" " -T, --text-search-config=CFG\n" @@ -616,27 +677,27 @@ msgstr "" " -T, --text-search-config=CONF\n" " configuración de búsqueda en texto por omisión\n" -#: initdb.c:2451 +#: initdb.c:2472 #, c-format msgid " -U, --username=NAME database superuser name\n" msgstr " -U, --username=USUARIO nombre del superusuario del cluster\n" -#: initdb.c:2452 +#: initdb.c:2473 #, c-format msgid " -W, --pwprompt prompt for a password for the new superuser\n" msgstr " -W, --pwprompt pedir una contraseña para el nuevo superusuario\n" -#: initdb.c:2453 +#: initdb.c:2474 #, c-format msgid " -X, --waldir=WALDIR location for the write-ahead log directory\n" msgstr " -X, --waldir=WALDIR ubicación del directorio WAL\n" -#: initdb.c:2454 +#: initdb.c:2475 #, c-format msgid " --wal-segsize=SIZE size of WAL segments, in megabytes\n" msgstr " --wal-segsize=TAMAÑO tamaño de los segmentos de WAL, en megabytes\n" -#: initdb.c:2455 +#: initdb.c:2476 #, c-format msgid "" "\n" @@ -645,52 +706,57 @@ msgstr "" "\n" "Opciones menos usadas:\n" -#: initdb.c:2456 +#: initdb.c:2477 #, c-format msgid " -c, --set NAME=VALUE override default setting for server parameter\n" -msgstr " -c, --set NOMBRE=VALOR sobreescribe valor por omisión de parámetro de servidor\n" +msgstr " -c, --set VAR=VALOR sobreescribir el valor por omisión del parámetro\n" -#: initdb.c:2457 +#: initdb.c:2478 #, c-format msgid " -d, --debug generate lots of debugging output\n" msgstr " -d, --debug genera mucha salida de depuración\n" -#: initdb.c:2458 +#: initdb.c:2479 #, c-format msgid " --discard-caches set debug_discard_caches=1\n" msgstr " --discard-caches establece debug_discard_caches=1\n" -#: initdb.c:2459 +#: initdb.c:2480 #, c-format msgid " -L DIRECTORY where to find the input files\n" msgstr " -L DIRECTORIO donde encontrar los archivos de entrada\n" -#: initdb.c:2460 +#: initdb.c:2481 #, c-format msgid " -n, --no-clean do not clean up after errors\n" msgstr " -n, --no-clean no limpiar después de errores\n" -#: initdb.c:2461 +#: initdb.c:2482 #, c-format msgid " -N, --no-sync do not wait for changes to be written safely to disk\n" msgstr " -N, --no-sync no esperar que los cambios se sincronicen a disco\n" -#: initdb.c:2462 +#: initdb.c:2483 #, c-format msgid " --no-instructions do not print instructions for next steps\n" msgstr " --no-instructions no mostrar instrucciones para los siguientes pasos\n" -#: initdb.c:2463 +#: initdb.c:2484 #, c-format -msgid " -s, --show show internal settings\n" -msgstr " -s, --show muestra variables internas\n" +msgid " -s, --show show internal settings, then exit\n" +msgstr " -s, --show muestra variables internas y salir\n" -#: initdb.c:2464 +#: initdb.c:2485 +#, c-format +msgid " --sync-method=METHOD set method for syncing files to disk\n" +msgstr " --sync-method=MÉTODO definir método para sincronizar archivos a disco\n" + +#: initdb.c:2486 #, c-format msgid " -S, --sync-only only sync database files to disk, then exit\n" msgstr " -S, --sync-only sólo sincronizar el directorio de datos y salir\n" -#: initdb.c:2465 +#: initdb.c:2487 #, c-format msgid "" "\n" @@ -699,17 +765,17 @@ msgstr "" "\n" "Otras opciones:\n" -#: initdb.c:2466 +#: initdb.c:2488 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version mostrar información de version y salir\n" -#: initdb.c:2467 +#: initdb.c:2489 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help mostrar esta ayuda y salir\n" -#: initdb.c:2468 +#: initdb.c:2490 #, c-format msgid "" "\n" @@ -720,7 +786,7 @@ msgstr "" "Si el directorio de datos no es especificado, se usa la variable de\n" "ambiente PGDATA.\n" -#: initdb.c:2470 +#: initdb.c:2492 #, c-format msgid "" "\n" @@ -729,72 +795,72 @@ msgstr "" "\n" "Reporte errores a <%s>.\n" -#: initdb.c:2471 +#: initdb.c:2493 #, c-format msgid "%s home page: <%s>\n" msgstr "Sitio web de %s: <%s>\n" -#: initdb.c:2499 +#: initdb.c:2517 #, c-format msgid "invalid authentication method \"%s\" for \"%s\" connections" msgstr "método de autentificación «%s» no válido para conexiones «%s»" -#: initdb.c:2513 +#: initdb.c:2531 #, c-format msgid "must specify a password for the superuser to enable password authentication" msgstr "debe especificar una contraseña al superusuario para activar autentificación mediante contraseña" -#: initdb.c:2532 +#: initdb.c:2550 #, c-format msgid "no data directory specified" msgstr "no se especificó un directorio de datos" -#: initdb.c:2533 +#: initdb.c:2551 #, c-format msgid "You must identify the directory where the data for this database system will reside. Do this with either the invocation option -D or the environment variable PGDATA." msgstr "Debe especificar el directorio donde residirán los datos para este clúster. Hágalo usando la opción -D o la variable de ambiente PGDATA." -#: initdb.c:2550 +#: initdb.c:2568 #, c-format msgid "could not set environment" msgstr "no se pudo establecer el ambiente" -#: initdb.c:2568 +#: initdb.c:2586 #, c-format msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"" msgstr "el programa «%s» es requerido por %s pero se encontró en el mismo directorio que «%s»" -#: initdb.c:2571 +#: initdb.c:2589 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" msgstr "El programa «%s» fue encontrado por «%s», pero no es de la misma versión que %s" -#: initdb.c:2586 +#: initdb.c:2604 #, c-format msgid "input file location must be an absolute path" msgstr "la ubicación de archivos de entrada debe ser una ruta absoluta" -#: initdb.c:2603 +#: initdb.c:2621 #, c-format msgid "The database cluster will be initialized with locale \"%s\".\n" msgstr "El cluster será inicializado con configuración regional «%s».\n" -#: initdb.c:2606 +#: initdb.c:2624 #, c-format msgid "The database cluster will be initialized with this locale configuration:\n" msgstr "El cluster será inicializado con esta configuración regional:\n" -#: initdb.c:2607 +#: initdb.c:2625 #, c-format -msgid " provider: %s\n" -msgstr " proveedor: %s\n" +msgid " locale provider: %s\n" +msgstr " proveedor de configuración regional: %s\n" -#: initdb.c:2609 +#: initdb.c:2627 #, c-format -msgid " ICU locale: %s\n" -msgstr " Locale ICU: %s\n" +msgid " default collation: %s\n" +msgstr " ordenamiento por omisión: %s\n" -#: initdb.c:2610 +#: initdb.c:2628 #, c-format msgid "" " LC_COLLATE: %s\n" @@ -811,22 +877,22 @@ msgstr "" " LC_NUMERIC: %s\n" " LC_TIME: %s\n" -#: initdb.c:2640 +#: initdb.c:2658 #, c-format msgid "could not find suitable encoding for locale \"%s\"" msgstr "no se pudo encontrar una codificación apropiada para la configuración regional «%s»" -#: initdb.c:2642 +#: initdb.c:2660 #, c-format msgid "Rerun %s with the -E option." msgstr "Ejecute %s nuevamente con la opción -E." -#: initdb.c:2643 initdb.c:3176 initdb.c:3284 initdb.c:3304 +#: initdb.c:2661 initdb.c:3204 initdb.c:3324 initdb.c:3344 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Pruebe «%s --help» para mayor información." -#: initdb.c:2655 +#: initdb.c:2673 #, c-format msgid "" "Encoding \"%s\" implied by locale is not allowed as a server-side encoding.\n" @@ -836,109 +902,114 @@ msgstr "" "no puede ser usada como codificación del lado del servidor.\n" "La codificación por omisión será «%s».\n" -#: initdb.c:2660 +#: initdb.c:2678 #, c-format msgid "locale \"%s\" requires unsupported encoding \"%s\"" msgstr "la configuración regional «%s» requiere la codificación no soportada «%s»" -#: initdb.c:2662 +#: initdb.c:2680 #, c-format msgid "Encoding \"%s\" is not allowed as a server-side encoding." msgstr "La codificación «%s» no puede ser usada como codificación del lado del servidor." -#: initdb.c:2664 +#: initdb.c:2682 #, c-format msgid "Rerun %s with a different locale selection." msgstr "Ejecute %s nuevamente con opciones de configuración regional diferente." -#: initdb.c:2672 +#: initdb.c:2690 #, c-format msgid "The default database encoding has accordingly been set to \"%s\".\n" msgstr "La codificación por omisión ha sido por lo tanto definida a «%s».\n" -#: initdb.c:2741 +#: initdb.c:2704 +#, c-format +msgid "builtin provider locale \"%s\" requires encoding \"%s\"" +msgstr "la configuración regional «%s» del proveedor builtin requiere la codificación «%s»" + +#: initdb.c:2766 #, c-format msgid "could not find suitable text search configuration for locale \"%s\"" msgstr "" "no se pudo encontrar una configuración para búsqueda en texto apropiada\n" "para la configuración regional «%s»" -#: initdb.c:2752 +#: initdb.c:2777 #, c-format msgid "suitable text search configuration for locale \"%s\" is unknown" msgstr "la configuración de búsqueda en texto apropiada para la configuración regional «%s» es desconocida" -#: initdb.c:2757 +#: initdb.c:2782 #, c-format msgid "specified text search configuration \"%s\" might not match locale \"%s\"" msgstr "la configuración de búsqueda en texto «%s» especificada podría no coincidir con la configuración regional «%s»" -#: initdb.c:2762 +#: initdb.c:2787 #, c-format msgid "The default text search configuration will be set to \"%s\".\n" msgstr "La configuración de búsqueda en texto ha sido definida a «%s».\n" -#: initdb.c:2805 initdb.c:2876 +#: initdb.c:2830 initdb.c:2901 #, c-format msgid "creating directory %s ... " msgstr "creando el directorio %s ... " -#: initdb.c:2810 initdb.c:2881 initdb.c:2929 initdb.c:2985 +#: initdb.c:2835 initdb.c:2906 initdb.c:2954 initdb.c:3011 #, c-format msgid "could not create directory \"%s\": %m" msgstr "no se pudo crear el directorio «%s»: %m" -#: initdb.c:2819 initdb.c:2891 +#: initdb.c:2844 initdb.c:2916 #, c-format msgid "fixing permissions on existing directory %s ... " msgstr "corrigiendo permisos en el directorio existente %s ... " -#: initdb.c:2824 initdb.c:2896 +#: initdb.c:2849 initdb.c:2921 #, c-format msgid "could not change permissions of directory \"%s\": %m" msgstr "no se pudo cambiar los permisos del directorio «%s»: %m" -#: initdb.c:2836 initdb.c:2908 +#: initdb.c:2861 initdb.c:2933 #, c-format msgid "directory \"%s\" exists but is not empty" msgstr "el directorio «%s» existe pero no está vacío" -#: initdb.c:2840 +#: initdb.c:2865 #, c-format msgid "If you want to create a new database system, either remove or empty the directory \"%s\" or run %s with an argument other than \"%s\"." msgstr "Si quiere crear un nuevo cluster de bases de datos, elimine o vacíe el directorio «%s», o ejecute %s con un argumento distinto de «%s»." -#: initdb.c:2848 initdb.c:2918 initdb.c:3325 +#: initdb.c:2873 initdb.c:2943 initdb.c:3369 #, c-format msgid "could not access directory \"%s\": %m" msgstr "no se pudo acceder al directorio «%s»: %m" -#: initdb.c:2869 +#: initdb.c:2894 #, c-format msgid "WAL directory location must be an absolute path" msgstr "la ubicación del directorio de WAL debe ser una ruta absoluta" -#: initdb.c:2912 +#: initdb.c:2937 #, c-format msgid "If you want to store the WAL there, either remove or empty the directory \"%s\"." msgstr "Si quiere almacenar el WAL ahí, elimine o vacíe el directorio «%s»." -#: initdb.c:2922 +#: initdb.c:2947 #, c-format msgid "could not create symbolic link \"%s\": %m" msgstr "no se pudo crear el enlace simbólico «%s»: %m" -#: initdb.c:2941 +#: initdb.c:2966 #, c-format msgid "It contains a dot-prefixed/invisible file, perhaps due to it being a mount point." msgstr "Contiene un archivo invisible o que empieza con un punto (.), quizás por ser un punto de montaje." -#: initdb.c:2943 +#: initdb.c:2968 #, c-format msgid "It contains a lost+found directory, perhaps due to it being a mount point." msgstr "Contiene un directorio lost+found, quizás por ser un punto de montaje." -#: initdb.c:2945 +#: initdb.c:2970 #, c-format msgid "" "Using a mount point directly as the data directory is not recommended.\n" @@ -947,72 +1018,67 @@ msgstr "" "Usar un punto de montaje directamente como directorio de datos no es recomendado.\n" "Cree un subdirectorio bajo el punto de montaje." -#: initdb.c:2971 +#: initdb.c:2997 #, c-format msgid "creating subdirectories ... " msgstr "creando subdirectorios ... " -#: initdb.c:3014 +#: initdb.c:3040 msgid "performing post-bootstrap initialization ... " msgstr "realizando inicialización post-bootstrap ... " -#: initdb.c:3175 +#: initdb.c:3203 #, c-format msgid "-c %s requires a value" msgstr "-c %s requiere un valor" -#: initdb.c:3200 +#: initdb.c:3228 #, c-format msgid "Running in debug mode.\n" msgstr "Ejecutando en modo de depuración.\n" -#: initdb.c:3204 +#: initdb.c:3232 #, c-format msgid "Running in no-clean mode. Mistakes will not be cleaned up.\n" msgstr "Ejecutando en modo no-clean. Los errores no serán limpiados.\n" -#: initdb.c:3274 +#: initdb.c:3305 #, c-format msgid "unrecognized locale provider: %s" msgstr "proveedor de ordenamiento no reconocido: %s" -#: initdb.c:3302 +#: initdb.c:3342 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "demasiados argumentos en la línea de órdenes (el primero es «%s»)" -#: initdb.c:3309 initdb.c:3313 +#: initdb.c:3349 initdb.c:3353 initdb.c:3357 #, c-format msgid "%s cannot be specified unless locale provider \"%s\" is chosen" msgstr "%s no puede especificarse a menos que el proveedor de locale «%s» sea escogido" -#: initdb.c:3327 initdb.c:3404 +#: initdb.c:3371 initdb.c:3434 msgid "syncing data to disk ... " msgstr "sincronizando los datos a disco ... " -#: initdb.c:3335 +#: initdb.c:3379 #, c-format msgid "password prompt and password file cannot be specified together" msgstr "" "la petición de contraseña y el archivo de contraseña no pueden\n" "ser especificados simultáneamente" -#: initdb.c:3357 -#, c-format -msgid "argument of --wal-segsize must be a number" -msgstr "el argumento de --wal-segsize debe ser un número" - -#: initdb.c:3359 +#: initdb.c:3390 #, c-format -msgid "argument of --wal-segsize must be a power of two between 1 and 1024" -msgstr "el argumento de --wal-segsize debe ser una potencia de dos entre 1 y 1024" +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" -#: initdb.c:3373 +#: initdb.c:3403 #, c-format msgid "superuser name \"%s\" is disallowed; role names cannot begin with \"pg_\"" msgstr "nombre de superusuario «%s» no permitido; los nombres de rol no pueden comenzar con «pg_»" -#: initdb.c:3375 +#: initdb.c:3405 #, c-format msgid "" "The files belonging to this database system will be owned by user \"%s\".\n" @@ -1023,17 +1089,17 @@ msgstr "" "Este usuario también debe ser quien ejecute el proceso servidor.\n" "\n" -#: initdb.c:3391 +#: initdb.c:3421 #, c-format msgid "Data page checksums are enabled.\n" msgstr "Las sumas de verificación en páginas de datos han sido activadas.\n" -#: initdb.c:3393 +#: initdb.c:3423 #, c-format msgid "Data page checksums are disabled.\n" msgstr "Las sumas de verificación en páginas de datos han sido desactivadas.\n" -#: initdb.c:3410 +#: initdb.c:3440 #, c-format msgid "" "\n" @@ -1045,22 +1111,22 @@ msgstr "" "El directorio de datos podría corromperse si el sistema operativo sufre\n" "una caída.\n" -#: initdb.c:3415 +#: initdb.c:3445 #, c-format msgid "enabling \"trust\" authentication for local connections" msgstr "activando el método de autentificación «trust» para conexiones locales" -#: initdb.c:3416 +#: initdb.c:3446 #, c-format msgid "You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb." msgstr "Puede cambiar esto editando pg_hba.conf o usando el parámetro -A, o --auth-local y --auth-host la próxima vez que ejecute initdb." #. translator: This is a placeholder in a shell command. -#: initdb.c:3446 +#: initdb.c:3476 msgid "logfile" msgstr "archivo_de_registro" -#: initdb.c:3448 +#: initdb.c:3478 #, c-format msgid "" "\n" diff --git a/src/bin/initdb/po/fr.po b/src/bin/initdb/po/fr.po index a175e105d71..c8a155a62bb 100644 --- a/src/bin/initdb/po/fr.po +++ b/src/bin/initdb/po/fr.po @@ -10,10 +10,10 @@ # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 15\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-09-05 17:20+0000\n" -"PO-Revision-Date: 2023-09-05 22:01+0200\n" +"POT-Creation-Date: 2024-10-29 18:21+0000\n" +"PO-Revision-Date: 2024-10-30 07:41+0100\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -21,7 +21,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.3.2\n" +"X-Generator: Poedit 3.5\n" #: ../../../src/common/logging.c:276 #, c-format @@ -43,33 +43,48 @@ msgstr "détail : " msgid "hint: " msgstr "astuce : " -#: ../../common/exec.c:172 +#: ../../common/exec.c:174 #, c-format msgid "invalid binary \"%s\": %m" msgstr "binaire « %s » invalide : %m" -#: ../../common/exec.c:215 +#: ../../common/exec.c:217 #, c-format msgid "could not read binary \"%s\": %m" msgstr "n'a pas pu lire le binaire « %s » : %m" -#: ../../common/exec.c:223 +#: ../../common/exec.c:225 #, c-format msgid "could not find a \"%s\" to execute" msgstr "n'a pas pu trouver un « %s » à exécuter" -#: ../../common/exec.c:250 +#: ../../common/exec.c:252 #, c-format msgid "could not resolve path \"%s\" to absolute form: %m" msgstr "n'a pas pu résoudre le chemin « %s » en sa forme absolue : %m" -#: ../../common/exec.c:412 +#: ../../common/exec.c:382 initdb.c:750 +#, c-format +msgid "could not execute command \"%s\": %m" +msgstr "n'a pas pu exécuter la commande « %s » : %m" + +#: ../../common/exec.c:394 +#, c-format +msgid "could not read from command \"%s\": %m" +msgstr "n'a pas pu lire à partir de la commande « %s » : %m" + +#: ../../common/exec.c:397 +#, c-format +msgid "no data was returned by command \"%s\"" +msgstr "aucune donnée n'a été renvoyée par la commande « %s »" + +#: ../../common/exec.c:424 #, c-format msgid "%s() failed: %m" msgstr "échec de %s() : %m" -#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687 -#: initdb.c:349 +#: ../../common/exec.c:562 ../../common/exec.c:607 ../../common/exec.c:699 +#: initdb.c:372 initdb.c:408 #, c-format msgid "out of memory" msgstr "mémoire épuisée" @@ -85,35 +100,46 @@ msgstr "mémoire épuisée\n" msgid "cannot duplicate null pointer (internal error)\n" msgstr "ne peut pas dupliquer un pointeur nul (erreur interne)\n" -#: ../../common/file_utils.c:87 ../../common/file_utils.c:447 +#: ../../common/file_utils.c:70 ../../common/file_utils.c:347 +#: ../../common/file_utils.c:406 ../../common/file_utils.c:480 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "n'a pas pu ouvrir le fichier « %s » : %m" + +#: ../../common/file_utils.c:76 +#, c-format +msgid "could not synchronize file system for file \"%s\": %m" +msgstr "n'a pas pu synchroniser sur disque (fsync) le système de fichiers pour le fichier « %s » : %m" + +#: ../../common/file_utils.c:120 ../../common/file_utils.c:566 #, c-format msgid "could not stat file \"%s\": %m" msgstr "n'a pas pu tester le fichier « %s » : %m" -#: ../../common/file_utils.c:162 ../../common/pgfnames.c:48 -#: ../../common/rmtree.c:63 +#: ../../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 "cette construction ne supporte pas la méthode de synchronisation « %s »" + +#: ../../common/file_utils.c:151 ../../common/file_utils.c:281 +#: ../../common/pgfnames.c:48 ../../common/rmtree.c:63 #, c-format msgid "could not open directory \"%s\": %m" msgstr "n'a pas pu ouvrir le répertoire « %s » : %m" -#: ../../common/file_utils.c:196 ../../common/pgfnames.c:69 -#: ../../common/rmtree.c:104 +#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 +#: ../../common/pgfnames.c:69 ../../common/rmtree.c:106 #, c-format msgid "could not read directory \"%s\": %m" msgstr "n'a pas pu lire le répertoire « %s » : %m" -#: ../../common/file_utils.c:228 ../../common/file_utils.c:287 -#: ../../common/file_utils.c:361 -#, c-format -msgid "could not open file \"%s\": %m" -msgstr "n'a pas pu ouvrir le fichier « %s » : %m" - -#: ../../common/file_utils.c:299 ../../common/file_utils.c:369 +#: ../../common/file_utils.c:418 ../../common/file_utils.c:488 #, c-format msgid "could not fsync file \"%s\": %m" msgstr "n'a pas pu synchroniser sur disque (fsync) le fichier « %s » : %m" -#: ../../common/file_utils.c:379 +#: ../../common/file_utils.c:498 #, c-format msgid "could not rename file \"%s\" to \"%s\": %m" msgstr "n'a pas pu renommer le fichier « %s » en « %s » : %m" @@ -153,12 +179,12 @@ msgstr "n'a pas pu ré-exécuter le jeton restreint : code d'erreur %lu" msgid "could not get exit code from subprocess: error code %lu" msgstr "n'a pas pu récupérer le code de statut du sous-processus : code d'erreur %lu" -#: ../../common/rmtree.c:95 +#: ../../common/rmtree.c:97 #, c-format msgid "could not remove file \"%s\": %m" msgstr "n'a pas pu supprimer le fichier « %s » : %m" -#: ../../common/rmtree.c:122 +#: ../../common/rmtree.c:124 #, c-format msgid "could not remove directory \"%s\": %m" msgstr "n'a pas pu supprimer le répertoire « %s » : %m" @@ -207,6 +233,31 @@ msgstr "le processus fils a été terminé par le signal %d : %s" msgid "child process exited with unrecognized status %d" msgstr "le processus fils a quitté avec un statut %d non reconnu" +#: ../../fe_utils/option_utils.c:69 +#, c-format +msgid "invalid value \"%s\" for option %s" +msgstr "valeur « %s » invalide pour l'option %s" + +#: ../../fe_utils/option_utils.c:76 +#, c-format +msgid "%s must be in range %d..%d" +msgstr "%s doit être compris entre %d et %d" + +#: ../../fe_utils/option_utils.c:106 +#, c-format +msgid "unrecognized sync method: %s" +msgstr "méthode de synchronisation non reconnu : %s" + +#: ../../fe_utils/string_utils.c:434 +#, c-format +msgid "shell command argument contains a newline or carriage return: \"%s\"\n" +msgstr "l'argument de la commande shell contient un retour à la ligne ou un retour chariot : « %s »\n" + +#: ../../fe_utils/string_utils.c:607 +#, c-format +msgid "database name contains a newline or carriage return: \"%s\"\n" +msgstr "le nom de la base contient un retour à la ligne ou un retour chariot : « %s »\n" + #: ../../port/dirmod.c:287 #, c-format msgid "could not set junction for \"%s\": %s\n" @@ -217,274 +268,289 @@ msgstr "n'a pas pu configurer la jonction pour « %s » : %s\n" msgid "could not get junction for \"%s\": %s\n" msgstr "n'a pas pu obtenir la jonction pour « %s » : %s\n" -#: initdb.c:618 initdb.c:1613 +#: initdb.c:369 +#, c-format +msgid "_wsetlocale() failed" +msgstr "échec de _wsetlocale()" + +#: initdb.c:376 +#, c-format +msgid "setlocale() failed" +msgstr "échec de setlocale()" + +#: initdb.c:390 +#, c-format +msgid "failed to restore old locale" +msgstr "a échoué pour restaurer l'ancienne locale" + +#: initdb.c:393 +#, c-format +msgid "failed to restore old locale \"%s\"" +msgstr "a échoué pour restaurer l'ancienne locale « %s »" + +#: initdb.c:682 initdb.c:1674 #, c-format msgid "could not open file \"%s\" for reading: %m" msgstr "n'a pas pu ouvrir le fichier « %s » pour une lecture : %m" -#: initdb.c:662 initdb.c:966 initdb.c:986 +#: initdb.c:726 initdb.c:1030 initdb.c:1050 #, c-format msgid "could not open file \"%s\" for writing: %m" msgstr "n'a pas pu ouvrir le fichier « %s » en écriture : %m" -#: initdb.c:666 initdb.c:969 initdb.c:988 +#: initdb.c:730 initdb.c:1033 initdb.c:1052 #, c-format msgid "could not write file \"%s\": %m" msgstr "impossible d'écrire le fichier « %s » : %m" -#: initdb.c:670 +#: initdb.c:734 #, c-format msgid "could not close file \"%s\": %m" msgstr "n'a pas pu fermer le fichier « %s » : %m" -#: initdb.c:686 -#, c-format -msgid "could not execute command \"%s\": %m" -msgstr "n'a pas pu exécuter la commande « %s » : %m" - -#: initdb.c:704 +#: initdb.c:768 #, c-format msgid "removing data directory \"%s\"" msgstr "suppression du répertoire des données « %s »" -#: initdb.c:706 +#: initdb.c:770 #, c-format msgid "failed to remove data directory" msgstr "échec de la suppression du répertoire des données" -#: initdb.c:710 +#: initdb.c:774 #, c-format msgid "removing contents of data directory \"%s\"" msgstr "suppression du contenu du répertoire des données « %s »" -#: initdb.c:713 +#: initdb.c:777 #, c-format msgid "failed to remove contents of data directory" msgstr "échec de la suppression du contenu du répertoire des données" -#: initdb.c:718 +#: initdb.c:782 #, c-format msgid "removing WAL directory \"%s\"" msgstr "suppression du répertoire des journaux de transactions « %s »" -#: initdb.c:720 +#: initdb.c:784 #, c-format msgid "failed to remove WAL directory" msgstr "échec de la suppression du répertoire des journaux de transactions" -#: initdb.c:724 +#: initdb.c:788 #, c-format msgid "removing contents of WAL directory \"%s\"" msgstr "suppression du contenu du répertoire des journaux de transactions « %s »" -#: initdb.c:726 +#: initdb.c:790 #, c-format msgid "failed to remove contents of WAL directory" msgstr "échec de la suppression du contenu du répertoire des journaux de transactions" -#: initdb.c:733 +#: initdb.c:797 #, c-format msgid "data directory \"%s\" not removed at user's request" msgstr "répertoire des données « %s » non supprimé à la demande de l'utilisateur" -#: initdb.c:737 +#: initdb.c:801 #, c-format msgid "WAL directory \"%s\" not removed at user's request" msgstr "répertoire des journaux de transactions « %s » non supprimé à la demande de l'utilisateur" -#: initdb.c:755 +#: initdb.c:819 #, c-format msgid "cannot be run as root" msgstr "ne peut pas être exécuté en tant que root" -#: initdb.c:756 +#: initdb.c:820 #, c-format msgid "Please log in (using, e.g., \"su\") as the (unprivileged) user that will own the server process." msgstr "Connectez-vous (par exemple en utilisant « su ») sous l'utilisateur (non privilégié) qui sera propriétaire du processus serveur." -#: initdb.c:788 +#: initdb.c:852 #, c-format msgid "\"%s\" is not a valid server encoding name" msgstr "« %s » n'est pas un nom d'encodage serveur valide" -#: initdb.c:932 +#: initdb.c:996 #, c-format msgid "file \"%s\" does not exist" msgstr "le rôle « %s » n'existe pas" -#: initdb.c:933 initdb.c:938 initdb.c:945 +#: initdb.c:997 initdb.c:1002 initdb.c:1009 #, c-format msgid "This might mean you have a corrupted installation or identified the wrong directory with the invocation option -L." msgstr "Cela peut signifier que votre installation est corrompue ou que vous avez identifié le mauvais répertoire avec l'option -L." -#: initdb.c:937 +#: initdb.c:1001 #, c-format msgid "could not access file \"%s\": %m" msgstr "n'a pas pu accéder au fichier « %s » : %m" -#: initdb.c:944 +#: initdb.c:1008 #, c-format msgid "file \"%s\" is not a regular file" msgstr "le fichier « %s » n'est pas un fichier standard" -#: initdb.c:1077 +#: initdb.c:1141 #, c-format msgid "selecting dynamic shared memory implementation ... " msgstr "sélection de l'implémentation de la mémoire partagée dynamique..." -#: initdb.c:1086 +#: initdb.c:1150 #, c-format -msgid "selecting default max_connections ... " -msgstr "sélection de la valeur par défaut pour max_connections... " +msgid "selecting default \"max_connections\" ... " +msgstr "sélection de la valeur par défaut pour « max_connections »... " -#: initdb.c:1106 +#: initdb.c:1170 #, c-format -msgid "selecting default shared_buffers ... " -msgstr "sélection de la valeur par défaut pour shared_buffers... " +msgid "selecting default \"shared_buffers\" ... " +msgstr "sélection de la valeur par défaut pour « shared_buffers »... " -#: initdb.c:1129 +#: initdb.c:1193 #, c-format msgid "selecting default time zone ... " msgstr "sélection du fuseau horaire par défaut... " -#: initdb.c:1206 +#: initdb.c:1272 msgid "creating configuration files ... " msgstr "création des fichiers de configuration... " -#: initdb.c:1367 initdb.c:1381 initdb.c:1448 initdb.c:1459 +#: initdb.c:1425 initdb.c:1439 initdb.c:1506 initdb.c:1517 #, c-format msgid "could not change permissions of \"%s\": %m" msgstr "n'a pas pu modifier les droits de « %s » : %m" -#: initdb.c:1477 +#: initdb.c:1536 #, c-format msgid "running bootstrap script ... " msgstr "lancement du script bootstrap..." -#: initdb.c:1489 +#: initdb.c:1548 #, c-format msgid "input file \"%s\" does not belong to PostgreSQL %s" msgstr "le fichier en entrée « %s » n'appartient pas à PostgreSQL %s" -#: initdb.c:1491 +#: initdb.c:1550 #, c-format msgid "Specify the correct path using the option -L." msgstr "Indiquez le bon chemin avec l'option -L." -#: initdb.c:1591 +#: initdb.c:1652 msgid "Enter new superuser password: " msgstr "Saisir le nouveau mot de passe du super-utilisateur : " -#: initdb.c:1592 +#: initdb.c:1653 msgid "Enter it again: " msgstr "Saisir le mot de passe à nouveau : " -#: initdb.c:1595 +#: initdb.c:1656 #, c-format msgid "Passwords didn't match.\n" msgstr "Les mots de passe ne sont pas identiques.\n" -#: initdb.c:1619 +#: initdb.c:1680 #, c-format msgid "could not read password from file \"%s\": %m" msgstr "n'a pas pu lire le mot de passe à partir du fichier « %s » : %m" -#: initdb.c:1622 +#: initdb.c:1683 #, c-format msgid "password file \"%s\" is empty" msgstr "le fichier de mots de passe « %s » est vide" -#: initdb.c:2034 +#: initdb.c:2095 #, c-format msgid "caught signal\n" msgstr "signal reçu\n" -#: initdb.c:2040 +#: initdb.c:2101 #, c-format msgid "could not write to child process: %s\n" msgstr "n'a pas pu écrire au processus fils : %s\n" -#: initdb.c:2048 +#: initdb.c:2109 #, c-format msgid "ok\n" msgstr "ok\n" -#: initdb.c:2137 +#: initdb.c:2191 initdb.c:2237 #, c-format -msgid "setlocale() failed" -msgstr "échec de setlocale()" +msgid "locale name \"%s\" contains non-ASCII characters" +msgstr "le nom de la locale « %s » contient des caractères non ASCII" -#: initdb.c:2155 -#, c-format -msgid "failed to restore old locale \"%s\"" -msgstr "a échoué pour restaurer l'ancienne locale « %s »" - -#: initdb.c:2163 +#: initdb.c:2217 #, c-format msgid "invalid locale name \"%s\"" msgstr "nom de locale « %s » invalide" -#: initdb.c:2164 +#: initdb.c:2218 #, c-format msgid "If the locale name is specific to ICU, use --icu-locale." msgstr "Si le nom de la locale est spécifique à ICU, utilisez --icu-locale." -#: initdb.c:2177 +#: initdb.c:2231 #, c-format msgid "invalid locale settings; check LANG and LC_* environment variables" msgstr "configuration invalide de la locale ; vérifiez les variables d'environnement LANG et LC_*" -#: initdb.c:2203 initdb.c:2227 +#: initdb.c:2262 initdb.c:2286 #, c-format msgid "encoding mismatch" msgstr "différence d'encodage" -#: initdb.c:2204 +#: initdb.c:2263 #, c-format msgid "The encoding you selected (%s) and the encoding that the selected locale uses (%s) do not match. This would lead to misbehavior in various character string processing functions." msgstr "L'encodage que vous avez sélectionné (%s) et celui que la locale sélectionnée utilise (%s) ne sont pas compatibles. Cela peut conduire à des erreurs dans les fonctions de manipulation de chaînes de caractères." -#: initdb.c:2209 initdb.c:2230 +#: initdb.c:2268 initdb.c:2289 #, c-format msgid "Rerun %s and either do not specify an encoding explicitly, or choose a matching combination." msgstr "Relancez %s et soit vous ne spécifiez pas explicitement d'encodage, soit vous choisissez une combinaison compatible." -#: initdb.c:2228 +#: initdb.c:2287 #, c-format msgid "The encoding you selected (%s) is not supported with the ICU provider." msgstr "L'encodage que vous avez sélectionné (%s) n'est pas supporté avec le fournisseur ICU." -#: initdb.c:2279 +#: initdb.c:2338 #, c-format msgid "could not convert locale name \"%s\" to language tag: %s" msgstr "n'a pas pu convertir le nom de locale « %s » en balise de langage : %s" -#: initdb.c:2285 initdb.c:2337 initdb.c:2416 +#: initdb.c:2344 initdb.c:2396 initdb.c:2488 #, c-format msgid "ICU is not supported in this build" msgstr "ICU n'est pas supporté dans cette installation" -#: initdb.c:2308 +#: initdb.c:2367 #, c-format msgid "could not get language from locale \"%s\": %s" msgstr "n'a pas pu obtenir la langue à partir de la locale « %s » : %s" -#: initdb.c:2334 +#: initdb.c:2393 #, c-format msgid "locale \"%s\" has unknown language \"%s\"" msgstr "la locale « %s » a le langage inconnu « %s »" -#: initdb.c:2400 +#: initdb.c:2454 +#, c-format +msgid "locale must be specified if provider is %s" +msgstr "la locale doit être spécifiée si le fournisseur est %s" + +#: initdb.c:2465 #, c-format -msgid "ICU locale must be specified" -msgstr "la locale ICU doit être précisée" +msgid "invalid locale name \"%s\" for builtin provider" +msgstr "nom de locale « %s » invalide pour le fournisseur natif" -#: initdb.c:2404 +#: initdb.c:2476 #, c-format msgid "Using language tag \"%s\" for ICU locale \"%s\".\n" msgstr "Utilisation de la balise de langage « %s » pour la locale ICU « %s ».\n" -#: initdb.c:2427 +#: initdb.c:2499 #, c-format msgid "" "%s initializes a PostgreSQL database cluster.\n" @@ -493,17 +559,17 @@ msgstr "" "%s initialise une instance PostgreSQL.\n" "\n" -#: initdb.c:2428 +#: initdb.c:2500 #, c-format msgid "Usage:\n" msgstr "Usage :\n" -#: initdb.c:2429 +#: initdb.c:2501 #, c-format msgid " %s [OPTION]... [DATADIR]\n" msgstr " %s [OPTION]... [RÉP_DONNÉES]\n" -#: initdb.c:2430 +#: initdb.c:2502 #, c-format msgid "" "\n" @@ -512,71 +578,71 @@ msgstr "" "\n" "Options :\n" -#: initdb.c:2431 +#: initdb.c:2503 #, c-format msgid " -A, --auth=METHOD default authentication method for local connections\n" msgstr "" " -A, --auth=MÉTHODE méthode d'authentification par défaut pour les\n" " connexions locales\n" -#: initdb.c:2432 +#: initdb.c:2504 #, c-format msgid " --auth-host=METHOD default authentication method for local TCP/IP connections\n" msgstr "" " --auth-host=MÉTHODE méthode d'authentification par défaut pour les\n" " connexions locales TCP/IP\n" -#: initdb.c:2433 +#: initdb.c:2505 #, c-format msgid " --auth-local=METHOD default authentication method for local-socket connections\n" msgstr "" " --auth-local=MÉTHODE méthode d'authentification par défaut pour les\n" " connexions locales socket\n" -#: initdb.c:2434 +#: initdb.c:2506 #, c-format msgid " [-D, --pgdata=]DATADIR location for this database cluster\n" msgstr " [-D, --pgdata=]RÉP_DONNÉES emplacement du répertoire principal des données\n" -#: initdb.c:2435 +#: initdb.c:2507 #, c-format msgid " -E, --encoding=ENCODING set default encoding for new databases\n" msgstr "" " -E, --encoding=ENCODAGE initialise l'encodage par défaut des nouvelles\n" " bases de données\n" -#: initdb.c:2436 +#: initdb.c:2508 #, c-format msgid " -g, --allow-group-access allow group read/execute on data directory\n" msgstr "" " -g, --allow-group-access autorise la lecture/écriture pour le groupe sur\n" " le répertoire des données\n" -#: initdb.c:2437 +#: initdb.c:2509 #, c-format msgid " --icu-locale=LOCALE set ICU locale ID for new databases\n" msgstr " --icu-locale=LOCALE initialise l'identifiant de locale ICU pour les nouvelles bases de données\n" -#: initdb.c:2438 +#: initdb.c:2510 #, c-format msgid " --icu-rules=RULES set additional ICU collation rules for new databases\n" -msgstr " --icu-rules=REGLES initialise les règles supplémentaires de la locale ICU pour les nouvelles bases de données\n" +msgstr " --icu-rules=REGLES initialise les règles supplémentaires de la locale ICU pour les nouvelles bases de données\n" -#: initdb.c:2439 +#: initdb.c:2511 #, c-format msgid " -k, --data-checksums use data page checksums\n" msgstr "" " -k, --data-checksums active les sommes de contrôle pour les blocs des\n" " fichiers de données\n" -#: initdb.c:2440 +#: initdb.c:2512 #, c-format msgid " --locale=LOCALE set default locale for new databases\n" msgstr "" " --locale=LOCALE initialise la locale par défaut pour les\n" " nouvelles bases de données\n" -#: initdb.c:2441 +#: initdb.c:2513 #, c-format msgid "" " --lc-collate=, --lc-ctype=, --lc-messages=LOCALE\n" @@ -591,29 +657,39 @@ msgstr "" " (les valeurs par défaut sont prises dans\n" " l'environnement)\n" -#: initdb.c:2445 +#: initdb.c:2517 #, c-format msgid " --no-locale equivalent to --locale=C\n" msgstr " --no-locale équivalent à --locale=C\n" -#: initdb.c:2446 +#: initdb.c:2518 #, c-format msgid "" -" --locale-provider={libc|icu}\n" +" --builtin-locale=LOCALE\n" +" set builtin locale name for new databases\n" +msgstr "" +" --builtin-provider=LOCALE\n" +" initialise le fournisseur de locale natif pour\n" +" les nouvelles bases de données\n" + +#: initdb.c:2520 +#, c-format +msgid "" +" --locale-provider={builtin|libc|icu}\n" " set default locale provider for new databases\n" msgstr "" -" --locale-provider={libc|icu}\n" +" --locale-provider={builtin|libc|icu}\n" " initialise le fournisseur de locale par défaut pour\n" " les nouvelles bases de données\n" -#: initdb.c:2448 +#: initdb.c:2522 #, c-format msgid " --pwfile=FILE read password for the new superuser from file\n" msgstr "" " --pwfile=FICHIER lit le mot de passe du nouveau super-utilisateur\n" " à partir de ce fichier\n" -#: initdb.c:2449 +#: initdb.c:2523 #, c-format msgid "" " -T, --text-search-config=CFG\n" @@ -622,31 +698,31 @@ msgstr "" " -T, --text-search-config=CFG configuration par défaut de la recherche plein\n" " texte\n" -#: initdb.c:2451 +#: initdb.c:2525 #, c-format msgid " -U, --username=NAME database superuser name\n" msgstr " -U, --username=NOM nom du super-utilisateur de la base de données\n" -#: initdb.c:2452 +#: initdb.c:2526 #, c-format msgid " -W, --pwprompt prompt for a password for the new superuser\n" msgstr "" " -W, --pwprompt demande un mot de passe pour le nouveau\n" " super-utilisateur\n" -#: initdb.c:2453 +#: initdb.c:2527 #, c-format msgid " -X, --waldir=WALDIR location for the write-ahead log directory\n" msgstr "" " -X, --waldir=RÉP_WAL emplacement du répertoire des journaux de\n" " transactions\n" -#: initdb.c:2454 +#: initdb.c:2528 #, c-format msgid " --wal-segsize=SIZE size of WAL segments, in megabytes\n" msgstr " --wal-segsize=TAILLE configure la taille des segments WAL, en Mo\n" -#: initdb.c:2455 +#: initdb.c:2529 #, c-format msgid "" "\n" @@ -655,58 +731,63 @@ msgstr "" "\n" "Options moins utilisées :\n" -#: initdb.c:2456 +#: initdb.c:2530 #, c-format msgid " -c, --set NAME=VALUE override default setting for server parameter\n" -msgstr " -c NOM=VALEUR surcharge la configuration par défaut d'un paramètre serveur\n" +msgstr " -c NOM=VALEUR surcharge la configuration par défaut d'un paramètre serveur\n" -#: initdb.c:2457 +#: initdb.c:2531 #, c-format msgid " -d, --debug generate lots of debugging output\n" msgstr " -d, --debug engendre un grand nombre de traces de débogage\n" -#: initdb.c:2458 +#: initdb.c:2532 #, c-format msgid " --discard-caches set debug_discard_caches=1\n" msgstr " --discard-caches initialise debug_discard_caches à 1\n" -#: initdb.c:2459 +#: initdb.c:2533 #, c-format msgid " -L DIRECTORY where to find the input files\n" msgstr "" " -L RÉPERTOIRE indique où trouver les fichiers servant à la\n" " création de l'instance\n" -#: initdb.c:2460 +#: initdb.c:2534 #, c-format msgid " -n, --no-clean do not clean up after errors\n" msgstr " -n, --noclean ne nettoie pas après des erreurs\n" -#: initdb.c:2461 +#: initdb.c:2535 #, c-format msgid " -N, --no-sync do not wait for changes to be written safely to disk\n" msgstr "" " -N, --nosync n'attend pas que les modifications soient\n" " proprement écrites sur disque\n" -#: initdb.c:2462 +#: initdb.c:2536 #, c-format msgid " --no-instructions do not print instructions for next steps\n" msgstr "" " --no-instructions n'affiche pas les instructions des prochaines\n" " étapes\n" -#: initdb.c:2463 +#: initdb.c:2537 +#, c-format +msgid " -s, --show show internal settings, then exit\n" +msgstr " -s, --show affiche la configuration interne, puis quitte\n" + +#: initdb.c:2538 #, c-format -msgid " -s, --show show internal settings\n" -msgstr " -s, --show affiche la configuration interne\n" +msgid " --sync-method=METHOD set method for syncing files to disk\n" +msgstr " --sync-method=METHODE configure la méthode pour synchroniser les fichiers sur disque\n" -#: initdb.c:2464 +#: initdb.c:2539 #, c-format msgid " -S, --sync-only only sync database files to disk, then exit\n" msgstr " -S, --sync-only synchronise uniquement le répertoire des données, puis quitte\n" -#: initdb.c:2465 +#: initdb.c:2540 #, c-format msgid "" "\n" @@ -715,17 +796,17 @@ msgstr "" "\n" "Autres options :\n" -#: initdb.c:2466 +#: initdb.c:2541 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version affiche la version puis quitte\n" -#: initdb.c:2467 +#: initdb.c:2542 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help affiche cette aide puis quitte\n" -#: initdb.c:2468 +#: initdb.c:2543 #, c-format msgid "" "\n" @@ -736,7 +817,7 @@ msgstr "" "Si le répertoire des données n'est pas indiqué, la variable d'environnement\n" "PGDATA est utilisée.\n" -#: initdb.c:2470 +#: initdb.c:2545 #, c-format msgid "" "\n" @@ -745,72 +826,72 @@ msgstr "" "\n" "Rapporter les bogues à <%s>.\n" -#: initdb.c:2471 +#: initdb.c:2546 #, c-format msgid "%s home page: <%s>\n" msgstr "Page d'accueil de %s : <%s>\n" -#: initdb.c:2499 +#: initdb.c:2570 #, c-format msgid "invalid authentication method \"%s\" for \"%s\" connections" msgstr "méthode d'authentification « %s » invalide pour « %s » connexions" -#: initdb.c:2513 +#: initdb.c:2584 #, c-format msgid "must specify a password for the superuser to enable password authentication" msgstr "doit indiquer un mot de passe pour le super-utilisateur afin d'activer l'authentification par mot de passe" -#: initdb.c:2532 +#: initdb.c:2603 #, c-format msgid "no data directory specified" msgstr "aucun répertoire de données indiqué" -#: initdb.c:2533 +#: initdb.c:2604 #, c-format msgid "You must identify the directory where the data for this database system will reside. Do this with either the invocation option -D or the environment variable PGDATA." msgstr "Vous devez identifier le répertoire où résideront les données pour ce système de bases de données. Faites-le soit avec l'option -D soit avec la variable d'environnement PGDATA." -#: initdb.c:2550 +#: initdb.c:2621 #, c-format msgid "could not set environment" msgstr "n'a pas pu configurer l'environnement" -#: initdb.c:2568 +#: initdb.c:2639 #, c-format msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"" msgstr "le programme « %s » est nécessaire pour %s, mais n'a pas été trouvé dans le même répertoire que « %s »" -#: initdb.c:2571 +#: initdb.c:2642 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" msgstr "le programme « %s » a été trouvé par « %s » mais n'est pas de la même version que %s" -#: initdb.c:2586 +#: initdb.c:2657 #, c-format msgid "input file location must be an absolute path" msgstr "l'emplacement du fichier d'entrée doit être indiqué avec un chemin absolu" -#: initdb.c:2603 +#: initdb.c:2674 #, c-format msgid "The database cluster will be initialized with locale \"%s\".\n" msgstr "L'instance sera initialisée avec la locale « %s ».\n" -#: initdb.c:2606 +#: initdb.c:2677 #, c-format msgid "The database cluster will be initialized with this locale configuration:\n" msgstr "L'instance sera initialisée avec cette configuration de locale :\n" -#: initdb.c:2607 +#: initdb.c:2678 #, c-format -msgid " provider: %s\n" -msgstr " fournisseur: %s\n" +msgid " locale provider: %s\n" +msgstr " fournisseur de locale : %s\n" -#: initdb.c:2609 +#: initdb.c:2680 #, c-format -msgid " ICU locale: %s\n" -msgstr " locale ICU : %s\n" +msgid " default collation: %s\n" +msgstr "collation par défaut : %s\n" -#: initdb.c:2610 +#: initdb.c:2681 #, c-format msgid "" " LC_COLLATE: %s\n" @@ -827,22 +908,22 @@ msgstr "" " LC_NUMERIC: %s\n" " LC_TIME: %s\n" -#: initdb.c:2640 +#: initdb.c:2711 #, c-format msgid "could not find suitable encoding for locale \"%s\"" msgstr "n'a pas pu trouver un encodage adéquat pour la locale « %s »" -#: initdb.c:2642 +#: initdb.c:2713 #, c-format msgid "Rerun %s with the -E option." msgstr "Relancez %s avec l'option -E." -#: initdb.c:2643 initdb.c:3176 initdb.c:3284 initdb.c:3304 +#: initdb.c:2714 initdb.c:3257 initdb.c:3377 initdb.c:3397 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Essayez « %s --help » pour plus d'informations." -#: initdb.c:2655 +#: initdb.c:2726 #, c-format msgid "" "Encoding \"%s\" implied by locale is not allowed as a server-side encoding.\n" @@ -851,109 +932,114 @@ msgstr "" "L'encodage « %s » a été déduit de la locale mais n'est pas autorisé en tant qu'encodage serveur.\n" "L'encodage par défaut des bases de données sera configuré à « %s ».\n" -#: initdb.c:2660 +#: initdb.c:2731 #, c-format msgid "locale \"%s\" requires unsupported encoding \"%s\"" msgstr "la locale « %s » nécessite l'encodage « %s » non supporté" -#: initdb.c:2662 +#: initdb.c:2733 #, c-format msgid "Encoding \"%s\" is not allowed as a server-side encoding." msgstr "L'encodage « %s » n'est pas autorisé en tant qu'encodage serveur." -#: initdb.c:2664 +#: initdb.c:2735 #, c-format msgid "Rerun %s with a different locale selection." msgstr "Relancez %s avec une locale différente." -#: initdb.c:2672 +#: initdb.c:2743 #, c-format msgid "The default database encoding has accordingly been set to \"%s\".\n" msgstr "" "L'encodage par défaut des bases de données a été configuré en conséquence\n" "avec « %s ».\n" -#: initdb.c:2741 +#: initdb.c:2757 +#, c-format +msgid "builtin provider locale \"%s\" requires encoding \"%s\"" +msgstr "la locale du fournisseur natif « %s » nécessite l'encodage « %s »" + +#: initdb.c:2819 #, c-format msgid "could not find suitable text search configuration for locale \"%s\"" msgstr "n'a pas pu trouver la configuration de la recherche plein texte en adéquation avec la locale « %s »" -#: initdb.c:2752 +#: initdb.c:2830 #, c-format msgid "suitable text search configuration for locale \"%s\" is unknown" msgstr "la configuration de la recherche plein texte convenable pour la locale « %s » est inconnue" -#: initdb.c:2757 +#: initdb.c:2835 #, c-format msgid "specified text search configuration \"%s\" might not match locale \"%s\"" msgstr "la configuration indiquée pour la recherche plein texte, « %s », pourrait ne pas correspondre à la locale « %s »" -#: initdb.c:2762 +#: initdb.c:2840 #, c-format msgid "The default text search configuration will be set to \"%s\".\n" msgstr "La configuration de la recherche plein texte a été initialisée à « %s ».\n" -#: initdb.c:2805 initdb.c:2876 +#: initdb.c:2883 initdb.c:2954 #, c-format msgid "creating directory %s ... " msgstr "création du répertoire %s... " -#: initdb.c:2810 initdb.c:2881 initdb.c:2929 initdb.c:2985 +#: initdb.c:2888 initdb.c:2959 initdb.c:3007 initdb.c:3064 #, c-format msgid "could not create directory \"%s\": %m" msgstr "n'a pas pu créer le répertoire « %s » : %m" -#: initdb.c:2819 initdb.c:2891 +#: initdb.c:2897 initdb.c:2969 #, c-format msgid "fixing permissions on existing directory %s ... " msgstr "correction des droits sur le répertoire existant %s... " -#: initdb.c:2824 initdb.c:2896 +#: initdb.c:2902 initdb.c:2974 #, c-format msgid "could not change permissions of directory \"%s\": %m" msgstr "n'a pas pu modifier les droits du répertoire « %s » : %m" -#: initdb.c:2836 initdb.c:2908 +#: initdb.c:2914 initdb.c:2986 #, c-format msgid "directory \"%s\" exists but is not empty" msgstr "le répertoire « %s » existe mais n'est pas vide" -#: initdb.c:2840 +#: initdb.c:2918 #, c-format msgid "If you want to create a new database system, either remove or empty the directory \"%s\" or run %s with an argument other than \"%s\"." msgstr "Si vous voulez créer un nouveau système de bases de données, supprimez ou videz le répertoire « %s ». Vous pouvez aussi exécuter %s avec un argument autre que « %s »." -#: initdb.c:2848 initdb.c:2918 initdb.c:3325 +#: initdb.c:2926 initdb.c:2996 initdb.c:3422 #, c-format msgid "could not access directory \"%s\": %m" msgstr "n'a pas pu accéder au répertoire « %s » : %m" -#: initdb.c:2869 +#: initdb.c:2947 #, c-format msgid "WAL directory location must be an absolute path" msgstr "l'emplacement du répertoire des journaux de transactions doit être indiqué avec un chemin absolu" -#: initdb.c:2912 +#: initdb.c:2990 #, c-format msgid "If you want to store the WAL there, either remove or empty the directory \"%s\"." msgstr "Si vous voulez enregistrer ici les WAL, supprimez ou videz le répertoire « %s »." -#: initdb.c:2922 +#: initdb.c:3000 #, c-format msgid "could not create symbolic link \"%s\": %m" msgstr "n'a pas pu créer le lien symbolique « %s » : %m" -#: initdb.c:2941 +#: initdb.c:3019 #, c-format msgid "It contains a dot-prefixed/invisible file, perhaps due to it being a mount point." msgstr "Il contient un fichier invisible, peut-être parce qu'il s'agit d'un point de montage." -#: initdb.c:2943 +#: initdb.c:3021 #, c-format msgid "It contains a lost+found directory, perhaps due to it being a mount point." msgstr "Il contient un répertoire lost+found, peut-être parce qu'il s'agit d'un point de montage.\\" -#: initdb.c:2945 +#: initdb.c:3023 #, c-format msgid "" "Using a mount point directly as the data directory is not recommended.\n" @@ -962,72 +1048,67 @@ msgstr "" "Utiliser un point de montage comme répertoire des données n'est pas recommandé.\n" "Créez un sous-répertoire sous le point de montage." -#: initdb.c:2971 +#: initdb.c:3050 #, c-format msgid "creating subdirectories ... " msgstr "création des sous-répertoires... " -#: initdb.c:3014 +#: initdb.c:3093 msgid "performing post-bootstrap initialization ... " msgstr "exécution de l'initialisation après bootstrap... " -#: initdb.c:3175 +#: initdb.c:3256 #, c-format msgid "-c %s requires a value" msgstr "-c %s requiert une valeur" -#: initdb.c:3200 +#: initdb.c:3281 #, c-format msgid "Running in debug mode.\n" msgstr "Lancé en mode débogage.\n" -#: initdb.c:3204 +#: initdb.c:3285 #, c-format msgid "Running in no-clean mode. Mistakes will not be cleaned up.\n" msgstr "Lancé en mode « sans nettoyage ». Les erreurs ne seront pas nettoyées.\n" -#: initdb.c:3274 +#: initdb.c:3358 #, c-format msgid "unrecognized locale provider: %s" msgstr "fournisseur de locale non reconnu : %s" -#: initdb.c:3302 +#: initdb.c:3395 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "trop d'arguments en ligne de commande (le premier étant « %s »)" -#: initdb.c:3309 initdb.c:3313 +#: initdb.c:3402 initdb.c:3406 initdb.c:3410 #, c-format msgid "%s cannot be specified unless locale provider \"%s\" is chosen" msgstr "%s ne peut pas être spécifié sauf si le fournisseur de locale « %s » est choisi" -#: initdb.c:3327 initdb.c:3404 +#: initdb.c:3424 initdb.c:3487 msgid "syncing data to disk ... " msgstr "synchronisation des données sur disque... " -#: initdb.c:3335 +#: initdb.c:3432 #, c-format msgid "password prompt and password file cannot be specified together" msgstr "" "les options d'invite du mot de passe et de fichier de mots de passe ne\n" "peuvent pas être indiquées simultanément" -#: initdb.c:3357 +#: initdb.c:3443 #, c-format -msgid "argument of --wal-segsize must be a number" -msgstr "l'argument de --wal-segsize doit être un nombre" +msgid "argument of %s must be a power of two between 1 and 1024" +msgstr "l'argument de %s doit être une puissance de 2 comprise entre 1 et 1024" -#: initdb.c:3359 -#, c-format -msgid "argument of --wal-segsize must be a power of two between 1 and 1024" -msgstr "l'argument de --wal-segsize doit être une puissance de 2 comprise entre 1 et 1024" - -#: initdb.c:3373 +#: initdb.c:3456 #, c-format msgid "superuser name \"%s\" is disallowed; role names cannot begin with \"pg_\"" msgstr "le nom de superutilisateur « %s » n'est pas autorisé ; les noms de rôle ne peuvent pas commencer par « pg_ »" -#: initdb.c:3375 +#: initdb.c:3458 #, c-format msgid "" "The files belonging to this database system will be owned by user \"%s\".\n" @@ -1038,17 +1119,17 @@ msgstr "" "Le processus serveur doit également lui appartenir.\n" "\n" -#: initdb.c:3391 +#: initdb.c:3474 #, c-format msgid "Data page checksums are enabled.\n" msgstr "Les sommes de contrôle des pages de données sont activées.\n" -#: initdb.c:3393 +#: initdb.c:3476 #, c-format msgid "Data page checksums are disabled.\n" msgstr "Les sommes de contrôle des pages de données sont désactivées.\n" -#: initdb.c:3410 +#: initdb.c:3493 #, c-format msgid "" "\n" @@ -1059,22 +1140,22 @@ msgstr "" "Synchronisation sur disque ignorée.\n" "Le répertoire des données pourrait être corrompu si le système d'exploitation s'arrêtait brutalement.\n" -#: initdb.c:3415 +#: initdb.c:3498 #, c-format msgid "enabling \"trust\" authentication for local connections" msgstr "activation de l'authentification « trust » pour les connexions locales" -#: initdb.c:3416 +#: initdb.c:3499 #, c-format msgid "You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb." msgstr "Vous pouvez changer cette configuration en éditant le fichier pg_hba.conf ou en utilisant l'option -A, ou --auth-local et --auth-host, à la prochaine exécution d'initdb." #. translator: This is a placeholder in a shell command. -#: initdb.c:3446 +#: initdb.c:3529 msgid "logfile" msgstr "fichier_de_trace" -#: initdb.c:3448 +#: initdb.c:3531 #, c-format msgid "" "\n" @@ -1088,265 +1169,3 @@ msgstr "" "\n" " %s\n" "\n" - -#~ msgid "" -#~ "\n" -#~ "Report bugs to .\n" -#~ msgstr "" -#~ "\n" -#~ "Rapporter les bogues à .\n" - -#~ msgid "%s: The password file was not generated. Please report this problem.\n" -#~ msgstr "" -#~ "%s : le fichier de mots de passe n'a pas été créé.\n" -#~ "Merci de rapporter ce problème.\n" - -#~ msgid "%s: could not access directory \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu accéder au répertoire « %s » : %s\n" - -#~ msgid "%s: could not access file \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu accéder au fichier « %s » : %s\n" - -#~ msgid "%s: could not close directory \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu fermer le répertoire « %s » : %s\n" - -#~ msgid "%s: could not create directory \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu créer le répertoire « %s » : %s\n" - -#~ msgid "%s: could not create symbolic link \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu créer le lien symbolique « %s » : %s\n" - -#~ msgid "%s: could not determine valid short version string\n" -#~ msgstr "%s : n'a pas pu déterminer une chaîne de version courte valide\n" - -#~ msgid "%s: could not execute command \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu exécuter la commande « %s » : %s\n" - -#~ msgid "%s: could not fsync file \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu synchroniser sur disque le fichier « %s » : %s\n" - -#~ msgid "%s: could not get current user name: %s\n" -#~ msgstr "%s : n'a pas pu obtenir le nom de l'utilisateur courant : %s\n" - -#~ msgid "%s: could not obtain information about current user: %s\n" -#~ msgstr "%s : n'a pas pu obtenir d'informations sur l'utilisateur courant : %s\n" - -#~ msgid "%s: could not open directory \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu ouvrir le répertoire « %s » : %s\n" - -#~ msgid "%s: could not open file \"%s\" for reading: %s\n" -#~ msgstr "%s : n'a pas pu ouvrir le fichier « %s » en lecture : %s\n" - -#~ msgid "%s: could not open file \"%s\" for writing: %s\n" -#~ msgstr "%s : n'a pas pu ouvrir le fichier « %s » en écriture : %s\n" - -#~ msgid "%s: could not open file \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu ouvrir le fichier « %s » : %s\n" - -#~ msgid "%s: could not read directory \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu lire le répertoire « %s » : %s\n" - -#~ msgid "%s: could not rename file \"%s\" to \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu renommer le fichier « %s » en « %s » : %s\n" - -#~ msgid "%s: could not stat file \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu récupérer les informations sur le fichier « %s » : %s\n" - -#~ msgid "%s: could not to allocate SIDs: error code %lu\n" -#~ msgstr "%s : n'a pas pu allouer les SID : code d'erreur %lu\n" - -#~ msgid "%s: could not write file \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu écrire le fichier « %s » : %s\n" - -#~ msgid "%s: failed to remove contents of transaction log directory\n" -#~ msgstr "%s : échec de la suppression du contenu du répertoire des journaux de transaction\n" - -#~ msgid "%s: failed to remove transaction log directory\n" -#~ msgstr "%s : échec de la suppression du répertoire des journaux de transaction\n" - -#~ msgid "%s: failed to restore old locale \"%s\"\n" -#~ msgstr "%s : n'a pas pu restaurer l'ancienne locale « %s »\n" - -#~ msgid "%s: file \"%s\" does not exist\n" -#~ msgstr "%s : le fichier « %s » n'existe pas\n" - -#~ msgid "%s: invalid locale name \"%s\"\n" -#~ msgstr "%s : nom de locale invalide (« %s »)\n" - -#~ msgid "%s: locale name has non-ASCII characters, skipped: \"%s\"\n" -#~ msgstr "%s : le nom de la locale contient des caractères non ASCII, ignoré : « %s »\n" - -#~ msgid "%s: locale name too long, skipped: \"%s\"\n" -#~ msgstr "%s : nom de locale trop long, ignoré : « %s »\n" - -#~ msgid "%s: out of memory\n" -#~ msgstr "%s : mémoire épuisée\n" - -#~ msgid "%s: removing contents of transaction log directory \"%s\"\n" -#~ msgstr "%s : suppression du contenu du répertoire des journaux de transaction « %s »\n" - -#~ msgid "%s: removing transaction log directory \"%s\"\n" -#~ msgstr "%s : suppression du répertoire des journaux de transaction « %s »\n" - -#~ msgid "%s: symlinks are not supported on this platform\n" -#~ msgstr "%s : les liens symboliques ne sont pas supportés sur cette plateforme\n" - -#~ msgid "%s: transaction log directory \"%s\" not removed at user's request\n" -#~ msgstr "" -#~ "%s : répertoire des journaux de transaction « %s » non supprimé à la demande\n" -#~ "de l'utilisateur\n" - -#~ msgid "%s: unrecognized authentication method \"%s\"\n" -#~ msgstr "%s : méthode d'authentification « %s » inconnue.\n" - -#~ msgid "No usable system locales were found.\n" -#~ msgstr "Aucune locale système utilisable n'a été trouvée.\n" - -#, c-format -#~ msgid "The default database encoding has been set to \"%s\".\n" -#~ msgstr "L'encodage par défaut des bases de données a été configuré à « %s ».\n" - -#~ msgid "" -#~ "The program \"postgres\" is needed by %s but was not found in the\n" -#~ "same directory as \"%s\".\n" -#~ "Check your installation." -#~ msgstr "" -#~ "Le programme « postgres » est nécessaire à %s mais n'a pas été trouvé dans\n" -#~ "le même répertoire que « %s ».\n" -#~ "Vérifiez votre installation." - -#~ msgid "" -#~ "The program \"postgres\" was found by \"%s\"\n" -#~ "but was not the same version as %s.\n" -#~ "Check your installation." -#~ msgstr "" -#~ "Le programme « postgres » a été trouvé par « %s » mais n'est pas de la même\n" -#~ "version que « %s ».\n" -#~ "Vérifiez votre installation." - -#, c-format -#~ msgid "Try \"%s --help\" for more information.\n" -#~ msgstr "Essayer « %s --help » pour plus d'informations.\n" - -#~ msgid "Use the option \"--debug\" to see details.\n" -#~ msgstr "Utilisez l'option « --debug » pour voir le détail.\n" - -#, c-format -#~ msgid "cannot create restricted tokens on this platform: error code %lu" -#~ msgstr "ne peut pas créer les jetons restreints sur cette plateforme : code d'erreur %lu" - -#~ msgid "child process was terminated by signal %s" -#~ msgstr "le processus fils a été terminé par le signal %s" - -#~ msgid "copying template1 to postgres ... " -#~ msgstr "copie de template1 vers postgres... " - -#~ msgid "copying template1 to template0 ... " -#~ msgstr "copie de template1 vers template0... " - -#~ msgid "could not change directory to \"%s\"" -#~ msgstr "n'a pas pu accéder au répertoire « %s »" - -#, c-format -#~ msgid "could not change directory to \"%s\": %m" -#~ msgstr "n'a pas pu modifier le répertoire par « %s » : %m" - -#~ msgid "could not change directory to \"%s\": %s" -#~ msgstr "n'a pas pu modifier le répertoire par « %s » : %s" - -#, c-format -#~ msgid "could not identify current directory: %m" -#~ msgstr "n'a pas pu identifier le répertoire courant : %m" - -#, c-format -#~ msgid "could not load library \"%s\": error code %lu" -#~ msgstr "n'a pas pu charger la bibliothèque « %s » : code d'erreur %lu" - -#~ msgid "could not open directory \"%s\": %s\n" -#~ msgstr "n'a pas pu ouvrir le répertoire « %s » : %s\n" - -#, c-format -#~ msgid "could not read binary \"%s\"" -#~ msgstr "n'a pas pu lire le binaire « %s »" - -#~ msgid "could not read directory \"%s\": %s\n" -#~ msgstr "n'a pas pu lire le répertoire « %s » : %s\n" - -#~ msgid "could not read symbolic link \"%s\"" -#~ msgstr "n'a pas pu lire le lien symbolique « %s »" - -#, c-format -#~ msgid "could not read symbolic link \"%s\": %m" -#~ msgstr "n'a pas pu lire le lien symbolique « %s » : %m" - -#, c-format -#~ msgid "could not remove file or directory \"%s\": %m" -#~ msgstr "n'a pas pu supprimer le fichier ou répertoire « %s » : %m" - -#, c-format -#~ msgid "could not stat file or directory \"%s\": %m" -#~ msgstr "" -#~ "n'a pas pu récupérer les informations sur le fichier ou répertoire\n" -#~ "« %s » : %m" - -#~ msgid "could not stat file or directory \"%s\": %s\n" -#~ msgstr "" -#~ "n'a pas pu récupérer les informations sur le fichier ou répertoire\n" -#~ "« %s » : %s\n" - -#~ msgid "creating collations ... " -#~ msgstr "création des collationnements... " - -#~ msgid "creating conversions ... " -#~ msgstr "création des conversions... " - -#~ msgid "creating dictionaries ... " -#~ msgstr "création des dictionnaires... " - -#~ msgid "creating information schema ... " -#~ msgstr "création du schéma d'informations... " - -#~ msgid "creating system views ... " -#~ msgstr "création des vues système... " - -#~ msgid "creating template1 database in %s/base/1 ... " -#~ msgstr "création de la base de données template1 dans %s/base/1... " - -#, c-format -#~ msgid "fatal: " -#~ msgstr "fatal : " - -#~ msgid "initializing dependencies ... " -#~ msgstr "initialisation des dépendances... " - -#~ msgid "initializing pg_authid ... " -#~ msgstr "initialisation de pg_authid... " - -#, c-format -#~ msgid "invalid binary \"%s\"" -#~ msgstr "binaire « %s » invalide" - -#~ msgid "loading PL/pgSQL server-side language ... " -#~ msgstr "chargement du langage PL/pgSQL... " - -#~ msgid "loading system objects' descriptions ... " -#~ msgstr "chargement de la description des objets système... " - -#~ msgid "not supported on this platform\n" -#~ msgstr "non supporté sur cette plateforme\n" - -#~ msgid "pclose failed: %m" -#~ msgstr "échec de pclose : %m" - -#~ msgid "setting password ... " -#~ msgstr "initialisation du mot de passe... " - -#~ msgid "setting privileges on built-in objects ... " -#~ msgstr "initialisation des droits sur les objets internes... " - -#, c-format -#~ msgid "symlinks are not supported on this platform" -#~ msgstr "les liens symboliques ne sont pas supportés sur cette plateforme" - -#~ msgid "vacuuming database template1 ... " -#~ msgstr "lancement du vacuum sur la base de données template1... " diff --git a/src/bin/initdb/po/ja.po b/src/bin/initdb/po/ja.po index 404f2f6125b..4b69d5cedea 100644 --- a/src/bin/initdb/po/ja.po +++ b/src/bin/initdb/po/ja.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: initdb (PostgreSQL 17)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-06-14 11:23+0900\n" -"PO-Revision-Date: 2024-06-14 11:27+0900\n" +"POT-Creation-Date: 2024-10-07 10:52+0900\n" +"PO-Revision-Date: 2024-10-07 11:01+0900\n" "Last-Translator: Kyotaro Horiguchi \n" "Language-Team: Japan PostgreSQL Users Group \n" "Language: ja\n" @@ -17,22 +17,22 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Poedit 1.8.13\n" -#: ../../../src/common/logging.c:276 +#: ../../../src/common/logging.c:278 #, c-format msgid "error: " msgstr "エラー: " -#: ../../../src/common/logging.c:283 +#: ../../../src/common/logging.c:285 #, c-format msgid "warning: " msgstr "警告: " -#: ../../../src/common/logging.c:294 +#: ../../../src/common/logging.c:296 #, c-format msgid "detail: " msgstr "詳細: " -#: ../../../src/common/logging.c:301 +#: ../../../src/common/logging.c:303 #, c-format msgid "hint: " msgstr "ヒント: " @@ -57,28 +57,28 @@ msgstr "実行する\"%s\"がありませんでした" msgid "could not resolve path \"%s\" to absolute form: %m" msgstr "パス\"%s\"を絶対パス形式に変換できませんでした: %m" -#: ../../common/exec.c:382 initdb.c:695 +#: ../../common/exec.c:363 initdb.c:750 #, c-format msgid "could not execute command \"%s\": %m" msgstr "コマンド\"%s\"を実行できませんでした: %m" -#: ../../common/exec.c:394 +#: ../../common/exec.c:375 #, c-format msgid "could not read from command \"%s\": %m" msgstr "コマンド\"%s\"から読み取れませんでした: %m" -#: ../../common/exec.c:397 +#: ../../common/exec.c:378 #, c-format msgid "no data was returned by command \"%s\"" msgstr "コマンド\"%s\"がデータを返却しませんでした" -#: ../../common/exec.c:424 +#: ../../common/exec.c:405 #, c-format msgid "%s() failed: %m" msgstr "%s() が失敗しました: %m" -#: ../../common/exec.c:562 ../../common/exec.c:607 ../../common/exec.c:699 -#: initdb.c:353 +#: ../../common/exec.c:543 ../../common/exec.c:588 ../../common/exec.c:680 +#: initdb.c:372 initdb.c:408 #, c-format msgid "out of memory" msgstr "メモリ不足です" @@ -94,46 +94,46 @@ msgstr "メモリ不足です\n" msgid "cannot duplicate null pointer (internal error)\n" msgstr "null ポインタを複製できません(内部エラー)。\n" -#: ../../common/file_utils.c:70 ../../common/file_utils.c:347 -#: ../../common/file_utils.c:406 ../../common/file_utils.c:480 +#: ../../common/file_utils.c:71 ../../common/file_utils.c:348 +#: ../../common/file_utils.c:407 ../../common/file_utils.c:481 #, c-format msgid "could not open file \"%s\": %m" msgstr "ファイル\"%s\"をオープンできませんでした: %m" -#: ../../common/file_utils.c:76 +#: ../../common/file_utils.c:77 #, 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 +#: ../../common/file_utils.c:121 ../../common/file_utils.c:567 #, c-format msgid "could not stat file \"%s\": %m" msgstr "ファイル\"%s\"のstatに失敗しました: %m" -#: ../../common/file_utils.c:130 ../../common/file_utils.c:227 +#: ../../common/file_utils.c:131 ../../common/file_utils.c:228 #: ../../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 +#: ../../common/file_utils.c:152 ../../common/file_utils.c:282 #: ../../common/pgfnames.c:48 ../../common/rmtree.c:63 #, c-format msgid "could not open directory \"%s\": %m" msgstr "ディレクトリ\"%s\"をオープンできませんでした: %m" -#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 +#: ../../common/file_utils.c:170 ../../common/file_utils.c:316 #: ../../common/pgfnames.c:69 ../../common/rmtree.c:106 #, c-format msgid "could not read directory \"%s\": %m" msgstr "ディレクトリ\"%s\"を読み取れませんでした: %m" -#: ../../common/file_utils.c:418 ../../common/file_utils.c:488 +#: ../../common/file_utils.c:419 ../../common/file_utils.c:489 #, c-format msgid "could not fsync file \"%s\": %m" msgstr "ファイル\"%s\"をfsyncできませんでした: %m" -#: ../../common/file_utils.c:498 +#: ../../common/file_utils.c:499 #, c-format msgid "could not rename file \"%s\" to \"%s\": %m" msgstr "ファイル\"%s\"の名前を\"%s\"に変更できませんでした: %m" @@ -262,291 +262,306 @@ msgstr "\"%s\"のjunctionを設定できませんでした: %s\n" msgid "could not get junction for \"%s\": %s\n" msgstr "\"%s\"のjunctionを入手できませんでした: %s\n" -#: initdb.c:627 initdb.c:1619 +#: initdb.c:369 +#, c-format +msgid "_wsetlocale() failed" +msgstr "_wsetlocale()が失敗しました" + +#: initdb.c:376 +#, c-format +msgid "setlocale() failed" +msgstr "setlocale()が失敗しました" + +#: initdb.c:390 +#, c-format +msgid "failed to restore old locale" +msgstr "古いロケールの復元に失敗しました" + +#: initdb.c:393 +#, c-format +msgid "failed to restore old locale \"%s\"" +msgstr "古いロケール\"%s\"を復元できませんでした" + +#: initdb.c:682 initdb.c:1674 #, c-format msgid "could not open file \"%s\" for reading: %m" msgstr "ファイル\"%s\"を読み取り用にオープンできませんでした: %m" -#: initdb.c:671 initdb.c:975 initdb.c:995 +#: initdb.c:726 initdb.c:1030 initdb.c:1050 #, c-format msgid "could not open file \"%s\" for writing: %m" msgstr "ファイル\"%s\"を書き込み用にオープンできませんでした: %m" -#: initdb.c:675 initdb.c:978 initdb.c:997 +#: initdb.c:730 initdb.c:1033 initdb.c:1052 #, c-format msgid "could not write file \"%s\": %m" msgstr "ファイル\"%s\"を書き出せませんでした: %m" -#: initdb.c:679 +#: initdb.c:734 #, c-format msgid "could not close file \"%s\": %m" msgstr "ファイル\"%s\"をクローズできませんでした: %m" -#: initdb.c:713 +#: initdb.c:768 #, c-format msgid "removing data directory \"%s\"" msgstr "データディレクトリ\"%s\"を削除しています" -#: initdb.c:715 +#: initdb.c:770 #, c-format msgid "failed to remove data directory" msgstr "データディレクトリの削除に失敗しました" -#: initdb.c:719 +#: initdb.c:774 #, c-format msgid "removing contents of data directory \"%s\"" msgstr "データディレクトリ\"%s\"の内容を削除しています" -#: initdb.c:722 +#: initdb.c:777 #, c-format msgid "failed to remove contents of data directory" msgstr "データディレクトリの内容の削除に失敗しました" -#: initdb.c:727 +#: initdb.c:782 #, c-format msgid "removing WAL directory \"%s\"" msgstr "WAL ディレクトリ\"%s\"を削除しています" -#: initdb.c:729 +#: initdb.c:784 #, c-format msgid "failed to remove WAL directory" msgstr "WAL ディレクトリの削除に失敗しました" -#: initdb.c:733 +#: initdb.c:788 #, c-format msgid "removing contents of WAL directory \"%s\"" msgstr "WAL ディレクトリ\"%s\"の中身を削除しています" -#: initdb.c:735 +#: initdb.c:790 #, c-format msgid "failed to remove contents of WAL directory" msgstr "WAL ディレクトリの中身の削除に失敗しました" -#: initdb.c:742 +#: initdb.c:797 #, c-format msgid "data directory \"%s\" not removed at user's request" msgstr "ユーザーの要求によりデータディレクトリ\"%s\"を削除しませんでした" -#: initdb.c:746 +#: initdb.c:801 #, c-format msgid "WAL directory \"%s\" not removed at user's request" msgstr "ユーザーの要求により WAL ディレクトリ\"%s\"を削除しませんでした" -#: initdb.c:764 +#: initdb.c:819 #, c-format msgid "cannot be run as root" msgstr "root では実行できません" -#: initdb.c:765 +#: initdb.c:820 #, c-format msgid "Please log in (using, e.g., \"su\") as the (unprivileged) user that will own the server process." msgstr "サーバープロセスの所有者となる(非特権)ユーザーとして(例えば\"su\"を使用して)ログインしてください。" -#: initdb.c:797 +#: initdb.c:852 #, c-format msgid "\"%s\" is not a valid server encoding name" msgstr "\"%s\"は有効なサーバー符号化方式名ではありません" -#: initdb.c:941 +#: initdb.c:996 #, c-format msgid "file \"%s\" does not exist" msgstr "ファイル\"%s\"は存在しません" -#: initdb.c:942 initdb.c:947 initdb.c:954 +#: initdb.c:997 initdb.c:1002 initdb.c:1009 #, c-format msgid "This might mean you have a corrupted installation or identified the wrong directory with the invocation option -L." msgstr "インストール先が破損しているか実行時オプション-Lで間違ったディレクトリを指定した可能性があります。" -#: initdb.c:946 +#: initdb.c:1001 #, c-format msgid "could not access file \"%s\": %m" msgstr "ファイル\"%s\"にアクセスできませんでした: %m" -#: initdb.c:953 +#: initdb.c:1008 #, c-format msgid "file \"%s\" is not a regular file" msgstr "ファイル\"%s\"は通常のファイルではありません" -#: initdb.c:1086 +#: initdb.c:1141 #, c-format msgid "selecting dynamic shared memory implementation ... " msgstr "動的共有メモリの実装を選択しています ... " -#: initdb.c:1095 +#: initdb.c:1150 #, c-format msgid "selecting default \"max_connections\" ... " msgstr "デフォルトの\"max_connections\"を選択しています ... " -#: initdb.c:1115 +#: initdb.c:1170 #, c-format msgid "selecting default \"shared_buffers\" ... " msgstr "デフォルトの\"shared_buffers\"を選択しています ... " -#: initdb.c:1138 +#: initdb.c:1193 #, c-format msgid "selecting default time zone ... " msgstr "デフォルトの時間帯を選択しています ... " -#: initdb.c:1217 +#: initdb.c:1272 msgid "creating configuration files ... " msgstr "設定ファイルを作成しています ... " -#: initdb.c:1370 initdb.c:1384 initdb.c:1451 initdb.c:1462 +#: initdb.c:1425 initdb.c:1439 initdb.c:1506 initdb.c:1517 #, c-format msgid "could not change permissions of \"%s\": %m" msgstr "\"%s\"の権限を変更できませんでした: %m" -#: initdb.c:1481 +#: initdb.c:1536 #, c-format msgid "running bootstrap script ... " msgstr "ブートストラップスクリプトを実行しています ... " -#: initdb.c:1493 +#: initdb.c:1548 #, c-format msgid "input file \"%s\" does not belong to PostgreSQL %s" msgstr "入力ファイル\"%s\"は PostgreSQL %s のものではありません" -#: initdb.c:1495 +#: initdb.c:1550 #, c-format msgid "Specify the correct path using the option -L." msgstr "-Lオプションを使用して正しいパスを指定してください。" -#: initdb.c:1597 +#: initdb.c:1652 msgid "Enter new superuser password: " msgstr "新しいスーパーユーザーのパスワードを入力してください:" -#: initdb.c:1598 +#: initdb.c:1653 msgid "Enter it again: " msgstr "再入力してください:" -#: initdb.c:1601 +#: initdb.c:1656 #, c-format msgid "Passwords didn't match.\n" msgstr "パスワードが一致しません。\n" -#: initdb.c:1625 +#: initdb.c:1680 #, c-format msgid "could not read password from file \"%s\": %m" msgstr "ファイル\"%s\"からパスワードを読み取ることができませんでした: %m" -#: initdb.c:1628 +#: initdb.c:1683 #, c-format msgid "password file \"%s\" is empty" msgstr "パスワードファイル\"%s\"が空です" -#: initdb.c:2040 +#: initdb.c:2095 #, c-format msgid "caught signal\n" msgstr "シグナルが発生しました\n" -#: initdb.c:2046 +#: initdb.c:2101 #, c-format msgid "could not write to child process: %s\n" msgstr "子プロセスへの書き込みができませんでした: %s\n" -#: initdb.c:2054 +#: initdb.c:2109 #, c-format msgid "ok\n" msgstr "ok\n" -#: initdb.c:2143 -#, c-format -msgid "setlocale() failed" -msgstr "setlocale()が失敗しました" - -#: initdb.c:2161 +#: initdb.c:2191 initdb.c:2237 #, c-format -msgid "failed to restore old locale \"%s\"" -msgstr "古いロケール\"%s\"を復元できませんでした" +msgid "locale name \"%s\" contains non-ASCII characters" +msgstr "ロケール名\"%s\"は不正な非ASCII文字を含んでいます" -#: initdb.c:2169 +#: initdb.c:2217 #, c-format msgid "invalid locale name \"%s\"" msgstr "ロケール名\"%s\"は不正です" -#: initdb.c:2170 +#: initdb.c:2218 #, c-format msgid "If the locale name is specific to ICU, use --icu-locale." msgstr "ロケール名がICU特有のものである場合は、--icu-localeを使用してください。" -#: initdb.c:2183 +#: initdb.c:2231 #, c-format msgid "invalid locale settings; check LANG and LC_* environment variables" msgstr "不正なロケール設定; 環境変数LANGおよびLC_* を確認してください" -#: initdb.c:2209 initdb.c:2233 +#: initdb.c:2262 initdb.c:2286 #, c-format msgid "encoding mismatch" msgstr "符号化方式が合いません" -#: initdb.c:2210 +#: initdb.c:2263 #, c-format msgid "The encoding you selected (%s) and the encoding that the selected locale uses (%s) do not match. This would lead to misbehavior in various character string processing functions." msgstr "選択した符号化方式(%s)と選択したロケールが使用する符号化方式(%s)が合っていません。これにより各種の文字列処理関数が間違った動作をすることになります。" -#: initdb.c:2215 initdb.c:2236 +#: initdb.c:2268 initdb.c:2289 #, c-format msgid "Rerun %s and either do not specify an encoding explicitly, or choose a matching combination." msgstr "%sを再度実行してください、その際にはエンコーディングを明示的に指定しないか、適合する組み合わせを選択してください。" -#: initdb.c:2234 +#: initdb.c:2287 #, c-format msgid "The encoding you selected (%s) is not supported with the ICU provider." msgstr "指定された符号化方式(%s)はICUプロバイダではサポートされません。" -#: initdb.c:2285 +#: initdb.c:2338 #, c-format msgid "could not convert locale name \"%s\" to language tag: %s" msgstr "ロケール名\"%s\"を、言語タグに変換できませんでした: %s" -#: initdb.c:2291 initdb.c:2343 initdb.c:2435 +#: initdb.c:2344 initdb.c:2396 initdb.c:2488 #, c-format msgid "ICU is not supported in this build" msgstr "このビルドではICUはサポートされていません" -#: initdb.c:2314 +#: initdb.c:2367 #, c-format msgid "could not get language from locale \"%s\": %s" msgstr "ロケール\"%s\"から言語を取得できませんでした: %s" -#: initdb.c:2340 +#: initdb.c:2393 #, c-format msgid "locale \"%s\" has unknown language \"%s\"" msgstr "ロケール\"%s\"は未知の言語\"%s\"を含んでいます" -#: initdb.c:2401 +#: initdb.c:2454 #, c-format msgid "locale must be specified if provider is %s" msgstr "ロケールプロバイダが%sの場合はロケールの指定が必須です" -#: initdb.c:2412 +#: initdb.c:2465 #, c-format msgid "invalid locale name \"%s\" for builtin provider" msgstr "ロケール名\"%s\"は組み込みプロバイダでは不正です" -#: initdb.c:2423 +#: initdb.c:2476 #, c-format msgid "Using language tag \"%s\" for ICU locale \"%s\".\n" msgstr "ICUロケール\"%s\"に対して言語タグ\"%s\"を使用します。\n" -#: initdb.c:2446 +#: initdb.c:2499 #, c-format msgid "" "%s initializes a PostgreSQL database cluster.\n" "\n" msgstr "%sはPostgreSQLデータベースクラスタを初期化します。\n" -#: initdb.c:2447 +#: initdb.c:2500 #, c-format msgid "Usage:\n" msgstr "使用方法:\n" -#: initdb.c:2448 +#: initdb.c:2501 #, c-format msgid " %s [OPTION]... [DATADIR]\n" msgstr " %s [OPTION]... [DATADIR]\n" -#: initdb.c:2449 +#: initdb.c:2502 #, c-format msgid "" "\n" @@ -555,57 +570,57 @@ msgstr "" "\n" "オプション:\n" -#: initdb.c:2450 +#: initdb.c:2503 #, c-format msgid " -A, --auth=METHOD default authentication method for local connections\n" msgstr " -A, --auth=METHOD ローカル接続のデフォルト認証方式\n" -#: initdb.c:2451 +#: initdb.c:2504 #, c-format msgid " --auth-host=METHOD default authentication method for local TCP/IP connections\n" msgstr " --auth-host=METHOD ローカルTCP/IP接続のデフォルト認証方式\n" -#: initdb.c:2452 +#: initdb.c:2505 #, c-format msgid " --auth-local=METHOD default authentication method for local-socket connections\n" msgstr " --auth-local=METHOD ローカルソケット接続のデフォルト認証方式\n" -#: initdb.c:2453 +#: initdb.c:2506 #, c-format msgid " [-D, --pgdata=]DATADIR location for this database cluster\n" msgstr " [-D, --pgdata=]DATADIR データベースクラスタの場所\n" -#: initdb.c:2454 +#: initdb.c:2507 #, c-format msgid " -E, --encoding=ENCODING set default encoding for new databases\n" msgstr " -E, --encoding=ENCODING 新規データベースのデフォルト符号化方式\n" -#: initdb.c:2455 +#: initdb.c:2508 #, c-format msgid " -g, --allow-group-access allow group read/execute on data directory\n" msgstr " -g, --allow-group-access データディレクトリのグループ読み取り/実行を許可\n" -#: initdb.c:2456 +#: initdb.c:2509 #, c-format msgid " --icu-locale=LOCALE set ICU locale ID for new databases\n" msgstr " --icu-locale=LOCALE 新しいデータベースのICUロケールIDを設定\n" -#: initdb.c:2457 +#: initdb.c:2510 #, c-format msgid " --icu-rules=RULES set additional ICU collation rules for new databases\n" msgstr " --icu-rules=RULES 新しいデータベースに追加するICU照合順序ルール(群)\n" -#: initdb.c:2458 +#: initdb.c:2511 #, c-format msgid " -k, --data-checksums use data page checksums\n" msgstr " -k, --data-checksums データページのチェックサムを使用\n" -#: initdb.c:2459 +#: initdb.c:2512 #, c-format msgid " --locale=LOCALE set default locale for new databases\n" msgstr " --locale=LOCALE 新しいデータベースのデフォルトロケールをセット\n" -#: initdb.c:2460 +#: initdb.c:2513 #, c-format msgid "" " --lc-collate=, --lc-ctype=, --lc-messages=LOCALE\n" @@ -619,12 +634,12 @@ msgstr "" " デフォルトロケールを設定(デフォルト値は環境変数から\n" " 取得)\n" -#: initdb.c:2464 +#: initdb.c:2517 #, c-format msgid " --no-locale equivalent to --locale=C\n" msgstr " --no-locale --locale=C と同じ\n" -#: initdb.c:2465 +#: initdb.c:2518 #, c-format msgid "" " --builtin-locale=LOCALE\n" @@ -633,7 +648,7 @@ msgstr "" " --builtin-locale=LOCALE\n" " 新しいデータベースの組み込みロケールを指定\n" -#: initdb.c:2467 +#: initdb.c:2520 #, c-format msgid "" " --locale-provider={builtin|libc|icu}\n" @@ -643,14 +658,19 @@ msgstr "" " 新しいデータベースにおけるデフォルトのロケール\n" " プロバイダを設定\n" -#: initdb.c:2469 +#: initdb.c:2522 +#, c-format +msgid " --no-data-checksums do not use data page checksums\n" +msgstr " --no-data-checksums データページのチェックサムを使用しない\n" + +#: initdb.c:2523 #, c-format msgid " --pwfile=FILE read password for the new superuser from file\n" msgstr "" " --pwfile=ファイル名 新しいスーパーユーザーのパスワードをファイルから\n" " 読み込む\n" -#: initdb.c:2470 +#: initdb.c:2524 #, c-format msgid "" " -T, --text-search-config=CFG\n" @@ -659,27 +679,27 @@ msgstr "" " -T, --text-search-config=CFG\\\n" " デフォルトのテキスト検索設定\n" -#: initdb.c:2472 +#: initdb.c:2526 #, c-format msgid " -U, --username=NAME database superuser name\n" msgstr " -U, --username=NAME データベースのスーパーユーザーの名前\n" -#: initdb.c:2473 +#: initdb.c:2527 #, c-format msgid " -W, --pwprompt prompt for a password for the new superuser\n" msgstr " -W, --pwprompt 新規スーパーユーザーに対してパスワード入力を促す\n" -#: initdb.c:2474 +#: initdb.c:2528 #, c-format msgid " -X, --waldir=WALDIR location for the write-ahead log directory\n" msgstr " -X, --waldir=WALDIR 先行書き込みログ用ディレクトリの位置\n" -#: initdb.c:2475 +#: initdb.c:2529 #, c-format msgid " --wal-segsize=SIZE size of WAL segments, in megabytes\n" msgstr " --wal-segsize=SIZE WALセグメントのサイズ、メガバイト単位\n" -#: initdb.c:2476 +#: initdb.c:2530 #, c-format msgid "" "\n" @@ -688,57 +708,57 @@ msgstr "" "\n" "使用頻度の低いオプション:\n" -#: initdb.c:2477 +#: initdb.c:2531 #, c-format msgid " -c, --set NAME=VALUE override default setting for server parameter\n" msgstr " -c, --set NAME=VALUE サーバーパラメータのデフォルト値を上書き設定\n" -#: initdb.c:2478 +#: initdb.c:2532 #, c-format msgid " -d, --debug generate lots of debugging output\n" msgstr " -d, --debug 多くのデバッグ用の出力を生成\n" -#: initdb.c:2479 +#: initdb.c:2533 #, c-format msgid " --discard-caches set debug_discard_caches=1\n" msgstr " --discard-caches debug_discard_cachesを1に設定する\n" -#: initdb.c:2480 +#: initdb.c:2534 #, c-format msgid " -L DIRECTORY where to find the input files\n" msgstr " -L DIRECTORY 入力ファイルの場所を指定\n" -#: initdb.c:2481 +#: initdb.c:2535 #, c-format msgid " -n, --no-clean do not clean up after errors\n" msgstr " -n, --no-clean エラー発生後のクリーンアップを行わない\n" -#: initdb.c:2482 +#: initdb.c:2536 #, c-format msgid " -N, --no-sync do not wait for changes to be written safely to disk\n" msgstr " -N, --no-sync 変更の安全なディスクへの書き出しを待機しない\n" -#: initdb.c:2483 +#: initdb.c:2537 #, c-format msgid " --no-instructions do not print instructions for next steps\n" msgstr " --no-instructions 次の手順の指示を表示しない\n" -#: initdb.c:2484 +#: initdb.c:2538 #, c-format msgid " -s, --show show internal settings, then exit\n" msgstr " -s, --show 内部設定を表示して終了\n" -#: initdb.c:2485 +#: initdb.c:2539 #, c-format msgid " --sync-method=METHOD set method for syncing files to disk\n" msgstr " --sync-method=METHOD ファイルをディスクに同期させる方法を指定\n" -#: initdb.c:2486 +#: initdb.c:2540 #, c-format msgid " -S, --sync-only only sync database files to disk, then exit\n" msgstr " -S, --sync-only データベースファイルのsyncのみを実行して終了\n" -#: initdb.c:2487 +#: initdb.c:2541 #, c-format msgid "" "\n" @@ -747,17 +767,17 @@ msgstr "" "\n" "その他のオプション:\n" -#: initdb.c:2488 +#: initdb.c:2542 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version バージョン情報を表示して終了\n" -#: initdb.c:2489 +#: initdb.c:2543 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help このヘルプを表示して終了\n" -#: initdb.c:2490 +#: initdb.c:2544 #, c-format msgid "" "\n" @@ -767,7 +787,7 @@ msgstr "" "\n" "データディレクトリが指定されない場合、PGDATA環境変数が使用されます。\n" -#: initdb.c:2492 +#: initdb.c:2546 #, c-format msgid "" "\n" @@ -776,72 +796,72 @@ msgstr "" "\n" "バグは<%s>に報告してください。\n" -#: initdb.c:2493 +#: initdb.c:2547 #, c-format msgid "%s home page: <%s>\n" msgstr "%s ホームページ: <%s>\n" -#: initdb.c:2517 +#: initdb.c:2571 #, c-format msgid "invalid authentication method \"%s\" for \"%s\" connections" msgstr "\"%2$s\"接続では認証方式\"%1$s\"は無効です" -#: initdb.c:2531 +#: initdb.c:2585 #, c-format msgid "must specify a password for the superuser to enable password authentication" msgstr "パスワード認証を有効にするにはスーパーユーザーのパスワードを指定する必要があります" -#: initdb.c:2550 +#: initdb.c:2604 #, c-format msgid "no data directory specified" msgstr "データディレクトリが指定されていません" -#: initdb.c:2551 +#: initdb.c:2605 #, c-format msgid "You must identify the directory where the data for this database system will reside. Do this with either the invocation option -D or the environment variable PGDATA." msgstr "データベースシステムのデータを格納するディレクトリを指定する必要があります。実行時オプション -D、もしくは、PGDATA環境変数で指定してください。" -#: initdb.c:2568 +#: initdb.c:2622 #, c-format msgid "could not set environment" msgstr "環境を設定できません" -#: initdb.c:2586 +#: initdb.c:2640 #, c-format msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"" msgstr "%2$sにはプログラム\"%1$s\"が必要ですが、\"%3$s\"と同じディレクトリにはありませんでした。" -#: initdb.c:2589 +#: initdb.c:2643 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" msgstr "\"%2$s\"がプログラム\"%1$s\"を見つけましたが、これは%3$sと同じバージョンではありませんでした。" -#: initdb.c:2604 +#: initdb.c:2658 #, c-format msgid "input file location must be an absolute path" msgstr "入力ファイルの場所は絶対パスでなければなりません" -#: initdb.c:2621 +#: initdb.c:2675 #, c-format msgid "The database cluster will be initialized with locale \"%s\".\n" msgstr "データベースクラスタはロケール\"%s\"で初期化されます。\n" -#: initdb.c:2624 +#: initdb.c:2678 #, c-format msgid "The database cluster will be initialized with this locale configuration:\n" msgstr "データベースクラスタは以下のロケール構成で初期化されます。\n" -#: initdb.c:2625 +#: initdb.c:2679 #, c-format msgid " locale provider: %s\n" msgstr " ロケールプロバイダ:%s\n" -#: initdb.c:2627 +#: initdb.c:2681 #, c-format msgid " default collation: %s\n" msgstr " デフォルト照合順序:%s\n" -#: initdb.c:2628 +#: initdb.c:2682 #, c-format msgid "" " LC_COLLATE: %s\n" @@ -858,22 +878,22 @@ msgstr "" " LC_NUMERIC: %s\n" " LC_TIME: %s\n" -#: initdb.c:2658 +#: initdb.c:2712 #, c-format msgid "could not find suitable encoding for locale \"%s\"" msgstr "ロケール\"%s\"に対して適切な符号化方式がありませんでした" -#: initdb.c:2660 +#: initdb.c:2714 #, c-format msgid "Rerun %s with the -E option." msgstr "-Eオプションを付けて%sを再実行してください。" -#: initdb.c:2661 initdb.c:3204 initdb.c:3324 initdb.c:3344 +#: initdb.c:2715 initdb.c:3259 initdb.c:3382 initdb.c:3402 #, c-format msgid "Try \"%s --help\" for more information." msgstr "詳細は\"%s --help\"を実行してください。" -#: initdb.c:2673 +#: initdb.c:2727 #, c-format msgid "" "Encoding \"%s\" implied by locale is not allowed as a server-side encoding.\n" @@ -883,112 +903,112 @@ msgstr "" "符号化方式として使用できません。\n" "デフォルトのデータベース符号化方式は代わりに\"%s\"に設定されます。\n" -#: initdb.c:2678 +#: initdb.c:2732 #, c-format msgid "locale \"%s\" requires unsupported encoding \"%s\"" msgstr "ロケール\"%s\"は非サポートの符号化方式\"%s\"を必要とします" -#: initdb.c:2680 +#: initdb.c:2734 #, c-format msgid "Encoding \"%s\" is not allowed as a server-side encoding." msgstr "符号化方式\"%s\"はサーバー側の符号化方式として使用できません。" -#: initdb.c:2682 +#: initdb.c:2736 #, c-format msgid "Rerun %s with a different locale selection." msgstr "別のローケルを選択して%sを再実行してください。" -#: initdb.c:2690 +#: initdb.c:2744 #, c-format msgid "The default database encoding has accordingly been set to \"%s\".\n" msgstr "デフォルトのデータベース符号化方式はそれに対応して%sに設定されました。\n" -#: initdb.c:2704 +#: initdb.c:2758 #, c-format msgid "builtin provider locale \"%s\" requires encoding \"%s\"" msgstr "組み込みプロバイダロケール\"%s\"は符号化方式\"%s\"を必要とします" -#: initdb.c:2766 +#: initdb.c:2820 #, c-format msgid "could not find suitable text search configuration for locale \"%s\"" msgstr "ロケール\"%s\"用の適切なテキスト検索設定が見つかりませんでした" -#: initdb.c:2777 +#: initdb.c:2831 #, c-format msgid "suitable text search configuration for locale \"%s\" is unknown" msgstr "ロケール\"%s\"に適したテキスト検索設定が不明です" -#: initdb.c:2782 +#: initdb.c:2836 #, c-format msgid "specified text search configuration \"%s\" might not match locale \"%s\"" msgstr "指定したテキスト検索設定\"%s\"がロケール\"%s\"に合わない可能性があります" -#: initdb.c:2787 +#: initdb.c:2841 #, c-format msgid "The default text search configuration will be set to \"%s\".\n" msgstr "デフォルトのテキスト検索構成は %s に設定されます。\n" -#: initdb.c:2830 initdb.c:2901 +#: initdb.c:2884 initdb.c:2955 #, c-format msgid "creating directory %s ... " msgstr "ディレクトリ%sを作成しています ... " -#: initdb.c:2835 initdb.c:2906 initdb.c:2954 initdb.c:3011 +#: initdb.c:2889 initdb.c:2960 initdb.c:3008 initdb.c:3065 #, c-format msgid "could not create directory \"%s\": %m" msgstr "ディレクトリ\"%s\"を作成できませんでした: %m" -#: initdb.c:2844 initdb.c:2916 +#: initdb.c:2898 initdb.c:2970 #, c-format msgid "fixing permissions on existing directory %s ... " msgstr "ディレクトリ%sの権限を設定しています ... " -#: initdb.c:2849 initdb.c:2921 +#: initdb.c:2903 initdb.c:2975 #, c-format msgid "could not change permissions of directory \"%s\": %m" msgstr "ディレクトリ\"%s\"の権限を変更できませんでした: %m" -#: initdb.c:2861 initdb.c:2933 +#: initdb.c:2915 initdb.c:2987 #, c-format msgid "directory \"%s\" exists but is not empty" msgstr "ディレクトリ\"%s\"は存在しますが、空ではありません" -#: initdb.c:2865 +#: initdb.c:2919 #, c-format msgid "If you want to create a new database system, either remove or empty the directory \"%s\" or run %s with an argument other than \"%s\"." msgstr "新規にデータベースシステムを作成したいのであれば、ディレクトリ\"%s\"を削除あるいは空にする、または%sを\"%s\"以外の引数で実行してください。" -#: initdb.c:2873 initdb.c:2943 initdb.c:3369 +#: initdb.c:2927 initdb.c:2997 initdb.c:3427 #, c-format msgid "could not access directory \"%s\": %m" msgstr "ディレクトリ\"%s\"にアクセスできませんでした: %m" -#: initdb.c:2894 +#: initdb.c:2948 #, c-format msgid "WAL directory location must be an absolute path" msgstr "WAL ディレクトリの位置は、絶対パスでなければなりません" -#: initdb.c:2937 +#: initdb.c:2991 #, c-format msgid "If you want to store the WAL there, either remove or empty the directory \"%s\"." msgstr "そこにWALを格納したい場合は、ディレクトリ\"%s\"を削除するか空にしてください。" -#: initdb.c:2947 +#: initdb.c:3001 #, c-format msgid "could not create symbolic link \"%s\": %m" msgstr "シンボリックリンク\"%s\"を作成できませんでした: %m" -#: initdb.c:2966 +#: initdb.c:3020 #, c-format msgid "It contains a dot-prefixed/invisible file, perhaps due to it being a mount point." msgstr "おそらくマウントポイントであることに起因した先頭がドットであるファイル、または不可視なファイルが含まれています。" -#: initdb.c:2968 +#: initdb.c:3022 #, c-format msgid "It contains a lost+found directory, perhaps due to it being a mount point." msgstr "おそらくマウントポイントであることに起因したlost+foundディレクトリが含まれています。" -#: initdb.c:2970 +#: initdb.c:3024 #, c-format msgid "" "Using a mount point directly as the data directory is not recommended.\n" @@ -997,65 +1017,65 @@ msgstr "" "マウントポイントであるディレクトリをデータディレクトリとして使用することはお勧めしません。\n" "この下にサブディレクトリを作成してください。" -#: initdb.c:2997 +#: initdb.c:3051 #, c-format msgid "creating subdirectories ... " msgstr "サブディレクトリを作成しています ... " -#: initdb.c:3040 +#: initdb.c:3094 msgid "performing post-bootstrap initialization ... " msgstr "ブートストラップ後の初期化を実行しています ... " -#: initdb.c:3203 +#: initdb.c:3258 #, c-format msgid "-c %s requires a value" msgstr "-c %sは値が必要です" -#: initdb.c:3228 +#: initdb.c:3283 #, c-format msgid "Running in debug mode.\n" msgstr "デバッグモードで実行しています。\n" -#: initdb.c:3232 +#: initdb.c:3287 #, c-format msgid "Running in no-clean mode. Mistakes will not be cleaned up.\n" msgstr "no-clean モードで実行しています。失敗した状況は削除されません。\n" -#: initdb.c:3305 +#: initdb.c:3360 #, c-format msgid "unrecognized locale provider: %s" msgstr "認識できない照合順序プロバイダ: %s" -#: initdb.c:3342 +#: initdb.c:3400 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "コマンドライン引数が多すぎます。(先頭は\"%s\")" -#: initdb.c:3349 initdb.c:3353 initdb.c:3357 +#: initdb.c:3407 initdb.c:3411 initdb.c:3415 #, c-format msgid "%s cannot be specified unless locale provider \"%s\" is chosen" msgstr "ロケールプロバイダ\"%2$s\"が選択されていなければ%1$sは指定できません" -#: initdb.c:3371 initdb.c:3434 +#: initdb.c:3429 initdb.c:3492 msgid "syncing data to disk ... " msgstr "データをディスクに同期しています ... " -#: initdb.c:3379 +#: initdb.c:3437 #, c-format msgid "password prompt and password file cannot be specified together" msgstr "パスワードプロンプトとパスワードファイルは同時に指定できません" -#: initdb.c:3390 +#: initdb.c:3448 #, c-format msgid "argument of %s must be a power of two between 1 and 1024" msgstr "%sの引数は1から1024までの間の2の累乗でなければなりません" -#: initdb.c:3403 +#: initdb.c:3461 #, c-format msgid "superuser name \"%s\" is disallowed; role names cannot begin with \"pg_\"" msgstr "スーパーユーザー名\"%s\"は許可されません; ロール名は\"pg_\"で始めることはできません" -#: initdb.c:3405 +#: initdb.c:3463 #, c-format msgid "" "The files belonging to this database system will be owned by user \"%s\".\n" @@ -1066,17 +1086,17 @@ msgstr "" "このユーザーをサーバープロセスの所有者とする必要があります。\n" "\n" -#: initdb.c:3421 +#: initdb.c:3479 #, c-format msgid "Data page checksums are enabled.\n" msgstr "データページのチェックサムは有効です。\n" -#: initdb.c:3423 +#: initdb.c:3481 #, c-format msgid "Data page checksums are disabled.\n" msgstr "データベージのチェックサムは無効です。\n" -#: initdb.c:3440 +#: initdb.c:3498 #, c-format msgid "" "\n" @@ -1087,22 +1107,22 @@ msgstr "" "ディスクへの同期がスキップされました。\n" "オペレーティングシステムがクラッシュした場合データディレクトリは破損されるかもしれません。\n" -#: initdb.c:3445 +#: initdb.c:3503 #, c-format msgid "enabling \"trust\" authentication for local connections" msgstr "ローカル接続に対して\"trust\"認証を有効にします " -#: initdb.c:3446 +#: initdb.c:3504 #, c-format msgid "You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb." msgstr "pg_hba.confを編集する、もしくは、次回initdbを実行する時に -A オプション、あるいは --auth-local および --auth-host オプションを使用することで変更できます。" #. translator: This is a placeholder in a shell command. -#: initdb.c:3476 +#: initdb.c:3534 msgid "logfile" msgstr "ログファイル" -#: initdb.c:3478 +#: initdb.c:3536 #, c-format msgid "" "\n" diff --git a/src/bin/initdb/po/ka.po b/src/bin/initdb/po/ka.po index 898a421cb4c..8efacb48219 100644 --- a/src/bin/initdb/po/ka.po +++ b/src/bin/initdb/po/ka.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: initdb (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-06-14 02:21+0000\n" -"PO-Revision-Date: 2024-06-14 06:11+0200\n" +"POT-Creation-Date: 2024-10-12 00:21+0000\n" +"PO-Revision-Date: 2024-10-12 06:49+0200\n" "Last-Translator: Temuri Doghonadze \n" "Language-Team: Georgian \n" "Language: ka\n" @@ -16,7 +16,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 3.3.2\n" +"X-Generator: Poedit 3.5\n" #: ../../../src/common/logging.c:276 #, c-format @@ -58,7 +58,7 @@ msgstr "გასაშვებად ფაილის \"%s\" პოვნა msgid "could not resolve path \"%s\" to absolute form: %m" msgstr "ბილიკის (\"%s\") აბსოლუტურ ფორმაში ამოხსნის შეცდომა: %m" -#: ../../common/exec.c:382 initdb.c:695 +#: ../../common/exec.c:382 initdb.c:750 #, c-format msgid "could not execute command \"%s\": %m" msgstr "ბრძანების (\"%s\") შესრულების შეცდომა: %m" @@ -79,7 +79,7 @@ msgid "%s() failed: %m" msgstr "%s()-ის შეცდომა: %m" #: ../../common/exec.c:562 ../../common/exec.c:607 ../../common/exec.c:699 -#: initdb.c:353 +#: initdb.c:372 initdb.c:408 #, c-format msgid "out of memory" msgstr "არასაკმარისი მეხსიერება" @@ -263,274 +263,290 @@ msgstr "\"%s\"-ისთვის შეერთების დაყენე msgid "could not get junction for \"%s\": %s\n" msgstr "\"%s\"-ისთვის შეერთების მიღება ვერ მოხერხდა: %s\n" -#: initdb.c:627 initdb.c:1619 +#: initdb.c:369 +#, c-format +#| msgid "setlocale() failed" +msgid "_wsetlocale() failed" +msgstr "_wsetlocale() ჩავარდა" + +#: initdb.c:376 +#, c-format +msgid "setlocale() failed" +msgstr "setlocale() ჩავარდა" + +#: initdb.c:390 +#, c-format +msgid "failed to restore old locale" +msgstr "ძველი ლოკალის აღდგენა ჩავარდა" + +#: initdb.c:393 +#, c-format +msgid "failed to restore old locale \"%s\"" +msgstr "ძველი ენის (\"%s\") აღდგენის შეცდომა" + +#: initdb.c:682 initdb.c:1674 #, c-format msgid "could not open file \"%s\" for reading: %m" msgstr "ფაილის (%s) გახსნის შეცდომა: %m" -#: initdb.c:671 initdb.c:975 initdb.c:995 +#: initdb.c:726 initdb.c:1030 initdb.c:1050 #, c-format msgid "could not open file \"%s\" for writing: %m" msgstr "ფაილის (\"%s\") ჩასაწერად გახსნა შეუძლებელია: %m" -#: initdb.c:675 initdb.c:978 initdb.c:997 +#: initdb.c:730 initdb.c:1033 initdb.c:1052 #, c-format msgid "could not write file \"%s\": %m" msgstr "ფაილში (%s) ჩაწერის შეცდომა: %m" -#: initdb.c:679 +#: initdb.c:734 #, c-format msgid "could not close file \"%s\": %m" msgstr "ფაილის (%s) დახურვის შეცდომა: %m" -#: initdb.c:713 +#: initdb.c:768 #, c-format msgid "removing data directory \"%s\"" msgstr "მონაცემების საქაღალდის წაშლა \"%s\"" -#: initdb.c:715 +#: initdb.c:770 #, c-format msgid "failed to remove data directory" msgstr "მონაცემების საქაღალდის წაშლის შეცდომა" -#: initdb.c:719 +#: initdb.c:774 #, c-format msgid "removing contents of data directory \"%s\"" msgstr "მონაცემების საქაღალდის შემცველობის წაშლა \"%s\"" -#: initdb.c:722 +#: initdb.c:777 #, c-format msgid "failed to remove contents of data directory" msgstr "მონაცემების საქაღალდის შემცველობის წაშლის შეცდომა" -#: initdb.c:727 +#: initdb.c:782 #, c-format msgid "removing WAL directory \"%s\"" msgstr "მიმდინარეობს WAL საქაღალდის წაშლა \"%s\"" -#: initdb.c:729 +#: initdb.c:784 #, c-format msgid "failed to remove WAL directory" msgstr "შეცდომა WAL საქაღალდის წაშლისას" -#: initdb.c:733 +#: initdb.c:788 #, c-format msgid "removing contents of WAL directory \"%s\"" msgstr "მიმდინარეობს WAL საქაღალდის (\"%s\") შემცველობის წაშლა" -#: initdb.c:735 +#: initdb.c:790 #, c-format msgid "failed to remove contents of WAL directory" msgstr "შეცდომა WAL საქაღალდის შემცველობის წაშლისას" -#: initdb.c:742 +#: initdb.c:797 #, c-format msgid "data directory \"%s\" not removed at user's request" msgstr "მონაცემების საქაღალდე \"%s\" მომხმარებლის მოთხოვნისას არ წაიშლება" -#: initdb.c:746 +#: initdb.c:801 #, c-format msgid "WAL directory \"%s\" not removed at user's request" msgstr "WAL საქაღალდე \"%s\" მომხმარებლის მოთხოვნისას არ წაიშლება" -#: initdb.c:764 +#: initdb.c:819 #, c-format msgid "cannot be run as root" msgstr "root-ით ვერ გაეშვება" -#: initdb.c:765 +#: initdb.c:820 #, c-format msgid "Please log in (using, e.g., \"su\") as the (unprivileged) user that will own the server process." msgstr "შედით (ან გამოიყენეთ \"su\") არაპრივილეგირებული მომხმარებლით, რომელიც სერვერს პროცესის მფლობელი იქნება." -#: initdb.c:797 +#: initdb.c:852 #, c-format msgid "\"%s\" is not a valid server encoding name" msgstr "\"%s\" კოდირების სწორ სახელს არ წარმოადგენს" -#: initdb.c:941 +#: initdb.c:996 #, c-format msgid "file \"%s\" does not exist" msgstr "ფაილი %s არ არსებობს" -#: initdb.c:942 initdb.c:947 initdb.c:954 +#: initdb.c:997 initdb.c:1002 initdb.c:1009 #, c-format msgid "This might mean you have a corrupted installation or identified the wrong directory with the invocation option -L." msgstr "შეიძლება ნიშნავდეს, რომ თქვენი დაყენებული ვერსია გაფუჭებულია ან -L -ს არასწორი საქაღალდე მიუთითეთ." -#: initdb.c:946 +#: initdb.c:1001 #, c-format msgid "could not access file \"%s\": %m" msgstr "ფაილის (%s) წვდომის შეცდომა: %m" -#: initdb.c:953 +#: initdb.c:1008 #, c-format msgid "file \"%s\" is not a regular file" msgstr "ფაილ \"%s\" ჩვეულებრივი ფაილი არაა" -#: initdb.c:1086 +#: initdb.c:1141 #, c-format msgid "selecting dynamic shared memory implementation ... " msgstr "დინამიკური გაზიარებული მეხსიერების იმპლემენტაციის არჩევა ... " -#: initdb.c:1095 +#: initdb.c:1150 #, c-format msgid "selecting default \"max_connections\" ... " msgstr "ნაგულისხმევი \"max_connections\"-ის არჩევა … " -#: initdb.c:1115 +#: initdb.c:1170 #, c-format msgid "selecting default \"shared_buffers\" ... " msgstr "ნაგულისხმევი \"shared_buffers\"-ის არჩევა … " -#: initdb.c:1138 +#: initdb.c:1193 #, c-format msgid "selecting default time zone ... " msgstr "დროის ნაგულისხმევი სარტყლის არჩევა … " -#: initdb.c:1217 +#: initdb.c:1272 msgid "creating configuration files ... " msgstr "კონფიგურაციის ფაილების შექმნა … " -#: initdb.c:1370 initdb.c:1384 initdb.c:1451 initdb.c:1462 +#: initdb.c:1425 initdb.c:1439 initdb.c:1506 initdb.c:1517 #, c-format msgid "could not change permissions of \"%s\": %m" msgstr "\"%s\"-ის წვდომების შეცვლის შეცდომა: %m" -#: initdb.c:1481 +#: initdb.c:1536 #, c-format msgid "running bootstrap script ... " msgstr "მოსამზადებელი სკრიპტის გაშვება ... " -#: initdb.c:1493 +#: initdb.c:1548 #, c-format msgid "input file \"%s\" does not belong to PostgreSQL %s" msgstr "შეყვანილი ფაილი \"%s\" PostgreSQL %s -ს არ ეკუთვნის" -#: initdb.c:1495 +#: initdb.c:1550 #, c-format msgid "Specify the correct path using the option -L." msgstr "მიუთითეთ სწორი ბილიკი -L პარამეტრით." -#: initdb.c:1597 +#: initdb.c:1652 msgid "Enter new superuser password: " msgstr "შეიყვანეთ ზემომხმარებლის ახალი პაროლი: " -#: initdb.c:1598 +#: initdb.c:1653 msgid "Enter it again: " msgstr "შეიყვანეთ კდევ ერთხელ: " -#: initdb.c:1601 +#: initdb.c:1656 #, c-format msgid "Passwords didn't match.\n" msgstr "პაროლები არ ემთხვევა.\n" -#: initdb.c:1625 +#: initdb.c:1680 #, c-format msgid "could not read password from file \"%s\": %m" msgstr "პაროლის ფაილიდან (\"%s\") წაკითხვის შეცდომა: %m" -#: initdb.c:1628 +#: initdb.c:1683 #, c-format msgid "password file \"%s\" is empty" msgstr "პაროლის ფაილი (\"%s\") ცარიელია" -#: initdb.c:2040 +#: initdb.c:2095 #, c-format msgid "caught signal\n" msgstr "მიღებულია სიგნალი\n" -#: initdb.c:2046 +#: initdb.c:2101 #, c-format msgid "could not write to child process: %s\n" msgstr "შვილობილი პროცესისთვის ჩაწერის შეცდომა: %s\n" -#: initdb.c:2054 +#: initdb.c:2109 #, c-format msgid "ok\n" msgstr "დიახ\n" -#: initdb.c:2143 -#, c-format -msgid "setlocale() failed" -msgstr "setlocale()-ის შეცდომა" - -#: initdb.c:2161 +#: initdb.c:2191 initdb.c:2237 #, c-format -msgid "failed to restore old locale \"%s\"" -msgstr "ძველი ენის (\"%s\") აღდგენის შეცდომა" +msgid "locale name \"%s\" contains non-ASCII characters" +msgstr "ლოკალის სახელი \"%s\" არა-ASCII სიმბოლოებს შეიცავს" -#: initdb.c:2169 +#: initdb.c:2217 #, c-format msgid "invalid locale name \"%s\"" msgstr "ენის არასწორი სახელი: \"%s\"" -#: initdb.c:2170 +#: initdb.c:2218 #, c-format msgid "If the locale name is specific to ICU, use --icu-locale." msgstr "თუ ლოკალის სახელი მხოლოდ მითითებული ICU-სთვისა ხელმისაწვდომი, გამოიყენეთ --icu-locale." -#: initdb.c:2183 +#: initdb.c:2231 #, c-format msgid "invalid locale settings; check LANG and LC_* environment variables" msgstr "ენის არასწორი პარამეტრები; გადაამოწმეთ გარემოს ცვლადები: LANG და LC_*" -#: initdb.c:2209 initdb.c:2233 +#: initdb.c:2262 initdb.c:2286 #, c-format msgid "encoding mismatch" msgstr "კოდირება არ ემთხვევა" -#: initdb.c:2210 +#: initdb.c:2263 #, c-format msgid "The encoding you selected (%s) and the encoding that the selected locale uses (%s) do not match. This would lead to misbehavior in various character string processing functions." msgstr "თქვენ მიერ არჩეული კოდირება (%s) და კოდირება, რომელსაც არჩეული ენა იყენებს (%s) არ ემთხვევა. ეს სიმბოლოების სტრიქონების დამუშავების სხვადასხვა ფუნქციების არასწორ ქცევას გამოიწვევს." -#: initdb.c:2215 initdb.c:2236 +#: initdb.c:2268 initdb.c:2289 #, c-format msgid "Rerun %s and either do not specify an encoding explicitly, or choose a matching combination." msgstr "თავიდან გაუშვით %s და კოდირება ან არ მიუთითოთ, ან სწორად მიუთითეთ." -#: initdb.c:2234 +#: initdb.c:2287 #, c-format msgid "The encoding you selected (%s) is not supported with the ICU provider." msgstr "თქვენს მიერ შერჩეული კოდირება (%s) ICU -ის მომწოდებელთან ერთად მხარდაუჭერელია." -#: initdb.c:2285 +#: initdb.c:2338 #, c-format msgid "could not convert locale name \"%s\" to language tag: %s" msgstr "მდებარეობის კოდის \"%s\" ენის ჭდეში (%s) გადაყვანის შეცდომა" -#: initdb.c:2291 initdb.c:2343 initdb.c:2435 +#: initdb.c:2344 initdb.c:2396 initdb.c:2488 #, c-format msgid "ICU is not supported in this build" msgstr "ამ აგებაში ICU-ის მხარდაჭერა არ არსებბს" -#: initdb.c:2314 +#: initdb.c:2367 #, c-format msgid "could not get language from locale \"%s\": %s" msgstr "ლოკალიდან \"%s\" ენის მიღების შეცდომა: %s" -#: initdb.c:2340 +#: initdb.c:2393 #, c-format msgid "locale \"%s\" has unknown language \"%s\"" msgstr "ლოკალის \"%s\" ენა \"%s\" უცნობია" -#: initdb.c:2401 +#: initdb.c:2454 #, c-format msgid "locale must be specified if provider is %s" msgstr "ლოკალის მითითება აუცილებელია, თუ მომწოდებელია %s" -#: initdb.c:2412 +#: initdb.c:2465 #, c-format msgid "invalid locale name \"%s\" for builtin provider" msgstr "არასწორი ლოკალის სახელი \"%s\" ჩაშენებული მომწოდებლისთვის" -#: initdb.c:2423 +#: initdb.c:2476 #, c-format msgid "Using language tag \"%s\" for ICU locale \"%s\".\n" msgstr "ვიყენებ ენის ჭდეს \"%s\" ICU ლოკალისთვის \"%s\".\n" -#: initdb.c:2446 +#: initdb.c:2499 #, c-format msgid "" "%s initializes a PostgreSQL database cluster.\n" @@ -539,17 +555,17 @@ msgstr "" "%s PostgreSQL ბაზის კლასერის ინიციალიზაციას ახდენს.\n" "\n" -#: initdb.c:2447 +#: initdb.c:2500 #, c-format msgid "Usage:\n" msgstr "გამოყენება:\n" -#: initdb.c:2448 +#: initdb.c:2501 #, c-format msgid " %s [OPTION]... [DATADIR]\n" msgstr " %s [პარამეტრი]... [მონაცემებისსაქაღალდე]\n" -#: initdb.c:2449 +#: initdb.c:2502 #, c-format msgid "" "\n" @@ -558,57 +574,57 @@ msgstr "" "\n" "პარამეტრები:\n" -#: initdb.c:2450 +#: initdb.c:2503 #, c-format msgid " -A, --auth=METHOD default authentication method for local connections\n" msgstr " -A, --auth=მეთოდი ავთენტიკაციის ნაგულისხმევი მეთოდი ლოკალური შეერთებებისთვის\n" -#: initdb.c:2451 +#: initdb.c:2504 #, c-format msgid " --auth-host=METHOD default authentication method for local TCP/IP connections\n" msgstr " --auth-host=მეთოდი ლოკალური TCP/IP შეერთების ავთენტიკაციის ნაგულისხმევი მეთოდი\n" -#: initdb.c:2452 +#: initdb.c:2505 #, c-format msgid " --auth-local=METHOD default authentication method for local-socket connections\n" msgstr " --auth-local=მეთოდი ლოკალური სოკეტის შეერთების ავთენტიკაციის ნაგულისხმევი მეთოდი\n" -#: initdb.c:2453 +#: initdb.c:2506 #, c-format msgid " [-D, --pgdata=]DATADIR location for this database cluster\n" msgstr " [-D, --pgdata=]DATADIR ბაზის კლასტერის მდებარეობა\n" -#: initdb.c:2454 +#: initdb.c:2507 #, c-format msgid " -E, --encoding=ENCODING set default encoding for new databases\n" msgstr " -E, --encoding=კოდირება ახალი ბაზების ნაგულისხმევი კოდირება\n" -#: initdb.c:2455 +#: initdb.c:2508 #, c-format msgid " -g, --allow-group-access allow group read/execute on data directory\n" msgstr " -g, --allow-group-access მონაცემების საქაღალდეზე ჯგუფის კითხვა/გაშვების წვდომის დაყენება\n" -#: initdb.c:2456 +#: initdb.c:2509 #, c-format msgid " --icu-locale=LOCALE set ICU locale ID for new databases\n" msgstr " --icu-locale=კოდირება ICU ენის ID ახალი ბაზებისთვის\n" -#: initdb.c:2457 +#: initdb.c:2510 #, c-format msgid " --icu-rules=RULES set additional ICU collation rules for new databases\n" msgstr " --icu-rules=წესები ახალი ბაზებისთვის დამატებითი ICUკოლაციის წესების დაყენება\n" -#: initdb.c:2458 +#: initdb.c:2511 #, c-format msgid " -k, --data-checksums use data page checksums\n" msgstr " -k, --data-checksums მონაცემების გვერდის საკონტროლო ჯამების გამოყენება\n" -#: initdb.c:2459 +#: initdb.c:2512 #, c-format msgid " --locale=LOCALE set default locale for new databases\n" msgstr " --locale=ენა ახალი ბაზების ნაგულისხმევი ენის დაყენება\n" -#: initdb.c:2460 +#: initdb.c:2513 #, c-format msgid "" " --lc-collate=, --lc-ctype=, --lc-messages=LOCALE\n" @@ -621,12 +637,12 @@ msgstr "" " დააყენეთ ნაგულისხმევი ენა შესაბამის კატეგორიაში\n" " ახალი ბაზებისთვის (ნაგულისხმევი აღებულია გარემოდან)\n" -#: initdb.c:2464 +#: initdb.c:2517 #, c-format msgid " --no-locale equivalent to --locale=C\n" msgstr " --no-locale იგივე, რაც --locale=C\n" -#: initdb.c:2465 +#: initdb.c:2518 #, c-format msgid "" " --builtin-locale=LOCALE\n" @@ -635,7 +651,7 @@ msgstr "" " --builtin-locale=ლოკალი\n" " ჩაშენებული ლოკალის სახელის დაყენება ახალი ბაზებისთვის\n" -#: initdb.c:2467 +#: initdb.c:2520 #, c-format msgid "" " --locale-provider={builtin|libc|icu}\n" @@ -644,12 +660,12 @@ msgstr "" " --locale-provider={builtin|libc|icu}\n" " ახალი ბაზებისთვის ლოკალის ნაგულისხმევი მიმწოდებლის დაყენება\n" -#: initdb.c:2469 +#: initdb.c:2522 #, c-format msgid " --pwfile=FILE read password for the new superuser from file\n" msgstr " --pwfile=FILE ახალი ზემომხმარებლის პაროლის ფაილიდან წაკითხვა\n" -#: initdb.c:2470 +#: initdb.c:2523 #, c-format msgid "" " -T, --text-search-config=CFG\n" @@ -658,27 +674,27 @@ msgstr "" " -T, --text-search-config=CFG\n" " ტექსტის ძებნის ნაგულისხმევი კონფიგურაცია\n" -#: initdb.c:2472 +#: initdb.c:2525 #, c-format msgid " -U, --username=NAME database superuser name\n" msgstr " -U, --username=სახელი ბაზის ზემომხმარებლის სახელი\n" -#: initdb.c:2473 +#: initdb.c:2526 #, c-format msgid " -W, --pwprompt prompt for a password for the new superuser\n" msgstr " -W, --pwprompt ზემომხმარებლის პაროლის კითხვა\n" -#: initdb.c:2474 +#: initdb.c:2527 #, c-format msgid " -X, --waldir=WALDIR location for the write-ahead log directory\n" msgstr " -X, --waldir=WALDIR წინასწარ ჩაწერადი ჟურნალის (WAL) საქაღალდის მდებარეობა\n" -#: initdb.c:2475 +#: initdb.c:2528 #, c-format msgid " --wal-segsize=SIZE size of WAL segments, in megabytes\n" msgstr " --wal-segsize=ზომა WAL სეგმენტების ზომა, მეგაბაიტებში\n" -#: initdb.c:2476 +#: initdb.c:2529 #, c-format msgid "" "\n" @@ -687,57 +703,57 @@ msgstr "" "\n" "იშვიათად გამოყენებული პარამეტრები:\n" -#: initdb.c:2477 +#: initdb.c:2530 #, c-format msgid " -c, --set NAME=VALUE override default setting for server parameter\n" msgstr " -c, --set NAME=VALUE სერვერის ნაგულისხმევი პარამეტრის გადაფარვა\n" -#: initdb.c:2478 +#: initdb.c:2531 #, c-format msgid " -d, --debug generate lots of debugging output\n" msgstr " -d, --debug გასამართი ინფორმაციის გენერაცია\n" -#: initdb.c:2479 +#: initdb.c:2532 #, c-format msgid " --discard-caches set debug_discard_caches=1\n" msgstr " --discard-caches debug_discard_caches=1 დაყენება\n" -#: initdb.c:2480 +#: initdb.c:2533 #, c-format msgid " -L DIRECTORY where to find the input files\n" msgstr " -L საქაღალდე შეყვანის ფაილების შემცველი საქაღალდე\n" -#: initdb.c:2481 +#: initdb.c:2534 #, c-format msgid " -n, --no-clean do not clean up after errors\n" msgstr " -n, --no-clean შეცდომის შემთხვევაში არ გაასუფთავო\n" -#: initdb.c:2482 +#: initdb.c:2535 #, c-format msgid " -N, --no-sync do not wait for changes to be written safely to disk\n" msgstr " -N, --no-sync არ დაველოდო ცვლილებების დისკზე უსაფრთხოდ ჩაწერას\n" -#: initdb.c:2483 +#: initdb.c:2536 #, c-format msgid " --no-instructions do not print instructions for next steps\n" msgstr " --no-instructions შემდეგი ნაბიჯის ინსტრუქციები ნაჩვენები არ იქნება\n" -#: initdb.c:2484 +#: initdb.c:2537 #, c-format msgid " -s, --show show internal settings, then exit\n" msgstr " -s, --show შიდა პარამეტრების ჩვენება და გასვლა\n" -#: initdb.c:2485 +#: initdb.c:2538 #, c-format msgid " --sync-method=METHOD set method for syncing files to disk\n" msgstr " --sync-method=მეთოდი ფაილების დისკზე სინქრონიზაციის მეთოდის დაყენება\n" -#: initdb.c:2486 +#: initdb.c:2539 #, c-format msgid " -S, --sync-only only sync database files to disk, then exit\n" msgstr " -S, --sync-only ბაზის ფაილების დისკზე სინქრონიზაცია და გასვლა\n" -#: initdb.c:2487 +#: initdb.c:2540 #, c-format msgid "" "\n" @@ -746,17 +762,17 @@ msgstr "" "\n" "სხვა პარამეტრები:\n" -#: initdb.c:2488 +#: initdb.c:2541 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version ვერსიის ინფორმაციის გამოტანა და გასვლა\n" -#: initdb.c:2489 +#: initdb.c:2542 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help ამ დახმარების ჩვენება და გასვლა\n" -#: initdb.c:2490 +#: initdb.c:2543 #, c-format msgid "" "\n" @@ -767,7 +783,7 @@ msgstr "" "თუ მონაცემების საქაღალდე მითითებული არაა, გამოყენებული იქნება \n" "გარემოს ცვლადი PGDATA.\n" -#: initdb.c:2492 +#: initdb.c:2545 #, c-format msgid "" "\n" @@ -776,72 +792,72 @@ msgstr "" "\n" "შეცდომების შესახებ მიწერეთ: %s\n" -#: initdb.c:2493 +#: initdb.c:2546 #, c-format msgid "%s home page: <%s>\n" msgstr "%s-ის საწყისი გვერდია: <%s>\n" -#: initdb.c:2517 +#: initdb.c:2570 #, c-format msgid "invalid authentication method \"%s\" for \"%s\" connections" msgstr "ავთენტიკაციის მეთოდი (\"%s\") არასწორია \"%s\" შეერთებებისთვის" -#: initdb.c:2531 +#: initdb.c:2584 #, c-format msgid "must specify a password for the superuser to enable password authentication" msgstr "პაროლით ავთენტიკაციის ჩასართავად საჭიროა ზემომხმარებლის პაროლის მითითება" -#: initdb.c:2550 +#: initdb.c:2603 #, c-format msgid "no data directory specified" msgstr "მონაცემების საქაღალდე მითითებული არაა" -#: initdb.c:2551 +#: initdb.c:2604 #, c-format msgid "You must identify the directory where the data for this database system will reside. Do this with either the invocation option -D or the environment variable PGDATA." msgstr "უნდა დაადგინოთ საქაღლდე, სადაც ბაზის ამ სისტემის მონაცემები იქნება განთავსებული . გააკეთეთ ეს ან გამოძახების პარამეტრით -D ან გარემოს ცვლადით PGDATA." -#: initdb.c:2568 +#: initdb.c:2621 #, c-format msgid "could not set environment" msgstr "გარემოს დაყენების შეცდომა" -#: initdb.c:2586 +#: initdb.c:2639 #, c-format msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"" msgstr "პროგრამა \"%s\" სჭირდება \"%s\"-ს, მაგრამ იგივე საქაღალდეში, სადაც \"%s\", ნაპოვნი არაა" -#: initdb.c:2589 +#: initdb.c:2642 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" msgstr "პროგრამა „%s“ ნაპოვნია „%s“-ის მიერ, მაგრამ ვერსია, იგივეა არაა, რაც %s" -#: initdb.c:2604 +#: initdb.c:2657 #, c-format msgid "input file location must be an absolute path" msgstr "შეყვანის ფაილის მდებარეობა აბსტოლუტური ბილიკი უნდა იყოს" -#: initdb.c:2621 +#: initdb.c:2674 #, c-format msgid "The database cluster will be initialized with locale \"%s\".\n" msgstr "ბაზის კლასტერის ინიციალიზაცია ენით \"%s\".\n" -#: initdb.c:2624 +#: initdb.c:2677 #, c-format msgid "The database cluster will be initialized with this locale configuration:\n" msgstr "ბაზის კლასტერის ინიციალიზაცია ენის ამ კონფიგურაციით მოხდება:\n" -#: initdb.c:2625 +#: initdb.c:2678 #, c-format msgid " locale provider: %s\n" msgstr " ლოკალის მომწოდებელი: %s\n" -#: initdb.c:2627 +#: initdb.c:2680 #, c-format msgid " default collation: %s\n" msgstr " ნაგულიხმევი კოლაცია: %s\n" -#: initdb.c:2628 +#: initdb.c:2681 #, c-format msgid "" " LC_COLLATE: %s\n" @@ -858,22 +874,22 @@ msgstr "" " LC_NUMERIC: %s\n" " LC_TIME: %s\n" -#: initdb.c:2658 +#: initdb.c:2711 #, c-format msgid "could not find suitable encoding for locale \"%s\"" msgstr "ენისთვის (\"%s\") შესაბამისი კოდირება ვერ ვიპოვე" -#: initdb.c:2660 +#: initdb.c:2713 #, c-format msgid "Rerun %s with the -E option." msgstr "გაუშვით %s თავიდან -E პარამეტრით." -#: initdb.c:2661 initdb.c:3204 initdb.c:3324 initdb.c:3344 +#: initdb.c:2714 initdb.c:3257 initdb.c:3377 initdb.c:3397 #, c-format msgid "Try \"%s --help\" for more information." msgstr "მეტი ინფორმაციისთვის სცადეთ '%s --help'." -#: initdb.c:2673 +#: initdb.c:2726 #, c-format msgid "" "Encoding \"%s\" implied by locale is not allowed as a server-side encoding.\n" @@ -882,112 +898,112 @@ msgstr "" "ენის ნაგულისხმევი „%s“ კოდირების დაყენება, სერვერის დასაშიფრად შეუძლებელია.\n" "სანაცვლოდ, ბაზის ნაგულისხმევი კოდირება დაყენდება „%s“.\n" -#: initdb.c:2678 +#: initdb.c:2731 #, c-format msgid "locale \"%s\" requires unsupported encoding \"%s\"" msgstr "ენას (\"%s\") მხარდაუჭერელი კოდირება (\"%s\") სჭირდება" -#: initdb.c:2680 +#: initdb.c:2733 #, c-format msgid "Encoding \"%s\" is not allowed as a server-side encoding." msgstr "%s სერვერის მხარეს კოდირება ვერ იქნება." -#: initdb.c:2682 +#: initdb.c:2735 #, c-format msgid "Rerun %s with a different locale selection." msgstr "%s-ის თავიდან გაშვება ენის სხვა არჩევანით." -#: initdb.c:2690 +#: initdb.c:2743 #, c-format msgid "The default database encoding has accordingly been set to \"%s\".\n" msgstr "ბაზის ნაგულისხმევი კოდირება შესაბამისად დაყენებულია „%s“-ზე.\n" -#: initdb.c:2704 +#: initdb.c:2757 #, c-format msgid "builtin provider locale \"%s\" requires encoding \"%s\"" msgstr "ჩაშენებულ მომწოდებელს ლოკალისთვის \"%s\" ესაჭიროება კოდირება \"%s\"" -#: initdb.c:2766 +#: initdb.c:2819 #, c-format msgid "could not find suitable text search configuration for locale \"%s\"" msgstr "ტექსტის ძებნის ენისთვის შესაფერისი კონფიგურაციის მოძებნა შეუძლებელია: \"%s\"" -#: initdb.c:2777 +#: initdb.c:2830 #, c-format msgid "suitable text search configuration for locale \"%s\" is unknown" msgstr "ტექსტის ძებნის ენისთვის შესაფერისი კონფიგურაცია არ არსებობს: \"%s\"" -#: initdb.c:2782 +#: initdb.c:2835 #, c-format msgid "specified text search configuration \"%s\" might not match locale \"%s\"" msgstr "ტექსტის ძებნის მითითებული კონფიგურაცია \"%s\" ენას (\"%s\") არ ემთხვევა" -#: initdb.c:2787 +#: initdb.c:2840 #, c-format msgid "The default text search configuration will be set to \"%s\".\n" msgstr "ტექსტის ძებნის ნაგულისხმევი კონფიგურაცია \"%s\" იქნება.\n" -#: initdb.c:2830 initdb.c:2901 +#: initdb.c:2883 initdb.c:2954 #, c-format msgid "creating directory %s ... " msgstr "საქაღალდის (\"%s\") შექმნა .... " -#: initdb.c:2835 initdb.c:2906 initdb.c:2954 initdb.c:3011 +#: initdb.c:2888 initdb.c:2959 initdb.c:3007 initdb.c:3064 #, c-format msgid "could not create directory \"%s\": %m" msgstr "საქაღალდის (%s) შექმნის შეცდომა: %m" -#: initdb.c:2844 initdb.c:2916 +#: initdb.c:2897 initdb.c:2969 #, c-format msgid "fixing permissions on existing directory %s ... " msgstr "არსებულ საქაღალდეზე (\"%s\") წვდომების ჩასწორება ... " -#: initdb.c:2849 initdb.c:2921 +#: initdb.c:2902 initdb.c:2974 #, c-format msgid "could not change permissions of directory \"%s\": %m" msgstr "საქაღალდის წვდომების შეცვლა შეუძლებელია \"%s\": %m" -#: initdb.c:2861 initdb.c:2933 +#: initdb.c:2914 initdb.c:2986 #, c-format msgid "directory \"%s\" exists but is not empty" msgstr "საქაღალდე \"%s\" არსებობს, მაგრამ ცარიელი არაა" -#: initdb.c:2865 +#: initdb.c:2918 #, c-format msgid "If you want to create a new database system, either remove or empty the directory \"%s\" or run %s with an argument other than \"%s\"." msgstr "თუ გსურთ ბაზის ახალი სისტემის შექმნა, წაშალეთ ან დააცარიელეთ საქაღალდე, %s ან %s „%s“-ის გარდა არგუმენტით გაუშვით." -#: initdb.c:2873 initdb.c:2943 initdb.c:3369 +#: initdb.c:2926 initdb.c:2996 initdb.c:3422 #, c-format msgid "could not access directory \"%s\": %m" msgstr "საქაღალდის (%s) წვდომის შეცდომა: %m" -#: initdb.c:2894 +#: initdb.c:2947 #, c-format msgid "WAL directory location must be an absolute path" msgstr "WAL საქაღალდის მდებარეობა აბსოლუტური ბილიკი უნდა იყოს" -#: initdb.c:2937 +#: initdb.c:2990 #, c-format msgid "If you want to store the WAL there, either remove or empty the directory \"%s\"." msgstr "თუ გსურთ WAL-ის იქ შენახვა, წაშალეთ ან დააცარიელეთ საქაღალდე „%s“." -#: initdb.c:2947 +#: initdb.c:3000 #, c-format msgid "could not create symbolic link \"%s\": %m" msgstr "სიმბმულის შექმნის შეცდომა %s: %m" -#: initdb.c:2966 +#: initdb.c:3019 #, c-format msgid "It contains a dot-prefixed/invisible file, perhaps due to it being a mount point." msgstr "ის შეიცავს წერტილით დაწყებულ/უხილავ ფაილს, შესაძლოა იმის გამო, რომ ის მიმაგრების წერტილია." -#: initdb.c:2968 +#: initdb.c:3021 #, c-format msgid "It contains a lost+found directory, perhaps due to it being a mount point." msgstr "ის შეიცავს lost+found საქაღალდეს. ალბათ იმის გამო, რომ ის მიმაგრების წერტილია." -#: initdb.c:2970 +#: initdb.c:3023 #, c-format msgid "" "Using a mount point directly as the data directory is not recommended.\n" @@ -996,65 +1012,65 @@ msgstr "" "მიმაგრების წერტილის პირდაპირ მონაცემთა საქაღალდედ გამოყენება რეკომენდებული არაა.\n" "შექმენით ქვესაქაღალდე მიმაგრების წერტილის ქვეშ." -#: initdb.c:2997 +#: initdb.c:3050 #, c-format msgid "creating subdirectories ... " msgstr "ქვესაქაღალდეების შექმნა ... " -#: initdb.c:3040 +#: initdb.c:3093 msgid "performing post-bootstrap initialization ... " msgstr "პირველადი მომზადების შემდგომი ინიციალიზაციის შესრულება ... " -#: initdb.c:3203 +#: initdb.c:3256 #, c-format msgid "-c %s requires a value" msgstr "-c %s მნიშვნელობა სჭირდება" -#: initdb.c:3228 +#: initdb.c:3281 #, c-format msgid "Running in debug mode.\n" msgstr "გაშვებულია გამართვის რეჟიმში.\n" -#: initdb.c:3232 +#: initdb.c:3285 #, c-format msgid "Running in no-clean mode. Mistakes will not be cleaned up.\n" msgstr "გაშვებულია მოუწმენდავ რეჟიმში. შეცდომები არ გაიწმინდება.\n" -#: initdb.c:3305 +#: initdb.c:3358 #, c-format msgid "unrecognized locale provider: %s" msgstr "ენის უცნობი მომწოდებელი: %s" -#: initdb.c:3342 +#: initdb.c:3395 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "მეტისმეტად ბევრი ბრძანების-სტრიქონის არგუმენტი (პირველია \"%s\")" -#: initdb.c:3349 initdb.c:3353 initdb.c:3357 +#: initdb.c:3402 initdb.c:3406 initdb.c:3410 #, c-format msgid "%s cannot be specified unless locale provider \"%s\" is chosen" msgstr "%s ვერ იქნება მითითებული, თუ ენის მომწოდებლად „%s“ არ არის არჩეული" -#: initdb.c:3371 initdb.c:3434 +#: initdb.c:3424 initdb.c:3487 msgid "syncing data to disk ... " msgstr "მონაცემების სინქრონიზაცია დისკზე ... " -#: initdb.c:3379 +#: initdb.c:3432 #, c-format msgid "password prompt and password file cannot be specified together" msgstr "პაროლის მოთხოვნისა და პაროლის ფაილის ერთდროულად მითითება შეუძებელია" -#: initdb.c:3390 +#: initdb.c:3443 #, c-format msgid "argument of %s must be a power of two between 1 and 1024" msgstr "%s-ის არგუმენტი 2-ის ხარისხი უნდა იყოს 1-1024 შუალედიდან" -#: initdb.c:3403 +#: initdb.c:3456 #, c-format msgid "superuser name \"%s\" is disallowed; role names cannot begin with \"pg_\"" msgstr "ზემომხმარებლის სახელი \"%s\" უარყოფილია. როლის სახელებია \"pg_\"-ით ვერ დაიწყება" -#: initdb.c:3405 +#: initdb.c:3458 #, c-format msgid "" "The files belonging to this database system will be owned by user \"%s\".\n" @@ -1065,17 +1081,17 @@ msgstr "" "ეს მომხმარებელი სერვერის პროცესსაც უნდა ფლობდეს.\n" "\n" -#: initdb.c:3421 +#: initdb.c:3474 #, c-format msgid "Data page checksums are enabled.\n" msgstr "მონაცემების გვერდის საკონტროლო ჯამები ჩართულია.\n" -#: initdb.c:3423 +#: initdb.c:3476 #, c-format msgid "Data page checksums are disabled.\n" msgstr "მონაცემების გვერდის საკონტროლო ჯამები გამორთულია.\n" -#: initdb.c:3440 +#: initdb.c:3493 #, c-format msgid "" "\n" @@ -1086,22 +1102,22 @@ msgstr "" "დისკთან სინქრონიზაცია გამოტოვებულია.\n" "ოპერაციული სისტემის სიკვდილის შემთხვევაში მონაცემების საქაღალდე შეიძლება დაზიანდეს.\n" -#: initdb.c:3445 +#: initdb.c:3498 #, c-format msgid "enabling \"trust\" authentication for local connections" msgstr "ლოკალური შეერთებებისთვის \"trust\" ავთენტიკაციის ჩართვა" -#: initdb.c:3446 +#: initdb.c:3499 #, c-format msgid "You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb." msgstr "შეცვლა შეგიძლიათ pg_hba.conf-ის რედაქტირებით ან როცა შემდეგ ჯერზე გაუშვებთ initdb-ს, -A, ან --auth-local და --auth-host-ის გამოყენებით." #. translator: This is a placeholder in a shell command. -#: initdb.c:3476 +#: initdb.c:3529 msgid "logfile" msgstr "ჟურნალის ფაილი" -#: initdb.c:3478 +#: initdb.c:3531 #, c-format msgid "" "\n" diff --git a/src/bin/initdb/po/pt_BR.po b/src/bin/initdb/po/pt_BR.po index fd7d406b73e..8911b295722 100644 --- a/src/bin/initdb/po/pt_BR.po +++ b/src/bin/initdb/po/pt_BR.po @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: PostgreSQL 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2024-01-02 12:54-0300\n" -"PO-Revision-Date: 2010-09-25 00:45-0300\n" +"PO-Revision-Date: 2024-07-02 00:07+0200\n" "Last-Translator: Euler Taveira \n" "Language-Team: Brazilian Portuguese \n" "Language: pt_BR\n" @@ -535,17 +535,17 @@ msgstr " -E, --encoding=CODIFICAÇÃO ajusta a codificação padrão para nov #: initdb.c:2436 #, c-format msgid " -g, --allow-group-access allow group read/execute on data directory\n" -msgstr " -g, --allow-group-access permite leitura/execução do grupo no diretório de dados\n" +msgstr " -g, --allow-group-access permite leitura/execução do grupo no diretório de dados\n" #: initdb.c:2437 #, c-format msgid " --icu-locale=LOCALE set ICU locale ID for new databases\n" -msgstr " --icu-locale=LOCALE ajusta ID de configuração regional ICU para novos bancos de dados\n" +msgstr " --icu-locale=LOCALE ajusta ID de configuração regional ICU para novos bancos de dados\n" #: initdb.c:2438 #, fuzzy, c-format msgid " --icu-rules=RULES set additional ICU collation rules for new databases\n" -msgstr " --icu-rules=REGRAS ajusta regras adicionais de agregação ICU para novos bancos de dados\n" +msgstr " --icu-rules=REGRAS ajusta regras adicionais de agregação ICU para novos bancos de dados\n" #: initdb.c:2439 #, c-format @@ -582,7 +582,7 @@ msgid "" " set default locale provider for new databases\n" msgstr "" " --locale-provider={libc|icu}\n" -" ajusta provedor de configuração regional padrão para novos bancos de dados\n" +" ajusta provedor de configuração regional padrão para novos bancos de dados\n" #: initdb.c:2448 #, c-format @@ -611,12 +611,12 @@ msgstr " -W, --pwprompt pergunta senha do novo super-usuário\n" #: initdb.c:2453 #, c-format msgid " -X, --waldir=WALDIR location for the write-ahead log directory\n" -msgstr " -X, --waldir=DIRWAL local do diretório do log de transação\n" +msgstr " -X, --waldir=DIRWAL local do diretório do log de transação\n" #: initdb.c:2454 #, c-format msgid " --wal-segsize=SIZE size of WAL segments, in megabytes\n" -msgstr " --wal-segsize=TAMANHO tamanho dos segmentos do WAL, em megabytes\n" +msgstr " --wal-segsize=TAMANHO tamanho dos segmentos do WAL, em megabytes\n" #: initdb.c:2455 #, c-format @@ -630,7 +630,7 @@ msgstr "" #: initdb.c:2456 #, fuzzy, c-format msgid " -c, --set NAME=VALUE override default setting for server parameter\n" -msgstr " -c, --set NOME=VALOR sobrescreve o valor padrão para parâmetro do servidor\n" +msgstr " -c, --set NOME=VALOR sobrescreve o valor padrão para parâmetro do servidor\n" #: initdb.c:2457 #, c-format @@ -660,7 +660,7 @@ msgstr " -N, --no-sync não espera mudanças serem escritas com #: initdb.c:2462 #, c-format msgid " --no-instructions do not print instructions for next steps\n" -msgstr " --no-instructions não mostra instruções para próximos passos\n" +msgstr " --no-instructions não mostra instruções para próximos passos\n" #: initdb.c:2463 #, c-format diff --git a/src/bin/initdb/po/ru.po b/src/bin/initdb/po/ru.po index f601e6220f0..c1fab13b8c4 100644 --- a/src/bin/initdb/po/ru.po +++ b/src/bin/initdb/po/ru.po @@ -6,13 +6,13 @@ # Sergey Burladyan , 2009. # Andrey Sudnik , 2010. # Dmitriy Olshevskiy , 2014. -# Alexander Lakhin , 2012-2017, 2018, 2019, 2020, 2021, 2022, 2023. +# Alexander Lakhin , 2012-2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024. msgid "" msgstr "" "Project-Id-Version: initdb (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-05-04 10:36+0300\n" -"PO-Revision-Date: 2023-09-11 16:13+0300\n" +"POT-Creation-Date: 2024-11-02 08:21+0300\n" +"PO-Revision-Date: 2024-11-02 08:27+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" @@ -42,33 +42,48 @@ msgstr "подробности: " msgid "hint: " msgstr "подсказка: " -#: ../../common/exec.c:172 +#: ../../common/exec.c:174 #, c-format msgid "invalid binary \"%s\": %m" msgstr "неверный исполняемый файл \"%s\": %m" -#: ../../common/exec.c:215 +#: ../../common/exec.c:217 #, c-format msgid "could not read binary \"%s\": %m" msgstr "не удалось прочитать исполняемый файл \"%s\": %m" -#: ../../common/exec.c:223 +#: ../../common/exec.c:225 #, c-format msgid "could not find a \"%s\" to execute" msgstr "не удалось найти запускаемый файл \"%s\"" -#: ../../common/exec.c:250 +#: ../../common/exec.c:252 #, c-format msgid "could not resolve path \"%s\" to absolute form: %m" msgstr "не удалось преобразовать относительный путь \"%s\" в абсолютный: %m" -#: ../../common/exec.c:412 +#: ../../common/exec.c:382 initdb.c:750 +#, c-format +msgid "could not execute command \"%s\": %m" +msgstr "не удалось выполнить команду \"%s\": %m" + +#: ../../common/exec.c:394 +#, c-format +msgid "could not read from command \"%s\": %m" +msgstr "не удалось прочитать вывод команды \"%s\": %m" + +#: ../../common/exec.c:397 +#, c-format +msgid "no data was returned by command \"%s\"" +msgstr "команда \"%s\" не выдала данные" + +#: ../../common/exec.c:424 #, c-format msgid "%s() failed: %m" msgstr "ошибка в %s(): %m" -#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687 -#: initdb.c:349 +#: ../../common/exec.c:562 ../../common/exec.c:607 ../../common/exec.c:699 +#: initdb.c:372 initdb.c:408 #, c-format msgid "out of memory" msgstr "нехватка памяти" @@ -84,35 +99,46 @@ msgstr "нехватка памяти\n" msgid "cannot duplicate null pointer (internal error)\n" msgstr "попытка дублирования нулевого указателя (внутренняя ошибка)\n" -#: ../../common/file_utils.c:87 ../../common/file_utils.c:447 +#: ../../common/file_utils.c:70 ../../common/file_utils.c:347 +#: ../../common/file_utils.c:406 ../../common/file_utils.c:480 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "не удалось открыть файл \"%s\": %m" + +#: ../../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\": %m" -#: ../../common/file_utils.c:162 ../../common/pgfnames.c:48 -#: ../../common/rmtree.c:63 +#: ../../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 +#: ../../common/pgfnames.c:48 ../../common/rmtree.c:63 #, c-format msgid "could not open directory \"%s\": %m" msgstr "не удалось открыть каталог \"%s\": %m" -#: ../../common/file_utils.c:196 ../../common/pgfnames.c:69 -#: ../../common/rmtree.c:104 +#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 +#: ../../common/pgfnames.c:69 ../../common/rmtree.c:106 #, c-format msgid "could not read directory \"%s\": %m" msgstr "не удалось прочитать каталог \"%s\": %m" -#: ../../common/file_utils.c:228 ../../common/file_utils.c:287 -#: ../../common/file_utils.c:361 -#, c-format -msgid "could not open file \"%s\": %m" -msgstr "не удалось открыть файл \"%s\": %m" - -#: ../../common/file_utils.c:299 ../../common/file_utils.c:369 +#: ../../common/file_utils.c:418 ../../common/file_utils.c:488 #, c-format msgid "could not fsync file \"%s\": %m" msgstr "не удалось синхронизировать с ФС файл \"%s\": %m" -#: ../../common/file_utils.c:379 +#: ../../common/file_utils.c:498 #, c-format msgid "could not rename file \"%s\" to \"%s\": %m" msgstr "не удалось переименовать файл \"%s\" в \"%s\": %m" @@ -152,12 +178,12 @@ msgstr "не удалось перезапуститься с ограничен msgid "could not get exit code from subprocess: error code %lu" msgstr "не удалось получить код выхода от подпроцесса (код ошибки: %lu)" -#: ../../common/rmtree.c:95 +#: ../../common/rmtree.c:97 #, c-format msgid "could not remove file \"%s\": %m" msgstr "не удалось стереть файл \"%s\": %m" -#: ../../common/rmtree.c:122 +#: ../../common/rmtree.c:124 #, c-format msgid "could not remove directory \"%s\": %m" msgstr "ошибка при удалении каталога \"%s\": %m" @@ -204,7 +230,35 @@ msgstr "дочерний процесс завершён по сигналу %d: #: ../../common/wait_error.c:82 #, c-format msgid "child process exited with unrecognized status %d" -msgstr "дочерний процесс завершился с нераспознанным состоянием %d" +msgstr "дочерний процесс завершился с нераспознанным кодом состояния %d" + +#: ../../fe_utils/option_utils.c:69 +#, c-format +msgid "invalid value \"%s\" for option %s" +msgstr "неверное значение \"%s\" для параметра %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" + +#: ../../fe_utils/string_utils.c:434 +#, c-format +msgid "shell command argument contains a newline or carriage return: \"%s\"\n" +msgstr "" +"аргумент команды оболочки содержит символ новой строки или перевода каретки: " +"\"%s\"\n" + +#: ../../fe_utils/string_utils.c:607 +#, c-format +msgid "database name contains a newline or carriage return: \"%s\"\n" +msgstr "" +"имя базы данных содержит символ новой строки или перевода каретки: \"%s\"\n" #: ../../port/dirmod.c:287 #, c-format @@ -216,87 +270,102 @@ msgstr "не удалось создать связь для каталога \" msgid "could not get junction for \"%s\": %s\n" msgstr "не удалось получить связь для каталога \"%s\": %s\n" -#: initdb.c:623 initdb.c:1610 +#: initdb.c:369 +#, c-format +msgid "_wsetlocale() failed" +msgstr "ошибка в _wsetlocale()" + +#: initdb.c:376 +#, c-format +msgid "setlocale() failed" +msgstr "ошибка в setlocale()" + +#: initdb.c:390 +#, c-format +msgid "failed to restore old locale" +msgstr "не удалось восстановить старую локаль" + +#: initdb.c:393 +#, c-format +msgid "failed to restore old locale \"%s\"" +msgstr "не удалось восстановить старую локаль \"%s\"" + +#: initdb.c:682 initdb.c:1674 #, c-format msgid "could not open file \"%s\" for reading: %m" msgstr "не удалось открыть файл \"%s\" для чтения: %m" -#: initdb.c:667 initdb.c:971 initdb.c:991 +#: initdb.c:726 initdb.c:1030 initdb.c:1050 #, c-format msgid "could not open file \"%s\" for writing: %m" msgstr "не удалось открыть файл \"%s\" для записи: %m" -#: initdb.c:671 initdb.c:974 initdb.c:993 +#: initdb.c:730 initdb.c:1033 initdb.c:1052 #, c-format msgid "could not write file \"%s\": %m" msgstr "не удалось записать файл \"%s\": %m" -#: initdb.c:675 +#: initdb.c:734 #, c-format msgid "could not close file \"%s\": %m" msgstr "не удалось закрыть файл \"%s\": %m" -#: initdb.c:691 -#, c-format -msgid "could not execute command \"%s\": %m" -msgstr "не удалось выполнить команду \"%s\": %m" - -#: initdb.c:709 +#: initdb.c:768 #, c-format msgid "removing data directory \"%s\"" msgstr "удаление каталога данных \"%s\"" -#: initdb.c:711 +#: initdb.c:770 #, c-format msgid "failed to remove data directory" msgstr "ошибка при удалении каталога данных" -#: initdb.c:715 +#: initdb.c:774 #, c-format msgid "removing contents of data directory \"%s\"" msgstr "удаление содержимого каталога данных \"%s\"" -#: initdb.c:718 +#: initdb.c:777 #, c-format msgid "failed to remove contents of data directory" msgstr "ошибка при удалении содержимого каталога данных" -#: initdb.c:723 +#: initdb.c:782 #, c-format msgid "removing WAL directory \"%s\"" msgstr "удаление каталога WAL \"%s\"" -#: initdb.c:725 +#: initdb.c:784 #, c-format msgid "failed to remove WAL directory" msgstr "ошибка при удалении каталога WAL" -#: initdb.c:729 +#: initdb.c:788 #, c-format msgid "removing contents of WAL directory \"%s\"" msgstr "удаление содержимого каталога WAL \"%s\"" -#: initdb.c:731 +#: initdb.c:790 #, c-format msgid "failed to remove contents of WAL directory" msgstr "ошибка при удалении содержимого каталога WAL" -#: initdb.c:738 +#: initdb.c:797 #, c-format msgid "data directory \"%s\" not removed at user's request" msgstr "каталог данных \"%s\" не был удалён по запросу пользователя" -#: initdb.c:742 +#: initdb.c:801 #, c-format msgid "WAL directory \"%s\" not removed at user's request" msgstr "каталог WAL \"%s\" не был удалён по запросу пользователя" -#: initdb.c:760 +#: initdb.c:819 #, c-format msgid "cannot be run as root" msgstr "программу не должен запускать root" -#: initdb.c:761 +#: initdb.c:820 #, c-format msgid "" "Please log in (using, e.g., \"su\") as the (unprivileged) user that will own " @@ -305,17 +374,17 @@ msgstr "" "Пожалуйста, переключитесь на обычного пользователя (например, используя " "\"su\"), которому будет принадлежать серверный процесс." -#: initdb.c:793 +#: initdb.c:852 #, c-format msgid "\"%s\" is not a valid server encoding name" msgstr "\"%s\" — некорректное имя серверной кодировки" -#: initdb.c:937 +#: initdb.c:996 #, c-format msgid "file \"%s\" does not exist" msgstr "файл \"%s\" не существует" -#: initdb.c:938 initdb.c:943 initdb.c:950 +#: initdb.c:997 initdb.c:1002 initdb.c:1009 #, c-format msgid "" "This might mean you have a corrupted installation or identified the wrong " @@ -324,129 +393,124 @@ msgstr "" "Это означает, что ваша установка PostgreSQL испорчена или в параметре -L " "задан неправильный каталог." -#: initdb.c:942 +#: initdb.c:1001 #, c-format msgid "could not access file \"%s\": %m" -msgstr "нет доступа к файлу \"%s\": %m" +msgstr "ошибка при обращении к файлу \"%s\": %m" -#: initdb.c:949 +#: initdb.c:1008 #, c-format msgid "file \"%s\" is not a regular file" msgstr "\"%s\" — не обычный файл" -#: initdb.c:1082 +#: initdb.c:1141 #, c-format msgid "selecting dynamic shared memory implementation ... " msgstr "выбирается реализация динамической разделяемой памяти... " -#: initdb.c:1091 +#: initdb.c:1150 #, c-format -msgid "selecting default max_connections ... " -msgstr "выбирается значение max_connections по умолчанию... " +msgid "selecting default \"max_connections\" ... " +msgstr "выбирается значение \"max_connections\" по умолчанию... " -#: initdb.c:1111 +#: initdb.c:1170 #, c-format -msgid "selecting default shared_buffers ... " -msgstr "выбирается значение shared_buffers по умолчанию... " +msgid "selecting default \"shared_buffers\" ... " +msgstr "выбирается значение \"shared_buffers\" по умолчанию... " -#: initdb.c:1134 +#: initdb.c:1193 #, c-format msgid "selecting default time zone ... " msgstr "выбирается часовой пояс по умолчанию... " -#: initdb.c:1211 +#: initdb.c:1272 msgid "creating configuration files ... " msgstr "создание конфигурационных файлов... " -#: initdb.c:1364 initdb.c:1378 initdb.c:1445 initdb.c:1456 +#: initdb.c:1425 initdb.c:1439 initdb.c:1506 initdb.c:1517 #, c-format msgid "could not change permissions of \"%s\": %m" msgstr "не удалось поменять права для \"%s\": %m" -#: initdb.c:1474 +#: initdb.c:1536 #, c-format msgid "running bootstrap script ... " msgstr "выполняется подготовительный скрипт... " -#: initdb.c:1486 +#: initdb.c:1548 #, c-format msgid "input file \"%s\" does not belong to PostgreSQL %s" msgstr "входной файл \"%s\" не принадлежит PostgreSQL %s" -#: initdb.c:1488 +#: initdb.c:1550 #, c-format msgid "Specify the correct path using the option -L." msgstr "Укажите корректный путь в параметре -L." -#: initdb.c:1588 +#: initdb.c:1652 msgid "Enter new superuser password: " msgstr "Введите новый пароль суперпользователя: " -#: initdb.c:1589 +#: initdb.c:1653 msgid "Enter it again: " msgstr "Повторите его: " -#: initdb.c:1592 +#: initdb.c:1656 #, c-format msgid "Passwords didn't match.\n" msgstr "Пароли не совпадают.\n" -#: initdb.c:1616 +#: initdb.c:1680 #, c-format msgid "could not read password from file \"%s\": %m" msgstr "не удалось прочитать пароль из файла \"%s\": %m" -#: initdb.c:1619 +#: initdb.c:1683 #, c-format msgid "password file \"%s\" is empty" msgstr "файл пароля \"%s\" пуст" -#: initdb.c:2031 +#: initdb.c:2095 #, c-format msgid "caught signal\n" msgstr "получен сигнал\n" -#: initdb.c:2037 +#: initdb.c:2101 #, c-format msgid "could not write to child process: %s\n" msgstr "не удалось записать в поток дочернего процесса: %s\n" -#: initdb.c:2045 +#: initdb.c:2109 #, c-format msgid "ok\n" msgstr "ок\n" -#: initdb.c:2134 -#, c-format -msgid "setlocale() failed" -msgstr "ошибка в setlocale()" - -#: initdb.c:2152 +#: initdb.c:2191 initdb.c:2237 #, c-format -msgid "failed to restore old locale \"%s\"" -msgstr "не удалось восстановить старую локаль \"%s\"" +msgid "locale name \"%s\" contains non-ASCII characters" +msgstr "имя локали \"%s\" содержит не-ASCII символы" -#: initdb.c:2160 +#: initdb.c:2217 #, c-format msgid "invalid locale name \"%s\"" msgstr "ошибочное имя локали \"%s\"" -#: initdb.c:2161 +#: initdb.c:2218 #, c-format msgid "If the locale name is specific to ICU, use --icu-locale." msgstr "Если эта локаль свойственна ICU, укажите --icu-locale." -#: initdb.c:2174 +#: initdb.c:2231 #, c-format msgid "invalid locale settings; check LANG and LC_* environment variables" msgstr "неверные установки локали; проверьте переменные окружения LANG и LC_*" -#: initdb.c:2200 initdb.c:2224 +#: initdb.c:2262 initdb.c:2286 #, c-format msgid "encoding mismatch" msgstr "несоответствие кодировки" -#: initdb.c:2201 +#: initdb.c:2263 #, c-format msgid "" "The encoding you selected (%s) and the encoding that the selected locale " @@ -457,7 +521,7 @@ msgstr "" "может привести к неправильной работе различных функций обработки текстовых " "строк." -#: initdb.c:2206 initdb.c:2227 +#: initdb.c:2268 initdb.c:2289 #, c-format msgid "" "Rerun %s and either do not specify an encoding explicitly, or choose a " @@ -466,42 +530,47 @@ msgstr "" "Для исправления перезапустите %s, не указывая кодировку явно, либо выберите " "подходящее сочетание параметров локализации." -#: initdb.c:2225 +#: initdb.c:2287 #, c-format msgid "The encoding you selected (%s) is not supported with the ICU provider." msgstr "Выбранная вами кодировка (%s) не поддерживается провайдером ICU." -#: initdb.c:2276 +#: initdb.c:2338 #, c-format msgid "could not convert locale name \"%s\" to language tag: %s" msgstr "не удалось получить из названия локали \"%s\" метку языка: %s" -#: initdb.c:2282 initdb.c:2334 initdb.c:2413 +#: initdb.c:2344 initdb.c:2396 initdb.c:2488 #, c-format msgid "ICU is not supported in this build" msgstr "ICU не поддерживается в данной сборке" -#: initdb.c:2305 +#: initdb.c:2367 #, c-format msgid "could not get language from locale \"%s\": %s" msgstr "не удалось определить язык для локали \"%s\": %s" -#: initdb.c:2331 +#: initdb.c:2393 #, c-format msgid "locale \"%s\" has unknown language \"%s\"" msgstr "для локали \"%s\" получен неизвестный язык \"%s\"" -#: initdb.c:2397 +#: initdb.c:2454 +#, c-format +msgid "locale must be specified if provider is %s" +msgstr "если выбран провайдер %s, необходимо задать локаль" + +#: initdb.c:2465 #, c-format -msgid "ICU locale must be specified" -msgstr "необходимо задать локаль ICU" +msgid "invalid locale name \"%s\" for builtin provider" +msgstr "неверное имя локали \"%s\" для встроенного провайдера" -#: initdb.c:2401 +#: initdb.c:2476 #, c-format msgid "Using language tag \"%s\" for ICU locale \"%s\".\n" msgstr "Для локали ICU \"%s\" используется метка языка \"%s\".\n" -#: initdb.c:2424 +#: initdb.c:2499 #, c-format msgid "" "%s initializes a PostgreSQL database cluster.\n" @@ -510,17 +579,17 @@ msgstr "" "%s инициализирует кластер PostgreSQL.\n" "\n" -#: initdb.c:2425 +#: initdb.c:2500 #, c-format msgid "Usage:\n" msgstr "Использование:\n" -#: initdb.c:2426 +#: initdb.c:2501 #, c-format msgid " %s [OPTION]... [DATADIR]\n" msgstr " %s [ПАРАМЕТР]... [КАТАЛОГ]\n" -#: initdb.c:2427 +#: initdb.c:2502 #, c-format msgid "" "\n" @@ -529,7 +598,7 @@ msgstr "" "\n" "Параметры:\n" -#: initdb.c:2428 +#: initdb.c:2503 #, c-format msgid "" " -A, --auth=METHOD default authentication method for local " @@ -538,7 +607,7 @@ msgstr "" " -A, --auth=МЕТОД метод проверки подлинности по умолчанию\n" " для локальных подключений\n" -#: initdb.c:2429 +#: initdb.c:2504 #, c-format msgid "" " --auth-host=METHOD default authentication method for local TCP/IP " @@ -547,7 +616,7 @@ msgstr "" " --auth-host=МЕТОД метод проверки подлинности по умолчанию\n" " для локальных TCP/IP-подключений\n" -#: initdb.c:2430 +#: initdb.c:2505 #, c-format msgid "" " --auth-local=METHOD default authentication method for local-socket " @@ -556,17 +625,17 @@ msgstr "" " --auth-local=МЕТОД метод проверки подлинности по умолчанию\n" " для локальных подключений через сокет\n" -#: initdb.c:2431 +#: initdb.c:2506 #, c-format msgid " [-D, --pgdata=]DATADIR location for this database cluster\n" msgstr " [-D, --pgdata=]КАТАЛОГ расположение данных этого кластера БД\n" -#: initdb.c:2432 +#: initdb.c:2507 #, c-format msgid " -E, --encoding=ENCODING set default encoding for new databases\n" msgstr " -E, --encoding=КОДИРОВКА кодировка по умолчанию для новых баз\n" -#: initdb.c:2433 +#: initdb.c:2508 #, c-format msgid "" " -g, --allow-group-access allow group read/execute on data directory\n" @@ -575,12 +644,12 @@ msgstr "" "для\n" " группы\n" -#: initdb.c:2434 +#: initdb.c:2509 #, c-format msgid " --icu-locale=LOCALE set ICU locale ID for new databases\n" msgstr " --icu-locale=ЛОКАЛЬ идентификатор локали ICU для новых баз\n" -#: initdb.c:2435 +#: initdb.c:2510 #, c-format msgid "" " --icu-rules=RULES set additional ICU collation rules for new " @@ -589,17 +658,17 @@ msgstr "" " --icu-rules=ПРАВИЛА дополнительные правила сортировки ICU для новых " "баз\n" -#: initdb.c:2436 +#: initdb.c:2511 #, c-format msgid " -k, --data-checksums use data page checksums\n" msgstr " -k, --data-checksums включить контроль целостности страниц\n" -#: initdb.c:2437 +#: initdb.c:2512 #, c-format msgid " --locale=LOCALE set default locale for new databases\n" msgstr " --locale=ЛОКАЛЬ локаль по умолчанию для новых баз\n" -#: initdb.c:2438 +#: initdb.c:2513 #, c-format msgid "" " --lc-collate=, --lc-ctype=, --lc-messages=LOCALE\n" @@ -613,28 +682,37 @@ msgstr "" " установить соответствующий параметр локали\n" " для новых баз (вместо значения из окружения)\n" -#: initdb.c:2442 +#: initdb.c:2517 #, c-format msgid " --no-locale equivalent to --locale=C\n" msgstr " --no-locale эквивалентно --locale=C\n" -#: initdb.c:2443 +#: initdb.c:2518 #, c-format msgid "" -" --locale-provider={libc|icu}\n" +" --builtin-locale=LOCALE\n" +" set builtin locale name for new databases\n" +msgstr "" +" --builtin-locale=ЛОКАЛЬ\n" +" имя встроенной локали для новых баз\n" + +#: initdb.c:2520 +#, c-format +msgid "" +" --locale-provider={builtin|libc|icu}\n" " set default locale provider for new databases\n" msgstr "" -" --locale-provider={libc|icu}\n" +" --locale-provider={builtin|libc|icu}\n" " провайдер основной локали для новых баз\n" -#: initdb.c:2445 +#: initdb.c:2522 #, c-format msgid "" " --pwfile=FILE read password for the new superuser from file\n" msgstr "" " --pwfile=ФАЙЛ прочитать пароль суперпользователя из файла\n" -#: initdb.c:2446 +#: initdb.c:2523 #, c-format msgid "" " -T, --text-search-config=CFG\n" @@ -643,29 +721,29 @@ msgstr "" " -T, --text-search-config=КОНФИГУРАЦИЯ\n" " конфигурация текстового поиска по умолчанию\n" -#: initdb.c:2448 +#: initdb.c:2525 #, c-format msgid " -U, --username=NAME database superuser name\n" msgstr " -U, --username=ИМЯ имя суперпользователя БД\n" -#: initdb.c:2449 +#: initdb.c:2526 #, c-format msgid "" " -W, --pwprompt prompt for a password for the new superuser\n" msgstr " -W, --pwprompt запросить пароль суперпользователя\n" -#: initdb.c:2450 +#: initdb.c:2527 #, c-format msgid "" " -X, --waldir=WALDIR location for the write-ahead log directory\n" msgstr " -X, --waldir=КАТАЛОГ расположение журнала предзаписи\n" -#: initdb.c:2451 +#: initdb.c:2528 #, c-format msgid " --wal-segsize=SIZE size of WAL segments, in megabytes\n" msgstr " --wal-segsize=РАЗМЕР размер сегментов WAL (в мегабайтах)\n" -#: initdb.c:2452 +#: initdb.c:2529 #, c-format msgid "" "\n" @@ -674,7 +752,7 @@ msgstr "" "\n" "Редко используемые параметры:\n" -#: initdb.c:2453 +#: initdb.c:2530 #, c-format msgid "" " -c, --set NAME=VALUE override default setting for server parameter\n" @@ -682,27 +760,27 @@ msgstr "" " -c, --set ИМЯ=ЗНАЧЕНИЕ переопределить значение серверного параметра по\n" " умолчанию\n" -#: initdb.c:2454 +#: initdb.c:2531 #, c-format msgid " -d, --debug generate lots of debugging output\n" msgstr " -d, --debug выдавать много отладочных сообщений\n" -#: initdb.c:2455 +#: initdb.c:2532 #, c-format msgid " --discard-caches set debug_discard_caches=1\n" msgstr " --discard-caches установить debug_discard_caches=1\n" -#: initdb.c:2456 +#: initdb.c:2533 #, c-format msgid " -L DIRECTORY where to find the input files\n" msgstr " -L КАТАЛОГ расположение входных файлов\n" -#: initdb.c:2457 +#: initdb.c:2534 #, c-format msgid " -n, --no-clean do not clean up after errors\n" msgstr " -n, --no-clean не очищать после ошибок\n" -#: initdb.c:2458 +#: initdb.c:2535 #, c-format msgid "" " -N, --no-sync do not wait for changes to be written safely to " @@ -710,18 +788,23 @@ msgid "" msgstr "" " -N, --no-sync не ждать завершения сохранения данных на диске\n" -#: initdb.c:2459 +#: initdb.c:2536 #, c-format msgid " --no-instructions do not print instructions for next steps\n" msgstr "" " --no-instructions не выводить инструкции для дальнейших действий\n" -#: initdb.c:2460 +#: initdb.c:2537 +#, c-format +msgid " -s, --show show internal settings, then exit\n" +msgstr " -s, --show показать внутренние установки и выйти\n" + +#: initdb.c:2538 #, c-format -msgid " -s, --show show internal settings\n" -msgstr " -s, --show показать внутренние установки\n" +msgid " --sync-method=METHOD set method for syncing files to disk\n" +msgstr " --sync-method=МЕТОД метод синхронизации файлов с ФС\n" -#: initdb.c:2461 +#: initdb.c:2539 #, c-format msgid "" " -S, --sync-only only sync database files to disk, then exit\n" @@ -729,7 +812,7 @@ msgstr "" " -S, --sync-only только синхронизировать с ФС файлы базы и " "завершиться\n" -#: initdb.c:2462 +#: initdb.c:2540 #, c-format msgid "" "\n" @@ -738,17 +821,17 @@ msgstr "" "\n" "Другие параметры:\n" -#: initdb.c:2463 +#: initdb.c:2541 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version показать версию и выйти\n" -#: initdb.c:2464 +#: initdb.c:2542 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help показать эту справку и выйти\n" -#: initdb.c:2465 +#: initdb.c:2543 #, c-format msgid "" "\n" @@ -758,7 +841,7 @@ msgstr "" "\n" "Если каталог данных не указан, используется переменная окружения PGDATA.\n" -#: initdb.c:2467 +#: initdb.c:2545 #, c-format msgid "" "\n" @@ -767,18 +850,18 @@ msgstr "" "\n" "Об ошибках сообщайте по адресу <%s>.\n" -#: initdb.c:2468 +#: initdb.c:2546 #, c-format msgid "%s home page: <%s>\n" msgstr "Домашняя страница %s: <%s>\n" -#: initdb.c:2496 +#: initdb.c:2570 #, c-format msgid "invalid authentication method \"%s\" for \"%s\" connections" msgstr "" "нераспознанный метод проверки подлинности \"%s\" для подключений \"%s\"" -#: initdb.c:2510 +#: initdb.c:2584 #, c-format msgid "" "must specify a password for the superuser to enable password authentication" @@ -786,12 +869,12 @@ msgstr "" "для включения аутентификации по паролю необходимо указать пароль " "суперпользователя" -#: initdb.c:2529 +#: initdb.c:2603 #, c-format msgid "no data directory specified" msgstr "каталог данных не указан" -#: initdb.c:2530 +#: initdb.c:2604 #, c-format msgid "" "You must identify the directory where the data for this database system will " @@ -801,53 +884,55 @@ msgstr "" "Вы должны указать каталог, в котором будут располагаться данные этой СУБД. " "Это можно сделать, добавив ключ -D или установив переменную окружения PGDATA." -#: initdb.c:2547 +#: initdb.c:2621 #, c-format msgid "could not set environment" msgstr "не удалось задать переменную окружения" -#: initdb.c:2565 +#: initdb.c:2639 #, c-format msgid "" "program \"%s\" is needed by %s but was not found in the same directory as " "\"%s\"" msgstr "программа \"%s\" нужна для %s, но она не найдена в каталоге \"%s\"" -#: initdb.c:2568 +#: initdb.c:2642 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" msgstr "" "программа \"%s\" найдена программой \"%s\", но её версия отличается от " "версии %s" -#: initdb.c:2583 +#: initdb.c:2657 #, c-format msgid "input file location must be an absolute path" msgstr "расположение входных файлов должно задаваться абсолютным путём" -#: initdb.c:2600 +#: initdb.c:2674 #, c-format msgid "The database cluster will be initialized with locale \"%s\".\n" msgstr "Кластер баз данных будет инициализирован с локалью \"%s\".\n" -#: initdb.c:2603 +#: initdb.c:2677 #, c-format msgid "" "The database cluster will be initialized with this locale configuration:\n" msgstr "" "Кластер баз данных будет инициализирован со следующими параметрами локали:\n" -#: initdb.c:2604 +#: initdb.c:2678 #, c-format -msgid " provider: %s\n" -msgstr " провайдер: %s\n" +msgid " locale provider: %s\n" +msgstr " провайдер локалей: %s\n" -#: initdb.c:2606 +#: initdb.c:2680 #, c-format -msgid " ICU locale: %s\n" -msgstr " локаль ICU: %s\n" +msgid " default collation: %s\n" +msgstr "" +" правило сортировки\n" +" по умолчанию: %s\n" -#: initdb.c:2607 +#: initdb.c:2681 #, c-format msgid "" " LC_COLLATE: %s\n" @@ -864,22 +949,22 @@ msgstr "" " LC_NUMERIC: %s\n" " LC_TIME: %s\n" -#: initdb.c:2637 +#: initdb.c:2711 #, c-format msgid "could not find suitable encoding for locale \"%s\"" msgstr "не удалось найти подходящую кодировку для локали \"%s\"" -#: initdb.c:2639 +#: initdb.c:2713 #, c-format msgid "Rerun %s with the -E option." msgstr "Перезапустите %s с параметром -E." -#: initdb.c:2640 initdb.c:3173 initdb.c:3281 initdb.c:3301 +#: initdb.c:2714 initdb.c:3257 initdb.c:3377 initdb.c:3397 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Для дополнительной информации попробуйте \"%s --help\"." -#: initdb.c:2652 +#: initdb.c:2726 #, c-format msgid "" "Encoding \"%s\" implied by locale is not allowed as a server-side encoding.\n" @@ -888,40 +973,45 @@ msgstr "" "Кодировка \"%s\", подразумеваемая локалью, не годится для сервера.\n" "Вместо неё в качестве кодировки БД по умолчанию будет выбрана \"%s\".\n" -#: initdb.c:2657 +#: initdb.c:2731 #, c-format msgid "locale \"%s\" requires unsupported encoding \"%s\"" msgstr "для локали \"%s\" требуется неподдерживаемая кодировка \"%s\"" -#: initdb.c:2659 +#: initdb.c:2733 #, c-format msgid "Encoding \"%s\" is not allowed as a server-side encoding." msgstr "Кодировка \"%s\" недопустима в качестве серверной кодировки." -#: initdb.c:2661 +#: initdb.c:2735 #, c-format msgid "Rerun %s with a different locale selection." msgstr "Перезапустите %s, выбрав другую локаль." -#: initdb.c:2669 +#: initdb.c:2743 #, c-format msgid "The default database encoding has accordingly been set to \"%s\".\n" msgstr "" "Кодировка БД по умолчанию, выбранная в соответствии с настройками: \"%s\".\n" -#: initdb.c:2738 +#: initdb.c:2757 +#, c-format +msgid "builtin provider locale \"%s\" requires encoding \"%s\"" +msgstr "для локали \"%s\" встроенного провайдера требуется кодировка \"%s\"" + +#: initdb.c:2819 #, c-format msgid "could not find suitable text search configuration for locale \"%s\"" msgstr "" "не удалось найти подходящую конфигурацию текстового поиска для локали \"%s\"" -#: initdb.c:2749 +#: initdb.c:2830 #, c-format msgid "suitable text search configuration for locale \"%s\" is unknown" msgstr "" "внимание: для локали \"%s\" нет известной конфигурации текстового поиска" -#: initdb.c:2754 +#: initdb.c:2835 #, c-format msgid "" "specified text search configuration \"%s\" might not match locale \"%s\"" @@ -929,37 +1019,37 @@ msgstr "" "указанная конфигурация текстового поиска \"%s\" может не соответствовать " "локали \"%s\"" -#: initdb.c:2759 +#: initdb.c:2840 #, c-format msgid "The default text search configuration will be set to \"%s\".\n" msgstr "Выбрана конфигурация текстового поиска по умолчанию \"%s\".\n" -#: initdb.c:2802 initdb.c:2873 +#: initdb.c:2883 initdb.c:2954 #, c-format msgid "creating directory %s ... " msgstr "создание каталога %s... " -#: initdb.c:2807 initdb.c:2878 initdb.c:2926 initdb.c:2982 +#: initdb.c:2888 initdb.c:2959 initdb.c:3007 initdb.c:3064 #, c-format msgid "could not create directory \"%s\": %m" msgstr "не удалось создать каталог \"%s\": %m" -#: initdb.c:2816 initdb.c:2888 +#: initdb.c:2897 initdb.c:2969 #, c-format msgid "fixing permissions on existing directory %s ... " msgstr "исправление прав для существующего каталога %s... " -#: initdb.c:2821 initdb.c:2893 +#: initdb.c:2902 initdb.c:2974 #, c-format msgid "could not change permissions of directory \"%s\": %m" msgstr "не удалось поменять права для каталога \"%s\": %m" -#: initdb.c:2833 initdb.c:2905 +#: initdb.c:2914 initdb.c:2986 #, c-format msgid "directory \"%s\" exists but is not empty" msgstr "каталог \"%s\" существует, но он не пуст" -#: initdb.c:2837 +#: initdb.c:2918 #, c-format msgid "" "If you want to create a new database system, either remove or empty the " @@ -968,29 +1058,29 @@ msgstr "" "Если вы хотите создать новую систему баз данных, удалите или очистите " "каталог \"%s\", либо при запуске %s в качестве пути укажите не \"%s\"." -#: initdb.c:2845 initdb.c:2915 initdb.c:3322 +#: initdb.c:2926 initdb.c:2996 initdb.c:3422 #, c-format msgid "could not access directory \"%s\": %m" -msgstr "ошибка доступа к каталогу \"%s\": %m" +msgstr "ошибка при обращении к каталогу \"%s\": %m" -#: initdb.c:2866 +#: initdb.c:2947 #, c-format msgid "WAL directory location must be an absolute path" msgstr "расположение каталога WAL должно определяться абсолютным путём" -#: initdb.c:2909 +#: initdb.c:2990 #, c-format msgid "" "If you want to store the WAL there, either remove or empty the directory " "\"%s\"." msgstr "Если вы хотите хранить WAL здесь, удалите или очистите каталог \"%s\"." -#: initdb.c:2919 +#: initdb.c:3000 #, c-format msgid "could not create symbolic link \"%s\": %m" msgstr "не удалось создать символическую ссылку \"%s\": %m" -#: initdb.c:2938 +#: initdb.c:3019 #, c-format msgid "" "It contains a dot-prefixed/invisible file, perhaps due to it being a mount " @@ -998,13 +1088,13 @@ msgid "" msgstr "" "Он содержит файл с точкой (невидимый), возможно, это точка монтирования." -#: initdb.c:2940 +#: initdb.c:3021 #, c-format msgid "" "It contains a lost+found directory, perhaps due to it being a mount point." msgstr "Он содержит подкаталог lost+found, возможно, это точка монтирования." -#: initdb.c:2942 +#: initdb.c:3023 #, c-format msgid "" "Using a mount point directly as the data directory is not recommended.\n" @@ -1014,67 +1104,62 @@ msgstr "" "рекомендуется.\n" "Создайте в монтируемом ресурсе подкаталог и используйте его." -#: initdb.c:2968 +#: initdb.c:3050 #, c-format msgid "creating subdirectories ... " msgstr "создание подкаталогов... " -#: initdb.c:3011 +#: initdb.c:3093 msgid "performing post-bootstrap initialization ... " msgstr "выполняется заключительная инициализация... " -#: initdb.c:3172 +#: initdb.c:3256 #, c-format msgid "-c %s requires a value" msgstr "для -c %s требуется значение" -#: initdb.c:3197 +#: initdb.c:3281 #, c-format msgid "Running in debug mode.\n" msgstr "Программа запущена в режиме отладки.\n" -#: initdb.c:3201 +#: initdb.c:3285 #, c-format msgid "Running in no-clean mode. Mistakes will not be cleaned up.\n" msgstr "" "Программа запущена в режиме 'no-clean' - очистки и исправления ошибок не " "будет.\n" -#: initdb.c:3271 +#: initdb.c:3358 #, c-format msgid "unrecognized locale provider: %s" msgstr "нераспознанный провайдер локали: %s" -#: initdb.c:3299 +#: initdb.c:3395 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "слишком много аргументов командной строки (первый: \"%s\")" -#: initdb.c:3306 initdb.c:3310 +#: initdb.c:3402 initdb.c:3406 initdb.c:3410 #, c-format msgid "%s cannot be specified unless locale provider \"%s\" is chosen" msgstr "%s можно указать, только если выбран провайдер локали \"%s\"" -#: initdb.c:3324 initdb.c:3401 +#: initdb.c:3424 initdb.c:3487 msgid "syncing data to disk ... " msgstr "сохранение данных на диске... " -#: initdb.c:3332 +#: initdb.c:3432 #, c-format msgid "password prompt and password file cannot be specified together" msgstr "нельзя одновременно запросить пароль и прочитать пароль из файла" -#: initdb.c:3354 -#, c-format -msgid "argument of --wal-segsize must be a number" -msgstr "аргументом --wal-segsize должно быть число" - -#: initdb.c:3356 +#: initdb.c:3443 #, c-format -msgid "argument of --wal-segsize must be a power of two between 1 and 1024" -msgstr "аргументом --wal-segsize должна быть степень двух от 1 до 1024" +msgid "argument of %s must be a power of two between 1 and 1024" +msgstr "аргументом %s должна быть степень двух от 1 до 1024" -#: initdb.c:3370 +#: initdb.c:3456 #, c-format msgid "" "superuser name \"%s\" is disallowed; role names cannot begin with \"pg_\"" @@ -1082,7 +1167,7 @@ msgstr "" "имя \"%s\" для суперпользователя не допускается; имена ролей не могут " "начинаться с \"pg_\"" -#: initdb.c:3372 +#: initdb.c:3458 #, c-format msgid "" "The files belonging to this database system will be owned by user \"%s\".\n" @@ -1093,17 +1178,17 @@ msgstr "" "От его имени также будет запускаться процесс сервера.\n" "\n" -#: initdb.c:3388 +#: initdb.c:3474 #, c-format msgid "Data page checksums are enabled.\n" msgstr "Контроль целостности страниц данных включён.\n" -#: initdb.c:3390 +#: initdb.c:3476 #, c-format msgid "Data page checksums are disabled.\n" msgstr "Контроль целостности страниц данных отключён.\n" -#: initdb.c:3407 +#: initdb.c:3493 #, c-format msgid "" "\n" @@ -1114,12 +1199,12 @@ msgstr "" "Сохранение данных на диск пропускается.\n" "Каталог данных может повредиться при сбое операционной системы.\n" -#: initdb.c:3412 +#: initdb.c:3498 #, c-format msgid "enabling \"trust\" authentication for local connections" msgstr "включение метода аутентификации \"trust\" для локальных подключений" -#: initdb.c:3413 +#: initdb.c:3499 #, c-format msgid "" "You can change this by editing pg_hba.conf or using the option -A, or --auth-" @@ -1129,11 +1214,11 @@ msgstr "" "initdb с ключом -A, --auth-local или --auth-host." #. translator: This is a placeholder in a shell command. -#: initdb.c:3443 +#: initdb.c:3529 msgid "logfile" msgstr "файл_журнала" -#: initdb.c:3445 +#: initdb.c:3531 #, c-format msgid "" "\n" @@ -1148,6 +1233,14 @@ msgstr "" " %s\n" "\n" +#, c-format +#~ msgid " ICU locale: %s\n" +#~ msgstr " локаль ICU: %s\n" + +#, c-format +#~ msgid "argument of --wal-segsize must be a number" +#~ msgstr "аргументом --wal-segsize должно быть число" + #, c-format #~ msgid "could not identify current directory: %m" #~ msgstr "не удалось определить текущий каталог: %m" @@ -1172,10 +1265,6 @@ msgstr "" #~ msgid "could not stat file or directory \"%s\": %m" #~ msgstr "не удалось получить информацию о файле или каталоге \"%s\": %m" -#, c-format -#~ msgid "could not remove file or directory \"%s\": %m" -#~ msgstr "ошибка при удалении файла или каталога \"%s\": %m" - #, c-format #~ msgid "The default database encoding has been set to \"%s\".\n" #~ msgstr "В качестве кодировки БД по умолчанию установлена \"%s\".\n" @@ -1226,9 +1315,6 @@ msgstr "" #~ msgid "%s: locale name too long, skipped: \"%s\"\n" #~ msgstr "%s: слишком длинное имя локали, пропущено: \"%s\"\n" -#~ msgid "%s: locale name has non-ASCII characters, skipped: \"%s\"\n" -#~ msgstr "%s: имя локали содержит не ASCII-символы, пропущено: \"%s\"\n" - #~ msgid "No usable system locales were found.\n" #~ msgstr "Пригодные локали в системе не найдены.\n" diff --git a/src/bin/initdb/po/sv.po b/src/bin/initdb/po/sv.po index dc5e8fd5251..3b3d6a53a7a 100644 --- a/src/bin/initdb/po/sv.po +++ b/src/bin/initdb/po/sv.po @@ -1,5 +1,5 @@ # Swedish message translation file for initdb -# Dennis Björklund , 2004, 2005, 2006, 2017, 2018, 2019, 2020, 2021, 2022, 2023. +# Dennis Björklund , 2004, 2005, 2006, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024. # Magnus Hagander , 2007. # Peter Eisentraut , 2009. # Mats Erik Andersson , 2014. @@ -8,10 +8,10 @@ # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 16\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-08-31 19:50+0000\n" -"PO-Revision-Date: 2023-08-31 21:59+0200\n" +"POT-Creation-Date: 2024-07-12 11:22+0000\n" +"PO-Revision-Date: 2024-07-12 15:06+0200\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -40,33 +40,48 @@ msgstr "detalj: " msgid "hint: " msgstr "tips: " -#: ../../common/exec.c:172 +#: ../../common/exec.c:174 #, c-format msgid "invalid binary \"%s\": %m" msgstr "ogiltig binär \"%s\": %m" -#: ../../common/exec.c:215 +#: ../../common/exec.c:217 #, c-format msgid "could not read binary \"%s\": %m" msgstr "kunde inte läsa binär \"%s\": %m" -#: ../../common/exec.c:223 +#: ../../common/exec.c:225 #, c-format msgid "could not find a \"%s\" to execute" msgstr "kunde inte hitta en \"%s\" att köra" -#: ../../common/exec.c:250 +#: ../../common/exec.c:252 #, c-format msgid "could not resolve path \"%s\" to absolute form: %m" msgstr "kunde inte konvertera sökvägen \"%s\" till en absolut sökväg: %m" -#: ../../common/exec.c:412 +#: ../../common/exec.c:382 initdb.c:695 +#, c-format +msgid "could not execute command \"%s\": %m" +msgstr "kunde inte köra kommandot \"%s\": %m" + +#: ../../common/exec.c:394 +#, c-format +msgid "could not read from command \"%s\": %m" +msgstr "kunde inte läsa från kommando \"%s\": %m" + +#: ../../common/exec.c:397 +#, c-format +msgid "no data was returned by command \"%s\"" +msgstr "ingen data returnerades från kommandot \"%s\"" + +#: ../../common/exec.c:424 #, c-format msgid "%s() failed: %m" msgstr "%s() misslyckades: %m" -#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687 -#: initdb.c:349 +#: ../../common/exec.c:562 ../../common/exec.c:607 ../../common/exec.c:699 +#: initdb.c:353 #, c-format msgid "out of memory" msgstr "slut på minne" @@ -82,35 +97,46 @@ msgstr "slut på minne\n" msgid "cannot duplicate null pointer (internal error)\n" msgstr "kan inte duplicera null-pekare (internt fel)\n" -#: ../../common/file_utils.c:87 ../../common/file_utils.c:447 +#: ../../common/file_utils.c:70 ../../common/file_utils.c:347 +#: ../../common/file_utils.c:406 ../../common/file_utils.c:480 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "kunde inte öppna fil \"%s\": %m" + +#: ../../common/file_utils.c:76 +#, c-format +msgid "could not synchronize file system for file \"%s\": %m" +msgstr "kan inte synkronisera filsystemet för fil \"%s\": %m" + +#: ../../common/file_utils.c:120 ../../common/file_utils.c:566 #, c-format msgid "could not stat file \"%s\": %m" msgstr "kunde inte göra stat() på fil \"%s\": %m" -#: ../../common/file_utils.c:162 ../../common/pgfnames.c:48 -#: ../../common/rmtree.c:63 +#: ../../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 "detta bygge stöder inte synkmetod \"%s\"" + +#: ../../common/file_utils.c:151 ../../common/file_utils.c:281 +#: ../../common/pgfnames.c:48 ../../common/rmtree.c:63 #, c-format msgid "could not open directory \"%s\": %m" msgstr "kunde inte öppna katalog \"%s\": %m" -#: ../../common/file_utils.c:196 ../../common/pgfnames.c:69 -#: ../../common/rmtree.c:104 +#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 +#: ../../common/pgfnames.c:69 ../../common/rmtree.c:106 #, c-format msgid "could not read directory \"%s\": %m" msgstr "kunde inte läsa katalog \"%s\": %m" -#: ../../common/file_utils.c:228 ../../common/file_utils.c:287 -#: ../../common/file_utils.c:361 -#, c-format -msgid "could not open file \"%s\": %m" -msgstr "kunde inte öppna fil \"%s\": %m" - -#: ../../common/file_utils.c:299 ../../common/file_utils.c:369 +#: ../../common/file_utils.c:418 ../../common/file_utils.c:488 #, c-format msgid "could not fsync file \"%s\": %m" msgstr "kunde inte fsync:a fil \"%s\": %m" -#: ../../common/file_utils.c:379 +#: ../../common/file_utils.c:498 #, c-format msgid "could not rename file \"%s\" to \"%s\": %m" msgstr "kunde inte döpa om fil \"%s\" till \"%s\": %m" @@ -150,12 +176,12 @@ msgstr "kunde inte köra igen med token för begränsad åtkomst: felkod %lu" msgid "could not get exit code from subprocess: error code %lu" msgstr "kunde inte hämta statuskod för underprocess: felkod %lu" -#: ../../common/rmtree.c:95 +#: ../../common/rmtree.c:97 #, c-format msgid "could not remove file \"%s\": %m" msgstr "kunde inte ta bort fil \"%s\": %m" -#: ../../common/rmtree.c:122 +#: ../../common/rmtree.c:124 #, c-format msgid "could not remove directory \"%s\": %m" msgstr "kunde inte ta bort katalog \"%s\": %m" @@ -204,6 +230,31 @@ msgstr "barnprocess terminerades av signal %d: %s" msgid "child process exited with unrecognized status %d" msgstr "barnprocess avslutade med okänd statuskod %d" +#: ../../fe_utils/option_utils.c:69 +#, c-format +msgid "invalid value \"%s\" for option %s" +msgstr "ogiltigt värde \"%s\" för flaggan \"%s\"" + +#: ../../fe_utils/option_utils.c:76 +#, c-format +msgid "%s must be in range %d..%d" +msgstr "%s måste vara i intervallet %d..%d" + +#: ../../fe_utils/option_utils.c:106 +#, c-format +msgid "unrecognized sync method: %s" +msgstr "okänd synkmetod: %s" + +#: ../../fe_utils/string_utils.c:434 +#, 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 +#, c-format +msgid "database name contains a newline or carriage return: \"%s\"\n" +msgstr "databasnamnet innehåller nyrad eller vagnretur: \"%s\"\n" + #: ../../port/dirmod.c:287 #, c-format msgid "could not set junction for \"%s\": %s\n" @@ -214,151 +265,146 @@ msgstr "kunde inte sätta en knutpunkt (junction) för \"%s\": %s\n" msgid "could not get junction for \"%s\": %s\n" msgstr "kunde inte få en knutpunkt (junction) för \"%s\": %s\n" -#: initdb.c:618 initdb.c:1613 +#: initdb.c:627 initdb.c:1619 #, c-format msgid "could not open file \"%s\" for reading: %m" msgstr "kunde inte öppna filen \"%s\" för läsning: %m" -#: initdb.c:662 initdb.c:966 initdb.c:986 +#: initdb.c:671 initdb.c:975 initdb.c:995 #, c-format msgid "could not open file \"%s\" for writing: %m" msgstr "kunde inte öppna fil \"%s\" för skrivning: %m" -#: initdb.c:666 initdb.c:969 initdb.c:988 +#: initdb.c:675 initdb.c:978 initdb.c:997 #, c-format msgid "could not write file \"%s\": %m" msgstr "kunde inte skriva fil \"%s\": %m" -#: initdb.c:670 +#: initdb.c:679 #, c-format msgid "could not close file \"%s\": %m" msgstr "kunde inte stänga fil \"%s\": %m" -#: initdb.c:686 -#, c-format -msgid "could not execute command \"%s\": %m" -msgstr "kunde inte köra kommandot \"%s\": %m" - -#: initdb.c:704 +#: initdb.c:713 #, c-format msgid "removing data directory \"%s\"" msgstr "tar bort datakatalog \"%s\"" -#: initdb.c:706 +#: initdb.c:715 #, c-format msgid "failed to remove data directory" msgstr "misslyckades med att ta bort datakatalog" -#: initdb.c:710 +#: initdb.c:719 #, c-format msgid "removing contents of data directory \"%s\"" msgstr "tar bort innehållet i datakatalog \"%s\"" -#: initdb.c:713 +#: initdb.c:722 #, c-format msgid "failed to remove contents of data directory" msgstr "misslyckades med att ta bort innehållet i datakatalogen" -#: initdb.c:718 +#: initdb.c:727 #, c-format msgid "removing WAL directory \"%s\"" msgstr "tar bort WAL-katalog \"%s\"" -#: initdb.c:720 +#: initdb.c:729 #, c-format msgid "failed to remove WAL directory" msgstr "misslyckades med att ta bort WAL-katalog" -#: initdb.c:724 +#: initdb.c:733 #, c-format msgid "removing contents of WAL directory \"%s\"" msgstr "tar bort innehållet i WAL-katalog \"%s\"" -#: initdb.c:726 +#: initdb.c:735 #, c-format msgid "failed to remove contents of WAL directory" msgstr "misslyckades med att ta bort innehållet i WAL-katalogen" -#: initdb.c:733 +#: initdb.c:742 #, c-format msgid "data directory \"%s\" not removed at user's request" msgstr "datakatalog \"%s\" är ej borttagen på användares begäran" -#: initdb.c:737 +#: initdb.c:746 #, c-format msgid "WAL directory \"%s\" not removed at user's request" msgstr "WAL-katalog \"%s\" är ej borttagen på användares begäran" -#: initdb.c:755 +#: initdb.c:764 #, c-format msgid "cannot be run as root" msgstr "kan inte köras som root" -#: initdb.c:756 +#: initdb.c:765 #, c-format msgid "Please log in (using, e.g., \"su\") as the (unprivileged) user that will own the server process." msgstr "Logga in (t.ex. med \"su\") som den (opriviligerade) användare som skall äga serverprocessen." -#: initdb.c:788 +#: initdb.c:797 #, c-format msgid "\"%s\" is not a valid server encoding name" msgstr "\"%s\" är inte en giltig teckenkodning för servern" -#: initdb.c:932 +#: initdb.c:941 #, c-format msgid "file \"%s\" does not exist" msgstr "filen \"%s\" finns inte" -#: initdb.c:933 initdb.c:938 initdb.c:945 +#: initdb.c:942 initdb.c:947 initdb.c:954 #, c-format msgid "This might mean you have a corrupted installation or identified the wrong directory with the invocation option -L." msgstr "Detta kan betyda att du har en korrupt installation eller att du har angivit felaktig katalog till flaggan -L." -#: initdb.c:937 +#: initdb.c:946 #, c-format msgid "could not access file \"%s\": %m" msgstr "kunde inte komma åt filen \"%s\": %m" -#: initdb.c:944 +#: initdb.c:953 #, c-format msgid "file \"%s\" is not a regular file" msgstr "filen \"%s\" är inte en normal fil" -#: initdb.c:1077 +#: initdb.c:1086 #, c-format msgid "selecting dynamic shared memory implementation ... " msgstr "väljer mekanism för dynamiskt, delat minne ... " -#: initdb.c:1086 +#: initdb.c:1095 #, c-format -msgid "selecting default max_connections ... " -msgstr "sätter förvalt värde för max_connections ... " +msgid "selecting default \"max_connections\" ... " +msgstr "sätter förvalt värde för \"max_connections\" ... " -#: initdb.c:1106 +#: initdb.c:1115 #, c-format -msgid "selecting default shared_buffers ... " -msgstr "sätter förvalt värde för shared_buffers ... " +msgid "selecting default \"shared_buffers\" ... " +msgstr "sätter förvalt värde för \"shared_buffers\" ... " -#: initdb.c:1129 +#: initdb.c:1138 #, c-format msgid "selecting default time zone ... " msgstr "sätter förvalt värde för tidszon ... " -#: initdb.c:1206 +#: initdb.c:1217 msgid "creating configuration files ... " msgstr "skapar konfigurationsfiler ... " -#: initdb.c:1367 initdb.c:1381 initdb.c:1448 initdb.c:1459 +#: initdb.c:1370 initdb.c:1384 initdb.c:1451 initdb.c:1462 #, c-format msgid "could not change permissions of \"%s\": %m" msgstr "kunde inte ändra rättigheter på \"%s\": %m" -#: initdb.c:1477 +#: initdb.c:1481 #, c-format msgid "running bootstrap script ... " msgstr "kör uppsättningsskript..." -#: initdb.c:1489 +#: initdb.c:1493 #, c-format msgid "input file \"%s\" does not belong to PostgreSQL %s" msgstr "indatafil \"%s\" tillhör inte PostgreSQL %s" @@ -367,125 +413,130 @@ msgstr "indatafil \"%s\" tillhör inte PostgreSQL %s" # with a standard directory "/usr/local/pgsql", is such that # the translated message string produces a reasonable output. # -#: initdb.c:1491 +#: initdb.c:1495 #, c-format msgid "Specify the correct path using the option -L." msgstr "Ange korrekt sökväg med flaggan -L." -#: initdb.c:1591 +#: initdb.c:1597 msgid "Enter new superuser password: " msgstr "Mata in ett nytt lösenord för superuser: " -#: initdb.c:1592 +#: initdb.c:1598 msgid "Enter it again: " msgstr "Mata in det igen: " -#: initdb.c:1595 +#: initdb.c:1601 #, c-format msgid "Passwords didn't match.\n" msgstr "Lösenorden stämde inte överens.\n" -#: initdb.c:1619 +#: initdb.c:1625 #, c-format msgid "could not read password from file \"%s\": %m" msgstr "kunde inte läsa lösenord i filen \"%s\": %m" -#: initdb.c:1622 +#: initdb.c:1628 #, c-format msgid "password file \"%s\" is empty" msgstr "lösenordsfilen \"%s\" är tom" -#: initdb.c:2034 +#: initdb.c:2040 #, c-format msgid "caught signal\n" msgstr "mottog signal\n" -#: initdb.c:2040 +#: initdb.c:2046 #, c-format msgid "could not write to child process: %s\n" msgstr "kunde inte skriva till barnprocess: %s\n" -#: initdb.c:2048 +#: initdb.c:2054 #, c-format msgid "ok\n" msgstr "ok\n" -#: initdb.c:2137 +#: initdb.c:2143 #, c-format msgid "setlocale() failed" msgstr "setlocale() misslyckades" -#: initdb.c:2155 +#: initdb.c:2161 #, c-format msgid "failed to restore old locale \"%s\"" msgstr "misslyckades med att återställa gamla lokalen \"%s\"" -#: initdb.c:2163 +#: initdb.c:2169 #, c-format msgid "invalid locale name \"%s\"" msgstr "ogiltigt lokalnamn \"%s\"" -#: initdb.c:2164 +#: initdb.c:2170 #, c-format msgid "If the locale name is specific to ICU, use --icu-locale." msgstr "Om lokalnamnet är specifikt för ICU, använd --icu-locale." -#: initdb.c:2177 +#: initdb.c:2183 #, c-format msgid "invalid locale settings; check LANG and LC_* environment variables" msgstr "ogiltig lokalinställning. Kontrollera miljövariablerna LANG och LC_*" -#: initdb.c:2203 initdb.c:2227 +#: initdb.c:2209 initdb.c:2233 #, c-format msgid "encoding mismatch" msgstr "teckenkodning matchar inte" -#: initdb.c:2204 +#: initdb.c:2210 #, c-format msgid "The encoding you selected (%s) and the encoding that the selected locale uses (%s) do not match. This would lead to misbehavior in various character string processing functions." msgstr "Teckenkodningen du har valt (%s) och teckenkodningen som valda lokalen använder (%s) passar inte ihop. Detta kommer leda till problem för funktioner som arbetar med strängar." -#: initdb.c:2209 initdb.c:2230 +#: initdb.c:2215 initdb.c:2236 #, c-format msgid "Rerun %s and either do not specify an encoding explicitly, or choose a matching combination." msgstr "Kör %s igen och ange antingen ingen explicit kodning eller välj en matchande kombination." -#: initdb.c:2228 +#: initdb.c:2234 #, c-format msgid "The encoding you selected (%s) is not supported with the ICU provider." msgstr "Den valda teckenkodningen (%s) stöds inte av ICU." -#: initdb.c:2279 +#: initdb.c:2285 #, c-format msgid "could not convert locale name \"%s\" to language tag: %s" msgstr "kunde inte konvertera lokalnamn \"%s\" till språktagg: %s" -#: initdb.c:2285 initdb.c:2337 initdb.c:2416 +#: initdb.c:2291 initdb.c:2343 initdb.c:2435 #, c-format msgid "ICU is not supported in this build" msgstr "ICU stöds inte av detta bygge" -#: initdb.c:2308 +#: initdb.c:2314 #, c-format msgid "could not get language from locale \"%s\": %s" msgstr "kunde inte härleda språk från lokalen \"%s\": %s" -#: initdb.c:2334 +#: initdb.c:2340 #, c-format msgid "locale \"%s\" has unknown language \"%s\"" msgstr "lokalen \"%s\" har ett okänt språk \"%s\"" -#: initdb.c:2400 +#: initdb.c:2401 +#, c-format +msgid "locale must be specified if provider is %s" +msgstr "lokal måste anges när leverantören är %s" + +#: initdb.c:2412 #, c-format -msgid "ICU locale must be specified" -msgstr "ICU-lokal måste anges" +msgid "invalid locale name \"%s\" for builtin provider" +msgstr "ogiltigt lokalnamn \"%s\" för inbyggd leverantör" -#: initdb.c:2404 +#: initdb.c:2423 #, c-format msgid "Using language tag \"%s\" for ICU locale \"%s\".\n" msgstr "Använder språktagg \"%s\" för ICU-lokal \"%s\".\n" -#: initdb.c:2427 +#: initdb.c:2446 #, c-format msgid "" "%s initializes a PostgreSQL database cluster.\n" @@ -494,17 +545,17 @@ msgstr "" "%s initierar ett databaskluster för PostgreSQL.\n" "\n" -#: initdb.c:2428 +#: initdb.c:2447 #, c-format msgid "Usage:\n" msgstr "Användning:\n" -#: initdb.c:2429 +#: initdb.c:2448 #, c-format msgid " %s [OPTION]... [DATADIR]\n" msgstr " %s [FLAGGA]... [DATAKATALOG]\n" -#: initdb.c:2430 +#: initdb.c:2449 #, c-format msgid "" "\n" @@ -513,57 +564,57 @@ msgstr "" "\n" "Flaggor:\n" -#: initdb.c:2431 +#: initdb.c:2450 #, c-format msgid " -A, --auth=METHOD default authentication method for local connections\n" msgstr " -A, --auth=METOD förvald autentiseringsmetod för alla anslutningar\n" -#: initdb.c:2432 +#: initdb.c:2451 #, c-format msgid " --auth-host=METHOD default authentication method for local TCP/IP connections\n" msgstr " --auth-host=METOD autentiseringsmetod för TCP/IP-anslutningar\n" -#: initdb.c:2433 +#: initdb.c:2452 #, c-format msgid " --auth-local=METHOD default authentication method for local-socket connections\n" msgstr " --auth-local=METOD autentiseringsmetod för anslutningar via unix-uttag\n" -#: initdb.c:2434 +#: initdb.c:2453 #, c-format msgid " [-D, --pgdata=]DATADIR location for this database cluster\n" msgstr " [-D, --pgdata=]DATAKATALOG läge för detta databaskluster\n" -#: initdb.c:2435 +#: initdb.c:2454 #, c-format msgid " -E, --encoding=ENCODING set default encoding for new databases\n" msgstr " -E, --encoding=KODNING sätter teckenkodning för nya databaser\n" -#: initdb.c:2436 +#: initdb.c:2455 #, c-format msgid " -g, --allow-group-access allow group read/execute on data directory\n" msgstr " -g, --allow-group-access tillåt läs/kör för grupp på datakatalogen\n" -#: initdb.c:2437 +#: initdb.c:2456 #, c-format msgid " --icu-locale=LOCALE set ICU locale ID for new databases\n" msgstr " --icu-locale=LOKAL sätt ID för ICU-lokal för nya databaser\n" -#: initdb.c:2438 +#: initdb.c:2457 #, c-format msgid " --icu-rules=RULES set additional ICU collation rules for new databases\n" msgstr " --icu-rules=REGLER sätt ytterligare ICU-jämförelseregler för nya databaser\n" -#: initdb.c:2439 +#: initdb.c:2458 #, c-format msgid " -k, --data-checksums use data page checksums\n" msgstr " -k, --data-checksums använd checksummor på datablock\n" -#: initdb.c:2440 +#: initdb.c:2459 #, c-format msgid " --locale=LOCALE set default locale for new databases\n" msgstr " --locale=LOKAL sätt standardlokal för nya databaser\n" -#: initdb.c:2441 +#: initdb.c:2460 #, c-format msgid "" " --lc-collate=, --lc-ctype=, --lc-messages=LOCALE\n" @@ -576,26 +627,35 @@ msgstr "" " sätter standardlokal i utvald kategori för\n" " nya databaser (förval hämtas ur omgivningen)\n" -#: initdb.c:2445 +#: initdb.c:2464 #, c-format msgid " --no-locale equivalent to --locale=C\n" msgstr " --no-locale samma som --locale=C\n" -#: initdb.c:2446 +#: initdb.c:2465 +#, c-format +msgid "" +" --builtin-locale=LOCALE\n" +" set builtin locale name for new databases\n" +msgstr "" +" --builtin-locale=LOKAL\n" +" sätt standard lokalnamn för nya databaser\n" + +#: initdb.c:2467 #, c-format msgid "" -" --locale-provider={libc|icu}\n" +" --locale-provider={builtin|libc|icu}\n" " set default locale provider for new databases\n" msgstr "" -" --locale-provider={libc|icu}\n" +" --locale-provider={builtin|libc|icu}\n" " sätt standard lokalleverantör för nya databaser\n" -#: initdb.c:2448 +#: initdb.c:2469 #, c-format msgid " --pwfile=FILE read password for the new superuser from file\n" msgstr " --pwfile=FIL läser lösenord för superuser från fil\n" -#: initdb.c:2449 +#: initdb.c:2470 #, c-format msgid "" " -T, --text-search-config=CFG\n" @@ -604,27 +664,27 @@ msgstr "" " -T, --text-search-config=CFG\n" " standardkonfiguration för textsökning\n" -#: initdb.c:2451 +#: initdb.c:2472 #, c-format msgid " -U, --username=NAME database superuser name\n" msgstr " -U, --username=NAMN namn på databasens superuser\n" -#: initdb.c:2452 +#: initdb.c:2473 #, c-format msgid " -W, --pwprompt prompt for a password for the new superuser\n" msgstr " -W, --pwprompt efterfråga lösenord för superuser\n" -#: initdb.c:2453 +#: initdb.c:2474 #, c-format msgid " -X, --waldir=WALDIR location for the write-ahead log directory\n" msgstr " -X, --waldir=WALDIR katalog för write-ahead-log (WAL)\n" -#: initdb.c:2454 +#: initdb.c:2475 #, c-format msgid " --wal-segsize=SIZE size of WAL segments, in megabytes\n" msgstr " --wal-segsize=STORLEK storlek på WAL-segment i megabyte\n" -#: initdb.c:2455 +#: initdb.c:2476 #, c-format msgid "" "\n" @@ -633,52 +693,57 @@ msgstr "" "\n" "Mindre vanliga flaggor:\n" -#: initdb.c:2456 +#: initdb.c:2477 #, c-format msgid " -c, --set NAME=VALUE override default setting for server parameter\n" msgstr " -c, --set NAMN=VÄRDE ersätt standardinställning för serverparameter\n" -#: initdb.c:2457 +#: initdb.c:2478 #, c-format msgid " -d, --debug generate lots of debugging output\n" msgstr " -d, --debug generera massor med debug-utskrifter\n" -#: initdb.c:2458 +#: initdb.c:2479 #, c-format msgid " --discard-caches set debug_discard_caches=1\n" msgstr " --discard-caches sätt debug_discard_caches=1\n" -#: initdb.c:2459 +#: initdb.c:2480 #, c-format msgid " -L DIRECTORY where to find the input files\n" msgstr " -L KATALOG katalog där indatafiler skall sökas\n" -#: initdb.c:2460 +#: initdb.c:2481 #, c-format msgid " -n, --no-clean do not clean up after errors\n" msgstr " -n, --no-clean städa inte upp efter fel\n" -#: initdb.c:2461 +#: initdb.c:2482 #, c-format msgid " -N, --no-sync do not wait for changes to be written safely to disk\n" msgstr " -N, --no-sync vänta inte på att ändingar säkert skrivits till disk\n" -#: initdb.c:2462 +#: initdb.c:2483 #, c-format msgid " --no-instructions do not print instructions for next steps\n" msgstr " --no-instructions skriv inte instruktioner för nästa steg\n" -#: initdb.c:2463 +#: initdb.c:2484 #, c-format -msgid " -s, --show show internal settings\n" -msgstr " -s, --show visa interna inställningar\n" +msgid " -s, --show show internal settings, then exit\n" +msgstr " -s, --show visa interna inställningar, avsluta sedan\n" -#: initdb.c:2464 +#: initdb.c:2485 +#, c-format +msgid " --sync-method=METHOD set method for syncing files to disk\n" +msgstr " --sync-method=METOD sätt synkmetod för att synka filer till disk\n" + +#: initdb.c:2486 #, c-format msgid " -S, --sync-only only sync database files to disk, then exit\n" msgstr " -S, --sync-only synka bara databasfiler till disk, avsluta seden\n" -#: initdb.c:2465 +#: initdb.c:2487 #, c-format msgid "" "\n" @@ -687,17 +752,17 @@ msgstr "" "\n" "Andra flaggor:\n" -#: initdb.c:2466 +#: initdb.c:2488 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version visa versionsinformation, avsluta sedan\n" -#: initdb.c:2467 +#: initdb.c:2489 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help visa denna hjälp, avsluta sedan\n" -#: initdb.c:2468 +#: initdb.c:2490 #, c-format msgid "" "\n" @@ -707,7 +772,7 @@ msgstr "" "\n" "Om datakatalogen inte anges så tas den från omgivningsvariabeln PGDATA.\n" -#: initdb.c:2470 +#: initdb.c:2492 #, c-format msgid "" "\n" @@ -716,72 +781,72 @@ msgstr "" "\n" "Rapportera fel till <%s>.\n" -#: initdb.c:2471 +#: initdb.c:2493 #, c-format msgid "%s home page: <%s>\n" msgstr "hemsida för %s: <%s>\n" -#: initdb.c:2499 +#: initdb.c:2517 #, c-format msgid "invalid authentication method \"%s\" for \"%s\" connections" msgstr "ogiltig autentiseringsmetod \"%s\" för anslutning av typen \"%s\"" -#: initdb.c:2513 +#: initdb.c:2531 #, c-format msgid "must specify a password for the superuser to enable password authentication" msgstr "du måste ange ett lösenord för superuser för att kunna slå på lösenordsautentisering" -#: initdb.c:2532 +#: initdb.c:2550 #, c-format msgid "no data directory specified" msgstr "ingen datakatalog angiven" -#: initdb.c:2533 +#: initdb.c:2551 #, c-format msgid "You must identify the directory where the data for this database system will reside. Do this with either the invocation option -D or the environment variable PGDATA." msgstr "Du måste uppge den katalog där data för detta databassystem skall lagras. Gör det antingen med flaggan -D eller genom att sätta omgivningsvariabeln PGDATA." -#: initdb.c:2550 +#: initdb.c:2568 #, c-format msgid "could not set environment" msgstr "kunde inte sätta omgivningen" -#: initdb.c:2568 +#: initdb.c:2586 #, 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\"" -#: initdb.c:2571 +#: initdb.c:2589 #, 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" -#: initdb.c:2586 +#: initdb.c:2604 #, c-format msgid "input file location must be an absolute path" msgstr "plats för indatafiler måste vara en absolut sökväg" -#: initdb.c:2603 +#: initdb.c:2621 #, c-format msgid "The database cluster will be initialized with locale \"%s\".\n" msgstr "Databasklustret kommer att skapas med lokalnamn \"%s\".\n" -#: initdb.c:2606 +#: initdb.c:2624 #, c-format msgid "The database cluster will be initialized with this locale configuration:\n" msgstr "Databasklustret kommer att initieras med denna lokalkonfiguration:\n" -#: initdb.c:2607 +#: initdb.c:2625 #, c-format -msgid " provider: %s\n" -msgstr " leverantör: %s\n" +msgid " locale provider: %s\n" +msgstr " lokalleverantör: %s\n" -#: initdb.c:2609 +#: initdb.c:2627 #, c-format -msgid " ICU locale: %s\n" -msgstr " ICU-lokal: %s\n" +msgid " default collation: %s\n" +msgstr " standardjämförelse: %s\n" -#: initdb.c:2610 +#: initdb.c:2628 #, c-format msgid "" " LC_COLLATE: %s\n" @@ -798,22 +863,22 @@ msgstr "" " LC_NUMERIC: %s\n" " LC_TIME: %s\n" -#: initdb.c:2640 +#: initdb.c:2658 #, c-format msgid "could not find suitable encoding for locale \"%s\"" msgstr "kunde inte välja en lämplig kodning för lokal \"%s\"" -#: initdb.c:2642 +#: initdb.c:2660 #, c-format msgid "Rerun %s with the -E option." msgstr "Kör %s igen men med flaggan -E." -#: initdb.c:2643 initdb.c:3176 initdb.c:3284 initdb.c:3304 +#: initdb.c:2661 initdb.c:3204 initdb.c:3324 initdb.c:3344 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Försök med \"%s --help\" för mer information." -#: initdb.c:2655 +#: initdb.c:2673 #, c-format msgid "" "Encoding \"%s\" implied by locale is not allowed as a server-side encoding.\n" @@ -822,107 +887,112 @@ msgstr "" "Teckenkodning \"%s\", tagen ur lokalnamnet, är inte godtagbar för servern.\n" "I dess ställe sättes databasens förvalda teckenkodning till \"%s\".\n" -#: initdb.c:2660 +#: initdb.c:2678 #, c-format msgid "locale \"%s\" requires unsupported encoding \"%s\"" msgstr "lokalen \"%s\" kräver ej supportad teckenkodning \"%s\"" -#: initdb.c:2662 +#: initdb.c:2680 #, c-format msgid "Encoding \"%s\" is not allowed as a server-side encoding." msgstr "Teckenkodning \"%s\" tillåts inte som serverteckenkodning." -#: initdb.c:2664 +#: initdb.c:2682 #, c-format msgid "Rerun %s with a different locale selection." msgstr "Kör %s igen men välj en annan lokal." -#: initdb.c:2672 +#: initdb.c:2690 #, c-format msgid "The default database encoding has accordingly been set to \"%s\".\n" msgstr "Förvald teckenkodning för databaser är satt till \"%s\".\n" -#: initdb.c:2741 +#: initdb.c:2704 +#, c-format +msgid "builtin provider locale \"%s\" requires encoding \"%s\"" +msgstr "lokal \"%s\" för inbyggd leverantör kräver teckenkodning \"%s\"" + +#: initdb.c:2766 #, c-format msgid "could not find suitable text search configuration for locale \"%s\"" msgstr "kunde inte hitta en lämplig textsökningskonfiguration för lokalnamn \"%s\"" -#: initdb.c:2752 +#: initdb.c:2777 #, c-format msgid "suitable text search configuration for locale \"%s\" is unknown" msgstr "ingen lämplig textsökningskonfiguration för lokalnamn \"%s\"" -#: initdb.c:2757 +#: initdb.c:2782 #, c-format msgid "specified text search configuration \"%s\" might not match locale \"%s\"" msgstr "uppgiven textsökningskonfiguration \"%s\" passar kanske inte till lokalnamn \"%s\"" -#: initdb.c:2762 +#: initdb.c:2787 #, c-format msgid "The default text search configuration will be set to \"%s\".\n" msgstr "Förvald textsökningskonfiguration för databaser är satt till \"%s\".\n" -#: initdb.c:2805 initdb.c:2876 +#: initdb.c:2830 initdb.c:2901 #, c-format msgid "creating directory %s ... " msgstr "skapar katalog %s ... " -#: initdb.c:2810 initdb.c:2881 initdb.c:2929 initdb.c:2985 +#: initdb.c:2835 initdb.c:2906 initdb.c:2954 initdb.c:3011 #, c-format msgid "could not create directory \"%s\": %m" msgstr "kunde inte skapa katalog \"%s\": %m" -#: initdb.c:2819 initdb.c:2891 +#: initdb.c:2844 initdb.c:2916 #, c-format msgid "fixing permissions on existing directory %s ... " msgstr "sätter rättigheter på existerande katalog %s ... " -#: initdb.c:2824 initdb.c:2896 +#: initdb.c:2849 initdb.c:2921 #, c-format msgid "could not change permissions of directory \"%s\": %m" msgstr "kunde inte ändra rättigheter på katalogen \"%s\": %m" -#: initdb.c:2836 initdb.c:2908 +#: initdb.c:2861 initdb.c:2933 #, c-format msgid "directory \"%s\" exists but is not empty" msgstr "katalogen \"%s\" existerar men är inte tom" -#: initdb.c:2840 +#: initdb.c:2865 #, c-format msgid "If you want to create a new database system, either remove or empty the directory \"%s\" or run %s with an argument other than \"%s\"." msgstr "Om du vill skapa ett nytt databassystem, tag då antingen bort eller töm katalogen \"%s\" eller kör %s med annat argument än \"%s\"." -#: initdb.c:2848 initdb.c:2918 initdb.c:3325 +#: initdb.c:2873 initdb.c:2943 initdb.c:3369 #, c-format msgid "could not access directory \"%s\": %m" msgstr "kunde inte komma åt katalog \"%s\": %m" -#: initdb.c:2869 +#: initdb.c:2894 #, c-format msgid "WAL directory location must be an absolute path" msgstr "WAL-katalogen måste vara en absolut sökväg" -#: initdb.c:2912 +#: initdb.c:2937 #, c-format msgid "If you want to store the WAL there, either remove or empty the directory \"%s\"." msgstr "Om du vill spara WAL där, antingen radera eller töm katalogen \"%s\"." -#: initdb.c:2922 +#: initdb.c:2947 #, c-format msgid "could not create symbolic link \"%s\": %m" msgstr "kan inte skapa symbolisk länk \"%s\": %m" -#: initdb.c:2941 +#: initdb.c:2966 #, c-format msgid "It contains a dot-prefixed/invisible file, perhaps due to it being a mount point." msgstr "Den innehåller en gömd fil, med inledande punkt i namnet; kanske är detta en monteringspunkt." -#: initdb.c:2943 +#: initdb.c:2968 #, c-format msgid "It contains a lost+found directory, perhaps due to it being a mount point." msgstr "Den innehåller \"lost+found\"; kanske är detta en monteringspunkt." -#: initdb.c:2945 +#: initdb.c:2970 #, c-format msgid "" "Using a mount point directly as the data directory is not recommended.\n" @@ -931,70 +1001,65 @@ msgstr "" "Att använda en monteringspunkt som datakatalog rekommenderas inte.\n" "Skapa först en underkatalog under monteringspunkten." -#: initdb.c:2971 +#: initdb.c:2997 #, c-format msgid "creating subdirectories ... " msgstr "Skapar underkataloger ... " -#: initdb.c:3014 +#: initdb.c:3040 msgid "performing post-bootstrap initialization ... " msgstr "utför initiering efter uppstättning..." -#: initdb.c:3175 +#: initdb.c:3203 #, c-format msgid "-c %s requires a value" msgstr "-c %s kräver ett värde" -#: initdb.c:3200 +#: initdb.c:3228 #, c-format msgid "Running in debug mode.\n" msgstr "Kör i debug-läge.\n" -#: initdb.c:3204 +#: initdb.c:3232 #, c-format msgid "Running in no-clean mode. Mistakes will not be cleaned up.\n" msgstr "Kör i no-clean-läge. Misstag kommer inte städas bort.\n" -#: initdb.c:3274 +#: initdb.c:3305 #, c-format msgid "unrecognized locale provider: %s" msgstr "okänd lokalleverantör: %s" -#: initdb.c:3302 +#: initdb.c:3342 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "för många kommandoradsargument (första är \"%s\")" -#: initdb.c:3309 initdb.c:3313 +#: initdb.c:3349 initdb.c:3353 initdb.c:3357 #, c-format msgid "%s cannot be specified unless locale provider \"%s\" is chosen" msgstr "%s kan inte anges om inte lokalleverantör \"%s\" valts" -#: initdb.c:3327 initdb.c:3404 +#: initdb.c:3371 initdb.c:3434 msgid "syncing data to disk ... " msgstr "synkar data till disk ... " -#: initdb.c:3335 +#: initdb.c:3379 #, c-format msgid "password prompt and password file cannot be specified together" msgstr "lösenordsfråga och lösenordsfil kan inte anges samtidigt" -#: initdb.c:3357 +#: initdb.c:3390 #, c-format -msgid "argument of --wal-segsize must be a number" -msgstr "argumentet till --wal-segsize måste vara ett tal" +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" -#: initdb.c:3359 -#, c-format -msgid "argument of --wal-segsize must be a power of two between 1 and 1024" -msgstr "argumentet till --wal-segsize måste vara en tvåpotens mellan 1 och 1024" - -#: initdb.c:3373 +#: initdb.c:3403 #, c-format msgid "superuser name \"%s\" is disallowed; role names cannot begin with \"pg_\"" msgstr "superuser-namn \"%s\" tillåts inte; rollnamn får inte börja på \"pg_\"" -#: initdb.c:3375 +#: initdb.c:3405 #, c-format msgid "" "The files belonging to this database system will be owned by user \"%s\".\n" @@ -1005,17 +1070,17 @@ msgstr "" "Denna användare måste också vara ägare av server-processen.\n" "\n" -#: initdb.c:3391 +#: initdb.c:3421 #, c-format msgid "Data page checksums are enabled.\n" msgstr "Checksummor för datablock är aktiva.\n" -#: initdb.c:3393 +#: initdb.c:3423 #, c-format msgid "Data page checksums are disabled.\n" msgstr "Checksummor för datablock är avstängda.\n" -#: initdb.c:3410 +#: initdb.c:3440 #, c-format msgid "" "\n" @@ -1026,22 +1091,22 @@ msgstr "" "Avstod från synkning mot lagringsmedium.\n" "Datakatalogen kan komma att fördärvas om operativsystemet störtar.\n" -#: initdb.c:3415 +#: initdb.c:3445 #, c-format msgid "enabling \"trust\" authentication for local connections" msgstr "slår på autentiseringsmetod \"trust\" för lokala anslutningar" -#: initdb.c:3416 +#: initdb.c:3446 #, c-format msgid "You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb." msgstr "Du kan ändra detta genom att redigera pg_hba.conf eller genom att sätta flaggor -A eller --auth-local och --auth-host nästa gång du kör initdb." #. translator: This is a placeholder in a shell command. -#: initdb.c:3446 +#: initdb.c:3476 msgid "logfile" msgstr "loggfil" -#: initdb.c:3448 +#: initdb.c:3478 #, c-format msgid "" "\n" @@ -1055,39 +1120,3 @@ msgstr "" "\n" " %s\n" "\n" - -#, c-format -#~ msgid "The default database encoding has been set to \"%s\".\n" -#~ msgstr "Förvald teckenkodning för databaser är satt till \"%s\".\n" - -#, c-format -#~ msgid "cannot create restricted tokens on this platform: error code %lu" -#~ msgstr "kan inte skapa token för begränsad åtkomst på denna plattorm: felkod %lu" - -#, c-format -#~ msgid "could not change directory to \"%s\": %m" -#~ msgstr "kunde inte byta katalog till \"%s\": %m" - -#, c-format -#~ msgid "could not identify current directory: %m" -#~ msgstr "kunde inte identifiera aktuell katalog: %m" - -#, c-format -#~ msgid "could not load library \"%s\": error code %lu" -#~ msgstr "kunde inte ladda länkbibliotek \"%s\": felkod %lu" - -#, c-format -#~ msgid "could not read symbolic link \"%s\": %m" -#~ msgstr "kan inte läsa symbolisk länk \"%s\": %m" - -#, c-format -#~ msgid "could not remove file or directory \"%s\": %m" -#~ msgstr "kunde inte ta bort fil eller katalog \"%s\": %m" - -#, c-format -#~ msgid "could not stat file or directory \"%s\": %m" -#~ msgstr "kunde inte ta status på fil eller katalog \"%s\": %m" - -#, c-format -#~ msgid "symlinks are not supported on this platform" -#~ msgstr "symboliska länkar stöds inte på denna plattform" diff --git a/src/bin/initdb/po/uk.po b/src/bin/initdb/po/uk.po index bcda4ce03cf..699f6e96803 100644 --- a/src/bin/initdb/po/uk.po +++ b/src/bin/initdb/po/uk.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: postgresql\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-12-17 22:19+0000\n" -"PO-Revision-Date: 2023-12-19 16:43+0100\n" +"POT-Creation-Date: 2024-08-31 06:21+0000\n" +"PO-Revision-Date: 2024-09-23 19:38\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -14,9 +14,8 @@ msgstr "" "X-Crowdin-Project: postgresql\n" "X-Crowdin-Project-ID: 324573\n" "X-Crowdin-Language: uk\n" -"X-Crowdin-File: /REL_16_STABLE/initdb.pot\n" -"X-Crowdin-File-ID: 943\n" -"X-Generator: Poedit 3.4.1\n" +"X-Crowdin-File: /REL_17_STABLE/initdb.pot\n" +"X-Crowdin-File-ID: 1034\n" #: ../../../src/common/logging.c:276 #, c-format @@ -38,33 +37,48 @@ msgstr "деталі: " msgid "hint: " msgstr "підказка: " -#: ../../common/exec.c:172 +#: ../../common/exec.c:174 #, c-format msgid "invalid binary \"%s\": %m" msgstr "невірний бінарний файл \"%s\": %m" -#: ../../common/exec.c:215 +#: ../../common/exec.c:217 #, c-format msgid "could not read binary \"%s\": %m" msgstr "не вдалося прочитати бінарний файл \"%s\": %m" -#: ../../common/exec.c:223 +#: ../../common/exec.c:225 #, c-format msgid "could not find a \"%s\" to execute" msgstr "неможливо знайти \"%s\" для виконання" -#: ../../common/exec.c:250 +#: ../../common/exec.c:252 #, c-format msgid "could not resolve path \"%s\" to absolute form: %m" msgstr "не вдалося знайти абсолютний шлях \"%s\": %m" -#: ../../common/exec.c:412 +#: ../../common/exec.c:382 initdb.c:695 +#, c-format +msgid "could not execute command \"%s\": %m" +msgstr "не вдалося виконати команду \"%s\": %m" + +#: ../../common/exec.c:394 +#, c-format +msgid "could not read from command \"%s\": %m" +msgstr "не вдалося прочитати висновок команди \"%s\": %m" + +#: ../../common/exec.c:397 +#, c-format +msgid "no data was returned by command \"%s\"" +msgstr "команда \"%s\" не повернула жодних даних" + +#: ../../common/exec.c:424 #, c-format msgid "%s() failed: %m" msgstr "%s() помилка: %m" -#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687 -#: initdb.c:349 +#: ../../common/exec.c:562 ../../common/exec.c:607 ../../common/exec.c:699 +#: initdb.c:353 #, c-format msgid "out of memory" msgstr "недостатньо пам'яті" @@ -80,35 +94,46 @@ msgstr "недостатньо пам'яті\n" msgid "cannot duplicate null pointer (internal error)\n" msgstr "неможливо дублювати нульовий покажчик (внутрішня помилка)\n" -#: ../../common/file_utils.c:87 ../../common/file_utils.c:447 +#: ../../common/file_utils.c:70 ../../common/file_utils.c:347 +#: ../../common/file_utils.c:406 ../../common/file_utils.c:480 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "не можливо відкрити файл \"%s\": %m" + +#: ../../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\": %m" -#: ../../common/file_utils.c:162 ../../common/pgfnames.c:48 -#: ../../common/rmtree.c:63 +#: ../../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 +#: ../../common/pgfnames.c:48 ../../common/rmtree.c:63 #, c-format msgid "could not open directory \"%s\": %m" msgstr "не вдалося відкрити каталог \"%s\": %m" -#: ../../common/file_utils.c:196 ../../common/pgfnames.c:69 -#: ../../common/rmtree.c:104 +#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 +#: ../../common/pgfnames.c:69 ../../common/rmtree.c:106 #, c-format msgid "could not read directory \"%s\": %m" msgstr "не вдалося прочитати каталог \"%s\": %m" -#: ../../common/file_utils.c:228 ../../common/file_utils.c:287 -#: ../../common/file_utils.c:361 -#, c-format -msgid "could not open file \"%s\": %m" -msgstr "не можливо відкрити файл \"%s\": %m" - -#: ../../common/file_utils.c:299 ../../common/file_utils.c:369 +#: ../../common/file_utils.c:418 ../../common/file_utils.c:488 #, c-format msgid "could not fsync file \"%s\": %m" msgstr "не вдалося fsync файл \"%s\": %m" -#: ../../common/file_utils.c:379 +#: ../../common/file_utils.c:498 #, c-format msgid "could not rename file \"%s\" to \"%s\": %m" msgstr "не вдалося перейменувати файл \"%s\" на \"%s\": %m" @@ -148,12 +173,12 @@ msgstr "не вдалося перезапустити з обмеженим т msgid "could not get exit code from subprocess: error code %lu" msgstr "не вдалося отримати код завершення підпроцесу: код помилки %lu" -#: ../../common/rmtree.c:95 +#: ../../common/rmtree.c:97 #, c-format msgid "could not remove file \"%s\": %m" msgstr "не можливо видалити файл \"%s\": %m" -#: ../../common/rmtree.c:122 +#: ../../common/rmtree.c:124 #, c-format msgid "could not remove directory \"%s\": %m" msgstr "не вдалося видалити каталог \"%s\": %m" @@ -202,6 +227,31 @@ msgstr "дочірній процес перервано через сигнал msgid "child process exited with unrecognized status %d" msgstr "дочірній процес завершився з невизнаним статусом %d" +#: ../../fe_utils/option_utils.c:69 +#, c-format +msgid "invalid value \"%s\" for option %s" +msgstr "неприпустиме значення \"%s\" для параметра %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" + +#: ../../fe_utils/string_utils.c:434 +#, c-format +msgid "shell command argument contains a newline or carriage return: \"%s\"\n" +msgstr "аргумент командної оболонки містить символ нового рядка або повернення каретки: \"%s\"\n" + +#: ../../fe_utils/string_utils.c:607 +#, c-format +msgid "database name contains a newline or carriage return: \"%s\"\n" +msgstr "назва бази даних містить символ нового рядка або повернення каретки: \"%s\"\n" + #: ../../port/dirmod.c:287 #, c-format msgid "could not set junction for \"%s\": %s\n" @@ -212,842 +262,816 @@ msgstr "не вдалося встановити сполучення для \"% msgid "could not get junction for \"%s\": %s\n" msgstr "не вдалося встановити сполучення для \"%s\": %s\n" -#: initdb.c:618 initdb.c:1613 +#: initdb.c:627 initdb.c:1619 #, c-format msgid "could not open file \"%s\" for reading: %m" msgstr "не вдалося відкрити файл \"%s\" для читання: %m" -#: initdb.c:662 initdb.c:966 initdb.c:986 +#: initdb.c:671 initdb.c:975 initdb.c:995 #, c-format msgid "could not open file \"%s\" for writing: %m" msgstr "не вдалося відкрити файл \"%s\" для запису: %m" -#: initdb.c:666 initdb.c:969 initdb.c:988 +#: initdb.c:675 initdb.c:978 initdb.c:997 #, c-format msgid "could not write file \"%s\": %m" msgstr "не вдалося записати файл \"%s\": %m" -#: initdb.c:670 +#: initdb.c:679 #, c-format msgid "could not close file \"%s\": %m" msgstr "неможливо закрити файл \"%s\": %m" -#: initdb.c:686 -#, c-format -msgid "could not execute command \"%s\": %m" -msgstr "не вдалося виконати команду \"%s\": %m" - -#: initdb.c:704 +#: initdb.c:713 #, c-format msgid "removing data directory \"%s\"" msgstr "видалення даних з директорії \"%s\"" -#: initdb.c:706 +#: initdb.c:715 #, c-format msgid "failed to remove data directory" msgstr "не вдалося видалити дані директорії" -#: initdb.c:710 +#: initdb.c:719 #, c-format msgid "removing contents of data directory \"%s\"" msgstr "видалення даних з директорії \"%s\"" -#: initdb.c:713 +#: initdb.c:722 #, c-format msgid "failed to remove contents of data directory" msgstr "не вдалося видалити дані директорії" -#: initdb.c:718 +#: initdb.c:727 #, c-format msgid "removing WAL directory \"%s\"" msgstr "видалення WAL директорії \"%s\"" -#: initdb.c:720 +#: initdb.c:729 #, c-format msgid "failed to remove WAL directory" msgstr "не вдалося видалити директорію WAL" -#: initdb.c:724 +#: initdb.c:733 #, c-format msgid "removing contents of WAL directory \"%s\"" msgstr "видалення даних з директорії WAL \"%s\"" -#: initdb.c:726 +#: initdb.c:735 #, c-format msgid "failed to remove contents of WAL directory" msgstr "не вдалося видалити дані директорії WAL" -#: initdb.c:733 +#: initdb.c:742 #, c-format msgid "data directory \"%s\" not removed at user's request" msgstr "директорія даних \"%s\" не видалена за запитом користувача" -#: initdb.c:737 +#: initdb.c:746 #, c-format msgid "WAL directory \"%s\" not removed at user's request" msgstr "директорія WAL \"%s\" не видалена за запитом користувача" -#: initdb.c:755 +#: initdb.c:764 #, c-format msgid "cannot be run as root" msgstr "не може виконуватись як root" -#: initdb.c:756 +#: initdb.c:765 #, c-format msgid "Please log in (using, e.g., \"su\") as the (unprivileged) user that will own the server process." msgstr "Будь ласка, увійдіть (за допомогою, наприклад, \"su\") як (непривілейований) користувач, від імені якого буде запущено серверний процес." -#: initdb.c:788 +#: initdb.c:797 #, c-format msgid "\"%s\" is not a valid server encoding name" msgstr "\"%s\" невірне ім'я серверного кодування" -#: initdb.c:932 +#: initdb.c:941 #, c-format msgid "file \"%s\" does not exist" msgstr "файл \"%s\" не існує" -#: initdb.c:933 initdb.c:938 initdb.c:945 +#: initdb.c:942 initdb.c:947 initdb.c:954 #, c-format msgid "This might mean you have a corrupted installation or identified the wrong directory with the invocation option -L." msgstr "Це означає, що ваша інсталяція пошкоджена або в параметрі -L задана неправильна директорія." -#: initdb.c:937 +#: initdb.c:946 #, c-format msgid "could not access file \"%s\": %m" msgstr "немає доступу до файлу \"%s\": %m" -#: initdb.c:944 +#: initdb.c:953 #, c-format msgid "file \"%s\" is not a regular file" msgstr "файл \"%s\" не є звичайним файлом" -#: initdb.c:1077 +#: initdb.c:1086 #, c-format msgid "selecting dynamic shared memory implementation ... " msgstr "обирається реалізація динамічної спільної пам'яті ... " -#: initdb.c:1086 +#: initdb.c:1095 #, c-format -msgid "selecting default max_connections ... " -msgstr "" -"обирається значення max_connections ... \n" +msgid "selecting default \"max_connections\" ... " +msgstr "обирається значення \"max_connections\" за замовчуванням... \n" " " -#: initdb.c:1106 +#: initdb.c:1115 #, c-format -msgid "selecting default shared_buffers ... " -msgstr "обирається значення shared_buffers... " +msgid "selecting default \"shared_buffers\" ... " +msgstr "обирається значення \"shared_buffers\" за замовчуванням... " -#: initdb.c:1129 +#: initdb.c:1138 #, c-format msgid "selecting default time zone ... " msgstr "обирається часовий пояс за замовчуванням ... " -#: initdb.c:1206 +#: initdb.c:1217 msgid "creating configuration files ... " msgstr "створення конфігураційних файлів... " -#: initdb.c:1367 initdb.c:1381 initdb.c:1448 initdb.c:1459 +#: initdb.c:1370 initdb.c:1384 initdb.c:1451 initdb.c:1462 #, c-format msgid "could not change permissions of \"%s\": %m" msgstr "неможливо змінити дозволи \"%s\": %m" -#: initdb.c:1477 +#: initdb.c:1481 #, c-format msgid "running bootstrap script ... " msgstr "виконуємо сценарій ініціалізації ... " -#: initdb.c:1489 +#: initdb.c:1493 #, c-format msgid "input file \"%s\" does not belong to PostgreSQL %s" msgstr "вхідний файл \"%s\" не належить PostgreSQL %s" -#: initdb.c:1491 +#: initdb.c:1495 #, c-format msgid "Specify the correct path using the option -L." msgstr "Вкажіть правильний шлях за допомогою параметру -L." -#: initdb.c:1591 +#: initdb.c:1597 msgid "Enter new superuser password: " msgstr "Введіть новий пароль для superuser: " -#: initdb.c:1592 +#: initdb.c:1598 msgid "Enter it again: " msgstr "Введіть знову: " -#: initdb.c:1595 +#: initdb.c:1601 #, c-format msgid "Passwords didn't match.\n" msgstr "Паролі не співпадають.\n" -#: initdb.c:1619 +#: initdb.c:1625 #, c-format msgid "could not read password from file \"%s\": %m" msgstr "не вдалося прочитати пароль з файлу \"%s\": %m" -#: initdb.c:1622 +#: initdb.c:1628 #, c-format msgid "password file \"%s\" is empty" msgstr "файл з паролями \"%s\" є порожнім" -#: initdb.c:2034 +#: initdb.c:2040 #, c-format msgid "caught signal\n" msgstr "отримано сигнал\n" -#: initdb.c:2040 +#: initdb.c:2046 #, c-format msgid "could not write to child process: %s\n" msgstr "не вдалося написати у дочірній процес: %s\n" -#: initdb.c:2048 +#: initdb.c:2054 #, c-format msgid "ok\n" msgstr "ok\n" -#: initdb.c:2137 +#: initdb.c:2143 #, c-format msgid "setlocale() failed" msgstr "setlocale() завершився невдало" -#: initdb.c:2155 +#: initdb.c:2161 #, c-format msgid "failed to restore old locale \"%s\"" msgstr "не вдалося відновити стару локаль \"%s\"" -#: initdb.c:2163 +#: initdb.c:2169 #, c-format msgid "invalid locale name \"%s\"" msgstr "не допустиме ім'я локалі \"%s\"" -#: initdb.c:2164 +#: initdb.c:2170 #, c-format msgid "If the locale name is specific to ICU, use --icu-locale." msgstr "Якщо ім'я локалі характерне для ICU, використовуйте --icu-locale." -#: initdb.c:2177 +#: initdb.c:2183 #, c-format msgid "invalid locale settings; check LANG and LC_* environment variables" msgstr "неприпустимі параметри локалі; перевірте LANG та LC_* змінні середовища" -#: initdb.c:2203 initdb.c:2227 +#: initdb.c:2209 initdb.c:2233 #, c-format msgid "encoding mismatch" msgstr "невідповідність кодування" -#: initdb.c:2204 +#: initdb.c:2210 #, c-format msgid "The encoding you selected (%s) and the encoding that the selected locale uses (%s) do not match. This would lead to misbehavior in various character string processing functions." msgstr "Вибране вами кодування (%s) і кодування, яке використовує обрана локаль (%s) не збігаються. Це призведе до неправильної поведінки у різних функціях обробки символьних рядків." -#: initdb.c:2209 initdb.c:2230 +#: initdb.c:2215 initdb.c:2236 #, c-format msgid "Rerun %s and either do not specify an encoding explicitly, or choose a matching combination." msgstr "Перезапустіть %s і або не вказуйте кодування прямо або виберіть відповідну комбінацію." -#: initdb.c:2228 +#: initdb.c:2234 #, c-format msgid "The encoding you selected (%s) is not supported with the ICU provider." msgstr "Обране вами кодування (%s) не підтримується провайдером ICU." -#: initdb.c:2279 +#: initdb.c:2285 #, c-format msgid "could not convert locale name \"%s\" to language tag: %s" msgstr "не вдалося перетворити локальну назву \"%s\" на мітку мови: %s" -#: initdb.c:2285 initdb.c:2337 initdb.c:2416 +#: initdb.c:2291 initdb.c:2343 initdb.c:2435 #, c-format msgid "ICU is not supported in this build" msgstr "ICU не підтримується в цій збірці" -#: initdb.c:2308 +#: initdb.c:2314 #, c-format msgid "could not get language from locale \"%s\": %s" msgstr "не вдалося отримати мову з локалі \"%s\": %s" -#: initdb.c:2334 +#: initdb.c:2340 #, c-format msgid "locale \"%s\" has unknown language \"%s\"" msgstr "locale \"%s\" має невідому мову \"%s\"" -#: initdb.c:2400 +#: initdb.c:2401 +#, c-format +msgid "locale must be specified if provider is %s" +msgstr "потрібно вказати локаль для провайдера %s" + +#: initdb.c:2412 #, c-format -msgid "ICU locale must be specified" -msgstr "Необхідно вказати локаль ICU" +msgid "invalid locale name \"%s\" for builtin provider" +msgstr "неприпустиме ім'я локалі \"%s\" для вбудованого провайдера" -#: initdb.c:2404 +#: initdb.c:2423 #, c-format msgid "Using language tag \"%s\" for ICU locale \"%s\".\n" msgstr "Використання мітки мови \"%s\" для локалі ICU \"%s\".\n" -#: initdb.c:2427 +#: initdb.c:2446 #, c-format -msgid "" -"%s initializes a PostgreSQL database cluster.\n" -"\n" -msgstr "" -"%s ініціалізує кластер баз даних PostgreSQL.\n" -"\n" +msgid "%s initializes a PostgreSQL database cluster.\n\n" +msgstr "%s ініціалізує кластер баз даних PostgreSQL.\n\n" -#: initdb.c:2428 +#: initdb.c:2447 #, c-format msgid "Usage:\n" msgstr "Використання:\n" -#: initdb.c:2429 +#: initdb.c:2448 #, c-format msgid " %s [OPTION]... [DATADIR]\n" msgstr " %s [OPTION]... [DATADIR]\n" -#: initdb.c:2430 +#: initdb.c:2449 #, c-format -msgid "" -"\n" +msgid "\n" "Options:\n" -msgstr "" -"\n" +msgstr "\n" "Параметри:\n" -#: initdb.c:2431 +#: initdb.c:2450 #, c-format msgid " -A, --auth=METHOD default authentication method for local connections\n" msgstr " -A, -- auth=METHOD метод аутентифікації за замовчуванням для локальних підключень\n" -#: initdb.c:2432 +#: initdb.c:2451 #, c-format msgid " --auth-host=METHOD default authentication method for local TCP/IP connections\n" msgstr " --auth-host=METHOD метод аутентифікації за замовчуванням для локального TCP/IP підключення\n" -#: initdb.c:2433 +#: initdb.c:2452 #, c-format msgid " --auth-local=METHOD default authentication method for local-socket connections\n" msgstr " --auth-local=METHOD метод аутентифікації за замовчуванням для локального під'єднання через сокет\n" -#: initdb.c:2434 +#: initdb.c:2453 #, c-format msgid " [-D, --pgdata=]DATADIR location for this database cluster\n" msgstr " [-D - pgdata =] DATADIR розташування кластеру цієї бази даних\n" -#: initdb.c:2435 +#: initdb.c:2454 #, c-format msgid " -E, --encoding=ENCODING set default encoding for new databases\n" msgstr " -E, --encoding=ENCODING встановлення кодування за замовчуванням для нової бази даних\n" -#: initdb.c:2436 +#: initdb.c:2455 #, c-format msgid " -g, --allow-group-access allow group read/execute on data directory\n" msgstr " -g, --allow-group-access дозволити читати/виконувати у каталозі даних для групи\n" -#: initdb.c:2437 +#: initdb.c:2456 #, c-format msgid " --icu-locale=LOCALE set ICU locale ID for new databases\n" msgstr " --icu-locale=LOCALE встановлює ідентифікатор мови ICU для нових баз даних\n" -#: initdb.c:2438 +#: initdb.c:2457 #, c-format msgid " --icu-rules=RULES set additional ICU collation rules for new databases\n" msgstr " --icu-rules=RULES встановити додаткові правила сортування в ICU для нових баз даних\n" -#: initdb.c:2439 +#: initdb.c:2458 #, c-format msgid " -k, --data-checksums use data page checksums\n" msgstr " -k, --data-checksums використовувати контрольні суми сторінок\n" -#: initdb.c:2440 +#: initdb.c:2459 #, c-format msgid " --locale=LOCALE set default locale for new databases\n" msgstr " --locale=LOCALE встановлює локаль за замовчуванням для нових баз даних\n" -#: initdb.c:2441 +#: initdb.c:2460 #, c-format -msgid "" -" --lc-collate=, --lc-ctype=, --lc-messages=LOCALE\n" +msgid " --lc-collate=, --lc-ctype=, --lc-messages=LOCALE\n" " --lc-monetary=, --lc-numeric=, --lc-time=LOCALE\n" " set default locale in the respective category for\n" " new databases (default taken from environment)\n" -msgstr "" -" --lc-collate=, --lc-ctype=, --lc-messages=LOCALE\n" +msgstr " --lc-collate=, --lc-ctype=, --lc-messages=LOCALE\n" " --lc-monetary=, --lc-numeric=, --lc-time=LOCALE\n" " встановлення локалі за замовчуванням для відповідної категорії в\n" " нових базах даних (замість значення з середовища)\n" -#: initdb.c:2445 +#: initdb.c:2464 #, c-format msgid " --no-locale equivalent to --locale=C\n" msgstr " --no-locale еквівалентно --locale=C\n" -#: initdb.c:2446 +#: initdb.c:2465 #, c-format -msgid "" -" --locale-provider={libc|icu}\n" +msgid " --builtin-locale=LOCALE\n" +" set builtin locale name for new databases\n" +msgstr " --builtin-locale=LOCALE\n" +" встановити ім'я вбудованої локалі для нових баз даних\n" + +#: initdb.c:2467 +#, c-format +msgid " --locale-provider={builtin|libc|icu}\n" " set default locale provider for new databases\n" -msgstr "" -" --locale-provider={libc|icu}\n" +msgstr " --locale-provider={builtin|libc|icu}\n" " встановлює провайдер локалі за замовченням для нових баз даних\n" -#: initdb.c:2448 +#: initdb.c:2469 #, c-format msgid " --pwfile=FILE read password for the new superuser from file\n" msgstr " --pwfile=FILE прочитати пароль для нового суперкористувача з файлу\n" -#: initdb.c:2449 +#: initdb.c:2470 #, c-format -msgid "" -" -T, --text-search-config=CFG\n" +msgid " -T, --text-search-config=CFG\n" " default text search configuration\n" msgstr " -T, --text-search-config=CFG конфігурація текстового пошуку за замовчуванням\n" -#: initdb.c:2451 +#: initdb.c:2472 #, c-format msgid " -U, --username=NAME database superuser name\n" msgstr " -U, --username=NAME ім'я суперкористувача бази даних\n" -#: initdb.c:2452 +#: initdb.c:2473 #, c-format msgid " -W, --pwprompt prompt for a password for the new superuser\n" msgstr " -W, --pwprompt запитувати пароль нового суперкористувача\n" -#: initdb.c:2453 +#: initdb.c:2474 #, c-format msgid " -X, --waldir=WALDIR location for the write-ahead log directory\n" msgstr " -X, --waldir=WALDIR розташування журналу попереднього запису\n" -#: initdb.c:2454 +#: initdb.c:2475 #, c-format msgid " --wal-segsize=SIZE size of WAL segments, in megabytes\n" msgstr " --wal-segsize=SIZE розмір сегментів WAL у мегабайтах\n" -#: initdb.c:2455 +#: initdb.c:2476 #, c-format -msgid "" -"\n" +msgid "\n" "Less commonly used options:\n" -msgstr "" -"\n" +msgstr "\n" "Рідковживані параметри:\n" -#: initdb.c:2456 +#: initdb.c:2477 #, c-format msgid " -c, --set NAME=VALUE override default setting for server parameter\n" msgstr " -c, --set NAME=VALUE перевизначити параметр за замовчуванням для параметра сервера\n" -#: initdb.c:2457 +#: initdb.c:2478 #, c-format msgid " -d, --debug generate lots of debugging output\n" msgstr " -d, --debug генерувати багато налагоджувальних повідомлень\n" -#: initdb.c:2458 +#: initdb.c:2479 #, c-format msgid " --discard-caches set debug_discard_caches=1\n" msgstr " --discard-caches встановити debug_discard_caches=1\n" -#: initdb.c:2459 +#: initdb.c:2480 #, c-format msgid " -L DIRECTORY where to find the input files\n" msgstr " -L DIRECTORY розташування вхідних файлів\n" -#: initdb.c:2460 +#: initdb.c:2481 #, c-format msgid " -n, --no-clean do not clean up after errors\n" -msgstr "" -" -n, --no-clean не очищувати після помилок\n" +msgstr " -n, --no-clean не очищувати після помилок\n" " \n" -#: initdb.c:2461 +#: initdb.c:2482 #, c-format msgid " -N, --no-sync do not wait for changes to be written safely to disk\n" msgstr " -N, --no-sync не чекати на безпечний запис змін на диск\n" -#: initdb.c:2462 +#: initdb.c:2483 #, c-format msgid " --no-instructions do not print instructions for next steps\n" msgstr " --no-instructions не друкувати інструкції для наступних кроків\n" -#: initdb.c:2463 +#: initdb.c:2484 #, c-format -msgid " -s, --show show internal settings\n" -msgstr " -s, --show показати внутрішні налаштування\n" +msgid " -s, --show show internal settings, then exit\n" +msgstr " -s, --show показати внутрішні налаштування і вийти\n" -#: initdb.c:2464 +#: initdb.c:2485 +#, c-format +msgid " --sync-method=METHOD set method for syncing files to disk\n" +msgstr " --sync-method=METHOD встановити метод синхронізації файлів на диск\n" + +#: initdb.c:2486 #, c-format msgid " -S, --sync-only only sync database files to disk, then exit\n" msgstr " -S, --sync-only лише синхронізувати файли бази даних на диск, потім вийти\n" -#: initdb.c:2465 +#: initdb.c:2487 #, c-format -msgid "" -"\n" +msgid "\n" "Other options:\n" -msgstr "" -"\n" +msgstr "\n" "Інші параметри:\n" -#: initdb.c:2466 +#: initdb.c:2488 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version вивести інформацію про версію і вийти\n" -#: initdb.c:2467 +#: initdb.c:2489 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help показати цю довідку, потім вийти\n" -#: initdb.c:2468 +#: initdb.c:2490 #, c-format -msgid "" -"\n" +msgid "\n" "If the data directory is not specified, the environment variable PGDATA\n" "is used.\n" -msgstr "" -"\n" +msgstr "\n" "Якщо каталог даних не вказано, використовується змінна середовища PGDATA.\n" -#: initdb.c:2470 +#: initdb.c:2492 #, c-format -msgid "" -"\n" +msgid "\n" "Report bugs to <%s>.\n" -msgstr "" -"\n" +msgstr "\n" "Повідомляти про помилки на <%s>.\n" -#: initdb.c:2471 +#: initdb.c:2493 #, c-format msgid "%s home page: <%s>\n" msgstr "Домашня сторінка %s: <%s>\n" -#: initdb.c:2499 +#: initdb.c:2517 #, c-format msgid "invalid authentication method \"%s\" for \"%s\" connections" msgstr "неприпустимий спосіб автентифікації \"%s\" для \"%s\" підключення" -#: initdb.c:2513 +#: initdb.c:2531 #, c-format msgid "must specify a password for the superuser to enable password authentication" msgstr "необхідно вказати пароль суперкористувача для активації автентифікації за допомогою пароля" -#: initdb.c:2532 +#: initdb.c:2550 #, c-format msgid "no data directory specified" msgstr "каталог даних не вказано" -#: initdb.c:2533 +#: initdb.c:2551 #, c-format msgid "You must identify the directory where the data for this database system will reside. Do this with either the invocation option -D or the environment variable PGDATA." msgstr "Ви повинні зазначити каталог, де будуть зберігатися дані цієї системи баз даних. Зробіть це або параметром -D, або змінною середовища PGDATA." -#: initdb.c:2550 +#: initdb.c:2568 #, c-format msgid "could not set environment" msgstr "не вдалося встановити середовище" -#: initdb.c:2568 +#: initdb.c:2586 #, c-format msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"" msgstr "програма \"%s\" потрібна для %s, але не знайдена в тому ж каталозі, що й \"%s\"" -#: initdb.c:2571 +#: initdb.c:2589 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" msgstr "програма \"%s\" знайдена для \"%s\", але має відмінну версію від %s" -#: initdb.c:2586 +#: initdb.c:2604 #, c-format msgid "input file location must be an absolute path" msgstr "розташування вхідного файлу має бути абсолютним шляхом" -#: initdb.c:2603 +#: initdb.c:2621 #, c-format msgid "The database cluster will be initialized with locale \"%s\".\n" msgstr "Кластер бази даних буде ініціалізовано з локалізацією \"%s\".\n" -#: initdb.c:2606 +#: initdb.c:2624 #, c-format msgid "The database cluster will be initialized with this locale configuration:\n" msgstr "Кластер бази даних буде ініціалізовано з локалізацією:\n" -#: initdb.c:2607 +#: initdb.c:2625 #, c-format -msgid " provider: %s\n" -msgstr " постачальник: %s\n" +msgid " locale provider: %s\n" +msgstr " провайдер локалі: %s\n" -#: initdb.c:2609 +#: initdb.c:2627 #, c-format -msgid " ICU locale: %s\n" -msgstr " Локаль ICU: %s\n" +msgid " default collation: %s\n" +msgstr " стандартне сортування: %s\n" -#: initdb.c:2610 +#: initdb.c:2628 #, c-format -msgid "" -" LC_COLLATE: %s\n" +msgid " LC_COLLATE: %s\n" " LC_CTYPE: %s\n" " LC_MESSAGES: %s\n" " LC_MONETARY: %s\n" " LC_NUMERIC: %s\n" " LC_TIME: %s\n" -msgstr "" -" LC_COLLATE: %s\n" +msgstr " LC_COLLATE: %s\n" " LC_CTYPE: %s\n" " LC_MESSAGES: %s\n" " LC_MONETARY: %s\n" " LC_NUMERIC: %s\n" " LC_TIME: %s\n" -#: initdb.c:2640 +#: initdb.c:2658 #, c-format msgid "could not find suitable encoding for locale \"%s\"" msgstr "не вдалося знайти відповідне кодування для локалі \"%s\"" -#: initdb.c:2642 +#: initdb.c:2660 #, c-format msgid "Rerun %s with the -E option." msgstr "Перезапустіть %s з параметром -E." -#: initdb.c:2643 initdb.c:3176 initdb.c:3284 initdb.c:3304 +#: initdb.c:2661 initdb.c:3204 initdb.c:3324 initdb.c:3344 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Спробуйте \"%s --help\" для додаткової інформації." -#: initdb.c:2655 +#: initdb.c:2673 #, c-format -msgid "" -"Encoding \"%s\" implied by locale is not allowed as a server-side encoding.\n" +msgid "Encoding \"%s\" implied by locale is not allowed as a server-side encoding.\n" "The default database encoding will be set to \"%s\" instead.\n" -msgstr "" -"Кодування \"%s\", що очікується локалізацією, не дозволено у якості кодування сервера.\n" +msgstr "Кодування \"%s\", що очікується локалізацією, не дозволено у якості кодування сервера.\n" "Замість нього буде встановлене кодування \"%s\" за замовчуванням.\n" -#: initdb.c:2660 +#: initdb.c:2678 #, c-format msgid "locale \"%s\" requires unsupported encoding \"%s\"" msgstr "локалізація \"%s\" потребує кодування \"%s\", що не підтримується" -#: initdb.c:2662 +#: initdb.c:2680 #, c-format msgid "Encoding \"%s\" is not allowed as a server-side encoding." msgstr "Кодування \"%s\" не допускається як кодування сервера." -#: initdb.c:2664 +#: initdb.c:2682 #, c-format msgid "Rerun %s with a different locale selection." msgstr "Перезапустіть %s з іншим вибором локалі." -#: initdb.c:2672 +#: initdb.c:2690 #, c-format msgid "The default database encoding has accordingly been set to \"%s\".\n" msgstr "Кодування бази даних за замовчуванням встановлено: \"%s\".\n" -#: initdb.c:2741 +#: initdb.c:2704 +#, c-format +msgid "builtin provider locale \"%s\" requires encoding \"%s\"" +msgstr "локаль вбудованого провайдера \"%s\" вимагає кодування \"%s\"" + +#: initdb.c:2766 #, c-format msgid "could not find suitable text search configuration for locale \"%s\"" msgstr "не вдалося знайти відповідну конфігурацію текстового пошуку для локалі\"%s\"" -#: initdb.c:2752 +#: initdb.c:2777 #, c-format msgid "suitable text search configuration for locale \"%s\" is unknown" msgstr "відповідна конфігурація текстового пошуку для локалі \"%s\" невідома" -#: initdb.c:2757 +#: initdb.c:2782 #, c-format msgid "specified text search configuration \"%s\" might not match locale \"%s\"" msgstr "вказана конфігурація текстового пошуку \"%s\" може не підходити локалі \"%s\"" -#: initdb.c:2762 +#: initdb.c:2787 #, c-format msgid "The default text search configuration will be set to \"%s\".\n" msgstr "Конфігурація текстового пошуку за замовчуванням буде встановлена в \"%s\".\n" -#: initdb.c:2805 initdb.c:2876 +#: initdb.c:2830 initdb.c:2901 #, c-format msgid "creating directory %s ... " msgstr "створення каталогу %s... " -#: initdb.c:2810 initdb.c:2881 initdb.c:2929 initdb.c:2985 +#: initdb.c:2835 initdb.c:2906 initdb.c:2954 initdb.c:3011 #, c-format msgid "could not create directory \"%s\": %m" msgstr "не вдалося створити каталог \"%s\": %m" -#: initdb.c:2819 initdb.c:2891 +#: initdb.c:2844 initdb.c:2916 #, c-format msgid "fixing permissions on existing directory %s ... " msgstr "виправляю дозволи для створеного каталогу %s... " -#: initdb.c:2824 initdb.c:2896 +#: initdb.c:2849 initdb.c:2921 #, c-format msgid "could not change permissions of directory \"%s\": %m" msgstr "не вдалося змінити дозволи каталогу \"%s\": %m" -#: initdb.c:2836 initdb.c:2908 +#: initdb.c:2861 initdb.c:2933 #, c-format msgid "directory \"%s\" exists but is not empty" msgstr "каталог \"%s\" існує, але він не порожній" -#: initdb.c:2840 +#: initdb.c:2865 #, c-format msgid "If you want to create a new database system, either remove or empty the directory \"%s\" or run %s with an argument other than \"%s\"." msgstr "Якщо ви хочете створити нову систему бази даних, видаліть або очистіть каталог \"%s\", або запустіть %s з аргументом, відмінним від \"%s\"." -#: initdb.c:2848 initdb.c:2918 initdb.c:3325 +#: initdb.c:2873 initdb.c:2943 initdb.c:3369 #, c-format msgid "could not access directory \"%s\": %m" msgstr "немає доступу до каталогу \"%s\": %m" -#: initdb.c:2869 +#: initdb.c:2894 #, c-format msgid "WAL directory location must be an absolute path" msgstr "розташування WAL каталогу має бути абсолютним шляхом" -#: initdb.c:2912 +#: initdb.c:2937 #, c-format msgid "If you want to store the WAL there, either remove or empty the directory \"%s\"." msgstr "Якщо ви хочете зберігати дані з WAL там, потрібно видалити або очистити директорію \"%s\"." -#: initdb.c:2922 +#: initdb.c:2947 #, c-format msgid "could not create symbolic link \"%s\": %m" msgstr "не вдалося створити символічне послання \"%s\": %m" -#: initdb.c:2941 +#: initdb.c:2966 #, c-format msgid "It contains a dot-prefixed/invisible file, perhaps due to it being a mount point." msgstr "Він містить файл з крапкою або невидимий файл, можливо це точка під'єднання." -#: initdb.c:2943 +#: initdb.c:2968 #, c-format msgid "It contains a lost+found directory, perhaps due to it being a mount point." msgstr "Він містить каталог lost+found, можливо це точка під'єднання." -#: initdb.c:2945 +#: initdb.c:2970 #, c-format -msgid "" -"Using a mount point directly as the data directory is not recommended.\n" +msgid "Using a mount point directly as the data directory is not recommended.\n" "Create a subdirectory under the mount point." -msgstr "" -"Не рекомендується використовувати точку під'єднання у якості каталогу даних.\n" +msgstr "Не рекомендується використовувати точку під'єднання у якості каталогу даних.\n" "Створіть підкаталог і використайте його." -#: initdb.c:2971 +#: initdb.c:2997 #, c-format msgid "creating subdirectories ... " msgstr "створення підкаталогів... " -#: initdb.c:3014 +#: initdb.c:3040 msgid "performing post-bootstrap initialization ... " msgstr "виконується кінцева фаза ініціалізації ... " -#: initdb.c:3175 +#: initdb.c:3203 #, c-format msgid "-c %s requires a value" msgstr "-c %s необхідне значення" -#: initdb.c:3200 +#: initdb.c:3228 #, c-format msgid "Running in debug mode.\n" msgstr "Виконується у режимі налагодження.\n" -#: initdb.c:3204 +#: initdb.c:3232 #, c-format msgid "Running in no-clean mode. Mistakes will not be cleaned up.\n" msgstr "Виконується у режимі 'no-clean'. Помилки не будуть виправлені.\n" -#: initdb.c:3274 +#: initdb.c:3305 #, c-format msgid "unrecognized locale provider: %s" msgstr "нерозпізнаний постачальник локалів: %s" -#: initdb.c:3302 +#: initdb.c:3342 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "забагато аргументів у командному рядку (перший \"%s\")" -#: initdb.c:3309 initdb.c:3313 +#: initdb.c:3349 initdb.c:3353 initdb.c:3357 #, c-format msgid "%s cannot be specified unless locale provider \"%s\" is chosen" msgstr "%s не може бути вказано, поки не буде обрано постачальник локалі \"%s\"" -#: initdb.c:3327 initdb.c:3404 +#: initdb.c:3371 initdb.c:3434 msgid "syncing data to disk ... " msgstr "синхронізація даних з диском ... " -#: initdb.c:3335 +#: initdb.c:3379 #, c-format msgid "password prompt and password file cannot be specified together" msgstr "неможливо вказати одночасно пароль і файл паролю" -#: initdb.c:3357 -#, c-format -msgid "argument of --wal-segsize must be a number" -msgstr "аргумент --wal-segsize повинен бути числом" - -#: initdb.c:3359 +#: initdb.c:3390 #, c-format -msgid "argument of --wal-segsize must be a power of two between 1 and 1024" -msgstr "аргумент --wal-segsize повинен бути ступенем 2 між 1 і 1024" +msgid "argument of %s must be a power of two between 1 and 1024" +msgstr "аргумент %s має бути ступенем двійки в діапазоні від 1 до 1024" -#: initdb.c:3373 +#: initdb.c:3403 #, c-format msgid "superuser name \"%s\" is disallowed; role names cannot begin with \"pg_\"" msgstr "неприпустиме ім'я суперкористувача \"%s\"; імена ролей не можуть починатися на \"pg_\"" -#: initdb.c:3375 +#: initdb.c:3405 #, c-format -msgid "" -"The files belonging to this database system will be owned by user \"%s\".\n" -"This user must also own the server process.\n" -"\n" -msgstr "" -"Файли цієї бази даних будуть належати користувачеві \"%s\".\n" -"Від імені цього користувача повинен запускатися процес сервера.\n" -"\n" +msgid "The files belonging to this database system will be owned by user \"%s\".\n" +"This user must also own the server process.\n\n" +msgstr "Файли цієї бази даних будуть належати користувачеві \"%s\".\n" +"Від імені цього користувача повинен запускатися процес сервера.\n\n" -#: initdb.c:3391 +#: initdb.c:3421 #, c-format msgid "Data page checksums are enabled.\n" msgstr "Контроль цілісності сторінок даних увімкнено.\n" -#: initdb.c:3393 +#: initdb.c:3423 #, c-format msgid "Data page checksums are disabled.\n" msgstr "Контроль цілісності сторінок даних вимкнено.\n" -#: initdb.c:3410 +#: initdb.c:3440 #, c-format -msgid "" -"\n" +msgid "\n" "Sync to disk skipped.\n" "The data directory might become corrupt if the operating system crashes.\n" -msgstr "" -"\n" +msgstr "\n" "Синхронізація з диском пропущена.\n" "Каталог з даними може бути пошкоджено під час аварійного завершення роботи операційної системи.\n" -#: initdb.c:3415 +#: initdb.c:3445 #, c-format msgid "enabling \"trust\" authentication for local connections" msgstr "увімкнення автентифікації \"довіри\" для локальних підключень" -#: initdb.c:3416 +#: initdb.c:3446 #, c-format msgid "You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb." msgstr "Ви можете змінити це, змінивши pg_hba.conf або скориставшись опцією -A, або --auth-local і --auth-host, наступного разу, коли ви запускаєте initdb." #. translator: This is a placeholder in a shell command. -#: initdb.c:3446 +#: initdb.c:3476 msgid "logfile" msgstr "logfile" -#: initdb.c:3448 +#: initdb.c:3478 #, c-format -msgid "" -"\n" -"Success. You can now start the database server using:\n" -"\n" -" %s\n" -"\n" -msgstr "" -"\n" -"Готово. Тепер ви можете запустити сервер бази даних командою:\n" -"\n" -" %s\n" -"\n" +msgid "\n" +"Success. You can now start the database server using:\n\n" +" %s\n\n" +msgstr "\n" +"Готово. Тепер ви можете запустити сервер бази даних командою:\n\n" +" %s\n\n" + diff --git a/src/bin/initdb/po/zh_CN.po b/src/bin/initdb/po/zh_CN.po index 9876679154c..5ffb5e045fe 100644 --- a/src/bin/initdb/po/zh_CN.po +++ b/src/bin/initdb/po/zh_CN.po @@ -4,111 +4,135 @@ # msgid "" msgstr "" -"Project-Id-Version: initdb (PostgreSQL) 14\n" +"Project-Id-Version: initdb (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2021-08-14 05:47+0000\n" -"PO-Revision-Date: 2021-08-15 18:00+0800\n" -"Last-Translator: Jie Zhang \n" +"POT-Creation-Date: 2024-05-24 03:30+0000\n" +"PO-Revision-Date: 2024-05-25 16:46+0800\n" +"Last-Translator: Dianjin Wang \n" "Language-Team: Chinese (Simplified) \n" "Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.5.7\n" +"X-Generator: Poedit 3.4.4\n" -#: ../../../src/common/logging.c:259 -#, c-format -msgid "fatal: " -msgstr "致命的: " - -#: ../../../src/common/logging.c:266 +#: ../../../src/common/logging.c:276 #, c-format msgid "error: " msgstr "错误: " -#: ../../../src/common/logging.c:273 +#: ../../../src/common/logging.c:283 #, c-format msgid "warning: " msgstr "警告: " -#: ../../common/exec.c:136 ../../common/exec.c:253 ../../common/exec.c:299 +#: ../../../src/common/logging.c:294 +#, c-format +msgid "detail: " +msgstr "详细信息: " + +#: ../../../src/common/logging.c:301 #, c-format -msgid "could not identify current directory: %m" -msgstr "无法确认当前目录: %m" +msgid "hint: " +msgstr "提示: " -#: ../../common/exec.c:155 +#: ../../common/exec.c:174 #, c-format -msgid "invalid binary \"%s\"" -msgstr "无效的二进制码 \"%s\"" +msgid "invalid binary \"%s\": %m" +msgstr "无效的二进制码 \"%s\": %m" -#: ../../common/exec.c:205 +#: ../../common/exec.c:217 #, c-format -msgid "could not read binary \"%s\"" -msgstr "无法读取二进制码 \"%s\"" +msgid "could not read binary \"%s\": %m" +msgstr "无法读取二进制码 \"%s\": %m" -#: ../../common/exec.c:213 +#: ../../common/exec.c:225 #, c-format msgid "could not find a \"%s\" to execute" msgstr "未能找到一个 \"%s\" 来执行" -#: ../../common/exec.c:269 ../../common/exec.c:308 +#: ../../common/exec.c:252 #, c-format -msgid "could not change directory to \"%s\": %m" -msgstr "无法跳转到目录 \"%s\" 中: %m" +msgid "could not resolve path \"%s\" to absolute form: %m" +msgstr "无法将路径 \"%s\" 解析为绝对路径格式: %m" -#: ../../common/exec.c:286 +#: ../../common/exec.c:382 initdb.c:695 #, c-format -msgid "could not read symbolic link \"%s\": %m" -msgstr "无法读取符号链接 \"%s\": %m" +msgid "could not execute command \"%s\": %m" +msgstr "无法执行命令 \"%s\": %m" -#: ../../common/exec.c:409 +#: ../../common/exec.c:394 +#, c-format +msgid "could not read from command \"%s\": %m" +msgstr "无法读取命令 \"%s\": %m" + +#: ../../common/exec.c:397 +#, c-format +msgid "no data was returned by command \"%s\"" +msgstr "命令 \"%s\" 未返回数据" + +#: ../../common/exec.c:424 +#, c-format msgid "%s() failed: %m" -msgstr "%s()失败: %m" +msgstr "%s() 失败: %m" -#: ../../common/exec.c:522 ../../common/exec.c:567 ../../common/exec.c:659 -#: initdb.c:331 +#: ../../common/exec.c:562 ../../common/exec.c:607 ../../common/exec.c:699 +#: initdb.c:353 #, c-format msgid "out of memory" msgstr "内存不足" #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 -#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:162 +#: ../../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:154 +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 #, c-format msgid "cannot duplicate null pointer (internal error)\n" msgstr "无法复制空指针 (内部错误)\n" -#: ../../common/file_utils.c:87 ../../common/file_utils.c:451 +#: ../../common/file_utils.c:70 ../../common/file_utils.c:347 +#: ../../common/file_utils.c:406 ../../common/file_utils.c:480 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "无法打开文件 \"%s\": %m" + +#: ../../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\" 的状态: %m" +msgstr "无法获取文件 \"%s\" 的状态: %m" -#: ../../common/file_utils.c:166 ../../common/pgfnames.c:48 +#: ../../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 +#: ../../common/pgfnames.c:48 ../../common/rmtree.c:63 #, c-format msgid "could not open directory \"%s\": %m" msgstr "无法打开目录 \"%s\": %m" -#: ../../common/file_utils.c:200 ../../common/pgfnames.c:69 +#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 +#: ../../common/pgfnames.c:69 ../../common/rmtree.c:106 #, c-format msgid "could not read directory \"%s\": %m" msgstr "无法读取目录 \"%s\": %m" -#: ../../common/file_utils.c:232 ../../common/file_utils.c:291 -#: ../../common/file_utils.c:365 -#, c-format -msgid "could not open file \"%s\": %m" -msgstr "无法打开文件 \"%s\": %m" - -#: ../../common/file_utils.c:303 ../../common/file_utils.c:373 +#: ../../common/file_utils.c:418 ../../common/file_utils.c:488 #, c-format msgid "could not fsync file \"%s\": %m" msgstr "无法 fsync 文件 \"%s\": %m" -#: ../../common/file_utils.c:383 +#: ../../common/file_utils.c:498 #, c-format msgid "could not rename file \"%s\" to \"%s\": %m" msgstr "无法把文件 \"%s\" 重命名为 \"%s\": %m" @@ -118,60 +142,50 @@ msgstr "无法把文件 \"%s\" 重命名为 \"%s\": %m" msgid "could not close directory \"%s\": %m" msgstr "无法关闭目录 \"%s\": %m" -#: ../../common/restricted_token.c:64 -#, c-format -msgid "could not load library \"%s\": error code %lu" -msgstr "无法加载库 \"%s\": 错误码 %lu" - -#: ../../common/restricted_token.c:73 -#, c-format -msgid "cannot create restricted tokens on this platform: error code %lu" -msgstr "无法为该平台创建受限制的令牌:错误码 %lu" - -#: ../../common/restricted_token.c:82 +#: ../../common/restricted_token.c:60 #, c-format msgid "could not open process token: error code %lu" -msgstr "无法打开进程令牌 (token): 错误码 %lu" +msgstr "无法打开进程令牌: 错误码 %lu" -#: ../../common/restricted_token.c:97 +#: ../../common/restricted_token.c:74 #, c-format msgid "could not allocate SIDs: error code %lu" -msgstr "无法分配SID: 错误码 %lu" +msgstr "无法分配 SID: 错误码 %lu" -#: ../../common/restricted_token.c:119 +#: ../../common/restricted_token.c:94 #, c-format msgid "could not create restricted token: error code %lu" -msgstr "无法创建受限令牌: 错误码为 %lu" +msgstr "无法创建受限令牌: 错误码 %lu" -#: ../../common/restricted_token.c:140 +#: ../../common/restricted_token.c:115 #, c-format msgid "could not start process for command \"%s\": error code %lu" -msgstr "无法为命令 \"%s\"创建进程: 错误码 %lu" +msgstr "无法为命令 \"%s\" 创建进程: 错误码 %lu" -#: ../../common/restricted_token.c:178 +#: ../../common/restricted_token.c:153 #, c-format msgid "could not re-execute with restricted token: error code %lu" msgstr "无法使用受限令牌再次执行: 错误码 %lu" -#: ../../common/restricted_token.c:194 +#: ../../common/restricted_token.c:168 #, c-format msgid "could not get exit code from subprocess: error code %lu" -msgstr "无法从子进程得到退出码: 错误码 %lu" +msgstr "无法从子进程获取退出码: 错误码 %lu" -#: ../../common/rmtree.c:79 +#: ../../common/rmtree.c:97 #, c-format -msgid "could not stat file or directory \"%s\": %m" -msgstr "无法统计文件或目录\"%s\": %m" +msgid "could not remove file \"%s\": %m" +msgstr "无法删除文件 \"%s\": %m" -#: ../../common/rmtree.c:101 ../../common/rmtree.c:113 +#: ../../common/rmtree.c:124 #, c-format -msgid "could not remove file or directory \"%s\": %m" -msgstr "无法删除文件或目录 \"%s\": %m" +msgid "could not remove directory \"%s\": %m" +msgstr "无法删除目录 \"%s\": %m" #: ../../common/username.c:43 #, c-format msgid "could not look up effective user ID %ld: %s" -msgstr "无法找到有效的用户ID %ld: %s" +msgstr "无法找到有效的用户 ID %ld: %s" #: ../../common/username.c:45 msgid "user does not exist" @@ -180,302 +194,350 @@ msgstr "用户不存在" #: ../../common/username.c:60 #, c-format msgid "user name lookup failure: error code %lu" -msgstr "用户名查找失败:错误代码%lu" +msgstr "用户名查找失败: 错误码 %lu" -#: ../../common/wait_error.c:45 +#: ../../common/wait_error.c:55 #, c-format msgid "command not executable" -msgstr "无法执行命令" +msgstr "命令无法执行" -#: ../../common/wait_error.c:49 +#: ../../common/wait_error.c:59 #, c-format msgid "command not found" msgstr "命令没有找到" -#: ../../common/wait_error.c:54 +#: ../../common/wait_error.c:64 #, c-format msgid "child process exited with exit code %d" msgstr "子进程已退出, 退出码为 %d" -#: ../../common/wait_error.c:62 +#: ../../common/wait_error.c:72 #, c-format msgid "child process was terminated by exception 0x%X" -msgstr "子进程被例外(exception) 0x%X 终止" +msgstr "子进程被异常 0x%X 终止" -#: ../../common/wait_error.c:66 +#: ../../common/wait_error.c:76 #, c-format msgid "child process was terminated by signal %d: %s" msgstr "子进程被信号 %d 终止: %s" -#: ../../common/wait_error.c:72 +#: ../../common/wait_error.c:82 #, c-format msgid "child process exited with unrecognized status %d" msgstr "子进程已退出, 未知状态 %d" -#: ../../port/dirmod.c:221 +#: ../../fe_utils/option_utils.c:69 +#, c-format +msgid "invalid value \"%s\" for option %s" +msgstr "\"%s\" 是选项 %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" + +#: ../../port/dirmod.c:287 #, c-format msgid "could not set junction for \"%s\": %s\n" -msgstr "无法为 \"%s\"设置连接: %s\n" +msgstr "无法为 \"%s\" 设置连接: %s\n" -#: ../../port/dirmod.c:298 +#: ../../port/dirmod.c:367 #, c-format msgid "could not get junction for \"%s\": %s\n" -msgstr "无法为\"%s\"得到连接: %s\n" +msgstr "无法为 \"%s\" 获取连接: %s\n" -#: initdb.c:464 initdb.c:1496 +#: initdb.c:627 initdb.c:1619 #, c-format msgid "could not open file \"%s\" for reading: %m" -msgstr "为了读取, 无法打开文件 \"%s\": %m" +msgstr "无法打开文件 \"%s\" 进行读取: %m" -#: initdb.c:508 initdb.c:830 initdb.c:856 +#: initdb.c:671 initdb.c:975 initdb.c:995 #, c-format msgid "could not open file \"%s\" for writing: %m" -msgstr "为了写入, 无法打开文件 \"%s\": %m" +msgstr "无法打开文件 \"%s\" 进行写入: %m" -#: initdb.c:515 initdb.c:522 initdb.c:836 initdb.c:861 +#: initdb.c:675 initdb.c:978 initdb.c:997 #, c-format msgid "could not write file \"%s\": %m" msgstr "无法写入文件 \"%s\": %m" -#: initdb.c:540 +#: initdb.c:679 #, c-format -msgid "could not execute command \"%s\": %m" -msgstr "无法执行命令 \"%s\": %m" +msgid "could not close file \"%s\": %m" +msgstr "无法关闭文件 \"%s\": %m" -#: initdb.c:558 +#: initdb.c:713 #, c-format msgid "removing data directory \"%s\"" -msgstr "删除数据目录 \"%s\"" +msgstr "正在删除数据目录 \"%s\"" -#: initdb.c:560 +#: initdb.c:715 #, c-format msgid "failed to remove data directory" msgstr "删除数据目录失败" -#: initdb.c:564 +#: initdb.c:719 #, c-format msgid "removing contents of data directory \"%s\"" -msgstr "删除数据目录 \"%s\" 的内容" +msgstr "正在删除数据目录 \"%s\" 的内容" -#: initdb.c:567 +#: initdb.c:722 #, c-format msgid "failed to remove contents of data directory" msgstr "删除数据目录内容失败" -#: initdb.c:572 +#: initdb.c:727 #, c-format msgid "removing WAL directory \"%s\"" -msgstr "正在删除WAL目录\"%s\"" +msgstr "正在删除 WAL 目录 \"%s\"" -#: initdb.c:574 +#: initdb.c:729 #, c-format msgid "failed to remove WAL directory" -msgstr "删除WAL目录失败" +msgstr "删除 WAL 目录失败" -#: initdb.c:578 +#: initdb.c:733 #, c-format msgid "removing contents of WAL directory \"%s\"" -msgstr "正在删除WAL目录 \"%s\" 的内容" +msgstr "正在删除 WAL 目录 \"%s\" 的内容" -#: initdb.c:580 +#: initdb.c:735 #, c-format msgid "failed to remove contents of WAL directory" -msgstr "删除WAL目录内容失败" +msgstr "删除 WAL 目录内容失败" -#: initdb.c:587 +#: initdb.c:742 #, c-format msgid "data directory \"%s\" not removed at user's request" -msgstr "在用户的要求下数据库目录 \"%s\" 不被删除" +msgstr "依照用户要求数据库目录 \"%s\" 不被删除" -#: initdb.c:591 +#: initdb.c:746 #, c-format msgid "WAL directory \"%s\" not removed at user's request" -msgstr "在用户的要求下WAL目录 \"%s\" 不被删除" +msgstr "依照用户要求 WAL 目录 \"%s\" 不被删除" -#: initdb.c:609 +#: initdb.c:764 #, c-format msgid "cannot be run as root" -msgstr "不能使用root用户运行" +msgstr "无法以 root 身份运行" -#: initdb.c:611 +#: initdb.c:765 #, c-format -msgid "" -"Please log in (using, e.g., \"su\") as the (unprivileged) user that will\n" -"own the server process.\n" -msgstr "" -"请以服务器进程所有者的用户 (无特权) 身份\n" -"登陆 (使用, e.g., \"su\").\n" +msgid "Please log in (using, e.g., \"su\") as the (unprivileged) user that will own the server process." +msgstr "请以拥有服务器进程的 (无特权) 用户身份登录 (例如使用 \"su\")." -#: initdb.c:644 +#: initdb.c:797 #, c-format msgid "\"%s\" is not a valid server encoding name" -msgstr "\"%s\" 不是一个有效的服务器编码名字" +msgstr "\"%s\" 不是一个有效的服务器编码名称" -#: initdb.c:789 +#: initdb.c:941 #, c-format msgid "file \"%s\" does not exist" msgstr "文件 \"%s\" 不存在" -#: initdb.c:791 initdb.c:798 initdb.c:807 +#: initdb.c:942 initdb.c:947 initdb.c:954 #, c-format -msgid "" -"This might mean you have a corrupted installation or identified\n" -"the wrong directory with the invocation option -L.\n" -msgstr "" -"这意味着您的安装发生了错误或\n" -"使用 -L 选项指定了错误的路径.\n" +msgid "This might mean you have a corrupted installation or identified the wrong directory with the invocation option -L." +msgstr "这意味着你的安装发生了错误或使用 -L 选项指定了错误的目录." -#: initdb.c:796 +#: initdb.c:946 #, c-format msgid "could not access file \"%s\": %m" msgstr "无法访问文件 \"%s\": %m" -#: initdb.c:805 +#: initdb.c:953 #, c-format msgid "file \"%s\" is not a regular file" msgstr "文件 \"%s\" 不是常规文件" -#: initdb.c:950 +#: initdb.c:1086 #, c-format msgid "selecting dynamic shared memory implementation ... " -msgstr "选择动态共享内存实现 ......" +msgstr "正在选择动态共享内存实现 ... " -#: initdb.c:959 +#: initdb.c:1095 #, c-format -msgid "selecting default max_connections ... " -msgstr "选择默认最大联接数 (max_connections) ... " +msgid "selecting default \"max_connections\" ... " +msgstr "正在选择默认最大连接数 (max_connections) ... " -#: initdb.c:990 +#: initdb.c:1115 #, c-format -msgid "selecting default shared_buffers ... " -msgstr "选择默认共享缓冲区大小 (shared_buffers) ... " +msgid "selecting default \"shared_buffers\" ... " +msgstr "正在选择默认共享缓冲区 (shared_buffers) ... " -#: initdb.c:1024 +#: initdb.c:1138 +#, c-format msgid "selecting default time zone ... " -msgstr "选择默认时区 ... " +msgstr "正在选择默认时区 ... " -#: initdb.c:1058 +#: initdb.c:1217 msgid "creating configuration files ... " -msgstr "创建配置文件 ... " +msgstr "正在创建配置文件 ... " -#: initdb.c:1217 initdb.c:1236 initdb.c:1322 initdb.c:1337 +#: initdb.c:1370 initdb.c:1384 initdb.c:1451 initdb.c:1462 #, c-format msgid "could not change permissions of \"%s\": %m" -msgstr "无法改变\"%s\"的权限: %m" +msgstr "无法改变 \"%s\" 的权限: %m" -#: initdb.c:1359 +#: initdb.c:1481 #, c-format msgid "running bootstrap script ... " -msgstr "正在运行自举脚本 ..." +msgstr "正在运行启动脚本 ... " -#: initdb.c:1371 +#: initdb.c:1493 #, c-format msgid "input file \"%s\" does not belong to PostgreSQL %s" -msgstr "输入文件 \"%s\" 不属于PostgreSQL %s" +msgstr "输入文件 \"%s\" 不属于 PostgreSQL %s" -#: initdb.c:1374 +#: initdb.c:1495 #, c-format -msgid "Check your installation or specify the correct path using the option -L.\n" -msgstr "检查你的安装或使用 -L 选项指定正确的路径.\n" +msgid "Specify the correct path using the option -L." +msgstr "使用 -L 选项指定正确的路径." -#: initdb.c:1473 +#: initdb.c:1597 msgid "Enter new superuser password: " -msgstr "输入新的超级用户口令: " +msgstr "输入新的超级用户密码: " -#: initdb.c:1474 +#: initdb.c:1598 msgid "Enter it again: " msgstr "再输入一遍: " -#: initdb.c:1477 +#: initdb.c:1601 #, c-format msgid "Passwords didn't match.\n" -msgstr "口令不匹配.\n" +msgstr "密码不匹配.\n" -#: initdb.c:1504 +#: initdb.c:1625 #, c-format msgid "could not read password from file \"%s\": %m" -msgstr "无法从文件 \"%s\" 读取口令: %m" +msgstr "无法从文件 \"%s\" 读取密码: %m" -#: initdb.c:1507 +#: initdb.c:1628 #, c-format msgid "password file \"%s\" is empty" -msgstr "口令文件\"%s\"为空" +msgstr "密码文件 \"%s\" 为空" -#: initdb.c:1998 +#: initdb.c:2040 #, c-format msgid "caught signal\n" msgstr "捕获信号\n" -#: initdb.c:2004 +#: initdb.c:2046 #, c-format msgid "could not write to child process: %s\n" -msgstr "无法写到子进程: %s\n" +msgstr "无法写入子进程: %s\n" -#: initdb.c:2012 +#: initdb.c:2054 #, c-format msgid "ok\n" msgstr "成功\n" -#: initdb.c:2102 +#: initdb.c:2143 #, c-format msgid "setlocale() failed" -msgstr "setlocale()调用失败" +msgstr "setlocale() 调用失败" -#: initdb.c:2123 +#: initdb.c:2161 #, c-format msgid "failed to restore old locale \"%s\"" -msgstr "还原旧区域\"%s\"失败" +msgstr "恢复旧区域设置 \"%s\" 失败" -#: initdb.c:2132 +#: initdb.c:2169 #, c-format msgid "invalid locale name \"%s\"" -msgstr "无效的语言环境名称 \"%s\"" +msgstr "无效的区域设置名称 \"%s\"" -#: initdb.c:2143 +#: initdb.c:2170 +#, c-format +msgid "If the locale name is specific to ICU, use --icu-locale." +msgstr "如果将区域设置名称指定为 ICU, 请使用 --icu-locale." + +#: initdb.c:2183 #, c-format msgid "invalid locale settings; check LANG and LC_* environment variables" -msgstr "无效的本地化设置; 请检查环境变量LANG和LC_*的值" +msgstr "无效的区域设置; 请检查环境变量 LANG 和 LC_* 的值" -#: initdb.c:2170 +#: initdb.c:2209 initdb.c:2233 #, c-format msgid "encoding mismatch" msgstr "编码不匹配" -#: initdb.c:2172 +#: initdb.c:2210 #, c-format -msgid "" -"The encoding you selected (%s) and the encoding that the\n" -"selected locale uses (%s) do not match. This would lead to\n" -"misbehavior in various character string processing functions.\n" -"Rerun %s and either do not specify an encoding explicitly,\n" -"or choose a matching combination.\n" -msgstr "" -"您选择的编码 (%s) 和所选择的语言环境使用的编码 (%s) 不匹配的.\n" -"这样将导致处理不同字符串的函数时产生错误.\n" -"要修复此问题, 重新运行 %s 并且不要明确指定编码, 或者先选择一个匹配\n" -"组合类型.\n" -"\n" +msgid "The encoding you selected (%s) and the encoding that the selected locale uses (%s) do not match. This would lead to misbehavior in various character string processing functions." +msgstr "你选择的编码 (%s) 和所选择的区域设置使用的编码 (%s) 不匹配. 这将导致不同字符串处理函数时产生错误." + +#: initdb.c:2215 initdb.c:2236 +#, c-format +msgid "Rerun %s and either do not specify an encoding explicitly, or choose a matching combination." +msgstr "请重新运行 %s, 且不要显示指定编码, 或选择一个匹配的组合." + +#: initdb.c:2234 +#, c-format +msgid "The encoding you selected (%s) is not supported with the ICU provider." +msgstr "你所选择的编码 (%s) 不受 ICU 支持程序支持." + +#: initdb.c:2285 +#, c-format +msgid "could not convert locale name \"%s\" to language tag: %s" +msgstr "无法将区域设置名称 \"%s\" 转换为语言标签: %s" + +#: initdb.c:2291 initdb.c:2343 initdb.c:2435 +#, c-format +msgid "ICU is not supported in this build" +msgstr "该版本不支持 ICU" + +#: initdb.c:2314 +#, c-format +msgid "could not get language from locale \"%s\": %s" +msgstr "无法从区域设置 \"%s\" 获取语言: %s" + +#: initdb.c:2340 +#, c-format +msgid "locale \"%s\" has unknown language \"%s\"" +msgstr "区域设置 \"%s\" 拥有未知的语言 \"%s\"" + +#: initdb.c:2401 +#, c-format +msgid "locale must be specified if provider is %s" +msgstr "如果支持程序为 %s 必须指定区域设置" + +#: initdb.c:2412 +#, c-format +msgid "invalid locale name \"%s\" for builtin provider" +msgstr "\"%s\" 是内置支持程序的无效区域设置名称" + +#: initdb.c:2423 +#, c-format +msgid "Using language tag \"%s\" for ICU locale \"%s\".\n" +msgstr "使用语言标签 \"%s\" 用于 ICU 区域设置 \"%s\".\n" -#: initdb.c:2244 +#: initdb.c:2446 #, c-format msgid "" "%s initializes a PostgreSQL database cluster.\n" "\n" msgstr "" -"%s 初始化一个 PostgreSQL 数据库簇.\n" +"%s 初始化一个 PostgreSQL 数据库集簇.\n" "\n" -#: initdb.c:2245 +#: initdb.c:2447 #, c-format msgid "Usage:\n" msgstr "使用方法:\n" -#: initdb.c:2246 +#: initdb.c:2448 #, c-format msgid " %s [OPTION]... [DATADIR]\n" -msgstr " %s [选项]... [DATADIR]\n" +msgstr " %s [选项]... [数据目录]\n" -#: initdb.c:2247 +#: initdb.c:2449 #, c-format msgid "" "\n" @@ -484,47 +546,57 @@ msgstr "" "\n" "选项:\n" -#: initdb.c:2248 +#: initdb.c:2450 #, c-format msgid " -A, --auth=METHOD default authentication method for local connections\n" msgstr " -A, --auth=METHOD 本地连接的默认认证方法\n" -#: initdb.c:2249 +#: initdb.c:2451 #, c-format msgid " --auth-host=METHOD default authentication method for local TCP/IP connections\n" -msgstr " --auth-host=METHOD 本地的TCP/IP连接的默认认证方法\n" +msgstr " --auth-host=METHOD 本地的 TCP/IP 连接的默认认证方法\n" -#: initdb.c:2250 +#: initdb.c:2452 #, c-format msgid " --auth-local=METHOD default authentication method for local-socket connections\n" -msgstr " --auth-local=METHOD 本地socket连接的默认认证方法\n" +msgstr " --auth-local=METHOD 本地 socket 连接的默认认证方法\n" -#: initdb.c:2251 +#: initdb.c:2453 #, c-format msgid " [-D, --pgdata=]DATADIR location for this database cluster\n" -msgstr " -D, --pgdata=DATADIR 当前数据库簇的位置\n" +msgstr " [-D, --pgdata=]DATADIR 当前数据库集簇的位置\n" -#: initdb.c:2252 +#: initdb.c:2454 #, c-format msgid " -E, --encoding=ENCODING set default encoding for new databases\n" msgstr " -E, --encoding=ENCODING 为新数据库设置默认编码\n" -#: initdb.c:2253 +#: initdb.c:2455 #, c-format msgid " -g, --allow-group-access allow group read/execute on data directory\n" msgstr " -g, --allow-group-access 允许组对数据目录进行读/执行\n" -#: initdb.c:2254 +#: initdb.c:2456 +#, c-format +msgid " --icu-locale=LOCALE set ICU locale ID for new databases\n" +msgstr " --icu-locale=LOCALE 为新数据库设置 ICU 区域环境 ID\n" + +#: initdb.c:2457 +#, c-format +msgid " --icu-rules=RULES set additional ICU collation rules for new databases\n" +msgstr " --icu-rules=RULES 为新数据库设置额外的 ICU 排序规则\n" + +#: initdb.c:2458 #, c-format msgid " -k, --data-checksums use data page checksums\n" msgstr " -k, --data-checksums 使用数据页产生效验和\n" -#: initdb.c:2255 +#: initdb.c:2459 #, c-format msgid " --locale=LOCALE set default locale for new databases\n" -msgstr " --locale=LOCALE 为新数据库设置默认语言环境\n" +msgstr " --locale=LOCALE 为新数据库设置默认区域环境\n" -#: initdb.c:2256 +#: initdb.c:2460 #, c-format msgid "" " --lc-collate=, --lc-ctype=, --lc-messages=LOCALE\n" @@ -534,97 +606,126 @@ msgid "" msgstr "" " --lc-collate, --lc-ctype, --lc-messages=LOCALE\n" " --lc-monetary, --lc-numeric, --lc-time=LOCALE\n" -" 为新的数据库簇在各自的目录中分别\n" -" 设定缺省语言环境(默认使用环境变量)\n" +" 为新的数据库集簇在各自的目录中分别\n" +" 设置默认区域环境(默认使用环境变量)\n" -#: initdb.c:2260 +#: initdb.c:2464 #, c-format msgid " --no-locale equivalent to --locale=C\n" msgstr " --no-locale 等同于 --locale=C\n" -#: initdb.c:2261 +#: initdb.c:2465 +#, c-format +msgid "" +" --builtin-locale=LOCALE\n" +" set builtin locale name for new databases\n" +msgstr "" +" —builtin-locale=LOCALE\n" +" 为新数据库设置内置区域环境名称\n" + +#: initdb.c:2467 +#, c-format +msgid "" +" --locale-provider={builtin|libc|icu}\n" +" set default locale provider for new databases\n" +msgstr "" +" —locale-provider={builtin|libc|icu}\n" +" 为新数据库设置默认的区域环境支持程序\n" + +#: initdb.c:2469 #, c-format msgid " --pwfile=FILE read password for the new superuser from file\n" -msgstr " --pwfile=FILE 对于新的超级用户从文件读取口令\n" +msgstr " --pwfile=FILE 为新的超级用户从文件读取密码\n" -#: initdb.c:2262 +#: initdb.c:2470 #, c-format msgid "" " -T, --text-search-config=CFG\n" " default text search configuration\n" msgstr "" " -T, --text-search-config=CFG\n" -" 缺省的文本搜索配置\n" +" 默认的文本搜索配置\n" -#: initdb.c:2264 +#: initdb.c:2472 #, c-format msgid " -U, --username=NAME database superuser name\n" -msgstr " -U, --username=NAME 数据库超级用户名\n" +msgstr " -U, --username=NAME 数据库超级用户名称\n" -#: initdb.c:2265 +#: initdb.c:2473 #, c-format msgid " -W, --pwprompt prompt for a password for the new superuser\n" -msgstr " -W, --pwprompt 对于新的超级用户提示输入口令\n" +msgstr " -W, --pwprompt 对于新的超级用户提示输入密码\n" -#: initdb.c:2266 +#: initdb.c:2474 #, c-format msgid " -X, --waldir=WALDIR location for the write-ahead log directory\n" msgstr " -X, --waldir=WALDIR 预写日志目录的位置\n" -#: initdb.c:2267 +#: initdb.c:2475 #, c-format msgid " --wal-segsize=SIZE size of WAL segments, in megabytes\n" -msgstr " --wal-segsize=SIZE WAL段的大小(兆字节)\n" +msgstr " --wal-segsize=SIZE WAL 段的大小(兆字节)\n" -#: initdb.c:2268 +#: initdb.c:2476 #, c-format msgid "" "\n" "Less commonly used options:\n" msgstr "" "\n" -"非普通使用选项:\n" +"不常用选项:\n" -#: initdb.c:2269 +#: initdb.c:2477 +#, c-format +msgid " -c, --set NAME=VALUE override default setting for server parameter\n" +msgstr " -c, --set NAME=VALUE 覆盖默认的服务器参数设置\n" + +#: initdb.c:2478 #, c-format msgid " -d, --debug generate lots of debugging output\n" -msgstr " -d, --debug 产生大量的除错信息\n" +msgstr " -d, --debug 产生大量的调试信息\n" -#: initdb.c:2270 +#: initdb.c:2479 #, c-format msgid " --discard-caches set debug_discard_caches=1\n" -msgstr " --discard-caches 设置debug_discard_caches=1\n" +msgstr " --discard-caches 设置 debug_discard_caches=1\n" -#: initdb.c:2271 +#: initdb.c:2480 #, c-format msgid " -L DIRECTORY where to find the input files\n" msgstr " -L DIRECTORY 输入文件的位置\n" -#: initdb.c:2272 +#: initdb.c:2481 #, c-format msgid " -n, --no-clean do not clean up after errors\n" msgstr " -n, --no-clean 出错后不清理\n" -#: initdb.c:2273 +#: initdb.c:2482 #, c-format msgid " -N, --no-sync do not wait for changes to be written safely to disk\n" -msgstr " -N, --no-sync 不用等待变化安全写入磁盘\n" +msgstr " -N, --no-sync 不用等待变更安全写入磁盘\n" -#: initdb.c:2274 +#: initdb.c:2483 +#, c-format msgid " --no-instructions do not print instructions for next steps\n" msgstr " --no-instructions 不要打印后续步骤的说明\n" -#: initdb.c:2275 +#: initdb.c:2484 #, c-format msgid " -s, --show show internal settings\n" msgstr " -s, --show 显示内部设置\n" -#: initdb.c:2276 +#: initdb.c:2485 #, c-format -msgid " -S, --sync-only only sync data directory\n" -msgstr " -S, --sync-only 只同步数据目录\n" +msgid " --sync-method=METHOD set method for syncing files to disk\n" +msgstr " --sync-method=METHOD 设置同步文件到磁盘的方法\n" -#: initdb.c:2277 +#: initdb.c:2486 +#, c-format +msgid " -S, --sync-only only sync database files to disk, then exit\n" +msgstr " -S, --sync-only 只同步数据库文件到磁盘, 然后退出\n" + +#: initdb.c:2487 #, c-format msgid "" "\n" @@ -633,17 +734,17 @@ msgstr "" "\n" "其它选项:\n" -#: initdb.c:2278 +#: initdb.c:2488 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version 输出版本信息, 然后退出\n" -#: initdb.c:2279 +#: initdb.c:2489 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help 显示此帮助, 然后退出\n" -#: initdb.c:2280 +#: initdb.c:2490 #, c-format msgid "" "\n" @@ -652,117 +753,115 @@ msgid "" msgstr "" "\n" "如果没有指定数据目录, 将使用环境变量 PGDATA\n" +"\n" -#: initdb.c:2282 +#: initdb.c:2492 #, c-format msgid "" "\n" "Report bugs to <%s>.\n" msgstr "" "\n" -"臭虫报告至<%s>.\n" +"报告缺陷: <%s>.\n" -#: initdb.c:2283 +#: initdb.c:2493 #, c-format msgid "%s home page: <%s>\n" msgstr "%s 主页: <%s>\n" -#: initdb.c:2311 +#: initdb.c:2517 #, c-format msgid "invalid authentication method \"%s\" for \"%s\" connections" -msgstr "无效认证方法 \"%s\" 用于 \"%s\" 连接" +msgstr "\"%s\" 是用于 \"%s\" 连接的无效认证方法" -#: initdb.c:2327 +#: initdb.c:2531 +#, c-format msgid "must specify a password for the superuser to enable password authentication" -msgstr "为了启动密码认证, 你需要为超级用户指定一个口令" +msgstr "为了启用密码认证, 必须为超级用户指定一个密码" -#: initdb.c:2348 +#: initdb.c:2550 #, c-format msgid "no data directory specified" msgstr "没有指定数据目录" -#: initdb.c:2350 +#: initdb.c:2551 #, c-format -msgid "" -"You must identify the directory where the data for this database system\n" -"will reside. Do this with either the invocation option -D or the\n" -"environment variable PGDATA.\n" -msgstr "" -"您必须确认此数据库系统的数据所在目录\n" -"存在. 使用 -D 选项或者\n" -"环境变量 PGDATA.\n" +msgid "You must identify the directory where the data for this database system will reside. Do this with either the invocation option -D or the environment variable PGDATA." +msgstr "你必须确认此数据库系统的数据所在目录存在. 可使用 -D 选项或者环境变量 PGDATA 操作." -#: initdb.c:2368 +#: initdb.c:2568 +#, c-format msgid "could not set environment" msgstr "无法设置环境" -#: initdb.c:2388 +#: initdb.c:2586 #, c-format -msgid "" -"The program \"%s\" is needed by %s but was not found in the\n" -"same directory as \"%s\".\n" -"Check your installation." -msgstr "" -"%2$s需要程序\"%1$s\"\n" -"但在与\"%3$s\"相同的目录中找不到该程序.\n" -"检查您的安装." +msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"" +msgstr "%2$s 需要程序 \"%1$s\", 但在与 \"%3$s\" 相同的目录中找不到该程序" -#: initdb.c:2393 +#: initdb.c:2589 #, c-format -msgid "" -"The program \"%s\" was found by \"%s\"\n" -"but was not the same version as %s.\n" -"Check your installation." -msgstr "" -"程序\"%s\"是由\"%s\"找到的\n" -"但与%s的版本不同.\n" -"检查您的安装." +msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" +msgstr "程序 \"%s\" 已由 \"%s\" 找到, 但与 %s 版本不一致" -#: initdb.c:2412 +#: initdb.c:2604 #, c-format msgid "input file location must be an absolute path" msgstr "输入文件位置必须为绝对路径" -#: initdb.c:2429 +#: initdb.c:2621 #, c-format msgid "The database cluster will be initialized with locale \"%s\".\n" -msgstr "数据库簇将使用本地化语言 \"%s\"进行初始化.\n" +msgstr "数据库集簇将以区域环境设置 \"%s\" 进行初始化.\n" + +#: initdb.c:2624 +#, c-format +msgid "The database cluster will be initialized with this locale configuration:\n" +msgstr "数据库集簇将以该区域环境配置进行初始化:\n" + +#: initdb.c:2625 +#, c-format +msgid " locale provider: %s\n" +msgstr " 区域环境支持程序: %s\n" + +#: initdb.c:2627 +#, c-format +msgid " default collation: %s\n" +msgstr " 默认排序: %s\n" -#: initdb.c:2432 +#: initdb.c:2628 #, c-format msgid "" -"The database cluster will be initialized with locales\n" -" COLLATE: %s\n" -" CTYPE: %s\n" -" MESSAGES: %s\n" -" MONETARY: %s\n" -" NUMERIC: %s\n" -" TIME: %s\n" +" LC_COLLATE: %s\n" +" LC_CTYPE: %s\n" +" LC_MESSAGES: %s\n" +" LC_MONETARY: %s\n" +" LC_NUMERIC: %s\n" +" LC_TIME: %s\n" msgstr "" -"数据库簇将带有一下 locales 初始化\n" -" COLLATE: %s\n" -" CTYPE: %s\n" -" MESSAGES: %s\n" -" MONETARY: %s\n" -" NUMERIC: %s\n" -" TIME: %s\n" +" LC_COLLATE: %s\n" +" LC_CTYPE: %s\n" +" LC_MESSAGES: %s\n" +" LC_MONETARY: %s\n" +" LC_NUMERIC: %s\n" +" LC_TIME: %s\n" -#: initdb.c:2456 +#: initdb.c:2658 #, c-format msgid "could not find suitable encoding for locale \"%s\"" -msgstr "无法为locale(本地化语言)\"%s\"找到合适的编码" +msgstr "无法为区域环境 \"%s\" 找到合适的编码" -#: initdb.c:2458 +#: initdb.c:2660 #, c-format -msgid "Rerun %s with the -E option.\n" -msgstr "带 -E 选项重新运行 %s.\n" +msgid "Rerun %s with the -E option." +msgstr "请带 -E 选项重新运行 %s." -#: initdb.c:2459 initdb.c:3099 initdb.c:3120 +#: initdb.c:2661 initdb.c:3204 initdb.c:3324 initdb.c:3344 #, c-format -msgid "Try \"%s --help\" for more information.\n" -msgstr "请用 \"%s --help\" 获取更多的信息.\n" +msgid "Try \"%s --help\" for more information." +msgstr "请用 \"%s --help\" 获取更多信息." -#: initdb.c:2472 +#: initdb.c:2673 #, c-format msgid "" "Encoding \"%s\" implied by locale is not allowed as a server-side encoding.\n" @@ -771,173 +870,179 @@ msgstr "" "本地化隐含的编码 \"%s\" 不允许作为服务器端的编码.\n" "默认的数据库编码将采用 \"%s\" 作为代替.\n" -#: initdb.c:2477 +#: initdb.c:2678 #, c-format msgid "locale \"%s\" requires unsupported encoding \"%s\"" -msgstr "本地化语言环境 \"%s\"要求使用不支持的编码\"%s\"" +msgstr "区域环境 \"%s\" 要求使用不支持的编码 \"%s\"" -#: initdb.c:2480 +#: initdb.c:2680 #, c-format -msgid "" -"Encoding \"%s\" is not allowed as a server-side encoding.\n" -"Rerun %s with a different locale selection.\n" -msgstr "" -"不允许将编码\"%s\"作为服务器端编码.\n" -"使用一个不同的本地化语言环境重新运行%s.\n" +msgid "Encoding \"%s\" is not allowed as a server-side encoding." +msgstr "编码 \"%s\" 不允许作为服务器端编码." -#: initdb.c:2489 +#: initdb.c:2682 +#, c-format +msgid "Rerun %s with a different locale selection." +msgstr "请使用一个不同的区域环境选项重新运行 %s." + +#: initdb.c:2690 #, c-format msgid "The default database encoding has accordingly been set to \"%s\".\n" msgstr "默认的数据库编码已经相应的设置为 \"%s\".\n" -#: initdb.c:2555 +#: initdb.c:2704 +#, c-format +msgid "builtin provider locale \"%s\" requires encoding \"%s\"" +msgstr "内置的支持程序区域环境 \"%s\" 要求编码 \"%s\"" + +#: initdb.c:2766 +#, c-format msgid "could not find suitable text search configuration for locale \"%s\"" -msgstr "无法为本地化语言环境\"%s\"找到合适的文本搜索配置" +msgstr "无法为区域环境 \"%s\" 找到合适的文本搜索配置" -#: initdb.c:2566 +#: initdb.c:2777 +#, c-format msgid "suitable text search configuration for locale \"%s\" is unknown" -msgstr "对于本地化语言环境\"%s\"合适的文本搜索配置未知" +msgstr "区域环境 \"%s\" 的合适文本搜索配置未知" -#: initdb.c:2571 +#: initdb.c:2782 +#, c-format msgid "specified text search configuration \"%s\" might not match locale \"%s\"" -msgstr "所指定的文本搜索配置\"%s\"可能与本地语言环境\"%s\"不匹配" +msgstr "所指定的文本搜索配置 \"%s\" 可能与区域环境 \"%s\" 不匹配" -#: initdb.c:2576 +#: initdb.c:2787 #, c-format msgid "The default text search configuration will be set to \"%s\".\n" -msgstr "缺省的文本搜索配置将会被设置到\"%s\"\n" +msgstr "默认的文本搜索配置将被设为 \"%s\".\n" -#: initdb.c:2620 initdb.c:2702 +#: initdb.c:2830 initdb.c:2901 #, c-format msgid "creating directory %s ... " -msgstr "创建目录 %s ... " +msgstr "正在创建目录 %s ... " -#: initdb.c:2626 initdb.c:2708 initdb.c:2773 initdb.c:2835 +#: initdb.c:2835 initdb.c:2906 initdb.c:2954 initdb.c:3011 #, c-format msgid "could not create directory \"%s\": %m" msgstr "无法创建目录 \"%s\": %m" -#: initdb.c:2637 initdb.c:2720 +#: initdb.c:2844 initdb.c:2916 #, c-format msgid "fixing permissions on existing directory %s ... " -msgstr "修复已存在目录 %s 的权限 ... " +msgstr "正在修复已存在目录 %s 的权限 ... " -#: initdb.c:2643 initdb.c:2726 +#: initdb.c:2849 initdb.c:2921 #, c-format msgid "could not change permissions of directory \"%s\": %m" msgstr "无法改变目录 \"%s\" 的权限: %m" -#: initdb.c:2657 initdb.c:2740 +#: initdb.c:2861 initdb.c:2933 #, c-format msgid "directory \"%s\" exists but is not empty" -msgstr "目录\"%s\"已存在,但不是空的" +msgstr "目录 \"%s\" 已存在,但不为空" -#: initdb.c:2662 +#: initdb.c:2865 #, c-format -msgid "" -"If you want to create a new database system, either remove or empty\n" -"the directory \"%s\" or run %s\n" -"with an argument other than \"%s\".\n" -msgstr "" -"如果您想创建一个新的数据库系统, 请删除或清空\n" -"目录 \"%s\" 或者运行带参数的 %s\n" -"而不是 \"%s\".\n" +msgid "If you want to create a new database system, either remove or empty the directory \"%s\" or run %s with an argument other than \"%s\"." +msgstr "如果你想创建一个新的数据库系统, 请删除或清空目录 \"%s\" 或者运行带有参数的 %s 而不是 \"%s\"." -#: initdb.c:2670 initdb.c:2752 initdb.c:3135 +#: initdb.c:2873 initdb.c:2943 initdb.c:3369 #, c-format msgid "could not access directory \"%s\": %m" msgstr "无法访问目录 \"%s\": %m" -#: initdb.c:2693 +#: initdb.c:2894 #, c-format msgid "WAL directory location must be an absolute path" -msgstr "WAL目录的位置必须为绝对路径" +msgstr "WAL 目录位置必须为绝对路径" -#: initdb.c:2745 +#: initdb.c:2937 #, c-format -msgid "" -"If you want to store the WAL there, either remove or empty the directory\n" -"\"%s\".\n" -msgstr "如果您要存储WAL日志,需要删除或者清空目录\"%s\".\n" +msgid "If you want to store the WAL there, either remove or empty the directory \"%s\"." +msgstr "如果你要存储 WAL 日志,需要删除或者清空目录 \"%s\"." -#: initdb.c:2759 +#: initdb.c:2947 #, c-format msgid "could not create symbolic link \"%s\": %m" msgstr "无法创建符号链接 \"%s\": %m" -#: initdb.c:2764 +#: initdb.c:2966 #, c-format -msgid "symlinks are not supported on this platform" -msgstr "在这个平台上不支持符号链接" +msgid "It contains a dot-prefixed/invisible file, perhaps due to it being a mount point." +msgstr "它包含一个以点号开头/不可见的文件,可能因为它是一个挂载点." -#: initdb.c:2788 +#: initdb.c:2968 #, c-format -msgid "It contains a dot-prefixed/invisible file, perhaps due to it being a mount point.\n" -msgstr "它包含一个不可见的带固定点的文件,可能因为它是一个装载点。\n" +msgid "It contains a lost+found directory, perhaps due to it being a mount point." +msgstr "它包含名为 lost+found 的目录,可能因为它是一个挂载点." -#: initdb.c:2791 -#, c-format -msgid "It contains a lost+found directory, perhaps due to it being a mount point.\n" -msgstr "它包含名为lost+found的目录,可能因为它是一个加载点.\n" - -#: initdb.c:2794 +#: initdb.c:2970 #, c-format msgid "" "Using a mount point directly as the data directory is not recommended.\n" -"Create a subdirectory under the mount point.\n" +"Create a subdirectory under the mount point." msgstr "" -"不推荐将加载点作为数据目录.\n" -"通常在加载点下边创建一个子目录.\n" +"不推荐直接将挂载点用作数据目录.\n" +"通常在挂载点下边创建一个子目录." -#: initdb.c:2820 +#: initdb.c:2997 #, c-format msgid "creating subdirectories ... " msgstr "正在创建子目录 ... " -#: initdb.c:2866 +#: initdb.c:3040 msgid "performing post-bootstrap initialization ... " -msgstr "正在执行自举后初始化 ..." +msgstr "正在执行启动脚本后续初始化 ... " + +#: initdb.c:3203 +#, c-format +msgid "-c %s requires a value" +msgstr "-c %s 需要一个值" -#: initdb.c:3029 +#: initdb.c:3228 #, c-format msgid "Running in debug mode.\n" -msgstr "运行在除错模式中. \n" +msgstr "正在以调试模式运行. \n" -#: initdb.c:3033 +#: initdb.c:3232 #, c-format msgid "Running in no-clean mode. Mistakes will not be cleaned up.\n" -msgstr "运行在 no-clean 模式中. 错误将不被清理.\n" +msgstr "正在以 no-clean 模式运行. 错误将不被清理.\n" + +#: initdb.c:3305 +#, c-format +msgid "unrecognized locale provider: %s" +msgstr "无法识别的区域环境支持程序: %s" -#: initdb.c:3118 +#: initdb.c:3342 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "命令行参数太多 (第一个是 \"%s\")" -#: initdb.c:3139 initdb.c:3228 +#: initdb.c:3349 initdb.c:3353 initdb.c:3357 +#, c-format +msgid "%s cannot be specified unless locale provider \"%s\" is chosen" +msgstr "无法指定 %s, 除非选择区域环境支持程序 \"%s\"" + +#: initdb.c:3371 initdb.c:3434 msgid "syncing data to disk ... " -msgstr "同步数据到磁盘..." +msgstr "正在同步数据到磁盘 ... " -#: initdb.c:3148 +#: initdb.c:3379 #, c-format msgid "password prompt and password file cannot be specified together" -msgstr "口令提示和口令文件不能同时都指定" +msgstr "密码提示和密码文件不能同时都指定" -#: initdb.c:3173 +#: initdb.c:3390 #, c-format -msgid "argument of --wal-segsize must be a number" -msgstr "--wal-segsize的参数必须是一个数字" +msgid "argument of %s must be a power of two between 1 and 1024" +msgstr "%s 的参数必须是 2 的幂次方(在 1 - 1024 之间)" -#: initdb.c:3178 -#, c-format -msgid "argument of --wal-segsize must be a power of 2 between 1 and 1024" -msgstr "--wal-segsize的参数必须是2的幂次方(在1和1024之间)" - -#: initdb.c:3195 +#: initdb.c:3403 #, c-format msgid "superuser name \"%s\" is disallowed; role names cannot begin with \"pg_\"" -msgstr "超级用户名\"%s\"是不允许的;角色名称不能以\"pg_\"开始" +msgstr "超级用户名 \"%s\" 不被允许;角色名称不能以 \"pg_\" 开始" -#: initdb.c:3199 +#: initdb.c:3405 #, c-format msgid "" "The files belonging to this database system will be owned by user \"%s\".\n" @@ -946,18 +1051,19 @@ msgid "" msgstr "" "属于此数据库系统的文件宿主为用户 \"%s\".\n" "此用户也必须为服务器进程的宿主.\n" +"\n" -#: initdb.c:3215 +#: initdb.c:3421 #, c-format msgid "Data page checksums are enabled.\n" msgstr "允许生成数据页校验和.\n" -#: initdb.c:3217 +#: initdb.c:3423 #, c-format msgid "Data page checksums are disabled.\n" msgstr "禁止为数据页生成校验和.\n" -#: initdb.c:3234 +#: initdb.c:3440 #, c-format msgid "" "\n" @@ -968,26 +1074,22 @@ msgstr "" "跳过同步到磁盘操作.\n" "如果操作系统宕机,数据目录可能会毁坏.\n" -#: initdb.c:3239 +#: initdb.c:3445 #, c-format msgid "enabling \"trust\" authentication for local connections" -msgstr "为本地连接启用\"trust\"身份验证" +msgstr "为本地连接启用 \"trust\" 身份验证" -#: initdb.c:3240 +#: initdb.c:3446 #, c-format -msgid "" -"You can change this by editing pg_hba.conf or using the option -A, or\n" -"--auth-local and --auth-host, the next time you run initdb.\n" -msgstr "" -"你可以通过编辑 pg_hba.conf 更改或你下次\n" -"执行 initdb 时使用 -A或者--auth-local和--auth-host选项.\n" +msgid "You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb." +msgstr "你可以通过编辑 pg_hba.conf 或下次运行 initdb 时使用 -A 或者 --auth-local 和 --auth-host 选项进行更改." #. translator: This is a placeholder in a shell command. -#: initdb.c:3270 +#: initdb.c:3476 msgid "logfile" -msgstr "日志文件" +msgstr "logfile" -#: initdb.c:3272 +#: initdb.c:3478 #, c-format msgid "" "\n" @@ -997,8 +1099,79 @@ msgid "" "\n" msgstr "" "\n" -"成功。您现在可以用下面的命令开启数据库服务器:\n" +"成功。你现在可以用下面的命令开启数据库服务器:\n" "\n" " %s\n" "\n" +#, c-format +#~ msgid "" +#~ "The program \"%s\" is needed by %s but was not found in the\n" +#~ "same directory as \"%s\".\n" +#~ "Check your installation." +#~ msgstr "" +#~ "%2$s需要程序\"%1$s\"\n" +#~ "但在与\"%3$s\"相同的目录中找不到该程序.\n" +#~ "检查您的安装." + +#, c-format +#~ msgid "" +#~ "The program \"%s\" was found by \"%s\"\n" +#~ "but was not the same version as %s.\n" +#~ "Check your installation." +#~ msgstr "" +#~ "程序\"%s\"是由\"%s\"找到的\n" +#~ "但与%s的版本不同.\n" +#~ "检查您的安装." + +#, c-format +#~ msgid "Try \"%s --help\" for more information.\n" +#~ msgstr "请用 \"%s --help\" 获取更多的信息.\n" + +#, c-format +#~ msgid "argument of --wal-segsize must be a number" +#~ msgstr "--wal-segsize 的参数必须是一个数字" + +#, c-format +#~ msgid "cannot create restricted tokens on this platform: error code %lu" +#~ msgstr "无法为该平台创建受限令牌: 错误码 %lu" + +#, c-format +#~ msgid "could not change directory to \"%s\": %m" +#~ msgstr "无法跳转到目录 \"%s\" 中: %m" + +#, c-format +#~ msgid "could not identify current directory: %m" +#~ msgstr "无法确认当前目录: %m" + +#, c-format +#~ msgid "could not load library \"%s\": error code %lu" +#~ msgstr "无法加载库 \"%s\": 错误码 %lu" + +#, c-format +#~ msgid "could not read binary \"%s\"" +#~ msgstr "无法读取二进制码 \"%s\"" + +#, c-format +#~ msgid "could not read symbolic link \"%s\": %m" +#~ msgstr "无法读取符号链接 \"%s\": %m" + +#, c-format +#~ msgid "could not remove file or directory \"%s\": %m" +#~ msgstr "无法删除文件或目录 \"%s\": %m" + +#, c-format +#~ msgid "could not stat file or directory \"%s\": %m" +#~ msgstr "无法获取文件或目录 \"%s\" 状态: %m" + +#, c-format +#~ msgid "fatal: " +#~ msgstr "致命的: " + +#, c-format +#~ msgid "invalid binary \"%s\"" +#~ msgstr "无效的二进制码 \"%s\"" + +#, c-format +#~ msgid "symlinks are not supported on this platform" +#~ msgstr "在这个平台上不支持符号链接" diff --git a/src/bin/pg_amcheck/pg_amcheck.c b/src/bin/pg_amcheck/pg_amcheck.c index a1ad41e7664..0c05cf58bce 100644 --- a/src/bin/pg_amcheck/pg_amcheck.c +++ b/src/bin/pg_amcheck/pg_amcheck.c @@ -621,8 +621,8 @@ main(int argc, char *argv[]) */ if ((vmaj == 1 && vmin < 4) || vmaj == 0) { - pg_log_warning("--checkunique option is not supported by amcheck " - "version \"%s\"", amcheck_version); + pg_log_warning("option %s is not supported by amcheck version %s", + "--checkunique", amcheck_version); dat->is_checkunique = false; } else diff --git a/src/bin/pg_amcheck/po/de.po b/src/bin/pg_amcheck/po/de.po index 428a8b3262e..5dd59927472 100644 --- a/src/bin/pg_amcheck/po/de.po +++ b/src/bin/pg_amcheck/po/de.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_amcheck (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-06-16 10:22+0000\n" -"PO-Revision-Date: 2024-06-16 19:05+0200\n" +"POT-Creation-Date: 2024-08-28 04:23+0000\n" +"PO-Revision-Date: 2024-08-28 07:51+0200\n" "Last-Translator: Peter Eisentraut \n" "Language-Team: German \n" "Language: de\n" @@ -249,8 +249,8 @@ msgstr "in Datenbank »%s«: verwende amcheck Version »%s« in Schema »%s«" #: pg_amcheck.c:624 #, c-format -msgid "--checkunique option is not supported by amcheck version \"%s\"" -msgstr "Option --checkunique wird von amcheck Version »%s« nicht unterstützt" +msgid "option %s is not supported by amcheck version %s" +msgstr "Option %s wird von amcheck Version %s nicht unterstützt" #: pg_amcheck.c:650 #, c-format diff --git a/src/bin/pg_amcheck/po/es.po b/src/bin/pg_amcheck/po/es.po index ed8cb6e5503..a70b9f56b38 100644 --- a/src/bin/pg_amcheck/po/es.po +++ b/src/bin/pg_amcheck/po/es.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_amcheck (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-09-24 23:20+0000\n" -"PO-Revision-Date: 2023-05-22 12:05+0200\n" +"POT-Creation-Date: 2024-08-01 11:23+0000\n" +"PO-Revision-Date: 2024-08-01 20:31-0400\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" "Language: es\n" @@ -39,11 +39,78 @@ msgstr "detalle: " msgid "hint: " msgstr "consejo: " -#: ../../fe_utils/cancel.c:189 ../../fe_utils/cancel.c:238 +#: ../../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 "memoria agotada\n" + +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 +#, c-format +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "no se puede duplicar un puntero nulo (error interno)\n" + +#: ../../common/file_utils.c:70 ../../common/file_utils.c:347 +#: ../../common/file_utils.c:406 ../../common/file_utils.c:480 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "no se pudo abrir el archivo «%s»: %m" + +#: ../../common/file_utils.c:76 +#, 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" + +#: ../../common/file_utils.c:120 ../../common/file_utils.c:566 +#, c-format +msgid "could not stat file \"%s\": %m" +msgstr "no se pudo hacer stat al archivo «%s»: %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 "esta instalación no soporta el método de sync «%s»" + +#: ../../common/file_utils.c:151 ../../common/file_utils.c:281 +#, 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 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "no se pudo leer el directorio «%s»: %m" + +#: ../../common/file_utils.c:418 ../../common/file_utils.c:488 +#, c-format +msgid "could not fsync file \"%s\": %m" +msgstr "no se pudo sincronizar (fsync) archivo «%s»: %m" + +#: ../../common/file_utils.c:498 +#, c-format +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "no se pudo renombrar el archivo de «%s» a «%s»: %m" + +#: ../../common/username.c:43 +#, c-format +msgid "could not look up effective user ID %ld: %s" +msgstr "no se pudo buscar el ID de usuario efectivo %ld: %s" + +#: ../../common/username.c:45 +msgid "user does not exist" +msgstr "el usuario no existe" + +#: ../../common/username.c:60 +#, c-format +msgid "user name lookup failure: error code %lu" +msgstr "fallo en la búsqueda de nombre de usuario: código de error %lu" + +#: ../../fe_utils/cancel.c:186 ../../fe_utils/cancel.c:235 msgid "Cancel request sent\n" msgstr "Petición de cancelación enviada\n" -#: ../../fe_utils/cancel.c:190 ../../fe_utils/cancel.c:239 +#: ../../fe_utils/cancel.c:187 ../../fe_utils/cancel.c:236 msgid "Could not send cancel request: " msgstr "No se pudo enviar la petición de cancelación: " @@ -52,7 +119,7 @@ msgstr "No se pudo enviar la petición de cancelación: " msgid "could not connect to database %s: out of memory" msgstr "no se pudo conectar a la base de datos %s: memoria agotada" -#: ../../fe_utils/connect_utils.c:117 +#: ../../fe_utils/connect_utils.c:116 #, c-format msgid "%s" msgstr "%s" @@ -67,174 +134,214 @@ msgstr "el valor «%s» no es válido para la opción %s" msgid "%s must be in range %d..%d" msgstr "%s debe estar en el rango %d..%d" +#: ../../fe_utils/option_utils.c:106 +#, c-format +msgid "unrecognized sync method: %s" +msgstr "método de sync no reconocido: %s" + +#: ../../fe_utils/parallel_slot.c:317 +#, c-format +msgid "too many jobs for this platform: %d" +msgstr "demasiados procesos para esta plataforma: %d" + +#: ../../fe_utils/parallel_slot.c:326 +#, c-format +msgid "socket file descriptor out of range for select(): %d" +msgstr "descriptor de archivo para socket fuera de rango para select(): %d" + +#: ../../fe_utils/parallel_slot.c:328 +#, c-format +msgid "Try fewer jobs." +msgstr "Intente con menos trabajos." + +#: ../../fe_utils/parallel_slot.c:553 +#, c-format +msgid "processing of database \"%s\" failed: %s" +msgstr "falló el procesamiento de la base de datos «%s»: %s" + #: ../../fe_utils/query_utils.c:33 ../../fe_utils/query_utils.c:58 -#: pg_amcheck.c:1647 pg_amcheck.c:2092 +#: pg_amcheck.c:1693 pg_amcheck.c:2138 #, c-format msgid "query failed: %s" msgstr "la consulta falló: %s" #: ../../fe_utils/query_utils.c:34 ../../fe_utils/query_utils.c:59 -#: pg_amcheck.c:571 pg_amcheck.c:1102 pg_amcheck.c:1648 pg_amcheck.c:2093 +#: pg_amcheck.c:578 pg_amcheck.c:1147 pg_amcheck.c:1694 pg_amcheck.c:2139 #, c-format msgid "Query was: %s" msgstr "La consulta era: %s" -#: pg_amcheck.c:399 +#: ../../fe_utils/string_utils.c:434 +#, c-format +msgid "shell command argument contains a newline or carriage return: \"%s\"\n" +msgstr "el argumento de la orden de shell contiene un salto de línea o retorno de carro: «%s»\n" + +#: ../../fe_utils/string_utils.c:607 +#, c-format +msgid "database name contains a newline or carriage return: \"%s\"\n" +msgstr "el nombre de base de datos contiene un salto de línea o retorno de carro: «%s»\n" + +#: pg_amcheck.c:403 #, c-format msgid "invalid argument for option %s" msgstr "argumento no válido para la opción %s" -#: pg_amcheck.c:405 +#: pg_amcheck.c:409 #, c-format msgid "invalid start block" msgstr "bloque de inicio no válido" -#: pg_amcheck.c:407 +#: pg_amcheck.c:411 #, c-format msgid "start block out of bounds" msgstr "bloque de inicio fuera de rango" -#: pg_amcheck.c:414 +#: pg_amcheck.c:418 #, c-format msgid "invalid end block" msgstr "bloque final no válido" -#: pg_amcheck.c:416 +#: pg_amcheck.c:420 #, c-format msgid "end block out of bounds" msgstr "bloque final fuera de rango" -#: pg_amcheck.c:439 pg_amcheck.c:461 +#: pg_amcheck.c:446 pg_amcheck.c:468 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Pruebe «%s --help» para mayor información." -#: pg_amcheck.c:445 +#: pg_amcheck.c:452 #, c-format msgid "end block precedes start block" msgstr "bloque final precede al bloque de inicio" -#: pg_amcheck.c:459 +#: pg_amcheck.c:466 #, 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_amcheck.c:479 +#: pg_amcheck.c:486 #, c-format msgid "cannot specify a database name with --all" msgstr "no se puede especificar un nombre de base de datos al usar --all" -#: pg_amcheck.c:485 +#: pg_amcheck.c:492 #, c-format msgid "cannot specify both a database name and database patterns" msgstr "no se puede especificar al mismo tiempo un nombre de base de datos junto con patrones de bases de datos" -#: pg_amcheck.c:513 +#: pg_amcheck.c:520 #, c-format msgid "no databases to check" msgstr "no hay bases de datos para revisar" -#: pg_amcheck.c:569 +#: pg_amcheck.c:576 #, c-format msgid "database \"%s\": %s" msgstr "base de datos «%s»: %s" -#: pg_amcheck.c:580 +#: pg_amcheck.c:587 #, c-format msgid "skipping database \"%s\": amcheck is not installed" msgstr "omitiendo la base de datos «%s»: amcheck no está instalado" -#: pg_amcheck.c:588 +#: pg_amcheck.c:595 #, c-format msgid "in database \"%s\": using amcheck version \"%s\" in schema \"%s\"" msgstr "en base de datos «%s»: usando amcheck versión «%s» en esquema «%s»" -#: pg_amcheck.c:610 +#: pg_amcheck.c:624 +#, c-format +msgid "--checkunique option is not supported by amcheck version \"%s\"" +msgstr "la opción --checkunique no está soportada por la versión «%s» de amcheck" + +#: pg_amcheck.c:650 #, c-format msgid "no heap tables to check matching \"%s\"" msgstr "no hay tablas heap para revisar que coincidan con «%s»" -#: pg_amcheck.c:613 +#: pg_amcheck.c:653 #, c-format msgid "no btree indexes to check matching \"%s\"" msgstr "no hay índices btree para revisar que coincidan con «%s»" -#: pg_amcheck.c:616 +#: pg_amcheck.c:656 #, c-format msgid "no relations to check in schemas matching \"%s\"" msgstr "no hay relaciones para revisar en esquemas que coincidan con «%s»" -#: pg_amcheck.c:619 +#: pg_amcheck.c:659 #, c-format msgid "no relations to check matching \"%s\"" msgstr "no hay relaciones para revisar que coincidan con «%s»" -#: pg_amcheck.c:647 +#: pg_amcheck.c:687 #, c-format msgid "no relations to check" msgstr "no hay relaciones para revisar" -#: pg_amcheck.c:730 +#: pg_amcheck.c:770 #, c-format msgid "checking heap table \"%s.%s.%s\"" msgstr "revisando tabla heap «%s.%s.%s»" -#: pg_amcheck.c:746 +#: pg_amcheck.c:786 #, c-format msgid "checking btree index \"%s.%s.%s\"" msgstr "revisando índice btree «%s.%s.%s»" -#: pg_amcheck.c:893 +#: pg_amcheck.c:937 #, c-format msgid "error sending command to database \"%s\": %s" msgstr "error al enviar orden a la base de datos «%s»: %s" -#: pg_amcheck.c:896 +#: pg_amcheck.c:940 #, c-format msgid "Command was: %s" msgstr "La orden era: % s" -#: pg_amcheck.c:1015 +#: pg_amcheck.c:1060 #, c-format msgid "heap table \"%s.%s.%s\", block %s, offset %s, attribute %s:\n" msgstr "tabla heap «%s.%s.%s», bloque %s, posición %s, atributo %s:\n" -#: pg_amcheck.c:1022 +#: pg_amcheck.c:1067 #, c-format msgid "heap table \"%s.%s.%s\", block %s, offset %s:\n" msgstr "tabla heap «%s.%s.%s», bloque %s, posición %s:\n" -#: pg_amcheck.c:1028 +#: pg_amcheck.c:1073 #, c-format msgid "heap table \"%s.%s.%s\", block %s:\n" msgstr "tabla heap «%s.%s.%s», bloque %s:\n" -#: pg_amcheck.c:1033 pg_amcheck.c:1044 +#: pg_amcheck.c:1078 pg_amcheck.c:1089 #, c-format msgid "heap table \"%s.%s.%s\":\n" msgstr "tabla heap «%s.%s.%s»:\n" -#: pg_amcheck.c:1048 pg_amcheck.c:1117 +#: pg_amcheck.c:1093 pg_amcheck.c:1162 #, c-format msgid "query was: %s\n" msgstr "la consulta era: %s\n" -#: pg_amcheck.c:1099 +#: pg_amcheck.c:1144 #, c-format msgid "btree index \"%s.%s.%s\": btree checking function returned unexpected number of rows: %d" msgstr "índice btree «%s.%s.%s»: la función de comprobación de btree devolvió un número inesperado de registros: %d" -#: pg_amcheck.c:1103 +#: pg_amcheck.c:1148 #, c-format msgid "Are %s's and amcheck's versions compatible?" msgstr "¿Son compatibles la versión de %s con la de amcheck?" -#: pg_amcheck.c:1113 +#: pg_amcheck.c:1158 #, c-format msgid "btree index \"%s.%s.%s\":\n" msgstr "índice btree «%s.%s.%s»:\n" -#: pg_amcheck.c:1138 +#: pg_amcheck.c:1183 #, c-format msgid "" "%s checks objects in a PostgreSQL database for corruption.\n" @@ -243,17 +350,17 @@ msgstr "" "%s busca corrupción en objetos de una base de datos PostgreSQL.\n" "\n" -#: pg_amcheck.c:1139 +#: pg_amcheck.c:1184 #, c-format msgid "Usage:\n" msgstr "Empleo:\n" -#: pg_amcheck.c:1140 +#: pg_amcheck.c:1185 #, c-format msgid " %s [OPTION]... [DBNAME]\n" msgstr " %s [OPCIÓN]... [BASE-DE-DATOS]\n" -#: pg_amcheck.c:1141 +#: pg_amcheck.c:1186 #, c-format msgid "" "\n" @@ -262,77 +369,77 @@ msgstr "" "\n" "Opciones de objetivo:\n" -#: pg_amcheck.c:1142 +#: pg_amcheck.c:1187 #, c-format msgid " -a, --all check all databases\n" msgstr " -a, --all revisar todas las bases de datos\n" -#: pg_amcheck.c:1143 +#: pg_amcheck.c:1188 #, c-format msgid " -d, --database=PATTERN check matching database(s)\n" msgstr " -d, --database=PATRÓN revisar la(s) base(s) de datos que coincida(n)\n" -#: pg_amcheck.c:1144 +#: pg_amcheck.c:1189 #, c-format msgid " -D, --exclude-database=PATTERN do NOT check matching database(s)\n" msgstr " -D, --exclude-database=PATRÓN NO revisar la(s) base(s) de datos que coincida(n)\n" -#: pg_amcheck.c:1145 +#: pg_amcheck.c:1190 #, c-format msgid " -i, --index=PATTERN check matching index(es)\n" msgstr " -i, --index=PATRÓN revisar el(los) índice(s) que coincida(n)\n" -#: pg_amcheck.c:1146 +#: pg_amcheck.c:1191 #, c-format msgid " -I, --exclude-index=PATTERN do NOT check matching index(es)\n" msgstr " -I, --exclude-index=PATRÓN NO revisar el(los) índice(s) que coincida(n)\n" -#: pg_amcheck.c:1147 +#: pg_amcheck.c:1192 #, c-format msgid " -r, --relation=PATTERN check matching relation(s)\n" msgstr " -r, --relation=PATRÓN revisar la(s) relación(es) que coincida(n)\n" -#: pg_amcheck.c:1148 +#: pg_amcheck.c:1193 #, c-format msgid " -R, --exclude-relation=PATTERN do NOT check matching relation(s)\n" msgstr " -R, --exclude-relation=PATRÓN NO revisar la(s) relación(es) que coincida(n)\n" -#: pg_amcheck.c:1149 +#: pg_amcheck.c:1194 #, c-format msgid " -s, --schema=PATTERN check matching schema(s)\n" msgstr " -s, --schema=PATRÓN revisar el(los) esquema(s) que coincida(n)\n" -#: pg_amcheck.c:1150 +#: pg_amcheck.c:1195 #, c-format msgid " -S, --exclude-schema=PATTERN do NOT check matching schema(s)\n" msgstr " -S, --exclude-schema=PATRÓN NO revisar el(los) esquema(s) que coincida(n)\n" -#: pg_amcheck.c:1151 +#: pg_amcheck.c:1196 #, c-format msgid " -t, --table=PATTERN check matching table(s)\n" msgstr " -t, --table=PATRÓN revisar la(s) tabla(s) que coincida(n)\n" -#: pg_amcheck.c:1152 +#: pg_amcheck.c:1197 #, c-format msgid " -T, --exclude-table=PATTERN do NOT check matching table(s)\n" msgstr " -T, --exclude-table=PATRÓN NO revisar la(s) tabla(s) que coincida(n)\n" -#: pg_amcheck.c:1153 +#: pg_amcheck.c:1198 #, c-format msgid " --no-dependent-indexes do NOT expand list of relations to include indexes\n" msgstr " --no-dependent-indexes NO expandir la lista de relaciones para incluir índices\n" -#: pg_amcheck.c:1154 +#: pg_amcheck.c:1199 #, c-format msgid " --no-dependent-toast do NOT expand list of relations to include TOAST tables\n" msgstr " --no-dependent-toast NO expandir lista de relaciones para incluir tablas TOAST\n" -#: pg_amcheck.c:1155 +#: pg_amcheck.c:1200 #, c-format msgid " --no-strict-names do NOT require patterns to match objects\n" msgstr " --no-strict-names NO requerir que los patrones coincidan con los objetos\n" -#: pg_amcheck.c:1156 +#: pg_amcheck.c:1201 #, c-format msgid "" "\n" @@ -341,32 +448,32 @@ msgstr "" "\n" "Opciones para revisión de tabla:\n" -#: pg_amcheck.c:1157 +#: pg_amcheck.c:1202 #, c-format msgid " --exclude-toast-pointers do NOT follow relation TOAST pointers\n" msgstr " --exclude-toast-pointers NO seguir punteros TOAST de la relación\n" -#: pg_amcheck.c:1158 +#: pg_amcheck.c:1203 #, c-format msgid " --on-error-stop stop checking at end of first corrupt page\n" msgstr " --on-error-stop detener la revisión al final de la primera página corrupta\n" -#: pg_amcheck.c:1159 +#: pg_amcheck.c:1204 #, c-format msgid " --skip=OPTION do NOT check \"all-frozen\" or \"all-visible\" blocks\n" msgstr " --skip=OPTION NO revisar bloques «all-frozen» u «all-visible»\n" -#: pg_amcheck.c:1160 +#: pg_amcheck.c:1205 #, c-format msgid " --startblock=BLOCK begin checking table(s) at the given block number\n" msgstr " --startblock=BLOQUE empezar la revisión de la(s) tabla(s) en el número de bloque especificado\n" -#: pg_amcheck.c:1161 +#: pg_amcheck.c:1206 #, c-format msgid " --endblock=BLOCK check table(s) only up to the given block number\n" msgstr " --endblock=BLOQUE solo revisar la(s) tabla(s) hasta el número de bloque especificado\n" -#: pg_amcheck.c:1162 +#: pg_amcheck.c:1207 #, c-format msgid "" "\n" @@ -375,22 +482,27 @@ msgstr "" "\n" "Opciones para revisión de índices B-tree:\n" -#: pg_amcheck.c:1163 +#: pg_amcheck.c:1208 +#, c-format +msgid " --checkunique check unique constraint if index is unique\n" +msgstr " --checkunique verificar si restricción de unicidad se cumple en índice\n" + +#: pg_amcheck.c:1209 #, c-format msgid " --heapallindexed check that all heap tuples are found within indexes\n" msgstr " --heapallindexed revisar que todas las tuplas heap se encuentren en los índices\n" -#: pg_amcheck.c:1164 +#: pg_amcheck.c:1210 #, c-format msgid " --parent-check check index parent/child relationships\n" msgstr " --parent-check revisar relaciones padre/hijo de índice\n" -#: pg_amcheck.c:1165 +#: pg_amcheck.c:1211 #, c-format msgid " --rootdescend search from root page to refind tuples\n" msgstr " --rootdescend buscar desde la página raíz para volver a encontrar tuplas\n" -#: pg_amcheck.c:1166 +#: pg_amcheck.c:1212 #, c-format msgid "" "\n" @@ -399,37 +511,37 @@ msgstr "" "\n" "Opciones de conexión:\n" -#: pg_amcheck.c:1167 +#: pg_amcheck.c:1213 #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr " -h, --host=ANFITRIÓN nombre del servidor o directorio del socket\n" -#: pg_amcheck.c:1168 +#: pg_amcheck.c:1214 #, c-format msgid " -p, --port=PORT database server port\n" msgstr " -p, --port=PUERTO puerto del servidor de base de datos\n" -#: pg_amcheck.c:1169 +#: pg_amcheck.c:1215 #, c-format msgid " -U, --username=USERNAME user name to connect as\n" msgstr " -U, --username=USUARIO nombre de usuario para la conexión\n" -#: pg_amcheck.c:1170 +#: pg_amcheck.c:1216 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password nunca pedir contraseña\n" -#: pg_amcheck.c:1171 +#: pg_amcheck.c:1217 #, c-format msgid " -W, --password force password prompt\n" msgstr " -W, --password forzar la petición de contraseña\n" -#: pg_amcheck.c:1172 +#: pg_amcheck.c:1218 #, c-format msgid " --maintenance-db=DBNAME alternate maintenance database\n" msgstr " --maintenance-db=BASE base de datos de mantención alternativa\n" -#: pg_amcheck.c:1173 +#: pg_amcheck.c:1219 #, c-format msgid "" "\n" @@ -438,42 +550,42 @@ msgstr "" "\n" "Otras opciones:\n" -#: pg_amcheck.c:1174 +#: pg_amcheck.c:1220 #, c-format msgid " -e, --echo show the commands being sent to the server\n" msgstr " -e, --echo mostrar las órdenes enviadas al servidor\n" -#: pg_amcheck.c:1175 +#: pg_amcheck.c:1221 #, c-format msgid " -j, --jobs=NUM use this many concurrent connections to the server\n" msgstr " -j, --jobs=NUM usar esta cantidad de conexiones concurrentes hacia el servidor\n" -#: pg_amcheck.c:1176 +#: pg_amcheck.c:1222 #, c-format msgid " -P, --progress show progress information\n" msgstr " -P, --progress mostrar información de progreso\n" -#: pg_amcheck.c:1177 +#: pg_amcheck.c:1223 #, c-format msgid " -v, --verbose write a lot of output\n" msgstr " -v, --verbose desplegar varios mensajes informativos\n" -#: pg_amcheck.c:1178 +#: pg_amcheck.c:1224 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version mostrar información de versión y salir\n" -#: pg_amcheck.c:1179 +#: pg_amcheck.c:1225 #, c-format msgid " --install-missing install missing extensions\n" msgstr " --install-missing instalar extensiones faltantes\n" -#: pg_amcheck.c:1180 +#: pg_amcheck.c:1226 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help mostrar esta ayuda y salir\n" -#: pg_amcheck.c:1182 +#: pg_amcheck.c:1228 #, c-format msgid "" "\n" @@ -482,52 +594,52 @@ msgstr "" "\n" "Reporte errores a <%s>.\n" -#: pg_amcheck.c:1183 +#: pg_amcheck.c:1229 #, c-format msgid "%s home page: <%s>\n" msgstr "Sitio web de %s: <%s>\n" -#: pg_amcheck.c:1236 +#: pg_amcheck.c:1282 #, c-format msgid "%*s/%s relations (%d%%), %*s/%s pages (%d%%) %*s" msgstr "%*s/%s relaciones (%d%%), %*s/%s páginas (%d%%) %*s" -#: pg_amcheck.c:1247 +#: pg_amcheck.c:1293 #, c-format msgid "%*s/%s relations (%d%%), %*s/%s pages (%d%%) (%s%-*.*s)" msgstr "%*s/%s relaciones (%d%%), %*s/%s páginas (%d%%), (%s%-*.*s)" -#: pg_amcheck.c:1262 +#: pg_amcheck.c:1308 #, c-format msgid "%*s/%s relations (%d%%), %*s/%s pages (%d%%)" msgstr "%*s/%s relaciones (%d%%), %*s/%s páginas (%d%%)" -#: pg_amcheck.c:1321 pg_amcheck.c:1354 +#: pg_amcheck.c:1367 pg_amcheck.c:1400 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "el nombre no es válido (demasiados puntos): %s" -#: pg_amcheck.c:1399 +#: pg_amcheck.c:1445 #, c-format msgid "improper relation name (too many dotted names): %s" msgstr "el nombre de relación no es válido (demasiados puntos): %s" -#: pg_amcheck.c:1552 pg_amcheck.c:1691 +#: pg_amcheck.c:1598 pg_amcheck.c:1737 #, c-format msgid "including database \"%s\"" msgstr "incluyendo base de datos «%s»" -#: pg_amcheck.c:1673 +#: pg_amcheck.c:1719 #, c-format msgid "internal error: received unexpected database pattern_id %d" msgstr "error interno: se recibió pattern_id de base de datos inesperado (%d)" -#: pg_amcheck.c:1675 +#: pg_amcheck.c:1721 #, c-format msgid "no connectable databases to check matching \"%s\"" msgstr "no hay bases de datos a las que se pueda conectar que coincidan con «%s»" -#: pg_amcheck.c:2133 +#: pg_amcheck.c:2179 #, c-format msgid "internal error: received unexpected relation pattern_id %d" msgstr "error interno: se recibió pattern_id de relación inesperado (%d)" diff --git a/src/bin/pg_amcheck/po/fr.po b/src/bin/pg_amcheck/po/fr.po index 9fc553f23b7..14157b066b0 100644 --- a/src/bin/pg_amcheck/po/fr.po +++ b/src/bin/pg_amcheck/po/fr.po @@ -8,10 +8,10 @@ # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 15\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-05-14 10:19+0000\n" -"PO-Revision-Date: 2022-05-14 17:15+0200\n" +"POT-Creation-Date: 2024-08-29 17:53+0000\n" +"PO-Revision-Date: 2024-09-16 16:28+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -19,33 +19,100 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.0.1\n" +"X-Generator: Poedit 3.5\n" -#: ../../../src/common/logging.c:277 +#: ../../../src/common/logging.c:276 #, c-format msgid "error: " msgstr "erreur : " -#: ../../../src/common/logging.c:284 +#: ../../../src/common/logging.c:283 #, c-format msgid "warning: " msgstr "attention : " -#: ../../../src/common/logging.c:295 +#: ../../../src/common/logging.c:294 #, c-format msgid "detail: " msgstr "détail : " -#: ../../../src/common/logging.c:302 +#: ../../../src/common/logging.c:301 #, c-format msgid "hint: " msgstr "astuce : " -#: ../../fe_utils/cancel.c:189 ../../fe_utils/cancel.c:238 +#: ../../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 "mémoire épuisée\n" + +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 +#, c-format +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "ne peut pas dupliquer un pointeur nul (erreur interne)\n" + +#: ../../common/file_utils.c:70 ../../common/file_utils.c:347 +#: ../../common/file_utils.c:406 ../../common/file_utils.c:480 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "n'a pas pu ouvrir le fichier « %s » : %m" + +#: ../../common/file_utils.c:76 +#, c-format +msgid "could not synchronize file system for file \"%s\": %m" +msgstr "n'a pas pu synchroniser sur disque (fsync) le système de fichiers pour le fichier « %s » : %m" + +#: ../../common/file_utils.c:120 ../../common/file_utils.c:566 +#, c-format +msgid "could not stat file \"%s\": %m" +msgstr "n'a pas pu tester le fichier « %s » : %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 "cette construction ne supporte pas la méthode de synchronisation %s" + +#: ../../common/file_utils.c:151 ../../common/file_utils.c:281 +#, c-format +msgid "could not open directory \"%s\": %m" +msgstr "n'a pas pu ouvrir le répertoire « %s » : %m" + +#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "n'a pas pu lire le répertoire « %s » : %m" + +#: ../../common/file_utils.c:418 ../../common/file_utils.c:488 +#, c-format +msgid "could not fsync file \"%s\": %m" +msgstr "n'a pas pu synchroniser sur disque (fsync) le fichier « %s » : %m" + +#: ../../common/file_utils.c:498 +#, c-format +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "n'a pas pu renommer le fichier « %s » en « %s » : %m" + +#: ../../common/username.c:43 +#, c-format +msgid "could not look up effective user ID %ld: %s" +msgstr "n'a pas pu trouver l'identifiant réel %ld de l'utilisateur : %s" + +#: ../../common/username.c:45 +msgid "user does not exist" +msgstr "l'utilisateur n'existe pas" + +#: ../../common/username.c:60 +#, c-format +msgid "user name lookup failure: error code %lu" +msgstr "échec de la recherche du nom d'utilisateur : code d'erreur %lu" + +#: ../../fe_utils/cancel.c:186 ../../fe_utils/cancel.c:235 msgid "Cancel request sent\n" msgstr "Requête d'annulation envoyée\n" -#: ../../fe_utils/cancel.c:190 ../../fe_utils/cancel.c:239 +#: ../../fe_utils/cancel.c:187 ../../fe_utils/cancel.c:236 msgid "Could not send cancel request: " msgstr "N'a pas pu envoyer la requête d'annulation : " @@ -54,7 +121,7 @@ msgstr "N'a pas pu envoyer la requête d'annulation : " msgid "could not connect to database %s: out of memory" msgstr "n'a pas pu se connecter à la base de données %s : plus de mémoire" -#: ../../fe_utils/connect_utils.c:117 +#: ../../fe_utils/connect_utils.c:116 #, c-format msgid "%s" msgstr "%s" @@ -69,174 +136,214 @@ msgstr "valeur « %s » invalide pour l'option %s" msgid "%s must be in range %d..%d" msgstr "%s doit être compris entre %d et %d" +#: ../../fe_utils/option_utils.c:106 +#, c-format +msgid "unrecognized sync method: %s" +msgstr "méthode de synchronisation non reconnu : %s" + +#: ../../fe_utils/parallel_slot.c:317 +#, c-format +msgid "too many jobs for this platform: %d" +msgstr "trop de jobs pour cette plateforme : %d" + +#: ../../fe_utils/parallel_slot.c:326 +#, c-format +msgid "socket file descriptor out of range for select(): %d" +msgstr "descripteur de fichier socket hors d'échelle pour select() : %d" + +#: ../../fe_utils/parallel_slot.c:328 +#, c-format +msgid "Try fewer jobs." +msgstr "Essayez moins de jobs." + +#: ../../fe_utils/parallel_slot.c:553 +#, c-format +msgid "processing of database \"%s\" failed: %s" +msgstr "le traitement de la base de données « %s » a échoué : %s" + #: ../../fe_utils/query_utils.c:33 ../../fe_utils/query_utils.c:58 -#: pg_amcheck.c:1645 pg_amcheck.c:2090 +#: pg_amcheck.c:1693 pg_amcheck.c:2138 #, c-format msgid "query failed: %s" msgstr "échec de la requête : %s" #: ../../fe_utils/query_utils.c:34 ../../fe_utils/query_utils.c:59 -#: pg_amcheck.c:571 pg_amcheck.c:1100 pg_amcheck.c:1646 pg_amcheck.c:2091 +#: pg_amcheck.c:578 pg_amcheck.c:1147 pg_amcheck.c:1694 pg_amcheck.c:2139 #, c-format msgid "Query was: %s" msgstr "La requête était : %s" -#: pg_amcheck.c:399 +#: ../../fe_utils/string_utils.c:434 +#, c-format +msgid "shell command argument contains a newline or carriage return: \"%s\"\n" +msgstr "l'argument de la commande shell contient un retour à la ligne ou un retour chariot : « %s »\n" + +#: ../../fe_utils/string_utils.c:607 +#, c-format +msgid "database name contains a newline or carriage return: \"%s\"\n" +msgstr "le nom de la base contient un retour à la ligne ou un retour chariot : « %s »\n" + +#: pg_amcheck.c:403 #, c-format msgid "invalid argument for option %s" msgstr "argument invalide pour l'option %s" -#: pg_amcheck.c:405 +#: pg_amcheck.c:409 #, c-format msgid "invalid start block" msgstr "bloc de début invalide" -#: pg_amcheck.c:407 +#: pg_amcheck.c:411 #, c-format msgid "start block out of bounds" msgstr "bloc de début hors des limites" -#: pg_amcheck.c:414 +#: pg_amcheck.c:418 #, c-format msgid "invalid end block" msgstr "bloc de fin invalide" -#: pg_amcheck.c:416 +#: pg_amcheck.c:420 #, c-format msgid "end block out of bounds" msgstr "bloc de fin hors des limites" -#: pg_amcheck.c:439 pg_amcheck.c:461 +#: pg_amcheck.c:446 pg_amcheck.c:468 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Essayez « %s --help » pour plus d'informations." -#: pg_amcheck.c:445 +#: pg_amcheck.c:452 #, c-format msgid "end block precedes start block" msgstr "le bloc de fin précède le bloc de début" -#: pg_amcheck.c:459 +#: pg_amcheck.c:466 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "trop d'arguments en ligne de commande (le premier étant « %s »)" -#: pg_amcheck.c:479 +#: pg_amcheck.c:486 #, c-format msgid "cannot specify a database name with --all" msgstr "ne peut pas spécifier un nom de base de données avec --all" -#: pg_amcheck.c:485 +#: pg_amcheck.c:492 #, c-format msgid "cannot specify both a database name and database patterns" msgstr "ne peut pas spécifier à la fois le nom d'une base de données et des motifs de noms de base" -#: pg_amcheck.c:513 +#: pg_amcheck.c:520 #, c-format msgid "no databases to check" msgstr "aucune base de données à vérifier" -#: pg_amcheck.c:569 +#: pg_amcheck.c:576 #, c-format msgid "database \"%s\": %s" msgstr "base de données « %s » : %s" -#: pg_amcheck.c:580 +#: pg_amcheck.c:587 #, c-format msgid "skipping database \"%s\": amcheck is not installed" msgstr "ignore la base « %s » : amcheck n'est pas installé" -#: pg_amcheck.c:588 +#: pg_amcheck.c:595 #, c-format msgid "in database \"%s\": using amcheck version \"%s\" in schema \"%s\"" msgstr "dans la base de données « %s » : utilisation de la version « %s » d'amcheck dans le schéma « %s »" -#: pg_amcheck.c:610 +#: pg_amcheck.c:624 +#, c-format +msgid "option %s is not supported by amcheck version %s" +msgstr "l'option %s n'est pas acceptée par la version « %s » de amcheck" + +#: pg_amcheck.c:650 #, c-format msgid "no heap tables to check matching \"%s\"" msgstr "aucune table heap à vérifier correspondant à « %s »" -#: pg_amcheck.c:613 +#: pg_amcheck.c:653 #, c-format msgid "no btree indexes to check matching \"%s\"" msgstr "aucun index btree à vérifier correspondant à « %s »" -#: pg_amcheck.c:616 +#: pg_amcheck.c:656 #, c-format msgid "no relations to check in schemas matching \"%s\"" msgstr "aucune relation à vérifier dans les schémas correspondant à « %s »" -#: pg_amcheck.c:619 +#: pg_amcheck.c:659 #, c-format msgid "no relations to check matching \"%s\"" msgstr "aucune relation à vérifier correspondant à « %s »" -#: pg_amcheck.c:647 +#: pg_amcheck.c:687 #, c-format msgid "no relations to check" msgstr "aucune relation à vérifier" -#: pg_amcheck.c:730 +#: pg_amcheck.c:770 #, c-format msgid "checking heap table \"%s.%s.%s\"" msgstr "vérification de la table heap « %s %s.%s »" -#: pg_amcheck.c:746 +#: pg_amcheck.c:786 #, c-format msgid "checking btree index \"%s.%s.%s\"" msgstr "vérification de l'index btree « %s %s.%s »" -#: pg_amcheck.c:893 +#: pg_amcheck.c:937 #, c-format msgid "error sending command to database \"%s\": %s" msgstr "erreur de l'envoi d'une commande à la base de données « %s » : %s" -#: pg_amcheck.c:896 +#: pg_amcheck.c:940 #, c-format msgid "Command was: %s" msgstr "La commande était : %s" -#: pg_amcheck.c:1013 +#: pg_amcheck.c:1060 #, c-format msgid "heap table \"%s.%s.%s\", block %s, offset %s, attribute %s:\n" msgstr "table heap « %s.%s.%s », bloc %s, décalage %s, attribut %s :\n" -#: pg_amcheck.c:1020 +#: pg_amcheck.c:1067 #, c-format msgid "heap table \"%s.%s.%s\", block %s, offset %s:\n" msgstr "table heap « %s.%s.%s », bloc %s, décalage %s :\n" -#: pg_amcheck.c:1026 +#: pg_amcheck.c:1073 #, c-format msgid "heap table \"%s.%s.%s\", block %s:\n" msgstr "table heap « %s %s.%s », bloc %s :\n" -#: pg_amcheck.c:1031 pg_amcheck.c:1042 +#: pg_amcheck.c:1078 pg_amcheck.c:1089 #, c-format msgid "heap table \"%s.%s.%s\":\n" msgstr "table heap « %s %s.%s » :\n" -#: pg_amcheck.c:1046 pg_amcheck.c:1115 +#: pg_amcheck.c:1093 pg_amcheck.c:1162 #, c-format msgid "query was: %s\n" msgstr "la requête était : %s\n" -#: pg_amcheck.c:1097 +#: pg_amcheck.c:1144 #, c-format msgid "btree index \"%s.%s.%s\": btree checking function returned unexpected number of rows: %d" msgstr "index btree « %s.%s.%s » : la fonction de vérification des index btree a renvoyé un nombre de lignes inattendu : %d" -#: pg_amcheck.c:1101 +#: pg_amcheck.c:1148 #, c-format msgid "Are %s's and amcheck's versions compatible?" msgstr "est-ce que les versions de %s et d'amcheck sont compatibles ?" -#: pg_amcheck.c:1111 +#: pg_amcheck.c:1158 #, c-format msgid "btree index \"%s.%s.%s\":\n" msgstr "vérification de l'index btree« %s %s.%s » :\n" -#: pg_amcheck.c:1136 +#: pg_amcheck.c:1183 #, c-format msgid "" "%s checks objects in a PostgreSQL database for corruption.\n" @@ -246,17 +353,17 @@ msgstr "" "PostgreSQL sont corrompus.\n" "\n" -#: pg_amcheck.c:1137 +#: pg_amcheck.c:1184 #, c-format msgid "Usage:\n" msgstr "Usage :\n" -#: pg_amcheck.c:1138 +#: pg_amcheck.c:1185 #, c-format msgid " %s [OPTION]... [DBNAME]\n" msgstr " %s [OPTION]... [BASE]\n" -#: pg_amcheck.c:1139 +#: pg_amcheck.c:1186 #, c-format msgid "" "\n" @@ -265,83 +372,83 @@ msgstr "" "\n" "Options de la cible :\n" -#: pg_amcheck.c:1140 +#: pg_amcheck.c:1187 #, c-format msgid " -a, --all check all databases\n" msgstr " -a, --all vérifie toutes les bases\n" -#: pg_amcheck.c:1141 +#: pg_amcheck.c:1188 #, c-format msgid " -d, --database=PATTERN check matching database(s)\n" msgstr " -d, --database=MOTIF vérifie les bases correspondantes\n" -#: pg_amcheck.c:1142 +#: pg_amcheck.c:1189 #, c-format msgid " -D, --exclude-database=PATTERN do NOT check matching database(s)\n" msgstr " -D, --exclude-database=MOTIF ne vérifie PAS les bases correspondantes\n" -#: pg_amcheck.c:1143 +#: pg_amcheck.c:1190 #, c-format msgid " -i, --index=PATTERN check matching index(es)\n" msgstr " -i, --index=MOTIF vérifie les index correspondants\n" -#: pg_amcheck.c:1144 +#: pg_amcheck.c:1191 #, c-format msgid " -I, --exclude-index=PATTERN do NOT check matching index(es)\n" msgstr " -I, --exclude-index=MOTIF ne vérifie PAS les index correspondants\n" -#: pg_amcheck.c:1145 +#: pg_amcheck.c:1192 #, c-format msgid " -r, --relation=PATTERN check matching relation(s)\n" msgstr " -r, --relation=MOTIF vérifie les relations correspondantes\n" -#: pg_amcheck.c:1146 +#: pg_amcheck.c:1193 #, c-format msgid " -R, --exclude-relation=PATTERN do NOT check matching relation(s)\n" msgstr " -R, --exclude-relation=MOTIF ne vérifie PAS les relations correspondantes\n" -#: pg_amcheck.c:1147 +#: pg_amcheck.c:1194 #, c-format msgid " -s, --schema=PATTERN check matching schema(s)\n" msgstr " -s, --schema=MOTIF vérifie les schémas correspondants\n" -#: pg_amcheck.c:1148 +#: pg_amcheck.c:1195 #, c-format msgid " -S, --exclude-schema=PATTERN do NOT check matching schema(s)\n" msgstr " -S, --exclude-schema=MOTIF ne vérifie PAS les schémas correspondants\n" -#: pg_amcheck.c:1149 +#: pg_amcheck.c:1196 #, c-format msgid " -t, --table=PATTERN check matching table(s)\n" msgstr " -t, --table=MOTIF vérifie les tables correspondantes\n" -#: pg_amcheck.c:1150 +#: pg_amcheck.c:1197 #, c-format msgid " -T, --exclude-table=PATTERN do NOT check matching table(s)\n" msgstr " -T, --exclude-table=MOTIF ne vérifie PAS les tables correspondantes\n" -#: pg_amcheck.c:1151 +#: pg_amcheck.c:1198 #, c-format msgid " --no-dependent-indexes do NOT expand list of relations to include indexes\n" msgstr "" " --no-dependent-indexes n'étend PAS la liste des relations pour inclure\n" " les index\n" -#: pg_amcheck.c:1152 +#: pg_amcheck.c:1199 #, c-format msgid " --no-dependent-toast do NOT expand list of relations to include TOAST tables\n" msgstr "" " --no-dependent-toast n'étend PAS la liste des relations pour inclure\n" " les TOAST\n" -#: pg_amcheck.c:1153 +#: pg_amcheck.c:1200 #, c-format msgid " --no-strict-names do NOT require patterns to match objects\n" msgstr "" " --no-strict-names ne requiert PAS que les motifs correspondent à\n" " des objets\n" -#: pg_amcheck.c:1154 +#: pg_amcheck.c:1201 #, c-format msgid "" "\n" @@ -350,40 +457,40 @@ msgstr "" "\n" "Options de vérification des tables :\n" -#: pg_amcheck.c:1155 +#: pg_amcheck.c:1202 #, c-format msgid " --exclude-toast-pointers do NOT follow relation TOAST pointers\n" msgstr " --exclude-toast-pointers ne suit PAS les pointeurs de TOAST\n" -#: pg_amcheck.c:1156 +#: pg_amcheck.c:1203 #, c-format msgid " --on-error-stop stop checking at end of first corrupt page\n" msgstr "" " --on-error-stop arrête la vérification à la fin du premier bloc\n" " corrompu\n" -#: pg_amcheck.c:1157 +#: pg_amcheck.c:1204 #, c-format msgid " --skip=OPTION do NOT check \"all-frozen\" or \"all-visible\" blocks\n" msgstr "" " --skip=OPTION ne vérifie PAS les blocs « all-frozen » et\n" " « all-visible »\n" -#: pg_amcheck.c:1158 +#: pg_amcheck.c:1205 #, c-format msgid " --startblock=BLOCK begin checking table(s) at the given block number\n" msgstr "" " --startblock=BLOC commence la vérification des tables au numéro\n" " de bloc indiqué\n" -#: pg_amcheck.c:1159 +#: pg_amcheck.c:1206 #, c-format msgid " --endblock=BLOCK check table(s) only up to the given block number\n" msgstr "" " --endblock=BLOC vérifie les tables jusqu'au numéro de bloc\n" " indiqué\n" -#: pg_amcheck.c:1160 +#: pg_amcheck.c:1207 #, c-format msgid "" "\n" @@ -392,28 +499,33 @@ msgstr "" "\n" "Options de vérification des index Btree :\n" -#: pg_amcheck.c:1161 +#: pg_amcheck.c:1208 +#, c-format +msgid " --checkunique check unique constraint if index is unique\n" +msgstr " --checkunique vérifie l'unicité de l'index pour la contrainte d'unicité\n" + +#: pg_amcheck.c:1209 #, c-format msgid " --heapallindexed check that all heap tuples are found within indexes\n" msgstr "" " --heapallindexed vérifie que tous les enregistrements de la\n" " table sont référencés dans les index\n" -#: pg_amcheck.c:1162 +#: pg_amcheck.c:1210 #, c-format msgid " --parent-check check index parent/child relationships\n" msgstr "" " --parent-check vérifie les relations parent/enfants dans les\n" " index\n" -#: pg_amcheck.c:1163 +#: pg_amcheck.c:1211 #, c-format msgid " --rootdescend search from root page to refind tuples\n" msgstr "" " --rootdescend recherche à partir de la racine pour trouver\n" " les lignes\n" -#: pg_amcheck.c:1164 +#: pg_amcheck.c:1212 #, c-format msgid "" "\n" @@ -422,37 +534,37 @@ msgstr "" "\n" "Options de connexion :\n" -#: pg_amcheck.c:1165 +#: pg_amcheck.c:1213 #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr " -h, --host=HÔTE IP/alias du serveur ou répertoire du socket\n" -#: pg_amcheck.c:1166 +#: pg_amcheck.c:1214 #, c-format msgid " -p, --port=PORT database server port\n" msgstr " -p, --port=PORT port du serveur de bases de données\n" -#: pg_amcheck.c:1167 +#: pg_amcheck.c:1215 #, c-format msgid " -U, --username=USERNAME user name to connect as\n" msgstr " -U, --username=UTILISATEUR nom d'utilisateur pour la connexion\n" -#: pg_amcheck.c:1168 +#: pg_amcheck.c:1216 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password ne demande jamais un mot de passe\n" -#: pg_amcheck.c:1169 +#: pg_amcheck.c:1217 #, c-format msgid " -W, --password force password prompt\n" msgstr " -W, --password force la saisie d'un mot de passe\n" -#: pg_amcheck.c:1170 +#: pg_amcheck.c:1218 #, c-format msgid " --maintenance-db=DBNAME alternate maintenance database\n" msgstr " --maintenance-db=BASE change la base de maintenance\n" -#: pg_amcheck.c:1171 +#: pg_amcheck.c:1219 #, c-format msgid "" "\n" @@ -461,44 +573,44 @@ msgstr "" "\n" "Autres options :\n" -#: pg_amcheck.c:1172 +#: pg_amcheck.c:1220 #, c-format msgid " -e, --echo show the commands being sent to the server\n" msgstr " -e, --echo affiche les commandes envoyées au serveur\n" -#: pg_amcheck.c:1173 +#: pg_amcheck.c:1221 #, c-format msgid " -j, --jobs=NUM use this many concurrent connections to the server\n" msgstr "" " -j, --jobs=NOMBRE utilise ce nombre de connexions simultanées au\n" " serveur\n" -#: pg_amcheck.c:1174 +#: pg_amcheck.c:1222 #, c-format msgid " -P, --progress show progress information\n" msgstr " -P, --progress affiche la progression\n" -#: pg_amcheck.c:1175 +#: pg_amcheck.c:1223 #, c-format msgid " -v, --verbose write a lot of output\n" msgstr " -v, --verbose mode verbeux\n" -#: pg_amcheck.c:1176 +#: pg_amcheck.c:1224 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version affiche la version puis quitte\n" -#: pg_amcheck.c:1177 +#: pg_amcheck.c:1225 #, c-format msgid " --install-missing install missing extensions\n" msgstr " --install-missing installe les extensions manquantes\n" -#: pg_amcheck.c:1178 +#: pg_amcheck.c:1226 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help affiche cette aide puis quitte\n" -#: pg_amcheck.c:1180 +#: pg_amcheck.c:1228 #, c-format msgid "" "\n" @@ -507,99 +619,52 @@ msgstr "" "\n" "Rapporter les bogues à <%s>.\n" -#: pg_amcheck.c:1181 +#: pg_amcheck.c:1229 #, c-format msgid "%s home page: <%s>\n" msgstr "Page d'accueil de %s : <%s>\n" -#: pg_amcheck.c:1234 +#: pg_amcheck.c:1282 #, c-format msgid "%*s/%s relations (%d%%), %*s/%s pages (%d%%) %*s" msgstr "relations %*s/%s (%d%%), blocs %*s/%s (%d%%) %*s" -#: pg_amcheck.c:1245 +#: pg_amcheck.c:1293 #, c-format msgid "%*s/%s relations (%d%%), %*s/%s pages (%d%%) (%s%-*.*s)" msgstr "relations %*s/%s (%d%%), blocs %*s/%s (%d%%) (%s%-*.*s)" -#: pg_amcheck.c:1260 +#: pg_amcheck.c:1308 #, c-format msgid "%*s/%s relations (%d%%), %*s/%s pages (%d%%)" msgstr "relations %*s/%s (%d%%), blocs %*s/%s (%d%%)" -#: pg_amcheck.c:1319 pg_amcheck.c:1352 +#: pg_amcheck.c:1367 pg_amcheck.c:1400 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "mauvaise qualification du nom (trop de points entre les noms) : %s" -#: pg_amcheck.c:1397 +#: pg_amcheck.c:1445 #, c-format msgid "improper relation name (too many dotted names): %s" msgstr "nom de relation incorrecte (trop de points entre les noms) : %s" -#: pg_amcheck.c:1550 pg_amcheck.c:1689 +#: pg_amcheck.c:1598 pg_amcheck.c:1737 #, c-format msgid "including database \"%s\"" msgstr "en incluant la base de données : « %s »" -#: pg_amcheck.c:1671 +#: pg_amcheck.c:1719 #, c-format msgid "internal error: received unexpected database pattern_id %d" msgstr "erreur interne : a reçu un pattern_id %d inattendu de la base" -#: pg_amcheck.c:1673 +#: pg_amcheck.c:1721 #, c-format msgid "no connectable databases to check matching \"%s\"" msgstr "aucune base de données connectable à vérifier correspondant à « %s »" -#: pg_amcheck.c:2131 +#: pg_amcheck.c:2179 #, c-format msgid "internal error: received unexpected relation pattern_id %d" msgstr "erreur interne : a reçu un pattern_id %d inattendu de la relation" - -#~ msgid "" -#~ "\n" -#~ "Other Options:\n" -#~ msgstr "" -#~ "\n" -#~ "Autres options:\n" - -#~ msgid " -?, --help show this help, then exit\n" -#~ msgstr " -?, --help affiche cette aide, puis quitte\n" - -#~ msgid " -V, --version output version information, then exit\n" -#~ msgstr " -V, --version affiche la version, puis quitte\n" - -#~ msgid " -e, --echo show the commands being sent to the server\n" -#~ msgstr " -e, --echo affiche les commandes envoyées au serveur\n" - -#~ msgid " -q, --quiet don't write any messages\n" -#~ msgstr " -q, --quiet n'écrit aucun message\n" - -#~ msgid " -q, --quiet don't write any messages\n" -#~ msgstr " -q, --quiet n'écrit aucun message\n" - -#~ msgid " -v, --verbose write a lot of output\n" -#~ msgstr " -v, --verbose mode verbeux\n" - -#, c-format -#~ msgid "Try \"%s --help\" for more information.\n" -#~ msgstr "Essayez « %s --help » pour plus d'informations.\n" - -#, c-format -#~ msgid "command was: %s" -#~ msgstr "la commande était : %s" - -#, c-format -#~ msgid "fatal: " -#~ msgstr "fatal : " - -#~ msgid "invalid skip option" -#~ msgstr "option skip invalide" - -#, c-format -#~ msgid "number of parallel jobs must be at least 1" -#~ msgstr "le nombre maximum de jobs en parallèle doit être au moins de 1" - -#~ msgid "number of parallel jobs must be at least 1\n" -#~ msgstr "le nombre de jobs parallèles doit être au moins de 1\n" diff --git a/src/bin/pg_amcheck/po/ja.po b/src/bin/pg_amcheck/po/ja.po index 170a2dc2a4e..a4f67dfd211 100644 --- a/src/bin/pg_amcheck/po/ja.po +++ b/src/bin/pg_amcheck/po/ja.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_amcheck (PostgreSQL 17)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-06-14 11:23+0900\n" -"PO-Revision-Date: 2024-06-14 11:27+0900\n" +"POT-Creation-Date: 2024-08-28 10:42+0900\n" +"PO-Revision-Date: 2024-08-28 11:43+0900\n" "Last-Translator: Kyotaro Horiguchi \n" "Language-Team: \n" "Language: ja\n" @@ -18,22 +18,22 @@ msgstr "" "X-Generator: Poedit 1.8.13\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ../../../src/common/logging.c:276 +#: ../../../src/common/logging.c:278 #, c-format msgid "error: " msgstr "エラー: " -#: ../../../src/common/logging.c:283 +#: ../../../src/common/logging.c:285 #, c-format msgid "warning: " msgstr "警告: " -#: ../../../src/common/logging.c:294 +#: ../../../src/common/logging.c:296 #, c-format msgid "detail: " msgstr "詳細: " -#: ../../../src/common/logging.c:301 +#: ../../../src/common/logging.c:303 #, c-format msgid "hint: " msgstr "ヒント: " @@ -252,8 +252,8 @@ msgstr "データベース\"%1$s\"内: スキーマ\"%3$s\"内でamcheck バー #: pg_amcheck.c:624 #, c-format -msgid "--checkunique option is not supported by amcheck version \"%s\"" -msgstr "--checkuniqueオプションはamcheckバージョン\"%s\"ではサポートされていません" +msgid "option %s is not supported by amcheck version %s" +msgstr "%sオプションはamcheckバージョン\"%s\"ではサポートされていません" #: pg_amcheck.c:650 #, c-format diff --git a/src/bin/pg_amcheck/po/ka.po b/src/bin/pg_amcheck/po/ka.po index fb08fc2ae65..8cf7f280e24 100644 --- a/src/bin/pg_amcheck/po/ka.po +++ b/src/bin/pg_amcheck/po/ka.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_amcheck (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-06-14 02:22+0000\n" -"PO-Revision-Date: 2024-06-14 06:13+0200\n" +"POT-Creation-Date: 2024-08-27 16:52+0000\n" +"PO-Revision-Date: 2024-08-28 05:43+0200\n" "Last-Translator: Temuri Doghonadze \n" "Language-Team: Georgian \n" "Language: ka\n" @@ -252,8 +252,8 @@ msgstr "ბაზაში \"%s\": გამოიყენება amcheck-ი #: pg_amcheck.c:624 #, c-format -msgid "--checkunique option is not supported by amcheck version \"%s\"" -msgstr "--checkunique პარამეტრის მხარდაჭერა amcheck-ის ვერსიას \"%s\" არ გააჩნია" +msgid "option %s is not supported by amcheck version %s" +msgstr "პარამეტრის '%s' მხარდაჭერა amcheck-ის ვერსიას \"%s\" არ გააჩნია" #: pg_amcheck.c:650 #, c-format diff --git a/src/bin/pg_amcheck/po/ru.po b/src/bin/pg_amcheck/po/ru.po index c6be3badc0d..0889dfb2f8e 100644 --- a/src/bin/pg_amcheck/po/ru.po +++ b/src/bin/pg_amcheck/po/ru.po @@ -1,10 +1,10 @@ -# Alexander Lakhin , 2021, 2022. +# Alexander Lakhin , 2021, 2022, 2024. msgid "" msgstr "" "Project-Id-Version: pg_amcheck (PostgreSQL) 14\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-08-28 07:59+0300\n" -"PO-Revision-Date: 2022-09-05 13:33+0300\n" +"POT-Creation-Date: 2024-09-02 09:29+0300\n" +"PO-Revision-Date: 2024-09-05 08:23+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" @@ -32,11 +32,78 @@ msgstr "подробности: " msgid "hint: " msgstr "подсказка: " -#: ../../fe_utils/cancel.c:189 ../../fe_utils/cancel.c:238 +#: ../../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 "попытка дублирования нулевого указателя (внутренняя ошибка)\n" + +#: ../../common/file_utils.c:70 ../../common/file_utils.c:347 +#: ../../common/file_utils.c:406 ../../common/file_utils.c:480 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "не удалось открыть файл \"%s\": %m" + +#: ../../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\": %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 +#, c-format +msgid "could not open directory \"%s\": %m" +msgstr "не удалось открыть каталог \"%s\": %m" + +#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "не удалось прочитать каталог \"%s\": %m" + +#: ../../common/file_utils.c:418 ../../common/file_utils.c:488 +#, c-format +msgid "could not fsync file \"%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/username.c:43 +#, c-format +msgid "could not look up effective user ID %ld: %s" +msgstr "выяснить эффективный идентификатор пользователя (%ld) не удалось: %s" + +#: ../../common/username.c:45 +msgid "user does not exist" +msgstr "пользователь не существует" + +#: ../../common/username.c:60 +#, c-format +msgid "user name lookup failure: error code %lu" +msgstr "распознать имя пользователя не удалось (код ошибки: %lu)" + +#: ../../fe_utils/cancel.c:186 ../../fe_utils/cancel.c:235 msgid "Cancel request sent\n" msgstr "Сигнал отмены отправлен\n" -#: ../../fe_utils/cancel.c:190 ../../fe_utils/cancel.c:239 +#: ../../fe_utils/cancel.c:187 ../../fe_utils/cancel.c:236 msgid "Could not send cancel request: " msgstr "Отправить сигнал отмены не удалось: " @@ -60,160 +127,203 @@ msgstr "неверное значение \"%s\" для параметра %s" 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" + +#: ../../fe_utils/parallel_slot.c:317 +#, c-format +msgid "too many jobs for this platform: %d" +msgstr "слишком много заданий для этой платформы: %d" + +#: ../../fe_utils/parallel_slot.c:326 +#, c-format +msgid "socket file descriptor out of range for select(): %d" +msgstr "дескриптор файла сокета вне диапазона, допустимого для select(): %d" + +#: ../../fe_utils/parallel_slot.c:328 +#, c-format +msgid "Try fewer jobs." +msgstr "Попробуйте уменьшить количество заданий." + +#: ../../fe_utils/parallel_slot.c:553 +#, c-format +msgid "processing of database \"%s\" failed: %s" +msgstr "ошибка при обработке базы \"%s\": %s" + #: ../../fe_utils/query_utils.c:33 ../../fe_utils/query_utils.c:58 -#: pg_amcheck.c:1647 pg_amcheck.c:2092 +#: pg_amcheck.c:1693 pg_amcheck.c:2138 #, c-format msgid "query failed: %s" msgstr "ошибка при выполнении запроса: %s" #: ../../fe_utils/query_utils.c:34 ../../fe_utils/query_utils.c:59 -#: pg_amcheck.c:571 pg_amcheck.c:1102 pg_amcheck.c:1648 pg_amcheck.c:2093 +#: pg_amcheck.c:578 pg_amcheck.c:1147 pg_amcheck.c:1694 pg_amcheck.c:2139 #, c-format msgid "Query was: %s" msgstr "Выполнялся запрос: %s" -#: pg_amcheck.c:399 +#: ../../fe_utils/string_utils.c:434 +#, c-format +msgid "shell command argument contains a newline or carriage return: \"%s\"\n" +msgstr "" +"аргумент команды оболочки содержит символ новой строки или перевода каретки: " +"\"%s\"\n" + +#: ../../fe_utils/string_utils.c:607 +#, c-format +msgid "database name contains a newline or carriage return: \"%s\"\n" +msgstr "" +"имя базы данных содержит символ новой строки или перевода каретки: \"%s\"\n" + +#: pg_amcheck.c:403 #, c-format msgid "invalid argument for option %s" msgstr "недопустимый аргумент параметра %s" -#: pg_amcheck.c:405 +#: pg_amcheck.c:409 #, c-format msgid "invalid start block" msgstr "неверный начальный блок" -#: pg_amcheck.c:407 +#: pg_amcheck.c:411 #, c-format msgid "start block out of bounds" msgstr "начальный блок вне допустимых пределов" -#: pg_amcheck.c:414 +#: pg_amcheck.c:418 #, c-format msgid "invalid end block" msgstr "неверный конечный блок" -#: pg_amcheck.c:416 +#: pg_amcheck.c:420 #, c-format msgid "end block out of bounds" msgstr "конечный блок вне допустимых пределов" -#: pg_amcheck.c:439 pg_amcheck.c:461 +#: pg_amcheck.c:446 pg_amcheck.c:468 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Для дополнительной информации попробуйте \"%s --help\"." -#: pg_amcheck.c:445 +#: pg_amcheck.c:452 #, c-format msgid "end block precedes start block" msgstr "конечный блок предшествует начальному" -#: pg_amcheck.c:459 +#: pg_amcheck.c:466 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "слишком много аргументов командной строки (первый: \"%s\")" -#: pg_amcheck.c:479 +#: pg_amcheck.c:486 #, c-format msgid "cannot specify a database name with --all" msgstr "имя базы данных нельзя задавать с --all" -#: pg_amcheck.c:485 +#: pg_amcheck.c:492 #, c-format msgid "cannot specify both a database name and database patterns" msgstr "нельзя задавать одновременно имя базы данных и шаблоны имён" -#: pg_amcheck.c:513 +#: pg_amcheck.c:520 #, c-format msgid "no databases to check" msgstr "не указаны базы для проверки" -#: pg_amcheck.c:569 +#: pg_amcheck.c:576 #, c-format msgid "database \"%s\": %s" msgstr "база данных \"%s\": %s" -#: pg_amcheck.c:580 +#: pg_amcheck.c:587 #, c-format msgid "skipping database \"%s\": amcheck is not installed" msgstr "база \"%s\" пропускается: расширение amcheck не установлено" -#: pg_amcheck.c:588 +#: pg_amcheck.c:595 #, c-format msgid "in database \"%s\": using amcheck version \"%s\" in schema \"%s\"" msgstr "база \"%s\": используется amcheck версии \"%s\" в схеме \"%s\"" -#: pg_amcheck.c:610 +#: pg_amcheck.c:624 +#, c-format +msgid "option %s is not supported by amcheck version %s" +msgstr "параметр %s не поддерживается версией amcheck %s" + +#: pg_amcheck.c:650 #, c-format msgid "no heap tables to check matching \"%s\"" msgstr "не найдены подлежащие проверке базовые таблицы, соответствующие \"%s\"" -#: pg_amcheck.c:613 +#: pg_amcheck.c:653 #, c-format msgid "no btree indexes to check matching \"%s\"" msgstr "не найдены подлежащие проверке индексы btree, соответствующие \"%s\"" -#: pg_amcheck.c:616 +#: pg_amcheck.c:656 #, c-format msgid "no relations to check in schemas matching \"%s\"" msgstr "" "не найдены подлежащие проверке отношения в схемах, соответствующих \"%s\"" -#: pg_amcheck.c:619 +#: pg_amcheck.c:659 #, c-format msgid "no relations to check matching \"%s\"" msgstr "не найдены подлежащие проверке отношения, соответствующие \"%s\"" -#: pg_amcheck.c:647 +#: pg_amcheck.c:687 #, c-format msgid "no relations to check" msgstr "не найдены отношения для проверки" -#: pg_amcheck.c:730 +#: pg_amcheck.c:770 #, c-format msgid "checking heap table \"%s.%s.%s\"" msgstr "проверка базовой таблицы \"%s.%s.%s\"" -#: pg_amcheck.c:746 +#: pg_amcheck.c:786 #, c-format msgid "checking btree index \"%s.%s.%s\"" msgstr "проверка индекса btree \"%s.%s.%s\"" -#: pg_amcheck.c:893 +#: pg_amcheck.c:937 #, c-format msgid "error sending command to database \"%s\": %s" msgstr "ошибка передачи команды базе \"%s\": %s" -#: pg_amcheck.c:896 +#: pg_amcheck.c:940 #, c-format msgid "Command was: %s" msgstr "Выполнялась команда: %s" -#: pg_amcheck.c:1015 +#: pg_amcheck.c:1060 #, c-format msgid "heap table \"%s.%s.%s\", block %s, offset %s, attribute %s:\n" msgstr "базовая таблица \"%s.%s.%s\", блок %s, смещение %s, атрибут %s:\n" -#: pg_amcheck.c:1022 +#: pg_amcheck.c:1067 #, c-format msgid "heap table \"%s.%s.%s\", block %s, offset %s:\n" msgstr "базовая таблица \"%s.%s.%s\", блок %s, смещение %s:\n" -#: pg_amcheck.c:1028 +#: pg_amcheck.c:1073 #, c-format msgid "heap table \"%s.%s.%s\", block %s:\n" msgstr "базовая таблица \"%s.%s.%s\", блок %s:\n" -#: pg_amcheck.c:1033 pg_amcheck.c:1044 +#: pg_amcheck.c:1078 pg_amcheck.c:1089 #, c-format msgid "heap table \"%s.%s.%s\":\n" msgstr "базовая таблица \"%s.%s.%s\":\n" -#: pg_amcheck.c:1048 pg_amcheck.c:1117 +#: pg_amcheck.c:1093 pg_amcheck.c:1162 #, c-format msgid "query was: %s\n" msgstr "запрос: %s\n" -#: pg_amcheck.c:1099 +#: pg_amcheck.c:1144 #, c-format msgid "" "btree index \"%s.%s.%s\": btree checking function returned unexpected number " @@ -222,17 +332,17 @@ msgstr "" "индекс btree \"%s.%s.%s\": функция проверки btree выдала неожиданное " "количество строк: %d" -#: pg_amcheck.c:1103 +#: pg_amcheck.c:1148 #, c-format msgid "Are %s's and amcheck's versions compatible?" msgstr "Совместимы ли версии %s и amcheck?" -#: pg_amcheck.c:1113 +#: pg_amcheck.c:1158 #, c-format msgid "btree index \"%s.%s.%s\":\n" msgstr "индекс btree \"%s.%s.%s\":\n" -#: pg_amcheck.c:1138 +#: pg_amcheck.c:1183 #, c-format msgid "" "%s checks objects in a PostgreSQL database for corruption.\n" @@ -241,17 +351,17 @@ msgstr "" "%s проверяет объекты в базе данных PostgreSQL на предмет повреждений.\n" "\n" -#: pg_amcheck.c:1139 +#: pg_amcheck.c:1184 #, c-format msgid "Usage:\n" msgstr "Использование:\n" -#: pg_amcheck.c:1140 +#: pg_amcheck.c:1185 #, c-format msgid " %s [OPTION]... [DBNAME]\n" msgstr " %s [ПАРАМЕТР]... [ИМЯ_БД]\n" -#: pg_amcheck.c:1141 +#: pg_amcheck.c:1186 #, c-format msgid "" "\n" @@ -260,77 +370,77 @@ msgstr "" "\n" "Параметры выбора объектов:\n" -#: pg_amcheck.c:1142 +#: pg_amcheck.c:1187 #, c-format msgid " -a, --all check all databases\n" msgstr " -a, --all проверить все базы\n" -#: pg_amcheck.c:1143 +#: pg_amcheck.c:1188 #, c-format msgid " -d, --database=PATTERN check matching database(s)\n" msgstr "" " -d, --database=ШАБЛОН проверить соответствующие шаблону базы\n" -#: pg_amcheck.c:1144 +#: pg_amcheck.c:1189 #, c-format msgid " -D, --exclude-database=PATTERN do NOT check matching database(s)\n" msgstr "" " -D, --exclude-database=ШАБЛОН не проверять соответствующие шаблону базы\n" -#: pg_amcheck.c:1145 +#: pg_amcheck.c:1190 #, c-format msgid " -i, --index=PATTERN check matching index(es)\n" msgstr "" " -i, --index=ШАБЛОН проверить соответствующие шаблону индексы\n" -#: pg_amcheck.c:1146 +#: pg_amcheck.c:1191 #, c-format msgid " -I, --exclude-index=PATTERN do NOT check matching index(es)\n" msgstr "" " -I, --exclude-index=ШАБЛОН не проверять соответствующие шаблону " "индексы\n" -#: pg_amcheck.c:1147 +#: pg_amcheck.c:1192 #, c-format msgid " -r, --relation=PATTERN check matching relation(s)\n" msgstr "" " -r, --relation=ШАБЛОН проверить соответствующие шаблону " "отношения\n" -#: pg_amcheck.c:1148 +#: pg_amcheck.c:1193 #, c-format msgid " -R, --exclude-relation=PATTERN do NOT check matching relation(s)\n" msgstr "" " -R, --exclude-relation=ШАБЛОН не проверять соответствующие шаблону " "отношения\n" -#: pg_amcheck.c:1149 +#: pg_amcheck.c:1194 #, c-format msgid " -s, --schema=PATTERN check matching schema(s)\n" msgstr "" " -s, --schema=ШАБЛОН проверить соответствующие шаблону схемы\n" -#: pg_amcheck.c:1150 +#: pg_amcheck.c:1195 #, c-format msgid " -S, --exclude-schema=PATTERN do NOT check matching schema(s)\n" msgstr "" " -S, --exclude-schema=ШАБЛОН не проверять соответствующие шаблону " "схемы\n" -#: pg_amcheck.c:1151 +#: pg_amcheck.c:1196 #, c-format msgid " -t, --table=PATTERN check matching table(s)\n" msgstr "" " -t, --table=ШАБЛОН проверить соответствующие шаблону таблицы\n" -#: pg_amcheck.c:1152 +#: pg_amcheck.c:1197 #, c-format msgid " -T, --exclude-table=PATTERN do NOT check matching table(s)\n" msgstr "" " -T, --exclude-table=ШАБЛОН не проверять соответствующие шаблону " "таблицы\n" -#: pg_amcheck.c:1153 +#: pg_amcheck.c:1198 #, c-format msgid "" " --no-dependent-indexes do NOT expand list of relations to include " @@ -339,7 +449,7 @@ msgstr "" " --no-dependent-indexes не включать в список проверяемых отношений " "индексы\n" -#: pg_amcheck.c:1154 +#: pg_amcheck.c:1199 #, c-format msgid "" " --no-dependent-toast do NOT expand list of relations to include " @@ -348,7 +458,7 @@ msgstr "" " --no-dependent-toast не включать в список проверяемых отношений " "TOAST-таблицы\n" -#: pg_amcheck.c:1155 +#: pg_amcheck.c:1200 #, c-format msgid "" " --no-strict-names do NOT require patterns to match objects\n" @@ -356,7 +466,7 @@ msgstr "" " --no-strict-names не требовать наличия объектов, " "соответствующих шаблонам\n" -#: pg_amcheck.c:1156 +#: pg_amcheck.c:1201 #, c-format msgid "" "\n" @@ -365,14 +475,14 @@ msgstr "" "\n" "Параметры проверки таблиц:\n" -#: pg_amcheck.c:1157 +#: pg_amcheck.c:1202 #, c-format msgid "" " --exclude-toast-pointers do NOT follow relation TOAST pointers\n" msgstr "" " --exclude-toast-pointers не переходить по указателям в TOAST\n" -#: pg_amcheck.c:1158 +#: pg_amcheck.c:1203 #, c-format msgid "" " --on-error-stop stop checking at end of first corrupt " @@ -381,7 +491,7 @@ msgstr "" " --on-error-stop прекратить проверку по достижении конца " "первой повреждённой страницы\n" -#: pg_amcheck.c:1159 +#: pg_amcheck.c:1204 #, c-format msgid "" " --skip=OPTION do NOT check \"all-frozen\" or \"all-" @@ -390,7 +500,7 @@ msgstr "" " --skip=ТИП_БЛОКА не проверять блоки типа \"all-frozen\" или " "\"all-visible\"\n" -#: pg_amcheck.c:1160 +#: pg_amcheck.c:1205 #, c-format msgid "" " --startblock=BLOCK begin checking table(s) at the given block " @@ -400,7 +510,7 @@ msgstr "" "заданным номером\n" # skip-rule: no-space-before-parentheses -#: pg_amcheck.c:1161 +#: pg_amcheck.c:1206 #, c-format msgid "" " --endblock=BLOCK check table(s) only up to the given block " @@ -409,7 +519,7 @@ msgstr "" " --endblock=БЛОК проверить таблицы(у) до блока с заданным " "номером\n" -#: pg_amcheck.c:1162 +#: pg_amcheck.c:1207 #, c-format msgid "" "\n" @@ -418,7 +528,16 @@ msgstr "" "\n" "Параметры проверки индексов-B-деревьев:\n" -#: pg_amcheck.c:1163 +#: pg_amcheck.c:1208 +#, c-format +msgid "" +" --checkunique check unique constraint if index is " +"unique\n" +msgstr "" +" --checkunique проверить ограничение уникальности для " +"уникальных индексов\n" + +#: pg_amcheck.c:1209 #, c-format msgid "" " --heapallindexed check that all heap tuples are found " @@ -427,7 +546,7 @@ msgstr "" " --heapallindexed проверить, что всем кортежам кучи " "находится соответствие в индексах\n" -#: pg_amcheck.c:1164 +#: pg_amcheck.c:1210 #, c-format msgid "" " --parent-check check index parent/child relationships\n" @@ -435,7 +554,7 @@ msgstr "" " --parent-check проверить связи родитель/потомок в " "индексах\n" -#: pg_amcheck.c:1165 +#: pg_amcheck.c:1211 #, c-format msgid "" " --rootdescend search from root page to refind tuples\n" @@ -443,7 +562,7 @@ msgstr "" " --rootdescend перепроверять поиск кортежей от корневой " "страницы\n" -#: pg_amcheck.c:1166 +#: pg_amcheck.c:1212 #, c-format msgid "" "\n" @@ -452,42 +571,42 @@ msgstr "" "\n" "Параметры подключения:\n" -#: pg_amcheck.c:1167 +#: pg_amcheck.c:1213 #, c-format msgid "" " -h, --host=HOSTNAME database server host or socket directory\n" msgstr "" -" -h, --host=ИМЯ имя сервера баз данных или каталог " -"сокетов\n" +" -h, --host=ИМЯ компьютер с сервером баз данных или " +"каталог сокетов\n" -#: pg_amcheck.c:1168 +#: pg_amcheck.c:1214 #, c-format msgid " -p, --port=PORT database server port\n" msgstr " -p, --port=ПОРТ порт сервера баз данных\n" -#: pg_amcheck.c:1169 +#: pg_amcheck.c:1215 #, c-format msgid " -U, --username=USERNAME user name to connect as\n" msgstr "" " -U, --username=ИМЯ имя пользователя для подключения к " "серверу\n" -#: pg_amcheck.c:1170 +#: pg_amcheck.c:1216 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password не запрашивать пароль\n" -#: pg_amcheck.c:1171 +#: pg_amcheck.c:1217 #, c-format msgid " -W, --password force password prompt\n" msgstr " -W, --password запросить пароль\n" -#: pg_amcheck.c:1172 +#: pg_amcheck.c:1218 #, c-format msgid " --maintenance-db=DBNAME alternate maintenance database\n" msgstr " --maintenance-db=ИМЯ_БД другая опорная база данных\n" -#: pg_amcheck.c:1173 +#: pg_amcheck.c:1219 #, c-format msgid "" "\n" @@ -496,7 +615,7 @@ msgstr "" "\n" "Другие параметры:\n" -#: pg_amcheck.c:1174 +#: pg_amcheck.c:1220 #, c-format msgid "" " -e, --echo show the commands being sent to the " @@ -504,7 +623,7 @@ msgid "" msgstr "" " -e, --echo отображать команды, отправляемые серверу\n" -#: pg_amcheck.c:1175 +#: pg_amcheck.c:1221 #, c-format msgid "" " -j, --jobs=NUM use this many concurrent connections to " @@ -513,33 +632,33 @@ msgstr "" " -j, --jobs=ЧИСЛО устанавливать заданное число подключений к " "серверу\n" -#: pg_amcheck.c:1176 +#: pg_amcheck.c:1222 #, c-format msgid " -P, --progress show progress information\n" msgstr " -P, --progress показывать прогресс операции\n" -#: pg_amcheck.c:1177 +#: pg_amcheck.c:1223 #, c-format msgid " -v, --verbose write a lot of output\n" msgstr " -v, --verbose выводить исчерпывающие сообщения\n" -#: pg_amcheck.c:1178 +#: pg_amcheck.c:1224 #, c-format msgid "" " -V, --version output version information, then exit\n" msgstr " -V, --version показать версию и выйти\n" -#: pg_amcheck.c:1179 +#: pg_amcheck.c:1225 #, c-format msgid " --install-missing install missing extensions\n" msgstr " --install-missing установить недостающие расширения\n" -#: pg_amcheck.c:1180 +#: pg_amcheck.c:1226 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help показать эту справку и выйти\n" -#: pg_amcheck.c:1182 +#: pg_amcheck.c:1228 #, c-format msgid "" "\n" @@ -548,53 +667,53 @@ msgstr "" "\n" "Об ошибках сообщайте по адресу <%s>.\n" -#: pg_amcheck.c:1183 +#: pg_amcheck.c:1229 #, c-format msgid "%s home page: <%s>\n" msgstr "Домашняя страница %s: <%s>\n" -#: pg_amcheck.c:1236 +#: pg_amcheck.c:1282 #, c-format msgid "%*s/%s relations (%d%%), %*s/%s pages (%d%%) %*s" msgstr "отношений: %*s/%s (%d%%), страниц: %*s/%s (%d%%) %*s" -#: pg_amcheck.c:1247 +#: pg_amcheck.c:1293 #, c-format msgid "%*s/%s relations (%d%%), %*s/%s pages (%d%%) (%s%-*.*s)" msgstr "отношений: %*s/%s (%d%%), страниц: %*s/%s (%d%%) (%s%-*.*s)" -#: pg_amcheck.c:1262 +#: pg_amcheck.c:1308 #, c-format msgid "%*s/%s relations (%d%%), %*s/%s pages (%d%%)" msgstr "отношений: %*s/%s (%d%%), страниц: %*s/%s (%d%%)" -#: pg_amcheck.c:1321 pg_amcheck.c:1354 +#: pg_amcheck.c:1367 pg_amcheck.c:1400 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "неверное полное имя (слишком много компонентов): %s" -#: pg_amcheck.c:1399 +#: pg_amcheck.c:1445 #, c-format msgid "improper relation name (too many dotted names): %s" msgstr "неверное имя отношения (слишком много компонентов): %s" -#: pg_amcheck.c:1552 pg_amcheck.c:1691 +#: pg_amcheck.c:1598 pg_amcheck.c:1737 #, c-format msgid "including database \"%s\"" msgstr "выбирается база \"%s\"" -#: pg_amcheck.c:1673 +#: pg_amcheck.c:1719 #, c-format msgid "internal error: received unexpected database pattern_id %d" msgstr "внутренняя ошибка: получен неожиданный идентификатор шаблона базы %d" -#: pg_amcheck.c:1675 +#: pg_amcheck.c:1721 #, c-format msgid "no connectable databases to check matching \"%s\"" msgstr "" "не найдены подлежащие проверке доступные базы, соответствующие шаблону \"%s\"" -#: pg_amcheck.c:2133 +#: pg_amcheck.c:2179 #, c-format msgid "internal error: received unexpected relation pattern_id %d" msgstr "" diff --git a/src/bin/pg_amcheck/po/sv.po b/src/bin/pg_amcheck/po/sv.po index 2a9ee08207d..6db26dc7376 100644 --- a/src/bin/pg_amcheck/po/sv.po +++ b/src/bin/pg_amcheck/po/sv.po @@ -1,14 +1,14 @@ # SWEDISH message translation file for pg_amcheck # Copyright (C) 2021 PostgreSQL Global Development Group # This file is distributed under the same license as the pg_amcheck (PostgreSQL) package. -# Dennis Björklund , 2021, 2022. +# Dennis Björklund , 2021, 2022, 2023, 2024. # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 15\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-05-09 18:50+0000\n" -"PO-Revision-Date: 2023-09-05 08:59+0200\n" +"POT-Creation-Date: 2024-08-27 15:52+0000\n" +"PO-Revision-Date: 2024-08-27 18:29+0200\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -16,31 +16,98 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../../../src/common/logging.c:277 +#: ../../../src/common/logging.c:276 #, c-format msgid "error: " msgstr "fel: " -#: ../../../src/common/logging.c:284 +#: ../../../src/common/logging.c:283 #, c-format msgid "warning: " msgstr "varning: " -#: ../../../src/common/logging.c:295 +#: ../../../src/common/logging.c:294 #, c-format msgid "detail: " msgstr "detalj: " -#: ../../../src/common/logging.c:302 +#: ../../../src/common/logging.c:301 #, c-format msgid "hint: " msgstr "tips: " -#: ../../fe_utils/cancel.c:189 ../../fe_utils/cancel.c:238 +#: ../../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 "slut på minne\n" + +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 +#, c-format +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "kan inte duplicera null-pekare (internt fel)\n" + +#: ../../common/file_utils.c:70 ../../common/file_utils.c:347 +#: ../../common/file_utils.c:406 ../../common/file_utils.c:480 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "kunde inte öppna fil \"%s\": %m" + +#: ../../common/file_utils.c:76 +#, c-format +msgid "could not synchronize file system for file \"%s\": %m" +msgstr "kan inte synkronisera filsystemet för fil \"%s\": %m" + +#: ../../common/file_utils.c:120 ../../common/file_utils.c:566 +#, c-format +msgid "could not stat file \"%s\": %m" +msgstr "kunde inte göra stat() på fil \"%s\": %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 "detta bygge stöder inte synkmetod \"%s\"" + +#: ../../common/file_utils.c:151 ../../common/file_utils.c:281 +#, 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 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "kunde inte läsa katalog \"%s\": %m" + +#: ../../common/file_utils.c:418 ../../common/file_utils.c:488 +#, c-format +msgid "could not fsync file \"%s\": %m" +msgstr "kunde inte fsync:a fil \"%s\": %m" + +#: ../../common/file_utils.c:498 +#, c-format +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "kunde inte döpa om fil \"%s\" till \"%s\": %m" + +#: ../../common/username.c:43 +#, c-format +msgid "could not look up effective user ID %ld: %s" +msgstr "kunde inte slå upp effektivt användar-id %ld: %s" + +#: ../../common/username.c:45 +msgid "user does not exist" +msgstr "användaren finns inte" + +#: ../../common/username.c:60 +#, c-format +msgid "user name lookup failure: error code %lu" +msgstr "misslyckad sökning efter användarnamn: felkod %lu" + +#: ../../fe_utils/cancel.c:186 ../../fe_utils/cancel.c:235 msgid "Cancel request sent\n" msgstr "Förfrågan om avbrytning skickad\n" -#: ../../fe_utils/cancel.c:190 ../../fe_utils/cancel.c:239 +#: ../../fe_utils/cancel.c:187 ../../fe_utils/cancel.c:236 msgid "Could not send cancel request: " msgstr "Kunde inte skicka förfrågan om avbrytning: " @@ -49,7 +116,7 @@ msgstr "Kunde inte skicka förfrågan om avbrytning: " msgid "could not connect to database %s: out of memory" msgstr "kunde inte ansluta till databas %s: slut på minne" -#: ../../fe_utils/connect_utils.c:117 +#: ../../fe_utils/connect_utils.c:116 #, c-format msgid "%s" msgstr "%s" @@ -64,174 +131,214 @@ msgstr "ogiltigt värde \"%s\" för flaggan \"%s\"" msgid "%s must be in range %d..%d" msgstr "%s måste vara i intervallet %d..%d" +#: ../../fe_utils/option_utils.c:106 +#, c-format +msgid "unrecognized sync method: %s" +msgstr "okänd synkmetod: %s" + +#: ../../fe_utils/parallel_slot.c:317 +#, c-format +msgid "too many jobs for this platform: %d" +msgstr "för många jobb för denna plattform: %d" + +#: ../../fe_utils/parallel_slot.c:326 +#, c-format +msgid "socket file descriptor out of range for select(): %d" +msgstr "deskriptor-index utanför sitt intervall för select(): %d" + +#: ../../fe_utils/parallel_slot.c:328 +#, c-format +msgid "Try fewer jobs." +msgstr "Försök med färre job." + +#: ../../fe_utils/parallel_slot.c:553 +#, c-format +msgid "processing of database \"%s\" failed: %s" +msgstr "processande av databas \"%s\" misslyckades: %s" + #: ../../fe_utils/query_utils.c:33 ../../fe_utils/query_utils.c:58 -#: pg_amcheck.c:1645 pg_amcheck.c:2090 +#: pg_amcheck.c:1693 pg_amcheck.c:2138 #, c-format msgid "query failed: %s" msgstr "fråga misslyckades: %s" #: ../../fe_utils/query_utils.c:34 ../../fe_utils/query_utils.c:59 -#: pg_amcheck.c:571 pg_amcheck.c:1100 pg_amcheck.c:1646 pg_amcheck.c:2091 +#: pg_amcheck.c:578 pg_amcheck.c:1147 pg_amcheck.c:1694 pg_amcheck.c:2139 #, c-format msgid "Query was: %s" msgstr "Frågan var: %s" -#: pg_amcheck.c:399 +#: ../../fe_utils/string_utils.c:434 +#, 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 +#, c-format +msgid "database name contains a newline or carriage return: \"%s\"\n" +msgstr "databasnamnet innehåller nyrad eller vagnretur: \"%s\"\n" + +#: pg_amcheck.c:403 #, c-format msgid "invalid argument for option %s" msgstr "ogiltigt argument för flaggan %s" -#: pg_amcheck.c:405 +#: pg_amcheck.c:409 #, c-format msgid "invalid start block" msgstr "ogiltigt startblock" -#: pg_amcheck.c:407 +#: pg_amcheck.c:411 #, c-format msgid "start block out of bounds" msgstr "startblocket utanför giltig gräns" -#: pg_amcheck.c:414 +#: pg_amcheck.c:418 #, c-format msgid "invalid end block" msgstr "ogiltigt slutblock" -#: pg_amcheck.c:416 +#: pg_amcheck.c:420 #, c-format msgid "end block out of bounds" msgstr "slutblocket utanför giltig gräns" -#: pg_amcheck.c:439 pg_amcheck.c:461 +#: pg_amcheck.c:446 pg_amcheck.c:468 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Försök med \"%s --help\" för mer information." -#: pg_amcheck.c:445 +#: pg_amcheck.c:452 #, c-format msgid "end block precedes start block" msgstr "slutblocket kommer före startblocket" -#: pg_amcheck.c:459 +#: pg_amcheck.c:466 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "för många kommandoradsargument (första är \"%s\")" -#: pg_amcheck.c:479 +#: pg_amcheck.c:486 #, c-format msgid "cannot specify a database name with --all" msgstr "kan inte ange databasnamn tillsammans med --all" -#: pg_amcheck.c:485 +#: pg_amcheck.c:492 #, c-format msgid "cannot specify both a database name and database patterns" msgstr "kan inte ange både ett databasnamn och ett databasmönster" -#: pg_amcheck.c:513 +#: pg_amcheck.c:520 #, c-format msgid "no databases to check" msgstr "inga databaser att kontrollera" -#: pg_amcheck.c:569 +#: pg_amcheck.c:576 #, c-format msgid "database \"%s\": %s" msgstr "databas \"%s\": %s" -#: pg_amcheck.c:580 +#: pg_amcheck.c:587 #, c-format msgid "skipping database \"%s\": amcheck is not installed" msgstr "hoppar över databas \"%s\": amcheck är inte installerad" -#: pg_amcheck.c:588 +#: pg_amcheck.c:595 #, c-format msgid "in database \"%s\": using amcheck version \"%s\" in schema \"%s\"" msgstr "i databas \"%s\": använder amcheck version \"%s\" i schema \"%s\"" -#: pg_amcheck.c:610 +#: pg_amcheck.c:624 +#, c-format +msgid "option %s is not supported by amcheck version %s" +msgstr "flaggan %s stöds inte av amcheck version %s" + +#: pg_amcheck.c:650 #, c-format msgid "no heap tables to check matching \"%s\"" msgstr "finns inga heap-tabeller för att kontrollera matchning \"%s\"" -#: pg_amcheck.c:613 +#: pg_amcheck.c:653 #, c-format msgid "no btree indexes to check matching \"%s\"" msgstr "finns inga btree-index för att kontrollera matching \"%s\"" -#: pg_amcheck.c:616 +#: pg_amcheck.c:656 #, c-format msgid "no relations to check in schemas matching \"%s\"" msgstr "finns inga relationer att kontrollera i schemamatchning \"%s\"" -#: pg_amcheck.c:619 +#: pg_amcheck.c:659 #, c-format msgid "no relations to check matching \"%s\"" msgstr "finns inga relations för att kontrollera matching \"%s\"" -#: pg_amcheck.c:647 +#: pg_amcheck.c:687 #, c-format msgid "no relations to check" msgstr "finns inga relationer att kontrollera" -#: pg_amcheck.c:730 +#: pg_amcheck.c:770 #, c-format msgid "checking heap table \"%s.%s.%s\"" msgstr "kontrollerar heap-tabell \"%s.%s.%s\"" -#: pg_amcheck.c:746 +#: pg_amcheck.c:786 #, c-format msgid "checking btree index \"%s.%s.%s\"" msgstr "kontrollerar btree-index \"%s.%s.%s\"" -#: pg_amcheck.c:893 +#: pg_amcheck.c:937 #, c-format msgid "error sending command to database \"%s\": %s" msgstr "fel vid skickande av kommando till databas \"%s\": %s" -#: pg_amcheck.c:896 +#: pg_amcheck.c:940 #, c-format msgid "Command was: %s" msgstr "Kommandot var: %s" -#: pg_amcheck.c:1013 +#: pg_amcheck.c:1060 #, c-format msgid "heap table \"%s.%s.%s\", block %s, offset %s, attribute %s:\n" msgstr "heap-tabell \"%s.%s.%s\", block %s, offset %s, attribut %s:\n" -#: pg_amcheck.c:1020 +#: pg_amcheck.c:1067 #, c-format msgid "heap table \"%s.%s.%s\", block %s, offset %s:\n" msgstr "heap-tabell \"%s.%s.%s\", block %s, offset %s:\n" -#: pg_amcheck.c:1026 +#: pg_amcheck.c:1073 #, c-format msgid "heap table \"%s.%s.%s\", block %s:\n" msgstr "heap-tabell \"%s.%s.%s\", block %s:\n" -#: pg_amcheck.c:1031 pg_amcheck.c:1042 +#: pg_amcheck.c:1078 pg_amcheck.c:1089 #, c-format msgid "heap table \"%s.%s.%s\":\n" msgstr "heap-tabell \"%s.%s.%s\":\n" -#: pg_amcheck.c:1046 pg_amcheck.c:1115 +#: pg_amcheck.c:1093 pg_amcheck.c:1162 #, c-format msgid "query was: %s\n" msgstr "frågan var: %s\n" -#: pg_amcheck.c:1097 +#: pg_amcheck.c:1144 #, c-format msgid "btree index \"%s.%s.%s\": btree checking function returned unexpected number of rows: %d" msgstr "btree-index \"%s.%s.%s\": kontrollfunktion för btree returnerade oväntat antal rader: %d" -#: pg_amcheck.c:1101 +#: pg_amcheck.c:1148 #, c-format msgid "Are %s's and amcheck's versions compatible?" msgstr "Är versionerna på %s och amcheck kompatibla?" -#: pg_amcheck.c:1111 +#: pg_amcheck.c:1158 #, c-format msgid "btree index \"%s.%s.%s\":\n" msgstr "btree-index \"%s.%s.%s\":\n" -#: pg_amcheck.c:1136 +#: pg_amcheck.c:1183 #, c-format msgid "" "%s checks objects in a PostgreSQL database for corruption.\n" @@ -240,17 +347,17 @@ msgstr "" "%s kontrollerar objekt i en PostgreSQL-database för att hitta korruption.\n" "\n" -#: pg_amcheck.c:1137 +#: pg_amcheck.c:1184 #, c-format msgid "Usage:\n" msgstr "Användning:\n" -#: pg_amcheck.c:1138 +#: pg_amcheck.c:1185 #, c-format msgid " %s [OPTION]... [DBNAME]\n" msgstr " %s [FLAGGA]... [DBNAMN]\n" -#: pg_amcheck.c:1139 +#: pg_amcheck.c:1186 #, c-format msgid "" "\n" @@ -259,77 +366,77 @@ msgstr "" "\n" "Flaggor för destinationen:\n" -#: pg_amcheck.c:1140 +#: pg_amcheck.c:1187 #, c-format msgid " -a, --all check all databases\n" msgstr " -a, --all kontrollera alla databaser\n" -#: pg_amcheck.c:1141 +#: pg_amcheck.c:1188 #, c-format msgid " -d, --database=PATTERN check matching database(s)\n" msgstr " -d, --database=MALL kontrollera matchande databas(er)\n" -#: pg_amcheck.c:1142 +#: pg_amcheck.c:1189 #, c-format msgid " -D, --exclude-database=PATTERN do NOT check matching database(s)\n" msgstr " -D, --exclude-database=MALL kontrollera INTE matchande databas(er)\n" -#: pg_amcheck.c:1143 +#: pg_amcheck.c:1190 #, c-format msgid " -i, --index=PATTERN check matching index(es)\n" msgstr " -i, --index=MALL kontrollera matchande index\n" -#: pg_amcheck.c:1144 +#: pg_amcheck.c:1191 #, c-format msgid " -I, --exclude-index=PATTERN do NOT check matching index(es)\n" msgstr " -I, --exclude-index=MALL kontrollera INTE matchande index\n" -#: pg_amcheck.c:1145 +#: pg_amcheck.c:1192 #, c-format msgid " -r, --relation=PATTERN check matching relation(s)\n" msgstr " -r, --relation=MALL kontrollera matchande relation(er)\n" -#: pg_amcheck.c:1146 +#: pg_amcheck.c:1193 #, c-format msgid " -R, --exclude-relation=PATTERN do NOT check matching relation(s)\n" msgstr " -R, --exclude-relation=MALL kontrollera INTE matchande relation(er)\n" -#: pg_amcheck.c:1147 +#: pg_amcheck.c:1194 #, c-format msgid " -s, --schema=PATTERN check matching schema(s)\n" msgstr " -s, --schema=MALL kontrollera matchande schema(n)\n" -#: pg_amcheck.c:1148 +#: pg_amcheck.c:1195 #, c-format msgid " -S, --exclude-schema=PATTERN do NOT check matching schema(s)\n" msgstr " -S, --exclude-schema=MALL kontrollera INTE matchande schema(n)\n" -#: pg_amcheck.c:1149 +#: pg_amcheck.c:1196 #, c-format msgid " -t, --table=PATTERN check matching table(s)\n" msgstr " -t, --table=MALL kontollera matchande tabell(er)\n" -#: pg_amcheck.c:1150 +#: pg_amcheck.c:1197 #, c-format msgid " -T, --exclude-table=PATTERN do NOT check matching table(s)\n" msgstr " -T, --exclude-table=MALL kontollera INTE matchande tabell(er)\n" -#: pg_amcheck.c:1151 +#: pg_amcheck.c:1198 #, c-format msgid " --no-dependent-indexes do NOT expand list of relations to include indexes\n" msgstr " --no-dependent-indexes expandera INTE listan med relationer för att inkludera index\n" -#: pg_amcheck.c:1152 +#: pg_amcheck.c:1199 #, c-format msgid " --no-dependent-toast do NOT expand list of relations to include TOAST tables\n" msgstr " --no-dependent-toast expandera inte listan av relationer för att inkludera TOAST-tabeller\n" -#: pg_amcheck.c:1153 +#: pg_amcheck.c:1200 #, c-format msgid " --no-strict-names do NOT require patterns to match objects\n" msgstr " --no-strict-names kräv INTE mallar för matcha objekt\n" -#: pg_amcheck.c:1154 +#: pg_amcheck.c:1201 #, c-format msgid "" "\n" @@ -338,32 +445,32 @@ msgstr "" "\n" "Flaggor för kontroll av tabeller:\n" -#: pg_amcheck.c:1155 +#: pg_amcheck.c:1202 #, c-format msgid " --exclude-toast-pointers do NOT follow relation TOAST pointers\n" msgstr " --exclude-toast-pointers följ INTE relationers TOAST-pekare\n" -#: pg_amcheck.c:1156 +#: pg_amcheck.c:1203 #, c-format msgid " --on-error-stop stop checking at end of first corrupt page\n" msgstr " --on-error-stop sluta kontrollera efter första korrupta sidan\n" -#: pg_amcheck.c:1157 +#: pg_amcheck.c:1204 #, c-format msgid " --skip=OPTION do NOT check \"all-frozen\" or \"all-visible\" blocks\n" msgstr " --skip=FLAGGA kontrollera INTE block som är \"all-frozen\" eller \"all-visible\"\n" -#: pg_amcheck.c:1158 +#: pg_amcheck.c:1205 #, c-format msgid " --startblock=BLOCK begin checking table(s) at the given block number\n" msgstr " --startblock=BLOCK börja kontollera tabell(er) vid angivet blocknummer\n" -#: pg_amcheck.c:1159 +#: pg_amcheck.c:1206 #, c-format msgid " --endblock=BLOCK check table(s) only up to the given block number\n" msgstr " --endblock=BLOCK kontrollera tabell(er) fram till angivet blocknummer\n" -#: pg_amcheck.c:1160 +#: pg_amcheck.c:1207 #, c-format msgid "" "\n" @@ -372,22 +479,27 @@ msgstr "" "\n" "Flaggor för kontroll av B-tree-index:\n" -#: pg_amcheck.c:1161 +#: pg_amcheck.c:1208 +#, c-format +msgid " --checkunique check unique constraint if index is unique\n" +msgstr " --checkunique verifiera unik-villkor om indexet är unikt\n" + +#: pg_amcheck.c:1209 #, c-format msgid " --heapallindexed check that all heap tuples are found within indexes\n" msgstr " --heapallindexed kontrollera att alla heap-tupler hittas i index\n" -#: pg_amcheck.c:1162 +#: pg_amcheck.c:1210 #, c-format msgid " --parent-check check index parent/child relationships\n" msgstr " --parent-check kontrollera förhållandet mellan barn/förälder i index\n" -#: pg_amcheck.c:1163 +#: pg_amcheck.c:1211 #, c-format msgid " --rootdescend search from root page to refind tuples\n" msgstr " --rootdescend sök från root-sidan för att återfinna tupler\n" -#: pg_amcheck.c:1164 +#: pg_amcheck.c:1212 #, c-format msgid "" "\n" @@ -396,37 +508,37 @@ msgstr "" "\n" "Flaggor för anslutning:\n" -#: pg_amcheck.c:1165 +#: pg_amcheck.c:1213 #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr " -h, --host=VÄRDNAMN databasens värdnamn eller socketkatalog\n" -#: pg_amcheck.c:1166 +#: pg_amcheck.c:1214 #, c-format msgid " -p, --port=PORT database server port\n" msgstr " -p, --port=PORT databasserverns port\n" -#: pg_amcheck.c:1167 +#: pg_amcheck.c:1215 #, c-format msgid " -U, --username=USERNAME user name to connect as\n" msgstr " -U, --username=ANVÄNDARE användarnamn att ansluta som\n" -#: pg_amcheck.c:1168 +#: pg_amcheck.c:1216 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password fråga ej efter lösenord\n" -#: pg_amcheck.c:1169 +#: pg_amcheck.c:1217 #, c-format msgid " -W, --password force password prompt\n" msgstr " -W, --password tvinga fram lösenordsfråga\n" -#: pg_amcheck.c:1170 +#: pg_amcheck.c:1218 #, c-format msgid " --maintenance-db=DBNAME alternate maintenance database\n" msgstr " --maintenance-db=DBNAMN val av underhållsdatabas\n" -#: pg_amcheck.c:1171 +#: pg_amcheck.c:1219 #, c-format msgid "" "\n" @@ -435,42 +547,42 @@ msgstr "" "\n" "Andra flaggor:\n" -#: pg_amcheck.c:1172 +#: pg_amcheck.c:1220 #, c-format msgid " -e, --echo show the commands being sent to the server\n" msgstr " -e, --echo visa kommandon som skickas till servern\n" -#: pg_amcheck.c:1173 +#: pg_amcheck.c:1221 #, c-format msgid " -j, --jobs=NUM use this many concurrent connections to the server\n" msgstr " -j, --jobs=NUM antal samtidiga anslutningar till servern\n" -#: pg_amcheck.c:1174 +#: pg_amcheck.c:1222 #, c-format msgid " -P, --progress show progress information\n" msgstr " -P, --progress visa förloppsinformation\n" -#: pg_amcheck.c:1175 +#: pg_amcheck.c:1223 #, c-format msgid " -v, --verbose write a lot of output\n" msgstr " -v, --verbose skriv massor med utdata\n" -#: pg_amcheck.c:1176 +#: pg_amcheck.c:1224 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version visa versionsinformation, avsluta sedan\n" -#: pg_amcheck.c:1177 +#: pg_amcheck.c:1225 #, c-format msgid " --install-missing install missing extensions\n" msgstr " --install-missing installera utökningar som saknas\n" -#: pg_amcheck.c:1178 +#: pg_amcheck.c:1226 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help visa denna hjälp, avsluta sedan\n" -#: pg_amcheck.c:1180 +#: pg_amcheck.c:1228 #, c-format msgid "" "\n" @@ -479,68 +591,52 @@ msgstr "" "\n" "Rapportera fel till <%s>.\n" -#: pg_amcheck.c:1181 +#: pg_amcheck.c:1229 #, c-format msgid "%s home page: <%s>\n" msgstr "hemsida för %s: <%s>\n" -#: pg_amcheck.c:1234 +#: pg_amcheck.c:1282 #, c-format msgid "%*s/%s relations (%d%%), %*s/%s pages (%d%%) %*s" msgstr "%*s/%s relationer (%d%%), %*s/%s sidor (%d%%) %*s" -#: pg_amcheck.c:1245 +#: pg_amcheck.c:1293 #, c-format msgid "%*s/%s relations (%d%%), %*s/%s pages (%d%%) (%s%-*.*s)" msgstr "%*s/%s relationer (%d%%), %*s/%s sidor (%d%%) (%s%-*.*s)" -#: pg_amcheck.c:1260 +#: pg_amcheck.c:1308 #, c-format msgid "%*s/%s relations (%d%%), %*s/%s pages (%d%%)" msgstr "%*s/%s relationer (%d%%), %*s/%s sidor (%d%%)" -#: pg_amcheck.c:1319 pg_amcheck.c:1352 +#: pg_amcheck.c:1367 pg_amcheck.c:1400 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "ej korrekt kvalificerat namn (för många namn med punkt): %s" -#: pg_amcheck.c:1397 +#: pg_amcheck.c:1445 #, c-format msgid "improper relation name (too many dotted names): %s" msgstr "ej korrekt relationsnamn (för många namn med punkt): %s" -#: pg_amcheck.c:1550 pg_amcheck.c:1689 +#: pg_amcheck.c:1598 pg_amcheck.c:1737 #, c-format msgid "including database \"%s\"" msgstr "inkludera databas \"%s\"" -#: pg_amcheck.c:1671 +#: pg_amcheck.c:1719 #, c-format msgid "internal error: received unexpected database pattern_id %d" msgstr "internt fel: tog emot oväntat pattern_id %d för databas" -#: pg_amcheck.c:1673 +#: pg_amcheck.c:1721 #, c-format msgid "no connectable databases to check matching \"%s\"" msgstr "finns inga anslutningsbara databaser att kontrollera som matchar \"%s\"" -#: pg_amcheck.c:2131 +#: pg_amcheck.c:2179 #, c-format msgid "internal error: received unexpected relation pattern_id %d" msgstr "internt fel: tog emot oväntat pattern_id %d för relation" - -#, c-format -#~ msgid "Try \"%s --help\" for more information.\n" -#~ msgstr "Försök med \"%s --help\" för mer information.\n" - -#, c-format -#~ msgid "command was: %s" -#~ msgstr "kommandot var: %s" - -#, c-format -#~ msgid "fatal: " -#~ msgstr "fatalt: " - -#, c-format -#~ msgid "number of parallel jobs must be at least 1" -#~ msgstr "antalet parallella jobb måste vara minst 1" diff --git a/src/bin/pg_amcheck/po/uk.po b/src/bin/pg_amcheck/po/uk.po index 601e0434da1..7ce979b0ea8 100644 --- a/src/bin/pg_amcheck/po/uk.po +++ b/src/bin/pg_amcheck/po/uk.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: postgresql\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-08-12 10:50+0000\n" -"PO-Revision-Date: 2022-09-13 11:52\n" +"POT-Creation-Date: 2024-08-31 06:23+0000\n" +"PO-Revision-Date: 2024-09-23 19:38\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -14,8 +14,8 @@ msgstr "" "X-Crowdin-Project: postgresql\n" "X-Crowdin-Project-ID: 324573\n" "X-Crowdin-Language: uk\n" -"X-Crowdin-File: /REL_15_STABLE/pg_amcheck.pot\n" -"X-Crowdin-File-ID: 892\n" +"X-Crowdin-File: /REL_17_STABLE/pg_amcheck.pot\n" +"X-Crowdin-File-ID: 1036\n" #: ../../../src/common/logging.c:276 #, c-format @@ -37,11 +37,78 @@ msgstr "деталі: " msgid "hint: " msgstr "підказка: " -#: ../../fe_utils/cancel.c:189 ../../fe_utils/cancel.c:238 +#: ../../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 "неможливо дублювати нульовий покажчик (внутрішня помилка)\n" + +#: ../../common/file_utils.c:70 ../../common/file_utils.c:347 +#: ../../common/file_utils.c:406 ../../common/file_utils.c:480 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "не можливо відкрити файл \"%s\": %m" + +#: ../../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\": %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 +#, c-format +msgid "could not open directory \"%s\": %m" +msgstr "не вдалося відкрити каталог \"%s\": %m" + +#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "не вдалося прочитати каталог \"%s\": %m" + +#: ../../common/file_utils.c:418 ../../common/file_utils.c:488 +#, c-format +msgid "could not fsync file \"%s\": %m" +msgstr "не вдалося fsync файл \"%s\": %m" + +#: ../../common/file_utils.c:498 +#, c-format +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "не вдалося перейменувати файл \"%s\" на \"%s\": %m" + +#: ../../common/username.c:43 +#, c-format +msgid "could not look up effective user ID %ld: %s" +msgstr "не можу знайти користувача з ефективним ID %ld: %s" + +#: ../../common/username.c:45 +msgid "user does not exist" +msgstr "користувача не існує" + +#: ../../common/username.c:60 +#, c-format +msgid "user name lookup failure: error code %lu" +msgstr "невдала підстановка імені користувача: код помилки %lu" + +#: ../../fe_utils/cancel.c:186 ../../fe_utils/cancel.c:235 msgid "Cancel request sent\n" msgstr "Запит на скасування відправлений\n" -#: ../../fe_utils/cancel.c:190 ../../fe_utils/cancel.c:239 +#: ../../fe_utils/cancel.c:187 ../../fe_utils/cancel.c:236 msgid "Could not send cancel request: " msgstr "Не вдалося надіслати запит на скасування: " @@ -50,7 +117,7 @@ msgstr "Не вдалося надіслати запит на скасуван msgid "could not connect to database %s: out of memory" msgstr "не можливо під'єднатися до бази даних %s: не вистачає пам'яті" -#: ../../fe_utils/connect_utils.c:117 +#: ../../fe_utils/connect_utils.c:116 #, c-format msgid "%s" msgstr "%s" @@ -65,451 +132,496 @@ msgstr "неприпустиме значення \"%s\" для параметр 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" + +#: ../../fe_utils/parallel_slot.c:317 +#, c-format +msgid "too many jobs for this platform: %d" +msgstr "занадто багато завдань для цієї платформи: %d" + +#: ../../fe_utils/parallel_slot.c:326 +#, c-format +msgid "socket file descriptor out of range for select(): %d" +msgstr "дескриптор файлу сокету поза діапазоном для select(): %d" + +#: ../../fe_utils/parallel_slot.c:328 +#, c-format +msgid "Try fewer jobs." +msgstr "Спробуйте менше робочих завдань." + +#: ../../fe_utils/parallel_slot.c:553 +#, c-format +msgid "processing of database \"%s\" failed: %s" +msgstr "обробка бази даних \"%s\" не вдалась: %s" + #: ../../fe_utils/query_utils.c:33 ../../fe_utils/query_utils.c:58 -#: pg_amcheck.c:1647 pg_amcheck.c:2092 +#: pg_amcheck.c:1693 pg_amcheck.c:2138 #, c-format msgid "query failed: %s" msgstr "запит не вдався: %s" #: ../../fe_utils/query_utils.c:34 ../../fe_utils/query_utils.c:59 -#: pg_amcheck.c:571 pg_amcheck.c:1102 pg_amcheck.c:1648 pg_amcheck.c:2093 +#: pg_amcheck.c:578 pg_amcheck.c:1147 pg_amcheck.c:1694 pg_amcheck.c:2139 #, c-format msgid "Query was: %s" msgstr "Запит був: %s" -#: pg_amcheck.c:399 +#: ../../fe_utils/string_utils.c:434 +#, c-format +msgid "shell command argument contains a newline or carriage return: \"%s\"\n" +msgstr "аргумент командної оболонки містить символ нового рядка або повернення каретки: \"%s\"\n" + +#: ../../fe_utils/string_utils.c:607 +#, c-format +msgid "database name contains a newline or carriage return: \"%s\"\n" +msgstr "назва бази даних містить символ нового рядка або повернення каретки: \"%s\"\n" + +#: pg_amcheck.c:403 #, c-format msgid "invalid argument for option %s" msgstr "неприпустимий аргумент для параметру %s" -#: pg_amcheck.c:405 +#: pg_amcheck.c:409 #, c-format msgid "invalid start block" msgstr "неприпустимий початковий блок" -#: pg_amcheck.c:407 +#: pg_amcheck.c:411 #, c-format msgid "start block out of bounds" msgstr "початковий блок поза межами" -#: pg_amcheck.c:414 +#: pg_amcheck.c:418 #, c-format msgid "invalid end block" msgstr "неприпустимий кінцевий блок" -#: pg_amcheck.c:416 +#: pg_amcheck.c:420 #, c-format msgid "end block out of bounds" msgstr "кінцевий блок поза межами" -#: pg_amcheck.c:439 pg_amcheck.c:461 +#: pg_amcheck.c:446 pg_amcheck.c:468 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Спробуйте \"%s --help\" для додаткової інформації." -#: pg_amcheck.c:445 +#: pg_amcheck.c:452 #, c-format msgid "end block precedes start block" msgstr "кінцевий блок передує початковому блоку" -#: pg_amcheck.c:459 +#: pg_amcheck.c:466 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "забагато аргументів у командному рядку (перший \"%s\")" -#: pg_amcheck.c:479 +#: pg_amcheck.c:486 #, c-format msgid "cannot specify a database name with --all" msgstr "не можна вказати назву бази даних з --all" -#: pg_amcheck.c:485 +#: pg_amcheck.c:492 #, c-format msgid "cannot specify both a database name and database patterns" msgstr "не можна вказати одночасно ім'я бази даних і шаблони бази даних" -#: pg_amcheck.c:513 +#: pg_amcheck.c:520 #, c-format msgid "no databases to check" msgstr "немає баз даних для перевірки" -#: pg_amcheck.c:569 +#: pg_amcheck.c:576 #, c-format msgid "database \"%s\": %s" msgstr "база даних \"%s\": %s" -#: pg_amcheck.c:580 +#: pg_amcheck.c:587 #, c-format msgid "skipping database \"%s\": amcheck is not installed" msgstr "пропуск бази даних \"%s\": amcheck не встановлено" -#: pg_amcheck.c:588 +#: pg_amcheck.c:595 #, c-format msgid "in database \"%s\": using amcheck version \"%s\" in schema \"%s\"" msgstr "у базі даних \"%s\": використовується amcheck версії \"%s\" у схемі \"%s\"" -#: pg_amcheck.c:610 +#: pg_amcheck.c:624 +#, c-format +msgid "option %s is not supported by amcheck version %s" +msgstr "параметр %s не підтримується у версії amcheck %s" + +#: pg_amcheck.c:650 #, c-format msgid "no heap tables to check matching \"%s\"" msgstr "немає таблиць в динамічній пам'яті для перевірки відповідності \"%s\"" -#: pg_amcheck.c:613 +#: pg_amcheck.c:653 #, c-format msgid "no btree indexes to check matching \"%s\"" msgstr "немає індексів btree для перевірки відповідності \"%s\"" -#: pg_amcheck.c:616 +#: pg_amcheck.c:656 #, c-format msgid "no relations to check in schemas matching \"%s\"" msgstr "немає відношень для перевірки в схемах, відповідних \"%s\"" -#: pg_amcheck.c:619 +#: pg_amcheck.c:659 #, c-format msgid "no relations to check matching \"%s\"" msgstr "немає відношень для перевірки відповідності \"%s\"" -#: pg_amcheck.c:647 +#: pg_amcheck.c:687 #, c-format msgid "no relations to check" msgstr "немає зв'язків для перевірки" -#: pg_amcheck.c:730 +#: pg_amcheck.c:770 #, c-format msgid "checking heap table \"%s.%s.%s\"" msgstr "перевірка таблиць динамічної пам'яті \"%s.%s.%s\"" -#: pg_amcheck.c:746 +#: pg_amcheck.c:786 #, c-format msgid "checking btree index \"%s.%s.%s\"" msgstr "перевірка індексу btree \"%s.%s.%s\"" -#: pg_amcheck.c:893 +#: pg_amcheck.c:937 #, c-format msgid "error sending command to database \"%s\": %s" msgstr "помилка надсилання команди до бази даних \"%s: %s" -#: pg_amcheck.c:896 +#: pg_amcheck.c:940 #, c-format msgid "Command was: %s" msgstr "Команда була: %s" -#: pg_amcheck.c:1015 +#: pg_amcheck.c:1060 #, c-format msgid "heap table \"%s.%s.%s\", block %s, offset %s, attribute %s:\n" msgstr "таблиця динамічної пам'яті \"%s.%s.%s\", блок %s, зсув %s, атрибут %s:\n" -#: pg_amcheck.c:1022 +#: pg_amcheck.c:1067 #, c-format msgid "heap table \"%s.%s.%s\", block %s, offset %s:\n" msgstr "таблиця динамічної пам'яті \"%s.%s.%s\", блок %s, зсув %s:\n" -#: pg_amcheck.c:1028 +#: pg_amcheck.c:1073 #, c-format msgid "heap table \"%s.%s.%s\", block %s:\n" msgstr "таблиця динамічної пам'яті \"%s.%s.%s\", блок %s:\n" -#: pg_amcheck.c:1033 pg_amcheck.c:1044 +#: pg_amcheck.c:1078 pg_amcheck.c:1089 #, c-format msgid "heap table \"%s.%s.%s\":\n" msgstr "таблиця динамічної пам'яті \"%s.%s.%s\":\n" -#: pg_amcheck.c:1048 pg_amcheck.c:1117 +#: pg_amcheck.c:1093 pg_amcheck.c:1162 #, c-format msgid "query was: %s\n" msgstr "запит був: %s\n" -#: pg_amcheck.c:1099 +#: pg_amcheck.c:1144 #, c-format msgid "btree index \"%s.%s.%s\": btree checking function returned unexpected number of rows: %d" msgstr "індекс btree \"%s.%s.%s\": функція перевірки btree повернула неочікувану кількість рядків: %d" -#: pg_amcheck.c:1103 +#: pg_amcheck.c:1148 #, c-format msgid "Are %s's and amcheck's versions compatible?" msgstr "Чи сумісні версії %s і amcheck?" -#: pg_amcheck.c:1113 +#: pg_amcheck.c:1158 #, c-format msgid "btree index \"%s.%s.%s\":\n" msgstr "індекс btree \"%s.%s.%s\":\n" -#: pg_amcheck.c:1138 +#: pg_amcheck.c:1183 #, c-format msgid "%s checks objects in a PostgreSQL database for corruption.\n\n" msgstr "%s перевіряє об'єкти бази даних PostgreSQL на пошкодження.\n\n" -#: pg_amcheck.c:1139 +#: pg_amcheck.c:1184 #, c-format msgid "Usage:\n" msgstr "Використання:\n" -#: pg_amcheck.c:1140 +#: pg_amcheck.c:1185 #, c-format msgid " %s [OPTION]... [DBNAME]\n" msgstr " %s [OPTION]... [DBNAME]\n" -#: pg_amcheck.c:1141 +#: pg_amcheck.c:1186 #, c-format msgid "\n" "Target options:\n" msgstr "\n" "Цільові параметри:\n" -#: pg_amcheck.c:1142 +#: pg_amcheck.c:1187 #, c-format msgid " -a, --all check all databases\n" msgstr " -a, --all перевірити всі бази даних\n" -#: pg_amcheck.c:1143 +#: pg_amcheck.c:1188 #, c-format msgid " -d, --database=PATTERN check matching database(s)\n" msgstr " -d, --database=PATTERN перевірити відповідні бази даних\n" -#: pg_amcheck.c:1144 +#: pg_amcheck.c:1189 #, c-format msgid " -D, --exclude-database=PATTERN do NOT check matching database(s)\n" msgstr " -D, --exclude-database=PATTERN НЕ перевіряти відповідні бази даних\n" -#: pg_amcheck.c:1145 +#: pg_amcheck.c:1190 #, c-format msgid " -i, --index=PATTERN check matching index(es)\n" msgstr " -i, --index=PATTERN перевірити відповідні індекси\n" -#: pg_amcheck.c:1146 +#: pg_amcheck.c:1191 #, c-format msgid " -I, --exclude-index=PATTERN do NOT check matching index(es)\n" msgstr " -I, --exclude-index=PATTERN НЕ перевіряти відповідні індекси\n" -#: pg_amcheck.c:1147 +#: pg_amcheck.c:1192 #, c-format msgid " -r, --relation=PATTERN check matching relation(s)\n" msgstr " -r, --relation=PATTERN перевірити відповідні відношення\n" -#: pg_amcheck.c:1148 +#: pg_amcheck.c:1193 #, c-format msgid " -R, --exclude-relation=PATTERN do NOT check matching relation(s)\n" msgstr " -R, --exclude-relation=PATTERN НЕ перевіряти відповідні відношення\n" -#: pg_amcheck.c:1149 +#: pg_amcheck.c:1194 #, c-format msgid " -s, --schema=PATTERN check matching schema(s)\n" msgstr " -s, --schema=PATTERN перевірити відповідні схеми\n" -#: pg_amcheck.c:1150 +#: pg_amcheck.c:1195 #, c-format msgid " -S, --exclude-schema=PATTERN do NOT check matching schema(s)\n" msgstr " -S, --exclude-schema=PATTERN НЕ перевіряти відповідні схеми\n" -#: pg_amcheck.c:1151 +#: pg_amcheck.c:1196 #, c-format msgid " -t, --table=PATTERN check matching table(s)\n" msgstr " -t, --table=PATTERN перевірити відповідні таблиці\n" -#: pg_amcheck.c:1152 +#: pg_amcheck.c:1197 #, c-format msgid " -T, --exclude-table=PATTERN do NOT check matching table(s)\n" msgstr " -T, --exclude-table=PATTERN НЕ перевіряти відповідні таблиці\n" -#: pg_amcheck.c:1153 +#: pg_amcheck.c:1198 #, c-format msgid " --no-dependent-indexes do NOT expand list of relations to include indexes\n" msgstr " --no-dependent-indexes НЕ розширювати список відносин, щоб включити індекси\n" -#: pg_amcheck.c:1154 +#: pg_amcheck.c:1199 #, c-format msgid " --no-dependent-toast do NOT expand list of relations to include TOAST tables\n" msgstr " --no-dependent-toast НЕ розширювати список відносин, щоб включити таблиці TOAST\n" -#: pg_amcheck.c:1155 +#: pg_amcheck.c:1200 #, c-format msgid " --no-strict-names do NOT require patterns to match objects\n" msgstr " --no-strict-names НЕ вимагати відповідності шаблонів об'єктам\n" -#: pg_amcheck.c:1156 +#: pg_amcheck.c:1201 #, c-format msgid "\n" "Table checking options:\n" msgstr "\n" "Параметри перевірки таблиць:\n" -#: pg_amcheck.c:1157 +#: pg_amcheck.c:1202 #, c-format msgid " --exclude-toast-pointers do NOT follow relation TOAST pointers\n" msgstr " --exclude-toast-pointers НЕ слідувати покажчикам відношень TOAST\n" -#: pg_amcheck.c:1158 +#: pg_amcheck.c:1203 #, c-format msgid " --on-error-stop stop checking at end of first corrupt page\n" msgstr " --on-error-stop зупинити перевірку наприкінці першої пошкодженої сторінки\n" -#: pg_amcheck.c:1159 +#: pg_amcheck.c:1204 #, c-format msgid " --skip=OPTION do NOT check \"all-frozen\" or \"all-visible\" blocks\n" msgstr " --skip=OPTION НЕ перевіряти \"всі заморожені\" або \"всі видимі\" блоки\n" -#: pg_amcheck.c:1160 +#: pg_amcheck.c:1205 #, c-format msgid " --startblock=BLOCK begin checking table(s) at the given block number\n" msgstr " --startblock=BLOCK почати перевірку таблиць за поданим номером блоку\n" -#: pg_amcheck.c:1161 +#: pg_amcheck.c:1206 #, c-format msgid " --endblock=BLOCK check table(s) only up to the given block number\n" msgstr " --endblock=BLOCK перевіряти таблиці лише до поданого номеру блоку\n" -#: pg_amcheck.c:1162 +#: pg_amcheck.c:1207 #, c-format msgid "\n" "B-tree index checking options:\n" msgstr "\n" "Параметри перевірки індексів B-tree:\n" -#: pg_amcheck.c:1163 +#: pg_amcheck.c:1208 +#, c-format +msgid " --checkunique check unique constraint if index is unique\n" +msgstr " --checkunique перевіряємо обмеження unique, якщо індекс унікальний\n" + +#: pg_amcheck.c:1209 #, c-format msgid " --heapallindexed check that all heap tuples are found within indexes\n" msgstr " --heapallindexed перевірити чи всі кортежі динамічної пам'яті містяться в індексах\n" -#: pg_amcheck.c:1164 +#: pg_amcheck.c:1210 #, c-format msgid " --parent-check check index parent/child relationships\n" msgstr " --parent-check перевірити індекс батьківських/дочірніх відносин\n" -#: pg_amcheck.c:1165 +#: pg_amcheck.c:1211 #, c-format msgid " --rootdescend search from root page to refind tuples\n" msgstr " --rootdescend шукати з кореневої сторінки, для повторного пошуку кортежів\n" -#: pg_amcheck.c:1166 +#: pg_amcheck.c:1212 #, c-format msgid "\n" "Connection options:\n" msgstr "\n" "Налаштування з'єднання:\n" -#: pg_amcheck.c:1167 +#: pg_amcheck.c:1213 #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr " -h, --host=HOSTNAME хост сервера бази даних або каталог сокетів\n" -#: pg_amcheck.c:1168 +#: pg_amcheck.c:1214 #, c-format msgid " -p, --port=PORT database server port\n" msgstr " -p, --port=PORT порт серверу бази даних\n" -#: pg_amcheck.c:1169 +#: pg_amcheck.c:1215 #, c-format msgid " -U, --username=USERNAME user name to connect as\n" msgstr " -U, --username=USERNAME ім'я користувача для з'єднання з сервером\n" -#: pg_amcheck.c:1170 +#: pg_amcheck.c:1216 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password ніколи не запитувати пароль\n" -#: pg_amcheck.c:1171 +#: pg_amcheck.c:1217 #, c-format msgid " -W, --password force password prompt\n" msgstr " -W, --password примусовий запит пароля\n" -#: pg_amcheck.c:1172 +#: pg_amcheck.c:1218 #, c-format msgid " --maintenance-db=DBNAME alternate maintenance database\n" msgstr " --maintenance-db=DBNAME база даних альтернативного обслуговування\n" -#: pg_amcheck.c:1173 +#: pg_amcheck.c:1219 #, c-format msgid "\n" "Other options:\n" msgstr "\n" "Інші параметри:\n" -#: pg_amcheck.c:1174 +#: pg_amcheck.c:1220 #, c-format msgid " -e, --echo show the commands being sent to the server\n" msgstr " -e, --echo показати команди, надіслані серверу\n" -#: pg_amcheck.c:1175 +#: pg_amcheck.c:1221 #, c-format msgid " -j, --jobs=NUM use this many concurrent connections to the server\n" msgstr " -j, --jobs=NUM використати цю кількість одночасних з'єднань з сервером\n" -#: pg_amcheck.c:1176 +#: pg_amcheck.c:1222 #, c-format msgid " -P, --progress show progress information\n" msgstr " -P, --progress показати інформацію про прогрес\n" -#: pg_amcheck.c:1177 +#: pg_amcheck.c:1223 #, c-format msgid " -v, --verbose write a lot of output\n" msgstr " -v, --verbose виводити багато інформації\n" -#: pg_amcheck.c:1178 +#: pg_amcheck.c:1224 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version вивести інформацію про версію і вийти\n" -#: pg_amcheck.c:1179 +#: pg_amcheck.c:1225 #, c-format msgid " --install-missing install missing extensions\n" msgstr " --install-missing встановити відсутні розширення\n" -#: pg_amcheck.c:1180 +#: pg_amcheck.c:1226 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help показати цю справку, потім вийти\n" -#: pg_amcheck.c:1182 +#: pg_amcheck.c:1228 #, c-format msgid "\n" "Report bugs to <%s>.\n" msgstr "\n" "Повідомляти про помилки на <%s>.\n" -#: pg_amcheck.c:1183 +#: pg_amcheck.c:1229 #, c-format msgid "%s home page: <%s>\n" msgstr "Домашня сторінка %s: <%s>\n" -#: pg_amcheck.c:1236 +#: pg_amcheck.c:1282 #, c-format msgid "%*s/%s relations (%d%%), %*s/%s pages (%d%%) %*s" msgstr "%*s/%s відношень (%d%%), %*s/%s сторінок (%d%%) %*s" -#: pg_amcheck.c:1247 +#: pg_amcheck.c:1293 #, c-format msgid "%*s/%s relations (%d%%), %*s/%s pages (%d%%) (%s%-*.*s)" msgstr "%*s/%s відношень (%d%%), %*s/%s сторінок (%d%%) (%s%-*.*s)" -#: pg_amcheck.c:1262 +#: pg_amcheck.c:1308 #, c-format msgid "%*s/%s relations (%d%%), %*s/%s pages (%d%%)" msgstr "%*s/%s відношень (%d%%), %*s/%s сторінок (%d%%)" -#: pg_amcheck.c:1321 pg_amcheck.c:1354 +#: pg_amcheck.c:1367 pg_amcheck.c:1400 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "неправильне повне ім'я (забагато компонентів): %s" -#: pg_amcheck.c:1399 +#: pg_amcheck.c:1445 #, c-format msgid "improper relation name (too many dotted names): %s" msgstr "неправильне ім'я зв'язку (забагато компонентів): %s" -#: pg_amcheck.c:1552 pg_amcheck.c:1691 +#: pg_amcheck.c:1598 pg_amcheck.c:1737 #, c-format msgid "including database \"%s\"" msgstr "включаючи базу даних \"%s\"" -#: pg_amcheck.c:1673 +#: pg_amcheck.c:1719 #, c-format msgid "internal error: received unexpected database pattern_id %d" msgstr "внутрішня помилка: отримано неочікувану помилку шаблону бази даних %d" -#: pg_amcheck.c:1675 +#: pg_amcheck.c:1721 #, c-format msgid "no connectable databases to check matching \"%s\"" msgstr "немає бази даних для підключення, щоб перевірити відповідність\"%s\"" -#: pg_amcheck.c:2133 +#: pg_amcheck.c:2179 #, c-format msgid "internal error: received unexpected relation pattern_id %d" msgstr "внутрішня помилка: отримано неочікувану помилку шаблону відношення %d" diff --git a/src/bin/pg_amcheck/t/003_check.pl b/src/bin/pg_amcheck/t/003_check.pl index 4b16bda6a48..d99b094dba8 100644 --- a/src/bin/pg_amcheck/t/003_check.pl +++ b/src/bin/pg_amcheck/t/003_check.pl @@ -564,7 +564,7 @@ () 0, [$no_output_re], [ - qr/pg_amcheck: warning: --checkunique option is not supported by amcheck version "1.3"/ + qr/pg_amcheck: warning: option --checkunique is not supported by amcheck version 1.3/ ], 'pg_amcheck smoke test --checkunique'); done_testing(); diff --git a/src/bin/pg_archivecleanup/po/es.po b/src/bin/pg_archivecleanup/po/es.po index 902f4a849d7..b4b1bac60b7 100644 --- a/src/bin/pg_archivecleanup/po/es.po +++ b/src/bin/pg_archivecleanup/po/es.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_archivecleanup (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-05-22 07:21+0000\n" -"PO-Revision-Date: 2023-05-22 12:05+0200\n" +"POT-Creation-Date: 2024-08-01 11:23+0000\n" +"PO-Revision-Date: 2024-08-01 20:34-0400\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" "Language: es\n" @@ -38,43 +38,54 @@ msgstr "detalle: " msgid "hint: " msgstr "consejo: " -#: pg_archivecleanup.c:66 +#: ../../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 "memoria agotada\n" + +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 +#, c-format +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "no se puede duplicar un puntero nulo (error interno)\n" + +#: pg_archivecleanup.c:68 #, c-format msgid "archive location \"%s\" does not exist" msgstr "ubicación de archivador «%s» no existe" -#: pg_archivecleanup.c:151 +#: pg_archivecleanup.c:100 +#, c-format +msgid "could not open archive location \"%s\": %m" +msgstr "no se pudo abrir la ubicación del archivador «%s»: %m" + +#: pg_archivecleanup.c:164 #, c-format msgid "could not remove file \"%s\": %m" msgstr "no se pudo eliminar el archivo «%s»: %m" -#: pg_archivecleanup.c:157 +#: pg_archivecleanup.c:169 #, c-format msgid "could not read archive location \"%s\": %m" msgstr "no se pudo leer la ubicación del archivador «%s»: %m" -#: pg_archivecleanup.c:160 +#: pg_archivecleanup.c:172 #, c-format msgid "could not close archive location \"%s\": %m" msgstr "no se pudo cerrar la ubicación del archivador «%s»: %m" -#: pg_archivecleanup.c:164 -#, c-format -msgid "could not open archive location \"%s\": %m" -msgstr "no se pudo abrir la ubicación del archivador «%s»: %m" - -#: pg_archivecleanup.c:237 +#: pg_archivecleanup.c:245 #, c-format msgid "invalid file name argument" msgstr "el nombre de archivo usado como argumento no es válido" -#: pg_archivecleanup.c:238 pg_archivecleanup.c:313 pg_archivecleanup.c:333 -#: pg_archivecleanup.c:345 pg_archivecleanup.c:352 +#: pg_archivecleanup.c:246 pg_archivecleanup.c:334 pg_archivecleanup.c:354 +#: pg_archivecleanup.c:366 pg_archivecleanup.c:373 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Pruebe «%s --help» para mayor información." -#: pg_archivecleanup.c:251 +#: pg_archivecleanup.c:259 #, c-format msgid "" "%s removes older WAL files from PostgreSQL archives.\n" @@ -83,17 +94,17 @@ msgstr "" "%s elimina archivos de WAL antiguos del archivador de PostgreSQL.\n" "\n" -#: pg_archivecleanup.c:252 +#: pg_archivecleanup.c:260 #, c-format msgid "Usage:\n" msgstr "Empleo:\n" -#: pg_archivecleanup.c:253 +#: pg_archivecleanup.c:261 #, c-format msgid " %s [OPTION]... ARCHIVELOCATION OLDESTKEPTWALFILE\n" msgstr " %s [OPCIÓN].... UBICACIÓNARCHIVADOR WALMÁSANTIGUOAMANTENER\n" -#: pg_archivecleanup.c:254 +#: pg_archivecleanup.c:262 #, c-format msgid "" "\n" @@ -102,32 +113,43 @@ msgstr "" "\n" "Opciones:\n" -#: pg_archivecleanup.c:255 +#: pg_archivecleanup.c:263 #, c-format -msgid " -d generate debug output (verbose mode)\n" -msgstr " -d genera salida de depuración (modo verboso)\n" +msgid " -b, --clean-backup-history clean up files including backup history files\n" +msgstr " -, --clean-backup-history limpia archivos incluyendo archivos de historia de backup\n" -#: pg_archivecleanup.c:256 +#: pg_archivecleanup.c:264 #, c-format -msgid " -n dry run, show the names of the files that would be removed\n" -msgstr " -n simulacro, muestra el nombre de los archivos que se eliminarían\n" +msgid " -d, --debug generate debug output (verbose mode)\n" +msgstr " -d, --debug genera salida de depuración (modo verboso)\n" -#: pg_archivecleanup.c:257 +#: pg_archivecleanup.c:265 #, c-format -msgid " -V, --version output version information, then exit\n" -msgstr " -V, --version muestra información de la versión, luego sale\n" +msgid "" +" -n, --dry-run dry run, show the names of the files that would be\n" +" removed\n" +msgstr " -n, --dry-run simulacro, muestra el nombre de los archivos que se eliminarían\n" -#: pg_archivecleanup.c:258 +#: pg_archivecleanup.c:267 #, c-format -msgid " -x EXT clean up files if they have this extension\n" -msgstr " -x EXT hace limpieza de archivos que tengan esta extensión\n" +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version mostrar la información de la versión, luego salir\n" -#: pg_archivecleanup.c:259 +#: pg_archivecleanup.c:268 #, c-format -msgid " -?, --help show this help, then exit\n" -msgstr " -?, --help muestra esta ayuda, luego sale\n" +msgid "" +" -x, --strip-extension=EXT strip this extension before identifying files for\n" +" clean up\n" +msgstr "" +" -x, --strip-extension=EXT quitar esta extensión antes de identificar archivos\n" +" a limpiar\n" -#: pg_archivecleanup.c:260 +#: pg_archivecleanup.c:270 +#, c-format +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help muestra esta ayuda, luego salir\n" + +#: pg_archivecleanup.c:271 #, c-format msgid "" "\n" @@ -142,7 +164,7 @@ msgstr "" "por ej.\n" " archive_cleanup_command = 'pg_archivecleanup /mnt/servidor/directorioarchivador %%r'\n" -#: pg_archivecleanup.c:265 +#: pg_archivecleanup.c:276 #, c-format msgid "" "\n" @@ -155,7 +177,7 @@ msgstr "" "por ej.\n" " pg_archivecleanup /mnt/servidor/directorioarchivador 000000010000000000000010.00000020.backup\n" -#: pg_archivecleanup.c:269 +#: pg_archivecleanup.c:280 #, c-format msgid "" "\n" @@ -164,22 +186,22 @@ msgstr "" "\n" "Reporte errores a <%s>.\n" -#: pg_archivecleanup.c:270 +#: pg_archivecleanup.c:281 #, c-format msgid "%s home page: <%s>\n" msgstr "Sitio web de %s: <%s>\n" -#: pg_archivecleanup.c:332 +#: pg_archivecleanup.c:353 #, c-format msgid "must specify archive location" msgstr "debe especificar la ubicación del archivador" -#: pg_archivecleanup.c:344 +#: pg_archivecleanup.c:365 #, c-format msgid "must specify oldest kept WAL file" msgstr "debe especificar el fichero WAL más antiguo a mantener" -#: pg_archivecleanup.c:351 +#: pg_archivecleanup.c:372 #, c-format msgid "too many command-line arguments" msgstr "demasiados argumentos de línea de órdenes" diff --git a/src/bin/pg_archivecleanup/po/fr.po b/src/bin/pg_archivecleanup/po/fr.po index 0ac310cc701..392e6e64d5f 100644 --- a/src/bin/pg_archivecleanup/po/fr.po +++ b/src/bin/pg_archivecleanup/po/fr.po @@ -8,10 +8,10 @@ # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 15\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-04-12 05:16+0000\n" -"PO-Revision-Date: 2022-04-12 17:29+0200\n" +"POT-Creation-Date: 2024-07-20 21:23+0000\n" +"PO-Revision-Date: 2024-09-16 16:28+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -19,65 +19,76 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.0.1\n" +"X-Generator: Poedit 3.5\n" -#: ../../../src/common/logging.c:273 +#: ../../../src/common/logging.c:276 #, c-format msgid "error: " msgstr "erreur : " -#: ../../../src/common/logging.c:280 +#: ../../../src/common/logging.c:283 #, c-format msgid "warning: " msgstr "attention : " -#: ../../../src/common/logging.c:291 +#: ../../../src/common/logging.c:294 #, c-format msgid "detail: " msgstr "détail : " -#: ../../../src/common/logging.c:298 +#: ../../../src/common/logging.c:301 #, c-format msgid "hint: " msgstr "astuce : " -#: pg_archivecleanup.c:66 +#: ../../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 "mémoire épuisée\n" + +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 +#, c-format +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "ne peut pas dupliquer un pointeur nul (erreur interne)\n" + +#: pg_archivecleanup.c:68 #, c-format msgid "archive location \"%s\" does not exist" msgstr "l'emplacement d'archivage « %s » n'existe pas" -#: pg_archivecleanup.c:151 +#: pg_archivecleanup.c:100 +#, c-format +msgid "could not open archive location \"%s\": %m" +msgstr "n'a pas pu ouvrir l'emplacement de l'archive « %s » : %m" + +#: pg_archivecleanup.c:164 #, c-format msgid "could not remove file \"%s\": %m" msgstr "n'a pas pu supprimer le fichier « %s » : %m" -#: pg_archivecleanup.c:157 +#: pg_archivecleanup.c:169 #, c-format msgid "could not read archive location \"%s\": %m" msgstr "n'a pas pu lire l'emplacement de l'archive « %s » : %m" -#: pg_archivecleanup.c:160 +#: pg_archivecleanup.c:172 #, c-format msgid "could not close archive location \"%s\": %m" msgstr "n'a pas pu fermer l'emplacement de l'archive « %s » : %m" -#: pg_archivecleanup.c:164 -#, c-format -msgid "could not open archive location \"%s\": %m" -msgstr "n'a pas pu ouvrir l'emplacement de l'archive « %s » : %m" - -#: pg_archivecleanup.c:237 +#: pg_archivecleanup.c:245 #, c-format msgid "invalid file name argument" msgstr "argument du nom de fichier invalide" -#: pg_archivecleanup.c:238 pg_archivecleanup.c:313 pg_archivecleanup.c:333 -#: pg_archivecleanup.c:345 pg_archivecleanup.c:352 +#: pg_archivecleanup.c:246 pg_archivecleanup.c:334 pg_archivecleanup.c:354 +#: pg_archivecleanup.c:366 pg_archivecleanup.c:373 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Essayez « %s --help » pour plus d'informations." -#: pg_archivecleanup.c:251 +#: pg_archivecleanup.c:259 #, c-format msgid "" "%s removes older WAL files from PostgreSQL archives.\n" @@ -86,17 +97,17 @@ msgstr "" "%s supprime les anciens fichiers WAL des archives de PostgreSQL.\n" "\n" -#: pg_archivecleanup.c:252 +#: pg_archivecleanup.c:260 #, c-format msgid "Usage:\n" msgstr "Usage :\n" -#: pg_archivecleanup.c:253 +#: pg_archivecleanup.c:261 #, c-format msgid " %s [OPTION]... ARCHIVELOCATION OLDESTKEPTWALFILE\n" msgstr " %s [OPTION]... EMPLACEMENTARCHIVE PLUSANCIENFICHIERWALCONSERVÉ\n" -#: pg_archivecleanup.c:254 +#: pg_archivecleanup.c:262 #, c-format msgid "" "\n" @@ -105,32 +116,41 @@ msgstr "" "\n" "Options :\n" -#: pg_archivecleanup.c:255 +#: pg_archivecleanup.c:263 +#, c-format +msgid " -b, --clean-backup-history clean up files including backup history files\n" +msgstr " -b, --clean-backup-history nettoie les fichiers, y compris les historiques de sauvegarde\n" + +#: pg_archivecleanup.c:264 #, c-format -msgid " -d generate debug output (verbose mode)\n" -msgstr " -d affiche des informations de débugage (mode verbeux)\n" +msgid " -d, --debug generate debug output (verbose mode)\n" +msgstr " -d, --debug affiche des informations de débogage (mode verbeux)\n" -#: pg_archivecleanup.c:256 +#: pg_archivecleanup.c:265 #, c-format -msgid " -n dry run, show the names of the files that would be removed\n" -msgstr " -n test, affiche le nom des fichiers qui seraient supprimés\n" +msgid "" +" -n, --dry-run dry run, show the names of the files that would be\n" +" removed\n" +msgstr " -n, --dry-run test, affiche le nom des fichiers qui seraient supprimés\n" -#: pg_archivecleanup.c:257 +#: pg_archivecleanup.c:267 #, c-format -msgid " -V, --version output version information, then exit\n" -msgstr " -V, --version affiche la version et quitte\n" +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version affiche la version, puis quitte\n" -#: pg_archivecleanup.c:258 +#: pg_archivecleanup.c:268 #, c-format -msgid " -x EXT clean up files if they have this extension\n" -msgstr " -x EXT nettoie les fichiers s'ils ont cette extension\n" +msgid "" +" -x, --strip-extension=EXT strip this extension before identifying files for\n" +" clean up\n" +msgstr " -x, --strip-extension=EXT supprime cette extension avant d'identifier les fichiers pour nettoyage\n" -#: pg_archivecleanup.c:259 +#: pg_archivecleanup.c:270 #, c-format -msgid " -?, --help show this help, then exit\n" -msgstr " -?, --help affiche cette aide et quitte\n" +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help affiche cette aide, puis quitte\n" -#: pg_archivecleanup.c:260 +#: pg_archivecleanup.c:271 #, c-format msgid "" "\n" @@ -145,7 +165,7 @@ msgstr "" "Par exemple :\n" " archive_cleanup_command = 'pg_archivecleanup /mnt/serveur/reparchives %%r'\n" -#: pg_archivecleanup.c:265 +#: pg_archivecleanup.c:276 #, c-format msgid "" "\n" @@ -158,7 +178,7 @@ msgstr "" "Par exemple :\n" " pg_archivecleanup /mnt/serveur/reparchives 000000010000000000000010.00000020.backup\n" -#: pg_archivecleanup.c:269 +#: pg_archivecleanup.c:280 #, c-format msgid "" "\n" @@ -167,52 +187,22 @@ msgstr "" "\n" "Rapporter les bogues à <%s>.\n" -#: pg_archivecleanup.c:270 +#: pg_archivecleanup.c:281 #, c-format msgid "%s home page: <%s>\n" msgstr "Page d'accueil de %s : <%s>\n" -#: pg_archivecleanup.c:332 +#: pg_archivecleanup.c:353 #, c-format msgid "must specify archive location" msgstr "doit spécifier l'emplacement de l'archive" -#: pg_archivecleanup.c:344 +#: pg_archivecleanup.c:365 #, c-format msgid "must specify oldest kept WAL file" msgstr "doit spécifier le plus ancien journal de transactions conservé" -#: pg_archivecleanup.c:351 +#: pg_archivecleanup.c:372 #, c-format msgid "too many command-line arguments" msgstr "trop d'arguments en ligne de commande" - -#~ msgid "" -#~ "\n" -#~ "Report bugs to .\n" -#~ msgstr "" -#~ "\n" -#~ "Rapporter les bogues à .\n" - -#~ msgid "%s: ERROR: could not remove file \"%s\": %s\n" -#~ msgstr "%s : ERREUR : n'a pas pu supprimer le fichier « %s » : %s\n" - -#~ msgid "%s: file \"%s\" would be removed\n" -#~ msgstr "%s : le fichier « %s » serait supprimé\n" - -#~ msgid "%s: keeping WAL file \"%s\" and later\n" -#~ msgstr "%s : conservation du fichier WAL « %s » et des suivants\n" - -#~ msgid "%s: removing file \"%s\"\n" -#~ msgstr "%s : suppression du fichier « %s »\n" - -#~ msgid "%s: too many parameters\n" -#~ msgstr "%s : trop de paramètres\n" - -#, c-format -#~ msgid "Try \"%s --help\" for more information.\n" -#~ msgstr "Essayez « %s --help » pour plus d'informations.\n" - -#, c-format -#~ msgid "fatal: " -#~ msgstr "fatal : " diff --git a/src/bin/pg_archivecleanup/po/ja.po b/src/bin/pg_archivecleanup/po/ja.po index 57886bc8df0..f601cfc4376 100644 --- a/src/bin/pg_archivecleanup/po/ja.po +++ b/src/bin/pg_archivecleanup/po/ja.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_archivecleanup (PostgreSQL 17)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-01-09 10:22+0900\n" -"PO-Revision-Date: 2024-01-09 11:54+0900\n" +"POT-Creation-Date: 2024-09-05 09:59+0900\n" +"PO-Revision-Date: 2024-09-05 10:38+0900\n" "Last-Translator: Kyotaro Horiguchi \n" "Language-Team: Japan PostgreSQL Users Group \n" "Language: ja\n" @@ -17,63 +17,74 @@ msgstr "" "X-Generator: Poedit 1.8.13\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ../../../src/common/logging.c:276 +#: ../../../src/common/logging.c:278 #, c-format msgid "error: " msgstr "エラー: " -#: ../../../src/common/logging.c:283 +#: ../../../src/common/logging.c:285 #, c-format msgid "warning: " msgstr "警告: " -#: ../../../src/common/logging.c:294 +#: ../../../src/common/logging.c:296 #, c-format msgid "detail: " msgstr "詳細: " -#: ../../../src/common/logging.c:301 +#: ../../../src/common/logging.c:303 #, c-format msgid "hint: " msgstr "ヒント: " -#: pg_archivecleanup.c:68 +#: ../../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" + +#: pg_archivecleanup.c:69 #, c-format msgid "archive location \"%s\" does not exist" msgstr "アーカイブの場所\"%s\"が存在しません" -#: pg_archivecleanup.c:100 +#: pg_archivecleanup.c:101 #, c-format msgid "could not open archive location \"%s\": %m" msgstr "アーカイブの場所\"%s\"をオープンできませんでした: %m" -#: pg_archivecleanup.c:164 +#: pg_archivecleanup.c:165 #, c-format msgid "could not remove file \"%s\": %m" msgstr "ファイル\"%s\"を削除できませんでした: %m" -#: pg_archivecleanup.c:169 +#: pg_archivecleanup.c:170 #, c-format msgid "could not read archive location \"%s\": %m" msgstr "アーカイブの場所\"%s\"を読み込めませんでした: %m" -#: pg_archivecleanup.c:172 +#: pg_archivecleanup.c:173 #, c-format msgid "could not close archive location \"%s\": %m" msgstr "アーカイブの場所\"%s\"をクローズできませんでした: %m" -#: pg_archivecleanup.c:245 +#: pg_archivecleanup.c:246 #, c-format msgid "invalid file name argument" msgstr "ファイル名引数が無効です" -#: pg_archivecleanup.c:246 pg_archivecleanup.c:334 pg_archivecleanup.c:354 -#: pg_archivecleanup.c:366 pg_archivecleanup.c:373 +#: pg_archivecleanup.c:247 pg_archivecleanup.c:335 pg_archivecleanup.c:355 +#: pg_archivecleanup.c:367 pg_archivecleanup.c:374 #, c-format msgid "Try \"%s --help\" for more information." msgstr "詳細は\"%s --help\"を実行してください。" -#: pg_archivecleanup.c:259 +#: pg_archivecleanup.c:260 #, c-format msgid "" "%s removes older WAL files from PostgreSQL archives.\n" @@ -82,17 +93,17 @@ msgstr "" "%sはPostgreSQLのアーカイブから古いWALファイルを削除します。\n" "\n" -#: pg_archivecleanup.c:260 +#: pg_archivecleanup.c:261 #, c-format msgid "Usage:\n" msgstr "使用法:\n" -#: pg_archivecleanup.c:261 +#: pg_archivecleanup.c:262 #, c-format msgid " %s [OPTION]... ARCHIVELOCATION OLDESTKEPTWALFILE\n" msgstr "%s [オプション] ... {アーカイブの場所} {保存する最古の WAL ファイル名}\n" -#: pg_archivecleanup.c:262 +#: pg_archivecleanup.c:263 #, c-format msgid "" "\n" @@ -101,56 +112,56 @@ msgstr "" "\n" "オプション:\n" -#: pg_archivecleanup.c:263 +#: pg_archivecleanup.c:264 #, c-format msgid " -b, --clean-backup-history clean up files including backup history files\n" msgstr " -b, --clean-backup-history バックアップヒストリファイルを含めて削除する\n" -#: pg_archivecleanup.c:264 +#: pg_archivecleanup.c:265 #, c-format msgid " -d, --debug generate debug output (verbose mode)\n" msgstr " -d, --debug デバッグ情報を出力(冗長モード)\n" -#: pg_archivecleanup.c:265 +#: pg_archivecleanup.c:266 #, c-format msgid "" " -n, --dry-run dry run, show the names of the files that would be\n" " removed\n" msgstr " -n, --dry-run リハーサル、削除対象のファイル名を表示\n" -#: pg_archivecleanup.c:267 +#: pg_archivecleanup.c:268 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version バージョン情報を表示して終了\n" -#: pg_archivecleanup.c:268 +#: pg_archivecleanup.c:269 #, c-format msgid "" " -x, --strip-extension=EXT strip this extension before identifying files for\n" " clean up\n" msgstr " -x, --strip-extension=EXT 削除対象のファイルの確認前にこの拡張子を削除する\n" -#: pg_archivecleanup.c:270 +#: pg_archivecleanup.c:271 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help このヘルプを表示して終了\n" -#: pg_archivecleanup.c:271 +#: pg_archivecleanup.c:272 #, c-format msgid "" "\n" -"For use as archive_cleanup_command in postgresql.conf:\n" +"For use as \"archive_cleanup_command\" in postgresql.conf:\n" " archive_cleanup_command = 'pg_archivecleanup [OPTION]... ARCHIVELOCATION %%r'\n" "e.g.\n" " archive_cleanup_command = 'pg_archivecleanup /mnt/server/archiverdir %%r'\n" msgstr "" "\n" -"postgresql.confでarchive_cleanup_commandとして使用する場合は以下のようにします:\n" +"postgresql.confで\"archive_cleanup_command\"として使用する場合は以下のようにします:\n" " archive_cleanup_command = 'pg_archivecleanup [オプション]... アーカイブの場所 %%r'\n" "例としては:\n" " archive_cleanup_command = 'pg_archivecleanup /mnt/server/archiverdir %%r'\n" -#: pg_archivecleanup.c:276 +#: pg_archivecleanup.c:277 #, c-format msgid "" "\n" @@ -163,7 +174,7 @@ msgstr "" "使用例\n" " pg_archivecleanup /mnt/server/archiverdir 000000010000000000000010.00000020.backup\n" -#: pg_archivecleanup.c:280 +#: pg_archivecleanup.c:281 #, c-format msgid "" "\n" @@ -172,22 +183,22 @@ msgstr "" "\n" "バグは<%s>に報告してください。\n" -#: pg_archivecleanup.c:281 +#: pg_archivecleanup.c:282 #, c-format msgid "%s home page: <%s>\n" msgstr "%s ホームページ: <%s>\n" -#: pg_archivecleanup.c:353 +#: pg_archivecleanup.c:354 #, c-format msgid "must specify archive location" msgstr "アーカイブの場所を指定してください" -#: pg_archivecleanup.c:365 +#: pg_archivecleanup.c:366 #, c-format msgid "must specify oldest kept WAL file" msgstr "保存する最古のWALファイルを指定してください" -#: pg_archivecleanup.c:372 +#: pg_archivecleanup.c:373 #, c-format msgid "too many command-line arguments" msgstr "コマンドライン引数が多すぎます" diff --git a/src/bin/pg_archivecleanup/po/ka.po b/src/bin/pg_archivecleanup/po/ka.po index 4f4c9f74f0b..e14bdcd06f1 100644 --- a/src/bin/pg_archivecleanup/po/ka.po +++ b/src/bin/pg_archivecleanup/po/ka.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: pg_archivecleanup (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-02-11 09:52+0000\n" +"POT-Creation-Date: 2024-07-01 03:53+0000\n" "PO-Revision-Date: 2024-02-11 14:42+0100\n" "Last-Translator: Temuri Doghonadze \n" "Language-Team: Georgian \n" @@ -38,6 +38,17 @@ msgstr "დეტალები: " msgid "hint: " msgstr "მინიშნება: " +#: ../../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 "ნულოვანი მაჩვენებლის დუბლირება შეუძლებელია (შიდა შეცდომა)\n" + #: pg_archivecleanup.c:68 #, c-format msgid "archive location \"%s\" does not exist" @@ -128,9 +139,6 @@ msgstr " -V, --version ვერსიის ინფორმა #: pg_archivecleanup.c:268 #, c-format -#| msgid "" -#| " -L, --use-list=FILENAME use table of contents from this file for\n" -#| " selecting/ordering output\n" msgid "" " -x, --strip-extension=EXT strip this extension before identifying files for\n" " clean up\n" diff --git a/src/bin/pg_archivecleanup/po/ru.po b/src/bin/pg_archivecleanup/po/ru.po index 4b542ce16ce..e04456d67d3 100644 --- a/src/bin/pg_archivecleanup/po/ru.po +++ b/src/bin/pg_archivecleanup/po/ru.po @@ -1,21 +1,21 @@ # Russian message translation file for pg_archivecleanup # Copyright (C) 2017 PostgreSQL Global Development Group # This file is distributed under the same license as the PostgreSQL package. -# Alexander Lakhin , 2017, 2019, 2020, 2022. +# Alexander Lakhin , 2017, 2019, 2020, 2022, 2024. msgid "" msgstr "" "Project-Id-Version: pg_archivecleanup (PostgreSQL) 10\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-08-27 14:52+0300\n" -"PO-Revision-Date: 2022-09-05 13:34+0300\n" +"POT-Creation-Date: 2024-09-02 09:29+0300\n" +"PO-Revision-Date: 2024-09-07 06:17+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: ../../../src/common/logging.c:276 #, c-format @@ -37,43 +37,54 @@ msgstr "подробности: " msgid "hint: " msgstr "подсказка: " -#: pg_archivecleanup.c:66 +#: ../../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 "попытка дублирования нулевого указателя (внутренняя ошибка)\n" + +#: pg_archivecleanup.c:68 #, c-format msgid "archive location \"%s\" does not exist" msgstr "расположение архива \"%s\" не существует" -#: pg_archivecleanup.c:151 +#: pg_archivecleanup.c:100 +#, c-format +msgid "could not open archive location \"%s\": %m" +msgstr "не удалось открыть расположение архива \"%s\": %m" + +#: pg_archivecleanup.c:164 #, c-format msgid "could not remove file \"%s\": %m" msgstr "не удалось стереть файл \"%s\": %m" -#: pg_archivecleanup.c:157 +#: pg_archivecleanup.c:169 #, c-format msgid "could not read archive location \"%s\": %m" msgstr "не удалось прочитать расположение архива \"%s\": %m" -#: pg_archivecleanup.c:160 +#: pg_archivecleanup.c:172 #, c-format msgid "could not close archive location \"%s\": %m" msgstr "не удалось закрыть расположение архива \"%s\": %m" -#: pg_archivecleanup.c:164 -#, c-format -msgid "could not open archive location \"%s\": %m" -msgstr "не удалось открыть расположение архива \"%s\": %m" - -#: pg_archivecleanup.c:237 +#: pg_archivecleanup.c:245 #, c-format msgid "invalid file name argument" msgstr "неверный аргумент с именем файла" -#: pg_archivecleanup.c:238 pg_archivecleanup.c:313 pg_archivecleanup.c:333 -#: pg_archivecleanup.c:345 pg_archivecleanup.c:352 +#: pg_archivecleanup.c:246 pg_archivecleanup.c:334 pg_archivecleanup.c:354 +#: pg_archivecleanup.c:366 pg_archivecleanup.c:373 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Для дополнительной информации попробуйте \"%s --help\"." -#: pg_archivecleanup.c:251 +#: pg_archivecleanup.c:259 #, c-format msgid "" "%s removes older WAL files from PostgreSQL archives.\n" @@ -82,18 +93,18 @@ msgstr "" "%s удаляет старые файлы WAL из архивов PostgreSQL.\n" "\n" -#: pg_archivecleanup.c:252 +#: pg_archivecleanup.c:260 #, c-format msgid "Usage:\n" msgstr "Использование:\n" -#: pg_archivecleanup.c:253 +#: pg_archivecleanup.c:261 #, c-format msgid " %s [OPTION]... ARCHIVELOCATION OLDESTKEPTWALFILE\n" msgstr "" " %s [ПАРАМЕТР]... РАСПОЛОЖЕНИЕ_АРХИВА СТАРЕЙШИЙ_СОХРАНЯЕМЫЙ_ФАЙЛ_WAL\n" -#: pg_archivecleanup.c:254 +#: pg_archivecleanup.c:262 #, c-format msgid "" "\n" @@ -102,42 +113,60 @@ msgstr "" "\n" "Параметры:\n" -#: pg_archivecleanup.c:255 +#: pg_archivecleanup.c:263 #, c-format -msgid " -d generate debug output (verbose mode)\n" -msgstr " -d генерировать подробные сообщения (отладочный режим)\n" +msgid "" +" -b, --clean-backup-history clean up files including backup history files\n" +msgstr "" +" -b, --clean-backup-history удалить также файлы истории копирования\n" + +#: pg_archivecleanup.c:264 +#, c-format +msgid " -d, --debug generate debug output (verbose mode)\n" +msgstr "" +" -d, --debug генерировать подробные сообщения (режим " +"отладки)\n" -#: pg_archivecleanup.c:256 +#: pg_archivecleanup.c:265 #, c-format msgid "" -" -n dry run, show the names of the files that would be removed\n" +" -n, --dry-run dry run, show the names of the files that " +"would be\n" +" removed\n" msgstr "" -" -n холостой запуск, только показать имена файлов, которые " -"будут удалены\n" +" -n, --dry-run холостой запуск, только показать имена " +"файлов,\n" +" которые будут удалены\n" -#: pg_archivecleanup.c:257 +#: pg_archivecleanup.c:267 #, c-format -msgid " -V, --version output version information, then exit\n" -msgstr " -V, --version показать версию и выйти\n" +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version показать версию и выйти\n" # well-spelled: РСШ -#: pg_archivecleanup.c:258 +#: pg_archivecleanup.c:268 #, c-format -msgid " -x EXT clean up files if they have this extension\n" -msgstr " -x РСШ убрать файлы с заданным расширением\n" +msgid "" +" -x, --strip-extension=EXT strip this extension before identifying files " +"for\n" +" clean up\n" +msgstr "" +" -x, --strip-extension=РСШ убрать это расширение прежде чем определять " +"файлы,\n" +" подлежащие удалению\n" -#: pg_archivecleanup.c:259 +#: pg_archivecleanup.c:270 #, c-format -msgid " -?, --help show this help, then exit\n" -msgstr " -?, --help показать эту справку и выйти\n" +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help показать эту справку и выйти\n" -#: pg_archivecleanup.c:260 +#: pg_archivecleanup.c:271 #, c-format msgid "" "\n" "For use as archive_cleanup_command in postgresql.conf:\n" -" archive_cleanup_command = 'pg_archivecleanup [OPTION]... ARCHIVELOCATION %" -"%r'\n" +" archive_cleanup_command = 'pg_archivecleanup [OPTION]... ARCHIVELOCATION " +"%%r'\n" "e.g.\n" " archive_cleanup_command = 'pg_archivecleanup /mnt/server/archiverdir %%r'\n" msgstr "" @@ -148,22 +177,22 @@ msgstr "" "например:\n" " archive_cleanup_command = 'pg_archivecleanup /mnt/server/archiverdir %%r'\n" -#: pg_archivecleanup.c:265 +#: pg_archivecleanup.c:276 #, c-format msgid "" "\n" "Or for use as a standalone archive cleaner:\n" "e.g.\n" -" pg_archivecleanup /mnt/server/archiverdir 000000010000000000000010." -"00000020.backup\n" +" pg_archivecleanup /mnt/server/archiverdir " +"000000010000000000000010.00000020.backup\n" msgstr "" "\n" "Либо для использования в качестве отдельного средства очистки архива,\n" "например:\n" -" pg_archivecleanup /mnt/server/archiverdir 000000010000000000000010." -"00000020.backup\n" +" pg_archivecleanup /mnt/server/archiverdir " +"000000010000000000000010.00000020.backup\n" -#: pg_archivecleanup.c:269 +#: pg_archivecleanup.c:280 #, c-format msgid "" "\n" @@ -172,26 +201,31 @@ msgstr "" "\n" "Об ошибках сообщайте по адресу <%s>.\n" -#: pg_archivecleanup.c:270 +#: pg_archivecleanup.c:281 #, c-format msgid "%s home page: <%s>\n" msgstr "Домашняя страница %s: <%s>\n" -#: pg_archivecleanup.c:332 +#: pg_archivecleanup.c:353 #, c-format msgid "must specify archive location" msgstr "необходимо задать расположение архива" -#: pg_archivecleanup.c:344 +#: pg_archivecleanup.c:365 #, c-format msgid "must specify oldest kept WAL file" msgstr "необходимо задать имя старейшего сохраняемого файла WAL" -#: pg_archivecleanup.c:351 +#: pg_archivecleanup.c:372 #, c-format msgid "too many command-line arguments" msgstr "слишком много аргументов командной строки" +# well-spelled: РСШ +#, c-format +#~ msgid " -x EXT clean up files if they have this extension\n" +#~ msgstr " -x РСШ убрать файлы с заданным расширением\n" + #~ msgid "fatal: " #~ msgstr "важно: " diff --git a/src/bin/pg_archivecleanup/po/sv.po b/src/bin/pg_archivecleanup/po/sv.po index 6cebbc1ad1b..d91831a8ba7 100644 --- a/src/bin/pg_archivecleanup/po/sv.po +++ b/src/bin/pg_archivecleanup/po/sv.po @@ -1,14 +1,14 @@ # Swedish message translation file for pg_archivecleanup # 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. +# Dennis Björklund , 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024. # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 15\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-04-11 13:50+0000\n" -"PO-Revision-Date: 2022-04-11 16:06+0200\n" +"POT-Creation-Date: 2024-07-12 13:23+0000\n" +"PO-Revision-Date: 2024-07-12 15:46+0200\n" "Last-Translator: FDennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -17,63 +17,74 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -#: ../../../src/common/logging.c:268 +#: ../../../src/common/logging.c:276 #, c-format msgid "error: " msgstr "fel: " -#: ../../../src/common/logging.c:275 +#: ../../../src/common/logging.c:283 #, c-format msgid "warning: " msgstr "varning: " -#: ../../../src/common/logging.c:284 +#: ../../../src/common/logging.c:294 #, c-format msgid "detail: " msgstr "detalj: " -#: ../../../src/common/logging.c:287 +#: ../../../src/common/logging.c:301 #, c-format msgid "hint: " msgstr "tips: " -#: pg_archivecleanup.c:66 +#: ../../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 "slut på minne\n" + +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 +#, c-format +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "kan inte duplicera null-pekare (internt fel)\n" + +#: pg_archivecleanup.c:68 #, c-format msgid "archive location \"%s\" does not exist" msgstr "arkivplats \"%s\" finns inte" -#: pg_archivecleanup.c:151 +#: pg_archivecleanup.c:100 +#, c-format +msgid "could not open archive location \"%s\": %m" +msgstr "kunde inte öppna arkivplats \"%s\": %m" + +#: pg_archivecleanup.c:164 #, c-format msgid "could not remove file \"%s\": %m" msgstr "kunde inte ta bort fil \"%s\": %m" -#: pg_archivecleanup.c:157 +#: pg_archivecleanup.c:169 #, c-format msgid "could not read archive location \"%s\": %m" msgstr "kunde inte läsa arkivplats \"%s\": %m" -#: pg_archivecleanup.c:160 +#: pg_archivecleanup.c:172 #, c-format msgid "could not close archive location \"%s\": %m" msgstr "kunde inte stänga arkivplats \"%s\": %m" -#: pg_archivecleanup.c:164 -#, c-format -msgid "could not open archive location \"%s\": %m" -msgstr "kunde inte öppna arkivplats \"%s\": %m" - -#: pg_archivecleanup.c:237 +#: pg_archivecleanup.c:245 #, c-format msgid "invalid file name argument" msgstr "ogiltigt filnamnsargument" -#: pg_archivecleanup.c:238 pg_archivecleanup.c:313 pg_archivecleanup.c:333 -#: pg_archivecleanup.c:345 pg_archivecleanup.c:352 +#: pg_archivecleanup.c:246 pg_archivecleanup.c:334 pg_archivecleanup.c:354 +#: pg_archivecleanup.c:366 pg_archivecleanup.c:373 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Försök med \"%s --help\" för mer information." -#: pg_archivecleanup.c:251 +#: pg_archivecleanup.c:259 #, c-format msgid "" "%s removes older WAL files from PostgreSQL archives.\n" @@ -82,17 +93,17 @@ msgstr "" "%s tar bort gamla WAL-filer från PostgreSQLs arkiv.\n" "\n" -#: pg_archivecleanup.c:252 +#: pg_archivecleanup.c:260 #, c-format msgid "Usage:\n" msgstr "Användning:\n" -#: pg_archivecleanup.c:253 +#: pg_archivecleanup.c:261 #, c-format msgid " %s [OPTION]... ARCHIVELOCATION OLDESTKEPTWALFILE\n" msgstr " %s [FLAGGA]... ARKIVPLATS ÄLDSTASPARADEWALFIL\n" -#: pg_archivecleanup.c:254 +#: pg_archivecleanup.c:262 #, c-format msgid "" "\n" @@ -101,32 +112,45 @@ msgstr "" "\n" "Flaggor:\n" -#: pg_archivecleanup.c:255 +#: pg_archivecleanup.c:263 #, c-format -msgid " -d generate debug output (verbose mode)\n" -msgstr " -d generera debugutskrift (utförligt läge)\n" +msgid " -b, --clean-backup-history clean up files including backup history files\n" +msgstr " -b, --clean-backup-history rensa upp filer, inklusive filer för backuphistorik\n" -#: pg_archivecleanup.c:256 +#: pg_archivecleanup.c:264 #, c-format -msgid " -n dry run, show the names of the files that would be removed\n" -msgstr " -n gör inga ändringar visa namn på de filer som skulle ha tagits bort\n" +msgid " -d, --debug generate debug output (verbose mode)\n" +msgstr " -d, --debug generera debugutskrift (utförligt läge)\n" -#: pg_archivecleanup.c:257 +#: pg_archivecleanup.c:265 #, c-format -msgid " -V, --version output version information, then exit\n" -msgstr " -V, --version visa versionsinformation, avsluta sedan\n" +msgid "" +" -n, --dry-run dry run, show the names of the files that would be\n" +" removed\n" +msgstr "" +" -n, --dry-run gör inga ändringar, visa namn på de filer som skulle\n" +" ha tagits bort\n" -#: pg_archivecleanup.c:258 +#: pg_archivecleanup.c:267 #, c-format -msgid " -x EXT clean up files if they have this extension\n" -msgstr " -x SUF städa upp filer om de har detta suffix\n" +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version visa versionsinformation, avsluta sedan\n" -#: pg_archivecleanup.c:259 +#: pg_archivecleanup.c:268 +#, c-format +msgid "" +" -x, --strip-extension=EXT strip this extension before identifying files for\n" +" clean up\n" +msgstr "" +" -x, --strip-extension=EXT ta bort denna ändelse innan vi identifierar filer\n" +" som skall tas bort\n" + +#: pg_archivecleanup.c:270 #, c-format -msgid " -?, --help show this help, then exit\n" -msgstr " -?, --help visa denna hjälp, avsluta sedan\n" +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help visa denna hjälp, avsluta sedan\n" -#: pg_archivecleanup.c:260 +#: pg_archivecleanup.c:271 #, c-format msgid "" "\n" @@ -141,7 +165,7 @@ msgstr "" "t.ex.\n" " archive_cleanup_command = 'pg_archivecleanup /mnt/server/archiverdir %%r'\n" -#: pg_archivecleanup.c:265 +#: pg_archivecleanup.c:276 #, c-format msgid "" "\n" @@ -154,7 +178,7 @@ msgstr "" "t.ex.\n" " pg_archivecleanup /mnt/server/archiverdir 000000010000000000000010.00000020.backup\n" -#: pg_archivecleanup.c:269 +#: pg_archivecleanup.c:280 #, c-format msgid "" "\n" @@ -163,22 +187,22 @@ msgstr "" "\n" "Rapportera fel till <%s>.\n" -#: pg_archivecleanup.c:270 +#: pg_archivecleanup.c:281 #, c-format msgid "%s home page: <%s>\n" msgstr "hemsida för %s: <%s>\n" -#: pg_archivecleanup.c:332 +#: pg_archivecleanup.c:353 #, c-format msgid "must specify archive location" msgstr "måste ange en arkivplats" -#: pg_archivecleanup.c:344 +#: pg_archivecleanup.c:365 #, c-format msgid "must specify oldest kept WAL file" msgstr "måste ange äldsta sparade WAL-filen" -#: pg_archivecleanup.c:351 +#: pg_archivecleanup.c:372 #, c-format msgid "too many command-line arguments" msgstr "för många kommandoradsargument" diff --git a/src/bin/pg_archivecleanup/po/uk.po b/src/bin/pg_archivecleanup/po/uk.po index 120f799bc70..767f51cc73f 100644 --- a/src/bin/pg_archivecleanup/po/uk.po +++ b/src/bin/pg_archivecleanup/po/uk.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: postgresql\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-08-12 10:51+0000\n" -"PO-Revision-Date: 2022-09-13 11:52\n" +"POT-Creation-Date: 2024-08-31 06:23+0000\n" +"PO-Revision-Date: 2024-09-23 19:38\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -14,8 +14,8 @@ msgstr "" "X-Crowdin-Project: postgresql\n" "X-Crowdin-Project-ID: 324573\n" "X-Crowdin-Language: uk\n" -"X-Crowdin-File: /REL_15_STABLE/pg_archivecleanup.pot\n" -"X-Crowdin-File-ID: 898\n" +"X-Crowdin-File: /REL_17_STABLE/pg_archivecleanup.pot\n" +"X-Crowdin-File-ID: 1032\n" #: ../../../src/common/logging.c:276 #, c-format @@ -37,90 +37,110 @@ msgstr "деталі: " msgid "hint: " msgstr "підказка: " -#: pg_archivecleanup.c:66 +#: ../../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 "неможливо дублювати нульовий покажчик (внутрішня помилка)\n" + +#: pg_archivecleanup.c:68 #, c-format msgid "archive location \"%s\" does not exist" msgstr "архівного розташування \"%s\" не існує" -#: pg_archivecleanup.c:151 +#: pg_archivecleanup.c:100 +#, c-format +msgid "could not open archive location \"%s\": %m" +msgstr "не вдалося відкрити архівне розташування \"%s\":%m" + +#: pg_archivecleanup.c:164 #, c-format msgid "could not remove file \"%s\": %m" msgstr "не можливо видалити файл \"%s\": %m" -#: pg_archivecleanup.c:157 +#: pg_archivecleanup.c:169 #, c-format msgid "could not read archive location \"%s\": %m" msgstr "не вдалося прочитати архівне розташування \"%s\":%m" -#: pg_archivecleanup.c:160 +#: pg_archivecleanup.c:172 #, c-format msgid "could not close archive location \"%s\": %m" msgstr "не вдалося закрити архівне розташування \"%s\":%m" -#: pg_archivecleanup.c:164 -#, c-format -msgid "could not open archive location \"%s\": %m" -msgstr "не вдалося відкрити архівне розташування \"%s\":%m" - -#: pg_archivecleanup.c:237 +#: pg_archivecleanup.c:245 #, c-format msgid "invalid file name argument" msgstr "недійсна назва файла з аргументом" -#: pg_archivecleanup.c:238 pg_archivecleanup.c:313 pg_archivecleanup.c:333 -#: pg_archivecleanup.c:345 pg_archivecleanup.c:352 +#: pg_archivecleanup.c:246 pg_archivecleanup.c:334 pg_archivecleanup.c:354 +#: pg_archivecleanup.c:366 pg_archivecleanup.c:373 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Спробуйте \"%s --help\" для додаткової інформації." -#: pg_archivecleanup.c:251 +#: pg_archivecleanup.c:259 #, c-format msgid "%s removes older WAL files from PostgreSQL archives.\n\n" msgstr "%s видаляє старі WAL-файли з архівів PostgreSQL.\n\n" -#: pg_archivecleanup.c:252 +#: pg_archivecleanup.c:260 #, c-format msgid "Usage:\n" msgstr "Використання:\n" -#: pg_archivecleanup.c:253 +#: pg_archivecleanup.c:261 #, c-format msgid " %s [OPTION]... ARCHIVELOCATION OLDESTKEPTWALFILE\n" msgstr " %s [OPTION]... РОЗТАШУВАННЯ_АРХІВА НАЙДАВНІШИЙ_ЗБЕРЕЖЕНИЙ_WAL_ФАЙЛ\n" -#: pg_archivecleanup.c:254 +#: pg_archivecleanup.c:262 #, c-format msgid "\n" "Options:\n" msgstr "\n" "Параметри:\n" -#: pg_archivecleanup.c:255 +#: pg_archivecleanup.c:263 #, c-format -msgid " -d generate debug output (verbose mode)\n" -msgstr " -d генерує налагоджувальні повідомлення (детальний режим)\n" +msgid " -b, --clean-backup-history clean up files including backup history files\n" +msgstr " -b, --clean-backup-history очистити файли, включаючи файли історії резервного копіювання\n" -#: pg_archivecleanup.c:256 +#: pg_archivecleanup.c:264 #, c-format -msgid " -n dry run, show the names of the files that would be removed\n" -msgstr " -n сухий запуск, показує тільки ті файли, які будуть видалені\n" +msgid " -d, --debug generate debug output (verbose mode)\n" +msgstr " -d, --debug генерувати налагоджувальний вивід (розгорнутий режим)\n" -#: pg_archivecleanup.c:257 +#: pg_archivecleanup.c:265 #, c-format -msgid " -V, --version output version information, then exit\n" -msgstr " -V, --version показати версію, потім вийти\n" +msgid " -n, --dry-run dry run, show the names of the files that would be\n" +" removed\n" +msgstr " -n, --dry-run сухий запуск, показати назви файлів, які будуть\n" +" вилучені\n" -#: pg_archivecleanup.c:258 +#: pg_archivecleanup.c:267 #, c-format -msgid " -x EXT clean up files if they have this extension\n" -msgstr " -x EXT прибрати файли з цим розширенням\n" +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version вивести інформацію про версію, потім вийти\n" -#: pg_archivecleanup.c:259 +#: pg_archivecleanup.c:268 #, c-format -msgid " -?, --help show this help, then exit\n" -msgstr " -?, --help показати цю довідку, потім вийти\n" +msgid " -x, --strip-extension=EXT strip this extension before identifying files for\n" +" clean up\n" +msgstr " -x, --strip-extension=EXT вилучати це розширення перед ідентифікацією файлів для\n" +" очищення\n" -#: pg_archivecleanup.c:260 +#: pg_archivecleanup.c:270 +#, c-format +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help показати цю довідку, потім вийти\n" + +#: pg_archivecleanup.c:271 #, c-format msgid "\n" "For use as archive_cleanup_command in postgresql.conf:\n" @@ -133,7 +153,7 @@ msgstr "\n" "напр.\n" " archive_cleanup_command = 'pg_archivecleanup /mnt/server/archiverdir %%r'\n" -#: pg_archivecleanup.c:265 +#: pg_archivecleanup.c:276 #, c-format msgid "\n" "Or for use as a standalone archive cleaner:\n" @@ -144,29 +164,29 @@ msgstr "\n" "наприклад:\n" " pg_archivecleanup /mnt/server/archiverdir 000000010000000000000010.00000020.backup\n" -#: pg_archivecleanup.c:269 +#: pg_archivecleanup.c:280 #, c-format msgid "\n" "Report bugs to <%s>.\n" msgstr "\n" "Повідомляти про помилки на <%s>.\n" -#: pg_archivecleanup.c:270 +#: pg_archivecleanup.c:281 #, c-format msgid "%s home page: <%s>\n" msgstr "Домашня сторінка %s: <%s>\n" -#: pg_archivecleanup.c:332 +#: pg_archivecleanup.c:353 #, c-format msgid "must specify archive location" msgstr "необхідно вказати розташування архіва" -#: pg_archivecleanup.c:344 +#: pg_archivecleanup.c:365 #, c-format msgid "must specify oldest kept WAL file" msgstr "необхідно вказати найдавніший збережений WAL-файл" -#: pg_archivecleanup.c:351 +#: pg_archivecleanup.c:372 #, c-format msgid "too many command-line arguments" msgstr "занадто багато аргументів командного рядка" diff --git a/src/bin/pg_archivecleanup/po/zh_CN.po b/src/bin/pg_archivecleanup/po/zh_CN.po index e8c33482e17..ae2cc68e75c 100644 --- a/src/bin/pg_archivecleanup/po/zh_CN.po +++ b/src/bin/pg_archivecleanup/po/zh_CN.po @@ -1,92 +1,98 @@ # LANGUAGE message translation file for pg_archivecleanup # Copyright (C) 2019 PostgreSQL Global Development Group # This file is distributed under the same license as the pg_archivecleanup (PostgreSQL) package. -# FIRST AUTHOR , 2019. +# Dianjin Wang , 2024. # msgid "" msgstr "" -"Project-Id-Version: pg_archivecleanup (PostgreSQL) 14\n" +"Project-Id-Version: pg_archivecleanup (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2021-08-14 05:48+0000\n" -"PO-Revision-Date: 2021-08-14 19:40+0800\n" -"Last-Translator: Jie Zhang \n" +"POT-Creation-Date: 2024-06-06 01:23+0000\n" +"PO-Revision-Date: 2024-06-06 16:40+0800\n" +"Last-Translator: Dianjin Wang \n" "Language-Team: Chinese (Simplified) \n" "Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.4.4\n" -#: ../../../src/common/logging.c:259 -#, c-format -msgid "fatal: " -msgstr "致命的: " - -#: ../../../src/common/logging.c:266 +#: ../../../src/common/logging.c:276 #, c-format msgid "error: " msgstr "错误: " -#: ../../../src/common/logging.c:273 +#: ../../../src/common/logging.c:283 #, c-format msgid "warning: " msgstr "警告: " -#: pg_archivecleanup.c:66 +#: ../../../src/common/logging.c:294 +#, c-format +msgid "detail: " +msgstr "详细信息: " + +#: ../../../src/common/logging.c:301 +#, c-format +msgid "hint: " +msgstr "提示: " + +#: pg_archivecleanup.c:68 #, c-format msgid "archive location \"%s\" does not exist" -msgstr "存档位置\"%s\"不存在" +msgstr "存档位置 \"%s\" 不存在" -#: pg_archivecleanup.c:152 +#: pg_archivecleanup.c:100 +#, c-format +msgid "could not open archive location \"%s\": %m" +msgstr "无法打开存档位置 \"%s\": %m" + +#: pg_archivecleanup.c:164 #, c-format msgid "could not remove file \"%s\": %m" msgstr "无法删除文件 \"%s\": %m" -#: pg_archivecleanup.c:160 +#: pg_archivecleanup.c:169 #, c-format msgid "could not read archive location \"%s\": %m" -msgstr "无法读取存档位置\"%s\": %m" +msgstr "无法读取存档位置 \"%s\": %m" -#: pg_archivecleanup.c:163 +#: pg_archivecleanup.c:172 #, c-format msgid "could not close archive location \"%s\": %m" msgstr "无法关闭存档位置 \"%s\": %m" -#: pg_archivecleanup.c:167 -#, c-format -msgid "could not open archive location \"%s\": %m" -msgstr "无法打开存档位置\"%s\": %m" - -#: pg_archivecleanup.c:240 +#: pg_archivecleanup.c:245 #, c-format msgid "invalid file name argument" msgstr "文件名参数无效" -#: pg_archivecleanup.c:241 pg_archivecleanup.c:315 pg_archivecleanup.c:336 -#: pg_archivecleanup.c:348 pg_archivecleanup.c:355 +#: pg_archivecleanup.c:246 pg_archivecleanup.c:334 pg_archivecleanup.c:354 +#: pg_archivecleanup.c:366 pg_archivecleanup.c:373 #, c-format -msgid "Try \"%s --help\" for more information.\n" -msgstr "请用 \"%s --help\" 获取更多的信息.\n" +msgid "Try \"%s --help\" for more information." +msgstr "请用 \"%s --help\" 获取更多的信息." -#: pg_archivecleanup.c:254 +#: pg_archivecleanup.c:259 #, c-format msgid "" "%s removes older WAL files from PostgreSQL archives.\n" "\n" msgstr "" -"%s 从PostgreSQL存档中删除旧的WAL文件.\n" +"%s 从 PostgreSQL 存档中删除旧的 WAL 文件.\n" "\n" -#: pg_archivecleanup.c:255 +#: pg_archivecleanup.c:260 #, c-format msgid "Usage:\n" msgstr "使用方法:\n" -#: pg_archivecleanup.c:256 +#: pg_archivecleanup.c:261 #, c-format msgid " %s [OPTION]... ARCHIVELOCATION OLDESTKEPTWALFILE\n" -msgstr " %s [OPTION]... 归档文件位置 最早保存的WAL文件\n" +msgstr " %s [选项]... 归档文件位置 最早保存的WAL文件\n" -#: pg_archivecleanup.c:257 +#: pg_archivecleanup.c:262 #, c-format msgid "" "\n" @@ -95,32 +101,45 @@ msgstr "" "\n" "选项:\n" -#: pg_archivecleanup.c:258 +#: pg_archivecleanup.c:263 #, c-format -msgid " -d generate debug output (verbose mode)\n" -msgstr " -d 生成调试输出(详细模式)\n" +msgid " -b, --clean-backup-history clean up files including backup history files\n" +msgstr " -b, --clean-backup-history 清理包括备份历史文件在内的文件\n" -#: pg_archivecleanup.c:259 +#: pg_archivecleanup.c:264 #, c-format -msgid " -n dry run, show the names of the files that would be removed\n" -msgstr " -n dry运行,显示要删除的文件的名称\n" +msgid " -d, --debug generate debug output (verbose mode)\n" +msgstr " -d, --debug 生成调试输出(详细模式)\n" -#: pg_archivecleanup.c:260 +#: pg_archivecleanup.c:265 #, c-format -msgid " -V, --version output version information, then exit\n" -msgstr " -V, --version 输出版本信息,然后退出\n" +msgid "" +" -n, --dry-run dry run, show the names of the files that would be\n" +" removed\n" +msgstr "" +" -n, --dry-run 模拟运行, 显示要被删除的文件名称\n" +" \n" -#: pg_archivecleanup.c:261 +#: pg_archivecleanup.c:267 #, c-format -msgid " -x EXT clean up files if they have this extension\n" -msgstr " -x EXT 如果文件具有此扩展名,则清除文件\n" +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version 输出版本信息,然后退出\n" -#: pg_archivecleanup.c:262 +#: pg_archivecleanup.c:268 +#, c-format +msgid "" +" -x, --strip-extension=EXT strip this extension before identifying files for\n" +" clean up\n" +msgstr "" +" -x, --strip-extension=EXT 在识别要清理的文件前移除该扩展\n" +" \n" + +#: pg_archivecleanup.c:270 #, c-format -msgid " -?, --help show this help, then exit\n" -msgstr " -?, --help 显示帮助信息,然后退出\n" +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help 显示此帮助,然后退出\n" -#: pg_archivecleanup.c:263 +#: pg_archivecleanup.c:271 #, c-format msgid "" "\n" @@ -130,12 +149,12 @@ msgid "" " archive_cleanup_command = 'pg_archivecleanup /mnt/server/archiverdir %%r'\n" msgstr "" "\n" -"在postgresql.conf中,archive_cleanup_command的用法 \n" +"在 postgresql.conf 中,archive_cleanup_command 的用法为:\n" " archive_cleanup_command = 'pg_archivecleanup [选项]... 存档位置 %%r'\n" -"例.\n" +"例如:\n" " archive_cleanup_command = 'pg_archivecleanup /mnt/server/archiverdir %%r'\n" -#: pg_archivecleanup.c:268 +#: pg_archivecleanup.c:276 #, c-format msgid "" "\n" @@ -144,36 +163,55 @@ msgid "" " pg_archivecleanup /mnt/server/archiverdir 000000010000000000000010.00000020.backup\n" msgstr "" "\n" -"或者,用作独立存档清理程序:\n" -"例.\n" +"或者,将其用作独立存档清理程序:\n" +"例如:\n" " pg_archivecleanup /mnt/server/archiverdir 000000010000000000000010.00000020.backup\n" -#: pg_archivecleanup.c:272 +#: pg_archivecleanup.c:280 #, c-format msgid "" "\n" "Report bugs to <%s>.\n" msgstr "" "\n" -"臭虫报告至<%s>.\n" +"报告缺陷: <%s>.\n" -#: pg_archivecleanup.c:273 +#: pg_archivecleanup.c:281 #, c-format msgid "%s home page: <%s>\n" msgstr "%s 主页: <%s>\n" -#: pg_archivecleanup.c:335 +#: pg_archivecleanup.c:353 #, c-format msgid "must specify archive location" msgstr "必须指定存档位置" -#: pg_archivecleanup.c:347 +#: pg_archivecleanup.c:365 #, c-format msgid "must specify oldest kept WAL file" -msgstr "必须指定最早保存的WAL文件" +msgstr "必须指定最早保存的 WAL 文件" -#: pg_archivecleanup.c:354 +#: pg_archivecleanup.c:372 #, c-format msgid "too many command-line arguments" msgstr "命令行参数太多" +#, c-format +#~ msgid " -?, --help show this help, then exit\n" +#~ msgstr " -?, --help 显示帮助信息,然后退出\n" + +#, c-format +#~ msgid " -V, --version output version information, then exit\n" +#~ msgstr " -V, --version 输出版本信息,然后退出\n" + +#, c-format +#~ msgid " -x EXT clean up files if they have this extension\n" +#~ msgstr " -x EXT 如果文件具有此扩展名,则清除文件\n" + +#, c-format +#~ msgid "Try \"%s --help\" for more information.\n" +#~ msgstr "请用 \"%s --help\" 获取更多的信息.\n" + +#, c-format +#~ msgid "fatal: " +#~ msgstr "致命的: " diff --git a/src/bin/pg_basebackup/pg_createsubscriber.c b/src/bin/pg_basebackup/pg_createsubscriber.c index f838a079b66..6b793931f3e 100644 --- a/src/bin/pg_basebackup/pg_createsubscriber.c +++ b/src/bin/pg_basebackup/pg_createsubscriber.c @@ -195,13 +195,13 @@ cleanup_objects_atexit(void) */ if (dbinfo[i].made_publication) { - pg_log_warning("publication \"%s\" in database \"%s\" on primary might be left behind", + pg_log_warning("publication \"%s\" created in database \"%s\" on primary was left behind", dbinfo[i].pubname, dbinfo[i].dbname); - pg_log_warning_hint("Consider dropping this publication before trying again."); + pg_log_warning_hint("Drop this publication before trying again."); } if (dbinfo[i].made_replslot) { - pg_log_warning("replication slot \"%s\" in database \"%s\" on primary might be left behind", + pg_log_warning("replication slot \"%s\" created in database \"%s\" on primary was left behind", dbinfo[i].replslotname, dbinfo[i].dbname); pg_log_warning_hint("Drop this replication slot soon to avoid retention of WAL files."); } @@ -221,14 +221,14 @@ usage(void) printf(_("Usage:\n")); printf(_(" %s [OPTION]...\n"), progname); printf(_("\nOptions:\n")); - printf(_(" -d, --database=DBNAME database to create a subscription\n")); + printf(_(" -d, --database=DBNAME database in which to create a subscription\n")); printf(_(" -D, --pgdata=DATADIR location for the subscriber data directory\n")); printf(_(" -n, --dry-run dry run, just show what would be done\n")); printf(_(" -p, --subscriber-port=PORT subscriber port number (default %s)\n"), DEFAULT_SUB_PORT); printf(_(" -P, --publisher-server=CONNSTR publisher connection string\n")); - printf(_(" -s, --socket-directory=DIR socket directory to use (default current directory)\n")); + printf(_(" -s, --socketdir=DIR socket directory to use (default current dir.)\n")); printf(_(" -t, --recovery-timeout=SECS seconds to wait for recovery to end\n")); - printf(_(" -U, --subscriber-username=NAME subscriber username\n")); + printf(_(" -U, --subscriber-username=NAME user name for subscriber connection\n")); printf(_(" -v, --verbose output verbose messages\n")); printf(_(" --config-file=FILENAME use specified main server configuration\n" " file when running target cluster\n")); @@ -670,7 +670,7 @@ modify_subscriber_sysid(const struct CreateSubscriberOptions *opt) if (rc == 0) pg_log_info("subscriber successfully changed the system identifier"); else - pg_fatal("subscriber failed to change system identifier: exit code: %d", rc); + pg_fatal("could not change system identifier of subscriber: %s", wait_result_to_str(rc)); } pg_free(cf); @@ -926,7 +926,7 @@ check_publisher(const struct LogicalRepInfo *dbinfo) if (max_walsenders - cur_walsenders < num_dbs) { - pg_log_error("publisher requires %d wal sender processes, but only %d remain", + pg_log_error("publisher requires %d WAL sender processes, but only %d remain", num_dbs, max_walsenders - cur_walsenders); pg_log_error_hint("Increase the configuration parameter \"%s\" to at least %d.", "max_wal_senders", cur_walsenders + num_dbs); @@ -935,7 +935,7 @@ check_publisher(const struct LogicalRepInfo *dbinfo) if (max_prepared_transactions != 0) { - pg_log_warning("two_phase option will not be enabled for slots"); + pg_log_warning("two_phase option will not be enabled for replication slots"); pg_log_warning_detail("Subscriptions will be created with the two_phase option disabled. " "Prepared transactions will be replicated at COMMIT PREPARED."); } @@ -1085,7 +1085,7 @@ drop_existing_subscriptions(PGconn *conn, const char *subname, const char *dbnam if (PQresultStatus(res) != PGRES_COMMAND_OK) { - pg_log_error("could not drop a subscription \"%s\" settings: %s", + pg_log_error("could not drop subscription \"%s\": %s", subname, PQresultErrorMessage(res)); disconnect_database(conn, true); } @@ -1791,7 +1791,7 @@ set_replication_progress(PGconn *conn, const struct LogicalRepInfo *dbinfo, cons */ originname = psprintf("pg_%u", suboid); - pg_log_info("setting the replication progress (node name \"%s\" ; LSN %s) in database \"%s\"", + pg_log_info("setting the replication progress (node name \"%s\", LSN %s) in database \"%s\"", originname, lsnstr, dbinfo->dbname); resetPQExpBuffer(str); @@ -1806,7 +1806,7 @@ set_replication_progress(PGconn *conn, const struct LogicalRepInfo *dbinfo, cons res = PQexec(conn, str->data); if (PQresultStatus(res) != PGRES_TUPLES_OK) { - pg_log_error("could not set replication progress for the subscription \"%s\": %s", + pg_log_error("could not set replication progress for subscription \"%s\": %s", dbinfo->subname, PQresultErrorMessage(res)); disconnect_database(conn, true); } @@ -1871,7 +1871,7 @@ main(int argc, char **argv) {"dry-run", no_argument, NULL, 'n'}, {"subscriber-port", required_argument, NULL, 'p'}, {"publisher-server", required_argument, NULL, 'P'}, - {"socket-directory", required_argument, NULL, 's'}, + {"socketdir", required_argument, NULL, 's'}, {"recovery-timeout", required_argument, NULL, 't'}, {"subscriber-username", required_argument, NULL, 'U'}, {"verbose", no_argument, NULL, 'v'}, @@ -1904,7 +1904,7 @@ main(int argc, char **argv) pg_logging_init(argv[0]); pg_logging_set_level(PG_LOG_WARNING); progname = get_progname(argv[0]); - set_pglocale_pgservice(argv[0], PG_TEXTDOMAIN("pg_createsubscriber")); + set_pglocale_pgservice(argv[0], PG_TEXTDOMAIN("pg_basebackup")); if (argc > 1) { @@ -1963,7 +1963,7 @@ main(int argc, char **argv) } else { - pg_log_error("duplicate database \"%s\"", optarg); + pg_log_error("database \"%s\" specified more than once", optarg); exit(1); } break; @@ -2004,7 +2004,7 @@ main(int argc, char **argv) } else { - pg_log_error("duplicate publication \"%s\"", optarg); + pg_log_error("publication \"%s\" specified more than once", optarg); exit(1); } break; @@ -2016,7 +2016,7 @@ main(int argc, char **argv) } else { - pg_log_error("duplicate replication slot \"%s\"", optarg); + pg_log_error("replication slot \"%s\" specified more than once", optarg); exit(1); } break; @@ -2028,7 +2028,7 @@ main(int argc, char **argv) } else { - pg_log_error("duplicate subscription \"%s\"", optarg); + pg_log_error("subscription \"%s\" specified more than once", optarg); exit(1); } break; @@ -2083,13 +2083,13 @@ main(int argc, char **argv) pg_log_error_hint("Try \"%s --help\" for more information.", progname); exit(1); } - pg_log_info("validating connection string on publisher"); + pg_log_info("validating publisher connection string"); pub_base_conninfo = get_base_conninfo(opt.pub_conninfo_str, &dbname_conninfo); if (pub_base_conninfo == NULL) exit(1); - pg_log_info("validating connection string on subscriber"); + pg_log_info("validating subscriber connection string"); sub_base_conninfo = get_sub_conninfo(&opt); if (opt.database_names.head == NULL) @@ -2106,7 +2106,7 @@ main(int argc, char **argv) simple_string_list_append(&opt.database_names, dbname_conninfo); num_dbs++; - pg_log_info("database \"%s\" was extracted from the publisher connection string", + pg_log_info("database name \"%s\" was extracted from the publisher connection string", dbname_conninfo); } else @@ -2121,23 +2121,23 @@ main(int argc, char **argv) /* Number of object names must match number of databases */ if (num_pubs > 0 && num_pubs != num_dbs) { - pg_log_error("wrong number of publication names"); - pg_log_error_hint("Number of publication names (%d) must match number of database names (%d).", - num_pubs, num_dbs); + pg_log_error("wrong number of publication names specified"); + pg_log_error_detail("The number of specified publication names (%d) must match the number of specified database names (%d).", + num_pubs, num_dbs); exit(1); } if (num_subs > 0 && num_subs != num_dbs) { - pg_log_error("wrong number of subscription names"); - pg_log_error_hint("Number of subscription names (%d) must match number of database names (%d).", - num_subs, num_dbs); + pg_log_error("wrong number of subscription names specified"); + pg_log_error_detail("The number of specified subscription names (%d) must match the number of specified database names (%d).", + num_subs, num_dbs); exit(1); } if (num_replslots > 0 && num_replslots != num_dbs) { - pg_log_error("wrong number of replication slot names"); - pg_log_error_hint("Number of replication slot names (%d) must match number of database names (%d).", - num_replslots, num_dbs); + pg_log_error("wrong number of replication slot names specified"); + pg_log_error_detail("The number of specified replication slot names (%d) must match the number of specified database names (%d).", + num_replslots, num_dbs); exit(1); } @@ -2178,8 +2178,8 @@ main(int argc, char **argv) */ if (stat(pidfile, &statbuf) == 0) { - pg_log_error("standby is up and running"); - pg_log_error_hint("Stop the standby and try again."); + pg_log_error("standby server is running"); + pg_log_error_hint("Stop the standby server and try again."); exit(1); } @@ -2188,7 +2188,7 @@ main(int argc, char **argv) * by command-line options). The goal is to avoid connections during the * transformation steps. */ - pg_log_info("starting the standby with command-line options"); + pg_log_info("starting the standby server with command-line options"); start_standby_server(&opt, true, false); /* Check if the standby server is ready for logical replication */ diff --git a/src/bin/pg_basebackup/po/de.po b/src/bin/pg_basebackup/po/de.po index f501eaddef0..14b06dde075 100644 --- a/src/bin/pg_basebackup/po/de.po +++ b/src/bin/pg_basebackup/po/de.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-06-21 16:50+0000\n" -"PO-Revision-Date: 2024-06-22 10:55+0200\n" +"POT-Creation-Date: 2024-08-25 09:20+0000\n" +"PO-Revision-Date: 2024-08-25 16:44+0200\n" "Last-Translator: Peter Eisentraut \n" "Language-Team: German \n" "Language: de\n" @@ -498,13 +498,13 @@ msgstr "" "%s erzeugt eine Basissicherung eines laufenden PostgreSQL-Servers.\n" "\n" -#: pg_basebackup.c:394 pg_createsubscriber.c:216 pg_receivewal.c:79 +#: pg_basebackup.c:394 pg_createsubscriber.c:221 pg_receivewal.c:79 #: pg_recvlogical.c:86 #, c-format msgid "Usage:\n" msgstr "Aufruf:\n" -#: pg_basebackup.c:395 pg_createsubscriber.c:217 pg_receivewal.c:80 +#: pg_basebackup.c:395 pg_createsubscriber.c:222 pg_receivewal.c:80 #: pg_recvlogical.c:87 #, c-format msgid " %s [OPTION]...\n" @@ -773,7 +773,7 @@ msgstr " -w, --no-password niemals nach Passwort fragen\n" msgid " -W, --password force password prompt (should happen automatically)\n" msgstr " -W, --password nach Passwort fragen (sollte automatisch geschehen)\n" -#: pg_basebackup.c:448 pg_createsubscriber.c:235 pg_receivewal.c:106 +#: pg_basebackup.c:448 pg_createsubscriber.c:240 pg_receivewal.c:106 #: pg_recvlogical.c:118 #, c-format msgid "" @@ -783,7 +783,7 @@ msgstr "" "\n" "Berichten Sie Fehler an <%s>.\n" -#: pg_basebackup.c:449 pg_createsubscriber.c:236 pg_receivewal.c:107 +#: pg_basebackup.c:449 pg_createsubscriber.c:241 pg_receivewal.c:107 #: pg_recvlogical.c:119 #, c-format msgid "%s home page: <%s>\n" @@ -835,7 +835,7 @@ msgstr "konnte Hintergrund-Thread nicht erzeugen: %m" msgid "directory \"%s\" exists but is not empty" msgstr "Verzeichnis »%s« existiert aber ist nicht leer" -#: pg_basebackup.c:782 pg_createsubscriber.c:378 +#: pg_basebackup.c:782 pg_createsubscriber.c:390 #, c-format msgid "could not access directory \"%s\": %m" msgstr "konnte nicht auf Verzeichnis »%s« zugreifen: %m" @@ -1180,9 +1180,9 @@ msgstr "ungültige Option »%s« für --wal-method, muss »fetch«, »stream« o #: 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:1907 pg_createsubscriber.c:1917 -#: pg_createsubscriber.c:1925 pg_createsubscriber.c:1953 -#: pg_createsubscriber.c:1985 pg_receivewal.c:748 pg_receivewal.c:760 +#: 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_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 @@ -1192,7 +1192,7 @@ msgstr "ungültige Option »%s« für --wal-method, muss »fetch«, »stream« o msgid "Try \"%s --help\" for more information." msgstr "Versuchen Sie »%s --help« für weitere Informationen." -#: pg_basebackup.c:2584 pg_createsubscriber.c:1915 pg_receivewal.c:758 +#: pg_basebackup.c:2584 pg_createsubscriber.c:2045 pg_receivewal.c:758 #: pg_recvlogical.c:863 #, c-format msgid "too many command-line arguments (first is \"%s\")" @@ -1285,46 +1285,46 @@ msgstr "WAL-Verzeichnis muss absoluten Pfad haben" msgid "could not create symbolic link \"%s\": %m" msgstr "konnte symbolische Verknüpfung »%s« nicht erstellen: %m" -#: pg_createsubscriber.c:164 -#, fuzzy, c-format -#| msgid "pausing at the end of recovery" +#: pg_createsubscriber.c:169 +#, c-format msgid "failed after the end of recovery" -msgstr "pausiere am Ende der Wiederherstellung" +msgstr "fehlgeschlagen am Ende der Wiederherstellung" -#: pg_createsubscriber.c:165 +#: pg_createsubscriber.c:170 #, c-format msgid "The target server cannot be used as a physical replica anymore. You must recreate the physical replica before continuing." -msgstr "" +msgstr "Der Zielserver kann nicht mehr als physischer Standby verwendet werden. Sie müssen den physischen Standby neu erzeugen bevor fortgesetzt werden kann." -#: pg_createsubscriber.c:193 +#: pg_createsubscriber.c:198 #, c-format -msgid "publication \"%s\" in database \"%s\" on primary might be left behind" -msgstr "" +msgid "publication \"%s\" created in database \"%s\" on primary was left behind" +msgstr "Publikation »%s« erzeugt in Datenbank »%s« auf dem Primärserver wurde zurückgelassen" -#: pg_createsubscriber.c:195 +#: pg_createsubscriber.c:200 #, c-format -msgid "Consider dropping this publication before trying again." -msgstr "" +msgid "Drop this publication before trying again." +msgstr "Löschen Sie diese Publikation, bevor Sie erneut versuchen." -#: pg_createsubscriber.c:199 +#: pg_createsubscriber.c:204 #, c-format -msgid "replication slot \"%s\" in database \"%s\" on primary might be left behind" -msgstr "" +msgid "replication slot \"%s\" created in database \"%s\" on primary was left behind" +msgstr "Replikations-Slot »%s« erzeugt in Datenbank »%s« auf dem Primärserver wurde zurückgelassen" -#: pg_createsubscriber.c:201 pg_createsubscriber.c:1137 +#: pg_createsubscriber.c:206 pg_createsubscriber.c:1260 #, c-format msgid "Drop this replication slot soon to avoid retention of WAL files." -msgstr "" +msgstr "Löschen Sie diesen Replikations-Slot bald, um Zurückhalten von WAL-Datein zu vermeiden." -#: pg_createsubscriber.c:214 -#, fuzzy, c-format -#| msgid "cannot copy a replication slot that doesn't reserve WAL" +#: pg_createsubscriber.c:219 +#, c-format msgid "" "%s creates a new logical replica from a standby server.\n" "\n" -msgstr "ein Replikations-Slot, der kein WAL reserviert, kann nicht kopiert werden" +msgstr "" +"%s erzeugt eine neue logische Replik aus einem Standby-Server.\n" +"\n" -#: pg_createsubscriber.c:218 pg_receivewal.c:81 pg_recvlogical.c:92 +#: pg_createsubscriber.c:223 pg_receivewal.c:81 pg_recvlogical.c:92 #, c-format msgid "" "\n" @@ -1333,60 +1333,52 @@ msgstr "" "\n" "Optionen:\n" -#: pg_createsubscriber.c:219 -#, fuzzy, c-format -#| msgid " -d, --dbname=DBNAME database to vacuum\n" -msgid " -d, --database=DBNAME database to create a subscription\n" -msgstr " -d, --dbname=DBNAME führe Vacuum in dieser Datenbank aus\n" - -#: pg_createsubscriber.c:220 -#, fuzzy, c-format -#| msgid " [-D, --pgdata=]DATADIR location for this database cluster\n" +#: pg_createsubscriber.c:224 +#, c-format +msgid " -d, --database=DBNAME database in which to create a subscription\n" +msgstr " -d, --database=DBNAME Datenbank, in der eine Subskription erzeugt werden soll\n" + +#: pg_createsubscriber.c:225 +#, c-format msgid " -D, --pgdata=DATADIR location for the subscriber data directory\n" -msgstr " [-D, --pgdata=]DATENVERZ Datenverzeichnis für diesen Datenbankcluster\n" +msgstr " -D, --pgdata=DATENVERZ Datenverzeichnis für den Subskriptionsserver\n" -#: pg_createsubscriber.c:221 -#, fuzzy, c-format -#| msgid " -n, --dry-run no update, just show what would be done\n" +#: pg_createsubscriber.c:226 +#, c-format msgid " -n, --dry-run dry run, just show what would be done\n" -msgstr " -n, --dry-run keine Änderungen; nur zeigen, was gemacht werden würde\n" +msgstr " -n, --dry-run Probelauf; nur zeigen, was gemacht werden würde\n" -#: pg_createsubscriber.c:222 -#, fuzzy, c-format -#| msgid " -p, --old-port=PORT old cluster port number (default %d)\n" +#: pg_createsubscriber.c:227 +#, c-format msgid " -p, --subscriber-port=PORT subscriber port number (default %s)\n" -msgstr " -p, --old-port=PORT Portnummer für den alten Cluster (Standard: %d)\n" +msgstr " -p, --subscriber-port=PORT Portnummer für den Subskriptionsserver (Standard %s)\n" -#: pg_createsubscriber.c:223 -#, fuzzy, c-format -#| msgid " -d, --dbname=CONNSTR connect using connection string\n" +#: pg_createsubscriber.c:228 +#, c-format msgid " -P, --publisher-server=CONNSTR publisher connection string\n" -msgstr " -d, --dbname=VERBDG mit angegebenen Verbindungsparametern verbinden\n" +msgstr " -P, --publisher-server=VERBDG Verbindungsparameter des Publikationsservers\n" -#: pg_createsubscriber.c:224 -#, fuzzy, c-format -#| msgid " -s, --socketdir=DIR socket directory to use (default current dir.)\n" -msgid " -s, --socket-directory=DIR socket directory to use (default current directory)\n" -msgstr " -s, --socketdir=VERZ Verzeichnis für Socket (Standard: aktuelles Verz.)\n" +#: pg_createsubscriber.c:229 +#, c-format +msgid " -s, --socketdir=DIR socket directory to use (default current dir.)\n" +msgstr " -s, --socketdir=VERZ Verzeichnis für Socket (Standard: aktuelles Verz.)\n" -#: pg_createsubscriber.c:225 -#, fuzzy, c-format -#| msgid " -t, --timeout=SECS seconds to wait when using -w option\n" +#: pg_createsubscriber.c:230 +#, c-format msgid " -t, --recovery-timeout=SECS seconds to wait for recovery to end\n" -msgstr " -t, --timeout=SEK Sekunden zu warten bei Option -w\n" +msgstr " -t, --recovery-timeout=SEK Sekunden zu warten auf Ende der Wiederherstellung\n" -#: pg_createsubscriber.c:226 -#, fuzzy, c-format -#| msgid " -U, --username=NAME database superuser name\n" -msgid " -U, --subscriber-username=NAME subscriber username\n" -msgstr " -U, --username=NAME Datenbank-Superusername\n" +#: pg_createsubscriber.c:231 +#, c-format +msgid " -U, --subscriber-username=NAME user name for subscriber connection\n" +msgstr " -U, --subscriber-username=NAME Benutzername für Subskriptionsserver-Verbindung\n" -#: pg_createsubscriber.c:227 +#: pg_createsubscriber.c:232 #, c-format msgid " -v, --verbose output verbose messages\n" msgstr " -v, --verbose »Verbose«-Modus\n" -#: pg_createsubscriber.c:228 +#: pg_createsubscriber.c:233 #, c-format msgid "" " --config-file=FILENAME use specified main server configuration\n" @@ -1395,606 +1387,554 @@ msgstr "" " --config-file=DATEINAME angegebene Serverkonfigurationsdatei zum\n" " Starten des Ziel-Clusters verwenden\n" -#: pg_createsubscriber.c:230 +#: pg_createsubscriber.c:235 #, c-format msgid " --publication=NAME publication name\n" msgstr " --publication=NAME Publikationsname\n" -#: pg_createsubscriber.c:231 -#, fuzzy, c-format -#| msgid " -C, --create-slot create replication slot\n" +#: pg_createsubscriber.c:236 +#, c-format msgid " --replication-slot=NAME replication slot name\n" -msgstr " -C, --create-slot Replikations-Slot erzeugen\n" +msgstr " --replication-slot=NAME Replikations-Slot-Name\n" -#: pg_createsubscriber.c:232 +#: pg_createsubscriber.c:237 #, c-format msgid " --subscription=NAME subscription name\n" msgstr " --subscription=NAME Subskriptionsname\n" -#: pg_createsubscriber.c:233 +#: pg_createsubscriber.c:238 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version Versionsinformationen anzeigen, dann beenden\n" -#: pg_createsubscriber.c:234 +#: pg_createsubscriber.c:239 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help diese Hilfe anzeigen, dann beenden\n" -#: pg_createsubscriber.c:265 +#: pg_createsubscriber.c:282 #, c-format msgid "could not parse connection string: %s" msgstr "konnte Verbindungsparameter nicht interpretieren: %s" -#: pg_createsubscriber.c:347 +#: pg_createsubscriber.c:359 #, c-format msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"" msgstr "Programm »%s« wird von %s benötigt, aber wurde nicht im selben Verzeichnis wie »%s« gefunden" -#: pg_createsubscriber.c:350 +#: pg_createsubscriber.c:362 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" msgstr "Programm »%s« wurde von »%s« gefunden, aber es hatte nicht die gleiche Version wie %s" -#: pg_createsubscriber.c:370 -#, fuzzy, c-format -#| msgid "specified data directory \"%s\" is not a directory" +#: pg_createsubscriber.c:382 +#, c-format msgid "checking if directory \"%s\" is a cluster data directory" -msgstr "angegebenes Datenverzeichnis »%s« ist kein Verzeichnis" +msgstr "prüfe ob Verzeichnis »%s« ein Cluster-Datenverzeichnis ist" -#: pg_createsubscriber.c:376 +#: pg_createsubscriber.c:388 #, c-format msgid "data directory \"%s\" does not exist" msgstr "Datenverzeichnis »%s« existiert nicht" -#: pg_createsubscriber.c:384 +#: pg_createsubscriber.c:396 #, c-format msgid "directory \"%s\" is not a database cluster directory" msgstr "Verzeichnis »%s« ist kein Datenbankclusterverzeichnis" -#: pg_createsubscriber.c:501 +#: pg_createsubscriber.c:513 #, c-format msgid "connection to database failed: %s" msgstr "Verbindung zur Datenbank fehlgeschlagen: %s" -#: pg_createsubscriber.c:514 +#: pg_createsubscriber.c:526 #, c-format msgid "could not clear search_path: %s" msgstr "konnte search_path nicht auf leer setzen: %s" -#: pg_createsubscriber.c:554 +#: pg_createsubscriber.c:566 #, c-format msgid "getting system identifier from publisher" msgstr "hole Systemidentifikator vom Publikationsserver" -#: pg_createsubscriber.c:561 +#: pg_createsubscriber.c:573 #, c-format msgid "could not get system identifier: %s" msgstr "konnte Systemidentifikator nicht ermitteln: %s" -#: pg_createsubscriber.c:567 -#, fuzzy, c-format -#| msgid "could not identify system: got %d rows and %d fields, expected %d rows and %d or more fields" +#: pg_createsubscriber.c:579 +#, c-format msgid "could not get system identifier: got %d rows, expected %d row" -msgstr "Konnte System nicht identifizieren: %d Zeilen und %d Felder erhalten, %d Zeilen und %d oder mehr Felder erwartet" +msgstr "konnte Systemidentifikator nicht ermitteln: %d Zeilen erhalten, %d Zeile erwartet" -#: pg_createsubscriber.c:574 -#, fuzzy, c-format -#| msgid "%s: expected system identifier %llu, but found %llu" +#: pg_createsubscriber.c:586 +#, c-format msgid "system identifier is %llu on publisher" -msgstr "%s: Systemidentifikator %llu erwartet, aber %llu gefunden" +msgstr "Systemidentifikator ist %llu auf dem Publikationsserver" -#: pg_createsubscriber.c:595 +#: pg_createsubscriber.c:607 #, c-format msgid "getting system identifier from subscriber" msgstr "hole Systemidentifikator vom Subskriptionsserver" -#: pg_createsubscriber.c:599 pg_createsubscriber.c:629 +#: pg_createsubscriber.c:611 pg_createsubscriber.c:641 #, c-format msgid "control file appears to be corrupt" msgstr "Kontrolldatei scheint kaputt zu sein" -#: pg_createsubscriber.c:603 pg_createsubscriber.c:644 +#: pg_createsubscriber.c:615 pg_createsubscriber.c:656 #, c-format msgid "system identifier is %llu on subscriber" msgstr "Systemidentifikator ist %llu auf dem Subskriptionsserver" -#: pg_createsubscriber.c:625 +#: pg_createsubscriber.c:637 #, c-format msgid "modifying system identifier of subscriber" msgstr "ändere Systemidentifikator auf dem Subskriptionsserver" -#: pg_createsubscriber.c:647 +#: pg_createsubscriber.c:659 #, c-format msgid "running pg_resetwal on the subscriber" msgstr "führe pg_resetwal auf dem Subskriptionsserver aus" -#: pg_createsubscriber.c:659 +#: pg_createsubscriber.c:671 #, c-format msgid "subscriber successfully changed the system identifier" msgstr "Subskriptionsserver hat Systemidentifikator erfolgreich geändert" -#: pg_createsubscriber.c:661 +#: pg_createsubscriber.c:673 #, c-format -msgid "subscriber failed to change system identifier: exit code: %d" -msgstr "" +msgid "could not change system identifier of subscriber: %s" +msgstr "konnte Systemidentifikator des Subskriptionsservers nicht ändern: %s" -#: pg_createsubscriber.c:685 +#: pg_createsubscriber.c:697 #, c-format msgid "could not obtain database OID: %s" msgstr "konnte Datenbank-OID nicht ermitteln: %s" -#: pg_createsubscriber.c:692 -#, fuzzy, c-format -#| msgid "could not drop replication slot \"%s\": got %d rows and %d fields, expected %d rows and %d fields" +#: pg_createsubscriber.c:704 +#, c-format msgid "could not obtain database OID: got %d rows, expected %d row" -msgstr "konnte Replikations-Slot »%s« nicht löschen: %d Zeilen und %d Felder erhalten, %d Zeilen und %d Felder erwartet" +msgstr "konnte Datenbank-OID nicht ermitteln: %d Zeilen erhalten, %d Zeile erwartet" -#: pg_createsubscriber.c:764 -#, fuzzy, c-format -#| msgid "created replication slot \"%s\" on publisher" +#: pg_createsubscriber.c:776 +#, c-format msgid "create replication slot \"%s\" on publisher" -msgstr "Replikations-Slot »%s« wurde auf dem Publikationsserver erzeugt" +msgstr "erzeuge Replikations-Slot »%s« auf dem Publikationsserver" -#: pg_createsubscriber.c:788 +#: pg_createsubscriber.c:796 +#, c-format +msgid "could not write an additional WAL record: %s" +msgstr "konnte zusätzlichen WAL-Datensatz nicht schreiben: %s" + +#: pg_createsubscriber.c:822 #, c-format msgid "could not obtain recovery progress: %s" msgstr "konnte Recovery-Fortschritt nicht ermitteln: %s" -#: pg_createsubscriber.c:819 -#, fuzzy, c-format -#| msgid "created replication slot \"%s\" on publisher" +#: pg_createsubscriber.c:854 +#, c-format msgid "checking settings on publisher" -msgstr "Replikations-Slot »%s« wurde auf dem Publikationsserver erzeugt" +msgstr "prüfe Einstellungen auf dem Publikationsserver" -#: pg_createsubscriber.c:829 -#, fuzzy, c-format -#| msgid "primary keys cannot be expressions" +#: pg_createsubscriber.c:864 +#, c-format msgid "primary server cannot be in recovery" -msgstr "Primärschlüssel können keine Ausdrücke sein" +msgstr "Primärserver kann nicht im Wiederherstellungsmodus sein" -#: pg_createsubscriber.c:864 -#, fuzzy, c-format -#| msgid "could not connect to the publisher: %s" +#: pg_createsubscriber.c:888 +#, c-format msgid "could not obtain publisher settings: %s" -msgstr "konnte nicht mit dem Publikationsserver verbinden: %s" +msgstr "konnte Einstellungen des Publikationsservers nicht ermitteln: %s" -#: pg_createsubscriber.c:887 +#: pg_createsubscriber.c:914 #, c-format msgid "publisher requires wal_level >= \"logical\"" msgstr "Publikationsserver benötigt wal_level >= »logical«" -#: pg_createsubscriber.c:893 -#, fuzzy, c-format -#| msgid "Field requires %d characters, but only %d remain." +#: pg_createsubscriber.c:920 +#, c-format msgid "publisher requires %d replication slots, but only %d remain" -msgstr "Feld benötigt %d Zeichen, aber nur %d verbleiben." +msgstr "Publikationsserver benötigt %d Replikations-Slots, aber nur %d verbleiben" + +#: pg_createsubscriber.c:922 pg_createsubscriber.c:931 +#: pg_createsubscriber.c:1028 pg_createsubscriber.c:1037 +#: pg_createsubscriber.c:1046 +#, c-format +msgid "Increase the configuration parameter \"%s\" to at least %d." +msgstr "Erhöhen Sie den Konfigurationsparameter »%s« auf mindestens %d." -#: pg_createsubscriber.c:895 pg_createsubscriber.c:994 -#, fuzzy, c-format -#| msgid "Free one or increase max_replication_slots." -msgid "Consider increasing max_replication_slots to at least %d." -msgstr "Geben Sie einen frei oder erhöhen Sie max_replication_slots." +#: pg_createsubscriber.c:929 +#, c-format +msgid "publisher requires %d WAL sender processes, but only %d remain" +msgstr "Publikationsserver benötigt %d WAL-Sender-Prozesse, aber nur %d verbleiben" -#: pg_createsubscriber.c:902 -#, fuzzy, c-format -#| msgid "Field requires %d characters, but only %d remain." -msgid "publisher requires %d wal sender processes, but only %d remain" -msgstr "Feld benötigt %d Zeichen, aber nur %d verbleiben." +#: pg_createsubscriber.c:938 +#, c-format +msgid "two_phase option will not be enabled for replication slots" +msgstr "Option »two_phase« wird für Replikations-Slots nicht aktiviert" -#: pg_createsubscriber.c:904 +#: pg_createsubscriber.c:939 #, c-format -msgid "Consider increasing max_wal_senders to at least %d." -msgstr "" +msgid "Subscriptions will be created with the two_phase option disabled. Prepared transactions will be replicated at COMMIT PREPARED." +msgstr "Subskriptionen werden mit der Option »two_phase« ausgeschaltet erzeugt. Vorbereitete Transaktionen werden bei COMMIT PREPARED repliziert werden." -#: pg_createsubscriber.c:937 +#: pg_createsubscriber.c:971 #, c-format msgid "checking settings on subscriber" msgstr "prüfe Einstellungen auf Subskriptionsserver" -#: pg_createsubscriber.c:944 -#, fuzzy, c-format -#| msgid "target server must be shut down cleanly" +#: pg_createsubscriber.c:978 +#, c-format msgid "target server must be a standby" -msgstr "Zielserver muss sauber heruntergefahren worden sein" +msgstr "Zielserver muss ein Standby sein" -#: pg_createsubscriber.c:968 +#: pg_createsubscriber.c:1002 #, c-format msgid "could not obtain subscriber settings: %s" msgstr "konnte Einstellungen des Subskriptionsservers nicht ermitteln: %s" -#: pg_createsubscriber.c:992 -#, fuzzy, c-format -#| msgid "Field requires %d characters, but only %d remain." +#: pg_createsubscriber.c:1026 +#, c-format msgid "subscriber requires %d replication slots, but only %d remain" -msgstr "Feld benötigt %d Zeichen, aber nur %d verbleiben." +msgstr "Subskriptionsserver benötigt %d Replikations-Slots, aber nur %d verbleiben" -#: pg_createsubscriber.c:1001 -#, fuzzy, c-format -#| msgid "Field requires %d characters, but only %d remain." +#: pg_createsubscriber.c:1035 +#, c-format msgid "subscriber requires %d logical replication workers, but only %d remain" -msgstr "Feld benötigt %d Zeichen, aber nur %d verbleiben." - -#: pg_createsubscriber.c:1003 -#, fuzzy, c-format -#| msgid "terminating logical replication worker due to timeout" -msgid "Consider increasing max_logical_replication_workers to at least %d." -msgstr "Arbeitsprozess für logische Replikation wird abgebrochen wegen Zeitüberschreitung" +msgstr "Subskriptionsserver benötigt %d Arbeitsprozesse für logische Replikation, aber nur %d verbleiben" -#: pg_createsubscriber.c:1010 -#, fuzzy, c-format -#| msgid "Field requires %d characters, but only %d remain." +#: pg_createsubscriber.c:1044 +#, c-format msgid "subscriber requires %d worker processes, but only %d remain" -msgstr "Feld benötigt %d Zeichen, aber nur %d verbleiben." +msgstr "Subskriptionsserver benötigt %d Arbeitsprozesse, aber nur %d verbleiben" + +#: pg_createsubscriber.c:1079 +#, c-format +msgid "dropping subscription \"%s\" in database \"%s\"" +msgstr "lösche Subskription »%s« in Datenbank »%s«" -#: pg_createsubscriber.c:1012 -#, fuzzy, c-format -#| msgid "Consider increasing the configuration parameter \"max_worker_processes\"." -msgid "Consider increasing max_worker_processes to at least %d." -msgstr "Erhöhen Sie eventuell den Konfigurationsparameter »max_worker_processes«." +#: pg_createsubscriber.c:1088 +#, c-format +msgid "could not drop subscription \"%s\": %s" +msgstr "konnte Subskription »%s« nicht löschen: %s" + +#: pg_createsubscriber.c:1123 +#, c-format +msgid "could not obtain pre-existing subscriptions: %s" +msgstr "konnte bereits existierende Subskriptionen nicht ermitteln: %s" -#: pg_createsubscriber.c:1135 -#, fuzzy, c-format -#| msgid "could not drop replication slot \"%s\" on publisher: %s" +#: pg_createsubscriber.c:1258 +#, c-format msgid "could not drop replication slot \"%s\" on primary" -msgstr "konnte Replikations-Slot »%s« auf dem Publikationsserver nicht löschen: %s" +msgstr "konnte Replikations-Slot »%s« auf dem Primärserver nicht löschen" -#: pg_createsubscriber.c:1169 -#, fuzzy, c-format -#| msgid "could not obtain replication slot information: %s" +#: pg_createsubscriber.c:1292 +#, c-format msgid "could not obtain failover replication slot information: %s" -msgstr "konnte Replikations-Slot-Informationen nicht ermitteln: %s" +msgstr "konnte Failover-Replikations-Slot-Informationen nicht ermitteln: %s" -#: pg_createsubscriber.c:1171 pg_createsubscriber.c:1180 +#: pg_createsubscriber.c:1294 pg_createsubscriber.c:1303 #, c-format msgid "Drop the failover replication slots on subscriber soon to avoid retention of WAL files." -msgstr "" +msgstr "Löschen Sie die Failover-Replikations-Slots auf dem Subskriptionsserver bald, um Zurückhalten von WAL-Dateien zu vermeiden." -#: pg_createsubscriber.c:1179 -#, fuzzy, c-format -#| msgid "could not alter replication slot \"%s\": %s" +#: pg_createsubscriber.c:1302 +#, c-format msgid "could not drop failover replication slot" -msgstr "konnte Replikations-Slot »%s« nicht ändern: %s" - -#: pg_createsubscriber.c:1201 -#, fuzzy, c-format -#| msgid "created replication slot \"%s\" on publisher" -msgid "creating the replication slot \"%s\" on database \"%s\"" -msgstr "Replikations-Slot »%s« wurde auf dem Publikationsserver erzeugt" - -#: pg_createsubscriber.c:1219 -#, fuzzy, c-format -#| msgid "could not create replication slot \"%s\": %s" -msgid "could not create replication slot \"%s\" on database \"%s\": %s" -msgstr "konnte Replikations-Slot »%s« nicht erzeugen: %s" - -#: pg_createsubscriber.c:1249 -#, fuzzy, c-format -#| msgid "dropped replication slot \"%s\" on publisher" -msgid "dropping the replication slot \"%s\" on database \"%s\"" -msgstr "Replikations-Slot »%s« auf dem Publikationsserver wurde gelöscht" - -#: pg_createsubscriber.c:1265 -#, fuzzy, c-format -#| msgid "could not drop replication slot \"%s\" on publisher: %s" -msgid "could not drop replication slot \"%s\" on database \"%s\": %s" -msgstr "konnte Replikations-Slot »%s« auf dem Publikationsserver nicht löschen: %s" - -#: pg_createsubscriber.c:1286 -#, fuzzy, c-format -#| msgid "archive command failed with exit code %d" +msgstr "konnte Failover-Replikations-Slot nicht löschen" + +#: pg_createsubscriber.c:1324 +#, c-format +msgid "creating the replication slot \"%s\" in database \"%s\"" +msgstr "erzeuge Replikations-Slot »%s« in Datenbank »%s«" + +#: pg_createsubscriber.c:1342 +#, c-format +msgid "could not create replication slot \"%s\" in database \"%s\": %s" +msgstr "konnte Replikations-Slot »%s« in Datenbank »%s« nicht erzeugen: %s" + +#: pg_createsubscriber.c:1372 +#, c-format +msgid "dropping the replication slot \"%s\" in database \"%s\"" +msgstr "lösche Replikations-Slot »%s« in Datenbank »%s«" + +#: pg_createsubscriber.c:1388 +#, c-format +msgid "could not drop replication slot \"%s\" in database \"%s\": %s" +msgstr "konnte Replikations-Slot »%s« in Datenbank »%s« nicht löschen: %s" + +#: pg_createsubscriber.c:1409 +#, c-format msgid "pg_ctl failed with exit code %d" -msgstr "Archivbefehl ist fehlgeschlagen mit Statuscode %d" +msgstr "pg_ctl ist fehlgeschlagen mit Statuscode %d" -#: pg_createsubscriber.c:1291 -#, fuzzy, c-format -#| msgid "child process was terminated by exception 0x%X" +#: pg_createsubscriber.c:1414 +#, c-format msgid "pg_ctl was terminated by exception 0x%X" -msgstr "Kindprozess wurde durch Ausnahme 0x%X beendet" +msgstr "pg_ctl wurde durch Ausnahme 0x%X beendet" -#: pg_createsubscriber.c:1293 +#: pg_createsubscriber.c:1416 #, c-format msgid "See C include file \"ntstatus.h\" for a description of the hexadecimal value." msgstr "Sehen Sie die Beschreibung des Hexadezimalwerts in der C-Include-Datei »ntstatus.h« nach." -#: pg_createsubscriber.c:1295 -#, fuzzy, c-format -#| msgid "child process was terminated by signal %d: %s" +#: pg_createsubscriber.c:1418 +#, c-format msgid "pg_ctl was terminated by signal %d: %s" -msgstr "Kindprozess wurde von Signal %d beendet: %s" +msgstr "pg_ctl wurde durch Signal %d beendet: %s" -#: pg_createsubscriber.c:1301 -#, fuzzy, c-format -#| msgid "child process exited with unrecognized status %d" +#: pg_createsubscriber.c:1424 +#, c-format msgid "pg_ctl exited with unrecognized status %d" -msgstr "Kindprozess hat mit unbekanntem Status %d beendet" +msgstr "pg_ctl hat mit unbekanntem Status %d beendet" -#: pg_createsubscriber.c:1304 +#: pg_createsubscriber.c:1427 #, c-format msgid "The failed command was: %s" msgstr "Der fehlgeschlagene Befehl war: %s" -#: pg_createsubscriber.c:1343 +#: pg_createsubscriber.c:1473 #, c-format msgid "server was started" msgstr "Server wurde gestartet" -#: pg_createsubscriber.c:1358 +#: pg_createsubscriber.c:1488 #, c-format msgid "server was stopped" msgstr "Server wurde angehalten" -#: pg_createsubscriber.c:1377 +#: pg_createsubscriber.c:1507 #, c-format msgid "waiting for the target server to reach the consistent state" -msgstr "" +msgstr "warte, dass der Zielserver einen konsistenten Zustand erreicht" -#: pg_createsubscriber.c:1400 +#: pg_createsubscriber.c:1530 #, c-format msgid "recovery timed out" -msgstr "" +msgstr "Zeitüberschreitung bei der Wiederherstellung" -#: pg_createsubscriber.c:1413 -#, fuzzy, c-format -#| msgid "server did not promote within %d second" -#| msgid_plural "server did not promote within %d seconds" +#: pg_createsubscriber.c:1543 +#, c-format msgid "server did not end recovery" -msgstr "Befördern des Servers wurde nicht innerhalb von %d Sekunde abgeschlossen" +msgstr "Server hat Recovery-Zustand nicht beendet" -#: pg_createsubscriber.c:1415 +#: pg_createsubscriber.c:1545 #, c-format msgid "target server reached the consistent state" -msgstr "" +msgstr "Zielserver hat einen konsistenten Zustand erreicht" -#: pg_createsubscriber.c:1416 -#, fuzzy, c-format -#| msgid "" -#| "\n" -#| "If pg_upgrade fails after this point, you must re-initdb the\n" -#| "new cluster before continuing." +#: pg_createsubscriber.c:1546 +#, c-format msgid "If pg_createsubscriber fails after this point, you must recreate the physical replica before continuing." -msgstr "" -"\n" -"Wenn pg_upgrade ab diesem Punkt fehlschlägt, dann müssen Sie den\n" -"neuen Cluster neu mit initdb initialisieren, bevor fortgesetzt\n" -"werden kann." +msgstr "Wenn pg_createsubscriber ab diesem Punkt fehlschlägt, dann müssen Sie die physikalische Replik neu erzeugen, bevor fortgesetzt werden kann." -#: pg_createsubscriber.c:1443 -#, fuzzy, c-format -#| msgid "could not obtain lock on relation \"%s\"" +#: pg_createsubscriber.c:1573 +#, c-format msgid "could not obtain publication information: %s" -msgstr "konnte Sperre für Relation »%s« nicht setzen" +msgstr "konnte Publikationsinformationen nicht ermitteln: %s" -#: pg_createsubscriber.c:1457 +#: pg_createsubscriber.c:1587 #, c-format msgid "publication \"%s\" already exists" msgstr "Publikation »%s« existiert bereits" -#: pg_createsubscriber.c:1458 +#: pg_createsubscriber.c:1588 #, c-format msgid "Consider renaming this publication before continuing." -msgstr "" +msgstr "Nennen Sie diese Publikation eventuell um bevor Sie fortsetzen." -#: pg_createsubscriber.c:1465 -#, fuzzy, c-format -#| msgid "creating replication slot \"%s\"" -msgid "creating publication \"%s\" on database \"%s\"" -msgstr "erzeuge Replikations-Slot »%s«" +#: pg_createsubscriber.c:1595 +#, c-format +msgid "creating publication \"%s\" in database \"%s\"" +msgstr "erzeuge Publikation »%s« in Datenbank »%s«" -#: pg_createsubscriber.c:1478 -#, fuzzy, c-format -#| msgid "could not create replication slot \"%s\": %s" -msgid "could not create publication \"%s\" on database \"%s\": %s" -msgstr "konnte Replikations-Slot »%s« nicht erzeugen: %s" +#: pg_createsubscriber.c:1608 +#, c-format +msgid "could not create publication \"%s\" in database \"%s\": %s" +msgstr "konnte Publikation »%s« in Datenbank »%s« nicht erzeugen: %s" -#: pg_createsubscriber.c:1507 -#, fuzzy, c-format -#| msgid "dropping replication slot \"%s\"" -msgid "dropping publication \"%s\" on database \"%s\"" -msgstr "lösche Replikations-Slot »%s«" +#: pg_createsubscriber.c:1637 +#, c-format +msgid "dropping publication \"%s\" in database \"%s\"" +msgstr "lösche Publikation »%s« in Datenbank »%s«" + +#: pg_createsubscriber.c:1651 +#, c-format +msgid "could not drop publication \"%s\" in database \"%s\": %s" +msgstr "konnte Publikation »%s« in Datenbank »%s« nicht löschen: %s" -#: pg_createsubscriber.c:1521 -#, fuzzy, c-format -#| msgid "could not drop replication slot \"%s\" on publisher: %s" -msgid "could not drop publication \"%s\" on database \"%s\": %s" -msgstr "konnte Replikations-Slot »%s« auf dem Publikationsserver nicht löschen: %s" +#: pg_createsubscriber.c:1697 +#, c-format +msgid "creating subscription \"%s\" in database \"%s\"" +msgstr "erzeuge Subskription »%s« in Datenbank »%s«" -#: pg_createsubscriber.c:1567 -#, fuzzy, c-format -#| msgid "remote transaction %u of subscription %u of database %u" -msgid "creating subscription \"%s\" on database \"%s\"" -msgstr "Remote-Transaktion %u von Subskription %u in Datenbank %u" +#: pg_createsubscriber.c:1718 +#, c-format +msgid "could not create subscription \"%s\" in database \"%s\": %s" +msgstr "konnte Subskription »%s« in Datenbank »%s« nicht erzeugen: %s" -#: pg_createsubscriber.c:1588 -#, fuzzy, c-format -#| msgid "could not create replication slot \"%s\": %s" -msgid "could not create subscription \"%s\" on database \"%s\": %s" -msgstr "konnte Replikations-Slot »%s« nicht erzeugen: %s" - -#: pg_createsubscriber.c:1633 -#, fuzzy, c-format -#| msgid "could not obtain lock on relation \"%s\"" +#: pg_createsubscriber.c:1763 +#, c-format msgid "could not obtain subscription OID: %s" -msgstr "konnte Sperre für Relation »%s« nicht setzen" +msgstr "konnte Subskriptions-OID nicht ermitteln: %s" -#: pg_createsubscriber.c:1640 -#, fuzzy, c-format -#| msgid "could not read replication slot \"%s\": got %d rows and %d fields, expected %d rows and %d fields" +#: pg_createsubscriber.c:1770 +#, c-format msgid "could not obtain subscription OID: got %d rows, expected %d row" -msgstr "konnte Replikations-Slot »%s« nicht lesen: %d Zeilen und %d Felder erhalten, %d Zeilen und %d Felder erwartet" +msgstr "konnte Subskriptions-OID nicht ermitteln: %d Zeilen erhalten, %d Zeile erwartet" -#: pg_createsubscriber.c:1664 +#: pg_createsubscriber.c:1794 #, c-format -msgid "setting the replication progress (node name \"%s\" ; LSN %s) on database \"%s\"" -msgstr "" +msgid "setting the replication progress (node name \"%s\", LSN %s) in database \"%s\"" +msgstr "setze Replikationsfortschritt (Knotenname »%s«, LSN %s) in Datenbank »%s«" + +#: pg_createsubscriber.c:1809 +#, c-format +msgid "could not set replication progress for subscription \"%s\": %s" +msgstr "konnte Replikationsfortschritt für Subskription »%s« nicht setzen: %s" -#: pg_createsubscriber.c:1679 -#, fuzzy, c-format -#| msgid "could not drop relation mapping for subscription \"%s\"" -msgid "could not set replication progress for the subscription \"%s\": %s" -msgstr "konnte Relation-Mapping für Subskription »%s« nicht löschen" - -#: pg_createsubscriber.c:1710 -#, fuzzy, c-format -#| msgid "remote transaction %u of subscription %u of database %u" -msgid "enabling subscription \"%s\" on database \"%s\"" -msgstr "Remote-Transaktion %u von Subskription %u in Datenbank %u" - -#: pg_createsubscriber.c:1722 -#, fuzzy, c-format -#| msgid "could not enable user right \"%s\"" +#: pg_createsubscriber.c:1840 +#, c-format +msgid "enabling subscription \"%s\" in database \"%s\"" +msgstr "aktiviere Subskription »%s« in Datenbank »%s«" + +#: pg_createsubscriber.c:1852 +#, c-format msgid "could not enable subscription \"%s\": %s" -msgstr "konnte Benutzerrecht »%s« nicht aktivieren" +msgstr "konnte Subskription »%s« nicht aktivieren: %s" -#: pg_createsubscriber.c:1814 +#: pg_createsubscriber.c:1944 #, c-format msgid "cannot be executed by \"root\"" msgstr "kann nicht von »root« ausgeführt werden" -#: pg_createsubscriber.c:1815 +#: pg_createsubscriber.c:1945 #, c-format msgid "You must run %s as the PostgreSQL superuser." msgstr "Sie müssen %s als PostgreSQL-Superuser ausführen." -#: pg_createsubscriber.c:1836 -#, fuzzy, c-format -#| msgid "dumping database \"%s\"" -msgid "duplicate database \"%s\"" -msgstr "Ausgabe der Datenbank »%s«" - -#: pg_createsubscriber.c:1877 -#, fuzzy, c-format -#| msgid "duplicate option \"%s\"" -msgid "duplicate publication \"%s\"" -msgstr "doppelte Option »%s«" - -#: pg_createsubscriber.c:1889 -#, fuzzy, c-format -#| msgid "created replication slot \"%s\"" -msgid "duplicate replication slot \"%s\"" -msgstr "Replikations-Slot »%s« wurde erzeugt" +#: pg_createsubscriber.c:1966 +#, c-format +msgid "database \"%s\" specified more than once" +msgstr "Datenbank »%s« mehrmals angegeben" -#: pg_createsubscriber.c:1901 -#, fuzzy, c-format -#| msgid "duplicate option \"%s\"" -msgid "duplicate subscription \"%s\"" -msgstr "doppelte Option »%s«" +#: pg_createsubscriber.c:2007 +#, c-format +msgid "publication \"%s\" specified more than once" +msgstr "Publikation »%s« mehrmals angegeben" + +#: pg_createsubscriber.c:2019 +#, c-format +msgid "replication slot \"%s\" specified more than once" +msgstr "Replikations-Slot »%s« mehrmals angegeben" + +#: pg_createsubscriber.c:2031 +#, c-format +msgid "subscription \"%s\" specified more than once" +msgstr "Subskription »%s« mehrmals angegeben" -#: pg_createsubscriber.c:1924 -#, fuzzy, c-format -#| msgid "no data directory specified" +#: pg_createsubscriber.c:2054 +#, c-format msgid "no subscriber data directory specified" -msgstr "kein Datenverzeichnis angegeben" +msgstr "kein Datenverzeichnis für Subskriptionsserver angegeben" -#: pg_createsubscriber.c:1935 +#: pg_createsubscriber.c:2065 #, c-format msgid "could not determine current directory" msgstr "konnte aktuelles Verzeichnis nicht ermitteln" -#: pg_createsubscriber.c:1952 -#, fuzzy, c-format -#| msgid "could not parse connection string: %s" +#: pg_createsubscriber.c:2082 +#, c-format msgid "no publisher connection string specified" -msgstr "konnte Verbindungsparameter nicht interpretieren: %s" +msgstr "keine Verbindungsparameter für Publikationsserver angegeben" + +#: pg_createsubscriber.c:2086 +#, c-format +msgid "validating publisher connection string" +msgstr "validiere Verbindungsparameter für Publikationsserver" -#: pg_createsubscriber.c:1956 -#, fuzzy, c-format -#| msgid "invalid connection string syntax: %s" -msgid "validating connection string on publisher" -msgstr "ungültige Syntax für Verbindungszeichenkette: %s" - -#: pg_createsubscriber.c:1962 -#, fuzzy, c-format -#| msgid "invalid connection string syntax: %s" -msgid "validating connection string on subscriber" -msgstr "ungültige Syntax für Verbindungszeichenkette: %s" - -#: pg_createsubscriber.c:1967 -#, fuzzy, c-format -#| msgid "no database specified" +#: pg_createsubscriber.c:2092 +#, c-format +msgid "validating subscriber connection string" +msgstr "validiere Verbindungsparameter für Subskriptionsserver" + +#: pg_createsubscriber.c:2097 +#, c-format msgid "no database was specified" -msgstr "keine Datenbank angegeben" +msgstr "keine Datenbank wurde angegeben" -#: pg_createsubscriber.c:1979 -#, fuzzy, c-format -#| msgid "database \"%s\" is not currently accepting connections" -msgid "database \"%s\" was extracted from the publisher connection string" -msgstr "Datenbank »%s« akzeptiert gegenwärtig keine Verbindungen" +#: pg_createsubscriber.c:2109 +#, c-format +msgid "database name \"%s\" was extracted from the publisher connection string" +msgstr "Datenbankname »%s« wurde aus der Verbindungszeichenkette des Publikationsservers extrahiert" -#: pg_createsubscriber.c:1984 -#, fuzzy, c-format -#| msgid "no database specified" +#: pg_createsubscriber.c:2114 +#, c-format msgid "no database name specified" -msgstr "keine Datenbank angegeben" +msgstr "kein Datenbankname angegeben" -#: pg_createsubscriber.c:1994 -#, fuzzy, c-format -#| msgid "must be owner of publication %s" -msgid "wrong number of publication names" -msgstr "Berechtigung nur für Eigentümer der Publikation %s" - -#: pg_createsubscriber.c:1995 -#, fuzzy, c-format -#| msgid "number of partitioning columns (%d) does not match number of partition keys provided (%d)" -msgid "Number of publication names (%d) must match number of database names (%d)." -msgstr "Anzahl der Partitionierungsspalten (%d) stimmt nicht mit der Anzahl der angegebenen Partitionierungsschlüssel (%d) überein" - -#: pg_createsubscriber.c:2001 -#, fuzzy, c-format -#| msgid "wrong number of array subscripts" -msgid "wrong number of subscription names" -msgstr "falsche Anzahl Arrayindizes" - -#: pg_createsubscriber.c:2002 -#, fuzzy, c-format -#| msgid "number of partitioning columns (%d) does not match number of partition keys provided (%d)" -msgid "Number of subscription names (%d) must match number of database names (%d)." -msgstr "Anzahl der Partitionierungsspalten (%d) stimmt nicht mit der Anzahl der angegebenen Partitionierungsschlüssel (%d) überein" - -#: pg_createsubscriber.c:2008 -#, fuzzy, c-format -#| msgid "dropping replication slot \"%s\"" -msgid "wrong number of replication slot names" -msgstr "lösche Replikations-Slot »%s«" +#: pg_createsubscriber.c:2124 +#, c-format +msgid "wrong number of publication names specified" +msgstr "falsche Anzahl Publikationsnamen angegeben" + +#: pg_createsubscriber.c:2125 +#, c-format +msgid "The number of specified publication names (%d) must match the number of specified database names (%d)." +msgstr "Die Anzahl der angegebenen Publikationsnamen (%d) muss mit der Anzahl der angegebenen Datenbanknamen (%d) übereinstimmen." + +#: pg_createsubscriber.c:2131 +#, c-format +msgid "wrong number of subscription names specified" +msgstr "falsche Anzahl Subskriptionsnamen angegeben" + +#: pg_createsubscriber.c:2132 +#, c-format +msgid "The number of specified subscription names (%d) must match the number of specified database names (%d)." +msgstr "Die Anzahl der angegebenen Subskriptionsnamen (%d) muss mit der Anzahl der angegebenen Datenbanknamen (%d) übereinstimmen." -#: pg_createsubscriber.c:2009 -#, fuzzy, c-format -#| msgid "number of partitioning columns (%d) does not match number of partition keys provided (%d)" -msgid "Number of replication slot names (%d) must match number of database names (%d)." -msgstr "Anzahl der Partitionierungsspalten (%d) stimmt nicht mit der Anzahl der angegebenen Partitionierungsschlüssel (%d) überein" +#: pg_createsubscriber.c:2138 +#, c-format +msgid "wrong number of replication slot names specified" +msgstr "falsche Anzahl Replikations-Slot-Namen angegeben" -#: pg_createsubscriber.c:2038 -#, fuzzy, c-format -#| msgid "Finding the real data directory for the source cluster" +#: pg_createsubscriber.c:2139 +#, c-format +msgid "The number of specified replication slot names (%d) must match the number of specified database names (%d)." +msgstr "Die Anzahl der angegebenen Replikations-Slot-Namen (%d) muss mit der Anzahl der angegebenen Datenbanknamen (%d) übereinstimmen." + +#: pg_createsubscriber.c:2168 +#, c-format msgid "subscriber data directory is not a copy of the source database cluster" -msgstr "Suche das tatsächliche Datenverzeichnis des alten Clusters" +msgstr "Datenverzeichnis des Subskriptionsservers ist keine Kopie des Quelldatenbankclusters" -#: pg_createsubscriber.c:2051 +#: pg_createsubscriber.c:2181 #, c-format -msgid "standby is up and running" -msgstr "" +msgid "standby server is running" +msgstr "Standby-Server läuft" -#: pg_createsubscriber.c:2052 +#: pg_createsubscriber.c:2182 #, c-format -msgid "Stop the standby and try again." -msgstr "" +msgid "Stop the standby server and try again." +msgstr "Halten Sie den Standby-Server an und versuchen Sie erneut." -#: pg_createsubscriber.c:2061 +#: pg_createsubscriber.c:2191 #, c-format -msgid "starting the standby with command-line options" -msgstr "" +msgid "starting the standby server with command-line options" +msgstr "starte den Standby-Server mit Kommandozeilenoptionen" -#: pg_createsubscriber.c:2077 pg_createsubscriber.c:2116 +#: pg_createsubscriber.c:2207 pg_createsubscriber.c:2242 #, c-format msgid "stopping the subscriber" -msgstr "" +msgstr "stoppe den Subskriptionsserver" -#: pg_createsubscriber.c:2095 +#: pg_createsubscriber.c:2221 #, c-format msgid "starting the subscriber" msgstr "starte den Subskriptionsserver" -#: pg_createsubscriber.c:2124 +#: pg_createsubscriber.c:2250 #, c-format msgid "Done!" msgstr "Fertig!" diff --git a/src/bin/pg_basebackup/po/fr.po b/src/bin/pg_basebackup/po/fr.po index 54a388acf9d..106940cb7a0 100644 --- a/src/bin/pg_basebackup/po/fr.po +++ b/src/bin/pg_basebackup/po/fr.po @@ -8,10 +8,10 @@ # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 15\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-07-29 09:18+0000\n" -"PO-Revision-Date: 2023-07-29 22:45+0200\n" +"POT-Creation-Date: 2024-08-26 19:50+0000\n" +"PO-Revision-Date: 2024-09-16 16:28+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -19,7 +19,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.3.2\n" +"X-Generator: Poedit 3.5\n" #: ../../../src/common/logging.c:276 #, c-format @@ -93,6 +93,65 @@ msgstr "l'algorithme de compression « %s » n'accepte pas un nombre de workers" msgid "compression algorithm \"%s\" does not support long-distance mode" msgstr "l'algorithme de compression « %s » n'accepte pas un mode distance longue" +#: ../../common/controldata_utils.c:97 +#, c-format +msgid "could not open file \"%s\" for reading: %m" +msgstr "n'a pas pu ouvrir le fichier « %s » pour une lecture : %m" + +#: ../../common/controldata_utils.c:110 pg_basebackup.c:1873 +#: pg_receivewal.c:402 +#, c-format +msgid "could not read file \"%s\": %m" +msgstr "n'a pas pu lire le fichier « %s » : %m" + +#: ../../common/controldata_utils.c:119 +#, c-format +msgid "could not read file \"%s\": read %d of %zu" +msgstr "n'a pas pu lire le fichier « %s » : a lu %d sur %zu" + +#: ../../common/controldata_utils.c:132 ../../common/controldata_utils.c:280 +#: bbstreamer_file.c:138 pg_recvlogical.c:650 +#, c-format +msgid "could not close file \"%s\": %m" +msgstr "n'a pas pu fermer le fichier « %s » : %m" + +#: ../../common/controldata_utils.c:168 +msgid "byte ordering mismatch" +msgstr "différence de l'ordre des octets" + +#: ../../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 "" +"possible incohérence dans l'ordre des octets\n" +"L'ordre des octets utilisé pour enregistrer le fichier pg_control peut ne\n" +"pas correspondre à celui utilisé par ce programme. Dans ce cas, les\n" +"résultats ci-dessous sont incorrects, et l'installation de PostgreSQL\n" +"est incompatible avec ce répertoire des données." + +#: ../../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 +#: pg_basebackup.c:1846 pg_receivewal.c:386 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "n'a pas pu ouvrir le fichier « %s » : %m" + +#: ../../common/controldata_utils.c:249 +#, c-format +msgid "could not write file \"%s\": %m" +msgstr "impossible d'écrire le fichier « %s » : %m" + +#: ../../common/controldata_utils.c:268 ../../common/file_utils.c:418 +#: ../../common/file_utils.c:488 pg_recvlogical.c:204 +#, c-format +msgid "could not fsync file \"%s\": %m" +msgstr "n'a pas pu synchroniser sur disque (fsync) le fichier « %s » : %m" + #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 #: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 #, c-format @@ -104,39 +163,69 @@ msgstr "mémoire épuisée\n" msgid "cannot duplicate null pointer (internal error)\n" msgstr "ne peut pas dupliquer un pointeur nul (erreur interne)\n" -#: ../../common/file_utils.c:87 ../../common/file_utils.c:447 -#: pg_receivewal.c:319 pg_recvlogical.c:339 +#: ../../common/file_utils.c:76 +#, c-format +msgid "could not synchronize file system for file \"%s\": %m" +msgstr "n'a pas pu synchroniser sur disque (fsync) le système de fichiers pour le fichier « %s » : %m" + +#: ../../common/file_utils.c:120 ../../common/file_utils.c:566 +#: pg_receivewal.c:319 pg_recvlogical.c:352 #, c-format msgid "could not stat file \"%s\": %m" msgstr "n'a pas pu tester le fichier « %s » : %m" -#: ../../common/file_utils.c:162 pg_receivewal.c:242 +#: ../../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 "cette construction ne supporte pas la méthode de synchronisation « %s »" + +#: ../../common/file_utils.c:151 ../../common/file_utils.c:281 +#: pg_receivewal.c:242 #, c-format msgid "could not open directory \"%s\": %m" msgstr "n'a pas pu ouvrir le répertoire « %s » : %m" -#: ../../common/file_utils.c:196 pg_receivewal.c:471 +#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 +#: pg_receivewal.c:471 #, c-format msgid "could not read directory \"%s\": %m" msgstr "n'a pas pu lire le répertoire « %s » : %m" -#: ../../common/file_utils.c:228 ../../common/file_utils.c:287 -#: ../../common/file_utils.c:361 ../../fe_utils/recovery_gen.c:121 -#: pg_receivewal.c:386 +#: ../../common/file_utils.c:498 pg_basebackup.c:2344 walmethods.c:462 #, c-format -msgid "could not open file \"%s\": %m" -msgstr "n'a pas pu ouvrir le fichier « %s » : %m" +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "n'a pas pu renommer le fichier « %s » en « %s » : %m" -#: ../../common/file_utils.c:299 ../../common/file_utils.c:369 -#: pg_recvlogical.c:194 +#: ../../common/restricted_token.c:60 #, c-format -msgid "could not fsync file \"%s\": %m" -msgstr "n'a pas pu synchroniser sur disque (fsync) le fichier « %s » : %m" +msgid "could not open process token: error code %lu" +msgstr "n'a pas pu ouvrir le jeton du processus : code d'erreur %lu" -#: ../../common/file_utils.c:379 pg_basebackup.c:2237 walmethods.c:462 +#: ../../common/restricted_token.c:74 #, c-format -msgid "could not rename file \"%s\" to \"%s\": %m" -msgstr "n'a pas pu renommer le fichier « %s » en « %s » : %m" +msgid "could not allocate SIDs: error code %lu" +msgstr "n'a pas pu allouer les SID : code d'erreur %lu" + +#: ../../common/restricted_token.c:94 +#, c-format +msgid "could not create restricted token: error code %lu" +msgstr "n'a pas pu créer le jeton restreint : code d'erreur %lu" + +#: ../../common/restricted_token.c:115 +#, c-format +msgid "could not start process for command \"%s\": error code %lu" +msgstr "n'a pas pu démarrer le processus pour la commande « %s » : code d'erreur %lu" + +#: ../../common/restricted_token.c:153 +#, c-format +msgid "could not re-execute with restricted token: error code %lu" +msgstr "n'a pas pu ré-exécuter le jeton restreint : code d'erreur %lu" + +#: ../../common/restricted_token.c:168 +#, c-format +msgid "could not get exit code from subprocess: error code %lu" +msgstr "n'a pas pu récupérer le code de statut du sous-processus : code d'erreur %lu" #: ../../fe_utils/option_utils.c:69 #, c-format @@ -148,51 +237,62 @@ msgstr "valeur « %s » invalide pour l'option %s" msgid "%s must be in range %d..%d" msgstr "%s doit être compris entre %d et %d" -#: ../../fe_utils/recovery_gen.c:34 ../../fe_utils/recovery_gen.c:45 -#: ../../fe_utils/recovery_gen.c:70 ../../fe_utils/recovery_gen.c:90 -#: ../../fe_utils/recovery_gen.c:149 pg_basebackup.c:1609 +#: ../../fe_utils/option_utils.c:106 +#, c-format +msgid "unrecognized sync method: %s" +msgstr "méthode de synchronisation non reconnu : %s" + +#: ../../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 #, c-format msgid "out of memory" msgstr "mémoire épuisée" -#: ../../fe_utils/recovery_gen.c:124 bbstreamer_file.c:121 -#: bbstreamer_file.c:258 pg_basebackup.c:1406 pg_basebackup.c:1700 +#: ../../fe_utils/recovery_gen.c:143 bbstreamer_file.c:121 +#: bbstreamer_file.c:258 pg_basebackup.c:1433 pg_basebackup.c:1727 #, c-format msgid "could not write to file \"%s\": %m" msgstr "n'a pas pu écrire dans le fichier « %s » : %m" -#: ../../fe_utils/recovery_gen.c:133 bbstreamer_file.c:93 bbstreamer_file.c:360 -#: pg_basebackup.c:1470 pg_basebackup.c:1679 +#: ../../fe_utils/recovery_gen.c:152 bbstreamer_file.c:93 bbstreamer_file.c:361 +#: pg_basebackup.c:1497 pg_basebackup.c:1706 #, c-format msgid "could not create file \"%s\": %m" msgstr "n'a pas pu créer le fichier « %s » : %m" -#: bbstreamer_file.c:138 pg_recvlogical.c:633 +#: ../../fe_utils/string_utils.c:434 #, c-format -msgid "could not close file \"%s\": %m" -msgstr "n'a pas pu fermer le fichier « %s » : %m" +msgid "shell command argument contains a newline or carriage return: \"%s\"\n" +msgstr "l'argument de la commande shell contient un retour à la ligne ou un retour chariot : « %s »\n" + +#: ../../fe_utils/string_utils.c:607 +#, c-format +msgid "database name contains a newline or carriage return: \"%s\"\n" +msgstr "le nom de la base contient un retour à la ligne ou un retour chariot : « %s »\n" #: bbstreamer_file.c:275 #, c-format msgid "unexpected state while extracting archive" msgstr "état inattendu lors de l'extraction de l'archive" -#: bbstreamer_file.c:320 pg_basebackup.c:686 pg_basebackup.c:730 +#: bbstreamer_file.c:321 pg_basebackup.c:698 pg_basebackup.c:712 +#: pg_basebackup.c:757 #, c-format msgid "could not create directory \"%s\": %m" msgstr "n'a pas pu créer le répertoire « %s » : %m" -#: bbstreamer_file.c:325 +#: bbstreamer_file.c:326 #, c-format msgid "could not set permissions on directory \"%s\": %m" msgstr "n'a pas pu configurer les droits du répertoire « %s » : %m" -#: bbstreamer_file.c:344 +#: bbstreamer_file.c:345 #, c-format msgid "could not create symbolic link from \"%s\" to \"%s\": %m" msgstr "n'a pas pu créer le lien symbolique de « %s » vers « %s » : %m" -#: bbstreamer_file.c:364 +#: bbstreamer_file.c:365 #, c-format msgid "could not set permissions on file \"%s\": %m" msgstr "n'a pas pu initialiser les droits du fichier « %s » : %m" @@ -227,7 +327,7 @@ msgstr "n'a pas pu écrire dans le fichier compressé « %s » : %s" msgid "could not close compressed file \"%s\": %m" msgstr "n'a pas pu fermer le fichier compressé « %s » : %m" -#: bbstreamer_gzip.c:245 walmethods.c:876 +#: bbstreamer_gzip.c:245 walmethods.c:880 #, c-format msgid "could not initialize compression library" msgstr "n'a pas pu initialiser la bibliothèque de compression" @@ -277,12 +377,12 @@ msgstr "la fin du fichier tar fait plus de 2 blocs" msgid "unexpected state while parsing tar archive" msgstr "état inattendu lors de l'analyse de l'archive tar" -#: bbstreamer_tar.c:296 +#: bbstreamer_tar.c:292 #, c-format msgid "tar member has empty name" msgstr "le membre de tar a un nom vide" -#: bbstreamer_tar.c:328 +#: bbstreamer_tar.c:326 #, c-format msgid "COPY stream ended before last file was finished" msgstr "le flux COPY s'est terminé avant que le dernier fichier soit terminé" @@ -312,87 +412,87 @@ msgstr "n'a pas pu activer le mode distance longue : %s" msgid "could not create zstd decompression context" msgstr "n'a pas pu créer le contexte de décompression zstd" -#: pg_basebackup.c:238 +#: pg_basebackup.c:245 #, c-format msgid "removing data directory \"%s\"" msgstr "suppression du répertoire des données « %s »" -#: pg_basebackup.c:240 +#: pg_basebackup.c:247 #, c-format msgid "failed to remove data directory" msgstr "échec de la suppression du répertoire des données" -#: pg_basebackup.c:244 +#: pg_basebackup.c:251 #, c-format msgid "removing contents of data directory \"%s\"" msgstr "suppression du contenu du répertoire des données « %s »" -#: pg_basebackup.c:246 +#: pg_basebackup.c:253 #, c-format msgid "failed to remove contents of data directory" msgstr "échec de la suppression du contenu du répertoire des données" -#: pg_basebackup.c:251 +#: pg_basebackup.c:258 #, c-format msgid "removing WAL directory \"%s\"" msgstr "suppression du répertoire des journaux de transactions « %s »" -#: pg_basebackup.c:253 +#: pg_basebackup.c:260 #, c-format msgid "failed to remove WAL directory" msgstr "échec de la suppression du répertoire des journaux de transactions" -#: pg_basebackup.c:257 +#: pg_basebackup.c:264 #, c-format msgid "removing contents of WAL directory \"%s\"" msgstr "suppression du contenu du répertoire des journaux de transactions « %s »" -#: pg_basebackup.c:259 +#: pg_basebackup.c:266 #, c-format msgid "failed to remove contents of WAL directory" msgstr "échec de la suppression du contenu du répertoire des journaux de transactions" -#: pg_basebackup.c:265 +#: pg_basebackup.c:272 #, c-format msgid "data directory \"%s\" not removed at user's request" msgstr "répertoire des données « %s » non supprimé à la demande de l'utilisateur" -#: pg_basebackup.c:268 +#: pg_basebackup.c:275 #, c-format msgid "WAL directory \"%s\" not removed at user's request" msgstr "répertoire des journaux de transactions « %s » non supprimé à la demande de l'utilisateur" -#: pg_basebackup.c:272 +#: pg_basebackup.c:279 #, c-format msgid "changes to tablespace directories will not be undone" msgstr "les modifications des répertoires des tablespaces ne seront pas annulées" -#: pg_basebackup.c:324 +#: pg_basebackup.c:331 #, c-format msgid "directory name too long" msgstr "nom du répertoire trop long" -#: pg_basebackup.c:331 +#: pg_basebackup.c:338 #, c-format msgid "multiple \"=\" signs in tablespace mapping" msgstr "multiple signes « = » dans la correspondance de tablespace" -#: pg_basebackup.c:340 +#: pg_basebackup.c:347 #, c-format msgid "invalid tablespace mapping format \"%s\", must be \"OLDDIR=NEWDIR\"" msgstr "format de correspondance de tablespace « %s » invalide, doit être « ANCIENREPERTOIRE=NOUVEAUREPERTOIRE »" -#: pg_basebackup.c:359 +#: pg_basebackup.c:366 #, c-format msgid "old directory is not an absolute path in tablespace mapping: %s" msgstr "l'ancien répertoire n'est pas un chemin absolu dans la correspondance de tablespace : %s" -#: pg_basebackup.c:363 +#: pg_basebackup.c:370 #, c-format msgid "new directory is not an absolute path in tablespace mapping: %s" msgstr "le nouveau répertoire n'est pas un chemin absolu dans la correspondance de tablespace : %s" -#: pg_basebackup.c:385 +#: pg_basebackup.c:392 #, c-format msgid "" "%s takes a base backup of a running PostgreSQL server.\n" @@ -402,17 +502,19 @@ msgstr "" "d'exécution.\n" "\n" -#: pg_basebackup.c:387 pg_receivewal.c:79 pg_recvlogical.c:76 +#: pg_basebackup.c:394 pg_createsubscriber.c:221 pg_receivewal.c:79 +#: pg_recvlogical.c:86 #, c-format msgid "Usage:\n" msgstr "Usage :\n" -#: pg_basebackup.c:388 pg_receivewal.c:80 pg_recvlogical.c:77 +#: pg_basebackup.c:395 pg_createsubscriber.c:222 pg_receivewal.c:80 +#: pg_recvlogical.c:87 #, c-format msgid " %s [OPTION]...\n" msgstr " %s [OPTION]...\n" -#: pg_basebackup.c:389 +#: pg_basebackup.c:396 #, c-format msgid "" "\n" @@ -421,17 +523,26 @@ msgstr "" "\n" "Options contrôlant la sortie :\n" -#: pg_basebackup.c:390 +#: pg_basebackup.c:397 #, c-format msgid " -D, --pgdata=DIRECTORY receive base backup into directory\n" msgstr " -D, --pgdata=RÉPERTOIRE reçoit la sauvegarde de base dans ce répertoire\n" -#: pg_basebackup.c:391 +#: pg_basebackup.c:398 #, c-format msgid " -F, --format=p|t output format (plain (default), tar)\n" msgstr " -F, --format=p|t format en sortie (plain (par défaut), tar)\n" -#: pg_basebackup.c:392 +#: pg_basebackup.c:399 +#, c-format +msgid "" +" -i, --incremental=OLDMANIFEST\n" +" take incremental backup\n" +msgstr "" +" -i, --incremental=ANCIENMANIFESTE\n" +" réalise une sauvegarde incrémentale\n" + +#: pg_basebackup.c:401 #, c-format msgid "" " -r, --max-rate=RATE maximum transfer rate to transfer data directory\n" @@ -441,21 +552,21 @@ msgstr "" " données (en Ko/s, ou utiliser le suffixe « k »\n" " ou « M »)\n" -#: pg_basebackup.c:394 +#: pg_basebackup.c:403 #, c-format msgid "" " -R, --write-recovery-conf\n" " write configuration for replication\n" msgstr " -R, --write-recovery-conf écrit la configuration pour la réplication\n" -#: pg_basebackup.c:396 +#: pg_basebackup.c:405 #, c-format msgid "" " -t, --target=TARGET[:DETAIL]\n" " backup target (if other than client)\n" msgstr " -t, --target=CIBLE[:DETAIL] cible de sauvegarde (si autre que client)\n" -#: pg_basebackup.c:398 +#: pg_basebackup.c:407 #, c-format msgid "" " -T, --tablespace-mapping=OLDDIR=NEWDIR\n" @@ -464,14 +575,14 @@ msgstr "" " -T, --tablespace-mapping=ANCIENREP=NOUVEAUREP\n" " déplace le répertoire ANCIENREP en NOUVEAUREP\n" -#: pg_basebackup.c:400 +#: pg_basebackup.c:409 #, c-format msgid " --waldir=WALDIR location for the write-ahead log directory\n" msgstr "" " --waldir=RÉP_WAL emplacement du répertoire des journaux de\n" " transactions\n" -#: pg_basebackup.c:401 +#: pg_basebackup.c:410 #, c-format msgid "" " -X, --wal-method=none|fetch|stream\n" @@ -481,12 +592,12 @@ msgstr "" " inclut les journaux de transactions requis avec\n" " la méthode spécifiée\n" -#: pg_basebackup.c:403 +#: pg_basebackup.c:412 #, c-format msgid " -z, --gzip compress tar output\n" msgstr " -z, --gzip compresse la sortie tar\n" -#: pg_basebackup.c:404 +#: pg_basebackup.c:413 #, c-format msgid "" " -Z, --compress=[{client|server}-]METHOD[:DETAIL]\n" @@ -495,12 +606,12 @@ msgstr "" " -Z, --compress=[{client|server}-]METHODE[:DETAIL]\n" " compresse sur le client ou le serveur comme indiqué\n" -#: pg_basebackup.c:406 +#: pg_basebackup.c:415 #, c-format msgid " -Z, --compress=none do not compress tar output\n" msgstr " -Z, --compress=none ne compresse pas la sortie tar\n" -#: pg_basebackup.c:407 +#: pg_basebackup.c:416 #, c-format msgid "" "\n" @@ -509,56 +620,56 @@ msgstr "" "\n" "Options générales :\n" -#: pg_basebackup.c:408 +#: pg_basebackup.c:417 #, c-format msgid "" " -c, --checkpoint=fast|spread\n" -" set fast or spread checkpointing\n" -msgstr " -c, --checkpoint=fast|spread exécute un CHECKPOINT rapide ou réparti\n" +" set fast or spread (default) checkpointing\n" +msgstr " -c, --checkpoint=fast|spread exécute un CHECKPOINT rapide ou réparti (par défaut)\n" -#: pg_basebackup.c:410 +#: pg_basebackup.c:419 #, c-format msgid " -C, --create-slot create replication slot\n" msgstr " --create-slot crée un slot de réplication\n" -#: pg_basebackup.c:411 +#: pg_basebackup.c:420 #, c-format msgid " -l, --label=LABEL set backup label\n" msgstr " -l, --label=LABEL configure le label de sauvegarde\n" -#: pg_basebackup.c:412 +#: pg_basebackup.c:421 #, c-format msgid " -n, --no-clean do not clean up after errors\n" msgstr " -n, --no-clean ne nettoie pas en cas d'erreur\n" -#: pg_basebackup.c:413 +#: pg_basebackup.c:422 #, c-format msgid " -N, --no-sync do not wait for changes to be written safely to disk\n" msgstr "" " -N, --no-sync n'attend pas que les modifications soient\n" " proprement écrites sur disque\n" -#: pg_basebackup.c:414 +#: pg_basebackup.c:423 #, c-format msgid " -P, --progress show progress information\n" msgstr " -P, --progress affiche la progression de la sauvegarde\n" -#: pg_basebackup.c:415 pg_receivewal.c:89 +#: pg_basebackup.c:424 pg_receivewal.c:89 #, c-format msgid " -S, --slot=SLOTNAME replication slot to use\n" msgstr " -S, --slot=NOMREP slot de réplication à utiliser\n" -#: pg_basebackup.c:416 pg_receivewal.c:91 pg_recvlogical.c:98 +#: pg_basebackup.c:425 pg_receivewal.c:91 pg_recvlogical.c:108 #, c-format msgid " -v, --verbose output verbose messages\n" msgstr " -v, --verbose affiche des messages verbeux\n" -#: pg_basebackup.c:417 pg_receivewal.c:92 pg_recvlogical.c:99 +#: pg_basebackup.c:426 pg_receivewal.c:92 pg_recvlogical.c:109 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version affiche la version puis quitte\n" -#: pg_basebackup.c:418 +#: pg_basebackup.c:427 #, c-format msgid "" " --manifest-checksums=SHA{224,256,384,512}|CRC32C|NONE\n" @@ -568,7 +679,7 @@ msgstr "" " utilise cet algorithme pour les sommes de\n" " contrôle du manifeste\n" -#: pg_basebackup.c:420 +#: pg_basebackup.c:429 #, c-format msgid "" " --manifest-force-encode\n" @@ -577,40 +688,47 @@ msgstr "" " --manifest-force-encode encode tous les noms de fichier dans le\n" " manifeste en hexadécimal\n" -#: pg_basebackup.c:422 +#: pg_basebackup.c:431 #, c-format msgid " --no-estimate-size do not estimate backup size in server side\n" msgstr "" " --no-estimate-size ne réalise pas d'estimation sur la taille de la\n" " sauvegarde côté serveur\n" -#: pg_basebackup.c:423 +#: pg_basebackup.c:432 #, c-format msgid " --no-manifest suppress generation of backup manifest\n" msgstr "" " --no-manifest supprime la génération de manifeste de\n" " sauvegarde\n" -#: pg_basebackup.c:424 +#: pg_basebackup.c:433 #, c-format msgid " --no-slot prevent creation of temporary replication slot\n" msgstr "" " --no-slot empêche la création de slots de réplication\n" " temporaires\n" -#: pg_basebackup.c:425 +#: pg_basebackup.c:434 #, c-format msgid "" " --no-verify-checksums\n" " do not verify checksums\n" msgstr " --no-verify-checksums ne vérifie pas les sommes de contrôle\n" -#: pg_basebackup.c:427 pg_receivewal.c:95 pg_recvlogical.c:100 +#: pg_basebackup.c:436 +#, c-format +msgid "" +" --sync-method=METHOD\n" +" set method for syncing files to disk\n" +msgstr " --sync-method=METHODE configure la méthode pour synchroniser les fichiers sur disque\n" + +#: pg_basebackup.c:438 pg_receivewal.c:95 pg_recvlogical.c:110 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help affiche cette aide puis quitte\n" -#: pg_basebackup.c:428 pg_receivewal.c:96 pg_recvlogical.c:101 +#: pg_basebackup.c:439 pg_receivewal.c:96 pg_recvlogical.c:111 #, c-format msgid "" "\n" @@ -619,24 +737,24 @@ msgstr "" "\n" "Options de connexion :\n" -#: pg_basebackup.c:429 pg_receivewal.c:97 +#: pg_basebackup.c:440 pg_receivewal.c:97 #, c-format msgid " -d, --dbname=CONNSTR connection string\n" msgstr " -d, --dbname=CHAÎNE_CONNEX chaîne de connexion\n" -#: pg_basebackup.c:430 pg_receivewal.c:98 pg_recvlogical.c:103 +#: pg_basebackup.c:441 pg_receivewal.c:98 pg_recvlogical.c:113 #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr "" " -h, --host=HÔTE hôte du serveur de bases de données ou\n" " répertoire des sockets\n" -#: pg_basebackup.c:431 pg_receivewal.c:99 pg_recvlogical.c:104 +#: pg_basebackup.c:442 pg_receivewal.c:99 pg_recvlogical.c:114 #, c-format msgid " -p, --port=PORT database server port number\n" msgstr " -p, --port=PORT numéro de port du serveur de bases de données\n" -#: pg_basebackup.c:432 +#: pg_basebackup.c:443 #, c-format msgid "" " -s, --status-interval=INTERVAL\n" @@ -645,24 +763,25 @@ msgstr "" " -s, --status-interval=INTERVAL durée entre l'envoi de paquets de statut au\n" " serveur (en secondes)\n" -#: pg_basebackup.c:434 pg_receivewal.c:100 pg_recvlogical.c:105 +#: pg_basebackup.c:445 pg_receivewal.c:100 pg_recvlogical.c:115 #, c-format msgid " -U, --username=NAME connect as specified database user\n" msgstr " -U, --username=UTILISATEUR se connecte avec cet utilisateur\n" -#: pg_basebackup.c:435 pg_receivewal.c:101 pg_recvlogical.c:106 +#: pg_basebackup.c:446 pg_receivewal.c:101 pg_recvlogical.c:116 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password ne demande jamais le mot de passe\n" -#: pg_basebackup.c:436 pg_receivewal.c:102 pg_recvlogical.c:107 +#: pg_basebackup.c:447 pg_receivewal.c:102 pg_recvlogical.c:117 #, c-format msgid " -W, --password force password prompt (should happen automatically)\n" msgstr "" " -W, --password force la demande du mot de passe (devrait\n" " survenir automatiquement)\n" -#: pg_basebackup.c:437 pg_receivewal.c:106 pg_recvlogical.c:108 +#: pg_basebackup.c:448 pg_createsubscriber.c:240 pg_receivewal.c:106 +#: pg_recvlogical.c:118 #, c-format msgid "" "\n" @@ -671,484 +790,548 @@ msgstr "" "\n" "Rapporter les bogues à <%s>.\n" -#: pg_basebackup.c:438 pg_receivewal.c:107 pg_recvlogical.c:109 +#: pg_basebackup.c:449 pg_createsubscriber.c:241 pg_receivewal.c:107 +#: pg_recvlogical.c:119 #, c-format msgid "%s home page: <%s>\n" msgstr "Page d'accueil de %s : <%s>\n" -#: pg_basebackup.c:477 +#: pg_basebackup.c:488 #, c-format msgid "could not read from ready pipe: %m" msgstr "n'a pas pu lire à partir du tube : %m" -#: pg_basebackup.c:480 pg_basebackup.c:622 pg_basebackup.c:2151 -#: streamutil.c:441 +#: pg_basebackup.c:491 pg_basebackup.c:633 pg_basebackup.c:2258 +#: streamutil.c:518 #, c-format msgid "could not parse write-ahead log location \"%s\"" msgstr "n'a pas pu analyser l'emplacement du journal des transactions « %s »" -#: pg_basebackup.c:585 pg_receivewal.c:600 +#: pg_basebackup.c:596 pg_receivewal.c:600 #, c-format msgid "could not finish writing WAL files: %m" msgstr "n'a pas pu finir l'écriture dans les fichiers de transactions : %m" -#: pg_basebackup.c:631 +#: pg_basebackup.c:642 #, c-format msgid "could not create pipe for background process: %m" msgstr "n'a pas pu créer un tube pour le processus en tâche de fond : %m" -#: pg_basebackup.c:664 +#: pg_basebackup.c:676 #, c-format msgid "created temporary replication slot \"%s\"" msgstr "a créé le slot de réplication temporaire « %s »" -#: pg_basebackup.c:667 +#: pg_basebackup.c:679 #, c-format msgid "created replication slot \"%s\"" msgstr "a créé le slot de réplication « %s »" -#: pg_basebackup.c:701 +#: pg_basebackup.c:728 #, c-format msgid "could not create background process: %m" msgstr "n'a pas pu créer un processus en tâche de fond : %m" -#: pg_basebackup.c:710 +#: pg_basebackup.c:737 #, c-format msgid "could not create background thread: %m" msgstr "n'a pas pu créer un thread en tâche de fond : %m" -#: pg_basebackup.c:749 +#: pg_basebackup.c:776 #, c-format msgid "directory \"%s\" exists but is not empty" msgstr "le répertoire « %s » existe mais n'est pas vide" -#: pg_basebackup.c:755 +#: pg_basebackup.c:782 pg_createsubscriber.c:390 #, c-format msgid "could not access directory \"%s\": %m" msgstr "n'a pas pu accéder au répertoire « %s » : %m" -#: pg_basebackup.c:831 +#: pg_basebackup.c:858 #, c-format msgid "%*s/%s kB (100%%), %d/%d tablespace %*s" msgid_plural "%*s/%s kB (100%%), %d/%d tablespaces %*s" msgstr[0] "%*s/%s Ko (100%%), %d/%d tablespace %*s" msgstr[1] "%*s/%s Ko (100%%), %d/%d tablespaces %*s" -#: pg_basebackup.c:843 +#: pg_basebackup.c:870 #, c-format msgid "%*s/%s kB (%d%%), %d/%d tablespace (%s%-*.*s)" msgid_plural "%*s/%s kB (%d%%), %d/%d tablespaces (%s%-*.*s)" msgstr[0] "%*s/%s Ko (%d%%), %d/%d tablespace (%s%-*.*s)" msgstr[1] "%*s/%s Ko (%d%%), %d/%d tablespaces (%s%-*.*s)" -#: pg_basebackup.c:859 +#: pg_basebackup.c:886 #, c-format msgid "%*s/%s kB (%d%%), %d/%d tablespace" msgid_plural "%*s/%s kB (%d%%), %d/%d tablespaces" msgstr[0] "%*s/%s Ko (%d%%), %d/%d tablespace" msgstr[1] "%*s/%s Ko (%d%%), %d/%d tablespaces" -#: pg_basebackup.c:883 +#: pg_basebackup.c:910 #, c-format msgid "transfer rate \"%s\" is not a valid value" msgstr "le taux de transfert « %s » ne correspond pas à une valeur valide" -#: pg_basebackup.c:885 +#: pg_basebackup.c:912 #, c-format msgid "invalid transfer rate \"%s\": %m" msgstr "taux de transfert invalide (« %s ») : %m" -#: pg_basebackup.c:892 +#: pg_basebackup.c:919 #, c-format msgid "transfer rate must be greater than zero" msgstr "le taux de transfert doit être supérieur à zéro" -#: pg_basebackup.c:922 +#: pg_basebackup.c:949 #, c-format msgid "invalid --max-rate unit: \"%s\"" msgstr "unité invalide pour --max-rate : « %s »" -#: pg_basebackup.c:926 +#: pg_basebackup.c:953 #, c-format msgid "transfer rate \"%s\" exceeds integer range" msgstr "le taux de transfert « %s » dépasse l'échelle des entiers" -#: pg_basebackup.c:933 +#: pg_basebackup.c:960 #, c-format msgid "transfer rate \"%s\" is out of range" msgstr "le taux de transfert « %s » est en dehors des limites" -#: pg_basebackup.c:995 +#: pg_basebackup.c:1022 #, c-format msgid "could not get COPY data stream: %s" msgstr "n'a pas pu obtenir le flux de données de COPY : %s" -#: pg_basebackup.c:1012 pg_recvlogical.c:436 pg_recvlogical.c:608 +#: pg_basebackup.c:1039 pg_recvlogical.c:449 pg_recvlogical.c:625 #: receivelog.c:973 #, c-format msgid "could not read COPY data: %s" msgstr "n'a pas pu lire les données du COPY : %s" -#: pg_basebackup.c:1016 +#: pg_basebackup.c:1043 #, c-format msgid "background process terminated unexpectedly" msgstr "un processus worker s'est arrêté de façon inattendue" -#: pg_basebackup.c:1087 +#: pg_basebackup.c:1114 #, c-format msgid "cannot inject manifest into a compressed tar file" msgstr "ne peut pas injecter le manifeste dans un fichier tar compressé" -#: pg_basebackup.c:1088 +#: pg_basebackup.c:1115 #, c-format msgid "Use client-side compression, send the output to a directory rather than standard output, or use %s." msgstr "Utilisez la compression côté client, envoyez la sortie dans un répertoire plutôt que sur la sortie standard, ou utilisez %s." -#: pg_basebackup.c:1104 +#: pg_basebackup.c:1131 #, c-format msgid "cannot parse archive \"%s\"" msgstr "n'a pas pu analyser l'archive « %s »" -#: pg_basebackup.c:1105 +#: pg_basebackup.c:1132 #, c-format msgid "Only tar archives can be parsed." msgstr "Seules les archives tar peuvent être analysées" -#: pg_basebackup.c:1107 +#: pg_basebackup.c:1134 #, c-format msgid "Plain format requires pg_basebackup to parse the archive." msgstr "Le format plain requiert que pg_basebackup analyse l'archive." -#: pg_basebackup.c:1109 +#: pg_basebackup.c:1136 #, c-format msgid "Using - as the output directory requires pg_basebackup to parse the archive." msgstr "Utiliser - comme répertoire de sortie requiert que pg_basebackup analyse l'archive." -#: pg_basebackup.c:1111 +#: pg_basebackup.c:1138 #, c-format msgid "The -R option requires pg_basebackup to parse the archive." msgstr "L'option -R requiert que pg_basebackup analyse l'archive." -#: pg_basebackup.c:1330 +#: pg_basebackup.c:1357 #, c-format msgid "archives must precede manifest" msgstr "les archives doivent précéder le manifeste" -#: pg_basebackup.c:1345 +#: pg_basebackup.c:1372 #, c-format msgid "invalid archive name: \"%s\"" msgstr "nom d'archive invalide : « %s »" -#: pg_basebackup.c:1417 +#: pg_basebackup.c:1444 #, c-format msgid "unexpected payload data" msgstr "donnée de charge inattendue" -#: pg_basebackup.c:1560 +#: pg_basebackup.c:1587 #, c-format msgid "empty COPY message" msgstr "message COPY vide" -#: pg_basebackup.c:1562 +#: pg_basebackup.c:1589 #, c-format msgid "malformed COPY message of type %d, length %zu" msgstr "message COPY malformé de type %d, longueur %zu" -#: pg_basebackup.c:1760 +#: pg_basebackup.c:1789 #, c-format msgid "incompatible server version %s" msgstr "version « %s » du serveur incompatible" -#: pg_basebackup.c:1776 +#: pg_basebackup.c:1805 #, c-format msgid "Use -X none or -X fetch to disable log streaming." msgstr "Utilisez -X none ou -X fetch pour désactiver la réplication en flux." -#: pg_basebackup.c:1844 +#: pg_basebackup.c:1841 +#, c-format +msgid "server does not support incremental backup" +msgstr "le serveur n'accepte pas les sauvegardes incrémentales" + +#: 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 +#, c-format +msgid "could not send replication command \"%s\": %s" +msgstr "n'a pas pu envoyer la commande de réplication « %s » : %s" + +#: pg_basebackup.c:1856 pg_basebackup.c:1883 +#, c-format +msgid "could not upload manifest: %s" +msgstr "n'a pas pu charger le manifeste : %s" + +#: pg_basebackup.c:1859 pg_basebackup.c:1886 +#, c-format +msgid "could not upload manifest: unexpected status %s" +msgstr "n'a pas pu charger le manifeste : statut %s inattendu" + +#: pg_basebackup.c:1867 +#, c-format +msgid "could not send COPY data: %s" +msgstr "n'a pas pu envoyer les données COPY : %s" + +#: pg_basebackup.c:1877 +#, c-format +msgid "could not send end-of-COPY: %s" +msgstr "n'a pas pu envoyer end-of-COPY : %s" + +#: pg_basebackup.c:1892 +#, c-format +msgid "unexpected extra result while sending manifest" +msgstr "résultat supplémentaire inattendu lors de l'envoi du manifeste" + +#: pg_basebackup.c:1950 #, c-format msgid "backup targets are not supported by this server version" msgstr "les cibles de sauvegarde ne sont pas supportées par cette version du serveur" -#: pg_basebackup.c:1847 +#: pg_basebackup.c:1953 #, c-format msgid "recovery configuration cannot be written when a backup target is used" msgstr "la configuration de la restauration ne peut pas être écrite quand une cible de restauration est utilisée" -#: pg_basebackup.c:1874 +#: pg_basebackup.c:1980 #, c-format msgid "server does not support server-side compression" msgstr "le serveur ne supporte pas la compression côté serveur" -#: pg_basebackup.c:1884 +#: pg_basebackup.c:1990 #, c-format msgid "initiating base backup, waiting for checkpoint to complete" msgstr "début de la sauvegarde de base, en attente de la fin du checkpoint" -#: pg_basebackup.c:1888 +#: pg_basebackup.c:1994 #, c-format msgid "waiting for checkpoint" msgstr "en attente du checkpoint" -#: pg_basebackup.c:1901 pg_recvlogical.c:260 receivelog.c:543 receivelog.c:582 -#: streamutil.c:288 streamutil.c:361 streamutil.c:413 streamutil.c:501 -#: streamutil.c:653 streamutil.c:698 -#, c-format -msgid "could not send replication command \"%s\": %s" -msgstr "n'a pas pu envoyer la commande de réplication « %s » : %s" - -#: pg_basebackup.c:1909 +#: pg_basebackup.c:2016 #, c-format msgid "could not initiate base backup: %s" msgstr "n'a pas pu initier la sauvegarde de base : %s" -#: pg_basebackup.c:1912 +#: pg_basebackup.c:2019 #, c-format msgid "server returned unexpected response to BASE_BACKUP command; got %d rows and %d fields, expected %d rows and %d fields" msgstr "le serveur a renvoyé une réponse inattendue à la commande BASE_BACKUP ; a récupéré %d lignes et %d champs, alors qu'il attendait %d lignes et %d champs" -#: pg_basebackup.c:1918 +#: pg_basebackup.c:2025 #, c-format msgid "checkpoint completed" msgstr "checkpoint terminé" -#: pg_basebackup.c:1932 +#: pg_basebackup.c:2039 #, c-format msgid "write-ahead log start point: %s on timeline %u" msgstr "point de départ du journal de transactions : %s sur la timeline %u" -#: pg_basebackup.c:1940 +#: pg_basebackup.c:2047 #, c-format msgid "could not get backup header: %s" msgstr "n'a pas pu obtenir l'en-tête du serveur : %s" -#: pg_basebackup.c:1943 +#: pg_basebackup.c:2050 #, c-format msgid "no data returned from server" msgstr "aucune donnée renvoyée du serveur" -#: pg_basebackup.c:1986 +#: pg_basebackup.c:2093 #, c-format msgid "can only write single tablespace to stdout, database has %d" msgstr "peut seulement écrire un tablespace sur la sortie standard, la base en a %d" -#: pg_basebackup.c:1999 +#: pg_basebackup.c:2106 #, c-format msgid "starting background WAL receiver" msgstr "lance le récepteur de journaux de transactions en tâche de fond" -#: pg_basebackup.c:2082 +#: pg_basebackup.c:2189 #, c-format msgid "backup failed: %s" msgstr "échec de la sauvegarde : %s" -#: pg_basebackup.c:2085 +#: pg_basebackup.c:2192 #, c-format msgid "no write-ahead log end position returned from server" msgstr "aucune position de fin du journal de transactions renvoyée par le serveur" -#: pg_basebackup.c:2088 +#: pg_basebackup.c:2195 #, c-format msgid "write-ahead log end point: %s" msgstr "point final du journal de transactions : %s" -#: pg_basebackup.c:2099 +#: pg_basebackup.c:2206 #, c-format msgid "checksum error occurred" msgstr "erreur de somme de contrôle" -#: pg_basebackup.c:2104 +#: pg_basebackup.c:2211 #, c-format msgid "final receive failed: %s" msgstr "échec lors de la réception finale : %s" -#: pg_basebackup.c:2128 +#: pg_basebackup.c:2235 #, c-format msgid "waiting for background process to finish streaming ..." msgstr "en attente que le processus en tâche de fond termine le flux..." -#: pg_basebackup.c:2132 +#: pg_basebackup.c:2239 #, c-format msgid "could not send command to background pipe: %m" msgstr "n'a pas pu envoyer la commande au tube du processus : %m" -#: pg_basebackup.c:2137 +#: pg_basebackup.c:2244 #, c-format msgid "could not wait for child process: %m" msgstr "n'a pas pu attendre le processus fils : %m" -#: pg_basebackup.c:2139 +#: pg_basebackup.c:2246 #, c-format msgid "child %d died, expected %d" msgstr "le fils %d est mort, %d attendu" -#: pg_basebackup.c:2141 streamutil.c:91 streamutil.c:196 +#: pg_basebackup.c:2248 streamutil.c:89 streamutil.c:204 streamutil.c:316 #, c-format msgid "%s" msgstr "%s" -#: pg_basebackup.c:2161 +#: pg_basebackup.c:2268 #, c-format msgid "could not wait for child thread: %m" msgstr "n'a pas pu attendre le thread : %m" -#: pg_basebackup.c:2166 +#: pg_basebackup.c:2273 #, c-format msgid "could not get child thread exit status: %m" msgstr "n'a pas pu obtenir le code de sortie du thread : %m" -#: pg_basebackup.c:2169 +#: pg_basebackup.c:2276 #, c-format msgid "child thread exited with error %u" msgstr "le thread a quitté avec le code d'erreur %u" -#: pg_basebackup.c:2198 +#: pg_basebackup.c:2305 #, c-format msgid "syncing data to disk ..." msgstr "synchronisation des données sur disque..." -#: pg_basebackup.c:2223 +#: pg_basebackup.c:2330 #, c-format msgid "renaming backup_manifest.tmp to backup_manifest" msgstr "renommage de backup_manifest.tmp en backup_manifest" -#: pg_basebackup.c:2243 +#: pg_basebackup.c:2350 #, c-format msgid "base backup completed" msgstr "sauvegarde de base terminée" -#: pg_basebackup.c:2326 +#: pg_basebackup.c:2436 #, c-format msgid "invalid checkpoint argument \"%s\", must be \"fast\" or \"spread\"" msgstr "argument « %s » invalide pour le CHECKPOINT, doit être soit « fast » soit « spread »" -#: pg_basebackup.c:2344 +#: pg_basebackup.c:2454 #, c-format msgid "invalid output format \"%s\", must be \"plain\" or \"tar\"" msgstr "format de sortie « %s » invalide, doit être soit « plain » soit « tar »" -#: pg_basebackup.c:2422 +#: pg_basebackup.c:2535 #, c-format msgid "invalid wal-method option \"%s\", must be \"fetch\", \"stream\", or \"none\"" msgstr "option wal-method « %s » invalide, doit être soit « fetch » soit « stream » soit « none »" -#: pg_basebackup.c:2457 pg_basebackup.c:2469 pg_basebackup.c:2491 -#: pg_basebackup.c:2503 pg_basebackup.c:2509 pg_basebackup.c:2561 -#: pg_basebackup.c:2572 pg_basebackup.c:2582 pg_basebackup.c:2588 -#: pg_basebackup.c:2595 pg_basebackup.c:2607 pg_basebackup.c:2619 -#: pg_basebackup.c:2627 pg_basebackup.c:2640 pg_basebackup.c:2646 -#: pg_basebackup.c:2655 pg_basebackup.c:2667 pg_basebackup.c:2678 -#: pg_basebackup.c:2686 pg_receivewal.c:748 pg_receivewal.c:760 +#: pg_basebackup.c:2574 pg_basebackup.c:2586 pg_basebackup.c:2608 +#: pg_basebackup.c:2620 pg_basebackup.c:2626 pg_basebackup.c:2678 +#: pg_basebackup.c:2689 pg_basebackup.c:2699 pg_basebackup.c:2705 +#: 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_receivewal.c:767 pg_receivewal.c:776 pg_receivewal.c:783 -#: pg_receivewal.c:793 pg_recvlogical.c:835 pg_recvlogical.c:847 -#: pg_recvlogical.c:857 pg_recvlogical.c:864 pg_recvlogical.c:871 -#: pg_recvlogical.c:878 pg_recvlogical.c:885 pg_recvlogical.c:892 -#: pg_recvlogical.c:899 pg_recvlogical.c:906 +#: pg_receivewal.c:793 pg_recvlogical.c:853 pg_recvlogical.c:865 +#: pg_recvlogical.c:875 pg_recvlogical.c:882 pg_recvlogical.c:889 +#: pg_recvlogical.c:896 pg_recvlogical.c:903 pg_recvlogical.c:910 +#: pg_recvlogical.c:917 pg_recvlogical.c:924 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Essayez « %s --help » pour plus d'informations." -#: pg_basebackup.c:2467 pg_receivewal.c:758 pg_recvlogical.c:845 +#: pg_basebackup.c:2584 pg_createsubscriber.c:2045 pg_receivewal.c:758 +#: pg_recvlogical.c:863 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "trop d'arguments en ligne de commande (le premier étant « %s »)" -#: pg_basebackup.c:2490 +#: pg_basebackup.c:2607 #, c-format msgid "cannot specify both format and backup target" msgstr "ne peut pas spécifier à la fois le format et la cible de sauvegarde" -#: pg_basebackup.c:2502 +#: pg_basebackup.c:2619 #, c-format msgid "must specify output directory or backup target" msgstr "doit spécifier un répertoire de sortie ou une cible de sauvegarde" -#: pg_basebackup.c:2508 +#: pg_basebackup.c:2625 #, c-format msgid "cannot specify both output directory and backup target" msgstr "ne peut pas spécifier à la fois le répertoire en sortie et la cible de sauvegarde" -#: pg_basebackup.c:2538 pg_receivewal.c:802 +#: pg_basebackup.c:2655 pg_receivewal.c:802 #, c-format msgid "unrecognized compression algorithm: \"%s\"" msgstr "algorithme de compression inconnu : « %s »" -#: pg_basebackup.c:2544 pg_receivewal.c:809 +#: pg_basebackup.c:2661 pg_receivewal.c:809 #, c-format msgid "invalid compression specification: %s" msgstr "spécification de compression invalide : %s" -#: pg_basebackup.c:2560 +#: pg_basebackup.c:2677 #, c-format msgid "client-side compression is not possible when a backup target is specified" msgstr "la compression client n'est pas possible quand une cible de restauration est indiquée." -#: pg_basebackup.c:2571 +#: pg_basebackup.c:2688 #, c-format msgid "only tar mode backups can be compressed" msgstr "seules les sauvegardes en mode tar peuvent être compressées" -#: pg_basebackup.c:2581 +#: pg_basebackup.c:2698 #, c-format msgid "WAL cannot be streamed when a backup target is specified" msgstr "Les journaux de transactions ne peuvent pas être envoyés en flux quand une cible de sauvegarde est indiquée." -#: pg_basebackup.c:2587 +#: pg_basebackup.c:2704 #, c-format msgid "cannot stream write-ahead logs in tar mode to stdout" msgstr "ne peut pas envoyer les journaux de transactions vers stdout en mode tar" -#: pg_basebackup.c:2594 +#: pg_basebackup.c:2711 #, c-format msgid "replication slots can only be used with WAL streaming" msgstr "les slots de réplications peuvent seulement être utilisés avec la réplication en flux des WAL" -#: pg_basebackup.c:2606 +#: pg_basebackup.c:2723 #, c-format msgid "--no-slot cannot be used with slot name" msgstr "--no-slot ne peut pas être utilisé avec un nom de slot" #. translator: second %s is an option name -#: pg_basebackup.c:2617 pg_receivewal.c:774 +#: pg_basebackup.c:2734 pg_receivewal.c:774 #, c-format msgid "%s needs a slot to be specified using --slot" msgstr "%s a besoin du slot avec l'option --slot" -#: pg_basebackup.c:2625 pg_basebackup.c:2665 pg_basebackup.c:2676 -#: pg_basebackup.c:2684 +#: pg_basebackup.c:2742 pg_basebackup.c:2782 pg_basebackup.c:2793 +#: pg_basebackup.c:2801 #, c-format msgid "%s and %s are incompatible options" msgstr "%s et %s sont des options incompatibles" -#: pg_basebackup.c:2639 +#: pg_basebackup.c:2756 #, c-format msgid "WAL directory location cannot be specified along with a backup target" msgstr "l'emplacement du répertoire des journaux de transactions ne peut pas être indiqué avec une cible de sauvegarde" -#: pg_basebackup.c:2645 +#: pg_basebackup.c:2762 #, c-format msgid "WAL directory location can only be specified in plain mode" msgstr "l'emplacement du répertoire des journaux de transactions doit être indiqué uniquement dans le mode plain" -#: pg_basebackup.c:2654 +#: pg_basebackup.c:2771 #, c-format msgid "WAL directory location must be an absolute path" msgstr "l'emplacement du répertoire des journaux de transactions doit être indiqué avec un chemin absolu" -#: pg_basebackup.c:2754 +#: pg_basebackup.c:2871 #, c-format msgid "could not create symbolic link \"%s\": %m" msgstr "n'a pas pu créer le lien symbolique « %s » : %m" -#: pg_receivewal.c:77 +#: pg_createsubscriber.c:169 +#, c-format +msgid "failed after the end of recovery" +msgstr "échec après la fin de la restauration" + +#: pg_createsubscriber.c:170 +#, c-format +msgid "The target server cannot be used as a physical replica anymore. You must recreate the physical replica before continuing." +msgstr "Le serveur cible ne peut plus être utilisé comme un réplicat physique. Vous devez recréer le réplicat physique avant de continuer." + +#: pg_createsubscriber.c:198 +#, c-format +msgid "publication \"%s\" created in database \"%s\" on primary was left behind" +msgstr "la publication « %s » dans la base « %s » sur le primaire pourrait être laissé derrière" + +#: pg_createsubscriber.c:200 +#, c-format +msgid "Drop this publication before trying again." +msgstr "Supprimez cette publication avant de tenter de nouveau." + +#: pg_createsubscriber.c:204 +#, c-format +msgid "replication slot \"%s\" created in database \"%s\" on primary was left behind" +msgstr "le slot de réplication « %s » dans la base « %s » sur le primaire pourrait être laissé derrière" + +#: pg_createsubscriber.c:206 pg_createsubscriber.c:1260 +#, c-format +msgid "Drop this replication slot soon to avoid retention of WAL files." +msgstr "Supprimez rapidement ce slot de réplication pour éviter la rétention des fichiers WAL." + +#: pg_createsubscriber.c:219 #, c-format msgid "" -"%s receives PostgreSQL streaming write-ahead logs.\n" +"%s creates a new logical replica from a standby server.\n" "\n" msgstr "" -"%s reçoit le flux des journaux de transactions PostgreSQL.\n" +"%s crée un nouveau réplicat logique à partir d'un serveur secondaire.\n" "\n" -#: pg_receivewal.c:81 pg_recvlogical.c:82 +#: pg_createsubscriber.c:223 pg_receivewal.c:81 pg_recvlogical.c:92 #, c-format msgid "" "\n" @@ -1157,227 +1340,842 @@ msgstr "" "\n" "Options :\n" -#: pg_receivewal.c:82 +#: pg_createsubscriber.c:224 #, c-format -msgid " -D, --directory=DIR receive write-ahead log files into this directory\n" -msgstr "" -" -D, --directory=RÉPERTOIRE reçoit les journaux de transactions dans ce\n" -" répertoire\n" +msgid " -d, --database=DBNAME database in which to create a subscription\n" +msgstr " -d, --dbname=BASE base de données où créer la souscription\n" -#: pg_receivewal.c:83 pg_recvlogical.c:83 +#: pg_createsubscriber.c:225 #, c-format -msgid " -E, --endpos=LSN exit after receiving the specified LSN\n" -msgstr " -E, --endpos=LSN quitte après avoir reçu le LSN spécifié\n" +msgid " -D, --pgdata=DATADIR location for the subscriber data directory\n" +msgstr " [-D, --pgdata=]RÉP_DONNEES emplacement du répertoire de données de l'abonné\n" -#: pg_receivewal.c:84 pg_recvlogical.c:87 +#: pg_createsubscriber.c:226 #, c-format -msgid " --if-not-exists do not error if slot already exists when creating a slot\n" +msgid " -n, --dry-run dry run, just show what would be done\n" msgstr "" -" --if-not-exists ne pas renvoyer une erreur si le slot existe\n" -" déjà lors de sa création\n" +" -n, --dry-run pas d'exécution, affiche\n" +" simplement ce qui sera fait\n" -#: pg_receivewal.c:85 pg_recvlogical.c:89 +#: pg_createsubscriber.c:227 #, c-format -msgid " -n, --no-loop do not loop on connection lost\n" -msgstr " -n, --no-loop ne boucle pas en cas de perte de la connexion\n" +msgid " -p, --subscriber-port=PORT subscriber port number (default %s)\n" +msgstr " -p, --subscriber-port=PORT numéro de port de l'abonné (par défaut %s)\n" -#: pg_receivewal.c:86 +#: pg_createsubscriber.c:228 #, c-format -msgid " --no-sync do not wait for changes to be written safely to disk\n" -msgstr "" -" --no-sync n'attend pas que les modifications soient\n" -" proprement écrites sur disque\n" +msgid " -P, --publisher-server=CONNSTR publisher connection string\n" +msgstr " -P, --publisher-server=CHAÎNE_CONNEX chaîne de connexion du publieur\n" -#: pg_receivewal.c:87 pg_recvlogical.c:94 +#: pg_createsubscriber.c:229 #, c-format -msgid "" -" -s, --status-interval=SECS\n" -" time between status packets sent to server (default: %d)\n" -msgstr "" -" -s, --status-interval=SECS durée entre l'envoi de paquets de statut au\n" -" (par défaut %d)\n" +msgid " -s, --socketdir=DIR socket directory to use (default current dir.)\n" +msgstr " -s, --socketdir=RÉP répertoire de la socket à utiliser (par défaut, le répertoire courant)\n" -#: pg_receivewal.c:90 +#: pg_createsubscriber.c:230 #, c-format -msgid " --synchronous flush write-ahead log immediately after writing\n" -msgstr "" -" --synchronous vide le journal de transactions immédiatement\n" -" après son écriture\n" +msgid " -t, --recovery-timeout=SECS seconds to wait for recovery to end\n" +msgstr " -t, --recovery-timeout=SECS durée en secondes à attendre pour la fin de la restauration\n" -#: pg_receivewal.c:93 +#: pg_createsubscriber.c:231 #, c-format -msgid "" -" -Z, --compress=METHOD[:DETAIL]\n" -" compress as specified\n" -msgstr "" -" -Z, --compress=METHOD[:DETAIL]\n" -" compresse comme indiqué\n" +msgid " -U, --subscriber-username=NAME user name for subscriber connection\n" +msgstr " -U, --subscriber-username=NOM nom d'utilisateur pour la connexion de l'abonné\n" -#: pg_receivewal.c:103 +#: pg_createsubscriber.c:232 +#, c-format +msgid " -v, --verbose output verbose messages\n" +msgstr " -v, --verbose affiche des messages verbeux\n" + +#: pg_createsubscriber.c:233 #, c-format msgid "" -"\n" -"Optional actions:\n" +" --config-file=FILENAME use specified main server configuration\n" +" file when running target cluster\n" msgstr "" -"\n" -"Actions optionnelles :\n" +" --config-file=NOMFICHIER utilise le fichier de configuration indiqué\n" +" du serveur principal lors de l'exécution de\n" +" l'instance cible\n" -#: pg_receivewal.c:104 pg_recvlogical.c:79 +#: pg_createsubscriber.c:235 #, c-format -msgid " --create-slot create a new replication slot (for the slot's name see --slot)\n" -msgstr "" -" --create-slot crée un nouveau slot de réplication\n" -" (pour le nom du slot, voir --slot)\n" +msgid " --publication=NAME publication name\n" +msgstr " --publication=NOM nom de la publication\n" -#: pg_receivewal.c:105 pg_recvlogical.c:80 +#: pg_createsubscriber.c:236 #, c-format -msgid " --drop-slot drop the replication slot (for the slot's name see --slot)\n" -msgstr "" -" --drop-slot supprime un nouveau slot de réplication\n" -" (pour le nom du slot, voir --slot)\n" +msgid " --replication-slot=NAME replication slot name\n" +msgstr " --replication-slot=NOM nom du slot de réplication\n" -#: pg_receivewal.c:191 +#: pg_createsubscriber.c:237 #, c-format -msgid "finished segment at %X/%X (timeline %u)" -msgstr "segment terminé à %X/%X (timeline %u)" +msgid " --subscription=NAME subscription name\n" +msgstr " --subscription=NOM nom de la souscription\n" -#: pg_receivewal.c:198 +#: pg_createsubscriber.c:238 #, c-format -msgid "stopped log streaming at %X/%X (timeline %u)" -msgstr "arrêt du flux streaming à %X/%X (timeline %u)" +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version affiche la version puis quitte\n" -#: pg_receivewal.c:214 +#: pg_createsubscriber.c:239 #, c-format -msgid "switched to timeline %u at %X/%X" -msgstr "a basculé sur la timeline %u à %X/%X" +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help affiche cette aide puis quitte\n" -#: pg_receivewal.c:224 +#: pg_createsubscriber.c:282 #, c-format -msgid "received interrupt signal, exiting" -msgstr "a reçu un signal d'interruption, quitte" +msgid "could not parse connection string: %s" +msgstr "n'a pas pu analyser la chaîne de connexion : %s" -#: pg_receivewal.c:256 +#: pg_createsubscriber.c:359 #, c-format -msgid "could not close directory \"%s\": %m" -msgstr "n'a pas pu fermer le répertoire « %s » : %m" +msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"" +msgstr "le programme « %s » est nécessaire pour %s, mais n'a pas été trouvé dans le même répertoire que « %s »" -#: pg_receivewal.c:323 +#: pg_createsubscriber.c:362 #, c-format -msgid "segment file \"%s\" has incorrect size %lld, skipping" -msgstr "le segment « %s » a une taille incorrecte (%lld), ignoré" +msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" +msgstr "le programme « %s » a été trouvé par « %s » mais n'est pas de la même version que %s" -#: pg_receivewal.c:340 +#: pg_createsubscriber.c:382 #, c-format -msgid "could not open compressed file \"%s\": %m" -msgstr "n'a pas pu ouvrir le fichier compressé « %s » : %m" +msgid "checking if directory \"%s\" is a cluster data directory" +msgstr "vérification si le répertoire « %s » est le répertoire d'une instance" -#: pg_receivewal.c:343 +#: pg_createsubscriber.c:388 #, c-format -msgid "could not seek in compressed file \"%s\": %m" -msgstr "n'a pas pu chercher dans le fichier compressé « %s » : %m" +msgid "data directory \"%s\" does not exist" +msgstr "le répertoire des données « %s » n'existe pas" -#: pg_receivewal.c:349 +#: pg_createsubscriber.c:396 #, c-format -msgid "could not read compressed file \"%s\": %m" -msgstr "n'a pas pu lire le fichier compressé « %s » : %m" +msgid "directory \"%s\" is not a database cluster directory" +msgstr "le répertoire « %s » n'est pas un répertoire d'instance" -#: pg_receivewal.c:352 +#: pg_createsubscriber.c:513 #, c-format -msgid "could not read compressed file \"%s\": read %d of %zu" -msgstr "n'a pas pu lire le fichier compressé « %s » : a lu %d sur %zu" +msgid "connection to database failed: %s" +msgstr "échec de la connexion à la base de données : %s" -#: pg_receivewal.c:362 +#: pg_createsubscriber.c:526 #, c-format -msgid "compressed segment file \"%s\" has incorrect uncompressed size %d, skipping" -msgstr "le segment compressé « %s » a une taille %d non compressé incorrecte, ignoré" +msgid "could not clear search_path: %s" +msgstr "n'a pas pu effacer search_path : %s" -#: pg_receivewal.c:390 +#: pg_createsubscriber.c:566 #, c-format -msgid "could not create LZ4 decompression context: %s" -msgstr "n'a pas pu créer le contexte de décompression LZ4 : %s" +msgid "getting system identifier from publisher" +msgstr "recherche de l'identifieur système sur le publieur" -#: pg_receivewal.c:402 +#: pg_createsubscriber.c:573 #, c-format -msgid "could not read file \"%s\": %m" -msgstr "n'a pas pu lire le fichier « %s » : %m" +msgid "could not get system identifier: %s" +msgstr "n'a pas pu obtenir l'identifiant du système : %s" -#: pg_receivewal.c:420 +#: pg_createsubscriber.c:579 #, c-format -msgid "could not decompress file \"%s\": %s" -msgstr "n'a pas pu décompresser le fichier « %s » : %s" +msgid "could not get system identifier: got %d rows, expected %d row" +msgstr "n'a pas pu obtenir l'identifiant du système : lu %d octets, %d attendus" -#: pg_receivewal.c:443 +#: pg_createsubscriber.c:586 #, c-format -msgid "could not free LZ4 decompression context: %s" -msgstr "n'a pas pu libérer le contexte de décompression LZ4 : %s" +msgid "system identifier is %llu on publisher" +msgstr "l'identifieur système est %llu sur le publieur" -#: pg_receivewal.c:448 +#: pg_createsubscriber.c:607 #, c-format -msgid "compressed segment file \"%s\" has incorrect uncompressed size %zu, skipping" -msgstr "le fichier segment compressé « %s » a une taille %zu décompressée incorrecte, ignoré" +msgid "getting system identifier from subscriber" +msgstr "recherche l'identifieur système sur l'abonné" -#: pg_receivewal.c:453 +#: pg_createsubscriber.c:611 pg_createsubscriber.c:641 #, c-format -msgid "cannot check file \"%s\": compression with %s not supported by this build" -msgstr "ne peut pas vérifier le fichier « %s » : la compression avec %s n'a pas été intégrée lors de la compilation" +msgid "control file appears to be corrupt" +msgstr "le fichier de contrôle semble corrompu" -#: pg_receivewal.c:578 +#: pg_createsubscriber.c:615 pg_createsubscriber.c:656 #, c-format -msgid "starting log streaming at %X/%X (timeline %u)" -msgstr "commence le flux des journaux à %X/%X (timeline %u)" +msgid "system identifier is %llu on subscriber" +msgstr "l'identifieur système est %llu sur l'abonné" -#: pg_receivewal.c:693 pg_recvlogical.c:783 +#: pg_createsubscriber.c:637 #, c-format -msgid "could not parse end position \"%s\"" -msgstr "n'a pas pu analyser la position finale « %s »" +msgid "modifying system identifier of subscriber" +msgstr "modification de l'identifieur système sur l'abonné" -#: pg_receivewal.c:766 +#: pg_createsubscriber.c:659 #, c-format -msgid "cannot use --create-slot together with --drop-slot" -msgstr "ne peut pas utiliser --create-slot avec --drop-slot" +msgid "running pg_resetwal on the subscriber" +msgstr "exécution de pg_resetwal sur l'abonné" -#: pg_receivewal.c:782 +#: pg_createsubscriber.c:671 #, c-format -msgid "cannot use --synchronous together with --no-sync" -msgstr "ne peut pas utiliser --synchronous avec --no-sync" +msgid "subscriber successfully changed the system identifier" +msgstr "l'abonné a modifié avec succès l'identifieur système" -#: pg_receivewal.c:792 +#: pg_createsubscriber.c:673 #, c-format -msgid "no target directory specified" -msgstr "aucun répertoire cible indiqué" +msgid "could not change system identifier of subscriber: %s" +msgstr "n'a pas pu modifier l'identifiant du système abonné : %s" -#: pg_receivewal.c:816 +#: pg_createsubscriber.c:697 #, c-format -msgid "compression with %s is not yet supported" -msgstr "la méthode de compression %s n'est pas encore supportée" +msgid "could not obtain database OID: %s" +msgstr "n'a pas pu obtenir l'OID de la base : %s" -#: pg_receivewal.c:859 +#: pg_createsubscriber.c:704 #, c-format -msgid "replication connection using slot \"%s\" is unexpectedly database specific" -msgstr "la connexion de réplication utilisant le slot « %s » est spécifique à une base, ce qui est inattendu" +msgid "could not obtain database OID: got %d rows, expected %d row" +msgstr "n'a pas pu obtenir l'OID de la base de données : %d lignes attendues, %d ligne reçue" -#: pg_receivewal.c:878 pg_recvlogical.c:954 +#: pg_createsubscriber.c:776 #, c-format -msgid "dropping replication slot \"%s\"" -msgstr "suppression du slot de réplication « %s »" +msgid "create replication slot \"%s\" on publisher" +msgstr "création du slot de réplication « %s » sur le publieur" -#: pg_receivewal.c:889 pg_recvlogical.c:964 +#: pg_createsubscriber.c:796 #, c-format -msgid "creating replication slot \"%s\"" +msgid "could not write an additional WAL record: %s" +msgstr "n'a pas pu écrire un enregistrement WAL supplémentaire : %s" + +#: pg_createsubscriber.c:822 +#, c-format +msgid "could not obtain recovery progress: %s" +msgstr "n'a pas pu obtenir la progression de la restauration : %s" + +#: pg_createsubscriber.c:854 +#, c-format +msgid "checking settings on publisher" +msgstr "vérification de la configuration du publieur" + +#: pg_createsubscriber.c:864 +#, c-format +msgid "primary server cannot be in recovery" +msgstr "le serveur primaire ne peut pas être en restauration" + +#: pg_createsubscriber.c:888 +#, c-format +msgid "could not obtain publisher settings: %s" +msgstr "n'a pas pu obtenir la configuration du publieur : %s" + +#: pg_createsubscriber.c:914 +#, c-format +msgid "publisher requires wal_level >= \"logical\"" +msgstr "le publieur requiert wal_level >= « logical »" + +#: pg_createsubscriber.c:920 +#, c-format +msgid "publisher requires %d replication slots, but only %d remain" +msgstr "le publieur requiert %d slots de réplication, mais seuls %d restent" + +#: pg_createsubscriber.c:922 pg_createsubscriber.c:931 +#: pg_createsubscriber.c:1028 pg_createsubscriber.c:1037 +#: pg_createsubscriber.c:1046 +#, c-format +msgid "Increase the configuration parameter \"%s\" to at least %d." +msgstr "Augmentez le paramètre de configuration « %s » à au moins %d." + +#: pg_createsubscriber.c:929 +#, c-format +msgid "publisher requires %d WAL sender processes, but only %d remain" +msgstr "le publieur requiert %d processus wal sender, mais seuls %d restent" + +#: pg_createsubscriber.c:938 +#, c-format +msgid "two_phase option will not be enabled for replication slots" +msgstr "l'option two_phase ne sera pas activée pour les slots de réplication" + +#: pg_createsubscriber.c:939 +#, c-format +msgid "Subscriptions will be created with the two_phase option disabled. Prepared transactions will be replicated at COMMIT PREPARED." +msgstr "Les souscriptions seront créées avec l'option two_phase désactivé. Les transactions préparées seront répliquées au COMMIT PREPARED." + +#: pg_createsubscriber.c:971 +#, c-format +msgid "checking settings on subscriber" +msgstr "vérification de la configuration sur l'abonné" + +#: pg_createsubscriber.c:978 +#, c-format +msgid "target server must be a standby" +msgstr "le serveur cible doit être un secondaire" + +#: pg_createsubscriber.c:1002 +#, c-format +msgid "could not obtain subscriber settings: %s" +msgstr "n'a pas pu obtenir la configuration de l'abonné : %s" + +#: pg_createsubscriber.c:1026 +#, c-format +msgid "subscriber requires %d replication slots, but only %d remain" +msgstr "l'abonné requiert %d slots de réplication, mais seuls %d restent" + +#: pg_createsubscriber.c:1035 +#, c-format +msgid "subscriber requires %d logical replication workers, but only %d remain" +msgstr "l'abonné requiert %d processus worker de réplication logique, mais seuls %d restent" + +#: pg_createsubscriber.c:1044 +#, c-format +msgid "subscriber requires %d worker processes, but only %d remain" +msgstr "l'abonné requiert %d processus worker, mais seuls %d restent" + +#: pg_createsubscriber.c:1079 +#, c-format +msgid "dropping subscription \"%s\" in database \"%s\"" +msgstr "suppression de la souscription « %s » dans la base de données « %s »" + +#: pg_createsubscriber.c:1088 +#, c-format +msgid "could not drop subscription \"%s\": %s" +msgstr "n'a pas pu supprimer la souscription « %s » : %s" + +#: pg_createsubscriber.c:1123 +#, c-format +msgid "could not obtain pre-existing subscriptions: %s" +msgstr "n'a pas pu obtenir les souscriptions pré-existantes : %s" + +#: pg_createsubscriber.c:1258 +#, c-format +msgid "could not drop replication slot \"%s\" on primary" +msgstr "n'a pas pu supprimer le slot de réplication « %s » sur le primaire" + +#: pg_createsubscriber.c:1292 +#, c-format +msgid "could not obtain failover replication slot information: %s" +msgstr "n'a pas pu obtenir l'information de slot de réplication failover : %s" + +#: pg_createsubscriber.c:1294 pg_createsubscriber.c:1303 +#, c-format +msgid "Drop the failover replication slots on subscriber soon to avoid retention of WAL files." +msgstr "Supprimez rapidement les slots de réplication failover sur l'abonnée pour éviter la rétention des fichiers WAL." + +#: pg_createsubscriber.c:1302 +#, c-format +msgid "could not drop failover replication slot" +msgstr "n'a pas pu supprimer le slot de réplication failover" + +#: pg_createsubscriber.c:1324 +#, c-format +msgid "creating the replication slot \"%s\" in database \"%s\"" +msgstr "création du slot de réplication « %s » dans la base « %s »" + +#: pg_createsubscriber.c:1342 +#, c-format +msgid "could not create replication slot \"%s\" in database \"%s\": %s" +msgstr "n'a pas pu créer le slot de réplication « %s » dans la base « %s » : %s" + +#: pg_createsubscriber.c:1372 +#, c-format +msgid "dropping the replication slot \"%s\" in database \"%s\"" +msgstr "suppression du slot de réplication « %s » dans la base « %s »" + +#: pg_createsubscriber.c:1388 +#, c-format +msgid "could not drop replication slot \"%s\" in database \"%s\": %s" +msgstr "n'a pas pu supprimer le slot de réplication « %s » dans la base « %s » : %s" + +#: pg_createsubscriber.c:1409 +#, c-format +msgid "pg_ctl failed with exit code %d" +msgstr "échec de pg_ctl avec un code de retour %d" + +#: pg_createsubscriber.c:1414 +#, c-format +msgid "pg_ctl was terminated by exception 0x%X" +msgstr "pg_ctl a été terminé par l'exception 0x%X" + +#: pg_createsubscriber.c:1416 +#, c-format +msgid "See C include file \"ntstatus.h\" for a description of the hexadecimal value." +msgstr "" +"Voir le fichier d'en-tête C « ntstatus.h » pour une description de la valeur\n" +"hexadécimale." + +#: pg_createsubscriber.c:1418 +#, c-format +msgid "pg_ctl was terminated by signal %d: %s" +msgstr "pg_ctl a été terminé par le signal %d : %s" + +#: pg_createsubscriber.c:1424 +#, c-format +msgid "pg_ctl exited with unrecognized status %d" +msgstr "pg_ctl a quitté avec un statut %d non reconnu" + +#: pg_createsubscriber.c:1427 +#, c-format +msgid "The failed command was: %s" +msgstr "La commande échouée était : %s" + +#: pg_createsubscriber.c:1473 +#, c-format +msgid "server was started" +msgstr "le serveur a été démarré" + +#: pg_createsubscriber.c:1488 +#, c-format +msgid "server was stopped" +msgstr "le serveur a été arrêté" + +#: pg_createsubscriber.c:1507 +#, c-format +msgid "waiting for the target server to reach the consistent state" +msgstr "en attente de l'atteinte de l'état de cohérence sur le serveur cible" + +#: pg_createsubscriber.c:1530 +#, c-format +msgid "recovery timed out" +msgstr "délai de restauration atteint" + +#: pg_createsubscriber.c:1543 +#, c-format +msgid "server did not end recovery" +msgstr "le serveur n'a pas terminé la restauration" + +#: pg_createsubscriber.c:1545 +#, c-format +msgid "target server reached the consistent state" +msgstr "le serveur cible a atteint l'état de cohérence" + +#: pg_createsubscriber.c:1546 +#, c-format +msgid "If pg_createsubscriber fails after this point, you must recreate the physical replica before continuing." +msgstr "Si pg_createsubscriber échoue après cela, vous devez recréer le réplicat physique avant de continuer." + +#: pg_createsubscriber.c:1573 +#, c-format +msgid "could not obtain publication information: %s" +msgstr "n'a pas pu obtenir une information sur la publication : %s" + +#: pg_createsubscriber.c:1587 +#, c-format +msgid "publication \"%s\" already exists" +msgstr "la publication « %s » existe déjà" + +#: pg_createsubscriber.c:1588 +#, c-format +msgid "Consider renaming this publication before continuing." +msgstr "Pensez à renommer cette publication avant de continuer." + +#: pg_createsubscriber.c:1595 +#, c-format +msgid "creating publication \"%s\" in database \"%s\"" +msgstr "création de la publication « %s » dans la base de données « %s »" + +#: pg_createsubscriber.c:1608 +#, c-format +msgid "could not create publication \"%s\" in database \"%s\": %s" +msgstr "n'a pas pu créer la publication « %s » dans la base de données « %s » : %s" + +#: pg_createsubscriber.c:1637 +#, c-format +msgid "dropping publication \"%s\" in database \"%s\"" +msgstr "suppression de la publication « %s » dans la base de données « %s »" + +#: pg_createsubscriber.c:1651 +#, c-format +msgid "could not drop publication \"%s\" in database \"%s\": %s" +msgstr "n'a pas pu supprimer la publication « %s » dans la base de données « %s » : %s" + +#: pg_createsubscriber.c:1697 +#, c-format +msgid "creating subscription \"%s\" in database \"%s\"" +msgstr "création de la souscription « %s » dans la base de données « %s »" + +#: pg_createsubscriber.c:1718 +#, c-format +msgid "could not create subscription \"%s\" in database \"%s\": %s" +msgstr "n'a pas pu créer la souscription « %s » dans la base « %s » : %s" + +#: pg_createsubscriber.c:1763 +#, c-format +msgid "could not obtain subscription OID: %s" +msgstr "n'a pas pu obtenir l'OID de la souscription : %s" + +#: pg_createsubscriber.c:1770 +#, c-format +msgid "could not obtain subscription OID: got %d rows, expected %d row" +msgstr "n'a pas pu obtenir l'OID de la souscription : attendait %d lignes, a reçu %d ligne" + +#: pg_createsubscriber.c:1794 +#, c-format +msgid "setting the replication progress (node name \"%s\", LSN %s) in database \"%s\"" +msgstr "configuration de la progression de la réplication (nom du noeud « %s » , LSN %s) dans la base de données « %s »" + +#: pg_createsubscriber.c:1809 +#, c-format +msgid "could not set replication progress for subscription \"%s\": %s" +msgstr "n'a pas pu configurer la progression de la réplication pour la souscription « %s » : %s" + +#: pg_createsubscriber.c:1840 +#, c-format +msgid "enabling subscription \"%s\" in database \"%s\"" +msgstr "activation de la souscription « %s » dans la base de données « %s »" + +#: pg_createsubscriber.c:1852 +#, c-format +msgid "could not enable subscription \"%s\": %s" +msgstr "n'a pas pu activer la souscription « %s » : %s" + +#: pg_createsubscriber.c:1944 +#, c-format +msgid "cannot be executed by \"root\"" +msgstr "ne peut pas être exécuté par « root »" + +#: pg_createsubscriber.c:1945 +#, c-format +msgid "You must run %s as the PostgreSQL superuser." +msgstr "Vous devez exécuter %s en tant que super-utilisateur PostgreSQL." + +#: pg_createsubscriber.c:1966 +#, c-format +msgid "database \"%s\" specified more than once" +msgstr "la base de données « %s » est spécifiée plus d'une fois" + +#: pg_createsubscriber.c:2007 +#, c-format +msgid "publication \"%s\" specified more than once" +msgstr "la publication « %s » est spécifiée plus d'une fois" + +#: pg_createsubscriber.c:2019 +#, c-format +msgid "replication slot \"%s\" specified more than once" +msgstr "le slot de réplication « %s » est spécifié plus d'une fois" + +#: pg_createsubscriber.c:2031 +#, c-format +msgid "subscription \"%s\" specified more than once" +msgstr "la souscription « %s » est spécifiée plus d'une fois" + +#: pg_createsubscriber.c:2054 +#, c-format +msgid "no subscriber data directory specified" +msgstr "aucune chaîne de connexion de l'abonné indiquée" + +#: pg_createsubscriber.c:2065 +#, c-format +msgid "could not determine current directory" +msgstr "n'a pas pu déterminer le répertoire courant" + +#: pg_createsubscriber.c:2082 +#, c-format +msgid "no publisher connection string specified" +msgstr "aucune chaîne de connexion du publieur indiquée" + +#: pg_createsubscriber.c:2086 +#, c-format +msgid "validating publisher connection string" +msgstr "validation de la chaîne de connexion du publieur" + +#: pg_createsubscriber.c:2092 +#, c-format +msgid "validating subscriber connection string" +msgstr "validation de la chaîne de connexion de l'abonné" + +#: pg_createsubscriber.c:2097 +#, c-format +msgid "no database was specified" +msgstr "aucune base de données n'a été indiquée" + +#: pg_createsubscriber.c:2109 +#, c-format +msgid "database name \"%s\" was extracted from the publisher connection string" +msgstr "le nom de la base de données « %s » a été extrait de la chaîne de connexion du publieur" + +#: pg_createsubscriber.c:2114 +#, c-format +msgid "no database name specified" +msgstr "aucun nom de base de données indiqué" + +#: pg_createsubscriber.c:2124 +#, c-format +msgid "wrong number of publication names specified" +msgstr "mauvais nombre de noms de publication indiqués" + +#: pg_createsubscriber.c:2125 +#, c-format +msgid "The number of specified publication names (%d) must match the number of specified database names (%d)." +msgstr "Le nombre de noms de publication indiqués (%d) doit correspondre au nombre de noms de bases de données indiqués (%d)" + +#: pg_createsubscriber.c:2131 +#, c-format +msgid "wrong number of subscription names specified" +msgstr "mauvais nombre de noms de souscription indiqués" + +#: pg_createsubscriber.c:2132 +#, c-format +msgid "The number of specified subscription names (%d) must match the number of specified database names (%d)." +msgstr "Le nombre de noms de souscriptions indiqués (%d) doit correspondre au nombre de noms de bases de données indiqués (%d)" + +#: pg_createsubscriber.c:2138 +#, c-format +msgid "wrong number of replication slot names specified" +msgstr "mauvais nombre de noms de slots de réplication indiqués" + +#: pg_createsubscriber.c:2139 +#, c-format +msgid "The number of specified replication slot names (%d) must match the number of specified database names (%d)." +msgstr "Le nombre de noms de slots de réplication indiqués (%d) doit correspondre au nombre de noms de bases de données indiqués (%d)" + +#: pg_createsubscriber.c:2168 +#, c-format +msgid "subscriber data directory is not a copy of the source database cluster" +msgstr "le répertoire de données de l'abonné n'est pas une copie de l'instance source" + +#: pg_createsubscriber.c:2181 +#, c-format +msgid "standby server is running" +msgstr "le serveur secondaire est en cours d'exécution" + +#: pg_createsubscriber.c:2182 +#, c-format +msgid "Stop the standby server and try again." +msgstr "Arrêtez le secondaire et tentez de nouveau." + +#: pg_createsubscriber.c:2191 +#, c-format +msgid "starting the standby server with command-line options" +msgstr "lancement du serveur secondaire avec les options en ligne de commande" + +#: pg_createsubscriber.c:2207 pg_createsubscriber.c:2242 +#, c-format +msgid "stopping the subscriber" +msgstr "arrêt de l'abonné" + +#: pg_createsubscriber.c:2221 +#, c-format +msgid "starting the subscriber" +msgstr "lancement de l'abonné" + +#: pg_createsubscriber.c:2250 +#, c-format +msgid "Done!" +msgstr "Terminé !" + +#: pg_receivewal.c:77 +#, c-format +msgid "" +"%s receives PostgreSQL streaming write-ahead logs.\n" +"\n" +msgstr "" +"%s reçoit le flux des journaux de transactions PostgreSQL.\n" +"\n" + +#: pg_receivewal.c:82 +#, c-format +msgid " -D, --directory=DIR receive write-ahead log files into this directory\n" +msgstr "" +" -D, --directory=RÉPERTOIRE reçoit les journaux de transactions dans ce\n" +" répertoire\n" + +#: pg_receivewal.c:83 pg_recvlogical.c:93 +#, c-format +msgid " -E, --endpos=LSN exit after receiving the specified LSN\n" +msgstr " -E, --endpos=LSN quitte après avoir reçu le LSN spécifié\n" + +#: pg_receivewal.c:84 pg_recvlogical.c:97 +#, c-format +msgid " --if-not-exists do not error if slot already exists when creating a slot\n" +msgstr "" +" --if-not-exists ne pas renvoyer une erreur si le slot existe\n" +" déjà lors de sa création\n" + +#: pg_receivewal.c:85 pg_recvlogical.c:99 +#, c-format +msgid " -n, --no-loop do not loop on connection lost\n" +msgstr " -n, --no-loop ne boucle pas en cas de perte de la connexion\n" + +#: pg_receivewal.c:86 +#, c-format +msgid " --no-sync do not wait for changes to be written safely to disk\n" +msgstr "" +" --no-sync n'attend pas que les modifications soient\n" +" proprement écrites sur disque\n" + +#: pg_receivewal.c:87 pg_recvlogical.c:104 +#, c-format +msgid "" +" -s, --status-interval=SECS\n" +" time between status packets sent to server (default: %d)\n" +msgstr "" +" -s, --status-interval=SECS durée entre l'envoi de paquets de statut au\n" +" (par défaut %d)\n" + +#: pg_receivewal.c:90 +#, c-format +msgid " --synchronous flush write-ahead log immediately after writing\n" +msgstr "" +" --synchronous vide le journal de transactions immédiatement\n" +" après son écriture\n" + +#: pg_receivewal.c:93 +#, c-format +msgid "" +" -Z, --compress=METHOD[:DETAIL]\n" +" compress as specified\n" +msgstr "" +" -Z, --compress=METHOD[:DETAIL]\n" +" compresse comme indiqué\n" + +#: pg_receivewal.c:103 +#, c-format +msgid "" +"\n" +"Optional actions:\n" +msgstr "" +"\n" +"Actions optionnelles :\n" + +#: pg_receivewal.c:104 pg_recvlogical.c:89 +#, c-format +msgid " --create-slot create a new replication slot (for the slot's name see --slot)\n" +msgstr "" +" --create-slot crée un nouveau slot de réplication\n" +" (pour le nom du slot, voir --slot)\n" + +#: pg_receivewal.c:105 pg_recvlogical.c:90 +#, c-format +msgid " --drop-slot drop the replication slot (for the slot's name see --slot)\n" +msgstr "" +" --drop-slot supprime un nouveau slot de réplication\n" +" (pour le nom du slot, voir --slot)\n" + +#: pg_receivewal.c:191 +#, c-format +msgid "finished segment at %X/%X (timeline %u)" +msgstr "segment terminé à %X/%X (timeline %u)" + +#: pg_receivewal.c:198 +#, c-format +msgid "stopped log streaming at %X/%X (timeline %u)" +msgstr "arrêt du flux streaming à %X/%X (timeline %u)" + +#: pg_receivewal.c:214 +#, c-format +msgid "switched to timeline %u at %X/%X" +msgstr "a basculé sur la timeline %u à %X/%X" + +#: pg_receivewal.c:224 pg_recvlogical.c:1053 +#, c-format +msgid "received interrupt signal, exiting" +msgstr "a reçu un signal d'interruption, quitte" + +#: pg_receivewal.c:256 +#, c-format +msgid "could not close directory \"%s\": %m" +msgstr "n'a pas pu fermer le répertoire « %s » : %m" + +#: pg_receivewal.c:323 +#, c-format +msgid "segment file \"%s\" has incorrect size %lld, skipping" +msgstr "le segment « %s » a une taille incorrecte (%lld), ignoré" + +#: pg_receivewal.c:340 +#, c-format +msgid "could not open compressed file \"%s\": %m" +msgstr "n'a pas pu ouvrir le fichier compressé « %s » : %m" + +#: pg_receivewal.c:343 +#, c-format +msgid "could not seek in compressed file \"%s\": %m" +msgstr "n'a pas pu chercher dans le fichier compressé « %s » : %m" + +#: pg_receivewal.c:349 +#, c-format +msgid "could not read compressed file \"%s\": %m" +msgstr "n'a pas pu lire le fichier compressé « %s » : %m" + +#: pg_receivewal.c:352 +#, c-format +msgid "could not read compressed file \"%s\": read %d of %zu" +msgstr "n'a pas pu lire le fichier compressé « %s » : a lu %d sur %zu" + +#: pg_receivewal.c:362 +#, c-format +msgid "compressed segment file \"%s\" has incorrect uncompressed size %d, skipping" +msgstr "le segment compressé « %s » a une taille %d non compressé incorrecte, ignoré" + +#: pg_receivewal.c:390 +#, c-format +msgid "could not create LZ4 decompression context: %s" +msgstr "n'a pas pu créer le contexte de décompression LZ4 : %s" + +#: pg_receivewal.c:420 +#, c-format +msgid "could not decompress file \"%s\": %s" +msgstr "n'a pas pu décompresser le fichier « %s » : %s" + +#: pg_receivewal.c:443 +#, c-format +msgid "could not free LZ4 decompression context: %s" +msgstr "n'a pas pu libérer le contexte de décompression LZ4 : %s" + +#: pg_receivewal.c:448 +#, c-format +msgid "compressed segment file \"%s\" has incorrect uncompressed size %zu, skipping" +msgstr "le fichier segment compressé « %s » a une taille %zu décompressée incorrecte, ignoré" + +#: pg_receivewal.c:453 +#, c-format +msgid "cannot check file \"%s\": compression with %s not supported by this build" +msgstr "ne peut pas vérifier le fichier « %s » : la compression avec %s n'a pas été intégrée lors de la compilation" + +#: pg_receivewal.c:578 +#, c-format +msgid "starting log streaming at %X/%X (timeline %u)" +msgstr "commence le flux des journaux à %X/%X (timeline %u)" + +#: pg_receivewal.c:693 pg_recvlogical.c:801 +#, c-format +msgid "could not parse end position \"%s\"" +msgstr "n'a pas pu analyser la position finale « %s »" + +#: pg_receivewal.c:766 +#, c-format +msgid "cannot use --create-slot together with --drop-slot" +msgstr "ne peut pas utiliser --create-slot avec --drop-slot" + +#: pg_receivewal.c:782 +#, c-format +msgid "cannot use --synchronous together with --no-sync" +msgstr "ne peut pas utiliser --synchronous avec --no-sync" + +#: pg_receivewal.c:792 +#, c-format +msgid "no target directory specified" +msgstr "aucun répertoire cible indiqué" + +#: pg_receivewal.c:816 +#, c-format +msgid "compression with %s is not yet supported" +msgstr "la méthode de compression %s n'est pas encore supportée" + +#: pg_receivewal.c:859 +#, c-format +msgid "replication connection using slot \"%s\" is unexpectedly database specific" +msgstr "la connexion de réplication utilisant le slot « %s » est spécifique à une base, ce qui est inattendu" + +#: pg_receivewal.c:878 pg_recvlogical.c:972 +#, c-format +msgid "dropping replication slot \"%s\"" +msgstr "suppression du slot de réplication « %s »" + +#: pg_receivewal.c:889 pg_recvlogical.c:982 +#, c-format +msgid "creating replication slot \"%s\"" msgstr "création du slot de réplication « %s »" -#: pg_receivewal.c:918 pg_recvlogical.c:988 +#: pg_receivewal.c:918 pg_recvlogical.c:1006 #, c-format msgid "disconnected" msgstr "déconnecté" #. translator: check source for value for %d -#: pg_receivewal.c:922 pg_recvlogical.c:992 +#: pg_receivewal.c:922 pg_recvlogical.c:1010 #, c-format msgid "disconnected; waiting %d seconds to try again" msgstr "déconnecté, attente de %d secondes avant une nouvelle tentative" -#: pg_recvlogical.c:74 +#: pg_recvlogical.c:84 #, c-format msgid "" "%s controls PostgreSQL logical decoding streams.\n" @@ -1386,7 +2184,7 @@ msgstr "" "%s contrôle le flux des modifications logiques de PostgreSQL.\n" "\n" -#: pg_recvlogical.c:78 +#: pg_recvlogical.c:88 #, c-format msgid "" "\n" @@ -1395,21 +2193,21 @@ msgstr "" "\n" "Action à réaliser :\n" -#: pg_recvlogical.c:81 +#: pg_recvlogical.c:91 #, c-format msgid " --start start streaming in a replication slot (for the slot's name see --slot)\n" msgstr "" " --start lance le flux dans un slot de réplication (pour\n" " le nom du slot, voir --slot)\n" -#: pg_recvlogical.c:84 +#: pg_recvlogical.c:94 #, c-format msgid " -f, --file=FILE receive log into this file, - for stdout\n" msgstr "" " -f, --file=FICHIER trace la réception dans ce fichier, - pour\n" " stdout\n" -#: pg_recvlogical.c:85 +#: pg_recvlogical.c:95 #, c-format msgid "" " -F --fsync-interval=SECS\n" @@ -1418,14 +2216,14 @@ msgstr "" " -F --fsync-interval=SECS durée entre les fsyncs vers le fichier de sortie\n" " (par défaut %d)\n" -#: pg_recvlogical.c:88 +#: pg_recvlogical.c:98 #, c-format msgid " -I, --startpos=LSN where in an existing slot should the streaming start\n" msgstr "" " -I, --startpos=LSN position de début du streaming dans le slot\n" " existant\n" -#: pg_recvlogical.c:90 +#: pg_recvlogical.c:100 #, c-format msgid "" " -o, --option=NAME[=VALUE]\n" @@ -1435,145 +2233,145 @@ msgstr "" " -o, --option=NOM[=VALEUR] passe l'option NOM avec la valeur optionnelle\n" " VALEUR au plugin en sortie\n" -#: pg_recvlogical.c:93 +#: pg_recvlogical.c:103 #, c-format msgid " -P, --plugin=PLUGIN use output plugin PLUGIN (default: %s)\n" msgstr "" " -P, --plugin=PLUGIN utilise le plugin PLUGIN en sortie (par défaut\n" " %s)\n" -#: pg_recvlogical.c:96 +#: pg_recvlogical.c:106 #, c-format msgid " -S, --slot=SLOTNAME name of the logical replication slot\n" msgstr " -S, --slot=SLOT nom du slot de réplication logique\n" -#: pg_recvlogical.c:97 +#: pg_recvlogical.c:107 #, c-format msgid " -t, --two-phase enable decoding of prepared transactions when creating a slot\n" msgstr " -t, --two-phase active le décodage des transactions préparées lors de la création d'un slot\n" -#: pg_recvlogical.c:102 +#: pg_recvlogical.c:112 #, c-format msgid " -d, --dbname=DBNAME database to connect to\n" msgstr " -d, --dbname=BASE base de données de connexion\n" -#: pg_recvlogical.c:135 +#: pg_recvlogical.c:145 #, c-format msgid "confirming write up to %X/%X, flush to %X/%X (slot %s)" msgstr "confirmation d'écriture jusqu'à %X/%X et de synchronisation jusqu'à %X/%X (slot %s)" -#: pg_recvlogical.c:159 receivelog.c:360 +#: pg_recvlogical.c:169 receivelog.c:360 #, c-format msgid "could not send feedback packet: %s" msgstr "n'a pas pu envoyer le paquet d'informations en retour : %s" -#: pg_recvlogical.c:227 +#: pg_recvlogical.c:239 #, c-format msgid "starting log streaming at %X/%X (slot %s)" msgstr "commence le flux des journaux à %X/%X (slot %s)" -#: pg_recvlogical.c:269 +#: pg_recvlogical.c:281 #, c-format msgid "streaming initiated" msgstr "flux lancé" -#: pg_recvlogical.c:333 +#: pg_recvlogical.c:346 #, c-format msgid "could not open log file \"%s\": %m" msgstr "n'a pas pu ouvrir le journal applicatif « %s » : %m" -#: pg_recvlogical.c:362 receivelog.c:882 +#: pg_recvlogical.c:375 receivelog.c:882 #, c-format msgid "invalid socket: %s" msgstr "socket invalide : %s" -#: pg_recvlogical.c:415 receivelog.c:910 +#: pg_recvlogical.c:428 receivelog.c:910 #, c-format msgid "%s() failed: %m" msgstr "échec de %s() : %m" -#: pg_recvlogical.c:422 receivelog.c:959 +#: pg_recvlogical.c:435 receivelog.c:959 #, c-format msgid "could not receive data from WAL stream: %s" msgstr "n'a pas pu recevoir des données du flux de WAL : %s" -#: pg_recvlogical.c:464 pg_recvlogical.c:515 receivelog.c:1003 +#: pg_recvlogical.c:477 pg_recvlogical.c:528 receivelog.c:1003 #: receivelog.c:1066 #, c-format msgid "streaming header too small: %d" msgstr "en-tête de flux trop petit : %d" -#: pg_recvlogical.c:499 receivelog.c:843 +#: pg_recvlogical.c:512 receivelog.c:843 #, c-format msgid "unrecognized streaming header: \"%c\"" msgstr "entête non reconnu du flux : « %c »" -#: pg_recvlogical.c:553 pg_recvlogical.c:565 +#: pg_recvlogical.c:566 pg_recvlogical.c:578 #, c-format msgid "could not write %d bytes to log file \"%s\": %m" msgstr "n'a pas pu écrire %d octets dans le journal de transactions « %s » : %m" -#: pg_recvlogical.c:619 receivelog.c:642 receivelog.c:679 +#: pg_recvlogical.c:636 receivelog.c:642 receivelog.c:679 #, c-format msgid "unexpected termination of replication stream: %s" msgstr "fin inattendue du flux de réplication : %s" -#: pg_recvlogical.c:778 +#: pg_recvlogical.c:796 #, c-format msgid "could not parse start position \"%s\"" msgstr "n'a pas pu analyser la position de départ « %s »" -#: pg_recvlogical.c:856 +#: pg_recvlogical.c:874 #, c-format msgid "no slot specified" msgstr "aucun slot de réplication indiqué" -#: pg_recvlogical.c:863 +#: pg_recvlogical.c:881 #, c-format msgid "no target file specified" msgstr "aucun fichier cible indiqué" -#: pg_recvlogical.c:870 +#: pg_recvlogical.c:888 #, c-format msgid "no database specified" msgstr "aucune base de données indiquée" -#: pg_recvlogical.c:877 +#: pg_recvlogical.c:895 #, c-format msgid "at least one action needs to be specified" msgstr "au moins une action doit être indiquée" -#: pg_recvlogical.c:884 +#: pg_recvlogical.c:902 #, c-format msgid "cannot use --create-slot or --start together with --drop-slot" msgstr "ne peut pas utiliser --create-slot ou --start avec --drop-slot" -#: pg_recvlogical.c:891 +#: pg_recvlogical.c:909 #, c-format msgid "cannot use --create-slot or --drop-slot together with --startpos" msgstr "ne peut pas utiliser --create-slot ou --drop-slot avec --startpos" -#: pg_recvlogical.c:898 +#: pg_recvlogical.c:916 #, c-format msgid "--endpos may only be specified with --start" msgstr "--endpos peut seulement être spécifié avec --start" -#: pg_recvlogical.c:905 +#: pg_recvlogical.c:923 #, c-format msgid "--two-phase may only be specified with --create-slot" msgstr "--two-phase peut seulement être spécifié avec --create-slot" -#: pg_recvlogical.c:938 +#: pg_recvlogical.c:956 #, c-format msgid "could not establish database-specific replication connection" msgstr "n'a pas pu établir une connexion de réplication spécifique à la base" -#: pg_recvlogical.c:1032 +#: pg_recvlogical.c:1056 #, c-format msgid "end position %X/%X reached by keepalive" msgstr "position finale %X/%X atteinte par keepalive" -#: pg_recvlogical.c:1035 +#: pg_recvlogical.c:1061 #, c-format msgid "end position %X/%X reached by WAL record at %X/%X" msgstr "position finale %X/%X atteinte à l'enregistrement WAL %X/%X" @@ -1690,7 +2488,7 @@ msgstr "ensemble de résultats inattendu après la fin de la timeline : a récup msgid "could not parse next timeline's starting point \"%s\"" msgstr "n'a pas pu analyser la position de départ de la prochaine timeline « %s »" -#: receivelog.c:775 receivelog.c:1022 walmethods.c:1201 +#: receivelog.c:775 receivelog.c:1022 walmethods.c:1206 #, c-format msgid "could not fsync file \"%s\": %s" msgstr "n'a pas pu synchroniser sur disque (fsync) le fichier « %s » : %s" @@ -1715,495 +2513,121 @@ msgstr "n'a pas pu écrire %d octets dans le journal de transactions « %s » : msgid "could not send copy-end packet: %s" msgstr "n'a pas pu envoyer le paquet de fin de copie : %s" -#: streamutil.c:158 +#: streamutil.c:162 msgid "Password: " msgstr "Mot de passe : " -#: streamutil.c:181 +#: streamutil.c:189 #, c-format msgid "could not connect to server" msgstr "n'a pas pu se connecter au serveur" -#: streamutil.c:222 +#: streamutil.c:230 #, c-format -msgid "could not clear search_path: %s" -msgstr "n'a pas pu effacer search_path : %s" +msgid "could not clear \"search_path\": %s" +msgstr "n'a pas pu effacer « search_path » : %s" -#: streamutil.c:238 +#: streamutil.c:246 #, c-format -msgid "could not determine server setting for integer_datetimes" -msgstr "n'a pas pu déterminer la configuration serveur de integer_datetimes" +msgid "could not determine server setting for \"integer_datetimes\"" +msgstr "n'a pas pu déterminer la configuration serveur de « integer_datetimes »" -#: streamutil.c:245 +#: streamutil.c:253 #, c-format -msgid "integer_datetimes compile flag does not match server" -msgstr "l'option de compilation integer_datetimes ne correspond pas au serveur" +msgid "\"integer_datetimes\" compile flag does not match server" +msgstr "l'option de compilation « integer_datetimes » ne correspond pas au serveur" -#: streamutil.c:296 +#: streamutil.c:372 #, c-format msgid "could not fetch WAL segment size: got %d rows and %d fields, expected %d rows and %d or more fields" msgstr "n'a pas pu récupéré la taille d'un segment WAL : a obtenu %d lignes et %d champs, attendait %d lignes et %d champs (ou plus)" -#: streamutil.c:306 +#: streamutil.c:382 #, c-format msgid "WAL segment size could not be parsed" msgstr "la taille du segment WAL n'a pas pu être analysée" -#: streamutil.c:324 +#: streamutil.c:400 +#, 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] "le serveur distant a rapporté une taille invalide du segment WAL (%d octet)" +msgstr[1] "le serveur distant a rapporté une taille invalide du segment WAL (%d octets)" + +#: streamutil.c:404 #, c-format -msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the remote server reported a value of %d byte" -msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the remote server reported a value of %d bytes" -msgstr[0] "la taille d'un WAL doit être une puissance de deux comprise entre 1 Mo et 1 Go mais le serveur distant a rapporté une valeur de %d octet" -msgstr[1] "la taille d'un WAL doit être une puissance de deux comprise entre 1 Mo et 1 Go mais le serveur distant a rapporté une valeur de %d octets" +msgid "The WAL segment size must be a power of two between 1 MB and 1 GB." +msgstr "La taille du segment WAL doit être une puissance de deux comprise entre 1 Mo et 1 Go." -#: streamutil.c:369 +#: streamutil.c:446 #, c-format msgid "could not fetch group access flag: got %d rows and %d fields, expected %d rows and %d or more fields" msgstr "n'a pas pu récupérer les options d'accès du groupe : a obtenu %d lignes et %d champs, attendait %d lignes et %d champs (ou plus)" -#: streamutil.c:378 +#: streamutil.c:455 #, c-format msgid "group access flag could not be parsed: %s" msgstr "l'option d'accès du groupe n'a pas pu être analysé : %s" -#: streamutil.c:421 streamutil.c:458 +#: streamutil.c:498 streamutil.c:535 #, c-format msgid "could not identify system: got %d rows and %d fields, expected %d rows and %d or more fields" msgstr "n'a pas pu identifier le système : a récupéré %d lignes et %d champs, attendait %d lignes et %d champs (ou plus)." -#: streamutil.c:510 +#: streamutil.c:587 #, c-format msgid "could not read replication slot \"%s\": got %d rows and %d fields, expected %d rows and %d fields" msgstr "n'a pas pu lire le slot de réplication « %s » : a récupéré %d lignes et %d champs, attendait %d lignes et %d champs" -#: streamutil.c:522 +#: streamutil.c:599 #, c-format msgid "replication slot \"%s\" does not exist" msgstr "le slot de réplication « %s » n'existe pas" -#: streamutil.c:533 +#: streamutil.c:610 #, c-format msgid "expected a physical replication slot, got type \"%s\" instead" msgstr "attendait un slot de réplication physique, a obtenu le type « %s » à la place" -#: streamutil.c:547 +#: streamutil.c:624 #, c-format msgid "could not parse restart_lsn \"%s\" for replication slot \"%s\"" msgstr "n'a pas pu analyser le champ restart_lsn « %s » pour le slot de réplication « %s »" -#: streamutil.c:664 +#: streamutil.c:741 #, c-format msgid "could not create replication slot \"%s\": got %d rows and %d fields, expected %d rows and %d fields" msgstr "n'a pas pu créer le slot de réplication « %s » : a récupéré %d lignes et %d champs, attendait %d lignes et %d champs" -#: streamutil.c:708 +#: streamutil.c:785 #, c-format msgid "could not drop replication slot \"%s\": got %d rows and %d fields, expected %d rows and %d fields" msgstr "n'a pas pu supprimer le slot de réplication « %s » : a récupéré %d lignes et %d champs, attendait %d lignes et %d champs" -#: walmethods.c:721 walmethods.c:1264 +#: walmethods.c:726 walmethods.c:1269 msgid "could not compress data" msgstr "n'a pas pu compresser les données" -#: walmethods.c:750 +#: walmethods.c:755 msgid "could not reset compression stream" msgstr "n'a pas pu réinitialiser le flux de compression" -#: walmethods.c:888 +#: walmethods.c:892 msgid "implementation error: tar files can't have more than one open file" msgstr "erreur d'implémentation : les fichiers tar ne peuvent pas avoir plus d'un fichier ouvert" -#: walmethods.c:903 +#: walmethods.c:907 msgid "could not create tar header" msgstr "n'a pas pu créer l'en-tête du fichier tar" -#: walmethods.c:920 walmethods.c:961 walmethods.c:1166 walmethods.c:1179 +#: walmethods.c:924 walmethods.c:965 walmethods.c:1171 walmethods.c:1184 msgid "could not change compression parameters" msgstr "n'a pas pu modifier les paramètres de compression" -#: walmethods.c:1052 +#: walmethods.c:1056 msgid "unlink not supported with compression" msgstr "suppression non supportée avec la compression" -#: walmethods.c:1288 +#: walmethods.c:1293 msgid "could not close compression stream" msgstr "n'a pas pu fermer le flux de compression" - -#~ msgid "" -#~ "\n" -#~ "Report bugs to .\n" -#~ msgstr "" -#~ "\n" -#~ "Rapporter les bogues à .\n" - -#, c-format -#~ msgid "" -#~ " --compression-method=METHOD\n" -#~ " method to compress logs\n" -#~ msgstr "" -#~ " --compression-method=METHODE\n" -#~ " méthode pour compresser les journaux\n" - -#~ msgid " --help show this help, then exit\n" -#~ msgstr " --help affiche cette aide et quitte\n" - -#~ msgid " --version output version information, then exit\n" -#~ msgstr " --version affiche la version et quitte\n" - -#~ msgid " -?, --help show this help, then exit\n" -#~ msgstr " -?, --help affiche cette aide puis quitte\n" - -#~ msgid " -V, --version output version information, then exit\n" -#~ msgstr " -V, --version affiche la version puis quitte\n" - -#, c-format -#~ msgid " -Z, --compress=0-9 compress tar output with given compression level\n" -#~ msgstr "" -#~ " -Z, --compress=0-9 compresse la sortie tar avec le niveau de\n" -#~ " compression indiqué\n" - -#, c-format -#~ msgid " -Z, --compress=1-9 compress logs with given compression level\n" -#~ msgstr "" -#~ " -Z, --compress=0-9 compresse les journaux avec le niveau de\n" -#~ " compression indiqué\n" - -#~ msgid " -x, --xlog include required WAL files in backup (fetch mode)\n" -#~ msgstr "" -#~ " -x, --xlog inclut les journaux de transactions nécessaires\n" -#~ " dans la sauvegarde (mode fetch)\n" - -#~ msgid "%s: WAL directory \"%s\" not removed at user's request\n" -#~ msgstr "%s : répertoire des journaux de transactions « %s » non supprimé à la demande de l'utilisateur\n" - -#~ msgid "%s: WAL directory location must be an absolute path\n" -#~ msgstr "" -#~ "%s : l'emplacement du répertoire des journaux de transactions doit être\n" -#~ "indiqué avec un chemin absolu\n" - -#~ msgid "%s: WAL streaming can only be used in plain mode\n" -#~ msgstr "%s : le flux de journaux de transactions peut seulement être utilisé en mode plain\n" - -#~ msgid "%s: cannot specify both --xlog and --xlog-method\n" -#~ msgstr "%s : ne peut pas spécifier à la fois --xlog et --xlog-method\n" - -#~ msgid "%s: child process did not exit normally\n" -#~ msgstr "%s : le processus fils n'a pas quitté normalement\n" - -#~ msgid "%s: child process exited with error %d\n" -#~ msgstr "%s : le processus fils a quitté avec le code erreur %d\n" - -#~ msgid "%s: could not access directory \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu accéder au répertoire « %s » : %s\n" - -#~ msgid "%s: could not clear search_path: %s" -#~ msgstr "%s : n'a pas pu effacer search_path : %s" - -#~ msgid "%s: could not close directory \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu fermer le répertoire « %s » : %s\n" - -#~ msgid "%s: could not close file \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu fermer le fichier « %s » : %s\n" - -#~ msgid "%s: could not close file %s: %s\n" -#~ msgstr "%s : n'a pas pu fermer le fichier %s : %s\n" - -#~ msgid "%s: could not connect to server\n" -#~ msgstr "%s : n'a pas pu se connecter au serveur\n" - -#~ msgid "%s: could not connect to server: %s" -#~ msgstr "%s : n'a pas pu se connecter au serveur : %s" - -#~ msgid "%s: could not create archive status file \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu créer le fichier de statut d'archivage « %s » : %s\n" - -#~ msgid "%s: could not create directory \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu créer le répertoire « %s » : %s\n" - -#~ msgid "%s: could not create file \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu créer le fichier « %s » : %s\n" - -#~ msgid "%s: could not create symbolic link \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu créer le lien symbolique « %s » : %s\n" - -#~ msgid "%s: could not fsync file \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu synchroniser sur disque le fichier « %s » : %s\n" - -#~ msgid "%s: could not fsync log file \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu synchroniser sur disque le fichier « %s » : %s\n" - -#~ msgid "%s: could not get current position in file %s: %s\n" -#~ msgstr "%s : n'a pas pu obtenir la position courant dans le fichier %s : %s\n" - -#~ msgid "%s: could not identify system: %s" -#~ msgstr "%s : n'a pas pu identifier le système : %s" - -#~ msgid "%s: could not identify system: %s\n" -#~ msgstr "%s : n'a pas pu identifier le système : %s\n" - -#~ msgid "%s: could not identify system: got %d rows and %d fields, expected %d rows and %d or more fields\n" -#~ msgstr "" -#~ "%s : n'a pas pu identifier le système, a récupéré %d lignes et %d champs,\n" -#~ "attendait %d lignes et %d champs (ou plus)\n" - -#~ msgid "%s: could not open WAL segment %s: %s\n" -#~ msgstr "%s : n'a pas pu ouvrir le segment WAL %s : %s\n" - -#~ msgid "%s: could not open directory \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu ouvrir le répertoire « %s » : %s\n" - -#~ msgid "%s: could not open file \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu ouvrir le fichier « %s » : %s\n" - -#~ msgid "%s: could not open log file \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu ouvrir le journal applicatif « %s » : %s\n" - -#~ msgid "%s: could not open timeline history file \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu ouvrir le journal historique de la timeline « %s » : %s\n" - -#~ msgid "%s: could not open write-ahead log file \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu ouvrir le journal de transactions « %s » : %s\n" - -#~ msgid "%s: could not pad WAL segment %s: %s\n" -#~ msgstr "%s : n'a pas pu terminer le segment WAL %s : %s\n" - -#~ msgid "%s: could not pad transaction log file \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu remplir de zéros le journal de transactions « %s » : %s\n" - -#~ msgid "%s: could not parse file mode\n" -#~ msgstr "%s : n'a pas pu analyser le mode du fichier\n" - -#~ msgid "%s: could not parse file size\n" -#~ msgstr "%s : n'a pas pu analyser la taille du fichier\n" - -#~ msgid "%s: could not parse log start position from value \"%s\"\n" -#~ msgstr "%s : n'a pas pu analyser la position de départ des WAL à partir de la valeur « %s »\n" - -#~ msgid "%s: could not parse transaction log file name \"%s\"\n" -#~ msgstr "%s : n'a pas pu analyser le nom du journal de transactions « %s »\n" - -#~ msgid "%s: could not read copy data: %s\n" -#~ msgstr "%s : n'a pas pu lire les données du COPY : %s\n" - -#~ msgid "%s: could not read directory \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu lire le répertoire « %s » : %s\n" - -#~ msgid "%s: could not receive data from WAL stream: %s" -#~ msgstr "%s : n'a pas pu recevoir des données du flux de WAL : %s" - -#~ msgid "%s: could not rename file \"%s\" to \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu renommer le fichier « %s » en « %s » : %s\n" - -#~ msgid "%s: could not rename file \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu renommer le fichier « %s » : %s\n" - -#~ msgid "%s: could not seek back to beginning of WAL segment %s: %s\n" -#~ msgstr "%s : n'a pas pu se déplacer au début du segment WAL %s : %s\n" - -#~ msgid "%s: could not seek to beginning of transaction log file \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu rechercher le début du journal de transaction « %s » : %s\n" - -#~ msgid "%s: could not send base backup command: %s" -#~ msgstr "%s : n'a pas pu envoyer la commande de sauvegarde de base : %s" - -#~ msgid "%s: could not set permissions on directory \"%s\": %s\n" -#~ msgstr "%s : n'a pas configurer les droits sur le répertoire « %s » : %s\n" - -#~ msgid "%s: could not set permissions on file \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu configurer les droits sur le fichier « %s » : %s\n" - -#~ msgid "%s: could not stat WAL segment %s: %s\n" -#~ msgstr "%s : n'a pas pu récupérer les informations sur le segment WAL %s : %s\n" - -#~ msgid "%s: could not stat file \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu récupérer les informations sur le fichier « %s » : %s\n" - -#~ msgid "%s: could not stat transaction log file \"%s\": %s\n" -#~ msgstr "" -#~ "%s : n'a pas pu récupérer les informations sur le journal de transactions\n" -#~ "« %s » : %s\n" - -#~ msgid "%s: could not write to file \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu écrire dans le fichier « %s » : %s\n" - -#~ msgid "%s: data directory \"%s\" not removed at user's request\n" -#~ msgstr "%s : répertoire des données « %s » non supprimé à la demande de l'utilisateur\n" - -#~ msgid "%s: directory \"%s\" exists but is not empty\n" -#~ msgstr "%s : le répertoire « %s » existe mais n'est pas vide\n" - -#~ msgid "%s: failed to remove WAL directory\n" -#~ msgstr "%s : échec de la suppression du répertoire des journaux de transactions\n" - -#~ msgid "%s: failed to remove contents of WAL directory\n" -#~ msgstr "%s : échec de la suppression du contenu du répertoire des journaux de transactions\n" - -#~ msgid "%s: failed to remove contents of data directory\n" -#~ msgstr "%s : échec de la suppression du contenu du répertoire des données\n" - -#~ msgid "%s: failed to remove data directory\n" -#~ msgstr "%s : échec de la suppression du répertoire des données\n" - -#~ msgid "%s: invalid format of xlog location: %s\n" -#~ msgstr "%s : format invalide de l'emplacement du journal de transactions : %s\n" - -#~ msgid "%s: invalid port number \"%s\"\n" -#~ msgstr "%s : numéro de port invalide : « %s »\n" - -#~ msgid "%s: invalid socket: %s" -#~ msgstr "%s : socket invalide : %s" - -#~ msgid "%s: keepalive message has incorrect size %d\n" -#~ msgstr "%s : le message keepalive a une taille %d incorrecte\n" - -#~ msgid "%s: no start point returned from server\n" -#~ msgstr "%s : aucun point de redémarrage renvoyé du serveur\n" - -#~ msgid "%s: out of memory\n" -#~ msgstr "%s : mémoire épuisée\n" - -#~ msgid "%s: removing WAL directory \"%s\"\n" -#~ msgstr "%s : suppression du répertoire des journaux de transactions « %s »\n" - -#~ msgid "%s: removing contents of WAL directory \"%s\"\n" -#~ msgstr "%s : suppression du contenu du répertoire des journaux de transactions « %s »\n" - -#~ msgid "%s: removing contents of data directory \"%s\"\n" -#~ msgstr "%s : suppression du contenu du répertoire des données « %s »\n" - -#~ msgid "%s: removing data directory \"%s\"\n" -#~ msgstr "%s : suppression du répertoire des données « %s »\n" - -#~ msgid "%s: select() failed: %s\n" -#~ msgstr "%s : échec de select() : %s\n" - -#~ msgid "%s: socket not open" -#~ msgstr "%s : socket non ouvert" - -#~ msgid "%s: symlinks are not supported on this platform\n" -#~ msgstr "%s : les liens symboliques ne sont pas supportés sur cette plateforme\n" - -#~ msgid "%s: timeline does not match between base backup and streaming connection\n" -#~ msgstr "" -#~ "%s : la timeline ne correspond pas entre la sauvegarde des fichiers et la\n" -#~ "connexion de réplication\n" - -#~ msgid "%s: too many command-line arguments (first is \"%s\")\n" -#~ msgstr "%s : trop d'arguments en ligne de commande (le premier étant « %s »)\n" - -#~ msgid "--create-slot and --no-slot are incompatible options" -#~ msgstr "--create-slot et --no-slot sont des options incompatibles" - -#~ msgid "--no-manifest and --manifest-checksums are incompatible options" -#~ msgstr "--no-manifest et --manifest-checksums sont des options incompatibles" - -#~ msgid "--no-manifest and --manifest-force-encode are incompatible options" -#~ msgstr "--no-manifest et --manifest-force-encode sont des options incompatibles" - -#~ msgid "--progress and --no-estimate-size are incompatible options" -#~ msgstr "--progress et --no-estimate-size sont des options incompatibles" - -#, c-format -#~ msgid "This build does not support compression with %s." -#~ msgstr "Cette construction ne supporte pas la compression avec %s." - -#, c-format -#~ msgid "Try \"%s --help\" for more information.\n" -#~ msgstr "Essayer « %s --help » pour plus d'informations.\n" - -#, c-format -#~ msgid "cannot use --compress with --compression-method=%s" -#~ msgstr "ne peut pas utiliser --compress avec --compression-method=%s" - -#, c-format -#~ msgid "could not check file \"%s\"" -#~ msgstr "n'a pas pu vérifier le fichier « %s »" - -#~ msgid "could not connect to server: %s" -#~ msgstr "n'a pas pu se connecter au serveur : %s" - -#, c-format -#~ msgid "could not determine seek position in file \"%s\": %s" -#~ msgstr "n'a pas pu déterminer la position de recherche dans le fichier d'archive « %s » : %s" - -#, c-format -#~ msgid "could not find replication slot \"%s\"" -#~ msgstr "n'a pas pu trouver le slot de réplication « %s »" - -#, c-format -#~ msgid "could not get write-ahead log end position from server: %s" -#~ msgstr "n'a pas pu obtenir la position finale des journaux de transactions à partir du serveur : %s" - -#~ msgid "deflate failed" -#~ msgstr "échec en décompression" - -#~ msgid "deflateEnd failed" -#~ msgstr "échec de deflateEnd" - -#~ msgid "deflateInit2 failed" -#~ msgstr "échec de deflateInit2" - -#~ msgid "deflateParams failed" -#~ msgstr "échec de deflateParams" - -#~ msgid "deflateReset failed" -#~ msgstr "échec de deflateReset" - -#, c-format -#~ msgid "fatal: " -#~ msgstr "fatal : " - -#, c-format -#~ msgid "invalid compression level \"%s\"" -#~ msgstr "niveau de compression « %s » invalide" - -#, c-format -#~ msgid "invalid fsync interval \"%s\"" -#~ msgstr "intervalle fsync « %s » invalide" - -#, c-format -#~ msgid "invalid port number \"%s\"" -#~ msgstr "numéro de port invalide : « %s »" - -#, c-format -#~ msgid "invalid status interval \"%s\"" -#~ msgstr "intervalle « %s » invalide du statut" - -#, c-format -#~ msgid "invalid tar block header size: %zu" -#~ msgstr "taille invalide de l'en-tête de bloc du fichier tar : %zu" - -#, c-format -#~ msgid "log streamer with pid %d exiting" -#~ msgstr "le processus d'envoi des journaux de PID %d quitte" - -#, c-format -#~ msgid "no value specified for --compress, switching to default" -#~ msgstr "aucune valeur indiquée pour --compression, utilise la valeur par défaut" - -#~ msgid "select() failed: %m" -#~ msgstr "échec de select() : %m" - -#, c-format -#~ msgid "symlinks are not supported on this platform" -#~ msgstr "les liens symboliques ne sont pas supportés sur cette plateforme" - -#, c-format -#~ msgid "this build does not support gzip compression" -#~ msgstr "cette construction ne supporte pas la compression gzip" - -#, c-format -#~ msgid "this build does not support lz4 compression" -#~ msgstr "cette construction ne supporte pas la compression lz4" - -#, c-format -#~ msgid "this build does not support zstd compression" -#~ msgstr "cette construction ne supporte pas la compression zstd" - -#, c-format -#~ msgid "unknown compression option \"%s\"" -#~ msgstr "option de compression « %s » inconnue" - -#, c-format -#~ msgid "unrecognized link indicator \"%c\"" -#~ msgstr "indicateur de lien « %c » non reconnu" diff --git a/src/bin/pg_basebackup/po/ja.po b/src/bin/pg_basebackup/po/ja.po index e1926adeaab..3bc0b061594 100644 --- a/src/bin/pg_basebackup/po/ja.po +++ b/src/bin/pg_basebackup/po/ja.po @@ -11,8 +11,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_basebackup (PostgreSQL 17)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-06-21 09:57+0900\n" -"PO-Revision-Date: 2024-06-21 10:16+0900\n" +"POT-Creation-Date: 2024-09-05 09:59+0900\n" +"PO-Revision-Date: 2024-09-05 10:39+0900\n" "Last-Translator: Kyotaro Horiguchi \n" "Language-Team: Japan PostgreSQL Users Group \n" "Language: ja\n" @@ -22,30 +22,31 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Poedit 1.8.13\n" -#: ../../../src/common/logging.c:276 +#: ../../../src/common/logging.c:278 #, c-format msgid "error: " msgstr "エラー: " -#: ../../../src/common/logging.c:283 +#: ../../../src/common/logging.c:285 #, c-format msgid "warning: " msgstr "警告: " -#: ../../../src/common/logging.c:294 +#: ../../../src/common/logging.c:296 #, c-format msgid "detail: " msgstr "詳細: " -#: ../../../src/common/logging.c:301 +#: ../../../src/common/logging.c:303 #, c-format msgid "hint: " msgstr "ヒント: " #: ../../common/compression.c:132 ../../common/compression.c:141 -#: ../../common/compression.c:150 bbstreamer_gzip.c:116 bbstreamer_gzip.c:249 -#: bbstreamer_lz4.c:100 bbstreamer_lz4.c:298 bbstreamer_zstd.c:129 -#: bbstreamer_zstd.c:284 +#: ../../common/compression.c:150 ../../fe_utils/astreamer_gzip.c:142 +#: ../../fe_utils/astreamer_gzip.c:275 ../../fe_utils/astreamer_lz4.c:104 +#: ../../fe_utils/astreamer_lz4.c:302 ../../fe_utils/astreamer_zstd.c:133 +#: ../../fe_utils/astreamer_zstd.c:288 #, c-format msgid "this build does not support compression with %s" msgstr "このビルドでは%sによる圧縮をサポートしていません" @@ -111,7 +112,7 @@ 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 -#: bbstreamer_file.c:138 pg_recvlogical.c:650 +#: ../../fe_utils/astreamer_file.c:142 pg_recvlogical.c:650 #, c-format msgid "could not close file \"%s\": %m" msgstr "ファイル\"%s\"をクローズできませんでした: %m" @@ -133,9 +134,9 @@ msgstr "" "されるものと一致しないようです。この場合以下の結果は不正確になります。また、\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 ../../fe_utils/recovery_gen.c:140 +#: ../../common/controldata_utils.c:230 ../../common/file_utils.c:71 +#: ../../common/file_utils.c:348 ../../common/file_utils.c:407 +#: ../../common/file_utils.c:481 ../../fe_utils/recovery_gen.c:140 #: pg_basebackup.c:1846 pg_receivewal.c:386 #, c-format msgid "could not open file \"%s\": %m" @@ -146,8 +147,8 @@ msgstr "ファイル\"%s\"をオープンできませんでした: %m" 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 pg_recvlogical.c:204 +#: ../../common/controldata_utils.c:268 ../../common/file_utils.c:419 +#: ../../common/file_utils.c:489 pg_recvlogical.c:204 #, c-format msgid "could not fsync file \"%s\": %m" msgstr "ファイル\"%s\"をfsyncできませんでした: %m" @@ -163,36 +164,36 @@ msgstr "メモリ不足です\n" msgid "cannot duplicate null pointer (internal error)\n" msgstr "null ポインタを複製できません (内部エラー)\n" -#: ../../common/file_utils.c:76 +#: ../../common/file_utils.c:77 #, 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 +#: ../../common/file_utils.c:121 ../../common/file_utils.c:567 #: pg_receivewal.c:319 pg_recvlogical.c:352 #, c-format msgid "could not stat file \"%s\": %m" msgstr "ファイル\"%s\"のstatに失敗しました: %m" -#: ../../common/file_utils.c:130 ../../common/file_utils.c:227 +#: ../../common/file_utils.c:131 ../../common/file_utils.c:228 #: ../../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 +#: ../../common/file_utils.c:152 ../../common/file_utils.c:282 #: pg_receivewal.c:242 #, c-format msgid "could not open directory \"%s\": %m" msgstr "ディレクトリ\"%s\"をオープンできませんでした: %m" -#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 +#: ../../common/file_utils.c:170 ../../common/file_utils.c:316 #: pg_receivewal.c:471 #, c-format msgid "could not read directory \"%s\": %m" msgstr "ディレクトリ\"%s\"を読み取れませんでした: %m" -#: ../../common/file_utils.c:498 pg_basebackup.c:2344 walmethods.c:462 +#: ../../common/file_utils.c:499 pg_basebackup.c:2344 walmethods.c:462 #, c-format msgid "could not rename file \"%s\" to \"%s\": %m" msgstr "ファイル\"%s\"の名前を\"%s\"に変更できませんでした: %m" @@ -227,191 +228,193 @@ msgstr "制限付きトークンで再実行できませんでした: %lu" 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" - -#: ../../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 -#, c-format -msgid "out of memory" -msgstr "メモリ不足です" - -#: ../../fe_utils/recovery_gen.c:143 bbstreamer_file.c:121 -#: bbstreamer_file.c:258 pg_basebackup.c:1433 pg_basebackup.c:1727 -#, c-format -msgid "could not write to file \"%s\": %m" -msgstr "ファイル\"%s\"を書き込めませんでした: %m" - -#: ../../fe_utils/recovery_gen.c:152 bbstreamer_file.c:93 bbstreamer_file.c:361 -#: pg_basebackup.c:1497 pg_basebackup.c:1706 +#: ../../fe_utils/astreamer_file.c:97 ../../fe_utils/astreamer_file.c:365 +#: ../../fe_utils/recovery_gen.c:152 pg_basebackup.c:1497 pg_basebackup.c:1706 #, c-format msgid "could not create file \"%s\": %m" msgstr "ファイル\"%s\"を作成できませんでした: %m" -#: ../../fe_utils/string_utils.c:434 -#, c-format -msgid "shell command argument contains a newline or carriage return: \"%s\"\n" -msgstr "シェルコマンドの引数に改行(LF)または復帰(CR)が含まれています: \"%s\"\n" - -#: ../../fe_utils/string_utils.c:607 +#: ../../fe_utils/astreamer_file.c:125 ../../fe_utils/astreamer_file.c:262 +#: ../../fe_utils/recovery_gen.c:143 pg_basebackup.c:1433 pg_basebackup.c:1727 #, c-format -msgid "database name contains a newline or carriage return: \"%s\"\n" -msgstr "データベース名に改行(LF)または復帰(CR)が含まれています: \"%s\"\n" +msgid "could not write to file \"%s\": %m" +msgstr "ファイル\"%s\"を書き込めませんでした: %m" -#: bbstreamer_file.c:275 +#: ../../fe_utils/astreamer_file.c:279 #, c-format msgid "unexpected state while extracting archive" msgstr "アーカイブの抽出中に想定外の状態" -#: bbstreamer_file.c:321 pg_basebackup.c:698 pg_basebackup.c:712 +#: ../../fe_utils/astreamer_file.c:325 pg_basebackup.c:698 pg_basebackup.c:712 #: pg_basebackup.c:757 #, c-format msgid "could not create directory \"%s\": %m" msgstr "ディレクトリ\"%s\"を作成できませんでした: %m" -#: bbstreamer_file.c:326 +#: ../../fe_utils/astreamer_file.c:330 #, c-format msgid "could not set permissions on directory \"%s\": %m" msgstr "ディレクトリ\"%s\"に権限を設定できませんでした: %m" -#: bbstreamer_file.c:345 +#: ../../fe_utils/astreamer_file.c:349 #, c-format msgid "could not create symbolic link from \"%s\" to \"%s\": %m" msgstr "\"%s\"から\"%s\"へのシンボリックリンクを作成できませんでした: %m" -#: bbstreamer_file.c:365 +#: ../../fe_utils/astreamer_file.c:369 #, c-format msgid "could not set permissions on file \"%s\": %m" msgstr "ファイル\"%s\"の権限を設定できませんでした: %m" -#: bbstreamer_gzip.c:95 +#: ../../fe_utils/astreamer_gzip.c:117 #, c-format msgid "could not create compressed file \"%s\": %m" msgstr "圧縮ファイル\"%s\"を作成できませんでした: %m" -#: bbstreamer_gzip.c:103 +#: ../../fe_utils/astreamer_gzip.c:129 #, c-format msgid "could not duplicate stdout: %m" msgstr "標準出力の複製に失敗しました: %m" -#: bbstreamer_gzip.c:107 +#: ../../fe_utils/astreamer_gzip.c:133 #, c-format msgid "could not open output file: %m" msgstr "出力ファイルをオープンできませんでした: %m" -#: bbstreamer_gzip.c:111 +#: ../../fe_utils/astreamer_gzip.c:137 #, c-format msgid "could not set compression level %d: %s" msgstr "圧縮レベルを%dに設定できませんでした: %s" -#: bbstreamer_gzip.c:143 +#: ../../fe_utils/astreamer_gzip.c:169 #, c-format msgid "could not write to compressed file \"%s\": %s" msgstr "圧縮ファイル\"%s\"に書き込めませんでした: %s" -#: bbstreamer_gzip.c:167 +#: ../../fe_utils/astreamer_gzip.c:193 #, c-format msgid "could not close compressed file \"%s\": %m" msgstr "圧縮ファイル\"%s\"をクローズすることができませんでした: %m" -#: bbstreamer_gzip.c:245 walmethods.c:880 +#: ../../fe_utils/astreamer_gzip.c:271 walmethods.c:880 #, c-format msgid "could not initialize compression library" msgstr "圧縮ライブラリを初期化できませんでした" -#: bbstreamer_gzip.c:296 bbstreamer_lz4.c:354 bbstreamer_zstd.c:329 +#: ../../fe_utils/astreamer_gzip.c:322 ../../fe_utils/astreamer_lz4.c:358 +#: ../../fe_utils/astreamer_zstd.c:333 #, c-format msgid "could not decompress data: %s" msgstr "データを伸張できませんでした: %s" -#: bbstreamer_inject.c:189 -#, c-format -msgid "unexpected state while injecting recovery settings" -msgstr "リカバリ設定の出力中に想定外の状態" - -#: bbstreamer_lz4.c:95 +#: ../../fe_utils/astreamer_lz4.c:99 #, c-format msgid "could not create lz4 compression context: %s" msgstr "lz4圧縮コンテクストを生成できませんでした: %s" -#: bbstreamer_lz4.c:140 +#: ../../fe_utils/astreamer_lz4.c:144 #, c-format msgid "could not write lz4 header: %s" msgstr "lz4ヘッダを出力できませんでした: %s" -#: bbstreamer_lz4.c:189 bbstreamer_zstd.c:181 bbstreamer_zstd.c:223 +#: ../../fe_utils/astreamer_lz4.c:193 ../../fe_utils/astreamer_zstd.c:185 +#: ../../fe_utils/astreamer_zstd.c:227 #, c-format msgid "could not compress data: %s" msgstr "データを圧縮できませんでした: %s" -#: bbstreamer_lz4.c:241 +#: ../../fe_utils/astreamer_lz4.c:245 #, c-format msgid "could not end lz4 compression: %s" msgstr "lz4圧縮を終了できませんでした: %s" -#: bbstreamer_lz4.c:293 +#: ../../fe_utils/astreamer_lz4.c:297 #, c-format msgid "could not initialize compression library: %s" msgstr "圧縮ライブラリを初期化できませんでした: %s" -#: bbstreamer_tar.c:244 +#: ../../fe_utils/astreamer_tar.c:244 #, c-format msgid "tar file trailer exceeds 2 blocks" msgstr "tarファイル後続ブロックが2ブロックを超えています" -#: bbstreamer_tar.c:249 +#: ../../fe_utils/astreamer_tar.c:249 #, c-format msgid "unexpected state while parsing tar archive" msgstr "tarアーカイブのパース中に想定外の状態" -#: bbstreamer_tar.c:292 +#: ../../fe_utils/astreamer_tar.c:292 #, c-format msgid "tar member has empty name" msgstr "tarメンバーの名前が空です" -#: bbstreamer_tar.c:326 +#: ../../fe_utils/astreamer_tar.c:326 #, c-format msgid "COPY stream ended before last file was finished" msgstr "最後のファイルが終わる前にCOPYストリームが終了しました" -#: bbstreamer_zstd.c:85 +#: ../../fe_utils/astreamer_zstd.c:89 #, c-format msgid "could not create zstd compression context" msgstr "zstd圧縮コンテクストを生成できませんでした" -#: bbstreamer_zstd.c:91 +#: ../../fe_utils/astreamer_zstd.c:95 #, c-format msgid "could not set zstd compression level to %d: %s" msgstr "zstd圧縮レベルを%dに設定できませんでした: %s" -#: bbstreamer_zstd.c:105 +#: ../../fe_utils/astreamer_zstd.c:109 #, c-format msgid "could not set compression worker count to %d: %s" msgstr "圧縮ワーカー数を%dに設定できませんでした: %s" -#: bbstreamer_zstd.c:116 +#: ../../fe_utils/astreamer_zstd.c:120 #, c-format msgid "could not enable long-distance mode: %s" msgstr "長距離モードを有効化できませんでした: %s" -#: bbstreamer_zstd.c:275 +#: ../../fe_utils/astreamer_zstd.c:279 #, c-format msgid "could not create zstd decompression context" msgstr "zstd伸張コンテクストを生成できませんでした" +#: ../../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" + +#: ../../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 +#, c-format +msgid "out of memory" +msgstr "メモリ不足です" + +#: ../../fe_utils/string_utils.c:434 +#, c-format +msgid "shell command argument contains a newline or carriage return: \"%s\"\n" +msgstr "シェルコマンドの引数に改行(LF)または復帰(CR)が含まれています: \"%s\"\n" + +#: ../../fe_utils/string_utils.c:607 +#, c-format +msgid "database name contains a newline or carriage return: \"%s\"\n" +msgstr "データベース名に改行(LF)または復帰(CR)が含まれています: \"%s\"\n" + +#: astreamer_inject.c:189 +#, c-format +msgid "unexpected state while injecting recovery settings" +msgstr "リカバリ設定の出力中に想定外の状態" + #: pg_basebackup.c:245 #, c-format msgid "removing data directory \"%s\"" @@ -501,13 +504,13 @@ msgstr "" "%sは実行中のPostgreSQLサーバーのベースバックアップを取得します。\n" "\n" -#: pg_basebackup.c:394 pg_createsubscriber.c:216 pg_receivewal.c:79 +#: pg_basebackup.c:394 pg_createsubscriber.c:221 pg_receivewal.c:79 #: pg_recvlogical.c:86 #, c-format msgid "Usage:\n" msgstr "使用方法:\n" -#: pg_basebackup.c:395 pg_createsubscriber.c:217 pg_receivewal.c:80 +#: pg_basebackup.c:395 pg_createsubscriber.c:222 pg_receivewal.c:80 #: pg_recvlogical.c:87 #, c-format msgid " %s [OPTION]...\n" @@ -773,7 +776,7 @@ msgstr " -w, --no-password パスワードの入力を要求しない\n" msgid " -W, --password force password prompt (should happen automatically)\n" msgstr " -W, --password パスワード入力要求を強制(自動的に行われるはず)\n" -#: pg_basebackup.c:448 pg_createsubscriber.c:235 pg_receivewal.c:106 +#: pg_basebackup.c:448 pg_createsubscriber.c:240 pg_receivewal.c:106 #: pg_recvlogical.c:118 #, c-format msgid "" @@ -783,7 +786,7 @@ msgstr "" "\n" "バグは<%s>に報告してください。\n" -#: pg_basebackup.c:449 pg_createsubscriber.c:236 pg_receivewal.c:107 +#: pg_basebackup.c:449 pg_createsubscriber.c:241 pg_receivewal.c:107 #: pg_recvlogical.c:119 #, c-format msgid "%s home page: <%s>\n" @@ -835,7 +838,7 @@ msgstr "バックグラウンドスレッドを生成できませんでした: % msgid "directory \"%s\" exists but is not empty" msgstr "ディレクトリ\"%s\"は存在しますが空ではありません" -#: pg_basebackup.c:782 pg_createsubscriber.c:378 +#: pg_basebackup.c:782 pg_createsubscriber.c:390 #, c-format msgid "could not access directory \"%s\": %m" msgstr "ディレクトリ\"%s\"にアクセスできませんでした: %m" @@ -1177,9 +1180,9 @@ msgstr "不正な wal-method オプション\"%s\"、\"fetch\"、\"stream\" ま #: 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:1907 pg_createsubscriber.c:1917 -#: pg_createsubscriber.c:1925 pg_createsubscriber.c:1953 -#: pg_createsubscriber.c:1985 pg_receivewal.c:748 pg_receivewal.c:760 +#: 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_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 @@ -1189,7 +1192,7 @@ msgstr "不正な wal-method オプション\"%s\"、\"fetch\"、\"stream\" ま msgid "Try \"%s --help\" for more information." msgstr "詳細は\"%s --help\"を実行してください。" -#: pg_basebackup.c:2584 pg_createsubscriber.c:1915 pg_receivewal.c:758 +#: pg_basebackup.c:2584 pg_createsubscriber.c:2045 pg_receivewal.c:758 #: pg_recvlogical.c:863 #, c-format msgid "too many command-line arguments (first is \"%s\")" @@ -1282,37 +1285,37 @@ msgstr "WALディレクトリの位置は、絶対パスでなければなりま msgid "could not create symbolic link \"%s\": %m" msgstr "シンボリックリンク\"%s\"を作成できませんでした: %m" -#: pg_createsubscriber.c:164 +#: pg_createsubscriber.c:169 #, c-format msgid "failed after the end of recovery" msgstr "リカバリ完了後に失敗しました" -#: pg_createsubscriber.c:165 +#: pg_createsubscriber.c:170 #, c-format msgid "The target server cannot be used as a physical replica anymore. You must recreate the physical replica before continuing." msgstr "以降この対象サーバーは物理複製としては使用できません。作業を継続する前に物理複製を再作成する必要があります。" -#: pg_createsubscriber.c:193 +#: pg_createsubscriber.c:198 #, c-format -msgid "publication \"%s\" in database \"%s\" on primary might be left behind" -msgstr "プライマリ上のデータベース\"%2$s\"にパブリケーション\"%1$s\"が残される可能性があります" +msgid "publication \"%s\" created in database \"%s\" on primary was left behind" +msgstr "プライマリ上のデータベース\"%2$s\"で作成されたパブリケーション\"%1$s\"が残されています" -#: pg_createsubscriber.c:195 +#: pg_createsubscriber.c:200 #, c-format -msgid "Consider dropping this publication before trying again." -msgstr "再試行の前にこのパブリケーションを削除することを検討してください。" +msgid "Drop this publication before trying again." +msgstr "再試行の前にこのパブリケーションを削除してください。" -#: pg_createsubscriber.c:199 +#: pg_createsubscriber.c:204 #, c-format -msgid "replication slot \"%s\" in database \"%s\" on primary might be left behind" -msgstr "プライマリ上のデータベース\"%2$s\"にレプリケーションスロット\"%1$s\"が残される可能性があります" +msgid "replication slot \"%s\" created in database \"%s\" on primary was left behind" +msgstr "プライマリ上のデータベース\"%2$s\"で作成されたレプリケーションスロット\"%1$s\"が残されています" -#: pg_createsubscriber.c:201 pg_createsubscriber.c:1137 +#: pg_createsubscriber.c:206 pg_createsubscriber.c:1260 #, c-format msgid "Drop this replication slot soon to avoid retention of WAL files." msgstr "WALファイルの増加を避けるためにこのレプリケーションスロットを直ちに削除してください。" -#: pg_createsubscriber.c:214 +#: pg_createsubscriber.c:219 #, c-format msgid "" "%s creates a new logical replica from a standby server.\n" @@ -1321,7 +1324,7 @@ msgstr "" "%s スタンバイサーバーから新たな論理複製を作成します。\n" "\n" -#: pg_createsubscriber.c:218 pg_receivewal.c:81 pg_recvlogical.c:92 +#: pg_createsubscriber.c:223 pg_receivewal.c:81 pg_recvlogical.c:92 #, c-format msgid "" "\n" @@ -1330,54 +1333,54 @@ msgstr "" "\n" "オプション:\n" -#: pg_createsubscriber.c:219 +#: pg_createsubscriber.c:224 #, c-format -msgid " -d, --database=DBNAME database to create a subscription\n" +msgid " -d, --database=DBNAME database in which to create a subscription\n" msgstr " -d, --database=DBNAME サブスクリプションを作成するデータベース名\n" -#: pg_createsubscriber.c:220 +#: pg_createsubscriber.c:225 #, c-format msgid " -D, --pgdata=DATADIR location for the subscriber data directory\n" msgstr " -D, --pgdata=DATADIR サブスクライバのデータディレクトリの場所\n" -#: pg_createsubscriber.c:221 +#: pg_createsubscriber.c:226 #, c-format msgid " -n, --dry-run dry run, just show what would be done\n" msgstr " -n, --dry-run 更新をせず、単に何が行なわれるかを表示\n" -#: pg_createsubscriber.c:222 +#: pg_createsubscriber.c:227 #, c-format msgid " -p, --subscriber-port=PORT subscriber port number (default %s)\n" msgstr " -p, --subscriber-port=PORT サブスクライバのポート番号 (デフォルト %s)\n" -#: pg_createsubscriber.c:223 +#: pg_createsubscriber.c:228 #, c-format msgid " -P, --publisher-server=CONNSTR publisher connection string\n" msgstr " -P, --publisher-server=CONNSTR パブリッシャの接続文字列\n" -#: pg_createsubscriber.c:224 +#: pg_createsubscriber.c:229 #, c-format -msgid " -s, --socket-directory=DIR socket directory to use (default current directory)\n" +msgid " -s, --socketdir=DIR socket directory to use (default current dir.)\n" msgstr "" -" -s, --socket-directory=DIR 使用するソケットディレクトリ(デフォルトは\n" -" カレントディレクトリ)\n" +" -s, --socketdir=DIR 使用するソケットディレクトリ(デフォルトは\n" +" カレントディレクトリ)\n" -#: pg_createsubscriber.c:225 +#: pg_createsubscriber.c:230 #, c-format msgid " -t, --recovery-timeout=SECS seconds to wait for recovery to end\n" msgstr " -t, --recovery-timeout=SECS リカバリ完了を待機する秒数\n" -#: pg_createsubscriber.c:226 +#: pg_createsubscriber.c:231 #, c-format -msgid " -U, --subscriber-username=NAME subscriber username\n" -msgstr " -U, --subscriber-username=NAME サブスクライバのユーザー名\n" +msgid " -U, --subscriber-username=NAME user name for subscriber connection\n" +msgstr " -U, --subscriber-username=NAME サブスクライバ接続のユーザー名\n" -#: pg_createsubscriber.c:227 +#: pg_createsubscriber.c:232 #, c-format msgid " -v, --verbose output verbose messages\n" msgstr " -v, --verbose 冗長メッセージを出力\n" -#: pg_createsubscriber.c:228 +#: pg_createsubscriber.c:233 #, c-format msgid "" " --config-file=FILENAME use specified main server configuration\n" @@ -1386,537 +1389,554 @@ msgstr "" " --config-file=FILENAME ターゲットのクラスタの実行時に指定した\n" " 主サーバー設定ファイルを使用する\n" -#: pg_createsubscriber.c:230 +#: pg_createsubscriber.c:235 #, c-format msgid " --publication=NAME publication name\n" msgstr " --publication=NAME パブリケーション名\n" -#: pg_createsubscriber.c:231 +#: pg_createsubscriber.c:236 #, c-format msgid " --replication-slot=NAME replication slot name\n" msgstr " --replication-slot=NAME レプリケーションスロット名\n" -#: pg_createsubscriber.c:232 +#: pg_createsubscriber.c:237 #, c-format msgid " --subscription=NAME subscription name\n" msgstr " --subscription=NAME サブスクリプション名\n" -#: pg_createsubscriber.c:233 +#: pg_createsubscriber.c:238 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version バージョン情報を表示して終了\n" -#: pg_createsubscriber.c:234 +#: pg_createsubscriber.c:239 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help このヘルプを表示して終了\n" -#: pg_createsubscriber.c:265 +#: pg_createsubscriber.c:282 #, c-format msgid "could not parse connection string: %s" msgstr "接続文字列をパースできませんでした: %s" -#: pg_createsubscriber.c:347 +#: pg_createsubscriber.c:359 #, c-format msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"" msgstr "%2$sにはプログラム\"%1$s\"が必要ですが、\"%3$s\"と同じディレクトリにはありませんでした。" -#: pg_createsubscriber.c:350 +#: pg_createsubscriber.c:362 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" msgstr "\"%2$s\"がプログラム\"%1$s\"を見つけましたが、これは%3$sと同じバージョンではありませんでした。" -#: pg_createsubscriber.c:370 +#: pg_createsubscriber.c:382 #, c-format msgid "checking if directory \"%s\" is a cluster data directory" msgstr "ディレクトリ\"%s\"がクラスタデータディレクトリであることを確認中" -#: pg_createsubscriber.c:376 +#: pg_createsubscriber.c:388 #, c-format msgid "data directory \"%s\" does not exist" msgstr "データディレクトリ\"%s\"は存在しません" -#: pg_createsubscriber.c:384 +#: pg_createsubscriber.c:396 #, c-format msgid "directory \"%s\" is not a database cluster directory" msgstr "ディレクトリ\"%s\"はデータベースクラスタディレクトリではありません" -#: pg_createsubscriber.c:501 +#: pg_createsubscriber.c:513 #, c-format msgid "connection to database failed: %s" msgstr "データベース接続に失敗しました: %s" -#: pg_createsubscriber.c:514 +#: pg_createsubscriber.c:526 streamutil.c:230 #, c-format -msgid "could not clear search_path: %s" -msgstr "search_pathを消去できませんでした: %s" +msgid "could not clear \"search_path\": %s" +msgstr "\"search_path\"を消去できませんでした: %s" -#: pg_createsubscriber.c:554 +#: pg_createsubscriber.c:566 #, c-format msgid "getting system identifier from publisher" msgstr "パブリッシャからシステム識別子を取得しています" -#: pg_createsubscriber.c:561 +#: pg_createsubscriber.c:573 #, c-format msgid "could not get system identifier: %s" msgstr "システム識別子を取得できませんでした: %s" -#: pg_createsubscriber.c:567 +#: pg_createsubscriber.c:579 #, c-format msgid "could not get system identifier: got %d rows, expected %d row" msgstr "システム識別子を取得できませんでした: 受信したのは%d行、想定は%d行" -#: pg_createsubscriber.c:574 +#: pg_createsubscriber.c:586 #, c-format msgid "system identifier is %llu on publisher" msgstr "パブリッシャのシステム識別子は%lluです" -#: pg_createsubscriber.c:595 +#: pg_createsubscriber.c:607 #, c-format msgid "getting system identifier from subscriber" msgstr "サブスクライバからシステム識別子を取得しています" -#: pg_createsubscriber.c:599 pg_createsubscriber.c:629 +#: pg_createsubscriber.c:611 pg_createsubscriber.c:641 #, c-format msgid "control file appears to be corrupt" msgstr "制御ファイルが破損しているようです" -#: pg_createsubscriber.c:603 pg_createsubscriber.c:644 +#: pg_createsubscriber.c:615 pg_createsubscriber.c:656 #, c-format msgid "system identifier is %llu on subscriber" msgstr "サブスクライバのシステム識別子は%lluです" -#: pg_createsubscriber.c:625 +#: pg_createsubscriber.c:637 #, c-format msgid "modifying system identifier of subscriber" msgstr "サブスクライバのシステム識別子を変更しています" -#: pg_createsubscriber.c:647 +#: pg_createsubscriber.c:659 #, c-format msgid "running pg_resetwal on the subscriber" msgstr "サブスクライバ上でpg_resetwalを実行します" -#: pg_createsubscriber.c:659 +#: pg_createsubscriber.c:671 #, c-format msgid "subscriber successfully changed the system identifier" msgstr "サブスクライバはシステム識別子の変更に成功しました" -#: pg_createsubscriber.c:661 +#: pg_createsubscriber.c:673 #, c-format -msgid "subscriber failed to change system identifier: exit code: %d" -msgstr "サブスクライバはシステム識別子の変更に失敗しました: 終了コード: %d" +msgid "could not change system identifier of subscriber: %s" +msgstr "サブスクライバーのシステム識別子を変更できませんでした: %s" -#: pg_createsubscriber.c:685 +#: pg_createsubscriber.c:697 #, c-format msgid "could not obtain database OID: %s" msgstr "データベースOIDを取得できませんでした: %s" -#: pg_createsubscriber.c:692 +#: pg_createsubscriber.c:704 #, c-format msgid "could not obtain database OID: got %d rows, expected %d row" msgstr "データベースOIDを取得できませんでした: 受信したのは%d行、想定は%d行" -#: pg_createsubscriber.c:764 +#: pg_createsubscriber.c:776 #, c-format msgid "create replication slot \"%s\" on publisher" msgstr "パブリッシャでレプリケーションスロット\"%s\"を作成します" -#: pg_createsubscriber.c:788 +#: pg_createsubscriber.c:796 +#, c-format +msgid "could not write an additional WAL record: %s" +msgstr "追加のWALレコードを書き込めませんでした: %s" + +#: pg_createsubscriber.c:822 #, c-format msgid "could not obtain recovery progress: %s" msgstr "リカバリ進捗を取得できませんでした: %s" -#: pg_createsubscriber.c:819 +#: pg_createsubscriber.c:854 #, c-format msgid "checking settings on publisher" msgstr "パブリッシャ上の設定を確認しています" -#: pg_createsubscriber.c:829 +#: pg_createsubscriber.c:864 #, c-format msgid "primary server cannot be in recovery" msgstr "プライマリサーバーがリカバリ中であってはなりません" -#: pg_createsubscriber.c:864 +#: pg_createsubscriber.c:888 #, c-format msgid "could not obtain publisher settings: %s" msgstr "パブリッシャの設定が取得できませんでした: %s" -#: pg_createsubscriber.c:887 +#: pg_createsubscriber.c:914 #, c-format -msgid "publisher requires wal_level >= \"logical\"" -msgstr "パブリッシャは wal_level >= \"logical\" である必要があります" +msgid "publisher requires \"wal_level\" >= \"logical\"" +msgstr "パブリッシャでは \"wal_level\" >= \"logical\" である必要があります" -#: pg_createsubscriber.c:893 +#: pg_createsubscriber.c:920 #, c-format msgid "publisher requires %d replication slots, but only %d remain" msgstr "パブリッシャは%d個のレプリケーションスロットを必要としますが、%d個しか残っていません" -#: pg_createsubscriber.c:895 pg_createsubscriber.c:994 +#: pg_createsubscriber.c:922 pg_createsubscriber.c:931 +#: pg_createsubscriber.c:1028 pg_createsubscriber.c:1037 +#: pg_createsubscriber.c:1046 +#, c-format +msgid "Increase the configuration parameter \"%s\" to at least %d." +msgstr "設定パラメータ\"%s\"を少なくとも%dに増やしてください。" + +#: pg_createsubscriber.c:929 #, c-format -msgid "Consider increasing max_replication_slots to at least %d." -msgstr "max_replication_slots を最低でも%dまで増やすことを検討してください。" +msgid "publisher requires %d WAL sender processes, but only %d remain" +msgstr "パブリッシャは%d個のWAL senderプロセスを必要としますが、%d個しか残っていません" -#: pg_createsubscriber.c:902 +#: pg_createsubscriber.c:938 #, c-format -msgid "publisher requires %d wal sender processes, but only %d remain" -msgstr "パブリッシャは%d個のwal senderプロセスを必要としますが、%d個しか残っていません" +msgid "two_phase option will not be enabled for replication slots" +msgstr "レプリケーションスロットに対してtwo_phaseオプションは有効化されません" -#: pg_createsubscriber.c:904 +#: pg_createsubscriber.c:939 #, c-format -msgid "Consider increasing max_wal_senders to at least %d." -msgstr "max_wal_sendersを最低でも%dに上げることを検討してください。" +msgid "Subscriptions will be created with the two_phase option disabled. Prepared transactions will be replicated at COMMIT PREPARED." +msgstr "サブスクリプションはtwo_phaseオプションが無効な状態で作成されます。準備済みトランザクションはCOMMIT PREPAREDでレプリケートされます。" -#: pg_createsubscriber.c:937 +#: pg_createsubscriber.c:971 #, c-format msgid "checking settings on subscriber" msgstr "サブスクライバ上で設定を確認します" -#: pg_createsubscriber.c:944 +#: pg_createsubscriber.c:978 #, c-format msgid "target server must be a standby" msgstr "ターゲットサーバーはスタンバイである必要があります" -#: pg_createsubscriber.c:968 +#: pg_createsubscriber.c:1002 #, c-format msgid "could not obtain subscriber settings: %s" msgstr "サブスクライバの設定を取得できませんでした: %s" -#: pg_createsubscriber.c:992 +#: pg_createsubscriber.c:1026 #, c-format msgid "subscriber requires %d replication slots, but only %d remain" msgstr "サブスクライバは%d個のレプリケーションスロットを必要としますが、%d個しか残ってません" -#: pg_createsubscriber.c:1001 +#: pg_createsubscriber.c:1035 #, c-format msgid "subscriber requires %d logical replication workers, but only %d remain" msgstr "サブスクライバは%d個の論理レプリケーションワーカーを必要としますが、%d個しか残っていません" -#: pg_createsubscriber.c:1003 -#, c-format -msgid "Consider increasing max_logical_replication_workers to at least %d." -msgstr "max_logical_replication_workersを最低でも%dに増やすことを検討してください。" - -#: pg_createsubscriber.c:1010 +#: pg_createsubscriber.c:1044 #, c-format msgid "subscriber requires %d worker processes, but only %d remain" msgstr "サブスクライバは%d個のワーカープロセスを必要としますが、%d個しか残っていません" -#: pg_createsubscriber.c:1012 +#: pg_createsubscriber.c:1079 #, c-format -msgid "Consider increasing max_worker_processes to at least %d." -msgstr "max_worker_processesを最低でも%dに増やすことを検討してください。" +msgid "dropping subscription \"%s\" in database \"%s\"" +msgstr "データベース\"%2$s\"のサブスクリプション\"%1$s\"の削除中" -#: pg_createsubscriber.c:1135 +#: pg_createsubscriber.c:1088 +#, c-format +msgid "could not drop subscription \"%s\": %s" +msgstr "サブスクリプション\"%s\"を削除できませんでした: %s" + +#: pg_createsubscriber.c:1123 +#, c-format +msgid "could not obtain pre-existing subscriptions: %s" +msgstr "既存のサブスクリプションを取得できませんでした: %s" + +#: pg_createsubscriber.c:1258 #, c-format msgid "could not drop replication slot \"%s\" on primary" msgstr "プライマリ上のレプリケーションスロット\"%s\"を削除できませんでした" -#: pg_createsubscriber.c:1169 +#: pg_createsubscriber.c:1292 #, c-format msgid "could not obtain failover replication slot information: %s" msgstr "フェイルオーバーレプリケーションスロットの情報を取得できませんでした: %s" -#: pg_createsubscriber.c:1171 pg_createsubscriber.c:1180 +#: pg_createsubscriber.c:1294 pg_createsubscriber.c:1303 #, c-format msgid "Drop the failover replication slots on subscriber soon to avoid retention of WAL files." msgstr "WALファイルの増加を避けるためにこのフェイルオーバーレプリケーションスロットを直ちに削除してください。" -#: pg_createsubscriber.c:1179 +#: pg_createsubscriber.c:1302 #, c-format msgid "could not drop failover replication slot" msgstr "フェイルオーバーレプリケーションスロットを削除できませんでした" -#: pg_createsubscriber.c:1201 +#: pg_createsubscriber.c:1324 #, c-format -msgid "creating the replication slot \"%s\" on database \"%s\"" -msgstr "データベース\"%2$s\"上でレプリケーションスロット\"%1$s:を作成します" +msgid "creating the replication slot \"%s\" in database \"%s\"" +msgstr "データベース\"%2$s\"でレプリケーションスロット\"%1$s:を作成します" -#: pg_createsubscriber.c:1219 +#: pg_createsubscriber.c:1342 #, c-format -msgid "could not create replication slot \"%s\" on database \"%s\": %s" -msgstr "データベース\"%2$s\"上でレプリケーションスロット\"%1$s\"を作成できませんでした: %3$s" +msgid "could not create replication slot \"%s\" in database \"%s\": %s" +msgstr "データベース\"%2$s\"でレプリケーションスロット\"%1$s\"を作成できませんでした: %3$s" -#: pg_createsubscriber.c:1249 +#: pg_createsubscriber.c:1372 #, c-format -msgid "dropping the replication slot \"%s\" on database \"%s\"" -msgstr "データベース\"%2$s\"上でレプリケーションスロット\"%1$s:を削除します" +msgid "dropping the replication slot \"%s\" in database \"%s\"" +msgstr "データベース\"%2$s\"のレプリケーションスロット\"%1$s:を削除します" -#: pg_createsubscriber.c:1265 +#: pg_createsubscriber.c:1388 #, c-format -msgid "could not drop replication slot \"%s\" on database \"%s\": %s" -msgstr "データベース\"%2$s\"上でレプリケーションスロット\"%1$s\"を削除できませんでした: %3$s" +msgid "could not drop replication slot \"%s\" in database \"%s\": %s" +msgstr "データベース\"%2$s\"のレプリケーションスロット\"%1$s\"を削除できませんでした: %3$s" -#: pg_createsubscriber.c:1286 +#: pg_createsubscriber.c:1409 #, c-format msgid "pg_ctl failed with exit code %d" msgstr "pg_ctlが終了コード%dで失敗しました" -#: pg_createsubscriber.c:1291 +#: pg_createsubscriber.c:1414 #, c-format msgid "pg_ctl was terminated by exception 0x%X" msgstr "pg_ctlが例外0x%Xによって終了させられました" -#: pg_createsubscriber.c:1293 +#: pg_createsubscriber.c:1416 #, c-format msgid "See C include file \"ntstatus.h\" for a description of the hexadecimal value." msgstr "16進値の説明についてはC インクルードファイル\"ntstatus.h\"を参照してください。" -#: pg_createsubscriber.c:1295 +#: pg_createsubscriber.c:1418 #, c-format msgid "pg_ctl was terminated by signal %d: %s" msgstr "pg_ctlがシグナル%dによって終了させられました %s" -#: pg_createsubscriber.c:1301 +#: pg_createsubscriber.c:1424 #, c-format msgid "pg_ctl exited with unrecognized status %d" msgstr "pg_ctlが認識できない状態%dで終了しました" -#: pg_createsubscriber.c:1304 +#: pg_createsubscriber.c:1427 #, c-format msgid "The failed command was: %s" msgstr "失敗したコマンドは以下のとおりです: %s" -#: pg_createsubscriber.c:1343 +#: pg_createsubscriber.c:1473 #, c-format msgid "server was started" msgstr "サーバー起動完了" -#: pg_createsubscriber.c:1358 +#: pg_createsubscriber.c:1488 #, c-format msgid "server was stopped" msgstr "サーバーは停止しました" -#: pg_createsubscriber.c:1377 +#: pg_createsubscriber.c:1507 #, c-format msgid "waiting for the target server to reach the consistent state" msgstr "対象サーバーが一貫性のある状態に到達するのを待っています" -#: pg_createsubscriber.c:1400 +#: pg_createsubscriber.c:1530 #, c-format msgid "recovery timed out" msgstr "リカバリーがタイムアウトしました" -#: pg_createsubscriber.c:1413 +#: pg_createsubscriber.c:1543 #, c-format msgid "server did not end recovery" msgstr "サーバーはリカバリを完了しませんでした" -#: pg_createsubscriber.c:1415 +#: pg_createsubscriber.c:1545 #, c-format msgid "target server reached the consistent state" msgstr "対象サーバーが一貫性のある状態に到達しました" -#: pg_createsubscriber.c:1416 +#: pg_createsubscriber.c:1546 #, c-format msgid "If pg_createsubscriber fails after this point, you must recreate the physical replica before continuing." msgstr "もしpg_createsubscriberが今時点より後で失敗した場合は、作業を継続する前に物理レプリカを再作成する必要があります。" -#: pg_createsubscriber.c:1443 +#: pg_createsubscriber.c:1573 #, c-format msgid "could not obtain publication information: %s" msgstr "パブリケーション情報を取得できませんでした: %s" -#: pg_createsubscriber.c:1457 +#: pg_createsubscriber.c:1587 #, c-format msgid "publication \"%s\" already exists" msgstr "パブリケーション\"%s\"はすでに存在します" -#: pg_createsubscriber.c:1458 +#: pg_createsubscriber.c:1588 #, c-format msgid "Consider renaming this publication before continuing." msgstr "作業を継続する前にこのパブリケーションの名前を変更することを検討してください。" -#: pg_createsubscriber.c:1465 +#: pg_createsubscriber.c:1595 #, c-format -msgid "creating publication \"%s\" on database \"%s\"" -msgstr "データベース\"%2$s\"上でパブリケーション\"%1$s\"を作成します" +msgid "creating publication \"%s\" in database \"%s\"" +msgstr "データベース\"%2$s\"でパブリケーション\"%1$s\"を作成します" -#: pg_createsubscriber.c:1478 +#: pg_createsubscriber.c:1608 #, c-format -msgid "could not create publication \"%s\" on database \"%s\": %s" -msgstr "データベース\"%2$s\"上でパブリケーション\"%1$s\"を作成できませんでした: %3$s" +msgid "could not create publication \"%s\" in database \"%s\": %s" +msgstr "データベース\"%2$s\"でパブリケーション\"%1$s\"を作成できませんでした: %3$s" -#: pg_createsubscriber.c:1507 +#: pg_createsubscriber.c:1637 #, c-format -msgid "dropping publication \"%s\" on database \"%s\"" -msgstr "データベース\"%2$s\"上でパブリケーション\"%1$s\"を削除します" +msgid "dropping publication \"%s\" in database \"%s\"" +msgstr "データベース\"%2$s\"のパブリケーション\"%1$s\"を削除します" -#: pg_createsubscriber.c:1521 +#: pg_createsubscriber.c:1651 #, c-format -msgid "could not drop publication \"%s\" on database \"%s\": %s" -msgstr "データベース\"%2$s\"上でパブリケーション\"%1$s\"が削除できませんでした: %3$s" +msgid "could not drop publication \"%s\" in database \"%s\": %s" +msgstr "データベース\"%2$s\"のパブリケーション\"%1$s\"が削除できませんでした: %3$s" -#: pg_createsubscriber.c:1567 +#: pg_createsubscriber.c:1697 #, c-format -msgid "creating subscription \"%s\" on database \"%s\"" -msgstr "データベース\"%2$s\"上でサブスクリプション\"%1$s\"を作成します" +msgid "creating subscription \"%s\" in database \"%s\"" +msgstr "データベース\"%2$s\"でサブスクリプション\"%1$s\"を作成します" -#: pg_createsubscriber.c:1588 +#: pg_createsubscriber.c:1718 #, c-format -msgid "could not create subscription \"%s\" on database \"%s\": %s" -msgstr "データベース\"%2$s\"上でサブスクリプション\"%1$s\"を作成できませんでした: %3$s" +msgid "could not create subscription \"%s\" in database \"%s\": %s" +msgstr "データベース\"%2$s\"でサブスクリプション\"%1$s\"を作成できませんでした: %3$s" -#: pg_createsubscriber.c:1633 +#: pg_createsubscriber.c:1763 #, c-format msgid "could not obtain subscription OID: %s" msgstr "サブスクリプションOIDが取得できませんでした: %s" -#: pg_createsubscriber.c:1640 +#: pg_createsubscriber.c:1770 #, c-format msgid "could not obtain subscription OID: got %d rows, expected %d row" msgstr "サブスクリプションOIDが取得できませんでした: 受信したのは%d行、想定は%d行" -#: pg_createsubscriber.c:1664 +#: pg_createsubscriber.c:1794 #, c-format -msgid "setting the replication progress (node name \"%s\" ; LSN %s) on database \"%s\"" -msgstr "データベース\"%3$s\"上でレプリケーションの進捗を設定しています(ノード名\"%1$s\", LSN %2$s)" +msgid "setting the replication progress (node name \"%s\", LSN %s) in database \"%s\"" +msgstr "データベース\"%3$s\"でのレプリケーションの進捗を設定しています(ノード名\"%1$s\", LSN %2$s)" -#: pg_createsubscriber.c:1679 +#: pg_createsubscriber.c:1809 #, c-format -msgid "could not set replication progress for the subscription \"%s\": %s" +msgid "could not set replication progress for subscription \"%s\": %s" msgstr "サブスクリプション\"%s\"にレプリケーション進捗を設定できませんでした: %s" -#: pg_createsubscriber.c:1710 +#: pg_createsubscriber.c:1840 #, c-format -msgid "enabling subscription \"%s\" on database \"%s\"" -msgstr "データベース\"%2$s\"上でサブスクリプション\"%1$s\"を有効にします" +msgid "enabling subscription \"%s\" in database \"%s\"" +msgstr "データベース\"%2$s\"のサブスクリプション\"%1$s\"を有効にします" -#: pg_createsubscriber.c:1722 +#: pg_createsubscriber.c:1852 #, c-format msgid "could not enable subscription \"%s\": %s" msgstr "サブスクリプション\"%s\"を有効化できませんでした: %s" -#: pg_createsubscriber.c:1814 +#: pg_createsubscriber.c:1944 #, c-format msgid "cannot be executed by \"root\"" msgstr "\"root\"では実行できません" -#: pg_createsubscriber.c:1815 +#: pg_createsubscriber.c:1945 #, c-format msgid "You must run %s as the PostgreSQL superuser." msgstr "PostgreSQLのスーパーユーザーで%sを実行しなければなりません" -#: pg_createsubscriber.c:1836 +#: pg_createsubscriber.c:1966 #, c-format -msgid "duplicate database \"%s\"" -msgstr "データベース\"%s\"が重複しています" +msgid "database \"%s\" specified more than once" +msgstr "データベース\"%s\"が複数回指定されました" -#: pg_createsubscriber.c:1877 +#: pg_createsubscriber.c:2007 #, c-format -msgid "duplicate publication \"%s\"" -msgstr "パブリケーション\"%s\"が重複しています" +msgid "publication \"%s\" specified more than once" +msgstr "パブリケーション\"%s\"が複数回指定されました" -#: pg_createsubscriber.c:1889 +#: pg_createsubscriber.c:2019 #, c-format -msgid "duplicate replication slot \"%s\"" -msgstr "レプリケーションスロット\"%s\"が重複しています" +msgid "replication slot \"%s\" specified more than once" +msgstr "レプリケーションスロット\"%s\"が複数回指定されました" -#: pg_createsubscriber.c:1901 +#: pg_createsubscriber.c:2031 #, c-format -msgid "duplicate subscription \"%s\"" -msgstr "サブスクリプション\"%s\"が重複しています" +msgid "subscription \"%s\" specified more than once" +msgstr "サブスクリプション\"%s\"が複数回指定されました" -#: pg_createsubscriber.c:1924 +#: pg_createsubscriber.c:2054 #, c-format msgid "no subscriber data directory specified" msgstr "サブスクライバのデータディレクトリが指定されていません" -#: pg_createsubscriber.c:1935 +#: pg_createsubscriber.c:2065 #, c-format msgid "could not determine current directory" msgstr "カレントディレクトリを特定できませんでした" -#: pg_createsubscriber.c:1952 +#: pg_createsubscriber.c:2082 #, c-format msgid "no publisher connection string specified" msgstr "パブリッシャの接続文字列が指定されていません" -#: pg_createsubscriber.c:1956 +#: pg_createsubscriber.c:2086 #, c-format -msgid "validating connection string on publisher" -msgstr "パブリッシャ上の接続文字列を検証しています" +msgid "validating publisher connection string" +msgstr "パブリッシャの接続文字列の検証中" -#: pg_createsubscriber.c:1962 +#: pg_createsubscriber.c:2092 #, c-format -msgid "validating connection string on subscriber" -msgstr "サブスクライバ上の接続文字列を検証しています" +msgid "validating subscriber connection string" +msgstr "サブスクライバの接続文字列の検証中" -#: pg_createsubscriber.c:1967 +#: pg_createsubscriber.c:2097 #, c-format msgid "no database was specified" msgstr "データベースが指定されていません" -#: pg_createsubscriber.c:1979 +#: pg_createsubscriber.c:2109 #, c-format -msgid "database \"%s\" was extracted from the publisher connection string" -msgstr "データベース\"%s\"がパブリッシャの接続文字列から抽出されました" +msgid "database name \"%s\" was extracted from the publisher connection string" +msgstr "データベース名\"%s\"がパブリッシャの接続文字列から抽出されました" -#: pg_createsubscriber.c:1984 +#: pg_createsubscriber.c:2114 #, c-format msgid "no database name specified" msgstr "データベース名が指定されていません" -#: pg_createsubscriber.c:1994 +#: pg_createsubscriber.c:2124 #, c-format -msgid "wrong number of publication names" -msgstr "パブリケーション名の数が間違っています" +msgid "wrong number of publication names specified" +msgstr "指定されたパブリケーション名の数が間違っています" -#: pg_createsubscriber.c:1995 +#: pg_createsubscriber.c:2125 #, c-format -msgid "Number of publication names (%d) must match number of database names (%d)." +msgid "The number of specified publication names (%d) must match the number of specified database names (%d)." msgstr "パブリケーション名の数(%d)はデータベース名の数(%d)と一致している必要があります。" -#: pg_createsubscriber.c:2001 +#: pg_createsubscriber.c:2131 #, c-format -msgid "wrong number of subscription names" -msgstr "サブスクリプション名の数が間違っています" +msgid "wrong number of subscription names specified" +msgstr "指定されたサブスクリプション名の数が間違っています" -#: pg_createsubscriber.c:2002 +#: pg_createsubscriber.c:2132 #, c-format -msgid "Number of subscription names (%d) must match number of database names (%d)." +msgid "The number of specified subscription names (%d) must match the number of specified database names (%d)." msgstr "サブスクリプション名の数(%d)はデータベース名の数(%d)と一致している必要があります。" -#: pg_createsubscriber.c:2008 +#: pg_createsubscriber.c:2138 #, c-format -msgid "wrong number of replication slot names" -msgstr "レプリケーションスロット名の数が間違っています" +msgid "wrong number of replication slot names specified" +msgstr "指定されたレプリケーションスロット名の数が間違っています" -#: pg_createsubscriber.c:2009 +#: pg_createsubscriber.c:2139 #, c-format -msgid "Number of replication slot names (%d) must match number of database names (%d)." +msgid "The number of specified replication slot names (%d) must match the number of specified database names (%d)." msgstr "レプリケーションスロット名の数(%d)はデータベース名の数(%d)と一致している必要があります。" -#: pg_createsubscriber.c:2038 +#: pg_createsubscriber.c:2168 #, c-format msgid "subscriber data directory is not a copy of the source database cluster" msgstr "サブスクライバのデータディレクトリは元データベースクラスタのコピーではありません" -#: pg_createsubscriber.c:2051 +#: pg_createsubscriber.c:2181 #, c-format -msgid "standby is up and running" -msgstr "スタンバイは起動して実行中です" +msgid "standby server is running" +msgstr "スタンバイサーバーが稼働中です" -#: pg_createsubscriber.c:2052 +#: pg_createsubscriber.c:2182 #, c-format -msgid "Stop the standby and try again." -msgstr "このスタンバイを停止して再試行してください。" +msgid "Stop the standby server and try again." +msgstr "このスタンバイサーバーを停止してから再試行してください。" -#: pg_createsubscriber.c:2061 +#: pg_createsubscriber.c:2191 #, c-format -msgid "starting the standby with command-line options" -msgstr "コマンドラインオプションを指定してスタンバイを起動しています" +msgid "starting the standby server with command-line options" +msgstr "コマンドラインオプションを指定してスタンバイサーバーを起動しています" -#: pg_createsubscriber.c:2077 pg_createsubscriber.c:2116 +#: pg_createsubscriber.c:2207 pg_createsubscriber.c:2242 #, c-format msgid "stopping the subscriber" msgstr "サブスクライバを起動しています" -#: pg_createsubscriber.c:2095 +#: pg_createsubscriber.c:2221 #, c-format msgid "starting the subscriber" msgstr "サブスクライバを起動しています" -#: pg_createsubscriber.c:2124 +#: pg_createsubscriber.c:2250 #, c-format msgid "Done!" msgstr "完了!" @@ -2479,11 +2499,6 @@ msgstr "パスワード: " msgid "could not connect to server" msgstr "サーバーに接続できませんでした" -#: streamutil.c:230 -#, c-format -msgid "could not clear \"search_path\": %s" -msgstr "\"search_path\"を消去できませんでした: %s" - #: streamutil.c:246 #, c-format msgid "could not determine server setting for \"integer_datetimes\"" diff --git a/src/bin/pg_basebackup/po/ka.po b/src/bin/pg_basebackup/po/ka.po index 559531710ee..970f3bbd016 100644 --- a/src/bin/pg_basebackup/po/ka.po +++ b/src/bin/pg_basebackup/po/ka.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_basebackup (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-06-18 04:20+0000\n" -"PO-Revision-Date: 2024-06-18 06:28+0200\n" +"POT-Creation-Date: 2024-08-27 16:49+0000\n" +"PO-Revision-Date: 2024-08-28 05:55+0200\n" "Last-Translator: Temuri Doghonadze \n" "Language-Team: Georgian \n" "Language: ka\n" @@ -78,7 +78,7 @@ msgstr "შეკუმშვის ალგორითმს \"%s\" შეკ #: ../../common/compression.c:386 #, c-format msgid "compression algorithm \"%s\" expects a compression level between %d and %d (default at %d)" -msgstr "შეკუმშვის ალგორითმის \"%s\" შეკუმშვის დონე %d-სა და %d-ს შორის უნდა იყოს (ნაგულისხმები %d)" +msgstr "შეკუმშვის ალგორითმის \"%s\" შეკუმშვის დონე %d-სა და %d-ს შორის უნდა იყოს (ნაგულისხმევი %d)" #: ../../common/compression.c:397 #, c-format @@ -496,13 +496,13 @@ msgstr "" "%s გაშვებული PostgreSQL სერვერის მარქაფს იღებს.\n" "\n" -#: pg_basebackup.c:394 pg_createsubscriber.c:216 pg_receivewal.c:79 +#: pg_basebackup.c:394 pg_createsubscriber.c:221 pg_receivewal.c:79 #: pg_recvlogical.c:86 #, c-format msgid "Usage:\n" msgstr "გამოყენება:\n" -#: pg_basebackup.c:395 pg_createsubscriber.c:217 pg_receivewal.c:80 +#: pg_basebackup.c:395 pg_createsubscriber.c:222 pg_receivewal.c:80 #: pg_recvlogical.c:87 #, c-format msgid " %s [OPTION]...\n" @@ -525,7 +525,7 @@ msgstr " -D, --pgdata=საქაღლდე იღებს ბაზის #: pg_basebackup.c:398 #, c-format msgid " -F, --format=p|t output format (plain (default), tar)\n" -msgstr " -F, --format=p|t გამოტანის ფორმატი (plain (ნაგულისხმები), tar)\n" +msgstr " -F, --format=p|t გამოტანის ფორმატი (plain (ნაგულისხმევი), tar)\n" #: pg_basebackup.c:399 #, c-format @@ -767,7 +767,7 @@ msgstr " -w, --no-password არასოდეს მკითხო msgid " -W, --password force password prompt (should happen automatically)\n" msgstr " -W, --password პაროლის ყოველთვის კითხვა (ავტომატურად უნდა ხდებოდეს)\n" -#: pg_basebackup.c:448 pg_createsubscriber.c:235 pg_receivewal.c:106 +#: pg_basebackup.c:448 pg_createsubscriber.c:240 pg_receivewal.c:106 #: pg_recvlogical.c:118 #, c-format msgid "" @@ -777,7 +777,7 @@ msgstr "" "\n" "შეცდომების შესახებ მიწერეთ: %s\n" -#: pg_basebackup.c:449 pg_createsubscriber.c:236 pg_receivewal.c:107 +#: pg_basebackup.c:449 pg_createsubscriber.c:241 pg_receivewal.c:107 #: pg_recvlogical.c:119 #, c-format msgid "%s home page: <%s>\n" @@ -829,7 +829,7 @@ msgstr "ფონური ნაკადის შექმნის შეც msgid "directory \"%s\" exists but is not empty" msgstr "საქაღალდე \"%s\" არსებობს, მაგრამ ცარიელი არაა" -#: pg_basebackup.c:782 pg_createsubscriber.c:378 +#: pg_basebackup.c:782 pg_createsubscriber.c:390 #, c-format msgid "could not access directory \"%s\": %m" msgstr "საქაღალდის (%s) წვდომის შეცდომა: %m" @@ -1174,9 +1174,9 @@ msgstr "wal-method-ის არასწორი მნიშვნელო #: 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:1907 pg_createsubscriber.c:1917 -#: pg_createsubscriber.c:1925 pg_createsubscriber.c:1953 -#: pg_createsubscriber.c:1985 pg_receivewal.c:748 pg_receivewal.c:760 +#: 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_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 @@ msgstr "wal-method-ის არასწორი მნიშვნელო msgid "Try \"%s --help\" for more information." msgstr "მეტი ინფორმაციისთვის სცადეთ '%s --help'." -#: pg_basebackup.c:2584 pg_createsubscriber.c:1915 pg_receivewal.c:758 +#: pg_basebackup.c:2584 pg_createsubscriber.c:2045 pg_receivewal.c:758 #: pg_recvlogical.c:863 #, c-format msgid "too many command-line arguments (first is \"%s\")" @@ -1279,37 +1279,37 @@ msgstr "WAL საქაღალდის მდებარეობა აბ msgid "could not create symbolic link \"%s\": %m" msgstr "სიმბმულის შექმნის შეცდომა %s: %m" -#: pg_createsubscriber.c:164 +#: pg_createsubscriber.c:169 #, c-format msgid "failed after the end of recovery" msgstr "ჩავარდა აღდგენის დასრულების შემდეგ" -#: pg_createsubscriber.c:165 +#: pg_createsubscriber.c:170 #, c-format msgid "The target server cannot be used as a physical replica anymore. You must recreate the physical replica before continuing." msgstr "სამიზნე სერვერს ფიზიკურ რეპლიკად ვეღარ გამოიყენებთ. გაგრძელებამდე ფიზიკური რეპლიკა თავიდან უნდა შექმნათ." -#: pg_createsubscriber.c:193 +#: pg_createsubscriber.c:198 #, c-format -msgid "publication \"%s\" in database \"%s\" on primary might be left behind" -msgstr "გამოცემა \"%s\" მონაცემთა ბაზაში \"%s\" ძირითადზე შეიძლება გამოტოვებულია" +msgid "publication \"%s\" created in database \"%s\" on primary was left behind" +msgstr "გამოცემა \"%s\", შექმნილი მონაცემთა ბაზაში \"%s\" ძირითადზე, გამოტოვებულია" -#: pg_createsubscriber.c:195 +#: pg_createsubscriber.c:200 #, c-format -msgid "Consider dropping this publication before trying again." -msgstr "განიხილეთ ამ პუბლიკაციის გაუქმება ხელახლა ცდამდე." +msgid "Drop this publication before trying again." +msgstr "მოაცილეთ ეს გამოცემა, სანამ თავიდან სცდით." -#: pg_createsubscriber.c:199 +#: pg_createsubscriber.c:204 #, c-format -msgid "replication slot \"%s\" in database \"%s\" on primary might be left behind" -msgstr "რეპლიკაციის სლოტი \"%s\" მონაცემთა ბაზაში \"%s\" ძირითადზე შეიძლება გამოტოვებულია" +msgid "replication slot \"%s\" created in database \"%s\" on primary was left behind" +msgstr "რეპლიკაციის სლოტი \"%s\" შეიქმნა მონაცემთა ბაზაში \"%s\" ძირითადზე, შეიძლება, გამოტოვებულია" -#: pg_createsubscriber.c:201 pg_createsubscriber.c:1137 +#: pg_createsubscriber.c:206 pg_createsubscriber.c:1260 #, c-format msgid "Drop this replication slot soon to avoid retention of WAL files." msgstr "ამ რეპლიკაციის სლოტის მალე წაშლა WAL ფაილების მორჩენის თავიდან ასაცილებლად." -#: pg_createsubscriber.c:214 +#: pg_createsubscriber.c:219 #, c-format msgid "" "%s creates a new logical replica from a standby server.\n" @@ -1318,7 +1318,7 @@ msgstr "" "%s შექმნის ახალ ლოგიკური რეპლიკას უქმე სერვერიდან.\n" "\n" -#: pg_createsubscriber.c:218 pg_receivewal.c:81 pg_recvlogical.c:92 +#: pg_createsubscriber.c:223 pg_receivewal.c:81 pg_recvlogical.c:92 #, c-format msgid "" "\n" @@ -1327,599 +1327,608 @@ msgstr "" "\n" "პარამეტრები:\n" -#: pg_createsubscriber.c:219 +#: pg_createsubscriber.c:224 #, c-format -msgid " -d, --database=DBNAME database to create a subscription\n" -msgstr "" -" -d, --database=ბაზისსახელი გამოწერის შესაქმნელი ბაზის სახელი\n" -"\n" +msgid " -d, --database=DBNAME database in which to create a subscription\n" +msgstr " -d, --database=ბაზისსახელი მონაცემთა ბაზა, რომელშიც გნებავთ, გამოწერა შექმნათ\n" -#: pg_createsubscriber.c:220 +#: pg_createsubscriber.c:225 #, c-format -msgid " -D, --pgdata=DATADIR location for the subscriber data directory\n" -msgstr "" -" -D, --pgdata=DATADIR გამომწერის მონაცემების საქაღალდის მდებარეობა\n" -"\n" +msgid " -D, --pgdata=DATADIR location for the subscriber data directory\n" +msgstr " -D, --pgdata=DATADIR გამომწერის მონაცემების საქაღალდის მდებარეობა\n" -#: pg_createsubscriber.c:221 +#: pg_createsubscriber.c:226 #, c-format -msgid " -n, --dry-run dry run, just show what would be done\n" +msgid " -n, --dry-run dry run, just show what would be done\n" msgstr " -n, --dry-run განახლების გარეშე. უბრალოდ ნაჩვენები იქნება, რა მოხდებოდა\n" -#: pg_createsubscriber.c:222 +#: pg_createsubscriber.c:227 #, c-format -msgid " -p, --subscriber-port=PORT subscriber port number (default %s)\n" -msgstr " -p, --subscriber-port=პორტი გამომწერის პორტის ნომერი (ნაგულისხმევი %s)\n" +msgid " -p, --subscriber-port=PORT subscriber port number (default %s)\n" +msgstr " -p, --subscriber-port=პორტი გამომწერის პორტის ნომერი (ნაგულისხმევი %s)\n" -#: pg_createsubscriber.c:223 +#: pg_createsubscriber.c:228 #, c-format -msgid " -P, --publisher-server=CONNSTR publisher connection string\n" -msgstr " -P, --publisher-server=CONNSTR გამომცემელთან მიერთების სტრიქონი\n" +msgid " -P, --publisher-server=CONNSTR publisher connection string\n" +msgstr " -P, --publisher-server=CONNSTR გამომცემელთან მიერთების სტრიქონი\n" -#: pg_createsubscriber.c:224 +#: pg_createsubscriber.c:229 #, c-format -msgid " -s, --socket-directory=DIR socket directory to use (default current directory)\n" -msgstr " -s, --socketdir=DIR სოკეტის საქაღალდე (ნაგულისხმევია მიმდინარე.)\n" +msgid " -s, --socketdir=DIR socket directory to use (default current dir.)\n" +msgstr " -s, --socketdir=DIR სოკეტის საქაღალდე (ნაგულისხმევია მიმდინარე.)\n" -#: pg_createsubscriber.c:225 +#: pg_createsubscriber.c:230 #, c-format -msgid " -t, --recovery-timeout=SECS seconds to wait for recovery to end\n" -msgstr "" -" -t, --recovery-timeout=წამები რამდენი წამი დაველოდო აღდგენის დასრულებას\n" -"\n" +msgid " -t, --recovery-timeout=SECS seconds to wait for recovery to end\n" +msgstr " -t, --recovery-timeout=წამები რამდენი წამი დაველოდო აღდგენის დასრულებას\n" -#: pg_createsubscriber.c:226 +#: pg_createsubscriber.c:231 #, c-format -msgid " -U, --subscriber-username=NAME subscriber username\n" -msgstr "" -" -U, --subscriber-username=სახელი გამომწერის მომხმარებლის სახელი\n" -"\n" +msgid " -U, --subscriber-username=NAME user name for subscriber connection\n" +msgstr " -U, --subscriber-username=სახელი მომხმარებლის სახელი გამომწერის კავშირისთვის\n" -#: pg_createsubscriber.c:227 +#: pg_createsubscriber.c:232 #, c-format -msgid " -v, --verbose output verbose messages\n" +msgid " -v, --verbose output verbose messages\n" msgstr " -v, --verbose დამატებითი ინფორმაციის გამოტანა\n" -#: pg_createsubscriber.c:228 +#: pg_createsubscriber.c:233 #, c-format msgid "" -" --config-file=FILENAME use specified main server configuration\n" -" file when running target cluster\n" +" --config-file=FILENAME use specified main server configuration\n" +" file when running target cluster\n" msgstr "" " --config-file=FILENAME სამიზნე კლასტერის გაშვებისას მთავარი \n" -" სერვერის მითითებული კონფიგურაციის ფაილში გამოყენება\n" +" სერვერის მითითებული კონფიგურაციის ფაილის გამოყენება\n" -#: pg_createsubscriber.c:230 +#: pg_createsubscriber.c:235 #, c-format -msgid " --publication=NAME publication name\n" +msgid " --publication=NAME publication name\n" msgstr " --publication=NAME პუბლიკაციის სახელი\n" -#: pg_createsubscriber.c:231 +#: pg_createsubscriber.c:236 #, c-format -msgid " --replication-slot=NAME replication slot name\n" -msgstr " --replication-slot=სახელი რეპლიკაციის სლოტის სახელი\n" +msgid " --replication-slot=NAME replication slot name\n" +msgstr " --replication-slot=სახელი რეპლიკაციის სლოტის სახელი\n" -#: pg_createsubscriber.c:232 +#: pg_createsubscriber.c:237 #, c-format -msgid " --subscription=NAME subscription name\n" -msgstr " --subscription=NAME გამოწერის სახელი\n" +msgid " --subscription=NAME subscription name\n" +msgstr " --subscription=NAME გამოწერის სახელი\n" -#: pg_createsubscriber.c:233 +#: pg_createsubscriber.c:238 #, c-format -msgid " -V, --version output version information, then exit\n" +msgid " -V, --version output version information, then exit\n" msgstr " -V, --version ვერსიის ინფორმაციის გამოტანა და გასვლა\n" -#: pg_createsubscriber.c:234 +#: pg_createsubscriber.c:239 #, c-format -msgid " -?, --help show this help, then exit\n" +msgid " -?, --help show this help, then exit\n" msgstr " -?, --help ამ დახმარების ჩვენება და გასვლა\n" -#: pg_createsubscriber.c:265 +#: pg_createsubscriber.c:282 #, c-format msgid "could not parse connection string: %s" msgstr "შეერთების სტრიქონის დამუშავების შეცდომა: %s" -#: pg_createsubscriber.c:347 +#: pg_createsubscriber.c:359 #, c-format msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"" msgstr "პროგრამა \"%s\" სჭირდება \"%s\"-ს, მაგრამ იგივე საქაღალდეში, სადაც \"%s\", ნაპოვნი არაა" -#: pg_createsubscriber.c:350 +#: pg_createsubscriber.c:362 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" msgstr "პროგრამა „%s“ ნაპოვნია „%s“-ის მიერ, მაგრამ ვერსია, იგივეა არაა, რაც %s" -#: pg_createsubscriber.c:370 +#: pg_createsubscriber.c:382 #, c-format msgid "checking if directory \"%s\" is a cluster data directory" msgstr "შემოწმება, არის თუ არა საქაღალდე \"%s\" კლასტერის მონაცემების საქაღალდე" -#: pg_createsubscriber.c:376 +#: pg_createsubscriber.c:388 #, c-format msgid "data directory \"%s\" does not exist" msgstr "მონაცემების საქაღალდე არ არსებობს: \"%s\"" -#: pg_createsubscriber.c:384 +#: pg_createsubscriber.c:396 #, c-format msgid "directory \"%s\" is not a database cluster directory" msgstr "საქაღალდე \"%s\" ბაზის კლასტერის საქაღალდეს არ წარმოადგენს" -#: pg_createsubscriber.c:501 +#: pg_createsubscriber.c:513 #, c-format msgid "connection to database failed: %s" msgstr "მონაცემთა ბაზასთან მიერთება ჩავარდა: %s" -#: pg_createsubscriber.c:514 +#: pg_createsubscriber.c:526 #, c-format msgid "could not clear search_path: %s" msgstr "search_path-ის გასუფთავების პრობლემა: %s" -#: pg_createsubscriber.c:554 +#: pg_createsubscriber.c:566 #, c-format msgid "getting system identifier from publisher" msgstr "სისტემური იდენტიფიკატორის მიღება გამომცემლისგან" -#: pg_createsubscriber.c:561 +#: pg_createsubscriber.c:573 #, c-format msgid "could not get system identifier: %s" msgstr "ვერ მივიღე სისტემის იდენტიფიკატორი: %s" -#: pg_createsubscriber.c:567 +#: pg_createsubscriber.c:579 #, c-format msgid "could not get system identifier: got %d rows, expected %d row" msgstr "სისტემური იდენტიფიკატორის მიღება შეუძლებელია: მივიღე %d მწკრივი. მოველოდი %d მწკრივს" -#: pg_createsubscriber.c:574 +#: pg_createsubscriber.c:586 #, c-format msgid "system identifier is %llu on publisher" msgstr "სისტემური იდენტიფიკატორი გამომცემელზე %llu-ია" -#: pg_createsubscriber.c:595 +#: pg_createsubscriber.c:607 #, c-format msgid "getting system identifier from subscriber" msgstr "სისტემური იდენტიფიკატორის მიღება გამომწერისგან" -#: pg_createsubscriber.c:599 pg_createsubscriber.c:629 +#: pg_createsubscriber.c:611 pg_createsubscriber.c:641 #, c-format msgid "control file appears to be corrupt" msgstr "როგორც ჩანს, საკონტროლო ფაილი დაზიანებულია" -#: pg_createsubscriber.c:603 pg_createsubscriber.c:644 +#: pg_createsubscriber.c:615 pg_createsubscriber.c:656 #, c-format msgid "system identifier is %llu on subscriber" msgstr "სისტემური იდენტიფიკატორი %llu გამომწერზეა" -#: pg_createsubscriber.c:625 +#: pg_createsubscriber.c:637 #, c-format msgid "modifying system identifier of subscriber" msgstr "გამომწერის სისტემური იდენტიფიკატორის შეცვლა" -#: pg_createsubscriber.c:647 +#: pg_createsubscriber.c:659 #, c-format msgid "running pg_resetwal on the subscriber" msgstr "pg_resetwal-ის გაშვება გამომწერზე" -#: pg_createsubscriber.c:659 +#: pg_createsubscriber.c:671 #, c-format msgid "subscriber successfully changed the system identifier" msgstr "გამომწერმა სისტემური იდენტიფიკატორი წარმატებით შეცვალა" -#: pg_createsubscriber.c:661 +#: pg_createsubscriber.c:673 #, c-format -msgid "subscriber failed to change system identifier: exit code: %d" -msgstr "გამომწერის სისტემური იდენტიფიკატორის შეცვლა ჩავარდა: გამოსვლის კოდი: %d" +msgid "could not change system identifier of subscriber: %s" +msgstr "ვერ შევცვალე სისტემურ იდენტიფიკატორი გამომწერისთვის: %s" -#: pg_createsubscriber.c:685 +#: pg_createsubscriber.c:697 #, c-format msgid "could not obtain database OID: %s" msgstr "ვერ მივიღე მონაცემთა ბაზის OID: %s" -#: pg_createsubscriber.c:692 +#: pg_createsubscriber.c:704 #, c-format msgid "could not obtain database OID: got %d rows, expected %d row" msgstr "ვერ მივიღე მონაცემთა ბაზის OID: მივიღე %d მწკრივი, მოველოდი %d მწკრივს" -#: pg_createsubscriber.c:764 +#: pg_createsubscriber.c:776 #, c-format msgid "create replication slot \"%s\" on publisher" msgstr "რეპლიკაციის სლოტის \"%s\" შექმნა გამომცემელზე" -#: pg_createsubscriber.c:788 +#: pg_createsubscriber.c:796 +#, c-format +msgid "could not write an additional WAL record: %s" +msgstr "ვერ ჩავწერე დამატებითი WAL ჩანაწერი: %s" + +#: pg_createsubscriber.c:822 #, c-format msgid "could not obtain recovery progress: %s" msgstr "აღდგენის მიმდინარეობის მდგომარეობის მიღება შეუძლებელია: %s" -#: pg_createsubscriber.c:819 +#: pg_createsubscriber.c:854 #, c-format msgid "checking settings on publisher" msgstr "პარამეტრების შექმნა გამომცემელზე" -#: pg_createsubscriber.c:829 +#: pg_createsubscriber.c:864 #, c-format msgid "primary server cannot be in recovery" msgstr "ძირითადი სერვერი აღდგენის რეჟიმში ვერ იქნება" -#: pg_createsubscriber.c:864 +#: pg_createsubscriber.c:888 #, c-format msgid "could not obtain publisher settings: %s" msgstr "გამომცემლის პარამეტრების მიღება შეუძლებელია: %s" -#: pg_createsubscriber.c:887 +#: pg_createsubscriber.c:914 #, c-format msgid "publisher requires wal_level >= \"logical\"" msgstr "გამომცემელს wal_level >= \"logical\" ესაჭიროება" -#: pg_createsubscriber.c:893 +#: pg_createsubscriber.c:920 #, c-format msgid "publisher requires %d replication slots, but only %d remain" msgstr "გამომცემელს %d რეპლიკაციის სლოტი სჭირდება, მაგრამ დარჩენილია, მხოლოდ, %d" -#: pg_createsubscriber.c:895 pg_createsubscriber.c:994 +#: pg_createsubscriber.c:922 pg_createsubscriber.c:931 +#: pg_createsubscriber.c:1028 pg_createsubscriber.c:1037 +#: pg_createsubscriber.c:1046 +#, c-format +msgid "Increase the configuration parameter \"%s\" to at least %d." +msgstr "გაზარდეთ კონფიგურაციის პარამეტრი \"%s\" %d-მდე მაინც." + +#: pg_createsubscriber.c:929 #, c-format -msgid "Consider increasing max_replication_slots to at least %d." -msgstr "განიხილეთ max_replication_slots-ის გაზრდა მინიმუმ %d-მდე." +msgid "publisher requires %d WAL sender processes, but only %d remain" +msgstr "გამომცემელს %d WAL-ის გამგზავნი პროცესი სჭირდება, მაგრამ დარჩენილია, მხოლოდ, %d" -#: pg_createsubscriber.c:902 +#: pg_createsubscriber.c:938 #, c-format -msgid "publisher requires %d wal sender processes, but only %d remain" -msgstr "გამომცემელს %d wal გამგზავნი პროცესი სჭირდება, მაგრამ დარჩენილია, მხოლოდ, %d" +msgid "two_phase option will not be enabled for replication slots" +msgstr "პარამეტრი two_phase რეპლიკაციის სლოტებისთვის არ ჩაირთვება" -#: pg_createsubscriber.c:904 +#: pg_createsubscriber.c:939 #, c-format -msgid "Consider increasing max_wal_senders to at least %d." -msgstr "განიხილეთ max_wal_senders-ის გაზრდა მინიმუმ %d-მდე." +msgid "Subscriptions will be created with the two_phase option disabled. Prepared transactions will be replicated at COMMIT PREPARED." +msgstr "გამოწერები two_phase პარამეტრით გათიშული შეიქმნება. მომზადებული ტრანზაქციების რეპლიკაცია მოხდება COMMIT PREPARED-თან." -#: pg_createsubscriber.c:937 +#: pg_createsubscriber.c:971 #, c-format msgid "checking settings on subscriber" msgstr "პარამეტრების შემოწმება გამომწერზე" -#: pg_createsubscriber.c:944 +#: pg_createsubscriber.c:978 #, c-format msgid "target server must be a standby" msgstr "სამიზნე სერვერი უქმე უნდა იყოს" -#: pg_createsubscriber.c:968 +#: pg_createsubscriber.c:1002 #, c-format msgid "could not obtain subscriber settings: %s" msgstr "გამომწერის პარამეტრების მიღება შეუძლებელია: %s" -#: pg_createsubscriber.c:992 +#: pg_createsubscriber.c:1026 #, c-format msgid "subscriber requires %d replication slots, but only %d remain" msgstr "გამომწერს %d რეპლიკაციის სლოტი სჭირდება, მაგრამ დარჩენილია, მხოლოდ, %d" -#: pg_createsubscriber.c:1001 +#: pg_createsubscriber.c:1035 #, c-format msgid "subscriber requires %d logical replication workers, but only %d remain" msgstr "გამომწერს %d ლოგიკური რეპლიკაციის დამხმარე პროცესი სჭირდება, მაგრამ დარჩენილია, მხოლოდ, %d" -#: pg_createsubscriber.c:1003 -#, c-format -msgid "Consider increasing max_logical_replication_workers to at least %d." -msgstr "განიხილეთ max_logical_replication_workers-ის გაზრდა მინიმუმ %d-მდე." - -#: pg_createsubscriber.c:1010 +#: pg_createsubscriber.c:1044 #, c-format msgid "subscriber requires %d worker processes, but only %d remain" msgstr "გამომწერს %d დამხმარე პროცესი სჭირდება, მაგრამ დარჩენილია, მხოლოდ, %d" -#: pg_createsubscriber.c:1012 +#: pg_createsubscriber.c:1079 +#, c-format +msgid "dropping subscription \"%s\" in database \"%s\"" +msgstr "მოხდება მოცილება გამოწერისა \"%s\" მონაცემთა ბაზაში \"%s\"" + +#: pg_createsubscriber.c:1088 #, c-format -msgid "Consider increasing max_worker_processes to at least %d." -msgstr "განიხილეთ max_worker_processes-ის გაზრდა მინიმუმ %d-მდე." +msgid "could not drop subscription \"%s\": %s" +msgstr "ვერ მოვაცილე გამოწერა \"%s\": %s" -#: pg_createsubscriber.c:1135 +#: pg_createsubscriber.c:1123 +#, c-format +msgid "could not obtain pre-existing subscriptions: %s" +msgstr "ვერ მივიღე უკვე არსებული გამოწერები: %s" + +#: pg_createsubscriber.c:1258 #, c-format msgid "could not drop replication slot \"%s\" on primary" msgstr "ვერ წავშალე რეპლიკაციის სლოტი \"%s\" ძირითადზე" -#: pg_createsubscriber.c:1169 +#: pg_createsubscriber.c:1292 #, c-format msgid "could not obtain failover replication slot information: %s" msgstr "გადასართველი რეპლიკაციის სლოტის ინფორმაციის მიღება შეუძლებელია: %s" -#: pg_createsubscriber.c:1171 pg_createsubscriber.c:1180 +#: pg_createsubscriber.c:1294 pg_createsubscriber.c:1303 #, c-format msgid "Drop the failover replication slots on subscriber soon to avoid retention of WAL files." msgstr "გამომწერზე გადასართველი რეპლიკაციის სლოტების მალე წაშლა WAL ფაილების მორჩენის თავიდან ასაცილებლად." -#: pg_createsubscriber.c:1179 +#: pg_createsubscriber.c:1302 #, c-format msgid "could not drop failover replication slot" msgstr "გადასართველი რეპლიკაციის სლოტი წაშლა შეუძლებელია" -#: pg_createsubscriber.c:1201 +#: pg_createsubscriber.c:1324 #, c-format -msgid "creating the replication slot \"%s\" on database \"%s\"" -msgstr "იქმნება რეპლიკაციის სლოტი \"%s\" მონაცემთა ბაზაზე \"%s\"" +msgid "creating the replication slot \"%s\" in database \"%s\"" +msgstr "იქმნება რეპლიკაციის სლოტი \"%s\" მონაცემთა ბაზაში \"%s\"" -#: pg_createsubscriber.c:1219 +#: pg_createsubscriber.c:1342 #, c-format -msgid "could not create replication slot \"%s\" on database \"%s\": %s" -msgstr "ვერ შევქმენი რეპლიკაციის სლოტი \"%s\" მონაცემთა ბაზაზე \"%s\": %s" +msgid "could not create replication slot \"%s\" in database \"%s\": %s" +msgstr "ვერ შევქმენი რეპლიკაციის სლოტი \"%s\" მონაცემთა ბაზაში \"%s\": %s" -#: pg_createsubscriber.c:1249 +#: pg_createsubscriber.c:1372 #, c-format -msgid "dropping the replication slot \"%s\" on database \"%s\"" -msgstr "იშლება რეპლიკაციის სლოტი \"%s\" მონაცემთა ბაზაზე \"%s\"" +msgid "dropping the replication slot \"%s\" in database \"%s\"" +msgstr "იშლება რეპლიკაციის სლოტი \"%s\" მონაცემთა ბაზაში \"%s\"" -#: pg_createsubscriber.c:1265 +#: pg_createsubscriber.c:1388 #, c-format -msgid "could not drop replication slot \"%s\" on database \"%s\": %s" -msgstr "ვერ წავშალე რეპლიკაციის სლოტი \"%s\" მონაცემთა ბაზაზე \"%s\": %s" +msgid "could not drop replication slot \"%s\" in database \"%s\": %s" +msgstr "ვერ წავშალე რეპლიკაციის სლოტი \"%s\" მონაცემთა ბაზაში \"%s\": %s" -#: pg_createsubscriber.c:1286 +#: pg_createsubscriber.c:1409 #, c-format msgid "pg_ctl failed with exit code %d" msgstr "pg_ctl ჩავარდა გამოსვლის კოდით %d" -#: pg_createsubscriber.c:1291 +#: pg_createsubscriber.c:1414 #, c-format msgid "pg_ctl was terminated by exception 0x%X" msgstr "pg_ctl შეწყდა გამონაკლისით 0x%X" -#: pg_createsubscriber.c:1293 +#: pg_createsubscriber.c:1416 #, c-format msgid "See C include file \"ntstatus.h\" for a description of the hexadecimal value." msgstr "თექვსმეტობითი მნიშვნელობის აღწერისთვის იხილეთ C-ის ჩასასმელი ფაილი \"ntstatus.h\"." -#: pg_createsubscriber.c:1295 +#: pg_createsubscriber.c:1418 #, c-format msgid "pg_ctl was terminated by signal %d: %s" msgstr "pg_ctl შეწყვეტილია სიგნალით %d: %s" -#: pg_createsubscriber.c:1301 +#: pg_createsubscriber.c:1424 #, c-format msgid "pg_ctl exited with unrecognized status %d" msgstr "pg_ctl დასრულდა უცნობი სტატუსით %d" -#: pg_createsubscriber.c:1304 +#: pg_createsubscriber.c:1427 #, c-format msgid "The failed command was: %s" msgstr "ჩავარდნილი ბრძანება იყო: %s" -#: pg_createsubscriber.c:1343 +#: pg_createsubscriber.c:1473 #, c-format msgid "server was started" msgstr "სერვერი გაეშვა" -#: pg_createsubscriber.c:1358 +#: pg_createsubscriber.c:1488 #, c-format msgid "server was stopped" msgstr "სერვერი გამოირთო" -#: pg_createsubscriber.c:1377 +#: pg_createsubscriber.c:1507 #, c-format msgid "waiting for the target server to reach the consistent state" msgstr "სამიზნე სერვერის მდგრად მდგომარეობაში გადასვლის მოლოდინი" -#: pg_createsubscriber.c:1400 +#: pg_createsubscriber.c:1530 #, c-format msgid "recovery timed out" msgstr "აღდგენის მოლოდინის ვადა ამოიწურა" -#: pg_createsubscriber.c:1413 +#: pg_createsubscriber.c:1543 #, c-format msgid "server did not end recovery" msgstr "სერვერმა აღდგენა არ დაამთავრა" -#: pg_createsubscriber.c:1415 +#: pg_createsubscriber.c:1545 #, c-format msgid "target server reached the consistent state" msgstr "სამიზნე სერვერმა მიაღწია მდგრად მდგომარეობას" -#: pg_createsubscriber.c:1416 +#: pg_createsubscriber.c:1546 #, c-format msgid "If pg_createsubscriber fails after this point, you must recreate the physical replica before continuing." msgstr "თუ ამ წერტილის შემდეგ pg_createsubscriber ჩავარდება, გაგრძელებამდე ფიზიკური რეპლიკა თავიდან უნდა შექმნათ." -#: pg_createsubscriber.c:1443 +#: pg_createsubscriber.c:1573 #, c-format msgid "could not obtain publication information: %s" msgstr "გამოცემის ინფორმაციის მიღება შეუძლებელია: %s" -#: pg_createsubscriber.c:1457 +#: pg_createsubscriber.c:1587 #, c-format msgid "publication \"%s\" already exists" msgstr "პუბლიკაცია \"%s\" უკვე არსებობს" -#: pg_createsubscriber.c:1458 +#: pg_createsubscriber.c:1588 #, c-format msgid "Consider renaming this publication before continuing." msgstr "განიხილეთ ამ პუბლიკაციის სახელის გადარქმევა ხელახლა ცდამდე." -#: pg_createsubscriber.c:1465 +#: pg_createsubscriber.c:1595 #, c-format -msgid "creating publication \"%s\" on database \"%s\"" -msgstr "იქმნება გამოცემა \"%s\" მონაცემთა ბაზაზე \"%s\"" +msgid "creating publication \"%s\" in database \"%s\"" +msgstr "იქმნება გამოცემა \"%s\" მონაცემთა ბაზაში \"%s\"" -#: pg_createsubscriber.c:1478 +#: pg_createsubscriber.c:1608 #, c-format -msgid "could not create publication \"%s\" on database \"%s\": %s" -msgstr "ვერ შევქმენი გამოცემა \"%s\" მონაცემთა ბაზაზე \"%s\": %s" +msgid "could not create publication \"%s\" in database \"%s\": %s" +msgstr "ვერ შევქმენი გამოცემა \"%s\" მონაცემთა ბაზაში \"%s\": %s" -#: pg_createsubscriber.c:1507 +#: pg_createsubscriber.c:1637 #, c-format -msgid "dropping publication \"%s\" on database \"%s\"" -msgstr "ვშლი გამოცემას \"%s\" მონაცემთა ბაზაზე \"%s\"" +msgid "dropping publication \"%s\" in database \"%s\"" +msgstr "ვშლი გამოცემას \"%s\" მონაცემთა ბაზაში \"%s\"" -#: pg_createsubscriber.c:1521 +#: pg_createsubscriber.c:1651 #, c-format -msgid "could not drop publication \"%s\" on database \"%s\": %s" -msgstr "ვერ წავშალე გამოცემა \"%s\" მონაცემთა ბაზაზე \"%s\": %s" +msgid "could not drop publication \"%s\" in database \"%s\": %s" +msgstr "ვერ წავშალე გამოცემა \"%s\" მონაცემთა ბაზაში \"%s\": %s" -#: pg_createsubscriber.c:1567 +#: pg_createsubscriber.c:1697 #, c-format -msgid "creating subscription \"%s\" on database \"%s\"" -msgstr "იქმნება გამოწერა \"%s\" მონაცემთა ბაზაზე \"%s\"" +msgid "creating subscription \"%s\" in database \"%s\"" +msgstr "იქმნება გამოწერა \"%s\" მონაცემთა ბაზაში \"%s\"" -#: pg_createsubscriber.c:1588 +#: pg_createsubscriber.c:1718 #, c-format -msgid "could not create subscription \"%s\" on database \"%s\": %s" -msgstr "ვერ შევქმენი გამოწერა \"%s\" მონაცემთა ბაზაზე \"%s\": %s" +msgid "could not create subscription \"%s\" in database \"%s\": %s" +msgstr "ვერ შევქმენი გამოწერა \"%s\" მონაცემთა ბაზაში \"%s\": %s" -#: pg_createsubscriber.c:1633 +#: pg_createsubscriber.c:1763 #, c-format msgid "could not obtain subscription OID: %s" msgstr "ვერ მივიღე გამოწერის OID: %s" -#: pg_createsubscriber.c:1640 +#: pg_createsubscriber.c:1770 #, c-format msgid "could not obtain subscription OID: got %d rows, expected %d row" msgstr "ვერ მივიღე გამოწერის OID: მივიღე %d მწკრივი, მოველოდი %d მწკრივს" -#: pg_createsubscriber.c:1664 +#: pg_createsubscriber.c:1794 #, c-format -msgid "setting the replication progress (node name \"%s\" ; LSN %s) on database \"%s\"" +msgid "setting the replication progress (node name \"%s\", LSN %s) in database \"%s\"" msgstr "რეპლიკაციის მიმდინარეობის (კვანძის სახელი \"%s\", LSN %s) დაყენება მონაცემთა ბაზაზე \"%s\"" -#: pg_createsubscriber.c:1679 +#: pg_createsubscriber.c:1809 #, c-format -msgid "could not set replication progress for the subscription \"%s\": %s" +msgid "could not set replication progress for subscription \"%s\": %s" msgstr "შეუძლებელია რეპლიკაციის მიმდინარეობის დაყენება გამოწერისთვის \"%s\": %s" -#: pg_createsubscriber.c:1710 +#: pg_createsubscriber.c:1840 #, c-format -msgid "enabling subscription \"%s\" on database \"%s\"" -msgstr "ჩაირთვება გამოწერა \"%s\" მონაცემთა ბაზაზე \"%s\"" +msgid "enabling subscription \"%s\" in database \"%s\"" +msgstr "ჩაირთვება გამოწერა \"%s\" მონაცემთა ბაზაში \"%s\"" -#: pg_createsubscriber.c:1722 +#: pg_createsubscriber.c:1852 #, c-format msgid "could not enable subscription \"%s\": %s" msgstr "ვერ ჩავრთე გამოწერა \"%s\": %s" -#: pg_createsubscriber.c:1814 +#: pg_createsubscriber.c:1944 #, c-format msgid "cannot be executed by \"root\"" msgstr "root-ით ვერ გაეშვება" -#: pg_createsubscriber.c:1815 +#: pg_createsubscriber.c:1945 #, c-format msgid "You must run %s as the PostgreSQL superuser." msgstr "%s PostgreSQL-ის ზემომხმარებლით უნდა გაუშვათ." -#: pg_createsubscriber.c:1836 +#: pg_createsubscriber.c:1966 #, c-format -msgid "duplicate database \"%s\"" -msgstr "განმეორებადი ბაზა \"%s\"" +msgid "database \"%s\" specified more than once" +msgstr "მონაცემთა ბაზა \"%s\" ერთზე მეტჯერაა მითითებული" -#: pg_createsubscriber.c:1877 +#: pg_createsubscriber.c:2007 #, c-format -msgid "duplicate publication \"%s\"" -msgstr "განმეორებადი გამოცემა \"%s\"" +msgid "publication \"%s\" specified more than once" +msgstr "პუბლიკაცია \"%s\" მითითებულია ერთზე მეტჯერ" -#: pg_createsubscriber.c:1889 +#: pg_createsubscriber.c:2019 #, c-format -msgid "duplicate replication slot \"%s\"" -msgstr "განმეორებადი რეპლიკაციის სლოტი \"%s\"" +msgid "replication slot \"%s\" specified more than once" +msgstr "რეპლიკაციის სლოტი \"%s\" მითითებულია ერთზე მეტჯერ" -#: pg_createsubscriber.c:1901 +#: pg_createsubscriber.c:2031 #, c-format -msgid "duplicate subscription \"%s\"" -msgstr "განმეორებადი გამოწერა \"%s\"" +msgid "subscription \"%s\" specified more than once" +msgstr "გამოწერა \"%s\" მითითებულია ერთზე მეტჯერ" -#: pg_createsubscriber.c:1924 +#: pg_createsubscriber.c:2054 #, c-format msgid "no subscriber data directory specified" msgstr "გამომწერის მონაცემების საქაღალდე მითითებული არაა" -#: pg_createsubscriber.c:1935 +#: pg_createsubscriber.c:2065 #, c-format msgid "could not determine current directory" msgstr "მიმდინარე საქაღალდის იდენტიფიკაციის პრობლემა" -#: pg_createsubscriber.c:1952 +#: pg_createsubscriber.c:2082 #, c-format msgid "no publisher connection string specified" msgstr "გამომცემლის მიერთების სტრიქონი მითითებული არაა" -#: pg_createsubscriber.c:1956 +#: pg_createsubscriber.c:2086 #, c-format -msgid "validating connection string on publisher" -msgstr "შეერთების სტრიქონის დადასტურება გამომცემელზე" +msgid "validating publisher connection string" +msgstr "გამომცემლის მიერთების სტრიქონის გადამოწმება" -#: pg_createsubscriber.c:1962 +#: pg_createsubscriber.c:2092 #, c-format -msgid "validating connection string on subscriber" -msgstr "შეერთების სტრიქონის დადასტურება გამომწერზე" +msgid "validating subscriber connection string" +msgstr "მიმდინარეობს გამომწერის დაკავშირების სტრიქონის გადამოწმება" -#: pg_createsubscriber.c:1967 +#: pg_createsubscriber.c:2097 #, c-format msgid "no database was specified" msgstr "ბაზა მითითებული არაა" -#: pg_createsubscriber.c:1979 +#: pg_createsubscriber.c:2109 #, c-format -msgid "database \"%s\" was extracted from the publisher connection string" -msgstr "ბაზა \"%s\" ამოღებულია გამომცემლის მიერთების სტრიქონიიდან" +msgid "database name \"%s\" was extracted from the publisher connection string" +msgstr "ბაზა \"%s\" გამოღებულია გამომცემლის მიერთების სტრიქონიდან" -#: pg_createsubscriber.c:1984 +#: pg_createsubscriber.c:2114 #, c-format msgid "no database name specified" msgstr "ბაზის სახელი მითითებული არაა" -#: pg_createsubscriber.c:1994 +#: pg_createsubscriber.c:2124 #, c-format -msgid "wrong number of publication names" -msgstr "გამოცემის სახელების არასწორი რაოდენობა" +msgid "wrong number of publication names specified" +msgstr "მითითებულია გამოცემის სახელების არასწორი რაოდენობა" -#: pg_createsubscriber.c:1995 +#: pg_createsubscriber.c:2125 #, c-format -msgid "Number of publication names (%d) must match number of database names (%d)." -msgstr "გამოცემის სახელების რაოდენობა (%d) ბაზის სახელების რაოდენობას (%d) უნდა ემთხვეოდეს." +msgid "The number of specified publication names (%d) must match the number of specified database names (%d)." +msgstr "გამოცემის სახელების რაოდენობა (%d) ბაზის სახელების მითითებულ რაოდენობას (%d) უნდა ემთხვეოდეს." -#: pg_createsubscriber.c:2001 +#: pg_createsubscriber.c:2131 #, c-format -msgid "wrong number of subscription names" -msgstr "გამოწერის სახელების არასწორი რაოდენობა" +msgid "wrong number of subscription names specified" +msgstr "მითითებულია გამოწერის სახელების არასწორი რაოდენობა" -#: pg_createsubscriber.c:2002 +#: pg_createsubscriber.c:2132 #, c-format -msgid "Number of subscription names (%d) must match number of database names (%d)." -msgstr "გამოწერის სახელების რაოდენობა (%d) ბაზის სახელების რაოდენობას (%d) უნდა ემთხვეოდეს." +msgid "The number of specified subscription names (%d) must match the number of specified database names (%d)." +msgstr "მითითებული გამოწერის სახელების რაოდენობა (%d) მითითებული ბაზის სახელების რაოდენობას (%d) უნდა ემთხვეოდეს." -#: pg_createsubscriber.c:2008 +#: pg_createsubscriber.c:2138 #, c-format -msgid "wrong number of replication slot names" -msgstr "რეპლიკაციის სლოტის სახელების არასწორი რაოდენობა" +msgid "wrong number of replication slot names specified" +msgstr "მითითებულია რეპლიკაციის სლოტის სახელების არასწორი რაოდენობა" -#: pg_createsubscriber.c:2009 +#: pg_createsubscriber.c:2139 #, c-format -msgid "Number of replication slot names (%d) must match number of database names (%d)." -msgstr "რეპლიკაციის სლოტების სახელების რაოდენობა (%d) ბაზის სახელების რაოდენობას (%d) უნდა ემთხვეოდეს." +msgid "The number of specified replication slot names (%d) must match the number of specified database names (%d)." +msgstr "რეპლიკაციის სლოტების მითითებული სახელების რაოდენობა (%d) ბაზის სახელების მითითებულ რაოდენობას (%d) უნდა ემთხვეოდეს." -#: pg_createsubscriber.c:2038 +#: pg_createsubscriber.c:2168 #, c-format msgid "subscriber data directory is not a copy of the source database cluster" msgstr "გამომწერის მონაცემების საქაღალდე წყარო ბაზის კლასტერის ასლი არაა" -#: pg_createsubscriber.c:2051 +#: pg_createsubscriber.c:2181 #, c-format -msgid "standby is up and running" -msgstr "უქმე ჩართულია და მუშაობს" +msgid "standby server is running" +msgstr "უქმე სერვერი გაშვებულია" -#: pg_createsubscriber.c:2052 +#: pg_createsubscriber.c:2182 #, c-format -msgid "Stop the standby and try again." -msgstr "გააჩერეთ უქმე და თავიდან სცადეთ." +msgid "Stop the standby server and try again." +msgstr "გააჩერეთ უქმე სერვერი და თავიდან სცადეთ." -#: pg_createsubscriber.c:2061 +#: pg_createsubscriber.c:2191 #, c-format -msgid "starting the standby with command-line options" -msgstr "უქმეს გაშვება ბრძანების სტრიქონის პარამეტრებით" +msgid "starting the standby server with command-line options" +msgstr "მიმდინარეობს უქმე სერვერის გაშვება ბრძანების სტრიქონის პარამეტრებით" -#: pg_createsubscriber.c:2077 pg_createsubscriber.c:2116 +#: pg_createsubscriber.c:2207 pg_createsubscriber.c:2242 #, c-format msgid "stopping the subscriber" msgstr "გამომწერის გაჩერება" -#: pg_createsubscriber.c:2095 +#: pg_createsubscriber.c:2221 #, c-format msgid "starting the subscriber" msgstr "გამომწერის გაშვება" -#: pg_createsubscriber.c:2124 +#: pg_createsubscriber.c:2250 #, c-format msgid "Done!" msgstr "შესრულებულია!" @@ -1965,7 +1974,7 @@ msgid "" " time between status packets sent to server (default: %d)\n" msgstr "" " -s, --status-interval=SECS\n" -" შუალედი სერვერზე სტატუსის პაკეტების გაგზავნებს შორის (ნაგულისხმები: %d)\n" +" შუალედი სერვერზე სტატუსის პაკეტების გაგზავნებს შორის (ნაგულისხმევი: %d)\n" #: pg_receivewal.c:90 #, c-format @@ -2172,7 +2181,7 @@ msgid "" " time between fsyncs to the output file (default: %d)\n" msgstr "" " -F --fsync-interval=SECS\n" -" შუალედი გამოსატანი ფაილის fsync-ებს შორის (ნაგულისხმები: %d)\n" +" შუალედი გამოსატანი ფაილის fsync-ებს შორის (ნაგულისხმევი: %d)\n" #: pg_recvlogical.c:98 #, c-format @@ -2193,7 +2202,7 @@ msgstr "" #: pg_recvlogical.c:103 #, c-format msgid " -P, --plugin=PLUGIN use output plugin PLUGIN (default: %s)\n" -msgstr " -P, --plugin=PLUGIN გამოტანის მითითებული დამატების გამოყენება (ნაგულისხმები: %s)\n" +msgstr " -P, --plugin=PLUGIN გამოტანის მითითებული დამატების გამოყენება (ნაგულისხმევი: %s)\n" #: pg_recvlogical.c:106 #, c-format @@ -2587,6 +2596,42 @@ msgstr "წაშლა შეკუმშვით მხარდაუჭე msgid "could not close compression stream" msgstr "შეკუმშვის ნაკადის დახურვის შეცდომა" +#, c-format +#~ msgid "" +#~ " --config-file=FILENAME use specified main server configuration\n" +#~ " file when running target cluster\n" +#~ msgstr "" +#~ " --config-file=FILENAME სამიზნე კლასტერის გაშვებისას მთავარი \n" +#~ " სერვერის მითითებული კონფიგურაციის ფაილში გამოყენება\n" + +#, c-format +#~ msgid " -s, --socket-directory=DIR socket directory to use (default current directory)\n" +#~ msgstr " -s, --socket-directory=DIR სოკეტის საქაღალდე (ნაგულისხმევია მიმდინარე.)\n" + +#, c-format +#~ msgid " -?, --help show this help, then exit\n" +#~ msgstr " -?, --help ამ დახმარების ჩვენება და გასვლა\n" + +#, c-format +#~ msgid " -V, --version output version information, then exit\n" +#~ msgstr " -V, --version ვერსიის ინფორმაციის გამოტანა და გასვლა\n" + +#, c-format +#~ msgid "Consider increasing max_logical_replication_workers to at least %d." +#~ msgstr "განიხილეთ max_logical_replication_workers-ის გაზრდა მინიმუმ %d-მდე." + +#, c-format +#~ msgid "Consider increasing max_replication_slots to at least %d." +#~ msgstr "განიხილეთ max_replication_slots-ის გაზრდა მინიმუმ %d-მდე." + +#, c-format +#~ msgid "Consider increasing max_wal_senders to at least %d." +#~ msgstr "განიხილეთ max_wal_senders-ის გაზრდა მინიმუმ %d-მდე." + +#, c-format +#~ msgid "Consider increasing max_worker_processes to at least %d." +#~ msgstr "განიხილეთ max_worker_processes-ის გაზრდა მინიმუმ %d-მდე." + #, c-format #~ msgid "This build does not support compression with %s." #~ msgstr "ამ აგებაში %s-ით შეკუმშვის მხარდაჭრა არ არსებობს." @@ -2613,6 +2658,22 @@ msgstr "შეკუმშვის ნაკადის დახურვი #~ msgid "could not set compression flag for %s: %s" #~ msgstr "%s-სთვის შეკუმშვის დონის დაყენების შეცდომა: %s" +#, c-format +#~ msgid "duplicate database \"%s\"" +#~ msgstr "განმეორებადი ბაზა \"%s\"" + +#, c-format +#~ msgid "duplicate publication \"%s\"" +#~ msgstr "განმეორებადი გამოცემა \"%s\"" + +#, c-format +#~ msgid "duplicate replication slot \"%s\"" +#~ msgstr "განმეორებადი რეპლიკაციის სლოტი \"%s\"" + +#, c-format +#~ msgid "duplicate subscription \"%s\"" +#~ msgstr "განმეორებადი გამოწერა \"%s\"" + #, c-format #~ msgid "log streamer with pid %d exiting" #~ msgstr "ჟურნალის ნაკადის პროცესი pid-ით %d ასრულებს მუშაობას" @@ -2625,10 +2686,18 @@ msgstr "შეკუმშვის ნაკადის დახურვი #~ msgid "primary has replication slot \"%s\"" #~ msgstr "ძირითადს აქვს რეპლიკაციის სლოტი \"%s\"" +#, c-format +#~ msgid "standby is up and running" +#~ msgstr "უქმე ჩართულია და მუშაობს" + #, c-format #~ msgid "standby server disconnected from the primary" #~ msgstr "უქმე სერვერ გაითიშა ძირითადისგან" +#, c-format +#~ msgid "subscriber failed to change system identifier: exit code: %d" +#~ msgstr "გამომწერის სისტემური იდენტიფიკატორის შეცვლა ჩავარდა: გამოსვლის კოდი: %d" + #, c-format #~ msgid "symlinks are not supported on this platform" #~ msgstr "სიმბმულები ამ პლატფორმაზე მხარდაჭერილი არაა" @@ -2648,3 +2717,7 @@ msgstr "შეკუმშვის ნაკადის დახურვი #, c-format #~ msgid "unknown compression option \"%s\"" #~ msgstr "შეკუმშვის უცნობი პარამეტრი: \"%s\"" + +#, c-format +#~ msgid "validating connection string on subscriber" +#~ msgstr "შეერთების სტრიქონის დადასტურება გამომწერზე" diff --git a/src/bin/pg_basebackup/po/ru.po b/src/bin/pg_basebackup/po/ru.po index 743d7c935e4..94912f27c90 100644 --- a/src/bin/pg_basebackup/po/ru.po +++ b/src/bin/pg_basebackup/po/ru.po @@ -1,21 +1,21 @@ # 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. -# Alexander Lakhin , 2012-2017, 2018, 2019, 2020, 2021, 2022. +# Alexander Lakhin , 2012-2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024. msgid "" msgstr "" "Project-Id-Version: pg_basebackup (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-11-01 14:40+0300\n" -"PO-Revision-Date: 2022-09-29 12:01+0300\n" +"POT-Creation-Date: 2024-11-09 07:47+0300\n" +"PO-Revision-Date: 2024-09-07 11:12+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" #: ../../../src/common/logging.c:276 #, c-format @@ -37,37 +37,44 @@ msgstr "подробности: " msgid "hint: " msgstr "подсказка: " -#: ../../common/compression.c:130 ../../common/compression.c:139 -#: ../../common/compression.c:148 +#: ../../common/compression.c:132 ../../common/compression.c:141 +#: ../../common/compression.c:150 bbstreamer_gzip.c:116 bbstreamer_gzip.c:249 +#: bbstreamer_lz4.c:100 bbstreamer_lz4.c:298 bbstreamer_zstd.c:129 +#: bbstreamer_zstd.c:284 #, c-format msgid "this build does not support compression with %s" msgstr "эта сборка программы не поддерживает сжатие %s" -#: ../../common/compression.c:203 +#: ../../common/compression.c:205 msgid "found empty string where a compression option was expected" msgstr "вместо указания параметра сжатия получена пустая строка" -#: ../../common/compression.c:237 +#: ../../common/compression.c:244 #, c-format msgid "unrecognized compression option: \"%s\"" msgstr "нераспознанный параметр сжатия: \"%s\"" -#: ../../common/compression.c:276 +#: ../../common/compression.c:283 #, c-format msgid "compression option \"%s\" requires a value" msgstr "для параметра сжатия \"%s\" требуется значение" -#: ../../common/compression.c:285 +#: ../../common/compression.c:292 #, c-format msgid "value for compression option \"%s\" must be an integer" msgstr "значение параметра сжатия \"%s\" должно быть целочисленным" -#: ../../common/compression.c:335 +#: ../../common/compression.c:331 +#, c-format +msgid "value for compression option \"%s\" must be a Boolean value" +msgstr "значение параметра сжатия \"%s\" должно быть булевским" + +#: ../../common/compression.c:379 #, c-format msgid "compression algorithm \"%s\" does not accept a compression level" msgstr "для алгоритма сжатия \"%s\" нельзя задать уровень сжатия" -#: ../../common/compression.c:342 +#: ../../common/compression.c:386 #, c-format msgid "" "compression algorithm \"%s\" expects a compression level between %d and %d " @@ -76,55 +83,149 @@ msgstr "" "для алгоритма сжатия \"%s\" ожидается уровень сжатия от %d до %d (по " "умолчанию %d)" -#: ../../common/compression.c:353 +#: ../../common/compression.c:397 #, c-format msgid "compression algorithm \"%s\" does not accept a worker count" msgstr "для алгоритма сжатия \"%s\" нельзя задать число потоков" +#: ../../common/compression.c:408 +#, c-format +msgid "compression algorithm \"%s\" does not support long-distance mode" +msgstr "алгоритм сжатия \"%s\" не поддерживает режим большой дистанции" + +#: ../../common/controldata_utils.c:97 +#, c-format +msgid "could not open file \"%s\" for reading: %m" +msgstr "не удалось открыть файл \"%s\" для чтения: %m" + +#: ../../common/controldata_utils.c:110 pg_basebackup.c:1873 +#: pg_receivewal.c:402 +#, 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 "не удалось прочитать файл \"%s\" (прочитано байт: %d из %zu)" + +#: ../../common/controldata_utils.c:132 ../../common/controldata_utils.c:280 +#: bbstreamer_file.c:138 pg_recvlogical.c:650 +#, 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 ../../fe_utils/recovery_gen.c:140 +#: pg_basebackup.c:1846 pg_receivewal.c:386 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "не удалось открыть файл \"%s\": %m" + +#: ../../common/controldata_utils.c:249 +#, 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 pg_recvlogical.c:204 +#, c-format +msgid "could not fsync file \"%s\": %m" +msgstr "не удалось синхронизировать с ФС файл \"%s\": %m" + #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 -#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:162 +#: ../../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:154 +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 #, c-format msgid "cannot duplicate null pointer (internal error)\n" msgstr "попытка дублирования нулевого указателя (внутренняя ошибка)\n" -#: ../../common/file_utils.c:87 ../../common/file_utils.c:451 -#: pg_receivewal.c:380 pg_recvlogical.c:341 +#: ../../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 +#: pg_receivewal.c:319 pg_recvlogical.c:352 #, c-format msgid "could not stat file \"%s\": %m" msgstr "не удалось получить информацию о файле \"%s\": %m" -#: ../../common/file_utils.c:166 pg_receivewal.c:303 +#: ../../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_receivewal.c:242 #, c-format msgid "could not open directory \"%s\": %m" msgstr "не удалось открыть каталог \"%s\": %m" -#: ../../common/file_utils.c:200 pg_receivewal.c:532 +#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 +#: pg_receivewal.c:471 #, c-format msgid "could not read directory \"%s\": %m" msgstr "не удалось прочитать каталог \"%s\": %m" -#: ../../common/file_utils.c:232 ../../common/file_utils.c:291 -#: ../../common/file_utils.c:365 ../../fe_utils/recovery_gen.c:121 -#: pg_receivewal.c:447 +#: ../../common/file_utils.c:498 pg_basebackup.c:2344 walmethods.c:462 #, c-format -msgid "could not open file \"%s\": %m" -msgstr "не удалось открыть файл \"%s\": %m" +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "не удалось переименовать файл \"%s\" в \"%s\": %m" -#: ../../common/file_utils.c:303 ../../common/file_utils.c:373 -#: pg_recvlogical.c:196 +#: ../../common/restricted_token.c:60 #, c-format -msgid "could not fsync file \"%s\": %m" -msgstr "не удалось синхронизировать с ФС файл \"%s\": %m" +msgid "could not open process token: error code %lu" +msgstr "не удалось открыть маркер процесса (код ошибки: %lu)" -#: ../../common/file_utils.c:383 pg_basebackup.c:2266 walmethods.c:459 +#: ../../common/restricted_token.c:74 #, c-format -msgid "could not rename file \"%s\" to \"%s\": %m" -msgstr "не удалось переименовать файл \"%s\" в \"%s\": %m" +msgid "could not allocate SIDs: error code %lu" +msgstr "не удалось подготовить структуры SID (код ошибки: %lu)" + +#: ../../common/restricted_token.c:94 +#, c-format +msgid "could not create restricted token: error code %lu" +msgstr "не удалось создать ограниченный маркер (код ошибки: %lu)" + +#: ../../common/restricted_token.c:115 +#, c-format +msgid "could not start process for command \"%s\": error code %lu" +msgstr "не удалось запустить процесс для команды \"%s\" (код ошибки: %lu)" + +#: ../../common/restricted_token.c:153 +#, c-format +msgid "could not re-execute with restricted token: error code %lu" +msgstr "не удалось перезапуститься с ограниченным маркером (код ошибки: %lu)" + +#: ../../common/restricted_token.c:168 +#, c-format +msgid "could not get exit code from subprocess: error code %lu" +msgstr "не удалось получить код выхода от подпроцесса (код ошибки: %lu)" #: ../../fe_utils/option_utils.c:69 #, c-format @@ -136,51 +237,65 @@ msgstr "неверное значение \"%s\" для параметра %s" msgid "%s must be in range %d..%d" msgstr "значение %s должно быть в диапазоне %d..%d" -#: ../../fe_utils/recovery_gen.c:34 ../../fe_utils/recovery_gen.c:45 -#: ../../fe_utils/recovery_gen.c:70 ../../fe_utils/recovery_gen.c:90 -#: ../../fe_utils/recovery_gen.c:149 pg_basebackup.c:1646 +#: ../../fe_utils/option_utils.c:106 +#, c-format +msgid "unrecognized sync method: %s" +msgstr "нераспознанный метод синхронизации: %s" + +#: ../../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:334 #, c-format msgid "out of memory" msgstr "нехватка памяти" -#: ../../fe_utils/recovery_gen.c:124 bbstreamer_file.c:121 -#: bbstreamer_file.c:258 pg_basebackup.c:1443 pg_basebackup.c:1737 +#: ../../fe_utils/recovery_gen.c:143 bbstreamer_file.c:121 +#: bbstreamer_file.c:258 pg_basebackup.c:1433 pg_basebackup.c:1727 #, c-format msgid "could not write to file \"%s\": %m" msgstr "не удалось записать в файл \"%s\": %m" -#: ../../fe_utils/recovery_gen.c:133 bbstreamer_file.c:93 bbstreamer_file.c:339 -#: pg_basebackup.c:1507 pg_basebackup.c:1716 +#: ../../fe_utils/recovery_gen.c:152 bbstreamer_file.c:93 bbstreamer_file.c:361 +#: pg_basebackup.c:1497 pg_basebackup.c:1706 #, c-format msgid "could not create file \"%s\": %m" msgstr "не удалось создать файл \"%s\": %m" -#: bbstreamer_file.c:138 pg_recvlogical.c:635 +#: ../../fe_utils/string_utils.c:434 #, c-format -msgid "could not close file \"%s\": %m" -msgstr "не удалось закрыть файл \"%s\": %m" +msgid "shell command argument contains a newline or carriage return: \"%s\"\n" +msgstr "" +"аргумент команды оболочки содержит символ новой строки или перевода каретки: " +"\"%s\"\n" + +#: ../../fe_utils/string_utils.c:607 +#, c-format +msgid "database name contains a newline or carriage return: \"%s\"\n" +msgstr "" +"имя базы данных содержит символ новой строки или перевода каретки: \"%s\"\n" #: bbstreamer_file.c:275 #, c-format msgid "unexpected state while extracting archive" msgstr "неожиданное состояние при извлечении архива" -#: bbstreamer_file.c:298 pg_basebackup.c:696 pg_basebackup.c:740 +#: bbstreamer_file.c:321 pg_basebackup.c:698 pg_basebackup.c:712 +#: pg_basebackup.c:757 #, c-format msgid "could not create directory \"%s\": %m" msgstr "не удалось создать каталог \"%s\": %m" -#: bbstreamer_file.c:304 +#: bbstreamer_file.c:326 #, c-format msgid "could not set permissions on directory \"%s\": %m" msgstr "не удалось установить права для каталога \"%s\": %m" -#: bbstreamer_file.c:323 +#: bbstreamer_file.c:345 #, c-format msgid "could not create symbolic link from \"%s\" to \"%s\": %m" msgstr "не удалось создать символическую ссылку \"%s\" в \"%s\": %m" -#: bbstreamer_file.c:343 +#: bbstreamer_file.c:365 #, c-format msgid "could not set permissions on file \"%s\": %m" msgstr "не удалось установить права доступа для файла \"%s\": %m" @@ -205,11 +320,6 @@ msgstr "не удалось открыть выходной файл: %m" msgid "could not set compression level %d: %s" msgstr "не удалось установить уровень сжатия %d: %s" -#: bbstreamer_gzip.c:116 bbstreamer_gzip.c:249 -#, c-format -msgid "this build does not support gzip compression" -msgstr "эта сборка программы не поддерживает сжатие gzip" - #: bbstreamer_gzip.c:143 #, c-format msgid "could not write to compressed file \"%s\": %s" @@ -220,12 +330,12 @@ msgstr "не удалось записать сжатый файл \"%s\": %s" msgid "could not close compressed file \"%s\": %m" msgstr "не удалось закрыть сжатый файл \"%s\": %m" -#: bbstreamer_gzip.c:245 walmethods.c:869 +#: bbstreamer_gzip.c:245 walmethods.c:880 #, c-format msgid "could not initialize compression library" msgstr "не удалось инициализировать библиотеку сжатия" -#: bbstreamer_gzip.c:296 bbstreamer_lz4.c:354 bbstreamer_zstd.c:316 +#: bbstreamer_gzip.c:296 bbstreamer_lz4.c:354 bbstreamer_zstd.c:329 #, c-format msgid "could not decompress data: %s" msgstr "не удалось распаковать данные: %s" @@ -240,17 +350,12 @@ msgstr "неожиданное состояние при внедрении па msgid "could not create lz4 compression context: %s" msgstr "не удалось создать контекст сжатия lz4: %s" -#: bbstreamer_lz4.c:100 bbstreamer_lz4.c:298 -#, c-format -msgid "this build does not support lz4 compression" -msgstr "эта сборка программы не поддерживает сжатие lz4" - #: bbstreamer_lz4.c:140 #, c-format msgid "could not write lz4 header: %s" msgstr "не удалось записать заголовок lz4: %s" -#: bbstreamer_lz4.c:189 bbstreamer_zstd.c:168 bbstreamer_zstd.c:210 +#: bbstreamer_lz4.c:189 bbstreamer_zstd.c:181 bbstreamer_zstd.c:223 #, c-format msgid "could not compress data: %s" msgstr "не удалось сжать данные: %s" @@ -275,12 +380,12 @@ msgstr "окончание файла tar занимает больше 2 бло msgid "unexpected state while parsing tar archive" msgstr "неожиданное состояние при разборе архива tar" -#: bbstreamer_tar.c:296 +#: bbstreamer_tar.c:292 #, c-format msgid "tar member has empty name" msgstr "пустое имя у компонента tar" -#: bbstreamer_tar.c:328 +#: bbstreamer_tar.c:326 #, c-format msgid "COPY stream ended before last file was finished" msgstr "поток COPY закончился до завершения последнего файла" @@ -300,103 +405,103 @@ msgstr "не удалось установить для zstd уровень сж msgid "could not set compression worker count to %d: %s" msgstr "не удалось установить для zstd число потоков %d: %s" -#: bbstreamer_zstd.c:116 bbstreamer_zstd.c:271 +#: bbstreamer_zstd.c:116 #, c-format -msgid "this build does not support zstd compression" -msgstr "эта сборка программы не поддерживает сжатие zstd" +msgid "could not enable long-distance mode: %s" +msgstr "не удалось включить режим большой дистанции: %s" -#: bbstreamer_zstd.c:262 +#: bbstreamer_zstd.c:275 #, c-format msgid "could not create zstd decompression context" msgstr "не удалось создать контекст распаковки zstd" -#: pg_basebackup.c:240 +#: pg_basebackup.c:245 #, c-format msgid "removing data directory \"%s\"" msgstr "удаление каталога данных \"%s\"" -#: pg_basebackup.c:242 +#: pg_basebackup.c:247 #, c-format msgid "failed to remove data directory" msgstr "ошибка при удалении каталога данных" -#: pg_basebackup.c:246 +#: pg_basebackup.c:251 #, c-format msgid "removing contents of data directory \"%s\"" msgstr "удаление содержимого каталога данных \"%s\"" -#: pg_basebackup.c:248 +#: pg_basebackup.c:253 #, c-format msgid "failed to remove contents of data directory" msgstr "ошибка при удалении содержимого каталога данных" -#: pg_basebackup.c:253 +#: pg_basebackup.c:258 #, c-format msgid "removing WAL directory \"%s\"" msgstr "удаление каталога WAL \"%s\"" -#: pg_basebackup.c:255 +#: pg_basebackup.c:260 #, c-format msgid "failed to remove WAL directory" msgstr "ошибка при удалении каталога WAL" -#: pg_basebackup.c:259 +#: pg_basebackup.c:264 #, c-format msgid "removing contents of WAL directory \"%s\"" msgstr "удаление содержимого каталога WAL \"%s\"" -#: pg_basebackup.c:261 +#: pg_basebackup.c:266 #, c-format msgid "failed to remove contents of WAL directory" msgstr "ошибка при удалении содержимого каталога WAL" -#: pg_basebackup.c:267 +#: pg_basebackup.c:272 #, c-format msgid "data directory \"%s\" not removed at user's request" msgstr "каталог данных \"%s\" не был удалён по запросу пользователя" -#: pg_basebackup.c:270 +#: pg_basebackup.c:275 #, c-format msgid "WAL directory \"%s\" not removed at user's request" msgstr "каталог WAL \"%s\" не был удалён по запросу пользователя" -#: pg_basebackup.c:274 +#: pg_basebackup.c:279 #, c-format msgid "changes to tablespace directories will not be undone" msgstr "изменения в каталогах табличных пространств не будут отменены" -#: pg_basebackup.c:326 +#: pg_basebackup.c:331 #, c-format msgid "directory name too long" msgstr "слишком длинное имя каталога" -#: pg_basebackup.c:333 +#: pg_basebackup.c:338 #, c-format msgid "multiple \"=\" signs in tablespace mapping" msgstr "несколько знаков \"=\" в сопоставлении табличного пространства" -#: pg_basebackup.c:342 +#: pg_basebackup.c:347 #, c-format msgid "invalid tablespace mapping format \"%s\", must be \"OLDDIR=NEWDIR\"" msgstr "" "сопоставление табл. пространства записано неверно: \"%s\"; должно быть " "\"СТАРЫЙ_КАТАЛОГ=НОВЫЙ_КАТАЛОГ\"" -#: pg_basebackup.c:361 +#: pg_basebackup.c:366 #, c-format msgid "old directory is not an absolute path in tablespace mapping: %s" msgstr "" "старый каталог в сопоставлении табл. пространства задан не абсолютным путём: " "%s" -#: pg_basebackup.c:365 +#: pg_basebackup.c:370 #, c-format msgid "new directory is not an absolute path in tablespace mapping: %s" msgstr "" "новый каталог в сопоставлении табл. пространства задан не абсолютным путём: " "%s" -#: pg_basebackup.c:387 +#: pg_basebackup.c:392 #, c-format msgid "" "%s takes a base backup of a running PostgreSQL server.\n" @@ -405,17 +510,19 @@ msgstr "" "%s делает базовую резервную копию работающего сервера PostgreSQL.\n" "\n" -#: pg_basebackup.c:389 pg_receivewal.c:81 pg_recvlogical.c:78 +#: pg_basebackup.c:394 pg_createsubscriber.c:221 pg_receivewal.c:79 +#: pg_recvlogical.c:86 #, c-format msgid "Usage:\n" msgstr "Использование:\n" -#: pg_basebackup.c:390 pg_receivewal.c:82 pg_recvlogical.c:79 +#: pg_basebackup.c:395 pg_createsubscriber.c:222 pg_receivewal.c:80 +#: pg_recvlogical.c:87 #, c-format msgid " %s [OPTION]...\n" msgstr " %s [ПАРАМЕТР]...\n" -#: pg_basebackup.c:391 +#: pg_basebackup.c:396 #, c-format msgid "" "\n" @@ -424,19 +531,28 @@ msgstr "" "\n" "Параметры, управляющие выводом:\n" -#: pg_basebackup.c:392 +#: pg_basebackup.c:397 #, c-format msgid " -D, --pgdata=DIRECTORY receive base backup into directory\n" msgstr " -D, --pgdata=КАТАЛОГ сохранить базовую копию в указанный каталог\n" -#: pg_basebackup.c:393 +#: pg_basebackup.c:398 #, c-format msgid " -F, --format=p|t output format (plain (default), tar)\n" msgstr "" " -F, --format=p|t формат вывода (p (по умолчанию) - простой, t - " "tar)\n" -#: pg_basebackup.c:394 +#: pg_basebackup.c:399 +#, c-format +msgid "" +" -i, --incremental=OLDMANIFEST\n" +" take incremental backup\n" +msgstr "" +" -i, --incremental=СТАРЫЙ_МАНИФЕСТ\n" +" создать инкрементальную копию\n" + +#: pg_basebackup.c:401 #, c-format msgid "" " -r, --max-rate=RATE maximum transfer rate to transfer data directory\n" @@ -445,7 +561,7 @@ msgstr "" " -r, --max-rate=СКОРОСТЬ макс. скорость передачи данных в целевой каталог\n" " (в КБ/с, либо добавьте суффикс \"k\" или \"M\")\n" -#: pg_basebackup.c:396 +#: pg_basebackup.c:403 #, c-format msgid "" " -R, --write-recovery-conf\n" @@ -455,7 +571,7 @@ msgstr "" " записать конфигурацию для репликации\n" # well-spelled: ИНФО -#: pg_basebackup.c:398 +#: pg_basebackup.c:405 #, c-format msgid "" " -t, --target=TARGET[:DETAIL]\n" @@ -464,7 +580,7 @@ msgstr "" " -t, --target=ПОЛУЧАТЕЛЬ[:ДОП_ИНФО]\n" " получатель копии (если отличается от client)\n" -#: pg_basebackup.c:400 +#: pg_basebackup.c:407 #, c-format msgid "" " -T, --tablespace-mapping=OLDDIR=NEWDIR\n" @@ -475,14 +591,14 @@ msgstr "" "каталога\n" " в новый\n" -#: pg_basebackup.c:402 +#: pg_basebackup.c:409 #, c-format msgid " --waldir=WALDIR location for the write-ahead log directory\n" msgstr "" " --waldir=КАТАЛОГ_WAL\n" " расположение каталога с журналом предзаписи\n" -#: pg_basebackup.c:403 +#: pg_basebackup.c:410 #, c-format msgid "" " -X, --wal-method=none|fetch|stream\n" @@ -492,13 +608,13 @@ msgstr "" " включить в копию требуемые файлы WAL, используя\n" " заданный метод\n" -#: pg_basebackup.c:405 +#: pg_basebackup.c:412 #, c-format msgid " -z, --gzip compress tar output\n" msgstr " -z, --gzip сжать выходной tar\n" # well-spelled: ИНФО -#: pg_basebackup.c:406 +#: pg_basebackup.c:413 #, c-format msgid "" " -Z, --compress=[{client|server}-]METHOD[:DETAIL]\n" @@ -508,12 +624,12 @@ msgstr "" " выполнять сжатие на клиенте или сервере как " "указано\n" -#: pg_basebackup.c:408 +#: pg_basebackup.c:415 #, c-format msgid " -Z, --compress=none do not compress tar output\n" msgstr " -Z, --compress=none не сжимать вывод tar\n" -#: pg_basebackup.c:409 +#: pg_basebackup.c:416 #, c-format msgid "" "\n" @@ -522,31 +638,32 @@ msgstr "" "\n" "Общие параметры:\n" -#: pg_basebackup.c:410 +#: pg_basebackup.c:417 #, c-format msgid "" " -c, --checkpoint=fast|spread\n" -" set fast or spread checkpointing\n" +" set fast or spread (default) checkpointing\n" msgstr "" " -c, --checkpoint=fast|spread\n" -" режим быстрых или распределённых контрольных точек\n" +" режим быстрых или распределённых (по умолчанию)\n" +" контрольных точек\n" -#: pg_basebackup.c:412 +#: pg_basebackup.c:419 #, c-format msgid " -C, --create-slot create replication slot\n" msgstr " -C, --create-slot создать слот репликации\n" -#: pg_basebackup.c:413 +#: pg_basebackup.c:420 #, c-format msgid " -l, --label=LABEL set backup label\n" msgstr " -l, --label=МЕТКА установить метку резервной копии\n" -#: pg_basebackup.c:414 +#: pg_basebackup.c:421 #, c-format msgid " -n, --no-clean do not clean up after errors\n" msgstr " -n, --no-clean не очищать после ошибок\n" -#: pg_basebackup.c:415 +#: pg_basebackup.c:422 #, c-format msgid "" " -N, --no-sync do not wait for changes to be written safely to " @@ -554,27 +671,27 @@ msgid "" msgstr "" " -N, --no-sync не ждать завершения сохранения данных на диске\n" -#: pg_basebackup.c:416 +#: pg_basebackup.c:423 #, c-format msgid " -P, --progress show progress information\n" msgstr " -P, --progress показывать прогресс операции\n" -#: pg_basebackup.c:417 pg_receivewal.c:91 +#: pg_basebackup.c:424 pg_receivewal.c:89 #, c-format msgid " -S, --slot=SLOTNAME replication slot to use\n" msgstr " -S, --slot=ИМЯ_СЛОТА использовать заданный слот репликации\n" -#: pg_basebackup.c:418 pg_receivewal.c:93 pg_recvlogical.c:100 +#: pg_basebackup.c:425 pg_receivewal.c:91 pg_recvlogical.c:108 #, c-format msgid " -v, --verbose output verbose messages\n" msgstr " -v, --verbose выводить подробные сообщения\n" -#: pg_basebackup.c:419 pg_receivewal.c:94 pg_recvlogical.c:101 +#: pg_basebackup.c:426 pg_receivewal.c:92 pg_recvlogical.c:109 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version показать версию и выйти\n" -#: pg_basebackup.c:420 +#: pg_basebackup.c:427 #, c-format msgid "" " --manifest-checksums=SHA{224,256,384,512}|CRC32C|NONE\n" @@ -585,7 +702,7 @@ msgstr "" # skip-rule: capital-letter-first # well-spelled: шестнадц -#: pg_basebackup.c:422 +#: pg_basebackup.c:429 #, c-format msgid "" " --manifest-force-encode\n" @@ -595,25 +712,25 @@ msgstr "" " записывать все имена файлов в манифесте в шестнадц. " "виде\n" -#: pg_basebackup.c:424 +#: pg_basebackup.c:431 #, c-format msgid " --no-estimate-size do not estimate backup size in server side\n" msgstr "" " --no-estimate-size не рассчитывать размер копии на стороне сервера\n" -#: pg_basebackup.c:425 +#: pg_basebackup.c:432 #, c-format msgid " --no-manifest suppress generation of backup manifest\n" msgstr " --no-manifest отключить создание манифеста копии\n" -#: pg_basebackup.c:426 +#: pg_basebackup.c:433 #, c-format msgid "" " --no-slot prevent creation of temporary replication slot\n" msgstr "" " --no-slot предотвратить создание временного слота репликации\n" -#: pg_basebackup.c:427 +#: pg_basebackup.c:434 #, c-format msgid "" " --no-verify-checksums\n" @@ -622,12 +739,22 @@ msgstr "" " --no-verify-checksums\n" " не проверять контрольные суммы\n" -#: pg_basebackup.c:429 pg_receivewal.c:97 pg_recvlogical.c:102 +# well-spelled: ИНФО +#: pg_basebackup.c:436 +#, c-format +msgid "" +" --sync-method=METHOD\n" +" set method for syncing files to disk\n" +msgstr "" +" --sync-method=МЕТОД\n" +" метод синхронизации файлов с ФС\n" + +#: pg_basebackup.c:438 pg_receivewal.c:95 pg_recvlogical.c:110 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help показать эту справку и выйти\n" -#: pg_basebackup.c:430 pg_receivewal.c:98 pg_recvlogical.c:103 +#: pg_basebackup.c:439 pg_receivewal.c:96 pg_recvlogical.c:111 #, c-format msgid "" "\n" @@ -636,22 +763,24 @@ msgstr "" "\n" "Параметры подключения:\n" -#: pg_basebackup.c:431 pg_receivewal.c:99 +#: pg_basebackup.c:440 pg_receivewal.c:97 #, c-format msgid " -d, --dbname=CONNSTR connection string\n" msgstr " -d, --dbname=СТРОКА строка подключения\n" -#: pg_basebackup.c:432 pg_receivewal.c:100 pg_recvlogical.c:105 +#: pg_basebackup.c:441 pg_receivewal.c:98 pg_recvlogical.c:113 #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" -msgstr " -h, --host=ИМЯ имя сервера баз данных или каталог сокетов\n" +msgstr "" +" -h, --host=ИМЯ компьютер с сервером баз данных или каталог " +"сокетов\n" -#: pg_basebackup.c:433 pg_receivewal.c:101 pg_recvlogical.c:106 +#: pg_basebackup.c:442 pg_receivewal.c:99 pg_recvlogical.c:114 #, c-format msgid " -p, --port=PORT database server port number\n" msgstr " -p, --port=ПОРТ номер порта сервера БД\n" -#: pg_basebackup.c:434 +#: pg_basebackup.c:443 #, c-format msgid "" " -s, --status-interval=INTERVAL\n" @@ -662,19 +791,19 @@ msgstr "" " интервал между передаваемыми серверу\n" " пакетами состояния (в секундах)\n" -#: pg_basebackup.c:436 pg_receivewal.c:102 pg_recvlogical.c:107 +#: pg_basebackup.c:445 pg_receivewal.c:100 pg_recvlogical.c:115 #, c-format msgid " -U, --username=NAME connect as specified database user\n" msgstr "" " -U, --username=NAME connect as specified database user\n" " -U, --username=ИМЯ имя пользователя баз данных\n" -#: pg_basebackup.c:437 pg_receivewal.c:103 pg_recvlogical.c:108 +#: pg_basebackup.c:446 pg_receivewal.c:101 pg_recvlogical.c:116 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password не запрашивать пароль\n" -#: pg_basebackup.c:438 pg_receivewal.c:104 pg_recvlogical.c:109 +#: pg_basebackup.c:447 pg_receivewal.c:102 pg_recvlogical.c:117 #, c-format msgid "" " -W, --password force password prompt (should happen " @@ -682,7 +811,8 @@ msgid "" msgstr "" " -W, --password запрашивать пароль всегда (обычно не требуется)\n" -#: pg_basebackup.c:439 pg_receivewal.c:108 pg_recvlogical.c:110 +#: pg_basebackup.c:448 pg_createsubscriber.c:240 pg_receivewal.c:106 +#: pg_recvlogical.c:118 #, c-format msgid "" "\n" @@ -691,63 +821,64 @@ msgstr "" "\n" "Об ошибках сообщайте по адресу <%s>.\n" -#: pg_basebackup.c:440 pg_receivewal.c:109 pg_recvlogical.c:111 +#: pg_basebackup.c:449 pg_createsubscriber.c:241 pg_receivewal.c:107 +#: pg_recvlogical.c:119 #, c-format msgid "%s home page: <%s>\n" msgstr "Домашняя страница %s: <%s>\n" -#: pg_basebackup.c:482 +#: pg_basebackup.c:488 #, c-format msgid "could not read from ready pipe: %m" msgstr "не удалось прочитать из готового канала: %m" -#: pg_basebackup.c:485 pg_basebackup.c:632 pg_basebackup.c:2180 -#: streamutil.c:444 +#: pg_basebackup.c:491 pg_basebackup.c:633 pg_basebackup.c:2258 +#: streamutil.c:521 #, c-format msgid "could not parse write-ahead log location \"%s\"" msgstr "не удалось разобрать положение в журнале предзаписи \"%s\"" -#: pg_basebackup.c:591 pg_receivewal.c:663 +#: pg_basebackup.c:596 pg_receivewal.c:600 #, c-format msgid "could not finish writing WAL files: %m" msgstr "не удалось завершить запись файлов WAL: %m" -#: pg_basebackup.c:641 +#: pg_basebackup.c:642 #, c-format msgid "could not create pipe for background process: %m" msgstr "не удалось создать канал для фонового процесса: %m" -#: pg_basebackup.c:674 +#: pg_basebackup.c:676 #, c-format msgid "created temporary replication slot \"%s\"" msgstr "создан временный слот репликации \"%s\"" -#: pg_basebackup.c:677 +#: pg_basebackup.c:679 #, c-format msgid "created replication slot \"%s\"" msgstr "создан слот репликации \"%s\"" -#: pg_basebackup.c:711 +#: pg_basebackup.c:728 #, c-format msgid "could not create background process: %m" msgstr "не удалось создать фоновый процесс: %m" -#: pg_basebackup.c:720 +#: pg_basebackup.c:737 #, c-format msgid "could not create background thread: %m" msgstr "не удалось создать фоновый поток выполнения: %m" -#: pg_basebackup.c:759 +#: pg_basebackup.c:776 #, c-format msgid "directory \"%s\" exists but is not empty" msgstr "каталог \"%s\" существует, но он не пуст" -#: pg_basebackup.c:765 +#: pg_basebackup.c:782 pg_createsubscriber.c:390 #, c-format msgid "could not access directory \"%s\": %m" -msgstr "ошибка доступа к каталогу \"%s\": %m" +msgstr "ошибка при обращении к каталогу \"%s\": %m" -#: pg_basebackup.c:842 +#: pg_basebackup.c:858 #, c-format msgid "%*s/%s kB (100%%), %d/%d tablespace %*s" msgid_plural "%*s/%s kB (100%%), %d/%d tablespaces %*s" @@ -755,7 +886,7 @@ msgstr[0] "%*s/%s КБ (100%%), табличное пространство %d/% msgstr[1] "%*s/%s КБ (100%%), табличное пространство %d/%d %*s" msgstr[2] "%*s/%s КБ (100%%), табличное пространство %d/%d %*s" -#: pg_basebackup.c:854 +#: pg_basebackup.c:870 #, c-format msgid "%*s/%s kB (%d%%), %d/%d tablespace (%s%-*.*s)" msgid_plural "%*s/%s kB (%d%%), %d/%d tablespaces (%s%-*.*s)" @@ -763,7 +894,7 @@ msgstr[0] "%*s/%s КБ (%d%%), табличное пространство %d/%d msgstr[1] "%*s/%s КБ (%d%%), табличное пространство %d/%d (%s%-*.*s)" msgstr[2] "%*s/%s КБ (%d%%), табличное пространство %d/%d (%s%-*.*s)" -#: pg_basebackup.c:870 +#: pg_basebackup.c:886 #, c-format msgid "%*s/%s kB (%d%%), %d/%d tablespace" msgid_plural "%*s/%s kB (%d%%), %d/%d tablespaces" @@ -771,58 +902,58 @@ msgstr[0] "%*s/%s КБ (%d%%), табличное пространство %d/%d msgstr[1] "%*s/%s КБ (%d%%), табличное пространство %d/%d" msgstr[2] "%*s/%s КБ (%d%%), табличное пространство %d/%d" -#: pg_basebackup.c:894 +#: pg_basebackup.c:910 #, c-format msgid "transfer rate \"%s\" is not a valid value" msgstr "неверное значение (\"%s\") для скорости передачи данных" -#: pg_basebackup.c:896 +#: pg_basebackup.c:912 #, c-format msgid "invalid transfer rate \"%s\": %m" msgstr "неверная скорость передачи данных \"%s\": %m" -#: pg_basebackup.c:903 +#: pg_basebackup.c:919 #, c-format msgid "transfer rate must be greater than zero" msgstr "скорость передачи должна быть больше 0" -#: pg_basebackup.c:933 +#: pg_basebackup.c:949 #, c-format msgid "invalid --max-rate unit: \"%s\"" msgstr "неверная единица измерения в --max-rate: \"%s\"" -#: pg_basebackup.c:937 +#: pg_basebackup.c:953 #, c-format msgid "transfer rate \"%s\" exceeds integer range" msgstr "скорость передачи \"%s\" вне целочисленного диапазона" -#: pg_basebackup.c:944 +#: pg_basebackup.c:960 #, c-format msgid "transfer rate \"%s\" is out of range" msgstr "скорость передачи \"%s\" вне диапазона" -#: pg_basebackup.c:1040 +#: pg_basebackup.c:1022 #, c-format msgid "could not get COPY data stream: %s" msgstr "не удалось получить поток данных COPY: %s" -#: pg_basebackup.c:1057 pg_recvlogical.c:438 pg_recvlogical.c:610 -#: receivelog.c:981 +#: pg_basebackup.c:1039 pg_recvlogical.c:449 pg_recvlogical.c:625 +#: receivelog.c:973 #, c-format msgid "could not read COPY data: %s" msgstr "не удалось прочитать данные COPY: %s" -#: pg_basebackup.c:1061 +#: pg_basebackup.c:1043 #, c-format msgid "background process terminated unexpectedly" msgstr "фоновый процесс завершился неожиданно" -#: pg_basebackup.c:1132 +#: pg_basebackup.c:1114 #, c-format msgid "cannot inject manifest into a compressed tar file" msgstr "манифест нельзя внедрить в сжатый архив tar" -#: pg_basebackup.c:1133 +#: pg_basebackup.c:1115 #, c-format msgid "" "Use client-side compression, send the output to a directory rather than " @@ -831,24 +962,24 @@ msgstr "" "Примените сжатие на стороне клиента, передайте вывод в каталог, а не в " "стандартный вывод, или используйте %s." -#: pg_basebackup.c:1149 +#: pg_basebackup.c:1131 #, c-format msgid "cannot parse archive \"%s\"" msgstr "обработать архив \"%s\" невозможно" -#: pg_basebackup.c:1150 +#: pg_basebackup.c:1132 #, c-format msgid "Only tar archives can be parsed." msgstr "Возможна обработка только архивов tar." -#: pg_basebackup.c:1152 +#: pg_basebackup.c:1134 #, c-format msgid "Plain format requires pg_basebackup to parse the archive." msgstr "" "Когда используется простой формат, программа pg_basebackup должна обработать " "архив." -#: pg_basebackup.c:1154 +#: pg_basebackup.c:1136 #, c-format msgid "" "Using - as the output directory requires pg_basebackup to parse the archive." @@ -856,89 +987,119 @@ msgstr "" "Когда в качестве выходного каталога используется \"-\", программа " "pg_basebackup должна обработать архив." -#: pg_basebackup.c:1156 +#: pg_basebackup.c:1138 #, c-format msgid "The -R option requires pg_basebackup to parse the archive." msgstr "" "Когда используется ключ -R, программа pg_basebackup должна обработать архив." -#: pg_basebackup.c:1367 +#: pg_basebackup.c:1357 #, c-format msgid "archives must precede manifest" msgstr "архивы должны предшествовать манифесту" -#: pg_basebackup.c:1382 +#: pg_basebackup.c:1372 #, c-format msgid "invalid archive name: \"%s\"" msgstr "неверное имя архива: \"%s\"" -#: pg_basebackup.c:1454 +#: pg_basebackup.c:1444 #, c-format msgid "unexpected payload data" msgstr "неожиданно получены данные" -#: pg_basebackup.c:1597 +#: pg_basebackup.c:1587 #, c-format msgid "empty COPY message" msgstr "пустое сообщение COPY" -#: pg_basebackup.c:1599 +#: pg_basebackup.c:1589 #, c-format msgid "malformed COPY message of type %d, length %zu" msgstr "неправильное сообщение COPY типа %d, длины %zu" -#: pg_basebackup.c:1797 +#: pg_basebackup.c:1789 #, c-format msgid "incompatible server version %s" msgstr "несовместимая версия сервера %s" -#: pg_basebackup.c:1813 +#: pg_basebackup.c:1805 #, c-format msgid "Use -X none or -X fetch to disable log streaming." msgstr "Укажите -X none или -X fetch для отключения трансляции журнала." -#: pg_basebackup.c:1881 +#: pg_basebackup.c:1841 +#, c-format +msgid "server does not support incremental backup" +msgstr "сервер не поддерживает инкрементальное копирование" + +#: pg_basebackup.c:1850 pg_basebackup.c:2008 pg_recvlogical.c:272 +#: 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" + +#: pg_basebackup.c:1856 pg_basebackup.c:1883 +#, c-format +msgid "could not upload manifest: %s" +msgstr "не удалось загрузить манифест на сервер: %s" + +#: pg_basebackup.c:1859 pg_basebackup.c:1886 +#, c-format +msgid "could not upload manifest: unexpected status %s" +msgstr "не удалось загрузить манифест на сервер: неожиданное состояние %s" + +#: pg_basebackup.c:1867 +#, c-format +msgid "could not send COPY data: %s" +msgstr "не удалось отправить данные COPY: %s" + +#: pg_basebackup.c:1877 +#, c-format +msgid "could not send end-of-COPY: %s" +msgstr "не удалось отправить сообщение \"конец COPY\": %s" + +#: pg_basebackup.c:1892 +#, c-format +msgid "unexpected extra result while sending manifest" +msgstr "неожиданный лишний результат при передаче манифеста" + +#: pg_basebackup.c:1950 #, c-format msgid "backup targets are not supported by this server version" msgstr "получатели копий не поддерживаются данной версией сервера" -#: pg_basebackup.c:1884 +#: pg_basebackup.c:1953 #, c-format msgid "recovery configuration cannot be written when a backup target is used" msgstr "" "при использовании получателя копии записать конфигурацию восстановления " "нельзя" -#: pg_basebackup.c:1911 +#: pg_basebackup.c:1980 #, c-format msgid "server does not support server-side compression" msgstr "сервер не поддерживает сжатие на стороне сервера" -#: pg_basebackup.c:1921 +#: pg_basebackup.c:1990 #, c-format msgid "initiating base backup, waiting for checkpoint to complete" msgstr "" "начинается базовое резервное копирование, ожидается завершение контрольной " "точки" -#: pg_basebackup.c:1925 +#: pg_basebackup.c:1994 #, c-format msgid "waiting for checkpoint" msgstr "ожидание контрольной точки" -#: pg_basebackup.c:1938 pg_recvlogical.c:262 receivelog.c:549 receivelog.c:588 -#: streamutil.c:291 streamutil.c:364 streamutil.c:416 streamutil.c:504 -#: streamutil.c:656 streamutil.c:701 -#, c-format -msgid "could not send replication command \"%s\": %s" -msgstr "не удалось передать команду репликации \"%s\": %s" - -#: pg_basebackup.c:1946 +#: pg_basebackup.c:2016 #, c-format msgid "could not initiate base backup: %s" msgstr "не удалось инициализировать базовое резервное копирование: %s" -#: pg_basebackup.c:1949 +#: pg_basebackup.c:2019 #, c-format msgid "" "server returned unexpected response to BASE_BACKUP command; got %d rows and " @@ -947,123 +1108,130 @@ msgstr "" "сервер вернул неожиданный ответ на команду BASE_BACKUP; получено строк: %d, " "полей: %d, а ожидалось строк: %d, полей: %d" -#: pg_basebackup.c:1955 +#: pg_basebackup.c:2025 #, c-format msgid "checkpoint completed" msgstr "контрольная точка завершена" -#: pg_basebackup.c:1970 +#: pg_basebackup.c:2039 #, c-format msgid "write-ahead log start point: %s on timeline %u" msgstr "стартовая точка в журнале предзаписи: %s на линии времени %u" -#: pg_basebackup.c:1978 +#: pg_basebackup.c:2047 #, c-format msgid "could not get backup header: %s" msgstr "не удалось получить заголовок резервной копии: %s" -#: pg_basebackup.c:1981 +#: pg_basebackup.c:2050 #, c-format msgid "no data returned from server" msgstr "сервер не вернул данные" -#: pg_basebackup.c:2016 +#: pg_basebackup.c:2093 #, c-format msgid "can only write single tablespace to stdout, database has %d" msgstr "" "в stdout можно вывести только одно табличное пространство, всего в СУБД их %d" -#: pg_basebackup.c:2029 +#: pg_basebackup.c:2106 #, c-format msgid "starting background WAL receiver" msgstr "запуск фонового процесса считывания WAL" -#: pg_basebackup.c:2111 +#: pg_basebackup.c:2189 #, c-format msgid "backup failed: %s" msgstr "ошибка при создании копии: %s" -#: pg_basebackup.c:2114 +#: pg_basebackup.c:2192 #, c-format msgid "no write-ahead log end position returned from server" msgstr "сервер не передал конечную позицию в журнале предзаписи" -#: pg_basebackup.c:2117 +#: pg_basebackup.c:2195 #, c-format msgid "write-ahead log end point: %s" msgstr "конечная точка в журнале предзаписи: %s" -#: pg_basebackup.c:2128 +#: pg_basebackup.c:2206 #, c-format msgid "checksum error occurred" msgstr "выявлена ошибка контрольной суммы" -#: pg_basebackup.c:2133 +#: pg_basebackup.c:2211 #, c-format msgid "final receive failed: %s" msgstr "ошибка в конце передачи: %s" -#: pg_basebackup.c:2157 +#: pg_basebackup.c:2235 #, c-format msgid "waiting for background process to finish streaming ..." msgstr "ожидание завершения потоковой передачи фоновым процессом..." -#: pg_basebackup.c:2161 +#: pg_basebackup.c:2239 #, c-format msgid "could not send command to background pipe: %m" msgstr "не удалось отправить команду в канал фонового процесса: %m" -#: pg_basebackup.c:2166 +#: pg_basebackup.c:2244 #, c-format msgid "could not wait for child process: %m" msgstr "сбой при ожидании дочернего процесса: %m" -#: pg_basebackup.c:2168 +#: pg_basebackup.c:2246 #, c-format msgid "child %d died, expected %d" msgstr "завершился дочерний процесс %d вместо ожидаемого %d" -#: pg_basebackup.c:2170 streamutil.c:91 streamutil.c:197 +#: pg_basebackup.c:2248 streamutil.c:92 streamutil.c:207 streamutil.c:319 #, c-format msgid "%s" msgstr "%s" -#: pg_basebackup.c:2190 +#: pg_basebackup.c:2268 #, c-format msgid "could not wait for child thread: %m" msgstr "сбой при ожидании дочернего потока: %m" -#: pg_basebackup.c:2195 +#: pg_basebackup.c:2273 #, c-format msgid "could not get child thread exit status: %m" msgstr "не удалось получить состояние завершения дочернего потока: %m" -#: pg_basebackup.c:2198 +#: pg_basebackup.c:2276 #, c-format msgid "child thread exited with error %u" msgstr "дочерний поток завершился с ошибкой %u" -#: pg_basebackup.c:2227 +#: pg_basebackup.c:2305 #, c-format msgid "syncing data to disk ..." msgstr "сохранение данных на диске..." -#: pg_basebackup.c:2252 +#: pg_basebackup.c:2330 #, c-format msgid "renaming backup_manifest.tmp to backup_manifest" msgstr "переименование backup_manifest.tmp в backup_manifest" -#: pg_basebackup.c:2272 +#: pg_basebackup.c:2350 #, c-format msgid "base backup completed" msgstr "базовое резервное копирование завершено" -#: pg_basebackup.c:2361 +#: pg_basebackup.c:2436 +#, c-format +msgid "invalid checkpoint argument \"%s\", must be \"fast\" or \"spread\"" +msgstr "" +"неверный аргумент режима контрольных точек \"%s\"; должен быть \"fast\" или " +"\"spread\"" + +#: pg_basebackup.c:2454 #, c-format msgid "invalid output format \"%s\", must be \"plain\" or \"tar\"" msgstr "неверный формат вывода \"%s\", должен быть \"plain\" или \"tar\"" -#: pg_basebackup.c:2405 +#: pg_basebackup.c:2535 #, c-format msgid "" "invalid wal-method option \"%s\", must be \"fetch\", \"stream\", or \"none\"" @@ -1071,137 +1239,167 @@ msgstr "" "неверный аргумент для wal-method — \"%s\", допускается только \"fetch\", " "\"stream\" или \"none\"" -#: pg_basebackup.c:2435 -#, c-format -msgid "invalid checkpoint argument \"%s\", must be \"fast\" or \"spread\"" -msgstr "" -"неверный аргумент режима контрольных точек \"%s\"; должен быть \"fast\" или " -"\"spread\"" - -#: pg_basebackup.c:2486 pg_basebackup.c:2498 pg_basebackup.c:2520 -#: pg_basebackup.c:2532 pg_basebackup.c:2538 pg_basebackup.c:2590 -#: pg_basebackup.c:2601 pg_basebackup.c:2611 pg_basebackup.c:2617 -#: pg_basebackup.c:2624 pg_basebackup.c:2636 pg_basebackup.c:2648 -#: pg_basebackup.c:2656 pg_basebackup.c:2669 pg_basebackup.c:2675 -#: pg_basebackup.c:2684 pg_basebackup.c:2696 pg_basebackup.c:2707 -#: pg_basebackup.c:2715 pg_receivewal.c:814 pg_receivewal.c:826 -#: pg_receivewal.c:833 pg_receivewal.c:842 pg_receivewal.c:849 -#: pg_receivewal.c:859 pg_recvlogical.c:837 pg_recvlogical.c:849 -#: pg_recvlogical.c:859 pg_recvlogical.c:866 pg_recvlogical.c:873 -#: pg_recvlogical.c:880 pg_recvlogical.c:887 pg_recvlogical.c:894 -#: pg_recvlogical.c:901 pg_recvlogical.c:908 +#: pg_basebackup.c:2574 pg_basebackup.c:2586 pg_basebackup.c:2608 +#: pg_basebackup.c:2620 pg_basebackup.c:2626 pg_basebackup.c:2678 +#: pg_basebackup.c:2689 pg_basebackup.c:2699 pg_basebackup.c:2705 +#: 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_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 +#: pg_recvlogical.c:896 pg_recvlogical.c:903 pg_recvlogical.c:910 +#: pg_recvlogical.c:917 pg_recvlogical.c:924 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Для дополнительной информации попробуйте \"%s --help\"." -#: pg_basebackup.c:2496 pg_receivewal.c:824 pg_recvlogical.c:847 +#: pg_basebackup.c:2584 pg_createsubscriber.c:2045 pg_receivewal.c:758 +#: pg_recvlogical.c:863 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "слишком много аргументов командной строки (первый: \"%s\")" -#: pg_basebackup.c:2519 +#: pg_basebackup.c:2607 #, c-format msgid "cannot specify both format and backup target" msgstr "указать и формат, и получателя копии одновременно нельзя" -#: pg_basebackup.c:2531 +#: pg_basebackup.c:2619 #, c-format msgid "must specify output directory or backup target" msgstr "необходимо указать выходной каталог или получателя копии" -#: pg_basebackup.c:2537 +#: pg_basebackup.c:2625 #, c-format msgid "cannot specify both output directory and backup target" msgstr "указать и выходной каталог, и получателя копии одновременно нельзя" -#: pg_basebackup.c:2567 pg_receivewal.c:868 +#: pg_basebackup.c:2655 pg_receivewal.c:802 #, c-format msgid "unrecognized compression algorithm: \"%s\"" msgstr "нераспознанный алгоритм сжатия: \"%s\"" -#: pg_basebackup.c:2573 pg_receivewal.c:875 +#: pg_basebackup.c:2661 pg_receivewal.c:809 #, c-format msgid "invalid compression specification: %s" msgstr "неправильное указание сжатия: %s" -#: pg_basebackup.c:2589 +#: pg_basebackup.c:2677 #, c-format msgid "" "client-side compression is not possible when a backup target is specified" msgstr "сжатие на стороне клиента невозможно при указании получателя копии" -#: pg_basebackup.c:2600 +#: pg_basebackup.c:2688 #, c-format msgid "only tar mode backups can be compressed" msgstr "сжиматься могут только резервные копии в архиве tar" -#: pg_basebackup.c:2610 +#: pg_basebackup.c:2698 #, c-format msgid "WAL cannot be streamed when a backup target is specified" msgstr "потоковая передача WAL невозможна при указании получателя копии" -#: pg_basebackup.c:2616 +#: pg_basebackup.c:2704 #, c-format msgid "cannot stream write-ahead logs in tar mode to stdout" msgstr "транслировать журналы предзаписи в режиме tar в поток stdout нельзя" -#: pg_basebackup.c:2623 +#: pg_basebackup.c:2711 #, c-format msgid "replication slots can only be used with WAL streaming" msgstr "слоты репликации можно использовать только при потоковой передаче WAL" -#: pg_basebackup.c:2635 +#: pg_basebackup.c:2723 #, c-format msgid "--no-slot cannot be used with slot name" msgstr "--no-slot нельзя использовать с именем слота" #. translator: second %s is an option name -#: pg_basebackup.c:2646 pg_receivewal.c:840 +#: pg_basebackup.c:2734 pg_receivewal.c:774 #, c-format msgid "%s needs a slot to be specified using --slot" msgstr "для %s необходимо задать слот с помощью параметра --slot" -#: pg_basebackup.c:2654 pg_basebackup.c:2694 pg_basebackup.c:2705 -#: pg_basebackup.c:2713 +#: pg_basebackup.c:2742 pg_basebackup.c:2782 pg_basebackup.c:2793 +#: pg_basebackup.c:2801 #, c-format msgid "%s and %s are incompatible options" msgstr "параметры %s и %s несовместимы" -#: pg_basebackup.c:2668 +#: pg_basebackup.c:2756 #, c-format msgid "WAL directory location cannot be specified along with a backup target" msgstr "расположение каталога WAL нельзя указать вместе с получателем копии" -#: pg_basebackup.c:2674 +#: pg_basebackup.c:2762 #, c-format msgid "WAL directory location can only be specified in plain mode" msgstr "расположение каталога WAL можно указать только в режиме plain" -#: pg_basebackup.c:2683 +#: pg_basebackup.c:2771 #, c-format msgid "WAL directory location must be an absolute path" msgstr "расположение каталога WAL должно определяться абсолютным путём" -#: pg_basebackup.c:2784 +#: pg_basebackup.c:2871 #, c-format msgid "could not create symbolic link \"%s\": %m" msgstr "не удалось создать символическую ссылку \"%s\": %m" -#: pg_basebackup.c:2786 +#: pg_createsubscriber.c:169 #, c-format -msgid "symlinks are not supported on this platform" -msgstr "символические ссылки не поддерживаются в этой ОС" +msgid "failed after the end of recovery" +msgstr "ошибка после окончания восстановления" -#: pg_receivewal.c:79 +#: pg_createsubscriber.c:170 #, c-format msgid "" -"%s receives PostgreSQL streaming write-ahead logs.\n" +"The target server cannot be used as a physical replica anymore. You must " +"recreate the physical replica before continuing." +msgstr "" +"Целевой сервер больше не может использоваться как физическая реплика. Чтобы " +"продолжить, физическую реплику необходимо пересоздать." + +#: pg_createsubscriber.c:198 +#, c-format +msgid "" +"publication \"%s\" created in database \"%s\" on primary was left behind" +msgstr "на главном сервере осталась публикация \"%s\", созданная в базе \"%s\"" + +#: pg_createsubscriber.c:200 +#, c-format +msgid "Drop this publication before trying again." +msgstr "Удалите эту публикацию и попробуйте повторить операцию." + +#: pg_createsubscriber.c:204 +#, c-format +msgid "" +"replication slot \"%s\" created in database \"%s\" on primary was left behind" +msgstr "" +"на главном сервере остался слот репликации \"%s\", созданный в базе \"%s\"" + +#: pg_createsubscriber.c:206 pg_createsubscriber.c:1260 +#, c-format +msgid "Drop this replication slot soon to avoid retention of WAL files." +msgstr "" +"Удалите этот слот репликации незамедлительно во избежание накопления файлов " +"WAL." + +#: pg_createsubscriber.c:219 +#, c-format +msgid "" +"%s creates a new logical replica from a standby server.\n" "\n" msgstr "" -"%s получает транслируемые журналы предзаписи PostgreSQL.\n" +"%s превращает резервный сервер в логическую реплику.\n" "\n" -#: pg_receivewal.c:83 pg_recvlogical.c:84 +#: pg_createsubscriber.c:223 pg_receivewal.c:81 pg_recvlogical.c:92 #, c-format msgid "" "\n" @@ -1210,7 +1408,681 @@ msgstr "" "\n" "Параметры:\n" -#: pg_receivewal.c:84 +#: pg_createsubscriber.c:224 +#, c-format +msgid "" +" -d, --database=DBNAME database in which to create a " +"subscription\n" +msgstr "" +" -d, --database=ИМЯ_БД база, в которой будет создана подписка\n" + +#: pg_createsubscriber.c:225 +#, c-format +msgid "" +" -D, --pgdata=DATADIR location for the subscriber data " +"directory\n" +msgstr "" +" -D, --pgdata=КАТ_ДАННЫХ расположение каталога данных подписчика\n" + +#: pg_createsubscriber.c:226 +#, c-format +msgid "" +" -n, --dry-run dry run, just show what would be done\n" +msgstr "" +" -n, --dry-run показать, какие действия будут выполнены,\n" +" но не выполнять их\n" + +#: pg_createsubscriber.c:227 +#, c-format +msgid " -p, --subscriber-port=PORT subscriber port number (default %s)\n" +msgstr "" +" -p, --subscriber-port=ПОРТ номер порта подписчика (по умолчанию: %s)\n" + +#: pg_createsubscriber.c:228 +#, c-format +msgid " -P, --publisher-server=CONNSTR publisher connection string\n" +msgstr "" +" -P, --publisher-server=СТРОКА строка подключения к серверу публикации\n" + +#: pg_createsubscriber.c:229 +#, c-format +msgid "" +" -s, --socketdir=DIR socket directory to use (default current " +"dir.)\n" +msgstr "" +" -s, --socketdir=КАТАЛОГ каталог сокетов (по умолчанию текущий)\n" + +#: pg_createsubscriber.c:230 +#, c-format +msgid " -t, --recovery-timeout=SECS seconds to wait for recovery to end\n" +msgstr "" +" -t, --recovery-timeout=СЕК время ожидания окончания восстановления\n" + +#: pg_createsubscriber.c:231 +#, c-format +msgid " -U, --subscriber-username=NAME user name for subscriber connection\n" +msgstr "" +" -U, --subscriber-username=ИМЯ имя пользователя для подключения " +"подписчика\n" + +#: pg_createsubscriber.c:232 +#, c-format +msgid " -v, --verbose output verbose messages\n" +msgstr " -v, --verbose выводить подробные сообщения\n" + +#: pg_createsubscriber.c:233 +#, c-format +msgid "" +" --config-file=FILENAME use specified main server configuration\n" +" file when running target cluster\n" +msgstr "" +" --config-file=ИМЯ_ФАЙЛА использовать указанный основной файл\n" +" конфигурации сервера при запуске целевого\n" +" кластера\n" + +#: pg_createsubscriber.c:235 +#, c-format +msgid " --publication=NAME publication name\n" +msgstr " --publication=ИМЯ имя публикации\n" + +#: pg_createsubscriber.c:236 +#, c-format +msgid " --replication-slot=NAME replication slot name\n" +msgstr " --replication-slot=ИМЯ имя слота репликации\n" + +#: pg_createsubscriber.c:237 +#, c-format +msgid " --subscription=NAME subscription name\n" +msgstr " --subscription=ИМЯ имя подписки\n" + +#: pg_createsubscriber.c:238 +#, c-format +msgid "" +" -V, --version output version information, then exit\n" +msgstr " -V, --version показать версию и выйти\n" + +#: pg_createsubscriber.c:239 +#, c-format +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help показать эту справку и выйти\n" + +#: pg_createsubscriber.c:282 +#, c-format +msgid "could not parse connection string: %s" +msgstr "не удалось разобрать строку подключения: %s" + +#: pg_createsubscriber.c:359 +#, c-format +msgid "" +"program \"%s\" is needed by %s but was not found in the same directory as " +"\"%s\"" +msgstr "программа \"%s\" нужна для %s, но она не найдена в каталоге \"%s\"" + +#: pg_createsubscriber.c:362 +#, c-format +msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" +msgstr "" +"программа \"%s\" найдена программой \"%s\", но её версия отличается от " +"версии %s" + +#: pg_createsubscriber.c:382 +#, c-format +msgid "checking if directory \"%s\" is a cluster data directory" +msgstr "проверяется, является ли каталог \"%s\" каталогом данных кластера" + +#: pg_createsubscriber.c:388 +#, c-format +msgid "data directory \"%s\" does not exist" +msgstr "каталог данных \"%s\" не существует" + +#: pg_createsubscriber.c:396 +#, c-format +msgid "directory \"%s\" is not a database cluster directory" +msgstr "каталог \"%s\" не является каталогом кластера баз данных" + +#: pg_createsubscriber.c:513 +#, c-format +msgid "connection to database failed: %s" +msgstr "не удалось подключиться к базе: %s" + +#: pg_createsubscriber.c:526 +#, c-format +msgid "could not clear search_path: %s" +msgstr "не удалось очистить search_path: %s" + +#: pg_createsubscriber.c:566 +#, c-format +msgid "getting system identifier from publisher" +msgstr "получение идентификатора системы с сервера публикации" + +#: pg_createsubscriber.c:573 +#, c-format +msgid "could not get system identifier: %s" +msgstr "не удалось получить идентификатор системы: %s" + +#: pg_createsubscriber.c:579 +#, c-format +msgid "could not get system identifier: got %d rows, expected %d row" +msgstr "" +"не удалось получить идентификатор системы; получено строк: %d, ожидалось: %d" + +#: pg_createsubscriber.c:586 +#, c-format +msgid "system identifier is %llu on publisher" +msgstr "идентификатор системы на стороне публикации: %llu" + +#: pg_createsubscriber.c:607 +#, c-format +msgid "getting system identifier from subscriber" +msgstr "получение идентификатора системы с подписчика" + +#: pg_createsubscriber.c:611 pg_createsubscriber.c:641 +#, c-format +msgid "control file appears to be corrupt" +msgstr "управляющий файл, по-видимому, испорчен" + +#: pg_createsubscriber.c:615 pg_createsubscriber.c:656 +#, c-format +msgid "system identifier is %llu on subscriber" +msgstr "идентификатор системы на подписчике: %llu" + +#: pg_createsubscriber.c:637 +#, c-format +msgid "modifying system identifier of subscriber" +msgstr "изменение идентификатора системы на подписчике" + +#: pg_createsubscriber.c:659 +#, c-format +msgid "running pg_resetwal on the subscriber" +msgstr "запуск pg_resetwal на подписчике" + +#: pg_createsubscriber.c:671 +#, c-format +msgid "subscriber successfully changed the system identifier" +msgstr "идентификатор системы на подписчике успешно изменён" + +#: pg_createsubscriber.c:673 +#, c-format +msgid "could not change system identifier of subscriber: %s" +msgstr "изменить идентификатор системы на подписчике не удалось: %s" + +#: pg_createsubscriber.c:697 +#, c-format +msgid "could not obtain database OID: %s" +msgstr "получить OID базы данных не удалось: %s" + +#: pg_createsubscriber.c:704 +#, c-format +msgid "could not obtain database OID: got %d rows, expected %d row" +msgstr "получить OID базы данных не удалось; получено строк: %d, ожидалось: %d" + +#: pg_createsubscriber.c:776 +#, c-format +msgid "create replication slot \"%s\" on publisher" +msgstr "создаётся слот репликации \"%s\" на подписчике" + +#: pg_createsubscriber.c:796 +#, c-format +msgid "could not write an additional WAL record: %s" +msgstr "не удалось записать дополнительную запись WAL: %s" + +#: pg_createsubscriber.c:822 +#, c-format +msgid "could not obtain recovery progress: %s" +msgstr "не удалось получить состояние восстановления: %s" + +#: pg_createsubscriber.c:854 +#, c-format +msgid "checking settings on publisher" +msgstr "проверка параметров на стороне публикации" + +#: pg_createsubscriber.c:864 +#, c-format +msgid "primary server cannot be in recovery" +msgstr "главный сервер не должен быть в состоянии восстановления" + +#: pg_createsubscriber.c:888 +#, c-format +msgid "could not obtain publisher settings: %s" +msgstr "не удалось получить параметры с сервера публикации: %s" + +#: pg_createsubscriber.c:914 +#, c-format +msgid "publisher requires wal_level >= \"logical\"" +msgstr "на стороне публикации требуется значение wal_level >= \"logical\"" + +#: pg_createsubscriber.c:920 +#, c-format +msgid "publisher requires %d replication slots, but only %d remain" +msgstr "" +"на стороне публикации требуется слотов репликации: %d, но доступно всего %d" + +#: pg_createsubscriber.c:922 pg_createsubscriber.c:931 +#: pg_createsubscriber.c:1028 pg_createsubscriber.c:1037 +#: pg_createsubscriber.c:1046 +#, c-format +msgid "Increase the configuration parameter \"%s\" to at least %d." +msgstr "Увеличьте значение параметра конфигурации \"%s\" как минимум до %d." + +#: pg_createsubscriber.c:929 +#, c-format +msgid "publisher requires %d WAL sender processes, but only %d remain" +msgstr "" +"на стороне публикации требуется процессов-передатчиков WAL: %d, но доступно " +"всего %d" + +#: pg_createsubscriber.c:938 +#, c-format +msgid "two_phase option will not be enabled for replication slots" +msgstr "параметр two_phase для слотов репликации не будет включён" + +#: pg_createsubscriber.c:939 +#, c-format +msgid "" +"Subscriptions will be created with the two_phase option disabled. Prepared " +"transactions will be replicated at COMMIT PREPARED." +msgstr "" +"Подписки будут созданы с отключённым параметром two_phase. Подготовленные " +"транзакции будут реплицироваться в момент выполнения COMMIT PREPARED." + +#: pg_createsubscriber.c:971 +#, c-format +msgid "checking settings on subscriber" +msgstr "проверка параметров на подписчике" + +#: pg_createsubscriber.c:978 +#, c-format +msgid "target server must be a standby" +msgstr "целевой сервер должен быть резервным" + +#: pg_createsubscriber.c:1002 +#, c-format +msgid "could not obtain subscriber settings: %s" +msgstr "получить параметры подписчика не удалось: %s" + +#: pg_createsubscriber.c:1026 +#, c-format +msgid "subscriber requires %d replication slots, but only %d remain" +msgstr "подписчику требуется слотов репликации: %d, но доступно всего %d" + +#: pg_createsubscriber.c:1035 +#, c-format +msgid "subscriber requires %d logical replication workers, but only %d remain" +msgstr "" +"подписчику требуется процессов логической репликации: %d, но доступно всего " +"%d" + +#: pg_createsubscriber.c:1044 +#, c-format +msgid "subscriber requires %d worker processes, but only %d remain" +msgstr "подписчику требуется рабочих процессов: %d, но доступно всего %d" + +#: pg_createsubscriber.c:1079 +#, c-format +msgid "dropping subscription \"%s\" in database \"%s\"" +msgstr "удаление подписки \"%s\" в базе \"%s\"" + +#: pg_createsubscriber.c:1088 +#, c-format +msgid "could not drop subscription \"%s\": %s" +msgstr "удалить подписку \"%s\" не получилось: %s" + +#: pg_createsubscriber.c:1123 +#, c-format +msgid "could not obtain pre-existing subscriptions: %s" +msgstr "получить уже существующие подписки не удалось: %s" + +#: pg_createsubscriber.c:1258 +#, c-format +msgid "could not drop replication slot \"%s\" on primary" +msgstr "удалить слот репликации \"%s\" на главном сервере не получилось" + +#: pg_createsubscriber.c:1292 +#, c-format +msgid "could not obtain failover replication slot information: %s" +msgstr "получить информацию о переносимом слоте репликации не удалось: %s" + +#: pg_createsubscriber.c:1294 pg_createsubscriber.c:1303 +#, c-format +msgid "" +"Drop the failover replication slots on subscriber soon to avoid retention of " +"WAL files." +msgstr "" +"Удалите переносимые слоты репликации на подписчике незамедлительно во " +"избежание накопления файлов WAL." + +#: pg_createsubscriber.c:1302 +#, c-format +msgid "could not drop failover replication slot" +msgstr "удалить переносимый слот репликации не получилось" + +#: pg_createsubscriber.c:1324 +#, c-format +msgid "creating the replication slot \"%s\" in database \"%s\"" +msgstr "создание слота репликации \"%s\" в базе \"%s\"" + +#: pg_createsubscriber.c:1342 +#, c-format +msgid "could not create replication slot \"%s\" in database \"%s\": %s" +msgstr "создать слот репликации \"%s\" в базе \"%s\" не удалось: %s" + +#: pg_createsubscriber.c:1372 +#, c-format +msgid "dropping the replication slot \"%s\" in database \"%s\"" +msgstr "удаление слота репликации \"%s\" в базе \"%s\"" + +#: pg_createsubscriber.c:1388 +#, c-format +msgid "could not drop replication slot \"%s\" in database \"%s\": %s" +msgstr "удалить слот репликации \"%s\" в базе \"%s\" не получилось: %s" + +#: pg_createsubscriber.c:1409 +#, c-format +msgid "pg_ctl failed with exit code %d" +msgstr "команда pg_ctl завершилась с кодом ошибки %d" + +#: pg_createsubscriber.c:1414 +#, c-format +msgid "pg_ctl was terminated by exception 0x%X" +msgstr "команда pg_ctl была прервана исключением 0x%X" + +#: pg_createsubscriber.c:1416 +#, c-format +msgid "" +"See C include file \"ntstatus.h\" for a description of the hexadecimal value." +msgstr "" +"Описание этого шестнадцатеричного значения ищите во включаемом C-файле " +"\"ntstatus.h\"" + +#: pg_createsubscriber.c:1418 +#, c-format +msgid "pg_ctl was terminated by signal %d: %s" +msgstr "команда pg_ctl была завершена сигналом %d: %s" + +#: pg_createsubscriber.c:1424 +#, c-format +msgid "pg_ctl exited with unrecognized status %d" +msgstr "команда pg_ctl завершилась с нераспознанным кодом состояния %d" + +#: pg_createsubscriber.c:1427 +#, c-format +msgid "The failed command was: %s" +msgstr "Ошибку вызвала команда: %s" + +#: pg_createsubscriber.c:1473 +#, c-format +msgid "server was started" +msgstr "сервер был запущен" + +#: pg_createsubscriber.c:1488 +#, c-format +msgid "server was stopped" +msgstr "сервер был остановлен" + +#: pg_createsubscriber.c:1507 +#, c-format +msgid "waiting for the target server to reach the consistent state" +msgstr "ожидание достижения целевым сервером согласованного состояния" + +#: pg_createsubscriber.c:1530 +#, c-format +msgid "recovery timed out" +msgstr "тайм-аут при восстановлении" + +#: pg_createsubscriber.c:1543 +#, c-format +msgid "server did not end recovery" +msgstr "сервер не завершил восстановление" + +#: pg_createsubscriber.c:1545 +#, c-format +msgid "target server reached the consistent state" +msgstr "целевой сервер достиг согласованного состояния" + +#: pg_createsubscriber.c:1546 +#, 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 +#, c-format +msgid "could not obtain publication information: %s" +msgstr "получить информацию о публикации не удалось: %s" + +#: pg_createsubscriber.c:1587 +#, c-format +msgid "publication \"%s\" already exists" +msgstr "публикация \"%s\" уже существует" + +#: pg_createsubscriber.c:1588 +#, c-format +msgid "Consider renaming this publication before continuing." +msgstr "Чтобы продолжить, её можно переименовать." + +#: pg_createsubscriber.c:1595 +#, c-format +msgid "creating publication \"%s\" in database \"%s\"" +msgstr "создаётся публикация \"%s\" в базе \"%s\"" + +#: pg_createsubscriber.c:1608 +#, c-format +msgid "could not create publication \"%s\" in database \"%s\": %s" +msgstr "создать публикацию \"%s\" в базе \"%s\" не удалось: %s" + +#: pg_createsubscriber.c:1637 +#, c-format +msgid "dropping publication \"%s\" in database \"%s\"" +msgstr "удаляется публикация \"%s\" в базе \"%s\"" + +#: pg_createsubscriber.c:1651 +#, c-format +msgid "could not drop publication \"%s\" in database \"%s\": %s" +msgstr "удалить публикацию \"%s\" в базе \"%s\" не получилось: %s" + +#: pg_createsubscriber.c:1697 +#, c-format +msgid "creating subscription \"%s\" in database \"%s\"" +msgstr "создаётся подписка \"%s\" в базе \"%s\"" + +#: pg_createsubscriber.c:1718 +#, c-format +msgid "could not create subscription \"%s\" in database \"%s\": %s" +msgstr "создать подписку \"%s\" в базе \"%s\" не удалось: %s" + +#: pg_createsubscriber.c:1763 +#, c-format +msgid "could not obtain subscription OID: %s" +msgstr "получить OID подписки не удалось: %s" + +#: pg_createsubscriber.c:1770 +#, c-format +msgid "could not obtain subscription OID: got %d rows, expected %d row" +msgstr "получить OID подписки не удалось; получено строк: %d, ожидалось: %d" + +#: pg_createsubscriber.c:1794 +#, c-format +msgid "" +"setting the replication progress (node name \"%s\", LSN %s) in database " +"\"%s\"" +msgstr "отражение состояния репликации (имя узла \"%s\", LSN %s) в базе \"%s\"" + +#: pg_createsubscriber.c:1809 +#, c-format +msgid "could not set replication progress for subscription \"%s\": %s" +msgstr "не удалось передать состояние репликации для подписки \"%s\": %s" + +#: pg_createsubscriber.c:1840 +#, c-format +msgid "enabling subscription \"%s\" in database \"%s\"" +msgstr "включение подписки \"%s\" в базе \"%s\"" + +#: pg_createsubscriber.c:1852 +#, c-format +msgid "could not enable subscription \"%s\": %s" +msgstr "включить подписку \"%s\" не удалось: %s" + +#: pg_createsubscriber.c:1944 +#, c-format +msgid "cannot be executed by \"root\"" +msgstr "программу не должен запускать root" + +#: pg_createsubscriber.c:1945 +#, c-format +msgid "You must run %s as the PostgreSQL superuser." +msgstr "Запускать %s нужно от имени суперпользователя PostgreSQL." + +#: pg_createsubscriber.c:1966 +#, c-format +msgid "database \"%s\" specified more than once" +msgstr "база \"%s\" указана неоднократно" + +#: pg_createsubscriber.c:2007 +#, c-format +msgid "publication \"%s\" specified more than once" +msgstr "публикация \"%s\" указана неоднократно" + +#: pg_createsubscriber.c:2019 +#, c-format +msgid "replication slot \"%s\" specified more than once" +msgstr "слот репликации \"%s\" указан неоднократно" + +#: pg_createsubscriber.c:2031 +#, c-format +msgid "subscription \"%s\" specified more than once" +msgstr "подписка \"%s\" указана неоднократно" + +#: pg_createsubscriber.c:2054 +#, c-format +msgid "no subscriber data directory specified" +msgstr "каталог данных подписчика не указан" + +#: pg_createsubscriber.c:2065 +#, c-format +msgid "could not determine current directory" +msgstr "не удалось определить текущий каталог" + +#: pg_createsubscriber.c:2082 +#, c-format +msgid "no publisher connection string specified" +msgstr "строка подключения к серверу публикации не указана" + +#: pg_createsubscriber.c:2086 +#, c-format +msgid "validating publisher connection string" +msgstr "проверяется строка подключения к серверу публикации" + +#: pg_createsubscriber.c:2092 +#, c-format +msgid "validating subscriber connection string" +msgstr "проверяется строка подключения к подписчику" + +#: pg_createsubscriber.c:2097 +#, c-format +msgid "no database was specified" +msgstr "база данных не указана" + +#: pg_createsubscriber.c:2109 +#, c-format +msgid "database name \"%s\" was extracted from the publisher connection string" +msgstr "имя базы \"%s\" извлечено из строки подключения к серверу публикации" + +#: pg_createsubscriber.c:2114 +#, c-format +msgid "no database name specified" +msgstr "имя базы данных не указано" + +#: pg_createsubscriber.c:2124 +#, c-format +msgid "wrong number of publication names specified" +msgstr "указано неверное количество имён публикаций" + +#: pg_createsubscriber.c:2125 +#, 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 +#, c-format +msgid "wrong number of subscription names specified" +msgstr "указано неверное количество имён подписок" + +#: pg_createsubscriber.c:2132 +#, 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 +#, c-format +msgid "wrong number of replication slot names specified" +msgstr "указано неверное количество имён слотов репликации" + +#: pg_createsubscriber.c:2139 +#, 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 +#, c-format +msgid "subscriber data directory is not a copy of the source database cluster" +msgstr "" +"каталог данных подписчика не является копией исходного кластера баз данных" + +#: pg_createsubscriber.c:2181 +#, c-format +msgid "standby server is running" +msgstr "резервный сервер запущен" + +#: pg_createsubscriber.c:2182 +#, c-format +msgid "Stop the standby server and try again." +msgstr "Остановите резервный сервер и повторите попытку." + +#: pg_createsubscriber.c:2191 +#, c-format +msgid "starting the standby server with command-line options" +msgstr "резервный сервер запускается с параметрами командной строки" + +#: pg_createsubscriber.c:2207 pg_createsubscriber.c:2242 +#, c-format +msgid "stopping the subscriber" +msgstr "подписчик останавливается" + +#: pg_createsubscriber.c:2221 +#, c-format +msgid "starting the subscriber" +msgstr "подписчик запускается" + +#: pg_createsubscriber.c:2250 +#, c-format +msgid "Done!" +msgstr "Готово!" + +#: pg_receivewal.c:77 +#, c-format +msgid "" +"%s receives PostgreSQL streaming write-ahead logs.\n" +"\n" +msgstr "" +"%s получает транслируемые журналы предзаписи PostgreSQL.\n" +"\n" + +#: pg_receivewal.c:82 #, c-format msgid "" " -D, --directory=DIR receive write-ahead log files into this directory\n" @@ -1218,14 +2090,14 @@ msgstr "" " -D, --directory=ПУТЬ сохранять файлы журнала предзаписи в данный " "каталог\n" -#: pg_receivewal.c:85 pg_recvlogical.c:85 +#: pg_receivewal.c:83 pg_recvlogical.c:93 #, c-format msgid " -E, --endpos=LSN exit after receiving the specified LSN\n" msgstr "" " -E, --endpos=LSN определяет позицию, после которой нужно " "остановиться\n" -#: pg_receivewal.c:86 pg_recvlogical.c:89 +#: pg_receivewal.c:84 pg_recvlogical.c:97 #, c-format msgid "" " --if-not-exists do not error if slot already exists when creating a " @@ -1234,12 +2106,12 @@ msgstr "" " --if-not-exists не выдавать ошибку при попытке создать уже " "существующий слот\n" -#: pg_receivewal.c:87 pg_recvlogical.c:91 +#: pg_receivewal.c:85 pg_recvlogical.c:99 #, c-format msgid " -n, --no-loop do not loop on connection lost\n" msgstr " -n, --no-loop прерывать работу при потере соединения\n" -#: pg_receivewal.c:88 +#: pg_receivewal.c:86 #, c-format msgid "" " --no-sync do not wait for changes to be written safely to " @@ -1247,7 +2119,7 @@ msgid "" msgstr "" " --no-sync не ждать надёжного сохранения изменений на диске\n" -#: pg_receivewal.c:89 pg_recvlogical.c:96 +#: pg_receivewal.c:87 pg_recvlogical.c:104 #, c-format msgid "" " -s, --status-interval=SECS\n" @@ -1258,7 +2130,7 @@ msgstr "" " интервал между отправкой статусных пакетов серверу " "(по умолчанию: %d)\n" -#: pg_receivewal.c:92 +#: pg_receivewal.c:90 #, c-format msgid "" " --synchronous flush write-ahead log immediately after writing\n" @@ -1266,7 +2138,7 @@ msgstr "" " --synchronous сбрасывать журнал предзаписи сразу после записи\n" # well-spelled: ИНФО -#: pg_receivewal.c:95 +#: pg_receivewal.c:93 #, c-format msgid "" " -Z, --compress=METHOD[:DETAIL]\n" @@ -1275,7 +2147,7 @@ msgstr "" " -Z, --compress=МЕТОД[:ДОП_ИНФО]\n" " выполнять сжатие как указано\n" -#: pg_receivewal.c:105 +#: pg_receivewal.c:103 #, c-format msgid "" "\n" @@ -1284,7 +2156,7 @@ msgstr "" "\n" "Дополнительные действия:\n" -#: pg_receivewal.c:106 pg_recvlogical.c:81 +#: pg_receivewal.c:104 pg_recvlogical.c:89 #, c-format msgid "" " --create-slot create a new replication slot (for the slot's name " @@ -1293,7 +2165,7 @@ msgstr "" " --create-slot создать новый слот репликации (имя слота задаёт " "параметр --slot)\n" -#: pg_receivewal.c:107 pg_recvlogical.c:82 +#: pg_receivewal.c:105 pg_recvlogical.c:90 #, c-format msgid "" " --drop-slot drop the replication slot (for the slot's name see " @@ -1302,57 +2174,57 @@ msgstr "" " --drop-slot удалить слот репликации (имя слота задаёт параметр " "--slot)\n" -#: pg_receivewal.c:252 +#: pg_receivewal.c:191 #, c-format msgid "finished segment at %X/%X (timeline %u)" msgstr "завершён сегмент %X/%X (линия времени %u)" -#: pg_receivewal.c:259 +#: pg_receivewal.c:198 #, c-format msgid "stopped log streaming at %X/%X (timeline %u)" msgstr "завершена передача журнала с позиции %X/%X (линия времени %u)" -#: pg_receivewal.c:275 +#: pg_receivewal.c:214 #, c-format msgid "switched to timeline %u at %X/%X" msgstr "переключение на линию времени %u (позиция %X/%X)" -#: pg_receivewal.c:285 +#: pg_receivewal.c:224 pg_recvlogical.c:1053 #, c-format msgid "received interrupt signal, exiting" msgstr "получен сигнал прерывания, работа завершается" -#: pg_receivewal.c:317 +#: pg_receivewal.c:256 #, c-format msgid "could not close directory \"%s\": %m" msgstr "не удалось закрыть каталог \"%s\": %m" -#: pg_receivewal.c:384 +#: pg_receivewal.c:323 #, c-format msgid "segment file \"%s\" has incorrect size %lld, skipping" msgstr "файл сегмента \"%s\" имеет неправильный размер %lld, файл пропускается" -#: pg_receivewal.c:401 +#: pg_receivewal.c:340 #, c-format msgid "could not open compressed file \"%s\": %m" msgstr "не удалось открыть сжатый файл \"%s\": %m" -#: pg_receivewal.c:404 +#: pg_receivewal.c:343 #, c-format msgid "could not seek in compressed file \"%s\": %m" msgstr "ошибка позиционирования в сжатом файле \"%s\": %m" -#: pg_receivewal.c:410 +#: pg_receivewal.c:349 #, c-format msgid "could not read compressed file \"%s\": %m" msgstr "не удалось прочитать сжатый файл \"%s\": %m" -#: pg_receivewal.c:413 +#: pg_receivewal.c:352 #, c-format msgid "could not read compressed file \"%s\": read %d of %zu" msgstr "не удалось прочитать сжатый файл \"%s\" (прочитано байт: %d из %zu)" -#: pg_receivewal.c:423 +#: pg_receivewal.c:362 #, c-format msgid "" "compressed segment file \"%s\" has incorrect uncompressed size %d, skipping" @@ -1360,27 +2232,22 @@ msgstr "" "файл сжатого сегмента \"%s\" имеет неправильный исходный размер %d, файл " "пропускается" -#: pg_receivewal.c:451 +#: pg_receivewal.c:390 #, c-format msgid "could not create LZ4 decompression context: %s" msgstr "не удалось создать контекст распаковки LZ4: %s" -#: pg_receivewal.c:463 -#, c-format -msgid "could not read file \"%s\": %m" -msgstr "не удалось прочитать файл \"%s\": %m" - -#: pg_receivewal.c:481 +#: pg_receivewal.c:420 #, c-format msgid "could not decompress file \"%s\": %s" msgstr "не удалось распаковать файл \"%s\": %s" -#: pg_receivewal.c:504 +#: pg_receivewal.c:443 #, c-format msgid "could not free LZ4 decompression context: %s" msgstr "не удалось освободить контекст распаковки LZ4: %s" -#: pg_receivewal.c:509 +#: pg_receivewal.c:448 #, c-format msgid "" "compressed segment file \"%s\" has incorrect uncompressed size %zu, skipping" @@ -1388,7 +2255,7 @@ msgstr "" "файл сжатого сегмента \"%s\" имеет неправильный исходный размер %zu, файл " "пропускается" -#: pg_receivewal.c:514 +#: pg_receivewal.c:453 #, c-format msgid "" "cannot check file \"%s\": compression with %s not supported by this build" @@ -1396,37 +2263,37 @@ msgstr "" "не удалось проверить файл \"%s\": сжатие методом %s не поддерживается данной " "сборкой" -#: pg_receivewal.c:641 +#: pg_receivewal.c:578 #, c-format msgid "starting log streaming at %X/%X (timeline %u)" msgstr "начало передачи журнала с позиции %X/%X (линия времени %u)" -#: pg_receivewal.c:783 pg_recvlogical.c:785 +#: pg_receivewal.c:693 pg_recvlogical.c:801 #, c-format msgid "could not parse end position \"%s\"" msgstr "не удалось разобрать конечную позицию \"%s\"" -#: pg_receivewal.c:832 +#: pg_receivewal.c:766 #, c-format msgid "cannot use --create-slot together with --drop-slot" msgstr "--create-slot нельзя применять вместе с --drop-slot" -#: pg_receivewal.c:848 +#: pg_receivewal.c:782 #, c-format msgid "cannot use --synchronous together with --no-sync" msgstr "--synchronous нельзя применять вместе с --no-sync" -#: pg_receivewal.c:858 +#: pg_receivewal.c:792 #, c-format msgid "no target directory specified" msgstr "целевой каталог не указан" -#: pg_receivewal.c:882 +#: pg_receivewal.c:816 #, c-format msgid "compression with %s is not yet supported" msgstr "метод сжатия %s ещё не поддерживается" -#: pg_receivewal.c:924 +#: pg_receivewal.c:859 #, c-format msgid "" "replication connection using slot \"%s\" is unexpectedly database specific" @@ -1434,28 +2301,28 @@ msgstr "" "подключение для репликации через слот \"%s\" оказалось привязано к базе " "данных" -#: pg_receivewal.c:943 pg_recvlogical.c:955 +#: pg_receivewal.c:878 pg_recvlogical.c:972 #, c-format msgid "dropping replication slot \"%s\"" msgstr "удаление слота репликации \"%s\"" -#: pg_receivewal.c:954 pg_recvlogical.c:965 +#: pg_receivewal.c:889 pg_recvlogical.c:982 #, c-format msgid "creating replication slot \"%s\"" msgstr "создание слота репликации \"%s\"" -#: pg_receivewal.c:983 pg_recvlogical.c:989 +#: pg_receivewal.c:918 pg_recvlogical.c:1006 #, c-format msgid "disconnected" msgstr "отключение" #. translator: check source for value for %d -#: pg_receivewal.c:987 pg_recvlogical.c:993 +#: pg_receivewal.c:922 pg_recvlogical.c:1010 #, c-format msgid "disconnected; waiting %d seconds to try again" msgstr "отключение; через %d сек. последует повторное подключение" -#: pg_recvlogical.c:76 +#: pg_recvlogical.c:84 #, c-format msgid "" "%s controls PostgreSQL logical decoding streams.\n" @@ -1464,7 +2331,7 @@ msgstr "" "%s управляет потоками логического декодирования PostgreSQL.\n" "\n" -#: pg_recvlogical.c:80 +#: pg_recvlogical.c:88 #, c-format msgid "" "\n" @@ -1473,7 +2340,7 @@ msgstr "" "\n" "Действие, которое будет выполнено:\n" -#: pg_recvlogical.c:83 +#: pg_recvlogical.c:91 #, c-format msgid "" " --start start streaming in a replication slot (for the " @@ -1482,13 +2349,13 @@ msgstr "" " --start начать передачу в слоте репликации (имя слота " "задаёт параметр --slot)\n" -#: pg_recvlogical.c:86 +#: pg_recvlogical.c:94 #, c-format msgid " -f, --file=FILE receive log into this file, - for stdout\n" msgstr "" " -f, --file=ФАЙЛ сохранять журнал в этот файл, - обозначает stdout\n" -#: pg_recvlogical.c:87 +#: pg_recvlogical.c:95 #, c-format msgid "" " -F --fsync-interval=SECS\n" @@ -1499,7 +2366,7 @@ msgstr "" " периодичность сброса на диск выходного файла (по " "умолчанию: %d)\n" -#: pg_recvlogical.c:90 +#: pg_recvlogical.c:98 #, c-format msgid "" " -I, --startpos=LSN where in an existing slot should the streaming " @@ -1508,7 +2375,7 @@ msgstr "" " -I, --startpos=LSN определяет, с какой позиции в существующем слоте " "начнётся передача\n" -#: pg_recvlogical.c:92 +#: pg_recvlogical.c:100 #, c-format msgid "" " -o, --option=NAME[=VALUE]\n" @@ -1520,19 +2387,19 @@ msgstr "" "необязательным\n" " значением модулю вывода\n" -#: pg_recvlogical.c:95 +#: pg_recvlogical.c:103 #, c-format msgid " -P, --plugin=PLUGIN use output plugin PLUGIN (default: %s)\n" msgstr "" " -P, --plugin=МОДУЛЬ использовать заданный модуль вывода (по умолчанию: " "%s)\n" -#: pg_recvlogical.c:98 +#: pg_recvlogical.c:106 #, c-format msgid " -S, --slot=SLOTNAME name of the logical replication slot\n" msgstr " -S, --slot=ИМЯ_СЛОТА имя слота логической репликации\n" -#: pg_recvlogical.c:99 +#: pg_recvlogical.c:107 #, c-format msgid "" " -t, --two-phase enable decoding of prepared transactions when " @@ -1541,160 +2408,160 @@ msgstr "" " -t, --two-phase включить декодирование подготовленных транзакций " "при создании слота\n" -#: pg_recvlogical.c:104 +#: pg_recvlogical.c:112 #, c-format msgid " -d, --dbname=DBNAME database to connect to\n" msgstr " -d, --dbname=ИМЯ_БД целевая база данных\n" -#: pg_recvlogical.c:137 +#: pg_recvlogical.c:145 #, c-format msgid "confirming write up to %X/%X, flush to %X/%X (slot %s)" msgstr "подтверждается запись до %X/%X, синхронизация с ФС до %X/%X (слот %s)" -#: pg_recvlogical.c:161 receivelog.c:366 +#: pg_recvlogical.c:169 receivelog.c:360 #, c-format msgid "could not send feedback packet: %s" msgstr "не удалось отправить пакет ответа: %s" -#: pg_recvlogical.c:229 +#: pg_recvlogical.c:239 #, c-format msgid "starting log streaming at %X/%X (slot %s)" msgstr "начало передачи журнала с позиции %X/%X (слот %s)" -#: pg_recvlogical.c:271 +#: pg_recvlogical.c:281 #, c-format msgid "streaming initiated" msgstr "передача запущена" -#: pg_recvlogical.c:335 +#: pg_recvlogical.c:346 #, c-format msgid "could not open log file \"%s\": %m" msgstr "не удалось открыть файл протокола \"%s\": %m" -#: pg_recvlogical.c:364 receivelog.c:889 +#: pg_recvlogical.c:375 receivelog.c:882 #, c-format msgid "invalid socket: %s" msgstr "неверный сокет: %s" -#: pg_recvlogical.c:417 receivelog.c:917 +#: pg_recvlogical.c:428 receivelog.c:910 #, c-format msgid "%s() failed: %m" msgstr "ошибка в %s(): %m" -#: pg_recvlogical.c:424 receivelog.c:967 +#: pg_recvlogical.c:435 receivelog.c:959 #, c-format msgid "could not receive data from WAL stream: %s" msgstr "не удалось получить данные из потока WAL: %s" -#: pg_recvlogical.c:466 pg_recvlogical.c:517 receivelog.c:1011 -#: receivelog.c:1074 +#: pg_recvlogical.c:477 pg_recvlogical.c:528 receivelog.c:1003 +#: receivelog.c:1066 #, c-format msgid "streaming header too small: %d" msgstr "заголовок потока слишком мал: %d" -#: pg_recvlogical.c:501 receivelog.c:849 +#: pg_recvlogical.c:512 receivelog.c:843 #, c-format msgid "unrecognized streaming header: \"%c\"" msgstr "нераспознанный заголовок потока: \"%c\"" -#: pg_recvlogical.c:555 pg_recvlogical.c:567 +#: pg_recvlogical.c:566 pg_recvlogical.c:578 #, c-format msgid "could not write %d bytes to log file \"%s\": %m" msgstr "не удалось записать %d Б в файл журнала \"%s\": %m" -#: pg_recvlogical.c:621 receivelog.c:648 receivelog.c:685 +#: pg_recvlogical.c:636 receivelog.c:642 receivelog.c:679 #, c-format msgid "unexpected termination of replication stream: %s" msgstr "неожиданный конец потока репликации: %s" -#: pg_recvlogical.c:780 +#: pg_recvlogical.c:796 #, c-format msgid "could not parse start position \"%s\"" msgstr "не удалось разобрать начальную позицию \"%s\"" -#: pg_recvlogical.c:858 +#: pg_recvlogical.c:874 #, c-format msgid "no slot specified" msgstr "слот не указан" -#: pg_recvlogical.c:865 +#: pg_recvlogical.c:881 #, c-format msgid "no target file specified" msgstr "целевой файл не задан" -#: pg_recvlogical.c:872 +#: pg_recvlogical.c:888 #, c-format msgid "no database specified" msgstr "база данных не задана" -#: pg_recvlogical.c:879 +#: pg_recvlogical.c:895 #, c-format msgid "at least one action needs to be specified" msgstr "необходимо задать минимум одно действие" -#: pg_recvlogical.c:886 +#: pg_recvlogical.c:902 #, c-format msgid "cannot use --create-slot or --start together with --drop-slot" msgstr "--create-slot или --start нельзя применять вместе с --drop-slot" -#: pg_recvlogical.c:893 +#: pg_recvlogical.c:909 #, c-format msgid "cannot use --create-slot or --drop-slot together with --startpos" msgstr "--create-slot или --drop-slot нельзя применять вместе с --startpos" -#: pg_recvlogical.c:900 +#: pg_recvlogical.c:916 #, c-format msgid "--endpos may only be specified with --start" msgstr "--endpos можно задать только вместе с --start" -#: pg_recvlogical.c:907 +#: pg_recvlogical.c:923 #, c-format msgid "--two-phase may only be specified with --create-slot" msgstr "--two-phase можно задать только вместе с --create-slot" -#: pg_recvlogical.c:939 +#: pg_recvlogical.c:956 #, c-format msgid "could not establish database-specific replication connection" msgstr "" "не удалось установить подключение для репликации к определённой базе данных" -#: pg_recvlogical.c:1033 +#: pg_recvlogical.c:1056 #, c-format msgid "end position %X/%X reached by keepalive" msgstr "конечная позиция %X/%X достигнута при обработке keepalive" -#: pg_recvlogical.c:1036 +#: pg_recvlogical.c:1061 #, c-format msgid "end position %X/%X reached by WAL record at %X/%X" msgstr "конечная позиция %X/%X достигнута при обработке записи WAL %X/%X" -#: receivelog.c:68 +#: receivelog.c:66 #, c-format msgid "could not create archive status file \"%s\": %s" msgstr "не удалось создать файл статуса архива \"%s\": %s" -#: receivelog.c:75 +#: receivelog.c:73 #, c-format msgid "could not close archive status file \"%s\": %s" msgstr "не удалось закрыть файл статуса архива \"%s\": %s" -#: receivelog.c:123 +#: receivelog.c:122 #, c-format msgid "could not get size of write-ahead log file \"%s\": %s" msgstr "не удалось получить размер файла журнала предзаписи \"%s\": %s" -#: receivelog.c:134 +#: receivelog.c:133 #, c-format msgid "could not open existing write-ahead log file \"%s\": %s" msgstr "не удалось открыть существующий файл журнала предзаписи \"%s\": %s" -#: receivelog.c:143 +#: receivelog.c:142 #, c-format msgid "could not fsync existing write-ahead log file \"%s\": %s" msgstr "" "не удалось сбросить на диск существующий файл журнала предзаписи \"%s\": %s" -#: receivelog.c:158 +#: receivelog.c:157 #, c-format msgid "write-ahead log file \"%s\" has %zd byte, should be 0 or %d" msgid_plural "write-ahead log file \"%s\" has %zd bytes, should be 0 or %d" @@ -1705,42 +2572,37 @@ msgstr[1] "" msgstr[2] "" "файл журнала предзаписи \"%s\" имеет размер %zd Б, а должен — 0 или %d" -#: receivelog.c:174 +#: receivelog.c:175 #, c-format msgid "could not open write-ahead log file \"%s\": %s" msgstr "не удалось открыть файл журнала предзаписи \"%s\": %s" -#: receivelog.c:208 -#, c-format -msgid "could not determine seek position in file \"%s\": %s" -msgstr "не удалось определить текущую позицию в файле \"%s\": %s" - -#: receivelog.c:223 +#: receivelog.c:216 #, c-format msgid "not renaming \"%s\", segment is not complete" msgstr "файл сегмента \"%s\" не переименовывается, так как он неполный" -#: receivelog.c:234 receivelog.c:323 receivelog.c:694 +#: receivelog.c:227 receivelog.c:317 receivelog.c:688 #, c-format msgid "could not close file \"%s\": %s" msgstr "не удалось закрыть файл \"%s\": %s" -#: receivelog.c:295 +#: receivelog.c:288 #, c-format msgid "server reported unexpected history file name for timeline %u: %s" msgstr "сервер сообщил неожиданное имя файла истории для линии времени %u: %s" -#: receivelog.c:303 +#: receivelog.c:297 #, c-format msgid "could not create timeline history file \"%s\": %s" msgstr "не удалось создать файл истории линии времени \"%s\": %s" -#: receivelog.c:310 +#: receivelog.c:304 #, c-format msgid "could not write timeline history file \"%s\": %s" msgstr "не удалось записать файл истории линии времени \"%s\": %s" -#: receivelog.c:400 +#: receivelog.c:394 #, c-format msgid "" "incompatible server version %s; client does not support streaming from " @@ -1749,7 +2611,7 @@ msgstr "" "несовместимая версия сервера %s; клиент не поддерживает репликацию с " "серверов версии ниже %s" -#: receivelog.c:409 +#: receivelog.c:403 #, c-format msgid "" "incompatible server version %s; client does not support streaming from " @@ -1758,7 +2620,7 @@ msgstr "" "несовместимая версия сервера %s; клиент не поддерживает репликацию с " "серверов версии выше %s" -#: receivelog.c:514 +#: receivelog.c:508 #, c-format msgid "" "system identifier does not match between base backup and streaming connection" @@ -1766,12 +2628,12 @@ msgstr "" "системный идентификатор базовой резервной копии отличается от идентификатора " "потоковой передачи" -#: receivelog.c:522 +#: receivelog.c:516 #, c-format msgid "starting timeline %u is not present in the server" msgstr "на сервере нет начальной линии времени %u" -#: receivelog.c:561 +#: receivelog.c:555 #, c-format msgid "" "unexpected response to TIMELINE_HISTORY command: got %d rows and %d fields, " @@ -1780,12 +2642,12 @@ msgstr "" "сервер вернул неожиданный ответ на команду TIMELINE_HISTORY; получено строк: " "%d, полей: %d, а ожидалось строк: %d, полей: %d" -#: receivelog.c:632 +#: receivelog.c:626 #, c-format msgid "server reported unexpected next timeline %u, following timeline %u" msgstr "сервер неожиданно сообщил линию времени %u после линии времени %u" -#: receivelog.c:638 +#: receivelog.c:632 #, c-format msgid "" "server stopped streaming timeline %u at %X/%X, but reported next timeline %u " @@ -1794,12 +2656,12 @@ msgstr "" "сервер прекратил передачу линии времени %u в %X/%X, но сообщил, что " "следующая линии времени %u начнётся в %X/%X" -#: receivelog.c:678 +#: receivelog.c:672 #, c-format msgid "replication stream was terminated before stop point" msgstr "поток репликации закончился до точки остановки" -#: receivelog.c:724 +#: receivelog.c:718 #, c-format msgid "" "unexpected result set after end-of-timeline: got %d rows and %d fields, " @@ -1808,61 +2670,62 @@ msgstr "" "сервер вернул неожиданный набор данных после конца линии времени; получено " "строк: %d, полей: %d, а ожидалось строк: %d, полей: %d" -#: receivelog.c:733 +#: receivelog.c:727 #, c-format msgid "could not parse next timeline's starting point \"%s\"" msgstr "не удалось разобрать начальную точку следующей линии времени \"%s\"" -#: receivelog.c:781 receivelog.c:1030 walmethods.c:1205 +#: receivelog.c:775 receivelog.c:1022 walmethods.c:1206 #, c-format msgid "could not fsync file \"%s\": %s" msgstr "не удалось синхронизировать с ФС файл \"%s\": %s" -#: receivelog.c:1091 +#: receivelog.c:1083 #, c-format msgid "received write-ahead log record for offset %u with no file open" msgstr "получена запись журнала предзаписи по смещению %u, но файл не открыт" -#: receivelog.c:1101 +#: receivelog.c:1093 #, c-format msgid "got WAL data offset %08x, expected %08x" msgstr "получено смещение данных WAL %08x, но ожидалось %08x" -#: receivelog.c:1135 +#: receivelog.c:1128 #, c-format msgid "could not write %d bytes to WAL file \"%s\": %s" msgstr "не удалось записать %d Б в файл WAL \"%s\": %s" -#: receivelog.c:1160 receivelog.c:1200 receivelog.c:1230 +#: receivelog.c:1153 receivelog.c:1193 receivelog.c:1222 #, c-format msgid "could not send copy-end packet: %s" msgstr "не удалось отправить пакет \"конец COPY\": %s" -#: streamutil.c:159 +#: streamutil.c:165 msgid "Password: " msgstr "Пароль: " -#: streamutil.c:182 +#: streamutil.c:192 #, c-format msgid "could not connect to server" msgstr "не удалось подключиться к серверу" -#: streamutil.c:225 +#: streamutil.c:233 #, c-format -msgid "could not clear search_path: %s" -msgstr "не удалось очистить search_path: %s" +msgid "could not clear \"search_path\": %s" +msgstr "не удалось очистить \"search_path\": %s" -#: streamutil.c:241 +#: streamutil.c:249 #, c-format -msgid "could not determine server setting for integer_datetimes" -msgstr "не удалось получить настройку сервера integer_datetimes" +msgid "could not determine server setting for \"integer_datetimes\"" +msgstr "не удалось получить параметр сервера \"integer_datetimes\"" -#: streamutil.c:248 +#: streamutil.c:256 #, c-format -msgid "integer_datetimes compile flag does not match server" -msgstr "флаг компиляции integer_datetimes не соответствует настройке сервера" +msgid "\"integer_datetimes\" compile flag does not match server" +msgstr "" +"флаг компиляции \"integer_datetimes\" не соответствует настройке сервера" -#: streamutil.c:299 +#: streamutil.c:375 #, c-format msgid "" "could not fetch WAL segment size: got %d rows and %d fields, expected %d " @@ -1871,30 +2734,26 @@ msgstr "" "не удалось извлечь размер сегмента WAL; получено строк: %d, полей: %d " "(ожидалось: %d и %d (или более))" -#: streamutil.c:309 +#: streamutil.c:385 #, c-format msgid "WAL segment size could not be parsed" msgstr "разобрать размер сегмента WAL не удалось" -#: streamutil.c:327 +#: streamutil.c:403 #, c-format -msgid "" -"WAL segment size must be a power of two between 1 MB and 1 GB, but the " -"remote server reported a value of %d byte" -msgid_plural "" -"WAL segment size must be a power of two between 1 MB and 1 GB, but the " -"remote server reported a value of %d bytes" -msgstr[0] "" -"размер сегмента WAL должен задаваться степенью 2 в интервале от 1 МБ до 1 " -"ГБ, но удалённый сервер сообщил значение: %d" -msgstr[1] "" -"размер сегмента WAL должен задаваться степенью 2 в интервале от 1 МБ до 1 " -"ГБ, но удалённый сервер сообщил значение: %d" -msgstr[2] "" -"размер сегмента WAL должен задаваться степенью 2 в интервале от 1 МБ до 1 " -"ГБ, но удалённый сервер сообщил значение: %d" +msgid "remote server reported invalid WAL segment size (%d byte)" +msgid_plural "remote server reported invalid WAL segment size (%d bytes)" +msgstr[0] "удалённый сервер выдал неверный размер сегмента WAL: %d Б" +msgstr[1] "удалённый сервер выдал неверный размер сегмента WAL: %d Б" +msgstr[2] "удалённый сервер выдал неверный размер сегмента WAL: %d Б" -#: streamutil.c:372 +#: streamutil.c:407 +#, c-format +msgid "The WAL segment size must be a power of two between 1 MB and 1 GB." +msgstr "" +"Размер сегмента WAL должен задаваться степенью 2 в интервале от 1 МБ до 1 ГБ." + +#: streamutil.c:449 #, c-format msgid "" "could not fetch group access flag: got %d rows and %d fields, expected %d " @@ -1903,12 +2762,12 @@ msgstr "" "не удалось извлечь флаг доступа группы; получено строк: %d, полей: %d " "(ожидалось: %d и %d (или более))" -#: streamutil.c:381 +#: streamutil.c:458 #, c-format msgid "group access flag could not be parsed: %s" msgstr "не удалось разобрать флаг доступа группы: %s" -#: streamutil.c:424 streamutil.c:461 +#: streamutil.c:501 streamutil.c:538 #, c-format msgid "" "could not identify system: got %d rows and %d fields, expected %d rows and " @@ -1917,7 +2776,7 @@ msgstr "" "не удалось идентифицировать систему; получено строк: %d, полей: %d " "(ожидалось: %d и %d (или более))" -#: streamutil.c:513 +#: streamutil.c:590 #, c-format msgid "" "could not read replication slot \"%s\": got %d rows and %d fields, expected " @@ -1926,23 +2785,23 @@ msgstr "" "прочитать из слота репликации \"%s\" не удалось; получено строк: %d, полей: " "%d (ожидалось: %d и %d)" -#: streamutil.c:525 +#: streamutil.c:602 #, c-format msgid "replication slot \"%s\" does not exist" msgstr "слот репликации \"%s\" не существует" -#: streamutil.c:536 +#: streamutil.c:613 #, c-format msgid "expected a physical replication slot, got type \"%s\" instead" msgstr "ожидался слот физической репликации, вместо этого получен тип \"%s\"" -#: streamutil.c:550 +#: streamutil.c:627 #, c-format msgid "could not parse restart_lsn \"%s\" for replication slot \"%s\"" msgstr "" "не удалось разобрать позицию restart_lsn \"%s\" для слота репликации \"%s\"" -#: streamutil.c:667 +#: streamutil.c:744 #, c-format msgid "" "could not create replication slot \"%s\": got %d rows and %d fields, " @@ -1951,7 +2810,7 @@ msgstr "" "создать слот репликации \"%s\" не удалось; получено строк: %d, полей: %d " "(ожидалось: %d и %d)" -#: streamutil.c:711 +#: streamutil.c:788 #, c-format msgid "" "could not drop replication slot \"%s\": got %d rows and %d fields, expected " @@ -1960,35 +2819,55 @@ msgstr "" "удалить слот репликации \"%s\" не получилось; получено строк: %d, полей: %d " "(ожидалось: %d и %d)" -#: walmethods.c:720 walmethods.c:1267 +#: walmethods.c:726 walmethods.c:1269 msgid "could not compress data" msgstr "не удалось сжать данные" -#: walmethods.c:749 +#: walmethods.c:755 msgid "could not reset compression stream" msgstr "не удалось сбросить поток сжатых данных" -#: walmethods.c:880 +#: walmethods.c:892 msgid "implementation error: tar files can't have more than one open file" msgstr "" "ошибка реализации: в файлах tar не может быть больше одно открытого файла" -#: walmethods.c:894 +#: walmethods.c:907 msgid "could not create tar header" msgstr "не удалось создать заголовок tar" -#: walmethods.c:910 walmethods.c:951 walmethods.c:1170 walmethods.c:1183 +#: walmethods.c:924 walmethods.c:965 walmethods.c:1171 walmethods.c:1184 msgid "could not change compression parameters" msgstr "не удалось изменить параметры сжатия" -#: walmethods.c:1055 +#: walmethods.c:1056 msgid "unlink not supported with compression" msgstr "со сжатием закрытие файла с удалением не поддерживается" -#: walmethods.c:1291 +#: walmethods.c:1293 msgid "could not close compression stream" msgstr "не удалось закрыть поток сжатых данных" +#, c-format +#~ msgid "this build does not support gzip compression" +#~ msgstr "эта сборка программы не поддерживает сжатие gzip" + +#, c-format +#~ msgid "this build does not support lz4 compression" +#~ msgstr "эта сборка программы не поддерживает сжатие lz4" + +#, c-format +#~ msgid "this build does not support zstd compression" +#~ msgstr "эта сборка программы не поддерживает сжатие zstd" + +#, c-format +#~ msgid "symlinks are not supported on this platform" +#~ msgstr "символические ссылки не поддерживаются в этой ОС" + +#, c-format +#~ msgid "could not determine seek position in file \"%s\": %s" +#~ msgstr "не удалось определить текущую позицию в файле \"%s\": %s" + #~ msgid "unknown compression option \"%s\"" #~ msgstr "неизвестный параметр сжатия \"%s\"" @@ -2003,9 +2882,6 @@ msgstr "не удалось закрыть поток сжатых данных" #~ "для параметра --compress не задано значение, используется значение по " #~ "умолчанию" -#~ msgid "could not find replication slot \"%s\"" -#~ msgstr "не удалось найти слот репликации \"%s\"" - #~ msgid "fatal: " #~ msgstr "важно: " @@ -2044,9 +2920,6 @@ msgstr "не удалось закрыть поток сжатых данных" #~ msgid "--no-manifest and --manifest-force-encode are incompatible options" #~ msgstr "параметры --no-manifest и --manifest-force-encode несовместимы" -#~ msgid "could not connect to server: %s" -#~ msgstr "не удалось подключиться к серверу: %s" - #~ msgid "" #~ "\n" #~ "Report bugs to .\n" @@ -2130,13 +3003,6 @@ msgstr "не удалось закрыть поток сжатых данных" #~ msgid "%s: initializing replication slot \"%s\"\n" #~ msgstr "%s: инициализируется слот репликации \"%s\"\n" -#~ msgid "" -#~ "%s: could not init logical replication: got %d rows and %d fields, " -#~ "expected %d rows and %d fields\n" -#~ msgstr "" -#~ "%s: не удалось инициализировать логическую репликацию; получено строк: " -#~ "%d, полей: %d (ожидалось: %d и %d)\n" - #~ msgid "%s: no start point returned from server\n" #~ msgstr "%s: сервер не вернул стартовую точку\n" @@ -2155,9 +3021,6 @@ msgstr "не удалось закрыть поток сжатых данных" #~ msgid "%s: invalid format of xlog location: %s\n" #~ msgstr "%s: неверный формат позиции в xlog: %s\n" -#~ msgid "%s: could not identify system: %s" -#~ msgstr "%s: не удалось идентифицировать систему: %s" - #~ msgid "%s: could not send base backup command: %s" #~ msgstr "" #~ "%s: не удалось отправить команду базового резервного копирования: %s" diff --git a/src/bin/pg_basebackup/po/sv.po b/src/bin/pg_basebackup/po/sv.po index e3cb8870291..e93dab66b4c 100644 --- a/src/bin/pg_basebackup/po/sv.po +++ b/src/bin/pg_basebackup/po/sv.po @@ -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. +# Dennis Björklund , 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024. # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 16\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-08-01 14:19+0000\n" -"PO-Revision-Date: 2023-08-01 22:11+0200\n" +"POT-Creation-Date: 2024-08-26 18:20+0000\n" +"PO-Revision-Date: 2024-08-26 20:56+0200\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -52,7 +52,7 @@ msgstr "hittade en tom sträng där en komprimeringsinställning förväntades" #: ../../common/compression.c:244 #, c-format msgid "unrecognized compression option: \"%s\"" -msgstr "okänd komprimeringsflagga \"%s\"" +msgstr "okänd komprimeringsflagga: \"%s\"" #: ../../common/compression.c:283 #, c-format @@ -89,6 +89,64 @@ msgstr "komprimeringsalgoritmen \"%s\" stöder inte inställning av antal arbeta msgid "compression algorithm \"%s\" does not support long-distance mode" msgstr "komprimeringsalgoritmen \"%s\" stöder inte långdistansläge" +#: ../../common/controldata_utils.c:97 +#, 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_basebackup.c:1873 +#: pg_receivewal.c:402 +#, c-format +msgid "could not read file \"%s\": %m" +msgstr "kunde inte läsa fil \"%s\": %m" + +#: ../../common/controldata_utils.c:119 +#, c-format +msgid "could not read file \"%s\": read %d of %zu" +msgstr "kunde inte läsa fil \"%s\": läste %d av %zu" + +#: ../../common/controldata_utils.c:132 ../../common/controldata_utils.c:280 +#: bbstreamer_file.c:138 pg_recvlogical.c:650 +#, c-format +msgid "could not close file \"%s\": %m" +msgstr "kunde inte stänga fil \"%s\": %m" + +#: ../../common/controldata_utils.c:168 +msgid "byte ordering mismatch" +msgstr "byte-ordning stämmer inte" + +#: ../../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 "" +"möjligt fel i byteordning\n" +"Den byteordning som filen från pg_control lagrats med passar kanske\n" +"inte detta program. I så fall kan nedanstående resultat vara felaktiga\n" +"och PostgreSQL-installationen vara inkompatibel med databaskatalogen." + +#: ../../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 +#: pg_basebackup.c:1846 pg_receivewal.c:386 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "kunde inte öppna fil \"%s\": %m" + +#: ../../common/controldata_utils.c:249 +#, c-format +msgid "could not write file \"%s\": %m" +msgstr "kunde inte skriva fil \"%s\": %m" + +#: ../../common/controldata_utils.c:268 ../../common/file_utils.c:418 +#: ../../common/file_utils.c:488 pg_recvlogical.c:204 +#, c-format +msgid "could not fsync file \"%s\": %m" +msgstr "kunde inte fsync:a fil \"%s\": %m" + #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 #: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 #, c-format @@ -100,39 +158,69 @@ msgstr "slut på minne\n" msgid "cannot duplicate null pointer (internal error)\n" msgstr "kan inte duplicera null-pekare (internt fel)\n" -#: ../../common/file_utils.c:87 ../../common/file_utils.c:447 -#: pg_receivewal.c:319 pg_recvlogical.c:339 +#: ../../common/file_utils.c:76 +#, c-format +msgid "could not synchronize file system for file \"%s\": %m" +msgstr "kan inte synkronisera filsystemet för fil \"%s\": %m" + +#: ../../common/file_utils.c:120 ../../common/file_utils.c:566 +#: pg_receivewal.c:319 pg_recvlogical.c:352 #, c-format msgid "could not stat file \"%s\": %m" msgstr "kunde inte göra stat() på fil \"%s\": %m" -#: ../../common/file_utils.c:162 pg_receivewal.c:242 +#: ../../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 "detta bygge stöder inte synkmetod \"%s\"" + +#: ../../common/file_utils.c:151 ../../common/file_utils.c:281 +#: pg_receivewal.c:242 #, c-format msgid "could not open directory \"%s\": %m" msgstr "kunde inte öppna katalog \"%s\": %m" -#: ../../common/file_utils.c:196 pg_receivewal.c:471 +#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 +#: pg_receivewal.c:471 #, c-format msgid "could not read directory \"%s\": %m" msgstr "kunde inte läsa katalog \"%s\": %m" -#: ../../common/file_utils.c:228 ../../common/file_utils.c:287 -#: ../../common/file_utils.c:361 ../../fe_utils/recovery_gen.c:121 -#: pg_receivewal.c:386 +#: ../../common/file_utils.c:498 pg_basebackup.c:2344 walmethods.c:462 #, c-format -msgid "could not open file \"%s\": %m" -msgstr "kunde inte öppna fil \"%s\": %m" +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "kunde inte döpa om fil \"%s\" till \"%s\": %m" -#: ../../common/file_utils.c:299 ../../common/file_utils.c:369 -#: pg_recvlogical.c:194 +#: ../../common/restricted_token.c:60 #, c-format -msgid "could not fsync file \"%s\": %m" -msgstr "kunde inte fsync:a fil \"%s\": %m" +msgid "could not open process token: error code %lu" +msgstr "kunde inte öppna process-token: felkod %lu" -#: ../../common/file_utils.c:379 pg_basebackup.c:2237 walmethods.c:462 +#: ../../common/restricted_token.c:74 #, c-format -msgid "could not rename file \"%s\" to \"%s\": %m" -msgstr "kunde inte döpa om fil \"%s\" till \"%s\": %m" +msgid "could not allocate SIDs: error code %lu" +msgstr "kunde inte allokera SID: felkod %lu" + +#: ../../common/restricted_token.c:94 +#, c-format +msgid "could not create restricted token: error code %lu" +msgstr "kunde inte skapa token för begränsad åtkomst: felkod %lu" + +#: ../../common/restricted_token.c:115 +#, c-format +msgid "could not start process for command \"%s\": error code %lu" +msgstr "kunde inte starta process för kommando \"%s\": felkod %lu" + +#: ../../common/restricted_token.c:153 +#, c-format +msgid "could not re-execute with restricted token: error code %lu" +msgstr "kunde inte köra igen med token för begränsad åtkomst: felkod %lu" + +#: ../../common/restricted_token.c:168 +#, c-format +msgid "could not get exit code from subprocess: error code %lu" +msgstr "kunde inte hämta statuskod för underprocess: felkod %lu" #: ../../fe_utils/option_utils.c:69 #, c-format @@ -144,51 +232,62 @@ msgstr "ogiltigt värde \"%s\" för flaggan \"%s\"" msgid "%s must be in range %d..%d" msgstr "%s måste vara i intervallet %d..%d" -#: ../../fe_utils/recovery_gen.c:34 ../../fe_utils/recovery_gen.c:45 -#: ../../fe_utils/recovery_gen.c:70 ../../fe_utils/recovery_gen.c:90 -#: ../../fe_utils/recovery_gen.c:149 pg_basebackup.c:1609 +#: ../../fe_utils/option_utils.c:106 +#, c-format +msgid "unrecognized sync method: %s" +msgstr "okänd synkmetod: %s" + +#: ../../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 #, c-format msgid "out of memory" msgstr "slut på minne" -#: ../../fe_utils/recovery_gen.c:124 bbstreamer_file.c:121 -#: bbstreamer_file.c:258 pg_basebackup.c:1406 pg_basebackup.c:1700 +#: ../../fe_utils/recovery_gen.c:143 bbstreamer_file.c:121 +#: bbstreamer_file.c:258 pg_basebackup.c:1433 pg_basebackup.c:1727 #, c-format msgid "could not write to file \"%s\": %m" msgstr "kunde inte skriva till fil \"%s\": %m" -#: ../../fe_utils/recovery_gen.c:133 bbstreamer_file.c:93 bbstreamer_file.c:360 -#: pg_basebackup.c:1470 pg_basebackup.c:1679 +#: ../../fe_utils/recovery_gen.c:152 bbstreamer_file.c:93 bbstreamer_file.c:361 +#: pg_basebackup.c:1497 pg_basebackup.c:1706 #, c-format msgid "could not create file \"%s\": %m" msgstr "kunde inte skapa fil \"%s\": %m" -#: bbstreamer_file.c:138 pg_recvlogical.c:633 +#: ../../fe_utils/string_utils.c:434 #, c-format -msgid "could not close file \"%s\": %m" -msgstr "kunde inte stänga fil \"%s\": %m" +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 +#, c-format +msgid "database name contains a newline or carriage return: \"%s\"\n" +msgstr "databasnamnet innehåller nyrad eller vagnretur: \"%s\"\n" #: bbstreamer_file.c:275 #, c-format msgid "unexpected state while extracting archive" msgstr "oväntat tillstånd vid uppackning av arkiv" -#: bbstreamer_file.c:320 pg_basebackup.c:686 pg_basebackup.c:730 +#: bbstreamer_file.c:321 pg_basebackup.c:698 pg_basebackup.c:712 +#: pg_basebackup.c:757 #, c-format msgid "could not create directory \"%s\": %m" msgstr "kunde inte skapa katalog \"%s\": %m" -#: bbstreamer_file.c:325 +#: bbstreamer_file.c:326 #, c-format msgid "could not set permissions on directory \"%s\": %m" msgstr "kunde inte sätta rättigheter på katalogen \"%s\": %m" -#: bbstreamer_file.c:344 +#: bbstreamer_file.c:345 #, c-format msgid "could not create symbolic link from \"%s\" to \"%s\": %m" msgstr "kunde inte skapa symbolisk länk från \"%s\" till \"%s\": %m" -#: bbstreamer_file.c:364 +#: bbstreamer_file.c:365 #, c-format msgid "could not set permissions on file \"%s\": %m" msgstr "kunde inte sätta rättigheter på filen \"%s\": %m" @@ -223,7 +322,7 @@ msgstr "kunde inte skriva till komprimerad fil \"%s\": %s" msgid "could not close compressed file \"%s\": %m" msgstr "kunde inte stänga komprimerad fil \"%s\": %m" -#: bbstreamer_gzip.c:245 walmethods.c:876 +#: bbstreamer_gzip.c:245 walmethods.c:880 #, c-format msgid "could not initialize compression library" msgstr "kunde inte initierar komprimeringsbibliotek" @@ -273,12 +372,12 @@ msgstr "tarfilens slutdel överskred 2 block" msgid "unexpected state while parsing tar archive" msgstr "oväntat tillstånd vid parsning av tar-arkiv" -#: bbstreamer_tar.c:296 +#: bbstreamer_tar.c:292 #, c-format msgid "tar member has empty name" msgstr "tar-medlem har tomt namn" -#: bbstreamer_tar.c:328 +#: bbstreamer_tar.c:326 #, c-format msgid "COPY stream ended before last file was finished" msgstr "COPY-ström avslutade innan sista filen var klar" @@ -308,87 +407,87 @@ msgstr "kunde inte aktivera långdistansläge: %s" msgid "could not create zstd decompression context" msgstr "kunde inte skapa kontext för zstd-dekomprimering" -#: pg_basebackup.c:238 +#: pg_basebackup.c:245 #, c-format msgid "removing data directory \"%s\"" msgstr "tar bort datakatalog \"%s\"" -#: pg_basebackup.c:240 +#: pg_basebackup.c:247 #, c-format msgid "failed to remove data directory" msgstr "misslyckades med att ta bort datakatalog" -#: pg_basebackup.c:244 +#: pg_basebackup.c:251 #, c-format msgid "removing contents of data directory \"%s\"" msgstr "tar bort innehållet i datakatalog \"%s\"" -#: pg_basebackup.c:246 +#: pg_basebackup.c:253 #, c-format msgid "failed to remove contents of data directory" msgstr "misslyckades med att ta bort innehållet i datakatalogen" -#: pg_basebackup.c:251 +#: pg_basebackup.c:258 #, c-format msgid "removing WAL directory \"%s\"" msgstr "tar bort WAL-katalog \"%s\"" -#: pg_basebackup.c:253 +#: pg_basebackup.c:260 #, c-format msgid "failed to remove WAL directory" msgstr "misslyckades med att ta bort WAL-katalog" -#: pg_basebackup.c:257 +#: pg_basebackup.c:264 #, c-format msgid "removing contents of WAL directory \"%s\"" msgstr "tar bort innehållet i WAL-katalog \"%s\"" -#: pg_basebackup.c:259 +#: pg_basebackup.c:266 #, c-format msgid "failed to remove contents of WAL directory" msgstr "misslyckades med att ta bort innehållet i WAL-katalogen" -#: pg_basebackup.c:265 +#: pg_basebackup.c:272 #, c-format msgid "data directory \"%s\" not removed at user's request" msgstr "datakatalog \"%s\" är ej borttagen på användares begäran" -#: pg_basebackup.c:268 +#: pg_basebackup.c:275 #, c-format msgid "WAL directory \"%s\" not removed at user's request" msgstr "WAL-katalog \"%s\" är ej borttagen på användares begäran" -#: pg_basebackup.c:272 +#: pg_basebackup.c:279 #, c-format msgid "changes to tablespace directories will not be undone" msgstr "ändringar av tablespace-kataloger kan inte backas" -#: pg_basebackup.c:324 +#: pg_basebackup.c:331 #, c-format msgid "directory name too long" msgstr "katalognamn för långt" -#: pg_basebackup.c:331 +#: pg_basebackup.c:338 #, c-format msgid "multiple \"=\" signs in tablespace mapping" msgstr "multipla \"=\"-tecken i tablespace-mappning" -#: pg_basebackup.c:340 +#: pg_basebackup.c:347 #, c-format msgid "invalid tablespace mapping format \"%s\", must be \"OLDDIR=NEWDIR\"" msgstr "ogiltigt tablespace-mappningsformat \"%s\", måste vara \"OLDDIR=NEWDIR\"" -#: pg_basebackup.c:359 +#: pg_basebackup.c:366 #, 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_basebackup.c:363 +#: pg_basebackup.c:370 #, 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_basebackup.c:385 +#: pg_basebackup.c:392 #, c-format msgid "" "%s takes a base backup of a running PostgreSQL server.\n" @@ -397,17 +496,19 @@ msgstr "" "%s tar en basbackup av en körande PostgreSQL-server.\n" "\n" -#: pg_basebackup.c:387 pg_receivewal.c:79 pg_recvlogical.c:76 +#: pg_basebackup.c:394 pg_createsubscriber.c:221 pg_receivewal.c:79 +#: pg_recvlogical.c:86 #, c-format msgid "Usage:\n" msgstr "Användning:\n" -#: pg_basebackup.c:388 pg_receivewal.c:80 pg_recvlogical.c:77 +#: pg_basebackup.c:395 pg_createsubscriber.c:222 pg_receivewal.c:80 +#: pg_recvlogical.c:87 #, c-format msgid " %s [OPTION]...\n" msgstr " %s [FLAGGA]...\n" -#: pg_basebackup.c:389 +#: pg_basebackup.c:396 #, c-format msgid "" "\n" @@ -416,17 +517,26 @@ msgstr "" "\n" "Flaggor som styr utmatning:\n" -#: pg_basebackup.c:390 +#: pg_basebackup.c:397 #, c-format msgid " -D, --pgdata=DIRECTORY receive base backup into directory\n" -msgstr " -D, --pgdata=KATALOG ta emot basbackup till katalog\n" +msgstr " -D, --pgdata=KATALOG ta emot basbackup till katalog\n" -#: pg_basebackup.c:391 +#: pg_basebackup.c:398 #, c-format msgid " -F, --format=p|t output format (plain (default), tar)\n" msgstr " -F, --format=p|t utdataformat (plain (standard), tar)\n" -#: pg_basebackup.c:392 +#: pg_basebackup.c:399 +#, c-format +msgid "" +" -i, --incremental=OLDMANIFEST\n" +" take incremental backup\n" +msgstr "" +" -i, --incremental=GAMMALTMANIFEST\n" +" ta inkrementell backup\n" + +#: pg_basebackup.c:401 #, c-format msgid "" " -r, --max-rate=RATE maximum transfer rate to transfer data directory\n" @@ -435,7 +545,7 @@ msgstr "" " -r, --max-rate=RATE maximal överföringshastighet för att överföra datakatalog\n" " (i kB/s, eller använd suffix \"k\" resp. \"M\")\n" -#: pg_basebackup.c:394 +#: pg_basebackup.c:403 #, c-format msgid "" " -R, --write-recovery-conf\n" @@ -444,7 +554,7 @@ msgstr "" " -R, --write-recovery-conf\n" " skriv konfiguration för replikering\n" -#: pg_basebackup.c:396 +#: pg_basebackup.c:405 #, c-format msgid "" " -t, --target=TARGET[:DETAIL]\n" @@ -453,7 +563,7 @@ msgstr "" " -t, --target=MÅL[:DETALJ]\n" " backupmål (om annat än klienten)\n" -#: pg_basebackup.c:398 +#: pg_basebackup.c:407 #, c-format msgid "" " -T, --tablespace-mapping=OLDDIR=NEWDIR\n" @@ -462,12 +572,12 @@ msgstr "" " -T, --tablespace-mapping=GAMMALKAT=NYKAT\n" " flytta tablespace i GAMMALKAT till NYKAT\n" -#: pg_basebackup.c:400 +#: pg_basebackup.c:409 #, c-format msgid " --waldir=WALDIR location for the write-ahead log directory\n" msgstr " --waldir=WALKAT plats för write-ahead-logg-katalog\n" -#: pg_basebackup.c:401 +#: pg_basebackup.c:410 #, c-format msgid "" " -X, --wal-method=none|fetch|stream\n" @@ -476,12 +586,12 @@ msgstr "" " -X, --wal-method=none|fetch|stream\n" " inkludera behövda WAL-filer med angiven metod\n" -#: pg_basebackup.c:403 +#: pg_basebackup.c:412 #, c-format msgid " -z, --gzip compress tar output\n" msgstr " -z, --gzip komprimera tar-utdata\n" -#: pg_basebackup.c:404 +#: pg_basebackup.c:413 #, c-format msgid "" " -Z, --compress=[{client|server}-]METHOD[:DETAIL]\n" @@ -490,12 +600,12 @@ msgstr "" " -Z, --compress=[{client|server}-]METOD[:DETALJ]\n" " komprimera på klient- eller serversida\n" -#: pg_basebackup.c:406 +#: pg_basebackup.c:415 #, c-format msgid " -Z, --compress=none do not compress tar output\n" msgstr " -Z, --compress=none komprimera inte tar-utdata\n" -#: pg_basebackup.c:407 +#: pg_basebackup.c:416 #, c-format msgid "" "\n" @@ -504,56 +614,56 @@ msgstr "" "\n" "Allmänna flaggor:\n" -#: pg_basebackup.c:408 +#: pg_basebackup.c:417 #, c-format msgid "" " -c, --checkpoint=fast|spread\n" -" set fast or spread checkpointing\n" +" set fast or spread (default) checkpointing\n" msgstr "" " -c, --checkpoint=fast|spread\n" -" ställ in \"fast\" eller \"spread\" checkpoint-metod\n" +" ställ in checkpoint-metod \"fast\" eller \"spread\" (standard)\n" -#: pg_basebackup.c:410 +#: pg_basebackup.c:419 #, c-format msgid " -C, --create-slot create replication slot\n" msgstr " --create-slot skapa en replikeringsslot\n" -#: pg_basebackup.c:411 +#: pg_basebackup.c:420 #, c-format msgid " -l, --label=LABEL set backup label\n" msgstr " -l, --label=ETIKETT sätt backup-etikett\n" -#: pg_basebackup.c:412 +#: pg_basebackup.c:421 #, c-format msgid " -n, --no-clean do not clean up after errors\n" msgstr " -n, --no-clean städa inte upp efter fel\n" -#: pg_basebackup.c:413 +#: pg_basebackup.c:422 #, c-format msgid " -N, --no-sync do not wait for changes to be written safely to disk\n" msgstr " -N, --no-sync vänta inte på att ändringar skall skrivas säkert till disk\n" -#: pg_basebackup.c:414 +#: pg_basebackup.c:423 #, c-format msgid " -P, --progress show progress information\n" msgstr " -P, --progress visa förloppsinformation\n" -#: pg_basebackup.c:415 pg_receivewal.c:89 +#: pg_basebackup.c:424 pg_receivewal.c:89 #, c-format msgid " -S, --slot=SLOTNAME replication slot to use\n" msgstr " -S, --slot=SLOTNAMN replikerings-slot att använda\n" -#: pg_basebackup.c:416 pg_receivewal.c:91 pg_recvlogical.c:98 +#: pg_basebackup.c:425 pg_receivewal.c:91 pg_recvlogical.c:108 #, c-format msgid " -v, --verbose output verbose messages\n" msgstr " -v, --verbose mata ut utförliga meddelanden\n" -#: pg_basebackup.c:417 pg_receivewal.c:92 pg_recvlogical.c:99 +#: pg_basebackup.c:426 pg_receivewal.c:92 pg_recvlogical.c:109 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version visa versionsinformation, avsluta sedan\n" -#: pg_basebackup.c:418 +#: pg_basebackup.c:427 #, c-format msgid "" " --manifest-checksums=SHA{224,256,384,512}|CRC32C|NONE\n" @@ -562,7 +672,7 @@ msgstr "" " --manifest-checksums=SHA{224,256,384,512}|CRC32C|NONE\n" " använd algoritm för manifestchecksummor\n" -#: pg_basebackup.c:420 +#: pg_basebackup.c:429 #, c-format msgid "" " --manifest-force-encode\n" @@ -571,22 +681,22 @@ msgstr "" " --manifest-force-encode\n" " hex-koda alla filnamn i manifestet\n" -#: pg_basebackup.c:422 +#: pg_basebackup.c:431 #, c-format msgid " --no-estimate-size do not estimate backup size in server side\n" msgstr " --no-estimate-size estimerar inte backupstorlek på serversidan\n" -#: pg_basebackup.c:423 +#: pg_basebackup.c:432 #, c-format msgid " --no-manifest suppress generation of backup manifest\n" msgstr " --no-manifest förhindra att backupmanifest genereras\n" -#: pg_basebackup.c:424 +#: pg_basebackup.c:433 #, c-format msgid " --no-slot prevent creation of temporary replication slot\n" msgstr " --no-slot förhindra skapande av temporär replikerings-slot\n" -#: pg_basebackup.c:425 +#: pg_basebackup.c:434 #, c-format msgid "" " --no-verify-checksums\n" @@ -595,12 +705,21 @@ msgstr "" " --no-verify-checksums\n" " verifiera inte checksummor\n" -#: pg_basebackup.c:427 pg_receivewal.c:95 pg_recvlogical.c:100 +#: pg_basebackup.c:436 +#, c-format +msgid "" +" --sync-method=METHOD\n" +" set method for syncing files to disk\n" +msgstr "" +" --sync-method=METOD\n" +" sätt synkmetod för att synka filer till disk\n" + +#: pg_basebackup.c:438 pg_receivewal.c:95 pg_recvlogical.c:110 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help visa den här hjälpen, avsluta sedan\n" -#: pg_basebackup.c:428 pg_receivewal.c:96 pg_recvlogical.c:101 +#: pg_basebackup.c:439 pg_receivewal.c:96 pg_recvlogical.c:111 #, c-format msgid "" "\n" @@ -609,22 +728,22 @@ msgstr "" "\n" "Flaggor för anslutning:\n" -#: pg_basebackup.c:429 pg_receivewal.c:97 +#: pg_basebackup.c:440 pg_receivewal.c:97 #, c-format msgid " -d, --dbname=CONNSTR connection string\n" msgstr " -d, --dbname=CONNSTR anslutningssträng\n" -#: pg_basebackup.c:430 pg_receivewal.c:98 pg_recvlogical.c:103 +#: pg_basebackup.c:441 pg_receivewal.c:98 pg_recvlogical.c:113 #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr " -h, --host=HOSTNAMN databasserverns värdnamn eller socket-katalog\n" -#: pg_basebackup.c:431 pg_receivewal.c:99 pg_recvlogical.c:104 +#: pg_basebackup.c:442 pg_receivewal.c:99 pg_recvlogical.c:114 #, c-format msgid " -p, --port=PORT database server port number\n" msgstr " -p, --port=PORT databasserverns postnummer\n" -#: pg_basebackup.c:432 +#: pg_basebackup.c:443 #, c-format msgid "" " -s, --status-interval=INTERVAL\n" @@ -633,22 +752,23 @@ msgstr "" " -s, --status-interval=INTERVAL\n" " tid mellan att statuspaket skickas till servern (i sekunder)\n" -#: pg_basebackup.c:434 pg_receivewal.c:100 pg_recvlogical.c:105 +#: pg_basebackup.c:445 pg_receivewal.c:100 pg_recvlogical.c:115 #, c-format msgid " -U, --username=NAME connect as specified database user\n" msgstr " -U, --username=NAMN ansluta som angiven databasanvändare\n" -#: pg_basebackup.c:435 pg_receivewal.c:101 pg_recvlogical.c:106 +#: pg_basebackup.c:446 pg_receivewal.c:101 pg_recvlogical.c:116 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password fråga aldrig efter lösenord\n" -#: pg_basebackup.c:436 pg_receivewal.c:102 pg_recvlogical.c:107 +#: pg_basebackup.c:447 pg_receivewal.c:102 pg_recvlogical.c:117 #, c-format msgid " -W, --password force password prompt (should happen automatically)\n" msgstr " -W, --password tvinga fram lösenordsfråga (skall ske automatiskt)\n" -#: pg_basebackup.c:437 pg_receivewal.c:106 pg_recvlogical.c:108 +#: pg_basebackup.c:448 pg_createsubscriber.c:240 pg_receivewal.c:106 +#: pg_recvlogical.c:118 #, c-format msgid "" "\n" @@ -657,484 +777,546 @@ msgstr "" "\n" "Rapportera fel till <%s>.\n" -#: pg_basebackup.c:438 pg_receivewal.c:107 pg_recvlogical.c:109 +#: pg_basebackup.c:449 pg_createsubscriber.c:241 pg_receivewal.c:107 +#: pg_recvlogical.c:119 #, c-format msgid "%s home page: <%s>\n" msgstr "hemsida för %s: <%s>\n" -#: pg_basebackup.c:477 +#: pg_basebackup.c:488 #, c-format msgid "could not read from ready pipe: %m" msgstr "kunde inte läsa från rör (pipe) som har data: %m" -#: pg_basebackup.c:480 pg_basebackup.c:622 pg_basebackup.c:2151 -#: streamutil.c:441 +#: pg_basebackup.c:491 pg_basebackup.c:633 pg_basebackup.c:2258 +#: streamutil.c:518 #, c-format msgid "could not parse write-ahead log location \"%s\"" msgstr "kunde inte parsa write-ahead-logg-plats \"%s\"" -#: pg_basebackup.c:585 pg_receivewal.c:600 +#: pg_basebackup.c:596 pg_receivewal.c:600 #, c-format msgid "could not finish writing WAL files: %m" msgstr "kunde inte slutföra skrivning av WAL-filer: %m" -#: pg_basebackup.c:631 +#: pg_basebackup.c:642 #, c-format msgid "could not create pipe for background process: %m" msgstr "kunde inte skapa rör (pipe) för bakgrundsprocess: %m" -#: pg_basebackup.c:664 +#: pg_basebackup.c:676 #, c-format msgid "created temporary replication slot \"%s\"" msgstr "skapade en temporär replikeringsslot \"%s\"" -#: pg_basebackup.c:667 +#: pg_basebackup.c:679 #, c-format msgid "created replication slot \"%s\"" msgstr "skapade en replikeringsslot \"%s\"" -#: pg_basebackup.c:701 +#: pg_basebackup.c:728 #, c-format msgid "could not create background process: %m" msgstr "kunde inte skapa bakgrundsprocess: %m" -#: pg_basebackup.c:710 +#: pg_basebackup.c:737 #, c-format msgid "could not create background thread: %m" msgstr "kunde inte skapa bakgrundstråd: %m" -#: pg_basebackup.c:749 +#: pg_basebackup.c:776 #, c-format msgid "directory \"%s\" exists but is not empty" msgstr "katalogen \"%s\" existerar men är inte tom" -#: pg_basebackup.c:755 +#: pg_basebackup.c:782 pg_createsubscriber.c:390 #, c-format msgid "could not access directory \"%s\": %m" msgstr "kunde inte komma åt katalog \"%s\": %m" -#: pg_basebackup.c:831 +#: pg_basebackup.c:858 #, c-format msgid "%*s/%s kB (100%%), %d/%d tablespace %*s" msgid_plural "%*s/%s kB (100%%), %d/%d tablespaces %*s" msgstr[0] "%*s/%s kB (100%%), %d/%d tablespace %*s" msgstr[1] "%*s/%s kB (100%%), %d/%d tablespace %*s" -#: pg_basebackup.c:843 +#: pg_basebackup.c:870 #, c-format msgid "%*s/%s kB (%d%%), %d/%d tablespace (%s%-*.*s)" msgid_plural "%*s/%s kB (%d%%), %d/%d tablespaces (%s%-*.*s)" msgstr[0] "%*s/%s kB (%d%%), %d/%d tablespace (%s%-*.*s)" msgstr[1] "%*s/%s kB (%d%%), %d/%d tablespace (%s%-*.*s)" -#: pg_basebackup.c:859 +#: pg_basebackup.c:886 #, c-format msgid "%*s/%s kB (%d%%), %d/%d tablespace" msgid_plural "%*s/%s kB (%d%%), %d/%d tablespaces" msgstr[0] "%*s/%s kB (%d%%), %d/%d tablespace" msgstr[1] "%*s/%s kB (%d%%), %d/%d tablespace" -#: pg_basebackup.c:883 +#: pg_basebackup.c:910 #, c-format msgid "transfer rate \"%s\" is not a valid value" msgstr "överföringshastighet \"%s\" är inte ett giltigt värde" -#: pg_basebackup.c:885 +#: pg_basebackup.c:912 #, c-format msgid "invalid transfer rate \"%s\": %m" msgstr "ogiltig överföringshastighet \"%s\": %m" -#: pg_basebackup.c:892 +#: pg_basebackup.c:919 #, c-format msgid "transfer rate must be greater than zero" msgstr "överföringshastigheten måste vara större än noll" -#: pg_basebackup.c:922 +#: pg_basebackup.c:949 #, c-format msgid "invalid --max-rate unit: \"%s\"" msgstr "ogiltig enhet för --max-rate: \"%s\"" -#: pg_basebackup.c:926 +#: pg_basebackup.c:953 #, c-format msgid "transfer rate \"%s\" exceeds integer range" msgstr "överföringshastighet \"%s\" överskrider heltalsintervall" -#: pg_basebackup.c:933 +#: pg_basebackup.c:960 #, c-format msgid "transfer rate \"%s\" is out of range" msgstr "överföringshastighet \"%s\" är utanför sitt intervall" -#: pg_basebackup.c:995 +#: pg_basebackup.c:1022 #, c-format msgid "could not get COPY data stream: %s" msgstr "kunde inte hämta COPY-data-ström: %s" -#: pg_basebackup.c:1012 pg_recvlogical.c:436 pg_recvlogical.c:608 +#: pg_basebackup.c:1039 pg_recvlogical.c:449 pg_recvlogical.c:625 #: receivelog.c:973 #, c-format msgid "could not read COPY data: %s" msgstr "kunde inte läsa COPY-data: %s" -#: pg_basebackup.c:1016 +#: pg_basebackup.c:1043 #, c-format msgid "background process terminated unexpectedly" msgstr "en bakgrundsprocess avslutade oväntat" -#: pg_basebackup.c:1087 +#: pg_basebackup.c:1114 #, c-format msgid "cannot inject manifest into a compressed tar file" msgstr "kan inte injicera manifest in i en komprimerad tarfil" -#: pg_basebackup.c:1088 +#: pg_basebackup.c:1115 #, c-format msgid "Use client-side compression, send the output to a directory rather than standard output, or use %s." msgstr "använd komprimering på klientsidan, skicka utdatan till en katalog istället för till standard ut eller använd %s." -#: pg_basebackup.c:1104 +#: pg_basebackup.c:1131 #, c-format msgid "cannot parse archive \"%s\"" msgstr "kunde inte parsa arkiv \"%s\"" -#: pg_basebackup.c:1105 +#: pg_basebackup.c:1132 #, c-format msgid "Only tar archives can be parsed." msgstr "Bara tar-arkiv kan parsas." -#: pg_basebackup.c:1107 +#: pg_basebackup.c:1134 #, c-format msgid "Plain format requires pg_basebackup to parse the archive." msgstr "Enkelt format kräver pg_basebackup för att parsa arkivet." -#: pg_basebackup.c:1109 +#: pg_basebackup.c:1136 #, c-format msgid "Using - as the output directory requires pg_basebackup to parse the archive." msgstr "Att använda - som utkatalog kräver att pg_basebackup parsar arkivet." -#: pg_basebackup.c:1111 +#: pg_basebackup.c:1138 #, c-format msgid "The -R option requires pg_basebackup to parse the archive." msgstr "Flaggan -R kräver att pg_basebackup parsar arkivet." -#: pg_basebackup.c:1330 +#: pg_basebackup.c:1357 #, c-format msgid "archives must precede manifest" msgstr "arkiv skall komma före manifest" -#: pg_basebackup.c:1345 +#: pg_basebackup.c:1372 #, c-format msgid "invalid archive name: \"%s\"" msgstr "ogiltigt arkivnamn: \"%s\"" -#: pg_basebackup.c:1417 +#: pg_basebackup.c:1444 #, c-format msgid "unexpected payload data" msgstr "oväntat datainnehåll" -#: pg_basebackup.c:1560 +#: pg_basebackup.c:1587 #, c-format msgid "empty COPY message" msgstr "tomt COPY-meddelande" -#: pg_basebackup.c:1562 +#: pg_basebackup.c:1589 #, c-format msgid "malformed COPY message of type %d, length %zu" msgstr "felaktigt COPY-meddelande av typ %d, längd %zu" -#: pg_basebackup.c:1760 +#: pg_basebackup.c:1789 #, c-format msgid "incompatible server version %s" msgstr "inkompatibel serverversion %s" -#: pg_basebackup.c:1776 +#: pg_basebackup.c:1805 #, c-format msgid "Use -X none or -X fetch to disable log streaming." msgstr "Använd -X none eller -X fetch för att stänga av logg-strömning" -#: pg_basebackup.c:1844 +#: pg_basebackup.c:1841 +#, c-format +msgid "server does not support incremental backup" +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 +#, c-format +msgid "could not send replication command \"%s\": %s" +msgstr "kunde inte skicka replikeringskommando \"%s\": %s" + +#: pg_basebackup.c:1856 pg_basebackup.c:1883 +#, c-format +msgid "could not upload manifest: %s" +msgstr "kunde inte ladda upp manifest: %s" + +#: pg_basebackup.c:1859 pg_basebackup.c:1886 +#, c-format +msgid "could not upload manifest: unexpected status %s" +msgstr "kunde inte ladda upp manifest: oväntad status %s" + +#: pg_basebackup.c:1867 +#, c-format +msgid "could not send COPY data: %s" +msgstr "kunde inte skicka COPY-data: %s" + +#: pg_basebackup.c:1877 +#, c-format +msgid "could not send end-of-COPY: %s" +msgstr "kunde inte skicka slut-på-COPY: %s" + +#: pg_basebackup.c:1892 +#, c-format +msgid "unexpected extra result while sending manifest" +msgstr "oväntat extra resultat vid skickande av manifest" + +#: pg_basebackup.c:1950 #, c-format msgid "backup targets are not supported by this server version" msgstr "backupmål stöds inte av denna serverversion" -#: pg_basebackup.c:1847 +#: pg_basebackup.c:1953 #, c-format msgid "recovery configuration cannot be written when a backup target is used" msgstr "återställningskonfiguration kan inte skrivas när backupmål används" -#: pg_basebackup.c:1874 +#: pg_basebackup.c:1980 #, c-format msgid "server does not support server-side compression" msgstr "servern stöder inte komprimering på serversidan" -#: pg_basebackup.c:1884 +#: pg_basebackup.c:1990 #, c-format msgid "initiating base backup, waiting for checkpoint to complete" msgstr "initierar basbackup, väntar på att checkpoint skall gå klart" -#: pg_basebackup.c:1888 +#: pg_basebackup.c:1994 #, c-format msgid "waiting for checkpoint" msgstr "väntar på checkpoint" -#: pg_basebackup.c:1901 pg_recvlogical.c:260 receivelog.c:543 receivelog.c:582 -#: streamutil.c:288 streamutil.c:361 streamutil.c:413 streamutil.c:501 -#: streamutil.c:653 streamutil.c:698 -#, c-format -msgid "could not send replication command \"%s\": %s" -msgstr "kunde inte skicka replikeringskommando \"%s\": %s" - -#: pg_basebackup.c:1909 +#: pg_basebackup.c:2016 #, c-format msgid "could not initiate base backup: %s" msgstr "kunde inte initiera basbackup: %s" -#: pg_basebackup.c:1912 +#: pg_basebackup.c:2019 #, c-format msgid "server returned unexpected response to BASE_BACKUP command; got %d rows and %d fields, expected %d rows and %d fields" msgstr "servern retunerade ett oväntat svar på BASE_BACKUP-kommandot; fick %d rader och %d fält, förväntade %d rader och %d fält" -#: pg_basebackup.c:1918 +#: pg_basebackup.c:2025 #, c-format msgid "checkpoint completed" msgstr "checkpoint klar" -#: pg_basebackup.c:1932 +#: pg_basebackup.c:2039 #, c-format msgid "write-ahead log start point: %s on timeline %u" msgstr "write-ahead-loggens startposition: %s på tidslinje %u" -#: pg_basebackup.c:1940 +#: pg_basebackup.c:2047 #, c-format msgid "could not get backup header: %s" msgstr "kunde inte hämta backup-header: %s" -#: pg_basebackup.c:1943 +#: pg_basebackup.c:2050 #, c-format msgid "no data returned from server" msgstr "ingen data returnerades från servern" -#: pg_basebackup.c:1986 +#: pg_basebackup.c:2093 #, c-format msgid "can only write single tablespace to stdout, database has %d" msgstr "kunde bara skriva en endaste tablespace till stdout, databasen har %d" -#: pg_basebackup.c:1999 +#: pg_basebackup.c:2106 #, c-format msgid "starting background WAL receiver" msgstr "startar bakgrunds-WAL-mottagare" -#: pg_basebackup.c:2082 +#: pg_basebackup.c:2189 #, c-format msgid "backup failed: %s" msgstr "backup misslyckades: %s" -#: pg_basebackup.c:2085 +#: pg_basebackup.c:2192 #, c-format msgid "no write-ahead log end position returned from server" msgstr "ingen write-ahead-logg-slutposition returnerad från servern" -#: pg_basebackup.c:2088 +#: pg_basebackup.c:2195 #, c-format msgid "write-ahead log end point: %s" msgstr "write-ahead-logg-slutposition: %s" -#: pg_basebackup.c:2099 +#: pg_basebackup.c:2206 #, c-format msgid "checksum error occurred" msgstr "felaktig kontrollsumma upptäcktes" -#: pg_basebackup.c:2104 +#: pg_basebackup.c:2211 #, c-format msgid "final receive failed: %s" msgstr "sista mottagning misslyckades: %s" -#: pg_basebackup.c:2128 +#: pg_basebackup.c:2235 #, c-format msgid "waiting for background process to finish streaming ..." msgstr "väntat på att bakgrundsprocess skall avsluta strömmande ..." -#: pg_basebackup.c:2132 +#: pg_basebackup.c:2239 #, c-format msgid "could not send command to background pipe: %m" msgstr "kunde inte skicka kommando till bakgrundsrör (pipe): %m" -#: pg_basebackup.c:2137 +#: pg_basebackup.c:2244 #, c-format msgid "could not wait for child process: %m" msgstr "kunde inte vänta på barnprocess: %m" -#: pg_basebackup.c:2139 +#: pg_basebackup.c:2246 #, c-format msgid "child %d died, expected %d" msgstr "barn %d dog, förväntade %d" -#: pg_basebackup.c:2141 streamutil.c:91 streamutil.c:196 +#: pg_basebackup.c:2248 streamutil.c:89 streamutil.c:204 streamutil.c:316 #, c-format msgid "%s" msgstr "%s" -#: pg_basebackup.c:2161 +#: pg_basebackup.c:2268 #, c-format msgid "could not wait for child thread: %m" msgstr "kunde inte vänta på barntråd: %m" -#: pg_basebackup.c:2166 +#: pg_basebackup.c:2273 #, c-format msgid "could not get child thread exit status: %m" msgstr "kunde inte hämta barntrådens slutstatus: %m" -#: pg_basebackup.c:2169 +#: pg_basebackup.c:2276 #, c-format msgid "child thread exited with error %u" msgstr "barntråd avslutade med fel %u" -#: pg_basebackup.c:2198 +#: pg_basebackup.c:2305 #, c-format msgid "syncing data to disk ..." msgstr "synkar data till disk ..." -#: pg_basebackup.c:2223 +#: pg_basebackup.c:2330 #, c-format msgid "renaming backup_manifest.tmp to backup_manifest" msgstr "byter namn på backup_manifest.tmp till backup_manifest" -#: pg_basebackup.c:2243 +#: pg_basebackup.c:2350 #, c-format msgid "base backup completed" msgstr "basbackup klar" -#: pg_basebackup.c:2326 +#: pg_basebackup.c:2436 #, c-format msgid "invalid checkpoint argument \"%s\", must be \"fast\" or \"spread\"" msgstr "ogiltigt checkpoint-argument \"%s\", måste vara \"fast\" eller \"spread\"" -#: pg_basebackup.c:2344 +#: pg_basebackup.c:2454 #, c-format msgid "invalid output format \"%s\", must be \"plain\" or \"tar\"" msgstr "ogiltigt utdataformat \"%s\", måste vara \"plain\" eller \"tar\"" -#: pg_basebackup.c:2422 +#: pg_basebackup.c:2535 #, c-format msgid "invalid wal-method option \"%s\", must be \"fetch\", \"stream\", or \"none\"" msgstr "ogiltig wal-metod-flagga \"%s\", måste vara \"fetch\", \"stream\" eller \"none\"" -#: pg_basebackup.c:2457 pg_basebackup.c:2469 pg_basebackup.c:2491 -#: pg_basebackup.c:2503 pg_basebackup.c:2509 pg_basebackup.c:2561 -#: pg_basebackup.c:2572 pg_basebackup.c:2582 pg_basebackup.c:2588 -#: pg_basebackup.c:2595 pg_basebackup.c:2607 pg_basebackup.c:2619 -#: pg_basebackup.c:2627 pg_basebackup.c:2640 pg_basebackup.c:2646 -#: pg_basebackup.c:2655 pg_basebackup.c:2667 pg_basebackup.c:2678 -#: pg_basebackup.c:2686 pg_receivewal.c:748 pg_receivewal.c:760 +#: pg_basebackup.c:2574 pg_basebackup.c:2586 pg_basebackup.c:2608 +#: pg_basebackup.c:2620 pg_basebackup.c:2626 pg_basebackup.c:2678 +#: pg_basebackup.c:2689 pg_basebackup.c:2699 pg_basebackup.c:2705 +#: 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_receivewal.c:767 pg_receivewal.c:776 pg_receivewal.c:783 -#: pg_receivewal.c:793 pg_recvlogical.c:835 pg_recvlogical.c:847 -#: pg_recvlogical.c:857 pg_recvlogical.c:864 pg_recvlogical.c:871 -#: pg_recvlogical.c:878 pg_recvlogical.c:885 pg_recvlogical.c:892 -#: pg_recvlogical.c:899 pg_recvlogical.c:906 +#: pg_receivewal.c:793 pg_recvlogical.c:853 pg_recvlogical.c:865 +#: pg_recvlogical.c:875 pg_recvlogical.c:882 pg_recvlogical.c:889 +#: pg_recvlogical.c:896 pg_recvlogical.c:903 pg_recvlogical.c:910 +#: pg_recvlogical.c:917 pg_recvlogical.c:924 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Försök med \"%s --help\" för mer information." -#: pg_basebackup.c:2467 pg_receivewal.c:758 pg_recvlogical.c:845 +#: pg_basebackup.c:2584 pg_createsubscriber.c:2045 pg_receivewal.c:758 +#: pg_recvlogical.c:863 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "för många kommandoradsargument (första är \"%s\")" -#: pg_basebackup.c:2490 +#: pg_basebackup.c:2607 #, c-format msgid "cannot specify both format and backup target" msgstr "kan inte ange både format och backupmål" -#: pg_basebackup.c:2502 +#: pg_basebackup.c:2619 #, c-format msgid "must specify output directory or backup target" msgstr "måste ange utkatalog eller backupmål" -#: pg_basebackup.c:2508 +#: pg_basebackup.c:2625 #, c-format msgid "cannot specify both output directory and backup target" msgstr "kan inte ange både utdatakatalog och backupmål" -#: pg_basebackup.c:2538 pg_receivewal.c:802 +#: pg_basebackup.c:2655 pg_receivewal.c:802 #, c-format msgid "unrecognized compression algorithm: \"%s\"" -msgstr "okänd komprimeringsalgoritm \"%s\"" +msgstr "okänd komprimeringsalgoritm: \"%s\"" -#: pg_basebackup.c:2544 pg_receivewal.c:809 +#: pg_basebackup.c:2661 pg_receivewal.c:809 #, c-format msgid "invalid compression specification: %s" msgstr "ogiltig komprimeringsangivelse: %s" -#: pg_basebackup.c:2560 +#: pg_basebackup.c:2677 #, c-format msgid "client-side compression is not possible when a backup target is specified" msgstr "komprimering på klientsidan är inte möjlig när backupmål angivits" -#: pg_basebackup.c:2571 +#: pg_basebackup.c:2688 #, c-format msgid "only tar mode backups can be compressed" msgstr "bara backupper i tar-läge kan komprimeras" -#: pg_basebackup.c:2581 +#: pg_basebackup.c:2698 #, c-format msgid "WAL cannot be streamed when a backup target is specified" msgstr "WAL kan inte strömmas när ett backupmål angivits" -#: pg_basebackup.c:2587 +#: pg_basebackup.c:2704 #, c-format msgid "cannot stream write-ahead logs in tar mode to stdout" msgstr "kan inte strömma write-ahead-logg i tar-läge till stdout" -#: pg_basebackup.c:2594 +#: pg_basebackup.c:2711 #, c-format msgid "replication slots can only be used with WAL streaming" msgstr "replikerings-slot kan bara användas med WAL-strömning" -#: pg_basebackup.c:2606 +#: pg_basebackup.c:2723 #, c-format msgid "--no-slot cannot be used with slot name" msgstr "--no-slot kan inte användas tillsammans med slot-namn" #. translator: second %s is an option name -#: pg_basebackup.c:2617 pg_receivewal.c:774 +#: pg_basebackup.c:2734 pg_receivewal.c:774 #, c-format msgid "%s needs a slot to be specified using --slot" msgstr "%s kräver att en slot anges med --slot" -#: pg_basebackup.c:2625 pg_basebackup.c:2665 pg_basebackup.c:2676 -#: pg_basebackup.c:2684 +#: pg_basebackup.c:2742 pg_basebackup.c:2782 pg_basebackup.c:2793 +#: pg_basebackup.c:2801 #, c-format msgid "%s and %s are incompatible options" msgstr "%s och %s är inkompatibla flaggor" -#: pg_basebackup.c:2639 +#: pg_basebackup.c:2756 #, c-format msgid "WAL directory location cannot be specified along with a backup target" msgstr "WAL-katalogplats kan inte anges tillsammans med backupmål" -#: pg_basebackup.c:2645 +#: pg_basebackup.c:2762 #, c-format msgid "WAL directory location can only be specified in plain mode" msgstr "WAL-katalogplats kan bara anges i läget \"plain\"" -#: pg_basebackup.c:2654 +#: pg_basebackup.c:2771 #, c-format msgid "WAL directory location must be an absolute path" msgstr "WAL-katalogen måste vara en absolut sökväg" -#: pg_basebackup.c:2754 +#: pg_basebackup.c:2871 #, c-format msgid "could not create symbolic link \"%s\": %m" msgstr "kan inte skapa symbolisk länk \"%s\": %m" -#: pg_receivewal.c:77 +#: pg_createsubscriber.c:169 +#, c-format +msgid "failed after the end of recovery" +msgstr "misslyckades vid slutet av återställning" + +#: pg_createsubscriber.c:170 +#, c-format +msgid "The target server cannot be used as a physical replica anymore. You must recreate the physical replica before continuing." +msgstr "Målservern kan inte längre användas som en fysisk replika. Du måste återskapa den fysiska replikan innan det går att fortsätta." + +#: pg_createsubscriber.c:198 +#, c-format +msgid "publication \"%s\" created in database \"%s\" on primary was left behind" +msgstr "publiceringen \"%s\" som skapades i databasen \"%s\" på primären har lämnats kvar" + +#: pg_createsubscriber.c:200 +#, c-format +msgid "Drop this publication before trying again." +msgstr "Släng denna publiceringen innan du försöker igen." + +#: pg_createsubscriber.c:204 +#, c-format +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 +#, 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." + +#: pg_createsubscriber.c:219 #, c-format msgid "" -"%s receives PostgreSQL streaming write-ahead logs.\n" -"\n" -msgstr "" -"%s tar emot PostgreSQL-strömning-write-ahead-logg.\n" +"%s creates a new logical replica from a standby server.\n" "\n" +msgstr "%s skapar en ny logisk replikering från en standby-server.\n" -#: pg_receivewal.c:81 pg_recvlogical.c:82 +#: pg_createsubscriber.c:223 pg_receivewal.c:81 pg_recvlogical.c:92 #, c-format msgid "" "\n" @@ -1143,22 +1325,639 @@ msgstr "" "\n" "Flaggor:\n" +#: pg_createsubscriber.c:224 +#, c-format +msgid " -d, --database=DBNAME database in which to create a subscription\n" +msgstr " -d, --database=DBNAME databas att skapa prenumeration i\n" + +#: pg_createsubscriber.c:225 +#, c-format +msgid " -D, --pgdata=DATADIR location for the subscriber data directory\n" +msgstr " -D, --pgdata=DATADIR plats för prenumerantens datakatalog\n" + +#: pg_createsubscriber.c:226 +#, c-format +msgid " -n, --dry-run dry run, just show what would be done\n" +msgstr " -n, --dry-run ingen updatering, visa bara planerade åtgärder\n" + +#: pg_createsubscriber.c:227 +#, c-format +msgid " -p, --subscriber-port=PORT subscriber port number (default %s)\n" +msgstr " -p, --subscriber-port=PORT prenumerantens portnummer (standard %s)\n" + +#: pg_createsubscriber.c:228 +#, c-format +msgid " -P, --publisher-server=CONNSTR publisher connection string\n" +msgstr " -P, --publisher-server=CONNSTR publicerarens anslutningssträng\n" + +#: pg_createsubscriber.c:229 +#, c-format +msgid " -s, --socketdir=DIR socket directory to use (default current dir.)\n" +msgstr " -s, --socketdir=KAT uttagskatalog (standard är aktuell katalog.)\n" + +#: pg_createsubscriber.c:230 +#, c-format +msgid " -t, --recovery-timeout=SECS seconds to wait for recovery to end\n" +msgstr " -t, --recovery-timeout=SECS antal sekunder att vänta på att återställning skall avslutas\n" + +#: pg_createsubscriber.c:231 +#, c-format +msgid " -U, --subscriber-username=NAME user name for subscriber connection\n" +msgstr " -U, --subscriber-username=NAME användarnamn för prenumerantens anslutning\n" + +#: pg_createsubscriber.c:232 +#, c-format +msgid " -v, --verbose output verbose messages\n" +msgstr " -v, --verbose visa utförliga meddelanden\n" + +#: pg_createsubscriber.c:233 +#, c-format +msgid "" +" --config-file=FILENAME use specified main server configuration\n" +" file when running target cluster\n" +msgstr "" +" --config-file=FILNAMN använd angiven fil med serverkonfiguration\n" +" när målklustret körs\n" + +#: pg_createsubscriber.c:235 +#, c-format +msgid " --publication=NAME publication name\n" +msgstr " --publication=NAME publiceringsnamn\n" + +#: pg_createsubscriber.c:236 +#, c-format +msgid " --replication-slot=NAME replication slot name\n" +msgstr " --replication-slot=NAME namn på replikeringsslot\n" + +#: pg_createsubscriber.c:237 +#, c-format +msgid " --subscription=NAME subscription name\n" +msgstr " --subscription=NAME namn på prenumeration\n" + +#: pg_createsubscriber.c:238 +#, c-format +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version visa versionsinformation, avsluta sedan\n" + +#: pg_createsubscriber.c:239 +#, c-format +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help visa denna hjälp, avsluta sedan\n" + +#: pg_createsubscriber.c:282 +#, c-format +msgid "could not parse connection string: %s" +msgstr "kunde inte parsa anslutningssträng: %s" + +#: pg_createsubscriber.c:359 +#, 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_createsubscriber.c:362 +#, 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_createsubscriber.c:382 +#, c-format +msgid "checking if directory \"%s\" is a cluster data directory" +msgstr "undersöker om katalogen \"%s\" är en klusterkatalog" + +#: pg_createsubscriber.c:388 +#, c-format +msgid "data directory \"%s\" does not exist" +msgstr "databaskatalogen \"%s\" existerar inte" + +#: pg_createsubscriber.c:396 +#, c-format +msgid "directory \"%s\" is not a database cluster directory" +msgstr "katalogen \"%s\" innehåller inte ett databaskluster." + +#: pg_createsubscriber.c:513 +#, c-format +msgid "connection to database failed: %s" +msgstr "anslutning till databasen misslyckades: %s" + +#: pg_createsubscriber.c:526 +#, c-format +msgid "could not clear search_path: %s" +msgstr "kunde inte nollställa search_path: %s" + +#: pg_createsubscriber.c:566 +#, c-format +msgid "getting system identifier from publisher" +msgstr "hämtar systemidentifierare från publicerare" + +#: pg_createsubscriber.c:573 +#, c-format +msgid "could not get system identifier: %s" +msgstr "kunde inte hämta systemidentifierare: %s" + +#: pg_createsubscriber.c:579 +#, c-format +msgid "could not get system identifier: got %d rows, expected %d row" +msgstr "kunde inte hämta systemidentifierare: fick %d rader, förväntade %d rad" + +#: pg_createsubscriber.c:586 +#, c-format +msgid "system identifier is %llu on publisher" +msgstr "systemidentifieraren är %llu på publiceraren" + +#: pg_createsubscriber.c:607 +#, c-format +msgid "getting system identifier from subscriber" +msgstr "hämtar systemidentifierare från prenumeranten" + +#: pg_createsubscriber.c:611 pg_createsubscriber.c:641 +#, c-format +msgid "control file appears to be corrupt" +msgstr "kontrollfilen verkar vara trasig" + +#: pg_createsubscriber.c:615 pg_createsubscriber.c:656 +#, c-format +msgid "system identifier is %llu on subscriber" +msgstr "systemidentifieraren är %llu hos prenumeranten" + +#: pg_createsubscriber.c:637 +#, c-format +msgid "modifying system identifier of subscriber" +msgstr "uppdaterar systemidentifieraren för prenumeranten" + +#: pg_createsubscriber.c:659 +#, c-format +msgid "running pg_resetwal on the subscriber" +msgstr "kör pg_resetwal på prenumeranten" + +#: pg_createsubscriber.c:671 +#, c-format +msgid "subscriber successfully changed the system identifier" +msgstr "prenumeranten lyckades ändra systemidentifieraren" + +#: pg_createsubscriber.c:673 +#, c-format +msgid "could not change system identifier of subscriber: %s" +msgstr "kunde inte ändra systemidentifierare för prenumerant: %s" + +#: pg_createsubscriber.c:697 +#, c-format +msgid "could not obtain database OID: %s" +msgstr "kunde inte hämta databas-OID: %s" + +#: pg_createsubscriber.c:704 +#, c-format +msgid "could not obtain database OID: got %d rows, expected %d row" +msgstr "kunde inte hämta databas-OID: fick %d rader, förväntade %d rad" + +#: pg_createsubscriber.c:776 +#, c-format +msgid "create replication slot \"%s\" on publisher" +msgstr "skapa replikerings-slot \"%s\" på publicerare" + +#: pg_createsubscriber.c:796 +#, c-format +msgid "could not write an additional WAL record: %s" +msgstr "kunde inte läsa ytterligare en WAL-post: %s" + +#: pg_createsubscriber.c:822 +#, c-format +msgid "could not obtain recovery progress: %s" +msgstr "kunde inte hämta progress för återställning: %s" + +#: pg_createsubscriber.c:854 +#, c-format +msgid "checking settings on publisher" +msgstr "kontrollerar inställningar på publicerare" + +#: pg_createsubscriber.c:864 +#, c-format +msgid "primary server cannot be in recovery" +msgstr "primära servern kan inte vara i återställningsläge" + +#: pg_createsubscriber.c:888 +#, c-format +msgid "could not obtain publisher settings: %s" +msgstr "kunde inte hämta inställningar för publicerare: %s" + +#: pg_createsubscriber.c:914 +#, c-format +msgid "publisher requires wal_level >= \"logical\"" +msgstr "publiceraren kräver wal_level >= \"logical\"" + +#: pg_createsubscriber.c:920 +#, c-format +msgid "publisher requires %d replication slots, but only %d remain" +msgstr "publicerare kräver %d replikeringssslottar men bara %d återstår" + +#: pg_createsubscriber.c:922 pg_createsubscriber.c:931 +#: pg_createsubscriber.c:1028 pg_createsubscriber.c:1037 +#: pg_createsubscriber.c:1046 +#, c-format +msgid "Increase the configuration parameter \"%s\" to at least %d." +msgstr "Öka konfigurationsparametern \"%s\" till minst %d." + +#: pg_createsubscriber.c:929 +#, c-format +msgid "publisher requires %d WAL sender processes, but only %d remain" +msgstr "publicerare kräver %d WAL-skickar-processer men bara %d återstår" + +#: pg_createsubscriber.c:938 +#, c-format +msgid "two_phase option will not be enabled for replication slots" +msgstr "flaggan two_phase kommer inte aktiveras för replikeringsslottar" + +#: pg_createsubscriber.c:939 +#, c-format +msgid "Subscriptions will be created with the two_phase option disabled. Prepared transactions will be replicated at COMMIT PREPARED." +msgstr "Prenumerationer kommer skapas med flaggan two_phase avaktiverad. Förberedda transaktioner kommer replikeras vid COMMIT PREPARED." + +#: pg_createsubscriber.c:971 +#, c-format +msgid "checking settings on subscriber" +msgstr "kontrollerar inställningar på prenumeranten" + +#: pg_createsubscriber.c:978 +#, c-format +msgid "target server must be a standby" +msgstr "målserver måste vara en standby" + +#: pg_createsubscriber.c:1002 +#, c-format +msgid "could not obtain subscriber settings: %s" +msgstr "kunde inte hämta inställningar för prenumerant: %s" + +#: pg_createsubscriber.c:1026 +#, c-format +msgid "subscriber requires %d replication slots, but only %d remain" +msgstr "prenumerant kräver %d replikeringsslottar men bara %d återstår" + +#: pg_createsubscriber.c:1035 +#, c-format +msgid "subscriber requires %d logical replication workers, but only %d remain" +msgstr "prenumerant kräver %d logiska replikeringsprocesser men bara %d återstår" + +#: pg_createsubscriber.c:1044 +#, c-format +msgid "subscriber requires %d worker processes, but only %d remain" +msgstr "prenumerant kräver %d arbetsprocesser men bara %d återstår" + +#: pg_createsubscriber.c:1079 +#, c-format +msgid "dropping subscription \"%s\" in database \"%s\"" +msgstr "slänger prenumeration \"%s\" i databasen \"%s\"" + +#: pg_createsubscriber.c:1088 +#, c-format +msgid "could not drop subscription \"%s\": %s" +msgstr "kunde inte slänga prenumeration \"%s\": %s" + +#: pg_createsubscriber.c:1123 +#, c-format +msgid "could not obtain pre-existing subscriptions: %s" +msgstr "kunde inte hämta redan existerande prenumerationer: %s" + +#: pg_createsubscriber.c:1258 +#, 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 +#, 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 +#, 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 +#, c-format +msgid "could not drop failover replication slot" +msgstr "kunde inte slänga replikeringsslot för failover" + +#: pg_createsubscriber.c:1324 +#, c-format +msgid "creating the replication slot \"%s\" in database \"%s\"" +msgstr "skapar replikeringsslot \"%s\" i databasen \"%s\"" + +#: pg_createsubscriber.c:1342 +#, 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 +#, c-format +msgid "dropping the replication slot \"%s\" in database \"%s\"" +msgstr "slänger replikeringsslot \"%s\" i databasen \"%s\"" + +#: pg_createsubscriber.c:1388 +#, 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 +#, c-format +msgid "pg_ctl failed with exit code %d" +msgstr "pg_ctl avslutade med felkod %d" + +#: pg_createsubscriber.c:1414 +#, c-format +msgid "pg_ctl was terminated by exception 0x%X" +msgstr "pg_ctl avslutades med avbrott 0x%X" + +#: pg_createsubscriber.c:1416 +#, 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 +#, c-format +msgid "pg_ctl was terminated by signal %d: %s" +msgstr "pg_ctl terminerades av signal %d: %s" + +#: pg_createsubscriber.c:1424 +#, c-format +msgid "pg_ctl exited with unrecognized status %d" +msgstr "pg_ctl avslutade med okänd statuskod %d" + +#: pg_createsubscriber.c:1427 +#, c-format +msgid "The failed command was: %s" +msgstr "Det misslyckade kommandot var: %s" + +#: pg_createsubscriber.c:1473 +#, c-format +msgid "server was started" +msgstr "servern startad" + +#: pg_createsubscriber.c:1488 +#, c-format +msgid "server was stopped" +msgstr "servern är stoppad" + +#: pg_createsubscriber.c:1507 +#, 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 +#, c-format +msgid "recovery timed out" +msgstr "timeout vid återställning" + +#: pg_createsubscriber.c:1543 +#, c-format +msgid "server did not end recovery" +msgstr "servern avslutade inte återställning" + +#: pg_createsubscriber.c:1545 +#, c-format +msgid "target server reached the consistent state" +msgstr "målservern har nått ett konsistent läge" + +#: pg_createsubscriber.c:1546 +#, 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 +#, c-format +msgid "could not obtain publication information: %s" +msgstr "kunde inte hämta publiceringsinformation: %s" + +#: pg_createsubscriber.c:1587 +#, c-format +msgid "publication \"%s\" already exists" +msgstr "publicering \"%s\" finns redan" + +#: pg_createsubscriber.c:1588 +#, 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 +#, c-format +msgid "creating publication \"%s\" in database \"%s\"" +msgstr "skapar puiblicering \"%s\" i databasen \"%s\"" + +#: pg_createsubscriber.c:1608 +#, 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 +#, c-format +msgid "dropping publication \"%s\" in database \"%s\"" +msgstr "slänger publiceringen \"%s\" i databasen \"%s\"" + +#: pg_createsubscriber.c:1651 +#, 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 +#, c-format +msgid "creating subscription \"%s\" in database \"%s\"" +msgstr "skapar prenumeration \"%s\" i databasen \"%s\"" + +#: pg_createsubscriber.c:1718 +#, 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 +#, c-format +msgid "could not obtain subscription OID: %s" +msgstr "kunde inte hämta prenumerations-OID: %s" + +#: pg_createsubscriber.c:1770 +#, 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 +#, 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 +#, 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 +#, c-format +msgid "enabling subscription \"%s\" in database \"%s\"" +msgstr "aktiverar prenumeration \"%s\" i databasen \"%s\"" + +#: pg_createsubscriber.c:1852 +#, c-format +msgid "could not enable subscription \"%s\": %s" +msgstr "kunde inte aktivera prenumerationen \"%s\": %s" + +#: pg_createsubscriber.c:1944 +#, c-format +msgid "cannot be executed by \"root\"" +msgstr "kan inte köras av \"root\"" + +#: pg_createsubscriber.c:1945 +#, 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 +#, c-format +msgid "database \"%s\" specified more than once" +msgstr "database \"%s\" angiven mer än en gång" + +#: pg_createsubscriber.c:2007 +#, c-format +msgid "publication \"%s\" specified more than once" +msgstr "publicering \"%s\" angiven mer än en gång" + +#: pg_createsubscriber.c:2019 +#, c-format +msgid "replication slot \"%s\" specified more than once" +msgstr "replikeringsslott \"%s\" angiven mer än en gång" + +#: pg_createsubscriber.c:2031 +#, c-format +msgid "subscription \"%s\" specified more than once" +msgstr "prenumeration \"%s\" angiven mer än en gång" + +#: pg_createsubscriber.c:2054 +#, c-format +msgid "no subscriber data directory specified" +msgstr "ingen datakatalog för prenumeration angiven" + +#: pg_createsubscriber.c:2065 +#, c-format +msgid "could not determine current directory" +msgstr "kunde inte bestämma aktuell katalog" + +#: pg_createsubscriber.c:2082 +#, c-format +msgid "no publisher connection string specified" +msgstr "ingen anslutningssträng angiven för publicerare" + +#: pg_createsubscriber.c:2086 +#, c-format +msgid "validating publisher connection string" +msgstr "validerar publicerares anslutningssträng" + +#: pg_createsubscriber.c:2092 +#, c-format +msgid "validating subscriber connection string" +msgstr "validerar prenumerants anslutningssträng" + +#: pg_createsubscriber.c:2097 +#, c-format +msgid "no database was specified" +msgstr "ingen databas angavs" + +#: pg_createsubscriber.c:2109 +#, 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 +#, c-format +msgid "no database name specified" +msgstr "inget databasnamn angavs" + +#: pg_createsubscriber.c:2124 +#, c-format +msgid "wrong number of publication names specified" +msgstr "fel antal namn på publicister angavs" + +#: pg_createsubscriber.c:2125 +#, 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 +#, c-format +msgid "wrong number of subscription names specified" +msgstr "fel antal namn på prenumeranter angivna" + +#: pg_createsubscriber.c:2132 +#, 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 +#, c-format +msgid "wrong number of replication slot names specified" +msgstr "fel antal namn på replikeringsslottar angivet" + +#: pg_createsubscriber.c:2139 +#, 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 +#, 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 +#, c-format +msgid "standby server is running" +msgstr "standby-servern kör" + +#: pg_createsubscriber.c:2182 +#, c-format +msgid "Stop the standby server and try again." +msgstr "Stoppa standby-servern och försök igen." + +#: pg_createsubscriber.c:2191 +#, 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 +#, c-format +msgid "stopping the subscriber" +msgstr "stoppar prenumeranten" + +#: pg_createsubscriber.c:2221 +#, c-format +msgid "starting the subscriber" +msgstr "startar prenumeranten" + +#: pg_createsubscriber.c:2250 +#, c-format +msgid "Done!" +msgstr "Klar!" + +#: pg_receivewal.c:77 +#, c-format +msgid "" +"%s receives PostgreSQL streaming write-ahead logs.\n" +"\n" +msgstr "" +"%s tar emot PostgreSQL-strömning-write-ahead-logg.\n" +"\n" + #: pg_receivewal.c:82 #, c-format msgid " -D, --directory=DIR receive write-ahead log files into this directory\n" msgstr " -D, --directory=KAT ta emot write-ahead-logg-filer till denna katalog\n" -#: pg_receivewal.c:83 pg_recvlogical.c:83 +#: pg_receivewal.c:83 pg_recvlogical.c:93 #, c-format msgid " -E, --endpos=LSN exit after receiving the specified LSN\n" msgstr " -E, --endpos=LSN avsluta efter att ha taget emot den angivna LSN\n" -#: pg_receivewal.c:84 pg_recvlogical.c:87 +#: pg_receivewal.c:84 pg_recvlogical.c:97 #, c-format msgid " --if-not-exists do not error if slot already exists when creating a slot\n" msgstr " --if-not-exists inget fel om slot:en redan finns när vi skapar slot:en\n" -#: pg_receivewal.c:85 pg_recvlogical.c:89 +#: pg_receivewal.c:85 pg_recvlogical.c:99 #, c-format msgid " -n, --no-loop do not loop on connection lost\n" msgstr " -n, --no-loop loopa inte om anslutning tappas\n" @@ -1168,7 +1967,7 @@ msgstr " -n, --no-loop loopa inte om anslutning tappas\n" msgid " --no-sync do not wait for changes to be written safely to disk\n" msgstr " --no-sync vänta inte på att ändringar skall skrivas säkert till disk\n" -#: pg_receivewal.c:87 pg_recvlogical.c:94 +#: pg_receivewal.c:87 pg_recvlogical.c:104 #, c-format msgid "" " -s, --status-interval=SECS\n" @@ -1200,12 +1999,12 @@ msgstr "" "\n" "Valfria handlingar:\n" -#: pg_receivewal.c:104 pg_recvlogical.c:79 +#: pg_receivewal.c:104 pg_recvlogical.c:89 #, c-format msgid " --create-slot create a new replication slot (for the slot's name see --slot)\n" msgstr " --create-slot skapa en ny replikeringsslot (angående slot:ens namn, se --slot)\n" -#: pg_receivewal.c:105 pg_recvlogical.c:80 +#: pg_receivewal.c:105 pg_recvlogical.c:90 #, c-format msgid " --drop-slot drop the replication slot (for the slot's name see --slot)\n" msgstr " --drop-slot släng replikeringsslot (angående slot:ens namn, se --slot)\n" @@ -1225,7 +2024,7 @@ msgstr "stoppade logg-strömning vid %X/%X (tidslinje %u)" msgid "switched to timeline %u at %X/%X" msgstr "bytte till tidslinje %u vid %X/%X" -#: pg_receivewal.c:224 +#: pg_receivewal.c:224 pg_recvlogical.c:1053 #, c-format msgid "received interrupt signal, exiting" msgstr "mottog avbrottsignal, avslutar" @@ -1270,11 +2069,6 @@ msgstr "komprimerad segmentfil \"%s\" har inkorrekt okomprimerad storlek %d, hop msgid "could not create LZ4 decompression context: %s" msgstr "kunde inte skapa kontext för LZ4-dekomprimering: %s" -#: pg_receivewal.c:402 -#, c-format -msgid "could not read file \"%s\": %m" -msgstr "kunde inte läsa fil \"%s\": %m" - #: pg_receivewal.c:420 #, c-format msgid "could not decompress file \"%s\": %s" @@ -1300,7 +2094,7 @@ msgstr "kan inte kontrollera filen \"%s\": komprimering med %s stöds inte av de msgid "starting log streaming at %X/%X (timeline %u)" msgstr "startar logg-strömning vid %X/%X (tidslinje %u)" -#: pg_receivewal.c:693 pg_recvlogical.c:783 +#: pg_receivewal.c:693 pg_recvlogical.c:801 #, c-format msgid "could not parse end position \"%s\"" msgstr "kunde inte parsa slutposition \"%s\"" @@ -1330,28 +2124,28 @@ msgstr "komprimering med %s stöds inte än" msgid "replication connection using slot \"%s\" is unexpectedly database specific" msgstr "replikeringsanslutning som använder slot \"%s\" är oväntat databasspecifik" -#: pg_receivewal.c:878 pg_recvlogical.c:954 +#: pg_receivewal.c:878 pg_recvlogical.c:972 #, c-format msgid "dropping replication slot \"%s\"" msgstr "slänger replikeringsslot \"%s\"" -#: pg_receivewal.c:889 pg_recvlogical.c:964 +#: pg_receivewal.c:889 pg_recvlogical.c:982 #, c-format msgid "creating replication slot \"%s\"" msgstr "skapar replikeringsslot \"%s\"" -#: pg_receivewal.c:918 pg_recvlogical.c:988 +#: pg_receivewal.c:918 pg_recvlogical.c:1006 #, c-format msgid "disconnected" msgstr "nerkopplad" #. translator: check source for value for %d -#: pg_receivewal.c:922 pg_recvlogical.c:992 +#: pg_receivewal.c:922 pg_recvlogical.c:1010 #, c-format msgid "disconnected; waiting %d seconds to try again" msgstr "nerkopplad; väntar %d sekunder för att försöka igen" -#: pg_recvlogical.c:74 +#: pg_recvlogical.c:84 #, c-format msgid "" "%s controls PostgreSQL logical decoding streams.\n" @@ -1360,7 +2154,7 @@ msgstr "" "%s styr PostgreSQL:s logiskt avkodade strömmar.\n" "\n" -#: pg_recvlogical.c:78 +#: pg_recvlogical.c:88 #, c-format msgid "" "\n" @@ -1369,17 +2163,17 @@ msgstr "" "\n" "Handling att utföra:\n" -#: pg_recvlogical.c:81 +#: pg_recvlogical.c:91 #, c-format msgid " --start start streaming in a replication slot (for the slot's name see --slot)\n" msgstr " --start starta strömning i en replikeringsslot (angående slot:ens namn, se --slot)\n" -#: pg_recvlogical.c:84 +#: pg_recvlogical.c:94 #, c-format msgid " -f, --file=FILE receive log into this file, - for stdout\n" msgstr " -f, --file=FIL ta emot logg till denna fil, - för stdout\n" -#: pg_recvlogical.c:85 +#: pg_recvlogical.c:95 #, c-format msgid "" " -F --fsync-interval=SECS\n" @@ -1388,12 +2182,12 @@ msgstr "" " -F --fsync-interval=SEK\n" " tid mellan fsync av utdatafil (standard: %d)\n" -#: pg_recvlogical.c:88 +#: pg_recvlogical.c:98 #, c-format msgid " -I, --startpos=LSN where in an existing slot should the streaming start\n" msgstr " -I, --startpos=LSN var i en existerande slot skall strömningen starta\n" -#: pg_recvlogical.c:90 +#: pg_recvlogical.c:100 #, c-format msgid "" " -o, --option=NAME[=VALUE]\n" @@ -1404,143 +2198,143 @@ msgstr "" " skicka vidare flaggan NAMN med ev. värde VÄRDE till\n" " utmatnings-plugin:en\n" -#: pg_recvlogical.c:93 +#: pg_recvlogical.c:103 #, c-format msgid " -P, --plugin=PLUGIN use output plugin PLUGIN (default: %s)\n" msgstr " -P, --plugin=PLUGIN använd utmatnings-plugin:en PLUGIN (standard: %s)\n" -#: pg_recvlogical.c:96 +#: pg_recvlogical.c:106 #, c-format msgid " -S, --slot=SLOTNAME name of the logical replication slot\n" msgstr " -S, --slot=SLOTNAMN namn på den logiska replikerings-slotten\n" -#: pg_recvlogical.c:97 +#: pg_recvlogical.c:107 #, c-format msgid " -t, --two-phase enable decoding of prepared transactions when creating a slot\n" msgstr " -t, --two-phase slå på avkodning av förberedda transaktioner när en slot skapas\n" -#: pg_recvlogical.c:102 +#: pg_recvlogical.c:112 #, c-format msgid " -d, --dbname=DBNAME database to connect to\n" msgstr " -d, --dbname=DBNAMN databas att ansluta till\n" -#: pg_recvlogical.c:135 +#: pg_recvlogical.c:145 #, c-format msgid "confirming write up to %X/%X, flush to %X/%X (slot %s)" msgstr "bekräftar skrivning fram till %X/%X, flush till %X/%X (slot %s)" -#: pg_recvlogical.c:159 receivelog.c:360 +#: pg_recvlogical.c:169 receivelog.c:360 #, c-format msgid "could not send feedback packet: %s" msgstr "kunde inte skicka feedback-paket: %s" -#: pg_recvlogical.c:227 +#: pg_recvlogical.c:239 #, c-format msgid "starting log streaming at %X/%X (slot %s)" msgstr "startar logg-strömning vid %X/%X (slot %s)" -#: pg_recvlogical.c:269 +#: pg_recvlogical.c:281 #, c-format msgid "streaming initiated" msgstr "strömning initierad" -#: pg_recvlogical.c:333 +#: pg_recvlogical.c:346 #, c-format msgid "could not open log file \"%s\": %m" msgstr "kunde inte öppna loggfil \"%s\": %m" -#: pg_recvlogical.c:362 receivelog.c:882 +#: pg_recvlogical.c:375 receivelog.c:882 #, c-format msgid "invalid socket: %s" msgstr "ogiltigt uttag: %s" -#: pg_recvlogical.c:415 receivelog.c:910 +#: pg_recvlogical.c:428 receivelog.c:910 #, c-format msgid "%s() failed: %m" msgstr "%s() misslyckades: %m" -#: pg_recvlogical.c:422 receivelog.c:959 +#: pg_recvlogical.c:435 receivelog.c:959 #, c-format msgid "could not receive data from WAL stream: %s" msgstr "kunde inte ta emot data från WAL-ström: %s" -#: pg_recvlogical.c:464 pg_recvlogical.c:515 receivelog.c:1003 +#: pg_recvlogical.c:477 pg_recvlogical.c:528 receivelog.c:1003 #: receivelog.c:1066 #, c-format msgid "streaming header too small: %d" msgstr "strömningsheader för liten: %d" -#: pg_recvlogical.c:499 receivelog.c:843 +#: pg_recvlogical.c:512 receivelog.c:843 #, c-format msgid "unrecognized streaming header: \"%c\"" msgstr "okänd strömningsheader: \"%c\"" -#: pg_recvlogical.c:553 pg_recvlogical.c:565 +#: pg_recvlogical.c:566 pg_recvlogical.c:578 #, c-format msgid "could not write %d bytes to log file \"%s\": %m" msgstr "kunde inte skriva %d byte till loggfil \"%s\": %m" -#: pg_recvlogical.c:619 receivelog.c:642 receivelog.c:679 +#: pg_recvlogical.c:636 receivelog.c:642 receivelog.c:679 #, c-format msgid "unexpected termination of replication stream: %s" msgstr "oväntad terminering av replikeringsström: %s" -#: pg_recvlogical.c:778 +#: pg_recvlogical.c:796 #, c-format msgid "could not parse start position \"%s\"" msgstr "kunde inte parsa startposition \"%s\"" -#: pg_recvlogical.c:856 +#: pg_recvlogical.c:874 #, c-format msgid "no slot specified" msgstr "ingen slot angiven" -#: pg_recvlogical.c:863 +#: pg_recvlogical.c:881 #, c-format msgid "no target file specified" msgstr "ingen målfil angiven" -#: pg_recvlogical.c:870 +#: pg_recvlogical.c:888 #, c-format msgid "no database specified" msgstr "ingen databas angiven" -#: pg_recvlogical.c:877 +#: pg_recvlogical.c:895 #, c-format msgid "at least one action needs to be specified" msgstr "minst en handling måste anges" -#: pg_recvlogical.c:884 +#: pg_recvlogical.c:902 #, c-format msgid "cannot use --create-slot or --start together with --drop-slot" msgstr "kan inte använda --create-slot eller --start tillsammans med --drop-slot" -#: pg_recvlogical.c:891 +#: pg_recvlogical.c:909 #, c-format msgid "cannot use --create-slot or --drop-slot together with --startpos" msgstr "kan inte använda --create-slot eller --drop-slot tillsammans med --startpos" -#: pg_recvlogical.c:898 +#: pg_recvlogical.c:916 #, c-format msgid "--endpos may only be specified with --start" msgstr "--endpos får bara anges tillsammans med --start" -#: pg_recvlogical.c:905 +#: pg_recvlogical.c:923 #, c-format msgid "--two-phase may only be specified with --create-slot" msgstr "--two-phase får bara anges tillsammans med --create-slot" -#: pg_recvlogical.c:938 +#: pg_recvlogical.c:956 #, c-format msgid "could not establish database-specific replication connection" msgstr "kunde inte upprätta databasspecifik replikeringsanslutning" -#: pg_recvlogical.c:1032 +#: pg_recvlogical.c:1056 #, c-format msgid "end position %X/%X reached by keepalive" msgstr "slutposition %X/%X nådd av keepalive" -#: pg_recvlogical.c:1035 +#: pg_recvlogical.c:1061 #, c-format msgid "end position %X/%X reached by WAL record at %X/%X" msgstr "slutposition %X/%X nådd av WAL-post vid %X/%X" @@ -1657,7 +2451,7 @@ msgstr "oväntad resultatmängd efter slut-på-tidslinje: fick %d rader och %d f msgid "could not parse next timeline's starting point \"%s\"" msgstr "kunde inte parsa nästa tidslinjens startpunkt \"%s\"" -#: receivelog.c:775 receivelog.c:1022 walmethods.c:1201 +#: receivelog.c:775 receivelog.c:1022 walmethods.c:1206 #, c-format msgid "could not fsync file \"%s\": %s" msgstr "kunde inte fsync:a fil \"%s\": %s" @@ -1682,136 +2476,121 @@ msgstr "kunde inte skriva %d byte till WAL-fil \"%s\": %s" msgid "could not send copy-end packet: %s" msgstr "kunde inte skicka \"copy-end\"-paket: %s" -#: streamutil.c:158 +#: streamutil.c:162 msgid "Password: " msgstr "Lösenord: " -#: streamutil.c:181 +#: streamutil.c:189 #, c-format msgid "could not connect to server" msgstr "kunde inte ansluta till server" -#: streamutil.c:222 +#: streamutil.c:230 #, c-format -msgid "could not clear search_path: %s" -msgstr "kunde inte nollställa search_path: %s" +msgid "could not clear \"search_path\": %s" +msgstr "kunde inte nollställa \"search_path\": %s" -#: streamutil.c:238 +#: streamutil.c:246 #, c-format -msgid "could not determine server setting for integer_datetimes" -msgstr "kunde inte lista ut serverns inställning för integer_datetimes" +msgid "could not determine server setting for \"integer_datetimes\"" +msgstr "kunde inte lista ut serverns inställning för \"integer_datetimes\"" -#: streamutil.c:245 +#: streamutil.c:253 #, c-format -msgid "integer_datetimes compile flag does not match server" -msgstr "kompileringsflaggan integer_datetimes matchar inte servern" +msgid "\"integer_datetimes\" compile flag does not match server" +msgstr "kompileringsflaggan \"integer_datetimes\" matchar inte servern" -#: streamutil.c:296 +#: streamutil.c:372 #, 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:306 +#: streamutil.c:382 #, c-format msgid "WAL segment size could not be parsed" msgstr "WAL-segment-storlek kunde inte parsas" -#: streamutil.c:324 +#: streamutil.c:400 #, c-format -msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the remote server reported a value of %d byte" -msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the remote server reported a value of %d bytes" -msgstr[0] "WAL-segmentstorlek måste vara en tvåpotens mellan 1MB och 1GB men fjärrservern rapporterade värdet %d byte" -msgstr[1] "WAL-segmentstorlek måste vara en tvåpotens mellan 1MB och 1GB men fjärrservern rapporterade värdet %d byte" +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:369 +#: streamutil.c:404 +#, 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 #, 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:378 +#: streamutil.c:455 #, c-format msgid "group access flag could not be parsed: %s" msgstr "gruppaccessflagga kunde inte parsas: %s" -#: streamutil.c:421 streamutil.c:458 +#: streamutil.c:498 streamutil.c:535 #, 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:510 +#: streamutil.c:587 #, 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:522 +#: streamutil.c:599 #, c-format msgid "replication slot \"%s\" does not exist" msgstr "replikeringsslot \"%s\" existerar inte" -#: streamutil.c:533 +#: streamutil.c:610 #, 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:547 +#: streamutil.c:624 #, 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:664 +#: streamutil.c:741 #, 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:708 +#: streamutil.c:785 #, 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" -#: walmethods.c:721 walmethods.c:1264 +#: walmethods.c:726 walmethods.c:1269 msgid "could not compress data" msgstr "kunde inte komprimera data" -#: walmethods.c:750 +#: walmethods.c:755 msgid "could not reset compression stream" msgstr "kunde inte nollställa komprimeringsström" -#: walmethods.c:888 +#: walmethods.c:892 msgid "implementation error: tar files can't have more than one open file" msgstr "implementationsfel: tar-filer kan inte ha mer än en öppen fil" -#: walmethods.c:903 +#: walmethods.c:907 msgid "could not create tar header" msgstr "kunde inte skapa tar-header" -#: walmethods.c:920 walmethods.c:961 walmethods.c:1166 walmethods.c:1179 +#: walmethods.c:924 walmethods.c:965 walmethods.c:1171 walmethods.c:1184 msgid "could not change compression parameters" msgstr "kunde inte ändra komprimeringsparametrar" -#: walmethods.c:1052 +#: walmethods.c:1056 msgid "unlink not supported with compression" msgstr "unlink stöds inte med komprimering" -#: walmethods.c:1288 +#: walmethods.c:1293 msgid "could not close compression stream" msgstr "kunde inte stänga komprimeringsström" - -#, c-format -#~ msgid "could not determine seek position in file \"%s\": %s" -#~ msgstr "kunde inte fastställa sökposition i fil \"%s\": %s" - -#, c-format -#~ msgid "symlinks are not supported on this platform" -#~ msgstr "symboliska länkar stöds inte på denna plattform" - -#, c-format -#~ msgid "this build does not support gzip compression" -#~ msgstr "detta bygge stöder inte gzip-komprimering" - -#, c-format -#~ msgid "this build does not support lz4 compression" -#~ msgstr "detta bygge stöder inte lz4-komprimering" - -#, c-format -#~ msgid "this build does not support zstd compression" -#~ msgstr "detta bygge stöder inte zstd-komprimering" diff --git a/src/bin/pg_basebackup/po/uk.po b/src/bin/pg_basebackup/po/uk.po index 695c62a9fd9..09cd1a552dd 100644 --- a/src/bin/pg_basebackup/po/uk.po +++ b/src/bin/pg_basebackup/po/uk.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: postgresql\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-08-12 10:48+0000\n" -"PO-Revision-Date: 2022-09-13 11:52\n" +"POT-Creation-Date: 2024-08-31 06:20+0000\n" +"PO-Revision-Date: 2024-09-23 19:38\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -14,8 +14,8 @@ msgstr "" "X-Crowdin-Project: postgresql\n" "X-Crowdin-Project-ID: 324573\n" "X-Crowdin-Language: uk\n" -"X-Crowdin-File: /REL_15_STABLE/pg_basebackup.pot\n" -"X-Crowdin-File-ID: 910\n" +"X-Crowdin-File: /REL_17_STABLE/pg_basebackup.pot\n" +"X-Crowdin-File-ID: 1006\n" #: ../../../src/common/logging.c:276 #, c-format @@ -37,84 +37,186 @@ msgstr "деталі: " msgid "hint: " msgstr "підказка: " -#: ../../common/compression.c:157 +#: ../../common/compression.c:132 ../../common/compression.c:141 +#: ../../common/compression.c:150 bbstreamer_gzip.c:116 bbstreamer_gzip.c:249 +#: bbstreamer_lz4.c:100 bbstreamer_lz4.c:298 bbstreamer_zstd.c:129 +#: bbstreamer_zstd.c:284 +#, c-format +msgid "this build does not support compression with %s" +msgstr "ця збірка не підтримує стиснення з %s" + +#: ../../common/compression.c:205 msgid "found empty string where a compression option was expected" msgstr "знайдено порожній рядок, де очікувався параметр стискання" -#: ../../common/compression.c:187 +#: ../../common/compression.c:244 #, c-format -msgid "unknown compression option \"%s\"" -msgstr "невідомий параметр стискання \"%s\"" +msgid "unrecognized compression option: \"%s\"" +msgstr "нерозпізнаний алгоритм стискання: \"%s\"" -#: ../../common/compression.c:226 +#: ../../common/compression.c:283 #, c-format msgid "compression option \"%s\" requires a value" msgstr "параметр стискання \"%s\" потребує значення" -#: ../../common/compression.c:235 +#: ../../common/compression.c:292 #, c-format msgid "value for compression option \"%s\" must be an integer" msgstr "значення параметру стискання \"%s\" має бути цілим числом" -#: ../../common/compression.c:273 +#: ../../common/compression.c:331 +#, c-format +msgid "value for compression option \"%s\" must be a Boolean value" +msgstr "значення параметра стискання \"%s\" має бути логічним значенням" + +#: ../../common/compression.c:379 #, c-format msgid "compression algorithm \"%s\" does not accept a compression level" msgstr "алгоритм стискання \"%s\" не приймає рівень стискання" -#: ../../common/compression.c:277 +#: ../../common/compression.c:386 #, c-format -msgid "compression algorithm \"%s\" expects a compression level between %d and %d" -msgstr "алгоритм стискання \"%s\" очікує рівень стискання між %d і %d" +msgid "compression algorithm \"%s\" expects a compression level between %d and %d (default at %d)" +msgstr "алгоритм стискання \"%s\" очікує рівень стискання між %d і %d (за замовчуванням %d)" -#: ../../common/compression.c:289 +#: ../../common/compression.c:397 #, c-format msgid "compression algorithm \"%s\" does not accept a worker count" msgstr "алгоритм стиснення \"%s\" не приймає кількість працівників" +#: ../../common/compression.c:408 +#, c-format +msgid "compression algorithm \"%s\" does not support long-distance mode" +msgstr "алгоритм стиснення \"%s\" не підтримує режим довгої відстані" + +#: ../../common/controldata_utils.c:97 +#, c-format +msgid "could not open file \"%s\" for reading: %m" +msgstr "не вдалося відкрити файл \"%s\" для читання: %m" + +#: ../../common/controldata_utils.c:110 pg_basebackup.c:1873 +#: pg_receivewal.c:402 +#, 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 "не вдалося прочитати файл \"%s\": прочитано %d з %zu" + +#: ../../common/controldata_utils.c:132 ../../common/controldata_utils.c:280 +#: bbstreamer_file.c:138 pg_recvlogical.c:650 +#, 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, може не відповідати тому, який використовується цією програмою. У такому випадку результати нижче будуть неправильним, і інсталяція 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 ../../fe_utils/recovery_gen.c:140 +#: pg_basebackup.c:1846 pg_receivewal.c:386 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "не можливо відкрити файл \"%s\": %m" + +#: ../../common/controldata_utils.c:249 +#, 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 pg_recvlogical.c:204 +#, c-format +msgid "could not fsync file \"%s\": %m" +msgstr "не вдалося fsync файл \"%s\": %m" + #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 -#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:162 +#: ../../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:154 +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 #, c-format msgid "cannot duplicate null pointer (internal error)\n" msgstr "неможливо дублювати нульовий покажчик (внутрішня помилка)\n" -#: ../../common/file_utils.c:87 ../../common/file_utils.c:451 -#: pg_receivewal.c:380 pg_recvlogical.c:341 +#: ../../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 +#: pg_receivewal.c:319 pg_recvlogical.c:352 #, c-format msgid "could not stat file \"%s\": %m" msgstr "не вдалося отримати інформацію від файлу \"%s\": %m" -#: ../../common/file_utils.c:166 pg_receivewal.c:303 +#: ../../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_receivewal.c:242 #, c-format msgid "could not open directory \"%s\": %m" msgstr "не вдалося відкрити каталог \"%s\": %m" -#: ../../common/file_utils.c:200 pg_receivewal.c:534 +#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 +#: pg_receivewal.c:471 #, c-format msgid "could not read directory \"%s\": %m" msgstr "не вдалося прочитати каталог \"%s\": %m" -#: ../../common/file_utils.c:232 ../../common/file_utils.c:291 -#: ../../common/file_utils.c:365 ../../fe_utils/recovery_gen.c:121 -#: pg_receivewal.c:447 +#: ../../common/file_utils.c:498 pg_basebackup.c:2344 walmethods.c:462 #, c-format -msgid "could not open file \"%s\": %m" -msgstr "не можливо відкрити файл \"%s\": %m" +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "не вдалося перейменувати файл \"%s\" на \"%s\": %m" -#: ../../common/file_utils.c:303 ../../common/file_utils.c:373 -#: pg_recvlogical.c:196 +#: ../../common/restricted_token.c:60 #, c-format -msgid "could not fsync file \"%s\": %m" -msgstr "не вдалося fsync файл \"%s\": %m" +msgid "could not open process token: error code %lu" +msgstr "не вдалося відкрити токен процесу: код помилки %lu" -#: ../../common/file_utils.c:383 pg_basebackup.c:2256 walmethods.c:459 +#: ../../common/restricted_token.c:74 #, c-format -msgid "could not rename file \"%s\" to \"%s\": %m" -msgstr "не вдалося перейменувати файл \"%s\" на \"%s\": %m" +msgid "could not allocate SIDs: error code %lu" +msgstr "не вдалося виділити SID: код помилки %lu" + +#: ../../common/restricted_token.c:94 +#, c-format +msgid "could not create restricted token: error code %lu" +msgstr "не вдалося створити обмежений токен: код помилки %lu" + +#: ../../common/restricted_token.c:115 +#, c-format +msgid "could not start process for command \"%s\": error code %lu" +msgstr "не вдалося запустити процес для команди \"%s\": код помилки %lu" + +#: ../../common/restricted_token.c:153 +#, c-format +msgid "could not re-execute with restricted token: error code %lu" +msgstr "не вдалося перезапустити з обмеженим токеном: код помилки %lu" + +#: ../../common/restricted_token.c:168 +#, c-format +msgid "could not get exit code from subprocess: error code %lu" +msgstr "не вдалося отримати код завершення підпроцесу: код помилки %lu" #: ../../fe_utils/option_utils.c:69 #, c-format @@ -126,51 +228,62 @@ msgstr "неприпустиме значення \"%s\" для параметр msgid "%s must be in range %d..%d" msgstr "%s має бути в діапазоні %d..%d" -#: ../../fe_utils/recovery_gen.c:34 ../../fe_utils/recovery_gen.c:45 -#: ../../fe_utils/recovery_gen.c:70 ../../fe_utils/recovery_gen.c:90 -#: ../../fe_utils/recovery_gen.c:149 pg_basebackup.c:1635 +#: ../../fe_utils/option_utils.c:106 +#, c-format +msgid "unrecognized sync method: %s" +msgstr "нерозпізнаний метод синхронізації: %s" + +#: ../../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 #, c-format msgid "out of memory" msgstr "недостатньо пам'яті" -#: ../../fe_utils/recovery_gen.c:124 bbstreamer_file.c:121 -#: bbstreamer_file.c:258 pg_basebackup.c:1432 pg_basebackup.c:1726 +#: ../../fe_utils/recovery_gen.c:143 bbstreamer_file.c:121 +#: bbstreamer_file.c:258 pg_basebackup.c:1433 pg_basebackup.c:1727 #, c-format msgid "could not write to file \"%s\": %m" msgstr "неможливо записати до файлу \"%s\": %m" -#: ../../fe_utils/recovery_gen.c:133 bbstreamer_file.c:93 bbstreamer_file.c:339 -#: pg_basebackup.c:1496 pg_basebackup.c:1705 +#: ../../fe_utils/recovery_gen.c:152 bbstreamer_file.c:93 bbstreamer_file.c:361 +#: pg_basebackup.c:1497 pg_basebackup.c:1706 #, c-format msgid "could not create file \"%s\": %m" msgstr "неможливо створити файл \"%s\": %m" -#: bbstreamer_file.c:138 pg_recvlogical.c:635 +#: ../../fe_utils/string_utils.c:434 #, c-format -msgid "could not close file \"%s\": %m" -msgstr "неможливо закрити файл \"%s\": %m" +msgid "shell command argument contains a newline or carriage return: \"%s\"\n" +msgstr "аргумент командної оболонки містить символ нового рядка або повернення каретки: \"%s\"\n" + +#: ../../fe_utils/string_utils.c:607 +#, c-format +msgid "database name contains a newline or carriage return: \"%s\"\n" +msgstr "назва бази даних містить символ нового рядка або повернення каретки: \"%s\"\n" #: bbstreamer_file.c:275 #, c-format msgid "unexpected state while extracting archive" msgstr "неочікуваний стан під час розпакування архіву" -#: bbstreamer_file.c:298 pg_basebackup.c:686 pg_basebackup.c:730 +#: bbstreamer_file.c:321 pg_basebackup.c:698 pg_basebackup.c:712 +#: pg_basebackup.c:757 #, c-format msgid "could not create directory \"%s\": %m" msgstr "не вдалося створити каталог \"%s\": %m" -#: bbstreamer_file.c:304 +#: bbstreamer_file.c:326 #, c-format msgid "could not set permissions on directory \"%s\": %m" msgstr "не вдалося встановити права для каталогу \"%s\": %m" -#: bbstreamer_file.c:323 +#: bbstreamer_file.c:345 #, c-format msgid "could not create symbolic link from \"%s\" to \"%s\": %m" msgstr "не вдалося створити символічне послання з \"%s\" на \"%s\": %m" -#: bbstreamer_file.c:343 +#: bbstreamer_file.c:365 #, c-format msgid "could not set permissions on file \"%s\": %m" msgstr "не вдалося встановити права на файл \"%s\": %m" @@ -190,32 +303,27 @@ msgstr "не вдалося дублювати stdout: %m" msgid "could not open output file: %m" msgstr "не вдалося відкрити вихідний файл: %m" -#: bbstreamer_gzip.c:113 +#: bbstreamer_gzip.c:111 #, c-format msgid "could not set compression level %d: %s" msgstr "не вдалося встановити рівень стискання %d: %s" -#: bbstreamer_gzip.c:118 bbstreamer_gzip.c:251 -#, c-format -msgid "this build does not support gzip compression" -msgstr "ця збірка не підтримує стиснення gzip" - -#: bbstreamer_gzip.c:145 +#: bbstreamer_gzip.c:143 #, c-format msgid "could not write to compressed file \"%s\": %s" msgstr "не вдалося записати до стиснутого файлу \"%s\": %s" -#: bbstreamer_gzip.c:169 +#: bbstreamer_gzip.c:167 #, c-format msgid "could not close compressed file \"%s\": %m" msgstr "не вдалося закрити стиснутий файл \"%s\": %m" -#: bbstreamer_gzip.c:247 walmethods.c:869 +#: bbstreamer_gzip.c:245 walmethods.c:880 #, c-format msgid "could not initialize compression library" msgstr "не вдалося ініціалізувати бібліотеку стискання" -#: bbstreamer_gzip.c:298 bbstreamer_lz4.c:355 bbstreamer_zstd.c:319 +#: bbstreamer_gzip.c:296 bbstreamer_lz4.c:354 bbstreamer_zstd.c:329 #, c-format msgid "could not decompress data: %s" msgstr "не вдалося розпакувати дані: %s" @@ -225,32 +333,27 @@ msgstr "не вдалося розпакувати дані: %s" msgid "unexpected state while injecting recovery settings" msgstr "неочікуваний стан під час введення налаштувань відновлення" -#: bbstreamer_lz4.c:96 +#: bbstreamer_lz4.c:95 #, c-format msgid "could not create lz4 compression context: %s" msgstr "не вдалося створити контекст стиснення lz4: %s" -#: bbstreamer_lz4.c:101 bbstreamer_lz4.c:299 -#, c-format -msgid "this build does not support lz4 compression" -msgstr "ця збірка не підтримує стиснення lz4" - -#: bbstreamer_lz4.c:141 +#: bbstreamer_lz4.c:140 #, c-format msgid "could not write lz4 header: %s" msgstr "не вдалося записати заголовок lz4: %s" -#: bbstreamer_lz4.c:190 bbstreamer_zstd.c:171 bbstreamer_zstd.c:213 +#: bbstreamer_lz4.c:189 bbstreamer_zstd.c:181 bbstreamer_zstd.c:223 #, c-format msgid "could not compress data: %s" msgstr "не вдалося стиснути дані: %s" -#: bbstreamer_lz4.c:242 +#: bbstreamer_lz4.c:241 #, c-format msgid "could not end lz4 compression: %s" msgstr "не вдалося закінчити стискання lz4: %s" -#: bbstreamer_lz4.c:294 +#: bbstreamer_lz4.c:293 #, c-format msgid "could not initialize compression library: %s" msgstr "не вдалося ініціалізувати бібліотеку стиснення: %s" @@ -265,12 +368,12 @@ msgstr "причіп файлу tar перевищує 2 блоки" msgid "unexpected state while parsing tar archive" msgstr "неочікуваний стан під час розбору архіву tar" -#: bbstreamer_tar.c:296 +#: bbstreamer_tar.c:292 #, c-format msgid "tar member has empty name" msgstr "частина tar містить порожню назву" -#: bbstreamer_tar.c:328 +#: bbstreamer_tar.c:326 #, c-format msgid "COPY stream ended before last file was finished" msgstr "потік COPY завершився до завершення останнього файлу" @@ -280,397 +383,415 @@ msgstr "потік COPY завершився до завершення оста msgid "could not create zstd compression context" msgstr "не вдалося створити контекст стиснення zstd" -#: bbstreamer_zstd.c:93 +#: bbstreamer_zstd.c:91 #, c-format msgid "could not set zstd compression level to %d: %s" msgstr "не вдалося встановити рівень стискання zstd на %d: %s" -#: bbstreamer_zstd.c:108 +#: bbstreamer_zstd.c:105 #, c-format msgid "could not set compression worker count to %d: %s" msgstr "не вдалося встановити кількість процесів стискання на %d: %s" -#: bbstreamer_zstd.c:119 bbstreamer_zstd.c:274 +#: bbstreamer_zstd.c:116 #, c-format -msgid "this build does not support zstd compression" -msgstr "ця збірка не підтримує стиснення zstd" +msgid "could not enable long-distance mode: %s" +msgstr "не вдалося включити режим довгої відстані: %s" -#: bbstreamer_zstd.c:265 +#: bbstreamer_zstd.c:275 #, c-format msgid "could not create zstd decompression context" msgstr "не вдалося створити контекст zstd декомпресії" -#: pg_basebackup.c:240 +#: pg_basebackup.c:245 #, c-format msgid "removing data directory \"%s\"" msgstr "видалення даних з директорії \"%s\"" -#: pg_basebackup.c:242 +#: pg_basebackup.c:247 #, c-format msgid "failed to remove data directory" msgstr "не вдалося видалити дані директорії" -#: pg_basebackup.c:246 +#: pg_basebackup.c:251 #, c-format msgid "removing contents of data directory \"%s\"" msgstr "видалення даних з директорії \"%s\"" -#: pg_basebackup.c:248 +#: pg_basebackup.c:253 #, c-format msgid "failed to remove contents of data directory" msgstr "не вдалося видалити дані директорії" -#: pg_basebackup.c:253 +#: pg_basebackup.c:258 #, c-format msgid "removing WAL directory \"%s\"" msgstr "видалення WAL директорії \"%s\"" -#: pg_basebackup.c:255 +#: pg_basebackup.c:260 #, c-format msgid "failed to remove WAL directory" msgstr "не вдалося видалити директорію WAL" -#: pg_basebackup.c:259 +#: pg_basebackup.c:264 #, c-format msgid "removing contents of WAL directory \"%s\"" msgstr "видалення даних з директорії WAL \"%s\"" -#: pg_basebackup.c:261 +#: pg_basebackup.c:266 #, c-format msgid "failed to remove contents of WAL directory" msgstr "не вдалося видалити дані директорії WAL" -#: pg_basebackup.c:267 +#: pg_basebackup.c:272 #, c-format msgid "data directory \"%s\" not removed at user's request" msgstr "директорія даних \"%s\" не видалена за запитом користувача" -#: pg_basebackup.c:270 +#: pg_basebackup.c:275 #, c-format msgid "WAL directory \"%s\" not removed at user's request" msgstr "директорія WAL \"%s\" не видалена за запитом користувача" -#: pg_basebackup.c:274 +#: pg_basebackup.c:279 #, c-format msgid "changes to tablespace directories will not be undone" msgstr "зміни в каталогах табличних просторів незворотні" -#: pg_basebackup.c:326 +#: pg_basebackup.c:331 #, c-format msgid "directory name too long" msgstr "ім'я директорії задовге" -#: pg_basebackup.c:333 +#: pg_basebackup.c:338 #, c-format msgid "multiple \"=\" signs in tablespace mapping" msgstr "кілька знаків \"=\" зіставленні табличних просторів" -#: pg_basebackup.c:342 +#: pg_basebackup.c:347 #, c-format msgid "invalid tablespace mapping format \"%s\", must be \"OLDDIR=NEWDIR\"" msgstr "неприпустимий табличний простір зіставлення формату \"%s\", має бути \"OLDDIR = NEWDIR\"" -#: pg_basebackup.c:351 +#: pg_basebackup.c:366 #, c-format msgid "old directory is not an absolute path in tablespace mapping: %s" msgstr "старий каталог не є абсолютним шляхом у зіставлення табличного простору: %s" -#: pg_basebackup.c:355 +#: pg_basebackup.c:370 #, c-format msgid "new directory is not an absolute path in tablespace mapping: %s" msgstr "новий каталог не є абсолютним шляхом у зіставлення табличного простору: %s" -#: pg_basebackup.c:377 +#: pg_basebackup.c:392 #, c-format msgid "%s takes a base backup of a running PostgreSQL server.\n\n" msgstr "%s робить базову резервну копію працюючого сервера PostgreSQL.\n\n" -#: pg_basebackup.c:379 pg_receivewal.c:81 pg_recvlogical.c:78 +#: pg_basebackup.c:394 pg_createsubscriber.c:221 pg_receivewal.c:79 +#: pg_recvlogical.c:86 #, c-format msgid "Usage:\n" msgstr "Використання:\n" -#: pg_basebackup.c:380 pg_receivewal.c:82 pg_recvlogical.c:79 +#: pg_basebackup.c:395 pg_createsubscriber.c:222 pg_receivewal.c:80 +#: pg_recvlogical.c:87 #, c-format msgid " %s [OPTION]...\n" msgstr " %s: [OPTION]...\n" -#: pg_basebackup.c:381 +#: pg_basebackup.c:396 #, c-format msgid "\n" "Options controlling the output:\n" msgstr "\n" "Параметри, що контролюють вивід:\n" -#: pg_basebackup.c:382 +#: pg_basebackup.c:397 #, c-format msgid " -D, --pgdata=DIRECTORY receive base backup into directory\n" msgstr " -D, -- pgdata=DIRECTORY директорія, в яку зберегти резервну копію бази\n" -#: pg_basebackup.c:383 +#: pg_basebackup.c:398 #, c-format msgid " -F, --format=p|t output format (plain (default), tar)\n" msgstr " -F, --format=p|т формат виводу (звичайний за замовчуванням, tar)\n" -#: pg_basebackup.c:384 +#: pg_basebackup.c:399 +#, c-format +msgid " -i, --incremental=OLDMANIFEST\n" +" take incremental backup\n" +msgstr " -i, --incremental=OLDMANIFEST\n" +" створювати інкрементні резервні копії\n" + +#: pg_basebackup.c:401 #, c-format msgid " -r, --max-rate=RATE maximum transfer rate to transfer data directory\n" " (in kB/s, or use suffix \"k\" or \"M\")\n" msgstr " -r, --max-rate=RATE максимальна швидкість передавання даних до директорії\n" " (у кБ/с або з використанням суфіксів \"k\" або \"М\")\n" -#: pg_basebackup.c:386 +#: pg_basebackup.c:403 #, c-format msgid " -R, --write-recovery-conf\n" " write configuration for replication\n" msgstr " -R, --write-recovery-conf\n" " записати конфігурацію для реплікації\n" -#: pg_basebackup.c:388 +#: pg_basebackup.c:405 #, c-format msgid " -t, --target=TARGET[:DETAIL]\n" " backup target (if other than client)\n" msgstr " -t, --target=TARGET[:DETAIL]\n" " ціль резервного копіювання (якщо не клієнт)\n" -#: pg_basebackup.c:390 +#: pg_basebackup.c:407 #, c-format msgid " -T, --tablespace-mapping=OLDDIR=NEWDIR\n" " relocate tablespace in OLDDIR to NEWDIR\n" msgstr " -T, --tablespace-mapping=OLDDIR=NEWDIR\n" " перенестb табличний простір з OLDDIR до NEWDIR\n" -#: pg_basebackup.c:392 +#: pg_basebackup.c:409 #, c-format msgid " --waldir=WALDIR location for the write-ahead log directory\n" msgstr "--waldir=WALDIR розташування журналу попереднього запису\n" -#: pg_basebackup.c:393 +#: pg_basebackup.c:410 #, c-format msgid " -X, --wal-method=none|fetch|stream\n" " include required WAL files with specified method\n" msgstr " -X, --wal-method=none|fetch|stream\n" " додати необхідні WAL файли за допомогою вказаного методу\n" -#: pg_basebackup.c:395 +#: pg_basebackup.c:412 #, c-format msgid " -z, --gzip compress tar output\n" msgstr " -z, --gzip стиснути вихідний tar\n" -#: pg_basebackup.c:396 +#: pg_basebackup.c:413 #, c-format msgid " -Z, --compress=[{client|server}-]METHOD[:DETAIL]\n" " compress on client or server as specified\n" msgstr " -Z, --compress=[{client|server}-]METHOD[:DETAIL]\n" " стискати на клієнті або сервері, як зазначено\n" -#: pg_basebackup.c:398 +#: pg_basebackup.c:415 #, c-format msgid " -Z, --compress=none do not compress tar output\n" msgstr " -Z, --compress=none не стискати вивід tar\n" -#: pg_basebackup.c:399 +#: pg_basebackup.c:416 #, c-format msgid "\n" "General options:\n" msgstr "\n" "Основні налаштування:\n" -#: pg_basebackup.c:400 +#: pg_basebackup.c:417 #, c-format msgid " -c, --checkpoint=fast|spread\n" -" set fast or spread checkpointing\n" +" set fast or spread (default) checkpointing\n" msgstr " -c, --checkpoint=fast|spread\n" -" режим швидких або розділених контрольних точок\n" +" встановлювати швидкі або розподілені (за замовчуванням) контрольні точки\n" -#: pg_basebackup.c:402 +#: pg_basebackup.c:419 #, c-format msgid " -C, --create-slot create replication slot\n" msgstr " -C, --create-slot створити слот для реплікації\n" -#: pg_basebackup.c:403 +#: pg_basebackup.c:420 #, c-format msgid " -l, --label=LABEL set backup label\n" msgstr " -l, --label=LABEL встановити мітку резервної копії\n" -#: pg_basebackup.c:404 +#: pg_basebackup.c:421 #, c-format msgid " -n, --no-clean do not clean up after errors\n" msgstr " -n, --no-clean не очищати після помилок\n" -#: pg_basebackup.c:405 +#: pg_basebackup.c:422 #, c-format msgid " -N, --no-sync do not wait for changes to be written safely to disk\n" msgstr " -N, --no-sync не чекати завершення збереження даних на диску\n" -#: pg_basebackup.c:406 +#: pg_basebackup.c:423 #, c-format msgid " -P, --progress show progress information\n" msgstr " -P, --progress відображати інформацію про прогрес\n" -#: pg_basebackup.c:407 pg_receivewal.c:91 +#: pg_basebackup.c:424 pg_receivewal.c:89 #, c-format msgid " -S, --slot=SLOTNAME replication slot to use\n" msgstr " -S, --slot=ИМ'Я_СЛОТА використовувати вказаний слот реплікації\n" -#: pg_basebackup.c:408 pg_receivewal.c:93 pg_recvlogical.c:100 +#: pg_basebackup.c:425 pg_receivewal.c:91 pg_recvlogical.c:108 #, c-format msgid " -v, --verbose output verbose messages\n" msgstr " -v, --verbose виводити детальні повідомлення\n" -#: pg_basebackup.c:409 pg_receivewal.c:94 pg_recvlogical.c:101 +#: pg_basebackup.c:426 pg_receivewal.c:92 pg_recvlogical.c:109 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version вивести інформацію про версію і вийти\n" -#: pg_basebackup.c:410 +#: pg_basebackup.c:427 #, c-format msgid " --manifest-checksums=SHA{224,256,384,512}|CRC32C|NONE\n" " use algorithm for manifest checksums\n" msgstr " --manifest-checksums=SHA{224,256,384,512}|CRC32C|НЕ\n" " використовувати алгоритм для контрольних сум маніфесту\n" -#: pg_basebackup.c:412 +#: pg_basebackup.c:429 #, c-format msgid " --manifest-force-encode\n" " hex encode all file names in manifest\n" msgstr " --manifest-force-encode\n" " кодувати у hex всі імена файлів у маніфесті\n" -#: pg_basebackup.c:414 +#: pg_basebackup.c:431 #, c-format msgid " --no-estimate-size do not estimate backup size in server side\n" msgstr " --no-estimate-size не оцінювати розмір резервної копії на стороні сервера\n" -#: pg_basebackup.c:415 +#: pg_basebackup.c:432 #, c-format msgid " --no-manifest suppress generation of backup manifest\n" msgstr " --no-manifest пропустити створення маніфесту резервного копіювання\n" -#: pg_basebackup.c:416 +#: pg_basebackup.c:433 #, c-format msgid " --no-slot prevent creation of temporary replication slot\n" msgstr " --no-slot не створювати тимчасового слоту реплікації\n" -#: pg_basebackup.c:417 +#: pg_basebackup.c:434 #, c-format msgid " --no-verify-checksums\n" " do not verify checksums\n" msgstr " --no-verify-checksums\n" " не перевіряти контрольні суми\n" -#: pg_basebackup.c:419 pg_receivewal.c:97 pg_recvlogical.c:102 +#: pg_basebackup.c:436 +#, c-format +msgid " --sync-method=METHOD\n" +" set method for syncing files to disk\n" +msgstr " --sync-method=METHOD\n" +" встановити метод синхронізації файлів на диск\n" + +#: pg_basebackup.c:438 pg_receivewal.c:95 pg_recvlogical.c:110 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help показати цю довідку потім вийти\n" -#: pg_basebackup.c:420 pg_receivewal.c:98 pg_recvlogical.c:103 +#: pg_basebackup.c:439 pg_receivewal.c:96 pg_recvlogical.c:111 #, c-format msgid "\n" "Connection options:\n" msgstr "\n" "Налаштування з'єднання:\n" -#: pg_basebackup.c:421 pg_receivewal.c:99 +#: pg_basebackup.c:440 pg_receivewal.c:97 #, c-format msgid " -d, --dbname=CONNSTR connection string\n" msgstr " -d, --dbname=CONNSTR рядок з'єднання\n" -#: pg_basebackup.c:422 pg_receivewal.c:100 pg_recvlogical.c:105 +#: pg_basebackup.c:441 pg_receivewal.c:98 pg_recvlogical.c:113 #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr " -h, --host=HOSTNAME хост сервера бази даних або каталог сокетів\n" -#: pg_basebackup.c:423 pg_receivewal.c:101 pg_recvlogical.c:106 +#: pg_basebackup.c:442 pg_receivewal.c:99 pg_recvlogical.c:114 #, c-format msgid " -p, --port=PORT database server port number\n" msgstr " -p, --port=PORT порт сервера бази даних\n" -#: pg_basebackup.c:424 +#: pg_basebackup.c:443 #, c-format msgid " -s, --status-interval=INTERVAL\n" " time between status packets sent to server (in seconds)\n" msgstr " -s, --status-interval=INTERVAL часу між пакетами статусу до сервера (у секундах)\n" -#: pg_basebackup.c:426 pg_receivewal.c:102 pg_recvlogical.c:107 +#: pg_basebackup.c:445 pg_receivewal.c:100 pg_recvlogical.c:115 #, c-format msgid " -U, --username=NAME connect as specified database user\n" msgstr " -U, --username=NAME підключатись як вказаний користувач бази даних\n" -#: pg_basebackup.c:427 pg_receivewal.c:103 pg_recvlogical.c:108 +#: pg_basebackup.c:446 pg_receivewal.c:101 pg_recvlogical.c:116 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password ніколи не питати пароль\n" -#: pg_basebackup.c:428 pg_receivewal.c:104 pg_recvlogical.c:109 +#: pg_basebackup.c:447 pg_receivewal.c:102 pg_recvlogical.c:117 #, c-format msgid " -W, --password force password prompt (should happen automatically)\n" msgstr " -W, --password обов'язково питати пароль (повинно відбуватися автоматично)\n" -#: pg_basebackup.c:429 pg_receivewal.c:108 pg_recvlogical.c:110 +#: pg_basebackup.c:448 pg_createsubscriber.c:240 pg_receivewal.c:106 +#: pg_recvlogical.c:118 #, c-format msgid "\n" "Report bugs to <%s>.\n" msgstr "\n" "Повідомляти про помилки на <%s>.\n" -#: pg_basebackup.c:430 pg_receivewal.c:109 pg_recvlogical.c:111 +#: pg_basebackup.c:449 pg_createsubscriber.c:241 pg_receivewal.c:107 +#: pg_recvlogical.c:119 #, c-format msgid "%s home page: <%s>\n" msgstr "Домашня сторінка %s: <%s>\n" -#: pg_basebackup.c:472 +#: pg_basebackup.c:488 #, c-format msgid "could not read from ready pipe: %m" msgstr "не можливо прочитати з готових каналів: %m" -#: pg_basebackup.c:475 pg_basebackup.c:622 pg_basebackup.c:2170 -#: streamutil.c:444 +#: pg_basebackup.c:491 pg_basebackup.c:633 pg_basebackup.c:2258 +#: streamutil.c:518 #, c-format msgid "could not parse write-ahead log location \"%s\"" msgstr "не вдалося проаналізувати наперед журнал локації \"%s\"" -#: pg_basebackup.c:581 pg_receivewal.c:665 +#: pg_basebackup.c:596 pg_receivewal.c:600 #, c-format msgid "could not finish writing WAL files: %m" msgstr "не можливо закінчити написання файлів WAL: %m" -#: pg_basebackup.c:631 +#: pg_basebackup.c:642 #, c-format msgid "could not create pipe for background process: %m" msgstr "не можливо створити канал для фонового процесу: %m" -#: pg_basebackup.c:664 +#: pg_basebackup.c:676 #, c-format msgid "created temporary replication slot \"%s\"" msgstr "створено слот тимчасових реплікацій \"%s\"" -#: pg_basebackup.c:667 +#: pg_basebackup.c:679 #, c-format msgid "created replication slot \"%s\"" msgstr "створено слот реплікацій \"%s\"" -#: pg_basebackup.c:701 +#: pg_basebackup.c:728 #, c-format msgid "could not create background process: %m" msgstr "не можливо створити фоновий процес: %m" -#: pg_basebackup.c:710 +#: pg_basebackup.c:737 #, c-format msgid "could not create background thread: %m" msgstr "не можливо створити фоновий потік: %m" -#: pg_basebackup.c:749 +#: pg_basebackup.c:776 #, c-format msgid "directory \"%s\" exists but is not empty" msgstr "каталог \"%s\" існує, але він не порожній" -#: pg_basebackup.c:755 +#: pg_basebackup.c:782 pg_createsubscriber.c:390 #, c-format msgid "could not access directory \"%s\": %m" msgstr "немає доступу до каталогу \"%s\": %m" -#: pg_basebackup.c:832 +#: pg_basebackup.c:858 #, c-format msgid "%*s/%s kB (100%%), %d/%d tablespace %*s" msgid_plural "%*s/%s kB (100%%), %d/%d tablespaces %*s" @@ -679,7 +800,7 @@ msgstr[1] "%*s/%s kB (100%%), %d/%d табличних простори %*s" msgstr[2] "%*s/%s kB (100%%), %d/%d табличних просторів %*s" msgstr[3] "%*s/%s kB (100%%), %d/%d табличних просторів %*s" -#: pg_basebackup.c:844 +#: pg_basebackup.c:870 #, c-format msgid "%*s/%s kB (%d%%), %d/%d tablespace (%s%-*.*s)" msgid_plural "%*s/%s kB (%d%%), %d/%d tablespaces (%s%-*.*s)" @@ -688,7 +809,7 @@ msgstr[1] "%*s/%s kB (%d%%), %d/%d табличних простори (%s%-*.*s msgstr[2] "%*s/%s kB (%d%%), %d/%d табличних просторів (%s%-*.*s)" msgstr[3] "%*s/%s kB (%d%%), %d/%d табличних просторів (%s%-*.*s)" -#: pg_basebackup.c:860 +#: pg_basebackup.c:886 #, c-format msgid "%*s/%s kB (%d%%), %d/%d tablespace" msgid_plural "%*s/%s kB (%d%%), %d/%d tablespaces" @@ -697,661 +818,1313 @@ msgstr[1] "%*s/%s kB (%d%%), %d/%d табличних простори" msgstr[2] "%*s/%s kB (%d%%), %d/%d табличних просторів" msgstr[3] "%*s/%s kB (%d%%), %d/%d табличних просторів" -#: pg_basebackup.c:884 +#: pg_basebackup.c:910 #, c-format msgid "transfer rate \"%s\" is not a valid value" msgstr "частота передач \"%s\" не є припустимим значенням" -#: pg_basebackup.c:886 +#: pg_basebackup.c:912 #, c-format msgid "invalid transfer rate \"%s\": %m" msgstr "неприпустима частота передач \"%s\": %m" -#: pg_basebackup.c:893 +#: pg_basebackup.c:919 #, c-format msgid "transfer rate must be greater than zero" msgstr "частота передач повинна бути більша за нуль" -#: pg_basebackup.c:923 +#: pg_basebackup.c:949 #, c-format msgid "invalid --max-rate unit: \"%s\"" msgstr "неприпустима одиниця виміру в --max-rate: \"%s\"" -#: pg_basebackup.c:927 +#: pg_basebackup.c:953 #, c-format msgid "transfer rate \"%s\" exceeds integer range" msgstr "швидкість передачі \"%s\" перевищує діапазон цілого числа" -#: pg_basebackup.c:934 +#: pg_basebackup.c:960 #, c-format msgid "transfer rate \"%s\" is out of range" msgstr "швидкість передавання \"%s\" поза діапазоном" -#: pg_basebackup.c:1030 +#: pg_basebackup.c:1022 #, c-format msgid "could not get COPY data stream: %s" msgstr "не вдалося отримати потік даних COPY: %s" -#: pg_basebackup.c:1047 pg_recvlogical.c:438 pg_recvlogical.c:610 -#: receivelog.c:981 +#: pg_basebackup.c:1039 pg_recvlogical.c:449 pg_recvlogical.c:625 +#: receivelog.c:973 #, c-format msgid "could not read COPY data: %s" msgstr "не вдалося прочитати дані COPY: %s" -#: pg_basebackup.c:1051 +#: pg_basebackup.c:1043 #, c-format msgid "background process terminated unexpectedly" msgstr "фоновий процес несподівано перервано" -#: pg_basebackup.c:1122 +#: pg_basebackup.c:1114 #, c-format -msgid "cannot inject manifest into a compressed tarfile" +msgid "cannot inject manifest into a compressed tar file" msgstr "неможливо підставити маніфест в стиснений tar-файл" -#: pg_basebackup.c:1123 +#: pg_basebackup.c:1115 #, c-format -msgid "use client-side compression, send the output to a directory rather than standard output, or use --no-manifest" -msgstr "використйте стиснення на клієнті та відправлення даних в каталог замість стандартного виводу, або використайте параметр --no-manifest" +msgid "Use client-side compression, send the output to a directory rather than standard output, or use %s." +msgstr "Використайте стиснення на клієнті та відправлення даних в каталог замість стандартного виводу, або використайте %s." -#: pg_basebackup.c:1138 +#: pg_basebackup.c:1131 #, c-format -msgid "unable to parse archive: %s" -msgstr "не вдалося розібрати архів: %s" +msgid "cannot parse archive \"%s\"" +msgstr "неможливо розібрати архів \"%s\"" -#: pg_basebackup.c:1139 +#: pg_basebackup.c:1132 #, c-format msgid "Only tar archives can be parsed." msgstr "Тільки архів tar може бути проаналізований." -#: pg_basebackup.c:1141 +#: pg_basebackup.c:1134 #, c-format msgid "Plain format requires pg_basebackup to parse the archive." msgstr "Простий формат потребує обробки архіву в pg_basebackup для обробки." -#: pg_basebackup.c:1143 +#: pg_basebackup.c:1136 #, c-format msgid "Using - as the output directory requires pg_basebackup to parse the archive." msgstr "Використання - в якості вихідного каталогу потребує pg_basebackup для аналізу архіву." -#: pg_basebackup.c:1145 +#: pg_basebackup.c:1138 #, c-format msgid "The -R option requires pg_basebackup to parse the archive." msgstr "Параметр -R потребує використання pg_basebackup для аналізу архіву." -#: pg_basebackup.c:1356 +#: pg_basebackup.c:1357 #, c-format -msgid "archives should precede manifest" +msgid "archives must precede manifest" msgstr "архіви повинні передувати маніфесту" -#: pg_basebackup.c:1371 +#: pg_basebackup.c:1372 #, c-format msgid "invalid archive name: \"%s\"" msgstr "неприпустиме ім'я архіву: \"%s\"" -#: pg_basebackup.c:1443 +#: pg_basebackup.c:1444 #, c-format msgid "unexpected payload data" msgstr "неочікувані дані корисного навантаження" -#: pg_basebackup.c:1586 +#: pg_basebackup.c:1587 #, c-format msgid "empty COPY message" msgstr "порожнє повідомлення COPY" -#: pg_basebackup.c:1588 +#: pg_basebackup.c:1589 #, c-format msgid "malformed COPY message of type %d, length %zu" msgstr "неправильне повідомлення COPY з типом %d, довжина %zu" -#: pg_basebackup.c:1786 +#: pg_basebackup.c:1789 #, c-format msgid "incompatible server version %s" msgstr "несумісна версія серверу %s" -#: pg_basebackup.c:1802 +#: pg_basebackup.c:1805 +#, c-format +msgid "Use -X none or -X fetch to disable log streaming." +msgstr "Використайте -X none або -X fetch, щоб вимкнути потокову передачу журналу." + +#: pg_basebackup.c:1841 +#, c-format +msgid "server does not support incremental backup" +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 +#, c-format +msgid "could not send replication command \"%s\": %s" +msgstr "не вдалося відправити реплікаційну команду \"%s\": %s" + +#: pg_basebackup.c:1856 pg_basebackup.c:1883 +#, c-format +msgid "could not upload manifest: %s" +msgstr "не вдалося завантажити маніфест: %s" + +#: pg_basebackup.c:1859 pg_basebackup.c:1886 #, c-format -msgid "HINT: use -X none or -X fetch to disable log streaming" -msgstr "ПІДКАЗКА: використайте -X none або -X fetch, щоб вимкнути потокову передачу журналу" +msgid "could not upload manifest: unexpected status %s" +msgstr "не вдалося завантажити маніфест: неочікуваний статус %s" -#: pg_basebackup.c:1870 +#: pg_basebackup.c:1867 +#, c-format +msgid "could not send COPY data: %s" +msgstr "не вдалося надіслати дані COPY: %s" + +#: pg_basebackup.c:1877 +#, c-format +msgid "could not send end-of-COPY: %s" +msgstr "не вдалося надіслати сповіщення про закінчення копіювання: %s" + +#: pg_basebackup.c:1892 +#, c-format +msgid "unexpected extra result while sending manifest" +msgstr "несподіваний додатковий результат під час надсилання маніфесту" + +#: pg_basebackup.c:1950 #, c-format msgid "backup targets are not supported by this server version" msgstr "цілі резервного копіювання не підтримуються цією версією сервера" -#: pg_basebackup.c:1873 +#: pg_basebackup.c:1953 #, c-format msgid "recovery configuration cannot be written when a backup target is used" msgstr "конфігурація відновлення не може бути записана під час використання цілі резервного копіювання" -#: pg_basebackup.c:1900 +#: pg_basebackup.c:1980 #, c-format msgid "server does not support server-side compression" msgstr "сервер не підтримує стиснення на сервері" -#: pg_basebackup.c:1910 +#: pg_basebackup.c:1990 #, c-format msgid "initiating base backup, waiting for checkpoint to complete" msgstr "початок базового резервного копіювання, очікується завершення контрольної точки" -#: pg_basebackup.c:1927 pg_recvlogical.c:262 receivelog.c:549 receivelog.c:588 -#: streamutil.c:291 streamutil.c:364 streamutil.c:416 streamutil.c:504 -#: streamutil.c:656 streamutil.c:701 +#: pg_basebackup.c:1994 #, c-format -msgid "could not send replication command \"%s\": %s" -msgstr "не вдалося відправити реплікаційну команду \"%s\": %s" +msgid "waiting for checkpoint" +msgstr "очікування контрольної точки" -#: pg_basebackup.c:1935 +#: pg_basebackup.c:2016 #, c-format msgid "could not initiate base backup: %s" msgstr "не вдалося почати базове резервне копіювання: %s" -#: pg_basebackup.c:1938 +#: pg_basebackup.c:2019 #, c-format msgid "server returned unexpected response to BASE_BACKUP command; got %d rows and %d fields, expected %d rows and %d fields" msgstr "сервер повернув неочікувану відповідь на команду BASE_BACKUP; отримано %d рядків і %d полів, очікувалось %d рядків і %d полів" -#: pg_basebackup.c:1944 +#: pg_basebackup.c:2025 #, c-format msgid "checkpoint completed" msgstr "контрольна точка завершена" -#: pg_basebackup.c:1959 +#: pg_basebackup.c:2039 #, c-format msgid "write-ahead log start point: %s on timeline %u" msgstr "стартова точка у випереджувальному журналюванні: %s на часовій шкалі %u" -#: pg_basebackup.c:1967 +#: pg_basebackup.c:2047 #, c-format msgid "could not get backup header: %s" msgstr "не вдалося отримати заголовок резервної копії: %s" -#: pg_basebackup.c:1970 +#: pg_basebackup.c:2050 #, c-format msgid "no data returned from server" msgstr "сервер не повернув дані" -#: pg_basebackup.c:2005 +#: pg_basebackup.c:2093 #, c-format msgid "can only write single tablespace to stdout, database has %d" msgstr "можна записати лише один табличний простір в stdout, всього їх в базі даних %d" -#: pg_basebackup.c:2018 +#: pg_basebackup.c:2106 #, c-format msgid "starting background WAL receiver" msgstr "запуск фонового процесу зчитування WAL" -#: pg_basebackup.c:2101 +#: pg_basebackup.c:2189 #, c-format msgid "backup failed: %s" msgstr "помилка резервного копіювання: %s" -#: pg_basebackup.c:2104 +#: pg_basebackup.c:2192 #, c-format msgid "no write-ahead log end position returned from server" msgstr "сервер не повернув кінцеву позицію у випереджувальному журналюванні" -#: pg_basebackup.c:2107 +#: pg_basebackup.c:2195 #, c-format msgid "write-ahead log end point: %s" msgstr "кінцева точка у випереджувальному журналюванні: %s" -#: pg_basebackup.c:2118 +#: pg_basebackup.c:2206 #, c-format msgid "checksum error occurred" msgstr "сталася помилка контрольної суми" -#: pg_basebackup.c:2123 +#: pg_basebackup.c:2211 #, c-format msgid "final receive failed: %s" msgstr "помилка в кінці передачі: %s" -#: pg_basebackup.c:2147 +#: pg_basebackup.c:2235 #, c-format msgid "waiting for background process to finish streaming ..." msgstr "очікування завершення потокового передавання фоновим процесом ..." -#: pg_basebackup.c:2151 +#: pg_basebackup.c:2239 #, c-format msgid "could not send command to background pipe: %m" msgstr "не вдалося надіслати команду до канала фонового процесу: %m" -#: pg_basebackup.c:2156 +#: pg_basebackup.c:2244 #, c-format msgid "could not wait for child process: %m" msgstr "збій при очікуванні дочірнього процесу: %m" -#: pg_basebackup.c:2158 +#: pg_basebackup.c:2246 #, c-format msgid "child %d died, expected %d" msgstr "завершився дочірній процес %d, очікувалося %d" -#: pg_basebackup.c:2160 streamutil.c:91 streamutil.c:197 +#: pg_basebackup.c:2248 streamutil.c:89 streamutil.c:204 streamutil.c:316 #, c-format msgid "%s" msgstr "%s" -#: pg_basebackup.c:2180 +#: pg_basebackup.c:2268 #, c-format msgid "could not wait for child thread: %m" msgstr "неможливо дочекатися дочірнього потоку: %m" -#: pg_basebackup.c:2185 +#: pg_basebackup.c:2273 #, c-format msgid "could not get child thread exit status: %m" msgstr "не можливо отримати статус завершення дочірнього потоку: %m" -#: pg_basebackup.c:2188 +#: pg_basebackup.c:2276 #, c-format msgid "child thread exited with error %u" msgstr "дочірній потік завершився з помилкою %u" -#: pg_basebackup.c:2217 +#: pg_basebackup.c:2305 #, c-format msgid "syncing data to disk ..." msgstr "синхронізація даних з диском ..." -#: pg_basebackup.c:2242 +#: pg_basebackup.c:2330 #, c-format msgid "renaming backup_manifest.tmp to backup_manifest" msgstr "перейменування backup_manifest.tmp в backup_manifest" -#: pg_basebackup.c:2262 +#: pg_basebackup.c:2350 #, c-format msgid "base backup completed" msgstr "базове резервне копіювання завершено" -#: pg_basebackup.c:2351 +#: pg_basebackup.c:2436 +#, c-format +msgid "invalid checkpoint argument \"%s\", must be \"fast\" or \"spread\"" +msgstr "неприпустимий аргумент контрольної точки \"%s\", повинен бути \"fast\" або \"spread\"" + +#: pg_basebackup.c:2454 #, c-format msgid "invalid output format \"%s\", must be \"plain\" or \"tar\"" msgstr "неприпустимий формат виводу \"%s\", повинен бути \"plain\" або \"tar\"" -#: pg_basebackup.c:2395 +#: pg_basebackup.c:2535 #, c-format msgid "invalid wal-method option \"%s\", must be \"fetch\", \"stream\", or \"none\"" msgstr "неприпустимий параметр wal-method \"%s\", повинен бути \"fetch\", \"stream\" або \"none\"" -#: pg_basebackup.c:2425 -#, c-format -msgid "invalid checkpoint argument \"%s\", must be \"fast\" or \"spread\"" -msgstr "неприпустимий аргумент контрольної точки \"%s\", повинен бути \"fast\" або \"spread\"" - -#: pg_basebackup.c:2476 pg_basebackup.c:2488 pg_basebackup.c:2510 -#: pg_basebackup.c:2522 pg_basebackup.c:2528 pg_basebackup.c:2580 -#: pg_basebackup.c:2591 pg_basebackup.c:2601 pg_basebackup.c:2607 -#: pg_basebackup.c:2614 pg_basebackup.c:2626 pg_basebackup.c:2638 -#: pg_basebackup.c:2646 pg_basebackup.c:2659 pg_basebackup.c:2665 -#: pg_basebackup.c:2674 pg_basebackup.c:2686 pg_basebackup.c:2697 -#: pg_basebackup.c:2705 pg_receivewal.c:816 pg_receivewal.c:828 -#: pg_receivewal.c:835 pg_receivewal.c:844 pg_receivewal.c:851 -#: pg_receivewal.c:861 pg_recvlogical.c:837 pg_recvlogical.c:849 -#: pg_recvlogical.c:859 pg_recvlogical.c:866 pg_recvlogical.c:873 -#: pg_recvlogical.c:880 pg_recvlogical.c:887 pg_recvlogical.c:894 -#: pg_recvlogical.c:901 pg_recvlogical.c:908 +#: pg_basebackup.c:2574 pg_basebackup.c:2586 pg_basebackup.c:2608 +#: pg_basebackup.c:2620 pg_basebackup.c:2626 pg_basebackup.c:2678 +#: pg_basebackup.c:2689 pg_basebackup.c:2699 pg_basebackup.c:2705 +#: 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_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 +#: pg_recvlogical.c:896 pg_recvlogical.c:903 pg_recvlogical.c:910 +#: pg_recvlogical.c:917 pg_recvlogical.c:924 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Спробуйте \"%s --help\" для додаткової інформації." -#: pg_basebackup.c:2486 pg_receivewal.c:826 pg_recvlogical.c:847 +#: pg_basebackup.c:2584 pg_createsubscriber.c:2045 pg_receivewal.c:758 +#: pg_recvlogical.c:863 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "забагато аргументів у командному рядку (перший \"%s\")" -#: pg_basebackup.c:2509 +#: pg_basebackup.c:2607 #, c-format msgid "cannot specify both format and backup target" msgstr "неможливо одночасно вказати формат і ціль резервного копіювання" -#: pg_basebackup.c:2521 +#: pg_basebackup.c:2619 #, c-format msgid "must specify output directory or backup target" msgstr "потрібно вказати вихідний каталог або ціль резервного копіювання" -#: pg_basebackup.c:2527 +#: pg_basebackup.c:2625 #, c-format msgid "cannot specify both output directory and backup target" msgstr "неможливо одночасно вказати вихідну директорію і ціль резервного копіювання" -#: pg_basebackup.c:2557 pg_receivewal.c:870 +#: pg_basebackup.c:2655 pg_receivewal.c:802 #, c-format -msgid "unrecognized compression algorithm \"%s\"" -msgstr "нерозпізнаний алгоритм стискання \"%s\"" +msgid "unrecognized compression algorithm: \"%s\"" +msgstr "нерозпізнаний алгоритм стискання: \"%s\"" -#: pg_basebackup.c:2563 pg_receivewal.c:877 +#: pg_basebackup.c:2661 pg_receivewal.c:809 #, c-format msgid "invalid compression specification: %s" msgstr "неприпустима специфікація стискання: %s" -#: pg_basebackup.c:2579 +#: pg_basebackup.c:2677 #, c-format msgid "client-side compression is not possible when a backup target is specified" msgstr "стиснення на стороні клієнта неможливе, коли вказана ціль резервного копіювання" -#: pg_basebackup.c:2590 +#: pg_basebackup.c:2688 #, c-format msgid "only tar mode backups can be compressed" msgstr "лише резервні копії в архіві tar можуть стискатись" -#: pg_basebackup.c:2600 +#: pg_basebackup.c:2698 #, c-format msgid "WAL cannot be streamed when a backup target is specified" msgstr "неможливо передавати WAL, коли вказана ціль резервного копіювання" -#: pg_basebackup.c:2606 +#: pg_basebackup.c:2704 #, c-format msgid "cannot stream write-ahead logs in tar mode to stdout" msgstr "транслювати випереджувальні журналювання в режимі tar в потік stdout не можна" -#: pg_basebackup.c:2613 +#: pg_basebackup.c:2711 #, c-format msgid "replication slots can only be used with WAL streaming" msgstr "слоти реплікації можуть використовуватись тільки з потоковим передаванням WAL" -#: pg_basebackup.c:2625 +#: pg_basebackup.c:2723 #, c-format msgid "--no-slot cannot be used with slot name" msgstr "--no-slot не можна використовувати з іменем слота" #. translator: second %s is an option name -#: pg_basebackup.c:2636 pg_receivewal.c:842 +#: pg_basebackup.c:2734 pg_receivewal.c:774 #, c-format msgid "%s needs a slot to be specified using --slot" msgstr "для %s потрібно вказати слот за допомогою --slot" -#: pg_basebackup.c:2644 pg_basebackup.c:2684 pg_basebackup.c:2695 -#: pg_basebackup.c:2703 +#: pg_basebackup.c:2742 pg_basebackup.c:2782 pg_basebackup.c:2793 +#: pg_basebackup.c:2801 #, c-format msgid "%s and %s are incompatible options" msgstr "параметри %s і %s несумісні" -#: pg_basebackup.c:2658 +#: pg_basebackup.c:2756 #, c-format msgid "WAL directory location cannot be specified along with a backup target" msgstr "Не можна вказати розташування директорії WAL разом з ціллю резервного копіювання" -#: pg_basebackup.c:2664 +#: pg_basebackup.c:2762 #, c-format msgid "WAL directory location can only be specified in plain mode" msgstr "розташування каталога WAL можна вказати лише в режимі plain" -#: pg_basebackup.c:2673 +#: pg_basebackup.c:2771 #, c-format msgid "WAL directory location must be an absolute path" msgstr "розташування WAL каталогу має бути абсолютним шляхом" -#: pg_basebackup.c:2774 +#: pg_basebackup.c:2871 #, c-format msgid "could not create symbolic link \"%s\": %m" msgstr "не вдалося створити символічне послання \"%s\": %m" -#: pg_basebackup.c:2776 +#: pg_createsubscriber.c:169 #, c-format -msgid "symlinks are not supported on this platform" -msgstr "символічні посилання не підтримуються цією платформою" +msgid "failed after the end of recovery" +msgstr "помилка після закінчення відновлення" -#: pg_receivewal.c:79 +#: pg_createsubscriber.c:170 #, c-format -msgid "%s receives PostgreSQL streaming write-ahead logs.\n\n" -msgstr "%s отримує передачу випереджувальних журналів PostgreSQL.\n\n" +msgid "The target server cannot be used as a physical replica anymore. You must recreate the physical replica before continuing." +msgstr "Цільовий сервер не можна більше використовувати як фізичну репліку. Перед продовженням вам слід відтворити фізичну репліку." + +#: pg_createsubscriber.c:198 +#, c-format +msgid "publication \"%s\" created in database \"%s\" on primary was left behind" +msgstr "публікація \"%s\" створена в базі даних \"%s\" на основному кластері залишилася позаду" -#: pg_receivewal.c:83 pg_recvlogical.c:84 +#: pg_createsubscriber.c:200 +#, c-format +msgid "Drop this publication before trying again." +msgstr "Видаліть цю публікацію перед тим, як спробувати знову." + +#: pg_createsubscriber.c:204 +#, c-format +msgid "replication slot \"%s\" created in database \"%s\" on primary was left behind" +msgstr "слот реплікації \"%s\" створений в базі даних \"%s\" на основному кластері залишився позаду" + +#: pg_createsubscriber.c:206 pg_createsubscriber.c:1260 +#, c-format +msgid "Drop this replication slot soon to avoid retention of WAL files." +msgstr "Видаліть цей слот реплікації найближчим часом, щоб уникнути збереження файлів WAL." + +#: pg_createsubscriber.c:219 +#, c-format +msgid "%s creates a new logical replica from a standby server.\n\n" +msgstr "%s створює нову логічну репліку з резервного сервера.\n\n" + +#: pg_createsubscriber.c:223 pg_receivewal.c:81 pg_recvlogical.c:92 #, c-format msgid "\n" "Options:\n" msgstr "\n" "Параметри:\n" -#: pg_receivewal.c:84 +#: pg_createsubscriber.c:224 +#, c-format +msgid " -d, --database=DBNAME database in which to create a subscription\n" +msgstr " -d, --database=DBNAME база даних для створення підписки\n" + +#: pg_createsubscriber.c:225 +#, c-format +msgid " -D, --pgdata=DATADIR location for the subscriber data directory\n" +msgstr " -D, --pgdata=DATADIR розташування каталогу даних підписника\n" + +#: pg_createsubscriber.c:226 +#, c-format +msgid " -n, --dry-run dry run, just show what would be done\n" +msgstr " -n, --dry-run сухий запуск, просто показати, що буде зроблено\n" + +#: pg_createsubscriber.c:227 +#, c-format +msgid " -p, --subscriber-port=PORT subscriber port number (default %s)\n" +msgstr " -p, --subscriber-port=PORT номер порту підписника (за замовчуванням %s)\n" + +#: pg_createsubscriber.c:228 +#, c-format +msgid " -P, --publisher-server=CONNSTR publisher connection string\n" +msgstr " -P, --publisher-server=CONNSTR рядок підключення видавця\n" + +#: pg_createsubscriber.c:229 +#, c-format +msgid " -s, --socketdir=DIR socket directory to use (default current dir.)\n" +msgstr " -s, --socketdir=DIR директорія сокету для використання (за замовчування поточна директорія)\n" + +#: pg_createsubscriber.c:230 +#, c-format +msgid " -t, --recovery-timeout=SECS seconds to wait for recovery to end\n" +msgstr " -t, --recovery-timeout=SECS секунд для очікування кінця відновлення\n" + +#: pg_createsubscriber.c:231 +#, c-format +msgid " -U, --subscriber-username=NAME user name for subscriber connection\n" +msgstr " -U, --subscriber-username=NAME користувач для під'єднання підписника\n" + +#: pg_createsubscriber.c:232 +#, c-format +msgid " -v, --verbose output verbose messages\n" +msgstr " -v, --verbose виводити детальні повідомлення\n" + +#: pg_createsubscriber.c:233 +#, c-format +msgid " --config-file=FILENAME use specified main server configuration\n" +" file when running target cluster\n" +msgstr " --config-file=FILENAME використовувати заданий основний файл конфігурації сервера\n" +" при запуску цільового кластера\n" + +#: pg_createsubscriber.c:235 +#, c-format +msgid " --publication=NAME publication name\n" +msgstr " --publication=NAME назва публікації\n" + +#: pg_createsubscriber.c:236 +#, c-format +msgid " --replication-slot=NAME replication slot name\n" +msgstr " --replication-slot=NAME назва слота реплікації\n" + +#: pg_createsubscriber.c:237 +#, c-format +msgid " --subscription=NAME subscription name\n" +msgstr " --subscription=NAME назва підписки\n" + +#: pg_createsubscriber.c:238 +#, c-format +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version вивести інформацію про версію і вийти\n" + +#: pg_createsubscriber.c:239 +#, c-format +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help показати цю справку, потім вийти\n" + +#: pg_createsubscriber.c:282 +#, c-format +msgid "could not parse connection string: %s" +msgstr "не вдалося аналізувати рядок підключення: %s" + +#: pg_createsubscriber.c:359 +#, c-format +msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"" +msgstr "програма \"%s\" потрібна для %s, але не знайдена в тому ж каталозі, що й \"%s\"" + +#: pg_createsubscriber.c:362 +#, c-format +msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" +msgstr "програма \"%s\" знайдена для \"%s\", але має відмінну версію від %s" + +#: pg_createsubscriber.c:382 +#, c-format +msgid "checking if directory \"%s\" is a cluster data directory" +msgstr "перевірка чи каталог \"%s\" є каталогом даних кластера" + +#: pg_createsubscriber.c:388 +#, c-format +msgid "data directory \"%s\" does not exist" +msgstr "каталог даних \"%s\" не існує" + +#: pg_createsubscriber.c:396 +#, c-format +msgid "directory \"%s\" is not a database cluster directory" +msgstr "каталог \"%s\" не є каталогом кластера бази даних" + +#: pg_createsubscriber.c:513 +#, c-format +msgid "connection to database failed: %s" +msgstr "помилка підключення до бази даних: %s" + +#: pg_createsubscriber.c:526 +#, c-format +msgid "could not clear search_path: %s" +msgstr "не вдалося очистити search_path: %s" + +#: pg_createsubscriber.c:566 +#, c-format +msgid "getting system identifier from publisher" +msgstr "отримання системного ідентифікатора з публікації" + +#: pg_createsubscriber.c:573 +#, c-format +msgid "could not get system identifier: %s" +msgstr "не вдалося отримати системний ідентифікатор: %s" + +#: pg_createsubscriber.c:579 +#, c-format +msgid "could not get system identifier: got %d rows, expected %d row" +msgstr "не вдалося отримати системний ідентифікатор: отримано рядки %d, очікувалось %d рядок" + +#: pg_createsubscriber.c:586 +#, c-format +msgid "system identifier is %llu on publisher" +msgstr "системний ідентифікатор %llu на сервері публікації" + +#: pg_createsubscriber.c:607 +#, c-format +msgid "getting system identifier from subscriber" +msgstr "отримання системного ідентифікатора від підписника" + +#: pg_createsubscriber.c:611 pg_createsubscriber.c:641 +#, c-format +msgid "control file appears to be corrupt" +msgstr "контрольний файл здається пошкодженим" + +#: pg_createsubscriber.c:615 pg_createsubscriber.c:656 +#, c-format +msgid "system identifier is %llu on subscriber" +msgstr "системний ідентифікатор %llu на підписнику" + +#: pg_createsubscriber.c:637 +#, c-format +msgid "modifying system identifier of subscriber" +msgstr "змінюю системний ідентифікатор підписника" + +#: pg_createsubscriber.c:659 +#, c-format +msgid "running pg_resetwal on the subscriber" +msgstr "запускаю pg_resetwal на підписнику" + +#: pg_createsubscriber.c:671 +#, c-format +msgid "subscriber successfully changed the system identifier" +msgstr "підписник успішно змінив системний ідентифікатор" + +#: pg_createsubscriber.c:673 +#, c-format +msgid "could not change system identifier of subscriber: %s" +msgstr "не вдалося змінити системний ідентифікатор підписника: %s" + +#: pg_createsubscriber.c:697 +#, c-format +msgid "could not obtain database OID: %s" +msgstr "не вдалося отримати OID бази даних: %s" + +#: pg_createsubscriber.c:704 +#, c-format +msgid "could not obtain database OID: got %d rows, expected %d row" +msgstr "не вдалося отримати OID бази даних: отримано %d рядків, очікувалось %d рядок" + +#: pg_createsubscriber.c:776 +#, c-format +msgid "create replication slot \"%s\" on publisher" +msgstr "створіть слот реплікації \"%s\" на сервері публікації" + +#: pg_createsubscriber.c:796 +#, c-format +msgid "could not write an additional WAL record: %s" +msgstr "не вдалося написати додатковий запис WAL: %s" + +#: pg_createsubscriber.c:822 +#, c-format +msgid "could not obtain recovery progress: %s" +msgstr "не вдалося отримати прогрес відновлення: %s" + +#: pg_createsubscriber.c:854 +#, c-format +msgid "checking settings on publisher" +msgstr "перевірка налаштувань на сервері публікації" + +#: pg_createsubscriber.c:864 +#, c-format +msgid "primary server cannot be in recovery" +msgstr "основний сервер не може бути у процесі відновлення" + +#: pg_createsubscriber.c:888 +#, c-format +msgid "could not obtain publisher settings: %s" +msgstr "не вдалось отримати налаштування сервера публікацій: %s" + +#: pg_createsubscriber.c:914 +#, c-format +msgid "publisher requires wal_level >= \"logical\"" +msgstr "сервер публікації вимагає wal_level >= \"logical\"" + +#: pg_createsubscriber.c:920 +#, c-format +msgid "publisher requires %d replication slots, but only %d remain" +msgstr "сервер публікацій вимагає %d слотів реплікації, але залишається тільки %d" + +#: pg_createsubscriber.c:922 pg_createsubscriber.c:931 +#: pg_createsubscriber.c:1028 pg_createsubscriber.c:1037 +#: pg_createsubscriber.c:1046 +#, c-format +msgid "Increase the configuration parameter \"%s\" to at least %d." +msgstr "Збільшіть параметр налаштування \"%s\" принаймні до %d." + +#: pg_createsubscriber.c:929 +#, c-format +msgid "publisher requires %d WAL sender processes, but only %d remain" +msgstr "сервер публікацій вимагає %d процесів відправника WAL, але залишається тільки %d" + +#: pg_createsubscriber.c:938 +#, c-format +msgid "two_phase option will not be enabled for replication slots" +msgstr "опція two_phase для слотів реплікації не буде увімкнена" + +#: pg_createsubscriber.c:939 +#, c-format +msgid "Subscriptions will be created with the two_phase option disabled. Prepared transactions will be replicated at COMMIT PREPARED." +msgstr "Підписки будуть створені з відключенем параметром two_phase. Підготовлені транзакції будуть скопійовані в COMMIT PREPARED." + +#: pg_createsubscriber.c:971 +#, c-format +msgid "checking settings on subscriber" +msgstr "перевірка налаштувань підписника" + +#: pg_createsubscriber.c:978 +#, c-format +msgid "target server must be a standby" +msgstr "цільовий сервер повинен бути в режимі очікування" + +#: pg_createsubscriber.c:1002 +#, c-format +msgid "could not obtain subscriber settings: %s" +msgstr "не вдалося отримати налаштування підписника: %s" + +#: pg_createsubscriber.c:1026 +#, c-format +msgid "subscriber requires %d replication slots, but only %d remain" +msgstr "підписник вимагає %d слотів реплікації, але залишається тільки %d" + +#: pg_createsubscriber.c:1035 +#, c-format +msgid "subscriber requires %d logical replication workers, but only %d remain" +msgstr "підписник вимагає %d процесів логічної реплікації, але залишається тільки %d" + +#: pg_createsubscriber.c:1044 +#, c-format +msgid "subscriber requires %d worker processes, but only %d remain" +msgstr "підписник вимагає %d робочих процесів, але залишається тільки %d" + +#: pg_createsubscriber.c:1079 +#, c-format +msgid "dropping subscription \"%s\" in database \"%s\"" +msgstr "видалення підписки \"%s\" в базі даних \"%s\"" + +#: pg_createsubscriber.c:1088 +#, c-format +msgid "could not drop subscription \"%s\": %s" +msgstr "не вдалося видалити підписку \"%s\": %s" + +#: pg_createsubscriber.c:1123 +#, c-format +msgid "could not obtain pre-existing subscriptions: %s" +msgstr "не вдалося отримати раніше наявні підписки: %s" + +#: pg_createsubscriber.c:1258 +#, c-format +msgid "could not drop replication slot \"%s\" on primary" +msgstr "не вдалося видалити слот реплікації \"%s\" на головному сервері" + +#: pg_createsubscriber.c:1292 +#, c-format +msgid "could not obtain failover replication slot information: %s" +msgstr "не вдалося отримати інформацію про запасний слот реплікації: %s" + +#: pg_createsubscriber.c:1294 pg_createsubscriber.c:1303 +#, c-format +msgid "Drop the failover replication slots on subscriber soon to avoid retention of WAL files." +msgstr "Видаліть запасний слот реплікації найближчим часом, щоб уникнути збереження файлів WAL." + +#: pg_createsubscriber.c:1302 +#, c-format +msgid "could not drop failover replication slot" +msgstr "не вдалося видалити запасний слот реплікації" + +#: pg_createsubscriber.c:1324 +#, c-format +msgid "creating the replication slot \"%s\" in database \"%s\"" +msgstr "створюю слот реплікації \"%s\" в базі даних \"%s\"" + +#: pg_createsubscriber.c:1342 +#, c-format +msgid "could not create replication slot \"%s\" in database \"%s\": %s" +msgstr "не вдалося створити слот реплікації \"%s\" в базі даних \"%s\": %s" + +#: pg_createsubscriber.c:1372 +#, c-format +msgid "dropping the replication slot \"%s\" in database \"%s\"" +msgstr "видалення слоту реплікації \"%s\" в базі даних \"%s\"" + +#: pg_createsubscriber.c:1388 +#, c-format +msgid "could not drop replication slot \"%s\" in database \"%s\": %s" +msgstr "не вдалося видалити слот реплікації \"%s\" в базі даних \"%s\": %s" + +#: pg_createsubscriber.c:1409 +#, c-format +msgid "pg_ctl failed with exit code %d" +msgstr "помилка pg_ctl з кодом %d" + +#: pg_createsubscriber.c:1414 +#, c-format +msgid "pg_ctl was terminated by exception 0x%X" +msgstr "pg_ctl був перерваний винятком 0x%X" + +#: pg_createsubscriber.c:1416 +#, c-format +msgid "See C include file \"ntstatus.h\" for a description of the hexadecimal value." +msgstr "Опис цього Шістнадцяткового значення дивіться у включаємому C-файлі \"ntstatus.h\"." + +#: pg_createsubscriber.c:1418 +#, c-format +msgid "pg_ctl was terminated by signal %d: %s" +msgstr "pg_ctl було припинено сигналом %d: %s" + +#: pg_createsubscriber.c:1424 +#, c-format +msgid "pg_ctl exited with unrecognized status %d" +msgstr "pg_ctl завершився з невідомим статусом %d" + +#: pg_createsubscriber.c:1427 +#, c-format +msgid "The failed command was: %s" +msgstr "Команда з помилкою: %s" + +#: pg_createsubscriber.c:1473 +#, c-format +msgid "server was started" +msgstr "сервер був запущений" + +#: pg_createsubscriber.c:1488 +#, c-format +msgid "server was stopped" +msgstr "сервер було зупинено" + +#: pg_createsubscriber.c:1507 +#, c-format +msgid "waiting for the target server to reach the consistent state" +msgstr "чекаю на досягнення узгодженого стану цільовим сервером" + +#: pg_createsubscriber.c:1530 +#, c-format +msgid "recovery timed out" +msgstr "час відновлення вичерпався" + +#: pg_createsubscriber.c:1543 +#, c-format +msgid "server did not end recovery" +msgstr "сервер не завершив відновлення" + +#: pg_createsubscriber.c:1545 +#, c-format +msgid "target server reached the consistent state" +msgstr "цільовий сервер досяг узгодженого стану" + +#: pg_createsubscriber.c:1546 +#, 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 +#, c-format +msgid "could not obtain publication information: %s" +msgstr "не вдалося отримати інформацію про публікацію: %s" + +#: pg_createsubscriber.c:1587 +#, c-format +msgid "publication \"%s\" already exists" +msgstr "публікація \"%s\" вже існує" + +#: pg_createsubscriber.c:1588 +#, c-format +msgid "Consider renaming this publication before continuing." +msgstr "Подумайте про перейменування цієї публікації, перш ніж продовжити." + +#: pg_createsubscriber.c:1595 +#, c-format +msgid "creating publication \"%s\" in database \"%s\"" +msgstr "створення публікації \"%s\" в базі даних \"%s\"" + +#: pg_createsubscriber.c:1608 +#, c-format +msgid "could not create publication \"%s\" in database \"%s\": %s" +msgstr "не вдалося створити публікацію \"%s\" в базі даних \"%s\": %s" + +#: pg_createsubscriber.c:1637 +#, c-format +msgid "dropping publication \"%s\" in database \"%s\"" +msgstr "видалення публікації \"%s\" в базі даних \"%s\"" + +#: pg_createsubscriber.c:1651 +#, c-format +msgid "could not drop publication \"%s\" in database \"%s\": %s" +msgstr "не вдалося видалити публікацію \"%s\" в базі даних \"%s\": %s" + +#: pg_createsubscriber.c:1697 +#, c-format +msgid "creating subscription \"%s\" in database \"%s\"" +msgstr "створення підписки \"%s\" в базі даних \"%s\"" + +#: pg_createsubscriber.c:1718 +#, c-format +msgid "could not create subscription \"%s\" in database \"%s\": %s" +msgstr "не вдалося створити підписку \"%s\" в базі даних \"%s\": %s" + +#: pg_createsubscriber.c:1763 +#, c-format +msgid "could not obtain subscription OID: %s" +msgstr "не вдалося отримати OID підписки: %s" + +#: pg_createsubscriber.c:1770 +#, c-format +msgid "could not obtain subscription OID: got %d rows, expected %d row" +msgstr "не вдалося отримати OID підписки: отримано %d рядків, очікувалось %d рядок" + +#: pg_createsubscriber.c:1794 +#, c-format +msgid "setting the replication progress (node name \"%s\", LSN %s) in database \"%s\"" +msgstr "налаштування прогресу реплікації (назва вузла \"%s, LSN %s) в базі даних \"%s\"" + +#: pg_createsubscriber.c:1809 +#, c-format +msgid "could not set replication progress for subscription \"%s\": %s" +msgstr "не вдалося виставити прогрес реплікації для підписки \"%s\": %s" + +#: pg_createsubscriber.c:1840 +#, c-format +msgid "enabling subscription \"%s\" in database \"%s\"" +msgstr "активація підписки \"%s\" в базі даних \"%s\"" + +#: pg_createsubscriber.c:1852 +#, c-format +msgid "could not enable subscription \"%s\": %s" +msgstr "не вдалося активувати підписку \"%s\": %s" + +#: pg_createsubscriber.c:1944 +#, c-format +msgid "cannot be executed by \"root\"" +msgstr "\"root\" не може це виконувати" + +#: pg_createsubscriber.c:1945 +#, c-format +msgid "You must run %s as the PostgreSQL superuser." +msgstr "Запускати %s треба від суперкористувача PostgreSQL." + +#: pg_createsubscriber.c:1966 +#, c-format +msgid "database \"%s\" specified more than once" +msgstr "база даних \"%s\" вказана неодноразово" + +#: pg_createsubscriber.c:2007 +#, c-format +msgid "publication \"%s\" specified more than once" +msgstr "публікація \"%s\" вказана неодноразово" + +#: pg_createsubscriber.c:2019 +#, c-format +msgid "replication slot \"%s\" specified more than once" +msgstr "слот реплікації \"%s\" вказаний неодноразово" + +#: pg_createsubscriber.c:2031 +#, c-format +msgid "subscription \"%s\" specified more than once" +msgstr "підписка \"%s\" вказана неодноразово" + +#: pg_createsubscriber.c:2054 +#, c-format +msgid "no subscriber data directory specified" +msgstr "не вказано каталог з даними підписника" + +#: pg_createsubscriber.c:2065 +#, c-format +msgid "could not determine current directory" +msgstr "не вдалося визначити поточний каталог" + +#: pg_createsubscriber.c:2082 +#, c-format +msgid "no publisher connection string specified" +msgstr "немає рядка підключення до видавця" + +#: pg_createsubscriber.c:2086 +#, c-format +msgid "validating publisher connection string" +msgstr "перевірка рядка підключення видавця" + +#: pg_createsubscriber.c:2092 +#, c-format +msgid "validating subscriber connection string" +msgstr "перевірка рядка з'єднання з підписником" + +#: pg_createsubscriber.c:2097 +#, c-format +msgid "no database was specified" +msgstr "база даних не вказана" + +#: pg_createsubscriber.c:2109 +#, c-format +msgid "database name \"%s\" was extracted from the publisher connection string" +msgstr "ім'я бази даних \"%s\" було отримано з рядка підключення видавця" + +#: pg_createsubscriber.c:2114 +#, c-format +msgid "no database name specified" +msgstr "не вказано ім'я бази даних" + +#: pg_createsubscriber.c:2124 +#, c-format +msgid "wrong number of publication names specified" +msgstr "вказана невірна кількість імен публікації" + +#: pg_createsubscriber.c:2125 +#, 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 +#, c-format +msgid "wrong number of subscription names specified" +msgstr "вказано неправильну кількість імен підписки" + +#: pg_createsubscriber.c:2132 +#, 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 +#, c-format +msgid "wrong number of replication slot names specified" +msgstr "вказано неправильну кількість назв слотів реплікації" + +#: pg_createsubscriber.c:2139 +#, 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 +#, c-format +msgid "subscriber data directory is not a copy of the source database cluster" +msgstr "каталог даних підписника не є копією кластера вихідної бази даних" + +#: pg_createsubscriber.c:2181 +#, c-format +msgid "standby server is running" +msgstr "резервний сервер працює" + +#: pg_createsubscriber.c:2182 +#, c-format +msgid "Stop the standby server and try again." +msgstr "Зупиніть резервний сервер та повторіть спробу." + +#: pg_createsubscriber.c:2191 +#, c-format +msgid "starting the standby server with command-line options" +msgstr "запуск резервного серверу з параметрами командного рядка" + +#: pg_createsubscriber.c:2207 pg_createsubscriber.c:2242 +#, c-format +msgid "stopping the subscriber" +msgstr "зупинка підписника" + +#: pg_createsubscriber.c:2221 +#, c-format +msgid "starting the subscriber" +msgstr "запуск підписника" + +#: pg_createsubscriber.c:2250 +#, c-format +msgid "Done!" +msgstr "Готово!" + +#: pg_receivewal.c:77 +#, c-format +msgid "%s receives PostgreSQL streaming write-ahead logs.\n\n" +msgstr "%s отримує передачу випереджувальних журналів PostgreSQL.\n\n" + +#: pg_receivewal.c:82 #, c-format msgid " -D, --directory=DIR receive write-ahead log files into this directory\n" msgstr " -D, --directory=DIR зберігати файли випереджувального журналювання до цього каталогу\n" -#: pg_receivewal.c:85 pg_recvlogical.c:85 +#: pg_receivewal.c:83 pg_recvlogical.c:93 #, c-format msgid " -E, --endpos=LSN exit after receiving the specified LSN\n" msgstr " -E, --endpos=LSN вийти після отримання вказаного LSN\n" -#: pg_receivewal.c:86 pg_recvlogical.c:89 +#: pg_receivewal.c:84 pg_recvlogical.c:97 #, c-format msgid " --if-not-exists do not error if slot already exists when creating a slot\n" msgstr " --if-not-exists не видавати помилку, при створенні слота, якщо слот вже існує\n" -#: pg_receivewal.c:87 pg_recvlogical.c:91 +#: pg_receivewal.c:85 pg_recvlogical.c:99 #, c-format msgid " -n, --no-loop do not loop on connection lost\n" msgstr " -n, --no-loop переривати роботу при втраті підключення\n" -#: pg_receivewal.c:88 +#: pg_receivewal.c:86 #, c-format msgid " --no-sync do not wait for changes to be written safely to disk\n" msgstr " --no-sync не чекати безпечного збереження змін на диск\n" -#: pg_receivewal.c:89 pg_recvlogical.c:96 +#: pg_receivewal.c:87 pg_recvlogical.c:104 #, c-format msgid " -s, --status-interval=SECS\n" " time between status packets sent to server (default: %d)\n" msgstr " -s, --status-interval=SECS\n" " інтервал між відправкою статусних пакетів серверу (за замовчуванням: %d)\n" -#: pg_receivewal.c:92 +#: pg_receivewal.c:90 #, c-format msgid " --synchronous flush write-ahead log immediately after writing\n" msgstr " --synchronous очистити випереджувальне журналювання відразу після запису\n" -#: pg_receivewal.c:95 +#: pg_receivewal.c:93 #, c-format msgid " -Z, --compress=METHOD[:DETAIL]\n" " compress as specified\n" msgstr " -Z, --compress=METHOD[:DETAIL]\n" " стискати як вказано\n" -#: pg_receivewal.c:105 +#: pg_receivewal.c:103 #, c-format msgid "\n" "Optional actions:\n" msgstr "\n" "Додаткові дії:\n" -#: pg_receivewal.c:106 pg_recvlogical.c:81 +#: pg_receivewal.c:104 pg_recvlogical.c:89 #, c-format msgid " --create-slot create a new replication slot (for the slot's name see --slot)\n" msgstr " --create-slot створити новий слот реплікації (ім'я слота задає параметр --slot)\n" -#: pg_receivewal.c:107 pg_recvlogical.c:82 +#: pg_receivewal.c:105 pg_recvlogical.c:90 #, c-format msgid " --drop-slot drop the replication slot (for the slot's name see --slot)\n" msgstr " --drop-slot видалити слот реплікації (ім'я слота задає параметр --slot)\n" -#: pg_receivewal.c:252 +#: pg_receivewal.c:191 #, c-format msgid "finished segment at %X/%X (timeline %u)" msgstr "завершено сегмент в позиції %X/%X (часова шкала %u)" -#: pg_receivewal.c:259 +#: pg_receivewal.c:198 #, c-format msgid "stopped log streaming at %X/%X (timeline %u)" msgstr "зупинено потокове передавання журналу в позиції %X/%X (часова шкала %u)" -#: pg_receivewal.c:275 +#: pg_receivewal.c:214 #, c-format msgid "switched to timeline %u at %X/%X" msgstr "переключено на часову шкалу %u в позиції %X/%X" -#: pg_receivewal.c:285 +#: pg_receivewal.c:224 pg_recvlogical.c:1053 #, c-format msgid "received interrupt signal, exiting" msgstr "отримано сигнал переривання, завершення роботи" -#: pg_receivewal.c:317 +#: pg_receivewal.c:256 #, c-format msgid "could not close directory \"%s\": %m" msgstr "не вдалося закрити каталог \"%s\": %m" -#: pg_receivewal.c:384 +#: pg_receivewal.c:323 #, c-format msgid "segment file \"%s\" has incorrect size %lld, skipping" msgstr "файл сегменту \"%s\" має неправильний розмір %lld, пропускається" -#: pg_receivewal.c:401 +#: pg_receivewal.c:340 #, c-format msgid "could not open compressed file \"%s\": %m" msgstr "не вдалося відкрити стиснутий файл \"%s\": %m" -#: pg_receivewal.c:404 +#: pg_receivewal.c:343 #, c-format msgid "could not seek in compressed file \"%s\": %m" msgstr "не вдалося знайти в стиснутому файлі \"%s\": %m" -#: pg_receivewal.c:410 +#: pg_receivewal.c:349 #, c-format msgid "could not read compressed file \"%s\": %m" msgstr "не вдалося прочитати стиснутий файл \"%s\": %m" -#: pg_receivewal.c:413 +#: pg_receivewal.c:352 #, c-format msgid "could not read compressed file \"%s\": read %d of %zu" msgstr "не вдалося прочитати стиснутий файл \"%s\": прочитано %d з %zu" -#: pg_receivewal.c:423 +#: pg_receivewal.c:362 #, c-format msgid "compressed segment file \"%s\" has incorrect uncompressed size %d, skipping" msgstr "файл стиснутого сегменту \"%s\" має неправильний розмір без стискання %d, пропускається" -#: pg_receivewal.c:451 +#: pg_receivewal.c:390 #, c-format msgid "could not create LZ4 decompression context: %s" msgstr "не вдалося створити контекст декомпресії LZ4: %s" -#: pg_receivewal.c:463 -#, c-format -msgid "could not read file \"%s\": %m" -msgstr "не вдалося прочитати файл \"%s\": %m" - -#: pg_receivewal.c:481 +#: pg_receivewal.c:420 #, c-format msgid "could not decompress file \"%s\": %s" msgstr "не вдалося розпакувати файл \"%s\": %s" -#: pg_receivewal.c:504 +#: pg_receivewal.c:443 #, c-format msgid "could not free LZ4 decompression context: %s" msgstr "не вдалося звільнити контекст декомпресії LZ4: %s" -#: pg_receivewal.c:509 +#: pg_receivewal.c:448 #, c-format msgid "compressed segment file \"%s\" has incorrect uncompressed size %zu, skipping" msgstr "файл стиснутого сегменту \"%s\" має неправильний розмір не стиснутого розміру %zu, пропускається" -#: pg_receivewal.c:514 -#, c-format -msgid "could not check file \"%s\"" -msgstr "не вдалося перевірити файл \"%s\"" - -#: pg_receivewal.c:516 +#: pg_receivewal.c:453 #, c-format -msgid "This build does not support compression with %s." -msgstr "Ця збірка не підтримує стиснення з %s." +msgid "cannot check file \"%s\": compression with %s not supported by this build" +msgstr "неможливо перевірити файл \"%s\": стиснення %s не підтримується даною збіркою" -#: pg_receivewal.c:643 +#: pg_receivewal.c:578 #, c-format msgid "starting log streaming at %X/%X (timeline %u)" msgstr "початок потокового передавання журналу в позиції %X/%X (часова шкала %u)" -#: pg_receivewal.c:785 pg_recvlogical.c:785 +#: pg_receivewal.c:693 pg_recvlogical.c:801 #, c-format msgid "could not parse end position \"%s\"" msgstr "не вдалося проаналізувати кінцеву позицію \"%s\"" -#: pg_receivewal.c:834 +#: pg_receivewal.c:766 #, c-format msgid "cannot use --create-slot together with --drop-slot" msgstr "використовувати --create-slot разом з --drop-slot не можна" -#: pg_receivewal.c:850 +#: pg_receivewal.c:782 #, c-format msgid "cannot use --synchronous together with --no-sync" msgstr "використовувати --synchronous разом з --no-sync не можна" -#: pg_receivewal.c:860 +#: pg_receivewal.c:792 #, c-format msgid "no target directory specified" msgstr "цільовий каталог не вказано" -#: pg_receivewal.c:893 -#, c-format -msgid "no value specified for --compress, switching to default" -msgstr "не вказано значення для --compress, використовується значення за замовчуванням" - -#: pg_receivewal.c:897 pg_receivewal.c:903 -#, c-format -msgid "this build does not support compression with %s" -msgstr "ця збірка не підтримує стиснення з %s" - -#: pg_receivewal.c:908 +#: pg_receivewal.c:816 #, c-format msgid "compression with %s is not yet supported" msgstr "стиснення з %s ще не підтримується" -#: pg_receivewal.c:953 +#: pg_receivewal.c:859 #, c-format msgid "replication connection using slot \"%s\" is unexpectedly database specific" msgstr "підключення для реплікації з використанням слоту \"%s\" неочікувано виявилось прив'язаним до бази даних" -#: pg_receivewal.c:972 pg_recvlogical.c:955 +#: pg_receivewal.c:878 pg_recvlogical.c:972 #, c-format msgid "dropping replication slot \"%s\"" msgstr "видалення слоту реплікації \"%s\"" -#: pg_receivewal.c:983 pg_recvlogical.c:965 +#: pg_receivewal.c:889 pg_recvlogical.c:982 #, c-format msgid "creating replication slot \"%s\"" msgstr "створення слоту реплікації \"%s\"" -#: pg_receivewal.c:1012 pg_recvlogical.c:989 +#: pg_receivewal.c:918 pg_recvlogical.c:1006 #, c-format msgid "disconnected" msgstr "роз’єднано" #. translator: check source for value for %d -#: pg_receivewal.c:1016 pg_recvlogical.c:993 +#: pg_receivewal.c:922 pg_recvlogical.c:1010 #, c-format msgid "disconnected; waiting %d seconds to try again" msgstr "роз’єднано; через %d секунд буде повторна спроба" -#: pg_recvlogical.c:76 +#: pg_recvlogical.c:84 #, c-format msgid "%s controls PostgreSQL logical decoding streams.\n\n" msgstr "%s керує потоковими передаваннями логічного декодування PostgreSQL.\n\n" -#: pg_recvlogical.c:80 +#: pg_recvlogical.c:88 #, c-format msgid "\n" "Action to be performed:\n" msgstr "\n" "Дія до виконання:\n" -#: pg_recvlogical.c:83 +#: pg_recvlogical.c:91 #, c-format msgid " --start start streaming in a replication slot (for the slot's name see --slot)\n" msgstr " --start почати потокове передавання в слоті реплікації (ім'я слоту задає параметр --slot)\n" -#: pg_recvlogical.c:86 +#: pg_recvlogical.c:94 #, c-format msgid " -f, --file=FILE receive log into this file, - for stdout\n" msgstr " -f, --file=FILE зберігати журнал до цього файлу, - позначає stdout\n" -#: pg_recvlogical.c:87 +#: pg_recvlogical.c:95 #, c-format msgid " -F --fsync-interval=SECS\n" " time between fsyncs to the output file (default: %d)\n" msgstr " -F --fsync-interval=SECS\n" " час між fsyncs до файлу виводу (за замовчуванням: %d)\n" -#: pg_recvlogical.c:90 +#: pg_recvlogical.c:98 #, c-format msgid " -I, --startpos=LSN where in an existing slot should the streaming start\n" msgstr " -I, --startpos=LSN де в існуючому слоті слід почати потокове передавання\n" -#: pg_recvlogical.c:92 +#: pg_recvlogical.c:100 #, c-format msgid " -o, --option=NAME[=VALUE]\n" " pass option NAME with optional value VALUE to the\n" @@ -1360,173 +2133,173 @@ msgstr " -o, --option=NAME[=VALUE]\n" " передати параметр NAME з додатковим значенням VALUE до\n" " плагіну виводу\n" -#: pg_recvlogical.c:95 +#: pg_recvlogical.c:103 #, c-format msgid " -P, --plugin=PLUGIN use output plugin PLUGIN (default: %s)\n" msgstr " -P, --plugin=PLUGIN використовувати плагін виводу PLUGIN (за замовчуванням: %s)\n" -#: pg_recvlogical.c:98 +#: pg_recvlogical.c:106 #, c-format msgid " -S, --slot=SLOTNAME name of the logical replication slot\n" msgstr " -S, --slot=SLOTNAME ім'я слоту логічної реплікації\n" -#: pg_recvlogical.c:99 +#: pg_recvlogical.c:107 #, c-format -msgid " -t, --two-phase enable two-phase decoding when creating a slot\n" -msgstr " -t, --2-фазове декодування під час створення слота\n" +msgid " -t, --two-phase enable decoding of prepared transactions when creating a slot\n" +msgstr " -t, --two-phase активувати декодування підготовлених транзакцій під час створення слоту\n" -#: pg_recvlogical.c:104 +#: pg_recvlogical.c:112 #, c-format msgid " -d, --dbname=DBNAME database to connect to\n" msgstr " -d, --dbname=DBNAME бази даних для підключення\n" -#: pg_recvlogical.c:137 +#: pg_recvlogical.c:145 #, c-format msgid "confirming write up to %X/%X, flush to %X/%X (slot %s)" msgstr "підтвердження запису до %X/%X, очищення до %X/%X (слот %s)" -#: pg_recvlogical.c:161 receivelog.c:366 +#: pg_recvlogical.c:169 receivelog.c:360 #, c-format msgid "could not send feedback packet: %s" msgstr "не вдалося відправити пакет зворотнього зв'язку: %s" -#: pg_recvlogical.c:229 +#: pg_recvlogical.c:239 #, c-format msgid "starting log streaming at %X/%X (slot %s)" msgstr "початок потокового передавання журналу в позиції %X/%X (слот %s)" -#: pg_recvlogical.c:271 +#: pg_recvlogical.c:281 #, c-format msgid "streaming initiated" msgstr "потокове передавання ініційовано" -#: pg_recvlogical.c:335 +#: pg_recvlogical.c:346 #, c-format msgid "could not open log file \"%s\": %m" msgstr "не вдалося відкрити файл журналу \"%s\": %m" -#: pg_recvlogical.c:364 receivelog.c:889 +#: pg_recvlogical.c:375 receivelog.c:882 #, c-format msgid "invalid socket: %s" msgstr "неприпустимий сокет: %s" -#: pg_recvlogical.c:417 receivelog.c:917 +#: pg_recvlogical.c:428 receivelog.c:910 #, c-format msgid "%s() failed: %m" msgstr "%s() помилка: %m" -#: pg_recvlogical.c:424 receivelog.c:967 +#: pg_recvlogical.c:435 receivelog.c:959 #, c-format msgid "could not receive data from WAL stream: %s" msgstr "не вдалося отримати дані з WAL потоку: %s" -#: pg_recvlogical.c:466 pg_recvlogical.c:517 receivelog.c:1011 -#: receivelog.c:1074 +#: pg_recvlogical.c:477 pg_recvlogical.c:528 receivelog.c:1003 +#: receivelog.c:1066 #, c-format msgid "streaming header too small: %d" msgstr "заголовок потокового передавання занадто малий: %d" -#: pg_recvlogical.c:501 receivelog.c:849 +#: pg_recvlogical.c:512 receivelog.c:843 #, c-format msgid "unrecognized streaming header: \"%c\"" msgstr "нерозпізнаний заголовок потокового передавання: \"%c\"" -#: pg_recvlogical.c:555 pg_recvlogical.c:567 +#: pg_recvlogical.c:566 pg_recvlogical.c:578 #, c-format msgid "could not write %d bytes to log file \"%s\": %m" msgstr "не вдалося записати %d байт до файлу журналу \"%s\": %m" -#: pg_recvlogical.c:621 receivelog.c:648 receivelog.c:685 +#: pg_recvlogical.c:636 receivelog.c:642 receivelog.c:679 #, c-format msgid "unexpected termination of replication stream: %s" msgstr "неочікуване завершення роботи потоку реплікації: %s" -#: pg_recvlogical.c:780 +#: pg_recvlogical.c:796 #, c-format msgid "could not parse start position \"%s\"" msgstr "не вдалося аналізувати початкову позицію \"%s\"" -#: pg_recvlogical.c:858 +#: pg_recvlogical.c:874 #, c-format msgid "no slot specified" msgstr "слот не вказано" -#: pg_recvlogical.c:865 +#: pg_recvlogical.c:881 #, c-format msgid "no target file specified" msgstr "цільовий файл не вказано" -#: pg_recvlogical.c:872 +#: pg_recvlogical.c:888 #, c-format msgid "no database specified" msgstr "база даних не вказана" -#: pg_recvlogical.c:879 +#: pg_recvlogical.c:895 #, c-format msgid "at least one action needs to be specified" msgstr "необхідно вказати щонайменше одну дію" -#: pg_recvlogical.c:886 +#: pg_recvlogical.c:902 #, c-format msgid "cannot use --create-slot or --start together with --drop-slot" msgstr "використовувати --create-slot або --start разом з --drop-slot не можна" -#: pg_recvlogical.c:893 +#: pg_recvlogical.c:909 #, c-format msgid "cannot use --create-slot or --drop-slot together with --startpos" msgstr "використовувати --create-slot або --drop-slot разом з --startpos не можна" -#: pg_recvlogical.c:900 +#: pg_recvlogical.c:916 #, c-format msgid "--endpos may only be specified with --start" msgstr "--endpos можна вказати лише з --start" -#: pg_recvlogical.c:907 +#: pg_recvlogical.c:923 #, c-format msgid "--two-phase may only be specified with --create-slot" msgstr "--two-phase може бути вказано тільки з --create-slot" -#: pg_recvlogical.c:939 +#: pg_recvlogical.c:956 #, c-format msgid "could not establish database-specific replication connection" msgstr "не вдалося встановити підключення для реплікації до вказаної бази даних" -#: pg_recvlogical.c:1033 +#: pg_recvlogical.c:1056 #, c-format msgid "end position %X/%X reached by keepalive" msgstr "кінцева позиція %X/%X досягнута наживо" -#: pg_recvlogical.c:1036 +#: pg_recvlogical.c:1061 #, c-format msgid "end position %X/%X reached by WAL record at %X/%X" msgstr "кінцева позиція %X/%X досягнута WAL записом %X/%X" -#: receivelog.c:68 +#: receivelog.c:66 #, c-format msgid "could not create archive status file \"%s\": %s" msgstr "не вдалося створити файл статусу архіву \"%s\": %s" -#: receivelog.c:75 +#: receivelog.c:73 #, c-format msgid "could not close archive status file \"%s\": %s" msgstr "не вдалося закрити файл статусу архіву \"%s\": %s" -#: receivelog.c:123 +#: receivelog.c:122 #, c-format msgid "could not get size of write-ahead log file \"%s\": %s" msgstr "не вдалося отримати розмір файлу випереджувального журналювання \"%s\": %s" -#: receivelog.c:134 +#: receivelog.c:133 #, c-format msgid "could not open existing write-ahead log file \"%s\": %s" msgstr "не вдалося відкрити існуючий файл випереджувального журналювання \"%s\": %s" -#: receivelog.c:143 +#: receivelog.c:142 #, c-format msgid "could not fsync existing write-ahead log file \"%s\": %s" msgstr "не вдалося fsync існуючий файл випереджувального журналювання \"%s\": %s" -#: receivelog.c:158 +#: receivelog.c:157 #, c-format msgid "write-ahead log file \"%s\" has %zd byte, should be 0 or %d" msgid_plural "write-ahead log file \"%s\" has %zd bytes, should be 0 or %d" @@ -1535,229 +2308,229 @@ msgstr[1] "файл випереджувального журналювання msgstr[2] "файл випереджувального журналювання \"%s\" має %zd байтів, а повинен мати 0 або %d" msgstr[3] "файл випереджувального журналювання \"%s\" має %zd байтів, а повинен мати 0 або %d" -#: receivelog.c:174 +#: receivelog.c:175 #, c-format msgid "could not open write-ahead log file \"%s\": %s" msgstr "не вдалося відкрити файл випереджувального журналювання \"%s\": %s" -#: receivelog.c:208 -#, c-format -msgid "could not determine seek position in file \"%s\": %s" -msgstr "не вдалося визначити позицію у файлі \"%s\": %s" - -#: receivelog.c:223 +#: receivelog.c:216 #, c-format msgid "not renaming \"%s\", segment is not complete" msgstr "не перейменовується \"%s\", сегмент не завершений" -#: receivelog.c:234 receivelog.c:323 receivelog.c:694 +#: receivelog.c:227 receivelog.c:317 receivelog.c:688 #, c-format msgid "could not close file \"%s\": %s" msgstr "не вдалося закрити файл \"%s\": %s" -#: receivelog.c:295 +#: receivelog.c:288 #, c-format msgid "server reported unexpected history file name for timeline %u: %s" msgstr "сервер повідомив неочікуване ім'я файлу історії часової шкали %u: %s" -#: receivelog.c:303 +#: receivelog.c:297 #, c-format msgid "could not create timeline history file \"%s\": %s" msgstr "не вдалося створити файл історії часової шкали \"%s\": %s" -#: receivelog.c:310 +#: receivelog.c:304 #, c-format msgid "could not write timeline history file \"%s\": %s" msgstr "не вдалося записати файл історії часової шкали \"%s\": %s" -#: receivelog.c:400 +#: receivelog.c:394 #, c-format msgid "incompatible server version %s; client does not support streaming from server versions older than %s" msgstr "несумісна версія серверу %s; клієнт не підтримує потокове передавання з версій серверу старіших, ніж %s" -#: receivelog.c:409 +#: receivelog.c:403 #, c-format msgid "incompatible server version %s; client does not support streaming from server versions newer than %s" msgstr "несумісна версія серверу %s; клієнт не підтримує потокове передавання з версій серверу новіших, ніж %s" -#: receivelog.c:514 +#: receivelog.c:508 #, c-format msgid "system identifier does not match between base backup and streaming connection" msgstr "системний ідентифікатор базової резервної копії не відповідає ідентифікатору потокового передавання підключення" -#: receivelog.c:522 +#: receivelog.c:516 #, c-format msgid "starting timeline %u is not present in the server" msgstr "початкова часова шкала %u не існує на сервері" -#: receivelog.c:561 +#: receivelog.c:555 #, c-format msgid "unexpected response to TIMELINE_HISTORY command: got %d rows and %d fields, expected %d rows and %d fields" msgstr "неочікувана відповідь на команду TIMELINE_HISTORY: отримано %d рядків і %d полів, очікувалось %d рядків і %d полів" -#: receivelog.c:632 +#: receivelog.c:626 #, c-format msgid "server reported unexpected next timeline %u, following timeline %u" msgstr "сервер неочікувано повідомив наступну часову шкалу %u після часової шкали %u" -#: receivelog.c:638 +#: receivelog.c:632 #, c-format msgid "server stopped streaming timeline %u at %X/%X, but reported next timeline %u to begin at %X/%X" msgstr "сервер зупинив потокове передавання часової шкали %u в позиції %X/%X, але повідомив, що наступна часова шкала %u почнеться в позиції %X/%X" -#: receivelog.c:678 +#: receivelog.c:672 #, c-format msgid "replication stream was terminated before stop point" msgstr "потік реплікації перервано до точки зупинки" -#: receivelog.c:724 +#: receivelog.c:718 #, c-format msgid "unexpected result set after end-of-timeline: got %d rows and %d fields, expected %d rows and %d fields" msgstr "неочікуваний набір результатів після кінця часової шкали: отримано %d рядків і %d полів, очікувалось %d рядків і %d полів" -#: receivelog.c:733 +#: receivelog.c:727 #, c-format msgid "could not parse next timeline's starting point \"%s\"" msgstr "не вдалося аналізувати початкову точку наступної часової шкали \"%s\"" -#: receivelog.c:781 receivelog.c:1030 walmethods.c:1203 +#: receivelog.c:775 receivelog.c:1022 walmethods.c:1206 #, c-format msgid "could not fsync file \"%s\": %s" msgstr "не вдалося fsync файл \"%s\": %s" -#: receivelog.c:1091 +#: receivelog.c:1083 #, c-format msgid "received write-ahead log record for offset %u with no file open" msgstr "отримано запис випереджувального журналювання для зсуву %u з закритим файлом" -#: receivelog.c:1101 +#: receivelog.c:1093 #, c-format msgid "got WAL data offset %08x, expected %08x" msgstr "отримано дані зсуву WAL %08x, очікувалось %08x" -#: receivelog.c:1135 +#: receivelog.c:1128 #, c-format msgid "could not write %d bytes to WAL file \"%s\": %s" msgstr "не вдалося записати %d байт до файлу WAL \"%s\": %s" -#: receivelog.c:1160 receivelog.c:1200 receivelog.c:1230 +#: receivelog.c:1153 receivelog.c:1193 receivelog.c:1222 #, c-format msgid "could not send copy-end packet: %s" msgstr "не вдалося відправити пакет кінця копіювання \"copy-end\": %s" -#: streamutil.c:159 +#: streamutil.c:162 msgid "Password: " msgstr "Пароль: " -#: streamutil.c:182 +#: streamutil.c:189 #, c-format msgid "could not connect to server" msgstr "не вдалося підключитись до серверу" -#: streamutil.c:225 +#: streamutil.c:230 #, c-format -msgid "could not clear search_path: %s" -msgstr "не вдалося очистити search_path: %s" +msgid "could not clear \"search_path\": %s" +msgstr "не вдалося очистити \"search_path\": %s" -#: streamutil.c:241 +#: streamutil.c:246 #, c-format -msgid "could not determine server setting for integer_datetimes" -msgstr "не вдалося визначити настроювання серверу для integer_datetimes" +msgid "could not determine server setting for \"integer_datetimes\"" +msgstr "не вдалося визначити налаштування сервера для \"integer_datetimes\"" -#: streamutil.c:248 +#: streamutil.c:253 #, c-format -msgid "integer_datetimes compile flag does not match server" -msgstr "параметри компіляції integer_datetimes не відповідають серверу" +msgid "\"integer_datetimes\" compile flag does not match server" +msgstr "флаг компіляції \"integer_datetimes\" не відповідає серверу" -#: streamutil.c:299 +#: streamutil.c:372 #, 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:309 +#: streamutil.c:382 #, c-format msgid "WAL segment size could not be parsed" msgstr "не вдалося аналізувати розмір сегмента WAL" -#: streamutil.c:327 +#: streamutil.c:400 #, c-format -msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the remote server reported a value of %d byte" -msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the remote server reported a value of %d bytes" -msgstr[0] "Розмір сегменту WAL повинен бути двійкою, піднесеною до степеня в інтервалі між 1 МБ і 1 ГБ, але віддалений сервер повідомив значення %d байт" -msgstr[1] "Розмір сегменту WAL повинен бути двійкою, піднесеною до степеня в інтервалі між 1 МБ і 1 ГБ, але віддалений сервер повідомив значення %d байти" -msgstr[2] "Розмір сегменту WAL повинен бути двійкою, піднесеною до степеня в інтервалі між 1 МБ і 1 ГБ, але віддалений сервер повідомив значення %d байтів" -msgstr[3] "Розмір сегменту WAL повинен бути двійкою, піднесеною до степеня в інтервалі між 1 МБ і 1 ГБ, але віддалений сервер повідомив значення %d байтів" +msgid "remote server reported invalid WAL segment size (%d byte)" +msgid_plural "remote server reported invalid WAL segment size (%d bytes)" +msgstr[0] "віддалений сервер повідомив про неправильний розмір сегмента WAL (%d байт)" +msgstr[1] "віддалений сервер повідомив про неправильний розмір сегмента WAL (%d байтів)" +msgstr[2] "віддалений сервер повідомив про неправильний розмір сегмента WAL (%d байтів)" +msgstr[3] "віддалений сервер повідомив про неправильний розмір сегмента WAL (%d байтів)" -#: streamutil.c:372 +#: streamutil.c:404 +#, 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 #, 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:381 +#: streamutil.c:455 #, c-format msgid "group access flag could not be parsed: %s" msgstr "не вдалося аналізувати позначку доступа групи: %s" -#: streamutil.c:424 streamutil.c:461 +#: streamutil.c:498 streamutil.c:535 #, 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:513 +#: streamutil.c:587 #, 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:525 +#: streamutil.c:599 #, c-format -msgid "could not find replication slot \"%s\"" -msgstr "не вдалося знайти слот реплікації \"%s\"" +msgid "replication slot \"%s\" does not exist" +msgstr "слот реплікації \"%s\" не існує" -#: streamutil.c:536 +#: streamutil.c:610 #, c-format msgid "expected a physical replication slot, got type \"%s\" instead" msgstr "очікувався слот фізичної реплікації, а натомість знайдено \"%s\"" -#: streamutil.c:550 +#: streamutil.c:624 #, c-format msgid "could not parse restart_lsn \"%s\" for replication slot \"%s\"" msgstr "не вдалося аналізувати restart_lsn \"%s\" для слоту реплікації \"%s\"" -#: streamutil.c:667 +#: streamutil.c:741 #, 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:711 +#: streamutil.c:785 #, 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 полів" -#: walmethods.c:720 walmethods.c:1265 +#: walmethods.c:726 walmethods.c:1269 msgid "could not compress data" msgstr "не вдалося стиснути дані" -#: walmethods.c:749 +#: walmethods.c:755 msgid "could not reset compression stream" msgstr "не вдалося скинути потік стискання" -#: walmethods.c:880 +#: walmethods.c:892 msgid "implementation error: tar files can't have more than one open file" msgstr "помилка реалізації: файли tar не можуть мати більше одного відкритого файлу" -#: walmethods.c:894 +#: walmethods.c:907 msgid "could not create tar header" msgstr "не вдалося створити заголовок tar" -#: walmethods.c:910 walmethods.c:950 walmethods.c:1169 walmethods.c:1181 +#: walmethods.c:924 walmethods.c:965 walmethods.c:1171 walmethods.c:1184 msgid "could not change compression parameters" msgstr "не вдалося змінити параметри стискання" -#: walmethods.c:1054 +#: walmethods.c:1056 msgid "unlink not supported with compression" msgstr "unink не підтримується зі стисканням" -#: walmethods.c:1289 +#: walmethods.c:1293 msgid "could not close compression stream" msgstr "не вдалося закрити потік стискання" diff --git a/src/bin/pg_basebackup/streamutil.c b/src/bin/pg_basebackup/streamutil.c index feee451d595..dc604b15380 100644 --- a/src/bin/pg_basebackup/streamutil.c +++ b/src/bin/pg_basebackup/streamutil.c @@ -74,7 +74,10 @@ GetConnection(void) PQconninfoOption *conn_opt; char *err_msg = NULL; - /* pg_recvlogical uses dbname only; others use connection_string only. */ + /* + * pg_recvlogical uses dbname only; others use connection_string only. + * (Note: both variables will be NULL if there's no command line options.) + */ Assert(dbname == NULL || connection_string == NULL); /* @@ -120,12 +123,12 @@ GetConnection(void) keywords = pg_malloc0((argcount + 1) * sizeof(*keywords)); values = pg_malloc0((argcount + 1) * sizeof(*values)); keywords[i] = "dbname"; - values[i] = dbname; + values[i] = (dbname == NULL) ? "replication" : dbname; i++; } keywords[i] = "replication"; - values[i] = dbname == NULL ? "true" : "database"; + values[i] = (dbname == NULL) ? "true" : "database"; i++; keywords[i] = "fallback_application_name"; values[i] = progname; diff --git a/src/bin/pg_basebackup/t/010_pg_basebackup.pl b/src/bin/pg_basebackup/t/010_pg_basebackup.pl index eebe3307d2c..403acb6eb41 100644 --- a/src/bin/pg_basebackup/t/010_pg_basebackup.pl +++ b/src/bin/pg_basebackup/t/010_pg_basebackup.pl @@ -981,7 +981,7 @@ "$tempdir" . '/diff_sysid', '--incremental', "$backupdir" . '/backup_manifest' ], - qr/manifest system identifier is .*, but database system identifier is/, + qr/system identifier in backup manifest is .*, but database system identifier is/, "pg_basebackup fails with different database system manifest"); done_testing(); diff --git a/src/bin/pg_basebackup/t/040_pg_createsubscriber.pl b/src/bin/pg_basebackup/t/040_pg_createsubscriber.pl index 546f784a311..0a900edb656 100644 --- a/src/bin/pg_basebackup/t/040_pg_createsubscriber.pl +++ b/src/bin/pg_basebackup/t/040_pg_createsubscriber.pl @@ -171,7 +171,7 @@ sub generate_db 'pg_createsubscriber', '--verbose', '--dry-run', '--pgdata', $node_t->data_dir, '--publisher-server', - $node_p->connstr($db1), '--socket-directory', + $node_p->connstr($db1), '--socketdir', $node_t->host, '--subscriber-port', $node_t->port, '--database', $db1, '--database', @@ -185,7 +185,7 @@ sub generate_db 'pg_createsubscriber', '--verbose', '--dry-run', '--pgdata', $node_s->data_dir, '--publisher-server', - $node_p->connstr($db1), '--socket-directory', + $node_p->connstr($db1), '--socketdir', $node_s->host, '--subscriber-port', $node_s->port, '--database', $db1, '--database', @@ -199,7 +199,7 @@ sub generate_db 'pg_createsubscriber', '--verbose', '--pgdata', $node_f->data_dir, '--publisher-server', $node_p->connstr($db1), - '--socket-directory', $node_f->host, + '--socketdir', $node_f->host, '--subscriber-port', $node_f->port, '--database', $db1, '--database', $db2 @@ -219,7 +219,7 @@ sub generate_db 'pg_createsubscriber', '--verbose', '--dry-run', '--pgdata', $node_c->data_dir, '--publisher-server', - $node_s->connstr($db1), '--socket-directory', + $node_s->connstr($db1), '--socketdir', $node_c->host, '--subscriber-port', $node_c->port, '--database', $db1, '--database', @@ -242,7 +242,7 @@ sub generate_db 'pg_createsubscriber', '--verbose', '--dry-run', '--pgdata', $node_s->data_dir, '--publisher-server', - $node_p->connstr($db1), '--socket-directory', + $node_p->connstr($db1), '--socketdir', $node_s->host, '--subscriber-port', $node_s->port, '--database', $db1, '--database', @@ -271,7 +271,7 @@ sub generate_db 'pg_createsubscriber', '--verbose', '--dry-run', '--pgdata', $node_s->data_dir, '--publisher-server', - $node_p->connstr($db1), '--socket-directory', + $node_p->connstr($db1), '--socketdir', $node_s->host, '--subscriber-port', $node_s->port, '--database', $db1, '--database', @@ -325,7 +325,7 @@ sub generate_db '--recovery-timeout', "$PostgreSQL::Test::Utils::timeout_default", '--dry-run', '--pgdata', $node_s->data_dir, '--publisher-server', - $node_p->connstr($db1), '--socket-directory', + $node_p->connstr($db1), '--socketdir', $node_s->host, '--subscriber-port', $node_s->port, '--publication', 'pub1', '--publication', @@ -349,7 +349,7 @@ sub generate_db 'pg_createsubscriber', '--verbose', '--dry-run', '--pgdata', $node_s->data_dir, '--publisher-server', - $node_p->connstr($db1), '--socket-directory', + $node_p->connstr($db1), '--socketdir', $node_s->host, '--subscriber-port', $node_s->port, '--replication-slot', 'replslot1' @@ -363,7 +363,7 @@ sub generate_db '--recovery-timeout', "$PostgreSQL::Test::Utils::timeout_default", '--verbose', '--pgdata', $node_s->data_dir, '--publisher-server', - $node_p->connstr($db1), '--socket-directory', + $node_p->connstr($db1), '--socketdir', $node_s->host, '--subscriber-port', $node_s->port, '--publication', 'pub1', '--publication', diff --git a/src/bin/pg_checksums/po/es.po b/src/bin/pg_checksums/po/es.po index 475406d9037..ca92987e48b 100644 --- a/src/bin/pg_checksums/po/es.po +++ b/src/bin/pg_checksums/po/es.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_checksums (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-05-22 07:23+0000\n" -"PO-Revision-Date: 2023-05-22 12:05+0200\n" +"POT-Creation-Date: 2024-08-01 11:24+0000\n" +"PO-Revision-Date: 2024-08-02 16:35-0400\n" "Last-Translator: Carlos Chapi \n" "Language-Team: pgsql-es-ayuda \n" "Language: es\n" @@ -40,6 +40,106 @@ msgstr "detalle: " msgid "hint: " msgstr "consejo: " +#: ../../common/controldata_utils.c:97 +#, 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 +#, c-format +msgid "could not read file \"%s\": %m" +msgstr "no se pudo leer el archivo «%s»: %m" + +#: ../../common/controldata_utils.c:119 +#, c-format +msgid "could not read file \"%s\": read %d of %zu" +msgstr "no se pudo leer el archivo «%s»: leídos %d de %zu" + +#: ../../common/controldata_utils.c:132 ../../common/controldata_utils.c:280 +#, c-format +msgid "could not close file \"%s\": %m" +msgstr "no se pudo cerrar el archivo «%s»: %m" + +#: ../../common/controldata_utils.c:168 +msgid "byte ordering mismatch" +msgstr "discordancia en orden de bytes" + +#: ../../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 "" +"posible discordancia en orden de bytes\n" +"El ordenamiento de bytes usado para almacenar el archivo pg_control puede no\n" +"coincidir con el usado por este programa. En tal caso los resultados de abajo\n" +"serían erróneos, y la instalación de PostgreSQL sería incompatible con este\n" +"directorio de datos." + +#: ../../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_checksums.c:192 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "no se pudo abrir el archivo «%s»: %m" + +#: ../../common/controldata_utils.c:249 +#, c-format +msgid "could not write file \"%s\": %m" +msgstr "no se pudo escribir el archivo «%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 "no se pudo sincronizar (fsync) archivo «%s»: %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 "memoria agotada\n" + +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 +#, c-format +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "no se puede duplicar un puntero nulo (error interno)\n" + +#: ../../common/file_utils.c:76 +#, 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" + +#: ../../common/file_utils.c:120 ../../common/file_utils.c:566 +#: pg_checksums.c:338 pg_checksums.c:407 +#, c-format +msgid "could not stat file \"%s\": %m" +msgstr "no se pudo hacer stat al archivo «%s»: %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 "esta instalación no soporta el método de sync «%s»" + +#: ../../common/file_utils.c:151 ../../common/file_utils.c:281 +#: pg_checksums.c:310 +#, 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 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "no se pudo leer el directorio «%s»: %m" + +#: ../../common/file_utils.c:498 +#, c-format +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "no se pudo renombrar el archivo de «%s» a «%s»: %m" + #: ../../fe_utils/option_utils.c:69 #, c-format msgid "invalid value \"%s\" for option %s" @@ -50,26 +150,32 @@ msgstr "el valor «%s» no es válido para la opción %s" msgid "%s must be in range %d..%d" msgstr "%s debe estar en el rango %d..%d" -#: pg_checksums.c:79 +#: ../../fe_utils/option_utils.c:106 +#, c-format +msgid "unrecognized sync method: %s" +msgstr "método sync no reconocido: %s" + +#: pg_checksums.c:70 #, c-format msgid "" "%s enables, disables, or verifies data checksums in a PostgreSQL database cluster.\n" "\n" msgstr "" -"%s activa, desactiva o verifica checksums de datos en un clúster PostgreSQL.\n" +"%s activa, desactiva o verifica checksums de datos en un\n" +"clúster PostgreSQL.\n" "\n" -#: pg_checksums.c:80 +#: pg_checksums.c:71 #, c-format msgid "Usage:\n" msgstr "Empleo:\n" -#: pg_checksums.c:81 +#: pg_checksums.c:72 #, c-format msgid " %s [OPTION]... [DATADIR]\n" msgstr " %s [OPCIÓN]... [DATADIR]\n" -#: pg_checksums.c:82 +#: pg_checksums.c:73 #, c-format msgid "" "\n" @@ -78,57 +184,62 @@ msgstr "" "\n" "Opciones:\n" -#: pg_checksums.c:83 +#: pg_checksums.c:74 #, c-format msgid " [-D, --pgdata=]DATADIR data directory\n" msgstr " [-D, --pgdata=]DATADIR directorio de datos\n" -#: pg_checksums.c:84 +#: pg_checksums.c:75 #, c-format msgid " -c, --check check data checksums (default)\n" msgstr " -c, --check verificar checksums (por omisión)\n" -#: pg_checksums.c:85 +#: pg_checksums.c:76 #, c-format msgid " -d, --disable disable data checksums\n" msgstr " -d, --disable desactivar checksums\n" -#: pg_checksums.c:86 +#: pg_checksums.c:77 #, c-format msgid " -e, --enable enable data checksums\n" msgstr " -e, --enable activar checksums\n" -#: pg_checksums.c:87 +#: pg_checksums.c:78 #, c-format msgid " -f, --filenode=FILENODE check only relation with specified filenode\n" msgstr " -f, --filenode=FILENODE verificar sólo la relación con el filenode dado\n" -#: pg_checksums.c:88 +#: pg_checksums.c:79 #, c-format msgid " -N, --no-sync do not wait for changes to be written safely to disk\n" msgstr " -N, --no-sync no esperar que los cambios se sincronicen a disco\n" -#: pg_checksums.c:89 +#: pg_checksums.c:80 #, c-format msgid " -P, --progress show progress information\n" msgstr " -P, --progress mostrar información de progreso\n" -#: pg_checksums.c:90 +#: pg_checksums.c:81 +#, c-format +msgid " --sync-method=METHOD set method for syncing files to disk\n" +msgstr " --sync-method=MÉTODO definir método para sincr. archivos a disco\n" + +#: pg_checksums.c:82 #, c-format msgid " -v, --verbose output verbose messages\n" msgstr " -v, --verbose desplegar mensajes verbosos\n" -#: pg_checksums.c:91 +#: pg_checksums.c:83 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version mostrar información de versión y salir\n" -#: pg_checksums.c:92 +#: pg_checksums.c:84 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help mostrar esta ayuda y salir\n" -#: pg_checksums.c:93 +#: pg_checksums.c:85 #, c-format msgid "" "\n" @@ -141,192 +252,177 @@ msgstr "" "la variable de entorno PGDATA.\n" "\n" -#: pg_checksums.c:95 +#: pg_checksums.c:87 #, c-format msgid "Report bugs to <%s>.\n" msgstr "Reporte errores a <%s>.\n" -#: pg_checksums.c:96 +#: pg_checksums.c:88 #, c-format msgid "%s home page: <%s>\n" msgstr "Sitio web de %s: <%s>\n" -#: pg_checksums.c:153 +#: pg_checksums.c:145 #, c-format msgid "%lld/%lld MB (%d%%) computed" msgstr "%lld/%lld MB (%d%%) calculado" -#: pg_checksums.c:200 -#, c-format -msgid "could not open file \"%s\": %m" -msgstr "no se pudo abrir el archivo «%s»: %m" - -#: pg_checksums.c:214 +#: pg_checksums.c:206 #, c-format msgid "could not read block %u in file \"%s\": %m" msgstr "no se pudo leer el bloque %u del archivo «%s»: %m" -#: pg_checksums.c:217 +#: pg_checksums.c:209 #, c-format msgid "could not read block %u in file \"%s\": read %d of %d" msgstr "no se pudo leer bloque %u en archivo «%s»: leídos %d de %d" -#: pg_checksums.c:240 +#: pg_checksums.c:232 #, c-format msgid "checksum verification failed in file \"%s\", block %u: calculated checksum %X but block contains %X" msgstr "verificación de checksums falló en archivo «%s», bloque %u: checksum calculado %X pero bloque contiene %X" -#: pg_checksums.c:263 +#: pg_checksums.c:255 #, c-format msgid "seek failed for block %u in file \"%s\": %m" msgstr "posicionamiento (seek) falló para el bloque %u en archivo «%s»: %m" -#: pg_checksums.c:270 +#: pg_checksums.c:262 #, c-format msgid "could not write block %u in file \"%s\": %m" msgstr "no se pudo escribir el bloque %u en el archivo «%s»: %m" -#: pg_checksums.c:273 +#: pg_checksums.c:265 #, c-format msgid "could not write block %u in file \"%s\": wrote %d of %d" msgstr "no se pudo escribir el bloque %u en el archivo «%s»: se escribieron %d de %d" -#: pg_checksums.c:285 +#: pg_checksums.c:277 #, c-format msgid "checksums verified in file \"%s\"" msgstr "checksums verificados en archivo «%s»" -#: pg_checksums.c:287 +#: pg_checksums.c:279 #, c-format msgid "checksums enabled in file \"%s\"" msgstr "checksums activados en archivo «%s»" -#: pg_checksums.c:318 -#, c-format -msgid "could not open directory \"%s\": %m" -msgstr "no se pudo abrir el directorio «%s»: %m" - -#: pg_checksums.c:342 pg_checksums.c:411 -#, c-format -msgid "could not stat file \"%s\": %m" -msgstr "no se pudo hacer stat al archivo «%s»: %m" - -#: pg_checksums.c:366 +#: pg_checksums.c:362 #, c-format msgid "invalid segment number %d in file name \"%s\"" msgstr "número de segmento %d no válido en nombre de archivo «%s»" -#: pg_checksums.c:508 pg_checksums.c:524 pg_checksums.c:534 pg_checksums.c:542 +#: pg_checksums.c:509 pg_checksums.c:525 pg_checksums.c:535 pg_checksums.c:543 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Pruebe «%s --help» para mayor información." -#: pg_checksums.c:523 +#: pg_checksums.c:524 #, c-format msgid "no data directory specified" msgstr "no se especificó el directorio de datos" -#: pg_checksums.c:532 +#: pg_checksums.c:533 #, 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_checksums.c:541 +#: pg_checksums.c:542 #, c-format msgid "option -f/--filenode can only be used with --check" msgstr "la opción -f/--filenode sólo puede usarse con --check" -#: pg_checksums.c:549 +#: pg_checksums.c:550 #, c-format msgid "pg_control CRC value is incorrect" msgstr "el valor de CRC de pg_control es incorrecto" -#: pg_checksums.c:552 +#: pg_checksums.c:553 #, c-format msgid "cluster is not compatible with this version of pg_checksums" msgstr "el clúster no es compatible con esta versión de pg_checksums" -#: pg_checksums.c:556 +#: pg_checksums.c:557 #, c-format msgid "database cluster is not compatible" msgstr "el clúster de bases de datos no es compatible" -#: pg_checksums.c:557 +#: pg_checksums.c:558 #, c-format msgid "The database cluster was initialized with block size %u, but pg_checksums was compiled with block size %u." msgstr "El clúster fue inicializado con tamaño de bloque %u, pero pg_checksums fue compilado con tamaño de bloques %u." -#: pg_checksums.c:569 +#: pg_checksums.c:570 #, c-format msgid "cluster must be shut down" msgstr "el clúster debe estar apagado" -#: pg_checksums.c:573 +#: pg_checksums.c:574 #, c-format msgid "data checksums are not enabled in cluster" msgstr "los checksums de datos no están activados en el clúster" -#: pg_checksums.c:577 +#: pg_checksums.c:578 #, c-format msgid "data checksums are already disabled in cluster" msgstr "los checksums de datos ya están desactivados en el clúster" -#: pg_checksums.c:581 +#: pg_checksums.c:582 #, c-format msgid "data checksums are already enabled in cluster" msgstr "los checksums de datos ya están activados en el clúster" -#: pg_checksums.c:605 +#: pg_checksums.c:606 #, c-format msgid "Checksum operation completed\n" msgstr "Operación de checksums completa\n" -#: pg_checksums.c:606 +#: pg_checksums.c:607 #, c-format msgid "Files scanned: %lld\n" msgstr "Archivos recorridos: %lld\n" -#: pg_checksums.c:607 +#: pg_checksums.c:608 #, c-format msgid "Blocks scanned: %lld\n" msgstr "Bloques recorridos: %lld\n" -#: pg_checksums.c:610 +#: pg_checksums.c:611 #, c-format msgid "Bad checksums: %lld\n" msgstr "Checksums incorrectos: %lld\n" -#: pg_checksums.c:611 pg_checksums.c:643 +#: pg_checksums.c:612 pg_checksums.c:644 #, c-format msgid "Data checksum version: %u\n" msgstr "Versión de checksums de datos: %u\n" -#: pg_checksums.c:618 +#: pg_checksums.c:619 #, c-format msgid "Files written: %lld\n" msgstr "Archivos escritos: %lld\n" -#: pg_checksums.c:619 +#: pg_checksums.c:620 #, c-format msgid "Blocks written: %lld\n" msgstr "Bloques escritos: %lld\n" -#: pg_checksums.c:635 +#: pg_checksums.c:636 #, c-format msgid "syncing data directory" msgstr "sincronizando directorio de datos" -#: pg_checksums.c:639 +#: pg_checksums.c:640 #, c-format msgid "updating control file" msgstr "actualizando archivo de control" -#: pg_checksums.c:645 +#: pg_checksums.c:646 #, c-format msgid "Checksums enabled in cluster\n" msgstr "Checksums activos en el clúster\n" -#: pg_checksums.c:647 +#: pg_checksums.c:648 #, c-format msgid "Checksums disabled in cluster\n" msgstr "Checksums inactivos en el clúster\n" diff --git a/src/bin/pg_checksums/po/fr.po b/src/bin/pg_checksums/po/fr.po index dcdb4c74f15..dcd82587d4f 100644 --- a/src/bin/pg_checksums/po/fr.po +++ b/src/bin/pg_checksums/po/fr.po @@ -8,10 +8,10 @@ # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 15\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-05-14 10:21+0000\n" -"PO-Revision-Date: 2022-05-14 17:15+0200\n" +"POT-Creation-Date: 2024-07-20 21:25+0000\n" +"PO-Revision-Date: 2024-09-16 16:28+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -19,28 +19,128 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.0.1\n" +"X-Generator: Poedit 3.5\n" -#: ../../../src/common/logging.c:277 +#: ../../../src/common/logging.c:276 #, c-format msgid "error: " msgstr "erreur : " -#: ../../../src/common/logging.c:284 +#: ../../../src/common/logging.c:283 #, c-format msgid "warning: " msgstr "attention : " -#: ../../../src/common/logging.c:295 +#: ../../../src/common/logging.c:294 #, c-format msgid "detail: " msgstr "détail : " -#: ../../../src/common/logging.c:302 +#: ../../../src/common/logging.c:301 #, c-format msgid "hint: " msgstr "astuce : " +#: ../../common/controldata_utils.c:97 +#, c-format +msgid "could not open file \"%s\" for reading: %m" +msgstr "n'a pas pu ouvrir le fichier « %s » pour une lecture : %m" + +#: ../../common/controldata_utils.c:110 +#, c-format +msgid "could not read file \"%s\": %m" +msgstr "n'a pas pu lire le fichier « %s » : %m" + +#: ../../common/controldata_utils.c:119 +#, c-format +msgid "could not read file \"%s\": read %d of %zu" +msgstr "n'a pas pu lire le fichier « %s » : a lu %d sur %zu" + +#: ../../common/controldata_utils.c:132 ../../common/controldata_utils.c:280 +#, c-format +msgid "could not close file \"%s\": %m" +msgstr "n'a pas pu fermer le fichier « %s » : %m" + +#: ../../common/controldata_utils.c:168 +msgid "byte ordering mismatch" +msgstr "différence de l'ordre des octets" + +#: ../../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 "" +"possible incohérence dans l'ordre des octets\n" +"L'ordre des octets utilisé pour enregistrer le fichier pg_control peut ne\n" +"pas correspondre à celui utilisé par ce programme. Dans ce cas, les\n" +"résultats ci-dessous sont incorrects, et l'installation de PostgreSQL\n" +"est incompatible avec ce répertoire des données." + +#: ../../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_checksums.c:192 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "n'a pas pu ouvrir le fichier « %s » : %m" + +#: ../../common/controldata_utils.c:249 +#, c-format +msgid "could not write file \"%s\": %m" +msgstr "impossible d'écrire le fichier « %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 "n'a pas pu synchroniser sur disque (fsync) le fichier « %s » : %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 "mémoire épuisée\n" + +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 +#, c-format +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "ne peut pas dupliquer un pointeur nul (erreur interne)\n" + +#: ../../common/file_utils.c:76 +#, c-format +msgid "could not synchronize file system for file \"%s\": %m" +msgstr "n'a pas pu synchroniser sur disque (fsync) le système de fichiers pour le fichier « %s » : %m" + +#: ../../common/file_utils.c:120 ../../common/file_utils.c:566 +#: pg_checksums.c:338 pg_checksums.c:407 +#, c-format +msgid "could not stat file \"%s\": %m" +msgstr "n'a pas pu tester le fichier « %s » : %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 "cette construction ne supporte pas la méthode de synchronisation « %s »" + +#: ../../common/file_utils.c:151 ../../common/file_utils.c:281 +#: pg_checksums.c:310 +#, c-format +msgid "could not open directory \"%s\": %m" +msgstr "n'a pas pu ouvrir le répertoire « %s » : %m" + +#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "n'a pas pu lire le répertoire « %s » : %m" + +#: ../../common/file_utils.c:498 +#, c-format +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "n'a pas pu renommer le fichier « %s » en « %s » : %m" + #: ../../fe_utils/option_utils.c:69 #, c-format msgid "invalid value \"%s\" for option %s" @@ -51,7 +151,12 @@ msgstr "valeur « %s » invalide pour l'option %s" msgid "%s must be in range %d..%d" msgstr "%s doit être compris entre %d et %d" -#: pg_checksums.c:79 +#: ../../fe_utils/option_utils.c:106 +#, c-format +msgid "unrecognized sync method: %s" +msgstr "méthode de synchronisation non reconnu : %s" + +#: pg_checksums.c:70 #, c-format msgid "" "%s enables, disables, or verifies data checksums in a PostgreSQL database cluster.\n" @@ -61,17 +166,17 @@ msgstr "" "une instance PostgreSQL.\n" "\n" -#: pg_checksums.c:80 +#: pg_checksums.c:71 #, c-format msgid "Usage:\n" msgstr "Usage :\n" -#: pg_checksums.c:81 +#: pg_checksums.c:72 #, c-format msgid " %s [OPTION]... [DATADIR]\n" msgstr " %s [OPTION]... [RÉP_DONNÉES]\n" -#: pg_checksums.c:82 +#: pg_checksums.c:73 #, c-format msgid "" "\n" @@ -80,61 +185,66 @@ msgstr "" "\n" "Options :\n" -#: pg_checksums.c:83 +#: pg_checksums.c:74 #, c-format msgid " [-D, --pgdata=]DATADIR data directory\n" msgstr " [-D, --pgdata=]REP_DONNEES répertoire des données\n" -#: pg_checksums.c:84 +#: pg_checksums.c:75 #, c-format msgid " -c, --check check data checksums (default)\n" msgstr " -c, --check vérifie les sommes de contrôle (par défaut)\n" -#: pg_checksums.c:85 +#: pg_checksums.c:76 #, c-format msgid " -d, --disable disable data checksums\n" msgstr " -d, --disable désactive les sommes de contrôle\n" -#: pg_checksums.c:86 +#: pg_checksums.c:77 #, c-format msgid " -e, --enable enable data checksums\n" msgstr " -e, --enable active les sommes de contrôle\n" -#: pg_checksums.c:87 +#: pg_checksums.c:78 #, c-format msgid " -f, --filenode=FILENODE check only relation with specified filenode\n" msgstr "" " -f, --filenode=FILENODE vérifie seulement la relation dont l'identifiant\n" " relfilenode est indiqué\n" -#: pg_checksums.c:88 +#: pg_checksums.c:79 #, c-format msgid " -N, --no-sync do not wait for changes to be written safely to disk\n" msgstr "" " -N, --no-sync n'attend pas que les modifications soient\n" " proprement écrites sur disque\n" -#: pg_checksums.c:89 +#: pg_checksums.c:80 #, c-format msgid " -P, --progress show progress information\n" msgstr " -P, --progress affiche la progression de l'opération\n" -#: pg_checksums.c:90 +#: pg_checksums.c:81 +#, c-format +msgid " --sync-method=METHOD set method for syncing files to disk\n" +msgstr " --sync-method=METHODE configure la méthode pour synchroniser les fichiers sur disque\n" + +#: pg_checksums.c:82 #, c-format msgid " -v, --verbose output verbose messages\n" msgstr " -v, --verbose affiche des messages verbeux\n" -#: pg_checksums.c:91 +#: pg_checksums.c:83 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version affiche la version puis quitte\n" -#: pg_checksums.c:92 +#: pg_checksums.c:84 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help affiche cette aide puis quitte\n" -#: pg_checksums.c:93 +#: pg_checksums.c:85 #, c-format msgid "" "\n" @@ -147,228 +257,177 @@ msgstr "" "PGDATA est utilisée.\n" "\n" -#: pg_checksums.c:95 +#: pg_checksums.c:87 #, c-format msgid "Report bugs to <%s>.\n" msgstr "Rapporter les bogues à <%s>.\n" -#: pg_checksums.c:96 +#: pg_checksums.c:88 #, c-format msgid "%s home page: <%s>\n" msgstr "Page d'accueil de %s : <%s>\n" -#: pg_checksums.c:153 +#: pg_checksums.c:145 #, c-format msgid "%lld/%lld MB (%d%%) computed" msgstr "%lld/%lld Mo (%d%%) traités" -#: pg_checksums.c:200 -#, c-format -msgid "could not open file \"%s\": %m" -msgstr "n'a pas pu ouvrir le fichier « %s » : %m" - -#: pg_checksums.c:214 +#: pg_checksums.c:206 #, c-format msgid "could not read block %u in file \"%s\": %m" msgstr "n'a pas pu lire le bloc %u dans le fichier « %s » : %m" -#: pg_checksums.c:217 +#: pg_checksums.c:209 #, c-format msgid "could not read block %u in file \"%s\": read %d of %d" msgstr "n'a pas pu lire le bloc %u dans le fichier « %s » : %d lus sur %d" -#: pg_checksums.c:240 +#: pg_checksums.c:232 #, c-format msgid "checksum verification failed in file \"%s\", block %u: calculated checksum %X but block contains %X" msgstr "échec de la vérification de la somme de contrôle dans le fichier « %s », bloc %u : somme de contrôle calculée %X, alors que le bloc contient %X" -#: pg_checksums.c:263 +#: pg_checksums.c:255 #, c-format msgid "seek failed for block %u in file \"%s\": %m" msgstr "n'a pas pu rechercher le bloc %u dans le fichier « %s » : %m" -#: pg_checksums.c:270 +#: pg_checksums.c:262 #, c-format msgid "could not write block %u in file \"%s\": %m" msgstr "n'a pas pu écrire le bloc %u dans le fichier « %s » : %m" -#: pg_checksums.c:273 +#: pg_checksums.c:265 #, c-format msgid "could not write block %u in file \"%s\": wrote %d of %d" msgstr "n'a pas pu écrire le bloc %u du fichier « %s » : a écrit %d octets sur %d" -#: pg_checksums.c:285 +#: pg_checksums.c:277 #, c-format msgid "checksums verified in file \"%s\"" msgstr "sommes de contrôle vérifiées dans le fichier « %s »" -#: pg_checksums.c:287 +#: pg_checksums.c:279 #, c-format msgid "checksums enabled in file \"%s\"" msgstr "sommes de contrôle activées dans le fichier « %s »" -#: pg_checksums.c:318 -#, c-format -msgid "could not open directory \"%s\": %m" -msgstr "n'a pas pu ouvrir le répertoire « %s » : %m" - -#: pg_checksums.c:342 pg_checksums.c:415 -#, c-format -msgid "could not stat file \"%s\": %m" -msgstr "n'a pas pu tester le fichier « %s » : %m" - -#: pg_checksums.c:366 +#: pg_checksums.c:362 #, c-format msgid "invalid segment number %d in file name \"%s\"" msgstr "numéro de segment %d invalide dans le nom de fichier « %s »" -#: pg_checksums.c:512 pg_checksums.c:528 pg_checksums.c:538 pg_checksums.c:546 +#: pg_checksums.c:509 pg_checksums.c:525 pg_checksums.c:535 pg_checksums.c:543 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Essayez « %s --help » pour plus d'informations." -#: pg_checksums.c:527 +#: pg_checksums.c:524 #, c-format msgid "no data directory specified" msgstr "aucun répertoire de données indiqué" -#: pg_checksums.c:536 +#: pg_checksums.c:533 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "trop d'arguments en ligne de commande (le premier étant « %s »)" -#: pg_checksums.c:545 +#: pg_checksums.c:542 #, c-format msgid "option -f/--filenode can only be used with --check" msgstr "l'option « -f/--filenode » peut seulement être utilisée avec --check" -#: pg_checksums.c:553 +#: pg_checksums.c:550 #, c-format msgid "pg_control CRC value is incorrect" msgstr "la valeur CRC de pg_control n'est pas correcte" -#: pg_checksums.c:556 +#: pg_checksums.c:553 #, c-format msgid "cluster is not compatible with this version of pg_checksums" msgstr "l'instance n'est pas compatible avec cette version de pg_checksums" -#: pg_checksums.c:560 +#: pg_checksums.c:557 #, c-format msgid "database cluster is not compatible" msgstr "l'instance n'est pas compatible" -#: pg_checksums.c:561 +#: pg_checksums.c:558 #, c-format msgid "The database cluster was initialized with block size %u, but pg_checksums was compiled with block size %u." msgstr "L'instance a été initialisée avec une taille de bloc à %u alors que pg_checksums a été compilé avec une taille de bloc à %u." -#: pg_checksums.c:573 +#: pg_checksums.c:570 #, c-format msgid "cluster must be shut down" msgstr "l'instance doit être arrêtée" -#: pg_checksums.c:577 +#: pg_checksums.c:574 #, c-format msgid "data checksums are not enabled in cluster" msgstr "les sommes de contrôle sur les données ne sont pas activées sur cette instance" -#: pg_checksums.c:581 +#: pg_checksums.c:578 #, c-format msgid "data checksums are already disabled in cluster" msgstr "les sommes de contrôle sur les données sont déjà désactivées sur cette instance" -#: pg_checksums.c:585 +#: pg_checksums.c:582 #, c-format msgid "data checksums are already enabled in cluster" msgstr "les sommes de contrôle sur les données sont déjà activées sur cette instance" -#: pg_checksums.c:609 +#: pg_checksums.c:606 #, c-format msgid "Checksum operation completed\n" msgstr "Opération sur les sommes de contrôle terminée\n" -#: pg_checksums.c:610 +#: pg_checksums.c:607 #, c-format msgid "Files scanned: %lld\n" msgstr "Fichiers parcourus : %lld\n" -#: pg_checksums.c:611 +#: pg_checksums.c:608 #, c-format msgid "Blocks scanned: %lld\n" msgstr "Blocs parcourus : %lld\n" -#: pg_checksums.c:614 +#: pg_checksums.c:611 #, c-format msgid "Bad checksums: %lld\n" msgstr "Mauvaises sommes de contrôle : %lld\n" -#: pg_checksums.c:615 pg_checksums.c:647 +#: pg_checksums.c:612 pg_checksums.c:644 #, c-format msgid "Data checksum version: %u\n" msgstr "Version des sommes de contrôle sur les données : %u\n" -#: pg_checksums.c:622 +#: pg_checksums.c:619 #, c-format msgid "Files written: %lld\n" msgstr "Fichiers écrits : %lld\n" -#: pg_checksums.c:623 +#: pg_checksums.c:620 #, c-format msgid "Blocks written: %lld\n" msgstr "Blocs écrits : %lld\n" -#: pg_checksums.c:639 +#: pg_checksums.c:636 #, c-format msgid "syncing data directory" msgstr "synchronisation du répertoire des données" -#: pg_checksums.c:643 +#: pg_checksums.c:640 #, c-format msgid "updating control file" msgstr "mise à jour du fichier de contrôle" -#: pg_checksums.c:649 +#: pg_checksums.c:646 #, c-format msgid "Checksums enabled in cluster\n" msgstr "Sommes de contrôle sur les données activées sur cette instance\n" -#: pg_checksums.c:651 +#: pg_checksums.c:648 #, c-format msgid "Checksums disabled in cluster\n" msgstr "Sommes de contrôle sur les données désactivées sur cette instance\n" - -#~ msgid " -?, --help show this help, then exit\n" -#~ msgstr " -?, --help affiche cette aide puis quitte\n" - -#~ msgid " -V, --version output version information, then exit\n" -#~ msgstr " -V, --version affiche la version puis quitte\n" - -#~ msgid "%s: could not open directory \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu ouvrir le répertoire « %s » : %s\n" - -#~ msgid "%s: could not open file \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu ouvrir le fichier « %s » : %s\n" - -#~ msgid "%s: could not stat file \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu récupérer les informations sur le fichier « %s » : %s\n" - -#~ msgid "%s: no data directory specified\n" -#~ msgstr "%s : aucun répertoire de données indiqué\n" - -#~ msgid "%s: too many command-line arguments (first is \"%s\")\n" -#~ msgstr "%s : trop d'arguments en ligne de commande (le premier étant « %s »)\n" - -#~ msgid "Report bugs to .\n" -#~ msgstr "Rapporter les bogues à .\n" - -#, c-format -#~ msgid "Try \"%s --help\" for more information.\n" -#~ msgstr "Essayez « %s --help » pour plus d'informations.\n" - -#, c-format -#~ msgid "fatal: " -#~ msgstr "fatal : " - -#, c-format -#~ msgid "invalid filenode specification, must be numeric: %s" -#~ msgstr "spécification invalide du relfilnode, doit être numérique : %s" diff --git a/src/bin/pg_checksums/po/ka.po b/src/bin/pg_checksums/po/ka.po index 71e6f8a8c8c..0f5afb95f29 100644 --- a/src/bin/pg_checksums/po/ka.po +++ b/src/bin/pg_checksums/po/ka.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: pg_checksums (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-02-11 09:53+0000\n" +"POT-Creation-Date: 2024-07-01 03:54+0000\n" "PO-Revision-Date: 2024-02-11 14:43+0100\n" "Last-Translator: Temuri Doghonadze \n" "Language-Team: Georgian \n" @@ -38,6 +38,104 @@ msgstr "დეტალები: " msgid "hint: " msgstr "მინიშნება: " +#: ../../common/controldata_utils.c:97 +#, c-format +msgid "could not open file \"%s\" for reading: %m" +msgstr "ფაილის (%s) გახსნის შეცდომა: %m" + +#: ../../common/controldata_utils.c:110 +#, 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 "\"%s\"-ის წაკითხვის შეცდომა: წაკითხულია %d %zu-დან" + +#: ../../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 "" +"ბაიტების მიმდევრობის შესაძლო შეუსაბამობა 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_checksums.c:192 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "ფაილის (%s) გახსნის შეცდომა: %m" + +#: ../../common/controldata_utils.c:249 +#, 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 "ნულოვანი მაჩვენებლის დუბლირება შეუძლებელია (შიდა შეცდომა)\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 +#: pg_checksums.c:338 pg_checksums.c:407 +#, c-format +msgid "could not stat file \"%s\": %m" +msgstr "ფაილი \"%s\" არ არსებობს: %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_checksums.c:310 +#, c-format +msgid "could not open directory \"%s\": %m" +msgstr "საქაღალდის (%s) გახსნის შეცდომა: %m" + +#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 +#, 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" + #: ../../fe_utils/option_utils.c:69 #, c-format msgid "invalid value \"%s\" for option %s" @@ -48,11 +146,6 @@ msgstr "არასწორი მნიშვნელობა \"%s\" პა msgid "%s must be in range %d..%d" msgstr "%s არაა საზღვრებში %d-დან %d-მდე" -#: ../../fe_utils/option_utils.c:99 -#, c-format -msgid "this build does not support sync method \"%s\"" -msgstr "ამ აგებას სინქრონიზაციის მეთოდის \"%s\" მხარდაჭერა არ გააჩნია" - #: ../../fe_utils/option_utils.c:106 #, c-format msgid "unrecognized sync method: %s" @@ -168,11 +261,6 @@ msgstr "%s-ის საწყისი გვერდია: <%s>\n" msgid "%lld/%lld MB (%d%%) computed" msgstr "%lld/%lld მბ (%d%%) გამოთვლილია" -#: pg_checksums.c:192 -#, c-format -msgid "could not open file \"%s\": %m" -msgstr "ფაილის (%s) გახსნის შეცდომა: %m" - #: pg_checksums.c:206 #, c-format msgid "could not read block %u in file \"%s\": %m" @@ -213,132 +301,122 @@ msgstr "ფაილის საკონტროლო ჯამები შ msgid "checksums enabled in file \"%s\"" msgstr "ფაილის საკონტროლო ჯამები ჩართულია ფაილიდან: \"%s\"" -#: pg_checksums.c:310 -#, c-format -msgid "could not open directory \"%s\": %m" -msgstr "საქაღალდის (%s) გახსნის შეცდომა: %m" - -#: pg_checksums.c:334 pg_checksums.c:403 -#, c-format -msgid "could not stat file \"%s\": %m" -msgstr "ფაილი \"%s\" არ არსებობს: %m" - -#: pg_checksums.c:358 +#: pg_checksums.c:362 #, c-format msgid "invalid segment number %d in file name \"%s\"" msgstr "სეგმენტის არასწორი ნომერი %d ფაილის სახელში \"%s\"" -#: pg_checksums.c:505 pg_checksums.c:521 pg_checksums.c:531 pg_checksums.c:539 +#: pg_checksums.c:509 pg_checksums.c:525 pg_checksums.c:535 pg_checksums.c:543 #, c-format msgid "Try \"%s --help\" for more information." msgstr "მეტი ინფორმაციისთვის სცადეთ '%s --help'." -#: pg_checksums.c:520 +#: pg_checksums.c:524 #, c-format msgid "no data directory specified" msgstr "მონაცემების საქაღალდე მითითებული არაა" -#: pg_checksums.c:529 +#: pg_checksums.c:533 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "მეტისმეტად ბევრი ბრძანების-სტრიქონის არგუმენტი (პირველია \"%s\")" -#: pg_checksums.c:538 +#: pg_checksums.c:542 #, c-format msgid "option -f/--filenode can only be used with --check" msgstr "პარამეტრი -f/--filenode მხოლოდ --check -თან ერთად შეიძლება იქნას გამოყენებული" -#: pg_checksums.c:546 +#: pg_checksums.c:550 #, c-format msgid "pg_control CRC value is incorrect" msgstr "pg_control CRC მნიშვნელობა არასწორია" -#: pg_checksums.c:549 +#: pg_checksums.c:553 #, c-format msgid "cluster is not compatible with this version of pg_checksums" msgstr "კლასტერი შეუთავსებელია pg_checksums-ის ამ ვერსიასთან" -#: pg_checksums.c:553 +#: pg_checksums.c:557 #, c-format msgid "database cluster is not compatible" msgstr "ბაზის კლასტერი შეუთავსებელია" -#: pg_checksums.c:554 +#: pg_checksums.c:558 #, c-format msgid "The database cluster was initialized with block size %u, but pg_checksums was compiled with block size %u." msgstr "ბაზის კლასტერის ინიციალიზაცია მოხდა ბლოკის ზომით %u მაშინ, როცა pg_checksums აგებულია ბლოკის ზომით: %u." -#: pg_checksums.c:566 +#: pg_checksums.c:570 #, c-format msgid "cluster must be shut down" msgstr "კლასტერი უნდა გამოირთოს" -#: pg_checksums.c:570 +#: pg_checksums.c:574 #, c-format msgid "data checksums are not enabled in cluster" msgstr "კლასტერში მონაცემების საკონტროლო ჯამები ჩართული არაა" -#: pg_checksums.c:574 +#: pg_checksums.c:578 #, c-format msgid "data checksums are already disabled in cluster" msgstr "კლასტერში მონაცემების საკონტროლო ჯამები უკვე გამორთულია" -#: pg_checksums.c:578 +#: pg_checksums.c:582 #, c-format msgid "data checksums are already enabled in cluster" msgstr "კლასტერში მონაცემების საკონტროლო ჯამები უკვე ჩართულია" -#: pg_checksums.c:602 +#: pg_checksums.c:606 #, c-format msgid "Checksum operation completed\n" msgstr "საკონტროლო ჯამების ოპერაცია დასრულდა\n" -#: pg_checksums.c:603 +#: pg_checksums.c:607 #, c-format msgid "Files scanned: %lld\n" msgstr "დასკანერებულია ფაილები: %lld\n" -#: pg_checksums.c:604 +#: pg_checksums.c:608 #, c-format msgid "Blocks scanned: %lld\n" msgstr "დასკარერებული ბლოკები: %lld\n" -#: pg_checksums.c:607 +#: pg_checksums.c:611 #, c-format msgid "Bad checksums: %lld\n" msgstr "ცუდი საკონტროლო ჯამები: %lld\n" -#: pg_checksums.c:608 pg_checksums.c:640 +#: pg_checksums.c:612 pg_checksums.c:644 #, c-format msgid "Data checksum version: %u\n" msgstr "მონაცემების საკონტროლო ჯამის ვერსია: %u\n" -#: pg_checksums.c:615 +#: pg_checksums.c:619 #, c-format msgid "Files written: %lld\n" msgstr "ჩაწერილი ფაილები: %lld\n" -#: pg_checksums.c:616 +#: pg_checksums.c:620 #, c-format msgid "Blocks written: %lld\n" msgstr "ჩაწერილი ბლოკები: %lld\n" -#: pg_checksums.c:632 +#: pg_checksums.c:636 #, c-format msgid "syncing data directory" msgstr "მონაცემების საქაღალდის სინქრონიზაცია" -#: pg_checksums.c:636 +#: pg_checksums.c:640 #, c-format msgid "updating control file" msgstr "საკონტროლო ფაილის ატვირთვა" -#: pg_checksums.c:642 +#: pg_checksums.c:646 #, c-format msgid "Checksums enabled in cluster\n" msgstr "კლასტერში მონაცემების საკონტროლო ჯამები ჩართულია\n" -#: pg_checksums.c:644 +#: pg_checksums.c:648 #, c-format msgid "Checksums disabled in cluster\n" msgstr "კლასტერში საკონტროლო ჯამები გამორთულია\n" diff --git a/src/bin/pg_checksums/po/ru.po b/src/bin/pg_checksums/po/ru.po index ebe46366573..30f9791b046 100644 --- a/src/bin/pg_checksums/po/ru.po +++ b/src/bin/pg_checksums/po/ru.po @@ -1,10 +1,10 @@ -# Alexander Lakhin , 2019, 2020, 2021, 2022. +# Alexander Lakhin , 2019, 2020, 2021, 2022, 2024. msgid "" msgstr "" "Project-Id-Version: pg_verify_checksums (PostgreSQL) 11\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-05-04 10:36+0300\n" -"PO-Revision-Date: 2022-09-05 13:34+0300\n" +"POT-Creation-Date: 2024-09-02 09:29+0300\n" +"PO-Revision-Date: 2024-09-04 13:35+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" @@ -32,6 +32,106 @@ msgstr "подробности: " msgid "hint: " msgstr "подсказка: " +#: ../../common/controldata_utils.c:97 +#, c-format +msgid "could not open file \"%s\" for reading: %m" +msgstr "не удалось открыть файл \"%s\" для чтения: %m" + +#: ../../common/controldata_utils.c:110 +#, 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 "не удалось прочитать файл \"%s\" (прочитано байт: %d из %zu)" + +#: ../../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_checksums.c:192 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "не удалось открыть файл \"%s\": %m" + +#: ../../common/controldata_utils.c:249 +#, 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\": %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 "попытка дублирования нулевого указателя (внутренняя ошибка)\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 +#: pg_checksums.c:338 pg_checksums.c:407 +#, c-format +msgid "could not stat file \"%s\": %m" +msgstr "не удалось получить информацию о файле \"%s\": %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_checksums.c:310 +#, c-format +msgid "could not open directory \"%s\": %m" +msgstr "не удалось открыть каталог \"%s\": %m" + +#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 +#, 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" + #: ../../fe_utils/option_utils.c:69 #, c-format msgid "invalid value \"%s\" for option %s" @@ -42,7 +142,12 @@ msgstr "неверное значение \"%s\" для параметра %s" msgid "%s must be in range %d..%d" msgstr "значение %s должно быть в диапазоне %d..%d" -#: pg_checksums.c:79 +#: ../../fe_utils/option_utils.c:106 +#, c-format +msgid "unrecognized sync method: %s" +msgstr "нераспознанный метод синхронизации: %s" + +#: pg_checksums.c:70 #, c-format msgid "" "%s enables, disables, or verifies data checksums in a PostgreSQL database " @@ -53,17 +158,17 @@ msgstr "" "PostgreSQL.\n" "\n" -#: pg_checksums.c:80 +#: pg_checksums.c:71 #, c-format msgid "Usage:\n" msgstr "Использование:\n" -#: pg_checksums.c:81 +#: pg_checksums.c:72 #, c-format msgid " %s [OPTION]... [DATADIR]\n" msgstr " %s [ПАРАМЕТР]... [КАТАЛОГ]\n" -#: pg_checksums.c:82 +#: pg_checksums.c:73 #, c-format msgid "" "\n" @@ -72,29 +177,29 @@ msgstr "" "\n" "Параметры:\n" -#: pg_checksums.c:83 +#: pg_checksums.c:74 #, c-format msgid " [-D, --pgdata=]DATADIR data directory\n" msgstr " [-D, --pgdata=]КАТ_ДАННЫХ каталог данных\n" -#: pg_checksums.c:84 +#: pg_checksums.c:75 #, c-format msgid " -c, --check check data checksums (default)\n" msgstr "" " -c, --check проверить контрольные суммы данных (по " "умолчанию)\n" -#: pg_checksums.c:85 +#: pg_checksums.c:76 #, c-format msgid " -d, --disable disable data checksums\n" msgstr " -d, --disable отключить контрольные суммы\n" -#: pg_checksums.c:86 +#: pg_checksums.c:77 #, c-format msgid " -e, --enable enable data checksums\n" msgstr " -e, --enable включить контрольные суммы\n" -#: pg_checksums.c:87 +#: pg_checksums.c:78 #, c-format msgid "" " -f, --filenode=FILENODE check only relation with specified filenode\n" @@ -102,7 +207,7 @@ msgstr "" " -f, --filenode=ФАЙЛ_УЗЕЛ проверить только отношение с заданным файловым " "узлом\n" -#: pg_checksums.c:88 +#: pg_checksums.c:79 #, c-format msgid "" " -N, --no-sync do not wait for changes to be written safely to " @@ -110,27 +215,32 @@ msgid "" msgstr "" " -N, --no-sync не ждать завершения сохранения данных на диске\n" -#: pg_checksums.c:89 +#: pg_checksums.c:80 #, c-format msgid " -P, --progress show progress information\n" msgstr " -P, --progress показывать прогресс операции\n" -#: pg_checksums.c:90 +#: pg_checksums.c:81 +#, c-format +msgid " --sync-method=METHOD set method for syncing files to disk\n" +msgstr " --sync-method=МЕТОД метод синхронизации файлов с ФС\n" + +#: pg_checksums.c:82 #, c-format msgid " -v, --verbose output verbose messages\n" msgstr " -v, --verbose выводить подробные сообщения\n" -#: pg_checksums.c:91 +#: pg_checksums.c:83 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version показать версию и выйти\n" -#: pg_checksums.c:92 +#: pg_checksums.c:84 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help показать эту справку и выйти\n" -#: pg_checksums.c:93 +#: pg_checksums.c:85 #, c-format msgid "" "\n" @@ -144,37 +254,32 @@ msgstr "" "переменной окружения PGDATA.\n" "\n" -#: pg_checksums.c:95 +#: pg_checksums.c:87 #, c-format msgid "Report bugs to <%s>.\n" msgstr "Об ошибках сообщайте по адресу <%s>.\n" -#: pg_checksums.c:96 +#: pg_checksums.c:88 #, c-format msgid "%s home page: <%s>\n" msgstr "Домашняя страница %s: <%s>\n" -#: pg_checksums.c:153 +#: pg_checksums.c:145 #, c-format msgid "%lld/%lld MB (%d%%) computed" msgstr "%lld/%lld МБ (%d%%) обработано" -#: pg_checksums.c:200 -#, c-format -msgid "could not open file \"%s\": %m" -msgstr "не удалось открыть файл \"%s\": %m" - -#: pg_checksums.c:214 +#: pg_checksums.c:206 #, c-format msgid "could not read block %u in file \"%s\": %m" msgstr "не удалось прочитать блок %u в файле \"%s\": %m" -#: pg_checksums.c:217 +#: pg_checksums.c:209 #, c-format msgid "could not read block %u in file \"%s\": read %d of %d" msgstr "не удалось прочитать блок %u в файле \"%s\" (прочитано байт: %d из %d)" -#: pg_checksums.c:240 +#: pg_checksums.c:232 #, c-format msgid "" "checksum verification failed in file \"%s\", block %u: calculated checksum " @@ -183,82 +288,72 @@ msgstr "" "ошибка контрольных сумм в файле \"%s\", блоке %u: вычислена контрольная " "сумма %X, но блок содержит %X" -#: pg_checksums.c:263 +#: pg_checksums.c:255 #, c-format msgid "seek failed for block %u in file \"%s\": %m" msgstr "ошибка при переходе к блоку %u в файле \"%s\": %m" -#: pg_checksums.c:270 +#: pg_checksums.c:262 #, c-format msgid "could not write block %u in file \"%s\": %m" msgstr "не удалось записать блок %u в файл \"%s\": %m" -#: pg_checksums.c:273 +#: pg_checksums.c:265 #, c-format msgid "could not write block %u in file \"%s\": wrote %d of %d" msgstr "не удалось записать блок %u в файле \"%s\" (записано байт: %d из %d)" -#: pg_checksums.c:285 +#: pg_checksums.c:277 #, c-format msgid "checksums verified in file \"%s\"" msgstr "контрольные суммы в файле \"%s\" проверены" -#: pg_checksums.c:287 +#: pg_checksums.c:279 #, c-format msgid "checksums enabled in file \"%s\"" msgstr "контрольные суммы в файле \"%s\" включены" -#: pg_checksums.c:318 -#, c-format -msgid "could not open directory \"%s\": %m" -msgstr "не удалось открыть каталог \"%s\": %m" - -#: pg_checksums.c:346 pg_checksums.c:415 -#, c-format -msgid "could not stat file \"%s\": %m" -msgstr "не удалось получить информацию о файле \"%s\": %m" - -#: pg_checksums.c:370 +#: pg_checksums.c:362 #, c-format msgid "invalid segment number %d in file name \"%s\"" msgstr "неверный номер сегмента %d в имени файла \"%s\"" -#: pg_checksums.c:512 pg_checksums.c:528 pg_checksums.c:538 pg_checksums.c:546 +#: pg_checksums.c:509 pg_checksums.c:525 pg_checksums.c:535 pg_checksums.c:543 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Для дополнительной информации попробуйте \"%s --help\"." -#: pg_checksums.c:527 +#: pg_checksums.c:524 #, c-format msgid "no data directory specified" msgstr "каталог данных не указан" -#: pg_checksums.c:536 +#: pg_checksums.c:533 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "слишком много аргументов командной строки (первый: \"%s\")" -#: pg_checksums.c:545 +#: pg_checksums.c:542 #, c-format msgid "option -f/--filenode can only be used with --check" msgstr "параметр -f/--filenode можно использовать только с --check" -#: pg_checksums.c:553 +#: pg_checksums.c:550 #, c-format msgid "pg_control CRC value is incorrect" msgstr "ошибка контрольного значения в pg_control" -#: pg_checksums.c:556 +#: pg_checksums.c:553 #, c-format msgid "cluster is not compatible with this version of pg_checksums" msgstr "кластер несовместим с этой версией pg_checksums" -#: pg_checksums.c:560 +#: pg_checksums.c:557 #, c-format msgid "database cluster is not compatible" msgstr "несовместимый кластер баз данных" -#: pg_checksums.c:561 +#: pg_checksums.c:558 #, c-format msgid "" "The database cluster was initialized with block size %u, but pg_checksums " @@ -267,77 +362,77 @@ msgstr "" "Кластер баз данных был инициализирован с размером блока %u, а утилита " "pg_checksums скомпилирована для размера блока %u." -#: pg_checksums.c:573 +#: pg_checksums.c:570 #, c-format msgid "cluster must be shut down" msgstr "кластер должен быть отключён" -#: pg_checksums.c:577 +#: pg_checksums.c:574 #, c-format msgid "data checksums are not enabled in cluster" msgstr "контрольные суммы в кластере не включены" -#: pg_checksums.c:581 +#: pg_checksums.c:578 #, c-format msgid "data checksums are already disabled in cluster" msgstr "контрольные суммы в кластере уже отключены" -#: pg_checksums.c:585 +#: pg_checksums.c:582 #, c-format msgid "data checksums are already enabled in cluster" msgstr "контрольные суммы в кластере уже включены" -#: pg_checksums.c:609 +#: pg_checksums.c:606 #, c-format msgid "Checksum operation completed\n" msgstr "Обработка контрольных сумм завершена\n" -#: pg_checksums.c:610 +#: pg_checksums.c:607 #, c-format msgid "Files scanned: %lld\n" msgstr "Просканировано файлов: %lld\n" -#: pg_checksums.c:611 +#: pg_checksums.c:608 #, c-format msgid "Blocks scanned: %lld\n" msgstr "Просканировано блоков: %lld\n" -#: pg_checksums.c:614 +#: pg_checksums.c:611 #, c-format msgid "Bad checksums: %lld\n" msgstr "Неверные контрольные суммы: %lld\n" -#: pg_checksums.c:615 pg_checksums.c:647 +#: pg_checksums.c:612 pg_checksums.c:644 #, c-format msgid "Data checksum version: %u\n" msgstr "Версия контрольных сумм данных: %u\n" -#: pg_checksums.c:622 +#: pg_checksums.c:619 #, c-format msgid "Files written: %lld\n" msgstr "Записано файлов: %lld\n" -#: pg_checksums.c:623 +#: pg_checksums.c:620 #, c-format msgid "Blocks written: %lld\n" msgstr "Записано блоков: %lld\n" -#: pg_checksums.c:639 +#: pg_checksums.c:636 #, c-format msgid "syncing data directory" msgstr "синхронизация каталога данных" -#: pg_checksums.c:643 +#: pg_checksums.c:640 #, c-format msgid "updating control file" msgstr "модификация управляющего файла" -#: pg_checksums.c:649 +#: pg_checksums.c:646 #, c-format msgid "Checksums enabled in cluster\n" msgstr "Контрольные суммы в кластере включены\n" -#: pg_checksums.c:651 +#: pg_checksums.c:648 #, c-format msgid "Checksums disabled in cluster\n" msgstr "Контрольные суммы в кластере отключены\n" diff --git a/src/bin/pg_checksums/po/sv.po b/src/bin/pg_checksums/po/sv.po index 8e92a9e5443..245aa1722ae 100644 --- a/src/bin/pg_checksums/po/sv.po +++ b/src/bin/pg_checksums/po/sv.po @@ -1,14 +1,14 @@ # Swedish message translation file for pg_checksums # Copyright (C) 2019 PostgreSQL Global Development Group # This file is distributed under the same license as the pg_checksums (PostgreSQL) package. -# Dennis Björklund , 2019, 2020, 2021, 2022. +# Dennis Björklund , 2019, 2020, 2021, 2022, 2023, 2024. # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 15\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-05-09 18:52+0000\n" -"PO-Revision-Date: 2022-05-09 21:46+0200\n" +"POT-Creation-Date: 2024-07-12 14:25+0000\n" +"PO-Revision-Date: 2024-07-12 18:57+0200\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -17,26 +17,125 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -#: ../../../src/common/logging.c:277 +#: ../../../src/common/logging.c:276 #, c-format msgid "error: " msgstr "fel: " -#: ../../../src/common/logging.c:284 +#: ../../../src/common/logging.c:283 #, c-format msgid "warning: " msgstr "varning: " -#: ../../../src/common/logging.c:295 +#: ../../../src/common/logging.c:294 #, c-format msgid "detail: " msgstr "detalj: " -#: ../../../src/common/logging.c:302 +#: ../../../src/common/logging.c:301 #, c-format msgid "hint: " msgstr "tips: " +#: ../../common/controldata_utils.c:97 +#, 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 +#, c-format +msgid "could not read file \"%s\": %m" +msgstr "kunde inte läsa fil \"%s\": %m" + +#: ../../common/controldata_utils.c:119 +#, c-format +msgid "could not read file \"%s\": read %d of %zu" +msgstr "kunde inte läsa fil \"%s\": läste %d av %zu" + +#: ../../common/controldata_utils.c:132 ../../common/controldata_utils.c:280 +#, c-format +msgid "could not close file \"%s\": %m" +msgstr "kunde inte stänga fil \"%s\": %m" + +#: ../../common/controldata_utils.c:168 +msgid "byte ordering mismatch" +msgstr "byte-ordning stämmer inte" + +#: ../../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 "" +"möjligt fel i byteordning\n" +"Den byteordning som filen från pg_control lagrats med passar kanske\n" +"inte detta program. I så fall kan nedanstående resultat vara felaktiga\n" +"och PostgreSQL-installationen vara inkompatibel med databaskatalogen." + +#: ../../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_checksums.c:192 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "kunde inte öppna fil \"%s\": %m" + +#: ../../common/controldata_utils.c:249 +#, c-format +msgid "could not write file \"%s\": %m" +msgstr "kunde inte skriva fil \"%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 "kunde inte fsync:a fil \"%s\": %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 "slut på minne\n" + +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 +#, c-format +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "kan inte duplicera null-pekare (internt fel)\n" + +#: ../../common/file_utils.c:76 +#, c-format +msgid "could not synchronize file system for file \"%s\": %m" +msgstr "kan inte synkronisera filsystemet för fil \"%s\": %m" + +#: ../../common/file_utils.c:120 ../../common/file_utils.c:566 +#: pg_checksums.c:338 pg_checksums.c:407 +#, c-format +msgid "could not stat file \"%s\": %m" +msgstr "kunde inte göra stat() på fil \"%s\": %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 "detta bygge stöder inte synkmetod \"%s\"" + +#: ../../common/file_utils.c:151 ../../common/file_utils.c:281 +#: pg_checksums.c:310 +#, 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 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "kunde inte läsa katalog \"%s\": %m" + +#: ../../common/file_utils.c:498 +#, c-format +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "kunde inte döpa om fil \"%s\" till \"%s\": %m" + #: ../../fe_utils/option_utils.c:69 #, c-format msgid "invalid value \"%s\" for option %s" @@ -47,7 +146,12 @@ msgstr "ogiltigt värde \"%s\" för flaggan \"%s\"" msgid "%s must be in range %d..%d" msgstr "%s måste vara i intervallet %d..%d" -#: pg_checksums.c:79 +#: ../../fe_utils/option_utils.c:106 +#, c-format +msgid "unrecognized sync method: %s" +msgstr "okänd synkmetod: %s" + +#: pg_checksums.c:70 #, c-format msgid "" "%s enables, disables, or verifies data checksums in a PostgreSQL database cluster.\n" @@ -56,17 +160,17 @@ msgstr "" "%s slår på, slår av eller verifierar datakontrollsummor i ett PostgreSQL databaskluster.\n" "\n" -#: pg_checksums.c:80 +#: pg_checksums.c:71 #, c-format msgid "Usage:\n" msgstr "Användning:\n" -#: pg_checksums.c:81 +#: pg_checksums.c:72 #, c-format msgid " %s [OPTION]... [DATADIR]\n" msgstr " %s [FLAGGA]... [DATAKATALOG]\n" -#: pg_checksums.c:82 +#: pg_checksums.c:73 #, c-format msgid "" "\n" @@ -75,57 +179,62 @@ msgstr "" "\n" "Flaggor:\n" -#: pg_checksums.c:83 +#: pg_checksums.c:74 #, c-format msgid " [-D, --pgdata=]DATADIR data directory\n" msgstr " [-D, --pgdata=]DATAKAT datakatalog\n" -#: pg_checksums.c:84 +#: pg_checksums.c:75 #, c-format msgid " -c, --check check data checksums (default)\n" msgstr " -c, --check kontrollera datakontrollsummor (standard)\n" -#: pg_checksums.c:85 +#: pg_checksums.c:76 #, c-format msgid " -d, --disable disable data checksums\n" msgstr " -d, --disable slå av datakontrollsummor\n" -#: pg_checksums.c:86 +#: pg_checksums.c:77 #, c-format msgid " -e, --enable enable data checksums\n" msgstr " -e, --enable slå på datakontrollsummor\n" -#: pg_checksums.c:87 +#: pg_checksums.c:78 #, c-format msgid " -f, --filenode=FILENODE check only relation with specified filenode\n" msgstr " -f, --filenode=FILNOD kontrollera bara relation med angiven filnod\n" -#: pg_checksums.c:88 +#: pg_checksums.c:79 #, c-format msgid " -N, --no-sync do not wait for changes to be written safely to disk\n" msgstr " -N, --no-sync vänta inte på att ändingar säkert skrivits till disk\n" -#: pg_checksums.c:89 +#: pg_checksums.c:80 #, c-format msgid " -P, --progress show progress information\n" msgstr " -P, --progress visa förloppsinformation\n" -#: pg_checksums.c:90 +#: pg_checksums.c:81 +#, c-format +msgid " --sync-method=METHOD set method for syncing files to disk\n" +msgstr " --sync-method=METOD sätt synkmetod för att synka filer till disk\n" + +#: pg_checksums.c:82 #, c-format msgid " -v, --verbose output verbose messages\n" msgstr " -v, --verbose visa utförliga meddelanden\n" -#: pg_checksums.c:91 +#: pg_checksums.c:83 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version visa versionsinformation, avsluta sedan\n" -#: pg_checksums.c:92 +#: pg_checksums.c:84 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help visa denna hjälp, avsluta sedan\n" -#: pg_checksums.c:93 +#: pg_checksums.c:85 #, c-format msgid "" "\n" @@ -138,192 +247,177 @@ msgstr "" "PGDATA för detta syfte.\n" "\n" -#: pg_checksums.c:95 +#: pg_checksums.c:87 #, c-format msgid "Report bugs to <%s>.\n" msgstr "Rapportera fel till <%s>.\n" -#: pg_checksums.c:96 +#: pg_checksums.c:88 #, c-format msgid "%s home page: <%s>\n" msgstr "hemsida för %s: <%s>\n" -#: pg_checksums.c:153 +#: pg_checksums.c:145 #, c-format msgid "%lld/%lld MB (%d%%) computed" msgstr "%lld/%lld MB (%d%%) beräknad" -#: pg_checksums.c:200 -#, c-format -msgid "could not open file \"%s\": %m" -msgstr "kunde inte öppna fil \"%s\": %m" - -#: pg_checksums.c:214 +#: pg_checksums.c:206 #, c-format msgid "could not read block %u in file \"%s\": %m" msgstr "kunde inte läsa block %u i fil \"%s\": %m" -#: pg_checksums.c:217 +#: pg_checksums.c:209 #, c-format msgid "could not read block %u in file \"%s\": read %d of %d" msgstr "kunde inte läsa block %u i fil \"%s\": läste %d av %d" -#: pg_checksums.c:240 +#: pg_checksums.c:232 #, c-format msgid "checksum verification failed in file \"%s\", block %u: calculated checksum %X but block contains %X" msgstr "verifiering av kontrollsumma misslyckades i fil \"%s\", block %u: beräknad kontrollsumma är %X men blocket innehåller %X" -#: pg_checksums.c:263 +#: pg_checksums.c:255 #, c-format msgid "seek failed for block %u in file \"%s\": %m" msgstr "seek misslyckades för block %u i fil \"%s\": %m" -#: pg_checksums.c:270 +#: pg_checksums.c:262 #, c-format msgid "could not write block %u in file \"%s\": %m" msgstr "kunde inte skriva block %u i fil \"%s\": %m" -#: pg_checksums.c:273 +#: pg_checksums.c:265 #, c-format msgid "could not write block %u in file \"%s\": wrote %d of %d" msgstr "kunde inte skriva block %u i fil \"%s\": skrev %d av %d" -#: pg_checksums.c:285 +#: pg_checksums.c:277 #, c-format msgid "checksums verified in file \"%s\"" msgstr "kontrollsummor verifierade i fil \"%s\"" -#: pg_checksums.c:287 +#: pg_checksums.c:279 #, c-format msgid "checksums enabled in file \"%s\"" msgstr "kontrollsummor påslagen i fil \"%s\"" -#: pg_checksums.c:318 -#, c-format -msgid "could not open directory \"%s\": %m" -msgstr "kunde inte öppna katalog \"%s\": %m" - -#: pg_checksums.c:342 pg_checksums.c:415 -#, c-format -msgid "could not stat file \"%s\": %m" -msgstr "kunde inte göra stat() på fil \"%s\": %m" - -#: pg_checksums.c:366 +#: pg_checksums.c:362 #, c-format msgid "invalid segment number %d in file name \"%s\"" msgstr "ogiltigt segmentnummer %d i filnamn \"%s\"" -#: pg_checksums.c:512 pg_checksums.c:528 pg_checksums.c:538 pg_checksums.c:546 +#: pg_checksums.c:509 pg_checksums.c:525 pg_checksums.c:535 pg_checksums.c:543 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Försök med \"%s --help\" för mer information." -#: pg_checksums.c:527 +#: pg_checksums.c:524 #, c-format msgid "no data directory specified" msgstr "ingen datakatalog angiven" -#: pg_checksums.c:536 +#: pg_checksums.c:533 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "för många kommandoradsargument (första är \"%s\")" -#: pg_checksums.c:545 +#: pg_checksums.c:542 #, c-format msgid "option -f/--filenode can only be used with --check" msgstr "inställningen -f/--filenode tillåts bara med --check" -#: pg_checksums.c:553 +#: pg_checksums.c:550 #, c-format msgid "pg_control CRC value is incorrect" msgstr "pg_control CRC-värde är inkorrekt" -#: pg_checksums.c:556 +#: pg_checksums.c:553 #, c-format msgid "cluster is not compatible with this version of pg_checksums" msgstr "klustret är inte kompatibelt med denna version av pg_checksums" -#: pg_checksums.c:560 +#: pg_checksums.c:557 #, c-format msgid "database cluster is not compatible" msgstr "databasklustret är inte kompatibelt" -#: pg_checksums.c:561 +#: pg_checksums.c:558 #, c-format msgid "The database cluster was initialized with block size %u, but pg_checksums was compiled with block size %u." msgstr "Databasklustret initierades med blockstorlek %u men pg_checksums kompilerades med blockstorlek %u." -#: pg_checksums.c:573 +#: pg_checksums.c:570 #, c-format msgid "cluster must be shut down" msgstr "klustret måste stängas ner" -#: pg_checksums.c:577 +#: pg_checksums.c:574 #, c-format msgid "data checksums are not enabled in cluster" msgstr "datakontrollsummor är inte påslaget i klustret" -#: pg_checksums.c:581 +#: pg_checksums.c:578 #, c-format msgid "data checksums are already disabled in cluster" msgstr "datakontrollsummor är redan avslaget i klustret" -#: pg_checksums.c:585 +#: pg_checksums.c:582 #, c-format msgid "data checksums are already enabled in cluster" msgstr "datakontrollsummor är redan påslagna i klustret" -#: pg_checksums.c:609 +#: pg_checksums.c:606 #, c-format msgid "Checksum operation completed\n" msgstr "Kontrollsummeoperation avslutad\n" -#: pg_checksums.c:610 +#: pg_checksums.c:607 #, c-format msgid "Files scanned: %lld\n" msgstr "Skannade filer: %lld\n" -#: pg_checksums.c:611 +#: pg_checksums.c:608 #, c-format msgid "Blocks scanned: %lld\n" msgstr "Skannade block: %lld\n" -#: pg_checksums.c:614 +#: pg_checksums.c:611 #, c-format msgid "Bad checksums: %lld\n" msgstr "Felaktiga kontrollsummor: %lld\n" -#: pg_checksums.c:615 pg_checksums.c:647 +#: pg_checksums.c:612 pg_checksums.c:644 #, c-format msgid "Data checksum version: %u\n" msgstr "Datakontrollsummeversion: %u\n" -#: pg_checksums.c:622 +#: pg_checksums.c:619 #, c-format msgid "Files written: %lld\n" msgstr "Skrivna filer: %lld\n" -#: pg_checksums.c:623 +#: pg_checksums.c:620 #, c-format msgid "Blocks written: %lld\n" msgstr "Skrivna block: %lld\n" -#: pg_checksums.c:639 +#: pg_checksums.c:636 #, c-format msgid "syncing data directory" msgstr "synkar datakatalogen" -#: pg_checksums.c:643 +#: pg_checksums.c:640 #, c-format msgid "updating control file" msgstr "uppdaterar kontrollfil" -#: pg_checksums.c:649 +#: pg_checksums.c:646 #, c-format msgid "Checksums enabled in cluster\n" msgstr "Kontrollsummor påslaget i klustret\n" -#: pg_checksums.c:651 +#: pg_checksums.c:648 #, c-format msgid "Checksums disabled in cluster\n" msgstr "Kontrollsummor avslaget i klustret\n" diff --git a/src/bin/pg_checksums/po/uk.po b/src/bin/pg_checksums/po/uk.po index f27bd1ec3e9..747d6867562 100644 --- a/src/bin/pg_checksums/po/uk.po +++ b/src/bin/pg_checksums/po/uk.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: postgresql\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-08-12 10:52+0000\n" -"PO-Revision-Date: 2023-09-05 10:04+0200\n" +"POT-Creation-Date: 2024-08-31 06:25+0000\n" +"PO-Revision-Date: 2024-09-23 19:38\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -14,8 +14,8 @@ msgstr "" "X-Crowdin-Project: postgresql\n" "X-Crowdin-Project-ID: 324573\n" "X-Crowdin-Language: uk\n" -"X-Crowdin-File: /REL_15_STABLE/pg_checksums.pot\n" -"X-Crowdin-File-ID: 888\n" +"X-Crowdin-File: /REL_17_STABLE/pg_checksums.pot\n" +"X-Crowdin-File-ID: 1000\n" #: ../../../src/common/logging.c:276 #, c-format @@ -37,6 +37,101 @@ msgstr "деталі: " msgid "hint: " msgstr "підказка: " +#: ../../common/controldata_utils.c:97 +#, c-format +msgid "could not open file \"%s\" for reading: %m" +msgstr "не вдалося відкрити файл \"%s\" для читання: %m" + +#: ../../common/controldata_utils.c:110 +#, 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 "не вдалося прочитати файл \"%s\": прочитано %d з %zu" + +#: ../../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, може не відповідати тому, який використовується цією програмою. У такому випадку результати нижче будуть неправильним, і інсталяція 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_checksums.c:192 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "не можливо відкрити файл \"%s\": %m" + +#: ../../common/controldata_utils.c:249 +#, 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 "не вдалося fsync файл \"%s\": %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 "неможливо дублювати нульовий покажчик (внутрішня помилка)\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 +#: pg_checksums.c:338 pg_checksums.c:407 +#, c-format +msgid "could not stat file \"%s\": %m" +msgstr "не вдалося отримати інформацію від файлу \"%s\": %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_checksums.c:310 +#, c-format +msgid "could not open directory \"%s\": %m" +msgstr "не вдалося відкрити каталог \"%s\": %m" + +#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 +#, 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" + #: ../../fe_utils/option_utils.c:69 #, c-format msgid "invalid value \"%s\" for option %s" @@ -47,282 +142,268 @@ msgstr "неприпустиме значення \"%s\" для параметр msgid "%s must be in range %d..%d" msgstr "%s має бути в діапазоні %d..%d" -#: pg_checksums.c:79 +#: ../../fe_utils/option_utils.c:106 #, c-format -msgid "" -"%s enables, disables, or verifies data checksums in a PostgreSQL database cluster.\n" -"\n" -msgstr "" -"%s активує, деактивує або перевіряє контрольні суми даних в кластері бази даних PostgreSQL.\n" -"\n" +msgid "unrecognized sync method: %s" +msgstr "нерозпізнаний метод синхронізації: %s" -#: pg_checksums.c:80 +#: pg_checksums.c:70 +#, c-format +msgid "%s enables, disables, or verifies data checksums in a PostgreSQL database cluster.\n\n" +msgstr "%s активує, деактивує або перевіряє контрольні суми даних в кластері бази даних PostgreSQL.\n\n" + +#: pg_checksums.c:71 #, c-format msgid "Usage:\n" msgstr "Використання:\n" -#: pg_checksums.c:81 +#: pg_checksums.c:72 #, c-format msgid " %s [OPTION]... [DATADIR]\n" msgstr " %s [OPTION]... [DATADIR]\n" -#: pg_checksums.c:82 +#: pg_checksums.c:73 #, c-format -msgid "" -"\n" +msgid "\n" "Options:\n" -msgstr "" -"\n" +msgstr "\n" "Параметри:\n" -#: pg_checksums.c:83 +#: pg_checksums.c:74 #, c-format msgid " [-D, --pgdata=]DATADIR data directory\n" -msgstr " [-D, --pgdata=]DATADIR каталог даних\n" +msgstr " [-D, --pgdata=]DATADIR каталог даних\n" -#: pg_checksums.c:84 +#: pg_checksums.c:75 #, c-format msgid " -c, --check check data checksums (default)\n" msgstr " -c, --check перевірити контрольні суми даних (за замовчуванням)\n" -#: pg_checksums.c:85 +#: pg_checksums.c:76 #, c-format msgid " -d, --disable disable data checksums\n" msgstr " -d, --disable вимкнути контрольні суми даних\n" -#: pg_checksums.c:86 +#: pg_checksums.c:77 #, c-format msgid " -e, --enable enable data checksums\n" msgstr " -e, --enable активувати контрольні суми даних\n" -#: pg_checksums.c:87 +#: pg_checksums.c:78 #, c-format msgid " -f, --filenode=FILENODE check only relation with specified filenode\n" -msgstr " -f, --filenode=FILENODE перевіряти відношення лише із вказаним файлом\n" +msgstr " -f, --filenode=FILENODE перевіряти відношення лише із вказаним файлом\n" -#: pg_checksums.c:88 +#: pg_checksums.c:79 #, c-format msgid " -N, --no-sync do not wait for changes to be written safely to disk\n" -msgstr " -N, --no-sync не чекати на безпечний запис змін на диск\n" +msgstr " -N, --no-sync не чекати на безпечний запис змін на диск\n" -#: pg_checksums.c:89 +#: pg_checksums.c:80 #, c-format msgid " -P, --progress show progress information\n" msgstr " -P, --progress показати інформацію про прогрес\n" -#: pg_checksums.c:90 +#: pg_checksums.c:81 +#, c-format +msgid " --sync-method=METHOD set method for syncing files to disk\n" +msgstr " --sync-method=METHOD встановити метод синхронізації файлів на диск\n" + +#: pg_checksums.c:82 #, c-format msgid " -v, --verbose output verbose messages\n" -msgstr " -v, --verbose виводити детальні повідомлення\n" +msgstr " -v, --verbose виводити детальні повідомлення\n" -#: pg_checksums.c:91 +#: pg_checksums.c:83 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version вивести інформацію про версію, потім вийти\n" -#: pg_checksums.c:92 +#: pg_checksums.c:84 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help показати цю довідку, потім вийти\n" -#: pg_checksums.c:93 +#: pg_checksums.c:85 #, c-format -msgid "" -"\n" +msgid "\n" "If no data directory (DATADIR) is specified, the environment variable PGDATA\n" -"is used.\n" -"\n" -msgstr "" -"\n" -"Якщо каталог даних не вказано (DATADIR), використовується змінна середовища PGDATA.\n" -"\n" +"is used.\n\n" +msgstr "\n" +"Якщо каталог даних не вказано (DATADIR), використовується змінна середовища PGDATA.\n\n" -#: pg_checksums.c:95 +#: pg_checksums.c:87 #, c-format msgid "Report bugs to <%s>.\n" msgstr "Повідомляти про помилки на <%s>.\n" -#: pg_checksums.c:96 +#: pg_checksums.c:88 #, c-format msgid "%s home page: <%s>\n" msgstr "Домашня сторінка %s: <%s>\n" -#: pg_checksums.c:153 +#: pg_checksums.c:145 #, c-format msgid "%lld/%lld MB (%d%%) computed" msgstr "%lld/%lld MB (%d%%) обчислено" -#: pg_checksums.c:200 -#, c-format -msgid "could not open file \"%s\": %m" -msgstr "не можливо відкрити файл \"%s\": %m" - -#: pg_checksums.c:214 +#: pg_checksums.c:206 #, c-format msgid "could not read block %u in file \"%s\": %m" msgstr "не вдалося прочитати блок %u в файлі \"%s\": %m" -#: pg_checksums.c:217 +#: pg_checksums.c:209 #, c-format msgid "could not read block %u in file \"%s\": read %d of %d" msgstr "не вдалося прочитати блок %u у файлі \"%s\": прочитано %d з %d" -#: pg_checksums.c:240 +#: pg_checksums.c:232 #, c-format msgid "checksum verification failed in file \"%s\", block %u: calculated checksum %X but block contains %X" msgstr "помилка перевірки контрольних сум у файлі \"%s\", блок %u: обчислена контрольна сума %X, але блок містить %X" -#: pg_checksums.c:263 +#: pg_checksums.c:255 #, c-format msgid "seek failed for block %u in file \"%s\": %m" msgstr "помилка пошуку для блоку %u у файлі \"%s\": %m" -#: pg_checksums.c:270 +#: pg_checksums.c:262 #, c-format msgid "could not write block %u in file \"%s\": %m" msgstr "не вдалося записати блок %u у файл \"%s\": %m" -#: pg_checksums.c:273 +#: pg_checksums.c:265 #, c-format msgid "could not write block %u in file \"%s\": wrote %d of %d" msgstr "не вдалося записати блок %u у файлі \"%s\": записано %d з %d" -#: pg_checksums.c:285 +#: pg_checksums.c:277 #, c-format msgid "checksums verified in file \"%s\"" msgstr "контрольні суми у файлі \"%s\" перевірені" -#: pg_checksums.c:287 +#: pg_checksums.c:279 #, c-format msgid "checksums enabled in file \"%s\"" msgstr "контрольні суми у файлі \"%s\" активовані" -#: pg_checksums.c:318 -#, c-format -msgid "could not open directory \"%s\": %m" -msgstr "не вдалося відкрити каталог \"%s\": %m" - -#: pg_checksums.c:342 pg_checksums.c:415 -#, c-format -msgid "could not stat file \"%s\": %m" -msgstr "не вдалося отримати інформацію від файлу \"%s\": %m" - -#: pg_checksums.c:366 +#: pg_checksums.c:362 #, c-format msgid "invalid segment number %d in file name \"%s\"" msgstr "неприпустимий номер сегменту %d в імені файлу \"%s\"" -#: pg_checksums.c:512 pg_checksums.c:528 pg_checksums.c:538 pg_checksums.c:546 +#: pg_checksums.c:509 pg_checksums.c:525 pg_checksums.c:535 pg_checksums.c:543 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Спробуйте \"%s --help\" для додаткової інформації." -#: pg_checksums.c:527 +#: pg_checksums.c:524 #, c-format msgid "no data directory specified" msgstr "каталог даних не вказано" -#: pg_checksums.c:536 +#: pg_checksums.c:533 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "забагато аргументів у командному рядку (перший \"%s\")" -#: pg_checksums.c:545 +#: pg_checksums.c:542 #, c-format msgid "option -f/--filenode can only be used with --check" msgstr "параметр -f/--filenode може бути використаний тільки з --check" -#: pg_checksums.c:553 +#: pg_checksums.c:550 #, c-format msgid "pg_control CRC value is incorrect" msgstr "значення CRC pg_control неправильне" -#: pg_checksums.c:556 +#: pg_checksums.c:553 #, c-format msgid "cluster is not compatible with this version of pg_checksums" msgstr "кластер не сумісний з цією версією pg_checksum" -#: pg_checksums.c:560 +#: pg_checksums.c:557 #, c-format msgid "database cluster is not compatible" msgstr "кластер бази даних не сумісний" -#: pg_checksums.c:561 +#: pg_checksums.c:558 #, c-format msgid "The database cluster was initialized with block size %u, but pg_checksums was compiled with block size %u." msgstr "Кластер бази даних було ініціалізовано з розміром блоку %u, але pg_checksums було скомпільовано з розміром блоку %u." -#: pg_checksums.c:573 +#: pg_checksums.c:570 #, c-format msgid "cluster must be shut down" msgstr "кластер повинен бути закритий" -#: pg_checksums.c:577 +#: pg_checksums.c:574 #, c-format msgid "data checksums are not enabled in cluster" msgstr "контрольні суми в кластері неактивовані" -#: pg_checksums.c:581 +#: pg_checksums.c:578 #, c-format msgid "data checksums are already disabled in cluster" msgstr "контрольні суми вже неактивовані в кластері" -#: pg_checksums.c:585 +#: pg_checksums.c:582 #, c-format msgid "data checksums are already enabled in cluster" msgstr "контрольні суми вже активовані в кластері" -#: pg_checksums.c:609 +#: pg_checksums.c:606 #, c-format msgid "Checksum operation completed\n" msgstr "Операція контрольної суми завершена\n" -#: pg_checksums.c:610 +#: pg_checksums.c:607 #, c-format msgid "Files scanned: %lld\n" msgstr "Файлів проскановано: %lld\n" -#: pg_checksums.c:611 +#: pg_checksums.c:608 #, c-format msgid "Blocks scanned: %lld\n" msgstr "Блоків відскановано: %lld\n" -#: pg_checksums.c:614 +#: pg_checksums.c:611 #, c-format msgid "Bad checksums: %lld\n" msgstr "Помилкові контрольні суми: %lld\n" -#: pg_checksums.c:615 pg_checksums.c:647 +#: pg_checksums.c:612 pg_checksums.c:644 #, c-format msgid "Data checksum version: %u\n" msgstr "Версія контрольних сум даних: %u\n" -#: pg_checksums.c:622 +#: pg_checksums.c:619 #, c-format msgid "Files written: %lld\n" msgstr "Файлів записано: %lld\n" -#: pg_checksums.c:623 +#: pg_checksums.c:620 #, c-format msgid "Blocks written: %lld\n" msgstr "Блоків записано: %lld\n" -#: pg_checksums.c:639 +#: pg_checksums.c:636 #, c-format msgid "syncing data directory" msgstr "синхронізація даних каталогу" -#: pg_checksums.c:643 +#: pg_checksums.c:640 #, c-format msgid "updating control file" msgstr "оновлення контрольного файлу" -#: pg_checksums.c:649 +#: pg_checksums.c:646 #, c-format msgid "Checksums enabled in cluster\n" msgstr "Контрольні суми активовані в кластері\n" -#: pg_checksums.c:651 +#: pg_checksums.c:648 #, c-format msgid "Checksums disabled in cluster\n" msgstr "Контрольні суми вимкнені у кластері\n" + diff --git a/src/bin/pg_combinebackup/meson.build b/src/bin/pg_combinebackup/meson.build index d142608e949..550d3503269 100644 --- a/src/bin/pg_combinebackup/meson.build +++ b/src/bin/pg_combinebackup/meson.build @@ -36,6 +36,7 @@ tests += { 't/006_db_file_copy.pl', 't/007_wal_level_minimal.pl', 't/008_promote.pl', + 't/009_no_full_file.pl', ], } } diff --git a/src/bin/pg_combinebackup/pg_combinebackup.c b/src/bin/pg_combinebackup/pg_combinebackup.c index 986a256dea5..a29ed23f3e4 100644 --- a/src/bin/pg_combinebackup/pg_combinebackup.c +++ b/src/bin/pg_combinebackup/pg_combinebackup.c @@ -337,7 +337,7 @@ main(int argc, char *argv[]) * won't have the WAL ranges for the resulting manifest. */ if (manifests[n_prior_backups] == NULL) - pg_fatal("can't generate a manifest because no manifest is available for the final input backup"); + pg_fatal("cannot generate a manifest because no manifest is available for the final input backup"); } else mwriter = NULL; @@ -655,7 +655,7 @@ check_control_files(int n_backups, char **backup_dirs) if (data_checksum_mismatch) { pg_log_warning("only some backups have checksums enabled"); - pg_log_warning_hint("disable, and optionally reenable, checksums on the output directory to avoid failures"); + pg_log_warning_hint("Disable, and optionally reenable, checksums on the output directory to avoid failures."); } return system_identifier; @@ -766,9 +766,9 @@ help(const char *progname) printf(_(" -o, --output=DIRECTORY output directory\n")); printf(_(" -T, --tablespace-mapping=OLDDIR=NEWDIR\n" " relocate tablespace in OLDDIR to NEWDIR\n")); - printf(_(" --clone clone (reflink) instead of copying files\n")); + printf(_(" --clone clone (reflink) files instead of copying\n")); printf(_(" --copy copy files (default)\n")); - printf(_(" --copy-file-range copy using copy_file_range() syscall\n")); + printf(_(" --copy-file-range copy using copy_file_range() system call\n")); printf(_(" --manifest-checksums=SHA{224,256,384,512}|CRC32C|NONE\n" " use algorithm for manifest checksums\n")); printf(_(" --no-manifest suppress generation of backup manifest\n")); @@ -1070,7 +1070,7 @@ process_directory_recursively(Oid tsoid, */ bmpath = psprintf("%s/%s", input_directory, "backup_manifest"); - pg_log_warning("\"%s\" contains no entry for \"%s\"", + pg_log_warning("manifest file \"%s\" contains no entry for file \"%s\"", bmpath, manifest_path); pfree(bmpath); } diff --git a/src/bin/pg_combinebackup/po/LINGUAS b/src/bin/pg_combinebackup/po/LINGUAS index c675cfe1c72..65039cd250d 100644 --- a/src/bin/pg_combinebackup/po/LINGUAS +++ b/src/bin/pg_combinebackup/po/LINGUAS @@ -1 +1 @@ -de ja ka +de es fr ja ka ru sv uk diff --git a/src/bin/pg_combinebackup/po/de.po b/src/bin/pg_combinebackup/po/de.po index 8a6b57b9db4..a5f9c067521 100644 --- a/src/bin/pg_combinebackup/po/de.po +++ b/src/bin/pg_combinebackup/po/de.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_combinebackup (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-06-21 16:52+0000\n" -"PO-Revision-Date: 2024-06-22 09:58+0200\n" +"POT-Creation-Date: 2024-11-07 13:52+0000\n" +"PO-Revision-Date: 2024-11-07 15:31+0100\n" "Last-Translator: Peter Eisentraut \n" "Language-Team: German \n" "Language: de\n" @@ -40,8 +40,8 @@ msgstr "Tipp: " msgid "could not open file \"%s\" for reading: %m" msgstr "konnte Datei »%s« nicht zum Lesen öffnen: %m" -#: ../../common/controldata_utils.c:110 copy_file.c:146 load_manifest.c:161 -#: load_manifest.c:199 pg_combinebackup.c:1387 reconstruct.c:527 +#: ../../common/controldata_utils.c:110 copy_file.c:150 load_manifest.c:161 +#: load_manifest.c:199 pg_combinebackup.c:1400 reconstruct.c:540 #, c-format msgid "could not read file \"%s\": %m" msgstr "konnte Datei »%s« nicht lesen: %m" @@ -52,8 +52,8 @@ msgid "could not read file \"%s\": read %d of %zu" msgstr "konnte Datei »%s« nicht lesen: %d von %zu gelesen" #: ../../common/controldata_utils.c:132 ../../common/controldata_utils.c:280 -#: backup_label.c:174 copy_file.c:64 pg_combinebackup.c:526 -#: pg_combinebackup.c:1162 reconstruct.c:356 reconstruct.c:727 +#: backup_label.c:174 copy_file.c:68 pg_combinebackup.c:538 +#: pg_combinebackup.c:1175 reconstruct.c:369 reconstruct.c:740 #: write_manifest.c:187 #, c-format msgid "could not close file \"%s\": %m" @@ -79,16 +79,16 @@ msgstr "" #: ../../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 backup_label.c:143 copy_file.c:62 -#: copy_file.c:135 copy_file.c:167 copy_file.c:171 copy_file.c:218 -#: copy_file.c:258 load_manifest.c:128 pg_combinebackup.c:511 -#: pg_combinebackup.c:1154 reconstruct.c:510 reconstruct.c:625 +#: ../../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 #: 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:746 +#: ../../common/controldata_utils.c:249 backup_label.c:160 reconstruct.c:759 #: write_manifest.c:260 #, c-format msgid "could not write file \"%s\": %m" @@ -136,9 +136,9 @@ msgid "could not synchronize file system for file \"%s\": %m" msgstr "konnte Dateisystem für Datei »%s« nicht synchronisieren: %m" #: ../../common/file_utils.c:120 ../../common/file_utils.c:566 -#: backup_label.c:187 load_manifest.c:133 pg_combinebackup.c:664 -#: pg_combinebackup.c:1118 pg_combinebackup.c:1370 reconstruct.c:199 -#: reconstruct.c:408 +#: 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 #, c-format msgid "could not stat file \"%s\": %m" msgstr "konnte »stat« für Datei »%s« nicht ausführen: %m" @@ -150,7 +150,7 @@ msgid "this build does not support sync method \"%s\"" msgstr "diese Installation unterstützt Sync-Methode »%s« nicht" #: ../../common/file_utils.c:151 ../../common/file_utils.c:281 -#: pg_combinebackup.c:920 pg_combinebackup.c:1243 +#: pg_combinebackup.c:933 pg_combinebackup.c:1256 #, c-format msgid "could not open directory \"%s\": %m" msgstr "konnte Verzeichnis »%s« nicht öffnen: %m" @@ -324,7 +324,7 @@ msgid "unexpected manifest version" msgstr "unerwartete Manifestversion" #: ../../common/parse_manifest.c:637 -msgid "manifest system identifier not an integer" +msgid "system identifier in manifest not an integer" msgstr "Systemidentifikator im Manifest ist keine ganze Zahl" #: ../../common/parse_manifest.c:662 @@ -351,7 +351,7 @@ msgstr "konnte Dateinamen nicht dekodieren" msgid "file size is not an integer" msgstr "Dateigröße ist keine ganze Zahl" -#: ../../common/parse_manifest.c:700 pg_combinebackup.c:190 +#: ../../common/parse_manifest.c:700 pg_combinebackup.c:199 #, c-format msgid "unrecognized checksum algorithm: \"%s\"" msgstr "unbekannter Prüfsummenalgorithmus: »%s«" @@ -463,63 +463,63 @@ msgstr "%s: konnte %s nicht finden" msgid "%s: %s requires %s" msgstr "%s: %s benötigt %s" -#: backup_label.c:162 reconstruct.c:748 write_manifest.c:262 +#: backup_label.c:162 reconstruct.c:761 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:142 copy_file.c:189 reconstruct.c:708 -#: reconstruct.c:754 write_manifest.c:270 +#: backup_label.c:166 copy_file.c:146 copy_file.c:193 reconstruct.c:721 +#: reconstruct.c:767 write_manifest.c:270 #, c-format msgid "could not update checksum of file \"%s\"" msgstr "konnte Prüfsumme der Datei »%s« nicht aktualisieren" -#: copy_file.c:182 +#: copy_file.c:186 #, c-format msgid "could not write to file \"%s\": %m" msgstr "konnte nicht in Datei »%s« schreiben: %m" -#: copy_file.c:184 +#: copy_file.c:188 #, c-format 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:195 reconstruct.c:771 +#: copy_file.c:199 reconstruct.c:784 #, c-format msgid "could not read from file \"%s\": %m" msgstr "konnte nicht aus Datei »%s« lesen: %m" -#: copy_file.c:214 +#: copy_file.c:218 #, c-format msgid "error while cloning file \"%s\" to \"%s\": %m" msgstr "Fehler beim Klonen von Datei »%s« nach »%s«: %m" -#: copy_file.c:222 copy_file.c:262 +#: copy_file.c:229 copy_file.c:272 #, c-format msgid "could not create file \"%s\": %m" msgstr "konnte Datei »%s« nicht erstellen: %m" -#: copy_file.c:230 +#: copy_file.c:237 #, c-format msgid "error while cloning file \"%s\" to \"%s\": %s" msgstr "Fehler beim Klonen von Datei »%s« nach »%s«: %s" -#: copy_file.c:235 pg_combinebackup.c:239 +#: copy_file.c:245 pg_combinebackup.c:251 #, c-format msgid "file cloning not supported on this platform" msgstr "Klonen von Dateien wird auf dieser Plattform nicht unterstützt" -#: copy_file.c:268 reconstruct.c:691 +#: copy_file.c:278 reconstruct.c:704 #, 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:275 pg_combinebackup.c:252 reconstruct.c:711 +#: copy_file.c:285 pg_combinebackup.c:264 reconstruct.c:724 #, c-format msgid "copy_file_range not supported on this platform" msgstr "copy_file_range wird auf dieser Plattform nicht unterstützt" -#: copy_file.c:290 +#: copy_file.c:300 #, c-format msgid "could not copy file \"%s\" to \"%s\": %m" msgstr "konnte Datei »%s« nicht nach »%s« kopieren: %m" @@ -549,137 +549,137 @@ msgstr "Backup-Manifest Version 1 unterstützt kein inkrementelles Backup" msgid "duplicate path name in backup manifest: \"%s\"" msgstr "doppelter Pfadname im Backup-Manifest: »%s«" -#: pg_combinebackup.c:208 pg_combinebackup.c:216 +#: pg_combinebackup.c:220 pg_combinebackup.c:228 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Versuchen Sie »%s --help« für weitere Informationen." -#: pg_combinebackup.c:215 +#: pg_combinebackup.c:227 #, c-format msgid "no input directories specified" msgstr "keine Eingabeverzeichnisse angegeben" -#: pg_combinebackup.c:221 +#: pg_combinebackup.c:233 #, c-format msgid "no output directory specified" msgstr "kein Ausgabeverzeichnis angegeben" -#: pg_combinebackup.c:289 +#: pg_combinebackup.c:301 #, c-format msgid "%s: manifest system identifier is %llu, but control file has %llu" msgstr "%s: Systemidentifikator im Manifest ist %llu, aber Kontrolldatei hat %llu" -#: pg_combinebackup.c:328 +#: pg_combinebackup.c:340 #, c-format -msgid "can't generate a manifest because no manifest is available for the final input backup" +msgid "cannot generate a manifest because no manifest is available for the final input backup" msgstr "kann kein Manifest erzeugen, weil kein Manifest für das letzte Eingabe-Backup verfügbar ist" -#: pg_combinebackup.c:375 +#: pg_combinebackup.c:387 #, c-format msgid "could not create symbolic link from \"%s\" to \"%s\": %m" msgstr "konnte symbolische Verknüpfung von »%s« nach »%s« nicht erzeugen: %m" -#: pg_combinebackup.c:387 pg_combinebackup.c:718 pg_combinebackup.c:914 +#: pg_combinebackup.c:399 pg_combinebackup.c:730 pg_combinebackup.c:927 #, c-format msgid "could not create directory \"%s\": %m" msgstr "konnte Verzeichnis »%s« nicht erzeugen: %m" -#: pg_combinebackup.c:442 +#: pg_combinebackup.c:454 #, c-format msgid "directory name too long" msgstr "Verzeichnisname zu lang" -#: pg_combinebackup.c:449 +#: pg_combinebackup.c:461 #, c-format msgid "multiple \"=\" signs in tablespace mapping" msgstr "mehrere »=«-Zeichen im Tablespace-Mapping" -#: pg_combinebackup.c:457 +#: pg_combinebackup.c:469 #, c-format 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:468 pg_combinebackup.c:472 +#: pg_combinebackup.c:480 pg_combinebackup.c:484 #, 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:541 +#: pg_combinebackup.c:553 #, c-format msgid "backup at \"%s\" is a full backup, but only the first backup should be a full backup" msgstr "Backup in »%s« ist ein volles Backup, aber nur das erste Backup sollte ein volles Backup sein" -#: pg_combinebackup.c:544 +#: pg_combinebackup.c:556 #, c-format msgid "backup at \"%s\" is an incremental backup, but the first backup should be a full backup" msgstr "Backup in »%s« ist ein inkrementelles Backup, aber das erste Backup sollte ein volles Backup sein" -#: pg_combinebackup.c:547 +#: pg_combinebackup.c:559 #, c-format msgid "backup at \"%s\" starts on timeline %u, but expected %u" msgstr "Backup in »%s« startet auf Zeitleiste %u, aber %u wurde erwartet" -#: pg_combinebackup.c:550 +#: pg_combinebackup.c:562 #, c-format msgid "backup at \"%s\" starts at LSN %X/%X, but expected %X/%X" msgstr "Backup in »%s« startet bei LSN %X/%X, aber %X/%X wurde erwartet" -#: pg_combinebackup.c:602 +#: pg_combinebackup.c:614 #, c-format msgid "%s: CRC is incorrect" msgstr "%s: CRC ist falsch" -#: pg_combinebackup.c:606 +#: pg_combinebackup.c:618 #, c-format msgid "%s: unexpected control file version" msgstr "%s: unerwartete Kontrolldateiversion" -#: pg_combinebackup.c:613 +#: pg_combinebackup.c:625 #, c-format msgid "%s: expected system identifier %llu, but found %llu" msgstr "%s: Systemidentifikator %llu erwartet, aber %llu gefunden" -#: pg_combinebackup.c:645 +#: pg_combinebackup.c:657 #, c-format msgid "only some backups have checksums enabled" msgstr "nur einige Sicherungen haben Prüfsummen aktiviert" -#: pg_combinebackup.c:646 +#: pg_combinebackup.c:658 #, c-format -msgid "disable, and optionally reenable, checksums on the output directory to avoid failures" -msgstr "schalten Sie für das Ausgabeverzeichnis Prüfsummen aus, und optional wieder an, um Fehler zu vermeiden" +msgid "Disable, and optionally reenable, checksums on the output directory to avoid failures." +msgstr "Schalten Sie für das Ausgabeverzeichnis Prüfsummen aus, und optional wieder an, um Fehler zu vermeiden." -#: pg_combinebackup.c:681 +#: pg_combinebackup.c:693 #, c-format msgid "removing output directory \"%s\"" msgstr "Ausgabeverzeichnis »%s« wird entfernt" -#: pg_combinebackup.c:683 +#: pg_combinebackup.c:695 #, c-format msgid "failed to remove output directory" msgstr "konnte Ausgabeverzeichnis nicht entfernen" -#: pg_combinebackup.c:687 +#: pg_combinebackup.c:699 #, c-format msgid "removing contents of output directory \"%s\"" msgstr "entferne Inhalt des Ausgabeverzeichnisses »%s«" -#: pg_combinebackup.c:690 +#: pg_combinebackup.c:702 #, c-format msgid "failed to remove contents of output directory" msgstr "konnte Inhalt des Ausgabeverzeichnisses nicht entfernen" -#: pg_combinebackup.c:730 +#: pg_combinebackup.c:742 #, c-format msgid "directory \"%s\" exists but is not empty" msgstr "Verzeichnis »%s« existiert aber ist nicht leer" -#: pg_combinebackup.c:733 +#: pg_combinebackup.c:745 #, c-format msgid "could not access directory \"%s\": %m" msgstr "konnte nicht auf Verzeichnis »%s« zugreifen: %m" -#: pg_combinebackup.c:747 +#: pg_combinebackup.c:759 #, c-format msgid "" "%s reconstructs full backups from incrementals.\n" @@ -688,17 +688,17 @@ msgstr "" "%s rekonstruiert volle Backups aus inkrementellen.\n" "\n" -#: pg_combinebackup.c:748 +#: pg_combinebackup.c:760 #, c-format msgid "Usage:\n" msgstr "Aufruf:\n" -#: pg_combinebackup.c:749 +#: pg_combinebackup.c:761 #, c-format msgid " %s [OPTION]... DIRECTORY...\n" msgstr " %s [OPTION]... VERZEICHNIS...\n" -#: pg_combinebackup.c:750 +#: pg_combinebackup.c:762 #, c-format msgid "" "\n" @@ -707,29 +707,29 @@ msgstr "" "\n" "Optionen:\n" -#: pg_combinebackup.c:751 +#: pg_combinebackup.c:763 #, c-format msgid " -d, --debug generate lots of debugging output\n" msgstr " -d, --debug erzeuge eine Menge Debug-Ausgaben\n" -#: pg_combinebackup.c:752 +#: pg_combinebackup.c:764 #, c-format msgid " -n, --dry-run do not actually do anything\n" msgstr " -n, --dry-run nichts wirklich ausführen\n" -#: pg_combinebackup.c:753 +#: pg_combinebackup.c:765 #, c-format msgid " -N, --no-sync do not wait for changes to be written safely to disk\n" msgstr "" " -N, --no-sync nicht warten, bis Änderungen sicher auf Festplatte\n" " geschrieben sind\n" -#: pg_combinebackup.c:754 +#: pg_combinebackup.c:766 #, c-format msgid " -o, --output=DIRECTORY output directory\n" msgstr " -o, --output=VERZEICHNIS Ausgabeverzeichnis\n" -#: pg_combinebackup.c:755 +#: pg_combinebackup.c:767 #, c-format msgid "" " -T, --tablespace-mapping=OLDDIR=NEWDIR\n" @@ -738,17 +738,22 @@ msgstr "" " -T, --tablespace-mapping=ALTES_VERZ=NEUES_VERZ\n" " Tablespace in ALTES_VERZ nach NEUES_VERZ verlagern\n" -#: pg_combinebackup.c:757 +#: pg_combinebackup.c:769 #, c-format -msgid " --clone clone (reflink) instead of copying files\n" +msgid " --clone clone (reflink) files instead of copying\n" msgstr " --clone Dateien klonen (reflink) statt kopieren\n" -#: pg_combinebackup.c:758 +#: pg_combinebackup.c:770 +#, c-format +msgid " --copy copy files (default)\n" +msgstr " --copy Dateien kopieren (Voreinstellung)\n" + +#: pg_combinebackup.c:771 #, c-format -msgid " --copy-file-range copy using copy_file_range() syscall\n" +msgid " --copy-file-range copy using copy_file_range() system call\n" msgstr " --copy-file-range mit Systemaufruf copy_file_range() kopieren\n" -#: pg_combinebackup.c:759 +#: pg_combinebackup.c:772 #, c-format msgid "" " --manifest-checksums=SHA{224,256,384,512}|CRC32C|NONE\n" @@ -757,29 +762,29 @@ msgstr "" " --manifest-checksums=SHA{224,256,384,512}|CRC32C|NONE\n" " Algorithmus für Manifest-Prüfsummen\n" -#: pg_combinebackup.c:761 +#: pg_combinebackup.c:774 #, c-format msgid " --no-manifest suppress generation of backup manifest\n" msgstr " --no-manifest Erzeugen des Backup-Manifests unterbinden\n" -#: pg_combinebackup.c:762 +#: pg_combinebackup.c:775 #, c-format msgid " --sync-method=METHOD set method for syncing files to disk\n" msgstr "" " --sync-method=METHODE Methode zum Synchronisieren vond Dateien auf\n" " Festplatte setzen\n" -#: pg_combinebackup.c:763 +#: pg_combinebackup.c:776 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version Versionsinformationen anzeigen, dann beenden\n" -#: pg_combinebackup.c:764 +#: pg_combinebackup.c:777 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help diese Hilfe anzeigen, dann beenden\n" -#: pg_combinebackup.c:766 +#: pg_combinebackup.c:779 #, c-format msgid "" "\n" @@ -788,107 +793,107 @@ msgstr "" "\n" "Berichten Sie Fehler an <%s>.\n" -#: pg_combinebackup.c:767 +#: pg_combinebackup.c:780 #, c-format msgid "%s home page: <%s>\n" msgstr "%s Homepage: <%s>\n" -#: pg_combinebackup.c:982 +#: pg_combinebackup.c:995 #, c-format msgid "skipping symbolic link \"%s\"" msgstr "überspringe symbolische Verknüpfung »%s«" -#: pg_combinebackup.c:984 +#: pg_combinebackup.c:997 #, c-format msgid "skipping special file \"%s\"" msgstr "überspringe besondere Datei »%s«" -#: pg_combinebackup.c:1060 +#: pg_combinebackup.c:1073 reconstruct.c:305 #, c-format -msgid "\"%s\" contains no entry for \"%s\"" -msgstr "»%s« enthält keinen Eintrag für »%s«" +msgid "manifest file \"%s\" contains no entry for file \"%s\"" +msgstr "Manifestdatei »%s« enthält keinen Eintrag für Datei »%s«" -#: pg_combinebackup.c:1176 +#: pg_combinebackup.c:1189 #, c-format msgid "%s: server version too old" msgstr "%s: Serverversion zu alt" -#: pg_combinebackup.c:1177 +#: pg_combinebackup.c:1190 #, c-format msgid "%s: could not parse version number" msgstr "%s: konnte Versionsnummer nicht parsen" -#: pg_combinebackup.c:1296 +#: pg_combinebackup.c:1309 #, c-format msgid "could not read symbolic link \"%s\": %m" msgstr "konnte symbolische Verknüpfung »%s« nicht lesen: %m" -#: pg_combinebackup.c:1299 +#: pg_combinebackup.c:1312 #, c-format msgid "target of symbolic link \"%s\" is too long" msgstr "Ziel der symbolischen Verknüpfung »%s« ist zu lang" -#: pg_combinebackup.c:1302 +#: pg_combinebackup.c:1315 #, c-format msgid "target of symbolic link \"%s\" is relative" msgstr "Ziel der symbolischen Verknüpfung »%s« ist relativ" -#: pg_combinebackup.c:1324 +#: pg_combinebackup.c:1337 #, c-format msgid "tablespace at \"%s\" has no tablespace mapping" msgstr "Tablespace in »%s« hat kein Tablespace-Mapping" -#: pg_combinebackup.c:1342 +#: pg_combinebackup.c:1355 #, c-format msgid "tablespaces with OIDs %u and %u both point at directory \"%s\"" msgstr "die Tablespaces mit OIDs %u und %u zeigen beide auf Verzeichnis »%s«" -#: pg_combinebackup.c:1351 +#: pg_combinebackup.c:1364 #, c-format msgid "could not close directory \"%s\": %m" msgstr "konnte Verzeichnis »%s« nicht schließen: %m" -#: pg_combinebackup.c:1372 +#: pg_combinebackup.c:1385 #, c-format msgid "file \"%s\" is too large" msgstr "Datei »%s« ist zu groß" -#: pg_combinebackup.c:1389 +#: pg_combinebackup.c:1402 #, c-format msgid "could not read file \"%s\": read %zd of %lld" msgstr "konnte Datei »%s« nicht lesen: %zd von %lld gelesen" -#: reconstruct.c:300 +#: reconstruct.c:339 #, c-format -msgid "manifest file \"%s\" contains no entry for file \"%s\"" -msgstr "Manifestdatei »%s« enthält keinen Eintrag für Datei »%s«" +msgid "full backup contains unexpected incremental file \"%s\"" +msgstr "volles Backup enthält unerwartete inkrementelle Datei »%s«" -#: reconstruct.c:410 +#: reconstruct.c:423 #, c-format msgid "file \"%s\" is too short: expected %llu, found %llu" msgstr "Datei »%s« ist zu kurz: %llu erwartet, %llu gefunden" -#: reconstruct.c:452 +#: reconstruct.c:465 #, c-format -msgid "file \"%s\" has bad incremental magic number (0x%x not 0x%x)" -msgstr "Datei »%s« hat falsche magische Zahl für inkrementelles Backup (0x%x, nicht 0x%x)" +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:458 +#: reconstruct.c:471 #, 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:465 +#: reconstruct.c:478 #, 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:529 +#: reconstruct.c:542 #, c-format msgid "could not read file \"%s\": read %d of %u" msgstr "konnte Datei »%s« nicht lesen: %d von %u gelesen" -#: reconstruct.c:773 +#: reconstruct.c:786 #, 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 --git a/src/bin/pg_combinebackup/po/es.po b/src/bin/pg_combinebackup/po/es.po new file mode 100644 index 00000000000..bcfa5ce626d --- /dev/null +++ b/src/bin/pg_combinebackup/po/es.po @@ -0,0 +1,900 @@ +# Spanish translation file for pg_combinebackup +# +# Copyright (c) 2024, PostgreSQL Global Development Group +# This file is distributed under the same license as the PostgreSQL package. +# +# Alvaro Herrera , 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: pg_combinebackup (PostgreSQL) 17\n" +"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" +"POT-Creation-Date: 2024-08-01 11:22+0000\n" +"PO-Revision-Date: 2024-08-04 22:45-0400\n" +"Last-Translator: Álvaro Herrera \n" +"Language-Team: PgSQL-es-Ayuda \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: BlackCAT 1.1\n" + +#: ../../../src/common/logging.c:276 +#, c-format +msgid "error: " +msgstr "error: " + +#: ../../../src/common/logging.c:283 +#, c-format +msgid "warning: " +msgstr "precaución: " + +#: ../../../src/common/logging.c:294 +#, c-format +msgid "detail: " +msgstr "detalle: " + +#: ../../../src/common/logging.c:301 +#, c-format +msgid "hint: " +msgstr "consejo: " + +#: ../../common/controldata_utils.c:97 +#, 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 copy_file.c:150 load_manifest.c:161 +#: load_manifest.c:199 pg_combinebackup.c:1400 reconstruct.c:527 +#, c-format +msgid "could not read file \"%s\": %m" +msgstr "no se pudo leer el archivo «%s»: %m" + +#: ../../common/controldata_utils.c:119 +#, c-format +msgid "could not read file \"%s\": read %d of %zu" +msgstr "no se pudo leer el archivo «%s»: leídos %d de %zu" + +#: ../../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:356 reconstruct.c:727 +#: write_manifest.c:187 +#, c-format +msgid "could not close file \"%s\": %m" +msgstr "no se pudo cerrar el archivo «%s»: %m" + +#: ../../common/controldata_utils.c:168 +msgid "byte ordering mismatch" +msgstr "discordancia en orden de bytes" + +#: ../../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 "" +"posible discordancia en orden de bytes\n" +"El ordenamiento de bytes usado para almacenar el archivo pg_control puede no\n" +"coincidir con el usado por este programa. En tal caso los resultados de abajo\n" +"serían erróneos, y la instalación de PostgreSQL sería incompatible con este\n" +"directorio de datos." + +#: ../../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 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:510 reconstruct.c:625 +#: write_manifest.c:250 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "no se pudo abrir el archivo «%s»: %m" + +#: ../../common/controldata_utils.c:249 backup_label.c:160 reconstruct.c:746 +#: write_manifest.c:260 +#, c-format +msgid "could not write file \"%s\": %m" +msgstr "no se pudo escribir el archivo «%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 "no se pudo sincronizar (fsync) archivo «%s»: %m" + +#: ../../common/cryptohash.c:261 ../../common/cryptohash_openssl.c:356 +#: ../../common/parse_manifest.c:157 ../../common/parse_manifest.c:853 +#, c-format +msgid "out of memory" +msgstr "memoria agotada" + +#: ../../common/cryptohash.c:266 ../../common/cryptohash.c:272 +#: ../../common/cryptohash_openssl.c:368 ../../common/cryptohash_openssl.c:376 +msgid "success" +msgstr "éxito" + +#: ../../common/cryptohash.c:268 ../../common/cryptohash_openssl.c:370 +msgid "destination buffer too small" +msgstr "el búfer de destino es demasiado pequeño" + +#: ../../common/cryptohash_openssl.c:372 +msgid "OpenSSL failure" +msgstr "falla de openSSL" + +#: ../../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 "memoria agotada\n" + +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 +#, c-format +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "no se puede duplicar un puntero nulo (error interno)\n" + +#: ../../common/file_utils.c:76 +#, 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" + +#: ../../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:199 +#: reconstruct.c:408 +#, c-format +msgid "could not stat file \"%s\": %m" +msgstr "no se pudo hacer stat al archivo «%s»: %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 "esta instalación no soporta el método de sync «%s»" + +#: ../../common/file_utils.c:151 ../../common/file_utils.c:281 +#: pg_combinebackup.c:933 pg_combinebackup.c:1256 +#, 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 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "no se pudo leer el directorio «%s»: %m" + +#: ../../common/file_utils.c:498 +#, c-format +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "no se pudo renombrar el archivo de «%s» a «%s»: %m" + +#: ../../common/jsonapi.c:2121 +msgid "Recursive descent parser cannot use incremental lexer." +msgstr "El parser recursivo descendiente no puede usar el lexer incremental." + +#: ../../common/jsonapi.c:2123 +msgid "Incremental parser requires incremental lexer." +msgstr "El parser incremental requiere el lexer incremental." + +#: ../../common/jsonapi.c:2125 +msgid "JSON nested too deep, maximum permitted depth is 6400." +msgstr "JSON anidado demasiado profundamente, profundidad máxima es 6400." + +#: ../../common/jsonapi.c:2127 +#, c-format +msgid "Escape sequence \"\\%.*s\" is invalid." +msgstr "La secuencia de escape «\\%.*s» no es válida." + +#: ../../common/jsonapi.c:2131 +#, c-format +msgid "Character with value 0x%02x must be escaped." +msgstr "Los caracteres con valor 0x%02x deben ser escapados." + +#: ../../common/jsonapi.c:2135 +#, c-format +msgid "Expected end of input, but found \"%.*s\"." +msgstr "Se esperaba el fin de la entrada, se encontró «%.*s»." + +#: ../../common/jsonapi.c:2138 +#, c-format +msgid "Expected array element or \"]\", but found \"%.*s\"." +msgstr "Se esperaba un elemento de array o «]», se encontró «%.*s»." + +#: ../../common/jsonapi.c:2141 +#, c-format +msgid "Expected \",\" or \"]\", but found \"%.*s\"." +msgstr "Se esperaba «,» o «]», se encontró «%.*s»." + +#: ../../common/jsonapi.c:2144 +#, c-format +msgid "Expected \":\", but found \"%.*s\"." +msgstr "Se esperaba «:», se encontró «%.*s»." + +#: ../../common/jsonapi.c:2147 +#, c-format +msgid "Expected JSON value, but found \"%.*s\"." +msgstr "Se esperaba un valor JSON, se encontró «%.*s»." + +#: ../../common/jsonapi.c:2150 +msgid "The input string ended unexpectedly." +msgstr "La cadena de entrada terminó inesperadamente." + +#: ../../common/jsonapi.c:2152 +#, c-format +msgid "Expected string or \"}\", but found \"%.*s\"." +msgstr "Se esperaba una cadena o «}», se encontró «%.*s»." + +#: ../../common/jsonapi.c:2155 +#, c-format +msgid "Expected \",\" or \"}\", but found \"%.*s\"." +msgstr "Se esperaba «,» o «}», se encontró «%.*s»." + +#: ../../common/jsonapi.c:2158 +#, c-format +msgid "Expected string, but found \"%.*s\"." +msgstr "Se esperaba una cadena, se encontró «%.*s»." + +#: ../../common/jsonapi.c:2161 +#, c-format +msgid "Token \"%.*s\" is invalid." +msgstr "El elemento «%.*s» no es válido." + +#: ../../common/jsonapi.c:2164 +msgid "\\u0000 cannot be converted to text." +msgstr "\\u0000 no puede ser convertido a text." + +#: ../../common/jsonapi.c:2166 +msgid "\"\\u\" must be followed by four hexadecimal digits." +msgstr "«\\u» debe ser seguido por cuatro dígitos hexadecimales." + +#: ../../common/jsonapi.c:2169 +msgid "Unicode escape values cannot be used for code point values above 007F when the encoding is not UTF8." +msgstr "Los valores de escape Unicode no se pueden utilizar para valores de código superiores a 007F cuando la codificación no es UTF8." + +#: ../../common/jsonapi.c:2178 +#, c-format +msgid "Unicode escape value could not be translated to the server's encoding %s." +msgstr "El valor de escape Unicode no pudo ser traducido a la codificación del servidor %s." + +#: ../../common/jsonapi.c:2185 +msgid "Unicode high surrogate must not follow a high surrogate." +msgstr "Un «high-surrogate» Unicode no puede venir después de un «high-surrogate»." + +#: ../../common/jsonapi.c:2187 +msgid "Unicode low surrogate must follow a high surrogate." +msgstr "Un «low-surrogate» Unicode debe seguir a un «high-surrogate»." + +#: ../../common/parse_manifest.c:159 ../../common/parse_manifest.c:855 +#, c-format +msgid "could not initialize checksum of manifest" +msgstr "no se pudo inicializar la suma de verificación del manifiesto" + +#: ../../common/parse_manifest.c:204 ../../common/parse_manifest.c:261 +msgid "manifest ended unexpectedly" +msgstr "el manifiesto terminó inesperadamente" + +#: ../../common/parse_manifest.c:210 ../../common/parse_manifest.c:862 +#, c-format +msgid "could not update checksum of manifest" +msgstr "no se pudo actualizar la suma de verificación del manifiesto" + +#: ../../common/parse_manifest.c:302 +msgid "unexpected object start" +msgstr "inicio de objeto inesperado" + +#: ../../common/parse_manifest.c:337 +msgid "unexpected object end" +msgstr "fin de objeto inesperado" + +#: ../../common/parse_manifest.c:366 +msgid "unexpected array start" +msgstr "inicio de array inesperado" + +#: ../../common/parse_manifest.c:391 +msgid "unexpected array end" +msgstr "fin de array inesperado" + +#: ../../common/parse_manifest.c:418 +msgid "expected version indicator" +msgstr "se esperaba indicador de versión" + +#: ../../common/parse_manifest.c:454 +msgid "unrecognized top-level field" +msgstr "campo de nivel superior no reconocido" + +#: ../../common/parse_manifest.c:473 +msgid "unexpected file field" +msgstr "campo de archivo inesperado" + +#: ../../common/parse_manifest.c:487 +msgid "unexpected WAL range field" +msgstr "campo de rango de WAL inesperado" + +#: ../../common/parse_manifest.c:493 +msgid "unexpected object field" +msgstr "campo de objeto inesperado" + +#: ../../common/parse_manifest.c:583 +msgid "unexpected scalar" +msgstr "escalar inesperado" + +#: ../../common/parse_manifest.c:609 +msgid "manifest version not an integer" +msgstr "la versión de manifiesto no es un número entero" + +#: ../../common/parse_manifest.c:613 +msgid "unexpected manifest version" +msgstr "versión de manifiesto inesperada" + +#: ../../common/parse_manifest.c:637 +msgid "manifest system identifier not an integer" +msgstr "el identificador de sistema del manifiesto no es un número entero" + +#: ../../common/parse_manifest.c:662 +msgid "missing path name" +msgstr "ruta de archivo faltante" + +#: ../../common/parse_manifest.c:665 +msgid "both path name and encoded path name" +msgstr "hay ambos ruta de archivo (path name) y ruta codificada (encoded path name)" + +#: ../../common/parse_manifest.c:667 +msgid "missing size" +msgstr "tamaño faltante" + +#: ../../common/parse_manifest.c:670 +msgid "checksum without algorithm" +msgstr "suma de comprobación sin algoritmo" + +#: ../../common/parse_manifest.c:684 +msgid "could not decode file name" +msgstr "no se pudo decodificar el nombre del archivo" + +#: ../../common/parse_manifest.c:694 +msgid "file size is not an integer" +msgstr "el tamaño del archivo no es un número entero" + +#: ../../common/parse_manifest.c:700 pg_combinebackup.c:199 +#, c-format +msgid "unrecognized checksum algorithm: \"%s\"" +msgstr "algoritmo de suma de comprobación no reconocido: \"%s\"" + +#: ../../common/parse_manifest.c:719 +#, c-format +msgid "invalid checksum for file \"%s\": \"%s\"" +msgstr "suma de comprobación no válida para el archivo \"%s\": \"%s\"" + +#: ../../common/parse_manifest.c:762 +msgid "missing timeline" +msgstr "falta el timeline" + +#: ../../common/parse_manifest.c:764 +msgid "missing start LSN" +msgstr "falta el LSN de inicio" + +#: ../../common/parse_manifest.c:766 +msgid "missing end LSN" +msgstr "falta el LSN de término" + +#: ../../common/parse_manifest.c:772 +msgid "timeline is not an integer" +msgstr "el timeline no es un número entero" + +#: ../../common/parse_manifest.c:775 +msgid "could not parse start LSN" +msgstr "no se pudo interpretar el LSN de inicio" + +#: ../../common/parse_manifest.c:778 +msgid "could not parse end LSN" +msgstr "no se pudo interpretar el LSN de término" + +#: ../../common/parse_manifest.c:843 +msgid "expected at least 2 lines" +msgstr "esperado al menos 2 líneas" + +#: ../../common/parse_manifest.c:846 +msgid "last line not newline-terminated" +msgstr "última línea no termina en nueva línea" + +#: ../../common/parse_manifest.c:865 +#, c-format +msgid "could not finalize checksum of manifest" +msgstr "no se pudo finalizar la suma de verificación del manifiesto" + +#: ../../common/parse_manifest.c:869 +#, c-format +msgid "manifest has no checksum" +msgstr "el manifiesto no tiene suma de comprobación" + +#: ../../common/parse_manifest.c:873 +#, c-format +msgid "invalid manifest checksum: \"%s\"" +msgstr "suma de comprobación de manifiesto no válida: \"%s\"" + +#: ../../common/parse_manifest.c:877 +#, c-format +msgid "manifest checksum mismatch" +msgstr "discordancia en la suma de comprobación del manifiesto" + +#: ../../common/parse_manifest.c:892 +#, c-format +msgid "could not parse backup manifest: %s" +msgstr "no se pudo analizar el manifiesto de la copia de seguridad: %s" + +#: ../../fe_utils/option_utils.c:69 +#, c-format +msgid "invalid value \"%s\" for option %s" +msgstr "el valor «%s» no es válido para la opción %s" + +#: ../../fe_utils/option_utils.c:76 +#, c-format +msgid "%s must be in range %d..%d" +msgstr "%s debe estar en el rango %d..%d" + +#: ../../fe_utils/option_utils.c:106 +#, c-format +msgid "unrecognized sync method: %s" +msgstr "método de sync no reconocido: %s" + +#: backup_label.c:66 backup_label.c:85 backup_label.c:95 +#, c-format +msgid "%s: could not parse %s" +msgstr "%s: no se pudo interpretar %s" + +#: backup_label.c:69 backup_label.c:88 +#, c-format +msgid "%s: improper terminator for %s" +msgstr "%s: terminador inapropiado para %s" + +#: backup_label.c:76 +#, c-format +msgid "%s: could not parse TLI for %s" +msgstr "%s: no se pudo interpretar el TLI para %s" + +#: backup_label.c:79 backup_label.c:98 +#, c-format +msgid "%s: invalid TLI" +msgstr "%s: TLI no válido" + +#: backup_label.c:106 backup_label.c:108 +#, c-format +msgid "%s: could not find %s" +msgstr "%s: no se pudo encontrar %s" + +#: backup_label.c:110 backup_label.c:113 +#, c-format +msgid "%s: %s requires %s" +msgstr "%s: %s requiere %s" + +#: backup_label.c:162 reconstruct.c:748 write_manifest.c:262 +#, c-format +msgid "could not write file \"%s\": wrote %d of %d" +msgstr "no se pudo escribir al archivo «%s»: se escribió %d de %d" + +#: backup_label.c:166 copy_file.c:146 copy_file.c:193 reconstruct.c:708 +#: reconstruct.c:754 write_manifest.c:270 +#, c-format +msgid "could not update checksum of file \"%s\"" +msgstr "no se pudo actualizar la suma de verificación para el archivo «%s»" + +#: copy_file.c:186 +#, c-format +msgid "could not write to file \"%s\": %m" +msgstr "no se pudo escribir a archivo «%s»: %m" + +#: copy_file.c:188 +#, c-format +msgid "could not write to file \"%s\", offset %u: wrote %d of %d" +msgstr "no se pudo escribir al archivo «%s», posición %u: se escribió %d de %d" + +#: copy_file.c:199 reconstruct.c:771 +#, c-format +msgid "could not read from file \"%s\": %m" +msgstr "no se pudo leer el archivo «%s»: %m" + +#: copy_file.c:218 +#, c-format +msgid "error while cloning file \"%s\" to \"%s\": %m" +msgstr "error mientras se clonaba el archivo «%s» a «%s»: %m" + +#: copy_file.c:229 copy_file.c:272 +#, c-format +msgid "could not create file \"%s\": %m" +msgstr "no se pudo crear archivo «%s»: %m" + +#: copy_file.c:237 +#, c-format +msgid "error while cloning file \"%s\" to \"%s\": %s" +msgstr "error mientras se clonaba la relación «%s» a «%s»: %s" + +#: copy_file.c:245 pg_combinebackup.c:251 +#, c-format +msgid "file cloning not supported on this platform" +msgstr "el clonado de archivos no está soportado en esta plataforma" + +#: copy_file.c:278 reconstruct.c:691 +#, c-format +msgid "error while copying file range from \"%s\" to \"%s\": %m" +msgstr "error mientras se copiaba un rango de archivo de «%s» a «%s»: %m" + +#: copy_file.c:285 pg_combinebackup.c:264 reconstruct.c:711 +#, c-format +msgid "copy_file_range not supported on this platform" +msgstr "copy_file_range no está soportado en esta plataforma" + +#: copy_file.c:300 +#, c-format +msgid "could not copy file \"%s\" to \"%s\": %m" +msgstr "no se pudo copiar el archivo de «%s» a «%s»: %m" + +#: load_manifest.c:125 +#, c-format +msgid "file \"%s\" does not exist" +msgstr "el archivo «%s» no existe" + +#: load_manifest.c:163 +#, c-format +msgid "could not read file \"%s\": read %d of %lld" +msgstr "no se pudo leer el archivo «%s»: leídos %d de %lld" + +#: load_manifest.c:201 +#, c-format +msgid "could not read file \"%s\": read %lld of %lld" +msgstr "no se pudo leer el archivo «%s»: leídos %lld de %lld" + +#: load_manifest.c:249 +#, c-format +msgid "backup manifest version 1 does not support incremental backup" +msgstr "el manifiesto de backup versión 1 no soporta backups incrementales" + +#: load_manifest.c:281 +#, c-format +msgid "duplicate path name in backup manifest: \"%s\"" +msgstr "nombre de ruta duplicado en el manifiesto de la copia de seguridad: \"%s\"" + +#: pg_combinebackup.c:220 pg_combinebackup.c:228 +#, c-format +msgid "Try \"%s --help\" for more information." +msgstr "Pruebe «%s --help» para mayor información." + +#: pg_combinebackup.c:227 +#, c-format +msgid "no input directories specified" +msgstr "no se especificó un directorio de entrada" + +#: pg_combinebackup.c:233 +#, c-format +msgid "no output directory specified" +msgstr "no se especificó un directorio de salida" + +#: pg_combinebackup.c:301 +#, c-format +msgid "%s: manifest system identifier is %llu, but control file has %llu" +msgstr "%s: el identificador de sistema del manifiesto es %llu, pero el archivo de control tiene %llu" + +#: pg_combinebackup.c:340 +#, c-format +msgid "can't generate a manifest because no manifest is available for the final input backup" +msgstr "no se puede generar un manifiesto porque no hay un manifiesto disponible para el backup final de entrada" + +#: pg_combinebackup.c:387 +#, c-format +msgid "could not create symbolic link from \"%s\" to \"%s\": %m" +msgstr "no se pudo crear un enlace simbólico desde «%s» a «%s»: %m" + +#: pg_combinebackup.c:399 pg_combinebackup.c:730 pg_combinebackup.c:927 +#, c-format +msgid "could not create directory \"%s\": %m" +msgstr "no se pudo crear el directorio «%s»: %m" + +#: pg_combinebackup.c:454 +#, c-format +msgid "directory name too long" +msgstr "nombre de directorio demasiado largo" + +#: pg_combinebackup.c:461 +#, c-format +msgid "multiple \"=\" signs in tablespace mapping" +msgstr "múltiples signos «=» en mapeo de tablespace" + +#: pg_combinebackup.c:469 +#, c-format +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 +#, 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:553 +#, c-format +msgid "backup at \"%s\" is a full backup, but only the first backup should be a full backup" +msgstr "el backup en «%s» es un backup full, pero sólo el primer backup puede ser full" + +#: pg_combinebackup.c:556 +#, c-format +msgid "backup at \"%s\" is an incremental backup, but the first backup should be a full backup" +msgstr "el backup en «%s» es incremental, pero el primer backup debería ser full" + +#: pg_combinebackup.c:559 +#, c-format +msgid "backup at \"%s\" starts on timeline %u, but expected %u" +msgstr "el backup en «%s» empieza en el timeline %u, pero se esperaba %u" + +#: pg_combinebackup.c:562 +#, c-format +msgid "backup at \"%s\" starts at LSN %X/%X, but expected %X/%X" +msgstr "el backup en «%s» empieza en el LSN %X/%X, pero se esperaba %X/%X" + +#: pg_combinebackup.c:614 +#, c-format +msgid "%s: CRC is incorrect" +msgstr "%s: el valor de CRC es incorrecto" + +#: pg_combinebackup.c:618 +#, c-format +msgid "%s: unexpected control file version" +msgstr "%s: versión de archivo de control inesperado" + +#: pg_combinebackup.c:625 +#, c-format +msgid "%s: expected system identifier %llu, but found %llu" +msgstr "%s: se esperaba identificador de sistema %llu, pero se encontró %llu" + +#: pg_combinebackup.c:657 +#, c-format +msgid "only some backups have checksums enabled" +msgstr "sólo algunos backups tienen checksums activados" + +#: pg_combinebackup.c:658 +#, c-format +msgid "disable, and optionally reenable, checksums on the output directory to avoid failures" +msgstr "desactive (y opcionalmente reactive) los checksums en el directorio de salida para evitar fallos" + +#: pg_combinebackup.c:693 +#, c-format +msgid "removing output directory \"%s\"" +msgstr "eliminando el directorio de salida «%s»" + +#: pg_combinebackup.c:695 +#, c-format +msgid "failed to remove output directory" +msgstr "no se pudo eliminar el directorio de salida" + +#: pg_combinebackup.c:699 +#, c-format +msgid "removing contents of output directory \"%s\"" +msgstr "eliminando el contenido del directorio de salida «%s»" + +#: pg_combinebackup.c:702 +#, c-format +msgid "failed to remove contents of output directory" +msgstr "no se pudo eliminar el contenido del directorio de salida" + +#: pg_combinebackup.c:742 +#, c-format +msgid "directory \"%s\" exists but is not empty" +msgstr "el directorio «%s» existe pero no está vacío" + +#: pg_combinebackup.c:745 +#, c-format +msgid "could not access directory \"%s\": %m" +msgstr "no se pudo acceder al directorio «%s»: %m" + +#: pg_combinebackup.c:759 +#, c-format +msgid "" +"%s reconstructs full backups from incrementals.\n" +"\n" +msgstr "" +"%s reconstruye backups full desde incrementales.\n" +"\n" + +#: pg_combinebackup.c:760 +#, c-format +msgid "Usage:\n" +msgstr "Empleo:\n" + +#: pg_combinebackup.c:761 +#, c-format +msgid " %s [OPTION]... DIRECTORY...\n" +msgstr " %s [OPCIÓN]... DIRECTOTIO...\n" + +#: pg_combinebackup.c:762 +#, c-format +msgid "" +"\n" +"Options:\n" +msgstr "" +"\n" +"Opciones:\n" + +#: pg_combinebackup.c:763 +#, c-format +msgid " -d, --debug generate lots of debugging output\n" +msgstr " -d, --debug genera mucha salida de depuración\n" + +#: pg_combinebackup.c:764 +#, c-format +msgid " -n, --dry-run do not actually do anything\n" +msgstr " -n, --dry-run no hacer realmente nada\n" + +#: pg_combinebackup.c:765 +#, c-format +msgid " -N, --no-sync do not wait for changes to be written safely to disk\n" +msgstr " -N, --no-sync no esperar que los cambios se sincronicen a disco\n" + +#: pg_combinebackup.c:766 +#, c-format +msgid " -o, --output=DIRECTORY output directory\n" +msgstr " -o, --output=DIR directorio de salida\n" + +#: pg_combinebackup.c:767 +#, c-format +msgid "" +" -T, --tablespace-mapping=OLDDIR=NEWDIR\n" +" relocate tablespace in OLDDIR to NEWDIR\n" +msgstr "" +" -T, --tablespace-mapping=ANTIGUO=NUEVO\n" +" reubicar el tablespace de ANTIGUO a NUEVO\n" + +#: pg_combinebackup.c:769 +#, c-format +msgid " --clone clone (reflink) instead of copying files\n" +msgstr " --clone clonar (reflink) archivos en vez de copiarlos\n" + +#: pg_combinebackup.c:770 +#, c-format +msgid " --copy copy files (default)\n" +msgstr " --copy copiar archivos (por omisión)\n" + +#: pg_combinebackup.c:771 +#, c-format +msgid " --copy-file-range copy using copy_file_range() syscall\n" +msgstr " --copy-file-range copiar usando la llamada copy_file_range()\n" + +#: pg_combinebackup.c:772 +#, c-format +msgid "" +" --manifest-checksums=SHA{224,256,384,512}|CRC32C|NONE\n" +" use algorithm for manifest checksums\n" +msgstr "" +" --manifest-checksums=SHA{224,256,384,512}|CRC32C|NONE\n" +" usar algoritmo para checksums del manifiesto\n" + +#: pg_combinebackup.c:774 +#, c-format +msgid " --no-manifest suppress generation of backup manifest\n" +msgstr " --no-manifest suprimir generación del manifiesto\n" + +#: pg_combinebackup.c:775 +#, c-format +msgid " --sync-method=METHOD set method for syncing files to disk\n" +msgstr " --sync-method=MÉTODO definir método para sincronizar archivos a disco\n" + +#: pg_combinebackup.c:776 +#, c-format +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version mostrar información de version y salir\n" + +#: pg_combinebackup.c:777 +#, c-format +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help mostrar esta ayuda y salir\n" + +#: pg_combinebackup.c:779 +#, c-format +msgid "" +"\n" +"Report bugs to <%s>.\n" +msgstr "" +"\n" +"Reporte errores a <%s>.\n" + +#: pg_combinebackup.c:780 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "Sitio web de %s: <%s>\n" + +#: pg_combinebackup.c:995 +#, c-format +msgid "skipping symbolic link \"%s\"" +msgstr "omitiendo el link simbólico «%s»" + +#: pg_combinebackup.c:997 +#, c-format +msgid "skipping special file \"%s\"" +msgstr "omitiendo el archivo especial «%s»" + +#: pg_combinebackup.c:1073 +#, c-format +msgid "\"%s\" contains no entry for \"%s\"" +msgstr "«%s» no contiene entrada para «%s»" + +#: pg_combinebackup.c:1189 +#, c-format +msgid "%s: server version too old" +msgstr "%s: versión de servidor demasiado antigua" + +#: pg_combinebackup.c:1190 +#, c-format +msgid "%s: could not parse version number" +msgstr "%s: no se pudo interpretar el número de versión" + +#: pg_combinebackup.c:1309 +#, c-format +msgid "could not read symbolic link \"%s\": %m" +msgstr "no se pudo leer el enlace simbólico «%s»: %m" + +#: pg_combinebackup.c:1312 +#, c-format +msgid "target of symbolic link \"%s\" is too long" +msgstr "el destino del enlace simbólico «%s» es demasiado largo" + +#: pg_combinebackup.c:1315 +#, c-format +msgid "target of symbolic link \"%s\" is relative" +msgstr "el destino del enlace simbólico «%s» es relativo" + +#: pg_combinebackup.c:1337 +#, c-format +msgid "tablespace at \"%s\" has no tablespace mapping" +msgstr "el tablespace en «%s» no tiene mapeo de tablespace" + +#: pg_combinebackup.c:1355 +#, c-format +msgid "tablespaces with OIDs %u and %u both point at directory \"%s\"" +msgstr "los tablespaces con OIDs %u y %u ambos apuntan al directorio «%s»" + +#: pg_combinebackup.c:1364 +#, c-format +msgid "could not close directory \"%s\": %m" +msgstr "no se pudo abrir el directorio «%s»: %m" + +#: pg_combinebackup.c:1385 +#, c-format +msgid "file \"%s\" is too large" +msgstr "el archivo «%s» es demasiado grande" + +#: pg_combinebackup.c:1402 +#, c-format +msgid "could not read file \"%s\": read %zd of %lld" +msgstr "no se pudo leer el archivo «%s»: leídos %zd de %lld" + +#: reconstruct.c:300 +#, c-format +msgid "manifest file \"%s\" contains no entry for file \"%s\"" +msgstr "el archivo de manifiesto «%s» no contiene una entrada para el archivo «%s»" + +#: reconstruct.c:410 +#, c-format +msgid "file \"%s\" is too short: expected %llu, found %llu" +msgstr "el archivo «%s» es demasiado corto: se esperaban %llu, se encontraron %llu" + +#: reconstruct.c:452 +#, c-format +msgid "file \"%s\" has bad incremental magic number (0x%x not 0x%x)" +msgstr "el archivo «%s» tiene número mágico incremental erróneo (0x%x en vez de 0x%x)" + +#: reconstruct.c:458 +#, c-format +msgid "file \"%s\" has block count %u in excess of segment size %u" +msgstr "el archivo «%s» tiene una cantidad de bloques %u más allá del tamaño de bloque %u" + +#: reconstruct.c:465 +#, c-format +msgid "file \"%s\" has truncation block length %u in excess of segment size %u" +msgstr "el archivo «%s» tiene una longitud de truncado de bloque %u en exceso del tamaño de segmento %u" + +#: reconstruct.c:529 +#, c-format +msgid "could not read file \"%s\": read %d of %u" +msgstr "no se pudo leer el archivo «%s»: leídos %d de %u" + +#: reconstruct.c:773 +#, c-format +msgid "could not read from file \"%s\", offset %llu: read %d of %d" +msgstr "no se pudo leer del archivo \"%s\", posición %llu: leídos %d de %d" diff --git a/src/bin/pg_combinebackup/po/fr.po b/src/bin/pg_combinebackup/po/fr.po new file mode 100644 index 00000000000..aa8b0f4ea61 --- /dev/null +++ b/src/bin/pg_combinebackup/po/fr.po @@ -0,0 +1,900 @@ +# LANGUAGE 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. +# FIRST AUTHOR , 2024. +# +msgid "" +msgstr "" +"Project-Id-Version: PostgreSQL 17\n" +"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" +"POT-Creation-Date: 2024-11-11 01:52+0000\n" +"PO-Revision-Date: 2024-11-11 09:55+0100\n" +"Last-Translator: Guillaume Lelarge \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Poedit 3.5\n" + +#: ../../../src/common/logging.c:276 +#, c-format +msgid "error: " +msgstr "erreur : " + +#: ../../../src/common/logging.c:283 +#, c-format +msgid "warning: " +msgstr "attention : " + +#: ../../../src/common/logging.c:294 +#, c-format +msgid "detail: " +msgstr "détail : " + +#: ../../../src/common/logging.c:301 +#, c-format +msgid "hint: " +msgstr "astuce : " + +#: ../../common/controldata_utils.c:97 +#, c-format +msgid "could not open file \"%s\" for reading: %m" +msgstr "n'a pas pu ouvrir le fichier « %s » pour une lecture : %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 +#, c-format +msgid "could not read file \"%s\": %m" +msgstr "n'a pas pu lire le fichier « %s » : %m" + +#: ../../common/controldata_utils.c:119 +#, c-format +msgid "could not read file \"%s\": read %d of %zu" +msgstr "n'a pas pu lire le fichier « %s » : a lu %d sur %zu" + +#: ../../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 +#: write_manifest.c:187 +#, c-format +msgid "could not close file \"%s\": %m" +msgstr "n'a pas pu fermer le fichier « %s » : %m" + +#: ../../common/controldata_utils.c:168 +msgid "byte ordering mismatch" +msgstr "différence de l'ordre des octets" + +#: ../../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 "" +"possible incohérence dans l'ordre des octets\n" +"L'ordre des octets utilisé pour enregistrer le fichier pg_control peut ne\n" +"pas correspondre à celui utilisé par ce programme. Dans ce cas, les\n" +"résultats ci-dessous sont incorrects, et l'installation de PostgreSQL\n" +"est incompatible avec ce répertoire des données." + +#: ../../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 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 +#: write_manifest.c:250 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "n'a pas pu ouvrir le fichier « %s » : %m" + +#: ../../common/controldata_utils.c:249 backup_label.c:160 reconstruct.c:759 +#: write_manifest.c:260 +#, c-format +msgid "could not write file \"%s\": %m" +msgstr "impossible d'écrire le fichier « %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 "n'a pas pu synchroniser sur disque (fsync) le fichier « %s » : %m" + +#: ../../common/cryptohash.c:261 ../../common/cryptohash_openssl.c:356 +#: ../../common/parse_manifest.c:157 ../../common/parse_manifest.c:853 +#, c-format +msgid "out of memory" +msgstr "mémoire épuisée" + +#: ../../common/cryptohash.c:266 ../../common/cryptohash.c:272 +#: ../../common/cryptohash_openssl.c:368 ../../common/cryptohash_openssl.c:376 +msgid "success" +msgstr "succès" + +#: ../../common/cryptohash.c:268 ../../common/cryptohash_openssl.c:370 +msgid "destination buffer too small" +msgstr "tampon de destination trop petit" + +#: ../../common/cryptohash_openssl.c:372 +msgid "OpenSSL failure" +msgstr "échec OpenSSL" + +#: ../../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 "mémoire épuisée\n" + +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 +#, c-format +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "ne peut pas dupliquer un pointeur nul (erreur interne)\n" + +#: ../../common/file_utils.c:76 +#, c-format +msgid "could not synchronize file system for file \"%s\": %m" +msgstr "n'a pas pu synchroniser sur disque (fsync) le système de fichiers pour le fichier « %s » : %m" + +#: ../../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 +#, c-format +msgid "could not stat file \"%s\": %m" +msgstr "n'a pas pu tester le fichier « %s » : %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 "cette construction ne supporte pas la méthode de synchronisation « %s »" + +#: ../../common/file_utils.c:151 ../../common/file_utils.c:281 +#: pg_combinebackup.c:933 pg_combinebackup.c:1256 +#, c-format +msgid "could not open directory \"%s\": %m" +msgstr "n'a pas pu ouvrir le répertoire « %s » : %m" + +#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "n'a pas pu lire le répertoire « %s » : %m" + +#: ../../common/file_utils.c:498 +#, c-format +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "n'a pas pu renommer le fichier « %s » en « %s » : %m" + +#: ../../common/jsonapi.c:2121 +msgid "Recursive descent parser cannot use incremental lexer." +msgstr "L'analyseur (parser) en descente récursive ne peut pas utiliser l'analyseur (lexer) incrémental." + +#: ../../common/jsonapi.c:2123 +msgid "Incremental parser requires incremental lexer." +msgstr "L'analyser (parser) incrémental nécessite l'analyseur (lexer) incrémental." + +#: ../../common/jsonapi.c:2125 +msgid "JSON nested too deep, maximum permitted depth is 6400." +msgstr "JSON trop profondément imbriqué, profondeur maximum permise est 6400." + +#: ../../common/jsonapi.c:2127 +#, c-format +msgid "Escape sequence \"\\%.*s\" is invalid." +msgstr "La séquence d'échappement « \\%.*s » est invalide." + +#: ../../common/jsonapi.c:2131 +#, c-format +msgid "Character with value 0x%02x must be escaped." +msgstr "Le caractère de valeur 0x%02x doit être échappé." + +#: ../../common/jsonapi.c:2135 +#, c-format +msgid "Expected end of input, but found \"%.*s\"." +msgstr "Fin de l'entrée attendue, mais trouvé « %.*s »." + +#: ../../common/jsonapi.c:2138 +#, c-format +msgid "Expected array element or \"]\", but found \"%.*s\"." +msgstr "Élément de tableau ou « ] » attendu, mais trouvé « %.*s »." + +#: ../../common/jsonapi.c:2141 +#, c-format +msgid "Expected \",\" or \"]\", but found \"%.*s\"." +msgstr "« , » ou « ] » attendu, mais trouvé « %.*s »." + +#: ../../common/jsonapi.c:2144 +#, c-format +msgid "Expected \":\", but found \"%.*s\"." +msgstr "« : » attendu, mais trouvé « %.*s »." + +#: ../../common/jsonapi.c:2147 +#, c-format +msgid "Expected JSON value, but found \"%.*s\"." +msgstr "Valeur JSON attendue, mais « %.*s » trouvé." + +#: ../../common/jsonapi.c:2150 +msgid "The input string ended unexpectedly." +msgstr "La chaîne en entrée se ferme de manière inattendue." + +#: ../../common/jsonapi.c:2152 +#, c-format +msgid "Expected string or \"}\", but found \"%.*s\"." +msgstr "Chaîne ou « } » attendu, mais « %.*s » trouvé." + +#: ../../common/jsonapi.c:2155 +#, c-format +msgid "Expected \",\" or \"}\", but found \"%.*s\"." +msgstr "« , » ou « } » attendu, mais trouvé « %.*s »." + +#: ../../common/jsonapi.c:2158 +#, c-format +msgid "Expected string, but found \"%.*s\"." +msgstr "Chaîne attendue, mais « %.*s » trouvé." + +#: ../../common/jsonapi.c:2161 +#, c-format +msgid "Token \"%.*s\" is invalid." +msgstr "Le jeton « %.*s » n'est pas valide." + +#: ../../common/jsonapi.c:2164 +msgid "\\u0000 cannot be converted to text." +msgstr "\\u0000 ne peut pas être converti en texte." + +#: ../../common/jsonapi.c:2166 +msgid "\"\\u\" must be followed by four hexadecimal digits." +msgstr "« \\u » doit être suivi par quatre chiffres hexadécimaux." + +#: ../../common/jsonapi.c:2169 +msgid "Unicode escape values cannot be used for code point values above 007F when the encoding is not UTF8." +msgstr "Les valeurs d'échappement Unicode ne peuvent pas être utilisées pour des valeurs de point code au-dessus de 007F quand l'encodage n'est pas UTF8." + +#: ../../common/jsonapi.c:2178 +#, c-format +msgid "Unicode escape value could not be translated to the server's encoding %s." +msgstr "La valeur d'échappement unicode ne peut pas être traduite dans l'encodage du serveur %s." + +#: ../../common/jsonapi.c:2185 +msgid "Unicode high surrogate must not follow a high surrogate." +msgstr "Une substitution unicode haute ne doit pas suivre une substitution haute." + +#: ../../common/jsonapi.c:2187 +msgid "Unicode low surrogate must follow a high surrogate." +msgstr "Une substitution unicode basse ne doit pas suivre une substitution haute." + +#: ../../common/parse_manifest.c:159 ../../common/parse_manifest.c:855 +#, c-format +msgid "could not initialize checksum of manifest" +msgstr "n'a pas pu initialiser la somme de contrôle du manifeste" + +#: ../../common/parse_manifest.c:204 ../../common/parse_manifest.c:261 +msgid "manifest ended unexpectedly" +msgstr "le manifeste se termine de façon inattendue" + +#: ../../common/parse_manifest.c:210 ../../common/parse_manifest.c:862 +#, c-format +msgid "could not update checksum of manifest" +msgstr "n'a pas pu mettre à jour la somme de contrôle du manifeste" + +#: ../../common/parse_manifest.c:302 +msgid "unexpected object start" +msgstr "début d'objet inattendu" + +#: ../../common/parse_manifest.c:337 +msgid "unexpected object end" +msgstr "fin d'objet inattendue" + +#: ../../common/parse_manifest.c:366 +msgid "unexpected array start" +msgstr "début de tableau inattendu" + +#: ../../common/parse_manifest.c:391 +msgid "unexpected array end" +msgstr "fin de tableau inattendue" + +#: ../../common/parse_manifest.c:418 +msgid "expected version indicator" +msgstr "indicateur de version inattendu" + +#: ../../common/parse_manifest.c:454 +msgid "unrecognized top-level field" +msgstr "champ haut niveau inconnu" + +#: ../../common/parse_manifest.c:473 +msgid "unexpected file field" +msgstr "champ de fichier inattendu" + +#: ../../common/parse_manifest.c:487 +msgid "unexpected WAL range field" +msgstr "champ d'intervalle de WAL inattendu" + +#: ../../common/parse_manifest.c:493 +msgid "unexpected object field" +msgstr "champ d'objet inattendu" + +#: ../../common/parse_manifest.c:583 +msgid "unexpected scalar" +msgstr "scalaire inattendu" + +#: ../../common/parse_manifest.c:609 +msgid "manifest version not an integer" +msgstr "la version du manifeste n'est pas un entier" + +#: ../../common/parse_manifest.c:613 +msgid "unexpected manifest version" +msgstr "version du manifeste inattendue" + +#: ../../common/parse_manifest.c:637 +msgid "system identifier in manifest not an integer" +msgstr "l'identifieur système dans le manifeste n'est pas un entier" + +#: ../../common/parse_manifest.c:662 +msgid "missing path name" +msgstr "nom de chemin manquant" + +#: ../../common/parse_manifest.c:665 +msgid "both path name and encoded path name" +msgstr "le nom du chemin et le nom du chemin encodé" + +#: ../../common/parse_manifest.c:667 +msgid "missing size" +msgstr "taille manquante" + +#: ../../common/parse_manifest.c:670 +msgid "checksum without algorithm" +msgstr "somme de contrôle sans algorithme" + +#: ../../common/parse_manifest.c:684 +msgid "could not decode file name" +msgstr "n'a pas pu décoder le nom du fichier" + +#: ../../common/parse_manifest.c:694 +msgid "file size is not an integer" +msgstr "la taille du fichier n'est pas un entier" + +#: ../../common/parse_manifest.c:700 pg_combinebackup.c:199 +#, c-format +msgid "unrecognized checksum algorithm: \"%s\"" +msgstr "algorithme de somme de contrôle inconnu : « %s »" + +#: ../../common/parse_manifest.c:719 +#, c-format +msgid "invalid checksum for file \"%s\": \"%s\"" +msgstr "somme de contrôle invalide pour le fichier « %s » : « %s »" + +#: ../../common/parse_manifest.c:762 +msgid "missing timeline" +msgstr "timeline manquante" + +#: ../../common/parse_manifest.c:764 +msgid "missing start LSN" +msgstr "LSN de début manquante" + +#: ../../common/parse_manifest.c:766 +msgid "missing end LSN" +msgstr "LSN de fin manquante" + +#: ../../common/parse_manifest.c:772 +msgid "timeline is not an integer" +msgstr "la timeline n'est pas un entier" + +#: ../../common/parse_manifest.c:775 +msgid "could not parse start LSN" +msgstr "n'a pas pu analyser le LSN de début" + +#: ../../common/parse_manifest.c:778 +msgid "could not parse end LSN" +msgstr "n'a pas pu analyser le LSN de fin" + +#: ../../common/parse_manifest.c:843 +msgid "expected at least 2 lines" +msgstr "attendait au moins deux lignes" + +#: ../../common/parse_manifest.c:846 +msgid "last line not newline-terminated" +msgstr "dernière ligne non terminée avec un caractère newline" + +#: ../../common/parse_manifest.c:865 +#, c-format +msgid "could not finalize checksum of manifest" +msgstr "n'a pas pu finaliser la somme de contrôle du manifeste" + +#: ../../common/parse_manifest.c:869 +#, c-format +msgid "manifest has no checksum" +msgstr "le manifeste n'a pas de somme de contrôle" + +#: ../../common/parse_manifest.c:873 +#, c-format +msgid "invalid manifest checksum: \"%s\"" +msgstr "somme de contrôle du manifeste invalide : « %s »" + +#: ../../common/parse_manifest.c:877 +#, c-format +msgid "manifest checksum mismatch" +msgstr "différence de somme de contrôle pour le manifeste" + +#: ../../common/parse_manifest.c:892 +#, c-format +msgid "could not parse backup manifest: %s" +msgstr "n'a pas pu analyser le manifeste de sauvegarde : %s" + +#: ../../fe_utils/option_utils.c:69 +#, c-format +msgid "invalid value \"%s\" for option %s" +msgstr "valeur « %s » invalide pour l'option %s" + +#: ../../fe_utils/option_utils.c:76 +#, c-format +msgid "%s must be in range %d..%d" +msgstr "%s doit être compris entre %d et %d" + +#: ../../fe_utils/option_utils.c:106 +#, c-format +msgid "unrecognized sync method: %s" +msgstr "méthode de synchronisation non reconnu : %s" + +#: backup_label.c:66 backup_label.c:85 backup_label.c:95 +#, c-format +msgid "%s: could not parse %s" +msgstr "%s : n'a pas pu analyser %s" + +#: backup_label.c:69 backup_label.c:88 +#, c-format +msgid "%s: improper terminator for %s" +msgstr "%s : mauvais terminateur pour %s" + +#: backup_label.c:76 +#, c-format +msgid "%s: could not parse TLI for %s" +msgstr "%s : n'a pas pu analyser le TLI pour %s" + +#: backup_label.c:79 backup_label.c:98 +#, c-format +msgid "%s: invalid TLI" +msgstr "%s : TLI invalide" + +#: backup_label.c:106 backup_label.c:108 +#, c-format +msgid "%s: could not find %s" +msgstr "%s : n'a pas pu trouver %s" + +#: backup_label.c:110 backup_label.c:113 +#, c-format +msgid "%s: %s requires %s" +msgstr "%s : %s requiert %s" + +#: backup_label.c:162 reconstruct.c:761 write_manifest.c:262 +#, c-format +msgid "could not write file \"%s\": wrote %d of %d" +msgstr "n'a pas pu écrire le fichier « %s » : a écrit %d sur %d" + +#: backup_label.c:166 copy_file.c:146 copy_file.c:193 reconstruct.c:721 +#: reconstruct.c:767 write_manifest.c:270 +#, c-format +msgid "could not update checksum of file \"%s\"" +msgstr "n'a pas pu mettre à jour la somme de contrôle du fichier « %s »" + +#: copy_file.c:186 +#, c-format +msgid "could not write to file \"%s\": %m" +msgstr "n'a pas pu écrire dans le fichier « %s » : %m" + +#: copy_file.c:188 +#, c-format +msgid "could not write to file \"%s\", offset %u: wrote %d of %d" +msgstr "n'a pas pu écrire dans le fichier « %s », à la position %u : a écrit %d sur %d" + +#: copy_file.c:199 reconstruct.c:784 +#, c-format +msgid "could not read from file \"%s\": %m" +msgstr "n'a pas pu lire à partir du fichier « %s » : %m" + +#: copy_file.c:218 +#, c-format +msgid "error while cloning file \"%s\" to \"%s\": %m" +msgstr "erreur lors du clonage du fichier « %s » en «%s » : %m" + +#: copy_file.c:229 copy_file.c:272 +#, c-format +msgid "could not create file \"%s\": %m" +msgstr "n'a pas pu créer le fichier « %s » : %m" + +#: copy_file.c:237 +#, c-format +msgid "error while cloning file \"%s\" to \"%s\": %s" +msgstr "erreur lors du clonage du fichier « %s » en «%s » : %s" + +#: copy_file.c:245 pg_combinebackup.c:251 +#, c-format +msgid "file cloning not supported on this platform" +msgstr "clonage de fichiers non supporté sur cette plateforme" + +#: copy_file.c:278 reconstruct.c:704 +#, c-format +msgid "error while copying file range from \"%s\" to \"%s\": %m" +msgstr "erreur lors de l'opération copy_file_range de « %s » à « %s » : %m" + +#: copy_file.c:285 pg_combinebackup.c:264 reconstruct.c:724 +#, c-format +msgid "copy_file_range not supported on this platform" +msgstr "copy_file_range non supporté sur cette plateforme" + +#: copy_file.c:300 +#, c-format +msgid "could not copy file \"%s\" to \"%s\": %m" +msgstr "n'a pas pu copier le fichier « %s » en « %s » : %m" + +#: load_manifest.c:125 +#, c-format +msgid "file \"%s\" does not exist" +msgstr "le rôle « %s » n'existe pas" + +#: load_manifest.c:163 +#, c-format +msgid "could not read file \"%s\": read %d of %lld" +msgstr "n'a pas pu lire le fichier « %s » : a lu %d sur %lld" + +#: load_manifest.c:201 +#, c-format +msgid "could not read file \"%s\": read %lld of %lld" +msgstr "n'a pas pu lire le fichier « %s » : a lu %lld sur %lld" + +#: load_manifest.c:249 +#, c-format +msgid "backup manifest version 1 does not support incremental backup" +msgstr "la version du manifeste de sauvegarde ne permet pas les sauvegardes incrémentales" + +#: load_manifest.c:281 +#, c-format +msgid "duplicate path name in backup manifest: \"%s\"" +msgstr "nom de chemin dupliqué dans le manifeste de sauvegarde : « %s »" + +#: pg_combinebackup.c:220 pg_combinebackup.c:228 +#, c-format +msgid "Try \"%s --help\" for more information." +msgstr "Essayez « %s --help » pour plus d'informations." + +#: pg_combinebackup.c:227 +#, c-format +msgid "no input directories specified" +msgstr "aucun répertoire en entrée indiqué" + +#: pg_combinebackup.c:233 +#, c-format +msgid "no output directory specified" +msgstr "aucun répertoire cible indiqué" + +#: pg_combinebackup.c:301 +#, c-format +msgid "%s: manifest system identifier is %llu, but control file has %llu" +msgstr "%s: l'identifieur système du manifeste est %llu, mais le fichier de contrôle a %llu" + +#: pg_combinebackup.c:340 +#, c-format +msgid "cannot generate a manifest because no manifest is available for the final input backup" +msgstr "ne peut pas générer un manifeste parce qu'aucun manifeste n'est disponible pour la sauvegarde finale en entrée" + +#: pg_combinebackup.c:387 +#, c-format +msgid "could not create symbolic link from \"%s\" to \"%s\": %m" +msgstr "n'a pas pu créer le lien symbolique de « %s » vers « %s » : %m" + +#: pg_combinebackup.c:399 pg_combinebackup.c:730 pg_combinebackup.c:927 +#, c-format +msgid "could not create directory \"%s\": %m" +msgstr "n'a pas pu créer le répertoire « %s » : %m" + +#: pg_combinebackup.c:454 +#, c-format +msgid "directory name too long" +msgstr "nom du répertoire trop long" + +#: pg_combinebackup.c:461 +#, c-format +msgid "multiple \"=\" signs in tablespace mapping" +msgstr "multiple signes « = » dans la correspondance de tablespace" + +#: pg_combinebackup.c:469 +#, c-format +msgid "invalid tablespace mapping format \"%s\", must be \"OLDDIR=NEWDIR\"" +msgstr "format de correspondance de tablespace « %s » invalide, doit être « ANCIENREPERTOIRE=NOUVEAUREPERTOIRE »" + +#: pg_combinebackup.c:480 pg_combinebackup.c:484 +#, c-format +msgid "old directory is not an absolute path in tablespace mapping: %s" +msgstr "l'ancien répertoire n'est pas un chemin absolu dans la correspondance 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" +msgstr "la sauvegarde à « %s » est une sauvegarde complète, mais seule la première sauvegarde devrait être une sauvegarde complète" + +#: pg_combinebackup.c:556 +#, c-format +msgid "backup at \"%s\" is an incremental backup, but the first backup should be a full backup" +msgstr "la sauvegarde à « %s » est une sauvegarde incrémentale, mais la première sauvegarde devrait être une sauvegarde complète" + +#: pg_combinebackup.c:559 +#, c-format +msgid "backup at \"%s\" starts on timeline %u, but expected %u" +msgstr "la sauvegarde à « %s » commence à la timeline %u, mais attendait %u" + +#: pg_combinebackup.c:562 +#, c-format +msgid "backup at \"%s\" starts at LSN %X/%X, but expected %X/%X" +msgstr "la sauvegarde à « %s » commence au LSN %X/%X, mais s'attendait à %X/%X" + +#: pg_combinebackup.c:614 +#, c-format +msgid "%s: CRC is incorrect" +msgstr "%s : la valeur CRC n'est pas correcte" + +#: pg_combinebackup.c:618 +#, c-format +msgid "%s: unexpected control file version" +msgstr "%s : version inattendue pour le fichier de contrôle" + +#: pg_combinebackup.c:625 +#, c-format +msgid "%s: expected system identifier %llu, but found %llu" +msgstr "%s : identifieur système attendu %llu, mais %llu trouvé" + +#: pg_combinebackup.c:657 +#, c-format +msgid "only some backups have checksums enabled" +msgstr "seules certaines sauvegardes ont les sommes de contrôle activées" + +#: pg_combinebackup.c:658 +#, c-format +msgid "Disable, and optionally reenable, checksums on the output directory to avoid failures." +msgstr "Désactivez, puis activez si vous le souhaitez, les sommes de contrôle sur le répertoire en sortie pour éviter les échecs" + +#: pg_combinebackup.c:693 +#, c-format +msgid "removing output directory \"%s\"" +msgstr "suppression du répertoire en sortie « %s »" + +#: pg_combinebackup.c:695 +#, c-format +msgid "failed to remove output directory" +msgstr "échec lors de la suppression du répertoire en sortie" + +#: pg_combinebackup.c:699 +#, c-format +msgid "removing contents of output directory \"%s\"" +msgstr "suppression du contenu du répertoire en sortie « %s »" + +#: pg_combinebackup.c:702 +#, c-format +msgid "failed to remove contents of output directory" +msgstr "échec lors de la suppression du contenu du répertoire en sortie" + +#: pg_combinebackup.c:742 +#, c-format +msgid "directory \"%s\" exists but is not empty" +msgstr "le répertoire « %s » existe mais n'est pas vide" + +#: pg_combinebackup.c:745 +#, c-format +msgid "could not access directory \"%s\": %m" +msgstr "n'a pas pu accéder au répertoire « %s » : %m" + +#: pg_combinebackup.c:759 +#, c-format +msgid "" +"%s reconstructs full backups from incrementals.\n" +"\n" +msgstr "" +"%s reconstruit des sauvegardes complètes à partir de sauvegardes incrémentales.\n" +"\n" + +#: pg_combinebackup.c:760 +#, c-format +msgid "Usage:\n" +msgstr "Usage :\n" + +#: pg_combinebackup.c:761 +#, c-format +msgid " %s [OPTION]... DIRECTORY...\n" +msgstr " %s [OPTION]... RÉPERTOIRE...\n" + +#: pg_combinebackup.c:762 +#, c-format +msgid "" +"\n" +"Options:\n" +msgstr "" +"\n" +"Options :\n" + +#: pg_combinebackup.c:763 +#, c-format +msgid " -d, --debug generate lots of debugging output\n" +msgstr " -d, --debug engendre un grand nombre de traces de débogage\n" + +#: pg_combinebackup.c:764 +#, c-format +msgid " -n, --dry-run do not actually do anything\n" +msgstr " -n, --dry-run ne fait rien\n" + +#: pg_combinebackup.c:765 +#, c-format +msgid " -N, --no-sync do not wait for changes to be written safely to disk\n" +msgstr "" +" -N, --nosync n'attend pas que les modifications soient\n" +" proprement écrites sur disque\n" + +#: pg_combinebackup.c:766 +#, c-format +msgid " -o, --output=DIRECTORY output directory\n" +msgstr " -o, --output=RÉPERTOIRE répertoire en sortie\n" + +#: pg_combinebackup.c:767 +#, c-format +msgid "" +" -T, --tablespace-mapping=OLDDIR=NEWDIR\n" +" relocate tablespace in OLDDIR to NEWDIR\n" +msgstr "" +" -T, --tablespace-mapping=ANCIENREP=NOUVEAUREP\n" +" déplace le tablespace de ANCIENREP vers NOUVEAUREP\n" + +#: pg_combinebackup.c:769 +#, c-format +msgid " --clone clone (reflink) files instead of copying\n" +msgstr " --clone clone (reflink) les fichiers au lieu de les copier\n" + +#: pg_combinebackup.c:770 +#, c-format +msgid " --copy copy files (default)\n" +msgstr " --copy copie les fichiers (par défaut)\n" + +#: pg_combinebackup.c:771 +#, c-format +msgid " --copy-file-range copy using copy_file_range() system call\n" +msgstr " --copy-file-range copie les fichiers en utilisant la fonction système copy_file_range()\n" + +#: pg_combinebackup.c:772 +#, c-format +msgid "" +" --manifest-checksums=SHA{224,256,384,512}|CRC32C|NONE\n" +" use algorithm for manifest checksums\n" +msgstr "" +" --manifest-checksums=SHA{224,256,384,512}|CRC32C|NONE\n" +" utilise l'algorithme pour les sommes de contrôle du manifeste\n" + +#: pg_combinebackup.c:774 +#, c-format +msgid " --no-manifest suppress generation of backup manifest\n" +msgstr " --no-manifest ne génère pas de manifeste de sauvegarde\n" + +#: pg_combinebackup.c:775 +#, c-format +msgid " --sync-method=METHOD set method for syncing files to disk\n" +msgstr " --sync-method=METHODE configure la méthode pour synchroniser les fichiers sur disque\n" + +#: pg_combinebackup.c:776 +#, c-format +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version affiche la version puis quitte\n" + +#: pg_combinebackup.c:777 +#, c-format +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help affiche cette aide puis quitte\n" + +#: pg_combinebackup.c:779 +#, c-format +msgid "" +"\n" +"Report bugs to <%s>.\n" +msgstr "" +"\n" +"Rapporter les bogues à <%s>.\n" + +#: pg_combinebackup.c:780 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "Page d'accueil de %s : <%s>\n" + +#: pg_combinebackup.c:995 +#, c-format +msgid "skipping symbolic link \"%s\"" +msgstr "ignore le lien symbolique « %s »" + +#: pg_combinebackup.c:997 +#, c-format +msgid "skipping special file \"%s\"" +msgstr "ignore le fichier spécial « %s »" + +#: pg_combinebackup.c:1073 reconstruct.c:305 +#, c-format +msgid "manifest file \"%s\" contains no entry for file \"%s\"" +msgstr "le fichier manifeste « %s » ne contient aucune entrée pour le fichier « %s »" + +#: pg_combinebackup.c:1189 +#, c-format +msgid "%s: server version too old" +msgstr "%s : version trop ancienne du serveur" + +#: pg_combinebackup.c:1190 +#, c-format +msgid "%s: could not parse version number" +msgstr "%s : n'a pas pu analyser le numéro de version" + +#: pg_combinebackup.c:1309 +#, c-format +msgid "could not read symbolic link \"%s\": %m" +msgstr "n'a pas pu lire le lien symbolique « %s » : %m" + +#: pg_combinebackup.c:1312 +#, c-format +msgid "target of symbolic link \"%s\" is too long" +msgstr "la cible « %s » du lien symbolique est trop longue" + +#: pg_combinebackup.c:1315 +#, c-format +msgid "target of symbolic link \"%s\" is relative" +msgstr "la cible « %s » du lien symbolique est relative" + +#: pg_combinebackup.c:1337 +#, c-format +msgid "tablespace at \"%s\" has no tablespace mapping" +msgstr "le tablespace sur \"%s\" n'a pas de correspondance de tablespace" + +#: pg_combinebackup.c:1355 +#, c-format +msgid "tablespaces with OIDs %u and %u both point at directory \"%s\"" +msgstr "les tablespaces d'OID %u et %u pointent tous les deux au répertoire « %s »" + +#: pg_combinebackup.c:1364 +#, c-format +msgid "could not close directory \"%s\": %m" +msgstr "n'a pas pu fermer le répertoire « %s » : %m" + +#: pg_combinebackup.c:1385 +#, c-format +msgid "file \"%s\" is too large" +msgstr "le fichier « %s » est trop gros" + +#: pg_combinebackup.c:1402 +#, c-format +msgid "could not read file \"%s\": read %zd of %lld" +msgstr "n'a pas pu lire le fichier « %s » : a lu %zd sur %lld" + +#: reconstruct.c:339 +#, c-format +msgid "full backup contains unexpected incremental file \"%s\"" +msgstr "la sauvegarde complète contient un fichier incrémental inattendu « %s »" + +#: reconstruct.c:423 +#, c-format +msgid "file \"%s\" is too short: expected %llu, found %llu" +msgstr "le fichier « %s » est trop court : attendait %llu, a trouvé %llu" + +#: reconstruct.c:465 +#, c-format +msgid "file \"%s\" has bad incremental magic number (0x%x, expected 0x%x)" +msgstr "le fichier « %s » a un mauvaise numéro magique incrémental (0x%x et non pas 0x%x)" + +#: reconstruct.c:471 +#, c-format +msgid "file \"%s\" has block count %u in excess of segment size %u" +msgstr "le fichier « %s » a %u blocs en plus de la taille de segment %u" + +#: reconstruct.c:478 +#, c-format +msgid "file \"%s\" has truncation block length %u in excess of segment size %u" +msgstr "le fichier « %s » a une longueur de bloc %u pour la troncation en excès de la taille de segment %u" + +#: reconstruct.c:542 +#, c-format +msgid "could not read file \"%s\": read %d of %u" +msgstr "n'a pas pu lire le fichier « %s » : a lu %d sur %u" + +#: reconstruct.c:786 +#, c-format +msgid "could not read from file \"%s\", offset %llu: read %d of %d" +msgstr "n'a pas pu lire le fichier « %s » à la position %llu : a lu %d sur %d" diff --git a/src/bin/pg_combinebackup/po/ja.po b/src/bin/pg_combinebackup/po/ja.po index 3ae33d2f690..068f398f0d9 100644 --- a/src/bin/pg_combinebackup/po/ja.po +++ b/src/bin/pg_combinebackup/po/ja.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_combinebackup (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-06-21 17:48+0900\n" -"PO-Revision-Date: 2024-06-24 10:03+0900\n" +"POT-Creation-Date: 2024-11-05 09:21+0900\n" +"PO-Revision-Date: 2024-11-05 09:28+0900\n" "Last-Translator: Kyotaro Horiguchi \n" "Language-Team: \n" "Language: ja\n" @@ -17,22 +17,22 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.8.13\n" -#: ../../../src/common/logging.c:276 +#: ../../../src/common/logging.c:279 #, c-format msgid "error: " msgstr "エラー: " -#: ../../../src/common/logging.c:283 +#: ../../../src/common/logging.c:286 #, c-format msgid "warning: " msgstr "警告: " -#: ../../../src/common/logging.c:294 +#: ../../../src/common/logging.c:297 #, c-format msgid "detail: " msgstr "詳細: " -#: ../../../src/common/logging.c:301 +#: ../../../src/common/logging.c:304 #, c-format msgid "hint: " msgstr "ヒント: " @@ -42,8 +42,8 @@ msgstr "ヒント: " msgid "could not open file \"%s\" for reading: %m" msgstr "ファイル\"%s\"を読み込み用にオープンできませんでした: %m" -#: ../../common/controldata_utils.c:110 copy_file.c:146 load_manifest.c:161 -#: load_manifest.c:199 pg_combinebackup.c:1387 reconstruct.c:527 +#: ../../common/controldata_utils.c:110 copy_file.c:150 load_manifest.c:161 +#: load_manifest.c:199 pg_combinebackup.c:1400 reconstruct.c:540 #, c-format msgid "could not read file \"%s\": %m" msgstr "ファイル\"%s\"の読み込みに失敗しました: %m" @@ -54,9 +54,9 @@ 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 -#: backup_label.c:174 copy_file.c:64 pg_combinebackup.c:526 -#: pg_combinebackup.c:1162 reconstruct.c:356 reconstruct.c:727 -#: write_manifest.c:187 +#: backup_label.c:174 copy_file.c:68 pg_combinebackup.c:538 +#: pg_combinebackup.c:1175 reconstruct.c:369 reconstruct.c:740 +#: write_manifest.c:188 #, c-format msgid "could not close file \"%s\": %m" msgstr "ファイル\"%s\"をクローズできませんでした: %m" @@ -78,31 +78,32 @@ msgstr "" "されるものと一致しないようです。この場合以下の結果は不正確になります。また、\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 backup_label.c:143 copy_file.c:62 -#: copy_file.c:135 copy_file.c:167 copy_file.c:171 copy_file.c:218 -#: copy_file.c:258 load_manifest.c:128 pg_combinebackup.c:511 -#: pg_combinebackup.c:1154 reconstruct.c:510 reconstruct.c:625 -#: write_manifest.c:250 +#: ../../common/controldata_utils.c:230 ../../common/file_utils.c:71 +#: ../../common/file_utils.c:348 ../../common/file_utils.c:407 +#: ../../common/file_utils.c:481 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 +#: write_manifest.c:251 #, c-format msgid "could not open file \"%s\": %m" msgstr "ファイル\"%s\"をオープンできませんでした: %m" -#: ../../common/controldata_utils.c:249 backup_label.c:160 reconstruct.c:746 -#: write_manifest.c:260 +#: ../../common/controldata_utils.c:249 backup_label.c:160 reconstruct.c:759 +#: write_manifest.c:261 #, 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 +#: ../../common/controldata_utils.c:268 ../../common/file_utils.c:419 +#: ../../common/file_utils.c:489 #, c-format msgid "could not fsync file \"%s\": %m" msgstr "ファイル\"%s\"をfsyncできませんでした: %m" #: ../../common/cryptohash.c:261 ../../common/cryptohash_openssl.c:356 -#: ../../common/parse_manifest.c:157 ../../common/parse_manifest.c:853 +#: ../../common/jsonapi.c:2317 ../../common/parse_manifest.c:157 +#: ../../common/parse_manifest.c:853 #, c-format msgid "out of memory" msgstr "メモリ不足です" @@ -131,137 +132,141 @@ msgstr "メモリ不足です\n" msgid "cannot duplicate null pointer (internal error)\n" msgstr "nullポインタは複製できません(内部エラー)\n" -#: ../../common/file_utils.c:76 +#: ../../common/file_utils.c:77 #, 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 -#: backup_label.c:187 load_manifest.c:133 pg_combinebackup.c:664 -#: pg_combinebackup.c:1118 pg_combinebackup.c:1370 reconstruct.c:199 -#: reconstruct.c:408 +#: ../../common/file_utils.c:121 ../../common/file_utils.c:567 +#: 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 #, c-format msgid "could not stat file \"%s\": %m" msgstr "ファイル\"%s\"のstatに失敗しました: %m" -#: ../../common/file_utils.c:130 ../../common/file_utils.c:227 +#: ../../common/file_utils.c:131 ../../common/file_utils.c:228 #: ../../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_combinebackup.c:920 pg_combinebackup.c:1243 +#: ../../common/file_utils.c:152 ../../common/file_utils.c:282 +#: pg_combinebackup.c:933 pg_combinebackup.c:1256 #, c-format msgid "could not open directory \"%s\": %m" msgstr "ディレクトリ\"%s\"をオープンできませんでした: %m" -#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 +#: ../../common/file_utils.c:170 ../../common/file_utils.c:316 #, c-format msgid "could not read directory \"%s\": %m" msgstr "ディレクトリ\"%s\"を読み取れませんでした: %m" -#: ../../common/file_utils.c:498 +#: ../../common/file_utils.c:499 #, c-format msgid "could not rename file \"%s\" to \"%s\": %m" msgstr "ファイル\"%s\"の名前を\"%s\"に変更できませんでした: %m" -#: ../../common/jsonapi.c:2121 +#: ../../common/jsonapi.c:2342 msgid "Recursive descent parser cannot use incremental lexer." msgstr "再帰降下パーサーは差分字句解析器を使用できません。" -#: ../../common/jsonapi.c:2123 +#: ../../common/jsonapi.c:2344 msgid "Incremental parser requires incremental lexer." msgstr "差分パーサーは差分字句解析器を必要とします。" -#: ../../common/jsonapi.c:2125 +#: ../../common/jsonapi.c:2346 msgid "JSON nested too deep, maximum permitted depth is 6400." msgstr "JSONのネストが深すぎます、可能な最大の深さは6400です。" -#: ../../common/jsonapi.c:2127 +#: ../../common/jsonapi.c:2348 #, c-format msgid "Escape sequence \"\\%.*s\" is invalid." msgstr "エスケープシーケンス\"\\%.*s\"は不正です。" -#: ../../common/jsonapi.c:2131 +#: ../../common/jsonapi.c:2352 #, c-format msgid "Character with value 0x%02x must be escaped." msgstr "0x%02x値を持つ文字はエスケープしなければなりません" -#: ../../common/jsonapi.c:2135 +#: ../../common/jsonapi.c:2356 #, c-format msgid "Expected end of input, but found \"%.*s\"." msgstr "入力の終端を想定していましたが、\"\\%.*s\"でした。" -#: ../../common/jsonapi.c:2138 +#: ../../common/jsonapi.c:2359 #, c-format msgid "Expected array element or \"]\", but found \"%.*s\"." msgstr "配列要素または\"]\"を想定していましたが、\"\\%.*s\"でした。" -#: ../../common/jsonapi.c:2141 +#: ../../common/jsonapi.c:2362 #, c-format msgid "Expected \",\" or \"]\", but found \"%.*s\"." msgstr "\",\"または\"]\"を想定していましたが、\"\\%.*s\"でした。" -#: ../../common/jsonapi.c:2144 +#: ../../common/jsonapi.c:2365 #, c-format msgid "Expected \":\", but found \"%.*s\"." msgstr "\":\"を想定していましたが、\"\\%.*s\"でした。" -#: ../../common/jsonapi.c:2147 +#: ../../common/jsonapi.c:2368 #, c-format msgid "Expected JSON value, but found \"%.*s\"." msgstr "JSON値を想定していましたが、\"\\%.*s\"でした。" -#: ../../common/jsonapi.c:2150 +#: ../../common/jsonapi.c:2371 msgid "The input string ended unexpectedly." msgstr "入力文字列が予期せず終了しました。" -#: ../../common/jsonapi.c:2152 +#: ../../common/jsonapi.c:2373 #, c-format msgid "Expected string or \"}\", but found \"%.*s\"." msgstr "文字列または\"}\"を想定していましたが、\"\\%.*s\"でした。" -#: ../../common/jsonapi.c:2155 +#: ../../common/jsonapi.c:2376 #, c-format msgid "Expected \",\" or \"}\", but found \"%.*s\"." msgstr "\",\"または\"}\"を想定していましたが、\"\\%.*s\"でした。" -#: ../../common/jsonapi.c:2158 +#: ../../common/jsonapi.c:2379 #, c-format msgid "Expected string, but found \"%.*s\"." msgstr "文字列を想定していましたが、\"\\%.*s\"でした。" -#: ../../common/jsonapi.c:2161 +#: ../../common/jsonapi.c:2382 #, c-format msgid "Token \"%.*s\" is invalid." msgstr "トークン\"\\%.*s\"は不正です。" -#: ../../common/jsonapi.c:2164 +#: ../../common/jsonapi.c:2388 msgid "\\u0000 cannot be converted to text." msgstr "\\u0000 はテキストに変換できません。" -#: ../../common/jsonapi.c:2166 +#: ../../common/jsonapi.c:2390 msgid "\"\\u\" must be followed by four hexadecimal digits." msgstr "\"\\u\"の後には16進数の4桁が続かなければなりません。" -#: ../../common/jsonapi.c:2169 +#: ../../common/jsonapi.c:2393 msgid "Unicode escape values cannot be used for code point values above 007F when the encoding is not UTF8." msgstr "エンコーディングがUTF-8ではない場合、コードポイントの値が 007F 以上についてはUnicodeエスケープの値は使用できません。" -#: ../../common/jsonapi.c:2178 +#: ../../common/jsonapi.c:2402 #, c-format msgid "Unicode escape value could not be translated to the server's encoding %s." msgstr "Unicodeエスケープの値がサーバーエンコーディング%sに変換できませんでした。" -#: ../../common/jsonapi.c:2185 +#: ../../common/jsonapi.c:2409 msgid "Unicode high surrogate must not follow a high surrogate." msgstr "Unicodeのハイサロゲートはハイサロゲートに続いてはいけません。" -#: ../../common/jsonapi.c:2187 +#: ../../common/jsonapi.c:2411 msgid "Unicode low surrogate must follow a high surrogate." msgstr "Unicodeのローサロゲートはハイサロゲートに続かなければなりません。" +#: ../../common/jsonapi.c:2433 +msgid "out of memory while constructing error description" +msgstr "エラー記述の構築中にメモリ不足" + #: ../../common/parse_manifest.c:159 ../../common/parse_manifest.c:855 #, c-format msgid "could not initialize checksum of manifest" @@ -325,8 +330,8 @@ msgid "unexpected manifest version" msgstr "予期しない目録バージョン" #: ../../common/parse_manifest.c:637 -msgid "manifest system identifier not an integer" -msgstr "目録のシステム識別子が整数ではありません" +msgid "system identifier in manifest not an integer" +msgstr "目録中のシステム識別子が整数ではありません" #: ../../common/parse_manifest.c:662 msgid "missing path name" @@ -352,7 +357,7 @@ msgstr "ファイル名をデコードできませんでした" msgid "file size is not an integer" msgstr "ファイルサイズが整数ではありません" -#: ../../common/parse_manifest.c:700 pg_combinebackup.c:190 +#: ../../common/parse_manifest.c:700 pg_combinebackup.c:199 #, c-format msgid "unrecognized checksum algorithm: \"%s\"" msgstr "認識できないチェックサムアルゴリズム: \"%s\"" @@ -464,63 +469,63 @@ msgstr "%s: %sが見つかりませんでした" msgid "%s: %s requires %s" msgstr "%s: %sは%sを必要とします" -#: backup_label.c:162 reconstruct.c:748 write_manifest.c:262 +#: backup_label.c:162 reconstruct.c:761 write_manifest.c:263 #, c-format msgid "could not write file \"%s\": wrote %d of %d" msgstr "ファイル\"%1$s\"の書き込みができませんでした: %3$dバイト中%2$dバイト書き込みました" -#: backup_label.c:166 copy_file.c:142 copy_file.c:189 reconstruct.c:708 -#: reconstruct.c:754 write_manifest.c:270 +#: backup_label.c:166 copy_file.c:146 copy_file.c:193 reconstruct.c:721 +#: reconstruct.c:767 write_manifest.c:271 #, c-format msgid "could not update checksum of file \"%s\"" msgstr "ファイル\"%s\"のチェックサムの更新ができませんでした" -#: copy_file.c:182 +#: copy_file.c:186 #, c-format msgid "could not write to file \"%s\": %m" msgstr "ファイル\"%s\"を書き出せませんでした: %m" -#: copy_file.c:184 +#: copy_file.c:188 #, c-format msgid "could not write to file \"%s\", offset %u: wrote %d of %d" msgstr "ファイル \"%1$s\"、オフセット%2$uで書き込みができませんでした: %4$dバイト中%3$dバイト書き込みました" -#: copy_file.c:195 reconstruct.c:771 +#: copy_file.c:199 reconstruct.c:784 #, c-format msgid "could not read from file \"%s\": %m" msgstr "ファイル\"%s\"から読み取れませんでした: %m" -#: copy_file.c:214 +#: copy_file.c:218 #, c-format msgid "error while cloning file \"%s\" to \"%s\": %m" msgstr "ファイル\"%s\"の\"%s\"へのクローニング中のエラー: %m" -#: copy_file.c:222 copy_file.c:262 +#: copy_file.c:229 copy_file.c:272 #, c-format msgid "could not create file \"%s\": %m" msgstr "ファイル\"%s\"を作成できませんでした: %m" -#: copy_file.c:230 +#: copy_file.c:237 #, c-format msgid "error while cloning file \"%s\" to \"%s\": %s" msgstr "ファイル\"%s\"の\"%s\"へのクローニング中のエラー: %s" -#: copy_file.c:235 pg_combinebackup.c:239 +#: copy_file.c:245 pg_combinebackup.c:251 #, c-format msgid "file cloning not supported on this platform" msgstr "このプラットフォームではファイルのクローンはサポートされません" -#: copy_file.c:268 reconstruct.c:691 +#: copy_file.c:278 reconstruct.c:704 #, c-format msgid "error while copying file range from \"%s\" to \"%s\": %m" msgstr "\"%s\"の\"%s\"へのファイル範囲のコピー中のエラー: %m" -#: copy_file.c:275 pg_combinebackup.c:252 reconstruct.c:711 +#: copy_file.c:285 pg_combinebackup.c:264 reconstruct.c:724 #, c-format msgid "copy_file_range not supported on this platform" msgstr "このプラットフォームではcopy_file_rangeはサポートされません" -#: copy_file.c:290 +#: copy_file.c:300 #, c-format msgid "could not copy file \"%s\" to \"%s\": %m" msgstr "ファイル\"%s\"を\"%s\"にコピーできませんでした: %m" @@ -550,137 +555,137 @@ msgstr "バックアップ目録のバージョン1は差分バックアップ msgid "duplicate path name in backup manifest: \"%s\"" msgstr "バックアップ目録内の重複パス名: \"%s\"" -#: pg_combinebackup.c:208 pg_combinebackup.c:216 +#: pg_combinebackup.c:220 pg_combinebackup.c:228 #, c-format msgid "Try \"%s --help\" for more information." msgstr "詳細は\"%s --help\"を実行してください。" -#: pg_combinebackup.c:215 +#: pg_combinebackup.c:227 #, c-format msgid "no input directories specified" msgstr "入力ディレクトリが指定されていません" -#: pg_combinebackup.c:221 +#: pg_combinebackup.c:233 #, c-format msgid "no output directory specified" msgstr "出力ディレクトリが指定されていません" -#: pg_combinebackup.c:289 +#: pg_combinebackup.c:301 #, c-format msgid "%s: manifest system identifier is %llu, but control file has %llu" msgstr "%s: 目録のシステム識別子が%lluですが、制御ファイルでは%lluです" -#: pg_combinebackup.c:328 +#: pg_combinebackup.c:340 #, c-format -msgid "can't generate a manifest because no manifest is available for the final input backup" +msgid "cannot generate a manifest because no manifest is available for the final input backup" msgstr "最後の入力バックアップに目録がないため目録を生成できません" -#: pg_combinebackup.c:375 +#: pg_combinebackup.c:387 #, c-format msgid "could not create symbolic link from \"%s\" to \"%s\": %m" msgstr "\"%s\"から\"%s\"へのシンボリックリンクを作成できませんでした: %m" -#: pg_combinebackup.c:387 pg_combinebackup.c:718 pg_combinebackup.c:914 +#: pg_combinebackup.c:399 pg_combinebackup.c:730 pg_combinebackup.c:927 #, c-format msgid "could not create directory \"%s\": %m" msgstr "ディレクトリ\"%s\"を作成できませんでした: %m" -#: pg_combinebackup.c:442 +#: pg_combinebackup.c:454 #, c-format msgid "directory name too long" msgstr "ディレクトリ名が長すぎます" -#: pg_combinebackup.c:449 +#: pg_combinebackup.c:461 #, c-format msgid "multiple \"=\" signs in tablespace mapping" msgstr "テーブル空間のマッピングに複数の\"=\"記号があります" -#: pg_combinebackup.c:457 +#: pg_combinebackup.c:469 #, c-format msgid "invalid tablespace mapping format \"%s\", must be \"OLDDIR=NEWDIR\"" msgstr "テーブル空間のマッピング形式\"%s\"が不正です。\"旧DIR=新DIR\"でなければなりません" -#: pg_combinebackup.c:468 pg_combinebackup.c:472 +#: pg_combinebackup.c:480 pg_combinebackup.c:484 #, c-format msgid "old directory is not an absolute path in tablespace mapping: %s" msgstr "テーブル空間のマッピングにおいて、旧ディレクトリが絶対パスではありません: %s" -#: pg_combinebackup.c:541 +#: pg_combinebackup.c:553 #, c-format msgid "backup at \"%s\" is a full backup, but only the first backup should be a full backup" msgstr "\"%s\"のバックアップはフルバックアップですが、最初のバックアップのみがフルバックアップである必要があります" -#: pg_combinebackup.c:544 +#: pg_combinebackup.c:556 #, c-format msgid "backup at \"%s\" is an incremental backup, but the first backup should be a full backup" msgstr "\"%s\"のバックアップは差分バックアップですが、最初のバックアップはフルバックアップである必要があります" -#: pg_combinebackup.c:547 +#: pg_combinebackup.c:559 #, c-format msgid "backup at \"%s\" starts on timeline %u, but expected %u" msgstr "\"%s\"のバックアップはタイムライン%uで始まっていますが、%uを期待していました" -#: pg_combinebackup.c:550 +#: pg_combinebackup.c:562 #, c-format msgid "backup at \"%s\" starts at LSN %X/%X, but expected %X/%X" msgstr "\"%s\"のバックアップはLSN %X/%Xで始まっていますが、%X/%Xを期待していました" -#: pg_combinebackup.c:602 +#: pg_combinebackup.c:614 #, c-format msgid "%s: CRC is incorrect" msgstr "%s: CRCが正しくありません" -#: pg_combinebackup.c:606 +#: pg_combinebackup.c:618 #, c-format msgid "%s: unexpected control file version" msgstr "%s: 予期しない制御ファイルバージョン" -#: pg_combinebackup.c:613 +#: pg_combinebackup.c:625 #, c-format msgid "%s: expected system identifier %llu, but found %llu" msgstr "%s: システム識別子 %llu を予期していましたが、%llu でした" -#: pg_combinebackup.c:645 +#: pg_combinebackup.c:657 #, c-format msgid "only some backups have checksums enabled" msgstr "一部のバックアップのみチェックサムが有効化されています" -#: pg_combinebackup.c:646 +#: pg_combinebackup.c:658 #, c-format -msgid "disable, and optionally reenable, checksums on the output directory to avoid failures" -msgstr "失敗を防止するためには出力先ディレクトリでのチェックサムを無効にして、必要に応じて再度有効にしてください" +msgid "Disable, and optionally reenable, checksums on the output directory to avoid failures." +msgstr "失敗を防止するためには出力先ディレクトリでのチェックサムを無効にして、必要に応じて再度有効にしてください。" -#: pg_combinebackup.c:681 +#: pg_combinebackup.c:693 #, c-format msgid "removing output directory \"%s\"" msgstr "出力ディレクトリ\"%s\"を削除しています" -#: pg_combinebackup.c:683 +#: pg_combinebackup.c:695 #, c-format msgid "failed to remove output directory" msgstr "出力ディレクトリの削除に失敗しました" -#: pg_combinebackup.c:687 +#: pg_combinebackup.c:699 #, c-format msgid "removing contents of output directory \"%s\"" msgstr "出力ディレクトリ\"%s\"の内容の削除中" -#: pg_combinebackup.c:690 +#: pg_combinebackup.c:702 #, c-format msgid "failed to remove contents of output directory" msgstr "出力ディレクトリの内容の削除に失敗しました" -#: pg_combinebackup.c:730 +#: pg_combinebackup.c:742 #, c-format msgid "directory \"%s\" exists but is not empty" msgstr "ディレクトリ\"%s\"は存在しますが、空ではありません" -#: pg_combinebackup.c:733 +#: pg_combinebackup.c:745 #, c-format msgid "could not access directory \"%s\": %m" msgstr "ディレクトリ\"%s\"にアクセスできませんでした: %m" -#: pg_combinebackup.c:747 +#: pg_combinebackup.c:759 #, c-format msgid "" "%s reconstructs full backups from incrementals.\n" @@ -689,17 +694,17 @@ msgstr "" "%s 差分からフルバックアップを再構築する。\n" "\n" -#: pg_combinebackup.c:748 +#: pg_combinebackup.c:760 #, c-format msgid "Usage:\n" msgstr "使用方法:\n" -#: pg_combinebackup.c:749 +#: pg_combinebackup.c:761 #, c-format msgid " %s [OPTION]... DIRECTORY...\n" msgstr " %s [オプション]... ディレクトリ...\n" -#: pg_combinebackup.c:750 +#: pg_combinebackup.c:762 #, c-format msgid "" "\n" @@ -708,27 +713,27 @@ msgstr "" "\n" "オプション:\n" -#: pg_combinebackup.c:751 +#: pg_combinebackup.c:763 #, c-format msgid " -d, --debug generate lots of debugging output\n" msgstr " -d, --debug 多くのデバッグ用の出力を生成\n" -#: pg_combinebackup.c:752 +#: pg_combinebackup.c:764 #, c-format msgid " -n, --dry-run do not actually do anything\n" msgstr " -n, --dry-run 実際には何もしない\n" -#: pg_combinebackup.c:753 +#: pg_combinebackup.c:765 #, c-format msgid " -N, --no-sync do not wait for changes to be written safely to disk\n" msgstr " -N, --no-sync 変更の安全なディスクへの書き出しを待機しない\n" -#: pg_combinebackup.c:754 +#: pg_combinebackup.c:766 #, c-format msgid " -o, --output=DIRECTORY output directory\n" msgstr " -o, --output=DIRECTORY 出力ディレクトリ\n" -#: pg_combinebackup.c:755 +#: pg_combinebackup.c:767 #, c-format msgid "" " -T, --tablespace-mapping=OLDDIR=NEWDIR\n" @@ -737,19 +742,24 @@ msgstr "" " -T, --tablespace-mapping=OLDDIR=NEWDIR\n" " OLDDIRにあるテーブルスペースをNEWDIRへ移動\n" -#: pg_combinebackup.c:757 +#: pg_combinebackup.c:769 #, c-format -msgid " --clone clone (reflink) instead of copying files\n" +msgid " --clone clone (reflink) files instead of copying\n" msgstr "" -" --clone ファイルコピーではなくクローニング(またはreflink)を\n" -" 行う\n" +" --clone ファイルをコピーするのではなくクローニング(reflink)\n" +" を行う\n" + +#: pg_combinebackup.c:770 +#, c-format +msgid " --copy copy files (default)\n" +msgstr " --copy ファイルをコピーする(デフォルト)\n" -#: pg_combinebackup.c:758 +#: pg_combinebackup.c:771 #, c-format -msgid " --copy-file-range copy using copy_file_range() syscall\n" +msgid " --copy-file-range copy using copy_file_range() system call\n" msgstr " --copy-file-range copy_file_range()システムコールでコピーする\n" -#: pg_combinebackup.c:759 +#: pg_combinebackup.c:772 #, c-format msgid "" " --manifest-checksums=SHA{224,256,384,512}|CRC32C|NONE\n" @@ -758,27 +768,27 @@ msgstr "" " --manifest-checksums=SHA{224,256,384,512}|CRC32C|NONE\n" " 目録チェックサムのアルゴリズムを指定\n" -#: pg_combinebackup.c:761 +#: pg_combinebackup.c:774 #, c-format msgid " --no-manifest suppress generation of backup manifest\n" msgstr " --no-manifest バックアップマニフェストの生成を抑止\n" -#: pg_combinebackup.c:762 +#: pg_combinebackup.c:775 #, c-format msgid " --sync-method=METHOD set method for syncing files to disk\n" msgstr " --sync-method=METHOD ファイルをディスクに同期させる方法を指定\n" -#: pg_combinebackup.c:763 +#: pg_combinebackup.c:776 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version バージョン情報を表示して終了\n" -#: pg_combinebackup.c:764 +#: pg_combinebackup.c:777 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help このヘルプを表示して終了\n" -#: pg_combinebackup.c:766 +#: pg_combinebackup.c:779 #, c-format msgid "" "\n" @@ -787,107 +797,107 @@ msgstr "" "\n" "バグは<%s>に報告してください。\n" -#: pg_combinebackup.c:767 +#: pg_combinebackup.c:780 #, c-format msgid "%s home page: <%s>\n" msgstr "%s ホームページ: <%s>\n" -#: pg_combinebackup.c:982 +#: pg_combinebackup.c:995 #, c-format msgid "skipping symbolic link \"%s\"" msgstr "シンボリックリンク\"%s\"をスキップします" -#: pg_combinebackup.c:984 +#: pg_combinebackup.c:997 #, c-format msgid "skipping special file \"%s\"" msgstr "スペシャルファイル\"%s\"をスキップしています" -#: pg_combinebackup.c:1060 +#: pg_combinebackup.c:1073 reconstruct.c:305 #, c-format -msgid "\"%s\" contains no entry for \"%s\"" -msgstr "\"%s\" には\"%s\"のエントリがありません" +msgid "manifest file \"%s\" contains no entry for file \"%s\"" +msgstr "目録ファイル\"%s\" にはファイル\"%s\"のエントリがありません" -#: pg_combinebackup.c:1176 +#: pg_combinebackup.c:1189 #, c-format msgid "%s: server version too old" msgstr "%s: サーバーバージョンが古すぎます" -#: pg_combinebackup.c:1177 +#: pg_combinebackup.c:1190 #, c-format msgid "%s: could not parse version number" msgstr "%s: バージョン番号をパースできませんでした" -#: pg_combinebackup.c:1296 +#: pg_combinebackup.c:1309 #, c-format msgid "could not read symbolic link \"%s\": %m" msgstr "シンボリックリンク\"%s\"を読めませんでした: %m" -#: pg_combinebackup.c:1299 +#: pg_combinebackup.c:1312 #, c-format msgid "target of symbolic link \"%s\" is too long" msgstr "シンボリックリンク\"%s\"のターゲットが長すぎます" -#: pg_combinebackup.c:1302 +#: pg_combinebackup.c:1315 #, c-format msgid "target of symbolic link \"%s\" is relative" msgstr "シンボリックリンク\"%s\"のターゲットが相対的です" -#: pg_combinebackup.c:1324 +#: pg_combinebackup.c:1337 #, c-format msgid "tablespace at \"%s\" has no tablespace mapping" msgstr "\"%s\"にあるテーブルスペースに対応するテーブルスペースマッピングがありません" -#: pg_combinebackup.c:1342 +#: pg_combinebackup.c:1355 #, c-format msgid "tablespaces with OIDs %u and %u both point at directory \"%s\"" msgstr "OID %uと%uのテーブルスペースがどちらもディレクトリ\"%s\"を指しています" -#: pg_combinebackup.c:1351 +#: pg_combinebackup.c:1364 #, c-format msgid "could not close directory \"%s\": %m" msgstr "ディレクトリ\"%s\"をクローズできませんでした: %m" -#: pg_combinebackup.c:1372 +#: pg_combinebackup.c:1385 #, c-format msgid "file \"%s\" is too large" msgstr "ファイル\"%s\"は大きすぎます" -#: pg_combinebackup.c:1389 +#: pg_combinebackup.c:1402 #, c-format msgid "could not read file \"%s\": read %zd of %lld" msgstr "ファイル\"%1$s\"を読み込めませんでした: %3$lldバイトのうち%2$zdバイトを読み込みました" -#: reconstruct.c:300 +#: reconstruct.c:339 #, c-format -msgid "manifest file \"%s\" contains no entry for file \"%s\"" -msgstr "目録ファイル\"%s\" にはファイル\"%s\"のエントリがありません" +msgid "full backup contains unexpected incremental file \"%s\"" +msgstr "フルバックアップに予期しない差分ファイル\"%s\"が含まれています" -#: reconstruct.c:410 +#: reconstruct.c:423 #, c-format msgid "file \"%s\" is too short: expected %llu, found %llu" msgstr "ファイル\"%s\"が短すぎます: %lluを期待していましたが%lluでした" -#: reconstruct.c:452 +#: reconstruct.c:465 #, c-format -msgid "file \"%s\" has bad incremental magic number (0x%x not 0x%x)" -msgstr "ファイル\"%1$s\"の差分マジックナンバーが正しくありません (0x%3$xではなく0x%2$xでした)" +msgid "file \"%s\" has bad incremental magic number (0x%x, expected 0x%x)" +msgstr "ファイル\"%1$s\"の差分マジックナンバーが正しくありません (0x%3$xを期待していましたが0x%2$xでした)" -#: reconstruct.c:458 +#: reconstruct.c:471 #, c-format msgid "file \"%s\" has block count %u in excess of segment size %u" msgstr "ファイル\"%s\"のブロック数%uがセグメントサイズ%uを超えています" -#: reconstruct.c:465 +#: reconstruct.c:478 #, c-format msgid "file \"%s\" has truncation block length %u in excess of segment size %u" msgstr "ファイル\"%s\"の切り詰めブロック長%uがセグメントサイズ%uを超えています" -#: reconstruct.c:529 +#: reconstruct.c:542 #, c-format msgid "could not read file \"%s\": read %d of %u" msgstr "ファイル\"%1$s\"を読み込めませんでした: %3$uバイトのうち%2$dバイトを読み込みました" -#: reconstruct.c:773 +#: reconstruct.c:786 #, c-format msgid "could not read from file \"%s\", offset %llu: read %d of %d" msgstr "ファイル \"%1$s\"、オフセット%2$lluから読み取れませんでした: %4$d中%3$d" diff --git a/src/bin/pg_combinebackup/po/ka.po b/src/bin/pg_combinebackup/po/ka.po index 294257800ba..fd51a78d29d 100644 --- a/src/bin/pg_combinebackup/po/ka.po +++ b/src/bin/pg_combinebackup/po/ka.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_combinebackup (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-06-04 22:22+0000\n" -"PO-Revision-Date: 2024-06-05 01:39+0200\n" +"POT-Creation-Date: 2024-08-29 17:53+0000\n" +"PO-Revision-Date: 2024-08-29 22:30+0200\n" "Last-Translator: Temuri Doghonadze \n" "Language-Team: \n" "Language: ka\n" @@ -37,6 +37,88 @@ msgstr "დეტალები: " msgid "hint: " msgstr "მინიშნება: " +#: ../../common/controldata_utils.c:97 +#, c-format +msgid "could not open file \"%s\" for reading: %m" +msgstr "ფაილის (%s) გახსნის შეცდომა: %m" + +#: ../../common/controldata_utils.c:110 copy_file.c:150 load_manifest.c:161 +#: load_manifest.c:199 pg_combinebackup.c:1400 reconstruct.c:527 +#, 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 "\"%s\"-ის წაკითხვის შეცდომა: წაკითხულია %d %zu-დან" + +#: ../../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:356 reconstruct.c:727 +#: write_manifest.c:187 +#, 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 "" +"ბაიტების მიმდევრობის შესაძლო შეუსაბამობა 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 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:510 reconstruct.c:625 +#: write_manifest.c:250 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "ფაილის (%s) გახსნის შეცდომა: %m" + +#: ../../common/controldata_utils.c:249 backup_label.c:160 reconstruct.c:746 +#: write_manifest.c:260 +#, 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/cryptohash.c:261 ../../common/cryptohash_openssl.c:356 +#: ../../common/parse_manifest.c:157 ../../common/parse_manifest.c:853 +#, c-format +msgid "out of memory" +msgstr "არასაკმარისი მეხსიერება" + +#: ../../common/cryptohash.c:266 ../../common/cryptohash.c:272 +#: ../../common/cryptohash_openssl.c:368 ../../common/cryptohash_openssl.c:376 +msgid "success" +msgstr "წარმატება" + +#: ../../common/cryptohash.c:268 ../../common/cryptohash_openssl.c:370 +msgid "destination buffer too small" +msgstr "სამიზნე ბუფერი ძალიან პატარაა" + +#: ../../common/cryptohash_openssl.c:372 +msgid "OpenSSL failure" +msgstr "OpenSSL -ის სეცდომა" + #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 #: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 #, c-format @@ -48,6 +130,41 @@ msgstr "არასაკმარისი მეხსიერება\n" msgid "cannot duplicate null pointer (internal error)\n" msgstr "ნულოვანი მაჩვენებლის დუბლირება შეუძლებელია (შიდა შეცდომა)\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 +#: backup_label.c:187 load_manifest.c:133 pg_combinebackup.c:676 +#: pg_combinebackup.c:1131 pg_combinebackup.c:1383 reconstruct.c:199 +#: reconstruct.c:408 +#, c-format +msgid "could not stat file \"%s\": %m" +msgstr "ფაილი \"%s\" არ არსებობს: %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_combinebackup.c:933 pg_combinebackup.c:1256 +#, c-format +msgid "could not open directory \"%s\": %m" +msgstr "საქაღალდის (%s) გახსნის შეცდომა: %m" + +#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 +#, 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/jsonapi.c:2121 msgid "Recursive descent parser cannot use incremental lexer." msgstr "რეკურსიულ დაღმავალ დამმუშავებელს ინკრემენტული lexer-ის გამოყენება არ შეუძლია." @@ -144,11 +261,6 @@ msgstr "უნიკოდის მაღალ სუროგატს მა msgid "Unicode low surrogate must follow a high surrogate." msgstr "უნიკოდის დაბალი სუროგატი მაღალ სუროგატს უნდა მისდევდეს." -#: ../../common/parse_manifest.c:157 ../../common/parse_manifest.c:853 -#, c-format -msgid "out of memory" -msgstr "არასაკმარისი მეხსიერება" - #: ../../common/parse_manifest.c:159 ../../common/parse_manifest.c:855 #, c-format msgid "could not initialize checksum of manifest" @@ -212,7 +324,7 @@ msgid "unexpected manifest version" msgstr "მანიფესტის მოულოდნელი ვერსია" #: ../../common/parse_manifest.c:637 -msgid "manifest system identifier not an integer" +msgid "system identifier in manifest not an integer" msgstr "მანიფესტის სისტემის იდენფიტიკატორი მთელი რიცხვი არაა" #: ../../common/parse_manifest.c:662 @@ -239,7 +351,7 @@ msgstr "ფაილის სახელის გაშიფვრის შ msgid "file size is not an integer" msgstr "ფაილის ზომა მთელი რიცხვი არაა" -#: ../../common/parse_manifest.c:700 pg_combinebackup.c:190 +#: ../../common/parse_manifest.c:700 pg_combinebackup.c:199 #, c-format msgid "unrecognized checksum algorithm: \"%s\"" msgstr "საკონტროლო ჯამის უცნობი ალგორითმი: \"%s\"" @@ -306,6 +418,21 @@ msgstr "მანიფესტის საკონტროლო ჯამ msgid "could not parse backup manifest: %s" msgstr "მარქაფის მანიფესტის დამუშავების შეცრომა: %s" +#: ../../fe_utils/option_utils.c:69 +#, c-format +msgid "invalid value \"%s\" for option %s" +msgstr "არასწორი მნიშვნელობა \"%s\" პარამეტრისთვის %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\"" + #: backup_label.c:66 backup_label.c:85 backup_label.c:95 #, c-format msgid "%s: could not parse %s" @@ -336,97 +463,71 @@ msgstr "%s: %s ვერ ვიპოვე" msgid "%s: %s requires %s" msgstr "%s: %s-ს %s სჭირდება" -#: backup_label.c:143 copy_file.c:135 copy_file.c:167 copy_file.c:171 -#: copy_file.c:218 copy_file.c:258 load_manifest.c:128 pg_combinebackup.c:511 -#: pg_combinebackup.c:1154 reconstruct.c:511 reconstruct.c:626 -#: write_manifest.c:250 -#, c-format -msgid "could not open file \"%s\": %m" -msgstr "ფაილის (%s) გახსნის შეცდომა: %m" - -#: backup_label.c:160 copy_file.c:182 reconstruct.c:747 -#, c-format -msgid "could not write file \"%s\": %m" -msgstr "ფაილში (%s) ჩაწერის შეცდომა: %m" - -#: backup_label.c:162 reconstruct.c:749 write_manifest.c:262 +#: backup_label.c:162 reconstruct.c:748 write_manifest.c:262 #, c-format -msgid "could not write file \"%s\": wrote only %d of %d bytes" -msgstr "ვერ ჩავწერე ფაილი \"%s\": ჩავწერე, მხოლოდ, %d ბაიტი %d-დან" +msgid "could not write file \"%s\": wrote %d of %d" +msgstr "ფაილში \"%s\" ჩაწერა შეუძლებელია. ჩაწერილია %d %d-დან" -#: backup_label.c:166 copy_file.c:142 copy_file.c:189 reconstruct.c:709 -#: reconstruct.c:755 write_manifest.c:270 +#: backup_label.c:166 copy_file.c:146 copy_file.c:193 reconstruct.c:708 +#: reconstruct.c:754 write_manifest.c:270 #, c-format msgid "could not update checksum of file \"%s\"" msgstr "ფაილის (\"%s\") საკონტროლო ჯამის განახლების შეცდომა" -#: backup_label.c:174 copy_file.c:64 pg_combinebackup.c:526 -#: pg_combinebackup.c:1162 reconstruct.c:357 reconstruct.c:728 -#: write_manifest.c:187 -#, c-format -msgid "could not close \"%s\": %m" -msgstr "\"%s\" ვერ დავხურე: %m" - -#: backup_label.c:187 load_manifest.c:133 pg_combinebackup.c:1118 -#, c-format -msgid "could not stat file \"%s\": %m" -msgstr "ფაილი \"%s\" არ არსებობს: %m" - -#: copy_file.c:62 +#: copy_file.c:186 #, c-format -msgid "could not open \"%s\": %m" -msgstr "\"%s\" ვერ გავხსენი: %m" +msgid "could not write to file \"%s\": %m" +msgstr "ფაილში (%s) ჩაწერის შეცდომა: %m" -#: copy_file.c:146 copy_file.c:195 load_manifest.c:161 load_manifest.c:199 -#: pg_combinebackup.c:1387 reconstruct.c:528 reconstruct.c:772 +#: copy_file.c:188 #, c-format -msgid "could not read file \"%s\": %m" -msgstr "ფაილის (%s) წაკითხვის შეცდომა: %m" +msgid "could not write to file \"%s\", offset %u: wrote %d of %d" +msgstr "ფაილში \"%s\" ჩაწერის შეცდომა. წანაცვლება %u: ჩავწერე %d ბაიტი %d-დან" -#: copy_file.c:184 +#: copy_file.c:199 reconstruct.c:771 #, c-format -msgid "could not write file \"%s\": wrote only %d of %d bytes at offset %u" -msgstr "ფაილში \"%s\" ჩაწერის შეცდომა: ჩავწერე მხოლოდ %d ბაიტი %d-დან , წანაცვლებაზე %u" +msgid "could not read from file \"%s\": %m" +msgstr "ფაილიდან (\"%s\") წაკითხვის შეცდომა: %m" -#: copy_file.c:214 +#: copy_file.c:218 #, c-format msgid "error while cloning file \"%s\" to \"%s\": %m" msgstr "შეცდომა ფაილის დაკლონვისას \"%s\"-დან \"%s\"-მდე: %m" -#: copy_file.c:222 copy_file.c:262 +#: copy_file.c:229 copy_file.c:272 #, c-format msgid "could not create file \"%s\": %m" msgstr "ფაილის (%s) შექმნის შეცდომა: %m" -#: copy_file.c:230 +#: copy_file.c:237 #, c-format msgid "error while cloning file \"%s\" to \"%s\": %s" msgstr "შეცდომა ფაილის დაკლონვისას \"%s\"-დან \"%s\"-მდე: %s" -#: copy_file.c:235 pg_combinebackup.c:239 +#: copy_file.c:245 pg_combinebackup.c:251 #, c-format msgid "file cloning not supported on this platform" msgstr "ამ პლატფორმაზე კლონირება მხარდაჭერილი არაა" -#: copy_file.c:268 reconstruct.c:692 +#: copy_file.c:278 reconstruct.c:691 #, c-format msgid "error while copying file range from \"%s\" to \"%s\": %m" msgstr "შეცდომა ფაილბის შუალედის კოპირებისას \"%s\"-დან \"%s\"-მდე: %m" -#: copy_file.c:275 pg_combinebackup.c:252 reconstruct.c:712 +#: copy_file.c:285 pg_combinebackup.c:264 reconstruct.c:711 #, c-format msgid "copy_file_range not supported on this platform" msgstr "ამ პლატფორმაზე copy_file_range მხარდაჭერილი არაა" -#: copy_file.c:290 +#: copy_file.c:300 #, c-format -msgid "could not copy \"%s\" to \"%s\": %m" -msgstr "\"%s\"-დან \"%s\"-ში კოპირება შეუძლებელია: %m" +msgid "could not copy file \"%s\" to \"%s\": %m" +msgstr "ფაილის \"%s\"-დან \"%s\"-ში კოპირება შეუძლებელია: %m" #: load_manifest.c:125 #, c-format -msgid "\"%s\" does not exist" -msgstr "\"%s\" არ არსებობს" +msgid "file \"%s\" does not exist" +msgstr "ფაილი %s არ არსებობს" #: load_manifest.c:163 #, c-format @@ -448,143 +549,137 @@ msgstr "მარქაფის მანიფესტის ვერსი msgid "duplicate path name in backup manifest: \"%s\"" msgstr "მარქაფს მანიფესტში მითითებული ბილიკის სახელი დუბლირებულია: %s" -#: pg_combinebackup.c:208 pg_combinebackup.c:216 +#: pg_combinebackup.c:220 pg_combinebackup.c:228 #, c-format msgid "Try \"%s --help\" for more information." msgstr "მეტი ინფორმაციისთვის სცადეთ '%s --help'." -#: pg_combinebackup.c:215 +#: pg_combinebackup.c:227 #, c-format -msgid "%s: no input directories specified" -msgstr "%s: შეყვანის საქაღალდეები მითითებული არაა" +msgid "no input directories specified" +msgstr "შეყვანის საქაღალდეები მითითებული არაა" -#: pg_combinebackup.c:221 +#: pg_combinebackup.c:233 #, c-format msgid "no output directory specified" msgstr "გამოტანის საქაღალდე მითითებული არაა" -#: pg_combinebackup.c:289 +#: pg_combinebackup.c:301 #, c-format msgid "%s: manifest system identifier is %llu, but control file has %llu" msgstr "%s: მანიფესტის სისტემის იდენტიფიკატორია %llu, მაგრამ კონტროლის ფაილი შეიცავს %llu" -#: pg_combinebackup.c:328 +#: pg_combinebackup.c:340 #, c-format -msgid "can't generate a manifest because no manifest is available for the final input backup" +msgid "cannot generate a manifest because no manifest is available for the final input backup" msgstr "მანიფესტის გენერაცია შეუძლებელია, რადგან საბოლოო შეყვანის მარქაფისთვის მანიფესტი ხელმისაწვდომი არაა" -#: pg_combinebackup.c:375 +#: pg_combinebackup.c:387 #, c-format msgid "could not create symbolic link from \"%s\" to \"%s\": %m" msgstr "%s-დან %s-მდე სიმბმულის შექმნა შეუძლებელია: %m" -#: pg_combinebackup.c:387 pg_combinebackup.c:718 pg_combinebackup.c:914 +#: pg_combinebackup.c:399 pg_combinebackup.c:730 pg_combinebackup.c:927 #, c-format msgid "could not create directory \"%s\": %m" msgstr "საქაღალდის (%s) შექმნის შეცდომა: %m" -#: pg_combinebackup.c:442 +#: pg_combinebackup.c:454 #, c-format msgid "directory name too long" msgstr "საქაღალდის სახელი ძალიან გრძელია" -#: pg_combinebackup.c:449 +#: pg_combinebackup.c:461 #, c-format msgid "multiple \"=\" signs in tablespace mapping" msgstr "ცხრილების სივრცის მიბმაში ერთზე მეტი \"=\" ნიშანია" -#: pg_combinebackup.c:457 +#: pg_combinebackup.c:469 #, c-format msgid "invalid tablespace mapping format \"%s\", must be \"OLDDIR=NEWDIR\"" msgstr "ცხრილების მიბმის არასწორი ფორმატი \"%s\", უნდა იყოს \"OLDDIR=NEWDIR\"" -#: pg_combinebackup.c:468 pg_combinebackup.c:472 +#: pg_combinebackup.c:480 pg_combinebackup.c:484 #, c-format msgid "old directory is not an absolute path in tablespace mapping: %s" msgstr "ძველი საქაღალდის ბილიკი ცხრილის სივრცის მიბმაში აბსოლუტური არაა: %s" -#: pg_combinebackup.c:541 +#: pg_combinebackup.c:553 #, c-format msgid "backup at \"%s\" is a full backup, but only the first backup should be a full backup" msgstr "მარქაფი მისამართზე \"%s\" სრული მარქაფია, მაგრამ, მხოლოდ, პირველი მარქაფი უნდა იყოს სრული" -#: pg_combinebackup.c:544 +#: pg_combinebackup.c:556 #, c-format msgid "backup at \"%s\" is an incremental backup, but the first backup should be a full backup" msgstr "მარქაფი მისამართზე \"%s\" ინკრემენტული მარქაფია, მაგრამ პირველი მარქაფი სრული უნდა იყოს" -#: pg_combinebackup.c:547 +#: pg_combinebackup.c:559 #, c-format msgid "backup at \"%s\" starts on timeline %u, but expected %u" msgstr "მარქაფი მისამართზე \"%s\" იწყება დროის ხაზზე %u, მაგრამ მოველოდი მნიშვნელობას %u" -#: pg_combinebackup.c:550 +#: pg_combinebackup.c:562 #, c-format msgid "backup at \"%s\" starts at LSN %X/%X, but expected %X/%X" msgstr "მარქაფი მისამართზე \"%s\" იწყება LSN-თან %X/%X, მაგრამ მოველოდი მნიშვნელობას %X/%X" -#: pg_combinebackup.c:602 +#: pg_combinebackup.c:614 #, c-format msgid "%s: CRC is incorrect" msgstr "%s: CRC არასწორია" -#: pg_combinebackup.c:606 +#: pg_combinebackup.c:618 #, c-format msgid "%s: unexpected control file version" msgstr "%s: მოულოდნელი საკონტროლო ფაილის ვერსია" -#: pg_combinebackup.c:613 +#: pg_combinebackup.c:625 #, c-format msgid "%s: expected system identifier %llu, but found %llu" msgstr "%s: მოველოდი სისტემის იდენტიფიკატორს %llu, ნაპოვნი მნიშვნელობაა %llu" -#: pg_combinebackup.c:645 +#: pg_combinebackup.c:657 #, c-format msgid "only some backups have checksums enabled" msgstr "საკონტროლო ჯამები, მხოლოდ, ზოგიერთ მარქაფს ჰქონდა" -#: pg_combinebackup.c:646 -#, c-format -msgid "disable, and optionally reenable, checksums on the output directory to avoid failures" -msgstr "გამორთვა და არასავალდებულოდ თავიდან ჩართვა საკონტროლო ჯამებისა გამოტანის საქაღალდეზე, ჩავარდნების თავიდან ასაცილებლად" - -#: pg_combinebackup.c:664 pg_combinebackup.c:1370 reconstruct.c:199 -#: reconstruct.c:409 +#: pg_combinebackup.c:658 #, c-format -msgid "could not stat \"%s\": %m" -msgstr "\"%s\" ვერ აღმოვაჩინე: %m" +msgid "Disable, and optionally reenable, checksums on the output directory to avoid failures." +msgstr "გამორთვა და არასავალდებულოდ თავიდან ჩართვა საკონტროლო ჯამებისა გამოტანის საქაღალდეზე, ჩავარდნების თავიდან ასაცილებლად." -#: pg_combinebackup.c:681 +#: pg_combinebackup.c:693 #, c-format msgid "removing output directory \"%s\"" msgstr "წაიშლება გამოტანის საქაღალდე \"%s\"" -#: pg_combinebackup.c:683 +#: pg_combinebackup.c:695 #, c-format msgid "failed to remove output directory" msgstr "გამოტანის საქაღალდის წაშლა ჩავარდა" -#: pg_combinebackup.c:687 +#: pg_combinebackup.c:699 #, c-format msgid "removing contents of output directory \"%s\"" msgstr "წაიშლება შემცველობა გამოტანის საქაღალდისთვის \"%s\"" -#: pg_combinebackup.c:690 +#: pg_combinebackup.c:702 #, c-format msgid "failed to remove contents of output directory" msgstr "გამოტანის საქაღალდის შემცველობის წაშლა ჩავარდა" -#: pg_combinebackup.c:730 +#: pg_combinebackup.c:742 #, c-format msgid "directory \"%s\" exists but is not empty" msgstr "საქაღალდე \"%s\" არსებობს, მაგრამ ცარიელი არაა" -#: pg_combinebackup.c:733 +#: pg_combinebackup.c:745 #, c-format msgid "could not access directory \"%s\": %m" msgstr "საქაღალდის (%s) წვდომის შეცდომა: %m" -#: pg_combinebackup.c:747 +#: pg_combinebackup.c:759 #, c-format msgid "" "%s reconstructs full backups from incrementals.\n" @@ -593,17 +688,17 @@ msgstr "" "%s სრული მარქაფების აგება ინკრემენტულებისგან.\n" "\n" -#: pg_combinebackup.c:748 +#: pg_combinebackup.c:760 #, c-format msgid "Usage:\n" msgstr "გამოყენება:\n" -#: pg_combinebackup.c:749 +#: pg_combinebackup.c:761 #, c-format msgid " %s [OPTION]... DIRECTORY...\n" msgstr " %s [პარამეტრი]... საქაღალდე...\n" -#: pg_combinebackup.c:750 +#: pg_combinebackup.c:762 #, c-format msgid "" "\n" @@ -612,27 +707,27 @@ msgstr "" "\n" "პარამეტრები:\n" -#: pg_combinebackup.c:751 +#: pg_combinebackup.c:763 #, c-format msgid " -d, --debug generate lots of debugging output\n" msgstr " -d, --debug გასამართი ინფორმაციის გენერაცია\n" -#: pg_combinebackup.c:752 +#: pg_combinebackup.c:764 #, c-format msgid " -n, --dry-run do not actually do anything\n" msgstr " -n, --dry-run არაფერი სინამდვილეში არ ქნა\n" -#: pg_combinebackup.c:753 +#: pg_combinebackup.c:765 #, c-format msgid " -N, --no-sync do not wait for changes to be written safely to disk\n" msgstr " -N, --no-sync არ დაველოდო ცვლილებების დისკზე უსაფრთხოდ ჩაწერას\n" -#: pg_combinebackup.c:754 +#: pg_combinebackup.c:766 #, c-format -msgid " -o, --output output directory\n" -msgstr " -o, --output გამოტანის საქაღალდე\n" +msgid " -o, --output=DIRECTORY output directory\n" +msgstr " -o, --output=საქაღალდე გამოტანის საქაღალდე\n" -#: pg_combinebackup.c:755 +#: pg_combinebackup.c:767 #, c-format msgid "" " -T, --tablespace-mapping=OLDDIR=NEWDIR\n" @@ -641,17 +736,22 @@ msgstr "" " -T, --tablespace-mapping=OLDDIR=NEWDIR\n" " ცხრილების სივრცის OLDDIR-დან NEWDIR-ში გადატანა\n" -#: pg_combinebackup.c:757 +#: pg_combinebackup.c:769 #, c-format -msgid " --clone clone (reflink) instead of copying files\n" +msgid " --clone clone (reflink) files instead of copying\n" msgstr " --clone ფაილების დაკლონვა (reflink) კოპირების ნაცვლად\n" -#: pg_combinebackup.c:758 +#: pg_combinebackup.c:770 #, c-format -msgid " --copy-file-range copy using copy_file_range() syscall\n" +msgid " --copy copy files (default)\n" +msgstr " --copy ფაილების კოპირება (ნაგულისხმევი)\n" + +#: pg_combinebackup.c:771 +#, c-format +msgid " --copy-file-range copy using copy_file_range() system call\n" msgstr " --copy-file-range კოპირება სისტემური ფუნქციით copy_file_range()\n" -#: pg_combinebackup.c:759 +#: pg_combinebackup.c:772 #, c-format msgid "" " --manifest-checksums=SHA{224,256,384,512}|CRC32C|NONE\n" @@ -660,27 +760,27 @@ msgstr "" " --manifest-checksums=SHA{224,256,384,512}|CRC32C|NONE\n" " მანიფესტების საკონტროლო ჯამის გამოსათვლელი ალფორითმი\n" -#: pg_combinebackup.c:761 +#: pg_combinebackup.c:774 #, c-format msgid " --no-manifest suppress generation of backup manifest\n" msgstr " --no-manifest მარქაფის მანიფესტი არ შეიქმნება\n" -#: pg_combinebackup.c:762 +#: pg_combinebackup.c:775 #, c-format msgid " --sync-method=METHOD set method for syncing files to disk\n" msgstr " --sync-method=მეთოდი ფაილების დისკზე სინქრონიზაციის მეთოდის დაყენება\n" -#: pg_combinebackup.c:763 +#: pg_combinebackup.c:776 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version ვერსიის ინფორმაციის გამოტანა და გასვლა\n" -#: pg_combinebackup.c:764 +#: pg_combinebackup.c:777 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help ამ დახმარების ჩვენება და გასვლა\n" -#: pg_combinebackup.c:766 +#: pg_combinebackup.c:779 #, c-format msgid "" "\n" @@ -689,116 +789,149 @@ msgstr "" "\n" "შეცდომების შესახებ მიწერეთ: %s\n" -#: pg_combinebackup.c:767 +#: pg_combinebackup.c:780 #, c-format msgid "%s home page: <%s>\n" msgstr "%s-ის საწყისი გვერდია: <%s>\n" -#: pg_combinebackup.c:920 pg_combinebackup.c:1243 -#, c-format -msgid "could not open directory \"%s\": %m" -msgstr "საქაღალდის (%s) გახსნის შეცდომა: %m" - -#: pg_combinebackup.c:982 +#: pg_combinebackup.c:995 #, c-format msgid "skipping symbolic link \"%s\"" msgstr "%s: სიმბმულია. გამოტოვება" -#: pg_combinebackup.c:984 +#: pg_combinebackup.c:997 #, c-format msgid "skipping special file \"%s\"" msgstr "სპეციალური ფაილის გამოტოვება \"%s\"" -#. translator: the first %s is a backup manifest file, the second is a file absent therein -#: pg_combinebackup.c:1060 reconstruct.c:301 +#: pg_combinebackup.c:1073 reconstruct.c:300 #, c-format -msgid "\"%s\" contains no entry for \"%s\"" -msgstr "\"%s\" არ შეიცავს ჩანაწერს \"%s\"-სთვის" +msgid "manifest file \"%s\" contains no entry for file \"%s\"" +msgstr "მანიფესტის ფაილი \"%s\" ფაილისთვის \"%s\" ჩანაწერებს არ შეიცავს" -#: pg_combinebackup.c:1176 +#: pg_combinebackup.c:1189 #, c-format -msgid "%s: server version too old\n" -msgstr "%s: სერვერის ვერსია ძალიან ძველია\n" +msgid "%s: server version too old" +msgstr "%s: სერვერის ვერსია ძალიან ძველია" -#: pg_combinebackup.c:1177 +#: pg_combinebackup.c:1190 #, c-format -msgid "%s: could not parse version number\n" -msgstr "%s: ვერსის ნომრის დამუშავების შეცდომა\n" +msgid "%s: could not parse version number" +msgstr "%s: ვერსის ნომრის დამუშავების შეცდომა" -#: pg_combinebackup.c:1296 +#: pg_combinebackup.c:1309 #, c-format msgid "could not read symbolic link \"%s\": %m" msgstr "სიმბოლური ბმის \"%s\" წაკითხვის შეცდომა: %m" -#: pg_combinebackup.c:1299 +#: pg_combinebackup.c:1312 #, c-format -msgid "symbolic link \"%s\" is too long" -msgstr "სიმბოლური ბმული \"%s\" მეტისმეტად გრძელია" +msgid "target of symbolic link \"%s\" is too long" +msgstr "სიმბოლური ბმულის \"%s\" სამიზნე მეტისმეტად გრძელია" -#: pg_combinebackup.c:1302 +#: pg_combinebackup.c:1315 #, c-format -msgid "symbolic link \"%s\" is relative" -msgstr "სიმბმული \"%s\" ფარდობითია" +msgid "target of symbolic link \"%s\" is relative" +msgstr "სიმბმულის \"%s\" სამიზნე ფარდობითია" -#: pg_combinebackup.c:1324 +#: pg_combinebackup.c:1337 #, c-format msgid "tablespace at \"%s\" has no tablespace mapping" msgstr "ცხრილები სივრცეს მისამართზე \"%s\" ცხრილების სივრცის ასახვები არ გააჩნია" -#: pg_combinebackup.c:1342 +#: pg_combinebackup.c:1355 #, c-format -msgid "tablespaces with OIDs %u and %u both point at \"%s\"" -msgstr "ცხრილის სივრცეები OID-ებით %u და %u, ორივე, \"%s\"-ზე მიუთითებს" +msgid "tablespaces with OIDs %u and %u both point at directory \"%s\"" +msgstr "ცხრილის სივრცეები OID-ებით %u და %u, ორივე მიუთითებს საქაღალდეზე \"%s\"-ზე" -#: pg_combinebackup.c:1351 +#: pg_combinebackup.c:1364 #, c-format msgid "could not close directory \"%s\": %m" msgstr "საქაღალდის %s-ზე დახურვის შეცდომა: %m" -#: pg_combinebackup.c:1372 +#: pg_combinebackup.c:1385 #, c-format msgid "file \"%s\" is too large" msgstr "%s: ფაილი ძალიან დიდია" -#: pg_combinebackup.c:1389 +#: pg_combinebackup.c:1402 #, c-format -msgid "could not read file \"%s\": read only %zd of %lld bytes" -msgstr "ვერ წავიკითხე ფაილი \"%s\": წავიკითხე, მხოლოდ, %zd ბაიტი %lld-დან" +msgid "could not read file \"%s\": read %zd of %lld" +msgstr "ფაილის \"%s\" წაკითხვა შეუძლებელია: წაკითხულია %zd %lld-დან" -#: reconstruct.c:411 +#: reconstruct.c:410 #, c-format msgid "file \"%s\" is too short: expected %llu, found %llu" msgstr "ფაილი \"%s\" მეტისმეტად მოკლეა. მოველოდი %llu, მივიღე %llu" -#: reconstruct.c:453 +#: reconstruct.c:452 #, c-format -msgid "file \"%s\" has bad incremental magic number (0x%x not 0x%x)" +msgid "file \"%s\" has bad incremental magic number (0x%x, expected 0x%x)" msgstr "ფაილს \"%s\" არასწორი ინკრემენტული ჯადოსნური რიცხვი (0x%x not 0x%x) გააჩნია" -#: reconstruct.c:459 +#: reconstruct.c:458 #, c-format msgid "file \"%s\" has block count %u in excess of segment size %u" msgstr "ფაილს \"%s\" აქვს ბლოკების რაოდენობა %u, რომელიც სეგმენტის ზომას %u აჭარბებს" -#: reconstruct.c:466 +#: reconstruct.c:465 #, c-format msgid "file \"%s\" has truncation block length %u in excess of segment size %u" msgstr "ფაილს \"%s\" აქვს წაკვეთის ბლოკის სიგრძე %u, რომელიც სეგმენტის ზომას %u აჭარბებს" -#: reconstruct.c:530 +#: reconstruct.c:529 #, c-format -msgid "could not read file \"%s\": read only %d of %u bytes" -msgstr "ვერ წავიკითხე ფაილი \"%s\": წავიკითხე, მხოლოდ, %d ბაიტი %u-დან" +msgid "could not read file \"%s\": read %d of %u" +msgstr "ფაილის \"%s\" წაკითხვის შეცდომა: წაკითხულია %d %u-დან" -#: reconstruct.c:774 +#: reconstruct.c:773 #, c-format -msgid "could not read file \"%s\": read only %d of %d bytes at offset %llu" -msgstr "ვერ წავიკითხე ფაილი \"%s\": წავიკითხე, მხოლოდ %d ბაიტი %d-დან წანაცვლებაზე %llu" +msgid "could not read from file \"%s\", offset %llu: read %d of %d" +msgstr "ფაილიდან \"%s\" წაკითხვის შეცდომა. წანაცვლება %llu: წაკითხულია %d %d-დან" + +#, c-format +#~ msgid "\"%s\" contains no entry for \"%s\"" +#~ msgstr "\"%s\" არ შეიცავს ჩანაწერს \"%s\"-სთვის" + +#, c-format +#~ msgid "\"%s\" does not exist" +#~ msgstr "\"%s\" არ არსებობს" + +#, c-format +#~ msgid "could not close \"%s\": %m" +#~ msgstr "\"%s\" ვერ დავხურე: %m" + +#, c-format +#~ msgid "could not open \"%s\": %m" +#~ msgstr "\"%s\" ვერ გავხსენი: %m" + +#, c-format +#~ msgid "could not read file \"%s\": read only %d of %d bytes at offset %llu" +#~ msgstr "ვერ წავიკითხე ფაილი \"%s\": წავიკითხე, მხოლოდ %d ბაიტი %d-დან წანაცვლებაზე %llu" + +#, c-format +#~ msgid "could not read file \"%s\": read only %d of %u bytes" +#~ msgstr "ვერ წავიკითხე ფაილი \"%s\": წავიკითხე, მხოლოდ, %d ბაიტი %u-დან" + +#, c-format +#~ msgid "could not read file \"%s\": read only %zd of %lld bytes" +#~ msgstr "ვერ წავიკითხე ფაილი \"%s\": წავიკითხე, მხოლოდ, %zd ბაიტი %lld-დან" + +#, c-format +#~ msgid "could not stat \"%s\": %m" +#~ msgstr "\"%s\" ვერ აღმოვაჩინე: %m" + +#, c-format +#~ msgid "could not write \"%s\": %m" +#~ msgstr "\"%s\"-ში ჩაწერის შეცდომა: %m" + +#, c-format +#~ msgid "could not write file \"%s\": wrote only %d of %d bytes" +#~ msgstr "ვერ ჩავწერე ფაილი \"%s\": ჩავწერე, მხოლოდ, %d ბაიტი %d-დან" -#: write_manifest.c:260 #, c-format -msgid "could not write \"%s\": %m" -msgstr "\"%s\"-ში ჩაწერის შეცდომა: %m" +#~ msgid "could not write file \"%s\": wrote only %d of %d bytes at offset %u" +#~ msgstr "ფაილში \"%s\" ჩაწერის შეცდომა: ჩავწერე მხოლოდ %d ბაიტი %d-დან , წანაცვლებაზე %u" #, c-format #~ msgid "unexpected json parse error type: %d" diff --git a/src/bin/pg_combinebackup/po/ru.po b/src/bin/pg_combinebackup/po/ru.po new file mode 100644 index 00000000000..1db83a391b8 --- /dev/null +++ b/src/bin/pg_combinebackup/po/ru.po @@ -0,0 +1,944 @@ +# Alexander Lakhin , 2024. +msgid "" +msgstr "" +"Project-Id-Version: pg_combinebackup (PostgreSQL) 17\n" +"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" +"POT-Creation-Date: 2024-11-09 07:47+0300\n" +"PO-Revision-Date: 2024-11-09 08:04+0300\n" +"Last-Translator: Alexander Lakhin \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Generator: Lokalize 21.12.3\n" + +#: ../../../src/common/logging.c:276 +#, c-format +msgid "error: " +msgstr "ошибка: " + +#: ../../../src/common/logging.c:283 +#, c-format +msgid "warning: " +msgstr "предупреждение: " + +#: ../../../src/common/logging.c:294 +#, c-format +msgid "detail: " +msgstr "подробности: " + +#: ../../../src/common/logging.c:301 +#, c-format +msgid "hint: " +msgstr "подсказка: " + +#: ../../common/controldata_utils.c:97 +#, c-format +msgid "could not open file \"%s\" for reading: %m" +msgstr "не удалось открыть файл \"%s\" для чтения: %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 +#, 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 "не удалось прочитать файл \"%s\" (прочитано байт: %d из %zu)" + +#: ../../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 +#: write_manifest.c:187 +#, 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 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 +#: write_manifest.c:250 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "не удалось открыть файл \"%s\": %m" + +#: ../../common/controldata_utils.c:249 backup_label.c:160 reconstruct.c:759 +#: write_manifest.c:260 +#, 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\": %m" + +#: ../../common/cryptohash.c:261 ../../common/cryptohash_openssl.c:356 +#: ../../common/parse_manifest.c:157 ../../common/parse_manifest.c:853 +#, c-format +msgid "out of memory" +msgstr "нехватка памяти" + +#: ../../common/cryptohash.c:266 ../../common/cryptohash.c:272 +#: ../../common/cryptohash_openssl.c:368 ../../common/cryptohash_openssl.c:376 +msgid "success" +msgstr "успех" + +#: ../../common/cryptohash.c:268 ../../common/cryptohash_openssl.c:370 +msgid "destination buffer too small" +msgstr "буфер назначения слишком мал" + +#: ../../common/cryptohash_openssl.c:372 +msgid "OpenSSL failure" +msgstr "ошибка OpenSSL" + +#: ../../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 "попытка дублирования нулевого указателя (внутренняя ошибка)\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 +#: 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 +#, c-format +msgid "could not stat file \"%s\": %m" +msgstr "не удалось получить информацию о файле \"%s\": %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_combinebackup.c:933 pg_combinebackup.c:1256 +#, c-format +msgid "could not open directory \"%s\": %m" +msgstr "не удалось открыть каталог \"%s\": %m" + +#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 +#, 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/jsonapi.c:2121 +msgid "Recursive descent parser cannot use incremental lexer." +msgstr "" +"Инкрементальный лексический анализатор не подходит для нисходящего " +"рекурсивного разбора." + +#: ../../common/jsonapi.c:2123 +msgid "Incremental parser requires incremental lexer." +msgstr "" +"Для инкрементального разбора требуется инкрементальный лексический " +"анализатор." + +#: ../../common/jsonapi.c:2125 +msgid "JSON nested too deep, maximum permitted depth is 6400." +msgstr "" +"Слишком большая вложенность JSON, максимальная допустимая глубина: 6400." + +#: ../../common/jsonapi.c:2127 +#, c-format +msgid "Escape sequence \"\\%.*s\" is invalid." +msgstr "Неверная спецпоследовательность: \"\\%.*s\"." + +#: ../../common/jsonapi.c:2131 +#, c-format +msgid "Character with value 0x%02x must be escaped." +msgstr "Символ с кодом 0x%02x необходимо экранировать." + +#: ../../common/jsonapi.c:2135 +#, c-format +msgid "Expected end of input, but found \"%.*s\"." +msgstr "Ожидался конец текста, но обнаружено продолжение \"%.*s\"." + +#: ../../common/jsonapi.c:2138 +#, c-format +msgid "Expected array element or \"]\", but found \"%.*s\"." +msgstr "Ожидался элемент массива или \"]\", но обнаружено \"%.*s\"." + +#: ../../common/jsonapi.c:2141 +#, c-format +msgid "Expected \",\" or \"]\", but found \"%.*s\"." +msgstr "Ожидалась \",\" или \"]\", но обнаружено \"%.*s\"." + +#: ../../common/jsonapi.c:2144 +#, c-format +msgid "Expected \":\", but found \"%.*s\"." +msgstr "Ожидалось \":\", но обнаружено \"%.*s\"." + +#: ../../common/jsonapi.c:2147 +#, c-format +msgid "Expected JSON value, but found \"%.*s\"." +msgstr "Ожидалось значение JSON, но обнаружено \"%.*s\"." + +#: ../../common/jsonapi.c:2150 +msgid "The input string ended unexpectedly." +msgstr "Неожиданный конец входной строки." + +#: ../../common/jsonapi.c:2152 +#, c-format +msgid "Expected string or \"}\", but found \"%.*s\"." +msgstr "Ожидалась строка или \"}\", но обнаружено \"%.*s\"." + +#: ../../common/jsonapi.c:2155 +#, c-format +msgid "Expected \",\" or \"}\", but found \"%.*s\"." +msgstr "Ожидалась \",\" или \"}\", но обнаружено \"%.*s\"." + +#: ../../common/jsonapi.c:2158 +#, c-format +msgid "Expected string, but found \"%.*s\"." +msgstr "Ожидалась строка, но обнаружено \"%.*s\"." + +#: ../../common/jsonapi.c:2161 +#, c-format +msgid "Token \"%.*s\" is invalid." +msgstr "Ошибочный элемент \"%.*s\"." + +#: ../../common/jsonapi.c:2164 +msgid "\\u0000 cannot be converted to text." +msgstr "\\u0000 нельзя преобразовать в текст." + +#: ../../common/jsonapi.c:2166 +msgid "\"\\u\" must be followed by four hexadecimal digits." +msgstr "За \"\\u\" должны следовать четыре шестнадцатеричные цифры." + +#: ../../common/jsonapi.c:2169 +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 +#, c-format +msgid "" +"Unicode escape value could not be translated to the server's encoding %s." +msgstr "Спецкод Unicode нельзя преобразовать в серверную кодировку %s." + +#: ../../common/jsonapi.c:2185 +msgid "Unicode high surrogate must not follow a high surrogate." +msgstr "" +"Старшее слово суррогата Unicode не может следовать за другим старшим словом." + +#: ../../common/jsonapi.c:2187 +msgid "Unicode low surrogate must follow a high surrogate." +msgstr "Младшее слово суррогата Unicode должно следовать за старшим словом." + +#: ../../common/parse_manifest.c:159 ../../common/parse_manifest.c:855 +#, c-format +msgid "could not initialize checksum of manifest" +msgstr "не удалось подготовить контекст контрольной суммы манифеста" + +#: ../../common/parse_manifest.c:204 ../../common/parse_manifest.c:261 +msgid "manifest ended unexpectedly" +msgstr "неожиданный конец манифеста" + +#: ../../common/parse_manifest.c:210 ../../common/parse_manifest.c:862 +#, c-format +msgid "could not update checksum of manifest" +msgstr "не удалось изменить контекст контрольной суммы манифеста" + +#: ../../common/parse_manifest.c:302 +msgid "unexpected object start" +msgstr "неожиданное начало объекта" + +#: ../../common/parse_manifest.c:337 +msgid "unexpected object end" +msgstr "неожиданный конец объекта" + +#: ../../common/parse_manifest.c:366 +msgid "unexpected array start" +msgstr "неожиданное начало массива" + +#: ../../common/parse_manifest.c:391 +msgid "unexpected array end" +msgstr "неожиданный конец массива" + +#: ../../common/parse_manifest.c:418 +msgid "expected version indicator" +msgstr "ожидалось указание версии" + +#: ../../common/parse_manifest.c:454 +msgid "unrecognized top-level field" +msgstr "нераспознанное поле на верхнем уровне" + +#: ../../common/parse_manifest.c:473 +msgid "unexpected file field" +msgstr "неизвестное поле для файла" + +#: ../../common/parse_manifest.c:487 +msgid "unexpected WAL range field" +msgstr "неизвестное поле в указании диапазона WAL" + +#: ../../common/parse_manifest.c:493 +msgid "unexpected object field" +msgstr "неожиданное поле объекта" + +#: ../../common/parse_manifest.c:583 +msgid "unexpected scalar" +msgstr "неожиданное скалярное значение" + +#: ../../common/parse_manifest.c:609 +msgid "manifest version not an integer" +msgstr "версия манифеста не является целым числом" + +#: ../../common/parse_manifest.c:613 +msgid "unexpected manifest version" +msgstr "неожиданная версия манифеста" + +#: ../../common/parse_manifest.c:637 +msgid "system identifier in manifest not an integer" +msgstr "идентификатор системы в манифесте не является целым числом" + +#: ../../common/parse_manifest.c:662 +msgid "missing path name" +msgstr "отсутствует указание пути" + +#: ../../common/parse_manifest.c:665 +msgid "both path name and encoded path name" +msgstr "путь задан в обычном виде и в закодированном" + +#: ../../common/parse_manifest.c:667 +msgid "missing size" +msgstr "отсутствует указание размера" + +#: ../../common/parse_manifest.c:670 +msgid "checksum without algorithm" +msgstr "не задан алгоритм расчёта контрольной суммы" + +#: ../../common/parse_manifest.c:684 +msgid "could not decode file name" +msgstr "не удалось декодировать имя файла" + +#: ../../common/parse_manifest.c:694 +msgid "file size is not an integer" +msgstr "размер файла не является целочисленным" + +#: ../../common/parse_manifest.c:700 pg_combinebackup.c:199 +#, c-format +msgid "unrecognized checksum algorithm: \"%s\"" +msgstr "нераспознанный алгоритм расчёта контрольных сумм: \"%s\"" + +#: ../../common/parse_manifest.c:719 +#, c-format +msgid "invalid checksum for file \"%s\": \"%s\"" +msgstr "неверная контрольная сумма для файла \"%s\": \"%s\"" + +#: ../../common/parse_manifest.c:762 +msgid "missing timeline" +msgstr "отсутствует линия времени" + +#: ../../common/parse_manifest.c:764 +msgid "missing start LSN" +msgstr "отсутствует начальный LSN" + +#: ../../common/parse_manifest.c:766 +msgid "missing end LSN" +msgstr "отсутствует конечный LSN" + +#: ../../common/parse_manifest.c:772 +msgid "timeline is not an integer" +msgstr "линия времени задана не целым числом" + +#: ../../common/parse_manifest.c:775 +msgid "could not parse start LSN" +msgstr "не удалось разобрать начальный LSN" + +#: ../../common/parse_manifest.c:778 +msgid "could not parse end LSN" +msgstr "не удалось разобрать конечный LSN" + +#: ../../common/parse_manifest.c:843 +msgid "expected at least 2 lines" +msgstr "ожидалось как минимум 2 строки" + +#: ../../common/parse_manifest.c:846 +msgid "last line not newline-terminated" +msgstr "последняя строка не оканчивается символом новой строки" + +#: ../../common/parse_manifest.c:865 +#, c-format +msgid "could not finalize checksum of manifest" +msgstr "не удалось завершить расчёт контрольной суммы манифеста" + +#: ../../common/parse_manifest.c:869 +#, c-format +msgid "manifest has no checksum" +msgstr "в манифесте нет контрольной суммы" + +#: ../../common/parse_manifest.c:873 +#, c-format +msgid "invalid manifest checksum: \"%s\"" +msgstr "неверная контрольная сумма в манифесте: \"%s\"" + +#: ../../common/parse_manifest.c:877 +#, c-format +msgid "manifest checksum mismatch" +msgstr "ошибка контрольной суммы манифеста" + +#: ../../common/parse_manifest.c:892 +#, c-format +msgid "could not parse backup manifest: %s" +msgstr "не удалось разобрать манифест копии: %s" + +#: ../../fe_utils/option_utils.c:69 +#, c-format +msgid "invalid value \"%s\" for option %s" +msgstr "неверное значение \"%s\" для параметра %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" + +#: backup_label.c:66 backup_label.c:85 backup_label.c:95 +#, c-format +msgid "%s: could not parse %s" +msgstr "%s: не удалось разобрать %s" + +#: backup_label.c:69 backup_label.c:88 +#, c-format +msgid "%s: improper terminator for %s" +msgstr "%s: неподходящее окончание для %s" + +#: backup_label.c:76 +#, c-format +msgid "%s: could not parse TLI for %s" +msgstr "%s: не удалось разобрать TLI для %s" + +#: backup_label.c:79 backup_label.c:98 +#, c-format +msgid "%s: invalid TLI" +msgstr "%s: неверное значение TLI" + +#: backup_label.c:106 backup_label.c:108 +#, c-format +msgid "%s: could not find %s" +msgstr "%s: не удалось найти %s" + +#: backup_label.c:110 backup_label.c:113 +#, c-format +msgid "%s: %s requires %s" +msgstr "%s: %s требует %s" + +#: backup_label.c:162 reconstruct.c:761 write_manifest.c:262 +#, c-format +msgid "could not write file \"%s\": wrote %d of %d" +msgstr "не удалось записать файл \"%s\" (записано байт: %d из %d)" + +#: backup_label.c:166 copy_file.c:146 copy_file.c:193 reconstruct.c:721 +#: reconstruct.c:767 write_manifest.c:270 +#, c-format +msgid "could not update checksum of file \"%s\"" +msgstr "не удалось изменить контекст контрольной суммы файла \"%s\"" + +#: copy_file.c:186 +#, c-format +msgid "could not write to file \"%s\": %m" +msgstr "не удалось записать в файл \"%s\": %m" + +#: copy_file.c:188 +#, c-format +msgid "could not write to file \"%s\", offset %u: wrote %d of %d" +msgstr "" +"не удалось записать в файл \"%s\" (смещение %u, записано байт: %d из %d)" + +#: copy_file.c:199 reconstruct.c:784 +#, c-format +msgid "could not read from file \"%s\": %m" +msgstr "не удалось прочитать файл \"%s\": %m" + +#: copy_file.c:218 +#, c-format +msgid "error while cloning file \"%s\" to \"%s\": %m" +msgstr "ошибка при клонировании файла \"%s\" в \"%s\": %m" + +#: copy_file.c:229 copy_file.c:272 +#, c-format +msgid "could not create file \"%s\": %m" +msgstr "не удалось создать файл \"%s\": %m" + +#: copy_file.c:237 +#, c-format +msgid "error while cloning file \"%s\" to \"%s\": %s" +msgstr "ошибка при клонировании файла \"%s\" в \"%s\": %s" + +#: copy_file.c:245 pg_combinebackup.c:251 +#, c-format +msgid "file cloning not supported on this platform" +msgstr "клонирование файлов не поддерживается в этой ОС" + +#: copy_file.c:278 reconstruct.c:704 +#, c-format +msgid "error while copying file range from \"%s\" to \"%s\": %m" +msgstr "ошибка при копировании фрагмента файла \"%s\" в \"%s\": %m" + +#: copy_file.c:285 pg_combinebackup.c:264 reconstruct.c:724 +#, c-format +msgid "copy_file_range not supported on this platform" +msgstr "copy_file_range не поддерживается в этой ОС" + +#: copy_file.c:300 +#, c-format +msgid "could not copy file \"%s\" to \"%s\": %m" +msgstr "не удалось скопировать файл \"%s\" в \"%s\": %m" + +#: load_manifest.c:125 +#, c-format +msgid "file \"%s\" does not exist" +msgstr "файл \"%s\" не существует" + +#: load_manifest.c:163 +#, c-format +msgid "could not read file \"%s\": read %d of %lld" +msgstr "не удалось прочитать файл \"%s\" (прочитано байт: %d из %lld)" + +#: load_manifest.c:201 +#, c-format +msgid "could not read file \"%s\": read %lld of %lld" +msgstr "не удалось прочитать файл \"%s\" (прочитано байт: %lld из %lld)" + +#: load_manifest.c:249 +#, c-format +msgid "backup manifest version 1 does not support incremental backup" +msgstr "" +"с версией 1 манифеста копии инкрементальное копирование не поддерживается" + +#: load_manifest.c:281 +#, c-format +msgid "duplicate path name in backup manifest: \"%s\"" +msgstr "дублирующийся путь в манифесте копии: \"%s\"" + +#: pg_combinebackup.c:220 pg_combinebackup.c:228 +#, c-format +msgid "Try \"%s --help\" for more information." +msgstr "Для дополнительной информации попробуйте \"%s --help\"." + +#: pg_combinebackup.c:227 +#, c-format +msgid "no input directories specified" +msgstr "входные каталоги не указаны" + +#: pg_combinebackup.c:233 +#, c-format +msgid "no output directory specified" +msgstr "выходной каталог не указан" + +#: pg_combinebackup.c:301 +#, c-format +msgid "%s: manifest system identifier is %llu, but control file has %llu" +msgstr "%s: идентификатор системы в манифесте %llu, а в управляющем файле %llu" + +#: pg_combinebackup.c:340 +#, c-format +msgid "" +"cannot generate a manifest because no manifest is available for the final " +"input backup" +msgstr "" +"сгенерировать манифест нельзя по причине отсутствия манифеста в последней " +"указанной копии" + +#: pg_combinebackup.c:387 +#, c-format +msgid "could not create symbolic link from \"%s\" to \"%s\": %m" +msgstr "не удалось создать символическую ссылку \"%s\" в \"%s\": %m" + +#: pg_combinebackup.c:399 pg_combinebackup.c:730 pg_combinebackup.c:927 +#, c-format +msgid "could not create directory \"%s\": %m" +msgstr "не удалось создать каталог \"%s\": %m" + +#: pg_combinebackup.c:454 +#, c-format +msgid "directory name too long" +msgstr "слишком длинное имя каталога" + +#: pg_combinebackup.c:461 +#, c-format +msgid "multiple \"=\" signs in tablespace mapping" +msgstr "несколько знаков \"=\" в сопоставлении табличного пространства" + +#: pg_combinebackup.c:469 +#, c-format +msgid "invalid tablespace mapping format \"%s\", must be \"OLDDIR=NEWDIR\"" +msgstr "" +"сопоставление табл. пространства записано неверно: \"%s\"; должно быть " +"\"СТАРЫЙ_КАТАЛОГ=НОВЫЙ_КАТАЛОГ\"" + +#: pg_combinebackup.c:480 pg_combinebackup.c:484 +#, c-format +msgid "old directory is not an absolute path in tablespace mapping: %s" +msgstr "" +"старый каталог в сопоставлении табл. пространства задан не абсолютным путём: " +"%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" +msgstr "" +"копия в \"%s\" является полной копией, но полную копию можно передать только " +"первой в списке" + +#: pg_combinebackup.c:556 +#, c-format +msgid "" +"backup at \"%s\" is an incremental backup, but the first backup should be a " +"full backup" +msgstr "" +"копия в \"%s\" является инкрементальной, но первой в списке должна " +"передаваться полная копия" + +#: pg_combinebackup.c:559 +#, c-format +msgid "backup at \"%s\" starts on timeline %u, but expected %u" +msgstr "копия в \"%s\" начинается с линии времени %u, а ожидалась %u" + +#: pg_combinebackup.c:562 +#, c-format +msgid "backup at \"%s\" starts at LSN %X/%X, but expected %X/%X" +msgstr "копия в \"%s\" начинается с LSN %X/%X, а ожидался %X/%X" + +#: pg_combinebackup.c:614 +#, c-format +msgid "%s: CRC is incorrect" +msgstr "%s: ошибка CRC" + +#: pg_combinebackup.c:618 +#, c-format +msgid "%s: unexpected control file version" +msgstr "%s: неожиданная версия управляющего файла" + +#: pg_combinebackup.c:625 +#, c-format +msgid "%s: expected system identifier %llu, but found %llu" +msgstr "%s: ожидался идентификатор системы %llu, но обнаружен %llu" + +#: pg_combinebackup.c:657 +#, c-format +msgid "only some backups have checksums enabled" +msgstr "контрольные суммы включены только в некоторых копиях" + +#: pg_combinebackup.c:658 +#, c-format +msgid "" +"Disable, and optionally reenable, checksums on the output directory to avoid " +"failures." +msgstr "" +"Отключите (и при необходимости вновь включите) контрольные суммы в выходном " +"каталоге во избежание сбоев." + +#: pg_combinebackup.c:693 +#, c-format +msgid "removing output directory \"%s\"" +msgstr "удаление выходного каталога \"%s\"" + +#: pg_combinebackup.c:695 +#, c-format +msgid "failed to remove output directory" +msgstr "ошибка при удалении выходного каталога" + +#: pg_combinebackup.c:699 +#, c-format +msgid "removing contents of output directory \"%s\"" +msgstr "удаление содержимого выходного каталога \"%s\"" + +#: pg_combinebackup.c:702 +#, c-format +msgid "failed to remove contents of output directory" +msgstr "ошибка при удалении содержимого выходного каталога" + +#: pg_combinebackup.c:742 +#, c-format +msgid "directory \"%s\" exists but is not empty" +msgstr "каталог \"%s\" существует, но он не пуст" + +#: pg_combinebackup.c:745 +#, c-format +msgid "could not access directory \"%s\": %m" +msgstr "ошибка при обращении к каталогу \"%s\": %m" + +#: pg_combinebackup.c:759 +#, c-format +msgid "" +"%s reconstructs full backups from incrementals.\n" +"\n" +msgstr "" +"%s реконструирует полные копии из инкрементальных.\n" +"\n" + +#: pg_combinebackup.c:760 +#, c-format +msgid "Usage:\n" +msgstr "Использование:\n" + +#: pg_combinebackup.c:761 +#, c-format +msgid " %s [OPTION]... DIRECTORY...\n" +msgstr " %s [ПАРАМЕТР]... КАТАЛОГ...\n" + +#: pg_combinebackup.c:762 +#, c-format +msgid "" +"\n" +"Options:\n" +msgstr "" +"\n" +"Параметры:\n" + +#: pg_combinebackup.c:763 +#, c-format +msgid " -d, --debug generate lots of debugging output\n" +msgstr " -d, --debug выдавать много отладочных сообщений\n" + +#: pg_combinebackup.c:764 +#, c-format +msgid " -n, --dry-run do not actually do anything\n" +msgstr "" +" -n, --dry-run не выполнять никаких практических действий\n" + +#: pg_combinebackup.c:765 +#, c-format +msgid "" +" -N, --no-sync do not wait for changes to be written safely to " +"disk\n" +msgstr "" +" -N, --no-sync не ждать завершения сохранения данных на диске\n" + +#: pg_combinebackup.c:766 +#, c-format +msgid " -o, --output=DIRECTORY output directory\n" +msgstr " -o, --output=КАТАЛОГ выходной каталог\n" + +#: pg_combinebackup.c:767 +#, c-format +msgid "" +" -T, --tablespace-mapping=OLDDIR=NEWDIR\n" +" relocate tablespace in OLDDIR to NEWDIR\n" +msgstr "" +" -T, --tablespace-mapping=СТАРЫЙ_КАТАЛОГ=НОВЫЙ_КАТАЛОГ\n" +" перенести табличное пространство из старого " +"каталога\n" +" в новый\n" + +#: pg_combinebackup.c:769 +#, c-format +msgid " --clone clone (reflink) files instead of copying\n" +msgstr "" +" --clone клонировать (используя reflink), а не " +"копировать\n" +" файлы\n" + +#: pg_combinebackup.c:770 +#, c-format +msgid " --copy copy files (default)\n" +msgstr " --copy копировать файлы (по умолчанию)\n" + +#: pg_combinebackup.c:771 +#, c-format +msgid " --copy-file-range copy using copy_file_range() system call\n" +msgstr "" +" --copy-file-range использовать для копирования системную функцию\n" +" copy_file_range()\n" + +#: pg_combinebackup.c:772 +#, c-format +msgid "" +" --manifest-checksums=SHA{224,256,384,512}|CRC32C|NONE\n" +" use algorithm for manifest checksums\n" +msgstr "" +" --manifest-checksums=SHA{224,256,384,512}|CRC32C|NONE\n" +" алгоритм подсчёта контрольных сумм в манифесте\n" + +#: pg_combinebackup.c:774 +#, c-format +msgid " --no-manifest suppress generation of backup manifest\n" +msgstr " --no-manifest отключить создание манифеста копии\n" + +#: pg_combinebackup.c:775 +#, c-format +msgid " --sync-method=METHOD set method for syncing files to disk\n" +msgstr " --sync-method=МЕТОД метод синхронизации файлов с ФС\n" + +#: pg_combinebackup.c:776 +#, c-format +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version показать версию и выйти\n" + +#: pg_combinebackup.c:777 +#, c-format +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help показать эту справку и выйти\n" + +#: pg_combinebackup.c:779 +#, c-format +msgid "" +"\n" +"Report bugs to <%s>.\n" +msgstr "" +"\n" +"Об ошибках сообщайте по адресу <%s>.\n" + +#: pg_combinebackup.c:780 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "Домашняя страница %s: <%s>\n" + +#: pg_combinebackup.c:995 +#, c-format +msgid "skipping symbolic link \"%s\"" +msgstr "символическая ссылка \"%s\" пропускается" + +#: pg_combinebackup.c:997 +#, c-format +msgid "skipping special file \"%s\"" +msgstr "специальный файл \"%s\" пропускается" + +#: pg_combinebackup.c:1073 reconstruct.c:305 +#, c-format +msgid "manifest file \"%s\" contains no entry for file \"%s\"" +msgstr "файл манифеста \"%s\" не содержит записи о файле \"%s\"" + +#: pg_combinebackup.c:1189 +#, c-format +msgid "%s: server version too old" +msgstr "%s: версия сервера слишком старая" + +#: pg_combinebackup.c:1190 +#, c-format +msgid "%s: could not parse version number" +msgstr "%s: не удалось разобрать номер версии" + +#: pg_combinebackup.c:1309 +#, c-format +msgid "could not read symbolic link \"%s\": %m" +msgstr "не удалось прочитать символическую ссылку \"%s\": %m" + +#: pg_combinebackup.c:1312 +#, c-format +msgid "target of symbolic link \"%s\" is too long" +msgstr "целевой путь символической ссылки \"%s\" слишком длинный" + +#: pg_combinebackup.c:1315 +#, c-format +msgid "target of symbolic link \"%s\" is relative" +msgstr "целевой путь символической ссылки \"%s\" является относительным" + +#: pg_combinebackup.c:1337 +#, c-format +msgid "tablespace at \"%s\" has no tablespace mapping" +msgstr "для табличного пространства в \"%s\" не задано сопоставление" + +#: pg_combinebackup.c:1355 +#, c-format +msgid "tablespaces with OIDs %u and %u both point at directory \"%s\"" +msgstr "" +"два табличных пространства с OIDs %u и %u указывают на один каталог \"%s\"" + +#: pg_combinebackup.c:1364 +#, c-format +msgid "could not close directory \"%s\": %m" +msgstr "не удалось закрыть каталог \"%s\": %m" + +#: pg_combinebackup.c:1385 +#, c-format +msgid "file \"%s\" is too large" +msgstr "файл \"%s\" слишком большой" + +#: pg_combinebackup.c:1402 +#, c-format +msgid "could not read file \"%s\": read %zd of %lld" +msgstr "не удалось прочитать файл \"%s\" (прочитано байт: %zd из %lld)" + +#: reconstruct.c:339 +#, c-format +msgid "full backup contains unexpected incremental file \"%s\"" +msgstr "полная копия содержит неожиданный инкрементальный файл \"%s\"" + +#: reconstruct.c:423 +#, c-format +msgid "file \"%s\" is too short: expected %llu, found %llu" +msgstr "файл \"%s\" слишком мал (ожидалось байт: %llu, фактически: %llu)" + +#: reconstruct.c:465 +#, c-format +msgid "file \"%s\" has bad incremental magic number (0x%x, expected 0x%x)" +msgstr "" +"в файла \"%s\" неверное контрольное число инкрементальной копии (0x%x, " +"ожидалось: 0x%x)" + +#: reconstruct.c:471 +#, c-format +msgid "file \"%s\" has block count %u in excess of segment size %u" +msgstr "в файле \"%s\" количество блоков %u превышает размер сегмента %u" + +#: reconstruct.c:478 +#, c-format +msgid "file \"%s\" has truncation block length %u in excess of segment size %u" +msgstr "" +"в файле \"%s\" длина отсечения в блоках (%u) превышает размер сегмента %u" + +#: reconstruct.c:542 +#, c-format +msgid "could not read file \"%s\": read %d of %u" +msgstr "не удалось прочитать файл \"%s\" (прочитано байт: %d из %u)" + +#: reconstruct.c:786 +#, c-format +msgid "could not read from file \"%s\", offset %llu: read %d of %d" +msgstr "" +"не удалось прочитать файл \"%s\" по смещению %llu (прочитано байт: %d из %d)" diff --git a/src/bin/pg_combinebackup/po/sv.po b/src/bin/pg_combinebackup/po/sv.po new file mode 100644 index 00000000000..36fabd7127b --- /dev/null +++ b/src/bin/pg_combinebackup/po/sv.po @@ -0,0 +1,891 @@ +# 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. +# +msgid "" +msgstr "" +"Project-Id-Version: PostgreSQL 17\n" +"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" +"POT-Creation-Date: 2024-08-31 06:22+0000\n" +"PO-Revision-Date: 2024-09-01 20:47+0200\n" +"Last-Translator: Dennis Björklund \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../../../src/common/logging.c:276 +#, c-format +msgid "error: " +msgstr "fel: " + +#: ../../../src/common/logging.c:283 +#, c-format +msgid "warning: " +msgstr "varning: " + +#: ../../../src/common/logging.c:294 +#, c-format +msgid "detail: " +msgstr "detalj: " + +#: ../../../src/common/logging.c:301 +#, c-format +msgid "hint: " +msgstr "tips: " + +#: ../../common/controldata_utils.c:97 +#, 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 copy_file.c:150 load_manifest.c:161 +#: load_manifest.c:199 pg_combinebackup.c:1400 reconstruct.c:527 +#, c-format +msgid "could not read file \"%s\": %m" +msgstr "kunde inte läsa fil \"%s\": %m" + +#: ../../common/controldata_utils.c:119 +#, c-format +msgid "could not read file \"%s\": read %d of %zu" +msgstr "kunde inte läsa fil \"%s\": läste %d av %zu" + +#: ../../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:356 reconstruct.c:727 +#: write_manifest.c:187 +#, c-format +msgid "could not close file \"%s\": %m" +msgstr "kunde inte stänga fil \"%s\": %m" + +#: ../../common/controldata_utils.c:168 +msgid "byte ordering mismatch" +msgstr "byte-ordning stämmer inte" + +#: ../../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 "" +"möjligt fel i byteordning\n" +"Den byteordning som filen från pg_control lagrats med passar kanske\n" +"inte detta program. I så fall kan nedanstående resultat vara felaktiga\n" +"och PostgreSQL-installationen vara inkompatibel med databaskatalogen." + +#: ../../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 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:510 reconstruct.c:625 +#: 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:746 +#: write_manifest.c:260 +#, c-format +msgid "could not write file \"%s\": %m" +msgstr "kunde inte skriva fil \"%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 "kunde inte fsync:a fil \"%s\": %m" + +#: ../../common/cryptohash.c:261 ../../common/cryptohash_openssl.c:356 +#: ../../common/parse_manifest.c:157 ../../common/parse_manifest.c:853 +#, c-format +msgid "out of memory" +msgstr "slut på minne" + +#: ../../common/cryptohash.c:266 ../../common/cryptohash.c:272 +#: ../../common/cryptohash_openssl.c:368 ../../common/cryptohash_openssl.c:376 +msgid "success" +msgstr "lyckades" + +#: ../../common/cryptohash.c:268 ../../common/cryptohash_openssl.c:370 +msgid "destination buffer too small" +msgstr "destinationsbuffer för liten" + +#: ../../common/cryptohash_openssl.c:372 +msgid "OpenSSL failure" +msgstr "OpenSSL-fel" + +#: ../../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 "slut på minne\n" + +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 +#, c-format +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "kan inte duplicera null-pekare (internt fel)\n" + +#: ../../common/file_utils.c:76 +#, c-format +msgid "could not synchronize file system for file \"%s\": %m" +msgstr "kan inte synkronisera filsystemet för fil \"%s\": %m" + +#: ../../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:199 +#: reconstruct.c:408 +#, c-format +msgid "could not stat file \"%s\": %m" +msgstr "kunde inte göra stat() på fil \"%s\": %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 "detta bygge stöder inte synkmetod \"%s\"" + +#: ../../common/file_utils.c:151 ../../common/file_utils.c:281 +#: pg_combinebackup.c:933 pg_combinebackup.c:1256 +#, 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 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "kunde inte läsa katalog \"%s\": %m" + +#: ../../common/file_utils.c:498 +#, c-format +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "kunde inte döpa om fil \"%s\" till \"%s\": %m" + +#: ../../common/jsonapi.c:2121 +msgid "Recursive descent parser cannot use incremental lexer." +msgstr "Recursive-descent-parser kan inte använda inkrementell lexer." + +#: ../../common/jsonapi.c:2123 +msgid "Incremental parser requires incremental lexer." +msgstr "Inkrementell parser kräver en inkrementell lexer." + +#: ../../common/jsonapi.c:2125 +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 +#, c-format +msgid "Escape sequence \"\\%.*s\" is invalid." +msgstr "Escape-sekvens \"\\%.*s\" är ogiltig." + +#: ../../common/jsonapi.c:2131 +#, 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 +#, c-format +msgid "Expected end of input, but found \"%.*s\"." +msgstr "Förväntade slut på indata, men hittade \"%.*s\"." + +#: ../../common/jsonapi.c:2138 +#, c-format +msgid "Expected array element or \"]\", but found \"%.*s\"." +msgstr "Färväntade array-element eller \"]\", men hittade \"%.*s\"." + +#: ../../common/jsonapi.c:2141 +#, c-format +msgid "Expected \",\" or \"]\", but found \"%.*s\"." +msgstr "Förväntade \",\" eller \"]\", men hittade \"%.*s\"." + +#: ../../common/jsonapi.c:2144 +#, c-format +msgid "Expected \":\", but found \"%.*s\"." +msgstr "Förväntade sig \":\" men hittade \"%.*s\"." + +#: ../../common/jsonapi.c:2147 +#, c-format +msgid "Expected JSON value, but found \"%.*s\"." +msgstr "Förväntade JSON-värde, men hittade \"%.*s\"." + +#: ../../common/jsonapi.c:2150 +msgid "The input string ended unexpectedly." +msgstr "Indatasträngen avslutades oväntat." + +#: ../../common/jsonapi.c:2152 +#, c-format +msgid "Expected string or \"}\", but found \"%.*s\"." +msgstr "Färväntade sträng eller \"}\", men hittade \"%.*s\"." + +#: ../../common/jsonapi.c:2155 +#, c-format +msgid "Expected \",\" or \"}\", but found \"%.*s\"." +msgstr "Förväntade sig \",\" eller \"}\" men hittade \"%.*s\"." + +#: ../../common/jsonapi.c:2158 +#, c-format +msgid "Expected string, but found \"%.*s\"." +msgstr "Förväntade sträng, men hittade \"%.*s\"." + +#: ../../common/jsonapi.c:2161 +#, c-format +msgid "Token \"%.*s\" is invalid." +msgstr "Token \"%.*s\" är ogiltig." + +#: ../../common/jsonapi.c:2164 +msgid "\\u0000 cannot be converted to text." +msgstr "\\u0000 kan inte konverteras till text." + +#: ../../common/jsonapi.c:2166 +msgid "\"\\u\" must be followed by four hexadecimal digits." +msgstr "\"\\u\" måste följas av fyra hexdecimala siffror." + +#: ../../common/jsonapi.c:2169 +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 +#, 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 +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 +msgid "Unicode low surrogate must follow a high surrogate." +msgstr "Unicodes lägre surrogathalva måste följa en övre surrogathalva." + +#: ../../common/parse_manifest.c:159 ../../common/parse_manifest.c:855 +#, c-format +msgid "could not initialize checksum of manifest" +msgstr "kunde inte initiera kontrollsumma för backup-manifest" + +#: ../../common/parse_manifest.c:204 ../../common/parse_manifest.c:261 +msgid "manifest ended unexpectedly" +msgstr "manifestet avslutades oväntat" + +#: ../../common/parse_manifest.c:210 ../../common/parse_manifest.c:862 +#, c-format +msgid "could not update checksum of manifest" +msgstr "kunde inte uppdatera kontrollsumma för backup-manifest" + +#: ../../common/parse_manifest.c:302 +msgid "unexpected object start" +msgstr "oväntad objektstart" + +#: ../../common/parse_manifest.c:337 +msgid "unexpected object end" +msgstr "oväntat objektslut" + +#: ../../common/parse_manifest.c:366 +msgid "unexpected array start" +msgstr "oväntad array-start" + +#: ../../common/parse_manifest.c:391 +msgid "unexpected array end" +msgstr "oväntat array-slut" + +#: ../../common/parse_manifest.c:418 +msgid "expected version indicator" +msgstr "förväntade en versionsindikator" + +#: ../../common/parse_manifest.c:454 +msgid "unrecognized top-level field" +msgstr "okänt toppnivåfält" + +#: ../../common/parse_manifest.c:473 +msgid "unexpected file field" +msgstr "oväntat filfält" + +#: ../../common/parse_manifest.c:487 +msgid "unexpected WAL range field" +msgstr "oväntat WAL-intervall-fält" + +#: ../../common/parse_manifest.c:493 +msgid "unexpected object field" +msgstr "oväntat objektfält" + +#: ../../common/parse_manifest.c:583 +msgid "unexpected scalar" +msgstr "oväntad skalar" + +#: ../../common/parse_manifest.c:609 +msgid "manifest version not an integer" +msgstr "manifestversion är inte ett heltal" + +#: ../../common/parse_manifest.c:613 +msgid "unexpected manifest version" +msgstr "oväntad manifestversion" + +#: ../../common/parse_manifest.c:637 +msgid "system identifier in manifest not an integer" +msgstr "manifestets systemidentifierare är inte ett heltal" + +#: ../../common/parse_manifest.c:662 +msgid "missing path name" +msgstr "saknas sökväg" + +#: ../../common/parse_manifest.c:665 +msgid "both path name and encoded path name" +msgstr "både sökväg och kodad sökväg" + +#: ../../common/parse_manifest.c:667 +msgid "missing size" +msgstr "saknar storlek" + +#: ../../common/parse_manifest.c:670 +msgid "checksum without algorithm" +msgstr "kontrollsumma utan algoritm" + +#: ../../common/parse_manifest.c:684 +msgid "could not decode file name" +msgstr "kunde inte avkoda filnamn" + +#: ../../common/parse_manifest.c:694 +msgid "file size is not an integer" +msgstr "filstorlek är inte ett haltal" + +#: ../../common/parse_manifest.c:700 pg_combinebackup.c:199 +#, c-format +msgid "unrecognized checksum algorithm: \"%s\"" +msgstr "okänd algoritm för kontrollsumma: \"%s\"" + +#: ../../common/parse_manifest.c:719 +#, c-format +msgid "invalid checksum for file \"%s\": \"%s\"" +msgstr "ogiltig kontrollsumma för fil \"%s\": \"%s\"" + +#: ../../common/parse_manifest.c:762 +msgid "missing timeline" +msgstr "saknar tidslinje" + +#: ../../common/parse_manifest.c:764 +msgid "missing start LSN" +msgstr "saknar start-LSN" + +#: ../../common/parse_manifest.c:766 +msgid "missing end LSN" +msgstr "saknar slut-LSN" + +#: ../../common/parse_manifest.c:772 +msgid "timeline is not an integer" +msgstr "tidslinje är inte ett heltal" + +#: ../../common/parse_manifest.c:775 +msgid "could not parse start LSN" +msgstr "kunde inte parsa start-LSN" + +#: ../../common/parse_manifest.c:778 +msgid "could not parse end LSN" +msgstr "kunde inte parsa slut-LSN" + +#: ../../common/parse_manifest.c:843 +msgid "expected at least 2 lines" +msgstr "förväntade minst två rader" + +#: ../../common/parse_manifest.c:846 +msgid "last line not newline-terminated" +msgstr "sista raden är inte nyradsterminerad" + +#: ../../common/parse_manifest.c:865 +#, c-format +msgid "could not finalize checksum of manifest" +msgstr "kunde inte göra klart kontrollsumma för backup-manifest" + +#: ../../common/parse_manifest.c:869 +#, c-format +msgid "manifest has no checksum" +msgstr "manifestet har ingen kontrollsumma" + +#: ../../common/parse_manifest.c:873 +#, c-format +msgid "invalid manifest checksum: \"%s\"" +msgstr "ogiltig kontrollsumma för manifest: \"%s\"" + +#: ../../common/parse_manifest.c:877 +#, c-format +msgid "manifest checksum mismatch" +msgstr "kontrollsumma för manifest matchar inte" + +#: ../../common/parse_manifest.c:892 +#, c-format +msgid "could not parse backup manifest: %s" +msgstr "kunde inte parsa backup-manifest: %s" + +#: ../../fe_utils/option_utils.c:69 +#, c-format +msgid "invalid value \"%s\" for option %s" +msgstr "ogiltigt värde \"%s\" för flaggan \"%s\"" + +#: ../../fe_utils/option_utils.c:76 +#, c-format +msgid "%s must be in range %d..%d" +msgstr "%s måste vara i intervallet %d..%d" + +#: ../../fe_utils/option_utils.c:106 +#, c-format +msgid "unrecognized sync method: %s" +msgstr "okänd synkmetod: %s" + +#: backup_label.c:66 backup_label.c:85 backup_label.c:95 +#, c-format +msgid "%s: could not parse %s" +msgstr "%s: kunde inte parsa %s" + +#: backup_label.c:69 backup_label.c:88 +#, c-format +msgid "%s: improper terminator for %s" +msgstr "%s: felaktig avslutare för %s" + +#: backup_label.c:76 +#, c-format +msgid "%s: could not parse TLI for %s" +msgstr "%s: kunde inte parsa TLI för %s" + +#: backup_label.c:79 backup_label.c:98 +#, c-format +msgid "%s: invalid TLI" +msgstr "%s: ogitlig TLI" + +#: backup_label.c:106 backup_label.c:108 +#, c-format +msgid "%s: could not find %s" +msgstr "%s: kunde inte hitta %s" + +#: backup_label.c:110 backup_label.c:113 +#, c-format +msgid "%s: %s requires %s" +msgstr "%s: %s kräver %s" + +#: backup_label.c:162 reconstruct.c:748 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:708 +#: reconstruct.c:754 write_manifest.c:270 +#, c-format +msgid "could not update checksum of file \"%s\"" +msgstr "kunde inte uppdatera kontrollsumma för filen \"%s\"" + +#: copy_file.c:186 +#, c-format +msgid "could not write to file \"%s\": %m" +msgstr "kunde inte skriva till fil \"%s\": %m" + +#: copy_file.c:188 +#, c-format +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:771 +#, c-format +msgid "could not read from file \"%s\": %m" +msgstr "kunde inte läsa från fil \"%s\": %m" + +#: copy_file.c:218 +#, c-format +msgid "error while cloning file \"%s\" to \"%s\": %m" +msgstr "fel vid kloning av fil \"%s\" till \"%s\": %m" + +#: copy_file.c:229 copy_file.c:272 +#, c-format +msgid "could not create file \"%s\": %m" +msgstr "kunde inte skapa fil \"%s\": %m" + +#: copy_file.c:237 +#, c-format +msgid "error while cloning file \"%s\" to \"%s\": %s" +msgstr "fel vid kloning av fil \"%s\" till \"%s\": %s" + +#: copy_file.c:245 pg_combinebackup.c:251 +#, c-format +msgid "file cloning not supported on this platform" +msgstr "filkloning stöds inte på denna plattform" + +#: copy_file.c:278 reconstruct.c:691 +#, 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:711 +#, c-format +msgid "copy_file_range not supported on this platform" +msgstr "copy_file_range stöds inte på denna plattform" + +#: copy_file.c:300 +#, c-format +msgid "could not copy file \"%s\" to \"%s\": %m" +msgstr "kunde inte kopiera fil \"%s\" till \"%s\": %m" + +#: load_manifest.c:125 +#, c-format +msgid "file \"%s\" does not exist" +msgstr "filen \"%s\" finns inte" + +#: load_manifest.c:163 +#, c-format +msgid "could not read file \"%s\": read %d of %lld" +msgstr "kunde inte läsa fil \"%s\": läste %d av %lld" + +#: load_manifest.c:201 +#, c-format +msgid "could not read file \"%s\": read %lld of %lld" +msgstr "kunde inte läsa fil \"%s\": läste %lld av %lld" + +#: load_manifest.c:249 +#, c-format +msgid "backup manifest version 1 does not support incremental backup" +msgstr "version 1 av backup-manifest stöder inte inkrementell backup" + +#: load_manifest.c:281 +#, c-format +msgid "duplicate path name in backup manifest: \"%s\"" +msgstr "duplicerad sökväg i backup-manifest: \"%s\"" + +#: pg_combinebackup.c:220 pg_combinebackup.c:228 +#, c-format +msgid "Try \"%s --help\" for more information." +msgstr "Försök med \"%s --help\" för mer information." + +#: pg_combinebackup.c:227 +#, c-format +msgid "no input directories specified" +msgstr "inga indatakataloger har angivits" + +#: pg_combinebackup.c:233 +#, c-format +msgid "no output directory specified" +msgstr "ingen utdatakatalog angiven" + +#: pg_combinebackup.c:301 +#, c-format +msgid "%s: manifest system identifier is %llu, but control file has %llu" +msgstr "%s: manifestets systemidentifierare är %llu men kontrollfilern har %llu" + +#: pg_combinebackup.c:340 +#, c-format +msgid "cannot generate a manifest because no manifest is available for the final input backup" +msgstr "kan inte skapa manifest då inget manifest är tillgängligt för den avslutande indatabackup:en" + +#: pg_combinebackup.c:387 +#, c-format +msgid "could not create symbolic link from \"%s\" to \"%s\": %m" +msgstr "kunde inte skapa symbolisk länk från \"%s\" till \"%s\": %m" + +#: pg_combinebackup.c:399 pg_combinebackup.c:730 pg_combinebackup.c:927 +#, c-format +msgid "could not create directory \"%s\": %m" +msgstr "kunde inte skapa katalog \"%s\": %m" + +#: pg_combinebackup.c:454 +#, c-format +msgid "directory name too long" +msgstr "katalognamn för långt" + +#: pg_combinebackup.c:461 +#, c-format +msgid "multiple \"=\" signs in tablespace mapping" +msgstr "multipla \"=\"-tecken i tablespace-mappning" + +#: pg_combinebackup.c:469 +#, c-format +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 +#, 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:553 +#, c-format +msgid "backup at \"%s\" is a full backup, but only the first backup should be a full backup" +msgstr "backup:en vid \"%s\" är en full backup men det är bara den första backup:en som skall vara en full backup" + +#: pg_combinebackup.c:556 +#, c-format +msgid "backup at \"%s\" is an incremental backup, but the first backup should be a full backup" +msgstr "backup:en vid \"%s\" är en inkrementell backup men den första backupen skall vara en full backup" + +#: pg_combinebackup.c:559 +#, c-format +msgid "backup at \"%s\" starts on timeline %u, but expected %u" +msgstr "backup:en vid \"%s\" startar på tidslinjen %u men det förväntades vara %u" + +#: pg_combinebackup.c:562 +#, c-format +msgid "backup at \"%s\" starts at LSN %X/%X, but expected %X/%X" +msgstr "backup:eb vid \"%s\" startar vid LSN %X/%X men förväntades vare %X/%X" + +#: pg_combinebackup.c:614 +#, c-format +msgid "%s: CRC is incorrect" +msgstr "%s: CRC är inkorrekt" + +#: pg_combinebackup.c:618 +#, c-format +msgid "%s: unexpected control file version" +msgstr "%s: oväntad version på kontrollfil" + +#: pg_combinebackup.c:625 +#, c-format +msgid "%s: expected system identifier %llu, but found %llu" +msgstr "%s: förväntade systemidentifierare %llu men hittade %llu" + +#: pg_combinebackup.c:657 +#, c-format +msgid "only some backups have checksums enabled" +msgstr "bara några backup:er har checksummor aktiverade" + +#: pg_combinebackup.c:658 +#, c-format +msgid "Disable, and optionally reenable, checksums on the output directory to avoid failures." +msgstr "Avaktivera och möjligen återaktivera checksummor på utdatakatalogen för att undvika fel" + +#: pg_combinebackup.c:693 +#, c-format +msgid "removing output directory \"%s\"" +msgstr "tar bort katalog för utdata \"%s\"" + +#: pg_combinebackup.c:695 +#, c-format +msgid "failed to remove output directory" +msgstr "misslyckades att ta bort katalog för utdata" + +#: pg_combinebackup.c:699 +#, c-format +msgid "removing contents of output directory \"%s\"" +msgstr "tar bort innehåll i katalog för utdata \"%s\"" + +#: pg_combinebackup.c:702 +#, c-format +msgid "failed to remove contents of output directory" +msgstr "misslyckades att ta bort innehåll i katalog för utdata" + +#: pg_combinebackup.c:742 +#, c-format +msgid "directory \"%s\" exists but is not empty" +msgstr "katalogen \"%s\" existerar men är inte tom" + +#: pg_combinebackup.c:745 +#, c-format +msgid "could not access directory \"%s\": %m" +msgstr "kunde inte komma åt katalog \"%s\": %m" + +#: pg_combinebackup.c:759 +#, c-format +msgid "" +"%s reconstructs full backups from incrementals.\n" +"\n" +msgstr "" +"%s återskapar fulla backup:er från inkrementella.\n" +"\n" + +#: pg_combinebackup.c:760 +#, c-format +msgid "Usage:\n" +msgstr "Användning:\n" + +#: pg_combinebackup.c:761 +#, c-format +msgid " %s [OPTION]... DIRECTORY...\n" +msgstr " %s [FLAGGA]... KATALOG...\n" + +#: pg_combinebackup.c:762 +#, c-format +msgid "" +"\n" +"Options:\n" +msgstr "" +"\n" +"Flaggor:\n" + +#: pg_combinebackup.c:763 +#, c-format +msgid " -d, --debug generate lots of debugging output\n" +msgstr " -d, --debug generera massor med debug-utskrifter\n" + +#: pg_combinebackup.c:764 +#, c-format +msgid " -n, --dry-run do not actually do anything\n" +msgstr " -n, --dry-run gör inga operationer\n" + +#: pg_combinebackup.c:765 +#, c-format +msgid " -N, --no-sync do not wait for changes to be written safely to disk\n" +msgstr " -N, --no-sync vänta inte på att ändingar säkert skrivits till disk\n" + +#: pg_combinebackup.c:766 +#, c-format +msgid " -o, --output=DIRECTORY output directory\n" +msgstr " -o, --output=KATALOG katalog för utdata\n" + +#: pg_combinebackup.c:767 +#, c-format +msgid "" +" -T, --tablespace-mapping=OLDDIR=NEWDIR\n" +" relocate tablespace in OLDDIR to NEWDIR\n" +msgstr "" +" -T, --tablespace-mapping=FRÅNKAT=NYKAT\n" +" flytta tabellutrymme i FRÅNKAT till NYKAT\n" + +#: pg_combinebackup.c:769 +#, c-format +msgid " --clone clone (reflink) files instead of copying\n" +msgstr " --clone klona (reflink) filer istället för att kopiera\n" + +#: pg_combinebackup.c:770 +#, c-format +msgid " --copy copy files (default)\n" +msgstr " --copy kopiera filer (standard)\n" + +#: pg_combinebackup.c:771 +#, c-format +msgid " --copy-file-range copy using copy_file_range() system call\n" +msgstr " --copy-file-range kopiera med systemaropet copy_file_range()\n" + +#: pg_combinebackup.c:772 +#, c-format +msgid "" +" --manifest-checksums=SHA{224,256,384,512}|CRC32C|NONE\n" +" use algorithm for manifest checksums\n" +msgstr "" +" --manifest-checksums=SHA{224,256,384,512}|CRC32C|NONE\n" +" algoritm att anvvända för checksummor i manifest\n" + +#: pg_combinebackup.c:774 +#, c-format +msgid " --no-manifest suppress generation of backup manifest\n" +msgstr " --no-manifest skapa inget backup-manifest\n" + +#: pg_combinebackup.c:775 +#, c-format +msgid " --sync-method=METHOD set method for syncing files to disk\n" +msgstr " --sync-method=METOD sätt synkmetod för att synka filer till disk\n" + +#: pg_combinebackup.c:776 +#, c-format +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version visa versionsinformation, avsluta sedan\n" + +#: pg_combinebackup.c:777 +#, c-format +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help visa denna hjälp, avsluta sedan\n" + +#: pg_combinebackup.c:779 +#, c-format +msgid "" +"\n" +"Report bugs to <%s>.\n" +msgstr "" +"\n" +"Rapportera fel till <%s>.\n" + +#: pg_combinebackup.c:780 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "hemsida för %s: <%s>\n" + +#: pg_combinebackup.c:995 +#, c-format +msgid "skipping symbolic link \"%s\"" +msgstr "hoppar över symbolisk länk \"%s\"" + +#: pg_combinebackup.c:997 +#, c-format +msgid "skipping special file \"%s\"" +msgstr "hoppar över specialfil \"%s\"" + +#: pg_combinebackup.c:1073 reconstruct.c:300 +#, c-format +msgid "manifest file \"%s\" contains no entry for file \"%s\"" +msgstr "manifestfil \"%s\" innehåller ingen post för fil \"%s\"" + +#: pg_combinebackup.c:1189 +#, c-format +msgid "%s: server version too old" +msgstr "%s: serverns version är för gammal" + +#: pg_combinebackup.c:1190 +#, c-format +msgid "%s: could not parse version number" +msgstr "%s: kunde inte parsa versionnummer" + +#: pg_combinebackup.c:1309 +#, c-format +msgid "could not read symbolic link \"%s\": %m" +msgstr "kan inte läsa symbolisk länk \"%s\": %m" + +#: pg_combinebackup.c:1312 +#, c-format +msgid "target of symbolic link \"%s\" is too long" +msgstr "destinationen för symbolisk länk \"%s\" är för lång" + +#: pg_combinebackup.c:1315 +#, c-format +msgid "target of symbolic link \"%s\" is relative" +msgstr "destination för symbolisk länk \"%s\" är relativ" + +#: pg_combinebackup.c:1337 +#, c-format +msgid "tablespace at \"%s\" has no tablespace mapping" +msgstr "tabellutrymme vid \"%s\" har ingen mapping" + +#: pg_combinebackup.c:1355 +#, c-format +msgid "tablespaces with OIDs %u and %u both point at directory \"%s\"" +msgstr "tabellutrymme med OID:er %u och %u pekar på samma katalog \"%s\"" + +#: pg_combinebackup.c:1364 +#, c-format +msgid "could not close directory \"%s\": %m" +msgstr "kunde inte stänga katalog \"%s\": %m" + +#: pg_combinebackup.c:1385 +#, c-format +msgid "file \"%s\" is too large" +msgstr "filen \"%s\" är för stor" + +#: pg_combinebackup.c:1402 +#, c-format +msgid "could not read file \"%s\": read %zd of %lld" +msgstr "kunde inte läsa fil \"%s\": läste %zd av %lld" + +#: reconstruct.c:410 +#, 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:452 +#, 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:458 +#, 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:465 +#, 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:529 +#, 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:773 +#, 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 --git a/src/bin/pg_combinebackup/po/uk.po b/src/bin/pg_combinebackup/po/uk.po new file mode 100644 index 00000000000..51e19b62206 --- /dev/null +++ b/src/bin/pg_combinebackup/po/uk.po @@ -0,0 +1,876 @@ +msgid "" +msgstr "" +"Project-Id-Version: postgresql\n" +"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" +"POT-Creation-Date: 2024-08-31 06:22+0000\n" +"PO-Revision-Date: 2024-09-23 19:38\n" +"Last-Translator: \n" +"Language-Team: Ukrainian\n" +"Language: uk_UA\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" +"X-Crowdin-Project: postgresql\n" +"X-Crowdin-Project-ID: 324573\n" +"X-Crowdin-Language: uk\n" +"X-Crowdin-File: /REL_17_STABLE/pg_combinebackup.pot\n" +"X-Crowdin-File-ID: 1008\n" + +#: ../../../src/common/logging.c:276 +#, c-format +msgid "error: " +msgstr "помилка: " + +#: ../../../src/common/logging.c:283 +#, c-format +msgid "warning: " +msgstr "попередження: " + +#: ../../../src/common/logging.c:294 +#, c-format +msgid "detail: " +msgstr "деталі: " + +#: ../../../src/common/logging.c:301 +#, c-format +msgid "hint: " +msgstr "підказка: " + +#: ../../common/controldata_utils.c:97 +#, c-format +msgid "could not open file \"%s\" for reading: %m" +msgstr "не вдалося відкрити файл \"%s\" для читання: %m" + +#: ../../common/controldata_utils.c:110 copy_file.c:150 load_manifest.c:161 +#: load_manifest.c:199 pg_combinebackup.c:1400 reconstruct.c:527 +#, 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 "не вдалося прочитати файл \"%s\": прочитано %d з %zu" + +#: ../../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:356 reconstruct.c:727 +#: write_manifest.c:187 +#, 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, може не відповідати тому, який використовується цією програмою. У такому випадку результати нижче будуть неправильним, і інсталяція 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 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:510 reconstruct.c:625 +#: write_manifest.c:250 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "не можливо відкрити файл \"%s\": %m" + +#: ../../common/controldata_utils.c:249 backup_label.c:160 reconstruct.c:746 +#: write_manifest.c:260 +#, 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 "не вдалося fsync файл \"%s\": %m" + +#: ../../common/cryptohash.c:261 ../../common/cryptohash_openssl.c:356 +#: ../../common/parse_manifest.c:157 ../../common/parse_manifest.c:853 +#, c-format +msgid "out of memory" +msgstr "недостатньо пам'яті" + +#: ../../common/cryptohash.c:266 ../../common/cryptohash.c:272 +#: ../../common/cryptohash_openssl.c:368 ../../common/cryptohash_openssl.c:376 +msgid "success" +msgstr "успіх" + +#: ../../common/cryptohash.c:268 ../../common/cryptohash_openssl.c:370 +msgid "destination buffer too small" +msgstr "буфер призначення занадто малий" + +#: ../../common/cryptohash_openssl.c:372 +msgid "OpenSSL failure" +msgstr "Помилка OpenSSL" + +#: ../../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 "неможливо дублювати нульовий покажчик (внутрішня помилка)\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 +#: backup_label.c:187 load_manifest.c:133 pg_combinebackup.c:676 +#: pg_combinebackup.c:1131 pg_combinebackup.c:1383 reconstruct.c:199 +#: reconstruct.c:408 +#, c-format +msgid "could not stat file \"%s\": %m" +msgstr "не вдалося отримати інформацію від файлу \"%s\": %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_combinebackup.c:933 pg_combinebackup.c:1256 +#, c-format +msgid "could not open directory \"%s\": %m" +msgstr "не вдалося відкрити каталог \"%s\": %m" + +#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 +#, 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/jsonapi.c:2121 +msgid "Recursive descent parser cannot use incremental lexer." +msgstr "Рекурсивний спуск не може використовувати інкрементний лексичний аналізатор." + +#: ../../common/jsonapi.c:2123 +msgid "Incremental parser requires incremental lexer." +msgstr "Інкрементний аналізатор потребує Інкрементний лексичний аналізатор." + +#: ../../common/jsonapi.c:2125 +msgid "JSON nested too deep, maximum permitted depth is 6400." +msgstr "JSON вкладений занадто глибокий, максимально дозволена глибина - 6400." + +#: ../../common/jsonapi.c:2127 +#, c-format +msgid "Escape sequence \"\\%.*s\" is invalid." +msgstr "Неприпустима спеціальна послідовність \"\\%.*s\"." + +#: ../../common/jsonapi.c:2131 +#, c-format +msgid "Character with value 0x%02x must be escaped." +msgstr "Символ зі значенням 0x%02x повинен бути пропущений." + +#: ../../common/jsonapi.c:2135 +#, c-format +msgid "Expected end of input, but found \"%.*s\"." +msgstr "Очікувався кінець введення, але знайдено \"%.*s\"." + +#: ../../common/jsonapi.c:2138 +#, c-format +msgid "Expected array element or \"]\", but found \"%.*s\"." +msgstr "Очікувався елемент масиву або \"]\", але знайдено \"%.*s\"." + +#: ../../common/jsonapi.c:2141 +#, c-format +msgid "Expected \",\" or \"]\", but found \"%.*s\"." +msgstr "Очікувалось \",\" або \"]\", але знайдено \"%.*s\"." + +#: ../../common/jsonapi.c:2144 +#, c-format +msgid "Expected \":\", but found \"%.*s\"." +msgstr "Очікувалось \":\", але знайдено \"%.*s\"." + +#: ../../common/jsonapi.c:2147 +#, c-format +msgid "Expected JSON value, but found \"%.*s\"." +msgstr "Очікувалось значення JSON, але знайдено \"%.*s\"." + +#: ../../common/jsonapi.c:2150 +msgid "The input string ended unexpectedly." +msgstr "Несподіваний кінець вхідного рядка." + +#: ../../common/jsonapi.c:2152 +#, c-format +msgid "Expected string or \"}\", but found \"%.*s\"." +msgstr "Очікувався рядок або \"}\", але знайдено \"%.*s\"." + +#: ../../common/jsonapi.c:2155 +#, c-format +msgid "Expected \",\" or \"}\", but found \"%.*s\"." +msgstr "Очікувалось \",\" або \"}\", але знайдено \"%.*s\"." + +#: ../../common/jsonapi.c:2158 +#, c-format +msgid "Expected string, but found \"%.*s\"." +msgstr "Очікувався рядок, але знайдено \"%.*s\"." + +#: ../../common/jsonapi.c:2161 +#, c-format +msgid "Token \"%.*s\" is invalid." +msgstr "Неприпустимий маркер \"%.*s\"." + +#: ../../common/jsonapi.c:2164 +msgid "\\u0000 cannot be converted to text." +msgstr "\\u0000 не можна перетворити в текст." + +#: ../../common/jsonapi.c:2166 +msgid "\"\\u\" must be followed by four hexadecimal digits." +msgstr "За \"\\u\" повинні прямувати чотири шістнадцяткових числа." + +#: ../../common/jsonapi.c:2169 +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 +#, c-format +msgid "Unicode escape value could not be translated to the server's encoding %s." +msgstr "Значення символу Unicode не вдалося перекласти в кодування сервера %s." + +#: ../../common/jsonapi.c:2185 +msgid "Unicode high surrogate must not follow a high surrogate." +msgstr "Старший сурогат Unicode не повинен прямувати за іншим старшим сурогатом." + +#: ../../common/jsonapi.c:2187 +msgid "Unicode low surrogate must follow a high surrogate." +msgstr "Молодший сурогат Unicode не повинен прямувати за іншим молодшим сурогатом." + +#: ../../common/parse_manifest.c:159 ../../common/parse_manifest.c:855 +#, c-format +msgid "could not initialize checksum of manifest" +msgstr "не вдалося ініціалізувати контрольну суму маніфесту" + +#: ../../common/parse_manifest.c:204 ../../common/parse_manifest.c:261 +msgid "manifest ended unexpectedly" +msgstr "маніфест закінчився несподівано" + +#: ../../common/parse_manifest.c:210 ../../common/parse_manifest.c:862 +#, c-format +msgid "could not update checksum of manifest" +msgstr "не вдалося оновити контрольну суму маніфесту" + +#: ../../common/parse_manifest.c:302 +msgid "unexpected object start" +msgstr "неочікуваний початок об'єкта" + +#: ../../common/parse_manifest.c:337 +msgid "unexpected object end" +msgstr "неочікуваний кінець об'єкта" + +#: ../../common/parse_manifest.c:366 +msgid "unexpected array start" +msgstr "неочікуваний початок масиву" + +#: ../../common/parse_manifest.c:391 +msgid "unexpected array end" +msgstr "неочікуваний кінець масиву" + +#: ../../common/parse_manifest.c:418 +msgid "expected version indicator" +msgstr "індикатор очікуваної версії" + +#: ../../common/parse_manifest.c:454 +msgid "unrecognized top-level field" +msgstr "нерозпізнане поле верхнього рівня" + +#: ../../common/parse_manifest.c:473 +msgid "unexpected file field" +msgstr "неочікуване поле файлу" + +#: ../../common/parse_manifest.c:487 +msgid "unexpected WAL range field" +msgstr "неочікуване поле діапазону WAL" + +#: ../../common/parse_manifest.c:493 +msgid "unexpected object field" +msgstr "неочікуване поле об'єкта" + +#: ../../common/parse_manifest.c:583 +msgid "unexpected scalar" +msgstr "неочікуваний скаляр" + +#: ../../common/parse_manifest.c:609 +msgid "manifest version not an integer" +msgstr "версія маніфесту не ціле число" + +#: ../../common/parse_manifest.c:613 +msgid "unexpected manifest version" +msgstr "неочікувана версія маніфесту" + +#: ../../common/parse_manifest.c:637 +msgid "system identifier in manifest not an integer" +msgstr "системний ідентифікатор в маніфесті не ціле число" + +#: ../../common/parse_manifest.c:662 +msgid "missing path name" +msgstr "пропущено шлях" + +#: ../../common/parse_manifest.c:665 +msgid "both path name and encoded path name" +msgstr "і ім'я шляху, і закодований шлях" + +#: ../../common/parse_manifest.c:667 +msgid "missing size" +msgstr "відсутній розмір" + +#: ../../common/parse_manifest.c:670 +msgid "checksum without algorithm" +msgstr "контрольна сума без алгоритму" + +#: ../../common/parse_manifest.c:684 +msgid "could not decode file name" +msgstr "не вдалося декодувати ім'я файлу" + +#: ../../common/parse_manifest.c:694 +msgid "file size is not an integer" +msgstr "розмір файлу не є цілим числом" + +#: ../../common/parse_manifest.c:700 pg_combinebackup.c:199 +#, c-format +msgid "unrecognized checksum algorithm: \"%s\"" +msgstr "нерозпізнаний алгоритм контрольної суми: \"%s\"" + +#: ../../common/parse_manifest.c:719 +#, c-format +msgid "invalid checksum for file \"%s\": \"%s\"" +msgstr "неприпустима контрольна сума для файлу \"%s\": \"%s\"" + +#: ../../common/parse_manifest.c:762 +msgid "missing timeline" +msgstr "відсутня часова шкала" + +#: ../../common/parse_manifest.c:764 +msgid "missing start LSN" +msgstr "відсутній LSN початку" + +#: ../../common/parse_manifest.c:766 +msgid "missing end LSN" +msgstr "відсутній LSN кінця" + +#: ../../common/parse_manifest.c:772 +msgid "timeline is not an integer" +msgstr "часова лінія не є цілим числом" + +#: ../../common/parse_manifest.c:775 +msgid "could not parse start LSN" +msgstr "не вдалося проаналізувати початковий LSN" + +#: ../../common/parse_manifest.c:778 +msgid "could not parse end LSN" +msgstr "не вдалося проаналізувати кінцевий LSN" + +#: ../../common/parse_manifest.c:843 +msgid "expected at least 2 lines" +msgstr "очікувалося принаймні 2 рядки" + +#: ../../common/parse_manifest.c:846 +msgid "last line not newline-terminated" +msgstr "останній рядок не завершений новим рядком" + +#: ../../common/parse_manifest.c:865 +#, c-format +msgid "could not finalize checksum of manifest" +msgstr "не вдалося остаточно завершити контрольну суму маніфесту" + +#: ../../common/parse_manifest.c:869 +#, c-format +msgid "manifest has no checksum" +msgstr "у маніфесті немає контрольної суми" + +#: ../../common/parse_manifest.c:873 +#, c-format +msgid "invalid manifest checksum: \"%s\"" +msgstr "неприпустима контрольна сума маніфесту: \"%s\"" + +#: ../../common/parse_manifest.c:877 +#, c-format +msgid "manifest checksum mismatch" +msgstr "невідповідність контрольної суми маніфесту" + +#: ../../common/parse_manifest.c:892 +#, c-format +msgid "could not parse backup manifest: %s" +msgstr "не вдалося проаналізувати маніфест резервної копії: %s" + +#: ../../fe_utils/option_utils.c:69 +#, c-format +msgid "invalid value \"%s\" for option %s" +msgstr "неприпустиме значення \"%s\" для параметра %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" + +#: backup_label.c:66 backup_label.c:85 backup_label.c:95 +#, c-format +msgid "%s: could not parse %s" +msgstr "%s: не вдалося розібрати %s" + +#: backup_label.c:69 backup_label.c:88 +#, c-format +msgid "%s: improper terminator for %s" +msgstr "%s: неправильний термінатор для %s" + +#: backup_label.c:76 +#, c-format +msgid "%s: could not parse TLI for %s" +msgstr "%s: не вдалося розібрати TLI для %s" + +#: backup_label.c:79 backup_label.c:98 +#, c-format +msgid "%s: invalid TLI" +msgstr "%s: невірний TLI" + +#: backup_label.c:106 backup_label.c:108 +#, c-format +msgid "%s: could not find %s" +msgstr "%s: не вдалося знайти %s" + +#: backup_label.c:110 backup_label.c:113 +#, c-format +msgid "%s: %s requires %s" +msgstr "%s: %s вимагає %s" + +#: backup_label.c:162 reconstruct.c:748 write_manifest.c:262 +#, c-format +msgid "could not write file \"%s\": wrote %d of %d" +msgstr "не вдалося записати файл \"%s\": записано %d з %d" + +#: backup_label.c:166 copy_file.c:146 copy_file.c:193 reconstruct.c:708 +#: reconstruct.c:754 write_manifest.c:270 +#, c-format +msgid "could not update checksum of file \"%s\"" +msgstr "не вдалося оновити контрольну суму файлу \"%s\"" + +#: copy_file.c:186 +#, c-format +msgid "could not write to file \"%s\": %m" +msgstr "неможливо записати до файлу \"%s\": %m" + +#: copy_file.c:188 +#, c-format +msgid "could not write to file \"%s\", offset %u: wrote %d of %d" +msgstr "не вдалося записати до файлу \"%s\", зсув %u: записано %d з %d" + +#: copy_file.c:199 reconstruct.c:771 +#, c-format +msgid "could not read from file \"%s\": %m" +msgstr "не вдалося прочитати з файлу \"%s\": %m" + +#: copy_file.c:218 +#, c-format +msgid "error while cloning file \"%s\" to \"%s\": %m" +msgstr "помилка при клонуванні файлу \"%s\" в \"%s\": %m" + +#: copy_file.c:229 copy_file.c:272 +#, c-format +msgid "could not create file \"%s\": %m" +msgstr "неможливо створити файл \"%s\": %m" + +#: copy_file.c:237 +#, c-format +msgid "error while cloning file \"%s\" to \"%s\": %s" +msgstr "помилка при клонуванні файлу \"%s\" в \"%s\": %s" + +#: copy_file.c:245 pg_combinebackup.c:251 +#, c-format +msgid "file cloning not supported on this platform" +msgstr "клонування файлів не підтримується на цій платформі" + +#: copy_file.c:278 reconstruct.c:691 +#, c-format +msgid "error while copying file range from \"%s\" to \"%s\": %m" +msgstr "помилка при копіюванні діапазону файлу від \"%s\" до \"%s\": %m" + +#: copy_file.c:285 pg_combinebackup.c:264 reconstruct.c:711 +#, c-format +msgid "copy_file_range not supported on this platform" +msgstr "copy_file_range не підтримується на цій платформі" + +#: copy_file.c:300 +#, c-format +msgid "could not copy file \"%s\" to \"%s\": %m" +msgstr "не вдалося скопіювати файл \"%s\" в \"%s\": %m" + +#: load_manifest.c:125 +#, c-format +msgid "file \"%s\" does not exist" +msgstr "файл \"%s\" не існує" + +#: load_manifest.c:163 +#, c-format +msgid "could not read file \"%s\": read %d of %lld" +msgstr "не вдалося прочитати файл \"%s\": прочитано %d з %lld" + +#: load_manifest.c:201 +#, c-format +msgid "could not read file \"%s\": read %lld of %lld" +msgstr "не вдалося прочитати файл \"%s\": прочитано %lld з %lld" + +#: load_manifest.c:249 +#, c-format +msgid "backup manifest version 1 does not support incremental backup" +msgstr "маніфест резервного копіювання версії 1 не підтримує інкреметного резервного копіювання" + +#: load_manifest.c:281 +#, c-format +msgid "duplicate path name in backup manifest: \"%s\"" +msgstr "дубльований шлях у маніфесті резервного копіювання: \"%s\"" + +#: pg_combinebackup.c:220 pg_combinebackup.c:228 +#, c-format +msgid "Try \"%s --help\" for more information." +msgstr "Спробуйте \"%s --help\" для додаткової інформації." + +#: pg_combinebackup.c:227 +#, c-format +msgid "no input directories specified" +msgstr "вхідні каталоги не вказано" + +#: pg_combinebackup.c:233 +#, c-format +msgid "no output directory specified" +msgstr "вихідний каталог не вказано" + +#: pg_combinebackup.c:301 +#, c-format +msgid "%s: manifest system identifier is %llu, but control file has %llu" +msgstr "%s: маніфестовий ідентифікатор системи - %llu, але контрольний файл має %llu" + +#: pg_combinebackup.c:340 +#, c-format +msgid "cannot generate a manifest because no manifest is available for the final input backup" +msgstr "не вдається згенерувати маніфест, оскільки для остаточної резервної копії вхідних даних немає маніфесту" + +#: pg_combinebackup.c:387 +#, c-format +msgid "could not create symbolic link from \"%s\" to \"%s\": %m" +msgstr "не вдалося створити символічне послання з \"%s\" на \"%s\": %m" + +#: pg_combinebackup.c:399 pg_combinebackup.c:730 pg_combinebackup.c:927 +#, c-format +msgid "could not create directory \"%s\": %m" +msgstr "не вдалося створити каталог \"%s\": %m" + +#: pg_combinebackup.c:454 +#, c-format +msgid "directory name too long" +msgstr "ім'я директорії задовге" + +#: pg_combinebackup.c:461 +#, c-format +msgid "multiple \"=\" signs in tablespace mapping" +msgstr "кілька знаків \"=\" зіставленні табличних просторів" + +#: pg_combinebackup.c:469 +#, c-format +msgid "invalid tablespace mapping format \"%s\", must be \"OLDDIR=NEWDIR\"" +msgstr "неприпустимий табличний простір зіставлення формату \"%s\", має бути \"OLDDIR = NEWDIR\"" + +#: pg_combinebackup.c:480 pg_combinebackup.c:484 +#, c-format +msgid "old directory is not an absolute path in tablespace mapping: %s" +msgstr "старий каталог не є абсолютним шляхом у зіставлення табличного простору: %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" +msgstr "резервна копія за адресою \"%s\" є повною резервною копією, але тільки перша резервна копія має бути повною резервною копією" + +#: pg_combinebackup.c:556 +#, c-format +msgid "backup at \"%s\" is an incremental backup, but the first backup should be a full backup" +msgstr "резервна копія за адресою \"%s\" є інкрементною резервною копією, але перша резервна копія має бути повною" + +#: pg_combinebackup.c:559 +#, c-format +msgid "backup at \"%s\" starts on timeline %u, but expected %u" +msgstr "резервне копіювання на \"%s\" починається на лінії часу %u, але очікується %u" + +#: pg_combinebackup.c:562 +#, c-format +msgid "backup at \"%s\" starts at LSN %X/%X, but expected %X/%X" +msgstr "резервне копіювання на \"%s\" починається з LSN %X/%X, але очікується %X/%X" + +#: pg_combinebackup.c:614 +#, c-format +msgid "%s: CRC is incorrect" +msgstr "%s: CRC невірний" + +#: pg_combinebackup.c:618 +#, c-format +msgid "%s: unexpected control file version" +msgstr "%s: неочікувана версія контрольного файлу" + +#: pg_combinebackup.c:625 +#, c-format +msgid "%s: expected system identifier %llu, but found %llu" +msgstr "%s: очікуваний ідентифікатор системи %llu, але знайдено %llu" + +#: pg_combinebackup.c:657 +#, c-format +msgid "only some backups have checksums enabled" +msgstr "лише деякі резервні копії мають включені контрольні суми" + +#: pg_combinebackup.c:658 +#, c-format +msgid "Disable, and optionally reenable, checksums on the output directory to avoid failures." +msgstr "Вимкніть, та за бажанням увімкніть, контрольні суми для вихідного каталога, щоб уникнути помилок." + +#: pg_combinebackup.c:693 +#, c-format +msgid "removing output directory \"%s\"" +msgstr "видалення вихідного каталогу \"%s\"" + +#: pg_combinebackup.c:695 +#, c-format +msgid "failed to remove output directory" +msgstr "не вдалося вилучити вихідний каталог" + +#: pg_combinebackup.c:699 +#, c-format +msgid "removing contents of output directory \"%s\"" +msgstr "видалення вмісту вихідного каталогу \"%s\"" + +#: pg_combinebackup.c:702 +#, c-format +msgid "failed to remove contents of output directory" +msgstr "не вдалося вилучити вміст з вихідного каталогу" + +#: pg_combinebackup.c:742 +#, c-format +msgid "directory \"%s\" exists but is not empty" +msgstr "каталог \"%s\" існує, але він не порожній" + +#: pg_combinebackup.c:745 +#, c-format +msgid "could not access directory \"%s\": %m" +msgstr "немає доступу до каталогу \"%s\": %m" + +#: pg_combinebackup.c:759 +#, c-format +msgid "%s reconstructs full backups from incrementals.\n\n" +msgstr "%s відновлює повні резервні копії з інкрементів.\n\n" + +#: pg_combinebackup.c:760 +#, c-format +msgid "Usage:\n" +msgstr "Використання:\n" + +#: pg_combinebackup.c:761 +#, c-format +msgid " %s [OPTION]... DIRECTORY...\n" +msgstr " %s [ПАРАМЕТР]... КАТАЛОГ...\n" + +#: pg_combinebackup.c:762 +#, c-format +msgid "\n" +"Options:\n" +msgstr "\n" +"Параметри:\n" + +#: pg_combinebackup.c:763 +#, c-format +msgid " -d, --debug generate lots of debugging output\n" +msgstr " -d, --debug генерувати багато налагоджувальних повідомлень\n" + +#: pg_combinebackup.c:764 +#, c-format +msgid " -n, --dry-run do not actually do anything\n" +msgstr " -n, --dry-run насправді ніякої дії\n" + +#: pg_combinebackup.c:765 +#, c-format +msgid " -N, --no-sync do not wait for changes to be written safely to disk\n" +msgstr " -N, --no-sync не чекати на безпечний запис змін на диск\n" + +#: pg_combinebackup.c:766 +#, c-format +msgid " -o, --output=DIRECTORY output directory\n" +msgstr " -o, --output=DIRECTORY вихідний каталог\n" + +#: pg_combinebackup.c:767 +#, c-format +msgid " -T, --tablespace-mapping=OLDDIR=NEWDIR\n" +" relocate tablespace in OLDDIR to NEWDIR\n" +msgstr " -T, --tablespace-mapping=OLDDIR=NEWDIR\n" +" перемістити табличний простір з OLDDIR в NEWDIR\n" + +#: pg_combinebackup.c:769 +#, c-format +msgid " --clone clone (reflink) files instead of copying\n" +msgstr " --clone клонувати (reflink) файли замість копіювання\n" + +#: pg_combinebackup.c:770 +#, c-format +msgid " --copy copy files (default)\n" +msgstr " --copy копіювати файли (за замовчуванням)\n" + +#: pg_combinebackup.c:771 +#, c-format +msgid " --copy-file-range copy using copy_file_range() system call\n" +msgstr " --copy-file-range копіювати за допомогою системного виклику copy_file_range()\n" + +#: pg_combinebackup.c:772 +#, c-format +msgid " --manifest-checksums=SHA{224,256,384,512}|CRC32C|NONE\n" +" use algorithm for manifest checksums\n" +msgstr " --manifest-checksums=SHA{224,256,384,512}|CRC32C|NONE\n" +" алгоритм використання контрольних сум маніфесту\n" + +#: pg_combinebackup.c:774 +#, c-format +msgid " --no-manifest suppress generation of backup manifest\n" +msgstr " --no-manifest заборонити створення маніфесту резервної копії\n" + +#: pg_combinebackup.c:775 +#, c-format +msgid " --sync-method=METHOD set method for syncing files to disk\n" +msgstr " --sync-method=METHOD встановити метод синхронізації файлів на диск\n" + +#: pg_combinebackup.c:776 +#, c-format +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version вивести інформацію про версію і вийти\n" + +#: pg_combinebackup.c:777 +#, c-format +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help показати цю довідку, потім вийти\n" + +#: pg_combinebackup.c:779 +#, c-format +msgid "\n" +"Report bugs to <%s>.\n" +msgstr "\n" +"Повідомляти про помилки на <%s>.\n" + +#: pg_combinebackup.c:780 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "Домашня сторінка %s: <%s>\n" + +#: pg_combinebackup.c:995 +#, c-format +msgid "skipping symbolic link \"%s\"" +msgstr "пропускання символічного посилання \"%s\"" + +#: pg_combinebackup.c:997 +#, c-format +msgid "skipping special file \"%s\"" +msgstr "спеціальний файл \"%s\" пропускається" + +#: pg_combinebackup.c:1073 reconstruct.c:300 +#, c-format +msgid "manifest file \"%s\" contains no entry for file \"%s\"" +msgstr "файл маніфеста \"%s\" не містить запису для файлу \"%s\"" + +#: pg_combinebackup.c:1189 +#, c-format +msgid "%s: server version too old" +msgstr "%s: версія серверу застаріла" + +#: pg_combinebackup.c:1190 +#, c-format +msgid "%s: could not parse version number" +msgstr "%s: не вдалося розібрати номер версії" + +#: pg_combinebackup.c:1309 +#, c-format +msgid "could not read symbolic link \"%s\": %m" +msgstr "не можливо прочитати символічне послання \"%s\": %m" + +#: pg_combinebackup.c:1312 +#, c-format +msgid "target of symbolic link \"%s\" is too long" +msgstr "ціль символічного посилання \"%s\" занадто довга" + +#: pg_combinebackup.c:1315 +#, c-format +msgid "target of symbolic link \"%s\" is relative" +msgstr "ціль символічного посилання \"%s\" є відносною" + +#: pg_combinebackup.c:1337 +#, c-format +msgid "tablespace at \"%s\" has no tablespace mapping" +msgstr "табличний простір за адресою \"%s\" не має зіставлення табличного простору" + +#: pg_combinebackup.c:1355 +#, c-format +msgid "tablespaces with OIDs %u and %u both point at directory \"%s\"" +msgstr "табличні простори з OID %u та %u обидва вказують на каталог \"%s\"" + +#: pg_combinebackup.c:1364 +#, c-format +msgid "could not close directory \"%s\": %m" +msgstr "не вдалося закрити каталог \"%s\": %m" + +#: pg_combinebackup.c:1385 +#, c-format +msgid "file \"%s\" is too large" +msgstr "файл \"%s\" занадто великий" + +#: pg_combinebackup.c:1402 +#, c-format +msgid "could not read file \"%s\": read %zd of %lld" +msgstr "не вдалося прочитати файл \"%s\": прочитано %zd з %lld" + +#: reconstruct.c:410 +#, c-format +msgid "file \"%s\" is too short: expected %llu, found %llu" +msgstr "файл \"%s\" занадто короткий: очікується %llu, знайдено %llu" + +#: reconstruct.c:452 +#, c-format +msgid "file \"%s\" has bad incremental magic number (0x%x, expected 0x%x)" +msgstr "файл \"%s\" має неправильне інкрементне магічне число (0x%x, очікувалось 0x%x)" + +#: reconstruct.c:458 +#, c-format +msgid "file \"%s\" has block count %u in excess of segment size %u" +msgstr "файл \"%s\" має кількість блоків %u, що перевищує розмір сегмента %u" + +#: reconstruct.c:465 +#, c-format +msgid "file \"%s\" has truncation block length %u in excess of segment size %u" +msgstr "файл \"%s\" має довжину блоку усікання %u, що перевищує розмір сегмента %u" + +#: reconstruct.c:529 +#, c-format +msgid "could not read file \"%s\": read %d of %u" +msgstr "не вдалося прочитати файл \"%s\": прочитано %d з %u" + +#: reconstruct.c:773 +#, c-format +msgid "could not read from file \"%s\", offset %llu: read %d of %d" +msgstr "не вдалося прочитати з файлу \"%s\", зміщення %llu: прочитано %d з %d" + diff --git a/src/bin/pg_combinebackup/reconstruct.c b/src/bin/pg_combinebackup/reconstruct.c index a08ca221457..37ae38b6108 100644 --- a/src/bin/pg_combinebackup/reconstruct.c +++ b/src/bin/pg_combinebackup/reconstruct.c @@ -77,8 +77,9 @@ static void read_block(rfile *s, off_t off, uint8 *buffer); * * relative_path should be the path to the directory containing this file, * relative to the root of the backup (NOT relative to the root of the - * tablespace). bare_file_name should be the name of the file within that - * directory, without "INCREMENTAL.". + * tablespace). It must always end with a trailing slash. bare_file_name + * should be the name of the file within that directory, without + * "INCREMENTAL.". * * n_prior_backups is the number of prior backups, and prior_backup_dirs is * an array of pathnames where those backups can be found. @@ -111,6 +112,10 @@ reconstruct_from_incremental_file(char *input_filename, rfile *copy_source = NULL; pg_checksum_context checksum_ctx; + /* Sanity check the relative_path. */ + Assert(relative_path[0] != '\0'); + Assert(relative_path[strlen(relative_path) - 1] == '/'); + /* * Every block must come either from the latest version of the file or * from one of the prior backups. @@ -174,11 +179,11 @@ reconstruct_from_incremental_file(char *input_filename, * Look for the full file in the previous backup. If not found, then * look for an incremental file instead. */ - snprintf(source_filename, MAXPGPATH, "%s/%s/%s", + snprintf(source_filename, MAXPGPATH, "%s/%s%s", prior_backup_dirs[sidx], relative_path, bare_file_name); if ((s = make_rfile(source_filename, true)) == NULL) { - snprintf(source_filename, MAXPGPATH, "%s/%s/INCREMENTAL.%s", + snprintf(source_filename, MAXPGPATH, "%s/%sINCREMENTAL.%s", prior_backup_dirs[sidx], relative_path, bare_file_name); s = make_incremental_rfile(source_filename); } @@ -321,11 +326,19 @@ reconstruct_from_incremental_file(char *input_filename, * result, then forget about performing reconstruction and just copy that * file in its entirety. * + * If we have only incremental files, and there's no full file at any + * point in the backup chain, something has gone wrong. Emit an error. + * * Otherwise, reconstruct. */ if (copy_source != NULL) copy_file(copy_source->filename, output_filename, &checksum_ctx, copy_method, dry_run); + else if (sidx == 0 && source[0]->header_length != 0) + { + pg_fatal("full backup contains unexpected incremental file \"%s\"", + source[0]->filename); + } else { write_reconstructed_file(input_filename, output_filename, @@ -449,7 +462,7 @@ make_incremental_rfile(char *filename) /* Read and validate magic number. */ read_bytes(rf, &magic, sizeof(magic)); if (magic != INCREMENTAL_MAGIC) - pg_fatal("file \"%s\" has bad incremental magic number (0x%x not 0x%x)", + pg_fatal("file \"%s\" has bad incremental magic number (0x%x, expected 0x%x)", filename, magic, INCREMENTAL_MAGIC); /* Read block count. */ diff --git a/src/bin/pg_combinebackup/t/009_no_full_file.pl b/src/bin/pg_combinebackup/t/009_no_full_file.pl new file mode 100644 index 00000000000..8a23fa7a4cf --- /dev/null +++ b/src/bin/pg_combinebackup/t/009_no_full_file.pl @@ -0,0 +1,66 @@ +# Copyright (c) 2021-2024, PostgreSQL Global Development Group + +use strict; +use warnings FATAL => 'all'; +use File::Copy; +use PostgreSQL::Test::Cluster; +use PostgreSQL::Test::Utils; +use Test::More; + +# Can be changed to test the other modes. +my $mode = $ENV{PG_TEST_PG_COMBINEBACKUP_MODE} || '--copy'; + +note "testing using mode $mode"; + +# Set up a new database instance. +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; + +# Take a full backup. +my $backup1path = $primary->backup_dir . '/backup1'; +$primary->command_ok( + [ 'pg_basebackup', '-D', $backup1path, '--no-sync', '-cfast' ], + "full backup"); + +# Take an incremental backup. +my $backup2path = $primary->backup_dir . '/backup2'; +$primary->command_ok( + [ + 'pg_basebackup', '-D', $backup2path, '--no-sync', '-cfast', + '--incremental', $backup1path . '/backup_manifest' + ], + "incremental backup"); + +# Find an incremental file in the incremental backup for which there is a full +# file in the full backup. When we find one, replace the full file with an +# incremental file. +my @filelist = grep { /^INCREMENTAL\./ } slurp_dir("$backup2path/base/1"); +my $success = 0; +for my $iname (@filelist) +{ + my $name = $iname; + $name =~ s/^INCREMENTAL.//; + + if (-f "$backup1path/base/1/$name") + { + copy("$backup2path/base/1/$iname", "$backup1path/base/1/$iname") + || die "copy $backup2path/base/1/$iname: $!"; + unlink("$backup1path/base/1/$name") + || die "unlink $backup1path/base/1/$name: $!"; + $success = 1; + last; + } +} + +# pg_combinebackup should fail. +my $outpath = $primary->backup_dir . '/out'; +$primary->command_fails_like( + [ + 'pg_combinebackup', $backup1path, $backup2path, '-o', $outpath, + ], + qr/full backup contains unexpected incremental file/, + "pg_combinebackup fails"); + +done_testing(); diff --git a/src/bin/pg_config/po/es.po b/src/bin/pg_config/po/es.po index 4ea58384647..7c67c79828b 100644 --- a/src/bin/pg_config/po/es.po +++ b/src/bin/pg_config/po/es.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_config (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-05-22 07:18+0000\n" -"PO-Revision-Date: 2023-05-22 12:05+0200\n" +"POT-Creation-Date: 2024-08-01 11:19+0000\n" +"PO-Revision-Date: 2024-08-01 12:06-0400\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" "Language: es\n" @@ -27,35 +27,61 @@ msgstr "" msgid "not recorded" msgstr "no registrado" -#: ../../common/exec.c:172 +#: ../../common/exec.c:174 #, c-format msgid "invalid binary \"%s\": %m" msgstr "binario «%s» no válido: %m" -#: ../../common/exec.c:215 +#: ../../common/exec.c:217 #, c-format msgid "could not read binary \"%s\": %m" msgstr "no se pudo leer el binario «%s»: %m" -#: ../../common/exec.c:223 +#: ../../common/exec.c:225 #, c-format msgid "could not find a \"%s\" to execute" msgstr "no se pudo encontrar un «%s» para ejecutar" -#: ../../common/exec.c:250 +#: ../../common/exec.c:252 #, c-format msgid "could not resolve path \"%s\" to absolute form: %m" msgstr "no se pudo resolver la ruta «%s» a forma absoluta: %m" -#: ../../common/exec.c:412 +#: ../../common/exec.c:382 +#, c-format +msgid "could not execute command \"%s\": %m" +msgstr "no se pudo ejecutar la orden «%s»: %m" + +#: ../../common/exec.c:394 +#, c-format +msgid "could not read from command \"%s\": %m" +msgstr "no se pudo leer desde la orden «%s»: %m" + +#: ../../common/exec.c:397 +#, c-format +msgid "no data was returned by command \"%s\"" +msgstr "la orden «%s» no retornó datos" + +#: ../../common/exec.c:424 #, c-format msgid "%s() failed: %m" msgstr "%s() falló: %m" -#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687 +#: ../../common/exec.c:562 ../../common/exec.c:607 ../../common/exec.c:699 msgid "out of memory" msgstr "memoria agotada" +#: ../../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 "memoria agotada\n" + +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 +#, c-format +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "no se puede duplicar un puntero nulo (error interno)\n" + #: pg_config.c:74 #, c-format msgid "" diff --git a/src/bin/pg_config/po/fr.po b/src/bin/pg_config/po/fr.po index 3517868aa2b..3433a07cc2e 100644 --- a/src/bin/pg_config/po/fr.po +++ b/src/bin/pg_config/po/fr.po @@ -10,10 +10,10 @@ # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 15\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-07-29 09:18+0000\n" -"PO-Revision-Date: 2023-07-30 08:09+0200\n" +"POT-Creation-Date: 2024-07-20 21:19+0000\n" +"PO-Revision-Date: 2024-09-16 16:28+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -21,7 +21,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.3.2\n" +"X-Generator: Poedit 3.5\n" #: ../../common/config_info.c:134 ../../common/config_info.c:142 #: ../../common/config_info.c:150 ../../common/config_info.c:158 @@ -30,35 +30,61 @@ msgstr "" msgid "not recorded" msgstr "non enregistré" -#: ../../common/exec.c:172 +#: ../../common/exec.c:174 #, c-format msgid "invalid binary \"%s\": %m" msgstr "binaire « %s » invalide : %m" -#: ../../common/exec.c:215 +#: ../../common/exec.c:217 #, c-format msgid "could not read binary \"%s\": %m" msgstr "n'a pas pu lire le binaire « %s » : %m" -#: ../../common/exec.c:223 +#: ../../common/exec.c:225 #, c-format msgid "could not find a \"%s\" to execute" msgstr "n'a pas pu trouver un « %s » à exécuter" -#: ../../common/exec.c:250 +#: ../../common/exec.c:252 #, c-format msgid "could not resolve path \"%s\" to absolute form: %m" msgstr "n'a pas pu résoudre le chemin « %s » en sa forme absolue : %m" -#: ../../common/exec.c:412 +#: ../../common/exec.c:382 +#, c-format +msgid "could not execute command \"%s\": %m" +msgstr "n'a pas pu exécuter la commande « %s » : %m" + +#: ../../common/exec.c:394 +#, c-format +msgid "could not read from command \"%s\": %m" +msgstr "n'a pas pu lire à partir de la commande « %s » : %m" + +#: ../../common/exec.c:397 +#, c-format +msgid "no data was returned by command \"%s\"" +msgstr "aucune donnée n'a été renvoyée par la commande « %s »" + +#: ../../common/exec.c:424 #, c-format msgid "%s() failed: %m" msgstr "échec de %s() : %m" -#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687 +#: ../../common/exec.c:562 ../../common/exec.c:607 ../../common/exec.c:699 msgid "out of memory" msgstr "mémoire épuisée" +#: ../../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 "mémoire épuisée\n" + +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 +#, c-format +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "ne peut pas dupliquer un pointeur nul (erreur interne)\n" + #: pg_config.c:74 #, c-format msgid "" @@ -278,56 +304,3 @@ msgstr "%s : n'a pas pu trouver l'exécutable du programme\n" #, c-format msgid "%s: invalid argument: %s\n" msgstr "%s : argument invalide : %s\n" - -#~ msgid " --help show this help, then exit\n" -#~ msgstr " --help affiche cette aide puis quitte\n" - -#~ msgid "Report bugs to .\n" -#~ msgstr "Rapporter les bogues à .\n" - -#~ msgid "child process exited with exit code %d" -#~ msgstr "le processus fils a quitté avec le code de sortie %d" - -#~ msgid "child process exited with unrecognized status %d" -#~ msgstr "le processus fils a quitté avec un statut %d non reconnu" - -#~ msgid "child process was terminated by exception 0x%X" -#~ msgstr "le processus fils a été terminé par l'exception 0x%X" - -#~ msgid "child process was terminated by signal %d" -#~ msgstr "le processus fils a été terminé par le signal %d" - -#~ msgid "child process was terminated by signal %s" -#~ msgstr "le processus fils a été terminé par le signal %s" - -#~ msgid "could not change directory to \"%s\"" -#~ msgstr "n'a pas pu accéder au répertoire « %s »" - -#, c-format -#~ msgid "could not change directory to \"%s\": %m" -#~ msgstr "n'a pas pu modifier le répertoire par « %s » : %m" - -#~ msgid "could not change directory to \"%s\": %s" -#~ msgstr "n'a pas pu changer le répertoire par « %s » : %s" - -#, c-format -#~ msgid "could not identify current directory: %m" -#~ msgstr "n'a pas pu identifier le répertoire courant : %m" - -#, c-format -#~ msgid "could not read binary \"%s\"" -#~ msgstr "n'a pas pu lire le binaire « %s »" - -#~ msgid "could not read symbolic link \"%s\"" -#~ msgstr "n'a pas pu lire le lien symbolique « %s »" - -#, c-format -#~ msgid "could not read symbolic link \"%s\": %m" -#~ msgstr "n'a pas pu lire le lien symbolique « %s » : %m" - -#, c-format -#~ msgid "invalid binary \"%s\"" -#~ msgstr "binaire « %s » invalide" - -#~ msgid "pclose failed: %m" -#~ msgstr "échec de pclose : %m" diff --git a/src/bin/pg_config/po/ka.po b/src/bin/pg_config/po/ka.po index 6537557bead..f0014e3c1fd 100644 --- a/src/bin/pg_config/po/ka.po +++ b/src/bin/pg_config/po/ka.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: pg_config (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-03-10 07:18+0000\n" +"POT-Creation-Date: 2024-07-01 03:49+0000\n" "PO-Revision-Date: 2024-03-10 20:43+0100\n" "Last-Translator: Temuri Doghonadze \n" "Language-Team: Georgian \n" @@ -69,6 +69,17 @@ msgstr "%s()-ის შეცდომა: %m" msgid "out of memory" msgstr "არასაკმარისი მეხსიერება" +#: ../../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 "ნულოვანი მაჩვენებლის დუბლირება შეუძლებელია (შიდა შეცდომა)\n" + #: pg_config.c:74 #, c-format msgid "" diff --git a/src/bin/pg_config/po/ru.po b/src/bin/pg_config/po/ru.po index 34e80c83c63..0a86bbb455c 100644 --- a/src/bin/pg_config/po/ru.po +++ b/src/bin/pg_config/po/ru.po @@ -5,13 +5,13 @@ # Serguei A. Mokhov , 2004-2005. # Sergey Burladyan , 2009, 2012. # Andrey Sudnik , 2010. -# Alexander Lakhin , 2012-2016, 2017, 2019, 2020, 2021, 2023. +# Alexander Lakhin , 2012-2016, 2017, 2019, 2020, 2021, 2023, 2024. msgid "" msgstr "" "Project-Id-Version: pg_config (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-08-28 07:59+0300\n" -"PO-Revision-Date: 2023-08-29 10:19+0300\n" +"POT-Creation-Date: 2024-09-02 09:29+0300\n" +"PO-Revision-Date: 2024-09-04 13:45+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" @@ -28,35 +28,61 @@ msgstr "" msgid "not recorded" msgstr "не записано" -#: ../../common/exec.c:172 +#: ../../common/exec.c:174 #, c-format msgid "invalid binary \"%s\": %m" msgstr "неверный исполняемый файл \"%s\": %m" -#: ../../common/exec.c:215 +#: ../../common/exec.c:217 #, c-format msgid "could not read binary \"%s\": %m" msgstr "не удалось прочитать исполняемый файл \"%s\": %m" -#: ../../common/exec.c:223 +#: ../../common/exec.c:225 #, c-format msgid "could not find a \"%s\" to execute" msgstr "не удалось найти запускаемый файл \"%s\"" -#: ../../common/exec.c:250 +#: ../../common/exec.c:252 #, c-format msgid "could not resolve path \"%s\" to absolute form: %m" msgstr "не удалось преобразовать относительный путь \"%s\" в абсолютный: %m" -#: ../../common/exec.c:412 +#: ../../common/exec.c:382 +#, c-format +msgid "could not execute command \"%s\": %m" +msgstr "не удалось выполнить команду \"%s\": %m" + +#: ../../common/exec.c:394 +#, c-format +msgid "could not read from command \"%s\": %m" +msgstr "не удалось прочитать вывод команды \"%s\": %m" + +#: ../../common/exec.c:397 +#, c-format +msgid "no data was returned by command \"%s\"" +msgstr "команда \"%s\" не выдала данные" + +#: ../../common/exec.c:424 #, c-format msgid "%s() failed: %m" msgstr "ошибка в %s(): %m" -#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687 +#: ../../common/exec.c:562 ../../common/exec.c:607 ../../common/exec.c:699 msgid "out of memory" msgstr "нехватка памяти" +#: ../../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 "попытка дублирования нулевого указателя (внутренняя ошибка)\n" + #: pg_config.c:74 #, c-format msgid "" @@ -295,10 +321,6 @@ msgstr "%s: неверный аргумент: %s\n" #~ msgid "could not identify current directory: %m" #~ msgstr "не удалось определить текущий каталог: %m" -#, c-format -#~ msgid "could not change directory to \"%s\": %m" -#~ msgstr "не удалось перейти в каталог \"%s\": %m" - #, c-format #~ msgid "could not read symbolic link \"%s\": %m" #~ msgstr "не удалось прочитать символическую ссылку \"%s\": %m" diff --git a/src/bin/pg_config/po/sv.po b/src/bin/pg_config/po/sv.po index 2b5468ec93a..d729e305321 100644 --- a/src/bin/pg_config/po/sv.po +++ b/src/bin/pg_config/po/sv.po @@ -1,13 +1,13 @@ # Swedish message translation file for pg_config. -# Dennis Björklund , 2004, 2005, 2006, 2017, 2018, 2019, 2020, 2021, 2022, 2023. +# Dennis Björklund , 2004, 2005, 2006, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024. # Mats Erik Andersson , 2014. # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 16\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-08-01 14:18+0000\n" -"PO-Revision-Date: 2023-08-30 09:01+0200\n" +"POT-Creation-Date: 2024-07-12 14:19+0000\n" +"PO-Revision-Date: 2024-07-12 18:58+0200\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -23,35 +23,61 @@ msgstr "" msgid "not recorded" msgstr "ej sparad" -#: ../../common/exec.c:172 +#: ../../common/exec.c:174 #, c-format msgid "invalid binary \"%s\": %m" msgstr "ogiltig binär \"%s\": %m" -#: ../../common/exec.c:215 +#: ../../common/exec.c:217 #, c-format msgid "could not read binary \"%s\": %m" msgstr "kunde inte läsa binär \"%s\": %m" -#: ../../common/exec.c:223 +#: ../../common/exec.c:225 #, c-format msgid "could not find a \"%s\" to execute" msgstr "kunde inte hitta en \"%s\" att köra" -#: ../../common/exec.c:250 +#: ../../common/exec.c:252 #, c-format msgid "could not resolve path \"%s\" to absolute form: %m" msgstr "kunde inte konvertera sökvägen \"%s\" till en absolut sökväg: %m" -#: ../../common/exec.c:412 +#: ../../common/exec.c:382 +#, c-format +msgid "could not execute command \"%s\": %m" +msgstr "kunde inte köra kommandot \"%s\": %m" + +#: ../../common/exec.c:394 +#, c-format +msgid "could not read from command \"%s\": %m" +msgstr "kunde inte läsa från kommando \"%s\": %m" + +#: ../../common/exec.c:397 +#, c-format +msgid "no data was returned by command \"%s\"" +msgstr "ingen data returnerades från kommandot \"%s\"" + +#: ../../common/exec.c:424 #, c-format msgid "%s() failed: %m" msgstr "%s() misslyckades: %m" -#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687 +#: ../../common/exec.c:562 ../../common/exec.c:607 ../../common/exec.c:699 msgid "out of memory" msgstr "slut på minne" +#: ../../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 "slut på minne\n" + +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 +#, c-format +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "kan inte duplicera null-pekare (internt fel)\n" + #: pg_config.c:74 #, c-format msgid "" @@ -245,15 +271,3 @@ msgstr "%s: kunde inte hitta det egna programmets körbara fil\n" #, c-format msgid "%s: invalid argument: %s\n" msgstr "%s: ogiltigt argument: %s\n" - -#, c-format -#~ msgid "could not change directory to \"%s\": %m" -#~ msgstr "kunde inte byta katalog till \"%s\": %m" - -#, c-format -#~ msgid "could not identify current directory: %m" -#~ msgstr "kunde inte identifiera aktuell katalog: %m" - -#, c-format -#~ msgid "could not read symbolic link \"%s\": %m" -#~ msgstr "kan inte läsa symbolisk länk \"%s\": %m" diff --git a/src/bin/pg_config/po/uk.po b/src/bin/pg_config/po/uk.po index d64a71c7a55..ad38f026516 100644 --- a/src/bin/pg_config/po/uk.po +++ b/src/bin/pg_config/po/uk.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: postgresql\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-04-19 11:17+0000\n" -"PO-Revision-Date: 2023-12-20 11:53\n" +"POT-Creation-Date: 2024-08-31 06:19+0000\n" +"PO-Revision-Date: 2024-09-23 19:38\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -14,8 +14,8 @@ msgstr "" "X-Crowdin-Project: postgresql\n" "X-Crowdin-Project-ID: 324573\n" "X-Crowdin-Language: uk\n" -"X-Crowdin-File: /REL_16_STABLE/pg_config.pot\n" -"X-Crowdin-File-ID: 973\n" +"X-Crowdin-File: /REL_17_STABLE/pg_config.pot\n" +"X-Crowdin-File-ID: 1024\n" #: ../../common/config_info.c:134 ../../common/config_info.c:142 #: ../../common/config_info.c:150 ../../common/config_info.c:158 @@ -24,35 +24,61 @@ msgstr "" msgid "not recorded" msgstr "не записано" -#: ../../common/exec.c:172 +#: ../../common/exec.c:174 #, c-format msgid "invalid binary \"%s\": %m" msgstr "невірний бінарний файл \"%s\": %m" -#: ../../common/exec.c:215 +#: ../../common/exec.c:217 #, c-format msgid "could not read binary \"%s\": %m" msgstr "не вдалося прочитати бінарний файл \"%s\": %m" -#: ../../common/exec.c:223 +#: ../../common/exec.c:225 #, c-format msgid "could not find a \"%s\" to execute" msgstr "неможливо знайти \"%s\" для виконання" -#: ../../common/exec.c:250 +#: ../../common/exec.c:252 #, c-format msgid "could not resolve path \"%s\" to absolute form: %m" msgstr "не вдалося знайти абсолютний шлях \"%s\": %m" -#: ../../common/exec.c:412 +#: ../../common/exec.c:382 +#, c-format +msgid "could not execute command \"%s\": %m" +msgstr "не вдалося виконати команду \"%s\": %m" + +#: ../../common/exec.c:394 +#, c-format +msgid "could not read from command \"%s\": %m" +msgstr "не вдалося прочитати висновок команди \"%s\": %m" + +#: ../../common/exec.c:397 +#, c-format +msgid "no data was returned by command \"%s\"" +msgstr "команда \"%s\" не повернула жодних даних" + +#: ../../common/exec.c:424 #, c-format msgid "%s() failed: %m" msgstr "%s() помилка: %m" -#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687 +#: ../../common/exec.c:562 ../../common/exec.c:607 ../../common/exec.c:699 msgid "out of memory" msgstr "недостатньо пам'яті" +#: ../../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 "неможливо дублювати нульовий покажчик (внутрішня помилка)\n" + #: pg_config.c:74 #, c-format msgid "\n" diff --git a/src/bin/pg_config/po/zh_CN.po b/src/bin/pg_config/po/zh_CN.po index 8c32e10321f..b12c1e2da62 100644 --- a/src/bin/pg_config/po/zh_CN.po +++ b/src/bin/pg_config/po/zh_CN.po @@ -1,20 +1,20 @@ # SOME DESCRIPTIVE TITLE. # This file is put in the public domain. -# FIRST AUTHOR , YEAR. +# Dianjin Wang , 2024 # msgid "" msgstr "" -"Project-Id-Version: pg_config (PostgreSQL) 14\n" +"Project-Id-Version: pg_config (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2021-08-14 05:46+0000\n" -"PO-Revision-Date: 2021-08-15 17:25+0800\n" -"Last-Translator: Jie Zhang \n" +"POT-Creation-Date: 2024-09-13 22:51+0000\n" +"PO-Revision-Date: 2024-09-14 12:07+0800\n" +"Last-Translator: Dianjin Wang \n" "Language-Team: Chinese (Simplified) \n" "Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.5.4\n" +"X-Generator: Poedit 3.4.4\n" #: ../../common/config_info.c:134 ../../common/config_info.c:142 #: ../../common/config_info.c:150 ../../common/config_info.c:158 @@ -23,44 +23,61 @@ msgstr "" msgid "not recorded" msgstr "没有被记录" -#: ../../common/exec.c:136 ../../common/exec.c:253 ../../common/exec.c:299 +#: ../../common/exec.c:174 #, c-format -msgid "could not identify current directory: %m" -msgstr "无法确认当前目录: %m" +msgid "invalid binary \"%s\": %m" +msgstr "无效的二进制 \"%s\": %m" -#: ../../common/exec.c:155 +#: ../../common/exec.c:217 #, c-format -msgid "invalid binary \"%s\"" -msgstr "无效的二进制码 \"%s\"" +msgid "could not read binary \"%s\": %m" +msgstr "无法读取二进制 \"%s\": %m" -#: ../../common/exec.c:205 +#: ../../common/exec.c:225 #, c-format -msgid "could not read binary \"%s\"" -msgstr "无法读取二进制码 \"%s\"" +msgid "could not find a \"%s\" to execute" +msgstr "未能找到一个 \"%s\" 予以执行" -#: ../../common/exec.c:213 +#: ../../common/exec.c:252 #, c-format -msgid "could not find a \"%s\" to execute" -msgstr "未能找到一个 \"%s\" 来执行" +msgid "could not resolve path \"%s\" to absolute form: %m" +msgstr "无法将路径 \"%s\" 解析为绝对路径格式: %m" -#: ../../common/exec.c:269 ../../common/exec.c:308 +#: ../../common/exec.c:382 #, c-format -msgid "could not change directory to \"%s\": %m" -msgstr "无法跳转到目录 \"%s\" 中: %m" +msgid "could not execute command \"%s\": %m" +msgstr "无法执行命令 \"%s\": %m" -#: ../../common/exec.c:286 +#: ../../common/exec.c:394 #, c-format -msgid "could not read symbolic link \"%s\": %m" -msgstr "无法读取符号链接 \"%s\": %m" +msgid "could not read from command \"%s\": %m" +msgstr "无法读取命令 \"%s\": %m" -#: ../../common/exec.c:409 +#: ../../common/exec.c:397 +#, c-format +msgid "no data was returned by command \"%s\"" +msgstr "命令 \"%s\" 未返回数据" + +#: ../../common/exec.c:424 +#, c-format msgid "%s() failed: %m" -msgstr "%s()失败: %m" +msgstr "%s() 失败: %m" -#: ../../common/exec.c:522 ../../common/exec.c:567 ../../common/exec.c:659 +#: ../../common/exec.c:562 ../../common/exec.c:607 ../../common/exec.c:699 msgid "out of memory" msgstr "内存不足" +#: ../../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 "无法复制空指针 (内部错误)\n" + #: pg_config.c:74 #, c-format msgid "" @@ -69,7 +86,7 @@ msgid "" "\n" msgstr "" "\n" -"%s 提供 PostgreSQL 的安装信息.\n" +"%s 提供所安装 PostgreSQL 版本的信息.\n" "\n" #: pg_config.c:75 @@ -82,7 +99,9 @@ msgstr "使用方法:\n" msgid "" " %s [OPTION]...\n" "\n" -msgstr " %s [选项]...\n" +msgstr "" +" %s [选项]...\n" +"\n" #: pg_config.c:77 #, c-format @@ -92,17 +111,17 @@ msgstr "选项:\n" #: pg_config.c:78 #, c-format msgid " --bindir show location of user executables\n" -msgstr " --bindir 显示执行文件所在位置\n" +msgstr " --bindir 显示用户执行文件所在位置\n" #: pg_config.c:79 #, c-format msgid " --docdir show location of documentation files\n" -msgstr " --docdir 显示文档所在位置\n" +msgstr " --docdir 显示文档文件所在位置\n" #: pg_config.c:80 #, c-format msgid " --htmldir show location of HTML documentation files\n" -msgstr " --htmldir 显示HTML文档文件所在位置\n" +msgstr " --htmldir 显示 HTML 文档文件所在位置\n" #: pg_config.c:81 #, c-format @@ -110,18 +129,18 @@ msgid "" " --includedir show location of C header files of the client\n" " interfaces\n" msgstr "" -" --includedir 显示客户端接口 C 头文件所在\n" +" --includedir 显示客户端接口 C 语言头文件所在\n" " 位置\n" #: pg_config.c:83 #, c-format msgid " --pkgincludedir show location of other C header files\n" -msgstr " --pkgincludedir 显示其它C语言头文件所在的位置\n" +msgstr " --pkgincludedir 显示其它 C 语言头文件所在位置\n" #: pg_config.c:84 #, c-format msgid " --includedir-server show location of C header files for the server\n" -msgstr " --includedir-server 显示服务端 C 头文件所在位置\n" +msgstr " --includedir-server 显示服务器端 C 语言头文件所在位置\n" #: pg_config.c:85 #, c-format @@ -151,7 +170,7 @@ msgstr " --sharedir 显示独立架构支持文件所在位置\n" #: pg_config.c:90 #, c-format msgid " --sysconfdir show location of system-wide configuration files\n" -msgstr " --sysconfdir 显示系统范围的配置文件的所在位置\n" +msgstr " --sysconfdir 显示系统范围的配置文件所在位置\n" #: pg_config.c:91 #, c-format @@ -164,53 +183,53 @@ msgid "" " --configure show options given to \"configure\" script when\n" " PostgreSQL was built\n" msgstr "" -" --configure 显示编译 PostgreSQL 时 \"configure\"\n" -" 的选项\n" +" --configure 显示在编译 PostgreSQL 时 \"configure\" 脚本\n" +" 的所用选项\n" #: pg_config.c:94 #, c-format msgid " --cc show CC value used when PostgreSQL was built\n" -msgstr " --cc 显示在创建PostgreSQL时所使用的CC值\n" +msgstr " --cc 显示在编译 PostgreSQL 时所使用的 CC 值\n" #: pg_config.c:95 #, c-format msgid " --cppflags show CPPFLAGS value used when PostgreSQL was built\n" -msgstr " --cppflags 当创建PostgreSQL时显示CPPFLAGS的值\n" +msgstr " --cppflags 显示在编译 PostgreSQL 时所使用的 CPPFLAGS 值\n" #: pg_config.c:96 #, c-format msgid " --cflags show CFLAGS value used when PostgreSQL was built\n" -msgstr " --cflags 显示在创建PostgreSQL时所使用的CFLAG值\n" +msgstr " --cflags 显示在编译 PostgreSQL 时所使用的 CFLAGS 值\n" #: pg_config.c:97 #, c-format msgid " --cflags_sl show CFLAGS_SL value used when PostgreSQL was built\n" -msgstr " --cflags_sl 当创建PostgreSQL时显示CFLAGS_SL的值\n" +msgstr " --cflags_sl 显示在编译 PostgreSQL 时所使用的 CFLAGS_SL 值\n" #: pg_config.c:98 #, c-format msgid " --ldflags show LDFLAGS value used when PostgreSQL was built\n" -msgstr " --ldflags 显示在创建PostgreSQL时所使用的LDFLAG值\n" +msgstr " --ldflags 显示在编译 PostgreSQL 时所使用的 LDFLAGS 值\n" #: pg_config.c:99 #, c-format msgid " --ldflags_ex show LDFLAGS_EX value used when PostgreSQL was built\n" -msgstr " --ldflags_ex 当创建PostgreSQL时显示LDFLAGS_EX的值\n" +msgstr " --ldflags_ex 显示在编译 PostgreSQL 时所使用的 LDFLAGS_EX 值\n" #: pg_config.c:100 #, c-format msgid " --ldflags_sl show LDFLAGS_SL value used when PostgreSQL was built\n" -msgstr " --ldflags_sl 当创建PostgreSQL时显示LDFLAGS_SL的值\n" +msgstr " --ldflags_sl 显示在编译 PostgreSQL 时所使用的 LDFLAGS_SL 值\n" #: pg_config.c:101 #, c-format msgid " --libs show LIBS value used when PostgreSQL was built\n" -msgstr " --libs 显示在创建PostgreSQL时所使用的LIBS值\n" +msgstr " --libs 显示在编译 PostgreSQL 时所使用的 LIBS 值\n" #: pg_config.c:102 #, c-format msgid " --version show the PostgreSQL version\n" -msgstr " --version 显示PostgreSQL的版本信息\n" +msgstr " --version 显示 PostgreSQL 的版本信息\n" #: pg_config.c:103 #, c-format @@ -225,13 +244,13 @@ msgid "" "\n" msgstr "" "\n" -"没有参数,将显示所有已知的成员.\n" +"没有参数, 将显示所有已知条目.\n" "\n" #: pg_config.c:105 #, c-format msgid "Report bugs to <%s>.\n" -msgstr "臭虫报告至<%s>.\n" +msgstr "报告缺陷: <%s>.\n" #: pg_config.c:106 #, c-format @@ -246,10 +265,29 @@ msgstr "请用 \"%s --help\" 获取更多的信息.\n" #: pg_config.c:154 #, c-format msgid "%s: could not find own program executable\n" -msgstr "%s: 无法找到执行文件\n" +msgstr "%s: 无法找到所属执行程序\n" #: pg_config.c:181 #, c-format msgid "%s: invalid argument: %s\n" msgstr "%s: 无效参数: %s\n" +#, c-format +#~ msgid "could not change directory to \"%s\": %m" +#~ msgstr "无法跳转到目录 \"%s\" 中: %m" + +#, c-format +#~ msgid "could not identify current directory: %m" +#~ msgstr "无法确认当前目录: %m" + +#, c-format +#~ msgid "could not read binary \"%s\"" +#~ msgstr "无法读取二进制码 \"%s\"" + +#, c-format +#~ msgid "could not read symbolic link \"%s\": %m" +#~ msgstr "无法读取符号链接 \"%s\": %m" + +#, c-format +#~ msgid "invalid binary \"%s\"" +#~ msgstr "无效的二进制码 \"%s\"" diff --git a/src/bin/pg_controldata/po/es.po b/src/bin/pg_controldata/po/es.po index 58127cba51d..ea939d65c74 100644 --- a/src/bin/pg_controldata/po/es.po +++ b/src/bin/pg_controldata/po/es.po @@ -11,8 +11,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_controldata (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-05-22 07:22+0000\n" -"PO-Revision-Date: 2023-05-22 12:05+0200\n" +"POT-Creation-Date: 2024-08-01 11:23+0000\n" +"PO-Revision-Date: 2024-08-02 16:49-0400\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" "Language: es\n" @@ -22,31 +22,31 @@ msgstr "" "X-Generator: Poedit 2.0.2\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../../common/controldata_utils.c:73 +#: ../../common/controldata_utils.c:97 #, 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:86 +#: ../../common/controldata_utils.c:110 #, c-format msgid "could not read file \"%s\": %m" msgstr "no se pudo leer el archivo «%s»: %m" -#: ../../common/controldata_utils.c:95 +#: ../../common/controldata_utils.c:119 #, c-format msgid "could not read file \"%s\": read %d of %zu" msgstr "no se pudo leer el archivo «%s»: leídos %d de %zu" -#: ../../common/controldata_utils.c:108 ../../common/controldata_utils.c:236 +#: ../../common/controldata_utils.c:132 ../../common/controldata_utils.c:280 #, c-format msgid "could not close file \"%s\": %m" msgstr "no se pudo cerrar el archivo «%s»: %m" -#: ../../common/controldata_utils.c:124 +#: ../../common/controldata_utils.c:168 msgid "byte ordering mismatch" msgstr "discordancia en orden de bytes" -#: ../../common/controldata_utils.c:126 +#: ../../common/controldata_utils.c:170 #, c-format msgid "" "possible byte ordering mismatch\n" @@ -60,21 +60,32 @@ msgstr "" "serían erróneos, y la instalación de PostgreSQL sería incompatible con este\n" "directorio de datos." -#: ../../common/controldata_utils.c:186 +#: ../../common/controldata_utils.c:230 #, c-format msgid "could not open file \"%s\": %m" msgstr "no se pudo abrir el archivo «%s»: %m" -#: ../../common/controldata_utils.c:205 +#: ../../common/controldata_utils.c:249 #, c-format msgid "could not write file \"%s\": %m" msgstr "no se pudo escribir el archivo «%s»: %m" -#: ../../common/controldata_utils.c:224 +#: ../../common/controldata_utils.c:268 #, c-format msgid "could not fsync file \"%s\": %m" msgstr "no se pudo sincronizar (fsync) archivo «%s»: %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 "memoria agotada\n" + +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 +#, c-format +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "no se puede duplicar un puntero nulo (error interno)\n" + #: pg_controldata.c:35 #, c-format msgid "" @@ -174,8 +185,8 @@ msgid "unrecognized status code" msgstr "código de estado no reconocido" #: pg_controldata.c:84 -msgid "unrecognized wal_level" -msgstr "wal_level no reconocido" +msgid "unrecognized \"wal_level\"" +msgstr "«wal_level» no reconocido" #: pg_controldata.c:138 pg_controldata.c:156 pg_controldata.c:163 #, c-format @@ -192,324 +203,311 @@ msgstr "demasiados argumentos en la línea de órdenes (el primero es «%s»)" msgid "no data directory specified" msgstr "no se especificó el directorio de datos" -#: pg_controldata.c:170 +#: pg_controldata.c:171 #, c-format -msgid "" -"WARNING: Calculated CRC checksum does not match value stored in file.\n" -"Either the file is corrupt, or it has a different layout than this program\n" -"is expecting. The results below are untrustworthy.\n" -"\n" -msgstr "" -"ATENCIÓN: La suma de verificación calculada no coincide con el valor\n" -"almacenado en el archivo. Puede ser que el archivo esté corrupto, o\n" -"bien tiene una estructura diferente de la que este programa está\n" -"esperando. Los resultados presentados a continuación no son confiables.\n" -"\n" +msgid "calculated CRC checksum does not match value stored in control file" +msgstr "el \"checksum\" calculado no coincide con el valor almacenado en el archivo de control" -#: pg_controldata.c:179 +#: pg_controldata.c:172 #, c-format -msgid "WARNING: invalid WAL segment size\n" -msgstr "PRECAUCIÓN: tamaño de segmento de WAL no válido\n" +msgid "Either the control file is corrupt, or it has a different layout than this program is expecting. The results below are untrustworthy." +msgstr "O bien el archivo está corrupto, o tiene una estructura diferente de la que este programa está esperando. Los resultados presentados a continuación no son confiables." -#: pg_controldata.c:180 +#: pg_controldata.c:181 #, c-format -msgid "" -"The WAL segment size stored in the file, %d byte, is not a power of two\n" -"between 1 MB and 1 GB. The file is corrupt and the results below are\n" -"untrustworthy.\n" -"\n" -msgid_plural "" -"The WAL segment size stored in the file, %d bytes, is not a power of two\n" -"between 1 MB and 1 GB. The file is corrupt and the results below are\n" -"untrustworthy.\n" -"\n" -msgstr[0] "" -"El tamaño de segmento de WAL almacenado en el archivo, %d byte,\n" -"no es una potencia de dos entre 1 MB y 1 GB. El archivo está corrupto y los\n" -"resultados de abajo no son confiables.\n" -msgstr[1] "" -"El tamaño de segmento de WAL almacenado en el archivo, %d bytes,\n" -"no es una potencia de dos entre 1 MB y 1 GB. El archivo está corrupto y los\n" -"resultados de abajo no son confiables.\n" - -#: pg_controldata.c:222 +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" + +#: pg_controldata.c:185 +#, 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." + +#: pg_controldata.c:186 +#, c-format +msgid "The file is corrupt and the results below are untrustworthy." +msgstr "El archivo está corrupto y los resultados a continuación no son confiables." + +#: pg_controldata.c:221 msgid "???" msgstr "???" -#: pg_controldata.c:228 +#: pg_controldata.c:227 #, c-format msgid "pg_control version number: %u\n" msgstr "Número de versión de pg_control: %u\n" -#: pg_controldata.c:230 +#: pg_controldata.c:229 #, c-format msgid "Catalog version number: %u\n" msgstr "Número de versión del catálogo: %u\n" -#: pg_controldata.c:232 +#: pg_controldata.c:231 #, c-format msgid "Database system identifier: %llu\n" msgstr "Identificador de sistema: %llu\n" -#: pg_controldata.c:234 +#: pg_controldata.c:233 #, c-format msgid "Database cluster state: %s\n" msgstr "Estado del sistema de base de datos: %s\n" -#: pg_controldata.c:236 +#: pg_controldata.c:235 #, c-format msgid "pg_control last modified: %s\n" msgstr "Última modificación de pg_control: %s\n" -#: pg_controldata.c:238 +#: pg_controldata.c:237 #, c-format msgid "Latest checkpoint location: %X/%X\n" msgstr "Ubicación del último checkpoint: %X/%X\n" -#: pg_controldata.c:240 +#: pg_controldata.c:239 #, c-format msgid "Latest checkpoint's REDO location: %X/%X\n" msgstr "Ubicación de REDO de último checkpoint: %X/%X\n" -#: pg_controldata.c:242 +#: pg_controldata.c:241 #, c-format msgid "Latest checkpoint's REDO WAL file: %s\n" msgstr "Ubicación de REDO de último checkpoint: %s\n" -#: pg_controldata.c:244 +#: pg_controldata.c:243 #, c-format msgid "Latest checkpoint's TimeLineID: %u\n" msgstr "TimeLineID del último checkpoint: %u\n" -#: pg_controldata.c:246 +#: pg_controldata.c:245 #, c-format msgid "Latest checkpoint's PrevTimeLineID: %u\n" msgstr "PrevTimeLineID del último checkpoint: %u\n" -#: pg_controldata.c:248 +#: pg_controldata.c:247 #, c-format msgid "Latest checkpoint's full_page_writes: %s\n" msgstr "full_page_writes del último checkpoint: %s\n" -#: pg_controldata.c:249 pg_controldata.c:290 pg_controldata.c:302 +#: pg_controldata.c:248 pg_controldata.c:289 pg_controldata.c:301 msgid "off" msgstr "desactivado" -#: pg_controldata.c:249 pg_controldata.c:290 pg_controldata.c:302 +#: pg_controldata.c:248 pg_controldata.c:289 pg_controldata.c:301 msgid "on" msgstr "activado" -#: pg_controldata.c:250 +#: pg_controldata.c:249 #, c-format msgid "Latest checkpoint's NextXID: %u:%u\n" msgstr "NextXID de último checkpoint: %u/%u\n" -#: pg_controldata.c:253 +#: pg_controldata.c:252 #, c-format msgid "Latest checkpoint's NextOID: %u\n" msgstr "NextOID de último checkpoint: %u\n" -#: pg_controldata.c:255 +#: pg_controldata.c:254 #, c-format msgid "Latest checkpoint's NextMultiXactId: %u\n" msgstr "NextMultiXactId de último checkpoint: %u\n" -#: pg_controldata.c:257 +#: pg_controldata.c:256 #, c-format msgid "Latest checkpoint's NextMultiOffset: %u\n" msgstr "NextMultiOffset de último checkpoint: %u\n" -#: pg_controldata.c:259 +#: pg_controldata.c:258 #, c-format msgid "Latest checkpoint's oldestXID: %u\n" msgstr "oldestXID del último checkpoint: %u\n" -#: pg_controldata.c:261 +#: pg_controldata.c:260 #, c-format msgid "Latest checkpoint's oldestXID's DB: %u\n" msgstr "DB del oldestXID del último checkpoint: %u\n" -#: pg_controldata.c:263 +#: pg_controldata.c:262 #, c-format msgid "Latest checkpoint's oldestActiveXID: %u\n" msgstr "oldestActiveXID del último checkpoint: %u\n" -#: pg_controldata.c:265 +#: pg_controldata.c:264 #, c-format msgid "Latest checkpoint's oldestMultiXid: %u\n" msgstr "oldestMultiXid del último checkpoint: %u\n" -#: pg_controldata.c:267 +#: pg_controldata.c:266 #, c-format msgid "Latest checkpoint's oldestMulti's DB: %u\n" msgstr "DB del oldestMultiXid del últ. checkpoint: %u\n" -#: pg_controldata.c:269 +#: pg_controldata.c:268 #, c-format msgid "Latest checkpoint's oldestCommitTsXid:%u\n" msgstr "oldestCommitTsXid del último checkpoint: %u\n" -#: pg_controldata.c:271 +#: pg_controldata.c:270 #, c-format msgid "Latest checkpoint's newestCommitTsXid:%u\n" msgstr "newestCommitTsXid del último checkpoint: %u\n" -#: pg_controldata.c:273 +#: pg_controldata.c:272 #, c-format msgid "Time of latest checkpoint: %s\n" msgstr "Instante de último checkpoint: %s\n" -#: pg_controldata.c:275 +#: pg_controldata.c:274 #, c-format msgid "Fake LSN counter for unlogged rels: %X/%X\n" msgstr "Contador de LSN falsas para rels. unlogged: %X/%X\n" -#: pg_controldata.c:277 +#: pg_controldata.c:276 #, c-format msgid "Minimum recovery ending location: %X/%X\n" msgstr "Punto final mínimo de recuperación: %X/%X\n" -#: pg_controldata.c:279 +#: pg_controldata.c:278 #, c-format msgid "Min recovery ending loc's timeline: %u\n" msgstr "Timeline de dicho punto final mínimo: %u\n" -#: pg_controldata.c:281 +#: pg_controldata.c:280 #, c-format msgid "Backup start location: %X/%X\n" msgstr "Ubicación del inicio de backup: %X/%X\n" -#: pg_controldata.c:283 +#: pg_controldata.c:282 #, c-format msgid "Backup end location: %X/%X\n" msgstr "Ubicación del fin de backup: %X/%X\n" -#: pg_controldata.c:285 +#: pg_controldata.c:284 #, c-format msgid "End-of-backup record required: %s\n" msgstr "Registro fin-de-backup requerido: %s\n" -#: pg_controldata.c:286 +#: pg_controldata.c:285 msgid "no" msgstr "no" -#: pg_controldata.c:286 +#: pg_controldata.c:285 msgid "yes" msgstr "sí" -#: pg_controldata.c:287 +#: pg_controldata.c:286 #, c-format msgid "wal_level setting: %s\n" msgstr "Parámetro wal_level: %s\n" -#: pg_controldata.c:289 +#: pg_controldata.c:288 #, c-format msgid "wal_log_hints setting: %s\n" msgstr "Parámetro wal_log_hings: %s\n" -#: pg_controldata.c:291 +#: pg_controldata.c:290 #, c-format msgid "max_connections setting: %d\n" msgstr "Parámetro max_connections: %d\n" -#: pg_controldata.c:293 +#: pg_controldata.c:292 #, c-format msgid "max_worker_processes setting: %d\n" msgstr "Parámetro max_worker_processes: %d\n" -#: pg_controldata.c:295 +#: pg_controldata.c:294 #, c-format msgid "max_wal_senders setting: %d\n" msgstr "Parámetro max_wal_senders: %d\n" -#: pg_controldata.c:297 +#: pg_controldata.c:296 #, c-format msgid "max_prepared_xacts setting: %d\n" msgstr "Parámetro max_prepared_xacts: %d\n" -#: pg_controldata.c:299 +#: pg_controldata.c:298 #, c-format msgid "max_locks_per_xact setting: %d\n" msgstr "Parámetro max_locks_per_xact: %d\n" -#: pg_controldata.c:301 +#: pg_controldata.c:300 #, c-format msgid "track_commit_timestamp setting: %s\n" msgstr "Parámetro track_commit_timestamp: %s\n" -#: pg_controldata.c:303 +#: pg_controldata.c:302 #, c-format msgid "Maximum data alignment: %u\n" msgstr "Alineamiento máximo de datos: %u\n" -#: pg_controldata.c:306 +#: pg_controldata.c:305 #, c-format msgid "Database block size: %u\n" msgstr "Tamaño de bloque de la base de datos: %u\n" -#: pg_controldata.c:308 +#: pg_controldata.c:307 #, c-format msgid "Blocks per segment of large relation: %u\n" msgstr "Bloques por segmento en relación grande: %u\n" -#: pg_controldata.c:310 +#: pg_controldata.c:309 #, c-format msgid "WAL block size: %u\n" msgstr "Tamaño del bloque de WAL: %u\n" -#: pg_controldata.c:312 +#: pg_controldata.c:311 #, c-format msgid "Bytes per WAL segment: %u\n" msgstr "Bytes por segmento WAL: %u\n" -#: pg_controldata.c:314 +#: pg_controldata.c:313 #, c-format msgid "Maximum length of identifiers: %u\n" msgstr "Máxima longitud de identificadores: %u\n" -#: pg_controldata.c:316 +#: pg_controldata.c:315 #, c-format msgid "Maximum columns in an index: %u\n" msgstr "Máximo número de columnas de un índice: %u\n" -#: pg_controldata.c:318 +#: pg_controldata.c:317 #, c-format msgid "Maximum size of a TOAST chunk: %u\n" msgstr "Longitud máxima de un trozo TOAST: %u\n" -#: pg_controldata.c:320 +#: pg_controldata.c:319 #, c-format msgid "Size of a large-object chunk: %u\n" msgstr "Longitud máx. de un trozo de objeto grande: %u\n" -#: pg_controldata.c:323 +#: pg_controldata.c:322 #, c-format msgid "Date/time type storage: %s\n" msgstr "Tipo de almacenamiento de horas y fechas: %s\n" -#: pg_controldata.c:324 +#: pg_controldata.c:323 msgid "64-bit integers" msgstr "enteros de 64 bits" -#: pg_controldata.c:325 +#: pg_controldata.c:324 #, c-format msgid "Float8 argument passing: %s\n" msgstr "Paso de parámetros float8: %s\n" -#: pg_controldata.c:326 +#: pg_controldata.c:325 msgid "by reference" msgstr "por referencia" -#: pg_controldata.c:326 +#: pg_controldata.c:325 msgid "by value" msgstr "por valor" -#: pg_controldata.c:327 +#: pg_controldata.c:326 #, c-format msgid "Data page checksum version: %u\n" msgstr "Versión de sumas de verificación de datos: %u\n" -#: pg_controldata.c:329 +#: pg_controldata.c:328 #, c-format msgid "Mock authentication nonce: %s\n" msgstr "Nonce para autentificación simulada: %s\n" diff --git a/src/bin/pg_controldata/po/fr.po b/src/bin/pg_controldata/po/fr.po index a22d809a947..1c94ff051b7 100644 --- a/src/bin/pg_controldata/po/fr.po +++ b/src/bin/pg_controldata/po/fr.po @@ -11,10 +11,10 @@ # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 15\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-04-12 05:16+0000\n" -"PO-Revision-Date: 2022-04-12 17:29+0200\n" +"POT-Creation-Date: 2024-07-20 21:24+0000\n" +"PO-Revision-Date: 2024-09-16 16:28+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -22,33 +22,33 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.0.1\n" +"X-Generator: Poedit 3.5\n" -#: ../../common/controldata_utils.c:73 +#: ../../common/controldata_utils.c:97 #, c-format msgid "could not open file \"%s\" for reading: %m" msgstr "n'a pas pu ouvrir le fichier « %s » pour une lecture : %m" -#: ../../common/controldata_utils.c:86 +#: ../../common/controldata_utils.c:110 #, c-format msgid "could not read file \"%s\": %m" msgstr "n'a pas pu lire le fichier « %s » : %m" -#: ../../common/controldata_utils.c:95 +#: ../../common/controldata_utils.c:119 #, c-format msgid "could not read file \"%s\": read %d of %zu" msgstr "n'a pas pu lire le fichier « %s » : a lu %d sur %zu" -#: ../../common/controldata_utils.c:108 ../../common/controldata_utils.c:244 +#: ../../common/controldata_utils.c:132 ../../common/controldata_utils.c:280 #, c-format msgid "could not close file \"%s\": %m" msgstr "n'a pas pu fermer le fichier « %s » : %m" -#: ../../common/controldata_utils.c:124 +#: ../../common/controldata_utils.c:168 msgid "byte ordering mismatch" msgstr "différence de l'ordre des octets" -#: ../../common/controldata_utils.c:126 +#: ../../common/controldata_utils.c:170 #, c-format msgid "" "possible byte ordering mismatch\n" @@ -62,21 +62,32 @@ msgstr "" "résultats ci-dessous sont incorrects, et l'installation de PostgreSQL\n" "est incompatible avec ce répertoire des données." -#: ../../common/controldata_utils.c:194 +#: ../../common/controldata_utils.c:230 #, c-format msgid "could not open file \"%s\": %m" msgstr "n'a pas pu ouvrir le fichier « %s » : %m" -#: ../../common/controldata_utils.c:213 +#: ../../common/controldata_utils.c:249 #, c-format msgid "could not write file \"%s\": %m" msgstr "impossible d'écrire le fichier « %s » : %m" -#: ../../common/controldata_utils.c:232 +#: ../../common/controldata_utils.c:268 #, c-format msgid "could not fsync file \"%s\": %m" msgstr "n'a pas pu synchroniser sur disque (fsync) le fichier « %s » : %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 "mémoire épuisée\n" + +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 +#, c-format +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "ne peut pas dupliquer un pointeur nul (erreur interne)\n" + #: pg_controldata.c:35 #, c-format msgid "" @@ -176,8 +187,8 @@ msgid "unrecognized status code" msgstr "code de statut inconnu" #: pg_controldata.c:84 -msgid "unrecognized wal_level" -msgstr "wal_level non reconnu" +msgid "unrecognized \"wal_level\"" +msgstr "« wal_level » non reconnu" #: pg_controldata.c:138 pg_controldata.c:156 pg_controldata.c:163 #, c-format @@ -194,376 +205,311 @@ msgstr "trop d'arguments en ligne de commande (le premier étant « %s »)" msgid "no data directory specified" msgstr "aucun répertoire de données indiqué" -#: pg_controldata.c:170 +#: pg_controldata.c:171 #, c-format -msgid "" -"WARNING: Calculated CRC checksum does not match value stored in file.\n" -"Either the file is corrupt, or it has a different layout than this program\n" -"is expecting. The results below are untrustworthy.\n" -"\n" -msgstr "" -"ATTENTION : Les sommes de contrôle (CRC) calculées ne correspondent pas aux\n" -"valeurs stockées dans le fichier.\n" -"Soit le fichier est corrompu, soit son organisation diffère de celle\n" -"attendue par le programme.\n" -"Les résultats ci-dessous ne sont pas dignes de confiance.\n" -"\n" +msgid "calculated CRC checksum does not match value stored in control file" +msgstr "la somme de contrôle CRC calculée ne correspond par à la valeur enregistrée dans le fichier de contrôle" -#: pg_controldata.c:179 +#: pg_controldata.c:172 #, c-format -msgid "WARNING: invalid WAL segment size\n" -msgstr "ATTENTION : taille invalide du segment WAL\n" +msgid "Either the control file is corrupt, or it has a different layout than this program is expecting. The results below are untrustworthy." +msgstr "Soit le fichier de contrôle est corrompu, soit son organisation diffère de celle attendue par le programme. Les résultats ci-dessous ne sont pas dignes de confiance." -#: pg_controldata.c:180 +#: pg_controldata.c:181 #, c-format -msgid "" -"The WAL segment size stored in the file, %d byte, is not a power of two\n" -"between 1 MB and 1 GB. The file is corrupt and the results below are\n" -"untrustworthy.\n" -"\n" -msgid_plural "" -"The WAL segment size stored in the file, %d bytes, is not a power of two\n" -"between 1 MB and 1 GB. The file is corrupt and the results below are\n" -"untrustworthy.\n" -"\n" -msgstr[0] "" -"La taille d'un segment WAL enregistré dans le fichier, %d octet, n'est pas une puissance de deux " -"entre 1 Mo et 1 Go. Le fichier est corrompu et les résultats ci-dessous ne proviennent pas d'une " -"source fiable.\n" -"\n" -msgstr[1] "" -"La taille d'un segment WAL enregistré dans le fichier, %d octets, n'est pas une puissance de deux " -"entre 1 Mo et 1 Go. Le fichier est corrompu et les résultats ci-dessous ne proviennent pas d'une " -"source fiable.\n" -"\n" +msgid "invalid WAL segment size in control file (%d byte)" +msgid_plural "invalid WAL segment size in control file (%d bytes)" +msgstr[0] "taille invalide du segment WAL dans le fichier de contrôle (%d octet)" +msgstr[1] "taille invalide du segment WAL dans le fichier de contrôle (%d octets)" + +#: pg_controldata.c:185 +#, c-format +msgid "The WAL segment size must be a power of two between 1 MB and 1 GB." +msgstr "La taille du segment WAL doit être une puissance de deux comprise entre 1 Mo et 1 Go." -#: pg_controldata.c:222 +#: pg_controldata.c:186 +#, c-format +msgid "The file is corrupt and the results below are untrustworthy." +msgstr "Le fichier est corrompu et il ne faut pas faire confiance aux résultats ci-dessous." + +#: pg_controldata.c:221 msgid "???" msgstr "???" -#: pg_controldata.c:228 +#: pg_controldata.c:227 #, c-format msgid "pg_control version number: %u\n" msgstr "Numéro de version de pg_control : %u\n" -#: pg_controldata.c:230 +#: pg_controldata.c:229 #, c-format msgid "Catalog version number: %u\n" msgstr "Numéro de version du catalogue : %u\n" -#: pg_controldata.c:232 +#: pg_controldata.c:231 #, c-format msgid "Database system identifier: %llu\n" msgstr "Identifiant du système de base de données : %llu\n" -#: pg_controldata.c:234 +#: pg_controldata.c:233 #, c-format msgid "Database cluster state: %s\n" msgstr "État du cluster de base de données : %s\n" -#: pg_controldata.c:236 +#: pg_controldata.c:235 #, c-format msgid "pg_control last modified: %s\n" msgstr "Dernière modification de pg_control : %s\n" -#: pg_controldata.c:238 +#: pg_controldata.c:237 #, c-format msgid "Latest checkpoint location: %X/%X\n" msgstr "Dernier point de contrôle : %X/%X\n" -#: pg_controldata.c:240 +#: pg_controldata.c:239 #, c-format msgid "Latest checkpoint's REDO location: %X/%X\n" msgstr "Dernier REDO (reprise) du point de contrôle : %X/%X\n" -#: pg_controldata.c:242 +#: pg_controldata.c:241 #, c-format msgid "Latest checkpoint's REDO WAL file: %s\n" msgstr "Dernier fichier WAL du rejeu du point de contrôle : %s\n" -#: pg_controldata.c:244 +#: pg_controldata.c:243 #, c-format msgid "Latest checkpoint's TimeLineID: %u\n" msgstr "Dernier TimeLineID du point de contrôle : %u\n" -#: pg_controldata.c:246 +#: pg_controldata.c:245 #, c-format msgid "Latest checkpoint's PrevTimeLineID: %u\n" msgstr "Dernier PrevTimeLineID du point de contrôle : %u\n" -#: pg_controldata.c:248 +#: pg_controldata.c:247 #, c-format msgid "Latest checkpoint's full_page_writes: %s\n" msgstr "Dernier full_page_writes du point de contrôle : %s\n" -#: pg_controldata.c:249 pg_controldata.c:290 pg_controldata.c:302 +#: pg_controldata.c:248 pg_controldata.c:289 pg_controldata.c:301 msgid "off" msgstr "désactivé" -#: pg_controldata.c:249 pg_controldata.c:290 pg_controldata.c:302 +#: pg_controldata.c:248 pg_controldata.c:289 pg_controldata.c:301 msgid "on" msgstr "activé" -#: pg_controldata.c:250 +#: pg_controldata.c:249 #, c-format msgid "Latest checkpoint's NextXID: %u:%u\n" msgstr "Dernier NextXID du point de contrôle : %u:%u\n" -#: pg_controldata.c:253 +#: pg_controldata.c:252 #, c-format msgid "Latest checkpoint's NextOID: %u\n" msgstr "Dernier NextOID du point de contrôle : %u\n" -#: pg_controldata.c:255 +#: pg_controldata.c:254 #, c-format msgid "Latest checkpoint's NextMultiXactId: %u\n" msgstr "Dernier NextMultiXactId du point de contrôle : %u\n" -#: pg_controldata.c:257 +#: pg_controldata.c:256 #, c-format msgid "Latest checkpoint's NextMultiOffset: %u\n" msgstr "Dernier NextMultiOffset du point de contrôle : %u\n" -#: pg_controldata.c:259 +#: pg_controldata.c:258 #, c-format msgid "Latest checkpoint's oldestXID: %u\n" msgstr "Dernier oldestXID du point de contrôle : %u\n" -#: pg_controldata.c:261 +#: pg_controldata.c:260 #, c-format msgid "Latest checkpoint's oldestXID's DB: %u\n" msgstr "Dernier oldestXID du point de contrôle de la base : %u\n" -#: pg_controldata.c:263 +#: pg_controldata.c:262 #, c-format msgid "Latest checkpoint's oldestActiveXID: %u\n" msgstr "Dernier oldestActiveXID du point de contrôle : %u\n" -#: pg_controldata.c:265 +#: pg_controldata.c:264 #, c-format msgid "Latest checkpoint's oldestMultiXid: %u\n" msgstr "Dernier oldestMultiXid du point de contrôle : %u\n" -#: pg_controldata.c:267 +#: pg_controldata.c:266 #, c-format msgid "Latest checkpoint's oldestMulti's DB: %u\n" msgstr "Dernier oldestMulti du point de contrôle de la base : %u\n" -#: pg_controldata.c:269 +#: pg_controldata.c:268 #, c-format msgid "Latest checkpoint's oldestCommitTsXid:%u\n" msgstr "Dernier oldestCommitTsXid du point de contrôle : %u\n" -#: pg_controldata.c:271 +#: pg_controldata.c:270 #, c-format msgid "Latest checkpoint's newestCommitTsXid:%u\n" msgstr "Dernier newestCommitTsXid du point de contrôle : %u\n" -#: pg_controldata.c:273 +#: pg_controldata.c:272 #, c-format msgid "Time of latest checkpoint: %s\n" msgstr "Heure du dernier point de contrôle : %s\n" -#: pg_controldata.c:275 +#: pg_controldata.c:274 #, c-format msgid "Fake LSN counter for unlogged rels: %X/%X\n" msgstr "Faux compteur LSN pour les relations non journalisés : %X/%X\n" -#: pg_controldata.c:277 +#: pg_controldata.c:276 #, c-format msgid "Minimum recovery ending location: %X/%X\n" msgstr "Emplacement de fin de la récupération minimale : %X/%X\n" -#: pg_controldata.c:279 +#: pg_controldata.c:278 #, c-format msgid "Min recovery ending loc's timeline: %u\n" msgstr "Timeline de l'emplacement de fin de restauration : %u\n" -#: pg_controldata.c:281 +#: pg_controldata.c:280 #, c-format msgid "Backup start location: %X/%X\n" msgstr "Début de la sauvegarde : %X/%X\n" -#: pg_controldata.c:283 +#: pg_controldata.c:282 #, c-format msgid "Backup end location: %X/%X\n" msgstr "Fin de la sauvegarde : %X/%X\n" -#: pg_controldata.c:285 +#: pg_controldata.c:284 #, c-format msgid "End-of-backup record required: %s\n" msgstr "Enregistrement de fin de sauvegarde requis : %s\n" -#: pg_controldata.c:286 +#: pg_controldata.c:285 msgid "no" msgstr "non" -#: pg_controldata.c:286 +#: pg_controldata.c:285 msgid "yes" msgstr "oui" -#: pg_controldata.c:287 +#: pg_controldata.c:286 #, c-format msgid "wal_level setting: %s\n" -msgstr "Paramètrage actuel de wal_level : %s\n" +msgstr "Paramétrage actuel de wal_level : %s\n" -#: pg_controldata.c:289 +#: pg_controldata.c:288 #, c-format msgid "wal_log_hints setting: %s\n" msgstr "Paramétrage actuel de wal_log_hints : %s\n" -#: pg_controldata.c:291 +#: pg_controldata.c:290 #, c-format msgid "max_connections setting: %d\n" -msgstr "Paramètrage actuel de max_connections : %d\n" +msgstr "Paramétrage actuel de max_connections : %d\n" -#: pg_controldata.c:293 +#: pg_controldata.c:292 #, c-format msgid "max_worker_processes setting: %d\n" msgstr "Paramétrage actuel de max_worker_processes : %d\n" -#: pg_controldata.c:295 +#: pg_controldata.c:294 #, c-format msgid "max_wal_senders setting: %d\n" -msgstr "Paramètrage actuel de max_wal_senders : %d\n" +msgstr "Paramétrage actuel de max_wal_senders : %d\n" -#: pg_controldata.c:297 +#: pg_controldata.c:296 #, c-format msgid "max_prepared_xacts setting: %d\n" -msgstr "Paramètrage actuel de max_prepared_xacts : %d\n" +msgstr "Paramétrage actuel de max_prepared_xacts : %d\n" -#: pg_controldata.c:299 +#: pg_controldata.c:298 #, c-format msgid "max_locks_per_xact setting: %d\n" -msgstr "Paramètrage actuel de max_locks_per_xact : %d\n" +msgstr "Paramétrage actuel de max_locks_per_xact : %d\n" -#: pg_controldata.c:301 +#: pg_controldata.c:300 #, c-format msgid "track_commit_timestamp setting: %s\n" -msgstr "Paramètrage actuel de track_commit_timestamp : %s\n" +msgstr "Paramétrage actuel de track_commit_timestamp : %s\n" -#: pg_controldata.c:303 +#: pg_controldata.c:302 #, c-format msgid "Maximum data alignment: %u\n" msgstr "Alignement maximal des données : %u\n" -#: pg_controldata.c:306 +#: pg_controldata.c:305 #, c-format msgid "Database block size: %u\n" msgstr "Taille du bloc de la base de données : %u\n" -#: pg_controldata.c:308 +#: pg_controldata.c:307 #, c-format msgid "Blocks per segment of large relation: %u\n" msgstr "Blocs par segment des relations volumineuses : %u\n" -#: pg_controldata.c:310 +#: pg_controldata.c:309 #, c-format msgid "WAL block size: %u\n" msgstr "Taille de bloc du journal de transaction : %u\n" -#: pg_controldata.c:312 +#: pg_controldata.c:311 #, c-format msgid "Bytes per WAL segment: %u\n" msgstr "Octets par segment du journal de transaction : %u\n" -#: pg_controldata.c:314 +#: pg_controldata.c:313 #, c-format msgid "Maximum length of identifiers: %u\n" msgstr "Longueur maximale des identifiants : %u\n" -#: pg_controldata.c:316 +#: pg_controldata.c:315 #, c-format msgid "Maximum columns in an index: %u\n" msgstr "Nombre maximum de colonnes d'un index: %u\n" -#: pg_controldata.c:318 +#: pg_controldata.c:317 #, c-format msgid "Maximum size of a TOAST chunk: %u\n" msgstr "Longueur maximale d'un morceau TOAST : %u\n" -#: pg_controldata.c:320 +#: pg_controldata.c:319 #, c-format msgid "Size of a large-object chunk: %u\n" msgstr "Taille d'un morceau de Large Object : %u\n" -#: pg_controldata.c:323 +#: pg_controldata.c:322 #, c-format msgid "Date/time type storage: %s\n" msgstr "Stockage du type date/heure : %s\n" -#: pg_controldata.c:324 +#: pg_controldata.c:323 msgid "64-bit integers" msgstr "entiers 64-bits" -#: pg_controldata.c:325 +#: pg_controldata.c:324 #, c-format msgid "Float8 argument passing: %s\n" msgstr "Passage d'argument float8 : %s\n" -#: pg_controldata.c:326 +#: pg_controldata.c:325 msgid "by reference" msgstr "par référence" -#: pg_controldata.c:326 +#: pg_controldata.c:325 msgid "by value" msgstr "par valeur" -#: pg_controldata.c:327 +#: pg_controldata.c:326 #, c-format msgid "Data page checksum version: %u\n" msgstr "Version des sommes de contrôle des pages de données : %u\n" -#: pg_controldata.c:329 +#: pg_controldata.c:328 #, c-format msgid "Mock authentication nonce: %s\n" msgstr "Nonce pour simuler une identité: %s\n" - -#~ msgid " -?, --help show this help, then exit\n" -#~ msgstr " -?, --help affiche cette aide et quitte\n" - -#~ msgid " -V, --version output version information, then exit\n" -#~ msgstr " -V, --version affiche la version et quitte\n" - -#~ msgid "%s: could not open file \"%s\" for reading: %s\n" -#~ msgstr "%s : n'a pas pu ouvrir le fichier « %s » en lecture : %s\n" - -#~ msgid "%s: could not read file \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu lire le fichier « %s » : %s\n" - -#~ msgid "%s: could not read file \"%s\": read %d of %d\n" -#~ msgstr "%s : n'a pas pu lire le fichier « %s » : a lu %d sur %d\n" - -#~ msgid "Float4 argument passing: %s\n" -#~ msgstr "Passage d'argument float4 : %s\n" - -#~ msgid "Prior checkpoint location: %X/%X\n" -#~ msgstr "Point de contrôle précédent : %X/%X\n" - -#~ msgid "Report bugs to .\n" -#~ msgstr "Rapporter les bogues à .\n" - -#, c-format -#~ msgid "Try \"%s --help\" for more information.\n" -#~ msgstr "Essayer « %s --help » pour plus d'informations.\n" - -#~ msgid "" -#~ "Usage:\n" -#~ " %s [OPTION] [DATADIR]\n" -#~ "\n" -#~ "Options:\n" -#~ " --help show this help, then exit\n" -#~ " --version output version information, then exit\n" -#~ msgstr "" -#~ "Usage :\n" -#~ " %s [OPTION] [RÉP_DONNÉES]\n" -#~ "\n" -#~ "Options :\n" -#~ " --help affiche cette aide et quitte\n" -#~ " --version affiche les informations de version et quitte\n" - -#~ msgid "calculated CRC checksum does not match value stored in file" -#~ msgstr "la somme de contrôle CRC calculée ne correspond par à la valeur enregistrée dans le fichier" - -#~ msgid "floating-point numbers" -#~ msgstr "nombres à virgule flottante" diff --git a/src/bin/pg_controldata/po/ka.po b/src/bin/pg_controldata/po/ka.po index 94bb60ceebc..5cab2d7d611 100644 --- a/src/bin/pg_controldata/po/ka.po +++ b/src/bin/pg_controldata/po/ka.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: pg_controldata (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-05-18 22:23+0000\n" +"POT-Creation-Date: 2024-07-01 03:53+0000\n" "PO-Revision-Date: 2024-05-19 07:11+0200\n" "Last-Translator: Temuri Doghonadze \n" "Language-Team: Georgian \n" @@ -69,6 +69,17 @@ msgstr "ფაილში (%s) ჩაწერის შეცდომა: %m" 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 "ნულოვანი მაჩვენებლის დუბლირება შეუძლებელია (შიდა შეცდომა)\n" + #: pg_controldata.c:35 #, c-format msgid "" diff --git a/src/bin/pg_controldata/po/ru.po b/src/bin/pg_controldata/po/ru.po index 430ec929eed..81f0fa0e9b1 100644 --- a/src/bin/pg_controldata/po/ru.po +++ b/src/bin/pg_controldata/po/ru.po @@ -4,13 +4,13 @@ # Serguei A. Mokhov , 2002-2004. # Oleg Bartunov , 2004. # Andrey Sudnik , 2011. -# Alexander Lakhin , 2012-2017, 2018, 2019, 2020, 2021, 2022. +# Alexander Lakhin , 2012-2017, 2018, 2019, 2020, 2021, 2022, 2024. msgid "" msgstr "" "Project-Id-Version: pg_controldata (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-11-03 09:08+0300\n" -"PO-Revision-Date: 2022-09-05 13:34+0300\n" +"POT-Creation-Date: 2024-09-02 09:29+0300\n" +"PO-Revision-Date: 2024-09-04 17:08+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" @@ -20,31 +20,31 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: ../../common/controldata_utils.c:83 +#: ../../common/controldata_utils.c:97 #, c-format msgid "could not open file \"%s\" for reading: %m" msgstr "не удалось открыть файл \"%s\" для чтения: %m" -#: ../../common/controldata_utils.c:96 +#: ../../common/controldata_utils.c:110 #, c-format msgid "could not read file \"%s\": %m" msgstr "не удалось прочитать файл \"%s\": %m" -#: ../../common/controldata_utils.c:105 +#: ../../common/controldata_utils.c:119 #, c-format msgid "could not read file \"%s\": read %d of %zu" msgstr "не удалось прочитать файл \"%s\" (прочитано байт: %d из %zu)" -#: ../../common/controldata_utils.c:118 ../../common/controldata_utils.c:266 +#: ../../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:154 +#: ../../common/controldata_utils.c:168 msgid "byte ordering mismatch" msgstr "несоответствие порядка байт" -#: ../../common/controldata_utils.c:156 +#: ../../common/controldata_utils.c:170 #, c-format msgid "" "possible byte ordering mismatch\n" @@ -58,21 +58,32 @@ msgstr "" "этой программой. В этом случае результаты будут неверными и\n" "установленный PostgreSQL будет несовместим с этим каталогом данных." -#: ../../common/controldata_utils.c:216 +#: ../../common/controldata_utils.c:230 #, c-format msgid "could not open file \"%s\": %m" msgstr "не удалось открыть файл \"%s\": %m" -#: ../../common/controldata_utils.c:235 +#: ../../common/controldata_utils.c:249 #, c-format msgid "could not write file \"%s\": %m" msgstr "не удалось записать файл \"%s\": %m" -#: ../../common/controldata_utils.c:254 +#: ../../common/controldata_utils.c:268 #, c-format msgid "could not fsync file \"%s\": %m" msgstr "не удалось синхронизировать с ФС файл \"%s\": %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 "попытка дублирования нулевого указателя (внутренняя ошибка)\n" + #: pg_controldata.c:35 #, c-format msgid "" @@ -173,8 +184,8 @@ msgid "unrecognized status code" msgstr "нераспознанный код состояния" #: pg_controldata.c:84 -msgid "unrecognized wal_level" -msgstr "нераспознанный уровень WAL" +msgid "unrecognized \"wal_level\"" +msgstr "нераспознанное значение \"wal_level\"" #: pg_controldata.c:138 pg_controldata.c:156 pg_controldata.c:163 #, c-format @@ -191,360 +202,379 @@ msgstr "слишком много аргументов командной стр msgid "no data directory specified" msgstr "каталог данных не указан" -#: pg_controldata.c:170 +#: pg_controldata.c:171 +#, c-format +msgid "calculated CRC checksum does not match value stored in control file" +msgstr "" +"вычисленная контрольная сумма (CRC) не соответствует значению, сохранённому " +"в управляющем файле" + +#: pg_controldata.c:172 #, c-format msgid "" -"WARNING: Calculated CRC checksum does not match value stored in file.\n" -"Either the file is corrupt, or it has a different layout than this program\n" -"is expecting. The results below are untrustworthy.\n" -"\n" +"Either the control file is corrupt, or it has a different layout than this " +"program is expecting. The results below are untrustworthy." msgstr "" -"ПРЕДУПРЕЖДЕНИЕ: Вычисленная контрольная сумма не совпадает со значением в " -"файле.\n" -"Либо файл повреждён, либо его формат отличается от ожидаемого.\n" -"Следующая информация может быть недостоверной.\n" -"\n" +"Либо управляющий файл повреждён, либо его структура отличается от ожидаемой. " +"Следующая информация может быть недостоверной." -#: pg_controldata.c:179 +#: pg_controldata.c:181 #, c-format -msgid "WARNING: invalid WAL segment size\n" -msgstr "ПРЕДУПРЕЖДЕНИЕ: неверный размер сегмента WAL\n" +msgid "invalid WAL segment size in control file (%d byte)" +msgid_plural "invalid WAL segment size in control file (%d bytes)" +msgstr[0] "управляющий файл содержит неверный размер сегмента WAL (%d Б)" +msgstr[1] "управляющий файл содержит неверный размер сегмента WAL (%d Б)" +msgstr[2] "управляющий файл содержит неверный размер сегмента WAL (%d Б)" -#: pg_controldata.c:180 +#: pg_controldata.c:185 #, c-format -msgid "" -"The WAL segment size stored in the file, %d byte, is not a power of two\n" -"between 1 MB and 1 GB. The file is corrupt and the results below are\n" -"untrustworthy.\n" -"\n" -msgid_plural "" -"The WAL segment size stored in the file, %d bytes, is not a power of two\n" -"between 1 MB and 1 GB. The file is corrupt and the results below are\n" -"untrustworthy.\n" -"\n" -msgstr[0] "" -"Сохранённый в этом файле размер сегмента WAL (байт: %d) не является " -"степенью\n" -"двух между 1 МБ и 1 ГБ. Файл испорчен, выводимая ниже информация\n" -"подлежит сомнению.\n" -"\n" -msgstr[1] "" -"Сохранённый в этом файле размер сегмента WAL (байт: %d) не является " -"степенью\n" -"двух между 1 МБ и 1 ГБ. Файл испорчен, выводимая ниже информация\n" -"подлежит сомнению.\n" -"\n" -msgstr[2] "" -"Сохранённый в этом файле размер сегмента WAL (байт: %d) не является " -"степенью\n" -"двух между 1 МБ и 1 ГБ. Файл испорчен, выводимая ниже информация\n" -"подлежит сомнению.\n" -"\n" +msgid "The WAL segment size must be a power of two between 1 MB and 1 GB." +msgstr "" +"Размер сегмента WAL должен задаваться степенью 2 в интервале от 1 МБ до 1 ГБ." + +#: pg_controldata.c:186 +#, c-format +msgid "The file is corrupt and the results below are untrustworthy." +msgstr "Файл испорчен, поэтому следующая информация не является достоверной." -#: pg_controldata.c:222 +#: pg_controldata.c:221 msgid "???" msgstr "???" -#: pg_controldata.c:228 +#: pg_controldata.c:227 #, c-format msgid "pg_control version number: %u\n" msgstr "Номер версии pg_control: %u\n" -#: pg_controldata.c:230 +#: pg_controldata.c:229 #, c-format msgid "Catalog version number: %u\n" msgstr "Номер версии каталога: %u\n" -#: pg_controldata.c:232 +#: pg_controldata.c:231 #, c-format msgid "Database system identifier: %llu\n" msgstr "Идентификатор системы баз данных: %llu\n" -#: pg_controldata.c:234 +#: pg_controldata.c:233 #, c-format msgid "Database cluster state: %s\n" msgstr "Состояние кластера БД: %s\n" -#: pg_controldata.c:236 +#: pg_controldata.c:235 #, c-format msgid "pg_control last modified: %s\n" msgstr "Последнее обновление pg_control: %s\n" # skip-rule: capital-letter-first -#: pg_controldata.c:238 +#: pg_controldata.c:237 #, c-format msgid "Latest checkpoint location: %X/%X\n" msgstr "Положение последней конт. точки: %X/%X\n" # skip-rule: capital-letter-first -#: pg_controldata.c:240 +#: pg_controldata.c:239 #, c-format msgid "Latest checkpoint's REDO location: %X/%X\n" msgstr "Положение REDO последней конт. точки: %X/%X\n" # skip-rule: capital-letter-first -#: pg_controldata.c:242 +#: pg_controldata.c:241 #, c-format msgid "Latest checkpoint's REDO WAL file: %s\n" msgstr "Файл WAL c REDO последней к. т.: %s\n" # skip-rule: capital-letter-first -#: pg_controldata.c:244 +#: pg_controldata.c:243 #, c-format msgid "Latest checkpoint's TimeLineID: %u\n" msgstr "Линия времени последней конт. точки: %u\n" # skip-rule: capital-letter-first -#: pg_controldata.c:246 +#: pg_controldata.c:245 #, c-format msgid "Latest checkpoint's PrevTimeLineID: %u\n" msgstr "Пред. линия времени последней к. т.: %u\n" # skip-rule: no-space-after-period -#: pg_controldata.c:248 +#: pg_controldata.c:247 #, c-format msgid "Latest checkpoint's full_page_writes: %s\n" msgstr "Режим full_page_writes последней к.т: %s\n" -#: pg_controldata.c:249 pg_controldata.c:290 pg_controldata.c:302 +#: pg_controldata.c:248 pg_controldata.c:289 pg_controldata.c:301 msgid "off" msgstr "выкл." -#: pg_controldata.c:249 pg_controldata.c:290 pg_controldata.c:302 +#: pg_controldata.c:248 pg_controldata.c:289 pg_controldata.c:301 msgid "on" msgstr "вкл." # skip-rule: capital-letter-first -#: pg_controldata.c:250 +#: pg_controldata.c:249 #, c-format msgid "Latest checkpoint's NextXID: %u:%u\n" msgstr "NextXID последней конт. точки: %u:%u\n" # skip-rule: capital-letter-first -#: pg_controldata.c:253 +#: pg_controldata.c:252 #, c-format msgid "Latest checkpoint's NextOID: %u\n" msgstr "NextOID последней конт. точки: %u\n" # skip-rule: capital-letter-first -#: pg_controldata.c:255 +#: pg_controldata.c:254 #, c-format msgid "Latest checkpoint's NextMultiXactId: %u\n" msgstr "NextMultiXactId послед. конт. точки: %u\n" # skip-rule: capital-letter-first -#: pg_controldata.c:257 +#: pg_controldata.c:256 #, c-format msgid "Latest checkpoint's NextMultiOffset: %u\n" msgstr "NextMultiOffset послед. конт. точки: %u\n" # skip-rule: capital-letter-first -#: pg_controldata.c:259 +#: pg_controldata.c:258 #, c-format msgid "Latest checkpoint's oldestXID: %u\n" msgstr "oldestXID последней конт. точки: %u\n" # skip-rule: capital-letter-first -#: pg_controldata.c:261 +#: pg_controldata.c:260 #, c-format msgid "Latest checkpoint's oldestXID's DB: %u\n" msgstr "БД с oldestXID последней конт. точки: %u\n" # skip-rule: capital-letter-first -#: pg_controldata.c:263 +#: pg_controldata.c:262 #, c-format msgid "Latest checkpoint's oldestActiveXID: %u\n" msgstr "oldestActiveXID последней к. т.: %u\n" # skip-rule: capital-letter-first -#: pg_controldata.c:265 +#: pg_controldata.c:264 #, c-format msgid "Latest checkpoint's oldestMultiXid: %u\n" msgstr "oldestMultiXid последней конт. точки: %u\n" # skip-rule: double-space, capital-letter-first -#: pg_controldata.c:267 +#: pg_controldata.c:266 #, c-format msgid "Latest checkpoint's oldestMulti's DB: %u\n" msgstr "БД с oldestMulti последней к. т.: %u\n" # skip-rule: double-space, capital-letter-first -#: pg_controldata.c:269 +#: pg_controldata.c:268 #, c-format msgid "Latest checkpoint's oldestCommitTsXid:%u\n" msgstr "oldestCommitTsXid последней к. т.: %u\n" # skip-rule: capital-letter-first, double-space -#: pg_controldata.c:271 +#: pg_controldata.c:270 #, c-format msgid "Latest checkpoint's newestCommitTsXid:%u\n" msgstr "newestCommitTsXid последней к. т.: %u\n" -#: pg_controldata.c:273 +#: pg_controldata.c:272 #, c-format msgid "Time of latest checkpoint: %s\n" msgstr "Время последней контрольной точки: %s\n" # skip-rule: capital-letter-first # well-spelled: нежурналир -#: pg_controldata.c:275 +#: pg_controldata.c:274 #, c-format msgid "Fake LSN counter for unlogged rels: %X/%X\n" msgstr "Фиктивный LSN для нежурналир. таблиц: %X/%X\n" -#: pg_controldata.c:277 +#: pg_controldata.c:276 #, c-format msgid "Minimum recovery ending location: %X/%X\n" msgstr "Мин. положение конца восстановления: %X/%X\n" # skip-rule: capital-letter-first -#: pg_controldata.c:279 +#: pg_controldata.c:278 #, c-format msgid "Min recovery ending loc's timeline: %u\n" msgstr "Линия времени мин. положения к. в.: %u\n" -#: pg_controldata.c:281 +#: pg_controldata.c:280 #, c-format msgid "Backup start location: %X/%X\n" msgstr "Положение начала копии: %X/%X\n" -#: pg_controldata.c:283 +#: pg_controldata.c:282 #, c-format msgid "Backup end location: %X/%X\n" msgstr "Положение конца копии: %X/%X\n" -#: pg_controldata.c:285 +#: pg_controldata.c:284 #, c-format msgid "End-of-backup record required: %s\n" msgstr "Требуется запись конец-копии: %s\n" -#: pg_controldata.c:286 +#: pg_controldata.c:285 msgid "no" msgstr "нет" -#: pg_controldata.c:286 +#: pg_controldata.c:285 msgid "yes" msgstr "да" -#: pg_controldata.c:287 +#: pg_controldata.c:286 #, c-format msgid "wal_level setting: %s\n" msgstr "Значение wal_level: %s\n" -#: pg_controldata.c:289 +#: pg_controldata.c:288 #, c-format msgid "wal_log_hints setting: %s\n" msgstr "Значение wal_log_hints: %s\n" -#: pg_controldata.c:291 +#: pg_controldata.c:290 #, c-format msgid "max_connections setting: %d\n" msgstr "Значение max_connections: %d\n" -#: pg_controldata.c:293 +#: pg_controldata.c:292 #, c-format msgid "max_worker_processes setting: %d\n" msgstr "Значение max_worker_processes: %d\n" -#: pg_controldata.c:295 +#: pg_controldata.c:294 #, c-format msgid "max_wal_senders setting: %d\n" msgstr "Значение max_wal_senders: %d\n" -#: pg_controldata.c:297 +#: pg_controldata.c:296 #, c-format msgid "max_prepared_xacts setting: %d\n" msgstr "Значение max_prepared_xacts: %d\n" -#: pg_controldata.c:299 +#: pg_controldata.c:298 #, c-format msgid "max_locks_per_xact setting: %d\n" msgstr "Значение max_locks_per_xact: %d\n" -#: pg_controldata.c:301 +#: pg_controldata.c:300 #, c-format msgid "track_commit_timestamp setting: %s\n" msgstr "Значение track_commit_timestamp: %s\n" -#: pg_controldata.c:303 +#: pg_controldata.c:302 #, c-format msgid "Maximum data alignment: %u\n" msgstr "Макс. предел выравнивания данных: %u\n" -#: pg_controldata.c:306 +#: pg_controldata.c:305 #, c-format msgid "Database block size: %u\n" msgstr "Размер блока БД: %u\n" # skip-rule: double-space -#: pg_controldata.c:308 +#: pg_controldata.c:307 #, c-format msgid "Blocks per segment of large relation: %u\n" msgstr "Блоков в макс. сегменте отношений: %u\n" -#: pg_controldata.c:310 +#: pg_controldata.c:309 #, c-format msgid "WAL block size: %u\n" msgstr "Размер блока WAL: %u\n" -#: pg_controldata.c:312 +#: pg_controldata.c:311 #, c-format msgid "Bytes per WAL segment: %u\n" msgstr "Байт в сегменте WAL: %u\n" -#: pg_controldata.c:314 +#: pg_controldata.c:313 #, c-format msgid "Maximum length of identifiers: %u\n" msgstr "Максимальная длина идентификаторов: %u\n" -#: pg_controldata.c:316 +#: pg_controldata.c:315 #, c-format msgid "Maximum columns in an index: %u\n" msgstr "Макс. число столбцов в индексе: %u\n" -#: pg_controldata.c:318 +#: pg_controldata.c:317 #, c-format msgid "Maximum size of a TOAST chunk: %u\n" msgstr "Максимальный размер порции TOAST: %u\n" -#: pg_controldata.c:320 +#: pg_controldata.c:319 #, c-format msgid "Size of a large-object chunk: %u\n" msgstr "Размер порции большого объекта: %u\n" -#: pg_controldata.c:323 +#: pg_controldata.c:322 #, c-format msgid "Date/time type storage: %s\n" msgstr "Формат хранения даты/времени: %s\n" -#: pg_controldata.c:324 +#: pg_controldata.c:323 msgid "64-bit integers" msgstr "64-битные целые" -#: pg_controldata.c:325 +#: pg_controldata.c:324 #, c-format msgid "Float8 argument passing: %s\n" msgstr "Передача аргумента float8: %s\n" -#: pg_controldata.c:326 +#: pg_controldata.c:325 msgid "by reference" msgstr "по ссылке" -#: pg_controldata.c:326 +#: pg_controldata.c:325 msgid "by value" msgstr "по значению" -#: pg_controldata.c:327 +#: pg_controldata.c:326 #, c-format msgid "Data page checksum version: %u\n" msgstr "Версия контрольных сумм страниц: %u\n" # skip-rule: capital-letter-first -#: pg_controldata.c:329 +#: pg_controldata.c:328 #, c-format msgid "Mock authentication nonce: %s\n" msgstr "Случ. число для псевдоаутентификации: %s\n" +#, c-format +#~ msgid "WARNING: invalid WAL segment size\n" +#~ msgstr "ПРЕДУПРЕЖДЕНИЕ: неверный размер сегмента WAL\n" + +#, c-format +#~ msgid "" +#~ "The WAL segment size stored in the file, %d byte, is not a power of two\n" +#~ "between 1 MB and 1 GB. The file is corrupt and the results below are\n" +#~ "untrustworthy.\n" +#~ "\n" +#~ msgid_plural "" +#~ "The WAL segment size stored in the file, %d bytes, is not a power of two\n" +#~ "between 1 MB and 1 GB. The file is corrupt and the results below are\n" +#~ "untrustworthy.\n" +#~ "\n" +#~ msgstr[0] "" +#~ "Сохранённый в этом файле размер сегмента WAL (байт: %d) не является " +#~ "степенью\n" +#~ "двух между 1 МБ и 1 ГБ. Файл испорчен, выводимая ниже информация\n" +#~ "подлежит сомнению.\n" +#~ "\n" +#~ msgstr[1] "" +#~ "Сохранённый в этом файле размер сегмента WAL (байт: %d) не является " +#~ "степенью\n" +#~ "двух между 1 МБ и 1 ГБ. Файл испорчен, выводимая ниже информация\n" +#~ "подлежит сомнению.\n" +#~ "\n" +#~ msgstr[2] "" +#~ "Сохранённый в этом файле размер сегмента WAL (байт: %d) не является " +#~ "степенью\n" +#~ "двух между 1 МБ и 1 ГБ. Файл испорчен, выводимая ниже информация\n" +#~ "подлежит сомнению.\n" +#~ "\n" + #~ msgid "Report bugs to .\n" #~ msgstr "Об ошибках сообщайте по адресу .\n" @@ -555,11 +585,6 @@ msgstr "Случ. число для псевдоаутентификации: %s #~ msgid "Prior checkpoint location: %X/%X\n" #~ msgstr "Положение предыдущей конт. точки: %X/%X\n" -#~ msgid "calculated CRC checksum does not match value stored in file" -#~ msgstr "" -#~ "вычисленная контрольная сумма (CRC) не соответствует значению, " -#~ "сохранённому в файле" - #~ msgid "floating-point numbers" #~ msgstr "числа с плавающей точкой" diff --git a/src/bin/pg_controldata/po/sv.po b/src/bin/pg_controldata/po/sv.po index 98368901994..07b46343b13 100644 --- a/src/bin/pg_controldata/po/sv.po +++ b/src/bin/pg_controldata/po/sv.po @@ -1,16 +1,16 @@ # Swedish message translation file for pg_controldata # This file is put in the public domain. -# Dennis Björklund , 2002, 2003, 2004, 2005, 2006, 2017, 2018, 2019, 2020, 2021, 2022. +# Dennis Björklund , 2002, 2003, 2004, 2005, 2006, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024. # Mats Erik Andersson , 2014. # # Use these quotes: "%s" # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 15\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-04-11 09:21+0000\n" -"PO-Revision-Date: 2023-08-17 16:56+0200\n" +"POT-Creation-Date: 2024-07-12 14:24+0000\n" +"PO-Revision-Date: 2024-07-12 19:01+0200\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -19,31 +19,31 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -#: ../../common/controldata_utils.c:73 +#: ../../common/controldata_utils.c:97 #, 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:86 +#: ../../common/controldata_utils.c:110 #, c-format msgid "could not read file \"%s\": %m" msgstr "kunde inte läsa fil \"%s\": %m" -#: ../../common/controldata_utils.c:95 +#: ../../common/controldata_utils.c:119 #, c-format msgid "could not read file \"%s\": read %d of %zu" msgstr "kunde inte läsa fil \"%s\": läste %d av %zu" -#: ../../common/controldata_utils.c:108 ../../common/controldata_utils.c:244 +#: ../../common/controldata_utils.c:132 ../../common/controldata_utils.c:280 #, c-format msgid "could not close file \"%s\": %m" msgstr "kunde inte stänga fil \"%s\": %m" -#: ../../common/controldata_utils.c:124 +#: ../../common/controldata_utils.c:168 msgid "byte ordering mismatch" msgstr "byte-ordning stämmer inte" -#: ../../common/controldata_utils.c:126 +#: ../../common/controldata_utils.c:170 #, c-format msgid "" "possible byte ordering mismatch\n" @@ -56,21 +56,32 @@ msgstr "" "inte detta program. I så fall kan nedanstående resultat vara felaktiga\n" "och PostgreSQL-installationen vara inkompatibel med databaskatalogen." -#: ../../common/controldata_utils.c:194 +#: ../../common/controldata_utils.c:230 #, c-format msgid "could not open file \"%s\": %m" msgstr "kunde inte öppna fil \"%s\": %m" -#: ../../common/controldata_utils.c:213 +#: ../../common/controldata_utils.c:249 #, c-format msgid "could not write file \"%s\": %m" msgstr "kunde inte skriva fil \"%s\": %m" -#: ../../common/controldata_utils.c:232 +#: ../../common/controldata_utils.c:268 #, c-format msgid "could not fsync file \"%s\": %m" msgstr "kunde inte fsync:a fil \"%s\": %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 "slut på minne\n" + +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 +#, c-format +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "kan inte duplicera null-pekare (internt fel)\n" + #: pg_controldata.c:35 #, c-format msgid "" @@ -170,8 +181,8 @@ msgid "unrecognized status code" msgstr "okänd statuskod" #: pg_controldata.c:84 -msgid "unrecognized wal_level" -msgstr "okänd wal_level" +msgid "unrecognized \"wal_level\"" +msgstr "okänd \"wal_level\"" #: pg_controldata.c:138 pg_controldata.c:156 pg_controldata.c:163 #, c-format @@ -188,48 +199,34 @@ msgstr "för många kommandoradsargument (första är \"%s\")" msgid "no data directory specified" msgstr "ingen datakatalog angiven" -#: pg_controldata.c:170 +#: pg_controldata.c:171 #, c-format -msgid "" -"WARNING: Calculated CRC checksum does not match value stored in file.\n" -"Either the file is corrupt, or it has a different layout than this program\n" -"is expecting. The results below are untrustworthy.\n" -"\n" -msgstr "" -"VARNING: Beräknad CRC-kontrollsumma matchar inte det värde som har sparats i filen.\n" -"Antingen är filen trasig, eller så har den en annan uppbyggnad än vad detta\n" -"program förväntade sig. Resultatet nedan är inte helt tillförlitligt.\n" -"\n" +msgid "calculated CRC checksum does not match value stored in control file" +msgstr "uträknad CRC-checksumma matchar inte värdet som är lagrat i kontrollfil" -#: pg_controldata.c:179 +#: pg_controldata.c:172 #, c-format -msgid "WARNING: invalid WAL segment size\n" -msgstr "VARNING: ogiltig WAL-segmentstorlek\n" +msgid "Either the control file is corrupt, or it has a different layout than this program is expecting. The results below are untrustworthy." +msgstr "Antingen är filen trasig, eller så har den en annan uppbyggnad än vad detta program förväntade sig. Resultatet nedan är inte helt tillförlitligt." -#: pg_controldata.c:180 +#: pg_controldata.c:181 #, c-format -msgid "" -"The WAL segment size stored in the file, %d byte, is not a power of two\n" -"between 1 MB and 1 GB. The file is corrupt and the results below are\n" -"untrustworthy.\n" -"\n" -msgid_plural "" -"The WAL segment size stored in the file, %d bytes, is not a power of two\n" -"between 1 MB and 1 GB. The file is corrupt and the results below are\n" -"untrustworthy.\n" -"\n" -msgstr[0] "" -"WAL-segmentstorleken sparad i filen, %d byte, är inte en tvåpotens\n" -"mellan 1 MB och 1 GB. Filen är trasig och resultatet nedan går\n" -"ej att lita på.\n" -"\n" -msgstr[1] "" -"WAL-segmentstorleken sparad i filen, %d byte, är inte en tvåpotens\n" -"mellan 1 MB och 1 GB. Filen är trasig och resultatet nedan går\n" -"ej att lita på.\n" -"\n" +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_controldata.c:185 +#, 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_controldata.c:186 +#, c-format +msgid "The file is corrupt and the results below are untrustworthy." +msgstr "Filen är trasig och resultatet nedan är inte helt tillförlitligt." -#: pg_controldata.c:222 +#: pg_controldata.c:221 msgid "???" msgstr "???" @@ -239,280 +236,280 @@ msgstr "???" # used for English is insufficient for Swedish. New indenting # is consistent for all reporting statements: six additional # space characters. -#: pg_controldata.c:228 +#: pg_controldata.c:227 #, c-format msgid "pg_control version number: %u\n" msgstr "Versionsnummer för pg_control: %u\n" -#: pg_controldata.c:230 +#: pg_controldata.c:229 #, c-format msgid "Catalog version number: %u\n" msgstr "Katalogversion: %u\n" -#: pg_controldata.c:232 +#: pg_controldata.c:231 #, c-format msgid "Database system identifier: %llu\n" msgstr "Databasens systemidentifierare: %llu\n" -#: pg_controldata.c:234 +#: pg_controldata.c:233 #, c-format msgid "Database cluster state: %s\n" msgstr "Databasklustrets tillstånd: %s\n" -#: pg_controldata.c:236 +#: pg_controldata.c:235 #, c-format msgid "pg_control last modified: %s\n" msgstr "pg_control ändrades senast: %s\n" -#: pg_controldata.c:238 +#: pg_controldata.c:237 #, c-format msgid "Latest checkpoint location: %X/%X\n" msgstr "Läge för senaste kontrollpunkt: %X/%X\n" -#: pg_controldata.c:240 +#: pg_controldata.c:239 #, c-format msgid "Latest checkpoint's REDO location: %X/%X\n" msgstr "REDO-läge för senaste kontrollpunkt: %X/%X\n" -#: pg_controldata.c:242 +#: pg_controldata.c:241 #, c-format msgid "Latest checkpoint's REDO WAL file: %s\n" msgstr "REDO-WAL-fil vid senaste kontrollpunkt: %s\n" -#: pg_controldata.c:244 +#: pg_controldata.c:243 #, c-format msgid "Latest checkpoint's TimeLineID: %u\n" msgstr "TimeLineID vid senaste kontrollpunkt: %u\n" -#: pg_controldata.c:246 +#: pg_controldata.c:245 #, c-format msgid "Latest checkpoint's PrevTimeLineID: %u\n" msgstr "PrevTimeLineID vid senaste kontrollpunkt: %u\n" -#: pg_controldata.c:248 +#: pg_controldata.c:247 #, c-format msgid "Latest checkpoint's full_page_writes: %s\n" msgstr "Senaste kontrollpunktens full_page_writes: %s\n" -#: pg_controldata.c:249 pg_controldata.c:290 pg_controldata.c:302 +#: pg_controldata.c:248 pg_controldata.c:289 pg_controldata.c:301 msgid "off" msgstr "av" -#: pg_controldata.c:249 pg_controldata.c:290 pg_controldata.c:302 +#: pg_controldata.c:248 pg_controldata.c:289 pg_controldata.c:301 msgid "on" msgstr "på" -#: pg_controldata.c:250 +#: pg_controldata.c:249 #, c-format msgid "Latest checkpoint's NextXID: %u:%u\n" msgstr "NextXID vid senaste kontrollpunkt: %u:%u\n" -#: pg_controldata.c:253 +#: pg_controldata.c:252 #, c-format msgid "Latest checkpoint's NextOID: %u\n" msgstr "NextOID vid senaste kontrollpunkt: %u\n" -#: pg_controldata.c:255 +#: pg_controldata.c:254 #, c-format msgid "Latest checkpoint's NextMultiXactId: %u\n" msgstr "NextMultiXactId vid senaste kontrollpunkt: %u\n" -#: pg_controldata.c:257 +#: pg_controldata.c:256 #, c-format msgid "Latest checkpoint's NextMultiOffset: %u\n" msgstr "NextMultiOffset vid senaste kontrollpunkt: %u\n" -#: pg_controldata.c:259 +#: pg_controldata.c:258 #, c-format msgid "Latest checkpoint's oldestXID: %u\n" msgstr "oldestXID vid senaste kontrollpunkt: %u\n" -#: pg_controldata.c:261 +#: pg_controldata.c:260 #, c-format msgid "Latest checkpoint's oldestXID's DB: %u\n" msgstr "DB för oldestXID vid senaste kontrollpunkt: %u\n" -#: pg_controldata.c:263 +#: pg_controldata.c:262 #, c-format msgid "Latest checkpoint's oldestActiveXID: %u\n" msgstr "oldestActiveXID vid senaste kontrollpunkt: %u\n" -#: pg_controldata.c:265 +#: pg_controldata.c:264 #, c-format msgid "Latest checkpoint's oldestMultiXid: %u\n" msgstr "oldestMultiXid vid senaste kontrollpunkt: %u\n" -#: pg_controldata.c:267 +#: pg_controldata.c:266 #, c-format msgid "Latest checkpoint's oldestMulti's DB: %u\n" msgstr "DB för oldestMulti vid senaste kontrollpkt: %u\n" -#: pg_controldata.c:269 +#: pg_controldata.c:268 #, c-format msgid "Latest checkpoint's oldestCommitTsXid:%u\n" msgstr "oldestCommitTsXid vid senaste kontrollpunkt:%u\n" -#: pg_controldata.c:271 +#: pg_controldata.c:270 #, c-format msgid "Latest checkpoint's newestCommitTsXid:%u\n" msgstr "newestCommitTsXid vid senaste kontrollpunkt:%u\n" -#: pg_controldata.c:273 +#: pg_controldata.c:272 #, c-format msgid "Time of latest checkpoint: %s\n" msgstr "Tidpunkt för senaste kontrollpunkt: %s\n" -#: pg_controldata.c:275 +#: pg_controldata.c:274 #, c-format msgid "Fake LSN counter for unlogged rels: %X/%X\n" msgstr "Beräknat LSN-tal av ologgade relationer: %X/%X\n" -#: pg_controldata.c:277 +#: pg_controldata.c:276 #, c-format msgid "Minimum recovery ending location: %X/%X\n" msgstr "Minsta slutposition vid återställning: %X/%X\n" -#: pg_controldata.c:279 +#: pg_controldata.c:278 #, c-format msgid "Min recovery ending loc's timeline: %u\n" msgstr "Tidslinje för min slutpos vid återställning:%u\n" -#: pg_controldata.c:281 +#: pg_controldata.c:280 #, c-format msgid "Backup start location: %X/%X\n" msgstr "Startpunkt för backup: %X/%X\n" -#: pg_controldata.c:283 +#: pg_controldata.c:282 #, c-format msgid "Backup end location: %X/%X\n" msgstr "Slutpunkt för backup: %X/%X\n" -#: pg_controldata.c:285 +#: pg_controldata.c:284 #, c-format msgid "End-of-backup record required: %s\n" msgstr "Tvingande markering av backupslut: %s\n" -#: pg_controldata.c:286 +#: pg_controldata.c:285 msgid "no" msgstr "nej" -#: pg_controldata.c:286 +#: pg_controldata.c:285 msgid "yes" msgstr "ja" -#: pg_controldata.c:287 +#: pg_controldata.c:286 #, c-format msgid "wal_level setting: %s\n" msgstr "Värde på wal_level: %s\n" -#: pg_controldata.c:289 +#: pg_controldata.c:288 #, c-format msgid "wal_log_hints setting: %s\n" msgstr "Värde på wal_log_hints: %s\n" -#: pg_controldata.c:291 +#: pg_controldata.c:290 #, c-format msgid "max_connections setting: %d\n" msgstr "Värde på max_connections: %d\n" -#: pg_controldata.c:293 +#: pg_controldata.c:292 #, c-format msgid "max_worker_processes setting: %d\n" msgstr "Värde på max_worker_processes: %d\n" -#: pg_controldata.c:295 +#: pg_controldata.c:294 #, c-format msgid "max_wal_senders setting: %d\n" msgstr "Värde på max_wal_senders setting %d\n" -#: pg_controldata.c:297 +#: pg_controldata.c:296 #, c-format msgid "max_prepared_xacts setting: %d\n" msgstr "Värde på max_prepared_xacts: %d\n" -#: pg_controldata.c:299 +#: pg_controldata.c:298 #, c-format msgid "max_locks_per_xact setting: %d\n" msgstr "Nuvarande max_locks_per_xact: %d\n" -#: pg_controldata.c:301 +#: pg_controldata.c:300 #, c-format msgid "track_commit_timestamp setting: %s\n" msgstr "Värde på track_commit_timestamp: %s\n" -#: pg_controldata.c:303 +#: pg_controldata.c:302 #, c-format msgid "Maximum data alignment: %u\n" msgstr "Maximal jämkning av data (alignment): %u\n" -#: pg_controldata.c:306 +#: pg_controldata.c:305 #, c-format msgid "Database block size: %u\n" msgstr "Databasens blockstorlek: %u\n" -#: pg_controldata.c:308 +#: pg_controldata.c:307 #, c-format msgid "Blocks per segment of large relation: %u\n" msgstr "Block per segment i en stor relation: %u\n" -#: pg_controldata.c:310 +#: pg_controldata.c:309 #, c-format msgid "WAL block size: %u\n" msgstr "Blockstorlek i transaktionsloggen: %u\n" -#: pg_controldata.c:312 +#: pg_controldata.c:311 #, c-format msgid "Bytes per WAL segment: %u\n" msgstr "Segmentstorlek i transaktionsloggen: %u\n" -#: pg_controldata.c:314 +#: pg_controldata.c:313 #, c-format msgid "Maximum length of identifiers: %u\n" msgstr "Maximal längd för identifierare: %u\n" -#: pg_controldata.c:316 +#: pg_controldata.c:315 #, c-format msgid "Maximum columns in an index: %u\n" msgstr "Maximalt antal kolonner i ett index: %u\n" -#: pg_controldata.c:318 +#: pg_controldata.c:317 #, c-format msgid "Maximum size of a TOAST chunk: %u\n" msgstr "Maximal storlek för en TOAST-enhet: %u\n" -#: pg_controldata.c:320 +#: pg_controldata.c:319 #, c-format msgid "Size of a large-object chunk: %u\n" msgstr "Storlek för large-object-enheter: %u\n" -#: pg_controldata.c:323 +#: pg_controldata.c:322 #, c-format msgid "Date/time type storage: %s\n" msgstr "Representation av dag och tid: %s\n" -#: pg_controldata.c:324 +#: pg_controldata.c:323 msgid "64-bit integers" msgstr "64-bitars heltal" -#: pg_controldata.c:325 +#: pg_controldata.c:324 #, c-format msgid "Float8 argument passing: %s\n" msgstr "Överföring av float8-argument: %s\n" -#: pg_controldata.c:326 +#: pg_controldata.c:325 msgid "by reference" msgstr "med referens" -#: pg_controldata.c:326 +#: pg_controldata.c:325 msgid "by value" msgstr "med värde" -#: pg_controldata.c:327 +#: pg_controldata.c:326 #, c-format msgid "Data page checksum version: %u\n" msgstr "Checksummaversion för datasidor: %u\n" -#: pg_controldata.c:329 +#: pg_controldata.c:328 #, c-format msgid "Mock authentication nonce: %s\n" msgstr "Fejkat authentiseringsvärde: %s\n" diff --git a/src/bin/pg_controldata/po/uk.po b/src/bin/pg_controldata/po/uk.po index 758c4c1245e..c2b2e3217f1 100644 --- a/src/bin/pg_controldata/po/uk.po +++ b/src/bin/pg_controldata/po/uk.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: postgresql\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-08-12 10:51+0000\n" -"PO-Revision-Date: 2022-09-13 11:52\n" +"POT-Creation-Date: 2024-08-31 06:24+0000\n" +"PO-Revision-Date: 2024-09-23 19:38\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -14,34 +14,34 @@ msgstr "" "X-Crowdin-Project: postgresql\n" "X-Crowdin-Project-ID: 324573\n" "X-Crowdin-Language: uk\n" -"X-Crowdin-File: /REL_15_STABLE/pg_controldata.pot\n" -"X-Crowdin-File-ID: 924\n" +"X-Crowdin-File: /REL_17_STABLE/pg_controldata.pot\n" +"X-Crowdin-File-ID: 1018\n" -#: ../../common/controldata_utils.c:73 +#: ../../common/controldata_utils.c:97 #, c-format msgid "could not open file \"%s\" for reading: %m" msgstr "не вдалося відкрити файл \"%s\" для читання: %m" -#: ../../common/controldata_utils.c:86 +#: ../../common/controldata_utils.c:110 #, c-format msgid "could not read file \"%s\": %m" msgstr "не вдалося прочитати файл \"%s\": %m" -#: ../../common/controldata_utils.c:95 +#: ../../common/controldata_utils.c:119 #, c-format msgid "could not read file \"%s\": read %d of %zu" msgstr "не вдалося прочитати файл \"%s\": прочитано %d з %zu" -#: ../../common/controldata_utils.c:108 ../../common/controldata_utils.c:244 +#: ../../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:124 +#: ../../common/controldata_utils.c:168 msgid "byte ordering mismatch" msgstr "неправильний порядок байтів" -#: ../../common/controldata_utils.c:126 +#: ../../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" @@ -50,21 +50,32 @@ msgid "possible byte ordering mismatch\n" msgstr "можлива помилка у послідовності байтів.\n" "Порядок байтів, що використовують для зберігання файлу pg_control, може не відповідати тому, який використовується цією програмою. У такому випадку результати нижче будуть неправильним, і інсталяція PostgreSQL буде несумісною з цим каталогом даних." -#: ../../common/controldata_utils.c:194 +#: ../../common/controldata_utils.c:230 #, c-format msgid "could not open file \"%s\": %m" msgstr "не можливо відкрити файл \"%s\": %m" -#: ../../common/controldata_utils.c:213 +#: ../../common/controldata_utils.c:249 #, c-format msgid "could not write file \"%s\": %m" msgstr "не вдалося записати файл \"%s\": %m" -#: ../../common/controldata_utils.c:232 +#: ../../common/controldata_utils.c:268 #, c-format msgid "could not fsync file \"%s\": %m" msgstr "не вдалося fsync файл \"%s\": %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 "неможливо дублювати нульовий покажчик (внутрішня помилка)\n" + #: pg_controldata.c:35 #, c-format msgid "%s displays control information of a PostgreSQL database cluster.\n\n" @@ -153,8 +164,8 @@ msgid "unrecognized status code" msgstr "невизнаний код статусу" #: pg_controldata.c:84 -msgid "unrecognized wal_level" -msgstr "невизнаний wal_рівень" +msgid "unrecognized \"wal_level\"" +msgstr "нерозпізнано \"wal_level\"" #: pg_controldata.c:138 pg_controldata.c:156 pg_controldata.c:163 #, c-format @@ -171,309 +182,313 @@ msgstr "забагато аргументів у командному рядку msgid "no data directory specified" msgstr "каталог даних не вказано" -#: pg_controldata.c:170 +#: pg_controldata.c:171 +#, c-format +msgid "calculated CRC checksum does not match value stored in control file" +msgstr "обчислена контрольна сума CRC не збігається зі значенням, що зберігається в контрольному файлі" + +#: pg_controldata.c:172 #, c-format -msgid "WARNING: Calculated CRC checksum does not match value stored in file.\n" -"Either the file is corrupt, or it has a different layout than this program\n" -"is expecting. The results below are untrustworthy.\n\n" -msgstr "ПОПЕРЕДЖЕННЯ: Контрольна сума CRC не відповідає збереженому значенню у файлі. Або файл пошкоджено, або він містить іншу структуру, ніж очікує ця програма. Результати нижче є недостовірними.\n\n" +msgid "Either the control file is corrupt, or it has a different layout than this program is expecting. The results below are untrustworthy." +msgstr "Або контрольний файл пошкоджено, або він має іншу структуру, ніж очікує ця програма. Наведені нижче результати не заслуговують на довіру." -#: pg_controldata.c:179 +#: pg_controldata.c:181 #, c-format -msgid "WARNING: invalid WAL segment size\n" -msgstr "ПОПЕРЕДЖЕННЯ: неправильний розмір WAL сегменту \n" +msgid "invalid WAL segment size in control file (%d byte)" +msgid_plural "invalid WAL segment size in control file (%d bytes)" +msgstr[0] "невірний розмір сегменту WAL у файлі керування (%d байт)" +msgstr[1] "невірний розмір сегмента WAL у файлі керування (%d байтів)" +msgstr[2] "невірний розмір сегмента WAL у файлі керування (%d байтів)" +msgstr[3] "невірний розмір сегмента WAL у файлі керування (%d байтів)" -#: pg_controldata.c:180 +#: pg_controldata.c:185 #, c-format -msgid "The WAL segment size stored in the file, %d byte, is not a power of two\n" -"between 1 MB and 1 GB. The file is corrupt and the results below are\n" -"untrustworthy.\n\n" -msgid_plural "The WAL segment size stored in the file, %d bytes, is not a power of two\n" -"between 1 MB and 1 GB. The file is corrupt and the results below are\n" -"untrustworthy.\n\n" -msgstr[0] "Розмір WAL сегменту збережений у файлі, %d байт, не є степенем двійки між 1 MB та 1 GB. Файл пошкоджено та результати нижче є недостовірними.\n\n" -msgstr[1] "Розмір WAL сегменту збережений у файлі, %d байтів, не є степенем двійки між 1 MB та 1 GB. Файл пошкоджено та результати нижче є недостовірними.\n\n" -msgstr[2] "Розмір WAL сегменту збережений у файлі, %d байтів, не є степенем двійки між 1 MB та 1 GB. Файл пошкоджено та результати нижче є недостовірними.\n\n" -msgstr[3] "Розмір WAL сегменту збережений у файлі, %d байта, не є степенем двійки між 1 MB та 1 GB. Файл пошкоджено та результати нижче є недостовірними.\n\n" +msgid "The WAL segment size must be a power of two between 1 MB and 1 GB." +msgstr "Розмір сегмента WAL повинен бути степенем двійки від 1 МБ до 1 ГБ." -#: pg_controldata.c:222 +#: pg_controldata.c:186 +#, c-format +msgid "The file is corrupt and the results below are untrustworthy." +msgstr "Файл пошкоджено, і наведені нижче результати не заслуговують на довіру." + +#: pg_controldata.c:221 msgid "???" msgstr "???" -#: pg_controldata.c:228 +#: pg_controldata.c:227 #, c-format msgid "pg_control version number: %u\n" msgstr "pg_control номер версії: %u\n" -#: pg_controldata.c:230 +#: pg_controldata.c:229 #, c-format msgid "Catalog version number: %u\n" msgstr "Номер версії каталогу: %u\n" -#: pg_controldata.c:232 +#: pg_controldata.c:231 #, c-format msgid "Database system identifier: %llu\n" msgstr "Системний ідентифікатор бази даних: %llu\n" -#: pg_controldata.c:234 +#: pg_controldata.c:233 #, c-format msgid "Database cluster state: %s\n" msgstr "Стан кластеру бази даних: %s\n" -#: pg_controldata.c:236 +#: pg_controldata.c:235 #, c-format msgid "pg_control last modified: %s\n" msgstr "pg_control був модифікований востаннє: %s\n" -#: pg_controldata.c:238 +#: pg_controldata.c:237 #, c-format msgid "Latest checkpoint location: %X/%X\n" msgstr "Останнє місце знаходження контрольної точки: %X/%X\n" -#: pg_controldata.c:240 +#: pg_controldata.c:239 #, c-format msgid "Latest checkpoint's REDO location: %X/%X\n" msgstr "Розташування останньої контрольної точки: %X%X\n" -#: pg_controldata.c:242 +#: pg_controldata.c:241 #, c-format msgid "Latest checkpoint's REDO WAL file: %s\n" msgstr "Останній файл контрольної точки REDO WAL: %s\n" -#: pg_controldata.c:244 +#: pg_controldata.c:243 #, c-format msgid "Latest checkpoint's TimeLineID: %u\n" msgstr "Останній TimeLineID контрольної точки: %u\n" -#: pg_controldata.c:246 +#: pg_controldata.c:245 #, c-format msgid "Latest checkpoint's PrevTimeLineID: %u\n" msgstr "Останній PrevTimeLineID контрольної точки: %u\n" -#: pg_controldata.c:248 +#: pg_controldata.c:247 #, c-format msgid "Latest checkpoint's full_page_writes: %s\n" msgstr "Останній full_page_writes контрольної точки: %s\n" -#: pg_controldata.c:249 pg_controldata.c:290 pg_controldata.c:302 +#: pg_controldata.c:248 pg_controldata.c:289 pg_controldata.c:301 msgid "off" msgstr "вимк" -#: pg_controldata.c:249 pg_controldata.c:290 pg_controldata.c:302 +#: pg_controldata.c:248 pg_controldata.c:289 pg_controldata.c:301 msgid "on" msgstr "увімк" -#: pg_controldata.c:250 +#: pg_controldata.c:249 #, c-format msgid "Latest checkpoint's NextXID: %u:%u\n" msgstr "Останній NextXID контрольної точки: %u%u\n" -#: pg_controldata.c:253 +#: pg_controldata.c:252 #, c-format msgid "Latest checkpoint's NextOID: %u\n" msgstr "Останній NextOID контрольної точки: %u\n" -#: pg_controldata.c:255 +#: pg_controldata.c:254 #, c-format msgid "Latest checkpoint's NextMultiXactId: %u\n" msgstr "Останній NextMultiXactId контрольної точки: %u\n" -#: pg_controldata.c:257 +#: pg_controldata.c:256 #, c-format msgid "Latest checkpoint's NextMultiOffset: %u\n" msgstr "Останній NextMultiOffset контрольної точки: %u\n" -#: pg_controldata.c:259 +#: pg_controldata.c:258 #, c-format msgid "Latest checkpoint's oldestXID: %u\n" msgstr "Останній oldestXID контрольної точки: %u\n" -#: pg_controldata.c:261 +#: pg_controldata.c:260 #, c-format msgid "Latest checkpoint's oldestXID's DB: %u\n" msgstr "Остання DB останнього oldestXID контрольної точки: %u\n" -#: pg_controldata.c:263 +#: pg_controldata.c:262 #, c-format msgid "Latest checkpoint's oldestActiveXID: %u\n" msgstr "Останній oldestActiveXID контрольної точки: %u\n" -#: pg_controldata.c:265 +#: pg_controldata.c:264 #, c-format msgid "Latest checkpoint's oldestMultiXid: %u\n" msgstr "Останній oldestMultiXid контрольної точки: %u \n" -#: pg_controldata.c:267 +#: pg_controldata.c:266 #, c-format msgid "Latest checkpoint's oldestMulti's DB: %u\n" msgstr "Остання DB останньої oldestMulti контрольної точки: %u\n" -#: pg_controldata.c:269 +#: pg_controldata.c:268 #, c-format msgid "Latest checkpoint's oldestCommitTsXid:%u\n" msgstr "Останній oldestCommitTsXid контрольної точки:%u\n" -#: pg_controldata.c:271 +#: pg_controldata.c:270 #, c-format msgid "Latest checkpoint's newestCommitTsXid:%u\n" msgstr "Останній newestCommitTsXid контрольної точки: %u\n" -#: pg_controldata.c:273 +#: pg_controldata.c:272 #, c-format msgid "Time of latest checkpoint: %s\n" msgstr "Час останньої контрольної точки: %s\n" -#: pg_controldata.c:275 +#: pg_controldata.c:274 #, c-format msgid "Fake LSN counter for unlogged rels: %X/%X\n" msgstr "Фіктивний LSN для таблиць без журналювання: %X/%X\n" -#: pg_controldata.c:277 +#: pg_controldata.c:276 #, c-format msgid "Minimum recovery ending location: %X/%X\n" msgstr "Мінімальне розташування кінця відновлення: %X/%X\n" -#: pg_controldata.c:279 +#: pg_controldata.c:278 #, c-format msgid "Min recovery ending loc's timeline: %u\n" msgstr "Мінімальна позиція історії часу завершення відновлення: %u\n" -#: pg_controldata.c:281 +#: pg_controldata.c:280 #, c-format msgid "Backup start location: %X/%X\n" msgstr "Початкове розташування резервного копіювання: %X/%X\n" -#: pg_controldata.c:283 +#: pg_controldata.c:282 #, c-format msgid "Backup end location: %X/%X\n" msgstr "Кінцеве розташування резервного копіювання: %X/%X\n" -#: pg_controldata.c:285 +#: pg_controldata.c:284 #, c-format msgid "End-of-backup record required: %s\n" msgstr "Вимагається запис кінця резервного копіювання: %s\n" -#: pg_controldata.c:286 +#: pg_controldata.c:285 msgid "no" msgstr "ні" -#: pg_controldata.c:286 +#: pg_controldata.c:285 msgid "yes" msgstr "так" -#: pg_controldata.c:287 +#: pg_controldata.c:286 #, c-format msgid "wal_level setting: %s\n" msgstr "налаштування wal_рівня: %s\n" -#: pg_controldata.c:289 +#: pg_controldata.c:288 #, c-format msgid "wal_log_hints setting: %s\n" msgstr "налаштування wal_log_hints: %s\n" -#: pg_controldata.c:291 +#: pg_controldata.c:290 #, c-format msgid "max_connections setting: %d\n" msgstr "налаштування max_connections: %d\n" -#: pg_controldata.c:293 +#: pg_controldata.c:292 #, c-format msgid "max_worker_processes setting: %d\n" msgstr "налаштування max_worker_processes: %d\n" -#: pg_controldata.c:295 +#: pg_controldata.c:294 #, c-format msgid "max_wal_senders setting: %d\n" msgstr "налаштування max_wal_senders: %d\n" -#: pg_controldata.c:297 +#: pg_controldata.c:296 #, c-format msgid "max_prepared_xacts setting: %d\n" msgstr "налаштування max_prepared_xacts: %d\n" -#: pg_controldata.c:299 +#: pg_controldata.c:298 #, c-format msgid "max_locks_per_xact setting: %d\n" msgstr "налаштування max_locks_per_xact: %d\n" -#: pg_controldata.c:301 +#: pg_controldata.c:300 #, c-format msgid "track_commit_timestamp setting: %s\n" msgstr "налаштування track_commit_timestamp: %s\n" -#: pg_controldata.c:303 +#: pg_controldata.c:302 #, c-format msgid "Maximum data alignment: %u\n" msgstr "Максимальне вирівнювання даних: %u\n" -#: pg_controldata.c:306 +#: pg_controldata.c:305 #, c-format msgid "Database block size: %u\n" msgstr "Розмір блоку бази даних: %u\n" -#: pg_controldata.c:308 +#: pg_controldata.c:307 #, c-format msgid "Blocks per segment of large relation: %u\n" msgstr "Блоків на сегмент великого відношення: %u\n" -#: pg_controldata.c:310 +#: pg_controldata.c:309 #, c-format msgid "WAL block size: %u\n" msgstr "Pозмір блоку WAL: %u\n" -#: pg_controldata.c:312 +#: pg_controldata.c:311 #, c-format msgid "Bytes per WAL segment: %u\n" msgstr "Байтів на сегмент WAL: %u\n" -#: pg_controldata.c:314 +#: pg_controldata.c:313 #, c-format msgid "Maximum length of identifiers: %u\n" msgstr "Максимальна довжина ідентифікаторів: %u\n" -#: pg_controldata.c:316 +#: pg_controldata.c:315 #, c-format msgid "Maximum columns in an index: %u\n" msgstr "Максимальна кількість стовпців в індексі: %u\n" -#: pg_controldata.c:318 +#: pg_controldata.c:317 #, c-format msgid "Maximum size of a TOAST chunk: %u\n" msgstr "Максимальний розмір сегменту TOAST: %u\n" -#: pg_controldata.c:320 +#: pg_controldata.c:319 #, c-format msgid "Size of a large-object chunk: %u\n" msgstr "Розмір сегменту великих обїєктів: %u\n" -#: pg_controldata.c:323 +#: pg_controldata.c:322 #, c-format msgid "Date/time type storage: %s\n" msgstr "Дата/час типу сховища: %s\n" -#: pg_controldata.c:324 +#: pg_controldata.c:323 msgid "64-bit integers" msgstr "64-бітні цілі" -#: pg_controldata.c:325 +#: pg_controldata.c:324 #, c-format msgid "Float8 argument passing: %s\n" msgstr "Передача аргументу Float8: %s\n" -#: pg_controldata.c:326 +#: pg_controldata.c:325 msgid "by reference" msgstr "за посиланням" -#: pg_controldata.c:326 +#: pg_controldata.c:325 msgid "by value" msgstr "за значенням" -#: pg_controldata.c:327 +#: pg_controldata.c:326 #, c-format msgid "Data page checksum version: %u\n" msgstr "Версія контрольних сум сторінок даних: %u\n" -#: pg_controldata.c:329 +#: pg_controldata.c:328 #, c-format msgid "Mock authentication nonce: %s\n" msgstr "Імітувати нонс для аутентифікації: %s\n" diff --git a/src/bin/pg_controldata/po/zh_TW.po b/src/bin/pg_controldata/po/zh_TW.po index 450aec76ce0..b9ffb5669ac 100644 --- a/src/bin/pg_controldata/po/zh_TW.po +++ b/src/bin/pg_controldata/po/zh_TW.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: pg_controldata (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2023-09-08 21:52+0000\n" -"PO-Revision-Date: 2023-11-06 08:49+0800\n" +"PO-Revision-Date: 2024-06-26 08:37+0200\n" "Last-Translator: Zhenbang Wei \n" "Language-Team: \n" "Language: zh_TW\n" @@ -382,7 +382,7 @@ msgstr "最新檢查點的時間: %s\n" #: pg_controldata.c:275 #, c-format msgid "Fake LSN counter for unlogged rels: %X/%X\n" -msgstr "無日誌關聯的虛擬 LSN 計數: %X/%X\n" +msgstr "無日誌關聯的虛擬 LSN 計數: %X/%X\n" #: pg_controldata.c:277 #, c-format @@ -484,7 +484,7 @@ msgstr "資料庫區塊大小: %u\n" #: pg_controldata.c:308 #, c-format msgid "Blocks per segment of large relation: %u\n" -msgstr "大型關聯每個片段的區塊數: %u\n" +msgstr "大型關聯每個片段的區塊數: %u\n" #: pg_controldata.c:310 #, c-format diff --git a/src/bin/pg_ctl/pg_ctl.c b/src/bin/pg_ctl/pg_ctl.c index 57ed8c8e294..ed97eb3f504 100644 --- a/src/bin/pg_ctl/pg_ctl.c +++ b/src/bin/pg_ctl/pg_ctl.c @@ -617,7 +617,7 @@ wait_for_postmaster_start(pid_t pm_pid, bool do_checkpoint) * Allow 2 seconds slop for possible cross-process clock skew. */ pmpid = atol(optlines[LOCK_FILE_LINE_PID - 1]); - pmstart = atol(optlines[LOCK_FILE_LINE_START_TIME - 1]); + pmstart = atoll(optlines[LOCK_FILE_LINE_START_TIME - 1]); if (pmstart >= start_time - 2 && #ifndef WIN32 pmpid == pm_pid diff --git a/src/bin/pg_ctl/po/es.po b/src/bin/pg_ctl/po/es.po index ea82807aee7..5eecdddd074 100644 --- a/src/bin/pg_ctl/po/es.po +++ b/src/bin/pg_ctl/po/es.po @@ -11,8 +11,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_ctl (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-05-22 07:18+0000\n" -"PO-Revision-Date: 2023-05-22 12:05+0200\n" +"POT-Creation-Date: 2024-08-01 11:20+0000\n" +"PO-Revision-Date: 2024-08-02 14:19-0400\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" "Language: es\n" @@ -21,38 +21,57 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 2.4.2\n" -#: ../../common/exec.c:172 +#: ../../common/controldata_utils.c:168 +msgid "byte ordering mismatch" +msgstr "discordancia en orden de bytes" + +#: ../../common/exec.c:174 #, c-format msgid "invalid binary \"%s\": %m" msgstr "binario «%s» no válido: %m" -#: ../../common/exec.c:215 +#: ../../common/exec.c:217 #, c-format msgid "could not read binary \"%s\": %m" msgstr "no se pudo leer el binario «%s»: %m" -#: ../../common/exec.c:223 +#: ../../common/exec.c:225 #, c-format msgid "could not find a \"%s\" to execute" msgstr "no se pudo encontrar un «%s» para ejecutar" -#: ../../common/exec.c:250 +#: ../../common/exec.c:252 #, c-format msgid "could not resolve path \"%s\" to absolute form: %m" msgstr "no se pudo resolver la ruta «%s» a forma absoluta: %m" -#: ../../common/exec.c:412 +#: ../../common/exec.c:382 +#, c-format +msgid "could not execute command \"%s\": %m" +msgstr "no se pudo ejecutar la orden «%s»: %m" + +#: ../../common/exec.c:394 +#, c-format +msgid "could not read from command \"%s\": %m" +msgstr "no se pudo leer desde la orden «%s»: %m" + +#: ../../common/exec.c:397 +#, c-format +msgid "no data was returned by command \"%s\"" +msgstr "la orden «%s» no retornó datos" + +#: ../../common/exec.c:424 #, c-format msgid "%s() failed: %m" msgstr "%s() falló: %m" -#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687 +#: ../../common/exec.c:562 ../../common/exec.c:607 ../../common/exec.c:699 msgid "out of memory" msgstr "memoria agotada" #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 #: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 -#: ../../port/path.c:753 ../../port/path.c:791 ../../port/path.c:808 +#: ../../port/path.c:753 ../../port/path.c:790 ../../port/path.c:807 #, c-format msgid "out of memory\n" msgstr "memoria agotada\n" @@ -94,123 +113,123 @@ msgstr "el proceso hijo terminó con código no reconocido %d" #: ../../port/path.c:775 #, c-format -msgid "could not get current working directory: %s\n" -msgstr "no se pudo obtener el directorio de trabajo actual: %s\n" +msgid "could not get current working directory: %m\n" +msgstr "no se pudo obtener el directorio de trabajo actual: %m\n" -#: pg_ctl.c:255 +#: pg_ctl.c:254 #, c-format msgid "%s: directory \"%s\" does not exist\n" msgstr "%s: el directorio «%s» no existe\n" -#: pg_ctl.c:258 +#: pg_ctl.c:257 #, c-format -msgid "%s: could not access directory \"%s\": %s\n" -msgstr "%s: no se pudo acceder al directorio «%s»: %s\n" +msgid "%s: could not access directory \"%s\": %m\n" +msgstr "%s: no se pudo acceder al directorio «%s»: %m\n" -#: pg_ctl.c:271 +#: pg_ctl.c:270 #, c-format msgid "%s: directory \"%s\" is not a database cluster directory\n" msgstr "%s: el directorio «%s» no es un directorio de base de datos\n" -#: pg_ctl.c:284 +#: pg_ctl.c:283 #, c-format -msgid "%s: could not open PID file \"%s\": %s\n" -msgstr "%s: no se pudo abrir el archivo de PID «%s»: %s\n" +msgid "%s: could not open PID file \"%s\": %m\n" +msgstr "%s: no se pudo abrir el archivo de PID «%s»: %m\n" -#: pg_ctl.c:293 +#: pg_ctl.c:292 #, c-format msgid "%s: the PID file \"%s\" is empty\n" msgstr "%s: el archivo de PID «%s» está vacío\n" -#: pg_ctl.c:296 +#: pg_ctl.c:295 #, c-format msgid "%s: invalid data in PID file \"%s\"\n" msgstr "%s: datos no válidos en archivo de PID «%s»\n" -#: pg_ctl.c:458 pg_ctl.c:500 +#: pg_ctl.c:457 pg_ctl.c:499 #, c-format -msgid "%s: could not start server: %s\n" -msgstr "%s: no se pudo iniciar el servidor: %s\n" +msgid "%s: could not start server: %m\n" +msgstr "%s: no se pudo iniciar el servidor: %m\n" -#: pg_ctl.c:478 +#: pg_ctl.c:477 #, c-format -msgid "%s: could not start server due to setsid() failure: %s\n" -msgstr "%s: no se pudo iniciar el servidor debido a falla en setsid(): %s\n" +msgid "%s: could not start server due to setsid() failure: %m\n" +msgstr "%s: no se pudo iniciar el servidor debido a falla en setsid(): %m\n" -#: pg_ctl.c:548 +#: pg_ctl.c:547 #, c-format -msgid "%s: could not open log file \"%s\": %s\n" -msgstr "%s: no se pudo abrir el archivo de log «%s»: %s\n" +msgid "%s: could not open log file \"%s\": %m\n" +msgstr "%s: no se pudo abrir el archivo de log «%s»: %m\n" -#: pg_ctl.c:565 +#: pg_ctl.c:564 #, c-format msgid "%s: could not start server: error code %lu\n" msgstr "%s: no se pudo iniciar el servidor: código de error %lu\n" -#: pg_ctl.c:782 +#: pg_ctl.c:781 #, c-format msgid "%s: cannot set core file size limit; disallowed by hard limit\n" msgstr "" "%s: no se puede establecer el límite de archivos de volcado;\n" "impedido por un límite duro\n" -#: pg_ctl.c:808 +#: pg_ctl.c:807 #, c-format msgid "%s: could not read file \"%s\"\n" msgstr "%s: no se pudo leer el archivo «%s»\n" -#: pg_ctl.c:813 +#: pg_ctl.c:812 #, c-format msgid "%s: option file \"%s\" must have exactly one line\n" msgstr "%s: archivo de opciones «%s» debe tener exactamente una línea\n" -#: pg_ctl.c:855 pg_ctl.c:1039 pg_ctl.c:1107 +#: pg_ctl.c:854 pg_ctl.c:1038 pg_ctl.c:1105 #, c-format -msgid "%s: could not send stop signal (PID: %d): %s\n" -msgstr "%s: falló la señal de detención (PID: %d): %s\n" +msgid "%s: could not send stop signal (PID: %d): %m\n" +msgstr "%s: falló la señal de detención (PID: %d): %m\n" -#: pg_ctl.c:883 +#: pg_ctl.c:882 #, c-format msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"\n" msgstr "el programa «%s» es requerido por %s, pero no fue encontrado en el mismo directorio que «%s»\n" -#: pg_ctl.c:886 +#: pg_ctl.c:885 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s\n" msgstr "El programa «%s» fue encontrado por «%s», pero no es de la misma versión que %s\n" -#: pg_ctl.c:918 +#: pg_ctl.c:917 #, c-format msgid "%s: database system initialization failed\n" msgstr "%s: falló la creación de la base de datos\n" -#: pg_ctl.c:933 +#: pg_ctl.c:932 #, c-format msgid "%s: another server might be running; trying to start server anyway\n" msgstr "%s: otro servidor puede estar en ejecución; tratando de iniciarlo de todas formas.\n" -#: pg_ctl.c:981 +#: pg_ctl.c:980 msgid "waiting for server to start..." msgstr "esperando que el servidor se inicie..." -#: pg_ctl.c:986 pg_ctl.c:1063 pg_ctl.c:1126 pg_ctl.c:1238 +#: pg_ctl.c:985 pg_ctl.c:1061 pg_ctl.c:1123 pg_ctl.c:1235 msgid " done\n" msgstr " listo\n" -#: pg_ctl.c:987 +#: pg_ctl.c:986 msgid "server started\n" msgstr "servidor iniciado\n" -#: pg_ctl.c:990 pg_ctl.c:996 pg_ctl.c:1243 +#: pg_ctl.c:989 pg_ctl.c:995 pg_ctl.c:1240 msgid " stopped waiting\n" msgstr " abandonando la espera\n" -#: pg_ctl.c:991 +#: pg_ctl.c:990 #, c-format msgid "%s: server did not start in time\n" msgstr "%s: el servidor no inició a tiempo\n" -#: pg_ctl.c:997 +#: pg_ctl.c:996 #, c-format msgid "" "%s: could not start server\n" @@ -219,44 +238,42 @@ msgstr "" "%s: no se pudo iniciar el servidor.\n" "Examine el registro del servidor.\n" -#: pg_ctl.c:1005 +#: pg_ctl.c:1004 msgid "server starting\n" msgstr "servidor iniciándose\n" -#: pg_ctl.c:1024 pg_ctl.c:1083 pg_ctl.c:1147 pg_ctl.c:1186 pg_ctl.c:1267 +#: pg_ctl.c:1023 pg_ctl.c:1081 pg_ctl.c:1144 pg_ctl.c:1183 pg_ctl.c:1264 #, c-format msgid "%s: PID file \"%s\" does not exist\n" msgstr "%s: el archivo de PID «%s» no existe\n" -#: pg_ctl.c:1025 pg_ctl.c:1085 pg_ctl.c:1148 pg_ctl.c:1187 pg_ctl.c:1268 +#: pg_ctl.c:1024 pg_ctl.c:1083 pg_ctl.c:1145 pg_ctl.c:1184 pg_ctl.c:1265 msgid "Is server running?\n" msgstr "¿Está el servidor en ejecución?\n" -#: pg_ctl.c:1031 +#: pg_ctl.c:1030 #, c-format msgid "%s: cannot stop server; single-user server is running (PID: %d)\n" -msgstr "" -"%s: no se puede detener el servidor;\n" -"un servidor en modo mono-usuario está en ejecución (PID: %d)\n" +msgstr "%s: no se puede detener el servidor; un servidor en modo mono-usuario está en ejecución (PID: %d)\n" -#: pg_ctl.c:1046 +#: pg_ctl.c:1044 msgid "server shutting down\n" msgstr "servidor deteniéndose\n" -#: pg_ctl.c:1051 pg_ctl.c:1112 +#: pg_ctl.c:1049 pg_ctl.c:1109 msgid "waiting for server to shut down..." msgstr "esperando que el servidor se detenga..." -#: pg_ctl.c:1055 pg_ctl.c:1117 +#: pg_ctl.c:1053 pg_ctl.c:1114 msgid " failed\n" msgstr " falló\n" -#: pg_ctl.c:1057 pg_ctl.c:1119 +#: pg_ctl.c:1055 pg_ctl.c:1116 #, c-format msgid "%s: server does not shut down\n" msgstr "%s: el servidor no se detiene\n" -#: pg_ctl.c:1059 pg_ctl.c:1121 +#: pg_ctl.c:1057 pg_ctl.c:1118 msgid "" "HINT: The \"-m fast\" option immediately disconnects sessions rather than\n" "waiting for session-initiated disconnection.\n" @@ -264,243 +281,237 @@ msgstr "" "SUGERENCIA: La opción «-m fast» desconecta las sesiones inmediatamente\n" "en lugar de esperar que cada sesión finalice por sí misma.\n" -#: pg_ctl.c:1065 pg_ctl.c:1127 +#: pg_ctl.c:1063 pg_ctl.c:1124 msgid "server stopped\n" msgstr "servidor detenido\n" -#: pg_ctl.c:1086 +#: pg_ctl.c:1084 msgid "trying to start server anyway\n" msgstr "intentando iniciae el servidor de todas maneras\n" -#: pg_ctl.c:1095 +#: pg_ctl.c:1093 #, c-format msgid "%s: cannot restart server; single-user server is running (PID: %d)\n" -msgstr "" -"%s: no se puede reiniciar el servidor;\n" -"un servidor en modo mono-usuario está en ejecución (PID: %d)\n" +msgstr "%s: no se puede reiniciar el servidor; un servidor en modo mono-usuario está en ejecución (PID: %d)\n" -#: pg_ctl.c:1098 pg_ctl.c:1157 +#: pg_ctl.c:1096 pg_ctl.c:1154 msgid "Please terminate the single-user server and try again.\n" msgstr "Por favor termine el servidor mono-usuario e intente nuevamente.\n" -#: pg_ctl.c:1131 +#: pg_ctl.c:1128 #, c-format msgid "%s: old server process (PID: %d) seems to be gone\n" msgstr "%s: el proceso servidor antiguo (PID: %d) parece no estar\n" -#: pg_ctl.c:1133 +#: pg_ctl.c:1130 msgid "starting server anyway\n" msgstr "iniciando el servidor de todas maneras\n" -#: pg_ctl.c:1154 +#: pg_ctl.c:1151 #, c-format msgid "%s: cannot reload server; single-user server is running (PID: %d)\n" -msgstr "" -"%s: no se puede recargar el servidor;\n" -"un servidor en modo mono-usuario está en ejecución (PID: %d)\n" +msgstr "%s: no se puede recargar el servidor; un servidor en modo mono-usuario está en ejecución (PID: %d)\n" -#: pg_ctl.c:1163 +#: pg_ctl.c:1160 #, c-format -msgid "%s: could not send reload signal (PID: %d): %s\n" -msgstr "%s: la señal de recarga falló (PID: %d): %s\n" +msgid "%s: could not send reload signal (PID: %d): %m\n" +msgstr "%s: no se pudo enviar señal de recarga (PID: %d): %m\n" -#: pg_ctl.c:1168 +#: pg_ctl.c:1165 msgid "server signaled\n" msgstr "se ha enviado una señal al servidor\n" -#: pg_ctl.c:1193 +#: pg_ctl.c:1190 #, c-format msgid "%s: cannot promote server; single-user server is running (PID: %d)\n" -msgstr "" -"%s: no se puede promover el servidor;\n" -"un servidor en modo mono-usuario está en ejecución (PID: %d)\n" +msgstr "%s: no se puede promover el servidor; un servidor en modo mono-usuario está en ejecución (PID: %d)\n" -#: pg_ctl.c:1201 +#: pg_ctl.c:1198 #, c-format msgid "%s: cannot promote server; server is not in standby mode\n" msgstr "" "%s: no se puede promover el servidor;\n" "el servidor no está en modo «standby»\n" -#: pg_ctl.c:1211 +#: pg_ctl.c:1208 #, c-format -msgid "%s: could not create promote signal file \"%s\": %s\n" -msgstr "%s: no se pudo crear el archivo de señal de promoción «%s»: %s\n" +msgid "%s: could not create promote signal file \"%s\": %m\n" +msgstr "%s: no se pudo crear el archivo de señal de promoción «%s»: %m\n" -#: pg_ctl.c:1217 +#: pg_ctl.c:1214 #, c-format -msgid "%s: could not write promote signal file \"%s\": %s\n" -msgstr "%s: no se pudo escribir al archivo de señal de promoción «%s»: %s\n" +msgid "%s: could not write promote signal file \"%s\": %m\n" +msgstr "%s: no se pudo escribir al archivo de señal de promoción «%s»: %m\n" -#: pg_ctl.c:1225 +#: pg_ctl.c:1222 #, c-format -msgid "%s: could not send promote signal (PID: %d): %s\n" -msgstr "%s: no se pudo enviar la señal de promoción (PID: %d): %s\n" +msgid "%s: could not send promote signal (PID: %d): %m\n" +msgstr "%s: no se pudo enviar la señal de promoción (PID: %d): %m\n" -#: pg_ctl.c:1228 +#: pg_ctl.c:1225 #, c-format -msgid "%s: could not remove promote signal file \"%s\": %s\n" -msgstr "%s: no se pudo eliminar el archivo de señal de promoción «%s»: %s\n" +msgid "%s: could not remove promote signal file \"%s\": %m\n" +msgstr "%s: no se pudo eliminar el archivo de señal de promoción «%s»: %m\n" -#: pg_ctl.c:1235 +#: pg_ctl.c:1232 msgid "waiting for server to promote..." msgstr "esperando que el servidor se promueva..." -#: pg_ctl.c:1239 +#: pg_ctl.c:1236 msgid "server promoted\n" msgstr "servidor promovido\n" -#: pg_ctl.c:1244 +#: pg_ctl.c:1241 #, c-format msgid "%s: server did not promote in time\n" msgstr "%s: el servidor no se promovió a tiempo\n" -#: pg_ctl.c:1250 +#: pg_ctl.c:1247 msgid "server promoting\n" msgstr "servidor promoviendo\n" -#: pg_ctl.c:1274 +#: pg_ctl.c:1271 #, c-format msgid "%s: cannot rotate log file; single-user server is running (PID: %d)\n" msgstr "%s: no se puede rotar el archivo de log; un servidor en modo mono-usuario está en ejecución (PID: %d)\n" -#: pg_ctl.c:1284 +#: pg_ctl.c:1281 #, c-format -msgid "%s: could not create log rotation signal file \"%s\": %s\n" -msgstr "%s: no se pudo crear el archivo de señal de rotación de log «%s»: %s\n" +msgid "%s: could not create log rotation signal file \"%s\": %m\n" +msgstr "%s: no se pudo crear el archivo de señal de rotación de log «%s»: %m\n" -#: pg_ctl.c:1290 +#: pg_ctl.c:1287 #, c-format -msgid "%s: could not write log rotation signal file \"%s\": %s\n" -msgstr "%s: no se pudo escribir al archivo de señal de rotación de log «%s»: %s\n" +msgid "%s: could not write log rotation signal file \"%s\": %m\n" +msgstr "%s: no se pudo escribir al archivo de señal de rotación de log «%s»: %m\n" -#: pg_ctl.c:1298 +#: pg_ctl.c:1295 #, c-format -msgid "%s: could not send log rotation signal (PID: %d): %s\n" -msgstr "%s: no se pudo enviar la señal de rotación de log (PID: %d): %s\n" +msgid "%s: could not send log rotation signal (PID: %d): %m\n" +msgstr "%s: no se pudo enviar la señal de rotación de log (PID: %d): %m\n" -#: pg_ctl.c:1301 +#: pg_ctl.c:1298 #, c-format -msgid "%s: could not remove log rotation signal file \"%s\": %s\n" -msgstr "%s: no se pudo eliminar el archivo de señal de rotación de log «%s»: %s\n" +msgid "%s: could not remove log rotation signal file \"%s\": %m\n" +msgstr "%s: no se pudo eliminar el archivo de señal de rotación de log «%s»: %m\n" -#: pg_ctl.c:1306 +#: pg_ctl.c:1303 msgid "server signaled to rotate log file\n" msgstr "se ha enviado una señal de rotación de log al servidor\n" -#: pg_ctl.c:1353 +#: pg_ctl.c:1350 #, c-format msgid "%s: single-user server is running (PID: %d)\n" msgstr "%s: un servidor en modo mono-usuario está en ejecución (PID: %d)\n" -#: pg_ctl.c:1367 +#: pg_ctl.c:1364 #, c-format msgid "%s: server is running (PID: %d)\n" msgstr "%s: el servidor está en ejecución (PID: %d)\n" -#: pg_ctl.c:1383 +#: pg_ctl.c:1380 #, c-format msgid "%s: no server running\n" msgstr "%s: no hay servidor en ejecución\n" -#: pg_ctl.c:1400 +#: pg_ctl.c:1397 #, c-format -msgid "%s: could not send signal %d (PID: %d): %s\n" -msgstr "%s: no se pudo enviar la señal %d (PID: %d): %s\n" +msgid "%s: could not send signal %d (PID: %d): %m\n" +msgstr "%s: no se pudo enviar la señal %d (PID: %d): %m\n" -#: pg_ctl.c:1431 +#: pg_ctl.c:1428 #, c-format msgid "%s: could not find own program executable\n" msgstr "%s: no se pudo encontrar el ejecutable propio\n" -#: pg_ctl.c:1441 +#: pg_ctl.c:1438 #, c-format msgid "%s: could not find postgres program executable\n" msgstr "%s: no se pudo encontrar el ejecutable postgres\n" -#: pg_ctl.c:1511 pg_ctl.c:1545 +#: pg_ctl.c:1508 pg_ctl.c:1542 #, c-format msgid "%s: could not open service manager\n" msgstr "%s: no se pudo abrir el gestor de servicios\n" -#: pg_ctl.c:1517 +#: pg_ctl.c:1514 #, c-format msgid "%s: service \"%s\" already registered\n" msgstr "%s: el servicio «%s» ya está registrado\n" -#: pg_ctl.c:1528 +#: pg_ctl.c:1525 #, c-format msgid "%s: could not register service \"%s\": error code %lu\n" msgstr "%s: no se pudo registrar el servicio «%s»: código de error %lu\n" -#: pg_ctl.c:1551 +#: pg_ctl.c:1548 #, c-format msgid "%s: service \"%s\" not registered\n" msgstr "%s: el servicio «%s» no ha sido registrado\n" -#: pg_ctl.c:1558 +#: pg_ctl.c:1555 #, c-format msgid "%s: could not open service \"%s\": error code %lu\n" msgstr "%s: no se pudo abrir el servicio «%s»: código de error %lu\n" -#: pg_ctl.c:1567 +#: pg_ctl.c:1564 #, c-format msgid "%s: could not unregister service \"%s\": error code %lu\n" msgstr "%s: no se pudo dar de baja el servicio «%s»: código de error %lu\n" -#: pg_ctl.c:1654 +#: pg_ctl.c:1651 msgid "Waiting for server startup...\n" msgstr "Esperando que el servidor se inicie...\n" -#: pg_ctl.c:1657 +#: pg_ctl.c:1654 msgid "Timed out waiting for server startup\n" msgstr "Se agotó el tiempo de espera al inicio del servidor\n" -#: pg_ctl.c:1661 +#: pg_ctl.c:1658 msgid "Server started and accepting connections\n" msgstr "Servidor iniciado y aceptando conexiones\n" -#: pg_ctl.c:1716 +#: pg_ctl.c:1713 #, c-format msgid "%s: could not start service \"%s\": error code %lu\n" msgstr "%s: no se pudo iniciar el servicio «%s»: código de error %lu\n" -#: pg_ctl.c:1789 +#: pg_ctl.c:1786 #, c-format msgid "%s: could not open process token: error code %lu\n" msgstr "%s: no se pudo abrir el token de proceso: código de error %lu\n" -#: pg_ctl.c:1803 +#: pg_ctl.c:1800 #, c-format msgid "%s: could not allocate SIDs: error code %lu\n" msgstr "%s: no se pudo emplazar los SIDs: código de error %lu\n" -#: pg_ctl.c:1829 +#: pg_ctl.c:1826 #, c-format msgid "%s: could not create restricted token: error code %lu\n" msgstr "%s: no se pudo crear el token restringido: código de error %lu\n" -#: pg_ctl.c:1911 +#: pg_ctl.c:1908 #, c-format msgid "%s: could not get LUIDs for privileges: error code %lu\n" msgstr "%s: no se pudo obtener LUIDs para privilegios: código de error %lu\n" -#: pg_ctl.c:1919 pg_ctl.c:1934 +#: pg_ctl.c:1916 pg_ctl.c:1931 #, c-format msgid "%s: could not get token information: error code %lu\n" msgstr "%s: no se pudo obtener información de token: código de error %lu\n" -#: pg_ctl.c:1928 +#: pg_ctl.c:1925 #, c-format msgid "%s: out of memory\n" msgstr "%s: memoria agotada\n" -#: pg_ctl.c:1958 +#: pg_ctl.c:1955 #, c-format msgid "Try \"%s --help\" for more information.\n" msgstr "Use «%s --help» para obtener más información.\n" -#: pg_ctl.c:1966 +#: pg_ctl.c:1963 #, c-format msgid "" "%s is a utility to initialize, start, stop, or control a PostgreSQL server.\n" @@ -510,17 +521,17 @@ msgstr "" "un servidor PostgreSQL.\n" "\n" -#: pg_ctl.c:1967 +#: pg_ctl.c:1964 #, c-format msgid "Usage:\n" msgstr "Empleo:\n" -#: pg_ctl.c:1968 +#: pg_ctl.c:1965 #, c-format msgid " %s init[db] [-D DATADIR] [-s] [-o OPTIONS]\n" msgstr " %s init[db] [-D DATADIR] [-s] [-o OPCIONES]\n" -#: pg_ctl.c:1969 +#: pg_ctl.c:1966 #, c-format msgid "" " %s start [-D DATADIR] [-l FILENAME] [-W] [-t SECS] [-s]\n" @@ -529,12 +540,12 @@ msgstr "" " %s start [-D DATADIR] [-l ARCHIVO] [-W] [-t SEGS] [-s]\n" " [-o OPCIONES] [-p RUTA] [-c]\n" -#: pg_ctl.c:1971 +#: pg_ctl.c:1968 #, c-format msgid " %s stop [-D DATADIR] [-m SHUTDOWN-MODE] [-W] [-t SECS] [-s]\n" msgstr " %s stop [-D DATADIR] [-m MODO-DETENCIÓN] [-W] [-t SEGS] [-s]\n" -#: pg_ctl.c:1972 +#: pg_ctl.c:1969 #, c-format msgid "" " %s restart [-D DATADIR] [-m SHUTDOWN-MODE] [-W] [-t SECS] [-s]\n" @@ -543,32 +554,32 @@ msgstr "" " %s restart [-D DATADIR] [-m MODO-DETENCIÓN] [-W] [-t SEGS] [-s]\n" " [-o OPCIONES]\n" -#: pg_ctl.c:1974 +#: pg_ctl.c:1971 #, c-format msgid " %s reload [-D DATADIR] [-s]\n" msgstr " %s reload [-D DATADIR] [-s]\n" -#: pg_ctl.c:1975 +#: pg_ctl.c:1972 #, c-format msgid " %s status [-D DATADIR]\n" msgstr " %s status [-D DATADIR]\n" -#: pg_ctl.c:1976 +#: pg_ctl.c:1973 #, c-format msgid " %s promote [-D DATADIR] [-W] [-t SECS] [-s]\n" msgstr " %s promote [-D DATADIR] [-W] [-t SEGS] [-s]\n" -#: pg_ctl.c:1977 +#: pg_ctl.c:1974 #, c-format msgid " %s logrotate [-D DATADIR] [-s]\n" msgstr " %s logrotate [-D DATADIR] [-s]\n" -#: pg_ctl.c:1978 +#: pg_ctl.c:1975 #, c-format msgid " %s kill SIGNALNAME PID\n" msgstr " %s kill NOMBRE-SEÑAL ID-DE-PROCESO\n" -#: pg_ctl.c:1980 +#: pg_ctl.c:1977 #, c-format msgid "" " %s register [-D DATADIR] [-N SERVICENAME] [-U USERNAME] [-P PASSWORD]\n" @@ -577,12 +588,12 @@ msgstr "" " %s register [-D DATADIR] [-N SERVICIO] [-U USUARIO] [-P PASSWORD]\n" " [-S TIPO-INICIO] [-e ORIGEN] [-W] [-t SEGS] [-o OPCIONES]\n" -#: pg_ctl.c:1982 +#: pg_ctl.c:1979 #, c-format msgid " %s unregister [-N SERVICENAME]\n" msgstr " %s unregister [-N SERVICIO]\n" -#: pg_ctl.c:1985 +#: pg_ctl.c:1982 #, c-format msgid "" "\n" @@ -591,52 +602,52 @@ msgstr "" "\n" "Opciones comunes:\n" -#: pg_ctl.c:1986 +#: pg_ctl.c:1983 #, c-format msgid " -D, --pgdata=DATADIR location of the database storage area\n" msgstr " -D, --pgdata DATADIR ubicación del área de almacenamiento de datos\n" -#: pg_ctl.c:1988 +#: pg_ctl.c:1985 #, c-format msgid " -e SOURCE event source for logging when running as a service\n" msgstr " -e ORIGEN origen para el log de eventos cuando se ejecuta como servicio\n" -#: pg_ctl.c:1990 +#: pg_ctl.c:1987 #, c-format msgid " -s, --silent only print errors, no informational messages\n" msgstr " -s, --silent mostrar sólo errores, no mensajes de información\n" -#: pg_ctl.c:1991 +#: pg_ctl.c:1988 #, c-format msgid " -t, --timeout=SECS seconds to wait when using -w option\n" msgstr " -t, --timeout=SEGS segundos a esperar cuando se use la opción -w\n" -#: pg_ctl.c:1992 +#: pg_ctl.c:1989 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version mostrar información de versión, luego salir\n" -#: pg_ctl.c:1993 +#: pg_ctl.c:1990 #, c-format msgid " -w, --wait wait until operation completes (default)\n" msgstr " -w, --wait esperar hasta que la operación se haya completado (por omisión)\n" -#: pg_ctl.c:1994 +#: pg_ctl.c:1991 #, c-format msgid " -W, --no-wait do not wait until operation completes\n" msgstr " -W, --no-wait no esperar hasta que la operación se haya completado\n" -#: pg_ctl.c:1995 +#: pg_ctl.c:1992 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help mostrar esta ayuda, luego salir\n" -#: pg_ctl.c:1996 +#: pg_ctl.c:1993 #, c-format msgid "If the -D option is omitted, the environment variable PGDATA is used.\n" msgstr "Si la opción -D es omitida, se usa la variable de ambiente PGDATA.\n" -#: pg_ctl.c:1998 +#: pg_ctl.c:1995 #, c-format msgid "" "\n" @@ -645,24 +656,24 @@ msgstr "" "\n" "Opciones para inicio y reinicio:\n" -#: pg_ctl.c:2000 +#: pg_ctl.c:1997 #, c-format msgid " -c, --core-files allow postgres to produce core files\n" msgstr "" " -c, --core-files permite que postgres produzca archivos\n" " de volcado (core)\n" -#: pg_ctl.c:2002 +#: pg_ctl.c:1999 #, c-format msgid " -c, --core-files not applicable on this platform\n" msgstr " -c, --core-files no aplicable en esta plataforma\n" -#: pg_ctl.c:2004 +#: pg_ctl.c:2001 #, c-format msgid " -l, --log=FILENAME write (or append) server log to FILENAME\n" msgstr " -l --log=ARCHIVO guardar el registro del servidor en ARCHIVO.\n" -#: pg_ctl.c:2005 +#: pg_ctl.c:2002 #, c-format msgid "" " -o, --options=OPTIONS command line options to pass to postgres\n" @@ -671,12 +682,12 @@ msgstr "" " -o, --options=OPCIONES parámetros de línea de órdenes a pasar a postgres\n" " (ejecutable del servidor de PostgreSQL) o initdb\n" -#: pg_ctl.c:2007 +#: pg_ctl.c:2004 #, c-format msgid " -p PATH-TO-POSTGRES normally not necessary\n" msgstr " -p RUTA-A-POSTGRES normalmente no es necesario\n" -#: pg_ctl.c:2008 +#: pg_ctl.c:2005 #, c-format msgid "" "\n" @@ -685,12 +696,12 @@ msgstr "" "\n" "Opciones para detener o reiniciar:\n" -#: pg_ctl.c:2009 +#: pg_ctl.c:2006 #, c-format msgid " -m, --mode=MODE MODE can be \"smart\", \"fast\", or \"immediate\"\n" msgstr " -m, --mode=MODO puede ser «smart», «fast» o «immediate»\n" -#: pg_ctl.c:2011 +#: pg_ctl.c:2008 #, c-format msgid "" "\n" @@ -699,24 +710,24 @@ msgstr "" "\n" "Modos de detención son:\n" -#: pg_ctl.c:2012 +#: pg_ctl.c:2009 #, c-format msgid " smart quit after all clients have disconnected\n" msgstr " smart salir después que todos los clientes se hayan desconectado\n" -#: pg_ctl.c:2013 +#: pg_ctl.c:2010 #, c-format msgid " fast quit directly, with proper shutdown (default)\n" msgstr " fast salir directamente, con apagado apropiado (por omisión)\n" -#: pg_ctl.c:2014 +#: pg_ctl.c:2011 #, c-format msgid " immediate quit without complete shutdown; will lead to recovery on restart\n" msgstr "" " immediate salir sin apagado completo; se ejecutará recuperación\n" " en el próximo inicio\n" -#: pg_ctl.c:2016 +#: pg_ctl.c:2013 #, c-format msgid "" "\n" @@ -725,7 +736,7 @@ msgstr "" "\n" "Nombres de señales permitidos para kill:\n" -#: pg_ctl.c:2020 +#: pg_ctl.c:2017 #, c-format msgid "" "\n" @@ -734,35 +745,35 @@ msgstr "" "\n" "Opciones para registrar y dar de baja:\n" -#: pg_ctl.c:2021 +#: pg_ctl.c:2018 #, c-format msgid " -N SERVICENAME service name with which to register PostgreSQL server\n" msgstr "" " -N SERVICIO nombre de servicio con el cual registrar\n" " el servidor PostgreSQL\n" -#: pg_ctl.c:2022 +#: pg_ctl.c:2019 #, c-format msgid " -P PASSWORD password of account to register PostgreSQL server\n" msgstr "" " -P CONTRASEÑA contraseña de la cuenta con la cual registrar\n" " el servidor PostgreSQL\n" -#: pg_ctl.c:2023 +#: pg_ctl.c:2020 #, c-format msgid " -U USERNAME user name of account to register PostgreSQL server\n" msgstr "" " -U USUARIO nombre de usuario de la cuenta con la cual\n" " registrar el servidor PostgreSQL\n" -#: pg_ctl.c:2024 +#: pg_ctl.c:2021 #, c-format msgid " -S START-TYPE service start type to register PostgreSQL server\n" msgstr "" " -S TIPO-INICIO tipo de inicio de servicio con que registrar\n" " el servidor PostgreSQL\n" -#: pg_ctl.c:2026 +#: pg_ctl.c:2023 #, c-format msgid "" "\n" @@ -771,17 +782,17 @@ msgstr "" "\n" "Tipos de inicio del servicio son:\n" -#: pg_ctl.c:2027 +#: pg_ctl.c:2024 #, c-format msgid " auto start service automatically during system startup (default)\n" msgstr " auto iniciar automáticamente al inicio del sistema (por omisión)\n" -#: pg_ctl.c:2028 +#: pg_ctl.c:2025 #, c-format msgid " demand start service on demand\n" msgstr " demand iniciar el servicio en demanda\n" -#: pg_ctl.c:2031 +#: pg_ctl.c:2028 #, c-format msgid "" "\n" @@ -790,37 +801,37 @@ msgstr "" "\n" "Reporte errores a <%s>.\n" -#: pg_ctl.c:2032 +#: pg_ctl.c:2029 #, c-format msgid "%s home page: <%s>\n" msgstr "Sitio web de %s: <%s>\n" -#: pg_ctl.c:2057 +#: pg_ctl.c:2054 #, c-format msgid "%s: unrecognized shutdown mode \"%s\"\n" msgstr "%s: modo de apagado «%s» no reconocido\n" -#: pg_ctl.c:2086 +#: pg_ctl.c:2083 #, c-format msgid "%s: unrecognized signal name \"%s\"\n" msgstr "%s: nombre de señal «%s» no reconocido\n" -#: pg_ctl.c:2103 +#: pg_ctl.c:2100 #, c-format msgid "%s: unrecognized start type \"%s\"\n" msgstr "%s: tipo de inicio «%s» no reconocido\n" -#: pg_ctl.c:2159 +#: pg_ctl.c:2156 #, c-format msgid "%s: could not determine the data directory using command \"%s\"\n" msgstr "%s: no se pudo determinar el directorio de datos usando la orden «%s»\n" -#: pg_ctl.c:2182 +#: pg_ctl.c:2179 #, c-format msgid "%s: control file appears to be corrupt\n" msgstr "%s: el archivo de control parece estar corrupto\n" -#: pg_ctl.c:2250 +#: pg_ctl.c:2247 #, c-format msgid "" "%s: cannot be run as root\n" @@ -831,32 +842,32 @@ msgstr "" "Por favor conéctese (usando, por ejemplo, «su») con un usuario no privilegiado,\n" "quien ejecutará el proceso servidor.\n" -#: pg_ctl.c:2333 +#: pg_ctl.c:2319 #, c-format msgid "%s: -S option not supported on this platform\n" msgstr "%s: la opción -S no está soportada en esta plataforma\n" -#: pg_ctl.c:2370 -#, c-format -msgid "%s: too many command-line arguments (first is \"%s\")\n" -msgstr "%s: demasiados argumentos de línea de órdenes (el primero es «%s»)\n" - -#: pg_ctl.c:2396 +#: pg_ctl.c:2375 #, c-format msgid "%s: missing arguments for kill mode\n" msgstr "%s: argumentos faltantes para envío de señal\n" -#: pg_ctl.c:2414 +#: pg_ctl.c:2393 #, c-format msgid "%s: unrecognized operation mode \"%s\"\n" msgstr "%s: modo de operación «%s» no reconocido\n" -#: pg_ctl.c:2424 +#: pg_ctl.c:2402 +#, c-format +msgid "%s: too many command-line arguments (first is \"%s\")\n" +msgstr "%s: demasiados argumentos de línea de órdenes (el primero es «%s»)\n" + +#: pg_ctl.c:2409 #, c-format msgid "%s: no operation specified\n" msgstr "%s: no se especificó operación\n" -#: pg_ctl.c:2445 +#: pg_ctl.c:2430 #, c-format msgid "%s: no database directory specified and environment variable PGDATA unset\n" msgstr "%s: no se especificó directorio de datos y la variable PGDATA no está definida\n" diff --git a/src/bin/pg_ctl/po/fr.po b/src/bin/pg_ctl/po/fr.po index f5d95cd84a6..ea31cdbc395 100644 --- a/src/bin/pg_ctl/po/fr.po +++ b/src/bin/pg_ctl/po/fr.po @@ -10,10 +10,10 @@ # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 15\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-07-29 09:18+0000\n" -"PO-Revision-Date: 2023-07-29 22:45+0200\n" +"POT-Creation-Date: 2024-08-22 10:19+0000\n" +"PO-Revision-Date: 2024-09-16 16:28+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -21,40 +21,59 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.3.2\n" +"X-Generator: Poedit 3.5\n" -#: ../../common/exec.c:172 +#: ../../common/controldata_utils.c:168 +msgid "byte ordering mismatch" +msgstr "différence de l'ordre des octets" + +#: ../../common/exec.c:174 #, c-format msgid "invalid binary \"%s\": %m" msgstr "binaire « %s » invalide : %m" -#: ../../common/exec.c:215 +#: ../../common/exec.c:217 #, c-format msgid "could not read binary \"%s\": %m" msgstr "n'a pas pu lire le binaire « %s » : %m" -#: ../../common/exec.c:223 +#: ../../common/exec.c:225 #, c-format msgid "could not find a \"%s\" to execute" msgstr "n'a pas pu trouver un « %s » à exécuter" -#: ../../common/exec.c:250 +#: ../../common/exec.c:252 #, c-format msgid "could not resolve path \"%s\" to absolute form: %m" msgstr "n'a pas pu résoudre le chemin « %s » en sa forme absolue : %m" -#: ../../common/exec.c:412 +#: ../../common/exec.c:382 +#, c-format +msgid "could not execute command \"%s\": %m" +msgstr "n'a pas pu exécuter la commande « %s » : %m" + +#: ../../common/exec.c:394 +#, c-format +msgid "could not read from command \"%s\": %m" +msgstr "n'a pas pu lire à partir de la commande « %s » : %m" + +#: ../../common/exec.c:397 +#, c-format +msgid "no data was returned by command \"%s\"" +msgstr "aucune donnée n'a été renvoyée par la commande « %s »" + +#: ../../common/exec.c:424 #, c-format msgid "%s() failed: %m" msgstr "échec de %s() : %m" -#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687 +#: ../../common/exec.c:562 ../../common/exec.c:607 ../../common/exec.c:699 msgid "out of memory" msgstr "mémoire épuisée" #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 #: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 -#: ../../port/path.c:753 ../../port/path.c:791 ../../port/path.c:808 +#: ../../port/path.c:753 ../../port/path.c:790 ../../port/path.c:807 #, c-format msgid "out of memory\n" msgstr "mémoire épuisée\n" @@ -96,125 +115,125 @@ msgstr "le processus fils a quitté avec un statut %d non reconnu" #: ../../port/path.c:775 #, c-format -msgid "could not get current working directory: %s\n" -msgstr "n'a pas pu obtenir le répertoire de travail : %s\n" +msgid "could not get current working directory: %m\n" +msgstr "n'a pas pu obtenir le répertoire de travail : %m\n" -#: pg_ctl.c:255 +#: pg_ctl.c:254 #, c-format msgid "%s: directory \"%s\" does not exist\n" msgstr "%s : le répertoire « %s » n'existe pas\n" -#: pg_ctl.c:258 +#: pg_ctl.c:257 #, c-format -msgid "%s: could not access directory \"%s\": %s\n" -msgstr "%s : n'a pas pu accéder au répertoire « %s » : %s\n" +msgid "%s: could not access directory \"%s\": %m\n" +msgstr "%s : n'a pas pu accéder au répertoire « %s » : %m\n" -#: pg_ctl.c:271 +#: pg_ctl.c:270 #, c-format msgid "%s: directory \"%s\" is not a database cluster directory\n" msgstr "%s : le répertoire « %s » n'est pas un répertoire d'instance\n" -#: pg_ctl.c:284 +#: pg_ctl.c:283 #, c-format -msgid "%s: could not open PID file \"%s\": %s\n" -msgstr "%s : n'a pas pu ouvrir le fichier de PID « %s » : %s\n" +msgid "%s: could not open PID file \"%s\": %m\n" +msgstr "%s : n'a pas pu ouvrir le fichier de PID « %s » : %m\n" -#: pg_ctl.c:293 +#: pg_ctl.c:292 #, c-format msgid "%s: the PID file \"%s\" is empty\n" msgstr "%s : le fichier PID « %s » est vide\n" -#: pg_ctl.c:296 +#: pg_ctl.c:295 #, c-format msgid "%s: invalid data in PID file \"%s\"\n" msgstr "%s : données invalides dans le fichier de PID « %s »\n" -#: pg_ctl.c:458 pg_ctl.c:500 +#: pg_ctl.c:457 pg_ctl.c:499 #, c-format -msgid "%s: could not start server: %s\n" -msgstr "%s : n'a pas pu démarrer le serveur : %s\n" +msgid "%s: could not start server: %m\n" +msgstr "%s : n'a pas pu démarrer le serveur : %m\n" -#: pg_ctl.c:478 +#: pg_ctl.c:477 #, c-format -msgid "%s: could not start server due to setsid() failure: %s\n" -msgstr "%s : n'a pas pu démarrer le serveur à cause d'un échec de setsid() : %s\n" +msgid "%s: could not start server due to setsid() failure: %m\n" +msgstr "%s : n'a pas pu démarrer le serveur à cause d'un échec de setsid() : %m\n" -#: pg_ctl.c:548 +#: pg_ctl.c:547 #, c-format -msgid "%s: could not open log file \"%s\": %s\n" -msgstr "%s : n'a pas pu ouvrir le journal applicatif « %s » : %s\n" +msgid "%s: could not open log file \"%s\": %m\n" +msgstr "%s : n'a pas pu ouvrir le journal applicatif « %s » : %m\n" -#: pg_ctl.c:565 +#: pg_ctl.c:564 #, c-format msgid "%s: could not start server: error code %lu\n" msgstr "%s : n'a pas pu démarrer le serveur : code d'erreur %lu\n" -#: pg_ctl.c:782 +#: pg_ctl.c:781 #, c-format msgid "%s: cannot set core file size limit; disallowed by hard limit\n" msgstr "" "%s : n'a pas pu initialiser la taille des fichiers core, ceci est interdit\n" "par une limite dure\n" -#: pg_ctl.c:808 +#: pg_ctl.c:807 #, c-format msgid "%s: could not read file \"%s\"\n" msgstr "%s : n'a pas pu lire le fichier « %s »\n" -#: pg_ctl.c:813 +#: pg_ctl.c:812 #, c-format msgid "%s: option file \"%s\" must have exactly one line\n" msgstr "%s : le fichier d'options « %s » ne doit comporter qu'une seule ligne\n" -#: pg_ctl.c:855 pg_ctl.c:1039 pg_ctl.c:1107 +#: pg_ctl.c:854 pg_ctl.c:1038 pg_ctl.c:1105 #, c-format -msgid "%s: could not send stop signal (PID: %d): %s\n" -msgstr "%s : n'a pas pu envoyer le signal d'arrêt (PID : %d) : %s\n" +msgid "%s: could not send stop signal (PID: %d): %m\n" +msgstr "%s : n'a pas pu envoyer le signal d'arrêt (PID : %d) : %m\n" -#: pg_ctl.c:883 +#: pg_ctl.c:882 #, c-format msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"\n" msgstr "le programme « %s » est nécessaire pour %s, mais n'a pas été trouvé dans le même répertoire que « %s »\n" -#: pg_ctl.c:886 +#: pg_ctl.c:885 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s\n" msgstr "le programme « %s » a été trouvé par « %s » mais n'est pas de la même version que %s\n" -#: pg_ctl.c:918 +#: pg_ctl.c:917 #, c-format msgid "%s: database system initialization failed\n" msgstr "%s : l'initialisation du système a échoué\n" -#: pg_ctl.c:933 +#: pg_ctl.c:932 #, c-format msgid "%s: another server might be running; trying to start server anyway\n" msgstr "" "%s : un autre serveur semble en cours d'exécution ; le démarrage du serveur\n" "va toutefois être tenté\n" -#: pg_ctl.c:981 +#: pg_ctl.c:980 msgid "waiting for server to start..." msgstr "en attente du démarrage du serveur..." -#: pg_ctl.c:986 pg_ctl.c:1063 pg_ctl.c:1126 pg_ctl.c:1238 +#: pg_ctl.c:985 pg_ctl.c:1061 pg_ctl.c:1123 pg_ctl.c:1235 msgid " done\n" msgstr " effectué\n" -#: pg_ctl.c:987 +#: pg_ctl.c:986 msgid "server started\n" msgstr "serveur démarré\n" -#: pg_ctl.c:990 pg_ctl.c:996 pg_ctl.c:1243 +#: pg_ctl.c:989 pg_ctl.c:995 pg_ctl.c:1240 msgid " stopped waiting\n" msgstr " attente arrêtée\n" -#: pg_ctl.c:991 +#: pg_ctl.c:990 #, c-format msgid "%s: server did not start in time\n" msgstr "%s : le serveur ne s'est pas lancé à temps\n" -#: pg_ctl.c:997 +#: pg_ctl.c:996 #, c-format msgid "" "%s: could not start server\n" @@ -223,44 +242,44 @@ msgstr "" "%s : n'a pas pu démarrer le serveur\n" "Examinez le journal applicatif.\n" -#: pg_ctl.c:1005 +#: pg_ctl.c:1004 msgid "server starting\n" msgstr "serveur en cours de démarrage\n" -#: pg_ctl.c:1024 pg_ctl.c:1083 pg_ctl.c:1147 pg_ctl.c:1186 pg_ctl.c:1267 +#: pg_ctl.c:1023 pg_ctl.c:1081 pg_ctl.c:1144 pg_ctl.c:1183 pg_ctl.c:1264 #, c-format msgid "%s: PID file \"%s\" does not exist\n" msgstr "%s : le fichier de PID « %s » n'existe pas\n" -#: pg_ctl.c:1025 pg_ctl.c:1085 pg_ctl.c:1148 pg_ctl.c:1187 pg_ctl.c:1268 +#: pg_ctl.c:1024 pg_ctl.c:1083 pg_ctl.c:1145 pg_ctl.c:1184 pg_ctl.c:1265 msgid "Is server running?\n" msgstr "Le serveur est-il en cours d'exécution ?\n" -#: pg_ctl.c:1031 +#: pg_ctl.c:1030 #, c-format msgid "%s: cannot stop server; single-user server is running (PID: %d)\n" msgstr "" "%s : ne peut pas arrêter le serveur ; le serveur mono-utilisateur est en\n" "cours d'exécution (PID : %d)\n" -#: pg_ctl.c:1046 +#: pg_ctl.c:1044 msgid "server shutting down\n" msgstr "serveur en cours d'arrêt\n" -#: pg_ctl.c:1051 pg_ctl.c:1112 +#: pg_ctl.c:1049 pg_ctl.c:1109 msgid "waiting for server to shut down..." msgstr "en attente de l'arrêt du serveur..." -#: pg_ctl.c:1055 pg_ctl.c:1117 +#: pg_ctl.c:1053 pg_ctl.c:1114 msgid " failed\n" msgstr " a échoué\n" -#: pg_ctl.c:1057 pg_ctl.c:1119 +#: pg_ctl.c:1055 pg_ctl.c:1116 #, c-format msgid "%s: server does not shut down\n" msgstr "%s : le serveur ne s'est pas arrêté\n" -#: pg_ctl.c:1059 pg_ctl.c:1121 +#: pg_ctl.c:1057 pg_ctl.c:1118 msgid "" "HINT: The \"-m fast\" option immediately disconnects sessions rather than\n" "waiting for session-initiated disconnection.\n" @@ -268,243 +287,243 @@ msgstr "" "ASTUCE : l'option « -m fast » déconnecte immédiatement les sessions plutôt que\n" "d'attendre la déconnexion des sessions déjà présentes.\n" -#: pg_ctl.c:1065 pg_ctl.c:1127 +#: pg_ctl.c:1063 pg_ctl.c:1124 msgid "server stopped\n" msgstr "serveur arrêté\n" -#: pg_ctl.c:1086 +#: pg_ctl.c:1084 msgid "trying to start server anyway\n" msgstr "tentative de lancement du serveur malgré tout\n" -#: pg_ctl.c:1095 +#: pg_ctl.c:1093 #, c-format msgid "%s: cannot restart server; single-user server is running (PID: %d)\n" msgstr "" "%s : ne peut pas relancer le serveur ; le serveur mono-utilisateur est en\n" "cours d'exécution (PID : %d)\n" -#: pg_ctl.c:1098 pg_ctl.c:1157 +#: pg_ctl.c:1096 pg_ctl.c:1154 msgid "Please terminate the single-user server and try again.\n" msgstr "Merci d'arrêter le serveur mono-utilisateur et de réessayer.\n" -#: pg_ctl.c:1131 +#: pg_ctl.c:1128 #, c-format msgid "%s: old server process (PID: %d) seems to be gone\n" msgstr "%s : l'ancien processus serveur (PID : %d) semble être parti\n" -#: pg_ctl.c:1133 +#: pg_ctl.c:1130 msgid "starting server anyway\n" msgstr "lancement du serveur malgré tout\n" -#: pg_ctl.c:1154 +#: pg_ctl.c:1151 #, c-format msgid "%s: cannot reload server; single-user server is running (PID: %d)\n" msgstr "" "%s : ne peut pas recharger le serveur ; le serveur mono-utilisateur est en\n" "cours d'exécution (PID : %d)\n" -#: pg_ctl.c:1163 +#: pg_ctl.c:1160 #, c-format -msgid "%s: could not send reload signal (PID: %d): %s\n" -msgstr "%s : n'a pas pu envoyer le signal de rechargement (PID : %d) : %s\n" +msgid "%s: could not send reload signal (PID: %d): %m\n" +msgstr "%s : n'a pas pu envoyer le signal de rechargement (PID : %d) : %m\n" -#: pg_ctl.c:1168 +#: pg_ctl.c:1165 msgid "server signaled\n" msgstr "envoi d'un signal au serveur\n" -#: pg_ctl.c:1193 +#: pg_ctl.c:1190 #, c-format msgid "%s: cannot promote server; single-user server is running (PID: %d)\n" msgstr "" "%s : ne peut pas promouvoir le serveur ; le serveur mono-utilisateur est en\n" "cours d'exécution (PID : %d)\n" -#: pg_ctl.c:1201 +#: pg_ctl.c:1198 #, c-format msgid "%s: cannot promote server; server is not in standby mode\n" msgstr "%s : ne peut pas promouvoir le serveur ; le serveur n'est pas en standby\n" -#: pg_ctl.c:1211 +#: pg_ctl.c:1208 #, c-format -msgid "%s: could not create promote signal file \"%s\": %s\n" -msgstr "%s : n'a pas pu créer le fichier « %s » signalant la promotion : %s\n" +msgid "%s: could not create promote signal file \"%s\": %m\n" +msgstr "%s : n'a pas pu créer le fichier « %s » signalant la promotion : %m\n" -#: pg_ctl.c:1217 +#: pg_ctl.c:1214 #, c-format -msgid "%s: could not write promote signal file \"%s\": %s\n" -msgstr "%s : n'a pas pu écrire le fichier « %s » signalant la promotion : %s\n" +msgid "%s: could not write promote signal file \"%s\": %m\n" +msgstr "%s : n'a pas pu écrire le fichier « %s » signalant la promotion : %m\n" -#: pg_ctl.c:1225 +#: pg_ctl.c:1222 #, c-format -msgid "%s: could not send promote signal (PID: %d): %s\n" -msgstr "%s : n'a pas pu envoyer le signal de promotion (PID : %d) : %s\n" +msgid "%s: could not send promote signal (PID: %d): %m\n" +msgstr "%s : n'a pas pu envoyer le signal de promotion (PID : %d) : %m\n" -#: pg_ctl.c:1228 +#: pg_ctl.c:1225 #, c-format -msgid "%s: could not remove promote signal file \"%s\": %s\n" -msgstr "%s : n'a pas pu supprimer le fichier « %s » signalant la promotion : %s\n" +msgid "%s: could not remove promote signal file \"%s\": %m\n" +msgstr "%s : n'a pas pu supprimer le fichier « %s » signalant la promotion : %m\n" -#: pg_ctl.c:1235 +#: pg_ctl.c:1232 msgid "waiting for server to promote..." msgstr "en attente du serveur à promouvoir..." -#: pg_ctl.c:1239 +#: pg_ctl.c:1236 msgid "server promoted\n" msgstr "serveur promu\n" -#: pg_ctl.c:1244 +#: pg_ctl.c:1241 #, c-format msgid "%s: server did not promote in time\n" msgstr "%s : le serveur ne s'est pas promu à temps\n" -#: pg_ctl.c:1250 +#: pg_ctl.c:1247 msgid "server promoting\n" msgstr "serveur en cours de promotion\n" -#: pg_ctl.c:1274 +#: pg_ctl.c:1271 #, c-format msgid "%s: cannot rotate log file; single-user server is running (PID: %d)\n" msgstr "" "%s : ne peut pas faire une rotation de fichier de traces ; le serveur mono-utilisateur est en\n" "cours d'exécution (PID : %d)\n" -#: pg_ctl.c:1284 +#: pg_ctl.c:1281 #, c-format -msgid "%s: could not create log rotation signal file \"%s\": %s\n" -msgstr "%s : n'a pas pu créer le fichier « %s » de demande de rotation des fichiers de trace : %s\n" +msgid "%s: could not create log rotation signal file \"%s\": %m\n" +msgstr "%s : n'a pas pu créer le fichier « %s » de demande de rotation des fichiers de trace : %m\n" -#: pg_ctl.c:1290 +#: pg_ctl.c:1287 #, c-format -msgid "%s: could not write log rotation signal file \"%s\": %s\n" -msgstr "%s : n'a pas pu écrire le fichier « %s » de demande de rotation des fichiers de trace : %s\n" +msgid "%s: could not write log rotation signal file \"%s\": %m\n" +msgstr "%s : n'a pas pu écrire le fichier « %s » de demande de rotation des fichiers de trace : %m\n" -#: pg_ctl.c:1298 +#: pg_ctl.c:1295 #, c-format -msgid "%s: could not send log rotation signal (PID: %d): %s\n" -msgstr "%s : n'a pas pu envoyer le signal de rotation des fichiers de trace (PID : %d) : %s\n" +msgid "%s: could not send log rotation signal (PID: %d): %m\n" +msgstr "%s : n'a pas pu envoyer le signal de rotation des fichiers de trace (PID : %d) : %m\n" -#: pg_ctl.c:1301 +#: pg_ctl.c:1298 #, c-format -msgid "%s: could not remove log rotation signal file \"%s\": %s\n" -msgstr "%s : n'a pas pu supprimer le fichier « %s » signalant la demande de rotation des fichiers de trace : %s\n" +msgid "%s: could not remove log rotation signal file \"%s\": %m\n" +msgstr "%s : n'a pas pu supprimer le fichier « %s » signalant la demande de rotation des fichiers de trace : %m\n" -#: pg_ctl.c:1306 +#: pg_ctl.c:1303 msgid "server signaled to rotate log file\n" msgstr "envoi d'un signal au serveur pour faire une rotation des traces\n" -#: pg_ctl.c:1353 +#: pg_ctl.c:1350 #, c-format msgid "%s: single-user server is running (PID: %d)\n" msgstr "%s : le serveur mono-utilisateur est en cours d'exécution (PID : %d)\n" -#: pg_ctl.c:1367 +#: pg_ctl.c:1364 #, c-format msgid "%s: server is running (PID: %d)\n" msgstr "%s : le serveur est en cours d'exécution (PID : %d)\n" -#: pg_ctl.c:1383 +#: pg_ctl.c:1380 #, c-format msgid "%s: no server running\n" msgstr "%s : aucun serveur en cours d'exécution\n" -#: pg_ctl.c:1400 +#: pg_ctl.c:1397 #, c-format -msgid "%s: could not send signal %d (PID: %d): %s\n" -msgstr "%s : n'a pas pu envoyer le signal %d (PID : %d) : %s\n" +msgid "%s: could not send signal %d (PID: %d): %m\n" +msgstr "%s : n'a pas pu envoyer le signal %d (PID : %d) : %m\n" -#: pg_ctl.c:1431 +#: pg_ctl.c:1428 #, c-format msgid "%s: could not find own program executable\n" msgstr "%s : n'a pas pu trouver l'exécutable du programme\n" -#: pg_ctl.c:1441 +#: pg_ctl.c:1438 #, c-format msgid "%s: could not find postgres program executable\n" msgstr "%s : n'a pas pu trouver l'exécutable postgres\n" -#: pg_ctl.c:1511 pg_ctl.c:1545 +#: pg_ctl.c:1508 pg_ctl.c:1542 #, c-format msgid "%s: could not open service manager\n" msgstr "%s : n'a pas pu ouvrir le gestionnaire de services\n" -#: pg_ctl.c:1517 +#: pg_ctl.c:1514 #, c-format msgid "%s: service \"%s\" already registered\n" msgstr "%s : le service « %s » est déjà enregistré\n" -#: pg_ctl.c:1528 +#: pg_ctl.c:1525 #, c-format msgid "%s: could not register service \"%s\": error code %lu\n" msgstr "%s : n'a pas pu enregistrer le service « %s » : code d'erreur %lu\n" -#: pg_ctl.c:1551 +#: pg_ctl.c:1548 #, c-format msgid "%s: service \"%s\" not registered\n" msgstr "%s : le service « %s » n'est pas enregistré\n" -#: pg_ctl.c:1558 +#: pg_ctl.c:1555 #, c-format msgid "%s: could not open service \"%s\": error code %lu\n" msgstr "%s : n'a pas pu ouvrir le service « %s » : code d'erreur %lu\n" -#: pg_ctl.c:1567 +#: pg_ctl.c:1564 #, c-format msgid "%s: could not unregister service \"%s\": error code %lu\n" msgstr "%s : n'a pas pu supprimer le service « %s » : code d'erreur %lu\n" -#: pg_ctl.c:1654 +#: pg_ctl.c:1651 msgid "Waiting for server startup...\n" msgstr "En attente du démarrage du serveur...\n" -#: pg_ctl.c:1657 +#: pg_ctl.c:1654 msgid "Timed out waiting for server startup\n" msgstr "Dépassement du délai pour le démarrage du serveur\n" -#: pg_ctl.c:1661 +#: pg_ctl.c:1658 msgid "Server started and accepting connections\n" msgstr "Serveur lancé et acceptant les connexions\n" -#: pg_ctl.c:1716 +#: pg_ctl.c:1713 #, c-format msgid "%s: could not start service \"%s\": error code %lu\n" msgstr "%s : n'a pas pu démarrer le service « %s » : code d'erreur %lu\n" -#: pg_ctl.c:1789 +#: pg_ctl.c:1786 #, c-format msgid "%s: could not open process token: error code %lu\n" msgstr "%s : n'a pas pu ouvrir le jeton du processus : code d'erreur %lu\n" -#: pg_ctl.c:1803 +#: pg_ctl.c:1800 #, c-format msgid "%s: could not allocate SIDs: error code %lu\n" msgstr "%s : n'a pas pu allouer les SID : code d'erreur %lu\n" -#: pg_ctl.c:1829 +#: pg_ctl.c:1826 #, c-format msgid "%s: could not create restricted token: error code %lu\n" msgstr "%s : n'a pas pu créer le jeton restreint : code d'erreur %lu\n" -#: pg_ctl.c:1911 +#: pg_ctl.c:1908 #, c-format msgid "%s: could not get LUIDs for privileges: error code %lu\n" msgstr "%s : n'a pas pu obtenir les LUID pour les droits : code d'erreur %lu\n" -#: pg_ctl.c:1919 pg_ctl.c:1934 +#: pg_ctl.c:1916 pg_ctl.c:1931 #, c-format msgid "%s: could not get token information: error code %lu\n" msgstr "%s : n'a pas pu obtenir l'information sur le jeton : code d'erreur %lu\n" -#: pg_ctl.c:1928 +#: pg_ctl.c:1925 #, c-format msgid "%s: out of memory\n" msgstr "%s : mémoire épuisée\n" -#: pg_ctl.c:1958 +#: pg_ctl.c:1955 #, c-format msgid "Try \"%s --help\" for more information.\n" msgstr "Essayer « %s --help » pour plus d'informations.\n" -#: pg_ctl.c:1966 +#: pg_ctl.c:1963 #, c-format msgid "" "%s is a utility to initialize, start, stop, or control a PostgreSQL server.\n" @@ -514,17 +533,17 @@ msgstr "" "PostgreSQL.\n" "\n" -#: pg_ctl.c:1967 +#: pg_ctl.c:1964 #, c-format msgid "Usage:\n" msgstr "Usage :\n" -#: pg_ctl.c:1968 +#: pg_ctl.c:1965 #, c-format msgid " %s init[db] [-D DATADIR] [-s] [-o OPTIONS]\n" msgstr " %s init[db] [-D RÉP_DONNÉES] [-s] [-o OPTIONS]\n" -#: pg_ctl.c:1969 +#: pg_ctl.c:1966 #, c-format msgid "" " %s start [-D DATADIR] [-l FILENAME] [-W] [-t SECS] [-s]\n" @@ -533,12 +552,12 @@ msgstr "" " %s start [-D RÉP_DONNÉES] [-l FICHIER] [-W] [-t SECS] [-s]\n" " [-o OPTIONS] [-p CHEMIN] [-c]\n" -#: pg_ctl.c:1971 +#: pg_ctl.c:1968 #, c-format msgid " %s stop [-D DATADIR] [-m SHUTDOWN-MODE] [-W] [-t SECS] [-s]\n" msgstr " %s stop [-D RÉP_DONNÉES] [-m MODE_ARRÊT] [-W] [-t SECS] [-s]\n" -#: pg_ctl.c:1972 +#: pg_ctl.c:1969 #, c-format msgid "" " %s restart [-D DATADIR] [-m SHUTDOWN-MODE] [-W] [-t SECS] [-s]\n" @@ -547,32 +566,32 @@ msgstr "" " %s restart [-D RÉP_DONNÉES] [-m MODE_ARRÊT] [-W] [-t SECS] [-s]\n" " [-o OPTIONS] [-c]\n" -#: pg_ctl.c:1974 +#: pg_ctl.c:1971 #, c-format msgid " %s reload [-D DATADIR] [-s]\n" msgstr " %s reload [-D RÉP_DONNÉES] [-s]\n" -#: pg_ctl.c:1975 +#: pg_ctl.c:1972 #, c-format msgid " %s status [-D DATADIR]\n" msgstr " %s status [-D RÉP_DONNÉES]\n" -#: pg_ctl.c:1976 +#: pg_ctl.c:1973 #, c-format msgid " %s promote [-D DATADIR] [-W] [-t SECS] [-s]\n" msgstr " %s promote [-D RÉP_DONNÉES] [-W] [-t SECS] [-s]\n" -#: pg_ctl.c:1977 +#: pg_ctl.c:1974 #, c-format msgid " %s logrotate [-D DATADIR] [-s]\n" msgstr " %s logrotate [-D RÉP_DONNÉES] [-s]\n" -#: pg_ctl.c:1978 +#: pg_ctl.c:1975 #, c-format msgid " %s kill SIGNALNAME PID\n" msgstr " %s kill NOM_SIGNAL PID\n" -#: pg_ctl.c:1980 +#: pg_ctl.c:1977 #, c-format msgid "" " %s register [-D DATADIR] [-N SERVICENAME] [-U USERNAME] [-P PASSWORD]\n" @@ -581,12 +600,12 @@ msgstr "" " %s register [-D RÉP_DONNÉES] [-N NOM_SERVICE] [-U NOM_UTILISATEUR] [-P MOT_DE_PASSE]\n" " [-S TYPE_DÉMARRAGE] [-e SOURCE] [-W] [-t SECS] [-s] [-o OPTIONS]\n" -#: pg_ctl.c:1982 +#: pg_ctl.c:1979 #, c-format msgid " %s unregister [-N SERVICENAME]\n" msgstr " %s unregister [-N NOM_SERVICE]\n" -#: pg_ctl.c:1985 +#: pg_ctl.c:1982 #, c-format msgid "" "\n" @@ -595,58 +614,58 @@ msgstr "" "\n" "Options générales :\n" -#: pg_ctl.c:1986 +#: pg_ctl.c:1983 #, c-format msgid " -D, --pgdata=DATADIR location of the database storage area\n" msgstr " -D, --pgdata=RÉP_DONNÉES emplacement du répertoire des données de l'instance\n" -#: pg_ctl.c:1988 +#: pg_ctl.c:1985 #, c-format msgid " -e SOURCE event source for logging when running as a service\n" msgstr "" " -e SOURCE source de l'événement pour la trace lors de\n" " l'exécution en tant que service\n" -#: pg_ctl.c:1990 +#: pg_ctl.c:1987 #, c-format msgid " -s, --silent only print errors, no informational messages\n" msgstr "" " -s, --silent affiche uniquement les erreurs, aucun message\n" " d'informations\n" -#: pg_ctl.c:1991 +#: pg_ctl.c:1988 #, c-format msgid " -t, --timeout=SECS seconds to wait when using -w option\n" msgstr "" " -t, --timeout=SECS durée en secondes à attendre lors de l'utilisation\n" " de l'option -w\n" -#: pg_ctl.c:1992 +#: pg_ctl.c:1989 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version affiche la version puis quitte\n" -#: pg_ctl.c:1993 +#: pg_ctl.c:1990 #, c-format msgid " -w, --wait wait until operation completes (default)\n" msgstr " -w, --wait attend la fin de l'opération (par défaut)\n" -#: pg_ctl.c:1994 +#: pg_ctl.c:1991 #, c-format msgid " -W, --no-wait do not wait until operation completes\n" msgstr " -W, --no-wait n'attend pas la fin de l'opération\n" -#: pg_ctl.c:1995 +#: pg_ctl.c:1992 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help affiche cette aide puis quitte\n" -#: pg_ctl.c:1996 +#: pg_ctl.c:1993 #, c-format msgid "If the -D option is omitted, the environment variable PGDATA is used.\n" msgstr "Si l'option -D est omise, la variable d'environnement PGDATA est utilisée.\n" -#: pg_ctl.c:1998 +#: pg_ctl.c:1995 #, c-format msgid "" "\n" @@ -655,22 +674,22 @@ msgstr "" "\n" "Options pour le démarrage ou le redémarrage :\n" -#: pg_ctl.c:2000 +#: pg_ctl.c:1997 #, c-format msgid " -c, --core-files allow postgres to produce core files\n" msgstr " -c, --core-files autorise postgres à produire des fichiers core\n" -#: pg_ctl.c:2002 +#: pg_ctl.c:1999 #, c-format msgid " -c, --core-files not applicable on this platform\n" msgstr " -c, --core-files non applicable à cette plateforme\n" -#: pg_ctl.c:2004 +#: pg_ctl.c:2001 #, c-format msgid " -l, --log=FILENAME write (or append) server log to FILENAME\n" msgstr " -l, --log=FICHIER écrit (ou ajoute) le journal du serveur dans FICHIER\n" -#: pg_ctl.c:2005 +#: pg_ctl.c:2002 #, c-format msgid "" " -o, --options=OPTIONS command line options to pass to postgres\n" @@ -680,12 +699,12 @@ msgstr "" " postgres (exécutable du serveur PostgreSQL)\n" " ou à initdb\n" -#: pg_ctl.c:2007 +#: pg_ctl.c:2004 #, c-format msgid " -p PATH-TO-POSTGRES normally not necessary\n" msgstr " -p CHEMIN_POSTGRES normalement pas nécessaire\n" -#: pg_ctl.c:2008 +#: pg_ctl.c:2005 #, c-format msgid "" "\n" @@ -694,14 +713,14 @@ msgstr "" "\n" "Options pour l'arrêt ou le redémarrage :\n" -#: pg_ctl.c:2009 +#: pg_ctl.c:2006 #, c-format msgid " -m, --mode=MODE MODE can be \"smart\", \"fast\", or \"immediate\"\n" msgstr "" " -m, --mode=MODE MODE peut valoir « smart », « fast » ou\n" " « immediate »\n" -#: pg_ctl.c:2011 +#: pg_ctl.c:2008 #, c-format msgid "" "\n" @@ -710,24 +729,24 @@ msgstr "" "\n" "Les modes d'arrêt sont :\n" -#: pg_ctl.c:2012 +#: pg_ctl.c:2009 #, c-format msgid " smart quit after all clients have disconnected\n" msgstr " smart quitte après déconnexion de tous les clients\n" -#: pg_ctl.c:2013 +#: pg_ctl.c:2010 #, c-format msgid " fast quit directly, with proper shutdown (default)\n" msgstr " fast quitte directement, et arrête correctement (par défaut)\n" -#: pg_ctl.c:2014 +#: pg_ctl.c:2011 #, c-format msgid " immediate quit without complete shutdown; will lead to recovery on restart\n" msgstr "" " immediate quitte sans arrêt complet ; entraîne une restauration au démarrage\n" " suivant\n" -#: pg_ctl.c:2016 +#: pg_ctl.c:2013 #, c-format msgid "" "\n" @@ -736,7 +755,7 @@ msgstr "" "\n" "Signaux autorisés pour kill :\n" -#: pg_ctl.c:2020 +#: pg_ctl.c:2017 #, c-format msgid "" "\n" @@ -745,35 +764,35 @@ msgstr "" "\n" "Options d'enregistrement ou de dés-enregistrement :\n" -#: pg_ctl.c:2021 +#: pg_ctl.c:2018 #, c-format msgid " -N SERVICENAME service name with which to register PostgreSQL server\n" msgstr "" " -N NOM_SERVICE nom du service utilisé pour l'enregistrement du\n" " serveur PostgreSQL\n" -#: pg_ctl.c:2022 +#: pg_ctl.c:2019 #, c-format msgid " -P PASSWORD password of account to register PostgreSQL server\n" msgstr "" " -P MOT_DE_PASSE mot de passe du compte utilisé pour\n" " l'enregistrement du serveur PostgreSQL\n" -#: pg_ctl.c:2023 +#: pg_ctl.c:2020 #, c-format msgid " -U USERNAME user name of account to register PostgreSQL server\n" msgstr "" " -U NOM_UTILISATEUR nom de l'utilisateur du compte utilisé pour\n" " l'enregistrement du serveur PostgreSQL\n" -#: pg_ctl.c:2024 +#: pg_ctl.c:2021 #, c-format msgid " -S START-TYPE service start type to register PostgreSQL server\n" msgstr "" " -S TYPE_DÉMARRAGE type de démarrage du service pour enregistrer le\n" " serveur PostgreSQL\n" -#: pg_ctl.c:2026 +#: pg_ctl.c:2023 #, c-format msgid "" "\n" @@ -782,19 +801,19 @@ msgstr "" "\n" "Les types de démarrage sont :\n" -#: pg_ctl.c:2027 +#: pg_ctl.c:2024 #, c-format msgid " auto start service automatically during system startup (default)\n" msgstr "" " auto démarre le service automatiquement lors du démarrage du système\n" " (par défaut)\n" -#: pg_ctl.c:2028 +#: pg_ctl.c:2025 #, c-format msgid " demand start service on demand\n" msgstr " demand démarre le service à la demande\n" -#: pg_ctl.c:2031 +#: pg_ctl.c:2028 #, c-format msgid "" "\n" @@ -803,37 +822,37 @@ msgstr "" "\n" "Rapporter les bogues à <%s>.\n" -#: pg_ctl.c:2032 +#: pg_ctl.c:2029 #, c-format msgid "%s home page: <%s>\n" msgstr "Page d'accueil de %s : <%s>\n" -#: pg_ctl.c:2057 +#: pg_ctl.c:2054 #, c-format msgid "%s: unrecognized shutdown mode \"%s\"\n" msgstr "%s : mode d'arrêt non reconnu « %s »\n" -#: pg_ctl.c:2086 +#: pg_ctl.c:2083 #, c-format msgid "%s: unrecognized signal name \"%s\"\n" msgstr "%s : signal non reconnu « %s »\n" -#: pg_ctl.c:2103 +#: pg_ctl.c:2100 #, c-format msgid "%s: unrecognized start type \"%s\"\n" msgstr "%s : type de redémarrage « %s » non reconnu\n" -#: pg_ctl.c:2159 +#: pg_ctl.c:2156 #, c-format msgid "%s: could not determine the data directory using command \"%s\"\n" msgstr "%s : n'a pas déterminer le répertoire des données en utilisant la commande « %s »\n" -#: pg_ctl.c:2182 +#: pg_ctl.c:2179 #, c-format msgid "%s: control file appears to be corrupt\n" msgstr "%s : le fichier de contrôle semble corrompu\n" -#: pg_ctl.c:2250 +#: pg_ctl.c:2247 #, c-format msgid "" "%s: cannot be run as root\n" @@ -844,170 +863,34 @@ msgstr "" "Connectez-vous (par exemple en utilisant « su ») sous l'utilisateur (non\n" " privilégié) qui sera propriétaire du processus serveur.\n" -#: pg_ctl.c:2333 +#: pg_ctl.c:2319 #, c-format msgid "%s: -S option not supported on this platform\n" msgstr "%s : option -S non supportée sur cette plateforme\n" -#: pg_ctl.c:2370 -#, c-format -msgid "%s: too many command-line arguments (first is \"%s\")\n" -msgstr "%s : trop d'arguments en ligne de commande (le premier étant « %s »)\n" - -#: pg_ctl.c:2396 +#: pg_ctl.c:2375 #, c-format msgid "%s: missing arguments for kill mode\n" msgstr "%s : arguments manquant pour le mode kill\n" -#: pg_ctl.c:2414 +#: pg_ctl.c:2393 #, c-format msgid "%s: unrecognized operation mode \"%s\"\n" msgstr "%s : mode d'opération « %s » non reconnu\n" -#: pg_ctl.c:2424 +#: pg_ctl.c:2402 +#, c-format +msgid "%s: too many command-line arguments (first is \"%s\")\n" +msgstr "%s : trop d'arguments en ligne de commande (le premier étant « %s »)\n" + +#: pg_ctl.c:2409 #, c-format msgid "%s: no operation specified\n" msgstr "%s : aucune opération indiquée\n" -#: pg_ctl.c:2445 +#: pg_ctl.c:2430 #, c-format msgid "%s: no database directory specified and environment variable PGDATA unset\n" msgstr "" "%s : aucun répertoire de bases de données indiqué et variable\n" "d'environnement PGDATA non initialisée\n" - -#~ msgid "" -#~ "\n" -#~ "%s: -w option cannot use a relative socket directory specification\n" -#~ msgstr "" -#~ "\n" -#~ "%s : l'option -w ne peut pas utiliser un chemin relatif vers le répertoire de\n" -#~ "la socket\n" - -#~ msgid "" -#~ "\n" -#~ "%s: -w option is not supported when starting a pre-9.1 server\n" -#~ msgstr "" -#~ "\n" -#~ "%s : l'option -w n'est pas supportée lors du démarrage d'un serveur pré-9.1\n" - -#~ msgid "" -#~ "\n" -#~ "%s: this data directory appears to be running a pre-existing postmaster\n" -#~ msgstr "" -#~ "\n" -#~ "%s : ce répertoire des données semble être utilisé par un postmaster déjà existant\n" - -#~ msgid "" -#~ "\n" -#~ "Options for stop, restart, or promote:\n" -#~ msgstr "" -#~ "\n" -#~ "Options pour l'arrêt, le redémarrage ou la promotion :\n" - -#~ msgid "" -#~ "\n" -#~ "Report bugs to .\n" -#~ msgstr "" -#~ "\n" -#~ "Rapporter les bogues à .\n" - -#~ msgid " %s start [-w] [-t SECS] [-D DATADIR] [-s] [-l FILENAME] [-o \"OPTIONS\"]\n" -#~ msgstr "" -#~ " %s start [-w] [-t SECS] [-D RÉP_DONNÉES] [-s] [-l NOM_FICHIER]\n" -#~ " [-o \"OPTIONS\"]\n" - -#~ msgid " --help show this help, then exit\n" -#~ msgstr " --help affiche cette aide et quitte\n" - -#~ msgid " --version output version information, then exit\n" -#~ msgstr " --version affiche la version et quitte\n" - -#~ msgid "" -#~ "%s is a utility to start, stop, restart, reload configuration files,\n" -#~ "report the status of a PostgreSQL server, or signal a PostgreSQL process.\n" -#~ "\n" -#~ msgstr "" -#~ "%s est un outil qui permet de démarrer, arrêter, redémarrer, recharger les\n" -#~ "les fichiers de configuration, rapporter le statut d'un serveur PostgreSQL\n" -#~ "ou d'envoyer un signal à un processus PostgreSQL\n" -#~ "\n" - -#~ msgid "%s: could not create log file \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu créer le fichier de traces « %s » : %s\n" - -#~ msgid "%s: could not open process token: %lu\n" -#~ msgstr "%s : n'a pas pu ouvrir le jeton du processus : %lu\n" - -#~ msgid "%s: could not start server: exit code was %d\n" -#~ msgstr "%s : n'a pas pu démarrer le serveur : le code de sortie est %d\n" - -#~ msgid "%s: could not wait for server because of misconfiguration\n" -#~ msgstr "%s : n'a pas pu attendre le serveur à cause d'une mauvaise configuration\n" - -#~ msgid "" -#~ "(The default is to wait for shutdown, but not for start or restart.)\n" -#~ "\n" -#~ msgstr "" -#~ "(Le comportement par défaut attend l'arrêt, pas le démarrage ou le\n" -#~ "redémarrage.)\n" -#~ "\n" - -#, c-format -#~ msgid "" -#~ "The program \"%s\" is needed by %s but was not found in the\n" -#~ "same directory as \"%s\".\n" -#~ "Check your installation.\n" -#~ msgstr "" -#~ "Le programme « %s » est nécessaire pour %s, mais n'a pas été trouvé\n" -#~ "dans le même répertoire que « %s ».\n" -#~ "Vérifiez votre installation.\n" - -#, c-format -#~ msgid "" -#~ "The program \"%s\" was found by \"%s\"\n" -#~ "but was not the same version as %s.\n" -#~ "Check your installation.\n" -#~ msgstr "" -#~ "Le programme « %s » a été trouvé par « %s »\n" -#~ "mais n'est pas de la même version que %s.\n" -#~ "Vérifiez votre installation.\n" - -#~ msgid "" -#~ "WARNING: online backup mode is active\n" -#~ "Shutdown will not complete until pg_stop_backup() is called.\n" -#~ "\n" -#~ msgstr "" -#~ "ATTENTION : le mode de sauvegarde en ligne est activé.\n" -#~ "L'arrêt ne surviendra qu'au moment où pg_stop_backup() sera appelé.\n" -#~ "\n" - -#~ msgid "child process was terminated by signal %s" -#~ msgstr "le processus fils a été terminé par le signal %s" - -#~ msgid "could not change directory to \"%s\"" -#~ msgstr "n'a pas pu accéder au répertoire « %s »" - -#, c-format -#~ msgid "could not change directory to \"%s\": %m" -#~ msgstr "n'a pas pu modifier le répertoire par « %s » : %m" - -#~ msgid "could not change directory to \"%s\": %s" -#~ msgstr "n'a pas pu modifier le répertoire par « %s » : %s" - -#, c-format -#~ msgid "could not identify current directory: %m" -#~ msgstr "n'a pas pu identifier le répertoire courant : %m" - -#~ msgid "could not read symbolic link \"%s\"" -#~ msgstr "n'a pas pu lire le lien symbolique « %s »" - -#, c-format -#~ msgid "could not read symbolic link \"%s\": %m" -#~ msgstr "n'a pas pu lire le lien symbolique « %s » : %m" - -#~ msgid "pclose failed: %m" -#~ msgstr "échec de pclose : %m" - -#~ msgid "server is still starting up\n" -#~ msgstr "le serveur est toujours en cours de démarrage\n" diff --git a/src/bin/pg_ctl/po/ja.po b/src/bin/pg_ctl/po/ja.po index 892da976cad..77c2d6ba2f1 100644 --- a/src/bin/pg_ctl/po/ja.po +++ b/src/bin/pg_ctl/po/ja.po @@ -11,8 +11,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_ctl (PostgreSQL 17)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-03-13 10:06+0900\n" -"PO-Revision-Date: 2024-03-13 10:29+0900\n" +"POT-Creation-Date: 2024-07-19 09:21+0900\n" +"PO-Revision-Date: 2024-07-19 09:52+0900\n" "Last-Translator: Kyotaro Horiguchi \n" "Language-Team: Japan PostgreSQL Users Group \n" "Language: ja\n" @@ -22,6 +22,10 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Poedit 1.8.13\n" +#: ../../common/controldata_utils.c:168 +msgid "byte ordering mismatch" +msgstr "バイトオーダが合っていません" + #: ../../common/exec.c:174 #, c-format msgid "invalid binary \"%s\": %m" @@ -113,118 +117,122 @@ msgstr "子プロセスが未知のステータス%dで終了しました" msgid "could not get current working directory: %m\n" msgstr "現在の作業ディレクトリを取得できませんでした: %m\n" -#: pg_ctl.c:254 +#: pg_ctl.c:255 #, c-format msgid "%s: directory \"%s\" does not exist\n" msgstr "%s: ディレクトリ \"%s\" は存在しません\n" -#: pg_ctl.c:257 +#: pg_ctl.c:258 #, c-format msgid "%s: could not access directory \"%s\": %m\n" msgstr "%s: ディレクトリ\"%s\"にアクセスできませんでした: %m\n" -#: pg_ctl.c:270 +#: pg_ctl.c:271 #, c-format msgid "%s: directory \"%s\" is not a database cluster directory\n" msgstr "%s: ディレクトリ\"%s\"はデータベースクラスタディレクトリではありません\n" -#: pg_ctl.c:283 +#: pg_ctl.c:284 #, c-format msgid "%s: could not open PID file \"%s\": %m\n" msgstr "%s: PIDファイル\"%s\"をオープンできませんでした: %m\n" -#: pg_ctl.c:292 +#: pg_ctl.c:293 #, c-format msgid "%s: the PID file \"%s\" is empty\n" msgstr "%s: PIDファイル\"%s\"が空です\n" -#: pg_ctl.c:295 +#: pg_ctl.c:296 #, c-format msgid "%s: invalid data in PID file \"%s\"\n" msgstr "%s: PIDファイル\"%s\"内に無効なデータがあります\n" -#: pg_ctl.c:457 pg_ctl.c:499 +#: pg_ctl.c:458 pg_ctl.c:500 #, c-format msgid "%s: could not start server: %m\n" msgstr "%s: サーバーを起動できませんでした: %m\n" -#: pg_ctl.c:477 +#: pg_ctl.c:478 #, c-format msgid "%s: could not start server due to setsid() failure: %m\n" msgstr "%s: setsid()に失敗したためサーバーを起動できませんでした: %m\n" -#: pg_ctl.c:547 +#: pg_ctl.c:548 #, c-format msgid "%s: could not open log file \"%s\": %m\n" msgstr "%s: ログファイル \"%s\" をオープンできませんでした: %m\n" -#: pg_ctl.c:564 +#: pg_ctl.c:565 #, c-format msgid "%s: could not start server: error code %lu\n" msgstr "%s: サーバーの起動に失敗しました: エラーコード %lu\n" -#: pg_ctl.c:781 +#: pg_ctl.c:789 #, c-format msgid "%s: cannot set core file size limit; disallowed by hard limit\n" msgstr "%s: コアファイルのサイズ制限を設定できません:固定の制限により許されていません\n" -#: pg_ctl.c:807 +#: pg_ctl.c:815 #, c-format msgid "%s: could not read file \"%s\"\n" msgstr "%s: ファイル\"%s\"を読み取ることに失敗しました\n" -#: pg_ctl.c:812 +#: pg_ctl.c:820 #, c-format msgid "%s: option file \"%s\" must have exactly one line\n" msgstr "%s: オプションファイル\"%s\"は1行のみでなければなりません\n" -#: pg_ctl.c:854 pg_ctl.c:1038 pg_ctl.c:1105 +#: pg_ctl.c:862 pg_ctl.c:1050 pg_ctl.c:1117 #, c-format msgid "%s: could not send stop signal (PID: %d): %m\n" msgstr "%s: 停止シグナルを送信できませんでした。(PID: %d): %m\n" -#: pg_ctl.c:882 +#: pg_ctl.c:890 #, c-format msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"\n" msgstr "%2$sにはプログラム\"%1$s\"が必要ですが、\"%3$s\"と同じディレクトリにありませんでした\n" -#: pg_ctl.c:885 +#: pg_ctl.c:893 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s\n" msgstr "\"%2$s\"がプログラム\"%1$s\"を見つけましたが、これは%3$sと同じバージョンではありませんでした\n" -#: pg_ctl.c:917 +#: pg_ctl.c:925 #, c-format msgid "%s: database system initialization failed\n" msgstr "%s: データベースシステムが初期化に失敗しました\n" -#: pg_ctl.c:932 +#: pg_ctl.c:940 #, c-format msgid "%s: another server might be running; trying to start server anyway\n" msgstr "%s: 他のサーバーが動作中の可能性がありますが、とにかくpostmasterの起動を試みます。\n" -#: pg_ctl.c:980 +#: pg_ctl.c:988 msgid "waiting for server to start..." msgstr "サーバーの起動完了を待っています..." -#: pg_ctl.c:985 pg_ctl.c:1061 pg_ctl.c:1123 pg_ctl.c:1235 +#: pg_ctl.c:993 pg_ctl.c:1003 pg_ctl.c:1073 pg_ctl.c:1135 pg_ctl.c:1247 msgid " done\n" msgstr "完了\n" -#: pg_ctl.c:986 +#: pg_ctl.c:994 msgid "server started\n" msgstr "サーバー起動完了\n" -#: pg_ctl.c:989 pg_ctl.c:995 pg_ctl.c:1240 +#: pg_ctl.c:997 pg_ctl.c:1007 pg_ctl.c:1252 msgid " stopped waiting\n" msgstr " 待機処理が停止されました\n" -#: pg_ctl.c:990 +#: pg_ctl.c:998 #, c-format msgid "%s: server did not start in time\n" msgstr "%s: サーバーは時間内に起動しませんでした\n" -#: pg_ctl.c:996 +#: pg_ctl.c:1004 +msgid "server shut down because of recovery target settings\n" +msgstr "リカバリ目標設定によりシャットダウンしました\n" + +#: pg_ctl.c:1008 #, c-format msgid "" "%s: could not start server\n" @@ -233,42 +241,42 @@ msgstr "" "%s: サーバーを起動できませんでした。\n" "ログ出力を確認してください。\n" -#: pg_ctl.c:1004 +#: pg_ctl.c:1016 msgid "server starting\n" msgstr "サーバーは起動中です。\n" -#: pg_ctl.c:1023 pg_ctl.c:1081 pg_ctl.c:1144 pg_ctl.c:1183 pg_ctl.c:1264 +#: pg_ctl.c:1035 pg_ctl.c:1093 pg_ctl.c:1156 pg_ctl.c:1195 pg_ctl.c:1276 #, c-format msgid "%s: PID file \"%s\" does not exist\n" msgstr "%s: PIDファイル\"%s\"がありません\n" -#: pg_ctl.c:1024 pg_ctl.c:1083 pg_ctl.c:1145 pg_ctl.c:1184 pg_ctl.c:1265 +#: pg_ctl.c:1036 pg_ctl.c:1095 pg_ctl.c:1157 pg_ctl.c:1196 pg_ctl.c:1277 msgid "Is server running?\n" msgstr "サーバーが動作していますか?\n" -#: pg_ctl.c:1030 +#: pg_ctl.c:1042 #, c-format msgid "%s: cannot stop server; single-user server is running (PID: %d)\n" msgstr "%s: サーバーを停止できません。シングルユーザーサーバー(PID: %d)が動作しています。\n" -#: pg_ctl.c:1044 +#: pg_ctl.c:1056 msgid "server shutting down\n" msgstr "サーバーの停止中です\n" -#: pg_ctl.c:1049 pg_ctl.c:1109 +#: pg_ctl.c:1061 pg_ctl.c:1121 msgid "waiting for server to shut down..." msgstr "サーバー停止処理の完了を待っています..." -#: pg_ctl.c:1053 pg_ctl.c:1114 +#: pg_ctl.c:1065 pg_ctl.c:1126 msgid " failed\n" msgstr "失敗しました\n" -#: pg_ctl.c:1055 pg_ctl.c:1116 +#: pg_ctl.c:1067 pg_ctl.c:1128 #, c-format msgid "%s: server does not shut down\n" msgstr "%s: サーバーは停止していません\n" -#: pg_ctl.c:1057 pg_ctl.c:1118 +#: pg_ctl.c:1069 pg_ctl.c:1130 msgid "" "HINT: The \"-m fast\" option immediately disconnects sessions rather than\n" "waiting for session-initiated disconnection.\n" @@ -276,252 +284,252 @@ msgstr "" "ヒント: \"-m fast\"オプションは、セッション切断が始まるまで待機するのではなく\n" "即座にセッションを切断します。\n" -#: pg_ctl.c:1063 pg_ctl.c:1124 +#: pg_ctl.c:1075 pg_ctl.c:1136 msgid "server stopped\n" msgstr "サーバーは停止しました\n" -#: pg_ctl.c:1084 +#: pg_ctl.c:1096 msgid "trying to start server anyway\n" msgstr "とにかくサーバーの起動を試みます\n" -#: pg_ctl.c:1093 +#: pg_ctl.c:1105 #, c-format msgid "%s: cannot restart server; single-user server is running (PID: %d)\n" msgstr "%s: サーバーを再起動できません。シングルユーザーサーバー(PID: %d)が動作中です。\n" -#: pg_ctl.c:1096 pg_ctl.c:1154 +#: pg_ctl.c:1108 pg_ctl.c:1166 msgid "Please terminate the single-user server and try again.\n" msgstr "シングルユーザーサーバーを終了させてから、再度実行してください\n" -#: pg_ctl.c:1128 +#: pg_ctl.c:1140 #, c-format msgid "%s: old server process (PID: %d) seems to be gone\n" msgstr "%s: 古いサーバープロセス(PID: %d)が動作していないようです\n" -#: pg_ctl.c:1130 +#: pg_ctl.c:1142 msgid "starting server anyway\n" msgstr "とにかくサーバーを起動しています\n" -#: pg_ctl.c:1151 +#: pg_ctl.c:1163 #, c-format msgid "%s: cannot reload server; single-user server is running (PID: %d)\n" msgstr "%s: サーバーをリロードできません。シングルユーザーサーバー(PID: %d)が動作中です\n" -#: pg_ctl.c:1160 +#: pg_ctl.c:1172 #, c-format msgid "%s: could not send reload signal (PID: %d): %m\n" msgstr "%s: リロードシグナルを送信できませんでした。(PID: %d): %m\n" -#: pg_ctl.c:1165 +#: pg_ctl.c:1177 msgid "server signaled\n" msgstr "サーバーにシグナルを送信しました\n" -#: pg_ctl.c:1190 +#: pg_ctl.c:1202 #, c-format msgid "%s: cannot promote server; single-user server is running (PID: %d)\n" msgstr "%s: サーバーを昇格できません; シングルユーザーサーバー(PID: %d)が動作中です\n" -#: pg_ctl.c:1198 +#: pg_ctl.c:1210 #, c-format msgid "%s: cannot promote server; server is not in standby mode\n" msgstr "%s: サーバーを昇格できません; サーバーはスタンバイモードではありません\n" -#: pg_ctl.c:1208 +#: pg_ctl.c:1220 #, c-format msgid "%s: could not create promote signal file \"%s\": %m\n" msgstr "%s: 昇格指示ファイル\"%s\"を作成できませんでした: %m\n" -#: pg_ctl.c:1214 +#: pg_ctl.c:1226 #, c-format msgid "%s: could not write promote signal file \"%s\": %m\n" msgstr "%s: 昇格指示ファイル\"%s\"に書き込めませんでした: %m\n" -#: pg_ctl.c:1222 +#: pg_ctl.c:1234 #, c-format msgid "%s: could not send promote signal (PID: %d): %m\n" msgstr "%s: 昇格シグナルを送信できませんでした (PID: %d): %m\n" -#: pg_ctl.c:1225 +#: pg_ctl.c:1237 #, c-format msgid "%s: could not remove promote signal file \"%s\": %m\n" msgstr "%s: 昇格指示ファイル\"%s\"の削除に失敗しました: %m\n" -#: pg_ctl.c:1232 +#: pg_ctl.c:1244 msgid "waiting for server to promote..." msgstr "サーバーの昇格を待っています..." -#: pg_ctl.c:1236 +#: pg_ctl.c:1248 msgid "server promoted\n" msgstr "サーバーは昇格しました\n" -#: pg_ctl.c:1241 +#: pg_ctl.c:1253 #, c-format msgid "%s: server did not promote in time\n" msgstr "%s: サーバーは時間内に昇格しませんでした\n" -#: pg_ctl.c:1247 +#: pg_ctl.c:1259 msgid "server promoting\n" msgstr "サーバーを昇格中です\n" -#: pg_ctl.c:1271 +#: pg_ctl.c:1283 #, c-format msgid "%s: cannot rotate log file; single-user server is running (PID: %d)\n" msgstr "%s: ログをローテートできません; シングルユーザーサーバーが動作中です (PID: %d)\n" -#: pg_ctl.c:1281 +#: pg_ctl.c:1293 #, c-format msgid "%s: could not create log rotation signal file \"%s\": %m\n" msgstr "%s: ログローテート指示ファイル\"%s\"を作成できませんでした: %m\n" -#: pg_ctl.c:1287 +#: pg_ctl.c:1299 #, c-format msgid "%s: could not write log rotation signal file \"%s\": %m\n" msgstr "%s: ログローテート指示ファイル\"%s\"に書き込めきませんでした: %m\n" -#: pg_ctl.c:1295 +#: pg_ctl.c:1307 #, c-format msgid "%s: could not send log rotation signal (PID: %d): %m\n" msgstr "%s: ログローテートシグナルを送信できませんでした (PID: %d): %m\n" -#: pg_ctl.c:1298 +#: pg_ctl.c:1310 #, c-format msgid "%s: could not remove log rotation signal file \"%s\": %m\n" msgstr "%s: ログローテート指示ファイル\"%s\"の削除に失敗しました: %m\n" -#: pg_ctl.c:1303 +#: pg_ctl.c:1315 msgid "server signaled to rotate log file\n" msgstr "サーバーがログローテートをシグナルされました\n" -#: pg_ctl.c:1350 +#: pg_ctl.c:1362 #, c-format msgid "%s: single-user server is running (PID: %d)\n" msgstr "%s: シングルユーザーサーバーが動作中です(PID: %d)\n" -#: pg_ctl.c:1364 +#: pg_ctl.c:1376 #, c-format msgid "%s: server is running (PID: %d)\n" msgstr "%s: サーバーが動作中です(PID: %d)\n" -#: pg_ctl.c:1380 +#: pg_ctl.c:1392 #, c-format msgid "%s: no server running\n" msgstr "%s: サーバーが動作していません\n" -#: pg_ctl.c:1397 +#: pg_ctl.c:1409 #, c-format msgid "%s: could not send signal %d (PID: %d): %m\n" msgstr "%s: シグナル%dを送信できませんでした(PID: %d): %m\n" -#: pg_ctl.c:1428 +#: pg_ctl.c:1440 #, c-format msgid "%s: could not find own program executable\n" msgstr "%s: 本プログラムの実行ファイルの検索に失敗しました\n" -#: pg_ctl.c:1438 +#: pg_ctl.c:1450 #, c-format msgid "%s: could not find postgres program executable\n" msgstr "%s: postgres の実行ファイルが見つかりません\n" -#: pg_ctl.c:1508 pg_ctl.c:1542 +#: pg_ctl.c:1520 pg_ctl.c:1554 #, c-format msgid "%s: could not open service manager\n" msgstr "%s: サービスマネージャのオープンに失敗しました\n" -#: pg_ctl.c:1514 +#: pg_ctl.c:1526 #, c-format msgid "%s: service \"%s\" already registered\n" msgstr "%s: サービス\\\"%s\\\"は登録済みです\n" -#: pg_ctl.c:1525 +#: pg_ctl.c:1537 #, c-format msgid "%s: could not register service \"%s\": error code %lu\n" msgstr "%s: サービス\"%s\"の登録に失敗しました: エラーコード %lu\n" -#: pg_ctl.c:1548 +#: pg_ctl.c:1560 #, c-format msgid "%s: service \"%s\" not registered\n" msgstr "%s: サービス\"%s\"は登録されていません\n" -#: pg_ctl.c:1555 +#: pg_ctl.c:1567 #, c-format msgid "%s: could not open service \"%s\": error code %lu\n" msgstr "%s: サービス\"%s\"のオープンに失敗しました: エラーコード %lu\n" -#: pg_ctl.c:1564 +#: pg_ctl.c:1576 #, c-format msgid "%s: could not unregister service \"%s\": error code %lu\n" msgstr "%s: サービス\"%s\"の登録削除に失敗しました: エラーコード %lu\n" -#: pg_ctl.c:1651 +#: pg_ctl.c:1663 msgid "Waiting for server startup...\n" msgstr "サーバーの起動完了を待っています...\n" -#: pg_ctl.c:1654 +#: pg_ctl.c:1666 msgid "Timed out waiting for server startup\n" msgstr "サーバーの起動待機がタイムアウトしました\n" -#: pg_ctl.c:1658 +#: pg_ctl.c:1670 msgid "Server started and accepting connections\n" msgstr "サーバーは起動し、接続を受け付けています\n" -#: pg_ctl.c:1713 +#: pg_ctl.c:1725 #, c-format msgid "%s: could not start service \"%s\": error code %lu\n" msgstr "%s: サービス\"%s\"の起動に失敗しました: エラーコード %lu\n" -#: pg_ctl.c:1786 +#: pg_ctl.c:1798 #, c-format msgid "%s: could not open process token: error code %lu\n" msgstr "%s: プロセストークンをオープンできませんでした: エラーコード %lu\n" -#: pg_ctl.c:1800 +#: pg_ctl.c:1812 #, c-format msgid "%s: could not allocate SIDs: error code %lu\n" msgstr "%s: SIDを割り当てられませんでした: エラーコード %lu\n" -#: pg_ctl.c:1826 +#: pg_ctl.c:1838 #, c-format msgid "%s: could not create restricted token: error code %lu\n" msgstr "%s: 制限付きトークンを作成できませんでした: エラーコード %lu\n" -#: pg_ctl.c:1908 +#: pg_ctl.c:1920 #, c-format msgid "%s: could not get LUIDs for privileges: error code %lu\n" msgstr "%s: 権限の LUID を取得できません: エラーコード %lu\n" -#: pg_ctl.c:1916 pg_ctl.c:1931 +#: pg_ctl.c:1928 pg_ctl.c:1943 #, c-format msgid "%s: could not get token information: error code %lu\n" msgstr "%s: トークン情報を取得できませんでした: エラーコード %lu\n" -#: pg_ctl.c:1925 +#: pg_ctl.c:1937 #, c-format msgid "%s: out of memory\n" msgstr "%s: メモリ不足です\n" -#: pg_ctl.c:1955 +#: pg_ctl.c:1967 #, c-format msgid "Try \"%s --help\" for more information.\n" msgstr "詳細は\"%s --help\"を実行してください。\n" -#: pg_ctl.c:1963 +#: pg_ctl.c:1975 #, c-format msgid "" "%s is a utility to initialize, start, stop, or control a PostgreSQL server.\n" "\n" msgstr "%sはPostgreSQLサーバーの初期化、起動、停止、制御を行うユーティリティです。\n" -#: pg_ctl.c:1964 +#: pg_ctl.c:1976 #, c-format msgid "Usage:\n" msgstr "使用方法:\n" -#: pg_ctl.c:1965 +#: pg_ctl.c:1977 #, c-format msgid " %s init[db] [-D DATADIR] [-s] [-o OPTIONS]\n" msgstr " %s init[db] [-D DATADIR] [-s] [-o OPTIONS]\n" -#: pg_ctl.c:1966 +#: pg_ctl.c:1978 #, c-format msgid "" " %s start [-D DATADIR] [-l FILENAME] [-W] [-t SECS] [-s]\n" @@ -530,12 +538,12 @@ msgstr "" " %s start [-D DATADIR] [-l FILENAME] [-W] [-t SECS] [-s]\n" " [-o OPTIONS] [-p PATH] [-c]\n" -#: pg_ctl.c:1968 +#: pg_ctl.c:1980 #, c-format msgid " %s stop [-D DATADIR] [-m SHUTDOWN-MODE] [-W] [-t SECS] [-s]\n" msgstr " %s stop [-D DATADIR] [-m SHUTDOWN-MODE] [-W] [-t SECS] [-s]\n" -#: pg_ctl.c:1969 +#: pg_ctl.c:1981 #, c-format msgid "" " %s restart [-D DATADIR] [-m SHUTDOWN-MODE] [-W] [-t SECS] [-s]\n" @@ -544,32 +552,32 @@ msgstr "" " %s restart [-D DATADIR] [-m SHUTDOWN-MODE] [-W] [-t SECS] [-s]\n" " [-o OPTIONS] [-c]\n" -#: pg_ctl.c:1971 +#: pg_ctl.c:1983 #, c-format msgid " %s reload [-D DATADIR] [-s]\n" msgstr " %s reload [-D DATADIR] [-s]\n" -#: pg_ctl.c:1972 +#: pg_ctl.c:1984 #, c-format msgid " %s status [-D DATADIR]\n" msgstr " %s status [-D DATADIR]\n" -#: pg_ctl.c:1973 +#: pg_ctl.c:1985 #, c-format msgid " %s promote [-D DATADIR] [-W] [-t SECS] [-s]\n" msgstr " %s promote [-D DATADIR] [-W] [-t SECS] [-s]\n" -#: pg_ctl.c:1974 +#: pg_ctl.c:1986 #, c-format msgid " %s logrotate [-D DATADIR] [-s]\n" msgstr " %s logrotate [-D DATADIR] [-s]\n" -#: pg_ctl.c:1975 +#: pg_ctl.c:1987 #, c-format msgid " %s kill SIGNALNAME PID\n" msgstr " %s kill SIGNALNAME PID\n" -#: pg_ctl.c:1977 +#: pg_ctl.c:1989 #, c-format msgid "" " %s register [-D DATADIR] [-N SERVICENAME] [-U USERNAME] [-P PASSWORD]\n" @@ -578,12 +586,12 @@ msgstr "" " %s register [-D DATADIR] [-N SERVICENAME] [-U USERNAME] [-P PASSWORD]\n" " [-S START-TYPE] [-e SOURCE] [-W] [-t SECS] [-s] [-o OPTIONS]\n" -#: pg_ctl.c:1979 +#: pg_ctl.c:1991 #, c-format msgid " %s unregister [-N SERVICENAME]\n" msgstr " %s unregister [-N SERVICENAME]\n" -#: pg_ctl.c:1982 +#: pg_ctl.c:1994 #, c-format msgid "" "\n" @@ -592,52 +600,52 @@ msgstr "" "\n" "共通のオプション:\n" -#: pg_ctl.c:1983 +#: pg_ctl.c:1995 #, c-format msgid " -D, --pgdata=DATADIR location of the database storage area\n" msgstr " -D, --pgdata=DATADIR データベース格納領域の場所\n" -#: pg_ctl.c:1985 +#: pg_ctl.c:1997 #, c-format msgid " -e SOURCE event source for logging when running as a service\n" msgstr " -e SOURCE サービスとして起動させたときのログのイベントソース\n" -#: pg_ctl.c:1987 +#: pg_ctl.c:1999 #, c-format msgid " -s, --silent only print errors, no informational messages\n" msgstr " -s, --silent エラーメッセージのみを表示、情報メッセージは表示しない\n" -#: pg_ctl.c:1988 +#: pg_ctl.c:2000 #, c-format msgid " -t, --timeout=SECS seconds to wait when using -w option\n" msgstr " -t, --timeout=SECS -wオプションを使用する時に待機する秒数\n" -#: pg_ctl.c:1989 +#: pg_ctl.c:2001 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version バージョン情報を表示して終了\n" -#: pg_ctl.c:1990 +#: pg_ctl.c:2002 #, c-format msgid " -w, --wait wait until operation completes (default)\n" msgstr " -w, --wait 操作が完了するまで待機 (デフォルト)\n" -#: pg_ctl.c:1991 +#: pg_ctl.c:2003 #, c-format msgid " -W, --no-wait do not wait until operation completes\n" msgstr " -W, --no-wait 作業の完了を待たない\n" -#: pg_ctl.c:1992 +#: pg_ctl.c:2004 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help このヘルプを表示して終了\n" -#: pg_ctl.c:1993 +#: pg_ctl.c:2005 #, c-format msgid "If the -D option is omitted, the environment variable PGDATA is used.\n" msgstr "-Dオプションの省略時はPGDATA環境変数が使用されます。\n" -#: pg_ctl.c:1995 +#: pg_ctl.c:2007 #, c-format msgid "" "\n" @@ -646,22 +654,22 @@ msgstr "" "\n" "起動、再起動のオプション\n" -#: pg_ctl.c:1997 +#: pg_ctl.c:2009 #, c-format msgid " -c, --core-files allow postgres to produce core files\n" msgstr " -c, --core-files postgresのコアファイル生成を許可\n" -#: pg_ctl.c:1999 +#: pg_ctl.c:2011 #, c-format msgid " -c, --core-files not applicable on this platform\n" msgstr " -c, --core-files このプラットフォームでは適用されない\n" -#: pg_ctl.c:2001 +#: pg_ctl.c:2013 #, c-format msgid " -l, --log=FILENAME write (or append) server log to FILENAME\n" msgstr " -l, --log FILENAME サーバーログをFILENAMEへ書き込む(または追加する)\n" -#: pg_ctl.c:2002 +#: pg_ctl.c:2014 #, c-format msgid "" " -o, --options=OPTIONS command line options to pass to postgres\n" @@ -670,12 +678,12 @@ msgstr "" " -o, --options=OPTIONS postgres(PostgreSQLサーバー実行ファイル)または\n" " initdb に渡すコマンドラインオプション\n" -#: pg_ctl.c:2004 +#: pg_ctl.c:2016 #, c-format msgid " -p PATH-TO-POSTGRES normally not necessary\n" msgstr " -p PATH-TO-POSTGRES 通常は不要\n" -#: pg_ctl.c:2005 +#: pg_ctl.c:2017 #, c-format msgid "" "\n" @@ -684,12 +692,12 @@ msgstr "" "\n" "停止、再起動のオプション\n" -#: pg_ctl.c:2006 +#: pg_ctl.c:2018 #, c-format msgid " -m, --mode=MODE MODE can be \"smart\", \"fast\", or \"immediate\"\n" msgstr " -m, --mode=MODE MODEは\"smart\"、\"fast\"、\"immediate\"のいずれか\n" -#: pg_ctl.c:2008 +#: pg_ctl.c:2020 #, c-format msgid "" "\n" @@ -698,22 +706,22 @@ msgstr "" "\n" "シャットダウンモードは以下の通り:\n" -#: pg_ctl.c:2009 +#: pg_ctl.c:2021 #, c-format msgid " smart quit after all clients have disconnected\n" msgstr " smart 全クライアントの接続切断後に停止\n" -#: pg_ctl.c:2010 +#: pg_ctl.c:2022 #, c-format msgid " fast quit directly, with proper shutdown (default)\n" msgstr " fast 適切な手続きで直ちに停止(デフォルト)\n" -#: pg_ctl.c:2011 +#: pg_ctl.c:2023 #, c-format msgid " immediate quit without complete shutdown; will lead to recovery on restart\n" msgstr " immediate 適切な手続き抜きで停止; 再起動時にはリカバリが実行される\n" -#: pg_ctl.c:2013 +#: pg_ctl.c:2025 #, c-format msgid "" "\n" @@ -722,7 +730,7 @@ msgstr "" "\n" "killモードで利用できるシグナル名:\n" -#: pg_ctl.c:2017 +#: pg_ctl.c:2029 #, c-format msgid "" "\n" @@ -731,27 +739,27 @@ msgstr "" "\n" "登録、登録解除のオプション:\n" -#: pg_ctl.c:2018 +#: pg_ctl.c:2030 #, c-format msgid " -N SERVICENAME service name with which to register PostgreSQL server\n" msgstr " -N SERVICENAME PostgreSQLサーバーを登録する際のサービス名\n" -#: pg_ctl.c:2019 +#: pg_ctl.c:2031 #, c-format msgid " -P PASSWORD password of account to register PostgreSQL server\n" msgstr " -P PASSWORD PostgreSQLサーバーを登録するためのアカウントのパスワード\n" -#: pg_ctl.c:2020 +#: pg_ctl.c:2032 #, c-format msgid " -U USERNAME user name of account to register PostgreSQL server\n" msgstr " -U USERNAME PostgreSQLサーバーを登録するためのアカウント名\n" -#: pg_ctl.c:2021 +#: pg_ctl.c:2033 #, c-format msgid " -S START-TYPE service start type to register PostgreSQL server\n" msgstr " -S START-TYPE PostgreSQLサーバーを登録する際のサービス起動タイプ\n" -#: pg_ctl.c:2023 +#: pg_ctl.c:2035 #, c-format msgid "" "\n" @@ -760,17 +768,17 @@ msgstr "" "\n" "起動タイプは以下の通り:\n" -#: pg_ctl.c:2024 +#: pg_ctl.c:2036 #, c-format msgid " auto start service automatically during system startup (default)\n" msgstr " auto システムの起動時にサービスを自動的に開始(デフォルト)\n" -#: pg_ctl.c:2025 +#: pg_ctl.c:2037 #, c-format msgid " demand start service on demand\n" msgstr " demand 要求に応じてサービスを開始\n" -#: pg_ctl.c:2028 +#: pg_ctl.c:2040 #, c-format msgid "" "\n" @@ -779,37 +787,37 @@ msgstr "" "\n" "バグは<%s>に報告してください。\n" -#: pg_ctl.c:2029 +#: pg_ctl.c:2041 #, c-format msgid "%s home page: <%s>\n" msgstr "%s ホームページ: <%s>\n" -#: pg_ctl.c:2054 +#: pg_ctl.c:2066 #, c-format msgid "%s: unrecognized shutdown mode \"%s\"\n" msgstr "%s: 不正なシャットダウンモード\"%s\"\n" -#: pg_ctl.c:2083 +#: pg_ctl.c:2095 #, c-format msgid "%s: unrecognized signal name \"%s\"\n" msgstr "%s: 不正なシグナル名\"%s\"\n" -#: pg_ctl.c:2100 +#: pg_ctl.c:2112 #, c-format msgid "%s: unrecognized start type \"%s\"\n" msgstr "%s: 不正な起動タイプ\"%s\"\n" -#: pg_ctl.c:2156 +#: pg_ctl.c:2168 #, c-format msgid "%s: could not determine the data directory using command \"%s\"\n" msgstr "%s: コマンド\"%s\"を使用するデータディレクトリを決定できませんでした\n" -#: pg_ctl.c:2179 +#: pg_ctl.c:2191 #, c-format msgid "%s: control file appears to be corrupt\n" msgstr "%s: 制御ファイルが壊れているようです\n" -#: pg_ctl.c:2247 +#: pg_ctl.c:2259 #, c-format msgid "" "%s: cannot be run as root\n" @@ -820,32 +828,32 @@ msgstr "" "サーバープロセスの所有者となる(非特権)ユーザーとして(\"su\"などを使用して)\n" "ログインしてください。\n" -#: pg_ctl.c:2319 +#: pg_ctl.c:2331 #, c-format msgid "%s: -S option not supported on this platform\n" msgstr "%s: -Sオプションはこのプラットフォームでサポートされていません\n" -#: pg_ctl.c:2375 +#: pg_ctl.c:2387 #, c-format msgid "%s: missing arguments for kill mode\n" msgstr "%s: killモード用の引数がありません\n" -#: pg_ctl.c:2393 +#: pg_ctl.c:2405 #, c-format msgid "%s: unrecognized operation mode \"%s\"\n" msgstr "%s: 操作モード\"%s\"は不明です\n" -#: pg_ctl.c:2402 +#: pg_ctl.c:2414 #, c-format msgid "%s: too many command-line arguments (first is \"%s\")\n" msgstr "%s: コマンドライン引数が多すぎます(先頭は\"%s\")\n" -#: pg_ctl.c:2409 +#: pg_ctl.c:2421 #, c-format msgid "%s: no operation specified\n" msgstr "%s: 操作モードが指定されていません\n" -#: pg_ctl.c:2430 +#: pg_ctl.c:2442 #, c-format msgid "%s: no database directory specified and environment variable PGDATA unset\n" msgstr "%s: データベースの指定も、PGDATA環境変数の設定もありません\n" diff --git a/src/bin/pg_ctl/po/ka.po b/src/bin/pg_ctl/po/ka.po index fe7004788ae..196ff9cb67e 100644 --- a/src/bin/pg_ctl/po/ka.po +++ b/src/bin/pg_ctl/po/ka.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: pg_ctl (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-03-13 00:49+0000\n" +"POT-Creation-Date: 2024-07-01 03:50+0000\n" "PO-Revision-Date: 2024-03-13 02:04+0100\n" "Last-Translator: Temuri Doghonadze \n" "Language-Team: Georgian \n" @@ -18,6 +18,10 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 3.3.2\n" +#: ../../common/controldata_utils.c:168 +msgid "byte ordering mismatch" +msgstr "ბაიტების მიმდევრობა არ ემთხვევა" + #: ../../common/exec.c:174 #, c-format msgid "invalid binary \"%s\": %m" diff --git a/src/bin/pg_ctl/po/ru.po b/src/bin/pg_ctl/po/ru.po index a5d7ee2b748..d773a3373d0 100644 --- a/src/bin/pg_ctl/po/ru.po +++ b/src/bin/pg_ctl/po/ru.po @@ -6,13 +6,13 @@ # Sergey Burladyan , 2009, 2012. # Andrey Sudnik , 2010. # Dmitriy Olshevskiy , 2014. -# Alexander Lakhin , 2012-2017, 2018, 2019, 2020, 2021, 2022, 2023. +# Alexander Lakhin , 2012-2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024. msgid "" msgstr "" "Project-Id-Version: pg_ctl (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-08-28 07:59+0300\n" -"PO-Revision-Date: 2023-08-29 10:20+0300\n" +"POT-Creation-Date: 2024-09-02 09:29+0300\n" +"PO-Revision-Date: 2024-09-07 06:47+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" @@ -22,38 +22,57 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: ../../common/exec.c:172 +#: ../../common/controldata_utils.c:168 +msgid "byte ordering mismatch" +msgstr "несоответствие порядка байт" + +#: ../../common/exec.c:174 #, c-format msgid "invalid binary \"%s\": %m" msgstr "неверный исполняемый файл \"%s\": %m" -#: ../../common/exec.c:215 +#: ../../common/exec.c:217 #, c-format msgid "could not read binary \"%s\": %m" msgstr "не удалось прочитать исполняемый файл \"%s\": %m" -#: ../../common/exec.c:223 +#: ../../common/exec.c:225 #, c-format msgid "could not find a \"%s\" to execute" msgstr "не удалось найти запускаемый файл \"%s\"" -#: ../../common/exec.c:250 +#: ../../common/exec.c:252 #, c-format msgid "could not resolve path \"%s\" to absolute form: %m" msgstr "не удалось преобразовать относительный путь \"%s\" в абсолютный: %m" -#: ../../common/exec.c:412 +#: ../../common/exec.c:382 +#, c-format +msgid "could not execute command \"%s\": %m" +msgstr "не удалось выполнить команду \"%s\": %m" + +#: ../../common/exec.c:394 +#, c-format +msgid "could not read from command \"%s\": %m" +msgstr "не удалось прочитать вывод команды \"%s\": %m" + +#: ../../common/exec.c:397 +#, c-format +msgid "no data was returned by command \"%s\"" +msgstr "команда \"%s\" не выдала данные" + +#: ../../common/exec.c:424 #, c-format msgid "%s() failed: %m" msgstr "ошибка в %s(): %m" -#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687 +#: ../../common/exec.c:562 ../../common/exec.c:607 ../../common/exec.c:699 msgid "out of memory" msgstr "нехватка памяти" #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 #: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 -#: ../../port/path.c:753 ../../port/path.c:791 ../../port/path.c:808 +#: ../../port/path.c:753 ../../port/path.c:790 ../../port/path.c:807 #, c-format msgid "out of memory\n" msgstr "нехватка памяти\n" @@ -91,133 +110,133 @@ msgstr "дочерний процесс завершён по сигналу %d: #: ../../common/wait_error.c:82 #, c-format msgid "child process exited with unrecognized status %d" -msgstr "дочерний процесс завершился с нераспознанным состоянием %d" +msgstr "дочерний процесс завершился с нераспознанным кодом состояния %d" #: ../../port/path.c:775 #, c-format -msgid "could not get current working directory: %s\n" -msgstr "не удалось определить текущий рабочий каталог: %s\n" +msgid "could not get current working directory: %m\n" +msgstr "не удалось определить текущий рабочий каталог: %m\n" -#: pg_ctl.c:255 +#: pg_ctl.c:254 #, c-format msgid "%s: directory \"%s\" does not exist\n" msgstr "%s: каталог \"%s\" не существует\n" -#: pg_ctl.c:258 +#: pg_ctl.c:257 #, c-format -msgid "%s: could not access directory \"%s\": %s\n" -msgstr "%s: ошибка доступа к каталогу \"%s\": %s\n" +msgid "%s: could not access directory \"%s\": %m\n" +msgstr "%s: ошибка при обращении к каталогу \"%s\": %m\n" -#: pg_ctl.c:271 +#: pg_ctl.c:270 #, c-format msgid "%s: directory \"%s\" is not a database cluster directory\n" msgstr "%s: каталог \"%s\" не содержит структуры кластера баз данных\n" -#: pg_ctl.c:284 +#: pg_ctl.c:283 #, c-format -msgid "%s: could not open PID file \"%s\": %s\n" -msgstr "%s: не удалось открыть файл PID \"%s\": %s\n" +msgid "%s: could not open PID file \"%s\": %m\n" +msgstr "%s: не удалось открыть файл PID \"%s\": %m\n" -#: pg_ctl.c:293 +#: pg_ctl.c:292 #, c-format msgid "%s: the PID file \"%s\" is empty\n" msgstr "%s: файл PID \"%s\" пуст\n" -#: pg_ctl.c:296 +#: pg_ctl.c:295 #, c-format msgid "%s: invalid data in PID file \"%s\"\n" msgstr "%s: неверные данные в файле PID \"%s\"\n" -#: pg_ctl.c:458 pg_ctl.c:500 +#: pg_ctl.c:457 pg_ctl.c:499 #, c-format -msgid "%s: could not start server: %s\n" -msgstr "%s: не удалось запустить сервер: %s\n" +msgid "%s: could not start server: %m\n" +msgstr "%s: не удалось запустить сервер: %m\n" -#: pg_ctl.c:478 +#: pg_ctl.c:477 #, c-format -msgid "%s: could not start server due to setsid() failure: %s\n" -msgstr "%s: не удалось запустить сервер из-за ошибки в setsid(): %s\n" +msgid "%s: could not start server due to setsid() failure: %m\n" +msgstr "%s: не удалось запустить сервер из-за ошибки в setsid(): %m\n" -#: pg_ctl.c:548 +#: pg_ctl.c:547 #, c-format -msgid "%s: could not open log file \"%s\": %s\n" -msgstr "%s: не удалось открыть файл протокола \"%s\": %s\n" +msgid "%s: could not open log file \"%s\": %m\n" +msgstr "%s: не удалось открыть файл протокола \"%s\": %m\n" -#: pg_ctl.c:565 +#: pg_ctl.c:564 #, c-format msgid "%s: could not start server: error code %lu\n" msgstr "%s: не удалось запустить сервер (код ошибки: %lu)\n" -#: pg_ctl.c:782 +#: pg_ctl.c:781 #, c-format msgid "%s: cannot set core file size limit; disallowed by hard limit\n" msgstr "" "%s: не удалось ограничить размер дампа памяти; запрещено жёстким " "ограничением\n" -#: pg_ctl.c:808 +#: pg_ctl.c:807 #, c-format msgid "%s: could not read file \"%s\"\n" msgstr "%s: не удалось прочитать файл \"%s\"\n" -#: pg_ctl.c:813 +#: pg_ctl.c:812 #, c-format msgid "%s: option file \"%s\" must have exactly one line\n" msgstr "%s: в файле параметров \"%s\" должна быть ровно одна строка\n" -#: pg_ctl.c:855 pg_ctl.c:1039 pg_ctl.c:1107 +#: pg_ctl.c:854 pg_ctl.c:1038 pg_ctl.c:1105 #, c-format -msgid "%s: could not send stop signal (PID: %d): %s\n" -msgstr "%s: не удалось отправить сигнал остановки (PID: %d): %s\n" +msgid "%s: could not send stop signal (PID: %d): %m\n" +msgstr "%s: не удалось отправить сигнал остановки (PID: %d): %m\n" -#: pg_ctl.c:883 +#: pg_ctl.c:882 #, c-format msgid "" "program \"%s\" is needed by %s but was not found in the same directory as " "\"%s\"\n" msgstr "программа \"%s\" нужна для %s, но она не найдена в каталоге \"%s\"\n" -#: pg_ctl.c:886 +#: pg_ctl.c:885 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s\n" msgstr "" "программа \"%s\" найдена программой \"%s\", но её версия отличается от " "версии %s\n" -#: pg_ctl.c:918 +#: pg_ctl.c:917 #, c-format msgid "%s: database system initialization failed\n" msgstr "%s: сбой при инициализации системы баз данных\n" -#: pg_ctl.c:933 +#: pg_ctl.c:932 #, c-format msgid "%s: another server might be running; trying to start server anyway\n" msgstr "" "%s: возможно, уже работает другой сервер; всё же пробуем запустить этот " "сервер\n" -#: pg_ctl.c:981 +#: pg_ctl.c:980 msgid "waiting for server to start..." msgstr "ожидание запуска сервера..." -#: pg_ctl.c:986 pg_ctl.c:1063 pg_ctl.c:1126 pg_ctl.c:1238 +#: pg_ctl.c:985 pg_ctl.c:1061 pg_ctl.c:1123 pg_ctl.c:1235 msgid " done\n" msgstr " готово\n" -#: pg_ctl.c:987 +#: pg_ctl.c:986 msgid "server started\n" msgstr "сервер запущен\n" -#: pg_ctl.c:990 pg_ctl.c:996 pg_ctl.c:1243 +#: pg_ctl.c:989 pg_ctl.c:995 pg_ctl.c:1240 msgid " stopped waiting\n" msgstr " прекращение ожидания\n" -#: pg_ctl.c:991 +#: pg_ctl.c:990 #, c-format msgid "%s: server did not start in time\n" msgstr "%s: сервер не запустился за отведённое время\n" -#: pg_ctl.c:997 +#: pg_ctl.c:996 #, c-format msgid "" "%s: could not start server\n" @@ -226,43 +245,43 @@ msgstr "" "%s: не удалось запустить сервер\n" "Изучите протокол выполнения.\n" -#: pg_ctl.c:1005 +#: pg_ctl.c:1004 msgid "server starting\n" msgstr "сервер запускается\n" -#: pg_ctl.c:1024 pg_ctl.c:1083 pg_ctl.c:1147 pg_ctl.c:1186 pg_ctl.c:1267 +#: pg_ctl.c:1023 pg_ctl.c:1081 pg_ctl.c:1144 pg_ctl.c:1183 pg_ctl.c:1264 #, c-format msgid "%s: PID file \"%s\" does not exist\n" msgstr "%s: файл PID \"%s\" не существует\n" -#: pg_ctl.c:1025 pg_ctl.c:1085 pg_ctl.c:1148 pg_ctl.c:1187 pg_ctl.c:1268 +#: pg_ctl.c:1024 pg_ctl.c:1083 pg_ctl.c:1145 pg_ctl.c:1184 pg_ctl.c:1265 msgid "Is server running?\n" msgstr "Запущен ли сервер?\n" -#: pg_ctl.c:1031 +#: pg_ctl.c:1030 #, c-format msgid "%s: cannot stop server; single-user server is running (PID: %d)\n" msgstr "" "%s: остановить сервер с PID %d нельзя - он запущен в монопольном режиме\n" -#: pg_ctl.c:1046 +#: pg_ctl.c:1044 msgid "server shutting down\n" msgstr "сервер останавливается\n" -#: pg_ctl.c:1051 pg_ctl.c:1112 +#: pg_ctl.c:1049 pg_ctl.c:1109 msgid "waiting for server to shut down..." msgstr "ожидание завершения работы сервера..." -#: pg_ctl.c:1055 pg_ctl.c:1117 +#: pg_ctl.c:1053 pg_ctl.c:1114 msgid " failed\n" msgstr " ошибка\n" -#: pg_ctl.c:1057 pg_ctl.c:1119 +#: pg_ctl.c:1055 pg_ctl.c:1116 #, c-format msgid "%s: server does not shut down\n" msgstr "%s: сервер не останавливается\n" -#: pg_ctl.c:1059 pg_ctl.c:1121 +#: pg_ctl.c:1057 pg_ctl.c:1118 msgid "" "HINT: The \"-m fast\" option immediately disconnects sessions rather than\n" "waiting for session-initiated disconnection.\n" @@ -270,243 +289,243 @@ msgstr "" "ПОДСКАЗКА: Параметр \"-m fast\" может сбросить сеансы принудительно,\n" "не дожидаясь, пока они завершатся сами.\n" -#: pg_ctl.c:1065 pg_ctl.c:1127 +#: pg_ctl.c:1063 pg_ctl.c:1124 msgid "server stopped\n" msgstr "сервер остановлен\n" -#: pg_ctl.c:1086 +#: pg_ctl.c:1084 msgid "trying to start server anyway\n" msgstr "производится попытка запуска сервера в любом случае\n" -#: pg_ctl.c:1095 +#: pg_ctl.c:1093 #, c-format msgid "%s: cannot restart server; single-user server is running (PID: %d)\n" msgstr "" "%s: перезапустить сервер с PID %d нельзя - он запущен в монопольном режиме\n" -#: pg_ctl.c:1098 pg_ctl.c:1157 +#: pg_ctl.c:1096 pg_ctl.c:1154 msgid "Please terminate the single-user server and try again.\n" msgstr "Пожалуйста, остановите его и повторите попытку.\n" -#: pg_ctl.c:1131 +#: pg_ctl.c:1128 #, c-format msgid "%s: old server process (PID: %d) seems to be gone\n" msgstr "%s: похоже, что старый серверный процесс (PID: %d) исчез\n" -#: pg_ctl.c:1133 +#: pg_ctl.c:1130 msgid "starting server anyway\n" msgstr "сервер запускается, несмотря на это\n" -#: pg_ctl.c:1154 +#: pg_ctl.c:1151 #, c-format msgid "%s: cannot reload server; single-user server is running (PID: %d)\n" msgstr "" "%s: перезагрузить сервер с PID %d нельзя - он запущен в монопольном режиме\n" -#: pg_ctl.c:1163 +#: pg_ctl.c:1160 #, c-format -msgid "%s: could not send reload signal (PID: %d): %s\n" -msgstr "%s: не удалось отправить сигнал перезагрузки (PID: %d): %s\n" +msgid "%s: could not send reload signal (PID: %d): %m\n" +msgstr "%s: не удалось отправить сигнал перезагрузки (PID: %d): %m\n" -#: pg_ctl.c:1168 +#: pg_ctl.c:1165 msgid "server signaled\n" msgstr "сигнал отправлен серверу\n" -#: pg_ctl.c:1193 +#: pg_ctl.c:1190 #, c-format msgid "%s: cannot promote server; single-user server is running (PID: %d)\n" msgstr "" "%s: повысить сервер с PID %d нельзя - он выполняется в монопольном режиме\n" -#: pg_ctl.c:1201 +#: pg_ctl.c:1198 #, c-format msgid "%s: cannot promote server; server is not in standby mode\n" msgstr "%s: повысить сервер нельзя - он работает не в режиме резерва\n" -#: pg_ctl.c:1211 +#: pg_ctl.c:1208 #, c-format -msgid "%s: could not create promote signal file \"%s\": %s\n" -msgstr "%s: не удалось создать файл \"%s\" с сигналом к повышению: %s\n" +msgid "%s: could not create promote signal file \"%s\": %m\n" +msgstr "%s: не удалось создать файл \"%s\" с сигналом к повышению: %m\n" -#: pg_ctl.c:1217 +#: pg_ctl.c:1214 #, c-format -msgid "%s: could not write promote signal file \"%s\": %s\n" -msgstr "%s: не удалось записать файл \"%s\" с сигналом к повышению: %s\n" +msgid "%s: could not write promote signal file \"%s\": %m\n" +msgstr "%s: не удалось записать файл \"%s\" с сигналом к повышению: %m\n" -#: pg_ctl.c:1225 +#: pg_ctl.c:1222 #, c-format -msgid "%s: could not send promote signal (PID: %d): %s\n" -msgstr "%s: не удалось отправить сигнал к повышению (PID: %d): %s\n" +msgid "%s: could not send promote signal (PID: %d): %m\n" +msgstr "%s: не удалось отправить сигнал к повышению (PID: %d): %m\n" -#: pg_ctl.c:1228 +#: pg_ctl.c:1225 #, c-format -msgid "%s: could not remove promote signal file \"%s\": %s\n" -msgstr "%s: ошибка при удалении файла \"%s\" с сигналом к повышению: %s\n" +msgid "%s: could not remove promote signal file \"%s\": %m\n" +msgstr "%s: ошибка при удалении файла \"%s\" с сигналом к повышению: %m\n" -#: pg_ctl.c:1235 +#: pg_ctl.c:1232 msgid "waiting for server to promote..." msgstr "ожидание повышения сервера..." -#: pg_ctl.c:1239 +#: pg_ctl.c:1236 msgid "server promoted\n" msgstr "сервер повышен\n" -#: pg_ctl.c:1244 +#: pg_ctl.c:1241 #, c-format msgid "%s: server did not promote in time\n" msgstr "%s: повышение сервера не завершилось за отведённое время\n" -#: pg_ctl.c:1250 +#: pg_ctl.c:1247 msgid "server promoting\n" msgstr "сервер повышается\n" -#: pg_ctl.c:1274 +#: pg_ctl.c:1271 #, c-format msgid "%s: cannot rotate log file; single-user server is running (PID: %d)\n" msgstr "" "%s: не удалось прокрутить файл журнала; сервер работает в монопольном режиме " "(PID: %d)\n" -#: pg_ctl.c:1284 +#: pg_ctl.c:1281 #, c-format -msgid "%s: could not create log rotation signal file \"%s\": %s\n" +msgid "%s: could not create log rotation signal file \"%s\": %m\n" msgstr "" -"%s: не удалось создать файл \"%s\" с сигналом к прокрутке журнала: %s\n" +"%s: не удалось создать файл \"%s\" с сигналом к прокрутке журнала: %m\n" -#: pg_ctl.c:1290 +#: pg_ctl.c:1287 #, c-format -msgid "%s: could not write log rotation signal file \"%s\": %s\n" +msgid "%s: could not write log rotation signal file \"%s\": %m\n" msgstr "" -"%s: не удалось записать файл \"%s\" с сигналом к прокрутке журнала: %s\n" +"%s: не удалось записать файл \"%s\" с сигналом к прокрутке журнала: %m\n" -#: pg_ctl.c:1298 +#: pg_ctl.c:1295 #, c-format -msgid "%s: could not send log rotation signal (PID: %d): %s\n" -msgstr "%s: не удалось отправить сигнал к прокрутке журнала (PID: %d): %s\n" +msgid "%s: could not send log rotation signal (PID: %d): %m\n" +msgstr "%s: не удалось отправить сигнал к прокрутке журнала (PID: %d): %m\n" -#: pg_ctl.c:1301 +#: pg_ctl.c:1298 #, c-format -msgid "%s: could not remove log rotation signal file \"%s\": %s\n" +msgid "%s: could not remove log rotation signal file \"%s\": %m\n" msgstr "" -"%s: ошибка при удалении файла \"%s\" с сигналом к прокрутке журнала: %s\n" +"%s: ошибка при удалении файла \"%s\" с сигналом к прокрутке журнала: %m\n" -#: pg_ctl.c:1306 +#: pg_ctl.c:1303 msgid "server signaled to rotate log file\n" msgstr "сигнал для прокрутки файла журнала отправлен серверу\n" -#: pg_ctl.c:1353 +#: pg_ctl.c:1350 #, c-format msgid "%s: single-user server is running (PID: %d)\n" msgstr "%s: сервер работает в монопольном режиме (PID: %d)\n" -#: pg_ctl.c:1367 +#: pg_ctl.c:1364 #, c-format msgid "%s: server is running (PID: %d)\n" msgstr "%s: сервер работает (PID: %d)\n" -#: pg_ctl.c:1383 +#: pg_ctl.c:1380 #, c-format msgid "%s: no server running\n" msgstr "%s: сервер не работает\n" -#: pg_ctl.c:1400 +#: pg_ctl.c:1397 #, c-format -msgid "%s: could not send signal %d (PID: %d): %s\n" -msgstr "%s: не удалось отправить сигнал %d (PID: %d): %s\n" +msgid "%s: could not send signal %d (PID: %d): %m\n" +msgstr "%s: не удалось отправить сигнал %d (PID: %d): %m\n" -#: pg_ctl.c:1431 +#: pg_ctl.c:1428 #, c-format msgid "%s: could not find own program executable\n" msgstr "%s: не удалось найти свой исполняемый файл\n" -#: pg_ctl.c:1441 +#: pg_ctl.c:1438 #, c-format msgid "%s: could not find postgres program executable\n" msgstr "%s: не удалось найти исполняемый файл postgres\n" -#: pg_ctl.c:1511 pg_ctl.c:1545 +#: pg_ctl.c:1508 pg_ctl.c:1542 #, c-format msgid "%s: could not open service manager\n" msgstr "%s: не удалось открыть менеджер служб\n" -#: pg_ctl.c:1517 +#: pg_ctl.c:1514 #, c-format msgid "%s: service \"%s\" already registered\n" msgstr "%s: служба \"%s\" уже зарегистрирована\n" -#: pg_ctl.c:1528 +#: pg_ctl.c:1525 #, c-format msgid "%s: could not register service \"%s\": error code %lu\n" msgstr "%s: не удалось зарегистрировать службу \"%s\" (код ошибки: %lu)\n" -#: pg_ctl.c:1551 +#: pg_ctl.c:1548 #, c-format msgid "%s: service \"%s\" not registered\n" msgstr "%s: служба \"%s\" не зарегистрирована\n" -#: pg_ctl.c:1558 +#: pg_ctl.c:1555 #, c-format msgid "%s: could not open service \"%s\": error code %lu\n" msgstr "%s: не удалось открыть службу \"%s\" (код ошибки: %lu)\n" -#: pg_ctl.c:1567 +#: pg_ctl.c:1564 #, c-format msgid "%s: could not unregister service \"%s\": error code %lu\n" msgstr "%s: ошибка при удалении службы \"%s\" (код ошибки: %lu)\n" -#: pg_ctl.c:1654 +#: pg_ctl.c:1651 msgid "Waiting for server startup...\n" msgstr "Ожидание запуска сервера...\n" -#: pg_ctl.c:1657 +#: pg_ctl.c:1654 msgid "Timed out waiting for server startup\n" msgstr "Превышено время ожидания запуска сервера\n" -#: pg_ctl.c:1661 +#: pg_ctl.c:1658 msgid "Server started and accepting connections\n" msgstr "Сервер запущен и принимает подключения\n" -#: pg_ctl.c:1716 +#: pg_ctl.c:1713 #, c-format msgid "%s: could not start service \"%s\": error code %lu\n" msgstr "%s: не удалось запустить службу \"%s\" (код ошибки: %lu)\n" -#: pg_ctl.c:1789 +#: pg_ctl.c:1786 #, c-format msgid "%s: could not open process token: error code %lu\n" msgstr "%s: не удалось открыть маркер процесса (код ошибки: %lu)\n" -#: pg_ctl.c:1803 +#: pg_ctl.c:1800 #, c-format msgid "%s: could not allocate SIDs: error code %lu\n" msgstr "%s: не удалось подготовить структуры SID (код ошибки: %lu)\n" -#: pg_ctl.c:1829 +#: pg_ctl.c:1826 #, c-format msgid "%s: could not create restricted token: error code %lu\n" msgstr "%s: не удалось создать ограниченный маркер (код ошибки: %lu)\n" -#: pg_ctl.c:1911 +#: pg_ctl.c:1908 #, c-format msgid "%s: could not get LUIDs for privileges: error code %lu\n" msgstr "%s: не удалось получить LUID для привилегий (код ошибки: %lu)\n" -#: pg_ctl.c:1919 pg_ctl.c:1934 +#: pg_ctl.c:1916 pg_ctl.c:1931 #, c-format msgid "%s: could not get token information: error code %lu\n" msgstr "%s: не удалось получить информацию о маркере (код ошибки: %lu)\n" -#: pg_ctl.c:1928 +#: pg_ctl.c:1925 #, c-format msgid "%s: out of memory\n" msgstr "%s: нехватка памяти\n" -#: pg_ctl.c:1958 +#: pg_ctl.c:1955 #, c-format msgid "Try \"%s --help\" for more information.\n" msgstr "Для дополнительной информации попробуйте \"%s --help\".\n" -#: pg_ctl.c:1966 +#: pg_ctl.c:1963 #, c-format msgid "" "%s is a utility to initialize, start, stop, or control a PostgreSQL server.\n" @@ -516,17 +535,17 @@ msgstr "" "PostgreSQL.\n" "\n" -#: pg_ctl.c:1967 +#: pg_ctl.c:1964 #, c-format msgid "Usage:\n" msgstr "Использование:\n" -#: pg_ctl.c:1968 +#: pg_ctl.c:1965 #, c-format msgid " %s init[db] [-D DATADIR] [-s] [-o OPTIONS]\n" msgstr " %s init[db] [-D КАТАЛОГ-ДАННЫХ] [-s] [-o ПАРАМЕТРЫ]\n" -#: pg_ctl.c:1969 +#: pg_ctl.c:1966 #, c-format msgid "" " %s start [-D DATADIR] [-l FILENAME] [-W] [-t SECS] [-s]\n" @@ -535,13 +554,13 @@ msgstr "" " %s start [-D КАТАЛОГ-ДАННЫХ] [-l ИМЯ-ФАЙЛА] [-W] [-t СЕК] [-s]\n" " [-o ПАРАМЕТРЫ] [-p ПУТЬ] [-c]\n" -#: pg_ctl.c:1971 +#: pg_ctl.c:1968 #, c-format msgid " %s stop [-D DATADIR] [-m SHUTDOWN-MODE] [-W] [-t SECS] [-s]\n" msgstr "" " %s stop [-D КАТАЛОГ-ДАННЫХ] [-m РЕЖИМ-ОСТАНОВКИ] [-W] [-t СЕК] [-s]\n" -#: pg_ctl.c:1972 +#: pg_ctl.c:1969 #, c-format msgid "" " %s restart [-D DATADIR] [-m SHUTDOWN-MODE] [-W] [-t SECS] [-s]\n" @@ -550,32 +569,32 @@ msgstr "" " %s restart [-D КАТАЛОГ-ДАННЫХ] [-m РЕЖИМ-ОСТАНОВКИ] [-W] [-t СЕК] [-s]\n" " [-o ПАРАМЕТРЫ] [-c]\n" -#: pg_ctl.c:1974 +#: pg_ctl.c:1971 #, c-format msgid " %s reload [-D DATADIR] [-s]\n" msgstr " %s reload [-D КАТАЛОГ-ДАННЫХ] [-s]\n" -#: pg_ctl.c:1975 +#: pg_ctl.c:1972 #, c-format msgid " %s status [-D DATADIR]\n" msgstr " %s status [-D КАТАЛОГ-ДАННЫХ]\n" -#: pg_ctl.c:1976 +#: pg_ctl.c:1973 #, c-format msgid " %s promote [-D DATADIR] [-W] [-t SECS] [-s]\n" msgstr " %s promote [-D КАТАЛОГ-ДАННЫХ] [-W] [-t СЕК] [-s]\n" -#: pg_ctl.c:1977 +#: pg_ctl.c:1974 #, c-format msgid " %s logrotate [-D DATADIR] [-s]\n" msgstr " %s logrotate [-D КАТАЛОГ-ДАННЫХ] [-s]\n" -#: pg_ctl.c:1978 +#: pg_ctl.c:1975 #, c-format msgid " %s kill SIGNALNAME PID\n" msgstr " %s kill СИГНАЛ PID\n" -#: pg_ctl.c:1980 +#: pg_ctl.c:1977 #, c-format msgid "" " %s register [-D DATADIR] [-N SERVICENAME] [-U USERNAME] [-P PASSWORD]\n" @@ -587,12 +606,12 @@ msgstr "" " [-S ТИП-ЗАПУСКА] [-e ИСТОЧНИК] [-W] [-t СЕК] [-s] [-o " "ПАРАМЕТРЫ]\n" -#: pg_ctl.c:1982 +#: pg_ctl.c:1979 #, c-format msgid " %s unregister [-N SERVICENAME]\n" msgstr " %s unregister [-N ИМЯ-СЛУЖБЫ]\n" -#: pg_ctl.c:1985 +#: pg_ctl.c:1982 #, c-format msgid "" "\n" @@ -601,12 +620,12 @@ msgstr "" "\n" "Общие параметры:\n" -#: pg_ctl.c:1986 +#: pg_ctl.c:1983 #, c-format msgid " -D, --pgdata=DATADIR location of the database storage area\n" msgstr " -D, --pgdata=КАТАЛОГ расположение хранилища баз данных\n" -#: pg_ctl.c:1988 +#: pg_ctl.c:1985 #, c-format msgid "" " -e SOURCE event source for logging when running as a service\n" @@ -615,45 +634,45 @@ msgstr "" "журнал,\n" " когда сервер работает в виде службы\n" -#: pg_ctl.c:1990 +#: pg_ctl.c:1987 #, c-format msgid " -s, --silent only print errors, no informational messages\n" msgstr "" " -s, --silent выводить только ошибки, без информационных " "сообщений\n" -#: pg_ctl.c:1991 +#: pg_ctl.c:1988 #, c-format msgid " -t, --timeout=SECS seconds to wait when using -w option\n" msgstr "" " -t, --timeout=СЕК время ожидания при использовании параметра -w\n" -#: pg_ctl.c:1992 +#: pg_ctl.c:1989 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version показать версию и выйти\n" -#: pg_ctl.c:1993 +#: pg_ctl.c:1990 #, c-format msgid " -w, --wait wait until operation completes (default)\n" msgstr " -w, --wait ждать завершения операции (по умолчанию)\n" -#: pg_ctl.c:1994 +#: pg_ctl.c:1991 #, c-format msgid " -W, --no-wait do not wait until operation completes\n" msgstr " -W, --no-wait не ждать завершения операции\n" -#: pg_ctl.c:1995 +#: pg_ctl.c:1992 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help показать эту справку и выйти\n" -#: pg_ctl.c:1996 +#: pg_ctl.c:1993 #, c-format msgid "If the -D option is omitted, the environment variable PGDATA is used.\n" msgstr "Если параметр -D опущен, используется переменная окружения PGDATA.\n" -#: pg_ctl.c:1998 +#: pg_ctl.c:1995 #, c-format msgid "" "\n" @@ -662,24 +681,24 @@ msgstr "" "\n" "Параметры запуска и перезапуска:\n" -#: pg_ctl.c:2000 +#: pg_ctl.c:1997 #, c-format msgid " -c, --core-files allow postgres to produce core files\n" msgstr " -c, --core-files указать postgres создавать дампы памяти\n" -#: pg_ctl.c:2002 +#: pg_ctl.c:1999 #, c-format msgid " -c, --core-files not applicable on this platform\n" msgstr " -c, --core-files неприменимо на этой платформе\n" -#: pg_ctl.c:2004 +#: pg_ctl.c:2001 #, c-format msgid " -l, --log=FILENAME write (or append) server log to FILENAME\n" msgstr "" " -l, --log=ФАЙЛ записывать (или добавлять) протокол сервера в " "ФАЙЛ.\n" -#: pg_ctl.c:2005 +#: pg_ctl.c:2002 #, c-format msgid "" " -o, --options=OPTIONS command line options to pass to postgres\n" @@ -689,12 +708,12 @@ msgstr "" "PostgreSQL)\n" " или initdb параметры командной строки\n" -#: pg_ctl.c:2007 +#: pg_ctl.c:2004 #, c-format msgid " -p PATH-TO-POSTGRES normally not necessary\n" msgstr " -p ПУТЬ-К-POSTGRES обычно не требуется\n" -#: pg_ctl.c:2008 +#: pg_ctl.c:2005 #, c-format msgid "" "\n" @@ -703,14 +722,14 @@ msgstr "" "\n" "Параметры остановки и перезапуска:\n" -#: pg_ctl.c:2009 +#: pg_ctl.c:2006 #, c-format msgid "" " -m, --mode=MODE MODE can be \"smart\", \"fast\", or \"immediate\"\n" msgstr "" " -m, --mode=РЕЖИМ может быть \"smart\", \"fast\" или \"immediate\"\n" -#: pg_ctl.c:2011 +#: pg_ctl.c:2008 #, c-format msgid "" "\n" @@ -719,17 +738,17 @@ msgstr "" "\n" "Режимы остановки:\n" -#: pg_ctl.c:2012 +#: pg_ctl.c:2009 #, c-format msgid " smart quit after all clients have disconnected\n" msgstr " smart закончить работу после отключения всех клиентов\n" -#: pg_ctl.c:2013 +#: pg_ctl.c:2010 #, c-format msgid " fast quit directly, with proper shutdown (default)\n" msgstr " fast закончить сразу, в штатном режиме (по умолчанию)\n" -#: pg_ctl.c:2014 +#: pg_ctl.c:2011 #, c-format msgid "" " immediate quit without complete shutdown; will lead to recovery on " @@ -738,7 +757,7 @@ msgstr "" " immediate закончить немедленно, в экстренном режиме; влечёт за собой\n" " восстановление при перезапуске\n" -#: pg_ctl.c:2016 +#: pg_ctl.c:2013 #, c-format msgid "" "\n" @@ -747,7 +766,7 @@ msgstr "" "\n" "Разрешённые сигналы для команды kill:\n" -#: pg_ctl.c:2020 +#: pg_ctl.c:2017 #, c-format msgid "" "\n" @@ -756,30 +775,30 @@ msgstr "" "\n" "Параметры для регистрации и удаления:\n" -#: pg_ctl.c:2021 +#: pg_ctl.c:2018 #, c-format msgid "" " -N SERVICENAME service name with which to register PostgreSQL server\n" msgstr " -N ИМЯ-СЛУЖБЫ имя службы для регистрации сервера PostgreSQL\n" -#: pg_ctl.c:2022 +#: pg_ctl.c:2019 #, c-format msgid " -P PASSWORD password of account to register PostgreSQL server\n" msgstr "" " -P ПАРОЛЬ пароль учётной записи для регистрации сервера PostgreSQL\n" -#: pg_ctl.c:2023 +#: pg_ctl.c:2020 #, c-format msgid " -U USERNAME user name of account to register PostgreSQL server\n" msgstr "" " -U ПОЛЬЗОВАТЕЛЬ имя пользователя для регистрации сервера PostgreSQL\n" -#: pg_ctl.c:2024 +#: pg_ctl.c:2021 #, c-format msgid " -S START-TYPE service start type to register PostgreSQL server\n" msgstr " -S ТИП-ЗАПУСКА тип запуска службы сервера PostgreSQL\n" -#: pg_ctl.c:2026 +#: pg_ctl.c:2023 #, c-format msgid "" "\n" @@ -788,7 +807,7 @@ msgstr "" "\n" "Типы запуска:\n" -#: pg_ctl.c:2027 +#: pg_ctl.c:2024 #, c-format msgid "" " auto start service automatically during system startup (default)\n" @@ -796,12 +815,12 @@ msgstr "" " auto запускать службу автоматически при старте системы (по " "умолчанию)\n" -#: pg_ctl.c:2028 +#: pg_ctl.c:2025 #, c-format msgid " demand start service on demand\n" msgstr " demand запускать службу по требованию\n" -#: pg_ctl.c:2031 +#: pg_ctl.c:2028 #, c-format msgid "" "\n" @@ -810,37 +829,37 @@ msgstr "" "\n" "Об ошибках сообщайте по адресу <%s>.\n" -#: pg_ctl.c:2032 +#: pg_ctl.c:2029 #, c-format msgid "%s home page: <%s>\n" msgstr "Домашняя страница %s: <%s>\n" -#: pg_ctl.c:2057 +#: pg_ctl.c:2054 #, c-format msgid "%s: unrecognized shutdown mode \"%s\"\n" msgstr "%s: неизвестный режим остановки \"%s\"\n" -#: pg_ctl.c:2086 +#: pg_ctl.c:2083 #, c-format msgid "%s: unrecognized signal name \"%s\"\n" msgstr "%s: нераспознанное имя сигнала \"%s\"\n" -#: pg_ctl.c:2103 +#: pg_ctl.c:2100 #, c-format msgid "%s: unrecognized start type \"%s\"\n" msgstr "%s: нераспознанный тип запуска \"%s\"\n" -#: pg_ctl.c:2159 +#: pg_ctl.c:2156 #, c-format msgid "%s: could not determine the data directory using command \"%s\"\n" msgstr "%s: не удалось определить каталог данных с помощью команды \"%s\"\n" -#: pg_ctl.c:2182 +#: pg_ctl.c:2179 #, c-format msgid "%s: control file appears to be corrupt\n" msgstr "%s: управляющий файл, по-видимому, испорчен\n" -#: pg_ctl.c:2250 +#: pg_ctl.c:2247 #, c-format msgid "" "%s: cannot be run as root\n" @@ -851,32 +870,32 @@ msgstr "" "Пожалуйста, переключитесь на обычного пользователя (например,\n" "используя \"su\"), который будет запускать серверный процесс.\n" -#: pg_ctl.c:2333 +#: pg_ctl.c:2319 #, c-format msgid "%s: -S option not supported on this platform\n" msgstr "%s: параметр -S не поддерживается в этой ОС\n" -#: pg_ctl.c:2370 -#, c-format -msgid "%s: too many command-line arguments (first is \"%s\")\n" -msgstr "%s: слишком много аргументов командной строки (первый: \"%s\")\n" - -#: pg_ctl.c:2396 +#: pg_ctl.c:2375 #, c-format msgid "%s: missing arguments for kill mode\n" msgstr "%s: отсутствуют аргументы для режима kill\n" -#: pg_ctl.c:2414 +#: pg_ctl.c:2393 #, c-format msgid "%s: unrecognized operation mode \"%s\"\n" msgstr "%s: нераспознанный режим работы \"%s\"\n" -#: pg_ctl.c:2424 +#: pg_ctl.c:2402 +#, c-format +msgid "%s: too many command-line arguments (first is \"%s\")\n" +msgstr "%s: слишком много аргументов командной строки (первый: \"%s\")\n" + +#: pg_ctl.c:2409 #, c-format msgid "%s: no operation specified\n" msgstr "%s: команда не указана\n" -#: pg_ctl.c:2445 +#: pg_ctl.c:2430 #, c-format msgid "" "%s: no database directory specified and environment variable PGDATA unset\n" @@ -1009,10 +1028,6 @@ msgstr "" #~ msgid "child process was terminated by signal %s" #~ msgstr "дочерний процесс завершён по сигналу %s" -#, c-format -#~ msgid "could not change directory to \"%s\": %m" -#~ msgstr "не удалось перейти в каталог \"%s\": %m" - #, c-format #~ msgid "could not identify current directory: %m" #~ msgstr "не удалось определить текущий каталог: %m" diff --git a/src/bin/pg_ctl/po/sv.po b/src/bin/pg_ctl/po/sv.po index 3ab0f950e70..ff52b8cb209 100644 --- a/src/bin/pg_ctl/po/sv.po +++ b/src/bin/pg_ctl/po/sv.po @@ -1,5 +1,5 @@ # Swedish message translation file for pg_ctl -# Dennis Björklund , 2004, 2005, 2006, 2017, 2018, 2019, 2020, 2021, 2022, 2023. +# Dennis Björklund , 2004, 2005, 2006, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024. # Magnus Hagander , 2010. # Mats Erik Andersson , 2013, 2014. # @@ -7,10 +7,10 @@ # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 16\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-08-01 14:18+0000\n" -"PO-Revision-Date: 2023-08-30 09:01+0200\n" +"POT-Creation-Date: 2024-07-12 14:20+0000\n" +"PO-Revision-Date: 2024-07-12 19:04+0200\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -19,38 +19,57 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -#: ../../common/exec.c:172 +#: ../../common/controldata_utils.c:168 +msgid "byte ordering mismatch" +msgstr "byte-ordning stämmer inte" + +#: ../../common/exec.c:174 #, c-format msgid "invalid binary \"%s\": %m" msgstr "ogiltig binär \"%s\": %m" -#: ../../common/exec.c:215 +#: ../../common/exec.c:217 #, c-format msgid "could not read binary \"%s\": %m" msgstr "kunde inte läsa binär \"%s\": %m" -#: ../../common/exec.c:223 +#: ../../common/exec.c:225 #, c-format msgid "could not find a \"%s\" to execute" msgstr "kunde inte hitta en \"%s\" att köra" -#: ../../common/exec.c:250 +#: ../../common/exec.c:252 #, c-format msgid "could not resolve path \"%s\" to absolute form: %m" msgstr "kunde inte konvertera sökvägen \"%s\" till en absolut sökväg: %m" -#: ../../common/exec.c:412 +#: ../../common/exec.c:382 +#, c-format +msgid "could not execute command \"%s\": %m" +msgstr "kunde inte köra kommandot \"%s\": %m" + +#: ../../common/exec.c:394 +#, c-format +msgid "could not read from command \"%s\": %m" +msgstr "kunde inte läsa från kommando \"%s\": %m" + +#: ../../common/exec.c:397 +#, c-format +msgid "no data was returned by command \"%s\"" +msgstr "ingen data returnerades från kommandot \"%s\"" + +#: ../../common/exec.c:424 #, c-format msgid "%s() failed: %m" msgstr "%s() misslyckades: %m" -#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687 +#: ../../common/exec.c:562 ../../common/exec.c:607 ../../common/exec.c:699 msgid "out of memory" msgstr "slut på minne" #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 #: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 -#: ../../port/path.c:753 ../../port/path.c:791 ../../port/path.c:808 +#: ../../port/path.c:753 ../../port/path.c:790 ../../port/path.c:807 #, c-format msgid "out of memory\n" msgstr "slut på minne\n" @@ -92,121 +111,121 @@ msgstr "barnprocess avslutade med okänd statuskod %d" #: ../../port/path.c:775 #, c-format -msgid "could not get current working directory: %s\n" -msgstr "kunde inte fastställa nuvarande arbetskatalog: %s\n" +msgid "could not get current working directory: %m\n" +msgstr "kunde inte fastställa nuvarande arbetskatalog: %m\n" -#: pg_ctl.c:255 +#: pg_ctl.c:254 #, c-format msgid "%s: directory \"%s\" does not exist\n" msgstr "%s: katalogen \"%s\" existerar inte\n" -#: pg_ctl.c:258 +#: pg_ctl.c:257 #, c-format -msgid "%s: could not access directory \"%s\": %s\n" -msgstr "%s: kunde inte komma åt katalogen \"%s\": %s\n" +msgid "%s: could not access directory \"%s\": %m\n" +msgstr "%s: kunde inte komma åt katalogen \"%s\": %m\n" -#: pg_ctl.c:271 +#: pg_ctl.c:270 #, c-format msgid "%s: directory \"%s\" is not a database cluster directory\n" msgstr "%s: katalogen \"%s\" innehåller inte något databaskluster.\n" -#: pg_ctl.c:284 +#: pg_ctl.c:283 #, c-format -msgid "%s: could not open PID file \"%s\": %s\n" -msgstr "%s: kunde inte öppna PID-fil \"%s\": %s\n" +msgid "%s: could not open PID file \"%s\": %m\n" +msgstr "%s: kunde inte öppna PID-fil \"%s\": %m\n" -#: pg_ctl.c:293 +#: pg_ctl.c:292 #, c-format msgid "%s: the PID file \"%s\" is empty\n" msgstr "%s: PID-filen \"%s\" är tom\n" -#: pg_ctl.c:296 +#: pg_ctl.c:295 #, c-format msgid "%s: invalid data in PID file \"%s\"\n" msgstr "%s: ogiltig data i PID-fil \"%s\"\n" -#: pg_ctl.c:458 pg_ctl.c:500 +#: pg_ctl.c:457 pg_ctl.c:499 #, c-format -msgid "%s: could not start server: %s\n" -msgstr "%s: kunde inte starta servern: %s\n" +msgid "%s: could not start server: %m\n" +msgstr "%s: kunde inte starta servern: %m\n" -#: pg_ctl.c:478 +#: pg_ctl.c:477 #, c-format -msgid "%s: could not start server due to setsid() failure: %s\n" -msgstr "%s: kunde inte starta servern då setsid() misslyckades: %s\n" +msgid "%s: could not start server due to setsid() failure: %m\n" +msgstr "%s: kunde inte starta servern då setsid() misslyckades: %m\n" -#: pg_ctl.c:548 +#: pg_ctl.c:547 #, c-format -msgid "%s: could not open log file \"%s\": %s\n" -msgstr "%s: kunde inte öppna logg-fil \"%s\": %s\n" +msgid "%s: could not open log file \"%s\": %m\n" +msgstr "%s: kunde inte öppna logg-fil \"%s\": %m\n" -#: pg_ctl.c:565 +#: pg_ctl.c:564 #, c-format msgid "%s: could not start server: error code %lu\n" msgstr "%s: kunde inte starta servern: felkod %lu\n" -#: pg_ctl.c:782 +#: pg_ctl.c:781 #, c-format msgid "%s: cannot set core file size limit; disallowed by hard limit\n" msgstr "%s: kan inte sätta storleksgränsning på core-fil; tillåts inte av hård gräns\n" -#: pg_ctl.c:808 +#: pg_ctl.c:807 #, c-format msgid "%s: could not read file \"%s\"\n" msgstr "%s: kunde inte läsa filen \"%s\"\n" -#: pg_ctl.c:813 +#: pg_ctl.c:812 #, c-format msgid "%s: option file \"%s\" must have exactly one line\n" msgstr "%s: inställningsfilen \"%s\" måste bestå av en enda rad.\n" -#: pg_ctl.c:855 pg_ctl.c:1039 pg_ctl.c:1107 +#: pg_ctl.c:854 pg_ctl.c:1038 pg_ctl.c:1105 #, c-format -msgid "%s: could not send stop signal (PID: %d): %s\n" -msgstr "%s: kunde inte skicka stopp-signal (PID: %d): %s\n" +msgid "%s: could not send stop signal (PID: %d): %m\n" +msgstr "%s: kunde inte skicka stopp-signal (PID: %d): %m\n" -#: pg_ctl.c:883 +#: pg_ctl.c:882 #, c-format msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"\n" msgstr "programmet \"%s\" behövs av %s men hittades inte i samma katalog som \"%s\"\n" -#: pg_ctl.c:886 +#: pg_ctl.c:885 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s\n" msgstr "programmet \"%s\" hittades av \"%s\" men är inte av samma version som %s\n" -#: pg_ctl.c:918 +#: pg_ctl.c:917 #, c-format msgid "%s: database system initialization failed\n" msgstr "%s: skapande av databaskluster misslyckades\n" -#: pg_ctl.c:933 +#: pg_ctl.c:932 #, c-format msgid "%s: another server might be running; trying to start server anyway\n" msgstr "%s: en annan server verkar köra; försöker starta servern ändå.\n" -#: pg_ctl.c:981 +#: pg_ctl.c:980 msgid "waiting for server to start..." msgstr "väntar på att servern skall starta..." -#: pg_ctl.c:986 pg_ctl.c:1063 pg_ctl.c:1126 pg_ctl.c:1238 +#: pg_ctl.c:985 pg_ctl.c:1061 pg_ctl.c:1123 pg_ctl.c:1235 msgid " done\n" msgstr " klar\n" -#: pg_ctl.c:987 +#: pg_ctl.c:986 msgid "server started\n" msgstr "servern startad\n" -#: pg_ctl.c:990 pg_ctl.c:996 pg_ctl.c:1243 +#: pg_ctl.c:989 pg_ctl.c:995 pg_ctl.c:1240 msgid " stopped waiting\n" msgstr " avslutade väntan\n" -#: pg_ctl.c:991 +#: pg_ctl.c:990 #, c-format msgid "%s: server did not start in time\n" msgstr "%s: servern startade inte i tid\n" -#: pg_ctl.c:997 +#: pg_ctl.c:996 #, c-format msgid "" "%s: could not start server\n" @@ -215,42 +234,42 @@ msgstr "" "%s: kunde inte starta servern\n" "Undersök logg-utskriften.\n" -#: pg_ctl.c:1005 +#: pg_ctl.c:1004 msgid "server starting\n" msgstr "servern startar\n" -#: pg_ctl.c:1024 pg_ctl.c:1083 pg_ctl.c:1147 pg_ctl.c:1186 pg_ctl.c:1267 +#: pg_ctl.c:1023 pg_ctl.c:1081 pg_ctl.c:1144 pg_ctl.c:1183 pg_ctl.c:1264 #, c-format msgid "%s: PID file \"%s\" does not exist\n" msgstr "%s: PID-filen \"%s\" finns inte\n" -#: pg_ctl.c:1025 pg_ctl.c:1085 pg_ctl.c:1148 pg_ctl.c:1187 pg_ctl.c:1268 +#: pg_ctl.c:1024 pg_ctl.c:1083 pg_ctl.c:1145 pg_ctl.c:1184 pg_ctl.c:1265 msgid "Is server running?\n" msgstr "Kör servern?\n" -#: pg_ctl.c:1031 +#: pg_ctl.c:1030 #, c-format msgid "%s: cannot stop server; single-user server is running (PID: %d)\n" msgstr "%s: Kan inte stanna servern. En-användar-server i drift (PID: %d).\n" -#: pg_ctl.c:1046 +#: pg_ctl.c:1044 msgid "server shutting down\n" msgstr "servern stänger ner\n" -#: pg_ctl.c:1051 pg_ctl.c:1112 +#: pg_ctl.c:1049 pg_ctl.c:1109 msgid "waiting for server to shut down..." msgstr "väntar på att servern skall stänga ner..." -#: pg_ctl.c:1055 pg_ctl.c:1117 +#: pg_ctl.c:1053 pg_ctl.c:1114 msgid " failed\n" msgstr " misslyckades\n" -#: pg_ctl.c:1057 pg_ctl.c:1119 +#: pg_ctl.c:1055 pg_ctl.c:1116 #, c-format msgid "%s: server does not shut down\n" msgstr "%s: servern stänger inte ner\n" -#: pg_ctl.c:1059 pg_ctl.c:1121 +#: pg_ctl.c:1057 pg_ctl.c:1118 msgid "" "HINT: The \"-m fast\" option immediately disconnects sessions rather than\n" "waiting for session-initiated disconnection.\n" @@ -258,235 +277,235 @@ msgstr "" "TIPS: Flaggan \"-m fast\" avslutar sessioner omedelbart, i stället för att\n" "vänta på deras självvalda avslut.\n" -#: pg_ctl.c:1065 pg_ctl.c:1127 +#: pg_ctl.c:1063 pg_ctl.c:1124 msgid "server stopped\n" msgstr "servern är stoppad\n" -#: pg_ctl.c:1086 +#: pg_ctl.c:1084 msgid "trying to start server anyway\n" msgstr "försöker starta servern ändå\n" -#: pg_ctl.c:1095 +#: pg_ctl.c:1093 #, c-format msgid "%s: cannot restart server; single-user server is running (PID: %d)\n" msgstr "%s: kan inte starta om servern. En-användar-server kör (PID: %d).\n" -#: pg_ctl.c:1098 pg_ctl.c:1157 +#: pg_ctl.c:1096 pg_ctl.c:1154 msgid "Please terminate the single-user server and try again.\n" msgstr "Var vänlig att stanna en-användar-servern och försök sedan igen.\n" -#: pg_ctl.c:1131 +#: pg_ctl.c:1128 #, c-format msgid "%s: old server process (PID: %d) seems to be gone\n" msgstr "%s: gamla serverprocessen (PID: %d) verkar vara borta\n" -#: pg_ctl.c:1133 +#: pg_ctl.c:1130 msgid "starting server anyway\n" msgstr "startar servern ändå\n" -#: pg_ctl.c:1154 +#: pg_ctl.c:1151 #, c-format msgid "%s: cannot reload server; single-user server is running (PID: %d)\n" msgstr "%s: kan inte ladda om servern; en-användar-server kör (PID: %d)\n" -#: pg_ctl.c:1163 +#: pg_ctl.c:1160 #, c-format -msgid "%s: could not send reload signal (PID: %d): %s\n" -msgstr "%s: kunde inte skicka signalen \"reload\" (PID: %d): %s\n" +msgid "%s: could not send reload signal (PID: %d): %m\n" +msgstr "%s: kunde inte skicka signalen \"reload\" (PID: %d): %m\n" -#: pg_ctl.c:1168 +#: pg_ctl.c:1165 msgid "server signaled\n" msgstr "servern är signalerad\n" -#: pg_ctl.c:1193 +#: pg_ctl.c:1190 #, c-format msgid "%s: cannot promote server; single-user server is running (PID: %d)\n" msgstr "%s: kan inte befordra servern; en-användar-server kör (PID: %d)\n" -#: pg_ctl.c:1201 +#: pg_ctl.c:1198 #, c-format msgid "%s: cannot promote server; server is not in standby mode\n" msgstr "%s: kan inte befordra servern; servern är inte i beredskapsläge.\n" -#: pg_ctl.c:1211 +#: pg_ctl.c:1208 #, c-format -msgid "%s: could not create promote signal file \"%s\": %s\n" -msgstr "%s: kunde inte skapa befordringssignalfil \"%s\": %s\n" +msgid "%s: could not create promote signal file \"%s\": %m\n" +msgstr "%s: kunde inte skapa befordringssignalfil \"%s\": %m\n" -#: pg_ctl.c:1217 +#: pg_ctl.c:1214 #, c-format -msgid "%s: could not write promote signal file \"%s\": %s\n" -msgstr "%s: kunde inte skriva befordringssignalfil \"%s\": %s\n" +msgid "%s: could not write promote signal file \"%s\": %m\n" +msgstr "%s: kunde inte skriva befordringssignalfil \"%s\": %m\n" -#: pg_ctl.c:1225 +#: pg_ctl.c:1222 #, c-format -msgid "%s: could not send promote signal (PID: %d): %s\n" -msgstr "%s: kunde inte skicka befordringssignal (PID: %d): %s\n" +msgid "%s: could not send promote signal (PID: %d): %m\n" +msgstr "%s: kunde inte skicka befordringssignal (PID: %d): %m\n" -#: pg_ctl.c:1228 +#: pg_ctl.c:1225 #, c-format -msgid "%s: could not remove promote signal file \"%s\": %s\n" -msgstr "%s: kunde inte ta bort befordringssignalfil \"%s\": %s\n" +msgid "%s: could not remove promote signal file \"%s\": %m\n" +msgstr "%s: kunde inte ta bort befordringssignalfil \"%s\": %m\n" -#: pg_ctl.c:1235 +#: pg_ctl.c:1232 msgid "waiting for server to promote..." msgstr "väntar på att servern skall befordras..." -#: pg_ctl.c:1239 +#: pg_ctl.c:1236 msgid "server promoted\n" msgstr "servern befordrad\n" -#: pg_ctl.c:1244 +#: pg_ctl.c:1241 #, c-format msgid "%s: server did not promote in time\n" msgstr "%s: servern befordrades inte i tid\n" -#: pg_ctl.c:1250 +#: pg_ctl.c:1247 msgid "server promoting\n" msgstr "servern befordras\n" -#: pg_ctl.c:1274 +#: pg_ctl.c:1271 #, c-format msgid "%s: cannot rotate log file; single-user server is running (PID: %d)\n" msgstr "%s: kan inte rotera loggfil; en-användar-server kör (PID: %d)\n" -#: pg_ctl.c:1284 +#: pg_ctl.c:1281 #, c-format -msgid "%s: could not create log rotation signal file \"%s\": %s\n" -msgstr "%s: kunde inte skapa loggroteringssignalfil \"%s\": %s\n" +msgid "%s: could not create log rotation signal file \"%s\": %m\n" +msgstr "%s: kunde inte skapa loggroteringssignalfil \"%s\": %m\n" -#: pg_ctl.c:1290 +#: pg_ctl.c:1287 #, c-format -msgid "%s: could not write log rotation signal file \"%s\": %s\n" -msgstr "%s: kunde inte skriva loggroteringssignalfil \"%s\": %s\n" +msgid "%s: could not write log rotation signal file \"%s\": %m\n" +msgstr "%s: kunde inte skriva loggroteringssignalfil \"%s\": %m\n" -#: pg_ctl.c:1298 +#: pg_ctl.c:1295 #, c-format -msgid "%s: could not send log rotation signal (PID: %d): %s\n" -msgstr "%s: kunde inte skicka signalen för loggrotering (PID: %d): %s\n" +msgid "%s: could not send log rotation signal (PID: %d): %m\n" +msgstr "%s: kunde inte skicka signalen för loggrotering (PID: %d): %m\n" -#: pg_ctl.c:1301 +#: pg_ctl.c:1298 #, c-format -msgid "%s: could not remove log rotation signal file \"%s\": %s\n" -msgstr "%s: kunde inte ta bort loggroteringssignalfil \"%s\": %s\n" +msgid "%s: could not remove log rotation signal file \"%s\": %m\n" +msgstr "%s: kunde inte ta bort loggroteringssignalfil \"%s\": %m\n" -#: pg_ctl.c:1306 +#: pg_ctl.c:1303 msgid "server signaled to rotate log file\n" msgstr "servern är signalerad att rotera loggfil\n" -#: pg_ctl.c:1353 +#: pg_ctl.c:1350 #, c-format msgid "%s: single-user server is running (PID: %d)\n" msgstr "%s: en-användar-server kör. (PID: %d)\n" -#: pg_ctl.c:1367 +#: pg_ctl.c:1364 #, c-format msgid "%s: server is running (PID: %d)\n" msgstr "%s: servern kör (PID: %d)\n" -#: pg_ctl.c:1383 +#: pg_ctl.c:1380 #, c-format msgid "%s: no server running\n" msgstr "%s: ingen server kör\n" -#: pg_ctl.c:1400 +#: pg_ctl.c:1397 #, c-format -msgid "%s: could not send signal %d (PID: %d): %s\n" -msgstr "%s: kunde inte skicka signal %d (PID: %d): %s\n" +msgid "%s: could not send signal %d (PID: %d): %m\n" +msgstr "%s: kunde inte skicka signal %d (PID: %d): %m\n" -#: pg_ctl.c:1431 +#: pg_ctl.c:1428 #, c-format msgid "%s: could not find own program executable\n" msgstr "%s: kunde inte hitta det egna programmets körbara fil\n" -#: pg_ctl.c:1441 +#: pg_ctl.c:1438 #, c-format msgid "%s: could not find postgres program executable\n" msgstr "%s: kunde inte hitta körbar postgres.\n" -#: pg_ctl.c:1511 pg_ctl.c:1545 +#: pg_ctl.c:1508 pg_ctl.c:1542 #, c-format msgid "%s: could not open service manager\n" msgstr "%s: kunde inte öppna tjänstehanteraren\n" -#: pg_ctl.c:1517 +#: pg_ctl.c:1514 #, c-format msgid "%s: service \"%s\" already registered\n" msgstr "%s: tjänsten \"%s\" är redan registrerad\n" -#: pg_ctl.c:1528 +#: pg_ctl.c:1525 #, c-format msgid "%s: could not register service \"%s\": error code %lu\n" msgstr "%s: kunde inte registrera tjänsten \"%s\": felkod %lu\n" -#: pg_ctl.c:1551 +#: pg_ctl.c:1548 #, c-format msgid "%s: service \"%s\" not registered\n" msgstr "%s: tjänsten \"%s\" är inte registrerad\n" -#: pg_ctl.c:1558 +#: pg_ctl.c:1555 #, c-format msgid "%s: could not open service \"%s\": error code %lu\n" msgstr "%s: kunde inte öppna tjänsten \"%s\": felkod %lu\n" -#: pg_ctl.c:1567 +#: pg_ctl.c:1564 #, c-format msgid "%s: could not unregister service \"%s\": error code %lu\n" msgstr "%s: kunde inte avregistrera tjänsten \"%s\": felkod %lu\n" -#: pg_ctl.c:1654 +#: pg_ctl.c:1651 msgid "Waiting for server startup...\n" msgstr "Väntar på serverstart...\n" -#: pg_ctl.c:1657 +#: pg_ctl.c:1654 msgid "Timed out waiting for server startup\n" msgstr "Tidsfristen ute vid väntan på serverstart\n" -#: pg_ctl.c:1661 +#: pg_ctl.c:1658 msgid "Server started and accepting connections\n" msgstr "Server startad och accepterar nu anslutningar\n" -#: pg_ctl.c:1716 +#: pg_ctl.c:1713 #, c-format msgid "%s: could not start service \"%s\": error code %lu\n" msgstr "%s: kunde inte starta tjänsten \"%s\": felkod %lu\n" -#: pg_ctl.c:1789 +#: pg_ctl.c:1786 #, c-format msgid "%s: could not open process token: error code %lu\n" msgstr "%s: kunde inte öppna process-token: felkod %lu\n" -#: pg_ctl.c:1803 +#: pg_ctl.c:1800 #, c-format msgid "%s: could not allocate SIDs: error code %lu\n" msgstr "%s: kunde inte tilldela SID: felkod %lu\n" -#: pg_ctl.c:1829 +#: pg_ctl.c:1826 #, c-format msgid "%s: could not create restricted token: error code %lu\n" msgstr "%s: kunde inte skapa restriktivt styrmärke (token): felkod %lu\n" -#: pg_ctl.c:1911 +#: pg_ctl.c:1908 #, c-format msgid "%s: could not get LUIDs for privileges: error code %lu\n" msgstr "%s: kunde inte hämta LUID:er för rättigheter: felkod %lu\n" -#: pg_ctl.c:1919 pg_ctl.c:1934 +#: pg_ctl.c:1916 pg_ctl.c:1931 #, c-format msgid "%s: could not get token information: error code %lu\n" msgstr "%s: kunde inte hämta token-information: felkod %lu\n" -#: pg_ctl.c:1928 +#: pg_ctl.c:1925 #, c-format msgid "%s: out of memory\n" msgstr "%s: slut på minne\n" -#: pg_ctl.c:1958 +#: pg_ctl.c:1955 #, c-format msgid "Try \"%s --help\" for more information.\n" msgstr "Försök med \"%s --help\" för mer information.\n" -#: pg_ctl.c:1966 +#: pg_ctl.c:1963 #, c-format msgid "" "%s is a utility to initialize, start, stop, or control a PostgreSQL server.\n" @@ -496,17 +515,17 @@ msgstr "" "PostgreSQL-tjänsten.\n" "\n" -#: pg_ctl.c:1967 +#: pg_ctl.c:1964 #, c-format msgid "Usage:\n" msgstr "Användning:\n" -#: pg_ctl.c:1968 +#: pg_ctl.c:1965 #, c-format msgid " %s init[db] [-D DATADIR] [-s] [-o OPTIONS]\n" msgstr " %s init[db] [-D DATAKAT] [-s] [-o FLAGGOR]\n" -#: pg_ctl.c:1969 +#: pg_ctl.c:1966 #, c-format msgid "" " %s start [-D DATADIR] [-l FILENAME] [-W] [-t SECS] [-s]\n" @@ -515,12 +534,12 @@ msgstr "" " %s start [-D DATAKAT] [-l FILNAMN] [-W] [-t SEK] [-s]\n" " [-o FLAGGOR] [-p SOKVÄG] [-c]\n" -#: pg_ctl.c:1971 +#: pg_ctl.c:1968 #, c-format msgid " %s stop [-D DATADIR] [-m SHUTDOWN-MODE] [-W] [-t SECS] [-s]\n" msgstr " %s stop [-D DATAKAT] [-m STÄNGNINGSMETOD] [-W] [-t SEK] [-s]\n" -#: pg_ctl.c:1972 +#: pg_ctl.c:1969 #, c-format msgid "" " %s restart [-D DATADIR] [-m SHUTDOWN-MODE] [-W] [-t SECS] [-s]\n" @@ -529,32 +548,32 @@ msgstr "" " %s restart [-D DATAKAT] [-m STÄNGNINGSMETOD] [-W] [-t SEK] [-s]\n" " [-o FLAGGOR] [-c]\n" -#: pg_ctl.c:1974 +#: pg_ctl.c:1971 #, c-format msgid " %s reload [-D DATADIR] [-s]\n" msgstr " %s reload [-D DATAKAT] [-s]\n" -#: pg_ctl.c:1975 +#: pg_ctl.c:1972 #, c-format msgid " %s status [-D DATADIR]\n" msgstr " %s status [-D DATAKAT]\n" -#: pg_ctl.c:1976 +#: pg_ctl.c:1973 #, c-format msgid " %s promote [-D DATADIR] [-W] [-t SECS] [-s]\n" msgstr " %s promote [-D DATAKAT] [-W] [-t SEK] [-s]\n" -#: pg_ctl.c:1977 +#: pg_ctl.c:1974 #, c-format msgid " %s logrotate [-D DATADIR] [-s]\n" msgstr " %s logrotate [-D DATAKAT] [-s]\n" -#: pg_ctl.c:1978 +#: pg_ctl.c:1975 #, c-format msgid " %s kill SIGNALNAME PID\n" msgstr " %s kill SIGNALNAMN PID\n" -#: pg_ctl.c:1980 +#: pg_ctl.c:1977 #, c-format msgid "" " %s register [-D DATADIR] [-N SERVICENAME] [-U USERNAME] [-P PASSWORD]\n" @@ -563,12 +582,12 @@ msgstr "" " %s register [-D DATAKAT] [-N TJÄNSTENAMN] [-U ANVÄNDARNAMN] [-P LÖSENORD]\n" " [-S STARTTYPE] [-e KÄLLA] [-W] [-t SEK] [-s] [-o FLAGGOR]\n" -#: pg_ctl.c:1982 +#: pg_ctl.c:1979 #, c-format msgid " %s unregister [-N SERVICENAME]\n" msgstr " %s unregister [-N TJÄNSTNAMN]\n" -#: pg_ctl.c:1985 +#: pg_ctl.c:1982 #, c-format msgid "" "\n" @@ -577,52 +596,52 @@ msgstr "" "\n" "Gemensamma flaggor:\n" -#: pg_ctl.c:1986 +#: pg_ctl.c:1983 #, c-format msgid " -D, --pgdata=DATADIR location of the database storage area\n" msgstr " -D, --pgdata=DATAKAT plats för databasens lagringsarea\n" -#: pg_ctl.c:1988 +#: pg_ctl.c:1985 #, c-format msgid " -e SOURCE event source for logging when running as a service\n" msgstr " -e KÄLLA händelsekälla för loggning när vi kör som en tjänst\n" -#: pg_ctl.c:1990 +#: pg_ctl.c:1987 #, c-format msgid " -s, --silent only print errors, no informational messages\n" msgstr " -s, --silent skriv bara ut fel, inga informationsmeddelanden\n" -#: pg_ctl.c:1991 +#: pg_ctl.c:1988 #, c-format msgid " -t, --timeout=SECS seconds to wait when using -w option\n" msgstr " -t, --timeout=SEK antal sekunder att vänta när växeln -w används\n" -#: pg_ctl.c:1992 +#: pg_ctl.c:1989 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version visa versionsinformation, avsluta sedan\n" -#: pg_ctl.c:1993 +#: pg_ctl.c:1990 #, c-format msgid " -w, --wait wait until operation completes (default)\n" msgstr " -w, --wait vänta på att operationen slutförs (standard)\n" -#: pg_ctl.c:1994 +#: pg_ctl.c:1991 #, c-format msgid " -W, --no-wait do not wait until operation completes\n" msgstr " -W, --no-wait vänta inte på att operationen slutförs\n" -#: pg_ctl.c:1995 +#: pg_ctl.c:1992 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help visa den här hjälpen, avsluta sedan\n" -#: pg_ctl.c:1996 +#: pg_ctl.c:1993 #, c-format msgid "If the -D option is omitted, the environment variable PGDATA is used.\n" msgstr "Om flaggan -D inte har angivits så används omgivningsvariabeln PGDATA.\n" -#: pg_ctl.c:1998 +#: pg_ctl.c:1995 #, c-format msgid "" "\n" @@ -631,22 +650,22 @@ msgstr "" "\n" "Flaggor för start eller omstart:\n" -#: pg_ctl.c:2000 +#: pg_ctl.c:1997 #, c-format msgid " -c, --core-files allow postgres to produce core files\n" msgstr " -c, --core-files tillåt postgres att skapa core-filer\n" -#: pg_ctl.c:2002 +#: pg_ctl.c:1999 #, c-format msgid " -c, --core-files not applicable on this platform\n" msgstr " -c, --core-files inte giltig för denna plattform\n" -#: pg_ctl.c:2004 +#: pg_ctl.c:2001 #, c-format msgid " -l, --log=FILENAME write (or append) server log to FILENAME\n" msgstr " -l, --log=FILNAMN skriv, eller tillfoga, server-loggen till FILNAMN\n" -#: pg_ctl.c:2005 +#: pg_ctl.c:2002 #, c-format msgid "" " -o, --options=OPTIONS command line options to pass to postgres\n" @@ -655,14 +674,14 @@ msgstr "" " -o, --options=OPTIONS kommandoradsflaggor som skickas vidare till postgres\n" " (PostgreSQL-serverns körbara fil) eller till initdb\n" -#: pg_ctl.c:2007 +#: pg_ctl.c:2004 #, c-format msgid " -p PATH-TO-POSTGRES normally not necessary\n" msgstr "" " -p SÖKVÄG-TILL-POSTGRES\n" " behövs normalt inte\n" -#: pg_ctl.c:2008 +#: pg_ctl.c:2005 #, c-format msgid "" "\n" @@ -671,12 +690,12 @@ msgstr "" "\n" "Flaggor för stopp eller omstart:\n" -#: pg_ctl.c:2009 +#: pg_ctl.c:2006 #, c-format msgid " -m, --mode=MODE MODE can be \"smart\", \"fast\", or \"immediate\"\n" msgstr " -m, --mode=METOD METOD kan vara \"smart\", \"fast\" eller \"immediate\"\n" -#: pg_ctl.c:2011 +#: pg_ctl.c:2008 #, c-format msgid "" "\n" @@ -685,22 +704,22 @@ msgstr "" "\n" "Stängningsmetoder är:\n" -#: pg_ctl.c:2012 +#: pg_ctl.c:2009 #, c-format msgid " smart quit after all clients have disconnected\n" msgstr " smart stäng när alla klienter har avslutat\n" -#: pg_ctl.c:2013 +#: pg_ctl.c:2010 #, c-format msgid " fast quit directly, with proper shutdown (default)\n" msgstr " fast stäng omedelbart, med en kontrollerad nedstängning (standard)\n" -#: pg_ctl.c:2014 +#: pg_ctl.c:2011 #, c-format msgid " immediate quit without complete shutdown; will lead to recovery on restart\n" msgstr " immediate stäng utan kontroller; kommer leda till återställning vid omstart\n" -#: pg_ctl.c:2016 +#: pg_ctl.c:2013 #, c-format msgid "" "\n" @@ -709,7 +728,7 @@ msgstr "" "\n" "Tillåtna signalnamn för kommando \"kill\":\n" -#: pg_ctl.c:2020 +#: pg_ctl.c:2017 #, c-format msgid "" "\n" @@ -718,27 +737,27 @@ msgstr "" "\n" "Flaggor för registrering och avregistrering:\n" -#: pg_ctl.c:2021 +#: pg_ctl.c:2018 #, c-format msgid " -N SERVICENAME service name with which to register PostgreSQL server\n" msgstr " -N TJÄNSTENAMN tjänstenamn att registrera PostgreSQL-servern med\n" -#: pg_ctl.c:2022 +#: pg_ctl.c:2019 #, c-format msgid " -P PASSWORD password of account to register PostgreSQL server\n" msgstr " -P LÖSENORD lösenord för konto vid registrering av PostgreSQL-servern\n" -#: pg_ctl.c:2023 +#: pg_ctl.c:2020 #, c-format msgid " -U USERNAME user name of account to register PostgreSQL server\n" msgstr " -U NAMN användarnamn för konto vid registrering av PostgreSQL-servern\n" -#: pg_ctl.c:2024 +#: pg_ctl.c:2021 #, c-format msgid " -S START-TYPE service start type to register PostgreSQL server\n" msgstr " -S STARTSÄTT sätt att registrera PostgreSQL-servern vid tjänstestart\n" -#: pg_ctl.c:2026 +#: pg_ctl.c:2023 #, c-format msgid "" "\n" @@ -747,17 +766,17 @@ msgstr "" "\n" "Startmetoder är:\n" -#: pg_ctl.c:2027 +#: pg_ctl.c:2024 #, c-format msgid " auto start service automatically during system startup (default)\n" msgstr " auto starta tjänsten automatiskt vid systemstart (förval)\n" -#: pg_ctl.c:2028 +#: pg_ctl.c:2025 #, c-format msgid " demand start service on demand\n" msgstr " demand starta tjänsten vid behov\n" -#: pg_ctl.c:2031 +#: pg_ctl.c:2028 #, c-format msgid "" "\n" @@ -766,37 +785,37 @@ msgstr "" "\n" "Rapportera fel till <%s>.\n" -#: pg_ctl.c:2032 +#: pg_ctl.c:2029 #, c-format msgid "%s home page: <%s>\n" msgstr "hemsida för %s: <%s>\n" -#: pg_ctl.c:2057 +#: pg_ctl.c:2054 #, c-format msgid "%s: unrecognized shutdown mode \"%s\"\n" msgstr "%s: ogiltig stängningsmetod \"%s\"\n" -#: pg_ctl.c:2086 +#: pg_ctl.c:2083 #, c-format msgid "%s: unrecognized signal name \"%s\"\n" msgstr "%s: ogiltigt signalnamn \"%s\"\n" -#: pg_ctl.c:2103 +#: pg_ctl.c:2100 #, c-format msgid "%s: unrecognized start type \"%s\"\n" msgstr "%s: ogiltigt startvillkor \"%s\"\n" -#: pg_ctl.c:2159 +#: pg_ctl.c:2156 #, c-format msgid "%s: could not determine the data directory using command \"%s\"\n" msgstr "%s: kunde inte bestämma databaskatalogen från kommandot \"%s\"\n" -#: pg_ctl.c:2182 +#: pg_ctl.c:2179 #, c-format msgid "%s: control file appears to be corrupt\n" msgstr "%s: kontrollfilen verkar vara trasig\n" -#: pg_ctl.c:2250 +#: pg_ctl.c:2247 #, c-format msgid "" "%s: cannot be run as root\n" @@ -807,52 +826,32 @@ msgstr "" "Logga in (t.ex. med \"su\") som den (opriviligerade) användare\n" "vilken skall äga serverprocessen.\n" -#: pg_ctl.c:2333 +#: pg_ctl.c:2319 #, c-format msgid "%s: -S option not supported on this platform\n" msgstr "%s: flaggan -S stöds inte på denna plattform.\n" -#: pg_ctl.c:2370 -#, c-format -msgid "%s: too many command-line arguments (first is \"%s\")\n" -msgstr "%s: för många kommandoradsargument (första är \"%s\")\n" - -#: pg_ctl.c:2396 +#: pg_ctl.c:2375 #, c-format msgid "%s: missing arguments for kill mode\n" msgstr "%s: saknar argument för \"kill\"-kommando.\n" -#: pg_ctl.c:2414 +#: pg_ctl.c:2393 #, c-format msgid "%s: unrecognized operation mode \"%s\"\n" msgstr "%s: okänd operationsmetod \"%s\"\n" -#: pg_ctl.c:2424 +#: pg_ctl.c:2402 +#, c-format +msgid "%s: too many command-line arguments (first is \"%s\")\n" +msgstr "%s: för många kommandoradsargument (första är \"%s\")\n" + +#: pg_ctl.c:2409 #, c-format msgid "%s: no operation specified\n" msgstr "%s: ingen operation angiven\n" -#: pg_ctl.c:2445 +#: pg_ctl.c:2430 #, c-format msgid "%s: no database directory specified and environment variable PGDATA unset\n" msgstr "%s: ingen databaskatalog angiven och omgivningsvariabeln PGDATA är inte satt\n" - -#, c-format -#~ msgid "%s: WARNING: cannot create restricted tokens on this platform\n" -#~ msgstr "%s: VARNING: \"Restricted Token\" stöds inte av plattformen.\n" - -#, c-format -#~ msgid "%s: WARNING: could not locate all job object functions in system API\n" -#~ msgstr "%s: VARNING: kunde inte hitta alla jobb-funktioner system-API:et.\n" - -#, c-format -#~ msgid "could not change directory to \"%s\": %m" -#~ msgstr "kunde inte byta katalog till \"%s\": %m" - -#, c-format -#~ msgid "could not identify current directory: %m" -#~ msgstr "kunde inte identifiera aktuell katalog: %m" - -#, c-format -#~ msgid "could not read symbolic link \"%s\": %m" -#~ msgstr "kan inte läsa symbolisk länk \"%s\": %m" diff --git a/src/bin/pg_ctl/po/uk.po b/src/bin/pg_ctl/po/uk.po index c1fcbe97133..b517535543a 100644 --- a/src/bin/pg_ctl/po/uk.po +++ b/src/bin/pg_ctl/po/uk.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: postgresql\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-04-19 11:18+0000\n" -"PO-Revision-Date: 2023-12-19 15:37\n" +"POT-Creation-Date: 2024-08-31 06:20+0000\n" +"PO-Revision-Date: 2024-09-23 19:38\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -14,41 +14,60 @@ msgstr "" "X-Crowdin-Project: postgresql\n" "X-Crowdin-Project-ID: 324573\n" "X-Crowdin-Language: uk\n" -"X-Crowdin-File: /REL_16_STABLE/pg_ctl.pot\n" -"X-Crowdin-File-ID: 937\n" +"X-Crowdin-File: /REL_17_STABLE/pg_ctl.pot\n" +"X-Crowdin-File-ID: 994\n" -#: ../../common/exec.c:172 +#: ../../common/controldata_utils.c:168 +msgid "byte ordering mismatch" +msgstr "неправильний порядок байтів" + +#: ../../common/exec.c:174 #, c-format msgid "invalid binary \"%s\": %m" msgstr "невірний бінарний файл \"%s\": %m" -#: ../../common/exec.c:215 +#: ../../common/exec.c:217 #, c-format msgid "could not read binary \"%s\": %m" msgstr "не вдалося прочитати бінарний файл \"%s\": %m" -#: ../../common/exec.c:223 +#: ../../common/exec.c:225 #, c-format msgid "could not find a \"%s\" to execute" msgstr "неможливо знайти \"%s\" для виконання" -#: ../../common/exec.c:250 +#: ../../common/exec.c:252 #, c-format msgid "could not resolve path \"%s\" to absolute form: %m" msgstr "не вдалося знайти абсолютний шлях \"%s\": %m" -#: ../../common/exec.c:412 +#: ../../common/exec.c:382 +#, c-format +msgid "could not execute command \"%s\": %m" +msgstr "не вдалося виконати команду \"%s\": %m" + +#: ../../common/exec.c:394 +#, c-format +msgid "could not read from command \"%s\": %m" +msgstr "не вдалося прочитати висновок команди \"%s\": %m" + +#: ../../common/exec.c:397 +#, c-format +msgid "no data was returned by command \"%s\"" +msgstr "команда \"%s\" не повернула жодних даних" + +#: ../../common/exec.c:424 #, c-format msgid "%s() failed: %m" msgstr "%s() помилка: %m" -#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687 +#: ../../common/exec.c:562 ../../common/exec.c:607 ../../common/exec.c:699 msgid "out of memory" msgstr "недостатньо пам'яті" #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 #: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 -#: ../../port/path.c:753 ../../port/path.c:791 ../../port/path.c:808 +#: ../../port/path.c:753 ../../port/path.c:790 ../../port/path.c:807 #, c-format msgid "out of memory\n" msgstr "недостатньо пам'яті\n" @@ -90,674 +109,674 @@ msgstr "дочірній процес завершився з невизнани #: ../../port/path.c:775 #, c-format -msgid "could not get current working directory: %s\n" -msgstr "не вдалося отримати поточний робочий каталог: %s\n" +msgid "could not get current working directory: %m\n" +msgstr "не вдалося отримати поточний робочий каталог: %m\n" -#: pg_ctl.c:255 +#: pg_ctl.c:254 #, c-format msgid "%s: directory \"%s\" does not exist\n" msgstr "%s: директорія \"%s\" не існує\n" -#: pg_ctl.c:258 +#: pg_ctl.c:257 #, c-format -msgid "%s: could not access directory \"%s\": %s\n" -msgstr "%s: немає доступу до каталогу \"%s\": %s\n" +msgid "%s: could not access directory \"%s\": %m\n" +msgstr "%s: не вдалося отримати доступ до каталогу \"%s\": %m\n" -#: pg_ctl.c:271 +#: pg_ctl.c:270 #, c-format msgid "%s: directory \"%s\" is not a database cluster directory\n" msgstr "%s: каталог \"%s\" не є каталогом кластера бази даних\n" -#: pg_ctl.c:284 +#: pg_ctl.c:283 #, c-format -msgid "%s: could not open PID file \"%s\": %s\n" -msgstr "%s: не вдалося відкрити файл PID \"%s\": %s\n" +msgid "%s: could not open PID file \"%s\": %m\n" +msgstr "%s: не вдалося відкрити файл PID \"%s\": %m\n" -#: pg_ctl.c:293 +#: pg_ctl.c:292 #, c-format msgid "%s: the PID file \"%s\" is empty\n" msgstr "%s: файл PID \"%s\" пустий\n" -#: pg_ctl.c:296 +#: pg_ctl.c:295 #, c-format msgid "%s: invalid data in PID file \"%s\"\n" msgstr "%s: невірні дані у файлі PID \"%s\"\n" -#: pg_ctl.c:458 pg_ctl.c:500 +#: pg_ctl.c:457 pg_ctl.c:499 #, c-format -msgid "%s: could not start server: %s\n" -msgstr "%s: не вдалося запустити сервер: %s\n" +msgid "%s: could not start server: %m\n" +msgstr "%s: не вдалося запустити сервер: %m\n" -#: pg_ctl.c:478 +#: pg_ctl.c:477 #, c-format -msgid "%s: could not start server due to setsid() failure: %s\n" -msgstr "%s: не вдалося запустити сервер через помилку setsid(): %s\n" +msgid "%s: could not start server due to setsid() failure: %m\n" +msgstr "%s: не вдалося запустити сервер через помилку setsid(): %m\n" -#: pg_ctl.c:548 +#: pg_ctl.c:547 #, c-format -msgid "%s: could not open log file \"%s\": %s\n" -msgstr "%s: не вдалося відкрити файл журналу \"%s\": %s\n" +msgid "%s: could not open log file \"%s\": %m\n" +msgstr "%s: не вдалося відкрити файл журналу \"%s\": %m\n" -#: pg_ctl.c:565 +#: pg_ctl.c:564 #, c-format msgid "%s: could not start server: error code %lu\n" msgstr "%s: не вдалося запустити сервер: код помилки %lu\n" -#: pg_ctl.c:782 +#: pg_ctl.c:781 #, c-format msgid "%s: cannot set core file size limit; disallowed by hard limit\n" msgstr "%s: не вдалося встановити обмеження на розмір файлу; заборонено жорстким лімітом\n" -#: pg_ctl.c:808 +#: pg_ctl.c:807 #, c-format msgid "%s: could not read file \"%s\"\n" msgstr "%s: не вдалося прочитати файл \"%s\"\n" -#: pg_ctl.c:813 +#: pg_ctl.c:812 #, c-format msgid "%s: option file \"%s\" must have exactly one line\n" msgstr "%s: файл параметрів \"%s\" повинен містити рівно один рядок\n" -#: pg_ctl.c:855 pg_ctl.c:1039 pg_ctl.c:1107 +#: pg_ctl.c:854 pg_ctl.c:1038 pg_ctl.c:1105 #, c-format -msgid "%s: could not send stop signal (PID: %d): %s\n" -msgstr "%s: не вдалося надіслати стоп-сигнал (PID: %d): %s\n" +msgid "%s: could not send stop signal (PID: %d): %m\n" +msgstr "%s: не вдалося надіслати стоп-сигнал (PID: %d): %m\n" -#: pg_ctl.c:883 +#: pg_ctl.c:882 #, c-format msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"\n" msgstr "програма \"%s\" потрібна для %s, але не знайдена в тому ж каталозі, що й \"%s\"\n" -#: pg_ctl.c:886 +#: pg_ctl.c:885 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s\n" msgstr "програма \"%s\" знайдена для \"%s\", але має відмінну версію від %s\n" -#: pg_ctl.c:918 +#: pg_ctl.c:917 #, c-format msgid "%s: database system initialization failed\n" msgstr "%s: не вдалося виконати ініціалізацію системи бази даних\n" -#: pg_ctl.c:933 +#: pg_ctl.c:932 #, c-format msgid "%s: another server might be running; trying to start server anyway\n" msgstr "%s: мабуть, інший сервер вже працює; у будь-якому разі спробуємо запустити сервер\n" -#: pg_ctl.c:981 +#: pg_ctl.c:980 msgid "waiting for server to start..." msgstr "очікується запуск серверу..." -#: pg_ctl.c:986 pg_ctl.c:1063 pg_ctl.c:1126 pg_ctl.c:1238 +#: pg_ctl.c:985 pg_ctl.c:1061 pg_ctl.c:1123 pg_ctl.c:1235 msgid " done\n" msgstr " готово\n" -#: pg_ctl.c:987 +#: pg_ctl.c:986 msgid "server started\n" msgstr "сервер запущено\n" -#: pg_ctl.c:990 pg_ctl.c:996 pg_ctl.c:1243 +#: pg_ctl.c:989 pg_ctl.c:995 pg_ctl.c:1240 msgid " stopped waiting\n" msgstr " очікування припинено\n" -#: pg_ctl.c:991 +#: pg_ctl.c:990 #, c-format msgid "%s: server did not start in time\n" msgstr "%s: сервер не було запущено вчасно\n" -#: pg_ctl.c:997 +#: pg_ctl.c:996 #, c-format msgid "%s: could not start server\n" "Examine the log output.\n" msgstr "%s: неможливо запустити сервер\n" "Передивіться протокол виконання.\n" -#: pg_ctl.c:1005 +#: pg_ctl.c:1004 msgid "server starting\n" msgstr "запуск серверу\n" -#: pg_ctl.c:1024 pg_ctl.c:1083 pg_ctl.c:1147 pg_ctl.c:1186 pg_ctl.c:1267 +#: pg_ctl.c:1023 pg_ctl.c:1081 pg_ctl.c:1144 pg_ctl.c:1183 pg_ctl.c:1264 #, c-format msgid "%s: PID file \"%s\" does not exist\n" msgstr "%s: файл PID \"%s\" не існує\n" -#: pg_ctl.c:1025 pg_ctl.c:1085 pg_ctl.c:1148 pg_ctl.c:1187 pg_ctl.c:1268 +#: pg_ctl.c:1024 pg_ctl.c:1083 pg_ctl.c:1145 pg_ctl.c:1184 pg_ctl.c:1265 msgid "Is server running?\n" msgstr "Сервер працює?\n" -#: pg_ctl.c:1031 +#: pg_ctl.c:1030 #, c-format msgid "%s: cannot stop server; single-user server is running (PID: %d)\n" msgstr "%s: не можливо зупинити сервер; сервер запущений в режимі single-user (PID: %d)\n" -#: pg_ctl.c:1046 +#: pg_ctl.c:1044 msgid "server shutting down\n" msgstr "сервер зупиняється\n" -#: pg_ctl.c:1051 pg_ctl.c:1112 +#: pg_ctl.c:1049 pg_ctl.c:1109 msgid "waiting for server to shut down..." msgstr "очікується зупинка серверу..." -#: pg_ctl.c:1055 pg_ctl.c:1117 +#: pg_ctl.c:1053 pg_ctl.c:1114 msgid " failed\n" msgstr " помилка\n" -#: pg_ctl.c:1057 pg_ctl.c:1119 +#: pg_ctl.c:1055 pg_ctl.c:1116 #, c-format msgid "%s: server does not shut down\n" msgstr "%s: сервер не зупинено\n" -#: pg_ctl.c:1059 pg_ctl.c:1121 +#: pg_ctl.c:1057 pg_ctl.c:1118 msgid "HINT: The \"-m fast\" option immediately disconnects sessions rather than\n" "waiting for session-initiated disconnection.\n" msgstr "ПІДКАЗКА: Режим \"-m fast\" закриває сесії відразу, не чекаючи на відключення ініційовані сесіями.\n" -#: pg_ctl.c:1065 pg_ctl.c:1127 +#: pg_ctl.c:1063 pg_ctl.c:1124 msgid "server stopped\n" msgstr "сервер зупинено\n" -#: pg_ctl.c:1086 +#: pg_ctl.c:1084 msgid "trying to start server anyway\n" msgstr "спроба запуску серверу в будь-якому разі\n" -#: pg_ctl.c:1095 +#: pg_ctl.c:1093 #, c-format msgid "%s: cannot restart server; single-user server is running (PID: %d)\n" msgstr "%s: не можливо перезапустити сервер; сервер запущений в режимі single-user (PID: %d)\n" -#: pg_ctl.c:1098 pg_ctl.c:1157 +#: pg_ctl.c:1096 pg_ctl.c:1154 msgid "Please terminate the single-user server and try again.\n" msgstr "Будь ласка, припиніть однокористувацький сервер та спробуйте ще раз.\n" -#: pg_ctl.c:1131 +#: pg_ctl.c:1128 #, c-format msgid "%s: old server process (PID: %d) seems to be gone\n" msgstr "%s: старий серверний процес (PID: %d), здається, зник\n" -#: pg_ctl.c:1133 +#: pg_ctl.c:1130 msgid "starting server anyway\n" msgstr "запуск серверу в будь-якому разі\n" -#: pg_ctl.c:1154 +#: pg_ctl.c:1151 #, c-format msgid "%s: cannot reload server; single-user server is running (PID: %d)\n" msgstr "%s: не можливо перезапустити сервер; сервер запущений в режимі single-user (PID: %d)\n" -#: pg_ctl.c:1163 +#: pg_ctl.c:1160 #, c-format -msgid "%s: could not send reload signal (PID: %d): %s\n" -msgstr "%s: не можливо надіслати сигнал перезавантаження (PID: %d): %s\n" +msgid "%s: could not send reload signal (PID: %d): %m\n" +msgstr "%s: не можливо надіслати сигнал перезавантаження (PID: %d): %m\n" -#: pg_ctl.c:1168 +#: pg_ctl.c:1165 msgid "server signaled\n" msgstr "серверу надіслано сигнал\n" -#: pg_ctl.c:1193 +#: pg_ctl.c:1190 #, c-format msgid "%s: cannot promote server; single-user server is running (PID: %d)\n" msgstr "%s: неможливо підвищити сервер; сервер запущено в режимі single-user (PID: %d)\n" -#: pg_ctl.c:1201 +#: pg_ctl.c:1198 #, c-format msgid "%s: cannot promote server; server is not in standby mode\n" msgstr "%s: неможливо підвищити сервер; сервер запущено не в режимі резерву\n" -#: pg_ctl.c:1211 +#: pg_ctl.c:1208 #, c-format -msgid "%s: could not create promote signal file \"%s\": %s\n" -msgstr "%s: неможливо створити файл \"%s\" із сигналом для підвищення: %s\n" +msgid "%s: could not create promote signal file \"%s\": %m\n" +msgstr "%s: неможливо створити файл \"%s\" із сигналом для підвищення: %m\n" -#: pg_ctl.c:1217 +#: pg_ctl.c:1214 #, c-format -msgid "%s: could not write promote signal file \"%s\": %s\n" -msgstr "%s: неможливо записати файл \"%s\" із сигналом для підвищення: %s\n" +msgid "%s: could not write promote signal file \"%s\": %m\n" +msgstr "%s: неможливо записати файл \"%s\" із сигналом для підвищення: %m\n" -#: pg_ctl.c:1225 +#: pg_ctl.c:1222 #, c-format -msgid "%s: could not send promote signal (PID: %d): %s\n" -msgstr "%s: неможливо надіслати сигнал підвищення (PID: %d): %s\n" +msgid "%s: could not send promote signal (PID: %d): %m\n" +msgstr "%s: неможливо надіслати сигнал підвищення (PID: %d): %m\n" -#: pg_ctl.c:1228 +#: pg_ctl.c:1225 #, c-format -msgid "%s: could not remove promote signal file \"%s\": %s\n" -msgstr "%s: неможливо видалити файл \"%s\" із сигналом для підвищення: %s\n" +msgid "%s: could not remove promote signal file \"%s\": %m\n" +msgstr "%s: неможливо видалити файл \"%s\" із сигналом для підвищення: %m\n" -#: pg_ctl.c:1235 +#: pg_ctl.c:1232 msgid "waiting for server to promote..." msgstr "очікується підвищення серверу..." -#: pg_ctl.c:1239 +#: pg_ctl.c:1236 msgid "server promoted\n" msgstr "сервер підвищено\n" -#: pg_ctl.c:1244 +#: pg_ctl.c:1241 #, c-format msgid "%s: server did not promote in time\n" msgstr "%s: сервер не було підвищено вчасно\n" -#: pg_ctl.c:1250 +#: pg_ctl.c:1247 msgid "server promoting\n" msgstr "сервер підвищується\n" -#: pg_ctl.c:1274 +#: pg_ctl.c:1271 #, c-format msgid "%s: cannot rotate log file; single-user server is running (PID: %d)\n" msgstr "%s: не можливо розвернути файл журналу; сервер працює в режимі одного користувача (PID: %d)\n" -#: pg_ctl.c:1284 +#: pg_ctl.c:1281 #, c-format -msgid "%s: could not create log rotation signal file \"%s\": %s\n" -msgstr "%s: не вдалося створити файл сигналу розвороту журналу \"%s\": %s\n" +msgid "%s: could not create log rotation signal file \"%s\": %m\n" +msgstr "%s: не вдалося створити файл сигналу розвороту журналу \"%s\": %m\n" -#: pg_ctl.c:1290 +#: pg_ctl.c:1287 #, c-format -msgid "%s: could not write log rotation signal file \"%s\": %s\n" -msgstr "%s: не вдалося записати у файл сигналу розвороту журналу \"%s\": %s\n" +msgid "%s: could not write log rotation signal file \"%s\": %m\n" +msgstr "%s: не вдалося записати у файл сигналу розвороту журналу \"%s\": %m\n" -#: pg_ctl.c:1298 +#: pg_ctl.c:1295 #, c-format -msgid "%s: could not send log rotation signal (PID: %d): %s\n" -msgstr "%s: не вдалося надіслати сигнал розвороту журналу (PID: %d): %s\n" +msgid "%s: could not send log rotation signal (PID: %d): %m\n" +msgstr "%s: не вдалося надіслати сигнал розвороту журналу (PID: %d): %m\n" -#: pg_ctl.c:1301 +#: pg_ctl.c:1298 #, c-format -msgid "%s: could not remove log rotation signal file \"%s\": %s\n" -msgstr "%s: не вдалося видалити файл сигналу розвороту журналу \"%s\": %s\n" +msgid "%s: could not remove log rotation signal file \"%s\": %m\n" +msgstr "%s: не вдалося видалити файл сигналу розвороту журналу \"%s\": %m\n" -#: pg_ctl.c:1306 +#: pg_ctl.c:1303 msgid "server signaled to rotate log file\n" msgstr "серверу надіслано сигнал для розворот файлу журналу\n" -#: pg_ctl.c:1353 +#: pg_ctl.c:1350 #, c-format msgid "%s: single-user server is running (PID: %d)\n" msgstr "%s: однокористувацький сервер працює (PID: %d)\n" -#: pg_ctl.c:1367 +#: pg_ctl.c:1364 #, c-format msgid "%s: server is running (PID: %d)\n" msgstr "%s: сервер працює (PID: %d)\n" -#: pg_ctl.c:1383 +#: pg_ctl.c:1380 #, c-format msgid "%s: no server running\n" msgstr "%s: сервер не працює \n" -#: pg_ctl.c:1400 +#: pg_ctl.c:1397 #, c-format -msgid "%s: could not send signal %d (PID: %d): %s\n" -msgstr "%s: не вдалося надіслати сигнал %d (PID: %d): %s\n" +msgid "%s: could not send signal %d (PID: %d): %m\n" +msgstr "%s: не вдалося надіслати сигнал %d (PID: %d): %m\n" -#: pg_ctl.c:1431 +#: pg_ctl.c:1428 #, c-format msgid "%s: could not find own program executable\n" msgstr "%s: не вдалося знайти ехе файл власної програми\n" -#: pg_ctl.c:1441 +#: pg_ctl.c:1438 #, c-format msgid "%s: could not find postgres program executable\n" msgstr "%s: не вдалося знайти виконану програму postgres\n" -#: pg_ctl.c:1511 pg_ctl.c:1545 +#: pg_ctl.c:1508 pg_ctl.c:1542 #, c-format msgid "%s: could not open service manager\n" msgstr "%s: не вдалося відкрити менеджер служб\n" -#: pg_ctl.c:1517 +#: pg_ctl.c:1514 #, c-format msgid "%s: service \"%s\" already registered\n" msgstr "%s: служба \"%s\" вже зареєстрована \n" -#: pg_ctl.c:1528 +#: pg_ctl.c:1525 #, c-format msgid "%s: could not register service \"%s\": error code %lu\n" msgstr "%s: не вдалося зареєструвати службу \"%s\": код помилки %lu\n" -#: pg_ctl.c:1551 +#: pg_ctl.c:1548 #, c-format msgid "%s: service \"%s\" not registered\n" msgstr "%s: служба \"%s\" не зареєстрована \n" -#: pg_ctl.c:1558 +#: pg_ctl.c:1555 #, c-format msgid "%s: could not open service \"%s\": error code %lu\n" msgstr "%s: не вдалося відкрити службу \"%s\": код помилки %lu\n" -#: pg_ctl.c:1567 +#: pg_ctl.c:1564 #, c-format msgid "%s: could not unregister service \"%s\": error code %lu\n" msgstr "%s: не вдалося видалити службу \"%s\": код помилки %lu\n" -#: pg_ctl.c:1654 +#: pg_ctl.c:1651 msgid "Waiting for server startup...\n" msgstr "Очікування запуску сервера...\n" -#: pg_ctl.c:1657 +#: pg_ctl.c:1654 msgid "Timed out waiting for server startup\n" msgstr "Перевищено час очікування запуску сервера\n" -#: pg_ctl.c:1661 +#: pg_ctl.c:1658 msgid "Server started and accepting connections\n" msgstr "Сервер запущений і приймає з'єднання\n" -#: pg_ctl.c:1716 +#: pg_ctl.c:1713 #, c-format msgid "%s: could not start service \"%s\": error code %lu\n" msgstr "%s: не вдалося почати службу \"%s\": код помилки %lu\n" -#: pg_ctl.c:1789 +#: pg_ctl.c:1786 #, c-format msgid "%s: could not open process token: error code %lu\n" msgstr "%s: не вдалося відкрити токен процесу: код помилки %lu\n" -#: pg_ctl.c:1803 +#: pg_ctl.c:1800 #, c-format msgid "%s: could not allocate SIDs: error code %lu\n" msgstr "%s: не вдалося виділити SID: код помилки %lu\n" -#: pg_ctl.c:1829 +#: pg_ctl.c:1826 #, c-format msgid "%s: could not create restricted token: error code %lu\n" msgstr "%s: не вдалося створити обмежений токен: код помилки %lu\n" -#: pg_ctl.c:1911 +#: pg_ctl.c:1908 #, c-format msgid "%s: could not get LUIDs for privileges: error code %lu\n" msgstr "%s: не вдалося отримати LUIDs для прав: код помилки %lu\n" -#: pg_ctl.c:1919 pg_ctl.c:1934 +#: pg_ctl.c:1916 pg_ctl.c:1931 #, c-format msgid "%s: could not get token information: error code %lu\n" msgstr "%s: не вдалося отримати інформацію токену: код помилки %lu\n" -#: pg_ctl.c:1928 +#: pg_ctl.c:1925 #, c-format msgid "%s: out of memory\n" msgstr "%s: бракує пам'яті\n" -#: pg_ctl.c:1958 +#: pg_ctl.c:1955 #, c-format msgid "Try \"%s --help\" for more information.\n" msgstr "Спробуйте \"%s --help\" для додаткової інформації.\n" -#: pg_ctl.c:1966 +#: pg_ctl.c:1963 #, c-format msgid "%s is a utility to initialize, start, stop, or control a PostgreSQL server.\n\n" msgstr "%s - це утиліта для ініціалізації, запуску, зупинки і контролю серверу PostgreSQL.\n\n" -#: pg_ctl.c:1967 +#: pg_ctl.c:1964 #, c-format msgid "Usage:\n" msgstr "Використання:\n" -#: pg_ctl.c:1968 +#: pg_ctl.c:1965 #, c-format msgid " %s init[db] [-D DATADIR] [-s] [-o OPTIONS]\n" msgstr " %s init[db] [-D КАТАЛОГ-ДАНИХ] [-s] [-o ПАРАМЕТРИ]\n" -#: pg_ctl.c:1969 +#: pg_ctl.c:1966 #, c-format msgid " %s start [-D DATADIR] [-l FILENAME] [-W] [-t SECS] [-s]\n" " [-o OPTIONS] [-p PATH] [-c]\n" msgstr " %s start [-D КАТАЛОГ-ДАНИХ] [-l ІМ'Я-ФАЙЛ] [-W] [-t СЕК] [-s]\n" " [-o ПАРАМЕТРИ] [-p ШЛЯХ] [-c]\n" -#: pg_ctl.c:1971 +#: pg_ctl.c:1968 #, c-format msgid " %s stop [-D DATADIR] [-m SHUTDOWN-MODE] [-W] [-t SECS] [-s]\n" msgstr " %s stop [-D КАТАЛОГ-ДАНИХ] [-m РЕЖИМ-ЗУПИНКИ] [-W] [-t СЕК] [-s]\n" -#: pg_ctl.c:1972 +#: pg_ctl.c:1969 #, c-format msgid " %s restart [-D DATADIR] [-m SHUTDOWN-MODE] [-W] [-t SECS] [-s]\n" " [-o OPTIONS] [-c]\n" msgstr " %s restart [-D КАТАЛОГ-ДАНИХ] [-m РЕЖИМ-ЗУПИНКИ] [-W] [-t СЕК] [-s]\n" " [-o ПАРАМЕТРИ] [-c]\n" -#: pg_ctl.c:1974 +#: pg_ctl.c:1971 #, c-format msgid " %s reload [-D DATADIR] [-s]\n" msgstr " %s reload [-D КАТАЛОГ-ДАНИХ] [-s]\n" -#: pg_ctl.c:1975 +#: pg_ctl.c:1972 #, c-format msgid " %s status [-D DATADIR]\n" msgstr " %s status [-D DATADIR]\n" -#: pg_ctl.c:1976 +#: pg_ctl.c:1973 #, c-format msgid " %s promote [-D DATADIR] [-W] [-t SECS] [-s]\n" msgstr " %s promote [-D КАТАЛОГ-ДАНИХ] [-W] [-t СЕК] [-s]\n" -#: pg_ctl.c:1977 +#: pg_ctl.c:1974 #, c-format msgid " %s logrotate [-D DATADIR] [-s]\n" msgstr " %s logrotate [-D DATADIR] [-s]\n" -#: pg_ctl.c:1978 +#: pg_ctl.c:1975 #, c-format msgid " %s kill SIGNALNAME PID\n" msgstr " %s kill ІМ'Я-СИГНАЛУ PID\n" -#: pg_ctl.c:1980 +#: pg_ctl.c:1977 #, c-format msgid " %s register [-D DATADIR] [-N SERVICENAME] [-U USERNAME] [-P PASSWORD]\n" " [-S START-TYPE] [-e SOURCE] [-W] [-t SECS] [-s] [-o OPTIONS]\n" msgstr " %s register [-D КАТАЛОГ-ДАНИХ] [-N ІМ'Я-СЛУЖБИ] [-U ІМ'Я-КОРИСТУВАЧА] [-P ПАРОЛЬ]\n" " [-S ТИП-ЗАПУСКУ] [-e ДЖЕРЕЛО] [-W] [-t СЕК] [-s] [-o ПАРАМЕТРИ]\n" -#: pg_ctl.c:1982 +#: pg_ctl.c:1979 #, c-format msgid " %s unregister [-N SERVICENAME]\n" msgstr " %s unregister [-N ІМ'Я-СЛУЖБИ]\n" -#: pg_ctl.c:1985 +#: pg_ctl.c:1982 #, c-format msgid "\n" "Common options:\n" msgstr "\n" "Загальні параметри:\n" -#: pg_ctl.c:1986 +#: pg_ctl.c:1983 #, c-format msgid " -D, --pgdata=DATADIR location of the database storage area\n" msgstr " -D, --pgdata=КАТАЛОГ-ДАНИХ розташування простору зберігання бази даних\n" -#: pg_ctl.c:1988 +#: pg_ctl.c:1985 #, c-format msgid " -e SOURCE event source for logging when running as a service\n" msgstr " -e ДЖЕРЕЛО джерело подій для протоколу при запуску в якості послуги\n" -#: pg_ctl.c:1990 +#: pg_ctl.c:1987 #, c-format msgid " -s, --silent only print errors, no informational messages\n" msgstr " -s, --silent виводити лише помилки, без інформаційних повідомлень\n" -#: pg_ctl.c:1991 +#: pg_ctl.c:1988 #, c-format msgid " -t, --timeout=SECS seconds to wait when using -w option\n" msgstr " -t, --timeout=СЕК час очікування при використанні -w параметра\n" -#: pg_ctl.c:1992 +#: pg_ctl.c:1989 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version вивести інформацію про версію і вийти\n" -#: pg_ctl.c:1993 +#: pg_ctl.c:1990 #, c-format msgid " -w, --wait wait until operation completes (default)\n" msgstr " -w, --wait чекати завершення операції (за замовчуванням)\n" -#: pg_ctl.c:1994 +#: pg_ctl.c:1991 #, c-format msgid " -W, --no-wait do not wait until operation completes\n" msgstr " -W, --no-wait не чекати завершення операції\n" -#: pg_ctl.c:1995 +#: pg_ctl.c:1992 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help показати цю довідку потім вийти\n" -#: pg_ctl.c:1996 +#: pg_ctl.c:1993 #, c-format msgid "If the -D option is omitted, the environment variable PGDATA is used.\n" msgstr "Якщо -D параметр пропущено, використовувати змінну середовища PGDATA.\n" -#: pg_ctl.c:1998 +#: pg_ctl.c:1995 #, c-format msgid "\n" "Options for start or restart:\n" msgstr "\n" "Параметри запуску або перезапуску:\n" -#: pg_ctl.c:2000 +#: pg_ctl.c:1997 #, c-format msgid " -c, --core-files allow postgres to produce core files\n" msgstr " -c, --core-files дозволяти postgres створювати дампи пам'яті\n" -#: pg_ctl.c:2002 +#: pg_ctl.c:1999 #, c-format msgid " -c, --core-files not applicable on this platform\n" msgstr " -c, --core-files недопустимо цією платформою\n" -#: pg_ctl.c:2004 +#: pg_ctl.c:2001 #, c-format msgid " -l, --log=FILENAME write (or append) server log to FILENAME\n" msgstr " -l, --log=ФАЙЛ записувати (або додавати) протокол служби до ФАЙЛ\n" -#: pg_ctl.c:2005 +#: pg_ctl.c:2002 #, c-format msgid " -o, --options=OPTIONS command line options to pass to postgres\n" " (PostgreSQL server executable) or initdb\n" msgstr " -o, --options=ПАРАМЕТРИ параметри командного рядку для PostgreSQL або initdb\n" -#: pg_ctl.c:2007 +#: pg_ctl.c:2004 #, c-format msgid " -p PATH-TO-POSTGRES normally not necessary\n" msgstr " -p ШЛЯХ-ДО-СЕРВЕРУ зазвичай зайвий\n" -#: pg_ctl.c:2008 +#: pg_ctl.c:2005 #, c-format msgid "\n" "Options for stop or restart:\n" msgstr "\n" "Параметри припинення або перезапуску:\n" -#: pg_ctl.c:2009 +#: pg_ctl.c:2006 #, c-format msgid " -m, --mode=MODE MODE can be \"smart\", \"fast\", or \"immediate\"\n" msgstr " -m, --mode=РЕЖИМ РЕЖИМ може бути \"smart\", \"fast\", або \"immediate\"\n" -#: pg_ctl.c:2011 +#: pg_ctl.c:2008 #, c-format msgid "\n" "Shutdown modes are:\n" msgstr "\n" "Режими зупинки:\n" -#: pg_ctl.c:2012 +#: pg_ctl.c:2009 #, c-format msgid " smart quit after all clients have disconnected\n" msgstr " smart вийти після від'єднання усіх клієнтів\n" -#: pg_ctl.c:2013 +#: pg_ctl.c:2010 #, c-format msgid " fast quit directly, with proper shutdown (default)\n" msgstr " fast вийти негайно з коректним вимкненням (за замовченням)\n" -#: pg_ctl.c:2014 +#: pg_ctl.c:2011 #, c-format msgid " immediate quit without complete shutdown; will lead to recovery on restart\n" msgstr " immediate вийти негайно без повної процедури. Приведе до відновлення під час перезапуску\n" -#: pg_ctl.c:2016 +#: pg_ctl.c:2013 #, c-format msgid "\n" "Allowed signal names for kill:\n" msgstr "\n" "Дозволенні сигнали для команди kill:\n" -#: pg_ctl.c:2020 +#: pg_ctl.c:2017 #, c-format msgid "\n" "Options for register and unregister:\n" msgstr "\n" "Параметри для реєстрації і видалення: \n" -#: pg_ctl.c:2021 +#: pg_ctl.c:2018 #, c-format msgid " -N SERVICENAME service name with which to register PostgreSQL server\n" msgstr " -N ІМ'Я-СЛУЖБИ ім'я служби під яким зареєструвати сервер PostgreSQL\n" -#: pg_ctl.c:2022 +#: pg_ctl.c:2019 #, c-format msgid " -P PASSWORD password of account to register PostgreSQL server\n" msgstr " -P ПАРОЛЬ пароль облікового запису для реєстрації серверу PostgreSQL\n" -#: pg_ctl.c:2023 +#: pg_ctl.c:2020 #, c-format msgid " -U USERNAME user name of account to register PostgreSQL server\n" msgstr " -U КОРИСТУВАЧ ім'я користувача під яким зареєструвати сервер PostgreSQL\n" -#: pg_ctl.c:2024 +#: pg_ctl.c:2021 #, c-format msgid " -S START-TYPE service start type to register PostgreSQL server\n" msgstr " -S ТИП-ЗАПУСКУ тип запуску служби для реєстрації серверу PostgreSQL\n" -#: pg_ctl.c:2026 +#: pg_ctl.c:2023 #, c-format msgid "\n" "Start types are:\n" msgstr "\n" "Типи запуску:\n" -#: pg_ctl.c:2027 +#: pg_ctl.c:2024 #, c-format msgid " auto start service automatically during system startup (default)\n" msgstr " auto запускати сервер автоматично під час запуску системи (за замовчуванням)\n" -#: pg_ctl.c:2028 +#: pg_ctl.c:2025 #, c-format msgid " demand start service on demand\n" msgstr " demand запускати сервер за потреби\n" -#: pg_ctl.c:2031 +#: pg_ctl.c:2028 #, c-format msgid "\n" "Report bugs to <%s>.\n" msgstr "\n" "Повідомляти про помилки на <%s>.\n" -#: pg_ctl.c:2032 +#: pg_ctl.c:2029 #, c-format msgid "%s home page: <%s>\n" msgstr "Домашня сторінка %s: <%s>\n" -#: pg_ctl.c:2057 +#: pg_ctl.c:2054 #, c-format msgid "%s: unrecognized shutdown mode \"%s\"\n" msgstr "%s: невідомий режим завершення \"%s\"\n" -#: pg_ctl.c:2086 +#: pg_ctl.c:2083 #, c-format msgid "%s: unrecognized signal name \"%s\"\n" msgstr "%s: невідомий сигнал \"%s\"\n" -#: pg_ctl.c:2103 +#: pg_ctl.c:2100 #, c-format msgid "%s: unrecognized start type \"%s\"\n" msgstr "%s: невідомий тип запуску \"%s\"\n" -#: pg_ctl.c:2159 +#: pg_ctl.c:2156 #, c-format msgid "%s: could not determine the data directory using command \"%s\"\n" msgstr "%s: неможливо визначити каталог даних за допомогою команди \"%s\"\n" -#: pg_ctl.c:2182 +#: pg_ctl.c:2179 #, c-format msgid "%s: control file appears to be corrupt\n" msgstr "%s: контрольний файл видається пошкодженим\n" -#: pg_ctl.c:2250 +#: pg_ctl.c:2247 #, c-format msgid "%s: cannot be run as root\n" "Please log in (using, e.g., \"su\") as the (unprivileged) user that will\n" @@ -766,32 +785,32 @@ msgstr "%s: не може бути запущеним від ім'я супер- " Будь ласка увійдіть (використовуючи наприклад, \"su\") як (непривілейований) користувач який буде мати\n" "свій серверний процес. \n" -#: pg_ctl.c:2333 +#: pg_ctl.c:2319 #, c-format msgid "%s: -S option not supported on this platform\n" msgstr "%s: параметр -S не підтримується цією платформою\n" -#: pg_ctl.c:2370 -#, c-format -msgid "%s: too many command-line arguments (first is \"%s\")\n" -msgstr "%s: забагато аргументів у командному рядку (перший \"%s\")\n" - -#: pg_ctl.c:2396 +#: pg_ctl.c:2375 #, c-format msgid "%s: missing arguments for kill mode\n" msgstr "%s: відсутні аргументи для режиму kill\n" -#: pg_ctl.c:2414 +#: pg_ctl.c:2393 #, c-format msgid "%s: unrecognized operation mode \"%s\"\n" msgstr "%s: невідомий режим роботи \"%s\"\n" -#: pg_ctl.c:2424 +#: pg_ctl.c:2402 +#, c-format +msgid "%s: too many command-line arguments (first is \"%s\")\n" +msgstr "%s: забагато аргументів у командному рядку (перший \"%s\")\n" + +#: pg_ctl.c:2409 #, c-format msgid "%s: no operation specified\n" msgstr "%s: команда не вказана\n" -#: pg_ctl.c:2445 +#: pg_ctl.c:2430 #, c-format msgid "%s: no database directory specified and environment variable PGDATA unset\n" msgstr "%s: не вказано каталог даних і змінна середовища PGDATA не встановлена\n" diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c index 9202a43eb20..f3988f1492d 100644 --- a/src/bin/pg_dump/pg_dump.c +++ b/src/bin/pg_dump/pg_dump.c @@ -336,6 +336,7 @@ static bool nonemptyReloptions(const char *reloptions); static void appendReloptionsArrayAH(PQExpBuffer buffer, const char *reloptions, const char *prefix, Archive *fout); static char *get_synchronized_snapshot(Archive *fout); +static void set_restrict_relation_kind(Archive *AH, const char *value); static void setupDumpWorker(Archive *AH); static TableInfo *getRootTableInfo(const TableInfo *tbinfo); static bool forcePartitionRootLoad(const TableInfo *tbinfo); @@ -1293,6 +1294,13 @@ setup_connection(Archive *AH, const char *dumpencoding, ExecuteSqlStatement(AH, "SET row_security = off"); } + /* + * For security reasons, we restrict the expansion of non-system views and + * access to foreign tables during the pg_dump process. This restriction + * is adjusted when dumping foreign table data. + */ + set_restrict_relation_kind(AH, "view, foreign-table"); + /* * Initialize prepared-query state to "nothing prepared". We do this here * so that a parallel dump worker will have its own state. @@ -2161,6 +2169,10 @@ dumpTableData_copy(Archive *fout, const void *dcontext) */ if (tdinfo->filtercond || tbinfo->relkind == RELKIND_FOREIGN_TABLE) { + /* Temporary allows to access to foreign tables to dump data */ + if (tbinfo->relkind == RELKIND_FOREIGN_TABLE) + set_restrict_relation_kind(fout, "view"); + appendPQExpBufferStr(q, "COPY (SELECT "); /* klugery to get rid of parens in column list */ if (strlen(column_list) > 2) @@ -2272,6 +2284,11 @@ dumpTableData_copy(Archive *fout, const void *dcontext) classname); destroyPQExpBuffer(q); + + /* Revert back the setting */ + if (tbinfo->relkind == RELKIND_FOREIGN_TABLE) + set_restrict_relation_kind(fout, "view, foreign-table"); + return 1; } @@ -2298,6 +2315,10 @@ dumpTableData_insert(Archive *fout, const void *dcontext) int rows_per_statement = dopt->dump_inserts; int rows_this_statement = 0; + /* Temporary allows to access to foreign tables to dump data */ + if (tbinfo->relkind == RELKIND_FOREIGN_TABLE) + set_restrict_relation_kind(fout, "view"); + /* * If we're going to emit INSERTs with column names, the most efficient * way to deal with generated columns is to exclude them entirely. For @@ -2537,6 +2558,10 @@ dumpTableData_insert(Archive *fout, const void *dcontext) destroyPQExpBuffer(insertStmt); free(attgenerated); + /* Revert back the setting */ + if (tbinfo->relkind == RELKIND_FOREIGN_TABLE) + set_restrict_relation_kind(fout, "view, foreign-table"); + return 1; } @@ -4710,6 +4735,28 @@ is_superuser(Archive *fout) return false; } +/* + * Set the given value to restrict_nonsystem_relation_kind value. Since + * restrict_nonsystem_relation_kind is introduced in minor version releases, + * the setting query is effective only where available. + */ +static void +set_restrict_relation_kind(Archive *AH, const char *value) +{ + PQExpBuffer query = createPQExpBuffer(); + PGresult *res; + + appendPQExpBuffer(query, + "SELECT set_config(name, '%s', false) " + "FROM pg_settings " + "WHERE name = 'restrict_nonsystem_relation_kind'", + value); + res = ExecuteSqlQuery(AH, query->data, PGRES_TUPLES_OK); + + PQclear(res); + destroyPQExpBuffer(query); +} + /* * getSubscriptions * get information about subscriptions @@ -17489,6 +17536,15 @@ dumpSequence(Archive *fout, const TableInfo *tbinfo) appendPQExpBufferStr(query, "BY DEFAULT"); appendPQExpBuffer(query, " AS IDENTITY (\n SEQUENCE NAME %s\n", fmtQualifiedDumpable(tbinfo)); + + /* + * Emit persistence option only if it's different from the owning + * table's. This avoids using this new syntax unnecessarily. + */ + if (tbinfo->relpersistence != owning_tab->relpersistence) + appendPQExpBuffer(query, " %s\n", + tbinfo->relpersistence == RELPERSISTENCE_UNLOGGED ? + "UNLOGGED" : "LOGGED"); } else { @@ -17521,15 +17577,7 @@ dumpSequence(Archive *fout, const TableInfo *tbinfo) cache, (cycled ? "\n CYCLE" : "")); if (tbinfo->is_identity_sequence) - { appendPQExpBufferStr(query, "\n);\n"); - if (tbinfo->relpersistence != owning_tab->relpersistence) - appendPQExpBuffer(query, - "ALTER SEQUENCE %s SET %s;\n", - fmtQualifiedDumpable(tbinfo), - tbinfo->relpersistence == RELPERSISTENCE_UNLOGGED ? - "UNLOGGED" : "LOGGED"); - } else appendPQExpBufferStr(query, ";\n"); diff --git a/src/bin/pg_dump/pg_dumpall.c b/src/bin/pg_dump/pg_dumpall.c index 882dbf8e865..e3ad8fb2956 100644 --- a/src/bin/pg_dump/pg_dumpall.c +++ b/src/bin/pg_dump/pg_dumpall.c @@ -658,7 +658,7 @@ help(void) printf(_(" --disable-triggers disable triggers during data-only restore\n")); printf(_(" --exclude-database=PATTERN exclude databases whose name matches PATTERN\n")); printf(_(" --extra-float-digits=NUM override default setting for extra_float_digits\n")); - printf(_(" --filter=FILENAME exclude databases specified in FILENAME\n")); + printf(_(" --filter=FILENAME exclude databases based on expressions in FILENAME\n")); printf(_(" --if-exists use IF EXISTS when dropping objects\n")); printf(_(" --inserts dump data as INSERT commands, rather than COPY\n")); printf(_(" --load-via-partition-root load partitions via the root table\n")); diff --git a/src/bin/pg_dump/po/de.po b/src/bin/pg_dump/po/de.po index fa22292c6a7..dbe490c9f81 100644 --- a/src/bin/pg_dump/po/de.po +++ b/src/bin/pg_dump/po/de.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-06-21 16:52+0000\n" -"PO-Revision-Date: 2024-06-22 07:36+0200\n" +"POT-Creation-Date: 2024-08-28 04:22+0000\n" +"PO-Revision-Date: 2024-08-28 07:52+0200\n" "Last-Translator: Peter Eisentraut \n" "Language-Team: German \n" "Language: de\n" @@ -822,7 +822,7 @@ msgstr "Wiederherstellung von Large Object mit OID %u" msgid "could not create large object %u: %s" msgstr "konnte Large Object %u nicht erstellen: %s" -#: pg_backup_archiver.c:1486 pg_dump.c:3863 +#: pg_backup_archiver.c:1486 pg_dump.c:3888 #, c-format msgid "could not open large object %u: %s" msgstr "konnte Large Object %u nicht öffnen: %s" @@ -973,12 +973,12 @@ msgstr "konnte Standardausgabe nicht zum Anhängen öffnen: %m" msgid "unrecognized file format \"%d\"" msgstr "nicht erkanntes Dateiformat »%d«" -#: pg_backup_archiver.c:2527 pg_backup_archiver.c:4625 +#: pg_backup_archiver.c:2527 pg_backup_archiver.c:4647 #, c-format msgid "finished item %d %s %s" msgstr "Element %d %s %s abgeschlossen" -#: pg_backup_archiver.c:2531 pg_backup_archiver.c:4638 +#: pg_backup_archiver.c:2531 pg_backup_archiver.c:4660 #, c-format msgid "worker process failed: exit code %d" msgstr "Arbeitsprozess fehlgeschlagen: Code %d" @@ -1063,72 +1063,72 @@ msgstr "konnte Tabellenzugriffsmethode nicht ändern: %s" msgid "don't know how to set owner for object type \"%s\"" msgstr "kann Eigentümer für Objekttyp »%s« nicht setzen" -#: pg_backup_archiver.c:3982 +#: pg_backup_archiver.c:4004 #, c-format msgid "did not find magic string in file header" msgstr "magische Zeichenkette im Dateikopf nicht gefunden" -#: pg_backup_archiver.c:3996 +#: pg_backup_archiver.c:4018 #, c-format msgid "unsupported version (%d.%d) in file header" msgstr "nicht unterstützte Version (%d.%d) im Dateikopf" -#: pg_backup_archiver.c:4001 +#: pg_backup_archiver.c:4023 #, c-format msgid "sanity check on integer size (%lu) failed" msgstr "Prüfung der Integer-Größe (%lu) fehlgeschlagen" -#: pg_backup_archiver.c:4005 +#: pg_backup_archiver.c:4027 #, c-format msgid "archive was made on a machine with larger integers, some operations might fail" msgstr "Archiv wurde auf einer Maschine mit größeren Integers erstellt; einige Operationen könnten fehlschlagen" -#: pg_backup_archiver.c:4015 +#: pg_backup_archiver.c:4037 #, c-format msgid "expected format (%d) differs from format found in file (%d)" msgstr "erwartetes Format (%d) ist nicht das gleiche wie das in der Datei gefundene (%d)" -#: pg_backup_archiver.c:4037 +#: pg_backup_archiver.c:4059 #, c-format msgid "archive is compressed, but this installation does not support compression (%s) -- no data will be available" msgstr "Archiv ist komprimiert, aber diese Installation unterstützt keine Komprimierung (%s) -- keine Daten verfügbar" -#: pg_backup_archiver.c:4073 +#: pg_backup_archiver.c:4095 #, c-format msgid "invalid creation date in header" msgstr "ungültiges Erstellungsdatum im Kopf" -#: pg_backup_archiver.c:4207 +#: pg_backup_archiver.c:4229 #, c-format msgid "processing item %d %s %s" msgstr "verarbeite Element %d %s %s" -#: pg_backup_archiver.c:4292 +#: pg_backup_archiver.c:4314 #, c-format msgid "entering main parallel loop" msgstr "Eintritt in Hauptparallelschleife" -#: pg_backup_archiver.c:4303 +#: pg_backup_archiver.c:4325 #, c-format msgid "skipping item %d %s %s" msgstr "Element %d %s %s wird übersprungen" -#: pg_backup_archiver.c:4312 +#: pg_backup_archiver.c:4334 #, c-format msgid "launching item %d %s %s" msgstr "starte Element %d %s %s" -#: pg_backup_archiver.c:4366 +#: pg_backup_archiver.c:4388 #, c-format msgid "finished main parallel loop" msgstr "Hauptparallelschleife beendet" -#: pg_backup_archiver.c:4402 +#: pg_backup_archiver.c:4424 #, c-format msgid "processing missed item %d %s %s" msgstr "verarbeite verpasstes Element %d %s %s" -#: pg_backup_archiver.c:4944 +#: pg_backup_archiver.c:4966 #, c-format msgid "table \"%s\" could not be created, will not restore its data" msgstr "Tabelle »%s« konnte nicht erzeugt werden, ihre Daten werden nicht wiederhergestellt werden" @@ -1244,7 +1244,7 @@ msgstr "konnte nicht mit der Datenbank verbinden" msgid "reconnection failed: %s" msgstr "Wiederverbindung fehlgeschlagen: %s" -#: pg_backup_db.c:190 pg_backup_db.c:264 pg_dump.c:787 pg_dump_sort.c:1213 +#: 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:1704 pg_dumpall.c:1788 #, c-format msgid "%s" @@ -1291,7 +1291,7 @@ msgstr "Fehler in PQputCopyEnd: %s" msgid "COPY failed for table \"%s\": %s" msgstr "COPY fehlgeschlagen für Tabelle »%s«: %s" -#: pg_backup_db.c:521 pg_dump.c:2271 +#: pg_backup_db.c:521 pg_dump.c:2283 #, c-format msgid "unexpected extra results during COPY of table \"%s\"" msgstr "unerwartete zusätzliche Ergebnisse während COPY von Tabelle »%s«" @@ -1463,7 +1463,7 @@ msgstr "beschädigter Tar-Kopf in %s gefunden (%d erwartet, %d berechnet), Datei msgid "unrecognized section name: \"%s\"" msgstr "unbekannter Abschnittsname: »%s«" -#: pg_backup_utils.c:55 pg_dump.c:693 pg_dump.c:710 pg_dumpall.c:370 +#: 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 @@ -1476,82 +1476,82 @@ msgstr "Versuchen Sie »%s --help« für weitere Informationen." msgid "out of on_exit_nicely slots" msgstr "on_exit_nicely-Slots aufgebraucht" -#: pg_dump.c:708 pg_dumpall.c:378 pg_restore.c:321 +#: pg_dump.c:709 pg_dumpall.c:378 pg_restore.c:321 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "zu viele Kommandozeilenargumente (das erste ist »%s«)" -#: pg_dump.c:727 pg_restore.c:344 +#: pg_dump.c:728 pg_restore.c:344 #, c-format msgid "options -s/--schema-only and -a/--data-only cannot be used together" msgstr "Optionen -s/--schema-only und -a/--data-only können nicht zusammen verwendet werden" -#: pg_dump.c:730 +#: pg_dump.c:731 #, c-format msgid "options -s/--schema-only and --include-foreign-data cannot be used together" msgstr "Optionen -s/--schema-only und --include-foreign-data können nicht zusammen verwendet werden" -#: pg_dump.c:733 +#: pg_dump.c:734 #, c-format msgid "option --include-foreign-data is not supported with parallel backup" msgstr "Option --include-foreign-data wird nicht mit paralleler Sicherung unterstützt" -#: pg_dump.c:736 pg_restore.c:347 +#: pg_dump.c:737 pg_restore.c:347 #, c-format msgid "options -c/--clean and -a/--data-only cannot be used together" msgstr "Optionen -c/--clean und -a/--data-only können nicht zusammen verwendet werden" -#: pg_dump.c:739 pg_dumpall.c:408 pg_restore.c:375 +#: pg_dump.c:740 pg_dumpall.c:408 pg_restore.c:375 #, c-format msgid "option --if-exists requires option -c/--clean" msgstr "Option --if-exists benötigt Option -c/--clean" -#: pg_dump.c:746 +#: pg_dump.c:747 #, c-format msgid "option --on-conflict-do-nothing requires option --inserts, --rows-per-insert, or --column-inserts" msgstr "Option --on-conflict-do-nothing benötigt Option --inserts, --rows-per-insert oder --column-inserts" -#: pg_dump.c:775 +#: pg_dump.c:776 #, c-format msgid "unrecognized compression algorithm: \"%s\"" msgstr "unbekannter Komprimierungsalgorithmus: »%s«" -#: pg_dump.c:782 +#: pg_dump.c:783 #, c-format msgid "invalid compression specification: %s" msgstr "ungültige Komprimierungsangabe: %s" -#: pg_dump.c:795 +#: pg_dump.c:796 #, c-format msgid "compression option \"%s\" is not currently supported by pg_dump" msgstr "Komprimierungsoption »%s« wird aktuell von pg_dump nicht unterstützt" -#: pg_dump.c:807 +#: pg_dump.c:808 #, c-format msgid "parallel backup only supported by the directory format" msgstr "parallele Sicherung wird nur vom Ausgabeformat »Verzeichnis« unterstützt" -#: pg_dump.c:853 +#: pg_dump.c:854 #, c-format msgid "last built-in OID is %u" msgstr "letzte eingebaute OID ist %u" -#: pg_dump.c:862 +#: pg_dump.c:863 #, c-format msgid "no matching schemas were found" msgstr "keine passenden Schemas gefunden" -#: pg_dump.c:879 +#: pg_dump.c:880 #, c-format msgid "no matching tables were found" msgstr "keine passenden Tabellen gefunden" -#: pg_dump.c:907 +#: pg_dump.c:908 #, c-format msgid "no matching extensions were found" msgstr "keine passenden Erweiterungen gefunden" -#: pg_dump.c:1091 +#: pg_dump.c:1092 #, c-format msgid "" "%s dumps a database as a text file or to other formats.\n" @@ -1560,17 +1560,17 @@ msgstr "" "%s gibt eine Datenbank als Textdatei oder in anderen Formaten aus.\n" "\n" -#: pg_dump.c:1092 pg_dumpall.c:635 pg_restore.c:452 +#: pg_dump.c:1093 pg_dumpall.c:635 pg_restore.c:452 #, c-format msgid "Usage:\n" msgstr "Aufruf:\n" -#: pg_dump.c:1093 +#: pg_dump.c:1094 #, c-format msgid " %s [OPTION]... [DBNAME]\n" msgstr " %s [OPTION]... [DBNAME]\n" -#: pg_dump.c:1095 pg_dumpall.c:638 pg_restore.c:455 +#: pg_dump.c:1096 pg_dumpall.c:638 pg_restore.c:455 #, c-format msgid "" "\n" @@ -1579,12 +1579,12 @@ msgstr "" "\n" "Allgemeine Optionen:\n" -#: pg_dump.c:1096 +#: pg_dump.c:1097 #, c-format msgid " -f, --file=FILENAME output file or directory name\n" msgstr " -f, --file=DATEINAME Name der Ausgabedatei oder des -verzeichnisses\n" -#: pg_dump.c:1097 +#: pg_dump.c:1098 #, c-format msgid "" " -F, --format=c|d|t|p output file format (custom, directory, tar,\n" @@ -1593,22 +1593,22 @@ msgstr "" " -F, --format=c|d|t|p Ausgabeformat (custom, d=Verzeichnis, tar,\n" " plain text)\n" -#: pg_dump.c:1099 +#: pg_dump.c:1100 #, c-format msgid " -j, --jobs=NUM use this many parallel jobs to dump\n" msgstr " -j, --jobs=NUM so viele parallele Jobs zur Sicherung verwenden\n" -#: pg_dump.c:1100 pg_dumpall.c:640 +#: pg_dump.c:1101 pg_dumpall.c:640 #, c-format msgid " -v, --verbose verbose mode\n" msgstr " -v, --verbose »Verbose«-Modus\n" -#: pg_dump.c:1101 pg_dumpall.c:641 +#: pg_dump.c:1102 pg_dumpall.c:641 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version Versionsinformationen anzeigen, dann beenden\n" -#: pg_dump.c:1102 +#: pg_dump.c:1103 #, c-format msgid "" " -Z, --compress=METHOD[:DETAIL]\n" @@ -1617,31 +1617,31 @@ msgstr "" " -Z, --compress=METHODE[:DETAIL]\n" " wie angegeben komprimieren\n" -#: pg_dump.c:1104 pg_dumpall.c:642 +#: pg_dump.c:1105 pg_dumpall.c:642 #, c-format msgid " --lock-wait-timeout=TIMEOUT fail after waiting TIMEOUT for a table lock\n" msgstr " --lock-wait-timeout=ZEIT Abbruch nach ZEIT Warten auf Tabellensperre\n" -#: pg_dump.c:1105 pg_dumpall.c:670 +#: pg_dump.c:1106 pg_dumpall.c:670 #, c-format msgid " --no-sync do not wait for changes to be written safely to disk\n" msgstr "" " --no-sync nicht warten, bis Änderungen sicher auf\n" " Festplatte geschrieben sind\n" -#: pg_dump.c:1106 +#: pg_dump.c:1107 #, c-format msgid " --sync-method=METHOD set method for syncing files to disk\n" msgstr "" " --sync-method=METHODE Methode zum Synchronisieren von Dateien auf\n" " Festplatte setzen\n" -#: pg_dump.c:1107 pg_dumpall.c:643 +#: pg_dump.c:1108 pg_dumpall.c:643 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help diese Hilfe anzeigen, dann beenden\n" -#: pg_dump.c:1109 pg_dumpall.c:644 +#: pg_dump.c:1110 pg_dumpall.c:644 #, c-format msgid "" "\n" @@ -1650,64 +1650,64 @@ msgstr "" "\n" "Optionen die den Inhalt der Ausgabe kontrollieren:\n" -#: pg_dump.c:1110 pg_dumpall.c:645 +#: pg_dump.c:1111 pg_dumpall.c:645 #, c-format msgid " -a, --data-only dump only the data, not the schema\n" msgstr " -a, --data-only nur Daten ausgeben, nicht das Schema\n" -#: pg_dump.c:1111 +#: pg_dump.c:1112 #, c-format msgid " -b, --large-objects include large objects in dump\n" msgstr " -b, --large-objects Large Objects mit ausgeben\n" -#: pg_dump.c:1112 +#: pg_dump.c:1113 #, c-format msgid " --blobs (same as --large-objects, deprecated)\n" msgstr " --blobs (gleich --large-objects, veraltet)\n" -#: pg_dump.c:1113 +#: pg_dump.c:1114 #, c-format msgid " -B, --no-large-objects exclude large objects in dump\n" msgstr " -B, --no-large-objects Large Objects nicht mit ausgeben\n" -#: pg_dump.c:1114 +#: pg_dump.c:1115 #, c-format msgid " --no-blobs (same as --no-large-objects, deprecated)\n" msgstr " --no-blobs (gleich --no-large-objects, veraltet)\n" -#: pg_dump.c:1115 pg_restore.c:466 +#: pg_dump.c:1116 pg_restore.c:466 #, c-format msgid " -c, --clean clean (drop) database objects before recreating\n" msgstr " -c, --clean Datenbankobjekte vor der Wiedererstellung löschen\n" -#: pg_dump.c:1116 +#: pg_dump.c:1117 #, c-format msgid " -C, --create include commands to create database in dump\n" msgstr "" " -C, --create Anweisungen zum Erstellen der Datenbank in\n" " Ausgabe einfügen\n" -#: pg_dump.c:1117 +#: pg_dump.c:1118 #, c-format msgid " -e, --extension=PATTERN dump the specified extension(s) only\n" msgstr " -e, --extension=MUSTER nur die angegebene(n) Erweiterung(en) ausgeben\n" -#: pg_dump.c:1118 pg_dumpall.c:647 +#: pg_dump.c:1119 pg_dumpall.c:647 #, c-format msgid " -E, --encoding=ENCODING dump the data in encoding ENCODING\n" msgstr " -E, --encoding=KODIERUNG Daten in Kodierung KODIERUNG ausgeben\n" -#: pg_dump.c:1119 +#: pg_dump.c:1120 #, c-format msgid " -n, --schema=PATTERN dump the specified schema(s) only\n" msgstr " -n, --schema=MUSTER nur das/die angegebene(n) Schema(s) ausgeben\n" -#: pg_dump.c:1120 +#: pg_dump.c:1121 #, c-format msgid " -N, --exclude-schema=PATTERN do NOT dump the specified schema(s)\n" msgstr " -N, --exclude-schema=MUSTER das/die angegebene(n) Schema(s) NICHT ausgeben\n" -#: pg_dump.c:1121 +#: pg_dump.c:1122 #, c-format msgid "" " -O, --no-owner skip restoration of object ownership in\n" @@ -1716,58 +1716,58 @@ msgstr "" " -O, --no-owner Wiederherstellung der Objekteigentümerschaft im\n" " »plain text«-Format auslassen\n" -#: pg_dump.c:1123 pg_dumpall.c:651 +#: pg_dump.c:1124 pg_dumpall.c:651 #, c-format msgid " -s, --schema-only dump only the schema, no data\n" msgstr " -s, --schema-only nur das Schema, nicht die Daten, ausgeben\n" -#: pg_dump.c:1124 +#: pg_dump.c:1125 #, c-format msgid " -S, --superuser=NAME superuser user name to use in plain-text format\n" msgstr " -S, --superuser=NAME Superusername für »plain text«-Format\n" -#: pg_dump.c:1125 +#: pg_dump.c:1126 #, c-format msgid " -t, --table=PATTERN dump only the specified table(s)\n" msgstr " -t, --table=MUSTER nur die angegebene(n) Tabelle(n) ausgeben\n" -#: pg_dump.c:1126 +#: pg_dump.c:1127 #, c-format msgid " -T, --exclude-table=PATTERN do NOT dump the specified table(s)\n" msgstr " -T, --exclude-table=MUSTER die angegebene(n) Tabelle(n) NICHT ausgeben\n" -#: pg_dump.c:1127 pg_dumpall.c:654 +#: pg_dump.c:1128 pg_dumpall.c:654 #, c-format msgid " -x, --no-privileges do not dump privileges (grant/revoke)\n" msgstr " -x, --no-privileges Zugriffsprivilegien (grant/revoke) nicht ausgeben\n" -#: pg_dump.c:1128 pg_dumpall.c:655 +#: pg_dump.c:1129 pg_dumpall.c:655 #, c-format msgid " --binary-upgrade for use by upgrade utilities only\n" msgstr " --binary-upgrade wird nur von Upgrade-Programmen verwendet\n" -#: pg_dump.c:1129 pg_dumpall.c:656 +#: pg_dump.c:1130 pg_dumpall.c:656 #, c-format msgid " --column-inserts dump data as INSERT commands with column names\n" msgstr "" " --column-inserts Daten als INSERT-Anweisungen mit Spaltennamen\n" " ausgeben\n" -#: pg_dump.c:1130 pg_dumpall.c:657 +#: pg_dump.c:1131 pg_dumpall.c:657 #, c-format msgid " --disable-dollar-quoting disable dollar quoting, use SQL standard quoting\n" msgstr "" " --disable-dollar-quoting Dollar-Quoting abschalten, normales SQL-Quoting\n" " verwenden\n" -#: pg_dump.c:1131 pg_dumpall.c:658 pg_restore.c:483 +#: pg_dump.c:1132 pg_dumpall.c:658 pg_restore.c:483 #, c-format msgid " --disable-triggers disable triggers during data-only restore\n" msgstr "" " --disable-triggers Trigger während der Datenwiederherstellung\n" " abschalten\n" -#: pg_dump.c:1132 +#: pg_dump.c:1133 #, c-format msgid "" " --enable-row-security enable row security (dump only content user has\n" @@ -1776,12 +1776,12 @@ msgstr "" " --enable-row-security Sicherheit auf Zeilenebene einschalten (nur Daten\n" " ausgeben, auf die der Benutzer Zugriff hat)\n" -#: pg_dump.c:1134 +#: pg_dump.c:1135 #, c-format msgid " --exclude-extension=PATTERN do NOT dump the specified extension(s)\n" msgstr " --exclude-extension=MUSTER die angegebene(n) Erweiterung(en) NICHT ausgeben\n" -#: pg_dump.c:1135 +#: pg_dump.c:1136 #, c-format msgid "" " --exclude-table-and-children=PATTERN\n" @@ -1792,12 +1792,12 @@ msgstr "" " die angegebene(n) Tabelle(n) NICHT ausgeben,\n" " einschließlich abgeleiteter und Partitionstabellen\n" -#: pg_dump.c:1138 +#: pg_dump.c:1139 #, c-format msgid " --exclude-table-data=PATTERN do NOT dump data for the specified table(s)\n" msgstr " --exclude-table-data=MUSTER Daten der angegebenen Tabelle(n) NICHT ausgeben\n" -#: pg_dump.c:1139 +#: pg_dump.c:1140 #, c-format msgid "" " --exclude-table-data-and-children=PATTERN\n" @@ -1808,12 +1808,12 @@ msgstr "" " Daten der angegebenen Tabelle(n) NICHT ausgeben,\n" " einschließlich abgeleiteter und Partitionstabellen\n" -#: pg_dump.c:1142 pg_dumpall.c:660 +#: pg_dump.c:1143 pg_dumpall.c:660 #, c-format msgid " --extra-float-digits=NUM override default setting for extra_float_digits\n" msgstr " --extra-float-digits=ZAHL Einstellung für extra_float_digits\n" -#: pg_dump.c:1143 +#: pg_dump.c:1144 #, c-format msgid "" " --filter=FILENAME include or exclude objects and data from dump\n" @@ -1822,12 +1822,12 @@ msgstr "" " --filter=DATEINAME Objekte und Daten basierend auf Ausdrücken in DATEINAME\n" " mit sichern oder überspringen\n" -#: pg_dump.c:1145 pg_dumpall.c:662 pg_restore.c:487 +#: pg_dump.c:1146 pg_dumpall.c:662 pg_restore.c:487 #, c-format msgid " --if-exists use IF EXISTS when dropping objects\n" msgstr " --if-exists IF EXISTS verwenden, wenn Objekte gelöscht werden\n" -#: pg_dump.c:1146 +#: pg_dump.c:1147 #, c-format msgid "" " --include-foreign-data=PATTERN\n" @@ -1838,91 +1838,91 @@ msgstr "" " Daten von Fremdtabellen auf Fremdservern, die\n" " mit MUSTER übereinstimmen, mit sichern\n" -#: pg_dump.c:1149 pg_dumpall.c:663 +#: pg_dump.c:1150 pg_dumpall.c:663 #, c-format msgid " --inserts dump data as INSERT commands, rather than COPY\n" msgstr " --inserts Daten als INSERT-Anweisungen statt COPY ausgeben\n" -#: pg_dump.c:1150 pg_dumpall.c:664 +#: pg_dump.c:1151 pg_dumpall.c:664 #, c-format msgid " --load-via-partition-root load partitions via the root table\n" msgstr " --load-via-partition-root Partitionen über die Wurzeltabelle laden\n" -#: pg_dump.c:1151 pg_dumpall.c:665 +#: pg_dump.c:1152 pg_dumpall.c:665 #, c-format msgid " --no-comments do not dump comments\n" msgstr " --no-comments Kommentare nicht ausgeben\n" -#: pg_dump.c:1152 pg_dumpall.c:666 +#: pg_dump.c:1153 pg_dumpall.c:666 #, c-format msgid " --no-publications do not dump publications\n" msgstr " --no-publications Publikationen nicht ausgeben\n" -#: pg_dump.c:1153 pg_dumpall.c:668 +#: pg_dump.c:1154 pg_dumpall.c:668 #, c-format msgid " --no-security-labels do not dump security label assignments\n" msgstr " --no-security-labels Security-Label-Zuweisungen nicht ausgeben\n" -#: pg_dump.c:1154 pg_dumpall.c:669 +#: pg_dump.c:1155 pg_dumpall.c:669 #, c-format msgid " --no-subscriptions do not dump subscriptions\n" msgstr " --no-subscriptions Subskriptionen nicht ausgeben\n" -#: pg_dump.c:1155 pg_dumpall.c:671 +#: pg_dump.c:1156 pg_dumpall.c:671 #, c-format msgid " --no-table-access-method do not dump table access methods\n" msgstr " --no-table-access-method Tabellenzugriffsmethoden nicht ausgeben\n" -#: pg_dump.c:1156 pg_dumpall.c:672 +#: pg_dump.c:1157 pg_dumpall.c:672 #, c-format msgid " --no-tablespaces do not dump tablespace assignments\n" msgstr " --no-tablespaces Tablespace-Zuordnungen nicht ausgeben\n" -#: pg_dump.c:1157 pg_dumpall.c:673 +#: pg_dump.c:1158 pg_dumpall.c:673 #, c-format msgid " --no-toast-compression do not dump TOAST compression methods\n" msgstr " --no-toast-compression TOAST-Komprimierungsmethoden nicht ausgeben\n" -#: pg_dump.c:1158 pg_dumpall.c:674 +#: pg_dump.c:1159 pg_dumpall.c:674 #, c-format msgid " --no-unlogged-table-data do not dump unlogged table data\n" msgstr " --no-unlogged-table-data Daten in ungeloggten Tabellen nicht ausgeben\n" -#: pg_dump.c:1159 pg_dumpall.c:675 +#: pg_dump.c:1160 pg_dumpall.c:675 #, c-format msgid " --on-conflict-do-nothing add ON CONFLICT DO NOTHING to INSERT commands\n" msgstr " --on-conflict-do-nothing INSERT-Befehle mit ON CONFLICT DO NOTHING ausgeben\n" -#: pg_dump.c:1160 pg_dumpall.c:676 +#: pg_dump.c:1161 pg_dumpall.c:676 #, c-format msgid " --quote-all-identifiers quote all identifiers, even if not key words\n" msgstr "" " --quote-all-identifiers alle Bezeichner in Anführungszeichen, selbst wenn\n" " kein Schlüsselwort\n" -#: pg_dump.c:1161 pg_dumpall.c:677 +#: pg_dump.c:1162 pg_dumpall.c:677 #, c-format msgid " --rows-per-insert=NROWS number of rows per INSERT; implies --inserts\n" msgstr " --rows-per-insert=ANZAHL Anzahl Zeilen pro INSERT; impliziert --inserts\n" -#: pg_dump.c:1162 +#: pg_dump.c:1163 #, c-format msgid " --section=SECTION dump named section (pre-data, data, or post-data)\n" msgstr "" " --section=ABSCHNITT angegebenen Abschnitt ausgeben (pre-data, data\n" " oder post-data)\n" -#: pg_dump.c:1163 +#: pg_dump.c:1164 #, c-format msgid " --serializable-deferrable wait until the dump can run without anomalies\n" msgstr " --serializable-deferrable warten bis der Dump ohne Anomalien laufen kann\n" -#: pg_dump.c:1164 +#: pg_dump.c:1165 #, c-format msgid " --snapshot=SNAPSHOT use given snapshot for the dump\n" msgstr " --snapshot=SNAPSHOT angegebenen Snapshot für den Dump verwenden\n" -#: pg_dump.c:1165 pg_restore.c:497 +#: pg_dump.c:1166 pg_restore.c:497 #, c-format msgid "" " --strict-names require table and/or schema include patterns to\n" @@ -1931,7 +1931,7 @@ msgstr "" " --strict-names Tabellen- oder Schemamuster müssen auf mindestens\n" " je ein Objekt passen\n" -#: pg_dump.c:1167 +#: pg_dump.c:1168 #, c-format msgid "" " --table-and-children=PATTERN dump only the specified table(s), including\n" @@ -1940,7 +1940,7 @@ msgstr "" " --table-and-children=MUSTER nur die angegebene(n) Tabelle(n) ausgeben,\n" " einschließlich abgeleiteter und Partitionstabellen\n" -#: pg_dump.c:1169 pg_dumpall.c:678 pg_restore.c:500 +#: pg_dump.c:1170 pg_dumpall.c:678 pg_restore.c:500 #, c-format msgid "" " --use-set-session-authorization\n" @@ -1952,7 +1952,7 @@ msgstr "" " OWNER Befehle verwenden, um Eigentümerschaft zu\n" " setzen\n" -#: pg_dump.c:1173 pg_dumpall.c:682 pg_restore.c:504 +#: pg_dump.c:1174 pg_dumpall.c:682 pg_restore.c:504 #, c-format msgid "" "\n" @@ -1961,42 +1961,42 @@ msgstr "" "\n" "Verbindungsoptionen:\n" -#: pg_dump.c:1174 +#: pg_dump.c:1175 #, c-format msgid " -d, --dbname=DBNAME database to dump\n" msgstr " -d, --dbname=DBNAME auszugebende Datenbank\n" -#: pg_dump.c:1175 pg_dumpall.c:684 pg_restore.c:505 +#: pg_dump.c:1176 pg_dumpall.c:684 pg_restore.c:505 #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr " -h, --host=HOSTNAME Name des Datenbankservers oder Socket-Verzeichnis\n" -#: pg_dump.c:1176 pg_dumpall.c:686 pg_restore.c:506 +#: pg_dump.c:1177 pg_dumpall.c:686 pg_restore.c:506 #, c-format msgid " -p, --port=PORT database server port number\n" msgstr " -p, --port=PORT Portnummer des Datenbankservers\n" -#: pg_dump.c:1177 pg_dumpall.c:687 pg_restore.c:507 +#: pg_dump.c:1178 pg_dumpall.c:687 pg_restore.c:507 #, c-format msgid " -U, --username=NAME connect as specified database user\n" msgstr " -U, --username=NAME Datenbankbenutzername\n" -#: pg_dump.c:1178 pg_dumpall.c:688 pg_restore.c:508 +#: pg_dump.c:1179 pg_dumpall.c:688 pg_restore.c:508 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password niemals nach Passwort fragen\n" -#: pg_dump.c:1179 pg_dumpall.c:689 pg_restore.c:509 +#: pg_dump.c:1180 pg_dumpall.c:689 pg_restore.c:509 #, c-format msgid " -W, --password force password prompt (should happen automatically)\n" msgstr " -W, --password nach Passwort fragen (sollte automatisch geschehen)\n" -#: pg_dump.c:1180 pg_dumpall.c:690 +#: pg_dump.c:1181 pg_dumpall.c:690 #, c-format msgid " --role=ROLENAME do SET ROLE before dump\n" msgstr " --role=ROLLENNAME vor der Ausgabe SET ROLE ausführen\n" -#: pg_dump.c:1182 +#: pg_dump.c:1183 #, c-format msgid "" "\n" @@ -2009,459 +2009,459 @@ msgstr "" "PGDATABASE verwendet.\n" "\n" -#: pg_dump.c:1184 pg_dumpall.c:694 pg_restore.c:516 +#: pg_dump.c:1185 pg_dumpall.c:694 pg_restore.c:516 #, c-format msgid "Report bugs to <%s>.\n" msgstr "Berichten Sie Fehler an <%s>.\n" -#: pg_dump.c:1185 pg_dumpall.c:695 pg_restore.c:517 +#: pg_dump.c:1186 pg_dumpall.c:695 pg_restore.c:517 #, c-format msgid "%s home page: <%s>\n" msgstr "%s Homepage: <%s>\n" -#: pg_dump.c:1204 pg_dumpall.c:518 +#: pg_dump.c:1205 pg_dumpall.c:518 #, c-format msgid "invalid client encoding \"%s\" specified" msgstr "ungültige Clientkodierung »%s« angegeben" -#: pg_dump.c:1344 +#: pg_dump.c:1352 #, c-format msgid "parallel dumps from standby servers are not supported by this server version" msgstr "parallele Dumps von Standby-Servern werden von dieser Serverversion nicht unterstützt" -#: pg_dump.c:1409 +#: pg_dump.c:1417 #, c-format msgid "invalid output format \"%s\" specified" msgstr "ungültiges Ausgabeformat »%s« angegeben" -#: pg_dump.c:1450 pg_dump.c:1506 pg_dump.c:1559 pg_dumpall.c:1467 +#: pg_dump.c:1458 pg_dump.c:1514 pg_dump.c:1567 pg_dumpall.c:1467 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "falscher qualifizierter Name (zu viele Namensteile): %s" -#: pg_dump.c:1458 +#: pg_dump.c:1466 #, c-format msgid "no matching schemas were found for pattern \"%s\"" msgstr "keine passenden Schemas für Muster »%s« gefunden" -#: pg_dump.c:1511 +#: pg_dump.c:1519 #, c-format msgid "no matching extensions were found for pattern \"%s\"" msgstr "keine passenden Erweiterungen für Muster »%s« gefunden" -#: pg_dump.c:1564 +#: pg_dump.c:1572 #, c-format msgid "no matching foreign servers were found for pattern \"%s\"" msgstr "keine passenden Fremdserver für Muster »%s« gefunden" -#: pg_dump.c:1635 +#: pg_dump.c:1643 #, c-format msgid "improper relation name (too many dotted names): %s" msgstr "falscher Relationsname (zu viele Namensteile): %s" -#: pg_dump.c:1657 +#: pg_dump.c:1665 #, c-format msgid "no matching tables were found for pattern \"%s\"" msgstr "keine passenden Tabellen für Muster »%s« gefunden" -#: pg_dump.c:1684 +#: pg_dump.c:1692 #, c-format msgid "You are currently not connected to a database." msgstr "Sie sind gegenwärtig nicht mit einer Datenbank verbunden." -#: pg_dump.c:1687 +#: pg_dump.c:1695 #, c-format msgid "cross-database references are not implemented: %s" msgstr "Verweise auf andere Datenbanken sind nicht implementiert: %s" -#: pg_dump.c:2146 +#: pg_dump.c:2154 #, c-format msgid "dumping contents of table \"%s.%s\"" msgstr "gebe Inhalt der Tabelle »%s.%s« aus" -#: pg_dump.c:2252 +#: pg_dump.c:2264 #, c-format msgid "Dumping the contents of table \"%s\" failed: PQgetCopyData() failed." msgstr "Ausgabe des Inhalts der Tabelle »%s« fehlgeschlagen: PQgetCopyData() fehlgeschlagen." -#: pg_dump.c:2253 pg_dump.c:2263 +#: pg_dump.c:2265 pg_dump.c:2275 #, c-format msgid "Error message from server: %s" msgstr "Fehlermeldung vom Server: %s" -#: pg_dump.c:2254 pg_dump.c:2264 +#: pg_dump.c:2266 pg_dump.c:2276 #, c-format msgid "Command was: %s" msgstr "Die Anweisung war: %s" -#: pg_dump.c:2262 +#: pg_dump.c:2274 #, c-format msgid "Dumping the contents of table \"%s\" failed: PQgetResult() failed." msgstr "Ausgabe des Inhalts der Tabelle »%s« fehlgeschlagen: PQgetResult() fehlgeschlagen." -#: pg_dump.c:2344 +#: pg_dump.c:2365 #, c-format msgid "wrong number of fields retrieved from table \"%s\"" msgstr "falsche Anzahl Felder von Tabelle »%s« erhalten" -#: pg_dump.c:3042 +#: pg_dump.c:3067 #, c-format msgid "saving database definition" msgstr "sichere Datenbankdefinition" -#: pg_dump.c:3151 +#: pg_dump.c:3176 #, c-format msgid "unrecognized locale provider: %s" msgstr "unbekannter Locale-Provider: %s" -#: pg_dump.c:3512 +#: pg_dump.c:3537 #, c-format msgid "saving encoding = %s" msgstr "sichere Kodierung = %s" -#: pg_dump.c:3537 +#: pg_dump.c:3562 #, c-format msgid "saving \"standard_conforming_strings = %s\"" msgstr "sichere »standard_conforming_strings = %s«" -#: pg_dump.c:3576 +#: pg_dump.c:3601 #, c-format msgid "could not parse result of current_schemas()" msgstr "konnte Ergebnis von current_schemas() nicht interpretieren" -#: pg_dump.c:3595 +#: pg_dump.c:3620 #, c-format msgid "saving \"search_path = %s\"" msgstr "sichere »search_path = %s«" -#: pg_dump.c:3631 +#: pg_dump.c:3656 #, c-format msgid "reading large objects" msgstr "lese Large Objects" -#: pg_dump.c:3852 +#: pg_dump.c:3877 #, c-format msgid "saving large objects \"%s\"" msgstr "sichere Large Objects »%s«" -#: pg_dump.c:3873 +#: pg_dump.c:3898 #, c-format msgid "error reading large object %u: %s" msgstr "Fehler beim Lesen von Large Object %u: %s" -#: pg_dump.c:3976 +#: pg_dump.c:4001 #, c-format msgid "reading row-level security policies" msgstr "lese Policys für Sicherheit auf Zeilenebene" -#: pg_dump.c:4117 +#: pg_dump.c:4142 #, c-format msgid "unexpected policy command type: %c" msgstr "unerwarteter Policy-Befehlstyp: %c" -#: pg_dump.c:4567 pg_dump.c:5103 pg_dump.c:12315 pg_dump.c:18137 -#: pg_dump.c:18139 pg_dump.c:18761 +#: pg_dump.c:4592 pg_dump.c:5150 pg_dump.c:12362 pg_dump.c:18246 +#: pg_dump.c:18248 pg_dump.c:18870 #, c-format msgid "could not parse %s array" msgstr "konnte %s-Array nicht interpretieren" -#: pg_dump.c:4759 +#: pg_dump.c:4806 #, c-format msgid "subscriptions not dumped because current user is not a superuser" msgstr "Subskriptionen werden nicht ausgegeben, weil der aktuelle Benutzer kein Superuser ist" -#: pg_dump.c:4965 +#: pg_dump.c:5012 #, c-format msgid "subscription with OID %u does not exist" msgstr "Subskription mit OID %u existiert nicht" -#: pg_dump.c:4972 +#: pg_dump.c:5019 #, c-format msgid "failed sanity check, table with OID %u not found" msgstr "Sanity-Check fehlgeschlagen, Tabelle mit OID %u nicht gefunden" -#: pg_dump.c:5535 +#: pg_dump.c:5582 #, c-format msgid "could not find parent extension for %s %s" msgstr "konnte Erweiterung, zu der %s %s gehört, nicht finden" -#: pg_dump.c:5680 +#: pg_dump.c:5727 #, c-format msgid "schema with OID %u does not exist" msgstr "Schema mit OID %u existiert nicht" -#: pg_dump.c:7162 pg_dump.c:17508 +#: pg_dump.c:7209 pg_dump.c:17617 #, c-format msgid "failed sanity check, parent table with OID %u of sequence with OID %u not found" msgstr "Sanity-Check fehlgeschlagen, Elterntabelle mit OID %u von Sequenz mit OID %u nicht gefunden" -#: pg_dump.c:7305 +#: pg_dump.c:7352 #, c-format msgid "failed sanity check, table OID %u appearing in pg_partitioned_table not found" msgstr "Sanity-Check fehlgeschlagen, Tabellen-OID %u, die in pg_partitioned_table erscheint, nicht gefunden" -#: pg_dump.c:7536 pg_dump.c:7810 pg_dump.c:8257 pg_dump.c:8871 pg_dump.c:8993 -#: pg_dump.c:9141 +#: pg_dump.c:7583 pg_dump.c:7857 pg_dump.c:8304 pg_dump.c:8918 pg_dump.c:9040 +#: pg_dump.c:9188 #, c-format msgid "unrecognized table OID %u" msgstr "unbekannte Tabellen-OID %u" -#: pg_dump.c:7540 +#: pg_dump.c:7587 #, c-format msgid "unexpected index data for table \"%s\"" msgstr "unerwartete Indexdaten für Tabelle »%s«" -#: pg_dump.c:8042 +#: pg_dump.c:8089 #, c-format msgid "failed sanity check, parent table with OID %u of pg_rewrite entry with OID %u not found" msgstr "Sanity-Check fehlgeschlagen, Elterntabelle mit OID %u von pg_rewrite-Eintrag mit OID %u nicht gefunden" -#: pg_dump.c:8875 +#: pg_dump.c:8922 #, c-format msgid "unexpected column data for table \"%s\"" msgstr "unerwartete Spaltendaten für Tabelle »%s«" -#: pg_dump.c:8904 +#: pg_dump.c:8951 #, c-format msgid "invalid column numbering in table \"%s\"" msgstr "ungültige Spaltennummerierung in Tabelle »%s«" -#: pg_dump.c:8955 +#: pg_dump.c:9002 #, c-format msgid "finding table default expressions" msgstr "finde Tabellenvorgabeausdrücke" -#: pg_dump.c:8997 +#: pg_dump.c:9044 #, c-format msgid "invalid adnum value %d for table \"%s\"" msgstr "ungültiger adnum-Wert %d für Tabelle »%s«" -#: pg_dump.c:9091 +#: pg_dump.c:9138 #, c-format msgid "finding table check constraints" msgstr "finde Tabellen-Check-Constraints" -#: pg_dump.c:9145 +#: pg_dump.c:9192 #, 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" msgstr[0] "%d Check-Constraint für Tabelle %s erwartet, aber %d gefunden" msgstr[1] "%d Check-Constraints für Tabelle %s erwartet, aber %d gefunden" -#: pg_dump.c:9149 +#: pg_dump.c:9196 #, c-format msgid "The system catalogs might be corrupted." msgstr "Die Systemkataloge sind wahrscheinlich verfälscht." -#: pg_dump.c:9839 +#: pg_dump.c:9886 #, c-format msgid "role with OID %u does not exist" msgstr "Rolle mit OID %u existiert nicht" -#: pg_dump.c:9951 pg_dump.c:9980 +#: pg_dump.c:9998 pg_dump.c:10027 #, c-format msgid "unsupported pg_init_privs entry: %u %u %d" msgstr "nicht unterstützter pg_init_privs-Eintrag: %u %u %d" -#: pg_dump.c:10527 +#: pg_dump.c:10574 #, c-format msgid "missing metadata for large objects \"%s\"" msgstr "fehlende Metadaten für Large Objects »%s«" -#: pg_dump.c:10810 +#: pg_dump.c:10857 #, c-format msgid "typtype of data type \"%s\" appears to be invalid" msgstr "typtype des Datentypen »%s« scheint ungültig zu sein" -#: pg_dump.c:12384 +#: pg_dump.c:12431 #, c-format msgid "unrecognized provolatile value for function \"%s\"" msgstr "ungültiger provolatile-Wert für Funktion »%s«" -#: pg_dump.c:12434 pg_dump.c:14330 +#: pg_dump.c:12481 pg_dump.c:14377 #, c-format msgid "unrecognized proparallel value for function \"%s\"" msgstr "ungültiger proparallel-Wert für Funktion »%s«" -#: pg_dump.c:12564 pg_dump.c:12670 pg_dump.c:12677 +#: pg_dump.c:12611 pg_dump.c:12717 pg_dump.c:12724 #, c-format msgid "could not find function definition for function with OID %u" msgstr "konnte Funktionsdefinition für Funktion mit OID %u nicht finden" -#: pg_dump.c:12603 +#: pg_dump.c:12650 #, c-format msgid "bogus value in pg_cast.castfunc or pg_cast.castmethod field" msgstr "unsinniger Wert in Feld pg_cast.castfunc oder pg_cast.castmethod" -#: pg_dump.c:12606 +#: pg_dump.c:12653 #, c-format msgid "bogus value in pg_cast.castmethod field" msgstr "unsinniger Wert in Feld pg_cast.castmethod" -#: pg_dump.c:12696 +#: pg_dump.c:12743 #, c-format msgid "bogus transform definition, at least one of trffromsql and trftosql should be nonzero" msgstr "unsinnige Transformationsdefinition, mindestens eins von trffromsql und trftosql sollte nicht null sein" -#: pg_dump.c:12713 +#: pg_dump.c:12760 #, c-format msgid "bogus value in pg_transform.trffromsql field" msgstr "unsinniger Wert in Feld pg_transform.trffromsql" -#: pg_dump.c:12734 +#: pg_dump.c:12781 #, c-format msgid "bogus value in pg_transform.trftosql field" msgstr "unsinniger Wert in Feld pg_transform.trftosql" -#: pg_dump.c:12879 +#: pg_dump.c:12926 #, c-format msgid "postfix operators are not supported anymore (operator \"%s\")" msgstr "Postfix-Operatoren werden nicht mehr unterstützt (Operator »%s«)" -#: pg_dump.c:13049 +#: pg_dump.c:13096 #, c-format msgid "could not find operator with OID %s" msgstr "konnte Operator mit OID %s nicht finden" -#: pg_dump.c:13117 +#: pg_dump.c:13164 #, c-format msgid "invalid type \"%c\" of access method \"%s\"" msgstr "ungültiger Typ »%c« für Zugriffsmethode »%s«" -#: pg_dump.c:13791 pg_dump.c:13859 +#: pg_dump.c:13838 pg_dump.c:13906 #, c-format msgid "unrecognized collation provider: %s" msgstr "unbekannter Sortierfolgen-Provider: %s" -#: pg_dump.c:13800 pg_dump.c:13807 pg_dump.c:13818 pg_dump.c:13828 -#: pg_dump.c:13843 +#: pg_dump.c:13847 pg_dump.c:13854 pg_dump.c:13865 pg_dump.c:13875 +#: pg_dump.c:13890 #, c-format msgid "invalid collation \"%s\"" msgstr "ungültige Sortierfolge »%s«" -#: pg_dump.c:14249 +#: pg_dump.c:14296 #, c-format msgid "unrecognized aggfinalmodify value for aggregate \"%s\"" msgstr "unbekannter aggfinalmodify-Wert für Aggregat »%s«" -#: pg_dump.c:14305 +#: pg_dump.c:14352 #, c-format msgid "unrecognized aggmfinalmodify value for aggregate \"%s\"" msgstr "unbekannter aggmfinalmodify-Wert für Aggregat »%s«" -#: pg_dump.c:15022 +#: pg_dump.c:15069 #, c-format msgid "unrecognized object type in default privileges: %d" msgstr "unbekannter Objekttyp in den Vorgabeprivilegien: %d" -#: pg_dump.c:15038 +#: pg_dump.c:15085 #, c-format msgid "could not parse default ACL list (%s)" msgstr "konnte Vorgabe-ACL-Liste (%s) nicht interpretieren" -#: pg_dump.c:15122 +#: pg_dump.c:15169 #, c-format msgid "could not parse initial ACL list (%s) or default (%s) for object \"%s\" (%s)" msgstr "konnte initiale ACL-Liste (%s) oder Default (%s) für Objekt »%s« (%s) nicht interpretieren" -#: pg_dump.c:15147 +#: pg_dump.c:15194 #, c-format msgid "could not parse ACL list (%s) or default (%s) for object \"%s\" (%s)" msgstr "konnte ACL-Liste (%s) oder Default (%s) für Objekt »%s« (%s) nicht interpretieren" -#: pg_dump.c:15690 +#: pg_dump.c:15737 #, c-format msgid "query to obtain definition of view \"%s\" returned no data" msgstr "Anfrage um die Definition der Sicht »%s« zu ermitteln lieferte keine Daten" -#: pg_dump.c:15693 +#: pg_dump.c:15740 #, c-format msgid "query to obtain definition of view \"%s\" returned more than one definition" msgstr "Anfrage um die Definition der Sicht »%s« zu ermitteln lieferte mehr als eine Definition" -#: pg_dump.c:15700 +#: pg_dump.c:15747 #, c-format msgid "definition of view \"%s\" appears to be empty (length zero)" msgstr "Definition der Sicht »%s« scheint leer zu sein (Länge null)" -#: pg_dump.c:15784 +#: pg_dump.c:15832 #, c-format msgid "WITH OIDS is not supported anymore (table \"%s\")" msgstr "WITH OIDS wird nicht mehr unterstützt (Tabelle »%s«)" -#: pg_dump.c:16710 +#: pg_dump.c:16819 #, c-format msgid "invalid column number %d for table \"%s\"" msgstr "ungültige Spaltennummer %d in Tabelle »%s«" -#: pg_dump.c:16788 +#: pg_dump.c:16897 #, c-format msgid "could not parse index statistic columns" msgstr "konnte Indexstatistikspalten nicht interpretieren" -#: pg_dump.c:16790 +#: pg_dump.c:16899 #, c-format msgid "could not parse index statistic values" msgstr "konnte Indexstatistikwerte nicht interpretieren" -#: pg_dump.c:16792 +#: pg_dump.c:16901 #, c-format msgid "mismatched number of columns and values for index statistics" msgstr "Anzahl Spalten und Werte für Indexstatistiken stimmt nicht überein" -#: pg_dump.c:17007 +#: pg_dump.c:17116 #, c-format msgid "missing index for constraint \"%s\"" msgstr "fehlender Index für Constraint »%s«" -#: pg_dump.c:17242 +#: pg_dump.c:17351 #, c-format msgid "unrecognized constraint type: %c" msgstr "unbekannter Constraint-Typ: %c" -#: pg_dump.c:17343 pg_dump.c:17572 +#: pg_dump.c:17452 pg_dump.c:17681 #, 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)" msgstr[0] "Anfrage nach Daten der Sequenz %s ergab %d Zeile (erwartete 1)" msgstr[1] "Anfrage nach Daten der Sequenz %s ergab %d Zeilen (erwartete 1)" -#: pg_dump.c:17375 +#: pg_dump.c:17484 #, c-format msgid "unrecognized sequence type: %s" msgstr "unbekannter Sequenztyp: %s" -#: pg_dump.c:17889 +#: pg_dump.c:17998 #, c-format msgid "query to get rule \"%s\" for table \"%s\" failed: wrong number of rows returned" msgstr "Anfrage nach Regel »%s« der Tabelle »%s« fehlgeschlagen: falsche Anzahl Zeilen zurückgegeben" -#: pg_dump.c:18042 +#: pg_dump.c:18151 #, c-format msgid "could not find referenced extension %u" msgstr "konnte referenzierte Erweiterung %u nicht finden" -#: pg_dump.c:18141 +#: pg_dump.c:18250 #, c-format msgid "mismatched number of configurations and conditions for extension" msgstr "Anzahl Konfigurationen und Bedingungen für Erweiterung stimmt nicht überein" -#: pg_dump.c:18273 +#: pg_dump.c:18382 #, c-format msgid "reading dependency data" msgstr "lese Abhängigkeitsdaten" -#: pg_dump.c:18359 +#: pg_dump.c:18468 #, c-format msgid "no referencing object %u %u" msgstr "kein referenzierendes Objekt %u %u" -#: pg_dump.c:18370 +#: pg_dump.c:18479 #, c-format msgid "no referenced object %u %u" msgstr "kein referenziertes Objekt %u %u" -#: pg_dump.c:18795 pg_dump.c:18833 pg_dumpall.c:1962 pg_restore.c:551 +#: pg_dump.c:18904 pg_dump.c:18942 pg_dumpall.c:1962 pg_restore.c:551 #: pg_restore.c:597 #, c-format msgid "%s filter for \"%s\" is not allowed" @@ -2612,8 +2612,10 @@ msgstr "" #: pg_dumpall.c:661 #, c-format -msgid " --filter=FILENAME exclude databases specified in FILENAME\n" -msgstr " --filter=DATEINAME in DATEINAME angegebene Datenbanken überspringen\n" +msgid " --filter=FILENAME exclude databases based on expressions in FILENAME\n" +msgstr "" +" --filter=DATEINAME Datenbanken basierend auf Ausdrücken in DATEINAME\n" +" überspringen\n" #: pg_dumpall.c:667 #, c-format diff --git a/src/bin/pg_dump/po/es.po b/src/bin/pg_dump/po/es.po index ac8e807dbd4..37d37d75ba7 100644 --- a/src/bin/pg_dump/po/es.po +++ b/src/bin/pg_dump/po/es.po @@ -11,8 +11,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_dump (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-10-03 07:20+0000\n" -"PO-Revision-Date: 2023-10-03 16:15+0200\n" +"POT-Creation-Date: 2024-08-05 02:51+0000\n" +"PO-Revision-Date: 2024-08-05 16:03-0400\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" "Language: es\n" @@ -94,32 +94,47 @@ msgstr "el algoritmo de compresión «%s» no acepta una cantidad de procesos ay msgid "compression algorithm \"%s\" does not support long-distance mode" msgstr "el algoritmo de compresión «%s» no acepta modo de larga distancia" -#: ../../common/exec.c:172 +#: ../../common/exec.c:174 #, c-format msgid "invalid binary \"%s\": %m" msgstr "binario «%s» no válido: %m" -#: ../../common/exec.c:215 +#: ../../common/exec.c:217 #, c-format msgid "could not read binary \"%s\": %m" msgstr "no se pudo leer el binario «%s»: %m" -#: ../../common/exec.c:223 +#: ../../common/exec.c:225 #, c-format msgid "could not find a \"%s\" to execute" msgstr "no se pudo encontrar un «%s» para ejecutar" -#: ../../common/exec.c:250 +#: ../../common/exec.c:252 #, c-format msgid "could not resolve path \"%s\" to absolute form: %m" msgstr "no se pudo resolver la ruta «%s» a forma absoluta: %m" -#: ../../common/exec.c:412 parallel.c:1609 +#: ../../common/exec.c:382 +#, c-format +msgid "could not execute command \"%s\": %m" +msgstr "no se pudo ejecutar la orden «%s»: %m" + +#: ../../common/exec.c:394 +#, c-format +msgid "could not read from command \"%s\": %m" +msgstr "no se pudo leer desde la orden «%s»: %m" + +#: ../../common/exec.c:397 +#, c-format +msgid "no data was returned by command \"%s\"" +msgstr "la orden «%s» no retornó datos" + +#: ../../common/exec.c:424 parallel.c:1609 #, c-format msgid "%s() failed: %m" msgstr "%s() falló: %m" -#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687 +#: ../../common/exec.c:562 ../../common/exec.c:607 ../../common/exec.c:699 msgid "out of memory" msgstr "memoria agotada" @@ -134,6 +149,49 @@ msgstr "memoria agotada\n" msgid "cannot duplicate null pointer (internal error)\n" msgstr "no se puede duplicar un puntero nulo (error interno)\n" +#: ../../common/file_utils.c:70 ../../common/file_utils.c:347 +#: ../../common/file_utils.c:406 ../../common/file_utils.c:480 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "no se pudo abrir el archivo «%s»: %m" + +#: ../../common/file_utils.c:76 +#, 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" + +#: ../../common/file_utils.c:120 ../../common/file_utils.c:566 +#, c-format +msgid "could not stat file \"%s\": %m" +msgstr "no se pudo hacer stat al archivo «%s»: %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 "esta instalación no soporta el método de sync «%s»" + +#: ../../common/file_utils.c:151 ../../common/file_utils.c:281 +#, 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_backup_directory.c:182 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "no se pudo leer el directorio «%s»: %m" + +#: ../../common/file_utils.c:418 ../../common/file_utils.c:488 +#, c-format +msgid "could not fsync file \"%s\": %m" +msgstr "no se pudo sincronizar (fsync) archivo «%s»: %m" + +#: ../../common/file_utils.c:498 +#, c-format +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "no se pudo renombrar el archivo de «%s» a «%s»: %m" + #: ../../common/wait_error.c:55 #, c-format msgid "command not executable" @@ -174,227 +232,248 @@ msgstr "el valor «%s» no es válido para la opción %s" msgid "%s must be in range %d..%d" msgstr "%s debe estar en el rango %d..%d" -#: common.c:132 +#: ../../fe_utils/option_utils.c:106 +#, c-format +msgid "unrecognized sync method: %s" +msgstr "método sync no reconocido: %s" + +#: ../../fe_utils/string_utils.c:434 +#, c-format +msgid "shell command argument contains a newline or carriage return: \"%s\"\n" +msgstr "el argumento de la orden de shell contiene un salto de línea o retorno de carro: «%s»\n" + +#: ../../fe_utils/string_utils.c:607 +#, c-format +msgid "database name contains a newline or carriage return: \"%s\"\n" +msgstr "el nombre de base de datos contiene un salto de línea o retorno de carro: «%s»\n" + +#: common.c:135 #, c-format msgid "reading extensions" msgstr "leyendo las extensiones" -#: common.c:135 +#: common.c:138 #, c-format msgid "identifying extension members" msgstr "identificando miembros de extensión" -#: common.c:138 +#: common.c:141 #, c-format msgid "reading schemas" msgstr "leyendo esquemas" -#: common.c:147 +#: common.c:150 #, c-format msgid "reading user-defined tables" msgstr "leyendo las tablas definidas por el usuario" -#: common.c:152 +#: common.c:155 #, c-format msgid "reading user-defined functions" msgstr "leyendo las funciones definidas por el usuario" -#: common.c:156 +#: common.c:159 #, c-format msgid "reading user-defined types" msgstr "leyendo los tipos definidos por el usuario" -#: common.c:160 +#: common.c:163 #, c-format msgid "reading procedural languages" msgstr "leyendo los lenguajes procedurales" -#: common.c:163 +#: common.c:166 #, c-format msgid "reading user-defined aggregate functions" msgstr "leyendo las funciones de agregación definidas por el usuario" -#: common.c:166 +#: common.c:169 #, c-format msgid "reading user-defined operators" msgstr "leyendo los operadores definidos por el usuario" -#: common.c:169 +#: common.c:172 #, c-format msgid "reading user-defined access methods" msgstr "leyendo los métodos de acceso definidos por el usuario" -#: common.c:172 +#: common.c:175 #, c-format msgid "reading user-defined operator classes" msgstr "leyendo las clases de operadores definidos por el usuario" -#: common.c:175 +#: common.c:178 #, c-format msgid "reading user-defined operator families" msgstr "leyendo las familias de operadores definidas por el usuario" -#: common.c:178 +#: common.c:181 #, c-format msgid "reading user-defined text search parsers" msgstr "leyendo los procesadores (parsers) de búsqueda en texto definidos por el usuario" -#: common.c:181 +#: common.c:184 #, c-format msgid "reading user-defined text search templates" msgstr "leyendo las plantillas de búsqueda en texto definidas por el usuario" -#: common.c:184 +#: common.c:187 #, c-format msgid "reading user-defined text search dictionaries" msgstr "leyendo los diccionarios de búsqueda en texto definidos por el usuario" -#: common.c:187 +#: common.c:190 #, c-format msgid "reading user-defined text search configurations" msgstr "leyendo las configuraciones de búsqueda en texto definidas por el usuario" -#: common.c:190 +#: common.c:193 #, c-format msgid "reading user-defined foreign-data wrappers" msgstr "leyendo los conectores de datos externos definidos por el usuario" -#: common.c:193 +#: common.c:196 #, c-format msgid "reading user-defined foreign servers" msgstr "leyendo los servidores foráneos definidas por el usuario" -#: common.c:196 +#: common.c:199 #, c-format msgid "reading default privileges" msgstr "leyendo los privilegios por omisión" -#: common.c:199 +#: common.c:202 #, c-format msgid "reading user-defined collations" msgstr "leyendo los ordenamientos definidos por el usuario" -#: common.c:202 +#: common.c:205 #, c-format msgid "reading user-defined conversions" msgstr "leyendo las conversiones definidas por el usuario" -#: common.c:205 +#: common.c:208 #, c-format msgid "reading type casts" msgstr "leyendo conversiones de tipo" -#: common.c:208 +#: common.c:211 #, c-format msgid "reading transforms" msgstr "leyendo las transformaciones" -#: common.c:211 +#: common.c:214 #, c-format msgid "reading table inheritance information" msgstr "leyendo la información de herencia de las tablas" -#: common.c:214 +#: common.c:217 #, c-format msgid "reading event triggers" msgstr "leyendo los disparadores por eventos" -#: common.c:218 +#: common.c:221 #, c-format msgid "finding extension tables" msgstr "buscando tablas de extensión" -#: common.c:222 +#: common.c:225 #, c-format msgid "finding inheritance relationships" msgstr "buscando relaciones de herencia" -#: common.c:225 +#: common.c:228 #, c-format msgid "reading column info for interesting tables" msgstr "leyendo la información de columnas para las tablas interesantes" -#: common.c:228 +#: common.c:231 #, c-format msgid "flagging inherited columns in subtables" msgstr "marcando las columnas heredadas en las subtablas" -#: common.c:231 +#: common.c:234 #, c-format msgid "reading partitioning data" msgstr "leyendo datos de particionamiento" -#: common.c:234 +#: common.c:237 #, c-format msgid "reading indexes" msgstr "leyendo los índices" -#: common.c:237 +#: common.c:240 #, c-format msgid "flagging indexes in partitioned tables" msgstr "marcando índices en las tablas particionadas" -#: common.c:240 +#: common.c:243 #, c-format msgid "reading extended statistics" msgstr "leyendo estadísticas extendidas" -#: common.c:243 +#: common.c:246 #, c-format msgid "reading constraints" msgstr "leyendo las restricciones" -#: common.c:246 +#: common.c:249 #, c-format msgid "reading triggers" msgstr "leyendo los disparadores (triggers)" -#: common.c:249 +#: common.c:252 #, c-format msgid "reading rewrite rules" msgstr "leyendo las reglas de reescritura" -#: common.c:252 +#: common.c:255 #, c-format msgid "reading policies" msgstr "leyendo políticas" -#: common.c:255 +#: common.c:258 #, c-format msgid "reading publications" msgstr "leyendo publicaciones" -#: common.c:258 +#: common.c:261 #, c-format msgid "reading publication membership of tables" msgstr "leyendo membresía de tablas en publicaciones" -#: common.c:261 +#: common.c:264 #, c-format msgid "reading publication membership of schemas" msgstr "leyendo membresía de esquemas en publicaciones" -#: common.c:264 +#: common.c:267 #, c-format msgid "reading subscriptions" msgstr "leyendo las suscripciones" -#: common.c:327 +#: common.c:270 +#, c-format +#| msgid "reading publication membership of tables" +msgid "reading subscription membership of tables" +msgstr "leyendo membresía de tablas en suscripciones" + +#: common.c:333 #, c-format msgid "failed sanity check, parent OID %u of table \"%s\" (OID %u) not found" msgstr "falló la revisión de integridad, el OID %u del padre de la tabla «%s» (OID %u) no se encontró" -#: common.c:369 +#: common.c:375 #, c-format msgid "invalid number of parents %d for table \"%s\"" msgstr "número de padres %d para la tabla «%s» no es válido" -#: common.c:1049 +#: common.c:1098 #, c-format msgid "could not parse numeric array \"%s\": too many numbers" msgstr "no se pudo interpretar el arreglo numérico «%s»: demasiados números" -#: common.c:1061 +#: common.c:1110 #, c-format msgid "could not parse numeric array \"%s\": invalid character in number" msgstr "no se pudo interpretar el arreglo numérico «%s»: carácter no válido en número" @@ -424,15 +503,20 @@ msgstr "no se pudo descomprimir datos: %s" msgid "could not close compression library: %s" msgstr "no se pudo cerrar la biblioteca de compresión: %s" -#: compress_gzip.c:266 compress_gzip.c:295 compress_lz4.c:608 -#: compress_lz4.c:628 compress_lz4.c:647 compress_none.c:97 compress_none.c:140 +#: compress_gzip.c:266 compress_lz4.c:608 compress_lz4.c:628 compress_lz4.c:647 #, c-format msgid "could not read from input file: %s" msgstr "no se pudo leer el archivo de entrada: %s" -#: compress_gzip.c:297 compress_lz4.c:630 compress_none.c:142 -#: compress_zstd.c:371 pg_backup_custom.c:653 pg_backup_directory.c:558 -#: pg_backup_tar.c:725 pg_backup_tar.c:748 +#: compress_gzip.c:295 compress_none.c:97 compress_none.c:139 +#: compress_zstd.c:373 pg_backup_custom.c:651 +#, c-format +msgid "could not read from input file: %m" +msgstr "no se pudo leer el archivo de entrada: %m" + +#: compress_gzip.c:297 compress_lz4.c:630 compress_none.c:141 +#: compress_zstd.c:371 pg_backup_custom.c:649 pg_backup_directory.c:565 +#: pg_backup_tar.c:740 pg_backup_tar.c:763 #, c-format msgid "could not read from input file: end of file" msgstr "no se pudo leer desde el archivo de entrada: fin de archivo" @@ -483,16 +567,69 @@ msgstr "no se pudo inicializar la biblioteca de compresión" msgid "could not decompress data: %s" msgstr "no se pudo descomprimir datos: %s" -#: compress_zstd.c:373 pg_backup_custom.c:655 -#, c-format -msgid "could not read from input file: %m" -msgstr "no se pudo leer el archivo de entrada: %m" - #: compress_zstd.c:501 #, c-format msgid "unhandled mode \"%s\"" msgstr "modo «%s» sin manejar" +#: filter.c:49 +#, c-format +#| msgid "could not open input file \"%s\": %m" +msgid "could not open filter file \"%s\": %m" +msgstr "no se pudo abrir el archivo de filtro «%s»: %m" + +#: filter.c:72 +#, c-format +#| msgid "could not close file \"%s\": %m" +msgid "could not close filter file \"%s\": %m" +msgstr "no se pudo cerrar el archivo de filtro «%s»: %m" + +#: filter.c:165 +#, c-format +msgid "invalid format in filter read from standard input on line %d: %s" +msgstr "formato inválido en filtro leído desde entrada estándar en línea %d: %s" + +#: filter.c:168 +#, c-format +#| msgid "invalid syntax in time zone file \"%s\", line %d" +msgid "invalid format in filter read from file \"%s\" on line %d: %s" +msgstr "sintaxis no válida en filtro leído desde archivo «%s», línea %d: %s" + +#: filter.c:241 filter.c:468 +#, c-format +#| msgid "could not read from file \"%s\": %m" +msgid "could not read from filter file \"%s\": %m" +msgstr "no se pudo leer el archivo de filtro «%s»: %m" + +#: filter.c:244 +#| msgid "unexpected end of line" +msgid "unexpected end of file" +msgstr "fin de archivo inesperado" + +#: filter.c:311 +#| msgid "missing Language parameter" +msgid "missing object name pattern" +msgstr "falta el parámetro de nombre de objeto" + +#: filter.c:422 +msgid "no filter command found (expected \"include\" or \"exclude\")" +msgstr "no se encontró orden de filtro (se esperaba «include» o «include»)" + +#: filter.c:433 +msgid "invalid filter command (expected \"include\" or \"exclude\")" +msgstr "orden de filtro no válida (se esperaba «include» o «exclude»)" + +#: filter.c:440 +#| msgid "saving large objects" +msgid "missing filter object type" +msgstr "falta el parámetro de tipo de objeto" + +#: filter.c:447 +#, c-format +#| msgid "unsupported object type \"%s\"" +msgid "unsupported filter object type: \"%.*s\"" +msgstr "tipo de objeto de filtro «%.*s» no soportado" + #: parallel.c:251 #, c-format msgid "%s() failed: error code %d" @@ -572,512 +709,522 @@ msgstr "pgpipe: no se pudo conectar el socket: código de error %d" msgid "pgpipe: could not accept connection: error code %d" msgstr "pgpipe: no se pudo aceptar la conexión: código de error %d" -#: pg_backup_archiver.c:276 pg_backup_archiver.c:1603 +#: pg_backup_archiver.c:261 pg_backup_archiver.c:1706 #, c-format msgid "could not close output file: %m" msgstr "no se pudo cerrar el archivo de salida: %m" -#: pg_backup_archiver.c:320 pg_backup_archiver.c:324 +#: pg_backup_archiver.c:305 pg_backup_archiver.c:309 #, c-format msgid "archive items not in correct section order" msgstr "elementos del archivo no están en el orden correcto de secciones" -#: pg_backup_archiver.c:330 +#: pg_backup_archiver.c:315 #, c-format msgid "unexpected section code %d" msgstr "código de sección %d inesperado" -#: pg_backup_archiver.c:367 +#: pg_backup_archiver.c:352 #, c-format msgid "parallel restore is not supported with this archive file format" msgstr "la restauración en paralelo no está soportada con este formato de archivo" -#: pg_backup_archiver.c:371 +#: pg_backup_archiver.c:356 #, c-format msgid "parallel restore is not supported with archives made by pre-8.0 pg_dump" msgstr "la restauración en paralelo no está soportada con archivos construidos con pg_dump anterior a 8.0" -#: pg_backup_archiver.c:392 +#: pg_backup_archiver.c:377 #, c-format +#| msgid "cannot parse archive \"%s\"" msgid "cannot restore from compressed archive (%s)" -msgstr "no se pudo restaurar desde archivo comprimido (%s)" +msgstr "no se puede restaurar del archivo comprimido (%s)" -#: pg_backup_archiver.c:412 +#: pg_backup_archiver.c:397 #, c-format msgid "connecting to database for restore" msgstr "conectando a la base de datos para reestablecimiento" -#: pg_backup_archiver.c:414 +#: pg_backup_archiver.c:399 #, c-format msgid "direct database connections are not supported in pre-1.3 archives" msgstr "las conexiones directas a la base de datos no están soportadas en archivadores pre-1.3" -#: pg_backup_archiver.c:457 +#: pg_backup_archiver.c:442 #, c-format msgid "implied data-only restore" msgstr "asumiendo reestablecimiento de sólo datos" -#: pg_backup_archiver.c:523 +#: pg_backup_archiver.c:510 #, c-format msgid "dropping %s %s" msgstr "eliminando %s %s" -#: pg_backup_archiver.c:623 +#: pg_backup_archiver.c:642 #, c-format msgid "could not find where to insert IF EXISTS in statement \"%s\"" msgstr "no se pudo encontrar dónde insertar IF EXISTS en la sentencia «%s»" -#: pg_backup_archiver.c:778 pg_backup_archiver.c:780 +#: pg_backup_archiver.c:828 pg_backup_archiver.c:830 #, c-format msgid "warning from original dump file: %s" msgstr "precaución desde el archivo original: %s" -#: pg_backup_archiver.c:795 +#: pg_backup_archiver.c:864 #, c-format msgid "creating %s \"%s.%s\"" msgstr "creando %s «%s.%s»" -#: pg_backup_archiver.c:798 +#: pg_backup_archiver.c:867 #, c-format msgid "creating %s \"%s\"" msgstr "creando %s «%s»" -#: pg_backup_archiver.c:848 +#: pg_backup_archiver.c:917 #, c-format msgid "connecting to new database \"%s\"" msgstr "conectando a nueva base de datos «%s»" -#: pg_backup_archiver.c:875 +#: pg_backup_archiver.c:944 #, c-format msgid "processing %s" msgstr "procesando %s" -#: pg_backup_archiver.c:897 +#: pg_backup_archiver.c:966 #, c-format msgid "processing data for table \"%s.%s\"" msgstr "procesando datos de la tabla «%s.%s»" -#: pg_backup_archiver.c:967 +#: pg_backup_archiver.c:1036 #, c-format msgid "executing %s %s" msgstr "ejecutando %s %s" -#: pg_backup_archiver.c:1008 +#: pg_backup_archiver.c:1096 #, c-format msgid "disabling triggers for %s" msgstr "deshabilitando disparadores (triggers) para %s" -#: pg_backup_archiver.c:1034 +#: pg_backup_archiver.c:1122 #, c-format msgid "enabling triggers for %s" msgstr "habilitando disparadores (triggers) para %s" -#: pg_backup_archiver.c:1099 +#: pg_backup_archiver.c:1187 #, c-format msgid "internal error -- WriteData cannot be called outside the context of a DataDumper routine" msgstr "error interno -- WriteData no puede ser llamada fuera del contexto de una rutina DataDumper" -#: pg_backup_archiver.c:1287 +#: pg_backup_archiver.c:1379 #, c-format msgid "large-object output not supported in chosen format" msgstr "la extracción de objetos grandes no está soportada en el formato seleccionado" -#: pg_backup_archiver.c:1345 +#: pg_backup_archiver.c:1442 #, c-format msgid "restored %d large object" msgid_plural "restored %d large objects" msgstr[0] "se reestableció %d objeto grande" msgstr[1] "se reestablecieron %d objetos grandes" -#: pg_backup_archiver.c:1366 pg_backup_tar.c:668 +#: pg_backup_archiver.c:1469 pg_backup_tar.c:683 #, c-format msgid "restoring large object with OID %u" msgstr "reestableciendo objeto grande con OID %u" -#: pg_backup_archiver.c:1378 +#: pg_backup_archiver.c:1481 #, c-format msgid "could not create large object %u: %s" msgstr "no se pudo crear el objeto grande %u: %s" -#: pg_backup_archiver.c:1383 pg_dump.c:3718 +#: pg_backup_archiver.c:1486 pg_dump.c:3863 #, c-format msgid "could not open large object %u: %s" msgstr "no se pudo abrir el objeto grande %u: %s" -#: pg_backup_archiver.c:1439 +#: pg_backup_archiver.c:1542 #, c-format msgid "could not open TOC file \"%s\": %m" msgstr "no se pudo abrir el archivo TOC «%s»: %m" -#: pg_backup_archiver.c:1467 +#: pg_backup_archiver.c:1570 #, c-format msgid "line ignored: %s" msgstr "línea ignorada: %s" -#: pg_backup_archiver.c:1474 +#: pg_backup_archiver.c:1577 pg_backup_db.c:609 #, c-format msgid "could not find entry for ID %d" msgstr "no se pudo encontrar una entrada para el ID %d" -#: pg_backup_archiver.c:1497 pg_backup_directory.c:221 -#: pg_backup_directory.c:606 +#: pg_backup_archiver.c:1600 pg_backup_directory.c:219 +#: pg_backup_directory.c:613 #, c-format msgid "could not close TOC file: %m" msgstr "no se pudo cerrar el archivo TOC: %m" -#: pg_backup_archiver.c:1584 pg_backup_custom.c:156 pg_backup_directory.c:332 -#: pg_backup_directory.c:593 pg_backup_directory.c:658 -#: pg_backup_directory.c:676 pg_dumpall.c:501 +#: 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 #, c-format msgid "could not open output file \"%s\": %m" msgstr "no se pudo abrir el archivo de salida «%s»: %m" -#: pg_backup_archiver.c:1586 pg_backup_custom.c:162 +#: pg_backup_archiver.c:1689 pg_backup_custom.c:158 #, c-format msgid "could not open output file: %m" msgstr "no se pudo abrir el archivo de salida: %m" -#: pg_backup_archiver.c:1669 +#: pg_backup_archiver.c:1772 #, c-format msgid "wrote %zu byte of large object data (result = %d)" msgid_plural "wrote %zu bytes of large object data (result = %d)" msgstr[0] "se escribió %zu byte de los datos del objeto grande (resultado = %d)" msgstr[1] "se escribieron %zu bytes de los datos del objeto grande (resultado = %d)" -#: pg_backup_archiver.c:1675 +#: pg_backup_archiver.c:1778 #, c-format msgid "could not write to large object: %s" msgstr "no se pudo escribir en objeto grande: %s" -#: pg_backup_archiver.c:1765 +#: pg_backup_archiver.c:1868 #, c-format msgid "while INITIALIZING:" msgstr "durante INICIALIZACIÓN:" -#: pg_backup_archiver.c:1770 +#: pg_backup_archiver.c:1873 #, c-format msgid "while PROCESSING TOC:" msgstr "durante PROCESAMIENTO DE TABLA DE CONTENIDOS:" -#: pg_backup_archiver.c:1775 +#: pg_backup_archiver.c:1878 #, c-format msgid "while FINALIZING:" msgstr "durante FINALIZACIÓN:" -#: pg_backup_archiver.c:1780 +#: pg_backup_archiver.c:1883 #, c-format msgid "from TOC entry %d; %u %u %s %s %s" msgstr "en entrada de la tabla de contenidos %d; %u %u %s %s %s" -#: pg_backup_archiver.c:1856 +#: pg_backup_archiver.c:1959 #, c-format msgid "bad dumpId" msgstr "dumpId incorrecto" -#: pg_backup_archiver.c:1877 +#: pg_backup_archiver.c:1980 #, c-format msgid "bad table dumpId for TABLE DATA item" msgstr "dumpId de tabla incorrecto para elemento TABLE DATA" -#: pg_backup_archiver.c:1969 +#: pg_backup_archiver.c:2072 #, c-format msgid "unexpected data offset flag %d" msgstr "bandera de posición inesperada %d" -#: pg_backup_archiver.c:1982 +#: pg_backup_archiver.c:2085 #, c-format msgid "file offset in dump file is too large" msgstr "el posición en el archivo es demasiado grande" -#: pg_backup_archiver.c:2093 +#: pg_backup_archiver.c:2196 #, c-format msgid "directory name too long: \"%s\"" msgstr "nombre de directorio demasiado largo: «%s»" -#: pg_backup_archiver.c:2143 +#: pg_backup_archiver.c:2246 #, c-format msgid "directory \"%s\" does not appear to be a valid archive (\"toc.dat\" does not exist)" msgstr "el directorio «%s» no parece ser un archivador válido (no existe «toc.dat»)" -#: pg_backup_archiver.c:2151 pg_backup_custom.c:173 pg_backup_custom.c:816 -#: pg_backup_directory.c:206 pg_backup_directory.c:395 +#: 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 #, c-format msgid "could not open input file \"%s\": %m" msgstr "no se pudo abrir el archivo de entrada «%s»: %m" -#: pg_backup_archiver.c:2158 pg_backup_custom.c:179 +#: pg_backup_archiver.c:2261 pg_backup_custom.c:175 #, c-format msgid "could not open input file: %m" msgstr "no se pudo abrir el archivo de entrada: %m" -#: pg_backup_archiver.c:2164 +#: pg_backup_archiver.c:2267 #, c-format msgid "could not read input file: %m" msgstr "no se pudo leer el archivo de entrada: %m" -#: pg_backup_archiver.c:2166 +#: pg_backup_archiver.c:2269 #, c-format msgid "input file is too short (read %lu, expected 5)" msgstr "el archivo de entrada es demasiado corto (leidos %lu, esperados 5)" -#: pg_backup_archiver.c:2198 +#: pg_backup_archiver.c:2301 #, c-format msgid "input file appears to be a text format dump. Please use psql." msgstr "el archivo de entrada parece ser un volcado de texto. Por favor use psql." -#: pg_backup_archiver.c:2204 +#: pg_backup_archiver.c:2307 #, c-format msgid "input file does not appear to be a valid archive (too short?)" msgstr "el archivo de entrada no parece ser un archivador válido (¿demasiado corto?)" -#: pg_backup_archiver.c:2210 +#: pg_backup_archiver.c:2313 #, c-format msgid "input file does not appear to be a valid archive" msgstr "el archivo de entrada no parece ser un archivador válido" -#: pg_backup_archiver.c:2219 +#: pg_backup_archiver.c:2322 #, c-format msgid "could not close input file: %m" msgstr "no se pudo cerrar el archivo de entrada: %m" -#: pg_backup_archiver.c:2297 +#: pg_backup_archiver.c:2401 #, c-format msgid "could not open stdout for appending: %m" msgstr "no se pudo abrir stdout para agregar datos: %m" -#: pg_backup_archiver.c:2342 +#: pg_backup_archiver.c:2446 #, c-format msgid "unrecognized file format \"%d\"" msgstr "formato de archivo no reconocido «%d»" -#: pg_backup_archiver.c:2423 pg_backup_archiver.c:4466 +#: pg_backup_archiver.c:2527 pg_backup_archiver.c:4647 #, c-format msgid "finished item %d %s %s" msgstr "terminó el elemento %d %s %s" -#: pg_backup_archiver.c:2427 pg_backup_archiver.c:4479 +#: pg_backup_archiver.c:2531 pg_backup_archiver.c:4660 #, c-format msgid "worker process failed: exit code %d" msgstr "el proceso hijo falló: código de salida %d" -#: pg_backup_archiver.c:2548 +#: pg_backup_archiver.c:2653 #, c-format msgid "entry ID %d out of range -- perhaps a corrupt TOC" msgstr "la entrada con ID %d está fuera de rango -- tal vez la tabla de contenido está corrupta" -#: pg_backup_archiver.c:2628 +#: pg_backup_archiver.c:2736 #, c-format msgid "restoring tables WITH OIDS is not supported anymore" msgstr "restaurar tablas WITH OIDS ya no está soportado" -#: pg_backup_archiver.c:2710 +#: pg_backup_archiver.c:2818 #, c-format msgid "unrecognized encoding \"%s\"" msgstr "no se reconoce la codificación: «%s»" -#: pg_backup_archiver.c:2715 +#: pg_backup_archiver.c:2823 #, c-format msgid "invalid ENCODING item: %s" msgstr "elemento ENCODING no válido: %s" -#: pg_backup_archiver.c:2733 +#: pg_backup_archiver.c:2841 #, c-format msgid "invalid STDSTRINGS item: %s" msgstr "elemento STDSTRINGS no válido: %s" -#: pg_backup_archiver.c:2758 +#: pg_backup_archiver.c:2866 #, c-format msgid "schema \"%s\" not found" msgstr "esquema «%s» no encontrado" -#: pg_backup_archiver.c:2765 +#: pg_backup_archiver.c:2873 #, c-format msgid "table \"%s\" not found" msgstr "tabla «%s» no encontrada" -#: pg_backup_archiver.c:2772 +#: pg_backup_archiver.c:2880 #, c-format msgid "index \"%s\" not found" msgstr "índice «%s» no encontrado" -#: pg_backup_archiver.c:2779 +#: pg_backup_archiver.c:2887 #, c-format msgid "function \"%s\" not found" msgstr "función «%s» no encontrada" -#: pg_backup_archiver.c:2786 +#: pg_backup_archiver.c:2894 #, c-format msgid "trigger \"%s\" not found" msgstr "disparador «%s» no encontrado" -#: pg_backup_archiver.c:3201 +#: pg_backup_archiver.c:3325 #, c-format msgid "could not set session user to \"%s\": %s" msgstr "no se pudo establecer el usuario de sesión a «%s»: %s" -#: pg_backup_archiver.c:3333 +#: pg_backup_archiver.c:3457 #, c-format -msgid "could not set search_path to \"%s\": %s" -msgstr "no se pudo definir search_path a «%s»: %s" +#| msgid "could not set search_path to \"%s\": %s" +msgid "could not set \"search_path\" to \"%s\": %s" +msgstr "no se pudo definir «search_path» a «%s»: %s" -#: pg_backup_archiver.c:3394 +#: pg_backup_archiver.c:3518 #, c-format -msgid "could not set default_tablespace to %s: %s" -msgstr "no se pudo definir default_tablespace a %s: %s" +#| msgid "could not set default_tablespace to %s: %s" +msgid "could not set \"default_tablespace\" to %s: %s" +msgstr "no se pudo definir «default_tablespace» a %s: %s" -#: pg_backup_archiver.c:3443 +#: pg_backup_archiver.c:3567 #, c-format -msgid "could not set default_table_access_method: %s" -msgstr "no se pudo definir default_table_access_method: %s" +#| msgid "could not set default_table_access_method: %s" +msgid "could not set \"default_table_access_method\": %s" +msgstr "no se pudo definir «default_table_access_method»: %s" -#: pg_backup_archiver.c:3548 +#: pg_backup_archiver.c:3616 +#, c-format +#| msgid "could not set default_table_access_method: %s" +msgid "could not alter table access method: %s" +msgstr "no se pudo alterar el método de acceso a tabla: %s" + +#: pg_backup_archiver.c:3717 #, c-format msgid "don't know how to set owner for object type \"%s\"" msgstr "no se sabe cómo establecer el dueño para el objeto de tipo «%s»" -#: pg_backup_archiver.c:3770 +#: pg_backup_archiver.c:4004 #, c-format msgid "did not find magic string in file header" msgstr "no se encontró la cadena mágica en el encabezado del archivo" -#: pg_backup_archiver.c:3784 +#: pg_backup_archiver.c:4018 #, c-format msgid "unsupported version (%d.%d) in file header" msgstr "versión no soportada (%d.%d) en el encabezado del archivo" -#: pg_backup_archiver.c:3789 +#: pg_backup_archiver.c:4023 #, c-format msgid "sanity check on integer size (%lu) failed" msgstr "revisión de integridad en el tamaño del entero (%lu) falló" -#: pg_backup_archiver.c:3793 +#: pg_backup_archiver.c:4027 #, c-format msgid "archive was made on a machine with larger integers, some operations might fail" msgstr "el archivador fue hecho en una máquina con enteros más grandes, algunas operaciones podrían fallar" -#: pg_backup_archiver.c:3803 +#: pg_backup_archiver.c:4037 #, c-format msgid "expected format (%d) differs from format found in file (%d)" msgstr "el formato esperado (%d) difiere del formato encontrado en el archivo (%d)" -#: pg_backup_archiver.c:3825 +#: pg_backup_archiver.c:4059 #, c-format msgid "archive is compressed, but this installation does not support compression (%s) -- no data will be available" msgstr "el archivo está comprimido, pero esta instalación no soporta compresión (%s) -- los datos no estarán disponibles" -#: pg_backup_archiver.c:3861 +#: pg_backup_archiver.c:4095 #, c-format msgid "invalid creation date in header" msgstr "la fecha de creación en el encabezado no es válida" -#: pg_backup_archiver.c:3995 +#: pg_backup_archiver.c:4229 #, c-format msgid "processing item %d %s %s" msgstr "procesando el elemento %d %s %s" -#: pg_backup_archiver.c:4070 +#: pg_backup_archiver.c:4314 #, c-format msgid "entering main parallel loop" msgstr "ingresando al bucle paralelo principal" -#: pg_backup_archiver.c:4081 +#: pg_backup_archiver.c:4325 #, c-format msgid "skipping item %d %s %s" msgstr "saltando el elemento %d %s %s" -#: pg_backup_archiver.c:4090 +#: pg_backup_archiver.c:4334 #, c-format msgid "launching item %d %s %s" msgstr "lanzando el elemento %d %s %s" -#: pg_backup_archiver.c:4144 +#: pg_backup_archiver.c:4388 #, c-format msgid "finished main parallel loop" msgstr "terminó el bucle paralelo principal" -#: pg_backup_archiver.c:4180 +#: pg_backup_archiver.c:4424 #, c-format msgid "processing missed item %d %s %s" msgstr "procesando el elemento saltado %d %s %s" -#: pg_backup_archiver.c:4785 +#: pg_backup_archiver.c:4966 #, c-format msgid "table \"%s\" could not be created, will not restore its data" msgstr "la tabla «%s» no pudo ser creada, no se recuperarán sus datos" -#: pg_backup_custom.c:380 pg_backup_null.c:147 +#: pg_backup_custom.c:376 pg_backup_null.c:143 #, c-format msgid "invalid OID for large object" msgstr "OID no válido para objeto grande" -#: pg_backup_custom.c:445 pg_backup_custom.c:511 pg_backup_custom.c:640 -#: pg_backup_custom.c:874 pg_backup_tar.c:1014 pg_backup_tar.c:1019 +#: pg_backup_custom.c:441 pg_backup_custom.c:507 pg_backup_custom.c:636 +#: pg_backup_custom.c:870 pg_backup_tar.c:1029 pg_backup_tar.c:1034 #, c-format msgid "error during file seek: %m" msgstr "error durante el posicionamiento (seek) en el archivo: %m" -#: pg_backup_custom.c:484 +#: pg_backup_custom.c:480 #, c-format msgid "data block %d has wrong seek position" msgstr "el bloque de datos %d tiene una posición de búsqueda incorrecta" -#: pg_backup_custom.c:501 +#: pg_backup_custom.c:497 #, c-format msgid "unrecognized data block type (%d) while searching archive" msgstr "tipo de bloque de datos (%d) no conocido al buscar en el archivador" -#: pg_backup_custom.c:523 +#: pg_backup_custom.c:519 #, c-format msgid "could not find block ID %d in archive -- possibly due to out-of-order restore request, which cannot be handled due to non-seekable input file" msgstr "no se pudo encontrar el bloque con ID %d en archivo -- posiblemente debido a una petición de restauración fuera de orden, la que no puede ser completada debido a que en el archivo de entrada no es reposicionable (seekable)" -#: pg_backup_custom.c:528 +#: pg_backup_custom.c:524 #, c-format msgid "could not find block ID %d in archive -- possibly corrupt archive" msgstr "no se pudo encontrar el bloque con ID %d en archivo -- posiblemente el archivo está corrupto" -#: pg_backup_custom.c:535 +#: pg_backup_custom.c:531 #, c-format msgid "found unexpected block ID (%d) when reading data -- expected %d" msgstr "se encontró un bloque no esperado ID (%d) mientras se leían los datos -- se esperaba %d" -#: pg_backup_custom.c:549 +#: pg_backup_custom.c:545 #, c-format msgid "unrecognized data block type %d while restoring archive" msgstr "se encontró un bloque tipo %d no reconocido al restablecer el archivador" -#: pg_backup_custom.c:755 pg_backup_custom.c:807 pg_backup_custom.c:952 -#: pg_backup_tar.c:1017 +#: pg_backup_custom.c:751 pg_backup_custom.c:803 pg_backup_custom.c:945 +#: pg_backup_tar.c:1032 #, c-format msgid "could not determine seek position in archive file: %m" msgstr "no se pudo determinar la posición (seek) en el archivo del archivador: %m" -#: pg_backup_custom.c:771 pg_backup_custom.c:811 +#: pg_backup_custom.c:767 pg_backup_custom.c:807 #, c-format msgid "could not close archive file: %m" msgstr "no se pudo cerrar el archivo del archivador: %m" -#: pg_backup_custom.c:794 +#: pg_backup_custom.c:790 #, c-format msgid "can only reopen input archives" msgstr "sólo se pueden reabrir archivos de entrada" -#: pg_backup_custom.c:801 +#: pg_backup_custom.c:797 #, c-format msgid "parallel restore from standard input is not supported" msgstr "la restauración en paralelo desde entrada estándar (stdin) no está soportada" -#: pg_backup_custom.c:803 +#: pg_backup_custom.c:799 #, c-format msgid "parallel restore from non-seekable file is not supported" msgstr "la restauración en paralelo desde un archivo no posicionable no está soportada" -#: pg_backup_custom.c:819 +#: pg_backup_custom.c:815 #, c-format msgid "could not set seek position in archive file: %m" msgstr "no se pudo posicionar (seek) en el archivo del archivador: %m" -#: pg_backup_custom.c:898 +#: pg_backup_custom.c:894 #, c-format msgid "compressor active" msgstr "compresor activo" @@ -1087,12 +1234,12 @@ msgstr "compresor activo" msgid "could not get server_version from libpq" msgstr "no se pudo obtener server_version desde libpq" -#: pg_backup_db.c:53 pg_dumpall.c:1809 +#: pg_backup_db.c:53 pg_dumpall.c:1830 #, c-format msgid "aborting because of server version mismatch" msgstr "abortando debido a que no coincide la versión del servidor" -#: pg_backup_db.c:54 pg_dumpall.c:1810 +#: pg_backup_db.c:54 pg_dumpall.c:1831 #, c-format msgid "server version: %s; %s version: %s" msgstr "versión del servidor: %s; versión de %s: %s" @@ -1102,7 +1249,7 @@ msgstr "versión del servidor: %s; versión de %s: %s" msgid "already connected to a database" msgstr "ya está conectado a una base de datos" -#: pg_backup_db.c:128 pg_backup_db.c:178 pg_dumpall.c:1656 pg_dumpall.c:1758 +#: pg_backup_db.c:128 pg_backup_db.c:178 pg_dumpall.c:1677 pg_dumpall.c:1779 msgid "Password: " msgstr "Contraseña: " @@ -1116,18 +1263,18 @@ msgstr "no se pudo hacer la conexión a la base de datos" msgid "reconnection failed: %s" msgstr "falló la reconexión: %s" -#: pg_backup_db.c:190 pg_backup_db.c:264 pg_dump.c:756 pg_dump_sort.c:1280 -#: pg_dump_sort.c:1300 pg_dumpall.c:1683 pg_dumpall.c:1767 +#: pg_backup_db.c:190 pg_backup_db.c:264 pg_dump.c:787 pg_dump_sort.c:1213 +#: pg_dump_sort.c:1233 pg_dumpall.c:1704 pg_dumpall.c:1788 #, c-format msgid "%s" msgstr "%s" -#: pg_backup_db.c:271 pg_dumpall.c:1872 pg_dumpall.c:1895 +#: pg_backup_db.c:271 pg_dumpall.c:1893 pg_dumpall.c:1916 #, c-format msgid "query failed: %s" msgstr "la consulta falló: %s" -#: pg_backup_db.c:273 pg_dumpall.c:1873 pg_dumpall.c:1896 +#: pg_backup_db.c:273 pg_dumpall.c:1894 pg_dumpall.c:1917 #, c-format msgid "Query was: %s" msgstr "La consulta era: %s" @@ -1163,7 +1310,7 @@ msgstr "PQputCopyEnd regresó un error: %s" msgid "COPY failed for table \"%s\": %s" msgstr "COPY falló para la tabla «%s»: %s" -#: pg_backup_db.c:521 pg_dump.c:2202 +#: pg_backup_db.c:521 pg_dump.c:2271 #, c-format msgid "unexpected extra results during COPY of table \"%s\"" msgstr "resultados extra inesperados durante el COPY de la tabla «%s»" @@ -1176,161 +1323,158 @@ msgstr "no se pudo iniciar la transacción en la base de datos" msgid "could not commit database transaction" msgstr "no se pudo terminar la transacción a la base de datos" -#: pg_backup_directory.c:155 +#: pg_backup_directory.c:153 #, c-format msgid "no output directory specified" msgstr "no se especificó un directorio de salida" -#: pg_backup_directory.c:184 -#, c-format -msgid "could not read directory \"%s\": %m" -msgstr "no se pudo leer el directorio «%s»: %m" - -#: pg_backup_directory.c:188 +#: pg_backup_directory.c:186 #, c-format msgid "could not close directory \"%s\": %m" msgstr "no se pudo abrir el directorio «%s»: %m" -#: pg_backup_directory.c:194 +#: pg_backup_directory.c:192 #, c-format msgid "could not create directory \"%s\": %m" msgstr "no se pudo crear el directorio «%s»: %m" -#: pg_backup_directory.c:356 pg_backup_directory.c:499 -#: pg_backup_directory.c:537 +#: 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 "no se pudo escribir al archivo de salida: %s" -#: pg_backup_directory.c:374 +#: pg_backup_directory.c:375 #, c-format msgid "could not close data file: %m" msgstr "no se pudo cerrar el archivo de datos: %m" -#: pg_backup_directory.c:407 +#: pg_backup_directory.c:408 #, c-format msgid "could not close data file \"%s\": %m" msgstr "no se pudo cerrar el archivo de datos «%s»: %m" -#: pg_backup_directory.c:448 +#: pg_backup_directory.c:455 #, c-format msgid "could not open large object TOC file \"%s\" for input: %m" msgstr "no se pudo abrir el archivo de la tabla de contenidos de objetos grandes «%s» para su lectura: %m" -#: pg_backup_directory.c:459 +#: pg_backup_directory.c:466 #, c-format msgid "invalid line in large object TOC file \"%s\": \"%s\"" msgstr "línea no válida en el archivo de la tabla de contenido de objetos grandes «%s»: «%s»" -#: pg_backup_directory.c:468 +#: pg_backup_directory.c:475 #, c-format msgid "error reading large object TOC file \"%s\"" msgstr "error al leer el archivo de la tabla de contenidos de objetos grandes «%s»" -#: pg_backup_directory.c:472 +#: pg_backup_directory.c:479 #, c-format msgid "could not close large object TOC file \"%s\": %m" msgstr "no se pudo cerrar el archivo de la tabla de contenido de los objetos grandes «%s»: %m" -#: pg_backup_directory.c:694 +#: pg_backup_directory.c:702 #, c-format msgid "could not close LO data file: %m" msgstr "no se pudo cerrar el archivo de datos LO: %m" -#: pg_backup_directory.c:704 +#: pg_backup_directory.c:712 #, c-format +#| msgid "could not write to LOs TOC file: %s" msgid "could not write to LOs TOC file: %s" msgstr "no se pudo escribir archivo TOC de LOs: %s" -#: pg_backup_directory.c:720 +#: pg_backup_directory.c:728 #, c-format +#| msgid "could not close TOC file: %m" msgid "could not close LOs TOC file: %m" -msgstr "no se pudo cerrar el archivo TOC de LOs: %m" +msgstr "no se pudo cerrar el archivo TOC: %m" -#: pg_backup_directory.c:739 +#: pg_backup_directory.c:747 #, c-format msgid "file name too long: \"%s\"" msgstr "nombre de archivo demasiado largo: «%s»" -#: pg_backup_null.c:74 +#: pg_backup_null.c:70 #, c-format msgid "this format cannot be read" msgstr "no se puede leer este formato" -#: pg_backup_tar.c:172 +#: pg_backup_tar.c:168 #, c-format msgid "could not open TOC file \"%s\" for output: %m" msgstr "no se pudo abrir el archivo de tabla de contenido «%s» para escribir: %m" -#: pg_backup_tar.c:179 +#: pg_backup_tar.c:175 #, c-format msgid "could not open TOC file for output: %m" msgstr "no se pudo abrir la tabla de contenido para escribir: %m" -#: pg_backup_tar.c:198 pg_backup_tar.c:334 pg_backup_tar.c:389 -#: pg_backup_tar.c:405 pg_backup_tar.c:891 +#: pg_backup_tar.c:194 pg_backup_tar.c:330 pg_backup_tar.c:385 +#: pg_backup_tar.c:401 pg_backup_tar.c:906 #, c-format msgid "compression is not supported by tar archive format" msgstr "la compresión no está soportada por el formato de salida tar" -#: pg_backup_tar.c:206 +#: pg_backup_tar.c:202 #, c-format msgid "could not open TOC file \"%s\" for input: %m" msgstr "no se pudo abrir el archivo de tabla de contenido «%s» para leer: %m" -#: pg_backup_tar.c:213 +#: pg_backup_tar.c:209 #, c-format msgid "could not open TOC file for input: %m" msgstr "no se pudo abrir la tabla de contenido para leer: %m" -#: pg_backup_tar.c:322 +#: pg_backup_tar.c:318 #, c-format msgid "could not find file \"%s\" in archive" msgstr "no se pudo encontrar el archivo «%s» en el archivador" -#: pg_backup_tar.c:382 +#: pg_backup_tar.c:378 #, c-format msgid "could not generate temporary file name: %m" msgstr "no se pudo generar el nombre de archivo temporal: %m" -#: pg_backup_tar.c:623 +#: pg_backup_tar.c:619 #, c-format msgid "unexpected COPY statement syntax: \"%s\"" msgstr "sintaxis de sentencia COPY inesperada: «%s»" -#: pg_backup_tar.c:888 +#: pg_backup_tar.c:903 #, c-format msgid "invalid OID for large object (%u)" msgstr "el OID del objeto grande no es válido (%u)" -#: pg_backup_tar.c:1033 +#: pg_backup_tar.c:1048 #, c-format msgid "could not close temporary file: %m" msgstr "no se pudo abrir archivo temporal: %m" -#: pg_backup_tar.c:1036 +#: pg_backup_tar.c:1051 #, c-format msgid "actual file length (%lld) does not match expected (%lld)" msgstr "el tamaño real del archivo (%lld) no coincide con el esperado (%lld)" -#: pg_backup_tar.c:1082 pg_backup_tar.c:1113 +#: pg_backup_tar.c:1097 pg_backup_tar.c:1128 #, c-format msgid "could not find header for file \"%s\" in tar archive" msgstr "no se pudo encontrar el encabezado para el archivo «%s» en el archivo tar" -#: pg_backup_tar.c:1100 +#: pg_backup_tar.c:1115 #, c-format msgid "restoring data out of order is not supported in this archive format: \"%s\" is required, but comes before \"%s\" in the archive file." msgstr "la extracción de datos fuera de orden no está soportada en este formato: se requiere «%s», pero viene antes de «%s» en el archivador." -#: pg_backup_tar.c:1147 +#: pg_backup_tar.c:1162 #, c-format msgid "incomplete tar header found (%lu byte)" msgid_plural "incomplete tar header found (%lu bytes)" msgstr[0] "se encontró un encabezado incompleto (%lu byte)" msgstr[1] "se encontró un encabezado incompleto (%lu bytes)" -#: pg_backup_tar.c:1186 +#: pg_backup_tar.c:1201 #, c-format msgid "corrupt tar header found in %s (expected %d, computed %d) file position %llu" msgstr "se encontró un encabezado corrupto en %s (esperado %d, calculado %d) en la posición %llu" @@ -1340,10 +1484,10 @@ msgstr "se encontró un encabezado corrupto en %s (esperado %d, calculado %d) en msgid "unrecognized section name: \"%s\"" msgstr "nombre de sección «%s» no reconocido" -#: pg_backup_utils.c:55 pg_dump.c:662 pg_dump.c:679 pg_dumpall.c:365 -#: pg_dumpall.c:375 pg_dumpall.c:383 pg_dumpall.c:391 pg_dumpall.c:398 -#: pg_dumpall.c:408 pg_dumpall.c:483 pg_restore.c:291 pg_restore.c:307 -#: pg_restore.c:321 +#: pg_backup_utils.c:55 pg_dump.c:693 pg_dump.c:710 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 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Pruebe «%s --help» para mayor información." @@ -1353,82 +1497,82 @@ msgstr "Pruebe «%s --help» para mayor información." msgid "out of on_exit_nicely slots" msgstr "elementos on_exit_nicely agotados" -#: pg_dump.c:677 pg_dumpall.c:373 pg_restore.c:305 +#: pg_dump.c:708 pg_dumpall.c:378 pg_restore.c:321 #, 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_dump.c:696 pg_restore.c:328 +#: pg_dump.c:727 pg_restore.c:344 #, c-format msgid "options -s/--schema-only and -a/--data-only cannot be used together" msgstr "las opciones -s/--schema-only y -a/--data-only no pueden usarse juntas" -#: pg_dump.c:699 +#: pg_dump.c:730 #, c-format msgid "options -s/--schema-only and --include-foreign-data cannot be used together" msgstr "las opciones -s/--schema-only y --include-foreign-data no pueden usarse juntas" -#: pg_dump.c:702 +#: pg_dump.c:733 #, c-format msgid "option --include-foreign-data is not supported with parallel backup" msgstr "la opción --include-foreign-data no está soportado con respaldo en paralelo" -#: pg_dump.c:705 pg_restore.c:331 +#: pg_dump.c:736 pg_restore.c:347 #, c-format msgid "options -c/--clean and -a/--data-only cannot be used together" msgstr "las opciones -c/--clean y -a/--data-only no pueden usarse juntas" -#: pg_dump.c:708 pg_dumpall.c:403 pg_restore.c:356 +#: pg_dump.c:739 pg_dumpall.c:408 pg_restore.c:375 #, c-format msgid "option --if-exists requires option -c/--clean" msgstr "la opción --if-exists requiere la opción -c/--clean" -#: pg_dump.c:715 +#: pg_dump.c:746 #, c-format msgid "option --on-conflict-do-nothing requires option --inserts, --rows-per-insert, or --column-inserts" msgstr "la opción --on-conflict-do-nothing requiere la opción --inserts, --rows-per-insert o --column-inserts" -#: pg_dump.c:744 +#: pg_dump.c:775 #, c-format msgid "unrecognized compression algorithm: \"%s\"" msgstr "algoritmo de compresión no reconocido: «%s»" -#: pg_dump.c:751 +#: pg_dump.c:782 #, c-format msgid "invalid compression specification: %s" msgstr "especificación de compresión no válida: %s" -#: pg_dump.c:764 +#: pg_dump.c:795 #, c-format msgid "compression option \"%s\" is not currently supported by pg_dump" msgstr "la opción de compresión «%s» no está soportada por pg_dump actualmente" -#: pg_dump.c:776 +#: pg_dump.c:807 #, c-format msgid "parallel backup only supported by the directory format" msgstr "el volcado en paralelo sólo está soportado por el formato «directory»" -#: pg_dump.c:822 +#: pg_dump.c:853 #, c-format msgid "last built-in OID is %u" msgstr "el último OID interno es %u" -#: pg_dump.c:831 +#: pg_dump.c:862 #, c-format msgid "no matching schemas were found" msgstr "no se encontraron esquemas coincidentes" -#: pg_dump.c:848 +#: pg_dump.c:879 #, c-format msgid "no matching tables were found" msgstr "no se encontraron tablas coincidentes" -#: pg_dump.c:876 +#: pg_dump.c:907 #, c-format msgid "no matching extensions were found" msgstr "no se encontraron extensiones coincidentes" -#: pg_dump.c:1056 +#: pg_dump.c:1091 #, c-format msgid "" "%s dumps a database as a text file or to other formats.\n" @@ -1437,17 +1581,17 @@ msgstr "" "%s extrae una base de datos en formato de texto o en otros formatos.\n" "\n" -#: pg_dump.c:1057 pg_dumpall.c:630 pg_restore.c:433 +#: pg_dump.c:1092 pg_dumpall.c:635 pg_restore.c:452 #, c-format msgid "Usage:\n" msgstr "Empleo:\n" -#: pg_dump.c:1058 +#: pg_dump.c:1093 #, c-format msgid " %s [OPTION]... [DBNAME]\n" msgstr " %s [OPCIÓN]... [NOMBREDB]\n" -#: pg_dump.c:1060 pg_dumpall.c:633 pg_restore.c:436 +#: pg_dump.c:1095 pg_dumpall.c:638 pg_restore.c:455 #, c-format msgid "" "\n" @@ -1456,12 +1600,12 @@ msgstr "" "\n" "Opciones generales:\n" -#: pg_dump.c:1061 +#: pg_dump.c:1096 #, c-format msgid " -f, --file=FILENAME output file or directory name\n" msgstr " -f, --file=ARCHIVO nombre del archivo o directorio de salida\n" -#: pg_dump.c:1062 +#: pg_dump.c:1097 #, c-format msgid "" " -F, --format=c|d|t|p output file format (custom, directory, tar,\n" @@ -1470,22 +1614,22 @@ msgstr "" " -F, --format=c|d|t|p Formato del archivo de salida (c=personalizado, \n" " d=directorio, t=tar, p=texto (por omisión))\n" -#: pg_dump.c:1064 +#: pg_dump.c:1099 #, c-format msgid " -j, --jobs=NUM use this many parallel jobs to dump\n" msgstr " -j, --jobs=NUM máximo de procesos paralelos para volcar\n" -#: pg_dump.c:1065 pg_dumpall.c:635 +#: pg_dump.c:1100 pg_dumpall.c:640 #, c-format msgid " -v, --verbose verbose mode\n" msgstr " -v, --verbose modo verboso\n" -#: pg_dump.c:1066 pg_dumpall.c:636 +#: pg_dump.c:1101 pg_dumpall.c:641 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version mostrar información de version y salir\n" -#: pg_dump.c:1067 +#: pg_dump.c:1102 #, c-format msgid "" " -Z, --compress=METHOD[:DETAIL]\n" @@ -1494,22 +1638,28 @@ msgstr "" " -Z, --compress=MÉTODO[:DETALLE]\n" " comprimir como se indica\n" -#: pg_dump.c:1069 pg_dumpall.c:637 +#: pg_dump.c:1104 pg_dumpall.c:642 #, c-format msgid " --lock-wait-timeout=TIMEOUT fail after waiting TIMEOUT for a table lock\n" msgstr " --lock-wait-timeout=SEGS espera a lo más SEGS segundos obtener un lock\n" -#: pg_dump.c:1070 pg_dumpall.c:664 +#: pg_dump.c:1105 pg_dumpall.c:670 #, c-format msgid " --no-sync do not wait for changes to be written safely to disk\n" msgstr " --no-sync no esperar que los cambios se sincronicen a disco\n" -#: pg_dump.c:1071 pg_dumpall.c:638 +#: pg_dump.c:1106 +#, c-format +#| msgid " --clone clone instead of copying files to new cluster\n" +msgid " --sync-method=METHOD set method for syncing files to disk\n" +msgstr " --sync-method=MÉTODO definir método para sincr. archivos a disco\n" + +#: pg_dump.c:1107 pg_dumpall.c:643 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help mostrar esta ayuda y salir\n" -#: pg_dump.c:1073 pg_dumpall.c:639 +#: pg_dump.c:1109 pg_dumpall.c:644 #, c-format msgid "" "\n" @@ -1518,64 +1668,66 @@ msgstr "" "\n" "Opciones que controlan el contenido de la salida:\n" -#: pg_dump.c:1074 pg_dumpall.c:640 +#: pg_dump.c:1110 pg_dumpall.c:645 #, c-format msgid " -a, --data-only dump only the data, not the schema\n" msgstr " -a, --data-only extrae sólo los datos, no el esquema\n" -#: pg_dump.c:1075 +#: pg_dump.c:1111 #, c-format +#| msgid " -b, --large-objects include large objects in dump\n" msgid " -b, --large-objects include large objects in dump\n" msgstr " -b, --large-objects incluir “large objects” en la extracción\n" -#: pg_dump.c:1076 +#: pg_dump.c:1112 #, c-format msgid " --blobs (same as --large-objects, deprecated)\n" msgstr " --blobs (igual que --large-objects, deprecado)\n" -#: pg_dump.c:1077 +#: pg_dump.c:1113 #, c-format +#| msgid " -B, --no-large-objects exclude large objects in dump\n" msgid " -B, --no-large-objects exclude large objects in dump\n" msgstr " -B, --no-large-objects excluir “large objects” en la extracción\n" -#: pg_dump.c:1078 +#: pg_dump.c:1114 #, c-format msgid " --no-blobs (same as --no-large-objects, deprecated)\n" msgstr " --no-blobs (igual que --no-large-objects, deprecado)\n" -#: pg_dump.c:1079 pg_restore.c:447 +#: pg_dump.c:1115 pg_restore.c:466 #, c-format msgid " -c, --clean clean (drop) database objects before recreating\n" msgstr " -c, --clean tira (drop) la base de datos antes de crearla\n" -#: pg_dump.c:1080 +#: pg_dump.c:1116 #, c-format msgid " -C, --create include commands to create database in dump\n" msgstr "" " -C, --create incluye órdenes para crear la base de datos\n" " en la extracción\n" -#: pg_dump.c:1081 +#: pg_dump.c:1117 #, c-format msgid " -e, --extension=PATTERN dump the specified extension(s) only\n" msgstr " -e, --extension=PATRÓN extrae sólo la o las extensiones nombradas\n" -#: pg_dump.c:1082 pg_dumpall.c:642 +#: pg_dump.c:1118 pg_dumpall.c:647 #, c-format msgid " -E, --encoding=ENCODING dump the data in encoding ENCODING\n" msgstr " -E, --encoding=CODIF extrae los datos con la codificación CODIF\n" -#: pg_dump.c:1083 +#: pg_dump.c:1119 #, c-format msgid " -n, --schema=PATTERN dump the specified schema(s) only\n" msgstr " -n, --schema=PATRÓN extrae sólo el o los esquemas nombrados\n" -#: pg_dump.c:1084 +#: pg_dump.c:1120 #, c-format msgid " -N, --exclude-schema=PATTERN do NOT dump the specified schema(s)\n" msgstr " -N, --exclude-schema=PATRÓN NO extrae el o los esquemas nombrados\n" -#: pg_dump.c:1085 +#: pg_dump.c:1121 #, c-format msgid "" " -O, --no-owner skip restoration of object ownership in\n" @@ -1584,58 +1736,59 @@ msgstr "" " -O, --no-owner en formato de sólo texto, no reestablece\n" " los dueños de los objetos\n" -#: pg_dump.c:1087 pg_dumpall.c:646 +#: pg_dump.c:1123 pg_dumpall.c:651 #, c-format msgid " -s, --schema-only dump only the schema, no data\n" msgstr " -s, --schema-only extrae sólo el esquema, no los datos\n" -#: pg_dump.c:1088 +#: pg_dump.c:1124 #, c-format msgid " -S, --superuser=NAME superuser user name to use in plain-text format\n" msgstr " -S, --superuser=NAME superusuario a utilizar en el volcado de texto\n" -#: pg_dump.c:1089 +#: pg_dump.c:1125 #, c-format +#| msgid " -t, --table=PATTERN dump only the specified table(s)\n" msgid " -t, --table=PATTERN dump only the specified table(s)\n" msgstr " -t, --table=PATRÓN extrae sólo la o las tablas nombradas\n" -#: pg_dump.c:1090 +#: pg_dump.c:1126 #, c-format msgid " -T, --exclude-table=PATTERN do NOT dump the specified table(s)\n" msgstr " -T, --exclude-table=PATRÓN NO extrae la o las tablas nombradas\n" -#: pg_dump.c:1091 pg_dumpall.c:649 +#: pg_dump.c:1127 pg_dumpall.c:654 #, c-format msgid " -x, --no-privileges do not dump privileges (grant/revoke)\n" msgstr " -x, --no-privileges no extrae los privilegios (grant/revoke)\n" -#: pg_dump.c:1092 pg_dumpall.c:650 +#: pg_dump.c:1128 pg_dumpall.c:655 #, c-format msgid " --binary-upgrade for use by upgrade utilities only\n" msgstr " --binary-upgrade sólo para uso de utilidades de upgrade\n" -#: pg_dump.c:1093 pg_dumpall.c:651 +#: pg_dump.c:1129 pg_dumpall.c:656 #, c-format msgid " --column-inserts dump data as INSERT commands with column names\n" msgstr "" " --column-inserts extrae los datos usando INSERT con nombres\n" " de columnas\n" -#: pg_dump.c:1094 pg_dumpall.c:652 +#: pg_dump.c:1130 pg_dumpall.c:657 #, c-format msgid " --disable-dollar-quoting disable dollar quoting, use SQL standard quoting\n" msgstr "" " --disable-dollar-quoting deshabilita el uso de «delimitadores de dólar»,\n" " usa delimitadores de cadena estándares\n" -#: pg_dump.c:1095 pg_dumpall.c:653 pg_restore.c:464 +#: pg_dump.c:1131 pg_dumpall.c:658 pg_restore.c:483 #, c-format msgid " --disable-triggers disable triggers during data-only restore\n" msgstr "" " --disable-triggers deshabilita los disparadores (triggers) durante el\n" " restablecimiento de la extracción de sólo-datos\n" -#: pg_dump.c:1096 +#: pg_dump.c:1132 #, c-format msgid "" " --enable-row-security enable row security (dump only content user has\n" @@ -1644,7 +1797,13 @@ msgstr "" " --enable-row-security activa seguridad de filas (volcar sólo el\n" " contenido al que el usuario tiene acceso)\n" -#: pg_dump.c:1098 +#: pg_dump.c:1134 +#, c-format +#| msgid " -e, --extension=PATTERN dump the specified extension(s) only\n" +msgid " --exclude-extension=PATTERN do NOT dump the specified extension(s)\n" +msgstr " --exclude-extension=PATRÓN NO volcar la o las extensiones indicadas\n" + +#: pg_dump.c:1135 #, c-format msgid "" " --exclude-table-and-children=PATTERN\n" @@ -1655,12 +1814,12 @@ msgstr "" " NO extrae la o las tablas especificadas,\n" " incluyendo tablas hijas y particiones\n" -#: pg_dump.c:1101 +#: pg_dump.c:1138 #, c-format msgid " --exclude-table-data=PATTERN do NOT dump data for the specified table(s)\n" msgstr " --exclude-table-data=PATRÓN NO extrae los datos de la(s) tablas nombradas\n" -#: pg_dump.c:1102 +#: pg_dump.c:1139 #, c-format msgid "" " --exclude-table-data-and-children=PATTERN\n" @@ -1671,17 +1830,26 @@ msgstr "" " NO extrae datos para la o las tablas\n" " especificadas, incluyendo hijas y particiones\n" -#: pg_dump.c:1105 pg_dumpall.c:655 +#: pg_dump.c:1142 pg_dumpall.c:660 #, c-format msgid " --extra-float-digits=NUM override default setting for extra_float_digits\n" msgstr " --extra-float-digits=NUM usa este valor para extra_float_digits\n" -#: pg_dump.c:1106 pg_dumpall.c:656 pg_restore.c:466 +#: pg_dump.c:1143 +#, c-format +msgid "" +" --filter=FILENAME include or exclude objects and data from dump\n" +" based on expressions in FILENAME\n" +msgstr "" +" --filter=ARCHIVO incluir o excluir objetos y datos basado en\n" +" expresiones en ARCHIVO\n" + +#: pg_dump.c:1145 pg_dumpall.c:662 pg_restore.c:487 #, c-format msgid " --if-exists use IF EXISTS when dropping objects\n" msgstr " --if-exists usa IF EXISTS al eliminar objetos\n" -#: pg_dump.c:1107 +#: pg_dump.c:1146 #, c-format msgid "" " --include-foreign-data=PATTERN\n" @@ -1692,93 +1860,93 @@ msgstr "" " incluye datos de tablas foráneas en servidores\n" " que coinciden con PATRÓN\n" -#: pg_dump.c:1110 pg_dumpall.c:657 +#: pg_dump.c:1149 pg_dumpall.c:663 #, c-format msgid " --inserts dump data as INSERT commands, rather than COPY\n" msgstr " --inserts extrae los datos usando INSERT, en vez de COPY\n" -#: pg_dump.c:1111 pg_dumpall.c:658 +#: pg_dump.c:1150 pg_dumpall.c:664 #, c-format msgid " --load-via-partition-root load partitions via the root table\n" msgstr " --load-via-partition-root cargar particiones a través de tabla raíz\n" -#: pg_dump.c:1112 pg_dumpall.c:659 +#: pg_dump.c:1151 pg_dumpall.c:665 #, c-format msgid " --no-comments do not dump comments\n" msgstr " --no-comments no volcar los comentarios\n" -#: pg_dump.c:1113 pg_dumpall.c:660 +#: pg_dump.c:1152 pg_dumpall.c:666 #, c-format msgid " --no-publications do not dump publications\n" msgstr " --no-publications no volcar las publicaciones\n" -#: pg_dump.c:1114 pg_dumpall.c:662 +#: pg_dump.c:1153 pg_dumpall.c:668 #, c-format msgid " --no-security-labels do not dump security label assignments\n" msgstr " --no-security-labels no volcar asignaciones de etiquetas de seguridad\n" -#: pg_dump.c:1115 pg_dumpall.c:663 +#: pg_dump.c:1154 pg_dumpall.c:669 #, c-format msgid " --no-subscriptions do not dump subscriptions\n" msgstr " --no-subscriptions no volcar las suscripciones\n" -#: pg_dump.c:1116 pg_dumpall.c:665 +#: pg_dump.c:1155 pg_dumpall.c:671 #, c-format msgid " --no-table-access-method do not dump table access methods\n" msgstr " --no-table-access-method no volcar métodos de acceso de tablas\n" -#: pg_dump.c:1117 pg_dumpall.c:666 +#: pg_dump.c:1156 pg_dumpall.c:672 #, c-format msgid " --no-tablespaces do not dump tablespace assignments\n" msgstr " --no-tablespaces no volcar asignaciones de tablespace\n" -#: pg_dump.c:1118 pg_dumpall.c:667 +#: pg_dump.c:1157 pg_dumpall.c:673 #, c-format msgid " --no-toast-compression do not dump TOAST compression methods\n" msgstr " --no-toast-compression no volcar métodos de compresión TOAST\n" -#: pg_dump.c:1119 pg_dumpall.c:668 +#: pg_dump.c:1158 pg_dumpall.c:674 #, c-format msgid " --no-unlogged-table-data do not dump unlogged table data\n" msgstr " --no-unlogged-table-data no volcar datos de tablas unlogged\n" -#: pg_dump.c:1120 pg_dumpall.c:669 +#: pg_dump.c:1159 pg_dumpall.c:675 #, c-format msgid " --on-conflict-do-nothing add ON CONFLICT DO NOTHING to INSERT commands\n" msgstr " --on-conflict-do-nothing agregar ON CONFLICT DO NOTHING a órdenes INSERT\n" -#: pg_dump.c:1121 pg_dumpall.c:670 +#: pg_dump.c:1160 pg_dumpall.c:676 #, c-format msgid " --quote-all-identifiers quote all identifiers, even if not key words\n" msgstr "" " --quote-all-identifiers entrecomilla todos los identificadores, incluso\n" " si no son palabras clave\n" -#: pg_dump.c:1122 pg_dumpall.c:671 +#: pg_dump.c:1161 pg_dumpall.c:677 #, c-format msgid " --rows-per-insert=NROWS number of rows per INSERT; implies --inserts\n" msgstr " --rows-per-insert=NUMFILAS número de filas por INSERT; implica --inserts\n" -#: pg_dump.c:1123 +#: pg_dump.c:1162 #, c-format msgid " --section=SECTION dump named section (pre-data, data, or post-data)\n" msgstr "" " --section=SECCIÓN volcar la sección nombrada (pre-data, data,\n" " post-data)\n" -#: pg_dump.c:1124 +#: pg_dump.c:1163 #, c-format msgid " --serializable-deferrable wait until the dump can run without anomalies\n" msgstr "" " --serializable-deferrable espera hasta que el respaldo pueda completarse\n" " sin anomalías\n" -#: pg_dump.c:1125 +#: pg_dump.c:1164 #, c-format msgid " --snapshot=SNAPSHOT use given snapshot for the dump\n" msgstr " --snapshot=SNAPSHOT use el snapshot dado para la extracción\n" -#: pg_dump.c:1126 pg_restore.c:476 +#: pg_dump.c:1165 pg_restore.c:497 #, c-format msgid "" " --strict-names require table and/or schema include patterns to\n" @@ -1787,7 +1955,7 @@ msgstr "" " --strict-names requerir al menos una coincidencia para cada patrón\n" " de nombre de tablas y esquemas\n" -#: pg_dump.c:1128 +#: pg_dump.c:1167 #, c-format msgid "" " --table-and-children=PATTERN dump only the specified table(s), including\n" @@ -1796,7 +1964,7 @@ msgstr "" " --table-and-children=PATRÓN volcar sólo la o las tablas especificadas,\n" " incluyendo tablas hijas y particiones\n" -#: pg_dump.c:1130 pg_dumpall.c:672 pg_restore.c:478 +#: pg_dump.c:1169 pg_dumpall.c:678 pg_restore.c:500 #, c-format msgid "" " --use-set-session-authorization\n" @@ -1807,7 +1975,7 @@ msgstr "" " usa órdenes SESSION AUTHORIZATION en lugar de\n" " ALTER OWNER para cambiar los dueño de los objetos\n" -#: pg_dump.c:1134 pg_dumpall.c:676 pg_restore.c:482 +#: pg_dump.c:1173 pg_dumpall.c:682 pg_restore.c:504 #, c-format msgid "" "\n" @@ -1816,46 +1984,46 @@ msgstr "" "\n" "Opciones de conexión:\n" -#: pg_dump.c:1135 +#: pg_dump.c:1174 #, c-format msgid " -d, --dbname=DBNAME database to dump\n" msgstr " -d, --dbname=NOMBRE nombre de la base de datos que volcar\n" -#: pg_dump.c:1136 pg_dumpall.c:678 pg_restore.c:483 +#: pg_dump.c:1175 pg_dumpall.c:684 pg_restore.c:505 #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr "" " -h, --host=ANFITRIÓN anfitrión de la base de datos o\n" " directorio del enchufe (socket)\n" -#: pg_dump.c:1137 pg_dumpall.c:680 pg_restore.c:484 +#: pg_dump.c:1176 pg_dumpall.c:686 pg_restore.c:506 #, c-format msgid " -p, --port=PORT database server port number\n" msgstr " -p, --port=PUERTO número del puerto de la base de datos\n" -#: pg_dump.c:1138 pg_dumpall.c:681 pg_restore.c:485 +#: pg_dump.c:1177 pg_dumpall.c:687 pg_restore.c:507 #, c-format msgid " -U, --username=NAME connect as specified database user\n" msgstr " -U, --username=USUARIO nombre de usuario con el cual conectarse\n" -#: pg_dump.c:1139 pg_dumpall.c:682 pg_restore.c:486 +#: pg_dump.c:1178 pg_dumpall.c:688 pg_restore.c:508 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password nunca pedir una contraseña\n" -#: pg_dump.c:1140 pg_dumpall.c:683 pg_restore.c:487 +#: pg_dump.c:1179 pg_dumpall.c:689 pg_restore.c:509 #, c-format msgid " -W, --password force password prompt (should happen automatically)\n" msgstr "" " -W, --password fuerza un prompt para la contraseña\n" " (debería ser automático)\n" -#: pg_dump.c:1141 pg_dumpall.c:684 +#: pg_dump.c:1180 pg_dumpall.c:690 #, c-format msgid " --role=ROLENAME do SET ROLE before dump\n" msgstr " --role=ROL ejecuta SET ROLE antes del volcado\n" -#: pg_dump.c:1143 +#: pg_dump.c:1182 #, c-format msgid "" "\n" @@ -1868,530 +2036,543 @@ msgstr "" "de la variable de ambiente PGDATABASE.\n" "\n" -#: pg_dump.c:1145 pg_dumpall.c:688 pg_restore.c:494 +#: pg_dump.c:1184 pg_dumpall.c:694 pg_restore.c:516 #, c-format msgid "Report bugs to <%s>.\n" msgstr "Reporte errores a <%s>.\n" -#: pg_dump.c:1146 pg_dumpall.c:689 pg_restore.c:495 +#: pg_dump.c:1185 pg_dumpall.c:695 pg_restore.c:517 #, c-format msgid "%s home page: <%s>\n" msgstr "Sitio web de %s: <%s>\n" -#: pg_dump.c:1165 pg_dumpall.c:513 +#: pg_dump.c:1204 pg_dumpall.c:518 #, c-format msgid "invalid client encoding \"%s\" specified" msgstr "la codificación de cliente especificada «%s» no es válida" -#: pg_dump.c:1303 +#: pg_dump.c:1344 #, c-format msgid "parallel dumps from standby servers are not supported by this server version" msgstr "Los volcados en paralelo desde servidores standby no están soportados por esta versión de servidor." -#: pg_dump.c:1368 +#: pg_dump.c:1409 #, c-format msgid "invalid output format \"%s\" specified" msgstr "el formato de salida especificado «%s» no es válido" -#: pg_dump.c:1409 pg_dump.c:1465 pg_dump.c:1518 pg_dumpall.c:1449 +#: pg_dump.c:1450 pg_dump.c:1506 pg_dump.c:1559 pg_dumpall.c:1467 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "el nombre no es válido (demasiados puntos): %s" -#: pg_dump.c:1417 +#: pg_dump.c:1458 #, c-format msgid "no matching schemas were found for pattern \"%s\"" msgstr "no se encontraron esquemas coincidentes para el patrón «%s»" -#: pg_dump.c:1470 +#: pg_dump.c:1511 #, c-format msgid "no matching extensions were found for pattern \"%s\"" msgstr "no se encontraron extensiones coincidentes para el patrón «%s»" -#: pg_dump.c:1523 +#: pg_dump.c:1564 #, c-format msgid "no matching foreign servers were found for pattern \"%s\"" msgstr "no se encontraron servidores foráneos coincidentes para el patrón «%s»" -#: pg_dump.c:1594 +#: pg_dump.c:1635 #, c-format msgid "improper relation name (too many dotted names): %s" msgstr "el nombre de relación no es válido (demasiados puntos): %s" -#: pg_dump.c:1616 +#: pg_dump.c:1657 #, c-format msgid "no matching tables were found for pattern \"%s\"" msgstr "no se encontraron tablas coincidentes para el patrón «%s»" -#: pg_dump.c:1643 +#: pg_dump.c:1684 #, c-format msgid "You are currently not connected to a database." msgstr "No está conectado a una base de datos." -#: pg_dump.c:1646 +#: pg_dump.c:1687 #, c-format msgid "cross-database references are not implemented: %s" msgstr "no están implementadas las referencias entre bases de datos: %s" -#: pg_dump.c:2077 +#: pg_dump.c:2146 #, c-format msgid "dumping contents of table \"%s.%s\"" msgstr "extrayendo el contenido de la tabla «%s.%s»" -#: pg_dump.c:2183 +#: pg_dump.c:2252 #, c-format msgid "Dumping the contents of table \"%s\" failed: PQgetCopyData() failed." msgstr "Falló la extracción del contenido de la tabla «%s»: PQgetCopyData() falló." -#: pg_dump.c:2184 pg_dump.c:2194 +#: pg_dump.c:2253 pg_dump.c:2263 #, c-format msgid "Error message from server: %s" msgstr "Mensaje de error del servidor: %s" -#: pg_dump.c:2185 pg_dump.c:2195 +#: pg_dump.c:2254 pg_dump.c:2264 #, c-format msgid "Command was: %s" msgstr "La orden era: % s" -#: pg_dump.c:2193 +#: pg_dump.c:2262 #, c-format msgid "Dumping the contents of table \"%s\" failed: PQgetResult() failed." msgstr "Falló la extracción del contenido de la tabla «%s»: PQgetResult() falló." -#: pg_dump.c:2275 +#: pg_dump.c:2344 #, c-format msgid "wrong number of fields retrieved from table \"%s\"" msgstr "se obtuvo un número incorrecto de campos de la tabla «%s»" -#: pg_dump.c:2973 +#: pg_dump.c:3042 #, c-format msgid "saving database definition" msgstr "salvando las definiciones de la base de datos" -#: pg_dump.c:3078 +#: pg_dump.c:3151 #, c-format msgid "unrecognized locale provider: %s" msgstr "proveedor de configuración regional no reconocido: %s" -#: pg_dump.c:3429 +#: pg_dump.c:3512 #, c-format msgid "saving encoding = %s" msgstr "salvando codificaciones = %s" -#: pg_dump.c:3454 +#: pg_dump.c:3537 #, c-format -msgid "saving standard_conforming_strings = %s" -msgstr "salvando standard_conforming_strings = %s" +#| msgid "saving standard_conforming_strings = %s" +msgid "saving \"standard_conforming_strings = %s\"" +msgstr "salvando «standard_conforming_strings = %s»" -#: pg_dump.c:3493 +#: pg_dump.c:3576 #, c-format msgid "could not parse result of current_schemas()" msgstr "no se pudo interpretar la salida de current_schemas()" -#: pg_dump.c:3512 +#: pg_dump.c:3595 #, c-format -msgid "saving search_path = %s" -msgstr "salvando search_path = %s" +#| msgid "saving search_path = %s" +msgid "saving \"search_path = %s\"" +msgstr "salvando «search_path = %s»" -#: pg_dump.c:3549 +#: pg_dump.c:3631 #, c-format msgid "reading large objects" msgstr "leyendo objetos grandes" -#: pg_dump.c:3687 +#: pg_dump.c:3852 #, c-format -msgid "saving large objects" -msgstr "salvando objetos grandes" +#| msgid "saving large objects" +msgid "saving large objects \"%s\"" +msgstr "salvando objetos grandes «%s»" -#: pg_dump.c:3728 +#: pg_dump.c:3873 #, c-format msgid "error reading large object %u: %s" msgstr "error al leer el objeto grande %u: %s" -#: pg_dump.c:3834 +#: pg_dump.c:3976 #, c-format msgid "reading row-level security policies" msgstr "leyendo políticas de seguridad a nivel de registros" -#: pg_dump.c:3975 +#: pg_dump.c:4117 #, c-format msgid "unexpected policy command type: %c" msgstr "tipo de orden inesperada en política: %c" -#: pg_dump.c:4425 pg_dump.c:4760 pg_dump.c:11984 pg_dump.c:17894 -#: pg_dump.c:17896 pg_dump.c:18517 +#: pg_dump.c:4567 pg_dump.c:5103 pg_dump.c:12315 pg_dump.c:18199 +#: pg_dump.c:18201 pg_dump.c:18823 #, c-format msgid "could not parse %s array" msgstr "no se pudo interpretar el arreglo %s" -#: pg_dump.c:4613 +#: pg_dump.c:4759 #, c-format msgid "subscriptions not dumped because current user is not a superuser" msgstr "no se volcaron las suscripciones porque el usuario actual no es un superusuario" -#: pg_dump.c:5149 +#: pg_dump.c:4965 +#, c-format +msgid "subscription with OID %u does not exist" +msgstr "no existe la suscripción con OID %u" + +#: pg_dump.c:4972 +#, c-format +#| msgid "failed sanity check, parent OID %u of table \"%s\" (OID %u) not found" +msgid "failed sanity check, table with OID %u not found" +msgstr "falló la revisión de integridad, tabla con OID %u no se encontró" + +#: pg_dump.c:5535 #, c-format msgid "could not find parent extension for %s %s" msgstr "no se pudo encontrar la extensión padre para %s %s" -#: pg_dump.c:5294 +#: pg_dump.c:5680 #, c-format msgid "schema with OID %u does not exist" msgstr "no existe el esquema con OID %u" -#: pg_dump.c:6776 pg_dump.c:17158 +#: pg_dump.c:7162 pg_dump.c:17570 #, c-format msgid "failed sanity check, parent table with OID %u of sequence with OID %u not found" msgstr "falló la revisión de integridad, no se encontró la tabla padre con OID %u de la secuencia con OID %u" -#: pg_dump.c:6919 +#: pg_dump.c:7305 #, c-format msgid "failed sanity check, table OID %u appearing in pg_partitioned_table not found" msgstr "falló la revisión de integridad, el OID %u que aparece en pg_partitioned_table no se encontró" -#: pg_dump.c:7150 pg_dump.c:7417 pg_dump.c:7888 pg_dump.c:8552 pg_dump.c:8671 -#: pg_dump.c:8819 +#: pg_dump.c:7536 pg_dump.c:7810 pg_dump.c:8257 pg_dump.c:8871 pg_dump.c:8993 +#: pg_dump.c:9141 #, c-format msgid "unrecognized table OID %u" msgstr "OID de tabla %u no reconocido" -#: pg_dump.c:7154 +#: pg_dump.c:7540 #, c-format msgid "unexpected index data for table \"%s\"" msgstr "datos de índice inesperados para la tabla «%s»" -#: pg_dump.c:7649 +#: pg_dump.c:8042 #, c-format msgid "failed sanity check, parent table with OID %u of pg_rewrite entry with OID %u not found" msgstr "falló la revisión de integridad, no se encontró la tabla padre con OID %u del elemento con OID %u de pg_rewrite" -#: pg_dump.c:7940 -#, c-format -msgid "query produced null referenced table name for foreign key trigger \"%s\" on table \"%s\" (OID of table: %u)" -msgstr "la consulta produjo un nombre de tabla nulo para la llave foránea del disparador \"%s\" en la tabla «%s» (OID de la tabla: %u)" - -#: pg_dump.c:8556 +#: pg_dump.c:8875 #, c-format msgid "unexpected column data for table \"%s\"" msgstr "información de columnas para la tabla «%s» inesperada" -#: pg_dump.c:8585 +#: pg_dump.c:8904 #, c-format msgid "invalid column numbering in table \"%s\"" msgstr "numeración de columnas no válida en la tabla «%s»" -#: pg_dump.c:8633 +#: pg_dump.c:8955 #, c-format msgid "finding table default expressions" msgstr "encontrando expresiones default de tablas" -#: pg_dump.c:8675 +#: pg_dump.c:8997 #, c-format msgid "invalid adnum value %d for table \"%s\"" msgstr "el valor de adnum %d para la tabla «%s» no es válido" -#: pg_dump.c:8769 +#: pg_dump.c:9091 #, c-format msgid "finding table check constraints" msgstr "encontrando restricciones CHECK de tablas" -#: pg_dump.c:8823 +#: pg_dump.c:9145 #, 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" msgstr[0] "se esperaban %d restricciones CHECK en la tabla «%s» pero se encontraron %d" msgstr[1] "se esperaban %d restricciones CHECK en la tabla «%s» pero se encontraron %d" -#: pg_dump.c:8827 +#: pg_dump.c:9149 #, c-format msgid "The system catalogs might be corrupted." msgstr "Los catálogos del sistema podrían estar corruptos." -#: pg_dump.c:9517 +#: pg_dump.c:9839 #, c-format msgid "role with OID %u does not exist" msgstr "no existe el rol con OID %u" -#: pg_dump.c:9629 pg_dump.c:9658 +#: pg_dump.c:9951 pg_dump.c:9980 #, c-format msgid "unsupported pg_init_privs entry: %u %u %d" msgstr "entrada en pg_init_privs no soportada: %u %u %d" -#: pg_dump.c:10479 +#: pg_dump.c:10527 +#, c-format +#| msgid "permission denied for large object %s" +msgid "missing metadata for large objects \"%s\"" +msgstr "metadata faltante para los objetos grandes «%s»" + +#: pg_dump.c:10810 #, c-format msgid "typtype of data type \"%s\" appears to be invalid" msgstr "el typtype del tipo «%s» parece no ser válido" -#: pg_dump.c:12053 +#: pg_dump.c:12384 #, c-format msgid "unrecognized provolatile value for function \"%s\"" msgstr "el valor del atributo «provolatile» para la función «%s» es desconocido" -#: pg_dump.c:12103 pg_dump.c:13985 +#: pg_dump.c:12434 pg_dump.c:14330 #, c-format msgid "unrecognized proparallel value for function \"%s\"" msgstr "el valor del atributo «proparallel» para la función «%s» es desconocido" -#: pg_dump.c:12233 pg_dump.c:12339 pg_dump.c:12346 +#: pg_dump.c:12564 pg_dump.c:12670 pg_dump.c:12677 #, c-format msgid "could not find function definition for function with OID %u" msgstr "no se encontró la definición de la función con OID %u" -#: pg_dump.c:12272 +#: pg_dump.c:12603 #, c-format msgid "bogus value in pg_cast.castfunc or pg_cast.castmethod field" msgstr "valor no válido en los campos pg_cast.castfunc o pg_cast.castmethod" -#: pg_dump.c:12275 +#: pg_dump.c:12606 #, c-format msgid "bogus value in pg_cast.castmethod field" msgstr "valor no válido en el campo pg_cast.castmethod" -#: pg_dump.c:12365 +#: pg_dump.c:12696 #, c-format msgid "bogus transform definition, at least one of trffromsql and trftosql should be nonzero" msgstr "definición errónea de transformación; al menos uno de trffromsql y trftosql debe ser distinto de cero" -#: pg_dump.c:12382 +#: pg_dump.c:12713 #, c-format msgid "bogus value in pg_transform.trffromsql field" msgstr "valor erróneo en el campo pg_transform.trffromsql" -#: pg_dump.c:12403 +#: pg_dump.c:12734 #, c-format msgid "bogus value in pg_transform.trftosql field" msgstr "valor erróneo en el campo pg_transform.trftosql" -#: pg_dump.c:12548 +#: pg_dump.c:12879 #, c-format msgid "postfix operators are not supported anymore (operator \"%s\")" msgstr "los operadores postfix ya no están soportados (operador «%s»)" -#: pg_dump.c:12718 +#: pg_dump.c:13049 #, c-format msgid "could not find operator with OID %s" msgstr "no se pudo encontrar el operador con OID %s" -#: pg_dump.c:12786 +#: pg_dump.c:13117 #, c-format msgid "invalid type \"%c\" of access method \"%s\"" msgstr "el tipo «%c» para el método de acceso «%s» no es válido" -#: pg_dump.c:13455 pg_dump.c:13514 +#: pg_dump.c:13791 pg_dump.c:13859 #, c-format msgid "unrecognized collation provider: %s" msgstr "proveedor de ordenamiento no reconocido: %s" -#: pg_dump.c:13464 pg_dump.c:13473 pg_dump.c:13483 pg_dump.c:13498 +#: pg_dump.c:13800 pg_dump.c:13807 pg_dump.c:13818 pg_dump.c:13828 +#: pg_dump.c:13843 #, c-format msgid "invalid collation \"%s\"" msgstr "ordenamiento \"%s\" no válido" -#: pg_dump.c:13904 +#: pg_dump.c:14249 #, c-format msgid "unrecognized aggfinalmodify value for aggregate \"%s\"" msgstr "valor de aggfinalmodify no reconocido para la agregación «%s»" -#: pg_dump.c:13960 +#: pg_dump.c:14305 #, c-format msgid "unrecognized aggmfinalmodify value for aggregate \"%s\"" msgstr "valor de aggmfinalmodify no reconocido para la agregación «%s»" -#: pg_dump.c:14677 +#: pg_dump.c:15022 #, c-format msgid "unrecognized object type in default privileges: %d" msgstr "tipo de objeto desconocido en privilegios por omisión: %d" -#: pg_dump.c:14693 +#: pg_dump.c:15038 #, c-format msgid "could not parse default ACL list (%s)" msgstr "no se pudo interpretar la lista de ACL (%s)" -#: pg_dump.c:14775 +#: pg_dump.c:15122 #, c-format msgid "could not parse initial ACL list (%s) or default (%s) for object \"%s\" (%s)" msgstr "no se pudo interpretar la lista ACL inicial (%s) o por defecto (%s) para el objeto «%s» (%s)" -#: pg_dump.c:14800 +#: pg_dump.c:15147 #, c-format msgid "could not parse ACL list (%s) or default (%s) for object \"%s\" (%s)" msgstr "no se pudo interpretar la lista de ACL (%s) o por defecto (%s) para el objeto «%s» (%s)" -#: pg_dump.c:15341 +#: pg_dump.c:15690 #, c-format msgid "query to obtain definition of view \"%s\" returned no data" msgstr "la consulta para obtener la definición de la vista «%s» no regresó datos" -#: pg_dump.c:15344 +#: pg_dump.c:15693 #, c-format msgid "query to obtain definition of view \"%s\" returned more than one definition" msgstr "la consulta para obtener la definición de la vista «%s» regresó más de una definición" -#: pg_dump.c:15351 +#: pg_dump.c:15700 #, c-format msgid "definition of view \"%s\" appears to be empty (length zero)" msgstr "la definición de la vista «%s» parece estar vacía (tamaño cero)" -#: pg_dump.c:15435 +#: pg_dump.c:15785 #, c-format msgid "WITH OIDS is not supported anymore (table \"%s\")" msgstr "WITH OIDS ya no está soportado (tabla «%s»)" -#: pg_dump.c:16359 +#: pg_dump.c:16772 #, c-format msgid "invalid column number %d for table \"%s\"" msgstr "el número de columna %d no es válido para la tabla «%s»" -#: pg_dump.c:16437 +#: pg_dump.c:16850 #, c-format msgid "could not parse index statistic columns" msgstr "no se pudieron interpretar columnas de estadísticas de índices" -#: pg_dump.c:16439 +#: pg_dump.c:16852 #, c-format msgid "could not parse index statistic values" msgstr "no se pudieron interpretar valores de estadísticas de índices" -#: pg_dump.c:16441 +#: pg_dump.c:16854 #, c-format msgid "mismatched number of columns and values for index statistics" msgstr "no coincide el número de columnas con el de valores para estadísticas de índices" -#: pg_dump.c:16657 +#: pg_dump.c:17069 #, c-format msgid "missing index for constraint \"%s\"" msgstr "falta un índice para restricción «%s»" -#: pg_dump.c:16892 +#: pg_dump.c:17304 #, c-format msgid "unrecognized constraint type: %c" msgstr "tipo de restricción inesperado: %c" -#: pg_dump.c:16993 pg_dump.c:17222 +#: pg_dump.c:17405 pg_dump.c:17634 #, 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)" msgstr[0] "la consulta para obtener los datos de la secuencia «%s» regresó %d entrada, pero se esperaba 1" msgstr[1] "la consulta para obtener los datos de la secuencia «%s» regresó %d entradas, pero se esperaba 1" -#: pg_dump.c:17025 +#: pg_dump.c:17437 #, c-format msgid "unrecognized sequence type: %s" msgstr "tipo no reconocido de secuencia: %s" -#: pg_dump.c:17314 -#, c-format -msgid "unexpected tgtype value: %d" -msgstr "tgtype no esperado: %d" - -#: pg_dump.c:17386 -#, c-format -msgid "invalid argument string (%s) for trigger \"%s\" on table \"%s\"" -msgstr "argumento de cadena (%s) no válido para el disparador (trigger) «%s» en la tabla «%s»" - -#: pg_dump.c:17655 +#: pg_dump.c:17951 #, c-format msgid "query to get rule \"%s\" for table \"%s\" failed: wrong number of rows returned" msgstr "la consulta para obtener la regla «%s» asociada con la tabla «%s» falló: retornó un número incorrecto de renglones" -#: pg_dump.c:17808 +#: pg_dump.c:18104 #, c-format msgid "could not find referenced extension %u" msgstr "no se pudo encontrar la extensión referenciada %u" -#: pg_dump.c:17898 +#: pg_dump.c:18203 #, c-format msgid "mismatched number of configurations and conditions for extension" msgstr "no coincide el número de configuraciones con el de condiciones para extensión" -#: pg_dump.c:18030 +#: pg_dump.c:18335 #, c-format msgid "reading dependency data" msgstr "obteniendo datos de dependencias" -#: pg_dump.c:18116 +#: pg_dump.c:18421 #, c-format msgid "no referencing object %u %u" msgstr "no existe el objeto referenciante %u %u" -#: pg_dump.c:18127 +#: pg_dump.c:18432 #, c-format msgid "no referenced object %u %u" msgstr "no existe el objeto referenciado %u %u" -#: pg_dump_sort.c:422 +#: pg_dump.c:18857 pg_dump.c:18895 pg_dumpall.c:1962 pg_restore.c:551 +#: pg_restore.c:597 +#, c-format +#| msgid "access to library \"%s\" is not allowed" +msgid "%s filter for \"%s\" is not allowed" +msgstr "el filtro %s para «%s» no está permitido" + +#: pg_dump_sort.c:424 #, c-format msgid "invalid dumpId %d" msgstr "dumpId %d no válido" -#: pg_dump_sort.c:428 +#: pg_dump_sort.c:430 #, c-format msgid "invalid dependency %d" msgstr "dependencia %d no válida" -#: pg_dump_sort.c:661 +#: pg_dump_sort.c:594 #, c-format msgid "could not identify dependency loop" msgstr "no se pudo identificar bucle de dependencia" -#: pg_dump_sort.c:1276 +#: pg_dump_sort.c:1209 #, 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:1281 +#: pg_dump_sort.c:1214 #, 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:1282 +#: pg_dump_sort.c:1215 #, 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:1294 +#: pg_dump_sort.c:1227 #, c-format msgid "could not resolve dependency loop among these items:" msgstr "no se pudo resolver el bucle de dependencias entre los siguientes elementos:" -#: pg_dumpall.c:230 +#: pg_dumpall.c:231 #, c-format msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"" msgstr "el programa «%s» es requerido por %s, pero no fue encontrado en el mismo directorio que «%s»" -#: pg_dumpall.c:233 +#: pg_dumpall.c:234 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" msgstr "el programa «%s» fue encontrado por «%s», pero no es de la misma versión que %s" -#: pg_dumpall.c:382 +#: pg_dumpall.c:387 #, c-format msgid "option --exclude-database cannot be used together with -g/--globals-only, -r/--roles-only, or -t/--tablespaces-only" msgstr "la opción --exclude-database no puede ser usada junto con -g/--globals-only, -r/--roles-only o -t/--tablespaces-only" -#: pg_dumpall.c:390 +#: pg_dumpall.c:395 #, c-format msgid "options -g/--globals-only and -r/--roles-only cannot be used together" msgstr "las opciones -g/--globals-only y -r/--roles-only no pueden usarse juntas" -#: pg_dumpall.c:397 +#: pg_dumpall.c:402 #, c-format msgid "options -g/--globals-only and -t/--tablespaces-only cannot be used together" msgstr "las opciones -g/--globals-only y -t/--tablespaces-only no pueden usarse juntas" -#: pg_dumpall.c:407 +#: pg_dumpall.c:412 #, c-format msgid "options -r/--roles-only and -t/--tablespaces-only cannot be used together" msgstr "las opciones -r/--roles-only y -t/--tablespaces-only no pueden usarse juntas" -#: pg_dumpall.c:469 pg_dumpall.c:1750 +#: pg_dumpall.c:474 pg_dumpall.c:1771 #, c-format msgid "could not connect to database \"%s\"" msgstr "no se pudo establecer la conexión a la base de datos «%s»" -#: pg_dumpall.c:481 +#: pg_dumpall.c:486 #, c-format msgid "" "could not connect to databases \"postgres\" or \"template1\"\n" @@ -2400,7 +2581,7 @@ msgstr "" "no se pudo establecer la conexión a las bases de datos «postgres» o\n" "«template1». Por favor especifique una base de datos para conectarse." -#: pg_dumpall.c:629 +#: pg_dumpall.c:634 #, c-format msgid "" "%s extracts a PostgreSQL database cluster into an SQL script file.\n" @@ -2410,73 +2591,79 @@ msgstr "" "guión (script) SQL.\n" "\n" -#: pg_dumpall.c:631 +#: pg_dumpall.c:636 #, c-format msgid " %s [OPTION]...\n" msgstr " %s [OPCIÓN]...\n" -#: pg_dumpall.c:634 +#: pg_dumpall.c:639 #, c-format msgid " -f, --file=FILENAME output file name\n" msgstr " -f, --file=ARCHIVO nombre del archivo de salida\n" -#: pg_dumpall.c:641 +#: pg_dumpall.c:646 #, c-format msgid " -c, --clean clean (drop) databases before recreating\n" msgstr " -c, --clean tira (drop) la base de datos antes de crearla\n" -#: pg_dumpall.c:643 +#: pg_dumpall.c:648 #, c-format msgid " -g, --globals-only dump only global objects, no databases\n" msgstr " -g, --globals-only extrae sólo los objetos globales, no bases de datos\n" -#: pg_dumpall.c:644 pg_restore.c:456 +#: pg_dumpall.c:649 pg_restore.c:475 #, c-format msgid " -O, --no-owner skip restoration of object ownership\n" msgstr " -O, --no-owner no reestablece los dueños de los objetos\n" -#: pg_dumpall.c:645 +#: pg_dumpall.c:650 #, c-format msgid " -r, --roles-only dump only roles, no databases or tablespaces\n" msgstr "" " -r, --roles-only extrae sólo los roles, no bases de datos\n" " ni tablespaces\n" -#: pg_dumpall.c:647 +#: pg_dumpall.c:652 #, c-format msgid " -S, --superuser=NAME superuser user name to use in the dump\n" msgstr "" " -S, --superuser=NAME especifica el nombre del superusuario a usar en\n" " el volcado\n" -#: pg_dumpall.c:648 +#: pg_dumpall.c:653 #, c-format msgid " -t, --tablespaces-only dump only tablespaces, no databases or roles\n" msgstr "" " -t, --tablespaces-only extrae sólo los tablespaces, no bases de datos\n" " ni roles\n" -#: pg_dumpall.c:654 +#: pg_dumpall.c:659 #, c-format msgid " --exclude-database=PATTERN exclude databases whose name matches PATTERN\n" msgstr " --exclude-database=PATRÓN excluir bases de datos cuyos nombres coinciden con el patrón\n" #: pg_dumpall.c:661 #, c-format +#| msgid " -f, --file=FILENAME output file name\n" +msgid " --filter=FILENAME exclude databases specified in FILENAME\n" +msgstr " --filter=ARCHIVO excluir bases de datos especificadas en ARCHIVO\n" + +#: pg_dumpall.c:667 +#, c-format msgid " --no-role-passwords do not dump passwords for roles\n" msgstr " --no-role-passwords no extraer contraseñas para roles\n" -#: pg_dumpall.c:677 +#: pg_dumpall.c:683 #, c-format msgid " -d, --dbname=CONNSTR connect using connection string\n" msgstr " -d, --dbname=CONNSTR conectar usando la cadena de conexión\n" -#: pg_dumpall.c:679 +#: pg_dumpall.c:685 #, c-format msgid " -l, --database=DBNAME alternative default database\n" msgstr " -l, --database=NOMBRE especifica la base de datos a la cual conectarse\n" -#: pg_dumpall.c:686 +#: pg_dumpall.c:692 #, c-format msgid "" "\n" @@ -2488,97 +2675,108 @@ msgstr "" "Si no se usa -f/--file, el volcado de SQL será escrito a la salida estándar.\n" "\n" -#: pg_dumpall.c:828 +#: pg_dumpall.c:837 #, c-format msgid "role name starting with \"pg_\" skipped (%s)" msgstr "omitido nombre de rol que empieza con «pg_» (%s)" -#: pg_dumpall.c:1050 +#: pg_dumpall.c:1059 #, c-format msgid "could not find a legal dump ordering for memberships in role \"%s\"" msgstr "no se pudo encontrar un orden legal para membresías del rol «%s»" -#: pg_dumpall.c:1185 +#: pg_dumpall.c:1194 #, c-format msgid "could not parse ACL list (%s) for parameter \"%s\"" msgstr "no se pudo interpretar la lista de control de acceso (%s) del parámetro «%s»" -#: pg_dumpall.c:1303 +#: pg_dumpall.c:1321 #, c-format msgid "could not parse ACL list (%s) for tablespace \"%s\"" msgstr "no se pudo interpretar la lista de control de acceso (%s) del tablespace «%s»" -#: pg_dumpall.c:1510 +#: pg_dumpall.c:1528 #, c-format msgid "excluding database \"%s\"" msgstr "excluyendo base de datos «%s»" -#: pg_dumpall.c:1514 +#: pg_dumpall.c:1532 #, c-format msgid "dumping database \"%s\"" msgstr "extrayendo base de datos «%s»" -#: pg_dumpall.c:1545 +#: pg_dumpall.c:1563 #, c-format msgid "pg_dump failed on database \"%s\", exiting" msgstr "pg_dump falló en la base de datos «%s», saliendo" -#: pg_dumpall.c:1551 +#: pg_dumpall.c:1569 #, c-format msgid "could not re-open the output file \"%s\": %m" msgstr "no se pudo reabrir el archivo de salida «%s»: %m" -#: pg_dumpall.c:1592 +#: pg_dumpall.c:1613 #, c-format msgid "running \"%s\"" msgstr "ejecutando «%s»" -#: pg_dumpall.c:1793 +#: pg_dumpall.c:1814 #, c-format msgid "could not get server version" msgstr "no se pudo obtener la versión del servidor" -#: pg_dumpall.c:1796 +#: pg_dumpall.c:1817 #, c-format msgid "could not parse server version \"%s\"" msgstr "no se pudo interpretar la versión del servidor «%s»" -#: pg_dumpall.c:1866 pg_dumpall.c:1889 +#: pg_dumpall.c:1887 pg_dumpall.c:1910 #, c-format msgid "executing %s" msgstr "ejecutando %s" -#: pg_restore.c:313 +#: pg_dumpall.c:1982 +#| msgid "unsupported object type \"%s\"" +msgid "unsupported filter object" +msgstr "objeto de filtro no soportado" + +#: pg_restore.c:329 #, c-format msgid "one of -d/--dbname and -f/--file must be specified" msgstr "una de las opciones -d/--dbname y -f/--file debe especificarse" -#: pg_restore.c:320 +#: pg_restore.c:336 #, c-format msgid "options -d/--dbname and -f/--file cannot be used together" msgstr "las opciones -d/--dbname y -f/--file no pueden usarse juntas" -#: pg_restore.c:338 +#: pg_restore.c:350 +#, c-format +#| msgid "options -C/--create and -1/--single-transaction cannot be used together" +msgid "options -1/--single-transaction and --transaction-size cannot be used together" +msgstr "las opciones -1/--single-transaction y --transaction-size no pueden usarse juntas" + +#: pg_restore.c:357 #, c-format msgid "options -C/--create and -1/--single-transaction cannot be used together" msgstr "las opciones -c/--clean y -1/--single-transaction no pueden usarse juntas" -#: pg_restore.c:342 +#: pg_restore.c:361 #, c-format msgid "cannot specify both --single-transaction and multiple jobs" msgstr "no se puede especificar --single-transaction junto con múltiples tareas" -#: pg_restore.c:380 +#: pg_restore.c:399 #, c-format msgid "unrecognized archive format \"%s\"; please specify \"c\", \"d\", or \"t\"" msgstr "formato de archivo «%s» no reconocido; por favor especifique «c», «d» o «t»" -#: pg_restore.c:419 +#: pg_restore.c:438 #, c-format msgid "errors ignored on restore: %d" msgstr "errores ignorados durante la recuperación: %d" -#: pg_restore.c:432 +#: pg_restore.c:451 #, c-format msgid "" "%s restores a PostgreSQL database from an archive created by pg_dump.\n" @@ -2588,49 +2786,49 @@ msgstr "" "creado por pg_dump.\n" "\n" -#: pg_restore.c:434 +#: pg_restore.c:453 #, c-format msgid " %s [OPTION]... [FILE]\n" msgstr " %s [OPCIÓN]... [ARCHIVO]\n" -#: pg_restore.c:437 +#: pg_restore.c:456 #, c-format msgid " -d, --dbname=NAME connect to database name\n" msgstr " -d, --dbname=NOMBRE nombre de la base de datos a la que conectarse\n" -#: pg_restore.c:438 +#: pg_restore.c:457 #, c-format msgid " -f, --file=FILENAME output file name (- for stdout)\n" msgstr " -f, --file=ARCHIVO nombre del archivo de salida (- para stdout)\n" -#: pg_restore.c:439 +#: pg_restore.c:458 #, c-format msgid " -F, --format=c|d|t backup file format (should be automatic)\n" msgstr " -F, --format=c|d|t formato del volcado (debería ser automático)\n" -#: pg_restore.c:440 +#: pg_restore.c:459 #, c-format msgid " -l, --list print summarized TOC of the archive\n" msgstr "" " -l, --list imprime una tabla resumida de contenidos\n" " del archivador\n" -#: pg_restore.c:441 +#: pg_restore.c:460 #, c-format msgid " -v, --verbose verbose mode\n" msgstr " -v, --verbose modo verboso\n" -#: pg_restore.c:442 +#: pg_restore.c:461 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version mostrar información de versión y salir\n" -#: pg_restore.c:443 +#: pg_restore.c:462 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help mostrar esta ayuda y salir\n" -#: pg_restore.c:445 +#: pg_restore.c:464 #, c-format msgid "" "\n" @@ -2639,34 +2837,34 @@ msgstr "" "\n" "Opciones que controlan la recuperación:\n" -#: pg_restore.c:446 +#: pg_restore.c:465 #, c-format msgid " -a, --data-only restore only the data, no schema\n" msgstr " -a, --data-only reestablece sólo los datos, no el esquema\n" -#: pg_restore.c:448 +#: pg_restore.c:467 #, c-format msgid " -C, --create create the target database\n" msgstr " -C, --create crea la base de datos de destino\n" -#: pg_restore.c:449 +#: pg_restore.c:468 #, c-format msgid " -e, --exit-on-error exit on error, default is to continue\n" msgstr "" " -e, --exit-on-error abandonar al encontrar un error\n" " por omisión, se continúa la restauración\n" -#: pg_restore.c:450 +#: pg_restore.c:469 #, c-format msgid " -I, --index=NAME restore named index\n" msgstr " -I, --index=NOMBRE reestablece el índice nombrado\n" -#: pg_restore.c:451 +#: pg_restore.c:470 #, c-format msgid " -j, --jobs=NUM use this many parallel jobs to restore\n" msgstr " -j, --jobs=NUM máximo de procesos paralelos para restaurar\n" -#: pg_restore.c:452 +#: pg_restore.c:471 #, c-format msgid "" " -L, --use-list=FILENAME use table of contents from this file for\n" @@ -2675,64 +2873,73 @@ msgstr "" " -L, --use-list=ARCHIVO usa la tabla de contenido especificada para ordenar\n" " la salida de este archivo\n" -#: pg_restore.c:454 +#: pg_restore.c:473 #, c-format msgid " -n, --schema=NAME restore only objects in this schema\n" msgstr " -n, --schema=NAME reestablece sólo los objetos en este esquema\n" -#: pg_restore.c:455 +#: pg_restore.c:474 #, c-format msgid " -N, --exclude-schema=NAME do not restore objects in this schema\n" msgstr " -N, --exclude-schema=NAME no reestablecer los objetos en este esquema\n" -#: pg_restore.c:457 +#: pg_restore.c:476 #, c-format msgid " -P, --function=NAME(args) restore named function\n" msgstr " -P, --function=NOMBRE(args) reestablece la función nombrada\n" -#: pg_restore.c:458 +#: pg_restore.c:477 #, c-format msgid " -s, --schema-only restore only the schema, no data\n" msgstr " -s, --schema-only reestablece el esquema únicamente, no los datos\n" -#: pg_restore.c:459 +#: pg_restore.c:478 #, c-format msgid " -S, --superuser=NAME superuser user name to use for disabling triggers\n" msgstr "" " -S, --superuser=NOMBRE especifica el nombre del superusuario que se usa\n" " para deshabilitar los disparadores (triggers)\n" -#: pg_restore.c:460 +#: pg_restore.c:479 #, c-format msgid " -t, --table=NAME restore named relation (table, view, etc.)\n" msgstr " -t, --table=NOMBRE reestablece la relación (tabla, vista, etc.) nombrada\n" -#: pg_restore.c:461 +#: pg_restore.c:480 #, c-format msgid " -T, --trigger=NAME restore named trigger\n" msgstr " -T, --trigger=NOMBRE reestablece el disparador (trigger) nombrado\n" -#: pg_restore.c:462 +#: pg_restore.c:481 #, c-format msgid " -x, --no-privileges skip restoration of access privileges (grant/revoke)\n" msgstr " -x, --no-privileges no reestablece los privilegios (grant/revoke)\n" -#: pg_restore.c:463 +#: pg_restore.c:482 #, c-format msgid " -1, --single-transaction restore as a single transaction\n" msgstr " -1, --single-transaction reestablece en una única transacción\n" -#: pg_restore.c:465 +#: pg_restore.c:484 #, c-format msgid " --enable-row-security enable row security\n" msgstr " --enable-row-security activa seguridad de filas\n" -#: pg_restore.c:467 +#: pg_restore.c:485 +#, c-format +msgid "" +" --filter=FILENAME restore or skip objects based on expressions\n" +" in FILENAME\n" +msgstr "" +" --filter=ARCHIVO restaurar o ignorar objetos basados en\n" +" expresiones en ARCHIVO\n" + +#: pg_restore.c:488 #, c-format msgid " --no-comments do not restore comments\n" msgstr " --no-comments no restaurar comentarios\n" -#: pg_restore.c:468 +#: pg_restore.c:489 #, c-format msgid "" " --no-data-for-failed-tables do not restore data of tables that could not be\n" @@ -2741,44 +2948,49 @@ msgstr "" " --no-data-for-failed-tables no reestablece datos de tablas que no pudieron\n" " ser creadas\n" -#: pg_restore.c:470 +#: pg_restore.c:491 #, c-format msgid " --no-publications do not restore publications\n" msgstr " --no-publications no restaurar publicaciones\n" -#: pg_restore.c:471 +#: pg_restore.c:492 #, c-format msgid " --no-security-labels do not restore security labels\n" msgstr " --no-security-labels no restaura etiquetas de seguridad\n" -#: pg_restore.c:472 +#: pg_restore.c:493 #, c-format msgid " --no-subscriptions do not restore subscriptions\n" msgstr " --no-subscriptions no restaurar suscripciones\n" -#: pg_restore.c:473 +#: pg_restore.c:494 #, c-format msgid " --no-table-access-method do not restore table access methods\n" msgstr " --no-table-access-method no restaura métodos de acceso de tablas\n" -#: pg_restore.c:474 +#: pg_restore.c:495 #, c-format msgid " --no-tablespaces do not restore tablespace assignments\n" msgstr " --no-tablespaces no restaura asignaciones de tablespace\n" -#: pg_restore.c:475 +#: pg_restore.c:496 #, c-format msgid " --section=SECTION restore named section (pre-data, data, or post-data)\n" msgstr "" " --section=SECCIÓN reestablece la sección nombrada (pre-data, data\n" " post-data)\n" -#: pg_restore.c:488 +#: pg_restore.c:499 +#, c-format +msgid " --transaction-size=N commit after every N objects\n" +msgstr " --transaction-size=N comprometer transacción cada N objetos\n" + +#: pg_restore.c:510 #, c-format msgid " --role=ROLENAME do SET ROLE before restore\n" msgstr " --role=ROLENAME hace SET ROLE antes de restaurar\n" -#: pg_restore.c:490 +#: pg_restore.c:512 #, c-format msgid "" "\n" @@ -2789,7 +3001,7 @@ msgstr "" "Las opciones -I, -n, -N, -P, -t, -T, y --section pueden ser combinadas y especificadas\n" "varias veces para seleccionar varios objetos.\n" -#: pg_restore.c:493 +#: pg_restore.c:515 #, c-format msgid "" "\n" diff --git a/src/bin/pg_dump/po/fr.po b/src/bin/pg_dump/po/fr.po index 808499207e6..7e965dff103 100644 --- a/src/bin/pg_dump/po/fr.po +++ b/src/bin/pg_dump/po/fr.po @@ -10,10 +10,10 @@ # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 15\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-09-05 17:21+0000\n" -"PO-Revision-Date: 2023-09-05 22:02+0200\n" +"POT-Creation-Date: 2024-08-29 17:52+0000\n" +"PO-Revision-Date: 2024-09-16 16:28+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -21,7 +21,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.3.2\n" +"X-Generator: Poedit 3.5\n" #: ../../../src/common/logging.c:276 #, c-format @@ -95,32 +95,47 @@ msgstr "l'algorithme de compression « %s » n'accepte pas un nombre de workers" msgid "compression algorithm \"%s\" does not support long-distance mode" msgstr "l'algorithme de compression « %s » n'accepte pas un mode distance longue" -#: ../../common/exec.c:172 +#: ../../common/exec.c:174 #, c-format msgid "invalid binary \"%s\": %m" msgstr "binaire « %s » invalide : %m" -#: ../../common/exec.c:215 +#: ../../common/exec.c:217 #, c-format msgid "could not read binary \"%s\": %m" msgstr "n'a pas pu lire le binaire « %s » : %m" -#: ../../common/exec.c:223 +#: ../../common/exec.c:225 #, c-format msgid "could not find a \"%s\" to execute" msgstr "n'a pas pu trouver un « %s » à exécuter" -#: ../../common/exec.c:250 +#: ../../common/exec.c:252 #, c-format msgid "could not resolve path \"%s\" to absolute form: %m" msgstr "n'a pas pu résoudre le chemin « %s » en sa forme absolue : %m" -#: ../../common/exec.c:412 parallel.c:1609 +#: ../../common/exec.c:382 +#, c-format +msgid "could not execute command \"%s\": %m" +msgstr "n'a pas pu exécuter la commande « %s » : %m" + +#: ../../common/exec.c:394 +#, c-format +msgid "could not read from command \"%s\": %m" +msgstr "n'a pas pu lire à partir de la commande « %s » : %m" + +#: ../../common/exec.c:397 +#, c-format +msgid "no data was returned by command \"%s\"" +msgstr "aucune donnée n'a été renvoyée par la commande « %s »" + +#: ../../common/exec.c:424 parallel.c:1609 #, c-format msgid "%s() failed: %m" msgstr "échec de %s() : %m" -#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687 +#: ../../common/exec.c:562 ../../common/exec.c:607 ../../common/exec.c:699 msgid "out of memory" msgstr "mémoire épuisée" @@ -135,6 +150,49 @@ msgstr "mémoire épuisée\n" msgid "cannot duplicate null pointer (internal error)\n" msgstr "ne peut pas dupliquer un pointeur nul (erreur interne)\n" +#: ../../common/file_utils.c:70 ../../common/file_utils.c:347 +#: ../../common/file_utils.c:406 ../../common/file_utils.c:480 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "n'a pas pu ouvrir le fichier « %s » : %m" + +#: ../../common/file_utils.c:76 +#, c-format +msgid "could not synchronize file system for file \"%s\": %m" +msgstr "n'a pas pu synchroniser sur disque (fsync) le système de fichiers pour le fichier « %s » : %m" + +#: ../../common/file_utils.c:120 ../../common/file_utils.c:566 +#, c-format +msgid "could not stat file \"%s\": %m" +msgstr "n'a pas pu tester le fichier « %s » : %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 "cette construction ne supporte pas la méthode de synchronisation « %s »" + +#: ../../common/file_utils.c:151 ../../common/file_utils.c:281 +#, c-format +msgid "could not open directory \"%s\": %m" +msgstr "n'a pas pu ouvrir le répertoire « %s » : %m" + +#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 +#: pg_backup_directory.c:182 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "n'a pas pu lire le répertoire « %s » : %m" + +#: ../../common/file_utils.c:418 ../../common/file_utils.c:488 +#, c-format +msgid "could not fsync file \"%s\": %m" +msgstr "n'a pas pu synchroniser sur disque (fsync) le fichier « %s » : %m" + +#: ../../common/file_utils.c:498 +#, c-format +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "n'a pas pu renommer le fichier « %s » en « %s » : %m" + #: ../../common/wait_error.c:55 #, c-format msgid "command not executable" @@ -175,227 +233,247 @@ msgstr "valeur « %s » invalide pour l'option %s" msgid "%s must be in range %d..%d" msgstr "%s doit être compris entre %d et %d" -#: common.c:132 +#: ../../fe_utils/option_utils.c:106 +#, c-format +msgid "unrecognized sync method: %s" +msgstr "méthode de synchronisation non reconnu : %s" + +#: ../../fe_utils/string_utils.c:434 +#, c-format +msgid "shell command argument contains a newline or carriage return: \"%s\"\n" +msgstr "l'argument de la commande shell contient un retour à la ligne ou un retour chariot : « %s »\n" + +#: ../../fe_utils/string_utils.c:607 +#, c-format +msgid "database name contains a newline or carriage return: \"%s\"\n" +msgstr "le nom de la base contient un retour à la ligne ou un retour chariot : « %s »\n" + +#: common.c:135 #, c-format msgid "reading extensions" msgstr "lecture des extensions" -#: common.c:135 +#: common.c:138 #, c-format msgid "identifying extension members" msgstr "identification des membres d'extension" -#: common.c:138 +#: common.c:141 #, c-format msgid "reading schemas" msgstr "lecture des schémas" -#: common.c:147 +#: common.c:150 #, c-format msgid "reading user-defined tables" msgstr "lecture des tables utilisateur" -#: common.c:152 +#: common.c:155 #, c-format msgid "reading user-defined functions" msgstr "lecture des fonctions utilisateur" -#: common.c:156 +#: common.c:159 #, c-format msgid "reading user-defined types" msgstr "lecture des types utilisateur" -#: common.c:160 +#: common.c:163 #, c-format msgid "reading procedural languages" msgstr "lecture des langages procéduraux" -#: common.c:163 +#: common.c:166 #, c-format msgid "reading user-defined aggregate functions" msgstr "lecture des fonctions d'agrégats utilisateur" -#: common.c:166 +#: common.c:169 #, c-format msgid "reading user-defined operators" msgstr "lecture des opérateurs utilisateur" -#: common.c:169 +#: common.c:172 #, c-format msgid "reading user-defined access methods" msgstr "lecture des méthodes d'accès définis par les utilisateurs" -#: common.c:172 +#: common.c:175 #, c-format msgid "reading user-defined operator classes" msgstr "lecture des classes d'opérateurs utilisateur" -#: common.c:175 +#: common.c:178 #, c-format msgid "reading user-defined operator families" msgstr "lecture des familles d'opérateurs utilisateur" -#: common.c:178 +#: common.c:181 #, c-format msgid "reading user-defined text search parsers" msgstr "lecture des analyseurs utilisateur pour la recherche plein texte" -#: common.c:181 +#: common.c:184 #, c-format msgid "reading user-defined text search templates" msgstr "lecture des modèles utilisateur pour la recherche plein texte" -#: common.c:184 +#: common.c:187 #, c-format msgid "reading user-defined text search dictionaries" msgstr "lecture des dictionnaires utilisateur pour la recherche plein texte" -#: common.c:187 +#: common.c:190 #, c-format msgid "reading user-defined text search configurations" msgstr "lecture des configurations utilisateur pour la recherche plein texte" -#: common.c:190 +#: common.c:193 #, c-format msgid "reading user-defined foreign-data wrappers" msgstr "lecture des wrappers de données distantes utilisateur" -#: common.c:193 +#: common.c:196 #, c-format msgid "reading user-defined foreign servers" msgstr "lecture des serveurs distants utilisateur" -#: common.c:196 +#: common.c:199 #, c-format msgid "reading default privileges" msgstr "lecture des droits par défaut" -#: common.c:199 +#: common.c:202 #, c-format msgid "reading user-defined collations" msgstr "lecture des collationnements utilisateurs" -#: common.c:202 +#: common.c:205 #, c-format msgid "reading user-defined conversions" msgstr "lecture des conversions utilisateur" -#: common.c:205 +#: common.c:208 #, c-format msgid "reading type casts" msgstr "lecture des conversions de type" -#: common.c:208 +#: common.c:211 #, c-format msgid "reading transforms" msgstr "lecture des transformations" -#: common.c:211 +#: common.c:214 #, c-format msgid "reading table inheritance information" msgstr "lecture des informations d'héritage des tables" -#: common.c:214 +#: common.c:217 #, c-format msgid "reading event triggers" msgstr "lecture des triggers sur évènement" -#: common.c:218 +#: common.c:221 #, c-format msgid "finding extension tables" msgstr "recherche des tables d'extension" -#: common.c:222 +#: common.c:225 #, c-format msgid "finding inheritance relationships" msgstr "recherche des relations d'héritage" -#: common.c:225 +#: common.c:228 #, c-format msgid "reading column info for interesting tables" msgstr "lecture des informations de colonnes des tables intéressantes" -#: common.c:228 +#: common.c:231 #, c-format msgid "flagging inherited columns in subtables" msgstr "marquage des colonnes héritées dans les sous-tables" -#: common.c:231 +#: common.c:234 #, c-format msgid "reading partitioning data" msgstr "lecture des données de partitionnement" -#: common.c:234 +#: common.c:237 #, c-format msgid "reading indexes" msgstr "lecture des index" -#: common.c:237 +#: common.c:240 #, c-format msgid "flagging indexes in partitioned tables" msgstr "décrit les index des tables partitionnées" -#: common.c:240 +#: common.c:243 #, c-format msgid "reading extended statistics" msgstr "lecture des statistiques étendues" -#: common.c:243 +#: common.c:246 #, c-format msgid "reading constraints" msgstr "lecture des contraintes" -#: common.c:246 +#: common.c:249 #, c-format msgid "reading triggers" msgstr "lecture des triggers" -#: common.c:249 +#: common.c:252 #, c-format msgid "reading rewrite rules" msgstr "lecture des règles de réécriture" -#: common.c:252 +#: common.c:255 #, c-format msgid "reading policies" msgstr "lecture des politiques" -#: common.c:255 +#: common.c:258 #, c-format msgid "reading publications" msgstr "lecture des publications" -#: common.c:258 +#: common.c:261 #, c-format msgid "reading publication membership of tables" msgstr "lecture des appartenances aux publications des tables" -#: common.c:261 +#: common.c:264 #, c-format msgid "reading publication membership of schemas" msgstr "lecture des appartenances aux publications des schémas" -#: common.c:264 +#: common.c:267 #, c-format msgid "reading subscriptions" msgstr "lecture des souscriptions" -#: common.c:327 +#: common.c:270 +#, c-format +msgid "reading subscription membership of tables" +msgstr "lecture des appartenances aux souscriptions des tables" + +#: common.c:333 #, c-format msgid "failed sanity check, parent OID %u of table \"%s\" (OID %u) not found" msgstr "vérification échouée, OID %u parent de la table « %s » (OID %u) introuvable" -#: common.c:369 +#: common.c:375 #, c-format msgid "invalid number of parents %d for table \"%s\"" msgstr "nombre de parents invalide (%d) pour la table « %s »" -#: common.c:1049 +#: common.c:1098 #, c-format msgid "could not parse numeric array \"%s\": too many numbers" msgstr "n'a pas pu analyser le tableau numérique « %s » : trop de nombres" -#: common.c:1061 +#: common.c:1110 #, c-format msgid "could not parse numeric array \"%s\": invalid character in number" msgstr "n'a pas pu analyser le tableau numérique « %s » : caractère invalide dans le nombre" @@ -425,15 +503,20 @@ msgstr "n'a pas pu décompresser les données : %s" msgid "could not close compression library: %s" msgstr "n'a pas pu fermer la bibliothèque de compression : %s" -#: compress_gzip.c:266 compress_gzip.c:295 compress_lz4.c:608 -#: compress_lz4.c:628 compress_lz4.c:647 compress_none.c:97 compress_none.c:140 +#: compress_gzip.c:266 compress_lz4.c:608 compress_lz4.c:628 compress_lz4.c:647 #, c-format msgid "could not read from input file: %s" msgstr "n'a pas pu lire à partir du fichier en entrée : %s" -#: compress_gzip.c:297 compress_lz4.c:630 compress_none.c:142 -#: compress_zstd.c:371 pg_backup_custom.c:653 pg_backup_directory.c:558 -#: pg_backup_tar.c:725 pg_backup_tar.c:748 +#: compress_gzip.c:295 compress_none.c:97 compress_none.c:139 +#: compress_zstd.c:373 pg_backup_custom.c:651 +#, c-format +msgid "could not read from input file: %m" +msgstr "n'a pas pu lire à partir du fichier en entrée : %m" + +#: compress_gzip.c:297 compress_lz4.c:630 compress_none.c:141 +#: compress_zstd.c:371 pg_backup_custom.c:649 pg_backup_directory.c:565 +#: pg_backup_tar.c:740 pg_backup_tar.c:763 #, c-format msgid "could not read from input file: end of file" msgstr "n'a pas pu lire à partir du fichier en entrée : fin du fichier" @@ -484,16 +567,61 @@ msgstr "n'a pas pu initialiser la bibliothèque de compression" msgid "could not decompress data: %s" msgstr "n'a pas pu décompresser les données : %s" -#: compress_zstd.c:373 pg_backup_custom.c:655 -#, c-format -msgid "could not read from input file: %m" -msgstr "n'a pas pu lire à partir du fichier en entrée : %m" - #: compress_zstd.c:501 #, c-format msgid "unhandled mode \"%s\"" msgstr "mode « %s » non géré" +#: filter.c:49 +#, c-format +msgid "could not open filter file \"%s\": %m" +msgstr "n'a pas pu ouvrir le fichier filtre « %s » : %m" + +#: filter.c:72 +#, c-format +msgid "could not close filter file \"%s\": %m" +msgstr "n'a pas pu fermer le fichier filtre « %s » : %m" + +#: filter.c:165 +#, c-format +msgid "invalid format in filter read from standard input on line %d: %s" +msgstr "format invalide dans la lecture du filtre à partir de l'entrée standard sur la ligne %d : %s" + +#: filter.c:168 +#, c-format +msgid "invalid format in filter read from file \"%s\" on line %d: %s" +msgstr "format invalide dans le filtre lu du fichier « %s » sur la ligne %d : %s" + +#: filter.c:241 filter.c:468 +#, c-format +msgid "could not read from filter file \"%s\": %m" +msgstr "n'a pas pu lire à partir du fichier filtre « %s » : %m" + +#: filter.c:244 +msgid "unexpected end of file" +msgstr "fin de fichier inattendu" + +#: filter.c:311 +msgid "missing object name pattern" +msgstr "motif de nom d'objet manquant" + +#: filter.c:422 +msgid "no filter command found (expected \"include\" or \"exclude\")" +msgstr "aucune commande de filtre (attendait « include » ou « exclude »)" + +#: filter.c:433 +msgid "invalid filter command (expected \"include\" or \"exclude\")" +msgstr "commande de filtre invalide (attendait « include » ou « exclude »)" + +#: filter.c:440 +msgid "missing filter object type" +msgstr "type d'objet filtre manquant" + +#: filter.c:447 +#, c-format +msgid "unsupported filter object type: \"%.*s\"" +msgstr "type d'objet filtre non supporté : « %.*s »" + #: parallel.c:251 #, c-format msgid "%s() failed: error code %d" @@ -573,461 +701,466 @@ msgstr "pgpipe: n'a pas pu se connecter au socket: code d'erreur %d" msgid "pgpipe: could not accept connection: error code %d" msgstr "pgpipe: n'a pas pu accepter de connexion: code d'erreur %d" -#: pg_backup_archiver.c:276 pg_backup_archiver.c:1603 +#: pg_backup_archiver.c:261 pg_backup_archiver.c:1706 #, c-format msgid "could not close output file: %m" msgstr "n'a pas pu fermer le fichier en sortie : %m" -#: pg_backup_archiver.c:320 pg_backup_archiver.c:324 +#: pg_backup_archiver.c:305 pg_backup_archiver.c:309 #, c-format msgid "archive items not in correct section order" msgstr "les éléments de l'archive ne sont pas dans l'ordre correct de la section" -#: pg_backup_archiver.c:330 +#: pg_backup_archiver.c:315 #, c-format msgid "unexpected section code %d" msgstr "code de section inattendu %d" -#: pg_backup_archiver.c:367 +#: pg_backup_archiver.c:352 #, c-format msgid "parallel restore is not supported with this archive file format" msgstr "la restauration parallélisée n'est pas supportée avec ce format de fichier d'archive" -#: pg_backup_archiver.c:371 +#: pg_backup_archiver.c:356 #, c-format msgid "parallel restore is not supported with archives made by pre-8.0 pg_dump" msgstr "la restauration parallélisée n'est pas supportée avec les archives réalisées par un pg_dump antérieur à la 8.0" -#: pg_backup_archiver.c:392 +#: pg_backup_archiver.c:377 #, c-format msgid "cannot restore from compressed archive (%s)" msgstr "ne peut pas restaurer l'archive compressée (%s)" -#: pg_backup_archiver.c:412 +#: pg_backup_archiver.c:397 #, c-format msgid "connecting to database for restore" msgstr "connexion à la base de données pour la restauration" -#: pg_backup_archiver.c:414 +#: pg_backup_archiver.c:399 #, c-format msgid "direct database connections are not supported in pre-1.3 archives" msgstr "les connexions directes à la base de données ne sont pas supportées dans les archives pre-1.3" -#: pg_backup_archiver.c:457 +#: pg_backup_archiver.c:442 #, c-format msgid "implied data-only restore" msgstr "a impliqué une restauration des données uniquement" -#: pg_backup_archiver.c:523 +#: pg_backup_archiver.c:510 #, c-format msgid "dropping %s %s" msgstr "suppression de %s %s" -#: pg_backup_archiver.c:623 +#: pg_backup_archiver.c:642 #, c-format msgid "could not find where to insert IF EXISTS in statement \"%s\"" msgstr "n'a pas pu trouver où insérer IF EXISTS dans l'instruction « %s »" -#: pg_backup_archiver.c:778 pg_backup_archiver.c:780 +#: pg_backup_archiver.c:828 pg_backup_archiver.c:830 #, c-format msgid "warning from original dump file: %s" msgstr "message d'avertissement du fichier de sauvegarde original : %s" -#: pg_backup_archiver.c:795 +#: pg_backup_archiver.c:864 #, c-format msgid "creating %s \"%s.%s\"" msgstr "création de %s « %s.%s »" -#: pg_backup_archiver.c:798 +#: pg_backup_archiver.c:867 #, c-format msgid "creating %s \"%s\"" msgstr "création de %s « %s »" -#: pg_backup_archiver.c:848 +#: pg_backup_archiver.c:917 #, c-format msgid "connecting to new database \"%s\"" msgstr "connexion à la nouvelle base de données « %s »" -#: pg_backup_archiver.c:875 +#: pg_backup_archiver.c:944 #, c-format msgid "processing %s" msgstr "traitement de %s" -#: pg_backup_archiver.c:897 +#: pg_backup_archiver.c:966 #, c-format msgid "processing data for table \"%s.%s\"" msgstr "traitement des données de la table « %s.%s »" -#: pg_backup_archiver.c:967 +#: pg_backup_archiver.c:1036 #, c-format msgid "executing %s %s" msgstr "exécution de %s %s" -#: pg_backup_archiver.c:1008 +#: pg_backup_archiver.c:1096 #, c-format msgid "disabling triggers for %s" msgstr "désactivation des triggers pour %s" -#: pg_backup_archiver.c:1034 +#: pg_backup_archiver.c:1122 #, c-format msgid "enabling triggers for %s" msgstr "activation des triggers pour %s" -#: pg_backup_archiver.c:1099 +#: pg_backup_archiver.c:1187 #, c-format msgid "internal error -- WriteData cannot be called outside the context of a DataDumper routine" msgstr "erreur interne -- WriteData ne peut pas être appelé en dehors du contexte de la routine DataDumper" -#: pg_backup_archiver.c:1287 +#: pg_backup_archiver.c:1379 #, c-format msgid "large-object output not supported in chosen format" msgstr "la sauvegarde des « Large Objects » n'est pas supportée dans le format choisi" -#: pg_backup_archiver.c:1345 +#: pg_backup_archiver.c:1442 #, c-format msgid "restored %d large object" msgid_plural "restored %d large objects" msgstr[0] "restauration de %d « Large Object »" msgstr[1] "restauration de %d « Large Objects »" -#: pg_backup_archiver.c:1366 pg_backup_tar.c:668 +#: pg_backup_archiver.c:1469 pg_backup_tar.c:683 #, c-format msgid "restoring large object with OID %u" msgstr "restauration du « Large Object » d'OID %u" -#: pg_backup_archiver.c:1378 +#: pg_backup_archiver.c:1481 #, c-format msgid "could not create large object %u: %s" msgstr "n'a pas pu créer le « Large Object » %u : %s" -#: pg_backup_archiver.c:1383 pg_dump.c:3718 +#: pg_backup_archiver.c:1486 pg_dump.c:3888 #, c-format msgid "could not open large object %u: %s" msgstr "n'a pas pu ouvrir le « Large Object » %u : %s" -#: pg_backup_archiver.c:1439 +#: pg_backup_archiver.c:1542 #, c-format msgid "could not open TOC file \"%s\": %m" msgstr "n'a pas pu ouvrir le fichier TOC « %s » : %m" -#: pg_backup_archiver.c:1467 +#: pg_backup_archiver.c:1570 #, c-format msgid "line ignored: %s" msgstr "ligne ignorée : %s" -#: pg_backup_archiver.c:1474 +#: pg_backup_archiver.c:1577 pg_backup_db.c:609 #, c-format msgid "could not find entry for ID %d" msgstr "n'a pas pu trouver l'entrée pour l'ID %d" -#: pg_backup_archiver.c:1497 pg_backup_directory.c:221 -#: pg_backup_directory.c:606 +#: pg_backup_archiver.c:1600 pg_backup_directory.c:219 +#: pg_backup_directory.c:613 #, c-format msgid "could not close TOC file: %m" msgstr "n'a pas pu fermer le fichier TOC : %m" -#: pg_backup_archiver.c:1584 pg_backup_custom.c:156 pg_backup_directory.c:332 -#: pg_backup_directory.c:593 pg_backup_directory.c:658 -#: pg_backup_directory.c:676 pg_dumpall.c:501 +#: 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 #, c-format msgid "could not open output file \"%s\": %m" msgstr "n'a pas pu ouvrir le fichier de sauvegarde « %s » : %m" -#: pg_backup_archiver.c:1586 pg_backup_custom.c:162 +#: pg_backup_archiver.c:1689 pg_backup_custom.c:158 #, c-format msgid "could not open output file: %m" msgstr "n'a pas pu ouvrir le fichier de sauvegarde : %m" -#: pg_backup_archiver.c:1669 +#: pg_backup_archiver.c:1772 #, c-format msgid "wrote %zu byte of large object data (result = %d)" msgid_plural "wrote %zu bytes of large object data (result = %d)" msgstr[0] "a écrit %zu octet de données d'un « Large Object » (résultat = %d)" msgstr[1] "a écrit %zu octets de données d'un « Large Object » (résultat = %d)" -#: pg_backup_archiver.c:1675 +#: pg_backup_archiver.c:1778 #, c-format msgid "could not write to large object: %s" msgstr "n'a pas pu écrire dans le « Large Object » : %s" -#: pg_backup_archiver.c:1765 +#: pg_backup_archiver.c:1868 #, c-format msgid "while INITIALIZING:" msgstr "pendant l'initialisation (« INITIALIZING ») :" -#: pg_backup_archiver.c:1770 +#: pg_backup_archiver.c:1873 #, c-format msgid "while PROCESSING TOC:" msgstr "pendant le traitement de la TOC (« PROCESSING TOC ») :" -#: pg_backup_archiver.c:1775 +#: pg_backup_archiver.c:1878 #, c-format msgid "while FINALIZING:" msgstr "pendant la finalisation (« FINALIZING ») :" -#: pg_backup_archiver.c:1780 +#: pg_backup_archiver.c:1883 #, c-format msgid "from TOC entry %d; %u %u %s %s %s" msgstr "de l'entrée TOC %d ; %u %u %s %s %s" -#: pg_backup_archiver.c:1856 +#: pg_backup_archiver.c:1959 #, c-format msgid "bad dumpId" msgstr "mauvais dumpId" -#: pg_backup_archiver.c:1877 +#: pg_backup_archiver.c:1980 #, c-format msgid "bad table dumpId for TABLE DATA item" msgstr "mauvais dumpId de table pour l'élément TABLE DATA" -#: pg_backup_archiver.c:1969 +#: pg_backup_archiver.c:2072 #, c-format msgid "unexpected data offset flag %d" msgstr "drapeau de décalage de données inattendu %d" -#: pg_backup_archiver.c:1982 +#: pg_backup_archiver.c:2085 #, c-format msgid "file offset in dump file is too large" msgstr "le décalage dans le fichier de sauvegarde est trop important" -#: pg_backup_archiver.c:2093 +#: pg_backup_archiver.c:2196 #, c-format msgid "directory name too long: \"%s\"" msgstr "nom du répertoire trop long : « %s »" -#: pg_backup_archiver.c:2143 +#: pg_backup_archiver.c:2246 #, c-format msgid "directory \"%s\" does not appear to be a valid archive (\"toc.dat\" does not exist)" msgstr "le répertoire « %s » ne semble pas être une archive valide (« toc.dat » n'existe pas)" -#: pg_backup_archiver.c:2151 pg_backup_custom.c:173 pg_backup_custom.c:816 -#: pg_backup_directory.c:206 pg_backup_directory.c:395 +#: 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 #, c-format msgid "could not open input file \"%s\": %m" msgstr "n'a pas pu ouvrir le fichier en entrée « %s » : %m" -#: pg_backup_archiver.c:2158 pg_backup_custom.c:179 +#: pg_backup_archiver.c:2261 pg_backup_custom.c:175 #, c-format msgid "could not open input file: %m" msgstr "n'a pas pu ouvrir le fichier en entrée : %m" -#: pg_backup_archiver.c:2164 +#: pg_backup_archiver.c:2267 #, c-format msgid "could not read input file: %m" msgstr "n'a pas pu lire le fichier en entrée : %m" -#: pg_backup_archiver.c:2166 +#: pg_backup_archiver.c:2269 #, c-format msgid "input file is too short (read %lu, expected 5)" msgstr "le fichier en entrée est trop petit (%lu lus, 5 attendus)" -#: pg_backup_archiver.c:2198 +#: pg_backup_archiver.c:2301 #, c-format msgid "input file appears to be a text format dump. Please use psql." msgstr "Le fichier en entrée semble être une sauvegarde au format texte. Merci d'utiliser psql." -#: pg_backup_archiver.c:2204 +#: pg_backup_archiver.c:2307 #, c-format msgid "input file does not appear to be a valid archive (too short?)" msgstr "le fichier en entrée ne semble pas être une archive valide (trop petit ?)" -#: pg_backup_archiver.c:2210 +#: pg_backup_archiver.c:2313 #, c-format msgid "input file does not appear to be a valid archive" msgstr "le fichier en entrée ne semble pas être une archive valide" -#: pg_backup_archiver.c:2219 +#: pg_backup_archiver.c:2322 #, c-format msgid "could not close input file: %m" msgstr "n'a pas pu fermer le fichier en entrée : %m" -#: pg_backup_archiver.c:2297 +#: pg_backup_archiver.c:2401 #, c-format msgid "could not open stdout for appending: %m" msgstr "n'a pas pu ouvrir stdout pour l'ajout : %m" -#: pg_backup_archiver.c:2342 +#: pg_backup_archiver.c:2446 #, c-format msgid "unrecognized file format \"%d\"" msgstr "format de fichier « %d » non reconnu" -#: pg_backup_archiver.c:2423 pg_backup_archiver.c:4448 +#: pg_backup_archiver.c:2527 pg_backup_archiver.c:4647 #, c-format msgid "finished item %d %s %s" msgstr "élément terminé %d %s %s" -#: pg_backup_archiver.c:2427 pg_backup_archiver.c:4461 +#: pg_backup_archiver.c:2531 pg_backup_archiver.c:4660 #, c-format msgid "worker process failed: exit code %d" msgstr "échec du processus worker : code de sortie %d" -#: pg_backup_archiver.c:2548 +#: pg_backup_archiver.c:2653 #, c-format msgid "entry ID %d out of range -- perhaps a corrupt TOC" msgstr "ID %d de l'entrée en dehors de la plage -- peut-être un TOC corrompu" -#: pg_backup_archiver.c:2628 +#: pg_backup_archiver.c:2736 #, c-format msgid "restoring tables WITH OIDS is not supported anymore" msgstr "la restauration des tables avec WITH OIDS n'est plus supportée" -#: pg_backup_archiver.c:2710 +#: pg_backup_archiver.c:2818 #, c-format msgid "unrecognized encoding \"%s\"" msgstr "encodage « %s » non reconnu" -#: pg_backup_archiver.c:2715 +#: pg_backup_archiver.c:2823 #, c-format msgid "invalid ENCODING item: %s" msgstr "élément ENCODING invalide : %s" -#: pg_backup_archiver.c:2733 +#: pg_backup_archiver.c:2841 #, c-format msgid "invalid STDSTRINGS item: %s" msgstr "élément STDSTRINGS invalide : %s" -#: pg_backup_archiver.c:2758 +#: pg_backup_archiver.c:2866 #, c-format msgid "schema \"%s\" not found" msgstr "schéma « %s » non trouvé" -#: pg_backup_archiver.c:2765 +#: pg_backup_archiver.c:2873 #, c-format msgid "table \"%s\" not found" msgstr "table « %s » non trouvée" -#: pg_backup_archiver.c:2772 +#: pg_backup_archiver.c:2880 #, c-format msgid "index \"%s\" not found" msgstr "index « %s » non trouvé" -#: pg_backup_archiver.c:2779 +#: pg_backup_archiver.c:2887 #, c-format msgid "function \"%s\" not found" msgstr "fonction « %s » non trouvée" -#: pg_backup_archiver.c:2786 +#: pg_backup_archiver.c:2894 #, c-format msgid "trigger \"%s\" not found" msgstr "trigger « %s » non trouvé" -#: pg_backup_archiver.c:3183 +#: pg_backup_archiver.c:3325 #, c-format msgid "could not set session user to \"%s\": %s" msgstr "n'a pas pu initialiser la session utilisateur à « %s »: %s" -#: pg_backup_archiver.c:3315 +#: pg_backup_archiver.c:3457 #, c-format -msgid "could not set search_path to \"%s\": %s" -msgstr "n'a pas pu configurer search_path à « %s » : %s" +msgid "could not set \"search_path\" to \"%s\": %s" +msgstr "n'a pas pu configurer « search_path » à « %s » : %s" -#: pg_backup_archiver.c:3376 +#: pg_backup_archiver.c:3518 #, c-format -msgid "could not set default_tablespace to %s: %s" -msgstr "n'a pas pu configurer default_tablespace à %s : %s" +msgid "could not set \"default_tablespace\" to %s: %s" +msgstr "n'a pas pu configurer « default_tablespace » à %s : %s" -#: pg_backup_archiver.c:3425 +#: pg_backup_archiver.c:3567 #, c-format -msgid "could not set default_table_access_method: %s" -msgstr "n'a pas pu configurer la méthode default_table_access_method à %s" +msgid "could not set \"default_table_access_method\": %s" +msgstr "n'a pas pu configurer la méthode « default_table_access_method » : %s" -#: pg_backup_archiver.c:3530 +#: pg_backup_archiver.c:3616 +#, c-format +msgid "could not alter table access method: %s" +msgstr "n'a pas pu modifier la méthode d'accès aux tables : %s" + +#: pg_backup_archiver.c:3717 #, c-format msgid "don't know how to set owner for object type \"%s\"" msgstr "ne sait pas comment initialiser le propriétaire du type d'objet « %s »" -#: pg_backup_archiver.c:3752 +#: pg_backup_archiver.c:4004 #, c-format msgid "did not find magic string in file header" msgstr "n'a pas trouver la chaîne magique dans le fichier d'en-tête" -#: pg_backup_archiver.c:3766 +#: pg_backup_archiver.c:4018 #, c-format msgid "unsupported version (%d.%d) in file header" msgstr "version non supportée (%d.%d) dans le fichier d'en-tête" -#: pg_backup_archiver.c:3771 +#: pg_backup_archiver.c:4023 #, c-format msgid "sanity check on integer size (%lu) failed" msgstr "échec de la vérification sur la taille de l'entier (%lu)" -#: pg_backup_archiver.c:3775 +#: pg_backup_archiver.c:4027 #, c-format msgid "archive was made on a machine with larger integers, some operations might fail" msgstr "l'archive a été créée sur une machine disposant d'entiers plus larges, certaines opérations peuvent échouer" -#: pg_backup_archiver.c:3785 +#: pg_backup_archiver.c:4037 #, c-format msgid "expected format (%d) differs from format found in file (%d)" msgstr "le format attendu (%d) diffère du format du fichier (%d)" -#: pg_backup_archiver.c:3807 +#: pg_backup_archiver.c:4059 #, c-format msgid "archive is compressed, but this installation does not support compression (%s) -- no data will be available" msgstr "l'archive est compressée mais cette installation ne supporte pas la compression (%s) -- aucune donnée ne sera disponible" -#: pg_backup_archiver.c:3843 +#: pg_backup_archiver.c:4095 #, c-format msgid "invalid creation date in header" msgstr "date de création invalide dans l'en-tête" -#: pg_backup_archiver.c:3977 +#: pg_backup_archiver.c:4229 #, c-format msgid "processing item %d %s %s" msgstr "traitement de l'élément %d %s %s" -#: pg_backup_archiver.c:4052 +#: pg_backup_archiver.c:4314 #, c-format msgid "entering main parallel loop" msgstr "entrée dans la boucle parallèle principale" -#: pg_backup_archiver.c:4063 +#: pg_backup_archiver.c:4325 #, c-format msgid "skipping item %d %s %s" msgstr "omission de l'élément %d %s %s" -#: pg_backup_archiver.c:4072 +#: pg_backup_archiver.c:4334 #, c-format msgid "launching item %d %s %s" msgstr "lancement de l'élément %d %s %s" -#: pg_backup_archiver.c:4126 +#: pg_backup_archiver.c:4388 #, c-format msgid "finished main parallel loop" msgstr "fin de la boucle parallèle principale" -#: pg_backup_archiver.c:4162 +#: pg_backup_archiver.c:4424 #, c-format msgid "processing missed item %d %s %s" msgstr "traitement de l'élément manquant %d %s %s" -#: pg_backup_archiver.c:4767 +#: pg_backup_archiver.c:4966 #, c-format msgid "table \"%s\" could not be created, will not restore its data" msgstr "la table « %s » n'a pas pu être créée, ses données ne seront pas restaurées" -#: pg_backup_custom.c:380 pg_backup_null.c:147 +#: pg_backup_custom.c:376 pg_backup_null.c:143 #, c-format msgid "invalid OID for large object" msgstr "OID invalide pour le « Large Object »" -#: pg_backup_custom.c:445 pg_backup_custom.c:511 pg_backup_custom.c:640 -#: pg_backup_custom.c:874 pg_backup_tar.c:1014 pg_backup_tar.c:1019 +#: pg_backup_custom.c:441 pg_backup_custom.c:507 pg_backup_custom.c:636 +#: pg_backup_custom.c:870 pg_backup_tar.c:1029 pg_backup_tar.c:1034 #, c-format msgid "error during file seek: %m" msgstr "erreur lors de la recherche dans le fichier : %m" -#: pg_backup_custom.c:484 +#: pg_backup_custom.c:480 #, c-format msgid "data block %d has wrong seek position" msgstr "le bloc de données %d a une mauvaise position de recherche" -#: pg_backup_custom.c:501 +#: pg_backup_custom.c:497 #, c-format msgid "unrecognized data block type (%d) while searching archive" msgstr "type de bloc de données non reconnu (%d) lors de la recherche dans l'archive" -#: pg_backup_custom.c:523 +#: pg_backup_custom.c:519 #, c-format msgid "could not find block ID %d in archive -- possibly due to out-of-order restore request, which cannot be handled due to non-seekable input file" msgstr "" @@ -1036,53 +1169,53 @@ msgstr "" "différent, ce qui ne peut pas être géré à cause d'un fichier non gérable en\n" "recherche" -#: pg_backup_custom.c:528 +#: pg_backup_custom.c:524 #, c-format msgid "could not find block ID %d in archive -- possibly corrupt archive" msgstr "n'a pas pu trouver l'identifiant de bloc %d dans l'archive -- possible corruption de l'archive" -#: pg_backup_custom.c:535 +#: pg_backup_custom.c:531 #, c-format msgid "found unexpected block ID (%d) when reading data -- expected %d" msgstr "ID de bloc inattendu (%d) lors de la lecture des données -- %d attendu" -#: pg_backup_custom.c:549 +#: pg_backup_custom.c:545 #, c-format msgid "unrecognized data block type %d while restoring archive" msgstr "type de bloc de données %d non reconnu lors de la restauration de l'archive" -#: pg_backup_custom.c:755 pg_backup_custom.c:807 pg_backup_custom.c:952 -#: pg_backup_tar.c:1017 +#: pg_backup_custom.c:751 pg_backup_custom.c:803 pg_backup_custom.c:945 +#: pg_backup_tar.c:1032 #, c-format msgid "could not determine seek position in archive file: %m" msgstr "n'a pas pu déterminer la position de recherche dans le fichier d'archive : %m" -#: pg_backup_custom.c:771 pg_backup_custom.c:811 +#: pg_backup_custom.c:767 pg_backup_custom.c:807 #, c-format msgid "could not close archive file: %m" msgstr "n'a pas pu fermer le fichier d'archive : %m" -#: pg_backup_custom.c:794 +#: pg_backup_custom.c:790 #, c-format msgid "can only reopen input archives" msgstr "peut seulement rouvrir l'archive en entrée" -#: pg_backup_custom.c:801 +#: pg_backup_custom.c:797 #, c-format msgid "parallel restore from standard input is not supported" msgstr "la restauration parallélisée n'est pas supportée à partir de stdin" -#: pg_backup_custom.c:803 +#: pg_backup_custom.c:799 #, c-format msgid "parallel restore from non-seekable file is not supported" msgstr "la restauration parallélisée n'est pas supportée à partir de fichiers sans table de matière" -#: pg_backup_custom.c:819 +#: pg_backup_custom.c:815 #, c-format msgid "could not set seek position in archive file: %m" msgstr "n'a pas pu initialiser la recherche de position dans le fichier d'archive : %m" -#: pg_backup_custom.c:898 +#: pg_backup_custom.c:894 #, c-format msgid "compressor active" msgstr "compression activée" @@ -1092,12 +1225,12 @@ msgstr "compression activée" msgid "could not get server_version from libpq" msgstr "n'a pas pu obtenir server_version de libpq" -#: pg_backup_db.c:53 pg_dumpall.c:1809 +#: pg_backup_db.c:53 pg_dumpall.c:1830 #, c-format msgid "aborting because of server version mismatch" msgstr "annulation à cause de la différence des versions" -#: pg_backup_db.c:54 pg_dumpall.c:1810 +#: pg_backup_db.c:54 pg_dumpall.c:1831 #, c-format msgid "server version: %s; %s version: %s" msgstr "version du serveur : %s ; %s version : %s" @@ -1107,7 +1240,7 @@ msgstr "version du serveur : %s ; %s version : %s" msgid "already connected to a database" msgstr "déjà connecté à une base de données" -#: pg_backup_db.c:128 pg_backup_db.c:178 pg_dumpall.c:1656 pg_dumpall.c:1758 +#: pg_backup_db.c:128 pg_backup_db.c:178 pg_dumpall.c:1677 pg_dumpall.c:1779 msgid "Password: " msgstr "Mot de passe : " @@ -1121,18 +1254,18 @@ msgstr "n'a pas pu se connecter à la base de données" msgid "reconnection failed: %s" msgstr "échec de la reconnexion : %s" -#: pg_backup_db.c:190 pg_backup_db.c:264 pg_dump.c:756 pg_dump_sort.c:1280 -#: pg_dump_sort.c:1300 pg_dumpall.c:1683 pg_dumpall.c:1767 +#: 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:1704 pg_dumpall.c:1788 #, c-format msgid "%s" msgstr "%s" -#: pg_backup_db.c:271 pg_dumpall.c:1872 pg_dumpall.c:1895 +#: pg_backup_db.c:271 pg_dumpall.c:1893 pg_dumpall.c:1916 #, c-format msgid "query failed: %s" msgstr "échec de la requête : %s" -#: pg_backup_db.c:273 pg_dumpall.c:1873 pg_dumpall.c:1896 +#: pg_backup_db.c:273 pg_dumpall.c:1894 pg_dumpall.c:1917 #, c-format msgid "Query was: %s" msgstr "La requête était : %s" @@ -1168,7 +1301,7 @@ msgstr "erreur renvoyée par PQputCopyEnd : %s" msgid "COPY failed for table \"%s\": %s" msgstr "COPY échoué pour la table « %s » : %s" -#: pg_backup_db.c:521 pg_dump.c:2202 +#: pg_backup_db.c:521 pg_dump.c:2283 #, c-format msgid "unexpected extra results during COPY of table \"%s\"" msgstr "résultats supplémentaires non attendus durant l'exécution de COPY sur la table « %s »" @@ -1181,161 +1314,156 @@ msgstr "n'a pas pu démarrer la transaction de la base de données" msgid "could not commit database transaction" msgstr "n'a pas pu valider la transaction de la base de données" -#: pg_backup_directory.c:155 +#: pg_backup_directory.c:153 #, c-format msgid "no output directory specified" msgstr "aucun répertoire cible indiqué" -#: pg_backup_directory.c:184 -#, c-format -msgid "could not read directory \"%s\": %m" -msgstr "n'a pas pu lire le répertoire « %s » : %m" - -#: pg_backup_directory.c:188 +#: pg_backup_directory.c:186 #, c-format msgid "could not close directory \"%s\": %m" msgstr "n'a pas pu fermer le répertoire « %s » : %m" -#: pg_backup_directory.c:194 +#: pg_backup_directory.c:192 #, c-format msgid "could not create directory \"%s\": %m" msgstr "n'a pas pu créer le répertoire « %s » : %m" -#: pg_backup_directory.c:356 pg_backup_directory.c:499 -#: pg_backup_directory.c:537 +#: 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 "n'a pas pu écrire dans le fichier en sortie : %s" -#: pg_backup_directory.c:374 +#: pg_backup_directory.c:375 #, c-format msgid "could not close data file: %m" msgstr "n'a pas pu fermer le fichier de données : %m" -#: pg_backup_directory.c:407 +#: pg_backup_directory.c:408 #, c-format msgid "could not close data file \"%s\": %m" msgstr "n'a pas pu fermer le fichier de données « %s » : %m" -#: pg_backup_directory.c:448 +#: pg_backup_directory.c:455 #, c-format msgid "could not open large object TOC file \"%s\" for input: %m" msgstr "n'a pas pu ouvrir le fichier TOC « %s » du Large Object en entrée : %m" -#: pg_backup_directory.c:459 +#: pg_backup_directory.c:466 #, c-format msgid "invalid line in large object TOC file \"%s\": \"%s\"" msgstr "ligne invalide dans le fichier TOC du Large Object « %s » : « %s »" -#: pg_backup_directory.c:468 +#: pg_backup_directory.c:475 #, c-format msgid "error reading large object TOC file \"%s\"" msgstr "erreur lors de la lecture du TOC du fichier Large Object « %s »" -#: pg_backup_directory.c:472 +#: pg_backup_directory.c:479 #, c-format msgid "could not close large object TOC file \"%s\": %m" msgstr "n'a pas pu fermer le TOC du Large Object « %s » : %m" -#: pg_backup_directory.c:694 +#: pg_backup_directory.c:702 #, c-format msgid "could not close LO data file: %m" msgstr "n'a pas pu fermer le fichier de données LO : %m" -#: pg_backup_directory.c:704 +#: pg_backup_directory.c:712 #, c-format msgid "could not write to LOs TOC file: %s" msgstr "n'a pas pu écrire dans le fichier TOC des Large Objects : %s" -#: pg_backup_directory.c:720 +#: pg_backup_directory.c:728 #, c-format msgid "could not close LOs TOC file: %m" msgstr "n'a pas pu fermer le fichier TOC des Large Objects : %m" -#: pg_backup_directory.c:739 +#: pg_backup_directory.c:747 #, c-format msgid "file name too long: \"%s\"" msgstr "nom du fichier trop long : « %s »" -#: pg_backup_null.c:74 +#: pg_backup_null.c:70 #, c-format msgid "this format cannot be read" msgstr "ce format ne peut pas être lu" -#: pg_backup_tar.c:172 +#: pg_backup_tar.c:168 #, c-format msgid "could not open TOC file \"%s\" for output: %m" msgstr "n'a pas pu ouvrir le fichier TOC « %s » en sortie : %m" -#: pg_backup_tar.c:179 +#: pg_backup_tar.c:175 #, c-format msgid "could not open TOC file for output: %m" msgstr "n'a pas pu ouvrir le fichier TOC en sortie : %m" -#: pg_backup_tar.c:198 pg_backup_tar.c:334 pg_backup_tar.c:389 -#: pg_backup_tar.c:405 pg_backup_tar.c:891 +#: pg_backup_tar.c:194 pg_backup_tar.c:330 pg_backup_tar.c:385 +#: pg_backup_tar.c:401 pg_backup_tar.c:906 #, c-format msgid "compression is not supported by tar archive format" msgstr "compression non supportée par le format des archives tar" -#: pg_backup_tar.c:206 +#: pg_backup_tar.c:202 #, c-format msgid "could not open TOC file \"%s\" for input: %m" msgstr "n'a pas pu ouvrir le fichier TOC « %s » en entrée : %m" -#: pg_backup_tar.c:213 +#: pg_backup_tar.c:209 #, c-format msgid "could not open TOC file for input: %m" msgstr "n'a pas pu ouvrir le fichier TOC en entrée : %m" -#: pg_backup_tar.c:322 +#: pg_backup_tar.c:318 #, c-format msgid "could not find file \"%s\" in archive" msgstr "n'a pas pu trouver le fichier « %s » dans l'archive" -#: pg_backup_tar.c:382 +#: pg_backup_tar.c:378 #, c-format msgid "could not generate temporary file name: %m" msgstr "impossible de créer le nom du fichier temporaire : %m" -#: pg_backup_tar.c:623 +#: pg_backup_tar.c:619 #, c-format msgid "unexpected COPY statement syntax: \"%s\"" msgstr "syntaxe inattendue de l'instruction COPY : « %s »" -#: pg_backup_tar.c:888 +#: pg_backup_tar.c:903 #, c-format msgid "invalid OID for large object (%u)" msgstr "OID invalide pour le « Large Object » (%u)" -#: pg_backup_tar.c:1033 +#: pg_backup_tar.c:1048 #, c-format msgid "could not close temporary file: %m" msgstr "n'a pas pu fermer le fichier temporaire : m" -#: pg_backup_tar.c:1036 +#: pg_backup_tar.c:1051 #, c-format msgid "actual file length (%lld) does not match expected (%lld)" msgstr "la longueur réelle du fichier (%lld) ne correspond pas à ce qui était attendu (%lld)" -#: pg_backup_tar.c:1082 pg_backup_tar.c:1113 +#: pg_backup_tar.c:1097 pg_backup_tar.c:1128 #, c-format msgid "could not find header for file \"%s\" in tar archive" msgstr "n'a pas pu trouver l'en-tête du fichier « %s » dans l'archive tar" -#: pg_backup_tar.c:1100 +#: pg_backup_tar.c:1115 #, c-format msgid "restoring data out of order is not supported in this archive format: \"%s\" is required, but comes before \"%s\" in the archive file." msgstr "la restauration désordonnée de données n'est pas supportée avec ce format d'archive : « %s » est requis mais vient avant « %s » dans le fichier d'archive." -#: pg_backup_tar.c:1147 +#: pg_backup_tar.c:1162 #, c-format msgid "incomplete tar header found (%lu byte)" msgid_plural "incomplete tar header found (%lu bytes)" msgstr[0] "en-tête incomplet du fichier tar (%lu octet)" msgstr[1] "en-tête incomplet du fichier tar (%lu octets)" -#: pg_backup_tar.c:1186 +#: pg_backup_tar.c:1201 #, c-format msgid "corrupt tar header found in %s (expected %d, computed %d) file position %llu" msgstr "en-tête tar corrompu trouvé dans %s (%d attendu, %d calculé ) à la position %llu du fichier" @@ -1345,10 +1473,10 @@ msgstr "en-tête tar corrompu trouvé dans %s (%d attendu, %d calculé ) à la p msgid "unrecognized section name: \"%s\"" msgstr "nom de section non reconnu : « %s »" -#: pg_backup_utils.c:55 pg_dump.c:662 pg_dump.c:679 pg_dumpall.c:365 -#: pg_dumpall.c:375 pg_dumpall.c:383 pg_dumpall.c:391 pg_dumpall.c:398 -#: pg_dumpall.c:408 pg_dumpall.c:483 pg_restore.c:291 pg_restore.c:307 -#: pg_restore.c:321 +#: 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 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Essayez « %s --help » pour plus d'informations." @@ -1358,82 +1486,82 @@ msgstr "Essayez « %s --help » pour plus d'informations." msgid "out of on_exit_nicely slots" msgstr "plus d'emplacements on_exit_nicely" -#: pg_dump.c:677 pg_dumpall.c:373 pg_restore.c:305 +#: pg_dump.c:709 pg_dumpall.c:378 pg_restore.c:321 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "trop d'arguments en ligne de commande (le premier étant « %s »)" -#: pg_dump.c:696 pg_restore.c:328 +#: pg_dump.c:728 pg_restore.c:344 #, c-format msgid "options -s/--schema-only and -a/--data-only cannot be used together" msgstr "les options « -s/--schema-only » et « -a/--data-only » ne peuvent pas être utilisées ensemble" -#: pg_dump.c:699 +#: pg_dump.c:731 #, c-format msgid "options -s/--schema-only and --include-foreign-data cannot be used together" msgstr "les options « -s/--schema-only » et « --include-foreign-data » ne peuvent pas être utilisées ensemble" -#: pg_dump.c:702 +#: pg_dump.c:734 #, c-format msgid "option --include-foreign-data is not supported with parallel backup" msgstr "l'option --include-foreign-data n'est pas supportée avec une sauvegarde parallélisée" -#: pg_dump.c:705 pg_restore.c:331 +#: pg_dump.c:737 pg_restore.c:347 #, c-format msgid "options -c/--clean and -a/--data-only cannot be used together" msgstr "les options « -c/--clean » et « -a/--data-only » ne peuvent pas être utilisées ensemble" -#: pg_dump.c:708 pg_dumpall.c:403 pg_restore.c:356 +#: pg_dump.c:740 pg_dumpall.c:408 pg_restore.c:375 #, c-format msgid "option --if-exists requires option -c/--clean" msgstr "l'option --if-exists nécessite l'option -c/--clean" -#: pg_dump.c:715 +#: pg_dump.c:747 #, c-format msgid "option --on-conflict-do-nothing requires option --inserts, --rows-per-insert, or --column-inserts" msgstr "l'option --on-conflict-do-nothing requiert l'option --inserts, --rows-per-insert, ou --column-inserts" -#: pg_dump.c:744 +#: pg_dump.c:776 #, c-format msgid "unrecognized compression algorithm: \"%s\"" msgstr "algorithme de compression inconnu : « %s »" -#: pg_dump.c:751 +#: pg_dump.c:783 #, c-format msgid "invalid compression specification: %s" msgstr "spécification de compression invalide : %s" -#: pg_dump.c:764 +#: pg_dump.c:796 #, c-format msgid "compression option \"%s\" is not currently supported by pg_dump" msgstr "l'option de compression « %s » n'est pas actuellement supportée par pg_dump" -#: pg_dump.c:776 +#: pg_dump.c:808 #, c-format msgid "parallel backup only supported by the directory format" msgstr "la sauvegarde parallélisée n'est supportée qu'avec le format directory" -#: pg_dump.c:822 +#: pg_dump.c:854 #, c-format msgid "last built-in OID is %u" msgstr "le dernier OID interne est %u" -#: pg_dump.c:831 +#: pg_dump.c:863 #, c-format msgid "no matching schemas were found" msgstr "aucun schéma correspondant n'a été trouvé" -#: pg_dump.c:848 +#: pg_dump.c:880 #, c-format msgid "no matching tables were found" msgstr "aucune table correspondante n'a été trouvée" -#: pg_dump.c:876 +#: pg_dump.c:908 #, c-format msgid "no matching extensions were found" msgstr "aucune extension correspondante n'a été trouvée" -#: pg_dump.c:1056 +#: pg_dump.c:1092 #, c-format msgid "" "%s dumps a database as a text file or to other formats.\n" @@ -1443,17 +1571,17 @@ msgstr "" "formats.\n" "\n" -#: pg_dump.c:1057 pg_dumpall.c:630 pg_restore.c:433 +#: pg_dump.c:1093 pg_dumpall.c:635 pg_restore.c:452 #, c-format msgid "Usage:\n" msgstr "Usage :\n" -#: pg_dump.c:1058 +#: pg_dump.c:1094 #, c-format msgid " %s [OPTION]... [DBNAME]\n" msgstr " %s [OPTION]... [BASE]\n" -#: pg_dump.c:1060 pg_dumpall.c:633 pg_restore.c:436 +#: pg_dump.c:1096 pg_dumpall.c:638 pg_restore.c:455 #, c-format msgid "" "\n" @@ -1462,12 +1590,12 @@ msgstr "" "\n" "Options générales :\n" -#: pg_dump.c:1061 +#: pg_dump.c:1097 #, c-format msgid " -f, --file=FILENAME output file or directory name\n" msgstr " -f, --file=FICHIER nom du fichier ou du répertoire en sortie\n" -#: pg_dump.c:1062 +#: pg_dump.c:1098 #, c-format msgid "" " -F, --format=c|d|t|p output file format (custom, directory, tar,\n" @@ -1476,24 +1604,24 @@ msgstr "" " -F, --format=c|d|t|p format du fichier de sortie (personnalisé,\n" " répertoire, tar, texte (par défaut))\n" -#: pg_dump.c:1064 +#: pg_dump.c:1100 #, c-format msgid " -j, --jobs=NUM use this many parallel jobs to dump\n" msgstr "" " -j, --jobs=NOMBRE utilise ce nombre de jobs en parallèle pour la\n" " sauvegarde\n" -#: pg_dump.c:1065 pg_dumpall.c:635 +#: pg_dump.c:1101 pg_dumpall.c:640 #, c-format msgid " -v, --verbose verbose mode\n" msgstr " -v, --verbose mode verbeux\n" -#: pg_dump.c:1066 pg_dumpall.c:636 +#: pg_dump.c:1102 pg_dumpall.c:641 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version affiche la version puis quitte\n" -#: pg_dump.c:1067 +#: pg_dump.c:1103 #, c-format msgid "" " -Z, --compress=METHOD[:DETAIL]\n" @@ -1502,26 +1630,31 @@ msgstr "" " -Z, --compress=METHODE[:DETAIL]\n" " compresse comme indiqué\n" -#: pg_dump.c:1069 pg_dumpall.c:637 +#: pg_dump.c:1105 pg_dumpall.c:642 #, c-format msgid " --lock-wait-timeout=TIMEOUT fail after waiting TIMEOUT for a table lock\n" msgstr "" " --lock-wait-timeout=DÉLAI échec après l'attente du DÉLAI pour un verrou de\n" " table\n" -#: pg_dump.c:1070 pg_dumpall.c:664 +#: pg_dump.c:1106 pg_dumpall.c:670 #, c-format msgid " --no-sync do not wait for changes to be written safely to disk\n" msgstr "" " --no-sync n'attend pas que les modifications soient\n" " proprement écrites sur disque\n" -#: pg_dump.c:1071 pg_dumpall.c:638 +#: pg_dump.c:1107 +#, c-format +msgid " --sync-method=METHOD set method for syncing files to disk\n" +msgstr " --sync-method=METHODE configure la méthode pour synchroniser les fichiers sur disque\n" + +#: pg_dump.c:1108 pg_dumpall.c:643 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help affiche cette aide puis quitte\n" -#: pg_dump.c:1073 pg_dumpall.c:639 +#: pg_dump.c:1110 pg_dumpall.c:644 #, c-format msgid "" "\n" @@ -1530,66 +1663,66 @@ msgstr "" "\n" "Options contrôlant le contenu en sortie :\n" -#: pg_dump.c:1074 pg_dumpall.c:640 +#: pg_dump.c:1111 pg_dumpall.c:645 #, c-format msgid " -a, --data-only dump only the data, not the schema\n" msgstr " -a, --data-only sauvegarde uniquement les données, pas le schéma\n" -#: pg_dump.c:1075 +#: pg_dump.c:1112 #, c-format msgid " -b, --large-objects include large objects in dump\n" msgstr " -b, --large-objects inclut les « Large Objects » dans la sauvegarde\n" -#: pg_dump.c:1076 +#: pg_dump.c:1113 #, c-format msgid " --blobs (same as --large-objects, deprecated)\n" msgstr " --blobs (comme --large-objects, obsolète)\n" -#: pg_dump.c:1077 +#: pg_dump.c:1114 #, c-format msgid " -B, --no-large-objects exclude large objects in dump\n" msgstr " -B, --no-large-objects exclut les « Large Objects » de la sauvegarde\n" -#: pg_dump.c:1078 +#: pg_dump.c:1115 #, c-format msgid " --no-blobs (same as --no-large-objects, deprecated)\n" msgstr " --no-blobs (comme --no-large-objects, obsolète)\n" -#: pg_dump.c:1079 pg_restore.c:447 +#: pg_dump.c:1116 pg_restore.c:466 #, c-format msgid " -c, --clean clean (drop) database objects before recreating\n" msgstr "" " -c, --clean nettoie/supprime les objets de la base de données\n" " avant de les créer\n" -#: pg_dump.c:1080 +#: pg_dump.c:1117 #, c-format msgid " -C, --create include commands to create database in dump\n" msgstr "" " -C, --create inclut les commandes de création de la base\n" " dans la sauvegarde\n" -#: pg_dump.c:1081 +#: pg_dump.c:1118 #, c-format msgid " -e, --extension=PATTERN dump the specified extension(s) only\n" msgstr " -e, --extension=MOTIF sauvegarde uniquement les extensions indiquées\n" -#: pg_dump.c:1082 pg_dumpall.c:642 +#: pg_dump.c:1119 pg_dumpall.c:647 #, c-format msgid " -E, --encoding=ENCODING dump the data in encoding ENCODING\n" msgstr " -E, --encoding=ENCODAGE sauvegarde les données dans l'encodage ENCODAGE\n" -#: pg_dump.c:1083 +#: pg_dump.c:1120 #, c-format msgid " -n, --schema=PATTERN dump the specified schema(s) only\n" msgstr " -n, --schema=MOTIF sauvegarde uniquement les schémas indiqués\n" -#: pg_dump.c:1084 +#: pg_dump.c:1121 #, c-format msgid " -N, --exclude-schema=PATTERN do NOT dump the specified schema(s)\n" msgstr " -N, --exclude-schema=MOTIF ne sauvegarde pas les schémas indiqués\n" -#: pg_dump.c:1085 +#: pg_dump.c:1122 #, c-format msgid "" " -O, --no-owner skip restoration of object ownership in\n" @@ -1598,50 +1731,50 @@ msgstr "" " -O, --no-owner ne sauvegarde pas les propriétaires des objets\n" " lors de l'utilisation du format texte\n" -#: pg_dump.c:1087 pg_dumpall.c:646 +#: pg_dump.c:1124 pg_dumpall.c:651 #, c-format msgid " -s, --schema-only dump only the schema, no data\n" msgstr "" " -s, --schema-only sauvegarde uniquement la structure, pas les\n" " données\n" -#: pg_dump.c:1088 +#: pg_dump.c:1125 #, c-format msgid " -S, --superuser=NAME superuser user name to use in plain-text format\n" msgstr "" " -S, --superuser=NOM indique le nom du super-utilisateur à utiliser\n" " avec le format texte\n" -#: pg_dump.c:1089 +#: pg_dump.c:1126 #, c-format msgid " -t, --table=PATTERN dump only the specified table(s)\n" msgstr " -t, --table=MOTIF sauvegarde uniquement les tables indiquées\n" -#: pg_dump.c:1090 +#: pg_dump.c:1127 #, c-format msgid " -T, --exclude-table=PATTERN do NOT dump the specified table(s)\n" msgstr " -T, --exclude-table=MOTIF ne sauvegarde pas les tables indiquées\n" -#: pg_dump.c:1091 pg_dumpall.c:649 +#: pg_dump.c:1128 pg_dumpall.c:654 #, c-format msgid " -x, --no-privileges do not dump privileges (grant/revoke)\n" msgstr " -x, --no-privileges ne sauvegarde pas les droits sur les objets\n" -#: pg_dump.c:1092 pg_dumpall.c:650 +#: pg_dump.c:1129 pg_dumpall.c:655 #, c-format msgid " --binary-upgrade for use by upgrade utilities only\n" msgstr "" " --binary-upgrade à n'utiliser que par les outils de mise à jour\n" " seulement\n" -#: pg_dump.c:1093 pg_dumpall.c:651 +#: pg_dump.c:1130 pg_dumpall.c:656 #, c-format msgid " --column-inserts dump data as INSERT commands with column names\n" msgstr "" " --column-inserts sauvegarde les données avec des commandes INSERT\n" " en précisant les noms des colonnes\n" -#: pg_dump.c:1094 pg_dumpall.c:652 +#: pg_dump.c:1131 pg_dumpall.c:657 #, c-format msgid " --disable-dollar-quoting disable dollar quoting, use SQL standard quoting\n" msgstr "" @@ -1649,14 +1782,14 @@ msgstr "" " dans le but de respecter le standard SQL en\n" " matière de guillemets\n" -#: pg_dump.c:1095 pg_dumpall.c:653 pg_restore.c:464 +#: pg_dump.c:1132 pg_dumpall.c:658 pg_restore.c:483 #, c-format msgid " --disable-triggers disable triggers during data-only restore\n" msgstr "" " --disable-triggers désactive les triggers en mode de restauration\n" " des données seules\n" -#: pg_dump.c:1096 +#: pg_dump.c:1133 #, c-format msgid "" " --enable-row-security enable row security (dump only content user has\n" @@ -1666,7 +1799,12 @@ msgstr "" " sauvegarde uniquement le contenu visible par cet\n" " utilisateur)\n" -#: pg_dump.c:1098 +#: pg_dump.c:1135 +#, c-format +msgid " --exclude-extension=PATTERN do NOT dump the specified extension(s)\n" +msgstr " --exclude-extension=MOTIF ne sauvegarde PAS les extensions indiquées\n" + +#: pg_dump.c:1136 #, c-format msgid "" " --exclude-table-and-children=PATTERN\n" @@ -1676,12 +1814,12 @@ msgstr "" " --exclude-table-and-children=MOTIF\n" " ne sauvegarde PAS les tables indiquées, ceci incluant les tables filles et les partitions\n" -#: pg_dump.c:1101 +#: pg_dump.c:1139 #, c-format msgid " --exclude-table-data=PATTERN do NOT dump data for the specified table(s)\n" msgstr " --exclude-table-data=MOTIF ne sauvegarde pas les tables indiquées\n" -#: pg_dump.c:1102 +#: pg_dump.c:1140 #, c-format msgid "" " --exclude-table-data-and-children=PATTERN\n" @@ -1691,21 +1829,30 @@ msgstr "" " --exclude-table-data-and-children=MOTIF\n" " ne sauvegarde PAS les données des tables indiquées, ceci incluant les tables filles et les partitions\n" -#: pg_dump.c:1105 pg_dumpall.c:655 +#: pg_dump.c:1143 pg_dumpall.c:660 #, c-format msgid " --extra-float-digits=NUM override default setting for extra_float_digits\n" msgstr "" " --extra-float-digits=NUM surcharge la configuration par défaut de\n" " extra_float_digits\n" -#: pg_dump.c:1106 pg_dumpall.c:656 pg_restore.c:466 +#: pg_dump.c:1144 +#, c-format +msgid "" +" --filter=FILENAME include or exclude objects and data from dump\n" +" based on expressions in FILENAME\n" +msgstr "" +" --filter=NOMFICHIER inclut ou exclut des objets et des données à partir de la sauvegarde\n" +" basée sur les expressions dans NOMFICHIER\n" + +#: pg_dump.c:1146 pg_dumpall.c:662 pg_restore.c:487 #, c-format msgid " --if-exists use IF EXISTS when dropping objects\n" msgstr "" " --if-exists utilise IF EXISTS lors de la suppression des\n" " objets\n" -#: pg_dump.c:1107 +#: pg_dump.c:1147 #, c-format msgid "" " --include-foreign-data=PATTERN\n" @@ -1715,103 +1862,103 @@ msgstr "" " --include-foreign-data=MOTIF inclut les données des tables externes pour les\n" " serveurs distants correspondant au motif MOTIF\n" -#: pg_dump.c:1110 pg_dumpall.c:657 +#: pg_dump.c:1150 pg_dumpall.c:663 #, c-format msgid " --inserts dump data as INSERT commands, rather than COPY\n" msgstr "" " --inserts sauvegarde les données avec des instructions\n" " INSERT plutôt que COPY\n" -#: pg_dump.c:1111 pg_dumpall.c:658 +#: pg_dump.c:1151 pg_dumpall.c:664 #, c-format msgid " --load-via-partition-root load partitions via the root table\n" msgstr " --load-via-partition-root charger les partitions via la table racine\n" -#: pg_dump.c:1112 pg_dumpall.c:659 +#: pg_dump.c:1152 pg_dumpall.c:665 #, c-format msgid " --no-comments do not dump comments\n" msgstr " --no-comments ne sauvegarde pas les commentaires\n" -#: pg_dump.c:1113 pg_dumpall.c:660 +#: pg_dump.c:1153 pg_dumpall.c:666 #, c-format msgid " --no-publications do not dump publications\n" msgstr " --no-publications ne sauvegarde pas les publications\n" -#: pg_dump.c:1114 pg_dumpall.c:662 +#: pg_dump.c:1154 pg_dumpall.c:668 #, c-format msgid " --no-security-labels do not dump security label assignments\n" msgstr "" " --no-security-labels ne sauvegarde pas les affectations de labels de\n" " sécurité\n" -#: pg_dump.c:1115 pg_dumpall.c:663 +#: pg_dump.c:1155 pg_dumpall.c:669 #, c-format msgid " --no-subscriptions do not dump subscriptions\n" msgstr " --no-subscriptions ne sauvegarde pas les souscriptions\n" -#: pg_dump.c:1116 pg_dumpall.c:665 +#: pg_dump.c:1156 pg_dumpall.c:671 #, c-format msgid " --no-table-access-method do not dump table access methods\n" msgstr " --no-table-access-method ne sauvegarde pas les méthodes d'accès aux tables\n" -#: pg_dump.c:1117 pg_dumpall.c:666 +#: pg_dump.c:1157 pg_dumpall.c:672 #, c-format msgid " --no-tablespaces do not dump tablespace assignments\n" msgstr " --no-tablespaces ne sauvegarde pas les affectations de tablespaces\n" -#: pg_dump.c:1118 pg_dumpall.c:667 +#: pg_dump.c:1158 pg_dumpall.c:673 #, c-format msgid " --no-toast-compression do not dump TOAST compression methods\n" msgstr "" " --no-toast-compression ne sauvegarde pas les méthodes de compression de\n" " TOAST\n" -#: pg_dump.c:1119 pg_dumpall.c:668 +#: pg_dump.c:1159 pg_dumpall.c:674 #, c-format msgid " --no-unlogged-table-data do not dump unlogged table data\n" msgstr "" " --no-unlogged-table-data ne sauvegarde pas les données des tables non\n" " journalisées\n" -#: pg_dump.c:1120 pg_dumpall.c:669 +#: pg_dump.c:1160 pg_dumpall.c:675 #, c-format msgid " --on-conflict-do-nothing add ON CONFLICT DO NOTHING to INSERT commands\n" msgstr "" " --on-conflict-do-nothing ajoute ON CONFLICT DO NOTHING aux commandes\n" " INSERT\n" -#: pg_dump.c:1121 pg_dumpall.c:670 +#: pg_dump.c:1161 pg_dumpall.c:676 #, c-format msgid " --quote-all-identifiers quote all identifiers, even if not key words\n" msgstr "" " --quote-all-identifiers met entre guillemets tous les identifiants même\n" " s'il ne s'agit pas de mots clés\n" -#: pg_dump.c:1122 pg_dumpall.c:671 +#: pg_dump.c:1162 pg_dumpall.c:677 #, c-format msgid " --rows-per-insert=NROWS number of rows per INSERT; implies --inserts\n" msgstr " --rows-per-insert=NROWS nombre de lignes par INSERT ; implique --inserts\n" -#: pg_dump.c:1123 +#: pg_dump.c:1163 #, c-format msgid " --section=SECTION dump named section (pre-data, data, or post-data)\n" msgstr "" " --section=SECTION sauvegarde la section indiquée (pre-data, data\n" " ou post-data)\n" -#: pg_dump.c:1124 +#: pg_dump.c:1164 #, c-format msgid " --serializable-deferrable wait until the dump can run without anomalies\n" msgstr "" " --serializable-deferrable attend jusqu'à ce que la sauvegarde puisse\n" " s'exécuter sans anomalies\n" -#: pg_dump.c:1125 +#: pg_dump.c:1165 #, c-format msgid " --snapshot=SNAPSHOT use given snapshot for the dump\n" msgstr " --snapshot=SNAPSHOT utilise l'image donnée pour la sauvegarde\n" -#: pg_dump.c:1126 pg_restore.c:476 +#: pg_dump.c:1166 pg_restore.c:497 #, c-format msgid "" " --strict-names require table and/or schema include patterns to\n" @@ -1820,14 +1967,14 @@ msgstr "" " --strict-names requiert que les motifs des tables et/ou schémas\n" " correspondent à au moins une entité de chaque\n" -#: pg_dump.c:1128 +#: pg_dump.c:1168 #, c-format msgid "" " --table-and-children=PATTERN dump only the specified table(s), including\n" " child and partition tables\n" msgstr " --table-and-children=MODÈLE sauvegarde uniquement les tables indiquées, en incluant les tables filles et les partitions\n" -#: pg_dump.c:1130 pg_dumpall.c:672 pg_restore.c:478 +#: pg_dump.c:1170 pg_dumpall.c:678 pg_restore.c:500 #, c-format msgid "" " --use-set-session-authorization\n" @@ -1839,7 +1986,7 @@ msgstr "" " au lieu des commandes ALTER OWNER pour modifier\n" " les propriétaires\n" -#: pg_dump.c:1134 pg_dumpall.c:676 pg_restore.c:482 +#: pg_dump.c:1174 pg_dumpall.c:682 pg_restore.c:504 #, c-format msgid "" "\n" @@ -1848,46 +1995,46 @@ msgstr "" "\n" "Options de connexion :\n" -#: pg_dump.c:1135 +#: pg_dump.c:1175 #, c-format msgid " -d, --dbname=DBNAME database to dump\n" msgstr " -d, --dbname=BASE base de données à sauvegarder\n" -#: pg_dump.c:1136 pg_dumpall.c:678 pg_restore.c:483 +#: pg_dump.c:1176 pg_dumpall.c:684 pg_restore.c:505 #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr "" " -h, --host=HÔTE hôte du serveur de bases de données ou\n" " répertoire des sockets\n" -#: pg_dump.c:1137 pg_dumpall.c:680 pg_restore.c:484 +#: pg_dump.c:1177 pg_dumpall.c:686 pg_restore.c:506 #, c-format msgid " -p, --port=PORT database server port number\n" msgstr " -p, --port=PORT numéro de port du serveur de bases de données\n" -#: pg_dump.c:1138 pg_dumpall.c:681 pg_restore.c:485 +#: pg_dump.c:1178 pg_dumpall.c:687 pg_restore.c:507 #, c-format msgid " -U, --username=NAME connect as specified database user\n" msgstr " -U, --username=NOM se connecter avec cet utilisateur\n" -#: pg_dump.c:1139 pg_dumpall.c:682 pg_restore.c:486 +#: pg_dump.c:1179 pg_dumpall.c:688 pg_restore.c:508 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password ne demande jamais un mot de passe\n" -#: pg_dump.c:1140 pg_dumpall.c:683 pg_restore.c:487 +#: pg_dump.c:1180 pg_dumpall.c:689 pg_restore.c:509 #, c-format msgid " -W, --password force password prompt (should happen automatically)\n" msgstr "" " -W, --password force la demande du mot de passe (devrait\n" " survenir automatiquement)\n" -#: pg_dump.c:1141 pg_dumpall.c:684 +#: pg_dump.c:1181 pg_dumpall.c:690 #, c-format msgid " --role=ROLENAME do SET ROLE before dump\n" msgstr " --role=NOMROLE exécute SET ROLE avant la sauvegarde\n" -#: pg_dump.c:1143 +#: pg_dump.c:1183 #, c-format msgid "" "\n" @@ -1900,530 +2047,537 @@ msgstr "" "d'environnement PGDATABASE est alors utilisée.\n" "\n" -#: pg_dump.c:1145 pg_dumpall.c:688 pg_restore.c:494 +#: pg_dump.c:1185 pg_dumpall.c:694 pg_restore.c:516 #, c-format msgid "Report bugs to <%s>.\n" msgstr "Rapporter les bogues à <%s>.\n" -#: pg_dump.c:1146 pg_dumpall.c:689 pg_restore.c:495 +#: pg_dump.c:1186 pg_dumpall.c:695 pg_restore.c:517 #, c-format msgid "%s home page: <%s>\n" msgstr "Page d'accueil de %s : <%s>\n" -#: pg_dump.c:1165 pg_dumpall.c:513 +#: pg_dump.c:1205 pg_dumpall.c:518 #, c-format msgid "invalid client encoding \"%s\" specified" msgstr "encodage client indiqué (« %s ») invalide" -#: pg_dump.c:1303 +#: pg_dump.c:1352 #, c-format msgid "parallel dumps from standby servers are not supported by this server version" msgstr "les sauvegardes parallélisées sur un serveur standby ne sont pas supportées par cette version du serveur" -#: pg_dump.c:1368 +#: pg_dump.c:1417 #, c-format msgid "invalid output format \"%s\" specified" msgstr "format de sortie « %s » invalide" -#: pg_dump.c:1409 pg_dump.c:1465 pg_dump.c:1518 pg_dumpall.c:1449 +#: pg_dump.c:1458 pg_dump.c:1514 pg_dump.c:1567 pg_dumpall.c:1467 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "mauvaise qualification du nom (trop de points entre les noms) : %s" -#: pg_dump.c:1417 +#: pg_dump.c:1466 #, c-format msgid "no matching schemas were found for pattern \"%s\"" msgstr "aucun schéma correspondant n'a été trouvé avec le motif « %s »" -#: pg_dump.c:1470 +#: pg_dump.c:1519 #, c-format msgid "no matching extensions were found for pattern \"%s\"" msgstr "aucune extension correspondante n'a été trouvée avec le motif « %s »" -#: pg_dump.c:1523 +#: pg_dump.c:1572 #, c-format msgid "no matching foreign servers were found for pattern \"%s\"" msgstr "aucun serveur distant correspondant n'a été trouvé avec le motif « %s »" -#: pg_dump.c:1594 +#: pg_dump.c:1643 #, c-format msgid "improper relation name (too many dotted names): %s" msgstr "nom de relation incorrecte (trop de points entre les noms) : %s" -#: pg_dump.c:1616 +#: pg_dump.c:1665 #, c-format msgid "no matching tables were found for pattern \"%s\"" msgstr "aucune table correspondante n'a été trouvée avec le motif « %s »" -#: pg_dump.c:1643 +#: pg_dump.c:1692 #, c-format msgid "You are currently not connected to a database." msgstr "Vous n'êtes pas connecté à une base de données." -#: pg_dump.c:1646 +#: pg_dump.c:1695 #, c-format msgid "cross-database references are not implemented: %s" msgstr "les références entre bases de données ne sont pas implémentées : %s" -#: pg_dump.c:2077 +#: pg_dump.c:2154 #, c-format msgid "dumping contents of table \"%s.%s\"" msgstr "sauvegarde du contenu de la table « %s.%s »" -#: pg_dump.c:2183 +#: pg_dump.c:2264 #, c-format msgid "Dumping the contents of table \"%s\" failed: PQgetCopyData() failed." msgstr "Sauvegarde du contenu de la table « %s » échouée : échec de PQgetCopyData()." -#: pg_dump.c:2184 pg_dump.c:2194 +#: pg_dump.c:2265 pg_dump.c:2275 #, c-format msgid "Error message from server: %s" msgstr "Message d'erreur du serveur : %s" -#: pg_dump.c:2185 pg_dump.c:2195 +#: pg_dump.c:2266 pg_dump.c:2276 #, c-format msgid "Command was: %s" msgstr "La commande était : %s" -#: pg_dump.c:2193 +#: pg_dump.c:2274 #, c-format msgid "Dumping the contents of table \"%s\" failed: PQgetResult() failed." msgstr "Sauvegarde du contenu de la table « %s » échouée : échec de PQgetResult()." -#: pg_dump.c:2275 +#: pg_dump.c:2365 #, c-format msgid "wrong number of fields retrieved from table \"%s\"" msgstr "mauvais nombre de champs récupérés à partir de la table « %s »" -#: pg_dump.c:2973 +#: pg_dump.c:3067 #, c-format msgid "saving database definition" msgstr "sauvegarde de la définition de la base de données" -#: pg_dump.c:3078 +#: pg_dump.c:3176 #, c-format msgid "unrecognized locale provider: %s" msgstr "fournisseur de locale non reconnu : %s" -#: pg_dump.c:3429 +#: pg_dump.c:3537 #, c-format msgid "saving encoding = %s" msgstr "encodage de la sauvegarde = %s" -#: pg_dump.c:3454 +#: pg_dump.c:3562 #, c-format -msgid "saving standard_conforming_strings = %s" -msgstr "sauvegarde de standard_conforming_strings = %s" +msgid "saving \"standard_conforming_strings = %s\"" +msgstr "sauvegarde de « standard_conforming_strings = %s »" -#: pg_dump.c:3493 +#: pg_dump.c:3601 #, c-format msgid "could not parse result of current_schemas()" msgstr "n'a pas pu analyser le résultat de current_schema()" -#: pg_dump.c:3512 +#: pg_dump.c:3620 #, c-format -msgid "saving search_path = %s" -msgstr "sauvegarde de search_path = %s" +msgid "saving \"search_path = %s\"" +msgstr "sauvegarde de « search_path = %s »" -#: pg_dump.c:3549 +#: pg_dump.c:3656 #, c-format msgid "reading large objects" msgstr "lecture des « Large Objects »" -#: pg_dump.c:3687 +#: pg_dump.c:3877 #, c-format -msgid "saving large objects" -msgstr "sauvegarde des « Large Objects »" +msgid "saving large objects \"%s\"" +msgstr "sauvegarde des « Large Objects » « %s »" -#: pg_dump.c:3728 +#: pg_dump.c:3898 #, c-format msgid "error reading large object %u: %s" msgstr "erreur lors de la lecture du « Large Object » %u : %s" -#: pg_dump.c:3834 +#: pg_dump.c:4001 #, c-format msgid "reading row-level security policies" msgstr "lecture des politiques de sécurité au niveau ligne" -#: pg_dump.c:3975 +#: pg_dump.c:4142 #, c-format msgid "unexpected policy command type: %c" msgstr "type de commande inattendu pour la politique : %c" -#: pg_dump.c:4425 pg_dump.c:4760 pg_dump.c:11984 pg_dump.c:17894 -#: pg_dump.c:17896 pg_dump.c:18517 +#: pg_dump.c:4592 pg_dump.c:5150 pg_dump.c:12362 pg_dump.c:18246 +#: pg_dump.c:18248 pg_dump.c:18870 #, c-format msgid "could not parse %s array" msgstr "n'a pas pu analyser le tableau %s" -#: pg_dump.c:4613 +#: pg_dump.c:4806 #, c-format msgid "subscriptions not dumped because current user is not a superuser" msgstr "les souscriptions ne sont pas sauvegardées parce que l'utilisateur courant n'est pas un superutilisateur" -#: pg_dump.c:5149 +#: pg_dump.c:5012 +#, c-format +msgid "subscription with OID %u does not exist" +msgstr "la souscription d'OID %u n'existe pas" + +#: pg_dump.c:5019 +#, c-format +msgid "failed sanity check, table with OID %u not found" +msgstr "vérification de santé échouée, table d'OID %u introuvable" + +#: pg_dump.c:5582 #, c-format msgid "could not find parent extension for %s %s" msgstr "n'a pas pu trouver l'extension parent pour %s %s" -#: pg_dump.c:5294 +#: pg_dump.c:5727 #, c-format msgid "schema with OID %u does not exist" msgstr "le schéma d'OID %u n'existe pas" -#: pg_dump.c:6776 pg_dump.c:17158 +#: pg_dump.c:7209 pg_dump.c:17617 #, c-format msgid "failed sanity check, parent table with OID %u of sequence with OID %u not found" msgstr "vérification échouée, OID %u de la table parent de l'OID %u de la séquence introuvable" -#: pg_dump.c:6919 +#: pg_dump.c:7352 #, c-format msgid "failed sanity check, table OID %u appearing in pg_partitioned_table not found" msgstr "vérification échouée, OID de table %u apparaissant dans partitioned introuvable" -#: pg_dump.c:7150 pg_dump.c:7417 pg_dump.c:7888 pg_dump.c:8552 pg_dump.c:8671 -#: pg_dump.c:8819 +#: pg_dump.c:7583 pg_dump.c:7857 pg_dump.c:8304 pg_dump.c:8918 pg_dump.c:9040 +#: pg_dump.c:9188 #, c-format msgid "unrecognized table OID %u" msgstr "OID de table %u non reconnu" -#: pg_dump.c:7154 +#: pg_dump.c:7587 #, c-format msgid "unexpected index data for table \"%s\"" msgstr "données d'index inattendu pour la table « %s »" -#: pg_dump.c:7649 +#: pg_dump.c:8089 #, c-format msgid "failed sanity check, parent table with OID %u of pg_rewrite entry with OID %u not found" msgstr "vérification échouée, OID %u de la table parent de l'OID %u de l'entrée de pg_rewrite introuvable" -#: pg_dump.c:7940 -#, c-format -msgid "query produced null referenced table name for foreign key trigger \"%s\" on table \"%s\" (OID of table: %u)" -msgstr "la requête a produit une réference de nom de table null pour le trigger de la clé étrangère « %s » sur la table « %s » (OID de la table : %u)" - -#: pg_dump.c:8556 +#: pg_dump.c:8922 #, c-format msgid "unexpected column data for table \"%s\"" msgstr "données de colonne inattendues pour la table « %s »" -#: pg_dump.c:8585 +#: pg_dump.c:8951 #, c-format msgid "invalid column numbering in table \"%s\"" msgstr "numérotation des colonnes invalide pour la table « %s »" -#: pg_dump.c:8633 +#: pg_dump.c:9002 #, c-format msgid "finding table default expressions" msgstr "recherche des expressions par défaut de la table" -#: pg_dump.c:8675 +#: pg_dump.c:9044 #, c-format msgid "invalid adnum value %d for table \"%s\"" msgstr "valeur adnum %d invalide pour la table « %s »" -#: pg_dump.c:8769 +#: pg_dump.c:9138 #, c-format msgid "finding table check constraints" msgstr "recherche des contraintes CHECK de la table" -#: pg_dump.c:8823 +#: pg_dump.c:9192 #, 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" msgstr[0] "%d contrainte de vérification attendue pour la table « %s » mais %d trouvée" msgstr[1] "%d contraintes de vérification attendues pour la table « %s » mais %d trouvée" -#: pg_dump.c:8827 +#: pg_dump.c:9196 #, c-format msgid "The system catalogs might be corrupted." msgstr "Les catalogues système pourraient être corrompus." -#: pg_dump.c:9517 +#: pg_dump.c:9886 #, c-format msgid "role with OID %u does not exist" msgstr "le rôle d'OID %u n'existe pas" -#: pg_dump.c:9629 pg_dump.c:9658 +#: pg_dump.c:9998 pg_dump.c:10027 #, c-format msgid "unsupported pg_init_privs entry: %u %u %d" msgstr "entrée pg_init_privs non supportée : %u %u %d" -#: pg_dump.c:10479 +#: pg_dump.c:10574 +#, c-format +msgid "missing metadata for large objects \"%s\"" +msgstr "métadonnée manquante pour les Large Object « %s »" + +#: pg_dump.c:10857 #, c-format msgid "typtype of data type \"%s\" appears to be invalid" msgstr "la colonne typtype du type de données « %s » semble être invalide" -#: pg_dump.c:12053 +#: pg_dump.c:12431 #, c-format msgid "unrecognized provolatile value for function \"%s\"" msgstr "valeur provolatile non reconnue pour la fonction « %s »" -#: pg_dump.c:12103 pg_dump.c:13985 +#: pg_dump.c:12481 pg_dump.c:14377 #, c-format msgid "unrecognized proparallel value for function \"%s\"" msgstr "valeur proparallel non reconnue pour la fonction « %s »" -#: pg_dump.c:12233 pg_dump.c:12339 pg_dump.c:12346 +#: pg_dump.c:12611 pg_dump.c:12717 pg_dump.c:12724 #, c-format msgid "could not find function definition for function with OID %u" msgstr "n'a pas pu trouver la définition de la fonction d'OID %u" -#: pg_dump.c:12272 +#: pg_dump.c:12650 #, c-format msgid "bogus value in pg_cast.castfunc or pg_cast.castmethod field" msgstr "valeur erronée dans le champ pg_cast.castfunc ou pg_cast.castmethod" -#: pg_dump.c:12275 +#: pg_dump.c:12653 #, c-format msgid "bogus value in pg_cast.castmethod field" msgstr "valeur erronée dans pg_cast.castmethod" -#: pg_dump.c:12365 +#: pg_dump.c:12743 #, c-format msgid "bogus transform definition, at least one of trffromsql and trftosql should be nonzero" msgstr "définition de transformation invalide, au moins un de trffromsql et trftosql ne doit pas valoir 0" -#: pg_dump.c:12382 +#: pg_dump.c:12760 #, c-format msgid "bogus value in pg_transform.trffromsql field" msgstr "valeur erronée dans pg_transform.trffromsql" -#: pg_dump.c:12403 +#: pg_dump.c:12781 #, c-format msgid "bogus value in pg_transform.trftosql field" msgstr "valeur erronée dans pg_transform.trftosql" -#: pg_dump.c:12548 +#: pg_dump.c:12926 #, c-format msgid "postfix operators are not supported anymore (operator \"%s\")" msgstr "les opérateurs postfixes ne sont plus supportés (opérateur « %s »)" -#: pg_dump.c:12718 +#: pg_dump.c:13096 #, c-format msgid "could not find operator with OID %s" msgstr "n'a pas pu trouver l'opérateur d'OID %s" -#: pg_dump.c:12786 +#: pg_dump.c:13164 #, c-format msgid "invalid type \"%c\" of access method \"%s\"" msgstr "type « %c » invalide de la méthode d'accès « %s »" -#: pg_dump.c:13455 pg_dump.c:13514 +#: pg_dump.c:13838 pg_dump.c:13906 #, c-format msgid "unrecognized collation provider: %s" msgstr "fournisseur de collationnement non reconnu : %s" -#: pg_dump.c:13464 pg_dump.c:13473 pg_dump.c:13483 pg_dump.c:13498 +#: pg_dump.c:13847 pg_dump.c:13854 pg_dump.c:13865 pg_dump.c:13875 +#: pg_dump.c:13890 #, c-format msgid "invalid collation \"%s\"" msgstr "collation « %s » invalide" -#: pg_dump.c:13904 +#: pg_dump.c:14296 #, c-format msgid "unrecognized aggfinalmodify value for aggregate \"%s\"" msgstr "valeur non reconnue de aggfinalmodify pour l'agrégat « %s »" -#: pg_dump.c:13960 +#: pg_dump.c:14352 #, c-format msgid "unrecognized aggmfinalmodify value for aggregate \"%s\"" msgstr "valeur non reconnue de aggmfinalmodify pour l'agrégat « %s »" -#: pg_dump.c:14677 +#: pg_dump.c:15069 #, c-format msgid "unrecognized object type in default privileges: %d" msgstr "type d'objet inconnu dans les droits par défaut : %d" -#: pg_dump.c:14693 +#: pg_dump.c:15085 #, c-format msgid "could not parse default ACL list (%s)" msgstr "n'a pas pu analyser la liste ACL par défaut (%s)" -#: pg_dump.c:14775 +#: pg_dump.c:15169 #, c-format msgid "could not parse initial ACL list (%s) or default (%s) for object \"%s\" (%s)" msgstr "n'a pas pu analyser la liste ACL initiale (%s) ou par défaut (%s) pour l'objet « %s » (%s)" -#: pg_dump.c:14800 +#: pg_dump.c:15194 #, c-format msgid "could not parse ACL list (%s) or default (%s) for object \"%s\" (%s)" msgstr "n'a pas pu analyser la liste ACL (%s) ou par défaut (%s) pour l'objet « %s » (%s)" -#: pg_dump.c:15341 +#: pg_dump.c:15737 #, c-format msgid "query to obtain definition of view \"%s\" returned no data" msgstr "la requête permettant d'obtenir la définition de la vue « %s » n'a renvoyé aucune donnée" -#: pg_dump.c:15344 +#: pg_dump.c:15740 #, c-format msgid "query to obtain definition of view \"%s\" returned more than one definition" msgstr "la requête permettant d'obtenir la définition de la vue « %s » a renvoyé plusieurs définitions" -#: pg_dump.c:15351 +#: pg_dump.c:15747 #, c-format msgid "definition of view \"%s\" appears to be empty (length zero)" msgstr "la définition de la vue « %s » semble être vide (longueur nulle)" -#: pg_dump.c:15435 +#: pg_dump.c:15832 #, c-format msgid "WITH OIDS is not supported anymore (table \"%s\")" msgstr "WITH OIDS n'est plus supporté (table « %s »)" -#: pg_dump.c:16359 +#: pg_dump.c:16819 #, c-format msgid "invalid column number %d for table \"%s\"" msgstr "numéro de colonne %d invalide pour la table « %s »" -#: pg_dump.c:16437 +#: pg_dump.c:16897 #, c-format msgid "could not parse index statistic columns" msgstr "n'a pas pu analyser les colonnes statistiques de l'index" -#: pg_dump.c:16439 +#: pg_dump.c:16899 #, c-format msgid "could not parse index statistic values" msgstr "n'a pas pu analyser les valeurs statistiques de l'index" -#: pg_dump.c:16441 +#: pg_dump.c:16901 #, c-format msgid "mismatched number of columns and values for index statistics" msgstr "nombre de colonnes et de valeurs différentes pour les statistiques des index" -#: pg_dump.c:16657 +#: pg_dump.c:17116 #, c-format msgid "missing index for constraint \"%s\"" msgstr "index manquant pour la contrainte « %s »" -#: pg_dump.c:16892 +#: pg_dump.c:17351 #, c-format msgid "unrecognized constraint type: %c" msgstr "type de contrainte inconnu : %c" -#: pg_dump.c:16993 pg_dump.c:17222 +#: pg_dump.c:17452 pg_dump.c:17681 #, 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)" msgstr[0] "la requête permettant d'obtenir les données de la séquence « %s » a renvoyé %d ligne (une seule attendue)" msgstr[1] "la requête permettant d'obtenir les données de la séquence « %s » a renvoyé %d ligne (une seule attendue)" -#: pg_dump.c:17025 +#: pg_dump.c:17484 #, c-format msgid "unrecognized sequence type: %s" msgstr "type de séquence non reconnu : « %s »" -#: pg_dump.c:17314 -#, c-format -msgid "unexpected tgtype value: %d" -msgstr "valeur tgtype inattendue : %d" - -#: pg_dump.c:17386 -#, c-format -msgid "invalid argument string (%s) for trigger \"%s\" on table \"%s\"" -msgstr "chaîne argument invalide (%s) pour le trigger « %s » sur la table « %s »" - -#: pg_dump.c:17655 +#: pg_dump.c:17998 #, c-format msgid "query to get rule \"%s\" for table \"%s\" failed: wrong number of rows returned" msgstr "la requête permettant d'obtenir la règle « %s » associée à la table « %s » a échoué : mauvais nombre de lignes renvoyées" -#: pg_dump.c:17808 +#: pg_dump.c:18151 #, c-format msgid "could not find referenced extension %u" msgstr "n'a pas pu trouver l'extension référencée %u" -#: pg_dump.c:17898 +#: pg_dump.c:18250 #, c-format msgid "mismatched number of configurations and conditions for extension" msgstr "nombre différent de configurations et de conditions pour l'extension" -#: pg_dump.c:18030 +#: pg_dump.c:18382 #, c-format msgid "reading dependency data" msgstr "lecture des données de dépendance" -#: pg_dump.c:18116 +#: pg_dump.c:18468 #, c-format msgid "no referencing object %u %u" msgstr "pas d'objet référant %u %u" -#: pg_dump.c:18127 +#: pg_dump.c:18479 #, c-format msgid "no referenced object %u %u" msgstr "pas d'objet référencé %u %u" -#: pg_dump_sort.c:422 +#: pg_dump.c:18904 pg_dump.c:18942 pg_dumpall.c:1962 pg_restore.c:551 +#: pg_restore.c:597 +#, c-format +msgid "%s filter for \"%s\" is not allowed" +msgstr "filtre %s pour « %s » n'est pas autorisé" + +#: pg_dump_sort.c:424 #, c-format msgid "invalid dumpId %d" msgstr "dumpId %d invalide" -#: pg_dump_sort.c:428 +#: pg_dump_sort.c:430 #, c-format msgid "invalid dependency %d" msgstr "dépendance invalide %d" -#: pg_dump_sort.c:661 +#: pg_dump_sort.c:594 #, c-format msgid "could not identify dependency loop" msgstr "n'a pas pu identifier la boucle de dépendance" -#: pg_dump_sort.c:1276 +#: pg_dump_sort.c:1209 #, 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] "NOTE : il existe des constraintes de clés étrangères circulaires sur cette table :" -msgstr[1] "NOTE : il existe des constraintes de clés étrangères circulaires sur ces tables :" +msgstr[0] "NOTE : il existe des contraintes de clés étrangères circulaires sur cette table :" +msgstr[1] "NOTE : il existe des contraintes de clés étrangères circulaires sur ces tables :" -#: pg_dump_sort.c:1281 +#: pg_dump_sort.c:1214 #, c-format msgid "You might not be able to restore the dump without using --disable-triggers or temporarily dropping the constraints." -msgstr "Il est possible de restaurer la sauvegarde sans utiliser --disable-triggers ou sans supprimer temporairement les constraintes." +msgstr "Il est possible de restaurer la sauvegarde sans utiliser --disable-triggers ou sans supprimer temporairement les contraintes." -#: pg_dump_sort.c:1282 +#: pg_dump_sort.c:1215 #, c-format msgid "Consider using a full dump instead of a --data-only dump to avoid this problem." msgstr "Considérez l'utilisation d'une sauvegarde complète au lieu d'une sauvegarde des données seulement pour éviter ce problème." -#: pg_dump_sort.c:1294 +#: pg_dump_sort.c:1227 #, c-format msgid "could not resolve dependency loop among these items:" msgstr "n'a pas pu résoudre la boucle de dépendances parmi ces éléments :" -#: pg_dumpall.c:230 +#: pg_dumpall.c:231 #, c-format msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"" msgstr "le programme « %s » est nécessaire pour %s, mais n'a pas été trouvé dans le même répertoire que « %s »" -#: pg_dumpall.c:233 +#: pg_dumpall.c:234 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" msgstr "le programme « %s » a été trouvé par « %s » mais n'est pas de la même version que %s" -#: pg_dumpall.c:382 +#: pg_dumpall.c:387 #, c-format msgid "option --exclude-database cannot be used together with -g/--globals-only, -r/--roles-only, or -t/--tablespaces-only" msgstr "l'option --exclude-database ne peut pas être utilisée avec -g/--globals-only, -r/--roles-only ou -t/--tablespaces-only" -#: pg_dumpall.c:390 +#: pg_dumpall.c:395 #, c-format msgid "options -g/--globals-only and -r/--roles-only cannot be used together" msgstr "les options « -g/--globals-only » et « -r/--roles-only » ne peuvent pas être utilisées ensemble" -#: pg_dumpall.c:397 +#: pg_dumpall.c:402 #, c-format msgid "options -g/--globals-only and -t/--tablespaces-only cannot be used together" msgstr "les options « -g/--globals-only » et « -t/--tablespaces-only » ne peuvent pas être utilisées ensemble" -#: pg_dumpall.c:407 +#: pg_dumpall.c:412 #, c-format msgid "options -r/--roles-only and -t/--tablespaces-only cannot be used together" msgstr "les options « -r/--roles-only » et « -t/--tablespaces-only » ne peuvent pas être utilisées ensemble" -#: pg_dumpall.c:469 pg_dumpall.c:1750 +#: pg_dumpall.c:474 pg_dumpall.c:1771 #, c-format msgid "could not connect to database \"%s\"" msgstr "n'a pas pu se connecter à la base de données « %s »" -#: pg_dumpall.c:481 +#: pg_dumpall.c:486 #, c-format msgid "" "could not connect to databases \"postgres\" or \"template1\"\n" @@ -2432,7 +2586,7 @@ msgstr "" "n'a pas pu se connecter aux bases « postgres » et « template1 ».\n" "Merci de préciser une autre base de données." -#: pg_dumpall.c:629 +#: pg_dumpall.c:634 #, c-format msgid "" "%s extracts a PostgreSQL database cluster into an SQL script file.\n" @@ -2442,57 +2596,57 @@ msgstr "" "commandes SQL.\n" "\n" -#: pg_dumpall.c:631 +#: pg_dumpall.c:636 #, c-format msgid " %s [OPTION]...\n" msgstr " %s [OPTION]...\n" -#: pg_dumpall.c:634 +#: pg_dumpall.c:639 #, c-format msgid " -f, --file=FILENAME output file name\n" msgstr " -f, --file=FICHIER nom du fichier de sortie\n" -#: pg_dumpall.c:641 +#: pg_dumpall.c:646 #, c-format msgid " -c, --clean clean (drop) databases before recreating\n" msgstr "" " -c, --clean nettoie (supprime) les bases de données avant de\n" " les créer\n" -#: pg_dumpall.c:643 +#: pg_dumpall.c:648 #, c-format msgid " -g, --globals-only dump only global objects, no databases\n" msgstr "" " -g, --globals-only sauvegarde uniquement les objets système, pas\n" " le contenu des bases de données\n" -#: pg_dumpall.c:644 pg_restore.c:456 +#: pg_dumpall.c:649 pg_restore.c:475 #, c-format msgid " -O, --no-owner skip restoration of object ownership\n" msgstr " -O, --no-owner omet la restauration des propriétaires des objets\n" -#: pg_dumpall.c:645 +#: pg_dumpall.c:650 #, c-format msgid " -r, --roles-only dump only roles, no databases or tablespaces\n" msgstr "" " -r, --roles-only sauvegarde uniquement les rôles, pas les bases\n" " de données ni les tablespaces\n" -#: pg_dumpall.c:647 +#: pg_dumpall.c:652 #, c-format msgid " -S, --superuser=NAME superuser user name to use in the dump\n" msgstr "" " -S, --superuser=NOM indique le nom du super-utilisateur à utiliser\n" " avec le format texte\n" -#: pg_dumpall.c:648 +#: pg_dumpall.c:653 #, c-format msgid " -t, --tablespaces-only dump only tablespaces, no databases or roles\n" msgstr "" " -t, --tablespaces-only sauvegarde uniquement les tablespaces, pas les\n" " bases de données ni les rôles\n" -#: pg_dumpall.c:654 +#: pg_dumpall.c:659 #, c-format msgid " --exclude-database=PATTERN exclude databases whose name matches PATTERN\n" msgstr "" @@ -2501,20 +2655,25 @@ msgstr "" #: pg_dumpall.c:661 #, c-format +msgid " --filter=FILENAME exclude databases based on expressions in FILENAME\n" +msgstr " -f, --file=FICHIER exclut les bases indiquées sous forme d'expressions dans FICHIER\n" + +#: pg_dumpall.c:667 +#, c-format msgid " --no-role-passwords do not dump passwords for roles\n" msgstr " --no-role-passwords ne sauvegarde pas les mots de passe des rôles\n" -#: pg_dumpall.c:677 +#: pg_dumpall.c:683 #, c-format msgid " -d, --dbname=CONNSTR connect using connection string\n" msgstr " -d, --dbname=CHAINE_CONNEX connexion à l'aide de la chaîne de connexion\n" -#: pg_dumpall.c:679 +#: pg_dumpall.c:685 #, c-format msgid " -l, --database=DBNAME alternative default database\n" msgstr " -l, --database=BASE indique une autre base par défaut\n" -#: pg_dumpall.c:686 +#: pg_dumpall.c:692 #, c-format msgid "" "\n" @@ -2527,97 +2686,106 @@ msgstr "" "standard.\n" "\n" -#: pg_dumpall.c:828 +#: pg_dumpall.c:837 #, c-format msgid "role name starting with \"pg_\" skipped (%s)" msgstr "nom de rôle commençant par « pg_ » ignoré (« %s »)" -#: pg_dumpall.c:1050 +#: pg_dumpall.c:1059 #, c-format msgid "could not find a legal dump ordering for memberships in role \"%s\"" msgstr "n'a pas pu trouver un ordre de sauvegarde correct pour les appartenances au rôle « %s »" -#: pg_dumpall.c:1185 +#: pg_dumpall.c:1194 #, c-format msgid "could not parse ACL list (%s) for parameter \"%s\"" msgstr "n'a pas pu analyser la liste d'ACL (%s) pour le paramètre « %s »" -#: pg_dumpall.c:1303 +#: pg_dumpall.c:1321 #, c-format msgid "could not parse ACL list (%s) for tablespace \"%s\"" msgstr "n'a pas pu analyser la liste d'ACL (%s) pour le tablespace « %s »" -#: pg_dumpall.c:1510 +#: pg_dumpall.c:1528 #, c-format msgid "excluding database \"%s\"" msgstr "exclusion de la base de données « %s »" -#: pg_dumpall.c:1514 +#: pg_dumpall.c:1532 #, c-format msgid "dumping database \"%s\"" msgstr "sauvegarde de la base de données « %s »" -#: pg_dumpall.c:1545 +#: pg_dumpall.c:1563 #, c-format msgid "pg_dump failed on database \"%s\", exiting" msgstr "échec de pg_dump sur la base de données « %s », quitte" -#: pg_dumpall.c:1551 +#: pg_dumpall.c:1569 #, c-format msgid "could not re-open the output file \"%s\": %m" msgstr "n'a pas pu ré-ouvrir le fichier de sortie « %s » : %m" -#: pg_dumpall.c:1592 +#: pg_dumpall.c:1613 #, c-format msgid "running \"%s\"" msgstr "exécute « %s »" -#: pg_dumpall.c:1793 +#: pg_dumpall.c:1814 #, c-format msgid "could not get server version" msgstr "n'a pas pu obtenir la version du serveur" -#: pg_dumpall.c:1796 +#: pg_dumpall.c:1817 #, c-format msgid "could not parse server version \"%s\"" msgstr "n'a pas pu analyser la version du serveur « %s »" -#: pg_dumpall.c:1866 pg_dumpall.c:1889 +#: pg_dumpall.c:1887 pg_dumpall.c:1910 #, c-format msgid "executing %s" msgstr "exécution %s" -#: pg_restore.c:313 +#: pg_dumpall.c:1982 +msgid "unsupported filter object" +msgstr "objet de filtre non supporté" + +#: pg_restore.c:329 #, c-format msgid "one of -d/--dbname and -f/--file must be specified" msgstr "une seule des options -d/--dbname and -f/--file peut être indiquée" -#: pg_restore.c:320 +#: pg_restore.c:336 #, c-format msgid "options -d/--dbname and -f/--file cannot be used together" msgstr "les options « -d/--dbname » et « -f/--file » ne peuvent pas être utilisées ensemble" -#: pg_restore.c:338 +#: pg_restore.c:350 +#, c-format +msgid "options -1/--single-transaction and --transaction-size cannot be used together" +msgstr "les options -1/--single-transaction » et --transaction-size ne peuvent pas être utilisées ensemble" + +#: pg_restore.c:357 #, c-format msgid "options -C/--create and -1/--single-transaction cannot be used together" msgstr "les options « -C/--create » et « -1/--single-transaction » ne peuvent pas être utilisées ensemble" -#: pg_restore.c:342 +#: pg_restore.c:361 #, c-format msgid "cannot specify both --single-transaction and multiple jobs" msgstr "ne peut pas spécifier à la fois l'option --single-transaction et demander plusieurs jobs" -#: pg_restore.c:380 +#: pg_restore.c:399 #, c-format msgid "unrecognized archive format \"%s\"; please specify \"c\", \"d\", or \"t\"" msgstr "format d'archive « %s » non reconnu ; merci d'indiquer « c », « d » ou « t »" -#: pg_restore.c:419 +#: pg_restore.c:438 #, c-format msgid "errors ignored on restore: %d" msgstr "erreurs ignorées lors de la restauration : %d" -#: pg_restore.c:432 +#: pg_restore.c:451 #, c-format msgid "" "%s restores a PostgreSQL database from an archive created by pg_dump.\n" @@ -2627,51 +2795,51 @@ msgstr "" "par pg_dump.\n" "\n" -#: pg_restore.c:434 +#: pg_restore.c:453 #, c-format msgid " %s [OPTION]... [FILE]\n" msgstr " %s [OPTION]... [FICHIER]\n" -#: pg_restore.c:437 +#: pg_restore.c:456 #, c-format msgid " -d, --dbname=NAME connect to database name\n" msgstr "" " -d, --dbname=NOM nom de la base de données utilisée pour la\n" " connexion\n" -#: pg_restore.c:438 +#: pg_restore.c:457 #, c-format msgid " -f, --file=FILENAME output file name (- for stdout)\n" msgstr " -f, --file=FICHIER nom du fichier de sortie (- pour stdout)\n" -#: pg_restore.c:439 +#: pg_restore.c:458 #, c-format msgid " -F, --format=c|d|t backup file format (should be automatic)\n" msgstr "" " -F, --format=c|d|t format du fichier de sauvegarde (devrait être\n" " automatique)\n" -#: pg_restore.c:440 +#: pg_restore.c:459 #, c-format msgid " -l, --list print summarized TOC of the archive\n" msgstr " -l, --list affiche la table des matières de l'archive (TOC)\n" -#: pg_restore.c:441 +#: pg_restore.c:460 #, c-format msgid " -v, --verbose verbose mode\n" msgstr " -v, --verbose mode verbeux\n" -#: pg_restore.c:442 +#: pg_restore.c:461 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version affiche la version puis quitte\n" -#: pg_restore.c:443 +#: pg_restore.c:462 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help affiche cette aide puis quitte\n" -#: pg_restore.c:445 +#: pg_restore.c:464 #, c-format msgid "" "\n" @@ -2680,34 +2848,34 @@ msgstr "" "\n" "Options contrôlant la restauration :\n" -#: pg_restore.c:446 +#: pg_restore.c:465 #, c-format msgid " -a, --data-only restore only the data, no schema\n" msgstr " -a, --data-only restaure uniquement les données, pas la structure\n" -#: pg_restore.c:448 +#: pg_restore.c:467 #, c-format msgid " -C, --create create the target database\n" msgstr " -C, --create crée la base de données cible\n" -#: pg_restore.c:449 +#: pg_restore.c:468 #, c-format msgid " -e, --exit-on-error exit on error, default is to continue\n" msgstr " -e, --exit-on-error quitte en cas d'erreur, continue par défaut\n" -#: pg_restore.c:450 +#: pg_restore.c:469 #, c-format msgid " -I, --index=NAME restore named index\n" msgstr " -I, --index=NOM restaure l'index indiqué\n" -#: pg_restore.c:451 +#: pg_restore.c:470 #, c-format msgid " -j, --jobs=NUM use this many parallel jobs to restore\n" msgstr "" " -j, --jobs=NOMBRE utilise ce nombre de jobs en parallèle pour la\n" " restauration\n" -#: pg_restore.c:452 +#: pg_restore.c:471 #, c-format msgid "" " -L, --use-list=FILENAME use table of contents from this file for\n" @@ -2716,66 +2884,75 @@ msgstr "" " -L, --use-list=FICHIER utilise la table des matières à partir de ce\n" " fichier pour sélectionner/trier la sortie\n" -#: pg_restore.c:454 +#: pg_restore.c:473 #, c-format msgid " -n, --schema=NAME restore only objects in this schema\n" msgstr " -n, --schema=NOM restaure uniquement les objets de ce schéma\n" -#: pg_restore.c:455 +#: pg_restore.c:474 #, c-format msgid " -N, --exclude-schema=NAME do not restore objects in this schema\n" msgstr " -N, --exclude-schema=NOM ne restaure pas les objets de ce schéma\n" -#: pg_restore.c:457 +#: pg_restore.c:476 #, c-format msgid " -P, --function=NAME(args) restore named function\n" msgstr " -P, --function=NOM(args) restaure la fonction indiquée\n" -#: pg_restore.c:458 +#: pg_restore.c:477 #, c-format msgid " -s, --schema-only restore only the schema, no data\n" msgstr " -s, --schema-only restaure uniquement la structure, pas les données\n" -#: pg_restore.c:459 +#: pg_restore.c:478 #, c-format msgid " -S, --superuser=NAME superuser user name to use for disabling triggers\n" msgstr "" " -S, --superuser=NOM indique le nom du super-utilisateur à utiliser\n" " pour désactiver les triggers\n" -#: pg_restore.c:460 +#: pg_restore.c:479 #, c-format msgid " -t, --table=NAME restore named relation (table, view, etc.)\n" msgstr " -t, --table=NOM restaure la relation indiquée (table, vue, etc)\n" -#: pg_restore.c:461 +#: pg_restore.c:480 #, c-format msgid " -T, --trigger=NAME restore named trigger\n" msgstr " -T, --trigger=NOM restaure le trigger indiqué\n" -#: pg_restore.c:462 +#: pg_restore.c:481 #, c-format msgid " -x, --no-privileges skip restoration of access privileges (grant/revoke)\n" msgstr "" " -x, --no-privileges omet la restauration des droits sur les objets\n" " (grant/revoke)\n" -#: pg_restore.c:463 +#: pg_restore.c:482 #, c-format msgid " -1, --single-transaction restore as a single transaction\n" msgstr " -1, --single-transaction restaure dans une seule transaction\n" -#: pg_restore.c:465 +#: pg_restore.c:484 #, c-format msgid " --enable-row-security enable row security\n" msgstr " --enable-row-security active la sécurité niveau ligne\n" -#: pg_restore.c:467 +#: pg_restore.c:485 +#, c-format +msgid "" +" --filter=FILENAME restore or skip objects based on expressions\n" +" in FILENAME\n" +msgstr "" +" --filter=NOMFICHIER restaure ou ignore les objets suivant des expressions\n" +" dans NOMFICHIER\n" + +#: pg_restore.c:488 #, c-format msgid " --no-comments do not restore comments\n" msgstr " --no-comments ne restaure pas les commentaires\n" -#: pg_restore.c:468 +#: pg_restore.c:489 #, c-format msgid "" " --no-data-for-failed-tables do not restore data of tables that could not be\n" @@ -2784,44 +2961,49 @@ msgstr "" " --no-data-for-failed-tables ne restaure pas les données des tables qui n'ont\n" " pas pu être créées\n" -#: pg_restore.c:470 +#: pg_restore.c:491 #, c-format msgid " --no-publications do not restore publications\n" msgstr " --no-publications ne restaure pas les publications\n" -#: pg_restore.c:471 +#: pg_restore.c:492 #, c-format msgid " --no-security-labels do not restore security labels\n" msgstr " --no-security-labels ne restaure pas les labels de sécurité\n" -#: pg_restore.c:472 +#: pg_restore.c:493 #, c-format msgid " --no-subscriptions do not restore subscriptions\n" msgstr " --no-subscriptions ne restaure pas les souscriptions\n" -#: pg_restore.c:473 +#: pg_restore.c:494 #, c-format msgid " --no-table-access-method do not restore table access methods\n" msgstr " --no-table-access-method ne restaure pas les méthodes d'accès aux tables\n" -#: pg_restore.c:474 +#: pg_restore.c:495 #, c-format msgid " --no-tablespaces do not restore tablespace assignments\n" msgstr " --no-tablespaces ne restaure pas les affectations de tablespaces\n" -#: pg_restore.c:475 +#: pg_restore.c:496 #, c-format msgid " --section=SECTION restore named section (pre-data, data, or post-data)\n" msgstr "" " --section=SECTION restaure la section indiquée (pre-data, data ou\n" " post-data)\n" -#: pg_restore.c:488 +#: pg_restore.c:499 +#, c-format +msgid " --transaction-size=N commit after every N objects\n" +msgstr " --transaction-size=N valide après N objets\n" + +#: pg_restore.c:510 #, c-format msgid " --role=ROLENAME do SET ROLE before restore\n" msgstr " --role=RÔLE exécute SET ROLE avant la restauration\n" -#: pg_restore.c:490 +#: pg_restore.c:512 #, c-format msgid "" "\n" @@ -2832,7 +3014,7 @@ msgstr "" "Les options -I, -n, -N, -P, -t, -T et --section peuvent être combinées et\n" "indiquées plusieurs fois pour sélectionner plusieurs objets.\n" -#: pg_restore.c:493 +#: pg_restore.c:515 #, c-format msgid "" "\n" @@ -2843,755 +3025,3 @@ msgstr "" "Si aucun nom de fichier n'est fourni en entrée, alors l'entrée standard est\n" "utilisée.\n" "\n" - -#, c-format -#~ msgid " %s" -#~ msgstr " %s" - -#~ msgid " --disable-triggers disable triggers during data-only restore\n" -#~ msgstr "" -#~ " --disable-triggers désactiver les déclencheurs lors de la\n" -#~ " restauration des données seules\n" - -#~ msgid " --help show this help, then exit\n" -#~ msgstr " --help affiche cette aide puis quitte\n" - -#~ msgid " --help show this help, then exit\n" -#~ msgstr " --help affiche cette aide et quitte\n" - -#, c-format -#~ msgid " --no-synchronized-snapshots do not use synchronized snapshots in parallel jobs\n" -#~ msgstr "" -#~ " --no-synchronized-snapshots n'utilise pas de snapshots synchronisés pour les\n" -#~ " jobs en parallèle\n" - -#~ msgid "" -#~ " --use-set-session-authorization\n" -#~ " use SET SESSION AUTHORIZATION commands instead of\n" -#~ " ALTER OWNER commands to set ownership\n" -#~ msgstr "" -#~ " --use-set-session-authorization\n" -#~ " utilise les commandes SET SESSION AUTHORIZATION\n" -#~ " au lieu des commandes ALTER OWNER pour les\n" -#~ " modifier les propriétaires\n" - -#~ msgid " --version output version information, then exit\n" -#~ msgstr " --version affiche la version puis quitte\n" - -#~ msgid " --version output version information, then exit\n" -#~ msgstr " --version affiche la version et quitte\n" - -#~ msgid " -O, --no-owner skip restoration of object ownership\n" -#~ msgstr "" -#~ " -O, --no-owner omettre la restauration des possessions des\n" -#~ " objets\n" - -#, c-format -#~ msgid " -Z, --compress=0-9 compression level for compressed formats\n" -#~ msgstr "" -#~ " -Z, --compress=0-9 niveau de compression pour les formats\n" -#~ " compressés\n" - -#~ msgid " -c, --clean clean (drop) database objects before recreating\n" -#~ msgstr "" -#~ " -c, --clean nettoie/supprime les bases de données avant de\n" -#~ " les créer\n" - -#~ msgid " -o, --oids include OIDs in dump\n" -#~ msgstr " -o, --oids inclut les OID dans la sauvegarde\n" - -#~ msgid "%s: could not connect to database \"%s\": %s" -#~ msgstr "%s : n'a pas pu se connecter à la base de données « %s » : %s" - -#~ msgid "%s: could not open the output file \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu ouvrir le fichier de sauvegarde « %s » : %s\n" - -#~ msgid "%s: could not parse ACL list (%s) for database \"%s\"\n" -#~ msgstr "%s : n'a pas pu analyser la liste d'ACL (%s) pour la base de données « %s »\n" - -#~ msgid "%s: could not parse version \"%s\"\n" -#~ msgstr "%s : n'a pas pu analyser la version « %s »\n" - -#~ msgid "%s: executing %s\n" -#~ msgstr "%s : exécute %s\n" - -#~ msgid "%s: invalid -X option -- %s\n" -#~ msgstr "%s : option -X invalide -- %s\n" - -#~ msgid "%s: invalid client encoding \"%s\" specified\n" -#~ msgstr "%s : encodage client indiqué (« %s ») invalide\n" - -#~ msgid "%s: invalid number of parallel jobs\n" -#~ msgstr "%s : nombre de jobs en parallèle invalide\n" - -#~ msgid "%s: option --if-exists requires option -c/--clean\n" -#~ msgstr "%s : l'option --if-exists nécessite l'option -c/--clean\n" - -#~ msgid "%s: options -c/--clean and -a/--data-only cannot be used together\n" -#~ msgstr "" -#~ "%s : les options « -c/--clean » et « -a/--data-only » ne peuvent pas être\n" -#~ "utilisées conjointement\n" - -#~ msgid "%s: options -s/--schema-only and -a/--data-only cannot be used together\n" -#~ msgstr "" -#~ "%s : les options « -s/--schema-only » et « -a/--data-only » ne peuvent pas être\n" -#~ "utilisées conjointement\n" - -#~ msgid "%s: out of memory\n" -#~ msgstr "%s : mémoire épuisée\n" - -#~ msgid "%s: query failed: %s" -#~ msgstr "%s : échec de la requête : %s" - -#~ msgid "%s: query was: %s\n" -#~ msgstr "%s : la requête était : %s\n" - -#~ msgid "%s: too many command-line arguments (first is \"%s\")\n" -#~ msgstr "%s : trop d'arguments en ligne de commande (le premier étant « %s »)\n" - -#~ msgid "(The INSERT command cannot set OIDs.)\n" -#~ msgstr "(La commande INSERT ne peut pas positionner les OID.)\n" - -#~ msgid "*** aborted because of error\n" -#~ msgstr "*** interrompu du fait d'erreurs\n" - -#~ msgid "-C and -1 are incompatible options\n" -#~ msgstr "-C et -1 sont des options incompatibles\n" - -#~ msgid "-C and -c are incompatible options\n" -#~ msgstr "-C et -c sont des options incompatibles\n" - -#~ msgid "LOCK TABLE failed for \"%s\": %s" -#~ msgstr "LOCK TABLE échoué pour la table « %s » : %s" - -#~ msgid "Report bugs to .\n" -#~ msgstr "Rapporter les bogues à .\n" - -#~ msgid "Report bugs to .\n" -#~ msgstr "Rapporter les bogues à .\n" - -#~ msgid "SQL command failed\n" -#~ msgstr "la commande SQL a échoué\n" - -#, c-format -#~ msgid "" -#~ "Synchronized snapshots are not supported by this server version.\n" -#~ "Run with --no-synchronized-snapshots instead if you do not need\n" -#~ "synchronized snapshots." -#~ msgstr "" -#~ "Les snapshots synchronisés ne sont pas supportés par cette version serveur.\n" -#~ "Lancez avec --no-synchronized-snapshots à la place si vous n'avez pas besoin\n" -#~ "de snapshots synchronisés." - -#~ msgid "" -#~ "Synchronized snapshots are not supported on standby servers.\n" -#~ "Run with --no-synchronized-snapshots instead if you do not need\n" -#~ "synchronized snapshots.\n" -#~ msgstr "" -#~ "Les snapshots synchronisés ne sont pas supportés sur les serveurs de stadby.\n" -#~ "Lancez avec --no-synchronized-snapshots à la place si vous n'avez pas besoin\n" -#~ "de snapshots synchronisés.\n" - -#, c-format -#~ msgid "" -#~ "Synchronized snapshots on standby servers are not supported by this server version.\n" -#~ "Run with --no-synchronized-snapshots instead if you do not need\n" -#~ "synchronized snapshots." -#~ msgstr "" -#~ "Les snapshots synchronisés sur les serveurs standbys ne sont pas supportés par cette version serveur.\n" -#~ "Lancez avec --no-synchronized-snapshots à la place si vous n'avez pas besoin\n" -#~ "de snapshots synchronisés." - -#~ msgid "TOC Entry %s at %s (length %s, checksum %d)\n" -#~ msgstr "entrée TOC %s à %s (longueur %s, somme de contrôle %d)\n" - -#, c-format -#~ msgid "The command was: %s" -#~ msgstr "La commande était : %s" - -#~ msgid "" -#~ "The program \"pg_dump\" is needed by %s but was not found in the\n" -#~ "same directory as \"%s\".\n" -#~ "Check your installation." -#~ msgstr "" -#~ "Le programme « pg_dump » est nécessaire à %s mais n'a pas été trouvé dans le\n" -#~ "même répertoire que « %s ».\n" -#~ "Vérifiez votre installation." - -#~ msgid "" -#~ "The program \"pg_dump\" was found by \"%s\"\n" -#~ "but was not the same version as %s.\n" -#~ "Check your installation." -#~ msgstr "" -#~ "Le programme « pg_dump » a été trouvé par « %s »\n" -#~ "mais n'a pas la même version que %s.\n" -#~ "Vérifiez votre installation." - -#, c-format -#~ msgid "Try \"%s --help\" for more information.\n" -#~ msgstr "Essayer « %s --help » pour plus d'informations.\n" - -#~ msgid "" -#~ "WARNING:\n" -#~ " This format is for demonstration purposes; it is not intended for\n" -#~ " normal use. Files will be written in the current working directory.\n" -#~ msgstr "" -#~ "ATTENTION :\n" -#~ " Ce format est présent dans un but de démonstration ; il n'est pas prévu\n" -#~ " pour une utilisation normale. Les fichiers seront écrits dans le\n" -#~ " répertoire actuel.\n" - -#~ msgid "WARNING: could not parse reloptions array\n" -#~ msgstr "ATTENTION : n'a pas pu analyser le tableau reloptions\n" - -#~ msgid "WSAStartup failed: %d" -#~ msgstr "WSAStartup a échoué : %d" - -#~ msgid "aggregate function %s could not be dumped correctly for this database version; ignored" -#~ msgstr "la fonction d'aggrégat %s n'a pas pu être sauvegardée correctement avec cette version de la base de données ; ignorée" - -#~ msgid "allocating AH for %s, format %d\n" -#~ msgstr "allocation d'AH pour %s, format %d\n" - -#~ msgid "archive member too large for tar format\n" -#~ msgstr "membre de l'archive trop volumineux pour le format tar\n" - -#~ msgid "archiver" -#~ msgstr "archiveur" - -#~ msgid "archiver (db)" -#~ msgstr "programme d'archivage (db)" - -#~ msgid "attempting to ascertain archive format\n" -#~ msgstr "tentative d'identification du format de l'archive\n" - -#, c-format -#~ msgid "bogus value in proargmodes array" -#~ msgstr "valeur erronée dans le tableau proargmodes" - -#~ msgid "cannot duplicate null pointer\n" -#~ msgstr "ne peut pas dupliquer un pointeur nul\n" - -#~ msgid "cannot reopen non-seekable file\n" -#~ msgstr "ne peut pas rouvrir le fichier non cherchable\n" - -#~ msgid "cannot reopen stdin\n" -#~ msgstr "ne peut pas rouvrir stdin\n" - -#, c-format -#~ msgid "cannot restore from compressed archive (compression not supported in this installation)" -#~ msgstr "ne peut pas restaurer à partir de l'archive compressée (compression indisponible dans cette installation)" - -#~ msgid "child process was terminated by signal %d" -#~ msgstr "le processus fils a été terminé par le signal %d" - -#~ msgid "child process was terminated by signal %s" -#~ msgstr "le processus fils a été terminé par le signal %s" - -#~ msgid "compress_io" -#~ msgstr "compression_io" - -#, c-format -#~ msgid "compression level must be in range 0..9" -#~ msgstr "le niveau de compression doit être compris entre 0 et 9" - -#~ msgid "compression support is disabled in this format\n" -#~ msgstr "le support de la compression est désactivé avec ce format\n" - -#~ msgid "connecting to database \"%s\" as user \"%s\"" -#~ msgstr "connexion à la base de données « %s » en tant qu'utilisateur « %s »" - -#~ msgid "connection needs password" -#~ msgstr "la connexion nécessite un mot de passe" - -#~ msgid "connection to database \"%s\" failed: %s" -#~ msgstr "la connexion à la base de données « %s » a échoué : %s" - -#~ msgid "could not change directory to \"%s\"" -#~ msgstr "n'a pas pu accéder au répertoire « %s »" - -#, c-format -#~ msgid "could not change directory to \"%s\": %m" -#~ msgstr "n'a pas pu modifier le répertoire par « %s » : %m" - -#~ msgid "could not change directory to \"%s\": %s" -#~ msgstr "n'a pas pu changer le répertoire par « %s » : %s" - -#, c-format -#~ msgid "could not close blob data file: %m" -#~ msgstr "n'a pas pu fermer le fichier de données blob : %m" - -#, c-format -#~ msgid "could not close blobs TOC file: %m" -#~ msgstr "n'a pas pu fermer le fichier TOC des blobs : %m" - -#~ msgid "could not close data file after reading\n" -#~ msgstr "n'a pas pu fermer le fichier de données après lecture\n" - -#~ msgid "could not close directory \"%s\": %s\n" -#~ msgstr "n'a pas pu fermer le répertoire « %s » : %s\n" - -#~ msgid "could not close large object file\n" -#~ msgstr "n'a pas pu fermer le fichier du « Large Object »\n" - -#, c-format -#~ msgid "could not close tar member: %m" -#~ msgstr "n'a pas pu fermer le membre de tar : %m" - -#~ msgid "could not connect to database \"%s\": %s" -#~ msgstr "n'a pas pu se connecter à la base de données « %s » : %s" - -#~ msgid "could not create directory \"%s\": %s\n" -#~ msgstr "n'a pas pu créer le répertoire « %s » : %s\n" - -#~ msgid "could not create worker thread: %s\n" -#~ msgstr "n'a pas pu créer le fil de travail: %s\n" - -#~ msgid "could not find block ID %d in archive -- possibly due to out-of-order restore request, which cannot be handled due to lack of data offsets in archive" -#~ msgstr "" -#~ "n'a pas pu trouver l'identifiant de bloc %d dans l'archive --\n" -#~ "il est possible que cela soit dû à une demande de restauration dans un ordre\n" -#~ "différent, qui n'a pas pu être géré à cause d'un manque d'information de\n" -#~ "position dans l'archive" - -#~ msgid "could not find entry for pg_indexes in pg_class\n" -#~ msgstr "n'a pas pu trouver l'entrée de pg_indexes dans pg_class\n" - -#~ msgid "could not find slot of finished worker\n" -#~ msgstr "n'a pas pu trouver l'emplacement du worker qui vient de terminer\n" - -#~ msgid "could not get relation name for OID %u: %s\n" -#~ msgstr "n'a pas pu obtenir le nom de la relation pour l'OID %u: %s\n" - -#, c-format -#~ msgid "could not identify current directory: %m" -#~ msgstr "n'a pas pu identifier le répertoire courant : %m" - -#~ msgid "could not identify current directory: %s" -#~ msgstr "n'a pas pu identifier le répertoire courant : %s" - -#~ msgid "could not open large object TOC for input: %s\n" -#~ msgstr "n'a pas pu ouvrir la TOC du « Large Object » en entrée : %s\n" - -#~ msgid "could not open large object TOC for output: %s\n" -#~ msgstr "n'a pas pu ouvrir la TOC du « Large Object » en sortie : %s\n" - -#~ msgid "could not open output file \"%s\" for writing\n" -#~ msgstr "n'a pas pu ouvrir le fichier de sauvegarde « %s » en écriture\n" - -#, c-format -#~ msgid "could not open temporary file" -#~ msgstr "n'a pas pu ouvrir le fichier temporaire" - -#~ msgid "could not output padding at end of tar member\n" -#~ msgstr "n'a pas pu remplir la fin du membre de tar\n" - -#~ msgid "could not parse ACL (%s) for large object %u" -#~ msgstr "n'a pas pu analyser la liste ACL (%s) du « Large Object » %u" - -#, c-format -#~ msgid "could not parse extension condition array" -#~ msgstr "n'a pas pu analyser le tableau de condition de l'extension" - -#, c-format -#~ msgid "could not parse extension configuration array" -#~ msgstr "n'a pas pu analyser le tableau de configuration des extensions" - -#~ msgid "could not parse index collation name array" -#~ msgstr "n'a pas pu analyser le tableau des noms de collation de l'index" - -#~ msgid "could not parse index collation version array" -#~ msgstr "n'a pas pu analyser le tableau des versions de collation de l'index" - -#, c-format -#~ msgid "could not parse proallargtypes array" -#~ msgstr "n'a pas pu analyser le tableau proallargtypes" - -#, c-format -#~ msgid "could not parse proargmodes array" -#~ msgstr "n'a pas pu analyser le tableau proargmodes" - -#, c-format -#~ msgid "could not parse proargnames array" -#~ msgstr "n'a pas pu analyser le tableau proargnames" - -#, c-format -#~ msgid "could not parse proconfig array" -#~ msgstr "n'a pas pu analyser le tableau proconfig" - -#, c-format -#~ msgid "could not parse subpublications array" -#~ msgstr "n'a pas pu analyser le tableau de sous-publications" - -#~ msgid "could not parse version string \"%s\"\n" -#~ msgstr "n'a pas pu analyser la chaîne de version « %s »\n" - -#, c-format -#~ msgid "could not read binary \"%s\"" -#~ msgstr "n'a pas pu lire le binaire « %s »" - -#~ msgid "could not read directory \"%s\": %s\n" -#~ msgstr "n'a pas pu lire le répertoire « %s » : %s\n" - -#~ msgid "could not read symbolic link \"%s\"" -#~ msgstr "n'a pas pu lire le lien symbolique « %s »" - -#, c-format -#~ msgid "could not read symbolic link \"%s\": %m" -#~ msgstr "n'a pas pu lire le lien symbolique « %s » : %m" - -#~ msgid "could not reconnect to database" -#~ msgstr "n'a pas pu se reconnecter à la base de données" - -#~ msgid "could not reconnect to database: %s" -#~ msgstr "n'a pas pu se reconnecter à la base de données : %s" - -#~ msgid "could not set default_with_oids: %s" -#~ msgstr "n'a pas pu configurer default_with_oids : %s" - -#~ msgid "could not write byte\n" -#~ msgstr "n'a pas pu écrire l'octet\n" - -#~ msgid "could not write byte: %s\n" -#~ msgstr "n'a pas pu écrire un octet : %s\n" - -#~ msgid "could not write null block at end of tar archive\n" -#~ msgstr "n'a pas pu écrire le bloc nul à la fin de l'archive tar\n" - -#~ msgid "could not write to custom output routine\n" -#~ msgstr "n'a pas pu écrire vers la routine de sauvegarde personnalisée\n" - -#~ msgid "could not write to large object (result: %lu, expected: %lu)" -#~ msgstr "n'a pas pu écrire le « Large Object » (résultat : %lu, attendu : %lu)" - -#~ msgid "custom archiver" -#~ msgstr "programme d'archivage personnalisé" - -#~ msgid "directory archiver" -#~ msgstr "archiveur répertoire" - -#~ msgid "dumpBlobs(): could not open large object %u: %s" -#~ msgstr "dumpBlobs() : n'a pas pu ouvrir le « Large Object » %u : %s" - -#~ msgid "dumpDatabase(): could not find pg_largeobject.relfrozenxid\n" -#~ msgstr "dumpDatabase() : n'a pas pu trouver pg_largeobject.relfrozenxid\n" - -#~ msgid "dumpDatabase(): could not find pg_largeobject_metadata.relfrozenxid\n" -#~ msgstr "dumpDatabase() : n'a pas pu trouver pg_largeobject_metadata.relfrozenxid\n" - -#~ msgid "dumping a specific TOC data block out of order is not supported without ID on this input stream (fseek required)\n" -#~ msgstr "" -#~ "la sauvegarde d'un bloc de données spécifique du TOC dans le désordre n'est\n" -#~ "pas supporté sans identifiant sur ce flux d'entrée (fseek requis)\n" - -#~ msgid "entering restore_toc_entries_parallel\n" -#~ msgstr "entrée dans restore_toc_entries_parallel\n" - -#~ msgid "entering restore_toc_entries_postfork\n" -#~ msgstr "entrée dans restore_toc_entries_prefork\n" - -#~ msgid "entering restore_toc_entries_prefork\n" -#~ msgstr "entrée dans restore_toc_entries_prefork\n" - -#~ msgid "error during backup\n" -#~ msgstr "erreur lors de la sauvegarde\n" - -#~ msgid "error in ListenToWorkers(): %s\n" -#~ msgstr "erreur dans ListenToWorkers(): %s\n" - -#~ msgid "error processing a parallel work item\n" -#~ msgstr "erreur durant le traitement en parallèle d'un item\n" - -#, c-format -#~ msgid "extra_float_digits must be in range -15..3" -#~ msgstr "extra_float_digits doit être dans l'intervalle -15 à 3" - -#~ msgid "failed to connect to database\n" -#~ msgstr "n'a pas pu se connecter à la base de données\n" - -#~ msgid "failed to reconnect to database\n" -#~ msgstr "la reconnexion à la base de données a échoué\n" - -#, c-format -#~ msgid "fatal: " -#~ msgstr "fatal : " - -#~ msgid "file archiver" -#~ msgstr "programme d'archivage de fichiers" - -#, c-format -#~ msgid "finding check constraints for table \"%s.%s\"" -#~ msgstr "recherche des contraintes de vérification pour la table « %s.%s »" - -#, c-format -#~ msgid "finding default expressions of table \"%s.%s\"" -#~ msgstr "recherche des expressions par défaut de la table « %s.%s »" - -#, c-format -#~ msgid "finding the columns and types of table \"%s.%s\"" -#~ msgstr "recherche des colonnes et types de la table « %s.%s »" - -#~ msgid "found more than one entry for pg_indexes in pg_class\n" -#~ msgstr "a trouvé plusieurs entrées pour pg_indexes dans la table pg_class\n" - -#~ msgid "found more than one pg_database entry for this database\n" -#~ msgstr "a trouvé plusieurs entrées dans pg_database pour cette base de données\n" - -#~ msgid "ftell mismatch with expected position -- ftell used" -#~ msgstr "ftell ne correspond pas à la position attendue -- ftell utilisé" - -#~ msgid "internal error -- neither th nor fh specified in _tarReadRaw()" -#~ msgstr "erreur interne -- ni th ni fh ne sont précisés dans _tarReadRaw()" - -#~ msgid "invalid COPY statement -- could not find \"copy\" in string \"%s\"\n" -#~ msgstr "instruction COPY invalide -- n'a pas pu trouver « copy » dans la chaîne « %s »\n" - -#~ msgid "invalid COPY statement -- could not find \"from stdin\" in string \"%s\" starting at position %lu\n" -#~ msgstr "" -#~ "instruction COPY invalide -- n'a pas pu trouver « from stdin » dans la\n" -#~ "chaîne « %s » à partir de la position %lu\n" - -#~ msgid "invalid TOASTCOMPRESSION item: %s" -#~ msgstr "élément TOASTCOMPRESSION invalide : %s" - -#, c-format -#~ msgid "invalid binary \"%s\"" -#~ msgstr "binaire « %s » invalide" - -#, c-format -#~ msgid "invalid compression code: %d" -#~ msgstr "code de compression invalide : %d" - -#, c-format -#~ msgid "invalid number of parallel jobs" -#~ msgstr "nombre de jobs parallèles invalide" - -#, c-format -#~ msgid "maximum number of parallel jobs is %d" -#~ msgstr "le nombre maximum de jobs en parallèle est %d" - -#~ msgid "mismatch in actual vs. predicted file position (%s vs. %s)\n" -#~ msgstr "" -#~ "pas de correspondance entre la position réelle et celle prévue du fichier\n" -#~ "(%s vs. %s)\n" - -#~ msgid "mismatched number of collation names and versions for index" -#~ msgstr "nombre différent de noms et versions de collation pour l'index" - -#~ msgid "missing pg_database entry for database \"%s\"\n" -#~ msgstr "entrée manquante dans pg_database pour la base de données « %s »\n" - -#~ msgid "missing pg_database entry for this database\n" -#~ msgstr "entrée pg_database manquante pour cette base de données\n" - -#~ msgid "moving from position %s to next member at file position %s\n" -#~ msgstr "déplacement de la position %s vers le prochain membre à la position %s du fichier\n" - -#~ msgid "no item ready\n" -#~ msgstr "aucun élément prêt\n" - -#~ msgid "no label definitions found for enum ID %u\n" -#~ msgstr "aucune définition de label trouvée pour l'ID enum %u\n" - -#, c-format -#~ msgid "not built with zlib support" -#~ msgstr "pas construit avec le support de zlib" - -#~ msgid "now at file position %s\n" -#~ msgstr "maintenant en position %s du fichier\n" - -#~ msgid "option --index-collation-versions-unknown only works in binary upgrade mode" -#~ msgstr "l'option --index-collation-versions-unknown fonctionne seulement dans le mode de mise à jour binaire" - -#~ msgid "options --inserts/--column-inserts and -o/--oids cannot be used together\n" -#~ msgstr "" -#~ "les options « --inserts/--column-inserts » et « -o/--oids » ne\n" -#~ "peuvent pas être utilisées conjointement\n" - -#, c-format -#~ msgid "owner of aggregate function \"%s\" appears to be invalid" -#~ msgstr "le propriétaire de la fonction d'agrégat « %s » semble être invalide" - -#, c-format -#~ msgid "owner of data type \"%s\" appears to be invalid" -#~ msgstr "le propriétaire du type de données « %s » semble être invalide" - -#, c-format -#~ msgid "owner of function \"%s\" appears to be invalid" -#~ msgstr "le propriétaire de la fonction « %s » semble être invalide" - -#, c-format -#~ msgid "owner of operator \"%s\" appears to be invalid" -#~ msgstr "le propriétaire de l'opérateur « %s » semble être invalide" - -#, c-format -#~ msgid "owner of operator class \"%s\" appears to be invalid" -#~ msgstr "le propriétaire de la classe d'opérateur « %s » semble être invalide" - -#, c-format -#~ msgid "owner of operator family \"%s\" appears to be invalid" -#~ msgstr "le propriétaire de la famille d'opérateur « %s » semble être invalide" - -#, c-format -#~ msgid "owner of publication \"%s\" appears to be invalid" -#~ msgstr "le propriétaire de la publication « %s » semble être invalide" - -#, c-format -#~ msgid "owner of schema \"%s\" appears to be invalid" -#~ msgstr "le propriétaire du schéma « %s » semble être invalide" - -#, c-format -#~ msgid "owner of subscription \"%s\" appears to be invalid" -#~ msgstr "le propriétaire de la souscription « %s » semble être invalide" - -#, c-format -#~ msgid "owner of table \"%s\" appears to be invalid" -#~ msgstr "le propriétaire de la table « %s » semble être invalide" - -#~ msgid "parallel archiver" -#~ msgstr "archiveur en parallèle" - -#~ msgid "parallel_restore should not return\n" -#~ msgstr "parallel_restore ne devrait pas retourner\n" - -#~ msgid "pclose failed: %m" -#~ msgstr "échec de pclose : %m" - -#~ msgid "pclose failed: %s" -#~ msgstr "échec de pclose : %s" - -#~ msgid "query returned %d foreign server entry for foreign table \"%s\"\n" -#~ msgid_plural "query returned %d foreign server entries for foreign table \"%s\"\n" -#~ msgstr[0] "la requête a renvoyé %d entrée de serveur distant pour la table distante « %s »\n" -#~ msgstr[1] "la requête a renvoyé %d entrées de serveurs distants pour la table distante « %s »\n" - -#~ msgid "query returned %d row instead of one: %s\n" -#~ msgid_plural "query returned %d rows instead of one: %s\n" -#~ msgstr[0] "la requête a renvoyé %d ligne au lieu d'une seule : %s\n" -#~ msgstr[1] "la requête a renvoyé %d lignes au lieu d'une seule : %s\n" - -#~ msgid "query returned %d rows instead of one: %s\n" -#~ msgstr "la requête a renvoyé %d lignes au lieu d'une seule : %s\n" - -#~ msgid "query returned more than one (%d) pg_database entry for database \"%s\"\n" -#~ msgstr "" -#~ "la requête a renvoyé plusieurs (%d) entrées pg_database pour la base de\n" -#~ "données « %s »\n" - -#~ msgid "query returned no rows: %s\n" -#~ msgstr "la requête n'a renvoyé aucune ligne : %s\n" - -#~ msgid "query to get data of sequence \"%s\" returned name \"%s\"\n" -#~ msgstr "" -#~ "la requête permettant d'obtenir les données de la séquence « %s » a renvoyé\n" -#~ "le nom « %s »\n" - -#~ msgid "query was: %s\n" -#~ msgstr "la requête était : %s\n" - -#~ msgid "read %lu byte into lookahead buffer\n" -#~ msgid_plural "read %lu bytes into lookahead buffer\n" -#~ msgstr[0] "lecture de %lu octet dans le tampon prévisionnel\n" -#~ msgstr[1] "lecture de %lu octets dans le tampon prévisionnel\n" - -#~ msgid "read TOC entry %d (ID %d) for %s %s\n" -#~ msgstr "lecture de l'entrée %d de la TOC (ID %d) pour %s %s\n" - -#~ msgid "reading extended statistics for table \"%s.%s\"\n" -#~ msgstr "lecture des statistiques étendues pour la table « %s.%s »\n" - -#, c-format -#~ msgid "reading foreign key constraints for table \"%s.%s\"" -#~ msgstr "lecture des contraintes de clés étrangères pour la table « %s.%s »" - -#, c-format -#~ msgid "reading indexes for table \"%s.%s\"" -#~ msgstr "lecture des index de la table « %s.%s »" - -#~ msgid "reading policies for table \"%s.%s\"" -#~ msgstr "lecture des politiques pour la table « %s.%s »" - -#~ msgid "reading row security enabled for table \"%s.%s\"" -#~ msgstr "lecture de l'activation de la sécurité niveau ligne pour la table « %s.%s »" - -#, c-format -#~ msgid "reading triggers for table \"%s.%s\"" -#~ msgstr "lecture des triggers pour la table « %s.%s »" - -#~ msgid "reconnection to database \"%s\" failed: %s" -#~ msgstr "reconnexion à la base de données « %s » échouée : %s" - -#~ msgid "reducing dependencies for %d\n" -#~ msgstr "réduction des dépendances pour %d\n" - -#~ msgid "requested %d byte, got %d from lookahead and %d from file\n" -#~ msgid_plural "requested %d bytes, got %d from lookahead and %d from file\n" -#~ msgstr[0] "%d octet requis, %d obtenu de « lookahead » et %d du fichier\n" -#~ msgstr[1] "%d octets requis, %d obtenus de « lookahead » et %d du fichier\n" - -#, c-format -#~ msgid "requested compression not available in this installation -- archive will be uncompressed" -#~ msgstr "la compression requise n'est pas disponible avec cette installation -- l'archive ne sera pas compressée" - -#~ msgid "restoring large object OID %u\n" -#~ msgstr "restauration du « Large Object » d'OID %u\n" - -#, c-format -#~ msgid "rows-per-insert must be in range %d..%d" -#~ msgstr "le nombre de lignes par insertion doit être compris entre %d et %d" - -#~ msgid "saving default_toast_compression = %s" -#~ msgstr "sauvegarde de default_toast_compression = %s" - -#~ msgid "saving large object properties\n" -#~ msgstr "sauvegarde des propriétés des « Large Objects »\n" - -#~ msgid "schema with OID %u does not exist\n" -#~ msgstr "le schéma d'OID %u n'existe pas\n" - -#~ msgid "select() failed: %m" -#~ msgstr "échec de select() : %m" - -#~ msgid "select() failed: %s\n" -#~ msgstr "échec de select() : %s\n" - -#~ msgid "server version must be at least 7.3 to use schema selection switches\n" -#~ msgstr "" -#~ "le serveur doit être de version 7.3 ou supérieure pour utiliser les options\n" -#~ "de sélection du schéma\n" - -#~ msgid "setting owner and privileges for %s \"%s\"\n" -#~ msgstr "réglage du propriétaire et des droits pour %s « %s »\n" - -#~ msgid "setting owner and privileges for %s \"%s.%s\"\n" -#~ msgstr "réglage du propriétaire et des droits pour %s « %s.%s»\n" - -#~ msgid "skipping tar member %s\n" -#~ msgstr "omission du membre %s du tar\n" - -#~ msgid "sorter" -#~ msgstr "tri" - -#~ msgid "tar archiver" -#~ msgstr "archiveur tar" - -#~ msgid "terminated by user\n" -#~ msgstr "terminé par l'utilisateur\n" - -#~ msgid "transferring dependency %d -> %d to %d\n" -#~ msgstr "transfert de la dépendance %d -> %d vers %d\n" - -#~ msgid "unexpected end of file\n" -#~ msgstr "fin de fichier inattendu\n" - -#~ msgid "unrecognized collation provider: %s\n" -#~ msgstr "fournisseur de collationnement non reconnu : %s\n" - -#~ msgid "unrecognized command on communication channel: %s\n" -#~ msgstr "commande inconnue sur le canal de communucation: %s\n" - -#~ msgid "worker is terminating\n" -#~ msgstr "le worker est en cours d'arrêt\n" - -#~ msgid "worker process crashed: status %d\n" -#~ msgstr "crash du processus worker : statut %d\n" diff --git a/src/bin/pg_dump/po/ja.po b/src/bin/pg_dump/po/ja.po index 5cb95173721..4de0f541efe 100644 --- a/src/bin/pg_dump/po/ja.po +++ b/src/bin/pg_dump/po/ja.po @@ -11,8 +11,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_dump (PostgreSQL 17)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-06-21 09:58+0900\n" -"PO-Revision-Date: 2024-06-21 10:18+0900\n" +"POT-Creation-Date: 2024-09-05 09:59+0900\n" +"PO-Revision-Date: 2024-09-05 10:39+0900\n" "Last-Translator: Kyotaro Horiguchi \n" "Language-Team: Japan PostgreSQL Users Group \n" "Language: ja\n" @@ -22,22 +22,22 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Poedit 1.8.13\n" -#: ../../../src/common/logging.c:276 +#: ../../../src/common/logging.c:278 #, c-format msgid "error: " msgstr "エラー: " -#: ../../../src/common/logging.c:283 +#: ../../../src/common/logging.c:285 #, c-format msgid "warning: " msgstr "警告: " -#: ../../../src/common/logging.c:294 +#: ../../../src/common/logging.c:296 #, c-format msgid "detail: " msgstr "詳細: " -#: ../../../src/common/logging.c:301 +#: ../../../src/common/logging.c:303 #, c-format msgid "hint: " msgstr "ヒント: " @@ -114,27 +114,27 @@ msgstr "実行する\"%s\"がありませんでした" msgid "could not resolve path \"%s\" to absolute form: %m" msgstr "パス\"%s\"を絶対パス形式に変換できませんでした: %m" -#: ../../common/exec.c:382 +#: ../../common/exec.c:363 #, c-format msgid "could not execute command \"%s\": %m" msgstr "コマンド\"%s\"を実行できませんでした: %m" -#: ../../common/exec.c:394 +#: ../../common/exec.c:375 #, c-format msgid "could not read from command \"%s\": %m" msgstr "コマンド\"%s\"から読み取れませんでした: %m" -#: ../../common/exec.c:397 +#: ../../common/exec.c:378 #, c-format msgid "no data was returned by command \"%s\"" msgstr "コマンド\"%s\"がデータを返却しませんでした" -#: ../../common/exec.c:424 parallel.c:1609 +#: ../../common/exec.c:405 parallel.c:1609 #, c-format msgid "%s() failed: %m" msgstr "%s() が失敗しました: %m" -#: ../../common/exec.c:562 ../../common/exec.c:607 ../../common/exec.c:699 +#: ../../common/exec.c:543 ../../common/exec.c:588 ../../common/exec.c:680 msgid "out of memory" msgstr "メモリ不足です" @@ -149,45 +149,45 @@ msgstr "メモリ不足です\n" msgid "cannot duplicate null pointer (internal error)\n" msgstr "null ポインタを複製できません(内部エラー)。\n" -#: ../../common/file_utils.c:70 ../../common/file_utils.c:347 -#: ../../common/file_utils.c:406 ../../common/file_utils.c:480 +#: ../../common/file_utils.c:71 ../../common/file_utils.c:348 +#: ../../common/file_utils.c:407 ../../common/file_utils.c:481 #, c-format msgid "could not open file \"%s\": %m" msgstr "ファイル\"%s\"をオープンできませんでした: %m" -#: ../../common/file_utils.c:76 +#: ../../common/file_utils.c:77 #, 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 +#: ../../common/file_utils.c:121 ../../common/file_utils.c:567 #, c-format msgid "could not stat file \"%s\": %m" msgstr "ファイル\"%s\"のstatに失敗しました: %m" -#: ../../common/file_utils.c:130 ../../common/file_utils.c:227 +#: ../../common/file_utils.c:131 ../../common/file_utils.c:228 #: ../../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 +#: ../../common/file_utils.c:152 ../../common/file_utils.c:282 #, c-format msgid "could not open directory \"%s\": %m" msgstr "ディレクトリ\"%s\"をオープンできませんでした: %m" -#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 +#: ../../common/file_utils.c:170 ../../common/file_utils.c:316 #: pg_backup_directory.c:182 #, c-format msgid "could not read directory \"%s\": %m" msgstr "ディレクトリ\"%s\"を読み取れませんでした: %m" -#: ../../common/file_utils.c:418 ../../common/file_utils.c:488 +#: ../../common/file_utils.c:419 ../../common/file_utils.c:489 #, c-format msgid "could not fsync file \"%s\": %m" msgstr "ファイル\"%s\"をfsyncできませんでした: %m" -#: ../../common/file_utils.c:498 +#: ../../common/file_utils.c:499 #, c-format msgid "could not rename file \"%s\" to \"%s\": %m" msgstr "ファイル\"%s\"の名前を\"%s\"に変更できませんでした: %m" @@ -247,232 +247,232 @@ msgstr "シェルコマンドの引数に改行(LF)または復帰(CR)が含ま msgid "database name contains a newline or carriage return: \"%s\"\n" msgstr "データベース名に改行(LF)または復帰(CR)が含まれています: \"%s\"\n" -#: common.c:135 +#: common.c:112 #, c-format msgid "reading extensions" msgstr "機能拡張を読み込んでいます" -#: common.c:138 +#: common.c:115 #, c-format msgid "identifying extension members" msgstr "機能拡張の構成要素を特定しています" -#: common.c:141 +#: common.c:118 #, c-format msgid "reading schemas" msgstr "スキーマを読み込んでいます" -#: common.c:150 +#: common.c:127 #, c-format msgid "reading user-defined tables" msgstr "ユーザー定義テーブルを読み込んでいます" -#: common.c:155 +#: common.c:132 #, c-format msgid "reading user-defined functions" msgstr "ユーザー定義関数を読み込んでいます" -#: common.c:159 +#: common.c:136 #, c-format msgid "reading user-defined types" msgstr "ユーザー定義型を読み込んでいます" -#: common.c:163 +#: common.c:140 #, c-format msgid "reading procedural languages" msgstr "手続き言語を読み込んでいます" -#: common.c:166 +#: common.c:143 #, c-format msgid "reading user-defined aggregate functions" msgstr "ユーザー定義集約関数を読み込んでいます" -#: common.c:169 +#: common.c:146 #, c-format msgid "reading user-defined operators" msgstr "ユーザー定義演算子を読み込んでいます" -#: common.c:172 +#: common.c:149 #, c-format msgid "reading user-defined access methods" msgstr "ユーザー定義アクセスメソッドを読み込んでいます" -#: common.c:175 +#: common.c:152 #, c-format msgid "reading user-defined operator classes" msgstr "ユーザー定義演算子クラスを読み込んでいます" -#: common.c:178 +#: common.c:155 #, c-format msgid "reading user-defined operator families" msgstr "ユーザー定義演算子族を読み込んでいます" -#: common.c:181 +#: common.c:158 #, c-format msgid "reading user-defined text search parsers" msgstr "ユーザー定義のテキスト検索パーサを読み込んでいます" -#: common.c:184 +#: common.c:161 #, c-format msgid "reading user-defined text search templates" msgstr "ユーザー定義のテキスト検索テンプレートを読み込んでいます" -#: common.c:187 +#: common.c:164 #, c-format msgid "reading user-defined text search dictionaries" msgstr "ユーザー定義のテキスト検索辞書を読み込んでいます" -#: common.c:190 +#: common.c:167 #, c-format msgid "reading user-defined text search configurations" msgstr "ユーザー定義のテキスト検索設定を読み込んでいます" -#: common.c:193 +#: common.c:170 #, c-format msgid "reading user-defined foreign-data wrappers" msgstr "ユーザー定義の外部データラッパーを読み込んでいます" -#: common.c:196 +#: common.c:173 #, c-format msgid "reading user-defined foreign servers" msgstr "ユーザー定義の外部サーバーを読み込んでいます" -#: common.c:199 +#: common.c:176 #, c-format msgid "reading default privileges" msgstr "デフォルト権限設定を読み込んでいます" -#: common.c:202 +#: common.c:179 #, c-format msgid "reading user-defined collations" msgstr "ユーザー定義の照合順序を読み込んでいます" -#: common.c:205 +#: common.c:182 #, c-format msgid "reading user-defined conversions" msgstr "ユーザー定義の変換を読み込んでいます" -#: common.c:208 +#: common.c:185 #, c-format msgid "reading type casts" msgstr "型キャストを読み込んでいます" -#: common.c:211 +#: common.c:188 #, c-format msgid "reading transforms" msgstr "変換を読み込んでいます" -#: common.c:214 +#: common.c:191 #, c-format msgid "reading table inheritance information" msgstr "テーブル継承情報を読み込んでいます" -#: common.c:217 +#: common.c:194 #, c-format msgid "reading event triggers" msgstr "イベントトリガを読み込んでいます" -#: common.c:221 +#: common.c:198 #, c-format msgid "finding extension tables" msgstr "機能拡張構成テーブルを探しています" -#: common.c:225 +#: common.c:202 #, c-format msgid "finding inheritance relationships" msgstr "継承関係を検索しています" -#: common.c:228 +#: common.c:205 #, c-format msgid "reading column info for interesting tables" msgstr "対象テーブルの列情報を読み込んでいます" -#: common.c:231 +#: common.c:208 #, c-format msgid "flagging inherited columns in subtables" msgstr "子テーブルの継承列にフラグを設定しています" -#: common.c:234 +#: common.c:211 #, c-format msgid "reading partitioning data" msgstr "パーティション情報を読み込んでいます" -#: common.c:237 +#: common.c:214 #, c-format msgid "reading indexes" msgstr "インデックスを読み込んでいます" -#: common.c:240 +#: common.c:217 #, c-format msgid "flagging indexes in partitioned tables" msgstr "パーティション親テーブルのインデックスにフラグを設定しています" -#: common.c:243 +#: common.c:220 #, c-format msgid "reading extended statistics" msgstr "拡張統計情報を読み込んでいます" -#: common.c:246 +#: common.c:223 #, c-format msgid "reading constraints" msgstr "制約を読み込んでいます" -#: common.c:249 +#: common.c:226 #, c-format msgid "reading triggers" msgstr "トリガを読み込んでいます" -#: common.c:252 +#: common.c:229 #, c-format msgid "reading rewrite rules" msgstr "書き換えルールを読み込んでいます" -#: common.c:255 +#: common.c:232 #, c-format msgid "reading policies" msgstr "ポリシを読み込んでいます" -#: common.c:258 +#: common.c:235 #, c-format msgid "reading publications" msgstr "パブリケーションを読み込んでいます" -#: common.c:261 +#: common.c:238 #, c-format msgid "reading publication membership of tables" msgstr "テーブルのパブリケーションへの所属を読み取っています" -#: common.c:264 +#: common.c:241 #, c-format msgid "reading publication membership of schemas" msgstr "スキーマのパブリケーションへの所属を読み取っています" -#: common.c:267 +#: common.c:244 #, c-format msgid "reading subscriptions" msgstr "サブスクリプションを読み込んでいます" -#: common.c:270 +#: common.c:247 #, c-format msgid "reading subscription membership of tables" msgstr "テーブルのサブスクリプションへの所属を読み取っています" -#: common.c:333 +#: common.c:310 #, c-format msgid "failed sanity check, parent OID %u of table \"%s\" (OID %u) not found" msgstr "健全性検査に失敗しました、テーブル\"%2$s\"(OID %3$u)の親のOID %1$uがありません" -#: common.c:375 +#: common.c:352 #, c-format msgid "invalid number of parents %d for table \"%s\"" msgstr "テーブル\"%2$s\"用の親テーブルの数%1$dが不正です" -#: common.c:1098 +#: common.c:1075 #, c-format msgid "could not parse numeric array \"%s\": too many numbers" msgstr "数値配列\"%s\"のパースに失敗しました: 要素が多すぎます" -#: common.c:1110 +#: common.c:1087 #, c-format msgid "could not parse numeric array \"%s\": invalid character in number" msgstr "数値配列\"%s\"のパースに失敗しました: 数値に不正な文字が含まれています" @@ -826,7 +826,7 @@ msgstr "OID %uのラージオブジェクトをリストアしています" msgid "could not create large object %u: %s" msgstr "ラージオブジェクト %u を作成できませんでした: %s" -#: pg_backup_archiver.c:1486 pg_dump.c:3863 +#: pg_backup_archiver.c:1486 pg_dump.c:3955 #, c-format msgid "could not open large object %u: %s" msgstr "ラージオブジェクト %u をオープンできませんでした: %s" @@ -976,12 +976,12 @@ msgstr "標準出力を追記用にオープンできませんでした: %m" msgid "unrecognized file format \"%d\"" msgstr "認識不能のファイル形式\"%d\"" -#: pg_backup_archiver.c:2527 pg_backup_archiver.c:4625 +#: pg_backup_archiver.c:2527 pg_backup_archiver.c:4647 #, c-format msgid "finished item %d %s %s" msgstr "項目 %d %s %s の処理が完了" -#: pg_backup_archiver.c:2531 pg_backup_archiver.c:4638 +#: pg_backup_archiver.c:2531 pg_backup_archiver.c:4660 #, c-format msgid "worker process failed: exit code %d" msgstr "ワーカープロセスの処理失敗: 終了コード %d" @@ -1066,72 +1066,72 @@ msgstr "テーブルアクセスメソッドを変更できませんでした: % msgid "don't know how to set owner for object type \"%s\"" msgstr "オブジェクトタイプ%sに対する所有者の設定方法がわかりません" -#: pg_backup_archiver.c:3982 +#: pg_backup_archiver.c:4004 #, c-format msgid "did not find magic string in file header" msgstr "ファイルヘッダにマジック文字列がありませんでした" -#: pg_backup_archiver.c:3996 +#: pg_backup_archiver.c:4018 #, c-format msgid "unsupported version (%d.%d) in file header" msgstr "ファイルヘッダ内のバージョン(%d.%d)はサポートされていません" -#: pg_backup_archiver.c:4001 +#: pg_backup_archiver.c:4023 #, c-format msgid "sanity check on integer size (%lu) failed" msgstr "整数のサイズ(%lu)に関する健全性検査が失敗しました" -#: pg_backup_archiver.c:4005 +#: pg_backup_archiver.c:4027 #, c-format msgid "archive was made on a machine with larger integers, some operations might fail" msgstr "アーカイブはより大きなサイズの整数を持つマシンで作成されました、一部の操作が失敗する可能性があります" -#: pg_backup_archiver.c:4015 +#: pg_backup_archiver.c:4037 #, c-format msgid "expected format (%d) differs from format found in file (%d)" msgstr "想定した形式(%d)はファイル内にある形式(%d)と異なります" -#: pg_backup_archiver.c:4037 +#: pg_backup_archiver.c:4059 #, 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:4073 +#: pg_backup_archiver.c:4095 #, c-format msgid "invalid creation date in header" msgstr "ヘッダ内の作成日付が不正です" -#: pg_backup_archiver.c:4207 +#: pg_backup_archiver.c:4229 #, c-format msgid "processing item %d %s %s" msgstr "項目 %d %s %s を処理しています" -#: pg_backup_archiver.c:4292 +#: pg_backup_archiver.c:4314 #, c-format msgid "entering main parallel loop" msgstr "メインの並列ループに入ります" -#: pg_backup_archiver.c:4303 +#: pg_backup_archiver.c:4325 #, c-format msgid "skipping item %d %s %s" msgstr "項目 %d %s %s をスキップしています" -#: pg_backup_archiver.c:4312 +#: pg_backup_archiver.c:4334 #, c-format msgid "launching item %d %s %s" msgstr "項目 %d %s %s に着手します" -#: pg_backup_archiver.c:4366 +#: pg_backup_archiver.c:4388 #, c-format msgid "finished main parallel loop" msgstr "メインの並列ループが終了しました" -#: pg_backup_archiver.c:4402 +#: pg_backup_archiver.c:4424 #, c-format msgid "processing missed item %d %s %s" msgstr "やり残し項目 %d %s %s を処理しています" -#: pg_backup_archiver.c:4944 +#: pg_backup_archiver.c:4966 #, c-format msgid "table \"%s\" could not be created, will not restore its data" msgstr "テーブル\"%s\"を作成できませんでした、このテーブルのデータは復元されません" @@ -1215,8 +1215,8 @@ msgstr "圧縮処理が有効です" #: pg_backup_db.c:42 #, c-format -msgid "could not get server_version from libpq" -msgstr "libpqからserver_versionを取得できませんでした" +msgid "could not get \"server_version\" from libpq" +msgstr "libpqから\"server_version\"を取得できませんでした" #: pg_backup_db.c:53 pg_dumpall.c:1830 #, c-format @@ -1247,7 +1247,7 @@ msgstr "データベースへの接続ができませんでした" msgid "reconnection failed: %s" msgstr "再接続に失敗しました: %s" -#: pg_backup_db.c:190 pg_backup_db.c:264 pg_dump.c:787 pg_dump_sort.c:1213 +#: pg_backup_db.c:190 pg_backup_db.c:264 pg_dump.c:842 pg_dump_sort.c:1213 #: pg_dump_sort.c:1233 pg_dumpall.c:1704 pg_dumpall.c:1788 #, c-format msgid "%s" @@ -1293,7 +1293,7 @@ msgstr "PQputCopyEnd からエラーが返されました: %s" msgid "COPY failed for table \"%s\": %s" msgstr "テーブル\"%s\"へのコピーに失敗しました: %s" -#: pg_backup_db.c:521 pg_dump.c:2271 +#: pg_backup_db.c:521 pg_dump.c:2344 #, c-format msgid "unexpected extra results during COPY of table \"%s\"" msgstr "ファイル\"%s\"をCOPY中に想定していない余分な結果がありました" @@ -1464,7 +1464,7 @@ msgstr "破損したtarヘッダが%sにありました(想定 %d、算出結果 msgid "unrecognized section name: \"%s\"" msgstr "認識不可のセクション名: \"%s\"" -#: pg_backup_utils.c:55 pg_dump.c:693 pg_dump.c:710 pg_dumpall.c:370 +#: pg_backup_utils.c:55 pg_dump.c:748 pg_dump.c:765 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 @@ -1477,82 +1477,82 @@ msgstr "詳細は\"%s --help\"を実行してください。" msgid "out of on_exit_nicely slots" msgstr "on_exit_nicelyスロットが足りません" -#: pg_dump.c:708 pg_dumpall.c:378 pg_restore.c:321 +#: pg_dump.c:763 pg_dumpall.c:378 pg_restore.c:321 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "コマンドライン引数が多すぎます(先頭は\"%s\")" -#: pg_dump.c:727 pg_restore.c:344 +#: pg_dump.c:782 pg_restore.c:344 #, 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:730 +#: pg_dump.c:785 #, 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:733 +#: pg_dump.c:788 #, c-format msgid "option --include-foreign-data is not supported with parallel backup" msgstr "オプション --include-foreign-data はパラレルバックアップではサポートされません" -#: pg_dump.c:736 pg_restore.c:347 +#: pg_dump.c:791 pg_restore.c:347 #, c-format msgid "options -c/--clean and -a/--data-only cannot be used together" msgstr "-c/--clean と -a/--data-only オプションは同時には使用できません" -#: pg_dump.c:739 pg_dumpall.c:408 pg_restore.c:375 +#: pg_dump.c:794 pg_dumpall.c:408 pg_restore.c:375 #, c-format msgid "option --if-exists requires option -c/--clean" msgstr "--if-existsは -c/--clean の指定が必要です" -#: pg_dump.c:746 +#: pg_dump.c:801 #, 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:775 +#: pg_dump.c:830 #, c-format msgid "unrecognized compression algorithm: \"%s\"" msgstr "認識できない圧縮アルゴリズム: \"%s\"" -#: pg_dump.c:782 +#: pg_dump.c:837 #, c-format msgid "invalid compression specification: %s" msgstr "不正な圧縮指定: %s" -#: pg_dump.c:795 +#: pg_dump.c:850 #, c-format msgid "compression option \"%s\" is not currently supported by pg_dump" msgstr "圧縮オプション\"%s\"は現時点ではpg_dumpではサポートされていません" -#: pg_dump.c:807 +#: pg_dump.c:862 #, c-format msgid "parallel backup only supported by the directory format" msgstr "並列バックアップはディレクトリ形式でのみサポートされます" -#: pg_dump.c:853 +#: pg_dump.c:908 #, c-format msgid "last built-in OID is %u" msgstr "最後の組み込みOIDは%u" -#: pg_dump.c:862 +#: pg_dump.c:917 #, c-format msgid "no matching schemas were found" msgstr "マッチするスキーマが見つかりません" -#: pg_dump.c:879 +#: pg_dump.c:934 #, c-format msgid "no matching tables were found" msgstr "マッチするテーブルが見つかりません" -#: pg_dump.c:907 +#: pg_dump.c:962 #, c-format msgid "no matching extensions were found" msgstr "合致する機能拡張が見つかりません" -#: pg_dump.c:1091 +#: pg_dump.c:1153 #, c-format msgid "" "%s dumps a database as a text file or to other formats.\n" @@ -1561,17 +1561,17 @@ msgstr "" "%sはデータベースをテキストファイルまたはその他の形式でダンプします。\n" "\n" -#: pg_dump.c:1092 pg_dumpall.c:635 pg_restore.c:452 +#: pg_dump.c:1154 pg_dumpall.c:635 pg_restore.c:452 #, c-format msgid "Usage:\n" msgstr "使用方法:\n" -#: pg_dump.c:1093 +#: pg_dump.c:1155 #, c-format msgid " %s [OPTION]... [DBNAME]\n" msgstr " %s [OPTION]... [DBNAME]\n" -#: pg_dump.c:1095 pg_dumpall.c:638 pg_restore.c:455 +#: pg_dump.c:1157 pg_dumpall.c:638 pg_restore.c:455 #, c-format msgid "" "\n" @@ -1580,12 +1580,12 @@ msgstr "" "\n" "一般的なオプション;\n" -#: pg_dump.c:1096 +#: pg_dump.c:1158 #, c-format msgid " -f, --file=FILENAME output file or directory name\n" msgstr " -f, --file=ファイル名 出力ファイルまたはディレクトリの名前\n" -#: pg_dump.c:1097 +#: pg_dump.c:1159 #, c-format msgid "" " -F, --format=c|d|t|p output file format (custom, directory, tar,\n" @@ -1594,22 +1594,22 @@ msgstr "" " -F, --format=c|d|t|p 出力ファイルの形式(custom, directory, tar, \n" " plain text(デフォルト))\n" -#: pg_dump.c:1099 +#: pg_dump.c:1161 #, c-format msgid " -j, --jobs=NUM use this many parallel jobs to dump\n" msgstr " -j, --jobs=NUM ダンプ時に指定した数の並列ジョブを使用\n" -#: pg_dump.c:1100 pg_dumpall.c:640 +#: pg_dump.c:1162 pg_dumpall.c:640 #, c-format msgid " -v, --verbose verbose mode\n" msgstr " -v, --verbose 冗長モード\n" -#: pg_dump.c:1101 pg_dumpall.c:641 +#: pg_dump.c:1163 pg_dumpall.c:641 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version バージョン情報を表示して終了\n" -#: pg_dump.c:1102 +#: pg_dump.c:1164 #, c-format msgid "" " -Z, --compress=METHOD[:DETAIL]\n" @@ -1618,29 +1618,29 @@ msgstr "" " -Z, --compress=方式[:詳細]\n" " 指定のとおり圧縮\n" -#: pg_dump.c:1104 pg_dumpall.c:642 +#: pg_dump.c:1166 pg_dumpall.c:642 #, 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:1105 pg_dumpall.c:670 +#: pg_dump.c:1167 pg_dumpall.c:670 #, c-format msgid " --no-sync do not wait for changes to be written safely to disk\n" msgstr " --no-sync 変更のディスクへの安全な書き出しを待機しない\n" -#: pg_dump.c:1106 +#: pg_dump.c:1168 #, c-format msgid " --sync-method=METHOD set method for syncing files to disk\n" msgstr "" " --sync-method=METHOD ファイルをディスクに同期させる方法を指定\n" "\n" -#: pg_dump.c:1107 pg_dumpall.c:643 +#: pg_dump.c:1169 pg_dumpall.c:643 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help このヘルプを表示して終了\n" -#: pg_dump.c:1109 pg_dumpall.c:644 +#: pg_dump.c:1171 pg_dumpall.c:644 #, c-format msgid "" "\n" @@ -1649,66 +1649,66 @@ msgstr "" "\n" "出力内容を制御するためのオプション:\n" -#: pg_dump.c:1110 pg_dumpall.c:645 +#: pg_dump.c:1172 pg_dumpall.c:645 #, c-format msgid " -a, --data-only dump only the data, not the schema\n" msgstr " -a, --data-only データのみをダンプし、スキーマをダンプしない\n" -#: pg_dump.c:1111 +#: pg_dump.c:1173 #, c-format msgid " -b, --large-objects include large objects in dump\n" msgstr "" " -b, --large-objects ダンプにラージオブジェクトを含める\n" "\n" -#: pg_dump.c:1112 +#: pg_dump.c:1174 #, c-format msgid " --blobs (same as --large-objects, deprecated)\n" msgstr " --blobs (--large-objectsに同じ、非推奨)\n" -#: pg_dump.c:1113 +#: pg_dump.c:1175 #, c-format msgid " -B, --no-large-objects exclude large objects in dump\n" msgstr " -B, --no-large-objects ダンプにラージオブジェクトを含めない\n" -#: pg_dump.c:1114 +#: pg_dump.c:1176 #, c-format msgid " --no-blobs (same as --no-large-objects, deprecated)\n" msgstr "" " --no-blobs (--no-large-objectsに同じ、非推奨)\n" "\n" -#: pg_dump.c:1115 pg_restore.c:466 +#: pg_dump.c:1177 pg_restore.c:466 #, c-format msgid " -c, --clean clean (drop) database objects before recreating\n" msgstr " -c, --clean 再作成前にデータベースオブジェクトを整理(削除)\n" -#: pg_dump.c:1116 +#: pg_dump.c:1178 #, c-format msgid " -C, --create include commands to create database in dump\n" msgstr " -C, --create ダンプにデータベース生成用コマンドを含める\n" -#: pg_dump.c:1117 +#: pg_dump.c:1179 #, c-format msgid " -e, --extension=PATTERN dump the specified extension(s) only\n" msgstr " -e, --extension=PATTERN 指定した機能拡張のみをダンプ\n" -#: pg_dump.c:1118 pg_dumpall.c:647 +#: pg_dump.c:1180 pg_dumpall.c:647 #, c-format msgid " -E, --encoding=ENCODING dump the data in encoding ENCODING\n" msgstr " -E, --encoding=ENCODING 指定した符号化方式でデータをダンプ\n" -#: pg_dump.c:1119 +#: pg_dump.c:1181 #, c-format msgid " -n, --schema=PATTERN dump the specified schema(s) only\n" msgstr " -n, --schema=SCHEMA 指定したスキーマのみをダンプ\n" -#: pg_dump.c:1120 +#: pg_dump.c:1182 #, c-format msgid " -N, --exclude-schema=PATTERN do NOT dump the specified schema(s)\n" msgstr " -N, --exclude-schema=SCHEMA 指定したスキーマをダンプしない\n" -#: pg_dump.c:1121 +#: pg_dump.c:1183 #, c-format msgid "" " -O, --no-owner skip restoration of object ownership in\n" @@ -1717,56 +1717,56 @@ msgstr "" " -O, --no-owner プレインテキスト形式で、オブジェクト所有権の\n" " 復元を行わない\n" -#: pg_dump.c:1123 pg_dumpall.c:651 +#: pg_dump.c:1185 pg_dumpall.c:651 #, c-format msgid " -s, --schema-only dump only the schema, no data\n" msgstr " -s, --schema-only スキーマのみをダンプし、データはダンプしない\n" -#: pg_dump.c:1124 +#: pg_dump.c:1186 #, c-format msgid " -S, --superuser=NAME superuser user name to use in plain-text format\n" msgstr "" " -S, --superuser=NAME プレインテキスト形式で使用するスーパーユーザーの\n" " 名前\n" -#: pg_dump.c:1125 +#: pg_dump.c:1187 #, c-format msgid " -t, --table=PATTERN dump only the specified table(s)\n" msgstr " -t, --table=PATTERN 指定したテーブル(群)のみをダンプ\n" -#: pg_dump.c:1126 +#: pg_dump.c:1188 #, c-format msgid " -T, --exclude-table=PATTERN do NOT dump the specified table(s)\n" msgstr " -T, --exclude-table=PATTERN 指定したテーブルをダンプしない\n" -#: pg_dump.c:1127 pg_dumpall.c:654 +#: pg_dump.c:1189 pg_dumpall.c:654 #, c-format msgid " -x, --no-privileges do not dump privileges (grant/revoke)\n" msgstr " -x, --no-privileges 権限(grant/revoke)をダンプしない\n" -#: pg_dump.c:1128 pg_dumpall.c:655 +#: pg_dump.c:1190 pg_dumpall.c:655 #, c-format msgid " --binary-upgrade for use by upgrade utilities only\n" msgstr " --binary-upgrade アップグレードユーティリティ専用\n" -#: pg_dump.c:1129 pg_dumpall.c:656 +#: pg_dump.c:1191 pg_dumpall.c:656 #, c-format msgid " --column-inserts dump data as INSERT commands with column names\n" msgstr " --column-inserts 列名指定のINSERTコマンドでデータをダンプ\n" -#: pg_dump.c:1130 pg_dumpall.c:657 +#: pg_dump.c:1192 pg_dumpall.c:657 #, c-format msgid " --disable-dollar-quoting disable dollar quoting, use SQL standard quoting\n" msgstr "" " --disable-dollar-quoting ドル記号による引用符付けを禁止、SQL標準の引用符\n" " 付けを使用\n" -#: pg_dump.c:1131 pg_dumpall.c:658 pg_restore.c:483 +#: pg_dump.c:1193 pg_dumpall.c:658 pg_restore.c:483 #, c-format msgid " --disable-triggers disable triggers during data-only restore\n" msgstr " --disable-triggers データのみのリストアの際にトリガを無効化\n" -#: pg_dump.c:1132 +#: pg_dump.c:1194 #, c-format msgid "" " --enable-row-security enable row security (dump only content user has\n" @@ -1775,12 +1775,12 @@ msgstr "" " --enable-row-security 行セキュリティを有効化(ユーザーがアクセス可能な\n" " 内容のみをダンプ)\n" -#: pg_dump.c:1134 +#: pg_dump.c:1196 #, c-format msgid " --exclude-extension=PATTERN do NOT dump the specified extension(s)\n" msgstr " --exclude-extension=PATTERN 指定した機能拡張をダンプしない\n" -#: pg_dump.c:1135 +#: pg_dump.c:1197 #, c-format msgid "" " --exclude-table-and-children=PATTERN\n" @@ -1791,12 +1791,12 @@ msgstr "" " 指定したテーブル(群)を子テーブルを含めて\n" " ダンプしない\n" -#: pg_dump.c:1138 +#: pg_dump.c:1200 #, 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:1139 +#: pg_dump.c:1201 #, c-format msgid "" " --exclude-table-data-and-children=PATTERN\n" @@ -1807,12 +1807,12 @@ msgstr "" " 指定したテーブル(群)のデータを子テーブルを含めて\n" " ダンプしない\n" -#: pg_dump.c:1142 pg_dumpall.c:660 +#: pg_dump.c:1204 pg_dumpall.c:660 #, 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:1143 +#: pg_dump.c:1205 #, c-format msgid "" " --filter=FILENAME include or exclude objects and data from dump\n" @@ -1821,12 +1821,12 @@ msgstr "" " --filter=FILENAME オブジェクトやデータの指定や除外を\n" " FILENAMEに記述された式をもとに行う\n" -#: pg_dump.c:1145 pg_dumpall.c:662 pg_restore.c:487 +#: pg_dump.c:1207 pg_dumpall.c:662 pg_restore.c:487 #, c-format msgid " --if-exists use IF EXISTS when dropping objects\n" msgstr " --if-exists オブジェクト削除の際に IF EXISTS を使用\n" -#: pg_dump.c:1146 +#: pg_dump.c:1208 #, c-format msgid "" " --include-foreign-data=PATTERN\n" @@ -1837,91 +1837,91 @@ msgstr "" " PATTERNに合致する外部サーバー上の外部テーブルの\n" " データを含める\n" -#: pg_dump.c:1149 pg_dumpall.c:663 +#: pg_dump.c:1211 pg_dumpall.c:663 #, c-format msgid " --inserts dump data as INSERT commands, rather than COPY\n" msgstr " --inserts COPYではなくINSERTコマンドでデータをダンプ\n" -#: pg_dump.c:1150 pg_dumpall.c:664 +#: pg_dump.c:1212 pg_dumpall.c:664 #, c-format msgid " --load-via-partition-root load partitions via the root table\n" msgstr " --load-via-partition-root 子テーブルをルートテーブル経由でロードする\n" -#: pg_dump.c:1151 pg_dumpall.c:665 +#: pg_dump.c:1213 pg_dumpall.c:665 #, c-format msgid " --no-comments do not dump comments\n" msgstr " --no-comments コメントをダンプしない\n" -#: pg_dump.c:1152 pg_dumpall.c:666 +#: pg_dump.c:1214 pg_dumpall.c:666 #, c-format msgid " --no-publications do not dump publications\n" msgstr " --no-publications パブリケーションをダンプしない\n" -#: pg_dump.c:1153 pg_dumpall.c:668 +#: pg_dump.c:1215 pg_dumpall.c:668 #, c-format msgid " --no-security-labels do not dump security label assignments\n" msgstr " --no-security-labels セキュリティラベルの割り当てをダンプしない\n" -#: pg_dump.c:1154 pg_dumpall.c:669 +#: pg_dump.c:1216 pg_dumpall.c:669 #, c-format msgid " --no-subscriptions do not dump subscriptions\n" msgstr " --no-subscriptions サブスクリプションをダンプしない\n" -#: pg_dump.c:1155 pg_dumpall.c:671 +#: pg_dump.c:1217 pg_dumpall.c:671 #, c-format msgid " --no-table-access-method do not dump table access methods\n" msgstr " --no-table-access-method テーブルアクセスメソッドをダンプしない\n" -#: pg_dump.c:1156 pg_dumpall.c:672 +#: pg_dump.c:1218 pg_dumpall.c:672 #, c-format msgid " --no-tablespaces do not dump tablespace assignments\n" msgstr " --no-tablespaces テーブルスペースの割り当てをダンプしない\n" -#: pg_dump.c:1157 pg_dumpall.c:673 +#: pg_dump.c:1219 pg_dumpall.c:673 #, c-format msgid " --no-toast-compression do not dump TOAST compression methods\n" msgstr " --no-toast-compression TOAST圧縮方式をダンプしない\n" -#: pg_dump.c:1158 pg_dumpall.c:674 +#: pg_dump.c:1220 pg_dumpall.c:674 #, c-format msgid " --no-unlogged-table-data do not dump unlogged table data\n" msgstr " --no-unlogged-table-data 非ログテーブルのデータをダンプしない\n" -#: pg_dump.c:1159 pg_dumpall.c:675 +#: pg_dump.c:1221 pg_dumpall.c:675 #, c-format msgid " --on-conflict-do-nothing add ON CONFLICT DO NOTHING to INSERT commands\n" msgstr " --on-conflict-do-nothing INSERTコマンドにON CONFLICT DO NOTHINGを付加する\n" -#: pg_dump.c:1160 pg_dumpall.c:676 +#: pg_dump.c:1222 pg_dumpall.c:676 #, c-format msgid " --quote-all-identifiers quote all identifiers, even if not key words\n" msgstr "" " --quote-all-identifiers すべての識別子をキーワードでなかったとしても\n" " 引用符で囲む\n" -#: pg_dump.c:1161 pg_dumpall.c:677 +#: pg_dump.c:1223 pg_dumpall.c:677 #, 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:1162 +#: pg_dump.c:1224 #, c-format msgid " --section=SECTION dump named section (pre-data, data, or post-data)\n" msgstr "" " --section=SECTION 指定したセクション(pre-data、data または\n" " post-data)をダンプする\n" -#: pg_dump.c:1163 +#: pg_dump.c:1225 #, c-format msgid " --serializable-deferrable wait until the dump can run without anomalies\n" msgstr " --serializable-deferrable ダンプを異常なく実行できるようになるまで待機\n" -#: pg_dump.c:1164 +#: pg_dump.c:1226 #, c-format msgid " --snapshot=SNAPSHOT use given snapshot for the dump\n" msgstr " --snapshot=SNAPSHOT ダンプに指定のスナップショットを使用する\n" -#: pg_dump.c:1165 pg_restore.c:497 +#: pg_dump.c:1227 pg_restore.c:497 #, c-format msgid "" " --strict-names require table and/or schema include patterns to\n" @@ -1930,7 +1930,7 @@ msgstr "" " --strict-names テーブル/スキーマの対象パターンが最低でも\n" " 一つの実体にマッチすることを必須とする\n" -#: pg_dump.c:1167 +#: pg_dump.c:1229 #, c-format msgid "" " --table-and-children=PATTERN dump only the specified table(s), including\n" @@ -1939,7 +1939,7 @@ msgstr "" " --table-and-children=PATTERN 指定したテーブル(群)のみを子テーブル\n" " を含めてダンプ\n" -#: pg_dump.c:1169 pg_dumpall.c:678 pg_restore.c:500 +#: pg_dump.c:1231 pg_dumpall.c:678 pg_restore.c:500 #, c-format msgid "" " --use-set-session-authorization\n" @@ -1950,7 +1950,7 @@ msgstr "" " 所有者をセットする際、ALTER OWNERコマンドの代わり\n" " にSET SESSION AUTHORIZATIONコマンドを使用する\n" -#: pg_dump.c:1173 pg_dumpall.c:682 pg_restore.c:504 +#: pg_dump.c:1235 pg_dumpall.c:682 pg_restore.c:504 #, c-format msgid "" "\n" @@ -1959,46 +1959,46 @@ msgstr "" "\n" "接続オプション:\n" -#: pg_dump.c:1174 +#: pg_dump.c:1236 #, c-format msgid " -d, --dbname=DBNAME database to dump\n" msgstr " -d, --dbname=DBNAME ダンプするデータベース\n" -#: pg_dump.c:1175 pg_dumpall.c:684 pg_restore.c:505 +#: pg_dump.c:1237 pg_dumpall.c:684 pg_restore.c:505 #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr "" " -h, --host=HOSTNAME データベースサーバーのホストまたはソケット\n" " ディレクトリ\n" -#: pg_dump.c:1176 pg_dumpall.c:686 pg_restore.c:506 +#: pg_dump.c:1238 pg_dumpall.c:686 pg_restore.c:506 #, c-format msgid " -p, --port=PORT database server port number\n" msgstr " -p, --port=PORT データベースサーバーのポート番号\n" -#: pg_dump.c:1177 pg_dumpall.c:687 pg_restore.c:507 +#: pg_dump.c:1239 pg_dumpall.c:687 pg_restore.c:507 #, c-format msgid " -U, --username=NAME connect as specified database user\n" msgstr " -U, --username=NAME 指定したデータベースユーザーで接続\n" -#: pg_dump.c:1178 pg_dumpall.c:688 pg_restore.c:508 +#: pg_dump.c:1240 pg_dumpall.c:688 pg_restore.c:508 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password パスワード入力を要求しない\n" -#: pg_dump.c:1179 pg_dumpall.c:689 pg_restore.c:509 +#: pg_dump.c:1241 pg_dumpall.c:689 pg_restore.c:509 #, c-format msgid " -W, --password force password prompt (should happen automatically)\n" msgstr "" " -W, --password パスワードプロンプトを強制表示\n" " (自動的に表示されるはず)\n" -#: pg_dump.c:1180 pg_dumpall.c:690 +#: pg_dump.c:1242 pg_dumpall.c:690 #, c-format msgid " --role=ROLENAME do SET ROLE before dump\n" msgstr " --role=ROLENAME ダンプの前に SET ROLE を行う\n" -#: pg_dump.c:1182 +#: pg_dump.c:1244 #, c-format msgid "" "\n" @@ -2010,457 +2010,462 @@ msgstr "" "データベース名が指定されなかった場合、環境変数PGDATABASEが使用されます\n" "\n" -#: pg_dump.c:1184 pg_dumpall.c:694 pg_restore.c:516 +#: pg_dump.c:1246 pg_dumpall.c:694 pg_restore.c:516 #, c-format msgid "Report bugs to <%s>.\n" msgstr "バグは<%s>に報告してください。\n" -#: pg_dump.c:1185 pg_dumpall.c:695 pg_restore.c:517 +#: pg_dump.c:1247 pg_dumpall.c:695 pg_restore.c:517 #, c-format msgid "%s home page: <%s>\n" msgstr "%s ホームページ: <%s>\n" -#: pg_dump.c:1204 pg_dumpall.c:518 +#: pg_dump.c:1266 pg_dumpall.c:518 #, c-format msgid "invalid client encoding \"%s\" specified" msgstr "不正なクライアントエンコーディング\"%s\"が指定されました" -#: pg_dump.c:1344 +#: pg_dump.c:1413 #, c-format msgid "parallel dumps from standby servers are not supported by this server version" msgstr "スタンバイサーバーからの並列ダンプはこのサーバーバージョンではサポートされません" -#: pg_dump.c:1409 +#: pg_dump.c:1478 #, c-format msgid "invalid output format \"%s\" specified" msgstr "不正な出力形式\"%s\"が指定されました" -#: pg_dump.c:1450 pg_dump.c:1506 pg_dump.c:1559 pg_dumpall.c:1467 +#: pg_dump.c:1519 pg_dump.c:1575 pg_dump.c:1628 pg_dumpall.c:1467 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "修飾名が不適切です(ドット区切りの名前が多すぎます): %s" -#: pg_dump.c:1458 +#: pg_dump.c:1527 #, c-format msgid "no matching schemas were found for pattern \"%s\"" msgstr "パターン\"%s\"にマッチするスキーマが見つかりません" -#: pg_dump.c:1511 +#: pg_dump.c:1580 #, c-format msgid "no matching extensions were found for pattern \"%s\"" msgstr "パターン\"%s\"に合致する機能拡張が見つかりません" -#: pg_dump.c:1564 +#: pg_dump.c:1633 #, c-format msgid "no matching foreign servers were found for pattern \"%s\"" msgstr "パターン\"%s\"にマッチする外部サーバーが見つかりません" -#: pg_dump.c:1635 +#: pg_dump.c:1704 #, c-format msgid "improper relation name (too many dotted names): %s" msgstr "リレーション名が不適切です(ドット区切りの名前が多すぎます): %s" -#: pg_dump.c:1657 +#: pg_dump.c:1726 #, c-format msgid "no matching tables were found for pattern \"%s\"" msgstr "パターン \"%s\"にマッチするテーブルが見つかりません" -#: pg_dump.c:1684 +#: pg_dump.c:1753 #, c-format msgid "You are currently not connected to a database." msgstr "現在データベースに接続していません。" -#: pg_dump.c:1687 +#: pg_dump.c:1756 #, c-format msgid "cross-database references are not implemented: %s" msgstr "データベース間の参照は実装されていません: %s" -#: pg_dump.c:2146 +#: pg_dump.c:2215 #, c-format msgid "dumping contents of table \"%s.%s\"" msgstr "テーブル \"%s.%s\"の内容をダンプしています" -#: pg_dump.c:2252 +#: pg_dump.c:2325 #, c-format msgid "Dumping the contents of table \"%s\" failed: PQgetCopyData() failed." msgstr "テーブル\"%s\"の内容のダンプに失敗: PQgetCopyData()が失敗しました。" -#: pg_dump.c:2253 pg_dump.c:2263 +#: pg_dump.c:2326 pg_dump.c:2336 #, c-format msgid "Error message from server: %s" msgstr "サーバーのエラーメッセージ: %s" -#: pg_dump.c:2254 pg_dump.c:2264 +#: pg_dump.c:2327 pg_dump.c:2337 #, c-format msgid "Command was: %s" msgstr "コマンド: %s" -#: pg_dump.c:2262 +#: pg_dump.c:2335 #, c-format msgid "Dumping the contents of table \"%s\" failed: PQgetResult() failed." msgstr "テーブル\"%s\"の内容のダンプに失敗: PQgetResult()が失敗しました。" -#: pg_dump.c:2344 +#: pg_dump.c:2426 #, c-format msgid "wrong number of fields retrieved from table \"%s\"" msgstr "テーブル\"%s\"から取得したフィールドの数が間違っています" -#: pg_dump.c:3042 +#: pg_dump.c:3128 #, c-format msgid "saving database definition" msgstr "データベース定義を保存しています" -#: pg_dump.c:3151 +#: pg_dump.c:3243 #, c-format msgid "unrecognized locale provider: %s" msgstr "認識できない照合順序プロバイダ: %s" -#: pg_dump.c:3512 +#: pg_dump.c:3604 #, c-format msgid "saving encoding = %s" msgstr "encoding = %s を保存しています" -#: pg_dump.c:3537 +#: pg_dump.c:3629 #, c-format msgid "saving \"standard_conforming_strings = %s\"" msgstr "\"standard_conforming_strings = %s\" を保存しています" -#: pg_dump.c:3576 +#: pg_dump.c:3668 #, c-format msgid "could not parse result of current_schemas()" msgstr "current_schemas()の結果をパースできませんでした" -#: pg_dump.c:3595 +#: pg_dump.c:3687 #, c-format msgid "saving \"search_path = %s\"" msgstr "\"search_path = %s\" を保存しています" -#: pg_dump.c:3631 +#: pg_dump.c:3723 #, c-format msgid "reading large objects" msgstr "ラージオブジェクトを読み込んでいます" -#: pg_dump.c:3852 +#: pg_dump.c:3944 #, c-format msgid "saving large objects \"%s\"" msgstr "ラージオブジェクト\"%s\"を保存しています" -#: pg_dump.c:3873 +#: pg_dump.c:3965 #, c-format msgid "error reading large object %u: %s" msgstr "ラージオブジェクト %u を読み取り中にエラーがありました: %s" -#: pg_dump.c:3976 +#: pg_dump.c:4068 #, c-format msgid "reading row-level security policies" msgstr "行レベルセキュリティポリシーを読み取ります" -#: pg_dump.c:4117 +#: pg_dump.c:4209 #, c-format msgid "unexpected policy command type: %c" msgstr "想定外のポリシコマンドタイプ: \"%c\"" -#: pg_dump.c:4567 pg_dump.c:5103 pg_dump.c:12315 pg_dump.c:18137 -#: pg_dump.c:18139 pg_dump.c:18761 +#: pg_dump.c:4653 pg_dump.c:5211 pg_dump.c:12304 pg_dump.c:18290 +#: pg_dump.c:18292 pg_dump.c:18914 #, c-format msgid "could not parse %s array" msgstr "%s配列をパースできませんでした" -#: pg_dump.c:4759 +#: pg_dump.c:4867 #, c-format msgid "subscriptions not dumped because current user is not a superuser" msgstr "現在のユーザーがスーパーユーザーではないため、サブスクリプションはダンプされません" -#: pg_dump.c:4965 +#: pg_dump.c:5073 #, c-format msgid "subscription with OID %u does not exist" msgstr "OID %uのサブスクリプションは存在しません" -#: pg_dump.c:4972 +#: pg_dump.c:5080 #, c-format msgid "failed sanity check, table with OID %u not found" msgstr "健全性検査に失敗しました、OID %uのテーブルがありません" -#: pg_dump.c:5535 +#: pg_dump.c:5662 #, c-format msgid "could not find parent extension for %s %s" msgstr "%s %sの親となる機能拡張がありませんでした" -#: pg_dump.c:5680 +#: pg_dump.c:5800 #, c-format msgid "schema with OID %u does not exist" msgstr "OID %uのスキーマは存在しません" -#: pg_dump.c:7162 pg_dump.c:17508 +#: pg_dump.c:7227 pg_dump.c:17634 #, c-format msgid "failed sanity check, parent table with OID %u of sequence with OID %u not found" msgstr "健全性検査に失敗しました、OID %2$u であるシーケンスの OID %1$u である親テーブルがありません" -#: pg_dump.c:7305 +#: pg_dump.c:7370 #, c-format msgid "failed sanity check, table OID %u appearing in pg_partitioned_table not found" msgstr "健全性検査に失敗しました、pg_partitioned_tableにあるテーブルOID %u が見つかりません" -#: pg_dump.c:7536 pg_dump.c:7810 pg_dump.c:8257 pg_dump.c:8871 pg_dump.c:8993 -#: pg_dump.c:9141 +#: pg_dump.c:7601 pg_dump.c:7875 pg_dump.c:8316 pg_dump.c:8902 pg_dump.c:9024 +#: pg_dump.c:9172 #, c-format msgid "unrecognized table OID %u" msgstr "認識できないテーブルOID %u" -#: pg_dump.c:7540 +#: pg_dump.c:7605 #, c-format msgid "unexpected index data for table \"%s\"" msgstr "テーブル\"%s\"に対する想定外のインデックスデータ" -#: pg_dump.c:8042 +#: pg_dump.c:8103 #, c-format msgid "failed sanity check, parent table with OID %u of pg_rewrite entry with OID %u not found" msgstr "健全性検査に失敗しました、OID %2$u であるpg_rewriteエントリのOID %1$u である親テーブルが見つかりません" -#: pg_dump.c:8875 +#: pg_dump.c:8906 #, c-format msgid "unexpected column data for table \"%s\"" msgstr "テーブル\"%s\"に対する想定外の列データ" -#: pg_dump.c:8904 +#: pg_dump.c:8935 #, c-format msgid "invalid column numbering in table \"%s\"" msgstr "テーブル\"%s\"の列番号が不正です" -#: pg_dump.c:8955 +#: pg_dump.c:8986 #, c-format msgid "finding table default expressions" msgstr "テーブルのデフォルト式を探しています" -#: pg_dump.c:8997 +#: pg_dump.c:9028 #, c-format msgid "invalid adnum value %d for table \"%s\"" msgstr "テーブル\"%2$s\"用のadnumの値%1$dが不正です" -#: pg_dump.c:9091 +#: pg_dump.c:9122 #, c-format msgid "finding table check constraints" msgstr "テーブルのチェック制約を探しています" -#: pg_dump.c:9145 +#: pg_dump.c:9176 #, 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" msgstr[0] "テーブル\"%2$s\"で想定する検査制約は%1$d個でしたが、%3$dありました" -#: pg_dump.c:9149 +#: pg_dump.c:9180 #, c-format msgid "The system catalogs might be corrupted." msgstr "システムカタログが破損している可能性があります。" -#: pg_dump.c:9839 +#: pg_dump.c:9828 #, c-format msgid "role with OID %u does not exist" msgstr "OID が %u であるロールは存在しません" -#: pg_dump.c:9951 pg_dump.c:9980 +#: pg_dump.c:9940 pg_dump.c:9969 #, c-format msgid "unsupported pg_init_privs entry: %u %u %d" msgstr "非サポートのpg_init_privsエントリ: %u %u %d" -#: pg_dump.c:10527 +#: pg_dump.c:10516 #, c-format msgid "missing metadata for large objects \"%s\"" msgstr "ラージオブジェクト\"%s\"のメタデータがありません" -#: pg_dump.c:10810 +#: pg_dump.c:10799 #, c-format msgid "typtype of data type \"%s\" appears to be invalid" msgstr "データ型\"%s\"のtyptypeが不正なようです" -#: pg_dump.c:12384 +#: pg_dump.c:12373 #, c-format msgid "unrecognized provolatile value for function \"%s\"" msgstr "関数\"%s\"のprovolatileの値が認識できません" -#: pg_dump.c:12434 pg_dump.c:14330 +#: pg_dump.c:12423 pg_dump.c:14319 #, c-format msgid "unrecognized proparallel value for function \"%s\"" msgstr "関数\"%s\"のproparallel値が認識できません" -#: pg_dump.c:12564 pg_dump.c:12670 pg_dump.c:12677 +#: pg_dump.c:12553 pg_dump.c:12659 pg_dump.c:12666 #, c-format msgid "could not find function definition for function with OID %u" msgstr "OID %uの関数の関数定義が見つかりませんでした" -#: pg_dump.c:12603 +#: pg_dump.c:12592 #, c-format msgid "bogus value in pg_cast.castfunc or pg_cast.castmethod field" msgstr "pg_cast.castfuncまたはpg_cast.castmethodフィールドの値がおかしいです" -#: pg_dump.c:12606 +#: pg_dump.c:12595 #, c-format msgid "bogus value in pg_cast.castmethod field" msgstr "pg_cast.castmethod フィールドの値がおかしいです" -#: pg_dump.c:12696 +#: pg_dump.c:12685 #, c-format msgid "bogus transform definition, at least one of trffromsql and trftosql should be nonzero" msgstr "おかしな変換定義、trffromsql か trftosql の少なくとも一方は非ゼロであるはずです" -#: pg_dump.c:12713 +#: pg_dump.c:12702 #, c-format msgid "bogus value in pg_transform.trffromsql field" msgstr "pg_cast.castmethod フィールドの値がおかしいです" -#: pg_dump.c:12734 +#: pg_dump.c:12723 #, c-format msgid "bogus value in pg_transform.trftosql field" msgstr "pg_cast.castmethod フィールドの値がおかしいです" -#: pg_dump.c:12879 +#: pg_dump.c:12868 #, c-format msgid "postfix operators are not supported anymore (operator \"%s\")" msgstr "後置演算子は今後サポートされません(演算子\"%s\")" -#: pg_dump.c:13049 +#: pg_dump.c:13038 #, c-format msgid "could not find operator with OID %s" msgstr "OID %sの演算子がありませんでした" -#: pg_dump.c:13117 +#: pg_dump.c:13106 #, c-format msgid "invalid type \"%c\" of access method \"%s\"" msgstr "アクセスメソッド\"%2$s\"の不正なタイプ\"%1$c\"" -#: pg_dump.c:13791 pg_dump.c:13859 +#: pg_dump.c:13780 pg_dump.c:13848 #, c-format msgid "unrecognized collation provider: %s" msgstr "認識できないの照合順序プロバイダ: %s" -#: pg_dump.c:13800 pg_dump.c:13807 pg_dump.c:13818 pg_dump.c:13828 -#: pg_dump.c:13843 +#: pg_dump.c:13789 pg_dump.c:13796 pg_dump.c:13807 pg_dump.c:13817 +#: pg_dump.c:13832 #, c-format msgid "invalid collation \"%s\"" msgstr "不正な照合順序\"%s\"" -#: pg_dump.c:14249 +#: pg_dump.c:14238 #, c-format msgid "unrecognized aggfinalmodify value for aggregate \"%s\"" msgstr "集約\"%s\"のaggfinalmodifyの値が識別できません" -#: pg_dump.c:14305 +#: pg_dump.c:14294 #, c-format msgid "unrecognized aggmfinalmodify value for aggregate \"%s\"" msgstr "集約\"%s\"のaggmfinalmodifyの値が識別できません" -#: pg_dump.c:15022 +#: pg_dump.c:15011 #, c-format msgid "unrecognized object type in default privileges: %d" msgstr "デフォルト権限設定中の認識できないオブジェクト型: %d" -#: pg_dump.c:15038 +#: pg_dump.c:15027 #, c-format msgid "could not parse default ACL list (%s)" msgstr "デフォルトの ACL リスト(%s)をパースできませんでした" -#: pg_dump.c:15122 +#: pg_dump.c:15111 #, c-format msgid "could not parse initial ACL list (%s) or default (%s) for object \"%s\" (%s)" msgstr "オブジェクト\"%3$s\"(%4$s)の初期ACLリスト(%1$s)またはデフォルト値(%2$s)をパースできませんでした" -#: pg_dump.c:15147 +#: pg_dump.c:15136 #, c-format msgid "could not parse ACL list (%s) or default (%s) for object \"%s\" (%s)" msgstr "オブジェクト\"%3$s\"(%4$s)のACLリスト(%1$s)またはデフォルト値(%2$s)をパースできませんでした" -#: pg_dump.c:15690 +#: pg_dump.c:15679 #, c-format msgid "query to obtain definition of view \"%s\" returned no data" msgstr "ビュー\"%s\"の定義を取り出すための問い合わせがデータを返却しませんでした" -#: pg_dump.c:15693 +#: pg_dump.c:15682 #, c-format msgid "query to obtain definition of view \"%s\" returned more than one definition" msgstr "ビュー\"%s\"の定義を取り出すための問い合わせが2つ以上の定義を返却しました" -#: pg_dump.c:15700 +#: pg_dump.c:15689 #, c-format msgid "definition of view \"%s\" appears to be empty (length zero)" msgstr "ビュー\"%s\"の定義が空のようです(長さが0)" -#: pg_dump.c:15784 +#: pg_dump.c:15774 #, c-format msgid "WITH OIDS is not supported anymore (table \"%s\")" msgstr "WITH OIDSは今後サポートされません(テーブル\"%s\")" -#: pg_dump.c:16710 +#: pg_dump.c:16761 #, c-format msgid "invalid column number %d for table \"%s\"" msgstr "テーブル\"%2$s\"の列番号%1$dは不正です" -#: pg_dump.c:16788 +#: pg_dump.c:16839 #, c-format msgid "could not parse index statistic columns" msgstr "インデックス統計列をパースできませんでした" -#: pg_dump.c:16790 +#: pg_dump.c:16841 #, c-format msgid "could not parse index statistic values" msgstr "インデックス統計値をパースできませんでした" -#: pg_dump.c:16792 +#: pg_dump.c:16843 #, c-format msgid "mismatched number of columns and values for index statistics" msgstr "インデックス統計に対して列と値の数が合致しません" -#: pg_dump.c:17007 +#: pg_dump.c:17058 #, c-format msgid "missing index for constraint \"%s\"" msgstr "制約\"%s\"のインデックスが見つかりません" -#: pg_dump.c:17242 +#: pg_dump.c:17293 #, c-format msgid "unrecognized constraint type: %c" msgstr "制約のタイプが識別できません: %c" -#: pg_dump.c:17343 pg_dump.c:17572 +#: pg_dump.c:17346 +#, c-format +msgid "unrecognized sequence type: %s" +msgstr "認識されないシーケンスの型\"%s\"" + +#: pg_dump.c:17478 pg_dump.c:17709 #, 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)" msgstr[0] "シーケンス\"%s\"のデータを得るための問い合わせが%d行返却しました(想定は1)" -#: pg_dump.c:17375 +#: pg_dump.c:17514 #, c-format -msgid "unrecognized sequence type: %s" -msgstr "認識されないシーケンスの型\"%s\"" +msgid "unrecognized sequence type: %d" +msgstr "認識されないシーケンスの型: %d" -#: pg_dump.c:17889 +#: pg_dump.c:18042 #, c-format msgid "query to get rule \"%s\" for table \"%s\" failed: wrong number of rows returned" msgstr "テーブル\"%2$s\"のルール\"%1$s\"を得るための問い合わせが失敗しました: 間違った行数が返却されました" -#: pg_dump.c:18042 +#: pg_dump.c:18195 #, c-format msgid "could not find referenced extension %u" msgstr "親の機能拡張%uが見つかりません" -#: pg_dump.c:18141 +#: pg_dump.c:18294 #, c-format msgid "mismatched number of configurations and conditions for extension" msgstr "機能拡張に対して設定と条件の数が一致しません" -#: pg_dump.c:18273 +#: pg_dump.c:18426 #, c-format msgid "reading dependency data" msgstr "データの依存データを読み込んでいます" -#: pg_dump.c:18359 +#: pg_dump.c:18512 #, c-format msgid "no referencing object %u %u" msgstr "参照元オブジェクト%u %uがありません" -#: pg_dump.c:18370 +#: pg_dump.c:18523 #, c-format msgid "no referenced object %u %u" msgstr "参照先オブジェクト%u %uがありません" -#: pg_dump.c:18795 pg_dump.c:18833 pg_dumpall.c:1962 pg_restore.c:551 +#: pg_dump.c:18948 pg_dump.c:18986 pg_dumpall.c:1962 pg_restore.c:551 #: pg_restore.c:597 #, c-format msgid "%s filter for \"%s\" is not allowed" @@ -2610,8 +2615,8 @@ msgstr " --exclude-database=PATTERN PATTERNに合致する名前のデータ #: pg_dumpall.c:661 #, c-format -msgid " --filter=FILENAME exclude databases specified in FILENAME\n" -msgstr " --filter=FILENAME FILENAMEで指定されているデータベースを除外する\n" +msgid " --filter=FILENAME exclude databases based on expressions in FILENAME\n" +msgstr " --filter=FILENAME FILENAMEで指定された式に基づいてデータベースを除外する\n" #: pg_dumpall.c:667 #, c-format diff --git a/src/bin/pg_dump/po/ka.po b/src/bin/pg_dump/po/ka.po index 7b08ff6f9a2..104ff1fa43b 100644 --- a/src/bin/pg_dump/po/ka.po +++ b/src/bin/pg_dump/po/ka.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_dump (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-06-14 02:22+0000\n" -"PO-Revision-Date: 2024-06-14 06:14+0200\n" +"POT-Creation-Date: 2024-08-27 16:52+0000\n" +"PO-Revision-Date: 2024-08-28 05:56+0200\n" "Last-Translator: Temuri Doghonadze \n" "Language-Team: Georgian \n" "Language: ka\n" @@ -577,37 +577,42 @@ msgstr "ფილტრის ფაილის \"%s\" გახსნის msgid "could not close filter file \"%s\": %m" msgstr "ფილტრის ფაილის \"%s\" დახურვის შეცდომა: %m" -#: filter.c:164 +#: filter.c:165 #, c-format -msgid "invalid format in filter read from \"%s\" on line %d: %s" -msgstr "არასწორი ფორმატი ფილტრში, რომელიც წავიკითხე \"%s\"-დან, ხაზზე %d: %s" +msgid "invalid format in filter read from standard input on line %d: %s" +msgstr "არასწორი ფორმატი ფილტრში, რომელიც წავიკითხე სტანდარტული შეყვანიდან, ხაზზე %d: %s" -#: filter.c:239 filter.c:466 +#: filter.c:168 +#, c-format +msgid "invalid format in filter read from file \"%s\" on line %d: %s" +msgstr "არასწორი ფორმატი ფილტრში, რომელიც წავიკითხე ფაილიდან \"%s\", ხაზზე %d: %s" + +#: filter.c:241 filter.c:468 #, c-format msgid "could not read from filter file \"%s\": %m" msgstr "ფილტრის ფაილიდან \"%s\" წაკითხვა შეუძლებელია: %m" -#: filter.c:242 +#: filter.c:244 msgid "unexpected end of file" msgstr "ფაილის მოულოდნელი დასასრული" -#: filter.c:309 +#: filter.c:311 msgid "missing object name pattern" msgstr "აკლია ობიექტის სახელის ნიმუში" -#: filter.c:420 +#: filter.c:422 msgid "no filter command found (expected \"include\" or \"exclude\")" msgstr "ფილტრის ბრძანება ვერ ვიპოვე (მოველოდი \"include\" ან \"exclude\")" -#: filter.c:431 +#: filter.c:433 msgid "invalid filter command (expected \"include\" or \"exclude\")" msgstr "არასწორი ფილტრის ბრძანება (მოველოდი \"include\" ან \"exclude\")" -#: filter.c:438 +#: filter.c:440 msgid "missing filter object type" msgstr "აკლია ფილტრის ობიექტის ტიპი" -#: filter.c:445 +#: filter.c:447 #, c-format msgid "unsupported filter object type: \"%.*s\"" msgstr "მხარდაუჭერელი ფილტრის ობიექტის ტიპი: \"%.*s\"" @@ -818,7 +823,7 @@ msgstr "მიმდინარეობს დიდი ობიექტი msgid "could not create large object %u: %s" msgstr "დიდი ობიექტის (%u) შექმნის შეცდომა: %s" -#: pg_backup_archiver.c:1486 pg_dump.c:3863 +#: pg_backup_archiver.c:1486 pg_dump.c:3888 #, c-format msgid "could not open large object %u: %s" msgstr "დიდი ობიექტის (%u) გახსნის შეცდომა: %s" @@ -969,12 +974,12 @@ msgstr "stdout-ის ბოლოში მისაწერად გახ msgid "unrecognized file format \"%d\"" msgstr "ფაილის უცნობი ფორმატი \"%d\"" -#: pg_backup_archiver.c:2527 pg_backup_archiver.c:4625 +#: pg_backup_archiver.c:2527 pg_backup_archiver.c:4647 #, c-format msgid "finished item %d %s %s" msgstr "დასრულებული ელემენტი %d %s %s" -#: pg_backup_archiver.c:2531 pg_backup_archiver.c:4638 +#: pg_backup_archiver.c:2531 pg_backup_archiver.c:4660 #, c-format msgid "worker process failed: exit code %d" msgstr "დამხმარე პროცესის შეცდომა: გამოსვლის კოდი %d" @@ -1059,72 +1064,72 @@ msgstr "ცხრილის წვდომის მეთოდის შე msgid "don't know how to set owner for object type \"%s\"" msgstr "არ ვიცი, როგორ დავაყენო ობიექტის მოცემული ტიპის (%s) მფლობელი" -#: pg_backup_archiver.c:3982 +#: pg_backup_archiver.c:4004 #, c-format msgid "did not find magic string in file header" msgstr "ფაილის თავსართში მაგიური სტრიქონი ნაპოვნი არაა" -#: pg_backup_archiver.c:3996 +#: pg_backup_archiver.c:4018 #, c-format msgid "unsupported version (%d.%d) in file header" msgstr "ფაილის თავსართში არსებული ვერსია (%d.%d) მხარდაუჭერელია" -#: pg_backup_archiver.c:4001 +#: pg_backup_archiver.c:4023 #, c-format msgid "sanity check on integer size (%lu) failed" msgstr "მთელი რიცხვის ზომის (%lu) სისწორის შემოწმების შეცდომა" -#: pg_backup_archiver.c:4005 +#: pg_backup_archiver.c:4027 #, c-format msgid "archive was made on a machine with larger integers, some operations might fail" msgstr "არქივი შეიქმნა მანქანაზე, სადაც მთელი რიცხვი უფრო დიდია. ზოგიერთი ოპერაცია შეიძლება შეცდომით დასრულდეს" -#: pg_backup_archiver.c:4015 +#: pg_backup_archiver.c:4037 #, c-format msgid "expected format (%d) differs from format found in file (%d)" msgstr "მოსალოდნელი ფორმატი (%d) განსხვავდება ფაილის ფორმატისგან (%d)" -#: pg_backup_archiver.c:4037 +#: pg_backup_archiver.c:4059 #, 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:4073 +#: pg_backup_archiver.c:4095 #, c-format msgid "invalid creation date in header" msgstr "თავსართში არსებული შექმნის დრო არასწორია" -#: pg_backup_archiver.c:4207 +#: pg_backup_archiver.c:4229 #, c-format msgid "processing item %d %s %s" msgstr "მუშავდება ელემენტი %d %s %s" -#: pg_backup_archiver.c:4292 +#: pg_backup_archiver.c:4314 #, c-format msgid "entering main parallel loop" msgstr "მთავარი პარალელური მარყუჟის დასაწყისი" -#: pg_backup_archiver.c:4303 +#: pg_backup_archiver.c:4325 #, c-format msgid "skipping item %d %s %s" msgstr "ელემენტის გამოტოვება %d %s %s" -#: pg_backup_archiver.c:4312 +#: pg_backup_archiver.c:4334 #, c-format msgid "launching item %d %s %s" msgstr "ელემენტის გაშვება %d %s %s" -#: pg_backup_archiver.c:4366 +#: pg_backup_archiver.c:4388 #, c-format msgid "finished main parallel loop" msgstr "მთავარი პარალელური მარყუჟის დასასრული" -#: pg_backup_archiver.c:4402 +#: pg_backup_archiver.c:4424 #, c-format msgid "processing missed item %d %s %s" msgstr "გამორჩენილი ჩანაწერის დამუშავება %d %s %s" -#: pg_backup_archiver.c:4944 +#: pg_backup_archiver.c:4966 #, c-format msgid "table \"%s\" could not be created, will not restore its data" msgstr "ცხრილის (%s) შექმნა შეუძლებელია. მონაცემების აღდგენა არ მოხდება" @@ -1240,7 +1245,7 @@ msgstr "ბაზასთან მიერთების შეცდომ msgid "reconnection failed: %s" msgstr "თავიდან მიერთების შეცდომა: %s" -#: pg_backup_db.c:190 pg_backup_db.c:264 pg_dump.c:787 pg_dump_sort.c:1213 +#: 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:1704 pg_dumpall.c:1788 #, c-format msgid "%s" @@ -1287,7 +1292,7 @@ msgstr "\"PQputCopyEnd\"-ის მიერ დაბრუნებული msgid "COPY failed for table \"%s\": %s" msgstr "COPY-ის შეცდომა ცხრილისთვის \"%s\": %s" -#: pg_backup_db.c:521 pg_dump.c:2271 +#: pg_backup_db.c:521 pg_dump.c:2283 #, c-format msgid "unexpected extra results during COPY of table \"%s\"" msgstr "მოულოდნელი დამატებითი შედეგები COPY-ის დროს ცხრილისთვის \"%s\"" @@ -1459,7 +1464,7 @@ msgstr "%s-ში ნაპოვნია დაზიანებული თ msgid "unrecognized section name: \"%s\"" msgstr "სექციის უცნობი სახელი: %s" -#: pg_backup_utils.c:55 pg_dump.c:693 pg_dump.c:710 pg_dumpall.c:370 +#: 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 @@ -1472,82 +1477,82 @@ msgstr "მეტი ინფორმაციისთვის სცად msgid "out of on_exit_nicely slots" msgstr "on_exit_nicely ტიპის სლოტები აღარ დარჩა" -#: pg_dump.c:708 pg_dumpall.c:378 pg_restore.c:321 +#: pg_dump.c:709 pg_dumpall.c:378 pg_restore.c:321 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "მეტისმეტად ბევრი ბრძანების-სტრიქონის არგუმენტი (პირველია \"%s\")" -#: pg_dump.c:727 pg_restore.c:344 +#: pg_dump.c:728 pg_restore.c:344 #, 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:730 +#: pg_dump.c:731 #, 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:733 +#: pg_dump.c:734 #, c-format msgid "option --include-foreign-data is not supported with parallel backup" msgstr "პარამეტრი --include-foreign-data მხარდაუჭერელია პარალელური მარქაფისას" -#: pg_dump.c:736 pg_restore.c:347 +#: pg_dump.c:737 pg_restore.c:347 #, c-format msgid "options -c/--clean and -a/--data-only cannot be used together" msgstr "პარამეტრები -c/--clean და -a/--data-only ერთად ვერ გამოიყენება" -#: pg_dump.c:739 pg_dumpall.c:408 pg_restore.c:375 +#: pg_dump.c:740 pg_dumpall.c:408 pg_restore.c:375 #, c-format msgid "option --if-exists requires option -c/--clean" msgstr "--if-exists -ს -c/--clean პარამეტრი ესაჭიროება" -#: pg_dump.c:746 +#: pg_dump.c:747 #, 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:775 +#: pg_dump.c:776 #, c-format msgid "unrecognized compression algorithm: \"%s\"" msgstr "შეკუმშვის უცხო ალგორითმი: \"%s\"" -#: pg_dump.c:782 +#: pg_dump.c:783 #, c-format msgid "invalid compression specification: %s" msgstr "შეკუმშვის არასწორი სპეციფიკაცია: %s" -#: pg_dump.c:795 +#: pg_dump.c:796 #, c-format msgid "compression option \"%s\" is not currently supported by pg_dump" msgstr "შეკუმშვის პარამეტრი \"%s\"-ი pg_dump-ის მიერ ამჟამად მხარდაჭერილი არაა" -#: pg_dump.c:807 +#: pg_dump.c:808 #, c-format msgid "parallel backup only supported by the directory format" msgstr "პარალელური მარქაფი მხოლოდ საქაღალდის რეჟიმშია მხარდაჭერილი" -#: pg_dump.c:853 +#: pg_dump.c:854 #, c-format msgid "last built-in OID is %u" msgstr "ბოლო ჩაშენებული OID %u" -#: pg_dump.c:862 +#: pg_dump.c:863 #, c-format msgid "no matching schemas were found" msgstr "შესაბამისი სქემები ნაპოვნი არაა" -#: pg_dump.c:879 +#: pg_dump.c:880 #, c-format msgid "no matching tables were found" msgstr "შესაბამისი ცხრილები ნაპოვნი არაა" -#: pg_dump.c:907 +#: pg_dump.c:908 #, c-format msgid "no matching extensions were found" msgstr "შესაბამისი გაფართოებები ნაპოვნი არაა" -#: pg_dump.c:1091 +#: pg_dump.c:1092 #, c-format msgid "" "%s dumps a database as a text file or to other formats.\n" @@ -1556,17 +1561,17 @@ msgstr "" "%s მონაცემთა ბაზას გამოიტანს, როგორც ტექსტურ ფაილს ან სხვა ფორმატებს.\n" "\n" -#: pg_dump.c:1092 pg_dumpall.c:635 pg_restore.c:452 +#: pg_dump.c:1093 pg_dumpall.c:635 pg_restore.c:452 #, c-format msgid "Usage:\n" msgstr "გამოყენება:\n" -#: pg_dump.c:1093 +#: pg_dump.c:1094 #, c-format msgid " %s [OPTION]... [DBNAME]\n" msgstr " %s [პარამეტრი]... [ბაზისსახელი]\n" -#: pg_dump.c:1095 pg_dumpall.c:638 pg_restore.c:455 +#: pg_dump.c:1096 pg_dumpall.c:638 pg_restore.c:455 #, c-format msgid "" "\n" @@ -1575,12 +1580,12 @@ msgstr "" "\n" "ზოგადი პარამეტრები:\n" -#: pg_dump.c:1096 +#: pg_dump.c:1097 #, c-format msgid " -f, --file=FILENAME output file or directory name\n" msgstr " -f, --file=FILENAME გამოტანის ფაილის სახელი\n" -#: pg_dump.c:1097 +#: pg_dump.c:1098 #, c-format msgid "" " -F, --format=c|d|t|p output file format (custom, directory, tar,\n" @@ -1589,22 +1594,22 @@ msgstr "" " -F, --format=c|d|t|p გამოტანის ფაილის ფორმატი (custom, directory, tar\n" " უბრალო ტექსტი (ნაგულისხმევი))\n" -#: pg_dump.c:1099 +#: pg_dump.c:1100 #, c-format msgid " -j, --jobs=NUM use this many parallel jobs to dump\n" msgstr " -j, --jobs=NUM მითითებული რაოდენობის პარალელური დავალების გაშვება\n" -#: pg_dump.c:1100 pg_dumpall.c:640 +#: pg_dump.c:1101 pg_dumpall.c:640 #, c-format msgid " -v, --verbose verbose mode\n" msgstr " -v, --verbose დამატებითი ინფორმაციის გამოტანა\n" -#: pg_dump.c:1101 pg_dumpall.c:641 +#: pg_dump.c:1102 pg_dumpall.c:641 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version ვერსიის ინფორმაციის გამოტანა და გასვლა\n" -#: pg_dump.c:1102 +#: pg_dump.c:1103 #, c-format msgid "" " -Z, --compress=METHOD[:DETAIL]\n" @@ -1613,27 +1618,27 @@ msgstr "" " -Z, --compress=მეთოდი[:წვრილმანი]\n" " შეკუმშვის მითითება\n" -#: pg_dump.c:1104 pg_dumpall.c:642 +#: pg_dump.c:1105 pg_dumpall.c:642 #, 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:1105 pg_dumpall.c:670 +#: pg_dump.c:1106 pg_dumpall.c:670 #, c-format msgid " --no-sync do not wait for changes to be written safely to disk\n" msgstr " --no-sync არ დაველოდო ცვლილებების დისკზე უსაფრთხოდ ჩაწერას\n" -#: pg_dump.c:1106 +#: pg_dump.c:1107 #, c-format msgid " --sync-method=METHOD set method for syncing files to disk\n" msgstr " --sync-method=მეთოდი ფაილების დისკზე სინქრონიზაციის მეთოდის დაყენება\n" -#: pg_dump.c:1107 pg_dumpall.c:643 +#: pg_dump.c:1108 pg_dumpall.c:643 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help ამ დახმარების ჩვენება და გასვლა\n" -#: pg_dump.c:1109 pg_dumpall.c:644 +#: pg_dump.c:1110 pg_dumpall.c:644 #, c-format msgid "" "\n" @@ -1642,62 +1647,62 @@ msgstr "" "\n" "პარამეტრები, რომლებიც აკონტროლებენ გამოტანას:\n" -#: pg_dump.c:1110 pg_dumpall.c:645 +#: pg_dump.c:1111 pg_dumpall.c:645 #, c-format msgid " -a, --data-only dump only the data, not the schema\n" msgstr " -a, --data-only გამოტანილი იქნება მხოლოდ მონაცემები, სქემის გარეშე\n" -#: pg_dump.c:1111 +#: pg_dump.c:1112 #, c-format msgid " -b, --large-objects include large objects in dump\n" msgstr " -b, --large-objects გამოტანილი იქნება დიდი ობიექტებიც\n" -#: pg_dump.c:1112 +#: pg_dump.c:1113 #, c-format msgid " --blobs (same as --large-objects, deprecated)\n" msgstr " --blobs (იგივე, რაც--large-objects, რომელიც მოძველებულია)\n" -#: pg_dump.c:1113 +#: pg_dump.c:1114 #, c-format msgid " -B, --no-large-objects exclude large objects in dump\n" msgstr " -B, --no-large-objects დიდი ობიექტები გამოტანილი არ იქნება\n" -#: pg_dump.c:1114 +#: pg_dump.c:1115 #, c-format msgid " --no-blobs (same as --no-large-objects, deprecated)\n" msgstr " --no-blobs (იგივე, რაც --no-large-objects, რომელიც მოძველებულია)\n" -#: pg_dump.c:1115 pg_restore.c:466 +#: pg_dump.c:1116 pg_restore.c:466 #, c-format msgid " -c, --clean clean (drop) database objects before recreating\n" msgstr " -c, --clean ბაზის ობიექტების წაშლა თავიდან შექმნამდე\n" -#: pg_dump.c:1116 +#: pg_dump.c:1117 #, c-format msgid " -C, --create include commands to create database in dump\n" msgstr " -C, --create გამოტანილში ბაზის შექმნის ბრძანებების მიყოლება\n" -#: pg_dump.c:1117 +#: pg_dump.c:1118 #, c-format msgid " -e, --extension=PATTERN dump the specified extension(s) only\n" msgstr " -e, --extension=PATTERN მხოლოდ მითითებული გაფართოებების გამოტანა\n" -#: pg_dump.c:1118 pg_dumpall.c:647 +#: pg_dump.c:1119 pg_dumpall.c:647 #, c-format msgid " -E, --encoding=ENCODING dump the data in encoding ENCODING\n" msgstr " -E, --encoding=ENCODING მხოლოდ მითითებული კოდირების მქონე მონაცემების გამოტანა\n" -#: pg_dump.c:1119 +#: pg_dump.c:1120 #, c-format msgid " -n, --schema=PATTERN dump the specified schema(s) only\n" msgstr " -n, --schema=PATTERN მხოლოდ მითითებული სქემების გამოტანა\n" -#: pg_dump.c:1120 +#: pg_dump.c:1121 #, c-format msgid " -N, --exclude-schema=PATTERN do NOT dump the specified schema(s)\n" msgstr " -N, --exclude-schema=PATTERN მითითებული სქემები გამოტანილი არ იქნება\n" -#: pg_dump.c:1121 +#: pg_dump.c:1122 #, c-format msgid "" " -O, --no-owner skip restoration of object ownership in\n" @@ -1706,52 +1711,52 @@ msgstr "" " -O, --no-owner უბრალო ტექსტურ ფორმატში ობიექტების მფლობელობის \n" " აღდგენის გამოტოვება\n" -#: pg_dump.c:1123 pg_dumpall.c:651 +#: pg_dump.c:1124 pg_dumpall.c:651 #, c-format msgid " -s, --schema-only dump only the schema, no data\n" msgstr " -s, --schema-only აღდგება მხოლოდ სქემები, მონაცემები კი არა\n" -#: pg_dump.c:1124 +#: pg_dump.c:1125 #, c-format msgid " -S, --superuser=NAME superuser user name to use in plain-text format\n" msgstr " -S, --superuser=NAME უბრალო ტექსტურ ფაილში გამოტანისას გამოყენებული ზემომხმარებლის სახელი\n" -#: pg_dump.c:1125 +#: pg_dump.c:1126 #, c-format msgid " -t, --table=PATTERN dump only the specified table(s)\n" msgstr " -t, --table=შაბლონი მხოლოდ მითითებული ცხრილების დამპი\n" -#: pg_dump.c:1126 +#: pg_dump.c:1127 #, c-format msgid " -T, --exclude-table=PATTERN do NOT dump the specified table(s)\n" msgstr " -T, --exclude-table=PATTERN მითითებული ცხრილები გამოტანილი არ იქნება\n" -#: pg_dump.c:1127 pg_dumpall.c:654 +#: pg_dump.c:1128 pg_dumpall.c:654 #, c-format msgid " -x, --no-privileges do not dump privileges (grant/revoke)\n" msgstr " -x, --no-privileges პრივილეგიები (dump/revoke) გამოტანილი არ იქნება\n" -#: pg_dump.c:1128 pg_dumpall.c:655 +#: pg_dump.c:1129 pg_dumpall.c:655 #, c-format msgid " --binary-upgrade for use by upgrade utilities only\n" msgstr " --binary-upgrade გამოიყენება მხოლოდ განახლების პროგრამების მიერ\n" -#: pg_dump.c:1129 pg_dumpall.c:656 +#: pg_dump.c:1130 pg_dumpall.c:656 #, c-format msgid " --column-inserts dump data as INSERT commands with column names\n" msgstr " --column-inserts მონაცემების დამპი ისე, როგორც ბრძანება INSERT, სვეტების სახელებით\n" -#: pg_dump.c:1130 pg_dumpall.c:657 +#: pg_dump.c:1131 pg_dumpall.c:657 #, c-format msgid " --disable-dollar-quoting disable dollar quoting, use SQL standard quoting\n" msgstr " --disable-dollar-quoting დოლარით ციტირების გამორთვა. სტანდარტული SQL ციტირების გამოყენება\n" -#: pg_dump.c:1131 pg_dumpall.c:658 pg_restore.c:483 +#: pg_dump.c:1132 pg_dumpall.c:658 pg_restore.c:483 #, c-format msgid " --disable-triggers disable triggers during data-only restore\n" msgstr " --disable-triggers მხოლოდ მონაცემების აღდგენისას ტრიგერების გამორთვა\n" -#: pg_dump.c:1132 +#: pg_dump.c:1133 #, c-format msgid "" " --enable-row-security enable row security (dump only content user has\n" @@ -1760,12 +1765,12 @@ msgstr "" " --enable-row-security მწკრივების უსაფრთხოების ჩართვა (მხოლოდ იმ მონაცემების დამპი, \n" " რაზეც მომხმარებელს წვდომა გააჩნია)\n" -#: pg_dump.c:1134 +#: pg_dump.c:1135 #, c-format msgid " --exclude-extension=PATTERN do NOT dump the specified extension(s)\n" msgstr " --exclude-extension=PATTERN მითითებული გაფართოებ(ებ)-ი გამოტანილი *არ* იქნება\n" -#: pg_dump.c:1135 +#: pg_dump.c:1136 #, c-format msgid "" " --exclude-table-and-children=PATTERN\n" @@ -1776,12 +1781,12 @@ msgstr "" " მითითებული ცხრილები დამპში არ იქნება,\n" " შვილი და დაყოფილი ცხრილების ჩათვლით\n" -#: pg_dump.c:1138 +#: pg_dump.c:1139 #, c-format msgid " --exclude-table-data=PATTERN do NOT dump data for the specified table(s)\n" msgstr " -T, --exclude-table=შაბლონი შაბლონით მითითებული ცხრილები\n" -#: pg_dump.c:1139 +#: pg_dump.c:1140 #, c-format msgid "" " --exclude-table-data-and-children=PATTERN\n" @@ -1792,12 +1797,12 @@ msgstr "" " მითითებული ცხრილების მონაცემები დამპში არ იქნება,\n" " შვილი და დაყოფილი ცხრილების ჩათვლით\n" -#: pg_dump.c:1142 pg_dumpall.c:660 +#: pg_dump.c:1143 pg_dumpall.c:660 #, 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:1143 +#: pg_dump.c:1144 #, c-format msgid "" " --filter=FILENAME include or exclude objects and data from dump\n" @@ -1806,12 +1811,12 @@ msgstr "" " --filter=ფაილისსახელი დამპიდან ობიექტების და მონაცემების, რომლებიც ემთხვევა მითითებულ\n" " ფაილისსახელში მყოფ გამოსახულებას, ამოღება ან ჩასმა\n" -#: pg_dump.c:1145 pg_dumpall.c:662 pg_restore.c:487 +#: pg_dump.c:1146 pg_dumpall.c:662 pg_restore.c:487 #, c-format msgid " --if-exists use IF EXISTS when dropping objects\n" msgstr " --if-exists ობიექტების გადაყრისას IF EXISTS -ის გამოყენება\n" -#: pg_dump.c:1146 +#: pg_dump.c:1147 #, c-format msgid "" " --include-foreign-data=PATTERN\n" @@ -1822,87 +1827,87 @@ msgstr "" " მონაცემების ჩასმა უცხო სერვერებზე მდებარე , უცხო ცხრილებიდან, რომლებიც\n" " შაბლონს ემთხვევა\n" -#: pg_dump.c:1149 pg_dumpall.c:663 +#: pg_dump.c:1150 pg_dumpall.c:663 #, c-format msgid " --inserts dump data as INSERT commands, rather than COPY\n" msgstr " --inserts მონაცემების დამპი INSERT ბრძანებების მსგავსად, COPY-ის მაგიერ\n" -#: pg_dump.c:1150 pg_dumpall.c:664 +#: pg_dump.c:1151 pg_dumpall.c:664 #, c-format msgid " --load-via-partition-root load partitions via the root table\n" msgstr " --load-via-partition-root დანაყოფების root ცხრილს გავლით ჩატვირთვა\n" -#: pg_dump.c:1151 pg_dumpall.c:665 +#: pg_dump.c:1152 pg_dumpall.c:665 #, c-format msgid " --no-comments do not dump comments\n" msgstr " --no-comments კომენტარების გარეშე\n" -#: pg_dump.c:1152 pg_dumpall.c:666 +#: pg_dump.c:1153 pg_dumpall.c:666 #, c-format msgid " --no-publications do not dump publications\n" msgstr " --no-publications გამოცემების გარეშე\n" -#: pg_dump.c:1153 pg_dumpall.c:668 +#: pg_dump.c:1154 pg_dumpall.c:668 #, c-format msgid " --no-security-labels do not dump security label assignments\n" msgstr " --no-security-labels უსაფრთხოების ჭდეების მინიჭებების გარეშე\n" -#: pg_dump.c:1154 pg_dumpall.c:669 +#: pg_dump.c:1155 pg_dumpall.c:669 #, c-format msgid " --no-subscriptions do not dump subscriptions\n" msgstr " --no-subscriptions გამოწერების გარეშე\n" -#: pg_dump.c:1155 pg_dumpall.c:671 +#: pg_dump.c:1156 pg_dumpall.c:671 #, c-format msgid " --no-table-access-method do not dump table access methods\n" msgstr " --no-table-access-method ცხრილის წვდომის მეთოდები\n" -#: pg_dump.c:1156 pg_dumpall.c:672 +#: pg_dump.c:1157 pg_dumpall.c:672 #, c-format msgid " --no-tablespaces do not dump tablespace assignments\n" msgstr " --no-tablespaces ცხრილის სივრცის მინიჭებები\n" -#: pg_dump.c:1157 pg_dumpall.c:673 +#: pg_dump.c:1158 pg_dumpall.c:673 #, c-format msgid " --no-toast-compression do not dump TOAST compression methods\n" msgstr " --no-toast-compression TOAST-ის შეკუმშვის მეთოდები დამპში არ ჩაიწერება\n" -#: pg_dump.c:1158 pg_dumpall.c:674 +#: pg_dump.c:1159 pg_dumpall.c:674 #, c-format msgid " --no-unlogged-table-data do not dump unlogged table data\n" msgstr " --no-unlogged-table-data ის ცხრილები, რომლებსაც ჟურნალი არ აქვთ, დამპში არ ჩაიწერება\n" -#: pg_dump.c:1159 pg_dumpall.c:675 +#: pg_dump.c:1160 pg_dumpall.c:675 #, c-format msgid " --on-conflict-do-nothing add ON CONFLICT DO NOTHING to INSERT commands\n" msgstr " --on-conflict-do-nothing INSERT ბრძანებებისთვის ON CONFLICT DO NOTHING -ის დამატება\n" -#: pg_dump.c:1160 pg_dumpall.c:676 +#: pg_dump.c:1161 pg_dumpall.c:676 #, c-format msgid " --quote-all-identifiers quote all identifiers, even if not key words\n" msgstr " --quote-all-identifiers ყველა იდენტიფიკატორის ციტირება. მაშინაც კი, თუ ისინი საკვანძო სიტყვები არაა\n" -#: pg_dump.c:1161 pg_dumpall.c:677 +#: pg_dump.c:1162 pg_dumpall.c:677 #, 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:1162 +#: pg_dump.c:1163 #, c-format msgid " --section=SECTION dump named section (pre-data, data, or post-data)\n" msgstr " --section=სექცია მითითებული სექცია (pre-data, data, ან post-data)\n" -#: pg_dump.c:1163 +#: pg_dump.c:1164 #, c-format msgid " --serializable-deferrable wait until the dump can run without anomalies\n" msgstr " --serializable-deferrable მოცდა, სანამ დამპის გაშვება ანომალიების გარეშე იქნება შესაძლებელი\n" -#: pg_dump.c:1164 +#: pg_dump.c:1165 #, c-format msgid " --snapshot=SNAPSHOT use given snapshot for the dump\n" msgstr " --snapshot=SNAPSHOT დამპისთვის მითითებული სწრაფი ასლის გამოყენება\n" -#: pg_dump.c:1165 pg_restore.c:497 +#: pg_dump.c:1166 pg_restore.c:497 #, c-format msgid "" " --strict-names require table and/or schema include patterns to\n" @@ -1911,7 +1916,7 @@ msgstr "" " --strict-names მოთხოვნა, რომ ცხრილი ან/და სქემა შეიცავდეს შაბლონებს, რომლებიც\n" " ერთ ელემენტს მაინც ემთხვევა\n" -#: pg_dump.c:1167 +#: pg_dump.c:1168 #, c-format msgid "" " --table-and-children=PATTERN dump only the specified table(s), including\n" @@ -1920,7 +1925,7 @@ msgstr "" " --table-and-children=შაბლონი მხოლოდ მითითებული ცხრილების დამპი,\n" " შვილი და დაყოფილი ცხრილების ჩათვლით\n" -#: pg_dump.c:1169 pg_dumpall.c:678 pg_restore.c:500 +#: pg_dump.c:1170 pg_dumpall.c:678 pg_restore.c:500 #, c-format msgid "" " --use-set-session-authorization\n" @@ -1931,7 +1936,7 @@ msgstr "" " მფლობელობის დასაყენებლად ALTER OWNER ბრძანებების მაგიერ\n" " SET SESSION AUTHORIZATION -ის გამოყენება\n" -#: pg_dump.c:1173 pg_dumpall.c:682 pg_restore.c:504 +#: pg_dump.c:1174 pg_dumpall.c:682 pg_restore.c:504 #, c-format msgid "" "\n" @@ -1940,42 +1945,42 @@ msgstr "" "\n" "შეერთების პარამეტრები:\n" -#: pg_dump.c:1174 +#: pg_dump.c:1175 #, c-format msgid " -d, --dbname=DBNAME database to dump\n" msgstr " -d, --dbname=ბაზისსახელი მონაცემთა ბაზის სახელი\n" -#: pg_dump.c:1175 pg_dumpall.c:684 pg_restore.c:505 +#: pg_dump.c:1176 pg_dumpall.c:684 pg_restore.c:505 #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr " -h, --host=HOSTNAME მონაცემთა ბაზის სერვერის ჰოსტის ან სოკეტის საქაღალდე\n" -#: pg_dump.c:1176 pg_dumpall.c:686 pg_restore.c:506 +#: pg_dump.c:1177 pg_dumpall.c:686 pg_restore.c:506 #, c-format msgid " -p, --port=PORT database server port number\n" msgstr " -p, --port=PORT მონაცემთა ბაზის სერვერის პორტი\n" -#: pg_dump.c:1177 pg_dumpall.c:687 pg_restore.c:507 +#: pg_dump.c:1178 pg_dumpall.c:687 pg_restore.c:507 #, c-format msgid " -U, --username=NAME connect as specified database user\n" msgstr " -U, --username=მომხმარებელი ბაზის მომხმარებლის სახელი\n" -#: pg_dump.c:1178 pg_dumpall.c:688 pg_restore.c:508 +#: pg_dump.c:1179 pg_dumpall.c:688 pg_restore.c:508 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password არასოდეს მკითხო პაროლი\n" -#: pg_dump.c:1179 pg_dumpall.c:689 pg_restore.c:509 +#: pg_dump.c:1180 pg_dumpall.c:689 pg_restore.c:509 #, c-format msgid " -W, --password force password prompt (should happen automatically)\n" msgstr " -W, --password პაროლის ყოველთვის კითხვა (ავტომატურად უნდა ხდებოდეს)\n" -#: pg_dump.c:1180 pg_dumpall.c:690 +#: pg_dump.c:1181 pg_dumpall.c:690 #, c-format msgid " --role=ROLENAME do SET ROLE before dump\n" msgstr " --role=ROLENAME აღდგენამდე SET ROLE -ის გაშვება\n" -#: pg_dump.c:1182 +#: pg_dump.c:1183 #, c-format msgid "" "\n" @@ -1988,459 +1993,459 @@ msgstr "" "ცვლადი გამოიყენება.\n" "\n" -#: pg_dump.c:1184 pg_dumpall.c:694 pg_restore.c:516 +#: pg_dump.c:1185 pg_dumpall.c:694 pg_restore.c:516 #, c-format msgid "Report bugs to <%s>.\n" msgstr "შეცდომების შესახებ მიწერეთ: <%s>\n" -#: pg_dump.c:1185 pg_dumpall.c:695 pg_restore.c:517 +#: pg_dump.c:1186 pg_dumpall.c:695 pg_restore.c:517 #, c-format msgid "%s home page: <%s>\n" msgstr "%s-ის საწყისი გვერდია: <%s>\n" -#: pg_dump.c:1204 pg_dumpall.c:518 +#: pg_dump.c:1205 pg_dumpall.c:518 #, c-format msgid "invalid client encoding \"%s\" specified" msgstr "კლიენტის მითითებული კოდირება არასწორია: %s" -#: pg_dump.c:1344 +#: pg_dump.c:1352 #, c-format msgid "parallel dumps from standby servers are not supported by this server version" msgstr "სერვერის ამ ვერსიაში უქმე სერვერებიდან პარალელური დამპი მხარდაჭერილი არაა" -#: pg_dump.c:1409 +#: pg_dump.c:1417 #, c-format msgid "invalid output format \"%s\" specified" msgstr "გამოტანის მითითებული ფორმატი არასწორია: %s" -#: pg_dump.c:1450 pg_dump.c:1506 pg_dump.c:1559 pg_dumpall.c:1467 +#: pg_dump.c:1458 pg_dump.c:1514 pg_dump.c:1567 pg_dumpall.c:1467 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "არასწორი სრული სახელი (ძალიან ბევრი წერტილიანი სახელი): %s" -#: pg_dump.c:1458 +#: pg_dump.c:1466 #, c-format msgid "no matching schemas were found for pattern \"%s\"" msgstr "შესაბამისი სქემა შაბლონისთვის \"%s\" ვერ ვიპოვე" -#: pg_dump.c:1511 +#: pg_dump.c:1519 #, c-format msgid "no matching extensions were found for pattern \"%s\"" msgstr "შესაბამისი გაფართოება შაბლონისთვის \"%s\" ვერ ვიპოვე" -#: pg_dump.c:1564 +#: pg_dump.c:1572 #, c-format msgid "no matching foreign servers were found for pattern \"%s\"" msgstr "შესაბამისი უცხო სერვერი შაბლონისთვის \"%s\" ვერ ვიპოვე" -#: pg_dump.c:1635 +#: pg_dump.c:1643 #, c-format msgid "improper relation name (too many dotted names): %s" msgstr "ურთიერთობის არასწორი სახელი (ძალიან ბევრი წერტილიანი სახელი): %s" -#: pg_dump.c:1657 +#: pg_dump.c:1665 #, c-format msgid "no matching tables were found for pattern \"%s\"" msgstr "შესაბამისი ცხრილი შაბლონისთვის \"%s\" ვერ ვიპოვე" -#: pg_dump.c:1684 +#: pg_dump.c:1692 #, c-format msgid "You are currently not connected to a database." msgstr "ამჟამად მონაცემთა ბაზასთან მიერთებული არ ბრძანდებით." -#: pg_dump.c:1687 +#: pg_dump.c:1695 #, c-format msgid "cross-database references are not implemented: %s" msgstr "ბაზებს შორის ბმულები განხორციელებული არაა: %s" -#: pg_dump.c:2146 +#: pg_dump.c:2154 #, c-format msgid "dumping contents of table \"%s.%s\"" msgstr "ცხრილის შემცველობის გამოტანა: \"%s.%s\"" -#: pg_dump.c:2252 +#: pg_dump.c:2264 #, c-format msgid "Dumping the contents of table \"%s\" failed: PQgetCopyData() failed." msgstr "ცხრილის (\"%s\") დამპის შეცდომა: PQgetCopyData() failed." -#: pg_dump.c:2253 pg_dump.c:2263 +#: pg_dump.c:2265 pg_dump.c:2275 #, c-format msgid "Error message from server: %s" msgstr "შეცდომა სერვერიდან: %s" -#: pg_dump.c:2254 pg_dump.c:2264 +#: pg_dump.c:2266 pg_dump.c:2276 #, c-format msgid "Command was: %s" msgstr "ბრძანება იყო: %s" -#: pg_dump.c:2262 +#: pg_dump.c:2274 #, c-format msgid "Dumping the contents of table \"%s\" failed: PQgetResult() failed." msgstr "ცხრილის (\"%s\") დამპის შეცდომა: PQgetResult() failed." -#: pg_dump.c:2344 +#: pg_dump.c:2365 #, c-format msgid "wrong number of fields retrieved from table \"%s\"" msgstr "ცხრილიდან \"%s\" მიღებულია ველების არასწორი რაოდენობა" -#: pg_dump.c:3042 +#: pg_dump.c:3067 #, c-format msgid "saving database definition" msgstr "ბაზის აღწერის შენახვა" -#: pg_dump.c:3151 +#: pg_dump.c:3176 #, c-format msgid "unrecognized locale provider: %s" msgstr "ენის უცნობი მომწოდებელი: %s" -#: pg_dump.c:3512 +#: pg_dump.c:3537 #, c-format msgid "saving encoding = %s" msgstr "კოდირების შენახვა = %s" -#: pg_dump.c:3537 +#: pg_dump.c:3562 #, c-format msgid "saving \"standard_conforming_strings = %s\"" msgstr "შენახვა: \"standard_conforming_strings = %s\"" -#: pg_dump.c:3576 +#: pg_dump.c:3601 #, c-format msgid "could not parse result of current_schemas()" msgstr "current_schemas() -ის შედეგის დამუშავების შეცდომა" -#: pg_dump.c:3595 +#: pg_dump.c:3620 #, c-format msgid "saving \"search_path = %s\"" msgstr "შენახვა: \"search_path = %s\"" -#: pg_dump.c:3631 +#: pg_dump.c:3656 #, c-format msgid "reading large objects" msgstr "დიდი ობიექტების კითხვა" -#: pg_dump.c:3852 +#: pg_dump.c:3877 #, c-format msgid "saving large objects \"%s\"" msgstr "მიმდინარეობს შენახვა დიდი ობიექტებისთვის \"%s\"" -#: pg_dump.c:3873 +#: pg_dump.c:3898 #, c-format msgid "error reading large object %u: %s" msgstr "დიდი ობიექტის (%u) წაკითხვის შეცდომა: %s" -#: pg_dump.c:3976 +#: pg_dump.c:4001 #, c-format msgid "reading row-level security policies" msgstr "მწკრივის დონის უსაფრთხოების წესების წაკითხვა" -#: pg_dump.c:4117 +#: pg_dump.c:4142 #, c-format msgid "unexpected policy command type: %c" msgstr "წესების ბრძანების მოულოდნელი ტიპი: %c" -#: pg_dump.c:4567 pg_dump.c:5103 pg_dump.c:12315 pg_dump.c:18137 -#: pg_dump.c:18139 pg_dump.c:18761 +#: pg_dump.c:4592 pg_dump.c:5150 pg_dump.c:12362 pg_dump.c:18246 +#: pg_dump.c:18248 pg_dump.c:18870 #, c-format msgid "could not parse %s array" msgstr "მასივის დამუშავების შეცდომა: %s" -#: pg_dump.c:4759 +#: pg_dump.c:4806 #, c-format msgid "subscriptions not dumped because current user is not a superuser" msgstr "გამოწერები დამპში არ ჩაწერილა. მიმდინარე მომხმარებელი ზემომხმარებელი არაა" -#: pg_dump.c:4965 +#: pg_dump.c:5012 #, c-format msgid "subscription with OID %u does not exist" msgstr "გამოწერა OID-ით %u არ არსებობს" -#: pg_dump.c:4972 +#: pg_dump.c:5019 #, c-format msgid "failed sanity check, table with OID %u not found" msgstr "სისწორის შემოწმების შეცდომა. ცხრილი OID-ით %u აღმოჩენილი არაა" -#: pg_dump.c:5535 +#: pg_dump.c:5582 #, c-format msgid "could not find parent extension for %s %s" msgstr "%s-სთვის მშობელი გაფართოება ვერ ვიპოვე %s" -#: pg_dump.c:5680 +#: pg_dump.c:5727 #, c-format msgid "schema with OID %u does not exist" msgstr "სქემა OID-ით %u არ არსებობს" -#: pg_dump.c:7162 pg_dump.c:17508 +#: pg_dump.c:7209 pg_dump.c:17617 #, 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:7305 +#: pg_dump.c:7352 #, c-format msgid "failed sanity check, table OID %u appearing in pg_partitioned_table not found" msgstr "სისწორის შემოწმების შეცდომა. pg_parttioned_table-ში მოხსენიებული ცხრილი OID-ით %u ვერ ვიპოვე" -#: pg_dump.c:7536 pg_dump.c:7810 pg_dump.c:8257 pg_dump.c:8871 pg_dump.c:8993 -#: pg_dump.c:9141 +#: pg_dump.c:7583 pg_dump.c:7857 pg_dump.c:8304 pg_dump.c:8918 pg_dump.c:9040 +#: pg_dump.c:9188 #, c-format msgid "unrecognized table OID %u" msgstr "ცხრილის უცნობი OID: %u" -#: pg_dump.c:7540 +#: pg_dump.c:7587 #, c-format msgid "unexpected index data for table \"%s\"" msgstr "მოულოდნელი ინდექსის მონაცემები ცხრილისთვის \"%s\"" -#: pg_dump.c:8042 +#: pg_dump.c:8089 #, 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:8875 +#: pg_dump.c:8922 #, c-format msgid "unexpected column data for table \"%s\"" msgstr "სვეტის მოულოდნელი მონაცემები ცხრილისთვის %s" -#: pg_dump.c:8904 +#: pg_dump.c:8951 #, c-format msgid "invalid column numbering in table \"%s\"" msgstr "ცხრილში \"%s\" სვეტები არასწორადაა დანომრილი" -#: pg_dump.c:8955 +#: pg_dump.c:9002 #, c-format msgid "finding table default expressions" msgstr "ვეძებ ცხრილის ნაგულისხმევ გამოსახულებებს" -#: pg_dump.c:8997 +#: pg_dump.c:9044 #, c-format msgid "invalid adnum value %d for table \"%s\"" msgstr "adnum -ის არასწორი მნიშვნელობა %d ცხრილისთვის \"%s\"" -#: pg_dump.c:9091 +#: pg_dump.c:9138 #, c-format msgid "finding table check constraints" msgstr "ვეძებ ცხრილის შემოწმების შეზღუდვებს" -#: pg_dump.c:9145 +#: pg_dump.c:9192 #, 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" msgstr[0] "მოველოდი %d შემოწმების შეზღუდვას ცხრილზე \"%s\", მაგრამ %d" msgstr[1] "მოველოდი %d შემოწმების შეზღუდვას ცხრილზე \"%s\", მაგრამ %d" -#: pg_dump.c:9149 +#: pg_dump.c:9196 #, c-format msgid "The system catalogs might be corrupted." msgstr "სისტემის კატალოგი შეიძლება დაზიანებულია." -#: pg_dump.c:9839 +#: pg_dump.c:9886 #, c-format msgid "role with OID %u does not exist" msgstr "როლი OID-ით %u არ არსებობს" -#: pg_dump.c:9951 pg_dump.c:9980 +#: pg_dump.c:9998 pg_dump.c:10027 #, c-format msgid "unsupported pg_init_privs entry: %u %u %d" msgstr "pg_init_privs -ის არასწორი ჩანაწერი: %u %u %d" -#: pg_dump.c:10527 +#: pg_dump.c:10574 #, c-format msgid "missing metadata for large objects \"%s\"" msgstr "აკლია მეტამონაცემები დიდი ობიექტებისთვის \"%s\"" -#: pg_dump.c:10810 +#: pg_dump.c:10857 #, c-format msgid "typtype of data type \"%s\" appears to be invalid" msgstr "მონაცემის ტიპი %s-ის typetype თურმე არასორია" -#: pg_dump.c:12384 +#: pg_dump.c:12431 #, c-format msgid "unrecognized provolatile value for function \"%s\"" msgstr "უცნობი provolatile მნიშვნელობა ფუნქციისთვის \"%s\"" -#: pg_dump.c:12434 pg_dump.c:14330 +#: pg_dump.c:12481 pg_dump.c:14377 #, c-format msgid "unrecognized proparallel value for function \"%s\"" msgstr "უცნობი proparallel მნიშვნელობა ფუნქციისთვის \"%s\"" -#: pg_dump.c:12564 pg_dump.c:12670 pg_dump.c:12677 +#: pg_dump.c:12611 pg_dump.c:12717 pg_dump.c:12724 #, c-format msgid "could not find function definition for function with OID %u" msgstr "ფუნქციის აღწერა ფუნქციისთვის OID-ით %u ვერ ვიპოვე" -#: pg_dump.c:12603 +#: pg_dump.c:12650 #, c-format msgid "bogus value in pg_cast.castfunc or pg_cast.castmethod field" msgstr "pg_cast.castfunc ან pg_cast.castmethod ველების არასწორი მნიშვნელობა" -#: pg_dump.c:12606 +#: pg_dump.c:12653 #, c-format msgid "bogus value in pg_cast.castmethod field" msgstr "pg_cast.castmethod ველის არასწორი მნიშვნელობა" -#: pg_dump.c:12696 +#: pg_dump.c:12743 #, c-format msgid "bogus transform definition, at least one of trffromsql and trftosql should be nonzero" msgstr "არასწორი გარდაქმნის აღწერა. ერთ-ერთი, trffromsql ან trftosql ნულს არ უნდა უდრიდეს" -#: pg_dump.c:12713 +#: pg_dump.c:12760 #, c-format msgid "bogus value in pg_transform.trffromsql field" msgstr "pg_transform.trffromsql ველის არასწორი მნიშვნელობა" -#: pg_dump.c:12734 +#: pg_dump.c:12781 #, c-format msgid "bogus value in pg_transform.trftosql field" msgstr "pg_transform.trftosql ველის არასწორი მნიშვნელობა" -#: pg_dump.c:12879 +#: pg_dump.c:12926 #, c-format msgid "postfix operators are not supported anymore (operator \"%s\")" msgstr "postfix ოპერატორები მხარდაჭერილი აღარაა (ოპერატორი \"%s\")" -#: pg_dump.c:13049 +#: pg_dump.c:13096 #, c-format msgid "could not find operator with OID %s" msgstr "ოპერატორი OID-ით %s არ არსებობს" -#: pg_dump.c:13117 +#: pg_dump.c:13164 #, c-format msgid "invalid type \"%c\" of access method \"%s\"" msgstr "წვდომის მეთოდის (%2$s) არასწორი ტიპი: %1$c" -#: pg_dump.c:13791 pg_dump.c:13859 +#: pg_dump.c:13838 pg_dump.c:13906 #, c-format msgid "unrecognized collation provider: %s" msgstr "კოლაციის უცნობი მომწოდებელი: %s" -#: pg_dump.c:13800 pg_dump.c:13807 pg_dump.c:13818 pg_dump.c:13828 -#: pg_dump.c:13843 +#: pg_dump.c:13847 pg_dump.c:13854 pg_dump.c:13865 pg_dump.c:13875 +#: pg_dump.c:13890 #, c-format msgid "invalid collation \"%s\"" msgstr "არასწორი კოლაცია \"%s\"" -#: pg_dump.c:14249 +#: pg_dump.c:14296 #, c-format msgid "unrecognized aggfinalmodify value for aggregate \"%s\"" msgstr "აგრეგატის (%s) aggfinalmodify -ის უცნობი ტიპი" -#: pg_dump.c:14305 +#: pg_dump.c:14352 #, c-format msgid "unrecognized aggmfinalmodify value for aggregate \"%s\"" msgstr "აგრეგატის (%s) aggmfinalmodify -ის უცნობი ტიპი" -#: pg_dump.c:15022 +#: pg_dump.c:15069 #, c-format msgid "unrecognized object type in default privileges: %d" msgstr "ნაგულისხმევ პრივილეგიებში არსებული ობიექტის უცნობი ტიპი: %d" -#: pg_dump.c:15038 +#: pg_dump.c:15085 #, c-format msgid "could not parse default ACL list (%s)" msgstr "ნაგულიხმები ACL სიის ანალიზი შეუძლებელია: %s" -#: pg_dump.c:15122 +#: pg_dump.c:15169 #, 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:15147 +#: pg_dump.c:15194 #, 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:15690 +#: pg_dump.c:15737 #, c-format msgid "query to obtain definition of view \"%s\" returned no data" msgstr "ხედის (%s) აღწერის გამოთხოვამ მონაცემები არ დააბრუნა" -#: pg_dump.c:15693 +#: pg_dump.c:15740 #, c-format msgid "query to obtain definition of view \"%s\" returned more than one definition" msgstr "ხედის (%s) აღწერის გამოთხოვამ ერთზე მეტი აღწერა დააბრუნა" -#: pg_dump.c:15700 +#: pg_dump.c:15747 #, c-format msgid "definition of view \"%s\" appears to be empty (length zero)" msgstr "ხედის (%s) აღწერა, როგორც ჩანს, ცარიელია (ნულოვანი სიგრძე)" -#: pg_dump.c:15784 +#: pg_dump.c:15832 #, c-format msgid "WITH OIDS is not supported anymore (table \"%s\")" msgstr "WITH OIDS-ები უკვე მხარდაუჭერელია (ცხრილი \"%s\")" -#: pg_dump.c:16710 +#: pg_dump.c:16819 #, c-format msgid "invalid column number %d for table \"%s\"" msgstr "სვეტების არასწორი რიცხვი %d ცხრილისთვის %s" -#: pg_dump.c:16788 +#: pg_dump.c:16897 #, c-format msgid "could not parse index statistic columns" msgstr "ინდექსის სტატისტიკის სვეტების დამუშავების შეცდომა" -#: pg_dump.c:16790 +#: pg_dump.c:16899 #, c-format msgid "could not parse index statistic values" msgstr "ინდექსის სტატისტიკის მნიშვნელობების დამუშავების შეცდომა" -#: pg_dump.c:16792 +#: pg_dump.c:16901 #, c-format msgid "mismatched number of columns and values for index statistics" msgstr "ინდექსის სტატისტიკისთვის სვეტებისა და მნიშვნელობების რაოდენობა არ ემთხვევა" -#: pg_dump.c:17007 +#: pg_dump.c:17116 #, c-format msgid "missing index for constraint \"%s\"" msgstr "შეზღუდვას ინდექსი აკლია: \"%s\"" -#: pg_dump.c:17242 +#: pg_dump.c:17351 #, c-format msgid "unrecognized constraint type: %c" msgstr "შეზღუდვის უცნობი ტიპი: %c" -#: pg_dump.c:17343 pg_dump.c:17572 +#: pg_dump.c:17452 pg_dump.c:17681 #, 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)" msgstr[0] "მოთხოვნამ, რომელსაც მონაცემები მიმდევრობიდან (%s) უნდა მიეღო, %d მწკრივი დააბრუნა. (მოველოდი: 1)" msgstr[1] "მოთხოვნამ, რომელსაც მონაცემები მიმდევრობიდან (%s) უნდა მიეღო, %d მწკრივი დააბრუნა. (მოველოდი: 1)" -#: pg_dump.c:17375 +#: pg_dump.c:17484 #, c-format msgid "unrecognized sequence type: %s" msgstr "მიმდევრობის უცნობი ტიპი: %s" -#: pg_dump.c:17889 +#: pg_dump.c:17998 #, c-format msgid "query to get rule \"%s\" for table \"%s\" failed: wrong number of rows returned" msgstr "მოთხოვნის შეცდომა, რომელსაც ცხრილისთვის \"%2$s\" წესი \"%1$s\" უნდა მიეღო: დაბრუნებულია მწკრივების არასწორი რაოდენობა" -#: pg_dump.c:18042 +#: pg_dump.c:18151 #, c-format msgid "could not find referenced extension %u" msgstr "მიბმული გაფართოება (%u) ვერ ვიპოვე" -#: pg_dump.c:18141 +#: pg_dump.c:18250 #, c-format msgid "mismatched number of configurations and conditions for extension" msgstr "კონფიგურაციებისა და პირობების რაოდენობა გაფართოებისთვის არ ემთხვევა" -#: pg_dump.c:18273 +#: pg_dump.c:18382 #, c-format msgid "reading dependency data" msgstr "დამოკიდებულების მონაცემების კითხვა" -#: pg_dump.c:18359 +#: pg_dump.c:18468 #, c-format msgid "no referencing object %u %u" msgstr "მიბმადი ობიექტის გარეშე %u %u" -#: pg_dump.c:18370 +#: pg_dump.c:18479 #, c-format msgid "no referenced object %u %u" msgstr "მიბმული ობიექტის გარეშე %u %u" -#: pg_dump.c:18795 pg_dump.c:18833 pg_dumpall.c:1962 pg_restore.c:551 +#: pg_dump.c:18904 pg_dump.c:18942 pg_dumpall.c:1962 pg_restore.c:551 #: pg_restore.c:597 #, c-format msgid "%s filter for \"%s\" is not allowed" @@ -2583,7 +2588,7 @@ msgstr " --exclude-database=PATTERN გამორიცხავს ბა #: pg_dumpall.c:661 #, c-format -msgid " --filter=FILENAME exclude databases specified in FILENAME\n" +msgid " --filter=FILENAME exclude databases based on expressions in FILENAME\n" msgstr " --filter=FILENAME ფაილში მითითებული მონაცემთა ბაზების ამოღება\n" #: pg_dumpall.c:667 diff --git a/src/bin/pg_dump/po/ru.po b/src/bin/pg_dump/po/ru.po index a0a5496656c..90cc5c33d70 100644 --- a/src/bin/pg_dump/po/ru.po +++ b/src/bin/pg_dump/po/ru.po @@ -5,13 +5,13 @@ # Oleg Bartunov , 2004. # Sergey Burladyan , 2012. # Dmitriy Olshevskiy , 2014. -# Alexander Lakhin , 2012-2017, 2018, 2019, 2020, 2021, 2022, 2023. +# Alexander Lakhin , 2012-2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024. msgid "" msgstr "" "Project-Id-Version: pg_dump (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-05-04 10:36+0300\n" -"PO-Revision-Date: 2023-08-30 14:18+0300\n" +"POT-Creation-Date: 2024-09-19 11:24+0300\n" +"PO-Revision-Date: 2024-09-07 07:35+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" @@ -97,32 +97,47 @@ msgstr "для алгоритма сжатия \"%s\" нельзя задать msgid "compression algorithm \"%s\" does not support long-distance mode" msgstr "алгоритм сжатия \"%s\" не поддерживает режим большой дистанции" -#: ../../common/exec.c:172 +#: ../../common/exec.c:174 #, c-format msgid "invalid binary \"%s\": %m" msgstr "неверный исполняемый файл \"%s\": %m" -#: ../../common/exec.c:215 +#: ../../common/exec.c:217 #, c-format msgid "could not read binary \"%s\": %m" msgstr "не удалось прочитать исполняемый файл \"%s\": %m" -#: ../../common/exec.c:223 +#: ../../common/exec.c:225 #, c-format msgid "could not find a \"%s\" to execute" msgstr "не удалось найти запускаемый файл \"%s\"" -#: ../../common/exec.c:250 +#: ../../common/exec.c:252 #, c-format msgid "could not resolve path \"%s\" to absolute form: %m" msgstr "не удалось преобразовать относительный путь \"%s\" в абсолютный: %m" -#: ../../common/exec.c:412 parallel.c:1609 +#: ../../common/exec.c:382 +#, c-format +msgid "could not execute command \"%s\": %m" +msgstr "не удалось выполнить команду \"%s\": %m" + +#: ../../common/exec.c:394 +#, c-format +msgid "could not read from command \"%s\": %m" +msgstr "не удалось прочитать вывод команды \"%s\": %m" + +#: ../../common/exec.c:397 +#, c-format +msgid "no data was returned by command \"%s\"" +msgstr "команда \"%s\" не выдала данные" + +#: ../../common/exec.c:424 parallel.c:1609 #, c-format msgid "%s() failed: %m" msgstr "ошибка в %s(): %m" -#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687 +#: ../../common/exec.c:562 ../../common/exec.c:607 ../../common/exec.c:699 msgid "out of memory" msgstr "нехватка памяти" @@ -137,6 +152,49 @@ msgstr "нехватка памяти\n" msgid "cannot duplicate null pointer (internal error)\n" msgstr "попытка дублирования нулевого указателя (внутренняя ошибка)\n" +#: ../../common/file_utils.c:70 ../../common/file_utils.c:347 +#: ../../common/file_utils.c:406 ../../common/file_utils.c:480 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "не удалось открыть файл \"%s\": %m" + +#: ../../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\": %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 +#, c-format +msgid "could not open directory \"%s\": %m" +msgstr "не удалось открыть каталог \"%s\": %m" + +#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 +#: pg_backup_directory.c:182 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "не удалось прочитать каталог \"%s\": %m" + +#: ../../common/file_utils.c:418 ../../common/file_utils.c:488 +#, c-format +msgid "could not fsync file \"%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/wait_error.c:55 #, c-format msgid "command not executable" @@ -165,7 +223,7 @@ msgstr "дочерний процесс завершён по сигналу %d: #: ../../common/wait_error.c:82 #, c-format msgid "child process exited with unrecognized status %d" -msgstr "дочерний процесс завершился с нераспознанным состоянием %d" +msgstr "дочерний процесс завершился с нераспознанным кодом состояния %d" #: ../../fe_utils/option_utils.c:69 #, c-format @@ -177,229 +235,252 @@ msgstr "неверное значение \"%s\" для параметра %s" msgid "%s must be in range %d..%d" msgstr "значение %s должно быть в диапазоне %d..%d" -#: common.c:132 +#: ../../fe_utils/option_utils.c:106 +#, c-format +msgid "unrecognized sync method: %s" +msgstr "нераспознанный метод синхронизации: %s" + +#: ../../fe_utils/string_utils.c:434 +#, c-format +msgid "shell command argument contains a newline or carriage return: \"%s\"\n" +msgstr "" +"аргумент команды оболочки содержит символ новой строки или перевода каретки: " +"\"%s\"\n" + +#: ../../fe_utils/string_utils.c:607 +#, c-format +msgid "database name contains a newline or carriage return: \"%s\"\n" +msgstr "" +"имя базы данных содержит символ новой строки или перевода каретки: \"%s\"\n" + +#: common.c:135 #, c-format msgid "reading extensions" msgstr "чтение расширений" -#: common.c:135 +#: common.c:138 #, c-format msgid "identifying extension members" msgstr "выявление членов расширений" -#: common.c:138 +#: common.c:141 #, c-format msgid "reading schemas" msgstr "чтение схем" -#: common.c:147 +#: common.c:150 #, c-format msgid "reading user-defined tables" msgstr "чтение пользовательских таблиц" -#: common.c:152 +#: common.c:155 #, c-format msgid "reading user-defined functions" msgstr "чтение пользовательских функций" -#: common.c:156 +#: common.c:159 #, c-format msgid "reading user-defined types" msgstr "чтение пользовательских типов" -#: common.c:160 +#: common.c:163 #, c-format msgid "reading procedural languages" msgstr "чтение процедурных языков" -#: common.c:163 +#: common.c:166 #, c-format msgid "reading user-defined aggregate functions" msgstr "чтение пользовательских агрегатных функций" -#: common.c:166 +#: common.c:169 #, c-format msgid "reading user-defined operators" msgstr "чтение пользовательских операторов" -#: common.c:169 +#: common.c:172 #, c-format msgid "reading user-defined access methods" msgstr "чтение пользовательских методов доступа" -#: common.c:172 +#: common.c:175 #, c-format msgid "reading user-defined operator classes" msgstr "чтение пользовательских классов операторов" -#: common.c:175 +#: common.c:178 #, c-format msgid "reading user-defined operator families" msgstr "чтение пользовательских семейств операторов" -#: common.c:178 +#: common.c:181 #, c-format msgid "reading user-defined text search parsers" msgstr "чтение пользовательских анализаторов текстового поиска" -#: common.c:181 +#: common.c:184 #, c-format msgid "reading user-defined text search templates" msgstr "чтение пользовательских шаблонов текстового поиска" -#: common.c:184 +#: common.c:187 #, c-format msgid "reading user-defined text search dictionaries" msgstr "чтение пользовательских словарей текстового поиска" -#: common.c:187 +#: common.c:190 #, c-format msgid "reading user-defined text search configurations" msgstr "чтение пользовательских конфигураций текстового поиска" -#: common.c:190 +#: common.c:193 #, c-format msgid "reading user-defined foreign-data wrappers" msgstr "чтение пользовательских оболочек сторонних данных" -#: common.c:193 +#: common.c:196 #, c-format msgid "reading user-defined foreign servers" msgstr "чтение пользовательских сторонних серверов" -#: common.c:196 +#: common.c:199 #, c-format msgid "reading default privileges" msgstr "чтение прав по умолчанию" -#: common.c:199 +#: common.c:202 #, c-format msgid "reading user-defined collations" msgstr "чтение пользовательских правил сортировки" -#: common.c:202 +#: common.c:205 #, c-format msgid "reading user-defined conversions" msgstr "чтение пользовательских преобразований" -#: common.c:205 +#: common.c:208 #, c-format msgid "reading type casts" msgstr "чтение приведений типов" -#: common.c:208 +#: common.c:211 #, c-format msgid "reading transforms" msgstr "чтение преобразований" -#: common.c:211 +#: common.c:214 #, c-format msgid "reading table inheritance information" msgstr "чтение информации о наследовании таблиц" -#: common.c:214 +#: common.c:217 #, c-format msgid "reading event triggers" msgstr "чтение событийных триггеров" -#: common.c:218 +#: common.c:221 #, c-format msgid "finding extension tables" msgstr "поиск таблиц расширений" -#: common.c:222 +#: common.c:225 #, c-format msgid "finding inheritance relationships" msgstr "поиск связей наследования" -#: common.c:225 +#: common.c:228 #, c-format msgid "reading column info for interesting tables" msgstr "чтение информации о столбцах интересующих таблиц" -#: common.c:228 +#: common.c:231 #, c-format msgid "flagging inherited columns in subtables" msgstr "пометка наследованных столбцов в подтаблицах" -#: common.c:231 +#: common.c:234 #, c-format msgid "reading partitioning data" msgstr "чтение информации о секционировании" -#: common.c:234 +#: common.c:237 #, c-format msgid "reading indexes" msgstr "чтение индексов" -#: common.c:237 +#: common.c:240 #, c-format msgid "flagging indexes in partitioned tables" msgstr "пометка индексов в секционированных таблицах" -#: common.c:240 +#: common.c:243 #, c-format msgid "reading extended statistics" msgstr "чтение расширенной статистики" -#: common.c:243 +#: common.c:246 #, c-format msgid "reading constraints" msgstr "чтение ограничений" -#: common.c:246 +#: common.c:249 #, c-format msgid "reading triggers" msgstr "чтение триггеров" -#: common.c:249 +#: common.c:252 #, c-format msgid "reading rewrite rules" msgstr "чтение правил перезаписи" -#: common.c:252 +#: common.c:255 #, c-format msgid "reading policies" msgstr "чтение политик" -#: common.c:255 +#: common.c:258 #, c-format msgid "reading publications" msgstr "чтение публикаций" -#: common.c:258 +#: common.c:261 #, c-format msgid "reading publication membership of tables" msgstr "чтение информации о таблицах, включённых в публикации" -#: common.c:261 +#: common.c:264 #, c-format msgid "reading publication membership of schemas" msgstr "чтение информации о схемах, включённых в публикации" -#: common.c:264 +#: common.c:267 #, c-format msgid "reading subscriptions" msgstr "чтение подписок" -#: common.c:327 +#: common.c:270 +#, c-format +msgid "reading subscription membership of tables" +msgstr "чтение информации о таблицах, включённых в подписки" + +#: common.c:333 #, c-format msgid "failed sanity check, parent OID %u of table \"%s\" (OID %u) not found" msgstr "" "нарушение целостности: родительская таблица с OID %u для таблицы \"%s\" (OID " "%u) не найдена" -#: common.c:369 +#: common.c:375 #, c-format msgid "invalid number of parents %d for table \"%s\"" msgstr "неверное число родителей (%d) для таблицы \"%s\"" -#: common.c:1049 +#: common.c:1098 #, c-format msgid "could not parse numeric array \"%s\": too many numbers" msgstr "не удалось разобрать числовой массив \"%s\": слишком много чисел" -#: common.c:1061 +#: common.c:1110 #, c-format msgid "could not parse numeric array \"%s\": invalid character in number" msgstr "не удалось разобрать числовой массив \"%s\": неверный символ в числе" @@ -429,15 +510,20 @@ msgstr "не удалось распаковать данные: %s" msgid "could not close compression library: %s" msgstr "не удалось закрыть библиотеку сжатия: %s" -#: compress_gzip.c:266 compress_gzip.c:295 compress_lz4.c:608 -#: compress_lz4.c:628 compress_lz4.c:647 compress_none.c:97 compress_none.c:140 +#: compress_gzip.c:266 compress_lz4.c:608 compress_lz4.c:628 compress_lz4.c:647 #, c-format msgid "could not read from input file: %s" msgstr "не удалось прочитать входной файл: %s" -#: compress_gzip.c:297 compress_lz4.c:630 compress_none.c:142 -#: compress_zstd.c:371 pg_backup_custom.c:653 pg_backup_directory.c:558 -#: pg_backup_tar.c:725 pg_backup_tar.c:748 +#: compress_gzip.c:295 compress_none.c:97 compress_none.c:139 +#: compress_zstd.c:373 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:371 pg_backup_custom.c:649 pg_backup_directory.c:565 +#: pg_backup_tar.c:740 pg_backup_tar.c:763 #, c-format msgid "could not read from input file: end of file" msgstr "не удалось прочитать входной файл: конец файла" @@ -488,16 +574,63 @@ msgstr "не удалось инициализировать библиотек msgid "could not decompress data: %s" msgstr "не удалось распаковать данные: %s" -#: compress_zstd.c:373 pg_backup_custom.c:655 -#, c-format -msgid "could not read from input file: %m" -msgstr "не удалось прочитать входной файл: %m" - #: compress_zstd.c:501 #, c-format msgid "unhandled mode \"%s\"" msgstr "необрабатываемый режим \"%s\"" +#: filter.c:49 +#, c-format +msgid "could not open filter file \"%s\": %m" +msgstr "не удалось открыть файл фильтра \"%s\": %m" + +#: filter.c:72 +#, c-format +msgid "could not close filter file \"%s\": %m" +msgstr "не удалось закрыть файл фильтра \"%s\": %m" + +#: filter.c:165 +#, c-format +msgid "invalid format in filter read from standard input on line %d: %s" +msgstr "" +"неверный формат в фильтре, прочитанном из стандартного ввода, в строке %d: %s" + +#: filter.c:168 +#, c-format +msgid "invalid format in filter read from file \"%s\" on line %d: %s" +msgstr "" +"неверный формат в фильтре, прочитанном из файла \"%s\", в строке %d: %s" + +#: filter.c:241 filter.c:468 +#, c-format +msgid "could not read from filter file \"%s\": %m" +msgstr "не удалось прочитать файл фильтра \"%s\": %m" + +#: filter.c:244 +msgid "unexpected end of file" +msgstr "неожиданный конец файла" + +#: filter.c:311 +msgid "missing object name pattern" +msgstr "отсутствует шаблон имени объекта" + +#: filter.c:422 +msgid "no filter command found (expected \"include\" or \"exclude\")" +msgstr "отсутствует команда фильтра (ожидалась \"include\" или \"exclude\")" + +#: filter.c:433 +msgid "invalid filter command (expected \"include\" or \"exclude\")" +msgstr "неверная команда фильтра (ожидалась \"include\" или \"exclude\")" + +#: filter.c:440 +msgid "missing filter object type" +msgstr "отсутствует тип объекта фильтра" + +#: filter.c:447 +#, c-format +msgid "unsupported filter object type: \"%.*s\"" +msgstr "неподдерживаемый тип объекта фильтра: \"%.*s\"" + #: parallel.c:251 #, c-format msgid "%s() failed: error code %d" @@ -581,112 +714,112 @@ msgstr "pgpipe: не удалось подключить сокет (код ош msgid "pgpipe: could not accept connection: error code %d" msgstr "pgpipe: не удалось принять соединение (код ошибки: %d)" -#: pg_backup_archiver.c:276 pg_backup_archiver.c:1603 +#: pg_backup_archiver.c:261 pg_backup_archiver.c:1706 #, c-format msgid "could not close output file: %m" msgstr "не удалось закрыть выходной файл: %m" -#: pg_backup_archiver.c:320 pg_backup_archiver.c:324 +#: pg_backup_archiver.c:305 pg_backup_archiver.c:309 #, c-format msgid "archive items not in correct section order" msgstr "в последовательности элементов архива нарушен порядок разделов" -#: pg_backup_archiver.c:330 +#: pg_backup_archiver.c:315 #, c-format msgid "unexpected section code %d" msgstr "неожиданный код раздела %d" -#: pg_backup_archiver.c:367 +#: pg_backup_archiver.c:352 #, c-format msgid "parallel restore is not supported with this archive file format" msgstr "" "параллельное восстановление не поддерживается с выбранным форматом архивного " "файла" -#: pg_backup_archiver.c:371 +#: pg_backup_archiver.c:356 #, c-format msgid "parallel restore is not supported with archives made by pre-8.0 pg_dump" msgstr "" "параллельное восстановление возможно только для архивов, созданных pg_dump " "версии 8.0 и новее" -#: pg_backup_archiver.c:392 +#: pg_backup_archiver.c:377 #, c-format msgid "cannot restore from compressed archive (%s)" msgstr "восстановить данные из сжатого архива нельзя (%s)" -#: pg_backup_archiver.c:412 +#: pg_backup_archiver.c:397 #, c-format msgid "connecting to database for restore" msgstr "подключение к базе данных для восстановления" -#: pg_backup_archiver.c:414 +#: pg_backup_archiver.c:399 #, c-format msgid "direct database connections are not supported in pre-1.3 archives" msgstr "" "прямые подключения к базе данных не поддерживаются в архивах до версии 1.3" -#: pg_backup_archiver.c:457 +#: pg_backup_archiver.c:442 #, c-format msgid "implied data-only restore" msgstr "подразумевается восстановление только данных" -#: pg_backup_archiver.c:523 +#: pg_backup_archiver.c:510 #, c-format msgid "dropping %s %s" msgstr "удаляется %s %s" -#: pg_backup_archiver.c:623 +#: pg_backup_archiver.c:642 #, c-format msgid "could not find where to insert IF EXISTS in statement \"%s\"" msgstr "не удалось определить, куда добавить IF EXISTS в оператор \"%s\"" -#: pg_backup_archiver.c:778 pg_backup_archiver.c:780 +#: pg_backup_archiver.c:828 pg_backup_archiver.c:830 #, c-format msgid "warning from original dump file: %s" msgstr "предупреждение из исходного файла: %s" -#: pg_backup_archiver.c:795 +#: pg_backup_archiver.c:864 #, c-format msgid "creating %s \"%s.%s\"" msgstr "создаётся %s \"%s.%s\"" -#: pg_backup_archiver.c:798 +#: pg_backup_archiver.c:867 #, c-format msgid "creating %s \"%s\"" msgstr "создаётся %s \"%s\"" -#: pg_backup_archiver.c:848 +#: pg_backup_archiver.c:917 #, c-format msgid "connecting to new database \"%s\"" msgstr "подключение к новой базе данных \"%s\"" -#: pg_backup_archiver.c:875 +#: pg_backup_archiver.c:944 #, c-format msgid "processing %s" msgstr "обрабатывается %s" -#: pg_backup_archiver.c:897 +#: pg_backup_archiver.c:966 #, c-format msgid "processing data for table \"%s.%s\"" msgstr "обрабатываются данные таблицы \"%s.%s\"" -#: pg_backup_archiver.c:967 +#: pg_backup_archiver.c:1036 #, c-format msgid "executing %s %s" msgstr "выполняется %s %s" -#: pg_backup_archiver.c:1008 +#: pg_backup_archiver.c:1096 #, c-format msgid "disabling triggers for %s" msgstr "отключаются триггеры таблицы %s" -#: pg_backup_archiver.c:1034 +#: pg_backup_archiver.c:1122 #, c-format msgid "enabling triggers for %s" msgstr "включаются триггеры таблицы %s" -#: pg_backup_archiver.c:1099 +#: pg_backup_archiver.c:1187 #, c-format msgid "" "internal error -- WriteData cannot be called outside the context of a " @@ -695,12 +828,12 @@ msgstr "" "внутренняя ошибка -- WriteData нельзя вызывать вне контекста процедуры " "DataDumper" -#: pg_backup_archiver.c:1287 +#: pg_backup_archiver.c:1379 #, c-format msgid "large-object output not supported in chosen format" msgstr "выбранный формат не поддерживает выгрузку больших объектов" -#: pg_backup_archiver.c:1345 +#: pg_backup_archiver.c:1442 #, c-format msgid "restored %d large object" msgid_plural "restored %d large objects" @@ -708,55 +841,55 @@ msgstr[0] "восстановлен %d большой объект" msgstr[1] "восстановлено %d больших объекта" msgstr[2] "восстановлено %d больших объектов" -#: pg_backup_archiver.c:1366 pg_backup_tar.c:668 +#: pg_backup_archiver.c:1469 pg_backup_tar.c:683 #, c-format msgid "restoring large object with OID %u" msgstr "восстановление большого объекта с OID %u" -#: pg_backup_archiver.c:1378 +#: pg_backup_archiver.c:1481 #, c-format msgid "could not create large object %u: %s" msgstr "не удалось создать большой объект %u: %s" -#: pg_backup_archiver.c:1383 pg_dump.c:3740 +#: pg_backup_archiver.c:1486 pg_dump.c:3888 #, c-format msgid "could not open large object %u: %s" msgstr "не удалось открыть большой объект %u: %s" -#: pg_backup_archiver.c:1439 +#: pg_backup_archiver.c:1542 #, c-format msgid "could not open TOC file \"%s\": %m" msgstr "не удалось открыть файл оглавления \"%s\": %m" -#: pg_backup_archiver.c:1467 +#: pg_backup_archiver.c:1570 #, c-format msgid "line ignored: %s" msgstr "строка проигнорирована: %s" -#: pg_backup_archiver.c:1474 +#: pg_backup_archiver.c:1577 pg_backup_db.c:609 #, c-format msgid "could not find entry for ID %d" msgstr "не найдена запись для ID %d" -#: pg_backup_archiver.c:1497 pg_backup_directory.c:221 -#: pg_backup_directory.c:606 +#: pg_backup_archiver.c:1600 pg_backup_directory.c:219 +#: pg_backup_directory.c:613 #, c-format msgid "could not close TOC file: %m" msgstr "не удалось закрыть файл оглавления: %m" -#: pg_backup_archiver.c:1584 pg_backup_custom.c:156 pg_backup_directory.c:332 -#: pg_backup_directory.c:593 pg_backup_directory.c:658 -#: pg_backup_directory.c:676 pg_dumpall.c:501 +#: 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 #, c-format msgid "could not open output file \"%s\": %m" msgstr "не удалось открыть выходной файл \"%s\": %m" -#: pg_backup_archiver.c:1586 pg_backup_custom.c:162 +#: pg_backup_archiver.c:1689 pg_backup_custom.c:158 #, c-format msgid "could not open output file: %m" msgstr "не удалось открыть выходной файл: %m" -#: pg_backup_archiver.c:1669 +#: pg_backup_archiver.c:1772 #, c-format msgid "wrote %zu byte of large object data (result = %d)" msgid_plural "wrote %zu bytes of large object data (result = %d)" @@ -764,216 +897,221 @@ msgstr[0] "записан %zu байт данных большого объек msgstr[1] "записано %zu байта данных большого объекта (результат = %d)" msgstr[2] "записано %zu байт данных большого объекта (результат = %d)" -#: pg_backup_archiver.c:1675 +#: pg_backup_archiver.c:1778 #, c-format msgid "could not write to large object: %s" msgstr "не удалось записать данные в большой объект: %s" -#: pg_backup_archiver.c:1765 +#: pg_backup_archiver.c:1868 #, c-format msgid "while INITIALIZING:" msgstr "при инициализации:" -#: pg_backup_archiver.c:1770 +#: pg_backup_archiver.c:1873 #, c-format msgid "while PROCESSING TOC:" msgstr "при обработке оглавления:" -#: pg_backup_archiver.c:1775 +#: pg_backup_archiver.c:1878 #, c-format msgid "while FINALIZING:" msgstr "при завершении:" -#: pg_backup_archiver.c:1780 +#: pg_backup_archiver.c:1883 #, c-format msgid "from TOC entry %d; %u %u %s %s %s" msgstr "из записи оглавления %d; %u %u %s %s %s" -#: pg_backup_archiver.c:1856 +#: pg_backup_archiver.c:1959 #, c-format msgid "bad dumpId" msgstr "неверный dumpId" -#: pg_backup_archiver.c:1877 +#: pg_backup_archiver.c:1980 #, c-format msgid "bad table dumpId for TABLE DATA item" msgstr "неверный dumpId таблицы в элементе TABLE DATA" -#: pg_backup_archiver.c:1969 +#: pg_backup_archiver.c:2072 #, c-format msgid "unexpected data offset flag %d" msgstr "неожиданный флаг смещения данных: %d" -#: pg_backup_archiver.c:1982 +#: pg_backup_archiver.c:2085 #, c-format msgid "file offset in dump file is too large" msgstr "слишком большое смещение в файле выгрузки" -#: pg_backup_archiver.c:2093 +#: pg_backup_archiver.c:2196 #, c-format msgid "directory name too long: \"%s\"" msgstr "слишком длинное имя каталога: \"%s\"" -#: pg_backup_archiver.c:2143 +#: pg_backup_archiver.c:2246 #, 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:2151 pg_backup_custom.c:173 pg_backup_custom.c:816 -#: pg_backup_directory.c:206 pg_backup_directory.c:395 +#: 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 #, c-format msgid "could not open input file \"%s\": %m" msgstr "не удалось открыть входной файл \"%s\": %m" -#: pg_backup_archiver.c:2158 pg_backup_custom.c:179 +#: pg_backup_archiver.c:2261 pg_backup_custom.c:175 #, c-format msgid "could not open input file: %m" msgstr "не удалось открыть входной файл: %m" -#: pg_backup_archiver.c:2164 +#: pg_backup_archiver.c:2267 #, c-format msgid "could not read input file: %m" msgstr "не удалось прочитать входной файл: %m" -#: pg_backup_archiver.c:2166 +#: pg_backup_archiver.c:2269 #, c-format msgid "input file is too short (read %lu, expected 5)" msgstr "входной файл слишком короткий (прочитано байт: %lu, ожидалось: 5)" -#: pg_backup_archiver.c:2198 +#: pg_backup_archiver.c:2301 #, c-format msgid "input file appears to be a text format dump. Please use psql." msgstr "" "входной файл, видимо, имеет текстовый формат. Загрузите его с помощью psql." -#: pg_backup_archiver.c:2204 +#: pg_backup_archiver.c:2307 #, c-format msgid "input file does not appear to be a valid archive (too short?)" msgstr "входной файл не похож на архив (возможно, слишком мал?)" -#: pg_backup_archiver.c:2210 +#: pg_backup_archiver.c:2313 #, c-format msgid "input file does not appear to be a valid archive" msgstr "входной файл не похож на архив" -#: pg_backup_archiver.c:2219 +#: pg_backup_archiver.c:2322 #, c-format msgid "could not close input file: %m" msgstr "не удалось закрыть входной файл: %m" -#: pg_backup_archiver.c:2297 +#: pg_backup_archiver.c:2401 #, c-format msgid "could not open stdout for appending: %m" msgstr "не удалось открыть stdout для добавления вывода: %m" -#: pg_backup_archiver.c:2342 +#: pg_backup_archiver.c:2446 #, c-format msgid "unrecognized file format \"%d\"" msgstr "неопознанный формат файла: \"%d\"" -#: pg_backup_archiver.c:2423 pg_backup_archiver.c:4466 +#: pg_backup_archiver.c:2527 pg_backup_archiver.c:4647 #, c-format msgid "finished item %d %s %s" msgstr "закончен объект %d %s %s" -#: pg_backup_archiver.c:2427 pg_backup_archiver.c:4479 +#: pg_backup_archiver.c:2531 pg_backup_archiver.c:4660 #, c-format msgid "worker process failed: exit code %d" msgstr "рабочий процесс завершился с кодом возврата %d" -#: pg_backup_archiver.c:2548 +#: pg_backup_archiver.c:2653 #, c-format msgid "entry ID %d out of range -- perhaps a corrupt TOC" msgstr "ID записи %d вне диапазона - возможно повреждено оглавление" -#: pg_backup_archiver.c:2628 +#: pg_backup_archiver.c:2736 #, c-format msgid "restoring tables WITH OIDS is not supported anymore" msgstr "восстановление таблиц со свойством WITH OIDS больше не поддерживается" -#: pg_backup_archiver.c:2710 +#: pg_backup_archiver.c:2818 #, c-format msgid "unrecognized encoding \"%s\"" msgstr "нераспознанная кодировка \"%s\"" -#: pg_backup_archiver.c:2715 +#: pg_backup_archiver.c:2823 #, c-format msgid "invalid ENCODING item: %s" msgstr "неверный элемент ENCODING: %s" -#: pg_backup_archiver.c:2733 +#: pg_backup_archiver.c:2841 #, c-format msgid "invalid STDSTRINGS item: %s" msgstr "неверный элемент STDSTRINGS: %s" -#: pg_backup_archiver.c:2758 +#: pg_backup_archiver.c:2866 #, c-format msgid "schema \"%s\" not found" msgstr "схема \"%s\" не найдена" -#: pg_backup_archiver.c:2765 +#: pg_backup_archiver.c:2873 #, c-format msgid "table \"%s\" not found" msgstr "таблица \"%s\" не найдена" -#: pg_backup_archiver.c:2772 +#: pg_backup_archiver.c:2880 #, c-format msgid "index \"%s\" not found" msgstr "индекс \"%s\" не найден" -#: pg_backup_archiver.c:2779 +#: pg_backup_archiver.c:2887 #, c-format msgid "function \"%s\" not found" msgstr "функция \"%s\" не найдена" -#: pg_backup_archiver.c:2786 +#: pg_backup_archiver.c:2894 #, c-format msgid "trigger \"%s\" not found" msgstr "триггер \"%s\" не найден" -#: pg_backup_archiver.c:3201 +#: pg_backup_archiver.c:3325 #, c-format msgid "could not set session user to \"%s\": %s" msgstr "не удалось переключить пользователя сеанса на \"%s\": %s" -#: pg_backup_archiver.c:3333 +#: pg_backup_archiver.c:3457 #, c-format -msgid "could not set search_path to \"%s\": %s" -msgstr "не удалось присвоить search_path значение \"%s\": %s" +msgid "could not set \"search_path\" to \"%s\": %s" +msgstr "не удалось присвоить \"search_path\" значение \"%s\": %s" -#: pg_backup_archiver.c:3394 +#: pg_backup_archiver.c:3518 #, c-format -msgid "could not set default_tablespace to %s: %s" -msgstr "не удалось задать для default_tablespace значение %s: %s" +msgid "could not set \"default_tablespace\" to %s: %s" +msgstr "не удалось задать для \"default_tablespace\" значение %s: %s" -#: pg_backup_archiver.c:3443 +#: pg_backup_archiver.c:3567 #, c-format -msgid "could not set default_table_access_method: %s" -msgstr "не удалось задать default_table_access_method: %s" +msgid "could not set \"default_table_access_method\": %s" +msgstr "не удалось задать \"default_table_access_method\": %s" -#: pg_backup_archiver.c:3548 +#: pg_backup_archiver.c:3616 +#, c-format +msgid "could not alter table access method: %s" +msgstr "не удалось изменить табличный метод доступа: %s" + +#: pg_backup_archiver.c:3717 #, c-format msgid "don't know how to set owner for object type \"%s\"" msgstr "неизвестно, как назначить владельца для объекта типа \"%s\"" -#: pg_backup_archiver.c:3770 +#: pg_backup_archiver.c:4004 #, c-format msgid "did not find magic string in file header" msgstr "в заголовке файла не найдена нужная сигнатура" -#: pg_backup_archiver.c:3784 +#: pg_backup_archiver.c:4018 #, c-format msgid "unsupported version (%d.%d) in file header" msgstr "неподдерживаемая версия (%d.%d) в заголовке файла" -#: pg_backup_archiver.c:3789 +#: pg_backup_archiver.c:4023 #, c-format msgid "sanity check on integer size (%lu) failed" msgstr "несоответствие размера integer (%lu)" -#: pg_backup_archiver.c:3793 +#: pg_backup_archiver.c:4027 #, c-format msgid "" "archive was made on a machine with larger integers, some operations might " @@ -982,12 +1120,12 @@ msgstr "" "архив был сделан на компьютере большей разрядности -- возможен сбой " "некоторых операций" -#: pg_backup_archiver.c:3803 +#: pg_backup_archiver.c:4037 #, c-format msgid "expected format (%d) differs from format found in file (%d)" msgstr "ожидаемый формат (%d) отличается от формата, указанного в файле (%d)" -#: pg_backup_archiver.c:3825 +#: pg_backup_archiver.c:4059 #, c-format msgid "" "archive is compressed, but this installation does not support compression " @@ -996,68 +1134,68 @@ msgstr "" "архив сжат, но установленная версия не поддерживает сжатие (%s) -- данные " "будут недоступны" -#: pg_backup_archiver.c:3861 +#: pg_backup_archiver.c:4095 #, c-format msgid "invalid creation date in header" msgstr "неверная дата создания в заголовке" -#: pg_backup_archiver.c:3995 +#: pg_backup_archiver.c:4229 #, c-format msgid "processing item %d %s %s" msgstr "обработка объекта %d %s %s" -#: pg_backup_archiver.c:4070 +#: pg_backup_archiver.c:4314 #, c-format msgid "entering main parallel loop" msgstr "вход в основной параллельный цикл" -#: pg_backup_archiver.c:4081 +#: pg_backup_archiver.c:4325 #, c-format msgid "skipping item %d %s %s" msgstr "объект %d %s %s пропускается" -#: pg_backup_archiver.c:4090 +#: pg_backup_archiver.c:4334 #, c-format msgid "launching item %d %s %s" msgstr "объект %d %s %s запускается" -#: pg_backup_archiver.c:4144 +#: pg_backup_archiver.c:4388 #, c-format msgid "finished main parallel loop" msgstr "основной параллельный цикл закончен" -#: pg_backup_archiver.c:4180 +#: pg_backup_archiver.c:4424 #, c-format msgid "processing missed item %d %s %s" msgstr "обработка пропущенного объекта %d %s %s" -#: pg_backup_archiver.c:4785 +#: pg_backup_archiver.c:4966 #, c-format msgid "table \"%s\" could not be created, will not restore its data" msgstr "создать таблицу \"%s\" не удалось, её данные не будут восстановлены" -#: pg_backup_custom.c:380 pg_backup_null.c:147 +#: pg_backup_custom.c:376 pg_backup_null.c:143 #, c-format msgid "invalid OID for large object" msgstr "неверный OID большого объекта" -#: pg_backup_custom.c:445 pg_backup_custom.c:511 pg_backup_custom.c:640 -#: pg_backup_custom.c:874 pg_backup_tar.c:1014 pg_backup_tar.c:1019 +#: pg_backup_custom.c:441 pg_backup_custom.c:507 pg_backup_custom.c:636 +#: pg_backup_custom.c:870 pg_backup_tar.c:1029 pg_backup_tar.c:1034 #, c-format msgid "error during file seek: %m" msgstr "ошибка при перемещении в файле: %m" -#: pg_backup_custom.c:484 +#: pg_backup_custom.c:480 #, c-format msgid "data block %d has wrong seek position" msgstr "в блоке данных %d задана неверная позиция" -#: pg_backup_custom.c:501 +#: pg_backup_custom.c:497 #, c-format msgid "unrecognized data block type (%d) while searching archive" msgstr "нераспознанный тип блока данных (%d) при поиске архива" -#: pg_backup_custom.c:523 +#: pg_backup_custom.c:519 #, c-format msgid "" "could not find block ID %d in archive -- possibly due to out-of-order " @@ -1067,54 +1205,54 @@ msgstr "" "последовательного запроса восстановления, который нельзя обработать с " "файлом, не допускающим произвольный доступ" -#: pg_backup_custom.c:528 +#: pg_backup_custom.c:524 #, c-format msgid "could not find block ID %d in archive -- possibly corrupt archive" msgstr "не удалось найти в архиве блок с ID %d -- возможно, архив испорчен" -#: pg_backup_custom.c:535 +#: pg_backup_custom.c:531 #, c-format msgid "found unexpected block ID (%d) when reading data -- expected %d" msgstr "при чтении данных получен неожиданный ID блока (%d) -- ожидался: %d" -#: pg_backup_custom.c:549 +#: pg_backup_custom.c:545 #, c-format msgid "unrecognized data block type %d while restoring archive" msgstr "нераспознанный тип блока данных %d при восстановлении архива" -#: pg_backup_custom.c:755 pg_backup_custom.c:807 pg_backup_custom.c:952 -#: pg_backup_tar.c:1017 +#: pg_backup_custom.c:751 pg_backup_custom.c:803 pg_backup_custom.c:945 +#: pg_backup_tar.c:1032 #, c-format msgid "could not determine seek position in archive file: %m" msgstr "не удалось определить позицию в файле архива: %m" -#: pg_backup_custom.c:771 pg_backup_custom.c:811 +#: pg_backup_custom.c:767 pg_backup_custom.c:807 #, c-format msgid "could not close archive file: %m" msgstr "не удалось закрыть файл архива: %m" -#: pg_backup_custom.c:794 +#: pg_backup_custom.c:790 #, c-format msgid "can only reopen input archives" msgstr "повторно открыть можно только входные файлы" -#: pg_backup_custom.c:801 +#: pg_backup_custom.c:797 #, c-format msgid "parallel restore from standard input is not supported" msgstr "параллельное восстановление из стандартного ввода не поддерживается" -#: pg_backup_custom.c:803 +#: pg_backup_custom.c:799 #, c-format msgid "parallel restore from non-seekable file is not supported" msgstr "" "параллельное восстановление возможно только с файлом произвольного доступа" -#: pg_backup_custom.c:819 +#: pg_backup_custom.c:815 #, c-format msgid "could not set seek position in archive file: %m" msgstr "не удалось задать текущую позицию в файле архива: %m" -#: pg_backup_custom.c:898 +#: pg_backup_custom.c:894 #, c-format msgid "compressor active" msgstr "сжатие активно" @@ -1124,12 +1262,12 @@ msgstr "сжатие активно" msgid "could not get server_version from libpq" msgstr "не удалось получить версию сервера из libpq" -#: pg_backup_db.c:53 pg_dumpall.c:1812 +#: pg_backup_db.c:53 pg_dumpall.c:1830 #, c-format msgid "aborting because of server version mismatch" msgstr "продолжение работы с другой версией сервера невозможно" -#: pg_backup_db.c:54 pg_dumpall.c:1813 +#: pg_backup_db.c:54 pg_dumpall.c:1831 #, c-format msgid "server version: %s; %s version: %s" msgstr "версия сервера: %s; версия %s: %s" @@ -1139,7 +1277,7 @@ msgstr "версия сервера: %s; версия %s: %s" msgid "already connected to a database" msgstr "подключение к базе данных уже установлено" -#: pg_backup_db.c:128 pg_backup_db.c:178 pg_dumpall.c:1659 pg_dumpall.c:1761 +#: pg_backup_db.c:128 pg_backup_db.c:178 pg_dumpall.c:1677 pg_dumpall.c:1779 msgid "Password: " msgstr "Пароль: " @@ -1153,18 +1291,18 @@ msgstr "не удалось переподключиться к базе" msgid "reconnection failed: %s" msgstr "переподключиться не удалось: %s" -#: pg_backup_db.c:190 pg_backup_db.c:264 pg_dump.c:756 pg_dump_sort.c:1280 -#: pg_dump_sort.c:1300 pg_dumpall.c:1686 pg_dumpall.c:1770 +#: 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:1704 pg_dumpall.c:1788 #, c-format msgid "%s" msgstr "%s" -#: pg_backup_db.c:271 pg_dumpall.c:1875 pg_dumpall.c:1898 +#: pg_backup_db.c:271 pg_dumpall.c:1893 pg_dumpall.c:1916 #, c-format msgid "query failed: %s" msgstr "ошибка при выполнении запроса: %s" -#: pg_backup_db.c:273 pg_dumpall.c:1876 pg_dumpall.c:1899 +#: pg_backup_db.c:273 pg_dumpall.c:1894 pg_dumpall.c:1917 #, c-format msgid "Query was: %s" msgstr "Выполнялся запрос: %s" @@ -1202,7 +1340,7 @@ msgstr "ошибка в PQputCopyEnd: %s" msgid "COPY failed for table \"%s\": %s" msgstr "сбой команды COPY для таблицы \"%s\": %s" -#: pg_backup_db.c:521 pg_dump.c:2224 +#: pg_backup_db.c:521 pg_dump.c:2283 #, c-format msgid "unexpected extra results during COPY of table \"%s\"" msgstr "неожиданные лишние результаты получены при COPY для таблицы \"%s\"" @@ -1215,150 +1353,145 @@ msgstr "не удаётся начать транзакцию" msgid "could not commit database transaction" msgstr "не удалось зафиксировать транзакцию" -#: pg_backup_directory.c:155 +#: pg_backup_directory.c:153 #, c-format msgid "no output directory specified" msgstr "выходной каталог не указан" -#: pg_backup_directory.c:184 -#, c-format -msgid "could not read directory \"%s\": %m" -msgstr "не удалось прочитать каталог \"%s\": %m" - -#: pg_backup_directory.c:188 +#: pg_backup_directory.c:186 #, c-format msgid "could not close directory \"%s\": %m" msgstr "не удалось закрыть каталог \"%s\": %m" -#: pg_backup_directory.c:194 +#: pg_backup_directory.c:192 #, c-format msgid "could not create directory \"%s\": %m" msgstr "не удалось создать каталог \"%s\": %m" -#: pg_backup_directory.c:356 pg_backup_directory.c:499 -#: pg_backup_directory.c:537 +#: 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:374 +#: pg_backup_directory.c:375 #, c-format msgid "could not close data file: %m" msgstr "не удалось закрыть файл данных: %m" -#: pg_backup_directory.c:407 +#: pg_backup_directory.c:408 #, c-format msgid "could not close data file \"%s\": %m" msgstr "не удалось закрыть файл данных \"%s\": %m" -#: pg_backup_directory.c:448 +#: pg_backup_directory.c:455 #, c-format msgid "could not open large object TOC file \"%s\" for input: %m" msgstr "" "не удалось открыть для чтения файл оглавления больших объектов \"%s\": %m" -#: pg_backup_directory.c:459 +#: pg_backup_directory.c:466 #, c-format msgid "invalid line in large object TOC file \"%s\": \"%s\"" msgstr "неверная строка в файле оглавления больших объектов \"%s\": \"%s\"" -#: pg_backup_directory.c:468 +#: pg_backup_directory.c:475 #, c-format msgid "error reading large object TOC file \"%s\"" msgstr "ошибка чтения файла оглавления больших объектов \"%s\"" -#: pg_backup_directory.c:472 +#: pg_backup_directory.c:479 #, c-format msgid "could not close large object TOC file \"%s\": %m" msgstr "не удалось закрыть файл оглавления больших объектов \"%s\": %m" -#: pg_backup_directory.c:694 +#: pg_backup_directory.c:702 #, c-format msgid "could not close LO data file: %m" msgstr "не удалось закрыть файл данных LO: %m" -#: pg_backup_directory.c:704 +#: pg_backup_directory.c:712 #, c-format msgid "could not write to LOs TOC file: %s" msgstr "не удалось записать в файл оглавления LO: %s" -#: pg_backup_directory.c:720 +#: pg_backup_directory.c:728 #, c-format msgid "could not close LOs TOC file: %m" msgstr "не удалось закрыть файл оглавления LO: %m" -#: pg_backup_directory.c:739 +#: pg_backup_directory.c:747 #, c-format msgid "file name too long: \"%s\"" msgstr "слишком длинное имя файла: \"%s\"" -#: pg_backup_null.c:74 +#: pg_backup_null.c:70 #, c-format msgid "this format cannot be read" msgstr "этот формат нельзя прочитать" -#: pg_backup_tar.c:172 +#: pg_backup_tar.c:168 #, c-format msgid "could not open TOC file \"%s\" for output: %m" msgstr "не удалось открыть для записи файл оглавления \"%s\": %m" -#: pg_backup_tar.c:179 +#: pg_backup_tar.c:175 #, c-format msgid "could not open TOC file for output: %m" msgstr "не удалось открыть для записи файл оглавления: %m" -#: pg_backup_tar.c:198 pg_backup_tar.c:334 pg_backup_tar.c:389 -#: pg_backup_tar.c:405 pg_backup_tar.c:891 +#: pg_backup_tar.c:194 pg_backup_tar.c:330 pg_backup_tar.c:385 +#: pg_backup_tar.c:401 pg_backup_tar.c:906 #, c-format msgid "compression is not supported by tar archive format" msgstr "формат архива tar не поддерживает сжатие" -#: pg_backup_tar.c:206 +#: pg_backup_tar.c:202 #, c-format msgid "could not open TOC file \"%s\" for input: %m" msgstr "не удалось открыть для чтения файл оглавления \"%s\": %m" -#: pg_backup_tar.c:213 +#: pg_backup_tar.c:209 #, c-format msgid "could not open TOC file for input: %m" msgstr "не удалось открыть для чтения файл оглавления: %m" -#: pg_backup_tar.c:322 +#: pg_backup_tar.c:318 #, c-format msgid "could not find file \"%s\" in archive" msgstr "не удалось найти файл \"%s\" в архиве" -#: pg_backup_tar.c:382 +#: pg_backup_tar.c:378 #, c-format msgid "could not generate temporary file name: %m" msgstr "не удалось получить имя для временного файла: %m" -#: pg_backup_tar.c:623 +#: pg_backup_tar.c:619 #, c-format msgid "unexpected COPY statement syntax: \"%s\"" msgstr "недопустимый синтаксис оператора COPY: \"%s\"" -#: pg_backup_tar.c:888 +#: pg_backup_tar.c:903 #, c-format msgid "invalid OID for large object (%u)" msgstr "неверный OID для большого объекта (%u)" -#: pg_backup_tar.c:1033 +#: pg_backup_tar.c:1048 #, c-format msgid "could not close temporary file: %m" msgstr "не удалось закрыть временный файл: %m" -#: pg_backup_tar.c:1036 +#: pg_backup_tar.c:1051 #, c-format msgid "actual file length (%lld) does not match expected (%lld)" msgstr "действительная длина файла (%lld) не равна ожидаемой (%lld)" -#: pg_backup_tar.c:1082 pg_backup_tar.c:1113 +#: pg_backup_tar.c:1097 pg_backup_tar.c:1128 #, c-format msgid "could not find header for file \"%s\" in tar archive" msgstr "в архиве tar не найден заголовок для файла \"%s\"" -#: pg_backup_tar.c:1100 +#: pg_backup_tar.c:1115 #, c-format msgid "" "restoring data out of order is not supported in this archive format: \"%s\" " @@ -1368,7 +1501,7 @@ msgstr "" "поддерживается: требуется компонент \"%s\", но в файле архива прежде идёт " "\"%s\"." -#: pg_backup_tar.c:1147 +#: pg_backup_tar.c:1162 #, c-format msgid "incomplete tar header found (%lu byte)" msgid_plural "incomplete tar header found (%lu bytes)" @@ -1376,7 +1509,7 @@ msgstr[0] "найден неполный заголовок tar (размер %l msgstr[1] "найден неполный заголовок tar (размер %lu байта)" msgstr[2] "найден неполный заголовок tar (размер %lu байт)" -#: pg_backup_tar.c:1186 +#: pg_backup_tar.c:1201 #, c-format msgid "" "corrupt tar header found in %s (expected %d, computed %d) file position %llu" @@ -1389,10 +1522,10 @@ msgstr "" msgid "unrecognized section name: \"%s\"" msgstr "нераспознанное имя раздела: \"%s\"" -#: pg_backup_utils.c:55 pg_dump.c:662 pg_dump.c:679 pg_dumpall.c:365 -#: pg_dumpall.c:375 pg_dumpall.c:383 pg_dumpall.c:391 pg_dumpall.c:398 -#: pg_dumpall.c:408 pg_dumpall.c:483 pg_restore.c:291 pg_restore.c:307 -#: pg_restore.c:321 +#: 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 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Для дополнительной информации попробуйте \"%s --help\"." @@ -1402,41 +1535,41 @@ msgstr "Для дополнительной информации попробу msgid "out of on_exit_nicely slots" msgstr "превышен предел обработчиков штатного выхода" -#: pg_dump.c:677 pg_dumpall.c:373 pg_restore.c:305 +#: pg_dump.c:709 pg_dumpall.c:378 pg_restore.c:321 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "слишком много аргументов командной строки (первый: \"%s\")" -#: pg_dump.c:696 pg_restore.c:328 +#: pg_dump.c:728 pg_restore.c:344 #, 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:699 +#: pg_dump.c:731 #, 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:702 +#: pg_dump.c:734 #, c-format msgid "option --include-foreign-data is not supported with parallel backup" msgstr "" "параметр --include-foreign-data не поддерживается при копировании в " "параллельном режиме" -#: pg_dump.c:705 pg_restore.c:331 +#: pg_dump.c:737 pg_restore.c:347 #, c-format msgid "options -c/--clean and -a/--data-only cannot be used together" msgstr "параметры -c/--clean и -a/--data-only исключают друг друга" -#: pg_dump.c:708 pg_dumpall.c:403 pg_restore.c:356 +#: pg_dump.c:740 pg_dumpall.c:408 pg_restore.c:375 #, c-format msgid "option --if-exists requires option -c/--clean" msgstr "параметр --if-exists требует указания -c/--clean" -#: pg_dump.c:715 +#: pg_dump.c:747 #, c-format msgid "" "option --on-conflict-do-nothing requires option --inserts, --rows-per-" @@ -1445,49 +1578,49 @@ msgstr "" "параметр --on-conflict-do-nothing требует указания --inserts, --rows-per-" "insert или --column-inserts" -#: pg_dump.c:744 +#: pg_dump.c:776 #, c-format msgid "unrecognized compression algorithm: \"%s\"" msgstr "нераспознанный алгоритм сжатия: \"%s\"" -#: pg_dump.c:751 +#: pg_dump.c:783 #, c-format msgid "invalid compression specification: %s" msgstr "неправильное указание сжатия: %s" -#: pg_dump.c:764 +#: pg_dump.c:796 #, c-format msgid "compression option \"%s\" is not currently supported by pg_dump" msgstr "pg_dump в настоящее время не поддерживает параметр сжатия \"%s\"" -#: pg_dump.c:776 +#: pg_dump.c:808 #, c-format msgid "parallel backup only supported by the directory format" msgstr "" "параллельное резервное копирование поддерживается только с форматом " "\"каталог\"" -#: pg_dump.c:822 +#: pg_dump.c:854 #, c-format msgid "last built-in OID is %u" msgstr "последний системный OID: %u" -#: pg_dump.c:831 +#: pg_dump.c:863 #, c-format msgid "no matching schemas were found" msgstr "соответствующие схемы не найдены" -#: pg_dump.c:848 +#: pg_dump.c:880 #, c-format msgid "no matching tables were found" msgstr "соответствующие таблицы не найдены" -#: pg_dump.c:876 +#: pg_dump.c:908 #, c-format msgid "no matching extensions were found" msgstr "соответствующие расширения не найдены" -#: pg_dump.c:1056 +#: pg_dump.c:1092 #, c-format msgid "" "%s dumps a database as a text file or to other formats.\n" @@ -1496,17 +1629,17 @@ msgstr "" "%s сохраняет резервную копию БД в текстовом файле или другом виде.\n" "\n" -#: pg_dump.c:1057 pg_dumpall.c:630 pg_restore.c:433 +#: pg_dump.c:1093 pg_dumpall.c:635 pg_restore.c:452 #, c-format msgid "Usage:\n" msgstr "Использование:\n" -#: pg_dump.c:1058 +#: pg_dump.c:1094 #, c-format msgid " %s [OPTION]... [DBNAME]\n" msgstr " %s [ПАРАМЕТР]... [ИМЯ_БД]\n" -#: pg_dump.c:1060 pg_dumpall.c:633 pg_restore.c:436 +#: pg_dump.c:1096 pg_dumpall.c:638 pg_restore.c:455 #, c-format msgid "" "\n" @@ -1515,12 +1648,12 @@ msgstr "" "\n" "Общие параметры:\n" -#: pg_dump.c:1061 +#: pg_dump.c:1097 #, c-format msgid " -f, --file=FILENAME output file or directory name\n" msgstr " -f, --file=ИМЯ имя выходного файла или каталога\n" -#: pg_dump.c:1062 +#: pg_dump.c:1098 #, c-format msgid "" " -F, --format=c|d|t|p output file format (custom, directory, tar,\n" @@ -1530,7 +1663,7 @@ msgstr "" " (пользовательский | каталог | tar |\n" " текстовый (по умолчанию))\n" -#: pg_dump.c:1064 +#: pg_dump.c:1100 #, c-format msgid " -j, --jobs=NUM use this many parallel jobs to dump\n" msgstr "" @@ -1538,18 +1671,18 @@ msgstr "" "число\n" " заданий\n" -#: pg_dump.c:1065 pg_dumpall.c:635 +#: pg_dump.c:1101 pg_dumpall.c:640 #, c-format msgid " -v, --verbose verbose mode\n" msgstr " -v, --verbose режим подробных сообщений\n" -#: pg_dump.c:1066 pg_dumpall.c:636 +#: pg_dump.c:1102 pg_dumpall.c:641 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version показать версию и выйти\n" # well-spelled: ИНФО -#: pg_dump.c:1067 +#: pg_dump.c:1103 #, c-format msgid "" " -Z, --compress=METHOD[:DETAIL]\n" @@ -1558,7 +1691,7 @@ msgstr "" " -Z, --compress=МЕТОД[:ДОП_ИНФО]\n" " выполнять сжатие как указано\n" -#: pg_dump.c:1069 pg_dumpall.c:637 +#: pg_dump.c:1105 pg_dumpall.c:642 #, c-format msgid "" " --lock-wait-timeout=TIMEOUT fail after waiting TIMEOUT for a table lock\n" @@ -1566,7 +1699,7 @@ msgstr "" " --lock-wait-timeout=ТАЙМ-АУТ прервать операцию при тайм-ауте блокировки " "таблицы\n" -#: pg_dump.c:1070 pg_dumpall.c:664 +#: pg_dump.c:1106 pg_dumpall.c:670 #, c-format msgid "" " --no-sync do not wait for changes to be written safely " @@ -1575,12 +1708,17 @@ msgstr "" " --no-sync не ждать надёжного сохранения изменений на " "диске\n" -#: pg_dump.c:1071 pg_dumpall.c:638 +#: pg_dump.c:1107 +#, c-format +msgid " --sync-method=METHOD set method for syncing files to disk\n" +msgstr " --sync-method=МЕТОД метод синхронизации файлов с ФС\n" + +#: pg_dump.c:1108 pg_dumpall.c:643 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help показать эту справку и выйти\n" -#: pg_dump.c:1073 pg_dumpall.c:639 +#: pg_dump.c:1110 pg_dumpall.c:644 #, c-format msgid "" "\n" @@ -1589,35 +1727,35 @@ msgstr "" "\n" "Параметры, управляющие выводом:\n" -#: pg_dump.c:1074 pg_dumpall.c:640 +#: pg_dump.c:1111 pg_dumpall.c:645 #, c-format msgid " -a, --data-only dump only the data, not the schema\n" msgstr " -a, --data-only выгрузить только данные, без схемы\n" -#: pg_dump.c:1075 +#: pg_dump.c:1112 #, c-format msgid " -b, --large-objects include large objects in dump\n" msgstr " -b, --large-objects выгрузить большие объекты\n" -#: pg_dump.c:1076 +#: pg_dump.c:1113 #, c-format msgid " --blobs (same as --large-objects, deprecated)\n" msgstr "" " --blobs (устаревшая альтернатива --large-objects)\n" -#: pg_dump.c:1077 +#: pg_dump.c:1114 #, c-format msgid " -B, --no-large-objects exclude large objects in dump\n" msgstr " -B, --no-large-objects исключить из выгрузки большие объекты\n" -#: pg_dump.c:1078 +#: pg_dump.c:1115 #, c-format msgid "" " --no-blobs (same as --no-large-objects, deprecated)\n" msgstr "" " --no-blobs (устаревшая альтернатива --no-large-objects)\n" -#: pg_dump.c:1079 pg_restore.c:447 +#: pg_dump.c:1116 pg_restore.c:466 #, c-format msgid "" " -c, --clean clean (drop) database objects before " @@ -1626,7 +1764,7 @@ msgstr "" " -c, --clean очистить (удалить) объекты БД при " "восстановлении\n" -#: pg_dump.c:1080 +#: pg_dump.c:1117 #, c-format msgid "" " -C, --create include commands to create database in dump\n" @@ -1634,28 +1772,28 @@ msgstr "" " -C, --create добавить в копию команды создания базы " "данных\n" -#: pg_dump.c:1081 +#: pg_dump.c:1118 #, c-format msgid " -e, --extension=PATTERN dump the specified extension(s) only\n" msgstr "" " -e, --extension=ШАБЛОН выгрузить только указанное расширение(я)\n" -#: pg_dump.c:1082 pg_dumpall.c:642 +#: pg_dump.c:1119 pg_dumpall.c:647 #, c-format msgid " -E, --encoding=ENCODING dump the data in encoding ENCODING\n" msgstr " -E, --encoding=КОДИРОВКА выгружать данные в заданной кодировке\n" -#: pg_dump.c:1083 +#: pg_dump.c:1120 #, c-format msgid " -n, --schema=PATTERN dump the specified schema(s) only\n" msgstr " -n, --schema=ШАБЛОН выгрузить только указанную схему(ы)\n" -#: pg_dump.c:1084 +#: pg_dump.c:1121 #, c-format msgid " -N, --exclude-schema=PATTERN do NOT dump the specified schema(s)\n" msgstr " -N, --exclude-schema=ШАБЛОН НЕ выгружать указанную схему(ы)\n" -#: pg_dump.c:1085 +#: pg_dump.c:1122 #, c-format msgid "" " -O, --no-owner skip restoration of object ownership in\n" @@ -1664,12 +1802,12 @@ msgstr "" " -O, --no-owner не восстанавливать владение объектами\n" " при использовании текстового формата\n" -#: pg_dump.c:1087 pg_dumpall.c:646 +#: pg_dump.c:1124 pg_dumpall.c:651 #, c-format msgid " -s, --schema-only dump only the schema, no data\n" msgstr " -s, --schema-only выгрузить только схему, без данных\n" -#: pg_dump.c:1088 +#: pg_dump.c:1125 #, c-format msgid "" " -S, --superuser=NAME superuser user name to use in plain-text " @@ -1678,27 +1816,27 @@ msgstr "" " -S, --superuser=ИМЯ имя пользователя, который будет задействован\n" " при восстановлении из текстового формата\n" -#: pg_dump.c:1089 +#: pg_dump.c:1126 #, c-format msgid " -t, --table=PATTERN dump only the specified table(s)\n" msgstr " -t, --table=ШАБЛОН выгрузить только указанную таблицу(ы)\n" -#: pg_dump.c:1090 +#: pg_dump.c:1127 #, c-format msgid " -T, --exclude-table=PATTERN do NOT dump the specified table(s)\n" msgstr " -T, --exclude-table=ШАБЛОН НЕ выгружать указанную таблицу(ы)\n" -#: pg_dump.c:1091 pg_dumpall.c:649 +#: pg_dump.c:1128 pg_dumpall.c:654 #, c-format msgid " -x, --no-privileges do not dump privileges (grant/revoke)\n" msgstr " -x, --no-privileges не выгружать права (назначение/отзыв)\n" -#: pg_dump.c:1092 pg_dumpall.c:650 +#: pg_dump.c:1129 pg_dumpall.c:655 #, c-format msgid " --binary-upgrade for use by upgrade utilities only\n" msgstr " --binary-upgrade только для утилит обновления БД\n" -#: pg_dump.c:1093 pg_dumpall.c:651 +#: pg_dump.c:1130 pg_dumpall.c:656 #, c-format msgid "" " --column-inserts dump data as INSERT commands with column " @@ -1707,7 +1845,7 @@ msgstr "" " --column-inserts выгружать данные в виде INSERT с именами " "столбцов\n" -#: pg_dump.c:1094 pg_dumpall.c:652 +#: pg_dump.c:1131 pg_dumpall.c:657 #, c-format msgid "" " --disable-dollar-quoting disable dollar quoting, use SQL standard " @@ -1716,7 +1854,7 @@ msgstr "" " --disable-dollar-quoting отключить спецстроки с $, выводить строки\n" " по стандарту SQL\n" -#: pg_dump.c:1095 pg_dumpall.c:653 pg_restore.c:464 +#: pg_dump.c:1132 pg_dumpall.c:658 pg_restore.c:483 #, c-format msgid "" " --disable-triggers disable triggers during data-only restore\n" @@ -1724,7 +1862,7 @@ msgstr "" " --disable-triggers отключить триггеры при восстановлении\n" " только данных, без схемы\n" -#: pg_dump.c:1096 +#: pg_dump.c:1133 #, c-format msgid "" " --enable-row-security enable row security (dump only content user " @@ -1735,7 +1873,12 @@ msgstr "" "только\n" " те данные, которые доступны пользователю)\n" -#: pg_dump.c:1098 +#: pg_dump.c:1135 +#, c-format +msgid " --exclude-extension=PATTERN do NOT dump the specified extension(s)\n" +msgstr " --exclude-extension=ШАБЛОН НЕ выгружать указанное расширение(я)\n" + +#: pg_dump.c:1136 #, c-format msgid "" " --exclude-table-and-children=PATTERN\n" @@ -1747,7 +1890,7 @@ msgstr "" " НЕ выгружать указанную таблицу(ы), а также\n" " её секции и дочерние таблицы\n" -#: pg_dump.c:1101 +#: pg_dump.c:1139 #, c-format msgid "" " --exclude-table-data=PATTERN do NOT dump data for the specified table(s)\n" @@ -1755,7 +1898,7 @@ msgstr "" " --exclude-table-data=ШАБЛОН НЕ выгружать данные указанной таблицы " "(таблиц)\n" -#: pg_dump.c:1102 +#: pg_dump.c:1140 #, c-format msgid "" " --exclude-table-data-and-children=PATTERN\n" @@ -1767,7 +1910,7 @@ msgstr "" "(таблиц),\n" " а также её секций и дочерних таблиц\n" -#: pg_dump.c:1105 pg_dumpall.c:655 +#: pg_dump.c:1143 pg_dumpall.c:660 #, c-format msgid "" " --extra-float-digits=NUM override default setting for " @@ -1775,13 +1918,24 @@ msgid "" msgstr "" " --extra-float-digits=ЧИСЛО переопределить значение extra_float_digits\n" -#: pg_dump.c:1106 pg_dumpall.c:656 pg_restore.c:466 +#: pg_dump.c:1144 +#, c-format +msgid "" +" --filter=FILENAME include or exclude objects and data from " +"dump\n" +" based on expressions in FILENAME\n" +msgstr "" +" --filter=ИМЯ_ФАЙЛА включать или исключать объекты и данные из\n" +" дампа в соответствии с выражениями в этом " +"файле\n" + +#: pg_dump.c:1146 pg_dumpall.c:662 pg_restore.c:487 #, c-format msgid " --if-exists use IF EXISTS when dropping objects\n" msgstr "" " --if-exists применять IF EXISTS при удалении объектов\n" -#: pg_dump.c:1107 +#: pg_dump.c:1147 #, c-format msgid "" " --include-foreign-data=PATTERN\n" @@ -1792,7 +1946,7 @@ msgstr "" " включать в копию данные сторонних таблиц с\n" " серверов с именами, подпадающими под ШАБЛОН\n" -#: pg_dump.c:1110 pg_dumpall.c:657 +#: pg_dump.c:1150 pg_dumpall.c:663 #, c-format msgid "" " --inserts dump data as INSERT commands, rather than " @@ -1801,57 +1955,57 @@ msgstr "" " --inserts выгрузить данные в виде команд INSERT, не " "COPY\n" -#: pg_dump.c:1111 pg_dumpall.c:658 +#: pg_dump.c:1151 pg_dumpall.c:664 #, c-format msgid " --load-via-partition-root load partitions via the root table\n" msgstr "" " --load-via-partition-root загружать секции через главную таблицу\n" -#: pg_dump.c:1112 pg_dumpall.c:659 +#: pg_dump.c:1152 pg_dumpall.c:665 #, c-format msgid " --no-comments do not dump comments\n" msgstr " --no-comments не выгружать комментарии\n" -#: pg_dump.c:1113 pg_dumpall.c:660 +#: pg_dump.c:1153 pg_dumpall.c:666 #, c-format msgid " --no-publications do not dump publications\n" msgstr " --no-publications не выгружать публикации\n" -#: pg_dump.c:1114 pg_dumpall.c:662 +#: pg_dump.c:1154 pg_dumpall.c:668 #, c-format msgid " --no-security-labels do not dump security label assignments\n" msgstr "" " --no-security-labels не выгружать назначения меток безопасности\n" -#: pg_dump.c:1115 pg_dumpall.c:663 +#: pg_dump.c:1155 pg_dumpall.c:669 #, c-format msgid " --no-subscriptions do not dump subscriptions\n" msgstr " --no-subscriptions не выгружать подписки\n" -#: pg_dump.c:1116 pg_dumpall.c:665 +#: pg_dump.c:1156 pg_dumpall.c:671 #, c-format msgid " --no-table-access-method do not dump table access methods\n" msgstr " --no-table-access-method не выгружать табличные методы доступа\n" -#: pg_dump.c:1117 pg_dumpall.c:666 +#: pg_dump.c:1157 pg_dumpall.c:672 #, c-format msgid " --no-tablespaces do not dump tablespace assignments\n" msgstr "" " --no-tablespaces не выгружать назначения табличных " "пространств\n" -#: pg_dump.c:1118 pg_dumpall.c:667 +#: pg_dump.c:1158 pg_dumpall.c:673 #, c-format msgid " --no-toast-compression do not dump TOAST compression methods\n" msgstr " --no-toast-compression не выгружать методы сжатия TOAST\n" -#: pg_dump.c:1119 pg_dumpall.c:668 +#: pg_dump.c:1159 pg_dumpall.c:674 #, c-format msgid " --no-unlogged-table-data do not dump unlogged table data\n" msgstr "" " --no-unlogged-table-data не выгружать данные нежурналируемых таблиц\n" -#: pg_dump.c:1120 pg_dumpall.c:669 +#: pg_dump.c:1160 pg_dumpall.c:675 #, c-format msgid "" " --on-conflict-do-nothing add ON CONFLICT DO NOTHING to INSERT " @@ -1860,7 +2014,7 @@ msgstr "" " --on-conflict-do-nothing добавлять ON CONFLICT DO NOTHING в команды " "INSERT\n" -#: pg_dump.c:1121 pg_dumpall.c:670 +#: pg_dump.c:1161 pg_dumpall.c:676 #, c-format msgid "" " --quote-all-identifiers quote all identifiers, even if not key words\n" @@ -1868,7 +2022,7 @@ msgstr "" " --quote-all-identifiers заключать в кавычки все идентификаторы,\n" " а не только ключевые слова\n" -#: pg_dump.c:1122 pg_dumpall.c:671 +#: pg_dump.c:1162 pg_dumpall.c:677 #, c-format msgid "" " --rows-per-insert=NROWS number of rows per INSERT; implies --inserts\n" @@ -1876,7 +2030,7 @@ msgstr "" " --rows-per-insert=ЧИСЛО число строк в одном INSERT; подразумевает --" "inserts\n" -#: pg_dump.c:1123 +#: pg_dump.c:1163 #, c-format msgid "" " --section=SECTION dump named section (pre-data, data, or post-" @@ -1885,7 +2039,7 @@ msgstr "" " --section=РАЗДЕЛ выгрузить заданный раздел\n" " (pre-data, data или post-data)\n" -#: pg_dump.c:1124 +#: pg_dump.c:1164 #, c-format msgid "" " --serializable-deferrable wait until the dump can run without " @@ -1894,13 +2048,13 @@ msgstr "" " --serializable-deferrable дождаться момента для выгрузки данных без " "аномалий\n" -#: pg_dump.c:1125 +#: pg_dump.c:1165 #, c-format msgid " --snapshot=SNAPSHOT use given snapshot for the dump\n" msgstr "" " --snapshot=СНИМОК использовать при выгрузке заданный снимок\n" -#: pg_dump.c:1126 pg_restore.c:476 +#: pg_dump.c:1166 pg_restore.c:497 #, c-format msgid "" " --strict-names require table and/or schema include patterns " @@ -1913,7 +2067,7 @@ msgstr "" "минимум\n" " один объект\n" -#: pg_dump.c:1128 +#: pg_dump.c:1168 #, c-format msgid "" " --table-and-children=PATTERN dump only the specified table(s), including\n" @@ -1923,7 +2077,7 @@ msgstr "" "также\n" " её секции и дочерние таблицы\n" -#: pg_dump.c:1130 pg_dumpall.c:672 pg_restore.c:478 +#: pg_dump.c:1170 pg_dumpall.c:678 pg_restore.c:500 #, c-format msgid "" " --use-set-session-authorization\n" @@ -1935,7 +2089,7 @@ msgstr "" " устанавливать владельца, используя команды\n" " SET SESSION AUTHORIZATION вместо ALTER OWNER\n" -#: pg_dump.c:1134 pg_dumpall.c:676 pg_restore.c:482 +#: pg_dump.c:1174 pg_dumpall.c:682 pg_restore.c:504 #, c-format msgid "" "\n" @@ -1944,33 +2098,34 @@ msgstr "" "\n" "Параметры подключения:\n" -#: pg_dump.c:1135 +#: pg_dump.c:1175 #, c-format msgid " -d, --dbname=DBNAME database to dump\n" msgstr " -d, --dbname=БД имя базы данных для выгрузки\n" -#: pg_dump.c:1136 pg_dumpall.c:678 pg_restore.c:483 +#: pg_dump.c:1176 pg_dumpall.c:684 pg_restore.c:505 #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr "" -" -h, --host=ИМЯ имя сервера баз данных или каталог сокетов\n" +" -h, --host=ИМЯ компьютер с сервером баз данных или каталог " +"сокетов\n" -#: pg_dump.c:1137 pg_dumpall.c:680 pg_restore.c:484 +#: pg_dump.c:1177 pg_dumpall.c:686 pg_restore.c:506 #, c-format msgid " -p, --port=PORT database server port number\n" msgstr " -p, --port=ПОРТ номер порта сервера БД\n" -#: pg_dump.c:1138 pg_dumpall.c:681 pg_restore.c:485 +#: pg_dump.c:1178 pg_dumpall.c:687 pg_restore.c:507 #, c-format msgid " -U, --username=NAME connect as specified database user\n" msgstr " -U, --username=ИМЯ имя пользователя баз данных\n" -#: pg_dump.c:1139 pg_dumpall.c:682 pg_restore.c:486 +#: pg_dump.c:1179 pg_dumpall.c:688 pg_restore.c:508 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password не запрашивать пароль\n" -#: pg_dump.c:1140 pg_dumpall.c:683 pg_restore.c:487 +#: pg_dump.c:1180 pg_dumpall.c:689 pg_restore.c:509 #, c-format msgid "" " -W, --password force password prompt (should happen " @@ -1978,12 +2133,12 @@ msgid "" msgstr "" " -W, --password запрашивать пароль всегда (обычно не требуется)\n" -#: pg_dump.c:1141 pg_dumpall.c:684 +#: pg_dump.c:1181 pg_dumpall.c:690 #, c-format msgid " --role=ROLENAME do SET ROLE before dump\n" msgstr " --role=ИМЯ_РОЛИ выполнить SET ROLE перед выгрузкой\n" -#: pg_dump.c:1143 +#: pg_dump.c:1183 #, c-format msgid "" "\n" @@ -1996,22 +2151,22 @@ msgstr "" "PGDATABASE.\n" "\n" -#: pg_dump.c:1145 pg_dumpall.c:688 pg_restore.c:494 +#: pg_dump.c:1185 pg_dumpall.c:694 pg_restore.c:516 #, c-format msgid "Report bugs to <%s>.\n" msgstr "Об ошибках сообщайте по адресу <%s>.\n" -#: pg_dump.c:1146 pg_dumpall.c:689 pg_restore.c:495 +#: pg_dump.c:1186 pg_dumpall.c:695 pg_restore.c:517 #, c-format msgid "%s home page: <%s>\n" msgstr "Домашняя страница %s: <%s>\n" -#: pg_dump.c:1165 pg_dumpall.c:513 +#: pg_dump.c:1205 pg_dumpall.c:518 #, c-format msgid "invalid client encoding \"%s\" specified" msgstr "указана неверная клиентская кодировка \"%s\"" -#: pg_dump.c:1303 +#: pg_dump.c:1352 #, c-format msgid "" "parallel dumps from standby servers are not supported by this server version" @@ -2019,160 +2174,170 @@ msgstr "" "выгрузка дампа в параллельном режиме с ведомых серверов не поддерживается " "данной версией сервера" -#: pg_dump.c:1368 +#: pg_dump.c:1417 #, c-format msgid "invalid output format \"%s\" specified" msgstr "указан неверный формат вывода: \"%s\"" -#: pg_dump.c:1409 pg_dump.c:1465 pg_dump.c:1518 pg_dumpall.c:1452 +#: pg_dump.c:1458 pg_dump.c:1514 pg_dump.c:1567 pg_dumpall.c:1467 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "неверное полное имя (слишком много компонентов): %s" -#: pg_dump.c:1417 +#: pg_dump.c:1466 #, c-format msgid "no matching schemas were found for pattern \"%s\"" msgstr "схемы, соответствующие шаблону \"%s\", не найдены" -#: pg_dump.c:1470 +#: pg_dump.c:1519 #, c-format msgid "no matching extensions were found for pattern \"%s\"" msgstr "расширения, соответствующие шаблону \"%s\", не найдены" -#: pg_dump.c:1523 +#: pg_dump.c:1572 #, c-format msgid "no matching foreign servers were found for pattern \"%s\"" msgstr "сторонние серверы, соответствующие шаблону \"%s\", не найдены" -#: pg_dump.c:1594 +#: pg_dump.c:1643 #, c-format msgid "improper relation name (too many dotted names): %s" msgstr "неверное имя отношения (слишком много компонентов): %s" -#: pg_dump.c:1616 +#: pg_dump.c:1665 #, c-format msgid "no matching tables were found for pattern \"%s\"" msgstr "таблицы, соответствующие шаблону \"%s\", не найдены" -#: pg_dump.c:1643 +#: pg_dump.c:1692 #, c-format msgid "You are currently not connected to a database." msgstr "В данный момент вы не подключены к базе данных." -#: pg_dump.c:1646 +#: pg_dump.c:1695 #, c-format msgid "cross-database references are not implemented: %s" msgstr "ссылки между базами не реализованы: %s" -#: pg_dump.c:2099 +#: pg_dump.c:2154 #, c-format msgid "dumping contents of table \"%s.%s\"" msgstr "выгрузка содержимого таблицы \"%s.%s\"" -#: pg_dump.c:2205 +#: pg_dump.c:2264 #, c-format msgid "Dumping the contents of table \"%s\" failed: PQgetCopyData() failed." msgstr "Ошибка выгрузки таблицы \"%s\": сбой в PQgetCopyData()." -#: pg_dump.c:2206 pg_dump.c:2216 +#: pg_dump.c:2265 pg_dump.c:2275 #, c-format msgid "Error message from server: %s" msgstr "Сообщение об ошибке с сервера: %s" # skip-rule: language-mix -#: pg_dump.c:2207 pg_dump.c:2217 +#: pg_dump.c:2266 pg_dump.c:2276 #, c-format msgid "Command was: %s" msgstr "Выполнялась команда: %s" -#: pg_dump.c:2215 +#: pg_dump.c:2274 #, c-format msgid "Dumping the contents of table \"%s\" failed: PQgetResult() failed." msgstr "Ошибка выгрузки таблицы \"%s\": сбой в PQgetResult()." -#: pg_dump.c:2297 +#: pg_dump.c:2365 #, c-format msgid "wrong number of fields retrieved from table \"%s\"" msgstr "из таблицы \"%s\" получено неверное количество полей" -#: pg_dump.c:2995 +#: pg_dump.c:3067 #, c-format msgid "saving database definition" msgstr "сохранение определения базы данных" -#: pg_dump.c:3100 +#: pg_dump.c:3176 #, c-format msgid "unrecognized locale provider: %s" msgstr "нераспознанный провайдер локали: %s" -#: pg_dump.c:3451 +#: pg_dump.c:3537 #, c-format msgid "saving encoding = %s" msgstr "сохранение кодировки (%s)" -#: pg_dump.c:3476 +#: pg_dump.c:3562 #, c-format -msgid "saving standard_conforming_strings = %s" -msgstr "сохранение standard_conforming_strings (%s)" +msgid "saving \"standard_conforming_strings = %s\"" +msgstr "сохранение \"standard_conforming_strings = %s\"" -#: pg_dump.c:3515 +#: pg_dump.c:3601 #, c-format msgid "could not parse result of current_schemas()" msgstr "не удалось разобрать результат current_schemas()" -#: pg_dump.c:3534 +#: pg_dump.c:3620 #, c-format -msgid "saving search_path = %s" -msgstr "сохранение search_path = %s" +msgid "saving \"search_path = %s\"" +msgstr "сохранение \"search_path = %s\"" -#: pg_dump.c:3571 +#: pg_dump.c:3656 #, c-format msgid "reading large objects" msgstr "чтение больших объектов" -#: pg_dump.c:3709 +#: pg_dump.c:3877 #, c-format -msgid "saving large objects" -msgstr "сохранение больших объектов" +msgid "saving large objects \"%s\"" +msgstr "сохранение больших объектов \"%s\"" -#: pg_dump.c:3750 +#: pg_dump.c:3898 #, c-format msgid "error reading large object %u: %s" msgstr "ошибка чтения большого объекта %u: %s" -#: pg_dump.c:3856 +#: pg_dump.c:4001 #, c-format msgid "reading row-level security policies" msgstr "чтение политик защиты на уровне строк" -#: pg_dump.c:3997 +#: pg_dump.c:4142 #, c-format msgid "unexpected policy command type: %c" msgstr "нераспознанный тип команды в политике: %c" -#: pg_dump.c:4447 pg_dump.c:4791 pg_dump.c:12022 pg_dump.c:17932 -#: pg_dump.c:17934 pg_dump.c:18555 +#: pg_dump.c:4592 pg_dump.c:5150 pg_dump.c:12362 pg_dump.c:18247 +#: pg_dump.c:18249 pg_dump.c:18871 #, c-format msgid "could not parse %s array" msgstr "не удалось разобрать массив %s" -#: pg_dump.c:4636 +#: pg_dump.c:4806 #, c-format msgid "subscriptions not dumped because current user is not a superuser" msgstr "" "подписки не выгружены, так как текущий пользователь не суперпользователь" -#: pg_dump.c:5183 +#: pg_dump.c:5012 +#, c-format +msgid "subscription with OID %u does not exist" +msgstr "подписка с OID %u не существует" + +#: pg_dump.c:5019 +#, c-format +msgid "failed sanity check, table with OID %u not found" +msgstr "нарушение целостности: таблица с OID %u не найдена" + +#: pg_dump.c:5582 #, c-format msgid "could not find parent extension for %s %s" msgstr "не удалось найти родительское расширение для %s %s" -#: pg_dump.c:5328 +#: pg_dump.c:5727 #, c-format msgid "schema with OID %u does not exist" msgstr "схема с OID %u не существует" -#: pg_dump.c:6810 pg_dump.c:17196 +#: pg_dump.c:7209 pg_dump.c:17618 #, c-format msgid "" "failed sanity check, parent table with OID %u of sequence with OID %u not " @@ -2181,7 +2346,7 @@ msgstr "" "нарушение целостности: по OID %u не удалось найти родительскую таблицу " "последовательности с OID %u" -#: pg_dump.c:6953 +#: pg_dump.c:7352 #, c-format msgid "" "failed sanity check, table OID %u appearing in pg_partitioned_table not found" @@ -2189,18 +2354,18 @@ msgstr "" "нарушение целостности: таблица с OID %u, фигурирующим в " "pg_partitioned_table, не найдена" -#: pg_dump.c:7184 pg_dump.c:7455 pg_dump.c:7926 pg_dump.c:8590 pg_dump.c:8709 -#: pg_dump.c:8857 +#: pg_dump.c:7583 pg_dump.c:7857 pg_dump.c:8304 pg_dump.c:8918 pg_dump.c:9040 +#: pg_dump.c:9188 #, c-format msgid "unrecognized table OID %u" msgstr "нераспознанный OID таблицы %u" -#: pg_dump.c:7188 +#: pg_dump.c:7587 #, c-format msgid "unexpected index data for table \"%s\"" msgstr "неожиданно получены данные индекса для таблицы \"%s\"" -#: pg_dump.c:7687 +#: pg_dump.c:8089 #, c-format msgid "" "failed sanity check, parent table with OID %u of pg_rewrite entry with OID " @@ -2209,41 +2374,32 @@ msgstr "" "нарушение целостности: по OID %u не удалось найти родительскую таблицу для " "записи pg_rewrite с OID %u" -#: pg_dump.c:7978 -#, c-format -msgid "" -"query produced null referenced table name for foreign key trigger \"%s\" on " -"table \"%s\" (OID of table: %u)" -msgstr "" -"запрос выдал NULL вместо имени целевой таблицы для триггера внешнего ключа " -"\"%s\" в таблице \"%s\" (OID целевой таблицы: %u)" - -#: pg_dump.c:8594 +#: pg_dump.c:8922 #, c-format msgid "unexpected column data for table \"%s\"" msgstr "неожиданно получены данные столбцов для таблицы \"%s\"" -#: pg_dump.c:8623 +#: pg_dump.c:8951 #, c-format msgid "invalid column numbering in table \"%s\"" msgstr "неверная нумерация столбцов в таблице \"%s\"" -#: pg_dump.c:8671 +#: pg_dump.c:9002 #, c-format msgid "finding table default expressions" msgstr "поиск выражений по умолчанию для таблиц" -#: pg_dump.c:8713 +#: pg_dump.c:9044 #, c-format msgid "invalid adnum value %d for table \"%s\"" msgstr "неверное значение adnum (%d) в таблице \"%s\"" -#: pg_dump.c:8807 +#: pg_dump.c:9138 #, c-format msgid "finding table check constraints" msgstr "поиск ограничений-проверок для таблиц" -#: pg_dump.c:8861 +#: pg_dump.c:9192 #, 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" @@ -2254,54 +2410,59 @@ msgstr[1] "" msgstr[2] "" "ожидалось %d ограничений-проверок для таблицы \"%s\", но найдено: %d" -#: pg_dump.c:8865 +#: pg_dump.c:9196 #, c-format msgid "The system catalogs might be corrupted." msgstr "Возможно, повреждены системные каталоги." -#: pg_dump.c:9555 +#: pg_dump.c:9886 #, c-format msgid "role with OID %u does not exist" msgstr "роль с OID %u не существует" -#: pg_dump.c:9667 pg_dump.c:9696 +#: pg_dump.c:9998 pg_dump.c:10027 #, c-format msgid "unsupported pg_init_privs entry: %u %u %d" msgstr "неподдерживаемая запись в pg_init_privs: %u %u %d" -#: pg_dump.c:10517 +#: pg_dump.c:10574 +#, c-format +msgid "missing metadata for large objects \"%s\"" +msgstr "отсутствуют метаданные о больших объектах \"%s\"" + +#: pg_dump.c:10857 #, c-format msgid "typtype of data type \"%s\" appears to be invalid" msgstr "у типа данных \"%s\" по-видимому неправильный тип типа" # TO REVEIW -#: pg_dump.c:12091 +#: pg_dump.c:12431 #, c-format msgid "unrecognized provolatile value for function \"%s\"" msgstr "недопустимое значение provolatile для функции \"%s\"" # TO REVEIW -#: pg_dump.c:12141 pg_dump.c:14023 +#: pg_dump.c:12481 pg_dump.c:14377 #, c-format msgid "unrecognized proparallel value for function \"%s\"" msgstr "недопустимое значение proparallel для функции \"%s\"" -#: pg_dump.c:12271 pg_dump.c:12377 pg_dump.c:12384 +#: pg_dump.c:12611 pg_dump.c:12717 pg_dump.c:12724 #, c-format msgid "could not find function definition for function with OID %u" msgstr "не удалось найти определение функции для функции с OID %u" -#: pg_dump.c:12310 +#: pg_dump.c:12650 #, c-format msgid "bogus value in pg_cast.castfunc or pg_cast.castmethod field" msgstr "неприемлемое значение в поле pg_cast.castfunc или pg_cast.castmethod" -#: pg_dump.c:12313 +#: pg_dump.c:12653 #, c-format msgid "bogus value in pg_cast.castmethod field" msgstr "неприемлемое значение в поле pg_cast.castmethod" -#: pg_dump.c:12403 +#: pg_dump.c:12743 #, c-format msgid "" "bogus transform definition, at least one of trffromsql and trftosql should " @@ -2310,62 +2471,63 @@ msgstr "" "неприемлемое определение преобразования (trffromsql или trftosql должно быть " "ненулевым)" -#: pg_dump.c:12420 +#: pg_dump.c:12760 #, c-format msgid "bogus value in pg_transform.trffromsql field" msgstr "неприемлемое значение в поле pg_transform.trffromsql" -#: pg_dump.c:12441 +#: pg_dump.c:12781 #, c-format msgid "bogus value in pg_transform.trftosql field" msgstr "неприемлемое значение в поле pg_transform.trftosql" -#: pg_dump.c:12586 +#: pg_dump.c:12926 #, c-format msgid "postfix operators are not supported anymore (operator \"%s\")" msgstr "постфиксные операторы больше не поддерживаются (оператор \"%s\")" -#: pg_dump.c:12756 +#: pg_dump.c:13096 #, c-format msgid "could not find operator with OID %s" msgstr "оператор с OID %s не найден" -#: pg_dump.c:12824 +#: pg_dump.c:13164 #, c-format msgid "invalid type \"%c\" of access method \"%s\"" msgstr "неверный тип \"%c\" метода доступа \"%s\"" -#: pg_dump.c:13493 pg_dump.c:13552 +#: pg_dump.c:13838 pg_dump.c:13906 #, c-format msgid "unrecognized collation provider: %s" msgstr "нераспознанный провайдер правил сортировки: %s" -#: pg_dump.c:13502 pg_dump.c:13511 pg_dump.c:13521 pg_dump.c:13536 +#: pg_dump.c:13847 pg_dump.c:13854 pg_dump.c:13865 pg_dump.c:13875 +#: pg_dump.c:13890 #, c-format msgid "invalid collation \"%s\"" msgstr "неверное правило сортировки \"%s\"" -#: pg_dump.c:13942 +#: pg_dump.c:14296 #, c-format msgid "unrecognized aggfinalmodify value for aggregate \"%s\"" msgstr "нераспознанное значение aggfinalmodify для агрегата \"%s\"" -#: pg_dump.c:13998 +#: pg_dump.c:14352 #, c-format msgid "unrecognized aggmfinalmodify value for aggregate \"%s\"" msgstr "нераспознанное значение aggmfinalmodify для агрегата \"%s\"" -#: pg_dump.c:14715 +#: pg_dump.c:15069 #, c-format msgid "unrecognized object type in default privileges: %d" msgstr "нераспознанный тип объекта в определении прав по умолчанию: %d" -#: pg_dump.c:14731 +#: pg_dump.c:15085 #, c-format msgid "could not parse default ACL list (%s)" msgstr "не удалось разобрать список прав по умолчанию (%s)" -#: pg_dump.c:14813 +#: pg_dump.c:15169 #, c-format msgid "" "could not parse initial ACL list (%s) or default (%s) for object \"%s\" (%s)" @@ -2373,20 +2535,20 @@ msgstr "" "не удалось разобрать изначальный список ACL (%s) или ACL по умолчанию (%s) " "для объекта \"%s\" (%s)" -#: pg_dump.c:14838 +#: pg_dump.c:15194 #, c-format msgid "could not parse ACL list (%s) or default (%s) for object \"%s\" (%s)" msgstr "" "не удалось разобрать список ACL (%s) или ACL по умолчанию (%s) для объекта " "\"%s\" (%s)" -#: pg_dump.c:15379 +#: pg_dump.c:15737 #, c-format msgid "query to obtain definition of view \"%s\" returned no data" msgstr "" "запрос на получение определения представления \"%s\" не возвратил данные" -#: pg_dump.c:15382 +#: pg_dump.c:15740 #, c-format msgid "" "query to obtain definition of view \"%s\" returned more than one definition" @@ -2394,49 +2556,49 @@ msgstr "" "запрос на получение определения представления \"%s\" возвратил несколько " "определений" -#: pg_dump.c:15389 +#: pg_dump.c:15747 #, c-format msgid "definition of view \"%s\" appears to be empty (length zero)" msgstr "определение представления \"%s\" пустое (длина равна нулю)" -#: pg_dump.c:15473 +#: pg_dump.c:15832 #, c-format msgid "WITH OIDS is not supported anymore (table \"%s\")" msgstr "свойство WITH OIDS больше не поддерживается (таблица \"%s\")" -#: pg_dump.c:16397 +#: pg_dump.c:16819 #, c-format msgid "invalid column number %d for table \"%s\"" msgstr "неверный номер столбца %d для таблицы \"%s\"" -#: pg_dump.c:16475 +#: pg_dump.c:16897 #, c-format msgid "could not parse index statistic columns" msgstr "не удалось разобрать столбцы статистики в индексе" -#: pg_dump.c:16477 +#: pg_dump.c:16899 #, c-format msgid "could not parse index statistic values" msgstr "не удалось разобрать значения статистики в индексе" -#: pg_dump.c:16479 +#: pg_dump.c:16901 #, c-format msgid "mismatched number of columns and values for index statistics" msgstr "" "столбцы, задающие статистику индекса, не соответствуют значениям по " "количеству" -#: pg_dump.c:16695 +#: pg_dump.c:17116 #, c-format msgid "missing index for constraint \"%s\"" msgstr "отсутствует индекс для ограничения \"%s\"" -#: pg_dump.c:16930 +#: pg_dump.c:17351 #, c-format msgid "unrecognized constraint type: %c" msgstr "нераспознанный тип ограничения: %c" -#: pg_dump.c:17031 pg_dump.c:17260 +#: pg_dump.c:17452 pg_dump.c:17682 #, c-format msgid "query to get data of sequence \"%s\" returned %d row (expected 1)" msgid_plural "" @@ -2451,22 +2613,12 @@ msgstr[2] "" "запрос на получение данных последовательности \"%s\" вернул %d строк " "(ожидалась 1)" -#: pg_dump.c:17063 +#: pg_dump.c:17484 #, c-format msgid "unrecognized sequence type: %s" msgstr "нераспознанный тип последовательности: %s" -#: pg_dump.c:17352 -#, c-format -msgid "unexpected tgtype value: %d" -msgstr "неожиданное значение tgtype: %d" - -#: pg_dump.c:17424 -#, c-format -msgid "invalid argument string (%s) for trigger \"%s\" on table \"%s\"" -msgstr "неверная строка аргументов (%s) для триггера \"%s\" таблицы \"%s\"" - -#: pg_dump.c:17693 +#: pg_dump.c:17999 #, c-format msgid "" "query to get rule \"%s\" for table \"%s\" failed: wrong number of rows " @@ -2475,47 +2627,53 @@ msgstr "" "запрос на получение правила \"%s\" для таблицы \"%s\" возвратил неверное " "число строк" -#: pg_dump.c:17846 +#: pg_dump.c:18152 #, c-format msgid "could not find referenced extension %u" msgstr "не удалось найти упомянутое расширение %u" -#: pg_dump.c:17936 +#: pg_dump.c:18251 #, c-format msgid "mismatched number of configurations and conditions for extension" msgstr "конфигурации расширения не соответствуют условиям по количеству" -#: pg_dump.c:18068 +#: pg_dump.c:18383 #, c-format msgid "reading dependency data" msgstr "чтение информации о зависимостях" -#: pg_dump.c:18154 +#: pg_dump.c:18469 #, c-format msgid "no referencing object %u %u" msgstr "нет подчинённого объекта %u %u" -#: pg_dump.c:18165 +#: pg_dump.c:18480 #, c-format msgid "no referenced object %u %u" msgstr "нет вышестоящего объекта %u %u" -#: pg_dump_sort.c:422 +#: pg_dump.c:18905 pg_dump.c:18943 pg_dumpall.c:1962 pg_restore.c:551 +#: pg_restore.c:597 +#, c-format +msgid "%s filter for \"%s\" is not allowed" +msgstr "фильтр %s для \"%s\" не допускается" + +#: pg_dump_sort.c:424 #, c-format msgid "invalid dumpId %d" msgstr "неверный dumpId %d" -#: pg_dump_sort.c:428 +#: pg_dump_sort.c:430 #, c-format msgid "invalid dependency %d" msgstr "неверная зависимость %d" -#: pg_dump_sort.c:661 +#: pg_dump_sort.c:594 #, c-format msgid "could not identify dependency loop" msgstr "не удалось определить цикл зависимостей" -#: pg_dump_sort.c:1276 +#: pg_dump_sort.c:1209 #, c-format msgid "there are circular foreign-key constraints on this table:" msgid_plural "there are circular foreign-key constraints among these tables:" @@ -2523,7 +2681,7 @@ msgstr[0] "в следующей таблице зациклены ограни msgstr[1] "в следующих таблицах зациклены ограничения внешних ключей:" msgstr[2] "в следующих таблицах зациклены ограничения внешних ключей:" -#: pg_dump_sort.c:1281 +#: pg_dump_sort.c:1214 #, c-format msgid "" "You might not be able to restore the dump without using --disable-triggers " @@ -2532,7 +2690,7 @@ msgstr "" "Возможно, для восстановления базы потребуется использовать --disable-" "triggers или временно удалить ограничения." -#: pg_dump_sort.c:1282 +#: pg_dump_sort.c:1215 #, c-format msgid "" "Consider using a full dump instead of a --data-only dump to avoid this " @@ -2541,26 +2699,26 @@ msgstr "" "Во избежание этой проблемы, вероятно, стоит выгружать всю базу данных, а не " "только данные (--data-only)." -#: pg_dump_sort.c:1294 +#: pg_dump_sort.c:1227 #, c-format msgid "could not resolve dependency loop among these items:" msgstr "не удалось разрешить цикл зависимостей для следующих объектов:" -#: pg_dumpall.c:230 +#: pg_dumpall.c:231 #, 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:233 +#: pg_dumpall.c:234 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" msgstr "" "программа \"%s\" найдена программой \"%s\", но её версия отличается от " "версии %s" -#: pg_dumpall.c:382 +#: pg_dumpall.c:387 #, c-format msgid "" "option --exclude-database cannot be used together with -g/--globals-only, -" @@ -2569,30 +2727,30 @@ msgstr "" "параметр --exclude-database несовместим с -g/--globals-only, -r/--roles-only " "и -t/--tablespaces-only" -#: pg_dumpall.c:390 +#: pg_dumpall.c:395 #, 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:397 +#: pg_dumpall.c:402 #, 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:407 +#: pg_dumpall.c:412 #, 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:469 pg_dumpall.c:1753 +#: pg_dumpall.c:474 pg_dumpall.c:1771 #, c-format msgid "could not connect to database \"%s\"" msgstr "не удалось подключиться к базе данных: \"%s\"" -#: pg_dumpall.c:481 +#: pg_dumpall.c:486 #, c-format msgid "" "could not connect to databases \"postgres\" or \"template1\"\n" @@ -2601,7 +2759,7 @@ msgstr "" "не удалось подключиться к базе данных \"postgres\" или \"template1\"\n" "Укажите другую базу данных." -#: pg_dumpall.c:629 +#: pg_dumpall.c:634 #, c-format msgid "" "%s extracts a PostgreSQL database cluster into an SQL script file.\n" @@ -2610,17 +2768,17 @@ msgstr "" "%s экспортирует всё содержимое кластера баз данных PostgreSQL в SQL-скрипт.\n" "\n" -#: pg_dumpall.c:631 +#: pg_dumpall.c:636 #, c-format msgid " %s [OPTION]...\n" msgstr " %s [ПАРАМЕТР]...\n" -#: pg_dumpall.c:634 +#: pg_dumpall.c:639 #, c-format msgid " -f, --file=FILENAME output file name\n" msgstr " -f, --file=ИМЯ_ФАЙЛА имя выходного файла\n" -#: pg_dumpall.c:641 +#: pg_dumpall.c:646 #, c-format msgid "" " -c, --clean clean (drop) databases before recreating\n" @@ -2628,18 +2786,18 @@ msgstr "" " -c, --clean очистить (удалить) базы данных перед\n" " восстановлением\n" -#: pg_dumpall.c:643 +#: pg_dumpall.c:648 #, c-format msgid " -g, --globals-only dump only global objects, no databases\n" msgstr "" " -g, --globals-only выгрузить только глобальные объекты, без баз\n" -#: pg_dumpall.c:644 pg_restore.c:456 +#: pg_dumpall.c:649 pg_restore.c:475 #, c-format msgid " -O, --no-owner skip restoration of object ownership\n" msgstr " -O, --no-owner не восстанавливать владение объектами\n" -#: pg_dumpall.c:645 +#: pg_dumpall.c:650 #, c-format msgid "" " -r, --roles-only dump only roles, no databases or tablespaces\n" @@ -2647,13 +2805,13 @@ msgstr "" " -r, --roles-only выгрузить только роли, без баз данных\n" " и табличных пространств\n" -#: pg_dumpall.c:647 +#: pg_dumpall.c:652 #, c-format msgid " -S, --superuser=NAME superuser user name to use in the dump\n" msgstr "" " -S, --superuser=ИМЯ имя пользователя для выполнения выгрузки\n" -#: pg_dumpall.c:648 +#: pg_dumpall.c:653 #, c-format msgid "" " -t, --tablespaces-only dump only tablespaces, no databases or roles\n" @@ -2661,7 +2819,7 @@ msgstr "" " -t, --tablespaces-only выгружать только табличные пространства,\n" " без баз данных и ролей\n" -#: pg_dumpall.c:654 +#: pg_dumpall.c:659 #, c-format msgid "" " --exclude-database=PATTERN exclude databases whose name matches PATTERN\n" @@ -2671,20 +2829,29 @@ msgstr "" #: pg_dumpall.c:661 #, c-format +msgid "" +" --filter=FILENAME exclude databases based on expressions in " +"FILENAME\n" +msgstr "" +" --filter=ИМЯ_ФАЙЛА исключать базы данных в соответствии с\n" +" выражениями в этом файле\n" + +#: pg_dumpall.c:667 +#, c-format msgid " --no-role-passwords do not dump passwords for roles\n" msgstr " --no-role-passwords не выгружать пароли ролей\n" -#: pg_dumpall.c:677 +#: pg_dumpall.c:683 #, c-format msgid " -d, --dbname=CONNSTR connect using connection string\n" msgstr " -d, --dbname=СТРОКА подключиться с данной строкой подключения\n" -#: pg_dumpall.c:679 +#: pg_dumpall.c:685 #, c-format msgid " -l, --database=DBNAME alternative default database\n" msgstr " -l, --database=ИМЯ_БД выбор другой базы данных по умолчанию\n" -#: pg_dumpall.c:686 +#: pg_dumpall.c:692 #, c-format msgid "" "\n" @@ -2698,102 +2865,114 @@ msgstr "" "вывод.\n" "\n" -#: pg_dumpall.c:831 +#: pg_dumpall.c:837 #, c-format msgid "role name starting with \"pg_\" skipped (%s)" msgstr "имя роли, начинающееся с \"pg_\", пропущено (%s)" -#: pg_dumpall.c:1053 +#: pg_dumpall.c:1059 #, c-format msgid "could not find a legal dump ordering for memberships in role \"%s\"" msgstr "не удалось найти подходящий порядок выгрузки для членов роли \"%s\"" -#: pg_dumpall.c:1188 +#: pg_dumpall.c:1194 #, c-format msgid "could not parse ACL list (%s) for parameter \"%s\"" msgstr "не удалось разобрать список ACL (%s) для параметра \"%s\"" -#: pg_dumpall.c:1306 +#: pg_dumpall.c:1321 #, c-format msgid "could not parse ACL list (%s) for tablespace \"%s\"" msgstr "" "не удалось разобрать список управления доступом (%s) для табл. пространства " "\"%s\"" -#: pg_dumpall.c:1513 +#: pg_dumpall.c:1528 #, c-format msgid "excluding database \"%s\"" msgstr "база данных \"%s\" исключается" -#: pg_dumpall.c:1517 +#: pg_dumpall.c:1532 #, c-format msgid "dumping database \"%s\"" msgstr "выгрузка базы данных \"%s\"" -#: pg_dumpall.c:1548 +#: pg_dumpall.c:1563 #, c-format msgid "pg_dump failed on database \"%s\", exiting" msgstr "ошибка при обработке базы \"%s\", pg_dump завершается" -#: pg_dumpall.c:1554 +#: pg_dumpall.c:1569 #, c-format msgid "could not re-open the output file \"%s\": %m" msgstr "не удалось повторно открыть выходной файл \"%s\": %m" -#: pg_dumpall.c:1595 +#: pg_dumpall.c:1613 #, c-format msgid "running \"%s\"" msgstr "выполняется \"%s\"" -#: pg_dumpall.c:1796 +#: pg_dumpall.c:1814 #, c-format msgid "could not get server version" msgstr "не удалось узнать версию сервера" -#: pg_dumpall.c:1799 +#: pg_dumpall.c:1817 #, c-format msgid "could not parse server version \"%s\"" msgstr "не удалось разобрать строку версии сервера \"%s\"" -#: pg_dumpall.c:1869 pg_dumpall.c:1892 +#: pg_dumpall.c:1887 pg_dumpall.c:1910 #, c-format msgid "executing %s" msgstr "выполняется %s" +#: pg_dumpall.c:1982 +msgid "unsupported filter object" +msgstr "неподдерживаемый объект фильтра" + # TO REVEIW -#: pg_restore.c:313 +#: pg_restore.c:329 #, c-format msgid "one of -d/--dbname and -f/--file must be specified" msgstr "необходимо указать -d/--dbname или -f/--file" # TO REVEIW -#: pg_restore.c:320 +#: pg_restore.c:336 #, c-format msgid "options -d/--dbname and -f/--file cannot be used together" msgstr "параметры -d/--dbname и -f/--file исключают друг друга" -#: pg_restore.c:338 +#: pg_restore.c:350 +#, c-format +msgid "" +"options -1/--single-transaction and --transaction-size cannot be used " +"together" +msgstr "" +"параметры -1/--single-transaction и --transaction-size исключают друг друга" + +#: pg_restore.c:357 #, c-format msgid "options -C/--create and -1/--single-transaction cannot be used together" msgstr "параметры -C/--create и -1/--single-transaction исключают друг друга" -#: pg_restore.c:342 +#: pg_restore.c:361 #, c-format msgid "cannot specify both --single-transaction and multiple jobs" msgstr "параметр --single-transaction допускается только с одним заданием" -#: pg_restore.c:380 +#: pg_restore.c:399 #, c-format msgid "" "unrecognized archive format \"%s\"; please specify \"c\", \"d\", or \"t\"" msgstr "нераспознанный формат архива \"%s\"; укажите \"c\", \"d\" или \"t\"" -#: pg_restore.c:419 +#: pg_restore.c:438 #, c-format msgid "errors ignored on restore: %d" msgstr "при восстановлении проигнорировано ошибок: %d" -#: pg_restore.c:432 +#: pg_restore.c:451 #, c-format msgid "" "%s restores a PostgreSQL database from an archive created by pg_dump.\n" @@ -2803,49 +2982,49 @@ msgstr "" "pg_dump.\n" "\n" -#: pg_restore.c:434 +#: pg_restore.c:453 #, c-format msgid " %s [OPTION]... [FILE]\n" msgstr " %s [ПАРАМЕТР]... [ФАЙЛ]\n" -#: pg_restore.c:437 +#: pg_restore.c:456 #, c-format msgid " -d, --dbname=NAME connect to database name\n" msgstr " -d, --dbname=БД подключиться к указанной базе данных\n" -#: pg_restore.c:438 +#: pg_restore.c:457 #, c-format msgid " -f, --file=FILENAME output file name (- for stdout)\n" msgstr "" " -f, --file=ИМЯ_ФАЙЛА имя выходного файла (или - для вывода в stdout)\n" -#: pg_restore.c:439 +#: pg_restore.c:458 #, 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:440 +#: pg_restore.c:459 #, c-format msgid " -l, --list print summarized TOC of the archive\n" msgstr " -l, --list вывести краткое оглавление архива\n" -#: pg_restore.c:441 +#: pg_restore.c:460 #, c-format msgid " -v, --verbose verbose mode\n" msgstr " -v, --verbose выводить подробные сообщения\n" -#: pg_restore.c:442 +#: pg_restore.c:461 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version показать версию и выйти\n" -#: pg_restore.c:443 +#: pg_restore.c:462 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help показать эту справку и выйти\n" -#: pg_restore.c:445 +#: pg_restore.c:464 #, c-format msgid "" "\n" @@ -2854,35 +3033,35 @@ msgstr "" "\n" "Параметры, управляющие восстановлением:\n" -#: pg_restore.c:446 +#: pg_restore.c:465 #, c-format msgid " -a, --data-only restore only the data, no schema\n" msgstr " -a, --data-only восстановить только данные, без схемы\n" -#: pg_restore.c:448 +#: pg_restore.c:467 #, c-format msgid " -C, --create create the target database\n" msgstr " -C, --create создать целевую базу данных\n" -#: pg_restore.c:449 +#: pg_restore.c:468 #, c-format msgid " -e, --exit-on-error exit on error, default is to continue\n" msgstr "" " -e, --exit-on-error выйти при ошибке (по умолчанию - продолжать)\n" -#: pg_restore.c:450 +#: pg_restore.c:469 #, c-format msgid " -I, --index=NAME restore named index\n" msgstr " -I, --index=ИМЯ восстановить указанный индекс\n" -#: pg_restore.c:451 +#: pg_restore.c:470 #, c-format msgid " -j, --jobs=NUM use this many parallel jobs to restore\n" msgstr "" " -j, --jobs=ЧИСЛО распараллелить восстановление на указанное " "число заданий\n" -#: pg_restore.c:452 +#: pg_restore.c:471 #, c-format msgid "" " -L, --use-list=FILENAME use table of contents from this file for\n" @@ -2891,13 +3070,13 @@ msgstr "" " -L, --use-list=ИМЯ_ФАЙЛА использовать оглавление из этого файла для\n" " чтения/упорядочивания данных\n" -#: pg_restore.c:454 +#: pg_restore.c:473 #, c-format msgid " -n, --schema=NAME restore only objects in this schema\n" msgstr "" " -n, --schema=ИМЯ восстановить объекты только в этой схеме\n" -#: pg_restore.c:455 +#: pg_restore.c:474 #, c-format msgid " -N, --exclude-schema=NAME do not restore objects in this schema\n" msgstr "" @@ -2905,17 +3084,17 @@ msgstr "" # skip-rule: no-space-before-parentheses # well-spelled: арг -#: pg_restore.c:457 +#: pg_restore.c:476 #, c-format msgid " -P, --function=NAME(args) restore named function\n" msgstr " -P, --function=ИМЯ(арг-ты) восстановить заданную функцию\n" -#: pg_restore.c:458 +#: pg_restore.c:477 #, c-format msgid " -s, --schema-only restore only the schema, no data\n" msgstr " -s, --schema-only восстановить только схему, без данных\n" -#: pg_restore.c:459 +#: pg_restore.c:478 #, c-format msgid "" " -S, --superuser=NAME superuser user name to use for disabling " @@ -2924,7 +3103,7 @@ msgstr "" " -S, --superuser=ИМЯ имя суперпользователя для отключения " "триггеров\n" -#: pg_restore.c:460 +#: pg_restore.c:479 #, c-format msgid "" " -t, --table=NAME restore named relation (table, view, etc.)\n" @@ -2932,12 +3111,12 @@ msgstr "" " -t, --table=ИМЯ восстановить заданное отношение (таблицу, " "представление и т. п.)\n" -#: pg_restore.c:461 +#: pg_restore.c:480 #, c-format msgid " -T, --trigger=NAME restore named trigger\n" msgstr " -T, --trigger=ИМЯ восстановить заданный триггер\n" -#: pg_restore.c:462 +#: pg_restore.c:481 #, c-format msgid "" " -x, --no-privileges skip restoration of access privileges (grant/" @@ -2946,23 +3125,32 @@ msgstr "" " -x, --no-privileges не восстанавливать права доступа\n" " (назначение/отзыв)\n" -#: pg_restore.c:463 +#: pg_restore.c:482 #, c-format msgid " -1, --single-transaction restore as a single transaction\n" msgstr "" " -1, --single-transaction выполнить восстановление в одной транзакции\n" -#: pg_restore.c:465 +#: pg_restore.c:484 #, c-format msgid " --enable-row-security enable row security\n" msgstr " --enable-row-security включить защиту на уровне строк\n" -#: pg_restore.c:467 +#: pg_restore.c:485 +#, c-format +msgid "" +" --filter=FILENAME restore or skip objects based on expressions\n" +" in FILENAME\n" +msgstr "" +" --filter=ИМЯ_ФАЙЛА восстанавливать или пропускать объекты\n" +" в соответствии с выражениями в этом файле\n" + +#: pg_restore.c:488 #, c-format msgid " --no-comments do not restore comments\n" msgstr " --no-comments не восстанавливать комментарии\n" -#: pg_restore.c:468 +#: pg_restore.c:489 #, c-format msgid "" " --no-data-for-failed-tables do not restore data of tables that could not " @@ -2972,35 +3160,35 @@ msgstr "" " --no-data-for-failed-tables не восстанавливать данные таблиц, которые\n" " не удалось создать\n" -#: pg_restore.c:470 +#: pg_restore.c:491 #, c-format msgid " --no-publications do not restore publications\n" msgstr " --no-publications не восстанавливать публикации\n" -#: pg_restore.c:471 +#: pg_restore.c:492 #, c-format msgid " --no-security-labels do not restore security labels\n" msgstr " --no-security-labels не восстанавливать метки безопасности\n" -#: pg_restore.c:472 +#: pg_restore.c:493 #, c-format msgid " --no-subscriptions do not restore subscriptions\n" msgstr " --no-subscriptions не восстанавливать подписки\n" -#: pg_restore.c:473 +#: pg_restore.c:494 #, c-format msgid " --no-table-access-method do not restore table access methods\n" msgstr "" " --no-table-access-method не восстанавливать табличные методы доступа\n" -#: pg_restore.c:474 +#: pg_restore.c:495 #, c-format msgid " --no-tablespaces do not restore tablespace assignments\n" msgstr "" " --no-tablespaces не восстанавливать назначения табл. " "пространств\n" -#: pg_restore.c:475 +#: pg_restore.c:496 #, c-format msgid "" " --section=SECTION restore named section (pre-data, data, or " @@ -3009,12 +3197,18 @@ msgstr "" " --section=РАЗДЕЛ восстановить заданный раздел\n" " (pre-data, data или post-data)\n" -#: pg_restore.c:488 +#: pg_restore.c:499 +#, c-format +msgid " --transaction-size=N commit after every N objects\n" +msgstr "" +" --transaction-size=N выполнять COMMIT после каждых N объектов\n" + +#: pg_restore.c:510 #, c-format msgid " --role=ROLENAME do SET ROLE before restore\n" msgstr " --role=ИМЯ_РОЛИ выполнить SET ROLE перед восстановлением\n" -#: pg_restore.c:490 +#: pg_restore.c:512 #, c-format msgid "" "\n" @@ -3027,7 +3221,7 @@ msgstr "" "указывать\n" "несколько раз для выбора нескольких объектов.\n" -#: pg_restore.c:493 +#: pg_restore.c:515 #, c-format msgid "" "\n" @@ -3039,6 +3233,22 @@ msgstr "" "ввода.\n" "\n" +#, c-format +#~ msgid "" +#~ "query produced null referenced table name for foreign key trigger \"%s\" " +#~ "on table \"%s\" (OID of table: %u)" +#~ msgstr "" +#~ "запрос выдал NULL вместо имени целевой таблицы для триггера внешнего " +#~ "ключа \"%s\" в таблице \"%s\" (OID целевой таблицы: %u)" + +#, c-format +#~ msgid "unexpected tgtype value: %d" +#~ msgstr "неожиданное значение tgtype: %d" + +#, c-format +#~ msgid "invalid argument string (%s) for trigger \"%s\" on table \"%s\"" +#~ msgstr "неверная строка аргументов (%s) для триггера \"%s\" таблицы \"%s\"" + #, c-format #~ msgid "unrecognized collation provider '%c'" #~ msgstr "нераспознанный провайдер правил сортировки '%c'" @@ -3463,9 +3673,6 @@ msgstr "" #~ msgid "could not write to custom output routine\n" #~ msgstr "не удалось вывести данную в пользовательскую процедуру\n" -#~ msgid "unexpected end of file\n" -#~ msgstr "неожиданный конец файла\n" - #~ msgid "could not write byte: %s\n" #~ msgstr "не удалось записать байт: %s\n" diff --git a/src/bin/pg_dump/po/sv.po b/src/bin/pg_dump/po/sv.po index 2d86236c631..8fbe8b3636b 100644 --- a/src/bin/pg_dump/po/sv.po +++ b/src/bin/pg_dump/po/sv.po @@ -1,13 +1,13 @@ # Swedish message translation file for pg_dump # Peter Eisentraut , 2001, 2009, 2010. -# Dennis Björklund , 2002, 2003, 2004, 2005, 2006, 2017, 2018, 2019, 2020, 2021, 2022, 2023. +# Dennis Björklund , 2002, 2003, 2004, 2005, 2006, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024. # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 16\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-08-23 12:51+0000\n" -"PO-Revision-Date: 2023-08-23 15:31+0200\n" +"POT-Creation-Date: 2024-08-27 15:52+0000\n" +"PO-Revision-Date: 2024-08-27 18:32+0200\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -88,32 +88,47 @@ msgstr "komprimeringsalgoritm \"%s\" stöder inte ett arbetarantal" msgid "compression algorithm \"%s\" does not support long-distance mode" msgstr "komprimeringsalgoritmen \"%s\" stöder inte långdistansläge" -#: ../../common/exec.c:172 +#: ../../common/exec.c:174 #, c-format msgid "invalid binary \"%s\": %m" msgstr "ogiltig binär \"%s\": %m" -#: ../../common/exec.c:215 +#: ../../common/exec.c:217 #, c-format msgid "could not read binary \"%s\": %m" msgstr "kunde inte läsa binär \"%s\": %m" -#: ../../common/exec.c:223 +#: ../../common/exec.c:225 #, c-format msgid "could not find a \"%s\" to execute" msgstr "kunde inte hitta en \"%s\" att köra" -#: ../../common/exec.c:250 +#: ../../common/exec.c:252 #, c-format msgid "could not resolve path \"%s\" to absolute form: %m" msgstr "kunde inte konvertera sökvägen \"%s\" till en absolut sökväg: %m" -#: ../../common/exec.c:412 parallel.c:1609 +#: ../../common/exec.c:382 +#, c-format +msgid "could not execute command \"%s\": %m" +msgstr "kunde inte köra kommandot \"%s\": %m" + +#: ../../common/exec.c:394 +#, c-format +msgid "could not read from command \"%s\": %m" +msgstr "kunde inte läsa från kommando \"%s\": %m" + +#: ../../common/exec.c:397 +#, c-format +msgid "no data was returned by command \"%s\"" +msgstr "ingen data returnerades från kommandot \"%s\"" + +#: ../../common/exec.c:424 parallel.c:1609 #, c-format msgid "%s() failed: %m" msgstr "%s() misslyckades: %m" -#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687 +#: ../../common/exec.c:562 ../../common/exec.c:607 ../../common/exec.c:699 msgid "out of memory" msgstr "slut på minne" @@ -128,6 +143,49 @@ msgstr "slut på minne\n" msgid "cannot duplicate null pointer (internal error)\n" msgstr "kan inte duplicera null-pekare (internt fel)\n" +#: ../../common/file_utils.c:70 ../../common/file_utils.c:347 +#: ../../common/file_utils.c:406 ../../common/file_utils.c:480 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "kunde inte öppna fil \"%s\": %m" + +#: ../../common/file_utils.c:76 +#, c-format +msgid "could not synchronize file system for file \"%s\": %m" +msgstr "kan inte synkronisera filsystemet för fil \"%s\": %m" + +#: ../../common/file_utils.c:120 ../../common/file_utils.c:566 +#, c-format +msgid "could not stat file \"%s\": %m" +msgstr "kunde inte göra stat() på fil \"%s\": %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 "detta bygge stöder inte synkmetod \"%s\"" + +#: ../../common/file_utils.c:151 ../../common/file_utils.c:281 +#, 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_backup_directory.c:182 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "kunde inte läsa katalog \"%s\": %m" + +#: ../../common/file_utils.c:418 ../../common/file_utils.c:488 +#, c-format +msgid "could not fsync file \"%s\": %m" +msgstr "kunde inte fsync:a fil \"%s\": %m" + +#: ../../common/file_utils.c:498 +#, c-format +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "kunde inte döpa om fil \"%s\" till \"%s\": %m" + #: ../../common/wait_error.c:55 #, c-format msgid "command not executable" @@ -168,227 +226,247 @@ msgstr "ogiltigt värde \"%s\" för flaggan \"%s\"" msgid "%s must be in range %d..%d" msgstr "%s måste vara i intervallet %d..%d" -#: common.c:132 +#: ../../fe_utils/option_utils.c:106 +#, c-format +msgid "unrecognized sync method: %s" +msgstr "okänd synkmetod: %s" + +#: ../../fe_utils/string_utils.c:434 +#, 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 +#, c-format +msgid "database name contains a newline or carriage return: \"%s\"\n" +msgstr "databasnamnet innehåller nyrad eller vagnretur: \"%s\"\n" + +#: common.c:135 #, c-format msgid "reading extensions" msgstr "läser utökningar" -#: common.c:135 +#: common.c:138 #, c-format msgid "identifying extension members" msgstr "identifierar utökningsmedlemmar" -#: common.c:138 +#: common.c:141 #, c-format msgid "reading schemas" msgstr "läser scheman" -#: common.c:147 +#: common.c:150 #, c-format msgid "reading user-defined tables" msgstr "läser användardefinierade tabeller" -#: common.c:152 +#: common.c:155 #, c-format msgid "reading user-defined functions" msgstr "läser användardefinierade funktioner" -#: common.c:156 +#: common.c:159 #, c-format msgid "reading user-defined types" msgstr "läser användardefinierade typer" -#: common.c:160 +#: common.c:163 #, c-format msgid "reading procedural languages" msgstr "läser procedurspråk" -#: common.c:163 +#: common.c:166 #, c-format msgid "reading user-defined aggregate functions" msgstr "läser användardefinierade aggregatfunktioner" -#: common.c:166 +#: common.c:169 #, c-format msgid "reading user-defined operators" msgstr "läser användardefinierade operatorer" -#: common.c:169 +#: common.c:172 #, c-format msgid "reading user-defined access methods" msgstr "läser användardefinierade accessmetoder" -#: common.c:172 +#: common.c:175 #, c-format msgid "reading user-defined operator classes" msgstr "läser användardefinierade operatorklasser" -#: common.c:175 +#: common.c:178 #, c-format msgid "reading user-defined operator families" msgstr "läser användardefinierade operator-familjer" -#: common.c:178 +#: common.c:181 #, c-format msgid "reading user-defined text search parsers" msgstr "läser användardefinierade textsöktolkare" -#: common.c:181 +#: common.c:184 #, c-format msgid "reading user-defined text search templates" msgstr "läser användardefinierade textsökmallar" -#: common.c:184 +#: common.c:187 #, c-format msgid "reading user-defined text search dictionaries" msgstr "läser användardefinierade textsökordlistor" -#: common.c:187 +#: common.c:190 #, c-format msgid "reading user-defined text search configurations" msgstr "läser användardefinierade textsökkonfigurationer" -#: common.c:190 +#: common.c:193 #, c-format msgid "reading user-defined foreign-data wrappers" msgstr "läser användardefinierade främmande data-omvandlare" -#: common.c:193 +#: common.c:196 #, c-format msgid "reading user-defined foreign servers" msgstr "läser användardefinierade främmande servrar" -#: common.c:196 +#: common.c:199 #, c-format msgid "reading default privileges" msgstr "läser standardrättigheter" -#: common.c:199 +#: common.c:202 #, c-format msgid "reading user-defined collations" msgstr "läser användardefinierade jämförelser" -#: common.c:202 +#: common.c:205 #, c-format msgid "reading user-defined conversions" msgstr "läser användardefinierade konverteringar" -#: common.c:205 +#: common.c:208 #, c-format msgid "reading type casts" msgstr "läser typomvandlingar" -#: common.c:208 +#: common.c:211 #, c-format msgid "reading transforms" msgstr "läser transformer" -#: common.c:211 +#: common.c:214 #, c-format msgid "reading table inheritance information" msgstr "läser information om arv av tabeller" -#: common.c:214 +#: common.c:217 #, c-format msgid "reading event triggers" msgstr "läser händelsetriggrar" -#: common.c:218 +#: common.c:221 #, c-format msgid "finding extension tables" msgstr "hittar utökningstabeller" -#: common.c:222 +#: common.c:225 #, c-format msgid "finding inheritance relationships" msgstr "hittar arvrelationer" -#: common.c:225 +#: common.c:228 #, c-format msgid "reading column info for interesting tables" msgstr "läser kolumninfo flr intressanta tabeller" -#: common.c:228 +#: common.c:231 #, c-format msgid "flagging inherited columns in subtables" msgstr "markerar ärvda kolumner i undertabeller" -#: common.c:231 +#: common.c:234 #, c-format msgid "reading partitioning data" msgstr "läser partitioneringsdata" -#: common.c:234 +#: common.c:237 #, c-format msgid "reading indexes" msgstr "läser index" -#: common.c:237 +#: common.c:240 #, c-format msgid "flagging indexes in partitioned tables" msgstr "flaggar index i partitionerade tabeller" -#: common.c:240 +#: common.c:243 #, c-format msgid "reading extended statistics" msgstr "läser utökad statistik" -#: common.c:243 +#: common.c:246 #, c-format msgid "reading constraints" msgstr "läser integritetsvillkor" -#: common.c:246 +#: common.c:249 #, c-format msgid "reading triggers" msgstr "läser triggrar" -#: common.c:249 +#: common.c:252 #, c-format msgid "reading rewrite rules" msgstr "läser omskrivningsregler" -#: common.c:252 +#: common.c:255 #, c-format msgid "reading policies" msgstr "läser policys" -#: common.c:255 +#: common.c:258 #, c-format msgid "reading publications" msgstr "läser publiceringar" -#: common.c:258 +#: common.c:261 #, c-format msgid "reading publication membership of tables" msgstr "läser publiceringsmedlemskap för tabeller" -#: common.c:261 +#: common.c:264 #, c-format msgid "reading publication membership of schemas" msgstr "läser publiceringsmedlemskap för scheman" -#: common.c:264 +#: common.c:267 #, c-format msgid "reading subscriptions" msgstr "läser prenumerationer" -#: common.c:327 +#: common.c:270 +#, c-format +msgid "reading subscription membership of tables" +msgstr "läser prenumerationsmedlemskap för tabeller" + +#: common.c:333 #, c-format msgid "failed sanity check, parent OID %u of table \"%s\" (OID %u) not found" msgstr "misslyckades med riktighetskontroll, hittade inte förälder-OID %u för tabell \"%s\" (OID %u)" -#: common.c:369 +#: common.c:375 #, c-format msgid "invalid number of parents %d for table \"%s\"" msgstr "ogiltigt antal (%d) föräldrar för tabell \"%s\"" -#: common.c:1049 +#: common.c:1098 #, c-format msgid "could not parse numeric array \"%s\": too many numbers" msgstr "kunde inte tolka numerisk array \"%s\": för många nummer" -#: common.c:1061 +#: common.c:1110 #, c-format msgid "could not parse numeric array \"%s\": invalid character in number" msgstr "kunde inte tolka numerisk array \"%s\": ogiltigt tecken i nummer" @@ -418,15 +496,20 @@ msgstr "kunde inte packa upp data: %s" msgid "could not close compression library: %s" msgstr "kunde inte stänga komprimeringsbiblioteket: %s" -#: compress_gzip.c:266 compress_gzip.c:295 compress_lz4.c:608 -#: compress_lz4.c:628 compress_lz4.c:647 compress_none.c:97 compress_none.c:140 +#: compress_gzip.c:266 compress_lz4.c:608 compress_lz4.c:628 compress_lz4.c:647 #, c-format msgid "could not read from input file: %s" msgstr "kunde inte läsa från infilen: %s" -#: compress_gzip.c:297 compress_lz4.c:630 compress_none.c:142 -#: compress_zstd.c:371 pg_backup_custom.c:653 pg_backup_directory.c:558 -#: pg_backup_tar.c:725 pg_backup_tar.c:748 +#: compress_gzip.c:295 compress_none.c:97 compress_none.c:139 +#: compress_zstd.c:373 pg_backup_custom.c:651 +#, c-format +msgid "could not read from input file: %m" +msgstr "kunde inte läsa från infilen: %m" + +#: compress_gzip.c:297 compress_lz4.c:630 compress_none.c:141 +#: compress_zstd.c:371 pg_backup_custom.c:649 pg_backup_directory.c:565 +#: pg_backup_tar.c:740 pg_backup_tar.c:763 #, c-format msgid "could not read from input file: end of file" msgstr "kunde inte läsa från infilen: slut på filen" @@ -477,16 +560,61 @@ msgstr "kunde inte initierar komprimeringsbibliotek" msgid "could not decompress data: %s" msgstr "kunde inte dekomprimera data: %s" -#: compress_zstd.c:373 pg_backup_custom.c:655 -#, c-format -msgid "could not read from input file: %m" -msgstr "kunde inte läsa från infilen: %m" - #: compress_zstd.c:501 #, c-format msgid "unhandled mode \"%s\"" msgstr "kan inte hantera läget \"%s\"" +#: filter.c:49 +#, c-format +msgid "could not open filter file \"%s\": %m" +msgstr "kunde inte öppna filterfil \"%s\": %m" + +#: filter.c:72 +#, c-format +msgid "could not close filter file \"%s\": %m" +msgstr "kunde inte stänga filterfil \"%s\": %m" + +#: filter.c:165 +#, c-format +msgid "invalid format in filter read from standard input on line %d: %s" +msgstr "ogiltigt format i filter som lästs från standard input på rad %d: %s" + +#: filter.c:168 +#, c-format +msgid "invalid format in filter read from file \"%s\" on line %d: %s" +msgstr "ogiltigt format i filter som lästs från fil \"%s\" på rad %d: %s" + +#: filter.c:241 filter.c:468 +#, c-format +msgid "could not read from filter file \"%s\": %m" +msgstr "kunde inte läsa från filterfil \"%s\": %m" + +#: filter.c:244 +msgid "unexpected end of file" +msgstr "oväntat slut på fil" + +#: filter.c:311 +msgid "missing object name pattern" +msgstr "saknar mall för objektnamn" + +#: filter.c:422 +msgid "no filter command found (expected \"include\" or \"exclude\")" +msgstr "hittade inte filterkommandon (förväntade \"include\" eller \"exclude\")" + +#: filter.c:433 +msgid "invalid filter command (expected \"include\" or \"exclude\")" +msgstr "ogiltigt filterkommando (förväntade \"include\" eller \"exclude\")" + +#: filter.c:440 +msgid "missing filter object type" +msgstr "saknas typ på filterobjekt" + +#: filter.c:447 +#, c-format +msgid "unsupported filter object type: \"%.*s\"" +msgstr "typen för filterobjekt stöd ej: \"%.*s\"" + #: parallel.c:251 #, c-format msgid "%s() failed: error code %d" @@ -567,512 +695,517 @@ msgstr "pgpipe: kunde itne ansluta till uttag (socket): felkod %d" msgid "pgpipe: could not accept connection: error code %d" msgstr "pgpipe: kunde inte acceptera anslutning: felkod %d" -#: pg_backup_archiver.c:276 pg_backup_archiver.c:1603 +#: pg_backup_archiver.c:261 pg_backup_archiver.c:1706 #, c-format msgid "could not close output file: %m" msgstr "kunde inte stänga utdatafilen: %m" -#: pg_backup_archiver.c:320 pg_backup_archiver.c:324 +#: pg_backup_archiver.c:305 pg_backup_archiver.c:309 #, c-format msgid "archive items not in correct section order" msgstr "arkivobjekten är inte i korrekt sektionsordning" -#: pg_backup_archiver.c:330 +#: pg_backup_archiver.c:315 #, c-format msgid "unexpected section code %d" msgstr "oväntad sektionskod %d" -#: pg_backup_archiver.c:367 +#: pg_backup_archiver.c:352 #, c-format msgid "parallel restore is not supported with this archive file format" msgstr "parallell återställning stöds inte med detta arkivformat" -#: pg_backup_archiver.c:371 +#: pg_backup_archiver.c:356 #, c-format msgid "parallel restore is not supported with archives made by pre-8.0 pg_dump" msgstr "parallell återställning stöds inte med arkiv som skapats av en pre-8.0 pg_dump" -#: pg_backup_archiver.c:392 +#: pg_backup_archiver.c:377 #, c-format msgid "cannot restore from compressed archive (%s)" msgstr "kan inte återställa från komprimerat arkiv (%s)" -#: pg_backup_archiver.c:412 +#: pg_backup_archiver.c:397 #, c-format msgid "connecting to database for restore" msgstr "kopplar upp mot databas för återställning" -#: pg_backup_archiver.c:414 +#: pg_backup_archiver.c:399 #, c-format msgid "direct database connections are not supported in pre-1.3 archives" msgstr "direkta databasuppkopplingar stöds inte i arkiv från före version 1.3" -#: pg_backup_archiver.c:457 +#: pg_backup_archiver.c:442 #, c-format msgid "implied data-only restore" msgstr "implicerad återställning av enbart data" -#: pg_backup_archiver.c:523 +#: pg_backup_archiver.c:510 #, c-format msgid "dropping %s %s" msgstr "tar bort %s %s" -#: pg_backup_archiver.c:623 +#: pg_backup_archiver.c:642 #, c-format msgid "could not find where to insert IF EXISTS in statement \"%s\"" msgstr "kunde inte hitta var IF EXISTS skulle stoppas in i sats \"%s\"" -#: pg_backup_archiver.c:778 pg_backup_archiver.c:780 +#: pg_backup_archiver.c:828 pg_backup_archiver.c:830 #, c-format msgid "warning from original dump file: %s" msgstr "varning från orginaldumpfilen: %s" -#: pg_backup_archiver.c:795 +#: pg_backup_archiver.c:864 #, c-format msgid "creating %s \"%s.%s\"" msgstr "skapar %s \"%s.%s\"" -#: pg_backup_archiver.c:798 +#: pg_backup_archiver.c:867 #, c-format msgid "creating %s \"%s\"" msgstr "skapar %s \"%s\"" -#: pg_backup_archiver.c:848 +#: pg_backup_archiver.c:917 #, c-format msgid "connecting to new database \"%s\"" msgstr "kopplar upp mot ny databas \"%s\"" -#: pg_backup_archiver.c:875 +#: pg_backup_archiver.c:944 #, c-format msgid "processing %s" msgstr "processar %s" -#: pg_backup_archiver.c:897 +#: pg_backup_archiver.c:966 #, c-format msgid "processing data for table \"%s.%s\"" msgstr "processar data för tabell \"%s.%s\"" -#: pg_backup_archiver.c:967 +#: pg_backup_archiver.c:1036 #, c-format msgid "executing %s %s" msgstr "kör %s %s" -#: pg_backup_archiver.c:1008 +#: pg_backup_archiver.c:1096 #, c-format msgid "disabling triggers for %s" msgstr "stänger av trigger för %s" -#: pg_backup_archiver.c:1034 +#: pg_backup_archiver.c:1122 #, c-format msgid "enabling triggers for %s" msgstr "slår på trigger för %s" -#: pg_backup_archiver.c:1099 +#: pg_backup_archiver.c:1187 #, c-format msgid "internal error -- WriteData cannot be called outside the context of a DataDumper routine" msgstr "internt fel -- WriteData kan inte anropas utanför kontexten av en DataDumper-rutin" -#: pg_backup_archiver.c:1287 +#: pg_backup_archiver.c:1379 #, c-format msgid "large-object output not supported in chosen format" msgstr "utmatning av stora objekt stöds inte i det valda formatet" -#: pg_backup_archiver.c:1345 +#: pg_backup_archiver.c:1442 #, c-format msgid "restored %d large object" msgid_plural "restored %d large objects" msgstr[0] "återställde %d stor objekt" msgstr[1] "återställde %d stora objekt" -#: pg_backup_archiver.c:1366 pg_backup_tar.c:668 +#: pg_backup_archiver.c:1469 pg_backup_tar.c:683 #, c-format msgid "restoring large object with OID %u" msgstr "återställer stort objekt med OID %u" -#: pg_backup_archiver.c:1378 +#: pg_backup_archiver.c:1481 #, c-format msgid "could not create large object %u: %s" msgstr "kunde inte skapa stort objekt %u: %s" -#: pg_backup_archiver.c:1383 pg_dump.c:3718 +#: pg_backup_archiver.c:1486 pg_dump.c:3888 #, c-format msgid "could not open large object %u: %s" msgstr "kunde inte öppna stort objekt %u: %s" -#: pg_backup_archiver.c:1439 +#: pg_backup_archiver.c:1542 #, c-format msgid "could not open TOC file \"%s\": %m" msgstr "kunde inte öppna TOC-filen \"%s\": %m" -#: pg_backup_archiver.c:1467 +#: pg_backup_archiver.c:1570 #, c-format msgid "line ignored: %s" msgstr "rad ignorerad: %s" -#: pg_backup_archiver.c:1474 +#: pg_backup_archiver.c:1577 pg_backup_db.c:609 #, c-format msgid "could not find entry for ID %d" msgstr "kunde inte hitta en post för ID %d" -#: pg_backup_archiver.c:1497 pg_backup_directory.c:221 -#: pg_backup_directory.c:606 +#: pg_backup_archiver.c:1600 pg_backup_directory.c:219 +#: pg_backup_directory.c:613 #, c-format msgid "could not close TOC file: %m" msgstr "kunde inte stänga TOC-filen: %m" -#: pg_backup_archiver.c:1584 pg_backup_custom.c:156 pg_backup_directory.c:332 -#: pg_backup_directory.c:593 pg_backup_directory.c:658 -#: pg_backup_directory.c:676 pg_dumpall.c:501 +#: 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 #, c-format msgid "could not open output file \"%s\": %m" msgstr "kunde inte öppna utdatafilen \"%s\": %m" -#: pg_backup_archiver.c:1586 pg_backup_custom.c:162 +#: pg_backup_archiver.c:1689 pg_backup_custom.c:158 #, c-format msgid "could not open output file: %m" msgstr "kunde inte öppna utdatafilen: %m" -#: pg_backup_archiver.c:1669 +#: pg_backup_archiver.c:1772 #, c-format msgid "wrote %zu byte of large object data (result = %d)" msgid_plural "wrote %zu bytes of large object data (result = %d)" msgstr[0] "skrev %zu byte data av stort objekt (resultat = %d)" msgstr[1] "skrev %zu bytes data av stort objekt (resultat = %d)" -#: pg_backup_archiver.c:1675 +#: pg_backup_archiver.c:1778 #, c-format msgid "could not write to large object: %s" msgstr "kunde inte skriva till stort objekt: %s" -#: pg_backup_archiver.c:1765 +#: pg_backup_archiver.c:1868 #, c-format msgid "while INITIALIZING:" msgstr "vid INITIERING:" -#: pg_backup_archiver.c:1770 +#: pg_backup_archiver.c:1873 #, c-format msgid "while PROCESSING TOC:" msgstr "vid HANTERING AV TOC:" -#: pg_backup_archiver.c:1775 +#: pg_backup_archiver.c:1878 #, c-format msgid "while FINALIZING:" msgstr "vid SLUTFÖRANDE:" -#: pg_backup_archiver.c:1780 +#: pg_backup_archiver.c:1883 #, c-format msgid "from TOC entry %d; %u %u %s %s %s" msgstr "från TOC-post %d; %u %u %s %s %s" -#: pg_backup_archiver.c:1856 +#: pg_backup_archiver.c:1959 #, c-format msgid "bad dumpId" msgstr "felaktigt dumpId" -#: pg_backup_archiver.c:1877 +#: pg_backup_archiver.c:1980 #, c-format msgid "bad table dumpId for TABLE DATA item" msgstr "felaktig tabell-dumpId för TABLE DATA-objekt" -#: pg_backup_archiver.c:1969 +#: pg_backup_archiver.c:2072 #, c-format msgid "unexpected data offset flag %d" msgstr "oväntad data-offset-flagga %d" -#: pg_backup_archiver.c:1982 +#: pg_backup_archiver.c:2085 #, c-format msgid "file offset in dump file is too large" msgstr "fil-offset i dumpfilen är för stort" -#: pg_backup_archiver.c:2093 +#: pg_backup_archiver.c:2196 #, c-format msgid "directory name too long: \"%s\"" msgstr "katalognamn för långt: \"%s\"" -#: pg_backup_archiver.c:2143 +#: pg_backup_archiver.c:2246 #, c-format msgid "directory \"%s\" does not appear to be a valid archive (\"toc.dat\" does not exist)" msgstr "katalogen \"%s\" verkar inte vara ett giltigt arkiv (\"toc.dat\" finns inte)" -#: pg_backup_archiver.c:2151 pg_backup_custom.c:173 pg_backup_custom.c:816 -#: pg_backup_directory.c:206 pg_backup_directory.c:395 +#: 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 #, c-format msgid "could not open input file \"%s\": %m" msgstr "kunde inte öppna indatafilen \"%s\": %m" -#: pg_backup_archiver.c:2158 pg_backup_custom.c:179 +#: pg_backup_archiver.c:2261 pg_backup_custom.c:175 #, c-format msgid "could not open input file: %m" msgstr "kan inte öppna infil: %m" -#: pg_backup_archiver.c:2164 +#: pg_backup_archiver.c:2267 #, c-format msgid "could not read input file: %m" msgstr "kan inte läsa infilen: %m" -#: pg_backup_archiver.c:2166 +#: pg_backup_archiver.c:2269 #, c-format msgid "input file is too short (read %lu, expected 5)" msgstr "indatafilen är för kort (läste %lu, förväntade 5)" -#: pg_backup_archiver.c:2198 +#: pg_backup_archiver.c:2301 #, c-format msgid "input file appears to be a text format dump. Please use psql." msgstr "indatafilen verkar vara en dump i textformat. Använd psql." -#: pg_backup_archiver.c:2204 +#: pg_backup_archiver.c:2307 #, c-format msgid "input file does not appear to be a valid archive (too short?)" msgstr "indatafilen verkar inte vara ett korrekt arkiv (för kort?)" -#: pg_backup_archiver.c:2210 +#: pg_backup_archiver.c:2313 #, c-format msgid "input file does not appear to be a valid archive" msgstr "indatafilen verkar inte vara ett korrekt arkiv" -#: pg_backup_archiver.c:2219 +#: pg_backup_archiver.c:2322 #, c-format msgid "could not close input file: %m" msgstr "kunde inte stänga indatafilen: %m" -#: pg_backup_archiver.c:2297 +#: pg_backup_archiver.c:2401 #, c-format msgid "could not open stdout for appending: %m" msgstr "kunde inte öppna stdout för append: %m" -#: pg_backup_archiver.c:2342 +#: pg_backup_archiver.c:2446 #, c-format msgid "unrecognized file format \"%d\"" msgstr "känner inte igen filformat \"%d\"" -#: pg_backup_archiver.c:2423 pg_backup_archiver.c:4448 +#: pg_backup_archiver.c:2527 pg_backup_archiver.c:4647 #, c-format msgid "finished item %d %s %s" msgstr "klar med objekt %d %s %s" -#: pg_backup_archiver.c:2427 pg_backup_archiver.c:4461 +#: pg_backup_archiver.c:2531 pg_backup_archiver.c:4660 #, c-format msgid "worker process failed: exit code %d" msgstr "arbetsprocess misslyckades: felkod %d" -#: pg_backup_archiver.c:2548 +#: pg_backup_archiver.c:2653 #, c-format msgid "entry ID %d out of range -- perhaps a corrupt TOC" msgstr "post-ID %d utanför sitt intervall -- kanske en trasig TOC" -#: pg_backup_archiver.c:2628 +#: pg_backup_archiver.c:2736 #, c-format msgid "restoring tables WITH OIDS is not supported anymore" msgstr "återeställa tabeller med WITH OIDS stöds inte längre" -#: pg_backup_archiver.c:2710 +#: pg_backup_archiver.c:2818 #, c-format msgid "unrecognized encoding \"%s\"" msgstr "okänd teckenkodning \"%s\"" -#: pg_backup_archiver.c:2715 +#: pg_backup_archiver.c:2823 #, c-format msgid "invalid ENCODING item: %s" msgstr "ogiltigt ENCODING-val: %s" -#: pg_backup_archiver.c:2733 +#: pg_backup_archiver.c:2841 #, c-format msgid "invalid STDSTRINGS item: %s" msgstr "ogiltigt STDSTRINGS-val: %s" -#: pg_backup_archiver.c:2758 +#: pg_backup_archiver.c:2866 #, c-format msgid "schema \"%s\" not found" msgstr "schema \"%s\" hittades inte" -#: pg_backup_archiver.c:2765 +#: pg_backup_archiver.c:2873 #, c-format msgid "table \"%s\" not found" msgstr "tabell \"%s\" hittades inte" -#: pg_backup_archiver.c:2772 +#: pg_backup_archiver.c:2880 #, c-format msgid "index \"%s\" not found" msgstr "index \"%s\" hittades inte" -#: pg_backup_archiver.c:2779 +#: pg_backup_archiver.c:2887 #, c-format msgid "function \"%s\" not found" msgstr "funktion \"%s\" hittades inte" -#: pg_backup_archiver.c:2786 +#: pg_backup_archiver.c:2894 #, c-format msgid "trigger \"%s\" not found" msgstr "trigger \"%s\" hittades inte" -#: pg_backup_archiver.c:3183 +#: pg_backup_archiver.c:3325 #, c-format msgid "could not set session user to \"%s\": %s" msgstr "kunde inte sätta sessionsanvändare till \"%s\": %s" -#: pg_backup_archiver.c:3315 +#: pg_backup_archiver.c:3457 +#, c-format +msgid "could not set \"search_path\" to \"%s\": %s" +msgstr "kunde inte sätta \"search_path\" till \"%s\": %s" + +#: pg_backup_archiver.c:3518 #, c-format -msgid "could not set search_path to \"%s\": %s" -msgstr "kunde inte sätta search_path till \"%s\": %s" +msgid "could not set \"default_tablespace\" to %s: %s" +msgstr "kunde inte sätta \"default_tablespace\" till %s: %s" -#: pg_backup_archiver.c:3376 +#: pg_backup_archiver.c:3567 #, c-format -msgid "could not set default_tablespace to %s: %s" -msgstr "kunde inte sätta default_tablespace till %s: %s" +msgid "could not set \"default_table_access_method\": %s" +msgstr "kunde inte sätta \"default_table_access_method\": %s" -#: pg_backup_archiver.c:3425 +#: pg_backup_archiver.c:3616 #, c-format -msgid "could not set default_table_access_method: %s" -msgstr "kunde inte sätta default_table_access_method: %s" +msgid "could not alter table access method: %s" +msgstr "kunde inte ändra tabellaccessmetod: %s" -#: pg_backup_archiver.c:3530 +#: pg_backup_archiver.c:3717 #, c-format msgid "don't know how to set owner for object type \"%s\"" msgstr "vet inte hur man sätter ägare för objekttyp \"%s\"" -#: pg_backup_archiver.c:3752 +#: pg_backup_archiver.c:4004 #, c-format msgid "did not find magic string in file header" msgstr "kunde inte hitta den magiska strängen i filhuvudet" -#: pg_backup_archiver.c:3766 +#: pg_backup_archiver.c:4018 #, c-format msgid "unsupported version (%d.%d) in file header" msgstr "ej supportad version (%d.%d) i filhuvudet" -#: pg_backup_archiver.c:3771 +#: pg_backup_archiver.c:4023 #, c-format msgid "sanity check on integer size (%lu) failed" msgstr "riktighetskontroll på heltalsstorlek (%lu) misslyckades" -#: pg_backup_archiver.c:3775 +#: pg_backup_archiver.c:4027 #, c-format msgid "archive was made on a machine with larger integers, some operations might fail" msgstr "arkivet skapades på en maskin med större heltal, en del operationer kan misslyckas" -#: pg_backup_archiver.c:3785 +#: pg_backup_archiver.c:4037 #, c-format msgid "expected format (%d) differs from format found in file (%d)" msgstr "förväntat format (%d) skiljer sig från formatet som fanns i filen (%d)" -#: pg_backup_archiver.c:3807 +#: pg_backup_archiver.c:4059 #, c-format msgid "archive is compressed, but this installation does not support compression (%s) -- no data will be available" msgstr "arkivet är komprimerat, men denna installation stödjer inte komprimering (%s) -- ingen data kommer kunna läsas" -#: pg_backup_archiver.c:3843 +#: pg_backup_archiver.c:4095 #, c-format msgid "invalid creation date in header" msgstr "ogiltig skapandedatum i huvud" -#: pg_backup_archiver.c:3977 +#: pg_backup_archiver.c:4229 #, c-format msgid "processing item %d %s %s" msgstr "processar objekt %d %s %s" -#: pg_backup_archiver.c:4052 +#: pg_backup_archiver.c:4314 #, c-format msgid "entering main parallel loop" msgstr "går in i parallella huvudloopen" -#: pg_backup_archiver.c:4063 +#: pg_backup_archiver.c:4325 #, c-format msgid "skipping item %d %s %s" msgstr "hoppar över objekt %d %s %s" -#: pg_backup_archiver.c:4072 +#: pg_backup_archiver.c:4334 #, c-format msgid "launching item %d %s %s" msgstr "startar objekt %d %s %s" -#: pg_backup_archiver.c:4126 +#: pg_backup_archiver.c:4388 #, c-format msgid "finished main parallel loop" msgstr "klar med parallella huvudloopen" -#: pg_backup_archiver.c:4162 +#: pg_backup_archiver.c:4424 #, c-format msgid "processing missed item %d %s %s" msgstr "processar saknat objekt %d %s %s" -#: pg_backup_archiver.c:4767 +#: pg_backup_archiver.c:4966 #, c-format msgid "table \"%s\" could not be created, will not restore its data" msgstr "tabell \"%s\" kunde inte skapas, dess data kommer ej återställas" -#: pg_backup_custom.c:380 pg_backup_null.c:147 +#: pg_backup_custom.c:376 pg_backup_null.c:143 #, c-format msgid "invalid OID for large object" msgstr "ogiltig OID för stort objekt" -#: pg_backup_custom.c:445 pg_backup_custom.c:511 pg_backup_custom.c:640 -#: pg_backup_custom.c:874 pg_backup_tar.c:1014 pg_backup_tar.c:1019 +#: pg_backup_custom.c:441 pg_backup_custom.c:507 pg_backup_custom.c:636 +#: pg_backup_custom.c:870 pg_backup_tar.c:1029 pg_backup_tar.c:1034 #, c-format msgid "error during file seek: %m" msgstr "fel vid sökning: %m" -#: pg_backup_custom.c:484 +#: pg_backup_custom.c:480 #, c-format msgid "data block %d has wrong seek position" msgstr "datablock %d har fel sökposition" -#: pg_backup_custom.c:501 +#: pg_backup_custom.c:497 #, c-format msgid "unrecognized data block type (%d) while searching archive" msgstr "känner inte igen datablocktyp (%d) vid genomsökning av arkiv" -#: pg_backup_custom.c:523 +#: pg_backup_custom.c:519 #, c-format msgid "could not find block ID %d in archive -- possibly due to out-of-order restore request, which cannot be handled due to non-seekable input file" msgstr "kunde inte hitta block ID %d i arkiv -- kanske på grund av en återställningbegäran i oordning vilket inte kan hanteras då inputfilen inte är sökbar" -#: pg_backup_custom.c:528 +#: pg_backup_custom.c:524 #, c-format msgid "could not find block ID %d in archive -- possibly corrupt archive" msgstr "kunde inte hitta block ID %d i arkiv -- möjligen ett trasigt arkiv" -#: pg_backup_custom.c:535 +#: pg_backup_custom.c:531 #, c-format msgid "found unexpected block ID (%d) when reading data -- expected %d" msgstr "hittade oväntat block-ID (%d) vid läsning av data -- förväntade %d" -#: pg_backup_custom.c:549 +#: pg_backup_custom.c:545 #, c-format msgid "unrecognized data block type %d while restoring archive" msgstr "ej igenkänd datablockstyp %d vid återställande av arkiv" -#: pg_backup_custom.c:755 pg_backup_custom.c:807 pg_backup_custom.c:952 -#: pg_backup_tar.c:1017 +#: pg_backup_custom.c:751 pg_backup_custom.c:803 pg_backup_custom.c:945 +#: pg_backup_tar.c:1032 #, c-format msgid "could not determine seek position in archive file: %m" msgstr "kunde inte bestämma sökposition i arkivfil: %m" -#: pg_backup_custom.c:771 pg_backup_custom.c:811 +#: pg_backup_custom.c:767 pg_backup_custom.c:807 #, c-format msgid "could not close archive file: %m" msgstr "kan inte stänga arkivfilen: %m" -#: pg_backup_custom.c:794 +#: pg_backup_custom.c:790 #, c-format msgid "can only reopen input archives" msgstr "kan inte återöppna indataarkiven" -#: pg_backup_custom.c:801 +#: pg_backup_custom.c:797 #, c-format msgid "parallel restore from standard input is not supported" msgstr "parallell återställning från standard in stöds inte" -#: pg_backup_custom.c:803 +#: pg_backup_custom.c:799 #, c-format msgid "parallel restore from non-seekable file is not supported" msgstr "parallell återställning för en icke sökbar fil stöds inte" -#: pg_backup_custom.c:819 +#: pg_backup_custom.c:815 #, c-format msgid "could not set seek position in archive file: %m" msgstr "kunde inte söka till rätt position i arkivfilen: %m" -#: pg_backup_custom.c:898 +#: pg_backup_custom.c:894 #, c-format msgid "compressor active" msgstr "komprimerare aktiv" @@ -1082,12 +1215,12 @@ msgstr "komprimerare aktiv" msgid "could not get server_version from libpq" msgstr "kunde inte hämta serverversionen från libpq" -#: pg_backup_db.c:53 pg_dumpall.c:1809 +#: pg_backup_db.c:53 pg_dumpall.c:1830 #, c-format msgid "aborting because of server version mismatch" msgstr "avbryter då serverversionerna i matchar" -#: pg_backup_db.c:54 pg_dumpall.c:1810 +#: pg_backup_db.c:54 pg_dumpall.c:1831 #, c-format msgid "server version: %s; %s version: %s" msgstr "server version: %s; %s version: %s" @@ -1097,7 +1230,7 @@ msgstr "server version: %s; %s version: %s" msgid "already connected to a database" msgstr "är redan uppkopplad mot en databas" -#: pg_backup_db.c:128 pg_backup_db.c:178 pg_dumpall.c:1656 pg_dumpall.c:1758 +#: pg_backup_db.c:128 pg_backup_db.c:178 pg_dumpall.c:1677 pg_dumpall.c:1779 msgid "Password: " msgstr "Lösenord: " @@ -1111,18 +1244,18 @@ msgstr "kunde inte ansluta till databasen" msgid "reconnection failed: %s" msgstr "återanslutning misslyckades: %s" -#: pg_backup_db.c:190 pg_backup_db.c:264 pg_dump.c:756 pg_dump_sort.c:1280 -#: pg_dump_sort.c:1300 pg_dumpall.c:1683 pg_dumpall.c:1767 +#: 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:1704 pg_dumpall.c:1788 #, c-format msgid "%s" msgstr "%s" -#: pg_backup_db.c:271 pg_dumpall.c:1872 pg_dumpall.c:1895 +#: pg_backup_db.c:271 pg_dumpall.c:1893 pg_dumpall.c:1916 #, c-format msgid "query failed: %s" msgstr "fråga misslyckades: %s" -#: pg_backup_db.c:273 pg_dumpall.c:1873 pg_dumpall.c:1896 +#: pg_backup_db.c:273 pg_dumpall.c:1894 pg_dumpall.c:1917 #, c-format msgid "Query was: %s" msgstr "Frågan var: %s" @@ -1158,7 +1291,7 @@ msgstr "fel returnerat av PQputCopyEnd: %s" msgid "COPY failed for table \"%s\": %s" msgstr "COPY misslyckades för tabell \"%s\": %s" -#: pg_backup_db.c:521 pg_dump.c:2202 +#: pg_backup_db.c:521 pg_dump.c:2283 #, c-format msgid "unexpected extra results during COPY of table \"%s\"" msgstr "oväntade extraresultat under kopiering (COPY) av tabell \"%s\"" @@ -1171,161 +1304,156 @@ msgstr "kunde inte starta databastransaktionen" msgid "could not commit database transaction" msgstr "kunde inte genomföra databastransaktionen" -#: pg_backup_directory.c:155 +#: pg_backup_directory.c:153 #, c-format msgid "no output directory specified" msgstr "ingen utdatakatalog angiven" -#: pg_backup_directory.c:184 -#, c-format -msgid "could not read directory \"%s\": %m" -msgstr "kunde inte läsa katalog \"%s\": %m" - -#: pg_backup_directory.c:188 +#: pg_backup_directory.c:186 #, c-format msgid "could not close directory \"%s\": %m" msgstr "kunde inte stänga katalog \"%s\": %m" -#: pg_backup_directory.c:194 +#: pg_backup_directory.c:192 #, c-format msgid "could not create directory \"%s\": %m" msgstr "kunde inte skapa katalog \"%s\": %m" -#: pg_backup_directory.c:356 pg_backup_directory.c:499 -#: pg_backup_directory.c:537 +#: 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 "kunde inte skriva till utdatafil: %s" -#: pg_backup_directory.c:374 +#: pg_backup_directory.c:375 #, c-format msgid "could not close data file: %m" msgstr "kan inte stänga datafil: %m" -#: pg_backup_directory.c:407 +#: pg_backup_directory.c:408 #, c-format msgid "could not close data file \"%s\": %m" msgstr "kan inte stänga datafil \"%s\": %m" -#: pg_backup_directory.c:448 +#: pg_backup_directory.c:455 #, c-format msgid "could not open large object TOC file \"%s\" for input: %m" msgstr "kunde inte öppna stora objekts TOC-fil \"%s\" för läsning: %m" -#: pg_backup_directory.c:459 +#: pg_backup_directory.c:466 #, c-format msgid "invalid line in large object TOC file \"%s\": \"%s\"" msgstr "ogiltig rad i stora objekts TOC-fil \"%s\": \"%s\"" -#: pg_backup_directory.c:468 +#: pg_backup_directory.c:475 #, c-format msgid "error reading large object TOC file \"%s\"" msgstr "fel vid lösning av stora objekts TOC-fil \"%s\"" -#: pg_backup_directory.c:472 +#: pg_backup_directory.c:479 #, c-format msgid "could not close large object TOC file \"%s\": %m" msgstr "kunde inte stänga stora objekts TOC-fil \"%s\": %m" -#: pg_backup_directory.c:694 +#: pg_backup_directory.c:702 #, c-format msgid "could not close LO data file: %m" msgstr "kan inte stänga LO-datafil: %m" -#: pg_backup_directory.c:704 +#: pg_backup_directory.c:712 #, c-format msgid "could not write to LOs TOC file: %s" msgstr "kunde inte skriva till TOC-fil för LO: %s" -#: pg_backup_directory.c:720 +#: pg_backup_directory.c:728 #, c-format msgid "could not close LOs TOC file: %m" msgstr "kunde inte stänga TOC-fil för LO: %m" -#: pg_backup_directory.c:739 +#: pg_backup_directory.c:747 #, c-format msgid "file name too long: \"%s\"" msgstr "filnamnet är för långt: \"%s\"" -#: pg_backup_null.c:74 +#: pg_backup_null.c:70 #, c-format msgid "this format cannot be read" msgstr "detta format kan inte läsas" -#: pg_backup_tar.c:172 +#: pg_backup_tar.c:168 #, c-format msgid "could not open TOC file \"%s\" for output: %m" msgstr "kunde inte öppna TOC-filen \"%s\" för utmatning: %m" -#: pg_backup_tar.c:179 +#: pg_backup_tar.c:175 #, c-format msgid "could not open TOC file for output: %m" msgstr "kunde inte öppna TOC-filen för utmatning: %m" -#: pg_backup_tar.c:198 pg_backup_tar.c:334 pg_backup_tar.c:389 -#: pg_backup_tar.c:405 pg_backup_tar.c:891 +#: pg_backup_tar.c:194 pg_backup_tar.c:330 pg_backup_tar.c:385 +#: pg_backup_tar.c:401 pg_backup_tar.c:906 #, c-format msgid "compression is not supported by tar archive format" msgstr "komprimering är stödjs inte av arkivformatet tar" -#: pg_backup_tar.c:206 +#: pg_backup_tar.c:202 #, c-format msgid "could not open TOC file \"%s\" for input: %m" msgstr "kunde inte öppna TOC-fil \"%s\" för läsning: %m" -#: pg_backup_tar.c:213 +#: pg_backup_tar.c:209 #, c-format msgid "could not open TOC file for input: %m" msgstr "kunde inte öppna TOC-fil för läsning: %m" -#: pg_backup_tar.c:322 +#: pg_backup_tar.c:318 #, c-format msgid "could not find file \"%s\" in archive" msgstr "kunde inte hitta fil \"%s\" i arkiv" -#: pg_backup_tar.c:382 +#: pg_backup_tar.c:378 #, c-format msgid "could not generate temporary file name: %m" msgstr "kunde inte generera temporärt filnamn: %m" -#: pg_backup_tar.c:623 +#: pg_backup_tar.c:619 #, c-format msgid "unexpected COPY statement syntax: \"%s\"" msgstr "oväntad COPY-satssyntax: \"%s\"" -#: pg_backup_tar.c:888 +#: pg_backup_tar.c:903 #, c-format msgid "invalid OID for large object (%u)" msgstr "ogiltig OID för stort objekt (%u)" -#: pg_backup_tar.c:1033 +#: pg_backup_tar.c:1048 #, c-format msgid "could not close temporary file: %m" msgstr "kunde inte stänga temporär fil: %m" -#: pg_backup_tar.c:1036 +#: pg_backup_tar.c:1051 #, c-format msgid "actual file length (%lld) does not match expected (%lld)" msgstr "verklig fillängd (%lld) matchar inte det förväntade (%lld)" -#: pg_backup_tar.c:1082 pg_backup_tar.c:1113 +#: pg_backup_tar.c:1097 pg_backup_tar.c:1128 #, c-format msgid "could not find header for file \"%s\" in tar archive" msgstr "kunde inte hitta filhuvud för fil \"%s\" i tar-arkiv" -#: pg_backup_tar.c:1100 +#: pg_backup_tar.c:1115 #, c-format msgid "restoring data out of order is not supported in this archive format: \"%s\" is required, but comes before \"%s\" in the archive file." msgstr "dumpa data i oordning stöds inte av detta arkivformat: \"%s\" krävs, men kommer före \"%s\" i denna arkivfil." -#: pg_backup_tar.c:1147 +#: pg_backup_tar.c:1162 #, c-format msgid "incomplete tar header found (%lu byte)" msgid_plural "incomplete tar header found (%lu bytes)" msgstr[0] "inkomplett tar-huvud hittat (%lu byte)" msgstr[1] "inkomplett tar-huvud hittat (%lu bytes)" -#: pg_backup_tar.c:1186 +#: pg_backup_tar.c:1201 #, c-format msgid "corrupt tar header found in %s (expected %d, computed %d) file position %llu" msgstr "trasigt tar-huvud hittat i %s (förväntade %d, beräknad %d) filposition %llu" @@ -1335,10 +1463,10 @@ msgstr "trasigt tar-huvud hittat i %s (förväntade %d, beräknad %d) filpositio msgid "unrecognized section name: \"%s\"" msgstr "okänt sektionsnamn: \"%s\"" -#: pg_backup_utils.c:55 pg_dump.c:662 pg_dump.c:679 pg_dumpall.c:365 -#: pg_dumpall.c:375 pg_dumpall.c:383 pg_dumpall.c:391 pg_dumpall.c:398 -#: pg_dumpall.c:408 pg_dumpall.c:483 pg_restore.c:291 pg_restore.c:307 -#: pg_restore.c:321 +#: 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 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Försök med \"%s --help\" för mer information." @@ -1348,82 +1476,82 @@ msgstr "Försök med \"%s --help\" för mer information." msgid "out of on_exit_nicely slots" msgstr "slut på on_exit_nicely-slottar" -#: pg_dump.c:677 pg_dumpall.c:373 pg_restore.c:305 +#: pg_dump.c:709 pg_dumpall.c:378 pg_restore.c:321 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "för många kommandoradsargument (första är \"%s\")" -#: pg_dump.c:696 pg_restore.c:328 +#: pg_dump.c:728 pg_restore.c:344 #, c-format msgid "options -s/--schema-only and -a/--data-only cannot be used together" msgstr "flaggorna \"bara schema\" (-s) och \"bara data\" (-a) kan inte användas tillsammans" -#: pg_dump.c:699 +#: pg_dump.c:731 #, c-format msgid "options -s/--schema-only and --include-foreign-data cannot be used together" msgstr "flaggorna -s/--schema-only och --include-foreign-data kan inte användas tillsammans" -#: pg_dump.c:702 +#: pg_dump.c:734 #, c-format msgid "option --include-foreign-data is not supported with parallel backup" msgstr "flaggan --include-foreign-data stöds inte med parallell backup" -#: pg_dump.c:705 pg_restore.c:331 +#: pg_dump.c:737 pg_restore.c:347 #, c-format msgid "options -c/--clean and -a/--data-only cannot be used together" msgstr "flaggorna \"nollställ\" (-c) och \"bara data\" (-a) kan inte användas tillsammans" -#: pg_dump.c:708 pg_dumpall.c:403 pg_restore.c:356 +#: pg_dump.c:740 pg_dumpall.c:408 pg_restore.c:375 #, c-format msgid "option --if-exists requires option -c/--clean" msgstr "flaggan --if-exists kräver flaggan -c/--clean" -#: pg_dump.c:715 +#: pg_dump.c:747 #, c-format msgid "option --on-conflict-do-nothing requires option --inserts, --rows-per-insert, or --column-inserts" msgstr "flagga --on-conflict-do-nothing kräver --inserts, --rows-per-insert eller --column-inserts" -#: pg_dump.c:744 +#: pg_dump.c:776 #, c-format msgid "unrecognized compression algorithm: \"%s\"" msgstr "okänd komprimeringsalgoritm: \"%s\"" -#: pg_dump.c:751 +#: pg_dump.c:783 #, c-format msgid "invalid compression specification: %s" msgstr "ogiltig inställning för komprimering: %s" -#: pg_dump.c:764 +#: pg_dump.c:796 #, c-format msgid "compression option \"%s\" is not currently supported by pg_dump" msgstr "komprimeringsflaggan \"%s\" stöds inte än av pg_dump" -#: pg_dump.c:776 +#: pg_dump.c:808 #, c-format msgid "parallel backup only supported by the directory format" msgstr "parallell backup stöds bara med katalogformat" -#: pg_dump.c:822 +#: pg_dump.c:854 #, c-format msgid "last built-in OID is %u" msgstr "sista inbyggda OID är %u" -#: pg_dump.c:831 +#: pg_dump.c:863 #, c-format msgid "no matching schemas were found" msgstr "hittade inga matchande scheman" -#: pg_dump.c:848 +#: pg_dump.c:880 #, c-format msgid "no matching tables were found" msgstr "hittade inga matchande tabeller" -#: pg_dump.c:876 +#: pg_dump.c:908 #, c-format msgid "no matching extensions were found" msgstr "hittade inga matchande utökningar" -#: pg_dump.c:1056 +#: pg_dump.c:1092 #, c-format msgid "" "%s dumps a database as a text file or to other formats.\n" @@ -1432,17 +1560,17 @@ msgstr "" "%s dumpar en databas som en textfil eller i andra format.\n" "\n" -#: pg_dump.c:1057 pg_dumpall.c:630 pg_restore.c:433 +#: pg_dump.c:1093 pg_dumpall.c:635 pg_restore.c:452 #, c-format msgid "Usage:\n" msgstr "Användning:\n" -#: pg_dump.c:1058 +#: pg_dump.c:1094 #, c-format msgid " %s [OPTION]... [DBNAME]\n" msgstr " %s [FLAGGA]... [DBNAMN]\n" -#: pg_dump.c:1060 pg_dumpall.c:633 pg_restore.c:436 +#: pg_dump.c:1096 pg_dumpall.c:638 pg_restore.c:455 #, c-format msgid "" "\n" @@ -1451,12 +1579,12 @@ msgstr "" "\n" "Allmänna flaggor:\n" -#: pg_dump.c:1061 +#: pg_dump.c:1097 #, c-format msgid " -f, --file=FILENAME output file or directory name\n" msgstr " -f, --file=FILENAME fil eller katalognamn för utdata\n" -#: pg_dump.c:1062 +#: pg_dump.c:1098 #, c-format msgid "" " -F, --format=c|d|t|p output file format (custom, directory, tar,\n" @@ -1465,22 +1593,22 @@ msgstr "" " -F, --format=c|d|t|p utdatans filformat (egen (c), katalog (d), tar (t),\n" " ren text (p) (standard))\n" -#: pg_dump.c:1064 +#: pg_dump.c:1100 #, c-format msgid " -j, --jobs=NUM use this many parallel jobs to dump\n" msgstr " -j, --jobs=NUM använd så här många parellella job för att dumpa\n" -#: pg_dump.c:1065 pg_dumpall.c:635 +#: pg_dump.c:1101 pg_dumpall.c:640 #, c-format msgid " -v, --verbose verbose mode\n" msgstr " -v, --verbose visa mer information\n" -#: pg_dump.c:1066 pg_dumpall.c:636 +#: pg_dump.c:1102 pg_dumpall.c:641 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version visa versionsinformation, avsluta sedan\n" -#: pg_dump.c:1067 +#: pg_dump.c:1103 #, c-format msgid "" " -Z, --compress=METHOD[:DETAIL]\n" @@ -1489,22 +1617,27 @@ msgstr "" " -Z, --compress=METOD[:DETALJ]\n" " komprimera som angivet\n" -#: pg_dump.c:1069 pg_dumpall.c:637 +#: pg_dump.c:1105 pg_dumpall.c:642 #, c-format msgid " --lock-wait-timeout=TIMEOUT fail after waiting TIMEOUT for a table lock\n" msgstr " --lock-wait-timeout=TIMEOUT misslyckas efter att ha väntat i TIMEOUT på tabellås\n" -#: pg_dump.c:1070 pg_dumpall.c:664 +#: pg_dump.c:1106 pg_dumpall.c:670 #, c-format msgid " --no-sync do not wait for changes to be written safely to disk\n" msgstr " --no-sync vänta inte på att ändingar säkert skrivits till disk\n" -#: pg_dump.c:1071 pg_dumpall.c:638 +#: pg_dump.c:1107 +#, c-format +msgid " --sync-method=METHOD set method for syncing files to disk\n" +msgstr " --sync-method=METOD sätt synkmetod för att synka filer till disk\n" + +#: pg_dump.c:1108 pg_dumpall.c:643 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help visa denna hjälp, avsluta sedan\n" -#: pg_dump.c:1073 pg_dumpall.c:639 +#: pg_dump.c:1110 pg_dumpall.c:644 #, c-format msgid "" "\n" @@ -1513,62 +1646,62 @@ msgstr "" "\n" "Flaggor som styr utmatning:\n" -#: pg_dump.c:1074 pg_dumpall.c:640 +#: pg_dump.c:1111 pg_dumpall.c:645 #, c-format msgid " -a, --data-only dump only the data, not the schema\n" msgstr " -a, --data-only dumpa bara data, inte schema\n" -#: pg_dump.c:1075 +#: pg_dump.c:1112 #, c-format msgid " -b, --large-objects include large objects in dump\n" msgstr " -b, --large-objects inkludera stora objekt i dumpen\n" -#: pg_dump.c:1076 +#: pg_dump.c:1113 #, c-format msgid " --blobs (same as --large-objects, deprecated)\n" msgstr " --blobs (samma som --large-objects, obsolet)\n" -#: pg_dump.c:1077 +#: pg_dump.c:1114 #, c-format msgid " -B, --no-large-objects exclude large objects in dump\n" msgstr " -B, --no-large-objects exkludera stora objekt i dumpen\n" -#: pg_dump.c:1078 +#: pg_dump.c:1115 #, c-format msgid " --no-blobs (same as --no-large-objects, deprecated)\n" msgstr " --no-blobs (samma som --no-large-objects, obsolet)\n" -#: pg_dump.c:1079 pg_restore.c:447 +#: pg_dump.c:1116 pg_restore.c:466 #, c-format msgid " -c, --clean clean (drop) database objects before recreating\n" msgstr " -c, --clean nollställ (drop) databasobjekt innan återskapande\n" -#: pg_dump.c:1080 +#: pg_dump.c:1117 #, c-format msgid " -C, --create include commands to create database in dump\n" msgstr " -C, --create inkludera kommandon för att skapa databasen i dumpen\n" -#: pg_dump.c:1081 +#: pg_dump.c:1118 #, c-format msgid " -e, --extension=PATTERN dump the specified extension(s) only\n" msgstr " -e, --extension=MALL dumpa bara de angivna utökningarna\n" -#: pg_dump.c:1082 pg_dumpall.c:642 +#: pg_dump.c:1119 pg_dumpall.c:647 #, c-format msgid " -E, --encoding=ENCODING dump the data in encoding ENCODING\n" msgstr " -E, --encoding=KODNING dumpa data i teckenkodning KODNING\n" -#: pg_dump.c:1083 +#: pg_dump.c:1120 #, c-format msgid " -n, --schema=PATTERN dump the specified schema(s) only\n" msgstr " -n, --schema=MALL dumpa bara de angivna scheman\n" -#: pg_dump.c:1084 +#: pg_dump.c:1121 #, c-format msgid " -N, --exclude-schema=PATTERN do NOT dump the specified schema(s)\n" msgstr " -N, --exclude-schema=MALL dumpa INTE de angivna scheman\n" -#: pg_dump.c:1085 +#: pg_dump.c:1122 #, c-format msgid "" " -O, --no-owner skip restoration of object ownership in\n" @@ -1577,52 +1710,52 @@ msgstr "" " -O, --no-owner hoppa över återställande av objektägare i\n" " textformatdumpar\n" -#: pg_dump.c:1087 pg_dumpall.c:646 +#: pg_dump.c:1124 pg_dumpall.c:651 #, c-format msgid " -s, --schema-only dump only the schema, no data\n" msgstr " -s, --schema-only dumpa bara scheman, inte data\n" -#: pg_dump.c:1088 +#: pg_dump.c:1125 #, c-format msgid " -S, --superuser=NAME superuser user name to use in plain-text format\n" msgstr " -S, --superuser=NAME namn på superuser för textformatdumpar\n" -#: pg_dump.c:1089 +#: pg_dump.c:1126 #, c-format msgid " -t, --table=PATTERN dump only the specified table(s)\n" msgstr " -t, --table=MALL dumpa bara de angivna tabellerna\n" -#: pg_dump.c:1090 +#: pg_dump.c:1127 #, c-format msgid " -T, --exclude-table=PATTERN do NOT dump the specified table(s)\n" msgstr " -T, --exclude-table=MALL dumpa INTE de angivna tabellerna\n" -#: pg_dump.c:1091 pg_dumpall.c:649 +#: pg_dump.c:1128 pg_dumpall.c:654 #, c-format msgid " -x, --no-privileges do not dump privileges (grant/revoke)\n" msgstr " -x, --no-privileges dumpa inte rättigheter (grant/revoke)\n" -#: pg_dump.c:1092 pg_dumpall.c:650 +#: pg_dump.c:1129 pg_dumpall.c:655 #, c-format msgid " --binary-upgrade for use by upgrade utilities only\n" msgstr " --binary-upgrade används bara av uppgraderingsverktyg\n" -#: pg_dump.c:1093 pg_dumpall.c:651 +#: pg_dump.c:1130 pg_dumpall.c:656 #, c-format msgid " --column-inserts dump data as INSERT commands with column names\n" msgstr " --column-inserts dumpa data som INSERT med kolumnnamn\n" -#: pg_dump.c:1094 pg_dumpall.c:652 +#: pg_dump.c:1131 pg_dumpall.c:657 #, c-format msgid " --disable-dollar-quoting disable dollar quoting, use SQL standard quoting\n" msgstr " --disable-dollar-quoting slå av dollar-citering, använd standard SQL-citering\n" -#: pg_dump.c:1095 pg_dumpall.c:653 pg_restore.c:464 +#: pg_dump.c:1132 pg_dumpall.c:658 pg_restore.c:483 #, c-format msgid " --disable-triggers disable triggers during data-only restore\n" msgstr " --disable-triggers slå av triggrar vid återställning av enbart data\n" -#: pg_dump.c:1096 +#: pg_dump.c:1133 #, c-format msgid "" " --enable-row-security enable row security (dump only content user has\n" @@ -1631,7 +1764,12 @@ msgstr "" " --enable-row-security slå på radsäkerhet (dumpa bara data användaren\n" " har rätt till)\n" -#: pg_dump.c:1098 +#: pg_dump.c:1135 +#, c-format +msgid " --exclude-extension=PATTERN do NOT dump the specified extension(s)\n" +msgstr " --exclude-extension=MALL dumpa INTE de angivna utökningarna\n" + +#: pg_dump.c:1136 #, c-format msgid "" " --exclude-table-and-children=PATTERN\n" @@ -1642,12 +1780,12 @@ msgstr "" " dumpa INTE angivna tabeller, inklusive\n" " barn och partitionstabeller\n" -#: pg_dump.c:1101 +#: pg_dump.c:1139 #, c-format msgid " --exclude-table-data=PATTERN do NOT dump data for the specified table(s)\n" msgstr " --exclude-table-data=MALL dumpa INTE data för de angivna tabellerna\n" -#: pg_dump.c:1102 +#: pg_dump.c:1140 #, c-format msgid "" " --exclude-table-data-and-children=PATTERN\n" @@ -1658,17 +1796,27 @@ msgstr "" " dumpa INTE data för angivna tabeller,\n" " inklusive barn och partitionstabeller\n" -#: pg_dump.c:1105 pg_dumpall.c:655 +#: pg_dump.c:1143 pg_dumpall.c:660 #, c-format msgid " --extra-float-digits=NUM override default setting for extra_float_digits\n" msgstr " --extra-float-digits=NUM övertrumfa standardinställningen för extra_float_digits\n" -#: pg_dump.c:1106 pg_dumpall.c:656 pg_restore.c:466 +#: pg_dump.c:1144 +#, c-format +msgid "" +" --filter=FILENAME include or exclude objects and data from dump\n" +" based on expressions in FILENAME\n" +msgstr "" +" --filter=FILENAMN inkludera eller exkludera objekt och data\n" +" från dump baserat på uttryck i FILNAMN\n" +"\n" + +#: pg_dump.c:1146 pg_dumpall.c:662 pg_restore.c:487 #, c-format msgid " --if-exists use IF EXISTS when dropping objects\n" msgstr " --if-exists använd IF EXISTS när objekt droppas\n" -#: pg_dump.c:1107 +#: pg_dump.c:1147 #, c-format msgid "" " --include-foreign-data=PATTERN\n" @@ -1679,87 +1827,87 @@ msgstr "" " inkludera data i främmande tabeller från\n" " främmande servrar som matchar MALL\n" -#: pg_dump.c:1110 pg_dumpall.c:657 +#: pg_dump.c:1150 pg_dumpall.c:663 #, c-format msgid " --inserts dump data as INSERT commands, rather than COPY\n" msgstr " --inserts dumpa data som INSERT, istället för COPY\n" -#: pg_dump.c:1111 pg_dumpall.c:658 +#: pg_dump.c:1151 pg_dumpall.c:664 #, c-format msgid " --load-via-partition-root load partitions via the root table\n" msgstr " --load-via-partition-root ladda partitioner via root-tabellen\n" -#: pg_dump.c:1112 pg_dumpall.c:659 +#: pg_dump.c:1152 pg_dumpall.c:665 #, c-format msgid " --no-comments do not dump comments\n" msgstr " --no-comments dumpa inte kommentarer\n" -#: pg_dump.c:1113 pg_dumpall.c:660 +#: pg_dump.c:1153 pg_dumpall.c:666 #, c-format msgid " --no-publications do not dump publications\n" msgstr " --no-publications dumpa inte publiceringar\n" -#: pg_dump.c:1114 pg_dumpall.c:662 +#: pg_dump.c:1154 pg_dumpall.c:668 #, c-format msgid " --no-security-labels do not dump security label assignments\n" msgstr " --no-security-labels dumpa inte tilldelning av säkerhetsetiketter\n" -#: pg_dump.c:1115 pg_dumpall.c:663 +#: pg_dump.c:1155 pg_dumpall.c:669 #, c-format msgid " --no-subscriptions do not dump subscriptions\n" msgstr " --no-subscriptions dumpa inte prenumereringar\n" -#: pg_dump.c:1116 pg_dumpall.c:665 +#: pg_dump.c:1156 pg_dumpall.c:671 #, c-format msgid " --no-table-access-method do not dump table access methods\n" msgstr " --no-table-access-method dumpa inte tabellaccessmetoder\n" -#: pg_dump.c:1117 pg_dumpall.c:666 +#: pg_dump.c:1157 pg_dumpall.c:672 #, c-format msgid " --no-tablespaces do not dump tablespace assignments\n" msgstr " --no-tablespaces dumpa inte användning av tabellutymmen\n" -#: pg_dump.c:1118 pg_dumpall.c:667 +#: pg_dump.c:1158 pg_dumpall.c:673 #, c-format msgid " --no-toast-compression do not dump TOAST compression methods\n" msgstr " --no-toast-compression dumpa inte komprimeringsmetoder för TOAST\n" -#: pg_dump.c:1119 pg_dumpall.c:668 +#: pg_dump.c:1159 pg_dumpall.c:674 #, c-format msgid " --no-unlogged-table-data do not dump unlogged table data\n" msgstr " --no-unlogged-table-data dumpa inte ologgad tabelldata\n" -#: pg_dump.c:1120 pg_dumpall.c:669 +#: pg_dump.c:1160 pg_dumpall.c:675 #, c-format msgid " --on-conflict-do-nothing add ON CONFLICT DO NOTHING to INSERT commands\n" msgstr " --on-conflict-do-nothing addera ON CONFLICT DO NOTHING till INSERT-kommandon\n" -#: pg_dump.c:1121 pg_dumpall.c:670 +#: pg_dump.c:1161 pg_dumpall.c:676 #, c-format msgid " --quote-all-identifiers quote all identifiers, even if not key words\n" msgstr " --quote-all-identifiers citera alla identifierar, även om de inte är nyckelord\n" -#: pg_dump.c:1122 pg_dumpall.c:671 +#: pg_dump.c:1162 pg_dumpall.c:677 #, c-format msgid " --rows-per-insert=NROWS number of rows per INSERT; implies --inserts\n" msgstr " --rows-per-insert=NRADER antal rader per INSERT; implicerar --inserts\n" -#: pg_dump.c:1123 +#: pg_dump.c:1163 #, c-format msgid " --section=SECTION dump named section (pre-data, data, or post-data)\n" msgstr " --section=SEKTION dumpa namngiven sektion (pre-data, data eller post-data)\n" -#: pg_dump.c:1124 +#: pg_dump.c:1164 #, c-format msgid " --serializable-deferrable wait until the dump can run without anomalies\n" msgstr " --serializable-deferrable wait until the dump can run without anomalies\n" -#: pg_dump.c:1125 +#: pg_dump.c:1165 #, c-format msgid " --snapshot=SNAPSHOT use given snapshot for the dump\n" msgstr " --snapshot=SNAPSHOT använda namngivet snapshot för att dumpa\n" -#: pg_dump.c:1126 pg_restore.c:476 +#: pg_dump.c:1166 pg_restore.c:497 #, c-format msgid "" " --strict-names require table and/or schema include patterns to\n" @@ -1768,7 +1916,7 @@ msgstr "" " --strict-names kräv att mallar för tabeller och/eller scheman matchar\n" " minst en sak var\n" -#: pg_dump.c:1128 +#: pg_dump.c:1168 #, c-format msgid "" " --table-and-children=PATTERN dump only the specified table(s), including\n" @@ -1777,7 +1925,7 @@ msgstr "" " --table-and-children=MALL dumpa bara angivna tabell(er), inklusive\n" " barn och partitionstabeller\n" -#: pg_dump.c:1130 pg_dumpall.c:672 pg_restore.c:478 +#: pg_dump.c:1170 pg_dumpall.c:678 pg_restore.c:500 #, c-format msgid "" " --use-set-session-authorization\n" @@ -1788,7 +1936,7 @@ msgstr "" " använd kommandot SET SESSION AUTHORIZATION istället för\n" " kommandot ALTER OWNER för att sätta ägare\n" -#: pg_dump.c:1134 pg_dumpall.c:676 pg_restore.c:482 +#: pg_dump.c:1174 pg_dumpall.c:682 pg_restore.c:504 #, c-format msgid "" "\n" @@ -1797,42 +1945,42 @@ msgstr "" "\n" "Flaggor för anslutning:\n" -#: pg_dump.c:1135 +#: pg_dump.c:1175 #, c-format msgid " -d, --dbname=DBNAME database to dump\n" msgstr " -d, --dbname=DBNAMN databasens som skall dumpas\n" -#: pg_dump.c:1136 pg_dumpall.c:678 pg_restore.c:483 +#: pg_dump.c:1176 pg_dumpall.c:684 pg_restore.c:505 #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr " -h, --host=VÄRDNAMN databasens värdnamn eller socketkatalog\n" -#: pg_dump.c:1137 pg_dumpall.c:680 pg_restore.c:484 +#: pg_dump.c:1177 pg_dumpall.c:686 pg_restore.c:506 #, c-format msgid " -p, --port=PORT database server port number\n" msgstr " -p, --port=PORT databasens värdport\n" -#: pg_dump.c:1138 pg_dumpall.c:681 pg_restore.c:485 +#: pg_dump.c:1178 pg_dumpall.c:687 pg_restore.c:507 #, c-format msgid " -U, --username=NAME connect as specified database user\n" msgstr " -U, --username=NAMN anslut med datta användarnamn mot databasen\n" -#: pg_dump.c:1139 pg_dumpall.c:682 pg_restore.c:486 +#: pg_dump.c:1179 pg_dumpall.c:688 pg_restore.c:508 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password fråga aldrig efter lösenord\n" -#: pg_dump.c:1140 pg_dumpall.c:683 pg_restore.c:487 +#: pg_dump.c:1180 pg_dumpall.c:689 pg_restore.c:509 #, c-format msgid " -W, --password force password prompt (should happen automatically)\n" msgstr " -W, --password fråga om lösenord (borde ske automatiskt)\n" -#: pg_dump.c:1141 pg_dumpall.c:684 +#: pg_dump.c:1181 pg_dumpall.c:690 #, c-format msgid " --role=ROLENAME do SET ROLE before dump\n" msgstr " --role=ROLLNAMN gör SET ROLE innan dumpen\n" -#: pg_dump.c:1143 +#: pg_dump.c:1183 #, c-format msgid "" "\n" @@ -1845,535 +1993,537 @@ msgstr "" "PGDATABASE att användas.\n" "\n" -#: pg_dump.c:1145 pg_dumpall.c:688 pg_restore.c:494 +#: pg_dump.c:1185 pg_dumpall.c:694 pg_restore.c:516 #, c-format msgid "Report bugs to <%s>.\n" msgstr "Rapportera fel till <%s>.\n" -#: pg_dump.c:1146 pg_dumpall.c:689 pg_restore.c:495 +#: pg_dump.c:1186 pg_dumpall.c:695 pg_restore.c:517 #, c-format msgid "%s home page: <%s>\n" msgstr "hemsida för %s: <%s>\n" -#: pg_dump.c:1165 pg_dumpall.c:513 +#: pg_dump.c:1205 pg_dumpall.c:518 #, c-format msgid "invalid client encoding \"%s\" specified" msgstr "ogiltig klientteckenkodning \"%s\" angiven" -#: pg_dump.c:1303 +#: pg_dump.c:1352 #, c-format msgid "parallel dumps from standby servers are not supported by this server version" msgstr "parallella dumpar från standby-server stöds inte av denna serverversion" -#: pg_dump.c:1368 +#: pg_dump.c:1417 #, c-format msgid "invalid output format \"%s\" specified" msgstr "ogiltigt utdataformat \"%s\" angivet" -#: pg_dump.c:1409 pg_dump.c:1465 pg_dump.c:1518 pg_dumpall.c:1449 +#: pg_dump.c:1458 pg_dump.c:1514 pg_dump.c:1567 pg_dumpall.c:1467 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "ej korrekt kvalificerat namn (för många namn med punkt): %s" -#: pg_dump.c:1417 +#: pg_dump.c:1466 #, c-format msgid "no matching schemas were found for pattern \"%s\"" msgstr "hittade inga matchande scheman för mallen \"%s\"" -#: pg_dump.c:1470 +#: pg_dump.c:1519 #, c-format msgid "no matching extensions were found for pattern \"%s\"" msgstr "hittade inga matchande utökningar för mallen \"%s\"" -#: pg_dump.c:1523 +#: pg_dump.c:1572 #, c-format msgid "no matching foreign servers were found for pattern \"%s\"" msgstr "hittade inga matchande främmande servrar för mallen \"%s\"" -#: pg_dump.c:1594 +#: pg_dump.c:1643 #, c-format msgid "improper relation name (too many dotted names): %s" msgstr "ej korrekt relationsnamn (för många namn med punkt): %s" -#: pg_dump.c:1616 +#: pg_dump.c:1665 #, c-format msgid "no matching tables were found for pattern \"%s\"" msgstr "hittade inga matchande tabeller för mallen \"%s\"" -#: pg_dump.c:1643 +#: pg_dump.c:1692 #, c-format msgid "You are currently not connected to a database." msgstr "Du är för närvarande inte uppkopplad mot en databas." -#: pg_dump.c:1646 +#: pg_dump.c:1695 #, c-format msgid "cross-database references are not implemented: %s" msgstr "referenser till andra databaser är inte implementerat: %s" -#: pg_dump.c:2077 +#: pg_dump.c:2154 #, c-format msgid "dumping contents of table \"%s.%s\"" msgstr "dumpar innehållet i tabell \"%s.%s\"" -#: pg_dump.c:2183 +#: pg_dump.c:2264 #, c-format msgid "Dumping the contents of table \"%s\" failed: PQgetCopyData() failed." msgstr "Dumpning av innehållet i tabellen \"%s\" misslyckades: PQendcopy() misslyckades." -#: pg_dump.c:2184 pg_dump.c:2194 +#: pg_dump.c:2265 pg_dump.c:2275 #, c-format msgid "Error message from server: %s" msgstr "Felmeddelandet från servern: %s" -#: pg_dump.c:2185 pg_dump.c:2195 +#: pg_dump.c:2266 pg_dump.c:2276 #, c-format msgid "Command was: %s" msgstr "Kommandot var: %s" -#: pg_dump.c:2193 +#: pg_dump.c:2274 #, c-format msgid "Dumping the contents of table \"%s\" failed: PQgetResult() failed." msgstr "Dumpning av innehållet i tabellen \"%s\" misslyckades: PQgetResult() misslyckades." -#: pg_dump.c:2275 +#: pg_dump.c:2365 #, c-format msgid "wrong number of fields retrieved from table \"%s\"" msgstr "fel antal fält hämtades för tabell \"%s\"" -#: pg_dump.c:2973 +#: pg_dump.c:3067 #, c-format msgid "saving database definition" msgstr "sparar databasdefinition" -#: pg_dump.c:3078 +#: pg_dump.c:3176 #, c-format msgid "unrecognized locale provider: %s" msgstr "okänd lokalleverantör: %s" -#: pg_dump.c:3429 +#: pg_dump.c:3537 #, c-format msgid "saving encoding = %s" msgstr "sparar kodning = %s" -#: pg_dump.c:3454 +#: pg_dump.c:3562 #, c-format -msgid "saving standard_conforming_strings = %s" -msgstr "sparar standard_conforming_strings = %s" +msgid "saving \"standard_conforming_strings = %s\"" +msgstr "sparar \"standard_conforming_strings = %s\"" -#: pg_dump.c:3493 +#: pg_dump.c:3601 #, c-format msgid "could not parse result of current_schemas()" msgstr "kunde inte parsa resultat från current_schemas()" -#: pg_dump.c:3512 +#: pg_dump.c:3620 #, c-format -msgid "saving search_path = %s" -msgstr "sparar search_path = %s" +msgid "saving \"search_path = %s\"" +msgstr "sparar \"search_path = %s\"" -#: pg_dump.c:3549 +#: pg_dump.c:3656 #, c-format msgid "reading large objects" msgstr "läser stora objekt" -#: pg_dump.c:3687 +#: pg_dump.c:3877 #, c-format -msgid "saving large objects" -msgstr "sparar stora objekt" +msgid "saving large objects \"%s\"" +msgstr "sparar stora objekt \"%s\"" -#: pg_dump.c:3728 +#: pg_dump.c:3898 #, c-format msgid "error reading large object %u: %s" msgstr "fel vid läsning av stort objekt %u: %s" -#: pg_dump.c:3834 +#: pg_dump.c:4001 #, c-format msgid "reading row-level security policies" msgstr "läser säkerhetspolicy på radnivå" -#: pg_dump.c:3975 +#: pg_dump.c:4142 #, c-format msgid "unexpected policy command type: %c" msgstr "oväntad kommandotyp för policy: %c" -#: pg_dump.c:4425 pg_dump.c:4760 pg_dump.c:11984 pg_dump.c:17894 -#: pg_dump.c:17896 pg_dump.c:18517 +#: pg_dump.c:4592 pg_dump.c:5150 pg_dump.c:12362 pg_dump.c:18246 +#: pg_dump.c:18248 pg_dump.c:18870 #, c-format msgid "could not parse %s array" msgstr "kunde inte parsa arrayen %s" -#: pg_dump.c:4613 +#: pg_dump.c:4806 #, c-format msgid "subscriptions not dumped because current user is not a superuser" msgstr "prenumerationer har inte dumpats få aktuell användare inte är en superuser" -#: pg_dump.c:5149 +#: pg_dump.c:5012 +#, c-format +msgid "subscription with OID %u does not exist" +msgstr "prenumeration med OID %u existerar inte" + +#: pg_dump.c:5019 +#, c-format +msgid "failed sanity check, table with OID %u not found" +msgstr "misslyckades med riktighetskontroll, hittade inte tabell med OID %u" + +#: pg_dump.c:5582 #, c-format msgid "could not find parent extension for %s %s" msgstr "kunde inte hitta föräldrautökning för %s %s" -#: pg_dump.c:5294 +#: pg_dump.c:5727 #, c-format msgid "schema with OID %u does not exist" msgstr "schema med OID %u existerar inte" -#: pg_dump.c:6776 pg_dump.c:17158 +#: pg_dump.c:7209 pg_dump.c:17617 #, c-format msgid "failed sanity check, parent table with OID %u of sequence with OID %u not found" msgstr "misslyckades med riktighetskontroll, föräldratabell med OID %u för sekvens med OID %u hittas inte" -#: pg_dump.c:6919 +#: pg_dump.c:7352 #, c-format msgid "failed sanity check, table OID %u appearing in pg_partitioned_table not found" msgstr "misslyckades med riktighetskontroll, hittade inte tabell med OID %u i pg_partitioned_table" -#: pg_dump.c:7150 pg_dump.c:7417 pg_dump.c:7888 pg_dump.c:8552 pg_dump.c:8671 -#: pg_dump.c:8819 +#: pg_dump.c:7583 pg_dump.c:7857 pg_dump.c:8304 pg_dump.c:8918 pg_dump.c:9040 +#: pg_dump.c:9188 #, c-format msgid "unrecognized table OID %u" msgstr "okänt tabell-OID %u" -#: pg_dump.c:7154 +#: pg_dump.c:7587 #, c-format msgid "unexpected index data for table \"%s\"" msgstr "oväntat indexdata för tabell \"%s\"" -#: pg_dump.c:7649 +#: pg_dump.c:8089 #, c-format msgid "failed sanity check, parent table with OID %u of pg_rewrite entry with OID %u not found" msgstr "misslyckades med riktighetskontroll, föräldratabell med OID %u för pg_rewrite-rad med OID %u hittades inte" -#: pg_dump.c:7940 -#, c-format -msgid "query produced null referenced table name for foreign key trigger \"%s\" on table \"%s\" (OID of table: %u)" -msgstr "fråga producerade null som refererad tabell för främmande nyckel-trigger \"%s\" i tabell \"%s\" (OID för tabell : %u)" - -#: pg_dump.c:8556 +#: pg_dump.c:8922 #, c-format msgid "unexpected column data for table \"%s\"" msgstr "oväntad kolumndata för tabell \"%s\"" -#: pg_dump.c:8585 +#: pg_dump.c:8951 #, c-format msgid "invalid column numbering in table \"%s\"" msgstr "ogiltigt kolumnnumrering i tabell \"%s\"" -#: pg_dump.c:8633 +#: pg_dump.c:9002 #, c-format msgid "finding table default expressions" msgstr "hittar tabellers default-uttryck" -#: pg_dump.c:8675 +#: pg_dump.c:9044 #, c-format msgid "invalid adnum value %d for table \"%s\"" msgstr "felaktigt adnum-värde %d för tabell \"%s\"" -#: pg_dump.c:8769 +#: pg_dump.c:9138 #, c-format msgid "finding table check constraints" msgstr "hittar tabellers check-villkor" -#: pg_dump.c:8823 +#: pg_dump.c:9192 #, 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" msgstr[0] "förväntade %d check-villkor för tabell \"%s\" men hittade %d" msgstr[1] "förväntade %d check-villkor för tabell \"%s\" men hittade %d" -#: pg_dump.c:8827 +#: pg_dump.c:9196 #, c-format msgid "The system catalogs might be corrupted." msgstr "Systemkatalogerna kan vara trasiga." -#: pg_dump.c:9517 +#: pg_dump.c:9886 #, c-format msgid "role with OID %u does not exist" msgstr "roll med OID %u existerar inte" -#: pg_dump.c:9629 pg_dump.c:9658 +#: pg_dump.c:9998 pg_dump.c:10027 #, c-format msgid "unsupported pg_init_privs entry: %u %u %d" msgstr "ogiltig pg_init_privs-post: %u %u %d" -#: pg_dump.c:10479 +#: pg_dump.c:10574 +#, c-format +msgid "missing metadata for large objects \"%s\"" +msgstr "saknar metadata för stort objekt \"%s\"" + +#: pg_dump.c:10857 #, c-format msgid "typtype of data type \"%s\" appears to be invalid" msgstr "typtype för datatyp \"%s\" verkar vara ogiltig" -#: pg_dump.c:12053 +#: pg_dump.c:12431 #, c-format msgid "unrecognized provolatile value for function \"%s\"" msgstr "okänt provolatile-värde för funktion \"%s\"" -#: pg_dump.c:12103 pg_dump.c:13985 +#: pg_dump.c:12481 pg_dump.c:14377 #, c-format msgid "unrecognized proparallel value for function \"%s\"" msgstr "okänt proparallel-värde för funktion \"%s\"" -#: pg_dump.c:12233 pg_dump.c:12339 pg_dump.c:12346 +#: pg_dump.c:12611 pg_dump.c:12717 pg_dump.c:12724 #, c-format msgid "could not find function definition for function with OID %u" msgstr "kunde inte hitta funktionsdefinitionen för funktion med OID %u" -#: pg_dump.c:12272 +#: pg_dump.c:12650 #, c-format msgid "bogus value in pg_cast.castfunc or pg_cast.castmethod field" msgstr "felaktigt värde i fältet pg_cast.castfunc eller pg_cast.castmethod" -#: pg_dump.c:12275 +#: pg_dump.c:12653 #, c-format msgid "bogus value in pg_cast.castmethod field" msgstr "felaktigt värde i fältet pg_cast.castmethod" -#: pg_dump.c:12365 +#: pg_dump.c:12743 #, c-format msgid "bogus transform definition, at least one of trffromsql and trftosql should be nonzero" msgstr "felaktig transform-definition, minst en av trffromsql och trftosql måste vara ickenoll" -#: pg_dump.c:12382 +#: pg_dump.c:12760 #, c-format msgid "bogus value in pg_transform.trffromsql field" msgstr "felaktigt värde i fältet pg_transform.trffromsql" -#: pg_dump.c:12403 +#: pg_dump.c:12781 #, c-format msgid "bogus value in pg_transform.trftosql field" msgstr "felaktigt värde i fältet pg_transform.trftosql" -#: pg_dump.c:12548 +#: pg_dump.c:12926 #, c-format msgid "postfix operators are not supported anymore (operator \"%s\")" msgstr "postfix-operatorer stöds inte längre (operator \"%s\")" -#: pg_dump.c:12718 +#: pg_dump.c:13096 #, c-format msgid "could not find operator with OID %s" msgstr "kunde inte hitta en operator med OID %s." -#: pg_dump.c:12786 +#: pg_dump.c:13164 #, c-format msgid "invalid type \"%c\" of access method \"%s\"" msgstr "ogiltig typ \"%c\" för accessmetod \"%s\"" -#: pg_dump.c:13455 +#: pg_dump.c:13838 pg_dump.c:13906 #, c-format msgid "unrecognized collation provider: %s" msgstr "okänd jämförelseleverantör: %s" -#: pg_dump.c:13464 pg_dump.c:13473 pg_dump.c:13483 pg_dump.c:13498 +#: pg_dump.c:13847 pg_dump.c:13854 pg_dump.c:13865 pg_dump.c:13875 +#: pg_dump.c:13890 #, c-format msgid "invalid collation \"%s\"" msgstr "ogiltig jämförelse \"%s\"" -#: pg_dump.c:13514 -#, c-format -msgid "unrecognized collation provider '%c'" -msgstr "okänd jämförelseleverantör: '%c'" - -#: pg_dump.c:13904 +#: pg_dump.c:14296 #, c-format msgid "unrecognized aggfinalmodify value for aggregate \"%s\"" msgstr "okänt aggfinalmodify-värde för aggregat \"%s\"" -#: pg_dump.c:13960 +#: pg_dump.c:14352 #, c-format msgid "unrecognized aggmfinalmodify value for aggregate \"%s\"" msgstr "okänt aggmfinalmodify-värde för aggregat \"%s\"" -#: pg_dump.c:14677 +#: pg_dump.c:15069 #, c-format msgid "unrecognized object type in default privileges: %d" msgstr "okänd objekttyp i standardrättigheter: %d" -#: pg_dump.c:14693 +#: pg_dump.c:15085 #, c-format msgid "could not parse default ACL list (%s)" msgstr "kunde inte parsa standard-ACL-lista (%s)" -#: pg_dump.c:14775 +#: pg_dump.c:15169 #, c-format msgid "could not parse initial ACL list (%s) or default (%s) for object \"%s\" (%s)" msgstr "kunde inte parsa initial ACL-lista (%s) eller default (%s) för objekt \"%s\" (%s)" -#: pg_dump.c:14800 +#: pg_dump.c:15194 #, c-format msgid "could not parse ACL list (%s) or default (%s) for object \"%s\" (%s)" msgstr "kunde inte parsa ACL-lista (%s) eller default (%s) för objekt \"%s\" (%s)" -#: pg_dump.c:15341 +#: pg_dump.c:15737 #, c-format msgid "query to obtain definition of view \"%s\" returned no data" msgstr "fråga för att hämta definition av vy \"%s\" returnerade ingen data" -#: pg_dump.c:15344 +#: pg_dump.c:15740 #, c-format msgid "query to obtain definition of view \"%s\" returned more than one definition" msgstr "fråga för att hämta definition av vy \"%s\" returnerade mer än en definition" -#: pg_dump.c:15351 +#: pg_dump.c:15747 #, c-format msgid "definition of view \"%s\" appears to be empty (length zero)" msgstr "definition av vy \"%s\" verkar vara tom (längd noll)" -#: pg_dump.c:15435 +#: pg_dump.c:15832 #, c-format msgid "WITH OIDS is not supported anymore (table \"%s\")" msgstr "WITH OIDS stöds inte längre (tabell \"%s\")" -#: pg_dump.c:16359 +#: pg_dump.c:16819 #, c-format msgid "invalid column number %d for table \"%s\"" msgstr "ogiltigt kolumnnummer %d för tabell \"%s\"" -#: pg_dump.c:16437 +#: pg_dump.c:16897 #, c-format msgid "could not parse index statistic columns" msgstr "kunde inte parsa kolumn i indexstatistik" -#: pg_dump.c:16439 +#: pg_dump.c:16899 #, c-format msgid "could not parse index statistic values" msgstr "kunde inte parsa värden i indexstatistik" -#: pg_dump.c:16441 +#: pg_dump.c:16901 #, c-format msgid "mismatched number of columns and values for index statistics" msgstr "antal kolumner och värden stämmer inte i indexstatistik" -#: pg_dump.c:16657 +#: pg_dump.c:17116 #, c-format msgid "missing index for constraint \"%s\"" msgstr "saknar index för integritetsvillkor \"%s\"" -#: pg_dump.c:16892 +#: pg_dump.c:17351 #, c-format msgid "unrecognized constraint type: %c" msgstr "oväntad integritetsvillkorstyp: %c" -#: pg_dump.c:16993 pg_dump.c:17222 +#: pg_dump.c:17452 pg_dump.c:17681 #, 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)" msgstr[0] "fråga för att hämta data för sekvens \"%s\" returnerade %d rad (förväntade 1)" msgstr[1] "fråga för att hämta data för sekvens \"%s\" returnerade %d rader (förväntade 1)" -#: pg_dump.c:17025 +#: pg_dump.c:17484 #, c-format msgid "unrecognized sequence type: %s" msgstr "okänd sekvenstyp: %s" -#: pg_dump.c:17314 -#, c-format -msgid "unexpected tgtype value: %d" -msgstr "oväntat tgtype-värde: %d" - -#: pg_dump.c:17386 -#, c-format -msgid "invalid argument string (%s) for trigger \"%s\" on table \"%s\"" -msgstr "felaktig argumentsträng (%s) för trigger \"%s\" i tabell \"%s\"" - -#: pg_dump.c:17655 +#: pg_dump.c:17998 #, c-format msgid "query to get rule \"%s\" for table \"%s\" failed: wrong number of rows returned" msgstr "fråga för att hämta regel \"%s\" för tabell \"%s\" misslyckades: fel antal rader returnerades" -#: pg_dump.c:17808 +#: pg_dump.c:18151 #, c-format msgid "could not find referenced extension %u" msgstr "kunde inte hitta refererad utökning %u" -#: pg_dump.c:17898 +#: pg_dump.c:18250 #, c-format msgid "mismatched number of configurations and conditions for extension" msgstr "antal konfigurationer och villkor stämmer inte för utökning" -#: pg_dump.c:18030 +#: pg_dump.c:18382 #, c-format msgid "reading dependency data" msgstr "läser beroendedata" -#: pg_dump.c:18116 +#: pg_dump.c:18468 #, c-format msgid "no referencing object %u %u" msgstr "inget refererande objekt %u %u" -#: pg_dump.c:18127 +#: pg_dump.c:18479 #, c-format msgid "no referenced object %u %u" msgstr "inget refererat objekt %u %u" -#: pg_dump_sort.c:422 +#: pg_dump.c:18904 pg_dump.c:18942 pg_dumpall.c:1962 pg_restore.c:551 +#: pg_restore.c:597 +#, c-format +msgid "%s filter for \"%s\" is not allowed" +msgstr "%s-filter för \"%s\" tillåts inte" + +#: pg_dump_sort.c:424 #, c-format msgid "invalid dumpId %d" msgstr "ogiltigt dumpId %d" -#: pg_dump_sort.c:428 +#: pg_dump_sort.c:430 #, c-format msgid "invalid dependency %d" msgstr "ogiltigt beroende %d" -#: pg_dump_sort.c:661 +#: pg_dump_sort.c:594 #, c-format msgid "could not identify dependency loop" msgstr "kunde inte fastställa beroendeloop" -#: pg_dump_sort.c:1276 +#: pg_dump_sort.c:1209 #, 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] "det finns cirkulära främmande nyckelberoenden för denna tabell:" msgstr[1] "det finns cirkulära främmande nyckelberoenden för dessa tabeller:" -#: pg_dump_sort.c:1281 +#: pg_dump_sort.c:1214 #, c-format msgid "You might not be able to restore the dump without using --disable-triggers or temporarily dropping the constraints." msgstr "Du kan eventiellt inte återställa dumpen utan att använda --disable-triggers eller temporärt droppa vilkoren." -#: pg_dump_sort.c:1282 +#: pg_dump_sort.c:1215 #, c-format msgid "Consider using a full dump instead of a --data-only dump to avoid this problem." msgstr "Överväg att göra en full dump istället för --data-only för att undvika detta problem." -#: pg_dump_sort.c:1294 +#: pg_dump_sort.c:1227 #, c-format msgid "could not resolve dependency loop among these items:" msgstr "kunde inte räta ut beroendeloopen för dessa saker:" -#: pg_dumpall.c:230 +#: pg_dumpall.c:231 #, 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_dumpall.c:233 +#: pg_dumpall.c:234 #, 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_dumpall.c:382 +#: pg_dumpall.c:387 #, c-format msgid "option --exclude-database cannot be used together with -g/--globals-only, -r/--roles-only, or -t/--tablespaces-only" msgstr "flaggan --exclude-database kan inte användas tillsammans med -g/--globals-only, -r/--roles-only eller -t/--tablespaces-only" -#: pg_dumpall.c:390 +#: pg_dumpall.c:395 #, c-format msgid "options -g/--globals-only and -r/--roles-only cannot be used together" msgstr "flaggorna \"bara gobala\" (-g) och \"bara roller\" (-r) kan inte användas tillsammans" -#: pg_dumpall.c:397 +#: pg_dumpall.c:402 #, c-format msgid "options -g/--globals-only and -t/--tablespaces-only cannot be used together" msgstr "flaggorna \"bara globala\" (-g) och \"bara tabellutrymmen\" (-t) kan inte användas tillsammans" -#: pg_dumpall.c:407 +#: pg_dumpall.c:412 #, c-format msgid "options -r/--roles-only and -t/--tablespaces-only cannot be used together" msgstr "flaggorna \"bara roller\" (-r) och \"bara tabellutrymmen\" (-t) kan inte användas tillsammans" -#: pg_dumpall.c:469 pg_dumpall.c:1750 +#: pg_dumpall.c:474 pg_dumpall.c:1771 #, c-format msgid "could not connect to database \"%s\"" msgstr "kunde inte ansluta till databasen \"%s\"" -#: pg_dumpall.c:481 +#: pg_dumpall.c:486 #, c-format msgid "" "could not connect to databases \"postgres\" or \"template1\"\n" @@ -2382,7 +2532,7 @@ msgstr "" "kunde inte ansluta till databasen \"postgres\" eller \"template1\"\n" "Ange en annan databas." -#: pg_dumpall.c:629 +#: pg_dumpall.c:634 #, c-format msgid "" "%s extracts a PostgreSQL database cluster into an SQL script file.\n" @@ -2391,67 +2541,72 @@ msgstr "" "%s extraherar ett PostgreSQL databaskluster till en SQL-scriptfil.\n" "\n" -#: pg_dumpall.c:631 +#: pg_dumpall.c:636 #, c-format msgid " %s [OPTION]...\n" msgstr " %s [FLAGGA]...\n" -#: pg_dumpall.c:634 +#: pg_dumpall.c:639 #, c-format msgid " -f, --file=FILENAME output file name\n" msgstr " -f, --file=FILENAME utdatafilnamn\n" -#: pg_dumpall.c:641 +#: pg_dumpall.c:646 #, c-format msgid " -c, --clean clean (drop) databases before recreating\n" msgstr " -c, --clean nollställ (drop) databaser innan återskapning\n" -#: pg_dumpall.c:643 +#: pg_dumpall.c:648 #, c-format msgid " -g, --globals-only dump only global objects, no databases\n" msgstr " -g, --globals-only dumpa bara globala objekt, inte databaser\n" -#: pg_dumpall.c:644 pg_restore.c:456 +#: pg_dumpall.c:649 pg_restore.c:475 #, c-format msgid " -O, --no-owner skip restoration of object ownership\n" msgstr " -O, --no-owner återställ inte objektägare\n" -#: pg_dumpall.c:645 +#: pg_dumpall.c:650 #, c-format msgid " -r, --roles-only dump only roles, no databases or tablespaces\n" msgstr " -r, --roles-only dumpa endast roller, inte databaser eller tabellutrymmen\n" -#: pg_dumpall.c:647 +#: pg_dumpall.c:652 #, c-format msgid " -S, --superuser=NAME superuser user name to use in the dump\n" msgstr " -S, --superuser=NAMN namn på superuser för användning i dumpen\n" -#: pg_dumpall.c:648 +#: pg_dumpall.c:653 #, c-format msgid " -t, --tablespaces-only dump only tablespaces, no databases or roles\n" msgstr " -t, --tablespaces-only dumpa endasdt tabellutrymmen, inte databaser eller roller\n" -#: pg_dumpall.c:654 +#: pg_dumpall.c:659 #, c-format msgid " --exclude-database=PATTERN exclude databases whose name matches PATTERN\n" msgstr " --exclude-database=MALL uteslut databaser vars namn matchar MALL\n" #: pg_dumpall.c:661 #, c-format +msgid " --filter=FILENAME exclude databases based on expressions in FILENAME\n" +msgstr " --filter=FILENAMN exkludera databaser givet uttryck i FILENAMN\n" + +#: pg_dumpall.c:667 +#, c-format msgid " --no-role-passwords do not dump passwords for roles\n" msgstr " --no-role-passwords dumpa inte lösenord för roller\n" -#: pg_dumpall.c:677 +#: pg_dumpall.c:683 #, c-format msgid " -d, --dbname=CONNSTR connect using connection string\n" msgstr " -d, --dbname=ANSLSTR anslut med anslutningssträng\n" -#: pg_dumpall.c:679 +#: pg_dumpall.c:685 #, c-format msgid " -l, --database=DBNAME alternative default database\n" msgstr " -l, --database=DBNAMN alternativ standarddatabas\n" -#: pg_dumpall.c:686 +#: pg_dumpall.c:692 #, c-format msgid "" "\n" @@ -2463,97 +2618,106 @@ msgstr "" "Om -f/--file inte används så kommer SQL-skriptet skriva till standard ut.\n" "\n" -#: pg_dumpall.c:828 +#: pg_dumpall.c:837 #, c-format msgid "role name starting with \"pg_\" skipped (%s)" msgstr "rollnamn som startar med \"pg_\" hoppas över (%s)" -#: pg_dumpall.c:1050 +#: pg_dumpall.c:1059 #, c-format msgid "could not find a legal dump ordering for memberships in role \"%s\"" msgstr "kunde inte hitta en korrekt dumpordning för medlemskap i rollen \"%s\"" -#: pg_dumpall.c:1185 +#: pg_dumpall.c:1194 #, c-format msgid "could not parse ACL list (%s) for parameter \"%s\"" msgstr "kunde inte parsa ACL-listan (%s) för parameter \"%s\"" -#: pg_dumpall.c:1303 +#: pg_dumpall.c:1321 #, c-format msgid "could not parse ACL list (%s) for tablespace \"%s\"" msgstr "kunde inte tolka ACL-listan (%s) för tabellutrymme \"%s\"" -#: pg_dumpall.c:1510 +#: pg_dumpall.c:1528 #, c-format msgid "excluding database \"%s\"" msgstr "utesluter databas \"%s\"" -#: pg_dumpall.c:1514 +#: pg_dumpall.c:1532 #, c-format msgid "dumping database \"%s\"" msgstr "dumpar databas \"%s\"" -#: pg_dumpall.c:1545 +#: pg_dumpall.c:1563 #, c-format msgid "pg_dump failed on database \"%s\", exiting" msgstr "pg_dump misslyckades med databas \"%s\", avslutar" -#: pg_dumpall.c:1551 +#: pg_dumpall.c:1569 #, c-format msgid "could not re-open the output file \"%s\": %m" msgstr "kunde inte öppna om utdatafilen \"%s\": %m" -#: pg_dumpall.c:1592 +#: pg_dumpall.c:1613 #, c-format msgid "running \"%s\"" msgstr "kör \"%s\"" -#: pg_dumpall.c:1793 +#: pg_dumpall.c:1814 #, c-format msgid "could not get server version" msgstr "kunde inte hämta serverversionen" -#: pg_dumpall.c:1796 +#: pg_dumpall.c:1817 #, c-format msgid "could not parse server version \"%s\"" msgstr "kunde inte tolka versionsträngen \"%s\"" -#: pg_dumpall.c:1866 pg_dumpall.c:1889 +#: pg_dumpall.c:1887 pg_dumpall.c:1910 #, c-format msgid "executing %s" msgstr "kör: %s" -#: pg_restore.c:313 +#: pg_dumpall.c:1982 +msgid "unsupported filter object" +msgstr "filterobjektet stöds inte" + +#: pg_restore.c:329 #, c-format msgid "one of -d/--dbname and -f/--file must be specified" msgstr "en av flaggorna -d/--dbname och -f/--file måste anges" -#: pg_restore.c:320 +#: pg_restore.c:336 #, c-format msgid "options -d/--dbname and -f/--file cannot be used together" msgstr "flaggorna -d/--dbname och -f/--file kan inte användas ihop" -#: pg_restore.c:338 +#: pg_restore.c:350 +#, c-format +msgid "options -1/--single-transaction and --transaction-size cannot be used together" +msgstr "flaggorna -1/--single-transaction och --transaction-size kan inte användas tillsammans" + +#: pg_restore.c:357 #, c-format msgid "options -C/--create and -1/--single-transaction cannot be used together" msgstr "flaggorna -C/--create och -1/--single-transaction kan inte användas tillsammans" -#: pg_restore.c:342 +#: pg_restore.c:361 #, c-format msgid "cannot specify both --single-transaction and multiple jobs" msgstr "kan inte ange både --single-transaction och multipla job" -#: pg_restore.c:380 +#: pg_restore.c:399 #, c-format msgid "unrecognized archive format \"%s\"; please specify \"c\", \"d\", or \"t\"" msgstr "okänt arkivformat \"%s\"; vänligen ange \"c\", \"d\" eller \"t\"" -#: pg_restore.c:419 +#: pg_restore.c:438 #, c-format msgid "errors ignored on restore: %d" msgstr "fel ignorerade vid återställande: %d" -#: pg_restore.c:432 +#: pg_restore.c:451 #, c-format msgid "" "%s restores a PostgreSQL database from an archive created by pg_dump.\n" @@ -2562,47 +2726,47 @@ msgstr "" "%s återställer en PostgreSQL-databas från ett arkiv skapat av pg_dump.\n" "\n" -#: pg_restore.c:434 +#: pg_restore.c:453 #, c-format msgid " %s [OPTION]... [FILE]\n" msgstr " %s [FLAGGA]... [FIL]\n" -#: pg_restore.c:437 +#: pg_restore.c:456 #, c-format msgid " -d, --dbname=NAME connect to database name\n" msgstr " -d, --dbname=NAMN koppla upp med databasnamn\n" -#: pg_restore.c:438 +#: pg_restore.c:457 #, c-format msgid " -f, --file=FILENAME output file name (- for stdout)\n" msgstr " -f, --file=FILNAMN utdatafilnamn (- för stdout)\n" -#: pg_restore.c:439 +#: pg_restore.c:458 #, c-format msgid " -F, --format=c|d|t backup file format (should be automatic)\n" msgstr " -F, --format=c|d|t backupens filformat (bör ske automatiskt)\n" -#: pg_restore.c:440 +#: pg_restore.c:459 #, c-format msgid " -l, --list print summarized TOC of the archive\n" msgstr " -l, --list skriv ut summerad TOC för arkivet\n" -#: pg_restore.c:441 +#: pg_restore.c:460 #, c-format msgid " -v, --verbose verbose mode\n" msgstr " -v, --verbose visa mer information\n" -#: pg_restore.c:442 +#: pg_restore.c:461 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version visa versionsinformation, avsluta sedan\n" -#: pg_restore.c:443 +#: pg_restore.c:462 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help visa denna hjälp, avsluta sedan\n" -#: pg_restore.c:445 +#: pg_restore.c:464 #, c-format msgid "" "\n" @@ -2611,32 +2775,32 @@ msgstr "" "\n" "Flaggor som styr återställning:\n" -#: pg_restore.c:446 +#: pg_restore.c:465 #, c-format msgid " -a, --data-only restore only the data, no schema\n" msgstr " -a, --data-only återställ bara data, inte scheman\n" -#: pg_restore.c:448 +#: pg_restore.c:467 #, c-format msgid " -C, --create create the target database\n" msgstr " -C, --create skapa måldatabasen\n" -#: pg_restore.c:449 +#: pg_restore.c:468 #, c-format msgid " -e, --exit-on-error exit on error, default is to continue\n" msgstr " -e, --exit-on-error avsluta vid fel, standard är att fortsätta\n" -#: pg_restore.c:450 +#: pg_restore.c:469 #, c-format msgid " -I, --index=NAME restore named index\n" msgstr " -I, --index=NAMN återställ namngivet index\n" -#: pg_restore.c:451 +#: pg_restore.c:470 #, c-format msgid " -j, --jobs=NUM use this many parallel jobs to restore\n" msgstr " -j, --jobs=NUM använda så här många parallella job för återställning\n" -#: pg_restore.c:452 +#: pg_restore.c:471 #, c-format msgid "" " -L, --use-list=FILENAME use table of contents from this file for\n" @@ -2645,62 +2809,71 @@ msgstr "" " -L, --use-list=FILNAMN använd innehållsförteckning från denna fil för\n" " att välja/sortera utdata\n" -#: pg_restore.c:454 +#: pg_restore.c:473 #, c-format msgid " -n, --schema=NAME restore only objects in this schema\n" msgstr " -n, --schema=NAMN återställ enbart objekt i detta schema\n" -#: pg_restore.c:455 +#: pg_restore.c:474 #, c-format msgid " -N, --exclude-schema=NAME do not restore objects in this schema\n" msgstr " -N, --exclude-schema=NAMN återställ inte objekt i detta schema\n" -#: pg_restore.c:457 +#: pg_restore.c:476 #, c-format msgid " -P, --function=NAME(args) restore named function\n" msgstr " -P, --function=NAMN(arg) återställ namngiven funktion\n" -#: pg_restore.c:458 +#: pg_restore.c:477 #, c-format msgid " -s, --schema-only restore only the schema, no data\n" msgstr " -s, --schema-only återställ bara scheman, inte data\n" -#: pg_restore.c:459 +#: pg_restore.c:478 #, c-format msgid " -S, --superuser=NAME superuser user name to use for disabling triggers\n" msgstr " -S, --superuser=NAMN namn på superuser för att slå av triggrar\n" -#: pg_restore.c:460 +#: pg_restore.c:479 #, c-format msgid " -t, --table=NAME restore named relation (table, view, etc.)\n" msgstr " -t, --table=NAMN återställ namngiven relation (tabell, vy, osv.)\n" -#: pg_restore.c:461 +#: pg_restore.c:480 #, c-format msgid " -T, --trigger=NAME restore named trigger\n" msgstr " -T, --trigger=NAMN återställ namngiven trigger\n" -#: pg_restore.c:462 +#: pg_restore.c:481 #, c-format msgid " -x, --no-privileges skip restoration of access privileges (grant/revoke)\n" msgstr " -x, --no-privileges återställ inte åtkomsträttigheter (grant/revoke)\n" -#: pg_restore.c:463 +#: pg_restore.c:482 #, c-format msgid " -1, --single-transaction restore as a single transaction\n" msgstr " -1, --single-transaction återställ i en enda transaktion\n" -#: pg_restore.c:465 +#: pg_restore.c:484 #, c-format msgid " --enable-row-security enable row security\n" msgstr " --enable-row-security aktivera radsäkerhet\n" -#: pg_restore.c:467 +#: pg_restore.c:485 +#, c-format +msgid "" +" --filter=FILENAME restore or skip objects based on expressions\n" +" in FILENAME\n" +msgstr "" +" --filter=FILENAMN återställ eller hoppa över objekt\n" +" baserat på uttryck i FILENAMN\n" + +#: pg_restore.c:488 #, c-format msgid " --no-comments do not restore comments\n" msgstr " --no-comments återställ inte kommentarer\n" -#: pg_restore.c:468 +#: pg_restore.c:489 #, c-format msgid "" " --no-data-for-failed-tables do not restore data of tables that could not be\n" @@ -2709,42 +2882,47 @@ msgstr "" " --no-data-for-failed-tables återställ inte data för tabeller som\n" " inte kunde skapas\n" -#: pg_restore.c:470 +#: pg_restore.c:491 #, c-format msgid " --no-publications do not restore publications\n" msgstr " --no-publications återställ inte publiceringar\n" -#: pg_restore.c:471 +#: pg_restore.c:492 #, c-format msgid " --no-security-labels do not restore security labels\n" msgstr " --no-security-labels återställ inte säkerhetsetiketter\n" -#: pg_restore.c:472 +#: pg_restore.c:493 #, c-format msgid " --no-subscriptions do not restore subscriptions\n" msgstr " --no-subscriptions återställ inte prenumerationer\n" -#: pg_restore.c:473 +#: pg_restore.c:494 #, c-format msgid " --no-table-access-method do not restore table access methods\n" msgstr " --no-table-access-method återställ inte tabellaccessmetoder\n" -#: pg_restore.c:474 +#: pg_restore.c:495 #, c-format msgid " --no-tablespaces do not restore tablespace assignments\n" msgstr " --no-tablespaces återställ inte användning av tabellutymmen\n" -#: pg_restore.c:475 +#: pg_restore.c:496 #, c-format msgid " --section=SECTION restore named section (pre-data, data, or post-data)\n" msgstr " --section=SEKTION återställ namngiven sektion (pre-data, data eller post-data)\n" -#: pg_restore.c:488 +#: pg_restore.c:499 +#, c-format +msgid " --transaction-size=N commit after every N objects\n" +msgstr " --transaction-size=N gör commit efter var N:e objekt\n" + +#: pg_restore.c:510 #, c-format msgid " --role=ROLENAME do SET ROLE before restore\n" msgstr " --role=ROLENAME gör SET ROLE innan återställning\n" -#: pg_restore.c:490 +#: pg_restore.c:512 #, c-format msgid "" "\n" @@ -2755,7 +2933,7 @@ msgstr "" "Flaggorna -I, -n, -N, -P, -t, -T och --section kan kombineras och anges\n" "många gånger för att välja flera objekt.\n" -#: pg_restore.c:493 +#: pg_restore.c:515 #, c-format msgid "" "\n" @@ -2765,55 +2943,3 @@ msgstr "" "\n" "Om inget indatafilnamn är angivet, så kommer standard in att användas.\n" "\n" - -#, c-format -#~ msgid " %s" -#~ msgstr " %s" - -#, c-format -#~ msgid " -Z, --compress=0-9 compression level for compressed formats\n" -#~ msgstr " -Z, --compress=0-9 komprimeringsnivå för komprimerade format\n" - -#, c-format -#~ msgid "cannot restore from compressed archive (compression not supported in this installation)" -#~ msgstr "kan inte återställa från komprimerat arkiv (inte konfigurerad med stöd för komprimering)" - -#, c-format -#~ msgid "could not change directory to \"%s\": %m" -#~ msgstr "kunde inte byta katalog till \"%s\": %m" - -#, c-format -#~ msgid "could not close blob data file: %m" -#~ msgstr "kan inte stänga blobbars datafil: %m" - -#, c-format -#~ msgid "could not close blobs TOC file: %m" -#~ msgstr "kunde inte stänga blobbars TOC-fil: %m" - -#, c-format -#~ msgid "could not identify current directory: %m" -#~ msgstr "kunde inte identifiera aktuell katalog: %m" - -#, c-format -#~ msgid "could not read binary \"%s\"" -#~ msgstr "kunde inte läsa binär \"%s\"" - -#, c-format -#~ msgid "could not read symbolic link \"%s\": %m" -#~ msgstr "kan inte läsa symbolisk länk \"%s\": %m" - -#, c-format -#~ msgid "invalid binary \"%s\"" -#~ msgstr "ogiltig binär \"%s\"" - -#, c-format -#~ msgid "invalid compression code: %d" -#~ msgstr "ogiltig komprimeringskod: %d" - -#, c-format -#~ msgid "not built with zlib support" -#~ msgstr "ej byggt med zlib-stöd" - -#, c-format -#~ msgid "requested compression not available in this installation -- archive will be uncompressed" -#~ msgstr "efterfrågad komprimering finns inte i denna installation -- arkivet kommer sparas okomprimerat" diff --git a/src/bin/pg_dump/po/uk.po b/src/bin/pg_dump/po/uk.po index 7a6315d2d4f..f92561f2eb4 100644 --- a/src/bin/pg_dump/po/uk.po +++ b/src/bin/pg_dump/po/uk.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: postgresql\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-12-17 22:20+0000\n" -"PO-Revision-Date: 2023-12-19 15:37\n" +"POT-Creation-Date: 2024-09-23 10:51+0000\n" +"PO-Revision-Date: 2024-09-23 19:38\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -14,8 +14,8 @@ msgstr "" "X-Crowdin-Project: postgresql\n" "X-Crowdin-Project-ID: 324573\n" "X-Crowdin-Language: uk\n" -"X-Crowdin-File: /REL_16_STABLE/pg_dump.pot\n" -"X-Crowdin-File-ID: 945\n" +"X-Crowdin-File: /REL_17_STABLE/pg_dump.pot\n" +"X-Crowdin-File-ID: 986\n" #: ../../../src/common/logging.c:276 #, c-format @@ -89,32 +89,47 @@ msgstr "алгоритм стиснення \"%s\" не приймає кіль msgid "compression algorithm \"%s\" does not support long-distance mode" msgstr "алгоритм стиснення \"%s\" не підтримує режим довгої відстані" -#: ../../common/exec.c:172 +#: ../../common/exec.c:174 #, c-format msgid "invalid binary \"%s\": %m" msgstr "невірний бінарний файл \"%s\": %m" -#: ../../common/exec.c:215 +#: ../../common/exec.c:217 #, c-format msgid "could not read binary \"%s\": %m" msgstr "не вдалося прочитати бінарний файл \"%s\": %m" -#: ../../common/exec.c:223 +#: ../../common/exec.c:225 #, c-format msgid "could not find a \"%s\" to execute" msgstr "неможливо знайти \"%s\" для виконання" -#: ../../common/exec.c:250 +#: ../../common/exec.c:252 #, c-format msgid "could not resolve path \"%s\" to absolute form: %m" msgstr "не вдалося знайти абсолютний шлях \"%s\": %m" -#: ../../common/exec.c:412 parallel.c:1609 +#: ../../common/exec.c:382 +#, c-format +msgid "could not execute command \"%s\": %m" +msgstr "не вдалося виконати команду \"%s\": %m" + +#: ../../common/exec.c:394 +#, c-format +msgid "could not read from command \"%s\": %m" +msgstr "не вдалося прочитати висновок команди \"%s\": %m" + +#: ../../common/exec.c:397 +#, c-format +msgid "no data was returned by command \"%s\"" +msgstr "команда \"%s\" не повернула жодних даних" + +#: ../../common/exec.c:424 parallel.c:1609 #, c-format msgid "%s() failed: %m" msgstr "%s() помилка: %m" -#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687 +#: ../../common/exec.c:562 ../../common/exec.c:607 ../../common/exec.c:699 msgid "out of memory" msgstr "недостатньо пам'яті" @@ -129,6 +144,49 @@ msgstr "недостатньо пам'яті\n" msgid "cannot duplicate null pointer (internal error)\n" msgstr "неможливо дублювати нульовий покажчик (внутрішня помилка)\n" +#: ../../common/file_utils.c:70 ../../common/file_utils.c:347 +#: ../../common/file_utils.c:406 ../../common/file_utils.c:480 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "не можливо відкрити файл \"%s\": %m" + +#: ../../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\": %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 +#, c-format +msgid "could not open directory \"%s\": %m" +msgstr "не вдалося відкрити каталог \"%s\": %m" + +#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 +#: pg_backup_directory.c:182 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "не вдалося прочитати каталог \"%s\": %m" + +#: ../../common/file_utils.c:418 ../../common/file_utils.c:488 +#, c-format +msgid "could not fsync file \"%s\": %m" +msgstr "не вдалося fsync файл \"%s\": %m" + +#: ../../common/file_utils.c:498 +#, c-format +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "не вдалося перейменувати файл \"%s\" на \"%s\": %m" + #: ../../common/wait_error.c:55 #, c-format msgid "command not executable" @@ -169,227 +227,247 @@ msgstr "неприпустиме значення \"%s\" для параметр msgid "%s must be in range %d..%d" msgstr "%s має бути в діапазоні %d..%d" -#: common.c:132 +#: ../../fe_utils/option_utils.c:106 +#, c-format +msgid "unrecognized sync method: %s" +msgstr "нерозпізнаний метод синхронізації: %s" + +#: ../../fe_utils/string_utils.c:434 +#, c-format +msgid "shell command argument contains a newline or carriage return: \"%s\"\n" +msgstr "аргумент командної оболонки містить символ нового рядка або повернення каретки: \"%s\"\n" + +#: ../../fe_utils/string_utils.c:607 +#, c-format +msgid "database name contains a newline or carriage return: \"%s\"\n" +msgstr "назва бази даних містить символ нового рядка або повернення каретки: \"%s\"\n" + +#: common.c:135 #, c-format msgid "reading extensions" msgstr "читання розширень" -#: common.c:135 +#: common.c:138 #, c-format msgid "identifying extension members" msgstr "ідентифікація членів розширення" -#: common.c:138 +#: common.c:141 #, c-format msgid "reading schemas" msgstr "читання схемів" -#: common.c:147 +#: common.c:150 #, c-format msgid "reading user-defined tables" msgstr "читання користувацьких таблиць" -#: common.c:152 +#: common.c:155 #, c-format msgid "reading user-defined functions" msgstr "читання користувацьких функцій" -#: common.c:156 +#: common.c:159 #, c-format msgid "reading user-defined types" msgstr "читання користувацьких типів" -#: common.c:160 +#: common.c:163 #, c-format msgid "reading procedural languages" msgstr "читання процедурних мов" -#: common.c:163 +#: common.c:166 #, c-format msgid "reading user-defined aggregate functions" msgstr "читання користувацьких агрегатних функцій" -#: common.c:166 +#: common.c:169 #, c-format msgid "reading user-defined operators" msgstr "читання користувацьких операторів" -#: common.c:169 +#: common.c:172 #, c-format msgid "reading user-defined access methods" msgstr "читання користувацьких методів доступу" -#: common.c:172 +#: common.c:175 #, c-format msgid "reading user-defined operator classes" msgstr "читання користувацьких класів операторів" -#: common.c:175 +#: common.c:178 #, c-format msgid "reading user-defined operator families" msgstr "читання користувацьких сімейств операторів" -#: common.c:178 +#: common.c:181 #, c-format msgid "reading user-defined text search parsers" msgstr "читання користувацьких парсерів текстового пошуку" -#: common.c:181 +#: common.c:184 #, c-format msgid "reading user-defined text search templates" msgstr "читання користувацьких шаблонів текстового пошуку" -#: common.c:184 +#: common.c:187 #, c-format msgid "reading user-defined text search dictionaries" msgstr "читання користувацьких словників текстового пошуку" -#: common.c:187 +#: common.c:190 #, c-format msgid "reading user-defined text search configurations" msgstr "читання користувацьких конфігурацій текстового пошуку" -#: common.c:190 +#: common.c:193 #, c-format msgid "reading user-defined foreign-data wrappers" msgstr "читання користувацьких джерел сторонніх даних" -#: common.c:193 +#: common.c:196 #, c-format msgid "reading user-defined foreign servers" msgstr "читання користувацьких сторонніх серверів" -#: common.c:196 +#: common.c:199 #, c-format msgid "reading default privileges" msgstr "читання прав за замовчуванням" -#: common.c:199 +#: common.c:202 #, c-format msgid "reading user-defined collations" msgstr "читання користувацьких сортувань" -#: common.c:202 +#: common.c:205 #, c-format msgid "reading user-defined conversions" msgstr "читання користувацьких перетворень" -#: common.c:205 +#: common.c:208 #, c-format msgid "reading type casts" msgstr "читання типу приведення" -#: common.c:208 +#: common.c:211 #, c-format msgid "reading transforms" msgstr "читання перетворень" -#: common.c:211 +#: common.c:214 #, c-format msgid "reading table inheritance information" msgstr "читання інформації про успадкування таблиці" -#: common.c:214 +#: common.c:217 #, c-format msgid "reading event triggers" msgstr "читання тригерів подій" -#: common.c:218 +#: common.c:221 #, c-format msgid "finding extension tables" msgstr "пошук таблиць розширень" -#: common.c:222 +#: common.c:225 #, c-format msgid "finding inheritance relationships" msgstr "пошук відносин успадкування" -#: common.c:225 +#: common.c:228 #, c-format msgid "reading column info for interesting tables" msgstr "читання інформації про стовпці цікавлячої таблиці" -#: common.c:228 +#: common.c:231 #, c-format msgid "flagging inherited columns in subtables" msgstr "помітка успадкованих стовпців в підтаблицях" -#: common.c:231 +#: common.c:234 #, c-format msgid "reading partitioning data" msgstr "читання даних секції" -#: common.c:234 +#: common.c:237 #, c-format msgid "reading indexes" msgstr "читання індексів" -#: common.c:237 +#: common.c:240 #, c-format msgid "flagging indexes in partitioned tables" msgstr "помітка індексів в секційних таблицях" -#: common.c:240 +#: common.c:243 #, c-format msgid "reading extended statistics" msgstr "читання розширеної статистики" -#: common.c:243 +#: common.c:246 #, c-format msgid "reading constraints" msgstr "читання обмежень" -#: common.c:246 +#: common.c:249 #, c-format msgid "reading triggers" msgstr "читання тригерів" -#: common.c:249 +#: common.c:252 #, c-format msgid "reading rewrite rules" msgstr "читання правил перезаписування" -#: common.c:252 +#: common.c:255 #, c-format msgid "reading policies" msgstr "читання політик" -#: common.c:255 +#: common.c:258 #, c-format msgid "reading publications" msgstr "читання публікацій" -#: common.c:258 +#: common.c:261 #, c-format msgid "reading publication membership of tables" msgstr "читання членства публікації для таблиць" -#: common.c:261 +#: common.c:264 #, c-format msgid "reading publication membership of schemas" msgstr "читання членства публікації для схем" -#: common.c:264 +#: common.c:267 #, c-format msgid "reading subscriptions" msgstr "читання підписок" -#: common.c:327 +#: common.c:270 +#, c-format +msgid "reading subscription membership of tables" +msgstr "читання підписки членства таблиць" + +#: common.c:333 #, c-format msgid "failed sanity check, parent OID %u of table \"%s\" (OID %u) not found" msgstr "помилка перевірки, батьківський елемент ідентифікатора OID %u для таблиці \"%s\" (ідентифікатор OID %u) не знайдено" -#: common.c:369 +#: common.c:375 #, c-format msgid "invalid number of parents %d for table \"%s\"" msgstr "неприпустиме число батьківських елементів %d для таблиці \"%s\"" -#: common.c:1049 +#: common.c:1098 #, c-format msgid "could not parse numeric array \"%s\": too many numbers" msgstr "не вдалося проаналізувати числовий масив \"%s\": забагато чисел" -#: common.c:1061 +#: common.c:1110 #, c-format msgid "could not parse numeric array \"%s\": invalid character in number" msgstr "не вдалося проаналізувати числовий масив \"%s\": неприпустимий характер числа" @@ -419,15 +497,20 @@ msgstr "не вдалося розпакувати дані: %s" msgid "could not close compression library: %s" msgstr "не вдалося закрити бібліотеку стиснення: %s" -#: compress_gzip.c:266 compress_gzip.c:295 compress_lz4.c:608 -#: compress_lz4.c:628 compress_lz4.c:647 compress_none.c:97 compress_none.c:140 +#: compress_gzip.c:266 compress_lz4.c:608 compress_lz4.c:628 compress_lz4.c:647 #, c-format msgid "could not read from input file: %s" msgstr "не вдалося прочитати з вхідного файлу: %s" -#: compress_gzip.c:297 compress_lz4.c:630 compress_none.c:142 -#: compress_zstd.c:371 pg_backup_custom.c:653 pg_backup_directory.c:558 -#: pg_backup_tar.c:725 pg_backup_tar.c:748 +#: compress_gzip.c:295 compress_none.c:97 compress_none.c:139 +#: compress_zstd.c:373 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:371 pg_backup_custom.c:649 pg_backup_directory.c:565 +#: pg_backup_tar.c:740 pg_backup_tar.c:763 #, c-format msgid "could not read from input file: end of file" msgstr "не вдалося прочитати з вхідного файлу: кінець файлу" @@ -478,16 +561,61 @@ msgstr "не вдалося ініціалізувати бібліотеку с msgid "could not decompress data: %s" msgstr "не вдалося розпакувати дані: %s" -#: compress_zstd.c:373 pg_backup_custom.c:655 -#, c-format -msgid "could not read from input file: %m" -msgstr "не вдалося прочитати з вхідного файлу: %m" - #: compress_zstd.c:501 #, c-format msgid "unhandled mode \"%s\"" msgstr "непідтримуваний режим \"%s\"" +#: filter.c:49 +#, c-format +msgid "could not open filter file \"%s\": %m" +msgstr "не вдалося відкрити файл фільтра \"%s\": %m" + +#: filter.c:72 +#, c-format +msgid "could not close filter file \"%s\": %m" +msgstr "не вдалося закрити файл фільтра \"%s\": %m" + +#: filter.c:165 +#, c-format +msgid "invalid format in filter read from standard input on line %d: %s" +msgstr "неприпустимий формат у фільтрі прочитаний з стандартного введення в рядку %d: %s" + +#: filter.c:168 +#, c-format +msgid "invalid format in filter read from file \"%s\" on line %d: %s" +msgstr "неприпустимий формат прочитанний у файлі \"%s\" в рядку %d: %s" + +#: filter.c:241 filter.c:468 +#, c-format +msgid "could not read from filter file \"%s\": %m" +msgstr "не вдалося прочитати з файлу фільтра %s: %m" + +#: filter.c:244 +msgid "unexpected end of file" +msgstr "несподіваний кінець файлу" + +#: filter.c:311 +msgid "missing object name pattern" +msgstr "відсутній шаблон назви об'єкта" + +#: filter.c:422 +msgid "no filter command found (expected \"include\" or \"exclude\")" +msgstr "не знайдено команди фільтрів (очікувалося \"include\" або \"exclude\")" + +#: filter.c:433 +msgid "invalid filter command (expected \"include\" or \"exclude\")" +msgstr "неприпустима команда фільтра (очікувалась \"include\" або \"exclude\")" + +#: filter.c:440 +msgid "missing filter object type" +msgstr "відсутній тип об'єкту фільтру" + +#: filter.c:447 +#, c-format +msgid "unsupported filter object type: \"%.*s\"" +msgstr "непідтримуваний тип об'єкта фільтру: \"%.*s\"" + #: parallel.c:251 #, c-format msgid "%s() failed: error code %d" @@ -565,117 +693,117 @@ msgstr "pgpipe: не вдалося зв'язатися з сокетом: ко msgid "pgpipe: could not accept connection: error code %d" msgstr "pgpipe: не вдалося прийняти зв'язок: код помилки %d" -#: pg_backup_archiver.c:276 pg_backup_archiver.c:1603 +#: pg_backup_archiver.c:261 pg_backup_archiver.c:1706 #, c-format msgid "could not close output file: %m" msgstr "не вдалося закрити вихідний файл: %m" -#: pg_backup_archiver.c:320 pg_backup_archiver.c:324 +#: pg_backup_archiver.c:305 pg_backup_archiver.c:309 #, c-format msgid "archive items not in correct section order" msgstr "елементи архіву в неправильному порядку" -#: pg_backup_archiver.c:330 +#: pg_backup_archiver.c:315 #, c-format msgid "unexpected section code %d" msgstr "неочікуваний код розділу %d" -#: pg_backup_archiver.c:367 +#: pg_backup_archiver.c:352 #, c-format msgid "parallel restore is not supported with this archive file format" msgstr "паралельне відновлення не підтримується з цим файлом архівного формату" -#: pg_backup_archiver.c:371 +#: pg_backup_archiver.c:356 #, c-format msgid "parallel restore is not supported with archives made by pre-8.0 pg_dump" msgstr "паралельне відновлення не підтримується з архівами, зробленими pre-8.0 pg_dump" -#: pg_backup_archiver.c:392 +#: pg_backup_archiver.c:377 #, c-format msgid "cannot restore from compressed archive (%s)" msgstr "не можна відновити зі стиснутого архіву (%s)" -#: pg_backup_archiver.c:412 +#: pg_backup_archiver.c:397 #, c-format msgid "connecting to database for restore" msgstr "підключення до бази даних для відновлення" -#: pg_backup_archiver.c:414 +#: pg_backup_archiver.c:399 #, c-format msgid "direct database connections are not supported in pre-1.3 archives" msgstr "прямі з'днання з базою даних не підтримуються в архівах у версіях до 1.3" -#: pg_backup_archiver.c:457 +#: pg_backup_archiver.c:442 #, c-format msgid "implied data-only restore" msgstr "мається на увазі відновлення лише даних" -#: pg_backup_archiver.c:523 +#: pg_backup_archiver.c:510 #, c-format msgid "dropping %s %s" msgstr "видалення %s %s" -#: pg_backup_archiver.c:623 +#: pg_backup_archiver.c:642 #, c-format msgid "could not find where to insert IF EXISTS in statement \"%s\"" msgstr "не вдалося знайти, куди вставити IF EXISTS в інструкції \"%s\"" -#: pg_backup_archiver.c:778 pg_backup_archiver.c:780 +#: pg_backup_archiver.c:828 pg_backup_archiver.c:830 #, c-format msgid "warning from original dump file: %s" msgstr "попередження з оригінального файлу дамп: %s" -#: pg_backup_archiver.c:795 +#: pg_backup_archiver.c:864 #, c-format msgid "creating %s \"%s.%s\"" msgstr "створення %s \"%s.%s\"" -#: pg_backup_archiver.c:798 +#: pg_backup_archiver.c:867 #, c-format msgid "creating %s \"%s\"" msgstr "створення %s \" \"%s\"" -#: pg_backup_archiver.c:848 +#: pg_backup_archiver.c:917 #, c-format msgid "connecting to new database \"%s\"" msgstr "підключення до нової бази даних \"%s\"" -#: pg_backup_archiver.c:875 +#: pg_backup_archiver.c:944 #, c-format msgid "processing %s" msgstr "обробка %s" -#: pg_backup_archiver.c:897 +#: pg_backup_archiver.c:966 #, c-format msgid "processing data for table \"%s.%s\"" msgstr "обробка даних для таблиці \"%s.%s\"" -#: pg_backup_archiver.c:967 +#: pg_backup_archiver.c:1036 #, c-format msgid "executing %s %s" msgstr "виконання %s %s" -#: pg_backup_archiver.c:1008 +#: pg_backup_archiver.c:1096 #, c-format msgid "disabling triggers for %s" msgstr "вимкнення тригерів для %s" -#: pg_backup_archiver.c:1034 +#: pg_backup_archiver.c:1122 #, c-format msgid "enabling triggers for %s" msgstr "увімкнення тригерів для %s" -#: pg_backup_archiver.c:1099 +#: pg_backup_archiver.c:1187 #, c-format msgid "internal error -- WriteData cannot be called outside the context of a DataDumper routine" msgstr "внутрішня помилка - WriteData не може бути викликана поза контекстом підпрограми DataDumper " -#: pg_backup_archiver.c:1287 +#: pg_backup_archiver.c:1379 #, c-format msgid "large-object output not supported in chosen format" msgstr "вивід великих об'єктів не підтримується у вибраному форматі" -#: pg_backup_archiver.c:1345 +#: pg_backup_archiver.c:1442 #, c-format msgid "restored %d large object" msgid_plural "restored %d large objects" @@ -684,55 +812,55 @@ msgstr[1] "відновлено %d великих об'єкти" msgstr[2] "відновлено %d великих об'єктів" msgstr[3] "відновлено %d великих об'єктів" -#: pg_backup_archiver.c:1366 pg_backup_tar.c:668 +#: pg_backup_archiver.c:1469 pg_backup_tar.c:683 #, c-format msgid "restoring large object with OID %u" msgstr "відновлення великого об'єкту з OID %u" -#: pg_backup_archiver.c:1378 +#: pg_backup_archiver.c:1481 #, c-format msgid "could not create large object %u: %s" msgstr "не вдалося створити великий об'єкт %u: %s" -#: pg_backup_archiver.c:1383 pg_dump.c:3720 +#: pg_backup_archiver.c:1486 pg_dump.c:3888 #, c-format msgid "could not open large object %u: %s" msgstr "не вдалося відкрити великий об'єкт %u: %s" -#: pg_backup_archiver.c:1439 +#: pg_backup_archiver.c:1542 #, c-format msgid "could not open TOC file \"%s\": %m" msgstr "не вдалося відкрити файл TOC \"%s\": %m" -#: pg_backup_archiver.c:1467 +#: pg_backup_archiver.c:1570 #, c-format msgid "line ignored: %s" msgstr "рядок проігноровано: %s" -#: pg_backup_archiver.c:1474 +#: pg_backup_archiver.c:1577 pg_backup_db.c:609 #, c-format msgid "could not find entry for ID %d" msgstr "не вдалося знайти введення для ID %d" -#: pg_backup_archiver.c:1497 pg_backup_directory.c:221 -#: pg_backup_directory.c:606 +#: pg_backup_archiver.c:1600 pg_backup_directory.c:219 +#: pg_backup_directory.c:613 #, c-format msgid "could not close TOC file: %m" msgstr "не вдалося закрити файл TOC: %m" -#: pg_backup_archiver.c:1584 pg_backup_custom.c:156 pg_backup_directory.c:332 -#: pg_backup_directory.c:593 pg_backup_directory.c:658 -#: pg_backup_directory.c:676 pg_dumpall.c:501 +#: 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 #, c-format msgid "could not open output file \"%s\": %m" msgstr "не вдалося відкрити вихідний файл \"%s\": %m" -#: pg_backup_archiver.c:1586 pg_backup_custom.c:162 +#: pg_backup_archiver.c:1689 pg_backup_custom.c:158 #, c-format msgid "could not open output file: %m" msgstr "не вдалося відкрити вихідний файл: %m" -#: pg_backup_archiver.c:1669 +#: pg_backup_archiver.c:1772 #, c-format msgid "wrote %zu byte of large object data (result = %d)" msgid_plural "wrote %zu bytes of large object data (result = %d)" @@ -741,340 +869,345 @@ msgstr[1] "записано %zu байти даних великого об'єк msgstr[2] "записано %zu байтів даних великого об'єкта (результат = %d)" msgstr[3] "записано %zu байтів даних великого об'єкта (результат = %d)" -#: pg_backup_archiver.c:1675 +#: pg_backup_archiver.c:1778 #, c-format msgid "could not write to large object: %s" msgstr "не вдалося записати до великого об'єкту: %s" -#: pg_backup_archiver.c:1765 +#: pg_backup_archiver.c:1868 #, c-format msgid "while INITIALIZING:" msgstr "при ІНІЦІАЛІЗАЦІЇ:" -#: pg_backup_archiver.c:1770 +#: pg_backup_archiver.c:1873 #, c-format msgid "while PROCESSING TOC:" msgstr "при ОБРОБЦІ TOC:" -#: pg_backup_archiver.c:1775 +#: pg_backup_archiver.c:1878 #, c-format msgid "while FINALIZING:" msgstr "при ЗАВЕРШЕННІ:" -#: pg_backup_archiver.c:1780 +#: pg_backup_archiver.c:1883 #, c-format msgid "from TOC entry %d; %u %u %s %s %s" msgstr "зі входження до TOC %d; %u %u %s %s %s" -#: pg_backup_archiver.c:1856 +#: pg_backup_archiver.c:1959 #, c-format msgid "bad dumpId" msgstr "невірний dumpId" -#: pg_backup_archiver.c:1877 +#: pg_backup_archiver.c:1980 #, c-format msgid "bad table dumpId for TABLE DATA item" msgstr "невірна таблиця dumpId для елементу даних таблиці" -#: pg_backup_archiver.c:1969 +#: pg_backup_archiver.c:2072 #, c-format msgid "unexpected data offset flag %d" msgstr "неочікувана позначка зсуву даних %d" -#: pg_backup_archiver.c:1982 +#: pg_backup_archiver.c:2085 #, c-format msgid "file offset in dump file is too large" msgstr "зсув файлу у файлі дампу завеликий" -#: pg_backup_archiver.c:2093 +#: pg_backup_archiver.c:2196 #, c-format msgid "directory name too long: \"%s\"" msgstr "ім'я каталогу задовге: \"%s\"" -#: pg_backup_archiver.c:2143 +#: pg_backup_archiver.c:2246 #, 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:2151 pg_backup_custom.c:173 pg_backup_custom.c:816 -#: pg_backup_directory.c:206 pg_backup_directory.c:395 +#: 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 #, c-format msgid "could not open input file \"%s\": %m" msgstr "не вдалося відкрити вхідний файл \"%s\": %m" -#: pg_backup_archiver.c:2158 pg_backup_custom.c:179 +#: pg_backup_archiver.c:2261 pg_backup_custom.c:175 #, c-format msgid "could not open input file: %m" msgstr "не вдалося відкрити вхідний файл: %m" -#: pg_backup_archiver.c:2164 +#: pg_backup_archiver.c:2267 #, c-format msgid "could not read input file: %m" msgstr "не вдалося прочитати вхідний файл: %m" -#: pg_backup_archiver.c:2166 +#: pg_backup_archiver.c:2269 #, c-format msgid "input file is too short (read %lu, expected 5)" msgstr "вхідний файл закороткий (прочитано %lu, очікувалось 5)" -#: pg_backup_archiver.c:2198 +#: pg_backup_archiver.c:2301 #, c-format msgid "input file appears to be a text format dump. Please use psql." msgstr "вхідний файл схожий на дамп текстового формату. Будь ласка, використайте psql." -#: pg_backup_archiver.c:2204 +#: pg_backup_archiver.c:2307 #, c-format msgid "input file does not appear to be a valid archive (too short?)" msgstr "вхідний файл не схожий на архівний (закороткий?)" -#: pg_backup_archiver.c:2210 +#: pg_backup_archiver.c:2313 #, c-format msgid "input file does not appear to be a valid archive" msgstr "вхідний файл не схожий на архівний" -#: pg_backup_archiver.c:2219 +#: pg_backup_archiver.c:2322 #, c-format msgid "could not close input file: %m" msgstr "не вдалося закрити вхідний файл: %m" -#: pg_backup_archiver.c:2297 +#: pg_backup_archiver.c:2401 #, c-format msgid "could not open stdout for appending: %m" msgstr "не вдалося відкрити stdout для додавання: %m" -#: pg_backup_archiver.c:2342 +#: pg_backup_archiver.c:2446 #, c-format msgid "unrecognized file format \"%d\"" msgstr "нерозпізнаний формат файлу \"%d\"" -#: pg_backup_archiver.c:2423 pg_backup_archiver.c:4466 +#: pg_backup_archiver.c:2527 pg_backup_archiver.c:4647 #, c-format msgid "finished item %d %s %s" msgstr "завершений об'єкт %d %s %s" -#: pg_backup_archiver.c:2427 pg_backup_archiver.c:4479 +#: pg_backup_archiver.c:2531 pg_backup_archiver.c:4660 #, c-format msgid "worker process failed: exit code %d" msgstr "помилка при робочому процесі: код виходу %d" -#: pg_backup_archiver.c:2548 +#: pg_backup_archiver.c:2653 #, c-format msgid "entry ID %d out of range -- perhaps a corrupt TOC" msgstr "введення ідентифікатора %d поза діапазоном -- можливо, зміст пошкоджений" -#: pg_backup_archiver.c:2628 +#: pg_backup_archiver.c:2736 #, c-format msgid "restoring tables WITH OIDS is not supported anymore" msgstr "відновлення таблиць WITH OIDS більше не підтримується" -#: pg_backup_archiver.c:2710 +#: pg_backup_archiver.c:2818 #, c-format msgid "unrecognized encoding \"%s\"" msgstr "нерозпізнане кодування \"%s\"" -#: pg_backup_archiver.c:2715 +#: pg_backup_archiver.c:2823 #, c-format msgid "invalid ENCODING item: %s" msgstr "невірний об'єкт КОДУВАННЯ: %s" -#: pg_backup_archiver.c:2733 +#: pg_backup_archiver.c:2841 #, c-format msgid "invalid STDSTRINGS item: %s" msgstr "невірний об'єкт STDSTRINGS: %s" -#: pg_backup_archiver.c:2758 +#: pg_backup_archiver.c:2866 #, c-format msgid "schema \"%s\" not found" msgstr "схему \"%s\" не знайдено" -#: pg_backup_archiver.c:2765 +#: pg_backup_archiver.c:2873 #, c-format msgid "table \"%s\" not found" msgstr "таблицю \"%s\" не знайдено" -#: pg_backup_archiver.c:2772 +#: pg_backup_archiver.c:2880 #, c-format msgid "index \"%s\" not found" msgstr "індекс \"%s\" не знайдено" -#: pg_backup_archiver.c:2779 +#: pg_backup_archiver.c:2887 #, c-format msgid "function \"%s\" not found" msgstr "функцію \"%s\" не знайдено" -#: pg_backup_archiver.c:2786 +#: pg_backup_archiver.c:2894 #, c-format msgid "trigger \"%s\" not found" msgstr "тригер \"%s\" не знайдено" -#: pg_backup_archiver.c:3201 +#: pg_backup_archiver.c:3325 #, c-format msgid "could not set session user to \"%s\": %s" msgstr "не вдалося встановити користувача сеансу для \"%s\": %s" -#: pg_backup_archiver.c:3333 +#: pg_backup_archiver.c:3457 +#, c-format +msgid "could not set \"search_path\" to \"%s\": %s" +msgstr "не вдалося встановити \"search_path\" для \"%s\": %s" + +#: pg_backup_archiver.c:3518 #, c-format -msgid "could not set search_path to \"%s\": %s" -msgstr "не вдалося встановити search_path для \"%s\": %s" +msgid "could not set \"default_tablespace\" to %s: %s" +msgstr "не вдалося встановити \"default_tablespace\" для %s: %s" -#: pg_backup_archiver.c:3394 +#: pg_backup_archiver.c:3567 #, c-format -msgid "could not set default_tablespace to %s: %s" -msgstr "не вдалося встановити default_tablespace для %s: %s" +msgid "could not set \"default_table_access_method\": %s" +msgstr "не вдалося встановити \"default_table_access_method\" для: %s" -#: pg_backup_archiver.c:3443 +#: pg_backup_archiver.c:3616 #, c-format -msgid "could not set default_table_access_method: %s" -msgstr "не вдалося встановити default_table_access_method для : %s" +msgid "could not alter table access method: %s" +msgstr "не вдалося змінити метод доступу до таблиці: %s" -#: pg_backup_archiver.c:3548 +#: pg_backup_archiver.c:3717 #, c-format msgid "don't know how to set owner for object type \"%s\"" msgstr "невідомо, як встановити власника об'єкту типу \"%s\"" -#: pg_backup_archiver.c:3770 +#: pg_backup_archiver.c:4004 #, c-format msgid "did not find magic string in file header" msgstr "в заголовку файлу не знайдено магічного рядка" -#: pg_backup_archiver.c:3784 +#: pg_backup_archiver.c:4018 #, c-format msgid "unsupported version (%d.%d) in file header" msgstr "в заголовку непідтримувана версія (%d.%d)" -#: pg_backup_archiver.c:3789 +#: pg_backup_archiver.c:4023 #, c-format msgid "sanity check on integer size (%lu) failed" msgstr "перевірка на розмір цілого числа (%lu) не вдалася" -#: pg_backup_archiver.c:3793 +#: pg_backup_archiver.c:4027 #, c-format msgid "archive was made on a machine with larger integers, some operations might fail" msgstr "архів зроблено на архітектурі з більшими цілими числами, деякі операції можуть не виконуватися" -#: pg_backup_archiver.c:3803 +#: pg_backup_archiver.c:4037 #, c-format msgid "expected format (%d) differs from format found in file (%d)" msgstr "очікуваний формат (%d) відрізняється від знайденого формату у файлі (%d)" -#: pg_backup_archiver.c:3825 +#: pg_backup_archiver.c:4059 #, 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:3861 +#: pg_backup_archiver.c:4095 #, c-format msgid "invalid creation date in header" msgstr "неприпустима дата створення у заголовку" -#: pg_backup_archiver.c:3995 +#: pg_backup_archiver.c:4229 #, c-format msgid "processing item %d %s %s" msgstr "обробка елементу %d %s %s" -#: pg_backup_archiver.c:4070 +#: pg_backup_archiver.c:4314 #, c-format msgid "entering main parallel loop" msgstr "введення головного паралельного циклу" -#: pg_backup_archiver.c:4081 +#: pg_backup_archiver.c:4325 #, c-format msgid "skipping item %d %s %s" msgstr "пропускається елемент %d %s %s " -#: pg_backup_archiver.c:4090 +#: pg_backup_archiver.c:4334 #, c-format msgid "launching item %d %s %s" msgstr "запуск елементу %d %s %s " -#: pg_backup_archiver.c:4144 +#: pg_backup_archiver.c:4388 #, c-format msgid "finished main parallel loop" msgstr "головний паралельний цикл завершився" -#: pg_backup_archiver.c:4180 +#: pg_backup_archiver.c:4424 #, c-format msgid "processing missed item %d %s %s" msgstr "обробка втраченого елементу %d %s %s" -#: pg_backup_archiver.c:4785 +#: pg_backup_archiver.c:4966 #, c-format msgid "table \"%s\" could not be created, will not restore its data" msgstr "не вдалося створити таблицю \"%s\", дані не будуть відновлені" -#: pg_backup_custom.c:380 pg_backup_null.c:147 +#: pg_backup_custom.c:376 pg_backup_null.c:143 #, c-format msgid "invalid OID for large object" msgstr "неприпустимий ідентифікатор OID для великого об’єкту" -#: pg_backup_custom.c:445 pg_backup_custom.c:511 pg_backup_custom.c:640 -#: pg_backup_custom.c:874 pg_backup_tar.c:1014 pg_backup_tar.c:1019 +#: pg_backup_custom.c:441 pg_backup_custom.c:507 pg_backup_custom.c:636 +#: pg_backup_custom.c:870 pg_backup_tar.c:1029 pg_backup_tar.c:1034 #, c-format msgid "error during file seek: %m" msgstr "помилка під час пошуку файлу oobe. xml: %m" -#: pg_backup_custom.c:484 +#: pg_backup_custom.c:480 #, c-format msgid "data block %d has wrong seek position" msgstr "блок даних %d має неправильну позицію пошуку" -#: pg_backup_custom.c:501 +#: pg_backup_custom.c:497 #, c-format msgid "unrecognized data block type (%d) while searching archive" msgstr "нерозпізнаний тип блоку даних (%d) під час пошуку архіву" -#: pg_backup_custom.c:523 +#: pg_backup_custom.c:519 #, c-format msgid "could not find block ID %d in archive -- possibly due to out-of-order restore request, which cannot be handled due to non-seekable input file" msgstr "не вдалося зайти в архіві блок з ідентифікатором %d -- можливо, через непослідовність запиту відновлення, який не можна обробити через файл, що не допускає довільний вхід" -#: pg_backup_custom.c:528 +#: pg_backup_custom.c:524 #, c-format msgid "could not find block ID %d in archive -- possibly corrupt archive" msgstr "не вдалося знайти в архіві блок з ідентифікатором %d -- можливо, архів пошкоджений" -#: pg_backup_custom.c:535 +#: pg_backup_custom.c:531 #, c-format msgid "found unexpected block ID (%d) when reading data -- expected %d" msgstr "знайдено неочікуваний блок з ідентифікатором (%d) під час читання даних -- очікувалося %d" -#: pg_backup_custom.c:549 +#: pg_backup_custom.c:545 #, c-format msgid "unrecognized data block type %d while restoring archive" msgstr "нерозпізнаний тип блоку даних %d при відновленні архіву" -#: pg_backup_custom.c:755 pg_backup_custom.c:807 pg_backup_custom.c:952 -#: pg_backup_tar.c:1017 +#: pg_backup_custom.c:751 pg_backup_custom.c:803 pg_backup_custom.c:945 +#: pg_backup_tar.c:1032 #, c-format msgid "could not determine seek position in archive file: %m" msgstr "не вдалося визначити позицію пошуку у файлі архіву: %m" -#: pg_backup_custom.c:771 pg_backup_custom.c:811 +#: pg_backup_custom.c:767 pg_backup_custom.c:807 #, c-format msgid "could not close archive file: %m" msgstr "не вдалося закрити архівний файл: %m" -#: pg_backup_custom.c:794 +#: pg_backup_custom.c:790 #, c-format msgid "can only reopen input archives" msgstr "можливо повторно відкрити лише вхідні архіви" -#: pg_backup_custom.c:801 +#: pg_backup_custom.c:797 #, c-format msgid "parallel restore from standard input is not supported" msgstr "паралельне відновлення зі стандартного вводу не підтримується" -#: pg_backup_custom.c:803 +#: pg_backup_custom.c:799 #, c-format msgid "parallel restore from non-seekable file is not supported" msgstr "паралельне відновлення з файлу без вільного доступу не підтримується" -#: pg_backup_custom.c:819 +#: pg_backup_custom.c:815 #, c-format msgid "could not set seek position in archive file: %m" msgstr "не вдалося набрати позицію пошуку у файлі архіву: %m" -#: pg_backup_custom.c:898 +#: pg_backup_custom.c:894 #, c-format msgid "compressor active" msgstr "ущільнювач активний" @@ -1084,12 +1217,12 @@ msgstr "ущільнювач активний" msgid "could not get server_version from libpq" msgstr "не вдалося отримати версію серверу з libpq" -#: pg_backup_db.c:53 pg_dumpall.c:1809 +#: pg_backup_db.c:53 pg_dumpall.c:1830 #, c-format msgid "aborting because of server version mismatch" msgstr "переривання через невідповідність версії серверу" -#: pg_backup_db.c:54 pg_dumpall.c:1810 +#: pg_backup_db.c:54 pg_dumpall.c:1831 #, c-format msgid "server version: %s; %s version: %s" msgstr "версія серверу: %s; версія %s: %s" @@ -1099,7 +1232,7 @@ msgstr "версія серверу: %s; версія %s: %s" msgid "already connected to a database" msgstr "вже під'єднано до бази даних" -#: pg_backup_db.c:128 pg_backup_db.c:178 pg_dumpall.c:1656 pg_dumpall.c:1758 +#: pg_backup_db.c:128 pg_backup_db.c:178 pg_dumpall.c:1677 pg_dumpall.c:1779 msgid "Password: " msgstr "Пароль: " @@ -1113,18 +1246,18 @@ msgstr "не вдалося зв'язатися з базою даних" msgid "reconnection failed: %s" msgstr "помилка повторного підключення: %s" -#: pg_backup_db.c:190 pg_backup_db.c:264 pg_dump.c:756 pg_dump_sort.c:1280 -#: pg_dump_sort.c:1300 pg_dumpall.c:1683 pg_dumpall.c:1767 +#: 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:1704 pg_dumpall.c:1788 #, c-format msgid "%s" msgstr "%s" -#: pg_backup_db.c:271 pg_dumpall.c:1872 pg_dumpall.c:1895 +#: pg_backup_db.c:271 pg_dumpall.c:1893 pg_dumpall.c:1916 #, c-format msgid "query failed: %s" msgstr "запит не вдався: %s" -#: pg_backup_db.c:273 pg_dumpall.c:1873 pg_dumpall.c:1896 +#: pg_backup_db.c:273 pg_dumpall.c:1894 pg_dumpall.c:1917 #, c-format msgid "Query was: %s" msgstr "Запит був: %s" @@ -1162,7 +1295,7 @@ msgstr "помилка повернулася від PQputCopyEnd: %s" msgid "COPY failed for table \"%s\": %s" msgstr "КОПІЮВАННЯ для таблиці \"%s\" не вдалося: %s" -#: pg_backup_db.c:521 pg_dump.c:2204 +#: pg_backup_db.c:521 pg_dump.c:2283 #, c-format msgid "unexpected extra results during COPY of table \"%s\"" msgstr "неочікувані зайві результати під час копіювання таблиці \"%s\"" @@ -1175,154 +1308,149 @@ msgstr "не вдалося почати транзакцію бази дани msgid "could not commit database transaction" msgstr "не вдалося затвердити транзакцію бази даних" -#: pg_backup_directory.c:155 +#: pg_backup_directory.c:153 #, c-format msgid "no output directory specified" msgstr "вихідний каталог не вказано" -#: pg_backup_directory.c:184 -#, c-format -msgid "could not read directory \"%s\": %m" -msgstr "не вдалося прочитати каталог \"%s\": %m" - -#: pg_backup_directory.c:188 +#: pg_backup_directory.c:186 #, c-format msgid "could not close directory \"%s\": %m" msgstr "не вдалося закрити каталог \"%s\": %m" -#: pg_backup_directory.c:194 +#: pg_backup_directory.c:192 #, c-format msgid "could not create directory \"%s\": %m" msgstr "не вдалося створити каталог \"%s\": %m" -#: pg_backup_directory.c:356 pg_backup_directory.c:499 -#: pg_backup_directory.c:537 +#: 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:374 +#: pg_backup_directory.c:375 #, c-format msgid "could not close data file: %m" msgstr "не вдалося закрити файл даних: %m" -#: pg_backup_directory.c:407 +#: pg_backup_directory.c:408 #, c-format msgid "could not close data file \"%s\": %m" msgstr "не вдалося закрити файл даних \"%s\": %m" -#: pg_backup_directory.c:448 +#: pg_backup_directory.c:455 #, c-format msgid "could not open large object TOC file \"%s\" for input: %m" msgstr "не вдалося відкрити великий об'єкт файлу TOC \"%s\" для вводу: %m" -#: pg_backup_directory.c:459 +#: pg_backup_directory.c:466 #, c-format msgid "invalid line in large object TOC file \"%s\": \"%s\"" msgstr "невірна лінія у великому об'єкті файлу TOC \"%s\": \"%s\"" -#: pg_backup_directory.c:468 +#: pg_backup_directory.c:475 #, c-format msgid "error reading large object TOC file \"%s\"" msgstr "помилка читання великого об'єкту файлу TOC \"%s\"" -#: pg_backup_directory.c:472 +#: pg_backup_directory.c:479 #, c-format msgid "could not close large object TOC file \"%s\": %m" msgstr "не вдалося закрити великий об'єкт файлу TOC \"%s\" %m" -#: pg_backup_directory.c:694 +#: pg_backup_directory.c:702 #, c-format msgid "could not close LO data file: %m" msgstr "не вдалося закрити файл даних LO: %m" -#: pg_backup_directory.c:704 +#: pg_backup_directory.c:712 #, c-format msgid "could not write to LOs TOC file: %s" msgstr "не вдалося записати в файл LO TOC: %s" -#: pg_backup_directory.c:720 +#: pg_backup_directory.c:728 #, c-format msgid "could not close LOs TOC file: %m" msgstr "не вдалося закрити файл LO TOC: %m" -#: pg_backup_directory.c:739 +#: pg_backup_directory.c:747 #, c-format msgid "file name too long: \"%s\"" msgstr "ім'я файлу задовге: \"%s\"" -#: pg_backup_null.c:74 +#: pg_backup_null.c:70 #, c-format msgid "this format cannot be read" msgstr "цей формат не може бути прочитаним" -#: pg_backup_tar.c:172 +#: pg_backup_tar.c:168 #, c-format msgid "could not open TOC file \"%s\" for output: %m" msgstr "не вдалося відкрити файл TOC \"%s\" для виводу: %m" -#: pg_backup_tar.c:179 +#: pg_backup_tar.c:175 #, c-format msgid "could not open TOC file for output: %m" msgstr "не вдалося відкрити файл TOC для виводу: %m" -#: pg_backup_tar.c:198 pg_backup_tar.c:334 pg_backup_tar.c:389 -#: pg_backup_tar.c:405 pg_backup_tar.c:891 +#: pg_backup_tar.c:194 pg_backup_tar.c:330 pg_backup_tar.c:385 +#: pg_backup_tar.c:401 pg_backup_tar.c:906 #, c-format msgid "compression is not supported by tar archive format" msgstr "стиснення не підтримується форматом архіватора tar" -#: pg_backup_tar.c:206 +#: pg_backup_tar.c:202 #, c-format msgid "could not open TOC file \"%s\" for input: %m" msgstr "не вдалося відкрити файл TOC \"%s\" для вводу: %m" -#: pg_backup_tar.c:213 +#: pg_backup_tar.c:209 #, c-format msgid "could not open TOC file for input: %m" msgstr "не вдалося відкрити файл TOC для вводу: %m" -#: pg_backup_tar.c:322 +#: pg_backup_tar.c:318 #, c-format msgid "could not find file \"%s\" in archive" msgstr "не вдалося знайти файл \"%s\" в архіві" -#: pg_backup_tar.c:382 +#: pg_backup_tar.c:378 #, c-format msgid "could not generate temporary file name: %m" msgstr "не вдалося згенерувати тимчасове ім'я файлу: %m" -#: pg_backup_tar.c:623 +#: pg_backup_tar.c:619 #, c-format msgid "unexpected COPY statement syntax: \"%s\"" msgstr "неочікуваний синтаксис інструкції копіювання: \"%s\"" -#: pg_backup_tar.c:888 +#: pg_backup_tar.c:903 #, c-format msgid "invalid OID for large object (%u)" msgstr "неприпустимий ідентифікатор OID для великих об’єктів (%u)" -#: pg_backup_tar.c:1033 +#: pg_backup_tar.c:1048 #, c-format msgid "could not close temporary file: %m" msgstr "не вдалося закрити тимчасовий файл oobe. xml: %m" -#: pg_backup_tar.c:1036 +#: pg_backup_tar.c:1051 #, c-format msgid "actual file length (%lld) does not match expected (%lld)" msgstr "фактична довжина файлу (%lld) не відповідає очікуваній (%lld)" -#: pg_backup_tar.c:1082 pg_backup_tar.c:1113 +#: pg_backup_tar.c:1097 pg_backup_tar.c:1128 #, c-format msgid "could not find header for file \"%s\" in tar archive" msgstr "не вдалося знайти верхній колонтитул для файлу oobe. xml \"%s\" в архіві tar" -#: pg_backup_tar.c:1100 +#: pg_backup_tar.c:1115 #, c-format msgid "restoring data out of order is not supported in this archive format: \"%s\" is required, but comes before \"%s\" in the archive file." msgstr "відновлення даних поза замовленням не підтримується у цьому форматі архіву: вимагаєтсья \"%s\", але перед цим іде \"%s\" у файлі архіву." -#: pg_backup_tar.c:1147 +#: pg_backup_tar.c:1162 #, c-format msgid "incomplete tar header found (%lu byte)" msgid_plural "incomplete tar header found (%lu bytes)" @@ -1331,7 +1459,7 @@ msgstr[1] "знайдено незавершений tar-заголовок (%lu msgstr[2] "знайдено незавершений tar-заголовок (%lu байт)" msgstr[3] "знайдено незавершений tar-заголовок (%lu байт)" -#: pg_backup_tar.c:1186 +#: pg_backup_tar.c:1201 #, c-format msgid "corrupt tar header found in %s (expected %d, computed %d) file position %llu" msgstr "знайдено пошкоджений заголовок tar у %s (очікувалося %d, обчислено %d) позиції файлу %llu" @@ -1341,10 +1469,10 @@ msgstr "знайдено пошкоджений заголовок tar у %s (о msgid "unrecognized section name: \"%s\"" msgstr "нерозпізнане ім’я розділу: \"%s\"" -#: pg_backup_utils.c:55 pg_dump.c:662 pg_dump.c:679 pg_dumpall.c:365 -#: pg_dumpall.c:375 pg_dumpall.c:383 pg_dumpall.c:391 pg_dumpall.c:398 -#: pg_dumpall.c:408 pg_dumpall.c:483 pg_restore.c:291 pg_restore.c:307 -#: pg_restore.c:321 +#: 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 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Спробуйте \"%s --help\" для додаткової інформації." @@ -1354,274 +1482,284 @@ msgstr "Спробуйте \"%s --help\" для додаткової інфор msgid "out of on_exit_nicely slots" msgstr "перевищено межу on_exit_nicely слотів" -#: pg_dump.c:677 pg_dumpall.c:373 pg_restore.c:305 +#: pg_dump.c:709 pg_dumpall.c:378 pg_restore.c:321 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "забагато аргументів у командному рядку (перший \"%s\")" -#: pg_dump.c:696 pg_restore.c:328 +#: pg_dump.c:728 pg_restore.c:344 #, 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:699 +#: pg_dump.c:731 #, 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:702 +#: pg_dump.c:734 #, c-format msgid "option --include-foreign-data is not supported with parallel backup" msgstr "параметр --include-foreign-data не підтримується з паралельним резервним копіюванням" -#: pg_dump.c:705 pg_restore.c:331 +#: pg_dump.c:737 pg_restore.c:347 #, c-format msgid "options -c/--clean and -a/--data-only cannot be used together" msgstr "параметри -c/--clean і -a/--data-only не можна використовувати разом" -#: pg_dump.c:708 pg_dumpall.c:403 pg_restore.c:356 +#: pg_dump.c:740 pg_dumpall.c:408 pg_restore.c:375 #, c-format msgid "option --if-exists requires option -c/--clean" msgstr "параметр --if-exists потребує параметр -c/--clean" -#: pg_dump.c:715 +#: pg_dump.c:747 #, 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:744 +#: pg_dump.c:776 #, c-format msgid "unrecognized compression algorithm: \"%s\"" msgstr "нерозпізнаний алгоритм стискання: \"%s\"" -#: pg_dump.c:751 +#: pg_dump.c:783 #, c-format msgid "invalid compression specification: %s" msgstr "неприпустима специфікація стискання: %s" -#: pg_dump.c:764 +#: pg_dump.c:796 #, c-format msgid "compression option \"%s\" is not currently supported by pg_dump" msgstr "параметр стиснення \"%s\" в даний час не підтримується pg_dump" -#: pg_dump.c:776 +#: pg_dump.c:808 #, c-format msgid "parallel backup only supported by the directory format" msgstr "паралельне резервне копіювання підтримується лише з форматом \"каталог\"" -#: pg_dump.c:822 +#: pg_dump.c:854 #, c-format msgid "last built-in OID is %u" msgstr "останній вбудований OID %u" -#: pg_dump.c:831 +#: pg_dump.c:863 #, c-format msgid "no matching schemas were found" msgstr "відповідних схем не знайдено" -#: pg_dump.c:848 +#: pg_dump.c:880 #, c-format msgid "no matching tables were found" msgstr "відповідних таблиць не знайдено" -#: pg_dump.c:876 +#: pg_dump.c:908 #, c-format msgid "no matching extensions were found" msgstr "не знайдено відповідних розширень" -#: pg_dump.c:1056 +#: pg_dump.c:1092 #, c-format msgid "%s dumps a database as a text file or to other formats.\n\n" msgstr "%s зберігає резервну копію бази даних в текстовому файлі або в інших форматах.\n\n" -#: pg_dump.c:1057 pg_dumpall.c:630 pg_restore.c:433 +#: pg_dump.c:1093 pg_dumpall.c:635 pg_restore.c:452 #, c-format msgid "Usage:\n" msgstr "Використання:\n" -#: pg_dump.c:1058 +#: pg_dump.c:1094 #, c-format msgid " %s [OPTION]... [DBNAME]\n" msgstr " %s [OPTION]... [DBNAME]\n" -#: pg_dump.c:1060 pg_dumpall.c:633 pg_restore.c:436 +#: pg_dump.c:1096 pg_dumpall.c:638 pg_restore.c:455 #, c-format msgid "\n" "General options:\n" msgstr "\n" "Основні налаштування:\n" -#: pg_dump.c:1061 +#: pg_dump.c:1097 #, c-format msgid " -f, --file=FILENAME output file or directory name\n" msgstr " -f, --file=FILENAME ім'я файлу виводу або каталогу\n" -#: pg_dump.c:1062 +#: pg_dump.c:1098 #, 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:1064 +#: pg_dump.c:1100 #, c-format msgid " -j, --jobs=NUM use this many parallel jobs to dump\n" msgstr " -j, --jobs=NUM використовувати ці паралельні завдання для вивантаження\n" -#: pg_dump.c:1065 pg_dumpall.c:635 +#: pg_dump.c:1101 pg_dumpall.c:640 #, c-format msgid " -v, --verbose verbose mode\n" msgstr " -v, --verbose детальний режим\n" -#: pg_dump.c:1066 pg_dumpall.c:636 +#: pg_dump.c:1102 pg_dumpall.c:641 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version вивести інформацію про версію, потім вийти\n" -#: pg_dump.c:1067 +#: pg_dump.c:1103 #, c-format msgid " -Z, --compress=METHOD[:DETAIL]\n" " compress as specified\n" msgstr " -Z, --compress=METHOD[:DETAIL]\n" " стискати як вказано\n" -#: pg_dump.c:1069 pg_dumpall.c:637 +#: pg_dump.c:1105 pg_dumpall.c:642 #, 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:1070 pg_dumpall.c:664 +#: pg_dump.c:1106 pg_dumpall.c:670 #, c-format msgid " --no-sync do not wait for changes to be written safely to disk\n" msgstr " --no-sync не чекати безпечного збереження змін на диск\n" -#: pg_dump.c:1071 pg_dumpall.c:638 +#: pg_dump.c:1107 +#, 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:643 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help показати цю довідку, потім вийти\n" -#: pg_dump.c:1073 pg_dumpall.c:639 +#: pg_dump.c:1110 pg_dumpall.c:644 #, c-format msgid "\n" "Options controlling the output content:\n" msgstr "\n" "Параметри, що керують вихідним вмістом:\n" -#: pg_dump.c:1074 pg_dumpall.c:640 +#: pg_dump.c:1111 pg_dumpall.c:645 #, c-format msgid " -a, --data-only dump only the data, not the schema\n" msgstr " -a, --data-only вивантажити лише дані, без схеми\n" -#: pg_dump.c:1075 +#: pg_dump.c:1112 #, c-format msgid " -b, --large-objects include large objects in dump\n" msgstr " -b, --large-objects включити у вивантаження великі об'єкти\n" -#: pg_dump.c:1076 +#: pg_dump.c:1113 #, c-format msgid " --blobs (same as --large-objects, deprecated)\n" msgstr " --blobs (те саме, що --large-objects, застарілий)\n" -#: pg_dump.c:1077 +#: pg_dump.c:1114 #, c-format msgid " -B, --no-large-objects exclude large objects in dump\n" msgstr " -b, --no-large-objects виключити з вивантаження великі об'єкти\n" -#: pg_dump.c:1078 +#: pg_dump.c:1115 #, c-format msgid " --no-blobs (same as --no-large-objects, deprecated)\n" msgstr " --no-blobs (те саме, що --no-large-objects, застарілий)\n" -#: pg_dump.c:1079 pg_restore.c:447 +#: pg_dump.c:1116 pg_restore.c:466 #, c-format msgid " -c, --clean clean (drop) database objects before recreating\n" msgstr " -c, --clean видалити об'єкти бази даних перед перед повторним створенням\n" -#: pg_dump.c:1080 +#: pg_dump.c:1117 #, c-format msgid " -C, --create include commands to create database in dump\n" msgstr " -C, --create включити у вивантаження команди для створення бази даних\n" -#: pg_dump.c:1081 +#: pg_dump.c:1118 #, c-format msgid " -e, --extension=PATTERN dump the specified extension(s) only\n" msgstr " -e, --extension=PATTERN вивантажити лише вказане(і) розширення\n" -#: pg_dump.c:1082 pg_dumpall.c:642 +#: pg_dump.c:1119 pg_dumpall.c:647 #, c-format msgid " -E, --encoding=ENCODING dump the data in encoding ENCODING\n" msgstr " -E, --encoding=ENCODING вивантажити дані в кодуванні ENCODING\n" -#: pg_dump.c:1083 +#: pg_dump.c:1120 #, c-format msgid " -n, --schema=PATTERN dump the specified schema(s) only\n" msgstr " -n, --schema=PATTERN вивантажити лише вказану схему(и)\n" -#: pg_dump.c:1084 +#: pg_dump.c:1121 #, c-format msgid " -N, --exclude-schema=PATTERN do NOT dump the specified schema(s)\n" msgstr " -N, --exclude-schema=PATTERN НЕ вивантажувати вказану схему(и)\n" -#: pg_dump.c:1085 +#: pg_dump.c:1122 #, 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:1087 pg_dumpall.c:646 +#: pg_dump.c:1124 pg_dumpall.c:651 #, c-format msgid " -s, --schema-only dump only the schema, no data\n" msgstr " -s, --schema-only вивантажити лише схему, без даних\n" -#: pg_dump.c:1088 +#: pg_dump.c:1125 #, c-format msgid " -S, --superuser=NAME superuser user name to use in plain-text format\n" msgstr " -S, --superuser=NAME ім'я користувача, яке буде використовуватись у звичайних текстових форматах\n" -#: pg_dump.c:1089 +#: pg_dump.c:1126 #, c-format msgid " -t, --table=PATTERN dump only the specified table(s)\n" msgstr " -t, --table=PATTERN вивантажити лише вказані таблиці\n" -#: pg_dump.c:1090 +#: pg_dump.c:1127 #, c-format msgid " -T, --exclude-table=PATTERN do NOT dump the specified table(s)\n" msgstr " -T, --exclude-table=PATTERN НЕ вивантажувати вказані таблиці\n" -#: pg_dump.c:1091 pg_dumpall.c:649 +#: pg_dump.c:1128 pg_dumpall.c:654 #, c-format msgid " -x, --no-privileges do not dump privileges (grant/revoke)\n" msgstr " -x, --no-privileges не вивантажувати права (надання/відкликання)\n" -#: pg_dump.c:1092 pg_dumpall.c:650 +#: pg_dump.c:1129 pg_dumpall.c:655 #, c-format msgid " --binary-upgrade for use by upgrade utilities only\n" msgstr " --binary-upgrade для використання лише утилітами оновлення\n" -#: pg_dump.c:1093 pg_dumpall.c:651 +#: pg_dump.c:1130 pg_dumpall.c:656 #, c-format msgid " --column-inserts dump data as INSERT commands with column names\n" msgstr " --column-inserts вивантажити дані у вигляді команд INSERT з іменами стовпців\n" -#: pg_dump.c:1094 pg_dumpall.c:652 +#: pg_dump.c:1131 pg_dumpall.c:657 #, c-format msgid " --disable-dollar-quoting disable dollar quoting, use SQL standard quoting\n" msgstr " --disable-dollar-quoting вимкнути цінову пропозицію $, використовувати SQL стандартну цінову пропозицію\n" -#: pg_dump.c:1095 pg_dumpall.c:653 pg_restore.c:464 +#: pg_dump.c:1132 pg_dumpall.c:658 pg_restore.c:483 #, c-format msgid " --disable-triggers disable triggers during data-only restore\n" msgstr " --disable-triggers вимкнути тригери лише під час відновлення даних\n" -#: pg_dump.c:1096 +#: pg_dump.c:1133 #, 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:1098 +#: pg_dump.c:1135 +#, c-format +msgid " --exclude-extension=PATTERN do NOT dump the specified extension(s)\n" +msgstr " --exclude-extension=PATTERN НЕ вивантажувати вказане розширення\n" + +#: pg_dump.c:1136 #, c-format msgid " --exclude-table-and-children=PATTERN\n" " do NOT dump the specified table(s), including\n" @@ -1630,12 +1768,12 @@ msgstr " --exclude-table-and-children=PATTERN\n" " не вивантажувати зазначені таблиці, включно\n" " з дочірніми та секціонованими таблицями\n" -#: pg_dump.c:1101 +#: pg_dump.c:1139 #, 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:1102 +#: pg_dump.c:1140 #, c-format msgid " --exclude-table-data-and-children=PATTERN\n" " do NOT dump data for the specified table(s),\n" @@ -1644,17 +1782,24 @@ msgstr " --exclude-table-data-and-children=PATTERN\n" " не вивантажувати дані зазначених таблиць,\n" " включно з дочірніми та секціонованими таблицями\n" -#: pg_dump.c:1105 pg_dumpall.c:655 +#: pg_dump.c:1143 pg_dumpall.c:660 #, 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:1106 pg_dumpall.c:656 pg_restore.c:466 +#: pg_dump.c:1144 +#, 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:662 pg_restore.c:487 #, c-format msgid " --if-exists use IF EXISTS when dropping objects\n" msgstr " --if-exists використовувати IF EXISTS під час видалення об'єктів\n" -#: pg_dump.c:1107 +#: pg_dump.c:1147 #, c-format msgid " --include-foreign-data=PATTERN\n" " include data of foreign tables on foreign\n" @@ -1663,101 +1808,101 @@ msgstr " --include-foreign-data=ШАБЛОН\n" " включають дані підлеглих таблиць на підлеглих\n" " сервери, що відповідають ШАБЛОНУ\n" -#: pg_dump.c:1110 pg_dumpall.c:657 +#: pg_dump.c:1150 pg_dumpall.c:663 #, c-format msgid " --inserts dump data as INSERT commands, rather than COPY\n" msgstr " --inserts вивантажити дані у вигляді команд INSERT, не COPY\n" -#: pg_dump.c:1111 pg_dumpall.c:658 +#: pg_dump.c:1151 pg_dumpall.c:664 #, c-format msgid " --load-via-partition-root load partitions via the root table\n" msgstr " --load-via-partition-root завантажувати секції через головну таблицю\n" -#: pg_dump.c:1112 pg_dumpall.c:659 +#: pg_dump.c:1152 pg_dumpall.c:665 #, c-format msgid " --no-comments do not dump comments\n" msgstr " --no-comments не вивантажувати коментарі\n" -#: pg_dump.c:1113 pg_dumpall.c:660 +#: pg_dump.c:1153 pg_dumpall.c:666 #, c-format msgid " --no-publications do not dump publications\n" msgstr " --no-publications не вивантажувати публікації\n" -#: pg_dump.c:1114 pg_dumpall.c:662 +#: pg_dump.c:1154 pg_dumpall.c:668 #, c-format msgid " --no-security-labels do not dump security label assignments\n" msgstr " --no-security-labels не вивантажувати завдання міток безпеки\n" -#: pg_dump.c:1115 pg_dumpall.c:663 +#: pg_dump.c:1155 pg_dumpall.c:669 #, c-format msgid " --no-subscriptions do not dump subscriptions\n" msgstr " --no-subscriptions не вивантажувати підписки\n" -#: pg_dump.c:1116 pg_dumpall.c:665 +#: pg_dump.c:1156 pg_dumpall.c:671 #, c-format msgid " --no-table-access-method do not dump table access methods\n" msgstr " --no-table-access-method не вивантажувати табличні методи доступу\n" -#: pg_dump.c:1117 pg_dumpall.c:666 +#: pg_dump.c:1157 pg_dumpall.c:672 #, c-format msgid " --no-tablespaces do not dump tablespace assignments\n" msgstr " --no-tablespaces не вивантажувати призначення табличних просторів\n" -#: pg_dump.c:1118 pg_dumpall.c:667 +#: pg_dump.c:1158 pg_dumpall.c:673 #, c-format msgid " --no-toast-compression do not dump TOAST compression methods\n" msgstr " --no-toast-compression не вивантажувати методи стиснення TOAST\n" -#: pg_dump.c:1119 pg_dumpall.c:668 +#: pg_dump.c:1159 pg_dumpall.c:674 #, c-format msgid " --no-unlogged-table-data do not dump unlogged table data\n" msgstr " --no-unlogged-table-data не вивантажувати дані таблиць, які не журналюються\n" -#: pg_dump.c:1120 pg_dumpall.c:669 +#: pg_dump.c:1160 pg_dumpall.c:675 #, 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:1121 pg_dumpall.c:670 +#: pg_dump.c:1161 pg_dumpall.c:676 #, c-format msgid " --quote-all-identifiers quote all identifiers, even if not key words\n" msgstr " --quote-all-identifiers укладати в лапки всі ідентифікатори, а не тільки ключові слова\n" -#: pg_dump.c:1122 pg_dumpall.c:671 +#: pg_dump.c:1162 pg_dumpall.c:677 #, 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:1123 +#: pg_dump.c:1163 #, 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:1124 +#: pg_dump.c:1164 #, c-format msgid " --serializable-deferrable wait until the dump can run without anomalies\n" msgstr " --serializable-deferrable чекати коли вивантаження можна буде виконати без аномалій\n" -#: pg_dump.c:1125 +#: pg_dump.c:1165 #, c-format msgid " --snapshot=SNAPSHOT use given snapshot for the dump\n" msgstr " --snapshot=SNAPSHOT використовувати під час вивантаження вказаний знімок\n" -#: pg_dump.c:1126 pg_restore.c:476 +#: pg_dump.c:1166 pg_restore.c:497 #, 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:1128 +#: pg_dump.c:1168 #, 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:1130 pg_dumpall.c:672 pg_restore.c:478 +#: pg_dump.c:1170 pg_dumpall.c:678 pg_restore.c:500 #, c-format msgid " --use-set-session-authorization\n" " use SET SESSION AUTHORIZATION commands instead of\n" @@ -1766,49 +1911,49 @@ msgstr " --use-set-session-authorization\n" " щоб встановити власника, використати команди SET SESSION AUTHORIZATION,\n" " замість команд ALTER OWNER\n" -#: pg_dump.c:1134 pg_dumpall.c:676 pg_restore.c:482 +#: pg_dump.c:1174 pg_dumpall.c:682 pg_restore.c:504 #, c-format msgid "\n" "Connection options:\n" msgstr "\n" "Налаштування з'єднання:\n" -#: pg_dump.c:1135 +#: pg_dump.c:1175 #, c-format msgid " -d, --dbname=DBNAME database to dump\n" msgstr " -d, --dbname=DBNAME ім'я бази даних для вивантаження\n" -#: pg_dump.c:1136 pg_dumpall.c:678 pg_restore.c:483 +#: pg_dump.c:1176 pg_dumpall.c:684 pg_restore.c:505 #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr " -h, --host=HOSTNAME хост серверу баз даних або каталог сокетів\n" -#: pg_dump.c:1137 pg_dumpall.c:680 pg_restore.c:484 +#: pg_dump.c:1177 pg_dumpall.c:686 pg_restore.c:506 #, c-format msgid " -p, --port=PORT database server port number\n" msgstr " -p, --port=PORT номер порту сервера бази даних\n" -#: pg_dump.c:1138 pg_dumpall.c:681 pg_restore.c:485 +#: pg_dump.c:1178 pg_dumpall.c:687 pg_restore.c:507 #, c-format msgid " -U, --username=NAME connect as specified database user\n" msgstr " -U, --username=NAME підключатись як вказаний користувач бази даних\n" -#: pg_dump.c:1139 pg_dumpall.c:682 pg_restore.c:486 +#: pg_dump.c:1179 pg_dumpall.c:688 pg_restore.c:508 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password ніколи не запитувати пароль\n" -#: pg_dump.c:1140 pg_dumpall.c:683 pg_restore.c:487 +#: pg_dump.c:1180 pg_dumpall.c:689 pg_restore.c:509 #, c-format msgid " -W, --password force password prompt (should happen automatically)\n" msgstr " -W, --password запитувати пароль завжди (повинно траплятись автоматично)\n" -#: pg_dump.c:1141 pg_dumpall.c:684 +#: pg_dump.c:1181 pg_dumpall.c:690 #, c-format msgid " --role=ROLENAME do SET ROLE before dump\n" msgstr " --role=ROLENAME виконати SET ROLE до вивантаження\n" -#: pg_dump.c:1143 +#: pg_dump.c:1183 #, c-format msgid "\n" "If no database name is supplied, then the PGDATABASE environment\n" @@ -1816,234 +1961,239 @@ msgid "\n" msgstr "\n" "Якщо ім'я бази даних не вказано, тоді використовується значення змінної середовища PGDATABASE.\n\n" -#: pg_dump.c:1145 pg_dumpall.c:688 pg_restore.c:494 +#: pg_dump.c:1185 pg_dumpall.c:694 pg_restore.c:516 #, c-format msgid "Report bugs to <%s>.\n" msgstr "Повідомляти про помилки на <%s>.\n" -#: pg_dump.c:1146 pg_dumpall.c:689 pg_restore.c:495 +#: pg_dump.c:1186 pg_dumpall.c:695 pg_restore.c:517 #, c-format msgid "%s home page: <%s>\n" msgstr "Домашня сторінка %s: <%s>\n" -#: pg_dump.c:1165 pg_dumpall.c:513 +#: pg_dump.c:1205 pg_dumpall.c:518 #, c-format msgid "invalid client encoding \"%s\" specified" msgstr "вказано неприпустиме клієнтське кодування \"%s\"" -#: pg_dump.c:1303 +#: pg_dump.c:1352 #, c-format msgid "parallel dumps from standby servers are not supported by this server version" msgstr "паралельні вивантаження для резервних серверів не підтримуються цією версію сервера" -#: pg_dump.c:1368 +#: pg_dump.c:1417 #, c-format msgid "invalid output format \"%s\" specified" msgstr "вказано неприпустимий формат виводу \"%s\"" -#: pg_dump.c:1409 pg_dump.c:1465 pg_dump.c:1518 pg_dumpall.c:1449 +#: pg_dump.c:1458 pg_dump.c:1514 pg_dump.c:1567 pg_dumpall.c:1467 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "неправильне повне ім'я (забагато компонентів): %s" -#: pg_dump.c:1417 +#: pg_dump.c:1466 #, c-format msgid "no matching schemas were found for pattern \"%s\"" msgstr "не знайдено відповідних схем для візерунку \"%s\"" -#: pg_dump.c:1470 +#: pg_dump.c:1519 #, c-format msgid "no matching extensions were found for pattern \"%s\"" msgstr "не знайдено відповідних розширень для шаблону \"%s\"" -#: pg_dump.c:1523 +#: pg_dump.c:1572 #, c-format msgid "no matching foreign servers were found for pattern \"%s\"" msgstr "не знайдено відповідних підлеглих серверів для шаблону \"%s\"" -#: pg_dump.c:1594 +#: pg_dump.c:1643 #, c-format msgid "improper relation name (too many dotted names): %s" msgstr "неправильне ім'я зв'язку (забагато компонентів): %s" -#: pg_dump.c:1616 +#: pg_dump.c:1665 #, c-format msgid "no matching tables were found for pattern \"%s\"" msgstr "не знайдено відповідних таблиць для візерунку\"%s\"" -#: pg_dump.c:1643 +#: pg_dump.c:1692 #, c-format msgid "You are currently not connected to a database." msgstr "На даний момент ви від'єднанні від бази даних." -#: pg_dump.c:1646 +#: pg_dump.c:1695 #, c-format msgid "cross-database references are not implemented: %s" msgstr "міжбазові посилання не реалізовані: %s" -#: pg_dump.c:2079 +#: pg_dump.c:2154 #, c-format msgid "dumping contents of table \"%s.%s\"" msgstr "вивантажування змісту таблиці \"%s.%s\"" -#: pg_dump.c:2185 +#: pg_dump.c:2264 #, c-format msgid "Dumping the contents of table \"%s\" failed: PQgetCopyData() failed." msgstr "Помилка вивантажування змісту таблиці \"%s\": помилка в PQgetCopyData()." -#: pg_dump.c:2186 pg_dump.c:2196 +#: pg_dump.c:2265 pg_dump.c:2275 #, c-format msgid "Error message from server: %s" msgstr "Повідомлення про помилку від сервера: %s" -#: pg_dump.c:2187 pg_dump.c:2197 +#: pg_dump.c:2266 pg_dump.c:2276 #, c-format msgid "Command was: %s" msgstr "Команда була: %s" -#: pg_dump.c:2195 +#: pg_dump.c:2274 #, c-format msgid "Dumping the contents of table \"%s\" failed: PQgetResult() failed." msgstr "Помилка вивантажування змісту таблиці \"%s\": помилка в PQgetResult(). " -#: pg_dump.c:2277 +#: pg_dump.c:2365 #, c-format msgid "wrong number of fields retrieved from table \"%s\"" msgstr "неправильна кількість полів отриманих з таблиці \"%s\"" -#: pg_dump.c:2975 +#: pg_dump.c:3067 #, c-format msgid "saving database definition" msgstr "збереження визначення бази даних" -#: pg_dump.c:3080 +#: pg_dump.c:3176 #, c-format msgid "unrecognized locale provider: %s" msgstr "нерозпізнаний постачальник локалів: %s" -#: pg_dump.c:3431 +#: pg_dump.c:3537 #, c-format msgid "saving encoding = %s" msgstr "збереження кодування = %s" -#: pg_dump.c:3456 +#: pg_dump.c:3562 #, c-format -msgid "saving standard_conforming_strings = %s" -msgstr "збереження standard_conforming_strings = %s" +msgid "saving \"standard_conforming_strings = %s\"" +msgstr "збереження \"standard_conforming_strings = %s\"" -#: pg_dump.c:3495 +#: pg_dump.c:3601 #, c-format msgid "could not parse result of current_schemas()" msgstr "не вдалося проаналізувати результат current_schemas()" -#: pg_dump.c:3514 +#: pg_dump.c:3620 #, c-format -msgid "saving search_path = %s" -msgstr "збереження search_path = %s" +msgid "saving \"search_path = %s\"" +msgstr "збереження \"search_path = %s\"" -#: pg_dump.c:3551 +#: pg_dump.c:3656 #, c-format msgid "reading large objects" msgstr "читання великих об’єктів" -#: pg_dump.c:3689 +#: pg_dump.c:3877 #, c-format -msgid "saving large objects" -msgstr "збереження великих об’єктів" +msgid "saving large objects \"%s\"" +msgstr "збереження великих об’єктів \"%s\"" -#: pg_dump.c:3730 +#: pg_dump.c:3898 #, c-format msgid "error reading large object %u: %s" msgstr "помилка читання великих об’єктів %u: %s" -#: pg_dump.c:3836 +#: pg_dump.c:4001 #, c-format msgid "reading row-level security policies" msgstr "читання політик безпеки на рівні рядків" -#: pg_dump.c:3977 +#: pg_dump.c:4142 #, c-format msgid "unexpected policy command type: %c" msgstr "неочікуваний тип команди в політиці: %c" -#: pg_dump.c:4427 pg_dump.c:4771 pg_dump.c:11998 pg_dump.c:17908 -#: pg_dump.c:17910 pg_dump.c:18531 +#: pg_dump.c:4592 pg_dump.c:5150 pg_dump.c:12362 pg_dump.c:18247 +#: pg_dump.c:18249 pg_dump.c:18871 #, c-format msgid "could not parse %s array" msgstr "не вдалося аналізувати масив %s" -#: pg_dump.c:4616 +#: pg_dump.c:4806 #, c-format msgid "subscriptions not dumped because current user is not a superuser" msgstr "підписки не вивантажені через те, що чинний користувач не є суперкористувачем" -#: pg_dump.c:5163 +#: pg_dump.c:5012 +#, c-format +msgid "subscription with OID %u does not exist" +msgstr "підписки %u з OID не існує" + +#: pg_dump.c:5019 +#, c-format +msgid "failed sanity check, table with OID %u not found" +msgstr "помилка цілісності, таблиця з OID %u не знайдена" + +#: pg_dump.c:5582 #, c-format msgid "could not find parent extension for %s %s" msgstr "не вдалося знайти батьківський елемент для %s %s" -#: pg_dump.c:5308 +#: pg_dump.c:5727 #, c-format msgid "schema with OID %u does not exist" msgstr "схема з OID %u не існує" -#: pg_dump.c:6790 pg_dump.c:17172 +#: pg_dump.c:7209 pg_dump.c:17618 #, 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:6933 +#: pg_dump.c:7352 #, 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:7164 pg_dump.c:7431 pg_dump.c:7902 pg_dump.c:8566 pg_dump.c:8685 -#: pg_dump.c:8833 +#: pg_dump.c:7583 pg_dump.c:7857 pg_dump.c:8304 pg_dump.c:8918 pg_dump.c:9040 +#: pg_dump.c:9188 #, c-format msgid "unrecognized table OID %u" msgstr "нерозпізнаний OID таблиці %u" -#: pg_dump.c:7168 +#: pg_dump.c:7587 #, c-format msgid "unexpected index data for table \"%s\"" msgstr "неочікувані дані індексу для таблиці \"%s\"" -#: pg_dump.c:7663 +#: pg_dump.c:8089 #, 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:7954 -#, c-format -msgid "query produced null referenced table name for foreign key trigger \"%s\" on table \"%s\" (OID of table: %u)" -msgstr "запит не повернув ім'я цільової таблиці для тригера зовнішнього ключа \"%s\" в таблиці \"%s\" (OID цільової таблиці: %u)" - -#: pg_dump.c:8570 +#: pg_dump.c:8922 #, c-format msgid "unexpected column data for table \"%s\"" msgstr "неочікувані дані стовпця для таблиці \"%s\"" -#: pg_dump.c:8599 +#: pg_dump.c:8951 #, c-format msgid "invalid column numbering in table \"%s\"" msgstr "неприпустима нумерація стовпців у таблиці \"%s\"" -#: pg_dump.c:8647 +#: pg_dump.c:9002 #, c-format msgid "finding table default expressions" msgstr "пошук виразів за замовчуванням для таблиці" -#: pg_dump.c:8689 +#: pg_dump.c:9044 #, c-format msgid "invalid adnum value %d for table \"%s\"" msgstr "неприпустиме значення adnum %d для таблиці \"%s\"" -#: pg_dump.c:8783 +#: pg_dump.c:9138 #, c-format msgid "finding table check constraints" msgstr "пошук перевірочних обмежень таблиці" -#: pg_dump.c:8837 +#: pg_dump.c:9192 #, 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" @@ -2052,172 +2202,178 @@ msgstr[1] "очікувалось %d обмеження-перевірки дл msgstr[2] "очікувалось %d обмежень-перевірок для таблиці \"%s\", але знайдено %d" msgstr[3] "очікувалось %d обмежень-перевірок для таблиці \"%s\", але знайдено %d" -#: pg_dump.c:8841 +#: pg_dump.c:9196 #, c-format msgid "The system catalogs might be corrupted." msgstr "Системні каталоги можуть бути пошкоджені." -#: pg_dump.c:9531 +#: pg_dump.c:9886 #, c-format msgid "role with OID %u does not exist" msgstr "роль з OID %u не існує" -#: pg_dump.c:9643 pg_dump.c:9672 +#: pg_dump.c:9998 pg_dump.c:10027 #, c-format msgid "unsupported pg_init_privs entry: %u %u %d" msgstr "непідтримуваний запис в pg_init_privs: %u %u %d" -#: pg_dump.c:10493 +#: pg_dump.c:10574 +#, c-format +msgid "missing metadata for large objects \"%s\"" +msgstr "відсутні метадані для великих об'єктів \"%s\"" + +#: pg_dump.c:10857 #, c-format msgid "typtype of data type \"%s\" appears to be invalid" msgstr "typtype типу даних \"%s\" має неприпустимий вигляд" -#: pg_dump.c:12067 +#: pg_dump.c:12431 #, c-format msgid "unrecognized provolatile value for function \"%s\"" msgstr "нерозпізнане значення provolatile для функції \"%s\"" -#: pg_dump.c:12117 pg_dump.c:13999 +#: pg_dump.c:12481 pg_dump.c:14377 #, c-format msgid "unrecognized proparallel value for function \"%s\"" msgstr "нерозпізнане значення proparallel для функції \"%s\"" -#: pg_dump.c:12247 pg_dump.c:12353 pg_dump.c:12360 +#: pg_dump.c:12611 pg_dump.c:12717 pg_dump.c:12724 #, c-format msgid "could not find function definition for function with OID %u" msgstr "не вдалося знайти визначення функції для функції з OID %u" -#: pg_dump.c:12286 +#: pg_dump.c:12650 #, c-format msgid "bogus value in pg_cast.castfunc or pg_cast.castmethod field" msgstr "неприпустиме значення в полі pg_cast.castfunc або pg_cast.castmethod" -#: pg_dump.c:12289 +#: pg_dump.c:12653 #, c-format msgid "bogus value in pg_cast.castmethod field" msgstr "неприпустиме значення в полі pg_cast.castmethod" -#: pg_dump.c:12379 +#: pg_dump.c:12743 #, c-format msgid "bogus transform definition, at least one of trffromsql and trftosql should be nonzero" msgstr "неприпустиме визначення перетворення, як мінімум одне з trffromsql і trftosql повинно бути ненульовим" -#: pg_dump.c:12396 +#: pg_dump.c:12760 #, c-format msgid "bogus value in pg_transform.trffromsql field" msgstr "неприпустиме значення в полі pg_transform.trffromsql" -#: pg_dump.c:12417 +#: pg_dump.c:12781 #, c-format msgid "bogus value in pg_transform.trftosql field" msgstr "неприпустиме значення в полі pg_transform.trftosql" -#: pg_dump.c:12562 +#: pg_dump.c:12926 #, c-format msgid "postfix operators are not supported anymore (operator \"%s\")" msgstr "постфіксні оператори більше не підтримуються (оператор \"%s\")" -#: pg_dump.c:12732 +#: pg_dump.c:13096 #, c-format msgid "could not find operator with OID %s" msgstr "не вдалося знайти оператора з OID %s" -#: pg_dump.c:12800 +#: pg_dump.c:13164 #, c-format msgid "invalid type \"%c\" of access method \"%s\"" msgstr "неприпустимий тип \"%c\" методу доступу \"%s\"" -#: pg_dump.c:13469 pg_dump.c:13528 +#: pg_dump.c:13838 pg_dump.c:13906 #, c-format msgid "unrecognized collation provider: %s" msgstr "нерозпізнаний постачальник правил сортування: %s" -#: pg_dump.c:13478 pg_dump.c:13487 pg_dump.c:13497 pg_dump.c:13512 +#: pg_dump.c:13847 pg_dump.c:13854 pg_dump.c:13865 pg_dump.c:13875 +#: pg_dump.c:13890 #, c-format msgid "invalid collation \"%s\"" msgstr "неприпустиме правило сортування \"%s\"" -#: pg_dump.c:13918 +#: pg_dump.c:14296 #, c-format msgid "unrecognized aggfinalmodify value for aggregate \"%s\"" msgstr "нерозпізнане значення aggfinalmodify для агрегату \"%s\"" -#: pg_dump.c:13974 +#: pg_dump.c:14352 #, c-format msgid "unrecognized aggmfinalmodify value for aggregate \"%s\"" msgstr "нерозпізнане значення aggmfinalmodify для агрегату \"%s\"" -#: pg_dump.c:14691 +#: pg_dump.c:15069 #, c-format msgid "unrecognized object type in default privileges: %d" msgstr "нерозпізнаний тип об’єкта у стандартному праві: %d" -#: pg_dump.c:14707 +#: pg_dump.c:15085 #, c-format msgid "could not parse default ACL list (%s)" msgstr "не вдалося проаналізувати стандартний ACL список (%s)" -#: pg_dump.c:14789 +#: pg_dump.c:15169 #, 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:14814 +#: pg_dump.c:15194 #, 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:15355 +#: pg_dump.c:15737 #, c-format msgid "query to obtain definition of view \"%s\" returned no data" msgstr "запит на отримання визначення перегляду \"%s\" не повернув дані" -#: pg_dump.c:15358 +#: pg_dump.c:15740 #, c-format msgid "query to obtain definition of view \"%s\" returned more than one definition" msgstr "запит на отримання визначення перегляду \"%s\" повернув більше, ніж одне визначення" -#: pg_dump.c:15365 +#: pg_dump.c:15747 #, c-format msgid "definition of view \"%s\" appears to be empty (length zero)" msgstr "визначення перегляду \"%s\" пусте (довжина нуль)" -#: pg_dump.c:15449 +#: pg_dump.c:15832 #, c-format msgid "WITH OIDS is not supported anymore (table \"%s\")" msgstr "WITH OIDS більше не підтримується (таблиця\"%s\")" -#: pg_dump.c:16373 +#: pg_dump.c:16819 #, c-format msgid "invalid column number %d for table \"%s\"" msgstr "неприпустиме число стовпців %d для таблиці \"%s\"" -#: pg_dump.c:16451 +#: pg_dump.c:16897 #, c-format msgid "could not parse index statistic columns" msgstr "не вдалося проаналізувати стовпці статистики індексів" -#: pg_dump.c:16453 +#: pg_dump.c:16899 #, c-format msgid "could not parse index statistic values" msgstr "не вдалося проаналізувати значення статистики індексів" -#: pg_dump.c:16455 +#: pg_dump.c:16901 #, c-format msgid "mismatched number of columns and values for index statistics" msgstr "невідповідна кількість стовпців і значень для статистики індексів" -#: pg_dump.c:16671 +#: pg_dump.c:17116 #, c-format msgid "missing index for constraint \"%s\"" msgstr "пропущено індекс для обмеження \"%s\"" -#: pg_dump.c:16906 +#: pg_dump.c:17351 #, c-format msgid "unrecognized constraint type: %c" msgstr "нерозпізнаний тип обмеження: %c" -#: pg_dump.c:17007 pg_dump.c:17236 +#: pg_dump.c:17452 pg_dump.c:17682 #, 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)" @@ -2226,67 +2382,63 @@ msgstr[1] "запит на отримання даних послідовнос msgstr[2] "запит на отримання даних послідовності \"%s\" повернув %d рядків (очікувалося 1)" msgstr[3] "запит на отримання даних послідовності \"%s\" повернув %d рядків (очікувалося 1)" -#: pg_dump.c:17039 +#: pg_dump.c:17484 #, c-format msgid "unrecognized sequence type: %s" msgstr "нерозпізнаний тип послідовності: %s" -#: pg_dump.c:17328 -#, c-format -msgid "unexpected tgtype value: %d" -msgstr "неочікуване значення tgtype: %d" - -#: pg_dump.c:17400 -#, c-format -msgid "invalid argument string (%s) for trigger \"%s\" on table \"%s\"" -msgstr "неприпустимий рядок аргументу (%s) для тригера \"%s\" у таблиці \"%s\"" - -#: pg_dump.c:17669 +#: pg_dump.c:17999 #, c-format msgid "query to get rule \"%s\" for table \"%s\" failed: wrong number of rows returned" msgstr "помилка запиту на отримання правила \"%s\" для таблиці \"%s\": повернено неправильне число рядків " -#: pg_dump.c:17822 +#: pg_dump.c:18152 #, c-format msgid "could not find referenced extension %u" msgstr "не вдалося знайти згадане розширення %u" -#: pg_dump.c:17912 +#: pg_dump.c:18251 #, c-format msgid "mismatched number of configurations and conditions for extension" msgstr "невідповідна кількість конфігурацій і умов для розширення" -#: pg_dump.c:18044 +#: pg_dump.c:18383 #, c-format msgid "reading dependency data" msgstr "читання даних залежності" -#: pg_dump.c:18130 +#: pg_dump.c:18469 #, c-format msgid "no referencing object %u %u" msgstr "немає об’єкту посилання %u %u" -#: pg_dump.c:18141 +#: pg_dump.c:18480 #, c-format msgid "no referenced object %u %u" msgstr "немає посилання на об'єкт %u %u" -#: pg_dump_sort.c:422 +#: pg_dump.c:18905 pg_dump.c:18943 pg_dumpall.c:1962 pg_restore.c:551 +#: pg_restore.c:597 +#, c-format +msgid "%s filter for \"%s\" is not allowed" +msgstr "фільтр %s для \"%s\" не дозволений" + +#: pg_dump_sort.c:424 #, c-format msgid "invalid dumpId %d" msgstr "неприпустимий dumpId %d" -#: pg_dump_sort.c:428 +#: pg_dump_sort.c:430 #, c-format msgid "invalid dependency %d" msgstr "неприпустима залежність %d" -#: pg_dump_sort.c:661 +#: pg_dump_sort.c:594 #, c-format msgid "could not identify dependency loop" msgstr "не вдалося ідентифікувати цикл залежності" -#: pg_dump_sort.c:1276 +#: pg_dump_sort.c:1209 #, c-format msgid "there are circular foreign-key constraints on this table:" msgid_plural "there are circular foreign-key constraints among these tables:" @@ -2295,129 +2447,134 @@ msgstr[1] "у наступних таблицях зациклені зовні msgstr[2] "у наступних таблицях зациклені зовнішні ключі:" msgstr[3] "у наступних таблицях зациклені зовнішні ключі:" -#: pg_dump_sort.c:1281 +#: pg_dump_sort.c:1214 #, 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:1282 +#: pg_dump_sort.c:1215 #, 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:1294 +#: pg_dump_sort.c:1227 #, c-format msgid "could not resolve dependency loop among these items:" msgstr "не вдалося вирішити цикл залежності серед цих елементів:" -#: pg_dumpall.c:230 +#: pg_dumpall.c:231 #, 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:233 +#: pg_dumpall.c:234 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" msgstr "програма \"%s\" знайдена для \"%s\", але має відмінну версію від %s" -#: pg_dumpall.c:382 +#: pg_dumpall.c:387 #, 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:390 +#: pg_dumpall.c:395 #, 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:397 +#: pg_dumpall.c:402 #, 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:407 +#: pg_dumpall.c:412 #, 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:469 pg_dumpall.c:1750 +#: pg_dumpall.c:474 pg_dumpall.c:1771 #, c-format msgid "could not connect to database \"%s\"" msgstr "не вдалося зв'язатися з базою даних \"%s\"" -#: pg_dumpall.c:481 +#: pg_dumpall.c:486 #, c-format msgid "could not connect to databases \"postgres\" or \"template1\"\n" "Please specify an alternative database." msgstr "не вдалося зв'язатися з базами даних \"postgres\" або \"template1\"\n" "Будь ласка, вкажіть альтернативну базу даних." -#: pg_dumpall.c:629 +#: pg_dumpall.c:634 #, 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:631 +#: pg_dumpall.c:636 #, c-format msgid " %s [OPTION]...\n" msgstr " %s: [OPTION]...\n" -#: pg_dumpall.c:634 +#: pg_dumpall.c:639 #, c-format msgid " -f, --file=FILENAME output file name\n" msgstr " -f, --file=FILENAME ім'я вихідного файлу\n" -#: pg_dumpall.c:641 +#: pg_dumpall.c:646 #, c-format msgid " -c, --clean clean (drop) databases before recreating\n" msgstr " -c, --clean очистити (видалити) бази даних перед відтворенням\n" -#: pg_dumpall.c:643 +#: pg_dumpall.c:648 #, c-format msgid " -g, --globals-only dump only global objects, no databases\n" msgstr " -g, --globals-only вивантажувати лише глобальні об’єкти, не бази даних\n" -#: pg_dumpall.c:644 pg_restore.c:456 +#: pg_dumpall.c:649 pg_restore.c:475 #, c-format msgid " -O, --no-owner skip restoration of object ownership\n" msgstr " -O, --no-owner пропускається відновлення форми власності об’єктом\n" -#: pg_dumpall.c:645 +#: pg_dumpall.c:650 #, c-format msgid " -r, --roles-only dump only roles, no databases or tablespaces\n" msgstr " -r, --roles-only вивантажувати лише ролі, не бази даних або табличні простори\n" -#: pg_dumpall.c:647 +#: pg_dumpall.c:652 #, c-format msgid " -S, --superuser=NAME superuser user name to use in the dump\n" msgstr " -S, --superuser=NAME ім'я суперкористувача для використання при вивантажуванні\n" -#: pg_dumpall.c:648 +#: pg_dumpall.c:653 #, c-format msgid " -t, --tablespaces-only dump only tablespaces, no databases or roles\n" msgstr " -t, --tablespaces-only вивантажувати лише табличні простори, не бази даних або ролі\n" -#: pg_dumpall.c:654 +#: pg_dumpall.c:659 #, c-format msgid " --exclude-database=PATTERN exclude databases whose name matches PATTERN\n" msgstr " --exclude-database=PATTERN виключити бази даних, ім'я яких відповідає PATTERN\n" #: pg_dumpall.c:661 #, c-format +msgid " --filter=FILENAME exclude databases based on expressions in FILENAME\n" +msgstr " --filter=FILENAME виключити бази даних, на основі виразів у FILENAME\n" + +#: pg_dumpall.c:667 +#, c-format msgid " --no-role-passwords do not dump passwords for roles\n" msgstr " --no-role-passwords не вивантажувати паролі для ролей\n" -#: pg_dumpall.c:677 +#: pg_dumpall.c:683 #, c-format msgid " -d, --dbname=CONNSTR connect using connection string\n" msgstr " -d, --dbname=CONNSTR підключення з використанням рядку підключення \n" -#: pg_dumpall.c:679 +#: pg_dumpall.c:685 #, c-format msgid " -l, --database=DBNAME alternative default database\n" msgstr " -l, --database=DBNAME альтернативна база даних за замовчуванням\n" -#: pg_dumpall.c:686 +#: pg_dumpall.c:692 #, c-format msgid "\n" "If -f/--file is not used, then the SQL script will be written to the standard\n" @@ -2425,277 +2582,298 @@ msgid "\n" msgstr "\n" "Якщо -f/--file не використовується, тоді SQL- сценарій буде записаний до стандартного виводу.\n\n" -#: pg_dumpall.c:828 +#: pg_dumpall.c:837 #, c-format msgid "role name starting with \"pg_\" skipped (%s)" msgstr "пропущено ім’я ролі, що починається з \"pg_\" (%s)" -#: pg_dumpall.c:1050 +#: pg_dumpall.c:1059 #, c-format msgid "could not find a legal dump ordering for memberships in role \"%s\"" msgstr "не вдалося знайти правильний порядок вивантаження членства в ролі \"%s\"" -#: pg_dumpall.c:1185 +#: pg_dumpall.c:1194 #, c-format msgid "could not parse ACL list (%s) for parameter \"%s\"" msgstr "не вдалося аналізувати список ACL (%s) для параметра \"%s\"" -#: pg_dumpall.c:1303 +#: pg_dumpall.c:1321 #, c-format msgid "could not parse ACL list (%s) for tablespace \"%s\"" msgstr "не вдалося аналізувати список ACL (%s) для табличного простору \"%s\"" -#: pg_dumpall.c:1510 +#: pg_dumpall.c:1528 #, c-format msgid "excluding database \"%s\"" msgstr "виключаємо базу даних \"%s\"" -#: pg_dumpall.c:1514 +#: pg_dumpall.c:1532 #, c-format msgid "dumping database \"%s\"" msgstr "вивантажуємо базу даних \"%s\"" -#: pg_dumpall.c:1545 +#: pg_dumpall.c:1563 #, c-format msgid "pg_dump failed on database \"%s\", exiting" msgstr "помилка pg_dump для бази даних \"%s\", завершення роботи" -#: pg_dumpall.c:1551 +#: pg_dumpall.c:1569 #, c-format msgid "could not re-open the output file \"%s\": %m" msgstr "не вдалося повторно відкрити файл виводу \"%s\": %m" -#: pg_dumpall.c:1592 +#: pg_dumpall.c:1613 #, c-format msgid "running \"%s\"" msgstr "виконується \"%s\"" -#: pg_dumpall.c:1793 +#: pg_dumpall.c:1814 #, c-format msgid "could not get server version" msgstr "не вдалося отримати версію серверу" -#: pg_dumpall.c:1796 +#: pg_dumpall.c:1817 #, c-format msgid "could not parse server version \"%s\"" msgstr "не вдалося аналізувати версію серверу \"%s\"" -#: pg_dumpall.c:1866 pg_dumpall.c:1889 +#: pg_dumpall.c:1887 pg_dumpall.c:1910 #, c-format msgid "executing %s" msgstr "виконується %s" -#: pg_restore.c:313 +#: pg_dumpall.c:1982 +msgid "unsupported filter object" +msgstr "непідтримуваний об'єкт фільтру" + +#: pg_restore.c:329 #, c-format msgid "one of -d/--dbname and -f/--file must be specified" msgstr "необхідно вказати один з -d/--dbname або -f/--file" -#: pg_restore.c:320 +#: pg_restore.c:336 #, c-format msgid "options -d/--dbname and -f/--file cannot be used together" msgstr "параметри -d/--dbname і -f/--file не можуть використовуватись разом" -#: pg_restore.c:338 +#: pg_restore.c:350 +#, c-format +msgid "options -1/--single-transaction and --transaction-size cannot be used together" +msgstr "параметри -1/--single-transaction і --transaction-size не можуть використовуватись разом" + +#: pg_restore.c:357 #, c-format msgid "options -C/--create and -1/--single-transaction cannot be used together" msgstr "параметри -C/--create і -1/--single-transaction не можуть використовуватись разом" -#: pg_restore.c:342 +#: pg_restore.c:361 #, c-format msgid "cannot specify both --single-transaction and multiple jobs" msgstr "параметр --single-transaction допускається лише з одним завданням" -#: pg_restore.c:380 +#: pg_restore.c:399 #, c-format msgid "unrecognized archive format \"%s\"; please specify \"c\", \"d\", or \"t\"" msgstr "нерозпізнаний формат архіву \"%s\"; будь ласка, вкажіть \"c\", \"d\" або \"t\"" -#: pg_restore.c:419 +#: pg_restore.c:438 #, c-format msgid "errors ignored on restore: %d" msgstr "при відновленні проігноровано помилок: %d" -#: pg_restore.c:432 +#: pg_restore.c:451 #, 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:434 +#: pg_restore.c:453 #, c-format msgid " %s [OPTION]... [FILE]\n" msgstr " %s [OPTION]... [FILE]\n" -#: pg_restore.c:437 +#: pg_restore.c:456 #, c-format msgid " -d, --dbname=NAME connect to database name\n" msgstr " -d, --dbname=NAME підключитись до вказаної бази даних\n" -#: pg_restore.c:438 +#: pg_restore.c:457 #, c-format msgid " -f, --file=FILENAME output file name (- for stdout)\n" msgstr " -f, --file=FILENAME ім'я файлу виводу (- для stdout)\n" -#: pg_restore.c:439 +#: pg_restore.c:458 #, 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:440 +#: pg_restore.c:459 #, c-format msgid " -l, --list print summarized TOC of the archive\n" msgstr " -l, --list вивести короткий зміст архіву\n" -#: pg_restore.c:441 +#: pg_restore.c:460 #, c-format msgid " -v, --verbose verbose mode\n" msgstr " -v, --verbose детальний режим\n" -#: pg_restore.c:442 +#: pg_restore.c:461 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version вивести інформацію про версію, потім вийти\n" -#: pg_restore.c:443 +#: pg_restore.c:462 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help показати цю довідку, потім вийти\n" -#: pg_restore.c:445 +#: pg_restore.c:464 #, c-format msgid "\n" "Options controlling the restore:\n" msgstr "\n" "Параметри, що керують відновленням:\n" -#: pg_restore.c:446 +#: pg_restore.c:465 #, c-format msgid " -a, --data-only restore only the data, no schema\n" msgstr " -a, --data-only відновити лише дані, без схеми\n" -#: pg_restore.c:448 +#: pg_restore.c:467 #, c-format msgid " -C, --create create the target database\n" msgstr " -C, --create створити цільову базу даних\n" -#: pg_restore.c:449 +#: pg_restore.c:468 #, c-format msgid " -e, --exit-on-error exit on error, default is to continue\n" msgstr " -e, --exit-on-error вийти при помилці, продовжувати за замовчуванням\n" -#: pg_restore.c:450 +#: pg_restore.c:469 #, c-format msgid " -I, --index=NAME restore named index\n" msgstr " -I, --index=NAME відновити вказаний індекс\n" -#: pg_restore.c:451 +#: pg_restore.c:470 #, c-format msgid " -j, --jobs=NUM use this many parallel jobs to restore\n" msgstr " -j, --jobs=NUM щоб виконати відновлення, використайте ці паралельні завдання\n" -#: pg_restore.c:452 +#: pg_restore.c:471 #, 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:454 +#: pg_restore.c:473 #, c-format msgid " -n, --schema=NAME restore only objects in this schema\n" msgstr " -n, --schema=NAME відновити об'єкти лише в цій схемі\n" -#: pg_restore.c:455 +#: pg_restore.c:474 #, c-format msgid " -N, --exclude-schema=NAME do not restore objects in this schema\n" msgstr " -N, --exclude-schema=NAME не відновлювати об'єкти в цій схемі\n" -#: pg_restore.c:457 +#: pg_restore.c:476 #, c-format msgid " -P, --function=NAME(args) restore named function\n" msgstr " -P, --function=NAME(args) відновити вказану функцію\n" -#: pg_restore.c:458 +#: pg_restore.c:477 #, c-format msgid " -s, --schema-only restore only the schema, no data\n" msgstr " -s, --schema-only відновити лише схему, без даних\n" -#: pg_restore.c:459 +#: pg_restore.c:478 #, c-format msgid " -S, --superuser=NAME superuser user name to use for disabling triggers\n" msgstr " -S, --superuser=NAME ім'я суперкористувача для вимкнення тригерів\n" -#: pg_restore.c:460 +#: pg_restore.c:479 #, c-format msgid " -t, --table=NAME restore named relation (table, view, etc.)\n" msgstr " -t, --table=NAME відновити вказане відношення (таблицю, подання і т. д.)\n" -#: pg_restore.c:461 +#: pg_restore.c:480 #, c-format msgid " -T, --trigger=NAME restore named trigger\n" msgstr " -T, --trigger=NAME відновити вказаний тригер\n" -#: pg_restore.c:462 +#: pg_restore.c:481 #, c-format msgid " -x, --no-privileges skip restoration of access privileges (grant/revoke)\n" msgstr " -x, --no-privileges пропустити відновлення прав доступу (grant/revoke)\n" -#: pg_restore.c:463 +#: pg_restore.c:482 #, c-format msgid " -1, --single-transaction restore as a single transaction\n" msgstr " -1, --single-transaction відновити в одній транзакції\n" -#: pg_restore.c:465 +#: pg_restore.c:484 #, c-format msgid " --enable-row-security enable row security\n" msgstr " --enable-row-security активувати захист на рівні рядків\n" -#: pg_restore.c:467 +#: pg_restore.c:485 +#, 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 #, c-format msgid " --no-comments do not restore comments\n" msgstr " --no-comments не відновлювати коментарі\n" -#: pg_restore.c:468 +#: pg_restore.c:489 #, 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:470 +#: pg_restore.c:491 #, c-format msgid " --no-publications do not restore publications\n" msgstr " --no-publications не відновлювати публікації \n" -#: pg_restore.c:471 +#: pg_restore.c:492 #, c-format msgid " --no-security-labels do not restore security labels\n" msgstr " --no-security-labels не відновлювати мітки безпеки \n" -#: pg_restore.c:472 +#: pg_restore.c:493 #, c-format msgid " --no-subscriptions do not restore subscriptions\n" msgstr " --no-subscriptions не відновлювати підписки\n" -#: pg_restore.c:473 +#: pg_restore.c:494 #, c-format msgid " --no-table-access-method do not restore table access methods\n" msgstr " --no-table-access-method не відновлювати табличний метод доступу\n" -#: pg_restore.c:474 +#: pg_restore.c:495 #, c-format msgid " --no-tablespaces do not restore tablespace assignments\n" msgstr " --no-tablespaces не відновлювати завдання табличного простору\n" -#: pg_restore.c:475 +#: pg_restore.c:496 #, 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:488 +#: pg_restore.c:499 +#, c-format +msgid " --transaction-size=N commit after every N objects\n" +msgstr " --transaction-size=N затверджувати транзакцію після N об'єктів\n" + +#: pg_restore.c:510 #, c-format msgid " --role=ROLENAME do SET ROLE before restore\n" msgstr " --role=ROLENAME виконати SET ROLE перед відновленням\n" -#: pg_restore.c:490 +#: pg_restore.c:512 #, c-format msgid "\n" "The options -I, -n, -N, -P, -t, -T, and --section can be combined and specified\n" @@ -2704,7 +2882,7 @@ msgstr "\n" "Параметри -I, -n, -N, -P, -t, -T, і --section можна групувати і вказувати\n" "декілька разів для вибору декількох об'єктів.\n" -#: pg_restore.c:493 +#: pg_restore.c:515 #, c-format msgid "\n" "If no input file name is supplied, then standard input is used.\n\n" diff --git a/src/bin/pg_resetwal/po/es.po b/src/bin/pg_resetwal/po/es.po index cc3e5666478..9f707ad308b 100644 --- a/src/bin/pg_resetwal/po/es.po +++ b/src/bin/pg_resetwal/po/es.po @@ -4,7 +4,7 @@ # This file is distributed under the same license as the PostgreSQL package. # # Ivan Hernandez , 2003. -# Alvaro Herrera , 2004-2014 +# Alvaro Herrera , 2004-2014, 2024 # Jaime Casanova , 2005 # Martín Marqués , 2013-2014 # @@ -12,8 +12,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_resetwal (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-10-03 07:19+0000\n" -"PO-Revision-Date: 2023-10-03 16:16+0200\n" +"POT-Creation-Date: 2024-08-01 11:21+0000\n" +"PO-Revision-Date: 2024-08-02 16:33-0400\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" "Language: es\n" @@ -43,6 +43,107 @@ msgstr "detalle: " msgid "hint: " msgstr "consejo: " +#: ../../common/controldata_utils.c:97 pg_resetwal.c:370 pg_resetwal.c:525 +#: pg_resetwal.c:573 +#, 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 +#, c-format +msgid "could not read file \"%s\": %m" +msgstr "no se pudo leer el archivo «%s»: %m" + +#: ../../common/controldata_utils.c:119 +#, c-format +msgid "could not read file \"%s\": read %d of %zu" +msgstr "no se pudo leer el archivo «%s»: leídos %d de %zu" + +#: ../../common/controldata_utils.c:132 ../../common/controldata_utils.c:280 +#, c-format +msgid "could not close file \"%s\": %m" +msgstr "no se pudo cerrar el archivo «%s»: %m" + +#: ../../common/controldata_utils.c:168 +msgid "byte ordering mismatch" +msgstr "discordancia en orden de bytes" + +#: ../../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 "" +"posible discordancia en orden de bytes\n" +"El ordenamiento de bytes usado para almacenar el archivo pg_control puede no\n" +"coincidir con el usado por este programa. En tal caso los resultados de abajo\n" +"serían erróneos, y la instalación de PostgreSQL sería incompatible con este\n" +"directorio de datos." + +#: ../../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 +#, 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 +#, c-format +msgid "could not write file \"%s\": %m" +msgstr "no se pudo escribir el archivo «%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 "no se pudo sincronizar (fsync) archivo «%s»: %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 "memoria agotada\n" + +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 +#, c-format +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "no se puede duplicar un puntero nulo (error interno)\n" + +#: ../../common/file_utils.c:76 +#, 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" + +#: ../../common/file_utils.c:120 ../../common/file_utils.c:566 +#, c-format +msgid "could not stat file \"%s\": %m" +msgstr "no se pudo hacer stat al archivo «%s»: %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 "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 +#, 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 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "no se pudo leer el directorio «%s»: %m" + +#: ../../common/file_utils.c:498 +#, c-format +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "no se pudo renombrar el archivo de «%s» a «%s»: %m" + #: ../../common/restricted_token.c:60 #, c-format msgid "could not open process token: error code %lu" @@ -73,163 +174,168 @@ msgstr "no se pudo re-ejecutar con el token restringido: código de error %lu" msgid "could not get exit code from subprocess: error code %lu" msgstr "no se pudo obtener el código de salida del subproceso»: código de error %lu" +#: ../../fe_utils/option_utils.c:69 +#, c-format +msgid "invalid value \"%s\" for option %s" +msgstr "el valor «%s» no es válido para la opción %s" + +#: ../../fe_utils/option_utils.c:76 +#, c-format +msgid "%s must be in range %d..%d" +msgstr "%s debe estar en el rango %d..%d" + +#: ../../fe_utils/option_utils.c:106 +#, c-format +msgid "unrecognized sync method: %s" +msgstr "método de sync no reconocido: %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: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 #, c-format msgid "invalid argument for option %s" msgstr "argumento no válido para la opción %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:303 pg_resetwal.c:316 -#: pg_resetwal.c:323 +#: 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 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Pruebe «%s --help» para mayor información." -#: pg_resetwal.c:168 +#: pg_resetwal.c:169 #, c-format msgid "transaction ID epoch (-e) must not be -1" -msgstr "el «epoch» de ID de transacción (-e) no debe ser -1" +msgstr "el \"epoch\" de ID de transacción (-e) no debe ser -1" -#: pg_resetwal.c:181 +#: pg_resetwal.c:182 #, 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:194 +#: pg_resetwal.c:195 #, 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:216 pg_resetwal.c:220 +#: pg_resetwal.c:217 pg_resetwal.c:221 #, c-format -msgid "transaction ID (-c) must be either 0 or greater than or equal to 2" -msgstr "el ID de transacción (-c) debe ser 0 o bien mayor o igual a 2" +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:233 +#: pg_resetwal.c:234 #, c-format msgid "OID (-o) must not be 0" msgstr "OID (-o) no debe ser cero" -#: pg_resetwal.c:254 +#: 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:261 +#: pg_resetwal.c:262 #, 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:274 +#: pg_resetwal.c:275 #, c-format msgid "multitransaction offset (-O) must not be -1" msgstr "la posición de multitransacción (-O) no debe ser -1" -#: pg_resetwal.c:296 +#: pg_resetwal.c:301 #, c-format -msgid "argument of --wal-segsize must be a number" -msgstr "el argumento de --wal-segsize debe ser un número" +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:298 -#, c-format -msgid "argument of --wal-segsize must be a power of two between 1 and 1024" -msgstr "el argumento de --wal-segsize debe ser una potencia de dos entre 1 y 1024" - -#: pg_resetwal.c:314 +#: pg_resetwal.c:318 #, 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:322 +#: pg_resetwal.c:326 #, c-format msgid "no data directory specified" msgstr "directorio de datos no especificado" -#: pg_resetwal.c:336 +#: pg_resetwal.c:340 #, c-format msgid "cannot be executed by \"root\"" msgstr "no puede ser ejecutado con el usuario «root»" -#: pg_resetwal.c:337 +#: pg_resetwal.c:341 #, c-format msgid "You must run %s as the PostgreSQL superuser." msgstr "Debe ejecutar %s con el superusuario de PostgreSQL." -#: pg_resetwal.c:347 +#: pg_resetwal.c:351 #, 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:353 +#: pg_resetwal.c:357 #, c-format msgid "could not change directory to \"%s\": %m" msgstr "no se pudo cambiar al directorio «%s»: %m" -#: pg_resetwal.c:366 pg_resetwal.c:518 pg_resetwal.c:566 -#, c-format -msgid "could not open file \"%s\" for reading: %m" -msgstr "no se pudo abrir archivo «%s» para lectura: %m" - -#: pg_resetwal.c:371 +#: pg_resetwal.c:375 #, c-format msgid "lock file \"%s\" exists" msgstr "el archivo candado «%s» existe" -#: pg_resetwal.c:372 +#: pg_resetwal.c:376 #, 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:467 +#: pg_resetwal.c:475 #, c-format -msgid "" -"\n" -"If these values seem acceptable, use -f to force reset.\n" -msgstr "" -"\n" -"Si estos valores parecen aceptables, use -f para forzar reinicio.\n" +msgid "not proceeding because control file values were guessed" +msgstr "no continuando porque los valores del archivo de control fueron asumidos" -#: pg_resetwal.c:479 +#: pg_resetwal.c:476 #, c-format -msgid "" -"The database server was not shut down cleanly.\n" -"Resetting the write-ahead log might cause data to be lost.\n" -"If you want to proceed anyway, use -f to force reset.\n" -msgstr "" -"El servidor de bases de datos no se apagó limpiamente.\n" -"Restablecer el WAL puede causar pérdida de datos.\n" -"Si quiere continuar de todas formas, use -f para forzar el restablecimiento.\n" +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 +#, c-format +msgid "database server was not shut down cleanly" +msgstr "el directorio de destino no fue apagado limpiamente" + +#: pg_resetwal.c:486 +#, 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 +#, 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:493 +#: pg_resetwal.c:500 #, c-format msgid "Write-ahead log reset\n" -msgstr "«Write-ahead log» restablecido\n" +msgstr "\"Write-ahead log\" restablecido\n" -#: pg_resetwal.c:525 +#: pg_resetwal.c:532 #, c-format msgid "unexpected empty file \"%s\"" msgstr "archivo vacío inesperado «%s»" -#: pg_resetwal.c:527 pg_resetwal.c:581 -#, c-format -msgid "could not read file \"%s\": %m" -msgstr "no se pudo leer el archivo «%s»: %m" - -#: pg_resetwal.c:535 +#: pg_resetwal.c:542 #, c-format msgid "data directory is of wrong version" msgstr "el directorio de datos tiene la versión equivocada" -#: pg_resetwal.c:536 +#: pg_resetwal.c:543 #, 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:569 +#: pg_resetwal.c:576 #, c-format msgid "" "If you are sure the data directory path is correct, execute\n" @@ -240,24 +346,24 @@ msgstr "" " touch %s\n" "y pruebe de nuevo." -#: pg_resetwal.c:597 +#: pg_resetwal.c:604 #, 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:606 +#: pg_resetwal.c:613 #, 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:617 +#: pg_resetwal.c:624 #, 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:712 +#: pg_resetwal.c:719 #, c-format msgid "" "Guessed pg_control values:\n" @@ -266,7 +372,7 @@ msgstr "" "Valores de pg_control asumidos:\n" "\n" -#: pg_resetwal.c:714 +#: pg_resetwal.c:721 #, c-format msgid "" "Current pg_control values:\n" @@ -275,167 +381,167 @@ msgstr "" "Valores actuales de pg_control:\n" "\n" -#: pg_resetwal.c:716 +#: pg_resetwal.c:723 #, c-format msgid "pg_control version number: %u\n" msgstr "Número de versión de pg_control: %u\n" -#: pg_resetwal.c:718 +#: pg_resetwal.c:725 #, c-format msgid "Catalog version number: %u\n" msgstr "Número de versión de catálogo: %u\n" -#: pg_resetwal.c:720 +#: pg_resetwal.c:727 #, c-format msgid "Database system identifier: %llu\n" msgstr "Identificador de sistema: %llu\n" -#: pg_resetwal.c:722 +#: pg_resetwal.c:729 #, c-format msgid "Latest checkpoint's TimeLineID: %u\n" msgstr "TimeLineID del checkpoint más reciente: %u\n" -#: pg_resetwal.c:724 +#: pg_resetwal.c:731 #, 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:725 +#: pg_resetwal.c:732 msgid "off" msgstr "desactivado" -#: pg_resetwal.c:725 +#: pg_resetwal.c:732 msgid "on" msgstr "activado" -#: pg_resetwal.c:726 +#: pg_resetwal.c:733 #, c-format msgid "Latest checkpoint's NextXID: %u:%u\n" msgstr "NextXID del checkpoint más reciente: %u:%u\n" -#: pg_resetwal.c:729 +#: pg_resetwal.c:736 #, c-format msgid "Latest checkpoint's NextOID: %u\n" msgstr "NextOID del checkpoint más reciente: %u\n" -#: pg_resetwal.c:731 +#: pg_resetwal.c:738 #, c-format msgid "Latest checkpoint's NextMultiXactId: %u\n" msgstr "NextMultiXactId del checkpoint más reciente: %u\n" -#: pg_resetwal.c:733 +#: pg_resetwal.c:740 #, c-format msgid "Latest checkpoint's NextMultiOffset: %u\n" msgstr "NextMultiOffset del checkpoint más reciente: %u\n" -#: pg_resetwal.c:735 +#: pg_resetwal.c:742 #, c-format msgid "Latest checkpoint's oldestXID: %u\n" msgstr "oldestXID del checkpoint más reciente: %u\n" -#: pg_resetwal.c:737 +#: pg_resetwal.c:744 #, 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:739 +#: pg_resetwal.c:746 #, c-format msgid "Latest checkpoint's oldestActiveXID: %u\n" msgstr "oldestActiveXID del checkpoint más reciente: %u\n" -#: pg_resetwal.c:741 +#: pg_resetwal.c:748 #, c-format msgid "Latest checkpoint's oldestMultiXid: %u\n" msgstr "oldestMultiXid del checkpoint más reciente: %u\n" -#: pg_resetwal.c:743 +#: pg_resetwal.c:750 #, 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:745 +#: pg_resetwal.c:752 #, c-format msgid "Latest checkpoint's oldestCommitTsXid:%u\n" msgstr "oldestCommitTsXid del último checkpoint: %u\n" -#: pg_resetwal.c:747 +#: pg_resetwal.c:754 #, c-format msgid "Latest checkpoint's newestCommitTsXid:%u\n" msgstr "newestCommitTsXid del último checkpoint: %u\n" -#: pg_resetwal.c:749 +#: pg_resetwal.c:756 #, c-format msgid "Maximum data alignment: %u\n" msgstr "Máximo alineamiento de datos: %u\n" -#: pg_resetwal.c:752 +#: pg_resetwal.c:759 #, c-format msgid "Database block size: %u\n" msgstr "Tamaño del bloque de la base de datos: %u\n" -#: pg_resetwal.c:754 +#: pg_resetwal.c:761 #, c-format msgid "Blocks per segment of large relation: %u\n" msgstr "Bloques por segmento de relación grande: %u\n" -#: pg_resetwal.c:756 +#: pg_resetwal.c:763 #, c-format msgid "WAL block size: %u\n" msgstr "Tamaño del bloque de WAL: %u\n" -#: pg_resetwal.c:758 pg_resetwal.c:844 +#: pg_resetwal.c:765 pg_resetwal.c:851 #, c-format msgid "Bytes per WAL segment: %u\n" msgstr "Bytes por segmento WAL: %u\n" -#: pg_resetwal.c:760 +#: pg_resetwal.c:767 #, c-format msgid "Maximum length of identifiers: %u\n" msgstr "Longitud máxima de identificadores: %u\n" -#: pg_resetwal.c:762 +#: pg_resetwal.c:769 #, 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:764 +#: pg_resetwal.c:771 #, c-format msgid "Maximum size of a TOAST chunk: %u\n" msgstr "Longitud máxima de un trozo TOAST: %u\n" -#: pg_resetwal.c:766 +#: pg_resetwal.c:773 #, 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:769 +#: pg_resetwal.c:776 #, c-format msgid "Date/time type storage: %s\n" msgstr "Tipo de almacenamiento hora/fecha: %s\n" -#: pg_resetwal.c:770 +#: pg_resetwal.c:777 msgid "64-bit integers" msgstr "enteros de 64 bits" -#: pg_resetwal.c:771 +#: pg_resetwal.c:778 #, c-format msgid "Float8 argument passing: %s\n" msgstr "Paso de parámetros float8: %s\n" -#: pg_resetwal.c:772 +#: pg_resetwal.c:779 msgid "by reference" msgstr "por referencia" -#: pg_resetwal.c:772 +#: pg_resetwal.c:779 msgid "by value" msgstr "por valor" -#: pg_resetwal.c:773 +#: pg_resetwal.c:780 #, c-format msgid "Data page checksum version: %u\n" msgstr "Versión de suma de verificación de datos: %u\n" -#: pg_resetwal.c:787 +#: pg_resetwal.c:794 #, c-format msgid "" "\n" @@ -448,127 +554,149 @@ msgstr "" "Valores a cambiar:\n" "\n" -#: pg_resetwal.c:791 +#: pg_resetwal.c:798 #, c-format msgid "First log segment after reset: %s\n" msgstr "Primer segmento de log después de reiniciar: %s\n" -#: pg_resetwal.c:795 +#: pg_resetwal.c:802 #, c-format msgid "NextMultiXactId: %u\n" msgstr "NextMultiXactId: %u\n" -#: pg_resetwal.c:797 +#: pg_resetwal.c:804 #, c-format msgid "OldestMultiXid: %u\n" msgstr "OldestMultiXid: %u\n" -#: pg_resetwal.c:799 +#: pg_resetwal.c:806 #, c-format msgid "OldestMulti's DB: %u\n" msgstr "Base de datos del OldestMulti: %u\n" -#: pg_resetwal.c:805 +#: pg_resetwal.c:812 #, c-format msgid "NextMultiOffset: %u\n" msgstr "NextMultiOffset: %u\n" -#: pg_resetwal.c:811 +#: pg_resetwal.c:818 #, c-format msgid "NextOID: %u\n" msgstr "NextOID: %u\n" -#: pg_resetwal.c:817 +#: pg_resetwal.c:824 #, c-format msgid "NextXID: %u\n" msgstr "NextXID: %u\n" -#: pg_resetwal.c:819 +#: pg_resetwal.c:826 #, c-format msgid "OldestXID: %u\n" msgstr "OldestXID: %u\n" -#: pg_resetwal.c:821 +#: pg_resetwal.c:828 #, c-format msgid "OldestXID's DB: %u\n" msgstr "Base de datos del OldestXID: %u\n" -#: pg_resetwal.c:827 +#: pg_resetwal.c:834 #, c-format msgid "NextXID epoch: %u\n" msgstr "Epoch del NextXID: %u\n" -#: pg_resetwal.c:833 +#: pg_resetwal.c:840 #, c-format msgid "oldestCommitTsXid: %u\n" msgstr "oldestCommitTsXid: %u\n" -#: pg_resetwal.c:838 +#: pg_resetwal.c:845 #, c-format msgid "newestCommitTsXid: %u\n" msgstr "newestCommitTsXid: %u\n" -#: pg_resetwal.c:921 pg_resetwal.c:974 pg_resetwal.c:1009 -#, c-format -msgid "could not open directory \"%s\": %m" -msgstr "no se pudo abrir el directorio «%s»: %m" - -#: pg_resetwal.c:947 pg_resetwal.c:988 pg_resetwal.c:1026 -#, c-format -msgid "could not read directory \"%s\": %m" -msgstr "no se pudo leer el directorio «%s»: %m" - -#: pg_resetwal.c:950 pg_resetwal.c:991 pg_resetwal.c:1029 +#: pg_resetwal.c:957 pg_resetwal.c:998 pg_resetwal.c:1036 pg_resetwal.c:1071 #, c-format msgid "could not close directory \"%s\": %m" msgstr "no se pudo abrir el directorio «%s»: %m" -#: pg_resetwal.c:983 pg_resetwal.c:1021 +#: pg_resetwal.c:990 pg_resetwal.c:1028 pg_resetwal.c:1063 #, c-format msgid "could not delete file \"%s\": %m" msgstr "no se pudo borrar el archivo «%s»: %m" -#: pg_resetwal.c:1093 -#, c-format -msgid "could not open file \"%s\": %m" -msgstr "no se pudo abrir el archivo «%s»: %m" - -#: pg_resetwal.c:1101 pg_resetwal.c:1113 -#, c-format -msgid "could not write file \"%s\": %m" -msgstr "no se pudo escribir el archivo «%s»: %m" - -#: pg_resetwal.c:1118 +#: pg_resetwal.c:1159 #, c-format msgid "fsync error: %m" msgstr "error de fsync: %m" -#: pg_resetwal.c:1127 +#: pg_resetwal.c:1168 #, c-format msgid "" "%s resets the PostgreSQL write-ahead log.\n" "\n" msgstr "" -"%s restablece el WAL («write-ahead log») de PostgreSQL.\n" +"%s restablece el WAL (\"write-ahead log\") de PostgreSQL.\n" "\n" -#: pg_resetwal.c:1128 +#: pg_resetwal.c:1169 +#, c-format +msgid "Usage:\n" +msgstr "Empleo:\n" + +#: pg_resetwal.c:1170 +#, c-format +msgid " %s [OPTION]... DATADIR\n" +msgstr " %s [OPCIÓN]... DATADIR\n" + +#: pg_resetwal.c:1172 #, c-format msgid "" -"Usage:\n" -" %s [OPTION]... DATADIR\n" "\n" +"Options:\n" msgstr "" -"Uso:\n" -" %s [OPCIÓN]... DATADIR\n" "\n" +"Opciones:\n" -#: pg_resetwal.c:1129 +#: pg_resetwal.c:1173 #, c-format -msgid "Options:\n" -msgstr "Opciones:\n" +msgid " [-D, --pgdata=]DATADIR data directory\n" +msgstr " [-D, --pgdata=]DATADIR directorio de datos\n" -#: pg_resetwal.c:1130 +#: pg_resetwal.c:1174 +#, 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 forzar que la actualización se haga incluso después\n" +" de un apagado no limpio o si los valores de pg_control\n" +" tuvieron que asumirse\n" + +#: pg_resetwal.c:1176 +#, 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 +#, 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 +#, c-format +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help mostrar esta ayuda, luego salir\n" + +#: pg_resetwal.c:1180 +#, c-format +msgid "" +"\n" +"Options to override control file values:\n" +msgstr "" +"\n" +"Opciones para sobreescribir valores del archivo de control:\n" + +#: pg_resetwal.c:1181 #, c-format msgid "" " -c, --commit-timestamp-ids=XID,XID\n" @@ -576,87 +704,57 @@ msgid "" " commit timestamp (zero means no change)\n" msgstr "" " -c, --commit-timestamp-ids=XID,XID\n" -" definir la más antigua y la más nueva transacciones\n" -" que llevan timestamp de commit (cero significa no\n" -" cambiar)\n" +" definir la más antigua y la más nueva\n" +" transacciones que llevan timestamp de commit\n" +" (cero significa no cambiar)\n" -#: pg_resetwal.c:1133 -#, c-format -msgid " [-D, --pgdata=]DATADIR data directory\n" -msgstr " [-D, --pgdata=]DATADIR directorio de datos\n" - -#: pg_resetwal.c:1134 +#: pg_resetwal.c:1184 #, c-format msgid " -e, --epoch=XIDEPOCH set next transaction ID epoch\n" -msgstr " -e, --epoch=XIDEPOCH asigna el siguiente «epoch» de ID de transacción\n" - -#: pg_resetwal.c:1135 -#, c-format -msgid " -f, --force force update to be done\n" -msgstr " -f, --force fuerza que la actualización sea hecha\n" +msgstr "" +" -e, --epoch=XIDEPOCH asigna el siguiente \"epoch\" de ID de\n" +" transacción\n" -#: pg_resetwal.c:1136 +#: pg_resetwal.c:1185 #, c-format msgid " -l, --next-wal-file=WALFILE set minimum starting location for new WAL\n" msgstr "" -" -l, --next-wal-file=ARCHIVOWAL\n" -" fuerza una ubicación inicial mínima para nuevo WAL\n" +" -l, --next-wal-file=ARCHIVOWAL fuerza una ubicación inicial mínima para\n" +" nuevo WAL\n" -#: pg_resetwal.c:1137 +#: pg_resetwal.c:1186 #, c-format msgid " -m, --multixact-ids=MXID,MXID set next and oldest multitransaction ID\n" msgstr "" -" -m, --multixact-ids=MXID,MXID\n" -" asigna el siguiente ID de multitransacción y\n" -" el más antiguo\n" +" -m, --multixact-ids=MXID,MXID asigna el siguiente ID de multitransacción\n" +" y el más antiguo\n" -#: pg_resetwal.c:1138 -#, 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:1139 +#: pg_resetwal.c:1187 #, c-format msgid " -o, --next-oid=OID set next OID\n" -msgstr " -o, --next-oid=OID asigna el siguiente OID\n" +msgstr " -o, --next-oid=OID asigna el siguiente OID\n" -#: pg_resetwal.c:1140 +#: pg_resetwal.c:1188 #, c-format msgid " -O, --multixact-offset=OFFSET set next multitransaction offset\n" -msgstr "" -" -O, --multixact-offset=OFFSET\n" -" asigna la siguiente posición de multitransacción\n" +msgstr " -O, --multixact-offset=OFFSET asigna la siguiente pos. de multitransacción\n" -#: pg_resetwal.c:1141 +#: pg_resetwal.c:1189 #, c-format msgid " -u, --oldest-transaction-id=XID set oldest transaction ID\n" -msgstr "" -" -u, --oldest-transaction-id=XID\n" -" asigna el ID de transacción más antiguo\n" +msgstr " -u, --oldest-transaction-id=XID asigna el ID de transacción más antiguo\n" -#: pg_resetwal.c:1142 -#, c-format -msgid " -V, --version output version information, then exit\n" -msgstr " -V, --version mostrar información de versión y salir\n" - -#: pg_resetwal.c:1143 +#: pg_resetwal.c:1190 #, c-format msgid " -x, --next-transaction-id=XID set next transaction ID\n" -msgstr "" -" -x, --next-transaction-id=XID\n" -" asigna el siguiente ID de transacción\n" +msgstr " -x, --next-transaction-id=XID asigna el siguiente ID de transacción\n" -#: pg_resetwal.c:1144 +#: pg_resetwal.c:1191 #, 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:1145 -#, c-format -msgid " -?, --help show this help, then exit\n" -msgstr " -?, --help mostrar esta ayuda y salir\n" +msgstr " --wal-segsize=TAMAÑO tamaño de segmentos de WAL, en megabytes\n" -#: pg_resetwal.c:1146 +#: pg_resetwal.c:1193 #, c-format msgid "" "\n" @@ -665,7 +763,7 @@ msgstr "" "\n" "Reporte errores a <%s>.\n" -#: pg_resetwal.c:1147 +#: pg_resetwal.c:1194 #, c-format msgid "%s home page: <%s>\n" msgstr "Sitio web de %s: <%s>\n" diff --git a/src/bin/pg_resetwal/po/fr.po b/src/bin/pg_resetwal/po/fr.po index 9c029480625..dac983a2a57 100644 --- a/src/bin/pg_resetwal/po/fr.po +++ b/src/bin/pg_resetwal/po/fr.po @@ -10,10 +10,10 @@ # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 15\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-09-05 17:20+0000\n" -"PO-Revision-Date: 2023-09-05 22:02+0200\n" +"POT-Creation-Date: 2024-08-22 10:21+0000\n" +"PO-Revision-Date: 2024-09-16 16:28+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -21,7 +21,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.3.2\n" +"X-Generator: Poedit 3.5\n" #: ../../../src/common/logging.c:276 #, c-format @@ -43,6 +43,107 @@ msgstr "détail : " msgid "hint: " msgstr "astuce : " +#: ../../common/controldata_utils.c:97 pg_resetwal.c:370 pg_resetwal.c:525 +#: pg_resetwal.c:573 +#, c-format +msgid "could not open file \"%s\" for reading: %m" +msgstr "n'a pas pu ouvrir le fichier « %s » pour une lecture : %m" + +#: ../../common/controldata_utils.c:110 pg_resetwal.c:534 pg_resetwal.c:588 +#, c-format +msgid "could not read file \"%s\": %m" +msgstr "n'a pas pu lire le fichier « %s » : %m" + +#: ../../common/controldata_utils.c:119 +#, c-format +msgid "could not read file \"%s\": read %d of %zu" +msgstr "n'a pas pu lire le fichier « %s » : a lu %d sur %zu" + +#: ../../common/controldata_utils.c:132 ../../common/controldata_utils.c:280 +#, c-format +msgid "could not close file \"%s\": %m" +msgstr "n'a pas pu fermer le fichier « %s » : %m" + +#: ../../common/controldata_utils.c:168 +msgid "byte ordering mismatch" +msgstr "différence de l'ordre des octets" + +#: ../../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 "" +"possible incohérence dans l'ordre des octets\n" +"L'ordre des octets utilisé pour enregistrer le fichier pg_control peut ne\n" +"pas correspondre à celui utilisé par ce programme. Dans ce cas, les\n" +"résultats ci-dessous sont incorrects, et l'installation de PostgreSQL\n" +"est incompatible avec ce répertoire des données." + +#: ../../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 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "n'a pas pu ouvrir le fichier « %s » : %m" + +#: ../../common/controldata_utils.c:249 pg_resetwal.c:1142 pg_resetwal.c:1154 +#, c-format +msgid "could not write file \"%s\": %m" +msgstr "impossible d'écrire le fichier « %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 "n'a pas pu synchroniser sur disque (fsync) le fichier « %s » : %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 "mémoire épuisée\n" + +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 +#, c-format +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "ne peut pas dupliquer un pointeur nul (erreur interne)\n" + +#: ../../common/file_utils.c:76 +#, c-format +msgid "could not synchronize file system for file \"%s\": %m" +msgstr "n'a pas pu synchroniser sur disque (fsync) le système de fichiers pour le fichier « %s » : %m" + +#: ../../common/file_utils.c:120 ../../common/file_utils.c:566 +#, c-format +msgid "could not stat file \"%s\": %m" +msgstr "n'a pas pu tester le fichier « %s » : %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 "cette construction ne supporte pas la méthode de synchronisation « %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 +#, c-format +msgid "could not open directory \"%s\": %m" +msgstr "n'a pas pu ouvrir le répertoire « %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 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "n'a pas pu lire le répertoire « %s » : %m" + +#: ../../common/file_utils.c:498 +#, c-format +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "n'a pas pu renommer le fichier « %s » en « %s » : %m" + #: ../../common/restricted_token.c:60 #, c-format msgid "could not open process token: error code %lu" @@ -73,166 +174,168 @@ msgstr "n'a pas pu ré-exécuter le jeton restreint : code d'erreur %lu" msgid "could not get exit code from subprocess: error code %lu" msgstr "n'a pas pu récupérer le code de statut du sous-processus : code d'erreur %lu" +#: ../../fe_utils/option_utils.c:69 +#, c-format +msgid "invalid value \"%s\" for option %s" +msgstr "valeur « %s » invalide pour l'option %s" + +#: ../../fe_utils/option_utils.c:76 +#, c-format +msgid "%s must be in range %d..%d" +msgstr "%s doit être compris entre %d et %d" + +#: ../../fe_utils/option_utils.c:106 +#, c-format +msgid "unrecognized sync method: %s" +msgstr "méthode de synchronisation non reconnu : %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: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 #, c-format msgid "invalid argument for option %s" msgstr "argument invalide pour l'option %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:303 pg_resetwal.c:316 -#: pg_resetwal.c:323 +#: 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 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Essayez « %s --help » pour plus d'informations." -#: pg_resetwal.c:168 +#: pg_resetwal.c:169 #, c-format msgid "transaction ID epoch (-e) must not be -1" msgstr "la valeur epoch de l'identifiant de transaction (-e) ne doit pas être -1" -#: pg_resetwal.c:181 +#: pg_resetwal.c:182 #, c-format msgid "oldest transaction ID (-u) must be greater than or equal to %u" msgstr "l'identifiant de transaction le plus ancien (-u) doit être supérieur ou égal à %u" -#: pg_resetwal.c:194 +#: pg_resetwal.c:195 #, c-format msgid "transaction ID (-x) must be greater than or equal to %u" msgstr "l'identifiant de transaction (-x) doit être supérieur ou égal à %u" -#: pg_resetwal.c:216 pg_resetwal.c:220 +#: pg_resetwal.c:217 pg_resetwal.c:221 #, c-format -msgid "transaction ID (-c) must be either 0 or greater than or equal to 2" -msgstr "l'identifiant de transaction (-c) doit être 0 ou supérieur ou égal à 2" +msgid "transaction ID (-c) must be either %u or greater than or equal to %u" +msgstr "l'identifiant de transaction (-c) doit être %u ou supérieur ou égal à %u" -#: pg_resetwal.c:233 +#: pg_resetwal.c:234 #, c-format msgid "OID (-o) must not be 0" msgstr "l'OID (-o) ne doit pas être 0" -#: pg_resetwal.c:254 +#: pg_resetwal.c:255 #, c-format msgid "multitransaction ID (-m) must not be 0" msgstr "l'identifiant de multi-transaction (-m) ne doit pas être 0" -#: pg_resetwal.c:261 +#: pg_resetwal.c:262 #, c-format msgid "oldest multitransaction ID (-m) must not be 0" msgstr "l'identifiant de multi-transaction le plus ancien (-m) ne doit pas être 0" -#: pg_resetwal.c:274 +#: pg_resetwal.c:275 #, c-format msgid "multitransaction offset (-O) must not be -1" msgstr "le décalage de multi-transaction (-O) ne doit pas être -1" -#: pg_resetwal.c:296 +#: pg_resetwal.c:301 #, c-format -msgid "argument of --wal-segsize must be a number" -msgstr "l'argument de --wal-segsize doit être un nombre" +msgid "argument of %s must be a power of two between 1 and 1024" +msgstr "l'argument de %s doit être une puissance de 2 comprise entre 1 et 1024" -#: pg_resetwal.c:298 -#, c-format -msgid "argument of --wal-segsize must be a power of two between 1 and 1024" -msgstr "l'argument de --wal-segsize doit être une puissance de 2 comprise entre 1 et 1024" - -#: pg_resetwal.c:314 +#: pg_resetwal.c:318 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "trop d'arguments en ligne de commande (le premier étant « %s »)" -#: pg_resetwal.c:322 +#: pg_resetwal.c:326 #, c-format msgid "no data directory specified" msgstr "aucun répertoire de données indiqué" -#: pg_resetwal.c:336 +#: pg_resetwal.c:340 #, c-format msgid "cannot be executed by \"root\"" msgstr "ne peut pas être exécuté par « root »" -#: pg_resetwal.c:337 +#: pg_resetwal.c:341 #, c-format msgid "You must run %s as the PostgreSQL superuser." msgstr "Vous devez exécuter %s en tant que super-utilisateur PostgreSQL." -#: pg_resetwal.c:347 +#: pg_resetwal.c:351 #, c-format msgid "could not read permissions of directory \"%s\": %m" msgstr "n'a pas pu lire les droits du répertoire « %s » : %m" -#: pg_resetwal.c:353 +#: pg_resetwal.c:357 #, c-format msgid "could not change directory to \"%s\": %m" msgstr "n'a pas pu modifier le répertoire par « %s » : %m" -#: pg_resetwal.c:366 pg_resetwal.c:518 pg_resetwal.c:566 -#, c-format -msgid "could not open file \"%s\" for reading: %m" -msgstr "n'a pas pu ouvrir le fichier « %s » pour une lecture : %m" - -#: pg_resetwal.c:371 +#: pg_resetwal.c:375 #, c-format msgid "lock file \"%s\" exists" msgstr "le fichier verrou « %s » existe" -#: pg_resetwal.c:372 +#: pg_resetwal.c:376 #, c-format msgid "Is a server running? If not, delete the lock file and try again." msgstr "Le serveur est-il démarré ? Sinon, supprimer le fichier verrou et réessayer." -#: pg_resetwal.c:467 +#: pg_resetwal.c:475 #, c-format -msgid "" -"\n" -"If these values seem acceptable, use -f to force reset.\n" -msgstr "" -"\n" -"Si ces valeurs semblent acceptables, utiliser -f pour forcer la\n" -"réinitialisation.\n" +msgid "not proceeding because control file values were guessed" +msgstr "ne continue pas car les valeurs du fichier de contrôle devraient être devinées" -#: pg_resetwal.c:479 +#: pg_resetwal.c:476 #, c-format -msgid "" -"The database server was not shut down cleanly.\n" -"Resetting the write-ahead log might cause data to be lost.\n" -"If you want to proceed anyway, use -f to force reset.\n" -msgstr "" -"Le serveur de bases de données n'a pas été arrêté proprement.\n" -"Ré-initialiser le journal des transactions peut occasionner des pertes de\n" -"données.\n" -"Pour continuer malgré tout, utiliser -f pour forcer la\n" -"réinitialisation.\n" +msgid "If these values seem acceptable, use -f to force reset." +msgstr "Si ces valeurs semblent acceptables, utiliser -f pour forcer la réinitialisation." + +#: pg_resetwal.c:485 +#, c-format +msgid "database server was not shut down cleanly" +msgstr "le serveur de bases de données n'a pas été arrêté proprement" + +#: pg_resetwal.c:486 +#, c-format +msgid "Resetting the write-ahead log might cause data to be lost." +msgstr "Réinitialiser les journaux de transactions pourrait causer des pertes de données." -#: pg_resetwal.c:493 +#: pg_resetwal.c:487 +#, c-format +msgid "If you want to proceed anyway, use -f to force reset." +msgstr "Si vous voulez continuer malgré tout, utiliser -f pour forcer la réinitialisation." + +#: pg_resetwal.c:500 #, c-format msgid "Write-ahead log reset\n" msgstr "Réinitialisation des journaux de transactions\n" -#: pg_resetwal.c:525 +#: pg_resetwal.c:532 #, c-format msgid "unexpected empty file \"%s\"" msgstr "fichier vide inattendu « %s »" -#: pg_resetwal.c:527 pg_resetwal.c:581 -#, c-format -msgid "could not read file \"%s\": %m" -msgstr "n'a pas pu lire le fichier « %s » : %m" - -#: pg_resetwal.c:535 +#: pg_resetwal.c:542 #, c-format msgid "data directory is of wrong version" msgstr "le répertoire des données a une mauvaise version" -#: pg_resetwal.c:536 +#: pg_resetwal.c:543 #, c-format msgid "File \"%s\" contains \"%s\", which is not compatible with this program's version \"%s\"." msgstr "Le fichier « %s » contient « %s », qui n'est pas compatible avec la version « %s » de ce programme." -#: pg_resetwal.c:569 +#: pg_resetwal.c:576 #, c-format msgid "" "If you are sure the data directory path is correct, execute\n" @@ -243,24 +346,24 @@ msgstr "" " touch %s\n" "et réessayer." -#: pg_resetwal.c:597 +#: pg_resetwal.c:604 #, c-format msgid "pg_control exists but has invalid CRC; proceed with caution" msgstr "pg_control existe mais son CRC est invalide ; agir avec précaution" -#: pg_resetwal.c:606 +#: pg_resetwal.c:613 #, 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 spécifie une taille invalide de segment WAL (%d octet) ; agir avec précaution" msgstr[1] "pg_control spécifie une taille invalide de segment WAL (%d octets) ; agir avec précaution" -#: pg_resetwal.c:617 +#: pg_resetwal.c:624 #, c-format msgid "pg_control exists but is broken or wrong version; ignoring it" msgstr "pg_control existe mais est corrompu ou de mauvaise version ; ignoré" -#: pg_resetwal.c:712 +#: pg_resetwal.c:719 #, c-format msgid "" "Guessed pg_control values:\n" @@ -269,7 +372,7 @@ msgstr "" "Valeurs de pg_control devinées :\n" "\n" -#: pg_resetwal.c:714 +#: pg_resetwal.c:721 #, c-format msgid "" "Current pg_control values:\n" @@ -278,167 +381,167 @@ msgstr "" "Valeurs actuelles de pg_control :\n" "\n" -#: pg_resetwal.c:716 +#: pg_resetwal.c:723 #, c-format msgid "pg_control version number: %u\n" msgstr "Numéro de version de pg_control : %u\n" -#: pg_resetwal.c:718 +#: pg_resetwal.c:725 #, c-format msgid "Catalog version number: %u\n" msgstr "Numéro de version du catalogue : %u\n" -#: pg_resetwal.c:720 +#: pg_resetwal.c:727 #, c-format msgid "Database system identifier: %llu\n" msgstr "Identifiant du système de base de données : %llu\n" -#: pg_resetwal.c:722 +#: pg_resetwal.c:729 #, c-format msgid "Latest checkpoint's TimeLineID: %u\n" msgstr "Dernier TimeLineID du point de contrôle : %u\n" -#: pg_resetwal.c:724 +#: pg_resetwal.c:731 #, c-format msgid "Latest checkpoint's full_page_writes: %s\n" msgstr "Dernier full_page_writes du point de contrôle : %s\n" -#: pg_resetwal.c:725 +#: pg_resetwal.c:732 msgid "off" msgstr "désactivé" -#: pg_resetwal.c:725 +#: pg_resetwal.c:732 msgid "on" msgstr "activé" -#: pg_resetwal.c:726 +#: pg_resetwal.c:733 #, c-format msgid "Latest checkpoint's NextXID: %u:%u\n" msgstr "Dernier NextXID du point de contrôle : %u:%u\n" -#: pg_resetwal.c:729 +#: pg_resetwal.c:736 #, c-format msgid "Latest checkpoint's NextOID: %u\n" msgstr "Dernier NextOID du point de contrôle : %u\n" -#: pg_resetwal.c:731 +#: pg_resetwal.c:738 #, c-format msgid "Latest checkpoint's NextMultiXactId: %u\n" msgstr "Dernier NextMultiXactId du point de contrôle : %u\n" -#: pg_resetwal.c:733 +#: pg_resetwal.c:740 #, c-format msgid "Latest checkpoint's NextMultiOffset: %u\n" msgstr "Dernier NextMultiOffset du point de contrôle : %u\n" -#: pg_resetwal.c:735 +#: pg_resetwal.c:742 #, c-format msgid "Latest checkpoint's oldestXID: %u\n" msgstr "Dernier oldestXID du point de contrôle : %u\n" -#: pg_resetwal.c:737 +#: pg_resetwal.c:744 #, c-format msgid "Latest checkpoint's oldestXID's DB: %u\n" msgstr "Dernier oldestXID du point de contrôle de la base : %u\n" -#: pg_resetwal.c:739 +#: pg_resetwal.c:746 #, c-format msgid "Latest checkpoint's oldestActiveXID: %u\n" msgstr "Dernier oldestActiveXID du point de contrôle : %u\n" -#: pg_resetwal.c:741 +#: pg_resetwal.c:748 #, c-format msgid "Latest checkpoint's oldestMultiXid: %u\n" msgstr "Dernier oldestMultiXid du point de contrôle : %u\n" -#: pg_resetwal.c:743 +#: pg_resetwal.c:750 #, c-format msgid "Latest checkpoint's oldestMulti's DB: %u\n" msgstr "Dernier oldestMulti du point de contrôle de la base : %u\n" -#: pg_resetwal.c:745 +#: pg_resetwal.c:752 #, c-format msgid "Latest checkpoint's oldestCommitTsXid:%u\n" msgstr "Dernier oldestCommitTsXid du point de contrôle : %u\n" -#: pg_resetwal.c:747 +#: pg_resetwal.c:754 #, c-format msgid "Latest checkpoint's newestCommitTsXid:%u\n" msgstr "Dernier newestCommitTsXid du point de contrôle : %u\n" -#: pg_resetwal.c:749 +#: pg_resetwal.c:756 #, c-format msgid "Maximum data alignment: %u\n" msgstr "Alignement maximal des données : %u\n" -#: pg_resetwal.c:752 +#: pg_resetwal.c:759 #, c-format msgid "Database block size: %u\n" msgstr "Taille du bloc de la base de données : %u\n" -#: pg_resetwal.c:754 +#: pg_resetwal.c:761 #, c-format msgid "Blocks per segment of large relation: %u\n" msgstr "Blocs par segment des relations volumineuses : %u\n" -#: pg_resetwal.c:756 +#: pg_resetwal.c:763 #, c-format msgid "WAL block size: %u\n" msgstr "Taille de bloc du journal de transaction : %u\n" -#: pg_resetwal.c:758 pg_resetwal.c:844 +#: pg_resetwal.c:765 pg_resetwal.c:851 #, c-format msgid "Bytes per WAL segment: %u\n" msgstr "Octets par segment du journal de transaction : %u\n" -#: pg_resetwal.c:760 +#: pg_resetwal.c:767 #, c-format msgid "Maximum length of identifiers: %u\n" msgstr "Longueur maximale des identifiants : %u\n" -#: pg_resetwal.c:762 +#: pg_resetwal.c:769 #, c-format msgid "Maximum columns in an index: %u\n" msgstr "Nombre maximum de colonnes d'un index: %u\n" -#: pg_resetwal.c:764 +#: pg_resetwal.c:771 #, c-format msgid "Maximum size of a TOAST chunk: %u\n" msgstr "Longueur maximale d'un morceau TOAST : %u\n" -#: pg_resetwal.c:766 +#: pg_resetwal.c:773 #, c-format msgid "Size of a large-object chunk: %u\n" msgstr "Taille d'un morceau de Large Object : %u\n" -#: pg_resetwal.c:769 +#: pg_resetwal.c:776 #, c-format msgid "Date/time type storage: %s\n" msgstr "Stockage du type date/heure : %s\n" -#: pg_resetwal.c:770 +#: pg_resetwal.c:777 msgid "64-bit integers" msgstr "entiers 64-bits" -#: pg_resetwal.c:771 +#: pg_resetwal.c:778 #, c-format msgid "Float8 argument passing: %s\n" msgstr "Passage d'argument float8 : %s\n" -#: pg_resetwal.c:772 +#: pg_resetwal.c:779 msgid "by reference" msgstr "par référence" -#: pg_resetwal.c:772 +#: pg_resetwal.c:779 msgid "by value" msgstr "par valeur" -#: pg_resetwal.c:773 +#: pg_resetwal.c:780 #, c-format msgid "Data page checksum version: %u\n" msgstr "Version des sommes de contrôle des pages de données : %u\n" -#: pg_resetwal.c:787 +#: pg_resetwal.c:794 #, c-format msgid "" "\n" @@ -451,102 +554,82 @@ msgstr "" "Valeurs à changer :\n" "\n" -#: pg_resetwal.c:791 +#: pg_resetwal.c:798 #, c-format msgid "First log segment after reset: %s\n" msgstr "Premier segment du journal après réinitialisation : %s\n" -#: pg_resetwal.c:795 +#: pg_resetwal.c:802 #, c-format msgid "NextMultiXactId: %u\n" msgstr "NextMultiXactId: %u\n" -#: pg_resetwal.c:797 +#: pg_resetwal.c:804 #, c-format msgid "OldestMultiXid: %u\n" msgstr "OldestMultiXid: %u\n" -#: pg_resetwal.c:799 +#: pg_resetwal.c:806 #, c-format msgid "OldestMulti's DB: %u\n" msgstr "OldestMulti's DB: %u\n" -#: pg_resetwal.c:805 +#: pg_resetwal.c:812 #, c-format msgid "NextMultiOffset: %u\n" msgstr "NextMultiOffset: %u\n" -#: pg_resetwal.c:811 +#: pg_resetwal.c:818 #, c-format msgid "NextOID: %u\n" msgstr "NextOID: %u\n" -#: pg_resetwal.c:817 +#: pg_resetwal.c:824 #, c-format msgid "NextXID: %u\n" msgstr "NextXID: %u\n" -#: pg_resetwal.c:819 +#: pg_resetwal.c:826 #, c-format msgid "OldestXID: %u\n" msgstr "OldestXID: %u\n" -#: pg_resetwal.c:821 +#: pg_resetwal.c:828 #, c-format msgid "OldestXID's DB: %u\n" msgstr "OldestXID's DB: %u\n" -#: pg_resetwal.c:827 +#: pg_resetwal.c:834 #, c-format msgid "NextXID epoch: %u\n" msgstr "NextXID Epoch: %u\n" -#: pg_resetwal.c:833 +#: pg_resetwal.c:840 #, c-format msgid "oldestCommitTsXid: %u\n" msgstr "oldestCommitTsXid: %u\n" -#: pg_resetwal.c:838 +#: pg_resetwal.c:845 #, c-format msgid "newestCommitTsXid: %u\n" msgstr "newestCommitTsXid: %u\n" -#: pg_resetwal.c:921 pg_resetwal.c:974 pg_resetwal.c:1009 -#, c-format -msgid "could not open directory \"%s\": %m" -msgstr "n'a pas pu ouvrir le répertoire « %s » : %m" - -#: pg_resetwal.c:947 pg_resetwal.c:988 pg_resetwal.c:1026 -#, c-format -msgid "could not read directory \"%s\": %m" -msgstr "n'a pas pu lire le répertoire « %s » : %m" - -#: pg_resetwal.c:950 pg_resetwal.c:991 pg_resetwal.c:1029 +#: pg_resetwal.c:957 pg_resetwal.c:998 pg_resetwal.c:1036 pg_resetwal.c:1071 #, c-format msgid "could not close directory \"%s\": %m" msgstr "n'a pas pu fermer le répertoire « %s » : %m" -#: pg_resetwal.c:983 pg_resetwal.c:1021 +#: pg_resetwal.c:990 pg_resetwal.c:1028 pg_resetwal.c:1063 #, c-format msgid "could not delete file \"%s\": %m" msgstr "n'a pas pu supprimer le fichier « %s » : %m" -#: pg_resetwal.c:1093 -#, c-format -msgid "could not open file \"%s\": %m" -msgstr "n'a pas pu ouvrir le fichier « %s » : %m" - -#: pg_resetwal.c:1101 pg_resetwal.c:1113 -#, c-format -msgid "could not write file \"%s\": %m" -msgstr "impossible d'écrire le fichier « %s » : %m" - -#: pg_resetwal.c:1118 +#: pg_resetwal.c:1159 #, c-format msgid "fsync error: %m" msgstr "erreur fsync : %m" -#: pg_resetwal.c:1127 +#: pg_resetwal.c:1168 #, c-format msgid "" "%s resets the PostgreSQL write-ahead log.\n" @@ -555,23 +638,64 @@ msgstr "" "%s réinitialise le journal des transactions PostgreSQL.\n" "\n" -#: pg_resetwal.c:1128 +#: pg_resetwal.c:1169 +#, c-format +msgid "Usage:\n" +msgstr "Usage :\n" + +#: pg_resetwal.c:1170 +#, c-format +msgid " %s [OPTION]... DATADIR\n" +msgstr " %s [OPTION]... [RÉP_DONNÉES]\n" + +#: pg_resetwal.c:1172 #, c-format msgid "" -"Usage:\n" -" %s [OPTION]... DATADIR\n" "\n" +"Options:\n" msgstr "" -"Usage :\n" -" %s [OPTION]... RÉP_DONNÉES\n" "\n" +"Options :\n" + +#: pg_resetwal.c:1173 +#, c-format +msgid " [-D, --pgdata=]DATADIR data directory\n" +msgstr " [-D, --pgdata] RÉP_DONNEES répertoire de la base de données\n" + +#: pg_resetwal.c:1174 +#, 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 " -i, --interactive force la mise à jour, y compris un arrêt pas propre ou si les valeurs de pg_control doivent être devinées\n" + +#: pg_resetwal.c:1176 +#, c-format +msgid " -n, --dry-run no update, just show what would be done\n" +msgstr "" +" -n, --dry-run pas de mise à jour, affiche\n" +" simplement ce qui sera fait\n" + +#: pg_resetwal.c:1177 +#, c-format +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version affiche la version puis quitte\n" -#: pg_resetwal.c:1129 +#: pg_resetwal.c:1178 #, c-format -msgid "Options:\n" -msgstr "Options :\n" +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help affiche cette aide puis quitte\n" -#: pg_resetwal.c:1130 +#: pg_resetwal.c:1180 +#, c-format +msgid "" +"\n" +"Options to override control file values:\n" +msgstr "" +"\n" +"Options contrôlant les valeurs du fichier de contrôle :\n" + +#: pg_resetwal.c:1181 #, c-format msgid "" " -c, --commit-timestamp-ids=XID,XID\n" @@ -583,86 +707,59 @@ msgstr "" " et la plus récente contenant les dates/heures\n" " de validation (zéro signifie aucun changement)\n" -#: pg_resetwal.c:1133 -#, c-format -msgid " [-D, --pgdata=]DATADIR data directory\n" -msgstr " [-D, --pgdata=]RÉP_DONNEES répertoire de la base de données\n" - -#: pg_resetwal.c:1134 +#: pg_resetwal.c:1184 #, c-format msgid " -e, --epoch=XIDEPOCH set next transaction ID epoch\n" msgstr "" " -e, --epoch=XIDEPOCH configure la valeur epoch du prochain\n" " identifiant de transaction\n" -#: pg_resetwal.c:1135 -#, c-format -msgid " -f, --force force update to be done\n" -msgstr " -f, --force force la mise à jour\n" - -#: pg_resetwal.c:1136 +#: pg_resetwal.c:1185 #, c-format msgid " -l, --next-wal-file=WALFILE set minimum starting location for new WAL\n" msgstr "" " -l, --next-wal-file=FICHIERWAL configure l'emplacement minimal de début\n" " des WAL du nouveau journal de transactions\n" -#: pg_resetwal.c:1137 +#: pg_resetwal.c:1186 #, c-format msgid " -m, --multixact-ids=MXID,MXID set next and oldest multitransaction ID\n" msgstr "" " -m, --multixact-ids=MXID,MXID configure le prochain et le plus ancien\n" " identifiants multi-transactions\n" -#: pg_resetwal.c:1138 -#, c-format -msgid " -n, --dry-run no update, just show what would be done\n" -msgstr "" -" -n, --dry-run pas de mise à jour, affiche\n" -" simplement ce qui sera fait\n" - -#: pg_resetwal.c:1139 +#: pg_resetwal.c:1187 #, c-format msgid " -o, --next-oid=OID set next OID\n" msgstr " -o, --next-oid=OID configure le prochain OID\n" -#: pg_resetwal.c:1140 +#: pg_resetwal.c:1188 #, c-format msgid " -O, --multixact-offset=OFFSET set next multitransaction offset\n" msgstr "" " -O, --multixact-offset=DÉCALAGE configure le prochain décalage\n" " multitransaction\n" -#: pg_resetwal.c:1141 +#: pg_resetwal.c:1189 #, c-format msgid " -u, --oldest-transaction-id=XID set oldest transaction ID\n" msgstr "" " -u, --oldest-transaction-id=XID configure l'identifiant de transaction le\n" " plus ancien\n" -#: pg_resetwal.c:1142 -#, c-format -msgid " -V, --version output version information, then exit\n" -msgstr " -V, --version affiche la version puis quitte\n" - -#: pg_resetwal.c:1143 +#: pg_resetwal.c:1190 #, c-format msgid " -x, --next-transaction-id=XID set next transaction ID\n" msgstr "" " -x, --next-transaction-id=XID configure le prochain identifiant de\n" " transaction\n" -#: pg_resetwal.c:1144 +#: pg_resetwal.c:1191 #, c-format msgid " --wal-segsize=SIZE size of WAL segments, in megabytes\n" msgstr " --wal-segsize=TAILLE configure la taille des segments WAL, en Mo\n" -#: pg_resetwal.c:1145 -#, c-format -msgid " -?, --help show this help, then exit\n" -msgstr " -?, --help affiche cette aide puis quitte\n" - -#: pg_resetwal.c:1146 +#: pg_resetwal.c:1193 #, c-format msgid "" "\n" @@ -671,167 +768,7 @@ msgstr "" "\n" "Rapporter les bogues à <%s>.\n" -#: pg_resetwal.c:1147 +#: pg_resetwal.c:1194 #, c-format msgid "%s home page: <%s>\n" msgstr "Page d'accueil de %s : <%s>\n" - -#~ msgid "" -#~ "\n" -#~ "Report bugs to .\n" -#~ msgstr "" -#~ "\n" -#~ "Rapporter les bogues à .\n" - -#~ msgid " (zero in either value means no change)\n" -#~ msgstr " (zéro dans l'une des deux valeurs signifie aucun changement)\n" - -#~ msgid " --help show this help, then exit\n" -#~ msgstr " --help affiche cette aide et quitte\n" - -#~ msgid " --version output version information, then exit\n" -#~ msgstr " --version afficherla version et quitte\n" - -#~ msgid " -?, --help show this help, then exit\n" -#~ msgstr " -?, --help affiche cette aide, puis quitte\n" - -#~ msgid " -?, --help show this help, then exit\n" -#~ msgstr " -?, --help affiche cette aide et quitte\n" - -#~ msgid " -V, --version output version information, then exit\n" -#~ msgstr " -V, --version affiche la version, puis quitte\n" - -#~ msgid " -V, --version output version information, then exit\n" -#~ msgstr " -V, --version affiche la version et quitte\n" - -#~ msgid " -c XID,XID set oldest and newest transactions bearing commit timestamp\n" -#~ msgstr " -c XID,XID configure la plus ancienne et la plus récente transaction\n" - -#~ msgid " -x XID set next transaction ID\n" -#~ msgstr " -x XID fixe le prochain identifiant de transaction\n" - -#~ msgid "%s: WARNING: cannot create restricted tokens on this platform\n" -#~ msgstr "%s : ATTENTION : ne peut pas créer les jetons restreints sur cette plateforme\n" - -#~ msgid "%s: argument of --wal-segsize must be a number\n" -#~ msgstr "%s : l'argument de --wal-segsize doit être un nombre\n" - -#~ msgid "%s: argument of --wal-segsize must be a power of 2 between 1 and 1024\n" -#~ msgstr "%s : l'argument de --wal-segsize doit être une puissance de 2 entre 1 et 1024\n" - -#~ msgid "%s: cannot be executed by \"root\"\n" -#~ msgstr "%s : ne peut pas être exécuté par « root »\n" - -#~ msgid "%s: could not allocate SIDs: error code %lu\n" -#~ msgstr "%s : n'a pas pu allouer les SID : code d'erreur %lu\n" - -#~ msgid "%s: could not change directory to \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu accéder au répertoire « %s » : %s\n" - -#~ msgid "%s: could not close directory \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu fermer le répertoire « %s » : %s\n" - -#~ msgid "%s: could not create pg_control file: %s\n" -#~ msgstr "%s : n'a pas pu créer le fichier pg_control : %s\n" - -#~ msgid "%s: could not create restricted token: error code %lu\n" -#~ msgstr "%s : n'a pas pu créer le jeton restreint : code d'erreur %lu\n" - -#~ msgid "%s: could not delete file \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu supprimer le fichier « %s » : %s\n" - -#~ msgid "%s: could not get exit code from subprocess: error code %lu\n" -#~ msgstr "%s : n'a pas pu récupérer le code de statut du sous-processus : code d'erreur %lu\n" - -#~ msgid "%s: could not open directory \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu ouvrir le répertoire « %s » : %s\n" - -#~ msgid "%s: could not open file \"%s\" for reading: %s\n" -#~ msgstr "%s : n'a pas pu ouvrir le fichier « %s » en lecture : %s\n" - -#~ msgid "%s: could not open file \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu ouvrir le fichier « %s » : %s\n" - -#~ msgid "%s: could not open process token: error code %lu\n" -#~ msgstr "%s : n'a pas pu ouvrir le jeton du processus : code d'erreur %lu\n" - -#~ msgid "%s: could not re-execute with restricted token: error code %lu\n" -#~ msgstr "%s : n'a pas pu ré-exécuter le jeton restreint : code d'erreur %lu\n" - -#~ msgid "%s: could not read directory \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu lire le répertoire « %s » : %s\n" - -#~ msgid "%s: could not read file \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu lire le fichier « %s » : %s\n" - -#~ msgid "%s: could not read from directory \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu lire le répertoire « %s » : %s\n" - -#~ msgid "%s: could not read permissions of directory \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu lire les droits sur le répertoire « %s » : %s\n" - -#~ msgid "%s: could not start process for command \"%s\": error code %lu\n" -#~ msgstr "%s : n'a pas pu démarrer le processus pour la commande « %s » : code d'erreur %lu\n" - -#~ msgid "%s: could not write file \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu écrire le fichier « %s » : %s\n" - -#~ msgid "%s: could not write pg_control file: %s\n" -#~ msgstr "%s : n'a pas pu écrire le fichier pg_control : %s\n" - -#~ msgid "%s: internal error -- sizeof(ControlFileData) is too large ... fix PG_CONTROL_SIZE\n" -#~ msgstr "" -#~ "%s : erreur interne -- sizeof(ControlFileData) est trop important...\n" -#~ "corrigez PG_CONTROL_SIZE\n" - -#~ msgid "%s: invalid argument for option -O\n" -#~ msgstr "%s : argument invalide pour l'option -O\n" - -#~ msgid "%s: invalid argument for option -l\n" -#~ msgstr "%s : argument invalide pour l'option -l\n" - -#~ msgid "%s: invalid argument for option -m\n" -#~ msgstr "%s : argument invalide pour l'option -m\n" - -#~ msgid "%s: invalid argument for option -o\n" -#~ msgstr "%s : argument invalide pour l'option -o\n" - -#~ msgid "%s: invalid argument for option -x\n" -#~ msgstr "%s : argument invalide pour l'option -x\n" - -#~ msgid "%s: no data directory specified\n" -#~ msgstr "%s : aucun répertoire de données indiqué\n" - -#~ msgid "%s: too many command-line arguments (first is \"%s\")\n" -#~ msgstr "%s : trop d'arguments en ligne de commande (le premier étant « %s »)\n" - -#~ msgid "First log file ID after reset: %u\n" -#~ msgstr "Premier identifiant du journal après réinitialisation : %u\n" - -#~ msgid "Float4 argument passing: %s\n" -#~ msgstr "Passage d'argument float4 : %s\n" - -#~ msgid "Transaction log reset\n" -#~ msgstr "Réinitialisation du journal des transactions\n" - -#, c-format -#~ msgid "Try \"%s --help\" for more information.\n" -#~ msgstr "Essayer « %s --help » pour plus d'informations.\n" - -#, c-format -#~ msgid "cannot create restricted tokens on this platform: error code %lu" -#~ msgstr "ne peut pas créer les jetons restreints sur cette plateforme : code d'erreur %lu" - -#, c-format -#~ msgid "could not load library \"%s\": error code %lu" -#~ msgstr "n'a pas pu charger la bibliothèque « %s » : code d'erreur %lu" - -#, c-format -#~ msgid "fatal: " -#~ msgstr "fatal : " - -#~ msgid "floating-point numbers" -#~ msgstr "nombres à virgule flottante" - -#~ msgid "transaction ID (-x) must not be 0" -#~ msgstr "l'identifiant de la transaction (-x) ne doit pas être 0" diff --git a/src/bin/pg_resetwal/po/ka.po b/src/bin/pg_resetwal/po/ka.po index 14529363666..c23cc82e940 100644 --- a/src/bin/pg_resetwal/po/ka.po +++ b/src/bin/pg_resetwal/po/ka.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: pg_resetwal (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-03-26 10:51+0000\n" +"POT-Creation-Date: 2024-07-01 03:51+0000\n" "PO-Revision-Date: 2024-02-11 16:08+0100\n" "Last-Translator: Temuri Doghonadze \n" "Language-Team: Georgian \n" @@ -38,6 +38,105 @@ msgstr "დეტალები: " msgid "hint: " msgstr "მინიშნება: " +#: ../../common/controldata_utils.c:97 pg_resetwal.c:370 pg_resetwal.c:525 +#: pg_resetwal.c:573 +#, 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 +#, 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 "\"%s\"-ის წაკითხვის შეცდომა: წაკითხულია %d %zu-დან" + +#: ../../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 "" +"ბაიტების მიმდევრობის შესაძლო შეუსაბამობა 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:1134 +#, 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 +#, 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 "ნულოვანი მაჩვენებლის დუბლირება შეუძლებელია (შიდა შეცდომა)\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\" არ არსებობს: %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:928 pg_resetwal.c:981 pg_resetwal.c:1016 pg_resetwal.c:1054 +#, 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 +#, 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" @@ -78,11 +177,6 @@ msgstr "არასწორი მნიშვნელობა \"%s\" პა msgid "%s must be in range %d..%d" msgstr "%s არაა საზღვრებში %d-დან %d-მდე" -#: ../../fe_utils/option_utils.c:99 -#, c-format -msgid "this build does not support sync method \"%s\"" -msgstr "ამ აგებას სინქრონიზაციის მეთოდის \"%s\" მხარდაჭერა არ გააჩნია" - #: ../../fe_utils/option_utils.c:106 #, c-format msgid "unrecognized sync method: %s" @@ -179,11 +273,6 @@ msgstr "საქაღალდის წვდომების წაკი msgid "could not change directory to \"%s\": %m" msgstr "საქაღალდის %s-ზე შეცვლის შეცდომა: %m" -#: pg_resetwal.c:370 pg_resetwal.c:525 pg_resetwal.c:573 -#, c-format -msgid "could not open file \"%s\" for reading: %m" -msgstr "ფაილის (%s) გახსნის შეცდომა: %m" - #: pg_resetwal.c:375 #, c-format msgid "lock file \"%s\" exists" @@ -229,11 +318,6 @@ msgstr "წინასწარ-ჩაწერი ჟურნალის ს msgid "unexpected empty file \"%s\"" msgstr "მოულოდნელად ფაილი ცარიელია: \"%s\"" -#: pg_resetwal.c:534 pg_resetwal.c:588 -#, c-format -msgid "could not read file \"%s\": %m" -msgstr "ფაილის (%s) წაკითხვის შეცდომა: %m" - #: pg_resetwal.c:542 #, c-format msgid "data directory is of wrong version" @@ -523,16 +607,6 @@ msgstr "oldestCommitTsXid: %u\n" msgid "newestCommitTsXid: %u\n" msgstr "newestCommitTsXid: %u\n" -#: pg_resetwal.c:928 pg_resetwal.c:981 pg_resetwal.c:1016 pg_resetwal.c:1054 -#, c-format -msgid "could not open directory \"%s\": %m" -msgstr "საქაღალდის (%s) გახსნის შეცდომა: %m" - -#: pg_resetwal.c:954 pg_resetwal.c:995 pg_resetwal.c:1033 pg_resetwal.c:1068 -#, c-format -msgid "could not read directory \"%s\": %m" -msgstr "საქაღალდის (%s) წაკითხვის შეცდომა: %m" - #: pg_resetwal.c:957 pg_resetwal.c:998 pg_resetwal.c:1036 pg_resetwal.c:1071 #, c-format msgid "could not close directory \"%s\": %m" @@ -543,16 +617,6 @@ msgstr "საქაღალდის %s-ზე დახურვის შე msgid "could not delete file \"%s\": %m" msgstr "ფაილის (\"%s\") წაშლის შეცდომა: %m" -#: pg_resetwal.c:1134 -#, c-format -msgid "could not open file \"%s\": %m" -msgstr "ფაილის (%s) გახსნის შეცდომა: %m" - -#: pg_resetwal.c:1142 pg_resetwal.c:1154 -#, c-format -msgid "could not write file \"%s\": %m" -msgstr "ფაილში (%s) ჩაწერის შეცდომა: %m" - #: pg_resetwal.c:1159 #, c-format msgid "fsync error: %m" diff --git a/src/bin/pg_resetwal/po/ru.po b/src/bin/pg_resetwal/po/ru.po index 5f012f91f91..c26776baad2 100644 --- a/src/bin/pg_resetwal/po/ru.po +++ b/src/bin/pg_resetwal/po/ru.po @@ -5,13 +5,13 @@ # Oleg Bartunov , 2004. # Sergey Burladyan , 2009. # Dmitriy Olshevskiy , 2014. -# Alexander Lakhin , 2012-2017, 2018, 2019, 2020, 2021, 2022, 2023. +# Alexander Lakhin , 2012-2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024. msgid "" msgstr "" "Project-Id-Version: pg_resetxlog (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-09-11 15:31+0300\n" -"PO-Revision-Date: 2023-09-11 16:14+0300\n" +"POT-Creation-Date: 2024-09-02 09:29+0300\n" +"PO-Revision-Date: 2024-09-05 12:19+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" @@ -41,6 +41,107 @@ msgstr "подробности: " msgid "hint: " msgstr "подсказка: " +#: ../../common/controldata_utils.c:97 pg_resetwal.c:370 pg_resetwal.c:525 +#: pg_resetwal.c:573 +#, 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 +#, 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 "не удалось прочитать файл \"%s\" (прочитано байт: %d из %zu)" + +#: ../../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:1134 +#, 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 +#, 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\": %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 "попытка дублирования нулевого указателя (внутренняя ошибка)\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\": %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:928 pg_resetwal.c:981 pg_resetwal.c:1016 pg_resetwal.c:1054 +#, 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 +#, 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" @@ -71,160 +172,170 @@ msgstr "не удалось перезапуститься с ограничен 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 "неверное значение \"%s\" для параметра %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: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 #, 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:303 pg_resetwal.c:316 -#: pg_resetwal.c:323 +#: 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 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Для дополнительной информации попробуйте \"%s --help\"." -#: pg_resetwal.c:168 +#: pg_resetwal.c:169 #, c-format msgid "transaction ID epoch (-e) must not be -1" msgstr "эпоха ID транзакции (-e) не должна быть равна -1" -#: pg_resetwal.c:181 +#: pg_resetwal.c:182 #, 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:195 #, 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:217 pg_resetwal.c:221 #, c-format -msgid "transaction ID (-c) must be either 0 or greater than or equal to 2" -msgstr "ID транзакции (-c) должен быть равен 0, либо больше или равен 2" +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:234 #, c-format msgid "OID (-o) must not be 0" msgstr "OID (-o) не должен быть равен 0" -#: pg_resetwal.c:254 +#: pg_resetwal.c:255 #, c-format msgid "multitransaction ID (-m) must not be 0" msgstr "ID мультитранзакции (-m) не должен быть равен 0" -#: pg_resetwal.c:261 +#: pg_resetwal.c:262 #, c-format msgid "oldest multitransaction ID (-m) must not be 0" msgstr "ID старейшей мультитранзакции (-m) не должен быть равен 0" -#: pg_resetwal.c:274 +#: pg_resetwal.c:275 #, c-format msgid "multitransaction offset (-O) must not be -1" msgstr "смещение мультитранзакции (-O) не должно быть равно -1" -#: pg_resetwal.c:296 +#: pg_resetwal.c:301 #, c-format -msgid "argument of --wal-segsize must be a number" -msgstr "аргументом --wal-segsize должно быть число" +msgid "argument of %s must be a power of two between 1 and 1024" +msgstr "аргументом %s должна быть степень двух от 1 до 1024" -#: pg_resetwal.c:298 -#, c-format -msgid "argument of --wal-segsize must be a power of two between 1 and 1024" -msgstr "аргументом --wal-segsize должна быть степень двух от 1 до 1024" - -#: pg_resetwal.c:314 +#: pg_resetwal.c:318 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "слишком много аргументов командной строки (первый: \"%s\")" -#: pg_resetwal.c:322 +#: pg_resetwal.c:326 #, c-format msgid "no data directory specified" msgstr "каталог данных не указан" -#: pg_resetwal.c:336 +#: pg_resetwal.c:340 #, c-format msgid "cannot be executed by \"root\"" msgstr "программу не должен запускать root" -#: pg_resetwal.c:337 +#: pg_resetwal.c:341 #, c-format msgid "You must run %s as the PostgreSQL superuser." msgstr "Запускать %s нужно от имени суперпользователя PostgreSQL." -#: pg_resetwal.c:347 +#: pg_resetwal.c:351 #, c-format msgid "could not read permissions of directory \"%s\": %m" -msgstr "не удалось считать права на каталог \"%s\": %m" +msgstr "не удалось прочитать права на каталог \"%s\": %m" -#: pg_resetwal.c:353 +#: pg_resetwal.c:357 #, c-format msgid "could not change directory to \"%s\": %m" msgstr "не удалось перейти в каталог \"%s\": %m" -#: pg_resetwal.c:366 pg_resetwal.c:518 pg_resetwal.c:566 -#, c-format -msgid "could not open file \"%s\" for reading: %m" -msgstr "не удалось открыть файл \"%s\" для чтения: %m" - -#: pg_resetwal.c:371 +#: pg_resetwal.c:375 #, c-format msgid "lock file \"%s\" exists" msgstr "файл блокировки \"%s\" существует" -#: pg_resetwal.c:372 +#: pg_resetwal.c:376 #, c-format msgid "Is a server running? If not, delete the lock file and try again." msgstr "" "Возможно, сервер запущен? Если нет, удалите этот файл и попробуйте снова." -#: pg_resetwal.c:467 +#: pg_resetwal.c:475 #, c-format -msgid "" -"\n" -"If these values seem acceptable, use -f to force reset.\n" +msgid "not proceeding because control file values were guessed" msgstr "" -"\n" -"Если эти значения приемлемы, выполните сброс принудительно, добавив ключ -" -"f.\n" +"выполнение прервано, так как значения из контрольного файла являются " +"предполагаемыми" -#: pg_resetwal.c:479 +#: pg_resetwal.c:476 #, c-format -msgid "" -"The database server was not shut down cleanly.\n" -"Resetting the write-ahead log might cause data to be lost.\n" -"If you want to proceed anyway, use -f to force reset.\n" +msgid "If these values seem acceptable, use -f to force reset." +msgstr "" +"Если эти значения всё же приемлемы, выполните сброс принудительно, добавив " +"ключ -f." + +#: pg_resetwal.c:485 +#, c-format +msgid "database server was not shut down cleanly" +msgstr "сервер баз данных не был остановлен штатно" + +#: pg_resetwal.c:486 +#, c-format +msgid "Resetting the write-ahead log might cause data to be lost." +msgstr "Сброс журнала предзаписи может привести к потере данных." + +#: pg_resetwal.c:487 +#, c-format +msgid "If you want to proceed anyway, use -f to force reset." msgstr "" -"Сервер баз данных был остановлен некорректно.\n" -"Сброс журнала предзаписи может привести к потере данных.\n" -"Если вы хотите сбросить его, несмотря на это, добавьте ключ -f.\n" +"Если вы всё же хотите продолжить, выполните сброс принудительно, добавив " +"ключ -f." -#: pg_resetwal.c:493 +#: pg_resetwal.c:500 #, c-format msgid "Write-ahead log reset\n" msgstr "Журнал предзаписи сброшен\n" -#: pg_resetwal.c:525 +#: pg_resetwal.c:532 #, c-format msgid "unexpected empty file \"%s\"" msgstr "файл \"%s\" оказался пустым" -#: pg_resetwal.c:527 pg_resetwal.c:581 -#, c-format -msgid "could not read file \"%s\": %m" -msgstr "не удалось прочитать файл \"%s\": %m" - -#: pg_resetwal.c:535 +#: pg_resetwal.c:542 #, c-format msgid "data directory is of wrong version" msgstr "каталог данных имеет неверную версию" -#: pg_resetwal.c:536 +#: pg_resetwal.c:543 #, c-format msgid "" "File \"%s\" contains \"%s\", which is not compatible with this program's " @@ -232,7 +343,7 @@ msgid "" msgstr "" "Файл \"%s\" содержит строку \"%s\", а ожидается версия программы \"%s\"." -#: pg_resetwal.c:569 +#: pg_resetwal.c:576 #, c-format msgid "" "If you are sure the data directory path is correct, execute\n" @@ -243,14 +354,14 @@ msgstr "" " touch %s\n" "и повторите попытку." -#: pg_resetwal.c:597 +#: pg_resetwal.c:604 #, c-format msgid "pg_control exists but has invalid CRC; proceed with caution" msgstr "" "pg_control существует, но его контрольная сумма неверна; продолжайте с " "осторожностью" -#: pg_resetwal.c:606 +#: pg_resetwal.c:613 #, c-format msgid "" "pg_control specifies invalid WAL segment size (%d byte); proceed with caution" @@ -267,14 +378,14 @@ msgstr[2] "" "в pg_control указан некорректный размер сегмента WAL (%d Б); продолжайте с " "осторожностью" -#: pg_resetwal.c:617 +#: pg_resetwal.c:624 #, c-format msgid "pg_control exists but is broken or wrong version; ignoring it" msgstr "" "pg_control испорчен или имеет неизвестную либо недопустимую версию; " "игнорируется..." -#: pg_resetwal.c:712 +#: pg_resetwal.c:719 #, c-format msgid "" "Guessed pg_control values:\n" @@ -283,7 +394,7 @@ msgstr "" "Предполагаемые значения pg_control:\n" "\n" -#: pg_resetwal.c:714 +#: pg_resetwal.c:721 #, c-format msgid "" "Current pg_control values:\n" @@ -292,181 +403,181 @@ msgstr "" "Текущие значения pg_control:\n" "\n" -#: pg_resetwal.c:716 +#: pg_resetwal.c:723 #, c-format msgid "pg_control version number: %u\n" msgstr "Номер версии pg_control: %u\n" -#: pg_resetwal.c:718 +#: pg_resetwal.c:725 #, c-format msgid "Catalog version number: %u\n" msgstr "Номер версии каталога: %u\n" -#: pg_resetwal.c:720 +#: pg_resetwal.c:727 #, c-format msgid "Database system identifier: %llu\n" msgstr "Идентификатор системы баз данных: %llu\n" # skip-rule: capital-letter-first -#: pg_resetwal.c:722 +#: pg_resetwal.c:729 #, c-format msgid "Latest checkpoint's TimeLineID: %u\n" msgstr "Линия времени последней конт. точки: %u\n" # skip-rule: no-space-after-period -#: pg_resetwal.c:724 +#: pg_resetwal.c:731 #, c-format msgid "Latest checkpoint's full_page_writes: %s\n" msgstr "Режим full_page_writes последней к.т: %s\n" -#: pg_resetwal.c:725 +#: pg_resetwal.c:732 msgid "off" msgstr "выкл." -#: pg_resetwal.c:725 +#: pg_resetwal.c:732 msgid "on" msgstr "вкл." # skip-rule: capital-letter-first -#: pg_resetwal.c:726 +#: pg_resetwal.c:733 #, c-format msgid "Latest checkpoint's NextXID: %u:%u\n" msgstr "NextXID последней конт. точки: %u:%u\n" # skip-rule: capital-letter-first -#: pg_resetwal.c:729 +#: pg_resetwal.c:736 #, c-format msgid "Latest checkpoint's NextOID: %u\n" msgstr "NextOID последней конт. точки: %u\n" # skip-rule: capital-letter-first -#: pg_resetwal.c:731 +#: pg_resetwal.c:738 #, c-format msgid "Latest checkpoint's NextMultiXactId: %u\n" msgstr "NextMultiXactId послед. конт. точки: %u\n" # skip-rule: capital-letter-first -#: pg_resetwal.c:733 +#: pg_resetwal.c:740 #, c-format msgid "Latest checkpoint's NextMultiOffset: %u\n" msgstr "NextMultiOffset послед. конт. точки: %u\n" # skip-rule: capital-letter-first -#: pg_resetwal.c:735 +#: pg_resetwal.c:742 #, c-format msgid "Latest checkpoint's oldestXID: %u\n" msgstr "oldestXID последней конт. точки: %u\n" # skip-rule: capital-letter-first -#: pg_resetwal.c:737 +#: pg_resetwal.c:744 #, c-format msgid "Latest checkpoint's oldestXID's DB: %u\n" msgstr "БД с oldestXID последней конт. точки: %u\n" # skip-rule: capital-letter-first -#: pg_resetwal.c:739 +#: pg_resetwal.c:746 #, c-format msgid "Latest checkpoint's oldestActiveXID: %u\n" msgstr "oldestActiveXID последней к. т.: %u\n" # skip-rule: capital-letter-first -#: pg_resetwal.c:741 +#: pg_resetwal.c:748 #, c-format msgid "Latest checkpoint's oldestMultiXid: %u\n" msgstr "oldestMultiXid последней конт. точки: %u\n" # skip-rule: capital-letter-first, double-space -#: pg_resetwal.c:743 +#: pg_resetwal.c:750 #, 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:745 +#: pg_resetwal.c:752 #, c-format msgid "Latest checkpoint's oldestCommitTsXid:%u\n" msgstr "oldestCommitTsXid последней к. т.: %u\n" # skip-rule: capital-letter-first, double-space -#: pg_resetwal.c:747 +#: pg_resetwal.c:754 #, c-format msgid "Latest checkpoint's newestCommitTsXid:%u\n" msgstr "newestCommitTsXid последней к. т.: %u\n" -#: pg_resetwal.c:749 +#: pg_resetwal.c:756 #, c-format msgid "Maximum data alignment: %u\n" msgstr "Макс. предел выравнивания данных: %u\n" -#: pg_resetwal.c:752 +#: pg_resetwal.c:759 #, c-format msgid "Database block size: %u\n" msgstr "Размер блока БД: %u\n" # skip-rule: double-space -#: pg_resetwal.c:754 +#: pg_resetwal.c:761 #, c-format msgid "Blocks per segment of large relation: %u\n" msgstr "Блоков в макс. сегменте отношений: %u\n" -#: pg_resetwal.c:756 +#: pg_resetwal.c:763 #, c-format msgid "WAL block size: %u\n" msgstr "Размер блока WAL: %u\n" -#: pg_resetwal.c:758 pg_resetwal.c:844 +#: pg_resetwal.c:765 pg_resetwal.c:851 #, c-format msgid "Bytes per WAL segment: %u\n" msgstr "Байт в сегменте WAL: %u\n" -#: pg_resetwal.c:760 +#: pg_resetwal.c:767 #, c-format msgid "Maximum length of identifiers: %u\n" msgstr "Максимальная длина идентификаторов: %u\n" -#: pg_resetwal.c:762 +#: pg_resetwal.c:769 #, c-format msgid "Maximum columns in an index: %u\n" msgstr "Макс. число столбцов в индексе: %u\n" -#: pg_resetwal.c:764 +#: pg_resetwal.c:771 #, c-format msgid "Maximum size of a TOAST chunk: %u\n" msgstr "Максимальный размер порции TOAST: %u\n" -#: pg_resetwal.c:766 +#: pg_resetwal.c:773 #, c-format msgid "Size of a large-object chunk: %u\n" msgstr "Размер порции большого объекта: %u\n" -#: pg_resetwal.c:769 +#: pg_resetwal.c:776 #, c-format msgid "Date/time type storage: %s\n" msgstr "Формат хранения даты/времени: %s\n" -#: pg_resetwal.c:770 +#: pg_resetwal.c:777 msgid "64-bit integers" msgstr "64-битные целые" -#: pg_resetwal.c:771 +#: pg_resetwal.c:778 #, c-format msgid "Float8 argument passing: %s\n" msgstr "Передача аргумента float8: %s\n" -#: pg_resetwal.c:772 +#: pg_resetwal.c:779 msgid "by reference" msgstr "по ссылке" -#: pg_resetwal.c:772 +#: pg_resetwal.c:779 msgid "by value" msgstr "по значению" -#: pg_resetwal.c:773 +#: pg_resetwal.c:780 #, c-format msgid "Data page checksum version: %u\n" msgstr "Версия контрольных сумм страниц: %u\n" -#: pg_resetwal.c:787 +#: pg_resetwal.c:794 #, c-format msgid "" "\n" @@ -479,102 +590,82 @@ msgstr "" "Значения, которые будут изменены:\n" "\n" -#: pg_resetwal.c:791 +#: pg_resetwal.c:798 #, c-format msgid "First log segment after reset: %s\n" msgstr "Первый сегмент журнала после сброса: %s\n" -#: pg_resetwal.c:795 +#: pg_resetwal.c:802 #, c-format msgid "NextMultiXactId: %u\n" msgstr "NextMultiXactId: %u\n" -#: pg_resetwal.c:797 +#: pg_resetwal.c:804 #, c-format msgid "OldestMultiXid: %u\n" msgstr "OldestMultiXid: %u\n" -#: pg_resetwal.c:799 +#: pg_resetwal.c:806 #, c-format msgid "OldestMulti's DB: %u\n" msgstr "БД с oldestMultiXid: %u\n" -#: pg_resetwal.c:805 +#: pg_resetwal.c:812 #, c-format msgid "NextMultiOffset: %u\n" msgstr "NextMultiOffset: %u\n" -#: pg_resetwal.c:811 +#: pg_resetwal.c:818 #, c-format msgid "NextOID: %u\n" msgstr "NextOID: %u\n" -#: pg_resetwal.c:817 +#: pg_resetwal.c:824 #, c-format msgid "NextXID: %u\n" msgstr "NextXID: %u\n" -#: pg_resetwal.c:819 +#: pg_resetwal.c:826 #, c-format msgid "OldestXID: %u\n" msgstr "OldestXID: %u\n" -#: pg_resetwal.c:821 +#: pg_resetwal.c:828 #, c-format msgid "OldestXID's DB: %u\n" msgstr "БД с oldestXID: %u\n" -#: pg_resetwal.c:827 +#: pg_resetwal.c:834 #, c-format msgid "NextXID epoch: %u\n" msgstr "Эпоха NextXID: %u\n" -#: pg_resetwal.c:833 +#: pg_resetwal.c:840 #, c-format msgid "oldestCommitTsXid: %u\n" msgstr "oldestCommitTsXid: %u\n" -#: pg_resetwal.c:838 +#: pg_resetwal.c:845 #, c-format msgid "newestCommitTsXid: %u\n" msgstr "newestCommitTsXid: %u\n" -#: pg_resetwal.c:921 pg_resetwal.c:974 pg_resetwal.c:1009 -#, c-format -msgid "could not open directory \"%s\": %m" -msgstr "не удалось открыть каталог \"%s\": %m" - -#: pg_resetwal.c:947 pg_resetwal.c:988 pg_resetwal.c:1026 -#, c-format -msgid "could not read directory \"%s\": %m" -msgstr "не удалось прочитать каталог \"%s\": %m" - -#: pg_resetwal.c:950 pg_resetwal.c:991 pg_resetwal.c:1029 +#: pg_resetwal.c:957 pg_resetwal.c:998 pg_resetwal.c:1036 pg_resetwal.c:1071 #, c-format msgid "could not close directory \"%s\": %m" msgstr "не удалось закрыть каталог \"%s\": %m" -#: pg_resetwal.c:983 pg_resetwal.c:1021 +#: pg_resetwal.c:990 pg_resetwal.c:1028 pg_resetwal.c:1063 #, c-format msgid "could not delete file \"%s\": %m" msgstr "ошибка удаления файла \"%s\": %m" -#: pg_resetwal.c:1093 -#, c-format -msgid "could not open file \"%s\": %m" -msgstr "не удалось открыть файл \"%s\": %m" - -#: pg_resetwal.c:1101 pg_resetwal.c:1113 -#, c-format -msgid "could not write file \"%s\": %m" -msgstr "не удалось записать файл \"%s\": %m" - -#: pg_resetwal.c:1118 +#: pg_resetwal.c:1159 #, c-format msgid "fsync error: %m" msgstr "ошибка синхронизации с ФС: %m" -#: pg_resetwal.c:1127 +#: pg_resetwal.c:1168 #, c-format msgid "" "%s resets the PostgreSQL write-ahead log.\n" @@ -583,23 +674,69 @@ msgstr "" "%s сбрасывает журнал предзаписи PostgreSQL.\n" "\n" -#: pg_resetwal.c:1128 +#: pg_resetwal.c:1169 +#, c-format +msgid "Usage:\n" +msgstr "Использование:\n" + +#: pg_resetwal.c:1170 +#, c-format +msgid " %s [OPTION]... DATADIR\n" +msgstr " %s [ПАРАМЕТР]... КАТ_ДАННЫХ\n" + +#: pg_resetwal.c:1172 #, c-format msgid "" -"Usage:\n" -" %s [OPTION]... DATADIR\n" "\n" +"Options:\n" msgstr "" -"Использование:\n" -" %s [ПАРАМЕТР]... КАТ_ДАННЫХ\n" "\n" +"Параметры:\n" -#: pg_resetwal.c:1129 +#: pg_resetwal.c:1173 #, c-format -msgid "Options:\n" -msgstr "Параметры:\n" +msgid " [-D, --pgdata=]DATADIR data directory\n" +msgstr " [-D, --pgdata=]КАТ_ДАННЫХ каталог данных\n" -#: pg_resetwal.c:1130 +#: pg_resetwal.c:1174 +#, 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" +" отключения сервера\n" + +#: pg_resetwal.c:1176 +#, 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 +#, c-format +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version показать версию и выйти\n" + +#: pg_resetwal.c:1178 +#, c-format +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help показать эту справку и выйти\n" + +#: pg_resetwal.c:1180 +#, c-format +msgid "" +"\n" +"Options to override control file values:\n" +msgstr "" +"\n" +"Параметры, переопределяющие значения из контрольного файла:\n" + +#: pg_resetwal.c:1181 #, c-format msgid "" " -c, --commit-timestamp-ids=XID,XID\n" @@ -611,24 +748,13 @@ msgstr "" " задать старейшую и новейшую транзакции,\n" " несущие метки времени (0 — не менять)\n" -#: pg_resetwal.c:1133 -#, c-format -msgid " [-D, --pgdata=]DATADIR data directory\n" -msgstr " [-D, --pgdata=]КАТ_ДАННЫХ каталог данных\n" - -#: pg_resetwal.c:1134 +#: pg_resetwal.c:1184 #, c-format msgid " -e, --epoch=XIDEPOCH set next transaction ID epoch\n" msgstr "" " -e, --epoch=XIDEPOCH задать эпоху для ID следующей транзакции\n" -#: pg_resetwal.c:1135 -#, c-format -msgid " -f, --force force update to be done\n" -msgstr "" -" -f, --force принудительное выполнение операции\n" - -#: pg_resetwal.c:1136 +#: pg_resetwal.c:1185 #, c-format msgid "" " -l, --next-wal-file=WALFILE set minimum starting location for new " @@ -637,7 +763,7 @@ msgstr "" " -l, --next-wal-file=ФАЙЛ_WAL задать минимальное начальное положение\n" " для нового WAL\n" -#: pg_resetwal.c:1137 +#: pg_resetwal.c:1186 #, c-format msgid "" " -m, --multixact-ids=MXID,MXID set next and oldest multitransaction ID\n" @@ -645,55 +771,35 @@ msgstr "" " -m, --multixact-ids=MXID,MXID задать ID следующей и старейшей\n" " мультитранзакции\n" -#: pg_resetwal.c:1138 -#, c-format -msgid "" -" -n, --dry-run no update, just show what would be done\n" -msgstr "" -" -n, --dry-run показать, какие действия будут " -"выполнены,\n" -" но не выполнять их\n" - -#: pg_resetwal.c:1139 +#: pg_resetwal.c:1187 #, c-format msgid " -o, --next-oid=OID set next OID\n" msgstr " -o, --next-oid=OID задать следующий OID\n" -#: pg_resetwal.c:1140 +#: pg_resetwal.c:1188 #, c-format msgid " -O, --multixact-offset=OFFSET set next multitransaction offset\n" msgstr "" " -O, --multixact-offset=СМЕЩЕНИЕ задать смещение следующей " "мультитранзакции\n" -#: pg_resetwal.c:1141 +#: pg_resetwal.c:1189 #, 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:1142 -#, c-format -msgid "" -" -V, --version output version information, then exit\n" -msgstr " -V, --version показать версию и выйти\n" - -#: pg_resetwal.c:1143 +#: pg_resetwal.c:1190 #, c-format msgid " -x, --next-transaction-id=XID set next transaction ID\n" msgstr " -x, --next-transaction-id=XID задать ID следующей транзакции\n" -#: pg_resetwal.c:1144 +#: pg_resetwal.c:1191 #, c-format msgid " --wal-segsize=SIZE size of WAL segments, in megabytes\n" msgstr "" " --wal-segsize=РАЗМЕР размер сегментов WAL (в мегабайтах)\n" -#: pg_resetwal.c:1145 -#, c-format -msgid " -?, --help show this help, then exit\n" -msgstr " -?, --help показать эту справку и выйти\n" - -#: pg_resetwal.c:1146 +#: pg_resetwal.c:1193 #, c-format msgid "" "\n" @@ -702,11 +808,30 @@ msgstr "" "\n" "Об ошибках сообщайте по адресу <%s>.\n" -#: pg_resetwal.c:1147 +#: pg_resetwal.c:1194 #, c-format msgid "%s home page: <%s>\n" msgstr "Домашняя страница %s: <%s>\n" +#, c-format +#~ msgid "argument of --wal-segsize must be a number" +#~ msgstr "аргументом --wal-segsize должно быть число" + +#, c-format +#~ msgid "" +#~ "The database server was not shut down cleanly.\n" +#~ "Resetting the write-ahead log might cause data to be lost.\n" +#~ "If you want to proceed anyway, use -f to force reset.\n" +#~ msgstr "" +#~ "Сервер баз данных был остановлен некорректно.\n" +#~ "Сброс журнала предзаписи может привести к потере данных.\n" +#~ "Если вы хотите сбросить его, несмотря на это, добавьте ключ -f.\n" + +#, c-format +#~ msgid " -f, --force force update to be done\n" +#~ msgstr "" +#~ " -f, --force принудительное выполнение операции\n" + #, c-format #~ msgid "could not load library \"%s\": error code %lu" #~ msgstr "не удалось загрузить библиотеку \"%s\" (код ошибки: %lu)" diff --git a/src/bin/pg_resetwal/po/sv.po b/src/bin/pg_resetwal/po/sv.po index 7bf463e54b1..71529e5ebf2 100644 --- a/src/bin/pg_resetwal/po/sv.po +++ b/src/bin/pg_resetwal/po/sv.po @@ -1,14 +1,14 @@ # Swedish message translation file for resetxlog. -# Dennis Björklund , 2002, 2003, 2004, 2005, 2006, 2017, 2018, 2019, 2020, 2021, 2022. +# Dennis Björklund , 2002, 2003, 2004, 2005, 2006, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024. # Peter Eisentraut , 2010. # Mats Erik Andersson , 2014. # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 15\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-08-31 19:50+0000\n" -"PO-Revision-Date: 2023-08-31 22:00+0200\n" +"POT-Creation-Date: 2024-07-12 17:51+0000\n" +"PO-Revision-Date: 2024-07-12 23:47+0200\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -37,6 +37,106 @@ msgstr "detalj: " msgid "hint: " msgstr "tips: " +#: ../../common/controldata_utils.c:97 pg_resetwal.c:370 pg_resetwal.c:525 +#: pg_resetwal.c:573 +#, 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 +#, c-format +msgid "could not read file \"%s\": %m" +msgstr "kunde inte läsa fil \"%s\": %m" + +#: ../../common/controldata_utils.c:119 +#, c-format +msgid "could not read file \"%s\": read %d of %zu" +msgstr "kunde inte läsa fil \"%s\": läste %d av %zu" + +#: ../../common/controldata_utils.c:132 ../../common/controldata_utils.c:280 +#, c-format +msgid "could not close file \"%s\": %m" +msgstr "kunde inte stänga fil \"%s\": %m" + +#: ../../common/controldata_utils.c:168 +msgid "byte ordering mismatch" +msgstr "byte-ordning stämmer inte" + +#: ../../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 "" +"möjligt fel i byteordning\n" +"Den byteordning som filen från pg_control lagrats med passar kanske\n" +"inte detta program. I så fall kan nedanstående resultat vara felaktiga\n" +"och PostgreSQL-installationen vara inkompatibel med databaskatalogen." + +#: ../../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 +#, 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 +#, c-format +msgid "could not write file \"%s\": %m" +msgstr "kunde inte skriva fil \"%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 "kunde inte fsync:a fil \"%s\": %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 "slut på minne\n" + +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 +#, c-format +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "kan inte duplicera null-pekare (internt fel)\n" + +#: ../../common/file_utils.c:76 +#, c-format +msgid "could not synchronize file system for file \"%s\": %m" +msgstr "kan inte synkronisera filsystemet för fil \"%s\": %m" + +#: ../../common/file_utils.c:120 ../../common/file_utils.c:566 +#, c-format +msgid "could not stat file \"%s\": %m" +msgstr "kunde inte göra stat() på fil \"%s\": %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 "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 +#, 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 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "kunde inte läsa katalog \"%s\": %m" + +#: ../../common/file_utils.c:498 +#, c-format +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "kunde inte döpa om fil \"%s\" till \"%s\": %m" + #: ../../common/restricted_token.c:60 #, c-format msgid "could not open process token: error code %lu" @@ -67,164 +167,168 @@ msgstr "kunde inte köra igen med token för begränsad åtkomst: felkod %lu" msgid "could not get exit code from subprocess: error code %lu" msgstr "kunde inte hämta statuskod för underprocess: felkod %lu" +#: ../../fe_utils/option_utils.c:69 +#, c-format +msgid "invalid value \"%s\" for option %s" +msgstr "ogiltigt värde \"%s\" för flaggan \"%s\"" + +#: ../../fe_utils/option_utils.c:76 +#, c-format +msgid "%s must be in range %d..%d" +msgstr "%s måste vara i intervallet %d..%d" + +#: ../../fe_utils/option_utils.c:106 +#, c-format +msgid "unrecognized sync method: %s" +msgstr "okänd synkmetod: %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: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 #, c-format msgid "invalid argument for option %s" msgstr "ogiltigt argument för flaggan %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:303 pg_resetwal.c:316 -#: pg_resetwal.c:323 +#: 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 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Försök med \"%s --help\" för mer information." -#: pg_resetwal.c:168 +#: pg_resetwal.c:169 #, 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:181 +#: pg_resetwal.c:182 #, 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:194 +#: pg_resetwal.c:195 #, 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:216 pg_resetwal.c:220 +#: pg_resetwal.c:217 pg_resetwal.c:221 #, c-format -msgid "transaction ID (-c) must be either 0 or greater than or equal to 2" -msgstr "transaktions-ID (-c) måste antingen vara 0 eller större än eller lika med 2" +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:233 +#: pg_resetwal.c:234 #, c-format msgid "OID (-o) must not be 0" msgstr "OID (-o) får inte vara 0." -#: pg_resetwal.c:254 +#: 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:261 +#: pg_resetwal.c:262 #, c-format msgid "oldest multitransaction ID (-m) must not be 0" msgstr "Äldsta multitransaktions-ID (-m) får inte vara 0." -#: pg_resetwal.c:274 +#: pg_resetwal.c:275 #, c-format msgid "multitransaction offset (-O) must not be -1" msgstr "Multitransaktionsoffset (-O) får inte vara -1." -#: pg_resetwal.c:296 -#, c-format -msgid "argument of --wal-segsize must be a number" -msgstr "argumentet till --wal-segsize måste vara ett tal" - -#: pg_resetwal.c:298 +#: pg_resetwal.c:301 #, c-format -msgid "argument of --wal-segsize must be a power of two between 1 and 1024" -msgstr "argumentet till --wal-segsize måste vara en tvåpotens mellan 1 och 1024" +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:314 +#: pg_resetwal.c:318 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "för många kommandoradsargument (första är \"%s\")" -#: pg_resetwal.c:322 +#: pg_resetwal.c:326 #, c-format msgid "no data directory specified" msgstr "ingen datakatalog angiven" -#: pg_resetwal.c:336 +#: pg_resetwal.c:340 #, c-format msgid "cannot be executed by \"root\"" msgstr "kan inte köras av \"root\"" -#: pg_resetwal.c:337 +#: pg_resetwal.c:341 #, 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:347 +#: pg_resetwal.c:351 #, 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:353 +#: pg_resetwal.c:357 #, c-format msgid "could not change directory to \"%s\": %m" msgstr "kunde inte byta katalog till \"%s\": %m" -#: pg_resetwal.c:366 pg_resetwal.c:518 pg_resetwal.c:566 -#, c-format -msgid "could not open file \"%s\" for reading: %m" -msgstr "kunde inte öppna filen \"%s\" för läsning: %m" - -#: pg_resetwal.c:371 +#: pg_resetwal.c:375 #, c-format msgid "lock file \"%s\" exists" msgstr "låsfil med namn \"%s\" finns redan" -#: pg_resetwal.c:372 +#: pg_resetwal.c:376 #, 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:467 +#: pg_resetwal.c:475 #, c-format -msgid "" -"\n" -"If these values seem acceptable, use -f to force reset.\n" -msgstr "" -"\n" -"Om dessa värden verkar godtagbara, använd då -f för att\n" -"framtvinga återställning.\n" +msgid "not proceeding because control file values were guessed" +msgstr "fortsätter inte eftersom kontrollfilens värden har gissats" -#: pg_resetwal.c:479 +#: pg_resetwal.c:476 #, c-format -msgid "" -"The database server was not shut down cleanly.\n" -"Resetting the write-ahead log might cause data to be lost.\n" -"If you want to proceed anyway, use -f to force reset.\n" -msgstr "" -"Databasservern stängdes inte av ordentligt. Att återställa\n" -"write-ahead-loggen kan medföra att data förloras. Om du ändå\n" -"vill fortsätta, använd -f för att framtvinga återställning.\n" +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 +#, c-format +msgid "database server was not shut down cleanly" +msgstr "databasservern stångdes inte ner utan fel" + +#: pg_resetwal.c:486 +#, 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 +#, 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:493 +#: pg_resetwal.c:500 #, c-format msgid "Write-ahead log reset\n" msgstr "Återställning av write-ahead-log\n" -#: pg_resetwal.c:525 +#: pg_resetwal.c:532 #, c-format msgid "unexpected empty file \"%s\"" msgstr "oväntad tom fil \"%s\"" -#: pg_resetwal.c:527 pg_resetwal.c:581 -#, c-format -msgid "could not read file \"%s\": %m" -msgstr "kunde inte läsa fil \"%s\": %m" - -#: pg_resetwal.c:535 +#: pg_resetwal.c:542 #, c-format msgid "data directory is of wrong version" msgstr "datakatalogen har fel version" -#: pg_resetwal.c:536 +#: pg_resetwal.c:543 #, 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:569 +#: pg_resetwal.c:576 #, c-format msgid "" "If you are sure the data directory path is correct, execute\n" @@ -234,24 +338,24 @@ msgstr "" "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:597 +#: pg_resetwal.c:604 #, 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:606 +#: pg_resetwal.c:613 #, 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:617 +#: pg_resetwal.c:624 #, 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:712 +#: pg_resetwal.c:719 #, c-format msgid "" "Guessed pg_control values:\n" @@ -260,7 +364,7 @@ msgstr "" "Gissade värden för pg_control:\n" "\n" -#: pg_resetwal.c:714 +#: pg_resetwal.c:721 #, c-format msgid "" "Current pg_control values:\n" @@ -272,168 +376,168 @@ msgstr "" # 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:716 +#: pg_resetwal.c:723 #, c-format msgid "pg_control version number: %u\n" msgstr "Versionsnummer för pg_control: %u\n" -#: pg_resetwal.c:718 +#: pg_resetwal.c:725 #, c-format msgid "Catalog version number: %u\n" msgstr "Katalogversion: %u\n" -#: pg_resetwal.c:720 +#: pg_resetwal.c:727 #, c-format msgid "Database system identifier: %llu\n" msgstr "Databasens systemidentifierare: %llu\n" -#: pg_resetwal.c:722 +#: pg_resetwal.c:729 #, c-format msgid "Latest checkpoint's TimeLineID: %u\n" msgstr "TimeLineID vid senaste kontrollpunkt: %u\n" -#: pg_resetwal.c:724 +#: pg_resetwal.c:731 #, c-format msgid "Latest checkpoint's full_page_writes: %s\n" msgstr "Senaste kontrollpunktens full_page_writes: %s\n" -#: pg_resetwal.c:725 +#: pg_resetwal.c:732 msgid "off" msgstr "av" -#: pg_resetwal.c:725 +#: pg_resetwal.c:732 msgid "on" msgstr "på" -#: pg_resetwal.c:726 +#: pg_resetwal.c:733 #, c-format msgid "Latest checkpoint's NextXID: %u:%u\n" msgstr "NextXID vid senaste kontrollpunkt: %u:%u\n" -#: pg_resetwal.c:729 +#: pg_resetwal.c:736 #, c-format msgid "Latest checkpoint's NextOID: %u\n" msgstr "NextOID vid senaste kontrollpunkt: %u\n" -#: pg_resetwal.c:731 +#: pg_resetwal.c:738 #, c-format msgid "Latest checkpoint's NextMultiXactId: %u\n" msgstr "NextMultiXactId vid senaste kontrollpunkt: %u\n" -#: pg_resetwal.c:733 +#: pg_resetwal.c:740 #, c-format msgid "Latest checkpoint's NextMultiOffset: %u\n" msgstr "NextMultiOffset vid senaste kontrollpunkt: %u\n" -#: pg_resetwal.c:735 +#: pg_resetwal.c:742 #, c-format msgid "Latest checkpoint's oldestXID: %u\n" msgstr "oldestXID vid senaste kontrollpunkt: %u\n" -#: pg_resetwal.c:737 +#: pg_resetwal.c:744 #, 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:739 +#: pg_resetwal.c:746 #, c-format msgid "Latest checkpoint's oldestActiveXID: %u\n" msgstr "oldestActiveXID vid senaste kontrollpunkt: %u\n" -#: pg_resetwal.c:741 +#: pg_resetwal.c:748 #, c-format msgid "Latest checkpoint's oldestMultiXid: %u\n" msgstr "oldestMultiXid vid senaste kontrollpunkt: %u\n" -#: pg_resetwal.c:743 +#: pg_resetwal.c:750 #, c-format msgid "Latest checkpoint's oldestMulti's DB: %u\n" msgstr "DB för oldestMulti vid senaste kontrollpkt: %u\n" -#: pg_resetwal.c:745 +#: pg_resetwal.c:752 #, c-format msgid "Latest checkpoint's oldestCommitTsXid:%u\n" msgstr "oldestCommitTsXid vid senaste kontrollpunkt:%u\n" -#: pg_resetwal.c:747 +#: pg_resetwal.c:754 #, c-format msgid "Latest checkpoint's newestCommitTsXid:%u\n" msgstr "newestCommitTsXid vid senaste kontrollpunkt:%u\n" -#: pg_resetwal.c:749 +#: pg_resetwal.c:756 #, c-format msgid "Maximum data alignment: %u\n" msgstr "Maximal jämkning av data (alignment): %u\n" -#: pg_resetwal.c:752 +#: pg_resetwal.c:759 #, c-format msgid "Database block size: %u\n" msgstr "Databasens blockstorlek: %u\n" -#: pg_resetwal.c:754 +#: pg_resetwal.c:761 #, c-format msgid "Blocks per segment of large relation: %u\n" msgstr "Block per segment i en stor relation: %u\n" -#: pg_resetwal.c:756 +#: pg_resetwal.c:763 #, c-format msgid "WAL block size: %u\n" msgstr "Blockstorlek i transaktionsloggen: %u\n" -#: pg_resetwal.c:758 pg_resetwal.c:844 +#: pg_resetwal.c:765 pg_resetwal.c:851 #, c-format msgid "Bytes per WAL segment: %u\n" msgstr "Segmentstorlek i transaktionsloggen: %u\n" -#: pg_resetwal.c:760 +#: pg_resetwal.c:767 #, c-format msgid "Maximum length of identifiers: %u\n" msgstr "Maximal längd för identifierare: %u\n" -#: pg_resetwal.c:762 +#: pg_resetwal.c:769 #, c-format msgid "Maximum columns in an index: %u\n" msgstr "Maximalt antal kolonner i ett index: %u\n" -#: pg_resetwal.c:764 +#: pg_resetwal.c:771 #, c-format msgid "Maximum size of a TOAST chunk: %u\n" msgstr "Maximal storlek för en TOAST-enhet: %u\n" -#: pg_resetwal.c:766 +#: pg_resetwal.c:773 #, c-format msgid "Size of a large-object chunk: %u\n" msgstr "Storlek för large-object-enheter: %u\n" -#: pg_resetwal.c:769 +#: pg_resetwal.c:776 #, c-format msgid "Date/time type storage: %s\n" msgstr "Representation av dag och tid: %s\n" -#: pg_resetwal.c:770 +#: pg_resetwal.c:777 msgid "64-bit integers" msgstr "64-bitars heltal" -#: pg_resetwal.c:771 +#: pg_resetwal.c:778 #, c-format msgid "Float8 argument passing: %s\n" msgstr "Åtkomst till float8-argument: %s\n" -#: pg_resetwal.c:772 +#: pg_resetwal.c:779 msgid "by reference" msgstr "referens" -#: pg_resetwal.c:772 +#: pg_resetwal.c:779 msgid "by value" msgstr "värdeåtkomst" -#: pg_resetwal.c:773 +#: pg_resetwal.c:780 #, c-format msgid "Data page checksum version: %u\n" msgstr "Checksummaversion för datasidor: %u\n" -#: pg_resetwal.c:787 +#: pg_resetwal.c:794 #, c-format msgid "" "\n" @@ -448,102 +552,82 @@ msgstr "" # November 26th, 2014: Insert additional spacing to fit # with the first translated text, which uses most characters. -#: pg_resetwal.c:791 +#: pg_resetwal.c:798 #, c-format msgid "First log segment after reset: %s\n" msgstr "Första loggsegment efter återställning: %s\n" -#: pg_resetwal.c:795 +#: pg_resetwal.c:802 #, c-format msgid "NextMultiXactId: %u\n" msgstr "NextMultiXactId: %u\n" -#: pg_resetwal.c:797 +#: pg_resetwal.c:804 #, c-format msgid "OldestMultiXid: %u\n" msgstr "OldestMultiXid: %u\n" -#: pg_resetwal.c:799 +#: pg_resetwal.c:806 #, c-format msgid "OldestMulti's DB: %u\n" msgstr "DB för OldestMulti: %u\n" -#: pg_resetwal.c:805 +#: pg_resetwal.c:812 #, c-format msgid "NextMultiOffset: %u\n" msgstr "NextMultiOffset: %u\n" -#: pg_resetwal.c:811 +#: pg_resetwal.c:818 #, c-format msgid "NextOID: %u\n" msgstr "NextOID: %u\n" -#: pg_resetwal.c:817 +#: pg_resetwal.c:824 #, c-format msgid "NextXID: %u\n" msgstr "NextXID: %u\n" -#: pg_resetwal.c:819 +#: pg_resetwal.c:826 #, c-format msgid "OldestXID: %u\n" msgstr "OldestXID: %u\n" -#: pg_resetwal.c:821 +#: pg_resetwal.c:828 #, c-format msgid "OldestXID's DB: %u\n" msgstr "DB för OldestXID: %u\n" -#: pg_resetwal.c:827 +#: pg_resetwal.c:834 #, c-format msgid "NextXID epoch: %u\n" msgstr "Epoch för NextXID: %u\n" -#: pg_resetwal.c:833 +#: pg_resetwal.c:840 #, c-format msgid "oldestCommitTsXid: %u\n" msgstr "oldestCommitTsXid: %u\n" -#: pg_resetwal.c:838 +#: pg_resetwal.c:845 #, c-format msgid "newestCommitTsXid: %u\n" msgstr "newestCommitTsXid: %u\n" -#: pg_resetwal.c:921 pg_resetwal.c:974 pg_resetwal.c:1009 -#, c-format -msgid "could not open directory \"%s\": %m" -msgstr "kunde inte öppna katalog \"%s\": %m" - -#: pg_resetwal.c:947 pg_resetwal.c:988 pg_resetwal.c:1026 -#, c-format -msgid "could not read directory \"%s\": %m" -msgstr "kunde inte läsa katalog \"%s\": %m" - -#: pg_resetwal.c:950 pg_resetwal.c:991 pg_resetwal.c:1029 +#: pg_resetwal.c:957 pg_resetwal.c:998 pg_resetwal.c:1036 pg_resetwal.c:1071 #, c-format msgid "could not close directory \"%s\": %m" msgstr "kunde inte stänga katalog \"%s\": %m" -#: pg_resetwal.c:983 pg_resetwal.c:1021 +#: pg_resetwal.c:990 pg_resetwal.c:1028 pg_resetwal.c:1063 #, c-format msgid "could not delete file \"%s\": %m" msgstr "kunde inte radera fil \"%s\": %m" -#: pg_resetwal.c:1093 -#, c-format -msgid "could not open file \"%s\": %m" -msgstr "kunde inte öppna fil \"%s\": %m" - -#: pg_resetwal.c:1101 pg_resetwal.c:1113 -#, c-format -msgid "could not write file \"%s\": %m" -msgstr "kunde inte skriva fil \"%s\": %m" - -#: pg_resetwal.c:1118 +#: pg_resetwal.c:1159 #, c-format msgid "fsync error: %m" msgstr "misslyckad fsync: %m" -#: pg_resetwal.c:1127 +#: pg_resetwal.c:1168 #, c-format msgid "" "%s resets the PostgreSQL write-ahead log.\n" @@ -552,23 +636,62 @@ msgstr "" "%s återställer write-ahead-log för PostgreSQL.\n" "\n" -#: pg_resetwal.c:1128 +#: pg_resetwal.c:1169 +#, c-format +msgid "Usage:\n" +msgstr "Användning:\n" + +#: pg_resetwal.c:1170 +#, c-format +msgid " %s [OPTION]... DATADIR\n" +msgstr " %s [FLAGGA]... DATAKATALOG\n" + +#: pg_resetwal.c:1172 #, c-format msgid "" -"Usage:\n" -" %s [OPTION]... DATADIR\n" "\n" +"Options:\n" msgstr "" -"Användning:\n" -" %s [FLAGGA]... DATAKATALOG\n" "\n" +"Flaggor:\n" + +#: pg_resetwal.c:1173 +#, c-format +msgid " [-D, --pgdata=]DATADIR data directory\n" +msgstr " [-D, --pgdata=]DATADIR datakatalog\n" + +#: pg_resetwal.c:1174 +#, 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 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 +#, 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 +#, c-format +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version visa versionsinformation, avsluta sedan\n" -#: pg_resetwal.c:1129 +#: pg_resetwal.c:1178 #, c-format -msgid "Options:\n" -msgstr "Flaggor:\n" +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help visa den här hjälpen, avsluta sedan\n" -#: pg_resetwal.c:1130 +#: pg_resetwal.c:1180 +#, c-format +msgid "" +"\n" +"Options to override control file values:\n" +msgstr "\nFlaggor som övertrumfar värden i kontrollfilen:\n" + +#: pg_resetwal.c:1181 #, c-format msgid "" " -c, --commit-timestamp-ids=XID,XID\n" @@ -580,72 +703,47 @@ msgstr "" " kan ha commit-tidstämpel (noll betyder\n" " ingen ändring)\n" -#: pg_resetwal.c:1133 -#, c-format -msgid " [-D, --pgdata=]DATADIR data directory\n" -msgstr " [-D, --pgdata=]DATADIR datakatalog\n" - -#: pg_resetwal.c:1134 +#: pg_resetwal.c:1184 #, 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:1135 -#, c-format -msgid " -f, --force force update to be done\n" -msgstr " -f, --force framtvinga uppdatering\n" - -#: pg_resetwal.c:1136 +#: pg_resetwal.c:1185 #, 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:1137 +#: pg_resetwal.c:1186 #, 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:1138 -#, 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:1139 +#: pg_resetwal.c:1187 #, 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:1140 +#: pg_resetwal.c:1188 #, 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:1141 +#: pg_resetwal.c:1189 #, 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:1142 -#, c-format -msgid " -V, --version output version information, then exit\n" -msgstr " -V, --version visa versionsinformation, avsluta sedan\n" - -#: pg_resetwal.c:1143 +#: pg_resetwal.c:1190 #, 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:1144 +#: pg_resetwal.c:1191 #, 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:1145 -#, c-format -msgid " -?, --help show this help, then exit\n" -msgstr " -?, --help visa denna hjälp, avsluta sedan\n" - -#: pg_resetwal.c:1146 +#: pg_resetwal.c:1193 #, c-format msgid "" "\n" @@ -654,15 +752,7 @@ msgstr "" "\n" "Rapportera fel till <%s>.\n" -#: pg_resetwal.c:1147 +#: pg_resetwal.c:1194 #, c-format msgid "%s home page: <%s>\n" msgstr "hemsida för %s: <%s>\n" - -#, c-format -#~ msgid "cannot create restricted tokens on this platform: error code %lu" -#~ msgstr "kan inte skapa token för begränsad åtkomst på denna plattorm: felkod %lu" - -#, c-format -#~ msgid "could not load library \"%s\": error code %lu" -#~ msgstr "kunde inte ladda länkbibliotek \"%s\": felkod %lu" diff --git a/src/bin/pg_resetwal/po/uk.po b/src/bin/pg_resetwal/po/uk.po index e761d7a0d3d..0b18f98387d 100644 --- a/src/bin/pg_resetwal/po/uk.po +++ b/src/bin/pg_resetwal/po/uk.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: postgresql\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-12-17 22:19+0000\n" -"PO-Revision-Date: 2023-12-20 11:53\n" +"POT-Creation-Date: 2024-08-31 06:21+0000\n" +"PO-Revision-Date: 2024-09-23 19:38\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -14,8 +14,8 @@ msgstr "" "X-Crowdin-Project: postgresql\n" "X-Crowdin-Project-ID: 324573\n" "X-Crowdin-Language: uk\n" -"X-Crowdin-File: /REL_16_STABLE/pg_resetwal.pot\n" -"X-Crowdin-File-ID: 939\n" +"X-Crowdin-File: /REL_17_STABLE/pg_resetwal.pot\n" +"X-Crowdin-File-ID: 1010\n" #: ../../../src/common/logging.c:276 #, c-format @@ -37,6 +37,102 @@ msgstr "деталі: " msgid "hint: " msgstr "підказка: " +#: ../../common/controldata_utils.c:97 pg_resetwal.c:370 pg_resetwal.c:525 +#: pg_resetwal.c:573 +#, 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 +#, 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 "не вдалося прочитати файл \"%s\": прочитано %d з %zu" + +#: ../../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, може не відповідати тому, який використовується цією програмою. У такому випадку результати нижче будуть неправильним, і інсталяція 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:1134 +#, 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 +#, 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 "не вдалося fsync файл \"%s\": %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 "неможливо дублювати нульовий покажчик (внутрішня помилка)\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\": %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:928 pg_resetwal.c:981 pg_resetwal.c:1016 pg_resetwal.c:1054 +#, 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 +#, 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" @@ -67,159 +163,168 @@ msgstr "не вдалося перезапустити з обмеженим т 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 "неприпустиме значення \"%s\" для параметра %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: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 #, 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:303 pg_resetwal.c:316 -#: pg_resetwal.c:323 +#: 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 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Спробуйте \"%s --help\" для додаткової інформації." -#: pg_resetwal.c:168 +#: pg_resetwal.c:169 #, c-format msgid "transaction ID epoch (-e) must not be -1" msgstr "епоха ID транзакції (-e) не повинна бути -1" -#: pg_resetwal.c:181 +#: pg_resetwal.c:182 #, 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:195 #, 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:217 pg_resetwal.c:221 #, c-format -msgid "transaction ID (-c) must be either 0 or greater than or equal to 2" -msgstr "ID транзакції (-c) повинен дорівнювати 0, бути більшим за або дорівнювати 2" +msgid "transaction ID (-c) must be either %u or greater than or equal to %u" +msgstr "ідентифікатор транзакції (-c) має бути або %u, або більше чи дорівнювати %u" -#: pg_resetwal.c:233 +#: pg_resetwal.c:234 #, c-format msgid "OID (-o) must not be 0" msgstr "OID (-o) не може бути 0" -#: pg_resetwal.c:254 +#: pg_resetwal.c:255 #, c-format msgid "multitransaction ID (-m) must not be 0" msgstr "ID мультитранзакції (-m) не повинен бути 0" -#: pg_resetwal.c:261 +#: pg_resetwal.c:262 #, c-format msgid "oldest multitransaction ID (-m) must not be 0" msgstr "найстарший ID мультитранзакції (-m) не повинен бути 0" -#: pg_resetwal.c:274 +#: pg_resetwal.c:275 #, c-format msgid "multitransaction offset (-O) must not be -1" msgstr "зсув мультитранзакції (-O) не повинен бути -1" -#: pg_resetwal.c:296 -#, c-format -msgid "argument of --wal-segsize must be a number" -msgstr "аргумент --wal-segsize повинен бути числом" - -#: pg_resetwal.c:298 +#: pg_resetwal.c:301 #, c-format -msgid "argument of --wal-segsize must be a power of two between 1 and 1024" -msgstr "аргумент --wal-segsize повинен бути ступенем 2 між 1 і 1024" +msgid "argument of %s must be a power of two between 1 and 1024" +msgstr "аргумент %s має бути ступенем двійки в діапазоні від 1 до 1024" -#: pg_resetwal.c:314 +#: pg_resetwal.c:318 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "забагато аргументів у командному рядку (перший \"%s\")" -#: pg_resetwal.c:322 +#: pg_resetwal.c:326 #, c-format msgid "no data directory specified" msgstr "каталог даних не вказано" -#: pg_resetwal.c:336 +#: pg_resetwal.c:340 #, c-format msgid "cannot be executed by \"root\"" msgstr "\"root\" не може це виконувати" -#: pg_resetwal.c:337 +#: pg_resetwal.c:341 #, c-format msgid "You must run %s as the PostgreSQL superuser." msgstr "Запускати %s треба від суперкористувача PostgreSQL." -#: pg_resetwal.c:347 +#: pg_resetwal.c:351 #, c-format msgid "could not read permissions of directory \"%s\": %m" msgstr "не вдалося прочитати дозволи на каталог \"%s\": %m" -#: pg_resetwal.c:353 +#: pg_resetwal.c:357 #, c-format msgid "could not change directory to \"%s\": %m" msgstr "не вдалося змінити каталог на \"%s\": %m" -#: pg_resetwal.c:366 pg_resetwal.c:518 pg_resetwal.c:566 -#, c-format -msgid "could not open file \"%s\" for reading: %m" -msgstr "не вдалося відкрити файл \"%s\" для читання: %m" - -#: pg_resetwal.c:371 +#: pg_resetwal.c:375 #, c-format msgid "lock file \"%s\" exists" msgstr "файл блокування \"%s\" вже існує" -#: pg_resetwal.c:372 +#: pg_resetwal.c:376 #, c-format msgid "Is a server running? If not, delete the lock file and try again." msgstr "Чи запущений сервер? Якщо ні, видаліть файл блокування і спробуйте знову." -#: pg_resetwal.c:467 +#: pg_resetwal.c:475 #, c-format -msgid "\n" -"If these values seem acceptable, use -f to force reset.\n" -msgstr "\n" -"Якщо ці значення виглядають допустимими, використайте -f, щоб провести перевстановлення.\n" +msgid "not proceeding because control file values were guessed" +msgstr "не виконується, оскільки значення контрольного файлу були вгадані" + +#: pg_resetwal.c:476 +#, c-format +msgid "If these values seem acceptable, use -f to force reset." +msgstr "Якщо ці значення здаються прийнятними, використовуйте -f для примусового скидання." + +#: pg_resetwal.c:485 +#, c-format +msgid "database server was not shut down cleanly" +msgstr "сервер бази даних завершив роботу некоректно" + +#: pg_resetwal.c:486 +#, c-format +msgid "Resetting the write-ahead log might cause data to be lost." +msgstr "Скидання журналу попереднього запису може призвести до втрати даних." -#: pg_resetwal.c:479 +#: pg_resetwal.c:487 #, c-format -msgid "The database server was not shut down cleanly.\n" -"Resetting the write-ahead log might cause data to be lost.\n" -"If you want to proceed anyway, use -f to force reset.\n" -msgstr "Сервер баз даних був зупинений некоректно.\n" -"Очищення журналу передзапису може привести до втрати даних.\n" -"Якщо ви все одно хочете продовжити, використайте параметр -f.\n" +msgid "If you want to proceed anyway, use -f to force reset." +msgstr "Якщо ви все одно хочете продовжити, використовуйте -f для примусового скидання." -#: pg_resetwal.c:493 +#: pg_resetwal.c:500 #, c-format msgid "Write-ahead log reset\n" msgstr "Журнал передзапису скинуто\n" -#: pg_resetwal.c:525 +#: pg_resetwal.c:532 #, c-format msgid "unexpected empty file \"%s\"" msgstr "неочікуваний порожній файл \"%s\"" -#: pg_resetwal.c:527 pg_resetwal.c:581 -#, c-format -msgid "could not read file \"%s\": %m" -msgstr "не вдалося прочитати файл \"%s\": %m" - -#: pg_resetwal.c:535 +#: pg_resetwal.c:542 #, c-format msgid "data directory is of wrong version" msgstr "каталог даних неправильної версії" -#: pg_resetwal.c:536 +#: pg_resetwal.c:543 #, c-format msgid "File \"%s\" contains \"%s\", which is not compatible with this program's version \"%s\"." msgstr "Файл \"%s\" містить \"%s\", який не сумісний з версією цієї програми \"%s\"." -#: pg_resetwal.c:569 +#: pg_resetwal.c:576 #, c-format msgid "If you are sure the data directory path is correct, execute\n" " touch %s\n" @@ -228,12 +333,12 @@ msgstr "Якщо Ви впевнені, що шлях каталогу дани " touch %s\n" "і спробуйте знову." -#: pg_resetwal.c:597 +#: pg_resetwal.c:604 #, c-format msgid "pg_control exists but has invalid CRC; proceed with caution" msgstr "pg_control існує, але має недопустимий CRC; продовжуйте з обережністю" -#: pg_resetwal.c:606 +#: pg_resetwal.c:613 #, 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" @@ -242,301 +347,320 @@ msgstr[1] "pg_control вказує неприпустимий розмір се msgstr[2] "pg_control вказує неприпустимий розмір сегмента WAL (%d байтів); продовжуйте з обережністю" msgstr[3] "pg_control вказує неприпустимий розмір сегмента WAL (%d байтів); продовжуйте з обережністю" -#: pg_resetwal.c:617 +#: pg_resetwal.c:624 #, c-format msgid "pg_control exists but is broken or wrong version; ignoring it" msgstr "pg_control існує, але зламаний або неправильної версії; ігнорується" -#: pg_resetwal.c:712 +#: pg_resetwal.c:719 #, c-format msgid "Guessed pg_control values:\n\n" msgstr "Припустимі значення pg_control:\n\n" -#: pg_resetwal.c:714 +#: pg_resetwal.c:721 #, c-format msgid "Current pg_control values:\n\n" msgstr "Поточні значення pg_control:\n\n" -#: pg_resetwal.c:716 +#: pg_resetwal.c:723 #, c-format msgid "pg_control version number: %u\n" msgstr "pg_control номер версії: %u\n" -#: pg_resetwal.c:718 +#: pg_resetwal.c:725 #, c-format msgid "Catalog version number: %u\n" msgstr "Номер версії каталогу: %u\n" -#: pg_resetwal.c:720 +#: pg_resetwal.c:727 #, c-format msgid "Database system identifier: %llu\n" msgstr "Системний ідентифікатор бази даних: %llu\n" -#: pg_resetwal.c:722 +#: pg_resetwal.c:729 #, c-format msgid "Latest checkpoint's TimeLineID: %u\n" msgstr "Останній TimeLineID контрольної точки: %u\n" -#: pg_resetwal.c:724 +#: pg_resetwal.c:731 #, c-format msgid "Latest checkpoint's full_page_writes: %s\n" msgstr "Останній full_page_writes контрольної точки: %s\n" -#: pg_resetwal.c:725 +#: pg_resetwal.c:732 msgid "off" msgstr "вимк" -#: pg_resetwal.c:725 +#: pg_resetwal.c:732 msgid "on" msgstr "увімк" -#: pg_resetwal.c:726 +#: pg_resetwal.c:733 #, c-format msgid "Latest checkpoint's NextXID: %u:%u\n" msgstr "Останній NextXID контрольної точки: %u%u\n" -#: pg_resetwal.c:729 +#: pg_resetwal.c:736 #, c-format msgid "Latest checkpoint's NextOID: %u\n" msgstr "Останній NextOID контрольної точки: %u\n" -#: pg_resetwal.c:731 +#: pg_resetwal.c:738 #, c-format msgid "Latest checkpoint's NextMultiXactId: %u\n" msgstr "Останній NextMultiXactId контрольної точки: %u\n" -#: pg_resetwal.c:733 +#: pg_resetwal.c:740 #, c-format msgid "Latest checkpoint's NextMultiOffset: %u\n" msgstr "Останній NextMultiOffset контрольної точки: %u\n" -#: pg_resetwal.c:735 +#: pg_resetwal.c:742 #, c-format msgid "Latest checkpoint's oldestXID: %u\n" msgstr "Останній oldestXID контрольної точки: %u\n" -#: pg_resetwal.c:737 +#: pg_resetwal.c:744 #, c-format msgid "Latest checkpoint's oldestXID's DB: %u\n" msgstr "Остання DB останнього oldestXID контрольної точки: %u\n" -#: pg_resetwal.c:739 +#: pg_resetwal.c:746 #, c-format msgid "Latest checkpoint's oldestActiveXID: %u\n" msgstr "Останній oldestActiveXID контрольної точки: %u\n" -#: pg_resetwal.c:741 +#: pg_resetwal.c:748 #, c-format msgid "Latest checkpoint's oldestMultiXid: %u\n" msgstr "Останній oldestMultiXid контрольної точки: %u \n" -#: pg_resetwal.c:743 +#: pg_resetwal.c:750 #, c-format msgid "Latest checkpoint's oldestMulti's DB: %u\n" msgstr "Остання DB останньої oldestMulti контрольної точки: %u\n" -#: pg_resetwal.c:745 +#: pg_resetwal.c:752 #, c-format msgid "Latest checkpoint's oldestCommitTsXid:%u\n" msgstr "Останній oldestCommitTsXid контрольної точки:%u\n" -#: pg_resetwal.c:747 +#: pg_resetwal.c:754 #, c-format msgid "Latest checkpoint's newestCommitTsXid:%u\n" msgstr "Останній newestCommitTsXid контрольної точки: %u\n" -#: pg_resetwal.c:749 +#: pg_resetwal.c:756 #, c-format msgid "Maximum data alignment: %u\n" msgstr "Максимальне вирівнювання даних: %u\n" -#: pg_resetwal.c:752 +#: pg_resetwal.c:759 #, c-format msgid "Database block size: %u\n" msgstr "Розмір блоку бази даних: %u\n" -#: pg_resetwal.c:754 +#: pg_resetwal.c:761 #, c-format msgid "Blocks per segment of large relation: %u\n" msgstr "Блоків на сегмент великого відношення: %u\n" -#: pg_resetwal.c:756 +#: pg_resetwal.c:763 #, c-format msgid "WAL block size: %u\n" msgstr "Pозмір блоку WAL: %u\n" -#: pg_resetwal.c:758 pg_resetwal.c:844 +#: pg_resetwal.c:765 pg_resetwal.c:851 #, c-format msgid "Bytes per WAL segment: %u\n" msgstr "Байтів на сегмент WAL: %u\n" -#: pg_resetwal.c:760 +#: pg_resetwal.c:767 #, c-format msgid "Maximum length of identifiers: %u\n" msgstr "Максимальна довжина ідентифікаторів: %u\n" -#: pg_resetwal.c:762 +#: pg_resetwal.c:769 #, c-format msgid "Maximum columns in an index: %u\n" msgstr "Максимальна кількість стовпців в індексі: %u\n" -#: pg_resetwal.c:764 +#: pg_resetwal.c:771 #, c-format msgid "Maximum size of a TOAST chunk: %u\n" msgstr "Максимальний розмір сегменту TOAST: %u\n" -#: pg_resetwal.c:766 +#: pg_resetwal.c:773 #, c-format msgid "Size of a large-object chunk: %u\n" msgstr "Розмір сегменту великих обїєктів: %u\n" -#: pg_resetwal.c:769 +#: pg_resetwal.c:776 #, c-format msgid "Date/time type storage: %s\n" msgstr "Дата/час типу сховища: %s\n" -#: pg_resetwal.c:770 +#: pg_resetwal.c:777 msgid "64-bit integers" msgstr "64-бітні цілі" -#: pg_resetwal.c:771 +#: pg_resetwal.c:778 #, c-format msgid "Float8 argument passing: %s\n" msgstr "Передача аргументу Float8: %s\n" -#: pg_resetwal.c:772 +#: pg_resetwal.c:779 msgid "by reference" msgstr "за посиланням" -#: pg_resetwal.c:772 +#: pg_resetwal.c:779 msgid "by value" msgstr "за значенням" -#: pg_resetwal.c:773 +#: pg_resetwal.c:780 #, c-format msgid "Data page checksum version: %u\n" msgstr "Версія контрольних сум сторінок даних: %u\n" -#: pg_resetwal.c:787 +#: pg_resetwal.c:794 #, c-format msgid "\n\n" "Values to be changed:\n\n" msgstr "\n\n" "Значення, що потребують зміни:\n\n" -#: pg_resetwal.c:791 +#: pg_resetwal.c:798 #, c-format msgid "First log segment after reset: %s\n" msgstr "Перший сегмент журналу після скидання: %s\n" -#: pg_resetwal.c:795 +#: pg_resetwal.c:802 #, c-format msgid "NextMultiXactId: %u\n" msgstr "NextMultiXactId: %u\n" -#: pg_resetwal.c:797 +#: pg_resetwal.c:804 #, c-format msgid "OldestMultiXid: %u\n" msgstr "OldestMultiXid: %u\n" -#: pg_resetwal.c:799 +#: pg_resetwal.c:806 #, c-format msgid "OldestMulti's DB: %u\n" msgstr "OldestMulti's DB: %u\n" -#: pg_resetwal.c:805 +#: pg_resetwal.c:812 #, c-format msgid "NextMultiOffset: %u\n" msgstr "NextMultiOffset: %u\n" -#: pg_resetwal.c:811 +#: pg_resetwal.c:818 #, c-format msgid "NextOID: %u\n" msgstr "NextOID: %u\n" -#: pg_resetwal.c:817 +#: pg_resetwal.c:824 #, c-format msgid "NextXID: %u\n" msgstr "NextXID: %u\n" -#: pg_resetwal.c:819 +#: pg_resetwal.c:826 #, c-format msgid "OldestXID: %u\n" msgstr "OldestXID: %u\n" -#: pg_resetwal.c:821 +#: pg_resetwal.c:828 #, c-format msgid "OldestXID's DB: %u\n" msgstr "OldestXID's DB: %u\n" -#: pg_resetwal.c:827 +#: pg_resetwal.c:834 #, c-format msgid "NextXID epoch: %u\n" msgstr "Епоха NextXID: %u\n" -#: pg_resetwal.c:833 +#: pg_resetwal.c:840 #, c-format msgid "oldestCommitTsXid: %u\n" msgstr "oldestCommitTsXid: %u\n" -#: pg_resetwal.c:838 +#: pg_resetwal.c:845 #, c-format msgid "newestCommitTsXid: %u\n" msgstr "newestCommitTsXid: %u\n" -#: pg_resetwal.c:921 pg_resetwal.c:974 pg_resetwal.c:1009 -#, c-format -msgid "could not open directory \"%s\": %m" -msgstr "не вдалося відкрити каталог \"%s\": %m" - -#: pg_resetwal.c:947 pg_resetwal.c:988 pg_resetwal.c:1026 -#, c-format -msgid "could not read directory \"%s\": %m" -msgstr "не вдалося прочитати каталог \"%s\": %m" - -#: pg_resetwal.c:950 pg_resetwal.c:991 pg_resetwal.c:1029 +#: pg_resetwal.c:957 pg_resetwal.c:998 pg_resetwal.c:1036 pg_resetwal.c:1071 #, c-format msgid "could not close directory \"%s\": %m" msgstr "не вдалося закрити каталог \"%s\": %m" -#: pg_resetwal.c:983 pg_resetwal.c:1021 +#: pg_resetwal.c:990 pg_resetwal.c:1028 pg_resetwal.c:1063 #, c-format msgid "could not delete file \"%s\": %m" msgstr "не вдалося видалити файл \"%s\": %m" -#: pg_resetwal.c:1093 -#, c-format -msgid "could not open file \"%s\": %m" -msgstr "не можливо відкрити файл \"%s\": %m" - -#: pg_resetwal.c:1101 pg_resetwal.c:1113 -#, c-format -msgid "could not write file \"%s\": %m" -msgstr "не вдалося записати файл \"%s\": %m" - -#: pg_resetwal.c:1118 +#: pg_resetwal.c:1159 #, c-format msgid "fsync error: %m" msgstr "помилка fsync: %m" -#: pg_resetwal.c:1127 +#: pg_resetwal.c:1168 #, c-format msgid "%s resets the PostgreSQL write-ahead log.\n\n" msgstr "%s скидає журнал передзапису PostgreSQL.\n\n" -#: pg_resetwal.c:1128 +#: pg_resetwal.c:1169 #, c-format msgid "Usage:\n" -" %s [OPTION]... DATADIR\n\n" msgstr "Використання:\n" -" %s [OPTION]... КАТАЛОГ_ДАНИХ\n\n" -#: pg_resetwal.c:1129 +#: pg_resetwal.c:1170 +#, c-format +msgid " %s [OPTION]... DATADIR\n" +msgstr " %s [OPTION]... DATADIR\n" + +#: pg_resetwal.c:1172 +#, c-format +msgid "\n" +"Options:\n" +msgstr "\n" +"Параметри:\n" + +#: pg_resetwal.c:1173 +#, c-format +msgid " [-D, --pgdata=]DATADIR data directory\n" +msgstr " [-D, --pgdata=]DATADIR каталог з даними\n" + +#: pg_resetwal.c:1174 +#, 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 +#, c-format +msgid " -n, --dry-run no update, just show what would be done\n" +msgstr " -n, --dry-run не оновлювати, просто показати, що було б зроблено\n" + +#: pg_resetwal.c:1177 +#, c-format +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version вивести інформацію про версію і вийти\n" + +#: pg_resetwal.c:1178 #, c-format -msgid "Options:\n" -msgstr "Параметри:\n" +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help показати цю довідку потім вийти\n" -#: pg_resetwal.c:1130 +#: pg_resetwal.c:1180 +#, c-format +msgid "\n" +"Options to override control file values:\n" +msgstr "\n" +"Опції для перевизначення значень контрольного файлу:\n" + +#: pg_resetwal.c:1181 #, c-format msgid " -c, --commit-timestamp-ids=XID,XID\n" " set oldest and newest transactions bearing\n" @@ -545,79 +669,54 @@ msgstr " -c, --commit-timestamp-ids=XID,XID\n" " встановити найстарішу та найновішу транзакції\n" " затвердити позначку часу (нуль означає залишити без змін)\n" -#: pg_resetwal.c:1133 -#, c-format -msgid " [-D, --pgdata=]DATADIR data directory\n" -msgstr " [-D, --pgdata=]DATADIR каталог даних\n" - -#: pg_resetwal.c:1134 +#: pg_resetwal.c:1184 #, c-format msgid " -e, --epoch=XIDEPOCH set next transaction ID epoch\n" msgstr " -e, --epoch=XIDEPOCH встановити наступну епоху ID транзакцій\n" -#: pg_resetwal.c:1135 -#, c-format -msgid " -f, --force force update to be done\n" -msgstr " -f, --force примусово виконати оновлення\n" - -#: pg_resetwal.c:1136 +#: pg_resetwal.c:1185 #, 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:1137 +#: pg_resetwal.c:1186 #, 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:1138 -#, c-format -msgid " -n, --dry-run no update, just show what would be done\n" -msgstr " -n, --dry-run без оновлень, просто показати, що буде зроблено\n" - -#: pg_resetwal.c:1139 +#: pg_resetwal.c:1187 #, c-format msgid " -o, --next-oid=OID set next OID\n" msgstr " -o, --next-oid=OID задати наступний OID\n" -#: pg_resetwal.c:1140 +#: pg_resetwal.c:1188 #, c-format msgid " -O, --multixact-offset=OFFSET set next multitransaction offset\n" msgstr " -O, --multixact-offset=OFFSET задати зсув наступної мультитранзакції\n" -#: pg_resetwal.c:1141 +#: pg_resetwal.c:1189 #, c-format msgid " -u, --oldest-transaction-id=XID set oldest transaction ID\n" msgstr " -u, --oldest-transaction-id=XID задати ID найстарішої транзакції\n" -#: pg_resetwal.c:1142 -#, c-format -msgid " -V, --version output version information, then exit\n" -msgstr " -V, --version вивести інформацію про версію і вийти\n" - -#: pg_resetwal.c:1143 +#: pg_resetwal.c:1190 #, c-format msgid " -x, --next-transaction-id=XID set next transaction ID\n" msgstr " -x, --next-transaction-id=XID задати ID наступної транзакції\n" -#: pg_resetwal.c:1144 +#: pg_resetwal.c:1191 #, c-format msgid " --wal-segsize=SIZE size of WAL segments, in megabytes\n" msgstr " --wal-segsize=SIZE розмір сегментів WAL, у мегабайтах\n" -#: pg_resetwal.c:1145 -#, c-format -msgid " -?, --help show this help, then exit\n" -msgstr " -?, --help показати цю довідку і вийти\n" - -#: pg_resetwal.c:1146 +#: pg_resetwal.c:1193 #, c-format msgid "\n" "Report bugs to <%s>.\n" msgstr "\n" "Повідомляти про помилки на <%s>.\n" -#: pg_resetwal.c:1147 +#: pg_resetwal.c:1194 #, c-format msgid "%s home page: <%s>\n" msgstr "Домашня сторінка %s: <%s>\n" diff --git a/src/bin/pg_rewind/filemap.c b/src/bin/pg_rewind/filemap.c index 4458324c9d8..aff6f37cca5 100644 --- a/src/bin/pg_rewind/filemap.c +++ b/src/bin/pg_rewind/filemap.c @@ -38,14 +38,14 @@ * Define a hash table which we can use to store information about the files * appearing in source and target systems. */ -#define SH_PREFIX filehash -#define SH_ELEMENT_TYPE file_entry_t -#define SH_KEY_TYPE const char * -#define SH_KEY path +#define SH_PREFIX filehash +#define SH_ELEMENT_TYPE file_entry_t +#define SH_KEY_TYPE const char * +#define SH_KEY path #define SH_HASH_KEY(tb, key) hash_string(key) #define SH_EQUAL(tb, a, b) (strcmp(a, b) == 0) -#define SH_SCOPE static inline -#define SH_RAW_ALLOCATOR pg_malloc0 +#define SH_SCOPE static inline +#define SH_RAW_ALLOCATOR pg_malloc0 #define SH_DECLARE #define SH_DEFINE #include "lib/simplehash.h" @@ -60,7 +60,36 @@ static char *datasegpath(RelFileLocator rlocator, ForkNumber forknum, static file_entry_t *insert_filehash_entry(const char *path); static file_entry_t *lookup_filehash_entry(const char *path); + +/* + * A separate hash table which tracks WAL files that must not be deleted. + */ +typedef struct keepwal_entry +{ + const char *path; + uint32 status; +} keepwal_entry; + +#define SH_PREFIX keepwal +#define SH_ELEMENT_TYPE keepwal_entry +#define SH_KEY_TYPE const char * +#define SH_KEY path +#define SH_HASH_KEY(tb, key) hash_string(key) +#define SH_EQUAL(tb, a, b) (strcmp(a, b) == 0) +#define SH_SCOPE static inline +#define SH_RAW_ALLOCATOR pg_malloc0 +#define SH_DECLARE +#define SH_DEFINE +#include "lib/simplehash.h" + +#define KEEPWAL_INITIAL_SIZE 1000 + + +static keepwal_hash *keepwal = NULL; +static bool keepwal_entry_exists(const char *path); + static int final_filemap_cmp(const void *a, const void *b); + static bool check_file_excluded(const char *path, bool is_source); /* @@ -206,6 +235,39 @@ lookup_filehash_entry(const char *path) return filehash_lookup(filehash, path); } +/* + * Initialize a hash table to store WAL file names that must be kept. + */ +void +keepwal_init(void) +{ + /* An initial hash size out of thin air */ + keepwal = keepwal_create(KEEPWAL_INITIAL_SIZE, NULL); +} + +/* Mark the given file to prevent its removal */ +void +keepwal_add_entry(const char *path) +{ + keepwal_entry *entry; + bool found; + + /* Should only be called with keepwal initialized */ + Assert(keepwal != NULL); + + entry = keepwal_insert(keepwal, path, &found); + + if (!found) + entry->path = pg_strdup(path); +} + +/* Return true if file is marked as not to be removed, false otherwise */ +static bool +keepwal_entry_exists(const char *path) +{ + return keepwal_lookup(keepwal, path) != NULL; +} + /* * Callback for processing source file list. * @@ -685,7 +747,15 @@ decide_file_action(file_entry_t *entry) } else if (entry->target_exists && !entry->source_exists) { - /* File exists in target, but not source. Remove it. */ + /* + * For files that exist in target but not in source, we check the + * keepwal hash table; any files listed therein must not be removed. + */ + if (keepwal_entry_exists(path)) + { + pg_log_debug("Not removing file \"%s\" because it is required for recovery", path); + return FILE_ACTION_NONE; + } return FILE_ACTION_REMOVE; } else if (!entry->target_exists && !entry->source_exists) diff --git a/src/bin/pg_rewind/filemap.h b/src/bin/pg_rewind/filemap.h index 007e0f17cf4..5fceaeb64df 100644 --- a/src/bin/pg_rewind/filemap.h +++ b/src/bin/pg_rewind/filemap.h @@ -110,4 +110,7 @@ extern filemap_t *decide_file_actions(void); extern void calculate_totals(filemap_t *filemap); extern void print_filemap(filemap_t *filemap); +extern void keepwal_init(void); +extern void keepwal_add_entry(const char *path); + #endif /* FILEMAP_H */ diff --git a/src/bin/pg_rewind/meson.build b/src/bin/pg_rewind/meson.build index e0f88bde221..200ebf84eb9 100644 --- a/src/bin/pg_rewind/meson.build +++ b/src/bin/pg_rewind/meson.build @@ -43,6 +43,7 @@ tests += { 't/007_standby_source.pl', 't/008_min_recovery_point.pl', 't/009_growing_files.pl', + 't/010_keep_recycled_wals.pl', ], }, } diff --git a/src/bin/pg_rewind/parsexlog.c b/src/bin/pg_rewind/parsexlog.c index 22f7351fdcd..242326c97a7 100644 --- a/src/bin/pg_rewind/parsexlog.c +++ b/src/bin/pg_rewind/parsexlog.c @@ -175,6 +175,8 @@ findLastCheckpoint(const char *datadir, XLogRecPtr forkptr, int tliIndex, XLogReaderState *xlogreader; char *errormsg; XLogPageReadPrivate private; + XLogSegNo current_segno = 0; + TimeLineID current_tli = 0; /* * The given fork pointer points to the end of the last common record, @@ -217,6 +219,25 @@ findLastCheckpoint(const char *datadir, XLogRecPtr forkptr, int tliIndex, LSN_FORMAT_ARGS(searchptr)); } + /* Detect if a new WAL file has been opened */ + if (xlogreader->seg.ws_tli != current_tli || + xlogreader->seg.ws_segno != current_segno) + { + char xlogfname[MAXFNAMELEN]; + + snprintf(xlogfname, MAXFNAMELEN, XLOGDIR "/"); + + /* update curent values */ + current_tli = xlogreader->seg.ws_tli; + current_segno = xlogreader->seg.ws_segno; + + XLogFileName(xlogfname + sizeof(XLOGDIR), + current_tli, current_segno, WalSegSz); + + /* Track this filename as one to not remove */ + keepwal_add_entry(xlogfname); + } + /* * Check if it is a checkpoint record. This checkpoint record needs to * be the latest checkpoint before WAL forked and not the checkpoint diff --git a/src/bin/pg_rewind/pg_rewind.c b/src/bin/pg_rewind/pg_rewind.c index 8dfea05846e..53eb49abdea 100644 --- a/src/bin/pg_rewind/pg_rewind.c +++ b/src/bin/pg_rewind/pg_rewind.c @@ -455,6 +455,9 @@ main(int argc, char **argv) exit(0); } + /* Initialize hashtable that tracks WAL files protected from removal */ + keepwal_init(); + findLastCheckpoint(datadir_target, divergerec, lastcommontliIndex, &chkptrec, &chkpttli, &chkptredo, restore_command); pg_log_info("rewinding from last common checkpoint at %X/%X on timeline %u", @@ -882,6 +885,7 @@ getTimelineHistory(TimeLineID tli, bool is_source, int *nentries) pg_free(histfile); } + /* In debugging mode, print what we read */ if (debug) { int i; @@ -891,10 +895,7 @@ getTimelineHistory(TimeLineID tli, bool is_source, int *nentries) else pg_log_debug("Target timeline history:"); - /* - * Print the target timeline history. - */ - for (i = 0; i < targetNentries; i++) + for (i = 0; i < *nentries; i++) { TimeLineHistoryEntry *entry; @@ -1106,7 +1107,7 @@ getRestoreCommand(const char *argv0) restore_command = pipe_read_line(postgres_cmd->data); if (restore_command == NULL) - pg_fatal("unable to read restore_command from target cluster"); + pg_fatal("could not read restore_command from target cluster"); (void) pg_strip_crlf(restore_command); diff --git a/src/bin/pg_rewind/po/de.po b/src/bin/pg_rewind/po/de.po index 887def960a6..65fcb16d94d 100644 --- a/src/bin/pg_rewind/po/de.po +++ b/src/bin/pg_rewind/po/de.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_rewind (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-06-16 10:23+0000\n" -"PO-Revision-Date: 2024-06-16 19:04+0200\n" +"POT-Creation-Date: 2024-08-28 04:23+0000\n" +"PO-Revision-Date: 2024-08-28 07:51+0200\n" "Last-Translator: Peter Eisentraut \n" "Language-Team: German \n" "Language: de\n" @@ -815,69 +815,69 @@ msgstr "Quelldatenverzeichnis muss sauber heruntergefahren worden sein" msgid "%*s/%s kB (%d%%) copied" msgstr "%*s/%s kB (%d%%) kopiert" -#: pg_rewind.c:950 +#: pg_rewind.c:948 #, c-format msgid "could not find common ancestor of the source and target cluster's timelines" msgstr "konnte keinen gemeinsamen Anfangspunkt in den Zeitleisten von Quell- und Ziel-Cluster finden" -#: pg_rewind.c:991 +#: pg_rewind.c:989 #, c-format msgid "backup label buffer too small" msgstr "Puffer für Backup-Label ist zu klein" -#: pg_rewind.c:1014 +#: pg_rewind.c:1012 #, c-format msgid "unexpected control file CRC" msgstr "unerwartete CRC in Kontrolldatei" -#: pg_rewind.c:1026 +#: pg_rewind.c:1024 #, c-format msgid "unexpected control file size %d, expected %d" msgstr "unerwartete Kontrolldateigröße %d, erwartet wurde %d" -#: pg_rewind.c:1036 +#: pg_rewind.c:1034 #, 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)" -#: pg_rewind.c:1040 +#: pg_rewind.c:1038 #, 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." -#: pg_rewind.c:1077 pg_rewind.c:1145 +#: pg_rewind.c:1075 pg_rewind.c:1143 #, c-format msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"" msgstr "Programm »%s« wird von %s benötigt, aber wurde nicht im selben Verzeichnis wie »%s« gefunden" -#: pg_rewind.c:1080 pg_rewind.c:1148 +#: pg_rewind.c:1078 pg_rewind.c:1146 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" msgstr "Programm »%s« wurde von »%s« gefunden, aber es hatte nicht die gleiche Version wie %s" -#: pg_rewind.c:1109 +#: pg_rewind.c:1107 #, c-format -msgid "unable to read restore_command from target cluster" +msgid "could not read restore_command from target cluster" msgstr "konnte restore_command des Ziel-Clusters nicht lesen" -#: pg_rewind.c:1114 +#: pg_rewind.c:1112 #, c-format msgid "\"restore_command\" is not set in the target cluster" msgstr "»restore_command« ist im Ziel-Cluster nicht gesetzt" -#: pg_rewind.c:1152 +#: pg_rewind.c:1150 #, c-format msgid "executing \"%s\" for target server to complete crash recovery" msgstr "führe »%s« für Zielserver aus, um Wiederherstellung abzuschließen" -#: pg_rewind.c:1190 +#: pg_rewind.c:1188 #, c-format msgid "postgres single-user mode in target cluster failed" msgstr "postgres im Einzelbenutzermodus im Ziel-Cluster fehlgeschlagen" -#: pg_rewind.c:1191 +#: pg_rewind.c:1189 #, c-format msgid "Command was: %s" msgstr "Die Anweisung war: %s" diff --git a/src/bin/pg_rewind/po/es.po b/src/bin/pg_rewind/po/es.po index af9a810c7c1..90f146d345b 100644 --- a/src/bin/pg_rewind/po/es.po +++ b/src/bin/pg_rewind/po/es.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_rewind (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-05-22 07:22+0000\n" -"PO-Revision-Date: 2023-10-04 11:47+0200\n" +"POT-Creation-Date: 2024-08-01 11:23+0000\n" +"PO-Revision-Date: 2024-08-02 16:53-0400\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" "Language: es\n" @@ -41,6 +41,65 @@ msgstr "detalle: " msgid "hint: " msgstr "consejo: " +#: ../../common/controldata_utils.c:97 file_ops.c:326 file_ops.c:330 +#, 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 file_ops.c:341 local_source.c:104 +#: local_source.c:163 parsexlog.c:350 +#, c-format +msgid "could not read file \"%s\": %m" +msgstr "no se pudo leer el archivo «%s»: %m" + +#: ../../common/controldata_utils.c:119 file_ops.c:344 parsexlog.c:352 +#, c-format +msgid "could not read file \"%s\": read %d of %zu" +msgstr "no se pudo leer el archivo «%s»: leídos %d de %zu" + +#: ../../common/controldata_utils.c:132 ../../common/controldata_utils.c:280 +#: local_source.c:121 local_source.c:172 +#, c-format +msgid "could not close file \"%s\": %m" +msgstr "no se pudo cerrar el archivo «%s»: %m" + +#: ../../common/controldata_utils.c:168 +msgid "byte ordering mismatch" +msgstr "discordancia en orden de bytes" + +#: ../../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 "" +"posible discordancia en orden de bytes\n" +"El ordenamiento de bytes usado para almacenar el archivo pg_control puede no\n" +"coincidir con el usado por este programa. En tal caso los resultados de abajo\n" +"serían erróneos, y la instalación de PostgreSQL sería incompatible con este\n" +"directorio de datos." + +#: ../../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 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "no se pudo abrir el archivo «%s»: %m" + +#: ../../common/controldata_utils.c:249 file_ops.c:117 +#, c-format +msgid "could not write file \"%s\": %m" +msgstr "no se pudo escribir el archivo «%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 "no se pudo sincronizar (fsync) archivo «%s»: %m" + #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 #: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 #, c-format @@ -52,6 +111,38 @@ msgstr "memoria agotada\n" msgid "cannot duplicate null pointer (internal error)\n" msgstr "no se puede duplicar un puntero nulo (error interno)\n" +#: ../../common/file_utils.c:76 +#, 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" + +#: ../../common/file_utils.c:120 ../../common/file_utils.c:566 +#: ../../fe_utils/archive.c:86 file_ops.c:417 +#, c-format +msgid "could not stat file \"%s\": %m" +msgstr "no se pudo hacer stat al archivo «%s»: %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 "esta instalación no soporta el método de sync «%s»" + +#: ../../common/file_utils.c:151 ../../common/file_utils.c:281 file_ops.c:388 +#, 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 file_ops.c:462 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "no se pudo leer el directorio «%s»: %m" + +#: ../../common/file_utils.c:498 +#, c-format +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "no se pudo renombrar el archivo de «%s» a «%s»: %m" + #: ../../common/percentrepl.c:79 ../../common/percentrepl.c:118 #, c-format msgid "invalid value for parameter \"%s\": \"%s\"" @@ -107,43 +198,58 @@ msgstr "el archivo «%s» tiene tamaño inesperado: %lld en lugar de %lld" msgid "could not open file \"%s\" restored from archive: %m" msgstr "no se pudo abrir el archivo «%s» restaurado del archivo: %m" -#: ../../fe_utils/archive.c:86 file_ops.c:417 -#, c-format -msgid "could not stat file \"%s\": %m" -msgstr "no se pudo hacer stat al archivo «%s»: %m" - #: ../../fe_utils/archive.c:98 #, c-format -msgid "restore_command failed: %s" -msgstr "restore_command falló: %s" +msgid "\"restore_command\" failed: %s" +msgstr "«restore_command» falló: %s" #: ../../fe_utils/archive.c:105 #, c-format msgid "could not restore file \"%s\" from archive" msgstr "no se pudo recuperar el archivo «%s» del archivo" -#: ../../fe_utils/recovery_gen.c:34 ../../fe_utils/recovery_gen.c:45 -#: ../../fe_utils/recovery_gen.c:70 ../../fe_utils/recovery_gen.c:90 -#: ../../fe_utils/recovery_gen.c:149 +#: ../../fe_utils/option_utils.c:69 #, c-format -msgid "out of memory" -msgstr "memoria agotada" +msgid "invalid value \"%s\" for option %s" +msgstr "el valor «%s» no es válido para la opción %s" -#: ../../fe_utils/recovery_gen.c:121 parsexlog.c:312 +#: ../../fe_utils/option_utils.c:76 #, c-format -msgid "could not open file \"%s\": %m" -msgstr "no se pudo abrir el archivo «%s»: %m" +msgid "%s must be in range %d..%d" +msgstr "%s debe estar en el rango %d..%d" + +#: ../../fe_utils/option_utils.c:106 +#, c-format +msgid "unrecognized sync method: %s" +msgstr "método sync no reconocido: %s" -#: ../../fe_utils/recovery_gen.c:124 +#: ../../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 +#, c-format +msgid "out of memory" +msgstr "memoria agotada" + +#: ../../fe_utils/recovery_gen.c:143 #, c-format msgid "could not write to file \"%s\": %m" msgstr "no se pudo escribir a archivo «%s»: %m" -#: ../../fe_utils/recovery_gen.c:133 +#: ../../fe_utils/recovery_gen.c:152 #, c-format msgid "could not create file \"%s\": %m" msgstr "no se pudo crear archivo «%s»: %m" +#: ../../fe_utils/string_utils.c:434 +#, c-format +msgid "shell command argument contains a newline or carriage return: \"%s\"\n" +msgstr "el argumento de la orden de shell contiene un salto de línea o retorno de carro: «%s»\n" + +#: ../../fe_utils/string_utils.c:607 +#, c-format +msgid "database name contains a newline or carriage return: \"%s\"\n" +msgstr "el nombre de base de datos contiene un salto de línea o retorno de carro: «%s»\n" + #: file_ops.c:67 #, c-format msgid "could not open target file \"%s\": %m" @@ -159,11 +265,6 @@ msgstr "no se pudo cerrar el archivo de destino «%s»: %m" msgid "could not seek in target file \"%s\": %m" msgstr "no se pudo posicionar en archivo de destino «%s»: %m" -#: file_ops.c:117 -#, c-format -msgid "could not write file \"%s\": %m" -msgstr "no se pudo escribir el archivo «%s»: %m" - #: file_ops.c:150 file_ops.c:177 #, c-format msgid "undefined file type for \"%s\"" @@ -209,26 +310,6 @@ msgstr "no se pudo crear el link simbólico en «%s»: %m" msgid "could not remove symbolic link \"%s\": %m" msgstr "no se pudo eliminar el enlace simbólico «%s»: %m" -#: file_ops.c:326 file_ops.c:330 -#, c-format -msgid "could not open file \"%s\" for reading: %m" -msgstr "no se pudo abrir archivo «%s» para lectura: %m" - -#: file_ops.c:341 local_source.c:104 local_source.c:163 parsexlog.c:350 -#, c-format -msgid "could not read file \"%s\": %m" -msgstr "no se pudo leer el archivo «%s»: %m" - -#: file_ops.c:344 parsexlog.c:352 -#, c-format -msgid "could not read file \"%s\": read %d of %zu" -msgstr "no se pudo leer el archivo «%s»: leídos %d de %zu" - -#: file_ops.c:388 -#, c-format -msgid "could not open directory \"%s\": %m" -msgstr "no se pudo abrir el directorio «%s»: %m" - #: file_ops.c:441 #, c-format msgid "could not read symbolic link \"%s\": %m" @@ -239,162 +320,157 @@ msgstr "no se pudo leer el enlace simbólico «%s»: %m" msgid "symbolic link \"%s\" target is too long" msgstr "la ruta «%s» del enlace simbólico es demasiado larga" -#: file_ops.c:462 -#, c-format -msgid "could not read directory \"%s\": %m" -msgstr "no se pudo leer el directorio «%s»: %m" - #: file_ops.c:466 #, c-format msgid "could not close directory \"%s\": %m" msgstr "no se pudo abrir el directorio «%s»: %m" -#: filemap.c:236 +#: filemap.c:235 #, c-format msgid "data file \"%s\" in source is not a regular file" msgstr "el archivo de datos «%s» en el origen no es un archivo regular" -#: filemap.c:241 filemap.c:274 +#: filemap.c:240 filemap.c:273 #, c-format msgid "duplicate source file \"%s\"" msgstr "archivo origen duplicado «%s»" -#: filemap.c:329 +#: filemap.c:328 #, c-format msgid "unexpected page modification for non-regular file \"%s\"" msgstr "modificación de página inesperada para el archivo no regular «%s»" -#: filemap.c:679 filemap.c:773 +#: filemap.c:682 filemap.c:776 #, c-format msgid "unknown file type for \"%s\"" msgstr "tipo de archivo desconocido para «%s»" -#: filemap.c:706 +#: filemap.c:709 #, c-format msgid "file \"%s\" is of different type in source and target" msgstr "el archivo «%s» tiene un tipo diferente en el origen y en el destino" -#: filemap.c:778 +#: filemap.c:781 #, c-format msgid "could not decide what to do with file \"%s\"" msgstr "no se pudo decidir qué hacer con el archivo «%s»" -#: libpq_source.c:130 +#: libpq_source.c:131 #, c-format -msgid "could not clear search_path: %s" -msgstr "no se pudo limpiar search_path: %s" +msgid "could not clear \"search_path\": %s" +msgstr "no se pudo limpiar «search_path»: %s" -#: libpq_source.c:141 +#: libpq_source.c:142 #, c-format -msgid "full_page_writes must be enabled in the source server" -msgstr "full_page_writes debe estar activado en el servidor de origen" +msgid "\"full_page_writes\" must be enabled in the source server" +msgstr "«full_page_writes» debe estar activado en el servidor de origen" -#: libpq_source.c:152 +#: libpq_source.c:153 #, c-format msgid "could not prepare statement to fetch file contents: %s" msgstr "no se pudo preparar sentencia para obtener el contenido del archivo: %s" -#: libpq_source.c:171 +#: libpq_source.c:172 #, c-format msgid "error running query (%s) on source server: %s" msgstr "error ejecutando consulta (%s) en el servidor de origen: %s" -#: libpq_source.c:176 +#: libpq_source.c:177 #, c-format msgid "unexpected result set from query" msgstr "conjunto de resultados inesperados de la consulta" -#: libpq_source.c:198 +#: libpq_source.c:199 #, c-format msgid "error running query (%s) in source server: %s" msgstr "error ejecutando consulta (%s) en el servidor de origen: %s" -#: libpq_source.c:219 +#: libpq_source.c:220 #, c-format msgid "unrecognized result \"%s\" for current WAL insert location" msgstr "resultado «%s» no reconocido para la ubicación de inserción WAL actual" -#: libpq_source.c:270 +#: libpq_source.c:271 #, c-format msgid "could not fetch file list: %s" msgstr "no se pudo obtener el listado de archivos: %s" -#: libpq_source.c:275 +#: libpq_source.c:276 #, c-format msgid "unexpected result set while fetching file list" msgstr "conjunto de resultados inesperado mientras se obtenía el listado de archivos" -#: libpq_source.c:467 +#: libpq_source.c:477 #, c-format msgid "could not send query: %s" msgstr "no se pudo enviar la consulta: %s" -#: libpq_source.c:470 +#: libpq_source.c:480 #, c-format msgid "could not set libpq connection to single row mode" msgstr "no se pudo establecer la coneción libpq a modo «single row»" -#: libpq_source.c:500 +#: libpq_source.c:510 #, c-format msgid "unexpected result while fetching remote files: %s" msgstr "resultados inesperados mientras se obtenían archivos remotos: %s" -#: libpq_source.c:505 +#: libpq_source.c:515 #, c-format msgid "received more data chunks than requested" msgstr "se recibieron más trozos de datos que los solicitados" -#: libpq_source.c:509 +#: libpq_source.c:519 #, c-format msgid "unexpected result set size while fetching remote files" msgstr "tamaño del conjunto de resultados inesperado mientras se obtenían archivos remotos" -#: libpq_source.c:515 +#: libpq_source.c:525 #, c-format msgid "unexpected data types in result set while fetching remote files: %u %u %u" msgstr "tipos de dato inesperados en el conjunto de resultados mientras se obtenían archivos remotos: %u %u %u" -#: libpq_source.c:523 +#: libpq_source.c:533 #, c-format msgid "unexpected result format while fetching remote files" msgstr "formato de resultados inesperado mientras se obtenían archivos remotos" -#: libpq_source.c:529 +#: libpq_source.c:539 #, c-format msgid "unexpected null values in result while fetching remote files" msgstr "valores nulos inesperados en el resultado mientras se obtenían archivos remotos" -#: libpq_source.c:533 +#: libpq_source.c:543 #, c-format msgid "unexpected result length while fetching remote files" msgstr "largo del resultado inesperado mientras se obtenían los archivos remotos" -#: libpq_source.c:566 +#: libpq_source.c:576 #, c-format msgid "received data for file \"%s\", when requested for \"%s\"" msgstr "se recibieron datos para el archivo «%s», cuando se solicitó para «%s»" -#: libpq_source.c:570 +#: libpq_source.c:580 #, c-format msgid "received data at offset %lld of file \"%s\", when requested for offset %lld" msgstr "se recibieron datos en la posición %lld del archivo «%s», cuando se solicitó para la posición %lld" -#: libpq_source.c:582 +#: libpq_source.c:592 #, c-format msgid "received more than requested for file \"%s\"" msgstr "se recibió más de lo solicitado para el archivo «%s»" -#: libpq_source.c:595 +#: libpq_source.c:605 #, c-format msgid "unexpected number of data chunks received" msgstr "se recibió un número inesperado de trozos de datos" -#: libpq_source.c:638 +#: libpq_source.c:648 #, c-format msgid "could not fetch remote file \"%s\": %s" msgstr "no se pudo obtener el archivo remoto «%s»: %s" -#: libpq_source.c:643 +#: libpq_source.c:653 #, c-format msgid "unexpected result set while fetching remote file \"%s\"" msgstr "conjunto de resultados inesperado mientras se obtenía el archivo remoto «%s»" @@ -409,11 +485,6 @@ msgstr "no se pudo abrir el archivo de origen «%s»: %m" msgid "size of source file \"%s\" changed concurrently: %d bytes expected, %d copied" msgstr "el tamaño del archivo de origen «%s» cambió concurrentemente: se esperaban %d bytes, se copiaron %d" -#: local_source.c:121 local_source.c:172 -#, c-format -msgid "could not close file \"%s\": %m" -msgstr "no se pudo cerrar el archivo «%s»: %m" - #: local_source.c:146 #, c-format msgid "could not seek in source file: %m" @@ -464,7 +535,7 @@ msgstr "no se pudo posicionar (seek) el archivo «%s»: %m" msgid "WAL record modifies a relation, but record type is not recognized: lsn: %X/%X, rmid: %d, rmgr: %s, info: %02X" msgstr "el registro WAL modifica una relación, pero el tipo de registro no es reconocido: lsn: %X/%X, rmid: %d, rmgr: %s, info: %02X" -#: pg_rewind.c:92 +#: pg_rewind.c:94 #, c-format msgid "" "%s resynchronizes a PostgreSQL cluster with another copy of the cluster.\n" @@ -473,7 +544,7 @@ msgstr "" "%s resincroniza un cluster PostgreSQL con otra copia del cluster.\n" "\n" -#: pg_rewind.c:93 +#: pg_rewind.c:95 #, c-format msgid "" "Usage:\n" @@ -484,53 +555,53 @@ msgstr "" " %s [OPCION]...\n" "\n" -#: pg_rewind.c:94 +#: pg_rewind.c:96 #, c-format msgid "Options:\n" msgstr "Opciones:\n" -#: pg_rewind.c:95 +#: pg_rewind.c:97 #, c-format msgid "" -" -c, --restore-target-wal use restore_command in target configuration to\n" +" -c, --restore-target-wal use \"restore_command\" in target configuration to\n" " retrieve WAL files from archives\n" msgstr "" -" -c, --restore-target-wal utilizar restore_command de la configuración\n" +" -c, --restore-target-wal utilizar «restore_command» de la configuración\n" " de destino para obtener archivos WAL\n" -#: pg_rewind.c:97 +#: pg_rewind.c:99 #, c-format msgid " -D, --target-pgdata=DIRECTORY existing data directory to modify\n" msgstr " -D, --target-pgdata=DIRECTORIO directorio de datos existente a modificar\n" -#: pg_rewind.c:98 +#: pg_rewind.c:100 #, c-format msgid " --source-pgdata=DIRECTORY source data directory to synchronize with\n" msgstr " --source-pgdata=DIRECTORIO directorio de datos de origen a sincronizar\n" -#: pg_rewind.c:99 +#: pg_rewind.c:101 #, c-format msgid " --source-server=CONNSTR source server to synchronize with\n" msgstr " --source-server=CONN servidor de origen a sincronizar\n" -#: pg_rewind.c:100 +#: pg_rewind.c:102 #, c-format msgid " -n, --dry-run stop before modifying anything\n" msgstr " -n, --dry-run detener antes de modificar nada\n" -#: pg_rewind.c:101 +#: pg_rewind.c:103 #, c-format msgid "" " -N, --no-sync do not wait for changes to be written\n" " safely to disk\n" msgstr " -N, --no-sync no esperar que los cambios se sincronicen a disco\n" -#: pg_rewind.c:103 +#: pg_rewind.c:105 #, c-format msgid " -P, --progress write progress messages\n" msgstr " -P, --progress escribir mensajes de progreso\n" -#: pg_rewind.c:104 +#: pg_rewind.c:106 #, c-format msgid "" " -R, --write-recovery-conf write configuration for replication\n" @@ -539,7 +610,7 @@ msgstr "" " -R, --write-recovery-conf escribe configuración para replicación\n" " (requiere --source-server)\n" -#: pg_rewind.c:106 +#: pg_rewind.c:108 #, c-format msgid "" " --config-file=FILENAME use specified main server configuration\n" @@ -548,29 +619,34 @@ msgstr "" " --config-file=ARCHIVO utilizar el archivo de configuración del servidor\n" " principal especificado al ejecutar el clúster de destino\n" -#: pg_rewind.c:108 +#: pg_rewind.c:110 #, c-format msgid " --debug write a lot of debug messages\n" msgstr " --debug escribir muchos mensajes de depuración\n" -#: pg_rewind.c:109 +#: pg_rewind.c:111 #, c-format msgid " --no-ensure-shutdown do not automatically fix unclean shutdown\n" msgstr "" " --no-ensure-shutdown no corregir automáticamente un apagado\n" " no-limpio\n" -#: pg_rewind.c:110 +#: pg_rewind.c:112 +#, c-format +msgid " --sync-method=METHOD set method for syncing files to disk\n" +msgstr " --sync-method=MÉTODO definir el método para sincr. archivos a disco\n" + +#: pg_rewind.c:113 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version mostrar información de versión y salir\n" -#: pg_rewind.c:111 +#: pg_rewind.c:114 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help mostrar esta ayuda y salir\n" -#: pg_rewind.c:112 +#: pg_rewind.c:115 #, c-format msgid "" "\n" @@ -579,425 +655,420 @@ msgstr "" "\n" "Reporte errores a <%s>.\n" -#: pg_rewind.c:113 +#: pg_rewind.c:116 #, c-format msgid "%s home page: <%s>\n" msgstr "Sitio web de %s: <%s>\n" -#: pg_rewind.c:223 pg_rewind.c:231 pg_rewind.c:238 pg_rewind.c:245 -#: pg_rewind.c:252 pg_rewind.c:260 +#: pg_rewind.c:232 pg_rewind.c:240 pg_rewind.c:247 pg_rewind.c:254 +#: pg_rewind.c:261 pg_rewind.c:269 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Pruebe «%s --help» para mayor información." -#: pg_rewind.c:230 +#: pg_rewind.c:239 #, c-format msgid "no source specified (--source-pgdata or --source-server)" msgstr "no se especificó origen (--source-pgdata o --source-server)" -#: pg_rewind.c:237 +#: pg_rewind.c:246 #, c-format msgid "only one of --source-pgdata or --source-server can be specified" msgstr "sólo uno de --source-pgdata o --source-server puede ser especificado" -#: pg_rewind.c:244 +#: pg_rewind.c:253 #, c-format msgid "no target data directory specified (--target-pgdata)" msgstr "no se especificó directorio de datos de destino (--target-pgdata)" -#: pg_rewind.c:251 +#: pg_rewind.c:260 #, c-format msgid "no source server information (--source-server) specified for --write-recovery-conf" msgstr "no se especificó información de servidor de origen (--source-server) para --write-recovery-conf" -#: pg_rewind.c:258 +#: pg_rewind.c:267 #, 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_rewind.c:273 +#: pg_rewind.c:282 #, c-format msgid "cannot be executed by \"root\"" msgstr "no puede ser ejecutado por «root»" -#: pg_rewind.c:274 +#: pg_rewind.c:283 #, c-format msgid "You must run %s as the PostgreSQL superuser." msgstr "Debe ejecutar %s con el superusuario de PostgreSQL." -#: pg_rewind.c:284 +#: pg_rewind.c:293 #, c-format msgid "could not read permissions of directory \"%s\": %m" msgstr "no se pudo obtener los permisos del directorio «%s»: %m" -#: pg_rewind.c:302 +#: pg_rewind.c:311 #, c-format msgid "%s" msgstr "%s" -#: pg_rewind.c:305 +#: pg_rewind.c:314 #, c-format msgid "connected to server" msgstr "conectado al servidor" -#: pg_rewind.c:366 +#: pg_rewind.c:375 #, c-format msgid "source and target cluster are on the same timeline" msgstr "el cluster de origen y destino están en el mismo timeline" -#: pg_rewind.c:387 +#: pg_rewind.c:396 #, c-format msgid "servers diverged at WAL location %X/%X on timeline %u" msgstr "servidores divergieron en la posición de WAL %X/%X en el timeline %u" -#: pg_rewind.c:442 +#: pg_rewind.c:451 #, c-format msgid "no rewind required" msgstr "no se requiere rebobinar" -#: pg_rewind.c:451 +#: pg_rewind.c:460 #, c-format msgid "rewinding from last common checkpoint at %X/%X on timeline %u" msgstr "rebobinando desde el último checkpoint común en %X/%X en el timeline %u" -#: pg_rewind.c:461 +#: pg_rewind.c:470 #, c-format msgid "reading source file list" msgstr "leyendo la lista de archivos de origen" -#: pg_rewind.c:465 +#: pg_rewind.c:474 #, c-format msgid "reading target file list" msgstr "leyendo la lista de archivos de destino" -#: pg_rewind.c:474 +#: pg_rewind.c:483 #, c-format msgid "reading WAL in target" msgstr "leyendo WAL en destino" -#: pg_rewind.c:495 +#: pg_rewind.c:504 #, c-format msgid "need to copy %lu MB (total source directory size is %lu MB)" msgstr "se necesitan copiar %lu MB (tamaño total de directorio de origen es %lu MB)" -#: pg_rewind.c:513 +#: pg_rewind.c:522 #, c-format msgid "syncing target data directory" msgstr "sincronizando directorio de datos de destino" -#: pg_rewind.c:529 +#: pg_rewind.c:538 #, c-format msgid "Done!" msgstr "¡Listo!" -#: pg_rewind.c:609 +#: pg_rewind.c:618 #, c-format msgid "no action decided for file \"%s\"" msgstr "no se decidió una acción para el archivo «%s»" -#: pg_rewind.c:641 +#: pg_rewind.c:650 #, c-format msgid "source system was modified while pg_rewind was running" msgstr "el sistema origen fue modificado mientras pg_rewind estaba en ejecución" -#: pg_rewind.c:645 +#: pg_rewind.c:654 #, c-format msgid "creating backup label and updating control file" msgstr "creando etiqueta de respaldo y actualizando archivo de control" -#: pg_rewind.c:695 +#: pg_rewind.c:704 #, c-format msgid "source system was in unexpected state at end of rewind" msgstr "el sistema origen estaba en un estado inesperado al final del rebobinado" -#: pg_rewind.c:727 +#: pg_rewind.c:736 #, c-format msgid "source and target clusters are from different systems" msgstr "clusters de origen y destino son de sistemas diferentes" -#: pg_rewind.c:735 +#: pg_rewind.c:744 #, c-format msgid "clusters are not compatible with this version of pg_rewind" msgstr "los clusters no son compatibles con esta versión de pg_rewind" -#: pg_rewind.c:745 +#: pg_rewind.c:754 #, c-format msgid "target server needs to use either data checksums or \"wal_log_hints = on\"" msgstr "el servidor de destino necesita tener sumas de verificación de datos o «wal_log_hints» activados" -#: pg_rewind.c:756 +#: pg_rewind.c:765 #, c-format msgid "target server must be shut down cleanly" msgstr "el directorio de destino debe estar apagado limpiamente" -#: pg_rewind.c:766 +#: pg_rewind.c:775 #, c-format msgid "source data directory must be shut down cleanly" msgstr "el directorio de origen debe estar apagado limpiamente" -#: pg_rewind.c:813 +#: pg_rewind.c:822 #, c-format msgid "%*s/%s kB (%d%%) copied" msgstr "%*s/%s kB (%d%%) copiados" -#: pg_rewind.c:941 +#: pg_rewind.c:950 #, c-format msgid "could not find common ancestor of the source and target cluster's timelines" msgstr "no se pudo encontrar un ancestro común en el timeline de los clusters de origen y destino" -#: pg_rewind.c:982 +#: pg_rewind.c:991 #, c-format msgid "backup label buffer too small" msgstr "el búfer del backup label es demasiado pequeño" -#: pg_rewind.c:1005 +#: pg_rewind.c:1014 #, c-format msgid "unexpected control file CRC" msgstr "CRC de archivo de control inesperado" -#: pg_rewind.c:1017 +#: pg_rewind.c:1026 #, c-format msgid "unexpected control file size %d, expected %d" msgstr "tamaño del archivo de control %d inesperado, se esperaba %d" -#: pg_rewind.c:1026 +#: pg_rewind.c:1036 #, c-format -msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d byte" -msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d bytes" -msgstr[0] "El tamaño del segmento de WAL debe ser una potencia de dos entre 1 MB y 1 GB, pero el archivo de control especifica %d byte" -msgstr[1] "El tamaño del segmento de WAL debe ser una potencia de dos entre 1 MB y 1 GB, pero el archivo de control especifica %d bytes" +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" -#: pg_rewind.c:1065 pg_rewind.c:1135 +#: pg_rewind.c:1040 +#, 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." + +#: pg_rewind.c:1077 pg_rewind.c:1145 #, c-format msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"" msgstr "el programa «%s» es requerido por %s, pero no se encontró en el mismo directorio que «%s»" -#: pg_rewind.c:1068 pg_rewind.c:1138 +#: pg_rewind.c:1080 pg_rewind.c:1148 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" msgstr "el programa «%s» fue encontrado por «%s» pero no es de la misma versión que %s" -#: pg_rewind.c:1101 +#: pg_rewind.c:1109 +#, c-format +msgid "unable to read restore_command from target cluster" +msgstr "no se puede leer restore_command en el clúster de destino" + +#: pg_rewind.c:1114 #, c-format -msgid "restore_command is not set in the target cluster" -msgstr "restore_command no está definido en el clúster de destino" +msgid "\"restore_command\" is not set in the target cluster" +msgstr "«restore_command» no está definido en el clúster de destino" -#: pg_rewind.c:1142 +#: pg_rewind.c:1152 #, c-format msgid "executing \"%s\" for target server to complete crash recovery" msgstr "ejecutando «%s» en el servidor de destino para completar la recuperación de caídas" -#: pg_rewind.c:1180 +#: pg_rewind.c:1190 #, c-format msgid "postgres single-user mode in target cluster failed" msgstr "el modo «single-user» en el servidor de destino falló" -#: pg_rewind.c:1181 +#: pg_rewind.c:1191 #, c-format msgid "Command was: %s" msgstr "La orden era: % s" -#: timeline.c:75 timeline.c:81 +#: timeline.c:74 timeline.c:80 #, c-format msgid "syntax error in history file: %s" msgstr "error de sintaxis en archivo de historia: %s" -#: timeline.c:76 +#: timeline.c:75 #, c-format msgid "Expected a numeric timeline ID." msgstr "Se esperaba un ID numérico de timeline." -#: timeline.c:82 +#: timeline.c:81 #, c-format msgid "Expected a write-ahead log switchpoint location." msgstr "Se esperaba una ubicación de punto de cambio del «write-ahead log»." -#: timeline.c:87 +#: timeline.c:86 #, c-format msgid "invalid data in history file: %s" msgstr "datos no válidos en archivo de historia: %s" -#: timeline.c:88 +#: timeline.c:87 #, c-format msgid "Timeline IDs must be in increasing sequence." msgstr "IDs de timeline deben ser una secuencia creciente." -#: timeline.c:108 +#: timeline.c:107 #, c-format msgid "invalid data in history file" msgstr "datos no válidos en archivo de historia" -#: timeline.c:109 +#: timeline.c:108 #, c-format msgid "Timeline IDs must be less than child timeline's ID." msgstr "IDs de timeline deben ser menores que el ID de timeline del hijo." -#: xlogreader.c:626 +#: xlogreader.c:619 #, c-format msgid "invalid record offset at %X/%X: expected at least %u, got %u" msgstr "desplazamiento de registro no válido en %X/%X: se esperaba al menos %u, se obtuvo %u" -#: xlogreader.c:635 +#: xlogreader.c:628 #, c-format msgid "contrecord is requested by %X/%X" msgstr "contrecord solicitado por %X/%X" -#: xlogreader.c:676 xlogreader.c:1123 +#: xlogreader.c:669 xlogreader.c:1134 #, c-format msgid "invalid record length at %X/%X: expected at least %u, got %u" msgstr "largo de registro no válido en %X/%X: se esperaba al menos %u, se obtuvo %u" -#: xlogreader.c:705 -#, c-format -msgid "out of memory while trying to decode a record of length %u" -msgstr "memoria agotada mientras se intentaba decodificar un registro de largo %u" - -#: xlogreader.c:727 -#, c-format -msgid "record length %u at %X/%X too long" -msgstr "largo de registro %u en %X/%X demasiado largo" - -#: xlogreader.c:776 +#: xlogreader.c:758 #, c-format msgid "there is no contrecord flag at %X/%X" msgstr "no hay bandera de contrecord en %X/%X" -#: xlogreader.c:789 +#: xlogreader.c:771 #, c-format msgid "invalid contrecord length %u (expected %lld) at %X/%X" msgstr "largo de contrecord %u no válido (se esperaba %lld) en %X/%X" -#: xlogreader.c:924 -#, c-format -msgid "missing contrecord at %X/%X" -msgstr "falta un contrecord en %X/%X" - -#: xlogreader.c:1131 +#: xlogreader.c:1142 #, c-format msgid "invalid resource manager ID %u at %X/%X" msgstr "ID de gestor de recursos %u no válido en %X/%X" -#: xlogreader.c:1144 xlogreader.c:1160 +#: xlogreader.c:1155 xlogreader.c:1171 #, c-format msgid "record with incorrect prev-link %X/%X at %X/%X" msgstr "registro con prev-link %X/%X incorrecto en %X/%X" -#: xlogreader.c:1196 +#: xlogreader.c:1209 #, c-format msgid "incorrect resource manager data checksum in record at %X/%X" msgstr "suma de verificación de los datos del gestor de recursos incorrecta en el registro en %X/%X" -#: xlogreader.c:1230 +#: xlogreader.c:1243 #, c-format msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u" msgstr "número mágico %04X no válido en segmento WAL %s, LSN %X/%X, posición %u" -#: xlogreader.c:1245 xlogreader.c:1287 +#: xlogreader.c:1258 xlogreader.c:1300 #, c-format msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u" msgstr "info bits %04X no válidos en segment WAL %s, LSN %X/%X, posición %u" -#: xlogreader.c:1261 +#: xlogreader.c:1274 #, 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 "archivo WAL es de un sistema de bases de datos distinto: identificador de sistema en archivo WAL es %llu, identificador en pg_control es %llu" -#: xlogreader.c:1269 +#: xlogreader.c:1282 #, c-format msgid "WAL file is from different database system: incorrect segment size in page header" msgstr "archivo WAL es de un sistema de bases de datos distinto: tamaño de segmento incorrecto en cabecera de paǵina" -#: xlogreader.c:1275 +#: xlogreader.c:1288 #, c-format msgid "WAL file is from different database system: incorrect XLOG_BLCKSZ in page header" msgstr "archivo WAL es de un sistema de bases de datos distinto: XLOG_BLCKSZ incorrecto en cabecera de paǵina" -#: xlogreader.c:1307 +#: xlogreader.c:1320 #, c-format msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u" msgstr "pageaddr %X/%X inesperado en segmento WAL %s, LSN %X/%X, posición %u" -#: xlogreader.c:1333 +#: xlogreader.c:1346 #, c-format msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, offset %u" msgstr "ID de timeline %u fuera de secuencia (después de %u) en segmento WAL %s, LSN %X/%X, posición %u" -#: xlogreader.c:1739 +#: xlogreader.c:1749 #, c-format msgid "out-of-order block_id %u at %X/%X" msgstr "block_id %u fuera de orden en %X/%X" -#: xlogreader.c:1763 +#: xlogreader.c:1773 #, c-format msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X" msgstr "BKPBLOCK_HAS_DATA está definido, pero no hay datos en %X/%X" -#: xlogreader.c:1770 +#: xlogreader.c:1780 #, c-format msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X" msgstr "BKPBLOCK_HAS_DATA no está definido, pero el largo de los datos es %u en %X/%X" -#: xlogreader.c:1806 +#: xlogreader.c:1816 #, c-format msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X" msgstr "BKPIMAGE_HAS_HOLE está definido, pero posición del agujero es %u largo %u largo de imagen %u en %X/%X" -#: xlogreader.c:1822 +#: xlogreader.c:1832 #, c-format msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X" msgstr "BKPIMAGE_HAS_HOLE no está definido, pero posición del agujero es %u largo %u en %X/%X" -#: xlogreader.c:1836 +#: xlogreader.c:1846 #, c-format msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X" msgstr "BKPIMAGE_COMPRESSED definido, pero largo de imagen de bloque es %u en %X/%X" -#: xlogreader.c:1851 +#: xlogreader.c:1861 #, c-format msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X" msgstr "ni BKPIMAGE_HAS_HOLE ni BKPIMAGE_COMPRESSED están definidos, pero el largo de imagen de bloque es %u en %X/%X" -#: xlogreader.c:1867 +#: xlogreader.c:1877 #, c-format msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X" msgstr "BKPBLOCK_SAME_REL está definido, pero no hay «rel» anterior en %X/%X " -#: xlogreader.c:1879 +#: xlogreader.c:1889 #, c-format msgid "invalid block_id %u at %X/%X" msgstr "block_id %u no válido en %X/%X" -#: xlogreader.c:1946 +#: xlogreader.c:1956 #, c-format msgid "record with invalid length at %X/%X" msgstr "registro con largo no válido en %X/%X" -#: xlogreader.c:1972 +#: xlogreader.c:1982 #, c-format msgid "could not locate backup block with ID %d in WAL record" msgstr "no se pudo localizar un bloque de respaldo con ID %d en el registro WAL" -#: xlogreader.c:2056 +#: xlogreader.c:2066 #, c-format msgid "could not restore image at %X/%X with invalid block %d specified" msgstr "no se pudo restaurar la imagen en %X/%X con bloque especificado %d no válido" -#: xlogreader.c:2063 +#: xlogreader.c:2073 #, c-format msgid "could not restore image at %X/%X with invalid state, block %d" msgstr "no se pudo restaurar la imagen en %X/%X con estado no válido, bloque %d" -#: xlogreader.c:2090 xlogreader.c:2107 +#: xlogreader.c:2100 xlogreader.c:2117 #, c-format msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d" msgstr "no se pudo restaurar la imagen en %X/%X comprimida con %s que no está soportado por esta instalación, bloque %d" -#: xlogreader.c:2116 +#: xlogreader.c:2126 #, c-format msgid "could not restore image at %X/%X compressed with unknown method, block %d" msgstr "no se pudo restaurar la imagen en %X/%X comprimida con un método desconocido, bloque %d" -#: xlogreader.c:2124 +#: xlogreader.c:2134 #, c-format msgid "could not decompress image at %X/%X, block %d" msgstr "no se pudo descomprimir la imagen en %X/%X, bloque %d" diff --git a/src/bin/pg_rewind/po/fr.po b/src/bin/pg_rewind/po/fr.po index d83beaa830c..da4f2e14520 100644 --- a/src/bin/pg_rewind/po/fr.po +++ b/src/bin/pg_rewind/po/fr.po @@ -8,10 +8,10 @@ # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 15\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-07-29 09:21+0000\n" -"PO-Revision-Date: 2023-09-05 07:49+0200\n" +"POT-Creation-Date: 2024-08-29 17:53+0000\n" +"PO-Revision-Date: 2024-09-16 16:28+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -19,7 +19,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.3.2\n" +"X-Generator: Poedit 3.5\n" #: ../../../src/common/logging.c:276 #, c-format @@ -41,6 +41,65 @@ msgstr "détail : " msgid "hint: " msgstr "astuce : " +#: ../../common/controldata_utils.c:97 file_ops.c:326 file_ops.c:330 +#, c-format +msgid "could not open file \"%s\" for reading: %m" +msgstr "n'a pas pu ouvrir le fichier « %s » pour une lecture : %m" + +#: ../../common/controldata_utils.c:110 file_ops.c:341 local_source.c:104 +#: local_source.c:163 parsexlog.c:350 +#, c-format +msgid "could not read file \"%s\": %m" +msgstr "n'a pas pu lire le fichier « %s » : %m" + +#: ../../common/controldata_utils.c:119 file_ops.c:344 parsexlog.c:352 +#, c-format +msgid "could not read file \"%s\": read %d of %zu" +msgstr "n'a pas pu lire le fichier « %s » : a lu %d sur %zu" + +#: ../../common/controldata_utils.c:132 ../../common/controldata_utils.c:280 +#: local_source.c:121 local_source.c:172 +#, c-format +msgid "could not close file \"%s\": %m" +msgstr "n'a pas pu fermer le fichier « %s » : %m" + +#: ../../common/controldata_utils.c:168 +msgid "byte ordering mismatch" +msgstr "différence de l'ordre des octets" + +#: ../../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 "" +"possible incohérence dans l'ordre des octets\n" +"L'ordre des octets utilisé pour enregistrer le fichier pg_control peut ne\n" +"pas correspondre à celui utilisé par ce programme. Dans ce cas, les\n" +"résultats ci-dessous sont incorrects, et l'installation de PostgreSQL\n" +"est incompatible avec ce répertoire des données." + +#: ../../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 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "n'a pas pu ouvrir le fichier « %s » : %m" + +#: ../../common/controldata_utils.c:249 file_ops.c:117 +#, c-format +msgid "could not write file \"%s\": %m" +msgstr "impossible d'écrire le fichier « %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 "n'a pas pu synchroniser sur disque (fsync) le fichier « %s » : %m" + #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 #: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 #, c-format @@ -52,6 +111,38 @@ msgstr "mémoire épuisée\n" msgid "cannot duplicate null pointer (internal error)\n" msgstr "ne peut pas dupliquer un pointeur nul (erreur interne)\n" +#: ../../common/file_utils.c:76 +#, c-format +msgid "could not synchronize file system for file \"%s\": %m" +msgstr "n'a pas pu synchroniser sur disque (fsync) le système de fichiers pour le fichier « %s » : %m" + +#: ../../common/file_utils.c:120 ../../common/file_utils.c:566 +#: ../../fe_utils/archive.c:86 file_ops.c:417 +#, c-format +msgid "could not stat file \"%s\": %m" +msgstr "n'a pas pu tester le fichier « %s » : %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 "cette construction ne supporte pas la méthode de synchronisation « %s »" + +#: ../../common/file_utils.c:151 ../../common/file_utils.c:281 file_ops.c:388 +#, c-format +msgid "could not open directory \"%s\": %m" +msgstr "n'a pas pu ouvrir le répertoire « %s » : %m" + +#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 file_ops.c:462 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "n'a pas pu lire le répertoire « %s » : %m" + +#: ../../common/file_utils.c:498 +#, c-format +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "n'a pas pu renommer le fichier « %s » en « %s » : %m" + #: ../../common/percentrepl.c:79 ../../common/percentrepl.c:118 #, c-format msgid "invalid value for parameter \"%s\": \"%s\"" @@ -107,43 +198,58 @@ msgstr "taille de fichier inattendu pour « %s » : %lld au lieu de %lld" msgid "could not open file \"%s\" restored from archive: %m" msgstr "n'a pas pu ouvrir le fichier « %s » à partir de l'archive : %m" -#: ../../fe_utils/archive.c:86 file_ops.c:417 -#, c-format -msgid "could not stat file \"%s\": %m" -msgstr "n'a pas pu tester le fichier « %s » : %m" - #: ../../fe_utils/archive.c:98 #, c-format -msgid "restore_command failed: %s" -msgstr "échec de la restore_command : %s" +msgid "\"restore_command\" failed: %s" +msgstr "échec de « restore_command » : %s" #: ../../fe_utils/archive.c:105 #, c-format msgid "could not restore file \"%s\" from archive" msgstr "n'a pas pu restaurer le fichier « %s » à partir de l'archive" -#: ../../fe_utils/recovery_gen.c:34 ../../fe_utils/recovery_gen.c:45 -#: ../../fe_utils/recovery_gen.c:70 ../../fe_utils/recovery_gen.c:90 -#: ../../fe_utils/recovery_gen.c:149 +#: ../../fe_utils/option_utils.c:69 #, c-format -msgid "out of memory" -msgstr "mémoire épuisée" +msgid "invalid value \"%s\" for option %s" +msgstr "valeur « %s » invalide pour l'option %s" -#: ../../fe_utils/recovery_gen.c:121 parsexlog.c:312 +#: ../../fe_utils/option_utils.c:76 #, c-format -msgid "could not open file \"%s\": %m" -msgstr "n'a pas pu ouvrir le fichier « %s » : %m" +msgid "%s must be in range %d..%d" +msgstr "%s doit être compris entre %d et %d" -#: ../../fe_utils/recovery_gen.c:124 +#: ../../fe_utils/option_utils.c:106 +#, c-format +msgid "unrecognized sync method: %s" +msgstr "méthode de synchronisation non reconnu : %s" + +#: ../../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 +#, c-format +msgid "out of memory" +msgstr "mémoire épuisée" + +#: ../../fe_utils/recovery_gen.c:143 #, c-format msgid "could not write to file \"%s\": %m" msgstr "n'a pas pu écrire dans le fichier « %s » : %m" -#: ../../fe_utils/recovery_gen.c:133 +#: ../../fe_utils/recovery_gen.c:152 #, c-format msgid "could not create file \"%s\": %m" msgstr "n'a pas pu créer le fichier « %s » : %m" +#: ../../fe_utils/string_utils.c:434 +#, c-format +msgid "shell command argument contains a newline or carriage return: \"%s\"\n" +msgstr "l'argument de la commande shell contient un retour à la ligne ou un retour chariot : « %s »\n" + +#: ../../fe_utils/string_utils.c:607 +#, c-format +msgid "database name contains a newline or carriage return: \"%s\"\n" +msgstr "le nom de la base contient un retour à la ligne ou un retour chariot : « %s »\n" + #: file_ops.c:67 #, c-format msgid "could not open target file \"%s\": %m" @@ -159,11 +265,6 @@ msgstr "n'a pas pu fermer le fichier cible « %s » : %m" msgid "could not seek in target file \"%s\": %m" msgstr "n'a pas pu chercher dans le fichier cible « %s » : %m" -#: file_ops.c:117 -#, c-format -msgid "could not write file \"%s\": %m" -msgstr "impossible d'écrire le fichier « %s » : %m" - #: file_ops.c:150 file_ops.c:177 #, c-format msgid "undefined file type for \"%s\"" @@ -182,7 +283,7 @@ msgstr "n'a pas pu supprimer le fichier « %s » : %m" #: file_ops.c:218 #, c-format msgid "could not open file \"%s\" for truncation: %m" -msgstr "n'a pas pu ouvrir le fichier « %s » pour le troncage : %m" +msgstr "n'a pas pu ouvrir le fichier « %s » pour le tronquage : %m" #: file_ops.c:222 #, c-format @@ -209,26 +310,6 @@ msgstr "n'a pas pu créer le lien symbolique à « %s » : %m" msgid "could not remove symbolic link \"%s\": %m" msgstr "n'a pas pu supprimer le lien symbolique « %s » : %m" -#: file_ops.c:326 file_ops.c:330 -#, c-format -msgid "could not open file \"%s\" for reading: %m" -msgstr "n'a pas pu ouvrir le fichier « %s » pour une lecture : %m" - -#: file_ops.c:341 local_source.c:104 local_source.c:163 parsexlog.c:350 -#, c-format -msgid "could not read file \"%s\": %m" -msgstr "n'a pas pu lire le fichier « %s » : %m" - -#: file_ops.c:344 parsexlog.c:352 -#, c-format -msgid "could not read file \"%s\": read %d of %zu" -msgstr "n'a pas pu lire le fichier « %s » : a lu %d sur %zu" - -#: file_ops.c:388 -#, c-format -msgid "could not open directory \"%s\": %m" -msgstr "n'a pas pu ouvrir le répertoire « %s » : %m" - #: file_ops.c:441 #, c-format msgid "could not read symbolic link \"%s\": %m" @@ -239,162 +320,157 @@ msgstr "n'a pas pu lire le lien symbolique « %s » : %m" msgid "symbolic link \"%s\" target is too long" msgstr "la cible du lien symbolique « %s » est trop longue" -#: file_ops.c:462 -#, c-format -msgid "could not read directory \"%s\": %m" -msgstr "n'a pas pu lire le répertoire « %s » : %m" - #: file_ops.c:466 #, c-format msgid "could not close directory \"%s\": %m" msgstr "n'a pas pu fermer le répertoire « %s » : %m" -#: filemap.c:236 +#: filemap.c:235 #, c-format msgid "data file \"%s\" in source is not a regular file" msgstr "le fichier de données « %s » en source n'est pas un fichier standard" -#: filemap.c:241 filemap.c:274 +#: filemap.c:240 filemap.c:273 #, c-format msgid "duplicate source file \"%s\"" msgstr "fichier source « %s » dupliqué" -#: filemap.c:329 +#: filemap.c:328 #, c-format msgid "unexpected page modification for non-regular file \"%s\"" msgstr "modification inattendue de page pour le fichier non standard « %s »" -#: filemap.c:679 filemap.c:773 +#: filemap.c:682 filemap.c:776 #, c-format msgid "unknown file type for \"%s\"" msgstr "type de fichier inconnu pour « %s »" -#: filemap.c:706 +#: filemap.c:709 #, c-format msgid "file \"%s\" is of different type in source and target" msgstr "le fichier « %s » a un type différent pour la source et la cible" -#: filemap.c:778 +#: filemap.c:781 #, c-format msgid "could not decide what to do with file \"%s\"" msgstr "n'a pas pu décider que faire avec le fichier « %s » : %m" -#: libpq_source.c:130 +#: libpq_source.c:131 #, c-format -msgid "could not clear search_path: %s" -msgstr "n'a pas pu effacer search_path : %s" +msgid "could not clear \"search_path\": %s" +msgstr "n'a pas pu effacer « search_path » : %s" -#: libpq_source.c:141 +#: libpq_source.c:142 #, c-format -msgid "full_page_writes must be enabled in the source server" -msgstr "full_page_writes doit être activé sur le serveur source" +msgid "\"full_page_writes\" must be enabled in the source server" +msgstr "« full_page_writes » doit être activé sur le serveur source" -#: libpq_source.c:152 +#: libpq_source.c:153 #, c-format msgid "could not prepare statement to fetch file contents: %s" msgstr "n'a pas pu préparer l'instruction pour récupérer le contenu du fichier : %s" -#: libpq_source.c:171 +#: libpq_source.c:172 #, c-format msgid "error running query (%s) on source server: %s" msgstr "erreur lors de l'exécution de la requête (%s) sur le serveur source : %s" -#: libpq_source.c:176 +#: libpq_source.c:177 #, c-format msgid "unexpected result set from query" msgstr "ensemble de résultats inattendu provenant de la requête" -#: libpq_source.c:198 +#: libpq_source.c:199 #, c-format msgid "error running query (%s) in source server: %s" msgstr "erreur lors de l'exécution de la requête (%s) dans le serveur source : %s" -#: libpq_source.c:219 +#: libpq_source.c:220 #, c-format msgid "unrecognized result \"%s\" for current WAL insert location" msgstr "résultat non reconnu « %s » pour l'emplacement d'insertion actuel dans les WAL" -#: libpq_source.c:270 +#: libpq_source.c:271 #, c-format msgid "could not fetch file list: %s" msgstr "n'a pas pu récupérer la liste des fichiers : %s" -#: libpq_source.c:275 +#: libpq_source.c:276 #, c-format msgid "unexpected result set while fetching file list" msgstr "ensemble de résultats inattendu lors de la récupération de la liste des fichiers" -#: libpq_source.c:467 +#: libpq_source.c:477 #, c-format msgid "could not send query: %s" msgstr "n'a pas pu envoyer la requête : %s" -#: libpq_source.c:470 +#: libpq_source.c:480 #, c-format msgid "could not set libpq connection to single row mode" msgstr "n'a pas pu configurer la connexion libpq en mode ligne seule" -#: libpq_source.c:500 +#: libpq_source.c:510 #, c-format msgid "unexpected result while fetching remote files: %s" msgstr "résultat inattendu lors de la récupération des fichiers cibles : %s" -#: libpq_source.c:505 +#: libpq_source.c:515 #, c-format msgid "received more data chunks than requested" msgstr "a reçu plus de morceaux de données que demandé" -#: libpq_source.c:509 +#: libpq_source.c:519 #, c-format msgid "unexpected result set size while fetching remote files" msgstr "taille inattendue de l'ensemble de résultats lors de la récupération des fichiers distants" -#: libpq_source.c:515 +#: libpq_source.c:525 #, c-format msgid "unexpected data types in result set while fetching remote files: %u %u %u" msgstr "types de données inattendus dans l'ensemble de résultats lors de la récupération des fichiers distants : %u %u %u" -#: libpq_source.c:523 +#: libpq_source.c:533 #, c-format msgid "unexpected result format while fetching remote files" msgstr "format de résultat inattendu lors de la récupération des fichiers distants" -#: libpq_source.c:529 +#: libpq_source.c:539 #, c-format msgid "unexpected null values in result while fetching remote files" msgstr "valeurs NULL inattendues dans le résultat lors de la récupération des fichiers distants" -#: libpq_source.c:533 +#: libpq_source.c:543 #, c-format msgid "unexpected result length while fetching remote files" msgstr "longueur de résultats inattendu lors de la récupération des fichiers distants" -#: libpq_source.c:566 +#: libpq_source.c:576 #, c-format msgid "received data for file \"%s\", when requested for \"%s\"" msgstr "a reçu des données du fichier « %s » alors que « %s » était demandé" -#: libpq_source.c:570 +#: libpq_source.c:580 #, c-format msgid "received data at offset %lld of file \"%s\", when requested for offset %lld" msgstr "a reçu des données au décalage %lld du fichier « %s » alors que le décalage %lld était demandé" -#: libpq_source.c:582 +#: libpq_source.c:592 #, c-format msgid "received more than requested for file \"%s\"" msgstr "a reçu plus que demandé pour le fichier « %s »" -#: libpq_source.c:595 +#: libpq_source.c:605 #, c-format msgid "unexpected number of data chunks received" msgstr "nombre de morceaux de données reçus inattendu" -#: libpq_source.c:638 +#: libpq_source.c:648 #, c-format msgid "could not fetch remote file \"%s\": %s" msgstr "n'a pas pu récupérer le fichier distant « %s » : %s" -#: libpq_source.c:643 +#: libpq_source.c:653 #, c-format msgid "unexpected result set while fetching remote file \"%s\"" msgstr "ensemble de résultats inattendu lors de la récupération du fichier distant « %s »" @@ -409,11 +485,6 @@ msgstr "n'a pas pu ouvrir le fichier source « %s » : %m" msgid "size of source file \"%s\" changed concurrently: %d bytes expected, %d copied" msgstr "la taille du fichier source « %s » a changé : %d octets attendus, %d copiés" -#: local_source.c:121 local_source.c:172 -#, c-format -msgid "could not close file \"%s\": %m" -msgstr "n'a pas pu fermer le fichier « %s » : %m" - #: local_source.c:146 #, c-format msgid "could not seek in source file: %m" @@ -464,7 +535,7 @@ msgstr "n'a pas pu parcourir le fichier « %s » : %m" msgid "WAL record modifies a relation, but record type is not recognized: lsn: %X/%X, rmid: %d, rmgr: %s, info: %02X" msgstr "l'enregistrement WAL modifie une relation mais le type d'enregistrement n'est pas reconnu : lsn : %X/%X, rmid : %d, rmgr : %s, info : %02X" -#: pg_rewind.c:92 +#: pg_rewind.c:94 #, c-format msgid "" "%s resynchronizes a PostgreSQL cluster with another copy of the cluster.\n" @@ -474,7 +545,7 @@ msgstr "" "l'instance.\n" "\n" -#: pg_rewind.c:93 +#: pg_rewind.c:95 #, c-format msgid "" "Usage:\n" @@ -485,42 +556,42 @@ msgstr "" " %s [OPTION]...\n" "\n" -#: pg_rewind.c:94 +#: pg_rewind.c:96 #, c-format msgid "Options:\n" msgstr "Options :\n" -#: pg_rewind.c:95 +#: pg_rewind.c:97 #, c-format msgid "" -" -c, --restore-target-wal use restore_command in target configuration to\n" +" -c, --restore-target-wal use \"restore_command\" in target configuration to\n" " retrieve WAL files from archives\n" msgstr "" -" -c, --restore-target-wal utilise restore_command pour la configuration\n" +" -c, --restore-target-wal utilise « restore_command » pour la configuration\n" " cible de récupération des fichiers WAL des\n" " archives\n" -#: pg_rewind.c:97 +#: pg_rewind.c:99 #, c-format msgid " -D, --target-pgdata=DIRECTORY existing data directory to modify\n" msgstr " -D, --target-pgdata=RÉPERTOIRE répertoire de données existant à modifier\n" -#: pg_rewind.c:98 +#: pg_rewind.c:100 #, c-format msgid " --source-pgdata=DIRECTORY source data directory to synchronize with\n" msgstr " --source-pgdata=RÉPERTOIRE répertoire des données source\n" -#: pg_rewind.c:99 +#: pg_rewind.c:101 #, c-format msgid " --source-server=CONNSTR source server to synchronize with\n" msgstr " --source-server=CHAÎNE serveur source pour la synchronisation\n" -#: pg_rewind.c:100 +#: pg_rewind.c:102 #, c-format msgid " -n, --dry-run stop before modifying anything\n" msgstr " -n, --dry-run arrête avant de modifier quoi que ce soit\n" -#: pg_rewind.c:101 +#: pg_rewind.c:103 #, c-format msgid "" " -N, --no-sync do not wait for changes to be written\n" @@ -529,12 +600,12 @@ msgstr "" " -N, --nosync n'attend pas que les modifications soient\n" " proprement écrites sur disque\n" -#: pg_rewind.c:103 +#: pg_rewind.c:105 #, c-format msgid " -P, --progress write progress messages\n" msgstr " -P, --progress écrit les messages de progression\n" -#: pg_rewind.c:104 +#: pg_rewind.c:106 #, c-format msgid "" " -R, --write-recovery-conf write configuration for replication\n" @@ -543,7 +614,7 @@ msgstr "" " -R, --write-recovery-conf écrit la configuration pour la réplication\n" " (requiert --source-server)\n" -#: pg_rewind.c:106 +#: pg_rewind.c:108 #, c-format msgid "" " --config-file=FILENAME use specified main server configuration\n" @@ -553,29 +624,34 @@ msgstr "" " du serveur principal lors de l'exécution de\n" " l'instance cible\n" -#: pg_rewind.c:108 +#: pg_rewind.c:110 #, c-format msgid " --debug write a lot of debug messages\n" msgstr " --debug écrit beaucoup de messages de débogage\n" -#: pg_rewind.c:109 +#: pg_rewind.c:111 #, c-format msgid " --no-ensure-shutdown do not automatically fix unclean shutdown\n" msgstr "" " --no-ensure-shutdown ne corrige pas automatiquement l'arrêt non\n" " propre\n" -#: pg_rewind.c:110 +#: pg_rewind.c:112 +#, c-format +msgid " --sync-method=METHOD set method for syncing files to disk\n" +msgstr " --sync-method=METHODE configure la méthode pour synchroniser les fichiers sur disque\n" + +#: pg_rewind.c:113 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version affiche la version, puis quitte\n" -#: pg_rewind.c:111 +#: pg_rewind.c:114 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help affiche cette aide, puis quitte\n" -#: pg_rewind.c:112 +#: pg_rewind.c:115 #, c-format msgid "" "\n" @@ -584,729 +660,424 @@ msgstr "" "\n" "Rapporter les bogues à <%s>.\n" -#: pg_rewind.c:113 +#: pg_rewind.c:116 #, c-format msgid "%s home page: <%s>\n" msgstr "Page d'accueil de %s : <%s>\n" -#: pg_rewind.c:223 pg_rewind.c:231 pg_rewind.c:238 pg_rewind.c:245 -#: pg_rewind.c:252 pg_rewind.c:260 +#: pg_rewind.c:232 pg_rewind.c:240 pg_rewind.c:247 pg_rewind.c:254 +#: pg_rewind.c:261 pg_rewind.c:269 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Essayez « %s --help » pour plus d'informations." -#: pg_rewind.c:230 +#: pg_rewind.c:239 #, c-format msgid "no source specified (--source-pgdata or --source-server)" msgstr "aucune source indiquée (--source-pgdata ou --source-server)" -#: pg_rewind.c:237 +#: pg_rewind.c:246 #, c-format msgid "only one of --source-pgdata or --source-server can be specified" msgstr "une seule des options --source-pgdata et --source-server peut être indiquée" -#: pg_rewind.c:244 +#: pg_rewind.c:253 #, c-format msgid "no target data directory specified (--target-pgdata)" msgstr "aucun répertoire de données cible indiqué (--target-pgdata)" -#: pg_rewind.c:251 +#: pg_rewind.c:260 #, c-format msgid "no source server information (--source-server) specified for --write-recovery-conf" msgstr "aucune information sur le serveur source (--source-server) indiquée pour --write-recovery-conf" -#: pg_rewind.c:258 +#: pg_rewind.c:267 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "trop d'arguments en ligne de commande (le premier étant « %s »)" -#: pg_rewind.c:273 +#: pg_rewind.c:282 #, c-format msgid "cannot be executed by \"root\"" msgstr "ne peut pas être exécuté par « root »" -#: pg_rewind.c:274 +#: pg_rewind.c:283 #, c-format msgid "You must run %s as the PostgreSQL superuser." msgstr "Vous devez exécuter %s en tant que super-utilisateur PostgreSQL." -#: pg_rewind.c:284 +#: pg_rewind.c:293 #, c-format msgid "could not read permissions of directory \"%s\": %m" msgstr "n'a pas pu lire les droits du répertoire « %s » : %m" -#: pg_rewind.c:302 +#: pg_rewind.c:311 #, c-format msgid "%s" msgstr "%s" -#: pg_rewind.c:305 +#: pg_rewind.c:314 #, c-format msgid "connected to server" msgstr "connecté au serveur" -#: pg_rewind.c:366 +#: pg_rewind.c:375 #, c-format msgid "source and target cluster are on the same timeline" msgstr "les instances source et cible sont sur la même ligne de temps" -#: pg_rewind.c:387 +#: pg_rewind.c:396 #, c-format msgid "servers diverged at WAL location %X/%X on timeline %u" msgstr "les serveurs ont divergé à la position %X/%X des WAL sur la timeline %u" -#: pg_rewind.c:442 +#: pg_rewind.c:451 #, c-format msgid "no rewind required" msgstr "pas de retour en arrière requis" -#: pg_rewind.c:451 +#: pg_rewind.c:460 #, c-format msgid "rewinding from last common checkpoint at %X/%X on timeline %u" msgstr "retour en arrière depuis le dernier checkpoint commun à %X/%X sur la ligne de temps %u" -#: pg_rewind.c:461 +#: pg_rewind.c:470 #, c-format msgid "reading source file list" msgstr "lecture de la liste des fichiers sources" -#: pg_rewind.c:465 +#: pg_rewind.c:474 #, c-format msgid "reading target file list" msgstr "lecture de la liste des fichiers cibles" -#: pg_rewind.c:474 +#: pg_rewind.c:483 #, c-format msgid "reading WAL in target" msgstr "lecture du WAL dans la cible" -#: pg_rewind.c:495 +#: pg_rewind.c:504 #, c-format msgid "need to copy %lu MB (total source directory size is %lu MB)" msgstr "a besoin de copier %lu Mo (la taille totale du répertoire source est %lu Mo)" -#: pg_rewind.c:513 +#: pg_rewind.c:522 #, c-format msgid "syncing target data directory" msgstr "synchronisation du répertoire des données cible" -#: pg_rewind.c:529 +#: pg_rewind.c:538 #, c-format msgid "Done!" msgstr "Terminé !" -#: pg_rewind.c:609 +#: pg_rewind.c:618 #, c-format msgid "no action decided for file \"%s\"" msgstr "aucune action décidée pour le fichier « %s »" -#: pg_rewind.c:641 +#: pg_rewind.c:650 #, c-format msgid "source system was modified while pg_rewind was running" msgstr "le système source a été modifié alors que pg_rewind était en cours d'exécution" -#: pg_rewind.c:645 +#: pg_rewind.c:654 #, c-format msgid "creating backup label and updating control file" msgstr "création du fichier backup_label et mise à jour du fichier contrôle" -#: pg_rewind.c:695 +#: pg_rewind.c:704 #, c-format msgid "source system was in unexpected state at end of rewind" msgstr "le système source était dans un état inattendu en fin de rewind" -#: pg_rewind.c:727 +#: pg_rewind.c:736 #, c-format msgid "source and target clusters are from different systems" msgstr "les instances source et cible proviennent de systèmes différents" -#: pg_rewind.c:735 +#: pg_rewind.c:744 #, c-format msgid "clusters are not compatible with this version of pg_rewind" msgstr "les instances ne sont pas compatibles avec cette version de pg_rewind" -#: pg_rewind.c:745 +#: pg_rewind.c:754 #, c-format msgid "target server needs to use either data checksums or \"wal_log_hints = on\"" msgstr "le serveur cible doit soit utiliser les sommes de contrôle sur les données soit avoir wal_log_hints configuré à on" -#: pg_rewind.c:756 +#: pg_rewind.c:765 #, c-format msgid "target server must be shut down cleanly" msgstr "le serveur cible doit être arrêté proprement" -#: pg_rewind.c:766 +#: pg_rewind.c:775 #, c-format msgid "source data directory must be shut down cleanly" msgstr "le répertoire de données source doit être arrêté proprement" -#: pg_rewind.c:813 +#: pg_rewind.c:822 #, c-format msgid "%*s/%s kB (%d%%) copied" msgstr "%*s/%s Ko (%d%%) copiés" -#: pg_rewind.c:941 +#: pg_rewind.c:948 #, c-format msgid "could not find common ancestor of the source and target cluster's timelines" msgstr "n'a pas pu trouver l'ancêtre commun des lignes de temps des instances source et cible" -#: pg_rewind.c:982 +#: pg_rewind.c:989 #, c-format msgid "backup label buffer too small" msgstr "tampon du label de sauvegarde trop petit" -#: pg_rewind.c:1005 +#: pg_rewind.c:1012 #, c-format msgid "unexpected control file CRC" msgstr "CRC inattendu pour le fichier de contrôle" -#: pg_rewind.c:1017 +#: pg_rewind.c:1024 #, c-format msgid "unexpected control file size %d, expected %d" msgstr "taille %d inattendue du fichier de contrôle, %d attendu" -#: pg_rewind.c:1026 +#: pg_rewind.c:1034 +#, 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] "taille invalide du segment WAL dans le fichier de contrôle (%d octet)" +msgstr[1] "taille invalide du segment WAL dans le fichier de contrôle (%d octets)" + +#: pg_rewind.c:1038 #, c-format -msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d byte" -msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d bytes" -msgstr[0] "La taille du segment WAL doit être une puissance de deux comprise entre 1 Mo et 1 Go, mais le fichier de contrôle indique %d octet" -msgstr[1] "La taille du segment WAL doit être une puissance de deux comprise entre 1 Mo et 1 Go, mais le fichier de contrôle indique %d octets" +msgid "The WAL segment size must be a power of two between 1 MB and 1 GB." +msgstr "La taille du segment WAL doit être une puissance de deux comprise entre 1 Mo et 1 Go." -#: pg_rewind.c:1065 pg_rewind.c:1135 +#: pg_rewind.c:1075 pg_rewind.c:1143 #, c-format msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"" msgstr "le programme « %s » est nécessaire pour %s, mais n'a pas été trouvé dans le même répertoire que « %s »" -#: pg_rewind.c:1068 pg_rewind.c:1138 +#: pg_rewind.c:1078 pg_rewind.c:1146 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" msgstr "le programme « %s » a été trouvé par « %s » mais n'est pas de la même version que %s" -#: pg_rewind.c:1101 +#: pg_rewind.c:1107 #, c-format -msgid "restore_command is not set in the target cluster" -msgstr "restore_command n'est pas configuré sur l'instance cible" +msgid "could not read restore_command from target cluster" +msgstr "n'a pas pu lire restore_command à partir de l'instance cible" -#: pg_rewind.c:1142 +#: pg_rewind.c:1112 +#, c-format +msgid "\"restore_command\" is not set in the target cluster" +msgstr "« restore_command» n'est pas configuré sur l'instance cible" + +#: pg_rewind.c:1150 #, c-format msgid "executing \"%s\" for target server to complete crash recovery" msgstr "exécution de « %s » pour terminer la restauration après crash du serveur cible" -#: pg_rewind.c:1180 +#: pg_rewind.c:1188 #, c-format msgid "postgres single-user mode in target cluster failed" msgstr "le mot simple-utilisateur de postgres a échoué pour l'instance cible" -#: pg_rewind.c:1181 +#: pg_rewind.c:1189 #, c-format msgid "Command was: %s" msgstr "La commande était : %s" -#: timeline.c:75 timeline.c:81 +#: timeline.c:74 timeline.c:80 #, c-format msgid "syntax error in history file: %s" msgstr "erreur de syntaxe dans le fichier historique : %s" -#: timeline.c:76 +#: timeline.c:75 #, c-format msgid "Expected a numeric timeline ID." msgstr "Attendait un identifiant timeline numérique." -#: timeline.c:82 +#: timeline.c:81 #, c-format msgid "Expected a write-ahead log switchpoint location." msgstr "Attendait un emplacement de bascule de journal de transactions." -#: timeline.c:87 +#: timeline.c:86 #, c-format msgid "invalid data in history file: %s" msgstr "données invalides dans le fichier historique : %s" -#: timeline.c:88 +#: timeline.c:87 #, c-format msgid "Timeline IDs must be in increasing sequence." msgstr "Les identifiants timeline doivent être en ordre croissant." -#: timeline.c:108 +#: timeline.c:107 #, c-format msgid "invalid data in history file" msgstr "données invalides dans le fichier historique" -#: timeline.c:109 +#: timeline.c:108 #, c-format msgid "Timeline IDs must be less than child timeline's ID." msgstr "" "Les identifiants timeline doivent être plus petits que les enfants des\n" "identifiants timeline." -#: xlogreader.c:626 +#: xlogreader.c:619 #, c-format msgid "invalid record offset at %X/%X: expected at least %u, got %u" msgstr "décalage invalide de l'enregistrement à %X/%X : attendait au moins %u, a eu %u" -#: xlogreader.c:635 +#: xlogreader.c:628 #, c-format msgid "contrecord is requested by %X/%X" msgstr "« contrecord » est requis par %X/%X" -#: xlogreader.c:676 xlogreader.c:1119 +#: xlogreader.c:669 xlogreader.c:1134 #, c-format msgid "invalid record length at %X/%X: expected at least %u, got %u" msgstr "longueur invalide de l'enregistrement à %X/%X : attendait au moins %u, a eu %u" -#: xlogreader.c:705 -#, c-format -msgid "out of memory while trying to decode a record of length %u" -msgstr "manque mémoire lors de la tentative de décodage d'un enregistrement de longueur %u" - -#: xlogreader.c:727 -#, c-format -msgid "record length %u at %X/%X too long" -msgstr "longueur trop importante de l'enregistrement %u à %X/%X" - -#: xlogreader.c:776 +#: xlogreader.c:758 #, c-format msgid "there is no contrecord flag at %X/%X" msgstr "il n'existe pas de drapeau contrecord à %X/%X" -#: xlogreader.c:789 +#: xlogreader.c:771 #, c-format msgid "invalid contrecord length %u (expected %lld) at %X/%X" msgstr "longueur %u invalide du contrecord (%lld attendu) à %X/%X" -#: xlogreader.c:1127 +#: xlogreader.c:1142 #, c-format msgid "invalid resource manager ID %u at %X/%X" msgstr "identifiant du gestionnaire de ressources invalide %u à %X/%X" -#: xlogreader.c:1140 xlogreader.c:1156 +#: xlogreader.c:1155 xlogreader.c:1171 #, c-format msgid "record with incorrect prev-link %X/%X at %X/%X" msgstr "enregistrement avec prev-link %X/%X incorrect à %X/%X" -#: xlogreader.c:1192 +#: xlogreader.c:1209 #, c-format msgid "incorrect resource manager data checksum in record at %X/%X" msgstr "" "somme de contrôle des données du gestionnaire de ressources incorrecte à\n" "l'enregistrement %X/%X" -#: xlogreader.c:1226 +#: xlogreader.c:1243 #, c-format msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u" msgstr "numéro magique invalide %04X dans le segment WAL %s, LSN %X/%X, décalage %u" -#: xlogreader.c:1241 xlogreader.c:1283 +#: xlogreader.c:1258 xlogreader.c:1300 #, c-format msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u" msgstr "bits d'information %04X invalides dans le segment WAL %s, LSN %X/%X, décalage %u" -#: xlogreader.c:1257 +#: xlogreader.c:1274 #, 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 "Le fichier WAL provient d'une instance différente : l'identifiant système de la base dans le fichier WAL est %llu, alors que l'identifiant système de la base dans pg_control est %llu" -#: xlogreader.c:1265 +#: xlogreader.c:1282 #, c-format msgid "WAL file is from different database system: incorrect segment size in page header" msgstr "Le fichier WAL provient d'une instance différente : taille invalide du segment dans l'en-tête de page" -#: xlogreader.c:1271 +#: xlogreader.c:1288 #, c-format msgid "WAL file is from different database system: incorrect XLOG_BLCKSZ in page header" msgstr "Le fichier WAL provient d'une instance différente : XLOG_BLCKSZ incorrect dans l'en-tête de page" -#: xlogreader.c:1303 +#: xlogreader.c:1320 #, c-format msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u" msgstr "pageaddr %X/%X inattendue dans le journal de transactions %s, LSN %X/%X, segment %u" -#: xlogreader.c:1329 +#: xlogreader.c:1346 #, c-format msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, offset %u" msgstr "identifiant timeline %u hors de la séquence (après %u) dans le segment WAL %s, LSN %X/%X, décalage %u" -#: xlogreader.c:1735 +#: xlogreader.c:1749 #, c-format msgid "out-of-order block_id %u at %X/%X" msgstr "block_id %u désordonné à %X/%X" -#: xlogreader.c:1759 +#: xlogreader.c:1773 #, c-format msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X" msgstr "BKPBLOCK_HAS_DATA configuré, mais aucune donnée inclus à %X/%X" -#: xlogreader.c:1766 +#: xlogreader.c:1780 #, c-format msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X" msgstr "BKPBLOCK_HAS_DATA non configuré, mais la longueur des données est %u à %X/%X" -#: xlogreader.c:1802 +#: xlogreader.c:1816 #, c-format msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X" msgstr "BKPIMAGE_HAS_HOLE activé, mais décalage trou %u longueur %u longueur image bloc %u à %X/%X" -#: xlogreader.c:1818 +#: xlogreader.c:1832 #, c-format msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X" msgstr "BKPIMAGE_HAS_HOLE désactivé, mais décalage trou %u longueur %u à %X/%X" -#: xlogreader.c:1832 +#: xlogreader.c:1846 #, c-format msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X" msgstr "BKPIMAGE_COMPRESSED configuré, mais la longueur de l'image du bloc est %u à %X/%X" -#: xlogreader.c:1847 +#: xlogreader.c:1861 #, c-format msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X" msgstr "ni BKPIMAGE_HAS_HOLE ni BKPIMAGE_COMPRESSED configuré, mais la longueur de l'image du bloc est %u à %X/%X" -#: xlogreader.c:1863 +#: xlogreader.c:1877 #, c-format msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X" msgstr "BKPBLOCK_SAME_REL configuré, mais pas de relation précédente à %X/%X" -#: xlogreader.c:1875 +#: xlogreader.c:1889 #, c-format msgid "invalid block_id %u at %X/%X" msgstr "block_id %u invalide à %X/%X" -#: xlogreader.c:1942 +#: xlogreader.c:1956 #, c-format msgid "record with invalid length at %X/%X" msgstr "enregistrement de longueur invalide à %X/%X" -#: xlogreader.c:1968 +#: xlogreader.c:1982 #, c-format msgid "could not locate backup block with ID %d in WAL record" msgstr "n'a pas pu localiser le bloc de sauvegarde d'ID %d dans l'enregistrement WAL" -#: xlogreader.c:2052 +#: xlogreader.c:2066 #, c-format msgid "could not restore image at %X/%X with invalid block %d specified" msgstr "n'a pas pu restaurer l'image à %X/%X avec le bloc invalide %d indiqué" -#: xlogreader.c:2059 +#: xlogreader.c:2073 #, c-format msgid "could not restore image at %X/%X with invalid state, block %d" msgstr "n'a pas pu restaurer l'image à %X/%X avec un état invalide, bloc %d" -#: xlogreader.c:2086 xlogreader.c:2103 +#: xlogreader.c:2100 xlogreader.c:2117 #, c-format msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d" msgstr "n'a pas pu restaurer l'image à %X/%X compressé avec %s, qui est non supporté par le serveur, bloc %d" -#: xlogreader.c:2112 +#: xlogreader.c:2126 #, c-format msgid "could not restore image at %X/%X compressed with unknown method, block %d" msgstr "n'a pas pu restaurer l'image à %X/%X compressé avec une méthode inconnue, bloc %d" -#: xlogreader.c:2120 +#: xlogreader.c:2134 #, c-format msgid "could not decompress image at %X/%X, block %d" msgstr "n'a pas pu décompresser l'image à %X/%X, bloc %d" - -#~ msgid "" -#~ "\n" -#~ "Report bugs to .\n" -#~ msgstr "" -#~ "\n" -#~ "Rapporter les bogues à .\n" - -#~ msgid " block %u\n" -#~ msgstr " bloc %u\n" - -#, c-format -#~ msgid "\"%s\" is a symbolic link, but symbolic links are not supported on this platform" -#~ msgstr "« %s » est un lien symbolique mais les liens symboliques ne sont pas supportés sur cette plateforme" - -#~ msgid "\"%s\" is not a directory" -#~ msgstr "« %s » n'est pas un répertoire" - -#~ msgid "\"%s\" is not a regular file" -#~ msgstr "« %s » n'est pas un fichier standard" - -#~ msgid "\"%s\" is not a symbolic link" -#~ msgstr "« %s » n'est pas un lien symbolique" - -#~ msgid "%d: %X/%X - %X/%X\n" -#~ msgstr "%d : %X/%X - %X/%X\n" - -#~ msgid "%s (%s)\n" -#~ msgstr "%s (%s)\n" - -#~ msgid "%s: WARNING: cannot create restricted tokens on this platform\n" -#~ msgstr "%s : ATTENTION : ne peut pas créer les jetons restreints sur cette plateforme\n" - -#~ msgid "%s: could not allocate SIDs: error code %lu\n" -#~ msgstr "%s : n'a pas pu allouer les SID : code d'erreur %lu\n" - -#~ msgid "%s: could not create restricted token: error code %lu\n" -#~ msgstr "%s : n'a pas pu créer le jeton restreint : code d'erreur %lu\n" - -#~ msgid "%s: could not get exit code from subprocess: error code %lu\n" -#~ msgstr "%s : n'a pas pu récupérer le code de statut du sous-processus : code d'erreur %lu\n" - -#~ msgid "%s: could not open process token: error code %lu\n" -#~ msgstr "%s : n'a pas pu ouvrir le jeton du processus : code d'erreur %lu\n" - -#~ msgid "%s: could not re-execute with restricted token: error code %lu\n" -#~ msgstr "%s : n'a pas pu ré-exécuter le jeton restreint : code d'erreur %lu\n" - -#~ msgid "%s: could not read permissions of directory \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu lire les droits sur le répertoire « %s » : %s\n" - -#~ msgid "%s: could not start process for command \"%s\": error code %lu\n" -#~ msgstr "%s : n'a pas pu démarrer le processus pour la commande « %s » : code d'erreur %lu\n" - -#~ msgid "%s: too many command-line arguments (first is \"%s\")\n" -#~ msgstr "%s : trop d'arguments en ligne de commande (le premier étant « %s »)\n" - -#~ msgid "Expected a numeric timeline ID.\n" -#~ msgstr "Attendait un identifiant numérique de ligne de temps.\n" - -#~ msgid "Expected a write-ahead log switchpoint location.\n" -#~ msgstr "Attendait un emplacement de bascule de journal de transactions.\n" - -#~ msgid "Failure, exiting\n" -#~ msgstr "Échec, sortie\n" - -#~ msgid "Source timeline history:\n" -#~ msgstr "Historique de la ligne de temps source :\n" - -#~ msgid "Target timeline history:\n" -#~ msgstr "Historique de la ligne de temps cible :\n" - -#~ msgid "" -#~ "The program \"%s\" is needed by %s but was\n" -#~ "not found in the same directory as \"%s\".\n" -#~ "Check your installation." -#~ msgstr "" -#~ "Le programme « %s » est nécessaire pour %s, mais n'a pas été trouvé\n" -#~ "dans le même répertoire que « %s ».\n" -#~ "Vérifiez votre installation." - -#~ msgid "" -#~ "The program \"%s\" was found by \"%s\" but was\n" -#~ "not the same version as %s.\n" -#~ "Check your installation." -#~ msgstr "" -#~ "Le programme « %s » a été trouvé par « %s » mais n'était pas de la même version\n" -#~ "que %s.\n" -#~ "Vérifiez votre installation." - -#~ msgid "" -#~ "The program \"initdb\" is needed by %s but was\n" -#~ "not found in the same directory as \"%s\".\n" -#~ "Check your installation.\n" -#~ msgstr "" -#~ "Le programme « initdb » est nécessaire pour %s, mais n'a pas été trouvé\n" -#~ "dans le même répertoire que « %s ».\n" -#~ "Vérifiez votre installation.\n" - -#~ msgid "" -#~ "The program \"initdb\" was found by \"%s\"\n" -#~ "but was not the same version as %s.\n" -#~ "Check your installation.\n" -#~ msgstr "" -#~ "Le programme « initdb » a été trouvé par « %s », mais n'est pas de la même version\n" -#~ "que %s.\n" -#~ "Vérifiez votre installation.\n" - -#~ msgid "" -#~ "The program \"postgres\" is needed by %s but was not found in the\n" -#~ "same directory as \"%s\".\n" -#~ "Check your installation." -#~ msgstr "" -#~ "Le programme « postgres » est nécessaire à %s mais n'a pas été trouvé dans\n" -#~ "le même répertoire que « %s ».\n" -#~ "Vérifiez votre installation." - -#~ msgid "" -#~ "The program \"postgres\" was found by \"%s\"\n" -#~ "but was not the same version as %s.\n" -#~ "Check your installation." -#~ msgstr "" -#~ "Le programme « postgres » a été trouvé par « %s » mais n'est pas de la même\n" -#~ "version que « %s ».\n" -#~ "Vérifiez votre installation." - -#~ msgid "Timeline IDs must be in increasing sequence.\n" -#~ msgstr "Les identifiants de ligne de temps doivent être dans une séquence croissante.\n" - -#~ msgid "Timeline IDs must be less than child timeline's ID.\n" -#~ msgstr "Les identifiants de ligne de temps doivent être inférieurs à l'identifiant de la ligne de temps enfant.\n" - -#, c-format -#~ msgid "Try \"%s --help\" for more information.\n" -#~ msgstr "Essayez « %s --help » pour plus d'informations.\n" - -#~ msgid "WAL file is from different database system: incorrect XLOG_SEG_SIZE in page header" -#~ msgstr "le fichier WAL provient d'un système différent : XLOG_SEG_SIZE invalide dans l'en-tête de page" - -#~ msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d byte\n" -#~ msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d bytes\n" -#~ msgstr[0] "La taille du segment WAL doit être une puissance de deux comprise entre 1 Mo et 1 Go, mais le fichier de contrôle indique %d octet\n" -#~ msgstr[1] "La taille du segment WAL doit être une puissance de deux comprise entre 1 Mo et 1 Go, mais le fichier de contrôle indique %d octets\n" - -#, c-format -#~ msgid "You must run %s as the PostgreSQL superuser.\n" -#~ msgstr "Vous devez exécuter %s en tant que super-utilisateur PostgreSQL.\n" - -#, c-format -#~ msgid "cannot create restricted tokens on this platform: error code %lu" -#~ msgstr "ne peut pas créer les jetons restreints sur cette plateforme : code d'erreur %lu" - -#, c-format -#~ msgid "cannot use restore_command with %%r placeholder" -#~ msgstr "ne peut pas utiliser restore_command avec le joker %%r" - -#~ msgid "could not close directory \"%s\": %s\n" -#~ msgstr "n'a pas pu fermer le répertoire « %s » : %s\n" - -#~ msgid "could not close file \"%s\": %s\n" -#~ msgstr "n'a pas pu fermer le fichier « %s » : %s\n" - -#~ msgid "could not connect to server: %s" -#~ msgstr "n'a pas pu se connecter au serveur : %s" - -#~ msgid "could not create directory \"%s\": %s\n" -#~ msgstr "n'a pas pu créer le répertoire « %s » : %s\n" - -#~ msgid "could not create temporary table: %s" -#~ msgstr "n'a pas pu créer la table temporaire : %s" - -#, c-format -#~ msgid "could not load library \"%s\": error code %lu" -#~ msgstr "n'a pas pu charger la bibliothèque « %s » : code d'erreur %lu" - -#~ msgid "could not open directory \"%s\": %s\n" -#~ msgstr "n'a pas pu ouvrir le répertoire « %s » : %s\n" - -#~ msgid "could not open file \"%s\" for reading: %s\n" -#~ msgstr "n'a pas pu ouvrir le fichier « %s » pour une lecture : %s\n" - -#~ msgid "could not open file \"%s\": %s\n" -#~ msgstr "n'a pas pu ouvrir le fichier « %s » : %s\n" - -#~ msgid "could not read directory \"%s\": %s\n" -#~ msgstr "n'a pas pu lire le répertoire « %s » : %s\n" - -#~ msgid "could not read file \"%s\": %s\n" -#~ msgstr "n'a pas pu lire le fichier « %s » : %s\n" - -#~ msgid "could not read from file \"%s\": %s\n" -#~ msgstr "n'a pas pu lire le fichier « %s » : %s\n" - -#~ msgid "could not read symbolic link \"%s\": %s\n" -#~ msgstr "n'a pas pu lire le lien symbolique « %s » : %s\n" - -#~ msgid "could not remove directory \"%s\": %s\n" -#~ msgstr "n'a pas pu supprimer le répertoire « %s » : %s\n" - -#~ msgid "could not remove file \"%s\": %s\n" -#~ msgstr "n'a pas pu supprimer le fichier « %s » : %s\n" - -#~ msgid "could not remove symbolic link \"%s\": %s\n" -#~ msgstr "n'a pas pu supprimer le lien symbolique « %s » : %s\n" - -#~ msgid "could not seek in file \"%s\": %s\n" -#~ msgstr "n'a pas pu chercher dans le fichier « %s » : %s\n" - -#~ msgid "could not send COPY data: %s" -#~ msgstr "n'a pas pu envoyer les données COPY : %s" - -#~ msgid "could not send end-of-COPY: %s" -#~ msgstr "n'a pas pu envoyer end-of-COPY : %s" - -#~ msgid "could not send file list: %s" -#~ msgstr "n'a pas pu envoyer la liste de fichiers : %s" - -#~ msgid "could not set up connection context: %s" -#~ msgstr "n'a pas pu initialiser le contexte de connexion : « %s »" - -#~ msgid "could not stat file \"%s\": %s\n" -#~ msgstr "n'a pas pu tester le fichier « %s » : %s\n" - -#~ msgid "could not truncate file \"%s\" to %u: %s\n" -#~ msgstr "n'a pas pu tronquer le fichier « %s » à %u : %s\n" - -#~ msgid "could not write file \"%s\": %s\n" -#~ msgstr "n'a pas pu écrire le fichier « %s » : %s\n" - -#~ msgid "entry \"%s\" excluded from source file list\n" -#~ msgstr "enregistrement « %s » exclus de la liste des fichiers sources\n" - -#~ msgid "entry \"%s\" excluded from target file list\n" -#~ msgstr "enregistrement « %s » exclus de la liste des fichiers cibles\n" - -#, c-format -#~ msgid "failed to locate backup block with ID %d in WAL record" -#~ msgstr "échec de localisation du bloc de sauvegarde d'ID %d dans l'enregistrement WAL" - -#, c-format -#~ msgid "fatal: " -#~ msgstr "fatal : " - -#~ msgid "fetched file \"%s\", length %d\n" -#~ msgstr "fichier récupéré « %s », longueur %d\n" - -#~ msgid "getting file chunks\n" -#~ msgstr "récupération des parties de fichier\n" - -#, c-format -#~ msgid "image at %X/%X compressed with %s not supported by build, block %d" -#~ msgstr "image à %X/%X compressé avec %s, non supporté, bloc %d" - -#, c-format -#~ msgid "image at %X/%X compressed with unknown method, block %d" -#~ msgstr "image à %X/%X compressé avec une méthode inconnue, bloc %d" - -#, c-format -#~ msgid "invalid compressed image at %X/%X, block %d" -#~ msgstr "image compressée invalide à %X/%X, bloc %d" - -#~ msgid "invalid contrecord length %u at %X/%X reading %X/%X, expected %u" -#~ msgstr "longueur %u invalide du contrecord à %X/%X en lisant %X/%X, attendait %u" - -#, c-format -#~ msgid "invalid control file" -#~ msgstr "fichier de contrôle invalide" - -#~ msgid "invalid data in history file: %s\n" -#~ msgstr "données invalides dans le fichier historique : %s\n" - -#, c-format -#~ msgid "invalid record offset at %X/%X" -#~ msgstr "décalage invalide de l'enregistrement %X/%X" - -#, c-format -#~ msgid "missing contrecord at %X/%X" -#~ msgstr "contrecord manquant à %X/%X" - -#~ msgid "received data at offset " -#~ msgstr "a reçu des données au décalage " - -#~ msgid "received null value for chunk for file \"%s\", file has been deleted\n" -#~ msgstr "a reçu une valeur NULL pour une partie du fichier « %s », le fichier a été supprimé\n" - -#~ msgid "source file list is empty" -#~ msgstr "la liste de fichiers sources est vide" - -#~ msgid "source server must not be in recovery mode" -#~ msgstr "le serveur source ne doit pas être en mode restauration" - -#~ msgid "symbolic link \"%s\" target is too long\n" -#~ msgstr "la cible du lien symbolique « %s » est trop long\n" - -#~ msgid "sync of target directory failed\n" -#~ msgstr "échec de la synchronisation du répertoire cible\n" - -#~ msgid "syntax error in history file: %s\n" -#~ msgstr "erreur de syntaxe dans le fichier historique : %s\n" - -#~ msgid "there is no contrecord flag at %X/%X reading %X/%X" -#~ msgstr "il n'existe pas de drapeau contrecord à %X/%X en lisant %X/%X" - -#~ msgid "unexpected result while sending file list: %s" -#~ msgstr "résultat inattendu lors de l'envoi de la liste de fichiers : %s" diff --git a/src/bin/pg_rewind/po/ja.po b/src/bin/pg_rewind/po/ja.po index 7f535641aed..08ed0fb1ae7 100644 --- a/src/bin/pg_rewind/po/ja.po +++ b/src/bin/pg_rewind/po/ja.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_rewind (PostgreSQL 17)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-06-14 11:24+0900\n" -"PO-Revision-Date: 2024-06-14 11:29+0900\n" +"POT-Creation-Date: 2024-09-05 09:59+0900\n" +"PO-Revision-Date: 2024-09-05 10:40+0900\n" "Last-Translator: Kyotaro Horiguchi \n" "Language-Team: Japan PostgreSQL Users Group \n" "Language: ja\n" @@ -20,22 +20,22 @@ msgstr "" "X-Generator: Poedit 1.8.13\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ../../../src/common/logging.c:276 +#: ../../../src/common/logging.c:278 #, c-format msgid "error: " msgstr "エラー: " -#: ../../../src/common/logging.c:283 +#: ../../../src/common/logging.c:285 #, c-format msgid "warning: " msgstr "警告: " -#: ../../../src/common/logging.c:294 +#: ../../../src/common/logging.c:296 #, c-format msgid "detail: " msgstr "詳細: " -#: ../../../src/common/logging.c:301 +#: ../../../src/common/logging.c:303 #, c-format msgid "hint: " msgstr "ヒント: " @@ -79,9 +79,9 @@ msgstr "" "されるものと一致しないようです。この場合以下の結果は不正確になります。また、\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 ../../fe_utils/recovery_gen.c:140 +#: ../../common/controldata_utils.c:230 ../../common/file_utils.c:71 +#: ../../common/file_utils.c:348 ../../common/file_utils.c:407 +#: ../../common/file_utils.c:481 ../../fe_utils/recovery_gen.c:140 #: parsexlog.c:312 #, c-format msgid "could not open file \"%s\": %m" @@ -92,8 +92,8 @@ msgstr "ファイル\"%s\"をオープンできませんでした: %m" 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 +#: ../../common/controldata_utils.c:268 ../../common/file_utils.c:419 +#: ../../common/file_utils.c:489 #, c-format msgid "could not fsync file \"%s\": %m" msgstr "ファイル\"%s\"をfsyncできませんでした: %m" @@ -109,34 +109,34 @@ msgstr "メモリ不足です\n" msgid "cannot duplicate null pointer (internal error)\n" msgstr "null ポインタを複製できません(内部エラー)\n" -#: ../../common/file_utils.c:76 +#: ../../common/file_utils.c:77 #, 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 +#: ../../common/file_utils.c:121 ../../common/file_utils.c:567 #: ../../fe_utils/archive.c:86 file_ops.c:417 #, c-format msgid "could not stat file \"%s\": %m" msgstr "ファイル\"%s\"のstatに失敗しました: %m" -#: ../../common/file_utils.c:130 ../../common/file_utils.c:227 +#: ../../common/file_utils.c:131 ../../common/file_utils.c:228 #: ../../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 file_ops.c:388 +#: ../../common/file_utils.c:152 ../../common/file_utils.c:282 file_ops.c:388 #, c-format msgid "could not open directory \"%s\": %m" msgstr "ディレクトリ\"%s\"をオープンできませんでした: %m" -#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 file_ops.c:462 +#: ../../common/file_utils.c:170 ../../common/file_utils.c:316 file_ops.c:462 #, c-format msgid "could not read directory \"%s\": %m" msgstr "ディレクトリ\"%s\"を読み取れませんでした: %m" -#: ../../common/file_utils.c:498 +#: ../../common/file_utils.c:499 #, c-format msgid "could not rename file \"%s\" to \"%s\": %m" msgstr "ファイル\"%s\"の名前を\"%s\"に変更できませんでした: %m" @@ -814,68 +814,68 @@ msgstr "ソースデータディレクトリはきれいにシャットダウン msgid "%*s/%s kB (%d%%) copied" msgstr "%*s/%s kB (%d%%) コピーしました" -#: pg_rewind.c:950 +#: pg_rewind.c:948 #, c-format msgid "could not find common ancestor of the source and target cluster's timelines" msgstr "ソースクラスタとターゲットクラスタのタイムラインの共通の祖先を見つけられません" -#: pg_rewind.c:991 +#: pg_rewind.c:989 #, c-format msgid "backup label buffer too small" msgstr "バックアップラベルのバッファが小さすぎます" -#: pg_rewind.c:1014 +#: pg_rewind.c:1012 #, c-format msgid "unexpected control file CRC" msgstr "想定外の制御ファイルCRCです" -#: pg_rewind.c:1026 +#: pg_rewind.c:1024 #, c-format msgid "unexpected control file size %d, expected %d" msgstr "想定外の制御ファイルのサイズ%d、想定は%d" -#: pg_rewind.c:1036 +#: pg_rewind.c:1034 #, 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] "制御ファイル中の不正なWALセグメントサイズ (%dバイト)" -#: pg_rewind.c:1040 +#: pg_rewind.c:1038 #, c-format msgid "The WAL segment size must be a power of two between 1 MB and 1 GB." msgstr "WALセグメントサイズは1MBから1GBまでの間の2の累乗でなければなりません。" -#: pg_rewind.c:1077 pg_rewind.c:1145 +#: pg_rewind.c:1075 pg_rewind.c:1143 #, c-format msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"" msgstr "%2$sには\"%1$s\"プログラムが必要ですが、\"%3$s\"と同じディレクトリにありませんでした。" -#: pg_rewind.c:1080 pg_rewind.c:1148 +#: pg_rewind.c:1078 pg_rewind.c:1146 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" msgstr "\"%2$s\"がプログラム\"%1$s\"を見つけましたが、これは%3$sと同じバージョンではありませんでした。" -#: pg_rewind.c:1109 +#: pg_rewind.c:1107 #, c-format -msgid "unable to read restore_command from target cluster" -msgstr "ターゲットクラスタからrestore_commandが読み取れません" +msgid "could not read \"restore_command\" from target cluster" +msgstr "ターゲットクラスタから\"restore_command\"が読み取れませんでした" -#: pg_rewind.c:1114 +#: pg_rewind.c:1112 #, c-format msgid "\"restore_command\" is not set in the target cluster" msgstr "ターゲットクラスタで\"restore_command\"が設定されていません" -#: pg_rewind.c:1152 +#: pg_rewind.c:1150 #, c-format msgid "executing \"%s\" for target server to complete crash recovery" msgstr "ターゲットサーバーに対して\"%s\"を実行してクラッシュリカバリを完了させます" -#: pg_rewind.c:1190 +#: pg_rewind.c:1188 #, c-format msgid "postgres single-user mode in target cluster failed" msgstr "ターゲットクラスタでのpostgresコマンドのシングルユーザーモード実行に失敗しました" -#: pg_rewind.c:1191 +#: pg_rewind.c:1189 #, c-format msgid "Command was: %s" msgstr "コマンド: %s" diff --git a/src/bin/pg_rewind/po/ka.po b/src/bin/pg_rewind/po/ka.po index e5aff9132a0..8552e456f8c 100644 --- a/src/bin/pg_rewind/po/ka.po +++ b/src/bin/pg_rewind/po/ka.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_rewind (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-06-14 02:23+0000\n" -"PO-Revision-Date: 2024-06-14 06:15+0200\n" +"POT-Creation-Date: 2024-08-27 16:53+0000\n" +"PO-Revision-Date: 2024-08-28 05:56+0200\n" "Last-Translator: Temuri Doghonadze \n" "Language-Team: Georgian \n" "Language: ka\n" @@ -812,69 +812,69 @@ msgstr "საწყისი ბაზა წესების დაცვი msgid "%*s/%s kB (%d%%) copied" msgstr "%*s/%s კბ (%d%%) დაკოპირდა" -#: pg_rewind.c:950 +#: pg_rewind.c:948 #, c-format msgid "could not find common ancestor of the source and target cluster's timelines" msgstr "საწყისი და სამიზნე კლასტერების დროის ხაზის საერთო წინაპრის პოვნა შეუძლებელია" -#: pg_rewind.c:991 +#: pg_rewind.c:989 #, c-format msgid "backup label buffer too small" msgstr "მარქაფის ჭდის ბაფერი ძალიან პატარაა" -#: pg_rewind.c:1014 +#: pg_rewind.c:1012 #, c-format msgid "unexpected control file CRC" msgstr "კონტროლის ფაილის მოულოდნელი CRC" -#: pg_rewind.c:1026 +#: pg_rewind.c:1024 #, c-format msgid "unexpected control file size %d, expected %d" msgstr "საკონტროლო ფაილის არასწორი სიგრძე: %d. უნდა იყოს: %d" -#: pg_rewind.c:1036 +#: pg_rewind.c:1034 #, 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] "არასწორი WAL სეგმენტის ზომა კონტროლის ფაილში (%d ბაიტი)" msgstr[1] "არასწორი WAL სეგმენტის ზომა კონტროლის ფაილში (%d ბაიტი)" -#: pg_rewind.c:1040 +#: pg_rewind.c:1038 #, c-format msgid "The WAL segment size must be a power of two between 1 MB and 1 GB." msgstr "WAL სეგმენტის ზომა ორის ხარისხი უნდა იყოს, შუალედიდან 1მბ-1გბ." -#: pg_rewind.c:1077 pg_rewind.c:1145 +#: pg_rewind.c:1075 pg_rewind.c:1143 #, c-format msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"" msgstr "პროგრამა \"%s\" სჭირდება \"%s\"-ს, მაგრამ იგივე საქაღალდეში, სადაც \"%s\", ნაპოვნი არაა" -#: pg_rewind.c:1080 pg_rewind.c:1148 +#: pg_rewind.c:1078 pg_rewind.c:1146 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" msgstr "პროგრამა „%s“ ნაპოვნია „%s“-ის მიერ, მაგრამ ვერსია, იგივეა არაა, რაც %s" -#: pg_rewind.c:1109 +#: pg_rewind.c:1107 #, c-format -msgid "unable to read restore_command from target cluster" +msgid "could not read restore_command from target cluster" msgstr "სამიზნე კლასტერიდან restore_command-ის წაკითხვა შეუძლებელია" -#: pg_rewind.c:1114 +#: pg_rewind.c:1112 #, c-format msgid "\"restore_command\" is not set in the target cluster" msgstr "სამიზნე კლასტერში \"restore_command\" დაყენებული არაა" -#: pg_rewind.c:1152 +#: pg_rewind.c:1150 #, c-format msgid "executing \"%s\" for target server to complete crash recovery" msgstr "ავარიიდან სრულად აღდგენისთვის სამიზნე სერვერზე %s-ის შესრულდება" -#: pg_rewind.c:1190 +#: pg_rewind.c:1188 #, c-format msgid "postgres single-user mode in target cluster failed" msgstr "სამიზნე კლასტერში postgres-ის ერთმომხმარებლიანი რეჟიმის შეცდომა" -#: pg_rewind.c:1191 +#: pg_rewind.c:1189 #, c-format msgid "Command was: %s" msgstr "ბრძანება იყო: %s" diff --git a/src/bin/pg_rewind/po/ru.po b/src/bin/pg_rewind/po/ru.po index 8a705d2d1f0..7b2df3140d1 100644 --- a/src/bin/pg_rewind/po/ru.po +++ b/src/bin/pg_rewind/po/ru.po @@ -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. -# Alexander Lakhin , 2015-2017, 2018, 2019, 2020, 2021, 2022, 2023. +# Alexander Lakhin , 2015-2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024. msgid "" msgstr "" "Project-Id-Version: pg_rewind (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-05-04 10:36+0300\n" -"PO-Revision-Date: 2023-08-30 15:22+0300\n" +"POT-Creation-Date: 2024-09-02 09:29+0300\n" +"PO-Revision-Date: 2024-09-07 13:07+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" @@ -37,6 +37,65 @@ msgstr "подробности: " msgid "hint: " msgstr "подсказка: " +#: ../../common/controldata_utils.c:97 file_ops.c:326 file_ops.c:330 +#, c-format +msgid "could not open file \"%s\" for reading: %m" +msgstr "не удалось открыть файл \"%s\" для чтения: %m" + +#: ../../common/controldata_utils.c:110 file_ops.c:341 local_source.c:104 +#: local_source.c:163 parsexlog.c:350 +#, c-format +msgid "could not read file \"%s\": %m" +msgstr "не удалось прочитать файл \"%s\": %m" + +#: ../../common/controldata_utils.c:119 file_ops.c:344 parsexlog.c:352 +#, c-format +msgid "could not read file \"%s\": read %d of %zu" +msgstr "не удалось прочитать файл \"%s\" (прочитано байт: %d из %zu)" + +#: ../../common/controldata_utils.c:132 ../../common/controldata_utils.c:280 +#: local_source.c:121 local_source.c:172 +#, 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 ../../fe_utils/recovery_gen.c:140 +#: parsexlog.c:312 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "не удалось открыть файл \"%s\": %m" + +#: ../../common/controldata_utils.c:249 file_ops.c:117 +#, 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\": %m" + #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 #: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 #, c-format @@ -48,6 +107,38 @@ msgstr "нехватка памяти\n" msgid "cannot duplicate null pointer (internal error)\n" msgstr "попытка дублирования нулевого указателя (внутренняя ошибка)\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 +#: ../../fe_utils/archive.c:86 file_ops.c:417 +#, c-format +msgid "could not stat file \"%s\": %m" +msgstr "не удалось получить информацию о файле \"%s\": %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 file_ops.c:388 +#, c-format +msgid "could not open directory \"%s\": %m" +msgstr "не удалось открыть каталог \"%s\": %m" + +#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 file_ops.c:462 +#, 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/percentrepl.c:79 ../../common/percentrepl.c:118 #, c-format msgid "invalid value for parameter \"%s\": \"%s\"" @@ -103,43 +194,61 @@ msgstr "неподходящий размер файла \"%s\": %lld вмест msgid "could not open file \"%s\" restored from archive: %m" msgstr "не удалось открыть файл \"%s\", восстановленный из архива: %m" -#: ../../fe_utils/archive.c:86 file_ops.c:417 -#, c-format -msgid "could not stat file \"%s\": %m" -msgstr "не удалось получить информацию о файле \"%s\": %m" - #: ../../fe_utils/archive.c:98 #, c-format -msgid "restore_command failed: %s" -msgstr "ошибка при выполнении restore_command: %s" +msgid "\"restore_command\" failed: %s" +msgstr "ошибка при выполнении \"restore_command\": %s" #: ../../fe_utils/archive.c:105 #, c-format msgid "could not restore file \"%s\" from archive" msgstr "восстановить файл \"%s\" из архива не удалось" -#: ../../fe_utils/recovery_gen.c:34 ../../fe_utils/recovery_gen.c:45 -#: ../../fe_utils/recovery_gen.c:70 ../../fe_utils/recovery_gen.c:90 -#: ../../fe_utils/recovery_gen.c:149 +#: ../../fe_utils/option_utils.c:69 #, c-format -msgid "out of memory" -msgstr "нехватка памяти" +msgid "invalid value \"%s\" for option %s" +msgstr "неверное значение \"%s\" для параметра %s" -#: ../../fe_utils/recovery_gen.c:121 parsexlog.c:312 +#: ../../fe_utils/option_utils.c:76 #, c-format -msgid "could not open file \"%s\": %m" -msgstr "не удалось открыть файл \"%s\": %m" +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" + +#: ../../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 +#, c-format +msgid "out of memory" +msgstr "нехватка памяти" -#: ../../fe_utils/recovery_gen.c:124 +#: ../../fe_utils/recovery_gen.c:143 #, c-format msgid "could not write to file \"%s\": %m" msgstr "не удалось записать в файл \"%s\": %m" -#: ../../fe_utils/recovery_gen.c:133 +#: ../../fe_utils/recovery_gen.c:152 #, c-format msgid "could not create file \"%s\": %m" msgstr "не удалось создать файл \"%s\": %m" +#: ../../fe_utils/string_utils.c:434 +#, c-format +msgid "shell command argument contains a newline or carriage return: \"%s\"\n" +msgstr "" +"аргумент команды оболочки содержит символ новой строки или перевода каретки: " +"\"%s\"\n" + +#: ../../fe_utils/string_utils.c:607 +#, c-format +msgid "database name contains a newline or carriage return: \"%s\"\n" +msgstr "" +"имя базы данных содержит символ новой строки или перевода каретки: \"%s\"\n" + #: file_ops.c:67 #, c-format msgid "could not open target file \"%s\": %m" @@ -155,11 +264,6 @@ msgstr "не удалось закрыть целевой файл \"%s\": %m" msgid "could not seek in target file \"%s\": %m" msgstr "не удалось переместиться в целевом файле \"%s\": %m" -#: file_ops.c:117 -#, c-format -msgid "could not write file \"%s\": %m" -msgstr "не удалось записать файл \"%s\": %m" - #: file_ops.c:150 file_ops.c:177 #, c-format msgid "undefined file type for \"%s\"" @@ -205,26 +309,6 @@ msgstr "не удалось создать символическую ссылк msgid "could not remove symbolic link \"%s\": %m" msgstr "ошибка при удалении символической ссылки \"%s\": %m" -#: file_ops.c:326 file_ops.c:330 -#, c-format -msgid "could not open file \"%s\" for reading: %m" -msgstr "не удалось открыть файл \"%s\" для чтения: %m" - -#: file_ops.c:341 local_source.c:104 local_source.c:163 parsexlog.c:350 -#, c-format -msgid "could not read file \"%s\": %m" -msgstr "не удалось прочитать файл \"%s\": %m" - -#: file_ops.c:344 parsexlog.c:352 -#, c-format -msgid "could not read file \"%s\": read %d of %zu" -msgstr "не удалось прочитать файл \"%s\" (прочитано байт: %d из %zu)" - -#: file_ops.c:388 -#, c-format -msgid "could not open directory \"%s\": %m" -msgstr "не удалось открыть каталог \"%s\": %m" - #: file_ops.c:441 #, c-format msgid "could not read symbolic link \"%s\": %m" @@ -235,118 +319,113 @@ msgstr "не удалось прочитать символическую ссы msgid "symbolic link \"%s\" target is too long" msgstr "целевой путь символической ссылки \"%s\" слишком длинный" -#: file_ops.c:462 -#, c-format -msgid "could not read directory \"%s\": %m" -msgstr "не удалось прочитать каталог \"%s\": %m" - #: file_ops.c:466 #, c-format msgid "could not close directory \"%s\": %m" msgstr "не удалось закрыть каталог \"%s\": %m" -#: filemap.c:236 +#: filemap.c:235 #, c-format msgid "data file \"%s\" in source is not a regular file" msgstr "файл данных \"%s\" в источнике не является обычным файлом" -#: filemap.c:241 filemap.c:274 +#: filemap.c:240 filemap.c:273 #, c-format msgid "duplicate source file \"%s\"" msgstr "повторный исходный файл \"%s\"" -#: filemap.c:329 +#: filemap.c:328 #, c-format msgid "unexpected page modification for non-regular file \"%s\"" msgstr "неожиданная модификация страницы для файла особого вида \"%s\"" -#: filemap.c:683 filemap.c:777 +#: filemap.c:682 filemap.c:776 #, c-format msgid "unknown file type for \"%s\"" msgstr "неизвестный тип файла \"%s\"" -#: filemap.c:710 +#: filemap.c:709 #, c-format msgid "file \"%s\" is of different type in source and target" msgstr "файл \"%s\" имеет разный тип в исходном и целевом кластере" -#: filemap.c:782 +#: filemap.c:781 #, c-format msgid "could not decide what to do with file \"%s\"" msgstr "не удалось определить, что делать с файлом \"%s\"" -#: libpq_source.c:130 +#: libpq_source.c:131 #, c-format -msgid "could not clear search_path: %s" -msgstr "не удалось очистить search_path: %s" +msgid "could not clear \"search_path\": %s" +msgstr "не удалось очистить \"search_path\": %s" -#: libpq_source.c:141 +#: libpq_source.c:142 #, c-format -msgid "full_page_writes must be enabled in the source server" -msgstr "на исходном сервере должен быть включён режим full_page_writes" +msgid "\"full_page_writes\" must be enabled in the source server" +msgstr "на исходном сервере должен быть включён режим \"full_page_writes\"" -#: libpq_source.c:152 +#: libpq_source.c:153 #, c-format msgid "could not prepare statement to fetch file contents: %s" msgstr "не удалось подготовить оператор для извлечения содержимого файла: %s" -#: libpq_source.c:171 +#: libpq_source.c:172 #, c-format msgid "error running query (%s) on source server: %s" msgstr "ошибка выполнения запроса (%s) на исходном сервере: %s" -#: libpq_source.c:176 +#: libpq_source.c:177 #, c-format msgid "unexpected result set from query" msgstr "неожиданный результат запроса" -#: libpq_source.c:198 +#: libpq_source.c:199 #, c-format msgid "error running query (%s) in source server: %s" msgstr "ошибка выполнения запроса (%s) на исходном сервере: %s" -#: libpq_source.c:219 +#: libpq_source.c:220 #, c-format msgid "unrecognized result \"%s\" for current WAL insert location" msgstr "" "нераспознанный результат \"%s\" вместо текущей позиции добавления в WAL" -#: libpq_source.c:270 +#: libpq_source.c:271 #, c-format msgid "could not fetch file list: %s" msgstr "не удалось получить список файлов: %s" -#: libpq_source.c:275 +#: libpq_source.c:276 #, c-format msgid "unexpected result set while fetching file list" msgstr "неожиданный результат при получении списка файлов" -#: libpq_source.c:467 +#: libpq_source.c:477 #, c-format msgid "could not send query: %s" msgstr "не удалось отправить запрос: %s" -#: libpq_source.c:470 +#: libpq_source.c:480 #, c-format msgid "could not set libpq connection to single row mode" msgstr "не удалось перевести подключение libpq в однострочный режим" -#: libpq_source.c:500 +#: libpq_source.c:510 #, c-format msgid "unexpected result while fetching remote files: %s" msgstr "неожиданный результат при получении файлов с сервера: %s" -#: libpq_source.c:505 +#: libpq_source.c:515 #, c-format msgid "received more data chunks than requested" msgstr "получено больше сегментов данных, чем запрошено" -#: libpq_source.c:509 +#: libpq_source.c:519 #, c-format msgid "unexpected result set size while fetching remote files" msgstr "неожиданный размер набора результатов при получении файлов с сервера" -#: libpq_source.c:515 +#: libpq_source.c:525 #, c-format msgid "" "unexpected data types in result set while fetching remote files: %u %u %u" @@ -354,27 +433,27 @@ msgstr "" "неожиданные типы данных в наборе результатов при получении файлов с сервера: " "%u %u %u" -#: libpq_source.c:523 +#: libpq_source.c:533 #, c-format msgid "unexpected result format while fetching remote files" msgstr "неожиданный формат результата при получении файлов с сервера" -#: libpq_source.c:529 +#: libpq_source.c:539 #, c-format msgid "unexpected null values in result while fetching remote files" msgstr "неожиданные значения NULL в результате при получении файлов с сервера" -#: libpq_source.c:533 +#: libpq_source.c:543 #, c-format msgid "unexpected result length while fetching remote files" msgstr "неожиданная длина результата при получении файлов с сервера" -#: libpq_source.c:566 +#: libpq_source.c:576 #, c-format msgid "received data for file \"%s\", when requested for \"%s\"" msgstr "получены данные для файла \"%s\", а запрашивались данные для \"%s\"" -#: libpq_source.c:570 +#: libpq_source.c:580 #, c-format msgid "" "received data at offset %lld of file \"%s\", when requested for offset %lld" @@ -382,22 +461,22 @@ msgstr "" "получены данные по смещению %lld в файле \"%s\", а запрашивались по смещению " "%lld" -#: libpq_source.c:582 +#: libpq_source.c:592 #, c-format msgid "received more than requested for file \"%s\"" msgstr "получено больше данных, чем запрошено для файла \"%s\"" -#: libpq_source.c:595 +#: libpq_source.c:605 #, c-format msgid "unexpected number of data chunks received" msgstr "получено неожиданное количество сегментов данных" -#: libpq_source.c:638 +#: libpq_source.c:648 #, c-format msgid "could not fetch remote file \"%s\": %s" msgstr "не удалось получить с сервера файл \"%s\": %s" -#: libpq_source.c:643 +#: libpq_source.c:653 #, c-format msgid "unexpected result set while fetching remote file \"%s\"" msgstr "неожиданный набор результатов при получении файла \"%s\" с сервера" @@ -414,11 +493,6 @@ msgid "" msgstr "" "размер исходного файла \"%s\" изменился, ожидалось байт: %d, скопировано: %d" -#: local_source.c:121 local_source.c:172 -#, c-format -msgid "could not close file \"%s\": %m" -msgstr "не удалось закрыть файл \"%s\": %m" - #: local_source.c:146 #, c-format msgid "could not seek in source file: %m" @@ -474,7 +548,7 @@ msgstr "" "Запись WAL модифицирует отношение, но тип записи не распознан: lsn: %X/%X, " "rmid: %d, rmgr: %s, info: %02X" -#: pg_rewind.c:92 +#: pg_rewind.c:94 #, c-format msgid "" "%s resynchronizes a PostgreSQL cluster with another copy of the cluster.\n" @@ -483,7 +557,7 @@ msgstr "" "%s синхронизирует кластер PostgreSQL с другой копией кластера.\n" "\n" -#: pg_rewind.c:93 +#: pg_rewind.c:95 #, c-format msgid "" "Usage:\n" @@ -494,30 +568,31 @@ msgstr "" " %s [ПАРАМЕТР]...\n" "\n" -#: pg_rewind.c:94 +#: pg_rewind.c:96 #, c-format msgid "Options:\n" msgstr "Параметры:\n" -#: pg_rewind.c:95 +#: pg_rewind.c:97 #, c-format msgid "" -" -c, --restore-target-wal use restore_command in target configuration " -"to\n" +" -c, --restore-target-wal use \"restore_command\" in target " +"configuration to\n" " retrieve WAL files from archives\n" msgstr "" " -c, --restore-target-wal использовать для получения файлов WAL из\n" -" архива команду restore_command из целевой\n" +" архивов команду \"restore_command\" из " +"целевой\n" " конфигурации\n" -#: pg_rewind.c:97 +#: pg_rewind.c:99 #, c-format msgid " -D, --target-pgdata=DIRECTORY existing data directory to modify\n" msgstr "" " -D, --target-pgdata=КАТАЛОГ существующий каталог, куда будут записаны " "данные\n" -#: pg_rewind.c:98 +#: pg_rewind.c:100 #, c-format msgid "" " --source-pgdata=DIRECTORY source data directory to synchronize with\n" @@ -526,21 +601,21 @@ msgstr "" "синхронизация\n" # well-spelled: ПОДКЛ -#: pg_rewind.c:99 +#: pg_rewind.c:101 #, c-format msgid " --source-server=CONNSTR source server to synchronize with\n" msgstr "" " --source-server=СТР_ПОДКЛ сервер, с которым будет проведена " "синхронизация\n" -#: pg_rewind.c:100 +#: pg_rewind.c:102 #, c-format msgid " -n, --dry-run stop before modifying anything\n" msgstr "" " -n, --dry-run остановиться до внесения каких-либо " "изменений\n" -#: pg_rewind.c:101 +#: pg_rewind.c:103 #, c-format msgid "" " -N, --no-sync do not wait for changes to be written\n" @@ -549,12 +624,12 @@ msgstr "" " -N, --no-sync не ждать завершения сохранения данных на " "диске\n" -#: pg_rewind.c:103 +#: pg_rewind.c:105 #, c-format msgid " -P, --progress write progress messages\n" msgstr " -P, --progress выводить сообщения о ходе процесса\n" -#: pg_rewind.c:104 +#: pg_rewind.c:106 #, c-format msgid "" " -R, --write-recovery-conf write configuration for replication\n" @@ -563,7 +638,7 @@ msgstr "" " -R, --write-recovery-conf записать конфигурацию для репликации\n" " (требуется указание --source-server)\n" -#: pg_rewind.c:106 +#: pg_rewind.c:108 #, c-format msgid "" " --config-file=FILENAME use specified main server configuration\n" @@ -573,13 +648,13 @@ msgstr "" " конфигурации сервера при запуске целевого\n" " кластера\n" -#: pg_rewind.c:108 +#: pg_rewind.c:110 #, c-format msgid " --debug write a lot of debug messages\n" msgstr "" " --debug выдавать множество отладочных сообщений\n" -#: pg_rewind.c:109 +#: pg_rewind.c:111 #, c-format msgid "" " --no-ensure-shutdown do not automatically fix unclean shutdown\n" @@ -587,18 +662,23 @@ msgstr "" " --no-ensure-shutdown не исправлять автоматически состояние,\n" " возникающее при нештатном отключении\n" -#: pg_rewind.c:110 +#: pg_rewind.c:112 +#, c-format +msgid " --sync-method=METHOD set method for syncing files to disk\n" +msgstr " --sync-method=МЕТОД метод синхронизации файлов с ФС\n" + +#: pg_rewind.c:113 #, c-format msgid "" " -V, --version output version information, then exit\n" msgstr " -V, --version показать версию и выйти\n" -#: pg_rewind.c:111 +#: pg_rewind.c:114 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help показать эту справку и выйти\n" -#: pg_rewind.c:112 +#: pg_rewind.c:115 #, c-format msgid "" "\n" @@ -607,33 +687,33 @@ msgstr "" "\n" "Об ошибках сообщайте по адресу <%s>.\n" -#: pg_rewind.c:113 +#: pg_rewind.c:116 #, c-format msgid "%s home page: <%s>\n" msgstr "Домашняя страница %s: <%s>\n" -#: pg_rewind.c:223 pg_rewind.c:231 pg_rewind.c:238 pg_rewind.c:245 -#: pg_rewind.c:252 pg_rewind.c:260 +#: pg_rewind.c:232 pg_rewind.c:240 pg_rewind.c:247 pg_rewind.c:254 +#: pg_rewind.c:261 pg_rewind.c:269 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Для дополнительной информации попробуйте \"%s --help\"." -#: pg_rewind.c:230 +#: pg_rewind.c:239 #, c-format msgid "no source specified (--source-pgdata or --source-server)" msgstr "источник не указан (требуется --source-pgdata или --source-server)" -#: pg_rewind.c:237 +#: pg_rewind.c:246 #, c-format msgid "only one of --source-pgdata or --source-server can be specified" msgstr "указать можно только --source-pgdata либо --source-server" -#: pg_rewind.c:244 +#: pg_rewind.c:253 #, c-format msgid "no target data directory specified (--target-pgdata)" msgstr "целевой каталог данных не указан (--target-pgdata)" -#: pg_rewind.c:251 +#: pg_rewind.c:260 #, c-format msgid "" "no source server information (--source-server) specified for --write-" @@ -642,119 +722,119 @@ msgstr "" "отсутствует информация об исходном сервере (--source-server) для --write-" "recovery-conf" -#: pg_rewind.c:258 +#: pg_rewind.c:267 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "слишком много аргументов командной строки (первый: \"%s\")" -#: pg_rewind.c:273 +#: pg_rewind.c:282 #, c-format msgid "cannot be executed by \"root\"" msgstr "программу не должен запускать root" -#: pg_rewind.c:274 +#: pg_rewind.c:283 #, c-format msgid "You must run %s as the PostgreSQL superuser." msgstr "Запускать %s нужно от имени суперпользователя PostgreSQL." -#: pg_rewind.c:284 +#: pg_rewind.c:293 #, c-format msgid "could not read permissions of directory \"%s\": %m" -msgstr "не удалось считать права на каталог \"%s\": %m" +msgstr "не удалось прочитать права на каталог \"%s\": %m" -#: pg_rewind.c:302 +#: pg_rewind.c:311 #, c-format msgid "%s" msgstr "%s" -#: pg_rewind.c:305 +#: pg_rewind.c:314 #, c-format msgid "connected to server" msgstr "подключение к серверу установлено" -#: pg_rewind.c:366 +#: pg_rewind.c:375 #, c-format msgid "source and target cluster are on the same timeline" msgstr "исходный и целевой кластер уже на одной линии времени" -#: pg_rewind.c:387 +#: pg_rewind.c:396 #, c-format msgid "servers diverged at WAL location %X/%X on timeline %u" msgstr "серверы разошлись в позиции WAL %X/%X на линии времени %u" -#: pg_rewind.c:442 +#: pg_rewind.c:451 #, c-format msgid "no rewind required" msgstr "перемотка не требуется" -#: pg_rewind.c:451 +#: pg_rewind.c:460 #, c-format msgid "rewinding from last common checkpoint at %X/%X on timeline %u" msgstr "" "перемотка от последней общей контрольной точки в позиции %X/%X на линии " "времени %u" -#: pg_rewind.c:461 +#: pg_rewind.c:470 #, c-format msgid "reading source file list" msgstr "чтение списка исходных файлов" -#: pg_rewind.c:465 +#: pg_rewind.c:474 #, c-format msgid "reading target file list" msgstr "чтение списка целевых файлов" -#: pg_rewind.c:474 +#: pg_rewind.c:483 #, c-format msgid "reading WAL in target" msgstr "чтение WAL в целевом кластере" -#: pg_rewind.c:495 +#: pg_rewind.c:504 #, c-format msgid "need to copy %lu MB (total source directory size is %lu MB)" msgstr "требуется скопировать %lu МБ (общий размер исходного каталога: %lu МБ)" -#: pg_rewind.c:513 +#: pg_rewind.c:522 #, c-format msgid "syncing target data directory" msgstr "синхронизация целевого каталога данных" -#: pg_rewind.c:529 +#: pg_rewind.c:538 #, c-format msgid "Done!" msgstr "Готово!" -#: pg_rewind.c:609 +#: pg_rewind.c:618 #, c-format msgid "no action decided for file \"%s\"" msgstr "действие не определено для файла \"%s\"" -#: pg_rewind.c:641 +#: pg_rewind.c:650 #, c-format msgid "source system was modified while pg_rewind was running" msgstr "в исходной системе произошли изменения в процессе работы pg_rewind" -#: pg_rewind.c:645 +#: pg_rewind.c:654 #, c-format msgid "creating backup label and updating control file" msgstr "создание метки копии и модификация управляющего файла" -#: pg_rewind.c:695 +#: pg_rewind.c:704 #, c-format msgid "source system was in unexpected state at end of rewind" msgstr "исходная система оказалась в неожиданном состоянии после перемотки" -#: pg_rewind.c:727 +#: pg_rewind.c:736 #, c-format msgid "source and target clusters are from different systems" msgstr "исходный и целевой кластеры относятся к разным системам" -#: pg_rewind.c:735 +#: pg_rewind.c:744 #, c-format msgid "clusters are not compatible with this version of pg_rewind" msgstr "кластеры несовместимы с этой версией pg_rewind" -#: pg_rewind.c:745 +#: pg_rewind.c:754 #, c-format msgid "" "target server needs to use either data checksums or \"wal_log_hints = on\"" @@ -762,191 +842,192 @@ msgstr "" "на целевом сервере должны быть контрольные суммы данных или \"wal_log_hints " "= on\"" -#: pg_rewind.c:756 +#: pg_rewind.c:765 #, c-format msgid "target server must be shut down cleanly" msgstr "целевой сервер должен быть выключен штатно" -#: pg_rewind.c:766 +#: pg_rewind.c:775 #, c-format msgid "source data directory must be shut down cleanly" msgstr "работа с исходным каталогом данных должна быть завершена штатно" -#: pg_rewind.c:813 +#: pg_rewind.c:822 #, c-format msgid "%*s/%s kB (%d%%) copied" msgstr "%*s/%s КБ (%d%%) скопировано" -#: pg_rewind.c:941 +#: pg_rewind.c:948 #, c-format msgid "" "could not find common ancestor of the source and target cluster's timelines" msgstr "" "не удалось найти общего предка линий времени исходного и целевого кластеров" -#: pg_rewind.c:982 +#: pg_rewind.c:989 #, c-format msgid "backup label buffer too small" msgstr "буфер для метки копии слишком мал" -#: pg_rewind.c:1005 +#: pg_rewind.c:1012 #, c-format msgid "unexpected control file CRC" msgstr "неверная контрольная сумма управляющего файла" -#: pg_rewind.c:1017 +#: pg_rewind.c:1024 #, c-format msgid "unexpected control file size %d, expected %d" msgstr "неверный размер управляющего файла (%d), ожидалось: %d" -#: pg_rewind.c:1026 +#: pg_rewind.c:1034 #, c-format -msgid "" -"WAL segment size must be a power of two between 1 MB and 1 GB, but the " -"control file specifies %d byte" -msgid_plural "" -"WAL segment size must be a power of two between 1 MB and 1 GB, but the " -"control file specifies %d bytes" -msgstr[0] "" -"размер сегмента WAL должен задаваться степенью 2 в интервале от 1 МБ до 1 " -"ГБ, но в управляющем файле указано значение: %d" -msgstr[1] "" -"Размер сегмента WAL должен задаваться степенью 2 в интервале от 1 МБ до 1 " -"ГБ, но в управляющем файле указано значение: %d" -msgstr[2] "" -"Размер сегмента WAL должен задаваться степенью 2 в интервале от 1 МБ до 1 " -"ГБ, но в управляющем файле указано значение: %d" - -#: pg_rewind.c:1065 pg_rewind.c:1135 +msgid "invalid WAL segment size in control file (%d byte)" +msgid_plural "invalid WAL segment size in control file (%d bytes)" +msgstr[0] "управляющий файл содержит неверный размер сегмента WAL (%d Б)" +msgstr[1] "управляющий файл содержит неверный размер сегмента WAL (%d Б)" +msgstr[2] "управляющий файл содержит неверный размер сегмента WAL (%d Б)" + +#: pg_rewind.c:1038 +#, c-format +msgid "The WAL segment size must be a power of two between 1 MB and 1 GB." +msgstr "" +"Размер сегмента WAL должен задаваться степенью 2 в интервале от 1 МБ до 1 ГБ." + +#: pg_rewind.c:1075 pg_rewind.c:1143 #, c-format msgid "" "program \"%s\" is needed by %s but was not found in the same directory as " "\"%s\"" msgstr "программа \"%s\" нужна для %s, но она не найдена в каталоге \"%s\"" -#: pg_rewind.c:1068 pg_rewind.c:1138 +#: pg_rewind.c:1078 pg_rewind.c:1146 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" msgstr "" "программа \"%s\" найдена программой \"%s\", но её версия отличается от " "версии %s" -#: pg_rewind.c:1101 +#: pg_rewind.c:1107 +#, c-format +msgid "could not read restore_command from target cluster" +msgstr "не удалось прочитать параметр \"restore_command\" в целевом кластере" + +#: pg_rewind.c:1112 #, c-format -msgid "restore_command is not set in the target cluster" -msgstr "команда restore_command в целевом кластере не определена" +msgid "\"restore_command\" is not set in the target cluster" +msgstr "параметр \"restore_command\" в целевом кластере не определён" -#: pg_rewind.c:1142 +#: pg_rewind.c:1150 #, c-format msgid "executing \"%s\" for target server to complete crash recovery" msgstr "" "выполнение \"%s\" для восстановления согласованности на целевом сервере" -#: pg_rewind.c:1180 +#: pg_rewind.c:1188 #, c-format msgid "postgres single-user mode in target cluster failed" msgstr "" "не удалось запустить postgres в целевом кластере в однопользовательском " "режиме" -#: pg_rewind.c:1181 +#: pg_rewind.c:1189 #, c-format msgid "Command was: %s" msgstr "Выполнялась команда: %s" -#: timeline.c:75 timeline.c:81 +#: timeline.c:74 timeline.c:80 #, c-format msgid "syntax error in history file: %s" msgstr "синтаксическая ошибка в файле истории: %s" -#: timeline.c:76 +#: timeline.c:75 #, c-format msgid "Expected a numeric timeline ID." msgstr "Ожидается числовой идентификатор линии времени." -#: timeline.c:82 +#: timeline.c:81 #, c-format msgid "Expected a write-ahead log switchpoint location." msgstr "Ожидается положение точки переключения журнала предзаписи." -#: timeline.c:87 +#: timeline.c:86 #, c-format msgid "invalid data in history file: %s" msgstr "неверные данные в файле истории: %s" -#: timeline.c:88 +#: timeline.c:87 #, c-format msgid "Timeline IDs must be in increasing sequence." msgstr "Идентификаторы линий времени должны возрастать." -#: timeline.c:108 +#: timeline.c:107 #, c-format msgid "invalid data in history file" msgstr "неверные данные в файле истории" -#: timeline.c:109 +#: timeline.c:108 #, c-format msgid "Timeline IDs must be less than child timeline's ID." msgstr "" "Идентификаторы линий времени должны быть меньше идентификатора линии-потомка." -#: xlogreader.c:621 +#: xlogreader.c:619 #, c-format msgid "invalid record offset at %X/%X: expected at least %u, got %u" msgstr "" "неверное смещение записи в позиции %X/%X: ожидалось минимум %u, получено %u" -#: xlogreader.c:630 +#: xlogreader.c:628 #, c-format msgid "contrecord is requested by %X/%X" msgstr "в позиции %X/%X запрошено продолжение записи" -#: xlogreader.c:671 xlogreader.c:1136 +#: xlogreader.c:669 xlogreader.c:1134 #, c-format msgid "invalid record length at %X/%X: expected at least %u, got %u" msgstr "" "неверная длина записи в позиции %X/%X: ожидалось минимум %u, получено %u" -#: xlogreader.c:760 +#: xlogreader.c:758 #, c-format msgid "there is no contrecord flag at %X/%X" msgstr "нет флага contrecord в позиции %X/%X" -#: xlogreader.c:773 +#: xlogreader.c:771 #, c-format msgid "invalid contrecord length %u (expected %lld) at %X/%X" msgstr "неверная длина contrecord: %u (ожидалась %lld) в позиции %X/%X" -#: xlogreader.c:1144 +#: xlogreader.c:1142 #, c-format msgid "invalid resource manager ID %u at %X/%X" msgstr "неверный ID менеджера ресурсов %u в позиции %X/%X" -#: xlogreader.c:1157 xlogreader.c:1173 +#: xlogreader.c:1155 xlogreader.c:1171 #, c-format msgid "record with incorrect prev-link %X/%X at %X/%X" msgstr "запись с неверной ссылкой назад %X/%X в позиции %X/%X" -#: xlogreader.c:1211 +#: xlogreader.c:1209 #, c-format msgid "incorrect resource manager data checksum in record at %X/%X" msgstr "" "некорректная контрольная сумма данных менеджера ресурсов в записи в позиции " "%X/%X" -#: xlogreader.c:1245 +#: xlogreader.c:1243 #, c-format msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u" msgstr "" "неверное магическое число %04X в сегменте WAL %s, LSN %X/%X, смещение %u" -#: xlogreader.c:1260 xlogreader.c:1302 +#: xlogreader.c:1258 xlogreader.c:1300 #, c-format msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u" msgstr "" "неверные информационные биты %04X в сегменте WAL %s, LSN %X/%X, смещение %u" -#: xlogreader.c:1276 +#: xlogreader.c:1274 #, c-format msgid "" "WAL file is from different database system: WAL file database system " @@ -955,7 +1036,7 @@ msgstr "" "файл WAL принадлежит другой СУБД: в нём указан идентификатор системы БД " "%llu, а идентификатор системы pg_control: %llu" -#: xlogreader.c:1284 +#: xlogreader.c:1282 #, c-format msgid "" "WAL file is from different database system: incorrect segment size in page " @@ -964,7 +1045,7 @@ msgstr "" "файл WAL принадлежит другой СУБД: некорректный размер сегмента в заголовке " "страницы" -#: xlogreader.c:1290 +#: xlogreader.c:1288 #, c-format msgid "" "WAL file is from different database system: incorrect XLOG_BLCKSZ in page " @@ -973,12 +1054,12 @@ msgstr "" "файл WAL принадлежит другой СУБД: некорректный XLOG_BLCKSZ в заголовке " "страницы" -#: xlogreader.c:1322 +#: xlogreader.c:1320 #, 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" -#: xlogreader.c:1348 +#: xlogreader.c:1346 #, c-format msgid "" "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, " @@ -987,23 +1068,23 @@ msgstr "" "нарушение последовательности ID линии времени %u (после %u) в сегменте WAL " "%s, LSN %X/%X, смещение %u" -#: xlogreader.c:1754 +#: xlogreader.c:1749 #, c-format msgid "out-of-order block_id %u at %X/%X" msgstr "идентификатор блока %u идёт не по порядку в позиции %X/%X" -#: xlogreader.c:1778 +#: xlogreader.c:1773 #, c-format msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X" msgstr "BKPBLOCK_HAS_DATA установлен, но данных в позиции %X/%X нет" -#: xlogreader.c:1785 +#: xlogreader.c:1780 #, c-format msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X" msgstr "" "BKPBLOCK_HAS_DATA не установлен, но длина данных равна %u в позиции %X/%X" -#: xlogreader.c:1821 +#: xlogreader.c:1816 #, c-format msgid "" "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at " @@ -1012,21 +1093,21 @@ msgstr "" "BKPIMAGE_HAS_HOLE установлен, но для пропуска заданы смещение %u и длина %u " "при длине образа блока %u в позиции %X/%X" -#: xlogreader.c:1837 +#: xlogreader.c:1832 #, c-format msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X" msgstr "" "BKPIMAGE_HAS_HOLE не установлен, но для пропуска заданы смещение %u и длина " "%u в позиции %X/%X" -#: xlogreader.c:1851 +#: xlogreader.c:1846 #, c-format msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X" msgstr "" "BKPIMAGE_COMPRESSED установлен, но длина образа блока равна %u в позиции %X/" "%X" -#: xlogreader.c:1866 +#: xlogreader.c:1861 #, c-format msgid "" "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image " @@ -1035,41 +1116,41 @@ msgstr "" "ни BKPIMAGE_HAS_HOLE, ни BKPIMAGE_COMPRESSED не установлены, но длина образа " "блока равна %u в позиции %X/%X" -#: xlogreader.c:1882 +#: xlogreader.c:1877 #, c-format msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X" msgstr "" "BKPBLOCK_SAME_REL установлен, но предыдущее значение не задано в позиции %X/" "%X" -#: xlogreader.c:1894 +#: xlogreader.c:1889 #, c-format msgid "invalid block_id %u at %X/%X" msgstr "неверный идентификатор блока %u в позиции %X/%X" -#: xlogreader.c:1961 +#: xlogreader.c:1956 #, c-format msgid "record with invalid length at %X/%X" msgstr "запись с неверной длиной в позиции %X/%X" -#: xlogreader.c:1987 +#: xlogreader.c:1982 #, c-format msgid "could not locate backup block with ID %d in WAL record" msgstr "не удалось найти копию блока с ID %d в записи журнала WAL" -#: xlogreader.c:2071 +#: xlogreader.c:2066 #, c-format msgid "could not restore image at %X/%X with invalid block %d specified" msgstr "" "не удалось восстановить образ в позиции %X/%X с указанным неверным блоком %d" -#: xlogreader.c:2078 +#: xlogreader.c:2073 #, c-format msgid "could not restore image at %X/%X with invalid state, block %d" msgstr "" "не удалось восстановить образ в позиции %X/%X с неверным состоянием, блок %d" -#: xlogreader.c:2105 xlogreader.c:2122 +#: xlogreader.c:2100 xlogreader.c:2117 #, c-format msgid "" "could not restore image at %X/%X compressed with %s not supported by build, " @@ -1078,7 +1159,7 @@ msgstr "" "не удалось восстановить образ в позиции %X/%X, сжатый методом %s, который не " "поддерживается этой сборкой, блок %d" -#: xlogreader.c:2131 +#: xlogreader.c:2126 #, c-format msgid "" "could not restore image at %X/%X compressed with unknown method, block %d" @@ -1086,7 +1167,7 @@ msgstr "" "не удалось восстановить образ в позиции %X/%X, сжатый неизвестным методом, " "блок %d" -#: xlogreader.c:2139 +#: xlogreader.c:2134 #, c-format msgid "could not decompress image at %X/%X, block %d" msgstr "не удалось развернуть образ в позиции %X/%X, блок %d" diff --git a/src/bin/pg_rewind/po/sv.po b/src/bin/pg_rewind/po/sv.po index 7826919eba4..7894e029f20 100644 --- a/src/bin/pg_rewind/po/sv.po +++ b/src/bin/pg_rewind/po/sv.po @@ -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. +# Dennis Björklund , 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024. # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 16\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-08-02 03:21+0000\n" -"PO-Revision-Date: 2023-09-05 09:02+0200\n" +"POT-Creation-Date: 2024-08-27 15:53+0000\n" +"PO-Revision-Date: 2024-08-27 18:32+0200\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -37,6 +37,64 @@ msgstr "detalj: " msgid "hint: " msgstr "tips: " +#: ../../common/controldata_utils.c:97 file_ops.c:326 file_ops.c:330 +#, 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 +#, 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 +#, c-format +msgid "could not read file \"%s\": read %d of %zu" +msgstr "kunde inte läsa fil \"%s\": läste %d av %zu" + +#: ../../common/controldata_utils.c:132 ../../common/controldata_utils.c:280 +#: local_source.c:121 local_source.c:172 +#, c-format +msgid "could not close file \"%s\": %m" +msgstr "kunde inte stänga fil \"%s\": %m" + +#: ../../common/controldata_utils.c:168 +msgid "byte ordering mismatch" +msgstr "byte-ordning stämmer inte" + +#: ../../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 "" +"möjligt fel i byteordning\n" +"Den byteordning som filen från pg_control lagrats med passar kanske\n" +"inte detta program. I så fall kan nedanstående resultat vara felaktiga\n" +"och PostgreSQL-installationen vara inkompatibel med databaskatalogen." + +#: ../../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 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "kunde inte öppna fil \"%s\": %m" + +#: ../../common/controldata_utils.c:249 file_ops.c:117 +#, c-format +msgid "could not write file \"%s\": %m" +msgstr "kunde inte skriva fil \"%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 "kunde inte fsync:a fil \"%s\": %m" + #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 #: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 #, c-format @@ -48,6 +106,38 @@ msgstr "slut på minne\n" msgid "cannot duplicate null pointer (internal error)\n" msgstr "kan inte duplicera null-pekare (internt fel)\n" +#: ../../common/file_utils.c:76 +#, c-format +msgid "could not synchronize file system for file \"%s\": %m" +msgstr "kan inte synkronisera filsystemet för fil \"%s\": %m" + +#: ../../common/file_utils.c:120 ../../common/file_utils.c:566 +#: ../../fe_utils/archive.c:86 file_ops.c:417 +#, c-format +msgid "could not stat file \"%s\": %m" +msgstr "kunde inte göra stat() på fil \"%s\": %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 "detta bygge stöder inte synkmetod \"%s\"" + +#: ../../common/file_utils.c:151 ../../common/file_utils.c:281 file_ops.c:388 +#, 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 file_ops.c:462 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "kunde inte läsa katalog \"%s\": %m" + +#: ../../common/file_utils.c:498 +#, c-format +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "kunde inte döpa om fil \"%s\" till \"%s\": %m" + #: ../../common/percentrepl.c:79 ../../common/percentrepl.c:118 #, c-format msgid "invalid value for parameter \"%s\": \"%s\"" @@ -103,43 +193,58 @@ msgstr "oväntad filstorlek på \"%s\": %lld istället för %lld" msgid "could not open file \"%s\" restored from archive: %m" msgstr "kunde inte öppna fil \"%s\" återställd från arkiv: %m" -#: ../../fe_utils/archive.c:86 file_ops.c:417 -#, c-format -msgid "could not stat file \"%s\": %m" -msgstr "kunde inte göra stat() på fil \"%s\": %m" - #: ../../fe_utils/archive.c:98 #, c-format -msgid "restore_command failed: %s" -msgstr "restore_command misslyckades: %s" +msgid "\"restore_command\" failed: %s" +msgstr "\"restore_command\" misslyckades: %s" #: ../../fe_utils/archive.c:105 #, c-format msgid "could not restore file \"%s\" from archive" msgstr "kunde inte återställa fil \"%s\" från arkiv" -#: ../../fe_utils/recovery_gen.c:34 ../../fe_utils/recovery_gen.c:45 -#: ../../fe_utils/recovery_gen.c:70 ../../fe_utils/recovery_gen.c:90 -#: ../../fe_utils/recovery_gen.c:149 +#: ../../fe_utils/option_utils.c:69 #, c-format -msgid "out of memory" -msgstr "slut på minne" +msgid "invalid value \"%s\" for option %s" +msgstr "ogiltigt värde \"%s\" för flaggan \"%s\"" -#: ../../fe_utils/recovery_gen.c:121 parsexlog.c:312 +#: ../../fe_utils/option_utils.c:76 #, c-format -msgid "could not open file \"%s\": %m" -msgstr "kunde inte öppna fil \"%s\": %m" +msgid "%s must be in range %d..%d" +msgstr "%s måste vara i intervallet %d..%d" + +#: ../../fe_utils/option_utils.c:106 +#, c-format +msgid "unrecognized sync method: %s" +msgstr "okänd synkmetod: %s" -#: ../../fe_utils/recovery_gen.c:124 +#: ../../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 +#, c-format +msgid "out of memory" +msgstr "slut på minne" + +#: ../../fe_utils/recovery_gen.c:143 #, c-format msgid "could not write to file \"%s\": %m" msgstr "kunde inte skriva till fil \"%s\": %m" -#: ../../fe_utils/recovery_gen.c:133 +#: ../../fe_utils/recovery_gen.c:152 #, c-format msgid "could not create file \"%s\": %m" msgstr "kunde inte skapa fil \"%s\": %m" +#: ../../fe_utils/string_utils.c:434 +#, 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 +#, c-format +msgid "database name contains a newline or carriage return: \"%s\"\n" +msgstr "databasnamnet innehåller nyrad eller vagnretur: \"%s\"\n" + #: file_ops.c:67 #, c-format msgid "could not open target file \"%s\": %m" @@ -155,11 +260,6 @@ msgstr "kunde inte stänga målfil \"%s\": %m" msgid "could not seek in target file \"%s\": %m" msgstr "kunde inte söka i målfil \"%s\": %m" -#: file_ops.c:117 -#, c-format -msgid "could not write file \"%s\": %m" -msgstr "kunde inte skriva fil \"%s\": %m" - #: file_ops.c:150 file_ops.c:177 #, c-format msgid "undefined file type for \"%s\"" @@ -205,26 +305,6 @@ msgstr "kunde inte skapa en symnbolisk länk vid \"%s\": %m" msgid "could not remove symbolic link \"%s\": %m" msgstr "kan inte ta bort symbolisk länk \"%s\": %m" -#: file_ops.c:326 file_ops.c:330 -#, c-format -msgid "could not open file \"%s\" for reading: %m" -msgstr "kunde inte öppna filen \"%s\" för läsning: %m" - -#: file_ops.c:341 local_source.c:104 local_source.c:163 parsexlog.c:350 -#, c-format -msgid "could not read file \"%s\": %m" -msgstr "kunde inte läsa fil \"%s\": %m" - -#: file_ops.c:344 parsexlog.c:352 -#, c-format -msgid "could not read file \"%s\": read %d of %zu" -msgstr "kunde inte läsa fil \"%s\": läste %d av %zu" - -#: file_ops.c:388 -#, c-format -msgid "could not open directory \"%s\": %m" -msgstr "kunde inte öppna katalog \"%s\": %m" - #: file_ops.c:441 #, c-format msgid "could not read symbolic link \"%s\": %m" @@ -235,162 +315,157 @@ msgstr "kan inte läsa symbolisk länk \"%s\": %m" msgid "symbolic link \"%s\" target is too long" msgstr "mål för symbolisk länk \"%s\" är för lång" -#: file_ops.c:462 -#, c-format -msgid "could not read directory \"%s\": %m" -msgstr "kunde inte läsa katalog \"%s\": %m" - #: file_ops.c:466 #, c-format msgid "could not close directory \"%s\": %m" msgstr "kunde inte stänga katalog \"%s\": %m" -#: filemap.c:236 +#: filemap.c:235 #, 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:241 filemap.c:274 +#: filemap.c:240 filemap.c:273 #, c-format msgid "duplicate source file \"%s\"" msgstr "duplicerad källflagga \"%s\"" -#: filemap.c:329 +#: filemap.c:328 #, c-format msgid "unexpected page modification for non-regular file \"%s\"" msgstr "oväntad sidmodifiering för icke-regulär fil \"%s\"" -#: filemap.c:679 filemap.c:773 +#: filemap.c:682 filemap.c:776 #, c-format msgid "unknown file type for \"%s\"" msgstr "okänd filtyp på \"%s\"" -#: filemap.c:706 +#: filemap.c:709 #, 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:778 +#: filemap.c:781 #, 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\"" -#: libpq_source.c:130 +#: libpq_source.c:131 #, c-format -msgid "could not clear search_path: %s" -msgstr "kunde inte nollställa search_path: %s" +msgid "could not clear \"search_path\": %s" +msgstr "kunde inte nollställa \"search_path\": %s" -#: libpq_source.c:141 +#: libpq_source.c:142 #, c-format -msgid "full_page_writes must be enabled in the source server" -msgstr "full_page_writes måste vara påslagen i källservern" +msgid "\"full_page_writes\" must be enabled in the source server" +msgstr "\"full_page_writes\" måste vara påslagen i källservern" -#: libpq_source.c:152 +#: libpq_source.c:153 #, c-format msgid "could not prepare statement to fetch file contents: %s" msgstr "kunde inte förbereda satsen för att hämta filinnehåll: %s" -#: libpq_source.c:171 +#: libpq_source.c:172 #, c-format msgid "error running query (%s) on source server: %s" msgstr "fel vid körande av fråga (%s) på källserver: %s" -#: libpq_source.c:176 +#: libpq_source.c:177 #, c-format msgid "unexpected result set from query" msgstr "oväntad resultatmängd från fråga" -#: libpq_source.c:198 +#: libpq_source.c:199 #, c-format msgid "error running query (%s) in source server: %s" msgstr "fel vid körande av fråga (%s) i källserver: %s" -#: libpq_source.c:219 +#: libpq_source.c:220 #, c-format msgid "unrecognized result \"%s\" for current WAL insert location" msgstr "oväntat resultat \"%s\" för nuvarande WAL-insättningsposition" -#: libpq_source.c:270 +#: libpq_source.c:271 #, c-format msgid "could not fetch file list: %s" msgstr "kunde inte hämta fillista: %s" -#: libpq_source.c:275 +#: libpq_source.c:276 #, c-format msgid "unexpected result set while fetching file list" msgstr "oväntad resultatmängd vid hämtning av fillista" -#: libpq_source.c:467 +#: libpq_source.c:477 #, c-format msgid "could not send query: %s" msgstr "kunde inte skicka fråga: %s" -#: libpq_source.c:470 +#: libpq_source.c:480 #, c-format msgid "could not set libpq connection to single row mode" msgstr "kunde inte sätta libpq-anslutning till enradsläge" -#: libpq_source.c:500 +#: libpq_source.c:510 #, c-format msgid "unexpected result while fetching remote files: %s" msgstr "oväntat resultat vid hämtning av extern fil: %s" -#: libpq_source.c:505 +#: libpq_source.c:515 #, c-format msgid "received more data chunks than requested" msgstr "tog emot fler datastycken än efterfrågat" -#: libpq_source.c:509 +#: libpq_source.c:519 #, c-format msgid "unexpected result set size while fetching remote files" msgstr "oväntad resultatmängdstorlek vid hämtning av externa filer" -#: libpq_source.c:515 +#: libpq_source.c:525 #, c-format msgid "unexpected data types in result set while fetching remote files: %u %u %u" msgstr "oväntade datayper i resultatmängd vid hämtning av externa filer: %u %u %u" -#: libpq_source.c:523 +#: libpq_source.c:533 #, c-format msgid "unexpected result format while fetching remote files" msgstr "oväntat resultatformat vid hämtning av externa filer" -#: libpq_source.c:529 +#: libpq_source.c:539 #, c-format msgid "unexpected null values in result while fetching remote files" msgstr "oväntade null-värden i resultat vid hämtning av externa filer" -#: libpq_source.c:533 +#: libpq_source.c:543 #, c-format msgid "unexpected result length while fetching remote files" msgstr "oväntad resultatlängd vid hämtning av externa filer" -#: libpq_source.c:566 +#: libpq_source.c:576 #, c-format msgid "received data for file \"%s\", when requested for \"%s\"" msgstr "fick data för filen \"%s\", men efterfrågade för \"%s\"" -#: libpq_source.c:570 +#: libpq_source.c:580 #, c-format msgid "received data at offset %lld of file \"%s\", when requested for offset %lld" msgstr "fick data från offset %lld i fil \"%s\", men efterfrågade offset %lld" -#: libpq_source.c:582 +#: libpq_source.c:592 #, c-format msgid "received more than requested for file \"%s\"" msgstr "tog emot mer än efterfrågat för filen \"%s\"" -#: libpq_source.c:595 +#: libpq_source.c:605 #, c-format msgid "unexpected number of data chunks received" msgstr "oväntat antal datastycken togs emot" -#: libpq_source.c:638 +#: libpq_source.c:648 #, c-format msgid "could not fetch remote file \"%s\": %s" msgstr "kunde inte hämta extern fil \"%s\": %s" -#: libpq_source.c:643 +#: libpq_source.c:653 #, c-format msgid "unexpected result set while fetching remote file \"%s\"" msgstr "oväntat resultatmängd vid hämtning av extern fil \"%s\"" @@ -405,11 +480,6 @@ msgstr "kunde inte öppna källfil \"%s\": %m" msgid "size of source file \"%s\" changed concurrently: %d bytes expected, %d copied" msgstr "storleken på källfilen \"%s\" ändrades under körning: %d byte förväntades, %d kopierades" -#: local_source.c:121 local_source.c:172 -#, c-format -msgid "could not close file \"%s\": %m" -msgstr "kunde inte stänga fil \"%s\": %m" - #: local_source.c:146 #, c-format msgid "could not seek in source file: %m" @@ -460,7 +530,7 @@ msgstr "kunde inte söka (seek) i fil \"%s\": %m" 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" -#: pg_rewind.c:92 +#: pg_rewind.c:94 #, c-format msgid "" "%s resynchronizes a PostgreSQL cluster with another copy of the cluster.\n" @@ -469,7 +539,7 @@ msgstr "" "%s resynkroniserar ett PostgreSQL-kluster med en annan kopia av klustret.\n" "\n" -#: pg_rewind.c:93 +#: pg_rewind.c:95 #, c-format msgid "" "Usage:\n" @@ -480,41 +550,41 @@ msgstr "" " %s [FLAGGA]...\n" "\n" -#: pg_rewind.c:94 +#: pg_rewind.c:96 #, c-format msgid "Options:\n" msgstr "Flaggor:\n" -#: pg_rewind.c:95 +#: pg_rewind.c:97 #, c-format msgid "" -" -c, --restore-target-wal use restore_command in target configuration to\n" +" -c, --restore-target-wal use \"restore_command\" in target configuration to\n" " retrieve WAL files from archives\n" msgstr "" -" -c, --restore-target-wal använd restore_command i målkonfigurationen\n" -" för att hämta WAL-filer från arkiv\n" +" -c, --restore-target-wal använd \"restore_command\" i målkonfigurationen\n" +" för att hämta WAL-filer från arkiven\n" -#: pg_rewind.c:97 +#: pg_rewind.c:99 #, c-format msgid " -D, --target-pgdata=DIRECTORY existing data directory to modify\n" msgstr " -D, --target-pgdata=KATALOG existerande datakatalog att modifiera\n" -#: pg_rewind.c:98 +#: pg_rewind.c:100 #, c-format msgid " --source-pgdata=DIRECTORY source data directory to synchronize with\n" msgstr " --source-pgdata=KATALOG källdatakatalog att synkronisera med\n" -#: pg_rewind.c:99 +#: pg_rewind.c:101 #, c-format msgid " --source-server=CONNSTR source server to synchronize with\n" msgstr " --source-server=ANSLSTR källserver att synkronisera med\n" -#: pg_rewind.c:100 +#: pg_rewind.c:102 #, c-format msgid " -n, --dry-run stop before modifying anything\n" msgstr " -n, --dry-run stoppa innan något modifieras\n" -#: pg_rewind.c:101 +#: pg_rewind.c:103 #, c-format msgid "" " -N, --no-sync do not wait for changes to be written\n" @@ -523,12 +593,12 @@ msgstr "" " -N, --no-sync vänta inte på att ändingar säkert\n" " skrivits till disk\n" -#: pg_rewind.c:103 +#: pg_rewind.c:105 #, c-format msgid " -P, --progress write progress messages\n" msgstr " -P, --progress skriv ut förloppmeddelanden\n" -#: pg_rewind.c:104 +#: pg_rewind.c:106 #, c-format msgid "" " -R, --write-recovery-conf write configuration for replication\n" @@ -537,7 +607,7 @@ msgstr "" " -R, --write-recovery-conf skriv konfiguration för replikering\n" " (kräver --source-server)\n" -#: pg_rewind.c:106 +#: pg_rewind.c:108 #, c-format msgid "" " --config-file=FILENAME use specified main server configuration\n" @@ -546,27 +616,32 @@ msgstr "" " --config-file=FILNAMN använd angiven serverkonfiguration när\n" " målklustret körs\n" -#: pg_rewind.c:108 +#: pg_rewind.c:110 #, c-format msgid " --debug write a lot of debug messages\n" msgstr " --debug skriv ut en massa debugmeddelanden\n" -#: pg_rewind.c:109 +#: pg_rewind.c:111 #, c-format msgid " --no-ensure-shutdown do not automatically fix unclean shutdown\n" msgstr " --no-ensure-shutdown ingen automatisk hantering av trasig nedstängning\n" -#: pg_rewind.c:110 +#: pg_rewind.c:112 +#, c-format +msgid " --sync-method=METHOD set method for syncing files to disk\n" +msgstr " --sync-method=METOD sätt synkmetod för att synka filer till disk\n" + +#: pg_rewind.c:113 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version skriv ut versioninformation och avsluta sedan\n" -#: pg_rewind.c:111 +#: pg_rewind.c:114 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help visa denna hjälp och avsluta sedan\n" -#: pg_rewind.c:112 +#: pg_rewind.c:115 #, c-format msgid "" "\n" @@ -575,448 +650,420 @@ msgstr "" "\n" "Rapportera fel till <%s>.\n" -#: pg_rewind.c:113 +#: pg_rewind.c:116 #, c-format msgid "%s home page: <%s>\n" msgstr "hemsida för %s: <%s>\n" -#: pg_rewind.c:223 pg_rewind.c:231 pg_rewind.c:238 pg_rewind.c:245 -#: pg_rewind.c:252 pg_rewind.c:260 +#: pg_rewind.c:232 pg_rewind.c:240 pg_rewind.c:247 pg_rewind.c:254 +#: pg_rewind.c:261 pg_rewind.c:269 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Försök med \"%s --help\" för mer information." -#: pg_rewind.c:230 +#: pg_rewind.c:239 #, c-format msgid "no source specified (--source-pgdata or --source-server)" msgstr "ingen källa angavs (--source-pgdata eller --source-server)" -#: pg_rewind.c:237 +#: pg_rewind.c:246 #, c-format msgid "only one of --source-pgdata or --source-server can be specified" msgstr "bara en av --source-pgdata och --source-server får anges" -#: pg_rewind.c:244 +#: pg_rewind.c:253 #, c-format msgid "no target data directory specified (--target-pgdata)" msgstr "ingen måldatakatalog angiven (--target-pgdata)" -#: pg_rewind.c:251 +#: pg_rewind.c:260 #, c-format msgid "no source server information (--source-server) specified for --write-recovery-conf" msgstr "ingen källserverinformation (--source-server) angiven för --write-recovery-conf" -#: pg_rewind.c:258 +#: pg_rewind.c:267 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "för många kommandoradsargument (första är \"%s\")" -#: pg_rewind.c:273 +#: pg_rewind.c:282 #, c-format msgid "cannot be executed by \"root\"" msgstr "kan inte köras av \"root\"" -#: pg_rewind.c:274 +#: pg_rewind.c:283 #, c-format msgid "You must run %s as the PostgreSQL superuser." msgstr "Du måste köra %s som PostgreSQL:s superuser." -#: pg_rewind.c:284 +#: pg_rewind.c:293 #, c-format msgid "could not read permissions of directory \"%s\": %m" msgstr "kunde inte läsa rättigheter på katalog \"%s\": %m" -#: pg_rewind.c:302 +#: pg_rewind.c:311 #, c-format msgid "%s" msgstr "%s" -#: pg_rewind.c:305 +#: pg_rewind.c:314 #, c-format msgid "connected to server" msgstr "ansluten till server" -#: pg_rewind.c:366 +#: pg_rewind.c:375 #, c-format msgid "source and target cluster are on the same timeline" msgstr "källa och målkluster är på samma tidslinje" -#: pg_rewind.c:387 +#: pg_rewind.c:396 #, c-format msgid "servers diverged at WAL location %X/%X on timeline %u" msgstr "servrarna divergerade vid WAL-position %X/%X på tidslinje %u" -#: pg_rewind.c:442 +#: pg_rewind.c:451 #, c-format msgid "no rewind required" msgstr "ingen rewind krävs" -#: pg_rewind.c:451 +#: pg_rewind.c:460 #, 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:461 +#: pg_rewind.c:470 #, c-format msgid "reading source file list" msgstr "läser källfillista" -#: pg_rewind.c:465 +#: pg_rewind.c:474 #, c-format msgid "reading target file list" msgstr "läser målfillista" -#: pg_rewind.c:474 +#: pg_rewind.c:483 #, c-format msgid "reading WAL in target" msgstr "läser WAL i målet" -#: pg_rewind.c:495 +#: pg_rewind.c:504 #, 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:513 +#: pg_rewind.c:522 #, c-format msgid "syncing target data directory" msgstr "synkar måldatakatalog" -#: pg_rewind.c:529 +#: pg_rewind.c:538 #, c-format msgid "Done!" msgstr "Klar!" -#: pg_rewind.c:609 +#: pg_rewind.c:618 #, c-format msgid "no action decided for file \"%s\"" msgstr "ingen åtgärd beslutades för filen \"%s\"" -#: pg_rewind.c:641 +#: pg_rewind.c:650 #, 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:645 +#: pg_rewind.c:654 #, c-format msgid "creating backup label and updating control file" msgstr "skapar backupetikett och uppdaterar kontrollfil" -#: pg_rewind.c:695 +#: pg_rewind.c:704 #, 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:727 +#: pg_rewind.c:736 #, 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:735 +#: pg_rewind.c:744 #, 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:745 +#: pg_rewind.c:754 #, 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:756 +#: pg_rewind.c:765 #, c-format msgid "target server must be shut down cleanly" msgstr "målserver måste stängas ner utan fel" -#: pg_rewind.c:766 +#: pg_rewind.c:775 #, c-format msgid "source data directory must be shut down cleanly" msgstr "måldatakatalog måste stängas ner utan fel" -#: pg_rewind.c:813 +#: pg_rewind.c:822 #, c-format msgid "%*s/%s kB (%d%%) copied" msgstr "%*s/%s kB (%d%%) kopierad" -#: pg_rewind.c:941 +#: pg_rewind.c:948 #, 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:982 +#: pg_rewind.c:989 #, c-format msgid "backup label buffer too small" msgstr "backupetikett-buffer för liten" -#: pg_rewind.c:1005 +#: pg_rewind.c:1012 #, c-format msgid "unexpected control file CRC" msgstr "oväntad kontrollfil-CRC" -#: pg_rewind.c:1017 +#: pg_rewind.c:1024 #, c-format msgid "unexpected control file size %d, expected %d" msgstr "oväntad kontrollfilstorlek %d, förväntade %d" -#: pg_rewind.c:1026 +#: pg_rewind.c:1034 #, c-format -msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d byte" -msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d bytes" -msgstr[0] "WAL-segmentstorlek måste vara en tvåpotens mellan 1MB och 1GB men kontrollfilen anger %d byte" -msgstr[1] "WAL-segmentstorlek måste vara en tvåpotens mellan 1MB och 1GB men kontrollfilen anger %d byte" +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:1065 pg_rewind.c:1135 +#: pg_rewind.c:1038 +#, 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 #, 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:1068 pg_rewind.c:1138 +#: pg_rewind.c:1078 pg_rewind.c:1146 #, 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:1101 +#: pg_rewind.c:1107 +#, 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 #, c-format -msgid "restore_command is not set in the target cluster" -msgstr "restore_command är inte satt i målklustret" +msgid "\"restore_command\" is not set in the target cluster" +msgstr "\"restore_command\" är inte satt i målklustret" -#: pg_rewind.c:1142 +#: pg_rewind.c:1150 #, 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:1180 +#: pg_rewind.c:1188 #, c-format msgid "postgres single-user mode in target cluster failed" msgstr "postgres enanvändarläge misslyckades i målklustret" -#: pg_rewind.c:1181 +#: pg_rewind.c:1189 #, c-format msgid "Command was: %s" msgstr "Kommandot var: %s" -#: timeline.c:75 timeline.c:81 +#: timeline.c:74 timeline.c:80 #, c-format msgid "syntax error in history file: %s" msgstr "syntaxfel i history-fil: %s" -#: timeline.c:76 +#: timeline.c:75 #, c-format msgid "Expected a numeric timeline ID." msgstr "Förväntade ett numeriskt tidslinje-ID." -#: timeline.c:82 +#: timeline.c:81 #, c-format msgid "Expected a write-ahead log switchpoint location." msgstr "Förväntade en write-ahead-logg:s switchpoint-position." -#: timeline.c:87 +#: timeline.c:86 #, c-format msgid "invalid data in history file: %s" msgstr "felaktig data i history-fil: %s" -#: timeline.c:88 +#: timeline.c:87 #, c-format msgid "Timeline IDs must be in increasing sequence." msgstr "Tidslinje-ID måste komma i en stigande sekvens." -#: timeline.c:108 +#: timeline.c:107 #, c-format msgid "invalid data in history file" msgstr "ogiltig data i historikfil" -#: timeline.c:109 +#: timeline.c:108 #, c-format msgid "Timeline IDs must be less than child timeline's ID." msgstr "Tidslinje-ID:er måste vara mindre än barnens tidslinje-ID:er." -#: xlogreader.c:626 +#: xlogreader.c:619 #, c-format msgid "invalid record offset 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:635 +#: xlogreader.c:628 #, c-format msgid "contrecord is requested by %X/%X" msgstr "contrecord är begärd vid %X/%X" -#: xlogreader.c:676 xlogreader.c:1119 +#: xlogreader.c:669 xlogreader.c:1134 #, 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:705 -#, c-format -msgid "out of memory while trying to decode a record of length %u" -msgstr "slut på minne vid avkodning av post med längden %u" - -#: xlogreader.c:727 -#, c-format -msgid "record length %u at %X/%X too long" -msgstr "postlängd %u vid %X/%X är för lång" - -#: xlogreader.c:776 +#: xlogreader.c:758 #, c-format msgid "there is no contrecord flag at %X/%X" msgstr "det finns ingen contrecord-flagga vid %X/%X" -#: xlogreader.c:789 +#: xlogreader.c:771 #, 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:1127 +#: xlogreader.c:1142 #, c-format msgid "invalid resource manager ID %u at %X/%X" msgstr "ogiltigt resurshanterar-ID %u vid %X/%X" -#: xlogreader.c:1140 xlogreader.c:1156 +#: xlogreader.c:1155 xlogreader.c:1171 #, 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:1192 +#: xlogreader.c:1209 #, c-format msgid "incorrect resource manager data checksum in record at %X/%X" msgstr "felaktig resurshanterardatakontrollsumma i post vid %X/%X" -#: xlogreader.c:1226 +#: xlogreader.c:1243 #, 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:1241 xlogreader.c:1283 +#: xlogreader.c:1258 xlogreader.c:1300 #, 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:1257 +#: xlogreader.c:1274 #, 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:1265 +#: xlogreader.c:1282 #, 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:1271 +#: xlogreader.c:1288 #, 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:1303 +#: xlogreader.c:1320 #, 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:1329 +#: xlogreader.c:1346 #, 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:1735 +#: xlogreader.c:1749 #, c-format msgid "out-of-order block_id %u at %X/%X" msgstr "ej-i-sekvens block_id %u vid %X/%X" -#: xlogreader.c:1759 +#: xlogreader.c:1773 #, 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:1766 +#: xlogreader.c:1780 #, 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:1802 +#: xlogreader.c:1816 #, 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:1818 +#: xlogreader.c:1832 #, 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:1832 +#: xlogreader.c:1846 #, 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:1847 +#: xlogreader.c:1861 #, 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:1863 +#: xlogreader.c:1877 #, 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:1875 +#: xlogreader.c:1889 #, c-format msgid "invalid block_id %u at %X/%X" msgstr "ogiltig block_id %u vid %X/%X" -#: xlogreader.c:1942 +#: xlogreader.c:1956 #, c-format msgid "record with invalid length at %X/%X" msgstr "post med ogiltig längd vid %X/%X" -#: xlogreader.c:1968 +#: xlogreader.c:1982 #, 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:2052 +#: xlogreader.c:2066 #, 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:2059 +#: xlogreader.c:2073 #, 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:2086 xlogreader.c:2103 +#: xlogreader.c:2100 xlogreader.c:2117 #, 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:2112 +#: xlogreader.c:2126 #, 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:2120 +#: xlogreader.c:2134 #, c-format msgid "could not decompress image at %X/%X, block %d" msgstr "kunde inte packa upp avbild vid %X/%X, block %d" - -#, c-format -#~ msgid "\"%s\" is a symbolic link, but symbolic links are not supported on this platform" -#~ msgstr "\"%s\" är en symbolisk länk men symboliska länkar stöds inte på denna plattform" - -#, c-format -#~ msgid "cannot create restricted tokens on this platform: error code %lu" -#~ msgstr "kan inte skapa token för begränsad åtkomst på denna plattorm: felkod %lu" - -#, c-format -#~ msgid "cannot use restore_command with %%r placeholder" -#~ msgstr "kan inte använda restore_command med %%r-platshållare" - -#, c-format -#~ msgid "could not load library \"%s\": error code %lu" -#~ msgstr "kunde inte ladda länkbibliotek \"%s\": felkod %lu" - -#, c-format -#~ msgid "invalid control file" -#~ msgstr "ogiltig kontrollfil" - -#, c-format -#~ msgid "invalid record offset at %X/%X" -#~ msgstr "ogiltig postoffset vid %X/%X" - -#, c-format -#~ msgid "missing contrecord at %X/%X" -#~ msgstr "det finns ingen contrecord vid %X/%X" diff --git a/src/bin/pg_rewind/po/uk.po b/src/bin/pg_rewind/po/uk.po index 3f3b8ab2ee7..dfcc9ac3269 100644 --- a/src/bin/pg_rewind/po/uk.po +++ b/src/bin/pg_rewind/po/uk.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: postgresql\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-12-17 22:21+0000\n" -"PO-Revision-Date: 2023-12-20 12:10\n" +"POT-Creation-Date: 2024-08-31 06:23+0000\n" +"PO-Revision-Date: 2024-09-23 19:38\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -14,8 +14,8 @@ msgstr "" "X-Crowdin-Project: postgresql\n" "X-Crowdin-Project-ID: 324573\n" "X-Crowdin-Language: uk\n" -"X-Crowdin-File: /REL_16_STABLE/pg_rewind.pot\n" -"X-Crowdin-File-ID: 961\n" +"X-Crowdin-File: /REL_17_STABLE/pg_rewind.pot\n" +"X-Crowdin-File-ID: 1030\n" #: ../../../src/common/logging.c:276 #, c-format @@ -37,6 +37,60 @@ msgstr "деталі: " msgid "hint: " msgstr "підказка: " +#: ../../common/controldata_utils.c:97 file_ops.c:326 file_ops.c:330 +#, c-format +msgid "could not open file \"%s\" for reading: %m" +msgstr "не вдалося відкрити файл \"%s\" для читання: %m" + +#: ../../common/controldata_utils.c:110 file_ops.c:341 local_source.c:104 +#: local_source.c:163 parsexlog.c:350 +#, c-format +msgid "could not read file \"%s\": %m" +msgstr "не вдалося прочитати файл \"%s\": %m" + +#: ../../common/controldata_utils.c:119 file_ops.c:344 parsexlog.c:352 +#, c-format +msgid "could not read file \"%s\": read %d of %zu" +msgstr "не вдалося прочитати файл \"%s\": прочитано %d з %zu" + +#: ../../common/controldata_utils.c:132 ../../common/controldata_utils.c:280 +#: local_source.c:121 local_source.c:172 +#, 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, може не відповідати тому, який використовується цією програмою. У такому випадку результати нижче будуть неправильним, і інсталяція 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 ../../fe_utils/recovery_gen.c:140 +#: parsexlog.c:312 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "не можливо відкрити файл \"%s\": %m" + +#: ../../common/controldata_utils.c:249 file_ops.c:117 +#, 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 "не вдалося fsync файл \"%s\": %m" + #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 #: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 #, c-format @@ -48,6 +102,38 @@ msgstr "недостатньо пам'яті\n" msgid "cannot duplicate null pointer (internal error)\n" msgstr "неможливо дублювати нульовий покажчик (внутрішня помилка)\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 +#: ../../fe_utils/archive.c:86 file_ops.c:417 +#, c-format +msgid "could not stat file \"%s\": %m" +msgstr "не вдалося отримати інформацію від файлу \"%s\": %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 file_ops.c:388 +#, c-format +msgid "could not open directory \"%s\": %m" +msgstr "не вдалося відкрити каталог \"%s\": %m" + +#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 file_ops.c:462 +#, 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/percentrepl.c:79 ../../common/percentrepl.c:118 #, c-format msgid "invalid value for parameter \"%s\": \"%s\"" @@ -103,43 +189,58 @@ msgstr "неочікуваний розмір файлу для \"%s\": %lld з msgid "could not open file \"%s\" restored from archive: %m" msgstr "не вдалося відкрити файл \"%s\" відновлений з архіву: %m" -#: ../../fe_utils/archive.c:86 file_ops.c:417 -#, c-format -msgid "could not stat file \"%s\": %m" -msgstr "не вдалося отримати інформацію від файлу \"%s\": %m" - #: ../../fe_utils/archive.c:98 #, c-format -msgid "restore_command failed: %s" -msgstr "помилка restore_command: %s" +msgid "\"restore_command\" failed: %s" +msgstr "помилка \"restore_command\": %s" #: ../../fe_utils/archive.c:105 #, c-format msgid "could not restore file \"%s\" from archive" msgstr "не вдалося відновити файл \"%s\" з архіву" -#: ../../fe_utils/recovery_gen.c:34 ../../fe_utils/recovery_gen.c:45 -#: ../../fe_utils/recovery_gen.c:70 ../../fe_utils/recovery_gen.c:90 -#: ../../fe_utils/recovery_gen.c:149 +#: ../../fe_utils/option_utils.c:69 #, c-format -msgid "out of memory" -msgstr "недостатньо пам'яті" +msgid "invalid value \"%s\" for option %s" +msgstr "неприпустиме значення \"%s\" для параметра %s" -#: ../../fe_utils/recovery_gen.c:121 parsexlog.c:312 +#: ../../fe_utils/option_utils.c:76 #, c-format -msgid "could not open file \"%s\": %m" -msgstr "не можливо відкрити файл \"%s\": %m" +msgid "%s must be in range %d..%d" +msgstr "%s має бути в діапазоні %d..%d" -#: ../../fe_utils/recovery_gen.c:124 +#: ../../fe_utils/option_utils.c:106 +#, c-format +msgid "unrecognized sync method: %s" +msgstr "нерозпізнаний метод синхронізації: %s" + +#: ../../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 +#, c-format +msgid "out of memory" +msgstr "недостатньо пам'яті" + +#: ../../fe_utils/recovery_gen.c:143 #, c-format msgid "could not write to file \"%s\": %m" msgstr "неможливо записати до файлу \"%s\": %m" -#: ../../fe_utils/recovery_gen.c:133 +#: ../../fe_utils/recovery_gen.c:152 #, c-format msgid "could not create file \"%s\": %m" msgstr "неможливо створити файл \"%s\": %m" +#: ../../fe_utils/string_utils.c:434 +#, c-format +msgid "shell command argument contains a newline or carriage return: \"%s\"\n" +msgstr "аргумент командної оболонки містить символ нового рядка або повернення каретки: \"%s\"\n" + +#: ../../fe_utils/string_utils.c:607 +#, c-format +msgid "database name contains a newline or carriage return: \"%s\"\n" +msgstr "назва бази даних містить символ нового рядка або повернення каретки: \"%s\"\n" + #: file_ops.c:67 #, c-format msgid "could not open target file \"%s\": %m" @@ -155,11 +256,6 @@ msgstr "не вдалося закрити цільовий файл \"%s\": %m" msgid "could not seek in target file \"%s\": %m" msgstr "не вдалося знайти в цільовому файлі \"%s\": %m" -#: file_ops.c:117 -#, c-format -msgid "could not write file \"%s\": %m" -msgstr "не вдалося записати файл \"%s\": %m" - #: file_ops.c:150 file_ops.c:177 #, c-format msgid "undefined file type for \"%s\"" @@ -205,26 +301,6 @@ msgstr "неможливо створити символічне посланн msgid "could not remove symbolic link \"%s\": %m" msgstr "не вдалося видалити символьне посилання \"%s\": %m" -#: file_ops.c:326 file_ops.c:330 -#, c-format -msgid "could not open file \"%s\" for reading: %m" -msgstr "не вдалося відкрити файл \"%s\" для читання: %m" - -#: file_ops.c:341 local_source.c:104 local_source.c:163 parsexlog.c:350 -#, c-format -msgid "could not read file \"%s\": %m" -msgstr "не вдалося прочитати файл \"%s\": %m" - -#: file_ops.c:344 parsexlog.c:352 -#, c-format -msgid "could not read file \"%s\": read %d of %zu" -msgstr "не вдалося прочитати файл \"%s\": прочитано %d з %zu" - -#: file_ops.c:388 -#, c-format -msgid "could not open directory \"%s\": %m" -msgstr "не вдалося відкрити каталог \"%s\": %m" - #: file_ops.c:441 #, c-format msgid "could not read symbolic link \"%s\": %m" @@ -235,162 +311,157 @@ msgstr "не можливо прочитати символічне послан msgid "symbolic link \"%s\" target is too long" msgstr "таргет символічного посилання \"%s\" задовгий" -#: file_ops.c:462 -#, c-format -msgid "could not read directory \"%s\": %m" -msgstr "не вдалося прочитати каталог \"%s\": %m" - #: file_ops.c:466 #, c-format msgid "could not close directory \"%s\": %m" msgstr "не вдалося закрити каталог \"%s\": %m" -#: filemap.c:236 +#: filemap.c:235 #, c-format msgid "data file \"%s\" in source is not a regular file" msgstr "файл даних \"%s\" в джерелі не є регулярним файлом" -#: filemap.c:241 filemap.c:274 +#: filemap.c:240 filemap.c:273 #, c-format msgid "duplicate source file \"%s\"" msgstr "дублікат вихідного файлу \"%s\"" -#: filemap.c:329 +#: filemap.c:328 #, c-format msgid "unexpected page modification for non-regular file \"%s\"" msgstr "неочікувана модифікація сторінки для нерегулярного файлу \"%s\"" -#: filemap.c:679 filemap.c:773 +#: filemap.c:682 filemap.c:776 #, c-format msgid "unknown file type for \"%s\"" msgstr "невідомий тип файлу для \"%s\"" -#: filemap.c:706 +#: filemap.c:709 #, c-format msgid "file \"%s\" is of different type in source and target" msgstr "файл \"%s\" має різні типи у джерелі та цілі" -#: filemap.c:778 +#: filemap.c:781 #, c-format msgid "could not decide what to do with file \"%s\"" msgstr "не вдалося вирішити, що робити з файлом \"%s\"" -#: libpq_source.c:130 +#: libpq_source.c:131 #, c-format -msgid "could not clear search_path: %s" -msgstr "не вдалося очистити search_path: %s" +msgid "could not clear \"search_path\": %s" +msgstr "не вдалося очистити \"search_path\": %s" -#: libpq_source.c:141 +#: libpq_source.c:142 #, c-format -msgid "full_page_writes must be enabled in the source server" -msgstr "на початковому сервері повинно бути увімкнено full_page_writes" +msgid "\"full_page_writes\" must be enabled in the source server" +msgstr "\"full_page_writes\" слід ввімкнути на вихідному сервері" -#: libpq_source.c:152 +#: libpq_source.c:153 #, c-format msgid "could not prepare statement to fetch file contents: %s" msgstr "не вдалося підготувати інструкцію щоб отримати вміст файлу: %s" -#: libpq_source.c:171 +#: libpq_source.c:172 #, c-format msgid "error running query (%s) on source server: %s" msgstr "помилка при виконанні запиту (%s) на вихідному сервері: %s" -#: libpq_source.c:176 +#: libpq_source.c:177 #, c-format msgid "unexpected result set from query" msgstr "неочікуваний результат запиту" -#: libpq_source.c:198 +#: libpq_source.c:199 #, c-format msgid "error running query (%s) in source server: %s" msgstr "помилка при виконанні запиту (%s) на початковому сервері: %s" -#: libpq_source.c:219 +#: libpq_source.c:220 #, c-format msgid "unrecognized result \"%s\" for current WAL insert location" msgstr "нерозпізнаний результат \"%s\" замість поточної добавленої позиції WAL" -#: libpq_source.c:270 +#: libpq_source.c:271 #, c-format msgid "could not fetch file list: %s" msgstr "не вдалося отримати список файлів: %s" -#: libpq_source.c:275 +#: libpq_source.c:276 #, c-format msgid "unexpected result set while fetching file list" msgstr "неочікуваний результат при отриманні списку файлів" -#: libpq_source.c:467 +#: libpq_source.c:477 #, c-format msgid "could not send query: %s" msgstr "не вдалося надіслати запит: %s" -#: libpq_source.c:470 +#: libpq_source.c:480 #, c-format msgid "could not set libpq connection to single row mode" msgstr "не вдалося встановити libpq з'єднання для однорядкового режиму" -#: libpq_source.c:500 +#: libpq_source.c:510 #, c-format msgid "unexpected result while fetching remote files: %s" msgstr "неочікуваний результат при отриманні віддалених файлів: %s" -#: libpq_source.c:505 +#: libpq_source.c:515 #, c-format msgid "received more data chunks than requested" msgstr "отримано більше фрагментів даних, ніж запитувалось" -#: libpq_source.c:509 +#: libpq_source.c:519 #, c-format msgid "unexpected result set size while fetching remote files" msgstr "неочікуваний розмір набору результатів при отриманні віддалених файлів" -#: libpq_source.c:515 +#: libpq_source.c:525 #, c-format msgid "unexpected data types in result set while fetching remote files: %u %u %u" msgstr "неочікувані типи даних в результаті при отриманні віддалених файлів: %u %u %u" -#: libpq_source.c:523 +#: libpq_source.c:533 #, c-format msgid "unexpected result format while fetching remote files" msgstr "неочікуваний формат результату при отриманні віддалених файлів" -#: libpq_source.c:529 +#: libpq_source.c:539 #, c-format msgid "unexpected null values in result while fetching remote files" msgstr "неочікувані нульові значення в результаті при отриманні віддалених файлів" -#: libpq_source.c:533 +#: libpq_source.c:543 #, c-format msgid "unexpected result length while fetching remote files" msgstr "неочікувана довжина результату при отриманні віддалених файлів" -#: libpq_source.c:566 +#: libpq_source.c:576 #, c-format msgid "received data for file \"%s\", when requested for \"%s\"" msgstr "отримані дані для файлу \"%s\", коли запитувалось для \"%s\"" -#: libpq_source.c:570 +#: libpq_source.c:580 #, c-format msgid "received data at offset %lld of file \"%s\", when requested for offset %lld" msgstr "отримано дані по зсуву %lld файлу \"%s\", коли запитувалось про зсув %lld" -#: libpq_source.c:582 +#: libpq_source.c:592 #, c-format msgid "received more than requested for file \"%s\"" msgstr "отримано більше, ніж запитувалось для файлу \"%s\"" -#: libpq_source.c:595 +#: libpq_source.c:605 #, c-format msgid "unexpected number of data chunks received" msgstr "отримано неочікувану кількість фрагментів даних" -#: libpq_source.c:638 +#: libpq_source.c:648 #, c-format msgid "could not fetch remote file \"%s\": %s" msgstr "не вдалося отримати віддалений файл \"%s\": %s" -#: libpq_source.c:643 +#: libpq_source.c:653 #, c-format msgid "unexpected result set while fetching remote file \"%s\"" msgstr "неочікуваний набір результатів при отриманні віддаленого файлу \"%s\"" @@ -405,11 +476,6 @@ msgstr "не вдалося відкрити вихідний файл \"%s\": % msgid "size of source file \"%s\" changed concurrently: %d bytes expected, %d copied" msgstr "розмір вихідного файлу \"%s\" паралельно змінився: очікувалося %d байт, %d скопійовано" -#: local_source.c:121 local_source.c:172 -#, c-format -msgid "could not close file \"%s\": %m" -msgstr "неможливо закрити файл \"%s\": %m" - #: local_source.c:146 #, c-format msgid "could not seek in source file: %m" @@ -460,508 +526,523 @@ msgstr "не вдалося знайти в файлі \"%s\": %m" msgid "WAL record modifies a relation, but record type is not recognized: lsn: %X/%X, rmid: %d, rmgr: %s, info: %02X" msgstr "WAL модифікує відношення, але тип запису не розпізнано: lsn: %X/%X, rmid: %d, rmgr: %s, info: %02X" -#: pg_rewind.c:92 +#: pg_rewind.c:94 #, c-format msgid "%s resynchronizes a PostgreSQL cluster with another copy of the cluster.\n\n" msgstr "%s синхронізує кластер PostgreSQL з іншою копією кластеру.\n\n" -#: pg_rewind.c:93 +#: pg_rewind.c:95 #, c-format msgid "Usage:\n" " %s [OPTION]...\n\n" msgstr "Використання:\n" " %s [OPTION]...\n\n" -#: pg_rewind.c:94 +#: pg_rewind.c:96 #, c-format msgid "Options:\n" msgstr "Параметри:\n" -#: pg_rewind.c:95 +#: pg_rewind.c:97 #, c-format -msgid " -c, --restore-target-wal use restore_command in target configuration to\n" +msgid " -c, --restore-target-wal use \"restore_command\" in target configuration to\n" " retrieve WAL files from archives\n" -msgstr " -c, --restore-target-wal використовує restore_command в цільовій конфігурації, щоб\n" +msgstr " -c, --restore-target-wal використовує \"restore_command\" в цільовій конфігурації, щоб\n" " отримати файли WAL з архівів\n" -#: pg_rewind.c:97 +#: pg_rewind.c:99 #, c-format msgid " -D, --target-pgdata=DIRECTORY existing data directory to modify\n" msgstr " -D, --target-pgdata=DIRECTORY існуючий каталог для змін\n" -#: pg_rewind.c:98 +#: pg_rewind.c:100 #, c-format msgid " --source-pgdata=DIRECTORY source data directory to synchronize with\n" msgstr " --source-pgdata=DIRECTORY початковий каталог даних для синхронізації\n" -#: pg_rewind.c:99 +#: pg_rewind.c:101 #, c-format msgid " --source-server=CONNSTR source server to synchronize with\n" msgstr " --source-server=CONNSTR початковий сервер для синхронізації\n" -#: pg_rewind.c:100 +#: pg_rewind.c:102 #, c-format msgid " -n, --dry-run stop before modifying anything\n" msgstr " -n, --dry-run зупинитися до внесення будь-яких змін\n" -#: pg_rewind.c:101 +#: pg_rewind.c:103 #, c-format msgid " -N, --no-sync do not wait for changes to be written\n" " safely to disk\n" msgstr " -N, --no-sync не чекати поки зміни будуть записані на диск\n" -#: pg_rewind.c:103 +#: pg_rewind.c:105 #, c-format msgid " -P, --progress write progress messages\n" msgstr " -P, --progress повідомляти про хід процесу\n" -#: pg_rewind.c:104 +#: pg_rewind.c:106 #, c-format msgid " -R, --write-recovery-conf write configuration for replication\n" " (requires --source-server)\n" msgstr " -R, --write-recovery-conf записує конфігурацію для реплікації \n" " (потребує --source-server)\n" -#: pg_rewind.c:106 +#: pg_rewind.c:108 #, c-format msgid " --config-file=FILENAME use specified main server configuration\n" " file when running target cluster\n" msgstr " --config-file=FILENAME використовувати заданий основний файл конфігурації сервера\n" " при запуску цільового кластера\n" -#: pg_rewind.c:108 +#: pg_rewind.c:110 #, c-format msgid " --debug write a lot of debug messages\n" msgstr " --debug виводити багато налагоджувальних повідомлень\n" -#: pg_rewind.c:109 +#: pg_rewind.c:111 #, c-format msgid " --no-ensure-shutdown do not automatically fix unclean shutdown\n" msgstr " --no-ensure-shutdown не виправляти автоматично неочищене завершення роботи\n" -#: pg_rewind.c:110 +#: pg_rewind.c:112 +#, c-format +msgid " --sync-method=METHOD set method for syncing files to disk\n" +msgstr " --sync-method=METHOD встановити метод синхронізації файлів на диск\n" + +#: pg_rewind.c:113 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version вивести інформацію про версію і вийти\n" -#: pg_rewind.c:111 +#: pg_rewind.c:114 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help показати довідку, потім вийти\n" -#: pg_rewind.c:112 +#: pg_rewind.c:115 #, c-format msgid "\n" "Report bugs to <%s>.\n" msgstr "\n" "Повідомляти про помилки на <%s>.\n" -#: pg_rewind.c:113 +#: pg_rewind.c:116 #, c-format msgid "%s home page: <%s>\n" msgstr "Домашня сторінка %s: <%s>\n" -#: pg_rewind.c:223 pg_rewind.c:231 pg_rewind.c:238 pg_rewind.c:245 -#: pg_rewind.c:252 pg_rewind.c:260 +#: pg_rewind.c:232 pg_rewind.c:240 pg_rewind.c:247 pg_rewind.c:254 +#: pg_rewind.c:261 pg_rewind.c:269 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Спробуйте \"%s --help\" для додаткової інформації." -#: pg_rewind.c:230 +#: pg_rewind.c:239 #, c-format msgid "no source specified (--source-pgdata or --source-server)" msgstr "джерело не вказано (--source-pgdata чи --source-server)" -#: pg_rewind.c:237 +#: pg_rewind.c:246 #, c-format msgid "only one of --source-pgdata or --source-server can be specified" msgstr "може бути вказано лише --source-pgdata чи --source-server" -#: pg_rewind.c:244 +#: pg_rewind.c:253 #, c-format msgid "no target data directory specified (--target-pgdata)" msgstr "не вказано жодного каталогу цільових даних (--target-pgdata)" -#: pg_rewind.c:251 +#: pg_rewind.c:260 #, c-format msgid "no source server information (--source-server) specified for --write-recovery-conf" msgstr "немає інформації про вихідний сервер (--source-server) вказаної для --write-recovery-conf" -#: pg_rewind.c:258 +#: pg_rewind.c:267 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "забагато аргументів у командному рядку (перший \"%s\")" -#: pg_rewind.c:273 +#: pg_rewind.c:282 #, c-format msgid "cannot be executed by \"root\"" msgstr "\"root\" не може це виконувати" -#: pg_rewind.c:274 +#: pg_rewind.c:283 #, c-format msgid "You must run %s as the PostgreSQL superuser." msgstr "Запускати %s треба від суперкористувача PostgreSQL." -#: pg_rewind.c:284 +#: pg_rewind.c:293 #, c-format msgid "could not read permissions of directory \"%s\": %m" msgstr "не вдалося прочитати дозволи на каталог \"%s\": %m" -#: pg_rewind.c:302 +#: pg_rewind.c:311 #, c-format msgid "%s" msgstr "%s" -#: pg_rewind.c:305 +#: pg_rewind.c:314 #, c-format msgid "connected to server" msgstr "під'єднано до серверу" -#: pg_rewind.c:366 +#: pg_rewind.c:375 #, c-format msgid "source and target cluster are on the same timeline" msgstr "початковий і цільовий кластери знаходяться на одній лінії часу" -#: pg_rewind.c:387 +#: pg_rewind.c:396 #, c-format msgid "servers diverged at WAL location %X/%X on timeline %u" msgstr "сервери розійшлись в позиції WAL %X/%X на лінії часу %u" -#: pg_rewind.c:442 +#: pg_rewind.c:451 #, c-format msgid "no rewind required" msgstr "перемотування не потрібне" -#: pg_rewind.c:451 +#: pg_rewind.c:460 #, c-format msgid "rewinding from last common checkpoint at %X/%X on timeline %u" msgstr "перемотування від останньої спільної контрольної точки на %X/%X на лінії часу %u" -#: pg_rewind.c:461 +#: pg_rewind.c:470 #, c-format msgid "reading source file list" msgstr "читання списку файлів із джерела" -#: pg_rewind.c:465 +#: pg_rewind.c:474 #, c-format msgid "reading target file list" msgstr "читання списку цільових файлів" -#: pg_rewind.c:474 +#: pg_rewind.c:483 #, c-format msgid "reading WAL in target" msgstr "читання WAL у цілі" -#: pg_rewind.c:495 +#: pg_rewind.c:504 #, c-format msgid "need to copy %lu MB (total source directory size is %lu MB)" msgstr "треба скопіювати %lu МБ (загальний розмір каталогу джерела становить %lu МБ)" -#: pg_rewind.c:513 +#: pg_rewind.c:522 #, c-format msgid "syncing target data directory" msgstr "синхронізація цільового каталогу даних" -#: pg_rewind.c:529 +#: pg_rewind.c:538 #, c-format msgid "Done!" msgstr "Готово!" -#: pg_rewind.c:609 +#: pg_rewind.c:618 #, c-format msgid "no action decided for file \"%s\"" msgstr "жодних дій щодо файлу \"%s\" не прийнято" -#: pg_rewind.c:641 +#: pg_rewind.c:650 #, c-format msgid "source system was modified while pg_rewind was running" msgstr "вихідну систему було змінено під час роботи pg_rewind" -#: pg_rewind.c:645 +#: pg_rewind.c:654 #, c-format msgid "creating backup label and updating control file" msgstr "створення мітки резервного копіювання і оновлення контрольного файлу" -#: pg_rewind.c:695 +#: pg_rewind.c:704 #, c-format msgid "source system was in unexpected state at end of rewind" msgstr "вихідна система була в неочікуваному стані наприкінці перемотування" -#: pg_rewind.c:727 +#: pg_rewind.c:736 #, c-format msgid "source and target clusters are from different systems" msgstr "початковий і цільовий кластер належать до різних систем" -#: pg_rewind.c:735 +#: pg_rewind.c:744 #, c-format msgid "clusters are not compatible with this version of pg_rewind" msgstr "кластери не сумісні з даною версією pg_rewind" -#: pg_rewind.c:745 +#: pg_rewind.c:754 #, c-format msgid "target server needs to use either data checksums or \"wal_log_hints = on\"" msgstr "цільовий сервер потребує використання контрольної суми даних або \"wal_log_hints = on\"" -#: pg_rewind.c:756 +#: pg_rewind.c:765 #, c-format msgid "target server must be shut down cleanly" msgstr "цільовий сервер повинен бути вимкненим штатно" -#: pg_rewind.c:766 +#: pg_rewind.c:775 #, c-format msgid "source data directory must be shut down cleanly" msgstr "робота з початковим каталогом даних повинна бути завершена штатно" -#: pg_rewind.c:813 +#: pg_rewind.c:822 #, c-format msgid "%*s/%s kB (%d%%) copied" msgstr "скопійовано %*s/%s кБ (%d%%)" -#: pg_rewind.c:941 +#: pg_rewind.c:948 #, c-format msgid "could not find common ancestor of the source and target cluster's timelines" msgstr "не вдалося знайти спільного предка ліній часу початкового та цільового кластерів" -#: pg_rewind.c:982 +#: pg_rewind.c:989 #, c-format msgid "backup label buffer too small" msgstr "буфер для мітки резервного копіювання замалий" -#: pg_rewind.c:1005 +#: pg_rewind.c:1012 #, c-format msgid "unexpected control file CRC" msgstr "неочікуваний контрольний файл CRC" -#: pg_rewind.c:1017 +#: pg_rewind.c:1024 #, c-format msgid "unexpected control file size %d, expected %d" msgstr "неочікуваний розмір контрольного файлу %d, очікувалося %d" -#: pg_rewind.c:1026 +#: pg_rewind.c:1034 #, c-format -msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d byte" -msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d bytes" -msgstr[0] "Розмір сегменту WAL повинен задаватись ступенем 2 в інтервалі від 1 МБ до 1 ГБ, але в керуючому файлі вказано значення %d" -msgstr[1] "Розмір сегменту WAL повинен задаватись ступенем 2 в інтервалі від 1 МБ до 1 ГБ, але в керуючому файлі вказано значення %d" -msgstr[2] "Розмір сегменту WAL повинен задаватись ступенем 2 в інтервалі від 1 МБ до 1 ГБ, але в керуючому файлі вказано значення %d" -msgstr[3] "Розмір сегменту WAL повинен задаватись ступенем 2 в інтервалі від 1 МБ до 1 ГБ, але в керуючому файлі вказано значення %d" +msgid "invalid WAL segment size in control file (%d byte)" +msgid_plural "invalid WAL segment size in control file (%d bytes)" +msgstr[0] "невірний розмір сегменту WAL у файлі керування (%d байт)" +msgstr[1] "невірний розмір сегмента WAL у файлі керування (%d байтів)" +msgstr[2] "невірний розмір сегмента WAL у файлі керування (%d байтів)" +msgstr[3] "невірний розмір сегмента WAL у файлі керування (%d байтів)" -#: pg_rewind.c:1065 pg_rewind.c:1135 +#: pg_rewind.c:1038 +#, c-format +msgid "The WAL segment size must be a power of two between 1 MB and 1 GB." +msgstr "Розмір сегмента WAL повинен бути степенем двійки від 1 МБ до 1 ГБ." + +#: pg_rewind.c:1075 pg_rewind.c:1143 #, c-format msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"" msgstr "програма \"%s\" потрібна для %s, але не знайдена в тому ж каталозі, що й \"%s\"" -#: pg_rewind.c:1068 pg_rewind.c:1138 +#: pg_rewind.c:1078 pg_rewind.c:1146 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" msgstr "програма \"%s\" знайдена для \"%s\", але має відмінну версію від %s" -#: pg_rewind.c:1101 +#: pg_rewind.c:1107 +#, c-format +msgid "could not read restore_command from target cluster" +msgstr "не вдалося прочитати \"restore_command\" з цільового кластеру" + +#: pg_rewind.c:1112 #, c-format -msgid "restore_command is not set in the target cluster" -msgstr "команда restore_command не встановлена в цільовому кластері" +msgid "\"restore_command\" is not set in the target cluster" +msgstr "команда \"restore_command\" не встановлена в цільовому кластері" -#: pg_rewind.c:1142 +#: pg_rewind.c:1150 #, c-format msgid "executing \"%s\" for target server to complete crash recovery" msgstr "виконання \"%s\" для цільового серверу, щоб завершити відновлення після аварійного завершення роботи" -#: pg_rewind.c:1180 +#: pg_rewind.c:1188 #, c-format msgid "postgres single-user mode in target cluster failed" msgstr "не вдалося ввімкнути однокористувацький режим postgres в цільовому кластері" -#: pg_rewind.c:1181 +#: pg_rewind.c:1189 #, c-format msgid "Command was: %s" msgstr "Команда була: %s" -#: timeline.c:75 timeline.c:81 +#: timeline.c:74 timeline.c:80 #, c-format msgid "syntax error in history file: %s" msgstr "синтаксична помилка у файлі історії: %s" -#: timeline.c:76 +#: timeline.c:75 #, c-format msgid "Expected a numeric timeline ID." msgstr "Очікується числовий ідентифікатор лінії часу." -#: timeline.c:82 +#: timeline.c:81 #, c-format msgid "Expected a write-ahead log switchpoint location." msgstr "Очікується положення точки випереджувального журналювання." -#: timeline.c:87 +#: timeline.c:86 #, c-format msgid "invalid data in history file: %s" msgstr "неприпустимі дані у файлу історії: %s" -#: timeline.c:88 +#: timeline.c:87 #, c-format msgid "Timeline IDs must be in increasing sequence." msgstr "Ідентифікатори ліній часу повинні збільшуватись." -#: timeline.c:108 +#: timeline.c:107 #, c-format msgid "invalid data in history file" msgstr "неприпустимі дані у файлі історії" -#: timeline.c:109 +#: timeline.c:108 #, c-format msgid "Timeline IDs must be less than child timeline's ID." msgstr "Ідентифікатори ліній часу повинні бути меншими від ідентифікатора дочірньої лінії." -#: xlogreader.c:621 +#: xlogreader.c:619 #, c-format msgid "invalid record offset at %X/%X: expected at least %u, got %u" msgstr "неприпустиме зміщення запису в %X/%X: очікувалось хоча б %u, отримано %u" -#: xlogreader.c:630 +#: xlogreader.c:628 #, c-format msgid "contrecord is requested by %X/%X" msgstr "по зсуву %X/%X запитано продовження запису" -#: xlogreader.c:671 xlogreader.c:1136 +#: xlogreader.c:669 xlogreader.c:1134 #, c-format msgid "invalid record length at %X/%X: expected at least %u, got %u" msgstr "неприпустима довжина запису %X/%X: очікувалась мінімум %u, отримано %u" -#: xlogreader.c:760 +#: xlogreader.c:758 #, c-format msgid "there is no contrecord flag at %X/%X" msgstr "немає прапорця contrecord в позиції %X/%X" -#: xlogreader.c:773 +#: xlogreader.c:771 #, c-format msgid "invalid contrecord length %u (expected %lld) at %X/%X" msgstr "неприпустима довжина contrecord %u (очікувалось %lld) на %X/%X" -#: xlogreader.c:1144 +#: xlogreader.c:1142 #, c-format msgid "invalid resource manager ID %u at %X/%X" msgstr "невірний ID менеджера ресурсів %u в %X/%X" -#: xlogreader.c:1157 xlogreader.c:1173 +#: xlogreader.c:1155 xlogreader.c:1171 #, c-format msgid "record with incorrect prev-link %X/%X at %X/%X" msgstr "запис з неправильним попереднім посиланням %X/%X на %X/%X" -#: xlogreader.c:1211 +#: xlogreader.c:1209 #, c-format msgid "incorrect resource manager data checksum in record at %X/%X" msgstr "некоректна контрольна сума даних менеджера ресурсів у запису по зсуву %X/%X" -#: xlogreader.c:1245 +#: xlogreader.c:1243 #, c-format msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u" msgstr "невірне магічне число %04X в сегменті WAL %s, LSN %X/%X, зсув %u" -#: xlogreader.c:1260 xlogreader.c:1302 +#: xlogreader.c:1258 xlogreader.c:1300 #, c-format msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u" msgstr "невірні інформаційні біти %04X в сегменті WAL %s, LSN %X/%X, зсув %u" -#: xlogreader.c:1276 +#: xlogreader.c:1274 #, 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" -#: xlogreader.c:1284 +#: xlogreader.c:1282 #, c-format msgid "WAL file is from different database system: incorrect segment size in page header" msgstr "Файл WAL належить іншій системі баз даних: некоректний розмір сегменту в заголовку сторінки" -#: xlogreader.c:1290 +#: xlogreader.c:1288 #, c-format msgid "WAL file is from different database system: incorrect XLOG_BLCKSZ in page header" msgstr "Файл WAL належить іншій системі баз даних: некоректний XLOG_BLCKSZ в заголовку сторінки" -#: xlogreader.c:1322 +#: xlogreader.c:1320 #, 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" -#: xlogreader.c:1348 +#: xlogreader.c:1346 #, 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" -#: xlogreader.c:1754 +#: xlogreader.c:1749 #, c-format msgid "out-of-order block_id %u at %X/%X" msgstr "ідентифікатор блока %u out-of-order в позиції %X/%X" -#: xlogreader.c:1778 +#: xlogreader.c:1773 #, c-format msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X" msgstr "BKPBLOCK_HAS_DATA встановлений, але немає даних в позиції %X/%X" -#: xlogreader.c:1785 +#: xlogreader.c:1780 #, c-format msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X" msgstr "BKPBLOCK_HAS_DATA встановлений, але довжина даних дорівнює %u в позиції %X/%X" -#: xlogreader.c:1821 +#: xlogreader.c:1816 #, 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" -#: xlogreader.c:1837 +#: xlogreader.c:1832 #, c-format msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X" msgstr "BKPIMAGE_HAS_HOLE не встановлений, але для пропуску задані: зсув %u, довжина %u в позиції %X/%X" -#: xlogreader.c:1851 +#: xlogreader.c:1846 #, c-format msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X" msgstr "BKPIMAGE_COMPRESSED встановлений, але довжина образу блока дорівнює %u в позиції %X/%X" -#: xlogreader.c:1866 +#: xlogreader.c:1861 #, 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" -#: xlogreader.c:1882 +#: xlogreader.c:1877 #, c-format msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X" msgstr "BKPBLOCK_SAME_REL встановлений, але попереднє значення не задано в позиції %X/%X" -#: xlogreader.c:1894 +#: xlogreader.c:1889 #, c-format msgid "invalid block_id %u at %X/%X" msgstr "невірний ідентифікатор блоку %u в позиції %X/%X" -#: xlogreader.c:1961 +#: xlogreader.c:1956 #, c-format msgid "record with invalid length at %X/%X" msgstr "запис з невірною довжиною на %X/%X" -#: xlogreader.c:1987 +#: xlogreader.c:1982 #, c-format msgid "could not locate backup block with ID %d in WAL record" msgstr "не вдалося знайти блок резервної копії з ID %d у записі WAL" -#: xlogreader.c:2071 +#: xlogreader.c:2066 #, c-format msgid "could not restore image at %X/%X with invalid block %d specified" msgstr "не вдалося відновити зображення %X/%X з недійсним вказаним блоком %d" -#: xlogreader.c:2078 +#: xlogreader.c:2073 #, c-format msgid "could not restore image at %X/%X with invalid state, block %d" msgstr "не вдалося відновити зображення %X/%X з недійсним станом, блок %d" -#: xlogreader.c:2105 xlogreader.c:2122 +#: xlogreader.c:2100 xlogreader.c:2117 #, c-format msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d" msgstr "не вдалося відновити зображення в %X/%X, стиснуте %s, не підтримується збіркою, блок %d" -#: xlogreader.c:2131 +#: xlogreader.c:2126 #, c-format msgid "could not restore image at %X/%X compressed with unknown method, block %d" msgstr "не вдалося відновити зображення %X/%X стиснуте з невідомим методом, блок %d" -#: xlogreader.c:2139 +#: xlogreader.c:2134 #, c-format msgid "could not decompress image at %X/%X, block %d" msgstr "не вдалося розпакувати зображення на %X/%X, блок %d" diff --git a/src/bin/pg_rewind/t/010_keep_recycled_wals.pl b/src/bin/pg_rewind/t/010_keep_recycled_wals.pl new file mode 100644 index 00000000000..e6dfce2a54a --- /dev/null +++ b/src/bin/pg_rewind/t/010_keep_recycled_wals.pl @@ -0,0 +1,62 @@ +# Copyright (c) 2021-2024, PostgreSQL Global Development Group +# +# Test situation where a target data directory contains +# WAL files that were already recycled by the new primary. +# + +use strict; +use warnings FATAL => 'all'; +use PostgreSQL::Test::Utils; +use Test::More; + +use FindBin; +use lib $FindBin::RealBin; +use RewindTest; + +RewindTest::setup_cluster(); +$node_primary->enable_archiving(); +RewindTest::start_primary(); + +RewindTest::create_standby(); +$node_standby->enable_restoring($node_primary, 0); +$node_standby->reload(); + +RewindTest::primary_psql("CHECKPOINT"); # last common checkpoint + +# We use "perl -e 'exit(1)'" as an alternative to "false", because the latter +# might not be available on Windows. +my $false = "$^X -e 'exit(1)'"; +$node_primary->append_conf( + 'postgresql.conf', qq( +archive_command = '$false' +)); +$node_primary->reload(); + +# advance WAL on primary; this WAL segment will never make it to the archive +RewindTest::primary_psql("CREATE TABLE t(a int)"); +RewindTest::primary_psql("INSERT INTO t VALUES(0)"); +RewindTest::primary_psql("SELECT pg_switch_wal()"); + +RewindTest::promote_standby; + +# new primary loses diverging WAL segment +RewindTest::standby_psql("INSERT INTO t values(0)"); +RewindTest::standby_psql("SELECT pg_switch_wal()"); + +$node_standby->stop(); +$node_primary->stop(); + +my ($stdout, $stderr) = run_command( + [ + 'pg_rewind', '--debug', + '--source-pgdata', $node_standby->data_dir, + '--target-pgdata', $node_primary->data_dir, + '--no-sync', + ]); + +like( + $stderr, + qr/Not removing file .* because it is required for recovery/, + "some WAL files were skipped"); + +done_testing(); diff --git a/src/bin/pg_test_fsync/po/es.po b/src/bin/pg_test_fsync/po/es.po index b522bdd5b20..4e32b32f055 100644 --- a/src/bin/pg_test_fsync/po/es.po +++ b/src/bin/pg_test_fsync/po/es.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_test_fsync (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-05-22 07:22+0000\n" -"PO-Revision-Date: 2023-05-22 12:06+0200\n" +"POT-Creation-Date: 2024-08-01 11:24+0000\n" +"PO-Revision-Date: 2024-08-02 17:01-0400\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" "Language: es\n" @@ -40,88 +40,99 @@ msgstr "detalle: " msgid "hint: " msgstr "consejo: " +#: ../../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 "memoria agotada\n" + +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 +#, c-format +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "no se puede duplicar un puntero nulo (error interno)\n" + #. translator: maintain alignment with NA_FORMAT -#: pg_test_fsync.c:32 +#: pg_test_fsync.c:38 #, c-format msgid "%13.3f ops/sec %6.0f usecs/op\n" msgstr "%13.3f ops/seg %6.0f usegs/op\n" -#: pg_test_fsync.c:50 +#: pg_test_fsync.c:56 #, c-format msgid "could not create thread for alarm" msgstr "no se pudo crear el thread para la alarma" -#: pg_test_fsync.c:95 +#: pg_test_fsync.c:101 #, c-format msgid "%s: %m" msgstr "%s: %m" -#: pg_test_fsync.c:159 +#: pg_test_fsync.c:165 #, c-format msgid "Usage: %s [-f FILENAME] [-s SECS-PER-TEST]\n" msgstr "Empleo: %s [-f ARCHIVO] [-s SEG-POR-PRUEBA]\n" -#: pg_test_fsync.c:185 +#: pg_test_fsync.c:191 #, c-format msgid "invalid argument for option %s" msgstr "argumento no válido para la opción %s" -#: pg_test_fsync.c:186 pg_test_fsync.c:198 pg_test_fsync.c:207 +#: pg_test_fsync.c:192 pg_test_fsync.c:204 pg_test_fsync.c:213 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Pruebe «%s --help» para mayor información." -#: pg_test_fsync.c:192 +#: pg_test_fsync.c:198 #, c-format msgid "%s must be in range %u..%u" msgstr "%s debe estar en el rango %u..%u" -#: pg_test_fsync.c:205 +#: pg_test_fsync.c:211 #, 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_test_fsync.c:211 +#: pg_test_fsync.c:217 #, c-format msgid "%u second per test\n" msgid_plural "%u seconds per test\n" msgstr[0] "%u segundo por prueba\n" msgstr[1] "%u segundos por prueba\n" -#: pg_test_fsync.c:216 +#: pg_test_fsync.c:222 #, c-format msgid "O_DIRECT supported on this platform for open_datasync and open_sync.\n" msgstr "O_DIRECT tiene soporte en esta plataforma para open_datasync y open_sync.\n" -#: pg_test_fsync.c:218 +#: pg_test_fsync.c:224 #, c-format msgid "F_NOCACHE supported on this platform for open_datasync and open_sync.\n" msgstr "F_NOCACHE tiene soporte en esta plataforma para open_datasync y open_sync.\n" -#: pg_test_fsync.c:220 +#: pg_test_fsync.c:226 #, c-format msgid "Direct I/O is not supported on this platform.\n" msgstr "Direct I/O no está soportado en esta plataforma.\n" -#: pg_test_fsync.c:245 pg_test_fsync.c:335 pg_test_fsync.c:357 -#: pg_test_fsync.c:381 pg_test_fsync.c:525 pg_test_fsync.c:537 -#: pg_test_fsync.c:553 pg_test_fsync.c:559 pg_test_fsync.c:581 +#: pg_test_fsync.c:251 pg_test_fsync.c:341 pg_test_fsync.c:363 +#: pg_test_fsync.c:387 pg_test_fsync.c:531 pg_test_fsync.c:543 +#: pg_test_fsync.c:559 pg_test_fsync.c:565 pg_test_fsync.c:587 msgid "could not open output file" msgstr "no se pudo abrir el archivo de salida" -#: pg_test_fsync.c:249 pg_test_fsync.c:319 pg_test_fsync.c:344 -#: pg_test_fsync.c:366 pg_test_fsync.c:390 pg_test_fsync.c:429 -#: pg_test_fsync.c:488 pg_test_fsync.c:527 pg_test_fsync.c:555 -#: pg_test_fsync.c:586 +#: pg_test_fsync.c:255 pg_test_fsync.c:325 pg_test_fsync.c:350 +#: pg_test_fsync.c:372 pg_test_fsync.c:396 pg_test_fsync.c:435 +#: pg_test_fsync.c:494 pg_test_fsync.c:533 pg_test_fsync.c:561 +#: pg_test_fsync.c:592 msgid "write failed" msgstr "escritura falló" -#: pg_test_fsync.c:253 pg_test_fsync.c:368 pg_test_fsync.c:392 -#: pg_test_fsync.c:529 pg_test_fsync.c:561 +#: pg_test_fsync.c:259 pg_test_fsync.c:374 pg_test_fsync.c:398 +#: pg_test_fsync.c:535 pg_test_fsync.c:567 msgid "fsync failed" msgstr "fsync falló" -#: pg_test_fsync.c:292 +#: pg_test_fsync.c:298 #, c-format msgid "" "\n" @@ -130,7 +141,7 @@ msgstr "" "\n" "Comparar métodos de sincronización de archivos usando una escritura de %dkB:\n" -#: pg_test_fsync.c:294 +#: pg_test_fsync.c:300 #, c-format msgid "" "\n" @@ -139,21 +150,21 @@ msgstr "" "\n" "Comparar métodos de sincronización de archivos usando dos escrituras de %dkB:\n" -#: pg_test_fsync.c:295 +#: pg_test_fsync.c:301 #, c-format -msgid "(in wal_sync_method preference order, except fdatasync is Linux's default)\n" -msgstr "(en orden de preferencia de wal_sync_method, excepto en Linux donde fdatasync es el predeterminado)\n" +msgid "(in \"wal_sync_method\" preference order, except fdatasync is Linux's default)\n" +msgstr "(en orden de preferencia de «wal_sync_method», excepto en Linux donde fdatasync es el predeterminado)\n" -#: pg_test_fsync.c:306 pg_test_fsync.c:409 pg_test_fsync.c:476 +#: pg_test_fsync.c:312 pg_test_fsync.c:415 pg_test_fsync.c:482 msgid "n/a*" msgstr "n/a*" -#: pg_test_fsync.c:325 pg_test_fsync.c:397 pg_test_fsync.c:435 -#: pg_test_fsync.c:494 +#: pg_test_fsync.c:331 pg_test_fsync.c:403 pg_test_fsync.c:441 +#: pg_test_fsync.c:500 msgid "n/a" msgstr "n/a" -#: pg_test_fsync.c:440 +#: pg_test_fsync.c:446 #, c-format msgid "" "* This file system and its mount options do not support direct\n" @@ -162,7 +173,7 @@ msgstr "" "* Este sistema de archivos con sus opciones de montaje no soportan\n" " Direct I/O, e.g. ext4 en modo journal.\n" -#: pg_test_fsync.c:448 +#: pg_test_fsync.c:454 #, c-format msgid "" "\n" @@ -171,7 +182,7 @@ msgstr "" "\n" "Comparar open_sync con diferentes tamaños de escritura:\n" -#: pg_test_fsync.c:449 +#: pg_test_fsync.c:455 #, c-format msgid "" "(This is designed to compare the cost of writing 16kB in different write\n" @@ -180,27 +191,27 @@ msgstr "" "(Esto está diseñado para comparar el costo de escribir 16kB en diferentes\n" "tamaños de escrituras open_sync.)\n" -#: pg_test_fsync.c:452 +#: pg_test_fsync.c:458 msgid " 1 * 16kB open_sync write" msgstr " 1 * 16kB escritura open_sync" -#: pg_test_fsync.c:453 +#: pg_test_fsync.c:459 msgid " 2 * 8kB open_sync writes" msgstr " 2 * 8kB escrituras open_sync" -#: pg_test_fsync.c:454 +#: pg_test_fsync.c:460 msgid " 4 * 4kB open_sync writes" msgstr " 4 * 4kB escrituras open_sync" -#: pg_test_fsync.c:455 +#: pg_test_fsync.c:461 msgid " 8 * 2kB open_sync writes" msgstr " 8 * 2kB escrituras open_sync" -#: pg_test_fsync.c:456 +#: pg_test_fsync.c:462 msgid "16 * 1kB open_sync writes" msgstr "16 * 1kB escrituras open_sync" -#: pg_test_fsync.c:510 +#: pg_test_fsync.c:516 #, c-format msgid "" "\n" @@ -209,7 +220,7 @@ msgstr "" "\n" "Probar si se respeta fsync en un descriptor de archivo que no es de escritura:\n" -#: pg_test_fsync.c:511 +#: pg_test_fsync.c:517 #, c-format msgid "" "(If the times are similar, fsync() can sync data written on a different\n" @@ -218,7 +229,7 @@ msgstr "" "(Si los tiempos son similares, fsync() puede sincronizar datos escritos\n" "en un descriptor diferente.)\n" -#: pg_test_fsync.c:576 +#: pg_test_fsync.c:582 #, c-format msgid "" "\n" diff --git a/src/bin/pg_test_fsync/po/fr.po b/src/bin/pg_test_fsync/po/fr.po index dfedfe84e78..464f9c69687 100644 --- a/src/bin/pg_test_fsync/po/fr.po +++ b/src/bin/pg_test_fsync/po/fr.po @@ -8,10 +8,10 @@ # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 15\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-05-14 10:20+0000\n" -"PO-Revision-Date: 2022-05-14 17:17+0200\n" +"POT-Creation-Date: 2024-08-22 10:24+0000\n" +"PO-Revision-Date: 2024-09-16 16:28+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -19,110 +19,121 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.0.1\n" +"X-Generator: Poedit 3.5\n" -#: ../../../src/common/logging.c:277 +#: ../../../src/common/logging.c:276 #, c-format msgid "error: " msgstr "erreur : " -#: ../../../src/common/logging.c:284 +#: ../../../src/common/logging.c:283 #, c-format msgid "warning: " msgstr "attention : " -#: ../../../src/common/logging.c:295 +#: ../../../src/common/logging.c:294 #, c-format msgid "detail: " msgstr "détail : " -#: ../../../src/common/logging.c:302 +#: ../../../src/common/logging.c:301 #, c-format msgid "hint: " msgstr "astuce : " +#: ../../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 "mémoire épuisée\n" + +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 +#, c-format +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "ne peut pas dupliquer un pointeur nul (erreur interne)\n" + #. translator: maintain alignment with NA_FORMAT -#: pg_test_fsync.c:32 +#: pg_test_fsync.c:38 #, c-format msgid "%13.3f ops/sec %6.0f usecs/op\n" msgstr "%13.3f ops/sec %6.0f usecs/op\n" -#: pg_test_fsync.c:50 +#: pg_test_fsync.c:56 #, c-format msgid "could not create thread for alarm" msgstr "n'a pas pu créer un thread pour l'alarme" -#: pg_test_fsync.c:95 +#: pg_test_fsync.c:101 #, c-format msgid "%s: %m" msgstr "%s : %m" -#: pg_test_fsync.c:159 +#: pg_test_fsync.c:165 #, c-format msgid "Usage: %s [-f FILENAME] [-s SECS-PER-TEST]\n" msgstr "Usage: %s [-f NOMFICHIER] [-s SECS-PAR-TEST]\n" -#: pg_test_fsync.c:185 +#: pg_test_fsync.c:191 #, c-format msgid "invalid argument for option %s" msgstr "argument invalide pour l'option %s" -#: pg_test_fsync.c:186 pg_test_fsync.c:198 pg_test_fsync.c:207 +#: pg_test_fsync.c:192 pg_test_fsync.c:204 pg_test_fsync.c:213 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Essayez « %s --help » pour plus d'informations." -#: pg_test_fsync.c:192 +#: pg_test_fsync.c:198 #, c-format msgid "%s must be in range %u..%u" msgstr "%s doit être compris entre %u et %u" -#: pg_test_fsync.c:205 +#: pg_test_fsync.c:211 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "trop d'arguments en ligne de commande (le premier étant « %s »)" -#: pg_test_fsync.c:211 +#: pg_test_fsync.c:217 #, c-format msgid "%u second per test\n" msgid_plural "%u seconds per test\n" msgstr[0] "%u seconde par test\n" msgstr[1] "%u secondes par test\n" -#: pg_test_fsync.c:216 +#: pg_test_fsync.c:222 #, c-format msgid "O_DIRECT supported on this platform for open_datasync and open_sync.\n" msgstr "O_DIRECT supporté sur cette plateforme pour open_datasync et open_sync.\n" -#: pg_test_fsync.c:218 +#: pg_test_fsync.c:224 #, c-format msgid "F_NOCACHE supported on this platform for open_datasync and open_sync.\n" msgstr "F_NOCACHE supporté sur cette plateforme pour open_datasync et open_sync.\n" -#: pg_test_fsync.c:220 +#: pg_test_fsync.c:226 #, c-format msgid "Direct I/O is not supported on this platform.\n" msgstr "Direct I/O n'est pas supporté sur cette plateforme.\n" -#: pg_test_fsync.c:245 pg_test_fsync.c:336 pg_test_fsync.c:361 -#: pg_test_fsync.c:385 pg_test_fsync.c:529 pg_test_fsync.c:541 -#: pg_test_fsync.c:557 pg_test_fsync.c:563 pg_test_fsync.c:585 +#: pg_test_fsync.c:251 pg_test_fsync.c:341 pg_test_fsync.c:363 +#: pg_test_fsync.c:387 pg_test_fsync.c:531 pg_test_fsync.c:543 +#: pg_test_fsync.c:559 pg_test_fsync.c:565 pg_test_fsync.c:587 msgid "could not open output file" msgstr "n'a pas pu ouvrir le fichier en sortie" -#: pg_test_fsync.c:249 pg_test_fsync.c:319 pg_test_fsync.c:345 -#: pg_test_fsync.c:370 pg_test_fsync.c:394 pg_test_fsync.c:433 -#: pg_test_fsync.c:492 pg_test_fsync.c:531 pg_test_fsync.c:559 -#: pg_test_fsync.c:590 +#: pg_test_fsync.c:255 pg_test_fsync.c:325 pg_test_fsync.c:350 +#: pg_test_fsync.c:372 pg_test_fsync.c:396 pg_test_fsync.c:435 +#: pg_test_fsync.c:494 pg_test_fsync.c:533 pg_test_fsync.c:561 +#: pg_test_fsync.c:592 msgid "write failed" msgstr "échec en écriture" -#: pg_test_fsync.c:253 pg_test_fsync.c:372 pg_test_fsync.c:396 -#: pg_test_fsync.c:533 pg_test_fsync.c:565 +#: pg_test_fsync.c:259 pg_test_fsync.c:374 pg_test_fsync.c:398 +#: pg_test_fsync.c:535 pg_test_fsync.c:567 msgid "fsync failed" msgstr "échec de la synchronisation (fsync)" -#: pg_test_fsync.c:292 +#: pg_test_fsync.c:298 #, c-format msgid "" "\n" @@ -131,7 +142,7 @@ msgstr "" "\n" "Comparer les méthodes de synchronisation de fichier en utilisant une écriture de %d Ko :\n" -#: pg_test_fsync.c:294 +#: pg_test_fsync.c:300 #, c-format msgid "" "\n" @@ -140,21 +151,21 @@ msgstr "" "\n" "Comparer les méthodes de synchronisation de fichier sur disque en utilisant deux écritures de %d Ko :\n" -#: pg_test_fsync.c:295 +#: pg_test_fsync.c:301 #, c-format -msgid "(in wal_sync_method preference order, except fdatasync is Linux's default)\n" -msgstr "(dans l'ordre de préférence de wal_sync_method, sauf fdatasync qui est la valeur par défaut sous Linux)\n" +msgid "(in \"wal_sync_method\" preference order, except fdatasync is Linux's default)\n" +msgstr "(dans l'ordre de préférence de « wal_sync_method », sauf fdatasync qui est la valeur par défaut sous Linux)\n" -#: pg_test_fsync.c:306 pg_test_fsync.c:413 pg_test_fsync.c:480 +#: pg_test_fsync.c:312 pg_test_fsync.c:415 pg_test_fsync.c:482 msgid "n/a*" msgstr "n/a*" -#: pg_test_fsync.c:325 pg_test_fsync.c:351 pg_test_fsync.c:401 -#: pg_test_fsync.c:439 pg_test_fsync.c:498 +#: pg_test_fsync.c:331 pg_test_fsync.c:403 pg_test_fsync.c:441 +#: pg_test_fsync.c:500 msgid "n/a" msgstr "n/a" -#: pg_test_fsync.c:444 +#: pg_test_fsync.c:446 #, c-format msgid "" "* This file system and its mount options do not support direct\n" @@ -163,7 +174,7 @@ msgstr "" "* Ce système de fichiers et ses options de montage ne supportent pas les\n" " I/O directes, par exemple ext4 en journalisé.\n" -#: pg_test_fsync.c:452 +#: pg_test_fsync.c:454 #, c-format msgid "" "\n" @@ -172,7 +183,7 @@ msgstr "" "\n" "Comparer open_sync avec différentes tailles d'écriture :\n" -#: pg_test_fsync.c:453 +#: pg_test_fsync.c:455 #, c-format msgid "" "(This is designed to compare the cost of writing 16kB in different write\n" @@ -181,27 +192,27 @@ msgstr "" "(Ceci est conçu pour comparer le coût d'écriture de 16 Ko dans différentes tailles\n" "d'écritures open_sync.)\n" -#: pg_test_fsync.c:456 +#: pg_test_fsync.c:458 msgid " 1 * 16kB open_sync write" msgstr " 1 * 16 Ko, écriture avec open_sync" -#: pg_test_fsync.c:457 +#: pg_test_fsync.c:459 msgid " 2 * 8kB open_sync writes" msgstr " 2 * 8 Ko, écriture avec open_sync" -#: pg_test_fsync.c:458 +#: pg_test_fsync.c:460 msgid " 4 * 4kB open_sync writes" msgstr " 4 * 4 Ko, écriture avec open_sync" -#: pg_test_fsync.c:459 +#: pg_test_fsync.c:461 msgid " 8 * 2kB open_sync writes" msgstr " 8 * 2 Ko, écriture avec open_sync" -#: pg_test_fsync.c:460 +#: pg_test_fsync.c:462 msgid "16 * 1kB open_sync writes" msgstr " 16 * 1 Ko, écriture avec open_sync" -#: pg_test_fsync.c:514 +#: pg_test_fsync.c:516 #, c-format msgid "" "\n" @@ -210,7 +221,7 @@ msgstr "" "\n" "Teste si fsync est honoré sur un descripteur de fichiers sans écriture :\n" -#: pg_test_fsync.c:515 +#: pg_test_fsync.c:517 #, c-format msgid "" "(If the times are similar, fsync() can sync data written on a different\n" @@ -219,7 +230,7 @@ msgstr "" "(Si les temps sont similaires, fsync() peut synchroniser sur disque les données écrites sur\n" "un descripteur différent.)\n" -#: pg_test_fsync.c:580 +#: pg_test_fsync.c:582 #, c-format msgid "" "\n" @@ -227,16 +238,3 @@ msgid "" msgstr "" "\n" "%d Ko d'écritures non synchronisées :\n" - -#~ msgid "%s: %s\n" -#~ msgstr "%s : %s\n" - -#~ msgid "%s: too many command-line arguments (first is \"%s\")\n" -#~ msgstr "%s : trop d'arguments en ligne de commande (le premier étant « %s »)\n" - -#, c-format -#~ msgid "Try \"%s --help\" for more information.\n" -#~ msgstr "Essayez « %s --help » pour plus d'informations.\n" - -#~ msgid "seek failed" -#~ msgstr "seek échoué" diff --git a/src/bin/pg_test_fsync/po/ka.po b/src/bin/pg_test_fsync/po/ka.po index 9efe6500a3a..7377b96f94c 100644 --- a/src/bin/pg_test_fsync/po/ka.po +++ b/src/bin/pg_test_fsync/po/ka.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: pg_test_fsync (PostgreSQL) 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-05-18 22:24+0000\n" +"POT-Creation-Date: 2024-07-01 03:54+0000\n" "PO-Revision-Date: 2024-05-19 07:15+0200\n" "Last-Translator: Temuri Doghonadze \n" "Language-Team: Georgian \n" @@ -38,6 +38,17 @@ msgstr "დეტალები: " msgid "hint: " msgstr "მინიშნება: " +#: ../../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 "ნულოვანი მაჩვენებლის დუბლირება შეუძლებელია (შიდა შეცდომა)\n" + #. translator: maintain alignment with NA_FORMAT #: pg_test_fsync.c:38 #, c-format diff --git a/src/bin/pg_test_fsync/po/ru.po b/src/bin/pg_test_fsync/po/ru.po index 3ee354d1a9d..c6fccd00352 100644 --- a/src/bin/pg_test_fsync/po/ru.po +++ b/src/bin/pg_test_fsync/po/ru.po @@ -1,13 +1,13 @@ # Russian message translation file for pg_test_fsync # Copyright (C) 2017 PostgreSQL Global Development Group # This file is distributed under the same license as the PostgreSQL package. -# Alexander Lakhin , 2017, 2021, 2022. +# Alexander Lakhin , 2017, 2021, 2022, 2024. msgid "" msgstr "" "Project-Id-Version: pg_test_fsync (PostgreSQL) 10\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-08-28 07:59+0300\n" -"PO-Revision-Date: 2022-09-05 13:36+0300\n" +"POT-Creation-Date: 2024-09-02 09:29+0300\n" +"PO-Revision-Date: 2024-09-04 18:11+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" @@ -37,48 +37,59 @@ msgstr "подробности: " msgid "hint: " msgstr "подсказка: " +#: ../../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 "попытка дублирования нулевого указателя (внутренняя ошибка)\n" + #. translator: maintain alignment with NA_FORMAT -#: pg_test_fsync.c:32 +#: pg_test_fsync.c:38 #, c-format msgid "%13.3f ops/sec %6.0f usecs/op\n" msgstr "%13.3f оп/с %6.0f мкс/оп\n" -#: pg_test_fsync.c:50 +#: pg_test_fsync.c:56 #, c-format msgid "could not create thread for alarm" msgstr "не удалось создать поток для обработки сигналов" -#: pg_test_fsync.c:95 +#: pg_test_fsync.c:101 #, c-format msgid "%s: %m" msgstr "%s: %m" -#: pg_test_fsync.c:159 +#: pg_test_fsync.c:165 #, c-format msgid "Usage: %s [-f FILENAME] [-s SECS-PER-TEST]\n" msgstr "Использование: %s [-f ИМЯ_ФАЙЛА ] [-s ТЕСТ_СЕК]\n" -#: pg_test_fsync.c:185 +#: pg_test_fsync.c:191 #, c-format msgid "invalid argument for option %s" msgstr "недопустимый аргумент параметра %s" -#: pg_test_fsync.c:186 pg_test_fsync.c:198 pg_test_fsync.c:207 +#: pg_test_fsync.c:192 pg_test_fsync.c:204 pg_test_fsync.c:213 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Для дополнительной информации попробуйте \"%s --help\"." -#: pg_test_fsync.c:192 +#: pg_test_fsync.c:198 #, c-format msgid "%s must be in range %u..%u" msgstr "значение %s должно быть в диапазоне %u..%u" -#: pg_test_fsync.c:205 +#: pg_test_fsync.c:211 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "слишком много аргументов командной строки (первый: \"%s\")" -#: pg_test_fsync.c:211 +#: pg_test_fsync.c:217 #, c-format msgid "%u second per test\n" msgid_plural "%u seconds per test\n" @@ -86,42 +97,42 @@ msgstr[0] "на тест отводится %u сек.\n" msgstr[1] "на тест отводится %u сек.\n" msgstr[2] "на тест отводится %u сек.\n" -#: pg_test_fsync.c:216 +#: pg_test_fsync.c:222 #, c-format msgid "O_DIRECT supported on this platform for open_datasync and open_sync.\n" msgstr "" "O_DIRECT на этой платформе не поддерживается для open_datasync и open_sync.\n" -#: pg_test_fsync.c:218 +#: pg_test_fsync.c:224 #, c-format msgid "F_NOCACHE supported on this platform for open_datasync and open_sync.\n" msgstr "" "F_NOCACHE на этой платформе поддерживается для open_datasync и open_sync.\n" -#: pg_test_fsync.c:220 +#: pg_test_fsync.c:226 #, c-format msgid "Direct I/O is not supported on this platform.\n" msgstr "Прямой ввод/вывод не поддерживается на этой платформе.\n" -#: pg_test_fsync.c:245 pg_test_fsync.c:335 pg_test_fsync.c:357 -#: pg_test_fsync.c:381 pg_test_fsync.c:525 pg_test_fsync.c:537 -#: pg_test_fsync.c:553 pg_test_fsync.c:559 pg_test_fsync.c:581 +#: pg_test_fsync.c:251 pg_test_fsync.c:341 pg_test_fsync.c:363 +#: pg_test_fsync.c:387 pg_test_fsync.c:531 pg_test_fsync.c:543 +#: pg_test_fsync.c:559 pg_test_fsync.c:565 pg_test_fsync.c:587 msgid "could not open output file" msgstr "не удалось открыть выходной файл" -#: pg_test_fsync.c:249 pg_test_fsync.c:319 pg_test_fsync.c:344 -#: pg_test_fsync.c:366 pg_test_fsync.c:390 pg_test_fsync.c:429 -#: pg_test_fsync.c:488 pg_test_fsync.c:527 pg_test_fsync.c:555 -#: pg_test_fsync.c:586 +#: pg_test_fsync.c:255 pg_test_fsync.c:325 pg_test_fsync.c:350 +#: pg_test_fsync.c:372 pg_test_fsync.c:396 pg_test_fsync.c:435 +#: pg_test_fsync.c:494 pg_test_fsync.c:533 pg_test_fsync.c:561 +#: pg_test_fsync.c:592 msgid "write failed" msgstr "ошибка записи" -#: pg_test_fsync.c:253 pg_test_fsync.c:368 pg_test_fsync.c:392 -#: pg_test_fsync.c:529 pg_test_fsync.c:561 +#: pg_test_fsync.c:259 pg_test_fsync.c:374 pg_test_fsync.c:398 +#: pg_test_fsync.c:535 pg_test_fsync.c:567 msgid "fsync failed" msgstr "ошибка синхронизации с ФС" -#: pg_test_fsync.c:292 +#: pg_test_fsync.c:298 #, c-format msgid "" "\n" @@ -130,7 +141,7 @@ msgstr "" "\n" "Сравнение методов синхронизации файлов при однократной записи %d КБ:\n" -#: pg_test_fsync.c:294 +#: pg_test_fsync.c:300 #, c-format msgid "" "\n" @@ -139,24 +150,25 @@ msgstr "" "\n" "Сравнение методов синхронизации файлов при двухкратной записи %d КБ:\n" -#: pg_test_fsync.c:295 +#: pg_test_fsync.c:301 #, c-format msgid "" -"(in wal_sync_method preference order, except fdatasync is Linux's default)\n" +"(in \"wal_sync_method\" preference order, except fdatasync is Linux's " +"default)\n" msgstr "" -"(в порядке предпочтения для wal_sync_method, без учёта наибольшего " -"предпочтения fdatasync в Linux)\n" +"(в порядке предпочтения для \"wal_sync_method\", за исключением того, что в " +"Linux предпочитается fdatasync)\n" -#: pg_test_fsync.c:306 pg_test_fsync.c:409 pg_test_fsync.c:476 +#: pg_test_fsync.c:312 pg_test_fsync.c:415 pg_test_fsync.c:482 msgid "n/a*" msgstr "н/д*" -#: pg_test_fsync.c:325 pg_test_fsync.c:397 pg_test_fsync.c:435 -#: pg_test_fsync.c:494 +#: pg_test_fsync.c:331 pg_test_fsync.c:403 pg_test_fsync.c:441 +#: pg_test_fsync.c:500 msgid "n/a" msgstr "н/д" -#: pg_test_fsync.c:440 +#: pg_test_fsync.c:446 #, c-format msgid "" "* This file system and its mount options do not support direct\n" @@ -165,7 +177,7 @@ msgstr "" "* Эта файловая система с текущими параметрами монтирования не поддерживает\n" " прямой ввод/вывод, как например, ext4 в режиме журналирования.\n" -#: pg_test_fsync.c:448 +#: pg_test_fsync.c:454 #, c-format msgid "" "\n" @@ -174,7 +186,7 @@ msgstr "" "\n" "Сравнение open_sync при различных объёмах записываемых данных:\n" -#: pg_test_fsync.c:449 +#: pg_test_fsync.c:455 #, c-format msgid "" "(This is designed to compare the cost of writing 16kB in different write\n" @@ -185,27 +197,27 @@ msgstr "" "записи с open_sync.)\n" # skip-rule: double-space -#: pg_test_fsync.c:452 +#: pg_test_fsync.c:458 msgid " 1 * 16kB open_sync write" msgstr "запись с open_sync 1 * 16 КБ" -#: pg_test_fsync.c:453 +#: pg_test_fsync.c:459 msgid " 2 * 8kB open_sync writes" msgstr "запись с open_sync 2 * 8 КБ" -#: pg_test_fsync.c:454 +#: pg_test_fsync.c:460 msgid " 4 * 4kB open_sync writes" msgstr "запись с open_sync 4 * 4 КБ" -#: pg_test_fsync.c:455 +#: pg_test_fsync.c:461 msgid " 8 * 2kB open_sync writes" msgstr "запись с open_sync 8 * 2 КБ" -#: pg_test_fsync.c:456 +#: pg_test_fsync.c:462 msgid "16 * 1kB open_sync writes" msgstr "запись с open_sync 16 * 1 КБ" -#: pg_test_fsync.c:510 +#: pg_test_fsync.c:516 #, c-format msgid "" "\n" @@ -215,7 +227,7 @@ msgstr "" "Проверка, производится ли fsync с указателем файла, открытого не для " "записи:\n" -#: pg_test_fsync.c:511 +#: pg_test_fsync.c:517 #, c-format msgid "" "(If the times are similar, fsync() can sync data written on a different\n" @@ -225,7 +237,7 @@ msgstr "" "данные,\n" "записанные через другой дескриптор.)\n" -#: pg_test_fsync.c:576 +#: pg_test_fsync.c:582 #, c-format msgid "" "\n" diff --git a/src/bin/pg_test_fsync/po/sv.po b/src/bin/pg_test_fsync/po/sv.po index 45f059e9db5..3d03f5afe8c 100644 --- a/src/bin/pg_test_fsync/po/sv.po +++ b/src/bin/pg_test_fsync/po/sv.po @@ -1,14 +1,14 @@ # Swedish message translation file for pg_test_fsync # 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. +# Dennis Björklund , 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024. # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 15\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-05-09 18:51+0000\n" -"PO-Revision-Date: 2022-05-09 21:44+0200\n" +"POT-Creation-Date: 2024-07-12 14:25+0000\n" +"PO-Revision-Date: 2024-07-12 19:06+0200\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -17,108 +17,119 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../../../src/common/logging.c:277 +#: ../../../src/common/logging.c:276 #, c-format msgid "error: " msgstr "fel: " -#: ../../../src/common/logging.c:284 +#: ../../../src/common/logging.c:283 #, c-format msgid "warning: " msgstr "varning: " -#: ../../../src/common/logging.c:295 +#: ../../../src/common/logging.c:294 #, c-format msgid "detail: " msgstr "detalj: " -#: ../../../src/common/logging.c:302 +#: ../../../src/common/logging.c:301 #, c-format msgid "hint: " msgstr "tips: " +#: ../../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 "slut på minne\n" + +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 +#, c-format +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "kan inte duplicera null-pekare (internt fel)\n" + #. translator: maintain alignment with NA_FORMAT -#: pg_test_fsync.c:32 +#: pg_test_fsync.c:38 #, c-format msgid "%13.3f ops/sec %6.0f usecs/op\n" msgstr "%13.3f ops/sek %6.0f useks/op\n" -#: pg_test_fsync.c:50 +#: pg_test_fsync.c:56 #, c-format msgid "could not create thread for alarm" msgstr "kunde inte skapa alarmtråd" -#: pg_test_fsync.c:95 +#: pg_test_fsync.c:101 #, c-format msgid "%s: %m" msgstr "%s: %m" -#: pg_test_fsync.c:159 +#: pg_test_fsync.c:165 #, c-format msgid "Usage: %s [-f FILENAME] [-s SECS-PER-TEST]\n" msgstr "Användning: %s [-f FILENAMN] [-s SEK-PER-TEST]\n" -#: pg_test_fsync.c:185 +#: pg_test_fsync.c:191 #, c-format msgid "invalid argument for option %s" msgstr "ogiltigt argument för flaggan %s" -#: pg_test_fsync.c:186 pg_test_fsync.c:198 pg_test_fsync.c:207 +#: pg_test_fsync.c:192 pg_test_fsync.c:204 pg_test_fsync.c:213 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Försök med \"%s --help\" för mer information." -#: pg_test_fsync.c:192 +#: pg_test_fsync.c:198 #, c-format msgid "%s must be in range %u..%u" msgstr "%s måste vara i intervallet %u..%u" -#: pg_test_fsync.c:205 +#: pg_test_fsync.c:211 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "för många kommandoradsargument (första är \"%s\")" -#: pg_test_fsync.c:211 +#: pg_test_fsync.c:217 #, c-format msgid "%u second per test\n" msgid_plural "%u seconds per test\n" msgstr[0] "%u sekund per test\n" msgstr[1] "%u sekunder per test\n" -#: pg_test_fsync.c:216 +#: pg_test_fsync.c:222 #, c-format msgid "O_DIRECT supported on this platform for open_datasync and open_sync.\n" msgstr "O_DIRECT stöds på denna plattform för open_datasync och open_sync.\n" -#: pg_test_fsync.c:218 +#: pg_test_fsync.c:224 #, c-format msgid "F_NOCACHE supported on this platform for open_datasync and open_sync.\n" msgstr "F_NOCACHE stöds på denna plattform för open_datasync och open_sync.\n" -#: pg_test_fsync.c:220 +#: pg_test_fsync.c:226 #, c-format msgid "Direct I/O is not supported on this platform.\n" msgstr "Direkt I/O stöds inte på denna plattform.\n" -#: pg_test_fsync.c:245 pg_test_fsync.c:336 pg_test_fsync.c:361 -#: pg_test_fsync.c:385 pg_test_fsync.c:529 pg_test_fsync.c:541 -#: pg_test_fsync.c:557 pg_test_fsync.c:563 pg_test_fsync.c:585 +#: pg_test_fsync.c:251 pg_test_fsync.c:341 pg_test_fsync.c:363 +#: pg_test_fsync.c:387 pg_test_fsync.c:531 pg_test_fsync.c:543 +#: pg_test_fsync.c:559 pg_test_fsync.c:565 pg_test_fsync.c:587 msgid "could not open output file" msgstr "kunde inte öppna utdatafil" -#: pg_test_fsync.c:249 pg_test_fsync.c:319 pg_test_fsync.c:345 -#: pg_test_fsync.c:370 pg_test_fsync.c:394 pg_test_fsync.c:433 -#: pg_test_fsync.c:492 pg_test_fsync.c:531 pg_test_fsync.c:559 -#: pg_test_fsync.c:590 +#: pg_test_fsync.c:255 pg_test_fsync.c:325 pg_test_fsync.c:350 +#: pg_test_fsync.c:372 pg_test_fsync.c:396 pg_test_fsync.c:435 +#: pg_test_fsync.c:494 pg_test_fsync.c:533 pg_test_fsync.c:561 +#: pg_test_fsync.c:592 msgid "write failed" msgstr "skrivning misslyckades" -#: pg_test_fsync.c:253 pg_test_fsync.c:372 pg_test_fsync.c:396 -#: pg_test_fsync.c:533 pg_test_fsync.c:565 +#: pg_test_fsync.c:259 pg_test_fsync.c:374 pg_test_fsync.c:398 +#: pg_test_fsync.c:535 pg_test_fsync.c:567 msgid "fsync failed" msgstr "fsync misslyckades" -#: pg_test_fsync.c:292 +#: pg_test_fsync.c:298 #, c-format msgid "" "\n" @@ -127,7 +138,7 @@ msgstr "" "\n" "Jämför filsynkningsmetoder genom att använda en %dkB-skrivning:\n" -#: pg_test_fsync.c:294 +#: pg_test_fsync.c:300 #, c-format msgid "" "\n" @@ -136,21 +147,21 @@ msgstr "" "\n" "Jämför filsynkningsmetoder genom att använda två %dkB-skrivningar:\n" -#: pg_test_fsync.c:295 +#: pg_test_fsync.c:301 #, c-format -msgid "(in wal_sync_method preference order, except fdatasync is Linux's default)\n" -msgstr "(i wal_sync_method inställningsordning, förutom att fdatasync är standard i Linux)\n" +msgid "(in \"wal_sync_method\" preference order, except fdatasync is Linux's default)\n" +msgstr "(i \"wal_sync_method\" inställningsordning, förutom att fdatasync är standard i Linux)\n" -#: pg_test_fsync.c:306 pg_test_fsync.c:413 pg_test_fsync.c:480 +#: pg_test_fsync.c:312 pg_test_fsync.c:415 pg_test_fsync.c:482 msgid "n/a*" msgstr "ej tillämpbar*" -#: pg_test_fsync.c:325 pg_test_fsync.c:351 pg_test_fsync.c:401 -#: pg_test_fsync.c:439 pg_test_fsync.c:498 +#: pg_test_fsync.c:331 pg_test_fsync.c:403 pg_test_fsync.c:441 +#: pg_test_fsync.c:500 msgid "n/a" msgstr "ej tillämpbar" -#: pg_test_fsync.c:444 +#: pg_test_fsync.c:446 #, c-format msgid "" "* This file system and its mount options do not support direct\n" @@ -159,7 +170,7 @@ msgstr "" "* Detta filsystem och dess monteringsflaffor stöder inte\n" " direkt I/O, t.ex. ext4 i journalläge.\n" -#: pg_test_fsync.c:452 +#: pg_test_fsync.c:454 #, c-format msgid "" "\n" @@ -168,7 +179,7 @@ msgstr "" "\n" "Jämför open_sync med olika skrivstorlekar:\n" -#: pg_test_fsync.c:453 +#: pg_test_fsync.c:455 #, c-format msgid "" "(This is designed to compare the cost of writing 16kB in different write\n" @@ -177,27 +188,27 @@ msgstr "" "(Detta är gjort för att jämföra kostnaden att skriva 16kB med olika\n" "open_sync skrivstorlekar.)\n" -#: pg_test_fsync.c:456 +#: pg_test_fsync.c:458 msgid " 1 * 16kB open_sync write" msgstr " 1 * 16kB open_sync skrivning" -#: pg_test_fsync.c:457 +#: pg_test_fsync.c:459 msgid " 2 * 8kB open_sync writes" msgstr " 2 * 8kB open_sync skrivningar" -#: pg_test_fsync.c:458 +#: pg_test_fsync.c:460 msgid " 4 * 4kB open_sync writes" msgstr " 4 * 4kB open_sync skrivningar" -#: pg_test_fsync.c:459 +#: pg_test_fsync.c:461 msgid " 8 * 2kB open_sync writes" msgstr " 8 * 2kB open_sync skrivningar" -#: pg_test_fsync.c:460 +#: pg_test_fsync.c:462 msgid "16 * 1kB open_sync writes" msgstr "16 * 1kB open_sync skrivningar" -#: pg_test_fsync.c:514 +#: pg_test_fsync.c:516 #, c-format msgid "" "\n" @@ -206,7 +217,7 @@ msgstr "" "\n" "Testa om fsync på en icke skrivbar fildeskriptor respekteras:\n" -#: pg_test_fsync.c:515 +#: pg_test_fsync.c:517 #, c-format msgid "" "(If the times are similar, fsync() can sync data written on a different\n" @@ -215,7 +226,7 @@ msgstr "" "(Om tiderna är liknande, så kan fsync() synka data skriven på\n" "olika deskriptorer.)\n" -#: pg_test_fsync.c:580 +#: pg_test_fsync.c:582 #, c-format msgid "" "\n" @@ -223,7 +234,3 @@ msgid "" msgstr "" "\n" "Icke-synkade %dkB-skrivningar:\n" - -#, c-format -#~ msgid "Try \"%s --help\" for more information.\n" -#~ msgstr "Försök med \"%s --help\" för mer information.\n" diff --git a/src/bin/pg_test_fsync/po/uk.po b/src/bin/pg_test_fsync/po/uk.po index 00a789b1a42..a633ea634be 100644 --- a/src/bin/pg_test_fsync/po/uk.po +++ b/src/bin/pg_test_fsync/po/uk.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: postgresql\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-08-12 10:51+0000\n" -"PO-Revision-Date: 2022-09-13 11:52\n" +"POT-Creation-Date: 2024-08-31 06:24+0000\n" +"PO-Revision-Date: 2024-09-23 19:38\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -14,8 +14,8 @@ msgstr "" "X-Crowdin-Project: postgresql\n" "X-Crowdin-Project-ID: 324573\n" "X-Crowdin-Language: uk\n" -"X-Crowdin-File: /REL_15_STABLE/pg_test_fsync.pot\n" -"X-Crowdin-File-ID: 886\n" +"X-Crowdin-File: /REL_17_STABLE/pg_test_fsync.pot\n" +"X-Crowdin-File-ID: 1020\n" #: ../../../src/common/logging.c:276 #, c-format @@ -37,48 +37,59 @@ msgstr "деталі: " msgid "hint: " msgstr "підказка: " +#: ../../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 "неможливо дублювати нульовий покажчик (внутрішня помилка)\n" + #. translator: maintain alignment with NA_FORMAT -#: pg_test_fsync.c:32 +#: pg_test_fsync.c:38 #, c-format msgid "%13.3f ops/sec %6.0f usecs/op\n" msgstr "%13.3f оп/с %6.0f мкс/оп\n" -#: pg_test_fsync.c:50 +#: pg_test_fsync.c:56 #, c-format msgid "could not create thread for alarm" msgstr "не вдалося створити потік для сигналізації" -#: pg_test_fsync.c:95 +#: pg_test_fsync.c:101 #, c-format msgid "%s: %m" msgstr "%s: %m" -#: pg_test_fsync.c:159 +#: pg_test_fsync.c:165 #, c-format msgid "Usage: %s [-f FILENAME] [-s SECS-PER-TEST]\n" msgstr "Використання: %s [-f FILENAME] [-s SECS-PER-TEST]\n" -#: pg_test_fsync.c:185 +#: pg_test_fsync.c:191 #, c-format msgid "invalid argument for option %s" msgstr "неприпустимий аргумент для параметру %s" -#: pg_test_fsync.c:186 pg_test_fsync.c:198 pg_test_fsync.c:207 +#: pg_test_fsync.c:192 pg_test_fsync.c:204 pg_test_fsync.c:213 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Спробуйте \"%s --help\" для додаткової інформації." -#: pg_test_fsync.c:192 +#: pg_test_fsync.c:198 #, c-format msgid "%s must be in range %u..%u" msgstr "%s має бути в діапазоні %u..%u" -#: pg_test_fsync.c:205 +#: pg_test_fsync.c:211 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "забагато аргументів у командному рядку (перший \"%s\")" -#: pg_test_fsync.c:211 +#: pg_test_fsync.c:217 #, c-format msgid "%u second per test\n" msgid_plural "%u seconds per test\n" @@ -87,122 +98,122 @@ msgstr[1] "%u секунди на тест\n" msgstr[2] "%u секунд на тест\n" msgstr[3] "%u секунд на тест\n" -#: pg_test_fsync.c:216 +#: pg_test_fsync.c:222 #, c-format msgid "O_DIRECT supported on this platform for open_datasync and open_sync.\n" msgstr "O_DIRECT на цій платформі підтримується для open_datasync і open_sync.\n" -#: pg_test_fsync.c:218 +#: pg_test_fsync.c:224 #, c-format msgid "F_NOCACHE supported on this platform for open_datasync and open_sync.\n" msgstr "F_NOCACHE підтримується на цій платформі для open_datasync і open_sync.\n" -#: pg_test_fsync.c:220 +#: pg_test_fsync.c:226 #, c-format msgid "Direct I/O is not supported on this platform.\n" msgstr "Пряме введення/виведення не підтримується на цій платформі.\n" -#: pg_test_fsync.c:245 pg_test_fsync.c:336 pg_test_fsync.c:361 -#: pg_test_fsync.c:385 pg_test_fsync.c:529 pg_test_fsync.c:541 -#: pg_test_fsync.c:557 pg_test_fsync.c:563 pg_test_fsync.c:585 +#: pg_test_fsync.c:251 pg_test_fsync.c:341 pg_test_fsync.c:363 +#: pg_test_fsync.c:387 pg_test_fsync.c:531 pg_test_fsync.c:543 +#: pg_test_fsync.c:559 pg_test_fsync.c:565 pg_test_fsync.c:587 msgid "could not open output file" msgstr "неможливо відкрити файл виводу" -#: pg_test_fsync.c:249 pg_test_fsync.c:319 pg_test_fsync.c:345 -#: pg_test_fsync.c:370 pg_test_fsync.c:394 pg_test_fsync.c:433 -#: pg_test_fsync.c:492 pg_test_fsync.c:531 pg_test_fsync.c:559 -#: pg_test_fsync.c:590 +#: pg_test_fsync.c:255 pg_test_fsync.c:325 pg_test_fsync.c:350 +#: pg_test_fsync.c:372 pg_test_fsync.c:396 pg_test_fsync.c:435 +#: pg_test_fsync.c:494 pg_test_fsync.c:533 pg_test_fsync.c:561 +#: pg_test_fsync.c:592 msgid "write failed" msgstr "записування не вдалося" -#: pg_test_fsync.c:253 pg_test_fsync.c:372 pg_test_fsync.c:396 -#: pg_test_fsync.c:533 pg_test_fsync.c:565 +#: pg_test_fsync.c:259 pg_test_fsync.c:374 pg_test_fsync.c:398 +#: pg_test_fsync.c:535 pg_test_fsync.c:567 msgid "fsync failed" msgstr "помилка fsync" -#: pg_test_fsync.c:292 +#: pg_test_fsync.c:298 #, c-format msgid "\n" "Compare file sync methods using one %dkB write:\n" msgstr "\n" "Порівнювання методів синхронізації файлу, використовуючи один запис %dkB:\n" -#: pg_test_fsync.c:294 +#: pg_test_fsync.c:300 #, c-format msgid "\n" "Compare file sync methods using two %dkB writes:\n" msgstr "\n" "Порівнювання методів синхронізації файлу, використовуючи два записи %dkB: \n" -#: pg_test_fsync.c:295 +#: pg_test_fsync.c:301 #, c-format -msgid "(in wal_sync_method preference order, except fdatasync is Linux's default)\n" -msgstr "(в порядку переваги для wal_sync_method, окрім переваги fdatasync в Linux)\n" +msgid "(in \"wal_sync_method\" preference order, except fdatasync is Linux's default)\n" +msgstr "(в порядку переваги для \"wal_sync_method\", окрім fdatasync за замовчуванням в Linux)\n" -#: pg_test_fsync.c:306 pg_test_fsync.c:413 pg_test_fsync.c:480 +#: pg_test_fsync.c:312 pg_test_fsync.c:415 pg_test_fsync.c:482 msgid "n/a*" msgstr "н/д*" -#: pg_test_fsync.c:325 pg_test_fsync.c:351 pg_test_fsync.c:401 -#: pg_test_fsync.c:439 pg_test_fsync.c:498 +#: pg_test_fsync.c:331 pg_test_fsync.c:403 pg_test_fsync.c:441 +#: pg_test_fsync.c:500 msgid "n/a" msgstr "н/д" -#: pg_test_fsync.c:444 +#: pg_test_fsync.c:446 #, c-format msgid "* This file system and its mount options do not support direct\n" " I/O, e.g. ext4 in journaled mode.\n" msgstr "* Ця файлова система з поточними параметрами монтування не підтримує\n" " пряме введення/виведення, наприклад, ext4 в режимі журналювання.\n" -#: pg_test_fsync.c:452 +#: pg_test_fsync.c:454 #, c-format msgid "\n" "Compare open_sync with different write sizes:\n" msgstr "\n" "Порівняння open_sync з різними розмірами записування:\n" -#: pg_test_fsync.c:453 +#: pg_test_fsync.c:455 #, c-format msgid "(This is designed to compare the cost of writing 16kB in different write\n" "open_sync sizes.)\n" msgstr "(Це створено для порівняння вартості запису 16 КБ з різними розмірами\n" "записування open_sync.)\n" -#: pg_test_fsync.c:456 +#: pg_test_fsync.c:458 msgid " 1 * 16kB open_sync write" msgstr " запис з open_sync 1 * 16 КБ" -#: pg_test_fsync.c:457 +#: pg_test_fsync.c:459 msgid " 2 * 8kB open_sync writes" msgstr " запис з open_sync 2 * 8 КБ" -#: pg_test_fsync.c:458 +#: pg_test_fsync.c:460 msgid " 4 * 4kB open_sync writes" msgstr " запис з open_sync 4 * 4 КБ" -#: pg_test_fsync.c:459 +#: pg_test_fsync.c:461 msgid " 8 * 2kB open_sync writes" msgstr " запис з open_sync 8 * 2 КБ" -#: pg_test_fsync.c:460 +#: pg_test_fsync.c:462 msgid "16 * 1kB open_sync writes" msgstr "запис з open_sync 16 * 1 КБ" -#: pg_test_fsync.c:514 +#: pg_test_fsync.c:516 #, c-format msgid "\n" "Test if fsync on non-write file descriptor is honored:\n" msgstr "\n" "Перевірка, чи здійснюється fsync з дескриптором файлу, відкритого не для запису:\n" -#: pg_test_fsync.c:515 +#: pg_test_fsync.c:517 #, c-format msgid "(If the times are similar, fsync() can sync data written on a different\n" "descriptor.)\n" msgstr "(Якщо час однаковий, fsync() може синхронізувати дані, записані іншим дескриптором.)\n" -#: pg_test_fsync.c:580 +#: pg_test_fsync.c:582 #, c-format msgid "\n" "Non-sync'ed %dkB writes:\n" diff --git a/src/bin/pg_test_timing/po/es.po b/src/bin/pg_test_timing/po/es.po index 47cb27d9a0f..473f0494028 100644 --- a/src/bin/pg_test_timing/po/es.po +++ b/src/bin/pg_test_timing/po/es.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: pg_test_timing (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-05-22 07:19+0000\n" +"POT-Creation-Date: 2024-08-01 11:21+0000\n" "PO-Revision-Date: 2023-05-22 12:06+0200\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" @@ -20,6 +20,17 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Poedit 2.4.2\n" +#: ../../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 "memoria agotada\n" + +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 +#, c-format +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "no se puede duplicar un puntero nulo (error interno)\n" + #: pg_test_timing.c:59 #, c-format msgid "Usage: %s [-d DURATION]\n" diff --git a/src/bin/pg_test_timing/po/fr.po b/src/bin/pg_test_timing/po/fr.po index f97ebee84bd..3be64c4b32a 100644 --- a/src/bin/pg_test_timing/po/fr.po +++ b/src/bin/pg_test_timing/po/fr.po @@ -8,10 +8,10 @@ # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 15\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-04-12 05:16+0000\n" -"PO-Revision-Date: 2022-04-12 17:29+0200\n" +"POT-Creation-Date: 2024-08-22 10:20+0000\n" +"PO-Revision-Date: 2024-09-16 16:28+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -19,7 +19,18 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.0.1\n" +"X-Generator: Poedit 3.5\n" + +#: ../../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 "mémoire épuisée\n" + +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 +#, c-format +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "ne peut pas dupliquer un pointeur nul (erreur interne)\n" #: pg_test_timing.c:59 #, c-format @@ -85,6 +96,3 @@ msgstr "nombre" #, c-format msgid "Histogram of timing durations:\n" msgstr "Histogramme des durées de chronométrage\n" - -#~ msgid "%s: duration must be a positive integer (duration is \"%d\")\n" -#~ msgstr "%s : la durée doit être un entier positif (la durée est « %d »)\n" diff --git a/src/bin/pg_test_timing/po/ka.po b/src/bin/pg_test_timing/po/ka.po index a472b6c8bd7..6fb64047ee3 100644 --- a/src/bin/pg_test_timing/po/ka.po +++ b/src/bin/pg_test_timing/po/ka.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: pg_test_timing (PostgreSQL) 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-07-02 04:48+0000\n" +"POT-Creation-Date: 2024-07-01 03:51+0000\n" "PO-Revision-Date: 2022-07-04 11:40+0200\n" "Last-Translator: Temuri Doghonadze \n" "Language-Team: Georgian \n" @@ -18,6 +18,17 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 3.1\n" +#: ../../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 "ნულოვანი მაჩვენებლის დუბლირება შეუძლებელია (შიდა შეცდომა)\n" + #: pg_test_timing.c:59 #, c-format msgid "Usage: %s [-d DURATION]\n" diff --git a/src/bin/pg_test_timing/po/ru.po b/src/bin/pg_test_timing/po/ru.po index c24e78df428..6fdaef839ba 100644 --- a/src/bin/pg_test_timing/po/ru.po +++ b/src/bin/pg_test_timing/po/ru.po @@ -1,13 +1,13 @@ # Russian message translation file for pg_test_timing # Copyright (C) 2017 PostgreSQL Global Development Group # This file is distributed under the same license as the PostgreSQL package. -# Alexander Lakhin , 2017, 2021. +# Alexander Lakhin , 2017, 2021, 2024. msgid "" msgstr "" "Project-Id-Version: pg_test_timing (PostgreSQL) 10\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2021-08-14 06:29+0300\n" -"PO-Revision-Date: 2021-09-04 12:18+0300\n" +"POT-Creation-Date: 2024-09-02 09:29+0300\n" +"PO-Revision-Date: 2024-09-04 19:59+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" @@ -17,6 +17,17 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +#: ../../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 "попытка дублирования нулевого указателя (внутренняя ошибка)\n" + #: pg_test_timing.c:59 #, c-format msgid "Usage: %s [-d DURATION]\n" diff --git a/src/bin/pg_test_timing/po/sv.po b/src/bin/pg_test_timing/po/sv.po index 92c130dced6..d1fcae77547 100644 --- a/src/bin/pg_test_timing/po/sv.po +++ b/src/bin/pg_test_timing/po/sv.po @@ -1,14 +1,14 @@ # Swedish message translation file for pg_test_timing # 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. +# Dennis Björklund , 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024. # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 14\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2021-11-06 17:16+0000\n" -"PO-Revision-Date: 2021-11-06 21:59+0100\n" +"POT-Creation-Date: 2024-07-12 14:21+0000\n" +"PO-Revision-Date: 2024-07-12 19:07+0200\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -17,6 +17,17 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" +#: ../../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 "slut på minne\n" + +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 +#, c-format +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "kan inte duplicera null-pekare (internt fel)\n" + #: pg_test_timing.c:59 #, c-format msgid "Usage: %s [-d DURATION]\n" diff --git a/src/bin/pg_test_timing/po/uk.po b/src/bin/pg_test_timing/po/uk.po index 53135933aa4..52837fbbda2 100644 --- a/src/bin/pg_test_timing/po/uk.po +++ b/src/bin/pg_test_timing/po/uk.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: postgresql\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-08-12 10:49+0000\n" -"PO-Revision-Date: 2022-09-13 11:52\n" +"POT-Creation-Date: 2024-08-31 06:21+0000\n" +"PO-Revision-Date: 2024-09-23 19:38\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -14,8 +14,19 @@ msgstr "" "X-Crowdin-Project: postgresql\n" "X-Crowdin-Project-ID: 324573\n" "X-Crowdin-Language: uk\n" -"X-Crowdin-File: /REL_15_STABLE/pg_test_timing.pot\n" -"X-Crowdin-File-ID: 912\n" +"X-Crowdin-File: /REL_17_STABLE/pg_test_timing.pot\n" +"X-Crowdin-File-ID: 1002\n" + +#: ../../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 "неможливо дублювати нульовий покажчик (внутрішня помилка)\n" #: pg_test_timing.c:59 #, c-format diff --git a/src/bin/pg_upgrade/check.c b/src/bin/pg_upgrade/check.c index 51e30a2f239..1cf84cc1bb5 100644 --- a/src/bin/pg_upgrade/check.c +++ b/src/bin/pg_upgrade/check.c @@ -342,7 +342,7 @@ check_for_data_types_usage(ClusterInfo *cluster, DataTypesUsageChecks *checks) DataTypesUsageChecks *tmp = checks; int n_data_types_usage_checks = 0; - prep_status("Checking for data type usage"); + prep_status("Checking data type usage"); /* Gather number of checks to perform */ while (tmp->status != NULL) @@ -477,7 +477,7 @@ check_for_data_types_usage(ClusterInfo *cluster, DataTypesUsageChecks *checks) */ if (!results[checknum]) { - pg_log(PG_REPORT, " failed check: %s", _(cur_check->status)); + pg_log(PG_REPORT, "failed check: %s", _(cur_check->status)); appendPQExpBuffer(&report, "\n%s\n%s %s\n", _(cur_check->report_text), _("A list of the problem columns is in the file:"), @@ -1756,7 +1756,7 @@ check_new_cluster_logical_replication_slots(void) nslots_on_new = atoi(PQgetvalue(res, 0, 0)); if (nslots_on_new) - pg_fatal("Expected 0 logical replication slots but found %d.", + pg_fatal("expected 0 logical replication slots but found %d", nslots_on_new); PQclear(res); @@ -1771,7 +1771,7 @@ check_new_cluster_logical_replication_slots(void) wal_level = PQgetvalue(res, 0, 0); if (strcmp(wal_level, "logical") != 0) - pg_fatal("\"wal_level\" must be \"logical\", but is set to \"%s\"", + pg_fatal("\"wal_level\" must be \"logical\" but is set to \"%s\"", wal_level); max_replication_slots = atoi(PQgetvalue(res, 1, 0)); @@ -1895,7 +1895,7 @@ check_old_cluster_for_valid_slots(bool live_check) fclose(script); pg_log(PG_REPORT, "fatal"); - pg_fatal("Your installation contains logical replication slots that can't be upgraded.\n" + pg_fatal("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" "and then restart the upgrade.\n" "A list of the problematic slots is in the file:\n" diff --git a/src/bin/pg_upgrade/info.c b/src/bin/pg_upgrade/info.c index c07a69b63e5..5c041fa06e0 100644 --- a/src/bin/pg_upgrade/info.c +++ b/src/bin/pg_upgrade/info.c @@ -829,13 +829,13 @@ print_slot_infos(LogicalSlotInfoArr *slot_arr) if (slot_arr->nslots == 0) return; - pg_log(PG_VERBOSE, "Logical replication slots within the database:"); + pg_log(PG_VERBOSE, "Logical replication slots in the database:"); for (int slotnum = 0; slotnum < slot_arr->nslots; slotnum++) { LogicalSlotInfo *slot_info = &slot_arr->slots[slotnum]; - pg_log(PG_VERBOSE, "slot_name: \"%s\", plugin: \"%s\", two_phase: %s", + pg_log(PG_VERBOSE, "slot name: \"%s\", output plugin: \"%s\", two_phase: %s", slot_info->slotname, slot_info->plugin, slot_info->two_phase ? "true" : "false"); diff --git a/src/bin/pg_upgrade/po/de.po b/src/bin/pg_upgrade/po/de.po index 6ba30754d31..545eab9df79 100644 --- a/src/bin/pg_upgrade/po/de.po +++ b/src/bin/pg_upgrade/po/de.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_upgrade (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-06-18 04:50+0000\n" -"PO-Revision-Date: 2024-06-19 10:24+0200\n" +"POT-Creation-Date: 2024-10-30 10:50+0000\n" +"PO-Revision-Date: 2024-10-30 16:05+0100\n" "Last-Translator: Peter Eisentraut \n" "Language-Team: German \n" "Language: de\n" @@ -231,21 +231,21 @@ msgstr "" #: check.c:345 #, c-format -msgid "Checking for data type usage" +msgid "Checking data type usage" msgstr "Prüfe Verwendung von Datentypen" #: check.c:480 #, c-format -msgid " failed check: %s" -msgstr " fehlgeschlagene Prüfung: %s" +msgid "failed check: %s" +msgstr "fehlgeschlagene Prüfung: %s" #: check.c:483 msgid "A list of the problem columns is in the file:" msgstr "Eine Liste der Problemspalten ist in der Datei:" -#: check.c:495 check.c:961 check.c:1134 check.c:1249 check.c:1343 check.c:1471 -#: check.c:1547 check.c:1611 check.c:1684 check.c:1866 check.c:1885 -#: check.c:1954 check.c:2006 file.c:378 file.c:415 function.c:189 option.c:493 +#: 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 #, c-format msgid "could not open file \"%s\": %m" @@ -274,7 +274,7 @@ msgstr "" "Führe Konsistenzprüfungen durch\n" "-------------------------------" -#: check.c:716 +#: check.c:718 #, c-format msgid "" "\n" @@ -283,7 +283,7 @@ msgstr "" "\n" "*Cluster sind kompatibel*" -#: check.c:724 +#: check.c:726 #, c-format msgid "" "\n" @@ -295,7 +295,7 @@ msgstr "" "neuen Cluster neu mit initdb initialisieren, bevor fortgesetzt\n" "werden kann." -#: check.c:765 +#: check.c:767 #, c-format msgid "" "Optimizer statistics are not transferred by pg_upgrade.\n" @@ -306,7 +306,7 @@ msgstr "" "den neuen Server starten, sollte Sie diesen Befehl ausführen:\n" " %s/vacuumdb %s--all --analyze-in-stages" -#: check.c:771 +#: check.c:773 #, c-format msgid "" "Running this script will delete the old cluster's data files:\n" @@ -315,7 +315,7 @@ msgstr "" "Mit diesem Skript können die Dateien des alten Clusters gelöscht werden:\n" " %s" -#: check.c:776 +#: check.c:778 #, c-format msgid "" "Could not create a script to delete the old cluster's data files\n" @@ -328,57 +328,57 @@ msgstr "" "Datenverzeichnis des neuen Clusters im alten Cluster-Verzeichnis\n" "liegen. Der Inhalt des alten Clusters muss von Hand gelöscht werden." -#: check.c:788 +#: check.c:790 #, c-format msgid "Checking cluster versions" msgstr "Prüfe Cluster-Versionen" -#: check.c:800 +#: check.c:802 #, c-format msgid "This utility can only upgrade from PostgreSQL version %s and later." msgstr "Dieses Programm kann nur Upgrades von PostgreSQL Version %s oder später durchführen." -#: check.c:805 +#: check.c:807 #, c-format msgid "This utility can only upgrade to PostgreSQL version %s." msgstr "Dieses Programm kann nur Upgrades auf PostgreSQL Version %s durchführen." -#: check.c:814 +#: check.c:816 #, c-format msgid "This utility cannot be used to downgrade to older major PostgreSQL versions." msgstr "Dieses Programm kann keine Downgrades auf ältere Hauptversionen von PostgreSQL durchführen." -#: check.c:819 +#: check.c:821 #, c-format msgid "Old cluster data and binary directories are from different major versions." msgstr "Die Daten- und Programmverzeichnisse des alten Clusters stammen von verschiedenen Hauptversionen." -#: check.c:822 +#: check.c:824 #, c-format msgid "New cluster data and binary directories are from different major versions." msgstr "Die Daten- und Programmverzeichnisse des neuen Clusters stammen von verschiedenen Hauptversionen." -#: check.c:837 +#: check.c:839 #, c-format msgid "When checking a live server, the old and new port numbers must be different." msgstr "Wenn ein laufender Server geprüft wird, müssen die alte und die neue Portnummer verschieden sein." -#: check.c:857 +#: check.c:859 #, c-format msgid "New cluster database \"%s\" is not empty: found relation \"%s.%s\"" msgstr "Datenbank »%s« im neuen Cluster ist nicht leer: Relation »%s.%s« gefunden" -#: check.c:880 +#: check.c:882 #, c-format msgid "Checking for new cluster tablespace directories" msgstr "Prüfe Tablespace-Verzeichnisse des neuen Clusters" -#: check.c:891 +#: check.c:893 #, c-format msgid "new cluster tablespace directory already exists: \"%s\"" msgstr "Tablespace-Verzeichnis für neuen Cluster existiert bereits: »%s«" -#: check.c:924 +#: check.c:926 #, c-format msgid "" "\n" @@ -387,7 +387,7 @@ msgstr "" "\n" "WARNUNG: das neue Datenverzeichnis sollte nicht im alten Datenverzeichnis, d.h. %s, liegen" -#: check.c:948 +#: check.c:950 #, c-format msgid "" "\n" @@ -396,53 +396,53 @@ msgstr "" "\n" "WARNUNG: benutzerdefinierte Tablespace-Pfade sollten nicht im Datenverzeichnis, d.h. %s, liegen" -#: check.c:958 +#: check.c:960 #, c-format msgid "Creating script to delete old cluster" msgstr "Erzeuge Skript zum Löschen des alten Clusters" -#: check.c:1012 +#: check.c:1014 #, c-format msgid "could not add execute permission to file \"%s\": %m" msgstr "konnte Datei »%s« nicht ausführbar machen: %m" -#: check.c:1032 +#: check.c:1034 #, c-format msgid "Checking database user is the install user" msgstr "Prüfe ob der Datenbankbenutzer der Installationsbenutzer ist" -#: check.c:1048 +#: check.c:1050 #, c-format msgid "database user \"%s\" is not the install user" msgstr "Datenbankbenutzer »%s« ist nicht der Installationsbenutzer" -#: check.c:1059 +#: check.c:1061 #, c-format msgid "could not determine the number of users" msgstr "konnte die Anzahl der Benutzer nicht ermitteln" -#: check.c:1067 +#: check.c:1069 #, c-format msgid "Only the install user can be defined in the new cluster." msgstr "Nur der Installationsbenutzer darf im neuen Cluster definiert sein." -#: check.c:1096 +#: check.c:1098 #, c-format msgid "Checking database connection settings" msgstr "Prüfe Verbindungseinstellungen der Datenbank" -#: check.c:1122 +#: check.c:1124 #, c-format msgid "template0 must not allow connections, i.e. its pg_database.datallowconn must be false" msgstr "template0 darf keine Verbindungen erlauben, d.h. ihr pg_database.datallowconn muss falsch sein" -#: check.c:1148 check.c:1268 check.c:1365 check.c:1490 check.c:1566 -#: check.c:1624 check.c:1704 check.c:1898 check.c:2023 function.c:210 +#: 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 #, c-format msgid "fatal" msgstr "fatal" -#: check.c:1149 +#: check.c:1151 #, c-format msgid "" "All non-template0 databases must allow connections, i.e. their\n" @@ -462,27 +462,27 @@ msgstr "" "in der Datei:\n" " %s" -#: check.c:1174 +#: check.c:1176 #, c-format msgid "Checking for prepared transactions" msgstr "Prüfe auf vorbereitete Transaktionen" -#: check.c:1183 +#: check.c:1185 #, c-format msgid "The source cluster contains prepared transactions" msgstr "Der alte Cluster enthält vorbereitete Transaktionen" -#: check.c:1185 +#: check.c:1187 #, c-format msgid "The target cluster contains prepared transactions" msgstr "Der neue Cluster enthält vorbereitete Transaktionen" -#: check.c:1210 +#: check.c:1212 #, c-format msgid "Checking for contrib/isn with bigint-passing mismatch" msgstr "Prüfe auf contrib/isn mit unpassender bigint-Übergabe" -#: check.c:1269 +#: check.c:1271 #, c-format msgid "" "Your installation contains \"contrib/isn\" functions which rely on the\n" @@ -502,12 +502,12 @@ msgstr "" "der problematischen Funktionen ist in der Datei:\n" " %s" -#: check.c:1291 +#: check.c:1293 #, c-format msgid "Checking for user-defined postfix operators" msgstr "Prüfe auf benutzerdefinierte Postfix-Operatoren" -#: check.c:1366 +#: check.c:1368 #, c-format msgid "" "Your installation contains user-defined postfix operators, which are not\n" @@ -522,12 +522,12 @@ msgstr "" "Liste der benutzerdefinierten Postfixoperatoren ist in der Datei:\n" " %s" -#: check.c:1390 +#: check.c:1392 #, c-format msgid "Checking for incompatible polymorphic functions" msgstr "Prüfe auf inkompatible polymorphische Funktionen" -#: check.c:1491 +#: check.c:1493 #, c-format msgid "" "Your installation contains user-defined objects that refer to internal\n" @@ -548,12 +548,12 @@ msgstr "" "Eine Liste der problematischen Objekte ist in der Datei:\n" " %s" -#: check.c:1515 +#: check.c:1517 #, c-format msgid "Checking for tables WITH OIDS" msgstr "Prüfe auf Tabellen mit WITH OIDS" -#: check.c:1567 +#: check.c:1569 #, c-format msgid "" "Your installation contains tables declared WITH OIDS, which is not\n" @@ -568,12 +568,12 @@ msgstr "" "Eine Liste der Tabellen mit dem Problem ist in der Datei:\n" " %s" -#: check.c:1594 +#: check.c:1596 #, c-format msgid "Checking for roles starting with \"pg_\"" msgstr "Prüfe auf Rollen, die mit »pg_« anfangen" -#: check.c:1625 +#: check.c:1627 #, c-format msgid "" "Your installation contains roles starting with \"pg_\".\n" @@ -588,12 +588,12 @@ msgstr "" "Eine Liste der Rollen, die mit »pg_« anfangen, ist in der Datei:\n" " %s" -#: check.c:1645 +#: check.c:1647 #, c-format msgid "Checking for user-defined encoding conversions" msgstr "Prüfe auf benutzerdefinierte Kodierungsumwandlungen" -#: check.c:1705 +#: check.c:1707 #, c-format msgid "" "Your installation contains user-defined encoding conversions.\n" @@ -612,55 +612,55 @@ msgstr "" "in der Datei:\n" " %s" -#: check.c:1744 +#: check.c:1746 #, c-format msgid "Checking for new cluster logical replication slots" msgstr "Prüfe logische Replikations-Slots des neuen Clusters" -#: check.c:1752 +#: check.c:1754 #, c-format msgid "could not count the number of logical replication slots" msgstr "konnte Anzahl der logischen Replikations-Slots nicht zählen" -#: check.c:1757 +#: check.c:1759 #, c-format -msgid "Expected 0 logical replication slots but found %d." -msgstr "0 logische Replikations-Slots erwartet aber %d gefunden." +msgid "expected 0 logical replication slots but found %d" +msgstr "0 logische Replikations-Slots erwartet aber %d gefunden" -#: check.c:1767 check.c:1821 +#: check.c:1769 check.c:1820 #, c-format msgid "could not determine parameter settings on new cluster" msgstr "konnte Parametereinstellung im neuen Cluster nicht ermitteln" -#: check.c:1772 +#: check.c:1774 #, c-format -msgid "\"wal_level\" must be \"logical\", but is set to \"%s\"" +msgid "\"wal_level\" must be \"logical\" but is set to \"%s\"" msgstr "»wal_level« muss »logical« sein, aber es ist auf »%s« gesetzt" -#: check.c:1778 +#: check.c:1780 #, 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) muss größer als oder gleich der Anzahl der logischen Replikations-Slots (%d) im alten Cluster sein" -#: check.c:1813 +#: check.c:1812 #, c-format msgid "Checking for new cluster configuration for subscriptions" msgstr "Prüfe Konfiguration für Subskriptionen im neuen Cluster" -#: check.c:1825 +#: check.c:1824 #, 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) muss größer als oder gleich der Anzahl der Subskriptionen (%d) im alten Cluster sein" -#: check.c:1847 +#: check.c:1846 #, c-format msgid "Checking for valid logical replication slots" msgstr "Prüfe auf gültige logische Replikations-Slots" -#: check.c:1899 +#: check.c:1898 #, c-format msgid "" -"Your installation contains logical replication slots that can't be upgraded.\n" +"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" "and then restart the upgrade.\n" "A list of the problematic slots is in the file:\n" @@ -673,12 +673,12 @@ msgstr "" "Eine Liste der problematischen Slots ist in der Datei:\n" " %s" -#: check.c:1923 +#: check.c:1922 #, c-format msgid "Checking for subscription state" msgstr "Prüfe Subskriptionszustand" -#: check.c:2024 +#: check.c:2023 #, c-format msgid "" "Your installation contains subscriptions without origin or having relations not in i (initialize) or r (ready) state.\n" @@ -1196,47 +1196,47 @@ msgstr "" "Datei:\n" " %s" -#: info.c:129 +#: info.c:128 #, c-format msgid "Relation names for OID %u in database \"%s\" do not match: old name \"%s.%s\", new name \"%s.%s\"" msgstr "Relationsnamen für OID %u in Datenbank »%s« stimmen nicht überein: alten Name »%s.%s«, neuer Name »%s.%s«" -#: info.c:149 +#: info.c:148 #, c-format msgid "Failed to match up old and new tables in database \"%s\"" msgstr "Alte und neue Tabellen in Datenbank »%s« konnten nicht gepaart werden" -#: info.c:230 +#: info.c:229 #, c-format msgid " which is an index on \"%s.%s\"" msgstr ", ein Index für »%s.%s«" -#: info.c:240 +#: info.c:239 #, c-format msgid " which is an index on OID %u" msgstr ", ein Index für OID %u" -#: info.c:252 +#: info.c:251 #, c-format msgid " which is the TOAST table for \"%s.%s\"" msgstr ", eine TOAST-Tabelle für »%s.%s«" -#: info.c:260 +#: info.c:259 #, c-format msgid " which is the TOAST table for OID %u" msgstr ", eine TOAST-Tabelle für OID %u" -#: info.c:264 +#: info.c:263 #, c-format msgid "No match found in old cluster for new relation with OID %u in database \"%s\": %s" msgstr "Keine Übereinstimmung gefunden im alten Cluster für neue Relation mit OID %u in Datenbank »%s«: %s" -#: info.c:267 +#: info.c:266 #, c-format msgid "No match found in new cluster for old relation with OID %u in database \"%s\": %s" msgstr "Keine Übereinstimmung gefunden im neuen Cluster für alte Relation mit OID %u in Datenbank »%s«: %s" -#: info.c:308 +#: info.c:300 #, c-format msgid "" "\n" @@ -1245,7 +1245,7 @@ msgstr "" "\n" "Quelldatenbanken:" -#: info.c:310 +#: info.c:302 #, c-format msgid "" "\n" @@ -1254,30 +1254,30 @@ msgstr "" "\n" "Zieldatenbanken:" -#: info.c:354 +#: info.c:346 #, c-format msgid "template0 not found" msgstr "template0 nicht gefunden" -#: info.c:842 +#: info.c:805 #, c-format msgid "Database: \"%s\"" msgstr "Datenbank: »%s«" -#: info.c:855 +#: info.c:818 #, c-format msgid "relname: \"%s.%s\", reloid: %u, reltblspace: \"%s\"" msgstr "relname: »%s.%s«, reloid: %u, reltblspace: »%s«" -#: info.c:869 +#: info.c:832 #, c-format -msgid "Logical replication slots within the database:" +msgid "Logical replication slots in the database:" msgstr "Logische Replikations-Slots in der Datenbank:" -#: info.c:875 +#: info.c:838 #, c-format -msgid "slot_name: \"%s\", plugin: \"%s\", two_phase: %s" -msgstr "Slot-Name: »%s«, Plugin: »%s«, two_phase: %s" +msgid "slot name: \"%s\", output plugin: \"%s\", two_phase: %s" +msgstr "Slot-Name: »%s«, Ausgabe-Plugin: »%s«, two_phase: %s" #: option.c:105 #, c-format diff --git a/src/bin/pg_upgrade/po/es.po b/src/bin/pg_upgrade/po/es.po index b5f6055b2a4..42ee1b2c513 100644 --- a/src/bin/pg_upgrade/po/es.po +++ b/src/bin/pg_upgrade/po/es.po @@ -1,18 +1,18 @@ # spanish message translation file for pg_upgrade # -# Copyright (c) 2017-2021, PostgreSQL Global Development Group +# Copyright (c) 2017-2024, PostgreSQL Global Development Group # # This file is distributed under the same license as the PostgreSQL package. -# Álvaro Herrera , 2017. +# Álvaro Herrera , 2017, 2024. # Carlos Chapi , 2021. # msgid "" msgstr "" -"Project-Id-Version: pg_upgrade (PostgreSQL) 16\n" +"Project-Id-Version: pg_upgrade (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-05-22 07:19+0000\n" -"PO-Revision-Date: 2023-05-22 12:06+0200\n" -"Last-Translator: Carlos Chapi \n" +"POT-Creation-Date: 2024-08-01 11:20+0000\n" +"PO-Revision-Date: 2024-08-04 22:44-0400\n" +"Last-Translator: Álvaro Herrera \n" "Language-Team: PgSQL-es-Ayuda \n" "Language: es\n" "MIME-Version: 1.0\n" @@ -20,7 +20,243 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: BlackCAT 1.1\n" -#: check.c:69 +#: ../../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 "memoria agotada\n" + +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 +#, c-format +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "no se puede duplicar un puntero nulo (error interno)\n" + +#: ../../common/restricted_token.c:168 +#, c-format +msgid "could not get exit code from subprocess: error code %lu" +msgstr "no se pudo obtener el código de salida del subproceso: código de error %lu" + +#: ../../common/username.c:43 +#, c-format +msgid "could not look up effective user ID %ld: %s" +msgstr "no se pudo buscar el ID de usuario efectivo %ld: %s" + +#: ../../common/username.c:45 +msgid "user does not exist" +msgstr "el usuario no existe" + +#: ../../common/username.c:60 +#, c-format +msgid "user name lookup failure: error code %lu" +msgstr "fallo en la búsqueda de nombre de usuario: código de error %lu" + +#: ../../fe_utils/string_utils.c:434 +#, c-format +msgid "shell command argument contains a newline or carriage return: \"%s\"\n" +msgstr "el argumento de la orden de shell contiene un salto de línea o retorno de carro: «%s»\n" + +#: ../../fe_utils/string_utils.c:607 +#, c-format +msgid "database name contains a newline or carriage return: \"%s\"\n" +msgstr "el nombre de base de datos contiene un salto de línea o retorno de carro: «%s»\n" + +#: check.c:111 +msgid "Checking for system-defined composite types in user tables" +msgstr "Verificando tipos compuestos definidos por el sistema en tablas de usuario" + +#: check.c:118 +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" +"problem columns and restart the upgrade.\n" +msgstr "" +"Su instalación contiene tipos compuestos definidos por el sistema en\n" +"tablas de usuario. Los OIDs de estos tipos no son estables entre diferentes\n" +"versiones de PostgreSQL, por lo que este clúster no puede ser actualizado.\n" +"Puede eliminar las columnas problemáticas y reiniciar la actualización.\n" + +#: check.c:132 +msgid "Checking for incompatible \"line\" data type" +msgstr "Verificando datos de usuario de tipo «line» incompatible" + +#: check.c:137 +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" +"cluster cannot currently be upgraded. You can\n" +"drop the problem columns and restart the upgrade.\n" +msgstr "" +"Su instalación contiene el tipo de dato «line» en tablas de usuario. Este\n" +"tipo de dato cambió su formato interno y de entrada/salida entre las\n" +"versiones de sus clústers antiguo y nuevo, por lo que este clúster no puede\n" +"actualmente ser actualizado. Puede eliminar las columnas problemáticas y\n" +"reiniciar la actualización.\n" + +#: check.c:154 +msgid "Checking for reg* data types in user tables" +msgstr "Verificando tipos de datos reg* en datos de usuario" + +#: check.c:181 +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" +"drop the problem columns and restart the upgrade.\n" +msgstr "" +"Su instalación contiene uno de los tipos reg* en tablas de usuario. Estos tipos\n" +"de dato hacen referencia a OIDs de sistema que no son preservados por pg_upgrade,\n" +"por lo que este clúster no puede ser actualizado.\n" +"Puede eliminar las columnas problemáticas y reiniciar la actualización.\n" + +#: check.c:193 +msgid "Checking for incompatible \"aclitem\" data type" +msgstr "Verificando datos de usuario de tipo «aclitem» incompatible" + +#: check.c:198 +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" +"problem columns and restart the upgrade.\n" +msgstr "" +"Su instalación contiene el tipo «aclitem» en tablas de usuario.\n" +"El formato interno de «aclitem» cambió en PostgreSQL versión 16,\n" +"por lo que este clúster no puede ser actualizado.\n" +"Puede eliminar las columnas problemáticas y reiniciar la actualización.\n" + +#: check.c:217 +msgid "Checking for invalid \"unknown\" user columns" +msgstr "Verificando columnas de usuario del tipo no válido «unknown»" + +#: check.c:222 +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" +"and restart the upgrade.\n" +msgstr "" +"Su instalación contiene el tipo «unknown» en tablas de usuario.\n" +"Este tipo ya no es permitido en tablas,\n" +"por lo que este clúster no puede ser actualizado. Puede\n" +"eliminar las columnas problemáticas y reiniciar la actualización.\n" + +#: check.c:239 +msgid "Checking for invalid \"sql_identifier\" user columns" +msgstr "Verificando columnas de usuario del tipo «sql_identifier»" + +#: check.c:244 +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" +"columns and restart the upgrade.\n" +msgstr "" +"Su instalación contiene el tipo de dato «sql_identifier» en tablas de usuario.\n" +"El formato en disco para este tipo de dato ha cambiado, por lo que\n" +"este clúster no puede ser actualizado.\n" +"Puede eliminar las columnas problemáticas y reiniciar la actualización.\n" + +#: check.c:255 +msgid "Checking for incompatible \"jsonb\" data type in user tables" +msgstr "Verificando datos de usuario de tipo «jsonb» incompatible" + +#: check.c:260 +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" +"columns and restart the upgrade.\n" +msgstr "" +"Su instalación contiene el tipo «jsonb» en tablas de usuario.\n" +"El formato interno de «jsonb» cambió durante 9.4 beta,\n" +"por lo que este clúster no puede ser actualizado.\n" +"Puede eliminar las columnas problemáticas y reiniciar la actualización.\n" + +#: check.c:272 +msgid "Checking for removed \"abstime\" data type in user tables" +msgstr "Verificando tipo de datos «abstime» eliminado en tablas de usuario" + +#: check.c:277 +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" +"problem columns, or change them to another data type, and restart\n" +"the upgrade.\n" +msgstr "" +"Su instalación contiene el tipo «abstime» en tablas de usuario.\n" +"El tipo «abstime» fue eliminado en la versión 12 de PostgreSQL,\n" +"por lo que este clúster no puede ser actualizado.\n" +"Puede eliminar las columnas problemáticas, o cambiarlas a otro\n" +"tipo de dato, y reiniciar la actualización.\n" + +#: check.c:285 +msgid "Checking for removed \"reltime\" data type in user tables" +msgstr "Verificando tipo de datos «reltime» eliminado en tablas de usuario" + +#: check.c:290 +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" +"problem columns, or change them to another data type, and restart\n" +"the upgrade.\n" +msgstr "" +"Su instalación contiene el tipo «reltime» en tablas de usuario.\n" +"El tipo «reltime» fue eliminado en la versión 12 de PostgreSQL,\n" +"por lo que este clúster no puede ser actualizado.\n" +"Puede eliminar las columnas problemáticas, o cambiarlas a otro\n" +"tipo de dato, y reiniciar la actualización.\n" + +#: check.c:298 +msgid "Checking for removed \"tinterval\" data type in user tables" +msgstr "Verificando tipo de datos «tinterval» eliminado en tablas de usuario" + +#: check.c:303 +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" +"problem columns, or change them to another data type, and restart\n" +"the upgrade.\n" +msgstr "" +"Su instalación contiene el tipo «tinterval» en tablas de usuario.\n" +"El tipo «tinterval» fue eliminado en la versión 12 de PostgreSQL,\n" +"por lo que este clúster no puede ser actualizado.\n" +"Puede eliminar las columnas problemáticas, o cambiarlas a otro\n" +"tipo de dato, y reiniciar la actualización.\n" + +#: check.c:345 +#, c-format +msgid "Checking for data type usage" +msgstr "Verificando el uso de tipos de datos" + +#: check.c:480 +#, c-format +msgid " failed check: %s" +msgstr " falló la comprobación: %s" + +#: check.c:483 +msgid "A list of the problem columns is in the file:" +msgstr "Una lista de las columnas problemáticas está en el archivo:" + +#: 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 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "no se pudo abrir el archivo «%s»: %m" + +# FIXME this should probably use plural msgfmt +#: check.c:522 +#, c-format +msgid "Data type checks failed: %s" +msgstr "Verificaciones de tipos de datos fallidas: %s" + +#: check.c:563 #, c-format msgid "" "Performing Consistency Checks on Old Live Server\n" @@ -29,7 +265,7 @@ msgstr "" "Verificando Consistencia en Vivo en el Servidor Antiguo\n" "-------------------------------------------------------" -#: check.c:75 +#: check.c:569 #, c-format msgid "" "Performing Consistency Checks\n" @@ -38,7 +274,7 @@ msgstr "" "Verificando Consistencia\n" "------------------------" -#: check.c:221 +#: check.c:718 #, c-format msgid "" "\n" @@ -47,7 +283,7 @@ msgstr "" "\n" "*Los clústers son compatibles*" -#: check.c:229 +#: check.c:726 #, c-format msgid "" "\n" @@ -58,7 +294,7 @@ msgstr "" "Si pg_upgrade falla a partir de este punto, deberá re-ejecutar initdb\n" "en el clúster nuevo antes de continuar." -#: check.c:270 +#: check.c:767 #, c-format msgid "" "Optimizer statistics are not transferred by pg_upgrade.\n" @@ -69,7 +305,7 @@ msgstr "" "Una vez que inicie el servidor nuevo, considere ejecutar:\n" " %s/vacuumdb %s--all --analyze-in-stages" -#: check.c:276 +#: check.c:773 #, c-format msgid "" "Running this script will delete the old cluster's data files:\n" @@ -78,7 +314,7 @@ msgstr "" "Ejecutando este script se borrarán los archivos de datos del servidor antiguo:\n" " %s" -#: check.c:281 +#: check.c:778 #, c-format msgid "" "Could not create a script to delete the old cluster's data files\n" @@ -91,57 +327,57 @@ msgstr "" "o el directorio de datos del servidor nuevo. El contenido del servidor\n" "antiguo debe ser borrado manualmente." -#: check.c:293 +#: check.c:790 #, c-format msgid "Checking cluster versions" msgstr "Verificando las versiones de los clústers" -#: check.c:305 +#: check.c:802 #, c-format msgid "This utility can only upgrade from PostgreSQL version %s and later." msgstr "Este programa sólo puede actualizar desde PostgreSQL versión %s y posterior." -#: check.c:310 +#: check.c:807 #, c-format msgid "This utility can only upgrade to PostgreSQL version %s." msgstr "Este programa sólo puede actualizar a PostgreSQL versión %s." -#: check.c:319 +#: check.c:816 #, c-format msgid "This utility cannot be used to downgrade to older major PostgreSQL versions." msgstr "Este programa no puede usarse para volver a versiones anteriores de PostgreSQL." -#: check.c:324 +#: check.c:821 #, c-format msgid "Old cluster data and binary directories are from different major versions." msgstr "El directorio de datos antiguo y el directorio de binarios antiguo son de versiones diferentes." -#: check.c:327 +#: check.c:824 #, c-format msgid "New cluster data and binary directories are from different major versions." msgstr "El directorio de datos nuevo y el directorio de binarios nuevo son de versiones diferentes." -#: check.c:342 +#: check.c:839 #, c-format msgid "When checking a live server, the old and new port numbers must be different." msgstr "Al verificar servidores en caliente, los números de port antiguo y nuevo deben ser diferentes." -#: check.c:362 +#: check.c:859 #, c-format msgid "New cluster database \"%s\" is not empty: found relation \"%s.%s\"" msgstr "La base de datos «%s» del clúster nuevo no está vacía: se encontró la relación «%s.%s»" -#: check.c:385 +#: check.c:882 #, c-format msgid "Checking for new cluster tablespace directories" msgstr "Verificando los directorios de tablespaces para el nuevo clúster" -#: check.c:396 +#: check.c:893 #, c-format msgid "new cluster tablespace directory already exists: \"%s\"" msgstr "directorio de tablespace para el nuevo clúster ya existe: «%s»" -#: check.c:429 +#: check.c:926 #, c-format msgid "" "\n" @@ -151,7 +387,7 @@ msgstr "" "ADVERTENCIA: el directorio de datos nuevo no debería estar dentro del directorio antiguo,\n" "esto es, %s" -#: check.c:453 +#: check.c:950 #, c-format msgid "" "\n" @@ -160,61 +396,53 @@ msgstr "" "\n" "ADVERTENCIA: las ubicaciones de tablespaces definidos por el usuario no deberían estar dentro del directorio de datos, esto es, %s" -#: check.c:463 +#: check.c:960 #, c-format msgid "Creating script to delete old cluster" msgstr "Creando un script para borrar el clúster antiguo" -#: check.c:466 check.c:639 check.c:755 check.c:850 check.c:979 check.c:1056 -#: check.c:1299 check.c:1373 file.c:339 function.c:163 option.c:476 -#: version.c:116 version.c:292 version.c:426 +#: check.c:1014 #, c-format -msgid "could not open file \"%s\": %s" -msgstr "no se pudo abrir el archivo «%s»: %s" +msgid "could not add execute permission to file \"%s\": %m" +msgstr "no se pudo agregar permisos de ejecución al archivo «%s»: %m" -#: check.c:517 -#, c-format -msgid "could not add execute permission to file \"%s\": %s" -msgstr "no se pudo agregar permisos de ejecución al archivo «%s»: %s" - -#: check.c:537 +#: check.c:1034 #, c-format msgid "Checking database user is the install user" msgstr "Verificando que el usuario de base de datos es el usuario de instalación" -#: check.c:553 +#: check.c:1050 #, c-format msgid "database user \"%s\" is not the install user" msgstr "el usuario de base de datos «%s» no es el usuario de instalación" -#: check.c:564 +#: check.c:1061 #, c-format msgid "could not determine the number of users" msgstr "no se pudo determinar el número de usuarios" -#: check.c:572 +#: check.c:1069 #, c-format msgid "Only the install user can be defined in the new cluster." msgstr "Sólo el usuario de instalación puede estar definido en el nuevo clúster." -#: check.c:601 +#: check.c:1098 #, c-format msgid "Checking database connection settings" msgstr "Verificando los parámetros de conexión de bases de datos" -#: check.c:627 +#: check.c:1124 #, c-format msgid "template0 must not allow connections, i.e. its pg_database.datallowconn must be false" msgstr "template0 no debe permitir conexiones, es decir su pg_database.datallowconn debe ser «false»" -#: check.c:654 check.c:775 check.c:873 check.c:999 check.c:1076 check.c:1135 -#: check.c:1196 check.c:1224 check.c:1254 check.c:1313 check.c:1394 -#: function.c:185 version.c:192 version.c:232 version.c:378 +#: 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 #, c-format msgid "fatal" msgstr "fatal" -#: check.c:655 +#: check.c:1151 #, c-format msgid "" "All non-template0 databases must allow connections, i.e. their\n" @@ -233,27 +461,27 @@ msgstr "" "conexión. Un listado de las bases de datos con el problema se encuentra en:\n" " %s" -#: check.c:680 +#: check.c:1176 #, c-format msgid "Checking for prepared transactions" msgstr "Verificando transacciones preparadas" -#: check.c:689 +#: check.c:1185 #, c-format msgid "The source cluster contains prepared transactions" msgstr "El clúster de origen contiene transacciones preparadas" -#: check.c:691 +#: check.c:1187 #, c-format msgid "The target cluster contains prepared transactions" msgstr "El clúster de destino contiene transacciones preparadas" -#: check.c:716 +#: check.c:1212 #, c-format msgid "Checking for contrib/isn with bigint-passing mismatch" msgstr "Verificando contrib/isn con discordancia en mecanismo de paso de bigint" -#: check.c:776 +#: check.c:1271 #, c-format msgid "" "Your installation contains \"contrib/isn\" functions which rely on the\n" @@ -272,12 +500,12 @@ msgstr "" "Un listado de funciones problemáticas está en el archivo:\n" " %s" -#: check.c:798 +#: check.c:1293 #, c-format msgid "Checking for user-defined postfix operators" msgstr "Verificando operadores postfix definidos por el usuario" -#: check.c:874 +#: check.c:1368 #, c-format msgid "" "Your installation contains user-defined postfix operators, which are not\n" @@ -292,12 +520,12 @@ msgstr "" "Una lista de operadores postfix definidos por el usuario aparece en el archivo:\n" " %s" -#: check.c:898 +#: check.c:1392 #, c-format msgid "Checking for incompatible polymorphic functions" msgstr "Verificando funciones polimórficas incompatibles" -#: check.c:1000 +#: check.c:1493 #, c-format msgid "" "Your installation contains user-defined objects that refer to internal\n" @@ -316,12 +544,12 @@ msgstr "" "«anycompatible». Una lista de los objetos problemáticos está en el archivo:\n" " %s" -#: check.c:1024 +#: check.c:1517 #, c-format msgid "Checking for tables WITH OIDS" msgstr "Verificando tablas WITH OIDS" -#: check.c:1077 +#: check.c:1569 #, c-format msgid "" "Your installation contains tables declared WITH OIDS, which is not\n" @@ -336,149 +564,132 @@ msgstr "" "Una lista de tablas con este problema aparece en el archivo:\n" " %s" -#: check.c:1105 +#: check.c:1596 #, c-format -msgid "Checking for system-defined composite types in user tables" -msgstr "Verificando tipos compuestos definidos por el sistema en tablas de usuario" +msgid "Checking for roles starting with \"pg_\"" +msgstr "Verificando roles que empiecen con «pg_»" -#: check.c:1136 +#: check.c:1627 #, c-format msgid "" -"Your installation contains system-defined composite type(s) in user tables.\n" -"These type OIDs are not stable across PostgreSQL versions,\n" -"so this cluster cannot currently be upgraded. You can\n" -"drop the problem columns and restart the upgrade.\n" -"A list of the problem columns is in the file:\n" +"Your installation contains roles starting with \"pg_\".\n" +"\"pg_\" is a reserved prefix for system roles. The cluster\n" +"cannot be upgraded until these roles are renamed.\n" +"A list of roles starting with \"pg_\" is in the file:\n" " %s" msgstr "" -"Su instalación contiene uno o varios tipos compuestos definidos por el sistema en\n" -"tablas de usuario. Los OIDs de estos tipos no son estables entre diferentes\n" -"versiones de PostgreSQL, por lo que este clúster no puede ser actualizado.\n" -"Puede eliminar las columnas problemáticas y reiniciar la actualización.\n" -"Un listado de las columnas problemáticas está en el archivo:\n" +"Su instalación contiene nombres de rol que comienzan con «pg_».\n" +"«pg_» es un prefijo reservado para roles de sistema. El clúster\n" +"no puede ser actualizado hasta que esos roles hayan sido renombrados.\n" +"Un listado de los roles que empiezan con «pg_» está en el archivo:\n" " %s" -#: check.c:1164 +#: check.c:1647 #, c-format -msgid "Checking for reg* data types in user tables" -msgstr "Verificando tipos de datos reg* en datos de usuario" +msgid "Checking for user-defined encoding conversions" +msgstr "Verificando conversiones de codificación definidas por el usuario" -#: check.c:1197 +#: check.c:1707 #, c-format msgid "" -"Your installation contains one of the reg* data types in user tables.\n" -"These data types reference system OIDs that are not preserved by\n" -"pg_upgrade, so this cluster cannot currently be upgraded. You can\n" -"drop the problem columns and restart the upgrade.\n" -"A list of the problem columns is in the file:\n" +"Your installation contains user-defined encoding conversions.\n" +"The conversion function parameters changed in PostgreSQL version 14\n" +"so this cluster cannot currently be upgraded. You can remove the\n" +"encoding conversions in the old cluster and restart the upgrade.\n" +"A list of user-defined encoding conversions is in the file:\n" " %s" msgstr "" -"Su instalación contiene uno de los tipos reg* en tablas de usuario. Estos tipos\n" -"de dato hacen referencia a OIDs de sistema que no son preservados por pg_upgrade,\n" -"por lo que este clúster no puede ser actualizado.\n" -"Puede eliminar las columnas problemáticas y reiniciar la actualización.\n" -"Un listado de las columnas problemáticas está en el archivo:\n" +"Su instalación contiene conversiones de codificación definidas por el usuario.\n" +"Los parámetros de la función de conversión cambiaron en PostgreSQL 14\n" +"por lo que este clúster no puede ser actualizado. Puede eliminar\n" +"las conversiones de codificación en el clúster antiguo y reiniciar la actualización.\n" +"Un listado de las conversiones de codificación definidas por el usuario está en el archivo:\n" " %s" -#: check.c:1218 +#: check.c:1746 #, c-format -#| msgid "Checking for incompatible aclitem data type in user tables" -msgid "Checking for incompatible \"aclitem\" data type in user tables" -msgstr "Verificando datos de usuario de tipo «aclitem» incompatible" +msgid "Checking for new cluster logical replication slots" +msgstr "Verificando slots de replicación lógica en el clúster nuevo" -#: check.c:1225 +#: check.c:1754 #, c-format -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" -"problem columns and restart the upgrade. A list of the problem\n" -"columns is in the file:\n" -" %s" -msgstr "" -"Su instalación contiene el tipo «jsonb» en tablas de usuario.\n" -"El formato interno de «jsonb» cambió durante 9.4 beta,\n" -"por lo que este clúster no puede ser actualizado.\n" -"Puede eliminar las columnas problemáticas y reiniciar la actualización.\n" -"Un listado de las columnas problemáticas está en el archivo:\n" -" %s" +msgid "could not count the number of logical replication slots" +msgstr "no se pudo contar el número de slots de replicación lógica" -#: check.c:1246 +#: check.c:1759 #, c-format -msgid "Checking for incompatible \"jsonb\" data type" -msgstr "Verificando datos de usuario en tipo «jsonb» incompatible" +msgid "Expected 0 logical replication slots but found %d." +msgstr "Se esperaban 0 slots de replicación lógica pero se encontraron %d." -#: check.c:1255 +#: check.c:1769 check.c:1820 #, c-format -msgid "" -"Your installation contains the \"jsonb\" data type in user tables.\n" -"The internal format of \"jsonb\" changed during 9.4 beta so this\n" -"cluster cannot currently be upgraded. You can\n" -"drop the problem columns and restart the upgrade.\n" -"A list of the problem columns is in the file:\n" -" %s" -msgstr "" -"Su instalación contiene el tipo «jsonb» en tablas de usuario.\n" -"El formato interno de «jsonb» cambió durante 9.4 beta,\n" -"por lo que este clúster no puede ser actualizado.\n" -"Puede eliminar las columnas problemáticas y reiniciar la actualización.\n" -"Un listado de las columnas problemáticas está en el archivo:\n" -" %s" +msgid "could not determine parameter settings on new cluster" +msgstr "no se pudo determinar el valor de los parámetros en el clúster nuevo" -#: check.c:1282 +#: check.c:1774 #, c-format -msgid "Checking for roles starting with \"pg_\"" -msgstr "Verificando roles que empiecen con «pg_»" +msgid "\"wal_level\" must be \"logical\", but is set to \"%s\"" +msgstr "«wal_level» debe ser definido a «logical», pero está definido a «%s»" + +#: check.c:1780 +#, 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_replicacion_slots» (%d) debe ser mayor o igual al número de slots de replicación lógica en el cluster antiguo (%d)" + +#: check.c:1812 +#, c-format +msgid "Checking for new cluster configuration for subscriptions" +msgstr "Verificando configuraciones del clúster nuevo para suscripciones" -#: check.c:1314 +#: check.c:1824 +#, 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) debe ser mayor o igual al número de suscripciones en el clúster antiguo (%d)" + +#: check.c:1846 +#, c-format +msgid "Checking for valid logical replication slots" +msgstr "Verificando los slots de replicación lógica válidos" + +#: check.c:1898 #, c-format -#| msgid "" -#| "Your installation contains roles starting with \"pg_\".\n" -#| "\"pg_\" is a reserved prefix for system roles, the cluster\n" -#| "cannot be upgraded until these roles are renamed.\n" -#| "A list of roles starting with \"pg_\" is in the file:\n" -#| " %s" msgid "" -"Your installation contains roles starting with \"pg_\".\n" -"\"pg_\" is a reserved prefix for system roles. The cluster\n" -"cannot be upgraded until these roles are renamed.\n" -"A list of roles starting with \"pg_\" is in the file:\n" +"Your installation contains logical replication slots that can't be upgraded.\n" +"You can remove invalid slots and/or consume the pending WAL for other slots,\n" +"and then restart the upgrade.\n" +"A list of the problematic slots is in the file:\n" " %s" msgstr "" -"Su instalación contiene nombres de rol que comienzan con «pg_».\n" -"«pg_» es un prefijo reservado para roles de sistema. El clúster\n" -"no puede ser actualizado hasta que esos roles hayan sido renombrados.\n" -"Un listado de los roles que empiezan con «pg_» está en el archivo:\n" +"Su instalación contiene slots de replicación lógica que no pueden ser actualizados.\n" +"Puede eliminar slots inválidos y/o consumir el WAL pendiente en los otros slots,\n" +"y reiniciar la actualización.\n" +"Un listado de los slots problemáticos está en el archivo:\n" " %s" -#: check.c:1334 +#: check.c:1922 #, c-format -msgid "Checking for user-defined encoding conversions" -msgstr "Verificando conversiones de codificación definidas por el usuario" +msgid "Checking for subscription state" +msgstr "Verificando el estado de suscripción" -#: check.c:1395 +#: check.c:2023 #, c-format msgid "" -"Your installation contains user-defined encoding conversions.\n" -"The conversion function parameters changed in PostgreSQL version 14\n" -"so this cluster cannot currently be upgraded. You can remove the\n" -"encoding conversions in the old cluster and restart the upgrade.\n" -"A list of user-defined encoding conversions is in the file:\n" +"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" +"A list of the problematic subscriptions is in the file:\n" " %s" msgstr "" -"Su instalación contiene conversiones de codificación definidas por el usuario.\n" -"Los parámetros de la función de conversión cambiaron en PostgreSQL 14\n" -"por lo que este clúster no puede ser actualizado. Puede eliminar\n" -"las conversiones de codificación en el clúster antiguo y reiniciar la actualización.\n" -"Un listado de las conversiones de codificación definidas por el usuario está en el archivo:\n" +"Su instalación contiene suscripciones sin origen o que tiene relaciones que no están en estado i (inicializar) o r (listo).\n" +"Puede permitir que la sincronización inicial termine para todas las relaciones y luego reiniciar la actualización.\n" +"Una lista de las suscripciones problemáticas está en el archivo:\n" " %s" -#: controldata.c:129 controldata.c:175 controldata.c:199 controldata.c:508 +#: controldata.c:129 controldata.c:199 #, c-format -msgid "could not get control data using %s: %s" -msgstr "no se pudo obtener datos de control usando %s: %s" +msgid "could not get control data using %s: %m" +msgstr "no se pudo obtener datos de control usando %s: %m" -#: controldata.c:140 +#: controldata.c:139 #, c-format msgid "%d: database cluster state problem" msgstr "%d: problema de estado del clúster" @@ -495,13 +706,18 @@ msgstr "El clúster de destino fue apagado mientras estaba en modo de recuperaci #: controldata.c:165 #, c-format -msgid "The source cluster was not shut down cleanly." -msgstr "El clúster de origen no fue apagado limpiamente." +msgid "The source cluster was not shut down cleanly, state reported as: \"%s\"" +msgstr "El clúster de origen no fue apagado limpiamente, el estado fue reportado como: «%s»" #: controldata.c:167 #, c-format -msgid "The target cluster was not shut down cleanly." -msgstr "El clúster de destino no fue apagado limpiamente." +msgid "The target cluster was not shut down cleanly, state reported as: \"%s\"" +msgstr "El clúster de destino no fue apagado limpiamente, el estado fue reportado como: «%s»" + +#: controldata.c:175 controldata.c:507 +#, c-format +msgid "could not get control data using %s: %s" +msgstr "no se pudo obtener datos de control usando %s: %s" #: controldata.c:181 #, c-format @@ -513,139 +729,139 @@ msgstr "Al clúster de origen le falta información de estado:" msgid "The target cluster lacks cluster state information:" msgstr "Al cluster de destino le falta información de estado:" -#: controldata.c:214 dump.c:50 exec.c:119 pg_upgrade.c:517 pg_upgrade.c:554 -#: relfilenumber.c:231 server.c:34 util.c:337 +#: controldata.c:213 dump.c:50 exec.c:118 pg_upgrade.c:556 pg_upgrade.c:596 +#: pg_upgrade.c:945 relfilenumber.c:233 server.c:34 util.c:337 #, c-format msgid "%s" msgstr "%s" -#: controldata.c:221 +#: controldata.c:220 #, c-format msgid "%d: pg_resetwal problem" msgstr "%d: problema en pg_resetwal" -#: controldata.c:231 controldata.c:241 controldata.c:252 controldata.c:263 -#: controldata.c:274 controldata.c:293 controldata.c:304 controldata.c:315 -#: controldata.c:326 controldata.c:337 controldata.c:348 controldata.c:359 -#: controldata.c:362 controldata.c:366 controldata.c:376 controldata.c:388 -#: controldata.c:399 controldata.c:410 controldata.c:421 controldata.c:432 -#: controldata.c:443 controldata.c:454 controldata.c:465 controldata.c:476 -#: controldata.c:487 controldata.c:498 +#: controldata.c:230 controldata.c:240 controldata.c:251 controldata.c:262 +#: controldata.c:273 controldata.c:292 controldata.c:303 controldata.c:314 +#: controldata.c:325 controldata.c:336 controldata.c:347 controldata.c:358 +#: controldata.c:361 controldata.c:365 controldata.c:375 controldata.c:387 +#: controldata.c:398 controldata.c:409 controldata.c:420 controldata.c:431 +#: controldata.c:442 controldata.c:453 controldata.c:464 controldata.c:475 +#: controldata.c:486 controldata.c:497 #, c-format msgid "%d: controldata retrieval problem" msgstr "%d: problema de extracción de controldata" -#: controldata.c:579 +#: controldata.c:578 #, c-format msgid "The source cluster lacks some required control information:" msgstr "Al clúster de origen le falta información de control requerida:" -#: controldata.c:582 +#: controldata.c:581 #, c-format msgid "The target cluster lacks some required control information:" msgstr "Al clúster de destino le falta información de control requerida:" -#: controldata.c:585 +#: controldata.c:584 #, c-format msgid " checkpoint next XID" msgstr " siguiente XID del último checkpoint" -#: controldata.c:588 +#: controldata.c:587 #, c-format msgid " latest checkpoint next OID" msgstr " siguiente OID del último checkpoint" -#: controldata.c:591 +#: controldata.c:590 #, c-format msgid " latest checkpoint next MultiXactId" msgstr " siguiente MultiXactId del último checkpoint" -#: controldata.c:595 +#: controldata.c:594 #, c-format msgid " latest checkpoint oldest MultiXactId" msgstr " MultiXactId más antiguo del último checkpoint" -#: controldata.c:598 +#: controldata.c:597 #, c-format msgid " latest checkpoint oldestXID" msgstr " XID más antiguo del último checkpoint" -#: controldata.c:601 +#: controldata.c:600 #, c-format msgid " latest checkpoint next MultiXactOffset" msgstr " siguiente MultiXactOffset del siguiente checkpoint" -#: controldata.c:604 +#: controldata.c:603 #, c-format msgid " first WAL segment after reset" msgstr " primer segmento de WAL después del reinicio" -#: controldata.c:607 +#: controldata.c:606 #, c-format msgid " float8 argument passing method" msgstr " método de paso de argumentos float8" -#: controldata.c:610 +#: controldata.c:609 #, c-format msgid " maximum alignment" msgstr " alineamiento máximo" -#: controldata.c:613 +#: controldata.c:612 #, c-format msgid " block size" msgstr " tamaño de bloques" -#: controldata.c:616 +#: controldata.c:615 #, c-format msgid " large relation segment size" msgstr " tamaño de segmento de relación grande" -#: controldata.c:619 +#: controldata.c:618 #, c-format msgid " WAL block size" msgstr " tamaño de bloque de WAL" -#: controldata.c:622 +#: controldata.c:621 #, c-format msgid " WAL segment size" msgstr " tamaño de segmento de WAL" -#: controldata.c:625 +#: controldata.c:624 #, c-format msgid " maximum identifier length" msgstr " máximo largo de identificadores" -#: controldata.c:628 +#: controldata.c:627 #, c-format msgid " maximum number of indexed columns" msgstr " máximo número de columnas indexadas" -#: controldata.c:631 +#: controldata.c:630 #, c-format msgid " maximum TOAST chunk size" msgstr " tamaño máximo de trozos TOAST" -#: controldata.c:635 +#: controldata.c:634 #, c-format msgid " large-object chunk size" msgstr " tamaño de trozos de objetos grandes" -#: controldata.c:638 +#: controldata.c:637 #, c-format msgid " dates/times are integers?" msgstr " fechas/horas son enteros?" -#: controldata.c:642 +#: controldata.c:641 #, c-format msgid " data checksum version" msgstr " versión del checksum de datos" -#: controldata.c:644 +#: controldata.c:643 #, c-format msgid "Cannot continue without required control information, terminating" msgstr "No se puede continuar sin la información de control requerida. Terminando" -#: controldata.c:659 +#: controldata.c:658 #, c-format msgid "" "old and new pg_controldata alignments are invalid or do not match.\n" @@ -654,77 +870,77 @@ msgstr "" "Alineamientos de pg_controldata antiguo y nuevo no son válidos o no coinciden.\n" "Seguramente un clúster es 32-bit y el otro es 64-bit" -#: controldata.c:663 +#: controldata.c:662 #, c-format msgid "old and new pg_controldata block sizes are invalid or do not match" msgstr "Los tamaños de bloque antiguo y nuevo no son válidos o no coinciden" -#: controldata.c:666 +#: controldata.c:665 #, c-format msgid "old and new pg_controldata maximum relation segment sizes are invalid or do not match" msgstr "El tamaño máximo de segmento de relación antiguo y nuevo no son válidos o no coinciden" -#: controldata.c:669 +#: controldata.c:668 #, c-format msgid "old and new pg_controldata WAL block sizes are invalid or do not match" msgstr "El tamaño de bloques de WAL antiguo y nuevo no son válidos o no coinciden" -#: controldata.c:672 +#: controldata.c:671 #, c-format msgid "old and new pg_controldata WAL segment sizes are invalid or do not match" msgstr "El tamaño de segmentos de WAL antiguo y nuevo no son válidos o no coinciden" -#: controldata.c:675 +#: controldata.c:674 #, c-format msgid "old and new pg_controldata maximum identifier lengths are invalid or do not match" msgstr "Los máximos largos de identificador antiguo y nuevo no son válidos o no coinciden" -#: controldata.c:678 +#: controldata.c:677 #, c-format msgid "old and new pg_controldata maximum indexed columns are invalid or do not match" msgstr "La cantidad máxima de columnas indexadas antigua y nueva no son válidos o no coinciden" -#: controldata.c:681 +#: controldata.c:680 #, c-format msgid "old and new pg_controldata maximum TOAST chunk sizes are invalid or do not match" msgstr "Los máximos de trozos TOAST antiguo y nuevo no son válidos o no coinciden" -#: controldata.c:686 +#: controldata.c:685 #, c-format msgid "old and new pg_controldata large-object chunk sizes are invalid or do not match" msgstr "Los tamaños de trozos de objetos grandes antiguo y nuevo no son válidos o no coinciden" -#: controldata.c:689 +#: controldata.c:688 #, c-format msgid "old and new pg_controldata date/time storage types do not match" msgstr "Los tipos de almacenamiento de fecha/hora antiguo y nuevo no coinciden" -#: controldata.c:702 +#: controldata.c:701 #, c-format msgid "old cluster does not use data checksums but the new one does" msgstr "El clúster antiguo no usa checksums de datos pero el nuevo sí" -#: controldata.c:705 +#: controldata.c:704 #, c-format msgid "old cluster uses data checksums but the new one does not" msgstr "El clúster antiguo usa checksums de datos pero el nuevo no" -#: controldata.c:707 +#: controldata.c:706 #, c-format msgid "old and new cluster pg_controldata checksum versions do not match" msgstr "Las versiones de checksum de datos antigua y nueva no coinciden" -#: controldata.c:718 +#: controldata.c:717 #, c-format msgid "Adding \".old\" suffix to old global/pg_control" msgstr "Agregando el sufijo «.old» a global/pg_control" -#: controldata.c:723 +#: controldata.c:722 #, c-format msgid "could not rename file \"%s\" to \"%s\": %m" msgstr "no se pudo renombrar el archivo de «%s» a «%s»: %m" -#: controldata.c:727 +#: controldata.c:726 #, c-format msgid "" "\n" @@ -749,27 +965,32 @@ msgstr "Creando el volcado de objetos globales" msgid "Creating dump of database schemas" msgstr "Creando el volcado de esquemas de bases de datos" -#: exec.c:47 exec.c:52 +#: exec.c:47 +#, c-format +msgid "could not get pg_ctl version data using %s: %m" +msgstr "no se pudo obtener datos de versión de pg_ctl usando %s: %m" + +#: exec.c:51 #, c-format msgid "could not get pg_ctl version data using %s: %s" msgstr "no se pudo obtener datos de versión de pg_ctl usando %s: %s" -#: exec.c:56 +#: exec.c:55 #, c-format msgid "could not get pg_ctl version output from %s" msgstr "no se pudo obtener la salida de versión de pg_ctl de %s" -#: exec.c:113 exec.c:117 +#: exec.c:112 exec.c:116 #, c-format msgid "command too long" msgstr "orden demasiado larga" -#: exec.c:161 pg_upgrade.c:286 +#: exec.c:160 pg_upgrade.c:311 #, c-format msgid "could not open log file \"%s\": %m" msgstr "no se pudo abrir el archivo de registro «%s»: %m" -#: exec.c:193 +#: exec.c:192 #, c-format msgid "" "\n" @@ -778,12 +999,12 @@ msgstr "" "\n" "*falló*" -#: exec.c:196 +#: exec.c:195 #, c-format msgid "There were problems executing \"%s\"" msgstr "Hubo problemas ejecutando «%s»" -#: exec.c:199 +#: exec.c:198 #, c-format msgid "" "Consult the last few lines of \"%s\" or \"%s\" for\n" @@ -792,7 +1013,7 @@ msgstr "" "Consulte las últimas línea de «%s» o «%s» para\n" "saber la causa probable de la falla." -#: exec.c:204 +#: exec.c:203 #, c-format msgid "" "Consult the last few lines of \"%s\" for\n" @@ -801,141 +1022,156 @@ msgstr "" "Consulte las últimas líneas de «%s» para saber\n" "la causa probable de la falla." -#: exec.c:219 pg_upgrade.c:296 +#: exec.c:218 pg_upgrade.c:321 #, c-format msgid "could not write to log file \"%s\": %m" msgstr "no se pudo escribir al archivo de log «%s»" -#: exec.c:245 +#: exec.c:244 #, c-format -msgid "could not open file \"%s\" for reading: %s" -msgstr "no se pudo abrir el archivo «%s» para lectura: %s" +msgid "could not open file \"%s\" for reading: %m" +msgstr "no se pudo abrir archivo «%s» para lectura: %m" -#: exec.c:272 +#: exec.c:270 #, c-format msgid "You must have read and write access in the current directory." msgstr "Debe tener privilegios de lectura y escritura en el directorio actual." -#: exec.c:325 exec.c:391 +#: exec.c:323 exec.c:389 exec.c:439 #, c-format -msgid "check for \"%s\" failed: %s" -msgstr "la comprobación de «%s» falló: %s" +msgid "check for \"%s\" failed: %m" +msgstr "la comprobación de «%s» falló: %m" -#: exec.c:328 exec.c:394 +#: exec.c:326 exec.c:392 #, c-format msgid "\"%s\" is not a directory" msgstr "«%s» no es un directorio" -#: exec.c:441 -#, c-format -msgid "check for \"%s\" failed: %m" -msgstr "la comprobación de «%s» falló: %m" - -#: exec.c:446 +#: exec.c:444 #, c-format msgid "check for \"%s\" failed: cannot execute" msgstr "La comprobación de «%s» falló: no se puede ejecutar" -#: exec.c:456 +#: exec.c:454 #, c-format msgid "check for \"%s\" failed: incorrect version: found \"%s\", expected \"%s\"" msgstr "La comprobación de «%s» falló: versión incorrecta: se encontró «%s», se esperaba «%s»" -#: file.c:43 file.c:64 +#: file.c:44 #, c-format -msgid "error while cloning relation \"%s.%s\" (\"%s\" to \"%s\"): %s" -msgstr "error mientras se clonaba la relación «%s.%s» («%s» a «%s»): %s" +msgid "error while cloning relation \"%s.%s\" (\"%s\" to \"%s\"): %m" +msgstr "error mientras se clonaba la relación «%s.%s» («%s» a «%s»): %m" + +#: file.c:51 +#, c-format +msgid "error while cloning relation \"%s.%s\": could not open file \"%s\": %m" +msgstr "error mientras se clonaba la relación «%s.%s»: no se pudo abrir el archivo «%s»: %m" -#: file.c:50 +#: file.c:56 #, c-format -msgid "error while cloning relation \"%s.%s\": could not open file \"%s\": %s" -msgstr "error mientras se clonaba la relación «%s.%s»: no se pudo abrir el archivo «%s»: %s" +msgid "error while cloning relation \"%s.%s\": could not create file \"%s\": %m" +msgstr "error mientras se clonaba la relación «%s.%s»: no se pudo crear el archivo «%s»: %m" -#: file.c:55 +#: file.c:65 #, c-format -msgid "error while cloning relation \"%s.%s\": could not create file \"%s\": %s" -msgstr "error mientras se clonaba la relación «%s.%s»: no se pudo crear el archivo «%s»: %s" +msgid "error while cloning relation \"%s.%s\" (\"%s\" to \"%s\"): %s" +msgstr "error mientras se clonaba la relación «%s.%s» («%s» a «%s»): %s" -#: file.c:90 file.c:193 +#: file.c:91 file.c:160 file.c:233 #, c-format -msgid "error while copying relation \"%s.%s\": could not open file \"%s\": %s" -msgstr "error mientras se copiaba la relación «%s.%s»: no se pudo leer el archivo «%s»: %s" +msgid "error while copying relation \"%s.%s\": could not open file \"%s\": %m" +msgstr "error mientras se copiaba la relación «%s.%s»: no se pudo abrir el archivo «%s»: %m" -#: file.c:95 file.c:202 +#: file.c:96 file.c:165 file.c:242 #, c-format -msgid "error while copying relation \"%s.%s\": could not create file \"%s\": %s" -msgstr "error mientras se copiaba la relación «%s.%s»: no se pudo crear el archivo «%s»: %s" +msgid "error while copying relation \"%s.%s\": could not create file \"%s\": %m" +msgstr "error mientras se copiaba la relación «%s.%s»: no se pudo crear el archivo «%s»: %m" -#: file.c:109 file.c:226 +#: file.c:110 file.c:266 #, c-format -msgid "error while copying relation \"%s.%s\": could not read file \"%s\": %s" -msgstr "error mientras se copiaba la relación «%s.%s»: no se pudo leer el archivo «%s»: %s" +msgid "error while copying relation \"%s.%s\": could not read file \"%s\": %m" +msgstr "error mientras se copiaba la relación «%s.%s»: no se pudo leer el archivo «%s»: %m" -#: file.c:121 file.c:304 +#: file.c:122 file.c:344 #, c-format -msgid "error while copying relation \"%s.%s\": could not write file \"%s\": %s" -msgstr "error mientras se copiaba la relación «%s.%s»: no se pudo escribir el archivo «%s»: %s" +msgid "error while copying relation \"%s.%s\": could not write file \"%s\": %m" +msgstr "error mientras se copiaba la relación «%s.%s»: no se pudo escribir el archivo «%s»: %m" -#: file.c:135 +#: file.c:136 #, c-format -msgid "error while copying relation \"%s.%s\" (\"%s\" to \"%s\"): %s" -msgstr "error mientras se copiaba la relación «%s.%s» («%s» a «%s»): %s" +msgid "error while copying relation \"%s.%s\" (\"%s\" to \"%s\"): %m" +msgstr "error mientras se copiaba la relación «%s.%s» («%s» a «%s»): %m" -#: file.c:154 +#: file.c:172 #, c-format -msgid "error while creating link for relation \"%s.%s\" (\"%s\" to \"%s\"): %s" -msgstr "error mientras se creaba el link para la relación «%s.%s» («%s» a «%s»): %s" +msgid "error while copying relation \"%s.%s\": could not copy file range from \"%s\" to \"%s\": %m" +msgstr "error mientras se copiaba la relación «%s.%s»: no se pudo copiar el rango desde «%s» a «%s»: %m" -#: file.c:197 +#: file.c:194 #, c-format -msgid "error while copying relation \"%s.%s\": could not stat file \"%s\": %s" -msgstr "error mientras se copiaba la relación «%s.%s»: no se pudo hacer stat a «%s»: %s" +msgid "error while creating link for relation \"%s.%s\" (\"%s\" to \"%s\"): %m" +msgstr "error mientras se creaba el link para la relación «%s.%s» («%s» a «%s»): %m" -#: file.c:229 +#: file.c:237 +#, c-format +msgid "error while copying relation \"%s.%s\": could not stat file \"%s\": %m" +msgstr "error mientras se copiaba la relación «%s.%s»: no se pudo hacer stat a «%s»: %m" + +#: file.c:269 #, c-format msgid "error while copying relation \"%s.%s\": partial page found in file \"%s\"" msgstr "error mientras se copiaba la relación «%s.%s»: se encontró una página parcial en el archivo «%s»" -#: file.c:331 file.c:348 +#: file.c:371 file.c:387 #, c-format -msgid "could not clone file between old and new data directories: %s" -msgstr "no se pudo clonar el archivo entre los directorios viejo y nuevo: %s" +msgid "could not clone file between old and new data directories: %m" +msgstr "no se pudo clonar el archivo entre los directorios viejo y nuevo: %m" -#: file.c:344 +#: file.c:383 file.c:420 #, c-format -msgid "could not create file \"%s\": %s" -msgstr "no se pudo crear el archivo «%s»: %s" +msgid "could not create file \"%s\": %m" +msgstr "no se pudo crear archivo «%s»: %m" -#: file.c:355 +#: file.c:393 #, c-format msgid "file cloning not supported on this platform" msgstr "el clonado de archivos no está soportado en esta plataforma" -#: file.c:372 +#: file.c:424 +#, c-format +msgid "could not copy file range between old and new data directories: %m" +msgstr "no se pudo clonar el archivo entre los directorios viejo y nuevo: %m" + +#: file.c:430 +#, c-format +msgid "copy_file_range not supported on this platform" +msgstr "copy_file_range no está soportado en esta plataforma" + +#: file.c:447 #, c-format msgid "" -"could not create hard link between old and new data directories: %s\n" +"could not create hard link between old and new data directories: %m\n" "In link mode the old and new data directories must be on the same file system." msgstr "" -"No se pudo crear un link duro entre los directorios de datos nuevo y antiguo: %s\n" +"No se pudo crear un link duro entre los directorios de datos nuevo y antiguo: %m\n" "En modo link los directorios de dato nuevo y antiguo deben estar en el mismo sistema de archivos." -#: function.c:128 +#: function.c:154 #, c-format msgid "Checking for presence of required libraries" msgstr "Verificando la presencia de las bibliotecas requeridas" -#: function.c:165 +#: function.c:190 #, c-format msgid "could not load library \"%s\": %s" msgstr "no se pudo cargar la biblioteca «%s»: %s" -#: function.c:176 +#: function.c:201 #, c-format msgid "In database: %s\n" msgstr "En la base de datos: %s\n" -#: function.c:186 +#: function.c:211 #, c-format msgid "" "Your installation references loadable libraries that are missing from the\n" @@ -950,51 +1186,51 @@ msgstr "" "de las bibliotecas problemáticas está en el archivo:\n" " %s" -#: info.c:126 +#: info.c:128 #, c-format msgid "Relation names for OID %u in database \"%s\" do not match: old name \"%s.%s\", new name \"%s.%s\"" msgstr "Los nombres de relación para OID %u en la base de datos «%s» no coinciden: nombre antiguo «%s.%s», nombre nuevo «%s.%s»" -#: info.c:146 +#: info.c:148 #, c-format msgid "Failed to match up old and new tables in database \"%s\"" msgstr "No hubo coincidencia en las tablas nueva y antigua en la base de datos «%s»" -#: info.c:227 +#: info.c:229 #, c-format msgid " which is an index on \"%s.%s\"" msgstr " que es un índice en «%s.%s»" -#: info.c:237 +#: info.c:239 #, c-format msgid " which is an index on OID %u" msgstr " que es un índice en el OID %u" -#: info.c:249 +#: info.c:251 #, c-format msgid " which is the TOAST table for \"%s.%s\"" msgstr " que es la tabla TOAST para «%s.%s»" -#: info.c:257 +#: info.c:259 #, c-format msgid " which is the TOAST table for OID %u" msgstr " que es la tabla TOAST para el OID %u" -#: info.c:261 +#: info.c:263 #, c-format msgid "No match found in old cluster for new relation with OID %u in database \"%s\": %s" msgstr "" "No se encontró equivalente en el clúster antiguo para la relación nueva con OID %u\n" "en la base de datos «%s»: %s" -#: info.c:264 +#: info.c:266 #, c-format msgid "No match found in new cluster for old relation with OID %u in database \"%s\": %s" msgstr "" "No se encontró equivalente en el clúster nuevo para la antigua relación con OID %u\n" "en la base de datos «%s»: %s" -#: info.c:289 +#: info.c:300 #, c-format msgid "" "\n" @@ -1003,7 +1239,7 @@ msgstr "" "\n" "bases de datos de origen:" -#: info.c:291 +#: info.c:302 #, c-format msgid "" "\n" @@ -1012,94 +1248,104 @@ msgstr "" "\n" "bases de datos de destino:" -#: info.c:329 +#: info.c:346 #, c-format msgid "template0 not found" msgstr "template0 no encontrado" -#: info.c:645 +#: info.c:805 #, c-format -msgid "Database: %s" -msgstr "Base de datos: %s" +msgid "Database: \"%s\"" +msgstr "Base de datos: «%s»" -#: info.c:657 +#: info.c:818 #, c-format -msgid "relname: %s.%s: reloid: %u reltblspace: %s" -msgstr "relname: %s.%s: reloid: %u reltblspace: %s" +msgid "relname: \"%s.%s\", reloid: %u, reltblspace: \"%s\"" +msgstr "relname: «%s.%s»: reloid: %u reltblspace: «%s»" -#: option.c:101 +#: info.c:832 +#, c-format +msgid "Logical replication slots within the database:" +msgstr "Slots de replicación lógica en la base de datos:" + +#: info.c:838 +#, c-format +msgid "slot_name: \"%s\", plugin: \"%s\", two_phase: %s" +msgstr "slot_name: «%s», plugin: «%s», two_phase: %s" + +#: option.c:105 #, c-format msgid "%s: cannot be run as root" msgstr "%s: no puede ejecutarse como root" -#: option.c:168 +#: option.c:172 #, c-format msgid "invalid old port number" msgstr "número de puerto antiguo no válido" -#: option.c:173 +#: option.c:177 #, c-format msgid "invalid new port number" msgstr "número de puerto nuevo no válido" -#: option.c:203 +#: option.c:216 #, c-format msgid "Try \"%s --help\" for more information.\n" msgstr "Pruebe «%s --help» para mayor información.\n" -#: option.c:210 +#: option.c:223 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "demasiados argumentos en la línea de órdenes (el primero es «%s»)" -#: option.c:213 +#: option.c:229 #, c-format msgid "Running in verbose mode" msgstr "Ejecutando en modo verboso" -#: option.c:231 +#: option.c:247 msgid "old cluster binaries reside" msgstr "residen los binarios del clúster antiguo" -#: option.c:233 +#: option.c:249 msgid "new cluster binaries reside" msgstr "residen los binarios del clúster nuevo" -#: option.c:235 +#: option.c:251 msgid "old cluster data resides" msgstr "residen los datos del clúster antiguo" -#: option.c:237 +#: option.c:253 msgid "new cluster data resides" msgstr "residen los datos del clúster nuevo" -#: option.c:239 +#: option.c:255 msgid "sockets will be created" msgstr "se crearán los sockets" -#: option.c:256 option.c:356 +#: option.c:272 option.c:374 #, c-format msgid "could not determine current directory" msgstr "no se pudo identificar el directorio actual" -#: option.c:259 +#: option.c:275 #, c-format msgid "cannot run pg_upgrade from inside the new cluster data directory on Windows" msgstr "no se puede ejecutar pg_upgrade desde dentro del directorio de datos del clúster nuevo en Windows" -#: option.c:268 +#: option.c:284 #, c-format msgid "" "pg_upgrade upgrades a PostgreSQL cluster to a different major version.\n" "\n" msgstr "pg_upgrade actualiza un clúster PostgreSQL a una versión «mayor» diferente.\n" -#: option.c:269 +#: option.c:285 #, c-format msgid "Usage:\n" msgstr "Empleo:\n" -#: option.c:270 +#: option.c:286 #, c-format msgid "" " pg_upgrade [OPTION]...\n" @@ -1108,17 +1354,17 @@ msgstr "" " pg_upgrade [OPCIÓN]...\n" "\n" -#: option.c:271 +#: option.c:287 #, c-format msgid "Options:\n" msgstr "Opciones:\n" -#: option.c:272 +#: option.c:288 #, c-format msgid " -b, --old-bindir=BINDIR old cluster executable directory\n" msgstr " -b, --old-bindir=BINDIR directorio de ejecutables del clúster antiguo\n" -#: option.c:273 +#: option.c:289 #, c-format msgid "" " -B, --new-bindir=BINDIR new cluster executable directory (default\n" @@ -1127,97 +1373,107 @@ msgstr "" " -B, --new-bindir=BINDIR directorio de ejecutables del clúster nuevo\n" " (por omisión el mismo directorio que pg_upgrade)\n" -#: option.c:275 +#: option.c:291 #, c-format msgid " -c, --check check clusters only, don't change any data\n" msgstr " -c, --check sólo verificar clústers, no cambiar datos\n" -#: option.c:276 +#: option.c:292 #, c-format msgid " -d, --old-datadir=DATADIR old cluster data directory\n" msgstr " -d, --old-datadir=DATADIR directorio de datos del clúster antiguo\n" -#: option.c:277 +#: option.c:293 #, c-format msgid " -D, --new-datadir=DATADIR new cluster data directory\n" msgstr " -D, --new-datadir=DATADIR directorio de datos del clúster nuevo\n" -#: option.c:278 +#: option.c:294 #, c-format msgid " -j, --jobs=NUM number of simultaneous processes or threads to use\n" msgstr " -j, --jobs=NUM máximo de procesos paralelos para restaurar\n" -#: option.c:279 +#: option.c:295 #, c-format msgid " -k, --link link instead of copying files to new cluster\n" msgstr " -k, --link enlazar (link) archivos en vez de copiarlos\n" -#: option.c:280 +#: option.c:296 #, c-format msgid " -N, --no-sync do not wait for changes to be written safely to disk\n" msgstr " -N, --no-sync no esperar que los cambios se sincronicen a disco\n" -#: option.c:281 +#: option.c:297 #, c-format msgid " -o, --old-options=OPTIONS old cluster options to pass to the server\n" msgstr " -o, --old-options=OPCIONES opciones a pasar al servidor antiguo\n" -#: option.c:282 +#: option.c:298 #, c-format msgid " -O, --new-options=OPTIONS new cluster options to pass to the server\n" msgstr " -O, --new-options=OPCIONES opciones a pasar al servidor nuevo\n" -#: option.c:283 +#: option.c:299 #, c-format msgid " -p, --old-port=PORT old cluster port number (default %d)\n" msgstr " -p, --old-port=PUERTO número de puerto del clúster antiguo (def. %d)\n" -#: option.c:284 +#: option.c:300 #, c-format msgid " -P, --new-port=PORT new cluster port number (default %d)\n" msgstr " -P, --new-port=PUERTO número de puerto del clúster nuevo (def. %d)\n" -#: option.c:285 +#: option.c:301 #, c-format msgid " -r, --retain retain SQL and log files after success\n" msgstr " -r, --retain preservar archivos SQL y logs en caso de éxito\n" -#: option.c:286 +#: option.c:302 #, c-format msgid " -s, --socketdir=DIR socket directory to use (default current dir.)\n" msgstr " -s, --socketdir=DIR directorio de sockets a usar (omisión: dir. actual)\n" -#: option.c:287 +#: option.c:303 #, c-format msgid " -U, --username=NAME cluster superuser (default \"%s\")\n" msgstr " -U, --username=NOMBRE superusuario del clúster (def. «%s»)\n" -#: option.c:288 +#: option.c:304 #, c-format msgid " -v, --verbose enable verbose internal logging\n" msgstr " -v, --verbose activar registro interno verboso\n" -#: option.c:289 +#: option.c:305 #, c-format msgid " -V, --version display version information, then exit\n" msgstr " -V, --version mostrar información de versión y salir\n" -#: option.c:290 +#: option.c:306 #, c-format msgid " --clone clone instead of copying files to new cluster\n" msgstr " --clone clonar los archivos en vez de copiarlos\n" -#: option.c:291 +#: option.c:307 #, c-format msgid " --copy copy files to new cluster (default)\n" msgstr " --copy copiar los archivos al clúster nuevo (por omisión)\n" -#: option.c:292 +#: option.c:308 +#, c-format +msgid " --copy-file-range copy files to new cluster with copy_file_range\n" +msgstr " --copy-file-range copiar archivos usando copy_file_range\n" + +#: option.c:309 +#, c-format +msgid " --sync-method=METHOD set method for syncing files to disk\n" +msgstr " --sync-method=MÉTODO definir método de sincronizar archivos a disco\n" + +#: option.c:310 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help mostrar esta ayuda y salir\n" -#: option.c:293 +#: option.c:311 #, c-format msgid "" "\n" @@ -1232,7 +1488,7 @@ msgstr "" " apagar el postmaster que atiende al clúster antiguo\n" " apagar el postmaster que atiende al clúster nuevo\n" -#: option.c:298 +#: option.c:316 #, c-format msgid "" "\n" @@ -1249,7 +1505,7 @@ msgstr "" " el directorio «bin» para la versión antigua (-b BINDIR)\n" " el directorio «bin» para la versión nueva (-B BINDIR)\n" -#: option.c:304 +#: option.c:322 #, c-format msgid "" "\n" @@ -1262,7 +1518,7 @@ msgstr "" " pg_upgrade -d oldCluster/data -D newCluster/data -b oldCluster/bin -B newCluster/bin\n" "o\n" -#: option.c:309 +#: option.c:327 #, c-format msgid "" " $ export PGDATAOLD=oldCluster/data\n" @@ -1277,7 +1533,7 @@ msgstr "" " $ export PGBINNEW=clusterNuevo/bin\n" " $ pg_upgrade\n" -#: option.c:315 +#: option.c:333 #, c-format msgid "" " C:\\> set PGDATAOLD=oldCluster/data\n" @@ -1292,7 +1548,7 @@ msgstr "" " C:\\> set PGBINNEW=clusterNuevo/bin\n" " C:\\> pg_upgrade\n" -#: option.c:321 +#: option.c:339 #, c-format msgid "" "\n" @@ -1301,12 +1557,12 @@ msgstr "" "\n" "Reporte errores a <%s>.\n" -#: option.c:322 +#: option.c:340 #, c-format msgid "%s home page: <%s>\n" msgstr "Sitio web de %s: <%s>\n" -#: option.c:362 +#: option.c:380 #, c-format msgid "" "You must identify the directory where the %s.\n" @@ -1315,45 +1571,50 @@ msgstr "" "Debe identificar el directorio donde %s.\n" "Por favor use la opción %s o la variable de ambiente %s." -#: option.c:415 +#: option.c:433 #, c-format msgid "Finding the real data directory for the source cluster" msgstr "Buscando el directorio de datos real para el clúster de origen" -#: option.c:417 +#: option.c:435 #, c-format msgid "Finding the real data directory for the target cluster" msgstr "Buscando el directorio de datos real para el clúster de destino" -#: option.c:430 option.c:435 +#: option.c:448 +#, c-format +msgid "could not get data directory using %s: %m" +msgstr "no se pudo obtener el directorio de datos usando %s: %m" + +#: option.c:452 #, c-format msgid "could not get data directory using %s: %s" msgstr "no se pudo obtener el directorio de datos usando %s: %s" -#: option.c:484 +#: option.c:500 #, c-format -msgid "could not read line %d from file \"%s\": %s" -msgstr "no se pudo leer la línea %d del archivo «%s»: %s" +msgid "could not read line %d from file \"%s\": %m" +msgstr "no se pudo leer la línea %d del archivo «%s»: %m" -#: option.c:501 +#: option.c:517 #, c-format msgid "user-supplied old port number %hu corrected to %hu" msgstr "número de port entregado por el usuario %hu corregido a %hu" #: parallel.c:127 parallel.c:235 #, c-format -msgid "could not create worker process: %s" -msgstr "no se pudo crear el proceso hijo: %s" +msgid "could not create worker process: %m" +msgstr "no se pudo crear el proceso hijo: %m" #: parallel.c:143 parallel.c:253 #, c-format -msgid "could not create worker thread: %s" -msgstr "no se pudo crear el thread: %s" +msgid "could not create worker thread: %m" +msgstr "no se pudo crear el thread trabajador: %m" #: parallel.c:294 #, c-format -msgid "%s() failed: %s" -msgstr "%s() falló: %s" +msgid "%s() failed: %m" +msgstr "%s() falló: %m" #: parallel.c:298 #, c-format @@ -1362,15 +1623,15 @@ msgstr "el proceso hijo terminó anormalmente: estado %d" #: parallel.c:313 #, c-format -msgid "child worker exited abnormally: %s" -msgstr "el thread terminó anormalmente: %s" +msgid "child worker exited abnormally: %m" +msgstr "el hijo trabajador terminó anormalmente: %m" -#: pg_upgrade.c:107 +#: pg_upgrade.c:115 #, c-format -msgid "could not read permissions of directory \"%s\": %s" -msgstr "no se pudo obtener los permisos del directorio «%s»: %s" +msgid "could not read permissions of directory \"%s\": %m" +msgstr "no se pudo obtener los permisos del directorio «%s»: %m" -#: pg_upgrade.c:139 +#: pg_upgrade.c:147 #, c-format msgid "" "\n" @@ -1381,17 +1642,17 @@ msgstr "" "Llevando a cabo el Upgrade\n" "--------------------------" -#: pg_upgrade.c:184 +#: pg_upgrade.c:192 #, c-format msgid "Setting next OID for new cluster" msgstr "Seteando siguiente OID para el nuevo clúster" -#: pg_upgrade.c:193 +#: pg_upgrade.c:216 #, c-format msgid "Sync data directory to disk" msgstr "Sincronizando directorio de datos a disco" -#: pg_upgrade.c:205 +#: pg_upgrade.c:230 #, c-format msgid "" "\n" @@ -1402,23 +1663,23 @@ msgstr "" "Actualización Completa\n" "----------------------" -#: pg_upgrade.c:238 pg_upgrade.c:251 pg_upgrade.c:258 pg_upgrade.c:265 -#: pg_upgrade.c:283 pg_upgrade.c:294 +#: pg_upgrade.c:263 pg_upgrade.c:276 pg_upgrade.c:283 pg_upgrade.c:290 +#: pg_upgrade.c:308 pg_upgrade.c:319 #, c-format msgid "directory path for new cluster is too long" msgstr "nombre de directorio para el nuevo clúster es demasiado largo" -#: pg_upgrade.c:272 pg_upgrade.c:274 pg_upgrade.c:276 pg_upgrade.c:278 +#: pg_upgrade.c:297 pg_upgrade.c:299 pg_upgrade.c:301 pg_upgrade.c:303 #, c-format msgid "could not create directory \"%s\": %m" msgstr "no se pudo crear el directorio «%s»: %m" -#: pg_upgrade.c:327 +#: pg_upgrade.c:352 #, c-format msgid "%s: could not find own program executable" msgstr "%s: no se pudo encontrar el ejecutable propio" -#: pg_upgrade.c:353 +#: pg_upgrade.c:378 #, c-format msgid "" "There seems to be a postmaster servicing the old cluster.\n" @@ -1427,7 +1688,7 @@ msgstr "" "Parece haber un postmaster sirviendo el clúster antiguo.\n" "Por favor detenga ese postmaster e inténtelo nuevamente." -#: pg_upgrade.c:366 +#: pg_upgrade.c:391 #, c-format msgid "" "There seems to be a postmaster servicing the new cluster.\n" @@ -1436,81 +1697,86 @@ msgstr "" "Parece haber un postmaster sirviendo el clúster nuevo.\n" "Por favor detenga ese postmaster e inténtelo nuevamente." -#: pg_upgrade.c:388 +#: pg_upgrade.c:413 #, c-format msgid "Setting locale and encoding for new cluster" msgstr "Estableciendo la configuración regional y codificación para el nuevo clúster" -#: pg_upgrade.c:450 +#: pg_upgrade.c:489 #, c-format msgid "Analyzing all rows in the new cluster" msgstr "Analizando todas las filas en el clúster nuevo" -#: pg_upgrade.c:463 +#: pg_upgrade.c:502 #, c-format msgid "Freezing all rows in the new cluster" msgstr "Congelando todas las filas en el nuevo clúster" -#: pg_upgrade.c:483 +#: pg_upgrade.c:522 #, c-format msgid "Restoring global objects in the new cluster" msgstr "Restaurando objetos globales en el nuevo clúster" -#: pg_upgrade.c:499 +#: pg_upgrade.c:538 #, c-format msgid "Restoring database schemas in the new cluster" msgstr "Restaurando esquemas de bases de datos en el clúster nuevo" -#: pg_upgrade.c:605 +#: pg_upgrade.c:662 #, c-format msgid "Deleting files from new %s" msgstr "Eliminando archivos del nuevo %s" -#: pg_upgrade.c:609 +#: pg_upgrade.c:666 #, c-format msgid "could not delete directory \"%s\"" msgstr "no se pudo eliminar directorio «%s»" -#: pg_upgrade.c:628 +#: pg_upgrade.c:685 #, c-format msgid "Copying old %s to new server" msgstr "Copiando el %s antiguo al nuevo servidor" -#: pg_upgrade.c:654 +#: pg_upgrade.c:711 #, c-format msgid "Setting oldest XID for new cluster" msgstr "Estableciendo XID más antiguo para el nuevo clúster" -#: pg_upgrade.c:662 +#: pg_upgrade.c:719 #, c-format msgid "Setting next transaction ID and epoch for new cluster" msgstr "Seteando el ID de transacción y «época» siguientes en el nuevo clúster" -#: pg_upgrade.c:692 +#: pg_upgrade.c:749 #, c-format msgid "Setting next multixact ID and offset for new cluster" msgstr "Seteando el multixact ID y offset siguientes en el nuevo clúster" -#: pg_upgrade.c:716 +#: pg_upgrade.c:773 #, c-format msgid "Setting oldest multixact ID in new cluster" msgstr "Seteando el multixact ID más antiguo en el nuevo clúster" -#: pg_upgrade.c:736 +#: pg_upgrade.c:793 #, c-format msgid "Resetting WAL archives" msgstr "Reseteando los archivos de WAL" -#: pg_upgrade.c:779 +#: pg_upgrade.c:836 #, c-format msgid "Setting frozenxid and minmxid counters in new cluster" msgstr "Seteando contadores frozenxid y minmxid en el clúster nuevo" -#: pg_upgrade.c:781 +#: pg_upgrade.c:838 #, c-format msgid "Setting minmxid counter in new cluster" msgstr "Seteando contador minmxid en el clúster nuevo" +#: pg_upgrade.c:929 +#, c-format +msgid "Restoring logical replication slots in the new cluster" +msgstr "Restaurando slots de replicación lógica en el nuevo clúster" + #: relfilenumber.c:35 #, c-format msgid "Cloning user relation files" @@ -1523,35 +1789,45 @@ msgstr "Copiando archivos de relaciones de usuario" #: relfilenumber.c:41 #, c-format +msgid "Copying user relation files with copy_file_range" +msgstr "Copiando archivos de relaciones de usuario con copy_file_range" + +#: relfilenumber.c:44 +#, c-format msgid "Linking user relation files" msgstr "Enlazando archivos de relaciones de usuario" -#: relfilenumber.c:115 +#: relfilenumber.c:118 #, c-format msgid "old database \"%s\" not found in the new cluster" msgstr "la base de datos «%s» no se encontró en el clúster nuevo" -#: relfilenumber.c:218 +#: relfilenumber.c:221 #, c-format -msgid "error while checking for file existence \"%s.%s\" (\"%s\" to \"%s\"): %s" -msgstr "error mientras se comprobaba la existencia del archivo «%s.%s» («%s» a «%s»); %s" +msgid "error while checking for file existence \"%s.%s\" (\"%s\" to \"%s\"): %m" +msgstr "error mientras se comprobaba la existencia del archivo «%s.%s» («%s» a «%s»); %m" -#: relfilenumber.c:236 +#: relfilenumber.c:238 #, c-format msgid "rewriting \"%s\" to \"%s\"" msgstr "reescribiendo «%s» a «%s»" -#: relfilenumber.c:244 +#: relfilenumber.c:246 #, c-format msgid "cloning \"%s\" to \"%s\"" msgstr "clonando «%s» a «%s»" -#: relfilenumber.c:249 +#: relfilenumber.c:251 #, c-format msgid "copying \"%s\" to \"%s\"" msgstr "copiando «%s» a «%s»" -#: relfilenumber.c:254 +#: relfilenumber.c:256 +#, c-format +msgid "copying \"%s\" to \"%s\" with copy_file_range" +msgstr "copiando «%s» a «%s» con copy_file_range" + +#: relfilenumber.c:261 #, c-format msgid "linking \"%s\" to \"%s\"" msgstr "enlazando «%s» a «%s»" @@ -1587,7 +1863,7 @@ msgstr "no se pudo abrir el archivo de versión «%s»: %m" msgid "could not parse version file \"%s\"" msgstr "no se pudo interpretar el archivo de versión «%s»" -#: server.c:288 +#: server.c:310 #, c-format msgid "" "\n" @@ -1596,7 +1872,7 @@ msgstr "" "\n" "%s" -#: server.c:292 +#: server.c:314 #, c-format msgid "" "could not connect to source postmaster started with the command:\n" @@ -1605,7 +1881,7 @@ msgstr "" "no se pudo conectar al postmaster de origen iniciado con la orden:\n" "%s" -#: server.c:296 +#: server.c:318 #, c-format msgid "" "could not connect to target postmaster started with the command:\n" @@ -1614,22 +1890,22 @@ msgstr "" "no se pudo conectar al postmaster de destino iniciado con la orden:\n" "%s" -#: server.c:310 +#: server.c:332 #, c-format msgid "pg_ctl failed to start the source server, or connection failed" msgstr "pg_ctl no pudo iniciar el servidor de origen, o la conexión falló" -#: server.c:312 +#: server.c:334 #, c-format msgid "pg_ctl failed to start the target server, or connection failed" msgstr "pg_ctl no pudo iniciar el servidor de destino, o la conexión falló" -#: server.c:357 +#: server.c:379 #, c-format msgid "out of memory" msgstr "memoria agotada" -#: server.c:370 +#: server.c:392 #, c-format msgid "libpq environment variable %s has a non-local server value: %s" msgstr "la variable de ambiente libpq %s tiene un valor de servidor no-local: %s" @@ -1650,8 +1926,8 @@ msgstr "el directorio de tablespace «%s» no existe" #: tablespace.c:87 #, c-format -msgid "could not stat tablespace directory \"%s\": %s" -msgstr "no se pudo hace stat al directorio de tablespace «%s»: %s" +msgid "could not stat tablespace directory \"%s\": %m" +msgstr "no se pudo hace stat al directorio de tablespace «%s»: %m" #: tablespace.c:92 #, c-format @@ -1673,63 +1949,17 @@ msgstr "no se pudo acceder al directorio «%s»: %m" msgid "ok" msgstr "éxito" -#: version.c:184 -#, c-format -msgid "Checking for incompatible \"line\" data type" -msgstr "Verificando datos de usuario de tipo «line» incompatible" - -#: version.c:193 -#, c-format -msgid "" -"Your installation contains the \"line\" data type in user tables.\n" -"This data type changed its internal and input/output format\n" -"between your old and new versions so this\n" -"cluster cannot currently be upgraded. You can\n" -"drop the problem columns and restart the upgrade.\n" -"A list of the problem columns is in the file:\n" -" %s" -msgstr "" -"Su instalación contiene el tipo de dato «line» en tablas de usuario. Este\n" -"tipo de dato cambió su formato interno y de entrada/salida entre las\n" -"versiones de sus clústers antiguo y nuevo, por lo que este clúster no puede\n" -"actualmente ser actualizado. Puede eliminar las columnas problemáticas y\n" -"reiniciar la actualización. Un listado de las columnas problemáticas está\n" -"en el archivo:\n" -" %s" - -#: version.c:224 -#, c-format -msgid "Checking for invalid \"unknown\" user columns" -msgstr "Verificando columnas de usuario del tipo no válido «unknown»" - -#: version.c:233 -#, c-format -msgid "" -"Your installation contains the \"unknown\" data type in user tables.\n" -"This data type is no longer allowed in tables, so this\n" -"cluster cannot currently be upgraded. You can\n" -"drop the problem columns and restart the upgrade.\n" -"A list of the problem columns is in the file:\n" -" %s" -msgstr "" -"Su instalación contiene el tipo «unknown» en tablas de usuario.\n" -"Este tipo ya no es permitido en tablas,\n" -"por lo que este clúster no puede ser actualizado. Puede\n" -"eliminar las columnas problemáticas y reiniciar la actualización.\n" -"Un listado de las columnas problemáticas está en el archivo:\n" -" %s" - -#: version.c:257 +#: version.c:44 #, c-format msgid "Checking for hash indexes" msgstr "Verificando índices hash" -#: version.c:335 +#: version.c:121 #, c-format msgid "warning" msgstr "atención" -#: version.c:337 +#: version.c:123 #, c-format msgid "" "\n" @@ -1744,7 +1974,7 @@ msgstr "" "con la orden REINDEX. Después de la actualización, se le entregarán\n" "instrucciones de REINDEX." -#: version.c:343 +#: version.c:129 #, c-format msgid "" "\n" @@ -1763,39 +1993,17 @@ msgstr "" "cuando se ejecute en psql con el superusuario de la base de datos recreará\n" "los índices no válidos; hasta entonces, ninguno de esos índices será usado." -#: version.c:369 -#, c-format -msgid "Checking for invalid \"sql_identifier\" user columns" -msgstr "Verificando columnas de usuario del tipo «sql_identifier»" - -#: version.c:379 -#, c-format -msgid "" -"Your installation contains the \"sql_identifier\" data type in user tables.\n" -"The on-disk format for this data type has changed, so this\n" -"cluster cannot currently be upgraded. You can\n" -"drop the problem columns and restart the upgrade.\n" -"A list of the problem columns is in the file:\n" -" %s" -msgstr "" -"Su instalación contiene el tipo de dato «sql_identifier» en tablas de usuario.\n" -"El formato en disco para este tipo de dato ha cambiado, por lo que\n" -"este clúster no puede ser actualizado.\n" -"Puede eliminar las columnas problemáticas y reiniciar la actualización\n" -"Un listado de las columnas problemáticas está en el archivo:\n" -" %s" - -#: version.c:402 +#: version.c:153 #, c-format msgid "Checking for extension updates" msgstr "Verificando actualizaciones para extensiones" -#: version.c:450 +#: version.c:200 #, c-format msgid "notice" msgstr "aviso" -#: version.c:451 +#: version.c:201 #, c-format msgid "" "\n" diff --git a/src/bin/pg_upgrade/po/fr.po b/src/bin/pg_upgrade/po/fr.po index 94d17751155..6117d1fb48d 100644 --- a/src/bin/pg_upgrade/po/fr.po +++ b/src/bin/pg_upgrade/po/fr.po @@ -8,10 +8,10 @@ # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 15\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-07-29 09:19+0000\n" -"PO-Revision-Date: 2023-07-30 10:37+0200\n" +"POT-Creation-Date: 2024-10-29 18:20+0000\n" +"PO-Revision-Date: 2024-10-30 07:41+0100\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -19,9 +19,244 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.3.2\n" +"X-Generator: Poedit 3.5\n" -#: check.c:69 +#: ../../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 "mémoire épuisée\n" + +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 +#, c-format +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "ne peut pas dupliquer un pointeur nul (erreur interne)\n" + +#: ../../common/restricted_token.c:168 +#, c-format +msgid "could not get exit code from subprocess: error code %lu" +msgstr "n'a pas pu récupérer le code de statut du sous-processus : code d'erreur %lu" + +#: ../../common/username.c:43 +#, c-format +msgid "could not look up effective user ID %ld: %s" +msgstr "n'a pas pu trouver l'identifiant réel %ld de l'utilisateur : %s" + +#: ../../common/username.c:45 +msgid "user does not exist" +msgstr "l'utilisateur n'existe pas" + +#: ../../common/username.c:60 +#, c-format +msgid "user name lookup failure: error code %lu" +msgstr "échec de la recherche du nom d'utilisateur : code d'erreur %lu" + +#: ../../fe_utils/string_utils.c:434 +#, c-format +msgid "shell command argument contains a newline or carriage return: \"%s\"\n" +msgstr "l'argument de la commande shell contient un retour à la ligne ou un retour chariot : « %s »\n" + +#: ../../fe_utils/string_utils.c:607 +#, c-format +msgid "database name contains a newline or carriage return: \"%s\"\n" +msgstr "le nom de la base contient un retour à la ligne ou un retour chariot : « %s »\n" + +#: check.c:111 +msgid "Checking for system-defined composite types in user tables" +msgstr "Vérification des types composites définis par le système dans les tables utilisateurs" + +#: check.c:118 +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" +"problem columns and restart the upgrade.\n" +msgstr "" +"Votre installation contient des types composites définis par le système dans vos tables\n" +"utilisateurs. Les OID de ces types ne sont pas stables entre différentes versions\n" +"de PostgreSQL, donc cette instance ne peut pas être mise à jour actuellement. Vous pouvez\n" +"supprimer les colonnes problématiques, puis relancer la mise à jour.\n" + +#: check.c:132 +msgid "Checking for incompatible \"line\" data type" +msgstr "Vérification des types de données line incompatibles" + +#: check.c:137 +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" +"cluster cannot currently be upgraded. You can\n" +"drop the problem columns and restart the upgrade.\n" +msgstr "" +"Votre installation contient le type de données « line » dans vos tables utilisateurs.\n" +"Ce type de données a changé de format interne et en entrée/sortie entre vos ancienne\n" +"et nouvelle versions, donc cette instance ne peut pas être mise à jour\n" +"actuellement. Vous pouvez supprimer les colonnes problématiques et relancer la mise à jour.\n" + +#: check.c:154 +msgid "Checking for reg* data types in user tables" +msgstr "Vérification des types de données reg* dans les tables utilisateurs" + +#: check.c:181 +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" +"drop the problem columns and restart the upgrade.\n" +msgstr "" +"Votre installation contient un des types de données reg* dans vos tables\n" +"utilisateurs. Ces types de données référencent des OID système qui ne sont\n" +"pas préservés par pg_upgrade, donc cette instance ne peut pas être mise à\n" +"jour actuellement. Vous pouvez supprimer les colonnes problématiques et relancer\n" +"la mise à jour.\n" + +#: check.c:193 +msgid "Checking for incompatible \"aclitem\" data type" +msgstr "Vérification des types de données « aclitem » incompatibles" + +#: check.c:198 +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" +"problem columns and restart the upgrade.\n" +msgstr "" +"Votre installation contient un type de données « aclitem » dans vos tables utilisateurs.\n" +"Le format interne de « aclitem » a changé lors du développement de la version 16, donc\n" +"cette instance ne peut pas être mise à jour actuellement. Vous pouvez supprimer les\n" +"colonnes problématiques et relancer la mise à jour.\n" + +#: check.c:217 +msgid "Checking for invalid \"unknown\" user columns" +msgstr "Vérification des colonnes utilisateurs « unknown » invalides" + +#: check.c:222 +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" +"and restart the upgrade.\n" +msgstr "" +"Votre installation contient le type de données « unknown » dans vos tables\n" +"utilisateurs. Ce type de données n'est plus autorisé dans les tables, donc\n" +"cette instance ne peut pas être mise à jour pour l'instant. Vous pouvez\n" +"supprimer les colonnes problématiques, puis relancer la mise à jour.\n" + +#: check.c:239 +msgid "Checking for invalid \"sql_identifier\" user columns" +msgstr "Vérification des colonnes utilisateurs « sql_identifier » invalides" + +#: check.c:244 +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" +"columns and restart the upgrade.\n" +msgstr "" +"Votre installation contient le type de données « sql_identifier » dans les tables\n" +"utilisateurs. Le format sur disque pour ce type de données a changé,\n" +"donc cette instance ne peut pas être mise à jour actuellement. Vous pouvez supprimer\n" +"les colonnes problématiques, puis relancer la mise à jour.\n" + +#: check.c:255 +msgid "Checking for incompatible \"jsonb\" data type in user tables" +msgstr "Vérification du type de données « json » incompatible dans les tables utilisateurs" + +#: check.c:260 +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" +"columns and restart the upgrade.\n" +msgstr "" +"Votre installation contient un type de données « jsonb » dans vos tables utilisateurs.\n" +"Le format interne de « jsonb » a changé lors du développement de la version 9.4 beta, donc\n" +"cette instance ne peut pas être mise à jour actuellement. Vous pouvez supprimer les\n" +"colonnes problématiques et relancer la mise à jour.\n" + +#: check.c:272 +msgid "Checking for removed \"abstime\" data type in user tables" +msgstr "Vérification du type de données « abstime » supprimé dans les tables utilisateurs" + +#: check.c:277 +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" +"problem columns, or change them to another data type, and restart\n" +"the upgrade.\n" +msgstr "" +"Votre installation contient le type de données « abstime » dans les tables utilisateurs.\n" +"Le type «abstime » a été supprimé dans PostgreSQL version 12,\n" +"donc cette instance ne peut pas être mise à jour pour l'instant. Vous pouvez\n" +"supprimer les colonnes problématiques ou les convertir en un autre type de données,\n" +"et relancer la mise à jour.\n" + +#: check.c:285 +msgid "Checking for removed \"reltime\" data type in user tables" +msgstr "Vérification du type de données « reltime » supprimé dans les tables utilisateurs" + +#: check.c:290 +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" +"problem columns, or change them to another data type, and restart\n" +"the upgrade.\n" +msgstr "" +"Votre installation contient le type de données « reltime » dans les tables utilisateurs.\n" +"Le type «reltime » a été supprimé dans PostgreSQL version 12,\n" +"donc cette instance ne peut pas être mise à jour pour l'instant. Vous pouvez\n" +"supprimer les colonnes problématiques ou les convertir en un autre type de données,\n" +"et relancer la mise à jour.\n" + +#: check.c:298 +msgid "Checking for removed \"tinterval\" data type in user tables" +msgstr "Vérification du type de données « tinterval » supprimé dans les tables utilisateurs" + +#: check.c:303 +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" +"problem columns, or change them to another data type, and restart\n" +"the upgrade.\n" +msgstr "" +"Votre installation contient le type de données « tinterval » dans les tables utilisateurs.\n" +"Le type « tinterval » a été supprimé dans PostgreSQL version 12,\n" +"donc cette instance ne peut pas être mise à jour pour l'instant. Vous pouvez\n" +"supprimer les colonnes problématiques ou les convertir en un autre type de données,\n" +"et relancer la mise à jour.\n" + +#: check.c:345 +#, c-format +msgid "Checking data type usage" +msgstr "Vérification de l'utilisation du type de données" + +#: check.c:480 +#, c-format +msgid "failed check: %s" +msgstr "vérification échouée : %s" + +#: check.c:483 +msgid "A list of the problem columns is in the file:" +msgstr "Une liste des colonnes problématiques se trouve dans le fichier :" + +#: 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 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "n'a pas pu ouvrir le fichier « %s » : %m" + +#: check.c:522 +#, c-format +msgid "Data type checks failed: %s" +msgstr "Échec de la vérification des types de données : %s" + +#: check.c:563 #, c-format msgid "" "Performing Consistency Checks on Old Live Server\n" @@ -30,7 +265,7 @@ msgstr "" "Exécution de tests de cohérence sur l'ancien serveur\n" "----------------------------------------------------" -#: check.c:75 +#: check.c:569 #, c-format msgid "" "Performing Consistency Checks\n" @@ -39,7 +274,7 @@ msgstr "" "Exécution de tests de cohérence\n" "-------------------------------" -#: check.c:221 +#: check.c:718 #, c-format msgid "" "\n" @@ -48,7 +283,7 @@ msgstr "" "\n" "*Les instances sont compatibles*" -#: check.c:229 +#: check.c:726 #, c-format msgid "" "\n" @@ -59,7 +294,7 @@ msgstr "" "Si pg_upgrade échoue après cela, vous devez ré-exécuter initdb\n" "sur la nouvelle instance avant de continuer." -#: check.c:270 +#: check.c:767 #, c-format msgid "" "Optimizer statistics are not transferred by pg_upgrade.\n" @@ -70,7 +305,7 @@ msgstr "" "Une fois le nouveau serveur démarré, pensez à exécuter :\n" " %s/vacuumdb %s--all --analyze-in-stages" -#: check.c:276 +#: check.c:773 #, c-format msgid "" "Running this script will delete the old cluster's data files:\n" @@ -79,7 +314,7 @@ msgstr "" "Exécuter ce script supprimera les fichiers de données de l'ancienne instance :\n" " %s" -#: check.c:281 +#: check.c:778 #, c-format msgid "" "Could not create a script to delete the old cluster's data files\n" @@ -93,57 +328,57 @@ msgstr "" "de l'ancienne instance. Le contenu de l'ancienne instance doit être supprimé\n" "manuellement." -#: check.c:293 +#: check.c:790 #, c-format msgid "Checking cluster versions" msgstr "Vérification des versions des instances" -#: check.c:305 +#: check.c:802 #, c-format msgid "This utility can only upgrade from PostgreSQL version %s and later." msgstr "Cet outil peut seulement mettre à jour les versions %s et ultérieures de PostgreSQL." -#: check.c:310 +#: check.c:807 #, c-format msgid "This utility can only upgrade to PostgreSQL version %s." msgstr "Cet outil peut seulement mettre à jour vers la version %s de PostgreSQL." -#: check.c:319 +#: check.c:816 #, c-format msgid "This utility cannot be used to downgrade to older major PostgreSQL versions." msgstr "Cet outil ne peut pas être utilisé pour mettre à jour vers des versions majeures plus anciennes de PostgreSQL." -#: check.c:324 +#: check.c:821 #, c-format msgid "Old cluster data and binary directories are from different major versions." msgstr "Les répertoires des données de l'ancienne instance et des binaires sont de versions majeures différentes." -#: check.c:327 +#: check.c:824 #, c-format msgid "New cluster data and binary directories are from different major versions." msgstr "Les répertoires des données de la nouvelle instance et des binaires sont de versions majeures différentes." -#: check.c:342 +#: check.c:839 #, c-format msgid "When checking a live server, the old and new port numbers must be different." msgstr "Lors de la vérification d'un serveur en production, l'ancien numéro de port doit être différent du nouveau." -#: check.c:362 +#: check.c:859 #, c-format msgid "New cluster database \"%s\" is not empty: found relation \"%s.%s\"" msgstr "La nouvelle instance « %s » n'est pas vide : relation « %s.%s » trouvée" -#: check.c:385 +#: check.c:882 #, c-format msgid "Checking for new cluster tablespace directories" msgstr "Vérification des répertoires de tablespace de la nouvelle instance" -#: check.c:396 +#: check.c:893 #, c-format msgid "new cluster tablespace directory already exists: \"%s\"" msgstr "le répertoire du tablespace de la nouvelle instance existe déjà : « %s »" -#: check.c:429 +#: check.c:926 #, c-format msgid "" "\n" @@ -152,7 +387,7 @@ msgstr "" "\n" "AVERTISSEMENT : le nouveau répertoire de données ne doit pas être à l'intérieur de l'ancien répertoire de données, %s" -#: check.c:453 +#: check.c:950 #, c-format msgid "" "\n" @@ -161,61 +396,53 @@ msgstr "" "\n" "AVERTISSEMENT : les emplacements des tablespaces utilisateurs ne doivent pas être à l'intérieur du répertoire de données, %s" -#: check.c:463 +#: check.c:960 #, c-format msgid "Creating script to delete old cluster" msgstr "Création du script pour supprimer l'ancienne instance" -#: check.c:466 check.c:639 check.c:755 check.c:850 check.c:979 check.c:1056 -#: check.c:1299 check.c:1373 file.c:339 function.c:163 option.c:476 -#: version.c:116 version.c:292 version.c:426 +#: check.c:1014 #, c-format -msgid "could not open file \"%s\": %s" -msgstr "n'a pas pu ouvrir le fichier « %s » : %s" +msgid "could not add execute permission to file \"%s\": %m" +msgstr "n'a pas pu ajouter les droits d'exécution pour le fichier « %s » : %m" -#: check.c:517 -#, c-format -msgid "could not add execute permission to file \"%s\": %s" -msgstr "n'a pas pu ajouter les droits d'exécution pour le fichier « %s » : %s" - -#: check.c:537 +#: check.c:1034 #, c-format msgid "Checking database user is the install user" msgstr "Vérification que l'utilisateur de la base de données est l'utilisateur d'installation" -#: check.c:553 +#: check.c:1050 #, c-format msgid "database user \"%s\" is not the install user" msgstr "l'utilisateur de la base de données « %s » n'est pas l'utilisateur d'installation" -#: check.c:564 +#: check.c:1061 #, c-format msgid "could not determine the number of users" msgstr "n'a pas pu déterminer le nombre d'utilisateurs" -#: check.c:572 +#: check.c:1069 #, c-format msgid "Only the install user can be defined in the new cluster." msgstr "Seul l'utilisateur d'installation peut être défini dans la nouvelle instance." -#: check.c:601 +#: check.c:1098 #, c-format msgid "Checking database connection settings" msgstr "Vérification des paramètres de connexion de la base de données" -#: check.c:627 +#: check.c:1124 #, c-format msgid "template0 must not allow connections, i.e. its pg_database.datallowconn must be false" msgstr "template0 ne doit pas autoriser les connexions, ie pg_database.datallowconn doit valoir false" -#: check.c:654 check.c:775 check.c:873 check.c:999 check.c:1076 check.c:1135 -#: check.c:1196 check.c:1224 check.c:1254 check.c:1313 check.c:1394 -#: function.c:185 version.c:192 version.c:232 version.c:378 +#: 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 #, c-format msgid "fatal" msgstr "fatal" -#: check.c:655 +#: check.c:1151 #, c-format msgid "" "All non-template0 databases must allow connections, i.e. their\n" @@ -234,27 +461,27 @@ msgstr "" "le fichier :\n" " %s" -#: check.c:680 +#: check.c:1176 #, c-format msgid "Checking for prepared transactions" msgstr "Vérification des transactions préparées" -#: check.c:689 +#: check.c:1185 #, c-format msgid "The source cluster contains prepared transactions" msgstr "L'instance source contient des transactions préparées" -#: check.c:691 +#: check.c:1187 #, c-format msgid "The target cluster contains prepared transactions" msgstr "L'instance cible contient des transactions préparées" -#: check.c:716 +#: check.c:1212 #, c-format msgid "Checking for contrib/isn with bigint-passing mismatch" msgstr "Vérification de contrib/isn avec une différence sur le passage des bigint" -#: check.c:776 +#: check.c:1271 #, c-format msgid "" "Your installation contains \"contrib/isn\" functions which rely on the\n" @@ -275,12 +502,12 @@ msgstr "" "dans le fichier :\n" " %s" -#: check.c:798 +#: check.c:1293 #, c-format msgid "Checking for user-defined postfix operators" msgstr "Vérification des opérateurs postfixes définis par les utilisateurs" -#: check.c:874 +#: check.c:1368 #, c-format msgid "" "Your installation contains user-defined postfix operators, which are not\n" @@ -295,12 +522,12 @@ msgstr "" "Une liste des opérateurs postfixes définis par les utilisateurs se trouve dans le fichier :\n" " %s" -#: check.c:898 +#: check.c:1392 #, c-format msgid "Checking for incompatible polymorphic functions" msgstr "Vérification des fonctions polymorphiques incompatibles" -#: check.c:1000 +#: check.c:1493 #, c-format msgid "" "Your installation contains user-defined objects that refer to internal\n" @@ -320,12 +547,12 @@ msgstr "" "des objets problématiques se trouve dans le fichier\n" " %s" -#: check.c:1024 +#: check.c:1517 #, c-format msgid "Checking for tables WITH OIDS" msgstr "Vérification des tables WITH OIDS" -#: check.c:1077 +#: check.c:1569 #, c-format msgid "" "Your installation contains tables declared WITH OIDS, which is not\n" @@ -340,143 +567,133 @@ msgstr "" "Une liste des tables ayant ce problème se trouve dans le fichier :\n" " %s" -#: check.c:1105 +#: check.c:1596 #, c-format -msgid "Checking for system-defined composite types in user tables" -msgstr "Vérification des types composites définis par le système dans les tables utilisateurs" +msgid "Checking for roles starting with \"pg_\"" +msgstr "Vérification des rôles commençant avec « pg_ »" -#: check.c:1136 +#: check.c:1627 #, c-format msgid "" -"Your installation contains system-defined composite type(s) in user tables.\n" -"These type OIDs are not stable across PostgreSQL versions,\n" -"so this cluster cannot currently be upgraded. You can\n" -"drop the problem columns and restart the upgrade.\n" -"A list of the problem columns is in the file:\n" +"Your installation contains roles starting with \"pg_\".\n" +"\"pg_\" is a reserved prefix for system roles. The cluster\n" +"cannot be upgraded until these roles are renamed.\n" +"A list of roles starting with \"pg_\" is in the file:\n" " %s" msgstr "" -"Votre installation contient des types composites définis par le système dans vos tables\n" -"utilisateurs. Les OID de ces types ne sont pas stables entre différentes versions majeures\n" -"de PostgreSQL, donc cette instance ne peut pas être mise à jour actuellement. Vous pouvez\n" -"supprimer les colonnes problématiques, puis relancer la mise à jour. Vous trouverez\n" -"une liste des colonnes problématiques dans le fichier :\n" +"Votre installation contient des rôles commençant par « pg_ ».\n" +"\"pg_\" est un préfixe réservé aux rôles systèmes. L'instance\n" +"ne peut pas être mise à jour tant que ces rôles ne sont pas renommés.\n" +"Une liste des rôles commençant par « pg_ » se trouve dans le fichier :\n" " %s" -#: check.c:1164 +#: check.c:1647 #, c-format -msgid "Checking for reg* data types in user tables" -msgstr "Vérification des types de données reg* dans les tables utilisateurs" +msgid "Checking for user-defined encoding conversions" +msgstr "Vérification des conversions d'encodage définies par les utilisateurs" -#: check.c:1197 +#: check.c:1707 #, c-format msgid "" -"Your installation contains one of the reg* data types in user tables.\n" -"These data types reference system OIDs that are not preserved by\n" -"pg_upgrade, so this cluster cannot currently be upgraded. You can\n" -"drop the problem columns and restart the upgrade.\n" -"A list of the problem columns is in the file:\n" +"Your installation contains user-defined encoding conversions.\n" +"The conversion function parameters changed in PostgreSQL version 14\n" +"so this cluster cannot currently be upgraded. You can remove the\n" +"encoding conversions in the old cluster and restart the upgrade.\n" +"A list of user-defined encoding conversions is in the file:\n" " %s" msgstr "" -"Votre installation contient un des types de données reg* dans vos tables\n" -"utilisateurs. Ces types de données référencent des OID système qui ne sont\n" -"pas préservés par pg_upgrade, donc cette instance ne peut pas être mise à\n" -"jour actuellement. Vous pouvez supprimer les colonnes problématiques et relancer\n" -"la mise à jour. Une liste des colonnes problématiques est disponible dans le\n" -"fichier :\n" +"Votre installation contient des conversions définies par un utilisateur.\n" +"Les paramètres des fonctions de conversion ont changé dans PostgreSQL version 14\n" +"donc cette instance ne peut pas être mise à jour actuellement. Vous devez supprimer\n" +"les conversions d'encodage de l'ancienne instance puis relancer la mise à jour.\n" +"Une liste des conversions d'encodage définies par l'utilisateur se trouve dans le fichier :\n" " %s" -#: check.c:1218 +#: check.c:1746 #, c-format -msgid "Checking for incompatible \"aclitem\" data type in user tables" -msgstr "Vérification du type de données aclitem incompatible dans les tables utilisateurs" +msgid "Checking for new cluster logical replication slots" +msgstr "Vérification des slots de réplication logique de la nouvelle instance" -#: check.c:1225 +#: check.c:1754 #, c-format -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" -"problem columns and restart the upgrade. A list of the problem\n" -"columns is in the file:\n" -" %s" -msgstr "" -"Votre installation contient un type de données « aclitem » dans vos tables utilisateurs.\n" -"Le format interne de « aclitem » a changé lors du développement de la version 16, donc\n" -"cette instance ne peut pas être mise à jour actuellement. Vous pouvez supprimer les\n" -"colonnes problématiques et relancer la mise à jour. Une liste des colonnes problématiques\n" -"est disponible dans le fichier :\n" -" %s" +msgid "could not count the number of logical replication slots" +msgstr "n'a pas pu compter le nombre de slots de réplication logique" -#: check.c:1246 +#: check.c:1759 #, c-format -msgid "Checking for incompatible \"jsonb\" data type" -msgstr "Vérification des types de données « jsonb » incompatibles" +msgid "expected 0 logical replication slots but found %d" +msgstr "attendait 0 slot de réplication logique mais en a trouvé %d" -#: check.c:1255 +#: check.c:1769 check.c:1820 #, c-format -msgid "" -"Your installation contains the \"jsonb\" data type in user tables.\n" -"The internal format of \"jsonb\" changed during 9.4 beta so this\n" -"cluster cannot currently be upgraded. You can\n" -"drop the problem columns and restart the upgrade.\n" -"A list of the problem columns is in the file:\n" -" %s" -msgstr "" -"Votre installation contient un type de données « jsonb » dans vos tables utilisateurs.\n" -"Le format interne de « jsonb » a changé lors du développement de la version 9.4 beta, donc\n" -"cette instance ne peut pas être mise à jour actuellement. Vous pouvez supprimer les\n" -"colonnes problématiques et relancer la mise à jour. Une liste des colonnes problématiques\n" -"est disponible dans le fichier :\n" -" %s" +msgid "could not determine parameter settings on new cluster" +msgstr "n'a pas pu déterminer la configuration sur la nouvelle instance" -#: check.c:1282 +#: check.c:1774 #, c-format -msgid "Checking for roles starting with \"pg_\"" -msgstr "Vérification des rôles commençant avec « pg_ »" +msgid "\"wal_level\" must be \"logical\" but is set to \"%s\"" +msgstr "« wal_level » doit être configuré à « logical » mais est configuré à « %s »" + +#: check.c:1780 +#, 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) doit être supérieur ou égal au nombre de slots de réplication logique (%d) sur l'ancienne instance" + +#: check.c:1812 +#, c-format +msgid "Checking for new cluster configuration for subscriptions" +msgstr "Vérification de la configuration de la nouvelle instance pour les souscriptions" + +#: check.c:1824 +#, 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) doit être supérieur ou égal au nombre de souscriptions (%d) sur l'ancienne instance" -#: check.c:1314 +#: check.c:1846 +#, c-format +msgid "Checking for valid logical replication slots" +msgstr "Vérification des slots de réplication logique valides" + +#: check.c:1898 #, c-format msgid "" -"Your installation contains roles starting with \"pg_\".\n" -"\"pg_\" is a reserved prefix for system roles. The cluster\n" -"cannot be upgraded until these roles are renamed.\n" -"A list of roles starting with \"pg_\" is in the file:\n" +"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" +"and then restart the upgrade.\n" +"A list of the problematic slots is in the file:\n" " %s" msgstr "" -"Votre installation contient des rôles commençant par « pg_ ».\n" -"\"pg_\" est un préfixe réservé aux rôles systèmes. L'instance\n" -"ne peut pas être mise à jour tant que ces rôles ne sont pas renommés.\n" -"Une liste des rôles commençant par « pg_ » se trouve dans le fichier :\n" +"Votre installation contient des slots de réplication logique qui ne peuvent pas\n" +"être mis à jour. Vous pouvez supprimer les slots invalides et/ou consommer le\n" +"WAL en attente pour les autres slots, puis relancer la mise à jour. Vous trouverez\n" +"une liste des slots problématiques dans le fichier :\n" " %s" -#: check.c:1334 +#: check.c:1922 #, c-format -msgid "Checking for user-defined encoding conversions" -msgstr "Vérification des conversions d'encodage définies par les utilisateurs" +msgid "Checking for subscription state" +msgstr "Vérification de l'état de souscription" -#: check.c:1395 +#: check.c:2023 #, c-format msgid "" -"Your installation contains user-defined encoding conversions.\n" -"The conversion function parameters changed in PostgreSQL version 14\n" -"so this cluster cannot currently be upgraded. You can remove the\n" -"encoding conversions in the old cluster and restart the upgrade.\n" -"A list of user-defined encoding conversions is in the file:\n" +"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" +"A list of the problematic subscriptions is in the file:\n" " %s" msgstr "" -"Votre installation contient des conversions définies par un utilisateur.\n" -"Les paramètres des fonctions de conversion ont changé dans PostgreSQL version 14\n" -"donc cette instance ne peut pas être mise à jour actuellement. Vous devez supprimer\n" -"les conversions d'encodage de l'ancienne instance puis relancer la mise à jour.\n" -"Une liste des conversions d'encodage définies par l'utilisateur se trouve dans le fichier :\n" +"Votre installation contient des souscriptions sans origine ou ont des relations qui\n" +"ne sont ni dans l'état « initialize » ni dans l'état « ready ». Vous pouvez permettre la\n" +"réalisation de la synchronisation initiale pour toutes les relations, puis relancer la\n" +"mise à jour. Vous trouverez une liste des souscriptions problématiques dans le fichier :\n" " %s" -#: controldata.c:129 controldata.c:175 controldata.c:199 controldata.c:508 +#: controldata.c:129 controldata.c:199 #, c-format -msgid "could not get control data using %s: %s" -msgstr "n'a pas pu obtenir les données de contrôle en utilisant %s : %s" +msgid "could not get control data using %s: %m" +msgstr "n'a pas pu obtenir les données de contrôle en utilisant %s : %m" -#: controldata.c:140 +#: controldata.c:139 #, c-format msgid "%d: database cluster state problem" msgstr "%d : problème sur l'état de l'instance de la base de données" @@ -493,13 +710,18 @@ msgstr "L'instance cible a été arrêté alors qu'elle était en mode restaurat #: controldata.c:165 #, c-format -msgid "The source cluster was not shut down cleanly." -msgstr "L'instance source n'a pas été arrêtée proprement." +msgid "The source cluster was not shut down cleanly, state reported as: \"%s\"" +msgstr "L'instance source n'a pas été arrêtée proprement, état reporté comme : « %s »" #: controldata.c:167 #, c-format -msgid "The target cluster was not shut down cleanly." -msgstr "L'instance cible n'a pas été arrêtée proprement." +msgid "The target cluster was not shut down cleanly, state reported as: \"%s\"" +msgstr "L'instance cible n'a pas été arrêtée proprement, état reporté comme : « %s »" + +#: controldata.c:175 controldata.c:507 +#, c-format +msgid "could not get control data using %s: %s" +msgstr "n'a pas pu obtenir les données de contrôle en utilisant %s : %s" #: controldata.c:181 #, c-format @@ -511,139 +733,139 @@ msgstr "Il manque certaines informations d'état requises sur l'instance source msgid "The target cluster lacks cluster state information:" msgstr "Il manque certaines informations d'état requises sur l'instance cible :" -#: controldata.c:214 dump.c:50 exec.c:119 pg_upgrade.c:517 pg_upgrade.c:554 -#: relfilenumber.c:231 server.c:34 util.c:337 +#: controldata.c:213 dump.c:50 exec.c:118 pg_upgrade.c:556 pg_upgrade.c:596 +#: pg_upgrade.c:945 relfilenumber.c:233 server.c:34 util.c:337 #, c-format msgid "%s" msgstr "%s" -#: controldata.c:221 +#: controldata.c:220 #, c-format msgid "%d: pg_resetwal problem" msgstr "%d : problème avec pg_resetwal" -#: controldata.c:231 controldata.c:241 controldata.c:252 controldata.c:263 -#: controldata.c:274 controldata.c:293 controldata.c:304 controldata.c:315 -#: controldata.c:326 controldata.c:337 controldata.c:348 controldata.c:359 -#: controldata.c:362 controldata.c:366 controldata.c:376 controldata.c:388 -#: controldata.c:399 controldata.c:410 controldata.c:421 controldata.c:432 -#: controldata.c:443 controldata.c:454 controldata.c:465 controldata.c:476 -#: controldata.c:487 controldata.c:498 +#: controldata.c:230 controldata.c:240 controldata.c:251 controldata.c:262 +#: controldata.c:273 controldata.c:292 controldata.c:303 controldata.c:314 +#: controldata.c:325 controldata.c:336 controldata.c:347 controldata.c:358 +#: controldata.c:361 controldata.c:365 controldata.c:375 controldata.c:387 +#: controldata.c:398 controldata.c:409 controldata.c:420 controldata.c:431 +#: controldata.c:442 controldata.c:453 controldata.c:464 controldata.c:475 +#: controldata.c:486 controldata.c:497 #, c-format msgid "%d: controldata retrieval problem" msgstr "%d : problème de récupération des controldata" -#: controldata.c:579 +#: controldata.c:578 #, c-format msgid "The source cluster lacks some required control information:" msgstr "Il manque certaines informations de contrôle requises sur l'instance source :" -#: controldata.c:582 +#: controldata.c:581 #, c-format msgid "The target cluster lacks some required control information:" msgstr "Il manque certaines informations de contrôle requises sur l'instance cible :" -#: controldata.c:585 +#: controldata.c:584 #, c-format msgid " checkpoint next XID" msgstr " XID du prochain checkpoint" -#: controldata.c:588 +#: controldata.c:587 #, c-format msgid " latest checkpoint next OID" msgstr " prochain OID du dernier checkpoint" -#: controldata.c:591 +#: controldata.c:590 #, c-format msgid " latest checkpoint next MultiXactId" msgstr " prochain MultiXactId du dernier checkpoint" -#: controldata.c:595 +#: controldata.c:594 #, c-format msgid " latest checkpoint oldest MultiXactId" msgstr " plus ancien MultiXactId du dernier checkpoint" -#: controldata.c:598 +#: controldata.c:597 #, c-format msgid " latest checkpoint oldestXID" msgstr " oldestXID du dernier checkpoint" -#: controldata.c:601 +#: controldata.c:600 #, c-format msgid " latest checkpoint next MultiXactOffset" msgstr " prochain MultiXactOffset du dernier checkpoint" -#: controldata.c:604 +#: controldata.c:603 #, c-format msgid " first WAL segment after reset" msgstr " premier segment WAL après réinitialisation" -#: controldata.c:607 +#: controldata.c:606 #, c-format msgid " float8 argument passing method" msgstr " méthode de passage de arguments float8" -#: controldata.c:610 +#: controldata.c:609 #, c-format msgid " maximum alignment" msgstr " alignement maximale" -#: controldata.c:613 +#: controldata.c:612 #, c-format msgid " block size" msgstr " taille de bloc" -#: controldata.c:616 +#: controldata.c:615 #, c-format msgid " large relation segment size" msgstr " taille de segment des relations" -#: controldata.c:619 +#: controldata.c:618 #, c-format msgid " WAL block size" msgstr " taille de bloc d'un WAL" -#: controldata.c:622 +#: controldata.c:621 #, c-format msgid " WAL segment size" msgstr " taille d'un segment WAL" -#: controldata.c:625 +#: controldata.c:624 #, c-format msgid " maximum identifier length" msgstr " longueur maximum d'un identifiant" -#: controldata.c:628 +#: controldata.c:627 #, c-format msgid " maximum number of indexed columns" msgstr " nombre maximum de colonnes indexées" -#: controldata.c:631 +#: controldata.c:630 #, c-format msgid " maximum TOAST chunk size" msgstr " taille maximale d'un morceau de TOAST" -#: controldata.c:635 +#: controldata.c:634 #, c-format msgid " large-object chunk size" msgstr " taille d'un morceau Large-Object" -#: controldata.c:638 +#: controldata.c:637 #, c-format msgid " dates/times are integers?" msgstr " les dates/heures sont-ils des integers?" -#: controldata.c:642 +#: controldata.c:641 #, c-format msgid " data checksum version" msgstr " version des sommes de contrôle des données" -#: controldata.c:644 +#: controldata.c:643 #, c-format msgid "Cannot continue without required control information, terminating" msgstr "Ne peut pas continuer sans les informations de contrôle requises, en arrêt" -#: controldata.c:659 +#: controldata.c:658 #, c-format msgid "" "old and new pg_controldata alignments are invalid or do not match.\n" @@ -652,77 +874,77 @@ msgstr "" "les alignements sont invalides ou ne correspondent pas entre l'ancien et le nouveau pg_controldata.\n" "Il est probable qu'une installation soit en 32 bits et l'autre en 64 bits." -#: controldata.c:663 +#: controldata.c:662 #, c-format msgid "old and new pg_controldata block sizes are invalid or do not match" msgstr "les tailles de bloc sont invalides ou ne correspondent pas entre l'ancien et le nouveau pg_controldata." -#: controldata.c:666 +#: controldata.c:665 #, c-format msgid "old and new pg_controldata maximum relation segment sizes are invalid or do not match" msgstr "les tailles maximales de segment de relation sont invalides ou ne correspondent pas entre l'ancien et le nouveau pg_controldata." -#: controldata.c:669 +#: controldata.c:668 #, c-format msgid "old and new pg_controldata WAL block sizes are invalid or do not match" msgstr "les tailles de bloc des WAL sont invalides ou ne correspondent pas entre l'ancien et le nouveau pg_controldata." -#: controldata.c:672 +#: controldata.c:671 #, c-format msgid "old and new pg_controldata WAL segment sizes are invalid or do not match" msgstr "les tailles de segment de WAL sont invalides ou ne correspondent pas entre l'ancien et le nouveau pg_controldata." -#: controldata.c:675 +#: controldata.c:674 #, c-format msgid "old and new pg_controldata maximum identifier lengths are invalid or do not match" msgstr "les longueurs maximales des identifiants sont invalides ou ne correspondent pas entre l'ancien et le nouveau pg_controldata." -#: controldata.c:678 +#: controldata.c:677 #, c-format msgid "old and new pg_controldata maximum indexed columns are invalid or do not match" msgstr "les nombres maximums de colonnes indexées sont invalides ou ne correspondent pas entre l'ancien et le nouveau pg_controldata." -#: controldata.c:681 +#: controldata.c:680 #, c-format msgid "old and new pg_controldata maximum TOAST chunk sizes are invalid or do not match" msgstr "les tailles maximales de morceaux des TOAST sont invalides ou ne correspondent pas entre l'ancien et le nouveau pg_controldata." -#: controldata.c:686 +#: controldata.c:685 #, c-format msgid "old and new pg_controldata large-object chunk sizes are invalid or do not match" msgstr "les tailles des morceaux de Large Objects sont invalides ou ne correspondent pas entre l'ancien et le nouveau pg_controldata." -#: controldata.c:689 +#: controldata.c:688 #, c-format msgid "old and new pg_controldata date/time storage types do not match" msgstr "les types de stockage date/heure ne correspondent pas entre l'ancien et le nouveau pg_controldata." -#: controldata.c:702 +#: controldata.c:701 #, c-format msgid "old cluster does not use data checksums but the new one does" msgstr "l'ancienne instance n'utilise pas les sommes de contrôle alors que la nouvelle les utilise" -#: controldata.c:705 +#: controldata.c:704 #, c-format msgid "old cluster uses data checksums but the new one does not" msgstr "l'ancienne instance utilise les sommes de contrôle alors que la nouvelle ne les utilise pas" -#: controldata.c:707 +#: controldata.c:706 #, c-format msgid "old and new cluster pg_controldata checksum versions do not match" msgstr "les versions des sommes de contrôle ne correspondent pas entre l'ancien et le nouveau pg_controldata." -#: controldata.c:718 +#: controldata.c:717 #, c-format msgid "Adding \".old\" suffix to old global/pg_control" msgstr "Ajout du suffixe « .old » à l'ancien global/pg_control" -#: controldata.c:723 +#: controldata.c:722 #, c-format msgid "could not rename file \"%s\" to \"%s\": %m" msgstr "n'a pas pu renommer le fichier « %s » en « %s » : %m" -#: controldata.c:727 +#: controldata.c:726 #, c-format msgid "" "\n" @@ -748,27 +970,32 @@ msgstr "Création de la sauvegarde des objets globaux" msgid "Creating dump of database schemas" msgstr "Création de la sauvegarde des schémas des bases" -#: exec.c:47 exec.c:52 +#: exec.c:47 +#, c-format +msgid "could not get pg_ctl version data using %s: %m" +msgstr "n'a pas pu obtenir la version de pg_ctl en utilisant %s : %m" + +#: exec.c:51 #, c-format msgid "could not get pg_ctl version data using %s: %s" msgstr "n'a pas pu obtenir la version de pg_ctl en utilisant %s : %s" -#: exec.c:56 +#: exec.c:55 #, c-format msgid "could not get pg_ctl version output from %s" msgstr "n'a pas pu obtenir la version de pg_ctl à partir de %s" -#: exec.c:113 exec.c:117 +#: exec.c:112 exec.c:116 #, c-format msgid "command too long" msgstr "commande trop longue" -#: exec.c:161 pg_upgrade.c:286 +#: exec.c:160 pg_upgrade.c:311 #, c-format msgid "could not open log file \"%s\": %m" msgstr "n'a pas pu ouvrir le journal applicatif « %s » : %m" -#: exec.c:193 +#: exec.c:192 #, c-format msgid "" "\n" @@ -777,12 +1004,12 @@ msgstr "" "\n" "*échec*" -#: exec.c:196 +#: exec.c:195 #, c-format msgid "There were problems executing \"%s\"" msgstr "Il y a eu des problèmes lors de l'exécution de « %s »" -#: exec.c:199 +#: exec.c:198 #, c-format msgid "" "Consult the last few lines of \"%s\" or \"%s\" for\n" @@ -791,7 +1018,7 @@ msgstr "" "Consultez les dernières lignes de « %s » ou « %s » pour\n" "trouver la cause probable de l'échec." -#: exec.c:204 +#: exec.c:203 #, c-format msgid "" "Consult the last few lines of \"%s\" for\n" @@ -800,141 +1027,156 @@ msgstr "" "Consultez les dernières lignes de « %s » pour\n" "trouver la cause probable de l'échec." -#: exec.c:219 pg_upgrade.c:296 +#: exec.c:218 pg_upgrade.c:321 #, c-format msgid "could not write to log file \"%s\": %m" msgstr "n'a pas pu écrire dans le fichier de traces « %s »" -#: exec.c:245 +#: exec.c:244 #, c-format -msgid "could not open file \"%s\" for reading: %s" -msgstr "n'a pas pu ouvrir le fichier « %s » pour une lecture : %s" +msgid "could not open file \"%s\" for reading: %m" +msgstr "n'a pas pu ouvrir le fichier « %s » pour une lecture : %m" -#: exec.c:272 +#: exec.c:270 #, c-format msgid "You must have read and write access in the current directory." msgstr "Vous devez avoir les droits de lecture et d'écriture dans le répertoire actuel." -#: exec.c:325 exec.c:391 +#: exec.c:323 exec.c:389 exec.c:439 #, c-format -msgid "check for \"%s\" failed: %s" -msgstr "échec de la vérification de « %s » : %s" +msgid "check for \"%s\" failed: %m" +msgstr "échec de la vérification de « %s » : %m" -#: exec.c:328 exec.c:394 +#: exec.c:326 exec.c:392 #, c-format msgid "\"%s\" is not a directory" msgstr "« %s » n'est pas un répertoire" -#: exec.c:441 -#, c-format -msgid "check for \"%s\" failed: %m" -msgstr "échec de la vérification de « %s » : %m" - -#: exec.c:446 +#: exec.c:444 #, c-format msgid "check for \"%s\" failed: cannot execute" msgstr "échec de la vérification de « %s » : ne peut pas exécuter" -#: exec.c:456 +#: exec.c:454 #, c-format msgid "check for \"%s\" failed: incorrect version: found \"%s\", expected \"%s\"" msgstr "échec de la vérification de « %s » : version incorrecte : « %s » trouvée, « %s » attendue" -#: file.c:43 file.c:64 +#: file.c:44 #, c-format -msgid "error while cloning relation \"%s.%s\" (\"%s\" to \"%s\"): %s" -msgstr "erreur lors du clonage de la relation « %s.%s » (« %s » à « %s ») : %s" +msgid "error while cloning relation \"%s.%s\" (\"%s\" to \"%s\"): %m" +msgstr "erreur lors du clonage de la relation « %s.%s » (« %s » à « %s ») : %m" -#: file.c:50 +#: file.c:51 #, c-format -msgid "error while cloning relation \"%s.%s\": could not open file \"%s\": %s" -msgstr "erreur lors du clonage de la relation « %s.%s » : n'a pas pu ouvrir le fichier « %s » : %s" +msgid "error while cloning relation \"%s.%s\": could not open file \"%s\": %m" +msgstr "erreur lors du clonage de la relation « %s.%s » : n'a pas pu ouvrir le fichier « %s » : %m" + +#: file.c:56 +#, c-format +msgid "error while cloning relation \"%s.%s\": could not create file \"%s\": %m" +msgstr "erreur lors du clonage de la relation « %s.%s » : n'a pas pu créer le fichier « %s » : %m" + +#: file.c:65 +#, c-format +msgid "error while cloning relation \"%s.%s\" (\"%s\" to \"%s\"): %s" +msgstr "erreur lors du clonage de la relation « %s.%s » (« %s » à « %s ») : %s" -#: file.c:55 +#: file.c:91 file.c:160 file.c:233 #, c-format -msgid "error while cloning relation \"%s.%s\": could not create file \"%s\": %s" -msgstr "erreur lors du clonage de la relation « %s.%s » : n'a pas pu créer le fichier « %s » : %s" +msgid "error while copying relation \"%s.%s\": could not open file \"%s\": %m" +msgstr "erreur lors de la copie de la relation « %s.%s » : n'a pas pu ouvrir le fichier « %s » : %m" -#: file.c:90 file.c:193 +#: file.c:96 file.c:165 file.c:242 #, c-format -msgid "error while copying relation \"%s.%s\": could not open file \"%s\": %s" -msgstr "erreur lors de la copie de la relation « %s.%s » : n'a pas pu ouvrir le fichier « %s » : %s" +msgid "error while copying relation \"%s.%s\": could not create file \"%s\": %m" +msgstr "erreur lors de la copie de la relation « %s.%s » : n'a pas pu créer le fichier « %s » : %m" -#: file.c:95 file.c:202 +#: file.c:110 file.c:266 #, c-format -msgid "error while copying relation \"%s.%s\": could not create file \"%s\": %s" -msgstr "erreur lors de la copie de la relation « %s.%s » : n'a pas pu créer le fichier « %s » : %s" +msgid "error while copying relation \"%s.%s\": could not read file \"%s\": %m" +msgstr "erreur lors de la copie de la relation « %s.%s » : n'a pas pu lire le fichier « %s » : %m" -#: file.c:109 file.c:226 +#: file.c:122 file.c:344 #, c-format -msgid "error while copying relation \"%s.%s\": could not read file \"%s\": %s" -msgstr "erreur lors de la copie de la relation « %s.%s » : n'a pas pu lire le fichier « %s » : %s" +msgid "error while copying relation \"%s.%s\": could not write file \"%s\": %m" +msgstr "erreur lors de la copie de la relation « %s.%s » : n'a pas pu écrire le fichier « %s » : %m" -#: file.c:121 file.c:304 +#: file.c:136 #, c-format -msgid "error while copying relation \"%s.%s\": could not write file \"%s\": %s" -msgstr "erreur lors de la copie de la relation « %s.%s » : n'a pas pu écrire le fichier « %s » : %s" +msgid "error while copying relation \"%s.%s\" (\"%s\" to \"%s\"): %m" +msgstr "erreur lors de la copie de la relation « %s.%s » (« %s » à « %s ») : %m" -#: file.c:135 +#: file.c:172 #, c-format -msgid "error while copying relation \"%s.%s\" (\"%s\" to \"%s\"): %s" -msgstr "erreur lors de la copie de la relation « %s.%s » (« %s » à « %s ») : %s" +msgid "error while copying relation \"%s.%s\": could not copy file range from \"%s\" to \"%s\": %m" +msgstr "erreur lors de la copie de la relation « %s.%s » : n'a pas pu exécuter copy_file_range du fichier « %s » au fichier « %s » : %m" -#: file.c:154 +#: file.c:194 #, c-format -msgid "error while creating link for relation \"%s.%s\" (\"%s\" to \"%s\"): %s" -msgstr "erreur lors de la création du lien pour la relation « %s.%s » (« %s » à « %s ») : %s" +msgid "error while creating link for relation \"%s.%s\" (\"%s\" to \"%s\"): %m" +msgstr "erreur lors de la création du lien pour la relation « %s.%s » (« %s » à « %s ») : %m" -#: file.c:197 +#: file.c:237 #, c-format -msgid "error while copying relation \"%s.%s\": could not stat file \"%s\": %s" -msgstr "erreur lors de la copie de la relation « %s.%s » : n'a pas pu tester le fichier « %s » : %s" +msgid "error while copying relation \"%s.%s\": could not stat file \"%s\": %m" +msgstr "erreur lors de la copie de la relation « %s.%s » : n'a pas pu tester le fichier « %s » : %m" -#: file.c:229 +#: file.c:269 #, c-format msgid "error while copying relation \"%s.%s\": partial page found in file \"%s\"" msgstr "erreur lors de la copie de la relation « %s.%s » : page partielle trouvée dans le fichier « %s »" -#: file.c:331 file.c:348 +#: file.c:371 file.c:387 #, c-format -msgid "could not clone file between old and new data directories: %s" -msgstr "n'a pas pu cloner le fichier entre l'ancien et le nouveau répertoires : %s" +msgid "could not clone file between old and new data directories: %m" +msgstr "n'a pas pu cloner le fichier entre l'ancien et le nouveau répertoires de données : %m" -#: file.c:344 +#: file.c:383 file.c:420 #, c-format -msgid "could not create file \"%s\": %s" -msgstr "n'a pas pu créer le fichier « %s » : %s" +msgid "could not create file \"%s\": %m" +msgstr "n'a pas pu créer le fichier « %s » : %m" -#: file.c:355 +#: file.c:393 #, c-format msgid "file cloning not supported on this platform" msgstr "clonage de fichiers non supporté sur cette plateforme" -#: file.c:372 +#: file.c:424 +#, c-format +msgid "could not copy file range between old and new data directories: %m" +msgstr "n'a pas pu exécuter copy_file_range entre l'ancien et le nouveau répertoires de données : %m" + +#: file.c:430 +#, c-format +msgid "copy_file_range not supported on this platform" +msgstr "copy_file_range non supporté sur cette plateforme" + +#: file.c:447 #, c-format msgid "" -"could not create hard link between old and new data directories: %s\n" +"could not create hard link between old and new data directories: %m\n" "In link mode the old and new data directories must be on the same file system." msgstr "" -"n'a pas pu créer le lien physique entre l'ancien et le nouveau répertoires de données : %s\n" +"n'a pas pu créer le lien physique entre l'ancien et le nouveau répertoires de données : %m\n" "Dans le mode lien, les ancien et nouveau répertoires de données doivent être sur le même système de fichiers." -#: function.c:128 +#: function.c:154 #, c-format msgid "Checking for presence of required libraries" msgstr "Vérification de la présence des bibliothèques requises" -#: function.c:165 +#: function.c:190 #, c-format msgid "could not load library \"%s\": %s" msgstr "n'a pas pu charger la bibliothèque « %s » : %s" -#: function.c:176 +#: function.c:201 #, c-format msgid "In database: %s\n" msgstr "Dans la base de données : %s\n" -#: function.c:186 +#: function.c:211 #, c-format msgid "" "Your installation references loadable libraries that are missing from the\n" @@ -949,47 +1191,47 @@ msgstr "" "Une liste des bibliothèques problématiques est disponible dans le fichier :\n" " %s" -#: info.c:126 +#: info.c:128 #, c-format msgid "Relation names for OID %u in database \"%s\" do not match: old name \"%s.%s\", new name \"%s.%s\"" msgstr "Les noms de relation pour l'OID %u dans la base de données « %s » ne correspondent pas : ancien nom « %s.%s », nouveau nom « %s.%s »" -#: info.c:146 +#: info.c:148 #, c-format msgid "Failed to match up old and new tables in database \"%s\"" msgstr "Échec de correspondance des anciennes et nouvelles tables dans la base de données « %s »" -#: info.c:227 +#: info.c:229 #, c-format msgid " which is an index on \"%s.%s\"" msgstr " qui est un index sur \"%s.%s\"" -#: info.c:237 +#: info.c:239 #, c-format msgid " which is an index on OID %u" msgstr " qui est un index sur l'OID %u" -#: info.c:249 +#: info.c:251 #, c-format msgid " which is the TOAST table for \"%s.%s\"" msgstr " qui est la table TOAST pour « %s.%s »" -#: info.c:257 +#: info.c:259 #, c-format msgid " which is the TOAST table for OID %u" msgstr " qui est la table TOAST pour l'OID %u" -#: info.c:261 +#: info.c:263 #, c-format msgid "No match found in old cluster for new relation with OID %u in database \"%s\": %s" msgstr "Aucune correspondance trouvée dans l'ancienne instance pour la nouvelle relation d'OID %u dans la base de données « %s » : %s" -#: info.c:264 +#: info.c:266 #, c-format msgid "No match found in new cluster for old relation with OID %u in database \"%s\": %s" msgstr "Aucune correspondance trouvée dans la nouvelle instance pour la nouvelle relation d'OID %u dans la base de données « %s » : %s" -#: info.c:289 +#: info.c:300 #, c-format msgid "" "\n" @@ -998,7 +1240,7 @@ msgstr "" "\n" "bases de données sources :" -#: info.c:291 +#: info.c:302 #, c-format msgid "" "\n" @@ -1013,82 +1255,92 @@ msgstr "" # (errcode(ERRCODE_CASE_NOT_FOUND), # errmsg("case not found"), # errhint("CASE statement is missing ELSE part."))); -#: info.c:329 +#: info.c:346 #, c-format msgid "template0 not found" msgstr "template0 introuvable" -#: info.c:645 +#: info.c:805 #, c-format -msgid "Database: %s" -msgstr "Base de données : %s" +msgid "Database: \"%s\"" +msgstr "Base de données : « %s »" -#: info.c:657 +#: info.c:818 #, c-format -msgid "relname: %s.%s: reloid: %u reltblspace: %s" -msgstr "relname : %s.%s : reloid : %u reltblspace : %s" +msgid "relname: \"%s.%s\", reloid: %u, reltblspace: \"%s\"" +msgstr "relname : « %s.%s », reloid : %u, reltblspace : « %s »" -#: option.c:101 +#: info.c:832 +#, c-format +msgid "Logical replication slots in the database:" +msgstr "Les slots de réplication logique dans la base de données :" + +#: info.c:838 +#, c-format +msgid "slot name: \"%s\", output plugin: \"%s\", two_phase: %s" +msgstr "nom du slot « %s », plugin de sortie « %s », two_phase %s" + +#: option.c:105 #, c-format msgid "%s: cannot be run as root" msgstr "%s : ne peut pas être exécuté en tant que root" -#: option.c:168 +#: option.c:172 #, c-format msgid "invalid old port number" msgstr "ancien numéro de port invalide" -#: option.c:173 +#: option.c:177 #, c-format msgid "invalid new port number" msgstr "nouveau numéro de port invalide" -#: option.c:203 +#: option.c:216 #, c-format msgid "Try \"%s --help\" for more information.\n" msgstr "Essayez « %s --help » pour plus d'informations.\n" -#: option.c:210 +#: option.c:223 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "trop d'arguments en ligne de commande (le premier étant « %s »)" -#: option.c:213 +#: option.c:229 #, c-format msgid "Running in verbose mode" msgstr "Exécution en mode verbeux" -#: option.c:231 +#: option.c:247 msgid "old cluster binaries reside" msgstr "les binaires de l'ancienne instance résident" -#: option.c:233 +#: option.c:249 msgid "new cluster binaries reside" msgstr "les binaires de la nouvelle instance résident" -#: option.c:235 +#: option.c:251 msgid "old cluster data resides" msgstr "les données de l'ancienne instance résident" -#: option.c:237 +#: option.c:253 msgid "new cluster data resides" msgstr "les données de la nouvelle instance résident" -#: option.c:239 +#: option.c:255 msgid "sockets will be created" msgstr "les sockets seront créés" -#: option.c:256 option.c:356 +#: option.c:272 option.c:374 #, c-format msgid "could not determine current directory" msgstr "n'a pas pu déterminer le répertoire courant" -#: option.c:259 +#: option.c:275 #, c-format msgid "cannot run pg_upgrade from inside the new cluster data directory on Windows" msgstr "ne peut pas exécuter pg_upgrade depuis le répertoire de données de la nouvelle instance sur Windows" -#: option.c:268 +#: option.c:284 #, c-format msgid "" "pg_upgrade upgrades a PostgreSQL cluster to a different major version.\n" @@ -1097,12 +1349,12 @@ msgstr "" "pg_upgrade met à jour une instance PostgreSQL vers une version majeure\n" "différente.\n" -#: option.c:269 +#: option.c:285 #, c-format msgid "Usage:\n" msgstr "Usage :\n" -#: option.c:270 +#: option.c:286 #, c-format msgid "" " pg_upgrade [OPTION]...\n" @@ -1111,19 +1363,19 @@ msgstr "" " pg_upgrade [OPTION]...\n" "\n" -#: option.c:271 +#: option.c:287 #, c-format msgid "Options:\n" msgstr "Options :\n" -#: option.c:272 +#: option.c:288 #, c-format msgid " -b, --old-bindir=BINDIR old cluster executable directory\n" msgstr "" " -b, --old-bindir=RÉP_BIN répertoire des exécutables de l'ancienne\n" " instance\n" -#: option.c:273 +#: option.c:289 #, c-format msgid "" " -B, --new-bindir=BINDIR new cluster executable directory (default\n" @@ -1133,121 +1385,131 @@ msgstr "" " instance (par défaut, le même répertoire que\n" " pg_upgrade)\n" -#: option.c:275 +#: option.c:291 #, c-format msgid " -c, --check check clusters only, don't change any data\n" msgstr "" " -c, --check vérifie seulement les instances, pas de\n" " modifications\n" -#: option.c:276 +#: option.c:292 #, c-format msgid " -d, --old-datadir=DATADIR old cluster data directory\n" msgstr " -d, --old-datadir=RÉP_DONNÉES répertoire des données de l'ancienne instance\n" -#: option.c:277 +#: option.c:293 #, c-format msgid " -D, --new-datadir=DATADIR new cluster data directory\n" msgstr " -D, --new-datadir=RÉP_DONNÉES répertoire des données de la nouvelle instance\n" -#: option.c:278 +#: option.c:294 #, c-format msgid " -j, --jobs=NUM number of simultaneous processes or threads to use\n" msgstr "" " -j, --jobs=NUM nombre de processus ou threads simultanés à\n" " utiliser\n" -#: option.c:279 +#: option.c:295 #, c-format msgid " -k, --link link instead of copying files to new cluster\n" msgstr "" " -k, --link lie les fichiers au lieu de les copier vers la\n" " nouvelle instance\n" -#: option.c:280 +#: option.c:296 #, c-format msgid " -N, --no-sync do not wait for changes to be written safely to disk\n" msgstr "" " -N, --nosync n'attend pas que les modifications soient proprement\n" " écrites sur disque\n" -#: option.c:281 +#: option.c:297 #, c-format msgid " -o, --old-options=OPTIONS old cluster options to pass to the server\n" msgstr "" " -o, --old-options=OPTIONS options à passer au serveur de l'ancienne\n" " instance\n" -#: option.c:282 +#: option.c:298 #, c-format msgid " -O, --new-options=OPTIONS new cluster options to pass to the server\n" msgstr "" " -O, --new-options=OPTIONS options à passer au serveur de la nouvelle\n" " instance\n" -#: option.c:283 +#: option.c:299 #, c-format msgid " -p, --old-port=PORT old cluster port number (default %d)\n" msgstr "" " -p, --old-port=PORT numéro de port de l'ancienne instance (par\n" " défaut %d)\n" -#: option.c:284 +#: option.c:300 #, c-format msgid " -P, --new-port=PORT new cluster port number (default %d)\n" msgstr "" " -P, --new-port=PORT numéro de port de la nouvelle instance (par\n" " défaut %d)\n" -#: option.c:285 +#: option.c:301 #, c-format msgid " -r, --retain retain SQL and log files after success\n" msgstr "" " -r, --retain conserve les fichiers SQL et de traces en cas\n" " de succès\n" -#: option.c:286 +#: option.c:302 #, c-format msgid " -s, --socketdir=DIR socket directory to use (default current dir.)\n" msgstr "" " -s, --socketdir=RÉP_SOCKET répertoire de la socket à utiliser (par défaut\n" " le répertoire courant)\n" -#: option.c:287 +#: option.c:303 #, c-format msgid " -U, --username=NAME cluster superuser (default \"%s\")\n" msgstr "" " -U, --username=NOM super-utilisateur de l'instance (par défaut\n" " « %s »)\n" -#: option.c:288 +#: option.c:304 #, c-format msgid " -v, --verbose enable verbose internal logging\n" msgstr " -v, --verbose active des traces internes verbeuses\n" -#: option.c:289 +#: option.c:305 #, c-format msgid " -V, --version display version information, then exit\n" msgstr " -V, --version affiche la version, puis quitte\n" -#: option.c:290 +#: option.c:306 #, c-format msgid " --clone clone instead of copying files to new cluster\n" msgstr "" " --clone clone au lieu de copier les fichiers vers la\n" " nouvelle instance\n" -#: option.c:291 +#: option.c:307 #, c-format msgid " --copy copy files to new cluster (default)\n" -msgstr " --copy copie les fichiers vers la nouvelle instance (par défaut)\n" +msgstr " --copy copie les fichiers vers la nouvelle instance (par défaut)\n" -#: option.c:292 +#: option.c:308 +#, c-format +msgid " --copy-file-range copy files to new cluster with copy_file_range\n" +msgstr " --copy-file-range copie les fichiers vers la nouvelle instance avec copy_file_range\n" + +#: option.c:309 +#, c-format +msgid " --sync-method=METHOD set method for syncing files to disk\n" +msgstr " --sync-method=METHODE configure la méthode pour synchroniser les fichiers sur disque\n" + +#: option.c:310 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help affiche cette aide, puis quitte\n" -#: option.c:293 +#: option.c:311 #, c-format msgid "" "\n" @@ -1263,7 +1525,7 @@ msgstr "" " arrêter le postmaster de la nouvelle instance\n" "\n" -#: option.c:298 +#: option.c:316 #, c-format msgid "" "\n" @@ -1280,7 +1542,7 @@ msgstr "" " le répertoire « bin » pour l'ancienne version (-b RÉP_BIN)\n" " le répertoire « bin » pour la nouvelle version (-B RÉP_BIN)\n" -#: option.c:304 +#: option.c:322 #, c-format msgid "" "\n" @@ -1293,7 +1555,7 @@ msgstr "" " pg_upgrade -d oldCluster/data -D newCluster/data -b oldCluster/bin -B newCluster/bin\n" "ou\n" -#: option.c:309 +#: option.c:327 #, c-format msgid "" " $ export PGDATAOLD=oldCluster/data\n" @@ -1308,7 +1570,7 @@ msgstr "" " $ export PGBINNEW=newCluster/bin\n" " $ pg_upgrade\n" -#: option.c:315 +#: option.c:333 #, c-format msgid "" " C:\\> set PGDATAOLD=oldCluster/data\n" @@ -1323,7 +1585,7 @@ msgstr "" " C:\\> set PGBINNEW=newCluster/bin\n" " C:\\> pg_upgrade\n" -#: option.c:321 +#: option.c:339 #, c-format msgid "" "\n" @@ -1332,12 +1594,12 @@ msgstr "" "\n" "Rapporter les bogues à <%s>.\n" -#: option.c:322 +#: option.c:340 #, c-format msgid "%s home page: <%s>\n" msgstr "Page d'accueil de %s : <%s>\n" -#: option.c:362 +#: option.c:380 #, c-format msgid "" "You must identify the directory where the %s.\n" @@ -1346,45 +1608,50 @@ msgstr "" "Vous devez identifier le répertoire où le %s.\n" "Merci d'utiliser l'option en ligne de commande %s ou la variable d'environnement %s." -#: option.c:415 +#: option.c:433 #, c-format msgid "Finding the real data directory for the source cluster" msgstr "Recherche du vrai répertoire des données pour l'instance source" -#: option.c:417 +#: option.c:435 #, c-format msgid "Finding the real data directory for the target cluster" msgstr "Recherche du vrai répertoire des données pour l'instance cible" -#: option.c:430 option.c:435 +#: option.c:448 +#, c-format +msgid "could not get data directory using %s: %m" +msgstr "n'a pas pu obtenir le répertoire des données en utilisant %s : %m" + +#: option.c:452 #, c-format msgid "could not get data directory using %s: %s" msgstr "n'a pas pu obtenir le répertoire des données en utilisant %s : %s" -#: option.c:484 +#: option.c:500 #, c-format -msgid "could not read line %d from file \"%s\": %s" -msgstr "n'a pas pu lire la ligne %d du fichier « %s » : %s" +msgid "could not read line %d from file \"%s\": %m" +msgstr "n'a pas pu lire la ligne %d du fichier « %s » : %m" -#: option.c:501 +#: option.c:517 #, c-format msgid "user-supplied old port number %hu corrected to %hu" msgstr "ancien numéro de port %hu fourni par l'utilisateur corrigé en %hu" #: parallel.c:127 parallel.c:235 #, c-format -msgid "could not create worker process: %s" -msgstr "n'a pas pu créer le processus de travail : %s" +msgid "could not create worker process: %m" +msgstr "n'a pas pu créer le processus worker : %m" #: parallel.c:143 parallel.c:253 #, c-format -msgid "could not create worker thread: %s" -msgstr "n'a pas pu créer le fil de travail: %s" +msgid "could not create worker thread: %m" +msgstr "n'a pas pu créer le fil de travail: %m" #: parallel.c:294 #, c-format -msgid "%s() failed: %s" -msgstr "échec de %s() : %s" +msgid "%s() failed: %m" +msgstr "échec de %s() : %m" #: parallel.c:298 #, c-format @@ -1393,15 +1660,15 @@ msgstr "le processus fils a quitté anormalement : statut %d" #: parallel.c:313 #, c-format -msgid "child worker exited abnormally: %s" -msgstr "le processus fils a quitté anormalement : %s" +msgid "child worker exited abnormally: %m" +msgstr "le processus fils a quitté anormalement : %m" -#: pg_upgrade.c:107 +#: pg_upgrade.c:115 #, c-format -msgid "could not read permissions of directory \"%s\": %s" -msgstr "n'a pas pu lire les droits du répertoire « %s » : %s" +msgid "could not read permissions of directory \"%s\": %m" +msgstr "n'a pas pu lire les droits du répertoire « %s » : %m" -#: pg_upgrade.c:139 +#: pg_upgrade.c:147 #, c-format msgid "" "\n" @@ -1412,17 +1679,17 @@ msgstr "" "Réalisation de la mise à jour\n" "-----------------------------" -#: pg_upgrade.c:184 +#: pg_upgrade.c:192 #, c-format msgid "Setting next OID for new cluster" msgstr "Configuration du prochain OID sur la nouvelle instance" -#: pg_upgrade.c:193 +#: pg_upgrade.c:216 #, c-format msgid "Sync data directory to disk" msgstr "Synchronisation du répertoire des données sur disque" -#: pg_upgrade.c:205 +#: pg_upgrade.c:230 #, c-format msgid "" "\n" @@ -1433,23 +1700,23 @@ msgstr "" "Mise à jour terminée\n" "--------------------" -#: pg_upgrade.c:238 pg_upgrade.c:251 pg_upgrade.c:258 pg_upgrade.c:265 -#: pg_upgrade.c:283 pg_upgrade.c:294 +#: pg_upgrade.c:263 pg_upgrade.c:276 pg_upgrade.c:283 pg_upgrade.c:290 +#: pg_upgrade.c:308 pg_upgrade.c:319 #, c-format msgid "directory path for new cluster is too long" msgstr "le chemin du répertoire pour la nouvelle instance est trop long" -#: pg_upgrade.c:272 pg_upgrade.c:274 pg_upgrade.c:276 pg_upgrade.c:278 +#: pg_upgrade.c:297 pg_upgrade.c:299 pg_upgrade.c:301 pg_upgrade.c:303 #, c-format msgid "could not create directory \"%s\": %m" msgstr "n'a pas pu créer le répertoire « %s » : %m" -#: pg_upgrade.c:327 +#: pg_upgrade.c:352 #, c-format msgid "%s: could not find own program executable" msgstr "%s : n'a pas pu trouver l'exécutable du programme" -#: pg_upgrade.c:353 +#: pg_upgrade.c:378 #, c-format msgid "" "There seems to be a postmaster servicing the old cluster.\n" @@ -1458,7 +1725,7 @@ msgstr "" "Il semble qu'un postmaster est démarré sur l'ancienne instance.\n" "Merci d'arrêter ce postmaster et d'essayer de nouveau." -#: pg_upgrade.c:366 +#: pg_upgrade.c:391 #, c-format msgid "" "There seems to be a postmaster servicing the new cluster.\n" @@ -1467,81 +1734,86 @@ msgstr "" "Il semble qu'un postmaster est démarré sur la nouvelle instance.\n" "Merci d'arrêter ce postmaster et d'essayer de nouveau." -#: pg_upgrade.c:388 +#: pg_upgrade.c:413 #, c-format msgid "Setting locale and encoding for new cluster" msgstr "Configuration de la locale et de l'encodage pour la nouvelle instance" -#: pg_upgrade.c:450 +#: pg_upgrade.c:489 #, c-format msgid "Analyzing all rows in the new cluster" msgstr "Analyse de toutes les lignes dans la nouvelle instance" -#: pg_upgrade.c:463 +#: pg_upgrade.c:502 #, c-format msgid "Freezing all rows in the new cluster" msgstr "Gel de toutes les lignes dans la nouvelle instance" -#: pg_upgrade.c:483 +#: pg_upgrade.c:522 #, c-format msgid "Restoring global objects in the new cluster" msgstr "Restauration des objets globaux dans la nouvelle instance" -#: pg_upgrade.c:499 +#: pg_upgrade.c:538 #, c-format msgid "Restoring database schemas in the new cluster" msgstr "Restauration des schémas des bases de données dans la nouvelle instance" -#: pg_upgrade.c:605 +#: pg_upgrade.c:662 #, c-format msgid "Deleting files from new %s" msgstr "Suppression des fichiers à partir du nouveau %s" -#: pg_upgrade.c:609 +#: pg_upgrade.c:666 #, c-format msgid "could not delete directory \"%s\"" msgstr "n'a pas pu supprimer le répertoire « %s »" -#: pg_upgrade.c:628 +#: pg_upgrade.c:685 #, c-format msgid "Copying old %s to new server" msgstr "Copie de l'ancien %s vers le nouveau serveur" -#: pg_upgrade.c:654 +#: pg_upgrade.c:711 #, c-format msgid "Setting oldest XID for new cluster" msgstr "Configuration du plus ancien XID sur la nouvelle instance" -#: pg_upgrade.c:662 +#: pg_upgrade.c:719 #, c-format msgid "Setting next transaction ID and epoch for new cluster" msgstr "Configuration du prochain identifiant de transaction et de l'epoch pour la nouvelle instance" -#: pg_upgrade.c:692 +#: pg_upgrade.c:749 #, c-format msgid "Setting next multixact ID and offset for new cluster" msgstr "Configuration du prochain MultiXactId et décalage pour la nouvelle instance" -#: pg_upgrade.c:716 +#: pg_upgrade.c:773 #, c-format msgid "Setting oldest multixact ID in new cluster" msgstr "Configuration du plus ancien identifiant multixact sur la nouvelle instance" -#: pg_upgrade.c:736 +#: pg_upgrade.c:793 #, c-format msgid "Resetting WAL archives" msgstr "Réinitialisation des archives WAL" -#: pg_upgrade.c:779 +#: pg_upgrade.c:836 #, c-format msgid "Setting frozenxid and minmxid counters in new cluster" msgstr "Configuration des compteurs frozenxid et minmxid dans la nouvelle instance" -#: pg_upgrade.c:781 +#: pg_upgrade.c:838 #, c-format msgid "Setting minmxid counter in new cluster" msgstr "Configuration du compteur minmxid dans la nouvelle instance" +#: pg_upgrade.c:929 +#, c-format +msgid "Restoring logical replication slots in the new cluster" +msgstr "Restauration des slots de réplication logique dans la nouvelle instance" + #: relfilenumber.c:35 #, c-format msgid "Cloning user relation files" @@ -1554,35 +1826,45 @@ msgstr "Copie des fichiers des relations utilisateurs" #: relfilenumber.c:41 #, c-format +msgid "Copying user relation files with copy_file_range" +msgstr "Copie des fichiers des relations utilisateurs avec copy_file_range" + +#: relfilenumber.c:44 +#, c-format msgid "Linking user relation files" msgstr "Création des liens pour les fichiers des relations utilisateurs" -#: relfilenumber.c:115 +#: relfilenumber.c:118 #, c-format msgid "old database \"%s\" not found in the new cluster" msgstr "ancienne base de données « %s » introuvable dans la nouvelle instance" -#: relfilenumber.c:218 +#: relfilenumber.c:221 #, c-format -msgid "error while checking for file existence \"%s.%s\" (\"%s\" to \"%s\"): %s" -msgstr "erreur lors de la vérification de l'existence du fichier « %s.%s » (« %s » vers « %s ») : %s" +msgid "error while checking for file existence \"%s.%s\" (\"%s\" to \"%s\"): %m" +msgstr "erreur lors de la vérification de l'existence du fichier « %s.%s » (« %s » vers « %s ») : %m" -#: relfilenumber.c:236 +#: relfilenumber.c:238 #, c-format msgid "rewriting \"%s\" to \"%s\"" msgstr "réécriture de « %s » en « %s »" -#: relfilenumber.c:244 +#: relfilenumber.c:246 #, c-format msgid "cloning \"%s\" to \"%s\"" msgstr "clonage de « %s » en « %s »" -#: relfilenumber.c:249 +#: relfilenumber.c:251 #, c-format msgid "copying \"%s\" to \"%s\"" msgstr "copie de « %s » en « %s »" -#: relfilenumber.c:254 +#: relfilenumber.c:256 +#, c-format +msgid "copying \"%s\" to \"%s\" with copy_file_range" +msgstr "copie de « %s » en « %s » avec copy_file_range" + +#: relfilenumber.c:261 #, c-format msgid "linking \"%s\" to \"%s\"" msgstr "lien de « %s » vers « %s »" @@ -1618,7 +1900,7 @@ msgstr "n'a pas pu ouvrir le fichier de version « %s » : %m" msgid "could not parse version file \"%s\"" msgstr "n'a pas pu analyser le fichier de version « %s »" -#: server.c:288 +#: server.c:310 #, c-format msgid "" "\n" @@ -1627,7 +1909,7 @@ msgstr "" "\n" "%s" -#: server.c:292 +#: server.c:314 #, c-format msgid "" "could not connect to source postmaster started with the command:\n" @@ -1636,7 +1918,7 @@ msgstr "" "n'a pas pu se connecter au postmaster source lancé avec la commande :\n" "%s" -#: server.c:296 +#: server.c:318 #, c-format msgid "" "could not connect to target postmaster started with the command:\n" @@ -1645,22 +1927,22 @@ msgstr "" "n'a pas pu se connecter au postmaster cible lancé avec la commande :\n" "%s" -#: server.c:310 +#: server.c:332 #, c-format msgid "pg_ctl failed to start the source server, or connection failed" msgstr "pg_ctl a échoué à démarrer le serveur source ou connexion échouée" -#: server.c:312 +#: server.c:334 #, c-format msgid "pg_ctl failed to start the target server, or connection failed" msgstr "pg_ctl a échoué à démarrer le serveur cible ou connexion échouée" -#: server.c:357 +#: server.c:379 #, c-format msgid "out of memory" msgstr "mémoire épuisée" -#: server.c:370 +#: server.c:392 #, c-format msgid "libpq environment variable %s has a non-local server value: %s" msgstr "la variable d'environnement libpq %s a une valeur serveur non locale : %s" @@ -1681,8 +1963,8 @@ msgstr "le répertoire « %s » du tablespace n'existe pas" #: tablespace.c:87 #, c-format -msgid "could not stat tablespace directory \"%s\": %s" -msgstr "n'a pas pu tester le répertoire « %s » du tablespace : %s" +msgid "could not stat tablespace directory \"%s\": %m" +msgstr "n'a pas pu tester le répertoire « %s » du tablespace : %m" #: tablespace.c:92 #, c-format @@ -1704,62 +1986,17 @@ msgstr "n'a pas pu accéder au répertoire « %s » : %m" msgid "ok" msgstr "ok" -#: version.c:184 -#, c-format -msgid "Checking for incompatible \"line\" data type" -msgstr "Vérification des types de données line incompatibles" - -#: version.c:193 -#, c-format -msgid "" -"Your installation contains the \"line\" data type in user tables.\n" -"This data type changed its internal and input/output format\n" -"between your old and new versions so this\n" -"cluster cannot currently be upgraded. You can\n" -"drop the problem columns and restart the upgrade.\n" -"A list of the problem columns is in the file:\n" -" %s" -msgstr "" -"Votre installation contient le type de données « line » dans vos tables utilisateurs.\n" -"Ce type de données a changé de format interne et en entrée/sortie entre vos ancienne\n" -"et nouvelle versions, donc cette instance ne peut pas être mise à jour\n" -"actuellement. Vous pouvez supprimer les colonnes problématiques et relancer la mise à jour.\n" -"Une liste des colonnes problématiques se trouve dans le fichier :\n" -" %s" - -#: version.c:224 -#, c-format -msgid "Checking for invalid \"unknown\" user columns" -msgstr "Vérification des colonnes utilisateurs « unknown » invalides" - -#: version.c:233 -#, c-format -msgid "" -"Your installation contains the \"unknown\" data type in user tables.\n" -"This data type is no longer allowed in tables, so this\n" -"cluster cannot currently be upgraded. You can\n" -"drop the problem columns and restart the upgrade.\n" -"A list of the problem columns is in the file:\n" -" %s" -msgstr "" -"Votre installation contient le type de données « unknown » dans vos tables\n" -"utilisateurs. Ce type de données n'est plus autorisé dans les tables, donc\n" -"cette instance ne peut pas être mise à jour pour l'instant. Vous pouvez\n" -"supprimer les colonnes problématiques, puis relancer la mise à jour. Vous trouverez\n" -"une liste des colonnes problématiques dans le fichier :\n" -" %s" - -#: version.c:257 +#: version.c:44 #, c-format msgid "Checking for hash indexes" msgstr "Vérification des index hash" -#: version.c:335 +#: version.c:121 #, c-format msgid "warning" msgstr "attention" -#: version.c:337 +#: version.c:123 #, c-format msgid "" "\n" @@ -1774,7 +2011,7 @@ msgstr "" "être recréés avec la commande REINDEX. Après la mise à jour, les instructions\n" "REINDEX vous seront données." -#: version.c:343 +#: version.c:129 #, c-format msgid "" "\n" @@ -1793,39 +2030,17 @@ msgstr "" "une fois exécuté par psql en tant que superutilisateur va recréer tous les\n" "index invalides. Avant cela, aucun de ces index ne sera utilisé." -#: version.c:369 -#, c-format -msgid "Checking for invalid \"sql_identifier\" user columns" -msgstr "Vérification des colonnes utilisateurs « sql_identifier » invalides" - -#: version.c:379 -#, c-format -msgid "" -"Your installation contains the \"sql_identifier\" data type in user tables.\n" -"The on-disk format for this data type has changed, so this\n" -"cluster cannot currently be upgraded. You can\n" -"drop the problem columns and restart the upgrade.\n" -"A list of the problem columns is in the file:\n" -" %s" -msgstr "" -"Votre installation contient le type de données « sql_identifier » dans les tables\n" -"utilisateurs. Le format sur disque pour ce type de données a changé,\n" -"donc cette instance ne peut pas être mise à jour actuellement. Vous pouvez supprimer\n" -"les colonnes problématiques, puis relancer la mise à jour.\n" -"Une liste des colonnes problématiques se trouve dans le fichier :\n" -" %s" - -#: version.c:402 +#: version.c:153 #, c-format msgid "Checking for extension updates" msgstr "Vérification des mises à jour d'extension" -#: version.c:450 +#: version.c:200 #, c-format msgid "notice" msgstr "notice" -#: version.c:451 +#: version.c:201 #, c-format msgid "" "\n" @@ -1841,295 +2056,3 @@ msgstr "" " %s\n" "une fois exécuté par psql par le superutilisateur mettre à jour\n" "ces extensions." - -#, c-format -#~ msgid "" -#~ "\n" -#~ "\n" -#~ msgstr "" -#~ "\n" -#~ "\n" - -#~ msgid "" -#~ "\n" -#~ "Report bugs to .\n" -#~ msgstr "" -#~ "\n" -#~ "Rapporter les bogues à .\n" - -#, c-format -#~ msgid "" -#~ "\n" -#~ "The old cluster has a \"plpython_call_handler\" function defined\n" -#~ "in the \"public\" schema which is a duplicate of the one defined\n" -#~ "in the \"pg_catalog\" schema. You can confirm this by executing\n" -#~ "in psql:\n" -#~ "\n" -#~ " \\df *.plpython_call_handler\n" -#~ "\n" -#~ "The \"public\" schema version of this function was created by a\n" -#~ "pre-8.1 install of plpython, and must be removed for pg_upgrade\n" -#~ "to complete because it references a now-obsolete \"plpython\"\n" -#~ "shared object file. You can remove the \"public\" schema version\n" -#~ "of this function by running the following command:\n" -#~ "\n" -#~ " DROP FUNCTION public.plpython_call_handler()\n" -#~ "\n" -#~ "in each affected database:\n" -#~ "\n" -#~ msgstr "" -#~ "\n" -#~ "L'ancienne instance comprend une fonction « plpython_call_handler »\n" -#~ "définie dans le schéma « public » qui est un duplicat de celle définie\n" -#~ "dans le schéma « pg_catalog ». Vous pouvez confirmer cela en\n" -#~ "exécutant dans psql :\n" -#~ "\n" -#~ " \\df *.plpython_call_handler\n" -#~ "\n" -#~ "La version de cette fonction dans le schéma « public » a été créée\n" -#~ "par une installation de plpython antérieure à la version 8.1 et doit\n" -#~ "être supprimée pour que pg_upgrade puisse termine parce qu'elle\n" -#~ "référence un fichier objet partagé « plpython » maintenant obsolète.\n" -#~ "Vous pouvez supprimer la version de cette fonction dans le schéma\n" -#~ "« public » en exécutant la commande suivante :\n" -#~ "\n" -#~ " DROP FUNCTION public.plpython_call_handler()\n" -#~ "\n" -#~ "dans chaque base de données affectée :\n" -#~ "\n" - -#, c-format -#~ msgid "" -#~ "\n" -#~ "Your installation contains large objects. The new database has an\n" -#~ "additional large object permission table, so default permissions must be\n" -#~ "defined for all large objects. The file\n" -#~ " %s\n" -#~ "when executed by psql by the database superuser will set the default\n" -#~ "permissions.\n" -#~ "\n" -#~ msgstr "" -#~ "\n" -#~ "Votre installation contient des Large Objects. La nouvelle base de données\n" -#~ "a une table de droit supplémentaire pour les Large Objects, donc les droits\n" -#~ "par défaut doivent être définies pour tous les Large Objects. Le fichier\n" -#~ " %s\n" -#~ "une fois exécuté par psql avec un superutilisateur définira les droits par\n" -#~ "défaut.\n" -#~ "\n" - -#, c-format -#~ msgid "" -#~ "\n" -#~ "Your installation contains large objects. The new database has an\n" -#~ "additional large object permission table. After upgrading, you will be\n" -#~ "given a command to populate the pg_largeobject_metadata table with\n" -#~ "default permissions.\n" -#~ "\n" -#~ msgstr "" -#~ "\n" -#~ "Votre installation contient des Large Objects. La nouvelle base de données a une table de droit supplémentaire sur les Large Objects.\n" -#~ "Après la mise à jour, vous disposerez d'une commande pour peupler la table pg_largeobject_metadata avec les droits par défaut.\n" -#~ "\n" - -#~ msgid "" -#~ "\n" -#~ "connection to database failed: %s" -#~ msgstr "" -#~ "\n" -#~ "échec de la connexion à la base de données : %s" - -#, c-format -#~ msgid " " -#~ msgstr " " - -#, c-format -#~ msgid " %s\n" -#~ msgstr " %s\n" - -#~ msgid "" -#~ " --index-collation-versions-unknown\n" -#~ " mark text indexes as needing to be rebuilt\n" -#~ msgstr "" -#~ " --index-collation-versions-unknown\n" -#~ " marque les index de colonnes de type text comme nécessitant une reconstruction\n" - -#, c-format -#~ msgid "\"%s\" is not a directory\n" -#~ msgstr "« %s » n'est pas un répertoire\n" - -#, c-format -#~ msgid "%-*s\n" -#~ msgstr "%-*s\n" - -#, c-format -#~ msgid "%s\n" -#~ msgstr "%s\n" - -#~ msgid "%s is not a directory\n" -#~ msgstr "%s n'est pas un répertoire\n" - -#, c-format -#~ msgid "%s.%s: %u to %u\n" -#~ msgstr "%s.%s : %u vers %u\n" - -#~ msgid "----------------\n" -#~ msgstr "----------------\n" - -#~ msgid "------------------\n" -#~ msgstr "------------------\n" - -#~ msgid "-----------------------------\n" -#~ msgstr "-----------------------------\n" - -#~ msgid "------------------------------------------------\n" -#~ msgstr "------------------------------------------------\n" - -#, c-format -#~ msgid "All non-template0 databases must allow connections, i.e. their pg_database.datallowconn must be true\n" -#~ msgstr "Toutes les bases de données, autre que template0, doivent autoriser les connexions, ie pg_database.datallowconn doit valoir true\n" - -#~ msgid "Cannot open file %s: %m\n" -#~ msgstr "Ne peut pas ouvrir le fichier %s : %m\n" - -#~ msgid "Cannot read line %d from %s: %m\n" -#~ msgstr "Ne peut pas lire la ligne %d à partir de %s : %m\n" - -#, c-format -#~ msgid "Checking for large objects" -#~ msgstr "Vérification des Large Objects" - -#~ msgid "Creating script to analyze new cluster" -#~ msgstr "Création d'un script pour analyser la nouvelle instance" - -#, c-format -#~ msgid "ICU locale values for database \"%s\" do not match: old \"%s\", new \"%s\"\n" -#~ msgstr "les valeurs de la locale ICU de la base de données « %s » ne correspondent pas : ancien « %s », nouveau « %s »\n" - -#~ msgid "" -#~ "Optimizer statistics and free space information are not transferred\n" -#~ "by pg_upgrade so, once you start the new server, consider running:\n" -#~ " %s\n" -#~ "\n" -#~ msgstr "" -#~ "Les statistiques de l'optimiseur et les informations sur l'espace libre\n" -#~ "ne sont pas transférées par pg_upgrade, donc une fois le nouveau\n" -#~ "serveur démarré, pensez à exécuter :\n" -#~ " %s\n" -#~ "\n" - -#, c-format -#~ msgid "Remove the problem functions from the old cluster to continue.\n" -#~ msgstr "Supprimez les fonctions problématiques de l'ancienne instance pour continuer.\n" - -#, c-format -#~ msgid "The source cluster contains roles starting with \"pg_\"\n" -#~ msgstr "L'instance source contient des rôles commençant avec « pg_ »\n" - -#, c-format -#~ msgid "The target cluster contains roles starting with \"pg_\"\n" -#~ msgstr "L'instance cible contient des rôles commençant avec « pg_ »\n" - -#~ msgid "" -#~ "This utility can only upgrade to PostgreSQL version 9.0 after 2010-01-11\n" -#~ "because of backend API changes made during development.\n" -#~ msgstr "" -#~ "Cet outil peut seulement mettre à jour à partir de la version 9.0 de PostgreSQL (après le 11 janvier 2010)\n" -#~ "à cause de changements dans l'API du moteur fait lors du développement.\n" - -#, c-format -#~ msgid "Unable to rename %s to %s.\n" -#~ msgstr "Incapable de renommer %s à %s.\n" - -#, c-format -#~ msgid "When checking a pre-PG 9.1 live old server, you must specify the old server's port number.\n" -#~ msgstr "Lors de la vérification d'un serveur antérieur à la 9.1, vous devez spécifier le numéro de port de l'ancien serveur.\n" - -#~ msgid "cannot find current directory\n" -#~ msgstr "ne peut pas trouver le répertoire courant\n" - -#~ msgid "cannot write to log file %s\n" -#~ msgstr "ne peut pas écrire dans le fichier de traces %s\n" - -#, c-format -#~ msgid "check for \"%s\" failed: cannot execute (permission denied)\n" -#~ msgstr "échec de la vérification de « %s » : ne peut pas exécuter (droit refusé)\n" - -#~ msgid "check for \"%s\" failed: cannot read file (permission denied)\n" -#~ msgstr "échec de la vérification de « %s » : ne peut pas lire le fichier (droit refusé)\n" - -#, c-format -#~ msgid "check for \"%s\" failed: not a regular file\n" -#~ msgstr "échec de la vérification de « %s » : pas un fichier régulier\n" - -#~ msgid "connection to database failed: %s" -#~ msgstr "échec de la connexion à la base de données : %s" - -#, c-format -#~ msgid "could not access directory \"%s\": %m\n" -#~ msgstr "n'a pas pu accéder au répertoire « %s » : %m\n" - -#, c-format -#~ msgid "could not create directory \"%s\": %m\n" -#~ msgstr "n'a pas pu créer le répertoire « %s » : %m\n" - -#~ msgid "" -#~ "could not load library \"%s\":\n" -#~ "%s\n" -#~ msgstr "" -#~ "n'a pas pu charger la biblothèque « %s »:\n" -#~ "%s\n" - -#, c-format -#~ msgid "could not open file \"%s\": %s\n" -#~ msgstr "n'a pas pu ouvrir le fichier « %s » : %s\n" - -#, c-format -#~ msgid "could not open log file \"%s\": %m\n" -#~ msgstr "n'a pas pu ouvrir le journal applicatif « %s » : %m\n" - -#~ msgid "could not parse PG_VERSION file from %s\n" -#~ msgstr "n'a pas pu analyser le fichier PG_VERSION à partir de %s\n" - -#, c-format -#~ msgid "encodings for database \"%s\" do not match: old \"%s\", new \"%s\"\n" -#~ msgstr "les encodages de la base de données « %s » ne correspondent pas : ancien « %s », nouveau « %s »\n" - -#, c-format -#~ msgid "failed to get system locale name for \"%s\"\n" -#~ msgstr "a échoué pour obtenir le nom de la locale système « %s »\n" - -#, c-format -#~ msgid "failed to get the current locale\n" -#~ msgstr "a échoué pour obtenir la locale courante\n" - -#, c-format -#~ msgid "failed to restore old locale \"%s\"\n" -#~ msgstr "a échoué pour restaurer l'ancienne locale « %s »\n" - -#, c-format -#~ msgid "lc_collate values for database \"%s\" do not match: old \"%s\", new \"%s\"\n" -#~ msgstr "les valeurs de lc_collate de la base de données « %s » ne correspondent pas : ancien « %s », nouveau « %s »\n" - -#, c-format -#~ msgid "lc_ctype values for database \"%s\" do not match: old \"%s\", new \"%s\"\n" -#~ msgstr "les valeurs de lc_ctype de la base de données « %s » ne correspondent pas : ancien « %s », nouveau « %s »\n" - -#, c-format -#~ msgid "locale providers for database \"%s\" do not match: old \"%s\", new \"%s\"\n" -#~ msgstr "les fournisseurs de locale pour la base de données « %s » ne correspondent pas : ancien « %s », nouveau « %s »\n" - -#, c-format -#~ msgid "mappings for database \"%s\":\n" -#~ msgstr "correspondances pour la base de données « %s » :\n" - -#, c-format -#~ msgid "out of memory\n" -#~ msgstr "mémoire épuisée\n" - -#, c-format -#~ msgid "too many command-line arguments (first is \"%s\")\n" -#~ msgstr "trop d'arguments en ligne de commande (le premier étant « %s »)\n" - -#~ msgid "waitpid() failed: %s\n" -#~ msgstr "échec de waitpid() : %s\n" diff --git a/src/bin/pg_upgrade/po/ja.po b/src/bin/pg_upgrade/po/ja.po index 91f5bd9b843..b01f03a46fa 100644 --- a/src/bin/pg_upgrade/po/ja.po +++ b/src/bin/pg_upgrade/po/ja.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_upgrade (PostgreSQL 17)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-06-14 11:24+0900\n" -"PO-Revision-Date: 2024-06-14 11:30+0900\n" +"POT-Creation-Date: 2024-11-07 09:34+0900\n" +"PO-Revision-Date: 2024-11-07 09:51+0900\n" "Last-Translator: Kyotaro Horiguchi \n" "Language-Team: Japan PostgreSQL Users Group \n" "Language: ja\n" @@ -60,11 +60,11 @@ msgstr "シェルコマンドの引数に改行(LF)または復帰(CR)が含ま msgid "database name contains a newline or carriage return: \"%s\"\n" msgstr "データベース名に改行(LF)または復帰(CR)が含まれています: \"%s\"\n" -#: check.c:111 +#: check.c:109 msgid "Checking for system-defined composite types in user tables" msgstr "ユーザーテーブル内のシステム定義複合型を確認しています" -#: check.c:118 +#: check.c:116 msgid "" "Your installation contains system-defined composite types in user tables.\n" "These type OIDs are not stable across PostgreSQL versions,\n" @@ -76,11 +76,11 @@ msgstr "" "このクラスタは現時点ではアップグレードできません。問題の列を削除したのちに\n" "アップグレードを再実行することができます。\n" -#: check.c:132 +#: check.c:130 msgid "Checking for incompatible \"line\" data type" msgstr "非互換の \"line\" データ型を確認しています" -#: check.c:137 +#: check.c:135 msgid "" "Your installation contains the \"line\" data type in user tables.\n" "This data type changed its internal and input/output format\n" @@ -93,11 +93,11 @@ msgstr "" "変更されているため、このクラスタは現時点ではアップグレードできません。\n" "問題の列を削除したのちにアップグレードを再実行できます。\n" -#: check.c:154 +#: check.c:152 msgid "Checking for reg* data types in user tables" msgstr "ユーザーテーブル内の reg * データ型をチェックしています" -#: check.c:181 +#: check.c:179 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" @@ -109,11 +109,11 @@ msgstr "" "保存されないため、現時点ではこのクラスタをアップグレードすることはできません。\n" "問題の列を削除したのち、アップグレードを再実行できます。\n" -#: check.c:193 +#: check.c:191 msgid "Checking for incompatible \"aclitem\" data type" msgstr "非互換の\"aclitem\"データ型を確認しています" -#: check.c:198 +#: check.c:196 msgid "" "Your installation contains the \"aclitem\" data type in user tables.\n" "The internal format of \"aclitem\" changed in PostgreSQL version 16\n" @@ -125,11 +125,11 @@ msgstr "" "現時点ではこのクラスタをアップグレードすることはできません。\n" "問題の列を削除したのち、アップグレードを再実行できます。\n" -#: check.c:217 +#: check.c:215 msgid "Checking for invalid \"unknown\" user columns" msgstr "無効な\"unknown\"ユーザー列をチェックしています" -#: check.c:222 +#: check.c:220 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" @@ -141,11 +141,11 @@ msgstr "" "ではアップグレードできません。問題の列を削除したのち、アップグレードを\n" "再実行できます。\n" -#: check.c:239 +#: check.c:237 msgid "Checking for invalid \"sql_identifier\" user columns" msgstr "無効な\"sql_identifier\"ユーザー列を確認しています" -#: check.c:244 +#: check.c:242 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" @@ -157,11 +157,11 @@ msgstr "" "アップグレードできません。問題のある列を削除した後にアップグレードを再実行する\n" "ことができます。\n" -#: check.c:255 +#: check.c:253 msgid "Checking for incompatible \"jsonb\" data type in user tables" msgstr "ユーザーテーブル内の非互換の\"jsonb\"データ型を確認しています" -#: check.c:260 +#: check.c:258 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" @@ -173,11 +173,11 @@ msgstr "" "クラスタをアップグレードすることはできません。 問題の列を削除したのち、\n" "アップグレードを再実行できます。\n" -#: check.c:272 +#: check.c:270 msgid "Checking for removed \"abstime\" data type in user tables" msgstr "ユーザーテーブル内の削除された\"abstime\"データ型を確認しています" -#: check.c:277 +#: check.c:275 msgid "" "Your installation contains the \"abstime\" data type in user tables.\n" "The \"abstime\" type has been removed in PostgreSQL version 12,\n" @@ -191,11 +191,11 @@ msgstr "" "問題の列を削除するか、他のデータ型に変更した後にアップグレードを\n" "再実行できます。\n" -#: check.c:285 +#: check.c:283 msgid "Checking for removed \"reltime\" data type in user tables" msgstr "ユーザーテーブル中内の削除された\"reltime\"データ型を確認しています" -#: check.c:290 +#: check.c:288 msgid "" "Your installation contains the \"reltime\" data type in user tables.\n" "The \"reltime\" type has been removed in PostgreSQL version 12,\n" @@ -208,11 +208,11 @@ msgstr "" "このクラスタは現時点ではアップグレードできません。問題の列を削除するか、\n" "他のデータ型に変更した後にアップグレードを再実行できます。\n" -#: check.c:298 +#: check.c:296 msgid "Checking for removed \"tinterval\" data type in user tables" msgstr "ユーザーテーブル内の削除された\"tinterval\"データ型を確認しています" -#: check.c:303 +#: check.c:301 msgid "" "Your installation contains the \"tinterval\" data type in user tables.\n" "The \"tinterval\" type has been removed in PostgreSQL version 12,\n" @@ -225,34 +225,34 @@ msgstr "" "このクラスタは現時点ではアップグレードできません。問題の列を削除するか、\n" "他のデータ型に変更した後にアップグレードを再実行できます。\n" -#: check.c:345 +#: check.c:419 #, c-format -msgid "Checking for data type usage" -msgstr "データ型の使用を確認しています" - -#: check.c:480 -#, c-format -msgid " failed check: %s" -msgstr " 問題を検出した項目: %s" +msgid "failed check: %s" +msgstr "問題を検出した項目: %s" -#: check.c:483 +#: check.c:422 msgid "A list of the problem columns is in the file:" msgstr "問題の列の一覧は以下のファイルにあります:" -#: check.c:495 check.c:961 check.c:1134 check.c:1249 check.c:1343 check.c:1471 -#: check.c:1547 check.c:1611 check.c:1684 check.c:1866 check.c:1885 -#: check.c:1954 check.c:2006 file.c:378 file.c:415 function.c:189 option.c:493 -#: version.c:79 version.c:177 +#: check.c:428 check.c:978 check.c:1155 check.c:1238 check.c:1327 check.c:1418 +#: check.c:1550 check.c:1635 check.c:1682 check.c:1890 check.c:1909 +#: check.c:1955 check.c:2008 file.c:378 file.c:415 function.c:208 option.c:493 +#: version.c:79 version.c:162 #, c-format msgid "could not open file \"%s\": %m" msgstr "ファイル\"%s\"をオープンできませんでした: %m" -#: check.c:522 +#: check.c:470 +#, c-format +msgid "Checking data type usage" +msgstr "データ型の使用を確認しています" + +#: check.c:524 #, c-format msgid "Data type checks failed: %s" msgstr "問題を検出したデータ型確認項目: %s" -#: check.c:563 +#: check.c:573 #, c-format msgid "" "Performing Consistency Checks on Old Live Server\n" @@ -261,7 +261,7 @@ msgstr "" "元の実行中サーバーの一貫性チェックを実行しています。\n" "--------------------------------------------------" -#: check.c:569 +#: check.c:579 #, c-format msgid "" "Performing Consistency Checks\n" @@ -270,7 +270,7 @@ msgstr "" "整合性チェックを実行しています。\n" "-----------------------------" -#: check.c:716 +#: check.c:733 #, c-format msgid "" "\n" @@ -279,7 +279,7 @@ msgstr "" "\n" "* クラスタは互換性があります *" -#: check.c:724 +#: check.c:741 #, c-format msgid "" "\n" @@ -290,7 +290,7 @@ msgstr "" "この後pg_upgradeが失敗した場合は、続ける前に新しいクラスタを\n" "initdbで再作成する必要があります。" -#: check.c:765 +#: check.c:782 #, c-format msgid "" "Optimizer statistics are not transferred by pg_upgrade.\n" @@ -301,7 +301,7 @@ msgstr "" "新サーバーを起動した後、以下を行うことを検討してください。\n" " %s/vacuumdb %s--all --analyze-in-stages" -#: check.c:771 +#: check.c:788 #, c-format msgid "" "Running this script will delete the old cluster's data files:\n" @@ -310,7 +310,7 @@ msgstr "" "このスクリプトを実行すると、旧クラスタのデータファイルが削除されます:\n" " %s" -#: check.c:776 +#: check.c:793 #, c-format msgid "" "Could not create a script to delete the old cluster's data files\n" @@ -323,57 +323,57 @@ msgstr "" "ファイルを削除するためのスクリプトを作成できませんでした。 古い\n" "クラスタの内容は手動で削除する必要があります。" -#: check.c:788 +#: check.c:805 #, c-format msgid "Checking cluster versions" msgstr "クラスタのバージョンを確認しています" -#: check.c:800 +#: check.c:817 #, c-format msgid "This utility can only upgrade from PostgreSQL version %s and later." msgstr "このユーティリティではPostgreSQLバージョン%s以降のバージョンからのみアップグレードできます。" -#: check.c:805 +#: check.c:822 #, c-format msgid "This utility can only upgrade to PostgreSQL version %s." msgstr "このユーティリティは、PostgreSQLバージョン%sにのみアップグレードできます。" -#: check.c:814 +#: check.c:831 #, c-format msgid "This utility cannot be used to downgrade to older major PostgreSQL versions." msgstr "このユーティリティは PostgreSQL の過去のメジャーバージョンにダウングレードする用途では使用できません。" -#: check.c:819 +#: check.c:836 #, c-format msgid "Old cluster data and binary directories are from different major versions." msgstr "旧クラスタのデータとバイナリのディレクトリは異なるメジャーバージョンのものです。" -#: check.c:822 +#: check.c:839 #, c-format msgid "New cluster data and binary directories are from different major versions." msgstr "新クラスタのデータとバイナリのディレクトリは異なるメジャーバージョンのものです。" -#: check.c:837 +#: check.c:854 #, c-format msgid "When checking a live server, the old and new port numbers must be different." msgstr "稼働中のサーバーをチェックする場合、新旧のポート番号が異なっている必要があります。" -#: check.c:857 +#: check.c:874 #, c-format msgid "New cluster database \"%s\" is not empty: found relation \"%s.%s\"" msgstr "新クラスタのデータベース\"%s\"が空ではありません: リレーション\"%s.%s\"が見つかりました" -#: check.c:880 +#: check.c:897 #, c-format msgid "Checking for new cluster tablespace directories" msgstr "新しいクラスタのテーブル空間ディレクトリを確認しています" -#: check.c:891 +#: check.c:908 #, c-format msgid "new cluster tablespace directory already exists: \"%s\"" msgstr "新しいクラスタのテーブル空間ディレクトリはすでに存在します: \"%s\"" -#: check.c:924 +#: check.c:941 #, c-format msgid "" "\n" @@ -382,7 +382,7 @@ msgstr "" "\n" "警告: 新データディレクトリが旧データディレクトリ、つまり %sの中にあってはなりません" -#: check.c:948 +#: check.c:965 #, c-format msgid "" "\n" @@ -391,92 +391,92 @@ msgstr "" "\n" "警告: ユーザー定義テーブル空間の場所がデータディレクトリ、つまり %s の中にあってはなりません。" -#: check.c:958 +#: check.c:975 #, c-format msgid "Creating script to delete old cluster" msgstr "旧クラスタを削除するスクリプトを作成しています" -#: check.c:1012 +#: check.c:1029 #, c-format msgid "could not add execute permission to file \"%s\": %m" msgstr "ファイル\"%s\"に実行権限を追加できませんでした: %m" -#: check.c:1032 +#: check.c:1049 #, c-format msgid "Checking database user is the install user" msgstr "データベースユーザーがインストールユーザーかどうかをチェックしています" -#: check.c:1048 +#: check.c:1065 #, c-format msgid "database user \"%s\" is not the install user" msgstr "データベースユーザー\"%s\"がインストールユーザーではありません" -#: check.c:1059 +#: check.c:1076 #, c-format msgid "could not determine the number of users" msgstr "ユーザー数を特定できませんでした" -#: check.c:1067 +#: check.c:1084 #, c-format msgid "Only the install user can be defined in the new cluster." msgstr "新クラスタ内で定義できるのはインストールユーザーのみです。" -#: check.c:1096 +#: check.c:1114 #, c-format msgid "Checking database connection settings" msgstr "データベース接続の設定を確認しています" -#: check.c:1122 +#: check.c:1142 #, 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:1148 check.c:1268 check.c:1365 check.c:1490 check.c:1566 -#: check.c:1624 check.c:1704 check.c:1898 check.c:2023 function.c:210 +#: check.c:1169 check.c:1290 check.c:1386 check.c:1514 check.c:1590 +#: check.c:1648 check.c:1731 check.c:1922 check.c:2064 function.c:229 #, c-format msgid "fatal" msgstr "致命的" -#: check.c:1149 +#: check.c:1170 #, c-format msgid "" "All non-template0 databases must allow connections, i.e. their\n" -"pg_database.datallowconn must be true. Your installation contains\n" -"non-template0 databases with their pg_database.datallowconn set to\n" -"false. Consider allowing connection for all non-template0 databases\n" -"or drop the databases which do not allow connections. A list of\n" -"databases with the problem is in the file:\n" +"pg_database.datallowconn must be true and pg_database.datconnlimit\n" +"must not be -2. Your installation contains non-template0 databases\n" +"which cannot be connected to. Consider allowing connection for all\n" +"non-template0 databases or drop the databases which do not allow\n" +"connections. A list of databases with the problem is in the file:\n" " %s" msgstr "" "template0ではないすべてのデータベースは接続を許可しなければなりません、つまり\n" -"pg_database.datallowconnがtrueでなければなりません。このクラスタには\n" -"pg_database.datallowconnがfalseとなっているtemplate0以外のデータベースが\n" +"pg_database.datallowconnがtrue、そしてpg_database.datconnlimitが-2以外の\n" +"値でなければなりません。このクラスタには接続不可なtemplate0以外のデータベースが\n" "存在しています。template0以外のすべてのデータベースへの接続を許可するか、接続が\n" "許可されないデータベースをすべて削除することを検討してください。問題のあるデータベースの\n" "一覧が以下のファイルにあります:\n" " %s" -#: check.c:1174 +#: check.c:1195 #, c-format msgid "Checking for prepared transactions" msgstr "準備済みトランザクションをチェックしています" -#: check.c:1183 +#: check.c:1204 #, c-format msgid "The source cluster contains prepared transactions" msgstr "移行元クラスタに準備済みトランザクションがあります" -#: check.c:1185 +#: check.c:1206 #, c-format msgid "The target cluster contains prepared transactions" msgstr "移行先クラスタに準備済みトランザクションがあります" -#: check.c:1210 +#: check.c:1266 #, c-format msgid "Checking for contrib/isn with bigint-passing mismatch" msgstr "bigint を渡す際にミスマッチが発生する contrib/isn をチェックしています" -#: check.c:1269 +#: check.c:1291 #, c-format msgid "" "Your installation contains \"contrib/isn\" functions which rely on the\n" @@ -496,12 +496,12 @@ msgstr "" "問題のある関数の一覧は以下のファイルにあります:\n" " %s" -#: check.c:1291 +#: check.c:1371 #, c-format msgid "Checking for user-defined postfix operators" msgstr "ユーザー定義の後置演算子を確認しています" -#: check.c:1366 +#: check.c:1387 #, c-format msgid "" "Your installation contains user-defined postfix operators, which are not\n" @@ -516,12 +516,12 @@ msgstr "" "以下のファイルにユーザー定義後置演算子の一覧があります:\n" " %s" -#: check.c:1390 +#: check.c:1442 #, c-format msgid "Checking for incompatible polymorphic functions" msgstr "非互換の多態関数を確認しています" -#: check.c:1491 +#: check.c:1515 #, c-format msgid "" "Your installation contains user-defined objects that refer to internal\n" @@ -539,12 +539,12 @@ msgstr "" "問題となるオブジェクトの一覧は以下のファイルにあります:\n" " %s" -#: check.c:1515 +#: check.c:1575 #, c-format msgid "Checking for tables WITH OIDS" msgstr "WITH OIDS宣言されたテーブルをチェックしています" -#: check.c:1567 +#: check.c:1591 #, c-format msgid "" "Your installation contains tables declared WITH OIDS, which is not\n" @@ -559,12 +559,12 @@ msgstr "" "以下のファイルにこの問題を抱えるテーブルの一覧があります:\n" " %s" -#: check.c:1594 +#: check.c:1618 #, c-format msgid "Checking for roles starting with \"pg_\"" msgstr "'pg_' で始まるロールをチェックしています" -#: check.c:1625 +#: check.c:1649 #, c-format msgid "" "Your installation contains roles starting with \"pg_\".\n" @@ -580,12 +580,12 @@ msgstr "" "\"pg_\"で始まるロールの一覧は以下のファイルにあります:\n" " %s" -#: check.c:1645 +#: check.c:1703 #, c-format msgid "Checking for user-defined encoding conversions" msgstr "ユーザー定義のエンコーディング変換を確認しています" -#: check.c:1705 +#: check.c:1732 #, c-format msgid "" "Your installation contains user-defined encoding conversions.\n" @@ -603,55 +603,55 @@ msgstr "" "ユーザー定義のエンコーディング変換の一覧は以下のファイルにあります:\n" " %s" -#: check.c:1744 +#: check.c:1771 #, c-format msgid "Checking for new cluster logical replication slots" msgstr "新しいクラスタの論理レプリケーションスロットを確認しています" -#: check.c:1752 +#: check.c:1779 #, c-format msgid "could not count the number of logical replication slots" msgstr "論理レプリケーションスロットの数を数えられませんでした" -#: check.c:1757 +#: check.c:1784 #, c-format -msgid "Expected 0 logical replication slots but found %d." -msgstr "物理レプリケーションスロット数は0であることを期待していましたが %d スロットありました。" +msgid "expected 0 logical replication slots but found %d" +msgstr "論理レプリケーションスロット数は0であることを期待していましたが、%d個ありました" -#: check.c:1767 check.c:1821 +#: check.c:1794 check.c:1845 #, c-format msgid "could not determine parameter settings on new cluster" msgstr "新クラスタ上のパラメータ設定を決定できませんでした" -#: check.c:1772 +#: check.c:1799 #, c-format -msgid "\"wal_level\" must be \"logical\", but is set to \"%s\"" -msgstr "\"wal_level\"は\"logical\"でなければなりませんが、\"%s\"に設定されています" +msgid "\"wal_level\" must be \"logical\" but is set to \"%s\"" +msgstr "\"wal_level\"は\"logical\"でなければなりませんが\"%s\"に設定されています" -#: check.c:1778 +#: check.c:1805 #, 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:1813 +#: check.c:1837 #, c-format msgid "Checking for new cluster configuration for subscriptions" msgstr "新しいクラスタの構成のサブスクリプションを確認しています" -#: check.c:1825 +#: check.c:1849 #, 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:1847 +#: check.c:1871 #, c-format msgid "Checking for valid logical replication slots" msgstr "有効な論理レプリケーションスロットを確認しています" -#: check.c:1899 +#: check.c:1923 #, c-format msgid "" -"Your installation contains logical replication slots that can't be upgraded.\n" +"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" "and then restart the upgrade.\n" "A list of the problematic slots is in the file:\n" @@ -663,12 +663,12 @@ msgstr "" "問題のある列の一覧は、以下のファイルにあります: \n" " %s" -#: check.c:1923 +#: check.c:1983 #, c-format msgid "Checking for subscription state" msgstr "サブスクリプション状態を確認しています" -#: check.c:2024 +#: check.c:2065 #, c-format msgid "" "Your installation contains subscriptions without origin or having relations not in i (initialize) or r (ready) state.\n" @@ -682,184 +682,184 @@ msgstr "" "問題のあるサブスクリプションの一覧は、以下のファイルにあります: \n" " %s" -#: controldata.c:129 controldata.c:199 +#: controldata.c:130 controldata.c:200 #, c-format msgid "could not get control data using %s: %m" msgstr "%sで制御情報が取得できませんでした: %m" -#: controldata.c:139 +#: controldata.c:140 #, c-format msgid "%d: database cluster state problem" msgstr "%d: データベースクラスタの状態異常" -#: controldata.c:158 +#: controldata.c:159 #, c-format msgid "The source cluster was shut down while in recovery mode. To upgrade, use \"rsync\" as documented or shut it down as a primary." msgstr "移行元クラスタはリカバリモード中にシャットダウンされています。アップグレードをするにはドキュメントの通りに \"rsync\" を実行するか、プライマリとしてシャットダウンしてください。" -#: controldata.c:160 +#: controldata.c:161 #, c-format msgid "The target cluster was shut down while in recovery mode. To upgrade, use \"rsync\" as documented or shut it down as a primary." msgstr "移行先クラスタはリカバリモード中にシャットダウンされています。アップグレードをするにはドキュメントの通りに \"rsync\" を実行するか、プライマリとしてシャットダウンしてください。" -#: controldata.c:165 +#: controldata.c:166 #, c-format msgid "The source cluster was not shut down cleanly, state reported as: \"%s\"" msgstr "移行元クラスタはクリーンにシャットダウンされていません、状態は以下のように報告されています: \"%s\"" -#: controldata.c:167 +#: controldata.c:168 #, c-format msgid "The target cluster was not shut down cleanly, state reported as: \"%s\"" msgstr "移行先クラスタはクリーンにシャットダウンされていません、状態は以下のように報告されています: \"%s\"" -#: controldata.c:175 controldata.c:507 +#: controldata.c:176 controldata.c:508 #, c-format msgid "could not get control data using %s: %s" msgstr "%s で制御情報が取得できませんでした。: %s" -#: controldata.c:181 +#: controldata.c:182 #, c-format msgid "The source cluster lacks cluster state information:" msgstr "移行元クラスタにクラスタ状態情報がありません:" -#: controldata.c:183 +#: controldata.c:184 #, c-format msgid "The target cluster lacks cluster state information:" msgstr "移行先クラスタにクラスタ状態情報がありません:" -#: controldata.c:213 dump.c:50 exec.c:118 pg_upgrade.c:556 pg_upgrade.c:596 -#: pg_upgrade.c:945 relfilenumber.c:233 server.c:34 util.c:337 +#: controldata.c:214 dump.c:50 exec.c:118 pg_upgrade.c:563 pg_upgrade.c:603 +#: pg_upgrade.c:952 relfilenumber.c:231 server.c:34 util.c:337 #, c-format msgid "%s" msgstr "%s" -#: controldata.c:220 +#: controldata.c:221 #, c-format msgid "%d: pg_resetwal problem" msgstr "%d: pg_resetwal で問題発生" -#: controldata.c:230 controldata.c:240 controldata.c:251 controldata.c:262 -#: controldata.c:273 controldata.c:292 controldata.c:303 controldata.c:314 -#: controldata.c:325 controldata.c:336 controldata.c:347 controldata.c:358 -#: controldata.c:361 controldata.c:365 controldata.c:375 controldata.c:387 -#: controldata.c:398 controldata.c:409 controldata.c:420 controldata.c:431 -#: controldata.c:442 controldata.c:453 controldata.c:464 controldata.c:475 -#: controldata.c:486 controldata.c:497 +#: controldata.c:231 controldata.c:241 controldata.c:252 controldata.c:263 +#: controldata.c:274 controldata.c:293 controldata.c:304 controldata.c:315 +#: controldata.c:326 controldata.c:337 controldata.c:348 controldata.c:359 +#: controldata.c:362 controldata.c:366 controldata.c:376 controldata.c:388 +#: controldata.c:399 controldata.c:410 controldata.c:421 controldata.c:432 +#: controldata.c:443 controldata.c:454 controldata.c:465 controldata.c:476 +#: controldata.c:487 controldata.c:498 #, c-format msgid "%d: controldata retrieval problem" msgstr "%d: 制御情報の取得で問題発生" -#: controldata.c:578 +#: controldata.c:579 #, c-format msgid "The source cluster lacks some required control information:" msgstr "移行元クラスタに必要な制御情報の一部がありません:" -#: controldata.c:581 +#: controldata.c:582 #, c-format msgid "The target cluster lacks some required control information:" msgstr "移行先クラスタに必要な制御情報の一部がありません:" -#: controldata.c:584 +#: controldata.c:585 #, c-format msgid " checkpoint next XID" msgstr " チェックポイントにおける次のXID" -#: controldata.c:587 +#: controldata.c:588 #, c-format msgid " latest checkpoint next OID" msgstr " 最新のチェックポイントにおける次のOID" -#: controldata.c:590 +#: controldata.c:591 #, c-format msgid " latest checkpoint next MultiXactId" msgstr " 最新のチェックポイントにおける次のMultiXactId" -#: controldata.c:594 +#: controldata.c:595 #, c-format msgid " latest checkpoint oldest MultiXactId" msgstr " 最新のチェックポイントにおける最古のMultiXactId" -#: controldata.c:597 +#: controldata.c:598 #, c-format msgid " latest checkpoint oldestXID" msgstr " 最新のチェックポイントにおける最古のXID" -#: controldata.c:600 +#: controldata.c:601 #, c-format msgid " latest checkpoint next MultiXactOffset" msgstr " 最新のチェックポイントにおける次のMultiXactOffset" -#: controldata.c:603 +#: controldata.c:604 #, c-format msgid " first WAL segment after reset" msgstr " リセット後の最初のWALセグメント" -#: controldata.c:606 +#: controldata.c:607 #, c-format msgid " float8 argument passing method" msgstr " float8引数の引き渡し方法" -#: controldata.c:609 +#: controldata.c:610 #, c-format msgid " maximum alignment" msgstr " 最大アラインメント" -#: controldata.c:612 +#: controldata.c:613 #, c-format msgid " block size" msgstr " ブロックサイズ" -#: controldata.c:615 +#: controldata.c:616 #, c-format msgid " large relation segment size" msgstr " 大きなリレーションセグメントのサイズ" -#: controldata.c:618 +#: controldata.c:619 #, c-format msgid " WAL block size" msgstr " WALのブロックサイズ" -#: controldata.c:621 +#: controldata.c:622 #, c-format msgid " WAL segment size" msgstr " WALのセグメントサイズ" -#: controldata.c:624 +#: controldata.c:625 #, c-format msgid " maximum identifier length" msgstr " 識別子の最大長" -#: controldata.c:627 +#: controldata.c:628 #, c-format msgid " maximum number of indexed columns" msgstr " インデックス対象カラムの最大数" -#: controldata.c:630 +#: controldata.c:631 #, c-format msgid " maximum TOAST chunk size" msgstr " 最大のTOASTチャンクサイズ" -#: controldata.c:634 +#: controldata.c:635 #, c-format msgid " large-object chunk size" msgstr " ラージオブジェクトのチャンクサイズ" -#: controldata.c:637 +#: controldata.c:638 #, c-format msgid " dates/times are integers?" msgstr " 日付/時間が整数?" -#: controldata.c:641 +#: controldata.c:642 #, c-format msgid " data checksum version" msgstr " データチェックサムのバージョン" -#: controldata.c:643 +#: controldata.c:644 #, c-format msgid "Cannot continue without required control information, terminating" msgstr "必要な制御情報がないので続行できません。終了します" -#: controldata.c:658 +#: controldata.c:659 #, c-format msgid "" "old and new pg_controldata alignments are invalid or do not match.\n" @@ -868,77 +868,77 @@ msgstr "" "新旧のpg_controldataのアラインメントが不正であるかかまたは一致しません\n" "一方のクラスタが32ビットで、他方が64ビットである可能性が高いです" -#: controldata.c:662 +#: controldata.c:663 #, c-format msgid "old and new pg_controldata block sizes are invalid or do not match" msgstr "新旧の pg_controldata におけるブロックサイズが有効でないかまたは一致しません" -#: controldata.c:665 +#: controldata.c:666 #, c-format msgid "old and new pg_controldata maximum relation segment sizes are invalid or do not match" msgstr "新旧の pg_controldata におけるリレーションの最大セグメントサイズが有効でないか一致しません" -#: controldata.c:668 +#: controldata.c:669 #, c-format msgid "old and new pg_controldata WAL block sizes are invalid or do not match" msgstr "新旧の pg_controldata における WAL ブロックサイズが有効でないか一致しません" -#: controldata.c:671 +#: controldata.c:672 #, c-format msgid "old and new pg_controldata WAL segment sizes are invalid or do not match" msgstr "新旧の pg_controldata におけるWALセグメントサイズが有効でないか一致しません" -#: controldata.c:674 +#: controldata.c:675 #, c-format msgid "old and new pg_controldata maximum identifier lengths are invalid or do not match" msgstr "新旧の pg_controldata における識別子の最大長が有効でないか一致しません" -#: controldata.c:677 +#: controldata.c:678 #, c-format msgid "old and new pg_controldata maximum indexed columns are invalid or do not match" msgstr "新旧の pg_controldata におけるインデックス付き列の最大数が有効でないか一致しません" -#: controldata.c:680 +#: controldata.c:681 #, c-format msgid "old and new pg_controldata maximum TOAST chunk sizes are invalid or do not match" msgstr "新旧の pg_controldata におけるTOASTチャンクサイズの最大値が有効でないか一致しません" -#: controldata.c:685 +#: controldata.c:686 #, c-format msgid "old and new pg_controldata large-object chunk sizes are invalid or do not match" msgstr "新旧の pg_controldata におけるラージオブジェクトのチャンクサイズが有効でないかまたは一致しません" -#: controldata.c:688 +#: controldata.c:689 #, c-format msgid "old and new pg_controldata date/time storage types do not match" msgstr "新旧の pg_controldata における日付/時刻型データの保存バイト数が一致しません" -#: controldata.c:701 +#: controldata.c:702 #, c-format msgid "old cluster does not use data checksums but the new one does" msgstr "旧クラスタではデータチェックサムを使用していませんが、新クラスタでは使用しています" -#: controldata.c:704 +#: controldata.c:705 #, c-format msgid "old cluster uses data checksums but the new one does not" msgstr "旧クラスタではデータチェックサムを使用していますが、新クラスタでは使用していません" -#: controldata.c:706 +#: controldata.c:707 #, c-format msgid "old and new cluster pg_controldata checksum versions do not match" msgstr "新旧の pg_controldata 間でチェックサムのバージョンが一致しません" -#: controldata.c:717 +#: controldata.c:718 #, c-format msgid "Adding \".old\" suffix to old global/pg_control" msgstr "旧の global/pg_control に \".old\" サフィックスを追加しています" -#: controldata.c:722 +#: controldata.c:723 #, c-format msgid "could not rename file \"%s\" to \"%s\": %m" msgstr "ファイル\"%s\"の名前を\"%s\"に変更できませんでした: %m" -#: controldata.c:726 +#: controldata.c:727 #, c-format msgid "" "\n" @@ -983,7 +983,7 @@ msgstr "%s からpg_ctlのバージョン出力を取得できませんでした msgid "command too long" msgstr "コマンドが長すぎます" -#: exec.c:160 pg_upgrade.c:311 +#: exec.c:160 pg_upgrade.c:306 #, c-format msgid "could not open log file \"%s\": %m" msgstr "ロックファイル\"%s\"をオープンできませんでした: %m" @@ -1018,7 +1018,7 @@ msgid "" "the probable cause of the failure." msgstr "ありうる失敗の原因については、\"%s\"の最後の数行を参照してください。" -#: exec.c:218 pg_upgrade.c:321 +#: exec.c:218 pg_upgrade.c:316 #, c-format msgid "could not write to log file \"%s\": %m" msgstr "ログファイル\"%s\"に書き込めませんでした: %m" @@ -1152,22 +1152,22 @@ msgstr "" "新旧のデータディレクトリ間でハードリンクを作成できませんでした: %m\n" "リンクモードでは、新旧のデータディレクトリが同じファイルシステム上にある必要があります。" -#: function.c:154 +#: function.c:173 #, c-format msgid "Checking for presence of required libraries" msgstr "必要なライブラリの有無を確認しています" -#: function.c:190 +#: function.c:209 #, c-format msgid "could not load library \"%s\": %s" msgstr "ライブラリ\"%s\"をロードできませんでした: %s" -#: function.c:201 +#: function.c:220 #, c-format msgid "In database: %s\n" msgstr "データベース: %s\n" -#: function.c:211 +#: function.c:230 #, c-format msgid "" "Your installation references loadable libraries that are missing from the\n" @@ -1182,47 +1182,47 @@ msgstr "" "以下のファイルに入っています:\n" " %s" -#: info.c:129 +#: info.c:131 #, c-format msgid "Relation names for OID %u in database \"%s\" do not match: old name \"%s.%s\", new name \"%s.%s\"" msgstr "データベース\"%2$s\"で OID %1$u のリレーション名が一致しません: 元の名前 \"%3$s.%4$s\"、新しい名前 \"%5$s.%6$s\"" -#: info.c:149 +#: info.c:151 #, c-format msgid "Failed to match up old and new tables in database \"%s\"" msgstr "データベース\"%s\"で新旧のテーブルの照合に失敗しました" -#: info.c:230 +#: info.c:232 #, c-format msgid " which is an index on \"%s.%s\"" msgstr " これは \"%s.%s\" 上のインデックスです" -#: info.c:240 +#: info.c:242 #, c-format msgid " which is an index on OID %u" msgstr " これは OID %u 上のインデックスです" -#: info.c:252 +#: info.c:254 #, c-format msgid " which is the TOAST table for \"%s.%s\"" msgstr " これは \"%s.%s\" の TOAST テーブルです" -#: info.c:260 +#: info.c:262 #, c-format msgid " which is the TOAST table for OID %u" msgstr " これは OID %u の TOAST テーブルです" -#: info.c:264 +#: info.c:266 #, c-format msgid "No match found in old cluster for new relation with OID %u in database \"%s\": %s" msgstr "データベース\"%2$s\"でOID%1$uを持つ新リレーションに対応するリレーションが旧クラスタ内にありません: %3$s" -#: info.c:267 +#: info.c:269 #, c-format msgid "No match found in new cluster for old relation with OID %u in database \"%s\": %s" msgstr "データベース\"%2$s\"でOID %1$uを持つ旧リレーションに対応するリレーションが新クラスタ内にありません: %3$s" -#: info.c:308 +#: info.c:325 #, c-format msgid "" "\n" @@ -1231,7 +1231,7 @@ msgstr "" "\n" "移行元データベース:" -#: info.c:310 +#: info.c:327 #, c-format msgid "" "\n" @@ -1240,30 +1240,30 @@ msgstr "" "\n" "移行先データベース:" -#: info.c:354 +#: info.c:371 #, c-format msgid "template0 not found" msgstr "template0が見つかりません" -#: info.c:842 +#: info.c:815 #, c-format msgid "Database: \"%s\"" msgstr "データベース: \"%s\"" -#: info.c:855 +#: info.c:828 #, c-format msgid "relname: \"%s.%s\", reloid: %u, reltblspace: \"%s\"" msgstr "relname: \"%s.%s\": reloid: %u reltblspace: \"%s\"" -#: info.c:869 +#: info.c:842 #, c-format -msgid "Logical replication slots within the database:" -msgstr "このデータベース内の論理レプリケーションスロット: " +msgid "Logical replication slots in the database:" +msgstr "このデータベースの論理レプリケーションスロット: " -#: info.c:875 +#: info.c:848 #, c-format -msgid "slot_name: \"%s\", plugin: \"%s\", two_phase: %s" -msgstr "slot_name: \"%s\", plugin: \"%s\", two_phase: %s" +msgid "slot name: \"%s\", output plugin: \"%s\", two_phase: %s" +msgstr "スロット名: \"%s\", 出力プラグイン: \"%s\", two_phase: %s" #: option.c:105 #, c-format @@ -1628,12 +1628,12 @@ msgstr "子プロセスが異常終了しました: ステータス %d" msgid "child worker exited abnormally: %m" msgstr "子ワーカーが異常終了しました: %m" -#: pg_upgrade.c:115 +#: pg_upgrade.c:110 #, c-format msgid "could not read permissions of directory \"%s\": %m" msgstr "ディレクトリ\"%s\"の権限を読み取れませんでした: %m" -#: pg_upgrade.c:147 +#: pg_upgrade.c:142 #, c-format msgid "" "\n" @@ -1644,17 +1644,17 @@ msgstr "" "アップグレードを実行しています。\n" "------------------" -#: pg_upgrade.c:192 +#: pg_upgrade.c:187 #, c-format msgid "Setting next OID for new cluster" msgstr "新クラスタの、次の OID を設定しています" -#: pg_upgrade.c:216 +#: pg_upgrade.c:211 #, c-format msgid "Sync data directory to disk" msgstr "データディレクトリをディスクに同期します" -#: pg_upgrade.c:230 +#: pg_upgrade.c:225 #, c-format msgid "" "\n" @@ -1665,23 +1665,23 @@ msgstr "" "アップグレードが完了しました\n" "----------------" -#: pg_upgrade.c:263 pg_upgrade.c:276 pg_upgrade.c:283 pg_upgrade.c:290 -#: pg_upgrade.c:308 pg_upgrade.c:319 +#: pg_upgrade.c:258 pg_upgrade.c:271 pg_upgrade.c:278 pg_upgrade.c:285 +#: pg_upgrade.c:303 pg_upgrade.c:314 #, c-format msgid "directory path for new cluster is too long" msgstr "新クラスタのディレクトリ・パスが長すぎます" -#: pg_upgrade.c:297 pg_upgrade.c:299 pg_upgrade.c:301 pg_upgrade.c:303 +#: pg_upgrade.c:292 pg_upgrade.c:294 pg_upgrade.c:296 pg_upgrade.c:298 #, c-format msgid "could not create directory \"%s\": %m" msgstr "ディレクトリ\"%s\"を作成できませんでした: %m" -#: pg_upgrade.c:352 +#: pg_upgrade.c:347 #, c-format msgid "%s: could not find own program executable" msgstr "%s: 自身の実行ファイルが見つかりませんでした" -#: pg_upgrade.c:378 +#: pg_upgrade.c:373 #, c-format msgid "" "There seems to be a postmaster servicing the old cluster.\n" @@ -1690,7 +1690,7 @@ msgstr "" "旧クラスタで稼働中のpostmasterがあるようです。\n" "そのpostmasterをシャットダウンしたのちにやり直してください。" -#: pg_upgrade.c:391 +#: pg_upgrade.c:386 #, c-format msgid "" "There seems to be a postmaster servicing the new cluster.\n" @@ -1699,137 +1699,137 @@ msgstr "" "新クラスタで稼働中のpostmasterがあるようです。\n" "そのpostmasterをシャットダウンしたのちやり直してください。" -#: pg_upgrade.c:413 +#: pg_upgrade.c:408 #, c-format msgid "Setting locale and encoding for new cluster" msgstr "新クラスタの、ロケールとエンコーディングを設定しています" -#: pg_upgrade.c:489 +#: pg_upgrade.c:484 #, c-format msgid "Analyzing all rows in the new cluster" msgstr "新クラスタ内のすべての行を分析しています" -#: pg_upgrade.c:502 +#: pg_upgrade.c:497 #, c-format msgid "Freezing all rows in the new cluster" msgstr "新クラスタ内のすべての行を凍結しています" -#: pg_upgrade.c:522 +#: pg_upgrade.c:517 #, c-format msgid "Restoring global objects in the new cluster" msgstr "新クラスタ内のグローバルオブジェクトを復元しています" -#: pg_upgrade.c:538 +#: pg_upgrade.c:534 #, c-format msgid "Restoring database schemas in the new cluster" msgstr "新クラスタ内にデータベーススキーマを復元しています" -#: pg_upgrade.c:662 +#: pg_upgrade.c:669 #, c-format msgid "Deleting files from new %s" msgstr "新しい %s からファイルを削除しています" -#: pg_upgrade.c:666 +#: pg_upgrade.c:673 #, c-format msgid "could not delete directory \"%s\"" msgstr "ディレクトリ\"%s\"を削除できませんでした" -#: pg_upgrade.c:685 +#: pg_upgrade.c:692 #, c-format msgid "Copying old %s to new server" msgstr "旧の %s を新サーバーにコピーしています" -#: pg_upgrade.c:711 +#: pg_upgrade.c:718 #, c-format msgid "Setting oldest XID for new cluster" msgstr "新クラスタの、最古のXIDを設定しています" -#: pg_upgrade.c:719 +#: pg_upgrade.c:726 #, c-format msgid "Setting next transaction ID and epoch for new cluster" msgstr "新クラスタの、次のトランザクションIDと基点を設定しています" -#: pg_upgrade.c:749 +#: pg_upgrade.c:756 #, c-format msgid "Setting next multixact ID and offset for new cluster" msgstr "新クラスタの、次のmultixact IDとオフセットを設定しています" -#: pg_upgrade.c:773 +#: pg_upgrade.c:780 #, c-format msgid "Setting oldest multixact ID in new cluster" msgstr "新クラスタの最古のmultixact IDを設定しています" -#: pg_upgrade.c:793 +#: pg_upgrade.c:800 #, c-format msgid "Resetting WAL archives" msgstr "WAL アーカイブをリセットしています" -#: pg_upgrade.c:836 +#: pg_upgrade.c:843 #, c-format msgid "Setting frozenxid and minmxid counters in new cluster" msgstr "新クラスタのfrozenxidとminmxidカウンタを設定しています" -#: pg_upgrade.c:838 +#: pg_upgrade.c:845 #, c-format msgid "Setting minmxid counter in new cluster" msgstr "新クラスタのminmxidカウンタを設定しています" -#: pg_upgrade.c:929 +#: pg_upgrade.c:936 #, c-format msgid "Restoring logical replication slots in the new cluster" msgstr "新クラスタ内の論理レプリケーションスロットを復元しています" -#: relfilenumber.c:35 +#: relfilenumber.c:33 #, c-format msgid "Cloning user relation files" msgstr "ユーザーリレーションファイルをクローニングしています" -#: relfilenumber.c:38 +#: relfilenumber.c:36 #, c-format msgid "Copying user relation files" msgstr "ユーザーリレーションのファイルをコピーしています" -#: relfilenumber.c:41 +#: relfilenumber.c:39 #, c-format msgid "Copying user relation files with copy_file_range" msgstr "ユーザーリレーションのファイルをcopy_file_rangeを使ってコピーしています" -#: relfilenumber.c:44 +#: relfilenumber.c:42 #, c-format msgid "Linking user relation files" msgstr "ユーザーリレーションのファイルをリンクしています" -#: relfilenumber.c:118 +#: relfilenumber.c:116 #, c-format msgid "old database \"%s\" not found in the new cluster" msgstr "新クラスタ内に旧データベース\"%s\"が見つかりません" -#: relfilenumber.c:221 +#: relfilenumber.c:219 #, c-format msgid "error while checking for file existence \"%s.%s\" (\"%s\" to \"%s\"): %m" msgstr "\"%s.%s\"ファイル (\"%s\"から\"%s\")の存在確認中のエラー: %m" -#: relfilenumber.c:238 +#: relfilenumber.c:236 #, c-format msgid "rewriting \"%s\" to \"%s\"" msgstr "\"%s\"を\"%s\"に書き換えています" -#: relfilenumber.c:246 +#: relfilenumber.c:244 #, c-format msgid "cloning \"%s\" to \"%s\"" msgstr "\"%s\"から\"%s\"へクローンしています" -#: relfilenumber.c:251 +#: relfilenumber.c:249 #, c-format msgid "copying \"%s\" to \"%s\"" msgstr "\"%s\"を\"%s\"にコピーしています" -#: relfilenumber.c:256 +#: relfilenumber.c:254 #, c-format msgid "copying \"%s\" to \"%s\" with copy_file_range" msgstr "\"%s\"を\"%s\"にcopy_file_rangeを使ってコピーしています" -#: relfilenumber.c:261 +#: relfilenumber.c:259 #, c-format msgid "linking \"%s\" to \"%s\"" msgstr "\"%s\"から\"%s\"へリンクを作成しています" @@ -1995,17 +1995,17 @@ msgstr "" "インデックスを再構築できます。\n" "それまでは、これらのインデックスは使用されません。" -#: version.c:153 +#: version.c:187 #, c-format msgid "Checking for extension updates" msgstr "機能拡張のアップデートを確認しています" -#: version.c:200 +#: version.c:201 #, c-format msgid "notice" msgstr "注意" -#: version.c:201 +#: version.c:202 #, c-format msgid "" "\n" diff --git a/src/bin/pg_upgrade/po/ka.po b/src/bin/pg_upgrade/po/ka.po index a9b1213aa76..43276dae50b 100644 --- a/src/bin/pg_upgrade/po/ka.po +++ b/src/bin/pg_upgrade/po/ka.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_upgrade (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-06-14 02:20+0000\n" -"PO-Revision-Date: 2024-06-14 06:15+0200\n" +"POT-Creation-Date: 2024-10-12 00:20+0000\n" +"PO-Revision-Date: 2024-10-12 06:50+0200\n" "Last-Translator: Temuri Doghonadze \n" "Language-Team: Georgian \n" "Language: ka\n" @@ -16,7 +16,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 3.3.2\n" +"X-Generator: Poedit 3.5\n" #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 #: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 @@ -228,21 +228,21 @@ msgstr "" #: check.c:345 #, c-format -msgid "Checking for data type usage" +msgid "Checking data type usage" msgstr "მონაცემის ტიპის გამოყენების შემოწმება" #: check.c:480 #, c-format -msgid " failed check: %s" -msgstr " ჩავარდა შემოწმება: %s" +msgid "failed check: %s" +msgstr "ჩავარდა შემოწმება: %s" #: check.c:483 msgid "A list of the problem columns is in the file:" msgstr "პრობლემური სვეტების სია არის ფაილში:" -#: check.c:495 check.c:961 check.c:1134 check.c:1249 check.c:1343 check.c:1471 -#: check.c:1547 check.c:1611 check.c:1684 check.c:1866 check.c:1885 -#: check.c:1954 check.c:2006 file.c:378 file.c:415 function.c:189 option.c:493 +#: 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 #, c-format msgid "could not open file \"%s\": %m" @@ -271,7 +271,7 @@ msgstr "" "თანმიმდევრულობის შემოწმების ჩატარება\n" "-----------------------------" -#: check.c:716 +#: check.c:718 #, c-format msgid "" "\n" @@ -280,7 +280,7 @@ msgstr "" "\n" "*კლასტერები თავსებადია *" -#: check.c:724 +#: check.c:726 #, c-format msgid "" "\n" @@ -291,7 +291,7 @@ msgstr "" "თუ ამ წერტილის შემდეგ pg_upgrade ავარიულად დასრულდება, გაგრძელებამდე\n" "ახალი კლასტერის init-db-ის გაკეთება შეიძლება თავიდან მოგიწიოთ." -#: check.c:765 +#: check.c:767 #, c-format msgid "" "Optimizer statistics are not transferred by pg_upgrade.\n" @@ -302,7 +302,7 @@ msgstr "" "როცა ახალ სერვერს გაუშვებთ, შეასრულეთ ბრძანება:\n" " %s/vacuumdb %s--all --analyze-in-stages" -#: check.c:771 +#: check.c:773 #, c-format msgid "" "Running this script will delete the old cluster's data files:\n" @@ -311,7 +311,7 @@ msgstr "" "ამ სკრიპტის გაშვება ძველი კლასტერის მონაცემების ფაილებს წაშლის:\n" " %s" -#: check.c:776 +#: check.c:778 #, c-format msgid "" "Could not create a script to delete the old cluster's data files\n" @@ -324,57 +324,57 @@ msgstr "" "ძველი კლასტერის მონაცემების წაშლის სკრიპტის შექმნა შეუძლებელია. ძველი კლასტერის\n" " შემცველობა ხელით უნდა წაშალოთ." -#: check.c:788 +#: check.c:790 #, c-format msgid "Checking cluster versions" msgstr "კლასტერის ვერსიების შემოწმება" -#: check.c:800 +#: check.c:802 #, c-format msgid "This utility can only upgrade from PostgreSQL version %s and later." msgstr "ამ პროგრამას განახლება PostgreSQL-ის ვერსიის %s-დან და ზემოთ შეუძლია." -#: check.c:805 +#: check.c:807 #, c-format msgid "This utility can only upgrade to PostgreSQL version %s." msgstr "ამ პროგრამას შეუძლია მხოლოდ PostgreSQL ვერსიაზე გადასვლა %s." -#: check.c:814 +#: check.c:816 #, c-format msgid "This utility cannot be used to downgrade to older major PostgreSQL versions." msgstr "ეს პროგრამა არ შეიძლება გამოყენებულ იქნას უფრო ძველი ძირითადი PostgreSQL ვერსიების ჩამოსაწევად." -#: check.c:819 +#: check.c:821 #, c-format msgid "Old cluster data and binary directories are from different major versions." msgstr "ძველი კლასტერის მონაცემები და გამშვები ფაილის საქაღალდეები სხვადასხვა ძირითადი ვერსიიდანაა." -#: check.c:822 +#: check.c:824 #, c-format msgid "New cluster data and binary directories are from different major versions." msgstr "ახალი კლასტერის მონაცემებისა და გამშვები ფაილების საქაღალდეები სხვადასხვა ძირითად ვერსიებს მიეკუთვნება." -#: check.c:837 +#: check.c:839 #, c-format msgid "When checking a live server, the old and new port numbers must be different." msgstr "ცოცხალი სერვერის შემოწმებისას ძველი და ახალი პორტის ნომრები სხვადასხვა უნდა იყოს." -#: check.c:857 +#: check.c:859 #, c-format msgid "New cluster database \"%s\" is not empty: found relation \"%s.%s\"" msgstr "ახალი კლასტერული მონაცემთა ბაზა \"%s\" ცარიელი არაა: ნაპოვნია ურთიერთობა \"%s.%s\"" -#: check.c:880 +#: check.c:882 #, c-format msgid "Checking for new cluster tablespace directories" msgstr "ახალი კლასტერის ცხრილების სივრცის საქაღალდეების შემოწმება" -#: check.c:891 +#: check.c:893 #, c-format msgid "new cluster tablespace directory already exists: \"%s\"" msgstr "ახალი კლასტერის ცხრილების სივრცის საქაღალდე უკვე არსებობს: \"%s\"" -#: check.c:924 +#: check.c:926 #, c-format msgid "" "\n" @@ -383,7 +383,7 @@ msgstr "" "\n" "გაფრთხილება: ახალი მონაცემების საქაღალდე ძველი მონაცემების საქაღალდის შიგნით არ უნდა იყოს. მაგ: %s" -#: check.c:948 +#: check.c:950 #, c-format msgid "" "\n" @@ -392,53 +392,53 @@ msgstr "" "\n" "გაფრთხილება: მომხმარებლის მიერ აღწერილი ცხრილის სივრცეების მდებარეობები მონაცემების საქაღალდის შიგნით არ უნდა იყოს. მაგ: %s" -#: check.c:958 +#: check.c:960 #, c-format msgid "Creating script to delete old cluster" msgstr "ძველი კლასტერის წასაშლელად სკრიპტის შექმნა" -#: check.c:1012 +#: check.c:1014 #, c-format msgid "could not add execute permission to file \"%s\": %m" msgstr "ფაილზე \"%s\" გაშვების წვდომის დამატების შეცდომა: %m" -#: check.c:1032 +#: check.c:1034 #, c-format msgid "Checking database user is the install user" msgstr "შემოწმება, დამყენებელი მომხმარებელი დაყენების მომხმარებელს თუ უდრის" -#: check.c:1048 +#: check.c:1050 #, c-format msgid "database user \"%s\" is not the install user" msgstr "მონაცემთა ბაზის მომხმარებელი \"%s\" არ არის დაყენების მომხმარებელი" -#: check.c:1059 +#: check.c:1061 #, c-format msgid "could not determine the number of users" msgstr "ვერ დადგინდა მომხმარებელთა რაოდენობა" -#: check.c:1067 +#: check.c:1069 #, c-format msgid "Only the install user can be defined in the new cluster." msgstr "ახალი კლასტერისთვის მხოლოდ დაყენების მომხმარებლის მითითებაა შესაძლებელი." -#: check.c:1096 +#: check.c:1098 #, c-format msgid "Checking database connection settings" msgstr "მონაცემთა ბაზის კავშირის პარამეტრების შემოწმება" -#: check.c:1122 +#: check.c:1124 #, 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:1148 check.c:1268 check.c:1365 check.c:1490 check.c:1566 -#: check.c:1624 check.c:1704 check.c:1898 check.c:2023 function.c:210 +#: 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 #, c-format msgid "fatal" msgstr "ფატალური" -#: check.c:1149 +#: check.c:1151 #, c-format msgid "" "All non-template0 databases must allow connections, i.e. their\n" @@ -457,27 +457,27 @@ msgstr "" "პრობლემური ბაზების სიის ნახვა შეგიძლიათ ფაილში:\n" " %s" -#: check.c:1174 +#: check.c:1176 #, c-format msgid "Checking for prepared transactions" msgstr "მომზადებული ტრანზაქციების შემოწმება" -#: check.c:1183 +#: check.c:1185 #, c-format msgid "The source cluster contains prepared transactions" msgstr "საწყისი კლასტერი მომზადებულ ტრანზაქციებს შეიცავს" -#: check.c:1185 +#: check.c:1187 #, c-format msgid "The target cluster contains prepared transactions" msgstr "სამიზნე კლასტერი მომზადებულ ტრანზაქციებს შეიცავს" -#: check.c:1210 +#: check.c:1212 #, c-format msgid "Checking for contrib/isn with bigint-passing mismatch" msgstr "\"contrib/isn\"-ის bgint-passing-ის არ-დამთხვევაზე შემოწმება" -#: check.c:1269 +#: check.c:1271 #, c-format msgid "" "Your installation contains \"contrib/isn\" functions which rely on the\n" @@ -494,12 +494,12 @@ msgstr "" ", განაახლოთ ბაზა და აღადგინოთ ფუნქციები. პრობლემური ფუნქციების სია შეგიძლიათ იხილოთ ფაილში:\n" " %s" -#: check.c:1291 +#: check.c:1293 #, c-format msgid "Checking for user-defined postfix operators" msgstr "მომხმარებლის მიერ აღწერილი postfix ოპერატორების არსებობის შემოწმება" -#: check.c:1366 +#: check.c:1368 #, c-format msgid "" "Your installation contains user-defined postfix operators, which are not\n" @@ -514,12 +514,12 @@ msgstr "" "მომხმარებლის მიერ აღწერილი postfix ოპერატორების სიის ნახვა შეგიძლიათ ფაილში:\n" " %s" -#: check.c:1390 +#: check.c:1392 #, c-format msgid "Checking for incompatible polymorphic functions" msgstr "შეუთავსებელი პოლიმორფული ფუნქციების არსებობის შემოწმება" -#: check.c:1491 +#: check.c:1493 #, c-format msgid "" "Your installation contains user-defined objects that refer to internal\n" @@ -538,12 +538,12 @@ msgstr "" "ფაილში არსებული პრობლემური ობიექტები:\n" " %s" -#: check.c:1515 +#: check.c:1517 #, c-format msgid "Checking for tables WITH OIDS" msgstr "WITH OIDS ცხრილების შემოწმება" -#: check.c:1567 +#: check.c:1569 #, c-format msgid "" "Your installation contains tables declared WITH OIDS, which is not\n" @@ -558,12 +558,12 @@ msgstr "" "ცხრილების სია, რომელსაც ეს პრობლემა გააჩნიათ, შეგიძლიათ იხილოთ ფაილში:\n" " %s" -#: check.c:1594 +#: check.c:1596 #, c-format msgid "Checking for roles starting with \"pg_\"" msgstr "როლების შემოწმება, რომლებიც \"pg_\"-ით იწყება" -#: check.c:1625 +#: check.c:1627 #, c-format msgid "" "Your installation contains roles starting with \"pg_\".\n" @@ -578,12 +578,12 @@ msgstr "" "როლების სია, რომლებიც \"pg_\"-ით იწყებიან, შეგიძლიათ იპოვოთ ფაილში:\n" " %s" -#: check.c:1645 +#: check.c:1647 #, c-format msgid "Checking for user-defined encoding conversions" msgstr "მომხმარებლის მიერ განსაზღვრული კოდირების კონვერტაციის შემოწმება" -#: check.c:1705 +#: check.c:1707 #, c-format msgid "" "Your installation contains user-defined encoding conversions.\n" @@ -599,55 +599,55 @@ msgstr "" "მომხმარებლის მიერ აღწერილი გადაყვანების ნახვა შეგიძლიათ ფაილში:\n" " %s" -#: check.c:1744 +#: check.c:1746 #, c-format msgid "Checking for new cluster logical replication slots" msgstr "ახალი კლასტერის ლოგიკური რეპლიკაციის სლოტების შემოწმება" -#: check.c:1752 +#: check.c:1754 #, c-format msgid "could not count the number of logical replication slots" msgstr "ლოგიკური რეპლიკაციის სლოტების რაოდენობის დათვლა შეუძლებელია" -#: check.c:1757 +#: check.c:1759 #, c-format -msgid "Expected 0 logical replication slots but found %d." -msgstr "მოველოდი 0 ლოგიკური რეპლიკაციის სლოტს. მივიღე %d." +msgid "expected 0 logical replication slots but found %d" +msgstr "მოველოდი 0 ლოგიკური რეპლიკაციის სლოტს, მაგრამ, მივიღე %d" -#: check.c:1767 check.c:1821 +#: check.c:1769 check.c:1820 #, c-format msgid "could not determine parameter settings on new cluster" msgstr "ახალ კლასტერზე პარამეტრის მნიშვნელობების დადგენა შეუძლებელია" -#: check.c:1772 +#: check.c:1774 #, c-format -msgid "\"wal_level\" must be \"logical\", but is set to \"%s\"" +msgid "\"wal_level\" must be \"logical\" but is set to \"%s\"" msgstr "\"wal_level\" უნდა იყოს \"logical\", მაგრამ მნიშვნელობაა \"%s\"" -#: check.c:1778 +#: check.c:1780 #, 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:1813 +#: check.c:1812 #, c-format msgid "Checking for new cluster configuration for subscriptions" msgstr "ახალი კლასტერის კონფიგურაციის გამოწერებზე შემოწმება" -#: check.c:1825 +#: check.c:1824 #, 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:1847 +#: check.c:1846 #, c-format msgid "Checking for valid logical replication slots" msgstr "სწორ ლოგიკური რეპლიკაციის სლოტებზე შემოწმება" -#: check.c:1899 +#: check.c:1898 #, c-format msgid "" -"Your installation contains logical replication slots that can't be upgraded.\n" +"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" "and then restart the upgrade.\n" "A list of the problematic slots is in the file:\n" @@ -659,12 +659,12 @@ msgstr "" "პრობლემური სლოტების ნახვა შეგიძლიათ ფაილში:\n" " %s" -#: check.c:1923 +#: check.c:1922 #, c-format msgid "Checking for subscription state" msgstr "გამოწერის მდგომარეობის შემოწმება" -#: check.c:2024 +#: check.c:2023 #, c-format msgid "" "Your installation contains subscriptions without origin or having relations not in i (initialize) or r (ready) state.\n" @@ -1179,47 +1179,47 @@ msgstr "" "პრობლემური ბიბლიოთეკების სიის ნახვა შეგიძლიათ ფაილში:\n" " %s" -#: info.c:129 +#: info.c:128 #, c-format msgid "Relation names for OID %u in database \"%s\" do not match: old name \"%s.%s\", new name \"%s.%s\"" msgstr "ურთიერთობის სახელები OID-ით %u ბაზაში \"%s\" არ ემთხვევა: ძველი სახელი \"%s.%s.\", ახალი კი \"%s.%s\"" -#: info.c:149 +#: info.c:148 #, c-format msgid "Failed to match up old and new tables in database \"%s\"" msgstr "შეცდომა ძველ და ახალ ცხრილებს შორის დამთხვევისას ბაზაში \"%s\"" -#: info.c:230 +#: info.c:229 #, c-format msgid " which is an index on \"%s.%s\"" msgstr " რომელიც ინდექსია \"%s.%s\"" -#: info.c:240 +#: info.c:239 #, c-format msgid " which is an index on OID %u" msgstr " რაც არის ინდექსი OID-ზე %u" -#: info.c:252 +#: info.c:251 #, c-format msgid " which is the TOAST table for \"%s.%s\"" msgstr " რომელიც TOAST ცხრილია \"%s.%s\"-სთვის" -#: info.c:260 +#: info.c:259 #, c-format msgid " which is the TOAST table for OID %u" msgstr " რომელიც TOAST ცხრილია %u-ე OID-სთვის" -#: info.c:264 +#: info.c:263 #, c-format msgid "No match found in old cluster for new relation with OID %u in database \"%s\": %s" msgstr "ძველ კლასტერში ახალი ურთიერთობისთვის OID -ით %u ბაზაში \"%s\" დამთხვევა ვერ ვიპოვე: %s" -#: info.c:267 +#: info.c:266 #, c-format msgid "No match found in new cluster for old relation with OID %u in database \"%s\": %s" msgstr "ახალ კლასტერში ძველი ურთიერთობისთვის OID -ით %u ბაზაში \"%s\" დამთხვევა ვერ ვიპოვე: %s" -#: info.c:308 +#: info.c:300 #, c-format msgid "" "\n" @@ -1228,7 +1228,7 @@ msgstr "" "\n" "საწყისი ბაზები:" -#: info.c:310 +#: info.c:302 #, c-format msgid "" "\n" @@ -1237,30 +1237,30 @@ msgstr "" "\n" "სამიზნე ბაზები:" -#: info.c:354 +#: info.c:346 #, c-format msgid "template0 not found" msgstr "template0 ნაპოვნი არაა" -#: info.c:842 +#: info.c:805 #, c-format msgid "Database: \"%s\"" msgstr "მონაცემთა ბაზაში: \"%s\"" -#: info.c:855 +#: info.c:818 #, c-format msgid "relname: \"%s.%s\", reloid: %u, reltblspace: \"%s\"" msgstr "relname: \"%s.%s\", reloid: %u, reltblspace: \"%s\"" -#: info.c:869 +#: info.c:832 #, c-format -msgid "Logical replication slots within the database:" -msgstr "ლოგიკური რეპლიკაციის სლოტები მონაცემთა ბაზის შიგნით:" +msgid "Logical replication slots in the database:" +msgstr "ლოგიკური რეპლიკაციის სლოტები მონაცემთა ბაზაში:" -#: info.c:875 +#: info.c:838 #, c-format -msgid "slot_name: \"%s\", plugin: \"%s\", two_phase: %s" -msgstr "slot_name: \"%s\", plugin: \"%s\", two_phase: %s" +msgid "slot name: \"%s\", output plugin: \"%s\", two_phase: %s" +msgstr "სლოტი სახელი: \"%s\", გამოტანის დამატება: \"%s\", two_phase: %s" #: option.c:105 #, c-format diff --git a/src/bin/pg_upgrade/po/ru.po b/src/bin/pg_upgrade/po/ru.po index e26ade17a16..71fa979972e 100644 --- a/src/bin/pg_upgrade/po/ru.po +++ b/src/bin/pg_upgrade/po/ru.po @@ -1,306 +1,532 @@ # Russian message translation file for pg_upgrade # Copyright (C) 2017 PostgreSQL Global Development Group # This file is distributed under the same license as the PostgreSQL package. -# Alexander Lakhin , 2017, 2018, 2019, 2020, 2021, 2022. +# Alexander Lakhin , 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024. # Maxim Yablokov , 2021. msgid "" msgstr "" "Project-Id-Version: pg_upgrade (PostgreSQL) 10\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2021-08-14 06:29+0300\n" -"PO-Revision-Date: 2022-01-19 16:26+0300\n" +"POT-Creation-Date: 2024-11-02 08:21+0300\n" +"PO-Revision-Date: 2024-11-02 08:31+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: check.c:70 +#: ../../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 "попытка дублирования нулевого указателя (внутренняя ошибка)\n" + +#: ../../common/restricted_token.c:168 +#, c-format +msgid "could not get exit code from subprocess: error code %lu" +msgstr "не удалось получить код выхода от подпроцесса (код ошибки: %lu)" + +#: ../../common/username.c:43 +#, c-format +msgid "could not look up effective user ID %ld: %s" +msgstr "выяснить эффективный идентификатор пользователя (%ld) не удалось: %s" + +#: ../../common/username.c:45 +msgid "user does not exist" +msgstr "пользователь не существует" + +#: ../../common/username.c:60 +#, c-format +msgid "user name lookup failure: error code %lu" +msgstr "распознать имя пользователя не удалось (код ошибки: %lu)" + +#: ../../fe_utils/string_utils.c:434 +#, c-format +msgid "shell command argument contains a newline or carriage return: \"%s\"\n" +msgstr "" +"аргумент команды оболочки содержит символ новой строки или перевода каретки: " +"\"%s\"\n" + +#: ../../fe_utils/string_utils.c:607 +#, c-format +msgid "database name contains a newline or carriage return: \"%s\"\n" +msgstr "" +"имя базы данных содержит символ новой строки или перевода каретки: \"%s\"\n" + +#: check.c:111 +msgid "Checking for system-defined composite types in user tables" +msgstr "Проверка системных составных типов в пользовательских таблицах" + +#: check.c:118 +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" +"problem columns and restart the upgrade.\n" +msgstr "" +"В вашей инсталляции пользовательские таблицы используют системные составные\n" +"типы. OID таких типов могут различаться в разных версиях PostgreSQL, поэтому " +"в\n" +"настоящем состоянии обновить кластер невозможно. Вы можете удалить " +"проблемные\n" +"столбцы и перезапустить обновление.\n" + +#: check.c:132 +msgid "Checking for incompatible \"line\" data type" +msgstr "Проверка несовместимого типа данных \"line\"" + +#: check.c:137 +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" +"cluster cannot currently be upgraded. You can\n" +"drop the problem columns and restart the upgrade.\n" +msgstr "" +"В вашей инсталляции пользовательские таблицы используют тип данных " +"\"line\".\n" +"В старом кластере внутренний формат и формат ввода/вывода этого типа " +"отличается\n" +"от нового, поэтому в настоящем состоянии обновить кластер невозможно. Вы " +"можете\n" +"удалить проблемные столбцы и перезапустить обновление.\n" + +#: check.c:154 +msgid "Checking for reg* data types in user tables" +msgstr "Проверка типов данных reg* в пользовательских таблицах" + +#: check.c:181 +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" +"drop the problem columns and restart the upgrade.\n" +msgstr "" +"В вашей инсталляции пользовательские таблицы содержат один из типов reg*.\n" +"Эти типы данных ссылаются на системные OID, которые не сохраняются утилитой\n" +"pg_upgrade, так что обновление кластера в текущем состоянии невозможно. Вы\n" +"можете удалить проблемные столбцы и перезапустить обновление.\n" + +#: check.c:193 +msgid "Checking for incompatible \"aclitem\" data type" +msgstr "Проверка несовместимого типа данных \"aclitem\"" + +#: check.c:198 +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" +"problem columns and restart the upgrade.\n" +msgstr "" +"В вашей инсталляции пользовательские таблицы используют тип данных " +"\"aclitem\".\n" +"Внутренний формат \"aclitem\" изменился в PostgreSQL версии 16, поэтому " +"обновить\n" +"кластер в текущем состоянии невозможно. Вы можете удалить проблемные столбцы " +"и\n" +"перезапустить обновление.\n" + +#: check.c:217 +msgid "Checking for invalid \"unknown\" user columns" +msgstr "Проверка неправильных пользовательских столбцов типа \"unknown\"" + +#: check.c:222 +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" +"and restart the upgrade.\n" +msgstr "" +"В вашей инсталляции пользовательские таблицы используют тип данных " +"\"unknown\".\n" +"Теперь использование этого типа данных в таблицах не допускается, поэтому\n" +"в настоящем состоянии обновить кластер невозможно. Вы можете удалить " +"проблемные\n" +"столбцы и перезапустить обновление.\n" + +#: check.c:239 +msgid "Checking for invalid \"sql_identifier\" user columns" +msgstr "" +"Проверка неправильных пользовательских столбцов типа \"sql_identifier\"" + +#: check.c:244 +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" +"columns and restart the upgrade.\n" +msgstr "" +"В вашей инсталляции пользовательские таблицы используют тип данных\n" +"\"sql_identifier\". Формат хранения таких данных на диске поменялся,\n" +"поэтому обновить данный кластер невозможно. Вы можете удалить проблемные\n" +"столбцы и перезапустить обновление.\n" + +#: check.c:255 +msgid "Checking for incompatible \"jsonb\" data type in user tables" +msgstr "" +"Проверка несовместимого типа данных \"jsonb\" в пользовательских таблицах" + +#: check.c:260 +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" +"columns and restart the upgrade.\n" +msgstr "" +"В вашей инсталляции таблицы используют тип данных \"jsonb\".\n" +"Внутренний формат \"jsonb\" изменился в версии 9.4 beta, поэтому обновить\n" +"кластер в текущем состоянии невозможно. Вы можете удалить проблемные столбцы " +"и\n" +"перезапустить обновление.\n" + +#: check.c:272 +msgid "Checking for removed \"abstime\" data type in user tables" +msgstr "" +"Проверка удалённого типа данных \"abstime\" в пользовательских таблицах" + +#: check.c:277 +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" +"problem columns, or change them to another data type, and restart\n" +"the upgrade.\n" +msgstr "" +"В вашей инсталляции пользовательские таблицы используют тип данных " +"\"abstime\".\n" +"Тип \"abstime\" был удалён в PostgreSQL версии 12, поэтому обновить кластер " +"в\n" +"текущем состоянии невозможно. Вы можете удалить проблемные столбцы или " +"поменять\n" +"их тип на другой, а затем перезапустить обновление.\n" + +#: check.c:285 +msgid "Checking for removed \"reltime\" data type in user tables" +msgstr "" +"Проверка удалённого типа данных \"reltime\" в пользовательских таблицах" + +#: check.c:290 +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" +"problem columns, or change them to another data type, and restart\n" +"the upgrade.\n" +msgstr "" +"В вашей инсталляции пользовательские таблицы используют тип данных " +"\"reltime\".\n" +"Тип \"reltime\" был удалён в PostgreSQL версии 12, поэтому обновить кластер " +"в\n" +"текущем состоянии невозможно. Вы можете удалить проблемные столбцы или " +"поменять\n" +"их тип на другой, а затем перезапустить обновление.\n" + +#: check.c:298 +msgid "Checking for removed \"tinterval\" data type in user tables" +msgstr "" +"Проверка удалённого типа данных \"tinterval\" в пользовательских таблицах" + +#: check.c:303 +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" +"problem columns, or change them to another data type, and restart\n" +"the upgrade.\n" +msgstr "" +"В вашей инсталляции пользовательские таблицы используют тип данных " +"\"tinterval\".\n" +"Тип \"tinterval\" был удалён в PostgreSQL версии 12, поэтому обновить " +"кластер в\n" +"текущем состоянии невозможно. Вы можете удалить проблемные столбцы или " +"поменять\n" +"их тип на другой, а затем перезапустить обновление.\n" + +#: check.c:345 +#, c-format +msgid "Checking data type usage" +msgstr "Проверка использования типов данных" + +#: check.c:480 +#, c-format +msgid "failed check: %s" +msgstr "не пройдена проверка: %s" + +#: check.c:483 +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 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "не удалось открыть файл \"%s\": %m" + +#: check.c:522 +#, c-format +msgid "Data type checks failed: %s" +msgstr "Проверки типов данных не пройдены: %s" + +#: check.c:563 #, c-format msgid "" "Performing Consistency Checks on Old Live Server\n" -"------------------------------------------------\n" +"------------------------------------------------" msgstr "" "Проверка целостности на старом работающем сервере\n" -"-------------------------------------------------\n" +"-------------------------------------------------" -#: check.c:76 +#: check.c:569 #, c-format msgid "" "Performing Consistency Checks\n" -"-----------------------------\n" +"-----------------------------" msgstr "" "Проведение проверок целостности\n" -"-------------------------------\n" +"-------------------------------" -#: check.c:213 +#: check.c:718 #, c-format msgid "" "\n" -"*Clusters are compatible*\n" +"*Clusters are compatible*" msgstr "" "\n" -"*Кластеры совместимы*\n" +"*Кластеры совместимы*" -#: check.c:219 +#: check.c:726 #, c-format msgid "" "\n" "If pg_upgrade fails after this point, you must re-initdb the\n" -"new cluster before continuing.\n" +"new cluster before continuing." msgstr "" "\n" "Если работа pg_upgrade после этого прервётся, вы должны заново выполнить " "initdb\n" -"для нового кластера, чтобы продолжить.\n" +"для нового кластера, чтобы продолжить." -#: check.c:264 +#: check.c:767 #, c-format msgid "" "Optimizer statistics are not transferred by pg_upgrade.\n" "Once you start the new server, consider running:\n" -" %s/vacuumdb %s--all --analyze-in-stages\n" -"\n" +" %s/vacuumdb %s--all --analyze-in-stages" msgstr "" "Статистика оптимизатора утилитой pg_upgrade не переносится.\n" "Запустив новый сервер, имеет смысл выполнить:\n" -" %s/vacuumdb %s--all --analyze-in-stages\n" -"\n" +" %s/vacuumdb %s--all --analyze-in-stages" -#: check.c:270 +#: check.c:773 #, c-format msgid "" "Running this script will delete the old cluster's data files:\n" -" %s\n" +" %s" msgstr "" "При запуске этого скрипта будут удалены файлы данных старого кластера:\n" -" %s\n" +" %s" -#: check.c:275 +#: check.c:778 #, 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" "exist in the old cluster directory. The old cluster's contents must\n" -"be deleted manually.\n" +"be deleted manually." msgstr "" "Не удалось создать скрипт для удаления файлов данных старого кластера,\n" "так как каталог старого кластера содержит пользовательские табличные\n" "пространства или каталог данных нового кластера.\n" -"Содержимое старого кластера нужно будет удалить вручную.\n" +"Содержимое старого кластера нужно будет удалить вручную." -#: check.c:287 +#: check.c:790 #, c-format msgid "Checking cluster versions" msgstr "Проверка версий кластеров" -#: check.c:299 +#: check.c:802 #, c-format -msgid "This utility can only upgrade from PostgreSQL version 8.4 and later.\n" +msgid "This utility can only upgrade from PostgreSQL version %s and later." msgstr "" -"Эта утилита может производить обновление только с версии PostgreSQL 8.4 и " -"новее.\n" +"Эта утилита может производить обновление только с версии PostgreSQL %s и " +"новее." -#: check.c:303 +#: check.c:807 #, c-format -msgid "This utility can only upgrade to PostgreSQL version %s.\n" -msgstr "Эта утилита может только повышать версию PostgreSQL до %s.\n" +msgid "This utility can only upgrade to PostgreSQL version %s." +msgstr "Эта утилита может повышать версию PostgreSQL только до %s." -#: check.c:312 +#: check.c:816 #, c-format msgid "" -"This utility cannot be used to downgrade to older major PostgreSQL " -"versions.\n" +"This utility cannot be used to downgrade to older major PostgreSQL versions." msgstr "" "Эта утилита не может понижать версию до более старой основной версии " -"PostgreSQL.\n" +"PostgreSQL." -#: check.c:317 +#: check.c:821 #, c-format msgid "" -"Old cluster data and binary directories are from different major versions.\n" +"Old cluster data and binary directories are from different major versions." msgstr "" "Каталоги данных и исполняемых файлов старого кластера относятся к разным " -"основным версиям.\n" +"основным версиям." -#: check.c:320 +#: check.c:824 #, c-format msgid "" -"New cluster data and binary directories are from different major versions.\n" +"New cluster data and binary directories are from different major versions." msgstr "" "Каталоги данных и исполняемых файлов нового кластера относятся к разным " -"основным версиям.\n" - -#: check.c:337 -#, c-format -msgid "" -"When checking a pre-PG 9.1 live old server, you must specify the old " -"server's port number.\n" -msgstr "" -"Для проверки старого работающего сервера версии до 9.1 необходимо указать " -"номер порта этого сервера.\n" +"основным версиям." -#: check.c:341 +#: check.c:839 #, c-format msgid "" -"When checking a live server, the old and new port numbers must be " -"different.\n" +"When checking a live server, the old and new port numbers must be different." msgstr "" "Для проверки работающего сервера новый номер порта должен отличаться от " -"старого.\n" - -#: check.c:356 -#, c-format -msgid "encodings for database \"%s\" do not match: old \"%s\", new \"%s\"\n" -msgstr "" -"кодировки в базе данных \"%s\" различаются: старая - \"%s\", новая - \"%s" -"\"\n" - -#: check.c:361 -#, c-format -msgid "" -"lc_collate values for database \"%s\" do not match: old \"%s\", new \"%s\"\n" -msgstr "" -"значения lc_collate в базе данных \"%s\" различаются: старое - \"%s\", " -"новое - \"%s\"\n" - -#: check.c:364 -#, c-format -msgid "" -"lc_ctype values for database \"%s\" do not match: old \"%s\", new \"%s\"\n" -msgstr "" -"значения lc_ctype в базе данных \"%s\" различаются: старое - \"%s\", новое " -"- \"%s\"\n" +"старого." -#: check.c:437 +#: check.c:859 #, c-format -msgid "New cluster database \"%s\" is not empty: found relation \"%s.%s\"\n" +msgid "New cluster database \"%s\" is not empty: found relation \"%s.%s\"" msgstr "" -"Новая база данных кластера \"%s\" не пустая: найдено отношение \"%s.%s\"\n" +"Новая база данных кластера \"%s\" не пустая: найдено отношение \"%s.%s\"" -#: check.c:494 +#: check.c:882 #, c-format msgid "Checking for new cluster tablespace directories" msgstr "Проверка каталогов табличных пространств в новом кластере" -#: check.c:505 +#: check.c:893 #, c-format -msgid "new cluster tablespace directory already exists: \"%s\"\n" +msgid "new cluster tablespace directory already exists: \"%s\"" msgstr "" -"каталог табличного пространства в новом кластере уже существует: \"%s\"\n" +"каталог табличного пространства в новом кластере уже существует: \"%s\"" -#: check.c:538 +#: check.c:926 #, c-format msgid "" "\n" -"WARNING: new data directory should not be inside the old data directory, e." -"g. %s\n" +"WARNING: new data directory should not be inside the old data directory, i." +"e. %s" msgstr "" "\n" "ПРЕДУПРЕЖДЕНИЕ: новый каталог данных не должен располагаться внутри старого " -"каталога данных, то есть, в %s\n" +"каталога данных, то есть, в %s" -#: check.c:562 +#: check.c:950 #, c-format msgid "" "\n" "WARNING: user-defined tablespace locations should not be inside the data " -"directory, e.g. %s\n" +"directory, i.e. %s" msgstr "" "\n" "ПРЕДУПРЕЖДЕНИЕ: пользовательские табличные пространства не должны " -"располагаться внутри каталога данных, то есть, в %s\n" +"располагаться внутри каталога данных, то есть, в %s" -#: check.c:572 +#: check.c:960 #, c-format msgid "Creating script to delete old cluster" msgstr "Создание скрипта для удаления старого кластера" -#: check.c:575 check.c:839 check.c:937 check.c:1016 check.c:1278 file.c:336 -#: function.c:240 option.c:497 version.c:54 version.c:204 version.c:376 -#: version.c:511 +#: check.c:1014 #, c-format -msgid "could not open file \"%s\": %s\n" -msgstr "не удалось открыть файл \"%s\": %s\n" +msgid "could not add execute permission to file \"%s\": %m" +msgstr "не удалось добавить право выполнения для файла \"%s\": %m" -#: check.c:631 -#, c-format -msgid "could not add execute permission to file \"%s\": %s\n" -msgstr "не удалось добавить право выполнения для файла \"%s\": %s\n" - -#: check.c:651 +#: check.c:1034 #, c-format msgid "Checking database user is the install user" msgstr "Проверка, является ли пользователь БД стартовым пользователем" -#: check.c:667 +#: check.c:1050 #, c-format -msgid "database user \"%s\" is not the install user\n" -msgstr "пользователь БД \"%s\" не является стартовым пользователем\n" +msgid "database user \"%s\" is not the install user" +msgstr "пользователь БД \"%s\" не является стартовым пользователем" -#: check.c:678 +#: check.c:1061 #, c-format -msgid "could not determine the number of users\n" -msgstr "не удалось определить количество пользователей\n" +msgid "could not determine the number of users" +msgstr "не удалось определить количество пользователей" -#: check.c:686 +#: check.c:1069 #, c-format -msgid "Only the install user can be defined in the new cluster.\n" -msgstr "В новом кластере может быть определён только стартовый пользователь.\n" +msgid "Only the install user can be defined in the new cluster." +msgstr "В новом кластере может быть определён только стартовый пользователь." -#: check.c:706 +#: check.c:1098 #, c-format msgid "Checking database connection settings" msgstr "Проверка параметров подключения к базе данных" -#: check.c:728 +#: check.c:1124 #, c-format msgid "" "template0 must not allow connections, i.e. its pg_database.datallowconn must " -"be false\n" +"be false" msgstr "" -"База template0 не должна допускать подключения, то есть её свойство " -"pg_database.datallowconn должно быть false\n" +"база 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 +#, c-format +msgid "fatal" +msgstr "сбой" -#: check.c:738 +#: check.c:1151 #, c-format msgid "" -"All non-template0 databases must allow connections, i.e. their pg_database." -"datallowconn must be true\n" +"All non-template0 databases must allow connections, i.e. their\n" +"pg_database.datallowconn must be true. Your installation contains\n" +"non-template0 databases with their pg_database.datallowconn set to\n" +"false. Consider allowing connection for all non-template0 databases\n" +"or drop the databases which do not allow connections. A list of\n" +"databases with the problem is in the file:\n" +" %s" msgstr "" "Все базы, кроме template0, должны допускать подключения, то есть их свойство " -"pg_database.datallowconn должно быть true\n" +"pg_database.datallowconn должно быть true. В вашей инсталляции содержатся\n" +"базы (не считая template0), у которых pg_database.datallowconn — false.\n" +"Имеет смысл разрешить подключения для всех баз данных, кроме template0,\n" +"или удалить базы, к которым нельзя подключаться. Список баз данных\n" +"с этой проблемой содержится в файле:\n" +" %s" -#: check.c:763 +#: check.c:1176 #, c-format msgid "Checking for prepared transactions" msgstr "Проверка наличия подготовленных транзакций" -#: check.c:772 +#: check.c:1185 #, c-format -msgid "The source cluster contains prepared transactions\n" -msgstr "Исходный кластер содержит подготовленные транзакции\n" +msgid "The source cluster contains prepared transactions" +msgstr "Исходный кластер содержит подготовленные транзакции" -#: check.c:774 +#: check.c:1187 #, c-format -msgid "The target cluster contains prepared transactions\n" -msgstr "Целевой кластер содержит подготовленные транзакции\n" +msgid "The target cluster contains prepared transactions" +msgstr "Целевой кластер содержит подготовленные транзакции" -#: check.c:800 +#: check.c:1212 #, c-format msgid "Checking for contrib/isn with bigint-passing mismatch" msgstr "Проверка несоответствия при передаче bigint в contrib/isn" -#: check.c:861 check.c:962 check.c:1038 check.c:1095 check.c:1154 check.c:1183 -#: check.c:1301 function.c:262 version.c:278 version.c:316 version.c:460 -#, c-format -msgid "fatal\n" -msgstr "сбой\n" - -#: check.c:862 +#: check.c:1271 #, c-format msgid "" "Your installation contains \"contrib/isn\" functions which rely on the\n" @@ -309,8 +535,7 @@ msgid "" "manually dump databases in the old cluster that use \"contrib/isn\"\n" "facilities, drop them, perform the upgrade, and then restore them. A\n" "list of the problem functions is in the file:\n" -" %s\n" -"\n" +" %s" msgstr "" "В вашей инсталляции имеются функции \"contrib/isn\", задействующие тип " "biging.\n" @@ -321,537 +546,569 @@ msgstr "" "или удалить \"contrib/isn\" из старого кластера и перезапустить обновление. " "Список\n" "проблемных функций приведён в файле:\n" -" %s\n" -"\n" +" %s" -#: check.c:885 +#: check.c:1293 #, c-format msgid "Checking for user-defined postfix operators" msgstr "Проверка пользовательских постфиксных операторов" -#: check.c:963 +#: check.c:1368 #, c-format msgid "" "Your installation contains user-defined postfix operators, which are not\n" "supported anymore. Consider dropping the postfix operators and replacing\n" "them with prefix operators or function calls.\n" "A list of user-defined postfix operators is in the file:\n" -" %s\n" -"\n" +" %s" msgstr "" "В вашей инсталляции содержатся пользовательские постфиксные операторы, " "которые\n" "теперь не поддерживаются. Их следует удалить и использовать вместо них\n" "префиксные операторы или функции.\n" "Список пользовательских постфиксных операторов приведён в файле:\n" -" %s\n" -"\n" +" %s" -#: check.c:984 +#: check.c:1392 +#, c-format +msgid "Checking for incompatible polymorphic functions" +msgstr "Проверка несовместимых полиморфных функций" + +#: check.c:1493 +#, c-format +msgid "" +"Your installation contains user-defined objects that refer to internal\n" +"polymorphic functions with arguments of type \"anyarray\" or " +"\"anyelement\".\n" +"These user-defined objects must be dropped before upgrading and restored\n" +"afterwards, changing them to refer to the new corresponding functions with\n" +"arguments of type \"anycompatiblearray\" and \"anycompatible\".\n" +"A list of the problematic objects is in the file:\n" +" %s" +msgstr "" +"В вашей инсталляции содержатся пользовательские объекты, обращающиеся\n" +"к внутренним полиморфным функциям с аргументами типа \"anyarray\" или " +"\"anyelement\".\n" +"Такие объекты необходимо удалить перед процедурой обновления и восстановить\n" +"после, изменив их так, чтобы они обращались к новым аналогичным функциям\n" +"с аргументами типа \"anycompatiblearray\" и \"anycompatible\".\n" +"Список проблемных объектов приведён в файле:\n" +" %s" + +#: check.c:1517 #, c-format msgid "Checking for tables WITH OIDS" msgstr "Проверка таблиц со свойством WITH OIDS" -#: check.c:1039 +#: check.c:1569 #, c-format msgid "" "Your installation contains tables declared WITH OIDS, which is not\n" "supported anymore. Consider removing the oid column using\n" " ALTER TABLE ... SET WITHOUT OIDS;\n" "A list of tables with the problem is in the file:\n" -" %s\n" -"\n" +" %s" msgstr "" "В вашей инсталляции содержатся таблицы со свойством WITH OIDS, которое " "теперь\n" "не поддерживается. Отказаться от использования столбцов oid можно так:\n" " ALTER TABLE ... SET WITHOUT OIDS;\n" "Список проблемных таблиц приведён в файле:\n" -" %s\n" -"\n" +" %s" -#: check.c:1067 +#: check.c:1596 #, c-format -msgid "Checking for system-defined composite types in user tables" -msgstr "Проверка системных составных типов в пользовательских таблицах" +msgid "Checking for roles starting with \"pg_\"" +msgstr "Проверка ролей с именами, начинающимися с \"pg_\"" -#: check.c:1096 +#: check.c:1627 #, c-format msgid "" -"Your installation contains system-defined composite type(s) in user tables.\n" -"These type OIDs are not stable across PostgreSQL versions,\n" -"so this cluster cannot currently be upgraded. You can\n" -"drop the problem columns and restart the upgrade.\n" -"A list of the problem columns is in the file:\n" -" %s\n" -"\n" +"Your installation contains roles starting with \"pg_\".\n" +"\"pg_\" is a reserved prefix for system roles. The cluster\n" +"cannot be upgraded until these roles are renamed.\n" +"A list of roles starting with \"pg_\" is in the file:\n" +" %s" msgstr "" -"В вашей инсталляции пользовательские таблицы используют системные составные " -"типы.\n" -"OID таких типов могут различаться в разных версиях PostgreSQL, в настоящем\n" -"состоянии обновить кластер невозможно. Вы можете удалить проблемные столбцы\n" -"и перезапустить обновление. Список проблемных столбцов приведён в файле:\n" -" %s\n" -"\n" +"В вашей инсталляции имеются роли с именами, начинающимися с \"pg_\".\n" +"Префикс \"pg_\" зарезервирован для системных ролей. Пока эти роли\n" +"не будут переименованы, обновить кластер невозможно.\n" +"Список ролей с префиксом \"pg_\" приведён в файле:\n" +" %s" -#: check.c:1124 +#: check.c:1647 #, c-format -msgid "Checking for reg* data types in user tables" -msgstr "Проверка типов данных reg* в пользовательских таблицах" +msgid "Checking for user-defined encoding conversions" +msgstr "Проверка пользовательских перекодировок" -#: check.c:1155 +#: check.c:1707 #, c-format msgid "" -"Your installation contains one of the reg* data types in user tables.\n" -"These data types reference system OIDs that are not preserved by\n" -"pg_upgrade, so this cluster cannot currently be upgraded. You can\n" -"drop the problem columns and restart the upgrade.\n" -"A list of the problem columns is in the file:\n" -" %s\n" -"\n" +"Your installation contains user-defined encoding conversions.\n" +"The conversion function parameters changed in PostgreSQL version 14\n" +"so this cluster cannot currently be upgraded. You can remove the\n" +"encoding conversions in the old cluster and restart the upgrade.\n" +"A list of user-defined encoding conversions is in the file:\n" +" %s" msgstr "" -"В вашей инсталляции пользовательские таблицы содержат один из типов reg*.\n" -"Эти типы данных ссылаются на системные OID, которые не сохраняются утилитой\n" -"pg_upgrade, так что обновление кластера в текущем состоянии невозможно. Вы\n" -"можете удалить проблемные столбцы и перезапустить обновление. Список " -"проблемных\n" -"столбцов приведён в файле:\n" -" %s\n" -"\n" +"В вашей инсталляции имеются пользовательские перекодировки.\n" +"У функций перекодировок в PostgreSQL 14 поменялись параметры, поэтому\n" +"в настоящем состоянии обновить кластер невозможно. Вы можете удалить\n" +"перекодировки в старом кластере и перезапустить обновление.\n" +"Список пользовательских перекодировок приведён в файле:\n" +" %s" -#: check.c:1177 +#: check.c:1746 #, c-format -msgid "Checking for incompatible \"jsonb\" data type" -msgstr "Проверка несовместимого типа данных \"jsonb\"" +msgid "Checking for new cluster logical replication slots" +msgstr "Проверка слотов логической репликации в новом кластере" -#: check.c:1184 +#: check.c:1754 #, c-format -msgid "" -"Your installation contains the \"jsonb\" data type in user tables.\n" -"The internal format of \"jsonb\" changed during 9.4 beta so this\n" -"cluster cannot currently be upgraded. You can\n" -"drop the problem columns and restart the upgrade.\n" -"A list of the problem columns is in the file:\n" -" %s\n" -"\n" -msgstr "" -"В вашей инсталляции таблицы используют тип данных jsonb.\n" -"Внутренний формат \"jsonb\" изменился в версии 9.4 beta, поэтому обновить " -"кластер\n" -"в текущем состоянии невозможно. Вы можете удалить проблемные столбцы и\n" -"перезапустить обновление. Список проблемных столбцов приведён в файле:\n" -" %s\n" -"\n" +msgid "could not count the number of logical replication slots" +msgstr "не удалось получить количество слотов логической репликации" -#: check.c:1206 +#: check.c:1759 #, c-format -msgid "Checking for roles starting with \"pg_\"" -msgstr "Проверка ролей с именами, начинающимися с \"pg_\"" +msgid "expected 0 logical replication slots but found %d" +msgstr "обнаружено слотов логической репликации: %d, тогда как ожидалось 0" -#: check.c:1216 +#: check.c:1769 check.c:1820 #, c-format -msgid "The source cluster contains roles starting with \"pg_\"\n" -msgstr "В исходном кластере есть роли, имена которых начинаются с \"pg_\"\n" +msgid "could not determine parameter settings on new cluster" +msgstr "не удалось получить значения параметров в новом кластере" -#: check.c:1218 +#: check.c:1774 #, c-format -msgid "The target cluster contains roles starting with \"pg_\"\n" -msgstr "В целевом кластере есть роли, имена которых начинаются с \"pg_\"\n" +msgid "\"wal_level\" must be \"logical\" but is set to \"%s\"" +msgstr "\"wal_level\" должен иметь значение \"logical\", а имеет \"%s\"" -#: check.c:1239 +#: check.c:1780 #, c-format -msgid "Checking for user-defined encoding conversions" -msgstr "Проверка пользовательских перекодировок" +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:1302 +#: check.c:1812 +#, c-format +msgid "Checking for new cluster configuration for subscriptions" +msgstr "Проверка конфигурации нового кластера для использования подписок" + +#: check.c:1824 #, c-format msgid "" -"Your installation contains user-defined encoding conversions.\n" -"The conversion function parameters changed in PostgreSQL version 14\n" -"so this cluster cannot currently be upgraded. You can remove the\n" -"encoding conversions in the old cluster and restart the upgrade.\n" -"A list of user-defined encoding conversions is in the file:\n" -" %s\n" -"\n" +"\"max_replication_slots\" (%d) must be greater than or equal to the number " +"of subscriptions (%d) on the old cluster" msgstr "" -"В вашей инсталляции имеются пользовательские перекодировки.\n" -"У функций перекодировок в PostgreSQL 14 поменялись параметры, поэтому\n" -"в настоящем состоянии обновить кластер невозможно. Вы можете удалить\n" -"перекодировки в старом кластере и перезапустить обновление.\n" -"Список пользовательских перекодировок приведён в файле:\n" -" %s\n" -"\n" +"значение \"max_replication_slots\" (%d) должно быть больше или равно числу " +"подписок (%d) в старом кластере" -#: check.c:1329 +#: check.c:1846 #, c-format -msgid "failed to get the current locale\n" -msgstr "не удалось получить текущую локаль\n" +msgid "Checking for valid logical replication slots" +msgstr "Проверка корректности слотов логической репликации" -#: check.c:1338 +#: check.c:1898 #, c-format -msgid "failed to get system locale name for \"%s\"\n" -msgstr "не удалось получить системное имя локали для \"%s\"\n" +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" +"and then restart the upgrade.\n" +"A list of the problematic slots is in the file:\n" +" %s" +msgstr "" +"В вашей инсталляции используются слоты логической репликации, которые " +"нельзя\n" +"обновить. Вы можете удалить неподходящие слоты и/или добиться, чтобы другие\n" +"слоты прочитали ожидающий обработки WAL, а затем перезапустить обновление.\n" +"Список проблемных слотов приведён в файле:\n" +" %s" -#: check.c:1344 +#: check.c:1922 #, c-format -msgid "failed to restore old locale \"%s\"\n" -msgstr "не удалось восстановить старую локаль \"%s\"\n" +msgid "Checking for subscription state" +msgstr "Проверка состояния подписок" -#: controldata.c:128 controldata.c:196 +#: check.c:2023 #, c-format -msgid "could not get control data using %s: %s\n" -msgstr "не удалось получить управляющие данные, выполнив %s: %s\n" +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" +"A list of the problematic subscriptions is in the file:\n" +" %s" +msgstr "" +"В вашей инсталляции имеются подписки с отсутствующим источником или с\n" +"отношениями, находящимися не в состоянии i (инициализировано) или r " +"(готово).\n" +"Вы можете добиться завершения начальной синхронизации для всех отношений, а\n" +"затем перезапустить обновление.\n" +"Список проблемных подписок приведён в файле:\n" +" %s" + +#: controldata.c:129 controldata.c:199 +#, c-format +msgid "could not get control data using %s: %m" +msgstr "не удалось получить управляющие данные, выполнив %s: %m" #: controldata.c:139 #, c-format -msgid "%d: database cluster state problem\n" -msgstr "%d: недопустимое состояние кластера баз данных\n" +msgid "%d: database cluster state problem" +msgstr "%d: недопустимое состояние кластера баз данных" -#: controldata.c:157 +#: controldata.c:158 #, c-format msgid "" "The source cluster was shut down while in recovery mode. To upgrade, use " -"\"rsync\" as documented or shut it down as a primary.\n" +"\"rsync\" as documented or shut it down as a primary." msgstr "" "Исходный кластер был отключён в режиме восстановления. Чтобы произвести " "обновление, используйте документированный способ с rsync или отключите его в " -"режиме главного сервера.\n" +"режиме главного сервера." -#: controldata.c:159 +#: controldata.c:160 #, c-format msgid "" "The target cluster was shut down while in recovery mode. To upgrade, use " -"\"rsync\" as documented or shut it down as a primary.\n" +"\"rsync\" as documented or shut it down as a primary." msgstr "" "Целевой кластер был отключён в режиме восстановления. Чтобы произвести " "обновление, используйте документированный способ с rsync или отключите его в " -"режиме главного сервера.\n" +"режиме главного сервера." -#: controldata.c:164 +#: controldata.c:165 #, c-format -msgid "The source cluster was not shut down cleanly.\n" -msgstr "Исходный кластер не был отключён штатным образом.\n" - -#: controldata.c:166 -#, c-format -msgid "The target cluster was not shut down cleanly.\n" -msgstr "Целевой кластер не был отключён штатным образом.\n" +msgid "The source cluster was not shut down cleanly, state reported as: \"%s\"" +msgstr "" +"Исходный кластер не был отключён штатным образом, записанное состояние: " +"\"%s\"" -#: controldata.c:177 +#: controldata.c:167 #, c-format -msgid "The source cluster lacks cluster state information:\n" -msgstr "В исходном кластере не хватает информации о состоянии кластера:\n" +msgid "The target cluster was not shut down cleanly, state reported as: \"%s\"" +msgstr "" +"Целевой кластер не был отключён штатным образом, записанное состояние: \"%s\"" -#: controldata.c:179 +#: controldata.c:175 controldata.c:507 #, c-format -msgid "The target cluster lacks cluster state information:\n" -msgstr "В целевом кластере не хватает информации о состоянии кластера:\n" +msgid "could not get control data using %s: %s" +msgstr "не удалось получить управляющие данные, выполнив %s: %s" -#: controldata.c:209 dump.c:49 pg_upgrade.c:335 pg_upgrade.c:371 -#: relfilenode.c:243 server.c:33 util.c:79 +#: controldata.c:181 #, c-format -msgid "%s" -msgstr "%s" +msgid "The source cluster lacks cluster state information:" +msgstr "В исходном кластере не хватает информации о состоянии кластера:" -#: controldata.c:216 +#: controldata.c:183 #, c-format -msgid "%d: pg_resetwal problem\n" -msgstr "%d: проблема с выводом pg_resetwal\n" +msgid "The target cluster lacks cluster state information:" +msgstr "В целевом кластере не хватает информации о состоянии кластера:" -#: controldata.c:226 controldata.c:236 controldata.c:247 controldata.c:258 -#: controldata.c:269 controldata.c:288 controldata.c:299 controldata.c:310 -#: controldata.c:321 controldata.c:332 controldata.c:343 controldata.c:354 -#: controldata.c:357 controldata.c:361 controldata.c:371 controldata.c:383 -#: controldata.c:394 controldata.c:405 controldata.c:416 controldata.c:427 -#: controldata.c:438 controldata.c:449 controldata.c:460 controldata.c:471 -#: controldata.c:482 controldata.c:493 +#: controldata.c:213 dump.c:50 exec.c:118 pg_upgrade.c:556 pg_upgrade.c:596 +#: pg_upgrade.c:945 relfilenumber.c:233 server.c:34 util.c:337 #, c-format -msgid "%d: controldata retrieval problem\n" -msgstr "%d: проблема с получением управляющих данных\n" +msgid "%s" +msgstr "%s" -#: controldata.c:572 +#: controldata.c:220 #, c-format -msgid "The source cluster lacks some required control information:\n" -msgstr "В исходном кластере не хватает необходимой управляющей информации:\n" +msgid "%d: pg_resetwal problem" +msgstr "%d: проблема с выводом pg_resetwal" -#: controldata.c:575 +#: controldata.c:230 controldata.c:240 controldata.c:251 controldata.c:262 +#: controldata.c:273 controldata.c:292 controldata.c:303 controldata.c:314 +#: controldata.c:325 controldata.c:336 controldata.c:347 controldata.c:358 +#: controldata.c:361 controldata.c:365 controldata.c:375 controldata.c:387 +#: controldata.c:398 controldata.c:409 controldata.c:420 controldata.c:431 +#: controldata.c:442 controldata.c:453 controldata.c:464 controldata.c:475 +#: controldata.c:486 controldata.c:497 #, c-format -msgid "The target cluster lacks some required control information:\n" -msgstr "В целевом кластере не хватает необходимой управляющей информации:\n" +msgid "%d: controldata retrieval problem" +msgstr "%d: проблема с получением управляющих данных" -# skip-rule: capital-letter-first #: controldata.c:578 #, c-format -msgid " checkpoint next XID\n" -msgstr " следующий XID последней конт. точки\n" +msgid "The source cluster lacks some required control information:" +msgstr "В исходном кластере не хватает необходимой управляющей информации:" -# skip-rule: capital-letter-first #: controldata.c:581 #, c-format -msgid " latest checkpoint next OID\n" -msgstr " следующий OID последней конт. точки\n" +msgid "The target cluster lacks some required control information:" +msgstr "В целевом кластере не хватает необходимой управляющей информации:" # skip-rule: capital-letter-first #: controldata.c:584 #, c-format -msgid " latest checkpoint next MultiXactId\n" -msgstr " следующий MultiXactId последней конт. точки\n" +msgid " checkpoint next XID" +msgstr " следующий XID конт. точки" # skip-rule: capital-letter-first -#: controldata.c:588 +#: controldata.c:587 #, c-format -msgid " latest checkpoint oldest MultiXactId\n" -msgstr " старейший MultiXactId последней конт. точки\n" +msgid " latest checkpoint next OID" +msgstr " следующий OID последней конт. точки" # skip-rule: capital-letter-first -#: controldata.c:591 +#: controldata.c:590 #, c-format -msgid " latest checkpoint oldestXID\n" -msgstr " oldestXID последней конт. точки\n" +msgid " latest checkpoint next MultiXactId" +msgstr " следующий MultiXactId последней конт. точки" # skip-rule: capital-letter-first #: controldata.c:594 #, c-format -msgid " latest checkpoint next MultiXactOffset\n" -msgstr " следующий MultiXactOffset последней конт. точки\n" +msgid " latest checkpoint oldest MultiXactId" +msgstr " старейший MultiXactId последней конт. точки" +# skip-rule: capital-letter-first #: controldata.c:597 #, c-format -msgid " first WAL segment after reset\n" -msgstr " первый сегмент WAL после сброса\n" +msgid " latest checkpoint oldestXID" +msgstr " oldestXID последней конт. точки" +# skip-rule: capital-letter-first #: controldata.c:600 #, c-format -msgid " float8 argument passing method\n" -msgstr " метод передачи аргумента float8\n" +msgid " latest checkpoint next MultiXactOffset" +msgstr " следующий MultiXactOffset последней конт. точки" #: controldata.c:603 #, c-format -msgid " maximum alignment\n" -msgstr " максимальное выравнивание\n" +msgid " first WAL segment after reset" +msgstr " первый сегмент WAL после сброса" #: controldata.c:606 #, c-format -msgid " block size\n" -msgstr " размер блока\n" +msgid " float8 argument passing method" +msgstr " метод передачи аргумента float8" #: controldata.c:609 #, c-format -msgid " large relation segment size\n" -msgstr " размер сегмента большого отношения\n" +msgid " maximum alignment" +msgstr " максимальное выравнивание" #: controldata.c:612 #, c-format -msgid " WAL block size\n" -msgstr " размер блока WAL\n" +msgid " block size" +msgstr " размер блока" #: controldata.c:615 #, c-format -msgid " WAL segment size\n" -msgstr " размер сегмента WAL\n" +msgid " large relation segment size" +msgstr " размер сегмента большого отношения" #: controldata.c:618 #, c-format -msgid " maximum identifier length\n" -msgstr " максимальная длина идентификатора\n" +msgid " WAL block size" +msgstr " размер блока WAL" #: controldata.c:621 #, c-format -msgid " maximum number of indexed columns\n" -msgstr " максимальное число столбцов в индексе\n" +msgid " WAL segment size" +msgstr " размер сегмента WAL" #: controldata.c:624 #, c-format -msgid " maximum TOAST chunk size\n" -msgstr " максимальный размер порции TOAST\n" +msgid " maximum identifier length" +msgstr " максимальная длина идентификатора" -#: controldata.c:628 +#: controldata.c:627 #, c-format -msgid " large-object chunk size\n" -msgstr " размер порции большого объекта\n" +msgid " maximum number of indexed columns" +msgstr " максимальное число столбцов в индексе" -#: controldata.c:631 +#: controldata.c:630 #, c-format -msgid " dates/times are integers?\n" -msgstr " дата/время представлены целыми числами?\n" +msgid " maximum TOAST chunk size" +msgstr " максимальный размер порции TOAST" -#: controldata.c:635 +#: controldata.c:634 #, c-format -msgid " data checksum version\n" -msgstr " версия контрольных сумм данных\n" +msgid " large-object chunk size" +msgstr " размер порции большого объекта" #: controldata.c:637 #, c-format -msgid "Cannot continue without required control information, terminating\n" +msgid " dates/times are integers?" +msgstr " дата/время представлены целыми числами?" + +#: controldata.c:641 +#, c-format +msgid " data checksum version" +msgstr " версия контрольных сумм данных" + +#: controldata.c:643 +#, c-format +msgid "Cannot continue without required control information, terminating" msgstr "" -"Нет необходимой управляющей информации для продолжения, работа прерывается\n" +"Нет необходимой управляющей информации для продолжения, работа прерывается" -#: controldata.c:652 +#: controldata.c:658 #, c-format msgid "" -"old and new pg_controldata alignments are invalid or do not match\n" -"Likely one cluster is a 32-bit install, the other 64-bit\n" +"old and new pg_controldata alignments are invalid or do not match.\n" +"Likely one cluster is a 32-bit install, the other 64-bit" msgstr "" "старое и новое выравнивание в pg_controldata различаются или некорректны\n" -"Вероятно, один кластер установлен в 32-битной системе, а другой ~ в 64-" -"битной\n" +"Вероятно, один кластер установлен в 32-битной системе, а другой ~ в 64-битной" -#: controldata.c:656 +#: controldata.c:662 #, c-format -msgid "old and new pg_controldata block sizes are invalid or do not match\n" +msgid "old and new pg_controldata block sizes are invalid or do not match" msgstr "" -"старый и новый размер блоков в pg_controldata различаются или некорректны\n" +"старый и новый размер блоков в pg_controldata различаются или некорректны" -#: controldata.c:659 +#: controldata.c:665 #, c-format msgid "" "old and new pg_controldata maximum relation segment sizes are invalid or do " -"not match\n" +"not match" msgstr "" "старый и новый максимальный размер сегментов отношений в pg_controldata " -"различаются или некорректны\n" +"различаются или некорректны" -#: controldata.c:662 +#: controldata.c:668 #, c-format -msgid "" -"old and new pg_controldata WAL block sizes are invalid or do not match\n" +msgid "old and new pg_controldata WAL block sizes are invalid or do not match" msgstr "" -"старый и новый размер блоков WAL в pg_controldata различаются или " -"некорректны\n" +"старый и новый размер блоков WAL в pg_controldata различаются или некорректны" -#: controldata.c:665 +#: controldata.c:671 #, c-format msgid "" -"old and new pg_controldata WAL segment sizes are invalid or do not match\n" +"old and new pg_controldata WAL segment sizes are invalid or do not match" msgstr "" "старый и новый размер сегментов WAL в pg_controldata различаются или " -"некорректны\n" +"некорректны" -#: controldata.c:668 +#: controldata.c:674 #, c-format msgid "" "old and new pg_controldata maximum identifier lengths are invalid or do not " -"match\n" +"match" msgstr "" "старая и новая максимальная длина идентификаторов в pg_controldata " -"различаются или некорректны\n" +"различаются или некорректны" -#: controldata.c:671 +#: controldata.c:677 #, c-format msgid "" "old and new pg_controldata maximum indexed columns are invalid or do not " -"match\n" +"match" msgstr "" "старый и новый максимум числа столбцов, составляющих индексы, в " -"pg_controldata различаются или некорректны\n" +"pg_controldata различаются или некорректны" -#: controldata.c:674 +#: controldata.c:680 #, c-format msgid "" "old and new pg_controldata maximum TOAST chunk sizes are invalid or do not " -"match\n" +"match" msgstr "" "старый и новый максимальный размер порции TOAST в pg_controldata различаются " -"или некорректны\n" +"или некорректны" -#: controldata.c:679 +#: controldata.c:685 #, c-format msgid "" "old and new pg_controldata large-object chunk sizes are invalid or do not " -"match\n" +"match" msgstr "" -"старый и новый размер порции большого объекта различаются или некорректны\n" +"старый и новый размер порции большого объекта различаются или некорректны" -#: controldata.c:682 +#: controldata.c:688 #, c-format -msgid "old and new pg_controldata date/time storage types do not match\n" +msgid "old and new pg_controldata date/time storage types do not match" msgstr "" "старый и новый тип хранения даты/времени в pg_controldata различаются или " -"некорректны\n" +"некорректны" -#: controldata.c:695 +#: controldata.c:701 #, c-format -msgid "old cluster does not use data checksums but the new one does\n" +msgid "old cluster does not use data checksums but the new one does" msgstr "" "в старом кластере не применялись контрольные суммы данных, но в новом они " -"есть\n" +"есть" -#: controldata.c:698 +#: controldata.c:704 #, c-format -msgid "old cluster uses data checksums but the new one does not\n" +msgid "old cluster uses data checksums but the new one does not" msgstr "" -"в старом кластере применялись контрольные суммы данных, но в новом их нет\n" +"в старом кластере применялись контрольные суммы данных, но в новом их нет" -#: controldata.c:700 +#: controldata.c:706 #, c-format -msgid "old and new cluster pg_controldata checksum versions do not match\n" +msgid "old and new cluster pg_controldata checksum versions do not match" msgstr "" -"старая и новая версия контрольных сумм кластера в pg_controldata " -"различаются\n" +"старая и новая версия контрольных сумм кластера в pg_controldata различаются" -#: controldata.c:711 +#: controldata.c:717 #, c-format msgid "Adding \".old\" suffix to old global/pg_control" msgstr "Добавление расширения \".old\" к старому файлу global/pg_control" -#: controldata.c:716 +#: controldata.c:722 #, c-format -msgid "Unable to rename %s to %s.\n" -msgstr "Не удалось переименовать %s в %s.\n" +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "не удалось переименовать файл \"%s\" в \"%s\": %m" -#: controldata.c:719 +#: controldata.c:726 #, c-format msgid "" "\n" "If you want to start the old cluster, you will need to remove\n" "the \".old\" suffix from %s/global/pg_control.old.\n" "Because \"link\" mode was used, the old cluster cannot be safely\n" -"started once the new cluster has been started.\n" -"\n" +"started once the new cluster has been started." msgstr "" "\n" "Если вы захотите запустить старый кластер, вам нужно будет убрать\n" "расширение \".old\" у файла %s/global/pg_control.old.\n" "Так как применялся режим \"ссылок\", работа старого кластера\n" -"после того, как будет запущен новый, не гарантируется.\n" -"\n" +"после того, как будет запущен новый, не гарантируется." #: dump.c:20 #, c-format msgid "Creating dump of global objects" msgstr "Формирование выгрузки глобальных объектов" -#: dump.c:31 +#: dump.c:32 #, c-format -msgid "Creating dump of database schemas\n" -msgstr "Формирование выгрузки схем базы данных\n" +msgid "Creating dump of database schemas" +msgstr "Формирование выгрузки схем базы данных" -#: exec.c:45 +#: exec.c:47 #, c-format -msgid "could not get pg_ctl version data using %s: %s\n" -msgstr "не удалось получить данные версии pg_ctl, выполнив %s: %s\n" +msgid "could not get pg_ctl version data using %s: %m" +msgstr "не удалось получить данные версии pg_ctl, выполнив %s: %m" #: exec.c:51 #, c-format -msgid "could not get pg_ctl version output from %s\n" -msgstr "не удалось получить версию pg_ctl из результата %s\n" +msgid "could not get pg_ctl version data using %s: %s" +msgstr "не удалось получить данные версии pg_ctl, выполнив %s: %s" -#: exec.c:105 exec.c:109 +#: exec.c:55 #, c-format -msgid "command too long\n" -msgstr "команда слишком длинная\n" +msgid "could not get pg_ctl version output from %s" +msgstr "не удалось получить версию pg_ctl из результата %s" -#: exec.c:111 util.c:37 util.c:225 +#: exec.c:112 exec.c:116 #, c-format -msgid "%s\n" -msgstr "%s\n" +msgid "command too long" +msgstr "команда слишком длинная" -#: exec.c:150 option.c:217 +#: exec.c:160 pg_upgrade.c:311 #, c-format -msgid "could not open log file \"%s\": %m\n" -msgstr "не удалось открыть файл протокола \"%s\": %m\n" +msgid "could not open log file \"%s\": %m" +msgstr "не удалось открыть файл протокола \"%s\": %m" -#: exec.c:179 +#: exec.c:192 #, c-format msgid "" "\n" @@ -860,432 +1117,382 @@ msgstr "" "\n" "*ошибка*" -#: exec.c:182 +#: exec.c:195 #, c-format -msgid "There were problems executing \"%s\"\n" -msgstr "При выполнении \"%s\" возникли проблемы\n" +msgid "There were problems executing \"%s\"" +msgstr "При выполнении \"%s\" возникли проблемы" -#: exec.c:185 +#: exec.c:198 #, c-format msgid "" "Consult the last few lines of \"%s\" or \"%s\" for\n" -"the probable cause of the failure.\n" +"the probable cause of the failure." msgstr "" "Чтобы понять причину ошибки, просмотрите последние несколько строк\n" -"файла \"%s\" или \"%s\".\n" +"файла \"%s\" или \"%s\"." -#: exec.c:190 +#: exec.c:203 #, c-format msgid "" "Consult the last few lines of \"%s\" for\n" -"the probable cause of the failure.\n" +"the probable cause of the failure." msgstr "" "Чтобы понять причину ошибки, просмотрите последние несколько строк\n" -"файла \"%s\".\n" +"файла \"%s\"." -#: exec.c:205 option.c:226 +#: exec.c:218 pg_upgrade.c:321 #, c-format -msgid "could not write to log file \"%s\": %m\n" -msgstr "не удалось записать в файл протокола \"%s\": %m\n" +msgid "could not write to log file \"%s\": %m" +msgstr "не удалось записать в файл протокола \"%s\": %m" -#: exec.c:231 +#: exec.c:244 #, c-format -msgid "could not open file \"%s\" for reading: %s\n" -msgstr "не удалось открыть файл \"%s\" для чтения: %s\n" +msgid "could not open file \"%s\" for reading: %m" +msgstr "не удалось открыть файл \"%s\" для чтения: %m" -#: exec.c:258 +#: exec.c:270 #, c-format -msgid "You must have read and write access in the current directory.\n" -msgstr "У вас должны быть права на чтение и запись в текущем каталоге.\n" +msgid "You must have read and write access in the current directory." +msgstr "У вас должны быть права на чтение и запись в текущем каталоге." -#: exec.c:311 exec.c:377 +#: exec.c:323 exec.c:389 exec.c:439 #, c-format -msgid "check for \"%s\" failed: %s\n" -msgstr "проверка существования \"%s\" не пройдена: %s\n" +msgid "check for \"%s\" failed: %m" +msgstr "файл \"%s\" не прошёл проверку: %m" -#: exec.c:314 exec.c:380 +#: exec.c:326 exec.c:392 #, c-format -msgid "\"%s\" is not a directory\n" -msgstr "\"%s\" не является каталогом\n" +msgid "\"%s\" is not a directory" +msgstr "\"%s\" не является каталогом" -#: exec.c:430 +#: exec.c:444 #, c-format -msgid "check for \"%s\" failed: not a regular file\n" -msgstr "программа \"%s\" не прошла проверку: это не обычный файл\n" +msgid "check for \"%s\" failed: cannot execute" +msgstr "программа \"%s\" не прошла проверку: ошибка выполнения" -#: exec.c:433 -#, c-format -msgid "check for \"%s\" failed: cannot execute (permission denied)\n" -msgstr "программа \"%s\" не прошла проверку: ошибка выполнения (нет доступа)\n" - -#: exec.c:439 -#, c-format -msgid "check for \"%s\" failed: cannot execute\n" -msgstr "программа \"%s\" не прошла проверку: ошибка выполнения\n" - -#: exec.c:449 +#: exec.c:454 #, c-format msgid "" -"check for \"%s\" failed: incorrect version: found \"%s\", expected \"%s\"\n" +"check for \"%s\" failed: incorrect version: found \"%s\", expected \"%s\"" msgstr "" "программа \"%s\" не прошла проверку: получена некорректная версия \"%s\", " -"ожидалась \"%s\"\n" +"ожидалась \"%s\"" -#: file.c:43 file.c:61 +#: file.c:44 #, c-format -msgid "error while cloning relation \"%s.%s\" (\"%s\" to \"%s\"): %s\n" -msgstr "ошибка при клонировании отношения \"%s.%s\" (из \"%s\" в \"%s\"): %s\n" +msgid "error while cloning relation \"%s.%s\" (\"%s\" to \"%s\"): %m" +msgstr "ошибка при клонировании отношения \"%s.%s\" (из \"%s\" в \"%s\"): %m" -#: file.c:50 +#: file.c:51 #, c-format -msgid "" -"error while cloning relation \"%s.%s\": could not open file \"%s\": %s\n" +msgid "error while cloning relation \"%s.%s\": could not open file \"%s\": %m" msgstr "" "ошибка при клонировании отношения \"%s.%s\": не удалось открыть файл \"%s\": " -"%s\n" +"%m" -#: file.c:55 +#: file.c:56 #, c-format msgid "" -"error while cloning relation \"%s.%s\": could not create file \"%s\": %s\n" +"error while cloning relation \"%s.%s\": could not create file \"%s\": %m" msgstr "" "ошибка при клонировании отношения \"%s.%s\": не удалось создать файл \"%s\": " -"%s\n" +"%m" -#: file.c:87 file.c:190 +#: file.c:65 #, c-format -msgid "" -"error while copying relation \"%s.%s\": could not open file \"%s\": %s\n" +msgid "error while cloning relation \"%s.%s\" (\"%s\" to \"%s\"): %s" +msgstr "ошибка при клонировании отношения \"%s.%s\" (из \"%s\" в \"%s\"): %s" + +#: file.c:91 file.c:160 file.c:233 +#, c-format +msgid "error while copying relation \"%s.%s\": could not open file \"%s\": %m" msgstr "" "ошибка при копировании отношения \"%s.%s\": не удалось открыть файл \"%s\": " -"%s\n" +"%m" -#: file.c:92 file.c:199 +#: file.c:96 file.c:165 file.c:242 #, c-format msgid "" -"error while copying relation \"%s.%s\": could not create file \"%s\": %s\n" +"error while copying relation \"%s.%s\": could not create file \"%s\": %m" msgstr "" "ошибка при копировании отношения \"%s.%s\": не удалось создать файл \"%s\": " -"%s\n" +"%m" -#: file.c:106 file.c:223 +#: file.c:110 file.c:266 #, c-format -msgid "" -"error while copying relation \"%s.%s\": could not read file \"%s\": %s\n" +msgid "error while copying relation \"%s.%s\": could not read file \"%s\": %m" msgstr "" -"ошибка при копировании отношения \"%s.%s\": не удалось прочитать файл \"%s" -"\": %s\n" +"ошибка при копировании отношения \"%s.%s\": не удалось прочитать файл " +"\"%s\": %m" -#: file.c:118 file.c:301 +#: file.c:122 file.c:344 #, c-format -msgid "" -"error while copying relation \"%s.%s\": could not write file \"%s\": %s\n" +msgid "error while copying relation \"%s.%s\": could not write file \"%s\": %m" msgstr "" -"ошибка при копировании отношения \"%s.%s\": не удалось записать в файл \"%s" -"\": %s\n" +"ошибка при копировании отношения \"%s.%s\": не удалось записать файл \"%s\": " +"%m" -#: file.c:132 +#: file.c:136 #, c-format -msgid "error while copying relation \"%s.%s\" (\"%s\" to \"%s\"): %s\n" -msgstr "ошибка при копировании отношения \"%s.%s\" (из \"%s\" в \"%s\"): %s\n" +msgid "error while copying relation \"%s.%s\" (\"%s\" to \"%s\"): %m" +msgstr "ошибка при копировании отношения \"%s.%s\" (из \"%s\" в \"%s\"): %m" -#: file.c:151 +#: file.c:172 #, c-format msgid "" -"error while creating link for relation \"%s.%s\" (\"%s\" to \"%s\"): %s\n" +"error while copying relation \"%s.%s\": could not copy file range from " +"\"%s\" to \"%s\": %m" msgstr "" -"ошибка при создании ссылки для отношения \"%s.%s\" (из \"%s\" в \"%s\"): %s\n" +"ошибка при копировании отношения \"%s.%s\": не удалось скопировать фрагмент " +"файла \"%s\" в \"%s\": %m" #: file.c:194 #, c-format -msgid "" -"error while copying relation \"%s.%s\": could not stat file \"%s\": %s\n" +msgid "error while creating link for relation \"%s.%s\" (\"%s\" to \"%s\"): %m" +msgstr "" +"ошибка при создании ссылки для отношения \"%s.%s\" (из \"%s\" в \"%s\"): %m" + +#: file.c:237 +#, c-format +msgid "error while copying relation \"%s.%s\": could not stat file \"%s\": %m" msgstr "" "ошибка при копировании отношения \"%s.%s\": не удалось получить информацию о " -"файле \"%s\": %s\n" +"файле \"%s\": %m" -#: file.c:226 +#: file.c:269 #, c-format msgid "" -"error while copying relation \"%s.%s\": partial page found in file \"%s\"\n" +"error while copying relation \"%s.%s\": partial page found in file \"%s\"" msgstr "" "ошибка при копировании отношения \"%s.%s\": в файле \"%s\" обнаружена " -"неполная страница\n" +"неполная страница" -#: file.c:328 file.c:345 +#: file.c:371 file.c:387 #, c-format -msgid "could not clone file between old and new data directories: %s\n" -msgstr "не удалось клонировать файл из старого каталога данных в новый: %s\n" +msgid "could not clone file between old and new data directories: %m" +msgstr "не удалось клонировать файл из старого каталога данных в новый: %m" -#: file.c:341 +#: file.c:383 file.c:420 #, c-format -msgid "could not create file \"%s\": %s\n" -msgstr "не удалось создать файл \"%s\": %s\n" +msgid "could not create file \"%s\": %m" +msgstr "не удалось создать файл \"%s\": %m" -#: file.c:352 +#: file.c:393 #, c-format -msgid "file cloning not supported on this platform\n" -msgstr "клонирование файлов не поддерживается в этой ОС\n" +msgid "file cloning not supported on this platform" +msgstr "клонирование файлов не поддерживается в этой ОС" -#: file.c:369 +#: file.c:424 #, c-format -msgid "" -"could not create hard link between old and new data directories: %s\n" -"In link mode the old and new data directories must be on the same file " -"system.\n" +msgid "could not copy file range between old and new data directories: %m" msgstr "" -"не удалось создать жёсткую ссылку между старым и новым каталогами данных: " -"%s\n" -"В режиме \"ссылок\" старый и новый каталоги данных должны находиться в одной " -"файловой системе.\n" - -#: function.c:114 -#, c-format -msgid "" -"\n" -"The old cluster has a \"plpython_call_handler\" function defined\n" -"in the \"public\" schema which is a duplicate of the one defined\n" -"in the \"pg_catalog\" schema. You can confirm this by executing\n" -"in psql:\n" -"\n" -" \\df *.plpython_call_handler\n" -"\n" -"The \"public\" schema version of this function was created by a\n" -"pre-8.1 install of plpython, and must be removed for pg_upgrade\n" -"to complete because it references a now-obsolete \"plpython\"\n" -"shared object file. You can remove the \"public\" schema version\n" -"of this function by running the following command:\n" -"\n" -" DROP FUNCTION public.plpython_call_handler()\n" -"\n" -"in each affected database:\n" -"\n" -msgstr "" -"\n" -"В старом кластере имеется функция \"plpython_call_handler\",\n" -"определённая в схеме \"public\", представляющая собой копию функции,\n" -"определённой в схеме \"pg_catalog\". Вы можете убедиться в этом,\n" -"выполнив в psql:\n" -"\n" -" \\df *.plpython_call_handler\n" -"\n" -"Версия этой функции в схеме \"public\" была создана инсталляцией\n" -"plpython версии до 8.1 и должна быть удалена для завершения процедуры\n" -"pg_upgrade, так как она ссылается на ставший устаревшим\n" -"разделяемый объектный файл \"plpython\". Вы можете удалить версию этой " -"функции\n" -"из схемы \"public\", выполнив следующую команду:\n" -"\n" -" DROP FUNCTION public.plpython_call_handler()\n" -"\n" -"в каждой затронутой базе данных:\n" -"\n" +"не удалось скопировать фрагмент файла из старого каталога данных в новый: %m" -#: function.c:132 +#: file.c:430 #, c-format -msgid " %s\n" -msgstr " %s\n" +msgid "copy_file_range not supported on this platform" +msgstr "copy_file_range не поддерживается в этой ОС" -#: function.c:142 +#: file.c:447 #, c-format -msgid "Remove the problem functions from the old cluster to continue.\n" -msgstr "Удалите проблемные функции из старого кластера для продолжения.\n" +msgid "" +"could not create hard link between old and new data directories: %m\n" +"In link mode the old and new data directories must be on the same file " +"system." +msgstr "" +"не удалось создать жёсткую ссылку между старым и новым каталогами данных: " +"%m\n" +"В режиме \"ссылок\" старый и новый каталоги данных должны находиться в одной " +"файловой системе." -#: function.c:189 +#: function.c:154 #, c-format msgid "Checking for presence of required libraries" msgstr "Проверка наличия требуемых библиотек" -#: function.c:242 +#: function.c:190 #, c-format msgid "could not load library \"%s\": %s" msgstr "загрузить библиотеку \"%s\" не удалось: %s" -#: function.c:253 +#: function.c:201 #, c-format msgid "In database: %s\n" msgstr "В базе данных: %s\n" -#: function.c:263 +#: function.c:211 #, c-format msgid "" "Your installation references loadable libraries that are missing from the\n" "new installation. You can add these libraries to the new installation,\n" "or remove the functions using them from the old installation. A list of\n" "problem libraries is in the file:\n" -" %s\n" -"\n" +" %s" msgstr "" "В вашей инсталляции есть ссылки на загружаемые библиотеки, отсутствующие\n" "в новой инсталляции. Вы можете добавить эти библиотеки в новую инсталляцию\n" "или удалить функции, использующие их, из старой. Список проблемных\n" "библиотек приведён в файле:\n" -" %s\n" -"\n" +" %s" -#: info.c:131 +#: info.c:128 #, c-format msgid "" -"Relation names for OID %u in database \"%s\" do not match: old name \"%s.%s" -"\", new name \"%s.%s\"\n" +"Relation names for OID %u in database \"%s\" do not match: old name \"%s." +"%s\", new name \"%s.%s\"" msgstr "" "Имена отношения с OID %u в базе данных \"%s\" различаются: старое имя - \"%s." -"%s\", новое - \"%s.%s\"\n" +"%s\", новое - \"%s.%s\"" -#: info.c:151 +#: info.c:148 #, c-format -msgid "Failed to match up old and new tables in database \"%s\"\n" -msgstr "Не удалось сопоставить старые таблицы с новыми в базе данных \"%s\"\n" +msgid "Failed to match up old and new tables in database \"%s\"" +msgstr "Не удалось сопоставить старые таблицы с новыми в базе данных \"%s\"" -#: info.c:240 +#: info.c:229 #, c-format msgid " which is an index on \"%s.%s\"" msgstr " это индекс в \"%s.%s\"" -#: info.c:250 +#: info.c:239 #, c-format msgid " which is an index on OID %u" msgstr " это индекс в отношении с OID %u" -#: info.c:262 +#: info.c:251 #, c-format msgid " which is the TOAST table for \"%s.%s\"" msgstr " это TOAST-таблица для \"%s.%s\"" -#: info.c:270 +#: info.c:259 #, c-format msgid " which is the TOAST table for OID %u" msgstr " это TOAST-таблица для отношения с OID %u" -#: info.c:274 +#: info.c:263 #, c-format msgid "" -"No match found in old cluster for new relation with OID %u in database \"%s" -"\": %s\n" +"No match found in old cluster for new relation with OID %u in database " +"\"%s\": %s" msgstr "" "В старом кластере не нашлось соответствия для нового отношения с OID %u в " -"базе данных \"%s\": %s\n" +"базе данных \"%s\": %s" -#: info.c:277 +#: info.c:266 #, c-format msgid "" -"No match found in new cluster for old relation with OID %u in database \"%s" -"\": %s\n" +"No match found in new cluster for old relation with OID %u in database " +"\"%s\": %s" msgstr "" "В новом кластере не нашлось соответствия для старого отношения с OID %u в " -"базе данных \"%s\": %s\n" - -#: info.c:289 -#, c-format -msgid "mappings for database \"%s\":\n" -msgstr "отображения для базы данных \"%s\":\n" - -#: info.c:292 -#, c-format -msgid "%s.%s: %u to %u\n" -msgstr "%s.%s: %u в %u\n" +"базе данных \"%s\": %s" -#: info.c:297 info.c:633 +#: info.c:300 #, c-format msgid "" "\n" -"\n" +"source databases:" msgstr "" "\n" -"\n" +"исходные базы данных:" -#: info.c:322 +#: info.c:302 #, c-format msgid "" "\n" -"source databases:\n" +"target databases:" msgstr "" "\n" -"исходные базы данных:\n" +"целевые базы данных:" -#: info.c:324 +#: info.c:346 #, c-format -msgid "" -"\n" -"target databases:\n" -msgstr "" -"\n" -"целевые базы данных:\n" +msgid "template0 not found" +msgstr "база template0 не найдена" + +#: info.c:805 +#, c-format +msgid "Database: \"%s\"" +msgstr "База данных: \"%s\"" -#: info.c:631 +#: info.c:818 #, c-format -msgid "Database: %s\n" -msgstr "База данных: %s\n" +msgid "relname: \"%s.%s\", reloid: %u, reltblspace: \"%s\"" +msgstr "имя_отношения: \"%s.%s\", oid_отношения: %u, табл_пространство: %s\"" -#: info.c:644 +#: info.c:832 #, c-format -msgid "relname: %s.%s: reloid: %u reltblspace: %s\n" -msgstr "имя_отношения: %s.%s: oid_отношения: %u табл_пространство: %s\n" +msgid "Logical replication slots in the database:" +msgstr "Слоты логической репликации в базе данных:" -#: option.c:102 +#: info.c:838 #, c-format -msgid "%s: cannot be run as root\n" -msgstr "%s: программу не должен запускать root\n" +msgid "slot name: \"%s\", output plugin: \"%s\", two_phase: %s" +msgstr "слот: \"%s\", модуль вывода: \"%s\", двухфазный: %s" -#: option.c:170 +#: option.c:105 #, c-format -msgid "invalid old port number\n" -msgstr "неверный старый номер порта\n" +msgid "%s: cannot be run as root" +msgstr "%s: программу не должен запускать root" -#: option.c:175 +#: option.c:172 #, c-format -msgid "invalid new port number\n" -msgstr "неверный новый номер порта\n" +msgid "invalid old port number" +msgstr "неверный старый номер порта" -#: option.c:207 +#: option.c:177 +#, c-format +msgid "invalid new port number" +msgstr "неверный новый номер порта" + +#: option.c:216 #, c-format msgid "Try \"%s --help\" for more information.\n" msgstr "Для дополнительной информации попробуйте \"%s --help\".\n" -#: option.c:214 +#: option.c:223 #, c-format -msgid "too many command-line arguments (first is \"%s\")\n" -msgstr "слишком много аргументов командной строки (первый: \"%s\")\n" +msgid "too many command-line arguments (first is \"%s\")" +msgstr "слишком много аргументов командной строки (первый: \"%s\")" -#: option.c:220 +#: option.c:229 #, c-format -msgid "Running in verbose mode\n" -msgstr "Программа запущена в режиме подробных сообщений\n" +msgid "Running in verbose mode" +msgstr "Программа запущена в режиме подробных сообщений" -#: option.c:251 +#: option.c:247 msgid "old cluster binaries reside" msgstr "расположение исполняемых файлов старого кластера" -#: option.c:253 +#: option.c:249 msgid "new cluster binaries reside" msgstr "расположение исполняемых файлов нового кластера" -#: option.c:255 +#: option.c:251 msgid "old cluster data resides" msgstr "расположение данных старого кластера" -#: option.c:257 +#: option.c:253 msgid "new cluster data resides" msgstr "расположение данных нового кластера" -#: option.c:259 +#: option.c:255 msgid "sockets will be created" msgstr "расположение сокетов" -#: option.c:276 option.c:374 +#: option.c:272 option.c:374 #, c-format -msgid "could not determine current directory\n" -msgstr "не удалось определить текущий каталог\n" +msgid "could not determine current directory" +msgstr "не удалось определить текущий каталог" -#: option.c:279 +#: option.c:275 #, c-format msgid "" -"cannot run pg_upgrade from inside the new cluster data directory on Windows\n" +"cannot run pg_upgrade from inside the new cluster data directory on Windows" msgstr "" -"в Windows нельзя запустить pg_upgrade внутри каталога данных нового " -"кластера\n" +"в Windows нельзя запустить pg_upgrade внутри каталога данных нового кластера" -#: option.c:288 +#: option.c:284 #, c-format msgid "" "pg_upgrade upgrades a PostgreSQL cluster to a different major version.\n" @@ -1294,12 +1501,12 @@ msgstr "" "pg_upgrade обновляет кластер PostgreSQL до другой основной версии.\n" "\n" -#: option.c:289 +#: option.c:285 #, c-format msgid "Usage:\n" msgstr "Использование:\n" -#: option.c:290 +#: option.c:286 #, c-format msgid "" " pg_upgrade [OPTION]...\n" @@ -1308,18 +1515,18 @@ msgstr "" " pg_upgrade [ПАРАМЕТР]...\n" "\n" -#: option.c:291 +#: option.c:287 #, c-format msgid "Options:\n" msgstr "Параметры:\n" -#: option.c:292 +#: option.c:288 #, c-format msgid " -b, --old-bindir=BINDIR old cluster executable directory\n" msgstr "" " -b, --old-bindir=КАТ_BIN каталог исполняемых файлов старого кластера\n" -#: option.c:293 +#: option.c:289 #, c-format msgid "" " -B, --new-bindir=BINDIR new cluster executable directory (default\n" @@ -1328,7 +1535,7 @@ msgstr "" " -B, --new-bindir=КАТ_BIN каталог исполняемых файлов нового кластера\n" " (по умолчанию каталог программы pg_upgrade)\n" -#: option.c:295 +#: option.c:291 #, c-format msgid "" " -c, --check check clusters only, don't change any data\n" @@ -1336,17 +1543,17 @@ msgstr "" " -c, --check только проверить кластеры, не меняя никакие " "данные\n" -#: option.c:296 +#: option.c:292 #, c-format msgid " -d, --old-datadir=DATADIR old cluster data directory\n" -msgstr " -d, --old-datadir=КАТ_DATA каталог данных старого кластера\n" +msgstr " -d, --old-datadir=КАТ_ДАННЫХ каталог данных старого кластера\n" -#: option.c:297 +#: option.c:293 #, c-format msgid " -D, --new-datadir=DATADIR new cluster data directory\n" -msgstr " -D, --new-datadir=КАТ_DATA каталог данных нового кластера\n" +msgstr " -D, --new-datadir=КАТ_ДАННЫХ каталог данных нового кластера\n" -#: option.c:298 +#: option.c:294 #, c-format msgid "" " -j, --jobs=NUM number of simultaneous processes or threads " @@ -1356,7 +1563,7 @@ msgstr "" "или\n" " потоков\n" -#: option.c:299 +#: option.c:295 #, c-format msgid "" " -k, --link link instead of copying files to new " @@ -1366,7 +1573,16 @@ msgstr "" "файлов\n" " в новый кластер\n" -#: option.c:300 +#: option.c:296 +#, c-format +msgid "" +" -N, --no-sync do not wait for changes to be written safely " +"to disk\n" +msgstr "" +" -N, --no-sync не ждать завершения сохранения данных на " +"диске\n" + +#: option.c:297 #, c-format msgid "" " -o, --old-options=OPTIONS old cluster options to pass to the server\n" @@ -1374,7 +1590,7 @@ msgstr "" " -o, --old-options=ПАРАМЕТРЫ параметры старого кластера, передаваемые " "серверу\n" -#: option.c:301 +#: option.c:298 #, c-format msgid "" " -O, --new-options=OPTIONS new cluster options to pass to the server\n" @@ -1382,21 +1598,21 @@ msgstr "" " -O, --new-options=ПАРАМЕТРЫ параметры нового кластера, передаваемые " "серверу\n" -#: option.c:302 +#: option.c:299 #, c-format msgid " -p, --old-port=PORT old cluster port number (default %d)\n" msgstr "" " -p, --old-port=ПОРТ номер порта старого кластера (по умолчанию " "%d)\n" -#: option.c:303 +#: option.c:300 #, c-format msgid " -P, --new-port=PORT new cluster port number (default %d)\n" msgstr "" " -P, --new-port=ПОРТ номер порта нового кластера (по умолчанию " "%d)\n" -#: option.c:304 +#: option.c:301 #, c-format msgid "" " -r, --retain retain SQL and log files after success\n" @@ -1404,7 +1620,7 @@ msgstr "" " -r, --retain сохранить файлы журналов и SQL в случае " "успеха\n" -#: option.c:305 +#: option.c:302 #, c-format msgid "" " -s, --socketdir=DIR socket directory to use (default current " @@ -1412,27 +1628,27 @@ msgid "" msgstr "" " -s, --socketdir=КАТАЛОГ каталог сокетов (по умолчанию текущий)\n" -#: option.c:306 +#: option.c:303 #, c-format msgid " -U, --username=NAME cluster superuser (default \"%s\")\n" msgstr "" -" -U, --username=ИМЯ суперпользователь кластера (по умолчанию \"%s" -"\")\n" +" -U, --username=ИМЯ суперпользователь кластера (по умолчанию " +"\"%s\")\n" -#: option.c:307 +#: option.c:304 #, c-format msgid " -v, --verbose enable verbose internal logging\n" msgstr "" " -v, --verbose включить вывод подробных внутренних " "сообщений\n" -#: option.c:308 +#: option.c:305 #, c-format msgid "" " -V, --version display version information, then exit\n" msgstr " -V, --version показать версию и выйти\n" -#: option.c:309 +#: option.c:306 #, c-format msgid "" " --clone clone instead of copying files to new " @@ -1441,6 +1657,27 @@ msgstr "" " --clone клонировать, а не копировать файлы в новый " "кластер\n" +#: option.c:307 +#, c-format +msgid " --copy copy files to new cluster (default)\n" +msgstr "" +" --copy копировать файлы в новый кластер (по " +"умолчанию)\n" + +#: option.c:308 +#, c-format +msgid "" +" --copy-file-range copy files to new cluster with " +"copy_file_range\n" +msgstr "" +" --copy-file-range копировать файлы в новый кластер, используя\n" +" функцию copy_file_range\n" + +#: option.c:309 +#, c-format +msgid " --sync-method=METHOD set method for syncing files to disk\n" +msgstr " --sync-method=МЕТОД метод синхронизации файлов с ФС\n" + #: option.c:310 #, c-format msgid " -?, --help show this help, then exit\n" @@ -1541,254 +1778,291 @@ msgstr "Домашняя страница %s: <%s>\n" #, c-format msgid "" "You must identify the directory where the %s.\n" -"Please use the %s command-line option or the %s environment variable.\n" +"Please use the %s command-line option or the %s environment variable." msgstr "" "Вы должны указать каталог, где находится %s.\n" "Воспользуйтесь для этого ключом командной строки %s или переменной окружения " -"%s.\n" +"%s." -#: option.c:432 +#: option.c:433 #, c-format msgid "Finding the real data directory for the source cluster" msgstr "Поиск фактического каталога данных для исходного кластера" -#: option.c:434 +#: option.c:435 #, c-format msgid "Finding the real data directory for the target cluster" msgstr "Поиск фактического каталога данных для целевого кластера" -#: option.c:446 +#: option.c:448 #, c-format -msgid "could not get data directory using %s: %s\n" -msgstr "не удалось получить каталог данных, выполнив %s: %s\n" +msgid "could not get data directory using %s: %m" +msgstr "не удалось получить каталог данных, выполнив %s: %m" -#: option.c:505 +#: option.c:452 #, c-format -msgid "could not read line %d from file \"%s\": %s\n" -msgstr "не удалось прочитать строку %d из файла \"%s\": %s\n" +msgid "could not get data directory using %s: %s" +msgstr "не удалось получить каталог данных, выполнив %s: %s" -#: option.c:522 +#: option.c:500 #, c-format -msgid "user-supplied old port number %hu corrected to %hu\n" -msgstr "заданный пользователем старый номер порта %hu изменён на %hu\n" +msgid "could not read line %d from file \"%s\": %m" +msgstr "не удалось прочитать строку %d из файла \"%s\": %m" -#: parallel.c:127 parallel.c:238 +#: option.c:517 #, c-format -msgid "could not create worker process: %s\n" -msgstr "не удалось создать рабочий процесс: %s\n" +msgid "user-supplied old port number %hu corrected to %hu" +msgstr "заданный пользователем старый номер порта %hu изменён на %hu" -#: parallel.c:146 parallel.c:259 +#: parallel.c:127 parallel.c:235 #, c-format -msgid "could not create worker thread: %s\n" -msgstr "не удалось создать рабочий поток: %s\n" +msgid "could not create worker process: %m" +msgstr "не удалось создать рабочий процесс: %m" -#: parallel.c:300 +#: parallel.c:143 parallel.c:253 #, c-format -msgid "%s() failed: %s\n" -msgstr "ошибка в %s(): %s\n" +msgid "could not create worker thread: %m" +msgstr "не удалось создать рабочий поток: %m" -#: parallel.c:304 +#: parallel.c:294 #, c-format -msgid "child process exited abnormally: status %d\n" -msgstr "дочерний процесс завершился нештатно с ошибкой %d\n" +msgid "%s() failed: %m" +msgstr "ошибка в %s(): %m" -#: parallel.c:319 +#: parallel.c:298 #, c-format -msgid "child worker exited abnormally: %s\n" -msgstr "дочерний процесс завершился аварийно: %s\n" +msgid "child process exited abnormally: status %d" +msgstr "дочерний процесс завершился нештатно с ошибкой %d" -#: pg_upgrade.c:107 +#: parallel.c:313 #, c-format -msgid "could not read permissions of directory \"%s\": %s\n" -msgstr "не удалось считать права на каталог \"%s\": %s\n" +msgid "child worker exited abnormally: %m" +msgstr "дочерний процесс завершился аварийно: %m" -#: pg_upgrade.c:122 +#: pg_upgrade.c:115 +#, c-format +msgid "could not read permissions of directory \"%s\": %m" +msgstr "не удалось прочитать права на каталог \"%s\": %m" + +#: pg_upgrade.c:147 #, c-format msgid "" "\n" "Performing Upgrade\n" -"------------------\n" +"------------------" msgstr "" "\n" "Выполнение обновления\n" -"---------------------\n" +"---------------------" -#: pg_upgrade.c:165 +#: pg_upgrade.c:192 #, c-format msgid "Setting next OID for new cluster" msgstr "Установка следующего OID для нового кластера" -#: pg_upgrade.c:172 +#: pg_upgrade.c:216 #, c-format msgid "Sync data directory to disk" msgstr "Синхронизация каталога данных с ФС" -#: pg_upgrade.c:183 +#: pg_upgrade.c:230 #, c-format msgid "" "\n" "Upgrade Complete\n" -"----------------\n" +"----------------" msgstr "" "\n" "Обновление завершено\n" -"--------------------\n" +"--------------------" -#: pg_upgrade.c:216 +#: pg_upgrade.c:263 pg_upgrade.c:276 pg_upgrade.c:283 pg_upgrade.c:290 +#: pg_upgrade.c:308 pg_upgrade.c:319 +#, c-format +msgid "directory path for new cluster is too long" +msgstr "путь к каталогу данных нового кластера слишком длинный" + +#: pg_upgrade.c:297 pg_upgrade.c:299 pg_upgrade.c:301 pg_upgrade.c:303 +#, c-format +msgid "could not create directory \"%s\": %m" +msgstr "не удалось создать каталог \"%s\": %m" + +#: pg_upgrade.c:352 #, c-format -msgid "%s: could not find own program executable\n" -msgstr "%s: не удалось найти свой исполняемый файл\n" +msgid "%s: could not find own program executable" +msgstr "%s: не удалось найти свой исполняемый файл" -#: pg_upgrade.c:242 +#: pg_upgrade.c:378 #, c-format msgid "" "There seems to be a postmaster servicing the old cluster.\n" -"Please shutdown that postmaster and try again.\n" +"Please shutdown that postmaster and try again." msgstr "" "Видимо, запущен процесс postmaster, обслуживающий старый кластер.\n" -"Остановите его и попробуйте ещё раз.\n" +"Остановите его и попробуйте ещё раз." -#: pg_upgrade.c:255 +#: pg_upgrade.c:391 #, c-format msgid "" "There seems to be a postmaster servicing the new cluster.\n" -"Please shutdown that postmaster and try again.\n" +"Please shutdown that postmaster and try again." msgstr "" "Видимо, запущен процесс postmaster, обслуживающий новый кластер.\n" -"Остановите его и попробуйте ещё раз.\n" +"Остановите его и попробуйте ещё раз." -#: pg_upgrade.c:269 +#: pg_upgrade.c:413 +#, c-format +msgid "Setting locale and encoding for new cluster" +msgstr "Установка локали и кодировки для нового кластера" + +#: pg_upgrade.c:489 #, c-format msgid "Analyzing all rows in the new cluster" msgstr "Анализ всех строк в новом кластере" -#: pg_upgrade.c:282 +#: pg_upgrade.c:502 #, c-format msgid "Freezing all rows in the new cluster" msgstr "Замораживание всех строк в новом кластере" -#: pg_upgrade.c:302 +#: pg_upgrade.c:522 #, c-format msgid "Restoring global objects in the new cluster" msgstr "Восстановление глобальных объектов в новом кластере" -#: pg_upgrade.c:317 +#: pg_upgrade.c:538 #, c-format -msgid "Restoring database schemas in the new cluster\n" -msgstr "Восстановление схем баз данных в новом кластере\n" +msgid "Restoring database schemas in the new cluster" +msgstr "Восстановление схем баз данных в новом кластере" -#: pg_upgrade.c:421 +#: pg_upgrade.c:662 #, c-format msgid "Deleting files from new %s" msgstr "Удаление файлов из нового каталога %s" -#: pg_upgrade.c:425 +#: pg_upgrade.c:666 #, c-format -msgid "could not delete directory \"%s\"\n" -msgstr "ошибка при удалении каталога \"%s\"\n" +msgid "could not delete directory \"%s\"" +msgstr "ошибка при удалении каталога \"%s\"" -#: pg_upgrade.c:444 +#: pg_upgrade.c:685 #, c-format msgid "Copying old %s to new server" msgstr "Копирование старого каталога %s на новый сервер" -#: pg_upgrade.c:470 +#: pg_upgrade.c:711 #, c-format msgid "Setting oldest XID for new cluster" msgstr "Установка старейшего OID для нового кластера" -#: pg_upgrade.c:478 +#: pg_upgrade.c:719 #, c-format msgid "Setting next transaction ID and epoch for new cluster" msgstr "" "Установка следующего идентификатора транзакции и эпохи для нового кластера" -#: pg_upgrade.c:508 +#: pg_upgrade.c:749 #, c-format msgid "Setting next multixact ID and offset for new cluster" msgstr "" "Установка следующего идентификатора и смещения мультитранзакции для нового " "кластера" -#: pg_upgrade.c:532 +#: pg_upgrade.c:773 #, c-format msgid "Setting oldest multixact ID in new cluster" msgstr "Установка старейшего идентификатора мультитранзакции в новом кластере" -#: pg_upgrade.c:552 +#: pg_upgrade.c:793 #, c-format msgid "Resetting WAL archives" msgstr "Сброс архивов WAL" -#: pg_upgrade.c:595 +#: pg_upgrade.c:836 #, c-format msgid "Setting frozenxid and minmxid counters in new cluster" msgstr "Установка счётчиков frozenxid и minmxid в новом кластере" -#: pg_upgrade.c:597 +#: pg_upgrade.c:838 #, c-format msgid "Setting minmxid counter in new cluster" msgstr "Установка счётчика minmxid в новом кластере" -#: relfilenode.c:35 +#: pg_upgrade.c:929 +#, c-format +msgid "Restoring logical replication slots in the new cluster" +msgstr "Восстановление слотов логической репликации в новом кластере" + +#: relfilenumber.c:35 #, c-format -msgid "Cloning user relation files\n" -msgstr "Клонирование файлов пользовательских отношений\n" +msgid "Cloning user relation files" +msgstr "Клонирование файлов пользовательских отношений" -#: relfilenode.c:38 +#: relfilenumber.c:38 #, c-format -msgid "Copying user relation files\n" -msgstr "Копирование файлов пользовательских отношений\n" +msgid "Copying user relation files" +msgstr "Копирование файлов пользовательских отношений" -#: relfilenode.c:41 +#: relfilenumber.c:41 #, c-format -msgid "Linking user relation files\n" -msgstr "Подключение файлов пользовательских отношений ссылками\n" +msgid "Copying user relation files with copy_file_range" +msgstr "" +"Копирование файлов пользовательских отношений с помощью copy_file_range" + +#: relfilenumber.c:44 +#, c-format +msgid "Linking user relation files" +msgstr "Подключение файлов пользовательских отношений ссылками" -#: relfilenode.c:115 +#: relfilenumber.c:118 #, c-format -msgid "old database \"%s\" not found in the new cluster\n" -msgstr "старая база данных \"%s\" не найдена в новом кластере\n" +msgid "old database \"%s\" not found in the new cluster" +msgstr "старая база данных \"%s\" не найдена в новом кластере" -#: relfilenode.c:230 +#: relfilenumber.c:221 #, c-format msgid "" -"error while checking for file existence \"%s.%s\" (\"%s\" to \"%s\"): %s\n" +"error while checking for file existence \"%s.%s\" (\"%s\" to \"%s\"): %m" msgstr "" -"ошибка при проверке существования файла отношения \"%s.%s\" (перенос \"%s\" " -"в \"%s\"): %s\n" +"ошибка при проверке существования файла \"%s.%s\" (перенос \"%s\" в \"%s\"): " +"%m" + +#: relfilenumber.c:238 +#, c-format +msgid "rewriting \"%s\" to \"%s\"" +msgstr "переписывание \"%s\" в \"%s\"" -#: relfilenode.c:248 +#: relfilenumber.c:246 #, c-format -msgid "rewriting \"%s\" to \"%s\"\n" -msgstr "переписывание \"%s\" в \"%s\"\n" +msgid "cloning \"%s\" to \"%s\"" +msgstr "клонирование \"%s\" в \"%s\"" -#: relfilenode.c:256 +#: relfilenumber.c:251 #, c-format -msgid "cloning \"%s\" to \"%s\"\n" -msgstr "клонирование \"%s\" в \"%s\"\n" +msgid "copying \"%s\" to \"%s\"" +msgstr "копирование \"%s\" в \"%s\"" -#: relfilenode.c:261 +#: relfilenumber.c:256 #, c-format -msgid "copying \"%s\" to \"%s\"\n" -msgstr "копирование \"%s\" в \"%s\"\n" +msgid "copying \"%s\" to \"%s\" with copy_file_range" +msgstr "копирование \"%s\" в \"%s\" с помощью copy_file_range" -#: relfilenode.c:266 +#: relfilenumber.c:261 #, c-format -msgid "linking \"%s\" to \"%s\"\n" -msgstr "создание ссылки на \"%s\" в \"%s\"\n" +msgid "linking \"%s\" to \"%s\"" +msgstr "создание ссылки на \"%s\" в \"%s\"" -#: server.c:38 server.c:142 util.c:135 util.c:165 +#: server.c:39 server.c:143 util.c:248 util.c:278 #, c-format msgid "Failure, exiting\n" msgstr "Ошибка, выполняется выход\n" -#: server.c:132 +#: server.c:133 #, c-format -msgid "executing: %s\n" -msgstr "выполняется: %s\n" +msgid "executing: %s" +msgstr "выполняется: %s" -#: server.c:138 +#: server.c:139 #, c-format msgid "" "SQL command failed\n" @@ -1799,17 +2073,17 @@ msgstr "" "%s\n" "%s" -#: server.c:168 +#: server.c:169 #, c-format -msgid "could not open version file \"%s\": %m\n" -msgstr "не удалось открыть файл с версией \"%s\": %m\n" +msgid "could not open version file \"%s\": %m" +msgstr "не удалось открыть файл с версией \"%s\": %m" -#: server.c:172 +#: server.c:173 #, c-format -msgid "could not parse version file \"%s\"\n" -msgstr "не удалось разобрать файл с версией \"%s\"\n" +msgid "could not parse version file \"%s\"" +msgstr "не удалось разобрать файл с версией \"%s\"" -#: server.c:298 +#: server.c:310 #, c-format msgid "" "\n" @@ -1818,217 +2092,117 @@ msgstr "" "\n" "%s" -#: server.c:302 +#: server.c:314 #, c-format msgid "" "could not connect to source postmaster started with the command:\n" -"%s\n" +"%s" msgstr "" "не удалось подключиться к главному процессу исходного сервера, запущенному " "командой:\n" -"%s\n" +"%s" -#: server.c:306 +#: server.c:318 #, c-format msgid "" "could not connect to target postmaster started with the command:\n" -"%s\n" +"%s" msgstr "" "не удалось подключиться к главному процессу целевого сервера, запущенному " "командой:\n" -"%s\n" +"%s" -#: server.c:320 +#: server.c:332 #, c-format -msgid "pg_ctl failed to start the source server, or connection failed\n" +msgid "pg_ctl failed to start the source server, or connection failed" msgstr "" "программа pg_ctl не смогла запустить исходный сервер, либо к нему не удалось " -"подключиться\n" +"подключиться" -#: server.c:322 +#: server.c:334 #, c-format -msgid "pg_ctl failed to start the target server, or connection failed\n" +msgid "pg_ctl failed to start the target server, or connection failed" msgstr "" "программа pg_ctl не смогла запустить целевой сервер, либо к нему не удалось " -"подключиться\n" +"подключиться" -#: server.c:367 +#: server.c:379 #, c-format -msgid "out of memory\n" -msgstr "нехватка памяти\n" +msgid "out of memory" +msgstr "нехватка памяти" -#: server.c:380 +#: server.c:392 #, c-format -msgid "libpq environment variable %s has a non-local server value: %s\n" -msgstr "в переменной окружения для libpq %s задано не локальное значение: %s\n" +msgid "libpq environment variable %s has a non-local server value: %s" +msgstr "" +"в переменной окружения %s для libpq указан адрес не локального сервера: %s" #: tablespace.c:28 #, c-format msgid "" "Cannot upgrade to/from the same system catalog version when\n" -"using tablespaces.\n" +"using tablespaces." msgstr "" "Обновление в рамках одной версии системного каталога невозможно,\n" -"если используются табличные пространства.\n" +"если используются табличные пространства." -#: tablespace.c:86 +#: tablespace.c:83 #, c-format -msgid "tablespace directory \"%s\" does not exist\n" -msgstr "каталог табличного пространства \"%s\" не существует\n" +msgid "tablespace directory \"%s\" does not exist" +msgstr "каталог табличного пространства \"%s\" не существует" -#: tablespace.c:90 +#: tablespace.c:87 #, c-format -msgid "could not stat tablespace directory \"%s\": %s\n" +msgid "could not stat tablespace directory \"%s\": %m" msgstr "" -"не удалось получить информацию о каталоге табличного пространства \"%s\": " -"%s\n" - -#: tablespace.c:95 -#, c-format -msgid "tablespace path \"%s\" is not a directory\n" -msgstr "путь табличного пространства \"%s\" не указывает на каталог\n" +"не удалось получить информацию о каталоге табличного пространства \"%s\": %m" -#: util.c:49 +#: tablespace.c:92 #, c-format -msgid " " -msgstr " " +msgid "tablespace path \"%s\" is not a directory" +msgstr "путь табличного пространства \"%s\" не указывает на каталог" -#: util.c:82 +#: util.c:53 util.c:56 util.c:139 util.c:170 util.c:172 #, c-format msgid "%-*s" msgstr "%-*s" -#: util.c:174 +#: util.c:107 +#, c-format +msgid "could not access directory \"%s\": %m" +msgstr "ошибка при обращении к каталогу \"%s\": %m" + +#: util.c:287 #, c-format msgid "ok" msgstr "ок" -#: version.c:29 +#: version.c:44 #, c-format -msgid "Checking for large objects" -msgstr "Проверка больших объектов" +msgid "Checking for hash indexes" +msgstr "Проверка хеш-индексов" -#: version.c:77 version.c:419 +#: version.c:121 #, c-format msgid "warning" msgstr "предупреждение" -#: version.c:79 -#, c-format -msgid "" -"\n" -"Your installation contains large objects. The new database has an\n" -"additional large object permission table. After upgrading, you will be\n" -"given a command to populate the pg_largeobject_metadata table with\n" -"default permissions.\n" -"\n" -msgstr "" -"\n" -"В вашей инсталляции используются большие объекты. В новой базе данных\n" -"имеется дополнительная таблица с правами для больших объектов. После " -"обновления\n" -"вам будет представлена команда для наполнения таблицы прав\n" -"pg_largeobject_metadata правами по умолчанию.\n" -"\n" - -#: version.c:85 -#, c-format -msgid "" -"\n" -"Your installation contains large objects. The new database has an\n" -"additional large object permission table, so default permissions must be\n" -"defined for all large objects. The file\n" -" %s\n" -"when executed by psql by the database superuser will set the default\n" -"permissions.\n" -"\n" -msgstr "" -"\n" -"В вашей инсталляции используются большие объекты. В новой базе данных\n" -"имеется дополнительная таблица с правами для больших объектов, поэтому\n" -"для всех больших объектов должны определяться права по умолчанию. Скрипт\n" -" %s\n" -"будучи выполненным администратором БД в psql, установит нужные права\n" -"по умолчанию.\n" -"\n" - -#: version.c:272 -#, c-format -msgid "Checking for incompatible \"line\" data type" -msgstr "Проверка несовместимого типа данных \"line\"" - -#: version.c:279 -#, c-format -msgid "" -"Your installation contains the \"line\" data type in user tables.\n" -"This data type changed its internal and input/output format\n" -"between your old and new versions so this\n" -"cluster cannot currently be upgraded. You can\n" -"drop the problem columns and restart the upgrade.\n" -"A list of the problem columns is in the file:\n" -" %s\n" -"\n" -msgstr "" -"В вашей инсталляции пользовательские таблицы используют тип данных \"line" -"\".\n" -"В старом кластере внутренний формат и формат ввода/вывода этого типа " -"отличается\n" -"от нового, поэтому в настоящем состоянии обновить кластер невозможно. Вы " -"можете\n" -"удалить проблемные столбцы и перезапустить обновление. Список проблемных\n" -"столбцов приведён в файле:\n" -" %s\n" -"\n" - -#: version.c:310 -#, c-format -msgid "Checking for invalid \"unknown\" user columns" -msgstr "Проверка неправильных пользовательских столбцов типа \"unknown\"" - -#: version.c:317 -#, c-format -msgid "" -"Your installation contains the \"unknown\" data type in user tables.\n" -"This data type is no longer allowed in tables, so this\n" -"cluster cannot currently be upgraded. You can\n" -"drop the problem columns and restart the upgrade.\n" -"A list of the problem columns is in the file:\n" -" %s\n" -"\n" -msgstr "" -"В вашей инсталляции пользовательские таблицы используют тип данных \"unknown" -"\".\n" -"Теперь использование этого типа данных в таблицах не допускается, поэтому\n" -"в настоящем состоянии обновить кластер невозможно. Вы можете удалить " -"проблемные\n" -"столбцы и перезапустить обновление. Список проблемных столбцов приведён в " -"файле:\n" -" %s\n" -"\n" - -#: version.c:341 -#, c-format -msgid "Checking for hash indexes" -msgstr "Проверка хеш-индексов" - -#: version.c:421 +#: version.c:123 #, c-format msgid "" "\n" "Your installation contains hash indexes. These indexes have different\n" "internal formats between your old and new clusters, so they must be\n" "reindexed with the REINDEX command. After upgrading, you will be given\n" -"REINDEX instructions.\n" -"\n" +"REINDEX instructions." msgstr "" "\n" "В вашей инсталляции используются хеш-индексы. Эти индексы имеют разные\n" "внутренние форматы в старом и новом кластерах, поэтому их необходимо\n" "перестроить с помощью команды REINDEX. По завершении обновления вы получите\n" -"инструкции по выполнению REINDEX.\n" -"\n" +"инструкции по выполнению REINDEX." -#: version.c:427 +#: version.c:129 #, c-format msgid "" "\n" @@ -2037,8 +2211,7 @@ msgid "" "reindexed with the REINDEX command. The file\n" " %s\n" "when executed by psql by the database superuser will recreate all invalid\n" -"indexes; until then, none of these indexes will be used.\n" -"\n" +"indexes; until then, none of these indexes will be used." msgstr "" "\n" "В вашей инсталляции используются хеш-индексы. Эти индексы имеют разные\n" @@ -2046,45 +2219,19 @@ msgstr "" "перестроить с помощью команды REINDEX. Скрипт\n" " %s\n" "будучи выполненным администратором БД в psql, пересоздаст все неправильные\n" -"индексы; до этого никакие хеш-индексы не будут использоваться.\n" -"\n" - -#: version.c:453 -#, c-format -msgid "Checking for invalid \"sql_identifier\" user columns" -msgstr "" -"Проверка неправильных пользовательских столбцов типа \"sql_identifier\"" - -#: version.c:461 -#, c-format -msgid "" -"Your installation contains the \"sql_identifier\" data type in user tables.\n" -"The on-disk format for this data type has changed, so this\n" -"cluster cannot currently be upgraded. You can\n" -"drop the problem columns and restart the upgrade.\n" -"A list of the problem columns is in the file:\n" -" %s\n" -"\n" -msgstr "" -"В вашей инсталляции пользовательские таблицы используют тип данных\n" -"\"sql_identifier\". Формат хранения таких данных на диске поменялся,\n" -"поэтому обновить данный кластер невозможно. Вы можете удалить проблемные\n" -"столбцы и перезапустить обновление.\n" -"Список проблемных столбцов приведён в файле:\n" -" %s\n" -"\n" +"индексы; до этого никакие хеш-индексы не будут использоваться." -#: version.c:485 +#: version.c:153 #, c-format msgid "Checking for extension updates" msgstr "Проверка обновлённых расширений" -#: version.c:537 +#: version.c:200 #, c-format msgid "notice" msgstr "замечание" -#: version.c:538 +#: version.c:201 #, c-format msgid "" "\n" @@ -2092,16 +2239,210 @@ msgid "" "with the ALTER EXTENSION command. The file\n" " %s\n" "when executed by psql by the database superuser will update\n" -"these extensions.\n" -"\n" +"these extensions." msgstr "" "\n" "В вашей инсталляции есть расширения, которые надо обновить\n" "командой ALTER EXTENSION. Скрипт\n" " %s\n" "будучи выполненным администратором БД в psql, обновит все\n" -"эти расширения.\n" -"\n" +"эти расширения." + +#, c-format +#~ msgid "Checking for incompatible \"jsonb\" data type" +#~ msgstr "Проверка несовместимого типа данных \"jsonb\"" + +#, c-format +#~ msgid "" +#~ "encodings for database \"%s\" do not match: old \"%s\", new \"%s\"\n" +#~ msgstr "" +#~ "кодировки в базе данных \"%s\" различаются: старая - \"%s\", новая - " +#~ "\"%s\"\n" + +#, c-format +#~ msgid "" +#~ "lc_collate values for database \"%s\" do not match: old \"%s\", new " +#~ "\"%s\"\n" +#~ msgstr "" +#~ "значения lc_collate в базе данных \"%s\" различаются: старое - \"%s\", " +#~ "новое - \"%s\"\n" + +#, c-format +#~ msgid "" +#~ "lc_ctype values for database \"%s\" do not match: old \"%s\", new " +#~ "\"%s\"\n" +#~ msgstr "" +#~ "значения lc_ctype в базе данных \"%s\" различаются: старое - \"%s\", " +#~ "новое - \"%s\"\n" + +#, c-format +#~ msgid "" +#~ "locale providers for database \"%s\" do not match: old \"%s\", new " +#~ "\"%s\"\n" +#~ msgstr "" +#~ "провайдеры локали в базе данных \"%s\" различаются: старый - \"%s\", " +#~ "новый - \"%s\"\n" + +#, c-format +#~ msgid "" +#~ "ICU locale values for database \"%s\" do not match: old \"%s\", new " +#~ "\"%s\"\n" +#~ msgstr "" +#~ "значения локали ICU для базы данных \"%s\" различаются: старое - \"%s\", " +#~ "новое - \"%s\"\n" + +#, c-format +#~ msgid "The source cluster contains roles starting with \"pg_\"\n" +#~ msgstr "В исходном кластере есть роли, имена которых начинаются с \"pg_\"\n" + +#, c-format +#~ msgid "The target cluster contains roles starting with \"pg_\"\n" +#~ msgstr "В целевом кластере есть роли, имена которых начинаются с \"pg_\"\n" + +#, c-format +#~ msgid "failed to get the current locale\n" +#~ msgstr "не удалось получить текущую локаль\n" + +#, c-format +#~ msgid "failed to get system locale name for \"%s\"\n" +#~ msgstr "не удалось получить системное имя локали для \"%s\"\n" + +#, c-format +#~ msgid "failed to restore old locale \"%s\"\n" +#~ msgstr "не удалось восстановить старую локаль \"%s\"\n" + +#, c-format +#~ msgid "Unable to rename %s to %s.\n" +#~ msgstr "Не удалось переименовать %s в %s.\n" + +#, c-format +#~ msgid "%s\n" +#~ msgstr "%s\n" + +#, c-format +#~ msgid "check for \"%s\" failed: not a regular file\n" +#~ msgstr "программа \"%s\" не прошла проверку: это не обычный файл\n" + +#, c-format +#~ msgid "check for \"%s\" failed: cannot execute (permission denied)\n" +#~ msgstr "" +#~ "программа \"%s\" не прошла проверку: ошибка выполнения (нет доступа)\n" + +#, c-format +#~ msgid "" +#~ "\n" +#~ "\n" +#~ msgstr "" +#~ "\n" +#~ "\n" + +#, c-format +#~ msgid "%-*s\n" +#~ msgstr "%-*s\n" + +#~ msgid "" +#~ "When checking a pre-PG 9.1 live old server, you must specify the old " +#~ "server's port number.\n" +#~ msgstr "" +#~ "Для проверки старого работающего сервера версии до 9.1 необходимо указать " +#~ "номер порта этого сервера.\n" + +#~ msgid "" +#~ "All non-template0 databases must allow connections, i.e. their " +#~ "pg_database.datallowconn must be true\n" +#~ msgstr "" +#~ "Все базы, кроме template0, должны допускать подключения, то есть их " +#~ "свойство pg_database.datallowconn должно быть true\n" + +#~ msgid "" +#~ "\n" +#~ "The old cluster has a \"plpython_call_handler\" function defined\n" +#~ "in the \"public\" schema which is a duplicate of the one defined\n" +#~ "in the \"pg_catalog\" schema. You can confirm this by executing\n" +#~ "in psql:\n" +#~ "\n" +#~ " \\df *.plpython_call_handler\n" +#~ "\n" +#~ "The \"public\" schema version of this function was created by a\n" +#~ "pre-8.1 install of plpython, and must be removed for pg_upgrade\n" +#~ "to complete because it references a now-obsolete \"plpython\"\n" +#~ "shared object file. You can remove the \"public\" schema version\n" +#~ "of this function by running the following command:\n" +#~ "\n" +#~ " DROP FUNCTION public.plpython_call_handler()\n" +#~ "\n" +#~ "in each affected database:\n" +#~ "\n" +#~ msgstr "" +#~ "\n" +#~ "В старом кластере имеется функция \"plpython_call_handler\",\n" +#~ "определённая в схеме \"public\", представляющая собой копию функции,\n" +#~ "определённой в схеме \"pg_catalog\". Вы можете убедиться в этом,\n" +#~ "выполнив в psql:\n" +#~ "\n" +#~ " \\df *.plpython_call_handler\n" +#~ "\n" +#~ "Версия этой функции в схеме \"public\" была создана инсталляцией\n" +#~ "plpython версии до 8.1 и должна быть удалена для завершения процедуры\n" +#~ "pg_upgrade, так как она ссылается на ставший устаревшим\n" +#~ "разделяемый объектный файл \"plpython\". Вы можете удалить версию этой " +#~ "функции\n" +#~ "из схемы \"public\", выполнив следующую команду:\n" +#~ "\n" +#~ " DROP FUNCTION public.plpython_call_handler()\n" +#~ "\n" +#~ "в каждой затронутой базе данных:\n" +#~ "\n" + +#~ msgid " %s\n" +#~ msgstr " %s\n" + +#~ msgid "Remove the problem functions from the old cluster to continue.\n" +#~ msgstr "Удалите проблемные функции из старого кластера для продолжения.\n" + +#~ msgid "mappings for database \"%s\":\n" +#~ msgstr "отображения для базы данных \"%s\":\n" + +#~ msgid "%s.%s: %u to %u\n" +#~ msgstr "%s.%s: %u в %u\n" + +#~ msgid " " +#~ msgstr " " + +#~ msgid "" +#~ "\n" +#~ "Your installation contains large objects. The new database has an\n" +#~ "additional large object permission table. After upgrading, you will be\n" +#~ "given a command to populate the pg_largeobject_metadata table with\n" +#~ "default permissions.\n" +#~ "\n" +#~ msgstr "" +#~ "\n" +#~ "В вашей инсталляции используются большие объекты. В новой базе данных\n" +#~ "имеется дополнительная таблица с правами для больших объектов. После " +#~ "обновления\n" +#~ "вам будет представлена команда для наполнения таблицы прав\n" +#~ "pg_largeobject_metadata правами по умолчанию.\n" +#~ "\n" + +#~ msgid "" +#~ "\n" +#~ "Your installation contains large objects. The new database has an\n" +#~ "additional large object permission table, so default permissions must be\n" +#~ "defined for all large objects. The file\n" +#~ " %s\n" +#~ "when executed by psql by the database superuser will set the default\n" +#~ "permissions.\n" +#~ "\n" +#~ msgstr "" +#~ "\n" +#~ "В вашей инсталляции используются большие объекты. В новой базе данных\n" +#~ "имеется дополнительная таблица с правами для больших объектов, поэтому\n" +#~ "для всех больших объектов должны определяться права по умолчанию. Скрипт\n" +#~ " %s\n" +#~ "будучи выполненным администратором БД в psql, установит нужные права\n" +#~ "по умолчанию.\n" +#~ "\n" #~ msgid "Creating script to analyze new cluster" #~ msgstr "Создание скрипта для анализа нового кластера" diff --git a/src/bin/pg_upgrade/po/sv.po b/src/bin/pg_upgrade/po/sv.po index c8dbe9e9d90..9ee528422d1 100644 --- a/src/bin/pg_upgrade/po/sv.po +++ b/src/bin/pg_upgrade/po/sv.po @@ -1,14 +1,14 @@ # Swedish message translation file for pg_upgrade # 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. +# Dennis Björklund , 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024. # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 16\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-08-02 03:18+0000\n" -"PO-Revision-Date: 2023-08-02 12:02+0200\n" +"POT-Creation-Date: 2024-08-26 23:50+0000\n" +"PO-Revision-Date: 2024-08-27 07:16+0200\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -17,7 +17,239 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -#: check.c:69 +#: ../../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 "slut på minne\n" + +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 +#, c-format +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "kan inte duplicera null-pekare (internt fel)\n" + +#: ../../common/restricted_token.c:168 +#, c-format +msgid "could not get exit code from subprocess: error code %lu" +msgstr "kunde inte hämta statuskod för underprocess: felkod %lu" + +#: ../../common/username.c:43 +#, c-format +msgid "could not look up effective user ID %ld: %s" +msgstr "kunde inte slå upp effektivt användar-id %ld: %s" + +#: ../../common/username.c:45 +msgid "user does not exist" +msgstr "användaren finns inte" + +#: ../../common/username.c:60 +#, c-format +msgid "user name lookup failure: error code %lu" +msgstr "misslyckad sökning efter användarnamn: felkod %lu" + +#: ../../fe_utils/string_utils.c:434 +#, 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 +#, c-format +msgid "database name contains a newline or carriage return: \"%s\"\n" +msgstr "databasnamnet innehåller nyrad eller vagnretur: \"%s\"\n" + +#: check.c:111 +msgid "Checking for system-defined composite types in user tables" +msgstr "Letar i användartabeller efter systemdefinierade typer av sorten \"composite\"" + +#: check.c:118 +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" +"problem columns and restart the upgrade.\n" +msgstr "" +"Din installation innehåller användartabeller med systemdefinierade typer\n" +"av sorten \"composite\". OID:er för dessa typer är inte stabila över\n" +"PostgreSQL-versioner så detta kluster kan inte uppgraderas för tillfället.\n" +"Du kan slänga problemkolumnerna och återstarta uppgraderingen.\n" + +#: check.c:132 +msgid "Checking for incompatible \"line\" data type" +msgstr "Letar efter inkompatibel \"line\"-datatyp" + +#: check.c:137 +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" +"cluster cannot currently be upgraded. You can\n" +"drop the problem columns and restart the upgrade.\n" +msgstr "" +"Din installation innehåller datatypen \"line\" i användartabeller. Denna\n" +"datatype har ändrat sitt interna format samt sitt in/ut-format mellan din\n" +"gamla och nya version så detta kluster kan för närvarande inte uppgraderas.\n" +"Du kan radera problemkolumnerna och återstarta uppgraderingen.\n" + +# FIXME: is this msgid correct? +#: check.c:154 +msgid "Checking for reg* data types in user tables" +msgstr "Letar efter reg*-datatyper i användartabeller" + +#: check.c:181 +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" +"drop the problem columns and restart the upgrade.\n" +msgstr "" +"Din installation använder en av reg*-datatyperna i en användartabell.\n" +"Dessa datatyper refererar system-OID:er som inte bevaras av pg_upgrade\n" +"så detta kluster kan för närvarande inte uppgraderas. Du kan ta bort\n" +"problemkolumnerna och starta om uppgraderingen.\n" + +#: check.c:193 +msgid "Checking for incompatible \"aclitem\" data type" +msgstr "Letar efter inkompatibel datatype \"aclitem\"" + +#: check.c:198 +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" +"problem columns and restart the upgrade.\n" +msgstr "" +"Din installation innehåller datatypen \"aclitem\" i användartabeller.\n" +"Interna formatet för \"aclitem\" ändrades i PostgreSQL 16 så detta kluster\n" +"kan för närvarande inte uppgraderas. Du kan ta bort problemkolumnerna\n" +"och starta om uppgraderingen.\n" + +#: check.c:217 +msgid "Checking for invalid \"unknown\" user columns" +msgstr "Letar efter ogiltiga användarkolumner av typen \"unknown\"" + +#: check.c:222 +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" +"and restart the upgrade.\n" +msgstr "" +"Din installation innehåller datatypen \"unknown\" i användartabeller.\n" +"Denna datatyp tillåts inte längre i tabeller så detta kluster kan\n" +"för närvarande inte uppgraderas. Du kan radera problemkolumnerna och\n" +"återstarta uppgraderingen.\n" + +#: check.c:239 +msgid "Checking for invalid \"sql_identifier\" user columns" +msgstr "Letar efter ogiltiga användarkolumner av typen \"sql_identifier\"" + +#: check.c:244 +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" +"columns and restart the upgrade.\n" +msgstr "" +"Din installation innehåller datatypen \"sql_identifier\" i användartabeller.\n" +"Formatet på disk för denna datatyp har ändrats så detta kluster kan för\n" +"närvarande inte uppgraderas. Du kan radera problemkolumnerna och\n" +"återstarta uppgraderingen.\n" + +#: check.c:255 +msgid "Checking for incompatible \"jsonb\" data type in user tables" +msgstr "Letar efter inkompatibel datatyp \"jsonb\"-datatyp i användartabeller" + +#: check.c:260 +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" +"columns and restart the upgrade.\n" +msgstr "" +"Din installation innehåller datatypen \"jsonb\" i användartabeller.\n" +"Interna formatet för \"jsonb\" ändrades under 9.4-betan så detta kluster kan\n" +"för närvarande inte uppgraderas. Du kan ta bort problemkolumnerna och\n" +"starta om uppgraderingen.\n" + +#: check.c:272 +msgid "Checking for removed \"abstime\" data type in user tables" +msgstr "Letar efter borttagen datatype \"abstime\" i användartabeller" + +#: check.c:277 +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" +"problem columns, or change them to another data type, and restart\n" +"the upgrade.\n" +msgstr "" +"Din installation innehåller datatypen \"abstime\" i användartabeller.\n" +"Datatypen \"abstime\" togs bort i PostgreSQL version 12 så detta kluster\n" +"kan för närvarande inte uppgraderas. Du kan ta bort problemkolumnerna\n" +"eller ändra dem till en annan datatype och starta om uppgraderingen.\n" + +#: check.c:285 +msgid "Checking for removed \"reltime\" data type in user tables" +msgstr "Letar efter borttagen datatype \"reltime\" i användartabeller" + +#: check.c:290 +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" +"problem columns, or change them to another data type, and restart\n" +"the upgrade.\n" +msgstr "" +"Din installation innehåller datatypen \"reltime\" i användartabeller.\n" +"Datatypen \"reltime\" togs bort i PostgreSQL version 12 så detta kluster\n" +"kan för närvarande inte uppgraderas. Du kan ta bort problemkolumnerna\n" +"eller ändra dem till en annan datatype och starta om uppgraderingen.\n" + +#: check.c:298 +msgid "Checking for removed \"tinterval\" data type in user tables" +msgstr "Letar efter borttagen datatype \"tinterval\" i användartabeller" + +#: check.c:303 +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" +"problem columns, or change them to another data type, and restart\n" +"the upgrade.\n" +msgstr "" +"Din installation innehåller datatypen \"tinterval\" i användartabeller.\n" +"Datatypen \"tinterval\" togs bort i PostgreSQL version 12 så detta kluster\n" +"kan för närvarande inte uppgraderas. Du kan ta bort problemkolumnerna\n" +"eller ändra dem till en annan datatype och starta om uppgraderingen.\n" + +#: check.c:345 +#, c-format +msgid "Checking data type usage" +msgstr "Letar efter användning av datatyp" + +#: check.c:480 +#, c-format +msgid " failed check: %s" +msgstr " misslyckad kontroll: %s" + +#: check.c:483 +msgid "A list of the problem columns is in the file:" +msgstr "En lista med problemkolumner finns i filen:" + +#: 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 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "kunde inte öppna fil \"%s\": %m" + +#: check.c:522 +#, c-format +msgid "Data type checks failed: %s" +msgstr "Kontroll av datatyper misslyckades: %s" + +#: check.c:563 #, c-format msgid "" "Performing Consistency Checks on Old Live Server\n" @@ -26,7 +258,7 @@ msgstr "" "Utför konsistenskontroller på gamla live-servern\n" "------------------------------------------------" -#: check.c:75 +#: check.c:569 #, c-format msgid "" "Performing Consistency Checks\n" @@ -35,14 +267,16 @@ msgstr "" "Utför konsistenskontroller\n" "--------------------------" -#: check.c:221 +#: check.c:718 #, c-format msgid "" "\n" "*Clusters are compatible*" -msgstr "\n*Klustren är kompatibla*" +msgstr "" +"\n" +"*Klustren är kompatibla*" -#: check.c:229 +#: check.c:726 #, c-format msgid "" "\n" @@ -53,7 +287,7 @@ msgstr "" "Om pg_upgrade misslyckas efter denna punkt så måste du\n" "köra om initdb på nya klustret innan du fortsätter." -#: check.c:270 +#: check.c:767 #, c-format msgid "" "Optimizer statistics are not transferred by pg_upgrade.\n" @@ -64,7 +298,7 @@ msgstr "" "När du startar nya servern så vill du nog köra:\n" " %s/vacuumdb %s--all --analyze-in-stages" -#: check.c:276 +#: check.c:773 #, c-format msgid "" "Running this script will delete the old cluster's data files:\n" @@ -73,7 +307,7 @@ msgstr "" "När detta skript körs så raderas gamla klustrets datafiler:\n" " %s" -#: check.c:281 +#: check.c:778 #, c-format msgid "" "Could not create a script to delete the old cluster's data files\n" @@ -86,125 +320,121 @@ msgstr "" "ligger i gamla klusterkatalogen. Det gamla klustrets innehåll\n" "måste raderas för hand." -#: check.c:293 +#: check.c:790 #, c-format msgid "Checking cluster versions" msgstr "Kontrollerar klustrets versioner" -#: check.c:305 +#: check.c:802 #, c-format msgid "This utility can only upgrade from PostgreSQL version %s and later." msgstr "Detta verktyg kan bara uppgradera från PostgreSQL version %s eller senare." -#: check.c:310 +#: check.c:807 #, c-format msgid "This utility can only upgrade to PostgreSQL version %s." msgstr "Detta verktyg kan bara uppgradera till PostgreSQL version %s." -#: check.c:319 +#: check.c:816 #, c-format msgid "This utility cannot be used to downgrade to older major PostgreSQL versions." msgstr "Detta verktyg kan inte användas för att nergradera till äldre major-versioner av PostgreSQL." -#: check.c:324 +#: check.c:821 #, c-format msgid "Old cluster data and binary directories are from different major versions." msgstr "Gammal klusterdata och binära kataloger är från olika major-versioner." -#: check.c:327 +#: check.c:824 #, c-format msgid "New cluster data and binary directories are from different major versions." msgstr "Nya klusterdata och binära kataloger är från olika major-versioner." -#: check.c:342 +#: check.c:839 #, c-format msgid "When checking a live server, the old and new port numbers must be different." msgstr "Vid kontroll av en live-server så måste gamla och nya portnumren vara olika." -#: check.c:362 +#: check.c:859 #, c-format msgid "New cluster database \"%s\" is not empty: found relation \"%s.%s\"" msgstr "Nya databasklustret \"%s\" är inte tomt: hittade relation \"%s.%s\"" -#: check.c:385 +#: check.c:882 #, c-format msgid "Checking for new cluster tablespace directories" msgstr "Letar efter nya tablespace-kataloger i klustret" -#: check.c:396 +#: check.c:893 #, c-format msgid "new cluster tablespace directory already exists: \"%s\"" msgstr "i klustret finns redan ny tablespace-katalog: \"%s\"" -#: check.c:429 +#: check.c:926 #, c-format msgid "" "\n" "WARNING: new data directory should not be inside the old data directory, i.e. %s" -msgstr "\nVARNING: nya datakatalogen skall inte ligga inuti den gamla datakatalogen, dvs. %s" +msgstr "" +"\n" +"VARNING: nya datakatalogen skall inte ligga inuti den gamla datakatalogen, dvs. %s" -#: check.c:453 +#: check.c:950 #, c-format msgid "" "\n" "WARNING: user-defined tablespace locations should not be inside the data directory, i.e. %s" -msgstr "\nVARNING: användardefinierade tabellutrymmens plats skall inte vara i datakatalogen, dvs. %s" +msgstr "" +"\n" +"VARNING: användardefinierade tabellutrymmens plats skall inte vara i datakatalogen, dvs. %s" -#: check.c:463 +#: check.c:960 #, c-format msgid "Creating script to delete old cluster" msgstr "Skapar skript för att radera gamla klustret" -#: check.c:466 check.c:639 check.c:755 check.c:850 check.c:979 check.c:1056 -#: check.c:1299 check.c:1373 file.c:339 function.c:163 option.c:476 -#: version.c:116 version.c:292 version.c:426 -#, c-format -msgid "could not open file \"%s\": %s" -msgstr "kunde inte öppna fil \"%s\": %s" - -#: check.c:517 +#: check.c:1014 #, c-format -msgid "could not add execute permission to file \"%s\": %s" -msgstr "kan inte sätta rättigheten \"körbar\" på filen \"%s\": %s" +msgid "could not add execute permission to file \"%s\": %m" +msgstr "kunde inte lägga till rättigheten \"körbar\" på filen \"%s\": %m" -#: check.c:537 +#: check.c:1034 #, c-format msgid "Checking database user is the install user" msgstr "Kontrollerar att databasanvändaren är installationsanvändaren" -#: check.c:553 +#: check.c:1050 #, c-format msgid "database user \"%s\" is not the install user" msgstr "databasanvändare \"%s\" är inte installationsanvändaren" -#: check.c:564 +#: check.c:1061 #, c-format msgid "could not determine the number of users" msgstr "kunde inte bestämma antalet användare" -#: check.c:572 +#: check.c:1069 #, c-format msgid "Only the install user can be defined in the new cluster." msgstr "Bara installationsanvändaren får finnas i nya klustret." -#: check.c:601 +#: check.c:1098 #, c-format msgid "Checking database connection settings" msgstr "Kontrollerar databasens anslutningsinställningar" -#: check.c:627 +#: check.c:1124 #, c-format msgid "template0 must not allow connections, i.e. its pg_database.datallowconn must be false" msgstr "template0 får inte tillåta anslutningar, dvs dess pg_database.datallowconn måste vara false" -#: check.c:654 check.c:775 check.c:873 check.c:999 check.c:1076 check.c:1135 -#: check.c:1196 check.c:1224 check.c:1254 check.c:1313 check.c:1394 -#: function.c:185 version.c:192 version.c:232 version.c:378 +#: 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 #, c-format msgid "fatal" msgstr "fatalt" -#: check.c:655 +#: check.c:1151 #, c-format msgid "" "All non-template0 databases must allow connections, i.e. their\n" @@ -223,27 +453,27 @@ msgstr "" "problemdatabaser finns i filen:\n" " %s" -#: check.c:680 +#: check.c:1176 #, c-format msgid "Checking for prepared transactions" msgstr "Letar efter förberedda transaktioner" -#: check.c:689 +#: check.c:1185 #, c-format msgid "The source cluster contains prepared transactions" msgstr "Källklustret innehåller förberedda transaktioner" -#: check.c:691 +#: check.c:1187 #, c-format msgid "The target cluster contains prepared transactions" msgstr "Målklustret innehåller förberedda transaktioner" -#: check.c:716 +#: check.c:1212 #, c-format msgid "Checking for contrib/isn with bigint-passing mismatch" msgstr "Letar efter contrib/isn med bigint-anropsfel" -#: check.c:776 +#: check.c:1271 #, c-format msgid "" "Your installation contains \"contrib/isn\" functions which rely on the\n" @@ -262,12 +492,12 @@ msgstr "" "En lista med problemfunktionerna finns i filen:\n" " %s" -#: check.c:798 +#: check.c:1293 #, c-format msgid "Checking for user-defined postfix operators" msgstr "Letar efter användardefinierade postfix-operatorer" -#: check.c:874 +#: check.c:1368 #, c-format msgid "" "Your installation contains user-defined postfix operators, which are not\n" @@ -282,12 +512,12 @@ msgstr "" "En lista med användardefinierade postfix-operatorer finns i filen:\n" " %s" -#: check.c:898 +#: check.c:1392 #, c-format msgid "Checking for incompatible polymorphic functions" msgstr "Letar efter inkompatibla polymorfa funktioner" -#: check.c:1000 +#: check.c:1493 #, c-format msgid "" "Your installation contains user-defined objects that refer to internal\n" @@ -308,12 +538,12 @@ msgstr "" "En lista med problemobjekten finns i filen:\n" " %s" -#: check.c:1024 +#: check.c:1517 #, c-format msgid "Checking for tables WITH OIDS" msgstr "Letar efter tabeller med WITH OIDS" -#: check.c:1077 +#: check.c:1569 #, c-format msgid "" "Your installation contains tables declared WITH OIDS, which is not\n" @@ -328,146 +558,134 @@ msgstr "" "En lista över tabeller med detta problem finns i filen:\n" " %s" -# FIXME: is this msgid correct? -#: check.c:1105 +#: check.c:1596 #, c-format -msgid "Checking for system-defined composite types in user tables" -msgstr "Letar i användartabeller efter systemdefinierade typer av sorten \"composite\"" +msgid "Checking for roles starting with \"pg_\"" +msgstr "Letar efter roller som startar med \"pg_\"" -#: check.c:1136 +#: check.c:1627 #, c-format msgid "" -"Your installation contains system-defined composite type(s) in user tables.\n" -"These type OIDs are not stable across PostgreSQL versions,\n" -"so this cluster cannot currently be upgraded. You can\n" -"drop the problem columns and restart the upgrade.\n" -"A list of the problem columns is in the file:\n" +"Your installation contains roles starting with \"pg_\".\n" +"\"pg_\" is a reserved prefix for system roles. The cluster\n" +"cannot be upgraded until these roles are renamed.\n" +"A list of roles starting with \"pg_\" is in the file:\n" " %s" msgstr "" -"Din installation innehåller användartabeller med systemdefinierade typer\n" -"av sorten \"composite\". OID:er för dessa typer är inte stabila över\n" -"PostgreSQL-versioner så detta kluster kan inte uppgraderas för tillfället.\n" -"Du kan slänga problemkolumnerna och återstarta uppgraderingen.\n" -"En lista med problemkolumner finns i filen:\n" +"Din installation innehåller roller som startar på \"pg_\".\n" +"\"pg_\" är ett reserverat prefix för systemroller. Klustret\n" +"kan inte uppgraderas innan dessa roller har bytt namn.\n" +"En lista med rollerna som startar på \"pg_\" finns i denna fil:\n" " %s" -# FIXME: is this msgid correct? -#: check.c:1164 +#: check.c:1647 #, c-format -msgid "Checking for reg* data types in user tables" -msgstr "Letar efter reg*-datatyper i användartabeller" +msgid "Checking for user-defined encoding conversions" +msgstr "Letar efter användardefinierade teckenkodkonverteringar" -#: check.c:1197 +#: check.c:1707 #, c-format msgid "" -"Your installation contains one of the reg* data types in user tables.\n" -"These data types reference system OIDs that are not preserved by\n" -"pg_upgrade, so this cluster cannot currently be upgraded. You can\n" -"drop the problem columns and restart the upgrade.\n" -"A list of the problem columns is in the file:\n" +"Your installation contains user-defined encoding conversions.\n" +"The conversion function parameters changed in PostgreSQL version 14\n" +"so this cluster cannot currently be upgraded. You can remove the\n" +"encoding conversions in the old cluster and restart the upgrade.\n" +"A list of user-defined encoding conversions is in the file:\n" " %s" msgstr "" -"Din installation använder en av reg*-datatyperna i en användartabell.\n" -"Dessa datatyper refererar system-OID:er som inte bevaras av pg_upgrade\n" -"så detta kluster kan för närvarande inte uppgraderas. Du kan ta bort\n" -"problemkolumnerna och starta om uppgraderingen.\n" -"En lista med problemkolumner finns i filen:\n" +"Din installation innehåller användardefinierade teckenkodkonverteringar.\n" +"Parametrar till konverteringsfunktioner ändrades i PostgreSQL 14 så\n" +"detta kluster kan för närvarande inte uppgraderas. Du kan ta bort\n" +"teckenkodkonverteringarna i gamla klustret och starta om uppgraderingen.\n" +"En lista med användardefinierade teckenkodkonverteringar finns i filen:\n" " %s" -# FIXME: is this msgid correct? -#: check.c:1218 +#: check.c:1746 #, c-format -msgid "Checking for incompatible \"aclitem\" data type in user tables" -msgstr "Letar efter inkompatibel \"aclitem\"-datatyp i användartabeller" +msgid "Checking for new cluster logical replication slots" +msgstr "Letar efter replikeringsslottar i nya klustret" -#: check.c:1225 +#: check.c:1754 #, c-format -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" -"problem columns and restart the upgrade. A list of the problem\n" -"columns is in the file:\n" -" %s" -msgstr "" -"Din installation innehåller \"aclitem\"-datatypen i användartabeller.\n" -"Interna formatet för \"aclitem\" ändrades i PostgreSQL 16 så detta kluster\n" -"kan för närvarande inte uppgraderas. Du kan ta bort problemkolumnerna\n" -"och starta om uppgraderingen.\n" -"En lista med problemkolumner finns i filen:\n" -" %s" +msgid "could not count the number of logical replication slots" +msgstr "kunde inte räkna antalet logiska replikeringsslottar" -# FIXME: is this msgid correct? -#: check.c:1246 +#: check.c:1759 #, c-format -msgid "Checking for incompatible \"jsonb\" data type" -msgstr "Letar efter inkompatibel \"jsonb\"-datatyp" +msgid "expected 0 logical replication slots but found %d" +msgstr "förväntade 0 logiska replikeringsslottar men hittade %d." -#: check.c:1255 +#: check.c:1769 check.c:1820 #, c-format -msgid "" -"Your installation contains the \"jsonb\" data type in user tables.\n" -"The internal format of \"jsonb\" changed during 9.4 beta so this\n" -"cluster cannot currently be upgraded. You can\n" -"drop the problem columns and restart the upgrade.\n" -"A list of the problem columns is in the file:\n" -" %s" -msgstr "" -"Din installation innehåller \"jsonb\"-datatypen i användartabeller.\n" -"Interna formatet för \"jsonb\" ändrades under 9.4-betan så detta kluster kan\n" -"för närvarande inte uppgraderas. Du kan ta bort problemkolumnerna och\n" -"starta om uppgraderingen.\n" -"En lista med problemkolumner finns i filen:\n" -" %s" +msgid "could not determine parameter settings on new cluster" +msgstr "kunde inte plocka fram inställningar i det nya klustret" -#: check.c:1282 +#: check.c:1774 #, c-format -msgid "Checking for roles starting with \"pg_\"" -msgstr "Letar efter roller som startar med \"pg_\"" +msgid "\"wal_level\" must be \"logical\" but is set to \"%s\"" +msgstr "\"wal_level\" måste vara satt till \"logical\" men är satt som \"%s\"" + +#: check.c:1780 +#, 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) måste vara större än eller lika med antalet logiska replikeringsslottar (%d) i gamla klustret" + +#: check.c:1812 +#, c-format +msgid "Checking for new cluster configuration for subscriptions" +msgstr "Letar efter konfiguration för prenumerationer i nya klustret" -#: check.c:1314 +#: check.c:1824 +#, 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) måste vara större än eller lika med antaler prenumerationer (%d) i gamla klustret" + +#: check.c:1846 +#, c-format +msgid "Checking for valid logical replication slots" +msgstr "Letar efter giltiga logiska replikeringsslottar" + +#: check.c:1898 #, c-format msgid "" -"Your installation contains roles starting with \"pg_\".\n" -"\"pg_\" is a reserved prefix for system roles. The cluster\n" -"cannot be upgraded until these roles are renamed.\n" -"A list of roles starting with \"pg_\" is in the file:\n" +"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" +"and then restart the upgrade.\n" +"A list of the problematic slots is in the file:\n" " %s" msgstr "" -"Din installation innehåller roller som startar på \"pg_\".\n" -"\"pg_\" är ett reserverat prefix för systemroller. Klustret\n" -"kan inte uppgraderas innan dessa roller har bytt namn.\n" -"En lista med rollerna som startar på \"pg_\" finns i denna fil:\n" +"Din installation innehåller logiska replikeringsslottar som inte\n" +"kan uppgraderas. Du kan ta bort ogiltiga slottar och/eller konsumera\n" +"köad WAL för andra slottar och sedan återstarta uppgraderingen.\n" +"En lista med problemkolumner finns i filen:\n" " %s" -#: check.c:1334 +#: check.c:1922 #, c-format -msgid "Checking for user-defined encoding conversions" -msgstr "Letar efter användardefinierade teckenkodkonverteringar" +msgid "Checking for subscription state" +msgstr "Kontrollerar läget för prenumerationer" -#: check.c:1395 +#: check.c:2023 #, c-format msgid "" -"Your installation contains user-defined encoding conversions.\n" -"The conversion function parameters changed in PostgreSQL version 14\n" -"so this cluster cannot currently be upgraded. You can remove the\n" -"encoding conversions in the old cluster and restart the upgrade.\n" -"A list of user-defined encoding conversions is in the file:\n" +"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" +"A list of the problematic subscriptions is in the file:\n" " %s" msgstr "" -"Din installation innehåller användardefinierade teckenkodkonverteringar.\n" -"Parametrar till konverteringsfunktioner ändrades i PostgreSQL 14 så\n" -"detta kluster kan för närvarande inte uppgraderas. Du kan ta bort\n" -"teckenkodkonverteringarna i gamla klustret och starta om uppgraderingen.\n" -"En lista med användardefinierade teckenkodkonverteringar finns i filen:\n" +"Din installation innehåller prenumerationer utan origin eller har\n" +"relationer som inte är i läget i (initialize) eller r (ready).\n" +"Du kan låta den initiala synken gå klart för alla relationer och\n" +"sedan återuppta uppgraderingen.\n" +"En lista med problemkolumner finns i filen:\n" " %s" -#: controldata.c:129 controldata.c:175 controldata.c:199 controldata.c:508 +#: controldata.c:129 controldata.c:199 #, c-format -msgid "could not get control data using %s: %s" -msgstr "kunde inte hämta kontrolldata med %s: %s" +msgid "could not get control data using %s: %m" +msgstr "kunde inte hämta kontrolldata med %s: %m" -#: controldata.c:140 +#: controldata.c:139 #, c-format msgid "%d: database cluster state problem" msgstr "%d: state-problem för databaskluster" @@ -484,13 +702,18 @@ msgstr "Målklustret stängdes ner när det var i återställningsläge. För at #: controldata.c:165 #, c-format -msgid "The source cluster was not shut down cleanly." -msgstr "Källklustret har inte stängts ner på ett korrekt sätt." +msgid "The source cluster was not shut down cleanly, state reported as: \"%s\"" +msgstr "Källklustret har inte stängts ner på ett korrekt sätt, dess tillstånd rapporteras som: \"%s\"" #: controldata.c:167 #, c-format -msgid "The target cluster was not shut down cleanly." -msgstr "Målklustret har inte stängts ner på ett korrekt sätt." +msgid "The target cluster was not shut down cleanly, state reported as: \"%s\"" +msgstr "Målklustret har inte stängts ner på ett korrekt sätt, dess tillstånd rapporteras som: \"%s\"." + +#: controldata.c:175 controldata.c:507 +#, c-format +msgid "could not get control data using %s: %s" +msgstr "kunde inte hämta kontrolldata med %s: %s" #: controldata.c:181 #, c-format @@ -502,139 +725,139 @@ msgstr "Källklustret saknar information om kluster-state:" msgid "The target cluster lacks cluster state information:" msgstr "Målklustret saknar information om kluster-state:" -#: controldata.c:214 dump.c:50 exec.c:119 pg_upgrade.c:517 pg_upgrade.c:554 -#: relfilenumber.c:231 server.c:34 util.c:337 +#: controldata.c:213 dump.c:50 exec.c:118 pg_upgrade.c:556 pg_upgrade.c:596 +#: pg_upgrade.c:945 relfilenumber.c:233 server.c:34 util.c:337 #, c-format msgid "%s" msgstr "%s" -#: controldata.c:221 +#: controldata.c:220 #, c-format msgid "%d: pg_resetwal problem" msgstr "%d: pg_resetwal-problem" -#: controldata.c:231 controldata.c:241 controldata.c:252 controldata.c:263 -#: controldata.c:274 controldata.c:293 controldata.c:304 controldata.c:315 -#: controldata.c:326 controldata.c:337 controldata.c:348 controldata.c:359 -#: controldata.c:362 controldata.c:366 controldata.c:376 controldata.c:388 -#: controldata.c:399 controldata.c:410 controldata.c:421 controldata.c:432 -#: controldata.c:443 controldata.c:454 controldata.c:465 controldata.c:476 -#: controldata.c:487 controldata.c:498 +#: controldata.c:230 controldata.c:240 controldata.c:251 controldata.c:262 +#: controldata.c:273 controldata.c:292 controldata.c:303 controldata.c:314 +#: controldata.c:325 controldata.c:336 controldata.c:347 controldata.c:358 +#: controldata.c:361 controldata.c:365 controldata.c:375 controldata.c:387 +#: controldata.c:398 controldata.c:409 controldata.c:420 controldata.c:431 +#: controldata.c:442 controldata.c:453 controldata.c:464 controldata.c:475 +#: controldata.c:486 controldata.c:497 #, c-format msgid "%d: controldata retrieval problem" msgstr "%d: problem vid hämtning av kontrolldata" -#: controldata.c:579 +#: controldata.c:578 #, c-format msgid "The source cluster lacks some required control information:" msgstr "Källklustret saknar lite kontrolldata som krävs:" -#: controldata.c:582 +#: controldata.c:581 #, c-format msgid "The target cluster lacks some required control information:" msgstr "Målklustret saknar lite kontrolldata som krävs:" -#: controldata.c:585 +#: controldata.c:584 #, c-format msgid " checkpoint next XID" msgstr " checkpoint nästa-XID" -#: controldata.c:588 +#: controldata.c:587 #, c-format msgid " latest checkpoint next OID" msgstr " senaste checkpoint nästa-OID" -#: controldata.c:591 +#: controldata.c:590 #, c-format msgid " latest checkpoint next MultiXactId" msgstr " senaster checkpoint nästa-MultiXactId" -#: controldata.c:595 +#: controldata.c:594 #, c-format msgid " latest checkpoint oldest MultiXactId" msgstr " senaste checkpoint äldsta-MultiXactId" -#: controldata.c:598 +#: controldata.c:597 #, c-format msgid " latest checkpoint oldestXID" msgstr " senaste checkpoint äldsta-XID" -#: controldata.c:601 +#: controldata.c:600 #, c-format msgid " latest checkpoint next MultiXactOffset" msgstr " senaste checkpoint nästa-MultiXactOffset" -#: controldata.c:604 +#: controldata.c:603 #, c-format msgid " first WAL segment after reset" msgstr " första WAL-segmentet efter reset" -#: controldata.c:607 +#: controldata.c:606 #, c-format msgid " float8 argument passing method" msgstr " float8 argumentöverföringsmetod" -#: controldata.c:610 +#: controldata.c:609 #, c-format msgid " maximum alignment" msgstr " maximal alignment" -#: controldata.c:613 +#: controldata.c:612 #, c-format msgid " block size" msgstr " blockstorlek" -#: controldata.c:616 +#: controldata.c:615 #, c-format msgid " large relation segment size" msgstr " stora relationers segmentstorlek" -#: controldata.c:619 +#: controldata.c:618 #, c-format msgid " WAL block size" msgstr " WAL-blockstorlek" -#: controldata.c:622 +#: controldata.c:621 #, c-format msgid " WAL segment size" msgstr " WAL-segmentstorlek" -#: controldata.c:625 +#: controldata.c:624 #, c-format msgid " maximum identifier length" msgstr " maximal identifierarlängd" -#: controldata.c:628 +#: controldata.c:627 #, c-format msgid " maximum number of indexed columns" msgstr " maximalt antal indexerade kolumner" -#: controldata.c:631 +#: controldata.c:630 #, c-format msgid " maximum TOAST chunk size" msgstr " maximal TOAST-chunkstorlek" -#: controldata.c:635 +#: controldata.c:634 #, c-format msgid " large-object chunk size" msgstr " stora-objekt chunkstorlek" -#: controldata.c:638 +#: controldata.c:637 #, c-format msgid " dates/times are integers?" msgstr " datum/tid är heltal?" -#: controldata.c:642 +#: controldata.c:641 #, c-format msgid " data checksum version" msgstr " datachecksumversion" -#: controldata.c:644 +#: controldata.c:643 #, c-format msgid "Cannot continue without required control information, terminating" msgstr "Kan inte fortsätta utan kontrollinformation som krävs, avslutar" -#: controldata.c:659 +#: controldata.c:658 #, c-format msgid "" "old and new pg_controldata alignments are invalid or do not match.\n" @@ -643,77 +866,77 @@ msgstr "" "gamla och nya pg_controldata-alignments är ogiltiga eller matchar inte.\n" "Troligen är ett kluster en 32-bitars-installation och den andra 64-bitars" -#: controldata.c:663 +#: controldata.c:662 #, c-format msgid "old and new pg_controldata block sizes are invalid or do not match" msgstr "gamla och nya pg_controldata-blockstorlekar är ogiltiga eller matchar inte" -#: controldata.c:666 +#: controldata.c:665 #, c-format msgid "old and new pg_controldata maximum relation segment sizes are invalid or do not match" msgstr "gamla och nya pg_controldata maximala relationssegmentstorlekar är ogiltiga eller matchar inte" -#: controldata.c:669 +#: controldata.c:668 #, c-format msgid "old and new pg_controldata WAL block sizes are invalid or do not match" msgstr "gamla och nya pg_controldata WAL-blockstorlekar är ogiltiga eller matchar inte" -#: controldata.c:672 +#: controldata.c:671 #, c-format msgid "old and new pg_controldata WAL segment sizes are invalid or do not match" msgstr "gamla och nya pg_controldata WAL-segmentstorlekar är ogiltiga eller matchar inte" -#: controldata.c:675 +#: controldata.c:674 #, c-format msgid "old and new pg_controldata maximum identifier lengths are invalid or do not match" msgstr "gamla och nya pg_controldata maximal identifierarlängder är ogiltiga eller matchar inte" -#: controldata.c:678 +#: controldata.c:677 #, c-format msgid "old and new pg_controldata maximum indexed columns are invalid or do not match" msgstr "gamla och nya pg_controldata maximalt indexerade kolumner ogiltiga eller matchar inte" -#: controldata.c:681 +#: controldata.c:680 #, c-format msgid "old and new pg_controldata maximum TOAST chunk sizes are invalid or do not match" msgstr "gamla och nya pg_controldata maximal TOAST-chunkstorlek ogiltiga eller matchar inte" -#: controldata.c:686 +#: controldata.c:685 #, c-format msgid "old and new pg_controldata large-object chunk sizes are invalid or do not match" msgstr "gamla och nya pg_controldata stora-objekt-chunkstorlekar är ogiltiga eller matchar inte" -#: controldata.c:689 +#: controldata.c:688 #, c-format msgid "old and new pg_controldata date/time storage types do not match" msgstr "gamla och nya pg_controldata datum/tid-lagringstyper matchar inte" -#: controldata.c:702 +#: controldata.c:701 #, c-format msgid "old cluster does not use data checksums but the new one does" msgstr "gamla klustret använder inte datachecksummor men nya gör det" -#: controldata.c:705 +#: controldata.c:704 #, c-format msgid "old cluster uses data checksums but the new one does not" msgstr "gamla klustret använder datachecksummor men nya gör inte det" -#: controldata.c:707 +#: controldata.c:706 #, c-format msgid "old and new cluster pg_controldata checksum versions do not match" msgstr "gamla och nya klustrets pg_controldata checksumversioner matchar inte" -#: controldata.c:718 +#: controldata.c:717 #, c-format msgid "Adding \".old\" suffix to old global/pg_control" msgstr "Lägger till \".old\"-suffix till gamla global/pg_control" -#: controldata.c:723 +#: controldata.c:722 #, c-format msgid "could not rename file \"%s\" to \"%s\": %m" msgstr "kunde inte döpa om fil \"%s\" till \"%s\": %m" -#: controldata.c:727 +#: controldata.c:726 #, c-format msgid "" "\n" @@ -738,27 +961,32 @@ msgstr "Skapar dump med globala objekt" msgid "Creating dump of database schemas" msgstr "Skapar dump innehållande databasscheman" -#: exec.c:47 exec.c:52 +#: exec.c:47 +#, c-format +msgid "could not get pg_ctl version data using %s: %m" +msgstr "kunde inte hämta pg_ctl versionsdata med %s: %m" + +#: exec.c:51 #, c-format msgid "could not get pg_ctl version data using %s: %s" msgstr "kunde inte hämta pg_ctl versionsdata med %s: %s" -#: exec.c:56 +#: exec.c:55 #, c-format msgid "could not get pg_ctl version output from %s" msgstr "kunde inte läsa versionutdata för pg_ctl från %s" -#: exec.c:113 exec.c:117 +#: exec.c:112 exec.c:116 #, c-format msgid "command too long" msgstr "kommandot för långt" -#: exec.c:161 pg_upgrade.c:286 +#: exec.c:160 pg_upgrade.c:311 #, c-format msgid "could not open log file \"%s\": %m" msgstr "kunde inte öppna loggfil \"%s\": %m" -#: exec.c:193 +#: exec.c:192 #, c-format msgid "" "\n" @@ -767,12 +995,12 @@ msgstr "" "\n" "*misslyckande*" -#: exec.c:196 +#: exec.c:195 #, c-format msgid "There were problems executing \"%s\"" msgstr "Det var problem med att köra \"%s\"" -#: exec.c:199 +#: exec.c:198 #, c-format msgid "" "Consult the last few lines of \"%s\" or \"%s\" for\n" @@ -781,7 +1009,7 @@ msgstr "" "Se de sista raderna i \"%s\" eller \"%s\" för\n" "en trolig orsak till misslyckandet." -#: exec.c:204 +#: exec.c:203 #, c-format msgid "" "Consult the last few lines of \"%s\" for\n" @@ -790,141 +1018,156 @@ msgstr "" "Se de sista raderna i \"%s\" för\n" "en trolig orsak till misslyckandet." -#: exec.c:219 pg_upgrade.c:296 +#: exec.c:218 pg_upgrade.c:321 #, c-format msgid "could not write to log file \"%s\": %m" msgstr "kunde inte skriva till loggfil \"%s\": %m" -#: exec.c:245 +#: exec.c:244 #, c-format -msgid "could not open file \"%s\" for reading: %s" -msgstr "kunde inte öppna fil \"%s\" för läsning: %s" +msgid "could not open file \"%s\" for reading: %m" +msgstr "kunde inte öppna filen \"%s\" för läsning: %m" -#: exec.c:272 +#: exec.c:270 #, c-format msgid "You must have read and write access in the current directory." msgstr "Du måste ha läs och skrivrättigheter till den aktuella katalogen." -#: exec.c:325 exec.c:391 +#: exec.c:323 exec.c:389 exec.c:439 #, c-format -msgid "check for \"%s\" failed: %s" -msgstr "kontroll av \"%s\" misslyckades: %s" +msgid "check for \"%s\" failed: %m" +msgstr "kontroll av \"%s\" misslyckades: %m" -#: exec.c:328 exec.c:394 +#: exec.c:326 exec.c:392 #, c-format msgid "\"%s\" is not a directory" msgstr "\"%s\" är inte en katalog" -#: exec.c:441 -#, c-format -msgid "check for \"%s\" failed: %m" -msgstr "kontroll av \"%s\" misslyckades: %m" - -#: exec.c:446 +#: exec.c:444 #, c-format msgid "check for \"%s\" failed: cannot execute" msgstr "kontroll av \"%s\" misslyckades: kan inte exekvera" -#: exec.c:456 +#: exec.c:454 #, c-format msgid "check for \"%s\" failed: incorrect version: found \"%s\", expected \"%s\"" msgstr "kontroll av \"%s\" misslyckades: hittade felaktig version \"%s\", förväntade \"%s\"" -#: file.c:43 file.c:64 +#: file.c:44 #, c-format -msgid "error while cloning relation \"%s.%s\" (\"%s\" to \"%s\"): %s" -msgstr "fel vid kloning av relation \"%s.%s\" (\"%s\" till \"%s\"): %s" +msgid "error while cloning relation \"%s.%s\" (\"%s\" to \"%s\"): %m" +msgstr "fel vid kloning av relation \"%s.%s\" (\"%s\" till \"%s\"): %m" -#: file.c:50 +#: file.c:51 #, c-format -msgid "error while cloning relation \"%s.%s\": could not open file \"%s\": %s" -msgstr "fel vid kloning av relation \"%s.%s\": kunde inte öppna filen \"%s\": %s" +msgid "error while cloning relation \"%s.%s\": could not open file \"%s\": %m" +msgstr "fel vid kloning av relation \"%s.%s\": kunde inte öppna filen \"%s\": %m" -#: file.c:55 +#: file.c:56 #, c-format -msgid "error while cloning relation \"%s.%s\": could not create file \"%s\": %s" -msgstr "fel vid kloning av relation \"%s.%s\": kunde inte skapa filen \"%s\": %s" +msgid "error while cloning relation \"%s.%s\": could not create file \"%s\": %m" +msgstr "fel vid kloning av relation \"%s.%s\": kunde inte skapa filen \"%s\": %m" + +#: file.c:65 +#, c-format +msgid "error while cloning relation \"%s.%s\" (\"%s\" to \"%s\"): %s" +msgstr "fel vid kloning av relation \"%s.%s\" (\"%s\" till \"%s\"): %s" -#: file.c:90 file.c:193 +#: file.c:91 file.c:160 file.c:233 #, c-format -msgid "error while copying relation \"%s.%s\": could not open file \"%s\": %s" -msgstr "fel vid kopiering av relation \"%s.%s\": kunde inte öppna filen \"%s\": %s" +msgid "error while copying relation \"%s.%s\": could not open file \"%s\": %m" +msgstr "fel vid kopiering av relation \"%s.%s\": kunde inte öppna filen \"%s\": %m" -#: file.c:95 file.c:202 +#: file.c:96 file.c:165 file.c:242 #, c-format -msgid "error while copying relation \"%s.%s\": could not create file \"%s\": %s" -msgstr "fel vid kopiering av relation \"%s.%s\": kunde inte skapa filen \"%s\": %s" +msgid "error while copying relation \"%s.%s\": could not create file \"%s\": %m" +msgstr "fel vid kopiering av relation \"%s.%s\": kunde inte skapa filen \"%s\": %m" -#: file.c:109 file.c:226 +#: file.c:110 file.c:266 #, c-format -msgid "error while copying relation \"%s.%s\": could not read file \"%s\": %s" -msgstr "fel vid kopiering av relation \"%s.%s\": kunde inte läsa filen \"%s\": %s" +msgid "error while copying relation \"%s.%s\": could not read file \"%s\": %m" +msgstr "fel vid kopiering av relation \"%s.%s\": kunde inte läsa filen \"%s\": %m" -#: file.c:121 file.c:304 +#: file.c:122 file.c:344 #, c-format -msgid "error while copying relation \"%s.%s\": could not write file \"%s\": %s" -msgstr "fel vid kopiering av relation \"%s.%s\": kunde inte skriva filen \"%s\": %s" +msgid "error while copying relation \"%s.%s\": could not write file \"%s\": %m" +msgstr "fel vid kopiering av relation \"%s.%s\": kunde inte skriva filen \"%s\": %m" -#: file.c:135 +#: file.c:136 #, c-format -msgid "error while copying relation \"%s.%s\" (\"%s\" to \"%s\"): %s" -msgstr "fel vid kopiering av relation \"%s.%s\" (\"%s\" till \"%s\"): %s" +msgid "error while copying relation \"%s.%s\" (\"%s\" to \"%s\"): %m" +msgstr "fel vid kopiering av relation \"%s.%s\" (\"%s\" till \"%s\"): %m" -#: file.c:154 +#: file.c:172 #, c-format -msgid "error while creating link for relation \"%s.%s\" (\"%s\" to \"%s\"): %s" -msgstr "fel vid skapande av länk för relation \"%s.%s\" (\"%s\" till \"%s\"): %s" +msgid "error while copying relation \"%s.%s\": could not copy file range from \"%s\" to \"%s\": %m" +msgstr "fel vid kopiering av relation \"%s.%s\": kunde inte kopiera filintervall från \"%s\" till \"%s\": %m" -#: file.c:197 +#: file.c:194 #, c-format -msgid "error while copying relation \"%s.%s\": could not stat file \"%s\": %s" -msgstr "fel vid kopiering av relation \"%s.%s\": kunde inte göra stat på file \"%s\": %s" +msgid "error while creating link for relation \"%s.%s\" (\"%s\" to \"%s\"): %m" +msgstr "fel vid skapande av länk för relation \"%s.%s\" (\"%s\" till \"%s\"): %m" -#: file.c:229 +#: file.c:237 +#, c-format +msgid "error while copying relation \"%s.%s\": could not stat file \"%s\": %m" +msgstr "fel vid kopiering av relation \"%s.%s\": kunde inte göra stat på file \"%s\": %m" + +#: file.c:269 #, c-format msgid "error while copying relation \"%s.%s\": partial page found in file \"%s\"" msgstr "fel vid kopiering av relation \"%s.%s\": partiell sida hittad i fil \"%s\"" -#: file.c:331 file.c:348 +#: file.c:371 file.c:387 #, c-format -msgid "could not clone file between old and new data directories: %s" -msgstr "kunde inte klona fil mellan gamla och nya datakatalogen: %s" +msgid "could not clone file between old and new data directories: %m" +msgstr "kunde inte klona fil mellan gamla och nya datakatalogen: %m" -#: file.c:344 +#: file.c:383 file.c:420 #, c-format -msgid "could not create file \"%s\": %s" -msgstr "kan inte skapa fil \"%s\": %s" +msgid "could not create file \"%s\": %m" +msgstr "kunde inte skapa fil \"%s\": %m" -#: file.c:355 +#: file.c:393 #, c-format msgid "file cloning not supported on this platform" msgstr "filkloning stöds inte på denna plattform" -#: file.c:372 +#: file.c:424 +#, c-format +msgid "could not copy file range between old and new data directories: %m" +msgstr "kunde inte kopiera filintervall mellan gamla och nya datakatalogerna: %m" + +#: file.c:430 +#, c-format +msgid "copy_file_range not supported on this platform" +msgstr "copy_file_range stöds inte på denna plattform" + +#: file.c:447 #, c-format msgid "" -"could not create hard link between old and new data directories: %s\n" +"could not create hard link between old and new data directories: %m\n" "In link mode the old and new data directories must be on the same file system." msgstr "" -"kunde inte skapa hård länk mellan gamla och nya datakatalogerna: %s\n" +"kunde inte skapa hård länk mellan gamla och nya datakatalogerna: %m\n" "I länk-läge måste gamla och nya datakatalogerna vara i samma filsystem." -#: function.c:128 +#: function.c:154 #, c-format msgid "Checking for presence of required libraries" msgstr "Kontrollerar att krävda länkbibliotek finns" -#: function.c:165 +#: function.c:190 #, c-format msgid "could not load library \"%s\": %s" msgstr "kunde inte ladda länkbibliotek \"%s\": %s" -#: function.c:176 +#: function.c:201 #, c-format msgid "In database: %s\n" msgstr "I databas: %s\n" -#: function.c:186 +#: function.c:211 #, c-format msgid "" "Your installation references loadable libraries that are missing from the\n" @@ -939,137 +1182,151 @@ msgstr "" "med problembiblioteken finns i filen:\n" " %s" -#: info.c:126 +#: info.c:128 #, c-format msgid "Relation names for OID %u in database \"%s\" do not match: old name \"%s.%s\", new name \"%s.%s\"" msgstr "Relationsname för OID %u i databas \"%s\" matchar inte: gammalt namn \"%s.%s\", nytt namn \"%s.%s\"" -#: info.c:146 +#: info.c:148 #, c-format msgid "Failed to match up old and new tables in database \"%s\"" msgstr "Misslyckades med att matcha ihop gamla och nya tabeller i databas \"%s\"" -#: info.c:227 +#: info.c:229 #, c-format msgid " which is an index on \"%s.%s\"" msgstr " vilket är ett index för \"%s.%s\"" -#: info.c:237 +#: info.c:239 #, c-format msgid " which is an index on OID %u" msgstr " vilket är ett index för OID %u" -#: info.c:249 +#: info.c:251 #, c-format msgid " which is the TOAST table for \"%s.%s\"" msgstr " vilket är TOAST-tabellen för \"%s.%s\"" -#: info.c:257 +#: info.c:259 #, c-format msgid " which is the TOAST table for OID %u" msgstr " vilket är TOAST-tabellen för OID %u" -#: info.c:261 +#: info.c:263 #, c-format msgid "No match found in old cluster for new relation with OID %u in database \"%s\": %s" msgstr "Ingen träff hittad i gamla klustret för ny relation med OID %u i databas \"%s\": %s" -#: info.c:264 +#: info.c:266 #, c-format msgid "No match found in new cluster for old relation with OID %u in database \"%s\": %s" msgstr "Ingen träff hittad i nya klustret för gammal relation med OID %u i databas \"%s\": %s" -#: info.c:289 +#: info.c:300 #, c-format msgid "" "\n" "source databases:" -msgstr "\nkälldatabaser:" +msgstr "" +"\n" +"källdatabaser:" -#: info.c:291 +#: info.c:302 #, c-format msgid "" "\n" "target databases:" -msgstr "\nmåldatabaser:" +msgstr "" +"\n" +"måldatabaser:" -#: info.c:329 +#: info.c:346 #, c-format msgid "template0 not found" msgstr "hittade inte template0" -#: info.c:645 +#: info.c:805 #, c-format -msgid "Database: %s" -msgstr "Databas: %s" +msgid "Database: \"%s\"" +msgstr "Databas: \"%s\"" -#: info.c:657 +#: info.c:818 #, c-format -msgid "relname: %s.%s: reloid: %u reltblspace: %s" -msgstr "relnamn: %s.%s: reloid: %u reltblutrymme: %s" +msgid "relname: \"%s.%s\", reloid: %u, reltblspace: \"%s\"" +msgstr "relnamn: \"%s.%s\": reloid: %u reltblutrymme: \"%s\"" -#: option.c:101 +#: info.c:832 +#, c-format +msgid "Logical replication slots in the database:" +msgstr "Logiska replikeringsslottar i databasen:" + +#: info.c:838 +#, c-format +msgid "slot name: \"%s\", output plugin: \"%s\", two_phase: %s" +msgstr "slot_name \"%s\", utdata-plugin \"%s\", two_phase \"%s\"" + +#: option.c:105 #, c-format msgid "%s: cannot be run as root" msgstr "%s: kan inte köras som root" -#: option.c:168 +#: option.c:172 #, c-format msgid "invalid old port number" msgstr "ogiltigt gammalt portnummer" -#: option.c:173 +#: option.c:177 #, c-format msgid "invalid new port number" msgstr "ogiltigt nytt portnummer" -#: option.c:203 +#: option.c:216 #, c-format msgid "Try \"%s --help\" for more information.\n" msgstr "Försök med \"%s --help\" för mer information.\n" -#: option.c:210 +#: option.c:223 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "för många kommandoradsargument (första är \"%s\")" -#: option.c:213 +#: option.c:229 #, c-format msgid "Running in verbose mode" msgstr "Kör i utförligt läge" # FIXME: the source code need to be fixed here. it paste words together -#: option.c:231 +#: option.c:247 msgid "old cluster binaries reside" msgstr "gamla klusterbinärer är i" -#: option.c:233 +#: option.c:249 msgid "new cluster binaries reside" msgstr "nya klusterbinärer är i" -#: option.c:235 +#: option.c:251 msgid "old cluster data resides" msgstr "gamla klusterdatan är i" -#: option.c:237 +#: option.c:253 msgid "new cluster data resides" msgstr "nya klusterdatan är i" -#: option.c:239 +#: option.c:255 msgid "sockets will be created" msgstr "uttag kommer skapas" -#: option.c:256 option.c:356 +#: option.c:272 option.c:374 #, c-format msgid "could not determine current directory" msgstr "kunde inte bestämma aktuell katalog" -#: option.c:259 +#: option.c:275 #, c-format msgid "cannot run pg_upgrade from inside the new cluster data directory on Windows" msgstr "kan inte köra pg_upgrade inifrån nya klusterdatakatalogen i Windows" -#: option.c:268 +#: option.c:284 #, c-format msgid "" "pg_upgrade upgrades a PostgreSQL cluster to a different major version.\n" @@ -1078,12 +1335,12 @@ msgstr "" "pg_upgrade uppgraderar ett PostgreSQL-kluster till en annan major-version.\n" "\n" -#: option.c:269 +#: option.c:285 #, c-format msgid "Usage:\n" msgstr "Användning:\n" -#: option.c:270 +#: option.c:286 #, c-format msgid "" " pg_upgrade [OPTION]...\n" @@ -1092,17 +1349,17 @@ msgstr "" " pg_upgrade [FLAGGA]...\n" "\n" -#: option.c:271 +#: option.c:287 #, c-format msgid "Options:\n" msgstr "Flaggor:\n" -#: option.c:272 +#: option.c:288 #, c-format msgid " -b, --old-bindir=BINDIR old cluster executable directory\n" msgstr " -b, --old-bindir=BINKAT gamla klustrets katalog för körbara filer\n" -#: option.c:273 +#: option.c:289 #, c-format msgid "" " -B, --new-bindir=BINDIR new cluster executable directory (default\n" @@ -1111,97 +1368,107 @@ msgstr "" " -B, --new-bindir=BINKAT nya klustrets katalog för körbara filer\n" " (standard är samma som för pg_upgrade)\n" -#: option.c:275 +#: option.c:291 #, c-format msgid " -c, --check check clusters only, don't change any data\n" msgstr " -c, --check testa klustren bara, ändra ingen data\n" -#: option.c:276 +#: option.c:292 #, c-format msgid " -d, --old-datadir=DATADIR old cluster data directory\n" msgstr " -d, --old-datadir=DATAKAT gamla klustrets datakatalog\n" -#: option.c:277 +#: option.c:293 #, c-format msgid " -D, --new-datadir=DATADIR new cluster data directory\n" msgstr " -D, --new-datadir=DATAKAT nya klustrets datakatalog\n" -#: option.c:278 +#: option.c:294 #, c-format msgid " -j, --jobs=NUM number of simultaneous processes or threads to use\n" msgstr " -j, --jobs=NUM antal samtidiga processer eller trådar att använda\n" -#: option.c:279 +#: option.c:295 #, c-format msgid " -k, --link link instead of copying files to new cluster\n" msgstr " -k, --link länka istället för att kopiera filer till nya klustret\n" -#: option.c:280 +#: option.c:296 #, c-format msgid " -N, --no-sync do not wait for changes to be written safely to disk\n" msgstr " -N, --no-sync vänta inte på att ändingar säkert skrivits till disk\n" -#: option.c:281 +#: option.c:297 #, c-format msgid " -o, --old-options=OPTIONS old cluster options to pass to the server\n" msgstr " -o, --old-options=FLAGGOR serverflaggor för gamla klustret\n" -#: option.c:282 +#: option.c:298 #, c-format msgid " -O, --new-options=OPTIONS new cluster options to pass to the server\n" msgstr " -O, --new-options=FLAGGOR serverflaggor för nya klustret\n" -#: option.c:283 +#: option.c:299 #, c-format msgid " -p, --old-port=PORT old cluster port number (default %d)\n" msgstr " -p, --old-port=PORT gamla klustrets portnummer (standard %d)\n" -#: option.c:284 +#: option.c:300 #, c-format msgid " -P, --new-port=PORT new cluster port number (default %d)\n" msgstr " -P, --new-port=PORT nya klustrets portnummer (standard %d)\n" -#: option.c:285 +#: option.c:301 #, c-format msgid " -r, --retain retain SQL and log files after success\n" msgstr " -r, --retain behåll SQL och loggfiler efter lyckad uppgradering\n" -#: option.c:286 +#: option.c:302 #, c-format msgid " -s, --socketdir=DIR socket directory to use (default current dir.)\n" msgstr " -s, --socketdir=KAT uttagskatalog (standard är aktuell katalog.)\n" -#: option.c:287 +#: option.c:303 #, c-format msgid " -U, --username=NAME cluster superuser (default \"%s\")\n" msgstr " -U, --username=NAMN klustrets superuser (standard \"%s\")\n" -#: option.c:288 +#: option.c:304 #, c-format msgid " -v, --verbose enable verbose internal logging\n" msgstr " -v, --verbose slå på utförligt intern loggning\n" -#: option.c:289 +#: option.c:305 #, c-format msgid " -V, --version display version information, then exit\n" msgstr " -V, --version visa versionsinformation, avsluta sedan\n" -#: option.c:290 +#: option.c:306 #, c-format msgid " --clone clone instead of copying files to new cluster\n" msgstr " -clone klona istället för att kopiera filer till nya klustret\n" -#: option.c:291 +#: option.c:307 #, c-format msgid " --copy copy files to new cluster (default)\n" msgstr " --copy kopiera filer till nya klustret (standard)\n" -#: option.c:292 +#: option.c:308 +#, c-format +msgid " --copy-file-range copy files to new cluster with copy_file_range\n" +msgstr " --copy-file-range kopiera filer till nya klustret med copy_file_range\n" + +#: option.c:309 +#, c-format +msgid " --sync-method=METHOD set method for syncing files to disk\n" +msgstr " --sync-method=METOD sätt synkmetod för att synka filer till disk\n" + +#: option.c:310 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help visa denns hjälp, avsluta sedan\n" -#: option.c:293 +#: option.c:311 #, c-format msgid "" "\n" @@ -1216,7 +1483,7 @@ msgstr "" " stänga ner den postmaster som hanterar gamla klustret\n" " stänga ner den postmaster som hanterar nya klustret\n" -#: option.c:298 +#: option.c:316 #, c-format msgid "" "\n" @@ -1233,7 +1500,7 @@ msgstr "" " \"bin\"-katalogen för gamla versionen (-b BINKAT)\n" " \"bin\"-katalogen för nya versionen (-B BINKAT)\n" -#: option.c:304 +#: option.c:322 #, c-format msgid "" "\n" @@ -1246,7 +1513,7 @@ msgstr "" " pg_upgrade -d gammaltKluster/data -D nyttKluster/data -b gammaltKluster/bin -B nyttKluster/bin\n" "eller\n" -#: option.c:309 +#: option.c:327 #, c-format msgid "" " $ export PGDATAOLD=oldCluster/data\n" @@ -1261,7 +1528,7 @@ msgstr "" " $ export PGBINNEW=nyttKluster/bin\n" " $ pg_upgrade\n" -#: option.c:315 +#: option.c:333 #, c-format msgid "" " C:\\> set PGDATAOLD=oldCluster/data\n" @@ -1276,7 +1543,7 @@ msgstr "" " C:\\> set PGBINNEW=nyttKluster/bin\n" " C:\\> pg_upgrade\n" -#: option.c:321 +#: option.c:339 #, c-format msgid "" "\n" @@ -1285,12 +1552,12 @@ msgstr "" "\n" "Rapportera fel till <%s>.\n" -#: option.c:322 +#: option.c:340 #, c-format msgid "%s home page: <%s>\n" msgstr "hemsida för %s: <%s>\n" -#: option.c:362 +#: option.c:380 #, c-format msgid "" "You must identify the directory where the %s.\n" @@ -1299,45 +1566,50 @@ msgstr "" "Du måste identifiera katalogen där %s.\n" "Använd kommandoradsflaggan %s eller omgivningsvariabeln %s." -#: option.c:415 +#: option.c:433 #, c-format msgid "Finding the real data directory for the source cluster" msgstr "Letar efter den riktiga datakatalogen i källklustret" -#: option.c:417 +#: option.c:435 #, c-format msgid "Finding the real data directory for the target cluster" msgstr "Letar efter den riktiga datakatalogen för målklustret" -#: option.c:430 option.c:435 +#: option.c:448 +#, c-format +msgid "could not get data directory using %s: %m" +msgstr "kunde inte hämta datakatalogen med %s: %m" + +#: option.c:452 #, c-format msgid "could not get data directory using %s: %s" msgstr "kunde inte hämta datakatalogen med %s: %s" -#: option.c:484 +#: option.c:500 #, c-format -msgid "could not read line %d from file \"%s\": %s" -msgstr "kunde inte läsa rad %d från fil \"%s\": %s" +msgid "could not read line %d from file \"%s\": %m" +msgstr "kunde inte läsa rad %d från fil \"%s\": %m" -#: option.c:501 +#: option.c:517 #, c-format msgid "user-supplied old port number %hu corrected to %hu" msgstr "användarangivet gammalt portnummer %hu korrigerat till %hu" #: parallel.c:127 parallel.c:235 #, c-format -msgid "could not create worker process: %s" -msgstr "kunde inte skapa arbetsprocess: %s" +msgid "could not create worker process: %m" +msgstr "kunde inte skapa arbetsprocess: %m" #: parallel.c:143 parallel.c:253 #, c-format -msgid "could not create worker thread: %s" -msgstr "kunde inte skapa arbetstråd: %s" +msgid "could not create worker thread: %m" +msgstr "kunde inte skapa arbetstråd: %m" #: parallel.c:294 #, c-format -msgid "%s() failed: %s" -msgstr "%s() misslyckades: %s" +msgid "%s() failed: %m" +msgstr "%s() misslyckades: %m" #: parallel.c:298 #, c-format @@ -1346,15 +1618,15 @@ msgstr "barnprocess avslutade felaktigt: status %d" #: parallel.c:313 #, c-format -msgid "child worker exited abnormally: %s" -msgstr "barnprocess avslutade felaktigt: %s" +msgid "child worker exited abnormally: %m" +msgstr "barnprocess avslutade felaktigt: %m" -#: pg_upgrade.c:107 +#: pg_upgrade.c:115 #, c-format -msgid "could not read permissions of directory \"%s\": %s" -msgstr "kunde inte läsa rättigheter på katalog \"%s\": %s" +msgid "could not read permissions of directory \"%s\": %m" +msgstr "kunde inte läsa rättigheter på katalog \"%s\": %m" -#: pg_upgrade.c:139 +#: pg_upgrade.c:147 #, c-format msgid "" "\n" @@ -1365,17 +1637,17 @@ msgstr "" "Utför uppgradering\n" "------------------" -#: pg_upgrade.c:184 +#: pg_upgrade.c:192 #, c-format msgid "Setting next OID for new cluster" msgstr "Sätter nästa OID för nya klustret" -#: pg_upgrade.c:193 +#: pg_upgrade.c:216 #, c-format msgid "Sync data directory to disk" msgstr "Synkar datakatalog till disk" -#: pg_upgrade.c:205 +#: pg_upgrade.c:230 #, c-format msgid "" "\n" @@ -1386,23 +1658,23 @@ msgstr "" "Uppgradering klar\n" "-----------------" -#: pg_upgrade.c:238 pg_upgrade.c:251 pg_upgrade.c:258 pg_upgrade.c:265 -#: pg_upgrade.c:283 pg_upgrade.c:294 +#: pg_upgrade.c:263 pg_upgrade.c:276 pg_upgrade.c:283 pg_upgrade.c:290 +#: pg_upgrade.c:308 pg_upgrade.c:319 #, c-format msgid "directory path for new cluster is too long" msgstr "katalogsökväg för nytt kluster är för lång" -#: pg_upgrade.c:272 pg_upgrade.c:274 pg_upgrade.c:276 pg_upgrade.c:278 +#: pg_upgrade.c:297 pg_upgrade.c:299 pg_upgrade.c:301 pg_upgrade.c:303 #, c-format msgid "could not create directory \"%s\": %m" msgstr "kunde inte skapa katalog \"%s\": %m" -#: pg_upgrade.c:327 +#: pg_upgrade.c:352 #, c-format msgid "%s: could not find own program executable" msgstr "%s: kunde inte hitta det egna programmets körbara fil" -#: pg_upgrade.c:353 +#: pg_upgrade.c:378 #, c-format msgid "" "There seems to be a postmaster servicing the old cluster.\n" @@ -1411,7 +1683,7 @@ msgstr "" "Det verkar vara en postmaster igång som hanterar gamla klustret.\n" "Stänga ner den postmastern och försök igen." -#: pg_upgrade.c:366 +#: pg_upgrade.c:391 #, c-format msgid "" "There seems to be a postmaster servicing the new cluster.\n" @@ -1420,81 +1692,86 @@ msgstr "" "Det verkar vara en postmaster igång som hanterar nya klustret.\n" "Stänga ner den postmastern och försök igen." -#: pg_upgrade.c:388 +#: pg_upgrade.c:413 #, c-format msgid "Setting locale and encoding for new cluster" msgstr "Sätter lokal och teckenkodning för nya klustret" -#: pg_upgrade.c:450 +#: pg_upgrade.c:489 #, c-format msgid "Analyzing all rows in the new cluster" msgstr "Analyserar alla rader i nya klustret" -#: pg_upgrade.c:463 +#: pg_upgrade.c:502 #, c-format msgid "Freezing all rows in the new cluster" msgstr "Fryser alla rader i nya klustret" -#: pg_upgrade.c:483 +#: pg_upgrade.c:522 #, c-format msgid "Restoring global objects in the new cluster" msgstr "Återställer globala objekt i nya klustret" -#: pg_upgrade.c:499 +#: pg_upgrade.c:538 #, c-format msgid "Restoring database schemas in the new cluster" msgstr "Återställer databasscheman i nya klustret" -#: pg_upgrade.c:605 +#: pg_upgrade.c:662 #, c-format msgid "Deleting files from new %s" msgstr "Raderar filer från ny %s" -#: pg_upgrade.c:609 +#: pg_upgrade.c:666 #, c-format msgid "could not delete directory \"%s\"" msgstr "kunde inte ta bort katalog \"%s\"" -#: pg_upgrade.c:628 +#: pg_upgrade.c:685 #, c-format msgid "Copying old %s to new server" msgstr "Kopierar gammal %s till ny server" -#: pg_upgrade.c:654 +#: pg_upgrade.c:711 #, c-format msgid "Setting oldest XID for new cluster" msgstr "Sätter äldsta XID för nya klustret" -#: pg_upgrade.c:662 +#: pg_upgrade.c:719 #, c-format msgid "Setting next transaction ID and epoch for new cluster" msgstr "Sätter nästa transaktions-ID och epoch för nytt kluster" -#: pg_upgrade.c:692 +#: pg_upgrade.c:749 #, c-format msgid "Setting next multixact ID and offset for new cluster" msgstr "Sätter nästa multixact-ID och offset för nytt kluster" -#: pg_upgrade.c:716 +#: pg_upgrade.c:773 #, c-format msgid "Setting oldest multixact ID in new cluster" msgstr "Sätter äldsta multixact-ID i nytt kluster" -#: pg_upgrade.c:736 +#: pg_upgrade.c:793 #, c-format msgid "Resetting WAL archives" msgstr "Resettar WAL-arkiv" -#: pg_upgrade.c:779 +#: pg_upgrade.c:836 #, c-format msgid "Setting frozenxid and minmxid counters in new cluster" msgstr "Sätter räknarna frozenxid och minmxid för nytt kluster" -#: pg_upgrade.c:781 +#: pg_upgrade.c:838 #, c-format msgid "Setting minmxid counter in new cluster" msgstr "Sätter räknarenm minmxid för nytt kluster" +#: pg_upgrade.c:929 +#, c-format +msgid "Restoring logical replication slots in the new cluster" +msgstr "Återställer logiska replikeringsslottar i nya klustret" + #: relfilenumber.c:35 #, c-format msgid "Cloning user relation files" @@ -1507,35 +1784,45 @@ msgstr "Kopierar användarens relationsfiler" #: relfilenumber.c:41 #, c-format +msgid "Copying user relation files with copy_file_range" +msgstr "Kopierar användarens relationsfiler med copy_file_range" + +#: relfilenumber.c:44 +#, c-format msgid "Linking user relation files" msgstr "Länkar användarens relationsfiler" -#: relfilenumber.c:115 +#: relfilenumber.c:118 #, c-format msgid "old database \"%s\" not found in the new cluster" msgstr "gamla databasen \"%s\" kan inte hittas i nya klustret" -#: relfilenumber.c:218 +#: relfilenumber.c:221 #, c-format -msgid "error while checking for file existence \"%s.%s\" (\"%s\" to \"%s\"): %s" -msgstr "fel vid kontroll av filexistens \"%s.%s\" (\"%s\" till \"%s\"): %s" +msgid "error while checking for file existence \"%s.%s\" (\"%s\" to \"%s\"): %m" +msgstr "fel vid kontroll av filexistens \"%s.%s\" (\"%s\" till \"%s\"): %m" -#: relfilenumber.c:236 +#: relfilenumber.c:238 #, c-format msgid "rewriting \"%s\" to \"%s\"" msgstr "skriver om \"%s\" till \"%s\"" -#: relfilenumber.c:244 +#: relfilenumber.c:246 #, c-format msgid "cloning \"%s\" to \"%s\"" msgstr "klonar \"%s\" till \"%s\"" -#: relfilenumber.c:249 +#: relfilenumber.c:251 #, c-format msgid "copying \"%s\" to \"%s\"" msgstr "kopierar \"%s\" till \"%s\"" -#: relfilenumber.c:254 +#: relfilenumber.c:256 +#, c-format +msgid "copying \"%s\" to \"%s\" with copy_file_range" +msgstr "kopierar \"%s\" till \"%s\" med copy_file_range" + +#: relfilenumber.c:261 #, c-format msgid "linking \"%s\" to \"%s\"" msgstr "länkar \"%s\" till \"%s\"" @@ -1571,7 +1858,7 @@ msgstr "kunde inte öppna versionsfil \"%s\": %m" msgid "could not parse version file \"%s\"" msgstr "kunde inte tolka versionsfil \"%s\"" -#: server.c:288 +#: server.c:310 #, c-format msgid "" "\n" @@ -1580,7 +1867,7 @@ msgstr "" "\n" "%s" -#: server.c:292 +#: server.c:314 #, c-format msgid "" "could not connect to source postmaster started with the command:\n" @@ -1589,7 +1876,7 @@ msgstr "" "kunde inte ansluta till käll-postmaster som startats med kommandot:\n" "%s" -#: server.c:296 +#: server.c:318 #, c-format msgid "" "could not connect to target postmaster started with the command:\n" @@ -1598,22 +1885,22 @@ msgstr "" "kunde inte ansluta till mål-postmaster som startats med kommandot:\n" "%s" -#: server.c:310 +#: server.c:332 #, c-format msgid "pg_ctl failed to start the source server, or connection failed" msgstr "pg_ctl misslyckades att start källservern eller så misslyckades anslutningen" -#: server.c:312 +#: server.c:334 #, c-format msgid "pg_ctl failed to start the target server, or connection failed" msgstr "pg_ctl misslyckades att start målservern eller så misslyckades anslutningen" -#: server.c:357 +#: server.c:379 #, c-format msgid "out of memory" msgstr "slut på minne" -#: server.c:370 +#: server.c:392 #, c-format msgid "libpq environment variable %s has a non-local server value: %s" msgstr "libpq:s omgivningsvariabel %s har ett icke-lokalt servervärde: %s" @@ -1634,8 +1921,8 @@ msgstr "tablespace-katalogen \"%s\" finns inte" #: tablespace.c:87 #, c-format -msgid "could not stat tablespace directory \"%s\": %s" -msgstr "kunde inte göra stat på tablespace-katalog \"%s\": %s" +msgid "could not stat tablespace directory \"%s\": %m" +msgstr "kunde inte göra stat på tablespace-katalog \"%s\": %m" #: tablespace.c:92 #, c-format @@ -1657,63 +1944,17 @@ msgstr "kunde inte komma åt katalog \"%s\": %m" msgid "ok" msgstr "ok" -# FIXME: is this msgid correct? -#: version.c:184 -#, c-format -msgid "Checking for incompatible \"line\" data type" -msgstr "Letar efter inkompatibel \"line\"-datatyp" - -#: version.c:193 -#, c-format -msgid "" -"Your installation contains the \"line\" data type in user tables.\n" -"This data type changed its internal and input/output format\n" -"between your old and new versions so this\n" -"cluster cannot currently be upgraded. You can\n" -"drop the problem columns and restart the upgrade.\n" -"A list of the problem columns is in the file:\n" -" %s" -msgstr "" -"Din installation innehåller datatypen \"line\" i användartabeller. Denna\n" -"datatype har ändrat sitt interna format samt sitt in/ut-format mellan din\n" -"gamla och nya version så detta kluster kan för närvarande inte uppgraderas.\n" -"Du kan radera problemkolumnerna och återstarta uppgraderingen.\n" -"En lista med problemkolumner finns i filen:\n" -" %s" - -#: version.c:224 -#, c-format -msgid "Checking for invalid \"unknown\" user columns" -msgstr "Letar efter ogiltiga användarkolumner av typen \"unknown\"" - -#: version.c:233 -#, c-format -msgid "" -"Your installation contains the \"unknown\" data type in user tables.\n" -"This data type is no longer allowed in tables, so this\n" -"cluster cannot currently be upgraded. You can\n" -"drop the problem columns and restart the upgrade.\n" -"A list of the problem columns is in the file:\n" -" %s" -msgstr "" -"Din installation innehåller datatypen \"unknown\" i användartabeller.\n" -"Denna datatyp tillåts inte längre i tabeller så detta kluster kan\n" -"för närvarande inte uppgraderas. Du kan radera problemkolumnerna och\n" -"återstarta uppgraderingen.\n" -"En lista med problemkolumner finns i filen:\n" -" %s" - -#: version.c:257 +#: version.c:44 #, c-format msgid "Checking for hash indexes" msgstr "Letar efter hash-index" -#: version.c:335 +#: version.c:121 #, c-format msgid "warning" msgstr "varning" -#: version.c:337 +#: version.c:123 #, c-format msgid "" "\n" @@ -1728,7 +1969,7 @@ msgstr "" "kommandot REINDEX. Efter uppgraderingen så kommer du få\n" "REINDEX-instruktioner." -#: version.c:343 +#: version.c:129 #, c-format msgid "" "\n" @@ -1747,39 +1988,17 @@ msgstr "" "kan köras med psql av databasens superuser och kommer återskapa alla\n" "ogiltiga index; innan dess så kommer inget av dess index användas." -#: version.c:369 -#, c-format -msgid "Checking for invalid \"sql_identifier\" user columns" -msgstr "Letar efter ogiltiga användarkolumner av typen \"sql_identifier\"" - -#: version.c:379 -#, c-format -msgid "" -"Your installation contains the \"sql_identifier\" data type in user tables.\n" -"The on-disk format for this data type has changed, so this\n" -"cluster cannot currently be upgraded. You can\n" -"drop the problem columns and restart the upgrade.\n" -"A list of the problem columns is in the file:\n" -" %s" -msgstr "" -"Din installation innehåller datatypen \"sql_identifier\" i användartabeller.\n" -"Formatet på disk för denna datatyp har ändrats så detta kluster kan för\n" -"närvarande inte uppgraderas. Du kan radera problemkolumnerna och\n" -"återstarta uppgraderingen.\n" -"En lista med problemkolumner finns i filen:\n" -" %s" - -#: version.c:402 +#: version.c:153 #, c-format msgid "Checking for extension updates" msgstr "Letar efter uppdatering av utökningar" -#: version.c:450 +#: version.c:200 #, c-format msgid "notice" msgstr "notis" -#: version.c:451 +#: version.c:201 #, c-format msgid "" "\n" @@ -1795,99 +2014,3 @@ msgstr "" " %s\n" "kan köras med psql av databasens superuser och kommer uppdatera\n" "dessa utökningar." - -#, c-format -#~ msgid "" -#~ "\n" -#~ "\n" -#~ msgstr "" -#~ "\n" -#~ "\n" - -#, c-format -#~ msgid "%-*s\n" -#~ msgstr "%-*s\n" - -#, c-format -#~ msgid "%s\n" -#~ msgstr "%s\n" - -#, c-format -#~ msgid "%s() failed: %s\n" -#~ msgstr "%s() misslyckades: %s\n" - -#, c-format -#~ msgid "ICU locale values for database \"%s\" do not match: old \"%s\", new \"%s\"\n" -#~ msgstr "inställning av ICU-lokal för databasen \"%s\" matchar inte: gammal \"%s\", ny \"%s\"\n" - -#, c-format -#~ msgid "The source cluster contains roles starting with \"pg_\"\n" -#~ msgstr "Källklustret innehåller roller som startar med \"pg_\"\n" - -#, c-format -#~ msgid "The target cluster contains roles starting with \"pg_\"\n" -#~ msgstr "Målklustret innehåller roller som startar med \"pg_\"\n" - -#, c-format -#~ msgid "Unable to rename %s to %s.\n" -#~ msgstr "Kan inte byta namn på %s till %s.\n" - -#, c-format -#~ msgid "check for \"%s\" failed: cannot execute (permission denied)\n" -#~ msgstr "kontroll av \"%s\" misslyckades: kan inte exekvera (rättighet saknas)\n" - -#, c-format -#~ msgid "check for \"%s\" failed: not a regular file\n" -#~ msgstr "kontroll av \"%s\" misslyckades: inte en vanlig fil\n" - -#, c-format -#~ msgid "could not access directory \"%s\": %m\n" -#~ msgstr "kunde inte komma åt katalog \"%s\": %m\n" - -#, c-format -#~ msgid "could not create directory \"%s\": %m\n" -#~ msgstr "kunde inte skapa katalog \"%s\": %m\n" - -#, c-format -#~ msgid "could not open file \"%s\": %s\n" -#~ msgstr "kan inte öppna fil \"%s\": %s\n" - -#, c-format -#~ msgid "could not open log file \"%s\": %m\n" -#~ msgstr "kunde inte öppna loggfil \"%s\": %m\n" - -#, c-format -#~ msgid "encodings for database \"%s\" do not match: old \"%s\", new \"%s\"\n" -#~ msgstr "kodning för databasen \"%s\" matchar inte: gammal \"%s\", ny \"%s\"\n" - -#, c-format -#~ msgid "failed to get system locale name for \"%s\"\n" -#~ msgstr "misslyckades med att hämta systemlokalnamn för \"%s\"\n" - -#, c-format -#~ msgid "failed to get the current locale\n" -#~ msgstr "misslyckades med att hämta aktuell lokal\n" - -#, c-format -#~ msgid "failed to restore old locale \"%s\"\n" -#~ msgstr "misslyckades med att återställa gamla lokalen \"%s\"\n" - -#, c-format -#~ msgid "lc_collate values for database \"%s\" do not match: old \"%s\", new \"%s\"\n" -#~ msgstr "lc_collate-värden för databasen \"%s\" matchar inte: gammal \"%s\", ny \"%s\"\n" - -#, c-format -#~ msgid "lc_ctype values for database \"%s\" do not match: old \"%s\", new \"%s\"\n" -#~ msgstr "lc_ctype-värden för databasen \"%s\" matchar inte: gammal \"%s\", ny \"%s\"\n" - -#, c-format -#~ msgid "locale providers for database \"%s\" do not match: old \"%s\", new \"%s\"\n" -#~ msgstr "localleverantörer för databasen \"%s\" matchar inte: gammal \"%s\", ny \"%s\"\n" - -#, c-format -#~ msgid "out of memory\n" -#~ msgstr "slut på minne\n" - -#, c-format -#~ msgid "too many command-line arguments (first is \"%s\")\n" -#~ msgstr "för många kommandoradsargument (första är \"%s\")\n" diff --git a/src/bin/pg_upgrade/po/uk.po b/src/bin/pg_upgrade/po/uk.po index dc300e50bc4..4a0ec9a1eda 100644 --- a/src/bin/pg_upgrade/po/uk.po +++ b/src/bin/pg_upgrade/po/uk.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: postgresql\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2021-08-17 08:46+0000\n" -"PO-Revision-Date: 2021-08-17 11:18\n" +"POT-Creation-Date: 2024-08-31 06:20+0000\n" +"PO-Revision-Date: 2024-09-23 19:38\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -14,229 +14,425 @@ msgstr "" "X-Crowdin-Project: postgresql\n" "X-Crowdin-Project-ID: 324573\n" "X-Crowdin-Language: uk\n" -"X-Crowdin-File: /REL_14_DEV/pg_upgrade.pot\n" -"X-Crowdin-File-ID: 778\n" +"X-Crowdin-File: /REL_17_STABLE/pg_upgrade.pot\n" +"X-Crowdin-File-ID: 1028\n" -#: check.c:70 +#: ../../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 "неможливо дублювати нульовий покажчик (внутрішня помилка)\n" + +#: ../../common/restricted_token.c:168 +#, c-format +msgid "could not get exit code from subprocess: error code %lu" +msgstr "не вдалося отримати код завершення підпроцесу: код помилки %lu" + +#: ../../common/username.c:43 +#, c-format +msgid "could not look up effective user ID %ld: %s" +msgstr "не можу знайти користувача з ефективним ID %ld: %s" + +#: ../../common/username.c:45 +msgid "user does not exist" +msgstr "користувача не існує" + +#: ../../common/username.c:60 +#, c-format +msgid "user name lookup failure: error code %lu" +msgstr "невдала підстановка імені користувача: код помилки %lu" + +#: ../../fe_utils/string_utils.c:434 +#, c-format +msgid "shell command argument contains a newline or carriage return: \"%s\"\n" +msgstr "аргумент командної оболонки містить символ нового рядка або повернення каретки: \"%s\"\n" + +#: ../../fe_utils/string_utils.c:607 +#, c-format +msgid "database name contains a newline or carriage return: \"%s\"\n" +msgstr "назва бази даних містить символ нового рядка або повернення каретки: \"%s\"\n" + +#: check.c:111 +msgid "Checking for system-defined composite types in user tables" +msgstr "Перевірка складених типів визначених системою у таблицях користувача" + +#: check.c:118 +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" +"problem columns and restart the upgrade.\n" +msgstr "Ваша інсталяція містить системно визначені складені типи у таблицях користувачів.\n" +"OID цих типів не стабільні між версіями PostgreSQL, тому цей кластер наразі не може бути оновлений.\n" +"Ви можете видалити проблемні стовпці та перезапустити оновлення.\n" + +#: check.c:132 +msgid "Checking for incompatible \"line\" data type" +msgstr "Перевірка несумісного типу даних \"line\"" + +#: check.c:137 +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" +"cluster cannot currently be upgraded. You can\n" +"drop the problem columns and restart the upgrade.\n" +msgstr "Ваша інсталяція містить тип даних \"line\" в таблицях користувача.\n" +"Внутрішній формат та формат вводу/виводу цього типу даних змінено між вашою старою та новими версіями,\n" +"тому цей кластер наразі не може бути оновлений.\n" +"Ви можете видалити проблемні стовпці та перезапустити оновлення.\n" + +#: check.c:154 +msgid "Checking for reg* data types in user tables" +msgstr "Перевірка типів даних reg* в користувацьких таблицях" + +#: check.c:181 +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" +"drop the problem columns and restart the upgrade.\n" +msgstr "Ваша інсталяція містить один з типів даних reg* у таблицях користувача.\n" +"Ці типи даних посилаються на OID системи, які не зберігаються за допомогою pg_upgrade, тому цей кластер наразі не може бути оновлений.\n" +"Ви можете видалити проблемні стовпці та перезапустити оновлення.\n" + +#: check.c:193 +msgid "Checking for incompatible \"aclitem\" data type" +msgstr "Перевірка несумісного типу даних \"aclitem\"" + +#: check.c:198 +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" +"problem columns and restart the upgrade.\n" +msgstr "Ваша інсталяція містить тип даних \"aclitem\" у таблицях користувача. Внутрішній формат \"aclitem\" змінено під час версії 16,\n" +"тому цей кластер наразі не може бути оновлений.\n" +"Ви можете видалити проблемні стовпці та перезапустити оновлення.\n" + +#: check.c:217 +msgid "Checking for invalid \"unknown\" user columns" +msgstr "Перевірка неприпустимих користувацьких стовпців \"unknown\"" + +#: check.c:222 +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" +"and restart the upgrade.\n" +msgstr "Ваша інсталяція містить \"unknown\" тип даних у таблицях користувача.\n" +"Цей тип даних більше не допускається в таблицях,\n" +"тому цей кластер наразі не може бути оновлений.\n" +"Ви можете видалити проблемні стовпці та перезапустити оновлення.\n" + +#: check.c:239 +msgid "Checking for invalid \"sql_identifier\" user columns" +msgstr "Перевірка неприпустимих користувацьких стовпців \"sql_identifier\"" + +#: check.c:244 +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" +"columns and restart the upgrade.\n" +msgstr "Ваша інсталяція містить \"sql_identifier\" тип даних у таблицях користувача.\n" +"Формат зберігання для цього типу даних змінено,\n" +"тому цей кластер наразі не може бути оновлений.\n" +"Ви можете видалити проблемні стовпці та перезапустити оновлення.\n" + +#: check.c:255 +msgid "Checking for incompatible \"jsonb\" data type in user tables" +msgstr "Перевірка несумісного типу даних \"jsonb\" в користувацьких таблицях" + +#: check.c:260 +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" +"columns and restart the upgrade.\n" +msgstr "Ваша інсталяція містить тип даних \"jsonb\" у таблицях користувача.\n" +"Внутрішній формат \"jsonb\" змінено під час версії 9.4 beta,\n" +"тому цей кластер наразі не може бути оновлений.\n" +"Ви можете видалити проблемні стовпці та перезапустити оновлення.\n" + +#: check.c:272 +msgid "Checking for removed \"abstime\" data type in user tables" +msgstr "Перевірка видаленого типу даних \"abstime\" в користувацьких таблицях" + +#: check.c:277 +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" +"problem columns, or change them to another data type, and restart\n" +"the upgrade.\n" +msgstr "Користувацькі таблиці у вашій інсталяції містять тип даних \"abstime\".\n" +"Тип \"abstime\" був видалений з версії PostgreSQL 12, тому цей кластер \n" +"наразі не може бути оновлений. Ви можете видалите проблемні \n" +"стовпці або змінити їх на інший тип даних, і перезапустити\n" +"оновлення.\n" + +#: check.c:285 +msgid "Checking for removed \"reltime\" data type in user tables" +msgstr "Перевірка видаленого типу даних \"reltime\" в користувацьких таблицях" + +#: check.c:290 +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" +"problem columns, or change them to another data type, and restart\n" +"the upgrade.\n" +msgstr "Користувацькі таблиці у вашій інсталяції містять тип даних \"reltime\".\n" +"Тип \"reltime\" був видалений з версії PostgreSQL 12, тому цей кластер \n" +"наразі не може бути оновлений. Ви можете видалите проблемні \n" +"стовпці або змінити їх на інший тип даних, і перезапустити\n" +"оновлення.\n" + +#: check.c:298 +msgid "Checking for removed \"tinterval\" data type in user tables" +msgstr "Перевірка видаленого типу даних \"tinterval\" в користувацьких таблицях" + +#: check.c:303 +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" +"problem columns, or change them to another data type, and restart\n" +"the upgrade.\n" +msgstr "Користувацькі таблиці у вашій інсталяції містять тип даних \"tinterval\".\n" +"Тип \"tinterval\" був видалений з версії PostgreSQL 12, тому цей кластер \n" +"наразі не може бути оновлений. Ви можете видалите проблемні \n" +"стовпці або змінити їх на інший тип даних, і перезапустити\n" +"оновлення.\n" + +#: check.c:345 +#, c-format +msgid "Checking data type usage" +msgstr "Перевірка використання типів даних" + +#: check.c:480 +#, c-format +msgid " failed check: %s" +msgstr " помилка перевірки: %s" + +#: check.c:483 +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 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "не можливо відкрити файл \"%s\": %m" + +#: check.c:522 +#, c-format +msgid "Data type checks failed: %s" +msgstr "Помилка перевірки типів даних: %s" + +#: check.c:563 #, c-format msgid "Performing Consistency Checks on Old Live Server\n" -"------------------------------------------------\n" +"------------------------------------------------" msgstr "Перевірка цілістності на старому працюючому сервері\n" -"------------------------------------------------\n" +"------------------------------------------------" -#: check.c:76 +#: check.c:569 #, c-format msgid "Performing Consistency Checks\n" -"-----------------------------\n" +"-----------------------------" msgstr "Проведення перевірок цілістності\n" -"-----------------------------\n" +"-----------------------------" -#: check.c:213 +#: check.c:718 #, c-format msgid "\n" -"*Clusters are compatible*\n" +"*Clusters are compatible*" msgstr "\n" -"*Кластери сумісні*\n" +"*Кластери сумісні*" -#: check.c:219 +#: check.c:726 #, c-format msgid "\n" "If pg_upgrade fails after this point, you must re-initdb the\n" -"new cluster before continuing.\n" +"new cluster before continuing." msgstr "\n" "Якщо робота pg_upgrade після цієї точки перерветься, вам потрібно буде заново виконати initdb \n" -"для нового кластера, перед продовженням.\n" +"для нового кластера, перед продовженням." -#: check.c:264 +#: check.c:767 #, c-format msgid "Optimizer statistics are not transferred by pg_upgrade.\n" "Once you start the new server, consider running:\n" -" %s/vacuumdb %s--all --analyze-in-stages\n\n" +" %s/vacuumdb %s--all --analyze-in-stages" msgstr "Статистика оптимізатора не передається за допомогою pg_upgrade.\n" -"Після запуску нового серверу, розгляньте можливість запуску:\n" -" %s/vacuumdb %s--all --analyze-in-stages\n\n" +"Після запуску нового серверу розгляньте можливість запуску:\n" +" %s/vacuumdb %s--all --analyze-in-stages" -#: check.c:270 +#: check.c:773 #, c-format msgid "Running this script will delete the old cluster's data files:\n" -" %s\n" +" %s" msgstr "При запуску цього скрипту файли даних старого кластера будуть видалені:\n" -" %s\n" +" %s" -#: check.c:275 +#: check.c:778 #, 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" "exist in the old cluster directory. The old cluster's contents must\n" -"be deleted manually.\n" +"be deleted manually." msgstr "Не вдалося створити скрипт для видалення файлів даних старого кластеру,\n" "тому що каталог даних старого кластера містить користувацькі табличні\n" "простори або каталог даних нового кластера. Вміст старого кластера\n" -"треба буде видалити вручну.\n" +"треба буде видалити вручну." -#: check.c:287 +#: check.c:790 #, c-format msgid "Checking cluster versions" msgstr "Перевірка версій кластерів" -#: check.c:299 -#, c-format -msgid "This utility can only upgrade from PostgreSQL version 8.4 and later.\n" -msgstr "Ця утиліта може виконувати оновлення тільки з версії PostgreSQL 8.4 і новіше.\n" - -#: check.c:303 +#: check.c:802 #, c-format -msgid "This utility can only upgrade to PostgreSQL version %s.\n" -msgstr "Ця утиліта може тільки підвищувати версію PostgreSQL до %s.\n" +msgid "This utility can only upgrade from PostgreSQL version %s and later." +msgstr "Ця утиліта може виконувати оновлення тільки з версії PostgreSQL %s і новіше." -#: check.c:312 +#: check.c:807 #, c-format -msgid "This utility cannot be used to downgrade to older major PostgreSQL versions.\n" -msgstr "Ця утиліта не може не може використовуватись щоб понижувати версію до більш старих основних версій PostgreSQL.\n" +msgid "This utility can only upgrade to PostgreSQL version %s." +msgstr "Ця утиліта може тільки підвищувати версію PostgreSQL до версії %s." -#: check.c:317 +#: check.c:816 #, c-format -msgid "Old cluster data and binary directories are from different major versions.\n" -msgstr "Каталог даних і двійковий каталог старого кластера з різних основних версій.\n" +msgid "This utility cannot be used to downgrade to older major PostgreSQL versions." +msgstr "Ця утиліта не може використовуватись для пониження версії до більш старих основних версій PostgreSQL." -#: check.c:320 +#: check.c:821 #, c-format -msgid "New cluster data and binary directories are from different major versions.\n" -msgstr "Каталог даних і двійковий каталог нового кластера з різних основних версій.\n" +msgid "Old cluster data and binary directories are from different major versions." +msgstr "Каталог даних і двійковий каталог старого кластера з різних основних версій." -#: check.c:337 +#: check.c:824 #, c-format -msgid "When checking a pre-PG 9.1 live old server, you must specify the old server's port number.\n" -msgstr "Для перевірки старого працюючого сервера до версії 9.1, вам необхідно вказати номер порта цього сервера.\n" +msgid "New cluster data and binary directories are from different major versions." +msgstr "Каталог даних нового кластера і двійковий каталог з різних основних версій." -#: check.c:341 +#: check.c:839 #, c-format -msgid "When checking a live server, the old and new port numbers must be different.\n" -msgstr "Для перевірки працюючого сервера, старий і новий номер порта повинні бути різними.\n" +msgid "When checking a live server, the old and new port numbers must be different." +msgstr "Для перевірки працюючого сервера, старий і новий номер порта повинні бути різними." -#: check.c:356 +#: check.c:859 #, c-format -msgid "encodings for database \"%s\" do not match: old \"%s\", new \"%s\"\n" -msgstr "кодування для бази даних \"%s\" не збігаються: старе \"%s\", нове \"%s\"\n" +msgid "New cluster database \"%s\" is not empty: found relation \"%s.%s\"" +msgstr "Новий кластер бази даних \"%s\" не порожній: знайдено відношення \"%s.%s\"" -#: check.c:361 -#, c-format -msgid "lc_collate values for database \"%s\" do not match: old \"%s\", new \"%s\"\n" -msgstr "значення lc_collate для бази даних \"%s\" не збігаються: старе \"%s\", нове \"%s\"\n" - -#: check.c:364 -#, c-format -msgid "lc_ctype values for database \"%s\" do not match: old \"%s\", new \"%s\"\n" -msgstr "значення lc_ctype для бази даних \"%s\" не збігаються: старе \"%s\", нове \"%s\"\n" - -#: check.c:437 -#, c-format -msgid "New cluster database \"%s\" is not empty: found relation \"%s.%s\"\n" -msgstr "Новий кластер бази даних \"%s\" не порожній: знайдено відношення \"%s.%s\"\n" - -#: check.c:494 +#: check.c:882 #, c-format msgid "Checking for new cluster tablespace directories" msgstr "Перевірка каталогів табличних просторів кластера" -#: check.c:505 +#: check.c:893 #, c-format -msgid "new cluster tablespace directory already exists: \"%s\"\n" -msgstr "каталог нового кластерного табличного простору вже існує: \"%s\"\n" +msgid "new cluster tablespace directory already exists: \"%s\"" +msgstr "каталог нового кластерного табличного простору вже існує: \"%s\"" -#: check.c:538 +#: check.c:926 #, c-format msgid "\n" -"WARNING: new data directory should not be inside the old data directory, e.g. %s\n" +"WARNING: new data directory should not be inside the old data directory, i.e. %s" msgstr "\n" -"ПОПЕРЕДЖЕННЯ: новий каталог даних не повинен бути всередині старого каталогу даних, наприклад %s\n" +"ПОПЕРЕДЖЕННЯ: новий каталог даних не повинен бути всередині старого каталогу даних, наприклад %s" -#: check.c:562 +#: check.c:950 #, c-format msgid "\n" -"WARNING: user-defined tablespace locations should not be inside the data directory, e.g. %s\n" +"WARNING: user-defined tablespace locations should not be inside the data directory, i.e. %s" msgstr "\n" -"ПОПЕРЕДЖЕННЯ: користувацькі розташування табличних просторів не повинні бути всередині каталогу даних, наприклад %s\n" +"ПОПЕРЕДЖЕННЯ: користувацькі розташування табличних просторів не повинні бути всередині каталогу даних, наприклад %s" -#: check.c:572 +#: check.c:960 #, c-format msgid "Creating script to delete old cluster" msgstr "Створення скрипту для видалення старого кластеру" -#: check.c:575 check.c:839 check.c:937 check.c:1016 check.c:1278 file.c:336 -#: function.c:240 option.c:497 version.c:54 version.c:204 version.c:376 -#: version.c:511 -#, c-format -msgid "could not open file \"%s\": %s\n" -msgstr "не вдалося відкрити файл \"%s\": %s\n" - -#: check.c:631 +#: check.c:1014 #, c-format -msgid "could not add execute permission to file \"%s\": %s\n" -msgstr "не вдалося додати право виконання для файлу \"%s\": %s\n" +msgid "could not add execute permission to file \"%s\": %m" +msgstr "не вдалося додати право виконання для файлу \"%s\": %m" -#: check.c:651 +#: check.c:1034 #, c-format msgid "Checking database user is the install user" msgstr "Перевірка, чи є користувач бази даних стартовим користувачем" -#: check.c:667 +#: check.c:1050 #, c-format -msgid "database user \"%s\" is not the install user\n" -msgstr "користувач бази даних \"%s\" не є стартовим користувачем\n" +msgid "database user \"%s\" is not the install user" +msgstr "користувач бази даних \"%s\" не є стартовим користувачем" -#: check.c:678 +#: check.c:1061 #, c-format -msgid "could not determine the number of users\n" -msgstr "не вдалося визначити кількість користувачів\n" +msgid "could not determine the number of users" +msgstr "не вдалося визначити кількість користувачів" -#: check.c:686 +#: check.c:1069 #, c-format -msgid "Only the install user can be defined in the new cluster.\n" -msgstr "В новому кластері може бути визначеним тільки стартовий користувач.\n" +msgid "Only the install user can be defined in the new cluster." +msgstr "В новому кластері може бути визначеним тільки стартовий користувач." -#: check.c:706 +#: check.c:1098 #, c-format msgid "Checking database connection settings" msgstr "Перевірка параметрів підключення до бази даних" -#: check.c:728 +#: check.c:1124 +#, 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 #, c-format -msgid "template0 must not allow connections, i.e. its pg_database.datallowconn must be false\n" -msgstr "template0 не повинна дозволяти підключення, тобто pg_database.datallowconn повинно бути false\n" +msgid "fatal" +msgstr "збій" -#: check.c:738 +#: check.c:1151 #, c-format -msgid "All non-template0 databases must allow connections, i.e. their pg_database.datallowconn must be true\n" -msgstr "Всі бази даних, окрім template0, повинні дозволяти підключення, тобто pg_database.datallowconn повинно бути true\n" +msgid "All non-template0 databases must allow connections, i.e. their\n" +"pg_database.datallowconn must be true. Your installation contains\n" +"non-template0 databases with their pg_database.datallowconn set to\n" +"false. Consider allowing connection for all non-template0 databases\n" +"or drop the databases which do not allow connections. A list of\n" +"databases with the problem is in the file:\n" +" %s" +msgstr "Всі бази даних, окрім template0, повинні дозволяти підключення, тобто\n" +"pg_database.datallowconn повинно бути true. Ваша інсталяція містить\n" +"бази даних окрім template0 значення pg_database.datallowconn яких дорівнює \n" +"false. Розгляньте можливість надати дозвіл на з’єднання для всіх баз даних, \n" +"які не є шаблоном, або видалити баз даних, які не дозволяють з’єднання. \n" +"Список баз даних з проблемою знаходиться у файлі:\n" +" %s" -#: check.c:763 +#: check.c:1176 #, c-format msgid "Checking for prepared transactions" msgstr "Перевірка підготовлених транзакцій" -#: check.c:772 +#: check.c:1185 #, c-format -msgid "The source cluster contains prepared transactions\n" -msgstr "Початковий кластер містить підготовлені транзакції\n" +msgid "The source cluster contains prepared transactions" +msgstr "Початковий кластер містить підготовлені транзакції" -#: check.c:774 +#: check.c:1187 #, c-format -msgid "The target cluster contains prepared transactions\n" -msgstr "Цільовий кластер містить підготовлені транзакції\n" +msgid "The target cluster contains prepared transactions" +msgstr "Цільовий кластер містить підготовлені транзакції" -#: check.c:800 +#: check.c:1212 #, c-format msgid "Checking for contrib/isn with bigint-passing mismatch" msgstr "Перевірка невідповідності при передаванні bigint в contrib/isn" -#: check.c:861 check.c:962 check.c:1038 check.c:1095 check.c:1154 check.c:1183 -#: check.c:1301 function.c:262 version.c:278 version.c:316 version.c:460 -#, c-format -msgid "fatal\n" -msgstr "збій\n" - -#: check.c:862 +#: check.c:1271 #, 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" @@ -244,909 +440,932 @@ msgid "Your installation contains \"contrib/isn\" functions which rely on the\n" "manually dump databases in the old cluster that use \"contrib/isn\"\n" "facilities, drop them, perform the upgrade, and then restore them. A\n" "list of the problem functions is in the file:\n" -" %s\n\n" +" %s" msgstr "Ваша інсталяція містить функції \"contrib/isn\", що використовують тип даних bigint. Старі та нові кластери передають значення bigint по-різному, тому цей кластер наразі неможливо оновити. Ви можете вручну вивантажити бази даних зі старого кластеру, що використовує засоби \"contrib/isn\", видалити їх, виконати оновлення, а потім відновити їх. Список проблемних функцій подано у файлі:\n" -" %s\n\n" +" %s" -#: check.c:885 +#: check.c:1293 #, c-format msgid "Checking for user-defined postfix operators" msgstr "Перевірка постфіксних операторів визначених користувачем" -#: check.c:963 +#: check.c:1368 #, c-format msgid "Your installation contains user-defined postfix operators, which are not\n" "supported anymore. Consider dropping the postfix operators and replacing\n" "them with prefix operators or function calls.\n" "A list of user-defined postfix operators is in the file:\n" -" %s\n\n" +" %s" msgstr "Ваша інсталяція містить користувацькі постфіксні оператори, що більше не підтримуються.\n" "Розгляньте можливість видалення постфіксних операторів та заміни їх на префіксні оператори або виклики функцій.\n" "Список користувацьких постфіксних операторів знаходиться у файлі:\n" -" %s\n\n" +" %s" -#: check.c:984 +#: check.c:1392 +#, c-format +msgid "Checking for incompatible polymorphic functions" +msgstr "Перевірка несумісних поліморфних функцій" + +#: check.c:1493 +#, c-format +msgid "Your installation contains user-defined objects that refer to internal\n" +"polymorphic functions with arguments of type \"anyarray\" or \"anyelement\".\n" +"These user-defined objects must be dropped before upgrading and restored\n" +"afterwards, changing them to refer to the new corresponding functions with\n" +"arguments of type \"anycompatiblearray\" and \"anycompatible\".\n" +"A list of the problematic objects is in the file:\n" +" %s" +msgstr "У вашій інсталяції містяться користувацькі об'єкти, які посилаються на внутрішні\n" +"поліморфні функції з аргументами типу \"anyarray\" або \"anyelement\".\n" +"Ці користувацькі об'єкти повинні бути видалені перед оновленням і відновлені\n" +"після цього, змінивши їх посилання на нові відповідні функції з\n" +"аргументами типу \"anycompatiblearray\" і \"anycompatible\".\n" +"Список проблемних об'єктів знаходиться у файлі:\n" +" %s" + +#: check.c:1517 #, c-format msgid "Checking for tables WITH OIDS" msgstr "Перевірка таблиць WITH OIDS" -#: check.c:1039 +#: check.c:1569 #, c-format msgid "Your installation contains tables declared WITH OIDS, which is not\n" "supported anymore. Consider removing the oid column using\n" " ALTER TABLE ... SET WITHOUT OIDS;\n" "A list of tables with the problem is in the file:\n" -" %s\n\n" +" %s" msgstr "Ваша інсталяція містить таблиці, створені як WITH OIDS, що більше не підтримуються. Розгляньте видалення стовпців, що містять oid за допомогою\n" " ALTER TABLE ... SET WITHOUT OIDS;\n" "Список проблемних таблиць подано у файлі:\n" -" %s\n\n" - -#: check.c:1067 -#, c-format -msgid "Checking for system-defined composite types in user tables" -msgstr "Перевірка складених типів визначених системою у таблицях користувача" - -#: check.c:1096 -#, c-format -msgid "Your installation contains system-defined composite type(s) in user tables.\n" -"These type OIDs are not stable across PostgreSQL versions,\n" -"so this cluster cannot currently be upgraded. You can\n" -"drop the problem columns and restart the upgrade.\n" -"A list of the problem columns is in the file:\n" -" %s\n\n" -msgstr "Ваша інсталяція містить складені типи визначені системою у таблицях користувача.\n" -"Ці типи OID не стабільні між версіями PostgreSQL, тому цей кластер наразі не може бути оновлений.\n" -"Ви можете видалити проблемні стовпці та перезапустити оновлення.\n" -"Список проблемних стовпців знаходиться у файлі:\n" -" %s\n\n" - -#: check.c:1124 -#, c-format -msgid "Checking for reg* data types in user tables" -msgstr "Перевірка типів даних reg* в користувацьких таблицях" +" %s" -#: check.c:1155 -#, c-format -msgid "Your installation contains one of the reg* data types in user tables.\n" -"These data types reference system OIDs that are not preserved by\n" -"pg_upgrade, so this cluster cannot currently be upgraded. You can\n" -"drop the problem columns and restart the upgrade.\n" -"A list of the problem columns is in the file:\n" -" %s\n\n" -msgstr "Ваша інсталяція містить один з типів даних reg* у таблицях користувача.\n" -"Ці типи даних посилаються на OID системи, які не зберігаються за допомогою pg_upgrade, тому цей кластер наразі не може бути оновлений.\n" -"Ви можете видалити проблемні стовпці та перезапустити оновлення.\n" -"Список проблемних стовпців знаходиться у файлі:\n" -" %s\n\n" - -#: check.c:1177 -#, c-format -msgid "Checking for incompatible \"jsonb\" data type" -msgstr "Перевірка несумісного типу даних \"jsonb\"" - -#: check.c:1184 -#, c-format -msgid "Your installation contains the \"jsonb\" data type in user tables.\n" -"The internal format of \"jsonb\" changed during 9.4 beta so this\n" -"cluster cannot currently be upgraded. You can\n" -"drop the problem columns and restart the upgrade.\n" -"A list of the problem columns is in the file:\n" -" %s\n\n" -msgstr "Ваша інсталяція містить тип даних \"jsonb\" у таблицях користувача.\n" -"Внутрішній формат \"jsonb\" змінено під час версії 9.4 beta,\n" -"тому цей кластер наразі не може бути оновлений.\n" -"Ви можете видалити проблемні стовпці та перезапустити оновлення.\n" -"Список проблемних стовпців знаходиться у файлі:\n" -" %s\n\n" - -#: check.c:1206 +#: check.c:1596 #, c-format msgid "Checking for roles starting with \"pg_\"" msgstr "Перевірка ролей, які починаються з \"pg_\"" -#: check.c:1216 +#: check.c:1627 #, c-format -msgid "The source cluster contains roles starting with \"pg_\"\n" -msgstr "Початковий кластер містить ролі, які починаються з \"pg_\"\n" +msgid "Your installation contains roles starting with \"pg_\".\n" +"\"pg_\" is a reserved prefix for system roles. The cluster\n" +"cannot be upgraded until these roles are renamed.\n" +"A list of roles starting with \"pg_\" is in the file:\n" +" %s" +msgstr "Ваша інсталяція містить ролі, які починаються з \"pg_\".\n" +"\"pg_\" є зарезервованим префіксом для системних ролей. Кластер\n" +"не може бути оновлений, поки ці ролі не будуть перейменовані.\n" +"Список ролей, які починаються з \"pg_\" у файлі:\n" +" %s" -#: check.c:1218 -#, c-format -msgid "The target cluster contains roles starting with \"pg_\"\n" -msgstr "Цільовий кластер містить ролі, які починаються з \"pg_\"\n" - -#: check.c:1239 +#: check.c:1647 #, c-format msgid "Checking for user-defined encoding conversions" msgstr "Перевірка користувацьких перетворення кодувань" -#: check.c:1302 +#: check.c:1707 #, c-format msgid "Your installation contains user-defined encoding conversions.\n" "The conversion function parameters changed in PostgreSQL version 14\n" "so this cluster cannot currently be upgraded. You can remove the\n" "encoding conversions in the old cluster and restart the upgrade.\n" "A list of user-defined encoding conversions is in the file:\n" -" %s\n\n" +" %s" msgstr "Ваша інсталяція містить користувацькі перетворення кодувань.\n" "Параметри функції перетворення змінено у версії PostgreSQL 14,\n" "тому цей кластер наразі не може бути оновлений.\n" "Ви можете видалити перетворення кодувань в старому кластері та перезапустити оновлення.\n" "Список перетворень кодувань знаходиться у файлі:\n" -" %s\n\n" +" %s" -#: check.c:1329 +#: check.c:1746 #, c-format -msgid "failed to get the current locale\n" -msgstr "не вдалося отримати поточну локаль\n" +msgid "Checking for new cluster logical replication slots" +msgstr "Перевірка наявності нових слотів логічної реплікації кластера" -#: check.c:1338 +#: check.c:1754 #, c-format -msgid "failed to get system locale name for \"%s\"\n" -msgstr "не вдалося отримати системне ім'я локалі для \"%s\"\n" +msgid "could not count the number of logical replication slots" +msgstr "не вдалося порахувати кількість слотів логічної реплікації" -#: check.c:1344 +#: check.c:1759 #, c-format -msgid "failed to restore old locale \"%s\"\n" -msgstr "не вдалося відновити стару локаль \"%s\"\n" +msgid "expected 0 logical replication slots but found %d" +msgstr "очікувалося 0 слотів логічної реплікації, але знайдено %d" -#: controldata.c:128 controldata.c:196 +#: check.c:1769 check.c:1820 #, c-format -msgid "could not get control data using %s: %s\n" -msgstr "не вдалося отримати контрольні дані за допомогою %s: %s\n" +msgid "could not determine parameter settings on new cluster" +msgstr "не вдалося визначити налаштування параметрів на новому кластері" -#: controldata.c:139 +#: check.c:1774 #, c-format -msgid "%d: database cluster state problem\n" -msgstr "%d: неприпустимий стан кластера баз даних\n" +msgid "\"wal_level\" must be \"logical\" but is set to \"%s\"" +msgstr "\"wal_level\" має бути \"logical\", але встановлено значення \"%s\"" -#: controldata.c:157 +#: check.c:1780 #, c-format -msgid "The source cluster was shut down while in recovery mode. To upgrade, use \"rsync\" as documented or shut it down as a primary.\n" -msgstr "Початковий кластер завершив роботу в режимі відновлення. Щоб виконати оновлення, використайте документований спосіб з \"rsync\" або вимкніть його в режимі головного сервера.\n" +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) на старому кластері" -#: controldata.c:159 +#: check.c:1812 #, c-format -msgid "The target cluster was shut down while in recovery mode. To upgrade, use \"rsync\" as documented or shut it down as a primary.\n" -msgstr "Цільовий кластер завершив роботу в режимі відновлення. Щоб виконати оновлення, використайте документований спосіб з \"rsync\" або вимкніть його в режимі головного сервера.\n" +msgid "Checking for new cluster configuration for subscriptions" +msgstr "Перевірка нової конфігурації кластера для підписок" -#: controldata.c:164 +#: check.c:1824 #, c-format -msgid "The source cluster was not shut down cleanly.\n" -msgstr "Початковий кластер завершив роботу некоректно.\n" +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) на старому кластері" -#: controldata.c:166 +#: check.c:1846 #, c-format -msgid "The target cluster was not shut down cleanly.\n" -msgstr "Цільовий кластер завершив роботу некоректно.\n" +msgid "Checking for valid logical replication slots" +msgstr "Перевірка дійсних слотів логічної реплікації" -#: controldata.c:177 +#: check.c:1898 #, c-format -msgid "The source cluster lacks cluster state information:\n" -msgstr "В початковому кластері відсутня інформація про стан кластеру:\n" +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" +"and then restart the upgrade.\n" +"A list of the problematic slots is in the file:\n" +" %s" +msgstr "Ваша інсталяція містить слоти логічної реплікації, які не можуть бути оновлені.\n" +"Ви можете видалити недійсні слоти та/або використати відкладений WAL для інших слотів,\n" +"і потім перезавантажити оновлення.\n" +"Список проблемних слотів знаходиться у файлі:\n" +" %s" -#: controldata.c:179 +#: check.c:1922 #, c-format -msgid "The target cluster lacks cluster state information:\n" -msgstr "В цільовому кластері відсутня інформація про стан кластеру:\n" +msgid "Checking for subscription state" +msgstr "Перевірка стану підписки" -#: controldata.c:209 dump.c:49 pg_upgrade.c:335 pg_upgrade.c:371 -#: relfilenode.c:243 server.c:33 util.c:79 +#: check.c:2023 #, c-format -msgid "%s" -msgstr "%s" +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" +"A list of the problematic subscriptions is in the file:\n" +" %s" +msgstr "У вашій інсталяції є підписки, які не мають походження або мають зв'язки, що не перебувають у стані i (ініціалізація) або r (готовність).\n" +"Ви можете дозволити початковій синхронізації завершитися для всіх зв'язків, а потім перезапустити оновлення.\n" +"Список проблемних підписок знаходиться у файлі:\n" +" %s" + +#: controldata.c:129 controldata.c:199 +#, c-format +msgid "could not get control data using %s: %m" +msgstr "не вдалося отримати контрольні дані за допомогою %s: %m" + +#: controldata.c:139 +#, c-format +msgid "%d: database cluster state problem" +msgstr "%d: неприпустимий стан кластера баз даних" -#: controldata.c:216 +#: controldata.c:158 #, c-format -msgid "%d: pg_resetwal problem\n" -msgstr "%d: проблема pg_resetwal\n" +msgid "The source cluster was shut down while in recovery mode. To upgrade, use \"rsync\" as documented or shut it down as a primary." +msgstr "Початковий кластер завершив роботу в режимі відновлення. Щоб виконати оновлення, використайте документований спосіб з \"rsync\" або вимкніть його в режимі головного серверу." -#: controldata.c:226 controldata.c:236 controldata.c:247 controldata.c:258 -#: controldata.c:269 controldata.c:288 controldata.c:299 controldata.c:310 -#: controldata.c:321 controldata.c:332 controldata.c:343 controldata.c:354 -#: controldata.c:357 controldata.c:361 controldata.c:371 controldata.c:383 -#: controldata.c:394 controldata.c:405 controldata.c:416 controldata.c:427 -#: controldata.c:438 controldata.c:449 controldata.c:460 controldata.c:471 -#: controldata.c:482 controldata.c:493 +#: controldata.c:160 #, c-format -msgid "%d: controldata retrieval problem\n" -msgstr "%d: проблема з отриманням контрольних даних\n" +msgid "The target cluster was shut down while in recovery mode. To upgrade, use \"rsync\" as documented or shut it down as a primary." +msgstr "Цільовий кластер завершив роботу в режимі відновлення. Щоб виконати оновлення, використайте документований спосіб з \"rsync\" або вимкніть його в режимі головного серверу." -#: controldata.c:572 +#: controldata.c:165 #, c-format -msgid "The source cluster lacks some required control information:\n" -msgstr "У початковому кластері відсутня необхідна контрольна інформація:\n" +msgid "The source cluster was not shut down cleanly, state reported as: \"%s\"" +msgstr "Кластер джерел не був вимкнений повністю, про що повідомлялося у звітах стану: \"%s\"" -#: controldata.c:575 +#: controldata.c:167 #, c-format -msgid "The target cluster lacks some required control information:\n" -msgstr "У цільовому кластері відсутня необхідна контрольна інформація:\n" +msgid "The target cluster was not shut down cleanly, state reported as: \"%s\"" +msgstr "Цільовий кластер не був закритий \"чисто\", про що повідомив стан: \"%s\"" + +#: controldata.c:175 controldata.c:507 +#, c-format +msgid "could not get control data using %s: %s" +msgstr "не вдалося отримати контрольні дані за допомогою %s: %s" + +#: controldata.c:181 +#, c-format +msgid "The source cluster lacks cluster state information:" +msgstr "В початковому кластері відсутня інформація про стан кластера:" + +#: controldata.c:183 +#, c-format +msgid "The target cluster lacks cluster state information:" +msgstr "В цільовому кластері відсутня інформація про стан кластера:" + +#: controldata.c:213 dump.c:50 exec.c:118 pg_upgrade.c:556 pg_upgrade.c:596 +#: pg_upgrade.c:945 relfilenumber.c:233 server.c:34 util.c:337 +#, c-format +msgid "%s" +msgstr "%s" + +#: controldata.c:220 +#, c-format +msgid "%d: pg_resetwal problem" +msgstr "%d: проблема pg_resetwal" + +#: controldata.c:230 controldata.c:240 controldata.c:251 controldata.c:262 +#: controldata.c:273 controldata.c:292 controldata.c:303 controldata.c:314 +#: controldata.c:325 controldata.c:336 controldata.c:347 controldata.c:358 +#: controldata.c:361 controldata.c:365 controldata.c:375 controldata.c:387 +#: controldata.c:398 controldata.c:409 controldata.c:420 controldata.c:431 +#: controldata.c:442 controldata.c:453 controldata.c:464 controldata.c:475 +#: controldata.c:486 controldata.c:497 +#, c-format +msgid "%d: controldata retrieval problem" +msgstr "%d: проблема з отриманням контрольних даних" #: controldata.c:578 #, c-format -msgid " checkpoint next XID\n" -msgstr " наступний XID контрольної точки\n" +msgid "The source cluster lacks some required control information:" +msgstr "У початковому кластері відсутня необхідна контрольна інформація:" #: controldata.c:581 #, c-format -msgid " latest checkpoint next OID\n" -msgstr " наступний OID останньої контрольної точки\n" +msgid "The target cluster lacks some required control information:" +msgstr "У цільовому кластері відсутня необхідна контрольна інформація:" #: controldata.c:584 #, c-format -msgid " latest checkpoint next MultiXactId\n" -msgstr " наступний MultiXactId останньої контрольної точки\n" +msgid " checkpoint next XID" +msgstr " наступний XID контрольної точки" -#: controldata.c:588 +#: controldata.c:587 #, c-format -msgid " latest checkpoint oldest MultiXactId\n" -msgstr " найстарший MultiXactId останньої контрольної точки\n" +msgid " latest checkpoint next OID" +msgstr " наступний OID останньої контрольної точки" -#: controldata.c:591 +#: controldata.c:590 #, c-format -msgid " latest checkpoint oldestXID\n" -msgstr " найстарший oldestXID останньої контрольної точки\n" +msgid " latest checkpoint next MultiXactId" +msgstr " наступний MultiXactId останньої контрольної точки" #: controldata.c:594 #, c-format -msgid " latest checkpoint next MultiXactOffset\n" -msgstr " наступний MultiXactOffset останньої контрольної точки\n" +msgid " latest checkpoint oldest MultiXactId" +msgstr " найстарший MultiXactId останньої контрольної точки" #: controldata.c:597 #, c-format -msgid " first WAL segment after reset\n" -msgstr " перший сегмет WAL після скидання\n" +msgid " latest checkpoint oldestXID" +msgstr " найстарший oldestXID останньої контрольної точки" #: controldata.c:600 #, c-format -msgid " float8 argument passing method\n" -msgstr " метод передачі аргументу float8\n" +msgid " latest checkpoint next MultiXactOffset" +msgstr " наступний MultiXactOffset останньої контрольної точки" #: controldata.c:603 #, c-format -msgid " maximum alignment\n" -msgstr " максимальне вирівнювання\n" +msgid " first WAL segment after reset" +msgstr " перший сегмет WAL після скидання" #: controldata.c:606 #, c-format -msgid " block size\n" -msgstr " розмір блоку\n" +msgid " float8 argument passing method" +msgstr " метод передачі аргументу float8" #: controldata.c:609 #, c-format -msgid " large relation segment size\n" -msgstr " розмір сегменту великого відношення\n" +msgid " maximum alignment" +msgstr " максимальне вирівнювання" #: controldata.c:612 #, c-format -msgid " WAL block size\n" -msgstr " розмір блоку WAL\n" +msgid " block size" +msgstr " розмір блоку" #: controldata.c:615 #, c-format -msgid " WAL segment size\n" -msgstr " розмір сегменту WAL\n" +msgid " large relation segment size" +msgstr " розмір сегменту великого відношення" #: controldata.c:618 #, c-format -msgid " maximum identifier length\n" -msgstr " максимальна довжина ідентифікатора\n" +msgid " WAL block size" +msgstr " розмір блоку WAL" #: controldata.c:621 #, c-format -msgid " maximum number of indexed columns\n" -msgstr " максимальна кількість індексованих стовпців\n" +msgid " WAL segment size" +msgstr " розмір сегменту WAL" #: controldata.c:624 #, c-format -msgid " maximum TOAST chunk size\n" -msgstr " максимальний розмір порції TOAST\n" +msgid " maximum identifier length" +msgstr " максимальна довжина ідентифікатора" -#: controldata.c:628 +#: controldata.c:627 #, c-format -msgid " large-object chunk size\n" -msgstr " розмір порції великого об'єкту\n" +msgid " maximum number of indexed columns" +msgstr " максимальна кількість індексованих стовпців" -#: controldata.c:631 +#: controldata.c:630 #, c-format -msgid " dates/times are integers?\n" -msgstr " дата/час представлені цілими числами?\n" +msgid " maximum TOAST chunk size" +msgstr " максимальний розмір порції TOAST" -#: controldata.c:635 +#: controldata.c:634 #, c-format -msgid " data checksum version\n" -msgstr " версія контрольних сум даних\n" +msgid " large-object chunk size" +msgstr " розмір порції великого об'єкту" #: controldata.c:637 #, c-format -msgid "Cannot continue without required control information, terminating\n" -msgstr "Не можна продовжити без необхідної контрольної інформації, завершення\n" +msgid " dates/times are integers?" +msgstr " дата/час представлені цілими числами?" -#: controldata.c:652 +#: controldata.c:641 #, c-format -msgid "old and new pg_controldata alignments are invalid or do not match\n" -"Likely one cluster is a 32-bit install, the other 64-bit\n" -msgstr "старе і нове вирівнювання в pg_controldata неприпустимі або не збігаються\n" -"Ймовірно, один кластер встановлений у 32-бітній системі, а інший - у 64-бітній\n" +msgid " data checksum version" +msgstr " версія контрольних сум даних" -#: controldata.c:656 +#: controldata.c:643 #, c-format -msgid "old and new pg_controldata block sizes are invalid or do not match\n" -msgstr "старий і новий розмір блоків в pg_controldata неприпустимі або не збігаються\n" +msgid "Cannot continue without required control information, terminating" +msgstr "Не можна продовжити без необхідної контрольної інформації, завершення" -#: controldata.c:659 +#: controldata.c:658 #, c-format -msgid "old and new pg_controldata maximum relation segment sizes are invalid or do not match\n" -msgstr "старий і новий максимальний розмір сегментів відношень в pg_controldata неприпустимі або не збігаються\n" +msgid "old and new pg_controldata alignments are invalid or do not match.\n" +"Likely one cluster is a 32-bit install, the other 64-bit" +msgstr "старе і нове вирівнювання в pg_controldata неприпустимі або не збігаються\n" +"Ймовірно, один кластер встановлений у 32-бітній системі, а інший - у 64-бітній" #: controldata.c:662 #, c-format -msgid "old and new pg_controldata WAL block sizes are invalid or do not match\n" -msgstr "старий і новий розмір блоків WAL в pg_controldata неприпустимі або не збігаються\n" +msgid "old and new pg_controldata block sizes are invalid or do not match" +msgstr "старий і новий розмір блоків в pg_controldata неприпустимі або не збігаються" #: controldata.c:665 #, c-format -msgid "old and new pg_controldata WAL segment sizes are invalid or do not match\n" -msgstr "старий і новий розмір сегментів WAL в pg_controldata неприпустимі або не збігаються\n" +msgid "old and new pg_controldata maximum relation segment sizes are invalid or do not match" +msgstr "старий і новий максимальний розмір сегментів відношень в pg_controldata неприпустимі або не збігаються" #: controldata.c:668 #, c-format -msgid "old and new pg_controldata maximum identifier lengths are invalid or do not match\n" -msgstr "стара і нова максимальна довжина ідентифікаторів в pg_controldata неприпустимі або не збігаються\n" +msgid "old and new pg_controldata WAL block sizes are invalid or do not match" +msgstr "старий і новий розмір блоків WAL в pg_controldata неприпустимі або не збігаються" #: controldata.c:671 #, c-format -msgid "old and new pg_controldata maximum indexed columns are invalid or do not match\n" -msgstr "стара і нова максимальна кількість індексованих стовпців в pg_controldata неприпустимі або не збігаються\n" +msgid "old and new pg_controldata WAL segment sizes are invalid or do not match" +msgstr "старий і новий розмір сегментів WAL в pg_controldata неприпустимі або не збігаються" #: controldata.c:674 #, c-format -msgid "old and new pg_controldata maximum TOAST chunk sizes are invalid or do not match\n" -msgstr "старий і новий максимальний розмір порції TOAST в pg_controldata неприпустимі або не збігаються\n" +msgid "old and new pg_controldata maximum identifier lengths are invalid or do not match" +msgstr "стара і нова максимальна довжина ідентифікаторів в pg_controldata неприпустимі або не збігаються" -#: controldata.c:679 +#: controldata.c:677 #, c-format -msgid "old and new pg_controldata large-object chunk sizes are invalid or do not match\n" -msgstr "старий і новий розмір порції великого об'єкту в pg_controldata неприпустимі або не збігаються\n" +msgid "old and new pg_controldata maximum indexed columns are invalid or do not match" +msgstr "стара і нова максимальна кількість індексованих стовпців в pg_controldata неприпустимі або не збігаються" -#: controldata.c:682 +#: controldata.c:680 #, c-format -msgid "old and new pg_controldata date/time storage types do not match\n" -msgstr "старий і новий тип сховища дати/часу в pg_controldata неприпустимі або не збігаються\n" +msgid "old and new pg_controldata maximum TOAST chunk sizes are invalid or do not match" +msgstr "старий і новий максимальний розмір порції TOAST в pg_controldata неприпустимі або не збігаються" -#: controldata.c:695 +#: controldata.c:685 #, c-format -msgid "old cluster does not use data checksums but the new one does\n" -msgstr "старий кластер не використовує контрольні суми даних, але новий використовує\n" +msgid "old and new pg_controldata large-object chunk sizes are invalid or do not match" +msgstr "старий і новий розмір порції великого об'єкту в pg_controldata неприпустимі або не збігаються" -#: controldata.c:698 +#: controldata.c:688 #, c-format -msgid "old cluster uses data checksums but the new one does not\n" -msgstr "старий кластер використовує контрольні суми даних, але новий не використовує\n" +msgid "old and new pg_controldata date/time storage types do not match" +msgstr "старий і новий тип сховища дати/часу в pg_controldata неприпустимі або не збігаються" -#: controldata.c:700 +#: controldata.c:701 #, c-format -msgid "old and new cluster pg_controldata checksum versions do not match\n" -msgstr "стара і нова версія контрольних сум кластера в pg_controldata не збігаються\n" +msgid "old cluster does not use data checksums but the new one does" +msgstr "старий кластер не використовує контрольні суми даних, але новий використовує" -#: controldata.c:711 +#: controldata.c:704 +#, c-format +msgid "old cluster uses data checksums but the new one does not" +msgstr "старий кластер використовує контрольні суми даних, але новий не використовує" + +#: controldata.c:706 +#, c-format +msgid "old and new cluster pg_controldata checksum versions do not match" +msgstr "стара і нова версія контрольних сум кластера в pg_controldata не збігаються" + +#: controldata.c:717 #, c-format msgid "Adding \".old\" suffix to old global/pg_control" msgstr "Додавання суфікса \".old\" до старого файла global/pg_control" -#: controldata.c:716 +#: controldata.c:722 #, c-format -msgid "Unable to rename %s to %s.\n" -msgstr "Не вдалося перейменувати %s на %s.\n" +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "не вдалося перейменувати файл \"%s\" на \"%s\": %m" -#: controldata.c:719 +#: controldata.c:726 #, c-format msgid "\n" "If you want to start the old cluster, you will need to remove\n" "the \".old\" suffix from %s/global/pg_control.old.\n" "Because \"link\" mode was used, the old cluster cannot be safely\n" -"started once the new cluster has been started.\n\n" +"started once the new cluster has been started." msgstr "\n" "Якщо ви хочете запустити старий кластер, вам необхідно видалити\n" "суфікс \".old\" з файлу %s/global/pg_control.old. Через використання\n" "режиму \"link\" робота старого кластера після запуску нового може бути\n" -"небезпечна.\n\n" +"небезпечна." #: dump.c:20 #, c-format msgid "Creating dump of global objects" msgstr "Створення вивантаження глобальних об'єктів" -#: dump.c:31 +#: dump.c:32 #, c-format -msgid "Creating dump of database schemas\n" -msgstr "Створення вивантаження схем бази даних\n" +msgid "Creating dump of database schemas" +msgstr "Створення дампу схем бази даних" -#: exec.c:45 +#: exec.c:47 #, c-format -msgid "could not get pg_ctl version data using %s: %s\n" -msgstr "не вдалося отримати дані версії pg_ctl, виконавши %s: %s\n" +msgid "could not get pg_ctl version data using %s: %m" +msgstr "не вдалося отримати дані версії pg_ctl, виконавши %s: %m" #: exec.c:51 #, c-format -msgid "could not get pg_ctl version output from %s\n" -msgstr "не вдалося отримати версію pg_ctl з результату %s\n" +msgid "could not get pg_ctl version data using %s: %s" +msgstr "не вдалося отримати дані версії pg_ctl, виконавши %s: %s" -#: exec.c:105 exec.c:109 +#: exec.c:55 #, c-format -msgid "command too long\n" -msgstr "команда занадто довга\n" +msgid "could not get pg_ctl version output from %s" +msgstr "не вдалося отримати версію pg_ctl з результату %s" -#: exec.c:111 util.c:37 util.c:225 +#: exec.c:112 exec.c:116 #, c-format -msgid "%s\n" -msgstr "%s\n" +msgid "command too long" +msgstr "команда занадто довга" -#: exec.c:150 option.c:217 +#: exec.c:160 pg_upgrade.c:311 #, c-format -msgid "could not open log file \"%s\": %m\n" -msgstr "не вдалося відкрити файл журналу \"%s\": %m\n" +msgid "could not open log file \"%s\": %m" +msgstr "не вдалося відкрити файл журналу \"%s\": %m" -#: exec.c:179 +#: exec.c:192 #, c-format msgid "\n" "*failure*" msgstr "\n" "*неполадка*" -#: exec.c:182 +#: exec.c:195 #, c-format -msgid "There were problems executing \"%s\"\n" -msgstr "Під час виконання \"%s\" виникли проблеми\n" +msgid "There were problems executing \"%s\"" +msgstr "Під час виконання \"%s\" виникли проблеми" -#: exec.c:185 +#: exec.c:198 #, c-format msgid "Consult the last few lines of \"%s\" or \"%s\" for\n" -"the probable cause of the failure.\n" +"the probable cause of the failure." msgstr "Щоб зрозуміти причину неполадки, зверніться до декількох останніх рядків\n" -"файлу \"%s\" або \"%s\".\n" +"файлу \"%s\" або \"%s\"." -#: exec.c:190 +#: exec.c:203 #, c-format msgid "Consult the last few lines of \"%s\" for\n" -"the probable cause of the failure.\n" +"the probable cause of the failure." msgstr "Щоб зрозуміти причину неполадки, зверніться до декількох останніх рядків\n" -"файлу \"%s\".\n" +"файлу \"%s\"." -#: exec.c:205 option.c:226 +#: exec.c:218 pg_upgrade.c:321 #, c-format -msgid "could not write to log file \"%s\": %m\n" -msgstr "не вдалося записати до файлу журналу \"%s\": %m\n" +msgid "could not write to log file \"%s\": %m" +msgstr "не вдалося записати до файлу журналу \"%s\": %m" -#: exec.c:231 +#: exec.c:244 #, c-format -msgid "could not open file \"%s\" for reading: %s\n" -msgstr "не вдалося відкрити файл \"%s\" для читання: %s\n" +msgid "could not open file \"%s\" for reading: %m" +msgstr "не вдалося відкрити файл \"%s\" для читання: %m" -#: exec.c:258 +#: exec.c:270 #, c-format -msgid "You must have read and write access in the current directory.\n" -msgstr "Ви повинні мати права на читання і запис в поточному каталозі.\n" +msgid "You must have read and write access in the current directory." +msgstr "Ви повинні мати права на читання і запис в поточному каталозі." -#: exec.c:311 exec.c:377 +#: exec.c:323 exec.c:389 exec.c:439 #, c-format -msgid "check for \"%s\" failed: %s\n" -msgstr "перевірка \"%s\" провалена: %s\n" +msgid "check for \"%s\" failed: %m" +msgstr "перевірка \"%s\" провалена: %m" -#: exec.c:314 exec.c:380 +#: exec.c:326 exec.c:392 #, c-format -msgid "\"%s\" is not a directory\n" -msgstr "\"%s\" не є каталогом\n" +msgid "\"%s\" is not a directory" +msgstr "\"%s\" не є каталогом" -#: exec.c:430 +#: exec.c:444 #, c-format -msgid "check for \"%s\" failed: not a regular file\n" -msgstr "перевірка \"%s\" провалена: це не звичайний файл\n" +msgid "check for \"%s\" failed: cannot execute" +msgstr "помилка перевірки \"%s\": не можна виконати" -#: exec.c:433 +#: exec.c:454 #, c-format -msgid "check for \"%s\" failed: cannot execute (permission denied)\n" -msgstr "перевірка \"%s\" провалена: виконання неможливе (немає доступу)\n" +msgid "check for \"%s\" failed: incorrect version: found \"%s\", expected \"%s\"" +msgstr "помилка перевірки \"%s\": неправильна версія: знайдено \"%s\", очікувалось \"%s\"" -#: exec.c:439 +#: file.c:44 #, c-format -msgid "check for \"%s\" failed: cannot execute\n" -msgstr "помилка перевірки \"%s\": не можна виконати\n" +msgid "error while cloning relation \"%s.%s\" (\"%s\" to \"%s\"): %m" +msgstr "помилка при клонуванні відношення \"%s.%s\" (\"%s\" до \"%s\"): %m" -#: exec.c:449 +#: file.c:51 #, c-format -msgid "check for \"%s\" failed: incorrect version: found \"%s\", expected \"%s\"\n" -msgstr "помилка перевірки \"%s\": неправильна версія: знайдено \"%s\", очікувалось \"%s\"\n" +msgid "error while cloning relation \"%s.%s\": could not open file \"%s\": %m" +msgstr "помилка при клонуванні відношення \"%s.%s\": не вдалося відкрити файл \"%s\": %m" -#: file.c:43 file.c:61 +#: file.c:56 #, c-format -msgid "error while cloning relation \"%s.%s\" (\"%s\" to \"%s\"): %s\n" -msgstr "помилка при клонуванні відношення \"%s.%s\" (\"%s\" до \"%s\"): %s\n" +msgid "error while cloning relation \"%s.%s\": could not create file \"%s\": %m" +msgstr "помилка при клонуванні відношення \"%s.%s\": не вдалося створити файл \"%s\": %m" -#: file.c:50 +#: file.c:65 #, c-format -msgid "error while cloning relation \"%s.%s\": could not open file \"%s\": %s\n" -msgstr "помилка при клонуванні відношення \"%s.%s\": не вдалося відкрити файл \"%s\": %s\n" +msgid "error while cloning relation \"%s.%s\" (\"%s\" to \"%s\"): %s" +msgstr "помилка при клонуванні відношення \"%s.%s\" (\"%s\" до \"%s\"): %s" -#: file.c:55 +#: file.c:91 file.c:160 file.c:233 #, c-format -msgid "error while cloning relation \"%s.%s\": could not create file \"%s\": %s\n" -msgstr "помилка при клонуванні відношення \"%s.%s\": не вдалося створити файл \"%s\": %s\n" +msgid "error while copying relation \"%s.%s\": could not open file \"%s\": %m" +msgstr "помилка під час копіювання відношення \"%s.%s\": не вдалося відкрити файл \"%s\": %m" -#: file.c:87 file.c:190 +#: file.c:96 file.c:165 file.c:242 #, c-format -msgid "error while copying relation \"%s.%s\": could not open file \"%s\": %s\n" -msgstr "помилка під час копіювання відношення \"%s.%s\": не вдалося відкрити файл \"%s\": %s\n" +msgid "error while copying relation \"%s.%s\": could not create file \"%s\": %m" +msgstr "помилка під час копіювання відношення \"%s.%s\": не вдалося створити файл \"%s\": %m" -#: file.c:92 file.c:199 +#: file.c:110 file.c:266 #, c-format -msgid "error while copying relation \"%s.%s\": could not create file \"%s\": %s\n" -msgstr "помилка під час копіювання відношення \"%s.%s\": не вдалося створити файл \"%s\": %s\n" +msgid "error while copying relation \"%s.%s\": could not read file \"%s\": %m" +msgstr "помилка під час копіювання відношення \"%s.%s\": не вдалося прочитати файл \"%s\": %m" -#: file.c:106 file.c:223 +#: file.c:122 file.c:344 #, c-format -msgid "error while copying relation \"%s.%s\": could not read file \"%s\": %s\n" -msgstr "помилка під час копіювання відношення \"%s.%s\": не вдалося прочитати файл \"%s\": %s\n" +msgid "error while copying relation \"%s.%s\": could not write file \"%s\": %m" +msgstr "помилка під час копіювання відношення \"%s.%s\": не вдалося записати до файлу \"%s\": %m" -#: file.c:118 file.c:301 +#: file.c:136 #, c-format -msgid "error while copying relation \"%s.%s\": could not write file \"%s\": %s\n" -msgstr "помилка під час копіювання відношення \"%s.%s\": не вдалося записати до файлу \"%s\": %s\n" +msgid "error while copying relation \"%s.%s\" (\"%s\" to \"%s\"): %m" +msgstr "помилка під час копіювання відношення \"%s.%s\" ( з \"%s\" в \"%s\"): %m" -#: file.c:132 +#: file.c:172 #, c-format -msgid "error while copying relation \"%s.%s\" (\"%s\" to \"%s\"): %s\n" -msgstr "помилка під час копіювання відношення \"%s.%s\" ( з \"%s\" в \"%s\"): %s\n" - -#: file.c:151 -#, c-format -msgid "error while creating link for relation \"%s.%s\" (\"%s\" to \"%s\"): %s\n" -msgstr "помилка під час створення посилання для відношення \"%s.%s\" ( з \"%s\" в \"%s\"): %s\n" +msgid "error while copying relation \"%s.%s\": could not copy file range from \"%s\" to \"%s\": %m" +msgstr "помилка під час копіювання відношення \"%s.%s\": не вдалося скопіювати діапазон файлу з \"%s\" до \"%s\": %m" #: file.c:194 #, c-format -msgid "error while copying relation \"%s.%s\": could not stat file \"%s\": %s\n" -msgstr "помилка під час копіювання відношення \"%s.%s\": не вдалося отримати стан файлу \"%s\": %s\n" +msgid "error while creating link for relation \"%s.%s\" (\"%s\" to \"%s\"): %m" +msgstr "помилка під час створення посилання для відношення \"%s.%s\" ( з \"%s\" в \"%s\"): %m" -#: file.c:226 +#: file.c:237 #, c-format -msgid "error while copying relation \"%s.%s\": partial page found in file \"%s\"\n" -msgstr "помилка під час копіювання відношення \"%s.%s\": у файлі \"%s\" знайдена часткова сторінка\n" +msgid "error while copying relation \"%s.%s\": could not stat file \"%s\": %m" +msgstr "помилка під час копіювання відношення \"%s.%s\": не вдалося отримати стан файлу \"%s\": %m" -#: file.c:328 file.c:345 +#: file.c:269 #, c-format -msgid "could not clone file between old and new data directories: %s\n" -msgstr "не вдалося клонувати файл між старим і новим каталогами даних: %s\n" +msgid "error while copying relation \"%s.%s\": partial page found in file \"%s\"" +msgstr "помилка під час копіювання відношення \"%s.%s\": у файлі \"%s\" знайдена часткова сторінка" -#: file.c:341 +#: file.c:371 file.c:387 #, c-format -msgid "could not create file \"%s\": %s\n" -msgstr "не можливо створити файл \"%s\": %s\n" +msgid "could not clone file between old and new data directories: %m" +msgstr "не вдалося клонувати файл між старим і новим каталогами даних: %m" -#: file.c:352 +#: file.c:383 file.c:420 #, c-format -msgid "file cloning not supported on this platform\n" -msgstr "клонування файлів не підтримується на цій платформі\n" +msgid "could not create file \"%s\": %m" +msgstr "неможливо створити файл \"%s\": %m" -#: file.c:369 +#: file.c:393 #, c-format -msgid "could not create hard link between old and new data directories: %s\n" -"In link mode the old and new data directories must be on the same file system.\n" -msgstr "не вдалося створити жорстке посилання між старим і новим каталогами даних: %s\n" -"В режимі посилань старий і новий каталоги даних повинні знаходитись в одній файловій системі.\n" +msgid "file cloning not supported on this platform" +msgstr "клонування файлів не підтримується на цій платформі" -#: function.c:114 +#: file.c:424 #, c-format -msgid "\n" -"The old cluster has a \"plpython_call_handler\" function defined\n" -"in the \"public\" schema which is a duplicate of the one defined\n" -"in the \"pg_catalog\" schema. You can confirm this by executing\n" -"in psql:\n\n" -" \\df *.plpython_call_handler\n\n" -"The \"public\" schema version of this function was created by a\n" -"pre-8.1 install of plpython, and must be removed for pg_upgrade\n" -"to complete because it references a now-obsolete \"plpython\"\n" -"shared object file. You can remove the \"public\" schema version\n" -"of this function by running the following command:\n\n" -" DROP FUNCTION public.plpython_call_handler()\n\n" -"in each affected database:\n\n" -msgstr "\n" -"Старий кластер має функцію \"plpython_call_handler\", визначену в схемі\n" -"\"public\", яка є дублікатом функції, визначеної в схемі \"pg_catalog\". Ви\n" -"можете переконатися в цьому, виконавши в psql:\n\n" -" \\df *.plpython_call_handler\n\n" -"Версія цієї функції в схемі \"public\" була створена встановленням plpython \n" -"версії до 8.1 і повинна бути видалена до завершення процедури pg_upgrade,\n" -"адже вона посилається на застарілий спільний об'єктний файл \"plpython\". Ви\n" -"можете видалити версію цієї функції зі схеми \"public\", виконавши наступну\n" -"команду:\n\n" -" DROP FUNCTION public.plpython_call_handler()\n\n" -"у кожній базі даних, якої це стосується:\n\n" +msgid "could not copy file range between old and new data directories: %m" +msgstr "не вдалося скопіювати діапазон файлу між старим і новим каталогами даних: %m" -#: function.c:132 +#: file.c:430 #, c-format -msgid " %s\n" -msgstr " %s\n" +msgid "copy_file_range not supported on this platform" +msgstr "copy_file_range не підтримується на цій платформі" -#: function.c:142 +#: file.c:447 #, c-format -msgid "Remove the problem functions from the old cluster to continue.\n" -msgstr "Видаліть проблемні функції старого кластера для продовження.\n" +msgid "could not create hard link between old and new data directories: %m\n" +"In link mode the old and new data directories must be on the same file system." +msgstr "не вдалося створити жорстке посилання між старим і новим каталогами даних: %m\n" +"В режимі посилань старий і новий каталоги даних повинні знаходитись в одній файловій системі." -#: function.c:189 +#: function.c:154 #, c-format msgid "Checking for presence of required libraries" msgstr "Перевірка наявності необхідних бібліотек" -#: function.c:242 +#: function.c:190 #, c-format msgid "could not load library \"%s\": %s" msgstr "не вдалося завантажити бібліотеку \"%s\": %s" -#: function.c:253 +#: function.c:201 #, c-format msgid "In database: %s\n" msgstr "У базі даних: %s\n" -#: function.c:263 +#: function.c:211 #, c-format msgid "Your installation references loadable libraries that are missing from the\n" "new installation. You can add these libraries to the new installation,\n" "or remove the functions using them from the old installation. A list of\n" "problem libraries is in the file:\n" -" %s\n\n" +" %s" msgstr "У вашій інсталяції є посилання на завантажувані бібліотеки, що \n" "відсутні в новій інсталяції. Ви можете додати ці бібліотеки до нової інсталяції\n" "або видалити функції, які використовують їх зі старої інсталяції. Список\n" "проблемних бібліотек подано у файлі:\n" -" %s\n\n" +" %s" -#: info.c:131 +#: info.c:128 #, c-format -msgid "Relation names for OID %u in database \"%s\" do not match: old name \"%s.%s\", new name \"%s.%s\"\n" -msgstr "Імена відношень з OID %u в базі даних \"%s\" не збігаються: старе ім'я \"%s.%s\", нове ім'я \"%s.%s\"\n" +msgid "Relation names for OID %u in database \"%s\" do not match: old name \"%s.%s\", new name \"%s.%s\"" +msgstr "Імена відношень з OID %u в базі даних \"%s\" не збігаються: старе ім'я \"%s.%s\", нове ім'я \"%s.%s\"" -#: info.c:151 +#: info.c:148 #, c-format -msgid "Failed to match up old and new tables in database \"%s\"\n" -msgstr "Не вдалося зіставити старі таблиці з новими в базі даних \"%s\"\n" +msgid "Failed to match up old and new tables in database \"%s\"" +msgstr "Не вдалося зіставити старі таблиці з новими в базі даних \"%s\"" -#: info.c:240 +#: info.c:229 #, c-format msgid " which is an index on \"%s.%s\"" msgstr " це індекс в \"%s.%s\"" -#: info.c:250 +#: info.c:239 #, c-format msgid " which is an index on OID %u" msgstr " це індекс у відношенні з OID %u" -#: info.c:262 +#: info.c:251 #, c-format msgid " which is the TOAST table for \"%s.%s\"" msgstr " це TOAST-таблиця для \"%s.%s\"" -#: info.c:270 +#: info.c:259 #, c-format msgid " which is the TOAST table for OID %u" msgstr " це TOAST-таблиця для відношення з OID %u" -#: info.c:274 +#: info.c:263 #, c-format -msgid "No match found in old cluster for new relation with OID %u in database \"%s\": %s\n" -msgstr "У старому кластері не знайдено відповідності для нового відношення з OID %u в базі даних %s\": %s\n" +msgid "No match found in old cluster for new relation with OID %u in database \"%s\": %s" +msgstr "У старому кластері не знайдено відповідності для нового відношення з OID %u в базі даних %s\": %s" -#: info.c:277 +#: info.c:266 #, c-format -msgid "No match found in new cluster for old relation with OID %u in database \"%s\": %s\n" -msgstr "У новому кластері не знайдено відповідності для старого відношення з OID %u в базі даних \"%s\": %s\n" +msgid "No match found in new cluster for old relation with OID %u in database \"%s\": %s" +msgstr "У новому кластері не знайдено відповідності для старого відношення з OID %u в базі даних \"%s\": %s" -#: info.c:289 +#: info.c:300 #, c-format -msgid "mappings for database \"%s\":\n" -msgstr "відображення для бази даних \"%s\":\n" +msgid "\n" +"source databases:" +msgstr "\n" +"вихідні бази даних:" -#: info.c:292 +#: info.c:302 #, c-format -msgid "%s.%s: %u to %u\n" -msgstr "%s.%s: %u в %u\n" +msgid "\n" +"target databases:" +msgstr "\n" +"цільові бази даних:" -#: info.c:297 info.c:633 +#: info.c:346 #, c-format -msgid "\n\n" -msgstr "\n\n" +msgid "template0 not found" +msgstr "template0 не знайдено" -#: info.c:322 +#: info.c:805 #, c-format -msgid "\n" -"source databases:\n" -msgstr "\n" -"вихідні бази даних:\n" +msgid "Database: \"%s\"" +msgstr "База даних: %s\"" -#: info.c:324 +#: info.c:818 #, c-format -msgid "\n" -"target databases:\n" -msgstr "\n" -"цільові бази даних:\n" +msgid "relname: \"%s.%s\", reloid: %u, reltblspace: \"%s\"" +msgstr "relname: \"%s.%s\", reloid: %u, reltblspace: \"%s\"" -#: info.c:631 +#: info.c:832 #, c-format -msgid "Database: %s\n" -msgstr "База даних: %s\n" +msgid "Logical replication slots in the database:" +msgstr "Логічні слоти реплікації в базі даних:" -#: info.c:644 +#: info.c:838 #, c-format -msgid "relname: %s.%s: reloid: %u reltblspace: %s\n" -msgstr "ім'я_відношення: %s.%s: oid_відношення: %u табл_простір: %s\n" +msgid "slot name: \"%s\", output plugin: \"%s\", two_phase: %s" +msgstr "назва слоту: \"%s\", плагін виводу: \"%s\", two_phase: %s" -#: option.c:102 +#: option.c:105 #, c-format -msgid "%s: cannot be run as root\n" -msgstr "%s: не може виконуватись як root\n" +msgid "%s: cannot be run as root" +msgstr "%s: не можна запустити як root" -#: option.c:170 +#: option.c:172 #, c-format -msgid "invalid old port number\n" -msgstr "неприпустимий старий номер порту\n" +msgid "invalid old port number" +msgstr "неприпустимий старий номер порту" -#: option.c:175 +#: option.c:177 #, c-format -msgid "invalid new port number\n" -msgstr "неприпустимий новий номер порту\n" +msgid "invalid new port number" +msgstr "неприпустимий новий номер порту" -#: option.c:207 +#: option.c:216 #, c-format msgid "Try \"%s --help\" for more information.\n" msgstr "Спробуйте \"%s --help\" для додаткової інформації.\n" -#: option.c:214 +#: option.c:223 #, c-format -msgid "too many command-line arguments (first is \"%s\")\n" -msgstr "забагато аргументів у командному рядку (перший \"%s\")\n" +msgid "too many command-line arguments (first is \"%s\")" +msgstr "забагато аргументів у командному рядку (перший \"%s\")" -#: option.c:220 +#: option.c:229 #, c-format -msgid "Running in verbose mode\n" -msgstr "Виконується в детальному режимі\n" +msgid "Running in verbose mode" +msgstr "Виконується в детальному режимі" -#: option.c:251 +#: option.c:247 msgid "old cluster binaries reside" msgstr "розташування двійкових даних старого кластера" -#: option.c:253 +#: option.c:249 msgid "new cluster binaries reside" msgstr "розташування двійкових даних нового кластера" -#: option.c:255 +#: option.c:251 msgid "old cluster data resides" msgstr "розташування даних старого кластера" -#: option.c:257 +#: option.c:253 msgid "new cluster data resides" msgstr "розташування даних нового кластера" -#: option.c:259 +#: option.c:255 msgid "sockets will be created" msgstr "сокети будуть створені" -#: option.c:276 option.c:374 +#: option.c:272 option.c:374 #, c-format -msgid "could not determine current directory\n" -msgstr "не вдалося визначити поточний каталог\n" +msgid "could not determine current directory" +msgstr "не вдалося визначити поточний каталог" -#: option.c:279 +#: option.c:275 #, c-format -msgid "cannot run pg_upgrade from inside the new cluster data directory on Windows\n" -msgstr "у Windows не можна виконати pg_upgrade всередині каталогу даних нового кластера\n" +msgid "cannot run pg_upgrade from inside the new cluster data directory on Windows" +msgstr "у Windows не можна виконати pg_upgrade всередині каталогу даних нового кластера" -#: option.c:288 +#: option.c:284 #, c-format msgid "pg_upgrade upgrades a PostgreSQL cluster to a different major version.\n\n" msgstr "pg_upgrade оновлює кластер PostgreSQL до іншої основної версії.\n\n" -#: option.c:289 +#: option.c:285 #, c-format msgid "Usage:\n" msgstr "Використання:\n" -#: option.c:290 +#: option.c:286 #, c-format msgid " pg_upgrade [OPTION]...\n\n" msgstr " pg_upgrade [OPTION]...\n\n" -#: option.c:291 +#: option.c:287 #, c-format msgid "Options:\n" msgstr "Параметри:\n" -#: option.c:292 +#: option.c:288 #, c-format msgid " -b, --old-bindir=BINDIR old cluster executable directory\n" msgstr " -b, --old-bindir=BINDIR каталог виконуваних файлів старого кластера\n" -#: option.c:293 +#: option.c:289 #, c-format msgid " -B, --new-bindir=BINDIR new cluster executable directory (default\n" " same directory as pg_upgrade)\n" msgstr " -B, --new-bindir=BINDIR каталог виконуваних файлів нового кластера (за замовчуванням\n" " той самий каталог, що і pg_upgrade)\n" -#: option.c:295 +#: option.c:291 #, c-format msgid " -c, --check check clusters only, don't change any data\n" msgstr " -c, --check тільки перевірити кластери, не змінювати ніякі дані\n" -#: option.c:296 +#: option.c:292 #, c-format msgid " -d, --old-datadir=DATADIR old cluster data directory\n" msgstr " -d, --old-datadir=DATADIR каталог даних старого кластера\n" -#: option.c:297 +#: option.c:293 #, c-format msgid " -D, --new-datadir=DATADIR new cluster data directory\n" msgstr " -D, --new-datadir=DATADIR каталог даних нового кластера\n" -#: option.c:298 +#: option.c:294 #, c-format msgid " -j, --jobs=NUM number of simultaneous processes or threads to use\n" msgstr " -j, --jobs=NUM число одночасних процесів або потоків для використання\n" -#: option.c:299 +#: option.c:295 #, c-format msgid " -k, --link link instead of copying files to new cluster\n" msgstr " -k, --link встановлювати посилання замість копіювання файлів до нового кластера\n" -#: option.c:300 +#: option.c:296 +#, c-format +msgid " -N, --no-sync do not wait for changes to be written safely to disk\n" +msgstr " -N, --no-sync не чекати завершення збереження змін на диску\n" + +#: option.c:297 #, c-format msgid " -o, --old-options=OPTIONS old cluster options to pass to the server\n" msgstr " -o, --old-options=OPTIONS параметри старого кластера, які передаються серверу\n" -#: option.c:301 +#: option.c:298 #, c-format msgid " -O, --new-options=OPTIONS new cluster options to pass to the server\n" msgstr " -O, --new-options=OPTIONS параметри нового кластера, які передаються серверу\n" -#: option.c:302 +#: option.c:299 #, c-format msgid " -p, --old-port=PORT old cluster port number (default %d)\n" msgstr " -p, --old-port=PORT номер порту старого кластера (за замовчуванням %d)\n" -#: option.c:303 +#: option.c:300 #, c-format msgid " -P, --new-port=PORT new cluster port number (default %d)\n" msgstr " -P, --new-port=PORT номер порту нового кластера (за замовчуванням %d)\n" -#: option.c:304 +#: option.c:301 #, c-format msgid " -r, --retain retain SQL and log files after success\n" msgstr " -r, --retain зберегти файли журналів і SQL після успішного завершення\n" -#: option.c:305 +#: option.c:302 #, c-format msgid " -s, --socketdir=DIR socket directory to use (default current dir.)\n" msgstr " -s, --socketdir=DIR директорія сокету для використання (за замовчування поточна директорія)\n" -#: option.c:306 +#: option.c:303 #, c-format msgid " -U, --username=NAME cluster superuser (default \"%s\")\n" msgstr " -U, --username=NAME суперкористувач кластера (за замовчуванням \"%s\")\n" -#: option.c:307 +#: option.c:304 #, c-format msgid " -v, --verbose enable verbose internal logging\n" msgstr " -v, --verbose активувати виведення детальних внутрішніх повідомлень\n" -#: option.c:308 +#: option.c:305 #, c-format msgid " -V, --version display version information, then exit\n" msgstr " -V, --version відобразити інформацію про версію, потім вийти\n" -#: option.c:309 +#: option.c:306 #, c-format msgid " --clone clone instead of copying files to new cluster\n" msgstr " --clone клонувати замість копіювання файлів до нового кластера\n" +#: option.c:307 +#, c-format +msgid " --copy copy files to new cluster (default)\n" +msgstr " --copy копіювати файли до нового кластеру (за замовчуванням)\n" + +#: option.c:308 +#, c-format +msgid " --copy-file-range copy files to new cluster with copy_file_range\n" +msgstr " --copy-file-range копіювати файли в новий кластер за допомогою copy_file_range\n" + +#: option.c:309 +#, c-format +msgid " --sync-method=METHOD set method for syncing files to disk\n" +msgstr " --sync-method=METHOD встановити метод синхронізації файлів на диск\n" + #: option.c:310 #, c-format msgid " -?, --help show this help, then exit\n" @@ -1232,238 +1451,274 @@ msgstr "Домашня сторінка %s: <%s>\n" #: option.c:380 #, c-format msgid "You must identify the directory where the %s.\n" -"Please use the %s command-line option or the %s environment variable.\n" +"Please use the %s command-line option or the %s environment variable." msgstr "Ви повинні визначити каталог, де знаходиться %s.\n" -"Будь ласка, використайте параметр командного рядка %s або змінну середовища %s.\n" +"Будь ласка, використайте параметр командного рядка %s або змінну середовища %s." -#: option.c:432 +#: option.c:433 #, c-format msgid "Finding the real data directory for the source cluster" msgstr "Пошук дійсного каталогу даних для початкового кластера" -#: option.c:434 +#: option.c:435 #, c-format msgid "Finding the real data directory for the target cluster" msgstr "Пошук дійсного каталогу даних для цільового кластера" -#: option.c:446 +#: option.c:448 +#, c-format +msgid "could not get data directory using %s: %m" +msgstr "не вдалося отримати каталог даних, виконавши %s: %m" + +#: option.c:452 #, c-format -msgid "could not get data directory using %s: %s\n" -msgstr "не вдалося отримати каталог даних, виконавши %s: %s\n" +msgid "could not get data directory using %s: %s" +msgstr "не вдалося отримати каталог даних, виконавши %s: %s" -#: option.c:505 +#: option.c:500 #, c-format -msgid "could not read line %d from file \"%s\": %s\n" -msgstr "не вдалося прочитати рядок %d з файлу \"%s\": %s\n" +msgid "could not read line %d from file \"%s\": %m" +msgstr "не вдалося прочитати рядок %d з файлу \"%s\": %m" -#: option.c:522 +#: option.c:517 #, c-format -msgid "user-supplied old port number %hu corrected to %hu\n" -msgstr "вказаний користувачем старий номер порту %hu змінений на %hu\n" +msgid "user-supplied old port number %hu corrected to %hu" +msgstr "вказаний користувачем старий номер порту %hu змінений на %hu" -#: parallel.c:127 parallel.c:238 +#: parallel.c:127 parallel.c:235 #, c-format -msgid "could not create worker process: %s\n" -msgstr "не вдалося створити робочий процес: %s\n" +msgid "could not create worker process: %m" +msgstr "не вдалося створити робочий процес: %m" -#: parallel.c:146 parallel.c:259 +#: parallel.c:143 parallel.c:253 #, c-format -msgid "could not create worker thread: %s\n" -msgstr "не вдалося створити робочий потік: %s\n" +msgid "could not create worker thread: %m" +msgstr "не вдалося створити робочий потік: %m" -#: parallel.c:300 +#: parallel.c:294 #, c-format -msgid "%s() failed: %s\n" -msgstr "%s() помилка: %s\n" +msgid "%s() failed: %m" +msgstr "%s() помилка: %m" -#: parallel.c:304 +#: parallel.c:298 #, c-format -msgid "child process exited abnormally: status %d\n" -msgstr "дочірній процес завершився ненормально: статус %d\n" +msgid "child process exited abnormally: status %d" +msgstr "дочірній процес завершився ненормально: статус %d" -#: parallel.c:319 +#: parallel.c:313 #, c-format -msgid "child worker exited abnormally: %s\n" -msgstr "дочірній процес завершився аварійно: %s\n" +msgid "child worker exited abnormally: %m" +msgstr "дочірній процес завершився аварійно: %m" -#: pg_upgrade.c:107 +#: pg_upgrade.c:115 #, c-format -msgid "could not read permissions of directory \"%s\": %s\n" -msgstr "не вдалося прочитати права на каталог \"%s\": %s\n" +msgid "could not read permissions of directory \"%s\": %m" +msgstr "не вдалося прочитати дозволи на каталог \"%s\": %m" -#: pg_upgrade.c:122 +#: pg_upgrade.c:147 #, c-format msgid "\n" "Performing Upgrade\n" -"------------------\n" +"------------------" msgstr "\n" "Виконання оновлення\n" -"------------------\n" +"------------------" -#: pg_upgrade.c:165 +#: pg_upgrade.c:192 #, c-format msgid "Setting next OID for new cluster" msgstr "Встановлення наступного OID для нового кластера" -#: pg_upgrade.c:172 +#: pg_upgrade.c:216 #, c-format msgid "Sync data directory to disk" msgstr "Синхронізація каталогу даних на диск" -#: pg_upgrade.c:183 +#: pg_upgrade.c:230 #, c-format msgid "\n" "Upgrade Complete\n" -"----------------\n" +"----------------" msgstr "\n" "Оновлення завершено\n" -"----------------\n" +"----------------" -#: pg_upgrade.c:216 +#: pg_upgrade.c:263 pg_upgrade.c:276 pg_upgrade.c:283 pg_upgrade.c:290 +#: pg_upgrade.c:308 pg_upgrade.c:319 +#, c-format +msgid "directory path for new cluster is too long" +msgstr "шлях каталогу для нового кластеру занадто довгий" + +#: pg_upgrade.c:297 pg_upgrade.c:299 pg_upgrade.c:301 pg_upgrade.c:303 +#, c-format +msgid "could not create directory \"%s\": %m" +msgstr "не вдалося створити каталог \"%s\": %m" + +#: pg_upgrade.c:352 #, c-format -msgid "%s: could not find own program executable\n" -msgstr "%s: не вдалося знайти ехе файл власної програми\n" +msgid "%s: could not find own program executable" +msgstr "%s: не вдалося знайти файл виконання власної програми" -#: pg_upgrade.c:242 +#: pg_upgrade.c:378 #, c-format msgid "There seems to be a postmaster servicing the old cluster.\n" -"Please shutdown that postmaster and try again.\n" +"Please shutdown that postmaster and try again." msgstr "Мабуть, запущений процес postmaster, який обслуговує старий кластер.\n" -"Будь ласка, завершіть роботу процесу і спробуйте знову.\n" +"Будь ласка, завершіть роботу процесу і спробуйте знову." -#: pg_upgrade.c:255 +#: pg_upgrade.c:391 #, c-format msgid "There seems to be a postmaster servicing the new cluster.\n" -"Please shutdown that postmaster and try again.\n" +"Please shutdown that postmaster and try again." msgstr "Мабуть, запущений процес postmaster, який обслуговує новий кластер.\n" -"Будь ласка, завершіть роботу процесу і спробуйте знову.\n" +"Будь ласка, завершіть роботу процесу і спробуйте знову." + +#: pg_upgrade.c:413 +#, c-format +msgid "Setting locale and encoding for new cluster" +msgstr "Установка локалі та кодування для нового кластеру" -#: pg_upgrade.c:269 +#: pg_upgrade.c:489 #, c-format msgid "Analyzing all rows in the new cluster" msgstr "Аналіз всіх рядків у новому кластері" -#: pg_upgrade.c:282 +#: pg_upgrade.c:502 #, c-format msgid "Freezing all rows in the new cluster" msgstr "Закріплення всіх рядків у новому кластері" -#: pg_upgrade.c:302 +#: pg_upgrade.c:522 #, c-format msgid "Restoring global objects in the new cluster" msgstr "Відновлення глобальних об'єктів у новому кластері" -#: pg_upgrade.c:317 +#: pg_upgrade.c:538 #, c-format -msgid "Restoring database schemas in the new cluster\n" -msgstr "Відновлення схем баз даних у новому кластері\n" +msgid "Restoring database schemas in the new cluster" +msgstr "Відновлення схем баз даних у новому кластері" -#: pg_upgrade.c:421 +#: pg_upgrade.c:662 #, c-format msgid "Deleting files from new %s" msgstr "Видалення файлів з нового %s" -#: pg_upgrade.c:425 +#: pg_upgrade.c:666 #, c-format -msgid "could not delete directory \"%s\"\n" -msgstr "не вдалося видалити каталог \"%s\"\n" +msgid "could not delete directory \"%s\"" +msgstr "не вдалося видалити каталог \"%s\"" -#: pg_upgrade.c:444 +#: pg_upgrade.c:685 #, c-format msgid "Copying old %s to new server" msgstr "Копіювання старого %s до нового серверу" -#: pg_upgrade.c:470 +#: pg_upgrade.c:711 #, c-format msgid "Setting oldest XID for new cluster" msgstr "Встановлення найстарішого XID для нового кластеру" -#: pg_upgrade.c:478 +#: pg_upgrade.c:719 #, c-format msgid "Setting next transaction ID and epoch for new cluster" msgstr "Установка наступного ID транзакції й епохи для нового кластера" -#: pg_upgrade.c:508 +#: pg_upgrade.c:749 #, c-format msgid "Setting next multixact ID and offset for new cluster" msgstr "Установка наступного ID і зсуву мультитранзакції для нового кластера" -#: pg_upgrade.c:532 +#: pg_upgrade.c:773 #, c-format msgid "Setting oldest multixact ID in new cluster" msgstr "Установка найстаршого ID мультитранзакції в новому кластері" -#: pg_upgrade.c:552 +#: pg_upgrade.c:793 #, c-format msgid "Resetting WAL archives" msgstr "Скидання архівів WAL" -#: pg_upgrade.c:595 +#: pg_upgrade.c:836 #, c-format msgid "Setting frozenxid and minmxid counters in new cluster" msgstr "Установка лічильників frozenxid і minmxid у новому кластері" -#: pg_upgrade.c:597 +#: pg_upgrade.c:838 #, c-format msgid "Setting minmxid counter in new cluster" msgstr "Установка лічильника minmxid у новому кластері" -#: relfilenode.c:35 +#: pg_upgrade.c:929 #, c-format -msgid "Cloning user relation files\n" -msgstr "Клонування файлів користувацьких відношень\n" +msgid "Restoring logical replication slots in the new cluster" +msgstr "Відновлення слотів логічної реплікації в новому кластері" -#: relfilenode.c:38 +#: relfilenumber.c:35 #, c-format -msgid "Copying user relation files\n" -msgstr "Копіювання файлів користувацьких відношень\n" +msgid "Cloning user relation files" +msgstr "Клонування файлів користувацьких відношень" -#: relfilenode.c:41 +#: relfilenumber.c:38 #, c-format -msgid "Linking user relation files\n" -msgstr "Підключення файлів користувацьких відношень посиланнями\n" +msgid "Copying user relation files" +msgstr "Копіювання файлів користувацьких відношень" -#: relfilenode.c:115 +#: relfilenumber.c:41 #, c-format -msgid "old database \"%s\" not found in the new cluster\n" -msgstr "стара база даних \"%s\" не знайдена в новому кластері\n" +msgid "Copying user relation files with copy_file_range" +msgstr "Копіювання файлів користувацьких відношень за допомогою copy_file_range" -#: relfilenode.c:230 +#: relfilenumber.c:44 #, c-format -msgid "error while checking for file existence \"%s.%s\" (\"%s\" to \"%s\"): %s\n" -msgstr "помилка під час перевірки існування файлу \"%s.%s\" (з \"%s\" в \"%s\"): %s\n" +msgid "Linking user relation files" +msgstr "Приєднання файлів користувацьких відношень" -#: relfilenode.c:248 +#: relfilenumber.c:118 #, c-format -msgid "rewriting \"%s\" to \"%s\"\n" -msgstr "перезаписування \"%s\" в \"%s\"\n" +msgid "old database \"%s\" not found in the new cluster" +msgstr "стара база даних \"%s\" не знайдена в новому кластері" -#: relfilenode.c:256 +#: relfilenumber.c:221 #, c-format -msgid "cloning \"%s\" to \"%s\"\n" -msgstr "клонування \"%s\" до \"%s\"\n" +msgid "error while checking for file existence \"%s.%s\" (\"%s\" to \"%s\"): %m" +msgstr "помилка під час перевірки існування файлу \"%s.%s\" (з \"%s\" в \"%s\"): %m" -#: relfilenode.c:261 +#: relfilenumber.c:238 #, c-format -msgid "copying \"%s\" to \"%s\"\n" -msgstr "копіювання \"%s\" в \"%s\"\n" +msgid "rewriting \"%s\" to \"%s\"" +msgstr "переписування \"%s\" на \"%s\"" -#: relfilenode.c:266 +#: relfilenumber.c:246 #, c-format -msgid "linking \"%s\" to \"%s\"\n" -msgstr "створення посилання на \"%s\" в \"%s\"\n" +msgid "cloning \"%s\" to \"%s\"" +msgstr "клонування \"%s\" до \"%s\"" -#: server.c:38 server.c:142 util.c:135 util.c:165 +#: relfilenumber.c:251 +#, c-format +msgid "copying \"%s\" to \"%s\"" +msgstr "копіювання \"%s\" в \"%s\"" + +#: relfilenumber.c:256 +#, c-format +msgid "copying \"%s\" to \"%s\" with copy_file_range" +msgstr "" + +#: relfilenumber.c:261 +#, c-format +msgid "linking \"%s\" to \"%s\"" +msgstr "створення посилання на \"%s\" в \"%s\"" + +#: server.c:39 server.c:143 util.c:248 util.c:278 #, c-format msgid "Failure, exiting\n" msgstr "Помилка, вихід\n" -#: server.c:132 +#: server.c:133 #, c-format -msgid "executing: %s\n" -msgstr "виконується: %s\n" +msgid "executing: %s" +msgstr "виконується: %s" -#: server.c:138 +#: server.c:139 #, c-format msgid "SQL command failed\n" "%s\n" @@ -1472,192 +1727,117 @@ msgstr "Помилка SQL-команди\n" "%s\n" "%s" -#: server.c:168 +#: server.c:169 #, c-format -msgid "could not open version file \"%s\": %m\n" -msgstr "не вдалося відкрити файл версії \"%s\": %m\n" +msgid "could not open version file \"%s\": %m" +msgstr "не вдалося відкрити файл версії \"%s\": %m" -#: server.c:172 +#: server.c:173 #, c-format -msgid "could not parse version file \"%s\"\n" -msgstr "не вдалося проаналізувати файл версії \"%s\"\n" +msgid "could not parse version file \"%s\"" +msgstr "не вдалося проаналізувати файл версії \"%s\"" -#: server.c:298 +#: server.c:310 #, c-format msgid "\n" "%s" msgstr "\n" "%s" -#: server.c:302 +#: server.c:314 #, c-format msgid "could not connect to source postmaster started with the command:\n" -"%s\n" +"%s" msgstr "не вдалося підключитися до початкового процесу postmaster, запущеного командою:\n" -"%s\n" +"%s" -#: server.c:306 +#: server.c:318 #, c-format msgid "could not connect to target postmaster started with the command:\n" -"%s\n" +"%s" msgstr "не вдалося підключитися до цільового процесу postmaster, запущеного командою:\n" -"%s\n" +"%s" -#: server.c:320 +#: server.c:332 #, c-format -msgid "pg_ctl failed to start the source server, or connection failed\n" -msgstr "pg_ctl не зміг запустити початковий сервер або сталася помилка підключення\n" +msgid "pg_ctl failed to start the source server, or connection failed" +msgstr "pg_ctl не зміг запустити початковий сервер або сталася помилка підключення" -#: server.c:322 +#: server.c:334 #, c-format -msgid "pg_ctl failed to start the target server, or connection failed\n" -msgstr "pg_ctl не зміг запустити цільовий сервер або сталася помилка підключення\n" +msgid "pg_ctl failed to start the target server, or connection failed" +msgstr "pg_ctl не зміг запустити цільовий сервер або сталася помилка підключення" -#: server.c:367 +#: server.c:379 #, c-format -msgid "out of memory\n" -msgstr "недостатньо пам'яті\n" +msgid "out of memory" +msgstr "недостатньо пам'яті" -#: server.c:380 +#: server.c:392 #, c-format -msgid "libpq environment variable %s has a non-local server value: %s\n" -msgstr "у змінній середовища для libpq %s задано не локальне значення: %s\n" +msgid "libpq environment variable %s has a non-local server value: %s" +msgstr "у змінній середовища для libpq %s задано не локальне значення: %s" #: tablespace.c:28 #, c-format msgid "Cannot upgrade to/from the same system catalog version when\n" -"using tablespaces.\n" +"using tablespaces." msgstr "Оновлення в межах однієї версії системного каталогу неможливе,\n" -"якщо використовуються табличні простори.\n" - -#: tablespace.c:86 -#, c-format -msgid "tablespace directory \"%s\" does not exist\n" -msgstr "каталог табличного простору \"%s\" не існує\n" +"якщо використовуються табличні простори." -#: tablespace.c:90 +#: tablespace.c:83 #, c-format -msgid "could not stat tablespace directory \"%s\": %s\n" -msgstr "не вдалося отримати стан каталогу табличного простору \"%s\": %s\n" +msgid "tablespace directory \"%s\" does not exist" +msgstr "каталог табличного простору \"%s\" не існує" -#: tablespace.c:95 +#: tablespace.c:87 #, c-format -msgid "tablespace path \"%s\" is not a directory\n" -msgstr "шлях табличного простору \"%s\" не вказує на каталог\n" +msgid "could not stat tablespace directory \"%s\": %m" +msgstr "" -#: util.c:49 +#: tablespace.c:92 #, c-format -msgid " " -msgstr " " +msgid "tablespace path \"%s\" is not a directory" +msgstr "шлях табличного простору \"%s\" не вказує на каталог" -#: util.c:82 +#: util.c:53 util.c:56 util.c:139 util.c:170 util.c:172 #, c-format msgid "%-*s" msgstr "%-*s" -#: util.c:174 +#: util.c:107 +#, c-format +msgid "could not access directory \"%s\": %m" +msgstr "немає доступу до каталогу \"%s\": %m" + +#: util.c:287 #, c-format msgid "ok" msgstr "ok" -#: version.c:29 +#: version.c:44 #, c-format -msgid "Checking for large objects" -msgstr "Перевірка великих об'єктів" +msgid "Checking for hash indexes" +msgstr "Перевірка геш-індексів" -#: version.c:77 version.c:419 +#: version.c:121 #, c-format msgid "warning" msgstr "попередження" -#: version.c:79 -#, c-format -msgid "\n" -"Your installation contains large objects. The new database has an\n" -"additional large object permission table. After upgrading, you will be\n" -"given a command to populate the pg_largeobject_metadata table with\n" -"default permissions.\n\n" -msgstr "\n" -"Ваша інсталяція містить великі об'єкти. Нова база даних має\n" -"додаткову таблицю з правами для великих об'єктів. Після оновлення ви отримаєте команду для заповнення таблиці pg_largeobject_metadata \n" -"з правами за замовчуванням.\n\n" - -#: version.c:85 -#, c-format -msgid "\n" -"Your installation contains large objects. The new database has an\n" -"additional large object permission table, so default permissions must be\n" -"defined for all large objects. The file\n" -" %s\n" -"when executed by psql by the database superuser will set the default\n" -"permissions.\n\n" -msgstr "\n" -"Ваша інсталяція містить великі об'єкти. Нова база даних має\n" -"додаткову таблицю з правами для великих об'єктів, тож для всіх\n" -"великих об'єктів повинні визначатись права за замовчуванням. Файл\n" -" %s\n" -"дозволяє встановити такі права (він призначений для виконання в psql\n" -"суперкористувачем бази даних).\n\n" - -#: version.c:272 -#, c-format -msgid "Checking for incompatible \"line\" data type" -msgstr "Перевірка несумісного типу даних \"line\"" - -#: version.c:279 -#, c-format -msgid "Your installation contains the \"line\" data type in user tables.\n" -"This data type changed its internal and input/output format\n" -"between your old and new versions so this\n" -"cluster cannot currently be upgraded. You can\n" -"drop the problem columns and restart the upgrade.\n" -"A list of the problem columns is in the file:\n" -" %s\n\n" -msgstr "Ваша інсталяція містить тип даних \"line\" в таблицях користувача.\n" -"Внутрішній формат та формат вводу/виводу цього типу даних змінено між вашою старою та новими версіями,\n" -"тому цей кластер наразі не може бути оновлений.\n" -"Ви можете видалити проблемні стовпці та перезапустити оновлення.\n" -"Список проблемних стовпців знаходиться у файлі:\n" -" %s\n\n" - -#: version.c:310 -#, c-format -msgid "Checking for invalid \"unknown\" user columns" -msgstr "Перевірка неприпустимих користувацьких стовпців \"unknown\"" - -#: version.c:317 -#, c-format -msgid "Your installation contains the \"unknown\" data type in user tables.\n" -"This data type is no longer allowed in tables, so this\n" -"cluster cannot currently be upgraded. You can\n" -"drop the problem columns and restart the upgrade.\n" -"A list of the problem columns is in the file:\n" -" %s\n\n" -msgstr "Ваша інсталяція містить \"unknown\" тип даних у таблицях користувача.\n" -"Цей тип даних більше не допускається в таблицях,\n" -"тому цей кластер наразі не може бути оновлений.\n" -"Ви можете видалити проблемні стовпці та перезапустити оновлення.\n" -"Список проблемних стовпців знаходиться у файлі:\n" -" %s\n\n" - -#: version.c:341 -#, c-format -msgid "Checking for hash indexes" -msgstr "Перевірка геш-індексів" - -#: version.c:421 +#: version.c:123 #, c-format msgid "\n" "Your installation contains hash indexes. These indexes have different\n" "internal formats between your old and new clusters, so they must be\n" "reindexed with the REINDEX command. After upgrading, you will be given\n" -"REINDEX instructions.\n\n" +"REINDEX instructions." msgstr "\n" "Ваша інсталяція містить геш-індекси. Ці індекси мають різні внутрішні\n" "формати в старому і новому кластерах, тож їх потрібно повторно індексувати\n" -"за допомогою команди REINDEX. Після оновлення вам буде надано інструкції REINDEX.\n\n" +"за допомогою команди REINDEX. Після оновлення вам буде надано інструкції REINDEX." -#: version.c:427 +#: version.c:129 #, c-format msgid "\n" "Your installation contains hash indexes. These indexes have different\n" @@ -1665,57 +1845,37 @@ msgid "\n" "reindexed with the REINDEX command. The file\n" " %s\n" "when executed by psql by the database superuser will recreate all invalid\n" -"indexes; until then, none of these indexes will be used.\n\n" +"indexes; until then, none of these indexes will be used." msgstr "\n" "Ваша інсталяція містить геш-індекси. Ці індекси мають різні внутрішні\n" "формати в старому і новому кластерах, тож їх потрібно повторно індексувати\n" "за допомогою команди REINDEX. Файл\n" " %s\n" "після виконання суперкористувачем бази даних в psql, повторно створить\n" -"всі неприпустимі індекси; до цього ніякі геш-індекси не будуть використовуватись.\n\n" - -#: version.c:453 -#, c-format -msgid "Checking for invalid \"sql_identifier\" user columns" -msgstr "Перевірка неприпустимих користувацьких стовпців \"sql_identifier\"" - -#: version.c:461 -#, c-format -msgid "Your installation contains the \"sql_identifier\" data type in user tables.\n" -"The on-disk format for this data type has changed, so this\n" -"cluster cannot currently be upgraded. You can\n" -"drop the problem columns and restart the upgrade.\n" -"A list of the problem columns is in the file:\n" -" %s\n\n" -msgstr "Ваша інсталяція містить \"sql_identifier\" тип даних у таблицях користувача.\n" -"Формат зберігання для цього типу даних змінено,\n" -"тому цей кластер наразі не може бути оновлений.\n" -"Ви можете видалити проблемні стовпці та перезапустити оновлення.\n" -"Список проблемних стовпців знаходиться у файлі:\n" -" %s\n\n" +"всі неприпустимі індекси; до цього ніякі геш-індекси не будуть використовуватись." -#: version.c:485 +#: version.c:153 #, c-format msgid "Checking for extension updates" msgstr "Перевірка оновлень розширення" -#: version.c:537 +#: version.c:200 #, c-format msgid "notice" msgstr "повідомлення" -#: version.c:538 +#: version.c:201 #, c-format msgid "\n" "Your installation contains extensions that should be updated\n" "with the ALTER EXTENSION command. The file\n" " %s\n" "when executed by psql by the database superuser will update\n" -"these extensions.\n\n" +"these extensions." msgstr "\n" "Ваша інсталяція містить розширення, які потрібно оновити\n" -"командою ALTER EXTENSION . Файл\n" +"командою ALTER EXTENSION. Файл\n" " %s,\n" "коли виконується суперкористувачем бази даних за допомогою\n" -"psql, оновить ці розширення.\n\n" +"psql, оновить ці розширення." diff --git a/src/bin/pg_upgrade/t/003_logical_slots.pl b/src/bin/pg_upgrade/t/003_logical_slots.pl index 87c471a6ead..0a2483d3dfc 100644 --- a/src/bin/pg_upgrade/t/003_logical_slots.pl +++ b/src/bin/pg_upgrade/t/003_logical_slots.pl @@ -117,7 +117,7 @@ [@pg_upgrade_cmd], 1, [ - qr/Your installation contains logical replication slots that can't be upgraded./ + qr/Your installation contains logical replication slots that cannot be upgraded./ ], [qr//], 'run of pg_upgrade of old cluster with slots having unconsumed WAL records' diff --git a/src/bin/pg_verifybackup/po/de.po b/src/bin/pg_verifybackup/po/de.po index 7cc195ecc94..f298b9f978f 100644 --- a/src/bin/pg_verifybackup/po/de.po +++ b/src/bin/pg_verifybackup/po/de.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_verifybackup (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-06-16 07:48+0000\n" -"PO-Revision-Date: 2024-05-24 15:40+0200\n" +"POT-Creation-Date: 2024-08-29 13:18+0000\n" +"PO-Revision-Date: 2024-08-29 16:47+0200\n" "Last-Translator: Peter Eisentraut \n" "Language-Team: German \n" "Language: de\n" @@ -280,7 +280,7 @@ msgid "unexpected manifest version" msgstr "unerwartete Manifestversion" #: ../../common/parse_manifest.c:637 -msgid "manifest system identifier not an integer" +msgid "system identifier in manifest not an integer" msgstr "Systemidentifikator im Manifest ist keine ganze Zahl" #: ../../common/parse_manifest.c:662 diff --git a/src/bin/pg_verifybackup/po/es.po b/src/bin/pg_verifybackup/po/es.po index 0cb958f3448..68c8d331b2a 100644 --- a/src/bin/pg_verifybackup/po/es.po +++ b/src/bin/pg_verifybackup/po/es.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_verifybackup (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-05-22 07:17+0000\n" -"PO-Revision-Date: 2023-05-22 12:06+0200\n" +"POT-Creation-Date: 2024-08-01 11:18+0000\n" +"PO-Revision-Date: 2024-08-04 22:42-0400\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-ayuda \n" "Language: es\n" @@ -39,6 +39,81 @@ msgstr "detalle: " msgid "hint: " msgstr "consejo: " +#: ../../common/controldata_utils.c:97 +#, 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_verifybackup.c:438 +#: pg_verifybackup.c:476 pg_verifybackup.c:896 +#, c-format +msgid "could not read file \"%s\": %m" +msgstr "no se pudo leer el archivo «%s»: %m" + +#: ../../common/controldata_utils.c:119 +#, c-format +msgid "could not read file \"%s\": read %d of %zu" +msgstr "no se pudo leer el archivo «%s»: leídos %d de %zu" + +#: ../../common/controldata_utils.c:132 ../../common/controldata_utils.c:280 +#: pg_verifybackup.c:902 +#, c-format +msgid "could not close file \"%s\": %m" +msgstr "no se pudo cerrar el archivo «%s»: %m" + +#: ../../common/controldata_utils.c:168 +msgid "byte ordering mismatch" +msgstr "discordancia en orden de bytes" + +#: ../../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 "" +"posible discordancia en orden de bytes\n" +"El ordenamiento de bytes usado para almacenar el archivo pg_control puede no\n" +"coincidir con el usado por este programa. En tal caso los resultados de abajo\n" +"serían erróneos, y la instalación de PostgreSQL sería incompatible con este\n" +"directorio de datos." + +#: ../../common/controldata_utils.c:230 pg_verifybackup.c:406 +#: pg_verifybackup.c:865 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "no se pudo abrir el archivo «%s»: %m" + +#: ../../common/controldata_utils.c:249 +#, c-format +msgid "could not write file \"%s\": %m" +msgstr "no se pudo escribir el archivo «%s»: %m" + +#: ../../common/controldata_utils.c:268 +#, c-format +msgid "could not fsync file \"%s\": %m" +msgstr "no se pudo sincronizar (fsync) archivo «%s»: %m" + +#: ../../common/cryptohash.c:261 ../../common/cryptohash_openssl.c:356 +#: ../../common/parse_manifest.c:157 ../../common/parse_manifest.c:853 +#, c-format +msgid "out of memory" +msgstr "memoria agotada" + +#: ../../common/cryptohash.c:266 ../../common/cryptohash.c:272 +#: ../../common/cryptohash_openssl.c:368 ../../common/cryptohash_openssl.c:376 +msgid "success" +msgstr "éxito" + +#: ../../common/cryptohash.c:268 ../../common/cryptohash_openssl.c:370 +msgid "destination buffer too small" +msgstr "el búfer de destino es demasiado pequeño" + +#: ../../common/cryptohash_openssl.c:372 +msgid "OpenSSL failure" +msgstr "falla de openSSL" + #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 #: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 #, c-format @@ -50,390 +125,405 @@ msgstr "memoria agotada\n" msgid "cannot duplicate null pointer (internal error)\n" msgstr "no se puede duplicar un puntero nulo (error interno)\n" -#: ../../common/jsonapi.c:1144 +#: ../../common/jsonapi.c:2121 +msgid "Recursive descent parser cannot use incremental lexer." +msgstr "El parser recursivo descendiente no puede usar el lexer incremental." + +#: ../../common/jsonapi.c:2123 +msgid "Incremental parser requires incremental lexer." +msgstr "El parser incremental requiere el lexer incremental." + +#: ../../common/jsonapi.c:2125 +msgid "JSON nested too deep, maximum permitted depth is 6400." +msgstr "JSON anidado demasiado profundamente, profundidad máxima es 6400." + +#: ../../common/jsonapi.c:2127 #, c-format -msgid "Escape sequence \"\\%s\" is invalid." -msgstr "La secuencia de escape «%s» no es válida." +msgid "Escape sequence \"\\%.*s\" is invalid." +msgstr "La secuencia de escape «\\%.*s» no es válida." -#: ../../common/jsonapi.c:1147 +#: ../../common/jsonapi.c:2131 #, c-format msgid "Character with value 0x%02x must be escaped." msgstr "Los caracteres con valor 0x%02x deben ser escapados." -#: ../../common/jsonapi.c:1150 +#: ../../common/jsonapi.c:2135 #, c-format -msgid "Expected end of input, but found \"%s\"." -msgstr "Se esperaba el fin de la entrada, se encontró «%s»." +msgid "Expected end of input, but found \"%.*s\"." +msgstr "Se esperaba el fin de la entrada, se encontró «%.*s»." -#: ../../common/jsonapi.c:1153 +#: ../../common/jsonapi.c:2138 #, c-format -msgid "Expected array element or \"]\", but found \"%s\"." -msgstr "Se esperaba un elemento de array o «]», se encontró «%s»." +msgid "Expected array element or \"]\", but found \"%.*s\"." +msgstr "Se esperaba un elemento de array o «]», se encontró «%.*s»." -#: ../../common/jsonapi.c:1156 +#: ../../common/jsonapi.c:2141 #, c-format -msgid "Expected \",\" or \"]\", but found \"%s\"." -msgstr "Se esperaba «,» o «]», se encontró «%s»." +msgid "Expected \",\" or \"]\", but found \"%.*s\"." +msgstr "Se esperaba «,» o «]», se encontró «%.*s»." -#: ../../common/jsonapi.c:1159 +#: ../../common/jsonapi.c:2144 #, c-format -msgid "Expected \":\", but found \"%s\"." -msgstr "Se esperaba «:», se encontró «%s»." +msgid "Expected \":\", but found \"%.*s\"." +msgstr "Se esperaba «:», se encontró «%.*s»." -#: ../../common/jsonapi.c:1162 +#: ../../common/jsonapi.c:2147 #, c-format -msgid "Expected JSON value, but found \"%s\"." -msgstr "Se esperaba un valor JSON, se encontró «%s»." +msgid "Expected JSON value, but found \"%.*s\"." +msgstr "Se esperaba un valor JSON, se encontró «%.*s»." -#: ../../common/jsonapi.c:1165 +#: ../../common/jsonapi.c:2150 msgid "The input string ended unexpectedly." msgstr "La cadena de entrada terminó inesperadamente." -#: ../../common/jsonapi.c:1167 +#: ../../common/jsonapi.c:2152 #, c-format -msgid "Expected string or \"}\", but found \"%s\"." -msgstr "Se esperaba una cadena o «}», se encontró «%s»." +msgid "Expected string or \"}\", but found \"%.*s\"." +msgstr "Se esperaba una cadena o «}», se encontró «%.*s»." -#: ../../common/jsonapi.c:1170 +#: ../../common/jsonapi.c:2155 #, c-format -msgid "Expected \",\" or \"}\", but found \"%s\"." -msgstr "Se esperaba «,» o «}», se encontró «%s»." +msgid "Expected \",\" or \"}\", but found \"%.*s\"." +msgstr "Se esperaba «,» o «}», se encontró «%.*s»." -#: ../../common/jsonapi.c:1173 +#: ../../common/jsonapi.c:2158 #, c-format -msgid "Expected string, but found \"%s\"." -msgstr "Se esperaba una cadena, se encontró «%s»." +msgid "Expected string, but found \"%.*s\"." +msgstr "Se esperaba una cadena, se encontró «%.*s»." -#: ../../common/jsonapi.c:1176 +#: ../../common/jsonapi.c:2161 #, c-format -msgid "Token \"%s\" is invalid." -msgstr "El elemento «%s» no es válido." +msgid "Token \"%.*s\" is invalid." +msgstr "El elemento «%.*s» no es válido." -#: ../../common/jsonapi.c:1179 +#: ../../common/jsonapi.c:2164 msgid "\\u0000 cannot be converted to text." msgstr "\\u0000 no puede ser convertido a text." -#: ../../common/jsonapi.c:1181 +#: ../../common/jsonapi.c:2166 msgid "\"\\u\" must be followed by four hexadecimal digits." msgstr "«\\u» debe ser seguido por cuatro dígitos hexadecimales." -#: ../../common/jsonapi.c:1184 +#: ../../common/jsonapi.c:2169 msgid "Unicode escape values cannot be used for code point values above 007F when the encoding is not UTF8." msgstr "Los valores de escape Unicode no se pueden utilizar para valores de código superiores a 007F cuando la codificación no es UTF8." -#: ../../common/jsonapi.c:1187 +#: ../../common/jsonapi.c:2178 #, c-format msgid "Unicode escape value could not be translated to the server's encoding %s." msgstr "El valor de escape Unicode no pudo ser traducido a la codificación del servidor %s." -#: ../../common/jsonapi.c:1190 +#: ../../common/jsonapi.c:2185 msgid "Unicode high surrogate must not follow a high surrogate." msgstr "Un «high-surrogate» Unicode no puede venir después de un «high-surrogate»." -#: ../../common/jsonapi.c:1192 +#: ../../common/jsonapi.c:2187 msgid "Unicode low surrogate must follow a high surrogate." msgstr "Un «low-surrogate» Unicode debe seguir a un «high-surrogate»." -# XXX change upstream message -#: parse_manifest.c:150 -msgid "parsing failed" -msgstr "procesamiento falló" +#: ../../common/parse_manifest.c:159 ../../common/parse_manifest.c:855 +#, c-format +msgid "could not initialize checksum of manifest" +msgstr "no se pudo inicializar la suma de verificación del manifiesto" -#: parse_manifest.c:152 +#: ../../common/parse_manifest.c:204 ../../common/parse_manifest.c:261 msgid "manifest ended unexpectedly" msgstr "el manifiesto terminó inesperadamente" -#: parse_manifest.c:191 +#: ../../common/parse_manifest.c:210 ../../common/parse_manifest.c:862 +#, c-format +msgid "could not update checksum of manifest" +msgstr "no se pudo actualizar la suma de verificación del manifiesto" + +#: ../../common/parse_manifest.c:302 msgid "unexpected object start" msgstr "inicio de objeto inesperado" -#: parse_manifest.c:226 +#: ../../common/parse_manifest.c:337 msgid "unexpected object end" msgstr "fin de objeto inesperado" -#: parse_manifest.c:255 +#: ../../common/parse_manifest.c:366 msgid "unexpected array start" msgstr "inicio de array inesperado" -#: parse_manifest.c:280 +#: ../../common/parse_manifest.c:391 msgid "unexpected array end" msgstr "fin de array inesperado" -#: parse_manifest.c:307 +#: ../../common/parse_manifest.c:418 msgid "expected version indicator" msgstr "se esperaba indicador de versión" -#: parse_manifest.c:336 +#: ../../common/parse_manifest.c:454 msgid "unrecognized top-level field" msgstr "campo de nivel superior no reconocido" -#: parse_manifest.c:355 +#: ../../common/parse_manifest.c:473 msgid "unexpected file field" msgstr "campo de archivo inesperado" -#: parse_manifest.c:369 +#: ../../common/parse_manifest.c:487 msgid "unexpected WAL range field" msgstr "campo de rango de WAL inesperado" -#: parse_manifest.c:375 +#: ../../common/parse_manifest.c:493 msgid "unexpected object field" msgstr "campo de objeto inesperado" -#: parse_manifest.c:407 +#: ../../common/parse_manifest.c:583 +msgid "unexpected scalar" +msgstr "escalar inesperado" + +#: ../../common/parse_manifest.c:609 +msgid "manifest version not an integer" +msgstr "la versión de manifiesto no es un número entero" + +#: ../../common/parse_manifest.c:613 msgid "unexpected manifest version" msgstr "versión de manifiesto inesperada" -#: parse_manifest.c:458 -msgid "unexpected scalar" -msgstr "escalar inesperado" +#: ../../common/parse_manifest.c:637 +msgid "manifest system identifier not an integer" +msgstr "el identificador de sistema del manifiesto no es un número entero" -#: parse_manifest.c:484 +#: ../../common/parse_manifest.c:662 msgid "missing path name" msgstr "ruta de archivo faltante" -#: parse_manifest.c:487 +#: ../../common/parse_manifest.c:665 msgid "both path name and encoded path name" msgstr "hay ambos ruta de archivo (path name) y ruta codificada (encoded path name)" -#: parse_manifest.c:489 +#: ../../common/parse_manifest.c:667 msgid "missing size" msgstr "tamaño faltante" -#: parse_manifest.c:492 +#: ../../common/parse_manifest.c:670 msgid "checksum without algorithm" msgstr "suma de comprobación sin algoritmo" -#: parse_manifest.c:506 +#: ../../common/parse_manifest.c:684 msgid "could not decode file name" msgstr "no se pudo decodificar el nombre del archivo" -#: parse_manifest.c:516 +#: ../../common/parse_manifest.c:694 msgid "file size is not an integer" msgstr "el tamaño del archivo no es un número entero" -#: parse_manifest.c:522 +#: ../../common/parse_manifest.c:700 #, c-format msgid "unrecognized checksum algorithm: \"%s\"" msgstr "algoritmo de suma de comprobación no reconocido: \"%s\"" -#: parse_manifest.c:541 +#: ../../common/parse_manifest.c:719 #, c-format msgid "invalid checksum for file \"%s\": \"%s\"" msgstr "suma de comprobación no válida para el archivo \"%s\": \"%s\"" -#: parse_manifest.c:584 +#: ../../common/parse_manifest.c:762 msgid "missing timeline" msgstr "falta el timeline" -#: parse_manifest.c:586 +#: ../../common/parse_manifest.c:764 msgid "missing start LSN" msgstr "falta el LSN de inicio" -#: parse_manifest.c:588 +#: ../../common/parse_manifest.c:766 msgid "missing end LSN" msgstr "falta el LSN de término" -#: parse_manifest.c:594 +#: ../../common/parse_manifest.c:772 msgid "timeline is not an integer" msgstr "el timeline no es un número entero" -#: parse_manifest.c:597 +#: ../../common/parse_manifest.c:775 msgid "could not parse start LSN" msgstr "no se pudo interpretar el LSN de inicio" -#: parse_manifest.c:600 +#: ../../common/parse_manifest.c:778 msgid "could not parse end LSN" msgstr "no se pudo interpretar el LSN de término" -#: parse_manifest.c:661 +#: ../../common/parse_manifest.c:843 msgid "expected at least 2 lines" msgstr "esperado al menos 2 líneas" -#: parse_manifest.c:664 +#: ../../common/parse_manifest.c:846 msgid "last line not newline-terminated" msgstr "última línea no termina en nueva línea" -#: parse_manifest.c:669 -#, c-format -msgid "out of memory" -msgstr "memoria agotada" - -#: parse_manifest.c:671 -#, c-format -msgid "could not initialize checksum of manifest" -msgstr "no se pudo inicializar la suma de verificación del manifiesto" - -#: parse_manifest.c:673 -#, c-format -msgid "could not update checksum of manifest" -msgstr "no se pudo actualizar la suma de verificación del manifiesto" - -#: parse_manifest.c:676 +#: ../../common/parse_manifest.c:865 #, c-format msgid "could not finalize checksum of manifest" msgstr "no se pudo finalizar la suma de verificación del manifiesto" -#: parse_manifest.c:680 +#: ../../common/parse_manifest.c:869 #, c-format msgid "manifest has no checksum" msgstr "el manifiesto no tiene suma de comprobación" -#: parse_manifest.c:684 +#: ../../common/parse_manifest.c:873 #, c-format msgid "invalid manifest checksum: \"%s\"" msgstr "suma de comprobación de manifiesto no válida: \"%s\"" -#: parse_manifest.c:688 +#: ../../common/parse_manifest.c:877 #, c-format msgid "manifest checksum mismatch" msgstr "discordancia en la suma de comprobación del manifiesto" -#: parse_manifest.c:703 +#: ../../common/parse_manifest.c:892 #, c-format msgid "could not parse backup manifest: %s" msgstr "no se pudo analizar el manifiesto de la copia de seguridad: %s" -#: pg_verifybackup.c:273 pg_verifybackup.c:282 pg_verifybackup.c:293 +#: pg_verifybackup.c:277 pg_verifybackup.c:286 pg_verifybackup.c:297 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Pruebe «%s --help» para mayor información." -#: pg_verifybackup.c:281 +#: pg_verifybackup.c:285 #, c-format msgid "no backup directory specified" msgstr "no fue especificado el directorio de respaldo" -#: pg_verifybackup.c:291 +#: pg_verifybackup.c:295 #, 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_verifybackup.c:299 +#: pg_verifybackup.c:303 #, c-format msgid "cannot specify both %s and %s" msgstr "no se puede especificar %s junto con %s" -#: pg_verifybackup.c:319 +#: pg_verifybackup.c:323 #, c-format msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"" msgstr "el programa «%s» es requerido por %s, pero no pudo encontrarlo en el mismo directorio que «%s»" -#: pg_verifybackup.c:322 +#: pg_verifybackup.c:326 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" msgstr "el programa «%s» fue encontrado por «%s», pero no es de la misma versión que %s" -#: pg_verifybackup.c:378 +#: pg_verifybackup.c:381 #, c-format msgid "backup successfully verified\n" msgstr "copia de seguridad verificada correctamente\n" -#: pg_verifybackup.c:404 pg_verifybackup.c:748 -#, c-format -msgid "could not open file \"%s\": %m" -msgstr "no se pudo abrir el archivo «%s»: %m" - -#: pg_verifybackup.c:408 +#: pg_verifybackup.c:410 #, c-format msgid "could not stat file \"%s\": %m" msgstr "no se pudo hacer stat al archivo «%s»: %m" -#: pg_verifybackup.c:428 pg_verifybackup.c:779 -#, c-format -msgid "could not read file \"%s\": %m" -msgstr "no se pudo leer el archivo «%s»: %m" - -#: pg_verifybackup.c:431 +#: pg_verifybackup.c:440 #, c-format msgid "could not read file \"%s\": read %d of %lld" msgstr "no se pudo leer el archivo «%s»: leídos %d de %lld" -#: pg_verifybackup.c:491 +#: pg_verifybackup.c:478 +#, c-format +msgid "could not read file \"%s\": read %lld of %lld" +msgstr "no se pudo leer el archivo «%s»: leídos %lld de %lld" + +#: pg_verifybackup.c:561 #, c-format msgid "duplicate path name in backup manifest: \"%s\"" msgstr "nombre de ruta duplicado en el manifiesto de la copia de seguridad: \"%s\"" -#: pg_verifybackup.c:554 pg_verifybackup.c:561 +#: pg_verifybackup.c:624 pg_verifybackup.c:631 #, c-format msgid "could not open directory \"%s\": %m" msgstr "no se pudo abrir el directorio «%s»: %m" -#: pg_verifybackup.c:593 +#: pg_verifybackup.c:663 #, c-format msgid "could not close directory \"%s\": %m" msgstr "no se pudo abrir el directorio «%s»: %m" -#: pg_verifybackup.c:613 +#: pg_verifybackup.c:683 #, c-format msgid "could not stat file or directory \"%s\": %m" msgstr "no se pudo hacer stat al archivo o directorio «%s»: %m" -#: pg_verifybackup.c:636 +#: pg_verifybackup.c:706 #, c-format msgid "\"%s\" is not a file or directory" msgstr "\"%s\" no es un archivo o directorio" -#: pg_verifybackup.c:646 +#: pg_verifybackup.c:716 #, c-format msgid "\"%s\" is present on disk but not in the manifest" msgstr "\"%s\" está presente en el disco pero no en el manifiesto" -#: pg_verifybackup.c:658 +#: pg_verifybackup.c:728 #, c-format msgid "\"%s\" has size %lld on disk but size %zu in the manifest" msgstr "\"%s\" tiene un tamaño %lld en el disco pero un tamaño %zu en el manifiesto" -#: pg_verifybackup.c:689 +#: pg_verifybackup.c:768 +#, c-format +msgid "%s: CRC is incorrect" +msgstr "%s: el valor de CRC es incorrecto" + +#: pg_verifybackup.c:772 +#, c-format +msgid "%s: unexpected control file version" +msgstr "%s: versión de archivo de control inesperado" + +#: pg_verifybackup.c:777 +#, c-format +msgid "%s: manifest system identifier is %llu, but control file has %llu" +msgstr "%s: el identificador de sistema del manifiesto es %llu, pero el archivo de control tiene %llu" + +#: pg_verifybackup.c:801 #, c-format msgid "\"%s\" is present in the manifest but not on disk" msgstr "\"%s\" está presente en el manifiesto pero no en el disco" -#: pg_verifybackup.c:756 +#: pg_verifybackup.c:873 #, c-format msgid "could not initialize checksum of file \"%s\"" msgstr "no se pudo inicializar la suma de verificación para el archivo «%s»" -#: pg_verifybackup.c:768 +#: pg_verifybackup.c:885 #, c-format msgid "could not update checksum of file \"%s\"" msgstr "no se pudo actualizar la suma de verificación para el archivo «%s»" -#: pg_verifybackup.c:785 -#, c-format -msgid "could not close file \"%s\": %m" -msgstr "no se pudo cerrar el archivo «%s»: %m" - -#: pg_verifybackup.c:804 +#: pg_verifybackup.c:921 #, c-format msgid "file \"%s\" should contain %zu bytes, but read %zu bytes" msgstr "el archivo \"%s\" debe contener %zu bytes, pero se leyeron %zu bytes" -#: pg_verifybackup.c:814 +#: pg_verifybackup.c:931 #, c-format msgid "could not finalize checksum of file \"%s\"" msgstr "no se pudo finalizar la suma de verificación para el archivo «%s»" -#: pg_verifybackup.c:822 +#: pg_verifybackup.c:939 #, c-format msgid "file \"%s\" has checksum of length %d, but expected %d" msgstr "el archivo \"%s\" tiene una suma de comprobación de longitud %d, pero se esperaba %d" -#: pg_verifybackup.c:826 +#: pg_verifybackup.c:943 #, c-format msgid "checksum mismatch for file \"%s\"" msgstr "no coincide la suma de comprobación para el archivo \"%s\"" -#: pg_verifybackup.c:851 +#: pg_verifybackup.c:969 #, c-format msgid "WAL parsing failed for timeline %u" msgstr "Error al interpretar el WAL para el timeline %u" -#: pg_verifybackup.c:965 +#: pg_verifybackup.c:1072 #, c-format msgid "%*s/%s kB (%d%%) verified" msgstr "%*s/%s kB (%d%%) verificados" -#: pg_verifybackup.c:982 +#: pg_verifybackup.c:1089 #, c-format msgid "" "%s verifies a backup against the backup manifest.\n" @@ -442,7 +532,7 @@ msgstr "" "%s verifica una copia de seguridad con el fichero de manifiesto de la copia de seguridad.\n" "\n" -#: pg_verifybackup.c:983 +#: pg_verifybackup.c:1090 #, c-format msgid "" "Usage:\n" @@ -453,62 +543,62 @@ msgstr "" " %s [OPCIÓN]... BACKUPDIR\n" "\n" -#: pg_verifybackup.c:984 +#: pg_verifybackup.c:1091 #, c-format msgid "Options:\n" msgstr "Opciones:\n" -#: pg_verifybackup.c:985 +#: pg_verifybackup.c:1092 #, c-format msgid " -e, --exit-on-error exit immediately on error\n" msgstr " -e, --exit-on-error salir inmediatamente en caso de error\n" -#: pg_verifybackup.c:986 +#: pg_verifybackup.c:1093 #, c-format msgid " -i, --ignore=RELATIVE_PATH ignore indicated path\n" msgstr " -i, --ignore=RELATIVE_PATH ignorar la ruta indicada\n" -#: pg_verifybackup.c:987 +#: pg_verifybackup.c:1094 #, c-format msgid " -m, --manifest-path=PATH use specified path for manifest\n" msgstr " -m, --manifest-path=PATH usar la ruta especificada para el manifiesto\n" -#: pg_verifybackup.c:988 +#: pg_verifybackup.c:1095 #, c-format msgid " -n, --no-parse-wal do not try to parse WAL files\n" msgstr " -n, --no-parse-wal no intentar analizar archivos WAL\n" -#: pg_verifybackup.c:989 +#: pg_verifybackup.c:1096 #, c-format msgid " -P, --progress show progress information\n" msgstr " -P, --progress mostrar información de progreso\n" -#: pg_verifybackup.c:990 +#: pg_verifybackup.c:1097 #, c-format msgid " -q, --quiet do not print any output, except for errors\n" msgstr " -q, --quiet no escribir ningún mensaje, excepto errores\n" -#: pg_verifybackup.c:991 +#: pg_verifybackup.c:1098 #, c-format msgid " -s, --skip-checksums skip checksum verification\n" msgstr " -s, --skip-checksums omitir la verificación de la suma de comprobación\n" -#: pg_verifybackup.c:992 +#: pg_verifybackup.c:1099 #, c-format msgid " -w, --wal-directory=PATH use specified path for WAL files\n" msgstr " -w, --wal-directory=PATH utilizar la ruta especificada para los archivos WAL\n" -#: pg_verifybackup.c:993 +#: pg_verifybackup.c:1100 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version mostrar la información de la versión, luego salir\n" -#: pg_verifybackup.c:994 +#: pg_verifybackup.c:1101 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help muestra esta ayuda, luego salir\n" -#: pg_verifybackup.c:995 +#: pg_verifybackup.c:1102 #, c-format msgid "" "\n" @@ -517,7 +607,7 @@ msgstr "" "\n" "Reporte errores a <%s>.\n" -#: pg_verifybackup.c:996 +#: pg_verifybackup.c:1103 #, c-format msgid "%s home page: <%s>\n" msgstr "Sitio web de %s: <%s>\n" diff --git a/src/bin/pg_verifybackup/po/fr.po b/src/bin/pg_verifybackup/po/fr.po index da8c72f6427..310f55baf1d 100644 --- a/src/bin/pg_verifybackup/po/fr.po +++ b/src/bin/pg_verifybackup/po/fr.po @@ -8,10 +8,10 @@ # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 15\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-07-29 09:17+0000\n" -"PO-Revision-Date: 2023-09-05 07:49+0200\n" +"POT-Creation-Date: 2024-08-29 17:48+0000\n" +"PO-Revision-Date: 2024-09-16 16:28+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -19,7 +19,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.3.2\n" +"X-Generator: Poedit 3.5\n" #: ../../../src/common/logging.c:276 #, c-format @@ -41,6 +41,81 @@ msgstr "détail : " msgid "hint: " msgstr "astuce : " +#: ../../common/controldata_utils.c:97 +#, c-format +msgid "could not open file \"%s\" for reading: %m" +msgstr "n'a pas pu ouvrir le fichier « %s » pour une lecture : %m" + +#: ../../common/controldata_utils.c:110 pg_verifybackup.c:438 +#: pg_verifybackup.c:476 pg_verifybackup.c:896 +#, c-format +msgid "could not read file \"%s\": %m" +msgstr "n'a pas pu lire le fichier « %s » : %m" + +#: ../../common/controldata_utils.c:119 +#, c-format +msgid "could not read file \"%s\": read %d of %zu" +msgstr "n'a pas pu lire le fichier « %s » : a lu %d sur %zu" + +#: ../../common/controldata_utils.c:132 ../../common/controldata_utils.c:280 +#: pg_verifybackup.c:902 +#, c-format +msgid "could not close file \"%s\": %m" +msgstr "n'a pas pu fermer le fichier « %s » : %m" + +#: ../../common/controldata_utils.c:168 +msgid "byte ordering mismatch" +msgstr "différence de l'ordre des octets" + +#: ../../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 "" +"possible incohérence dans l'ordre des octets\n" +"L'ordre des octets utilisé pour enregistrer le fichier pg_control peut ne\n" +"pas correspondre à celui utilisé par ce programme. Dans ce cas, les\n" +"résultats ci-dessous sont incorrects, et l'installation de PostgreSQL\n" +"est incompatible avec ce répertoire des données." + +#: ../../common/controldata_utils.c:230 pg_verifybackup.c:406 +#: pg_verifybackup.c:865 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "n'a pas pu ouvrir le fichier « %s » : %m" + +#: ../../common/controldata_utils.c:249 +#, c-format +msgid "could not write file \"%s\": %m" +msgstr "impossible d'écrire le fichier « %s » : %m" + +#: ../../common/controldata_utils.c:268 +#, c-format +msgid "could not fsync file \"%s\": %m" +msgstr "n'a pas pu synchroniser sur disque (fsync) le fichier « %s » : %m" + +#: ../../common/cryptohash.c:261 ../../common/cryptohash_openssl.c:356 +#: ../../common/parse_manifest.c:157 ../../common/parse_manifest.c:853 +#, c-format +msgid "out of memory" +msgstr "mémoire épuisée" + +#: ../../common/cryptohash.c:266 ../../common/cryptohash.c:272 +#: ../../common/cryptohash_openssl.c:368 ../../common/cryptohash_openssl.c:376 +msgid "success" +msgstr "succès" + +#: ../../common/cryptohash.c:268 ../../common/cryptohash_openssl.c:370 +msgid "destination buffer too small" +msgstr "tampon de destination trop petit" + +#: ../../common/cryptohash_openssl.c:372 +msgid "OpenSSL failure" +msgstr "échec OpenSSL" + #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 #: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 #, c-format @@ -52,391 +127,407 @@ msgstr "mémoire épuisée\n" msgid "cannot duplicate null pointer (internal error)\n" msgstr "ne peut pas dupliquer un pointeur nul (erreur interne)\n" -#: ../../common/jsonapi.c:1144 +#: ../../common/jsonapi.c:2121 +msgid "Recursive descent parser cannot use incremental lexer." +msgstr "L'analyseur (parser) en descente récursive ne peut pas utiliser l'analyseur (lexer) incrémental." + +#: ../../common/jsonapi.c:2123 +msgid "Incremental parser requires incremental lexer." +msgstr "L'analyser (parser) incrémental nécessite l'analyseur (lexer) incrémental." + +#: ../../common/jsonapi.c:2125 +msgid "JSON nested too deep, maximum permitted depth is 6400." +msgstr "JSON trop profondément imbriqué, profondeur maximum permise est 6400." + +#: ../../common/jsonapi.c:2127 #, c-format -msgid "Escape sequence \"\\%s\" is invalid." -msgstr "La séquence d'échappement « \\%s » est invalide." +msgid "Escape sequence \"\\%.*s\" is invalid." +msgstr "La séquence d'échappement « \\%.*s » est invalide." -#: ../../common/jsonapi.c:1147 +#: ../../common/jsonapi.c:2131 #, c-format msgid "Character with value 0x%02x must be escaped." msgstr "Le caractère de valeur 0x%02x doit être échappé." -#: ../../common/jsonapi.c:1150 +#: ../../common/jsonapi.c:2135 #, c-format -msgid "Expected end of input, but found \"%s\"." -msgstr "Attendait une fin de l'entrée, mais a trouvé « %s »." +msgid "Expected end of input, but found \"%.*s\"." +msgstr "Fin de l'entrée attendue, mais trouvé « %.*s »." -#: ../../common/jsonapi.c:1153 +#: ../../common/jsonapi.c:2138 #, c-format -msgid "Expected array element or \"]\", but found \"%s\"." -msgstr "Élément de tableau ou « ] » attendu, mais trouvé « %s »." +msgid "Expected array element or \"]\", but found \"%.*s\"." +msgstr "Élément de tableau ou « ] » attendu, mais trouvé « %.*s »." -#: ../../common/jsonapi.c:1156 +#: ../../common/jsonapi.c:2141 #, c-format -msgid "Expected \",\" or \"]\", but found \"%s\"." -msgstr "« , » ou « ] » attendu, mais trouvé « %s »." +msgid "Expected \",\" or \"]\", but found \"%.*s\"." +msgstr "« , » ou « ] » attendu, mais trouvé « %.*s »." -#: ../../common/jsonapi.c:1159 +#: ../../common/jsonapi.c:2144 #, c-format -msgid "Expected \":\", but found \"%s\"." -msgstr "« : » attendu, mais trouvé « %s »." +msgid "Expected \":\", but found \"%.*s\"." +msgstr "« : » attendu, mais trouvé « %.*s »." -#: ../../common/jsonapi.c:1162 +#: ../../common/jsonapi.c:2147 #, c-format -msgid "Expected JSON value, but found \"%s\"." -msgstr "Valeur JSON attendue, mais « %s » trouvé." +msgid "Expected JSON value, but found \"%.*s\"." +msgstr "Valeur JSON attendue, mais « %.*s » trouvé." -#: ../../common/jsonapi.c:1165 +#: ../../common/jsonapi.c:2150 msgid "The input string ended unexpectedly." msgstr "La chaîne en entrée se ferme de manière inattendue." -#: ../../common/jsonapi.c:1167 +#: ../../common/jsonapi.c:2152 #, c-format -msgid "Expected string or \"}\", but found \"%s\"." -msgstr "Chaîne ou « } » attendu, mais « %s » trouvé." +msgid "Expected string or \"}\", but found \"%.*s\"." +msgstr "Chaîne ou « } » attendu, mais « %.*s » trouvé." -#: ../../common/jsonapi.c:1170 +#: ../../common/jsonapi.c:2155 #, c-format -msgid "Expected \",\" or \"}\", but found \"%s\"." -msgstr "« , » ou « } » attendu, mais trouvé « %s »." +msgid "Expected \",\" or \"}\", but found \"%.*s\"." +msgstr "« , » ou « } » attendu, mais trouvé « %.*s »." -#: ../../common/jsonapi.c:1173 +#: ../../common/jsonapi.c:2158 #, c-format -msgid "Expected string, but found \"%s\"." -msgstr "Chaîne attendue, mais « %s » trouvé." +msgid "Expected string, but found \"%.*s\"." +msgstr "Chaîne attendue, mais « %.*s » trouvé." -#: ../../common/jsonapi.c:1176 +#: ../../common/jsonapi.c:2161 #, c-format -msgid "Token \"%s\" is invalid." -msgstr "Le jeton « %s » n'est pas valide." +msgid "Token \"%.*s\" is invalid." +msgstr "Le jeton « %.*s » n'est pas valide." -#: ../../common/jsonapi.c:1179 +#: ../../common/jsonapi.c:2164 msgid "\\u0000 cannot be converted to text." msgstr "\\u0000 ne peut pas être converti en texte." -#: ../../common/jsonapi.c:1181 +#: ../../common/jsonapi.c:2166 msgid "\"\\u\" must be followed by four hexadecimal digits." msgstr "« \\u » doit être suivi par quatre chiffres hexadécimaux." -#: ../../common/jsonapi.c:1184 +#: ../../common/jsonapi.c:2169 msgid "Unicode escape values cannot be used for code point values above 007F when the encoding is not UTF8." msgstr "Les valeurs d'échappement Unicode ne peuvent pas être utilisées pour des valeurs de point code au-dessus de 007F quand l'encodage n'est pas UTF8." -#: ../../common/jsonapi.c:1187 +#: ../../common/jsonapi.c:2178 #, c-format msgid "Unicode escape value could not be translated to the server's encoding %s." msgstr "La valeur d'échappement unicode ne peut pas être traduite dans l'encodage du serveur %s." -#: ../../common/jsonapi.c:1190 +#: ../../common/jsonapi.c:2185 msgid "Unicode high surrogate must not follow a high surrogate." msgstr "Une substitution unicode haute ne doit pas suivre une substitution haute." -#: ../../common/jsonapi.c:1192 +#: ../../common/jsonapi.c:2187 msgid "Unicode low surrogate must follow a high surrogate." msgstr "Une substitution unicode basse ne doit pas suivre une substitution haute." -#: parse_manifest.c:150 -msgid "parsing failed" -msgstr "échec de l'analyse" +#: ../../common/parse_manifest.c:159 ../../common/parse_manifest.c:855 +#, c-format +msgid "could not initialize checksum of manifest" +msgstr "n'a pas pu initialiser la somme de contrôle du manifeste" -#: parse_manifest.c:152 +#: ../../common/parse_manifest.c:204 ../../common/parse_manifest.c:261 msgid "manifest ended unexpectedly" msgstr "le manifeste se termine de façon inattendue" -#: parse_manifest.c:191 +#: ../../common/parse_manifest.c:210 ../../common/parse_manifest.c:862 +#, c-format +msgid "could not update checksum of manifest" +msgstr "n'a pas pu mettre à jour la somme de contrôle du manifeste" + +#: ../../common/parse_manifest.c:302 msgid "unexpected object start" msgstr "début d'objet inattendu" -#: parse_manifest.c:226 +#: ../../common/parse_manifest.c:337 msgid "unexpected object end" msgstr "fin d'objet inattendue" -#: parse_manifest.c:255 +#: ../../common/parse_manifest.c:366 msgid "unexpected array start" msgstr "début de tableau inattendu" -#: parse_manifest.c:280 +#: ../../common/parse_manifest.c:391 msgid "unexpected array end" msgstr "fin de tableau inattendue" -#: parse_manifest.c:307 +#: ../../common/parse_manifest.c:418 msgid "expected version indicator" msgstr "indicateur de version inattendu" -#: parse_manifest.c:336 +#: ../../common/parse_manifest.c:454 msgid "unrecognized top-level field" msgstr "champ haut niveau inconnu" -#: parse_manifest.c:355 +#: ../../common/parse_manifest.c:473 msgid "unexpected file field" msgstr "champ de fichier inattendu" -#: parse_manifest.c:369 +#: ../../common/parse_manifest.c:487 msgid "unexpected WAL range field" msgstr "champ d'intervalle de WAL inattendu" -#: parse_manifest.c:375 +#: ../../common/parse_manifest.c:493 msgid "unexpected object field" msgstr "champ d'objet inattendu" -#: parse_manifest.c:407 +#: ../../common/parse_manifest.c:583 +msgid "unexpected scalar" +msgstr "scalaire inattendu" + +#: ../../common/parse_manifest.c:609 +msgid "manifest version not an integer" +msgstr "la version du manifeste n'est pas un entier" + +#: ../../common/parse_manifest.c:613 msgid "unexpected manifest version" msgstr "version du manifeste inattendue" -#: parse_manifest.c:458 -msgid "unexpected scalar" -msgstr "scalaire inattendu" +#: ../../common/parse_manifest.c:637 +msgid "system identifier in manifest not an integer" +msgstr "l'identifieur système dans le manifeste n'est pas un entier" -#: parse_manifest.c:484 +#: ../../common/parse_manifest.c:662 msgid "missing path name" msgstr "nom de chemin manquant" -#: parse_manifest.c:487 +#: ../../common/parse_manifest.c:665 msgid "both path name and encoded path name" msgstr "le nom du chemin et le nom du chemin encodé" -#: parse_manifest.c:489 +#: ../../common/parse_manifest.c:667 msgid "missing size" msgstr "taille manquante" -#: parse_manifest.c:492 +#: ../../common/parse_manifest.c:670 msgid "checksum without algorithm" msgstr "somme de contrôle sans algorithme" -#: parse_manifest.c:506 +#: ../../common/parse_manifest.c:684 msgid "could not decode file name" msgstr "n'a pas pu décoder le nom du fichier" -#: parse_manifest.c:516 +#: ../../common/parse_manifest.c:694 msgid "file size is not an integer" msgstr "la taille du fichier n'est pas un entier" -#: parse_manifest.c:522 +#: ../../common/parse_manifest.c:700 #, c-format msgid "unrecognized checksum algorithm: \"%s\"" msgstr "algorithme de somme de contrôle inconnu : « %s »" -#: parse_manifest.c:541 +#: ../../common/parse_manifest.c:719 #, c-format msgid "invalid checksum for file \"%s\": \"%s\"" msgstr "somme de contrôle invalide pour le fichier « %s » : « %s »" -#: parse_manifest.c:584 +#: ../../common/parse_manifest.c:762 msgid "missing timeline" msgstr "timeline manquante" -#: parse_manifest.c:586 +#: ../../common/parse_manifest.c:764 msgid "missing start LSN" msgstr "LSN de début manquante" -#: parse_manifest.c:588 +#: ../../common/parse_manifest.c:766 msgid "missing end LSN" msgstr "LSN de fin manquante" -#: parse_manifest.c:594 +#: ../../common/parse_manifest.c:772 msgid "timeline is not an integer" msgstr "la timeline n'est pas un entier" -#: parse_manifest.c:597 +#: ../../common/parse_manifest.c:775 msgid "could not parse start LSN" msgstr "n'a pas pu analyser le LSN de début" -#: parse_manifest.c:600 +#: ../../common/parse_manifest.c:778 msgid "could not parse end LSN" msgstr "n'a pas pu analyser le LSN de fin" -#: parse_manifest.c:661 +#: ../../common/parse_manifest.c:843 msgid "expected at least 2 lines" msgstr "attendait au moins deux lignes" -#: parse_manifest.c:664 +#: ../../common/parse_manifest.c:846 msgid "last line not newline-terminated" msgstr "dernière ligne non terminée avec un caractère newline" -#: parse_manifest.c:669 -#, c-format -msgid "out of memory" -msgstr "mémoire épuisée" - -#: parse_manifest.c:671 -#, c-format -msgid "could not initialize checksum of manifest" -msgstr "n'a pas pu initialiser la somme de contrôle du manifeste" - -#: parse_manifest.c:673 -#, c-format -msgid "could not update checksum of manifest" -msgstr "n'a pas pu mettre à jour la somme de contrôle du manifeste" - -#: parse_manifest.c:676 +#: ../../common/parse_manifest.c:865 #, c-format msgid "could not finalize checksum of manifest" msgstr "n'a pas pu finaliser la somme de contrôle du manifeste" -#: parse_manifest.c:680 +#: ../../common/parse_manifest.c:869 #, c-format msgid "manifest has no checksum" msgstr "le manifeste n'a pas de somme de contrôle" -#: parse_manifest.c:684 +#: ../../common/parse_manifest.c:873 #, c-format msgid "invalid manifest checksum: \"%s\"" msgstr "somme de contrôle du manifeste invalide : « %s »" -#: parse_manifest.c:688 +#: ../../common/parse_manifest.c:877 #, c-format msgid "manifest checksum mismatch" msgstr "différence de somme de contrôle pour le manifeste" -#: parse_manifest.c:703 +#: ../../common/parse_manifest.c:892 #, c-format msgid "could not parse backup manifest: %s" msgstr "n'a pas pu analyser le manifeste de sauvegarde : %s" -#: pg_verifybackup.c:273 pg_verifybackup.c:282 pg_verifybackup.c:293 +#: pg_verifybackup.c:277 pg_verifybackup.c:286 pg_verifybackup.c:297 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Essayez « %s --help » pour plus d'informations." -#: pg_verifybackup.c:281 +#: pg_verifybackup.c:285 #, c-format msgid "no backup directory specified" msgstr "pas de répertoire de sauvegarde spécifié" -#: pg_verifybackup.c:291 +#: pg_verifybackup.c:295 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "trop d'arguments en ligne de commande (le premier étant « %s »)" -#: pg_verifybackup.c:299 +#: pg_verifybackup.c:303 #, c-format msgid "cannot specify both %s and %s" msgstr "ne peut pas spécifier à la fois %s et %s" -#: pg_verifybackup.c:319 +#: pg_verifybackup.c:323 #, c-format msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"" msgstr "le programme « %s » est nécessaire pour %s, mais n'a pas été trouvé dans le même répertoire que « %s »" -#: pg_verifybackup.c:322 +#: pg_verifybackup.c:326 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" msgstr "le programme « %s » a été trouvé par « %s » mais n'est pas de la même version que %s" -#: pg_verifybackup.c:378 +#: pg_verifybackup.c:381 #, c-format msgid "backup successfully verified\n" msgstr "sauvegarde vérifiée avec succès\n" -#: pg_verifybackup.c:404 pg_verifybackup.c:748 -#, c-format -msgid "could not open file \"%s\": %m" -msgstr "n'a pas pu ouvrir le fichier « %s » : %m" - -#: pg_verifybackup.c:408 +#: pg_verifybackup.c:410 #, c-format msgid "could not stat file \"%s\": %m" msgstr "n'a pas pu tester le fichier « %s » : %m" -#: pg_verifybackup.c:428 pg_verifybackup.c:779 -#, c-format -msgid "could not read file \"%s\": %m" -msgstr "n'a pas pu lire le fichier « %s » : %m" - -#: pg_verifybackup.c:431 +#: pg_verifybackup.c:440 #, c-format msgid "could not read file \"%s\": read %d of %lld" msgstr "n'a pas pu lire le fichier « %s » : a lu %d sur %lld" -#: pg_verifybackup.c:491 +#: pg_verifybackup.c:478 +#, c-format +msgid "could not read file \"%s\": read %lld of %lld" +msgstr "n'a pas pu lire le fichier « %s » : a lu %lld sur %lld" + +#: pg_verifybackup.c:561 #, c-format msgid "duplicate path name in backup manifest: \"%s\"" msgstr "nom de chemin dupliqué dans le manifeste de sauvegarde : « %s »" -#: pg_verifybackup.c:554 pg_verifybackup.c:561 +#: pg_verifybackup.c:624 pg_verifybackup.c:631 #, c-format msgid "could not open directory \"%s\": %m" msgstr "n'a pas pu ouvrir le répertoire « %s » : %m" -#: pg_verifybackup.c:593 +#: pg_verifybackup.c:663 #, c-format msgid "could not close directory \"%s\": %m" msgstr "n'a pas pu fermer le répertoire « %s » : %m" -#: pg_verifybackup.c:613 +#: pg_verifybackup.c:683 #, c-format msgid "could not stat file or directory \"%s\": %m" msgstr "" "n'a pas pu récupérer les informations sur le fichier ou répertoire\n" "« %s » : %m" -#: pg_verifybackup.c:636 +#: pg_verifybackup.c:706 #, c-format msgid "\"%s\" is not a file or directory" msgstr "« %s » n'est ni un fichier ni un répertoire" -#: pg_verifybackup.c:646 +#: pg_verifybackup.c:716 #, c-format msgid "\"%s\" is present on disk but not in the manifest" msgstr "« %s » est présent sur disque mais pas dans le manifeste" -#: pg_verifybackup.c:658 +#: pg_verifybackup.c:728 #, c-format msgid "\"%s\" has size %lld on disk but size %zu in the manifest" msgstr "« %s » a une taille de %lld sur disque mais de %zu dans le manifeste" -#: pg_verifybackup.c:689 +#: pg_verifybackup.c:768 +#, c-format +msgid "%s: CRC is incorrect" +msgstr "%s : la valeur CRC n'est pas correcte" + +#: pg_verifybackup.c:772 +#, c-format +msgid "%s: unexpected control file version" +msgstr "%s : version inattendue pour le fichier de contrôle" + +#: pg_verifybackup.c:777 +#, c-format +msgid "%s: manifest system identifier is %llu, but control file has %llu" +msgstr "%s: l'identifieur système du manifeste est %llu, mais le fichier de contrôle a %llu" + +#: pg_verifybackup.c:801 #, c-format msgid "\"%s\" is present in the manifest but not on disk" msgstr "« %s » est présent dans le manifeste mais pas sur disque" -#: pg_verifybackup.c:756 +#: pg_verifybackup.c:873 #, c-format msgid "could not initialize checksum of file \"%s\"" msgstr "n'a pas pu initialiser la somme de contrôle du fichier « %s »" -#: pg_verifybackup.c:768 +#: pg_verifybackup.c:885 #, c-format msgid "could not update checksum of file \"%s\"" msgstr "n'a pas pu mettre à jour la somme de contrôle du fichier « %s »" -#: pg_verifybackup.c:785 -#, c-format -msgid "could not close file \"%s\": %m" -msgstr "n'a pas pu fermer le fichier « %s » : %m" - -#: pg_verifybackup.c:804 +#: pg_verifybackup.c:921 #, c-format msgid "file \"%s\" should contain %zu bytes, but read %zu bytes" msgstr "le fichier « %s » devrait contenir %zu octets, mais la lecture produit %zu octets" -#: pg_verifybackup.c:814 +#: pg_verifybackup.c:931 #, c-format msgid "could not finalize checksum of file \"%s\"" msgstr "n'a pas pu finaliser la somme de contrôle du fichier « %s »" -#: pg_verifybackup.c:822 +#: pg_verifybackup.c:939 #, c-format msgid "file \"%s\" has checksum of length %d, but expected %d" msgstr "le fichier « %s » a une somme de contrôle de taille %d, alors que %d était attendu" -#: pg_verifybackup.c:826 +#: pg_verifybackup.c:943 #, c-format msgid "checksum mismatch for file \"%s\"" msgstr "différence de somme de contrôle pour le fichier « %s »" -#: pg_verifybackup.c:851 +#: pg_verifybackup.c:969 #, c-format msgid "WAL parsing failed for timeline %u" msgstr "analyse du WAL échouée pour la timeline %u" -#: pg_verifybackup.c:965 +#: pg_verifybackup.c:1072 #, c-format msgid "%*s/%s kB (%d%%) verified" msgstr "%*s/%s Ko (%d%%) vérifiés" -#: pg_verifybackup.c:982 +#: pg_verifybackup.c:1089 #, c-format msgid "" "%s verifies a backup against the backup manifest.\n" @@ -445,7 +536,7 @@ msgstr "" "%s vérifie une sauvegarde à partir du manifeste de sauvegarde.\n" "\n" -#: pg_verifybackup.c:983 +#: pg_verifybackup.c:1090 #, c-format msgid "" "Usage:\n" @@ -456,62 +547,62 @@ msgstr "" " %s [OPTION]... REP_SAUVEGARDE\n" "\n" -#: pg_verifybackup.c:984 +#: pg_verifybackup.c:1091 #, c-format msgid "Options:\n" msgstr "Options :\n" -#: pg_verifybackup.c:985 +#: pg_verifybackup.c:1092 #, c-format msgid " -e, --exit-on-error exit immediately on error\n" msgstr " -e, --exit-on-error quitte immédiatement en cas d'erreur\n" -#: pg_verifybackup.c:986 +#: pg_verifybackup.c:1093 #, c-format msgid " -i, --ignore=RELATIVE_PATH ignore indicated path\n" msgstr " -i, --ignore=CHEMIN_RELATIF ignore le chemin indiqué\n" -#: pg_verifybackup.c:987 +#: pg_verifybackup.c:1094 #, c-format msgid " -m, --manifest-path=PATH use specified path for manifest\n" msgstr " -m, --manifest-path=CHEMIN utilise le chemin spécifié pour le manifeste\n" -#: pg_verifybackup.c:988 +#: pg_verifybackup.c:1095 #, c-format msgid " -n, --no-parse-wal do not try to parse WAL files\n" msgstr " -n, --no-parse-wal n'essaie pas d'analyse les fichiers WAL\n" -#: pg_verifybackup.c:989 +#: pg_verifybackup.c:1096 #, c-format msgid " -P, --progress show progress information\n" msgstr " -P, --progress affiche les informations de progression\n" -#: pg_verifybackup.c:990 +#: pg_verifybackup.c:1097 #, c-format msgid " -q, --quiet do not print any output, except for errors\n" msgstr " -q, --quiet n'affiche aucun message sauf pour les erreurs\n" -#: pg_verifybackup.c:991 +#: pg_verifybackup.c:1098 #, c-format msgid " -s, --skip-checksums skip checksum verification\n" msgstr " -s, --skip-checksums ignore la vérification des sommes de contrôle\n" -#: pg_verifybackup.c:992 +#: pg_verifybackup.c:1099 #, c-format msgid " -w, --wal-directory=PATH use specified path for WAL files\n" msgstr " -w, --wal-directory=CHEMIN utilise le chemin spécifié pour les fichiers WAL\n" -#: pg_verifybackup.c:993 +#: pg_verifybackup.c:1100 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version affiche la version, puis quitte\n" -#: pg_verifybackup.c:994 +#: pg_verifybackup.c:1101 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help affiche cette aide, puis quitte\n" -#: pg_verifybackup.c:995 +#: pg_verifybackup.c:1102 #, c-format msgid "" "\n" @@ -520,18 +611,7 @@ msgstr "" "\n" "Rapporter les bogues à <%s>.\n" -#: pg_verifybackup.c:996 +#: pg_verifybackup.c:1103 #, c-format msgid "%s home page: <%s>\n" msgstr "Page d'accueil de %s : <%s>\n" - -#, c-format -#~ msgid "Try \"%s --help\" for more information.\n" -#~ msgstr "Essayez « %s --help » pour plus d'informations.\n" - -#~ msgid "could not read file \"%s\": read %d of %zu" -#~ msgstr "n'a pas pu lire le fichier « %s » : a lu %d sur %zu" - -#, c-format -#~ msgid "fatal: " -#~ msgstr "fatal : " diff --git a/src/bin/pg_verifybackup/po/ja.po b/src/bin/pg_verifybackup/po/ja.po index 3466239c57d..755ebf67d6d 100644 --- a/src/bin/pg_verifybackup/po/ja.po +++ b/src/bin/pg_verifybackup/po/ja.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_verifybackup (PostgreSQL 17)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-05-24 10:24+0900\n" -"PO-Revision-Date: 2024-05-24 10:47+0900\n" +"POT-Creation-Date: 2024-10-03 09:19+0900\n" +"PO-Revision-Date: 2024-10-03 10:37+0900\n" "Last-Translator: Kyotaro Horiguchi \n" "Language-Team: Japan PostgreSQL Users Group \n" "Language: ja\n" @@ -17,26 +17,101 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: Poedit 1.8.13\n" -#: ../../../src/common/logging.c:276 +#: ../../../src/common/logging.c:278 #, c-format msgid "error: " msgstr "エラー: " -#: ../../../src/common/logging.c:283 +#: ../../../src/common/logging.c:285 #, c-format msgid "warning: " msgstr "警告: " -#: ../../../src/common/logging.c:294 +#: ../../../src/common/logging.c:296 #, c-format msgid "detail: " msgstr "詳細: " -#: ../../../src/common/logging.c:301 +#: ../../../src/common/logging.c:303 #, c-format msgid "hint: " msgstr "ヒント: " +#: ../../common/controldata_utils.c:97 +#, c-format +msgid "could not open file \"%s\" for reading: %m" +msgstr "ファイル\"%s\"を読み込み用にオープンできませんでした: %m" + +#: ../../common/controldata_utils.c:110 pg_verifybackup.c:439 +#: pg_verifybackup.c:477 pg_verifybackup.c:1024 pg_verifybackup.c:1143 +#, 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 +#: pg_verifybackup.c:1029 pg_verifybackup.c:1149 +#, 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 pg_verifybackup.c:407 +#: pg_verifybackup.c:1004 pg_verifybackup.c:1112 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "ファイル\"%s\"をオープンできませんでした: %m" + +#: ../../common/controldata_utils.c:249 +#, c-format +msgid "could not write file \"%s\": %m" +msgstr "ファイル\"%s\"を書き出せませんでした: %m" + +#: ../../common/controldata_utils.c:268 +#, c-format +msgid "could not fsync file \"%s\": %m" +msgstr "ファイル\"%s\"をfsyncできませんでした: %m" + +#: ../../common/cryptohash.c:261 ../../common/cryptohash_openssl.c:356 +#: ../../common/jsonapi.c:2317 ../../common/parse_manifest.c:157 +#: ../../common/parse_manifest.c:853 +#, c-format +msgid "out of memory" +msgstr "メモリ不足です" + +#: ../../common/cryptohash.c:266 ../../common/cryptohash.c:272 +#: ../../common/cryptohash_openssl.c:368 ../../common/cryptohash_openssl.c:376 +msgid "success" +msgstr "成功" + +#: ../../common/cryptohash.c:268 ../../common/cryptohash_openssl.c:370 +msgid "destination buffer too small" +msgstr "出力先バッファが小さすぎます" + +#: ../../common/cryptohash_openssl.c:372 +msgid "OpenSSL failure" +msgstr "OpenSSLのエラー" + #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 #: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 #, c-format @@ -48,106 +123,105 @@ msgstr "メモリ不足です\n" msgid "cannot duplicate null pointer (internal error)\n" msgstr "null ポインタを複製できません (内部エラー)\n" -#: ../../common/jsonapi.c:2121 +#: ../../common/jsonapi.c:2342 msgid "Recursive descent parser cannot use incremental lexer." msgstr "再帰降下パーサーは差分字句解析器を使用できません。" -#: ../../common/jsonapi.c:2123 +#: ../../common/jsonapi.c:2344 msgid "Incremental parser requires incremental lexer." msgstr "差分パーサーは差分字句解析器を必要とします。" -#: ../../common/jsonapi.c:2125 +#: ../../common/jsonapi.c:2346 msgid "JSON nested too deep, maximum permitted depth is 6400." msgstr "JSONのネストが深すぎます、可能な最大の深さは6400です。" -#: ../../common/jsonapi.c:2127 +#: ../../common/jsonapi.c:2348 #, c-format msgid "Escape sequence \"\\%.*s\" is invalid." msgstr "エスケープシーケンス\"\\%.*s\"は不正です。" -#: ../../common/jsonapi.c:2131 +#: ../../common/jsonapi.c:2352 #, c-format msgid "Character with value 0x%02x must be escaped." msgstr "0x%02x値を持つ文字はエスケープしなければなりません" -#: ../../common/jsonapi.c:2135 +#: ../../common/jsonapi.c:2356 #, c-format msgid "Expected end of input, but found \"%.*s\"." msgstr "入力の終端を想定していましたが、\"\\%.*s\"でした。" -#: ../../common/jsonapi.c:2138 +#: ../../common/jsonapi.c:2359 #, c-format msgid "Expected array element or \"]\", but found \"%.*s\"." msgstr "配列要素または\"]\"を想定していましたが、\"\\%.*s\"でした。" -#: ../../common/jsonapi.c:2141 +#: ../../common/jsonapi.c:2362 #, c-format msgid "Expected \",\" or \"]\", but found \"%.*s\"." msgstr "\",\"または\"]\"を想定していましたが、\"\\%.*s\"でした。" -#: ../../common/jsonapi.c:2144 +#: ../../common/jsonapi.c:2365 #, c-format msgid "Expected \":\", but found \"%.*s\"." msgstr "\":\"を想定していましたが、\"\\%.*s\"でした。" -#: ../../common/jsonapi.c:2147 +#: ../../common/jsonapi.c:2368 #, c-format msgid "Expected JSON value, but found \"%.*s\"." msgstr "JSON値を想定していましたが、\"\\%.*s\"でした。" -#: ../../common/jsonapi.c:2150 +#: ../../common/jsonapi.c:2371 msgid "The input string ended unexpectedly." msgstr "入力文字列が予期せず終了しました。" -#: ../../common/jsonapi.c:2152 +#: ../../common/jsonapi.c:2373 #, c-format msgid "Expected string or \"}\", but found \"%.*s\"." msgstr "文字列または\"}\"を想定していましたが、\"\\%.*s\"でした。" -#: ../../common/jsonapi.c:2155 +#: ../../common/jsonapi.c:2376 #, c-format msgid "Expected \",\" or \"}\", but found \"%.*s\"." msgstr "\",\"または\"}\"を想定していましたが、\"\\%.*s\"でした。" -#: ../../common/jsonapi.c:2158 +#: ../../common/jsonapi.c:2379 #, c-format msgid "Expected string, but found \"%.*s\"." msgstr "文字列を想定していましたが、\"\\%.*s\"でした。" -#: ../../common/jsonapi.c:2161 +#: ../../common/jsonapi.c:2382 #, c-format msgid "Token \"%.*s\" is invalid." msgstr "トークン\"\\%.*s\"は不正です。" -#: ../../common/jsonapi.c:2164 +#: ../../common/jsonapi.c:2388 msgid "\\u0000 cannot be converted to text." msgstr "\\u0000 はテキストに変換できません。" -#: ../../common/jsonapi.c:2166 +#: ../../common/jsonapi.c:2390 msgid "\"\\u\" must be followed by four hexadecimal digits." msgstr "\"\\u\"の後には16進数の4桁が続かなければなりません。" -#: ../../common/jsonapi.c:2169 +#: ../../common/jsonapi.c:2393 msgid "Unicode escape values cannot be used for code point values above 007F when the encoding is not UTF8." msgstr "エンコーディングがUTF-8ではない場合、コードポイントの値が 007F 以上についてはUnicodeエスケープの値は使用できません。" -#: ../../common/jsonapi.c:2178 +#: ../../common/jsonapi.c:2402 #, c-format msgid "Unicode escape value could not be translated to the server's encoding %s." msgstr "Unicodeエスケープの値がサーバーエンコーディング%sに変換できませんでした。" -#: ../../common/jsonapi.c:2185 +#: ../../common/jsonapi.c:2409 msgid "Unicode high surrogate must not follow a high surrogate." msgstr "Unicodeのハイサロゲートはハイサロゲートに続いてはいけません。" -#: ../../common/jsonapi.c:2187 +#: ../../common/jsonapi.c:2411 msgid "Unicode low surrogate must follow a high surrogate." msgstr "Unicodeのローサロゲートはハイサロゲートに続かなければなりません。" -#: ../../common/parse_manifest.c:157 ../../common/parse_manifest.c:853 -#, c-format -msgid "out of memory" -msgstr "メモリ不足です" +#: ../../common/jsonapi.c:2433 +msgid "out of memory while constructing error description" +msgstr "エラー記述の構築中にメモリ不足" #: ../../common/parse_manifest.c:159 ../../common/parse_manifest.c:855 #, c-format @@ -212,8 +286,8 @@ msgid "unexpected manifest version" msgstr "予期しない目録バージョン" #: ../../common/parse_manifest.c:637 -msgid "manifest system identifier not an integer" -msgstr "目録のシステム識別子が整数ではありません" +msgid "system identifier in manifest not an integer" +msgstr "目録中のシステム識別子が整数ではありません" #: ../../common/parse_manifest.c:662 msgid "missing path name" @@ -306,167 +380,177 @@ msgstr "目録チェックサムの不一致" msgid "could not parse backup manifest: %s" msgstr "バックアップ目録をパースできませんでした: %s" -#: pg_verifybackup.c:277 pg_verifybackup.c:286 pg_verifybackup.c:297 +#: pg_verifybackup.c:207 +#, c-format +msgid "invalid backup format \"%s\", must be \"plain\" or \"tar\"" +msgstr "不正なバックアップフォーマット\"%s\"、\"plain\"か\"tar\"でなければなりません" + +#: pg_verifybackup.c:228 pg_verifybackup.c:237 pg_verifybackup.c:248 #, c-format msgid "Try \"%s --help\" for more information." msgstr "詳細は\"%s --help\"を実行してください。" -#: pg_verifybackup.c:285 +#: pg_verifybackup.c:236 #, c-format msgid "no backup directory specified" msgstr "バックアップディレクトリが指定されていません" -#: pg_verifybackup.c:295 +#: pg_verifybackup.c:246 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "コマンドライン引数が多すぎます。(先頭は\"%s\")" -#: pg_verifybackup.c:303 +#: pg_verifybackup.c:254 #, c-format msgid "cannot specify both %s and %s" msgstr "%sと%sの両方を同時には指定できません" -#: pg_verifybackup.c:323 +#: pg_verifybackup.c:274 #, c-format msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"" msgstr "%2$sにはプログラム\"%1$s\"が必要ですが、\"%3$s\"と同じディレクトリにありませんでした" -#: pg_verifybackup.c:326 +#: pg_verifybackup.c:277 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" msgstr "\"%2$s\"がプログラム\"%1$s\"を見つけましたが、これは%3$sと同じバージョンではありませんでした" -#: pg_verifybackup.c:381 +#: pg_verifybackup.c:303 pg_verifybackup.c:624 #, c-format -msgid "backup successfully verified\n" -msgstr "バックアップが正常に検証されました\n" - -#: pg_verifybackup.c:406 pg_verifybackup.c:865 -#, c-format -msgid "could not open file \"%s\": %m" -msgstr "ファイル\"%s\"をオープンできませんでした: %m" +msgid "could not open directory \"%s\": %m" +msgstr "ディレクトリ\"%s\"をオープンできませんでした: %m" -#: pg_verifybackup.c:410 +#: pg_verifybackup.c:322 pg_verifybackup.c:411 #, c-format msgid "could not stat file \"%s\": %m" msgstr "ファイル\"%s\"のstatに失敗しました: %m" -#: pg_verifybackup.c:438 pg_verifybackup.c:476 pg_verifybackup.c:896 +#: pg_verifybackup.c:339 #, c-format -msgid "could not read file \"%s\": %m" -msgstr "ファイル\"%s\"の読み取りに失敗しました: %m" +msgid "pg_waldump cannot read tar files" +msgstr "pg_waldumpはtarファイルを読めません" + +#: pg_verifybackup.c:340 +#, c-format +msgid "You must use -n or --no-parse-wal when verifying a tar-format backup." +msgstr "tarフォーマットのバックアップを検証するときには -n または --no-parse-wal を使う必要があります。" + +#: pg_verifybackup.c:382 +#, c-format +msgid "backup successfully verified\n" +msgstr "バックアップが正常に検証されました\n" -#: pg_verifybackup.c:440 +#: pg_verifybackup.c:441 #, c-format msgid "could not read file \"%s\": read %d of %lld" msgstr "ファイル\"%1$s\"を読み込めませんでした: %3$lldバイトのうち%2$dバイトを読み込みました" -#: pg_verifybackup.c:478 +#: pg_verifybackup.c:479 #, c-format msgid "could not read file \"%s\": read %lld of %lld" msgstr "ファイル\"%1$s\"を読み込めませんでした: %3$lldバイトのうち%2$lldバイトを読み込みました" -#: pg_verifybackup.c:561 +#: pg_verifybackup.c:562 #, c-format msgid "duplicate path name in backup manifest: \"%s\"" msgstr "バックアップ目録内の重複パス名: \"%s\"" -#: pg_verifybackup.c:624 pg_verifybackup.c:631 -#, c-format -msgid "could not open directory \"%s\": %m" -msgstr "ディレクトリ\"%s\"をオープンできませんでした: %m" - -#: pg_verifybackup.c:663 +#: pg_verifybackup.c:656 pg_verifybackup.c:826 #, c-format msgid "could not close directory \"%s\": %m" msgstr "ディレクトリ\"%s\"をクローズできませんでした: %m" -#: pg_verifybackup.c:683 +#: pg_verifybackup.c:677 pg_verifybackup.c:896 #, c-format msgid "could not stat file or directory \"%s\": %m" msgstr "\"%s\"というファイルまたはディレクトリの情報を取得できませんでした: %m" -#: pg_verifybackup.c:706 +#: pg_verifybackup.c:700 #, c-format msgid "\"%s\" is not a file or directory" msgstr "\"%s\"はファイルまたはディレクトリではありません" -#: pg_verifybackup.c:716 +#: pg_verifybackup.c:710 #, c-format msgid "\"%s\" is present on disk but not in the manifest" msgstr "\"%s\"はディスクに存在しますが、目録には存在しません" -#: pg_verifybackup.c:728 +#: pg_verifybackup.c:722 #, c-format -msgid "\"%s\" has size %lld on disk but size %zu in the manifest" -msgstr "\"%s\"はディスク上でのサイズは%lldですが、目録上は%zuとなっています" +msgid "\"%s\" has size %llu on disk but size %llu in the manifest" +msgstr "\"%s\"はディスク上でのサイズは%lluですが、目録上は%lluとなっています" -#: pg_verifybackup.c:768 +#: pg_verifybackup.c:764 #, c-format msgid "%s: CRC is incorrect" msgstr "%s: CRCが正しくありません" -#: pg_verifybackup.c:772 +#: pg_verifybackup.c:768 #, c-format msgid "%s: unexpected control file version" msgstr "%s: 予期しない制御ファイルバージョン" -#: pg_verifybackup.c:777 +#: pg_verifybackup.c:773 #, c-format msgid "%s: manifest system identifier is %llu, but control file has %llu" msgstr "%s: 目録のシステム識別子が%lluですが、制御ファイルでは%lluです" -#: pg_verifybackup.c:801 +#: pg_verifybackup.c:905 +#, c-format +msgid "\"%s\" is not a plain file" +msgstr "\"%s\"は通常ファイルではありません" + +#: pg_verifybackup.c:935 pg_verifybackup.c:956 +#, c-format +msgid "file \"%s\" is not expected in a tar format backup" +msgstr "tar形式のバックアップではファイル\"%s\"は想定外です" + +#: pg_verifybackup.c:1048 #, c-format msgid "\"%s\" is present in the manifest but not on disk" msgstr "\"%s\"は目録には存在しますが、ディスクには存在しません" -#: pg_verifybackup.c:873 +#: pg_verifybackup.c:1120 #, c-format msgid "could not initialize checksum of file \"%s\"" msgstr "ファイル\"%s\"のチェックサムの初期化ができませんでした" -#: pg_verifybackup.c:885 +#: pg_verifybackup.c:1132 #, c-format msgid "could not update checksum of file \"%s\"" msgstr "ファイル\"%s\"のチェックサムの更新ができませんでした" -#: pg_verifybackup.c:902 -#, c-format -msgid "could not close file \"%s\": %m" -msgstr "ファイル\"%s\"をクローズできませんでした: %m" - -#: pg_verifybackup.c:921 +#: pg_verifybackup.c:1168 #, c-format -msgid "file \"%s\" should contain %zu bytes, but read %zu bytes" -msgstr "file\"%s\"は%zuバイトを含む必要がありますが、%zuバイトが読み込まれました" +msgid "file \"%s\" should contain %llu bytes, but read %llu bytes" +msgstr "file\"%s\"は%lluバイトを含む必要がありますが、%lluバイトが読み込まれました" -#: pg_verifybackup.c:931 +#: pg_verifybackup.c:1179 #, c-format msgid "could not finalize checksum of file \"%s\"" msgstr "ファイル\"%s\"のチェックサムの完了ができませんでした" -#: pg_verifybackup.c:939 +#: pg_verifybackup.c:1187 #, c-format msgid "file \"%s\" has checksum of length %d, but expected %d" msgstr "ファイル\"%s\"のチェックサムの長さは%dですが、予期されるのは%dです" -#: pg_verifybackup.c:943 +#: pg_verifybackup.c:1191 #, c-format msgid "checksum mismatch for file \"%s\"" msgstr "ファイル\"%s\"のチェックサムが一致しません" -#: pg_verifybackup.c:969 +#: pg_verifybackup.c:1217 #, c-format msgid "WAL parsing failed for timeline %u" msgstr "タイムライン%uのWALのパースに失敗しました" -#: pg_verifybackup.c:1072 +#: pg_verifybackup.c:1351 #, c-format msgid "%*s/%s kB (%d%%) verified" msgstr "%*s/%s kB (%d%%) 検証しました" -#: pg_verifybackup.c:1089 +#: pg_verifybackup.c:1368 #, c-format msgid "" "%s verifies a backup against the backup manifest.\n" @@ -475,7 +559,7 @@ msgstr "" "%sはバックアップ目録に対してバックアップを検証します。\n" "\n" -#: pg_verifybackup.c:1090 +#: pg_verifybackup.c:1369 #, c-format msgid "" "Usage:\n" @@ -486,62 +570,67 @@ msgstr "" " %s [オプション]... BACKUPDIR\n" "\n" -#: pg_verifybackup.c:1091 +#: pg_verifybackup.c:1370 #, c-format msgid "Options:\n" msgstr "オプション:\n" -#: pg_verifybackup.c:1092 +#: pg_verifybackup.c:1371 #, c-format msgid " -e, --exit-on-error exit immediately on error\n" msgstr " -e, --exit-on-error エラー時に直ちに終了する\n" -#: pg_verifybackup.c:1093 +#: pg_verifybackup.c:1372 +#, c-format +msgid " -F, --format=p|t backup format (plain, tar)\n" +msgstr " -F, --format=p|t 出力フォーマット(plain, tar)\n" + +#: pg_verifybackup.c:1373 #, c-format msgid " -i, --ignore=RELATIVE_PATH ignore indicated path\n" msgstr " -i, --ignore=RELATIVE_PATH 指示されたパスを無視\n" -#: pg_verifybackup.c:1094 +#: pg_verifybackup.c:1374 #, c-format msgid " -m, --manifest-path=PATH use specified path for manifest\n" msgstr " -m, --manifest-path=PATH 目録として指定したパスを使用する\n" -#: pg_verifybackup.c:1095 +#: pg_verifybackup.c:1375 #, c-format msgid " -n, --no-parse-wal do not try to parse WAL files\n" msgstr " -n, --no-parse-wal WALファイルをパースしようとしない\n" -#: pg_verifybackup.c:1096 +#: pg_verifybackup.c:1376 #, c-format msgid " -P, --progress show progress information\n" msgstr " -P, --progress 進行状況を表示\n" -#: pg_verifybackup.c:1097 +#: pg_verifybackup.c:1377 #, c-format msgid " -q, --quiet do not print any output, except for errors\n" msgstr " -q, --quiet エラー以外何も出力しない\n" -#: pg_verifybackup.c:1098 +#: pg_verifybackup.c:1378 #, c-format msgid " -s, --skip-checksums skip checksum verification\n" msgstr " -s, --skip-checksums チェックサム検証をスキップ\n" -#: pg_verifybackup.c:1099 +#: pg_verifybackup.c:1379 #, c-format msgid " -w, --wal-directory=PATH use specified path for WAL files\n" msgstr " -w, --wal-directory=PATH WALファイルに指定したパスを使用する\n" -#: pg_verifybackup.c:1100 +#: pg_verifybackup.c:1380 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version バージョン情報を表示して終了\n" -#: pg_verifybackup.c:1101 +#: pg_verifybackup.c:1381 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help このヘルプを表示して終了\n" -#: pg_verifybackup.c:1102 +#: pg_verifybackup.c:1382 #, c-format msgid "" "\n" @@ -550,7 +639,7 @@ msgstr "" "\n" "バグは<%s>に報告してください。\n" -#: pg_verifybackup.c:1103 +#: pg_verifybackup.c:1383 #, c-format msgid "%s home page: <%s>\n" msgstr "%s ホームページ: <%s>\n" diff --git a/src/bin/pg_verifybackup/po/ka.po b/src/bin/pg_verifybackup/po/ka.po index b787426b173..7876f68394b 100644 --- a/src/bin/pg_verifybackup/po/ka.po +++ b/src/bin/pg_verifybackup/po/ka.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_verifybackup (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-06-04 22:18+0000\n" -"PO-Revision-Date: 2024-06-05 01:39+0200\n" +"POT-Creation-Date: 2024-08-29 17:48+0000\n" +"PO-Revision-Date: 2024-08-29 22:31+0200\n" "Last-Translator: Temuri Doghonadze \n" "Language-Team: Georgian \n" "Language: ka\n" @@ -38,6 +38,79 @@ msgstr "დეტალები: " msgid "hint: " msgstr "მინიშნება: " +#: ../../common/controldata_utils.c:97 +#, c-format +msgid "could not open file \"%s\" for reading: %m" +msgstr "ფაილის (%s) გახსნის შეცდომა: %m" + +#: ../../common/controldata_utils.c:110 pg_verifybackup.c:438 +#: pg_verifybackup.c:476 pg_verifybackup.c:896 +#, 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 "\"%s\"-ის წაკითხვის შეცდომა: წაკითხულია %d %zu-დან" + +#: ../../common/controldata_utils.c:132 ../../common/controldata_utils.c:280 +#: pg_verifybackup.c:902 +#, 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 "" +"ბაიტების მიმდევრობის შესაძლო შეუსაბამობა pg_control ფაილის შესანახად გამოყენებული \n" +"ბაიტების მიმდევრობა შესაძლოა არ ემთხვეოდეს ამ პროგრამის მიერ გამოყენებულს. ამ შემთხვევაში ქვემოთ \n" +"მოცემული შედეგები არასწორი იქნება და PostgreSQL ეს აგება ამ მონაცემთა საქაღალდესთან შეუთავსებელი იქნება." + +#: ../../common/controldata_utils.c:230 pg_verifybackup.c:406 +#: pg_verifybackup.c:865 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "ფაილის (%s) გახსნის შეცდომა: %m" + +#: ../../common/controldata_utils.c:249 +#, c-format +msgid "could not write file \"%s\": %m" +msgstr "ფაილში (%s) ჩაწერის შეცდომა: %m" + +#: ../../common/controldata_utils.c:268 +#, c-format +msgid "could not fsync file \"%s\": %m" +msgstr "ფაილის (%s) fsync-ის შეცდომა: %m" + +#: ../../common/cryptohash.c:261 ../../common/cryptohash_openssl.c:356 +#: ../../common/parse_manifest.c:157 ../../common/parse_manifest.c:853 +#, c-format +msgid "out of memory" +msgstr "არასაკმარისი მეხსიერება" + +#: ../../common/cryptohash.c:266 ../../common/cryptohash.c:272 +#: ../../common/cryptohash_openssl.c:368 ../../common/cryptohash_openssl.c:376 +msgid "success" +msgstr "წარმატება" + +#: ../../common/cryptohash.c:268 ../../common/cryptohash_openssl.c:370 +msgid "destination buffer too small" +msgstr "სამიზნე ბუფერი ძალიან პატარაა" + +#: ../../common/cryptohash_openssl.c:372 +msgid "OpenSSL failure" +msgstr "OpenSSL -ის სეცდომა" + #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 #: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 #, c-format @@ -145,11 +218,6 @@ msgstr "უნიკოდის მაღალ სუროგატს მა msgid "Unicode low surrogate must follow a high surrogate." msgstr "უნიკოდის დაბალი სუროგატი მაღალ სუროგატს უნდა მისდევდეს." -#: ../../common/parse_manifest.c:157 ../../common/parse_manifest.c:853 -#, c-format -msgid "out of memory" -msgstr "არასაკმარისი მეხსიერება" - #: ../../common/parse_manifest.c:159 ../../common/parse_manifest.c:855 #, c-format msgid "could not initialize checksum of manifest" @@ -213,8 +281,8 @@ msgid "unexpected manifest version" msgstr "მანიფესტის მოულოდნელი ვერსია" #: ../../common/parse_manifest.c:637 -msgid "manifest system identifier not an integer" -msgstr "მანიფესტის სისტემის იდენფიტიკატორი მთელი რიცხვი არაა" +msgid "system identifier in manifest not an integer" +msgstr "სისტემის იდენფიტიკატორი მანიფესტში მთელი რიცხვი არაა" #: ../../common/parse_manifest.c:662 msgid "missing path name" @@ -342,21 +410,11 @@ msgstr "პროგრამა „%s“ ნაპოვნია „%s“-ი msgid "backup successfully verified\n" msgstr "მარქაფი წარმატებით შემოწმდა\n" -#: pg_verifybackup.c:406 pg_verifybackup.c:865 -#, c-format -msgid "could not open file \"%s\": %m" -msgstr "ფაილის (%s) გახსნის შეცდომა: %m" - #: pg_verifybackup.c:410 #, c-format msgid "could not stat file \"%s\": %m" msgstr "ფაილი \"%s\" არ არსებობს: %m" -#: pg_verifybackup.c:438 pg_verifybackup.c:476 pg_verifybackup.c:896 -#, c-format -msgid "could not read file \"%s\": %m" -msgstr "ფაილის (%s) წაკითხვის შეცდომა: %m" - #: pg_verifybackup.c:440 #, c-format msgid "could not read file \"%s\": read %d of %lld" @@ -432,11 +490,6 @@ msgstr "ფაილის (\"%s\") საკონტროლო ჯამი msgid "could not update checksum of file \"%s\"" msgstr "ფაილის (\"%s\") საკონტროლო ჯამის განახლების შეცდომა" -#: pg_verifybackup.c:902 -#, c-format -msgid "could not close file \"%s\": %m" -msgstr "ფაილის (%s) დახურვის შეცდომა: %m" - #: pg_verifybackup.c:921 #, c-format msgid "file \"%s\" should contain %zu bytes, but read %zu bytes" diff --git a/src/bin/pg_verifybackup/po/ru.po b/src/bin/pg_verifybackup/po/ru.po index 64005feedfd..e569659ec00 100644 --- a/src/bin/pg_verifybackup/po/ru.po +++ b/src/bin/pg_verifybackup/po/ru.po @@ -1,10 +1,10 @@ -# Alexander Lakhin , 2020, 2021, 2022, 2023. +# Alexander Lakhin , 2020, 2021, 2022, 2023, 2024. msgid "" msgstr "" "Project-Id-Version: pg_verifybackup (PostgreSQL) 13\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-08-28 07:59+0300\n" -"PO-Revision-Date: 2023-08-30 12:42+0300\n" +"POT-Creation-Date: 2024-09-02 09:29+0300\n" +"PO-Revision-Date: 2024-09-07 09:48+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" @@ -35,6 +35,81 @@ msgstr "подробности: " msgid "hint: " msgstr "подсказка: " +#: ../../common/controldata_utils.c:97 +#, c-format +msgid "could not open file \"%s\" for reading: %m" +msgstr "не удалось открыть файл \"%s\" для чтения: %m" + +#: ../../common/controldata_utils.c:110 pg_verifybackup.c:438 +#: pg_verifybackup.c:476 pg_verifybackup.c:896 +#, 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 "не удалось прочитать файл \"%s\" (прочитано байт: %d из %zu)" + +#: ../../common/controldata_utils.c:132 ../../common/controldata_utils.c:280 +#: pg_verifybackup.c:902 +#, 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 pg_verifybackup.c:406 +#: pg_verifybackup.c:865 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "не удалось открыть файл \"%s\": %m" + +#: ../../common/controldata_utils.c:249 +#, c-format +msgid "could not write file \"%s\": %m" +msgstr "не удалось записать файл \"%s\": %m" + +#: ../../common/controldata_utils.c:268 +#, c-format +msgid "could not fsync file \"%s\": %m" +msgstr "не удалось синхронизировать с ФС файл \"%s\": %m" + +#: ../../common/cryptohash.c:261 ../../common/cryptohash_openssl.c:356 +#: ../../common/parse_manifest.c:157 ../../common/parse_manifest.c:853 +#, c-format +msgid "out of memory" +msgstr "нехватка памяти" + +#: ../../common/cryptohash.c:266 ../../common/cryptohash.c:272 +#: ../../common/cryptohash_openssl.c:368 ../../common/cryptohash_openssl.c:376 +msgid "success" +msgstr "успех" + +#: ../../common/cryptohash.c:268 ../../common/cryptohash_openssl.c:370 +msgid "destination buffer too small" +msgstr "буфер назначения слишком мал" + +#: ../../common/cryptohash_openssl.c:372 +msgid "OpenSSL failure" +msgstr "ошибка OpenSSL" + #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 #: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 #, c-format @@ -46,74 +121,91 @@ msgstr "нехватка памяти\n" msgid "cannot duplicate null pointer (internal error)\n" msgstr "попытка дублирования нулевого указателя (внутренняя ошибка)\n" -#: ../../common/jsonapi.c:1144 +#: ../../common/jsonapi.c:2121 +msgid "Recursive descent parser cannot use incremental lexer." +msgstr "" +"Инкрементальный лексический анализатор не подходит для нисходящего " +"рекурсивного разбора." + +#: ../../common/jsonapi.c:2123 +msgid "Incremental parser requires incremental lexer." +msgstr "" +"Для инкрементального разбора требуется инкрементальный лексический " +"анализатор." + +#: ../../common/jsonapi.c:2125 +msgid "JSON nested too deep, maximum permitted depth is 6400." +msgstr "" +"Слишком большая вложенность JSON, максимальная допустимая глубина: 6400." + +#: ../../common/jsonapi.c:2127 #, c-format -msgid "Escape sequence \"\\%s\" is invalid." -msgstr "Неверная спецпоследовательность: \"\\%s\"." +msgid "Escape sequence \"\\%.*s\" is invalid." +msgstr "Неверная спецпоследовательность: \"\\%.*s\"." -#: ../../common/jsonapi.c:1147 +#: ../../common/jsonapi.c:2131 #, c-format msgid "Character with value 0x%02x must be escaped." msgstr "Символ с кодом 0x%02x необходимо экранировать." -#: ../../common/jsonapi.c:1150 +#: ../../common/jsonapi.c:2135 #, c-format -msgid "Expected end of input, but found \"%s\"." -msgstr "Ожидался конец текста, но обнаружено продолжение \"%s\"." +msgid "Expected end of input, but found \"%.*s\"." +msgstr "Ожидался конец текста, но обнаружено продолжение \"%.*s\"." -#: ../../common/jsonapi.c:1153 +#: ../../common/jsonapi.c:2138 #, c-format -msgid "Expected array element or \"]\", but found \"%s\"." -msgstr "Ожидался элемент массива или \"]\", но обнаружено \"%s\"." +msgid "Expected array element or \"]\", but found \"%.*s\"." +msgstr "Ожидался элемент массива или \"]\", но обнаружено \"%.*s\"." -#: ../../common/jsonapi.c:1156 +#: ../../common/jsonapi.c:2141 #, c-format -msgid "Expected \",\" or \"]\", but found \"%s\"." -msgstr "Ожидалась \",\" или \"]\", но обнаружено \"%s\"." +msgid "Expected \",\" or \"]\", but found \"%.*s\"." +msgstr "Ожидалась \",\" или \"]\", но обнаружено \"%.*s\"." -#: ../../common/jsonapi.c:1159 +#: ../../common/jsonapi.c:2144 #, c-format -msgid "Expected \":\", but found \"%s\"." -msgstr "Ожидалось \":\", но обнаружено \"%s\"." +msgid "Expected \":\", but found \"%.*s\"." +msgstr "Ожидалось \":\", но обнаружено \"%.*s\"." -#: ../../common/jsonapi.c:1162 +#: ../../common/jsonapi.c:2147 #, c-format -msgid "Expected JSON value, but found \"%s\"." -msgstr "Ожидалось значение JSON, но обнаружено \"%s\"." +msgid "Expected JSON value, but found \"%.*s\"." +msgstr "Ожидалось значение JSON, но обнаружено \"%.*s\"." -#: ../../common/jsonapi.c:1165 +#: ../../common/jsonapi.c:2150 msgid "The input string ended unexpectedly." msgstr "Неожиданный конец входной строки." -#: ../../common/jsonapi.c:1167 +#: ../../common/jsonapi.c:2152 #, c-format -msgid "Expected string or \"}\", but found \"%s\"." -msgstr "Ожидалась строка или \"}\", но обнаружено \"%s\"." +msgid "Expected string or \"}\", but found \"%.*s\"." +msgstr "Ожидалась строка или \"}\", но обнаружено \"%.*s\"." -#: ../../common/jsonapi.c:1170 +#: ../../common/jsonapi.c:2155 #, c-format -msgid "Expected \",\" or \"}\", but found \"%s\"." -msgstr "Ожидалась \",\" или \"}\", но обнаружено \"%s\"." +msgid "Expected \",\" or \"}\", but found \"%.*s\"." +msgstr "Ожидалась \",\" или \"}\", но обнаружено \"%.*s\"." -#: ../../common/jsonapi.c:1173 +#: ../../common/jsonapi.c:2158 #, c-format -msgid "Expected string, but found \"%s\"." -msgstr "Ожидалась строка, но обнаружено \"%s\"." +msgid "Expected string, but found \"%.*s\"." +msgstr "Ожидалась строка, но обнаружено \"%.*s\"." -#: ../../common/jsonapi.c:1176 +#: ../../common/jsonapi.c:2161 #, c-format -msgid "Token \"%s\" is invalid." -msgstr "Ошибочный элемент текста \"%s\"." +msgid "Token \"%.*s\" is invalid." +msgstr "Ошибочный элемент \"%.*s\"." -#: ../../common/jsonapi.c:1179 +#: ../../common/jsonapi.c:2164 msgid "\\u0000 cannot be converted to text." msgstr "\\u0000 нельзя преобразовать в текст." -#: ../../common/jsonapi.c:1181 +#: ../../common/jsonapi.c:2166 msgid "\"\\u\" must be followed by four hexadecimal digits." msgstr "За \"\\u\" должны следовать четыре шестнадцатеричные цифры." -#: ../../common/jsonapi.c:1184 +#: ../../common/jsonapi.c:2169 msgid "" "Unicode escape values cannot be used for code point values above 007F when " "the encoding is not UTF8." @@ -121,327 +213,331 @@ msgstr "" "Спецкоды Unicode для значений выше 007F можно использовать только с " "кодировкой UTF8." -#: ../../common/jsonapi.c:1187 +#: ../../common/jsonapi.c:2178 #, c-format msgid "" "Unicode escape value could not be translated to the server's encoding %s." msgstr "Спецкод Unicode нельзя преобразовать в серверную кодировку %s." -#: ../../common/jsonapi.c:1190 +#: ../../common/jsonapi.c:2185 msgid "Unicode high surrogate must not follow a high surrogate." msgstr "" "Старшее слово суррогата Unicode не может следовать за другим старшим словом." -#: ../../common/jsonapi.c:1192 +#: ../../common/jsonapi.c:2187 msgid "Unicode low surrogate must follow a high surrogate." msgstr "Младшее слово суррогата Unicode должно следовать за старшим словом." -#: parse_manifest.c:150 -msgid "parsing failed" -msgstr "ошибка при разборе" +#: ../../common/parse_manifest.c:159 ../../common/parse_manifest.c:855 +#, c-format +msgid "could not initialize checksum of manifest" +msgstr "не удалось подготовить контекст контрольной суммы манифеста" -#: parse_manifest.c:152 +#: ../../common/parse_manifest.c:204 ../../common/parse_manifest.c:261 msgid "manifest ended unexpectedly" msgstr "неожиданный конец манифеста" -#: parse_manifest.c:191 +#: ../../common/parse_manifest.c:210 ../../common/parse_manifest.c:862 +#, c-format +msgid "could not update checksum of manifest" +msgstr "не удалось изменить контекст контрольной суммы манифеста" + +#: ../../common/parse_manifest.c:302 msgid "unexpected object start" msgstr "неожиданное начало объекта" -#: parse_manifest.c:226 +#: ../../common/parse_manifest.c:337 msgid "unexpected object end" msgstr "неожиданный конец объекта" -#: parse_manifest.c:255 +#: ../../common/parse_manifest.c:366 msgid "unexpected array start" msgstr "неожиданное начало массива" -#: parse_manifest.c:280 +#: ../../common/parse_manifest.c:391 msgid "unexpected array end" msgstr "неожиданный конец массива" -#: parse_manifest.c:307 +#: ../../common/parse_manifest.c:418 msgid "expected version indicator" msgstr "ожидалось указание версии" -#: parse_manifest.c:336 +#: ../../common/parse_manifest.c:454 msgid "unrecognized top-level field" msgstr "нераспознанное поле на верхнем уровне" -#: parse_manifest.c:355 +#: ../../common/parse_manifest.c:473 msgid "unexpected file field" msgstr "неизвестное поле для файла" -#: parse_manifest.c:369 +#: ../../common/parse_manifest.c:487 msgid "unexpected WAL range field" msgstr "неизвестное поле в указании диапазона WAL" -#: parse_manifest.c:375 +#: ../../common/parse_manifest.c:493 msgid "unexpected object field" msgstr "неожиданное поле объекта" -#: parse_manifest.c:407 +#: ../../common/parse_manifest.c:583 +msgid "unexpected scalar" +msgstr "неожиданное скалярное значение" + +#: ../../common/parse_manifest.c:609 +msgid "manifest version not an integer" +msgstr "версия манифеста не является целым числом" + +#: ../../common/parse_manifest.c:613 msgid "unexpected manifest version" msgstr "неожиданная версия манифеста" -#: parse_manifest.c:458 -msgid "unexpected scalar" -msgstr "неожиданное скалярное значение" +#: ../../common/parse_manifest.c:637 +msgid "system identifier in manifest not an integer" +msgstr "идентификатор системы в манифесте не является целым числом" -#: parse_manifest.c:484 +#: ../../common/parse_manifest.c:662 msgid "missing path name" msgstr "отсутствует указание пути" -#: parse_manifest.c:487 +#: ../../common/parse_manifest.c:665 msgid "both path name and encoded path name" -msgstr "указание пути задано в обычном виде и в закодированном" +msgstr "путь задан в обычном виде и в закодированном" -#: parse_manifest.c:489 +#: ../../common/parse_manifest.c:667 msgid "missing size" msgstr "отсутствует указание размера" -#: parse_manifest.c:492 +#: ../../common/parse_manifest.c:670 msgid "checksum without algorithm" msgstr "не задан алгоритм расчёта контрольной суммы" -#: parse_manifest.c:506 +#: ../../common/parse_manifest.c:684 msgid "could not decode file name" msgstr "не удалось декодировать имя файла" -#: parse_manifest.c:516 +#: ../../common/parse_manifest.c:694 msgid "file size is not an integer" msgstr "размер файла не является целочисленным" -#: parse_manifest.c:522 +#: ../../common/parse_manifest.c:700 #, c-format msgid "unrecognized checksum algorithm: \"%s\"" msgstr "нераспознанный алгоритм расчёта контрольных сумм: \"%s\"" -#: parse_manifest.c:541 +#: ../../common/parse_manifest.c:719 #, c-format msgid "invalid checksum for file \"%s\": \"%s\"" msgstr "неверная контрольная сумма для файла \"%s\": \"%s\"" -#: parse_manifest.c:584 +#: ../../common/parse_manifest.c:762 msgid "missing timeline" msgstr "отсутствует линия времени" -#: parse_manifest.c:586 +#: ../../common/parse_manifest.c:764 msgid "missing start LSN" msgstr "отсутствует начальный LSN" -#: parse_manifest.c:588 +#: ../../common/parse_manifest.c:766 msgid "missing end LSN" msgstr "отсутствует конечный LSN" -#: parse_manifest.c:594 +#: ../../common/parse_manifest.c:772 msgid "timeline is not an integer" -msgstr "линия времени задаётся не целым числом" +msgstr "линия времени задана не целым числом" -#: parse_manifest.c:597 +#: ../../common/parse_manifest.c:775 msgid "could not parse start LSN" msgstr "не удалось разобрать начальный LSN" -#: parse_manifest.c:600 +#: ../../common/parse_manifest.c:778 msgid "could not parse end LSN" msgstr "не удалось разобрать конечный LSN" -#: parse_manifest.c:661 +#: ../../common/parse_manifest.c:843 msgid "expected at least 2 lines" msgstr "ожидалось как минимум 2 строки" -#: parse_manifest.c:664 +#: ../../common/parse_manifest.c:846 msgid "last line not newline-terminated" msgstr "последняя строка не оканчивается символом новой строки" -#: parse_manifest.c:669 -#, c-format -msgid "out of memory" -msgstr "нехватка памяти" - -#: parse_manifest.c:671 -#, c-format -msgid "could not initialize checksum of manifest" -msgstr "не удалось подготовить контекст контрольной суммы манифеста" - -#: parse_manifest.c:673 -#, c-format -msgid "could not update checksum of manifest" -msgstr "не удалось изменить контекст контрольной суммы манифеста" - -#: parse_manifest.c:676 +#: ../../common/parse_manifest.c:865 #, c-format msgid "could not finalize checksum of manifest" msgstr "не удалось завершить расчёт контрольной суммы манифеста" -#: parse_manifest.c:680 +#: ../../common/parse_manifest.c:869 #, c-format msgid "manifest has no checksum" msgstr "в манифесте нет контрольной суммы" -#: parse_manifest.c:684 +#: ../../common/parse_manifest.c:873 #, c-format msgid "invalid manifest checksum: \"%s\"" msgstr "неверная контрольная сумма в манифесте: \"%s\"" -#: parse_manifest.c:688 +#: ../../common/parse_manifest.c:877 #, c-format msgid "manifest checksum mismatch" msgstr "ошибка контрольной суммы манифеста" -#: parse_manifest.c:703 +#: ../../common/parse_manifest.c:892 #, c-format msgid "could not parse backup manifest: %s" msgstr "не удалось разобрать манифест копии: %s" -#: pg_verifybackup.c:273 pg_verifybackup.c:282 pg_verifybackup.c:293 +#: pg_verifybackup.c:277 pg_verifybackup.c:286 pg_verifybackup.c:297 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Для дополнительной информации попробуйте \"%s --help\"." -#: pg_verifybackup.c:281 +#: pg_verifybackup.c:285 #, c-format msgid "no backup directory specified" msgstr "каталог копии не указан" -#: pg_verifybackup.c:291 +#: pg_verifybackup.c:295 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "слишком много аргументов командной строки (первый: \"%s\")" -#: pg_verifybackup.c:299 +#: pg_verifybackup.c:303 #, c-format msgid "cannot specify both %s and %s" msgstr "указать %s и %s одновременно нельзя" -#: pg_verifybackup.c:319 +#: pg_verifybackup.c:323 #, c-format msgid "" "program \"%s\" is needed by %s but was not found in the same directory as " "\"%s\"" msgstr "программа \"%s\" нужна для %s, но она не найдена в каталоге \"%s\"" -#: pg_verifybackup.c:322 +#: pg_verifybackup.c:326 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" msgstr "" "программа \"%s\" найдена программой \"%s\", но её версия отличается от " "версии %s" -#: pg_verifybackup.c:378 +#: pg_verifybackup.c:381 #, c-format msgid "backup successfully verified\n" msgstr "копия проверена успешно\n" -#: pg_verifybackup.c:404 pg_verifybackup.c:748 -#, c-format -msgid "could not open file \"%s\": %m" -msgstr "не удалось открыть файл \"%s\": %m" - -#: pg_verifybackup.c:408 +#: pg_verifybackup.c:410 #, c-format msgid "could not stat file \"%s\": %m" msgstr "не удалось получить информацию о файле \"%s\": %m" -#: pg_verifybackup.c:428 pg_verifybackup.c:779 -#, c-format -msgid "could not read file \"%s\": %m" -msgstr "не удалось прочитать файл \"%s\": %m" - -#: pg_verifybackup.c:431 +#: pg_verifybackup.c:440 #, c-format msgid "could not read file \"%s\": read %d of %lld" msgstr "не удалось прочитать файл \"%s\" (прочитано байт: %d из %lld)" -#: pg_verifybackup.c:491 +#: pg_verifybackup.c:478 +#, c-format +msgid "could not read file \"%s\": read %lld of %lld" +msgstr "не удалось прочитать файл \"%s\" (прочитано байт: %lld из %lld)" + +#: pg_verifybackup.c:561 #, c-format msgid "duplicate path name in backup manifest: \"%s\"" msgstr "дублирующийся путь в манифесте копии: \"%s\"" -#: pg_verifybackup.c:554 pg_verifybackup.c:561 +#: pg_verifybackup.c:624 pg_verifybackup.c:631 #, c-format msgid "could not open directory \"%s\": %m" msgstr "не удалось открыть каталог \"%s\": %m" -#: pg_verifybackup.c:593 +#: pg_verifybackup.c:663 #, c-format msgid "could not close directory \"%s\": %m" msgstr "не удалось закрыть каталог \"%s\": %m" -#: pg_verifybackup.c:613 +#: pg_verifybackup.c:683 #, c-format msgid "could not stat file or directory \"%s\": %m" msgstr "не удалось получить информацию о файле или каталоге \"%s\": %m" -#: pg_verifybackup.c:636 +#: pg_verifybackup.c:706 #, c-format msgid "\"%s\" is not a file or directory" msgstr "\"%s\" не указывает на файл или каталог" -#: pg_verifybackup.c:646 +#: pg_verifybackup.c:716 #, c-format msgid "\"%s\" is present on disk but not in the manifest" msgstr "файл \"%s\" присутствует на диске, но отсутствует в манифесте" -#: pg_verifybackup.c:658 +#: pg_verifybackup.c:728 #, c-format msgid "\"%s\" has size %lld on disk but size %zu in the manifest" msgstr "" "файл \"%s\" имеет размер на диске: %lld, тогда как размер в манифесте: %zu" -#: pg_verifybackup.c:689 +#: pg_verifybackup.c:768 +#, c-format +msgid "%s: CRC is incorrect" +msgstr "%s: ошибка CRC" + +#: pg_verifybackup.c:772 +#, c-format +msgid "%s: unexpected control file version" +msgstr "%s: неожиданная версия управляющего файла" + +#: pg_verifybackup.c:777 +#, c-format +msgid "%s: manifest system identifier is %llu, but control file has %llu" +msgstr "%s: идентификатор системы в манифесте %llu, а в управляющем файле %llu" + +#: pg_verifybackup.c:801 #, c-format msgid "\"%s\" is present in the manifest but not on disk" msgstr "файл \"%s\" присутствует в манифесте, но отсутствует на диске" -#: pg_verifybackup.c:756 +#: pg_verifybackup.c:873 #, c-format msgid "could not initialize checksum of file \"%s\"" msgstr "не удалось подготовить контекст контрольной суммы файла \"%s\"" -#: pg_verifybackup.c:768 +#: pg_verifybackup.c:885 #, c-format msgid "could not update checksum of file \"%s\"" msgstr "не удалось изменить контекст контрольной суммы файла \"%s\"" -#: pg_verifybackup.c:785 -#, c-format -msgid "could not close file \"%s\": %m" -msgstr "не удалось закрыть файл \"%s\": %m" - -#: pg_verifybackup.c:804 +#: pg_verifybackup.c:921 #, c-format msgid "file \"%s\" should contain %zu bytes, but read %zu bytes" msgstr "файл \"%s\" должен содержать байт: %zu, но фактически прочитано: %zu" -#: pg_verifybackup.c:814 +#: pg_verifybackup.c:931 #, c-format msgid "could not finalize checksum of file \"%s\"" msgstr "не удалось завершить расчёт контрольной суммы файла \"%s\"" -#: pg_verifybackup.c:822 +#: pg_verifybackup.c:939 #, c-format msgid "file \"%s\" has checksum of length %d, but expected %d" msgstr "" "для файла \"%s\" задана контрольная сумма размером %d, но ожидаемый размер: " "%d" -#: pg_verifybackup.c:826 +#: pg_verifybackup.c:943 #, c-format msgid "checksum mismatch for file \"%s\"" msgstr "ошибка контрольной суммы для файла \"%s\"" -#: pg_verifybackup.c:851 +#: pg_verifybackup.c:969 #, c-format msgid "WAL parsing failed for timeline %u" msgstr "не удалось разобрать WAL для линии времени %u" -#: pg_verifybackup.c:965 +#: pg_verifybackup.c:1072 #, c-format msgid "%*s/%s kB (%d%%) verified" msgstr "%*s/%s КБ (%d%%) проверено" -#: pg_verifybackup.c:982 +#: pg_verifybackup.c:1089 #, c-format msgid "" "%s verifies a backup against the backup manifest.\n" @@ -450,7 +546,7 @@ msgstr "" "%s проверяет резервную копию, используя манифест копии.\n" "\n" -#: pg_verifybackup.c:983 +#: pg_verifybackup.c:1090 #, c-format msgid "" "Usage:\n" @@ -461,67 +557,67 @@ msgstr "" " %s [ПАРАМЕТР]... КАТАЛОГ_КОПИИ\n" "\n" -#: pg_verifybackup.c:984 +#: pg_verifybackup.c:1091 #, c-format msgid "Options:\n" msgstr "Параметры:\n" -#: pg_verifybackup.c:985 +#: pg_verifybackup.c:1092 #, c-format msgid " -e, --exit-on-error exit immediately on error\n" msgstr " -e, --exit-on-error немедленный выход при ошибке\n" -#: pg_verifybackup.c:986 +#: pg_verifybackup.c:1093 #, c-format msgid " -i, --ignore=RELATIVE_PATH ignore indicated path\n" msgstr "" " -i, --ignore=ОТНОСИТЕЛЬНЫЙ_ПУТЬ\n" " игнорировать заданный путь\n" -#: pg_verifybackup.c:987 +#: pg_verifybackup.c:1094 #, c-format msgid " -m, --manifest-path=PATH use specified path for manifest\n" msgstr " -m, --manifest-path=ПУТЬ использовать заданный файл манифеста\n" -#: pg_verifybackup.c:988 +#: pg_verifybackup.c:1095 #, c-format msgid " -n, --no-parse-wal do not try to parse WAL files\n" msgstr " -n, --no-parse-wal не пытаться разбирать файлы WAL\n" -#: pg_verifybackup.c:989 +#: pg_verifybackup.c:1096 #, c-format msgid " -P, --progress show progress information\n" msgstr " -P, --progress показывать прогресс операции\n" -#: pg_verifybackup.c:990 +#: pg_verifybackup.c:1097 #, c-format msgid "" " -q, --quiet do not print any output, except for errors\n" msgstr "" " -q, --quiet не выводить никаких сообщений, кроме ошибок\n" -#: pg_verifybackup.c:991 +#: pg_verifybackup.c:1098 #, c-format msgid " -s, --skip-checksums skip checksum verification\n" msgstr " -s, --skip-checksums пропустить проверку контрольных сумм\n" -#: pg_verifybackup.c:992 +#: pg_verifybackup.c:1099 #, c-format msgid " -w, --wal-directory=PATH use specified path for WAL files\n" msgstr "" " -w, --wal-directory=ПУТЬ использовать заданный путь к файлам WAL\n" -#: pg_verifybackup.c:993 +#: pg_verifybackup.c:1100 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version показать версию и выйти\n" -#: pg_verifybackup.c:994 +#: pg_verifybackup.c:1101 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help показать эту справку и выйти\n" -#: pg_verifybackup.c:995 +#: pg_verifybackup.c:1102 #, c-format msgid "" "\n" @@ -530,10 +626,13 @@ msgstr "" "\n" "Об ошибках сообщайте по адресу <%s>.\n" -#: pg_verifybackup.c:996 +#: pg_verifybackup.c:1103 #, c-format msgid "%s home page: <%s>\n" msgstr "Домашняя страница %s: <%s>\n" +#~ msgid "parsing failed" +#~ msgstr "ошибка при разборе" + #~ msgid "fatal: " #~ msgstr "важно: " diff --git a/src/bin/pg_verifybackup/po/sv.po b/src/bin/pg_verifybackup/po/sv.po index 17240feeb5c..e2fe73ccab2 100644 --- a/src/bin/pg_verifybackup/po/sv.po +++ b/src/bin/pg_verifybackup/po/sv.po @@ -1,14 +1,14 @@ # Swedish message translation file for pg_verifybackup # Copyright (C) 2020 PostgreSQL Global Development Group # This file is distributed under the same license as the pg_verifybackup (PostgreSQL) package. -# Dennis Björklund , 2020, 2021, 2022, 2023. +# Dennis Björklund , 2020, 2021, 2022, 2023, 2024. # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 16\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-08-01 14:17+0000\n" -"PO-Revision-Date: 2023-08-01 22:19+0200\n" +"POT-Creation-Date: 2024-08-31 06:18+0000\n" +"PO-Revision-Date: 2024-09-01 20:47+0200\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -37,6 +37,80 @@ msgstr "detalj: " msgid "hint: " msgstr "tips: " +#: ../../common/controldata_utils.c:97 +#, 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_verifybackup.c:438 +#: pg_verifybackup.c:476 pg_verifybackup.c:896 +#, c-format +msgid "could not read file \"%s\": %m" +msgstr "kunde inte läsa fil \"%s\": %m" + +#: ../../common/controldata_utils.c:119 +#, c-format +msgid "could not read file \"%s\": read %d of %zu" +msgstr "kunde inte läsa fil \"%s\": läste %d av %zu" + +#: ../../common/controldata_utils.c:132 ../../common/controldata_utils.c:280 +#: pg_verifybackup.c:902 +#, c-format +msgid "could not close file \"%s\": %m" +msgstr "kunde inte stänga fil \"%s\": %m" + +#: ../../common/controldata_utils.c:168 +msgid "byte ordering mismatch" +msgstr "byte-ordning stämmer inte" + +#: ../../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 "" +"möjligt fel i byteordning\n" +"Den byteordning som filen från pg_control lagrats med passar kanske\n" +"inte detta program. I så fall kan nedanstående resultat vara felaktiga\n" +"och PostgreSQL-installationen vara inkompatibel med databaskatalogen." + +#: ../../common/controldata_utils.c:230 pg_verifybackup.c:406 +#: pg_verifybackup.c:865 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "kunde inte öppna fil \"%s\": %m" + +#: ../../common/controldata_utils.c:249 +#, c-format +msgid "could not write file \"%s\": %m" +msgstr "kunde inte skriva fil \"%s\": %m" + +#: ../../common/controldata_utils.c:268 +#, c-format +msgid "could not fsync file \"%s\": %m" +msgstr "kunde inte fsync:a fil \"%s\": %m" + +#: ../../common/cryptohash.c:261 ../../common/cryptohash_openssl.c:356 +#: ../../common/parse_manifest.c:157 ../../common/parse_manifest.c:853 +#, c-format +msgid "out of memory" +msgstr "slut på minne" + +#: ../../common/cryptohash.c:266 ../../common/cryptohash.c:272 +#: ../../common/cryptohash_openssl.c:368 ../../common/cryptohash_openssl.c:376 +msgid "success" +msgstr "lyckades" + +#: ../../common/cryptohash.c:268 ../../common/cryptohash_openssl.c:370 +msgid "destination buffer too small" +msgstr "destinationsbuffer för liten" + +#: ../../common/cryptohash_openssl.c:372 +msgid "OpenSSL failure" +msgstr "OpenSSL-fel" + #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 #: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 #, c-format @@ -48,389 +122,405 @@ msgstr "slut på minne\n" msgid "cannot duplicate null pointer (internal error)\n" msgstr "kan inte duplicera null-pekare (internt fel)\n" -#: ../../common/jsonapi.c:1144 +#: ../../common/jsonapi.c:2121 +msgid "Recursive descent parser cannot use incremental lexer." +msgstr "Recursive-descent-parser kan inte använda inkrementell lexer." + +#: ../../common/jsonapi.c:2123 +msgid "Incremental parser requires incremental lexer." +msgstr "Inkrementell parser kräver en inkrementell lexer." + +#: ../../common/jsonapi.c:2125 +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 #, c-format -msgid "Escape sequence \"\\%s\" is invalid." -msgstr "Escape-sekvens \"\\%s\" är ogiltig." +msgid "Escape sequence \"\\%.*s\" is invalid." +msgstr "Escape-sekvens \"\\%.*s\" är ogiltig." -#: ../../common/jsonapi.c:1147 +#: ../../common/jsonapi.c:2131 #, 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:1150 +#: ../../common/jsonapi.c:2135 #, c-format -msgid "Expected end of input, but found \"%s\"." -msgstr "Förväntade slut på indata, men hittade \"%s\"." +msgid "Expected end of input, but found \"%.*s\"." +msgstr "Förväntade slut på indata, men hittade \"%.*s\"." -#: ../../common/jsonapi.c:1153 +#: ../../common/jsonapi.c:2138 #, c-format -msgid "Expected array element or \"]\", but found \"%s\"." -msgstr "Färväntade array-element eller \"]\", men hittade \"%s\"." +msgid "Expected array element or \"]\", but found \"%.*s\"." +msgstr "Färväntade array-element eller \"]\", men hittade \"%.*s\"." -#: ../../common/jsonapi.c:1156 +#: ../../common/jsonapi.c:2141 #, c-format -msgid "Expected \",\" or \"]\", but found \"%s\"." -msgstr "Förväntade \",\" eller \"]\", men hittade \"%s\"." +msgid "Expected \",\" or \"]\", but found \"%.*s\"." +msgstr "Förväntade \",\" eller \"]\", men hittade \"%.*s\"." -#: ../../common/jsonapi.c:1159 +#: ../../common/jsonapi.c:2144 #, c-format -msgid "Expected \":\", but found \"%s\"." -msgstr "Förväntade sig \":\" men hittade \"%s\"." +msgid "Expected \":\", but found \"%.*s\"." +msgstr "Förväntade sig \":\" men hittade \"%.*s\"." -#: ../../common/jsonapi.c:1162 +#: ../../common/jsonapi.c:2147 #, c-format -msgid "Expected JSON value, but found \"%s\"." -msgstr "Förväntade JSON-värde, men hittade \"%s\"." +msgid "Expected JSON value, but found \"%.*s\"." +msgstr "Förväntade JSON-värde, men hittade \"%.*s\"." -#: ../../common/jsonapi.c:1165 +#: ../../common/jsonapi.c:2150 msgid "The input string ended unexpectedly." msgstr "Indatasträngen avslutades oväntat." -#: ../../common/jsonapi.c:1167 +#: ../../common/jsonapi.c:2152 #, c-format -msgid "Expected string or \"}\", but found \"%s\"." -msgstr "Färväntade sträng eller \"}\", men hittade \"%s\"." +msgid "Expected string or \"}\", but found \"%.*s\"." +msgstr "Färväntade sträng eller \"}\", men hittade \"%.*s\"." -#: ../../common/jsonapi.c:1170 +#: ../../common/jsonapi.c:2155 #, c-format -msgid "Expected \",\" or \"}\", but found \"%s\"." -msgstr "Förväntade sig \",\" eller \"}\" men hittade \"%s\"." +msgid "Expected \",\" or \"}\", but found \"%.*s\"." +msgstr "Förväntade sig \",\" eller \"}\" men hittade \"%.*s\"." -#: ../../common/jsonapi.c:1173 +#: ../../common/jsonapi.c:2158 #, c-format -msgid "Expected string, but found \"%s\"." -msgstr "Förväntade sträng, men hittade \"%s\"." +msgid "Expected string, but found \"%.*s\"." +msgstr "Förväntade sträng, men hittade \"%.*s\"." -#: ../../common/jsonapi.c:1176 +#: ../../common/jsonapi.c:2161 #, c-format -msgid "Token \"%s\" is invalid." -msgstr "Token \"%s\" är ogiltig." +msgid "Token \"%.*s\" is invalid." +msgstr "Token \"%.*s\" är ogiltig." -#: ../../common/jsonapi.c:1179 +#: ../../common/jsonapi.c:2164 msgid "\\u0000 cannot be converted to text." msgstr "\\u0000 kan inte konverteras till text." -#: ../../common/jsonapi.c:1181 +#: ../../common/jsonapi.c:2166 msgid "\"\\u\" must be followed by four hexadecimal digits." msgstr "\"\\u\" måste följas av fyra hexdecimala siffror." -#: ../../common/jsonapi.c:1184 +#: ../../common/jsonapi.c:2169 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:1187 +#: ../../common/jsonapi.c:2178 #, 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:1190 +#: ../../common/jsonapi.c:2185 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:1192 +#: ../../common/jsonapi.c:2187 msgid "Unicode low surrogate must follow a high surrogate." msgstr "Unicodes lägre surrogathalva måste följa en övre surrogathalva." -#: parse_manifest.c:150 -msgid "parsing failed" -msgstr "parsning misslyckades" +#: ../../common/parse_manifest.c:159 ../../common/parse_manifest.c:855 +#, c-format +msgid "could not initialize checksum of manifest" +msgstr "kunde inte initiera kontrollsumma för backup-manifest" -#: parse_manifest.c:152 +#: ../../common/parse_manifest.c:204 ../../common/parse_manifest.c:261 msgid "manifest ended unexpectedly" msgstr "manifestet avslutades oväntat" -#: parse_manifest.c:191 +#: ../../common/parse_manifest.c:210 ../../common/parse_manifest.c:862 +#, c-format +msgid "could not update checksum of manifest" +msgstr "kunde inte uppdatera kontrollsumma för backup-manifest" + +#: ../../common/parse_manifest.c:302 msgid "unexpected object start" msgstr "oväntad objektstart" -#: parse_manifest.c:226 +#: ../../common/parse_manifest.c:337 msgid "unexpected object end" msgstr "oväntat objektslut" -#: parse_manifest.c:255 +#: ../../common/parse_manifest.c:366 msgid "unexpected array start" msgstr "oväntad array-start" -#: parse_manifest.c:280 +#: ../../common/parse_manifest.c:391 msgid "unexpected array end" msgstr "oväntat array-slut" -#: parse_manifest.c:307 +#: ../../common/parse_manifest.c:418 msgid "expected version indicator" msgstr "förväntade en versionsindikator" -#: parse_manifest.c:336 +#: ../../common/parse_manifest.c:454 msgid "unrecognized top-level field" msgstr "okänt toppnivåfält" -#: parse_manifest.c:355 +#: ../../common/parse_manifest.c:473 msgid "unexpected file field" msgstr "oväntat filfält" -#: parse_manifest.c:369 +#: ../../common/parse_manifest.c:487 msgid "unexpected WAL range field" msgstr "oväntat WAL-intervall-fält" -#: parse_manifest.c:375 +#: ../../common/parse_manifest.c:493 msgid "unexpected object field" msgstr "oväntat objektfält" -#: parse_manifest.c:407 +#: ../../common/parse_manifest.c:583 +msgid "unexpected scalar" +msgstr "oväntad skalar" + +#: ../../common/parse_manifest.c:609 +msgid "manifest version not an integer" +msgstr "manifestversion är inte ett heltal" + +#: ../../common/parse_manifest.c:613 msgid "unexpected manifest version" msgstr "oväntad manifestversion" -#: parse_manifest.c:458 -msgid "unexpected scalar" -msgstr "oväntad skalar" +#: ../../common/parse_manifest.c:637 +msgid "system identifier in manifest not an integer" +msgstr "manifestets systemidentifierare är inte ett heltal" -#: parse_manifest.c:484 +#: ../../common/parse_manifest.c:662 msgid "missing path name" msgstr "saknas sökväg" -#: parse_manifest.c:487 +#: ../../common/parse_manifest.c:665 msgid "both path name and encoded path name" msgstr "både sökväg och kodad sökväg" -#: parse_manifest.c:489 +#: ../../common/parse_manifest.c:667 msgid "missing size" msgstr "saknar storlek" -#: parse_manifest.c:492 +#: ../../common/parse_manifest.c:670 msgid "checksum without algorithm" msgstr "kontrollsumma utan algoritm" -#: parse_manifest.c:506 +#: ../../common/parse_manifest.c:684 msgid "could not decode file name" msgstr "kunde inte avkoda filnamn" -#: parse_manifest.c:516 +#: ../../common/parse_manifest.c:694 msgid "file size is not an integer" msgstr "filstorlek är inte ett haltal" -#: parse_manifest.c:522 +#: ../../common/parse_manifest.c:700 #, c-format msgid "unrecognized checksum algorithm: \"%s\"" msgstr "okänd algoritm för kontrollsumma: \"%s\"" -#: parse_manifest.c:541 +#: ../../common/parse_manifest.c:719 #, c-format msgid "invalid checksum for file \"%s\": \"%s\"" msgstr "ogiltig kontrollsumma för fil \"%s\": \"%s\"" -#: parse_manifest.c:584 +#: ../../common/parse_manifest.c:762 msgid "missing timeline" msgstr "saknar tidslinje" -#: parse_manifest.c:586 +#: ../../common/parse_manifest.c:764 msgid "missing start LSN" msgstr "saknar start-LSN" -#: parse_manifest.c:588 +#: ../../common/parse_manifest.c:766 msgid "missing end LSN" msgstr "saknar slut-LSN" -#: parse_manifest.c:594 +#: ../../common/parse_manifest.c:772 msgid "timeline is not an integer" msgstr "tidslinje är inte ett heltal" -#: parse_manifest.c:597 +#: ../../common/parse_manifest.c:775 msgid "could not parse start LSN" msgstr "kunde inte parsa start-LSN" -#: parse_manifest.c:600 +#: ../../common/parse_manifest.c:778 msgid "could not parse end LSN" msgstr "kunde inte parsa slut-LSN" -#: parse_manifest.c:661 +#: ../../common/parse_manifest.c:843 msgid "expected at least 2 lines" msgstr "förväntade minst två rader" -#: parse_manifest.c:664 +#: ../../common/parse_manifest.c:846 msgid "last line not newline-terminated" msgstr "sista raden är inte nyradsterminerad" -#: parse_manifest.c:669 -#, c-format -msgid "out of memory" -msgstr "slut på minne" - -#: parse_manifest.c:671 -#, c-format -msgid "could not initialize checksum of manifest" -msgstr "kunde inte initiera kontrollsumma för backup-manifest" - -#: parse_manifest.c:673 -#, c-format -msgid "could not update checksum of manifest" -msgstr "kunde inte uppdatera kontrollsumma för backup-manifest" - -#: parse_manifest.c:676 +#: ../../common/parse_manifest.c:865 #, c-format msgid "could not finalize checksum of manifest" msgstr "kunde inte göra klart kontrollsumma för backup-manifest" -#: parse_manifest.c:680 +#: ../../common/parse_manifest.c:869 #, c-format msgid "manifest has no checksum" msgstr "manifestet har ingen kontrollsumma" -#: parse_manifest.c:684 +#: ../../common/parse_manifest.c:873 #, c-format msgid "invalid manifest checksum: \"%s\"" msgstr "ogiltig kontrollsumma för manifest: \"%s\"" -#: parse_manifest.c:688 +#: ../../common/parse_manifest.c:877 #, c-format msgid "manifest checksum mismatch" msgstr "kontrollsumma för manifest matchar inte" -#: parse_manifest.c:703 +#: ../../common/parse_manifest.c:892 #, c-format msgid "could not parse backup manifest: %s" msgstr "kunde inte parsa backup-manifest: %s" -#: pg_verifybackup.c:273 pg_verifybackup.c:282 pg_verifybackup.c:293 +#: pg_verifybackup.c:277 pg_verifybackup.c:286 pg_verifybackup.c:297 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Försök med \"%s --help\" för mer information." -#: pg_verifybackup.c:281 +#: pg_verifybackup.c:285 #, c-format msgid "no backup directory specified" msgstr "ingen backup-katalog angiven" -#: pg_verifybackup.c:291 +#: pg_verifybackup.c:295 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "för många kommandoradsargument (första är \"%s\")" -#: pg_verifybackup.c:299 +#: pg_verifybackup.c:303 #, c-format msgid "cannot specify both %s and %s" msgstr "kan inte ange både %s och %s" -#: pg_verifybackup.c:319 +#: pg_verifybackup.c:323 #, 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_verifybackup.c:322 +#: pg_verifybackup.c:326 #, 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_verifybackup.c:378 +#: pg_verifybackup.c:381 #, c-format msgid "backup successfully verified\n" msgstr "korrekt verifierad backup\n" -#: pg_verifybackup.c:404 pg_verifybackup.c:748 -#, c-format -msgid "could not open file \"%s\": %m" -msgstr "kunde inte öppna fil \"%s\": %m" - -#: pg_verifybackup.c:408 +#: pg_verifybackup.c:410 #, c-format msgid "could not stat file \"%s\": %m" msgstr "kunde inte göra stat() på fil \"%s\": %m" -#: pg_verifybackup.c:428 pg_verifybackup.c:779 -#, c-format -msgid "could not read file \"%s\": %m" -msgstr "kunde inte läsa fil \"%s\": %m" - -#: pg_verifybackup.c:431 +#: pg_verifybackup.c:440 #, c-format msgid "could not read file \"%s\": read %d of %lld" msgstr "kunde inte läsa fil \"%s\": läste %d av %lld" -#: pg_verifybackup.c:491 +#: pg_verifybackup.c:478 +#, c-format +msgid "could not read file \"%s\": read %lld of %lld" +msgstr "kunde inte läsa fil \"%s\": läste %lld av %lld" + +#: pg_verifybackup.c:561 #, c-format msgid "duplicate path name in backup manifest: \"%s\"" msgstr "duplicerad sökväg i backup-manifest: \"%s\"" -#: pg_verifybackup.c:554 pg_verifybackup.c:561 +#: pg_verifybackup.c:624 pg_verifybackup.c:631 #, c-format msgid "could not open directory \"%s\": %m" msgstr "kunde inte öppna katalog \"%s\": %m" -#: pg_verifybackup.c:593 +#: pg_verifybackup.c:663 #, c-format msgid "could not close directory \"%s\": %m" msgstr "kunde inte stänga katalog \"%s\": %m" -#: pg_verifybackup.c:613 +#: pg_verifybackup.c:683 #, c-format msgid "could not stat file or directory \"%s\": %m" msgstr "kunde inte ta status på fil eller katalog \"%s\": %m" -#: pg_verifybackup.c:636 +#: pg_verifybackup.c:706 #, c-format msgid "\"%s\" is not a file or directory" msgstr "\"%s\" är inte en fil eller katalog" -#: pg_verifybackup.c:646 +#: pg_verifybackup.c:716 #, c-format msgid "\"%s\" is present on disk but not in the manifest" msgstr "\"%s\" finns på disk men är inte i manifestet" -#: pg_verifybackup.c:658 +#: pg_verifybackup.c:728 #, c-format msgid "\"%s\" has size %lld on disk but size %zu in the manifest" msgstr "\"%s\" har storlek %lld på disk men storlek %zu i manifestet" -#: pg_verifybackup.c:689 +#: pg_verifybackup.c:768 +#, c-format +msgid "%s: CRC is incorrect" +msgstr "%s: CRC är inkorrekt" + +#: pg_verifybackup.c:772 +#, c-format +msgid "%s: unexpected control file version" +msgstr "%s: oväntad version på kontrollfil" + +#: pg_verifybackup.c:777 +#, c-format +msgid "%s: manifest system identifier is %llu, but control file has %llu" +msgstr "%s: manifestets systemidentifierare är %llu men kontrollfilern har %llu" + +#: pg_verifybackup.c:801 #, c-format msgid "\"%s\" is present in the manifest but not on disk" msgstr "\"%s\" finns i manifestet men inte på disk" -#: pg_verifybackup.c:756 +#: pg_verifybackup.c:873 #, c-format msgid "could not initialize checksum of file \"%s\"" msgstr "kunde inte initiera kontrollsumma för filen \"%s\"" -#: pg_verifybackup.c:768 +#: pg_verifybackup.c:885 #, c-format msgid "could not update checksum of file \"%s\"" msgstr "kunde inte uppdatera kontrollsumma för filen \"%s\"" -#: pg_verifybackup.c:785 -#, c-format -msgid "could not close file \"%s\": %m" -msgstr "kunde inte stänga fil \"%s\": %m" - -#: pg_verifybackup.c:804 +#: pg_verifybackup.c:921 #, c-format msgid "file \"%s\" should contain %zu bytes, but read %zu bytes" msgstr "filen \"%s\" skall innehålla %zu byte men vi läste %zu byte" -#: pg_verifybackup.c:814 +#: pg_verifybackup.c:931 #, c-format msgid "could not finalize checksum of file \"%s\"" msgstr "kunde inte göra klart kontrollsumma för filen \"%s\"" -#: pg_verifybackup.c:822 +#: pg_verifybackup.c:939 #, c-format msgid "file \"%s\" has checksum of length %d, but expected %d" msgstr "filen \"%s\" har kontrollsumma med längd %d men förväntade %d" -#: pg_verifybackup.c:826 +#: pg_verifybackup.c:943 #, c-format msgid "checksum mismatch for file \"%s\"" msgstr "kontrollsumman matchar inte för fil \"%s\"" -#: pg_verifybackup.c:851 +#: pg_verifybackup.c:969 #, c-format msgid "WAL parsing failed for timeline %u" msgstr "WAL-parsning misslyckades för tidslinje %u" -#: pg_verifybackup.c:965 +#: pg_verifybackup.c:1072 #, c-format msgid "%*s/%s kB (%d%%) verified" msgstr "%*s/%s kB (%d%%) verifierad" -#: pg_verifybackup.c:982 +#: pg_verifybackup.c:1089 #, c-format msgid "" "%s verifies a backup against the backup manifest.\n" @@ -439,7 +529,7 @@ msgstr "" "%s verifierar en backup gentemot backup-manifestet.\n" "\n" -#: pg_verifybackup.c:983 +#: pg_verifybackup.c:1090 #, c-format msgid "" "Usage:\n" @@ -450,62 +540,62 @@ msgstr "" " %s [FLAGGOR]... BACKUPKAT\n" "\n" -#: pg_verifybackup.c:984 +#: pg_verifybackup.c:1091 #, c-format msgid "Options:\n" msgstr "Flaggor:\n" -#: pg_verifybackup.c:985 +#: pg_verifybackup.c:1092 #, c-format msgid " -e, --exit-on-error exit immediately on error\n" msgstr " -e, --exit-on-error avsluta direkt vid fel\n" -#: pg_verifybackup.c:986 +#: pg_verifybackup.c:1093 #, c-format msgid " -i, --ignore=RELATIVE_PATH ignore indicated path\n" msgstr " -i, --ignore=RELATIV_SÖKVÄG hoppa över angiven sökväg\n" -#: pg_verifybackup.c:987 +#: pg_verifybackup.c:1094 #, c-format msgid " -m, --manifest-path=PATH use specified path for manifest\n" msgstr " -m, --manifest-path=SÖKVÄG använd denna sökväg till manifestet\n" -#: pg_verifybackup.c:988 +#: pg_verifybackup.c:1095 #, c-format msgid " -n, --no-parse-wal do not try to parse WAL files\n" msgstr " -n, --no-parse-wal försök inte parsa WAL-filer\n" -#: pg_verifybackup.c:989 +#: pg_verifybackup.c:1096 #, c-format msgid " -P, --progress show progress information\n" msgstr " -P, --progress visa förloppsinformation\n" -#: pg_verifybackup.c:990 +#: pg_verifybackup.c:1097 #, c-format msgid " -q, --quiet do not print any output, except for errors\n" msgstr " -q, --quiet skriv inte ut några meddelanden förutom fel\n" -#: pg_verifybackup.c:991 +#: pg_verifybackup.c:1098 #, c-format msgid " -s, --skip-checksums skip checksum verification\n" msgstr " -s, --skip-checksums hoppa över verifiering av kontrollsummor\n" -#: pg_verifybackup.c:992 +#: pg_verifybackup.c:1099 #, c-format msgid " -w, --wal-directory=PATH use specified path for WAL files\n" msgstr " -w, --wal-directory=SÖKVÄG använd denna sökväg till WAL-filer\n" -#: pg_verifybackup.c:993 +#: pg_verifybackup.c:1100 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version visa versionsinformation, avsluta sedan\n" -#: pg_verifybackup.c:994 +#: pg_verifybackup.c:1101 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help visa denna hjälp, avsluta sedan\n" -#: pg_verifybackup.c:995 +#: pg_verifybackup.c:1102 #, c-format msgid "" "\n" @@ -514,35 +604,7 @@ msgstr "" "\n" "Rapportera fel till <%s>.\n" -#: pg_verifybackup.c:996 +#: pg_verifybackup.c:1103 #, c-format msgid "%s home page: <%s>\n" msgstr "hemsida för %s: <%s>\n" - -#, c-format -#~ msgid "" -#~ "The program \"%s\" is needed by %s but was not found in the\n" -#~ "same directory as \"%s\".\n" -#~ "Check your installation." -#~ msgstr "" -#~ "Programmet \"%s\" behövs av %s men hittades inte i samma\n" -#~ "katalog som \"%s\".\n" -#~ "Kontrollera din installation." - -#, c-format -#~ msgid "" -#~ "The program \"%s\" was found by \"%s\"\n" -#~ "but was not the same version as %s.\n" -#~ "Check your installation." -#~ msgstr "" -#~ "Programmet \"%s\" hittades av \"%s\"\n" -#~ "men är inte av samma version som %s.\n" -#~ "Kontrollera din installation." - -#, c-format -#~ msgid "Try \"%s --help\" for more information.\n" -#~ msgstr "Försök med \"%s --help\" för mer information.\n" - -#, c-format -#~ msgid "fatal: " -#~ msgstr "fatalt: " diff --git a/src/bin/pg_verifybackup/po/uk.po b/src/bin/pg_verifybackup/po/uk.po index 034b9764232..2c349e51c1c 100644 --- a/src/bin/pg_verifybackup/po/uk.po +++ b/src/bin/pg_verifybackup/po/uk.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: postgresql\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-04-19 11:17+0000\n" -"PO-Revision-Date: 2023-12-19 15:37\n" +"POT-Creation-Date: 2024-08-31 06:18+0000\n" +"PO-Revision-Date: 2024-09-23 19:38\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -14,8 +14,8 @@ msgstr "" "X-Crowdin-Project: postgresql\n" "X-Crowdin-Project-ID: 324573\n" "X-Crowdin-Language: uk\n" -"X-Crowdin-File: /REL_16_STABLE/pg_verifybackup.pot\n" -"X-Crowdin-File-ID: 959\n" +"X-Crowdin-File: /REL_17_STABLE/pg_verifybackup.pot\n" +"X-Crowdin-File-ID: 1004\n" #: ../../../src/common/logging.c:276 #, c-format @@ -37,6 +37,76 @@ msgstr "деталі: " msgid "hint: " msgstr "підказка: " +#: ../../common/controldata_utils.c:97 +#, c-format +msgid "could not open file \"%s\" for reading: %m" +msgstr "не вдалося відкрити файл \"%s\" для читання: %m" + +#: ../../common/controldata_utils.c:110 pg_verifybackup.c:438 +#: pg_verifybackup.c:476 pg_verifybackup.c:896 +#, 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 "не вдалося прочитати файл \"%s\": прочитано %d з %zu" + +#: ../../common/controldata_utils.c:132 ../../common/controldata_utils.c:280 +#: pg_verifybackup.c:902 +#, 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, може не відповідати тому, який використовується цією програмою. У такому випадку результати нижче будуть неправильним, і інсталяція PostgreSQL буде несумісною з цим каталогом даних." + +#: ../../common/controldata_utils.c:230 pg_verifybackup.c:406 +#: pg_verifybackup.c:865 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "не можливо відкрити файл \"%s\": %m" + +#: ../../common/controldata_utils.c:249 +#, c-format +msgid "could not write file \"%s\": %m" +msgstr "не вдалося записати файл \"%s\": %m" + +#: ../../common/controldata_utils.c:268 +#, c-format +msgid "could not fsync file \"%s\": %m" +msgstr "не вдалося fsync файл \"%s\": %m" + +#: ../../common/cryptohash.c:261 ../../common/cryptohash_openssl.c:356 +#: ../../common/parse_manifest.c:157 ../../common/parse_manifest.c:853 +#, c-format +msgid "out of memory" +msgstr "недостатньо пам'яті" + +#: ../../common/cryptohash.c:266 ../../common/cryptohash.c:272 +#: ../../common/cryptohash_openssl.c:368 ../../common/cryptohash_openssl.c:376 +msgid "success" +msgstr "успіх" + +#: ../../common/cryptohash.c:268 ../../common/cryptohash_openssl.c:370 +msgid "destination buffer too small" +msgstr "буфер призначення занадто малий" + +#: ../../common/cryptohash_openssl.c:372 +msgid "OpenSSL failure" +msgstr "Помилка OpenSSL" + #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 #: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 #, c-format @@ -48,463 +118,479 @@ msgstr "недостатньо пам'яті\n" msgid "cannot duplicate null pointer (internal error)\n" msgstr "неможливо дублювати нульовий покажчик (внутрішня помилка)\n" -#: ../../common/jsonapi.c:1144 +#: ../../common/jsonapi.c:2121 +msgid "Recursive descent parser cannot use incremental lexer." +msgstr "Рекурсивний спуск не може використовувати інкрементний лексичний аналізатор." + +#: ../../common/jsonapi.c:2123 +msgid "Incremental parser requires incremental lexer." +msgstr "Інкрементний аналізатор потребує Інкрементний лексичний аналізатор." + +#: ../../common/jsonapi.c:2125 +msgid "JSON nested too deep, maximum permitted depth is 6400." +msgstr "JSON вкладений занадто глибокий, максимально дозволена глибина - 6400." + +#: ../../common/jsonapi.c:2127 #, c-format -msgid "Escape sequence \"\\%s\" is invalid." -msgstr "Неприпустима спеціальна послідовність \"\\%s\"." +msgid "Escape sequence \"\\%.*s\" is invalid." +msgstr "Неприпустима спеціальна послідовність \"\\%.*s\"." -#: ../../common/jsonapi.c:1147 +#: ../../common/jsonapi.c:2131 #, c-format msgid "Character with value 0x%02x must be escaped." msgstr "Символ зі значенням 0x%02x повинен бути пропущений." -#: ../../common/jsonapi.c:1150 +#: ../../common/jsonapi.c:2135 #, c-format -msgid "Expected end of input, but found \"%s\"." -msgstr "Очікувався кінець введення, але знайдено \"%s\"." +msgid "Expected end of input, but found \"%.*s\"." +msgstr "Очікувався кінець введення, але знайдено \"%.*s\"." -#: ../../common/jsonapi.c:1153 +#: ../../common/jsonapi.c:2138 #, c-format -msgid "Expected array element or \"]\", but found \"%s\"." -msgstr "Очікувався елемент масиву або \"]\", але знайдено \"%s\"." +msgid "Expected array element or \"]\", but found \"%.*s\"." +msgstr "Очікувався елемент масиву або \"]\", але знайдено \"%.*s\"." -#: ../../common/jsonapi.c:1156 +#: ../../common/jsonapi.c:2141 #, c-format -msgid "Expected \",\" or \"]\", but found \"%s\"." -msgstr "Очікувалось \",\" або \"]\", але знайдено \"%s\"." +msgid "Expected \",\" or \"]\", but found \"%.*s\"." +msgstr "Очікувалось \",\" або \"]\", але знайдено \"%.*s\"." -#: ../../common/jsonapi.c:1159 +#: ../../common/jsonapi.c:2144 #, c-format -msgid "Expected \":\", but found \"%s\"." -msgstr "Очікувалось \":\", але знайдено \"%s\"." +msgid "Expected \":\", but found \"%.*s\"." +msgstr "Очікувалось \":\", але знайдено \"%.*s\"." -#: ../../common/jsonapi.c:1162 +#: ../../common/jsonapi.c:2147 #, c-format -msgid "Expected JSON value, but found \"%s\"." -msgstr "Очікувалось значення JSON, але знайдено \"%s\"." +msgid "Expected JSON value, but found \"%.*s\"." +msgstr "Очікувалось значення JSON, але знайдено \"%.*s\"." -#: ../../common/jsonapi.c:1165 +#: ../../common/jsonapi.c:2150 msgid "The input string ended unexpectedly." msgstr "Несподіваний кінець вхідного рядка." -#: ../../common/jsonapi.c:1167 +#: ../../common/jsonapi.c:2152 #, c-format -msgid "Expected string or \"}\", but found \"%s\"." -msgstr "Очікувався рядок або \"}\", але знайдено \"%s\"." +msgid "Expected string or \"}\", but found \"%.*s\"." +msgstr "Очікувався рядок або \"}\", але знайдено \"%.*s\"." -#: ../../common/jsonapi.c:1170 +#: ../../common/jsonapi.c:2155 #, c-format -msgid "Expected \",\" or \"}\", but found \"%s\"." -msgstr "Очікувалось \",\" або \"}\", але знайдено \"%s\"." +msgid "Expected \",\" or \"}\", but found \"%.*s\"." +msgstr "Очікувалось \",\" або \"}\", але знайдено \"%.*s\"." -#: ../../common/jsonapi.c:1173 +#: ../../common/jsonapi.c:2158 #, c-format -msgid "Expected string, but found \"%s\"." -msgstr "Очікувався рядок, але знайдено \"%s\"." +msgid "Expected string, but found \"%.*s\"." +msgstr "Очікувався рядок, але знайдено \"%.*s\"." -#: ../../common/jsonapi.c:1176 +#: ../../common/jsonapi.c:2161 #, c-format -msgid "Token \"%s\" is invalid." -msgstr "Неприпустимий маркер \"%s\"." +msgid "Token \"%.*s\" is invalid." +msgstr "Неприпустимий маркер \"%.*s\"." -#: ../../common/jsonapi.c:1179 +#: ../../common/jsonapi.c:2164 msgid "\\u0000 cannot be converted to text." msgstr "\\u0000 не можна перетворити в текст." -#: ../../common/jsonapi.c:1181 +#: ../../common/jsonapi.c:2166 msgid "\"\\u\" must be followed by four hexadecimal digits." msgstr "За \"\\u\" повинні прямувати чотири шістнадцяткових числа." -#: ../../common/jsonapi.c:1184 +#: ../../common/jsonapi.c:2169 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:1187 +#: ../../common/jsonapi.c:2178 #, c-format msgid "Unicode escape value could not be translated to the server's encoding %s." msgstr "Значення символу Unicode не вдалося перекласти в кодування сервера %s." -#: ../../common/jsonapi.c:1190 +#: ../../common/jsonapi.c:2185 msgid "Unicode high surrogate must not follow a high surrogate." msgstr "Старший сурогат Unicode не повинен прямувати за іншим старшим сурогатом." -#: ../../common/jsonapi.c:1192 +#: ../../common/jsonapi.c:2187 msgid "Unicode low surrogate must follow a high surrogate." msgstr "Молодший сурогат Unicode не повинен прямувати за іншим молодшим сурогатом." -#: parse_manifest.c:150 -msgid "parsing failed" -msgstr "помилка парсингу" +#: ../../common/parse_manifest.c:159 ../../common/parse_manifest.c:855 +#, c-format +msgid "could not initialize checksum of manifest" +msgstr "не вдалося ініціалізувати контрольну суму маніфесту" -#: parse_manifest.c:152 +#: ../../common/parse_manifest.c:204 ../../common/parse_manifest.c:261 msgid "manifest ended unexpectedly" msgstr "маніфест закінчився несподівано" -#: parse_manifest.c:191 +#: ../../common/parse_manifest.c:210 ../../common/parse_manifest.c:862 +#, c-format +msgid "could not update checksum of manifest" +msgstr "не вдалося оновити контрольну суму маніфесту" + +#: ../../common/parse_manifest.c:302 msgid "unexpected object start" msgstr "неочікуваний початок об'єкта" -#: parse_manifest.c:226 +#: ../../common/parse_manifest.c:337 msgid "unexpected object end" msgstr "неочікуваний кінець об'єкта" -#: parse_manifest.c:255 +#: ../../common/parse_manifest.c:366 msgid "unexpected array start" msgstr "неочікуваний початок масиву" -#: parse_manifest.c:280 +#: ../../common/parse_manifest.c:391 msgid "unexpected array end" msgstr "неочікуваний кінець масиву" -#: parse_manifest.c:307 +#: ../../common/parse_manifest.c:418 msgid "expected version indicator" msgstr "індикатор очікуваної версії" -#: parse_manifest.c:336 +#: ../../common/parse_manifest.c:454 msgid "unrecognized top-level field" msgstr "нерозпізнане поле верхнього рівня" -#: parse_manifest.c:355 +#: ../../common/parse_manifest.c:473 msgid "unexpected file field" msgstr "неочікуване поле файлу" -#: parse_manifest.c:369 +#: ../../common/parse_manifest.c:487 msgid "unexpected WAL range field" msgstr "неочікуване поле діапазону WAL" -#: parse_manifest.c:375 +#: ../../common/parse_manifest.c:493 msgid "unexpected object field" msgstr "неочікуване поле об'єкта" -#: parse_manifest.c:407 +#: ../../common/parse_manifest.c:583 +msgid "unexpected scalar" +msgstr "неочікуваний скаляр" + +#: ../../common/parse_manifest.c:609 +msgid "manifest version not an integer" +msgstr "версія маніфесту не ціле число" + +#: ../../common/parse_manifest.c:613 msgid "unexpected manifest version" msgstr "неочікувана версія маніфесту" -#: parse_manifest.c:458 -msgid "unexpected scalar" -msgstr "неочікуваний скаляр" +#: ../../common/parse_manifest.c:637 +msgid "system identifier in manifest not an integer" +msgstr "системний ідентифікатор в маніфесті не ціле число" -#: parse_manifest.c:484 +#: ../../common/parse_manifest.c:662 msgid "missing path name" msgstr "пропущено шлях" -#: parse_manifest.c:487 +#: ../../common/parse_manifest.c:665 msgid "both path name and encoded path name" msgstr "і ім'я шляху, і закодований шлях" -#: parse_manifest.c:489 +#: ../../common/parse_manifest.c:667 msgid "missing size" msgstr "відсутній розмір" -#: parse_manifest.c:492 +#: ../../common/parse_manifest.c:670 msgid "checksum without algorithm" msgstr "контрольна сума без алгоритму" -#: parse_manifest.c:506 +#: ../../common/parse_manifest.c:684 msgid "could not decode file name" msgstr "не вдалося декодувати ім'я файлу" -#: parse_manifest.c:516 +#: ../../common/parse_manifest.c:694 msgid "file size is not an integer" msgstr "розмір файлу не є цілим числом" -#: parse_manifest.c:522 +#: ../../common/parse_manifest.c:700 #, c-format msgid "unrecognized checksum algorithm: \"%s\"" msgstr "нерозпізнаний алгоритм контрольної суми: \"%s\"" -#: parse_manifest.c:541 +#: ../../common/parse_manifest.c:719 #, c-format msgid "invalid checksum for file \"%s\": \"%s\"" msgstr "неприпустима контрольна сума для файлу \"%s\": \"%s\"" -#: parse_manifest.c:584 +#: ../../common/parse_manifest.c:762 msgid "missing timeline" msgstr "відсутня часова шкала" -#: parse_manifest.c:586 +#: ../../common/parse_manifest.c:764 msgid "missing start LSN" msgstr "відсутній LSN початку" -#: parse_manifest.c:588 +#: ../../common/parse_manifest.c:766 msgid "missing end LSN" msgstr "відсутній LSN кінця" -#: parse_manifest.c:594 +#: ../../common/parse_manifest.c:772 msgid "timeline is not an integer" msgstr "часова лінія не є цілим числом" -#: parse_manifest.c:597 +#: ../../common/parse_manifest.c:775 msgid "could not parse start LSN" msgstr "не вдалося проаналізувати початковий LSN" -#: parse_manifest.c:600 +#: ../../common/parse_manifest.c:778 msgid "could not parse end LSN" msgstr "не вдалося проаналізувати кінцевий LSN" -#: parse_manifest.c:661 +#: ../../common/parse_manifest.c:843 msgid "expected at least 2 lines" msgstr "очікувалося принаймні 2 рядки" -#: parse_manifest.c:664 +#: ../../common/parse_manifest.c:846 msgid "last line not newline-terminated" msgstr "останній рядок не завершений новим рядком" -#: parse_manifest.c:669 -#, c-format -msgid "out of memory" -msgstr "недостатньо пам'яті" - -#: parse_manifest.c:671 -#, c-format -msgid "could not initialize checksum of manifest" -msgstr "не вдалося ініціалізувати контрольну суму маніфесту" - -#: parse_manifest.c:673 -#, c-format -msgid "could not update checksum of manifest" -msgstr "не вдалося оновити контрольну суму маніфесту" - -#: parse_manifest.c:676 +#: ../../common/parse_manifest.c:865 #, c-format msgid "could not finalize checksum of manifest" msgstr "не вдалося остаточно завершити контрольну суму маніфесту" -#: parse_manifest.c:680 +#: ../../common/parse_manifest.c:869 #, c-format msgid "manifest has no checksum" msgstr "у маніфесті немає контрольної суми" -#: parse_manifest.c:684 +#: ../../common/parse_manifest.c:873 #, c-format msgid "invalid manifest checksum: \"%s\"" msgstr "неприпустима контрольна сума маніфесту: \"%s\"" -#: parse_manifest.c:688 +#: ../../common/parse_manifest.c:877 #, c-format msgid "manifest checksum mismatch" msgstr "невідповідність контрольної суми маніфесту" -#: parse_manifest.c:703 +#: ../../common/parse_manifest.c:892 #, c-format msgid "could not parse backup manifest: %s" msgstr "не вдалося проаналізувати маніфест резервної копії: %s" -#: pg_verifybackup.c:273 pg_verifybackup.c:282 pg_verifybackup.c:293 +#: pg_verifybackup.c:277 pg_verifybackup.c:286 pg_verifybackup.c:297 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Спробуйте \"%s --help\" для додаткової інформації." -#: pg_verifybackup.c:281 +#: pg_verifybackup.c:285 #, c-format msgid "no backup directory specified" msgstr "не вказано папку резервної копії" -#: pg_verifybackup.c:291 +#: pg_verifybackup.c:295 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "забагато аргументів у командному рядку (перший \"%s\")" -#: pg_verifybackup.c:299 +#: pg_verifybackup.c:303 #, c-format msgid "cannot specify both %s and %s" msgstr "не можна вказати як %s, так і %s" -#: pg_verifybackup.c:319 +#: pg_verifybackup.c:323 #, c-format msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\"" msgstr "програма \"%s\" потрібна для %s, але не знайдена в тому ж каталозі, що й \"%s\"" -#: pg_verifybackup.c:322 +#: pg_verifybackup.c:326 #, c-format msgid "program \"%s\" was found by \"%s\" but was not the same version as %s" msgstr "програма \"%s\" знайдена для \"%s\", але має відмінну версію від %s" -#: pg_verifybackup.c:378 +#: pg_verifybackup.c:381 #, c-format msgid "backup successfully verified\n" msgstr "резервну копію успішно перевірено\n" -#: pg_verifybackup.c:404 pg_verifybackup.c:748 -#, c-format -msgid "could not open file \"%s\": %m" -msgstr "не можливо відкрити файл \"%s\": %m" - -#: pg_verifybackup.c:408 +#: pg_verifybackup.c:410 #, c-format msgid "could not stat file \"%s\": %m" msgstr "не вдалося отримати інформацію від файлу \"%s\": %m" -#: pg_verifybackup.c:428 pg_verifybackup.c:779 -#, c-format -msgid "could not read file \"%s\": %m" -msgstr "не вдалося прочитати файл \"%s\": %m" - -#: pg_verifybackup.c:431 +#: pg_verifybackup.c:440 #, c-format msgid "could not read file \"%s\": read %d of %lld" msgstr "не вдалося прочитати файл \"%s\": прочитано %d з %lld" -#: pg_verifybackup.c:491 +#: pg_verifybackup.c:478 +#, c-format +msgid "could not read file \"%s\": read %lld of %lld" +msgstr "не вдалося прочитати файл \"%s\": прочитано %lld з %lld" + +#: pg_verifybackup.c:561 #, c-format msgid "duplicate path name in backup manifest: \"%s\"" msgstr "дубльований шлях у маніфесті резервного копіювання: \"%s\"" -#: pg_verifybackup.c:554 pg_verifybackup.c:561 +#: pg_verifybackup.c:624 pg_verifybackup.c:631 #, c-format msgid "could not open directory \"%s\": %m" msgstr "не вдалося відкрити каталог \"%s\": %m" -#: pg_verifybackup.c:593 +#: pg_verifybackup.c:663 #, c-format msgid "could not close directory \"%s\": %m" msgstr "не вдалося закрити каталог \"%s\": %m" -#: pg_verifybackup.c:613 +#: pg_verifybackup.c:683 #, c-format msgid "could not stat file or directory \"%s\": %m" msgstr "не вдалося отримати інформацію про файл або каталог \"%s\": %m" -#: pg_verifybackup.c:636 +#: pg_verifybackup.c:706 #, c-format msgid "\"%s\" is not a file or directory" msgstr "\"%s\" не є файлом або каталогом" -#: pg_verifybackup.c:646 +#: pg_verifybackup.c:716 #, c-format msgid "\"%s\" is present on disk but not in the manifest" msgstr "\"%s\" присутній на диску, але не у маніфесті" -#: pg_verifybackup.c:658 +#: pg_verifybackup.c:728 #, c-format msgid "\"%s\" has size %lld on disk but size %zu in the manifest" msgstr "\"%s\" має розмір %lld на диску, але розмір %zu у маніфесті" -#: pg_verifybackup.c:689 +#: pg_verifybackup.c:768 +#, c-format +msgid "%s: CRC is incorrect" +msgstr "%s: CRC невірний" + +#: pg_verifybackup.c:772 +#, c-format +msgid "%s: unexpected control file version" +msgstr "%s: неочікувана версія контрольного файлу" + +#: pg_verifybackup.c:777 +#, c-format +msgid "%s: manifest system identifier is %llu, but control file has %llu" +msgstr "%s: маніфестовий ідентифікатор системи - %llu, але контрольний файл має %llu" + +#: pg_verifybackup.c:801 #, c-format msgid "\"%s\" is present in the manifest but not on disk" msgstr "\"%s\" присутній у маніфесті, але не на диску" -#: pg_verifybackup.c:756 +#: pg_verifybackup.c:873 #, c-format msgid "could not initialize checksum of file \"%s\"" msgstr "не вдалося ініціалізувати контрольну суму файлу \"%s\"" -#: pg_verifybackup.c:768 +#: pg_verifybackup.c:885 #, c-format msgid "could not update checksum of file \"%s\"" msgstr "не вдалося оновити контрольну суму файлу \"%s\"" -#: pg_verifybackup.c:785 -#, c-format -msgid "could not close file \"%s\": %m" -msgstr "неможливо закрити файл \"%s\": %m" - -#: pg_verifybackup.c:804 +#: pg_verifybackup.c:921 #, c-format msgid "file \"%s\" should contain %zu bytes, but read %zu bytes" msgstr "файл \"%s\" мусить містити %zu байтів, але прочитано %zu байтів" -#: pg_verifybackup.c:814 +#: pg_verifybackup.c:931 #, c-format msgid "could not finalize checksum of file \"%s\"" msgstr "не вдалося остаточно завершити контрольну суму файлу \"%s\"" -#: pg_verifybackup.c:822 +#: pg_verifybackup.c:939 #, c-format msgid "file \"%s\" has checksum of length %d, but expected %d" msgstr "файл \"%s\" має контрольну суму довжини %d, але очікувалось %d" -#: pg_verifybackup.c:826 +#: pg_verifybackup.c:943 #, c-format msgid "checksum mismatch for file \"%s\"" msgstr "невідповідність контрольної суми для файлу \"%s\"" -#: pg_verifybackup.c:851 +#: pg_verifybackup.c:969 #, c-format msgid "WAL parsing failed for timeline %u" msgstr "не вдалося проаналізувати WAL для часової шкали %u" -#: pg_verifybackup.c:965 +#: pg_verifybackup.c:1072 #, c-format msgid "%*s/%s kB (%d%%) verified" msgstr "%*s/%s MB (%d%%) перевірено" -#: pg_verifybackup.c:982 +#: pg_verifybackup.c:1089 #, c-format msgid "%s verifies a backup against the backup manifest.\n\n" msgstr "%s перевіряє резервну копію відповідно до маніфесту резервного копіювання.\n\n" -#: pg_verifybackup.c:983 +#: pg_verifybackup.c:1090 #, c-format msgid "Usage:\n" " %s [OPTION]... BACKUPDIR\n\n" msgstr "Використання:\n" " %s [OPTION]... КАТАЛОГ_КОПІЮВАННЯ\n\n" -#: pg_verifybackup.c:984 +#: pg_verifybackup.c:1091 #, c-format msgid "Options:\n" msgstr "Параметри:\n" -#: pg_verifybackup.c:985 +#: pg_verifybackup.c:1092 #, c-format msgid " -e, --exit-on-error exit immediately on error\n" msgstr " -e, --exit-on-error вийти при помилці\n" -#: pg_verifybackup.c:986 +#: pg_verifybackup.c:1093 #, c-format msgid " -i, --ignore=RELATIVE_PATH ignore indicated path\n" msgstr " -i, --ignore=RELATIVE_PATH ігнорувати вказаний шлях\n" -#: pg_verifybackup.c:987 +#: pg_verifybackup.c:1094 #, c-format msgid " -m, --manifest-path=PATH use specified path for manifest\n" msgstr " -m, --manifest-path=PATH використовувати вказаний шлях для маніфесту\n" -#: pg_verifybackup.c:988 +#: pg_verifybackup.c:1095 #, c-format msgid " -n, --no-parse-wal do not try to parse WAL files\n" msgstr " -n, --no-parse-wal не намагатися аналізувати файли WAL\n" -#: pg_verifybackup.c:989 +#: pg_verifybackup.c:1096 #, c-format msgid " -P, --progress show progress information\n" msgstr " -P, --progress повідомляти про хід процесу\n" -#: pg_verifybackup.c:990 +#: pg_verifybackup.c:1097 #, c-format msgid " -q, --quiet do not print any output, except for errors\n" msgstr " -q, --quiet не друкувати жодного виводу, окрім помилок\n" -#: pg_verifybackup.c:991 +#: pg_verifybackup.c:1098 #, c-format msgid " -s, --skip-checksums skip checksum verification\n" msgstr " -s, --skip-checksums не перевіряти контрольні суми\n" -#: pg_verifybackup.c:992 +#: pg_verifybackup.c:1099 #, c-format msgid " -w, --wal-directory=PATH use specified path for WAL files\n" msgstr " -w, --wal-directory=PATH використовувати вказаний шлях для файлів WAL\n" -#: pg_verifybackup.c:993 +#: pg_verifybackup.c:1100 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version вивести інформацію про версію, потім вийти\n" -#: pg_verifybackup.c:994 +#: pg_verifybackup.c:1101 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help показати цю довідку, потім вийти\n" -#: pg_verifybackup.c:995 +#: pg_verifybackup.c:1102 #, c-format msgid "\n" "Report bugs to <%s>.\n" msgstr "\n" "Повідомляти про помилки на <%s>.\n" -#: pg_verifybackup.c:996 +#: pg_verifybackup.c:1103 #, c-format msgid "%s home page: <%s>\n" msgstr "Домашня сторінка %s: <%s>\n" diff --git a/src/bin/pg_waldump/pg_waldump.c b/src/bin/pg_waldump/pg_waldump.c index 1f9403fc5cf..edab45e65e0 100644 --- a/src/bin/pg_waldump/pg_waldump.c +++ b/src/bin/pg_waldump/pg_waldump.c @@ -29,9 +29,12 @@ #include "common/logging.h" #include "common/relpath.h" #include "getopt_long.h" +#include "port/pg_bitutils.h" #include "rmgrdesc.h" #include "storage/bufpage.h" +#define OFFSET_INVALID ((size_t)-1) + /* * NOTE: For any code change or issue fix here, it is highly recommended to * give a thought about doing the same in pg_walinspect contrib module as well. @@ -50,6 +53,7 @@ typedef struct XLogDumpPrivate XLogRecPtr startptr; XLogRecPtr endptr; bool endptr_reached; + char* input_filename; } XLogDumpPrivate; typedef struct XLogDumpConfig @@ -63,6 +67,8 @@ typedef struct XLogDumpConfig bool stats; bool stats_per_record; + bool ignore_format_errors; + /* filter options */ bool filter_by_rmgr[RM_MAX_ID + 1]; bool filter_by_rmgr_enabled; @@ -94,6 +100,34 @@ sigint_handler(SIGNAL_ARGS) } #endif +/* calculate ceil(log base 2) of num */ +static int +my_log2(long num) +{ + /* + * guard against too-large input, which would be invalid for + * pg_ceil_log2_*() + */ + if (num > LONG_MAX / 2) + num = LONG_MAX / 2; + +#if SIZEOF_LONG < 8 + return pg_ceil_log2_32(num); +#else + return pg_ceil_log2_64(num); +#endif +} + +/* calculate first power of 2 >= num, bounded to what will fit in an int */ +static int +next_pow2_int(long num) +{ + if (num > INT_MAX / 2) + num = INT_MAX / 2; + return 1 << my_log2(num); +} + + static void print_rmgr_list(void) { @@ -207,7 +241,7 @@ open_file_in_directory(const char *directory, const char *fname) * wal segment size. */ static bool -search_directory(const char *directory, const char *fname) +search_directory(const char *directory, const char *fname, bool ignore_format_errors) { int fd = -1; DIR *xldir; @@ -251,14 +285,36 @@ search_directory(const char *directory, const char *fname) WalSegSz = longhdr->xlp_seg_size; + // if we skip errors, we don't need to check the segment size if (!IsValidWalSegSize(WalSegSz)) { - pg_log_error(ngettext("invalid WAL segment size in WAL file \"%s\" (%d byte)", - "invalid WAL segment size in WAL file \"%s\" (%d bytes)", - WalSegSz), - fname, WalSegSz); - pg_log_error_detail("The WAL segment size must be a power of two between 1 MB and 1 GB."); - exit(1); + if (!ignore_format_errors) + { + pg_log_error(ngettext("invalid WAL segment size in WAL file \"%s\" (%d byte)", + "invalid WAL segment size in WAL file \"%s\" (%d bytes)", + WalSegSz), + fname, WalSegSz); + pg_log_error_detail("The WAL segment size must be a power of two between 1 MB and 1 GB."); + exit(1); + } + else + { + struct stat stat; + if(fstat(fd, &stat) != 0) + pg_fatal("could not stat file \"%s\"", fname); + + WalSegSz = stat.st_size; + + // if file size is invalid, the xlogreader will fail later with some obscure error + // so better to fail here + if (!IsValidWalSegSize(WalSegSz)) + { + pg_fatal(ngettext("invalid WAL segment size in WAL file \"%s\" (%d byte)", + "invalid WAL segment size in WAL file \"%s\" (%d bytes)", + WalSegSz), + fname, WalSegSz); + } + } } } else if (r < 0) @@ -289,18 +345,18 @@ search_directory(const char *directory, const char *fname) * The valid target directory is returned. */ static char * -identify_target_directory(char *directory, char *fname) +identify_target_directory(char *directory, char *fname, bool ignore_format_errors) { char fpath[MAXPGPATH]; if (directory != NULL) { - if (search_directory(directory, fname)) + if (search_directory(directory, fname, ignore_format_errors)) return pg_strdup(directory); /* directory / XLOGDIR */ snprintf(fpath, MAXPGPATH, "%s/%s", directory, XLOGDIR); - if (search_directory(fpath, fname)) + if (search_directory(fpath, fname, ignore_format_errors)) return pg_strdup(fpath); } else @@ -308,10 +364,10 @@ identify_target_directory(char *directory, char *fname) const char *datadir; /* current directory */ - if (search_directory(".", fname)) + if (search_directory(".", fname, ignore_format_errors)) return pg_strdup("."); /* XLOGDIR */ - if (search_directory(XLOGDIR, fname)) + if (search_directory(XLOGDIR, fname, ignore_format_errors)) return pg_strdup(XLOGDIR); datadir = getenv("PGDATA"); @@ -319,7 +375,7 @@ identify_target_directory(char *directory, char *fname) if (datadir != NULL) { snprintf(fpath, MAXPGPATH, "%s/%s", datadir, XLOGDIR); - if (search_directory(fpath, fname)) + if (search_directory(fpath, fname, ignore_format_errors)) return pg_strdup(fpath); } } @@ -341,6 +397,18 @@ WALDumpOpenSegment(XLogReaderState *state, XLogSegNo nextSegNo, TimeLineID tli = *tli_p; char fname[MAXPGPATH]; int tries; + XLogDumpPrivate *private = state->private_data; + + if(private->input_filename) + { + Assert(nextSegNo == 0); + + state->seg.ws_file = open_file_in_directory(state->segcxt.ws_dir, private->input_filename); + if (state->seg.ws_file >= 0) + return; + + pg_fatal("could not open file \"%s\": %m", private->input_filename); + } XLogFileName(fname, tli, nextSegNo, state->segcxt.ws_segsize); @@ -411,6 +479,7 @@ WALDumpReadPage(XLogReaderState *state, XLogRecPtr targetPagePtr, int reqLen, { WALOpenSegment *seg = &errinfo.wre_seg; char fname[MAXPGPATH]; + char *actual_fname = private->input_filename ? private->input_filename : fname; XLogFileName(fname, seg->ws_tli, seg->ws_segno, state->segcxt.ws_segsize); @@ -419,11 +488,11 @@ WALDumpReadPage(XLogReaderState *state, XLogRecPtr targetPagePtr, int reqLen, { errno = errinfo.wre_errno; pg_fatal("could not read from file \"%s\", offset %d: %m", - fname, errinfo.wre_off); + actual_fname, errinfo.wre_off); } else pg_fatal("could not read from file \"%s\", offset %d: read %d of %d", - fname, errinfo.wre_off, errinfo.wre_read, + actual_fname, errinfo.wre_off, errinfo.wre_read, errinfo.wre_req); } @@ -499,7 +568,7 @@ XLogRecordSaveFPWs(XLogReaderState *record, const char *savepath) char forkname[FORKNAMECHARS + 2]; /* _ + terminating zero */ FILE *file; BlockNumber blk; - RelFileLocator rnode; + RelFileLocator rlocator; ForkNumber fork; if (!XLogRecHasBlockRef(record, block_id)) @@ -515,7 +584,7 @@ XLogRecordSaveFPWs(XLogReaderState *record, const char *savepath) pg_fatal("%s", record->errormsg_buf); (void) XLogRecGetBlockTagExtended(record, block_id, - &rnode, &fork, &blk, NULL); + &rlocator, &fork, &blk, NULL); if (fork >= 0 && fork <= MAX_FORKNUM) sprintf(forkname, "_%s", forkNames[fork]); @@ -525,7 +594,7 @@ XLogRecordSaveFPWs(XLogReaderState *record, const char *savepath) snprintf(filename, MAXPGPATH, "%s/%08X-%08X-%08X.%u.%u.%u.%u%s", savepath, record->seg.ws_tli, LSN_FORMAT_ARGS(record->ReadRecPtr), - rnode.spcOid, rnode.dbOid, rnode.relNumber, blk, forkname); + rlocator.spcOid, rlocator.dbOid, rlocator.relNumber, blk, forkname); file = fopen(filename, PG_BINARY_W); if (!file) @@ -551,16 +620,26 @@ XLogDumpDisplayRecord(XLogDumpConfig *config, XLogReaderState *record) uint32 fpi_len; uint8 info = XLogRecGetInfo(record); XLogRecPtr xl_prev = XLogRecGetPrev(record); + XLogDumpPrivate *private = record->private_data; StringInfoData s; XLogRecGetLen(record, &rec_len, &fpi_len); - printf("rmgr: %-11s len (rec/tot): %6u/%6u, tx: %10u, lsn: %X/%08X, prev %X/%08X, ", - desc->rm_name, - rec_len, XLogRecGetTotalLen(record), - XLogRecGetXid(record), - LSN_FORMAT_ARGS(record->ReadRecPtr), - LSN_FORMAT_ARGS(xl_prev)); + if(private->input_filename) + printf("rmgr: %-11s len (rec/tot): %6u/%6u, tx: %10u, offset: 0x%lX, prev %X/%08X, ", + desc->rm_name, + rec_len, XLogRecGetTotalLen(record), + XLogRecGetXid(record), + record->ReadRecPtr, + LSN_FORMAT_ARGS(xl_prev)); + else + printf("rmgr: %-11s len (rec/tot): %6u/%6u, tx: %10u, lsn: %X/%08X, prev %X/%08X, ", + desc->rm_name, + rec_len, XLogRecGetTotalLen(record), + XLogRecGetXid(record), + LSN_FORMAT_ARGS(record->ReadRecPtr), + LSN_FORMAT_ARGS(xl_prev)); + id = desc->rm_identify(info); if (id == NULL) @@ -766,7 +845,10 @@ usage(void) printf(_(" -f, --follow keep retrying after reaching end of WAL\n")); printf(_(" -F, --fork=FORK only show records that modify blocks in fork FORK;\n" " valid names are main, fsm, vm, init\n")); + printf(_(" -i, --ignore ignore format errors, skip invalid structures\n")); + printf(_(" -N, --file=FNAME dump log records from a single file\n")); printf(_(" -n, --limit=N number of records to display\n")); + printf(_(" -o, --offset=OFFSET offset of the first record to in a file to dump\n")); printf(_(" -p, --path=PATH directory in which to find WAL segment files or a\n" " directory with a ./pg_wal that contains such files\n" " (default: current directory, ./pg_wal, $PGDATA/pg_wal)\n")); @@ -801,6 +883,9 @@ main(int argc, char **argv) XLogRecPtr first_record; char *waldir = NULL; char *errormsg; + char *fName = NULL; + bool single_file = false; + size_t start_offset = OFFSET_INVALID; static struct option long_options[] = { {"bkp-details", no_argument, NULL, 'b'}, @@ -808,6 +893,9 @@ main(int argc, char **argv) {"end", required_argument, NULL, 'e'}, {"follow", no_argument, NULL, 'f'}, {"fork", required_argument, NULL, 'F'}, + {"file", required_argument, NULL, 'N'}, + {"ignore", no_argument, NULL, 'i'}, + {"offset", required_argument, NULL, 'o'}, {"fullpage", no_argument, NULL, 'w'}, {"help", no_argument, NULL, '?'}, {"limit", required_argument, NULL, 'n'}, @@ -857,6 +945,7 @@ main(int argc, char **argv) private.startptr = InvalidXLogRecPtr; private.endptr = InvalidXLogRecPtr; private.endptr_reached = false; + private.input_filename = NULL; config.quiet = false; config.bkp_details = false; @@ -875,6 +964,7 @@ main(int argc, char **argv) config.save_fullpage_path = NULL; config.stats = false; config.stats_per_record = false; + config.ignore_format_errors = false; stats.startptr = InvalidXLogRecPtr; stats.endptr = InvalidXLogRecPtr; @@ -885,7 +975,7 @@ main(int argc, char **argv) goto bad_argument; } - while ((option = getopt_long(argc, argv, "bB:e:fF:n:p:qr:R:s:t:wx:z", + while ((option = getopt_long(argc, argv, "bB:e:fF:in:N:o:p:qr:R:s:t:wx:z", long_options, &optindex)) != -1) { switch (option) @@ -924,6 +1014,13 @@ main(int argc, char **argv) } config.filter_by_extended = true; break; + case 'N': + fName = pg_strdup(optarg); + single_file = true; + break; + case 'i': + config.ignore_format_errors = true; + break; case 'n': if (sscanf(optarg, "%d", &config.stop_after_records) != 1) { @@ -931,6 +1028,13 @@ main(int argc, char **argv) goto bad_argument; } break; + case 'o': + if (sscanf(optarg, "%zu", &start_offset) != 1) + { + pg_log_error("could not parse offset \"%s\"", optarg); + goto bad_argument; + } + break; case 'p': waldir = pg_strdup(optarg); break; @@ -1096,6 +1200,73 @@ main(int argc, char **argv) goto bad_argument; } + if (start_offset != OFFSET_INVALID) + { + if(!XLogRecPtrIsInvalid(private.startptr) || !XLogRecPtrIsInvalid(private.endptr)) + { + pg_log_error("either file offset or start/end pointers should be specified"); + goto bad_argument; + } + + if(!single_file) + { + pg_log_error("offset option could only be used with filename option"); + goto bad_argument; + } + + /* Log records are maxaligned, start at the closest next position */ + private.startptr = MAXALIGN(start_offset); + } + + if(single_file) + { + char *directory = NULL; + int fd; + struct stat stat; + + if(config.follow) + { + pg_log_error("Follow could not be used in file dump mode"); + goto bad_argument; + } + + if (waldir != NULL) + { + pg_log_error("either single file or wal directory should be specified"); + goto bad_argument; + } + + split_path(fName, &directory, &private.input_filename); + waldir = directory; + + if(waldir == NULL) + { + char *cwd = malloc(MAXPGPATH); + + if (!getcwd(cwd, MAXPGPATH)) + pg_fatal("could identify current directory: %m"); + + waldir = cwd; + } + + if (!verify_directory(waldir)) + pg_fatal("could not open directory \"%s\": %m", waldir); + + fd = open_file_in_directory(waldir, private.input_filename); + if (fd < 0) + pg_fatal("could not open file \"%s\"", private.input_filename); + + if(fstat(fd, &stat) != 0) + pg_fatal("could not stat file \"%s\"", private.input_filename); + + private.endptr = stat.st_size; + + /* Round up segment size to next power of 2 or 1MB */ + WalSegSz = Max(next_pow2_int(private.endptr), 1024 * 1024); + + close(fd); + } + if (waldir != NULL) { /* validate path points to directory */ @@ -1117,6 +1288,12 @@ main(int argc, char **argv) int fd; XLogSegNo segno; + if(single_file) + { + pg_log_error("either single file or start/end boundaries should be specified"); + goto bad_argument; + } + split_path(argv[optind], &directory, &fname); if (waldir == NULL && directory != NULL) @@ -1127,7 +1304,7 @@ main(int argc, char **argv) pg_fatal("could not open directory \"%s\": %m", waldir); } - waldir = identify_target_directory(waldir, fname); + waldir = identify_target_directory(waldir, fname, config.ignore_format_errors); fd = open_file_in_directory(waldir, fname); if (fd < 0) pg_fatal("could not open file \"%s\"", fname); @@ -1189,10 +1366,11 @@ main(int argc, char **argv) } } else - waldir = identify_target_directory(waldir, NULL); + if (!single_file) + waldir = identify_target_directory(waldir, NULL, config.ignore_format_errors); /* we don't know what to print */ - if (XLogRecPtrIsInvalid(private.startptr)) + if (XLogRecPtrIsInvalid(private.startptr) && !single_file) { pg_log_error("no start WAL location given"); goto bad_argument; @@ -1210,12 +1388,34 @@ main(int argc, char **argv) if (!xlogreader_state) pg_fatal("out of memory while allocating a WAL reading processor"); - /* first find a valid recptr to start from */ - first_record = XLogFindNextRecord(xlogreader_state, private.startptr); + if(single_file) + { + if(config.ignore_format_errors) + { + xlogreader_state->skip_page_validation = true; + xlogreader_state->skip_invalid_records = true; + } - if (first_record == InvalidXLogRecPtr) - pg_fatal("could not find a valid record after %X/%X", - LSN_FORMAT_ARGS(private.startptr)); + xlogreader_state->skip_lsn_checks = true; + first_record = private.startptr; + XLogBeginRead(xlogreader_state, first_record); + } + else + { + if(config.ignore_format_errors) + { + xlogreader_state->skip_page_validation = true; + xlogreader_state->skip_invalid_records = true; + xlogreader_state->skip_lsn_checks = true; + } + + /* first find a valid recptr to start from */ + first_record = XLogFindNextRecord(xlogreader_state, private.startptr); + + if (first_record == InvalidXLogRecPtr) + pg_fatal("could not find a valid record after %X/%X", + LSN_FORMAT_ARGS(private.startptr)); + } /* * Display a message that we're skipping data if `from` wasn't a pointer diff --git a/src/bin/pg_waldump/po/es.po b/src/bin/pg_waldump/po/es.po index 67a0cf3e2b0..77fb8fa4c21 100644 --- a/src/bin/pg_waldump/po/es.po +++ b/src/bin/pg_waldump/po/es.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_waldump (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-05-22 07:18+0000\n" -"PO-Revision-Date: 2023-09-05 07:35+0200\n" +"POT-Creation-Date: 2024-08-01 11:19+0000\n" +"PO-Revision-Date: 2024-08-02 17:00-0400\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" "Language: es\n" @@ -40,6 +40,60 @@ msgstr "detalle: " msgid "hint: " msgstr "consejo: " +#: ../../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 "memoria agotada\n" + +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 +#, c-format +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "no se puede duplicar un puntero nulo (error interno)\n" + +#: ../../common/file_utils.c:70 ../../common/file_utils.c:347 +#: ../../common/file_utils.c:406 ../../common/file_utils.c:480 pg_waldump.c:199 +#: pg_waldump.c:532 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "no se pudo abrir el archivo «%s»: %m" + +#: ../../common/file_utils.c:76 +#, 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" + +#: ../../common/file_utils.c:120 ../../common/file_utils.c:566 +#, c-format +msgid "could not stat file \"%s\": %m" +msgstr "no se pudo hacer stat al archivo «%s»: %m" + +#: ../../common/file_utils.c:130 ../../common/file_utils.c:227 +#, c-format +msgid "this build does not support sync method \"%s\"" +msgstr "esta instalación no soporta el método de sync «%s»" + +#: ../../common/file_utils.c:151 ../../common/file_utils.c:281 +#: pg_waldump.c:1104 pg_waldump.c:1127 +#, 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 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "no se pudo leer el directorio «%s»: %m" + +#: ../../common/file_utils.c:418 ../../common/file_utils.c:488 +#, c-format +msgid "could not fsync file \"%s\": %m" +msgstr "no se pudo sincronizar (fsync) archivo «%s»: %m" + +#: ../../common/file_utils.c:498 +#, c-format +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "no se pudo renombrar el archivo de «%s» a «%s»: %m" + #: pg_waldump.c:137 #, c-format msgid "could not create directory \"%s\": %m" @@ -55,74 +109,74 @@ msgstr "el directorio «%s» existe pero no está vacío" msgid "could not access directory \"%s\": %m" msgstr "no se pudo acceder al directorio «%s»: %m" -#: pg_waldump.c:199 pg_waldump.c:527 +#: pg_waldump.c:256 #, c-format -msgid "could not open file \"%s\": %m" -msgstr "no se pudo abrir el archivo «%s»: %m" +msgid "invalid WAL segment size in WAL file \"%s\" (%d byte)" +msgid_plural "invalid WAL segment size in WAL file \"%s\" (%d bytes)" +msgstr[0] "el archivo WAL «%s» especifica un tamaño de segmento de WAL no válido (%d byte)" +msgstr[1] "el archivo WAL «%s» especifica un tamaño de segmento de WAL no válido (%d bytes)" -#: pg_waldump.c:255 +#: pg_waldump.c:260 #, c-format -msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL file \"%s\" header specifies %d byte" -msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL file \"%s\" header specifies %d bytes" -msgstr[0] "el tamaño de segmento WAL debe ser una potencia de dos entre 1 MB y 1 GB, pero la cabecera del archivo WAL «%s» especifica %d byte" -msgstr[1] "el tamaño de segmento WAL debe ser una potencia de dos entre 1 MB y 1 GB, pero la cabecera del archivo WAL «%s» especifica %d bytes" +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." -#: pg_waldump.c:261 +#: pg_waldump.c:265 #, c-format msgid "could not read file \"%s\": %m" msgstr "no se pudo leer el archivo «%s»: %m" -#: pg_waldump.c:264 +#: pg_waldump.c:268 #, c-format msgid "could not read file \"%s\": read %d of %d" msgstr "no se pudo leer el archivo «%s»: leídos %d de %d" -#: pg_waldump.c:325 +#: pg_waldump.c:329 #, c-format msgid "could not locate WAL file \"%s\"" msgstr "no se pudo ubicar el archivo WAL «%s»" -#: pg_waldump.c:327 +#: pg_waldump.c:331 #, c-format msgid "could not find any WAL file" msgstr "no se pudo encontrar ningún archivo WAL" -#: pg_waldump.c:368 +#: pg_waldump.c:372 #, c-format msgid "could not find file \"%s\": %m" msgstr "no se pudo encontrar el archivo «%s»: %m" -#: pg_waldump.c:417 +#: pg_waldump.c:421 #, c-format -msgid "could not read from file %s, offset %d: %m" +msgid "could not read from file \"%s\", offset %d: %m" msgstr "no se pudo leer desde el archivo «%s» en la posición %d: %m" -#: pg_waldump.c:421 +#: pg_waldump.c:425 #, c-format -msgid "could not read from file %s, offset %d: read %d of %d" -msgstr "no se pudo leer del archivo %s, posición %d: leídos %d de %d" +msgid "could not read from file \"%s\", offset %d: read %d of %d" +msgstr "no se pudo leer del archivo «%s», posición %d: leídos %d de %d" -#: pg_waldump.c:511 +#: pg_waldump.c:515 #, c-format msgid "%s" msgstr "%s" -#: pg_waldump.c:519 +#: pg_waldump.c:523 #, c-format msgid "invalid fork number: %u" msgstr "número de “fork” no válido: %u" -#: pg_waldump.c:530 +#: pg_waldump.c:535 #, c-format msgid "could not write file \"%s\": %m" msgstr "no se pudo escribir el archivo «%s»: %m" -#: pg_waldump.c:533 +#: pg_waldump.c:538 #, c-format msgid "could not close file \"%s\": %m" msgstr "no se pudo cerrar el archivo «%s»: %m" -#: pg_waldump.c:753 +#: pg_waldump.c:758 #, c-format msgid "" "%s decodes and displays PostgreSQL write-ahead logs for debugging.\n" @@ -131,17 +185,17 @@ msgstr "" "%s decodifica y muestra segmentos de WAL de PostgreSQL para depuración.\n" "\n" -#: pg_waldump.c:755 +#: pg_waldump.c:760 #, c-format msgid "Usage:\n" msgstr "Empleo:\n" -#: pg_waldump.c:756 +#: pg_waldump.c:761 #, c-format msgid " %s [OPTION]... [STARTSEG [ENDSEG]]\n" msgstr " %s [OPCIÓN]... [SEGINICIAL [SEGFINAL]]\n" -#: pg_waldump.c:757 +#: pg_waldump.c:762 #, c-format msgid "" "\n" @@ -150,29 +204,29 @@ msgstr "" "\n" "Opciones:\n" -#: pg_waldump.c:758 +#: pg_waldump.c:763 #, c-format msgid " -b, --bkp-details output detailed information about backup blocks\n" msgstr " -b, --bkp-details mostrar información detallada sobre bloques de respaldo\n" -#: pg_waldump.c:759 +#: pg_waldump.c:764 #, c-format msgid " -B, --block=N with --relation, only show records that modify block N\n" msgstr "" " -B, --block=N con --relation, sólo mostrar registros que modifican\n" " el bloque N\n" -#: pg_waldump.c:760 +#: pg_waldump.c:765 #, c-format msgid " -e, --end=RECPTR stop reading at WAL location RECPTR\n" msgstr " -e, --end=RECPTR detener la lectura del WAL en la posición RECPTR\n" -#: pg_waldump.c:761 +#: pg_waldump.c:766 #, c-format msgid " -f, --follow keep retrying after reaching end of WAL\n" msgstr " -f, --follow seguir reintentando después de alcanzar el final del WAL\n" -#: pg_waldump.c:762 +#: pg_waldump.c:767 #, c-format msgid "" " -F, --fork=FORK only show records that modify blocks in fork FORK;\n" @@ -181,12 +235,12 @@ msgstr "" " -F, --form=FORK sólo mostrar registros que modifican bloques en el\n" " «fork» FORK; nombres válidos son main, fsm, vm, init\n" -#: pg_waldump.c:764 +#: pg_waldump.c:769 #, c-format msgid " -n, --limit=N number of records to display\n" msgstr " -n, --limit=N número de registros a mostrar\n" -#: pg_waldump.c:765 +#: pg_waldump.c:770 #, c-format msgid "" " -p, --path=PATH directory in which to find WAL segment files or a\n" @@ -197,12 +251,12 @@ msgstr "" " contenga un directorio ./pg_wal con dichos archivos\n" " (por omisión: directorio actual, ./pg_wal, $PGDATA/pg_wal)\n" -#: pg_waldump.c:768 +#: pg_waldump.c:773 #, c-format msgid " -q, --quiet do not print any output, except for errors\n" msgstr " -q, --quiet no escribir ningún mensaje, excepto errores\n" -#: pg_waldump.c:769 +#: pg_waldump.c:774 #, c-format msgid "" " -r, --rmgr=RMGR only show records generated by resource manager RMGR;\n" @@ -211,17 +265,17 @@ msgstr "" " -r, --rmgr=GREC sólo mostrar registros generados por el gestor de\n" " recursos GREC; use --rmgr=list para listar nombres válidos\n" -#: pg_waldump.c:771 +#: pg_waldump.c:776 #, c-format msgid " -R, --relation=T/D/R only show records that modify blocks in relation T/D/R\n" msgstr " -R, --relation=T/D/R sólo mostrar registros que modifican bloques en relación T/D/R\n" -#: pg_waldump.c:772 +#: pg_waldump.c:777 #, c-format msgid " -s, --start=RECPTR start reading at WAL location RECPTR\n" msgstr " -s, --start=RECPTR empezar a leer el WAL en la posición RECPTR\n" -#: pg_waldump.c:773 +#: pg_waldump.c:778 #, c-format msgid "" " -t, --timeline=TLI timeline from which to read WAL records\n" @@ -230,22 +284,22 @@ msgstr "" " -t, --timeline=TLI “timeline” del cual leer registros WAL\n" " (por omisión: 1 o el valor usado en SEGINICIAL)\n" -#: pg_waldump.c:775 +#: pg_waldump.c:780 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version mostrar información de versión, luego salir\n" -#: pg_waldump.c:776 +#: pg_waldump.c:781 #, c-format msgid " -w, --fullpage only show records with a full page write\n" msgstr " -w, --fullpage sólo mostrar registros con escrituras de página completa\n" -#: pg_waldump.c:777 +#: pg_waldump.c:782 #, c-format msgid " -x, --xid=XID only show records with transaction ID XID\n" msgstr " -x, --xid=XID sólo mostrar registros con el id de transacción XID\n" -#: pg_waldump.c:778 +#: pg_waldump.c:783 #, c-format msgid "" " -z, --stats[=record] show statistics instead of records\n" @@ -254,17 +308,17 @@ msgstr "" " -z, --stats[=registro] mostrar estadísticas en lugar de registros\n" " (opcionalmente, mostrar estadísticas por registro)\n" -#: pg_waldump.c:780 +#: pg_waldump.c:785 #, c-format msgid " --save-fullpage=DIR save full page images to DIR\n" msgstr " --save-fullpage=DIR guardar imágenes de página completa en DIR\n" -#: pg_waldump.c:781 +#: pg_waldump.c:786 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help mostrar esta ayuda, luego salir\n" -#: pg_waldump.c:782 +#: pg_waldump.c:787 #, c-format msgid "" "\n" @@ -273,304 +327,284 @@ msgstr "" "\n" "Reporte errores a <%s>.\n" -#: pg_waldump.c:783 +#: pg_waldump.c:788 #, c-format msgid "%s home page: <%s>\n" msgstr "Sitio web de %s: <%s>\n" -#: pg_waldump.c:879 +#: pg_waldump.c:884 #, c-format msgid "no arguments specified" msgstr "no se especificó ningún argumento" -#: pg_waldump.c:895 +#: pg_waldump.c:900 #, c-format msgid "invalid block number: \"%s\"" msgstr "número de bloque no válido: «%s»" -#: pg_waldump.c:904 pg_waldump.c:1002 +#: pg_waldump.c:909 pg_waldump.c:1007 #, c-format msgid "invalid WAL location: \"%s\"" msgstr "ubicación de WAL no válida: «%s»" -#: pg_waldump.c:917 +#: pg_waldump.c:922 #, c-format msgid "invalid fork name: \"%s\"" msgstr "nombre de «fork» no válido: «%s»" -#: pg_waldump.c:925 pg_waldump.c:1028 +#: pg_waldump.c:930 pg_waldump.c:1033 #, c-format msgid "invalid value \"%s\" for option %s" msgstr "el valor «%s» no es válido para la opción «%s»" -#: pg_waldump.c:956 +#: pg_waldump.c:961 #, c-format msgid "custom resource manager \"%s\" does not exist" msgstr "el gestor de recursos personalizado «%s» no existe" -#: pg_waldump.c:977 +#: pg_waldump.c:982 #, c-format msgid "resource manager \"%s\" does not exist" msgstr "el gestor de recursos «%s» no existe" -#: pg_waldump.c:992 +#: pg_waldump.c:997 #, c-format msgid "invalid relation specification: \"%s\"" msgstr "especificación de relación no válida: «%s»" -#: pg_waldump.c:993 +#: pg_waldump.c:998 #, c-format msgid "Expecting \"tablespace OID/database OID/relation filenode\"." msgstr "Se esperaba «OID de tablespace/OID de base de datos/filenode de relación»." -#: pg_waldump.c:1035 +#: pg_waldump.c:1040 #, c-format msgid "%s must be in range %u..%u" msgstr "%s debe estar en el rango %u..%u" -#: pg_waldump.c:1050 +#: pg_waldump.c:1055 #, c-format msgid "invalid transaction ID specification: \"%s\"" msgstr "especificación de ID de transacción no válida: «%s»" -#: pg_waldump.c:1065 +#: pg_waldump.c:1070 #, c-format msgid "unrecognized value for option %s: %s" msgstr "valor no reconocido para la opción %s: %s" -#: pg_waldump.c:1082 +#: pg_waldump.c:1087 #, c-format msgid "option %s requires option %s to be specified" msgstr "la opción %s requiere que se especifique la opción %s" -#: pg_waldump.c:1089 +#: pg_waldump.c:1094 #, 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_waldump.c:1099 pg_waldump.c:1122 -#, c-format -msgid "could not open directory \"%s\": %m" -msgstr "no se pudo abrir el directorio «%s»: %m" - -#: pg_waldump.c:1128 pg_waldump.c:1158 +#: pg_waldump.c:1133 pg_waldump.c:1163 #, c-format msgid "could not open file \"%s\"" msgstr "no se pudo abrir el archivo «%s»" -#: pg_waldump.c:1138 +#: pg_waldump.c:1143 #, c-format msgid "start WAL location %X/%X is not inside file \"%s\"" msgstr "la posición inicial de WAL %X/%X no está en el archivo «%s»" -#: pg_waldump.c:1165 +#: pg_waldump.c:1170 #, c-format msgid "ENDSEG %s is before STARTSEG %s" msgstr "SEGFINAL %s está antes del SEGINICIAL %s" -#: pg_waldump.c:1180 +#: pg_waldump.c:1185 #, c-format msgid "end WAL location %X/%X is not inside file \"%s\"" msgstr "la posición final de WAL %X/%X no está en el archivo «%s»" -#: pg_waldump.c:1192 +#: pg_waldump.c:1197 #, c-format msgid "no start WAL location given" msgstr "no se especificó posición inicial de WAL" -#: pg_waldump.c:1206 +#: pg_waldump.c:1211 #, c-format msgid "out of memory while allocating a WAL reading processor" msgstr "se agotó la memoria mientras se emplazaba un procesador de lectura de WAL" -#: pg_waldump.c:1212 +#: pg_waldump.c:1217 #, c-format msgid "could not find a valid record after %X/%X" msgstr "no se pudo encontrar un registro válido después de %X/%X" -#: pg_waldump.c:1222 +#: pg_waldump.c:1227 #, c-format -msgid "first record is after %X/%X, at %X/%X, skipping over %u byte\n" -msgid_plural "first record is after %X/%X, at %X/%X, skipping over %u bytes\n" -msgstr[0] "el primer registro está ubicado después de %X/%X, en %X/%X, saltándose %u byte\n" -msgstr[1] "el primer registro está ubicado después de %X/%X, en %X/%X, saltándose %u bytes\n" +msgid "first record is after %X/%X, at %X/%X, skipping over %u byte" +msgid_plural "first record is after %X/%X, at %X/%X, skipping over %u bytes" +msgstr[0] "el primer registro está ubicado después de %X/%X, en %X/%X, saltándose %u byte" +msgstr[1] "el primer registro está ubicado después de %X/%X, en %X/%X, saltándose %u bytes" -#: pg_waldump.c:1307 +#: pg_waldump.c:1312 #, c-format msgid "error in WAL record at %X/%X: %s" msgstr "error en registro de WAL en %X/%X: %s" -#: pg_waldump.c:1316 +#: pg_waldump.c:1321 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Pruebe «%s --help» para mayor información." -#: xlogreader.c:626 +#: xlogreader.c:619 #, c-format msgid "invalid record offset at %X/%X: expected at least %u, got %u" msgstr "desplazamiento de registro no válido en %X/%X: se esperaba al menos %u, se obtuvo %u" -#: xlogreader.c:635 +#: xlogreader.c:628 #, c-format msgid "contrecord is requested by %X/%X" msgstr "contrecord solicitado por %X/%X" -#: xlogreader.c:676 xlogreader.c:1123 +#: xlogreader.c:669 xlogreader.c:1134 #, c-format msgid "invalid record length at %X/%X: expected at least %u, got %u" msgstr "largo de registro no válido en %X/%X: se esperaba al menos %u, se obtuvo %u" -#: xlogreader.c:705 -#, c-format -msgid "out of memory while trying to decode a record of length %u" -msgstr "memoria agotada mientras se intentaba decodificar un registro de largo %u" - -#: xlogreader.c:727 -#, c-format -msgid "record length %u at %X/%X too long" -msgstr "largo de registro %u en %X/%X demasiado largo" - -#: xlogreader.c:776 +#: xlogreader.c:758 #, c-format msgid "there is no contrecord flag at %X/%X" msgstr "no hay bandera de contrecord en %X/%X" -#: xlogreader.c:789 +#: xlogreader.c:771 #, c-format msgid "invalid contrecord length %u (expected %lld) at %X/%X" msgstr "largo de contrecord %u no válido (se esperaba %lld) en %X/%X" -#: xlogreader.c:924 -#, c-format -msgid "missing contrecord at %X/%X" -msgstr "falta contrecord en %X/%X" - -#: xlogreader.c:1131 +#: xlogreader.c:1142 #, c-format msgid "invalid resource manager ID %u at %X/%X" msgstr "ID de gestor de recursos %u no válido en %X/%X" -#: xlogreader.c:1144 xlogreader.c:1160 +#: xlogreader.c:1155 xlogreader.c:1171 #, c-format msgid "record with incorrect prev-link %X/%X at %X/%X" msgstr "registro con prev-link %X/%X incorrecto en %X/%X" -#: xlogreader.c:1196 +#: xlogreader.c:1209 #, c-format msgid "incorrect resource manager data checksum in record at %X/%X" msgstr "suma de verificación de los datos del gestor de recursos incorrecta en el registro en %X/%X" -#: xlogreader.c:1230 +#: xlogreader.c:1243 #, c-format msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u" msgstr "número mágico %04X no válido en segmento WAL %s, LSN %X/%X, posición %u" -#: xlogreader.c:1245 xlogreader.c:1287 +#: xlogreader.c:1258 xlogreader.c:1300 #, c-format msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u" msgstr "info bits %04X no válidos en segment WAL %s, LSN %X/%X, posición %u" -#: xlogreader.c:1261 +#: xlogreader.c:1274 #, 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 "archivo WAL es de un sistema de bases de datos distinto: identificador de sistema en archivo WAL es %llu, identificador en pg_control es %llu" -#: xlogreader.c:1269 +#: xlogreader.c:1282 #, c-format msgid "WAL file is from different database system: incorrect segment size in page header" msgstr "archivo WAL es de un sistema de bases de datos distinto: tamaño de segmento incorrecto en cabecera de paǵina" -#: xlogreader.c:1275 +#: xlogreader.c:1288 #, c-format msgid "WAL file is from different database system: incorrect XLOG_BLCKSZ in page header" msgstr "archivo WAL es de un sistema de bases de datos distinto: XLOG_BLCKSZ incorrecto en cabecera de paǵina" -#: xlogreader.c:1307 +#: xlogreader.c:1320 #, c-format msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u" msgstr "pageaddr %X/%X inesperado en segmento WAL %s, LSN %X/%X, posición %u" -#: xlogreader.c:1333 +#: xlogreader.c:1346 #, c-format msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, offset %u" msgstr "ID de timeline %u fuera de secuencia (después de %u) en segmento WAL %s, LSN %X/%X, posición %u" -#: xlogreader.c:1739 +#: xlogreader.c:1749 #, c-format msgid "out-of-order block_id %u at %X/%X" msgstr "block_id %u fuera de orden en %X/%X" -#: xlogreader.c:1763 +#: xlogreader.c:1773 #, c-format msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X" msgstr "BKPBLOCK_HAS_DATA está definido, pero no hay datos en %X/%X" -#: xlogreader.c:1770 +#: xlogreader.c:1780 #, c-format msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X" msgstr "BKPBLOCK_HAS_DATA no está definido, pero el largo de los datos es %u en %X/%X" -#: xlogreader.c:1806 +#: xlogreader.c:1816 #, c-format msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X" msgstr "BKPIMAGE_HAS_HOLE está definido, pero posición del agujero es %u largo %u largo de imagen %u en %X/%X" -#: xlogreader.c:1822 +#: xlogreader.c:1832 #, c-format msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X" msgstr "BKPIMAGE_HAS_HOLE no está definido, pero posición del agujero es %u largo %u en %X/%X" -#: xlogreader.c:1836 +#: xlogreader.c:1846 #, c-format msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X" msgstr "BKPIMAGE_COMPRESSED definido, pero largo de imagen de bloque es %u en %X/%X" -#: xlogreader.c:1851 +#: xlogreader.c:1861 #, c-format msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X" msgstr "ni BKPIMAGE_HAS_HOLE ni BKPIMAGE_COMPRESSED están definidos, pero el largo de imagen de bloque es %u en %X/%X" -#: xlogreader.c:1867 +#: xlogreader.c:1877 #, c-format msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X" msgstr "BKPBLOCK_SAME_REL está definido, pero no hay «rel» anterior en %X/%X " -#: xlogreader.c:1879 +#: xlogreader.c:1889 #, c-format msgid "invalid block_id %u at %X/%X" msgstr "block_id %u no válido en %X/%X" -#: xlogreader.c:1946 +#: xlogreader.c:1956 #, c-format msgid "record with invalid length at %X/%X" msgstr "registro con largo no válido en %X/%X" -#: xlogreader.c:1972 +#: xlogreader.c:1982 #, c-format msgid "could not locate backup block with ID %d in WAL record" msgstr "no se pudo localizar un bloque de respaldo con ID %d en el registro WAL" -#: xlogreader.c:2056 +#: xlogreader.c:2066 #, c-format msgid "could not restore image at %X/%X with invalid block %d specified" -msgstr "no se pudo restaurar imagen en %X/%X con bloque especificado %d no válido" +msgstr "no se pudo restaurar la imagen en %X/%X con bloque especificado %d no válido" -#: xlogreader.c:2063 +#: xlogreader.c:2073 #, c-format msgid "could not restore image at %X/%X with invalid state, block %d" -msgstr "no se pudo restaurar imagen en %X/%X con estado no válido, bloque %d" +msgstr "no se pudo restaurar la imagen en %X/%X con estado no válido, bloque %d" -#: xlogreader.c:2090 xlogreader.c:2107 +#: xlogreader.c:2100 xlogreader.c:2117 #, c-format msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d" -msgstr "no se pudo restaurar imagen en %X/%X comprimida con %s no soportado por esta instalación, bloque %d" +msgstr "no se pudo restaurar la imagen en %X/%X comprimida con %s que no está soportado por esta instalación, bloque %d" -#: xlogreader.c:2116 +#: xlogreader.c:2126 #, c-format msgid "could not restore image at %X/%X compressed with unknown method, block %d" -msgstr "no se pudo restaurar imagen en %X/%X comprimida método desconocido, bloque %d" +msgstr "no se pudo restaurar la imagen en %X/%X comprimida con un método desconocido, bloque %d" -#: xlogreader.c:2124 +#: xlogreader.c:2134 #, c-format msgid "could not decompress image at %X/%X, block %d" -msgstr "no se pudo descomprimir imagen en %X/%X, bloque %d" +msgstr "no se pudo descomprimir la imagen en %X/%X, bloque %d" diff --git a/src/bin/pg_waldump/po/fr.po b/src/bin/pg_waldump/po/fr.po index b5cb1c6a017..f127e5e7aab 100644 --- a/src/bin/pg_waldump/po/fr.po +++ b/src/bin/pg_waldump/po/fr.po @@ -8,10 +8,10 @@ # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 15\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-07-29 09:18+0000\n" -"PO-Revision-Date: 2023-09-05 07:50+0200\n" +"POT-Creation-Date: 2024-08-22 10:19+0000\n" +"PO-Revision-Date: 2024-09-16 16:28+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -19,7 +19,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.3.2\n" +"X-Generator: Poedit 3.5\n" #: ../../../src/common/logging.c:276 #, c-format @@ -41,6 +41,60 @@ msgstr "détail : " msgid "hint: " msgstr "astuce : " +#: ../../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 "mémoire épuisée\n" + +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 +#, c-format +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "ne peut pas dupliquer un pointeur nul (erreur interne)\n" + +#: ../../common/file_utils.c:70 ../../common/file_utils.c:347 +#: ../../common/file_utils.c:406 ../../common/file_utils.c:480 pg_waldump.c:199 +#: pg_waldump.c:532 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "n'a pas pu ouvrir le fichier « %s » : %m" + +#: ../../common/file_utils.c:76 +#, c-format +msgid "could not synchronize file system for file \"%s\": %m" +msgstr "n'a pas pu synchroniser sur disque (fsync) le système de fichiers pour le fichier « %s » : %m" + +#: ../../common/file_utils.c:120 ../../common/file_utils.c:566 +#, c-format +msgid "could not stat file \"%s\": %m" +msgstr "n'a pas pu tester le fichier « %s » : %m" + +#: ../../common/file_utils.c:130 ../../common/file_utils.c:227 +#, c-format +msgid "this build does not support sync method \"%s\"" +msgstr "cette construction ne supporte pas la méthode de synchronisation « %s »" + +#: ../../common/file_utils.c:151 ../../common/file_utils.c:281 +#: pg_waldump.c:1104 pg_waldump.c:1127 +#, c-format +msgid "could not open directory \"%s\": %m" +msgstr "n'a pas pu ouvrir le répertoire « %s » : %m" + +#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "n'a pas pu lire le répertoire « %s » : %m" + +#: ../../common/file_utils.c:418 ../../common/file_utils.c:488 +#, c-format +msgid "could not fsync file \"%s\": %m" +msgstr "n'a pas pu synchroniser sur disque (fsync) le fichier « %s » : %m" + +#: ../../common/file_utils.c:498 +#, c-format +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "n'a pas pu renommer le fichier « %s » en « %s » : %m" + #: pg_waldump.c:137 #, c-format msgid "could not create directory \"%s\": %m" @@ -56,74 +110,74 @@ msgstr "le répertoire « %s » existe mais n'est pas vide" msgid "could not access directory \"%s\": %m" msgstr "n'a pas pu accéder au répertoire « %s » : %m" -#: pg_waldump.c:199 pg_waldump.c:528 +#: pg_waldump.c:256 #, c-format -msgid "could not open file \"%s\": %m" -msgstr "n'a pas pu ouvrir le fichier « %s » : %m" +msgid "invalid WAL segment size in WAL file \"%s\" (%d byte)" +msgid_plural "invalid WAL segment size in WAL file \"%s\" (%d bytes)" +msgstr[0] "taille invalide du segment WAL dans le fichier WAL « %s » (%d octet)" +msgstr[1] "taille invalide du segment WAL dans le fichier WAL « %s » (%d octets)" -#: pg_waldump.c:255 +#: pg_waldump.c:260 #, c-format -msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL file \"%s\" header specifies %d byte" -msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL file \"%s\" header specifies %d bytes" -msgstr[0] "La taille du segment WAL doit être une puissance de deux entre 1 Mo et 1 Go, mais l'en-tête du fichier WAL « %s » indique %d octet" -msgstr[1] "La taille du segment WAL doit être une puissance de deux entre 1 Mo et 1 Go, mais l'en-tête du fichier WAL « %s » indique %d octets" +msgid "The WAL segment size must be a power of two between 1 MB and 1 GB." +msgstr "La taille du segment WAL doit être une puissance de deux comprise entre 1 Mo et 1 Go." -#: pg_waldump.c:261 +#: pg_waldump.c:265 #, c-format msgid "could not read file \"%s\": %m" msgstr "n'a pas pu lire le fichier « %s » : %m" -#: pg_waldump.c:264 +#: pg_waldump.c:268 #, c-format msgid "could not read file \"%s\": read %d of %d" msgstr "n'a pas pu lire le fichier « %s » : a lu %d sur %d" -#: pg_waldump.c:325 +#: pg_waldump.c:329 #, c-format msgid "could not locate WAL file \"%s\"" msgstr "n'a pas pu trouver le fichier WAL « %s »" -#: pg_waldump.c:327 +#: pg_waldump.c:331 #, c-format msgid "could not find any WAL file" msgstr "n'a pas pu trouver un seul fichier WAL" -#: pg_waldump.c:368 +#: pg_waldump.c:372 #, c-format msgid "could not find file \"%s\": %m" msgstr "n'a pas pu trouver le fichier « %s » : %m" -#: pg_waldump.c:417 +#: pg_waldump.c:421 #, c-format -msgid "could not read from file %s, offset %d: %m" -msgstr "n'a pas pu lire à partir du fichier %s, décalage %d : %m" +msgid "could not read from file \"%s\", offset %d: %m" +msgstr "n'a pas pu lire à partir du fichier « %s », décalage %d : %m" -#: pg_waldump.c:421 +#: pg_waldump.c:425 #, c-format -msgid "could not read from file %s, offset %d: read %d of %d" -msgstr "n'a pas pu lire à partir du fichier %s, décalage %d : %d lu sur %d" +msgid "could not read from file \"%s\", offset %d: read %d of %d" +msgstr "n'a pas pu lire à partir du fichier « %s », décalage %d : %d lu sur %d" -#: pg_waldump.c:511 +#: pg_waldump.c:515 #, c-format msgid "%s" msgstr "%s" -#: pg_waldump.c:519 +#: pg_waldump.c:523 #, c-format msgid "invalid fork number: %u" msgstr "numéro du fork invalide : %u" -#: pg_waldump.c:531 +#: pg_waldump.c:535 #, c-format msgid "could not write file \"%s\": %m" msgstr "impossible d'écrire le fichier « %s » : %m" -#: pg_waldump.c:534 +#: pg_waldump.c:538 #, c-format msgid "could not close file \"%s\": %m" msgstr "n'a pas pu fermer le fichier « %s » : %m" -#: pg_waldump.c:754 +#: pg_waldump.c:758 #, c-format msgid "" "%s decodes and displays PostgreSQL write-ahead logs for debugging.\n" @@ -133,17 +187,17 @@ msgstr "" "débogage.\n" "\n" -#: pg_waldump.c:756 +#: pg_waldump.c:760 #, c-format msgid "Usage:\n" msgstr "Usage :\n" -#: pg_waldump.c:757 +#: pg_waldump.c:761 #, c-format msgid " %s [OPTION]... [STARTSEG [ENDSEG]]\n" msgstr " %s [OPTION]... [SEG_DEBUT [SEG_FIN]]\n" -#: pg_waldump.c:758 +#: pg_waldump.c:762 #, c-format msgid "" "\n" @@ -152,35 +206,35 @@ msgstr "" "\n" "Options :\n" -#: pg_waldump.c:759 +#: pg_waldump.c:763 #, c-format msgid " -b, --bkp-details output detailed information about backup blocks\n" msgstr "" " -b, --bkp-details affiche des informations détaillées sur les\n" " blocs de sauvegarde\n" -#: pg_waldump.c:760 +#: pg_waldump.c:764 #, c-format msgid " -B, --block=N with --relation, only show records that modify block N\n" msgstr "" " -B, --block=N avec --relation, affiche seulement les enregistrements\n" " qui modifient le bloc N\n" -#: pg_waldump.c:761 +#: pg_waldump.c:765 #, c-format msgid " -e, --end=RECPTR stop reading at WAL location RECPTR\n" msgstr "" " -e, --end=RECPTR arrête la lecture des journaux de transactions à\n" " l'emplacement RECPTR\n" -#: pg_waldump.c:762 +#: pg_waldump.c:766 #, c-format msgid " -f, --follow keep retrying after reaching end of WAL\n" msgstr "" " -f, --follow continue après avoir atteint la fin des journaux\n" " de transactions\n" -#: pg_waldump.c:763 +#: pg_waldump.c:767 #, c-format msgid "" " -F, --fork=FORK only show records that modify blocks in fork FORK;\n" @@ -190,12 +244,12 @@ msgstr "" " des blocs dans le fork FORK ;\n" " les noms valides sont main, fsm, vm, init\n" -#: pg_waldump.c:765 +#: pg_waldump.c:769 #, c-format msgid " -n, --limit=N number of records to display\n" msgstr " -n, --limit=N nombre d'enregistrements à afficher\n" -#: pg_waldump.c:766 +#: pg_waldump.c:770 #, c-format msgid "" " -p, --path=PATH directory in which to find WAL segment files or a\n" @@ -208,12 +262,12 @@ msgstr "" " défaut : répertoire courant, ./pg_wal,\n" " $PGDATA/pg_wal)\n" -#: pg_waldump.c:769 +#: pg_waldump.c:773 #, c-format msgid " -q, --quiet do not print any output, except for errors\n" msgstr " -q, --quiet n'écrit aucun message, sauf en cas d'erreur\n" -#: pg_waldump.c:770 +#: pg_waldump.c:774 #, c-format msgid "" " -r, --rmgr=RMGR only show records generated by resource manager RMGR;\n" @@ -224,21 +278,21 @@ msgstr "" " --rmgr=list pour avoir une liste des noms valides\n" " de gestionnaires de ressources\n" -#: pg_waldump.c:772 +#: pg_waldump.c:776 #, c-format msgid " -R, --relation=T/D/R only show records that modify blocks in relation T/D/R\n" msgstr "" " -R, --relation=T/D/R affiche seulement les enregistrements qui modifient\n" " les blocs de la relation T/D/R\n" -#: pg_waldump.c:773 +#: pg_waldump.c:777 #, c-format msgid " -s, --start=RECPTR start reading at WAL location RECPTR\n" msgstr "" " -s, --start=RECPTR commence à lire à l'emplacement RECPTR des\n" " journaux de transactions\n" -#: pg_waldump.c:774 +#: pg_waldump.c:778 #, c-format msgid "" " -t, --timeline=TLI timeline from which to read WAL records\n" @@ -248,26 +302,26 @@ msgstr "" " enregistrements des journaux (par défaut : 1 ou\n" " la valeur utilisée dans SEG_DÉBUT)\n" -#: pg_waldump.c:776 +#: pg_waldump.c:780 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version affiche la version puis quitte\n" -#: pg_waldump.c:777 +#: pg_waldump.c:781 #, c-format msgid " -w, --fullpage only show records with a full page write\n" msgstr "" " -w, --fullpage affiche seulement les enregistrements avec\n" " un bloc complet (FPW)\n" -#: pg_waldump.c:778 +#: pg_waldump.c:782 #, c-format msgid " -x, --xid=XID only show records with transaction ID XID\n" msgstr "" " -x, --xid=XID affiche seulement des enregistrements avec\n" " l'identifiant de transaction XID\n" -#: pg_waldump.c:779 +#: pg_waldump.c:783 #, c-format msgid "" " -z, --stats[=record] show statistics instead of records\n" @@ -277,17 +331,17 @@ msgstr "" " d'enregistrements (en option, affiche des\n" " statistiques par enregistrement)\n" -#: pg_waldump.c:781 +#: pg_waldump.c:785 #, c-format msgid " --save-fullpage=DIR save full page images to DIR\n" msgstr " --save-fullpage=RÉP sauvegarde les images complètes dans RÉP\n" -#: pg_waldump.c:782 +#: pg_waldump.c:786 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help affiche cette aide puis quitte\n" -#: pg_waldump.c:783 +#: pg_waldump.c:787 #, c-format msgid "" "\n" @@ -296,398 +350,286 @@ msgstr "" "\n" "Rapporter les bogues à <%s>.\n" -#: pg_waldump.c:784 +#: pg_waldump.c:788 #, c-format msgid "%s home page: <%s>\n" msgstr "Page d'accueil de %s : <%s>\n" -#: pg_waldump.c:880 +#: pg_waldump.c:884 #, c-format msgid "no arguments specified" msgstr "aucun argument spécifié" -#: pg_waldump.c:896 +#: pg_waldump.c:900 #, c-format msgid "invalid block number: \"%s\"" msgstr "numéro de bloc invalide : « %s »" -#: pg_waldump.c:905 pg_waldump.c:1003 +#: pg_waldump.c:909 pg_waldump.c:1007 #, c-format msgid "invalid WAL location: \"%s\"" msgstr "emplacement WAL invalide : « %s »" -#: pg_waldump.c:918 +#: pg_waldump.c:922 #, c-format msgid "invalid fork name: \"%s\"" msgstr "nom du fork invalide : « %s »" -#: pg_waldump.c:926 pg_waldump.c:1029 +#: pg_waldump.c:930 pg_waldump.c:1033 #, c-format msgid "invalid value \"%s\" for option %s" msgstr "valeur « %s » invalide pour l'option %s" -#: pg_waldump.c:957 +#: pg_waldump.c:961 #, c-format msgid "custom resource manager \"%s\" does not exist" msgstr "le gestionnaire de ressources personnalisé « %s » n'existe pas" -#: pg_waldump.c:978 +#: pg_waldump.c:982 #, c-format msgid "resource manager \"%s\" does not exist" msgstr "le gestionnaire de ressources « %s » n'existe pas" -#: pg_waldump.c:993 +#: pg_waldump.c:997 #, c-format msgid "invalid relation specification: \"%s\"" msgstr "spécification de relation invalide : « %s »" -#: pg_waldump.c:994 +#: pg_waldump.c:998 #, c-format msgid "Expecting \"tablespace OID/database OID/relation filenode\"." msgstr "Attendait « OID tablespace/OID base/filenode relation »." -#: pg_waldump.c:1036 +#: pg_waldump.c:1040 #, c-format msgid "%s must be in range %u..%u" msgstr "%s doit être compris entre %u et %u" -#: pg_waldump.c:1051 +#: pg_waldump.c:1055 #, c-format msgid "invalid transaction ID specification: \"%s\"" msgstr "spécification d'identifiant de transaction invalide : « %s »" -#: pg_waldump.c:1066 +#: pg_waldump.c:1070 #, c-format msgid "unrecognized value for option %s: %s" msgstr "valeur non reconnue pour l'option %s : %s" -#: pg_waldump.c:1083 +#: pg_waldump.c:1087 #, c-format msgid "option %s requires option %s to be specified" msgstr "l'option %s requiert la spécification de l'option %s" -#: pg_waldump.c:1090 +#: pg_waldump.c:1094 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "trop d'arguments en ligne de commande (le premier étant « %s »)" -#: pg_waldump.c:1100 pg_waldump.c:1123 -#, c-format -msgid "could not open directory \"%s\": %m" -msgstr "n'a pas pu ouvrir le répertoire « %s » : %m" - -#: pg_waldump.c:1129 pg_waldump.c:1159 +#: pg_waldump.c:1133 pg_waldump.c:1163 #, c-format msgid "could not open file \"%s\"" msgstr "n'a pas pu ouvrir le fichier « %s »" -#: pg_waldump.c:1139 +#: pg_waldump.c:1143 #, c-format msgid "start WAL location %X/%X is not inside file \"%s\"" msgstr "l'emplacement de début des journaux de transactions %X/%X n'est pas à l'intérieur du fichier « %s »" -#: pg_waldump.c:1166 +#: pg_waldump.c:1170 #, c-format msgid "ENDSEG %s is before STARTSEG %s" msgstr "SEG_FIN %s est avant SEG_DÉBUT %s" -#: pg_waldump.c:1181 +#: pg_waldump.c:1185 #, c-format msgid "end WAL location %X/%X is not inside file \"%s\"" msgstr "l'emplacement de fin des journaux de transactions %X/%X n'est pas à l'intérieur du fichier « %s »" -#: pg_waldump.c:1193 +#: pg_waldump.c:1197 #, c-format msgid "no start WAL location given" msgstr "pas d'emplacement donné de début du journal de transactions" -#: pg_waldump.c:1207 +#: pg_waldump.c:1211 #, c-format msgid "out of memory while allocating a WAL reading processor" msgstr "plus de mémoire lors de l'allocation d'un processeur de lecture de journaux de transactions" -#: pg_waldump.c:1213 +#: pg_waldump.c:1217 #, c-format msgid "could not find a valid record after %X/%X" msgstr "n'a pas pu trouver un enregistrement valide après %X/%X" -#: pg_waldump.c:1223 +#: pg_waldump.c:1227 #, c-format -msgid "first record is after %X/%X, at %X/%X, skipping over %u byte\n" -msgid_plural "first record is after %X/%X, at %X/%X, skipping over %u bytes\n" -msgstr[0] "le premier enregistrement se trouve après %X/%X, à %X/%X, ignore %u octet\n" -msgstr[1] "le premier enregistrement se trouve après %X/%X, à %X/%X, ignore %u octets\n" +msgid "first record is after %X/%X, at %X/%X, skipping over %u byte" +msgid_plural "first record is after %X/%X, at %X/%X, skipping over %u bytes" +msgstr[0] "le premier enregistrement se trouve après %X/%X, à %X/%X, ignore %u octet" +msgstr[1] "le premier enregistrement se trouve après %X/%X, à %X/%X, ignore %u octets" -#: pg_waldump.c:1308 +#: pg_waldump.c:1312 #, c-format msgid "error in WAL record at %X/%X: %s" msgstr "erreur dans l'enregistrement des journaux de transactions à %X/%X : %s" -#: pg_waldump.c:1317 +#: pg_waldump.c:1321 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Essayez « %s --help » pour plus d'informations." -#: xlogreader.c:626 +#: xlogreader.c:619 #, c-format msgid "invalid record offset at %X/%X: expected at least %u, got %u" msgstr "décalage invalide de l'enregistrement à %X/%X : attendait au moins %u, a eu %u" -#: xlogreader.c:635 +#: xlogreader.c:628 #, c-format msgid "contrecord is requested by %X/%X" msgstr "« contrecord » est requis par %X/%X" -#: xlogreader.c:676 xlogreader.c:1119 +#: xlogreader.c:669 xlogreader.c:1134 #, c-format msgid "invalid record length at %X/%X: expected at least %u, got %u" msgstr "longueur invalide de l'enregistrement à %X/%X : attendait au moins %u, a eu %u" -#: xlogreader.c:705 -#, c-format -msgid "out of memory while trying to decode a record of length %u" -msgstr "manque mémoire lors de la tentative de décodage d'un enregistrement de longueur %u" - -#: xlogreader.c:727 -#, c-format -msgid "record length %u at %X/%X too long" -msgstr "longueur trop importante de l'enregistrement %u à %X/%X" - -#: xlogreader.c:776 +#: xlogreader.c:758 #, c-format msgid "there is no contrecord flag at %X/%X" msgstr "il n'existe pas de drapeau contrecord à %X/%X" -#: xlogreader.c:789 +#: xlogreader.c:771 #, c-format msgid "invalid contrecord length %u (expected %lld) at %X/%X" msgstr "longueur %u invalide du contrecord (%lld attendu) à %X/%X" -#: xlogreader.c:1127 +#: xlogreader.c:1142 #, c-format msgid "invalid resource manager ID %u at %X/%X" msgstr "identifiant du gestionnaire de ressources invalide %u à %X/%X" -#: xlogreader.c:1140 xlogreader.c:1156 +#: xlogreader.c:1155 xlogreader.c:1171 #, c-format msgid "record with incorrect prev-link %X/%X at %X/%X" msgstr "enregistrement avec prev-link %X/%X incorrect à %X/%X" -#: xlogreader.c:1192 +#: xlogreader.c:1209 #, c-format msgid "incorrect resource manager data checksum in record at %X/%X" msgstr "" "somme de contrôle des données du gestionnaire de ressources incorrecte à\n" "l'enregistrement %X/%X" -#: xlogreader.c:1226 +#: xlogreader.c:1243 #, c-format msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u" msgstr "numéro magique invalide %04X dans le segment WAL %s, LSN %X/%X, décalage %u" -#: xlogreader.c:1241 xlogreader.c:1283 +#: xlogreader.c:1258 xlogreader.c:1300 #, c-format msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u" msgstr "bits d'information %04X invalides dans le segment WAL %s, LSN %X/%X, décalage %u" -#: xlogreader.c:1257 +#: xlogreader.c:1274 #, 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 "Le fichier WAL provient d'une instance différente : l'identifiant système de la base dans le fichier WAL est %llu, alors que l'identifiant système de la base dans pg_control est %llu" -#: xlogreader.c:1265 +#: xlogreader.c:1282 #, c-format msgid "WAL file is from different database system: incorrect segment size in page header" msgstr "Le fichier WAL provient d'une instance différente : taille invalide du segment dans l'en-tête de page" -#: xlogreader.c:1271 +#: xlogreader.c:1288 #, c-format msgid "WAL file is from different database system: incorrect XLOG_BLCKSZ in page header" msgstr "Le fichier WAL provient d'une instance différente : XLOG_BLCKSZ incorrect dans l'en-tête de page" -#: xlogreader.c:1303 +#: xlogreader.c:1320 #, c-format msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u" msgstr "pageaddr %X/%X inattendue dans le journal de transactions %s, LSN %X/%X, segment %u" -#: xlogreader.c:1329 +#: xlogreader.c:1346 #, c-format msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, offset %u" msgstr "identifiant timeline %u hors de la séquence (après %u) dans le segment WAL %s, LSN %X/%X, décalage %u" -#: xlogreader.c:1735 +#: xlogreader.c:1749 #, c-format msgid "out-of-order block_id %u at %X/%X" msgstr "block_id %u désordonné à %X/%X" -#: xlogreader.c:1759 +#: xlogreader.c:1773 #, c-format msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X" msgstr "BKPBLOCK_HAS_DATA configuré, mais aucune donnée inclus à %X/%X" -#: xlogreader.c:1766 +#: xlogreader.c:1780 #, c-format msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X" msgstr "BKPBLOCK_HAS_DATA non configuré, mais la longueur des données est %u à %X/%X" -#: xlogreader.c:1802 +#: xlogreader.c:1816 #, c-format msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X" msgstr "BKPIMAGE_HAS_HOLE activé, mais décalage trou %u longueur %u longueur image bloc %u à %X/%X" -#: xlogreader.c:1818 +#: xlogreader.c:1832 #, c-format msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X" msgstr "BKPIMAGE_HAS_HOLE désactivé, mais décalage trou %u longueur %u à %X/%X" -#: xlogreader.c:1832 +#: xlogreader.c:1846 #, c-format msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X" msgstr "BKPIMAGE_COMPRESSED configuré, mais la longueur de l'image du bloc est %u à %X/%X" -#: xlogreader.c:1847 +#: xlogreader.c:1861 #, c-format msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X" msgstr "ni BKPIMAGE_HAS_HOLE ni BKPIMAGE_COMPRESSED configuré, mais la longueur de l'image du bloc est %u à %X/%X" -#: xlogreader.c:1863 +#: xlogreader.c:1877 #, c-format msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X" msgstr "BKPBLOCK_SAME_REL configuré, mais pas de relation précédente à %X/%X" -#: xlogreader.c:1875 +#: xlogreader.c:1889 #, c-format msgid "invalid block_id %u at %X/%X" msgstr "block_id %u invalide à %X/%X" -#: xlogreader.c:1942 +#: xlogreader.c:1956 #, c-format msgid "record with invalid length at %X/%X" msgstr "enregistrement de longueur invalide à %X/%X" -#: xlogreader.c:1968 +#: xlogreader.c:1982 #, c-format msgid "could not locate backup block with ID %d in WAL record" msgstr "n'a pas pu localiser le bloc de sauvegarde d'ID %d dans l'enregistrement WAL" -#: xlogreader.c:2052 +#: xlogreader.c:2066 #, c-format msgid "could not restore image at %X/%X with invalid block %d specified" msgstr "n'a pas pu restaurer l'image à %X/%X avec le bloc invalide %d indiqué" -#: xlogreader.c:2059 +#: xlogreader.c:2073 #, c-format msgid "could not restore image at %X/%X with invalid state, block %d" msgstr "n'a pas pu restaurer l'image à %X/%X avec un état invalide, bloc %d" -#: xlogreader.c:2086 xlogreader.c:2103 +#: xlogreader.c:2100 xlogreader.c:2117 #, c-format msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d" msgstr "n'a pas pu restaurer l'image à %X/%X compressé avec %s, qui est non supporté par le serveur, bloc %d" -#: xlogreader.c:2112 +#: xlogreader.c:2126 #, c-format msgid "could not restore image at %X/%X compressed with unknown method, block %d" msgstr "n'a pas pu restaurer l'image à %X/%X compressé avec une méthode inconnue, bloc %d" -#: xlogreader.c:2120 +#: xlogreader.c:2134 #, c-format msgid "could not decompress image at %X/%X, block %d" msgstr "n'a pas pu décompresser l'image à %X/%X, bloc %d" - -#~ msgid "" -#~ "\n" -#~ "Report bugs to .\n" -#~ msgstr "" -#~ "\n" -#~ "Rapporter les bogues à .\n" - -#~ msgid "%s: FATAL: " -#~ msgstr "%s : FATAL : " - -#, c-format -#~ msgid "Try \"%s --help\" for more information.\n" -#~ msgstr "Essayez « %s --help » pour plus d'informations.\n" - -#~ msgid "cannot open directory \"%s\": %s" -#~ msgstr "ne peut pas ouvrir le répertoire « %s » : %s" - -#~ msgid "could not open directory \"%s\": %s" -#~ msgstr "n'a pas pu ouvrir le répertoire « %s » : %s" - -#~ msgid "could not open file \"%s\": %s" -#~ msgstr "n'a pas pu ouvrir le fichier « %s » : %s" - -#, c-format -#~ msgid "could not parse \"%s\" as a transaction ID" -#~ msgstr "n'a pas pu analyser « %s » comme un identifiant de transaction" - -#, c-format -#~ msgid "could not parse end WAL location \"%s\"" -#~ msgstr "n'a pas pu analyser l'emplacement de fin du journal de transactions « %s »" - -#, c-format -#~ msgid "could not parse fork \"%s\"" -#~ msgstr "n'a pas pu analyser le fork « %s »" - -#, c-format -#~ msgid "could not parse limit \"%s\"" -#~ msgstr "n'a pas pu analyser la limite « %s »" - -#, c-format -#~ msgid "could not parse start WAL location \"%s\"" -#~ msgstr "n'a pas pu analyser l'emplacement de début du journal de transactions « %s »" - -#, c-format -#~ msgid "could not parse timeline \"%s\"" -#~ msgstr "n'a pas pu analyser la timeline « %s »" - -#, c-format -#~ msgid "could not parse valid block number \"%s\"" -#~ msgstr "n'a pas pu analyser le numéro de bloc valide « %s »" - -#~ msgid "could not read file \"%s\": %s" -#~ msgstr "n'a pas pu lire le fichier « %s » : %s" - -#, c-format -#~ msgid "could not read file \"%s\": read %d of %zu" -#~ msgstr "n'a pas pu lire le fichier « %s » : a lu %d sur %zu" - -#~ msgid "could not read from log file %s, offset %u, length %d: %s" -#~ msgstr "n'a pas pu lire à partir du segment %s du journal de transactions, décalage %u, longueur %d : %s" - -#~ msgid "could not seek in log file %s to offset %u: %s" -#~ msgstr "n'a pas pu se déplacer dans le fichier de transactions %s au décalage %u : %s" - -#~ msgid "could not seek in log segment %s to offset %u: %s" -#~ msgstr "n'a pas pu rechercher dans le segment %s du journal de transactions au décalage %u : %s" - -#, c-format -#~ msgid "fatal: " -#~ msgstr "fatal : " - -#, c-format -#~ msgid "invalid record offset at %X/%X" -#~ msgstr "décalage invalide de l'enregistrement %X/%X" - -#, c-format -#~ msgid "invalid timeline specification: \"%s\"" -#~ msgstr "spécification de timeline invalide : « %s »" - -#, c-format -#~ msgid "missing contrecord at %X/%X" -#~ msgstr "contrecord manquant à %X/%X" - -#~ msgid "not enough data in file \"%s\"" -#~ msgstr "données insuffisantes dans le fichier « %s »" - -#, c-format -#~ msgid "out of memory" -#~ msgstr "mémoire épuisée" - -#~ msgid "path \"%s\" could not be opened: %s" -#~ msgstr "le chemin « %s » n'a pas pu être ouvert : %s" - -#, c-format -#~ msgid "unrecognized argument to --stats: %s" -#~ msgstr "argument non reconnu pour --stats : %s" diff --git a/src/bin/pg_waldump/po/ka.po b/src/bin/pg_waldump/po/ka.po index 7b605d657b8..a786eb1f950 100644 --- a/src/bin/pg_waldump/po/ka.po +++ b/src/bin/pg_waldump/po/ka.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: pg_waldump (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-02-11 09:48+0000\n" +"POT-Creation-Date: 2024-07-01 03:49+0000\n" "PO-Revision-Date: 2024-02-11 16:23+0100\n" "Last-Translator: Temuri Doghonadze \n" "Language-Team: Georgian \n" @@ -38,6 +38,60 @@ msgstr "დეტალები: " msgid "hint: " msgstr "მინიშნება: " +#: ../../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 "ნულოვანი მაჩვენებლის დუბლირება შეუძლებელია (შიდა შეცდომა)\n" + +#: ../../common/file_utils.c:70 ../../common/file_utils.c:347 +#: ../../common/file_utils.c:406 ../../common/file_utils.c:480 pg_waldump.c:199 +#: pg_waldump.c:532 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "ფაილის (%s) გახსნის შეცდომა: %m" + +#: ../../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\" არ არსებობს: %m" + +#: ../../common/file_utils.c:130 ../../common/file_utils.c:227 +#, c-format +msgid "this build does not support sync method \"%s\"" +msgstr "ამ აგებას სინქრონიზაციის მეთოდის \"%s\" მხარდაჭერა არ გააჩნია" + +#: ../../common/file_utils.c:151 ../../common/file_utils.c:281 +#: pg_waldump.c:1104 pg_waldump.c:1127 +#, c-format +msgid "could not open directory \"%s\": %m" +msgstr "საქაღალდის (%s) გახსნის შეცდომა: %m" + +#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "საქაღალდის (%s) წაკითხვის შეცდომა: %m" + +#: ../../common/file_utils.c:418 ../../common/file_utils.c:488 +#, c-format +msgid "could not fsync file \"%s\": %m" +msgstr "ფაილის (%s) fsync-ის შეცდომა: %m" + +#: ../../common/file_utils.c:498 +#, c-format +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "გადარქმევის შეცდომა %s - %s: %m" + #: pg_waldump.c:137 #, c-format msgid "could not create directory \"%s\": %m" @@ -53,11 +107,6 @@ msgstr "საქაღალდე \"%s\" არსებობს, მაგ msgid "could not access directory \"%s\": %m" msgstr "საქაღალდის (%s) წვდომის შეცდომა: %m" -#: pg_waldump.c:199 pg_waldump.c:532 -#, c-format -msgid "could not open file \"%s\": %m" -msgstr "ფაილის (%s) გახსნის შეცდომა: %m" - #: pg_waldump.c:256 #, c-format msgid "invalid WAL segment size in WAL file \"%s\" (%d byte)" @@ -349,11 +398,6 @@ msgstr "პარამეტრს %s თავის მხრივ სჭი msgid "too many command-line arguments (first is \"%s\")" msgstr "მეტისმეტად ბევრი ბრძანების-სტრიქონის არგუმენტი (პირველია \"%s\")" -#: pg_waldump.c:1104 pg_waldump.c:1127 -#, c-format -msgid "could not open directory \"%s\": %m" -msgstr "საქაღალდის (%s) გახსნის შეცდომა: %m" - #: pg_waldump.c:1133 pg_waldump.c:1163 #, c-format msgid "could not open file \"%s\"" @@ -406,157 +450,157 @@ msgstr "შეცდომა WAL ჩანაწერში %X/%X: %s" msgid "Try \"%s --help\" for more information." msgstr "მეტი ინფორმაციისთვის სცადეთ '%s --help'." -#: xlogreader.c:621 +#: xlogreader.c:619 #, c-format msgid "invalid record offset at %X/%X: expected at least %u, got %u" msgstr "ჩანაწერის არასწორი წანაცვლება მისამართზე %X/%X: მოველოდი მინიმუმ %u, მივიღე %u" -#: xlogreader.c:630 +#: xlogreader.c:628 #, c-format msgid "contrecord is requested by %X/%X" msgstr "contrecord მოთხოვნილია %X/%X-ის მიერ" -#: xlogreader.c:671 xlogreader.c:1136 +#: xlogreader.c:669 xlogreader.c:1134 #, c-format msgid "invalid record length at %X/%X: expected at least %u, got %u" msgstr "ჩანაწერის არასწორი სიგრძე მისამართზე %X/%X: მოველოდი მინიმუმ %u, მივიღე %u" -#: xlogreader.c:760 +#: xlogreader.c:758 #, c-format msgid "there is no contrecord flag at %X/%X" msgstr "contrecord ალამი მისამართზე %X/%X არ არსებობს" -#: xlogreader.c:773 +#: xlogreader.c:771 #, c-format msgid "invalid contrecord length %u (expected %lld) at %X/%X" msgstr "contrecord -ის არასწორი სიგრძე %u (მოველოდი %lld) მისამართზე %X/%X" -#: xlogreader.c:1144 +#: xlogreader.c:1142 #, c-format msgid "invalid resource manager ID %u at %X/%X" msgstr "რესურსის მმართველის არასწორი ID %u მისამართზე %X/%X" -#: xlogreader.c:1157 xlogreader.c:1173 +#: xlogreader.c:1155 xlogreader.c:1171 #, c-format msgid "record with incorrect prev-link %X/%X at %X/%X" msgstr "ჩანაწერი არასწორი წინა ბმულით %X/%X მისამართზე %X/%X" -#: xlogreader.c:1211 +#: xlogreader.c:1209 #, c-format msgid "incorrect resource manager data checksum in record at %X/%X" msgstr "რესურსის მმართველის მონაცემების არასწორი საკონტროლო რიცხვი ჩანაწერში მისამართზე %X/%X" -#: xlogreader.c:1245 +#: xlogreader.c:1243 #, c-format msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u" msgstr "არასწორი მაგიური რიცხვი %04X ჟურნალის სეგმენტში %s, LSN %X/%X, წანაცვლება %u" -#: xlogreader.c:1260 xlogreader.c:1302 +#: xlogreader.c:1258 xlogreader.c:1300 #, c-format msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u" msgstr "არასწორი საინფორმაციო ბიტები %04X ჟურნალის სეგმენტში %s, LSN %X/%X, წანაცვლება %u" -#: xlogreader.c:1276 +#: xlogreader.c:1274 #, 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" -#: xlogreader.c:1284 +#: xlogreader.c:1282 #, c-format msgid "WAL file is from different database system: incorrect segment size in page header" msgstr "WAL ფაილი სხვა ბაზის სიტემიდანაა: სეგმანტის არასწორი ზომა გვერდის თავსართში" -#: xlogreader.c:1290 +#: xlogreader.c:1288 #, c-format msgid "WAL file is from different database system: incorrect XLOG_BLCKSZ in page header" msgstr "WAL ფაილი სხვა მონაცემთა ბაზის სისტემიდანაა: გვერდის თავსართში მითითებული XLOG_BLKSZ არასწორია" -#: xlogreader.c:1322 +#: xlogreader.c:1320 #, c-format msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u" msgstr "მოულოდნელი pageaddr %X/%X ჟურნალის სეგმენტში %s, LSN %X/%X, წანაცვლება %u" -#: xlogreader.c:1348 +#: xlogreader.c:1346 #, c-format msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, offset %u" msgstr "მიმდევრობის-გარე დროის ხაზის ID %u (%u-ის შემდეგ) ჟურნალის სეგმენტში %s, LSN %X/%X, წანაცვლება %u" -#: xlogreader.c:1754 +#: xlogreader.c:1749 #, c-format msgid "out-of-order block_id %u at %X/%X" msgstr "ურიგო block_id %u მისამართზე %X/%X" -#: xlogreader.c:1778 +#: xlogreader.c:1773 #, c-format msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X" msgstr "BKPBLOCK_HAS_DATA დაყენებულია, მაგრამ მონაცემები მისამართზე %X/%X არ არსებობს" -#: xlogreader.c:1785 +#: xlogreader.c:1780 #, c-format msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X" msgstr "BKPBLOCK_HAS_DATA დაყენებულია, მაგრამ არსებობს მონაცემები სიგრძით %u მისამართზე %X/%X" -#: xlogreader.c:1821 +#: xlogreader.c:1816 #, 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" -#: xlogreader.c:1837 +#: xlogreader.c:1832 #, c-format msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X" msgstr "BKPIMAGE_HAS_HOLE დაყენებული არაა, მაგრამ ნახვრეტის წანაცვლება %u სიგრძე %u მისანართზე %X/%X" -#: xlogreader.c:1851 +#: xlogreader.c:1846 #, c-format msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X" msgstr "BKPIMAGE_COMPRESSED დაყენებულია, მაგრამ ბლოკის ასლის სიგრძეა %u მისამართზე %X/%X" -#: xlogreader.c:1866 +#: xlogreader.c:1861 #, 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" -#: xlogreader.c:1882 +#: xlogreader.c:1877 #, c-format msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X" msgstr "BKPBLOCK_SAME_REL დაყენებულია, მაგრამ წინა მნიშვნელობა მითითებული არაა მისამართზე %X/%X" -#: xlogreader.c:1894 +#: xlogreader.c:1889 #, c-format msgid "invalid block_id %u at %X/%X" msgstr "არასწორი block_id %u %X/%X" -#: xlogreader.c:1961 +#: xlogreader.c:1956 #, c-format msgid "record with invalid length at %X/%X" msgstr "ჩანაწერი არასწორი სიგრძით მისამართზე %X/%X" -#: xlogreader.c:1987 +#: xlogreader.c:1982 #, c-format msgid "could not locate backup block with ID %d in WAL record" msgstr "შეცდომა WAL ჩანაწერში მარქაფი ბლოკის, ID-ით %d, მოძებნისას" -#: xlogreader.c:2071 +#: xlogreader.c:2066 #, c-format msgid "could not restore image at %X/%X with invalid block %d specified" msgstr "შეუძლებელია ასლის აღდგენა მისამართზე %X/%X, როცა მითითებულია არასწორი ბლოკი %d" -#: xlogreader.c:2078 +#: xlogreader.c:2073 #, c-format msgid "could not restore image at %X/%X with invalid state, block %d" msgstr "შეუძლებელია ასლის აღდგენა მისამართზე %X/%X არასწორი მდგომარეობით, ბლოკი %d" -#: xlogreader.c:2105 xlogreader.c:2122 +#: xlogreader.c:2100 xlogreader.c:2117 #, c-format msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d" msgstr "%3$s მეთოდით შეკუმშული ასლის აღდგენა მისამართზე %1$X/%2$X, ბლოკი %4$d შეუძლებელია. მხარდაუჭერელია ამ აგების მიერ" -#: xlogreader.c:2131 +#: xlogreader.c:2126 #, c-format msgid "could not restore image at %X/%X compressed with unknown method, block %d" msgstr "შეუძლებელია ასლის აღდგენა მისამართზე %X/%X, შეკუმშულია უცნობი მეთოდით, ბლოკი %d" -#: xlogreader.c:2139 +#: xlogreader.c:2134 #, c-format msgid "could not decompress image at %X/%X, block %d" msgstr "შეუძლებელია ასლის გაშლა მისამართზე %X/%X, ბლოკი %d" diff --git a/src/bin/pg_waldump/po/ru.po b/src/bin/pg_waldump/po/ru.po index 4a2754d7ea9..bafe5a3233c 100644 --- a/src/bin/pg_waldump/po/ru.po +++ b/src/bin/pg_waldump/po/ru.po @@ -1,13 +1,13 @@ # Russian message translation file for pg_waldump # Copyright (C) 2017 PostgreSQL Global Development Group # This file is distributed under the same license as the PostgreSQL package. -# Alexander Lakhin , 2017, 2018, 2019, 2020, 2022, 2023. +# Alexander Lakhin , 2017, 2018, 2019, 2020, 2022, 2023, 2024. msgid "" msgstr "" "Project-Id-Version: pg_waldump (PostgreSQL) 10\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-02-02 18:10+0300\n" -"PO-Revision-Date: 2023-08-30 15:41+0300\n" +"POT-Creation-Date: 2024-09-02 09:29+0300\n" +"PO-Revision-Date: 2024-09-07 08:59+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" @@ -37,6 +37,60 @@ msgstr "подробности: " msgid "hint: " msgstr "подсказка: " +#: ../../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 "попытка дублирования нулевого указателя (внутренняя ошибка)\n" + +#: ../../common/file_utils.c:70 ../../common/file_utils.c:347 +#: ../../common/file_utils.c:406 ../../common/file_utils.c:480 pg_waldump.c:199 +#: pg_waldump.c:532 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "не удалось открыть файл \"%s\": %m" + +#: ../../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\": %m" + +#: ../../common/file_utils.c:130 ../../common/file_utils.c:227 +#, c-format +msgid "this build does not support sync method \"%s\"" +msgstr "эта сборка программы не поддерживает метод синхронизации \"%s\"" + +#: ../../common/file_utils.c:151 ../../common/file_utils.c:281 +#: pg_waldump.c:1104 pg_waldump.c:1127 +#, c-format +msgid "could not open directory \"%s\": %m" +msgstr "не удалось открыть каталог \"%s\": %m" + +#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "не удалось прочитать каталог \"%s\": %m" + +#: ../../common/file_utils.c:418 ../../common/file_utils.c:488 +#, c-format +msgid "could not fsync file \"%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" + #: pg_waldump.c:137 #, c-format msgid "could not create directory \"%s\": %m" @@ -50,88 +104,79 @@ msgstr "каталог \"%s\" существует, но он не пуст" #: pg_waldump.c:150 #, c-format msgid "could not access directory \"%s\": %m" -msgstr "ошибка доступа к каталогу \"%s\": %m" +msgstr "ошибка при обращении к каталогу \"%s\": %m" -#: pg_waldump.c:199 pg_waldump.c:528 +#: pg_waldump.c:256 #, c-format -msgid "could not open file \"%s\": %m" -msgstr "не удалось открыть файл \"%s\": %m" +msgid "invalid WAL segment size in WAL file \"%s\" (%d byte)" +msgid_plural "invalid WAL segment size in WAL file \"%s\" (%d bytes)" +msgstr[0] "WAL-файл \"%s\" содержит неверный размер сегмента WAL (%d Б)" +msgstr[1] "WAL-файл \"%s\" содержит неверный размер сегмента WAL (%d Б)" +msgstr[2] "WAL-файл \"%s\" содержит неверный размер сегмента WAL (%d Б)" -#: pg_waldump.c:255 +#: pg_waldump.c:260 #, c-format -msgid "" -"WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL " -"file \"%s\" header specifies %d byte" -msgid_plural "" -"WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL " -"file \"%s\" header specifies %d bytes" -msgstr[0] "" -"Размер сегмента WAL должен задаваться степенью 2 в интервале от 1 МБ до 1 " -"ГБ, но в заголовке файла WAL \"%s\" указано значение: %d" -msgstr[1] "" -"Размер сегмента WAL должен задаваться степенью 2 в интервале от 1 МБ до 1 " -"ГБ, но в заголовке файла WAL \"%s\" указано значение: %d" -msgstr[2] "" -"Размер сегмента WAL должен задаваться степенью 2 в интервале от 1 МБ до 1 " -"ГБ, но в заголовке файла WAL \"%s\" указано значение: %d" +msgid "The WAL segment size must be a power of two between 1 MB and 1 GB." +msgstr "" +"Размер сегмента WAL должен задаваться степенью 2 в интервале от 1 МБ до 1 ГБ." -#: pg_waldump.c:261 +#: pg_waldump.c:265 #, c-format msgid "could not read file \"%s\": %m" msgstr "не удалось прочитать файл \"%s\": %m" -#: pg_waldump.c:264 +#: pg_waldump.c:268 #, c-format msgid "could not read file \"%s\": read %d of %d" msgstr "не удалось прочитать файл \"%s\" (прочитано байт: %d из %d)" -#: pg_waldump.c:325 +#: pg_waldump.c:329 #, c-format msgid "could not locate WAL file \"%s\"" msgstr "не удалось найти файл WAL \"%s\"" -#: pg_waldump.c:327 +#: pg_waldump.c:331 #, c-format msgid "could not find any WAL file" msgstr "не удалось найти ни одного файла WAL" -#: pg_waldump.c:368 +#: pg_waldump.c:372 #, c-format msgid "could not find file \"%s\": %m" msgstr "не удалось найти файл \"%s\": %m" -#: pg_waldump.c:417 +#: pg_waldump.c:421 #, c-format -msgid "could not read from file %s, offset %d: %m" -msgstr "не удалось прочитать из файла %s по смещению %d: %m" +msgid "could not read from file \"%s\", offset %d: %m" +msgstr "не удалось прочитать файл \"%s\" по смещению %d: %m" -#: pg_waldump.c:421 +#: pg_waldump.c:425 #, c-format -msgid "could not read from file %s, offset %d: read %d of %d" +msgid "could not read from file \"%s\", offset %d: read %d of %d" msgstr "" -"не удалось прочитать из файла %s по смещению %d (прочитано байт: %d из %d)" +"не удалось прочитать файл \"%s\" по смещению %d (прочитано байт: %d из %d)" -#: pg_waldump.c:511 +#: pg_waldump.c:515 #, c-format msgid "%s" msgstr "%s" -#: pg_waldump.c:519 +#: pg_waldump.c:523 #, c-format msgid "invalid fork number: %u" msgstr "неверный номер слоя: %u" -#: pg_waldump.c:531 +#: pg_waldump.c:535 #, c-format msgid "could not write file \"%s\": %m" msgstr "не удалось записать файл \"%s\": %m" -#: pg_waldump.c:534 +#: pg_waldump.c:538 #, c-format msgid "could not close file \"%s\": %m" msgstr "не удалось закрыть файл \"%s\": %m" -#: pg_waldump.c:754 +#: pg_waldump.c:758 #, c-format msgid "" "%s decodes and displays PostgreSQL write-ahead logs for debugging.\n" @@ -140,17 +185,17 @@ msgstr "" "%s декодирует и показывает журналы предзаписи PostgreSQL для целей отладки.\n" "\n" -#: pg_waldump.c:756 +#: pg_waldump.c:760 #, c-format msgid "Usage:\n" msgstr "Использование:\n" -#: pg_waldump.c:757 +#: pg_waldump.c:761 #, c-format msgid " %s [OPTION]... [STARTSEG [ENDSEG]]\n" msgstr " %s [ПАРАМЕТР]... [НАЧАЛЬНЫЙ_СЕГМЕНТ [КОНЕЧНЫЙ_СЕГМЕНТ]]\n" -#: pg_waldump.c:758 +#: pg_waldump.c:762 #, c-format msgid "" "\n" @@ -159,14 +204,14 @@ msgstr "" "\n" "Параметры:\n" -#: pg_waldump.c:759 +#: pg_waldump.c:763 #, c-format msgid "" " -b, --bkp-details output detailed information about backup blocks\n" msgstr "" " -b, --bkp-details вывести подробную информацию о копиях страниц\n" -#: pg_waldump.c:760 +#: pg_waldump.c:764 #, c-format msgid "" " -B, --block=N with --relation, only show records that modify " @@ -176,20 +221,20 @@ msgstr "" " записи, в которых меняется блок N\n" # well-spelled: ПОЗЗАП -#: pg_waldump.c:761 +#: pg_waldump.c:765 #, c-format msgid " -e, --end=RECPTR stop reading at WAL location RECPTR\n" msgstr "" " -e, --end=ПОЗЗАП прекратить чтение в заданной позиции записи в WAL\n" -#: pg_waldump.c:762 +#: pg_waldump.c:766 #, c-format msgid " -f, --follow keep retrying after reaching end of WAL\n" msgstr "" " -f, --follow повторять попытки чтения по достижении конца WAL\n" # well-spelled: МНГР -#: pg_waldump.c:763 +#: pg_waldump.c:767 #, c-format msgid "" " -F, --fork=FORK only show records that modify blocks in fork FORK;\n" @@ -199,13 +244,13 @@ msgstr "" "СЛОЕ\n" " с именем из списка: main, fsm, vm, init\n" -#: pg_waldump.c:765 +#: pg_waldump.c:769 #, c-format msgid " -n, --limit=N number of records to display\n" msgstr " -n, --limit=N число выводимых записей\n" # skip-rule: space-before-period -#: pg_waldump.c:766 +#: pg_waldump.c:770 #, c-format msgid "" " -p, --path=PATH directory in which to find WAL segment files or a\n" @@ -219,13 +264,13 @@ msgstr "" " (по умолчанию: текущий каталог,\n" " ./pg_wal, $PGDATA/pg_wal)\n" -#: pg_waldump.c:769 +#: pg_waldump.c:773 #, c-format msgid " -q, --quiet do not print any output, except for errors\n" msgstr " -q, --quiet не выводить никаких сообщений, кроме ошибок\n" # well-spelled: МНГР -#: pg_waldump.c:770 +#: pg_waldump.c:774 #, c-format msgid "" " -r, --rmgr=RMGR only show records generated by resource manager " @@ -237,7 +282,7 @@ msgstr "" " для просмотра списка доступных менеджеров ресурсов\n" " укажите --rmgr=list\n" -#: pg_waldump.c:772 +#: pg_waldump.c:776 #, c-format msgid "" " -R, --relation=T/D/R only show records that modify blocks in relation T/" @@ -247,14 +292,14 @@ msgstr "" " в отношении T/D/R\n" # well-spelled: ПОЗЗАП -#: pg_waldump.c:773 +#: pg_waldump.c:777 #, c-format msgid " -s, --start=RECPTR start reading at WAL location RECPTR\n" msgstr "" " -s, --start=ПОЗЗАП начать чтение с заданной позиции записи в WAL\n" # well-spelled: ЛВР -#: pg_waldump.c:774 +#: pg_waldump.c:778 #, c-format msgid "" " -t, --timeline=TLI timeline from which to read WAL records\n" @@ -265,25 +310,25 @@ msgstr "" "аргументом\n" " НАЧАЛЬНЫЙ_СЕГМЕНТ)\n" -#: pg_waldump.c:776 +#: pg_waldump.c:780 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version показать версию и выйти\n" -#: pg_waldump.c:777 +#: pg_waldump.c:781 #, c-format msgid " -w, --fullpage only show records with a full page write\n" msgstr "" " -w, --fullpage выводить только записи, содержащие полные страницы\n" -#: pg_waldump.c:778 +#: pg_waldump.c:782 #, c-format msgid " -x, --xid=XID only show records with transaction ID XID\n" msgstr "" " -x, --xid=XID выводить только записи с заданным\n" " идентификатором транзакции\n" -#: pg_waldump.c:779 +#: pg_waldump.c:783 #, c-format msgid "" " -z, --stats[=record] show statistics instead of records\n" @@ -292,19 +337,19 @@ msgstr "" " -z, --stats[=record] показывать статистику вместо записей\n" " (также возможно получить статистику по записям)\n" -#: pg_waldump.c:781 +#: pg_waldump.c:785 #, c-format msgid " --save-fullpage=DIR save full page images to DIR\n" msgstr "" " --save-fullpage=ПУТЬ записывать полные образы страниц в заданный " "каталог\n" -#: pg_waldump.c:782 +#: pg_waldump.c:786 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help показать эту справку и выйти\n" -#: pg_waldump.c:783 +#: pg_waldump.c:787 #, c-format msgid "" "\n" @@ -313,200 +358,195 @@ msgstr "" "\n" "Об ошибках сообщайте по адресу <%s>.\n" -#: pg_waldump.c:784 +#: pg_waldump.c:788 #, c-format msgid "%s home page: <%s>\n" msgstr "Домашняя страница %s: <%s>\n" -#: pg_waldump.c:880 +#: pg_waldump.c:884 #, c-format msgid "no arguments specified" msgstr "аргументы не указаны" -#: pg_waldump.c:896 +#: pg_waldump.c:900 #, c-format msgid "invalid block number: \"%s\"" msgstr "неверный номер блока: \"%s\"" -#: pg_waldump.c:905 pg_waldump.c:1003 +#: pg_waldump.c:909 pg_waldump.c:1007 #, c-format msgid "invalid WAL location: \"%s\"" msgstr "неверная позиция в WAL: \"%s\"" -#: pg_waldump.c:918 +#: pg_waldump.c:922 #, c-format msgid "invalid fork name: \"%s\"" msgstr "неверное имя слоя: \"%s\"" -#: pg_waldump.c:926 pg_waldump.c:1029 +#: pg_waldump.c:930 pg_waldump.c:1033 #, c-format msgid "invalid value \"%s\" for option %s" msgstr "неверное значение \"%s\" для параметра %s" -#: pg_waldump.c:957 +#: pg_waldump.c:961 #, c-format msgid "custom resource manager \"%s\" does not exist" msgstr "пользовательский менеджер ресурсов \"%s\" не существует" -#: pg_waldump.c:978 +#: pg_waldump.c:982 #, c-format msgid "resource manager \"%s\" does not exist" msgstr "менеджер ресурсов \"%s\" не существует" -#: pg_waldump.c:993 +#: pg_waldump.c:997 #, c-format msgid "invalid relation specification: \"%s\"" msgstr "неверное указание отношения: \"%s\"" -#: pg_waldump.c:994 +#: pg_waldump.c:998 #, c-format msgid "Expecting \"tablespace OID/database OID/relation filenode\"." msgstr "" "Ожидается \"OID табл. пространства/OID базы данных/файловый узел отношения\"." -#: pg_waldump.c:1036 +#: pg_waldump.c:1040 #, c-format msgid "%s must be in range %u..%u" msgstr "значение %s должно быть в диапазоне %u..%u" -#: pg_waldump.c:1051 +#: pg_waldump.c:1055 #, c-format msgid "invalid transaction ID specification: \"%s\"" msgstr "неверное указание ID транзакции: \"%s\"" -#: pg_waldump.c:1066 +#: pg_waldump.c:1070 #, c-format msgid "unrecognized value for option %s: %s" msgstr "нераспознанное значение параметра %s: %s" -#: pg_waldump.c:1083 +#: pg_waldump.c:1087 #, c-format msgid "option %s requires option %s to be specified" msgstr "параметр %s требует указания параметра %s" -#: pg_waldump.c:1090 +#: pg_waldump.c:1094 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "слишком много аргументов командной строки (первый: \"%s\")" -#: pg_waldump.c:1100 pg_waldump.c:1123 -#, c-format -msgid "could not open directory \"%s\": %m" -msgstr "не удалось открыть каталог \"%s\": %m" - -#: pg_waldump.c:1129 pg_waldump.c:1159 +#: pg_waldump.c:1133 pg_waldump.c:1163 #, c-format msgid "could not open file \"%s\"" msgstr "не удалось открыть файл \"%s\"" -#: pg_waldump.c:1139 +#: pg_waldump.c:1143 #, c-format msgid "start WAL location %X/%X is not inside file \"%s\"" msgstr "начальная позиция в WAL %X/%X находится не в файле \"%s\"" -#: pg_waldump.c:1166 +#: pg_waldump.c:1170 #, c-format msgid "ENDSEG %s is before STARTSEG %s" msgstr "КОНЕЧНЫЙ_СЕГМЕНТ %s меньше, чем НАЧАЛЬНЫЙ_СЕГМЕНТ %s" -#: pg_waldump.c:1181 +#: pg_waldump.c:1185 #, c-format msgid "end WAL location %X/%X is not inside file \"%s\"" msgstr "конечная позиция в WAL %X/%X находится не в файле \"%s\"" -#: pg_waldump.c:1193 +#: pg_waldump.c:1197 #, c-format msgid "no start WAL location given" msgstr "начальная позиция в WAL не задана" -#: pg_waldump.c:1207 +#: pg_waldump.c:1211 #, c-format msgid "out of memory while allocating a WAL reading processor" msgstr "не удалось выделить память для чтения WAL" -#: pg_waldump.c:1213 +#: pg_waldump.c:1217 #, c-format msgid "could not find a valid record after %X/%X" -msgstr "не удалось найти действительную запись после позиции %X/%X" +msgstr "не удалось найти корректную запись после %X/%X" -#: pg_waldump.c:1223 +#: pg_waldump.c:1227 #, c-format -msgid "first record is after %X/%X, at %X/%X, skipping over %u byte\n" -msgid_plural "first record is after %X/%X, at %X/%X, skipping over %u bytes\n" +msgid "first record is after %X/%X, at %X/%X, skipping over %u byte" +msgid_plural "first record is after %X/%X, at %X/%X, skipping over %u bytes" msgstr[0] "" -"первая запись обнаружена после %X/%X, в позиции %X/%X, пропускается %u Б\n" +"первая запись обнаружена после %X/%X, в позиции %X/%X, пропускается %u Б" msgstr[1] "" -"первая запись обнаружена после %X/%X, в позиции %X/%X, пропускается %u Б\n" +"первая запись обнаружена после %X/%X, в позиции %X/%X, пропускается %u Б" msgstr[2] "" -"первая запись обнаружена после %X/%X, в позиции %X/%X, пропускается %u Б\n" +"первая запись обнаружена после %X/%X, в позиции %X/%X, пропускается %u Б" -#: pg_waldump.c:1308 +#: pg_waldump.c:1312 #, c-format msgid "error in WAL record at %X/%X: %s" msgstr "ошибка в записи WAL в позиции %X/%X: %s" -#: pg_waldump.c:1317 +#: pg_waldump.c:1321 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Для дополнительной информации попробуйте \"%s --help\"." -#: xlogreader.c:621 +#: xlogreader.c:619 #, c-format msgid "invalid record offset at %X/%X: expected at least %u, got %u" msgstr "" "неверное смещение записи в позиции %X/%X: ожидалось минимум %u, получено %u" -#: xlogreader.c:630 +#: xlogreader.c:628 #, c-format msgid "contrecord is requested by %X/%X" msgstr "в позиции %X/%X запрошено продолжение записи" -#: xlogreader.c:671 xlogreader.c:1136 +#: xlogreader.c:669 xlogreader.c:1134 #, c-format msgid "invalid record length at %X/%X: expected at least %u, got %u" msgstr "" "неверная длина записи в позиции %X/%X: ожидалось минимум %u, получено %u" -#: xlogreader.c:760 +#: xlogreader.c:758 #, c-format msgid "there is no contrecord flag at %X/%X" msgstr "нет флага contrecord в позиции %X/%X" -#: xlogreader.c:773 +#: xlogreader.c:771 #, c-format msgid "invalid contrecord length %u (expected %lld) at %X/%X" msgstr "неверная длина contrecord: %u (ожидалась %lld) в позиции %X/%X" -#: xlogreader.c:1144 +#: xlogreader.c:1142 #, c-format msgid "invalid resource manager ID %u at %X/%X" msgstr "неверный ID менеджера ресурсов %u в позиции %X/%X" -#: xlogreader.c:1157 xlogreader.c:1173 +#: xlogreader.c:1155 xlogreader.c:1171 #, c-format msgid "record with incorrect prev-link %X/%X at %X/%X" msgstr "запись с неверной ссылкой назад %X/%X в позиции %X/%X" -#: xlogreader.c:1211 +#: xlogreader.c:1209 #, c-format msgid "incorrect resource manager data checksum in record at %X/%X" msgstr "" "некорректная контрольная сумма данных менеджера ресурсов в записи в позиции " "%X/%X" -#: xlogreader.c:1245 +#: xlogreader.c:1243 #, c-format msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u" msgstr "" "неверное магическое число %04X в сегменте WAL %s, LSN %X/%X, смещение %u" -#: xlogreader.c:1260 xlogreader.c:1302 +#: xlogreader.c:1258 xlogreader.c:1300 #, c-format msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u" msgstr "" "неверные информационные биты %04X в сегменте WAL %s, LSN %X/%X, смещение %u" -#: xlogreader.c:1276 +#: xlogreader.c:1274 #, c-format msgid "" "WAL file is from different database system: WAL file database system " @@ -515,7 +555,7 @@ msgstr "" "файл WAL принадлежит другой СУБД: в нём указан идентификатор системы БД " "%llu, а идентификатор системы pg_control: %llu" -#: xlogreader.c:1284 +#: xlogreader.c:1282 #, c-format msgid "" "WAL file is from different database system: incorrect segment size in page " @@ -524,7 +564,7 @@ msgstr "" "файл WAL принадлежит другой СУБД: некорректный размер сегмента в заголовке " "страницы" -#: xlogreader.c:1290 +#: xlogreader.c:1288 #, c-format msgid "" "WAL file is from different database system: incorrect XLOG_BLCKSZ in page " @@ -533,12 +573,12 @@ msgstr "" "файл WAL принадлежит другой СУБД: некорректный XLOG_BLCKSZ в заголовке " "страницы" -#: xlogreader.c:1322 +#: xlogreader.c:1320 #, 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" -#: xlogreader.c:1348 +#: xlogreader.c:1346 #, c-format msgid "" "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, " @@ -547,23 +587,23 @@ msgstr "" "нарушение последовательности ID линии времени %u (после %u) в сегменте WAL " "%s, LSN %X/%X, смещение %u" -#: xlogreader.c:1754 +#: xlogreader.c:1749 #, c-format msgid "out-of-order block_id %u at %X/%X" msgstr "идентификатор блока %u идёт не по порядку в позиции %X/%X" -#: xlogreader.c:1778 +#: xlogreader.c:1773 #, c-format msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X" msgstr "BKPBLOCK_HAS_DATA установлен, но данных в позиции %X/%X нет" -#: xlogreader.c:1785 +#: xlogreader.c:1780 #, c-format msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X" msgstr "" "BKPBLOCK_HAS_DATA не установлен, но длина данных равна %u в позиции %X/%X" -#: xlogreader.c:1821 +#: xlogreader.c:1816 #, c-format msgid "" "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at " @@ -572,21 +612,21 @@ msgstr "" "BKPIMAGE_HAS_HOLE установлен, но для пропуска заданы смещение %u и длина %u " "при длине образа блока %u в позиции %X/%X" -#: xlogreader.c:1837 +#: xlogreader.c:1832 #, c-format msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X" msgstr "" "BKPIMAGE_HAS_HOLE не установлен, но для пропуска заданы смещение %u и длина " "%u в позиции %X/%X" -#: xlogreader.c:1851 +#: xlogreader.c:1846 #, c-format msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X" msgstr "" "BKPIMAGE_COMPRESSED установлен, но длина образа блока равна %u в позиции %X/" "%X" -#: xlogreader.c:1866 +#: xlogreader.c:1861 #, c-format msgid "" "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image " @@ -595,41 +635,41 @@ msgstr "" "ни BKPIMAGE_HAS_HOLE, ни BKPIMAGE_COMPRESSED не установлены, но длина образа " "блока равна %u в позиции %X/%X" -#: xlogreader.c:1882 +#: xlogreader.c:1877 #, c-format msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X" msgstr "" "BKPBLOCK_SAME_REL установлен, но предыдущее значение не задано в позиции %X/" "%X" -#: xlogreader.c:1894 +#: xlogreader.c:1889 #, c-format msgid "invalid block_id %u at %X/%X" msgstr "неверный идентификатор блока %u в позиции %X/%X" -#: xlogreader.c:1961 +#: xlogreader.c:1956 #, c-format msgid "record with invalid length at %X/%X" msgstr "запись с неверной длиной в позиции %X/%X" -#: xlogreader.c:1987 +#: xlogreader.c:1982 #, c-format msgid "could not locate backup block with ID %d in WAL record" msgstr "не удалось найти копию блока с ID %d в записи журнала WAL" -#: xlogreader.c:2071 +#: xlogreader.c:2066 #, c-format msgid "could not restore image at %X/%X with invalid block %d specified" msgstr "" "не удалось восстановить образ в позиции %X/%X с указанным неверным блоком %d" -#: xlogreader.c:2078 +#: xlogreader.c:2073 #, c-format msgid "could not restore image at %X/%X with invalid state, block %d" msgstr "" "не удалось восстановить образ в позиции %X/%X с неверным состоянием, блок %d" -#: xlogreader.c:2105 xlogreader.c:2122 +#: xlogreader.c:2100 xlogreader.c:2117 #, c-format msgid "" "could not restore image at %X/%X compressed with %s not supported by build, " @@ -638,7 +678,7 @@ msgstr "" "не удалось восстановить образ в позиции %X/%X, сжатый методом %s, который не " "поддерживается этой сборкой, блок %d" -#: xlogreader.c:2131 +#: xlogreader.c:2126 #, c-format msgid "" "could not restore image at %X/%X compressed with unknown method, block %d" @@ -646,7 +686,7 @@ msgstr "" "не удалось восстановить образ в позиции %X/%X, сжатый неизвестным методом, " "блок %d" -#: xlogreader.c:2139 +#: xlogreader.c:2134 #, c-format msgid "could not decompress image at %X/%X, block %d" msgstr "не удалось развернуть образ в позиции %X/%X, блок %d" @@ -702,8 +742,5 @@ msgstr "не удалось развернуть образ в позиции %X #~ msgid "not enough data in file \"%s\"" #~ msgstr "недостаточно данных в файле \"%s\"" -#~ msgid "out of memory" -#~ msgstr "нехватка памяти" - #~ msgid "path \"%s\" could not be opened: %s" #~ msgstr "не удалось открыть путь \"%s\": %s" diff --git a/src/bin/pg_waldump/po/sv.po b/src/bin/pg_waldump/po/sv.po index 4fd2ceb7b03..24173636e1a 100644 --- a/src/bin/pg_waldump/po/sv.po +++ b/src/bin/pg_waldump/po/sv.po @@ -1,14 +1,14 @@ # Swedish message translation file for pg_waldump # 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. +# Dennis Björklund , 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024. # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 16\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-08-02 03:17+0000\n" -"PO-Revision-Date: 2023-08-30 08:59+0200\n" +"POT-Creation-Date: 2024-07-12 14:19+0000\n" +"PO-Revision-Date: 2024-07-12 19:11+0200\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -37,6 +37,60 @@ msgstr "detalj: " msgid "hint: " msgstr "tips: " +#: ../../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 "slut på minne\n" + +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 +#, c-format +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "kan inte duplicera null-pekare (internt fel)\n" + +#: ../../common/file_utils.c:70 ../../common/file_utils.c:347 +#: ../../common/file_utils.c:406 ../../common/file_utils.c:480 pg_waldump.c:199 +#: pg_waldump.c:532 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "kunde inte öppna fil \"%s\": %m" + +#: ../../common/file_utils.c:76 +#, c-format +msgid "could not synchronize file system for file \"%s\": %m" +msgstr "kan inte synkronisera filsystemet för fil \"%s\": %m" + +#: ../../common/file_utils.c:120 ../../common/file_utils.c:566 +#, c-format +msgid "could not stat file \"%s\": %m" +msgstr "kunde inte göra stat() på fil \"%s\": %m" + +#: ../../common/file_utils.c:130 ../../common/file_utils.c:227 +#, c-format +msgid "this build does not support sync method \"%s\"" +msgstr "detta bygge stöder inte synkmetod \"%s\"" + +#: ../../common/file_utils.c:151 ../../common/file_utils.c:281 +#: pg_waldump.c:1104 pg_waldump.c:1127 +#, 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 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "kunde inte läsa katalog \"%s\": %m" + +#: ../../common/file_utils.c:418 ../../common/file_utils.c:488 +#, c-format +msgid "could not fsync file \"%s\": %m" +msgstr "kunde inte fsync:a fil \"%s\": %m" + +#: ../../common/file_utils.c:498 +#, c-format +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "kunde inte döpa om fil \"%s\" till \"%s\": %m" + #: pg_waldump.c:137 #, c-format msgid "could not create directory \"%s\": %m" @@ -52,91 +106,91 @@ msgstr "katalogen \"%s\" existerar men är inte tom" msgid "could not access directory \"%s\": %m" msgstr "kunde inte komma åt katalog \"%s\": %m" -#: pg_waldump.c:199 pg_waldump.c:528 +#: pg_waldump.c:256 #, c-format -msgid "could not open file \"%s\": %m" -msgstr "kunde inte öppna fil \"%s\": %m" +msgid "invalid WAL segment size in WAL file \"%s\" (%d byte)" +msgid_plural "invalid WAL segment size in WAL file \"%s\" (%d bytes)" +msgstr[0] "ogiltigt WAL-segmentstorlek i WAL-fil \"%s\" (%d byte)" +msgstr[1] "ogiltigt WAL-segmentstorlek i WAL-fil \"%s\" (%d byte)" -#: pg_waldump.c:255 +#: pg_waldump.c:260 #, c-format -msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL file \"%s\" header specifies %d byte" -msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL file \"%s\" header specifies %d bytes" -msgstr[0] "WAL-segmentstorlek måste vara en tvåpotens mellan 1MB och 1GB men headern i WAL-filen \"%s\" anger %d byte" -msgstr[1] "WAL-segmentstorlek måste vara en tvåpotens mellan 1MB och 1GB men headern i WAL-filen \"%s\" anger %d byte" +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_waldump.c:261 +#: pg_waldump.c:265 #, c-format msgid "could not read file \"%s\": %m" msgstr "kunde inte läsa fil \"%s\": %m" -#: pg_waldump.c:264 +#: pg_waldump.c:268 #, c-format msgid "could not read file \"%s\": read %d of %d" msgstr "kunde inte läsa fil \"%s\": läste %d av %d" -#: pg_waldump.c:325 +#: pg_waldump.c:329 #, c-format msgid "could not locate WAL file \"%s\"" msgstr "kunde inte lokalisera WAL-fil \"%s\"" -#: pg_waldump.c:327 +#: pg_waldump.c:331 #, c-format msgid "could not find any WAL file" msgstr "kunde inte hitta några WAL-filer" -#: pg_waldump.c:368 +#: pg_waldump.c:372 #, c-format msgid "could not find file \"%s\": %m" msgstr "kunde inte hitta filen \"%s\": %m" -#: pg_waldump.c:417 +#: pg_waldump.c:421 #, c-format -msgid "could not read from file %s, offset %d: %m" -msgstr "Kunde inte läsa från fil %s på offset %d: %m" +msgid "could not read from file \"%s\", offset %d: %m" +msgstr "Kunde inte läsa från fil \"%s\", offset %d: %m" -#: pg_waldump.c:421 +#: pg_waldump.c:425 #, c-format -msgid "could not read from file %s, offset %d: read %d of %d" -msgstr "kunde inte läsa från fil %s, offset %d, läste %d av %d" +msgid "could not read from file \"%s\", offset %d: read %d of %d" +msgstr "kunde inte läsa från fil \"%s\", offset %d, läste %d av %d" -#: pg_waldump.c:511 +#: pg_waldump.c:515 #, c-format msgid "%s" msgstr "%s" -#: pg_waldump.c:519 +#: pg_waldump.c:523 #, c-format msgid "invalid fork number: %u" msgstr "ogiltigt fork-nummer: %u" -#: pg_waldump.c:531 +#: pg_waldump.c:535 #, c-format msgid "could not write file \"%s\": %m" msgstr "kunde inte skriva fil \"%s\": %m" -#: pg_waldump.c:534 +#: pg_waldump.c:538 #, c-format msgid "could not close file \"%s\": %m" msgstr "kunde inte stänga fil \"%s\": %m" -#: pg_waldump.c:754 +#: pg_waldump.c:758 #, c-format msgid "" "%s decodes and displays PostgreSQL write-ahead logs for debugging.\n" "\n" msgstr "%s avkodar och visar PostgreSQLs write-ahead-logg för debuggning.\n" -#: pg_waldump.c:756 +#: pg_waldump.c:760 #, c-format msgid "Usage:\n" msgstr "Användning:\n" -#: pg_waldump.c:757 +#: pg_waldump.c:761 #, c-format msgid " %s [OPTION]... [STARTSEG [ENDSEG]]\n" msgstr " %s [FLAGGA]... [STARTSEG [SLUTSEG]]\n" -#: pg_waldump.c:758 +#: pg_waldump.c:762 #, c-format msgid "" "\n" @@ -145,29 +199,29 @@ msgstr "" "\n" "Flaggor:\n" -#: pg_waldump.c:759 +#: pg_waldump.c:763 #, c-format msgid " -b, --bkp-details output detailed information about backup blocks\n" msgstr " -b, --bkp-details skriv detaljerad information om backupblock\n" -#: pg_waldump.c:760 +#: pg_waldump.c:764 #, c-format msgid " -B, --block=N with --relation, only show records that modify block N\n" msgstr "" " -B, --block=N tillsammans med --relation, visa bara poster som\n" " modifierar block N\n" -#: pg_waldump.c:761 +#: pg_waldump.c:765 #, c-format msgid " -e, --end=RECPTR stop reading at WAL location RECPTR\n" msgstr " -e, --end=RECPTR stoppa läsning vid WAL-position RECPTR\n" -#: pg_waldump.c:762 +#: pg_waldump.c:766 #, c-format msgid " -f, --follow keep retrying after reaching end of WAL\n" msgstr " -f, --follow fortsätt försök efter att ha nått slutet av WAL\n" -#: pg_waldump.c:763 +#: pg_waldump.c:767 #, c-format msgid "" " -F, --fork=FORK only show records that modify blocks in fork FORK;\n" @@ -176,12 +230,12 @@ msgstr "" " -F, --fork=GREN visa bara poster som modifierar block i grenen GREN\n" " gilriga namn är main, fsm, vm och init\n" -#: pg_waldump.c:765 +#: pg_waldump.c:769 #, c-format msgid " -n, --limit=N number of records to display\n" msgstr " -n, --limit=N antal poster att visa\n" -#: pg_waldump.c:766 +#: pg_waldump.c:770 #, c-format msgid "" " -p, --path=PATH directory in which to find WAL segment files or a\n" @@ -192,12 +246,12 @@ msgstr "" " katalog med en ./pg_wal som innehåller sådana filer\n" " (standard: aktuell katalog, ./pg_wal, $PGDATA/pg_wal)\n" -#: pg_waldump.c:769 +#: pg_waldump.c:773 #, c-format msgid " -q, --quiet do not print any output, except for errors\n" msgstr " -q, --quiet skriv inte ut några meddelanden förutom fel\n" -#: pg_waldump.c:770 +#: pg_waldump.c:774 #, c-format msgid "" " -r, --rmgr=RMGR only show records generated by resource manager RMGR;\n" @@ -206,19 +260,19 @@ msgstr "" " -r, --rmgr=RMGR visa bara poster skapade av resurshanteraren RMGR;\n" " använd --rmgr=list för att lista giltiga resurshanterarnamn\n" -#: pg_waldump.c:772 +#: pg_waldump.c:776 #, c-format msgid " -R, --relation=T/D/R only show records that modify blocks in relation T/D/R\n" msgstr "" " -R, --relation=T/D/R visa bara poster som modifierar block i\n" " relationen T/D/R\n" -#: pg_waldump.c:773 +#: pg_waldump.c:777 #, c-format msgid " -s, --start=RECPTR start reading at WAL location RECPTR\n" msgstr " -s, --start=RECPTR börja läsning vid WAL-position RECPTR\n" -#: pg_waldump.c:774 +#: pg_waldump.c:778 #, c-format msgid "" " -t, --timeline=TLI timeline from which to read WAL records\n" @@ -227,22 +281,22 @@ msgstr "" " -t, --timeline=TLI tidslinje från vilken vi läser WAL-poster\n" " (standard: 1 eller värdet som används i STARTSEG)\n" -#: pg_waldump.c:776 +#: pg_waldump.c:780 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version visa versionsinformation, avsluta sedan\n" -#: pg_waldump.c:777 +#: pg_waldump.c:781 #, c-format msgid " -w, --fullpage only show records with a full page write\n" msgstr " -w, --fullpage visa bara poster som skrivit hela sidor\n" -#: pg_waldump.c:778 +#: pg_waldump.c:782 #, c-format msgid " -x, --xid=XID only show records with transaction ID XID\n" msgstr " -x, --xid=XID visa baras poster med transaktions-ID XID\n" -#: pg_waldump.c:779 +#: pg_waldump.c:783 #, c-format msgid "" " -z, --stats[=record] show statistics instead of records\n" @@ -251,17 +305,17 @@ msgstr "" " -z, --stats[=post] visa statistik istället för poster\n" " (alternativt, visa statistik per post)\n" -#: pg_waldump.c:781 +#: pg_waldump.c:785 #, c-format msgid " --save-fullpage=DIR save full page images to DIR\n" msgstr " --save-fullpage=KAT spara kopia av hela sidor till KAT\n" -#: pg_waldump.c:782 +#: pg_waldump.c:786 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help visa den här hjälpen, avsluta sedan\n" -#: pg_waldump.c:783 +#: pg_waldump.c:787 #, c-format msgid "" "\n" @@ -270,312 +324,285 @@ msgstr "" "\n" "Rapportera fel till <%s>.\n" -#: pg_waldump.c:784 +#: pg_waldump.c:788 #, c-format msgid "%s home page: <%s>\n" msgstr "hemsida för %s: <%s>\n" -#: pg_waldump.c:880 +#: pg_waldump.c:884 #, c-format msgid "no arguments specified" msgstr "inga argument angivna" -#: pg_waldump.c:896 +#: pg_waldump.c:900 #, c-format msgid "invalid block number: \"%s\"" msgstr "ogiltigt portnummer \"%s\"" -#: pg_waldump.c:905 pg_waldump.c:1003 +#: pg_waldump.c:909 pg_waldump.c:1007 #, c-format msgid "invalid WAL location: \"%s\"" msgstr "ogiltig WAL-position: \"%s\"" -#: pg_waldump.c:918 +#: pg_waldump.c:922 #, c-format msgid "invalid fork name: \"%s\"" msgstr "ogiltigt fork-namn: \"%s\"" -#: pg_waldump.c:926 pg_waldump.c:1029 +#: pg_waldump.c:930 pg_waldump.c:1033 #, c-format msgid "invalid value \"%s\" for option %s" msgstr "ogiltigt värde \"%s\" för flaggan \"%s\"" -#: pg_waldump.c:957 +#: pg_waldump.c:961 #, c-format msgid "custom resource manager \"%s\" does not exist" msgstr "egendefinierad resurshanterare \"%s\" finns inte" -#: pg_waldump.c:978 +#: pg_waldump.c:982 #, c-format msgid "resource manager \"%s\" does not exist" msgstr "resurshanterare \"%s\" finns inte" -#: pg_waldump.c:993 +#: pg_waldump.c:997 #, c-format msgid "invalid relation specification: \"%s\"" msgstr "ogiltig inställning av relation: \"%s\"" -#: pg_waldump.c:994 +#: pg_waldump.c:998 #, c-format msgid "Expecting \"tablespace OID/database OID/relation filenode\"." msgstr "Skall vara en av \"OID för tabellutrymme/OID för databas/relations filnod\"." -#: pg_waldump.c:1036 +#: pg_waldump.c:1040 #, c-format msgid "%s must be in range %u..%u" msgstr "%s måste vara i intervallet %u..%u" -#: pg_waldump.c:1051 +#: pg_waldump.c:1055 #, c-format msgid "invalid transaction ID specification: \"%s\"" msgstr "ogiltig inställning av transaktions-ID: %s" -#: pg_waldump.c:1066 +#: pg_waldump.c:1070 #, c-format msgid "unrecognized value for option %s: %s" msgstr "okänt värde för flaggan %s: %s" -#: pg_waldump.c:1083 +#: pg_waldump.c:1087 #, c-format msgid "option %s requires option %s to be specified" msgstr "flaggan %s kräver att flaggan %s också anges" -#: pg_waldump.c:1090 +#: pg_waldump.c:1094 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "för många kommandoradsargument (första är \"%s\")" -#: pg_waldump.c:1100 pg_waldump.c:1123 -#, c-format -msgid "could not open directory \"%s\": %m" -msgstr "kunde inte öppna katalog \"%s\": %m" - -#: pg_waldump.c:1129 pg_waldump.c:1159 +#: pg_waldump.c:1133 pg_waldump.c:1163 #, c-format msgid "could not open file \"%s\"" msgstr "kunde inte öppna filen \"%s\"" -#: pg_waldump.c:1139 +#: pg_waldump.c:1143 #, c-format msgid "start WAL location %X/%X is not inside file \"%s\"" msgstr "start-WAL-position %X/%X är inte i filen \"%s\"" -#: pg_waldump.c:1166 +#: pg_waldump.c:1170 #, c-format msgid "ENDSEG %s is before STARTSEG %s" msgstr "SLUTSEG %s är före STARTSEG %s" -#: pg_waldump.c:1181 +#: pg_waldump.c:1185 #, c-format msgid "end WAL location %X/%X is not inside file \"%s\"" msgstr "slut-WAL-position %X/%X är inte i filen \"%s\"" -#: pg_waldump.c:1193 +#: pg_waldump.c:1197 #, c-format msgid "no start WAL location given" msgstr "ingen start-WAL-position angiven" -#: pg_waldump.c:1207 +#: pg_waldump.c:1211 #, c-format msgid "out of memory while allocating a WAL reading processor" msgstr "slut på minne vid allokering av en WAL-läs-processor" -#: pg_waldump.c:1213 +#: pg_waldump.c:1217 #, c-format msgid "could not find a valid record after %X/%X" msgstr "kunde inte hitta en giltig post efter %X/%X" -#: pg_waldump.c:1223 +#: pg_waldump.c:1227 #, c-format -msgid "first record is after %X/%X, at %X/%X, skipping over %u byte\n" -msgid_plural "first record is after %X/%X, at %X/%X, skipping over %u bytes\n" -msgstr[0] "första posten efter %X/%X, vid %X/%X, hoppar över %u byte\n" -msgstr[1] "första posten efter %X/%X, vid %X/%X, hoppar över %u byte\n" +msgid "first record is after %X/%X, at %X/%X, skipping over %u byte" +msgid_plural "first record is after %X/%X, at %X/%X, skipping over %u bytes" +msgstr[0] "första posten är efter %X/%X, vid %X/%X, hoppar över %u byte" +msgstr[1] "första posten är efter %X/%X, vid %X/%X, hoppar över %u byte" -#: pg_waldump.c:1308 +#: pg_waldump.c:1312 #, c-format msgid "error in WAL record at %X/%X: %s" msgstr "fel i WAL-post vid %X/%X: %s" -#: pg_waldump.c:1317 +#: pg_waldump.c:1321 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Försök med \"%s --help\" för mer information." -#: xlogreader.c:626 +#: xlogreader.c:619 #, c-format msgid "invalid record offset at %X/%X: expected at least %u, got %u" msgstr "ogiltig postoffset vid %X/%X: förväntade minst %u, fick %u" -#: xlogreader.c:635 +#: xlogreader.c:628 #, c-format msgid "contrecord is requested by %X/%X" msgstr "contrecord är begärd vid %X/%X" -#: xlogreader.c:676 xlogreader.c:1119 +#: xlogreader.c:669 xlogreader.c:1134 #, 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:705 -#, c-format -msgid "out of memory while trying to decode a record of length %u" -msgstr "slut på minne vid avkodning av post med längden %u" - -#: xlogreader.c:727 -#, c-format -msgid "record length %u at %X/%X too long" -msgstr "postlängd %u vid %X/%X är för lång" - -#: xlogreader.c:776 +#: xlogreader.c:758 #, c-format msgid "there is no contrecord flag at %X/%X" msgstr "det finns ingen contrecord-flagga vid %X/%X" -#: xlogreader.c:789 +#: xlogreader.c:771 #, 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:1127 +#: xlogreader.c:1142 #, c-format msgid "invalid resource manager ID %u at %X/%X" msgstr "ogiltigt resurshanterar-ID %u vid %X/%X" -#: xlogreader.c:1140 xlogreader.c:1156 +#: xlogreader.c:1155 xlogreader.c:1171 #, 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:1192 +#: xlogreader.c:1209 #, c-format msgid "incorrect resource manager data checksum in record at %X/%X" msgstr "felaktig resurshanterardatakontrollsumma i post vid %X/%X" -#: xlogreader.c:1226 +#: xlogreader.c:1243 #, 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:1241 xlogreader.c:1283 +#: xlogreader.c:1258 xlogreader.c:1300 #, 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:1257 +#: xlogreader.c:1274 #, 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:1265 +#: xlogreader.c:1282 #, 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:1271 +#: xlogreader.c:1288 #, 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:1303 +#: xlogreader.c:1320 #, 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" # FIXME -#: xlogreader.c:1329 +#: xlogreader.c:1346 #, c-format msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, offset %u" msgstr "\"ej i sekvens\"-fel på tidslinje-ID %u (efter %u) i WAL-segment %s, LSN %X/%X, offset %u" -#: xlogreader.c:1735 +#: xlogreader.c:1749 #, c-format msgid "out-of-order block_id %u at %X/%X" msgstr "\"ej i sekvens\"-block_id %u vid %X/%X" -#: xlogreader.c:1759 +#: xlogreader.c:1773 #, 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:1766 +#: xlogreader.c:1780 #, 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:1802 +#: xlogreader.c:1816 #, 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:1818 +#: xlogreader.c:1832 #, 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:1832 +#: xlogreader.c:1846 #, 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:1847 +#: xlogreader.c:1861 #, 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:1863 +#: xlogreader.c:1877 #, 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:1875 +#: xlogreader.c:1889 #, c-format msgid "invalid block_id %u at %X/%X" msgstr "ogiltig block_id %u vid %X/%X" -#: xlogreader.c:1942 +#: xlogreader.c:1956 #, c-format msgid "record with invalid length at %X/%X" msgstr "post med ogiltig längd vid %X/%X" -#: xlogreader.c:1968 +#: xlogreader.c:1982 #, 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:2052 +#: xlogreader.c:2066 #, 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:2059 +#: xlogreader.c:2073 #, 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:2086 xlogreader.c:2103 +#: xlogreader.c:2100 xlogreader.c:2117 #, 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:2112 +#: xlogreader.c:2126 #, 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:2120 +#: xlogreader.c:2134 #, c-format msgid "could not decompress image at %X/%X, block %d" msgstr "kunde inte packa upp avbild vid %X/%X, block %d" - -#, c-format -#~ msgid "invalid record offset at %X/%X" -#~ msgstr "ogiltig postoffset vid %X/%X" - -#, c-format -#~ msgid "invalid timeline specification: \"%s\"" -#~ msgstr "ogiltig inställning av tidslinje: %s" - -#, c-format -#~ msgid "missing contrecord at %X/%X" -#~ msgstr "det saknas en contrecord vid %X/%X" diff --git a/src/bin/pg_waldump/po/uk.po b/src/bin/pg_waldump/po/uk.po index 00373f44fd4..09da6eebce3 100644 --- a/src/bin/pg_waldump/po/uk.po +++ b/src/bin/pg_waldump/po/uk.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: postgresql\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-02-09 18:17+0000\n" -"PO-Revision-Date: 2024-02-11 16:35\n" +"POT-Creation-Date: 2024-08-31 06:19+0000\n" +"PO-Revision-Date: 2024-09-23 19:38\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -14,8 +14,8 @@ msgstr "" "X-Crowdin-Project: postgresql\n" "X-Crowdin-Project-ID: 324573\n" "X-Crowdin-Language: uk\n" -"X-Crowdin-File: /REL_16_STABLE/pg_waldump.pot\n" -"X-Crowdin-File-ID: 979\n" +"X-Crowdin-File: /REL_17_STABLE/pg_waldump.pot\n" +"X-Crowdin-File-ID: 984\n" #: ../../../src/common/logging.c:276 #, c-format @@ -37,6 +37,60 @@ msgstr "деталі: " msgid "hint: " msgstr "підказка: " +#: ../../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 "неможливо дублювати нульовий покажчик (внутрішня помилка)\n" + +#: ../../common/file_utils.c:70 ../../common/file_utils.c:347 +#: ../../common/file_utils.c:406 ../../common/file_utils.c:480 pg_waldump.c:199 +#: pg_waldump.c:532 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "не можливо відкрити файл \"%s\": %m" + +#: ../../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\": %m" + +#: ../../common/file_utils.c:130 ../../common/file_utils.c:227 +#, c-format +msgid "this build does not support sync method \"%s\"" +msgstr "ця збірка не підтримує метод синхронізації \"%s\"" + +#: ../../common/file_utils.c:151 ../../common/file_utils.c:281 +#: pg_waldump.c:1104 pg_waldump.c:1127 +#, c-format +msgid "could not open directory \"%s\": %m" +msgstr "не вдалося відкрити каталог \"%s\": %m" + +#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "не вдалося прочитати каталог \"%s\": %m" + +#: ../../common/file_utils.c:418 ../../common/file_utils.c:488 +#, c-format +msgid "could not fsync file \"%s\": %m" +msgstr "не вдалося fsync файл \"%s\": %m" + +#: ../../common/file_utils.c:498 +#, c-format +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "не вдалося перейменувати файл \"%s\" на \"%s\": %m" + #: pg_waldump.c:137 #, c-format msgid "could not create directory \"%s\": %m" @@ -52,130 +106,130 @@ msgstr "каталог \"%s\" існує, але він не порожній" msgid "could not access directory \"%s\": %m" msgstr "немає доступу до каталогу \"%s\": %m" -#: pg_waldump.c:199 pg_waldump.c:528 +#: pg_waldump.c:256 #, c-format -msgid "could not open file \"%s\": %m" -msgstr "не можливо відкрити файл \"%s\": %m" +msgid "invalid WAL segment size in WAL file \"%s\" (%d byte)" +msgid_plural "invalid WAL segment size in WAL file \"%s\" (%d bytes)" +msgstr[0] "невірний розмір сегмента WAL у файлі WAL \"%s\" (%d байт)" +msgstr[1] "невірний розмір сегмента WAL у файлі WAL \"%s\" (%d байт)" +msgstr[2] "невірний розмір сегмента WAL у файлі WAL \"%s\" (%d байт)" +msgstr[3] "невірний розмір сегмента WAL у файлі WAL \"%s\" (%d байт)" -#: pg_waldump.c:255 +#: pg_waldump.c:260 #, c-format -msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL file \"%s\" header specifies %d byte" -msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL file \"%s\" header specifies %d bytes" -msgstr[0] "Розмір сегмента WAL повинен задаватись ступенем двійки в інтервалі між 1 MB і 1 GB, але у заголовку файлу WAL \"%s\" вказано %d байт" -msgstr[1] "Розмір сегмента WAL повинен задаватись ступенем двійки в інтервалі між 1 MB і 1 GB, але у заголовку файлу WAL \"%s\" вказано %d байти" -msgstr[2] "Розмір сегмента WAL повинен задаватись ступенем двійки в інтервалі між 1 MB і 1 GB, але у заголовку файлу WAL \"%s\" вказано %d байтів" -msgstr[3] "Розмір сегмента WAL повинен задаватись ступенем двійки в інтервалі між 1 MB і 1 GB, але у заголовку файлу WAL \"%s\" вказано %d байтів" +msgid "The WAL segment size must be a power of two between 1 MB and 1 GB." +msgstr "Розмір сегмента WAL повинен бути степенем двійки від 1 МБ до 1 ГБ." -#: pg_waldump.c:261 +#: pg_waldump.c:265 #, c-format msgid "could not read file \"%s\": %m" msgstr "не вдалося прочитати файл \"%s\": %m" -#: pg_waldump.c:264 +#: pg_waldump.c:268 #, c-format msgid "could not read file \"%s\": read %d of %d" msgstr "не вдалося прочитати файл \"%s\": прочитано %d з %d" -#: pg_waldump.c:325 +#: pg_waldump.c:329 #, c-format msgid "could not locate WAL file \"%s\"" msgstr "не вдалося знайти WAL файл \"%s\"" -#: pg_waldump.c:327 +#: pg_waldump.c:331 #, c-format msgid "could not find any WAL file" msgstr "не вдалося знайти жодного WAL файлу" -#: pg_waldump.c:368 +#: pg_waldump.c:372 #, c-format msgid "could not find file \"%s\": %m" msgstr "не вдалося знайти файл \"%s\": %m" -#: pg_waldump.c:417 +#: pg_waldump.c:421 #, c-format -msgid "could not read from file %s, offset %d: %m" -msgstr "не вдалося прочитати файл %s, зсув %d: %m" +msgid "could not read from file \"%s\", offset %d: %m" +msgstr "не вдалося прочитати з файлу \"%s\", зсув %d: %m" -#: pg_waldump.c:421 +#: pg_waldump.c:425 #, c-format -msgid "could not read from file %s, offset %d: read %d of %d" -msgstr "не вдалося прочитати з файлу %s, зсув %d: прочитано %d з %d" +msgid "could not read from file \"%s\", offset %d: read %d of %d" +msgstr "не вдалося прочитати з файлу \"%s\", зсув %d: прочитано %d з %d" -#: pg_waldump.c:511 +#: pg_waldump.c:515 #, c-format msgid "%s" msgstr "%s" -#: pg_waldump.c:519 +#: pg_waldump.c:523 #, c-format msgid "invalid fork number: %u" msgstr "неприпустимий номер форку: %u" -#: pg_waldump.c:531 +#: pg_waldump.c:535 #, c-format msgid "could not write file \"%s\": %m" msgstr "не вдалося записати файл \"%s\": %m" -#: pg_waldump.c:534 +#: pg_waldump.c:538 #, c-format msgid "could not close file \"%s\": %m" msgstr "неможливо закрити файл \"%s\": %m" -#: pg_waldump.c:754 +#: pg_waldump.c:758 #, c-format msgid "%s decodes and displays PostgreSQL write-ahead logs for debugging.\n\n" msgstr "%s декодує і відображає журнали попереднього запису PostgreSQL для налагодження.\n\n" -#: pg_waldump.c:756 +#: pg_waldump.c:760 #, c-format msgid "Usage:\n" msgstr "Використання:\n" -#: pg_waldump.c:757 +#: pg_waldump.c:761 #, c-format msgid " %s [OPTION]... [STARTSEG [ENDSEG]]\n" msgstr " %s [OPTION]...[STARTSEG [ENDSEG]]\n" -#: pg_waldump.c:758 +#: pg_waldump.c:762 #, c-format msgid "\n" "Options:\n" msgstr "\n" "Параметри:\n" -#: pg_waldump.c:759 +#: pg_waldump.c:763 #, c-format msgid " -b, --bkp-details output detailed information about backup blocks\n" msgstr " -b, --bkp-details виводити детальну інформацію про блоки резервних копій\n" -#: pg_waldump.c:760 +#: pg_waldump.c:764 #, c-format msgid " -B, --block=N with --relation, only show records that modify block N\n" msgstr " -B, --block=N з --relation, лише показати записи, які змінюють блок N\n" -#: pg_waldump.c:761 +#: pg_waldump.c:765 #, c-format msgid " -e, --end=RECPTR stop reading at WAL location RECPTR\n" msgstr " -e, --end=RECPTR зупинити читання WAL з місця RECPTR\n" -#: pg_waldump.c:762 +#: pg_waldump.c:766 #, c-format msgid " -f, --follow keep retrying after reaching end of WAL\n" msgstr " -f, --follow повторювати спроби після досягнення кінця WAL\n" -#: pg_waldump.c:763 +#: pg_waldump.c:767 #, c-format msgid " -F, --fork=FORK only show records that modify blocks in fork FORK;\n" " valid names are main, fsm, vm, init\n" msgstr " -F, --fork=FORK показати лише записи, які змінюють блоки в форці FORK;\n" " дійсні імена: main, fsm, vm, init\n" -#: pg_waldump.c:765 +#: pg_waldump.c:769 #, c-format msgid " -n, --limit=N number of records to display\n" msgstr " -n, --limit=N число записів для відображення\n" -#: pg_waldump.c:766 +#: pg_waldump.c:770 #, c-format msgid " -p, --path=PATH directory in which to find WAL segment files or a\n" " directory with a ./pg_wal that contains such files\n" @@ -184,358 +238,353 @@ msgstr " -p, --path=PATH каталог, у якому шукати фа " або каталог з ./pg_wal, що містить такі файли\n" " (за замовчуванням: чинний каталог, ./pg_wal, $PGDATA/pg_wal)\n" -#: pg_waldump.c:769 +#: pg_waldump.c:773 #, c-format msgid " -q, --quiet do not print any output, except for errors\n" msgstr " -q, --quiet не друкувати жодного виводу, окрім помилок\n" -#: pg_waldump.c:770 +#: pg_waldump.c:774 #, c-format msgid " -r, --rmgr=RMGR only show records generated by resource manager RMGR;\n" " use --rmgr=list to list valid resource manager names\n" msgstr " -r, --rmgr=RMGR відображати записи, згенеровані лише ресурсним менеджером RMGR;\n" " використовувати --rmgr=list для перегляду списку припустимих імен ресурсного менеджера\n" -#: pg_waldump.c:772 +#: pg_waldump.c:776 #, c-format msgid " -R, --relation=T/D/R only show records that modify blocks in relation T/D/R\n" msgstr " -R, --relation=T/D/R відобразити тільки записи, які змінюють блоки у відношенні T/D/R\n" -#: pg_waldump.c:773 +#: pg_waldump.c:777 #, c-format msgid " -s, --start=RECPTR start reading at WAL location RECPTR\n" msgstr " -s, --start=RECPTR почати читання WAL з місця RECPTR\n" -#: pg_waldump.c:774 +#: pg_waldump.c:778 #, c-format msgid " -t, --timeline=TLI timeline from which to read WAL records\n" " (default: 1 or the value used in STARTSEG)\n" msgstr " -t, --timeline=TLI часова шкала, WAL-записи якої будуть прочитані\n" " (за замовчуванням: 1 або значення, що використовується у STARTSEG)\n" -#: pg_waldump.c:776 +#: pg_waldump.c:780 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version вивести інформацію про версію і вийти\n" -#: pg_waldump.c:777 +#: pg_waldump.c:781 #, c-format msgid " -w, --fullpage only show records with a full page write\n" msgstr " -w, --fullpage показувати записи лише з повним записом на сторінці\n" -#: pg_waldump.c:778 +#: pg_waldump.c:782 #, c-format msgid " -x, --xid=XID only show records with transaction ID XID\n" msgstr " -x, --xid=XID показати записи лише з ідентифікатором транзакцій XID\n" -#: pg_waldump.c:779 +#: pg_waldump.c:783 #, c-format msgid " -z, --stats[=record] show statistics instead of records\n" " (optionally, show per-record statistics)\n" msgstr " -z, --stats[=record] показати статистику замість записів (необов'язково, відобразити щорядкову статистику)\n" -#: pg_waldump.c:781 +#: pg_waldump.c:785 #, c-format msgid " --save-fullpage=DIR save full page images to DIR\n" msgstr " --save-fullpage=DIR зберігати повні зображення сторінок в DIR\n" -#: pg_waldump.c:782 +#: pg_waldump.c:786 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help показати цю довідку потім вийти\n" -#: pg_waldump.c:783 +#: pg_waldump.c:787 #, c-format msgid "\n" "Report bugs to <%s>.\n" msgstr "\n" "Повідомляти про помилки на <%s>.\n" -#: pg_waldump.c:784 +#: pg_waldump.c:788 #, c-format msgid "%s home page: <%s>\n" msgstr "Домашня сторінка %s: <%s>\n" -#: pg_waldump.c:880 +#: pg_waldump.c:884 #, c-format msgid "no arguments specified" msgstr "не вказано аргументів" -#: pg_waldump.c:896 +#: pg_waldump.c:900 #, c-format msgid "invalid block number: \"%s\"" msgstr "неприпустимий номер блоку: \"%s\"" -#: pg_waldump.c:905 pg_waldump.c:1003 +#: pg_waldump.c:909 pg_waldump.c:1007 #, c-format msgid "invalid WAL location: \"%s\"" msgstr "неприпустиме розташування WAL: \"%s\"" -#: pg_waldump.c:918 +#: pg_waldump.c:922 #, c-format msgid "invalid fork name: \"%s\"" msgstr "неприпустиме ім'я форку: \"%s\"" -#: pg_waldump.c:926 pg_waldump.c:1029 +#: pg_waldump.c:930 pg_waldump.c:1033 #, c-format msgid "invalid value \"%s\" for option %s" msgstr "неприпустиме значення \"%s\" для параметра %s" -#: pg_waldump.c:957 +#: pg_waldump.c:961 #, c-format msgid "custom resource manager \"%s\" does not exist" msgstr "користувацький менеджер ресурсів \"%s\" не існує" -#: pg_waldump.c:978 +#: pg_waldump.c:982 #, c-format msgid "resource manager \"%s\" does not exist" msgstr "менеджер ресурсів \"%s\" не існує" -#: pg_waldump.c:993 +#: pg_waldump.c:997 #, c-format msgid "invalid relation specification: \"%s\"" msgstr "неприпустима специфікація відношення: \"%s\"" -#: pg_waldump.c:994 +#: pg_waldump.c:998 #, c-format msgid "Expecting \"tablespace OID/database OID/relation filenode\"." msgstr "Очікуємо \"tablespace OID/database OID/relation filenode\"." -#: pg_waldump.c:1036 +#: pg_waldump.c:1040 #, c-format msgid "%s must be in range %u..%u" msgstr "%s має бути в діапазоні %u..%u" -#: pg_waldump.c:1051 +#: pg_waldump.c:1055 #, c-format msgid "invalid transaction ID specification: \"%s\"" msgstr "неприпустима специфікація ідентифікатора транзакції: \"%s\"" -#: pg_waldump.c:1066 +#: pg_waldump.c:1070 #, c-format msgid "unrecognized value for option %s: %s" msgstr "нерозпізнане значення параметра %s: %s" -#: pg_waldump.c:1083 +#: pg_waldump.c:1087 #, c-format msgid "option %s requires option %s to be specified" msgstr "параметр %s вимагає використання параметру %s" -#: pg_waldump.c:1090 +#: pg_waldump.c:1094 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "забагато аргументів у командному рядку (перший \"%s\")" -#: pg_waldump.c:1100 pg_waldump.c:1123 -#, c-format -msgid "could not open directory \"%s\": %m" -msgstr "не вдалося відкрити каталог \"%s\": %m" - -#: pg_waldump.c:1129 pg_waldump.c:1159 +#: pg_waldump.c:1133 pg_waldump.c:1163 #, c-format msgid "could not open file \"%s\"" msgstr "не вдалося відкрити файл \"%s\"" -#: pg_waldump.c:1139 +#: pg_waldump.c:1143 #, c-format msgid "start WAL location %X/%X is not inside file \"%s\"" msgstr "початкове розташування WAL %X/%X не всередині файлу \"%s\"" -#: pg_waldump.c:1166 +#: pg_waldump.c:1170 #, c-format msgid "ENDSEG %s is before STARTSEG %s" msgstr "ENDSEG %s перед STARTSEG %s" -#: pg_waldump.c:1181 +#: pg_waldump.c:1185 #, c-format msgid "end WAL location %X/%X is not inside file \"%s\"" msgstr "кінцеве розташування WAL %X/%X не всередині файлу \"%s\"" -#: pg_waldump.c:1193 +#: pg_waldump.c:1197 #, c-format msgid "no start WAL location given" msgstr "не задано початкове розташування WAL" -#: pg_waldump.c:1207 +#: pg_waldump.c:1211 #, c-format msgid "out of memory while allocating a WAL reading processor" msgstr "недостатньо пам'яті під час виділення обробника читання WAL" -#: pg_waldump.c:1213 +#: pg_waldump.c:1217 #, c-format msgid "could not find a valid record after %X/%X" msgstr "не вдалося знайти припустимий запис після %X/%X" -#: pg_waldump.c:1223 +#: pg_waldump.c:1227 #, c-format -msgid "first record is after %X/%X, at %X/%X, skipping over %u byte\n" -msgid_plural "first record is after %X/%X, at %X/%X, skipping over %u bytes\n" -msgstr[0] "перший запис після %X/%X, у %X/%X, пропускається %u байт\n" -msgstr[1] "перший запис після %X/%X, у %X/%X, пропускається %u байти\n" -msgstr[2] "перший запис після %X/%X, у %X/%X, пропускається %u байтів\n" -msgstr[3] "перший запис після %X/%X, у %X/%X, пропускається %u байти\n" +msgid "first record is after %X/%X, at %X/%X, skipping over %u byte" +msgid_plural "first record is after %X/%X, at %X/%X, skipping over %u bytes" +msgstr[0] "перший запис після %X/%X, за адресою %X/%X, пропускаючи байт %u" +msgstr[1] "перший запис після %X/%X, за адресою %X/%X, пропускаючи %u байти" +msgstr[2] "перший запис після %X/%X, за адресою %X/%X, пропускаючи %u байти" +msgstr[3] "перший запис після %X/%X, за адресою %X/%X, пропускаючи %u байти" -#: pg_waldump.c:1308 +#: pg_waldump.c:1312 #, c-format msgid "error in WAL record at %X/%X: %s" msgstr "помилка у записі WAL у %X/%X: %s" -#: pg_waldump.c:1317 +#: pg_waldump.c:1321 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Спробуйте \"%s --help\" для додаткової інформації." -#: xlogreader.c:621 +#: xlogreader.c:619 #, c-format msgid "invalid record offset at %X/%X: expected at least %u, got %u" msgstr "неприпустиме зміщення запису в %X/%X: очікувалось хоча б %u, отримано %u" -#: xlogreader.c:630 +#: xlogreader.c:628 #, c-format msgid "contrecord is requested by %X/%X" msgstr "по зсуву %X/%X запитано продовження запису" -#: xlogreader.c:671 xlogreader.c:1136 +#: xlogreader.c:669 xlogreader.c:1134 #, c-format msgid "invalid record length at %X/%X: expected at least %u, got %u" msgstr "неприпустима довжина запису %X/%X: очікувалась мінімум %u, отримано %u" -#: xlogreader.c:760 +#: xlogreader.c:758 #, c-format msgid "there is no contrecord flag at %X/%X" msgstr "немає прапорця contrecord в позиції %X/%X" -#: xlogreader.c:773 +#: xlogreader.c:771 #, c-format msgid "invalid contrecord length %u (expected %lld) at %X/%X" msgstr "неприпустима довжина contrecord %u (очікувалось %lld) на %X/%X" -#: xlogreader.c:1144 +#: xlogreader.c:1142 #, c-format msgid "invalid resource manager ID %u at %X/%X" msgstr "невірний ID менеджера ресурсів %u в %X/%X" -#: xlogreader.c:1157 xlogreader.c:1173 +#: xlogreader.c:1155 xlogreader.c:1171 #, c-format msgid "record with incorrect prev-link %X/%X at %X/%X" msgstr "запис з неправильним попереднім посиланням %X/%X на %X/%X" -#: xlogreader.c:1211 +#: xlogreader.c:1209 #, c-format msgid "incorrect resource manager data checksum in record at %X/%X" msgstr "некоректна контрольна сума даних менеджера ресурсів у запису по зсуву %X/%X" -#: xlogreader.c:1245 +#: xlogreader.c:1243 #, c-format msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u" msgstr "невірне магічне число %04X в сегменті WAL %s, LSN %X/%X, зсув %u" -#: xlogreader.c:1260 xlogreader.c:1302 +#: xlogreader.c:1258 xlogreader.c:1300 #, c-format msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u" msgstr "невірні інформаційні біти %04X в сегменті WAL %s, LSN %X/%X, зсув %u" -#: xlogreader.c:1276 +#: xlogreader.c:1274 #, 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" -#: xlogreader.c:1284 +#: xlogreader.c:1282 #, c-format msgid "WAL file is from different database system: incorrect segment size in page header" msgstr "Файл WAL належить іншій системі баз даних: некоректний розмір сегменту в заголовку сторінки" -#: xlogreader.c:1290 +#: xlogreader.c:1288 #, c-format msgid "WAL file is from different database system: incorrect XLOG_BLCKSZ in page header" msgstr "Файл WAL належить іншій системі баз даних: некоректний XLOG_BLCKSZ в заголовку сторінки" -#: xlogreader.c:1322 +#: xlogreader.c:1320 #, 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" -#: xlogreader.c:1348 +#: xlogreader.c:1346 #, 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" -#: xlogreader.c:1754 +#: xlogreader.c:1749 #, c-format msgid "out-of-order block_id %u at %X/%X" msgstr "ідентифікатор блока %u out-of-order в позиції %X/%X" -#: xlogreader.c:1778 +#: xlogreader.c:1773 #, c-format msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X" msgstr "BKPBLOCK_HAS_DATA встановлений, але немає даних в позиції %X/%X" -#: xlogreader.c:1785 +#: xlogreader.c:1780 #, c-format msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X" msgstr "BKPBLOCK_HAS_DATA встановлений, але довжина даних дорівнює %u в позиції %X/%X" -#: xlogreader.c:1821 +#: xlogreader.c:1816 #, 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" -#: xlogreader.c:1837 +#: xlogreader.c:1832 #, c-format msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X" msgstr "BKPIMAGE_HAS_HOLE не встановлений, але для пропуску задані: зсув %u, довжина %u в позиції %X/%X" -#: xlogreader.c:1851 +#: xlogreader.c:1846 #, c-format msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X" msgstr "BKPIMAGE_COMPRESSED встановлений, але довжина образу блока дорівнює %u в позиції %X/%X" -#: xlogreader.c:1866 +#: xlogreader.c:1861 #, 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" -#: xlogreader.c:1882 +#: xlogreader.c:1877 #, c-format msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X" msgstr "BKPBLOCK_SAME_REL встановлений, але попереднє значення не задано в позиції %X/%X" -#: xlogreader.c:1894 +#: xlogreader.c:1889 #, c-format msgid "invalid block_id %u at %X/%X" msgstr "невірний ідентифікатор блоку %u в позиції %X/%X" -#: xlogreader.c:1961 +#: xlogreader.c:1956 #, c-format msgid "record with invalid length at %X/%X" msgstr "запис з невірною довжиною на %X/%X" -#: xlogreader.c:1987 +#: xlogreader.c:1982 #, c-format msgid "could not locate backup block with ID %d in WAL record" msgstr "не вдалося знайти блок резервної копії з ID %d у записі WAL" -#: xlogreader.c:2071 +#: xlogreader.c:2066 #, c-format msgid "could not restore image at %X/%X with invalid block %d specified" msgstr "не вдалося відновити зображення %X/%X з недійсним вказаним блоком %d" -#: xlogreader.c:2078 +#: xlogreader.c:2073 #, c-format msgid "could not restore image at %X/%X with invalid state, block %d" msgstr "не вдалося відновити зображення %X/%X з недійсним станом, блок %d" -#: xlogreader.c:2105 xlogreader.c:2122 +#: xlogreader.c:2100 xlogreader.c:2117 #, c-format msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d" msgstr "не вдалося відновити зображення в %X/%X, стиснуте %s, не підтримується збіркою, блок %d" -#: xlogreader.c:2131 +#: xlogreader.c:2126 #, c-format msgid "could not restore image at %X/%X compressed with unknown method, block %d" msgstr "не вдалося відновити зображення %X/%X стиснуте з невідомим методом, блок %d" -#: xlogreader.c:2139 +#: xlogreader.c:2134 #, c-format msgid "could not decompress image at %X/%X, block %d" msgstr "не вдалося розпакувати зображення на %X/%X, блок %d" diff --git a/src/bin/pg_walsummary/pg_walsummary.c b/src/bin/pg_walsummary/pg_walsummary.c index 93f6e6d408a..f6a262d3184 100644 --- a/src/bin/pg_walsummary/pg_walsummary.c +++ b/src/bin/pg_walsummary/pg_walsummary.c @@ -71,7 +71,7 @@ main(int argc, char *argv[]) handle_help_version_opts(argc, argv, progname, help); /* process command-line options */ - while ((c = getopt_long(argc, argv, "f:iqw:", + while ((c = getopt_long(argc, argv, "iq", long_options, &optindex)) != -1) { switch (c) diff --git a/src/bin/pg_walsummary/po/LINGUAS b/src/bin/pg_walsummary/po/LINGUAS index c675cfe1c72..65039cd250d 100644 --- a/src/bin/pg_walsummary/po/LINGUAS +++ b/src/bin/pg_walsummary/po/LINGUAS @@ -1 +1 @@ -de ja ka +de es fr ja ka ru sv uk diff --git a/src/bin/pg_walsummary/po/es.po b/src/bin/pg_walsummary/po/es.po new file mode 100644 index 00000000000..05683cfe06d --- /dev/null +++ b/src/bin/pg_walsummary/po/es.po @@ -0,0 +1,187 @@ +# Spanish translation file for pg_walsummary +# +# Copyright (c) 2024, PostgreSQL Global Development Group +# This file is distributed under the same license as the PostgreSQL package. +# +# Alvaro Herrera , 2024 +# +msgid "" +msgstr "" +"Project-Id-Version: pg_walsummary (PostgreSQL) 17\n" +"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" +"POT-Creation-Date: 2024-08-01 11:24+0000\n" +"PO-Revision-Date: 2024-08-01 12:41-0400\n" +"Last-Translator: Álvaor Herrera \n" +"Language-Team: PgSQL-es-Ayuda \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Vim\n" + +#: ../../../src/common/logging.c:276 +#, c-format +msgid "error: " +msgstr "error: " + +#: ../../../src/common/logging.c:283 +#, c-format +msgid "warning: " +msgstr "precaución: " + +#: ../../../src/common/logging.c:294 +#, c-format +msgid "detail: " +msgstr "detalle: " + +#: ../../../src/common/logging.c:301 +#, c-format +msgid "hint: " +msgstr "consejo: " + +#: ../../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 "memoria agotada\n" + +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 +#, c-format +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "no se puede duplicar un puntero nulo (error interno)\n" + +#: ../../common/file_utils.c:70 ../../common/file_utils.c:347 +#: ../../common/file_utils.c:406 ../../common/file_utils.c:480 +#: pg_walsummary.c:109 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "no se pudo abrir el archivo «%s»: %m" + +#: ../../common/file_utils.c:76 +#, 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" + +#: ../../common/file_utils.c:120 ../../common/file_utils.c:566 +#, c-format +msgid "could not stat file \"%s\": %m" +msgstr "no se pudo hacer stat al archivo «%s»: %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 "esta instalación no soporta el método de sync «%s»" + +#: ../../common/file_utils.c:151 ../../common/file_utils.c:281 +#, 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 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "no se pudo leer el directorio «%s»: %m" + +#: ../../common/file_utils.c:418 ../../common/file_utils.c:488 +#, c-format +msgid "could not fsync file \"%s\": %m" +msgstr "no se pudo sincronizar (fsync) archivo «%s»: %m" + +#: ../../common/file_utils.c:498 +#, c-format +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "no se pudo renombrar el archivo de «%s» a «%s»: %m" + +#: ../../fe_utils/option_utils.c:69 +#, c-format +msgid "invalid value \"%s\" for option %s" +msgstr "el valor «%s» no es válido para la opción %s" + +#: ../../fe_utils/option_utils.c:76 +#, c-format +msgid "%s must be in range %d..%d" +msgstr "%s debe estar en el rango %d..%d" + +#: ../../fe_utils/option_utils.c:106 +#, c-format +msgid "unrecognized sync method: %s" +msgstr "método sync no reconocido: %s" + +#: pg_walsummary.c:87 pg_walsummary.c:95 +#, c-format +msgid "Try \"%s --help\" for more information." +msgstr "Pruebe «%s --help» para mayor información." + +#: pg_walsummary.c:94 +#, c-format +msgid "no input files specified" +msgstr "no se especificaron archivos de entrada" + +#: pg_walsummary.c:252 +#, c-format +msgid "could not read file \"%s\": %m" +msgstr "no se pudo leer el archivo «%s»: %m" + +#: pg_walsummary.c:267 +#, c-format +msgid "" +"%s prints the contents of a WAL summary file.\n" +"\n" +msgstr "" +"%s imprime el contenido de un archivo de resumen de WAL.\n" +"\n" + +#: pg_walsummary.c:268 +#, c-format +msgid "Usage:\n" +msgstr "Empleo:\n" + +#: pg_walsummary.c:269 +#, c-format +msgid " %s [OPTION]... FILE...\n" +msgstr " %s [OPCIÓN]... ARCHIVO...\n" + +#: pg_walsummary.c:270 +#, c-format +msgid "" +"\n" +"Options:\n" +msgstr "" +"\n" +"Opciones:\n" + +#: pg_walsummary.c:271 +#, c-format +msgid " -i, --individual list block numbers individually, not as ranges\n" +msgstr " -i, --individual listar números de bloque individualmente, no como rangos\n" + +#: pg_walsummary.c:272 +#, c-format +msgid " -q, --quiet don't print anything, just parse the files\n" +msgstr " -q, --quiet no escribir nada, sólo procesar los archivos\n" + +#: pg_walsummary.c:273 +#, c-format +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version mostrar información de version y salir\n" + +#: pg_walsummary.c:274 +#, c-format +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help mostrar esta ayuda y salir\n" + +#: pg_walsummary.c:276 +#, c-format +msgid "" +"\n" +"Report bugs to <%s>.\n" +msgstr "" +"\n" +"Reporte errores a <%s>.\n" + +#: pg_walsummary.c:277 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "Sitio web de %s: <%s>\n" diff --git a/src/bin/pg_walsummary/po/fr.po b/src/bin/pg_walsummary/po/fr.po new file mode 100644 index 00000000000..cdedfd51bdf --- /dev/null +++ b/src/bin/pg_walsummary/po/fr.po @@ -0,0 +1,185 @@ +# LANGUAGE message translation file for pg_walsummary +# Copyright (C) 2024 PostgreSQL Global Development Group +# This file is distributed under the same license as the pg_walsummary (PostgreSQL) package. +# FIRST AUTHOR , 2024. +# +msgid "" +msgstr "" +"Project-Id-Version: PostgreSQL 17\n" +"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" +"POT-Creation-Date: 2024-08-23 10:22+0000\n" +"PO-Revision-Date: 2024-09-16 16:28+0200\n" +"Last-Translator: Guillaume Lelarge \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.5\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: ../../../src/common/logging.c:276 +#, c-format +msgid "error: " +msgstr "erreur : " + +#: ../../../src/common/logging.c:283 +#, c-format +msgid "warning: " +msgstr "attention : " + +#: ../../../src/common/logging.c:294 +#, c-format +msgid "detail: " +msgstr "détail : " + +#: ../../../src/common/logging.c:301 +#, c-format +msgid "hint: " +msgstr "astuce : " + +#: ../../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 "mémoire épuisée\n" + +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 +#, c-format +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "ne peut pas dupliquer un pointeur nul (erreur interne)\n" + +#: ../../common/file_utils.c:70 ../../common/file_utils.c:347 +#: ../../common/file_utils.c:406 ../../common/file_utils.c:480 +#: pg_walsummary.c:109 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "n'a pas pu ouvrir le fichier « %s » : %m" + +#: ../../common/file_utils.c:76 +#, c-format +msgid "could not synchronize file system for file \"%s\": %m" +msgstr "n'a pas pu synchroniser sur disque (fsync) le système de fichiers pour le fichier « %s » : %m" + +#: ../../common/file_utils.c:120 ../../common/file_utils.c:566 +#, c-format +msgid "could not stat file \"%s\": %m" +msgstr "n'a pas pu tester le fichier « %s » : %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 "cette construction ne supporte pas la méthode de synchronisation « %s »" + +#: ../../common/file_utils.c:151 ../../common/file_utils.c:281 +#, c-format +msgid "could not open directory \"%s\": %m" +msgstr "n'a pas pu ouvrir le répertoire « %s » : %m" + +#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "n'a pas pu lire le répertoire « %s » : %m" + +#: ../../common/file_utils.c:418 ../../common/file_utils.c:488 +#, c-format +msgid "could not fsync file \"%s\": %m" +msgstr "n'a pas pu synchroniser sur disque (fsync) le fichier « %s » : %m" + +#: ../../common/file_utils.c:498 +#, c-format +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "n'a pas pu renommer le fichier « %s » en « %s » : %m" + +#: ../../fe_utils/option_utils.c:69 +#, c-format +msgid "invalid value \"%s\" for option %s" +msgstr "valeur « %s » invalide pour l'option %s" + +#: ../../fe_utils/option_utils.c:76 +#, c-format +msgid "%s must be in range %d..%d" +msgstr "%s doit être compris entre %d et %d" + +#: ../../fe_utils/option_utils.c:106 +#, c-format +msgid "unrecognized sync method: %s" +msgstr "méthode de synchronisation non reconnu : %s" + +#: pg_walsummary.c:87 pg_walsummary.c:95 +#, c-format +msgid "Try \"%s --help\" for more information." +msgstr "Essayez « %s --help » pour plus d'informations." + +#: pg_walsummary.c:94 +#, c-format +msgid "no input files specified" +msgstr "aucun fichier spécifié en entrée" + +#: pg_walsummary.c:252 +#, c-format +msgid "could not read file \"%s\": %m" +msgstr "n'a pas pu lire le fichier « %s » : %m" + +#: pg_walsummary.c:267 +#, c-format +msgid "" +"%s prints the contents of a WAL summary file.\n" +"\n" +msgstr "" +"%s affiche le contenu d'un fichier de résumé de WAL.\n" +"\n" + +#: pg_walsummary.c:268 +#, c-format +msgid "Usage:\n" +msgstr "Usage :\n" + +#: pg_walsummary.c:269 +#, c-format +msgid " %s [OPTION]... FILE...\n" +msgstr " %s [OPTION]... FICHIER...\n" + +#: pg_walsummary.c:270 +#, c-format +msgid "" +"\n" +"Options:\n" +msgstr "" +"\n" +"Options :\n" + +#: pg_walsummary.c:271 +#, c-format +msgid " -i, --individual list block numbers individually, not as ranges\n" +msgstr " -i, --individual liste les numéros de bloc individuellement, pas sous la forme d'intervalles\n" + +#: pg_walsummary.c:272 +#, c-format +msgid " -q, --quiet don't print anything, just parse the files\n" +msgstr " -q, --quiet n'affiche rien, analyse uniquement les fichiers\n" + +#: pg_walsummary.c:273 +#, c-format +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version affiche la version puis quitte\n" + +#: pg_walsummary.c:274 +#, c-format +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help affiche cette aide puis quitte\n" + +#: pg_walsummary.c:276 +#, c-format +msgid "" +"\n" +"Report bugs to <%s>.\n" +msgstr "" +"\n" +"Rapporter les bogues à <%s>.\n" + +#: pg_walsummary.c:277 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "Page d'accueil de %s : <%s>\n" diff --git a/src/bin/pg_walsummary/po/ka.po b/src/bin/pg_walsummary/po/ka.po index 0552b378d6c..90157c57b0e 100644 --- a/src/bin/pg_walsummary/po/ka.po +++ b/src/bin/pg_walsummary/po/ka.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: pg_walsummary (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-02-11 23:52+0000\n" -"PO-Revision-Date: 2024-02-12 04:18+0100\n" +"POT-Creation-Date: 2024-06-24 21:54+0000\n" +"PO-Revision-Date: 2024-06-25 05:47+0200\n" "Last-Translator: Temuri Doghonadze \n" "Language-Team: \n" "Language: ka\n" @@ -37,27 +37,91 @@ msgstr "დეტალები: " msgid "hint: " msgstr "მინიშნება: " -#: pg_walsummary.c:85 pg_walsummary.c:93 +#: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75 +#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161 #, c-format -msgid "Try \"%s --help\" for more information." -msgstr "მეტი ინფორმაციისთვის სცადეთ '%s --help'." +msgid "out of memory\n" +msgstr "არასაკმარისი მეხსიერება\n" -#: pg_walsummary.c:92 +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 #, c-format -msgid "%s: no input files specified" -msgstr "%s: შეყვანის ფაილები მითითებული არაა" +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "ნულოვანი მაჩვენებლის დუბლირება შეუძლებელია (შიდა შეცდომა)\n" -#: pg_walsummary.c:107 +#: ../../common/file_utils.c:70 ../../common/file_utils.c:347 +#: ../../common/file_utils.c:406 ../../common/file_utils.c:480 +#: pg_walsummary.c:109 #, c-format msgid "could not open file \"%s\": %m" msgstr "ფაილის (%s) გახსნის შეცდომა: %m" -#: pg_walsummary.c:255 +#: ../../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\" არ არსებობს: %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 +#, c-format +msgid "could not open directory \"%s\": %m" +msgstr "საქაღალდის (%s) გახსნის შეცდომა: %m" + +#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "საქაღალდის (%s) წაკითხვის შეცდომა: %m" + +#: ../../common/file_utils.c:418 ../../common/file_utils.c:488 +#, c-format +msgid "could not fsync file \"%s\": %m" +msgstr "ფაილის (%s) fsync-ის შეცდომა: %m" + +#: ../../common/file_utils.c:498 +#, c-format +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "გადარქმევის შეცდომა %s - %s: %m" + +#: ../../fe_utils/option_utils.c:69 +#, c-format +msgid "invalid value \"%s\" for option %s" +msgstr "არასწორი მნიშვნელობა \"%s\" პარამეტრისთვის %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\"" + +#: pg_walsummary.c:87 pg_walsummary.c:95 +#, c-format +msgid "Try \"%s --help\" for more information." +msgstr "მეტი ინფორმაციისთვის სცადეთ '%s --help'." + +#: pg_walsummary.c:94 +#, c-format +msgid "no input files specified" +msgstr "შეყვანის ფაილები მითითებული არაა" + +#: pg_walsummary.c:252 #, c-format msgid "could not read file \"%s\": %m" msgstr "ფაილის (%s) წაკითხვის შეცდომა: %m" -#: pg_walsummary.c:270 +#: pg_walsummary.c:267 #, c-format msgid "" "%s prints the contents of a WAL summary file.\n" @@ -66,17 +130,17 @@ msgstr "" "%s WAL შეჯამების ფაილის შემცველობას გამოიტანს.\n" "\n" -#: pg_walsummary.c:271 +#: pg_walsummary.c:268 #, c-format msgid "Usage:\n" msgstr "გამოყენება:\n" -#: pg_walsummary.c:272 +#: pg_walsummary.c:269 #, c-format msgid " %s [OPTION]... FILE...\n" msgstr " %s [პარამეტრი]... ფაილი...\n" -#: pg_walsummary.c:273 +#: pg_walsummary.c:270 #, c-format msgid "" "\n" @@ -85,22 +149,27 @@ msgstr "" "\n" "პარამეტრები:\n" -#: pg_walsummary.c:274 +#: pg_walsummary.c:271 #, c-format msgid " -i, --individual list block numbers individually, not as ranges\n" msgstr " -i, --individual ბლოკის ნომრების ცალ-ცალკე გამოტანა, შუალედების მაგიერ\n" -#: pg_walsummary.c:275 +#: pg_walsummary.c:272 #, c-format msgid " -q, --quiet don't print anything, just parse the files\n" msgstr " -q, --quiet ეკრანზე არაფერი გამოიტანო. უბრალოდ, ფაილები დაამუშავე\n" -#: pg_walsummary.c:276 +#: pg_walsummary.c:273 +#, c-format +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version ვერსიის ინფორმაციის გამოტანა და გასვლა\n" + +#: pg_walsummary.c:274 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help ამ დახმარების ჩვენება და გასვლა\n" -#: pg_walsummary.c:278 +#: pg_walsummary.c:276 #, c-format msgid "" "\n" @@ -109,7 +178,7 @@ msgstr "" "\n" "შეცდომების შესახებ მიწერეთ: %s\n" -#: pg_walsummary.c:279 +#: pg_walsummary.c:277 #, c-format msgid "%s home page: <%s>\n" msgstr "%s-ის საწყისი გვერდია: <%s>\n" diff --git a/src/bin/pg_walsummary/po/ru.po b/src/bin/pg_walsummary/po/ru.po new file mode 100644 index 00000000000..1dcd7aaf72a --- /dev/null +++ b/src/bin/pg_walsummary/po/ru.po @@ -0,0 +1,187 @@ +# Alexander Lakhin , 2024. +msgid "" +msgstr "" +"Project-Id-Version: pg_walsummary (PostgreSQL) 17\n" +"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" +"POT-Creation-Date: 2024-09-02 09:31+0300\n" +"PO-Revision-Date: 2024-09-05 14:47+0300\n" +"Last-Translator: Alexander Lakhin \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Generator: Lokalize 21.12.3\n" + +#: ../../../src/common/logging.c:276 +#, c-format +msgid "error: " +msgstr "ошибка: " + +#: ../../../src/common/logging.c:283 +#, c-format +msgid "warning: " +msgstr "предупреждение: " + +#: ../../../src/common/logging.c:294 +#, c-format +msgid "detail: " +msgstr "подробности: " + +#: ../../../src/common/logging.c:301 +#, c-format +msgid "hint: " +msgstr "подсказка: " + +#: ../../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 "попытка дублирования нулевого указателя (внутренняя ошибка)\n" + +#: ../../common/file_utils.c:70 ../../common/file_utils.c:347 +#: ../../common/file_utils.c:406 ../../common/file_utils.c:480 +#: pg_walsummary.c:109 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "не удалось открыть файл \"%s\": %m" + +#: ../../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\": %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 +#, c-format +msgid "could not open directory \"%s\": %m" +msgstr "не удалось открыть каталог \"%s\": %m" + +#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "не удалось прочитать каталог \"%s\": %m" + +#: ../../common/file_utils.c:418 ../../common/file_utils.c:488 +#, c-format +msgid "could not fsync file \"%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" + +#: ../../fe_utils/option_utils.c:69 +#, c-format +msgid "invalid value \"%s\" for option %s" +msgstr "неверное значение \"%s\" для параметра %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" + +#: pg_walsummary.c:87 pg_walsummary.c:95 +#, c-format +msgid "Try \"%s --help\" for more information." +msgstr "Для дополнительной информации попробуйте \"%s --help\"." + +#: pg_walsummary.c:94 +#, c-format +msgid "no input files specified" +msgstr "нет входных файлов" + +#: pg_walsummary.c:252 +#, c-format +msgid "could not read file \"%s\": %m" +msgstr "не удалось прочитать файл \"%s\": %m" + +#: pg_walsummary.c:267 +#, c-format +msgid "" +"%s prints the contents of a WAL summary file.\n" +"\n" +msgstr "" +"%s выводит содержимое файла обобщения WAL.\n" +"\n" + +#: pg_walsummary.c:268 +#, c-format +msgid "Usage:\n" +msgstr "Использование:\n" + +#: pg_walsummary.c:269 +#, c-format +msgid " %s [OPTION]... FILE...\n" +msgstr " %s [ПАРАМЕТР]... [ФАЙЛ]...\n" + +#: pg_walsummary.c:270 +#, c-format +msgid "" +"\n" +"Options:\n" +msgstr "" +"\n" +"Параметры:\n" + +#: pg_walsummary.c:271 +#, c-format +msgid "" +" -i, --individual list block numbers individually, not as ranges\n" +msgstr "" +" -i, --individual выводить номера блоков по одному, не " +"диапазонами\n" + +#: pg_walsummary.c:272 +#, c-format +msgid "" +" -q, --quiet don't print anything, just parse the files\n" +msgstr "" +" -q, --quiet не выводить ничего, только разобрать файлы\n" + +#: pg_walsummary.c:273 +#, c-format +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version показать версию и выйти\n" + +#: pg_walsummary.c:274 +#, c-format +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help показать эту справку и выйти\n" + +#: pg_walsummary.c:276 +#, c-format +msgid "" +"\n" +"Report bugs to <%s>.\n" +msgstr "" +"\n" +"Об ошибках сообщайте по адресу <%s>.\n" + +#: pg_walsummary.c:277 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "Домашняя страница %s: <%s>\n" diff --git a/src/bin/pg_walsummary/po/sv.po b/src/bin/pg_walsummary/po/sv.po new file mode 100644 index 00000000000..14e987f3aaf --- /dev/null +++ b/src/bin/pg_walsummary/po/sv.po @@ -0,0 +1,181 @@ +# Swedish message translation file for pg_walsummary +# Copyright (C) 2024 PostgreSQL Global Development Group +# This file is distributed under the same license as the pg_walsummary (PostgreSQL) package. +# Dennis Björklund , 2024. +msgid "" +msgstr "" +"Project-Id-Version: PostgreSQL 17\n" +"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" +"POT-Creation-Date: 2024-07-12 17:54+0000\n" +"PO-Revision-Date: 2024-07-12 23:39+0200\n" +"Last-Translator: Dennis Björklund \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../../../src/common/logging.c:276 +#, c-format +msgid "error: " +msgstr "fel: " + +#: ../../../src/common/logging.c:283 +#, c-format +msgid "warning: " +msgstr "varning: " + +#: ../../../src/common/logging.c:294 +#, c-format +msgid "detail: " +msgstr "detalj: " + +#: ../../../src/common/logging.c:301 +#, c-format +msgid "hint: " +msgstr "tips: " + +#: ../../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 "slut på minne\n" + +#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153 +#, c-format +msgid "cannot duplicate null pointer (internal error)\n" +msgstr "kan inte duplicera null-pekare (internt fel)\n" + +#: ../../common/file_utils.c:70 ../../common/file_utils.c:347 +#: ../../common/file_utils.c:406 ../../common/file_utils.c:480 +#: pg_walsummary.c:109 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "kunde inte öppna fil \"%s\": %m" + +#: ../../common/file_utils.c:76 +#, c-format +msgid "could not synchronize file system for file \"%s\": %m" +msgstr "kan inte synkronisera filsystemet för fil \"%s\": %m" + +#: ../../common/file_utils.c:120 ../../common/file_utils.c:566 +#, c-format +msgid "could not stat file \"%s\": %m" +msgstr "kunde inte göra stat() på fil \"%s\": %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 "detta bygge stöder inte synkmetod \"%s\"" + +#: ../../common/file_utils.c:151 ../../common/file_utils.c:281 +#, 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 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "kunde inte läsa katalog \"%s\": %m" + +#: ../../common/file_utils.c:418 ../../common/file_utils.c:488 +#, c-format +msgid "could not fsync file \"%s\": %m" +msgstr "kunde inte fsync:a fil \"%s\": %m" + +#: ../../common/file_utils.c:498 +#, c-format +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "kunde inte döpa om fil \"%s\" till \"%s\": %m" + +#: ../../fe_utils/option_utils.c:69 +#, c-format +msgid "invalid value \"%s\" for option %s" +msgstr "ogiltigt värde \"%s\" för flaggan \"%s\"" + +#: ../../fe_utils/option_utils.c:76 +#, c-format +msgid "%s must be in range %d..%d" +msgstr "%s måste vara i intervallet %d..%d" + +#: ../../fe_utils/option_utils.c:106 +#, c-format +msgid "unrecognized sync method: %s" +msgstr "okänd synkmetod: %s" + +#: pg_walsummary.c:87 pg_walsummary.c:95 +#, c-format +msgid "Try \"%s --help\" for more information." +msgstr "Försök med \"%s --help\" för mer information." + +#: pg_walsummary.c:94 +#, c-format +msgid "no input files specified" +msgstr "inga inputfiler angivna" + +#: pg_walsummary.c:252 +#, c-format +msgid "could not read file \"%s\": %m" +msgstr "kunde inte läsa fil \"%s\": %m" + +#: pg_walsummary.c:267 +#, c-format +msgid "" +"%s prints the contents of a WAL summary file.\n" +"\n" +msgstr "%s skriver ut innehållet av WAL-summeringsfilen.\n\n" + +#: pg_walsummary.c:268 +#, c-format +msgid "Usage:\n" +msgstr "Användning:\n" + +#: pg_walsummary.c:269 +#, c-format +msgid " %s [OPTION]... FILE...\n" +msgstr " %s [FLAGGA]... FIL...\n" + +#: pg_walsummary.c:270 +#, c-format +msgid "" +"\n" +"Options:\n" +msgstr "" +"\n" +"Flaggor:\n" + +#: pg_walsummary.c:271 +#, c-format +msgid " -i, --individual list block numbers individually, not as ranges\n" +msgstr " -i, --individual lista blocknummer individuellt, inte som intervall\n" + +#: pg_walsummary.c:272 +#, c-format +msgid " -q, --quiet don't print anything, just parse the files\n" +msgstr " -q, --quiet skriv ingenting, bara parsa filerna\n" + +#: pg_walsummary.c:273 +#, c-format +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version visa versionsinformation, avsluta sedan\n" + +#: pg_walsummary.c:274 +#, c-format +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help visa denna hjälp, avsluta sedan\n" + +#: pg_walsummary.c:276 +#, c-format +msgid "" +"\n" +"Report bugs to <%s>.\n" +msgstr "" +"\n" +"Rapportera fel till <%s>.\n" + +#: pg_walsummary.c:277 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "hemsida för %s: <%s>\n" diff --git a/src/bin/pg_walsummary/po/uk.po b/src/bin/pg_walsummary/po/uk.po new file mode 100644 index 00000000000..523b46a7f12 --- /dev/null +++ b/src/bin/pg_walsummary/po/uk.po @@ -0,0 +1,177 @@ +msgid "" +msgstr "" +"Project-Id-Version: postgresql\n" +"Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" +"POT-Creation-Date: 2024-08-31 06:24+0000\n" +"PO-Revision-Date: 2024-09-23 19:38\n" +"Last-Translator: \n" +"Language-Team: Ukrainian\n" +"Language: uk_UA\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" +"X-Crowdin-Project: postgresql\n" +"X-Crowdin-Project-ID: 324573\n" +"X-Crowdin-Language: uk\n" +"X-Crowdin-File: /REL_17_STABLE/pg_walsummary.pot\n" +"X-Crowdin-File-ID: 992\n" + +#: ../../../src/common/logging.c:276 +#, c-format +msgid "error: " +msgstr "помилка: " + +#: ../../../src/common/logging.c:283 +#, c-format +msgid "warning: " +msgstr "попередження: " + +#: ../../../src/common/logging.c:294 +#, c-format +msgid "detail: " +msgstr "деталі: " + +#: ../../../src/common/logging.c:301 +#, c-format +msgid "hint: " +msgstr "підказка: " + +#: ../../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 "неможливо дублювати нульовий покажчик (внутрішня помилка)\n" + +#: ../../common/file_utils.c:70 ../../common/file_utils.c:347 +#: ../../common/file_utils.c:406 ../../common/file_utils.c:480 +#: pg_walsummary.c:109 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "не можливо відкрити файл \"%s\": %m" + +#: ../../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\": %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 +#, c-format +msgid "could not open directory \"%s\": %m" +msgstr "не вдалося відкрити каталог \"%s\": %m" + +#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "не вдалося прочитати каталог \"%s\": %m" + +#: ../../common/file_utils.c:418 ../../common/file_utils.c:488 +#, c-format +msgid "could not fsync file \"%s\": %m" +msgstr "не вдалося fsync файл \"%s\": %m" + +#: ../../common/file_utils.c:498 +#, c-format +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "не вдалося перейменувати файл \"%s\" на \"%s\": %m" + +#: ../../fe_utils/option_utils.c:69 +#, c-format +msgid "invalid value \"%s\" for option %s" +msgstr "неприпустиме значення \"%s\" для параметра %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" + +#: pg_walsummary.c:87 pg_walsummary.c:95 +#, c-format +msgid "Try \"%s --help\" for more information." +msgstr "Спробуйте \"%s --help\" для додаткової інформації." + +#: pg_walsummary.c:94 +#, c-format +msgid "no input files specified" +msgstr "не вказано вхідні файли" + +#: pg_walsummary.c:252 +#, c-format +msgid "could not read file \"%s\": %m" +msgstr "не вдалося прочитати файл \"%s\": %m" + +#: pg_walsummary.c:267 +#, c-format +msgid "%s prints the contents of a WAL summary file.\n\n" +msgstr "%s друкує вміст файлу зведення WAL.\n\n" + +#: pg_walsummary.c:268 +#, c-format +msgid "Usage:\n" +msgstr "Використання:\n" + +#: pg_walsummary.c:269 +#, c-format +msgid " %s [OPTION]... FILE...\n" +msgstr " %s [OPTION]... FILE...\n" + +#: pg_walsummary.c:270 +#, c-format +msgid "\n" +"Options:\n" +msgstr "\n" +"Параметри:\n" + +#: pg_walsummary.c:271 +#, c-format +msgid " -i, --individual list block numbers individually, not as ranges\n" +msgstr " -i, --individual вивести номера блоків індивідуально, не як діапазони\n" + +#: pg_walsummary.c:272 +#, c-format +msgid " -q, --quiet don't print anything, just parse the files\n" +msgstr " -q, --quiet не друкувати нічого, просто розібрати файли\n" + +#: pg_walsummary.c:273 +#, c-format +msgid " -V, --version output version information, then exit\n" +msgstr " -V, --version вивести інформацію про версію і вийти\n" + +#: pg_walsummary.c:274 +#, c-format +msgid " -?, --help show this help, then exit\n" +msgstr " -?, --help показати цю довідку, потім вийти\n" + +#: pg_walsummary.c:276 +#, c-format +msgid "\n" +"Report bugs to <%s>.\n" +msgstr "\n" +"Повідомляти про помилки на <%s>.\n" + +#: pg_walsummary.c:277 +#, c-format +msgid "%s home page: <%s>\n" +msgstr "Домашня сторінка %s: <%s>\n" + diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c index 180781ecd05..f8a21a79c7d 100644 --- a/src/bin/psql/command.c +++ b/src/bin/psql/command.c @@ -471,7 +471,7 @@ exec_command_bind(PsqlScanState scan_state, bool active_branch) int nparams = 0; int nalloc = 0; - pset.bind_params = NULL; + clean_bind_state(); while ((opt = psql_scan_slash_option(scan_state, OT_NORMAL, NULL, false))) { @@ -5231,6 +5231,10 @@ do_shell(const char *command) * * We break this out of exec_command to avoid having to plaster "volatile" * onto a bunch of exec_command's variables to silence stupider compilers. + * + * "sleep" is the amount of time to sleep during each loop, measured in + * seconds. The internals of this function should use "sleep_ms" for + * precise sleep time calculations. */ static bool do_watch(PQExpBuffer query_buf, double sleep, int iter, int min_rows) @@ -5356,10 +5360,10 @@ do_watch(PQExpBuffer query_buf, double sleep, int iter, int min_rows) if (user_title) snprintf(title, title_len, _("%s\t%s (every %gs)\n"), - user_title, timebuf, sleep); + user_title, timebuf, sleep_ms / 1000.0); else snprintf(title, title_len, _("%s (every %gs)\n"), - timebuf, sleep); + timebuf, sleep_ms / 1000.0); myopt.title = title; /* Run the query and print out the result */ @@ -5380,7 +5384,8 @@ do_watch(PQExpBuffer query_buf, double sleep, int iter, int min_rows) if (pagerpipe && ferror(pagerpipe)) break; - if (sleep == 0) + /* Tight loop, no wait needed */ + if (sleep_ms == 0) continue; #ifdef WIN32 diff --git a/src/bin/psql/common.c b/src/bin/psql/common.c index fe8e049c4c1..4a50eb1e672 100644 --- a/src/bin/psql/common.c +++ b/src/bin/psql/common.c @@ -1275,14 +1275,7 @@ SendQuery(const char *query) } /* clean up after \bind */ - if (pset.bind_flag) - { - for (i = 0; i < pset.bind_nparams; i++) - free(pset.bind_params[i]); - free(pset.bind_params); - pset.bind_params = NULL; - pset.bind_flag = false; - } + clean_bind_state(); /* reset \gset trigger */ if (pset.gset_prefix) @@ -2252,6 +2245,26 @@ uri_prefix_length(const char *connstr) return 0; } +/* + * Reset state related to \bind + * + * Clean up any state related to bind parameters and bind_flag. This needs + * to be called after processing a query or when running \bind. + */ +void +clean_bind_state(void) +{ + if (pset.bind_flag) + { + for (int i = 0; i < pset.bind_nparams; i++) + free(pset.bind_params[i]); + free(pset.bind_params); + } + + pset.bind_params = NULL; + pset.bind_flag = false; +} + /* * Recognized connection string either starts with a valid URI prefix or * contains a "=" in it. diff --git a/src/bin/psql/common.h b/src/bin/psql/common.h index 6efe12274fe..9baa1e89064 100644 --- a/src/bin/psql/common.h +++ b/src/bin/psql/common.h @@ -41,6 +41,7 @@ extern bool standard_strings(void); extern const char *session_username(void); extern void expand_tilde(char **filename); +extern void clean_bind_state(void); extern bool recognized_connection_string(const char *connstr); diff --git a/src/bin/psql/describe.c b/src/bin/psql/describe.c index f67bf0b8925..770f52bc455 100644 --- a/src/bin/psql/describe.c +++ b/src/bin/psql/describe.c @@ -6660,7 +6660,7 @@ printACLColumn(PQExpBuffer buf, const char *colname) { appendPQExpBuffer(buf, "CASE" - " WHEN pg_catalog.cardinality(%s) = 0 THEN '%s'" + " WHEN pg_catalog.array_length(%s, 1) = 0 THEN '%s'" " ELSE pg_catalog.array_to_string(%s, E'\\n')" " END AS \"%s\"", colname, gettext_noop("(none)"), diff --git a/src/bin/psql/po/cs.po b/src/bin/psql/po/cs.po index e50d301a2ff..9b8240cb9bb 100644 --- a/src/bin/psql/po/cs.po +++ b/src/bin/psql/po/cs.po @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: psql-cs (PostgreSQL 9.3)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2020-10-31 16:14+0000\n" -"PO-Revision-Date: 2023-09-05 09:51+0200\n" +"PO-Revision-Date: 2024-06-26 09:15+0200\n" "Last-Translator: Tomas Vondra \n" "Language-Team: Czech \n" "Language: cs\n" @@ -2421,7 +2421,6 @@ msgstr "" " -v, --set=, --variable=JMÉNO=HODNOTA\n" " nastaví psql proměnnou JMÉNO na HODNOTA\n" " (e.g., -v ON_ERROR_STOP=1)\n" -"\n" #: help.c:89 #, c-format @@ -2799,7 +2798,7 @@ msgstr " \\copy ... provede SQL COPY s tokem dat na klienta\n" #, c-format msgid " \\echo [-n] [STRING] write string to standard output (-n for no newline)\n" msgstr "" -" \\echo [-n] [ŘETĚZEC] vypsání textu na standardní výstup (-n pro potlačení\n" +" \\echo [-n] [ŘETĚZEC] vypsání textu na standardní výstup (-n pro potlačení\n" " nového řádku)\n" #: help.c:211 diff --git a/src/bin/psql/po/el.po b/src/bin/psql/po/el.po index 9e4179afa66..2fe4db9eec0 100644 --- a/src/bin/psql/po/el.po +++ b/src/bin/psql/po/el.po @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: psql (PostgreSQL) 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2023-08-15 13:47+0000\n" -"PO-Revision-Date: 2023-08-16 11:55+0200\n" +"PO-Revision-Date: 2024-06-26 08:48+0200\n" "Last-Translator: Georgios Kokolatos \n" "Language-Team: \n" "Language: el\n" @@ -3312,7 +3312,6 @@ msgstr "" " ECHO\n" " ελέγχει ποία είσοδος γράφεται στην τυπική έξοδο\n" " [all, errors, none, queries]\n" -"\n" #: help.c:408 msgid "" @@ -3494,7 +3493,7 @@ msgid "" msgstr "" " SERVER_VERSION_NAME\n" " SERVER_VERSION_NUM\n" -" έκδοση διακομιστή (σε σύντομη συμβολοσειρά ή αριθμητική μορφή)\n" +" έκδοση διακομιστή (σε σύντομη συμβολοσειρά ή αριθμητική μορφή)\n" #: help.c:455 msgid "" @@ -3542,7 +3541,7 @@ msgid "" " single-step mode (same as -s option)\n" msgstr "" " SINGLESTEP\n" -" λειτουργία μονού-βήματος(όμοια με την επιλογή -s)\n" +" λειτουργία μονού-βήματος(όμοια με την επιλογή -s)\n" #: help.c:467 msgid "" diff --git a/src/bin/psql/po/es.po b/src/bin/psql/po/es.po index 9070c6c90b1..8edd5a4ef32 100644 --- a/src/bin/psql/po/es.po +++ b/src/bin/psql/po/es.po @@ -12,8 +12,8 @@ msgid "" msgstr "" "Project-Id-Version: psql (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-10-03 07:17+0000\n" -"PO-Revision-Date: 2023-10-04 11:48+0200\n" +"POT-Creation-Date: 2024-08-01 11:18+0000\n" +"PO-Revision-Date: 2024-08-04 22:41-0400\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" "Language: es\n" @@ -43,33 +43,48 @@ msgstr "detalle: " msgid "hint: " msgstr "consejo: " -#: ../../common/exec.c:172 +#: ../../common/exec.c:174 #, c-format msgid "invalid binary \"%s\": %m" msgstr "binario «%s» no válido: %m" -#: ../../common/exec.c:215 +#: ../../common/exec.c:217 #, c-format msgid "could not read binary \"%s\": %m" msgstr "no se pudo leer el binario «%s»: %m" -#: ../../common/exec.c:223 +#: ../../common/exec.c:225 #, c-format msgid "could not find a \"%s\" to execute" msgstr "no se pudo encontrar un «%s» para ejecutar" -#: ../../common/exec.c:250 +#: ../../common/exec.c:252 #, c-format msgid "could not resolve path \"%s\" to absolute form: %m" msgstr "no se pudo resolver la ruta «%s» a forma absoluta: %m" -#: ../../common/exec.c:412 +#: ../../common/exec.c:382 copy.c:326 +#, c-format +msgid "could not execute command \"%s\": %m" +msgstr "no se pudo ejecutar la orden «%s»: %m" + +#: ../../common/exec.c:394 +#, c-format +msgid "could not read from command \"%s\": %m" +msgstr "no se pudo leer desde la orden «%s»: %m" + +#: ../../common/exec.c:397 +#, c-format +msgid "no data was returned by command \"%s\"" +msgstr "la orden «%s» no retornó datos" + +#: ../../common/exec.c:424 #, c-format msgid "%s() failed: %m" msgstr "%s() falló: %m" -#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687 -#: command.c:1354 command.c:3439 command.c:3488 command.c:3612 input.c:226 +#: ../../common/exec.c:562 ../../common/exec.c:607 ../../common/exec.c:699 +#: command.c:1372 command.c:3458 command.c:3507 command.c:3632 input.c:225 #: mainloop.c:80 mainloop.c:398 #, c-format msgid "out of memory" @@ -91,7 +106,7 @@ msgstr "no se puede duplicar un puntero nulo (error interno)\n" msgid "could not look up effective user ID %ld: %s" msgstr "no se pudo buscar el ID de usuario efectivo %ld: %s" -#: ../../common/username.c:45 command.c:613 +#: ../../common/username.c:45 command.c:616 msgid "user does not exist" msgstr "el usuario no existe" @@ -130,11 +145,11 @@ msgstr "el proceso hijo fue terminado por una señal %d: %s" msgid "child process exited with unrecognized status %d" msgstr "el proceso hijo terminó con código no reconocido %d" -#: ../../fe_utils/cancel.c:189 ../../fe_utils/cancel.c:238 +#: ../../fe_utils/cancel.c:186 ../../fe_utils/cancel.c:235 msgid "Cancel request sent\n" msgstr "Petición de cancelación enviada\n" -#: ../../fe_utils/cancel.c:190 ../../fe_utils/cancel.c:239 +#: ../../fe_utils/cancel.c:187 ../../fe_utils/cancel.c:236 msgid "Could not send cancel request: " msgstr "No se pudo enviar la petición de cancelación: %s" @@ -150,312 +165,339 @@ msgstr[1] "(%lu filas)" msgid "Interrupted\n" msgstr "Interrumpido\n" -#: ../../fe_utils/print.c:3218 +#: ../../fe_utils/print.c:3188 +#, c-format +msgid "Cannot print table contents: number of cells %lld is equal to or exceeds maximum %lld.\n" +msgstr "No se puede imprimir el contenido de la tabla: el número de celdas %lld es igual o mayor al máximo %lld.\n" + +#: ../../fe_utils/print.c:3229 #, c-format msgid "Cannot add header to table content: column count of %d exceeded.\n" msgstr "No se puede agregar un encabezado al contenido de la tabla: la cantidad de columnas de %d ha sido excedida.\n" -#: ../../fe_utils/print.c:3258 +#: ../../fe_utils/print.c:3272 #, c-format -msgid "Cannot add cell to table content: total cell count of %d exceeded.\n" -msgstr "No se puede agregar una celda al contenido de la tabla: la cantidad de celdas de %d ha sido excedida.\n" +msgid "Cannot add cell to table content: total cell count of %lld exceeded.\n" +msgstr "No se puede agregar una celda al contenido de la tabla: la cantidad de celdas de %lld ha sido excedida.\n" -#: ../../fe_utils/print.c:3516 +#: ../../fe_utils/print.c:3530 #, c-format msgid "invalid output format (internal error): %d" msgstr "formato de salida no válido (error interno): %d" -#: ../../fe_utils/psqlscan.l:717 +#: ../../fe_utils/psqlscan.l:718 #, c-format msgid "skipping recursive expansion of variable \"%s\"" msgstr "saltando expansión recursiva de la variable «%s»" -#: ../../port/thread.c:50 ../../port/thread.c:86 +#: ../../fe_utils/string_utils.c:434 +#, c-format +msgid "shell command argument contains a newline or carriage return: \"%s\"\n" +msgstr "el argumento de la orden de shell contiene un salto de línea o retorno de carro: «%s»\n" + +#: ../../fe_utils/string_utils.c:607 +#, c-format +msgid "database name contains a newline or carriage return: \"%s\"\n" +msgstr "el nombre de base de datos contiene un salto de línea o retorno de carro: «%s»\n" + +#: ../../port/user.c:43 ../../port/user.c:79 #, c-format msgid "could not look up local user ID %d: %s" msgstr "no se pudo buscar el usuario local de ID %d: %s" -#: ../../port/thread.c:55 ../../port/thread.c:91 +#: ../../port/user.c:48 ../../port/user.c:84 #, c-format msgid "local user with ID %d does not exist" msgstr "no existe un usuario local con ID %d" -#: command.c:234 +#: command.c:235 #, c-format msgid "invalid command \\%s" msgstr "orden \\%s no válida" -#: command.c:236 +#: command.c:237 #, c-format msgid "Try \\? for help." msgstr "Digite \\? para obtener ayuda." -#: command.c:254 +#: command.c:255 #, c-format msgid "\\%s: extra argument \"%s\" ignored" msgstr "\\%s: argumento extra «%s» ignorado" -#: command.c:306 +#: command.c:307 #, c-format msgid "\\%s command ignored; use \\endif or Ctrl-C to exit current \\if block" msgstr "orden \\%s ignorada: use \\endif o Ctrl-C para salir del bloque \\if actual" -#: command.c:611 +#: command.c:614 #, c-format msgid "could not get home directory for user ID %ld: %s" msgstr "no se pudo obtener directorio home para el usuario de ID %ld: %s" -#: command.c:630 +#: command.c:633 #, c-format msgid "\\%s: could not change directory to \"%s\": %m" msgstr "\\%s: no se pudo cambiar directorio a «%s»: %m" -#: command.c:654 +#: command.c:657 #, c-format msgid "You are currently not connected to a database.\n" msgstr "No está conectado a una base de datos.\n" -#: command.c:664 +#: command.c:667 #, c-format msgid "You are connected to database \"%s\" as user \"%s\" on address \"%s\" at port \"%s\".\n" msgstr "Está conectado a la base de datos «%s» como el usuario «%s» en la dirección «%s» port «%s».\n" -#: command.c:667 +#: command.c:670 #, c-format msgid "You are connected to database \"%s\" as user \"%s\" via socket in \"%s\" at port \"%s\".\n" msgstr "Está conectado a la base de datos «%s» como el usuario «%s» a través del socket en «%s» port «%s».\n" -#: command.c:673 +#: command.c:676 #, c-format msgid "You are connected to database \"%s\" as user \"%s\" on host \"%s\" (address \"%s\") at port \"%s\".\n" msgstr "Está conectado a la base de datos «%s» como el usuario «%s» en el servidor «%s» (dirección «%s») port «%s».\n" -#: command.c:676 +#: command.c:679 #, c-format msgid "You are connected to database \"%s\" as user \"%s\" on host \"%s\" at port \"%s\".\n" msgstr "Está conectado a la base de datos «%s» como el usuario «%s» en el servidor «%s» port «%s».\n" -#: command.c:1066 command.c:1159 command.c:2682 +#: command.c:1069 command.c:1170 command.c:2675 #, c-format msgid "no query buffer" msgstr "no hay búfer de consulta" -#: command.c:1099 command.c:5689 +#: command.c:1102 command.c:5771 #, c-format msgid "invalid line number: %s" msgstr "número de línea no válido: %s" -#: command.c:1237 +#: command.c:1248 msgid "No changes" msgstr "Sin cambios" -#: command.c:1315 +#: command.c:1333 #, c-format msgid "%s: invalid encoding name or conversion procedure not found" msgstr "%s: nombre de codificación no válido o procedimiento de conversión no encontrado" -#: command.c:1350 command.c:2152 command.c:3435 command.c:3632 command.c:5795 -#: common.c:182 common.c:231 common.c:400 common.c:1102 common.c:1120 -#: common.c:1194 common.c:1313 common.c:1351 common.c:1444 common.c:1480 -#: copy.c:486 copy.c:720 help.c:66 large_obj.c:157 large_obj.c:192 -#: large_obj.c:254 startup.c:304 +#: command.c:1368 command.c:2157 command.c:3454 command.c:3652 command.c:5877 +#: common.c:221 common.c:270 common.c:440 common.c:1142 common.c:1160 +#: common.c:1228 common.c:1347 common.c:1385 common.c:1482 common.c:1548 +#: copy.c:486 copy.c:722 large_obj.c:157 large_obj.c:192 large_obj.c:254 +#: startup.c:304 #, c-format msgid "%s" msgstr "%s" -#: command.c:1357 +#: command.c:1375 msgid "There is no previous error." msgstr "No hay error anterior." -#: command.c:1470 +#: command.c:1488 #, c-format msgid "\\%s: missing right parenthesis" msgstr "\\%s: falta el paréntesis derecho" -#: command.c:1554 command.c:1684 command.c:1988 command.c:2002 command.c:2021 -#: command.c:2203 command.c:2444 command.c:2649 command.c:2689 +#: command.c:1572 command.c:1691 command.c:1995 command.c:2009 command.c:2028 +#: command.c:2196 command.c:2437 command.c:2642 command.c:2682 #, c-format msgid "\\%s: missing required argument" msgstr "\\%s: falta argumento requerido" -#: command.c:1815 +#: command.c:1822 #, c-format msgid "\\elif: cannot occur after \\else" msgstr "\\elif: no puede ocurrir después de \\else" -#: command.c:1820 +#: command.c:1827 #, c-format msgid "\\elif: no matching \\if" msgstr "\\elif: no hay un \\if coincidente" -#: command.c:1884 +#: command.c:1891 #, c-format msgid "\\else: cannot occur after \\else" msgstr "\\else: no puede ocurrir después de \\else" -#: command.c:1889 +#: command.c:1896 #, c-format msgid "\\else: no matching \\if" msgstr "\\else: no hay un \\if coincidente" -#: command.c:1929 +#: command.c:1936 #, c-format msgid "\\endif: no matching \\if" msgstr "\\endif: no hay un \\if coincidente" -#: command.c:2085 +#: command.c:2092 msgid "Query buffer is empty." msgstr "El búfer de consulta está vacío." -#: command.c:2128 +#: command.c:2135 #, c-format msgid "Enter new password for user \"%s\": " msgstr "Ingrese nueva contraseña para usuario «%s»: " -#: command.c:2132 +#: command.c:2139 msgid "Enter it again: " msgstr "Ingrésela nuevamente: " -#: command.c:2141 +#: command.c:2148 #, c-format msgid "Passwords didn't match." msgstr "Las contraseñas no coinciden." -#: command.c:2238 +#: command.c:2231 #, c-format msgid "\\%s: could not read value for variable" msgstr "%s: no se pudo leer el valor para la variable" -#: command.c:2340 +#: command.c:2333 msgid "Query buffer reset (cleared)." msgstr "El búfer de consulta ha sido reiniciado (limpiado)." -#: command.c:2362 +#: command.c:2355 #, c-format msgid "Wrote history to file \"%s\".\n" msgstr "Se escribió la historia en el archivo «%s».\n" -#: command.c:2449 +#: command.c:2442 #, c-format msgid "\\%s: environment variable name must not contain \"=\"" msgstr "\\%s: el nombre de variable de ambiente no debe contener «=»" -#: command.c:2497 +#: command.c:2490 #, c-format msgid "function name is required" msgstr "el nombre de la función es requerido" -#: command.c:2499 +#: command.c:2492 #, c-format msgid "view name is required" msgstr "el nombre de la vista es requerido" -#: command.c:2621 +#: command.c:2614 msgid "Timing is on." msgstr "El despliegue de duración está activado." -#: command.c:2623 +#: command.c:2616 msgid "Timing is off." msgstr "El despliegue de duración está desactivado." -#: command.c:2709 command.c:2747 command.c:4074 command.c:4077 command.c:4080 -#: command.c:4086 command.c:4088 command.c:4114 command.c:4124 command.c:4136 -#: command.c:4150 command.c:4177 command.c:4235 common.c:78 copy.c:329 -#: copy.c:401 psqlscanslash.l:788 psqlscanslash.l:800 psqlscanslash.l:818 +#: command.c:2702 command.c:2740 command.c:4163 command.c:4166 command.c:4169 +#: command.c:4175 command.c:4177 command.c:4203 command.c:4213 command.c:4225 +#: command.c:4239 command.c:4266 command.c:4324 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:2736 copy.c:388 +#: command.c:2729 copy.c:388 #, c-format msgid "%s: %s" msgstr "%s: %s" -#: command.c:2806 command.c:2852 +#: command.c:2801 command.c:2867 #, c-format msgid "\\watch: interval value is specified more than once" msgstr "\\watch: valor de intervalo ese especifica más de una vez" -#: command.c:2816 command.c:2862 +#: command.c:2811 command.c:2877 #, c-format msgid "\\watch: incorrect interval value \"%s\"" msgstr "\\watch: valor de intervalo incorrecto «%s»" -#: command.c:2826 +#: command.c:2821 #, c-format msgid "\\watch: iteration count is specified more than once" msgstr "\\watch: cantidad de iteraciones se especifica más de una vez" -#: command.c:2836 +#: command.c:2831 #, c-format msgid "\\watch: incorrect iteration count \"%s\"" msgstr "\\watch: cantidad de iteraciones incorrecta «%s»" -#: command.c:2843 +#: command.c:2841 +#, c-format +#| msgid "\\watch: iteration count is specified more than once" +msgid "\\watch: minimum row count specified more than once" +msgstr "\\watch: mínima cantidad de filas se especifica más de una vez" + +#: command.c:2851 +#, c-format +#| msgid "\\watch: incorrect iteration count \"%s\"" +msgid "\\watch: incorrect minimum row count \"%s\"" +msgstr "\\watch: cantidad mínima de filas incorrecta «%s»" + +#: command.c:2858 #, c-format msgid "\\watch: unrecognized parameter \"%s\"" msgstr "\\watch: parámetro «%s» no reconocido" -#: command.c:3236 startup.c:243 startup.c:293 +#: command.c:3255 startup.c:243 startup.c:293 msgid "Password: " msgstr "Contraseña: " -#: command.c:3241 startup.c:290 +#: command.c:3260 startup.c:290 #, c-format msgid "Password for user %s: " msgstr "Contraseña para usuario %s: " -#: command.c:3297 +#: command.c:3316 #, c-format msgid "Do not give user, host, or port separately when using a connection string" msgstr "No proporcione usuario, host o puerto de forma separada al usar una cadena de conexión" -#: command.c:3332 +#: command.c:3351 #, c-format msgid "No database connection exists to re-use parameters from" msgstr "No existe una conexión de base de datos para poder reusar sus parámetros" -#: command.c:3638 +#: command.c:3658 #, c-format msgid "Previous connection kept" msgstr "Se ha mantenido la conexión anterior" -#: command.c:3644 +#: command.c:3664 #, c-format msgid "\\connect: %s" msgstr "\\connect: %s" -#: command.c:3700 +#: command.c:3720 #, c-format msgid "You are now connected to database \"%s\" as user \"%s\" on address \"%s\" at port \"%s\".\n" msgstr "Ahora está conectado a la base de datos «%s» como el usuario «%s» en la dirección «%s» port «%s».\n" -#: command.c:3703 +#: command.c:3723 #, c-format msgid "You are now connected to database \"%s\" as user \"%s\" via socket in \"%s\" at port \"%s\".\n" msgstr "Ahora está conectado a la base de datos «%s» como el usuario «%s» a través del socket en «%s» port «%s».\n" -#: command.c:3709 +#: command.c:3729 #, c-format msgid "You are now connected to database \"%s\" as user \"%s\" on host \"%s\" (address \"%s\") at port \"%s\".\n" msgstr "Ahora está conectado a la base de datos «%s» como el usuario «%s» en el servidor «%s» (dirección «%s») port «%s».\n" -#: command.c:3712 +#: command.c:3732 #, c-format msgid "You are now connected to database \"%s\" as user \"%s\" on host \"%s\" at port \"%s\".\n" msgstr "Ahora está conectado a la base de datos «%s» como el usuario «%s» en el servidor «%s» port «%s».\n" -#: command.c:3717 +#: command.c:3737 #, c-format msgid "You are now connected to database \"%s\" as user \"%s\".\n" msgstr "Ahora está conectado a la base de datos «%s» con el usuario «%s».\n" -#: command.c:3757 +#: command.c:3843 #, c-format msgid "%s (%s, server %s)\n" msgstr "%s (%s, servidor %s)\n" -#: command.c:3770 +#: command.c:3856 #, c-format msgid "" "WARNING: %s major version %s, server major version %s.\n" @@ -464,29 +506,34 @@ msgstr "" "ADVERTENCIA: %s versión mayor %s, servidor versión mayor %s.\n" " Algunas características de psql podrían no funcionar.\n" -#: command.c:3807 +#: command.c:3895 #, c-format -msgid "SSL connection (protocol: %s, cipher: %s, compression: %s)\n" -msgstr "Conexión SSL (protocolo: %s, cifrado: %s, compresión: %s)\n" +#| msgid "SSL connection (protocol: %s, cipher: %s, compression: %s)\n" +msgid "SSL connection (protocol: %s, cipher: %s, compression: %s, ALPN: %s)\n" +msgstr "Conexión SSL (protocolo: %s, cifrado: %s, compresión: %s, ALPN: %s)\n" -#: command.c:3808 command.c:3809 +#: command.c:3896 command.c:3897 msgid "unknown" msgstr "desconocido" -#: command.c:3810 help.c:42 +#: command.c:3898 help.c:42 msgid "off" msgstr "desactivado" -#: command.c:3810 help.c:42 +#: command.c:3898 help.c:42 msgid "on" msgstr "activado" -#: command.c:3824 +#: command.c:3899 +msgid "none" +msgstr "ninguno" + +#: command.c:3913 #, c-format msgid "GSSAPI-encrypted connection\n" msgstr "Conexión Cifrada GSSAPI\n" -#: command.c:3844 +#: command.c:3933 #, c-format msgid "" "WARNING: Console code page (%u) differs from Windows code page (%u)\n" @@ -499,433 +546,447 @@ msgstr "" " Vea la página de referencia de psql «Notes for Windows users»\n" " para obtener más detalles.\n" -#: command.c:3949 +#: command.c:4038 #, c-format msgid "environment variable PSQL_EDITOR_LINENUMBER_ARG must be set to specify a line number" msgstr "la variable de ambiente PSQL_EDITOR_LINENUMBER_SWITCH debe estar definida para poder especificar un número de línea" -#: command.c:3979 +#: command.c:4068 #, c-format msgid "could not start editor \"%s\"" msgstr "no se pudo iniciar el editor «%s»" -#: command.c:3981 +#: command.c:4070 #, c-format msgid "could not start /bin/sh" msgstr "no se pudo iniciar /bin/sh" -#: command.c:4031 +#: command.c:4120 #, c-format msgid "could not locate temporary directory: %s" msgstr "no se pudo ubicar el directorio temporal: %s" -#: command.c:4058 +#: command.c:4147 #, c-format msgid "could not open temporary file \"%s\": %m" msgstr "no se pudo abrir archivo temporal «%s»: %m" -#: command.c:4394 +#: command.c:4483 #, c-format msgid "\\pset: ambiguous abbreviation \"%s\" matches both \"%s\" and \"%s\"" msgstr "\\pset: abreviación ambigua «%s» coincide tanto con «%s» como con «%s»" -#: command.c:4414 +#: command.c:4503 #, c-format msgid "\\pset: allowed formats are aligned, asciidoc, csv, html, latex, latex-longtable, troff-ms, unaligned, wrapped" msgstr "\\pset: formatos permitidos son aligned, asciidoc, csv, html, latex, latex-longtable, troff-ms, unaligned, wrapped" -#: command.c:4433 +#: command.c:4522 #, c-format msgid "\\pset: allowed line styles are ascii, old-ascii, unicode" msgstr "\\pset: estilos de línea permitidos son ascii, old-ascii, unicode" -#: command.c:4448 +#: command.c:4537 #, c-format msgid "\\pset: allowed Unicode border line styles are single, double" msgstr "\\pset: estilos de línea Unicode de borde permitidos son single, double" -#: command.c:4463 +#: command.c:4552 #, c-format msgid "\\pset: allowed Unicode column line styles are single, double" msgstr "\\pset: estilos de línea Unicode de columna permitidos son single, double" -#: command.c:4478 +#: command.c:4567 #, c-format msgid "\\pset: allowed Unicode header line styles are single, double" msgstr "\\pset: estilos de línea Unicode de encabezado permitidos son single, double" -#: command.c:4530 +#: command.c:4619 #, c-format msgid "\\pset: allowed xheader_width values are \"%s\" (default), \"%s\", \"%s\", or a number specifying the exact width" msgstr "\\pset: los valores permitidos de xheader_width son «%s» (por omisión), «%s», «%s», o un número que indica el ancho exacto" -#: command.c:4547 +#: command.c:4636 #, c-format msgid "\\pset: csv_fieldsep must be a single one-byte character" msgstr "\\pset: csv_fieldsep debe ser un carácter de un solo byte" -#: command.c:4552 +#: command.c:4641 #, c-format msgid "\\pset: csv_fieldsep cannot be a double quote, a newline, or a carriage return" msgstr "\\pset: csv_fieldset ni puede ser una comilla doble, un salto de línea, o un retorno de carro" -#: command.c:4690 command.c:4891 +#: command.c:4779 command.c:4980 #, c-format msgid "\\pset: unknown option: %s" msgstr "\\pset: opción desconocida: %s" -#: command.c:4710 +#: command.c:4799 #, c-format msgid "Border style is %d.\n" msgstr "El estilo de borde es %d.\n" -#: command.c:4716 +#: command.c:4805 #, c-format msgid "Target width is unset.\n" msgstr "El ancho no está definido.\n" -#: command.c:4718 +#: command.c:4807 #, c-format msgid "Target width is %d.\n" msgstr "El ancho es %d.\n" -#: command.c:4725 +#: command.c:4814 #, c-format msgid "Expanded display is on.\n" msgstr "Se ha activado el despliegue expandido.\n" -#: command.c:4727 +#: command.c:4816 #, c-format msgid "Expanded display is used automatically.\n" msgstr "El despliegue expandido se usa automáticamente.\n" -#: command.c:4729 +#: command.c:4818 #, c-format msgid "Expanded display is off.\n" msgstr "Se ha desactivado el despliegue expandido.\n" -#: command.c:4736 command.c:4738 command.c:4740 +#: command.c:4825 command.c:4827 command.c:4829 #, c-format msgid "Expanded header width is \"%s\".\n" msgstr "El ancho del encabezado expandido es '%s'.\n" -#: command.c:4742 +#: command.c:4831 #, c-format msgid "Expanded header width is %d.\n" msgstr "El ancho de encabezado expandido es %d.\n" -#: command.c:4748 +#: command.c:4837 #, c-format msgid "Field separator for CSV is \"%s\".\n" msgstr "El separador de campos para CSV es «%s».\n" -#: command.c:4756 command.c:4764 +#: command.c:4845 command.c:4853 #, c-format msgid "Field separator is zero byte.\n" msgstr "El separador de campos es el byte cero.\n" -#: command.c:4758 +#: command.c:4847 #, c-format msgid "Field separator is \"%s\".\n" msgstr "El separador de campos es «%s».\n" -#: command.c:4771 +#: command.c:4860 #, c-format msgid "Default footer is on.\n" msgstr "El pie por omisión está activo.\n" -#: command.c:4773 +#: command.c:4862 #, c-format msgid "Default footer is off.\n" msgstr "El pie de página por omisión está desactivado.\n" -#: command.c:4779 +#: command.c:4868 #, c-format msgid "Output format is %s.\n" msgstr "El formato de salida es %s.\n" -#: command.c:4785 +#: command.c:4874 #, c-format msgid "Line style is %s.\n" msgstr "El estilo de línea es %s.\n" -#: command.c:4792 +#: command.c:4881 #, c-format msgid "Null display is \"%s\".\n" msgstr "Despliegue de nulos es «%s».\n" -#: command.c:4800 +#: command.c:4889 #, c-format msgid "Locale-adjusted numeric output is on.\n" msgstr "La salida numérica ajustada localmente está habilitada.\n" -#: command.c:4802 +#: command.c:4891 #, c-format msgid "Locale-adjusted numeric output is off.\n" msgstr "La salida numérica ajustada localmente está deshabilitada.\n" -#: command.c:4809 +#: command.c:4898 #, c-format msgid "Pager is used for long output.\n" msgstr "El paginador se usará para salida larga.\n" -#: command.c:4811 +#: command.c:4900 #, c-format msgid "Pager is always used.\n" msgstr "El paginador se usará siempre.\n" -#: command.c:4813 +#: command.c:4902 #, c-format msgid "Pager usage is off.\n" msgstr "El paginador no se usará.\n" -#: command.c:4819 +#: command.c:4908 #, 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" msgstr[0] "El paginador no se usará para menos de %d línea.\n" msgstr[1] "El paginador no se usará para menos de %d líneas.\n" -#: command.c:4829 command.c:4839 +#: command.c:4918 command.c:4928 #, c-format msgid "Record separator is zero byte.\n" msgstr "El separador de filas es el byte cero.\n" -#: command.c:4831 +#: command.c:4920 #, c-format msgid "Record separator is .\n" msgstr "El separador de filas es .\n" -#: command.c:4833 +#: command.c:4922 #, c-format msgid "Record separator is \"%s\".\n" msgstr "El separador de filas es «%s».\n" -#: command.c:4846 +#: command.c:4935 #, c-format msgid "Table attributes are \"%s\".\n" msgstr "Los atributos de tabla son «%s».\n" -#: command.c:4849 +#: command.c:4938 #, c-format msgid "Table attributes unset.\n" msgstr "Los atributos de tabla han sido indefinidos.\n" -#: command.c:4856 +#: command.c:4945 #, c-format msgid "Title is \"%s\".\n" msgstr "El título es «%s».\n" -#: command.c:4858 +#: command.c:4947 #, c-format msgid "Title is unset.\n" msgstr "El título ha sido indefinido.\n" -#: command.c:4865 +#: command.c:4954 #, c-format msgid "Tuples only is on.\n" msgstr "Mostrar sólo filas está activado.\n" -#: command.c:4867 +#: command.c:4956 #, c-format msgid "Tuples only is off.\n" msgstr "Mostrar sólo filas está desactivado.\n" -#: command.c:4873 +#: command.c:4962 #, c-format msgid "Unicode border line style is \"%s\".\n" msgstr "El estilo Unicode de borde es «%s».\n" -#: command.c:4879 +#: command.c:4968 #, c-format msgid "Unicode column line style is \"%s\".\n" msgstr "El estilo de línea Unicode de columna es «%s».\n" -#: command.c:4885 +#: command.c:4974 #, c-format msgid "Unicode header line style is \"%s\".\n" msgstr "El estilo de línea Unicode de encabezado es «%s».\n" -#: command.c:5134 +#: command.c:5223 #, c-format msgid "\\!: failed" msgstr "\\!: falló" -#: command.c:5168 +#: command.c:5257 #, c-format msgid "\\watch cannot be used with an empty query" msgstr "\\watch no puede ser usado con una consulta vacía" -#: command.c:5200 +#: command.c:5289 #, c-format msgid "could not set timer: %m" msgstr "no se pudo establecer un temporizador: %m" -#: command.c:5269 +#: command.c:5358 #, c-format msgid "%s\t%s (every %gs)\n" msgstr "%s\t%s (cada %gs)\n" -#: command.c:5272 +#: command.c:5361 #, c-format msgid "%s (every %gs)\n" msgstr "%s (cada %gs)\n" -#: command.c:5340 +#: command.c:5424 #, c-format msgid "could not wait for signals: %m" msgstr "no se pudo esperar señales: %m" -#: command.c:5398 command.c:5405 common.c:592 common.c:599 common.c:1083 +#: command.c:5480 command.c:5487 common.c:632 common.c:639 common.c:1123 #, c-format +#| msgid "" +#| "********* QUERY **********\n" +#| "%s\n" +#| "**************************\n" +#| "\n" msgid "" -"********* QUERY **********\n" +"/******** QUERY *********/\n" "%s\n" -"**************************\n" +"/************************/\n" "\n" msgstr "" -"********* QUERY **********\n" +"/******** QUERY *********/\n" "%s\n" -"**************************\n" +"/************************/\n" "\n" -#: command.c:5584 +#: command.c:5666 #, c-format msgid "\"%s.%s\" is not a view" msgstr "«%s.%s» no es una vista" -#: command.c:5600 +#: command.c:5682 #, c-format msgid "could not parse reloptions array" msgstr "no se pudo interpretar el array reloptions" -#: common.c:167 +#: common.c:206 #, c-format msgid "cannot escape without active connection" msgstr "no se puede escapar sin una conexión activa" -#: common.c:208 +#: common.c:247 #, c-format msgid "shell command argument contains a newline or carriage return: \"%s\"" msgstr "el argumento de la orden de shell contiene un salto de línea o retorno de carro: «%s»" -#: common.c:312 +#: common.c:351 #, c-format msgid "connection to server was lost" msgstr "se ha perdido la conexión al servidor" -#: common.c:316 +#: common.c:355 #, c-format msgid "The connection to the server was lost. Attempting reset: " msgstr "La conexión al servidor se ha perdido. Intentando reiniciar: " -#: common.c:321 +#: common.c:360 #, c-format msgid "Failed.\n" msgstr "Falló.\n" -#: common.c:338 +#: common.c:377 #, c-format msgid "Succeeded.\n" msgstr "Con éxito.\n" -#: common.c:390 common.c:1021 +#: common.c:430 common.c:1061 #, c-format msgid "unexpected PQresultStatus: %d" msgstr "PQresultStatus no esperado: %d" -#: common.c:531 +#: common.c:571 #, c-format msgid "Time: %.3f ms\n" msgstr "Duración: %.3f ms\n" -#: common.c:546 +#: common.c:586 #, c-format msgid "Time: %.3f ms (%02d:%06.3f)\n" msgstr "Duración: %.3f ms (%02d:%06.3f)\n" -#: common.c:555 +#: common.c:595 #, c-format msgid "Time: %.3f ms (%02d:%02d:%06.3f)\n" msgstr "Duración: %.3f ms (%02d:%02d:%06.3f)\n" -#: common.c:562 +#: common.c:602 #, c-format msgid "Time: %.3f ms (%.0f d %02d:%02d:%06.3f)\n" msgstr "Duración: %.3f ms (%.0f d %02d:%02d:%06.3f)\n" -#: common.c:586 common.c:643 common.c:1054 describe.c:6214 +#: common.c:626 common.c:683 common.c:1094 describe.c:6192 #, c-format msgid "You are currently not connected to a database." msgstr "No está conectado a una base de datos." -#: common.c:674 +#: common.c:714 #, c-format msgid "Asynchronous notification \"%s\" with payload \"%s\" received from server process with PID %d.\n" msgstr "Notificación asíncrona «%s» con carga «%s» recibida del proceso de servidor con PID %d.\n" -#: common.c:677 +#: common.c:717 #, c-format msgid "Asynchronous notification \"%s\" received from server process with PID %d.\n" msgstr "Notificación asíncrona «%s» recibida del proceso de servidor con PID %d.\n" -#: common.c:708 +#: common.c:748 #, c-format msgid "could not print result table: %m" msgstr "no se pudo mostrar la tabla de resultados: %m" -#: common.c:728 +#: common.c:768 #, c-format msgid "no rows returned for \\gset" msgstr "\\gset no retornó renglón alguno" -#: common.c:733 +#: common.c:773 #, c-format msgid "more than one row returned for \\gset" msgstr "\\gset retornó más de un renglón" -#: common.c:751 +#: common.c:791 #, c-format msgid "attempt to \\gset into specially treated variable \"%s\" ignored" msgstr "se ignoró intentó de hacer \\gset a variable con tratamiento especial «%s»" -#: common.c:1063 +#: common.c:1103 #, c-format +#| msgid "" +#| "***(Single step mode: verify command)*******************************************\n" +#| "%s\n" +#| "***(press return to proceed or enter x and return to cancel)********************\n" msgid "" -"***(Single step mode: verify command)*******************************************\n" +"/**(Single step mode: verify command)******************************************/\n" "%s\n" -"***(press return to proceed or enter x and return to cancel)********************\n" +"/**(press return to proceed or enter x and return to cancel)*******************/\n" msgstr "" -"***(Modo paso a paso: verifique la orden)****************************************\n" +"/**(Modo paso a paso: verifique la orden)**************************************/\n" "%s\n" -"***(presione enter para continuar, o x y enter para cancelar)*******************\n" +"/**(presione enter para continuar, o x y enter para cancelar)******************/\n" -#: common.c:1146 +#: common.c:1180 #, c-format msgid "STATEMENT: %s" msgstr "SENTENCIA: %s" -#: common.c:1182 +#: common.c:1216 #, c-format msgid "unexpected transaction status (%d)" msgstr "estado de transacción inesperado (%d)" -#: common.c:1335 describe.c:2026 +#: common.c:1369 describe.c:2025 msgid "Column" msgstr "Columna" -#: common.c:1336 describe.c:170 describe.c:358 describe.c:376 describe.c:1046 -#: describe.c:1200 describe.c:1732 describe.c:1756 describe.c:2027 -#: describe.c:3958 describe.c:4170 describe.c:4409 describe.c:4571 -#: describe.c:5846 +#: common.c:1370 describe.c:169 describe.c:355 describe.c:373 describe.c:1043 +#: describe.c:1201 describe.c:1731 describe.c:1755 describe.c:2026 +#: describe.c:3956 describe.c:4167 describe.c:4404 describe.c:4564 +#: describe.c:5829 msgid "Type" msgstr "Tipo" -#: common.c:1385 +#: common.c:1419 #, c-format msgid "The command has no result, or the result has no columns.\n" msgstr "La orden no tiene resultado, o el resultado no tiene columnas.\n" +#: common.c:1511 +#, c-format +msgid "fetching results in chunked mode failed" +msgstr "la obtención de resultados en modo trozado falló" + #: copy.c:98 #, c-format msgid "\\copy: arguments required" @@ -941,11 +1002,6 @@ msgstr "\\copy: error de procesamiento en «%s»" msgid "\\copy: parse error at end of line" msgstr "\\copy: error de procesamiento al final de la línea" -#: copy.c:326 -#, c-format -msgid "could not execute command \"%s\": %m" -msgstr "no se pudo ejecutar la orden «%s»: %m" - #: copy.c:342 #, c-format msgid "could not stat file \"%s\": %m" @@ -983,338 +1039,340 @@ msgstr "" "Ingrese los datos a ser copiados seguidos de un fin de línea.\n" "Termine con un backslash y un punto, o una señal EOF." -#: copy.c:682 +#: copy.c:684 msgid "aborted because of read failure" msgstr "se abortó por un error de lectura" -#: copy.c:716 +#: copy.c:718 msgid "trying to exit copy mode" msgstr "tratando de salir del modo copy" -#: crosstabview.c:123 +#: crosstabview.c:124 #, c-format msgid "\\crosstabview: statement did not return a result set" msgstr "\\crosstabview: la sentencia no produjo un conjunto de resultados" -#: crosstabview.c:129 +#: crosstabview.c:130 #, c-format msgid "\\crosstabview: query must return at least three columns" msgstr "\\crosstabview: la consulta debe retornar al menos tres columnas" -#: crosstabview.c:156 +#: crosstabview.c:157 #, c-format msgid "\\crosstabview: vertical and horizontal headers must be different columns" msgstr "\\crosstabview: los encabezados verticales y horizontales deben ser columnas distintas" -#: crosstabview.c:172 +#: crosstabview.c:173 #, c-format msgid "\\crosstabview: data column must be specified when query returns more than three columns" msgstr "\\crosstabview: la columna de datos debe ser especificada cuando la consulta retorna más de tres columnas" -#: crosstabview.c:228 +#: crosstabview.c:229 #, c-format msgid "\\crosstabview: maximum number of columns (%d) exceeded" msgstr "\\crosstabview: se superó el número máximo de columnas (%d)" -#: crosstabview.c:397 +#: crosstabview.c:398 #, c-format msgid "\\crosstabview: query result contains multiple data values for row \"%s\", column \"%s\"" msgstr "\\crosstabview: el resultado de la consulta contiene múltiples valores para la fila «%s», columna «%s»" -#: crosstabview.c:645 +#: crosstabview.c:646 #, c-format msgid "\\crosstabview: column number %d is out of range 1..%d" msgstr "\\crosstabview: el número de columna %d está fuera del rango 1..%d" -#: crosstabview.c:670 +#: crosstabview.c:671 #, c-format msgid "\\crosstabview: ambiguous column name: \"%s\"" msgstr "\\crosstabview: nombre de columna «%s» ambiguo" -#: crosstabview.c:678 +#: crosstabview.c:679 #, c-format msgid "\\crosstabview: column name not found: \"%s\"" msgstr "\\crosstabview: nombre de columna «%s» no encontrado" -#: describe.c:87 describe.c:338 describe.c:630 describe.c:807 describe.c:1038 -#: describe.c:1189 describe.c:1264 describe.c:3947 describe.c:4157 -#: describe.c:4407 describe.c:4489 describe.c:4724 describe.c:4932 -#: describe.c:5174 describe.c:5418 describe.c:5488 describe.c:5499 -#: describe.c:5556 describe.c:5960 describe.c:6038 +#: describe.c:87 describe.c:335 describe.c:626 describe.c:802 describe.c:1035 +#: describe.c:1190 describe.c:1264 describe.c:3945 describe.c:4154 +#: describe.c:4402 describe.c:4483 describe.c:4715 describe.c:4921 +#: describe.c:5165 describe.c:5406 describe.c:5475 describe.c:5486 +#: describe.c:5542 describe.c:5941 describe.c:6018 msgid "Schema" msgstr "Esquema" -#: describe.c:88 describe.c:167 describe.c:229 describe.c:339 describe.c:631 -#: describe.c:808 describe.c:930 describe.c:1039 describe.c:1265 -#: describe.c:3948 describe.c:4158 describe.c:4323 describe.c:4408 -#: describe.c:4490 describe.c:4653 describe.c:4725 describe.c:4933 -#: describe.c:5046 describe.c:5175 describe.c:5419 describe.c:5489 -#: describe.c:5500 describe.c:5557 describe.c:5756 describe.c:5827 -#: describe.c:6036 describe.c:6265 describe.c:6573 +#: describe.c:88 describe.c:166 describe.c:227 describe.c:336 describe.c:627 +#: describe.c:803 describe.c:924 describe.c:1036 describe.c:1265 +#: describe.c:3946 describe.c:4155 describe.c:4319 describe.c:4403 +#: describe.c:4484 describe.c:4645 describe.c:4716 describe.c:4922 +#: describe.c:5038 describe.c:5166 describe.c:5407 describe.c:5476 +#: describe.c:5487 describe.c:5543 describe.c:5740 describe.c:5810 +#: describe.c:6016 describe.c:6243 describe.c:6551 msgid "Name" msgstr "Nombre" -#: describe.c:89 describe.c:351 describe.c:369 +#: describe.c:89 describe.c:348 describe.c:366 msgid "Result data type" msgstr "Tipo de dato de salida" -#: describe.c:90 describe.c:352 describe.c:370 +#: describe.c:90 describe.c:349 describe.c:367 msgid "Argument data types" msgstr "Tipos de datos de argumentos" -#: describe.c:98 describe.c:105 describe.c:178 describe.c:243 describe.c:418 -#: describe.c:662 describe.c:823 describe.c:974 describe.c:1267 describe.c:2047 -#: describe.c:3676 describe.c:4002 describe.c:4204 describe.c:4347 -#: describe.c:4421 describe.c:4499 describe.c:4666 describe.c:4844 -#: describe.c:4982 describe.c:5055 describe.c:5176 describe.c:5327 -#: describe.c:5369 describe.c:5435 describe.c:5492 describe.c:5501 -#: describe.c:5558 describe.c:5774 describe.c:5849 describe.c:5974 -#: describe.c:6039 describe.c:7093 +#: describe.c:98 describe.c:105 describe.c:177 describe.c:241 describe.c:415 +#: describe.c:658 describe.c:818 describe.c:972 describe.c:1267 describe.c:2046 +#: describe.c:3676 describe.c:4000 describe.c:4201 describe.c:4343 +#: describe.c:4416 describe.c:4493 describe.c:4658 describe.c:4834 +#: describe.c:4975 describe.c:5047 describe.c:5167 describe.c:5317 +#: describe.c:5358 describe.c:5423 describe.c:5479 describe.c:5488 +#: describe.c:5544 describe.c:5758 describe.c:5832 describe.c:5955 +#: describe.c:6019 describe.c:7078 msgid "Description" msgstr "Descripción" -#: describe.c:128 +#: describe.c:127 msgid "List of aggregate functions" msgstr "Listado de funciones de agregación" -#: describe.c:153 +#: describe.c:152 #, c-format msgid "The server (version %s) does not support access methods." msgstr "El servidor (versión %s) no soporta métodos de acceso." -#: describe.c:168 +#: describe.c:167 msgid "Index" msgstr "Indice" -#: describe.c:169 describe.c:3966 describe.c:4183 describe.c:5961 +#: describe.c:168 describe.c:3964 describe.c:4180 describe.c:5942 msgid "Table" msgstr "Tabla" -#: describe.c:177 describe.c:5758 +#: describe.c:176 describe.c:5742 msgid "Handler" msgstr "Manejador" -#: describe.c:201 +#: describe.c:199 msgid "List of access methods" msgstr "Lista de métodos de acceso" -#: describe.c:230 describe.c:404 describe.c:655 describe.c:931 describe.c:1188 -#: describe.c:3959 describe.c:4159 describe.c:4324 describe.c:4655 -#: describe.c:5047 describe.c:5757 describe.c:5828 describe.c:6266 -#: describe.c:6454 describe.c:6574 describe.c:6733 describe.c:6819 -#: describe.c:7081 +#: describe.c:228 describe.c:401 describe.c:651 describe.c:925 describe.c:1189 +#: describe.c:3957 describe.c:4156 describe.c:4320 describe.c:4647 +#: describe.c:5039 describe.c:5741 describe.c:5811 describe.c:6244 +#: describe.c:6431 describe.c:6552 describe.c:6722 describe.c:6807 +#: describe.c:7066 msgid "Owner" msgstr "Dueño" -#: describe.c:231 +#: describe.c:229 msgid "Location" msgstr "Ubicación" -#: describe.c:241 describe.c:3517 describe.c:3858 +#: describe.c:239 describe.c:3517 describe.c:3857 msgid "Options" msgstr "Opciones" -#: describe.c:242 describe.c:653 describe.c:972 describe.c:4001 +#: describe.c:240 describe.c:649 describe.c:970 describe.c:3999 msgid "Size" msgstr "Tamaño" -#: describe.c:266 +#: describe.c:263 msgid "List of tablespaces" msgstr "Listado de tablespaces" -#: describe.c:311 +#: describe.c:308 #, c-format msgid "\\df only takes [anptwS+] as options" msgstr "\\df sólo acepta las opciones [antpwS+]" -#: describe.c:319 +#: describe.c:316 #, c-format msgid "\\df does not take a \"%c\" option with server version %s" msgstr "\\df no acepta la opción «%c» en un servidor versión %s" #. translator: "agg" is short for "aggregate" -#: describe.c:354 describe.c:372 +#: describe.c:351 describe.c:369 msgid "agg" msgstr "agg" -#: describe.c:355 describe.c:373 +#: describe.c:352 describe.c:370 msgid "window" msgstr "ventana" -#: describe.c:356 +#: describe.c:353 msgid "proc" msgstr "proc" -#: describe.c:357 describe.c:375 +#: describe.c:354 describe.c:372 msgid "func" msgstr "func" -#: describe.c:374 describe.c:1397 +#: describe.c:371 describe.c:1397 msgid "trigger" msgstr "disparador" -#: describe.c:386 +#: describe.c:383 msgid "immutable" msgstr "inmutable" -#: describe.c:387 +#: describe.c:384 msgid "stable" msgstr "estable" -#: describe.c:388 +#: describe.c:385 msgid "volatile" msgstr "volátil" -#: describe.c:389 +#: describe.c:386 msgid "Volatility" msgstr "Volatilidad" -#: describe.c:397 +#: describe.c:394 msgid "restricted" msgstr "restringida" -#: describe.c:398 +#: describe.c:395 msgid "safe" msgstr "segura" -#: describe.c:399 +#: describe.c:396 msgid "unsafe" msgstr "insegura" -#: describe.c:400 +#: describe.c:397 msgid "Parallel" msgstr "Paralelismo" -#: describe.c:405 +#: describe.c:402 msgid "definer" msgstr "definidor" -#: describe.c:406 +#: describe.c:403 msgid "invoker" msgstr "invocador" -#: describe.c:407 +#: describe.c:404 msgid "Security" msgstr "Seguridad" -#: describe.c:412 +#: describe.c:409 msgid "Language" msgstr "Lenguaje" -#: describe.c:415 describe.c:652 +#: describe.c:412 describe.c:648 msgid "Internal name" msgstr "Nombre interno" -#: describe.c:589 +#: describe.c:585 msgid "List of functions" msgstr "Listado de funciones" -#: describe.c:654 +#: describe.c:650 msgid "Elements" msgstr "Elementos" -#: describe.c:706 +#: describe.c:701 msgid "List of data types" msgstr "Listado de tipos de dato" -#: describe.c:809 +#: describe.c:804 msgid "Left arg type" msgstr "Tipo arg izq" -#: describe.c:810 +#: describe.c:805 msgid "Right arg type" msgstr "Tipo arg der" -#: describe.c:811 +#: describe.c:806 msgid "Result type" msgstr "Tipo resultado" -#: describe.c:816 describe.c:4661 describe.c:4827 describe.c:5326 -#: describe.c:7010 describe.c:7014 +#: describe.c:811 describe.c:4653 describe.c:4817 describe.c:5316 +#: describe.c:6996 describe.c:7000 msgid "Function" msgstr "Función" -#: describe.c:897 +#: describe.c:891 msgid "List of operators" msgstr "Listado de operadores" -#: describe.c:932 +#: describe.c:926 msgid "Encoding" msgstr "Codificación" -#: describe.c:936 describe.c:940 +#: describe.c:930 describe.c:934 msgid "Locale Provider" msgstr "Proveedor de locale" -#: describe.c:944 describe.c:4947 +#: describe.c:938 describe.c:4936 msgid "Collate" msgstr "Collate" -#: describe.c:945 describe.c:4948 +#: describe.c:939 describe.c:4937 msgid "Ctype" msgstr "Ctype" -#: describe.c:949 describe.c:953 describe.c:4953 describe.c:4957 -msgid "ICU Locale" -msgstr "configuración ICU" +#: describe.c:943 describe.c:947 describe.c:951 describe.c:4942 describe.c:4946 +#: describe.c:4950 +#| msgid "locale" +msgid "Locale" +msgstr "Configuración regional" -#: describe.c:957 describe.c:961 describe.c:4962 describe.c:4966 +#: describe.c:955 describe.c:959 describe.c:4955 describe.c:4959 msgid "ICU Rules" msgstr "Reglas ICU:" -#: describe.c:973 +#: describe.c:971 msgid "Tablespace" msgstr "Tablespace" -#: describe.c:999 +#: describe.c:996 msgid "List of databases" msgstr "Listado de base de datos" -#: describe.c:1040 describe.c:1191 describe.c:3949 +#: describe.c:1037 describe.c:1192 describe.c:3947 msgid "table" msgstr "tabla" -#: describe.c:1041 describe.c:3950 +#: describe.c:1038 describe.c:3948 msgid "view" msgstr "vista" -#: describe.c:1042 describe.c:3951 +#: describe.c:1039 describe.c:3949 msgid "materialized view" msgstr "vista materializada" -#: describe.c:1043 describe.c:1193 describe.c:3953 +#: describe.c:1040 describe.c:1194 describe.c:3951 msgid "sequence" msgstr "secuencia" -#: describe.c:1044 describe.c:3955 +#: describe.c:1041 describe.c:3953 msgid "foreign table" msgstr "tabla foránea" -#: describe.c:1045 describe.c:3956 describe.c:4168 +#: describe.c:1042 describe.c:3954 describe.c:4165 msgid "partitioned table" msgstr "tabla particionada" -#: describe.c:1056 +#: describe.c:1058 msgid "Column privileges" msgstr "Privilegios de acceso a columnas" -#: describe.c:1087 describe.c:1121 +#: describe.c:1089 describe.c:1123 msgid "Policies" msgstr "Políticas" -#: describe.c:1150 describe.c:4577 describe.c:6678 +#: describe.c:1151 describe.c:4570 describe.c:6667 msgid "Access privileges" msgstr "Privilegios" -#: describe.c:1195 +#: describe.c:1196 msgid "function" msgstr "función" -#: describe.c:1197 +#: describe.c:1198 msgid "type" msgstr "tipo" -#: describe.c:1199 +#: describe.c:1200 msgid "schema" msgstr "esquema" @@ -1346,293 +1404,293 @@ msgstr "familia de operadores" msgid "rule" msgstr "regla" -#: describe.c:1421 +#: describe.c:1420 msgid "Object descriptions" msgstr "Descripciones de objetos" -#: describe.c:1486 describe.c:4074 +#: describe.c:1485 describe.c:4072 #, c-format msgid "Did not find any relation named \"%s\"." msgstr "No se encontró relación llamada «%s»." -#: describe.c:1489 describe.c:4077 +#: describe.c:1488 describe.c:4075 #, c-format msgid "Did not find any relations." msgstr "No se encontró ninguna relación." -#: describe.c:1685 +#: describe.c:1684 #, c-format msgid "Did not find any relation with OID %s." msgstr "No se encontró relación con OID %s." -#: describe.c:1733 describe.c:1757 +#: describe.c:1732 describe.c:1756 msgid "Start" msgstr "Inicio" -#: describe.c:1734 describe.c:1758 +#: describe.c:1733 describe.c:1757 msgid "Minimum" msgstr "Mínimo" -#: describe.c:1735 describe.c:1759 +#: describe.c:1734 describe.c:1758 msgid "Maximum" msgstr "Máximo" -#: describe.c:1736 describe.c:1760 +#: describe.c:1735 describe.c:1759 msgid "Increment" msgstr "Incremento" -#: describe.c:1737 describe.c:1761 describe.c:1890 describe.c:4493 -#: describe.c:4838 describe.c:4971 describe.c:4976 describe.c:6721 +#: describe.c:1736 describe.c:1760 describe.c:1889 describe.c:4487 +#: describe.c:4828 describe.c:4964 describe.c:4969 describe.c:6710 msgid "yes" msgstr "sí" -#: describe.c:1738 describe.c:1762 describe.c:1891 describe.c:4493 -#: describe.c:4835 describe.c:4971 describe.c:6722 +#: describe.c:1737 describe.c:1761 describe.c:1890 describe.c:4487 +#: describe.c:4825 describe.c:4964 describe.c:6711 msgid "no" msgstr "no" -#: describe.c:1739 describe.c:1763 +#: describe.c:1738 describe.c:1762 msgid "Cycles?" msgstr "¿Cicla?" -#: describe.c:1740 describe.c:1764 +#: describe.c:1739 describe.c:1763 msgid "Cache" msgstr "Cache" -#: describe.c:1805 +#: describe.c:1804 #, c-format msgid "Owned by: %s" msgstr "Asociada a: %s" -#: describe.c:1809 +#: describe.c:1808 #, c-format msgid "Sequence for identity column: %s" msgstr "Secuencia para columna identidad: %s" -#: describe.c:1817 +#: describe.c:1816 #, c-format msgid "Unlogged sequence \"%s.%s\"" msgstr "Secuencia unlogged «%s.%s»" -#: describe.c:1820 +#: describe.c:1819 #, c-format msgid "Sequence \"%s.%s\"" msgstr "Secuencia «%s.%s»" -#: describe.c:1963 +#: describe.c:1962 #, c-format msgid "Unlogged table \"%s.%s\"" msgstr "Tabla unlogged «%s.%s»" -#: describe.c:1966 +#: describe.c:1965 #, c-format msgid "Table \"%s.%s\"" msgstr "Tabla «%s.%s»" -#: describe.c:1970 +#: describe.c:1969 #, c-format msgid "View \"%s.%s\"" msgstr "Vista «%s.%s»" -#: describe.c:1975 +#: describe.c:1974 #, c-format msgid "Unlogged materialized view \"%s.%s\"" msgstr "Vista materializada unlogged «%s.%s»" -#: describe.c:1978 +#: describe.c:1977 #, c-format msgid "Materialized view \"%s.%s\"" msgstr "Vista materializada \"%s.%s\"" -#: describe.c:1983 +#: describe.c:1982 #, c-format msgid "Unlogged index \"%s.%s\"" msgstr "Índice unlogged «%s.%s»" -#: describe.c:1986 +#: describe.c:1985 #, c-format msgid "Index \"%s.%s\"" msgstr "Índice «%s.%s»" -#: describe.c:1991 +#: describe.c:1990 #, c-format msgid "Unlogged partitioned index \"%s.%s\"" msgstr "Índice particionado unlogged «%s.%s»" -#: describe.c:1994 +#: describe.c:1993 #, c-format msgid "Partitioned index \"%s.%s\"" msgstr "Índice particionado «%s.%s»" -#: describe.c:1998 +#: describe.c:1997 #, c-format msgid "TOAST table \"%s.%s\"" msgstr "Tabla TOAST «%s.%s»" -#: describe.c:2002 +#: describe.c:2001 #, c-format msgid "Composite type \"%s.%s\"" msgstr "Tipo compuesto «%s.%s»" -#: describe.c:2006 +#: describe.c:2005 #, c-format msgid "Foreign table \"%s.%s\"" msgstr "Tabla foránea «%s.%s»" -#: describe.c:2011 +#: describe.c:2010 #, c-format msgid "Unlogged partitioned table \"%s.%s\"" msgstr "Tabla unlogged particionada «%s.%s»" -#: describe.c:2014 +#: describe.c:2013 #, c-format msgid "Partitioned table \"%s.%s\"" msgstr "Tabla particionada «%s.%s»" -#: describe.c:2030 describe.c:4410 +#: describe.c:2029 describe.c:4405 msgid "Collation" msgstr "Ordenamiento" -#: describe.c:2031 describe.c:4411 +#: describe.c:2030 describe.c:4406 msgid "Nullable" msgstr "Nulable" -#: describe.c:2032 describe.c:4412 +#: describe.c:2031 describe.c:4407 msgid "Default" msgstr "Por omisión" -#: describe.c:2035 +#: describe.c:2034 msgid "Key?" msgstr "¿Llave?" -#: describe.c:2037 describe.c:4732 describe.c:4743 +#: describe.c:2036 describe.c:4723 describe.c:4734 msgid "Definition" msgstr "Definición" -#: describe.c:2039 describe.c:5773 describe.c:5848 describe.c:5914 -#: describe.c:5973 +#: describe.c:2038 describe.c:5757 describe.c:5831 describe.c:5896 +#: describe.c:5954 msgid "FDW options" msgstr "Opciones de FDW" -#: describe.c:2041 +#: describe.c:2040 msgid "Storage" msgstr "Almacenamiento" -#: describe.c:2043 +#: describe.c:2042 msgid "Compression" msgstr "Compresión" -#: describe.c:2045 +#: describe.c:2044 msgid "Stats target" msgstr "Estadísticas" -#: describe.c:2181 +#: describe.c:2180 #, c-format msgid "Partition of: %s %s%s" msgstr "Partición de: %s %s%s" -#: describe.c:2194 +#: describe.c:2193 msgid "No partition constraint" msgstr "Sin restricción de partición" -#: describe.c:2196 +#: describe.c:2195 #, c-format msgid "Partition constraint: %s" msgstr "Restricción de partición: %s" -#: describe.c:2220 +#: describe.c:2219 #, c-format msgid "Partition key: %s" msgstr "Llave de partición: %s" -#: describe.c:2246 +#: describe.c:2245 #, c-format msgid "Owning table: \"%s.%s\"" msgstr "Tabla dueña: «%s.%s»" -#: describe.c:2315 +#: describe.c:2314 msgid "primary key, " msgstr "llave primaria, " -#: describe.c:2318 +#: describe.c:2317 msgid "unique" msgstr "único" -#: describe.c:2320 +#: describe.c:2319 msgid " nulls not distinct" msgstr " nulls no distintos" -#: describe.c:2321 +#: describe.c:2320 msgid ", " msgstr ", " -#: describe.c:2328 +#: describe.c:2327 #, c-format msgid "for table \"%s.%s\"" msgstr "de tabla «%s.%s»" -#: describe.c:2332 +#: describe.c:2331 #, c-format msgid ", predicate (%s)" msgstr ", predicado (%s)" -#: describe.c:2335 +#: describe.c:2334 msgid ", clustered" msgstr ", clustered" -#: describe.c:2338 +#: describe.c:2337 msgid ", invalid" msgstr ", no válido" -#: describe.c:2341 +#: describe.c:2340 msgid ", deferrable" msgstr ", postergable" -#: describe.c:2344 +#: describe.c:2343 msgid ", initially deferred" msgstr ", inicialmente postergada" -#: describe.c:2347 +#: describe.c:2346 msgid ", replica identity" msgstr ", identidad de replicación" -#: describe.c:2401 +#: describe.c:2400 msgid "Indexes:" msgstr "Índices:" -#: describe.c:2484 +#: describe.c:2483 msgid "Check constraints:" msgstr "Restricciones CHECK:" -#: describe.c:2552 +#: describe.c:2551 msgid "Foreign-key constraints:" msgstr "Restricciones de llave foránea:" -#: describe.c:2615 +#: describe.c:2614 msgid "Referenced by:" msgstr "Referenciada por:" -#: describe.c:2665 +#: describe.c:2664 msgid "Policies:" msgstr "Políticas:" -#: describe.c:2668 +#: describe.c:2667 msgid "Policies (forced row security enabled):" msgstr "Políticas (seguridad de registros forzada):" -#: describe.c:2671 +#: describe.c:2670 msgid "Policies (row security enabled): (none)" msgstr "Políticas (seguridad de filas activa): (ninguna)" -#: describe.c:2674 +#: describe.c:2673 msgid "Policies (forced row security enabled): (none)" msgstr "Políticas (seguridad de filas forzada): (ninguna)" -#: describe.c:2677 +#: describe.c:2676 msgid "Policies (row security disabled):" msgstr "Políticas (seguridad de filas inactiva):" -#: describe.c:2737 describe.c:2841 +#: describe.c:2736 describe.c:2841 msgid "Statistics objects:" msgstr "Objetos de estadísticas:" @@ -1652,7 +1710,7 @@ msgstr "Reglas que se activan siempre:" msgid "Rules firing on replica only:" msgstr "Reglas que se activan sólo en las réplicas:" -#: describe.c:3031 describe.c:5109 +#: describe.c:3031 describe.c:5100 msgid "Publications:" msgstr "Publicaciones:" @@ -1751,7 +1809,7 @@ msgstr ", tablespace «%s»" msgid "List of roles" msgstr "Lista de roles" -#: describe.c:3672 describe.c:3841 +#: describe.c:3672 describe.c:3840 msgid "Role name" msgstr "Nombre de rol" @@ -1829,368 +1887,368 @@ msgstr "No se encontró ningún parámetro para el rol «%s»." msgid "Did not find any settings." msgstr "No se encontró ningún parámetro." -#: describe.c:3812 +#: describe.c:3811 msgid "List of settings" msgstr "Listado de parámetros" -#: describe.c:3842 +#: describe.c:3841 msgid "Member of" msgstr "Miembro de" -#: describe.c:3859 +#: describe.c:3858 msgid "Grantor" msgstr "Otorgador" -#: describe.c:3886 +#: describe.c:3884 msgid "List of role grants" msgstr "Lista de roles otorgados" -#: describe.c:3952 +#: describe.c:3950 msgid "index" msgstr "índice" -#: describe.c:3954 +#: describe.c:3952 msgid "TOAST table" msgstr "Tabla TOAST" -#: describe.c:3957 describe.c:4169 +#: describe.c:3955 describe.c:4166 msgid "partitioned index" msgstr "índice particionado" -#: describe.c:3977 +#: describe.c:3975 msgid "permanent" msgstr "permanente" -#: describe.c:3978 +#: describe.c:3976 msgid "temporary" msgstr "temporal" -#: describe.c:3979 +#: describe.c:3977 msgid "unlogged" msgstr "unlogged" -#: describe.c:3980 +#: describe.c:3978 msgid "Persistence" msgstr "Persistencia" -#: describe.c:3996 +#: describe.c:3994 msgid "Access method" msgstr "Método de acceso" -#: describe.c:4082 +#: describe.c:4079 msgid "List of relations" msgstr "Listado de relaciones" -#: describe.c:4130 +#: describe.c:4127 #, c-format msgid "The server (version %s) does not support declarative table partitioning." msgstr "El servidor (versión %s) no soporta particionamiento declarativo de tablas." -#: describe.c:4141 +#: describe.c:4138 msgid "List of partitioned indexes" msgstr "Listado de índices particionados" -#: describe.c:4143 +#: describe.c:4140 msgid "List of partitioned tables" msgstr "Listado de tablas particionadas" -#: describe.c:4147 +#: describe.c:4144 msgid "List of partitioned relations" msgstr "Listado de relaciones particionadas" -#: describe.c:4178 +#: describe.c:4175 msgid "Parent name" msgstr "Nombre del padre" -#: describe.c:4191 +#: describe.c:4188 msgid "Leaf partition size" msgstr "Tamaño de particiones hoja" -#: describe.c:4194 describe.c:4200 +#: describe.c:4191 describe.c:4197 msgid "Total size" msgstr "Tamaño total" -#: describe.c:4325 +#: describe.c:4321 msgid "Trusted" msgstr "Confiable" -#: describe.c:4334 +#: describe.c:4330 msgid "Internal language" msgstr "Lenguaje interno" -#: describe.c:4335 +#: describe.c:4331 msgid "Call handler" msgstr "Manejador de llamada" -#: describe.c:4336 describe.c:5759 +#: describe.c:4332 describe.c:5743 msgid "Validator" msgstr "Validador" -#: describe.c:4337 +#: describe.c:4333 msgid "Inline handler" msgstr "Manejador en línea" -#: describe.c:4372 +#: describe.c:4367 msgid "List of languages" msgstr "Lista de lenguajes" -#: describe.c:4413 +#: describe.c:4408 msgid "Check" msgstr "Check" -#: describe.c:4457 +#: describe.c:4451 msgid "List of domains" msgstr "Listado de dominios" -#: describe.c:4491 +#: describe.c:4485 msgid "Source" msgstr "Fuente" -#: describe.c:4492 +#: describe.c:4486 msgid "Destination" msgstr "Destino" -#: describe.c:4494 describe.c:6723 +#: describe.c:4488 describe.c:6712 msgid "Default?" msgstr "Por omisión?" -#: describe.c:4536 +#: describe.c:4529 msgid "List of conversions" msgstr "Listado de conversiones" -#: describe.c:4564 +#: describe.c:4557 msgid "Parameter" msgstr "Parámetro" -#: describe.c:4565 +#: describe.c:4558 msgid "Value" msgstr "Valor" -#: describe.c:4572 +#: describe.c:4565 msgid "Context" msgstr "Contexto" -#: describe.c:4605 +#: describe.c:4597 msgid "List of configuration parameters" msgstr "Listado de parámetro de configuración" -#: describe.c:4607 +#: describe.c:4599 msgid "List of non-default configuration parameters" msgstr "Listado de parámetros de configuración no-default" -#: describe.c:4634 +#: describe.c:4626 #, c-format msgid "The server (version %s) does not support event triggers." msgstr "El servidor (versión %s) no soporta triggers por eventos." -#: describe.c:4654 +#: describe.c:4646 msgid "Event" msgstr "Evento" -#: describe.c:4656 +#: describe.c:4648 msgid "enabled" msgstr "activo" -#: describe.c:4657 +#: describe.c:4649 msgid "replica" msgstr "réplica" -#: describe.c:4658 +#: describe.c:4650 msgid "always" msgstr "siempre" -#: describe.c:4659 +#: describe.c:4651 msgid "disabled" msgstr "inactivo" -#: describe.c:4660 describe.c:6575 +#: describe.c:4652 describe.c:6553 msgid "Enabled" msgstr "Activo" -#: describe.c:4662 +#: describe.c:4654 msgid "Tags" msgstr "Etiquetas" -#: describe.c:4686 +#: describe.c:4677 msgid "List of event triggers" msgstr "Listado de disparadores por eventos" -#: describe.c:4713 +#: describe.c:4704 #, c-format msgid "The server (version %s) does not support extended statistics." msgstr "El servidor (versión %s) no soporta estadísticas extendidas." -#: describe.c:4750 +#: describe.c:4741 msgid "Ndistinct" msgstr "Ndistinct" -#: describe.c:4751 +#: describe.c:4742 msgid "Dependencies" msgstr "Dependencias" -#: describe.c:4761 +#: describe.c:4752 msgid "MCV" msgstr "MCV" -#: describe.c:4785 +#: describe.c:4775 msgid "List of extended statistics" msgstr "Lista de estadísticas extendidas" -#: describe.c:4812 +#: describe.c:4802 msgid "Source type" msgstr "Tipo fuente" -#: describe.c:4813 +#: describe.c:4803 msgid "Target type" msgstr "Tipo destino" -#: describe.c:4837 +#: describe.c:4827 msgid "in assignment" msgstr "en asignación" -#: describe.c:4839 +#: describe.c:4829 msgid "Implicit?" msgstr "Implícito?" -#: describe.c:4898 +#: describe.c:4887 msgid "List of casts" msgstr "Listado de conversiones de tipo (casts)" -#: describe.c:4938 describe.c:4942 +#: describe.c:4927 describe.c:4931 msgid "Provider" msgstr "Proveedor" -#: describe.c:4972 describe.c:4977 +#: describe.c:4965 describe.c:4970 msgid "Deterministic?" msgstr "¿Determinístico?" -#: describe.c:5017 +#: describe.c:5009 msgid "List of collations" msgstr "Listado de ordenamientos" -#: describe.c:5079 +#: describe.c:5070 msgid "List of schemas" msgstr "Listado de esquemas" -#: describe.c:5196 +#: describe.c:5186 msgid "List of text search parsers" msgstr "Listado de analizadores de búsqueda en texto" -#: describe.c:5246 +#: describe.c:5236 #, c-format msgid "Did not find any text search parser named \"%s\"." msgstr "No se encontró ningún analizador de búsqueda en texto llamado «%s»." -#: describe.c:5249 +#: describe.c:5239 #, c-format msgid "Did not find any text search parsers." msgstr "No se encontró ningún analizador de búsqueda en texto." -#: describe.c:5324 +#: describe.c:5314 msgid "Start parse" msgstr "Inicio de parse" -#: describe.c:5325 +#: describe.c:5315 msgid "Method" msgstr "Método" -#: describe.c:5329 +#: describe.c:5319 msgid "Get next token" msgstr "Obtener siguiente elemento" -#: describe.c:5331 +#: describe.c:5321 msgid "End parse" msgstr "Fin de parse" -#: describe.c:5333 +#: describe.c:5323 msgid "Get headline" msgstr "Obtener encabezado" -#: describe.c:5335 +#: describe.c:5325 msgid "Get token types" msgstr "Obtener tipos de elemento" -#: describe.c:5346 +#: describe.c:5335 #, c-format msgid "Text search parser \"%s.%s\"" msgstr "Analizador de búsqueda en texto «%s.%s»" -#: describe.c:5349 +#: describe.c:5338 #, c-format msgid "Text search parser \"%s\"" msgstr "Analizador de búsqueda en texto «%s»" -#: describe.c:5368 +#: describe.c:5357 msgid "Token name" msgstr "Nombre de elemento" -#: describe.c:5382 +#: describe.c:5370 #, c-format msgid "Token types for parser \"%s.%s\"" msgstr "Tipos de elemento para el analizador «%s.%s»" -#: describe.c:5385 +#: describe.c:5373 #, c-format msgid "Token types for parser \"%s\"" msgstr "Tipos de elemento para el analizador «%s»" -#: describe.c:5429 +#: describe.c:5417 msgid "Template" msgstr "Plantilla" -#: describe.c:5430 +#: describe.c:5418 msgid "Init options" msgstr "Opciones de inicialización" -#: describe.c:5457 +#: describe.c:5444 msgid "List of text search dictionaries" msgstr "Listado de diccionarios de búsqueda en texto" -#: describe.c:5490 +#: describe.c:5477 msgid "Init" msgstr "Inicializador" -#: describe.c:5491 +#: describe.c:5478 msgid "Lexize" msgstr "Fn. análisis léx." -#: describe.c:5523 +#: describe.c:5509 msgid "List of text search templates" msgstr "Listado de plantillas de búsqueda en texto" -#: describe.c:5578 +#: describe.c:5563 msgid "List of text search configurations" msgstr "Listado de configuraciones de búsqueda en texto" -#: describe.c:5629 +#: describe.c:5614 #, c-format msgid "Did not find any text search configuration named \"%s\"." msgstr "No se encontró una configuración de búsqueda en texto llamada «%s»." -#: describe.c:5632 +#: describe.c:5617 #, c-format msgid "Did not find any text search configurations." msgstr "No se encontró una configuración de búsqueda en texto." -#: describe.c:5698 +#: describe.c:5683 msgid "Token" msgstr "Elemento" -#: describe.c:5699 +#: describe.c:5684 msgid "Dictionaries" msgstr "Diccionarios" -#: describe.c:5710 +#: describe.c:5695 #, c-format msgid "Text search configuration \"%s.%s\"" msgstr "Configuración de búsqueda en texto «%s.%s»" -#: describe.c:5713 +#: describe.c:5698 #, c-format msgid "Text search configuration \"%s\"" msgstr "Configuración de búsqueda en texto «%s»" -#: describe.c:5717 +#: describe.c:5702 #, c-format msgid "" "\n" @@ -2199,7 +2257,7 @@ msgstr "" "\n" "Analizador: «%s.%s»" -#: describe.c:5720 +#: describe.c:5705 #, c-format msgid "" "\n" @@ -2208,265 +2266,274 @@ msgstr "" "\n" "Analizador: «%s»" -#: describe.c:5801 +#: describe.c:5784 msgid "List of foreign-data wrappers" msgstr "Listado de conectores de datos externos" -#: describe.c:5829 +#: describe.c:5812 msgid "Foreign-data wrapper" msgstr "Conectores de datos externos" -#: describe.c:5847 describe.c:6037 +#: describe.c:5830 describe.c:6017 msgid "Version" msgstr "Versión" -#: describe.c:5878 +#: describe.c:5860 msgid "List of foreign servers" msgstr "Listado de servidores foráneos" -#: describe.c:5903 describe.c:5962 +#: describe.c:5885 describe.c:5943 msgid "Server" msgstr "Servidor" -#: describe.c:5904 +#: describe.c:5886 msgid "User name" msgstr "Nombre de usuario" -#: describe.c:5934 +#: describe.c:5915 msgid "List of user mappings" msgstr "Listado de mapeos de usuario" -#: describe.c:6007 +#: describe.c:5987 msgid "List of foreign tables" msgstr "Listado de tablas foráneas" -#: describe.c:6059 +#: describe.c:6038 msgid "List of installed extensions" msgstr "Listado de extensiones instaladas" -#: describe.c:6107 +#: describe.c:6086 #, c-format msgid "Did not find any extension named \"%s\"." msgstr "No se encontró extensión llamada «%s»." -#: describe.c:6110 +#: describe.c:6089 #, c-format msgid "Did not find any extensions." msgstr "No se encontró ninguna extensión." -#: describe.c:6154 +#: describe.c:6133 msgid "Object description" msgstr "Descripción de objeto" -#: describe.c:6164 +#: describe.c:6142 #, c-format msgid "Objects in extension \"%s\"" msgstr "Objetos en extensión «%s»" -#: describe.c:6205 +#: describe.c:6183 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "el nombre no es válido (demasiados puntos): %s" -#: describe.c:6219 +#: describe.c:6197 #, c-format msgid "cross-database references are not implemented: %s" msgstr "no están implementadas las referencias entre bases de datos: %s" -#: describe.c:6250 describe.c:6377 +#: describe.c:6228 describe.c:6354 #, c-format msgid "The server (version %s) does not support publications." msgstr "El servidor (versión %s) no soporta publicaciones." -#: describe.c:6267 describe.c:6455 +#: describe.c:6245 describe.c:6432 msgid "All tables" msgstr "Todas las tablas" -#: describe.c:6268 describe.c:6456 +#: describe.c:6246 describe.c:6433 msgid "Inserts" msgstr "Inserts" -#: describe.c:6269 describe.c:6457 +#: describe.c:6247 describe.c:6434 msgid "Updates" msgstr "Updates" -#: describe.c:6270 describe.c:6458 +#: describe.c:6248 describe.c:6435 msgid "Deletes" msgstr "Deletes" -#: describe.c:6274 describe.c:6460 +#: describe.c:6252 describe.c:6437 msgid "Truncates" msgstr "Truncates" -#: describe.c:6278 describe.c:6462 +#: describe.c:6256 describe.c:6439 msgid "Via root" msgstr "Via root" -#: describe.c:6300 +#: describe.c:6277 msgid "List of publications" msgstr "Listado de publicaciones" -#: describe.c:6424 +#: describe.c:6401 #, c-format msgid "Did not find any publication named \"%s\"." msgstr "No se encontró publicación llamada «%s»." -#: describe.c:6427 +#: describe.c:6404 #, c-format msgid "Did not find any publications." msgstr "No se encontró ninguna publicación." -#: describe.c:6451 +#: describe.c:6428 #, c-format msgid "Publication %s" msgstr "Publicación %s" -#: describe.c:6504 +#: describe.c:6481 msgid "Tables:" msgstr "Tablas:" -#: describe.c:6516 +#: describe.c:6493 msgid "Tables from schemas:" msgstr "Tablas de esquemas:" -#: describe.c:6560 +#: describe.c:6538 #, c-format msgid "The server (version %s) does not support subscriptions." msgstr "El servidor (versión %s) no soporta suscripciones." -#: describe.c:6576 +#: describe.c:6554 msgid "Publication" msgstr "Publicación" -#: describe.c:6585 +#: describe.c:6563 msgid "Binary" msgstr "Binario" -#: describe.c:6594 describe.c:6598 +#: describe.c:6572 describe.c:6576 msgid "Streaming" msgstr "De flujo" -#: describe.c:6606 +#: describe.c:6584 msgid "Two-phase commit" msgstr "Commit 2-fases" -#: describe.c:6607 +#: describe.c:6585 msgid "Disable on error" msgstr "Desactivar en error" -#: describe.c:6614 +#: describe.c:6592 msgid "Origin" msgstr "Origen" -#: describe.c:6615 +#: describe.c:6593 msgid "Password required" msgstr "Contraseña requerida" -#: describe.c:6616 +#: describe.c:6594 msgid "Run as owner?" msgstr "¿Ejec. como dueño?" -#: describe.c:6621 +#: describe.c:6599 +#| msgid "Failed.\n" +msgid "Failover" +msgstr "“Failover”" + +#: describe.c:6604 msgid "Synchronous commit" msgstr "Commit síncrono" -#: describe.c:6622 +#: describe.c:6605 msgid "Conninfo" msgstr "Conninfo" -#: describe.c:6628 +#: describe.c:6611 msgid "Skip LSN" msgstr "Saltar LSN" -#: describe.c:6655 +#: describe.c:6637 msgid "List of subscriptions" msgstr "Listado de suscripciones" -#: describe.c:6717 describe.c:6813 describe.c:6906 describe.c:7001 +#: describe.c:6666 +msgid "(none)" +msgstr "(ninguno)" + +#: describe.c:6706 describe.c:6801 describe.c:6893 describe.c:6987 msgid "AM" msgstr "AM" -#: describe.c:6718 +#: describe.c:6707 msgid "Input type" msgstr "Tipo de entrada" -#: describe.c:6719 +#: describe.c:6708 msgid "Storage type" msgstr "Tipo de almacenamiento" -#: describe.c:6720 +#: describe.c:6709 msgid "Operator class" msgstr "Clase de operador" -#: describe.c:6732 describe.c:6814 describe.c:6907 describe.c:7002 +#: describe.c:6721 describe.c:6802 describe.c:6894 describe.c:6988 msgid "Operator family" msgstr "Familia de operadores" -#: describe.c:6768 +#: describe.c:6756 msgid "List of operator classes" msgstr "Listado de clases de operador" -#: describe.c:6815 +#: describe.c:6803 msgid "Applicable types" msgstr "Tipos aplicables" -#: describe.c:6857 +#: describe.c:6844 msgid "List of operator families" msgstr "Listado de familias de operadores" -#: describe.c:6908 +#: describe.c:6895 msgid "Operator" msgstr "Operador" -#: describe.c:6909 +#: describe.c:6896 msgid "Strategy" msgstr "Estrategia" -#: describe.c:6910 +#: describe.c:6897 msgid "ordering" msgstr "ordenamiento" -#: describe.c:6911 +#: describe.c:6898 msgid "search" msgstr "búsqueda" -#: describe.c:6912 +#: describe.c:6899 msgid "Purpose" msgstr "Propósito" -#: describe.c:6917 +#: describe.c:6904 msgid "Sort opfamily" msgstr "familia de ops de ordenamiento" -#: describe.c:6956 +#: describe.c:6942 msgid "List of operators of operator families" msgstr "Lista de operadores de familias de operadores" -#: describe.c:7003 +#: describe.c:6989 msgid "Registered left type" msgstr "Tipo de dato izquierdo registrado" -#: describe.c:7004 +#: describe.c:6990 msgid "Registered right type" msgstr "Tipo de dato derecho registrado" -#: describe.c:7005 +#: describe.c:6991 msgid "Number" msgstr "Número" -#: describe.c:7049 +#: describe.c:7034 msgid "List of support functions of operator families" msgstr "Listado de funciones de la familia de operadores %s" -#: describe.c:7080 +#: describe.c:7065 msgid "ID" msgstr "ID" -#: describe.c:7101 +#: describe.c:7085 msgid "Large objects" msgstr "Objetos grandes" -#: help.c:75 +#: help.c:63 msgid "" "psql is the PostgreSQL interactive terminal.\n" "\n" @@ -2474,11 +2541,11 @@ msgstr "" "psql es el terminal interactivo de PostgreSQL.\n" "\n" -#: help.c:76 help.c:395 help.c:479 help.c:522 +#: help.c:64 help.c:372 help.c:456 help.c:499 msgid "Usage:\n" msgstr "Empleo:\n" -#: help.c:77 +#: help.c:65 msgid "" " psql [OPTION]... [DBNAME [USERNAME]]\n" "\n" @@ -2486,30 +2553,28 @@ msgstr "" " psql [OPCIONES]... [BASE-DE-DATOS [USUARIO]]\n" "\n" -#: help.c:79 +#: help.c:67 msgid "General options:\n" msgstr "Opciones generales:\n" -#: help.c:84 +#: help.c:68 msgid " -c, --command=COMMAND run only single command (SQL or internal) and exit\n" msgstr " -c, --command=ORDEN ejecutar sólo una orden (SQL o interna) y salir\n" -#: help.c:85 -#, c-format -msgid " -d, --dbname=DBNAME database name to connect to (default: \"%s\")\n" -msgstr "" -" -d, --dbname=NOMBRE nombre de base de datos a conectarse\n" -" (por omisión: «%s»)\n" +#: help.c:69 +#| msgid " -d, --dbname=DBNAME database to connect to\n" +msgid " -d, --dbname=DBNAME database name to connect to\n" +msgstr " -d, --dbname=BASE base de datos a la cual conectarse\n" -#: help.c:87 +#: help.c:70 msgid " -f, --file=FILENAME execute commands from file, then exit\n" msgstr " -f, --file=ARCHIVO ejecutar órdenes desde archivo, luego salir\n" -#: help.c:88 +#: help.c:71 msgid " -l, --list list available databases, then exit\n" msgstr " -l, --list listar bases de datos, luego salir\n" -#: help.c:89 +#: help.c:72 msgid "" " -v, --set=, --variable=NAME=VALUE\n" " set psql variable NAME to VALUE\n" @@ -2519,15 +2584,15 @@ msgstr "" " definir variable de psql NOMBRE a VALOR\n" " (p.ej. -v ON_ERROR_STOP=1)\n" -#: help.c:92 +#: help.c:75 msgid " -V, --version output version information, then exit\n" msgstr " -V, --version mostrar información de versión, luego salir\n" -#: help.c:93 +#: help.c:76 msgid " -X, --no-psqlrc do not read startup file (~/.psqlrc)\n" msgstr " -X, --no-psqlrc no leer archivo de configuración (~/.psqlrc)\n" -#: help.c:94 +#: help.c:77 msgid "" " -1 (\"one\"), --single-transaction\n" " execute as a single transaction (if non-interactive)\n" @@ -2535,19 +2600,19 @@ msgstr "" " -1 («uno»), --single-transaction\n" " ejecuta órdenes en una única transacción\n" -#: help.c:96 +#: help.c:79 msgid " -?, --help[=options] show this help, then exit\n" msgstr " -?, --help[=opcs] mostrar esta ayuda, luego salir\n" -#: help.c:97 +#: help.c:80 msgid " --help=commands list backslash commands, then exit\n" msgstr " --help=commands listar órdenes backslash, luego salir\n" -#: help.c:98 +#: help.c:81 msgid " --help=variables list special variables, then exit\n" msgstr " --help=variables listar variables especiales, luego salir\n" -#: help.c:100 +#: help.c:83 msgid "" "\n" "Input and output options:\n" @@ -2555,47 +2620,47 @@ msgstr "" "\n" "Opciones de entrada y salida:\n" -#: help.c:101 +#: help.c:84 msgid " -a, --echo-all echo all input from script\n" msgstr " -a, --echo-all mostrar las órdenes del script\n" -#: help.c:102 +#: help.c:85 msgid " -b, --echo-errors echo failed commands\n" msgstr " -b, --echo-errors mostrar órdenes fallidas\n" -#: help.c:103 +#: help.c:86 msgid " -e, --echo-queries echo commands sent to server\n" msgstr " -e, --echo-queries mostrar órdenes enviadas al servidor\n" -#: help.c:104 +#: help.c:87 msgid " -E, --echo-hidden display queries that internal commands generate\n" msgstr " -E, --echo-hidden mostrar consultas generadas por órdenes internas\n" -#: help.c:105 +#: help.c:88 msgid " -L, --log-file=FILENAME send session log to file\n" msgstr " -L, --log-file=ARCH envía el registro de la sesión a un archivo\n" -#: help.c:106 +#: help.c:89 msgid " -n, --no-readline disable enhanced command line editing (readline)\n" msgstr " -n, --no-readline deshabilitar edición de línea de órdenes (readline)\n" -#: help.c:107 +#: help.c:90 msgid " -o, --output=FILENAME send query results to file (or |pipe)\n" msgstr " -o, --output=ARCHIVO enviar resultados de consultas a archivo (u |orden)\n" -#: help.c:108 +#: help.c:91 msgid " -q, --quiet run quietly (no messages, only query output)\n" msgstr " -q, --quiet modo silencioso (sin mensajes, sólo resultados)\n" -#: help.c:109 +#: help.c:92 msgid " -s, --single-step single-step mode (confirm each query)\n" msgstr " -s, --single-step modo paso a paso (confirmar cada consulta)\n" -#: help.c:110 +#: help.c:93 msgid " -S, --single-line single-line mode (end of line terminates SQL command)\n" msgstr " -S, --single-line modo de líneas (fin de línea termina la orden SQL)\n" -#: help.c:112 +#: help.c:95 msgid "" "\n" "Output format options:\n" @@ -2603,15 +2668,15 @@ msgstr "" "\n" "Opciones de formato de salida:\n" -#: help.c:113 +#: help.c:96 msgid " -A, --no-align unaligned table output mode\n" msgstr " -A, --no-align modo de salida desalineado\n" -#: help.c:114 +#: help.c:97 msgid " --csv CSV (Comma-Separated Values) table output mode\n" msgstr " --csv modo de salida de tabla CSV (valores separados por comas)\n" -#: help.c:115 +#: help.c:98 #, c-format msgid "" " -F, --field-separator=STRING\n" @@ -2620,15 +2685,15 @@ msgstr "" " -F, --field-separator=CADENA separador de campos para salida desalineada\n" " (por omisión: «%s»)\n" -#: help.c:118 +#: help.c:101 msgid " -H, --html HTML table output mode\n" msgstr " -H, --html modo de salida en tablas HTML\n" -#: help.c:119 +#: help.c:102 msgid " -P, --pset=VAR[=ARG] set printing option VAR to ARG (see \\pset command)\n" msgstr " -P, --pset=VAR[=ARG] definir opción de impresión VAR en ARG (ver orden \\pset)\n" -#: help.c:120 +#: help.c:103 msgid "" " -R, --record-separator=STRING\n" " record separator for unaligned output (default: newline)\n" @@ -2636,21 +2701,21 @@ msgstr "" " -R, --record-separator=CADENA separador de registros para salida desalineada\n" " (por omisión: salto de línea)\n" -#: help.c:122 +#: help.c:105 msgid " -t, --tuples-only print rows only\n" msgstr " -t, --tuples-only sólo muestra registros\n" -#: help.c:123 +#: help.c:106 msgid " -T, --table-attr=TEXT set HTML table tag attributes (e.g., width, border)\n" msgstr "" " -T, --table-attr=TEXTO\n" " definir atributos de marcas de tabla HTML (ancho, borde)\n" -#: help.c:124 +#: help.c:107 msgid " -x, --expanded turn on expanded table output\n" msgstr " -x, --expanded activar modo expandido de salida de tablas\n" -#: help.c:125 +#: help.c:108 msgid "" " -z, --field-separator-zero\n" " set field separator for unaligned output to zero byte\n" @@ -2658,7 +2723,7 @@ msgstr "" " -z, --field-separator-zero\n" " definir separador de campos para salida desalineada al byte cero\n" -#: help.c:127 +#: help.c:110 msgid "" " -0, --record-separator-zero\n" " set record separator for unaligned output to zero byte\n" @@ -2666,7 +2731,7 @@ msgstr "" " -0, --record-separator-zero\n" " definir separador de filas para salida desalineada al byte cero\n" -#: help.c:130 +#: help.c:113 msgid "" "\n" "Connection options:\n" @@ -2674,40 +2739,32 @@ msgstr "" "\n" "Opciones de conexión:\n" -#: help.c:133 -#, c-format -msgid " -h, --host=HOSTNAME database server host or socket directory (default: \"%s\")\n" +#: help.c:114 +msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr "" -" -h, --host=NOMBRE nombre del anfitrión o directorio de socket\n" -" (por omisión: «%s»)\n" - -#: help.c:134 -msgid "local socket" -msgstr "socket local" +" -h, --host=ANFITRIÓN anfitrión de la base de datos o\n" +" directorio del enchufe (socket)\n" -#: help.c:137 -#, c-format -msgid " -p, --port=PORT database server port (default: \"%s\")\n" -msgstr " -p, --port=PUERTO puerto del servidor (por omisión: «%s»)\n" +#: help.c:115 +msgid " -p, --port=PORT database server port\n" +msgstr " -p, --port=PUERTO puerto del servidor\n" -#: help.c:140 -#, c-format -msgid " -U, --username=USERNAME database user name (default: \"%s\")\n" -msgstr "" -" -U, --username=NOMBRE\n" -" nombre de usuario (por omisión: «%s»)\n" +#: help.c:116 +#| msgid " -U, --username=NAME database superuser name\n" +msgid " -U, --username=USERNAME database user name\n" +msgstr " -U, --username=USUARIO nombre usuario de la base de datos\n" -#: help.c:142 +#: help.c:117 msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password nunca pedir contraseña\n" -#: help.c:143 +#: help.c:118 msgid " -W, --password force password prompt (should happen automatically)\n" msgstr "" " -W, --password forzar petición de contraseña\n" " (debería ser automático)\n" -#: help.c:145 +#: help.c:120 msgid "" "\n" "For more information, type \"\\?\" (for internal commands) or \"\\help\" (for SQL\n" @@ -2721,41 +2778,41 @@ msgstr "" "en la documentación de PostgreSQL.\n" "\n" -#: help.c:148 +#: help.c:123 #, c-format msgid "Report bugs to <%s>.\n" msgstr "Reporte de errores a <%s>.\n" -#: help.c:149 +#: help.c:124 #, c-format msgid "%s home page: <%s>\n" msgstr "Sitio web de %s: <%s>\n" -#: help.c:191 +#: help.c:166 msgid "General\n" msgstr "General\n" -#: help.c:192 +#: help.c:167 msgid " \\bind [PARAM]... set query parameters\n" msgstr "" " \\bind [PARAM]...\n" " definir parámetros de consulta\n" -#: help.c:193 +#: help.c:168 msgid " \\copyright show PostgreSQL usage and distribution terms\n" msgstr " \\copyright mostrar términos de uso y distribución de PostgreSQL\n" -#: help.c:194 +#: help.c:169 msgid " \\crosstabview [COLUMNS] execute query and display result in crosstab\n" msgstr "" " \\crosstabview [COLUMNAS]\n" " ejecutar la consulta y desplegar en «crosstab»\n" -#: help.c:195 +#: help.c:170 msgid " \\errverbose show most recent error message at maximum verbosity\n" msgstr " \\errverbose mostrar error más reciente en máxima verbosidad\n" -#: help.c:196 +#: help.c:171 msgid "" " \\g [(OPTIONS)] [FILE] execute query (and send result to file or |pipe);\n" " \\g with no arguments is equivalent to a semicolon\n" @@ -2764,242 +2821,248 @@ msgstr "" " ejecuta la consulta (y envía el resultado a un fichero o |pipe);\n" " \\g sin argumentos es equivalente a un punto y coma\n" -#: help.c:198 +#: help.c:173 msgid " \\gdesc describe result of query, without executing it\n" msgstr " \\gdesc describir resultado de la consulta, sin ejecutarla\n" -#: help.c:199 +#: help.c:174 msgid " \\gexec execute query, then execute each value in its result\n" msgstr " \\gexec ejecutar la consulta, luego ejecuta cada valor del resultado\n" -#: help.c:200 +#: help.c:175 msgid " \\gset [PREFIX] execute query and store result in psql variables\n" msgstr "" " \\gset [PREFIJO] ejecutar la consulta y almacenar el resultado en variables\n" " de psql\n" -#: help.c:201 +#: help.c:176 msgid " \\gx [(OPTIONS)] [FILE] as \\g, but forces expanded output mode\n" msgstr "" " \\gx [(OPTIONS)] [FILE]\n" " como \\g, pero fuerza el modo de salida expandido\n" -#: help.c:202 +#: help.c:177 msgid " \\q quit psql\n" msgstr " \\q salir de psql\n" -#: help.c:203 -msgid " \\watch [[i=]SEC] [c=N] execute query every SEC seconds, up to N times\n" -msgstr " \\watch [[i=]SEG] [c=N] ejecute consulta cada SEG segundos, hasta N veces\n" +#: help.c:178 +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" +msgstr "" +" \\watch [[i=]SEG] [c=N] [m=MIN]\n" +" ejecutar consulta cada SEG segundos, hasta N veces,\n" +" deteniéndose si menos de MIN registros son devueltos\n" -#: help.c:204 help.c:212 help.c:224 help.c:234 help.c:241 help.c:298 help.c:306 -#: help.c:326 help.c:339 help.c:348 +#: 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 msgid "\n" msgstr "\n" -#: help.c:206 +#: help.c:183 msgid "Help\n" msgstr "Ayuda\n" -#: help.c:208 +#: help.c:185 msgid " \\? [commands] show help on backslash commands\n" msgstr " \\? [commands] desplegar ayuda sobre las órdenes backslash\n" -#: help.c:209 +#: help.c:186 msgid " \\? options show help on psql command-line options\n" msgstr " \\? options desplegar ayuda sobre opciones de línea de órdenes\n" -#: help.c:210 +#: help.c:187 msgid " \\? variables show help on special variables\n" msgstr " \\? variables desplegar ayuda sobre variables especiales\n" -#: help.c:211 +#: help.c:188 msgid " \\h [NAME] help on syntax of SQL commands, * for all commands\n" msgstr "" " \\h [NOMBRE] mostrar ayuda de sintaxis de órdenes SQL;\n" " use «*» para todas las órdenes\n" -#: help.c:214 +#: help.c:191 msgid "Query Buffer\n" msgstr "Búfer de consulta\n" -#: help.c:215 +#: help.c:192 msgid " \\e [FILE] [LINE] edit the query buffer (or file) with external editor\n" msgstr "" " \\e [ARCHIVO] [LÍNEA]\n" " editar el búfer de consulta (o archivo) con editor externo\n" -#: help.c:216 +#: help.c:193 msgid " \\ef [FUNCNAME [LINE]] edit function definition with external editor\n" msgstr "" " \\ef [NOMBRE-FUNCIÓN [LÍNEA]]\n" " editar una función con editor externo\n" -#: help.c:217 +#: help.c:194 msgid " \\ev [VIEWNAME [LINE]] edit view definition with external editor\n" msgstr "" " \\ev [NOMBRE-VISTA [LÍNEA]]\n" " editar definición de una vista con editor externo\n" -#: help.c:218 +#: help.c:195 msgid " \\p show the contents of the query buffer\n" msgstr " \\p mostrar el contenido del búfer de consulta\n" -#: help.c:219 +#: help.c:196 msgid " \\r reset (clear) the query buffer\n" msgstr " \\r reiniciar (limpiar) el búfer de consulta\n" -#: help.c:221 +#: help.c:198 msgid " \\s [FILE] display history or save it to file\n" msgstr " \\s [ARCHIVO] mostrar historial de órdenes o guardarlo en archivo\n" -#: help.c:223 +#: help.c:200 msgid " \\w FILE write query buffer to file\n" msgstr " \\w ARCHIVO escribir búfer de consulta a archivo\n" -#: help.c:226 +#: help.c:203 msgid "Input/Output\n" msgstr "" "Entrada/Salida\n" " (con -n, donde existe, se omite el salto de línea final)\n" -#: help.c:227 +#: help.c:204 msgid " \\copy ... perform SQL COPY with data stream to the client host\n" msgstr " \\copy ... ejecutar orden SQL COPY con flujo de datos al cliente\n" -#: help.c:228 +#: help.c:205 msgid " \\echo [-n] [STRING] write string to standard output (-n for no newline)\n" msgstr " \\echo [-n] [STRING] escribe la cadena en la salida estándar\n" -#: help.c:229 +#: help.c:206 msgid " \\i FILE execute commands from file\n" msgstr " \\i ARCHIVO ejecutar órdenes desde archivo\n" -#: help.c:230 +#: help.c:207 msgid " \\ir FILE as \\i, but relative to location of current script\n" msgstr " \\ir ARCHIVO como \\i, pero relativo a la ubicación del script actual\n" -#: help.c:231 +#: help.c:208 msgid " \\o [FILE] send all query results to file or |pipe\n" msgstr " \\o [ARCHIVO] enviar resultados de consultas a archivo u |orden\n" -#: help.c:232 +#: help.c:209 msgid " \\qecho [-n] [STRING] write string to \\o output stream (-n for no newline)\n" msgstr " \\qecho [-n] [STRING] escribe la cadena hacia flujo de salida \\o\n" -#: help.c:233 +#: help.c:210 msgid " \\warn [-n] [STRING] write string to standard error (-n for no newline)\n" msgstr " \\warn [-n] [STRING] escribe la cadena a la salida de error estándar\n" -#: help.c:236 +#: help.c:213 msgid "Conditional\n" msgstr "Condicional\n" -#: help.c:237 +#: help.c:214 msgid " \\if EXPR begin conditional block\n" msgstr " \\if EXPRESIÓN inicia bloque condicional\n" -#: help.c:238 +#: help.c:215 msgid " \\elif EXPR alternative within current conditional block\n" msgstr " \\elif EXPR alternativa dentro del bloque condicional actual\n" -#: help.c:239 +#: help.c:216 msgid " \\else final alternative within current conditional block\n" msgstr " \\else alternativa final dentro del bloque condicional actual\n" -#: help.c:240 +#: help.c:217 msgid " \\endif end conditional block\n" msgstr " \\endif termina el bloque condicional\n" -#: help.c:243 +#: help.c:220 msgid "Informational\n" msgstr "Informativo\n" -#: help.c:244 +#: help.c:221 msgid " (options: S = show system objects, + = additional detail)\n" msgstr " (opciones: S = desplegar objetos de sistema, + = agregar más detalle)\n" -#: help.c:245 +#: help.c:222 msgid " \\d[S+] list tables, views, and sequences\n" msgstr " \\d[S+] listar tablas, vistas y secuencias\n" -#: help.c:246 +#: help.c:223 msgid " \\d[S+] NAME describe table, view, sequence, or index\n" msgstr " \\d[S+] NOMBRE describir tabla, índice, secuencia o vista\n" -#: help.c:247 +#: help.c:224 msgid " \\da[S] [PATTERN] list aggregates\n" msgstr " \\da[S] [PATRÓN] listar funciones de agregación\n" -#: help.c:248 +#: help.c:225 msgid " \\dA[+] [PATTERN] list access methods\n" msgstr " \\dA[+] [PATRÓN] listar métodos de acceso\n" -#: help.c:249 +#: help.c:226 msgid " \\dAc[+] [AMPTRN [TYPEPTRN]] list operator classes\n" msgstr " \\dAc[+] [AMPTRN [TYPEPTRN]] listar las clases de operadores\n" -#: help.c:250 +#: help.c:227 msgid " \\dAf[+] [AMPTRN [TYPEPTRN]] list operator families\n" msgstr " \\dAf[+] [AMPTRN [TYPEPTRN]] listar las familias de operadores\n" -#: help.c:251 +#: help.c:228 msgid " \\dAo[+] [AMPTRN [OPFPTRN]] list operators of operator families\n" msgstr " \\dAo[+] [AMPTRN [OPFPTRN]] listar los operadores de la familia de operadores\n" -#: help.c:252 +#: help.c:229 msgid " \\dAp[+] [AMPTRN [OPFPTRN]] list support functions of operator families\n" msgstr " \\dAp[+] [AMPTRN [OPFPTRN]] enumera las funciones de la familia de operadores\n" -#: help.c:253 +#: help.c:230 msgid " \\db[+] [PATTERN] list tablespaces\n" msgstr " \\db[+] [PATRÓN] listar tablespaces\n" -#: help.c:254 +#: help.c:231 msgid " \\dc[S+] [PATTERN] list conversions\n" msgstr " \\dc[S+] [PATRÓN] listar conversiones\n" -#: help.c:255 +#: help.c:232 msgid " \\dconfig[+] [PATTERN] list configuration parameters\n" msgstr " \\dconfig[+] [PATRÓN] listar parámetros de configuración\n" -#: help.c:256 +#: help.c:233 msgid " \\dC[+] [PATTERN] list casts\n" msgstr " \\dC[+] [PATRÓN] listar conversiones de tipo (casts)\n" -#: help.c:257 +#: help.c:234 msgid " \\dd[S] [PATTERN] show object descriptions not displayed elsewhere\n" msgstr " \\dd[S] [PATRÓN] listar comentarios de objetos que no aparecen en otra parte\n" -#: help.c:258 +#: help.c:235 msgid " \\dD[S+] [PATTERN] list domains\n" msgstr " \\dD[S+] [PATRÓN] listar dominios\n" -#: help.c:259 +#: help.c:236 msgid " \\ddp [PATTERN] list default privileges\n" msgstr " \\ddp [PATRÓN] listar privilegios por omisión\n" -#: help.c:260 +#: help.c:237 msgid " \\dE[S+] [PATTERN] list foreign tables\n" msgstr " \\dE[S+] [PATRÓN] listar tablas foráneas\n" -#: help.c:261 +#: help.c:238 msgid " \\des[+] [PATTERN] list foreign servers\n" msgstr " \\des[+] [PATRÓN] listar servidores foráneos\n" -#: help.c:262 +#: help.c:239 msgid " \\det[+] [PATTERN] list foreign tables\n" msgstr " \\det[+] [PATRÓN] listar tablas foráneas\n" -#: help.c:263 +#: help.c:240 msgid " \\deu[+] [PATTERN] list user mappings\n" msgstr " \\deu[+] [PATRÓN] listar mapeos de usuario\n" -#: help.c:264 +#: help.c:241 msgid " \\dew[+] [PATTERN] list foreign-data wrappers\n" msgstr " \\dew[+] [PATRÓN] listar conectores de datos externos\n" -#: help.c:265 +#: help.c:242 msgid "" " \\df[anptw][S+] [FUNCPTRN [TYPEPTRN ...]]\n" " list [only agg/normal/procedure/trigger/window] functions\n" @@ -3007,47 +3070,47 @@ msgstr "" " \\df[anptw][S+] [FUNCPTRN [TYPEPTRN ...]]\n" " listar funciones [sólo ag./normal/proc./trigger/ventana]\n" -#: help.c:267 +#: help.c:244 msgid " \\dF[+] [PATTERN] list text search configurations\n" msgstr " \\dF[+] [PATRÓN] listar configuraciones de búsqueda en texto\n" -#: help.c:268 +#: help.c:245 msgid " \\dFd[+] [PATTERN] list text search dictionaries\n" msgstr " \\dFd[+] [PATRÓN] listar diccionarios de búsqueda en texto\n" -#: help.c:269 +#: help.c:246 msgid " \\dFp[+] [PATTERN] list text search parsers\n" msgstr " \\dFp[+] [PATRÓN] listar analizadores (parsers) de búsq. en texto\n" -#: help.c:270 +#: help.c:247 msgid " \\dFt[+] [PATTERN] list text search templates\n" msgstr " \\dFt[+] [PATRÓN] listar plantillas de búsqueda en texto\n" -#: help.c:271 +#: help.c:248 msgid " \\dg[S+] [PATTERN] list roles\n" msgstr " \\dg[S+] [PATRÓN] listar roles\n" -#: help.c:272 +#: help.c:249 msgid " \\di[S+] [PATTERN] list indexes\n" msgstr " \\di[S+] [PATRÓN] listar índices\n" -#: help.c:273 +#: help.c:250 msgid " \\dl[+] list large objects, same as \\lo_list\n" msgstr " \\dl[+] listar objetos grandes, lo mismo que \\lo_list\n" -#: help.c:274 +#: help.c:251 msgid " \\dL[S+] [PATTERN] list procedural languages\n" msgstr " \\dL[S+] [PATRÓN] listar lenguajes procedurales\n" -#: help.c:275 +#: help.c:252 msgid " \\dm[S+] [PATTERN] list materialized views\n" msgstr " \\dm[S+] [PATRÓN] listar vistas materializadas\n" -#: help.c:276 +#: help.c:253 msgid " \\dn[S+] [PATTERN] list schemas\n" msgstr " \\dn[S+] [PATRÓN] listar esquemas\n" -#: help.c:277 +#: help.c:254 msgid "" " \\do[S+] [OPPTRN [TYPEPTRN [TYPEPTRN]]]\n" " list operators\n" @@ -3055,93 +3118,95 @@ msgstr "" " \\do[S+] [OPPTRN [TYPEPTRN [TYPEPTRN]]]\n" " listar operadores\n" -#: help.c:279 +#: help.c:256 msgid " \\dO[S+] [PATTERN] list collations\n" msgstr " \\dO[S] [PATRÓN] listar ordenamientos (collations)\n" -#: help.c:280 +#: help.c:257 +#| msgid " \\dp[S] [PATTERN] list table, view, and sequence access privileges\n" msgid " \\dp[S] [PATTERN] list table, view, and sequence access privileges\n" msgstr " \\dp[S] [PATRÓN] listar privilegios de acceso a tablas, vistas y secuencias\n" -#: help.c:281 +#: help.c:258 msgid " \\dP[itn+] [PATTERN] list [only index/table] partitioned relations [n=nested]\n" msgstr " \\dP[tin+] [PATRÓN] listar relaciones particionadas (sólo tablas/índices) [n=anidadas]\n" -#: help.c:282 +#: help.c:259 msgid " \\drds [ROLEPTRN [DBPTRN]] list per-database role settings\n" msgstr "" " \\drds [PATRÓN_ROL [PATRÓN_BASE]]\n" " listar parámetros de rol por base de datos\n" -#: help.c:283 +#: help.c:260 msgid " \\drg[S] [PATTERN] list role grants\n" msgstr " \\drg[S] [PATRÓN] listar roles\n" -#: help.c:284 +#: help.c:261 msgid " \\dRp[+] [PATTERN] list replication publications\n" msgstr " \\dRp[+] [PATRÓN] listar publicaciones de replicación\n" -#: help.c:285 +#: help.c:262 msgid " \\dRs[+] [PATTERN] list replication subscriptions\n" msgstr " \\dRs[+] [PATRÓN] listar suscripciones de replicación\n" -#: help.c:286 +#: help.c:263 msgid " \\ds[S+] [PATTERN] list sequences\n" msgstr " \\ds[S+] [PATRÓN] listar secuencias\n" -#: help.c:287 +#: help.c:264 msgid " \\dt[S+] [PATTERN] list tables\n" msgstr " \\dt[S+] [PATRÓN] listar tablas\n" -#: help.c:288 +#: help.c:265 msgid " \\dT[S+] [PATTERN] list data types\n" msgstr " \\dT[S+] [PATRÓN] listar tipos de dato\n" -#: help.c:289 +#: help.c:266 msgid " \\du[S+] [PATTERN] list roles\n" msgstr " \\du[S+] [PATRÓN] listar roles\n" -#: help.c:290 +#: help.c:267 msgid " \\dv[S+] [PATTERN] list views\n" msgstr " \\dv[S+] [PATRÓN] listar vistas\n" -#: help.c:291 +#: help.c:268 msgid " \\dx[+] [PATTERN] list extensions\n" msgstr " \\dx[+] [PATRÓN] listar extensiones\n" -#: help.c:292 +#: help.c:269 msgid " \\dX [PATTERN] list extended statistics\n" msgstr " \\dX [PATRÓN] listar estadísticas extendidas\n" -#: help.c:293 +#: help.c:270 msgid " \\dy[+] [PATTERN] list event triggers\n" msgstr " \\dy[+] [PATRÓN] listar disparadores por eventos\n" -#: help.c:294 +#: help.c:271 msgid " \\l[+] [PATTERN] list databases\n" msgstr " \\l[+] [PATRÓN] listar bases de datos\n" -#: help.c:295 +#: help.c:272 msgid " \\sf[+] FUNCNAME show a function's definition\n" msgstr " \\sf[+] FUNCIÓN mostrar la definición de una función\n" -#: help.c:296 +#: help.c:273 msgid " \\sv[+] VIEWNAME show a view's definition\n" msgstr " \\sv[+] VISTA mostrar la definición de una vista\n" -#: help.c:297 +#: help.c:274 +#| msgid " \\z[S] [PATTERN] same as \\dp\n" msgid " \\z[S] [PATTERN] same as \\dp\n" msgstr " \\z[S] [PATRÓN] lo mismo que \\dp\n" -#: help.c:300 +#: help.c:277 msgid "Large Objects\n" msgstr "Objetos Grandes\n" -#: help.c:301 +#: help.c:278 msgid " \\lo_export LOBOID FILE write large object to file\n" msgstr " \\lo_export LOBOID ARCHIVO escribir objeto grande a archivo\n" -#: help.c:302 +#: help.c:279 msgid "" " \\lo_import FILE [COMMENT]\n" " read large object from file\n" @@ -3149,38 +3214,38 @@ msgstr "" " \\lo_import ARCHIVO [COMENTARIO]\n" " leer objeto grande desde archivo\n" -#: help.c:304 +#: help.c:281 msgid " \\lo_list[+] list large objects\n" msgstr " \\lo_list[+] listar objetos grandes\n" -#: help.c:305 +#: help.c:282 msgid " \\lo_unlink LOBOID delete a large object\n" msgstr " \\lo_unlink LOBOID borrar un objeto grande\n" -#: help.c:308 +#: help.c:285 msgid "Formatting\n" msgstr "Formato\n" -#: help.c:309 +#: help.c:286 msgid " \\a toggle between unaligned and aligned output mode\n" msgstr " \\a cambiar entre modo de salida alineado y sin alinear\n" -#: help.c:310 +#: help.c:287 msgid " \\C [STRING] set table title, or unset if none\n" msgstr " \\C [CADENA] definir título de tabla, o indefinir si es vacío\n" -#: help.c:311 +#: help.c:288 msgid " \\f [STRING] show or set field separator for unaligned query output\n" msgstr "" " \\f [CADENA] mostrar o definir separador de campos para\n" " modo de salida sin alinear\n" -#: help.c:312 +#: help.c:289 #, c-format msgid " \\H toggle HTML output mode (currently %s)\n" msgstr " \\H cambiar modo de salida HTML (actualmente %s)\n" -#: help.c:314 +#: help.c:291 msgid "" " \\pset [NAME [VALUE]] set table output option\n" " (border|columns|csv_fieldsep|expanded|fieldsep|\n" @@ -3197,29 +3262,29 @@ msgstr "" " tuples_only|unicode_border_linestyle|unicode_column_linestyle|\n" " unicode_header_linestyle)\n" -#: help.c:321 +#: help.c:298 #, c-format msgid " \\t [on|off] show only rows (currently %s)\n" msgstr " \\t [on|off] mostrar sólo filas (actualmente %s)\n" -#: help.c:323 +#: help.c:300 msgid " \\T [STRING] set HTML tag attributes, or unset if none\n" msgstr " \\T [CADENA] definir atributos HTML de
, o indefinir si es vacío\n" -#: help.c:324 +#: help.c:301 #, c-format msgid " \\x [on|off|auto] toggle expanded output (currently %s)\n" msgstr " \\x [on|off|auto] cambiar modo expandido (actualmente %s)\n" -#: help.c:325 +#: help.c:302 msgid "auto" msgstr "auto" -#: help.c:328 +#: help.c:305 msgid "Connection\n" msgstr "Conexiones\n" -#: help.c:330 +#: help.c:307 #, c-format msgid "" " \\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}\n" @@ -3228,7 +3293,7 @@ msgstr "" " \\c[onnect] [BASE-DE-DATOS|- USUARIO|- ANFITRIÓN|- PUERTO|- | conninfo]\n" " conectar a una nueva base de datos (actual: «%s»)\n" -#: help.c:334 +#: help.c:311 msgid "" " \\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}\n" " connect to new database (currently no connection)\n" @@ -3236,72 +3301,72 @@ msgstr "" " \\c[onnect] [BASE-DE-DATOS|- USUARIO|- ANFITRIÓN|- PUERTO|- | conninfo]\n" " conectar a una nueva base de datos (no hay conexión actual)\n" -#: help.c:336 +#: help.c:313 msgid " \\conninfo display information about current connection\n" msgstr " \\conninfo despliega la información sobre la conexión actual\n" -#: help.c:337 +#: help.c:314 msgid " \\encoding [ENCODING] show or set client encoding\n" msgstr "" " \\encoding [CODIFICACIÓN]\n" " mostrar o definir codificación del cliente\n" -#: help.c:338 +#: help.c:315 msgid " \\password [USERNAME] securely change the password for a user\n" msgstr "" " \\password [USUARIO]\n" " cambiar la contraseña para un usuario en forma segura\n" -#: help.c:341 +#: help.c:318 msgid "Operating System\n" msgstr "Sistema Operativo\n" -#: help.c:342 +#: help.c:319 msgid " \\cd [DIR] change the current working directory\n" msgstr " \\cd [DIR] cambiar el directorio de trabajo actual\n" -#: help.c:343 +#: help.c:320 msgid " \\getenv PSQLVAR ENVVAR fetch environment variable\n" msgstr " \\getenv PSQLVAR ENVVAR obtener variable de ambiente\n" -#: help.c:344 +#: help.c:321 msgid " \\setenv NAME [VALUE] set or unset environment variable\n" msgstr "" " \\setenv NOMBRE [VALOR]\n" " definir o indefinir variable de ambiente\n" -#: help.c:345 +#: help.c:322 #, c-format msgid " \\timing [on|off] toggle timing of commands (currently %s)\n" msgstr "" " \\timing [on|off] mostrar tiempo de ejecución de órdenes\n" " (actualmente %s)\n" -#: help.c:347 +#: help.c:324 msgid " \\! [COMMAND] execute command in shell or start interactive shell\n" msgstr "" " \\! [ORDEN] ejecutar orden en intérprete de órdenes (shell),\n" " o iniciar intérprete interactivo\n" -#: help.c:350 +#: help.c:327 msgid "Variables\n" msgstr "Variables\n" -#: help.c:351 +#: help.c:328 msgid " \\prompt [TEXT] NAME prompt user to set internal variable\n" msgstr " \\prompt [TEXTO] NOMBRE preguntar al usuario el valor de la variable\n" -#: help.c:352 +#: help.c:329 msgid " \\set [NAME [VALUE]] set internal variable, or list all if no parameters\n" msgstr "" " \\set [NOMBRE [VALOR]] definir variables internas,\n" " listar todas si no se dan parámetros\n" -#: help.c:353 +#: help.c:330 msgid " \\unset NAME unset (delete) internal variable\n" msgstr " \\unset NOMBRE indefinir (eliminar) variable interna\n" -#: help.c:392 +#: help.c:369 msgid "" "List of specially treated variables\n" "\n" @@ -3309,11 +3374,11 @@ msgstr "" "Lista de variables con tratamiento especial\n" "\n" -#: help.c:394 +#: help.c:371 msgid "psql variables:\n" msgstr "variables psql:\n" -#: help.c:396 +#: help.c:373 msgid "" " psql --set=NAME=VALUE\n" " or \\set NAME VALUE inside psql\n" @@ -3322,7 +3387,7 @@ msgstr "" " psql --set=NOMBRE=VALOR\n" " o \\set NOMBRE VALOR dentro de psql\n" -#: help.c:398 +#: help.c:375 msgid "" " AUTOCOMMIT\n" " if set, successful SQL commands are automatically committed\n" @@ -3330,7 +3395,7 @@ msgstr "" " AUTOCOMMIT si está definida, órdenes SQL exitosas se comprometen\n" " automáticamente\n" -#: help.c:400 +#: help.c:377 msgid "" " COMP_KEYWORD_CASE\n" " determines the case used to complete SQL key words\n" @@ -3339,13 +3404,13 @@ msgstr "" " COMP_KEYWORD_CASE determina si usar mayúsculas al completar palabras SQL\n" " [lower, upper, preserve-lower, preserve-upper]\n" -#: help.c:403 +#: help.c:380 msgid "" " DBNAME\n" " the currently connected database name\n" msgstr " DBNAME la base de datos actualmente conectada\n" -#: help.c:405 +#: help.c:382 msgid "" " ECHO\n" " controls what input is written to standard output\n" @@ -3354,7 +3419,7 @@ msgstr "" " ECHO controla qué entrada se escribe a la salida estándar\n" " [all, errors, none, queries]\n" -#: help.c:408 +#: help.c:385 msgid "" " ECHO_HIDDEN\n" " if set, display internal queries executed by backslash commands;\n" @@ -3363,13 +3428,16 @@ msgstr "" " ECHO_HIDDEN muestra consultas internas usadas por órdenes backslash\n" " con «noexec» sólo las muestra sin ejecutarlas\n" -#: help.c:411 +#: help.c:388 msgid "" " ENCODING\n" " current client character set encoding\n" msgstr " ENCODING codificación actual del cliente\n" -#: help.c:413 +#: help.c:390 +#| msgid "" +#| " ERROR\n" +#| " \"true\" if last query failed, else \"false\"\n" msgid "" " ERROR\n" " \"true\" if last query failed, else \"false\"\n" @@ -3377,7 +3445,7 @@ msgstr "" " ERROR\n" " «true» si la última consulta falló; si no, «false»\n" -#: help.c:415 +#: help.c:392 msgid "" " FETCH_COUNT\n" " the number of result rows to fetch and display at a time (0 = unlimited)\n" @@ -3385,7 +3453,7 @@ msgstr "" " FETCH_COUNT número de filas del resultado que extraer y mostrar cada vez\n" " (por omisión: 0=sin límite)\n" -#: help.c:417 +#: help.c:394 msgid "" " HIDE_TABLEAM\n" " if set, table access methods are not displayed\n" @@ -3393,7 +3461,7 @@ msgstr "" " HIDE_TABLEAM\n" " ocultar métodos de acceso de tabla\n" -#: help.c:419 +#: help.c:396 msgid "" " HIDE_TOAST_COMPRESSION\n" " if set, compression methods are not displayed\n" @@ -3401,7 +3469,7 @@ msgstr "" " HIDE_TOAST_COMPRESSION\n" " ocultar métodos de compresión\n" -#: help.c:421 +#: help.c:398 msgid "" " HISTCONTROL\n" " controls command history [ignorespace, ignoredups, ignoreboth]\n" @@ -3409,25 +3477,25 @@ msgstr "" " HISTCONTROL controla la lista de historia de órdenes\n" " [ignorespace, ignoredups, ignoreboth]\n" -#: help.c:423 +#: help.c:400 msgid "" " HISTFILE\n" " file name used to store the command history\n" msgstr " HISTFILE nombre de archivo para almacenar historia de órdenes\n" -#: help.c:425 +#: help.c:402 msgid "" " HISTSIZE\n" " maximum number of commands to store in the command history\n" msgstr " HISTSIZE número de órdenes a guardar en la historia de órdenes\n" -#: help.c:427 +#: help.c:404 msgid "" " HOST\n" " the currently connected database server host\n" msgstr " HOST el servidor actualmente conectado\n" -#: help.c:429 +#: help.c:406 msgid "" " IGNOREEOF\n" " number of EOFs needed to terminate an interactive session\n" @@ -3435,13 +3503,13 @@ msgstr "" " IGNOREEOF si no está definida, enviar un EOF a sesión interactiva\n" " termina la aplicación\n" -#: help.c:431 +#: help.c:408 msgid "" " LASTOID\n" " value of the last affected OID\n" msgstr " LASTOID el valor del último OID afectado\n" -#: help.c:433 +#: help.c:410 msgid "" " LAST_ERROR_MESSAGE\n" " LAST_ERROR_SQLSTATE\n" @@ -3452,7 +3520,7 @@ msgstr "" " mensaje y SQLSTATE del último error, o cadena vacía y\n" " «00000» si no hubo\n" -#: help.c:436 +#: help.c:413 msgid "" " ON_ERROR_ROLLBACK\n" " if set, an error doesn't stop a transaction (uses implicit savepoints)\n" @@ -3460,25 +3528,25 @@ msgstr "" " ON_ERROR_ROLLBACK si está definido, un error no aborta la transacción\n" " (usa «savepoints» implícitos)\n" -#: help.c:438 +#: help.c:415 msgid "" " ON_ERROR_STOP\n" " stop batch execution after error\n" msgstr " ON_ERROR_STOP detiene ejecución por lotes al ocurrir un error\n" -#: help.c:440 +#: help.c:417 msgid "" " PORT\n" " server port of the current connection\n" msgstr " PORT puerto del servidor de la conexión actual\n" -#: help.c:442 +#: help.c:419 msgid "" " PROMPT1\n" " specifies the standard psql prompt\n" msgstr " PROMPT1 especifica el prompt estándar de psql\n" -#: help.c:444 +#: help.c:421 msgid "" " PROMPT2\n" " specifies the prompt used when a statement continues from a previous line\n" @@ -3486,19 +3554,19 @@ msgstr "" " PROMPT2 especifica el prompt usado cuando una sentencia continúa\n" " de una línea anterior\n" -#: help.c:446 +#: help.c:423 msgid "" " PROMPT3\n" " specifies the prompt used during COPY ... FROM STDIN\n" msgstr " PROMPT3 especifica el prompt usado durante COPY ... FROM STDIN\n" -#: help.c:448 +#: help.c:425 msgid "" " QUIET\n" " run quietly (same as -q option)\n" msgstr " QUIET ejecuta silenciosamente (igual que -q)\n" -#: help.c:450 +#: help.c:427 msgid "" " ROW_COUNT\n" " number of rows returned or affected by last query, or 0\n" @@ -3506,7 +3574,7 @@ msgstr "" " ROW_COUNT número de tuplas retornadas o afectadas por última\n" " consulta, o 0\n" -#: help.c:452 +#: help.c:429 msgid "" " SERVER_VERSION_NAME\n" " SERVER_VERSION_NUM\n" @@ -3516,7 +3584,7 @@ msgstr "" " SERVER_VERSION_NUM\n" " versión del servidor (cadena corta o numérica)\n" -#: help.c:455 +#: help.c:432 msgid "" " SHELL_ERROR\n" " \"true\" if the last shell command failed, \"false\" if it succeeded\n" @@ -3524,7 +3592,7 @@ msgstr "" " SHELL_ERROR\n" " «true» si la última orden de shell falló, «false» si tuvo éxito\n" -#: help.c:457 +#: help.c:434 msgid "" " SHELL_EXIT_CODE\n" " exit status of the last shell command\n" @@ -3532,7 +3600,7 @@ msgstr "" " SHELL_EXIT_CODE\n" " estado de salida de la última orden de shell\n" -#: help.c:459 +#: help.c:436 msgid "" " SHOW_ALL_RESULTS\n" " show all results of a combined query (\\;) instead of only the last\n" @@ -3541,7 +3609,7 @@ msgstr "" " mostrar todos los resultados de una consulta combinada (\\;) en lugar\n" " de sólo mostrar el último\n" -#: help.c:461 +#: help.c:438 msgid "" " SHOW_CONTEXT\n" " controls display of message context fields [never, errors, always]\n" @@ -3549,31 +3617,31 @@ msgstr "" " SHOW_CONTEXT controla el despliegue de campos de contexto de mensaje\n" " [never, errors, always]\n" -#: help.c:463 +#: help.c:440 msgid "" " SINGLELINE\n" " if set, end of line terminates SQL commands (same as -S option)\n" msgstr " SINGLELINE fin de línea termina modo de órdenes SQL (igual que -S)\n" -#: help.c:465 +#: help.c:442 msgid "" " SINGLESTEP\n" " single-step mode (same as -s option)\n" msgstr " SINGLESTEP modo paso a paso (igual que -s)\n" -#: help.c:467 +#: help.c:444 msgid "" " SQLSTATE\n" " SQLSTATE of last query, or \"00000\" if no error\n" msgstr " SQLSTATE SQLSTATE de la última consulta, o «00000» si no hubo error\n" -#: help.c:469 +#: help.c:446 msgid "" " USER\n" " the currently connected database user\n" msgstr " USER el usuario actualmente conectado\n" -#: help.c:471 +#: help.c:448 msgid "" " VERBOSITY\n" " controls verbosity of error reports [default, verbose, terse, sqlstate]\n" @@ -3581,7 +3649,7 @@ msgstr "" " VERBOSITY controla la verbosidad de errores [default, verbose,\n" " terse, sqlstate]\n" -#: help.c:473 +#: help.c:450 msgid "" " VERSION\n" " VERSION_NAME\n" @@ -3593,7 +3661,7 @@ msgstr "" " VERSION_NUM\n" " versión de psql (cadena verbosa, corta o numérica)\n" -#: help.c:478 +#: help.c:455 msgid "" "\n" "Display settings:\n" @@ -3601,7 +3669,7 @@ msgstr "" "\n" "Parámetros de despliegue:\n" -#: help.c:480 +#: help.c:457 msgid "" " psql --pset=NAME[=VALUE]\n" " or \\pset NAME [VALUE] inside psql\n" @@ -3611,25 +3679,25 @@ msgstr "" " o \\pset NOMBRE [VALOR] dentro de psql\n" "\n" -#: help.c:482 +#: help.c:459 msgid "" " border\n" " border style (number)\n" msgstr " border estilo de borde (número)\n" -#: help.c:484 +#: help.c:461 msgid "" " columns\n" " target width for the wrapped format\n" msgstr " columns define el ancho para formato «wrapped»\n" -#: help.c:486 +#: help.c:463 msgid "" " expanded (or x)\n" " expanded output [on, off, auto]\n" msgstr " expanded (o x) salida expandida [on, off, auto]\n" -#: help.c:488 +#: help.c:465 #, c-format msgid "" " fieldsep\n" @@ -3638,37 +3706,37 @@ msgstr "" " fieldsep separador de campos para formato «unaligned»\n" " (por omisión: «%s»)\n" -#: help.c:491 +#: help.c:468 msgid "" " fieldsep_zero\n" " set field separator for unaligned output to a zero byte\n" msgstr " fieldsep_zero separador de campos en «unaligned» es byte cero\n" -#: help.c:493 +#: help.c:470 msgid "" " footer\n" " enable or disable display of the table footer [on, off]\n" msgstr " footer activa o desactiva el pie de tabla [on, off]\n" -#: help.c:495 +#: help.c:472 msgid "" " format\n" " set output format [unaligned, aligned, wrapped, html, asciidoc, ...]\n" msgstr " format define el formato de salida [unaligned, aligned, wrapped, html, asciidoc, ...]\n" -#: help.c:497 +#: help.c:474 msgid "" " linestyle\n" " set the border line drawing style [ascii, old-ascii, unicode]\n" msgstr " linestyle define el estilo de dibujo de líneas [ascii, old-ascii, unicode]\n" -#: help.c:499 +#: help.c:476 msgid "" " null\n" " set the string to be printed in place of a null value\n" msgstr " null define la cadena a imprimirse para valores null\n" -#: help.c:501 +#: help.c:478 msgid "" " numericlocale\n" " enable display of a locale-specific character to separate groups of digits\n" @@ -3676,26 +3744,26 @@ msgstr "" " numericlocale activa despliegue de carácter específico del lenguaje para\n" " separar grupos de dígitos\n" -#: help.c:503 +#: help.c:480 msgid "" " pager\n" " control when an external pager is used [yes, no, always]\n" msgstr " pager controla cuándo se usará un paginador externo [yes, no, always]\n" -#: help.c:505 +#: help.c:482 msgid "" " recordsep\n" " record (line) separator for unaligned output\n" msgstr " recordsep separador de registros (líneas) para formato «unaligned»\n" -#: help.c:507 +#: help.c:484 msgid "" " recordsep_zero\n" " set record separator for unaligned output to a zero byte\n" msgstr " recordsep_zero separador de registros en «unaligned» es byte cero\n" # XXX WTF does this mean? -#: help.c:509 +#: help.c:486 msgid "" " tableattr (or T)\n" " specify attributes for table tag in html format, or proportional\n" @@ -3705,19 +3773,19 @@ msgstr "" " o ancho proporcional de columnas alineadas a la izquierda\n" " en formato «latex-longtable»\n" -#: help.c:512 +#: help.c:489 msgid "" " title\n" " set the table title for subsequently printed tables\n" msgstr " title define el título de tablas\n" -#: help.c:514 +#: help.c:491 msgid "" " tuples_only\n" " if set, only actual table data is shown\n" msgstr " tuples_only si está definido, sólo los datos de la tabla se muestran\n" -#: help.c:516 +#: help.c:493 msgid "" " unicode_border_linestyle\n" " unicode_column_linestyle\n" @@ -3729,7 +3797,7 @@ msgstr "" " unicode_header_linestyle\n" " define el estilo de líneas Unicode [single, double]\n" -#: help.c:521 +#: help.c:498 msgid "" "\n" "Environment variables:\n" @@ -3737,7 +3805,7 @@ msgstr "" "\n" "Variables de ambiente:\n" -#: help.c:525 +#: help.c:502 msgid "" " NAME=VALUE [NAME=VALUE] psql ...\n" " or \\setenv NAME [VALUE] inside psql\n" @@ -3746,7 +3814,7 @@ msgstr "" " NOMBRE=VALOR [NOMBRE=VALOR] psql ...\n" " o \\setenv NOMBRE [VALOR] dentro de psql\n" -#: help.c:527 +#: help.c:504 msgid "" " set NAME=VALUE\n" " psql ...\n" @@ -3757,55 +3825,55 @@ msgstr "" " psql ...\n" " o \\setenv NOMBRE [VALOR] dentro de psql\n" -#: help.c:530 +#: help.c:507 msgid "" " COLUMNS\n" " number of columns for wrapped format\n" msgstr " COLUMNS número de columnas para formato «wrapped»\n" -#: help.c:532 +#: help.c:509 msgid "" " PGAPPNAME\n" " same as the application_name connection parameter\n" msgstr " PGAPPNAME igual que el parámetro de conexión application_name\n" -#: help.c:534 +#: help.c:511 msgid "" " PGDATABASE\n" " same as the dbname connection parameter\n" msgstr " PGDATABASE igual que el parámetro de conexión dbname\n" -#: help.c:536 +#: help.c:513 msgid "" " PGHOST\n" " same as the host connection parameter\n" msgstr " PGHOST igual que el parámetro de conexión host\n" -#: help.c:538 +#: help.c:515 msgid "" " PGPASSFILE\n" " password file name\n" msgstr " PGPASSFILE nombre de archivo de contraseñas\n" -#: help.c:540 +#: help.c:517 msgid "" " PGPASSWORD\n" " connection password (not recommended)\n" msgstr " PGPASSWORD contraseña de la conexión (no recomendado)\n" -#: help.c:542 +#: help.c:519 msgid "" " PGPORT\n" " same as the port connection parameter\n" msgstr " PGPORT igual que el parámetro de conexión port\n" -#: help.c:544 +#: help.c:521 msgid "" " PGUSER\n" " same as the user connection parameter\n" msgstr " PGUSER igual que el parámetro de conexión user\n" -#: help.c:546 +#: help.c:523 msgid "" " PSQL_EDITOR, EDITOR, VISUAL\n" " editor used by the \\e, \\ef, and \\ev commands\n" @@ -3813,7 +3881,7 @@ msgstr "" " PSQL_EDITOR, EDITOR, VISUAL\n" " editor usado por órdenes \\e, \\ef, y \\ev\n" -#: help.c:548 +#: help.c:525 msgid "" " PSQL_EDITOR_LINENUMBER_ARG\n" " how to specify a line number when invoking the editor\n" @@ -3821,47 +3889,47 @@ msgstr "" " PSQL_EDITOR_LINENUMBER_ARGS\n" " cómo especificar número de línea al invocar al editor\n" -#: help.c:550 +#: help.c:527 msgid "" " PSQL_HISTORY\n" " alternative location for the command history file\n" msgstr " PSQL_HISTORY ubicación alternativa del archivo de historia de órdenes\n" -#: help.c:552 +#: help.c:529 msgid "" " PSQL_PAGER, PAGER\n" " name of external pager program\n" msgstr " PSQL_PAGER, PAGER nombre de programa paginador externo\n" -#: help.c:555 +#: help.c:532 msgid "" " PSQL_WATCH_PAGER\n" " name of external pager program used for \\watch\n" msgstr " PSQL_WATCH_PAGER paginador externo para usar con \\watch\n" -#: help.c:558 +#: help.c:535 msgid "" " PSQLRC\n" " alternative location for the user's .psqlrc file\n" msgstr " PSQLRC ubicación alternativa para el archivo .psqlrc del usuario\n" -#: help.c:560 +#: help.c:537 msgid "" " SHELL\n" " shell used by the \\! command\n" msgstr " SHELL intérprete usado por la orden \\!\n" -#: help.c:562 +#: help.c:539 msgid "" " TMPDIR\n" " directory for temporary files\n" msgstr " TMPDIR directorio para archivos temporales\n" -#: help.c:622 +#: help.c:599 msgid "Available help:\n" msgstr "Ayuda disponible:\n" -#: help.c:717 +#: help.c:694 #, c-format msgid "" "Command: %s\n" @@ -3880,7 +3948,7 @@ msgstr "" "URL: %s\n" "\n" -#: help.c:740 +#: help.c:717 #, c-format msgid "" "No help available for \"%s\".\n" @@ -3889,17 +3957,17 @@ msgstr "" "No hay ayuda disponible para «%s».\n" "Pruebe \\h sin argumentos para mostrar los elementos de ayuda disponibles.\n" -#: input.c:216 +#: input.c:215 #, c-format msgid "could not read from input file: %m" msgstr "no se pudo leer el archivo de entrada: %m" -#: input.c:477 input.c:515 +#: input.c:476 input.c:514 #, c-format msgid "could not save history to file \"%s\": %m" msgstr "no se pudo guardar historial a archivo «%s»: %m" -#: input.c:534 +#: input.c:533 #, c-format msgid "history is not supported by this installation" msgstr "el historial de órdenes no está soportado en esta instalación" @@ -3986,12 +4054,12 @@ msgstr "consulta ignorada; use \\endif o Ctrl-C para salir del bloque \\if actua msgid "reached EOF without finding closing \\endif(s)" msgstr "se alcanzó EOF sin encontrar el/los \\endif de cierre" -#: psqlscanslash.l:640 +#: psqlscanslash.l:642 #, c-format msgid "unterminated quoted string" msgstr "una cadena de caracteres entre comillas está inconclusa" -#: psqlscanslash.l:825 +#: psqlscanslash.l:842 #, c-format msgid "%s: out of memory" msgstr "%s: memoria agotada" @@ -3999,2429 +4067,2465 @@ msgstr "%s: memoria agotada" #: sql_help.c:35 sql_help.c:38 sql_help.c:41 sql_help.c:65 sql_help.c:66 #: sql_help.c:68 sql_help.c:70 sql_help.c:81 sql_help.c:83 sql_help.c:85 #: sql_help.c:113 sql_help.c:119 sql_help.c:121 sql_help.c:123 sql_help.c:125 -#: sql_help.c:126 sql_help.c:129 sql_help.c:131 sql_help.c:133 sql_help.c:238 -#: sql_help.c:240 sql_help.c:241 sql_help.c:243 sql_help.c:245 sql_help.c:248 -#: sql_help.c:250 sql_help.c:252 sql_help.c:254 sql_help.c:266 sql_help.c:267 -#: sql_help.c:268 sql_help.c:270 sql_help.c:319 sql_help.c:321 sql_help.c:323 -#: sql_help.c:325 sql_help.c:394 sql_help.c:399 sql_help.c:401 sql_help.c:443 -#: sql_help.c:445 sql_help.c:448 sql_help.c:450 sql_help.c:519 sql_help.c:524 -#: sql_help.c:529 sql_help.c:534 sql_help.c:539 sql_help.c:593 sql_help.c:595 -#: sql_help.c:597 sql_help.c:599 sql_help.c:601 sql_help.c:604 sql_help.c:606 -#: sql_help.c:609 sql_help.c:620 sql_help.c:622 sql_help.c:666 sql_help.c:668 -#: sql_help.c:670 sql_help.c:673 sql_help.c:675 sql_help.c:677 sql_help.c:714 -#: sql_help.c:718 sql_help.c:722 sql_help.c:741 sql_help.c:744 sql_help.c:747 -#: sql_help.c:776 sql_help.c:788 sql_help.c:796 sql_help.c:799 sql_help.c:802 -#: sql_help.c:817 sql_help.c:820 sql_help.c:849 sql_help.c:854 sql_help.c:859 -#: sql_help.c:864 sql_help.c:869 sql_help.c:896 sql_help.c:898 sql_help.c:900 -#: sql_help.c:902 sql_help.c:905 sql_help.c:907 sql_help.c:954 sql_help.c:999 -#: sql_help.c:1004 sql_help.c:1009 sql_help.c:1014 sql_help.c:1019 -#: sql_help.c:1038 sql_help.c:1049 sql_help.c:1051 sql_help.c:1071 -#: sql_help.c:1081 sql_help.c:1082 sql_help.c:1084 sql_help.c:1086 -#: sql_help.c:1098 sql_help.c:1102 sql_help.c:1104 sql_help.c:1116 -#: sql_help.c:1118 sql_help.c:1120 sql_help.c:1122 sql_help.c:1141 -#: sql_help.c:1143 sql_help.c:1147 sql_help.c:1151 sql_help.c:1155 -#: sql_help.c:1158 sql_help.c:1159 sql_help.c:1160 sql_help.c:1163 -#: sql_help.c:1166 sql_help.c:1168 sql_help.c:1308 sql_help.c:1310 -#: sql_help.c:1313 sql_help.c:1316 sql_help.c:1318 sql_help.c:1320 -#: sql_help.c:1323 sql_help.c:1326 sql_help.c:1443 sql_help.c:1445 -#: sql_help.c:1447 sql_help.c:1450 sql_help.c:1471 sql_help.c:1474 -#: sql_help.c:1477 sql_help.c:1480 sql_help.c:1484 sql_help.c:1486 -#: sql_help.c:1488 sql_help.c:1490 sql_help.c:1504 sql_help.c:1507 -#: sql_help.c:1509 sql_help.c:1511 sql_help.c:1521 sql_help.c:1523 -#: sql_help.c:1533 sql_help.c:1535 sql_help.c:1545 sql_help.c:1548 -#: sql_help.c:1571 sql_help.c:1573 sql_help.c:1575 sql_help.c:1577 -#: sql_help.c:1580 sql_help.c:1582 sql_help.c:1585 sql_help.c:1588 -#: sql_help.c:1639 sql_help.c:1682 sql_help.c:1685 sql_help.c:1687 -#: sql_help.c:1689 sql_help.c:1692 sql_help.c:1694 sql_help.c:1696 -#: sql_help.c:1699 sql_help.c:1751 sql_help.c:1767 sql_help.c:2000 -#: sql_help.c:2069 sql_help.c:2088 sql_help.c:2101 sql_help.c:2159 -#: sql_help.c:2167 sql_help.c:2177 sql_help.c:2204 sql_help.c:2236 -#: sql_help.c:2254 sql_help.c:2282 sql_help.c:2393 sql_help.c:2439 -#: sql_help.c:2464 sql_help.c:2487 sql_help.c:2491 sql_help.c:2525 -#: sql_help.c:2545 sql_help.c:2567 sql_help.c:2581 sql_help.c:2602 -#: sql_help.c:2631 sql_help.c:2666 sql_help.c:2691 sql_help.c:2738 -#: sql_help.c:3033 sql_help.c:3046 sql_help.c:3063 sql_help.c:3079 -#: sql_help.c:3119 sql_help.c:3173 sql_help.c:3177 sql_help.c:3179 -#: sql_help.c:3186 sql_help.c:3205 sql_help.c:3232 sql_help.c:3267 -#: sql_help.c:3279 sql_help.c:3288 sql_help.c:3332 sql_help.c:3346 -#: sql_help.c:3374 sql_help.c:3382 sql_help.c:3394 sql_help.c:3404 -#: sql_help.c:3412 sql_help.c:3420 sql_help.c:3428 sql_help.c:3436 -#: sql_help.c:3445 sql_help.c:3456 sql_help.c:3464 sql_help.c:3472 -#: sql_help.c:3480 sql_help.c:3488 sql_help.c:3498 sql_help.c:3507 -#: sql_help.c:3516 sql_help.c:3524 sql_help.c:3534 sql_help.c:3545 -#: sql_help.c:3553 sql_help.c:3562 sql_help.c:3573 sql_help.c:3582 -#: sql_help.c:3590 sql_help.c:3598 sql_help.c:3606 sql_help.c:3614 -#: 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:3679 sql_help.c:3688 -#: sql_help.c:3696 sql_help.c:3713 sql_help.c:3728 sql_help.c:4040 -#: sql_help.c:4150 sql_help.c:4179 sql_help.c:4195 sql_help.c:4197 -#: sql_help.c:4700 sql_help.c:4748 sql_help.c:4906 +#: sql_help.c:126 sql_help.c:129 sql_help.c:131 sql_help.c:133 sql_help.c:240 +#: sql_help.c:242 sql_help.c:243 sql_help.c:245 sql_help.c:247 sql_help.c:250 +#: sql_help.c:252 sql_help.c:254 sql_help.c:256 sql_help.c:268 sql_help.c:269 +#: sql_help.c:270 sql_help.c:272 sql_help.c:321 sql_help.c:323 sql_help.c:325 +#: sql_help.c:327 sql_help.c:396 sql_help.c:401 sql_help.c:403 sql_help.c:445 +#: sql_help.c:447 sql_help.c:450 sql_help.c:452 sql_help.c:521 sql_help.c:526 +#: sql_help.c:531 sql_help.c:536 sql_help.c:541 sql_help.c:595 sql_help.c:597 +#: sql_help.c:599 sql_help.c:601 sql_help.c:603 sql_help.c:606 sql_help.c:608 +#: sql_help.c:611 sql_help.c:622 sql_help.c:624 sql_help.c:668 sql_help.c:670 +#: sql_help.c:672 sql_help.c:675 sql_help.c:677 sql_help.c:679 sql_help.c:720 +#: sql_help.c:724 sql_help.c:728 sql_help.c:749 sql_help.c:752 sql_help.c:755 +#: sql_help.c:784 sql_help.c:796 sql_help.c:804 sql_help.c:807 sql_help.c:810 +#: sql_help.c:825 sql_help.c:828 sql_help.c:857 sql_help.c:862 sql_help.c:867 +#: sql_help.c:872 sql_help.c:877 sql_help.c:904 sql_help.c:906 sql_help.c:908 +#: sql_help.c:910 sql_help.c:913 sql_help.c:915 sql_help.c:962 sql_help.c:1007 +#: sql_help.c:1012 sql_help.c:1017 sql_help.c:1022 sql_help.c:1027 +#: sql_help.c:1046 sql_help.c:1057 sql_help.c:1059 sql_help.c:1079 +#: sql_help.c:1089 sql_help.c:1090 sql_help.c:1092 sql_help.c:1094 +#: sql_help.c:1106 sql_help.c:1110 sql_help.c:1112 sql_help.c:1124 +#: sql_help.c:1126 sql_help.c:1128 sql_help.c:1130 sql_help.c:1149 +#: sql_help.c:1151 sql_help.c:1155 sql_help.c:1159 sql_help.c:1163 +#: sql_help.c:1166 sql_help.c:1167 sql_help.c:1168 sql_help.c:1171 +#: sql_help.c:1174 sql_help.c:1176 sql_help.c:1323 sql_help.c:1325 +#: sql_help.c:1328 sql_help.c:1331 sql_help.c:1333 sql_help.c:1335 +#: sql_help.c:1338 sql_help.c:1341 sql_help.c:1343 sql_help.c:1349 +#: sql_help.c:1473 sql_help.c:1475 sql_help.c:1477 sql_help.c:1480 +#: sql_help.c:1501 sql_help.c:1504 sql_help.c:1507 sql_help.c:1510 +#: sql_help.c:1514 sql_help.c:1516 sql_help.c:1518 sql_help.c:1520 +#: sql_help.c:1534 sql_help.c:1537 sql_help.c:1539 sql_help.c:1541 +#: sql_help.c:1551 sql_help.c:1553 sql_help.c:1563 sql_help.c:1565 +#: sql_help.c:1575 sql_help.c:1578 sql_help.c:1601 sql_help.c:1603 +#: sql_help.c:1605 sql_help.c:1607 sql_help.c:1610 sql_help.c:1612 +#: sql_help.c:1615 sql_help.c:1618 sql_help.c:1669 sql_help.c:1712 +#: sql_help.c:1715 sql_help.c:1717 sql_help.c:1719 sql_help.c:1722 +#: sql_help.c:1724 sql_help.c:1726 sql_help.c:1729 sql_help.c:1779 +#: sql_help.c:1795 sql_help.c:2028 sql_help.c:2097 sql_help.c:2116 +#: sql_help.c:2129 sql_help.c:2187 sql_help.c:2195 sql_help.c:2205 +#: sql_help.c:2233 sql_help.c:2266 sql_help.c:2284 sql_help.c:2312 +#: sql_help.c:2423 sql_help.c:2469 sql_help.c:2494 sql_help.c:2517 +#: sql_help.c:2521 sql_help.c:2555 sql_help.c:2575 sql_help.c:2597 +#: sql_help.c:2611 sql_help.c:2632 sql_help.c:2661 sql_help.c:2694 +#: sql_help.c:2717 sql_help.c:2764 sql_help.c:3062 sql_help.c:3075 +#: sql_help.c:3092 sql_help.c:3108 sql_help.c:3148 sql_help.c:3202 +#: sql_help.c:3206 sql_help.c:3208 sql_help.c:3215 sql_help.c:3234 +#: sql_help.c:3261 sql_help.c:3296 sql_help.c:3308 sql_help.c:3317 +#: sql_help.c:3361 sql_help.c:3375 sql_help.c:3403 sql_help.c:3411 +#: sql_help.c:3423 sql_help.c:3433 sql_help.c:3441 sql_help.c:3449 +#: sql_help.c:3457 sql_help.c:3465 sql_help.c:3474 sql_help.c:3485 +#: sql_help.c:3493 sql_help.c:3501 sql_help.c:3509 sql_help.c:3517 +#: sql_help.c:3527 sql_help.c:3536 sql_help.c:3545 sql_help.c:3553 +#: sql_help.c:3563 sql_help.c:3574 sql_help.c:3582 sql_help.c:3591 +#: sql_help.c:3602 sql_help.c:3611 sql_help.c:3619 sql_help.c:3627 +#: sql_help.c:3635 sql_help.c:3643 sql_help.c:3651 sql_help.c:3659 +#: sql_help.c:3667 sql_help.c:3675 sql_help.c:3683 sql_help.c:3691 +#: sql_help.c:3708 sql_help.c:3717 sql_help.c:3725 sql_help.c:3742 +#: sql_help.c:3757 sql_help.c:4070 sql_help.c:4191 sql_help.c:4220 +#: sql_help.c:4236 sql_help.c:4238 sql_help.c:4742 sql_help.c:4790 +#: sql_help.c:4949 msgid "name" msgstr "nombre" -#: sql_help.c:36 sql_help.c:39 sql_help.c:42 sql_help.c:330 sql_help.c:1848 -#: sql_help.c:3347 sql_help.c:4468 +#: sql_help.c:36 sql_help.c:39 sql_help.c:42 sql_help.c:332 sql_help.c:1872 +#: sql_help.c:3376 sql_help.c:4509 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:253 -#: sql_help.c:271 sql_help.c:402 sql_help.c:449 sql_help.c:528 sql_help.c:576 -#: sql_help.c:594 sql_help.c:621 sql_help.c:674 sql_help.c:743 sql_help.c:798 -#: sql_help.c:819 sql_help.c:858 sql_help.c:908 sql_help.c:955 sql_help.c:1008 -#: sql_help.c:1040 sql_help.c:1050 sql_help.c:1085 sql_help.c:1105 -#: sql_help.c:1119 sql_help.c:1169 sql_help.c:1317 sql_help.c:1444 -#: sql_help.c:1487 sql_help.c:1508 sql_help.c:1522 sql_help.c:1534 -#: sql_help.c:1547 sql_help.c:1574 sql_help.c:1640 sql_help.c:1693 +#: sql_help.c:37 sql_help.c:67 sql_help.c:82 sql_help.c:120 sql_help.c:255 +#: sql_help.c:273 sql_help.c:404 sql_help.c:451 sql_help.c:530 sql_help.c:578 +#: sql_help.c:596 sql_help.c:623 sql_help.c:676 sql_help.c:751 sql_help.c:806 +#: sql_help.c:827 sql_help.c:866 sql_help.c:916 sql_help.c:963 sql_help.c:1016 +#: sql_help.c:1048 sql_help.c:1058 sql_help.c:1093 sql_help.c:1113 +#: sql_help.c:1127 sql_help.c:1177 sql_help.c:1332 sql_help.c:1474 +#: sql_help.c:1517 sql_help.c:1538 sql_help.c:1552 sql_help.c:1564 +#: sql_help.c:1577 sql_help.c:1604 sql_help.c:1670 sql_help.c:1723 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:251 -#: sql_help.c:269 sql_help.c:400 sql_help.c:485 sql_help.c:533 sql_help.c:623 -#: sql_help.c:632 sql_help.c:697 sql_help.c:717 sql_help.c:746 sql_help.c:801 -#: sql_help.c:863 sql_help.c:906 sql_help.c:1013 sql_help.c:1052 -#: sql_help.c:1083 sql_help.c:1103 sql_help.c:1117 sql_help.c:1167 -#: sql_help.c:1381 sql_help.c:1446 sql_help.c:1489 sql_help.c:1510 -#: sql_help.c:1572 sql_help.c:1688 sql_help.c:3019 +#: sql_help.c:40 sql_help.c:69 sql_help.c:84 sql_help.c:122 sql_help.c:253 +#: sql_help.c:271 sql_help.c:402 sql_help.c:487 sql_help.c:535 sql_help.c:625 +#: sql_help.c:634 sql_help.c:699 sql_help.c:723 sql_help.c:754 sql_help.c:809 +#: sql_help.c:871 sql_help.c:914 sql_help.c:1021 sql_help.c:1060 +#: sql_help.c:1091 sql_help.c:1111 sql_help.c:1125 sql_help.c:1175 +#: sql_help.c:1408 sql_help.c:1476 sql_help.c:1519 sql_help.c:1540 +#: sql_help.c:1602 sql_help.c:1718 sql_help.c:3048 msgid "new_owner" msgstr "nuevo_dueño" -#: sql_help.c:43 sql_help.c:71 sql_help.c:86 sql_help.c:255 sql_help.c:322 -#: sql_help.c:451 sql_help.c:538 sql_help.c:676 sql_help.c:721 sql_help.c:749 -#: sql_help.c:804 sql_help.c:868 sql_help.c:1018 sql_help.c:1087 -#: sql_help.c:1121 sql_help.c:1319 sql_help.c:1491 sql_help.c:1512 -#: sql_help.c:1524 sql_help.c:1536 sql_help.c:1576 sql_help.c:1695 +#: sql_help.c:43 sql_help.c:71 sql_help.c:86 sql_help.c:257 sql_help.c:324 +#: sql_help.c:453 sql_help.c:540 sql_help.c:678 sql_help.c:727 sql_help.c:757 +#: sql_help.c:812 sql_help.c:876 sql_help.c:1026 sql_help.c:1095 +#: sql_help.c:1129 sql_help.c:1334 sql_help.c:1521 sql_help.c:1542 +#: sql_help.c:1554 sql_help.c:1566 sql_help.c:1606 sql_help.c:1725 msgid "new_schema" msgstr "nuevo_esquema" -#: sql_help.c:44 sql_help.c:1912 sql_help.c:3348 sql_help.c:4497 +#: sql_help.c:44 sql_help.c:1936 sql_help.c:3377 sql_help.c:4538 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:340 sql_help.c:353 -#: sql_help.c:357 sql_help.c:373 sql_help.c:376 sql_help.c:379 sql_help.c:520 -#: sql_help.c:525 sql_help.c:530 sql_help.c:535 sql_help.c:540 sql_help.c:850 -#: sql_help.c:855 sql_help.c:860 sql_help.c:865 sql_help.c:870 sql_help.c:1000 -#: sql_help.c:1005 sql_help.c:1010 sql_help.c:1015 sql_help.c:1020 -#: sql_help.c:1866 sql_help.c:1883 sql_help.c:1889 sql_help.c:1913 -#: sql_help.c:1916 sql_help.c:1919 sql_help.c:2070 sql_help.c:2089 -#: sql_help.c:2092 sql_help.c:2394 sql_help.c:2603 sql_help.c:3349 -#: sql_help.c:3352 sql_help.c:3355 sql_help.c:3446 sql_help.c:3535 -#: sql_help.c:3563 sql_help.c:3915 sql_help.c:4367 sql_help.c:4474 -#: sql_help.c:4481 sql_help.c:4487 sql_help.c:4498 sql_help.c:4501 -#: sql_help.c:4504 +#: sql_help.c:45 sql_help.c:48 sql_help.c:51 sql_help.c:342 sql_help.c:355 +#: sql_help.c:359 sql_help.c:375 sql_help.c:378 sql_help.c:381 sql_help.c:522 +#: sql_help.c:527 sql_help.c:532 sql_help.c:537 sql_help.c:542 sql_help.c:858 +#: sql_help.c:863 sql_help.c:868 sql_help.c:873 sql_help.c:878 sql_help.c:1008 +#: sql_help.c:1013 sql_help.c:1018 sql_help.c:1023 sql_help.c:1028 +#: sql_help.c:1890 sql_help.c:1907 sql_help.c:1913 sql_help.c:1937 +#: sql_help.c:1940 sql_help.c:1943 sql_help.c:2098 sql_help.c:2117 +#: sql_help.c:2120 sql_help.c:2424 sql_help.c:2633 sql_help.c:3378 +#: sql_help.c:3381 sql_help.c:3384 sql_help.c:3475 sql_help.c:3564 +#: sql_help.c:3592 sql_help.c:3945 sql_help.c:4408 sql_help.c:4515 +#: sql_help.c:4522 sql_help.c:4528 sql_help.c:4539 sql_help.c:4542 +#: sql_help.c:4545 msgid "argmode" msgstr "modo_arg" -#: sql_help.c:46 sql_help.c:49 sql_help.c:52 sql_help.c:341 sql_help.c:354 -#: sql_help.c:358 sql_help.c:374 sql_help.c:377 sql_help.c:380 sql_help.c:521 -#: sql_help.c:526 sql_help.c:531 sql_help.c:536 sql_help.c:541 sql_help.c:851 -#: sql_help.c:856 sql_help.c:861 sql_help.c:866 sql_help.c:871 sql_help.c:1001 -#: sql_help.c:1006 sql_help.c:1011 sql_help.c:1016 sql_help.c:1021 -#: sql_help.c:1867 sql_help.c:1884 sql_help.c:1890 sql_help.c:1914 -#: sql_help.c:1917 sql_help.c:1920 sql_help.c:2071 sql_help.c:2090 -#: sql_help.c:2093 sql_help.c:2395 sql_help.c:2604 sql_help.c:3350 -#: sql_help.c:3353 sql_help.c:3356 sql_help.c:3447 sql_help.c:3536 -#: sql_help.c:3564 sql_help.c:4475 sql_help.c:4482 sql_help.c:4488 -#: sql_help.c:4499 sql_help.c:4502 sql_help.c:4505 +#: sql_help.c:46 sql_help.c:49 sql_help.c:52 sql_help.c:343 sql_help.c:356 +#: sql_help.c:360 sql_help.c:376 sql_help.c:379 sql_help.c:382 sql_help.c:523 +#: sql_help.c:528 sql_help.c:533 sql_help.c:538 sql_help.c:543 sql_help.c:859 +#: sql_help.c:864 sql_help.c:869 sql_help.c:874 sql_help.c:879 sql_help.c:1009 +#: sql_help.c:1014 sql_help.c:1019 sql_help.c:1024 sql_help.c:1029 +#: sql_help.c:1891 sql_help.c:1908 sql_help.c:1914 sql_help.c:1938 +#: sql_help.c:1941 sql_help.c:1944 sql_help.c:2099 sql_help.c:2118 +#: sql_help.c:2121 sql_help.c:2425 sql_help.c:2634 sql_help.c:3379 +#: sql_help.c:3382 sql_help.c:3385 sql_help.c:3476 sql_help.c:3565 +#: sql_help.c:3593 sql_help.c:4516 sql_help.c:4523 sql_help.c:4529 +#: sql_help.c:4540 sql_help.c:4543 sql_help.c:4546 msgid "argname" msgstr "nombre_arg" -#: sql_help.c:47 sql_help.c:50 sql_help.c:53 sql_help.c:342 sql_help.c:355 -#: sql_help.c:359 sql_help.c:375 sql_help.c:378 sql_help.c:381 sql_help.c:522 -#: sql_help.c:527 sql_help.c:532 sql_help.c:537 sql_help.c:542 sql_help.c:852 -#: sql_help.c:857 sql_help.c:862 sql_help.c:867 sql_help.c:872 sql_help.c:1002 -#: sql_help.c:1007 sql_help.c:1012 sql_help.c:1017 sql_help.c:1022 -#: sql_help.c:1868 sql_help.c:1885 sql_help.c:1891 sql_help.c:1915 -#: sql_help.c:1918 sql_help.c:1921 sql_help.c:2396 sql_help.c:2605 -#: sql_help.c:3351 sql_help.c:3354 sql_help.c:3357 sql_help.c:3448 -#: sql_help.c:3537 sql_help.c:3565 sql_help.c:4476 sql_help.c:4483 -#: sql_help.c:4489 sql_help.c:4500 sql_help.c:4503 sql_help.c:4506 +#: sql_help.c:47 sql_help.c:50 sql_help.c:53 sql_help.c:344 sql_help.c:357 +#: sql_help.c:361 sql_help.c:377 sql_help.c:380 sql_help.c:383 sql_help.c:524 +#: sql_help.c:529 sql_help.c:534 sql_help.c:539 sql_help.c:544 sql_help.c:860 +#: sql_help.c:865 sql_help.c:870 sql_help.c:875 sql_help.c:880 sql_help.c:1010 +#: sql_help.c:1015 sql_help.c:1020 sql_help.c:1025 sql_help.c:1030 +#: sql_help.c:1892 sql_help.c:1909 sql_help.c:1915 sql_help.c:1939 +#: sql_help.c:1942 sql_help.c:1945 sql_help.c:2426 sql_help.c:2635 +#: sql_help.c:3380 sql_help.c:3383 sql_help.c:3386 sql_help.c:3477 +#: sql_help.c:3566 sql_help.c:3594 sql_help.c:4517 sql_help.c:4524 +#: sql_help.c:4530 sql_help.c:4541 sql_help.c:4544 sql_help.c:4547 msgid "argtype" msgstr "tipo_arg" -#: sql_help.c:114 sql_help.c:397 sql_help.c:474 sql_help.c:486 sql_help.c:949 -#: sql_help.c:1100 sql_help.c:1505 sql_help.c:1634 sql_help.c:1666 -#: sql_help.c:1719 sql_help.c:1783 sql_help.c:1970 sql_help.c:1977 -#: sql_help.c:2285 sql_help.c:2335 sql_help.c:2342 sql_help.c:2351 -#: sql_help.c:2440 sql_help.c:2667 sql_help.c:2760 sql_help.c:3048 -#: sql_help.c:3233 sql_help.c:3255 sql_help.c:3395 sql_help.c:3751 -#: sql_help.c:3959 sql_help.c:4194 sql_help.c:4196 sql_help.c:4973 +#: sql_help.c:114 sql_help.c:399 sql_help.c:476 sql_help.c:488 sql_help.c:957 +#: sql_help.c:1108 sql_help.c:1535 sql_help.c:1664 sql_help.c:1696 +#: sql_help.c:1748 sql_help.c:1807 sql_help.c:1996 sql_help.c:2003 +#: sql_help.c:2315 sql_help.c:2365 sql_help.c:2372 sql_help.c:2381 +#: sql_help.c:2470 sql_help.c:2695 sql_help.c:2786 sql_help.c:3077 +#: sql_help.c:3262 sql_help.c:3284 sql_help.c:3424 sql_help.c:3781 +#: sql_help.c:3989 sql_help.c:4235 sql_help.c:4237 sql_help.c:5015 msgid "option" msgstr "opción" -#: sql_help.c:115 sql_help.c:950 sql_help.c:1635 sql_help.c:2441 -#: sql_help.c:2668 sql_help.c:3234 sql_help.c:3396 +#: sql_help.c:115 sql_help.c:958 sql_help.c:1665 sql_help.c:2471 +#: sql_help.c:2696 sql_help.c:3263 sql_help.c:3425 msgid "where option can be:" msgstr "donde opción puede ser:" -#: sql_help.c:116 sql_help.c:2217 +#: sql_help.c:116 sql_help.c:2247 msgid "allowconn" msgstr "allowconn" -#: sql_help.c:117 sql_help.c:951 sql_help.c:1636 sql_help.c:2218 -#: sql_help.c:2442 sql_help.c:2669 sql_help.c:3235 +#: sql_help.c:117 sql_help.c:959 sql_help.c:1666 sql_help.c:2248 +#: sql_help.c:2472 sql_help.c:2697 sql_help.c:3264 msgid "connlimit" msgstr "límite_conexiones" -#: sql_help.c:118 sql_help.c:2219 +#: sql_help.c:118 sql_help.c:2249 msgid "istemplate" msgstr "esplantilla" -#: sql_help.c:124 sql_help.c:611 sql_help.c:679 sql_help.c:693 sql_help.c:1322 -#: sql_help.c:1374 sql_help.c:4200 +#: sql_help.c:124 sql_help.c:613 sql_help.c:681 sql_help.c:695 sql_help.c:1337 +#: sql_help.c:1401 sql_help.c:4241 msgid "new_tablespace" msgstr "nuevo_tablespace" -#: sql_help.c:127 sql_help.c:130 sql_help.c:132 sql_help.c:548 sql_help.c:550 -#: sql_help.c:551 sql_help.c:875 sql_help.c:877 sql_help.c:878 sql_help.c:958 -#: sql_help.c:962 sql_help.c:965 sql_help.c:1027 sql_help.c:1029 -#: sql_help.c:1030 sql_help.c:1180 sql_help.c:1183 sql_help.c:1643 -#: sql_help.c:1647 sql_help.c:1650 sql_help.c:2406 sql_help.c:2609 -#: sql_help.c:3927 sql_help.c:4218 sql_help.c:4379 sql_help.c:4688 +#: sql_help.c:127 sql_help.c:130 sql_help.c:132 sql_help.c:550 sql_help.c:552 +#: sql_help.c:553 sql_help.c:883 sql_help.c:885 sql_help.c:886 sql_help.c:966 +#: sql_help.c:970 sql_help.c:973 sql_help.c:1035 sql_help.c:1037 +#: sql_help.c:1038 sql_help.c:1188 sql_help.c:1190 sql_help.c:1673 +#: sql_help.c:1677 sql_help.c:1680 sql_help.c:2436 sql_help.c:2639 +#: sql_help.c:3957 sql_help.c:4259 sql_help.c:4420 sql_help.c:4730 msgid "configuration_parameter" msgstr "parámetro_de_configuración" -#: sql_help.c:128 sql_help.c:398 sql_help.c:469 sql_help.c:475 sql_help.c:487 -#: sql_help.c:549 sql_help.c:603 sql_help.c:685 sql_help.c:695 sql_help.c:876 -#: sql_help.c:904 sql_help.c:959 sql_help.c:1028 sql_help.c:1101 -#: sql_help.c:1146 sql_help.c:1150 sql_help.c:1154 sql_help.c:1157 -#: sql_help.c:1162 sql_help.c:1165 sql_help.c:1181 sql_help.c:1182 -#: sql_help.c:1353 sql_help.c:1376 sql_help.c:1424 sql_help.c:1449 -#: sql_help.c:1506 sql_help.c:1590 sql_help.c:1644 sql_help.c:1667 -#: sql_help.c:2286 sql_help.c:2336 sql_help.c:2343 sql_help.c:2352 -#: sql_help.c:2407 sql_help.c:2408 sql_help.c:2472 sql_help.c:2475 -#: sql_help.c:2509 sql_help.c:2610 sql_help.c:2611 sql_help.c:2634 -#: sql_help.c:2761 sql_help.c:2800 sql_help.c:2910 sql_help.c:2923 -#: sql_help.c:2937 sql_help.c:2978 sql_help.c:3005 sql_help.c:3022 -#: sql_help.c:3049 sql_help.c:3256 sql_help.c:3960 sql_help.c:4689 -#: sql_help.c:4690 sql_help.c:4691 sql_help.c:4692 +#: sql_help.c:128 sql_help.c:400 sql_help.c:471 sql_help.c:477 sql_help.c:489 +#: sql_help.c:551 sql_help.c:605 sql_help.c:687 sql_help.c:697 sql_help.c:884 +#: sql_help.c:912 sql_help.c:967 sql_help.c:1036 sql_help.c:1109 +#: sql_help.c:1154 sql_help.c:1158 sql_help.c:1162 sql_help.c:1165 +#: sql_help.c:1170 sql_help.c:1173 sql_help.c:1189 sql_help.c:1380 +#: sql_help.c:1403 sql_help.c:1451 sql_help.c:1459 sql_help.c:1479 +#: sql_help.c:1536 sql_help.c:1620 sql_help.c:1674 sql_help.c:1697 +#: sql_help.c:2316 sql_help.c:2366 sql_help.c:2373 sql_help.c:2382 +#: sql_help.c:2437 sql_help.c:2438 sql_help.c:2502 sql_help.c:2505 +#: sql_help.c:2539 sql_help.c:2640 sql_help.c:2641 sql_help.c:2664 +#: sql_help.c:2787 sql_help.c:2826 sql_help.c:2936 sql_help.c:2949 +#: sql_help.c:2963 sql_help.c:3004 sql_help.c:3012 sql_help.c:3034 +#: sql_help.c:3051 sql_help.c:3078 sql_help.c:3285 sql_help.c:3990 +#: sql_help.c:4731 sql_help.c:4732 sql_help.c:4733 sql_help.c:4734 msgid "value" msgstr "valor" -#: sql_help.c:200 +#: sql_help.c:202 msgid "target_role" msgstr "rol_destino" -#: sql_help.c:201 sql_help.c:913 sql_help.c:2270 sql_help.c:2639 -#: sql_help.c:2716 sql_help.c:2721 sql_help.c:3890 sql_help.c:3899 -#: sql_help.c:3918 sql_help.c:3930 sql_help.c:4342 sql_help.c:4351 -#: sql_help.c:4370 sql_help.c:4382 +#: sql_help.c:203 sql_help.c:921 sql_help.c:2300 sql_help.c:2669 +#: sql_help.c:2742 sql_help.c:2747 sql_help.c:3920 sql_help.c:3929 +#: sql_help.c:3948 sql_help.c:3960 sql_help.c:4383 sql_help.c:4392 +#: sql_help.c:4411 sql_help.c:4423 msgid "schema_name" msgstr "nombre_de_esquema" -#: sql_help.c:202 +#: sql_help.c:204 msgid "abbreviated_grant_or_revoke" msgstr "grant_o_revoke_abreviado" -#: sql_help.c:203 +#: sql_help.c:205 msgid "where abbreviated_grant_or_revoke is one of:" msgstr "donde grant_o_revoke_abreviado es uno de:" -#: sql_help.c:204 sql_help.c:205 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:574 sql_help.c:610 sql_help.c:678 sql_help.c:822 sql_help.c:969 -#: sql_help.c:1321 sql_help.c:1654 sql_help.c:2445 sql_help.c:2446 -#: sql_help.c:2447 sql_help.c:2448 sql_help.c:2449 sql_help.c:2583 -#: sql_help.c:2672 sql_help.c:2673 sql_help.c:2674 sql_help.c:2675 -#: sql_help.c:2676 sql_help.c:3238 sql_help.c:3239 sql_help.c:3240 -#: sql_help.c:3241 sql_help.c:3242 sql_help.c:3939 sql_help.c:3943 -#: sql_help.c:4391 sql_help.c:4395 sql_help.c:4710 +#: 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:576 sql_help.c:612 sql_help.c:680 sql_help.c:830 sql_help.c:977 +#: sql_help.c:1336 sql_help.c:1684 sql_help.c:2475 sql_help.c:2476 +#: sql_help.c:2477 sql_help.c:2478 sql_help.c:2479 sql_help.c:2613 +#: sql_help.c:2700 sql_help.c:2701 sql_help.c:2702 sql_help.c:3267 +#: sql_help.c:3268 sql_help.c:3269 sql_help.c:3270 sql_help.c:3271 +#: sql_help.c:3969 sql_help.c:3973 sql_help.c:4432 sql_help.c:4436 +#: sql_help.c:4752 msgid "role_name" msgstr "nombre_de_rol" -#: sql_help.c:239 sql_help.c:462 sql_help.c:912 sql_help.c:1337 sql_help.c:1339 -#: sql_help.c:1391 sql_help.c:1403 sql_help.c:1428 sql_help.c:1684 -#: sql_help.c:2239 sql_help.c:2243 sql_help.c:2355 sql_help.c:2360 -#: sql_help.c:2468 sql_help.c:2638 sql_help.c:2777 sql_help.c:2782 -#: sql_help.c:2784 sql_help.c:2905 sql_help.c:2918 sql_help.c:2932 -#: sql_help.c:2941 sql_help.c:2953 sql_help.c:2982 sql_help.c:3991 -#: sql_help.c:4006 sql_help.c:4008 sql_help.c:4095 sql_help.c:4098 -#: sql_help.c:4100 sql_help.c:4561 sql_help.c:4562 sql_help.c:4571 -#: sql_help.c:4618 sql_help.c:4619 sql_help.c:4620 sql_help.c:4621 -#: sql_help.c:4622 sql_help.c:4623 sql_help.c:4663 sql_help.c:4664 -#: sql_help.c:4669 sql_help.c:4674 sql_help.c:4818 sql_help.c:4819 -#: sql_help.c:4828 sql_help.c:4875 sql_help.c:4876 sql_help.c:4877 -#: sql_help.c:4878 sql_help.c:4879 sql_help.c:4880 sql_help.c:4934 -#: sql_help.c:4936 sql_help.c:5004 sql_help.c:5064 sql_help.c:5065 -#: sql_help.c:5074 sql_help.c:5121 sql_help.c:5122 sql_help.c:5123 -#: sql_help.c:5124 sql_help.c:5125 sql_help.c:5126 +#: sql_help.c:241 sql_help.c:464 sql_help.c:920 sql_help.c:1362 sql_help.c:1364 +#: sql_help.c:1368 sql_help.c:1418 sql_help.c:1430 sql_help.c:1455 +#: sql_help.c:1714 sql_help.c:2269 sql_help.c:2273 sql_help.c:2385 +#: sql_help.c:2390 sql_help.c:2498 sql_help.c:2668 sql_help.c:2803 +#: sql_help.c:2808 sql_help.c:2810 sql_help.c:2931 sql_help.c:2944 +#: sql_help.c:2958 sql_help.c:2967 sql_help.c:2979 sql_help.c:3008 +#: sql_help.c:4021 sql_help.c:4036 sql_help.c:4038 sql_help.c:4134 +#: sql_help.c:4137 sql_help.c:4139 sql_help.c:4602 sql_help.c:4603 +#: sql_help.c:4612 sql_help.c:4659 sql_help.c:4660 sql_help.c:4661 +#: sql_help.c:4662 sql_help.c:4663 sql_help.c:4664 sql_help.c:4705 +#: sql_help.c:4706 sql_help.c:4711 sql_help.c:4716 sql_help.c:4860 +#: sql_help.c:4861 sql_help.c:4870 sql_help.c:4917 sql_help.c:4918 +#: sql_help.c:4919 sql_help.c:4920 sql_help.c:4921 sql_help.c:4922 +#: sql_help.c:4977 sql_help.c:4979 sql_help.c:5045 sql_help.c:5105 +#: sql_help.c:5106 sql_help.c:5115 sql_help.c:5162 sql_help.c:5163 +#: sql_help.c:5164 sql_help.c:5165 sql_help.c:5166 sql_help.c:5167 msgid "expression" msgstr "expresión" -#: sql_help.c:242 +#: sql_help.c:244 sql_help.c:2270 msgid "domain_constraint" msgstr "restricción_de_dominio" -#: sql_help.c:244 sql_help.c:246 sql_help.c:249 sql_help.c:477 sql_help.c:478 -#: sql_help.c:1314 sql_help.c:1361 sql_help.c:1362 sql_help.c:1363 -#: sql_help.c:1390 sql_help.c:1402 sql_help.c:1419 sql_help.c:1854 -#: sql_help.c:1856 sql_help.c:2242 sql_help.c:2354 sql_help.c:2359 -#: sql_help.c:2940 sql_help.c:2952 sql_help.c:4003 +#: sql_help.c:246 sql_help.c:248 sql_help.c:251 sql_help.c:479 sql_help.c:480 +#: sql_help.c:1329 sql_help.c:1388 sql_help.c:1389 sql_help.c:1390 +#: sql_help.c:1417 sql_help.c:1429 sql_help.c:1446 sql_help.c:1878 +#: sql_help.c:1880 sql_help.c:2272 sql_help.c:2384 sql_help.c:2389 +#: sql_help.c:2966 sql_help.c:2978 sql_help.c:4033 msgid "constraint_name" msgstr "nombre_restricción" -#: sql_help.c:247 sql_help.c:1315 +#: sql_help.c:249 sql_help.c:1330 msgid "new_constraint_name" msgstr "nuevo_nombre_restricción" -#: sql_help.c:320 sql_help.c:1099 +#: sql_help.c:322 sql_help.c:1107 msgid "new_version" msgstr "nueva_versión" -#: sql_help.c:324 sql_help.c:326 +#: sql_help.c:326 sql_help.c:328 msgid "member_object" msgstr "objeto_miembro" -#: sql_help.c:327 +#: sql_help.c:329 msgid "where member_object is:" msgstr "dondo objeto_miembro es:" -#: sql_help.c:328 sql_help.c:333 sql_help.c:334 sql_help.c:335 sql_help.c:336 -#: sql_help.c:337 sql_help.c:338 sql_help.c:343 sql_help.c:347 sql_help.c:349 -#: sql_help.c:351 sql_help.c:360 sql_help.c:361 sql_help.c:362 sql_help.c:363 -#: sql_help.c:364 sql_help.c:365 sql_help.c:366 sql_help.c:367 sql_help.c:370 -#: sql_help.c:371 sql_help.c:1846 sql_help.c:1851 sql_help.c:1858 -#: sql_help.c:1859 sql_help.c:1860 sql_help.c:1861 sql_help.c:1862 -#: sql_help.c:1863 sql_help.c:1864 sql_help.c:1869 sql_help.c:1871 -#: sql_help.c:1875 sql_help.c:1877 sql_help.c:1881 sql_help.c:1886 -#: sql_help.c:1887 sql_help.c:1894 sql_help.c:1895 sql_help.c:1896 -#: sql_help.c:1897 sql_help.c:1898 sql_help.c:1899 sql_help.c:1900 -#: sql_help.c:1901 sql_help.c:1902 sql_help.c:1903 sql_help.c:1904 -#: sql_help.c:1909 sql_help.c:1910 sql_help.c:4464 sql_help.c:4469 -#: sql_help.c:4470 sql_help.c:4471 sql_help.c:4472 sql_help.c:4478 -#: sql_help.c:4479 sql_help.c:4484 sql_help.c:4485 sql_help.c:4490 -#: sql_help.c:4491 sql_help.c:4492 sql_help.c:4493 sql_help.c:4494 -#: sql_help.c:4495 +#: sql_help.c:330 sql_help.c:335 sql_help.c:336 sql_help.c:337 sql_help.c:338 +#: sql_help.c:339 sql_help.c:340 sql_help.c:345 sql_help.c:349 sql_help.c:351 +#: sql_help.c:353 sql_help.c:362 sql_help.c:363 sql_help.c:364 sql_help.c:365 +#: sql_help.c:366 sql_help.c:367 sql_help.c:368 sql_help.c:369 sql_help.c:372 +#: sql_help.c:373 sql_help.c:1870 sql_help.c:1875 sql_help.c:1882 +#: sql_help.c:1883 sql_help.c:1884 sql_help.c:1885 sql_help.c:1886 +#: sql_help.c:1887 sql_help.c:1888 sql_help.c:1893 sql_help.c:1895 +#: sql_help.c:1899 sql_help.c:1901 sql_help.c:1905 sql_help.c:1910 +#: sql_help.c:1911 sql_help.c:1918 sql_help.c:1919 sql_help.c:1920 +#: sql_help.c:1921 sql_help.c:1922 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:1933 sql_help.c:1934 sql_help.c:4505 sql_help.c:4510 +#: sql_help.c:4511 sql_help.c:4512 sql_help.c:4513 sql_help.c:4519 +#: sql_help.c:4520 sql_help.c:4525 sql_help.c:4526 sql_help.c:4531 +#: sql_help.c:4532 sql_help.c:4533 sql_help.c:4534 sql_help.c:4535 +#: sql_help.c:4536 msgid "object_name" msgstr "nombre_de_objeto" -#: sql_help.c:329 sql_help.c:1847 sql_help.c:4467 +#: sql_help.c:331 sql_help.c:1871 sql_help.c:4508 msgid "aggregate_name" msgstr "nombre_función_agregación" -#: sql_help.c:331 sql_help.c:1849 sql_help.c:2135 sql_help.c:2139 -#: sql_help.c:2141 sql_help.c:3365 +#: sql_help.c:333 sql_help.c:1873 sql_help.c:2163 sql_help.c:2167 +#: sql_help.c:2169 sql_help.c:3394 msgid "source_type" msgstr "tipo_fuente" -#: sql_help.c:332 sql_help.c:1850 sql_help.c:2136 sql_help.c:2140 -#: sql_help.c:2142 sql_help.c:3366 +#: sql_help.c:334 sql_help.c:1874 sql_help.c:2164 sql_help.c:2168 +#: sql_help.c:2170 sql_help.c:3395 msgid "target_type" msgstr "tipo_destino" -#: sql_help.c:339 sql_help.c:786 sql_help.c:1865 sql_help.c:2137 -#: sql_help.c:2180 sql_help.c:2258 sql_help.c:2526 sql_help.c:2557 -#: sql_help.c:3125 sql_help.c:4366 sql_help.c:4473 sql_help.c:4590 -#: sql_help.c:4594 sql_help.c:4598 sql_help.c:4601 sql_help.c:4847 -#: sql_help.c:4851 sql_help.c:4855 sql_help.c:4858 sql_help.c:5093 -#: sql_help.c:5097 sql_help.c:5101 sql_help.c:5104 +#: sql_help.c:341 sql_help.c:794 sql_help.c:1889 sql_help.c:2165 +#: sql_help.c:2208 sql_help.c:2288 sql_help.c:2556 sql_help.c:2587 +#: sql_help.c:3154 sql_help.c:4407 sql_help.c:4514 sql_help.c:4631 +#: sql_help.c:4635 sql_help.c:4639 sql_help.c:4642 sql_help.c:4889 +#: sql_help.c:4893 sql_help.c:4897 sql_help.c:4900 sql_help.c:5134 +#: sql_help.c:5138 sql_help.c:5142 sql_help.c:5145 msgid "function_name" msgstr "nombre_de_función" -#: sql_help.c:344 sql_help.c:779 sql_help.c:1872 sql_help.c:2550 +#: sql_help.c:346 sql_help.c:787 sql_help.c:1896 sql_help.c:2580 msgid "operator_name" msgstr "nombre_operador" -#: sql_help.c:345 sql_help.c:715 sql_help.c:719 sql_help.c:723 sql_help.c:1873 -#: sql_help.c:2527 sql_help.c:3489 +#: sql_help.c:347 sql_help.c:721 sql_help.c:725 sql_help.c:729 sql_help.c:1897 +#: sql_help.c:2557 sql_help.c:3518 msgid "left_type" msgstr "tipo_izq" -#: sql_help.c:346 sql_help.c:716 sql_help.c:720 sql_help.c:724 sql_help.c:1874 -#: sql_help.c:2528 sql_help.c:3490 +#: sql_help.c:348 sql_help.c:722 sql_help.c:726 sql_help.c:730 sql_help.c:1898 +#: sql_help.c:2558 sql_help.c:3519 msgid "right_type" msgstr "tipo_der" -#: sql_help.c:348 sql_help.c:350 sql_help.c:742 sql_help.c:745 sql_help.c:748 -#: sql_help.c:777 sql_help.c:789 sql_help.c:797 sql_help.c:800 sql_help.c:803 -#: sql_help.c:1408 sql_help.c:1876 sql_help.c:1878 sql_help.c:2547 -#: sql_help.c:2568 sql_help.c:2958 sql_help.c:3499 sql_help.c:3508 +#: sql_help.c:350 sql_help.c:352 sql_help.c:750 sql_help.c:753 sql_help.c:756 +#: sql_help.c:785 sql_help.c:797 sql_help.c:805 sql_help.c:808 sql_help.c:811 +#: sql_help.c:1435 sql_help.c:1900 sql_help.c:1902 sql_help.c:2577 +#: sql_help.c:2598 sql_help.c:2984 sql_help.c:3528 sql_help.c:3537 msgid "index_method" msgstr "método_de_índice" -#: sql_help.c:352 sql_help.c:1882 sql_help.c:4480 +#: sql_help.c:354 sql_help.c:1906 sql_help.c:4521 msgid "procedure_name" msgstr "nombre_de_procedimiento" -#: sql_help.c:356 sql_help.c:1888 sql_help.c:3914 sql_help.c:4486 +#: sql_help.c:358 sql_help.c:1912 sql_help.c:3944 sql_help.c:4527 msgid "routine_name" msgstr "nombre_de_rutina" -#: sql_help.c:368 sql_help.c:1380 sql_help.c:1905 sql_help.c:2402 -#: sql_help.c:2608 sql_help.c:2913 sql_help.c:3092 sql_help.c:3670 -#: sql_help.c:3936 sql_help.c:4388 +#: sql_help.c:370 sql_help.c:1407 sql_help.c:1929 sql_help.c:2432 +#: sql_help.c:2638 sql_help.c:2939 sql_help.c:3121 sql_help.c:3699 +#: sql_help.c:3966 sql_help.c:4429 msgid "type_name" msgstr "nombre_de_tipo" -#: sql_help.c:369 sql_help.c:1906 sql_help.c:2401 sql_help.c:2607 -#: sql_help.c:3093 sql_help.c:3323 sql_help.c:3671 sql_help.c:3921 -#: sql_help.c:4373 +#: sql_help.c:371 sql_help.c:1930 sql_help.c:2431 sql_help.c:2637 +#: sql_help.c:3122 sql_help.c:3352 sql_help.c:3700 sql_help.c:3951 +#: sql_help.c:4414 msgid "lang_name" msgstr "nombre_lenguaje" -#: sql_help.c:372 +#: sql_help.c:374 msgid "and aggregate_signature is:" msgstr "y signatura_func_agregación es:" -#: sql_help.c:395 sql_help.c:2002 sql_help.c:2283 +#: sql_help.c:397 sql_help.c:2030 sql_help.c:2313 msgid "handler_function" msgstr "función_manejadora" -#: sql_help.c:396 sql_help.c:2284 +#: sql_help.c:398 sql_help.c:2314 msgid "validator_function" msgstr "función_validadora" -#: sql_help.c:444 sql_help.c:523 sql_help.c:667 sql_help.c:853 sql_help.c:1003 -#: sql_help.c:1309 sql_help.c:1581 +#: sql_help.c:446 sql_help.c:525 sql_help.c:669 sql_help.c:861 sql_help.c:1011 +#: sql_help.c:1324 sql_help.c:1611 msgid "action" msgstr "acción" -#: sql_help.c:446 sql_help.c:453 sql_help.c:457 sql_help.c:458 sql_help.c:461 -#: sql_help.c:463 sql_help.c:464 sql_help.c:465 sql_help.c:467 sql_help.c:470 -#: sql_help.c:472 sql_help.c:473 sql_help.c:671 sql_help.c:681 sql_help.c:683 -#: sql_help.c:686 sql_help.c:688 sql_help.c:689 sql_help.c:911 sql_help.c:1080 -#: sql_help.c:1311 sql_help.c:1329 sql_help.c:1333 sql_help.c:1334 -#: sql_help.c:1338 sql_help.c:1340 sql_help.c:1341 sql_help.c:1342 -#: sql_help.c:1343 sql_help.c:1345 sql_help.c:1348 sql_help.c:1349 -#: sql_help.c:1351 sql_help.c:1354 sql_help.c:1356 sql_help.c:1357 -#: sql_help.c:1404 sql_help.c:1406 sql_help.c:1413 sql_help.c:1422 -#: sql_help.c:1427 sql_help.c:1431 sql_help.c:1432 sql_help.c:1683 -#: sql_help.c:1686 sql_help.c:1690 sql_help.c:1728 sql_help.c:1853 -#: sql_help.c:1967 sql_help.c:1973 sql_help.c:1987 sql_help.c:1988 -#: sql_help.c:1989 sql_help.c:2333 sql_help.c:2346 sql_help.c:2399 -#: sql_help.c:2467 sql_help.c:2473 sql_help.c:2506 sql_help.c:2637 -#: sql_help.c:2746 sql_help.c:2781 sql_help.c:2783 sql_help.c:2895 -#: sql_help.c:2904 sql_help.c:2914 sql_help.c:2917 sql_help.c:2927 -#: sql_help.c:2931 sql_help.c:2954 sql_help.c:2956 sql_help.c:2963 -#: sql_help.c:2976 sql_help.c:2981 sql_help.c:2985 sql_help.c:2986 -#: sql_help.c:3002 sql_help.c:3128 sql_help.c:3268 sql_help.c:3893 -#: sql_help.c:3894 sql_help.c:3990 sql_help.c:4005 sql_help.c:4007 -#: sql_help.c:4009 sql_help.c:4094 sql_help.c:4097 sql_help.c:4099 -#: sql_help.c:4345 sql_help.c:4346 sql_help.c:4466 sql_help.c:4627 -#: sql_help.c:4633 sql_help.c:4635 sql_help.c:4884 sql_help.c:4890 -#: sql_help.c:4892 sql_help.c:4933 sql_help.c:4935 sql_help.c:4937 -#: sql_help.c:4992 sql_help.c:5130 sql_help.c:5136 sql_help.c:5138 +#: sql_help.c:448 sql_help.c:455 sql_help.c:459 sql_help.c:460 sql_help.c:463 +#: sql_help.c:465 sql_help.c:466 sql_help.c:467 sql_help.c:469 sql_help.c:472 +#: sql_help.c:474 sql_help.c:475 sql_help.c:673 sql_help.c:683 sql_help.c:685 +#: sql_help.c:688 sql_help.c:690 sql_help.c:691 sql_help.c:919 sql_help.c:1088 +#: sql_help.c:1326 sql_help.c:1354 sql_help.c:1358 sql_help.c:1359 +#: sql_help.c:1363 sql_help.c:1365 sql_help.c:1366 sql_help.c:1367 +#: sql_help.c:1369 sql_help.c:1370 sql_help.c:1372 sql_help.c:1375 +#: sql_help.c:1376 sql_help.c:1378 sql_help.c:1381 sql_help.c:1383 +#: sql_help.c:1384 sql_help.c:1431 sql_help.c:1433 sql_help.c:1440 +#: sql_help.c:1449 sql_help.c:1454 sql_help.c:1461 sql_help.c:1462 +#: sql_help.c:1713 sql_help.c:1716 sql_help.c:1720 sql_help.c:1756 +#: sql_help.c:1877 sql_help.c:1993 sql_help.c:1999 sql_help.c:2013 +#: sql_help.c:2014 sql_help.c:2015 sql_help.c:2363 sql_help.c:2376 +#: sql_help.c:2429 sql_help.c:2497 sql_help.c:2503 sql_help.c:2536 +#: sql_help.c:2667 sql_help.c:2772 sql_help.c:2807 sql_help.c:2809 +#: sql_help.c:2921 sql_help.c:2930 sql_help.c:2940 sql_help.c:2943 +#: sql_help.c:2953 sql_help.c:2957 sql_help.c:2980 sql_help.c:2982 +#: sql_help.c:2989 sql_help.c:3002 sql_help.c:3007 sql_help.c:3014 +#: sql_help.c:3015 sql_help.c:3031 sql_help.c:3157 sql_help.c:3297 +#: sql_help.c:3923 sql_help.c:3924 sql_help.c:4020 sql_help.c:4035 +#: sql_help.c:4037 sql_help.c:4039 sql_help.c:4133 sql_help.c:4136 +#: sql_help.c:4138 sql_help.c:4140 sql_help.c:4386 sql_help.c:4387 +#: sql_help.c:4507 sql_help.c:4668 sql_help.c:4675 sql_help.c:4677 +#: sql_help.c:4926 sql_help.c:4933 sql_help.c:4935 sql_help.c:4976 +#: sql_help.c:4978 sql_help.c:4980 sql_help.c:5033 sql_help.c:5171 +#: sql_help.c:5178 sql_help.c:5180 msgid "column_name" msgstr "nombre_de_columna" -#: sql_help.c:447 sql_help.c:672 sql_help.c:1312 sql_help.c:1691 +#: sql_help.c:449 sql_help.c:674 sql_help.c:1327 sql_help.c:1721 msgid "new_column_name" msgstr "nuevo_nombre_de_columna" -#: sql_help.c:452 sql_help.c:544 sql_help.c:680 sql_help.c:874 sql_help.c:1024 -#: sql_help.c:1328 sql_help.c:1591 +#: sql_help.c:454 sql_help.c:546 sql_help.c:682 sql_help.c:882 sql_help.c:1032 +#: sql_help.c:1353 sql_help.c:1621 msgid "where action is one of:" msgstr "donde acción es una de:" -#: sql_help.c:454 sql_help.c:459 sql_help.c:1072 sql_help.c:1330 -#: sql_help.c:1335 sql_help.c:1593 sql_help.c:1597 sql_help.c:2237 -#: sql_help.c:2334 sql_help.c:2546 sql_help.c:2739 sql_help.c:2896 -#: sql_help.c:3175 sql_help.c:4151 +#: sql_help.c:456 sql_help.c:461 sql_help.c:1080 sql_help.c:1355 +#: sql_help.c:1360 sql_help.c:1623 sql_help.c:1627 sql_help.c:2267 +#: sql_help.c:2364 sql_help.c:2576 sql_help.c:2765 sql_help.c:2922 +#: sql_help.c:3204 sql_help.c:4192 msgid "data_type" msgstr "tipo_de_dato" -#: sql_help.c:455 sql_help.c:460 sql_help.c:1331 sql_help.c:1336 -#: sql_help.c:1594 sql_help.c:1598 sql_help.c:2238 sql_help.c:2337 -#: sql_help.c:2469 sql_help.c:2898 sql_help.c:2906 sql_help.c:2919 -#: sql_help.c:2933 sql_help.c:3176 sql_help.c:3182 sql_help.c:4000 +#: sql_help.c:457 sql_help.c:462 sql_help.c:1356 sql_help.c:1361 +#: sql_help.c:1456 sql_help.c:1624 sql_help.c:1628 sql_help.c:2268 +#: sql_help.c:2367 sql_help.c:2499 sql_help.c:2924 sql_help.c:2932 +#: sql_help.c:2945 sql_help.c:2959 sql_help.c:3009 sql_help.c:3205 +#: sql_help.c:3211 sql_help.c:4030 msgid "collation" msgstr "ordenamiento" -#: sql_help.c:456 sql_help.c:1332 sql_help.c:2338 sql_help.c:2347 -#: sql_help.c:2899 sql_help.c:2915 sql_help.c:2928 +#: sql_help.c:458 sql_help.c:1357 sql_help.c:2368 sql_help.c:2377 +#: sql_help.c:2925 sql_help.c:2941 sql_help.c:2954 msgid "column_constraint" msgstr "restricción_de_columna" -#: sql_help.c:466 sql_help.c:608 sql_help.c:682 sql_help.c:1350 sql_help.c:4986 +#: sql_help.c:468 sql_help.c:610 sql_help.c:684 sql_help.c:1377 sql_help.c:5027 msgid "integer" msgstr "entero" -#: sql_help.c:468 sql_help.c:471 sql_help.c:684 sql_help.c:687 sql_help.c:1352 -#: sql_help.c:1355 +#: sql_help.c:470 sql_help.c:473 sql_help.c:686 sql_help.c:689 sql_help.c:1379 +#: sql_help.c:1382 msgid "attribute_option" msgstr "opción_de_atributo" -#: sql_help.c:476 sql_help.c:1359 sql_help.c:2339 sql_help.c:2348 -#: sql_help.c:2900 sql_help.c:2916 sql_help.c:2929 +#: sql_help.c:478 sql_help.c:1386 sql_help.c:2369 sql_help.c:2378 +#: sql_help.c:2926 sql_help.c:2942 sql_help.c:2955 msgid "table_constraint" msgstr "restricción_de_tabla" -#: sql_help.c:479 sql_help.c:480 sql_help.c:481 sql_help.c:482 sql_help.c:1364 -#: sql_help.c:1365 sql_help.c:1366 sql_help.c:1367 sql_help.c:1907 +#: sql_help.c:481 sql_help.c:482 sql_help.c:483 sql_help.c:484 sql_help.c:1391 +#: sql_help.c:1392 sql_help.c:1393 sql_help.c:1394 sql_help.c:1931 msgid "trigger_name" msgstr "nombre_disparador" -#: sql_help.c:483 sql_help.c:484 sql_help.c:1378 sql_help.c:1379 -#: sql_help.c:2340 sql_help.c:2345 sql_help.c:2903 sql_help.c:2926 +#: sql_help.c:485 sql_help.c:486 sql_help.c:1405 sql_help.c:1406 +#: sql_help.c:2370 sql_help.c:2375 sql_help.c:2929 sql_help.c:2952 msgid "parent_table" msgstr "tabla_padre" -#: sql_help.c:543 sql_help.c:600 sql_help.c:669 sql_help.c:873 sql_help.c:1023 -#: sql_help.c:1550 sql_help.c:2269 +#: sql_help.c:545 sql_help.c:602 sql_help.c:671 sql_help.c:881 sql_help.c:1031 +#: sql_help.c:1580 sql_help.c:2299 msgid "extension_name" msgstr "nombre_de_extensión" -#: sql_help.c:545 sql_help.c:1025 sql_help.c:2403 +#: sql_help.c:547 sql_help.c:1033 sql_help.c:2433 msgid "execution_cost" msgstr "costo_de_ejecución" -#: sql_help.c:546 sql_help.c:1026 sql_help.c:2404 +#: sql_help.c:548 sql_help.c:1034 sql_help.c:2434 msgid "result_rows" msgstr "núm_de_filas" -#: sql_help.c:547 sql_help.c:2405 +#: sql_help.c:549 sql_help.c:2435 msgid "support_function" msgstr "función_de_soporte" -#: sql_help.c:569 sql_help.c:571 sql_help.c:948 sql_help.c:956 sql_help.c:960 -#: sql_help.c:963 sql_help.c:966 sql_help.c:1633 sql_help.c:1641 -#: sql_help.c:1645 sql_help.c:1648 sql_help.c:1651 sql_help.c:2717 -#: sql_help.c:2719 sql_help.c:2722 sql_help.c:2723 sql_help.c:3891 -#: sql_help.c:3892 sql_help.c:3896 sql_help.c:3897 sql_help.c:3900 -#: sql_help.c:3901 sql_help.c:3903 sql_help.c:3904 sql_help.c:3906 -#: sql_help.c:3907 sql_help.c:3909 sql_help.c:3910 sql_help.c:3912 -#: sql_help.c:3913 sql_help.c:3919 sql_help.c:3920 sql_help.c:3922 -#: sql_help.c:3923 sql_help.c:3925 sql_help.c:3926 sql_help.c:3928 -#: sql_help.c:3929 sql_help.c:3931 sql_help.c:3932 sql_help.c:3934 -#: sql_help.c:3935 sql_help.c:3937 sql_help.c:3938 sql_help.c:3940 -#: sql_help.c:3941 sql_help.c:4343 sql_help.c:4344 sql_help.c:4348 -#: sql_help.c:4349 sql_help.c:4352 sql_help.c:4353 sql_help.c:4355 -#: sql_help.c:4356 sql_help.c:4358 sql_help.c:4359 sql_help.c:4361 -#: sql_help.c:4362 sql_help.c:4364 sql_help.c:4365 sql_help.c:4371 -#: sql_help.c:4372 sql_help.c:4374 sql_help.c:4375 sql_help.c:4377 -#: sql_help.c:4378 sql_help.c:4380 sql_help.c:4381 sql_help.c:4383 -#: sql_help.c:4384 sql_help.c:4386 sql_help.c:4387 sql_help.c:4389 -#: sql_help.c:4390 sql_help.c:4392 sql_help.c:4393 +#: sql_help.c:571 sql_help.c:573 sql_help.c:956 sql_help.c:964 sql_help.c:968 +#: sql_help.c:971 sql_help.c:974 sql_help.c:1663 sql_help.c:1671 +#: sql_help.c:1675 sql_help.c:1678 sql_help.c:1681 sql_help.c:2743 +#: sql_help.c:2745 sql_help.c:2748 sql_help.c:2749 sql_help.c:3921 +#: sql_help.c:3922 sql_help.c:3926 sql_help.c:3927 sql_help.c:3930 +#: sql_help.c:3931 sql_help.c:3933 sql_help.c:3934 sql_help.c:3936 +#: sql_help.c:3937 sql_help.c:3939 sql_help.c:3940 sql_help.c:3942 +#: sql_help.c:3943 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:3964 +#: sql_help.c:3965 sql_help.c:3967 sql_help.c:3968 sql_help.c:3970 +#: sql_help.c:3971 sql_help.c:4384 sql_help.c:4385 sql_help.c:4389 +#: sql_help.c:4390 sql_help.c:4393 sql_help.c:4394 sql_help.c:4396 +#: sql_help.c:4397 sql_help.c:4399 sql_help.c:4400 sql_help.c:4402 +#: sql_help.c:4403 sql_help.c:4405 sql_help.c:4406 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:4427 sql_help.c:4428 sql_help.c:4430 +#: sql_help.c:4431 sql_help.c:4433 sql_help.c:4434 msgid "role_specification" msgstr "especificación_de_rol" -#: sql_help.c:570 sql_help.c:572 sql_help.c:1664 sql_help.c:2205 -#: sql_help.c:2725 sql_help.c:3253 sql_help.c:3704 sql_help.c:4720 +#: sql_help.c:572 sql_help.c:574 sql_help.c:1694 sql_help.c:2234 +#: sql_help.c:2751 sql_help.c:3282 sql_help.c:3733 sql_help.c:4762 msgid "user_name" msgstr "nombre_de_usuario" -#: sql_help.c:573 sql_help.c:968 sql_help.c:1653 sql_help.c:2724 -#: sql_help.c:3942 sql_help.c:4394 +#: sql_help.c:575 sql_help.c:976 sql_help.c:1683 sql_help.c:2750 +#: sql_help.c:3972 sql_help.c:4435 msgid "where role_specification can be:" msgstr "donde especificación_de_rol puede ser:" -#: sql_help.c:575 +#: sql_help.c:577 msgid "group_name" msgstr "nombre_de_grupo" -#: sql_help.c:596 sql_help.c:1425 sql_help.c:2216 sql_help.c:2476 -#: sql_help.c:2510 sql_help.c:2911 sql_help.c:2924 sql_help.c:2938 -#: sql_help.c:2979 sql_help.c:3006 sql_help.c:3018 sql_help.c:3933 -#: sql_help.c:4385 +#: sql_help.c:598 sql_help.c:1452 sql_help.c:2246 sql_help.c:2506 +#: sql_help.c:2540 sql_help.c:2937 sql_help.c:2950 sql_help.c:2964 +#: sql_help.c:3005 sql_help.c:3035 sql_help.c:3047 sql_help.c:3963 +#: sql_help.c:4426 msgid "tablespace_name" msgstr "nombre_de_tablespace" -#: sql_help.c:598 sql_help.c:691 sql_help.c:1372 sql_help.c:1382 -#: sql_help.c:1420 sql_help.c:1782 sql_help.c:1785 +#: sql_help.c:600 sql_help.c:693 sql_help.c:1399 sql_help.c:1409 +#: sql_help.c:1447 sql_help.c:1809 msgid "index_name" msgstr "nombre_índice" -#: sql_help.c:602 sql_help.c:605 sql_help.c:694 sql_help.c:696 sql_help.c:1375 -#: sql_help.c:1377 sql_help.c:1423 sql_help.c:2474 sql_help.c:2508 -#: sql_help.c:2909 sql_help.c:2922 sql_help.c:2936 sql_help.c:2977 -#: sql_help.c:3004 +#: sql_help.c:604 sql_help.c:607 sql_help.c:696 sql_help.c:698 sql_help.c:1402 +#: sql_help.c:1404 sql_help.c:1450 sql_help.c:2504 sql_help.c:2538 +#: sql_help.c:2935 sql_help.c:2948 sql_help.c:2962 sql_help.c:3003 +#: sql_help.c:3033 msgid "storage_parameter" msgstr "parámetro_de_almacenamiento" -#: sql_help.c:607 +#: sql_help.c:609 msgid "column_number" msgstr "número_de_columna" -#: sql_help.c:631 sql_help.c:1870 sql_help.c:4477 +#: sql_help.c:633 sql_help.c:1894 sql_help.c:4518 msgid "large_object_oid" msgstr "oid_de_objeto_grande" -#: sql_help.c:690 sql_help.c:1358 sql_help.c:2897 +#: sql_help.c:692 sql_help.c:1385 sql_help.c:2923 msgid "compression_method" msgstr "método_de_compresión" -#: sql_help.c:692 sql_help.c:1373 +#: sql_help.c:694 sql_help.c:1400 msgid "new_access_method" msgstr "nuevo_método_de_acceso" -#: sql_help.c:725 sql_help.c:2531 +#: sql_help.c:731 sql_help.c:2561 msgid "res_proc" msgstr "proc_res" -#: sql_help.c:726 sql_help.c:2532 +#: sql_help.c:732 sql_help.c:2562 msgid "join_proc" msgstr "proc_join" -#: sql_help.c:778 sql_help.c:790 sql_help.c:2549 +#: sql_help.c:733 sql_help.c:2559 +msgid "com_op" +msgstr "op_conm" + +#: sql_help.c:734 sql_help.c:2560 +msgid "neg_op" +msgstr "op_neg" + +#: sql_help.c:786 sql_help.c:798 sql_help.c:2579 msgid "strategy_number" msgstr "número_de_estrategia" -#: sql_help.c:780 sql_help.c:781 sql_help.c:784 sql_help.c:785 sql_help.c:791 -#: sql_help.c:792 sql_help.c:794 sql_help.c:795 sql_help.c:2551 sql_help.c:2552 -#: sql_help.c:2555 sql_help.c:2556 +#: sql_help.c:788 sql_help.c:789 sql_help.c:792 sql_help.c:793 sql_help.c:799 +#: sql_help.c:800 sql_help.c:802 sql_help.c:803 sql_help.c:2581 sql_help.c:2582 +#: sql_help.c:2585 sql_help.c:2586 msgid "op_type" msgstr "tipo_op" -#: sql_help.c:782 sql_help.c:2553 +#: sql_help.c:790 sql_help.c:2583 msgid "sort_family_name" msgstr "nombre_familia_ordenamiento" -#: sql_help.c:783 sql_help.c:793 sql_help.c:2554 +#: sql_help.c:791 sql_help.c:801 sql_help.c:2584 msgid "support_number" msgstr "número_de_soporte" -#: sql_help.c:787 sql_help.c:2138 sql_help.c:2558 sql_help.c:3095 -#: sql_help.c:3097 +#: sql_help.c:795 sql_help.c:2166 sql_help.c:2588 sql_help.c:3124 +#: sql_help.c:3126 msgid "argument_type" msgstr "tipo_argumento" -#: sql_help.c:818 sql_help.c:821 sql_help.c:910 sql_help.c:1039 sql_help.c:1079 -#: sql_help.c:1546 sql_help.c:1549 sql_help.c:1727 sql_help.c:1781 -#: sql_help.c:1784 sql_help.c:1855 sql_help.c:1880 sql_help.c:1893 -#: sql_help.c:1908 sql_help.c:1966 sql_help.c:1972 sql_help.c:2332 -#: sql_help.c:2344 sql_help.c:2465 sql_help.c:2505 sql_help.c:2582 -#: sql_help.c:2636 sql_help.c:2693 sql_help.c:2745 sql_help.c:2778 -#: sql_help.c:2785 sql_help.c:2894 sql_help.c:2912 sql_help.c:2925 -#: sql_help.c:3001 sql_help.c:3121 sql_help.c:3302 sql_help.c:3525 -#: sql_help.c:3574 sql_help.c:3680 sql_help.c:3889 sql_help.c:3895 -#: sql_help.c:3956 sql_help.c:3988 sql_help.c:4341 sql_help.c:4347 -#: sql_help.c:4465 sql_help.c:4576 sql_help.c:4578 sql_help.c:4640 -#: sql_help.c:4679 sql_help.c:4833 sql_help.c:4835 sql_help.c:4897 -#: sql_help.c:4931 sql_help.c:4991 sql_help.c:5079 sql_help.c:5081 -#: sql_help.c:5143 +#: sql_help.c:826 sql_help.c:829 sql_help.c:918 sql_help.c:1047 sql_help.c:1087 +#: sql_help.c:1576 sql_help.c:1579 sql_help.c:1755 sql_help.c:1808 +#: sql_help.c:1879 sql_help.c:1904 sql_help.c:1917 sql_help.c:1932 +#: sql_help.c:1992 sql_help.c:1998 sql_help.c:2362 sql_help.c:2374 +#: sql_help.c:2495 sql_help.c:2535 sql_help.c:2612 sql_help.c:2666 +#: sql_help.c:2719 sql_help.c:2771 sql_help.c:2804 sql_help.c:2811 +#: sql_help.c:2920 sql_help.c:2938 sql_help.c:2951 sql_help.c:3030 +#: sql_help.c:3150 sql_help.c:3331 sql_help.c:3554 sql_help.c:3603 +#: sql_help.c:3709 sql_help.c:3919 sql_help.c:3925 sql_help.c:3986 +#: sql_help.c:4018 sql_help.c:4382 sql_help.c:4388 sql_help.c:4506 +#: sql_help.c:4619 sql_help.c:4682 sql_help.c:4721 sql_help.c:4877 +#: sql_help.c:4940 sql_help.c:4974 sql_help.c:5032 sql_help.c:5122 +#: sql_help.c:5185 msgid "table_name" msgstr "nombre_de_tabla" -#: sql_help.c:823 sql_help.c:2584 +#: sql_help.c:831 sql_help.c:2614 msgid "using_expression" msgstr "expresión_using" -#: sql_help.c:824 sql_help.c:2585 +#: sql_help.c:832 sql_help.c:2615 msgid "check_expression" msgstr "expresión_check" -#: sql_help.c:897 sql_help.c:899 sql_help.c:901 sql_help.c:2632 +#: sql_help.c:905 sql_help.c:907 sql_help.c:909 sql_help.c:2662 msgid "publication_object" msgstr "objeto_de_publicación" -#: sql_help.c:903 sql_help.c:2633 +#: sql_help.c:911 sql_help.c:2663 msgid "publication_parameter" msgstr "parámetro_de_publicación" -#: sql_help.c:909 sql_help.c:2635 +#: sql_help.c:917 sql_help.c:2665 msgid "where publication_object is one of:" msgstr "donde objeto_de_publicación es uno de:" -#: sql_help.c:952 sql_help.c:1637 sql_help.c:2443 sql_help.c:2670 -#: sql_help.c:3236 +#: sql_help.c:960 sql_help.c:1667 sql_help.c:2473 sql_help.c:2698 +#: sql_help.c:3265 msgid "password" msgstr "contraseña" -#: sql_help.c:953 sql_help.c:1638 sql_help.c:2444 sql_help.c:2671 -#: sql_help.c:3237 +#: sql_help.c:961 sql_help.c:1668 sql_help.c:2474 sql_help.c:2699 +#: sql_help.c:3266 msgid "timestamp" msgstr "fecha_hora" -#: sql_help.c:957 sql_help.c:961 sql_help.c:964 sql_help.c:967 sql_help.c:1642 -#: sql_help.c:1646 sql_help.c:1649 sql_help.c:1652 sql_help.c:3902 -#: sql_help.c:4354 +#: sql_help.c:965 sql_help.c:969 sql_help.c:972 sql_help.c:975 sql_help.c:1672 +#: sql_help.c:1676 sql_help.c:1679 sql_help.c:1682 sql_help.c:3932 +#: sql_help.c:4395 msgid "database_name" msgstr "nombre_de_base_de_datos" -#: sql_help.c:1073 sql_help.c:2740 +#: sql_help.c:1081 sql_help.c:2766 msgid "increment" msgstr "incremento" -#: sql_help.c:1074 sql_help.c:2741 +#: sql_help.c:1082 sql_help.c:2767 msgid "minvalue" msgstr "valormin" -#: sql_help.c:1075 sql_help.c:2742 +#: sql_help.c:1083 sql_help.c:2768 msgid "maxvalue" msgstr "valormax" -#: sql_help.c:1076 sql_help.c:2743 sql_help.c:4574 sql_help.c:4677 -#: sql_help.c:4831 sql_help.c:5008 sql_help.c:5077 +#: sql_help.c:1084 sql_help.c:2769 sql_help.c:4615 sql_help.c:4719 +#: sql_help.c:4873 sql_help.c:5049 sql_help.c:5118 msgid "start" msgstr "inicio" -#: sql_help.c:1077 sql_help.c:1347 +#: sql_help.c:1085 sql_help.c:1374 msgid "restart" msgstr "reinicio" -#: sql_help.c:1078 sql_help.c:2744 +#: sql_help.c:1086 sql_help.c:2770 msgid "cache" msgstr "cache" -#: sql_help.c:1123 +#: sql_help.c:1131 msgid "new_target" msgstr "nuevo_valor" -#: sql_help.c:1142 sql_help.c:2797 +#: sql_help.c:1150 sql_help.c:2823 msgid "conninfo" msgstr "conninfo" -#: sql_help.c:1144 sql_help.c:1148 sql_help.c:1152 sql_help.c:2798 +#: sql_help.c:1152 sql_help.c:1156 sql_help.c:1160 sql_help.c:2824 msgid "publication_name" msgstr "nombre_de_publicación" -#: sql_help.c:1145 sql_help.c:1149 sql_help.c:1153 +#: sql_help.c:1153 sql_help.c:1157 sql_help.c:1161 msgid "publication_option" msgstr "opción_de_publicación" -#: sql_help.c:1156 +#: sql_help.c:1164 msgid "refresh_option" msgstr "opción_refresh" -#: sql_help.c:1161 sql_help.c:2799 +#: sql_help.c:1169 sql_help.c:2825 msgid "subscription_parameter" msgstr "parámetro_de_suscripción" -#: sql_help.c:1164 +#: sql_help.c:1172 msgid "skip_option" msgstr "opción_skip" -#: sql_help.c:1324 sql_help.c:1327 +#: sql_help.c:1339 sql_help.c:1342 sql_help.c:1344 sql_help.c:1352 msgid "partition_name" msgstr "nombre_de_partición" -#: sql_help.c:1325 sql_help.c:2349 sql_help.c:2930 +#: sql_help.c:1340 sql_help.c:1346 sql_help.c:1348 sql_help.c:2379 +#: sql_help.c:2956 msgid "partition_bound_spec" msgstr "borde_de_partición" -#: sql_help.c:1344 sql_help.c:1394 sql_help.c:2944 +#: sql_help.c:1345 sql_help.c:1350 +#| msgid "partition_name" +msgid "partition_name1" +msgstr "nombre1_de_partición" + +#: sql_help.c:1347 sql_help.c:1351 +#| msgid "partition_name" +msgid "partition_name2" +msgstr "nombre2_de_partición" + +#: sql_help.c:1371 sql_help.c:1421 sql_help.c:2970 msgid "sequence_options" msgstr "opciones_de_secuencia" -#: sql_help.c:1346 +#: sql_help.c:1373 msgid "sequence_option" msgstr "opción_de_secuencia" -#: sql_help.c:1360 +#: sql_help.c:1387 msgid "table_constraint_using_index" msgstr "restricción_de_tabla_con_índice" -#: sql_help.c:1368 sql_help.c:1369 sql_help.c:1370 sql_help.c:1371 +#: sql_help.c:1395 sql_help.c:1396 sql_help.c:1397 sql_help.c:1398 msgid "rewrite_rule_name" msgstr "nombre_regla_de_reescritura" -#: sql_help.c:1383 sql_help.c:2361 sql_help.c:2969 +#: sql_help.c:1410 sql_help.c:2391 sql_help.c:2995 msgid "and partition_bound_spec is:" msgstr "y borde_de_partición es:" -#: sql_help.c:1384 sql_help.c:1385 sql_help.c:1386 sql_help.c:2362 -#: sql_help.c:2363 sql_help.c:2364 sql_help.c:2970 sql_help.c:2971 -#: sql_help.c:2972 +#: sql_help.c:1411 sql_help.c:1412 sql_help.c:1413 sql_help.c:2392 +#: sql_help.c:2393 sql_help.c:2394 sql_help.c:2996 sql_help.c:2997 +#: sql_help.c:2998 msgid "partition_bound_expr" msgstr "expresión_de_borde_de_partición" -#: sql_help.c:1387 sql_help.c:1388 sql_help.c:2365 sql_help.c:2366 -#: sql_help.c:2973 sql_help.c:2974 +#: sql_help.c:1414 sql_help.c:1415 sql_help.c:2395 sql_help.c:2396 +#: sql_help.c:2999 sql_help.c:3000 msgid "numeric_literal" msgstr "literal_numérico" -#: sql_help.c:1389 +#: sql_help.c:1416 msgid "and column_constraint is:" msgstr "donde restricción_de_columna es:" -#: sql_help.c:1392 sql_help.c:2356 sql_help.c:2397 sql_help.c:2606 -#: sql_help.c:2942 +#: sql_help.c:1419 sql_help.c:2386 sql_help.c:2427 sql_help.c:2636 +#: sql_help.c:2968 msgid "default_expr" msgstr "expr_por_omisión" -#: sql_help.c:1393 sql_help.c:2357 sql_help.c:2943 +#: sql_help.c:1420 sql_help.c:2387 sql_help.c:2969 msgid "generation_expr" msgstr "expr_de_generación" -#: sql_help.c:1395 sql_help.c:1396 sql_help.c:1405 sql_help.c:1407 -#: sql_help.c:1411 sql_help.c:2945 sql_help.c:2946 sql_help.c:2955 -#: sql_help.c:2957 sql_help.c:2961 +#: sql_help.c:1422 sql_help.c:1423 sql_help.c:1432 sql_help.c:1434 +#: sql_help.c:1438 sql_help.c:2971 sql_help.c:2972 sql_help.c:2981 +#: sql_help.c:2983 sql_help.c:2987 msgid "index_parameters" msgstr "parámetros_de_índice" -#: sql_help.c:1397 sql_help.c:1414 sql_help.c:2947 sql_help.c:2964 +#: sql_help.c:1424 sql_help.c:1441 sql_help.c:2973 sql_help.c:2990 msgid "reftable" msgstr "tabla_ref" -#: sql_help.c:1398 sql_help.c:1415 sql_help.c:2948 sql_help.c:2965 +#: sql_help.c:1425 sql_help.c:1442 sql_help.c:2974 sql_help.c:2991 msgid "refcolumn" msgstr "columna_ref" -#: sql_help.c:1399 sql_help.c:1400 sql_help.c:1416 sql_help.c:1417 -#: sql_help.c:2949 sql_help.c:2950 sql_help.c:2966 sql_help.c:2967 +#: sql_help.c:1426 sql_help.c:1427 sql_help.c:1443 sql_help.c:1444 +#: sql_help.c:2975 sql_help.c:2976 sql_help.c:2992 sql_help.c:2993 msgid "referential_action" msgstr "acción_referencial" -#: sql_help.c:1401 sql_help.c:2358 sql_help.c:2951 +#: sql_help.c:1428 sql_help.c:2388 sql_help.c:2977 msgid "and table_constraint is:" msgstr "y restricción_de_tabla es:" -#: sql_help.c:1409 sql_help.c:2959 +#: sql_help.c:1436 sql_help.c:2985 msgid "exclude_element" msgstr "elemento_de_exclusión" -#: sql_help.c:1410 sql_help.c:2960 sql_help.c:4572 sql_help.c:4675 -#: sql_help.c:4829 sql_help.c:5006 sql_help.c:5075 +#: sql_help.c:1437 sql_help.c:2986 sql_help.c:4613 sql_help.c:4717 +#: sql_help.c:4871 sql_help.c:5047 sql_help.c:5116 msgid "operator" msgstr "operador" -#: sql_help.c:1412 sql_help.c:2477 sql_help.c:2962 +#: sql_help.c:1439 sql_help.c:2507 sql_help.c:2988 msgid "predicate" msgstr "predicado" -#: sql_help.c:1418 +#: sql_help.c:1445 msgid "and table_constraint_using_index is:" msgstr "y restricción_de_tabla_con_índice es:" -#: sql_help.c:1421 sql_help.c:2975 +#: sql_help.c:1448 sql_help.c:3001 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:1426 sql_help.c:2980 +#: sql_help.c:1453 sql_help.c:3006 msgid "exclude_element in an EXCLUDE constraint is:" msgstr "elemento_de_exclusión en una restricción EXCLUDE es:" -#: sql_help.c:1429 sql_help.c:2470 sql_help.c:2907 sql_help.c:2920 -#: sql_help.c:2934 sql_help.c:2983 sql_help.c:4001 +#: sql_help.c:1457 sql_help.c:2500 sql_help.c:2933 sql_help.c:2946 +#: sql_help.c:2960 sql_help.c:3010 sql_help.c:4031 msgid "opclass" msgstr "clase_de_ops" -#: sql_help.c:1430 sql_help.c:2984 +#: sql_help.c:1458 sql_help.c:2501 sql_help.c:3011 +msgid "opclass_parameter" +msgstr "parámetro_opclass" + +#: sql_help.c:1460 sql_help.c:3013 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:1448 sql_help.c:1451 sql_help.c:3021 +#: sql_help.c:1478 sql_help.c:1481 sql_help.c:3050 msgid "tablespace_option" msgstr "opción_de_tablespace" -#: sql_help.c:1472 sql_help.c:1475 sql_help.c:1481 sql_help.c:1485 +#: sql_help.c:1502 sql_help.c:1505 sql_help.c:1511 sql_help.c:1515 msgid "token_type" msgstr "tipo_de_token" -#: sql_help.c:1473 sql_help.c:1476 +#: sql_help.c:1503 sql_help.c:1506 msgid "dictionary_name" msgstr "nombre_diccionario" -#: sql_help.c:1478 sql_help.c:1482 +#: sql_help.c:1508 sql_help.c:1512 msgid "old_dictionary" msgstr "diccionario_antiguo" -#: sql_help.c:1479 sql_help.c:1483 +#: sql_help.c:1509 sql_help.c:1513 msgid "new_dictionary" msgstr "diccionario_nuevo" -#: sql_help.c:1578 sql_help.c:1592 sql_help.c:1595 sql_help.c:1596 -#: sql_help.c:3174 +#: sql_help.c:1608 sql_help.c:1622 sql_help.c:1625 sql_help.c:1626 +#: sql_help.c:3203 msgid "attribute_name" msgstr "nombre_atributo" -#: sql_help.c:1579 +#: sql_help.c:1609 msgid "new_attribute_name" msgstr "nuevo_nombre_atributo" -#: sql_help.c:1583 sql_help.c:1587 +#: sql_help.c:1613 sql_help.c:1617 msgid "new_enum_value" msgstr "nuevo_valor_enum" -#: sql_help.c:1584 +#: sql_help.c:1614 msgid "neighbor_enum_value" msgstr "valor_enum_vecino" -#: sql_help.c:1586 +#: sql_help.c:1616 msgid "existing_enum_value" msgstr "valor_enum_existente" -#: sql_help.c:1589 +#: sql_help.c:1619 msgid "property" msgstr "propiedad" -#: sql_help.c:1665 sql_help.c:2341 sql_help.c:2350 sql_help.c:2756 -#: sql_help.c:3254 sql_help.c:3705 sql_help.c:3911 sql_help.c:3957 -#: sql_help.c:4363 +#: sql_help.c:1695 sql_help.c:2371 sql_help.c:2380 sql_help.c:2782 +#: sql_help.c:3283 sql_help.c:3734 sql_help.c:3941 sql_help.c:3987 +#: sql_help.c:4404 msgid "server_name" msgstr "nombre_de_servidor" -#: sql_help.c:1697 sql_help.c:1700 sql_help.c:3269 +#: sql_help.c:1727 sql_help.c:1730 sql_help.c:3298 msgid "view_option_name" msgstr "nombre_opción_de_vista" -#: sql_help.c:1698 sql_help.c:3270 +#: sql_help.c:1728 sql_help.c:3299 msgid "view_option_value" msgstr "valor_opción_de_vista" -#: sql_help.c:1720 sql_help.c:1721 sql_help.c:4974 sql_help.c:4975 +#: sql_help.c:1749 sql_help.c:5016 msgid "table_and_columns" msgstr "tabla_y_columnas" -#: sql_help.c:1722 sql_help.c:1786 sql_help.c:1978 sql_help.c:3754 -#: sql_help.c:4198 sql_help.c:4976 +#: sql_help.c:1750 sql_help.c:1810 sql_help.c:2004 sql_help.c:3783 +#: sql_help.c:4239 sql_help.c:5017 msgid "where option can be one of:" msgstr "donde opción puede ser una de:" -#: sql_help.c:1723 sql_help.c:1724 sql_help.c:1787 sql_help.c:1980 -#: sql_help.c:1984 sql_help.c:2164 sql_help.c:3755 sql_help.c:3756 -#: sql_help.c:3757 sql_help.c:3758 sql_help.c:3759 sql_help.c:3760 -#: sql_help.c:3761 sql_help.c:3762 sql_help.c:3763 sql_help.c:4199 -#: sql_help.c:4201 sql_help.c:4977 sql_help.c:4978 sql_help.c:4979 -#: sql_help.c:4980 sql_help.c:4981 sql_help.c:4982 sql_help.c:4983 -#: sql_help.c:4984 sql_help.c:4985 sql_help.c:4987 sql_help.c:4988 +#: sql_help.c:1751 sql_help.c:1752 sql_help.c:1811 sql_help.c:2006 +#: sql_help.c:2010 sql_help.c:2192 sql_help.c:3784 sql_help.c:3785 +#: sql_help.c:3786 sql_help.c:3787 sql_help.c:3788 sql_help.c:3789 +#: sql_help.c:3790 sql_help.c:3791 sql_help.c:3792 sql_help.c:3793 +#: sql_help.c:4240 sql_help.c:4242 sql_help.c:5018 sql_help.c:5019 +#: sql_help.c:5020 sql_help.c:5021 sql_help.c:5022 sql_help.c:5023 +#: sql_help.c:5024 sql_help.c:5025 sql_help.c:5026 sql_help.c:5028 +#: sql_help.c:5029 msgid "boolean" msgstr "booleano" -#: sql_help.c:1725 sql_help.c:4989 +#: sql_help.c:1753 sql_help.c:5030 msgid "size" msgstr "tamaño" -#: sql_help.c:1726 sql_help.c:4990 +#: sql_help.c:1754 sql_help.c:5031 msgid "and table_and_columns is:" msgstr "y tabla_y_columnas es:" -#: sql_help.c:1742 sql_help.c:4736 sql_help.c:4738 sql_help.c:4762 +#: sql_help.c:1770 sql_help.c:4778 sql_help.c:4780 sql_help.c:4804 msgid "transaction_mode" msgstr "modo_de_transacción" -#: sql_help.c:1743 sql_help.c:4739 sql_help.c:4763 +#: sql_help.c:1771 sql_help.c:4781 sql_help.c:4805 msgid "where transaction_mode is one of:" msgstr "donde modo_de_transacción es uno de:" -#: sql_help.c:1752 sql_help.c:4582 sql_help.c:4591 sql_help.c:4595 -#: sql_help.c:4599 sql_help.c:4602 sql_help.c:4839 sql_help.c:4848 -#: sql_help.c:4852 sql_help.c:4856 sql_help.c:4859 sql_help.c:5085 -#: sql_help.c:5094 sql_help.c:5098 sql_help.c:5102 sql_help.c:5105 +#: sql_help.c:1780 sql_help.c:4623 sql_help.c:4632 sql_help.c:4636 +#: sql_help.c:4640 sql_help.c:4643 sql_help.c:4881 sql_help.c:4890 +#: sql_help.c:4894 sql_help.c:4898 sql_help.c:4901 sql_help.c:5126 +#: sql_help.c:5135 sql_help.c:5139 sql_help.c:5143 sql_help.c:5146 msgid "argument" msgstr "argumento" -#: sql_help.c:1852 +#: sql_help.c:1876 msgid "relation_name" msgstr "nombre_relación" -#: sql_help.c:1857 sql_help.c:3905 sql_help.c:4357 +#: sql_help.c:1881 sql_help.c:3935 sql_help.c:4398 msgid "domain_name" msgstr "nombre_de_dominio" -#: sql_help.c:1879 +#: sql_help.c:1903 msgid "policy_name" msgstr "nombre_de_política" -#: sql_help.c:1892 +#: sql_help.c:1916 msgid "rule_name" msgstr "nombre_regla" -#: sql_help.c:1911 sql_help.c:4496 +#: sql_help.c:1935 sql_help.c:4537 msgid "string_literal" msgstr "literal_de_cadena" -#: sql_help.c:1936 sql_help.c:4160 sql_help.c:4410 +#: sql_help.c:1960 sql_help.c:4201 sql_help.c:4451 msgid "transaction_id" msgstr "id_de_transacción" -#: sql_help.c:1968 sql_help.c:1975 sql_help.c:4027 +#: sql_help.c:1994 sql_help.c:2001 sql_help.c:4057 msgid "filename" msgstr "nombre_de_archivo" -#: sql_help.c:1969 sql_help.c:1976 sql_help.c:2695 sql_help.c:2696 -#: sql_help.c:2697 +#: sql_help.c:1995 sql_help.c:2002 sql_help.c:2721 sql_help.c:2722 +#: sql_help.c:2723 msgid "command" msgstr "orden" -#: sql_help.c:1971 sql_help.c:2694 sql_help.c:3124 sql_help.c:3305 -#: sql_help.c:4011 sql_help.c:4088 sql_help.c:4091 sql_help.c:4565 -#: sql_help.c:4567 sql_help.c:4668 sql_help.c:4670 sql_help.c:4822 -#: sql_help.c:4824 sql_help.c:4940 sql_help.c:5068 sql_help.c:5070 +#: sql_help.c:1997 sql_help.c:2720 sql_help.c:3153 sql_help.c:3334 +#: sql_help.c:4041 sql_help.c:4124 sql_help.c:4127 sql_help.c:4130 +#: sql_help.c:4606 sql_help.c:4608 sql_help.c:4710 sql_help.c:4712 +#: sql_help.c:4864 sql_help.c:4866 sql_help.c:4983 sql_help.c:5109 +#: sql_help.c:5111 msgid "condition" msgstr "condición" -#: sql_help.c:1974 sql_help.c:2511 sql_help.c:3007 sql_help.c:3271 -#: sql_help.c:3289 sql_help.c:3992 +#: sql_help.c:2000 sql_help.c:2541 sql_help.c:3036 sql_help.c:3300 +#: sql_help.c:3318 sql_help.c:4022 msgid "query" msgstr "consulta" -#: sql_help.c:1979 +#: sql_help.c:2005 msgid "format_name" msgstr "nombre_de_formato" -#: sql_help.c:1981 +#: sql_help.c:2007 msgid "delimiter_character" msgstr "carácter_delimitador" -#: sql_help.c:1982 +#: sql_help.c:2008 msgid "null_string" msgstr "cadena_null" -#: sql_help.c:1983 +#: sql_help.c:2009 msgid "default_string" msgstr "cadena_por_omisión" -#: sql_help.c:1985 +#: sql_help.c:2011 msgid "quote_character" msgstr "carácter_de_comilla" -#: sql_help.c:1986 +#: sql_help.c:2012 msgid "escape_character" msgstr "carácter_de_escape" -#: sql_help.c:1990 +#: sql_help.c:2016 +#| msgid "action" +msgid "error_action" +msgstr "acción_en_error" + +#: sql_help.c:2017 msgid "encoding_name" msgstr "nombre_codificación" -#: sql_help.c:2001 +#: sql_help.c:2018 +msgid "verbosity" +msgstr "verbosidad" + +#: sql_help.c:2029 msgid "access_method_type" msgstr "tipo_de_método_de_acceso" -#: sql_help.c:2072 sql_help.c:2091 sql_help.c:2094 +#: sql_help.c:2100 sql_help.c:2119 sql_help.c:2122 msgid "arg_data_type" msgstr "tipo_de_dato_arg" -#: sql_help.c:2073 sql_help.c:2095 sql_help.c:2103 +#: sql_help.c:2101 sql_help.c:2123 sql_help.c:2131 msgid "sfunc" msgstr "func_transición" -#: sql_help.c:2074 sql_help.c:2096 sql_help.c:2104 +#: sql_help.c:2102 sql_help.c:2124 sql_help.c:2132 msgid "state_data_type" msgstr "tipo_de_dato_de_estado" -#: sql_help.c:2075 sql_help.c:2097 sql_help.c:2105 +#: sql_help.c:2103 sql_help.c:2125 sql_help.c:2133 msgid "state_data_size" msgstr "tamaño_de_dato_de_estado" -#: sql_help.c:2076 sql_help.c:2098 sql_help.c:2106 +#: sql_help.c:2104 sql_help.c:2126 sql_help.c:2134 msgid "ffunc" msgstr "func_final" -#: sql_help.c:2077 sql_help.c:2107 +#: sql_help.c:2105 sql_help.c:2135 msgid "combinefunc" msgstr "func_combinación" -#: sql_help.c:2078 sql_help.c:2108 +#: sql_help.c:2106 sql_help.c:2136 msgid "serialfunc" msgstr "func_serial" -#: sql_help.c:2079 sql_help.c:2109 +#: sql_help.c:2107 sql_help.c:2137 msgid "deserialfunc" msgstr "func_deserial" -#: sql_help.c:2080 sql_help.c:2099 sql_help.c:2110 +#: sql_help.c:2108 sql_help.c:2127 sql_help.c:2138 msgid "initial_condition" msgstr "condición_inicial" -#: sql_help.c:2081 sql_help.c:2111 +#: sql_help.c:2109 sql_help.c:2139 msgid "msfunc" msgstr "func_transición_m" -#: sql_help.c:2082 sql_help.c:2112 +#: sql_help.c:2110 sql_help.c:2140 msgid "minvfunc" msgstr "func_inv_m" -#: sql_help.c:2083 sql_help.c:2113 +#: sql_help.c:2111 sql_help.c:2141 msgid "mstate_data_type" msgstr "tipo_de_dato_de_estado_m" -#: sql_help.c:2084 sql_help.c:2114 +#: sql_help.c:2112 sql_help.c:2142 msgid "mstate_data_size" msgstr "tamaño_de_dato_de_estado_m" -#: sql_help.c:2085 sql_help.c:2115 +#: sql_help.c:2113 sql_help.c:2143 msgid "mffunc" msgstr "func_final_m" -#: sql_help.c:2086 sql_help.c:2116 +#: sql_help.c:2114 sql_help.c:2144 msgid "minitial_condition" msgstr "condición_inicial_m" -#: sql_help.c:2087 sql_help.c:2117 +#: sql_help.c:2115 sql_help.c:2145 msgid "sort_operator" msgstr "operador_de_ordenamiento" -#: sql_help.c:2100 +#: sql_help.c:2128 msgid "or the old syntax" msgstr "o la sintaxis antigua" -#: sql_help.c:2102 +#: sql_help.c:2130 msgid "base_type" msgstr "tipo_base" -#: sql_help.c:2160 sql_help.c:2209 +#: sql_help.c:2188 sql_help.c:2238 msgid "locale" msgstr "configuración regional" -#: sql_help.c:2161 sql_help.c:2210 +#: sql_help.c:2189 sql_help.c:2239 msgid "lc_collate" msgstr "lc_collate" -#: sql_help.c:2162 sql_help.c:2211 +#: sql_help.c:2190 sql_help.c:2240 msgid "lc_ctype" msgstr "lc_ctype" -#: sql_help.c:2163 sql_help.c:4463 +#: sql_help.c:2191 sql_help.c:4504 msgid "provider" msgstr "proveedor" -#: sql_help.c:2165 +#: sql_help.c:2193 msgid "rules" msgstr "reglas" -#: sql_help.c:2166 sql_help.c:2271 +#: sql_help.c:2194 sql_help.c:2301 msgid "version" msgstr "versión" -#: sql_help.c:2168 +#: sql_help.c:2196 msgid "existing_collation" msgstr "ordenamiento_existente" -#: sql_help.c:2178 +#: sql_help.c:2206 msgid "source_encoding" msgstr "codificación_origen" -#: sql_help.c:2179 +#: sql_help.c:2207 msgid "dest_encoding" msgstr "codificación_destino" -#: sql_help.c:2206 sql_help.c:3047 +#: sql_help.c:2235 sql_help.c:3076 msgid "template" msgstr "plantilla" -#: sql_help.c:2207 +#: sql_help.c:2236 msgid "encoding" msgstr "codificación" -#: sql_help.c:2208 +#: sql_help.c:2237 msgid "strategy" msgstr "estrategia" -#: sql_help.c:2212 +#: sql_help.c:2241 +#| msgid "icu_locale" +msgid "builtin_locale" +msgstr "locale_builtin" + +#: sql_help.c:2242 msgid "icu_locale" msgstr "locale_icu" -#: sql_help.c:2213 +#: sql_help.c:2243 msgid "icu_rules" msgstr "reglas_icu" -#: sql_help.c:2214 +#: sql_help.c:2244 msgid "locale_provider" msgstr "proveedor_locale" -#: sql_help.c:2215 +#: sql_help.c:2245 msgid "collation_version" msgstr "versión_ordenamiento" -#: sql_help.c:2220 +#: sql_help.c:2250 msgid "oid" msgstr "oid" -#: sql_help.c:2240 -msgid "constraint" -msgstr "restricción" - -#: sql_help.c:2241 -msgid "where constraint is:" -msgstr "donde restricción es:" +#: sql_help.c:2271 +#| msgid "where column_constraint is:" +msgid "where domain_constraint is:" +msgstr "donde restricción_de_dominio es:" -#: sql_help.c:2255 sql_help.c:2692 sql_help.c:3120 +#: sql_help.c:2285 sql_help.c:2718 sql_help.c:3149 msgid "event" msgstr "evento" -#: sql_help.c:2256 +#: sql_help.c:2286 msgid "filter_variable" msgstr "variable_de_filtrado" -#: sql_help.c:2257 +#: sql_help.c:2287 msgid "filter_value" msgstr "valor_de_filtrado" -#: sql_help.c:2353 sql_help.c:2939 +#: sql_help.c:2383 sql_help.c:2965 msgid "where column_constraint is:" msgstr "donde restricción_de_columna es:" -#: sql_help.c:2398 +#: sql_help.c:2428 msgid "rettype" msgstr "tipo_ret" -#: sql_help.c:2400 +#: sql_help.c:2430 msgid "column_type" msgstr "tipo_columna" -#: sql_help.c:2409 sql_help.c:2612 +#: sql_help.c:2439 sql_help.c:2642 msgid "definition" msgstr "definición" -#: sql_help.c:2410 sql_help.c:2613 +#: sql_help.c:2440 sql_help.c:2643 msgid "obj_file" msgstr "archivo_obj" -#: sql_help.c:2411 sql_help.c:2614 +#: sql_help.c:2441 sql_help.c:2644 msgid "link_symbol" msgstr "símbolo_enlace" -#: sql_help.c:2412 sql_help.c:2615 +#: sql_help.c:2442 sql_help.c:2645 msgid "sql_body" msgstr "contenido_sql" -#: sql_help.c:2450 sql_help.c:2677 sql_help.c:3243 +#: sql_help.c:2480 sql_help.c:2703 sql_help.c:3272 msgid "uid" msgstr "uid" -#: sql_help.c:2466 sql_help.c:2507 sql_help.c:2908 sql_help.c:2921 -#: sql_help.c:2935 sql_help.c:3003 +#: sql_help.c:2496 sql_help.c:2537 sql_help.c:2934 sql_help.c:2947 +#: sql_help.c:2961 sql_help.c:3032 msgid "method" msgstr "método" -#: sql_help.c:2471 -msgid "opclass_parameter" -msgstr "parámetro_opclass" - -#: sql_help.c:2488 +#: sql_help.c:2518 msgid "call_handler" msgstr "manejador_de_llamada" -#: sql_help.c:2489 +#: sql_help.c:2519 msgid "inline_handler" msgstr "manejador_en_línea" -#: sql_help.c:2490 +#: sql_help.c:2520 msgid "valfunction" msgstr "función_val" -#: sql_help.c:2529 -msgid "com_op" -msgstr "op_conm" - -#: sql_help.c:2530 -msgid "neg_op" -msgstr "op_neg" - -#: sql_help.c:2548 +#: sql_help.c:2578 msgid "family_name" msgstr "nombre_familia" -#: sql_help.c:2559 +#: sql_help.c:2589 msgid "storage_type" msgstr "tipo_almacenamiento" -#: sql_help.c:2698 sql_help.c:3127 +#: sql_help.c:2724 sql_help.c:3156 msgid "where event can be one of:" msgstr "donde evento puede ser una de:" -#: sql_help.c:2718 sql_help.c:2720 +#: sql_help.c:2744 sql_help.c:2746 msgid "schema_element" msgstr "elemento_de_esquema" -#: sql_help.c:2757 +#: sql_help.c:2783 msgid "server_type" msgstr "tipo_de_servidor" -#: sql_help.c:2758 +#: sql_help.c:2784 msgid "server_version" msgstr "versión_de_servidor" -#: sql_help.c:2759 sql_help.c:3908 sql_help.c:4360 +#: sql_help.c:2785 sql_help.c:3938 sql_help.c:4401 msgid "fdw_name" msgstr "nombre_fdw" -#: sql_help.c:2776 sql_help.c:2779 +#: sql_help.c:2802 sql_help.c:2805 msgid "statistics_name" msgstr "nombre_de_estadística" -#: sql_help.c:2780 +#: sql_help.c:2806 msgid "statistics_kind" msgstr "tipo_de_estadística" -#: sql_help.c:2796 +#: sql_help.c:2822 msgid "subscription_name" msgstr "nombre_de_suscripción" -#: sql_help.c:2901 +#: sql_help.c:2927 msgid "source_table" msgstr "tabla_origen" -#: sql_help.c:2902 +#: sql_help.c:2928 msgid "like_option" msgstr "opción_de_like" -#: sql_help.c:2968 +#: sql_help.c:2994 msgid "and like_option is:" msgstr "y opción_de_like es:" -#: sql_help.c:3020 +#: sql_help.c:3049 msgid "directory" msgstr "directorio" -#: sql_help.c:3034 +#: sql_help.c:3063 msgid "parser_name" msgstr "nombre_de_parser" -#: sql_help.c:3035 +#: sql_help.c:3064 msgid "source_config" msgstr "config_origen" -#: sql_help.c:3064 +#: sql_help.c:3093 msgid "start_function" msgstr "función_inicio" -#: sql_help.c:3065 +#: sql_help.c:3094 msgid "gettoken_function" msgstr "función_gettoken" -#: sql_help.c:3066 +#: sql_help.c:3095 msgid "end_function" msgstr "función_fin" -#: sql_help.c:3067 +#: sql_help.c:3096 msgid "lextypes_function" msgstr "función_lextypes" -#: sql_help.c:3068 +#: sql_help.c:3097 msgid "headline_function" msgstr "función_headline" -#: sql_help.c:3080 +#: sql_help.c:3109 msgid "init_function" msgstr "función_init" -#: sql_help.c:3081 +#: sql_help.c:3110 msgid "lexize_function" msgstr "función_lexize" -#: sql_help.c:3094 +#: sql_help.c:3123 msgid "from_sql_function_name" msgstr "nombre_de_función_from" -#: sql_help.c:3096 +#: sql_help.c:3125 msgid "to_sql_function_name" msgstr "nombre_de_función_to" -#: sql_help.c:3122 +#: sql_help.c:3151 msgid "referenced_table_name" msgstr "nombre_tabla_referenciada" -#: sql_help.c:3123 +#: sql_help.c:3152 msgid "transition_relation_name" msgstr "nombre_de_relación_de_transición" -#: sql_help.c:3126 +#: sql_help.c:3155 msgid "arguments" msgstr "argumentos" -#: sql_help.c:3178 +#: sql_help.c:3207 msgid "label" msgstr "etiqueta" -#: sql_help.c:3180 +#: sql_help.c:3209 msgid "subtype" msgstr "subtipo" -#: sql_help.c:3181 +#: sql_help.c:3210 msgid "subtype_operator_class" msgstr "clase_de_operador_del_subtipo" -#: sql_help.c:3183 +#: sql_help.c:3212 msgid "canonical_function" msgstr "función_canónica" -#: sql_help.c:3184 +#: sql_help.c:3213 msgid "subtype_diff_function" msgstr "función_diff_del_subtipo" -#: sql_help.c:3185 +#: sql_help.c:3214 msgid "multirange_type_name" msgstr "nombre_de_tipo_de_multirango" -#: sql_help.c:3187 +#: sql_help.c:3216 msgid "input_function" msgstr "función_entrada" -#: sql_help.c:3188 +#: sql_help.c:3217 msgid "output_function" msgstr "función_salida" -#: sql_help.c:3189 +#: sql_help.c:3218 msgid "receive_function" msgstr "función_receive" -#: sql_help.c:3190 +#: sql_help.c:3219 msgid "send_function" msgstr "función_send" -#: sql_help.c:3191 +#: sql_help.c:3220 msgid "type_modifier_input_function" msgstr "función_entrada_del_modificador_de_tipo" -#: sql_help.c:3192 +#: sql_help.c:3221 msgid "type_modifier_output_function" msgstr "función_salida_del_modificador_de_tipo" -#: sql_help.c:3193 +#: sql_help.c:3222 msgid "analyze_function" msgstr "función_analyze" -#: sql_help.c:3194 +#: sql_help.c:3223 msgid "subscript_function" msgstr "función_de_subíndice" -#: sql_help.c:3195 +#: sql_help.c:3224 msgid "internallength" msgstr "largo_interno" -#: sql_help.c:3196 +#: sql_help.c:3225 msgid "alignment" msgstr "alineamiento" -#: sql_help.c:3197 +#: sql_help.c:3226 msgid "storage" msgstr "almacenamiento" -#: sql_help.c:3198 +#: sql_help.c:3227 msgid "like_type" msgstr "como_tipo" -#: sql_help.c:3199 +#: sql_help.c:3228 msgid "category" msgstr "categoría" -#: sql_help.c:3200 +#: sql_help.c:3229 msgid "preferred" msgstr "preferido" -#: sql_help.c:3201 +#: sql_help.c:3230 msgid "default" msgstr "valor_por_omisión" -#: sql_help.c:3202 +#: sql_help.c:3231 msgid "element" msgstr "elemento" -#: sql_help.c:3203 +#: sql_help.c:3232 msgid "delimiter" msgstr "delimitador" -#: sql_help.c:3204 +#: sql_help.c:3233 msgid "collatable" msgstr "ordenable" -#: sql_help.c:3301 sql_help.c:3987 sql_help.c:4077 sql_help.c:4560 -#: sql_help.c:4662 sql_help.c:4817 sql_help.c:4930 sql_help.c:5063 +#: sql_help.c:3330 sql_help.c:4017 sql_help.c:4111 sql_help.c:4601 +#: sql_help.c:4704 sql_help.c:4859 sql_help.c:4973 sql_help.c:5104 msgid "with_query" msgstr "consulta_with" -#: sql_help.c:3303 sql_help.c:3989 sql_help.c:4579 sql_help.c:4585 -#: sql_help.c:4588 sql_help.c:4592 sql_help.c:4596 sql_help.c:4604 -#: sql_help.c:4836 sql_help.c:4842 sql_help.c:4845 sql_help.c:4849 -#: sql_help.c:4853 sql_help.c:4861 sql_help.c:4932 sql_help.c:5082 -#: sql_help.c:5088 sql_help.c:5091 sql_help.c:5095 sql_help.c:5099 -#: sql_help.c:5107 +#: sql_help.c:3332 sql_help.c:4019 sql_help.c:4620 sql_help.c:4626 +#: sql_help.c:4629 sql_help.c:4633 sql_help.c:4637 sql_help.c:4645 +#: sql_help.c:4878 sql_help.c:4884 sql_help.c:4887 sql_help.c:4891 +#: sql_help.c:4895 sql_help.c:4903 sql_help.c:4975 sql_help.c:5123 +#: sql_help.c:5129 sql_help.c:5132 sql_help.c:5136 sql_help.c:5140 +#: sql_help.c:5148 msgid "alias" msgstr "alias" -#: sql_help.c:3304 sql_help.c:4564 sql_help.c:4606 sql_help.c:4608 -#: sql_help.c:4612 sql_help.c:4614 sql_help.c:4615 sql_help.c:4616 -#: sql_help.c:4667 sql_help.c:4821 sql_help.c:4863 sql_help.c:4865 -#: sql_help.c:4869 sql_help.c:4871 sql_help.c:4872 sql_help.c:4873 -#: sql_help.c:4939 sql_help.c:5067 sql_help.c:5109 sql_help.c:5111 -#: sql_help.c:5115 sql_help.c:5117 sql_help.c:5118 sql_help.c:5119 +#: sql_help.c:3333 sql_help.c:4605 sql_help.c:4647 sql_help.c:4649 +#: sql_help.c:4653 sql_help.c:4655 sql_help.c:4656 sql_help.c:4657 +#: sql_help.c:4709 sql_help.c:4863 sql_help.c:4905 sql_help.c:4907 +#: sql_help.c:4911 sql_help.c:4913 sql_help.c:4914 sql_help.c:4915 +#: sql_help.c:4982 sql_help.c:5108 sql_help.c:5150 sql_help.c:5152 +#: sql_help.c:5156 sql_help.c:5158 sql_help.c:5159 sql_help.c:5160 msgid "from_item" msgstr "item_de_from" -#: sql_help.c:3306 sql_help.c:3789 sql_help.c:4127 sql_help.c:4941 +#: sql_help.c:3335 sql_help.c:3819 sql_help.c:4168 sql_help.c:4984 msgid "cursor_name" msgstr "nombre_de_cursor" -#: sql_help.c:3307 sql_help.c:3995 sql_help.c:4942 +#: sql_help.c:3336 sql_help.c:4025 sql_help.c:4117 sql_help.c:4985 msgid "output_expression" msgstr "expresión_de_salida" -#: sql_help.c:3308 sql_help.c:3996 sql_help.c:4563 sql_help.c:4665 -#: sql_help.c:4820 sql_help.c:4943 sql_help.c:5066 +#: sql_help.c:3337 sql_help.c:4026 sql_help.c:4118 sql_help.c:4604 +#: sql_help.c:4707 sql_help.c:4862 sql_help.c:4986 sql_help.c:5107 msgid "output_name" msgstr "nombre_de_salida" -#: sql_help.c:3324 +#: sql_help.c:3353 msgid "code" msgstr "código" -#: sql_help.c:3729 +#: sql_help.c:3758 msgid "parameter" msgstr "parámetro" -#: sql_help.c:3752 sql_help.c:3753 sql_help.c:4152 +#: sql_help.c:3782 sql_help.c:4193 msgid "statement" msgstr "sentencia" -#: sql_help.c:3788 sql_help.c:4126 +#: sql_help.c:3818 sql_help.c:4167 msgid "direction" msgstr "dirección" -#: sql_help.c:3790 sql_help.c:4128 +#: sql_help.c:3820 sql_help.c:4169 msgid "where direction can be one of:" msgstr "donde dirección puede ser una de:" -#: sql_help.c:3791 sql_help.c:3792 sql_help.c:3793 sql_help.c:3794 -#: sql_help.c:3795 sql_help.c:4129 sql_help.c:4130 sql_help.c:4131 -#: sql_help.c:4132 sql_help.c:4133 sql_help.c:4573 sql_help.c:4575 -#: sql_help.c:4676 sql_help.c:4678 sql_help.c:4830 sql_help.c:4832 -#: sql_help.c:5007 sql_help.c:5009 sql_help.c:5076 sql_help.c:5078 +#: sql_help.c:3821 sql_help.c:3822 sql_help.c:3823 sql_help.c:3824 +#: sql_help.c:3825 sql_help.c:4170 sql_help.c:4171 sql_help.c:4172 +#: sql_help.c:4173 sql_help.c:4174 sql_help.c:4614 sql_help.c:4616 +#: sql_help.c:4718 sql_help.c:4720 sql_help.c:4872 sql_help.c:4874 +#: sql_help.c:5048 sql_help.c:5050 sql_help.c:5117 sql_help.c:5119 msgid "count" msgstr "cantidad" -#: sql_help.c:3898 sql_help.c:4350 +#: sql_help.c:3928 sql_help.c:4391 msgid "sequence_name" msgstr "nombre_secuencia" -#: sql_help.c:3916 sql_help.c:4368 +#: sql_help.c:3946 sql_help.c:4409 msgid "arg_name" msgstr "nombre_arg" -#: sql_help.c:3917 sql_help.c:4369 +#: sql_help.c:3947 sql_help.c:4410 msgid "arg_type" msgstr "tipo_arg" -#: sql_help.c:3924 sql_help.c:4376 +#: sql_help.c:3954 sql_help.c:4417 msgid "loid" msgstr "loid" -#: sql_help.c:3955 +#: sql_help.c:3985 msgid "remote_schema" msgstr "esquema_remoto" -#: sql_help.c:3958 +#: sql_help.c:3988 msgid "local_schema" msgstr "esquema_local" -#: sql_help.c:3993 +#: sql_help.c:4023 msgid "conflict_target" msgstr "destino_de_conflict" -#: sql_help.c:3994 +#: sql_help.c:4024 msgid "conflict_action" msgstr "acción_de_conflict" -#: sql_help.c:3997 +#: sql_help.c:4027 msgid "where conflict_target can be one of:" msgstr "donde destino_de_conflict puede ser uno de:" -#: sql_help.c:3998 +#: sql_help.c:4028 msgid "index_column_name" msgstr "nombre_de_columna_de_índice" -#: sql_help.c:3999 +#: sql_help.c:4029 msgid "index_expression" msgstr "expresión_de_índice" -#: sql_help.c:4002 +#: sql_help.c:4032 msgid "index_predicate" msgstr "predicado_de_índice" -#: sql_help.c:4004 +#: sql_help.c:4034 msgid "and conflict_action is one of:" msgstr "donde acción_de_conflict es una de:" -#: sql_help.c:4010 sql_help.c:4938 +#: sql_help.c:4040 sql_help.c:4141 sql_help.c:4981 msgid "sub-SELECT" msgstr "sub-SELECT" -#: sql_help.c:4019 sql_help.c:4141 sql_help.c:4914 +#: sql_help.c:4049 sql_help.c:4182 sql_help.c:4957 msgid "channel" msgstr "canal" -#: sql_help.c:4041 +#: sql_help.c:4071 msgid "lockmode" msgstr "modo_bloqueo" -#: sql_help.c:4042 +#: sql_help.c:4072 msgid "where lockmode is one of:" msgstr "donde modo_bloqueo es uno de:" -#: sql_help.c:4078 +#: sql_help.c:4112 msgid "target_table_name" msgstr "nombre_de_tabla_destino" -#: sql_help.c:4079 +#: sql_help.c:4113 msgid "target_alias" msgstr "alias_de_destino" -#: sql_help.c:4080 +#: sql_help.c:4114 msgid "data_source" msgstr "origin_de_datos" -#: sql_help.c:4081 sql_help.c:4609 sql_help.c:4866 sql_help.c:5112 +#: sql_help.c:4115 sql_help.c:4650 sql_help.c:4908 sql_help.c:5153 msgid "join_condition" msgstr "condición_de_join" -#: sql_help.c:4082 +#: sql_help.c:4116 msgid "when_clause" msgstr "cláusula_when" -#: sql_help.c:4083 +#: sql_help.c:4119 msgid "where data_source is:" msgstr "donde origen_de_datos es:" -#: sql_help.c:4084 +#: sql_help.c:4120 msgid "source_table_name" msgstr "nombre_tabla_origen" -#: sql_help.c:4085 +#: sql_help.c:4121 msgid "source_query" msgstr "consulta_origen" -#: sql_help.c:4086 +#: sql_help.c:4122 msgid "source_alias" msgstr "alias_origen" -#: sql_help.c:4087 +#: sql_help.c:4123 msgid "and when_clause is:" msgstr "y cláusula_when es:" -#: sql_help.c:4089 +#: sql_help.c:4125 sql_help.c:4128 msgid "merge_update" msgstr "update_de_merge" -#: sql_help.c:4090 +#: sql_help.c:4126 sql_help.c:4129 msgid "merge_delete" msgstr "delete_de_merge" -#: sql_help.c:4092 +#: sql_help.c:4131 msgid "merge_insert" msgstr "insert_de_merge" -#: sql_help.c:4093 +#: sql_help.c:4132 msgid "and merge_insert is:" msgstr "y insert_de_merge es:" -#: sql_help.c:4096 +#: sql_help.c:4135 msgid "and merge_update is:" msgstr "y update_de_merge es:" -#: sql_help.c:4101 +#: sql_help.c:4142 msgid "and merge_delete is:" msgstr "y delete_de_merge es:" -#: sql_help.c:4142 +#: sql_help.c:4183 msgid "payload" msgstr "carga" -#: sql_help.c:4169 +#: sql_help.c:4210 msgid "old_role" msgstr "rol_antiguo" -#: sql_help.c:4170 +#: sql_help.c:4211 msgid "new_role" msgstr "rol_nuevo" -#: sql_help.c:4209 sql_help.c:4418 sql_help.c:4426 +#: sql_help.c:4250 sql_help.c:4459 sql_help.c:4467 msgid "savepoint_name" msgstr "nombre_de_savepoint" -#: sql_help.c:4566 sql_help.c:4624 sql_help.c:4823 sql_help.c:4881 -#: sql_help.c:5069 sql_help.c:5127 +#: sql_help.c:4607 sql_help.c:4665 sql_help.c:4865 sql_help.c:4923 +#: sql_help.c:5110 sql_help.c:5168 msgid "grouping_element" msgstr "elemento_agrupante" -#: sql_help.c:4568 sql_help.c:4671 sql_help.c:4825 sql_help.c:5071 +#: sql_help.c:4609 sql_help.c:4713 sql_help.c:4867 sql_help.c:5112 msgid "window_name" msgstr "nombre_de_ventana" -#: sql_help.c:4569 sql_help.c:4672 sql_help.c:4826 sql_help.c:5072 +#: sql_help.c:4610 sql_help.c:4714 sql_help.c:4868 sql_help.c:5113 msgid "window_definition" msgstr "definición_de_ventana" -#: sql_help.c:4570 sql_help.c:4584 sql_help.c:4628 sql_help.c:4673 -#: sql_help.c:4827 sql_help.c:4841 sql_help.c:4885 sql_help.c:5073 -#: sql_help.c:5087 sql_help.c:5131 +#: sql_help.c:4611 sql_help.c:4625 sql_help.c:4669 sql_help.c:4715 +#: sql_help.c:4869 sql_help.c:4883 sql_help.c:4927 sql_help.c:5114 +#: sql_help.c:5128 sql_help.c:5172 msgid "select" msgstr "select" -#: sql_help.c:4577 sql_help.c:4834 sql_help.c:5080 +#: sql_help.c:4617 sql_help.c:4875 sql_help.c:5120 +#| msgid "by reference" +msgid "from_reference" +msgstr "referencia_en_from" + +#: sql_help.c:4618 sql_help.c:4876 sql_help.c:5121 msgid "where from_item can be one of:" msgstr "donde item_de_from puede ser uno de:" -#: sql_help.c:4580 sql_help.c:4586 sql_help.c:4589 sql_help.c:4593 -#: sql_help.c:4605 sql_help.c:4837 sql_help.c:4843 sql_help.c:4846 -#: sql_help.c:4850 sql_help.c:4862 sql_help.c:5083 sql_help.c:5089 -#: sql_help.c:5092 sql_help.c:5096 sql_help.c:5108 +#: sql_help.c:4621 sql_help.c:4627 sql_help.c:4630 sql_help.c:4634 +#: sql_help.c:4646 sql_help.c:4879 sql_help.c:4885 sql_help.c:4888 +#: sql_help.c:4892 sql_help.c:4904 sql_help.c:5124 sql_help.c:5130 +#: sql_help.c:5133 sql_help.c:5137 sql_help.c:5149 msgid "column_alias" msgstr "alias_de_columna" -#: sql_help.c:4581 sql_help.c:4838 sql_help.c:5084 +#: sql_help.c:4622 sql_help.c:4880 sql_help.c:5125 msgid "sampling_method" msgstr "método_de_sampleo" -#: sql_help.c:4583 sql_help.c:4840 sql_help.c:5086 +#: sql_help.c:4624 sql_help.c:4882 sql_help.c:5127 msgid "seed" msgstr "semilla" -#: sql_help.c:4587 sql_help.c:4626 sql_help.c:4844 sql_help.c:4883 -#: sql_help.c:5090 sql_help.c:5129 +#: sql_help.c:4628 sql_help.c:4667 sql_help.c:4886 sql_help.c:4925 +#: sql_help.c:5131 sql_help.c:5170 msgid "with_query_name" msgstr "nombre_consulta_with" -#: sql_help.c:4597 sql_help.c:4600 sql_help.c:4603 sql_help.c:4854 -#: sql_help.c:4857 sql_help.c:4860 sql_help.c:5100 sql_help.c:5103 -#: sql_help.c:5106 +#: sql_help.c:4638 sql_help.c:4641 sql_help.c:4644 sql_help.c:4896 +#: sql_help.c:4899 sql_help.c:4902 sql_help.c:5141 sql_help.c:5144 +#: sql_help.c:5147 msgid "column_definition" msgstr "definición_de_columna" -#: sql_help.c:4607 sql_help.c:4613 sql_help.c:4864 sql_help.c:4870 -#: sql_help.c:5110 sql_help.c:5116 +#: sql_help.c:4648 sql_help.c:4654 sql_help.c:4906 sql_help.c:4912 +#: sql_help.c:5151 sql_help.c:5157 msgid "join_type" msgstr "tipo_de_join" -#: sql_help.c:4610 sql_help.c:4867 sql_help.c:5113 +#: sql_help.c:4651 sql_help.c:4909 sql_help.c:5154 msgid "join_column" msgstr "columna_de_join" -#: sql_help.c:4611 sql_help.c:4868 sql_help.c:5114 +#: sql_help.c:4652 sql_help.c:4910 sql_help.c:5155 msgid "join_using_alias" msgstr "join_con_alias" -#: sql_help.c:4617 sql_help.c:4874 sql_help.c:5120 +#: sql_help.c:4658 sql_help.c:4916 sql_help.c:5161 msgid "and grouping_element can be one of:" msgstr "donde elemento_agrupante puede ser una de:" -#: sql_help.c:4625 sql_help.c:4882 sql_help.c:5128 +#: sql_help.c:4666 sql_help.c:4924 sql_help.c:5169 msgid "and with_query is:" msgstr "y consulta_with es:" -#: sql_help.c:4629 sql_help.c:4886 sql_help.c:5132 +#: sql_help.c:4670 sql_help.c:4928 sql_help.c:5173 msgid "values" msgstr "valores" -#: sql_help.c:4630 sql_help.c:4887 sql_help.c:5133 +#: sql_help.c:4671 sql_help.c:4929 sql_help.c:5174 msgid "insert" msgstr "insert" -#: sql_help.c:4631 sql_help.c:4888 sql_help.c:5134 +#: sql_help.c:4672 sql_help.c:4930 sql_help.c:5175 msgid "update" msgstr "update" -#: sql_help.c:4632 sql_help.c:4889 sql_help.c:5135 +#: sql_help.c:4673 sql_help.c:4931 sql_help.c:5176 msgid "delete" msgstr "delete" -#: sql_help.c:4634 sql_help.c:4891 sql_help.c:5137 +#: sql_help.c:4674 sql_help.c:4932 sql_help.c:5177 +msgid "merge" +msgstr "merge" + +#: sql_help.c:4676 sql_help.c:4934 sql_help.c:5179 msgid "search_seq_col_name" msgstr "nombre_col_para_sec_de_búsqueda" -#: sql_help.c:4636 sql_help.c:4893 sql_help.c:5139 +#: sql_help.c:4678 sql_help.c:4936 sql_help.c:5181 msgid "cycle_mark_col_name" msgstr "nombre_col_para_marca_de_ciclo" -#: sql_help.c:4637 sql_help.c:4894 sql_help.c:5140 +#: sql_help.c:4679 sql_help.c:4937 sql_help.c:5182 msgid "cycle_mark_value" msgstr "valor_marca_de_ciclo" -#: sql_help.c:4638 sql_help.c:4895 sql_help.c:5141 +#: sql_help.c:4680 sql_help.c:4938 sql_help.c:5183 msgid "cycle_mark_default" msgstr "valor_predet_marca_de_ciclo" -#: sql_help.c:4639 sql_help.c:4896 sql_help.c:5142 +#: sql_help.c:4681 sql_help.c:4939 sql_help.c:5184 msgid "cycle_path_col_name" msgstr "nombre_col_para_ruta_de_ciclo" -#: sql_help.c:4666 +#: sql_help.c:4708 msgid "new_table" msgstr "nueva_tabla" -#: sql_help.c:4737 +#: sql_help.c:4779 msgid "snapshot_id" msgstr "id_de_snapshot" -#: sql_help.c:5005 +#: sql_help.c:5046 msgid "sort_expression" msgstr "expresión_orden" -#: sql_help.c:5149 sql_help.c:6133 +#: sql_help.c:5191 sql_help.c:6175 msgid "abort the current transaction" msgstr "aborta la transacción en curso" -#: sql_help.c:5155 +#: sql_help.c:5197 msgid "change the definition of an aggregate function" msgstr "cambia la definición de una función de agregación" -#: sql_help.c:5161 +#: sql_help.c:5203 msgid "change the definition of a collation" msgstr "cambia la definición de un ordenamiento" -#: sql_help.c:5167 +#: sql_help.c:5209 msgid "change the definition of a conversion" msgstr "cambia la definición de una conversión" -#: sql_help.c:5173 +#: sql_help.c:5215 msgid "change a database" msgstr "cambia una base de datos" -#: sql_help.c:5179 +#: sql_help.c:5221 msgid "define default access privileges" msgstr "define privilegios de acceso por omisión" -#: sql_help.c:5185 +#: sql_help.c:5227 msgid "change the definition of a domain" msgstr "cambia la definición de un dominio" -#: sql_help.c:5191 +#: sql_help.c:5233 msgid "change the definition of an event trigger" msgstr "cambia la definición de un disparador por evento" -#: sql_help.c:5197 +#: sql_help.c:5239 msgid "change the definition of an extension" msgstr "cambia la definición de una extensión" -#: sql_help.c:5203 +#: sql_help.c:5245 msgid "change the definition of a foreign-data wrapper" msgstr "cambia la definición de un conector de datos externos" -#: sql_help.c:5209 +#: sql_help.c:5251 msgid "change the definition of a foreign table" msgstr "cambia la definición de una tabla foránea" -#: sql_help.c:5215 +#: sql_help.c:5257 msgid "change the definition of a function" msgstr "cambia la definición de una función" -#: sql_help.c:5221 +#: sql_help.c:5263 msgid "change role name or membership" msgstr "cambiar nombre del rol o membresía" -#: sql_help.c:5227 +#: sql_help.c:5269 msgid "change the definition of an index" msgstr "cambia la definición de un índice" -#: sql_help.c:5233 +#: sql_help.c:5275 msgid "change the definition of a procedural language" msgstr "cambia la definición de un lenguaje procedural" -#: sql_help.c:5239 +#: sql_help.c:5281 msgid "change the definition of a large object" msgstr "cambia la definición de un objeto grande" -#: sql_help.c:5245 +#: sql_help.c:5287 msgid "change the definition of a materialized view" msgstr "cambia la definición de una vista materializada" -#: sql_help.c:5251 +#: sql_help.c:5293 msgid "change the definition of an operator" msgstr "cambia la definición de un operador" -#: sql_help.c:5257 +#: sql_help.c:5299 msgid "change the definition of an operator class" msgstr "cambia la definición de una clase de operadores" -#: sql_help.c:5263 +#: sql_help.c:5305 msgid "change the definition of an operator family" msgstr "cambia la definición de una familia de operadores" -#: sql_help.c:5269 +#: sql_help.c:5311 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:5275 +#: sql_help.c:5317 msgid "change the definition of a procedure" msgstr "cambia la definición de un procedimiento" -#: sql_help.c:5281 +#: sql_help.c:5323 msgid "change the definition of a publication" msgstr "cambia la definición de una publicación" -#: sql_help.c:5287 sql_help.c:5389 +#: sql_help.c:5329 sql_help.c:5431 msgid "change a database role" msgstr "cambia un rol de la base de datos" -#: sql_help.c:5293 +#: sql_help.c:5335 msgid "change the definition of a routine" msgstr "cambia la definición de una rutina" -#: sql_help.c:5299 +#: sql_help.c:5341 msgid "change the definition of a rule" msgstr "cambia la definición de una regla" -#: sql_help.c:5305 +#: sql_help.c:5347 msgid "change the definition of a schema" msgstr "cambia la definición de un esquema" -#: sql_help.c:5311 +#: sql_help.c:5353 msgid "change the definition of a sequence generator" msgstr "cambia la definición de un generador secuencial" -#: sql_help.c:5317 +#: sql_help.c:5359 msgid "change the definition of a foreign server" msgstr "cambia la definición de un servidor foráneo" -#: sql_help.c:5323 +#: sql_help.c:5365 msgid "change the definition of an extended statistics object" msgstr "cambia la definición de un objeto de estadísticas extendidas" -#: sql_help.c:5329 +#: sql_help.c:5371 msgid "change the definition of a subscription" msgstr "cambia la definición de una suscripción" -#: sql_help.c:5335 +#: sql_help.c:5377 msgid "change a server configuration parameter" msgstr "cambia un parámetro de configuración del servidor" -#: sql_help.c:5341 +#: sql_help.c:5383 msgid "change the definition of a table" msgstr "cambia la definición de una tabla" -#: sql_help.c:5347 +#: sql_help.c:5389 msgid "change the definition of a tablespace" msgstr "cambia la definición de un tablespace" -#: sql_help.c:5353 +#: sql_help.c:5395 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:5359 +#: sql_help.c:5401 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:5365 +#: sql_help.c:5407 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:5371 +#: sql_help.c:5413 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:5377 +#: sql_help.c:5419 msgid "change the definition of a trigger" msgstr "cambia la definición de un disparador" -#: sql_help.c:5383 +#: sql_help.c:5425 msgid "change the definition of a type" msgstr "cambia la definición de un tipo" -#: sql_help.c:5395 +#: sql_help.c:5437 msgid "change the definition of a user mapping" msgstr "cambia la definición de un mapeo de usuario" -#: sql_help.c:5401 +#: sql_help.c:5443 msgid "change the definition of a view" msgstr "cambia la definición de una vista" -#: sql_help.c:5407 +#: sql_help.c:5449 msgid "collect statistics about a database" msgstr "recolecta estadísticas sobre una base de datos" -#: sql_help.c:5413 sql_help.c:6211 +#: sql_help.c:5455 sql_help.c:6253 msgid "start a transaction block" msgstr "inicia un bloque de transacción" -#: sql_help.c:5419 +#: sql_help.c:5461 msgid "invoke a procedure" msgstr "invocar un procedimiento" -#: sql_help.c:5425 +#: sql_help.c:5467 msgid "force a write-ahead log checkpoint" msgstr "fuerza un checkpoint de wal" -#: sql_help.c:5431 +#: sql_help.c:5473 msgid "close a cursor" msgstr "cierra un cursor" -#: sql_help.c:5437 +#: sql_help.c:5479 msgid "cluster a table according to an index" msgstr "reordena una tabla siguiendo un índice" -#: sql_help.c:5443 +#: sql_help.c:5485 msgid "define or change the comment of an object" msgstr "define o cambia un comentario sobre un objeto" -#: sql_help.c:5449 sql_help.c:6007 +#: sql_help.c:5491 sql_help.c:6049 msgid "commit the current transaction" msgstr "compromete la transacción en curso" -#: sql_help.c:5455 +#: sql_help.c:5497 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:5461 +#: sql_help.c:5503 msgid "copy data between a file and a table" msgstr "copia datos entre un archivo y una tabla" -#: sql_help.c:5467 +#: sql_help.c:5509 msgid "define a new access method" msgstr "define un nuevo método de acceso" -#: sql_help.c:5473 +#: sql_help.c:5515 msgid "define a new aggregate function" msgstr "define una nueva función de agregación" -#: sql_help.c:5479 +#: sql_help.c:5521 msgid "define a new cast" msgstr "define una nueva conversión de tipo" -#: sql_help.c:5485 +#: sql_help.c:5527 msgid "define a new collation" msgstr "define un nuevo ordenamiento" -#: sql_help.c:5491 +#: sql_help.c:5533 msgid "define a new encoding conversion" msgstr "define una nueva conversión de codificación" -#: sql_help.c:5497 +#: sql_help.c:5539 msgid "create a new database" msgstr "crea una nueva base de datos" -#: sql_help.c:5503 +#: sql_help.c:5545 msgid "define a new domain" msgstr "define un nuevo dominio" -#: sql_help.c:5509 +#: sql_help.c:5551 msgid "define a new event trigger" msgstr "define un nuevo disparador por evento" -#: sql_help.c:5515 +#: sql_help.c:5557 msgid "install an extension" msgstr "instala una extensión" -#: sql_help.c:5521 +#: sql_help.c:5563 msgid "define a new foreign-data wrapper" msgstr "define un nuevo conector de datos externos" -#: sql_help.c:5527 +#: sql_help.c:5569 msgid "define a new foreign table" msgstr "define una nueva tabla foránea" -#: sql_help.c:5533 +#: sql_help.c:5575 msgid "define a new function" msgstr "define una nueva función" -#: sql_help.c:5539 sql_help.c:5599 sql_help.c:5701 +#: sql_help.c:5581 sql_help.c:5641 sql_help.c:5743 msgid "define a new database role" msgstr "define un nuevo rol de la base de datos" -#: sql_help.c:5545 +#: sql_help.c:5587 msgid "define a new index" msgstr "define un nuevo índice" -#: sql_help.c:5551 +#: sql_help.c:5593 msgid "define a new procedural language" msgstr "define un nuevo lenguaje procedural" -#: sql_help.c:5557 +#: sql_help.c:5599 msgid "define a new materialized view" msgstr "define una nueva vista materializada" -#: sql_help.c:5563 +#: sql_help.c:5605 msgid "define a new operator" msgstr "define un nuevo operador" -#: sql_help.c:5569 +#: sql_help.c:5611 msgid "define a new operator class" msgstr "define una nueva clase de operadores" -#: sql_help.c:5575 +#: sql_help.c:5617 msgid "define a new operator family" msgstr "define una nueva familia de operadores" -#: sql_help.c:5581 +#: sql_help.c:5623 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:5587 +#: sql_help.c:5629 msgid "define a new procedure" msgstr "define un nuevo procedimiento" -#: sql_help.c:5593 +#: sql_help.c:5635 msgid "define a new publication" msgstr "define una nueva publicación" -#: sql_help.c:5605 +#: sql_help.c:5647 msgid "define a new rewrite rule" msgstr "define una nueva regla de reescritura" -#: sql_help.c:5611 +#: sql_help.c:5653 msgid "define a new schema" msgstr "define un nuevo esquema" -#: sql_help.c:5617 +#: sql_help.c:5659 msgid "define a new sequence generator" msgstr "define un nuevo generador secuencial" -#: sql_help.c:5623 +#: sql_help.c:5665 msgid "define a new foreign server" msgstr "define un nuevo servidor foráneo" -#: sql_help.c:5629 +#: sql_help.c:5671 msgid "define extended statistics" msgstr "define estadísticas extendidas" -#: sql_help.c:5635 +#: sql_help.c:5677 msgid "define a new subscription" msgstr "define una nueva suscripción" -#: sql_help.c:5641 +#: sql_help.c:5683 msgid "define a new table" msgstr "define una nueva tabla" -#: sql_help.c:5647 sql_help.c:6169 +#: sql_help.c:5689 sql_help.c:6211 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:5653 +#: sql_help.c:5695 msgid "define a new tablespace" msgstr "define un nuevo tablespace" -#: sql_help.c:5659 +#: sql_help.c:5701 msgid "define a new text search configuration" msgstr "define una nueva configuración de búsqueda en texto" -#: sql_help.c:5665 +#: sql_help.c:5707 msgid "define a new text search dictionary" msgstr "define un nuevo diccionario de búsqueda en texto" -#: sql_help.c:5671 +#: sql_help.c:5713 msgid "define a new text search parser" msgstr "define un nuevo analizador de búsqueda en texto" -#: sql_help.c:5677 +#: sql_help.c:5719 msgid "define a new text search template" msgstr "define una nueva plantilla de búsqueda en texto" -#: sql_help.c:5683 +#: sql_help.c:5725 msgid "define a new transform" msgstr "define una nueva transformación" -#: sql_help.c:5689 +#: sql_help.c:5731 msgid "define a new trigger" msgstr "define un nuevo disparador" -#: sql_help.c:5695 +#: sql_help.c:5737 msgid "define a new data type" msgstr "define un nuevo tipo de datos" -#: sql_help.c:5707 +#: sql_help.c:5749 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:5713 +#: sql_help.c:5755 msgid "define a new view" msgstr "define una nueva vista" -#: sql_help.c:5719 +#: sql_help.c:5761 msgid "deallocate a prepared statement" msgstr "elimina una sentencia preparada" -#: sql_help.c:5725 +#: sql_help.c:5767 msgid "define a cursor" msgstr "define un nuevo cursor" -#: sql_help.c:5731 +#: sql_help.c:5773 msgid "delete rows of a table" msgstr "elimina filas de una tabla" -#: sql_help.c:5737 +#: sql_help.c:5779 msgid "discard session state" msgstr "descartar datos de la sesión" -#: sql_help.c:5743 +#: sql_help.c:5785 msgid "execute an anonymous code block" msgstr "ejecutar un bloque anónimo de código" -#: sql_help.c:5749 +#: sql_help.c:5791 msgid "remove an access method" msgstr "elimina un método de acceso" -#: sql_help.c:5755 +#: sql_help.c:5797 msgid "remove an aggregate function" msgstr "elimina una función de agregación" -#: sql_help.c:5761 +#: sql_help.c:5803 msgid "remove a cast" msgstr "elimina una conversión de tipo" -#: sql_help.c:5767 +#: sql_help.c:5809 msgid "remove a collation" msgstr "elimina un ordenamiento" -#: sql_help.c:5773 +#: sql_help.c:5815 msgid "remove a conversion" msgstr "elimina una conversión de codificación" -#: sql_help.c:5779 +#: sql_help.c:5821 msgid "remove a database" msgstr "elimina una base de datos" -#: sql_help.c:5785 +#: sql_help.c:5827 msgid "remove a domain" msgstr "elimina un dominio" -#: sql_help.c:5791 +#: sql_help.c:5833 msgid "remove an event trigger" msgstr "elimina un disparador por evento" -#: sql_help.c:5797 +#: sql_help.c:5839 msgid "remove an extension" msgstr "elimina una extensión" -#: sql_help.c:5803 +#: sql_help.c:5845 msgid "remove a foreign-data wrapper" msgstr "elimina un conector de datos externos" -#: sql_help.c:5809 +#: sql_help.c:5851 msgid "remove a foreign table" msgstr "elimina una tabla foránea" -#: sql_help.c:5815 +#: sql_help.c:5857 msgid "remove a function" msgstr "elimina una función" -#: sql_help.c:5821 sql_help.c:5887 sql_help.c:5989 +#: sql_help.c:5863 sql_help.c:5929 sql_help.c:6031 msgid "remove a database role" msgstr "elimina un rol de base de datos" -#: sql_help.c:5827 +#: sql_help.c:5869 msgid "remove an index" msgstr "elimina un índice" -#: sql_help.c:5833 +#: sql_help.c:5875 msgid "remove a procedural language" msgstr "elimina un lenguaje procedural" -#: sql_help.c:5839 +#: sql_help.c:5881 msgid "remove a materialized view" msgstr "elimina una vista materializada" -#: sql_help.c:5845 +#: sql_help.c:5887 msgid "remove an operator" msgstr "elimina un operador" -#: sql_help.c:5851 +#: sql_help.c:5893 msgid "remove an operator class" msgstr "elimina una clase de operadores" -#: sql_help.c:5857 +#: sql_help.c:5899 msgid "remove an operator family" msgstr "elimina una familia de operadores" -#: sql_help.c:5863 +#: sql_help.c:5905 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:5869 +#: sql_help.c:5911 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:5875 +#: sql_help.c:5917 msgid "remove a procedure" msgstr "elimina un procedimiento" -#: sql_help.c:5881 +#: sql_help.c:5923 msgid "remove a publication" msgstr "elimina una publicación" -#: sql_help.c:5893 +#: sql_help.c:5935 msgid "remove a routine" msgstr "elimina una rutina" -#: sql_help.c:5899 +#: sql_help.c:5941 msgid "remove a rewrite rule" msgstr "elimina una regla de reescritura" -#: sql_help.c:5905 +#: sql_help.c:5947 msgid "remove a schema" msgstr "elimina un esquema" -#: sql_help.c:5911 +#: sql_help.c:5953 msgid "remove a sequence" msgstr "elimina un generador secuencial" -#: sql_help.c:5917 +#: sql_help.c:5959 msgid "remove a foreign server descriptor" msgstr "elimina un descriptor de servidor foráneo" -#: sql_help.c:5923 +#: sql_help.c:5965 msgid "remove extended statistics" msgstr "elimina estadísticas extendidas" -#: sql_help.c:5929 +#: sql_help.c:5971 msgid "remove a subscription" msgstr "elimina una suscripción" -#: sql_help.c:5935 +#: sql_help.c:5977 msgid "remove a table" msgstr "elimina una tabla" -#: sql_help.c:5941 +#: sql_help.c:5983 msgid "remove a tablespace" msgstr "elimina un tablespace" -#: sql_help.c:5947 +#: sql_help.c:5989 msgid "remove a text search configuration" msgstr "elimina una configuración de búsqueda en texto" -#: sql_help.c:5953 +#: sql_help.c:5995 msgid "remove a text search dictionary" msgstr "elimina un diccionario de búsqueda en texto" -#: sql_help.c:5959 +#: sql_help.c:6001 msgid "remove a text search parser" msgstr "elimina un analizador de búsqueda en texto" -#: sql_help.c:5965 +#: sql_help.c:6007 msgid "remove a text search template" msgstr "elimina una plantilla de búsqueda en texto" -#: sql_help.c:5971 +#: sql_help.c:6013 msgid "remove a transform" msgstr "elimina una transformación" -#: sql_help.c:5977 +#: sql_help.c:6019 msgid "remove a trigger" msgstr "elimina un disparador" -#: sql_help.c:5983 +#: sql_help.c:6025 msgid "remove a data type" msgstr "elimina un tipo de datos" -#: sql_help.c:5995 +#: sql_help.c:6037 msgid "remove a user mapping for a foreign server" msgstr "elimina un mapeo de usuario para un servidor remoto" -#: sql_help.c:6001 +#: sql_help.c:6043 msgid "remove a view" msgstr "elimina una vista" -#: sql_help.c:6013 +#: sql_help.c:6055 msgid "execute a prepared statement" msgstr "ejecuta una sentencia preparada" -#: sql_help.c:6019 +#: sql_help.c:6061 msgid "show the execution plan of a statement" msgstr "muestra el plan de ejecución de una sentencia" -#: sql_help.c:6025 +#: sql_help.c:6067 msgid "retrieve rows from a query using a cursor" msgstr "recupera filas de una consulta usando un cursor" -#: sql_help.c:6031 +#: sql_help.c:6073 msgid "define access privileges" msgstr "define privilegios de acceso" -#: sql_help.c:6037 +#: sql_help.c:6079 msgid "import table definitions from a foreign server" msgstr "importa definiciones de tablas desde un servidor foráneo" -#: sql_help.c:6043 +#: sql_help.c:6085 msgid "create new rows in a table" msgstr "crea nuevas filas en una tabla" -#: sql_help.c:6049 +#: sql_help.c:6091 msgid "listen for a notification" msgstr "escucha notificaciones" -#: sql_help.c:6055 +#: sql_help.c:6097 msgid "load a shared library file" msgstr "carga un archivo de biblioteca compartida" -#: sql_help.c:6061 +#: sql_help.c:6103 msgid "lock a table" msgstr "bloquea una tabla" -#: sql_help.c:6067 +#: sql_help.c:6109 msgid "conditionally insert, update, or delete rows of a table" msgstr "condicionalmente inserta, actualiza o elimina filas de una tabla" -#: sql_help.c:6073 +#: sql_help.c:6115 msgid "position a cursor" msgstr "reposiciona un cursor" -#: sql_help.c:6079 +#: sql_help.c:6121 msgid "generate a notification" msgstr "genera una notificación" -#: sql_help.c:6085 +#: sql_help.c:6127 msgid "prepare a statement for execution" msgstr "prepara una sentencia para ejecución" -#: sql_help.c:6091 +#: sql_help.c:6133 msgid "prepare the current transaction for two-phase commit" msgstr "prepara la transacción actual para two-phase commit" -#: sql_help.c:6097 +#: sql_help.c:6139 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:6103 +#: sql_help.c:6145 msgid "replace the contents of a materialized view" msgstr "reemplaza los contenidos de una vista materializada" -#: sql_help.c:6109 +#: sql_help.c:6151 msgid "rebuild indexes" msgstr "reconstruye índices" -#: sql_help.c:6115 +#: sql_help.c:6157 +#| msgid "release a previously defined savepoint" msgid "release a previously defined savepoint" msgstr "libera un “savepoint” definido previamente" -#: sql_help.c:6121 +#: sql_help.c:6163 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:6127 +#: sql_help.c:6169 msgid "remove access privileges" msgstr "revoca privilegios de acceso" -#: sql_help.c:6139 +#: sql_help.c:6181 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:6145 +#: sql_help.c:6187 msgid "roll back to a savepoint" msgstr "descartar hacia un “savepoint”" -#: sql_help.c:6151 +#: sql_help.c:6193 msgid "define a new savepoint within the current transaction" msgstr "define un nuevo ”savepoint” en la transacción en curso" -#: sql_help.c:6157 +#: sql_help.c:6199 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:6163 sql_help.c:6217 sql_help.c:6253 +#: sql_help.c:6205 sql_help.c:6259 sql_help.c:6295 msgid "retrieve rows from a table or view" msgstr "recupera filas desde una tabla o vista" -#: sql_help.c:6175 +#: sql_help.c:6217 msgid "change a run-time parameter" msgstr "cambia un parámetro de configuración" -#: sql_help.c:6181 +#: sql_help.c:6223 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:6187 +#: sql_help.c:6229 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:6193 +#: sql_help.c:6235 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:6199 +#: sql_help.c:6241 msgid "set the characteristics of the current transaction" msgstr "define las características de la transacción en curso" -#: sql_help.c:6205 +#: sql_help.c:6247 msgid "show the value of a run-time parameter" msgstr "muestra el valor de un parámetro de configuración" -#: sql_help.c:6223 +#: sql_help.c:6265 msgid "empty a table or set of tables" msgstr "vacía una tabla o conjunto de tablas" -#: sql_help.c:6229 +#: sql_help.c:6271 msgid "stop listening for a notification" msgstr "deja de escuchar una notificación" -#: sql_help.c:6235 +#: sql_help.c:6277 msgid "update rows of a table" msgstr "actualiza filas de una tabla" -#: sql_help.c:6241 +#: sql_help.c:6283 msgid "garbage-collect and optionally analyze a database" msgstr "recolecta basura y opcionalmente estadísticas sobre una base de datos" -#: sql_help.c:6247 +#: sql_help.c:6289 msgid "compute a set of rows" msgstr "calcula un conjunto de registros" @@ -6464,7 +6568,7 @@ msgstr "se ignoró argumento extra «%s» en línea de órdenes" msgid "could not find own program executable" msgstr "no se pudo encontrar el ejecutable propio" -#: tab-complete.c:6078 +#: tab-complete.c:6230 #, c-format msgid "" "tab completion query failed: %s\n" diff --git a/src/bin/psql/po/fr.po b/src/bin/psql/po/fr.po index 676d05a031a..09b6c091df5 100644 --- a/src/bin/psql/po/fr.po +++ b/src/bin/psql/po/fr.po @@ -9,10 +9,10 @@ # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 15\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-07-29 09:17+0000\n" -"PO-Revision-Date: 2023-09-05 09:52+0200\n" +"POT-Creation-Date: 2024-08-23 16:18+0000\n" +"PO-Revision-Date: 2024-09-16 16:28+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -20,7 +20,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.3.2\n" +"X-Generator: Poedit 3.5\n" #: ../../../src/common/logging.c:276 #, c-format @@ -42,33 +42,48 @@ msgstr "détail : " msgid "hint: " msgstr "astuce : " -#: ../../common/exec.c:172 +#: ../../common/exec.c:174 #, c-format msgid "invalid binary \"%s\": %m" msgstr "binaire « %s » invalide : %m" -#: ../../common/exec.c:215 +#: ../../common/exec.c:217 #, c-format msgid "could not read binary \"%s\": %m" msgstr "n'a pas pu lire le binaire « %s » : %m" -#: ../../common/exec.c:223 +#: ../../common/exec.c:225 #, c-format msgid "could not find a \"%s\" to execute" msgstr "n'a pas pu trouver un « %s » à exécuter" -#: ../../common/exec.c:250 +#: ../../common/exec.c:252 #, c-format msgid "could not resolve path \"%s\" to absolute form: %m" msgstr "n'a pas pu résoudre le chemin « %s » en sa forme absolue : %m" -#: ../../common/exec.c:412 +#: ../../common/exec.c:382 copy.c:326 +#, c-format +msgid "could not execute command \"%s\": %m" +msgstr "n'a pas pu exécuter la commande « %s » : %m" + +#: ../../common/exec.c:394 +#, c-format +msgid "could not read from command \"%s\": %m" +msgstr "n'a pas pu lire à partir de la commande « %s » : %m" + +#: ../../common/exec.c:397 +#, c-format +msgid "no data was returned by command \"%s\"" +msgstr "aucune donnée n'a été renvoyée par la commande « %s »" + +#: ../../common/exec.c:424 #, c-format msgid "%s() failed: %m" msgstr "échec de %s() : %m" -#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687 -#: command.c:1354 command.c:3439 command.c:3488 command.c:3612 input.c:226 +#: ../../common/exec.c:562 ../../common/exec.c:607 ../../common/exec.c:699 +#: command.c:1372 command.c:3458 command.c:3507 command.c:3632 input.c:225 #: mainloop.c:80 mainloop.c:398 #, c-format msgid "out of memory" @@ -90,7 +105,7 @@ msgstr "ne peut pas dupliquer un pointeur nul (erreur interne)\n" msgid "could not look up effective user ID %ld: %s" msgstr "n'a pas pu trouver l'identifiant réel %ld de l'utilisateur : %s" -#: ../../common/username.c:45 command.c:613 +#: ../../common/username.c:45 command.c:616 msgid "user does not exist" msgstr "l'utilisateur n'existe pas" @@ -129,11 +144,11 @@ msgstr "le processus fils a été terminé par le signal %d : %s" msgid "child process exited with unrecognized status %d" msgstr "le processus fils a quitté avec un statut %d non reconnu" -#: ../../fe_utils/cancel.c:189 ../../fe_utils/cancel.c:238 +#: ../../fe_utils/cancel.c:186 ../../fe_utils/cancel.c:235 msgid "Cancel request sent\n" msgstr "Requête d'annulation envoyée\n" -#: ../../fe_utils/cancel.c:190 ../../fe_utils/cancel.c:239 +#: ../../fe_utils/cancel.c:187 ../../fe_utils/cancel.c:236 msgid "Could not send cancel request: " msgstr "N'a pas pu envoyer la requête d'annulation : " @@ -149,316 +164,341 @@ msgstr[1] "(%lu lignes)" msgid "Interrupted\n" msgstr "Interrompu\n" -#: ../../fe_utils/print.c:3218 +#: ../../fe_utils/print.c:3188 +#, c-format +msgid "Cannot print table contents: number of cells %lld is equal to or exceeds maximum %lld.\n" +msgstr "Ne peut pas afficher le contenu de la table : le nombre de cellules %lld est égal à ou dépasse le maximum %lld.\n" + +#: ../../fe_utils/print.c:3229 #, c-format msgid "Cannot add header to table content: column count of %d exceeded.\n" msgstr "" "Ne peut pas ajouter l'en-tête au contenu de la table : le nombre de colonnes\n" "%d est dépassé.\n" -#: ../../fe_utils/print.c:3258 +#: ../../fe_utils/print.c:3272 #, c-format -msgid "Cannot add cell to table content: total cell count of %d exceeded.\n" +msgid "Cannot add cell to table content: total cell count of %lld exceeded.\n" msgstr "" "Ne peut pas ajouter une cellule au contenu de la table : le nombre total des\n" -"cellules %d est dépassé.\n" +"cellules %lld est dépassé.\n" -#: ../../fe_utils/print.c:3516 +#: ../../fe_utils/print.c:3530 #, c-format msgid "invalid output format (internal error): %d" msgstr "format de sortie invalide (erreur interne) : %d" -#: ../../fe_utils/psqlscan.l:717 +#: ../../fe_utils/psqlscan.l:718 #, c-format msgid "skipping recursive expansion of variable \"%s\"" msgstr "ignore l'expansion récursive de la variable « %s »" -#: ../../port/thread.c:50 ../../port/thread.c:86 +#: ../../fe_utils/string_utils.c:434 +#, c-format +msgid "shell command argument contains a newline or carriage return: \"%s\"\n" +msgstr "l'argument de la commande shell contient un retour à la ligne ou un retour chariot : « %s »\n" + +#: ../../fe_utils/string_utils.c:607 +#, c-format +msgid "database name contains a newline or carriage return: \"%s\"\n" +msgstr "le nom de la base contient un retour à la ligne ou un retour chariot : « %s »\n" + +#: ../../port/user.c:43 ../../port/user.c:79 #, c-format msgid "could not look up local user ID %d: %s" msgstr "n'a pas pu rechercher l'identifiant de l'utilisateur local %d : %s" -#: ../../port/thread.c:55 ../../port/thread.c:91 +#: ../../port/user.c:48 ../../port/user.c:84 #, c-format msgid "local user with ID %d does not exist" msgstr "l'utilisateur local dont l'identifiant est %d n'existe pas" -#: command.c:234 +#: command.c:235 #, c-format msgid "invalid command \\%s" msgstr "commande \\%s invalide" -#: command.c:236 +#: command.c:237 #, c-format msgid "Try \\? for help." msgstr "Essayez \\? pour l'aide." -#: command.c:254 +#: command.c:255 #, c-format msgid "\\%s: extra argument \"%s\" ignored" msgstr "\\%s : argument « %s » supplémentaire ignoré" -#: command.c:306 +#: command.c:307 #, c-format msgid "\\%s command ignored; use \\endif or Ctrl-C to exit current \\if block" msgstr "commande \\%s ignorée ; utilisez \\endif ou Ctrl-C pour quitter le bloc \\if courant" -#: command.c:611 +#: command.c:614 #, c-format msgid "could not get home directory for user ID %ld: %s" msgstr "n'a pas pu obtenir le répertoire principal pour l'identifiant d'utilisateur %ld : %s" -#: command.c:630 +#: command.c:633 #, c-format msgid "\\%s: could not change directory to \"%s\": %m" msgstr "\\%s : n'a pas pu accéder au répertoire « %s » : %m" -#: command.c:654 +#: command.c:657 #, c-format msgid "You are currently not connected to a database.\n" msgstr "Vous n'êtes pas connecté à une base de données.\n" -#: command.c:664 +#: command.c:667 #, c-format msgid "You are connected to database \"%s\" as user \"%s\" on address \"%s\" at port \"%s\".\n" msgstr "Vous êtes connecté à la base de données « %s » en tant qu'utilisateur « %s » à l'adresse « %s » via le port « %s ».\n" -#: command.c:667 +#: command.c:670 #, c-format msgid "You are connected to database \"%s\" as user \"%s\" via socket in \"%s\" at port \"%s\".\n" msgstr "Vous êtes connecté à la base de données « %s » en tant qu'utilisateur « %s » via le socket dans « %s » via le port « %s ».\n" -#: command.c:673 +#: command.c:676 #, c-format msgid "You are connected to database \"%s\" as user \"%s\" on host \"%s\" (address \"%s\") at port \"%s\".\n" msgstr "Vous êtes connecté à la base de données « %s » en tant qu'utilisateur « %s » sur l'hôte « %s » (adresse « %s ») via le port « %s ».\n" -#: command.c:676 +#: command.c:679 #, c-format msgid "You are connected to database \"%s\" as user \"%s\" on host \"%s\" at port \"%s\".\n" msgstr "Vous êtes connecté à la base de données « %s » en tant qu'utilisateur « %s » sur l'hôte « %s » via le port « %s ».\n" -#: command.c:1066 command.c:1159 command.c:2682 +#: command.c:1069 command.c:1170 command.c:2675 #, c-format msgid "no query buffer" msgstr "aucun tampon de requête" -#: command.c:1099 command.c:5689 +#: command.c:1102 command.c:5771 #, c-format msgid "invalid line number: %s" msgstr "numéro de ligne invalide : %s" -#: command.c:1237 +#: command.c:1248 msgid "No changes" msgstr "Aucun changement" -#: command.c:1315 +#: command.c:1333 #, c-format msgid "%s: invalid encoding name or conversion procedure not found" msgstr "%s : nom d'encodage invalide ou procédure de conversion introuvable" -#: command.c:1350 command.c:2152 command.c:3435 command.c:3632 command.c:5795 -#: common.c:182 common.c:231 common.c:400 common.c:1102 common.c:1120 -#: common.c:1194 common.c:1313 common.c:1351 common.c:1444 common.c:1480 -#: copy.c:486 copy.c:720 help.c:66 large_obj.c:157 large_obj.c:192 -#: large_obj.c:254 startup.c:304 +#: command.c:1368 command.c:2157 command.c:3454 command.c:3652 command.c:5877 +#: common.c:221 common.c:270 common.c:440 common.c:1142 common.c:1160 +#: common.c:1228 common.c:1347 common.c:1385 common.c:1482 common.c:1548 +#: copy.c:486 copy.c:722 large_obj.c:157 large_obj.c:192 large_obj.c:254 +#: startup.c:304 #, c-format msgid "%s" msgstr "%s" -#: command.c:1357 +#: command.c:1375 msgid "There is no previous error." msgstr "Il n'y a pas d'erreur précédente." -#: command.c:1470 +#: command.c:1488 #, c-format msgid "\\%s: missing right parenthesis" msgstr "\\%s: parenthèse droite manquante" -#: command.c:1554 command.c:1684 command.c:1988 command.c:2002 command.c:2021 -#: command.c:2203 command.c:2444 command.c:2649 command.c:2689 +#: command.c:1572 command.c:1691 command.c:1995 command.c:2009 command.c:2028 +#: command.c:2196 command.c:2437 command.c:2642 command.c:2682 #, c-format msgid "\\%s: missing required argument" msgstr "\\%s : argument requis manquant" -#: command.c:1815 +#: command.c:1822 #, c-format msgid "\\elif: cannot occur after \\else" msgstr "\\elif : ne peut pas survenir après \\else" -#: command.c:1820 +#: command.c:1827 #, c-format msgid "\\elif: no matching \\if" msgstr "\\elif : pas de \\if correspondant" -#: command.c:1884 +#: command.c:1891 #, c-format msgid "\\else: cannot occur after \\else" msgstr "\\else : ne peut pas survenir après \\else" -#: command.c:1889 +#: command.c:1896 #, c-format msgid "\\else: no matching \\if" msgstr "\\else : pas de \\if correspondant" -#: command.c:1929 +#: command.c:1936 #, c-format msgid "\\endif: no matching \\if" msgstr "\\endif : pas de \\if correspondant" -#: command.c:2085 +#: command.c:2092 msgid "Query buffer is empty." msgstr "Le tampon de requête est vide." -#: command.c:2128 +#: command.c:2135 #, c-format msgid "Enter new password for user \"%s\": " msgstr "Saisir le nouveau mot de passe de l'utilisateur « %s » : " -#: command.c:2132 +#: command.c:2139 msgid "Enter it again: " msgstr "Saisir le mot de passe à nouveau : " -#: command.c:2141 +#: command.c:2148 #, c-format msgid "Passwords didn't match." msgstr "Les mots de passe ne sont pas identiques." -#: command.c:2238 +#: command.c:2231 #, c-format msgid "\\%s: could not read value for variable" msgstr "\\%s : n'a pas pu lire la valeur pour la variable" -#: command.c:2340 +#: command.c:2333 msgid "Query buffer reset (cleared)." msgstr "Le tampon de requête a été effacé." -#: command.c:2362 +#: command.c:2355 #, c-format msgid "Wrote history to file \"%s\".\n" msgstr "Historique sauvegardé dans le fichier « %s ».\n" -#: command.c:2449 +#: command.c:2442 #, c-format msgid "\\%s: environment variable name must not contain \"=\"" msgstr "\\%s : le nom de la variable d'environnement ne doit pas contenir « = »" -#: command.c:2497 +#: command.c:2490 #, c-format msgid "function name is required" msgstr "le nom de la fonction est requis" -#: command.c:2499 +#: command.c:2492 #, c-format msgid "view name is required" msgstr "le nom de la vue est requis" -#: command.c:2621 +#: command.c:2614 msgid "Timing is on." msgstr "Chronométrage activé." -#: command.c:2623 +#: command.c:2616 msgid "Timing is off." msgstr "Chronométrage désactivé." -#: command.c:2709 command.c:2747 command.c:4074 command.c:4077 command.c:4080 -#: command.c:4086 command.c:4088 command.c:4114 command.c:4124 command.c:4136 -#: command.c:4150 command.c:4177 command.c:4235 common.c:78 copy.c:329 -#: copy.c:401 psqlscanslash.l:788 psqlscanslash.l:800 psqlscanslash.l:818 +#: command.c:2702 command.c:2740 command.c:4163 command.c:4166 command.c:4169 +#: command.c:4175 command.c:4177 command.c:4203 command.c:4213 command.c:4225 +#: command.c:4239 command.c:4266 command.c:4324 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:2736 copy.c:388 +#: command.c:2729 copy.c:388 #, c-format msgid "%s: %s" msgstr "%s : %s" -#: command.c:2806 command.c:2852 +#: command.c:2801 command.c:2867 #, c-format msgid "\\watch: interval value is specified more than once" msgstr "\\watch : la valeur d'intervalle est spécifiée plus d'une fois" -#: command.c:2816 command.c:2862 +#: command.c:2811 command.c:2877 #, c-format msgid "\\watch: incorrect interval value \"%s\"" msgstr "\\watch : valeur d'intervalle incorrecte « %s »" -#: command.c:2826 +#: command.c:2821 #, c-format msgid "\\watch: iteration count is specified more than once" msgstr "\\watch: le nombre d'itération est spécifié plus d'une fois" -#: command.c:2836 +#: command.c:2831 #, c-format msgid "\\watch: incorrect iteration count \"%s\"" msgstr "\\watch : nombre d'itération incorrect « %s »" -#: command.c:2843 +#: command.c:2841 +#, c-format +msgid "\\watch: minimum row count specified more than once" +msgstr "\\watch: nombre de lignes minimum spécifié plus d'une fois" + +#: command.c:2851 +#, c-format +msgid "\\watch: incorrect minimum row count \"%s\"" +msgstr "\\watch : nombre de lignes minimum incorrect « %s »" + +#: command.c:2858 #, c-format msgid "\\watch: unrecognized parameter \"%s\"" msgstr "\\watch : paramètre « %s » non reconnu" -#: command.c:3236 startup.c:243 startup.c:293 +#: command.c:3255 startup.c:243 startup.c:293 msgid "Password: " msgstr "Mot de passe : " -#: command.c:3241 startup.c:290 +#: command.c:3260 startup.c:290 #, c-format msgid "Password for user %s: " msgstr "Mot de passe pour l'utilisateur %s : " -#: command.c:3297 +#: command.c:3316 #, c-format msgid "Do not give user, host, or port separately when using a connection string" msgstr "Ne pas donner utilisateur, hôte ou port lors de l'utilisation d'une chaîne de connexion" -#: command.c:3332 +#: command.c:3351 #, c-format msgid "No database connection exists to re-use parameters from" msgstr "Aucune connexion de base existante pour réutiliser ses paramètres" -#: command.c:3638 +#: command.c:3658 #, c-format msgid "Previous connection kept" msgstr "Connexion précédente conservée" -#: command.c:3644 +#: command.c:3664 #, c-format msgid "\\connect: %s" msgstr "\\connect : %s" -#: command.c:3700 +#: command.c:3720 #, c-format msgid "You are now connected to database \"%s\" as user \"%s\" on address \"%s\" at port \"%s\".\n" msgstr "Vous êtes maintenant connecté à la base de données « %s » en tant qu'utilisateur « %s » à l'adresse « %s » via le port « %s ».\n" -#: command.c:3703 +#: command.c:3723 #, c-format msgid "You are now connected to database \"%s\" as user \"%s\" via socket in \"%s\" at port \"%s\".\n" msgstr "Vous êtes maintenant connecté à la base de données « %s » en tant qu'utilisateur « %s » via le socket dans « %s » via le port « %s ».\n" -#: command.c:3709 +#: command.c:3729 #, c-format msgid "You are now connected to database \"%s\" as user \"%s\" on host \"%s\" (address \"%s\") at port \"%s\".\n" msgstr "Vous êtes maintenant connecté à la base de données « %s » en tant qu'utilisateur « %s » sur l'hôte « %s » (adresse « %s » ) via le port « %s ».\n" -#: command.c:3712 +#: command.c:3732 #, c-format msgid "You are now connected to database \"%s\" as user \"%s\" on host \"%s\" at port \"%s\".\n" msgstr "Vous êtes maintenant connecté à la base de données « %s » en tant qu'utilisateur « %s » sur l'hôte « %s » via le port « %s ».\n" -#: command.c:3717 +#: command.c:3737 #, c-format msgid "You are now connected to database \"%s\" as user \"%s\".\n" msgstr "Vous êtes maintenant connecté à la base de données « %s » en tant qu'utilisateur « %s ».\n" -#: command.c:3757 +#: command.c:3843 #, c-format msgid "%s (%s, server %s)\n" msgstr "%s (%s, serveur %s)\n" -#: command.c:3770 +#: command.c:3856 #, c-format msgid "" "WARNING: %s major version %s, server major version %s.\n" @@ -467,29 +507,33 @@ msgstr "" "ATTENTION : %s version majeure %s, version majeure du serveur %s.\n" " Certaines fonctionnalités de psql pourraient ne pas fonctionner.\n" -#: command.c:3807 +#: command.c:3895 #, c-format -msgid "SSL connection (protocol: %s, cipher: %s, compression: %s)\n" -msgstr "Connexion SSL (protocole : %s, chiffrement : %s, compression : %s)\n" +msgid "SSL connection (protocol: %s, cipher: %s, compression: %s, ALPN: %s)\n" +msgstr "Connexion SSL (protocole : %s, chiffrement : %s, compression : %s, ALPN : %s)\n" -#: command.c:3808 command.c:3809 +#: command.c:3896 command.c:3897 msgid "unknown" msgstr "inconnu" -#: command.c:3810 help.c:42 +#: command.c:3898 help.c:42 msgid "off" msgstr "désactivé" -#: command.c:3810 help.c:42 +#: command.c:3898 help.c:42 msgid "on" msgstr "activé" -#: command.c:3824 +#: command.c:3899 +msgid "none" +msgstr "aucun" + +#: command.c:3913 #, c-format msgid "GSSAPI-encrypted connection\n" msgstr "connexion chiffrée avec GSSAPI\n" -#: command.c:3844 +#: command.c:3933 #, c-format msgid "" "WARNING: Console code page (%u) differs from Windows code page (%u)\n" @@ -501,289 +545,289 @@ msgstr "" " Voir la section « Notes aux utilisateurs de Windows » de la page\n" " référence de psql pour les détails.\n" -#: command.c:3949 +#: command.c:4038 #, c-format msgid "environment variable PSQL_EDITOR_LINENUMBER_ARG must be set to specify a line number" msgstr "la variable d'environnement PSQL_EDITOR_LINENUMBER_ARG doit être définie avec un numéro de ligne" -#: command.c:3979 +#: command.c:4068 #, c-format msgid "could not start editor \"%s\"" msgstr "n'a pas pu exécuter l'éditeur « %s »" -#: command.c:3981 +#: command.c:4070 #, c-format msgid "could not start /bin/sh" msgstr "n'a pas pu exécuter /bin/sh" -#: command.c:4031 +#: command.c:4120 #, c-format msgid "could not locate temporary directory: %s" msgstr "n'a pas pu localiser le répertoire temporaire : %s" -#: command.c:4058 +#: command.c:4147 #, c-format msgid "could not open temporary file \"%s\": %m" msgstr "n'a pas pu ouvrir le fichier temporaire « %s » : %m" -#: command.c:4394 +#: command.c:4483 #, c-format msgid "\\pset: ambiguous abbreviation \"%s\" matches both \"%s\" and \"%s\"" -msgstr "\\pset: abréviation ambigüe : « %s » correspond à « %s » comme à « %s »" +msgstr "\\pset: abréviation ambiguë : « %s » correspond à « %s » comme à « %s »" -#: command.c:4414 +#: command.c:4503 #, c-format msgid "\\pset: allowed formats are aligned, asciidoc, csv, html, latex, latex-longtable, troff-ms, unaligned, wrapped" msgstr "\\pset : les formats autorisés sont aligned, asciidoc, csv, html, latex, latex-longtable, troff-ms, unaligned, wrapped" -#: command.c:4433 +#: command.c:4522 #, c-format msgid "\\pset: allowed line styles are ascii, old-ascii, unicode" msgstr "\\pset: les styles de lignes autorisés sont ascii, old-ascii, unicode" -#: command.c:4448 +#: command.c:4537 #, c-format msgid "\\pset: allowed Unicode border line styles are single, double" msgstr "\\pset : les styles autorisés de ligne de bordure Unicode sont single, double" -#: command.c:4463 +#: command.c:4552 #, c-format msgid "\\pset: allowed Unicode column line styles are single, double" msgstr "\\pset : les styles autorisés pour la ligne de colonne Unicode sont single, double" -#: command.c:4478 +#: command.c:4567 #, c-format msgid "\\pset: allowed Unicode header line styles are single, double" msgstr "\\pset : les styles autorisés pour la ligne d'en-tête Unicode sont single, double" -#: command.c:4530 +#: command.c:4619 #, c-format msgid "\\pset: allowed xheader_width values are \"%s\" (default), \"%s\", \"%s\", or a number specifying the exact width" msgstr "\\pset: les valeurs acceptées pour xheader_width sont « %s » (par défaut), « %s », « %s » ou un nombre indiquant la largeur exacte" -#: command.c:4547 +#: command.c:4636 #, c-format msgid "\\pset: csv_fieldsep must be a single one-byte character" msgstr "\\pset: csv_fieldsep doit être un unique caractère d'un octet" -#: command.c:4552 +#: command.c:4641 #, c-format msgid "\\pset: csv_fieldsep cannot be a double quote, a newline, or a carriage return" msgstr "\\pset: csv_fieldsep ne peut pas être un guillemet, un retour à la ligne ou un retour chariot" -#: command.c:4690 command.c:4891 +#: command.c:4779 command.c:4980 #, c-format msgid "\\pset: unknown option: %s" msgstr "\\pset : option inconnue : %s" -#: command.c:4710 +#: command.c:4799 #, c-format msgid "Border style is %d.\n" msgstr "Le style de bordure est %d.\n" -#: command.c:4716 +#: command.c:4805 #, c-format msgid "Target width is unset.\n" msgstr "La largeur cible n'est pas configuré.\n" -#: command.c:4718 +#: command.c:4807 #, c-format msgid "Target width is %d.\n" msgstr "La largeur cible est %d.\n" -#: command.c:4725 +#: command.c:4814 #, c-format msgid "Expanded display is on.\n" msgstr "Affichage étendu activé.\n" -#: command.c:4727 +#: command.c:4816 #, c-format msgid "Expanded display is used automatically.\n" msgstr "L'affichage étendu est utilisé automatiquement.\n" -#: command.c:4729 +#: command.c:4818 #, c-format msgid "Expanded display is off.\n" msgstr "Affichage étendu désactivé.\n" -#: command.c:4736 command.c:4738 command.c:4740 +#: command.c:4825 command.c:4827 command.c:4829 #, c-format msgid "Expanded header width is \"%s\".\n" msgstr "La largeur étendue de l'entête est « %s ».\n" -#: command.c:4742 +#: command.c:4831 #, c-format msgid "Expanded header width is %d.\n" msgstr "La largeur étendue de l'entête est %d.\n" -#: command.c:4748 +#: command.c:4837 #, c-format msgid "Field separator for CSV is \"%s\".\n" msgstr "Le séparateur de champs pour un CSV est « %s ».\n" -#: command.c:4756 command.c:4764 +#: command.c:4845 command.c:4853 #, c-format msgid "Field separator is zero byte.\n" msgstr "Le séparateur de champs est l'octet zéro.\n" -#: command.c:4758 +#: command.c:4847 #, c-format msgid "Field separator is \"%s\".\n" msgstr "Le séparateur de champs est « %s ».\n" -#: command.c:4771 +#: command.c:4860 #, c-format msgid "Default footer is on.\n" msgstr "Le bas de page pas défaut est activé.\n" -#: command.c:4773 +#: command.c:4862 #, c-format msgid "Default footer is off.\n" msgstr "Le bas de page par défaut est désactivé.\n" -#: command.c:4779 +#: command.c:4868 #, c-format msgid "Output format is %s.\n" msgstr "Le format de sortie est %s.\n" -#: command.c:4785 +#: command.c:4874 #, c-format msgid "Line style is %s.\n" msgstr "Le style de ligne est %s.\n" -#: command.c:4792 +#: command.c:4881 #, c-format msgid "Null display is \"%s\".\n" msgstr "L'affichage de null est « %s ».\n" -#: command.c:4800 +#: command.c:4889 #, c-format msgid "Locale-adjusted numeric output is on.\n" msgstr "L'affichage de la sortie numérique adaptée à la locale est activé.\n" -#: command.c:4802 +#: command.c:4891 #, c-format msgid "Locale-adjusted numeric output is off.\n" msgstr "L'affichage de la sortie numérique adaptée à la locale est désactivé.\n" -#: command.c:4809 +#: command.c:4898 #, c-format msgid "Pager is used for long output.\n" msgstr "Le paginateur est utilisé pour les affichages longs.\n" -#: command.c:4811 +#: command.c:4900 #, c-format msgid "Pager is always used.\n" msgstr "Le paginateur est toujours utilisé.\n" -#: command.c:4813 +#: command.c:4902 #, c-format msgid "Pager usage is off.\n" msgstr "L'utilisation du paginateur est désactivé.\n" -#: command.c:4819 +#: command.c:4908 #, 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" msgstr[0] "Le paginateur ne sera pas utilisé pour moins que %d ligne.\n" msgstr[1] "Le paginateur ne sera pas utilisé pour moins que %d lignes.\n" -#: command.c:4829 command.c:4839 +#: command.c:4918 command.c:4928 #, c-format msgid "Record separator is zero byte.\n" msgstr "Le séparateur d'enregistrements est l'octet zéro.\n" -#: command.c:4831 +#: command.c:4920 #, c-format msgid "Record separator is .\n" msgstr "Le séparateur d'enregistrement est .\n" -#: command.c:4833 +#: command.c:4922 #, c-format msgid "Record separator is \"%s\".\n" msgstr "Le séparateur d'enregistrements est « %s ».\n" -#: command.c:4846 +#: command.c:4935 #, c-format msgid "Table attributes are \"%s\".\n" msgstr "Les attributs de la table sont « %s ».\n" -#: command.c:4849 +#: command.c:4938 #, c-format msgid "Table attributes unset.\n" msgstr "Les attributs de la table ne sont pas définis.\n" -#: command.c:4856 +#: command.c:4945 #, c-format msgid "Title is \"%s\".\n" msgstr "Le titre est « %s ».\n" -#: command.c:4858 +#: command.c:4947 #, c-format msgid "Title is unset.\n" msgstr "Le titre n'est pas défini.\n" -#: command.c:4865 +#: command.c:4954 #, c-format msgid "Tuples only is on.\n" msgstr "L'affichage des tuples seuls est activé.\n" -#: command.c:4867 +#: command.c:4956 #, c-format msgid "Tuples only is off.\n" msgstr "L'affichage des tuples seuls est désactivé.\n" -#: command.c:4873 +#: command.c:4962 #, c-format msgid "Unicode border line style is \"%s\".\n" msgstr "Le style de bordure Unicode est « %s ».\n" -#: command.c:4879 +#: command.c:4968 #, c-format msgid "Unicode column line style is \"%s\".\n" msgstr "Le style de ligne Unicode est « %s ».\n" -#: command.c:4885 +#: command.c:4974 #, c-format msgid "Unicode header line style is \"%s\".\n" msgstr "Le style d'en-tête Unicode est « %s ».\n" -#: command.c:5134 +#: command.c:5223 #, c-format msgid "\\!: failed" msgstr "\\! : échec" -#: command.c:5168 +#: command.c:5257 #, c-format msgid "\\watch cannot be used with an empty query" msgstr "\\watch ne peut pas être utilisé avec une requête vide" -#: command.c:5200 +#: command.c:5289 #, c-format msgid "could not set timer: %m" msgstr "n'a pas pu configurer le chronomètre : %m" -#: command.c:5269 +#: command.c:5358 #, c-format msgid "%s\t%s (every %gs)\n" msgstr "%s\t%s (chaque %gs)\n" -#: command.c:5272 +#: command.c:5361 #, c-format msgid "%s (every %gs)\n" msgstr "%s (chaque %gs)\n" -#: command.c:5340 +#: command.c:5424 #, c-format msgid "could not wait for signals: %m" msgstr "n'a pas pu attendre le signal : %m" -#: command.c:5398 command.c:5405 common.c:592 common.c:599 common.c:1083 +#: command.c:5480 command.c:5487 common.c:632 common.c:639 common.c:1123 #, c-format msgid "" -"********* QUERY **********\n" +"/******** QUERY *********/\n" "%s\n" -"**************************\n" +"/************************/\n" "\n" msgstr "" "******** REQUÊTE *********\n" @@ -791,147 +835,152 @@ msgstr "" "**************************\n" "\n" -#: command.c:5584 +#: command.c:5666 #, c-format msgid "\"%s.%s\" is not a view" msgstr "« %s.%s » n'est pas une vue" -#: command.c:5600 +#: command.c:5682 #, c-format msgid "could not parse reloptions array" msgstr "n'a pas pu analyser le tableau reloptions" -#: common.c:167 +#: common.c:206 #, c-format msgid "cannot escape without active connection" msgstr "ne peut mettre entre guillemets sans connexion active" -#: common.c:208 +#: common.c:247 #, c-format msgid "shell command argument contains a newline or carriage return: \"%s\"" msgstr "l'argument de la commande shell contient un retour à la ligne ou un retour chariot : « %s »" -#: common.c:312 +#: common.c:351 #, c-format msgid "connection to server was lost" msgstr "la connexion au serveur a été perdue" -#: common.c:316 +#: common.c:355 #, c-format msgid "The connection to the server was lost. Attempting reset: " msgstr "La connexion au serveur a été perdue. Tentative de réinitialisation : " -#: common.c:321 +#: common.c:360 #, c-format msgid "Failed.\n" msgstr "Échec.\n" -#: common.c:338 +#: common.c:377 #, c-format msgid "Succeeded.\n" msgstr "Succès.\n" -#: common.c:390 common.c:1021 +#: common.c:430 common.c:1061 #, c-format msgid "unexpected PQresultStatus: %d" msgstr "PQresultStatus inattendu : %d" -#: common.c:531 +#: common.c:571 #, c-format msgid "Time: %.3f ms\n" msgstr "Temps : %.3f ms\n" -#: common.c:546 +#: common.c:586 #, c-format msgid "Time: %.3f ms (%02d:%06.3f)\n" msgstr "Durée : %.3f ms (%02d:%06.3f)\n" -#: common.c:555 +#: common.c:595 #, c-format msgid "Time: %.3f ms (%02d:%02d:%06.3f)\n" msgstr "Durée : %.3f ms (%02d:%02d:%06.3f)\n" -#: common.c:562 +#: common.c:602 #, c-format msgid "Time: %.3f ms (%.0f d %02d:%02d:%06.3f)\n" msgstr "Durée : %.3f ms (%.0f d %02d:%02d:%06.3f)\n" -#: common.c:586 common.c:643 common.c:1054 describe.c:6214 +#: common.c:626 common.c:683 common.c:1094 describe.c:6192 #, c-format msgid "You are currently not connected to a database." msgstr "Vous n'êtes pas connecté à une base de données." -#: common.c:674 +#: common.c:714 #, c-format msgid "Asynchronous notification \"%s\" with payload \"%s\" received from server process with PID %d.\n" msgstr "" "Notification asynchrone « %s » reçue avec le contenu « %s » en provenance du\n" "processus serveur de PID %d.\n" -#: common.c:677 +#: common.c:717 #, c-format msgid "Asynchronous notification \"%s\" received from server process with PID %d.\n" msgstr "" "Notification asynchrone « %s » reçue en provenance du processus serveur de\n" "PID %d.\n" -#: common.c:708 +#: common.c:748 #, c-format msgid "could not print result table: %m" msgstr "n'a pas pu imprimer la table résultante : %m" -#: common.c:728 +#: common.c:768 #, c-format msgid "no rows returned for \\gset" msgstr "aucune ligne retournée pour \\gset" -#: common.c:733 +#: common.c:773 #, c-format msgid "more than one row returned for \\gset" msgstr "plus d'une ligne retournée pour \\gset" -#: common.c:751 +#: common.c:791 #, c-format msgid "attempt to \\gset into specially treated variable \"%s\" ignored" msgstr "tentative ignorée d'utilisation de \\gset dans une variable traitée spécialement « %s »" -#: common.c:1063 +#: common.c:1103 #, c-format msgid "" -"***(Single step mode: verify command)*******************************************\n" +"/**(Single step mode: verify command)******************************************/\n" "%s\n" -"***(press return to proceed or enter x and return to cancel)********************\n" +"/**(press return to proceed or enter x and return to cancel)*******************/\n" msgstr "" "***(Mode étape par étape: vérifiez la commande)*********************************\n" "%s\n" "***(appuyez sur entrée pour l'exécuter ou tapez x puis entrée pour annuler)***\n" -#: common.c:1146 +#: common.c:1180 #, c-format msgid "STATEMENT: %s" msgstr "INSTRUCTION : %s" -#: common.c:1182 +#: common.c:1216 #, c-format msgid "unexpected transaction status (%d)" msgstr "état de la transaction inattendu (%d)" -#: common.c:1335 describe.c:2026 +#: common.c:1369 describe.c:2025 msgid "Column" msgstr "Colonne" -#: common.c:1336 describe.c:170 describe.c:358 describe.c:376 describe.c:1046 -#: describe.c:1200 describe.c:1732 describe.c:1756 describe.c:2027 -#: describe.c:3958 describe.c:4170 describe.c:4409 describe.c:4571 -#: describe.c:5846 +#: common.c:1370 describe.c:169 describe.c:355 describe.c:373 describe.c:1043 +#: describe.c:1201 describe.c:1731 describe.c:1755 describe.c:2026 +#: describe.c:3956 describe.c:4167 describe.c:4404 describe.c:4564 +#: describe.c:5829 msgid "Type" msgstr "Type" -#: common.c:1385 +#: common.c:1419 #, c-format msgid "The command has no result, or the result has no columns.\n" msgstr "La commande n'a pas de résultats ou le résultat n'a pas de colonnes.\n" +#: common.c:1511 +#, c-format +msgid "fetching results in chunked mode failed" +msgstr "échec de la récupération des résultats en mode par morceau" + #: copy.c:98 #, c-format msgid "\\copy: arguments required" @@ -947,11 +996,6 @@ msgstr "\\copy : erreur d'analyse sur « %s »" msgid "\\copy: parse error at end of line" msgstr "\\copy : erreur d'analyse à la fin de la ligne" -#: copy.c:326 -#, c-format -msgid "could not execute command \"%s\": %m" -msgstr "n'a pas pu exécuter la commande « %s » : %m" - #: copy.c:342 #, c-format msgid "could not stat file \"%s\": %m" @@ -989,338 +1033,339 @@ msgstr "" "Saisissez les données à copier suivies d'un saut de ligne.\n" "Terminez avec un antislash et un point seuls sur une ligne ou un signal EOF." -#: copy.c:682 +#: copy.c:684 msgid "aborted because of read failure" msgstr "annulé du fait d'une erreur de lecture" -#: copy.c:716 +#: copy.c:718 msgid "trying to exit copy mode" msgstr "tente de sortir du mode copy" -#: crosstabview.c:123 +#: crosstabview.c:124 #, c-format msgid "\\crosstabview: statement did not return a result set" msgstr "\\crosstabview : la commande n'a pas retourné d'ensemble de résultats" -#: crosstabview.c:129 +#: crosstabview.c:130 #, c-format msgid "\\crosstabview: query must return at least three columns" msgstr "\\crosstabview : la requête doit renvoyer au moins trois colonnes" -#: crosstabview.c:156 +#: crosstabview.c:157 #, c-format msgid "\\crosstabview: vertical and horizontal headers must be different columns" msgstr "\\crosstabview : les en-têtes horizontales et verticales doivent être des colonnes différentes" -#: crosstabview.c:172 +#: crosstabview.c:173 #, c-format msgid "\\crosstabview: data column must be specified when query returns more than three columns" msgstr "\\crosstabview : la colonne de données doit être spécifiée quand la requête retourne plus de trois colonnes" -#: crosstabview.c:228 +#: crosstabview.c:229 #, c-format msgid "\\crosstabview: maximum number of columns (%d) exceeded" msgstr "\\crosstabview : nombre maximum de colonnes (%d) dépassé" -#: crosstabview.c:397 +#: crosstabview.c:398 #, c-format msgid "\\crosstabview: query result contains multiple data values for row \"%s\", column \"%s\"" msgstr "\\crosstabview : le résultat de la requête contient plusieurs valeurs de données pour la ligne « %s », colonne « %s »" -#: crosstabview.c:645 +#: crosstabview.c:646 #, c-format msgid "\\crosstabview: column number %d is out of range 1..%d" msgstr "\\crosstabview : le numéro de colonne %d est en dehors des limites 1..%d" -#: crosstabview.c:670 +#: crosstabview.c:671 #, c-format msgid "\\crosstabview: ambiguous column name: \"%s\"" msgstr "\\crosstabview : nom de colonne ambigu : « %s »" -#: crosstabview.c:678 +#: crosstabview.c:679 #, c-format msgid "\\crosstabview: column name not found: \"%s\"" msgstr "\\crosstabview : nom de colonne non trouvé : « %s »" -#: describe.c:87 describe.c:338 describe.c:630 describe.c:807 describe.c:1038 -#: describe.c:1189 describe.c:1264 describe.c:3947 describe.c:4157 -#: describe.c:4407 describe.c:4489 describe.c:4724 describe.c:4932 -#: describe.c:5174 describe.c:5418 describe.c:5488 describe.c:5499 -#: describe.c:5556 describe.c:5960 describe.c:6038 +#: describe.c:87 describe.c:335 describe.c:626 describe.c:802 describe.c:1035 +#: describe.c:1190 describe.c:1264 describe.c:3945 describe.c:4154 +#: describe.c:4402 describe.c:4483 describe.c:4715 describe.c:4921 +#: describe.c:5165 describe.c:5406 describe.c:5475 describe.c:5486 +#: describe.c:5542 describe.c:5941 describe.c:6018 msgid "Schema" msgstr "Schéma" -#: describe.c:88 describe.c:167 describe.c:229 describe.c:339 describe.c:631 -#: describe.c:808 describe.c:930 describe.c:1039 describe.c:1265 -#: describe.c:3948 describe.c:4158 describe.c:4323 describe.c:4408 -#: describe.c:4490 describe.c:4653 describe.c:4725 describe.c:4933 -#: describe.c:5046 describe.c:5175 describe.c:5419 describe.c:5489 -#: describe.c:5500 describe.c:5557 describe.c:5756 describe.c:5827 -#: describe.c:6036 describe.c:6265 describe.c:6573 +#: describe.c:88 describe.c:166 describe.c:227 describe.c:336 describe.c:627 +#: describe.c:803 describe.c:924 describe.c:1036 describe.c:1265 +#: describe.c:3946 describe.c:4155 describe.c:4319 describe.c:4403 +#: describe.c:4484 describe.c:4645 describe.c:4716 describe.c:4922 +#: describe.c:5038 describe.c:5166 describe.c:5407 describe.c:5476 +#: describe.c:5487 describe.c:5543 describe.c:5740 describe.c:5810 +#: describe.c:6016 describe.c:6243 describe.c:6551 msgid "Name" msgstr "Nom" -#: describe.c:89 describe.c:351 describe.c:369 +#: describe.c:89 describe.c:348 describe.c:366 msgid "Result data type" msgstr "Type de données du résultat" -#: describe.c:90 describe.c:352 describe.c:370 +#: describe.c:90 describe.c:349 describe.c:367 msgid "Argument data types" msgstr "Type de données des paramètres" -#: describe.c:98 describe.c:105 describe.c:178 describe.c:243 describe.c:418 -#: describe.c:662 describe.c:823 describe.c:974 describe.c:1267 describe.c:2047 -#: describe.c:3676 describe.c:4002 describe.c:4204 describe.c:4347 -#: describe.c:4421 describe.c:4499 describe.c:4666 describe.c:4844 -#: describe.c:4982 describe.c:5055 describe.c:5176 describe.c:5327 -#: describe.c:5369 describe.c:5435 describe.c:5492 describe.c:5501 -#: describe.c:5558 describe.c:5774 describe.c:5849 describe.c:5974 -#: describe.c:6039 describe.c:7093 +#: describe.c:98 describe.c:105 describe.c:177 describe.c:241 describe.c:415 +#: describe.c:658 describe.c:818 describe.c:972 describe.c:1267 describe.c:2046 +#: describe.c:3676 describe.c:4000 describe.c:4201 describe.c:4343 +#: describe.c:4416 describe.c:4493 describe.c:4658 describe.c:4834 +#: describe.c:4975 describe.c:5047 describe.c:5167 describe.c:5317 +#: describe.c:5358 describe.c:5423 describe.c:5479 describe.c:5488 +#: describe.c:5544 describe.c:5758 describe.c:5832 describe.c:5955 +#: describe.c:6019 describe.c:7078 msgid "Description" msgstr "Description" -#: describe.c:128 +#: describe.c:127 msgid "List of aggregate functions" msgstr "Liste des fonctions d'agrégation" -#: describe.c:153 +#: describe.c:152 #, c-format msgid "The server (version %s) does not support access methods." msgstr "Le serveur (version %s) ne supporte pas les méthodes d'accès." -#: describe.c:168 +#: describe.c:167 msgid "Index" msgstr "Index" -#: describe.c:169 describe.c:3966 describe.c:4183 describe.c:5961 +#: describe.c:168 describe.c:3964 describe.c:4180 describe.c:5942 msgid "Table" msgstr "Table" -#: describe.c:177 describe.c:5758 +#: describe.c:176 describe.c:5742 msgid "Handler" msgstr "Gestionnaire" -#: describe.c:201 +#: describe.c:199 msgid "List of access methods" msgstr "Liste des méthodes d'accès" -#: describe.c:230 describe.c:404 describe.c:655 describe.c:931 describe.c:1188 -#: describe.c:3959 describe.c:4159 describe.c:4324 describe.c:4655 -#: describe.c:5047 describe.c:5757 describe.c:5828 describe.c:6266 -#: describe.c:6454 describe.c:6574 describe.c:6733 describe.c:6819 -#: describe.c:7081 +#: describe.c:228 describe.c:401 describe.c:651 describe.c:925 describe.c:1189 +#: describe.c:3957 describe.c:4156 describe.c:4320 describe.c:4647 +#: describe.c:5039 describe.c:5741 describe.c:5811 describe.c:6244 +#: describe.c:6431 describe.c:6552 describe.c:6722 describe.c:6807 +#: describe.c:7066 msgid "Owner" msgstr "Propriétaire" -#: describe.c:231 +#: describe.c:229 msgid "Location" msgstr "Emplacement" -#: describe.c:241 describe.c:3517 describe.c:3858 +#: describe.c:239 describe.c:3517 describe.c:3857 msgid "Options" msgstr "Options" -#: describe.c:242 describe.c:653 describe.c:972 describe.c:4001 +#: describe.c:240 describe.c:649 describe.c:970 describe.c:3999 msgid "Size" msgstr "Taille" -#: describe.c:266 +#: describe.c:263 msgid "List of tablespaces" msgstr "Liste des tablespaces" -#: describe.c:311 +#: describe.c:308 #, c-format msgid "\\df only takes [anptwS+] as options" msgstr "\\df ne prend que [anptwS+] comme options" -#: describe.c:319 +#: describe.c:316 #, c-format msgid "\\df does not take a \"%c\" option with server version %s" msgstr "\\df ne prend pas d'option « %c » pour un serveur en version %s" #. translator: "agg" is short for "aggregate" -#: describe.c:354 describe.c:372 +#: describe.c:351 describe.c:369 msgid "agg" msgstr "agg" -#: describe.c:355 describe.c:373 +#: describe.c:352 describe.c:370 msgid "window" msgstr "window" -#: describe.c:356 +#: describe.c:353 msgid "proc" msgstr "proc" -#: describe.c:357 describe.c:375 +#: describe.c:354 describe.c:372 msgid "func" msgstr "func" -#: describe.c:374 describe.c:1397 +#: describe.c:371 describe.c:1397 msgid "trigger" msgstr "trigger" -#: describe.c:386 +#: describe.c:383 msgid "immutable" msgstr "immutable" -#: describe.c:387 +#: describe.c:384 msgid "stable" msgstr "stable" -#: describe.c:388 +#: describe.c:385 msgid "volatile" msgstr "volatile" -#: describe.c:389 +#: describe.c:386 msgid "Volatility" msgstr "Volatibilité" -#: describe.c:397 +#: describe.c:394 msgid "restricted" msgstr "restricted" -#: describe.c:398 +#: describe.c:395 msgid "safe" msgstr "safe" -#: describe.c:399 +#: describe.c:396 msgid "unsafe" msgstr "unsafe" -#: describe.c:400 +#: describe.c:397 msgid "Parallel" msgstr "Parallèle" -#: describe.c:405 +#: describe.c:402 msgid "definer" msgstr "definer" -#: describe.c:406 +#: describe.c:403 msgid "invoker" msgstr "invoker" -#: describe.c:407 +#: describe.c:404 msgid "Security" msgstr "Sécurité" -#: describe.c:412 +#: describe.c:409 msgid "Language" msgstr "Langage" -#: describe.c:415 describe.c:652 +#: describe.c:412 describe.c:648 msgid "Internal name" msgstr "Nom interne" -#: describe.c:589 +#: describe.c:585 msgid "List of functions" msgstr "Liste des fonctions" -#: describe.c:654 +#: describe.c:650 msgid "Elements" msgstr "Éléments" -#: describe.c:706 +#: describe.c:701 msgid "List of data types" msgstr "Liste des types de données" -#: describe.c:809 +#: describe.c:804 msgid "Left arg type" msgstr "Type de l'arg. gauche" -#: describe.c:810 +#: describe.c:805 msgid "Right arg type" msgstr "Type de l'arg. droit" -#: describe.c:811 +#: describe.c:806 msgid "Result type" msgstr "Type du résultat" -#: describe.c:816 describe.c:4661 describe.c:4827 describe.c:5326 -#: describe.c:7010 describe.c:7014 +#: describe.c:811 describe.c:4653 describe.c:4817 describe.c:5316 +#: describe.c:6996 describe.c:7000 msgid "Function" msgstr "Fonction" -#: describe.c:897 +#: describe.c:891 msgid "List of operators" msgstr "Liste des opérateurs" -#: describe.c:932 +#: describe.c:926 msgid "Encoding" msgstr "Encodage" -#: describe.c:936 describe.c:940 +#: describe.c:930 describe.c:934 msgid "Locale Provider" msgstr "Fournisseur de locale" -#: describe.c:944 describe.c:4947 +#: describe.c:938 describe.c:4936 msgid "Collate" msgstr "Collationnement" -#: describe.c:945 describe.c:4948 +#: describe.c:939 describe.c:4937 msgid "Ctype" msgstr "Type caract." -#: describe.c:949 describe.c:953 describe.c:4953 describe.c:4957 -msgid "ICU Locale" -msgstr "Locale ICU" +#: describe.c:943 describe.c:947 describe.c:951 describe.c:4942 describe.c:4946 +#: describe.c:4950 +msgid "Locale" +msgstr "Locale" -#: describe.c:957 describe.c:961 describe.c:4962 describe.c:4966 +#: describe.c:955 describe.c:959 describe.c:4955 describe.c:4959 msgid "ICU Rules" msgstr "Règles ICU :" -#: describe.c:973 +#: describe.c:971 msgid "Tablespace" msgstr "Tablespace" -#: describe.c:999 +#: describe.c:996 msgid "List of databases" msgstr "Liste des bases de données" -#: describe.c:1040 describe.c:1191 describe.c:3949 +#: describe.c:1037 describe.c:1192 describe.c:3947 msgid "table" msgstr "table" -#: describe.c:1041 describe.c:3950 +#: describe.c:1038 describe.c:3948 msgid "view" msgstr "vue" -#: describe.c:1042 describe.c:3951 +#: describe.c:1039 describe.c:3949 msgid "materialized view" msgstr "vue matérialisée" -#: describe.c:1043 describe.c:1193 describe.c:3953 +#: describe.c:1040 describe.c:1194 describe.c:3951 msgid "sequence" msgstr "séquence" -#: describe.c:1044 describe.c:3955 +#: describe.c:1041 describe.c:3953 msgid "foreign table" msgstr "table distante" -#: describe.c:1045 describe.c:3956 describe.c:4168 +#: describe.c:1042 describe.c:3954 describe.c:4165 msgid "partitioned table" msgstr "table partitionnée" -#: describe.c:1056 +#: describe.c:1058 msgid "Column privileges" msgstr "Droits d'accès à la colonne" -#: describe.c:1087 describe.c:1121 +#: describe.c:1089 describe.c:1123 msgid "Policies" msgstr "Politiques" -#: describe.c:1150 describe.c:4577 describe.c:6678 +#: describe.c:1151 describe.c:4570 describe.c:6667 msgid "Access privileges" msgstr "Droits d'accès" -#: describe.c:1195 +#: describe.c:1196 msgid "function" msgstr "fonction" -#: describe.c:1197 +#: describe.c:1198 msgid "type" msgstr "type" -#: describe.c:1199 +#: describe.c:1200 msgid "schema" msgstr "schéma" @@ -1352,293 +1397,293 @@ msgstr "famille d'opérateur" msgid "rule" msgstr "règle" -#: describe.c:1421 +#: describe.c:1420 msgid "Object descriptions" msgstr "Descriptions des objets" -#: describe.c:1486 describe.c:4074 +#: describe.c:1485 describe.c:4072 #, c-format msgid "Did not find any relation named \"%s\"." msgstr "Aucune relation nommée « %s » n'a été trouvée." -#: describe.c:1489 describe.c:4077 +#: describe.c:1488 describe.c:4075 #, c-format msgid "Did not find any relations." msgstr "Aucune relation n'a été trouvée." -#: describe.c:1685 +#: describe.c:1684 #, c-format msgid "Did not find any relation with OID %s." msgstr "Aucune relation avec l'OID « %s » n'a été trouvée." -#: describe.c:1733 describe.c:1757 +#: describe.c:1732 describe.c:1756 msgid "Start" msgstr "Début" -#: describe.c:1734 describe.c:1758 +#: describe.c:1733 describe.c:1757 msgid "Minimum" msgstr "Minimum" -#: describe.c:1735 describe.c:1759 +#: describe.c:1734 describe.c:1758 msgid "Maximum" msgstr "Maximum" -#: describe.c:1736 describe.c:1760 +#: describe.c:1735 describe.c:1759 msgid "Increment" msgstr "Incrément" -#: describe.c:1737 describe.c:1761 describe.c:1890 describe.c:4493 -#: describe.c:4838 describe.c:4971 describe.c:4976 describe.c:6721 +#: describe.c:1736 describe.c:1760 describe.c:1889 describe.c:4487 +#: describe.c:4828 describe.c:4964 describe.c:4969 describe.c:6710 msgid "yes" msgstr "oui" -#: describe.c:1738 describe.c:1762 describe.c:1891 describe.c:4493 -#: describe.c:4835 describe.c:4971 describe.c:6722 +#: describe.c:1737 describe.c:1761 describe.c:1890 describe.c:4487 +#: describe.c:4825 describe.c:4964 describe.c:6711 msgid "no" msgstr "non" -#: describe.c:1739 describe.c:1763 +#: describe.c:1738 describe.c:1762 msgid "Cycles?" msgstr "Cycles ?" -#: describe.c:1740 describe.c:1764 +#: describe.c:1739 describe.c:1763 msgid "Cache" msgstr "Cache" -#: describe.c:1805 +#: describe.c:1804 #, c-format msgid "Owned by: %s" msgstr "Propriétaire : %s" -#: describe.c:1809 +#: describe.c:1808 #, c-format msgid "Sequence for identity column: %s" msgstr "Séquence pour la colonne d'identité : %s" -#: describe.c:1817 +#: describe.c:1816 #, c-format msgid "Unlogged sequence \"%s.%s\"" msgstr "Séquence non journalisée « %s.%s »" -#: describe.c:1820 +#: describe.c:1819 #, c-format msgid "Sequence \"%s.%s\"" msgstr "Séquence « %s.%s »" -#: describe.c:1963 +#: describe.c:1962 #, c-format msgid "Unlogged table \"%s.%s\"" msgstr "Table non tracée « %s.%s »" -#: describe.c:1966 +#: describe.c:1965 #, c-format msgid "Table \"%s.%s\"" msgstr "Table « %s.%s »" -#: describe.c:1970 +#: describe.c:1969 #, c-format msgid "View \"%s.%s\"" msgstr "Vue « %s.%s »" -#: describe.c:1975 +#: describe.c:1974 #, c-format msgid "Unlogged materialized view \"%s.%s\"" msgstr "Vue matérialisée non journalisée « %s.%s »" -#: describe.c:1978 +#: describe.c:1977 #, c-format msgid "Materialized view \"%s.%s\"" msgstr "Vue matérialisée « %s.%s »" -#: describe.c:1983 +#: describe.c:1982 #, c-format msgid "Unlogged index \"%s.%s\"" msgstr "Index non tracé « %s.%s »" -#: describe.c:1986 +#: describe.c:1985 #, c-format msgid "Index \"%s.%s\"" msgstr "Index « %s.%s »" -#: describe.c:1991 +#: describe.c:1990 #, c-format msgid "Unlogged partitioned index \"%s.%s\"" msgstr "Index partitionné non journalisé « %s.%s »" -#: describe.c:1994 +#: describe.c:1993 #, c-format msgid "Partitioned index \"%s.%s\"" msgstr "Index partitionné « %s.%s »" -#: describe.c:1998 +#: describe.c:1997 #, c-format msgid "TOAST table \"%s.%s\"" msgstr "Table TOAST « %s.%s »" -#: describe.c:2002 +#: describe.c:2001 #, c-format msgid "Composite type \"%s.%s\"" msgstr "Type composé « %s.%s »" -#: describe.c:2006 +#: describe.c:2005 #, c-format msgid "Foreign table \"%s.%s\"" msgstr "Table distante « %s.%s »" -#: describe.c:2011 +#: describe.c:2010 #, c-format msgid "Unlogged partitioned table \"%s.%s\"" msgstr "Table non journalisée « %s.%s »" -#: describe.c:2014 +#: describe.c:2013 #, c-format msgid "Partitioned table \"%s.%s\"" msgstr "Table partitionnée « %s.%s »" -#: describe.c:2030 describe.c:4410 +#: describe.c:2029 describe.c:4405 msgid "Collation" msgstr "Collationnement" -#: describe.c:2031 describe.c:4411 +#: describe.c:2030 describe.c:4406 msgid "Nullable" msgstr "NULL-able" -#: describe.c:2032 describe.c:4412 +#: describe.c:2031 describe.c:4407 msgid "Default" msgstr "Par défaut" -#: describe.c:2035 +#: describe.c:2034 msgid "Key?" msgstr "Clé ?" -#: describe.c:2037 describe.c:4732 describe.c:4743 +#: describe.c:2036 describe.c:4723 describe.c:4734 msgid "Definition" msgstr "Définition" -#: describe.c:2039 describe.c:5773 describe.c:5848 describe.c:5914 -#: describe.c:5973 +#: describe.c:2038 describe.c:5757 describe.c:5831 describe.c:5896 +#: describe.c:5954 msgid "FDW options" msgstr "Options FDW" -#: describe.c:2041 +#: describe.c:2040 msgid "Storage" msgstr "Stockage" -#: describe.c:2043 +#: describe.c:2042 msgid "Compression" msgstr "Compression" -#: describe.c:2045 +#: describe.c:2044 msgid "Stats target" msgstr "Cible de statistiques" -#: describe.c:2181 +#: describe.c:2180 #, c-format msgid "Partition of: %s %s%s" msgstr "Partition de : %s %s%s" -#: describe.c:2194 +#: describe.c:2193 msgid "No partition constraint" msgstr "Aucune contrainte de partition" -#: describe.c:2196 +#: describe.c:2195 #, c-format msgid "Partition constraint: %s" msgstr "Contrainte de partition : %s" -#: describe.c:2220 +#: describe.c:2219 #, c-format msgid "Partition key: %s" msgstr "Clé de partition : %s" -#: describe.c:2246 +#: describe.c:2245 #, c-format msgid "Owning table: \"%s.%s\"" msgstr "Table propriétaire : « %s.%s »" -#: describe.c:2315 +#: describe.c:2314 msgid "primary key, " msgstr "clé primaire, " -#: describe.c:2318 +#: describe.c:2317 msgid "unique" msgstr "unique" -#: describe.c:2320 +#: describe.c:2319 msgid " nulls not distinct" msgstr " nulls non distincts" -#: describe.c:2321 +#: describe.c:2320 msgid ", " msgstr " , " -#: describe.c:2328 +#: describe.c:2327 #, c-format msgid "for table \"%s.%s\"" msgstr "pour la table « %s.%s »" -#: describe.c:2332 +#: describe.c:2331 #, c-format msgid ", predicate (%s)" msgstr ", prédicat (%s)" -#: describe.c:2335 +#: describe.c:2334 msgid ", clustered" msgstr ", en cluster" -#: describe.c:2338 +#: describe.c:2337 msgid ", invalid" msgstr ", invalide" -#: describe.c:2341 +#: describe.c:2340 msgid ", deferrable" msgstr ", déferrable" -#: describe.c:2344 +#: describe.c:2343 msgid ", initially deferred" msgstr ", initialement déferré" -#: describe.c:2347 +#: describe.c:2346 msgid ", replica identity" msgstr ", identité réplica" -#: describe.c:2401 +#: describe.c:2400 msgid "Indexes:" msgstr "Index :" -#: describe.c:2484 +#: describe.c:2483 msgid "Check constraints:" msgstr "Contraintes de vérification :" -#: describe.c:2552 +#: describe.c:2551 msgid "Foreign-key constraints:" msgstr "Contraintes de clés étrangères :" -#: describe.c:2615 +#: describe.c:2614 msgid "Referenced by:" msgstr "Référencé par :" -#: describe.c:2665 +#: describe.c:2664 msgid "Policies:" msgstr "Politiques :" -#: describe.c:2668 +#: describe.c:2667 msgid "Policies (forced row security enabled):" msgstr "Politiques (mode sécurité de ligne activé en forcé) :" -#: describe.c:2671 +#: describe.c:2670 msgid "Policies (row security enabled): (none)" msgstr "Politiques (mode sécurité de ligne activé) : (aucune)" -#: describe.c:2674 +#: describe.c:2673 msgid "Policies (forced row security enabled): (none)" msgstr "Politiques (mode sécurité de ligne activé en forcé) : (aucune)" -#: describe.c:2677 +#: describe.c:2676 msgid "Policies (row security disabled):" msgstr "Politiques (mode sécurité de ligne désactivé) :" -#: describe.c:2737 describe.c:2841 +#: describe.c:2736 describe.c:2841 msgid "Statistics objects:" msgstr "Objets statistiques :" @@ -1652,13 +1697,13 @@ msgstr "Règles désactivées :" #: describe.c:2949 msgid "Rules firing always:" -msgstr "Règles toujous activées :" +msgstr "Règles toujours activées :" #: describe.c:2952 msgid "Rules firing on replica only:" msgstr "Règles activées uniquement sur le réplica :" -#: describe.c:3031 describe.c:5109 +#: describe.c:3031 describe.c:5100 msgid "Publications:" msgstr "Publications :" @@ -1757,7 +1802,7 @@ msgstr ", tablespace « %s »" msgid "List of roles" msgstr "Liste des rôles" -#: describe.c:3672 describe.c:3841 +#: describe.c:3672 describe.c:3840 msgid "Role name" msgstr "Nom du rôle" @@ -1835,368 +1880,368 @@ msgstr "Aucune configuration pour le rôle « %s » n'a été trouvée." msgid "Did not find any settings." msgstr "Aucune configuration n'a été trouvée." -#: describe.c:3812 +#: describe.c:3811 msgid "List of settings" msgstr "Liste des paramètres" -#: describe.c:3842 +#: describe.c:3841 msgid "Member of" msgstr "Membre de" -#: describe.c:3859 +#: describe.c:3858 msgid "Grantor" msgstr "Donneur de droits" -#: describe.c:3886 +#: describe.c:3884 msgid "List of role grants" msgstr "Liste des droits de rôles" -#: describe.c:3952 +#: describe.c:3950 msgid "index" msgstr "index" -#: describe.c:3954 +#: describe.c:3952 msgid "TOAST table" msgstr "Table TOAST" -#: describe.c:3957 describe.c:4169 +#: describe.c:3955 describe.c:4166 msgid "partitioned index" msgstr "index partitionné" -#: describe.c:3977 +#: describe.c:3975 msgid "permanent" msgstr "permanent" -#: describe.c:3978 +#: describe.c:3976 msgid "temporary" msgstr "temporaire" -#: describe.c:3979 +#: describe.c:3977 msgid "unlogged" msgstr "non journalisé" -#: describe.c:3980 +#: describe.c:3978 msgid "Persistence" msgstr "Persistence" -#: describe.c:3996 +#: describe.c:3994 msgid "Access method" msgstr "Méthode d'accès" -#: describe.c:4082 +#: describe.c:4079 msgid "List of relations" msgstr "Liste des relations" -#: describe.c:4130 +#: describe.c:4127 #, c-format msgid "The server (version %s) does not support declarative table partitioning." msgstr "Le serveur (version %s) ne supporte pas le partitionnement déclaratif des tables." -#: describe.c:4141 +#: describe.c:4138 msgid "List of partitioned indexes" msgstr "Liste des index partitionnés" -#: describe.c:4143 +#: describe.c:4140 msgid "List of partitioned tables" msgstr "Liste des tables partitionnées" -#: describe.c:4147 +#: describe.c:4144 msgid "List of partitioned relations" msgstr "Liste des relations partitionnées" -#: describe.c:4178 +#: describe.c:4175 msgid "Parent name" msgstr "Nom du parent" -#: describe.c:4191 +#: describe.c:4188 msgid "Leaf partition size" msgstr "Taille de la partition de dernier niveau" -#: describe.c:4194 describe.c:4200 +#: describe.c:4191 describe.c:4197 msgid "Total size" msgstr "Taille totale" -#: describe.c:4325 +#: describe.c:4321 msgid "Trusted" msgstr "De confiance" -#: describe.c:4334 +#: describe.c:4330 msgid "Internal language" msgstr "Langage interne" -#: describe.c:4335 +#: describe.c:4331 msgid "Call handler" msgstr "Gestionnaire d'appel" -#: describe.c:4336 describe.c:5759 +#: describe.c:4332 describe.c:5743 msgid "Validator" msgstr "Validateur" -#: describe.c:4337 +#: describe.c:4333 msgid "Inline handler" msgstr "Gestionnaire en ligne" -#: describe.c:4372 +#: describe.c:4367 msgid "List of languages" msgstr "Liste des langages" -#: describe.c:4413 +#: describe.c:4408 msgid "Check" msgstr "Vérification" -#: describe.c:4457 +#: describe.c:4451 msgid "List of domains" msgstr "Liste des domaines" -#: describe.c:4491 +#: describe.c:4485 msgid "Source" msgstr "Source" -#: describe.c:4492 +#: describe.c:4486 msgid "Destination" msgstr "Destination" -#: describe.c:4494 describe.c:6723 +#: describe.c:4488 describe.c:6712 msgid "Default?" msgstr "Par défaut ?" -#: describe.c:4536 +#: describe.c:4529 msgid "List of conversions" msgstr "Liste des conversions" -#: describe.c:4564 +#: describe.c:4557 msgid "Parameter" msgstr "Paramètre" -#: describe.c:4565 +#: describe.c:4558 msgid "Value" msgstr "Valeur" -#: describe.c:4572 +#: describe.c:4565 msgid "Context" msgstr "Contexte" -#: describe.c:4605 +#: describe.c:4597 msgid "List of configuration parameters" msgstr "Liste des paramètres de configuration" -#: describe.c:4607 +#: describe.c:4599 msgid "List of non-default configuration parameters" msgstr "Liste des paramètres de configuration à valeur personnalisée" -#: describe.c:4634 +#: describe.c:4626 #, c-format msgid "The server (version %s) does not support event triggers." msgstr "Le serveur (version %s) ne supporte pas les triggers d'événement." -#: describe.c:4654 +#: describe.c:4646 msgid "Event" msgstr "Événement" -#: describe.c:4656 +#: describe.c:4648 msgid "enabled" msgstr "activé" -#: describe.c:4657 +#: describe.c:4649 msgid "replica" msgstr "réplicat" -#: describe.c:4658 +#: describe.c:4650 msgid "always" msgstr "toujours" -#: describe.c:4659 +#: describe.c:4651 msgid "disabled" msgstr "désactivé" -#: describe.c:4660 describe.c:6575 +#: describe.c:4652 describe.c:6553 msgid "Enabled" msgstr "Activé" -#: describe.c:4662 +#: describe.c:4654 msgid "Tags" msgstr "Tags" -#: describe.c:4686 +#: describe.c:4677 msgid "List of event triggers" msgstr "Liste des triggers sur évènement" -#: describe.c:4713 +#: describe.c:4704 #, c-format msgid "The server (version %s) does not support extended statistics." msgstr "Le serveur (version %s) ne supporte pas les statistiques étendues." -#: describe.c:4750 +#: describe.c:4741 msgid "Ndistinct" msgstr "Ndistinct" -#: describe.c:4751 +#: describe.c:4742 msgid "Dependencies" msgstr "Dépendances" -#: describe.c:4761 +#: describe.c:4752 msgid "MCV" msgstr "MCV" -#: describe.c:4785 +#: describe.c:4775 msgid "List of extended statistics" msgstr "Liste des statistiques étendues" -#: describe.c:4812 +#: describe.c:4802 msgid "Source type" msgstr "Type source" -#: describe.c:4813 +#: describe.c:4803 msgid "Target type" msgstr "Type cible" -#: describe.c:4837 +#: describe.c:4827 msgid "in assignment" msgstr "assigné" -#: describe.c:4839 +#: describe.c:4829 msgid "Implicit?" msgstr "Implicite ?" -#: describe.c:4898 +#: describe.c:4887 msgid "List of casts" msgstr "Liste des conversions explicites" -#: describe.c:4938 describe.c:4942 +#: describe.c:4927 describe.c:4931 msgid "Provider" msgstr "Fournisseur" -#: describe.c:4972 describe.c:4977 +#: describe.c:4965 describe.c:4970 msgid "Deterministic?" msgstr "Déterministe ?" -#: describe.c:5017 +#: describe.c:5009 msgid "List of collations" msgstr "Liste des collationnements" -#: describe.c:5079 +#: describe.c:5070 msgid "List of schemas" msgstr "Liste des schémas" -#: describe.c:5196 +#: describe.c:5186 msgid "List of text search parsers" msgstr "Liste des analyseurs de la recherche de texte" -#: describe.c:5246 +#: describe.c:5236 #, c-format msgid "Did not find any text search parser named \"%s\"." msgstr "Aucun analyseur de la recherche de texte nommé « %s » n'a été trouvé." -#: describe.c:5249 +#: describe.c:5239 #, c-format msgid "Did not find any text search parsers." msgstr "Aucun analyseur de recherche de texte n'a été trouvé." -#: describe.c:5324 +#: describe.c:5314 msgid "Start parse" msgstr "Début de l'analyse" -#: describe.c:5325 +#: describe.c:5315 msgid "Method" msgstr "Méthode" -#: describe.c:5329 +#: describe.c:5319 msgid "Get next token" msgstr "Obtenir le prochain jeton" -#: describe.c:5331 +#: describe.c:5321 msgid "End parse" msgstr "Fin de l'analyse" -#: describe.c:5333 +#: describe.c:5323 msgid "Get headline" msgstr "Obtenir l'en-tête" -#: describe.c:5335 +#: describe.c:5325 msgid "Get token types" msgstr "Obtenir les types de jeton" -#: describe.c:5346 +#: describe.c:5335 #, c-format msgid "Text search parser \"%s.%s\"" msgstr "Analyseur « %s.%s » de la recherche de texte" -#: describe.c:5349 +#: describe.c:5338 #, c-format msgid "Text search parser \"%s\"" msgstr "Analyseur « %s » de la recherche de texte" -#: describe.c:5368 +#: describe.c:5357 msgid "Token name" msgstr "Nom du jeton" -#: describe.c:5382 +#: describe.c:5370 #, c-format msgid "Token types for parser \"%s.%s\"" msgstr "Types de jeton pour l'analyseur « %s.%s »" -#: describe.c:5385 +#: describe.c:5373 #, c-format msgid "Token types for parser \"%s\"" msgstr "Types de jeton pour l'analyseur « %s »" -#: describe.c:5429 +#: describe.c:5417 msgid "Template" msgstr "Modèle" -#: describe.c:5430 +#: describe.c:5418 msgid "Init options" msgstr "Options d'initialisation" -#: describe.c:5457 +#: describe.c:5444 msgid "List of text search dictionaries" msgstr "Liste des dictionnaires de la recherche de texte" -#: describe.c:5490 +#: describe.c:5477 msgid "Init" msgstr "Initialisation" -#: describe.c:5491 +#: describe.c:5478 msgid "Lexize" msgstr "Lexize" -#: describe.c:5523 +#: describe.c:5509 msgid "List of text search templates" msgstr "Liste des modèles de la recherche de texte" -#: describe.c:5578 +#: describe.c:5563 msgid "List of text search configurations" msgstr "Liste des configurations de la recherche de texte" -#: describe.c:5629 +#: describe.c:5614 #, c-format msgid "Did not find any text search configuration named \"%s\"." msgstr "Aucune configuration de la recherche de texte nommée « %s » n'a été trouvée." -#: describe.c:5632 +#: describe.c:5617 #, c-format msgid "Did not find any text search configurations." msgstr "Aucune configuration de recherche de texte n'a été trouvée." -#: describe.c:5698 +#: describe.c:5683 msgid "Token" msgstr "Jeton" -#: describe.c:5699 +#: describe.c:5684 msgid "Dictionaries" msgstr "Dictionnaires" -#: describe.c:5710 +#: describe.c:5695 #, c-format msgid "Text search configuration \"%s.%s\"" msgstr "Configuration « %s.%s » de la recherche de texte" -#: describe.c:5713 +#: describe.c:5698 #, c-format msgid "Text search configuration \"%s\"" msgstr "Configuration « %s » de la recherche de texte" -#: describe.c:5717 +#: describe.c:5702 #, c-format msgid "" "\n" @@ -2205,7 +2250,7 @@ msgstr "" "\n" "Analyseur : « %s.%s »" -#: describe.c:5720 +#: describe.c:5705 #, c-format msgid "" "\n" @@ -2214,265 +2259,273 @@ msgstr "" "\n" "Analyseur : « %s »" -#: describe.c:5801 +#: describe.c:5784 msgid "List of foreign-data wrappers" msgstr "Liste des wrappers de données distantes" -#: describe.c:5829 +#: describe.c:5812 msgid "Foreign-data wrapper" msgstr "Wrapper des données distantes" -#: describe.c:5847 describe.c:6037 +#: describe.c:5830 describe.c:6017 msgid "Version" msgstr "Version" -#: describe.c:5878 +#: describe.c:5860 msgid "List of foreign servers" msgstr "Liste des serveurs distants" -#: describe.c:5903 describe.c:5962 +#: describe.c:5885 describe.c:5943 msgid "Server" msgstr "Serveur" -#: describe.c:5904 +#: describe.c:5886 msgid "User name" msgstr "Nom de l'utilisateur" -#: describe.c:5934 +#: describe.c:5915 msgid "List of user mappings" msgstr "Liste des correspondances utilisateurs" -#: describe.c:6007 +#: describe.c:5987 msgid "List of foreign tables" msgstr "Liste des tables distantes" -#: describe.c:6059 +#: describe.c:6038 msgid "List of installed extensions" msgstr "Liste des extensions installées" -#: describe.c:6107 +#: describe.c:6086 #, c-format msgid "Did not find any extension named \"%s\"." msgstr "Aucune extension nommée « %s » n'a été trouvée." -#: describe.c:6110 +#: describe.c:6089 #, c-format msgid "Did not find any extensions." msgstr "Aucune extension n'a été trouvée." -#: describe.c:6154 +#: describe.c:6133 msgid "Object description" msgstr "Description d'objet" -#: describe.c:6164 +#: describe.c:6142 #, c-format msgid "Objects in extension \"%s\"" msgstr "Objets dans l'extension « %s »" -#: describe.c:6205 +#: describe.c:6183 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "mauvaise qualification du nom (trop de points entre les noms) : %s" -#: describe.c:6219 +#: describe.c:6197 #, c-format msgid "cross-database references are not implemented: %s" msgstr "les références entre bases de données ne sont pas implémentées : %s" -#: describe.c:6250 describe.c:6377 +#: describe.c:6228 describe.c:6354 #, c-format msgid "The server (version %s) does not support publications." msgstr "Le serveur (version %s) ne supporte pas les publications." -#: describe.c:6267 describe.c:6455 +#: describe.c:6245 describe.c:6432 msgid "All tables" msgstr "Toutes les tables" -#: describe.c:6268 describe.c:6456 +#: describe.c:6246 describe.c:6433 msgid "Inserts" msgstr "Insertions" -#: describe.c:6269 describe.c:6457 +#: describe.c:6247 describe.c:6434 msgid "Updates" msgstr "Mises à jour" -#: describe.c:6270 describe.c:6458 +#: describe.c:6248 describe.c:6435 msgid "Deletes" msgstr "Suppressions" -#: describe.c:6274 describe.c:6460 +#: describe.c:6252 describe.c:6437 msgid "Truncates" msgstr "Tronque" -#: describe.c:6278 describe.c:6462 +#: describe.c:6256 describe.c:6439 msgid "Via root" msgstr "Via la racine" -#: describe.c:6300 +#: describe.c:6277 msgid "List of publications" msgstr "Liste des publications" -#: describe.c:6424 +#: describe.c:6401 #, c-format msgid "Did not find any publication named \"%s\"." msgstr "Aucune publication nommée « %s » n'a été trouvée." -#: describe.c:6427 +#: describe.c:6404 #, c-format msgid "Did not find any publications." msgstr "Aucune publication n'a été trouvée." -#: describe.c:6451 +#: describe.c:6428 #, c-format msgid "Publication %s" msgstr "Publication %s" -#: describe.c:6504 +#: describe.c:6481 msgid "Tables:" msgstr "Tables :" -#: describe.c:6516 +#: describe.c:6493 msgid "Tables from schemas:" msgstr "Tables des schémas :" -#: describe.c:6560 +#: describe.c:6538 #, c-format msgid "The server (version %s) does not support subscriptions." msgstr "Le serveur (version %s) ne supporte pas les souscriptions." -#: describe.c:6576 +#: describe.c:6554 msgid "Publication" msgstr "Publication" -#: describe.c:6585 +#: describe.c:6563 msgid "Binary" msgstr "Binaire" -#: describe.c:6594 describe.c:6598 +#: describe.c:6572 describe.c:6576 msgid "Streaming" msgstr "Flux" -#: describe.c:6606 +#: describe.c:6584 msgid "Two-phase commit" msgstr "Commit en deux phases" -#: describe.c:6607 +#: describe.c:6585 msgid "Disable on error" msgstr "Désactiver en cas d'erreur" -#: describe.c:6614 +#: describe.c:6592 msgid "Origin" msgstr "Origine" -#: describe.c:6615 +#: describe.c:6593 msgid "Password required" msgstr "Mot de passe requis" -#: describe.c:6616 +#: describe.c:6594 msgid "Run as owner?" msgstr "Exécuté en tant que propriétaire ?" -#: describe.c:6621 +#: describe.c:6599 +msgid "Failover" +msgstr "Failover" + +#: describe.c:6604 msgid "Synchronous commit" msgstr "Validation synchrone" -#: describe.c:6622 +#: describe.c:6605 msgid "Conninfo" msgstr "Informations de connexion" -#: describe.c:6628 +#: describe.c:6611 msgid "Skip LSN" msgstr "Ignore LSN" -#: describe.c:6655 +#: describe.c:6637 msgid "List of subscriptions" msgstr "Liste des souscriptions" -#: describe.c:6717 describe.c:6813 describe.c:6906 describe.c:7001 +#: describe.c:6666 +msgid "(none)" +msgstr "(aucun)" + +#: describe.c:6706 describe.c:6801 describe.c:6893 describe.c:6987 msgid "AM" msgstr "AM" -#: describe.c:6718 +#: describe.c:6707 msgid "Input type" msgstr "Type en entrée" -#: describe.c:6719 +#: describe.c:6708 msgid "Storage type" msgstr "Type de stockage" -#: describe.c:6720 +#: describe.c:6709 msgid "Operator class" msgstr "Classe d'opérateur" -#: describe.c:6732 describe.c:6814 describe.c:6907 describe.c:7002 +#: describe.c:6721 describe.c:6802 describe.c:6894 describe.c:6988 msgid "Operator family" msgstr "Famille d'opérateur" -#: describe.c:6768 +#: describe.c:6756 msgid "List of operator classes" msgstr "Liste des classes d'opérateurs" -#: describe.c:6815 +#: describe.c:6803 msgid "Applicable types" msgstr "Types applicables" -#: describe.c:6857 +#: describe.c:6844 msgid "List of operator families" msgstr "Liste des familles d'opérateurs" -#: describe.c:6908 +#: describe.c:6895 msgid "Operator" msgstr "Opérateur" -#: describe.c:6909 +#: describe.c:6896 msgid "Strategy" msgstr "Stratégie" -#: describe.c:6910 +#: describe.c:6897 msgid "ordering" msgstr "ordre" -#: describe.c:6911 +#: describe.c:6898 msgid "search" msgstr "recherche" -#: describe.c:6912 +#: describe.c:6899 msgid "Purpose" msgstr "But" -#: describe.c:6917 +#: describe.c:6904 msgid "Sort opfamily" msgstr "Tri famille d'opérateur" -#: describe.c:6956 +#: describe.c:6942 msgid "List of operators of operator families" msgstr "Liste d'opérateurs des familles d'opérateurs" -#: describe.c:7003 +#: describe.c:6989 msgid "Registered left type" msgstr "Type de l'arg. gauche enregistré" -#: describe.c:7004 +#: describe.c:6990 msgid "Registered right type" msgstr "Type de l'arg. droit enregistré" -#: describe.c:7005 +#: describe.c:6991 msgid "Number" msgstr "Numéro" -#: describe.c:7049 +#: describe.c:7034 msgid "List of support functions of operator families" msgstr "Liste des fonctions de support des familles d'opérateurs" -#: describe.c:7080 +#: describe.c:7065 msgid "ID" msgstr "ID" -#: describe.c:7101 +#: describe.c:7085 msgid "Large objects" msgstr "« Large objects »" -#: help.c:75 +#: help.c:63 msgid "" "psql is the PostgreSQL interactive terminal.\n" "\n" @@ -2480,11 +2533,11 @@ msgstr "" "psql est l'interface interactive de PostgreSQL.\n" "\n" -#: help.c:76 help.c:395 help.c:479 help.c:522 +#: help.c:64 help.c:372 help.c:456 help.c:499 msgid "Usage:\n" msgstr "Usage :\n" -#: help.c:77 +#: help.c:65 msgid "" " psql [OPTION]... [DBNAME [USERNAME]]\n" "\n" @@ -2492,32 +2545,29 @@ msgstr "" " psql [OPTIONS]... [BASE [UTILISATEUR]]\n" "\n" -#: help.c:79 +#: help.c:67 msgid "General options:\n" msgstr "Options générales :\n" -#: help.c:84 +#: help.c:68 msgid " -c, --command=COMMAND run only single command (SQL or internal) and exit\n" msgstr "" " -c, --command=COMMANDE exécute une commande unique (SQL ou interne), puis\n" " quitte\n" -#: help.c:85 -#, c-format -msgid " -d, --dbname=DBNAME database name to connect to (default: \"%s\")\n" -msgstr "" -" -d, --dbname=BASE indique le nom de la base de données à laquelle se\n" -" connecter (par défaut : « %s »)\n" +#: help.c:69 +msgid " -d, --dbname=DBNAME database name to connect to\n" +msgstr " -d, --dbname=BASE base de données de connexion\n" -#: help.c:87 +#: help.c:70 msgid " -f, --file=FILENAME execute commands from file, then exit\n" msgstr " -f, --file=FICHIER exécute les commandes du fichier, puis quitte\n" -#: help.c:88 +#: help.c:71 msgid " -l, --list list available databases, then exit\n" msgstr " -l, --list affiche les bases de données disponibles, puis quitte\n" -#: help.c:89 +#: help.c:72 msgid "" " -v, --set=, --variable=NAME=VALUE\n" " set psql variable NAME to VALUE\n" @@ -2527,15 +2577,15 @@ msgstr "" " configure la variable psql NOM en VALEUR\n" " (par exemple : -v ON_ERROR_STOP=1)\n" -#: help.c:92 +#: help.c:75 msgid " -V, --version output version information, then exit\n" msgstr " -V, --version affiche la version puis quitte\n" -#: help.c:93 +#: help.c:76 msgid " -X, --no-psqlrc do not read startup file (~/.psqlrc)\n" msgstr " -X, --no-psqlrc ne lit pas le fichier de démarrage (~/.psqlrc)\n" -#: help.c:94 +#: help.c:77 msgid "" " -1 (\"one\"), --single-transaction\n" " execute as a single transaction (if non-interactive)\n" @@ -2544,19 +2594,19 @@ msgstr "" " exécute dans une transaction unique (si non\n" " interactif)\n" -#: help.c:96 +#: help.c:79 msgid " -?, --help[=options] show this help, then exit\n" msgstr " -?, --help[=options] affiche cette aide et quitte\n" -#: help.c:97 +#: help.c:80 msgid " --help=commands list backslash commands, then exit\n" msgstr " --help=commandes liste les méta-commandes, puis quitte\n" -#: help.c:98 +#: help.c:81 msgid " --help=variables list special variables, then exit\n" msgstr " --help=variables liste les variables spéciales, puis quitte\n" -#: help.c:100 +#: help.c:83 msgid "" "\n" "Input and output options:\n" @@ -2564,79 +2614,79 @@ msgstr "" "\n" "Options d'entrée/sortie :\n" -#: help.c:101 +#: help.c:84 msgid " -a, --echo-all echo all input from script\n" msgstr " -a, --echo-all affiche les lignes du script\n" -#: help.c:102 +#: help.c:85 msgid " -b, --echo-errors echo failed commands\n" msgstr " -b, --echo-errors affiche les commandes échouées\n" -#: help.c:103 +#: help.c:86 msgid " -e, --echo-queries echo commands sent to server\n" msgstr " -e, --echo-queries affiche les commandes envoyées au serveur\n" -#: help.c:104 +#: help.c:87 msgid " -E, --echo-hidden display queries that internal commands generate\n" msgstr "" " -E, --echo-hidden affiche les requêtes engendrées par les commandes\n" " internes\n" -#: help.c:105 +#: help.c:88 msgid " -L, --log-file=FILENAME send session log to file\n" msgstr " -L, --log-file=FICHIER envoie les traces dans le fichier\n" -#: help.c:106 +#: help.c:89 msgid " -n, --no-readline disable enhanced command line editing (readline)\n" msgstr "" " -n, --no-readline désactive l'édition avancée de la ligne de commande\n" " (readline)\n" -#: help.c:107 +#: help.c:90 msgid " -o, --output=FILENAME send query results to file (or |pipe)\n" msgstr "" " -o, --output=FICHIER écrit les résultats des requêtes dans un fichier (ou\n" " |tube)\n" -#: help.c:108 +#: help.c:91 msgid " -q, --quiet run quietly (no messages, only query output)\n" msgstr "" " -q, --quiet s'exécute silencieusement (pas de messages, uniquement\n" " le résultat des requêtes)\n" -#: help.c:109 +#: help.c:92 msgid " -s, --single-step single-step mode (confirm each query)\n" msgstr "" " -s, --single-step active le mode étape par étape (confirmation pour\n" " chaque requête)\n" -#: help.c:110 +#: help.c:93 msgid " -S, --single-line single-line mode (end of line terminates SQL command)\n" msgstr "" " -S, --single-line active le mode ligne par ligne (EOL termine la\n" " commande SQL)\n" -#: help.c:112 +#: help.c:95 msgid "" "\n" "Output format options:\n" msgstr "" "\n" -"Options de formattage de la sortie :\n" +"Options de formatage de la sortie :\n" -#: help.c:113 +#: help.c:96 msgid " -A, --no-align unaligned table output mode\n" msgstr "" " -A, --no-align active le mode d'affichage non aligné des tables\n" " (-P format=unaligned)\n" -#: help.c:114 +#: help.c:97 msgid " --csv CSV (Comma-Separated Values) table output mode\n" msgstr "" " --csv mode d'affichage CSV (valeurs séparées par des\n" " virgules)\n" -#: help.c:115 +#: help.c:98 #, c-format msgid "" " -F, --field-separator=STRING\n" @@ -2646,19 +2696,19 @@ msgstr "" " séparateur de champs pour un affichage non aligné\n" " (par défaut : « %s »)\n" -#: help.c:118 +#: help.c:101 msgid " -H, --html HTML table output mode\n" msgstr "" " -H, --html active le mode d'affichage HTML des tables\n" " (-P format=html)\n" -#: help.c:119 +#: help.c:102 msgid " -P, --pset=VAR[=ARG] set printing option VAR to ARG (see \\pset command)\n" msgstr "" " -P, --pset=VAR[=ARG] initialise l'option d'impression VAR à ARG (voir la\n" " commande \\pset)\n" -#: help.c:120 +#: help.c:103 msgid "" " -R, --record-separator=STRING\n" " record separator for unaligned output (default: newline)\n" @@ -2667,21 +2717,21 @@ msgstr "" " séparateur d'enregistrements pour un affichage non\n" " aligné (par défaut : saut de ligne)\n" -#: help.c:122 +#: help.c:105 msgid " -t, --tuples-only print rows only\n" msgstr " -t, --tuples-only affiche seulement les lignes (-P tuples_only)\n" -#: help.c:123 +#: help.c:106 msgid " -T, --table-attr=TEXT set HTML table tag attributes (e.g., width, border)\n" msgstr "" " -T, --table-attr=TEXTE initialise les attributs des balises HTML de tableau\n" " (largeur, bordure)\n" -#: help.c:124 +#: help.c:107 msgid " -x, --expanded turn on expanded table output\n" msgstr " -x, --expanded active l'affichage étendu des tables (-P expanded)\n" -#: help.c:125 +#: help.c:108 msgid "" " -z, --field-separator-zero\n" " set field separator for unaligned output to zero byte\n" @@ -2690,7 +2740,7 @@ msgstr "" " initialise le séparateur de champs pour un affichage\n" " non aligné à l'octet zéro\n" -#: help.c:127 +#: help.c:110 msgid "" " -0, --record-separator-zero\n" " set record separator for unaligned output to zero byte\n" @@ -2699,7 +2749,7 @@ msgstr "" " initialise le séparateur d'enregistrements pour un\n" " affichage non aligné à l'octet zéro\n" -#: help.c:130 +#: help.c:113 msgid "" "\n" "Connection options:\n" @@ -2707,43 +2757,31 @@ msgstr "" "\n" "Options de connexion :\n" -#: help.c:133 -#, c-format -msgid " -h, --host=HOSTNAME database server host or socket directory (default: \"%s\")\n" +#: help.c:114 +msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr "" -" -h, --host=HÔTE nom d'hôte du serveur de la base de données ou\n" -" répertoire de la socket (par défaut : %s)\n" +" -h, --host=HÔTE hôte du serveur de bases de données ou\n" +" répertoire des sockets\n" -#: help.c:134 -msgid "local socket" -msgstr "socket locale" - -#: help.c:137 -#, c-format -msgid " -p, --port=PORT database server port (default: \"%s\")\n" -msgstr "" -" -p, --port=PORT port du serveur de la base de données (par défaut :\n" -" « %s »)\n" +#: help.c:115 +msgid " -p, --port=PORT database server port\n" +msgstr " -p, --port=PORT port du serveur de bases de données\n" -#: help.c:140 -#, c-format -msgid " -U, --username=USERNAME database user name (default: \"%s\")\n" -msgstr "" -" -U, --username=UTILISATEUR\n" -" nom d'utilisateur de la base de données (par\n" -" défaut : « %s »)\n" +#: help.c:116 +msgid " -U, --username=USERNAME database user name\n" +msgstr " -U, --username=NOM nom de l'utilisateur de la base de données\n" -#: help.c:142 +#: help.c:117 msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password ne demande jamais un mot de passe\n" -#: help.c:143 +#: help.c:118 msgid " -W, --password force password prompt (should happen automatically)\n" msgstr "" " -W, --password force la demande du mot de passe (devrait survenir\n" " automatiquement)\n" -#: help.c:145 +#: help.c:120 msgid "" "\n" "For more information, type \"\\?\" (for internal commands) or \"\\help\" (for SQL\n" @@ -2757,39 +2795,39 @@ msgstr "" "la documentation de PostgreSQL.\n" "\n" -#: help.c:148 +#: help.c:123 #, c-format msgid "Report bugs to <%s>.\n" msgstr "Rapporter les bogues à <%s>.\n" -#: help.c:149 +#: help.c:124 #, c-format msgid "%s home page: <%s>\n" msgstr "Page d'accueil de %s : <%s>\n" -#: help.c:191 +#: help.c:166 msgid "General\n" msgstr "Général\n" -#: help.c:192 +#: help.c:167 msgid " \\bind [PARAM]... set query parameters\n" msgstr " \\bind [PARAM]... configure les paramètres de la requête\n" -#: help.c:193 +#: help.c:168 msgid " \\copyright show PostgreSQL usage and distribution terms\n" msgstr "" " \\copyright affiche les conditions d'utilisation et de\n" " distribution de PostgreSQL\n" -#: help.c:194 +#: help.c:169 msgid " \\crosstabview [COLUMNS] execute query and display result in crosstab\n" msgstr " \\crosstabview [COLONNES] exécute la requête et affiche le résultat dans un tableau croisé\n" -#: help.c:195 +#: help.c:170 msgid " \\errverbose show most recent error message at maximum verbosity\n" msgstr " \\errverbose affiche le message d'erreur le plus récent avec une verbosité maximale\n" -#: help.c:196 +#: help.c:171 msgid "" " \\g [(OPTIONS)] [FILE] execute query (and send result to file or |pipe);\n" " \\g with no arguments is equivalent to a semicolon\n" @@ -2797,252 +2835,258 @@ msgstr "" " \\g [(OPTIONS)] [FICHIER] exécute la requête (et envoie les résultats à un fichier ou à |pipe);\n" " \\g sans arguments est équivalent à un point-virgule\n" -#: help.c:198 +#: help.c:173 msgid " \\gdesc describe result of query, without executing it\n" msgstr " \\gdesc décrit le résultat de la requête sans l'exécuter\n" -#: help.c:199 +#: help.c:174 msgid " \\gexec execute query, then execute each value in its result\n" msgstr " \\gexec exécute la requête et exécute chaque valeur du résultat\n" -#: help.c:200 +#: help.c:175 msgid " \\gset [PREFIX] execute query and store result in psql variables\n" msgstr " \\gset [PRÉFIXE] exécute la requête et enregistre le résultat dans des variables psql\n" -#: help.c:201 +#: help.c:176 msgid " \\gx [(OPTIONS)] [FILE] as \\g, but forces expanded output mode\n" msgstr " \\gx [(OPTIONS)] [FICHIER] comme \\g, mais force le mode de sortie étendu\n" -#: help.c:202 +#: help.c:177 msgid " \\q quit psql\n" msgstr " \\q quitte psql\n" -#: help.c:203 -msgid " \\watch [[i=]SEC] [c=N] execute query every SEC seconds, up to N times\n" -msgstr " \\watch [[i=]SEC] [c=N] exécute la requête toutes les SEC secondes, jusqu'à N fois\n" +#: help.c:178 +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" +msgstr "" +" \\watch [[i=]SEC] [c=N] [m=MIN]\n" +" exécute la requête chaque SEC secondes, jusqu'à N fois,\n" +" s'arrête si moins de MIN lignes sont renvoyés\n" -#: help.c:204 help.c:212 help.c:224 help.c:234 help.c:241 help.c:298 help.c:306 -#: help.c:326 help.c:339 help.c:348 +#: 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 msgid "\n" msgstr "\n" -#: help.c:206 +#: help.c:183 msgid "Help\n" msgstr "Aide\n" -#: help.c:208 +#: help.c:185 msgid " \\? [commands] show help on backslash commands\n" msgstr " \\? [commandes] affiche l'aide sur les métacommandes\n" -#: help.c:209 +#: help.c:186 msgid " \\? options show help on psql command-line options\n" msgstr " \\? options affiche l'aide sur les options en ligne de commande de psql\n" -#: help.c:210 +#: help.c:187 msgid " \\? variables show help on special variables\n" msgstr " \\? variables affiche l'aide sur les variables spéciales\n" -#: help.c:211 +#: help.c:188 msgid " \\h [NAME] help on syntax of SQL commands, * for all commands\n" msgstr "" " \\h [NOM] aide-mémoire pour les commandes SQL, * pour toutes\n" " les commandes\n" -#: help.c:214 +#: help.c:191 msgid "Query Buffer\n" msgstr "Tampon de requête\n" -#: help.c:215 +#: help.c:192 msgid " \\e [FILE] [LINE] edit the query buffer (or file) with external editor\n" msgstr "" " \\e [FICHIER] [LIGNE] édite le tampon de requête ou le fichier avec un\n" " éditeur externe\n" -#: help.c:216 +#: help.c:193 msgid " \\ef [FUNCNAME [LINE]] edit function definition with external editor\n" msgstr "" " \\ef [FONCTION [LIGNE]] édite la définition de fonction avec un éditeur\n" " externe\n" -#: help.c:217 +#: help.c:194 msgid " \\ev [VIEWNAME [LINE]] edit view definition with external editor\n" msgstr "" " \\ev [VUE [LIGNE]] édite la définition de vue avec un éditeur\n" " externe\n" -#: help.c:218 +#: help.c:195 msgid " \\p show the contents of the query buffer\n" msgstr " \\p affiche le contenu du tampon de requête\n" -#: help.c:219 +#: help.c:196 msgid " \\r reset (clear) the query buffer\n" msgstr " \\r efface le tampon de requêtes\n" -#: help.c:221 +#: help.c:198 msgid " \\s [FILE] display history or save it to file\n" msgstr "" " \\s [FICHIER] affiche l'historique ou le sauvegarde dans un\n" " fichier\n" -#: help.c:223 +#: help.c:200 msgid " \\w FILE write query buffer to file\n" msgstr "" " \\w [FICHIER] écrit le contenu du tampon de requêtes dans un\n" " fichier\n" -#: help.c:226 +#: help.c:203 msgid "Input/Output\n" msgstr "Entrée/Sortie\n" -#: help.c:227 +#: help.c:204 msgid " \\copy ... perform SQL COPY with data stream to the client host\n" msgstr "" " \\copy ... exécute SQL COPY avec le flux de données dirigé vers\n" " l'hôte client\n" -#: help.c:228 +#: help.c:205 msgid " \\echo [-n] [STRING] write string to standard output (-n for no newline)\n" msgstr " \\echo [-n] [TEXTE] écrit le texte sur la sortie standard (-n pour supprimer le retour à la ligne)\n" -#: help.c:229 +#: help.c:206 msgid " \\i FILE execute commands from file\n" msgstr " \\i FICHIER exécute les commandes du fichier\n" -#: help.c:230 +#: help.c:207 msgid " \\ir FILE as \\i, but relative to location of current script\n" msgstr "" " \\ir FICHIER identique à \\i, mais relatif à l'emplacement du script\n" " ou un |tube\n" -#: help.c:231 +#: help.c:208 msgid " \\o [FILE] send all query results to file or |pipe\n" msgstr "" " \\o [FICHIER] envoie les résultats de la requête vers un fichier\n" " ou un |tube\n" -#: help.c:232 +#: help.c:209 msgid " \\qecho [-n] [STRING] write string to \\o output stream (-n for no newline)\n" msgstr "" " \\qecho [-n] [TEXTE] écrit un texte sur la sortie des résultats des\n" " requêtes (\\o) (-n pour supprimer le retour à la ligne)\n" -#: help.c:233 +#: help.c:210 msgid " \\warn [-n] [STRING] write string to standard error (-n for no newline)\n" msgstr " \\warn [-n] [TEXTE] écrit le texte sur la sortie des erreurs (-n pour supprimer le retour à la ligne)\n" -#: help.c:236 +#: help.c:213 msgid "Conditional\n" msgstr "Conditionnel\n" -#: help.c:237 +#: help.c:214 msgid " \\if EXPR begin conditional block\n" msgstr " \\if EXPR début du bloc conditionnel\n" -#: help.c:238 +#: help.c:215 msgid " \\elif EXPR alternative within current conditional block\n" msgstr " \\elif alternative à l'intérieur du bloc conditionnel courant\n" -#: help.c:239 +#: help.c:216 msgid " \\else final alternative within current conditional block\n" msgstr " \\else alternative finale à l'intérieur du bloc conditionnel courant\n" -#: help.c:240 +#: help.c:217 msgid " \\endif end conditional block\n" msgstr " \\endif bloc conditionnel de fin\n" -#: help.c:243 +#: help.c:220 msgid "Informational\n" msgstr "Informations\n" -#: help.c:244 +#: help.c:221 msgid " (options: S = show system objects, + = additional detail)\n" msgstr " (options : S = affiche les objets systèmes, + = informations supplémentaires)\n" -#: help.c:245 +#: help.c:222 msgid " \\d[S+] list tables, views, and sequences\n" msgstr " \\d[S+] affiche la liste des tables, vues et séquences\n" -#: help.c:246 +#: help.c:223 msgid " \\d[S+] NAME describe table, view, sequence, or index\n" msgstr "" " \\d[S+] NOM affiche la description de la table, de la vue,\n" " de la séquence ou de l'index\n" -#: help.c:247 +#: help.c:224 msgid " \\da[S] [PATTERN] list aggregates\n" -msgstr " \\da[S] [MODÈLE] affiche les aggrégats\n" +msgstr " \\da[S] [MODÈLE] affiche les agrégats\n" -#: help.c:248 +#: help.c:225 msgid " \\dA[+] [PATTERN] list access methods\n" msgstr " \\dA[+] [MODÈLE] affiche la liste des méthodes d'accès\n" -#: help.c:249 +#: help.c:226 msgid " \\dAc[+] [AMPTRN [TYPEPTRN]] list operator classes\n" msgstr " \\dAc[+] [AMPTRN [TYPEPTRN]] affiche les classes d'opérateurs\n" -#: help.c:250 +#: help.c:227 msgid " \\dAf[+] [AMPTRN [TYPEPTRN]] list operator families\n" msgstr " \\dAf[+] [AMPTRN [TYPEPTRN]] affiche les familles d'opérateur\n" -#: help.c:251 +#: help.c:228 msgid " \\dAo[+] [AMPTRN [OPFPTRN]] list operators of operator families\n" msgstr " \\dAo[+] [AMPTRN [OPFPTRN]] affiche les opérateurs des familles d'opérateur\n" -#: help.c:252 +#: help.c:229 msgid " \\dAp[+] [AMPTRN [OPFPTRN]] list support functions of operator families\n" msgstr " \\dAp[+] [AMPTRN [OPFPTRN]] liste les fonctions de support des familles d'opérateur\n" -#: help.c:253 +#: help.c:230 msgid " \\db[+] [PATTERN] list tablespaces\n" msgstr " \\db[+] [MODÈLE] affiche la liste des tablespaces\n" -#: help.c:254 +#: help.c:231 msgid " \\dc[S+] [PATTERN] list conversions\n" msgstr " \\dc[S+] [MODÈLE] affiche la liste des conversions\n" -#: help.c:255 +#: help.c:232 msgid " \\dconfig[+] [PATTERN] list configuration parameters\n" msgstr " \\dconfig[+] [MODÈLE] affiche les paramètres de configuration\n" -#: help.c:256 +#: help.c:233 msgid " \\dC[+] [PATTERN] list casts\n" msgstr " \\dC[+] [MODÈLE] affiche la liste des transtypages\n" -#: help.c:257 +#: help.c:234 msgid " \\dd[S] [PATTERN] show object descriptions not displayed elsewhere\n" msgstr "" " \\dd[S] [MODÈLE] affiche les commentaires des objets dont le commentaire\n" " n'est affiché nul part ailleurs\n" -#: help.c:258 +#: help.c:235 msgid " \\dD[S+] [PATTERN] list domains\n" msgstr " \\dD[S+] [MODÈLE] affiche la liste des domaines\n" -#: help.c:259 +#: help.c:236 msgid " \\ddp [PATTERN] list default privileges\n" msgstr " \\ddp [MODÈLE] affiche les droits par défaut\n" -#: help.c:260 +#: help.c:237 msgid " \\dE[S+] [PATTERN] list foreign tables\n" msgstr " \\dE[S+] [MODÈLE] affiche la liste des tables distantes\n" -#: help.c:261 +#: help.c:238 msgid " \\des[+] [PATTERN] list foreign servers\n" msgstr " \\des[+] [MODÈLE] affiche la liste des serveurs distants\n" -#: help.c:262 +#: help.c:239 msgid " \\det[+] [PATTERN] list foreign tables\n" msgstr " \\det[+] [MODÈLE] affiche la liste des tables distantes\n" -#: help.c:263 +#: help.c:240 msgid " \\deu[+] [PATTERN] list user mappings\n" msgstr " \\deu[+] [MODÈLE] affiche la liste des correspondances utilisateurs\n" -#: help.c:264 +#: help.c:241 msgid " \\dew[+] [PATTERN] list foreign-data wrappers\n" msgstr " \\dew[+] [MODÈLE] affiche la liste des wrappers de données distantes\n" -#: help.c:265 +#: help.c:242 msgid "" " \\df[anptw][S+] [FUNCPTRN [TYPEPTRN ...]]\n" " list [only agg/normal/procedure/trigger/window] functions\n" @@ -3050,55 +3094,55 @@ msgstr "" " \\df[anptw][S+] [FUNCPTRN [TYPEPTRN ...]]\n" " affiche la liste des fonctions [seulement agrégat/normal/procédure/trigger/window]\n" -#: help.c:267 +#: help.c:244 msgid " \\dF[+] [PATTERN] list text search configurations\n" msgstr "" " \\dF[+] [MODÈLE] affiche la liste des configurations de la recherche\n" " plein texte\n" -#: help.c:268 +#: help.c:245 msgid " \\dFd[+] [PATTERN] list text search dictionaries\n" msgstr "" " \\dFd[+] [MODÈLE] affiche la liste des dictionnaires de la recherche de\n" " texte\n" -#: help.c:269 +#: help.c:246 msgid " \\dFp[+] [PATTERN] list text search parsers\n" msgstr "" " \\dFp[+] [MODÈLE] affiche la liste des analyseurs de la recherche de\n" " texte\n" -#: help.c:270 +#: help.c:247 msgid " \\dFt[+] [PATTERN] list text search templates\n" msgstr "" " \\dFt[+] [MODÈLE] affiche la liste des modèles de la recherche de\n" " texte\n" -#: help.c:271 +#: help.c:248 msgid " \\dg[S+] [PATTERN] list roles\n" msgstr " \\dg[S+] [MODÈLE] affiche la liste des rôles (utilisateurs)\n" -#: help.c:272 +#: help.c:249 msgid " \\di[S+] [PATTERN] list indexes\n" msgstr " \\di[S+] [MODÈLE] affiche la liste des index\n" -#: help.c:273 +#: help.c:250 msgid " \\dl[+] list large objects, same as \\lo_list\n" msgstr " \\dl[+] liste des « Large Objects », identique à \\lo_list\n" -#: help.c:274 +#: help.c:251 msgid " \\dL[S+] [PATTERN] list procedural languages\n" msgstr " \\dL[S+] [MODÈLE] affiche la liste des langages procéduraux\n" -#: help.c:275 +#: help.c:252 msgid " \\dm[S+] [PATTERN] list materialized views\n" msgstr " \\dm[S+] [MODÈLE] affiche la liste des vues matérialisées\n" -#: help.c:276 +#: help.c:253 msgid " \\dn[S+] [PATTERN] list schemas\n" msgstr " \\dn[S+] [MODÈLE] affiche la liste des schémas\n" -#: help.c:277 +#: help.c:254 msgid "" " \\do[S+] [OPPTRN [TYPEPTRN [TYPEPTRN]]]\n" " list operators\n" @@ -3106,97 +3150,97 @@ msgstr "" " \\do[S+] [OPPTRN [TYPEPTRN [TYPEPTRN]]]\n" " affiche la liste des opérateurs\n" -#: help.c:279 +#: help.c:256 msgid " \\dO[S+] [PATTERN] list collations\n" msgstr " \\dO[S+] [MODÈLE] affiche la liste des collationnements\n" -#: help.c:280 +#: help.c:257 msgid " \\dp[S] [PATTERN] list table, view, and sequence access privileges\n" msgstr "" " \\dp[S] [MODÈLE] affiche la liste des droits d'accès aux tables,\n" " vues, séquences\n" -#: help.c:281 +#: help.c:258 msgid " \\dP[itn+] [PATTERN] list [only index/table] partitioned relations [n=nested]\n" msgstr " \\dP[itn+] [PATTERN] affiche les relations partitionnées [seulement index/table] [n=imbriquées]\n" -#: help.c:282 +#: help.c:259 msgid " \\drds [ROLEPTRN [DBPTRN]] list per-database role settings\n" msgstr "" " \\drds [ROLEPTRN [DBPTRN]] liste la configuration utilisateur par base de données\n" "\n" -#: help.c:283 +#: help.c:260 msgid " \\drg[S] [PATTERN] list role grants\n" msgstr " \\dg[S] [MODÈLE] affiche la liste des droits des rôles\n" -#: help.c:284 +#: help.c:261 msgid " \\dRp[+] [PATTERN] list replication publications\n" msgstr " \\dRp[S+] [MODÈLE] affiche la liste des publications de réplication\n" -#: help.c:285 +#: help.c:262 msgid " \\dRs[+] [PATTERN] list replication subscriptions\n" msgstr " \\dRs[+] [MODÈLE] affiche la liste des souscriptions de réplication\n" -#: help.c:286 +#: help.c:263 msgid " \\ds[S+] [PATTERN] list sequences\n" msgstr " \\ds[S+] [MODÈLE] affiche la liste des séquences\n" -#: help.c:287 +#: help.c:264 msgid " \\dt[S+] [PATTERN] list tables\n" msgstr " \\dt[S+] [MODÈLE] affiche la liste des tables\n" -#: help.c:288 +#: help.c:265 msgid " \\dT[S+] [PATTERN] list data types\n" msgstr " \\dT[S+] [MODÈLE] affiche la liste des types de données\n" -#: help.c:289 +#: help.c:266 msgid " \\du[S+] [PATTERN] list roles\n" msgstr " \\du[S+] [MODÈLE] affiche la liste des rôles (utilisateurs)\n" -#: help.c:290 +#: help.c:267 msgid " \\dv[S+] [PATTERN] list views\n" msgstr " \\dv[S+] [MODÈLE] affiche la liste des vues\n" -#: help.c:291 +#: help.c:268 msgid " \\dx[+] [PATTERN] list extensions\n" msgstr " \\dx[+] [MODÈLE] affiche la liste des extensions\n" -#: help.c:292 +#: help.c:269 msgid " \\dX [PATTERN] list extended statistics\n" msgstr " \\dX [MODÈLE] affiche les statistiques étendues\n" -#: help.c:293 +#: help.c:270 msgid " \\dy[+] [PATTERN] list event triggers\n" msgstr " \\dy[+] [MODÈLE] affiche les triggers sur évènement\n" -#: help.c:294 +#: help.c:271 msgid " \\l[+] [PATTERN] list databases\n" msgstr " \\l[+] [MODÈLE] affiche la liste des bases de données\n" -#: help.c:295 +#: help.c:272 msgid " \\sf[+] FUNCNAME show a function's definition\n" msgstr " \\sf[+] [FONCTION] édite la définition d'une fonction\n" -#: help.c:296 +#: help.c:273 msgid " \\sv[+] VIEWNAME show a view's definition\n" msgstr " \\sv [FONCTION] édite la définition d'une vue\n" -#: help.c:297 +#: help.c:274 msgid " \\z[S] [PATTERN] same as \\dp\n" msgstr " \\z[S] [MODÈLE] identique à \\dp\n" -#: help.c:300 +#: help.c:277 msgid "Large Objects\n" msgstr "« Large objects »\n" -#: help.c:301 +#: help.c:278 msgid " \\lo_export LOBOID FILE write large object to file\n" msgstr "" " \\lo_export LOBOID FICHIER\n" " écrit un « Large Object » dans le fichier\n" -#: help.c:302 +#: help.c:279 msgid "" " \\lo_import FILE [COMMENT]\n" " read large object from file\n" @@ -3204,42 +3248,42 @@ msgstr "" " \\lo_import FICHIER [COMMENTAIRE]\n" " lit un « Large Object » à partir du fichier\n" -#: help.c:304 +#: help.c:281 msgid " \\lo_list[+] list large objects\n" msgstr " \\dl[+] liste des « Large Objects »\n" -#: help.c:305 +#: help.c:282 msgid " \\lo_unlink LOBOID delete a large object\n" msgstr " \\lo_unlink LOBOID supprime un « Large Object »\n" -#: help.c:308 +#: help.c:285 msgid "Formatting\n" msgstr "Formatage\n" -#: help.c:309 +#: help.c:286 msgid " \\a toggle between unaligned and aligned output mode\n" msgstr "" " \\a bascule entre les modes de sortie alignée et non\n" " alignée\n" -#: help.c:310 +#: help.c:287 msgid " \\C [STRING] set table title, or unset if none\n" msgstr "" " \\C [CHAÎNE] initialise le titre d'une table, ou le désactive en\n" " l'absence d'argument\n" -#: help.c:311 +#: help.c:288 msgid " \\f [STRING] show or set field separator for unaligned query output\n" msgstr "" " \\f [CHAÎNE] affiche ou initialise le séparateur de champ pour\n" " une sortie non alignée des requêtes\n" -#: help.c:312 +#: help.c:289 #, c-format msgid " \\H toggle HTML output mode (currently %s)\n" msgstr " \\H bascule le mode de sortie HTML (actuellement %s)\n" -#: help.c:314 +#: help.c:291 msgid "" " \\pset [NAME [VALUE]] set table output option\n" " (border|columns|csv_fieldsep|expanded|fieldsep|\n" @@ -3257,31 +3301,31 @@ msgstr "" " unicode_border_linestyle|unicode_column_linestyle|\n" " unicode_header_linestyle)\n" -#: help.c:321 +#: help.c:298 #, c-format msgid " \\t [on|off] show only rows (currently %s)\n" msgstr " \\t affiche uniquement les lignes (actuellement %s)\n" -#: help.c:323 +#: help.c:300 msgid " \\T [STRING] set HTML
tag attributes, or unset if none\n" msgstr "" " \\T [CHAÎNE] initialise les attributs HTML de la balise
,\n" " ou l'annule en l'absence d'argument\n" -#: help.c:324 +#: help.c:301 #, c-format msgid " \\x [on|off|auto] toggle expanded output (currently %s)\n" msgstr " \\x [on|off|auto] bascule l'affichage étendu (actuellement %s)\n" -#: help.c:325 +#: help.c:302 msgid "auto" msgstr "auto" -#: help.c:328 +#: help.c:305 msgid "Connection\n" msgstr "Connexions\n" -#: help.c:330 +#: help.c:307 #, c-format msgid "" " \\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}\n" @@ -3291,7 +3335,7 @@ msgstr "" " se connecte à une autre base de données\n" " (actuellement « %s »)\n" -#: help.c:334 +#: help.c:311 msgid "" " \\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}\n" " connect to new database (currently no connection)\n" @@ -3300,71 +3344,71 @@ msgstr "" " se connecte à une nouvelle base de données\n" " (aucune connexion actuellement)\n" -#: help.c:336 +#: help.c:313 msgid " \\conninfo display information about current connection\n" msgstr " \\conninfo affiche des informations sur la connexion en cours\n" -#: help.c:337 +#: help.c:314 msgid " \\encoding [ENCODING] show or set client encoding\n" msgstr " \\encoding [ENCODAGE] affiche ou initialise l'encodage du client\n" -#: help.c:338 +#: help.c:315 msgid " \\password [USERNAME] securely change the password for a user\n" msgstr "" " \\password [UTILISATEUR]\n" " modifie de façon sécurisé le mot de passe d'un\n" " utilisateur\n" -#: help.c:341 +#: help.c:318 msgid "Operating System\n" msgstr "Système d'exploitation\n" -#: help.c:342 +#: help.c:319 msgid " \\cd [DIR] change the current working directory\n" msgstr " \\cd [RÉPERTOIRE] change de répertoire de travail\n" -#: help.c:343 +#: help.c:320 msgid " \\getenv PSQLVAR ENVVAR fetch environment variable\n" msgstr " \\getenv PSQLVAR ENVVAR récupère une variable d'environnement\n" -#: help.c:344 +#: help.c:321 msgid " \\setenv NAME [VALUE] set or unset environment variable\n" msgstr " \\setenv NOM [VALEUR] (dés)initialise une variable d'environnement\n" -#: help.c:345 +#: help.c:322 #, c-format msgid " \\timing [on|off] toggle timing of commands (currently %s)\n" msgstr "" " \\timing [on|off] bascule l'activation du chronométrage des commandes\n" " (actuellement %s)\n" -#: help.c:347 +#: help.c:324 msgid " \\! [COMMAND] execute command in shell or start interactive shell\n" msgstr "" " \\! [COMMANDE] exécute la commande dans un shell ou exécute un\n" " shell interactif\n" -#: help.c:350 +#: help.c:327 msgid "Variables\n" msgstr "Variables\n" -#: help.c:351 +#: help.c:328 msgid " \\prompt [TEXT] NAME prompt user to set internal variable\n" msgstr "" " \\prompt [TEXTE] NOM demande à l'utilisateur de configurer la variable\n" " interne\n" -#: help.c:352 +#: help.c:329 msgid " \\set [NAME [VALUE]] set internal variable, or list all if no parameters\n" msgstr "" " \\set [NOM [VALEUR]] initialise une variable interne ou les affiche\n" " toutes en l'absence de paramètre\n" -#: help.c:353 +#: help.c:330 msgid " \\unset NAME unset (delete) internal variable\n" msgstr " \\unset NOM désactive (supprime) la variable interne\n" -#: help.c:392 +#: help.c:369 msgid "" "List of specially treated variables\n" "\n" @@ -3372,11 +3416,11 @@ msgstr "" "Liste des variables traitées spécialement\n" "\n" -#: help.c:394 +#: help.c:371 msgid "psql variables:\n" msgstr "variables psql :\n" -#: help.c:396 +#: help.c:373 msgid "" " psql --set=NAME=VALUE\n" " or \\set NAME VALUE inside psql\n" @@ -3386,7 +3430,7 @@ msgstr "" " ou \\set NOM VALEUR dans psql\n" "\n" -#: help.c:398 +#: help.c:375 msgid "" " AUTOCOMMIT\n" " if set, successful SQL commands are automatically committed\n" @@ -3394,7 +3438,7 @@ msgstr "" " AUTOCOMMIT\n" " si activé, les commandes SQL réussies sont automatiquement validées\n" -#: help.c:400 +#: help.c:377 msgid "" " COMP_KEYWORD_CASE\n" " determines the case used to complete SQL key words\n" @@ -3404,7 +3448,7 @@ msgstr "" " détermine la casse utilisée pour compléter les mots clés SQL\n" " [lower, upper, preserve-lower, preserve-upper]\n" -#: help.c:403 +#: help.c:380 msgid "" " DBNAME\n" " the currently connected database name\n" @@ -3412,7 +3456,7 @@ msgstr "" " DBNAME\n" " le nom de base de données actuel\n" -#: help.c:405 +#: help.c:382 msgid "" " ECHO\n" " controls what input is written to standard output\n" @@ -3422,7 +3466,7 @@ msgstr "" " contrôle ce qui est envoyé sur la sortie standard\n" " [all, errors, none, queries]\n" -#: help.c:408 +#: help.c:385 msgid "" " ECHO_HIDDEN\n" " if set, display internal queries executed by backslash commands;\n" @@ -3432,7 +3476,7 @@ msgstr "" " si activé, affiche les requêtes internes exécutées par les méta-commandes ;\n" " si configuré à « noexec », affiche les requêtes sans les exécuter\n" -#: help.c:411 +#: help.c:388 msgid "" " ENCODING\n" " current client character set encoding\n" @@ -3440,7 +3484,7 @@ msgstr "" " ENCODING\n" " encodage du jeu de caractères client\n" -#: help.c:413 +#: help.c:390 msgid "" " ERROR\n" " \"true\" if last query failed, else \"false\"\n" @@ -3448,7 +3492,7 @@ msgstr "" " ERROR\n" " true si la dernière requête a échoué, sinon false\n" -#: help.c:415 +#: help.c:392 msgid "" " FETCH_COUNT\n" " the number of result rows to fetch and display at a time (0 = unlimited)\n" @@ -3457,7 +3501,7 @@ msgstr "" " le nombre de lignes résultats à récupérer et à afficher à la fois\n" " (0 pour illimité)\n" -#: help.c:417 +#: help.c:394 msgid "" " HIDE_TABLEAM\n" " if set, table access methods are not displayed\n" @@ -3465,7 +3509,7 @@ msgstr "" " HIDE_TABLEAM\n" " si activé, les méthodes d'accès ne sont pas affichées\n" -#: help.c:419 +#: help.c:396 msgid "" " HIDE_TOAST_COMPRESSION\n" " if set, compression methods are not displayed\n" @@ -3473,7 +3517,7 @@ msgstr "" " HIDE_TOAST_COMPRESSION\n" " si activé, les méthodes de compression methods ne sont pas affichées\n" -#: help.c:421 +#: help.c:398 msgid "" " HISTCONTROL\n" " controls command history [ignorespace, ignoredups, ignoreboth]\n" @@ -3481,7 +3525,7 @@ msgstr "" " HISTCONTROL\n" " contrôle l'historique des commandes [ignorespace, ignoredups, ignoreboth]\n" -#: help.c:423 +#: help.c:400 msgid "" " HISTFILE\n" " file name used to store the command history\n" @@ -3489,7 +3533,7 @@ msgstr "" " HISTFILE\n" " nom du fichier utilisé pour stocker l'historique des commandes\n" -#: help.c:425 +#: help.c:402 msgid "" " HISTSIZE\n" " maximum number of commands to store in the command history\n" @@ -3497,7 +3541,7 @@ msgstr "" " HISTSIZE\n" " nombre maximum de commandes à stocker dans l'historique de commandes\n" -#: help.c:427 +#: help.c:404 msgid "" " HOST\n" " the currently connected database server host\n" @@ -3505,7 +3549,7 @@ msgstr "" " HOST\n" " l'hôte de la base de données\n" -#: help.c:429 +#: help.c:406 msgid "" " IGNOREEOF\n" " number of EOFs needed to terminate an interactive session\n" @@ -3513,7 +3557,7 @@ msgstr "" " IGNOREEOF\n" " nombre d'EOF nécessaire pour terminer une session interactive\n" -#: help.c:431 +#: help.c:408 msgid "" " LASTOID\n" " value of the last affected OID\n" @@ -3521,7 +3565,7 @@ msgstr "" " LASTOID\n" " valeur du dernier OID affecté\n" -#: help.c:433 +#: help.c:410 msgid "" " LAST_ERROR_MESSAGE\n" " LAST_ERROR_SQLSTATE\n" @@ -3531,7 +3575,7 @@ msgstr "" " LAST_ERROR_SQLSTATE\n" " message et SQLSTATE de la dernière erreur ou une chaîne vide et \"00000\" if si aucune erreur\n" -#: help.c:436 +#: help.c:413 msgid "" " ON_ERROR_ROLLBACK\n" " if set, an error doesn't stop a transaction (uses implicit savepoints)\n" @@ -3539,7 +3583,7 @@ msgstr "" " ON_ERROR_ROLLBACK\n" " si activé, une erreur n'arrête pas une transaction (utilise des savepoints implicites)\n" -#: help.c:438 +#: help.c:415 msgid "" " ON_ERROR_STOP\n" " stop batch execution after error\n" @@ -3547,7 +3591,7 @@ msgstr "" " ON_ERROR_STOP\n" " arrête l'exécution d'un batch après une erreur\n" -#: help.c:440 +#: help.c:417 msgid "" " PORT\n" " server port of the current connection\n" @@ -3555,7 +3599,7 @@ msgstr "" " PORT\n" " port du serveur pour la connexion actuelle\n" -#: help.c:442 +#: help.c:419 msgid "" " PROMPT1\n" " specifies the standard psql prompt\n" @@ -3563,7 +3607,7 @@ msgstr "" " PROMPT1\n" " spécifie l'invite standard de psql\n" -#: help.c:444 +#: help.c:421 msgid "" " PROMPT2\n" " specifies the prompt used when a statement continues from a previous line\n" @@ -3571,7 +3615,7 @@ msgstr "" " PROMPT2\n" " spécifie l'invite utilisé quand une requête continue après la ligne courante\n" -#: help.c:446 +#: help.c:423 msgid "" " PROMPT3\n" " specifies the prompt used during COPY ... FROM STDIN\n" @@ -3579,7 +3623,7 @@ msgstr "" " PROMPT3\n" " spécifie l'invite utilisée lors d'un COPY ... FROM STDIN\n" -#: help.c:448 +#: help.c:425 msgid "" " QUIET\n" " run quietly (same as -q option)\n" @@ -3587,7 +3631,7 @@ msgstr "" " QUIET\n" " s'exécute en silence (identique à l'option -q)\n" -#: help.c:450 +#: help.c:427 msgid "" " ROW_COUNT\n" " number of rows returned or affected by last query, or 0\n" @@ -3595,7 +3639,7 @@ msgstr "" " ROW_COUNT\n" " nombre de lignes renvoyées ou affectées par la dernière requête, ou 0\n" -#: help.c:452 +#: help.c:429 msgid "" " SERVER_VERSION_NAME\n" " SERVER_VERSION_NUM\n" @@ -3605,7 +3649,7 @@ msgstr "" " SERVER_VERSION_NUM\n" " version du serveur (chaîne courte ou format numérique)\n" -#: help.c:455 +#: help.c:432 msgid "" " SHELL_ERROR\n" " \"true\" if the last shell command failed, \"false\" if it succeeded\n" @@ -3613,7 +3657,7 @@ msgstr "" " SHELL_ERROR\n" " true si la dernière requête a échoué, sinon false\n" -#: help.c:457 +#: help.c:434 msgid "" " SHELL_EXIT_CODE\n" " exit status of the last shell command\n" @@ -3621,7 +3665,7 @@ msgstr "" " SHELL_EXIT_CODE\n" " code de sortie de la dernière commande shell\n" -#: help.c:459 +#: help.c:436 msgid "" " SHOW_ALL_RESULTS\n" " show all results of a combined query (\\;) instead of only the last\n" @@ -3629,7 +3673,7 @@ msgstr "" " SHOW_ALL_RESULTS\n" " affiche tous les résultats d'une requête combinée (\\;) au lieu du dernier uniquement\n" -#: help.c:461 +#: help.c:438 msgid "" " SHOW_CONTEXT\n" " controls display of message context fields [never, errors, always]\n" @@ -3637,7 +3681,7 @@ msgstr "" " SHOW_CONTEXT\n" " contrôle l'affichage des champs de contexte du message [never, errors, always]\n" -#: help.c:463 +#: help.c:440 msgid "" " SINGLELINE\n" " if set, end of line terminates SQL commands (same as -S option)\n" @@ -3645,7 +3689,7 @@ msgstr "" " SINGLELINE\n" " une fin de ligne termine le mode de commande SQL (identique à l'option -S)\n" -#: help.c:465 +#: help.c:442 msgid "" " SINGLESTEP\n" " single-step mode (same as -s option)\n" @@ -3653,7 +3697,7 @@ msgstr "" " SINGLESTEP\n" " mode pas à pas (identique à l'option -s)\n" -#: help.c:467 +#: help.c:444 msgid "" " SQLSTATE\n" " SQLSTATE of last query, or \"00000\" if no error\n" @@ -3661,7 +3705,7 @@ msgstr "" " SQLSTATE\n" " SQLSTATE de la dernière requête, ou \"00000\" si aucune erreur\n" -#: help.c:469 +#: help.c:446 msgid "" " USER\n" " the currently connected database user\n" @@ -3669,7 +3713,7 @@ msgstr "" " USER\n" " l'utilisateur actuellement connecté\n" -#: help.c:471 +#: help.c:448 msgid "" " VERBOSITY\n" " controls verbosity of error reports [default, verbose, terse, sqlstate]\n" @@ -3677,7 +3721,7 @@ msgstr "" " VERBOSITY\n" " contrôle la verbosité des rapports d'erreurs [default, verbose, terse, sqlstate]\n" -#: help.c:473 +#: help.c:450 msgid "" " VERSION\n" " VERSION_NAME\n" @@ -3689,7 +3733,7 @@ msgstr "" " VERSION_NUM\n" " version de psql (chaîne longue, chaîne courte, ou format numérique)\n" -#: help.c:478 +#: help.c:455 msgid "" "\n" "Display settings:\n" @@ -3697,7 +3741,7 @@ msgstr "" "\n" "Paramètres d'affichage :\n" -#: help.c:480 +#: help.c:457 msgid "" " psql --pset=NAME[=VALUE]\n" " or \\pset NAME [VALUE] inside psql\n" @@ -3707,7 +3751,7 @@ msgstr "" " ou \\pset NOM [VALEUR] dans psql\n" "\n" -#: help.c:482 +#: help.c:459 msgid "" " border\n" " border style (number)\n" @@ -3715,7 +3759,7 @@ msgstr "" " border\n" " style de bordure (nombre)\n" -#: help.c:484 +#: help.c:461 msgid "" " columns\n" " target width for the wrapped format\n" @@ -3723,7 +3767,7 @@ msgstr "" " columns\n" " largeur cible pour le format encadré\n" -#: help.c:486 +#: help.c:463 msgid "" " expanded (or x)\n" " expanded output [on, off, auto]\n" @@ -3731,7 +3775,7 @@ msgstr "" " expanded (ou x)\n" " sortie étendue [on, off, auto]\n" -#: help.c:488 +#: help.c:465 #, c-format msgid "" " fieldsep\n" @@ -3740,7 +3784,7 @@ msgstr "" " fieldsep\n" " champ séparateur pour l'affichage non aligné (par défaut « %s »)\n" -#: help.c:491 +#: help.c:468 msgid "" " fieldsep_zero\n" " set field separator for unaligned output to a zero byte\n" @@ -3748,7 +3792,7 @@ msgstr "" " fieldsep_zero\n" " configure le séparateur de champ pour l'affichage non alignée à l'octet zéro\n" -#: help.c:493 +#: help.c:470 msgid "" " footer\n" " enable or disable display of the table footer [on, off]\n" @@ -3756,7 +3800,7 @@ msgstr "" " footer\n" " active ou désactive l'affiche du bas de tableau [on, off]\n" -#: help.c:495 +#: help.c:472 msgid "" " format\n" " set output format [unaligned, aligned, wrapped, html, asciidoc, ...]\n" @@ -3764,7 +3808,7 @@ msgstr "" " format\n" " active le format de sortie [unaligned, aligned, wrapped, html, asciidoc, ...]\n" -#: help.c:497 +#: help.c:474 msgid "" " linestyle\n" " set the border line drawing style [ascii, old-ascii, unicode]\n" @@ -3772,7 +3816,7 @@ msgstr "" " linestyle\n" " configure l'affichage des lignes de bordure [ascii, old-ascii, unicode]\n" -#: help.c:499 +#: help.c:476 msgid "" " null\n" " set the string to be printed in place of a null value\n" @@ -3780,7 +3824,7 @@ msgstr "" " null\n" " configure la chaîne à afficher à la place d'une valeur NULL\n" -#: help.c:501 +#: help.c:478 msgid "" " numericlocale\n" " enable display of a locale-specific character to separate groups of digits\n" @@ -3789,7 +3833,7 @@ msgstr "" " active ou désactive l'affichage d'un caractère spécifique à la locale pour séparer\n" " des groupes de chiffres [on, off]\n" -#: help.c:503 +#: help.c:480 msgid "" " pager\n" " control when an external pager is used [yes, no, always]\n" @@ -3797,7 +3841,7 @@ msgstr "" " pager\n" " contrôle quand un paginateur externe est utilisé [yes, no, always]\n" -#: help.c:505 +#: help.c:482 msgid "" " recordsep\n" " record (line) separator for unaligned output\n" @@ -3805,7 +3849,7 @@ msgstr "" " recordsep\n" " enregistre le séparateur de ligne pour les affichages non alignés\n" -#: help.c:507 +#: help.c:484 msgid "" " recordsep_zero\n" " set record separator for unaligned output to a zero byte\n" @@ -3814,7 +3858,7 @@ msgstr "" " initialise le séparateur d'enregistrements pour un affichage\n" " non aligné à l'octet zéro\n" -#: help.c:509 +#: help.c:486 msgid "" " tableattr (or T)\n" " specify attributes for table tag in html format, or proportional\n" @@ -3825,7 +3869,7 @@ msgstr "" " proportionnelles de colonnes pour les types de données alignés à gauche dans le\n" " format latex-longtable\n" -#: help.c:512 +#: help.c:489 msgid "" " title\n" " set the table title for subsequently printed tables\n" @@ -3833,7 +3877,7 @@ msgstr "" " title\n" " configure le titre de la table pour toute table affichée\n" -#: help.c:514 +#: help.c:491 msgid "" " tuples_only\n" " if set, only actual table data is shown\n" @@ -3841,7 +3885,7 @@ msgstr "" " tuples_only\n" " si activé, seules les données de la table sont affichées\n" -#: help.c:516 +#: help.c:493 msgid "" " unicode_border_linestyle\n" " unicode_column_linestyle\n" @@ -3853,7 +3897,7 @@ msgstr "" " unicode_header_linestyle\n" " configure le style d'affichage de ligne Unicode [single, double]\n" -#: help.c:521 +#: help.c:498 msgid "" "\n" "Environment variables:\n" @@ -3861,7 +3905,7 @@ msgstr "" "\n" "Variables d'environnement :\n" -#: help.c:525 +#: help.c:502 msgid "" " NAME=VALUE [NAME=VALUE] psql ...\n" " or \\setenv NAME [VALUE] inside psql\n" @@ -3871,7 +3915,7 @@ msgstr "" " ou \\setenv NOM [VALEUR] dans psql\n" "\n" -#: help.c:527 +#: help.c:504 msgid "" " set NAME=VALUE\n" " psql ...\n" @@ -3883,7 +3927,7 @@ msgstr "" " ou \\setenv NOM [VALEUR] dans psql\n" "\n" -#: help.c:530 +#: help.c:507 msgid "" " COLUMNS\n" " number of columns for wrapped format\n" @@ -3891,7 +3935,7 @@ msgstr "" " COLUMNS\n" " nombre de colonnes pour le format encadré\n" -#: help.c:532 +#: help.c:509 msgid "" " PGAPPNAME\n" " same as the application_name connection parameter\n" @@ -3899,7 +3943,7 @@ msgstr "" " PGAPPNAME\n" " identique au paramètre de connexion application_name\n" -#: help.c:534 +#: help.c:511 msgid "" " PGDATABASE\n" " same as the dbname connection parameter\n" @@ -3907,7 +3951,7 @@ msgstr "" " PGDATABASE\n" " identique au paramètre de connexion dbname\n" -#: help.c:536 +#: help.c:513 msgid "" " PGHOST\n" " same as the host connection parameter\n" @@ -3915,7 +3959,7 @@ msgstr "" " PGHOST\n" " identique au paramètre de connexion host\n" -#: help.c:538 +#: help.c:515 msgid "" " PGPASSFILE\n" " password file name\n" @@ -3923,7 +3967,7 @@ msgstr "" " PGPASSFILE\n" " nom du fichier de mot de passe\n" -#: help.c:540 +#: help.c:517 msgid "" " PGPASSWORD\n" " connection password (not recommended)\n" @@ -3931,7 +3975,7 @@ msgstr "" " PGPASSWORD\n" " mot de passe de connexion (non recommendé)\n" -#: help.c:542 +#: help.c:519 msgid "" " PGPORT\n" " same as the port connection parameter\n" @@ -3939,7 +3983,7 @@ msgstr "" " PGPORT\n" " identique au paramètre de connexion port\n" -#: help.c:544 +#: help.c:521 msgid "" " PGUSER\n" " same as the user connection parameter\n" @@ -3947,7 +3991,7 @@ msgstr "" " PGUSER\n" " identique au paramètre de connexion user\n" -#: help.c:546 +#: help.c:523 msgid "" " PSQL_EDITOR, EDITOR, VISUAL\n" " editor used by the \\e, \\ef, and \\ev commands\n" @@ -3955,7 +3999,7 @@ msgstr "" " PSQL_EDITOR, EDITOR, VISUAL\n" " éditeur utilisé par les commandes \\e, \\ef et \\ev\n" -#: help.c:548 +#: help.c:525 msgid "" " PSQL_EDITOR_LINENUMBER_ARG\n" " how to specify a line number when invoking the editor\n" @@ -3963,7 +4007,7 @@ msgstr "" " PSQL_EDITOR_LINENUMBER_ARG\n" " comment spécifier un numéro de ligne lors de l'appel de l'éditeur\n" -#: help.c:550 +#: help.c:527 msgid "" " PSQL_HISTORY\n" " alternative location for the command history file\n" @@ -3971,7 +4015,7 @@ msgstr "" " PSQL_HISTORY\n" " autre emplacement pour le fichier d'historique des commandes\n" -#: help.c:552 +#: help.c:529 msgid "" " PSQL_PAGER, PAGER\n" " name of external pager program\n" @@ -3979,7 +4023,7 @@ msgstr "" " PSQL_PAGER, PAGER\n" " nom du paginateur externe\n" -#: help.c:555 +#: help.c:532 msgid "" " PSQL_WATCH_PAGER\n" " name of external pager program used for \\watch\n" @@ -3987,7 +4031,7 @@ msgstr "" " PSQL_WATCH_PAGER\n" " nom du paginateur externe utilisé pour \\watch\n" -#: help.c:558 +#: help.c:535 msgid "" " PSQLRC\n" " alternative location for the user's .psqlrc file\n" @@ -3995,7 +4039,7 @@ msgstr "" " PSQLRC\n" " autre emplacement pour le fichier .psqlrc de l'utilisateur\n" -#: help.c:560 +#: help.c:537 msgid "" " SHELL\n" " shell used by the \\! command\n" @@ -4003,7 +4047,7 @@ msgstr "" " SHELL\n" " shell utilisé par la commande \\!\n" -#: help.c:562 +#: help.c:539 msgid "" " TMPDIR\n" " directory for temporary files\n" @@ -4011,11 +4055,11 @@ msgstr "" " TMPDIR\n" " répertoire pour les fichiers temporaires\n" -#: help.c:622 +#: help.c:599 msgid "Available help:\n" msgstr "Aide-mémoire disponible :\n" -#: help.c:717 +#: help.c:694 #, c-format msgid "" "Command: %s\n" @@ -4034,7 +4078,7 @@ msgstr "" "URL: %s\n" "\n" -#: help.c:740 +#: help.c:717 #, c-format msgid "" "No help available for \"%s\".\n" @@ -4043,17 +4087,17 @@ msgstr "" "Aucun aide-mémoire disponible pour « %s ».\n" "Essayez \\h sans arguments pour afficher les aide-mémoires disponibles.\n" -#: input.c:216 +#: input.c:215 #, c-format msgid "could not read from input file: %m" msgstr "n'a pas pu lire à partir du fichier en entrée : %m" -#: input.c:477 input.c:515 +#: input.c:476 input.c:514 #, c-format msgid "could not save history to file \"%s\": %m" msgstr "n'a pas pu sauvegarder l'historique dans le fichier « %s » : %m" -#: input.c:534 +#: input.c:533 #, c-format msgid "history is not supported by this installation" msgstr "l'historique n'est pas supportée par cette installation" @@ -4141,12 +4185,12 @@ msgstr "requête ignorée ; utilisez \\endif ou Ctrl-C pour quitter le bloc \\if msgid "reached EOF without finding closing \\endif(s)" msgstr "a atteint EOF sans trouver le(s) \\endif fermant" -#: psqlscanslash.l:640 +#: psqlscanslash.l:642 #, c-format msgid "unterminated quoted string" msgstr "chaîne entre guillemets non terminée" -#: psqlscanslash.l:825 +#: psqlscanslash.l:842 #, c-format msgid "%s: out of memory" msgstr "%s : mémoire épuisée" @@ -4154,2433 +4198,2462 @@ msgstr "%s : mémoire épuisée" #: sql_help.c:35 sql_help.c:38 sql_help.c:41 sql_help.c:65 sql_help.c:66 #: sql_help.c:68 sql_help.c:70 sql_help.c:81 sql_help.c:83 sql_help.c:85 #: sql_help.c:113 sql_help.c:119 sql_help.c:121 sql_help.c:123 sql_help.c:125 -#: sql_help.c:126 sql_help.c:129 sql_help.c:131 sql_help.c:133 sql_help.c:238 -#: sql_help.c:240 sql_help.c:241 sql_help.c:243 sql_help.c:245 sql_help.c:248 -#: sql_help.c:250 sql_help.c:252 sql_help.c:254 sql_help.c:266 sql_help.c:267 -#: sql_help.c:268 sql_help.c:270 sql_help.c:319 sql_help.c:321 sql_help.c:323 -#: sql_help.c:325 sql_help.c:394 sql_help.c:399 sql_help.c:401 sql_help.c:443 -#: sql_help.c:445 sql_help.c:448 sql_help.c:450 sql_help.c:519 sql_help.c:524 -#: sql_help.c:529 sql_help.c:534 sql_help.c:539 sql_help.c:593 sql_help.c:595 -#: sql_help.c:597 sql_help.c:599 sql_help.c:601 sql_help.c:604 sql_help.c:606 -#: sql_help.c:609 sql_help.c:620 sql_help.c:622 sql_help.c:666 sql_help.c:668 -#: sql_help.c:670 sql_help.c:673 sql_help.c:675 sql_help.c:677 sql_help.c:714 -#: sql_help.c:718 sql_help.c:722 sql_help.c:741 sql_help.c:744 sql_help.c:747 -#: sql_help.c:776 sql_help.c:788 sql_help.c:796 sql_help.c:799 sql_help.c:802 -#: sql_help.c:817 sql_help.c:820 sql_help.c:849 sql_help.c:854 sql_help.c:859 -#: sql_help.c:864 sql_help.c:869 sql_help.c:896 sql_help.c:898 sql_help.c:900 -#: sql_help.c:902 sql_help.c:905 sql_help.c:907 sql_help.c:954 sql_help.c:999 -#: sql_help.c:1004 sql_help.c:1009 sql_help.c:1014 sql_help.c:1019 -#: sql_help.c:1038 sql_help.c:1049 sql_help.c:1051 sql_help.c:1071 -#: sql_help.c:1081 sql_help.c:1082 sql_help.c:1084 sql_help.c:1086 -#: sql_help.c:1098 sql_help.c:1102 sql_help.c:1104 sql_help.c:1116 -#: sql_help.c:1118 sql_help.c:1120 sql_help.c:1122 sql_help.c:1141 -#: sql_help.c:1143 sql_help.c:1147 sql_help.c:1151 sql_help.c:1155 -#: sql_help.c:1158 sql_help.c:1159 sql_help.c:1160 sql_help.c:1163 -#: sql_help.c:1166 sql_help.c:1168 sql_help.c:1308 sql_help.c:1310 -#: sql_help.c:1313 sql_help.c:1316 sql_help.c:1318 sql_help.c:1320 -#: sql_help.c:1323 sql_help.c:1326 sql_help.c:1443 sql_help.c:1445 -#: sql_help.c:1447 sql_help.c:1450 sql_help.c:1471 sql_help.c:1474 -#: sql_help.c:1477 sql_help.c:1480 sql_help.c:1484 sql_help.c:1486 -#: sql_help.c:1488 sql_help.c:1490 sql_help.c:1504 sql_help.c:1507 -#: sql_help.c:1509 sql_help.c:1511 sql_help.c:1521 sql_help.c:1523 -#: sql_help.c:1533 sql_help.c:1535 sql_help.c:1545 sql_help.c:1548 -#: sql_help.c:1571 sql_help.c:1573 sql_help.c:1575 sql_help.c:1577 -#: sql_help.c:1580 sql_help.c:1582 sql_help.c:1585 sql_help.c:1588 -#: sql_help.c:1639 sql_help.c:1682 sql_help.c:1685 sql_help.c:1687 -#: sql_help.c:1689 sql_help.c:1692 sql_help.c:1694 sql_help.c:1696 -#: sql_help.c:1699 sql_help.c:1751 sql_help.c:1767 sql_help.c:2000 -#: sql_help.c:2069 sql_help.c:2088 sql_help.c:2101 sql_help.c:2159 -#: sql_help.c:2167 sql_help.c:2177 sql_help.c:2204 sql_help.c:2236 -#: sql_help.c:2254 sql_help.c:2282 sql_help.c:2393 sql_help.c:2439 -#: sql_help.c:2464 sql_help.c:2487 sql_help.c:2491 sql_help.c:2525 -#: sql_help.c:2545 sql_help.c:2567 sql_help.c:2581 sql_help.c:2602 -#: sql_help.c:2631 sql_help.c:2666 sql_help.c:2691 sql_help.c:2738 -#: sql_help.c:3033 sql_help.c:3046 sql_help.c:3063 sql_help.c:3079 -#: sql_help.c:3119 sql_help.c:3173 sql_help.c:3177 sql_help.c:3179 -#: sql_help.c:3186 sql_help.c:3205 sql_help.c:3232 sql_help.c:3267 -#: sql_help.c:3279 sql_help.c:3288 sql_help.c:3332 sql_help.c:3346 -#: sql_help.c:3374 sql_help.c:3382 sql_help.c:3394 sql_help.c:3404 -#: sql_help.c:3412 sql_help.c:3420 sql_help.c:3428 sql_help.c:3436 -#: sql_help.c:3445 sql_help.c:3456 sql_help.c:3464 sql_help.c:3472 -#: sql_help.c:3480 sql_help.c:3488 sql_help.c:3498 sql_help.c:3507 -#: sql_help.c:3516 sql_help.c:3524 sql_help.c:3534 sql_help.c:3545 -#: sql_help.c:3553 sql_help.c:3562 sql_help.c:3573 sql_help.c:3582 -#: sql_help.c:3590 sql_help.c:3598 sql_help.c:3606 sql_help.c:3614 -#: 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:3679 sql_help.c:3688 -#: sql_help.c:3696 sql_help.c:3713 sql_help.c:3728 sql_help.c:4040 -#: sql_help.c:4150 sql_help.c:4179 sql_help.c:4195 sql_help.c:4197 -#: sql_help.c:4700 sql_help.c:4748 sql_help.c:4906 +#: sql_help.c:126 sql_help.c:129 sql_help.c:131 sql_help.c:133 sql_help.c:240 +#: sql_help.c:242 sql_help.c:243 sql_help.c:245 sql_help.c:247 sql_help.c:250 +#: sql_help.c:252 sql_help.c:254 sql_help.c:256 sql_help.c:268 sql_help.c:269 +#: sql_help.c:270 sql_help.c:272 sql_help.c:321 sql_help.c:323 sql_help.c:325 +#: sql_help.c:327 sql_help.c:396 sql_help.c:401 sql_help.c:403 sql_help.c:445 +#: sql_help.c:447 sql_help.c:450 sql_help.c:452 sql_help.c:521 sql_help.c:526 +#: sql_help.c:531 sql_help.c:536 sql_help.c:541 sql_help.c:595 sql_help.c:597 +#: sql_help.c:599 sql_help.c:601 sql_help.c:603 sql_help.c:606 sql_help.c:608 +#: sql_help.c:611 sql_help.c:622 sql_help.c:624 sql_help.c:668 sql_help.c:670 +#: sql_help.c:672 sql_help.c:675 sql_help.c:677 sql_help.c:679 sql_help.c:720 +#: sql_help.c:724 sql_help.c:728 sql_help.c:749 sql_help.c:752 sql_help.c:755 +#: sql_help.c:784 sql_help.c:796 sql_help.c:804 sql_help.c:807 sql_help.c:810 +#: sql_help.c:825 sql_help.c:828 sql_help.c:857 sql_help.c:862 sql_help.c:867 +#: sql_help.c:872 sql_help.c:877 sql_help.c:904 sql_help.c:906 sql_help.c:908 +#: sql_help.c:910 sql_help.c:913 sql_help.c:915 sql_help.c:962 sql_help.c:1007 +#: sql_help.c:1012 sql_help.c:1017 sql_help.c:1022 sql_help.c:1027 +#: sql_help.c:1046 sql_help.c:1057 sql_help.c:1059 sql_help.c:1079 +#: sql_help.c:1089 sql_help.c:1090 sql_help.c:1092 sql_help.c:1094 +#: sql_help.c:1106 sql_help.c:1110 sql_help.c:1112 sql_help.c:1124 +#: sql_help.c:1126 sql_help.c:1128 sql_help.c:1130 sql_help.c:1149 +#: sql_help.c:1151 sql_help.c:1155 sql_help.c:1159 sql_help.c:1163 +#: sql_help.c:1166 sql_help.c:1167 sql_help.c:1168 sql_help.c:1171 +#: sql_help.c:1174 sql_help.c:1176 sql_help.c:1323 sql_help.c:1325 +#: sql_help.c:1328 sql_help.c:1331 sql_help.c:1333 sql_help.c:1335 +#: sql_help.c:1338 sql_help.c:1341 sql_help.c:1343 sql_help.c:1349 +#: sql_help.c:1473 sql_help.c:1475 sql_help.c:1477 sql_help.c:1480 +#: sql_help.c:1501 sql_help.c:1504 sql_help.c:1507 sql_help.c:1510 +#: sql_help.c:1514 sql_help.c:1516 sql_help.c:1518 sql_help.c:1520 +#: sql_help.c:1534 sql_help.c:1537 sql_help.c:1539 sql_help.c:1541 +#: sql_help.c:1551 sql_help.c:1553 sql_help.c:1563 sql_help.c:1565 +#: sql_help.c:1575 sql_help.c:1578 sql_help.c:1601 sql_help.c:1603 +#: sql_help.c:1605 sql_help.c:1607 sql_help.c:1610 sql_help.c:1612 +#: sql_help.c:1615 sql_help.c:1618 sql_help.c:1669 sql_help.c:1712 +#: sql_help.c:1715 sql_help.c:1717 sql_help.c:1719 sql_help.c:1722 +#: sql_help.c:1724 sql_help.c:1726 sql_help.c:1729 sql_help.c:1779 +#: sql_help.c:1795 sql_help.c:2028 sql_help.c:2097 sql_help.c:2116 +#: sql_help.c:2129 sql_help.c:2187 sql_help.c:2195 sql_help.c:2205 +#: sql_help.c:2233 sql_help.c:2266 sql_help.c:2284 sql_help.c:2312 +#: sql_help.c:2423 sql_help.c:2469 sql_help.c:2494 sql_help.c:2517 +#: sql_help.c:2521 sql_help.c:2555 sql_help.c:2575 sql_help.c:2597 +#: sql_help.c:2611 sql_help.c:2632 sql_help.c:2661 sql_help.c:2694 +#: sql_help.c:2717 sql_help.c:2764 sql_help.c:3062 sql_help.c:3075 +#: sql_help.c:3092 sql_help.c:3108 sql_help.c:3148 sql_help.c:3202 +#: sql_help.c:3206 sql_help.c:3208 sql_help.c:3215 sql_help.c:3234 +#: sql_help.c:3261 sql_help.c:3296 sql_help.c:3308 sql_help.c:3317 +#: sql_help.c:3361 sql_help.c:3375 sql_help.c:3403 sql_help.c:3411 +#: sql_help.c:3423 sql_help.c:3433 sql_help.c:3441 sql_help.c:3449 +#: sql_help.c:3457 sql_help.c:3465 sql_help.c:3474 sql_help.c:3485 +#: sql_help.c:3493 sql_help.c:3501 sql_help.c:3509 sql_help.c:3517 +#: sql_help.c:3527 sql_help.c:3536 sql_help.c:3545 sql_help.c:3553 +#: sql_help.c:3563 sql_help.c:3574 sql_help.c:3582 sql_help.c:3591 +#: sql_help.c:3602 sql_help.c:3611 sql_help.c:3619 sql_help.c:3627 +#: sql_help.c:3635 sql_help.c:3643 sql_help.c:3651 sql_help.c:3659 +#: sql_help.c:3667 sql_help.c:3675 sql_help.c:3683 sql_help.c:3691 +#: sql_help.c:3708 sql_help.c:3717 sql_help.c:3725 sql_help.c:3742 +#: sql_help.c:3757 sql_help.c:4070 sql_help.c:4191 sql_help.c:4220 +#: sql_help.c:4236 sql_help.c:4238 sql_help.c:4742 sql_help.c:4790 +#: sql_help.c:4949 msgid "name" msgstr "nom" -#: sql_help.c:36 sql_help.c:39 sql_help.c:42 sql_help.c:330 sql_help.c:1848 -#: sql_help.c:3347 sql_help.c:4468 +#: sql_help.c:36 sql_help.c:39 sql_help.c:42 sql_help.c:332 sql_help.c:1872 +#: sql_help.c:3376 sql_help.c:4509 msgid "aggregate_signature" msgstr "signature_agrégat" -#: sql_help.c:37 sql_help.c:67 sql_help.c:82 sql_help.c:120 sql_help.c:253 -#: sql_help.c:271 sql_help.c:402 sql_help.c:449 sql_help.c:528 sql_help.c:576 -#: sql_help.c:594 sql_help.c:621 sql_help.c:674 sql_help.c:743 sql_help.c:798 -#: sql_help.c:819 sql_help.c:858 sql_help.c:908 sql_help.c:955 sql_help.c:1008 -#: sql_help.c:1040 sql_help.c:1050 sql_help.c:1085 sql_help.c:1105 -#: sql_help.c:1119 sql_help.c:1169 sql_help.c:1317 sql_help.c:1444 -#: sql_help.c:1487 sql_help.c:1508 sql_help.c:1522 sql_help.c:1534 -#: sql_help.c:1547 sql_help.c:1574 sql_help.c:1640 sql_help.c:1693 +#: sql_help.c:37 sql_help.c:67 sql_help.c:82 sql_help.c:120 sql_help.c:255 +#: sql_help.c:273 sql_help.c:404 sql_help.c:451 sql_help.c:530 sql_help.c:578 +#: sql_help.c:596 sql_help.c:623 sql_help.c:676 sql_help.c:751 sql_help.c:806 +#: sql_help.c:827 sql_help.c:866 sql_help.c:916 sql_help.c:963 sql_help.c:1016 +#: sql_help.c:1048 sql_help.c:1058 sql_help.c:1093 sql_help.c:1113 +#: sql_help.c:1127 sql_help.c:1177 sql_help.c:1332 sql_help.c:1474 +#: sql_help.c:1517 sql_help.c:1538 sql_help.c:1552 sql_help.c:1564 +#: sql_help.c:1577 sql_help.c:1604 sql_help.c:1670 sql_help.c:1723 msgid "new_name" msgstr "nouveau_nom" -#: sql_help.c:40 sql_help.c:69 sql_help.c:84 sql_help.c:122 sql_help.c:251 -#: sql_help.c:269 sql_help.c:400 sql_help.c:485 sql_help.c:533 sql_help.c:623 -#: sql_help.c:632 sql_help.c:697 sql_help.c:717 sql_help.c:746 sql_help.c:801 -#: sql_help.c:863 sql_help.c:906 sql_help.c:1013 sql_help.c:1052 -#: sql_help.c:1083 sql_help.c:1103 sql_help.c:1117 sql_help.c:1167 -#: sql_help.c:1381 sql_help.c:1446 sql_help.c:1489 sql_help.c:1510 -#: sql_help.c:1572 sql_help.c:1688 sql_help.c:3019 +#: sql_help.c:40 sql_help.c:69 sql_help.c:84 sql_help.c:122 sql_help.c:253 +#: sql_help.c:271 sql_help.c:402 sql_help.c:487 sql_help.c:535 sql_help.c:625 +#: sql_help.c:634 sql_help.c:699 sql_help.c:723 sql_help.c:754 sql_help.c:809 +#: sql_help.c:871 sql_help.c:914 sql_help.c:1021 sql_help.c:1060 +#: sql_help.c:1091 sql_help.c:1111 sql_help.c:1125 sql_help.c:1175 +#: sql_help.c:1408 sql_help.c:1476 sql_help.c:1519 sql_help.c:1540 +#: sql_help.c:1602 sql_help.c:1718 sql_help.c:3048 msgid "new_owner" msgstr "nouveau_propriétaire" -#: sql_help.c:43 sql_help.c:71 sql_help.c:86 sql_help.c:255 sql_help.c:322 -#: sql_help.c:451 sql_help.c:538 sql_help.c:676 sql_help.c:721 sql_help.c:749 -#: sql_help.c:804 sql_help.c:868 sql_help.c:1018 sql_help.c:1087 -#: sql_help.c:1121 sql_help.c:1319 sql_help.c:1491 sql_help.c:1512 -#: sql_help.c:1524 sql_help.c:1536 sql_help.c:1576 sql_help.c:1695 +#: sql_help.c:43 sql_help.c:71 sql_help.c:86 sql_help.c:257 sql_help.c:324 +#: sql_help.c:453 sql_help.c:540 sql_help.c:678 sql_help.c:727 sql_help.c:757 +#: sql_help.c:812 sql_help.c:876 sql_help.c:1026 sql_help.c:1095 +#: sql_help.c:1129 sql_help.c:1334 sql_help.c:1521 sql_help.c:1542 +#: sql_help.c:1554 sql_help.c:1566 sql_help.c:1606 sql_help.c:1725 msgid "new_schema" msgstr "nouveau_schéma" -#: sql_help.c:44 sql_help.c:1912 sql_help.c:3348 sql_help.c:4497 +#: sql_help.c:44 sql_help.c:1936 sql_help.c:3377 sql_help.c:4538 msgid "where aggregate_signature is:" msgstr "où signature_agrégat est :" -#: sql_help.c:45 sql_help.c:48 sql_help.c:51 sql_help.c:340 sql_help.c:353 -#: sql_help.c:357 sql_help.c:373 sql_help.c:376 sql_help.c:379 sql_help.c:520 -#: sql_help.c:525 sql_help.c:530 sql_help.c:535 sql_help.c:540 sql_help.c:850 -#: sql_help.c:855 sql_help.c:860 sql_help.c:865 sql_help.c:870 sql_help.c:1000 -#: sql_help.c:1005 sql_help.c:1010 sql_help.c:1015 sql_help.c:1020 -#: sql_help.c:1866 sql_help.c:1883 sql_help.c:1889 sql_help.c:1913 -#: sql_help.c:1916 sql_help.c:1919 sql_help.c:2070 sql_help.c:2089 -#: sql_help.c:2092 sql_help.c:2394 sql_help.c:2603 sql_help.c:3349 -#: sql_help.c:3352 sql_help.c:3355 sql_help.c:3446 sql_help.c:3535 -#: sql_help.c:3563 sql_help.c:3915 sql_help.c:4367 sql_help.c:4474 -#: sql_help.c:4481 sql_help.c:4487 sql_help.c:4498 sql_help.c:4501 -#: sql_help.c:4504 +#: sql_help.c:45 sql_help.c:48 sql_help.c:51 sql_help.c:342 sql_help.c:355 +#: sql_help.c:359 sql_help.c:375 sql_help.c:378 sql_help.c:381 sql_help.c:522 +#: sql_help.c:527 sql_help.c:532 sql_help.c:537 sql_help.c:542 sql_help.c:858 +#: sql_help.c:863 sql_help.c:868 sql_help.c:873 sql_help.c:878 sql_help.c:1008 +#: sql_help.c:1013 sql_help.c:1018 sql_help.c:1023 sql_help.c:1028 +#: sql_help.c:1890 sql_help.c:1907 sql_help.c:1913 sql_help.c:1937 +#: sql_help.c:1940 sql_help.c:1943 sql_help.c:2098 sql_help.c:2117 +#: sql_help.c:2120 sql_help.c:2424 sql_help.c:2633 sql_help.c:3378 +#: sql_help.c:3381 sql_help.c:3384 sql_help.c:3475 sql_help.c:3564 +#: sql_help.c:3592 sql_help.c:3945 sql_help.c:4408 sql_help.c:4515 +#: sql_help.c:4522 sql_help.c:4528 sql_help.c:4539 sql_help.c:4542 +#: sql_help.c:4545 msgid "argmode" msgstr "mode_argument" -#: sql_help.c:46 sql_help.c:49 sql_help.c:52 sql_help.c:341 sql_help.c:354 -#: sql_help.c:358 sql_help.c:374 sql_help.c:377 sql_help.c:380 sql_help.c:521 -#: sql_help.c:526 sql_help.c:531 sql_help.c:536 sql_help.c:541 sql_help.c:851 -#: sql_help.c:856 sql_help.c:861 sql_help.c:866 sql_help.c:871 sql_help.c:1001 -#: sql_help.c:1006 sql_help.c:1011 sql_help.c:1016 sql_help.c:1021 -#: sql_help.c:1867 sql_help.c:1884 sql_help.c:1890 sql_help.c:1914 -#: sql_help.c:1917 sql_help.c:1920 sql_help.c:2071 sql_help.c:2090 -#: sql_help.c:2093 sql_help.c:2395 sql_help.c:2604 sql_help.c:3350 -#: sql_help.c:3353 sql_help.c:3356 sql_help.c:3447 sql_help.c:3536 -#: sql_help.c:3564 sql_help.c:4475 sql_help.c:4482 sql_help.c:4488 -#: sql_help.c:4499 sql_help.c:4502 sql_help.c:4505 +#: sql_help.c:46 sql_help.c:49 sql_help.c:52 sql_help.c:343 sql_help.c:356 +#: sql_help.c:360 sql_help.c:376 sql_help.c:379 sql_help.c:382 sql_help.c:523 +#: sql_help.c:528 sql_help.c:533 sql_help.c:538 sql_help.c:543 sql_help.c:859 +#: sql_help.c:864 sql_help.c:869 sql_help.c:874 sql_help.c:879 sql_help.c:1009 +#: sql_help.c:1014 sql_help.c:1019 sql_help.c:1024 sql_help.c:1029 +#: sql_help.c:1891 sql_help.c:1908 sql_help.c:1914 sql_help.c:1938 +#: sql_help.c:1941 sql_help.c:1944 sql_help.c:2099 sql_help.c:2118 +#: sql_help.c:2121 sql_help.c:2425 sql_help.c:2634 sql_help.c:3379 +#: sql_help.c:3382 sql_help.c:3385 sql_help.c:3476 sql_help.c:3565 +#: sql_help.c:3593 sql_help.c:4516 sql_help.c:4523 sql_help.c:4529 +#: sql_help.c:4540 sql_help.c:4543 sql_help.c:4546 msgid "argname" msgstr "nom_agrégat" -#: sql_help.c:47 sql_help.c:50 sql_help.c:53 sql_help.c:342 sql_help.c:355 -#: sql_help.c:359 sql_help.c:375 sql_help.c:378 sql_help.c:381 sql_help.c:522 -#: sql_help.c:527 sql_help.c:532 sql_help.c:537 sql_help.c:542 sql_help.c:852 -#: sql_help.c:857 sql_help.c:862 sql_help.c:867 sql_help.c:872 sql_help.c:1002 -#: sql_help.c:1007 sql_help.c:1012 sql_help.c:1017 sql_help.c:1022 -#: sql_help.c:1868 sql_help.c:1885 sql_help.c:1891 sql_help.c:1915 -#: sql_help.c:1918 sql_help.c:1921 sql_help.c:2396 sql_help.c:2605 -#: sql_help.c:3351 sql_help.c:3354 sql_help.c:3357 sql_help.c:3448 -#: sql_help.c:3537 sql_help.c:3565 sql_help.c:4476 sql_help.c:4483 -#: sql_help.c:4489 sql_help.c:4500 sql_help.c:4503 sql_help.c:4506 +#: sql_help.c:47 sql_help.c:50 sql_help.c:53 sql_help.c:344 sql_help.c:357 +#: sql_help.c:361 sql_help.c:377 sql_help.c:380 sql_help.c:383 sql_help.c:524 +#: sql_help.c:529 sql_help.c:534 sql_help.c:539 sql_help.c:544 sql_help.c:860 +#: sql_help.c:865 sql_help.c:870 sql_help.c:875 sql_help.c:880 sql_help.c:1010 +#: sql_help.c:1015 sql_help.c:1020 sql_help.c:1025 sql_help.c:1030 +#: sql_help.c:1892 sql_help.c:1909 sql_help.c:1915 sql_help.c:1939 +#: sql_help.c:1942 sql_help.c:1945 sql_help.c:2426 sql_help.c:2635 +#: sql_help.c:3380 sql_help.c:3383 sql_help.c:3386 sql_help.c:3477 +#: sql_help.c:3566 sql_help.c:3594 sql_help.c:4517 sql_help.c:4524 +#: sql_help.c:4530 sql_help.c:4541 sql_help.c:4544 sql_help.c:4547 msgid "argtype" msgstr "type_argument" -#: sql_help.c:114 sql_help.c:397 sql_help.c:474 sql_help.c:486 sql_help.c:949 -#: sql_help.c:1100 sql_help.c:1505 sql_help.c:1634 sql_help.c:1666 -#: sql_help.c:1719 sql_help.c:1783 sql_help.c:1970 sql_help.c:1977 -#: sql_help.c:2285 sql_help.c:2335 sql_help.c:2342 sql_help.c:2351 -#: sql_help.c:2440 sql_help.c:2667 sql_help.c:2760 sql_help.c:3048 -#: sql_help.c:3233 sql_help.c:3255 sql_help.c:3395 sql_help.c:3751 -#: sql_help.c:3959 sql_help.c:4194 sql_help.c:4196 sql_help.c:4973 +#: sql_help.c:114 sql_help.c:399 sql_help.c:476 sql_help.c:488 sql_help.c:957 +#: sql_help.c:1108 sql_help.c:1535 sql_help.c:1664 sql_help.c:1696 +#: sql_help.c:1748 sql_help.c:1807 sql_help.c:1996 sql_help.c:2003 +#: sql_help.c:2315 sql_help.c:2365 sql_help.c:2372 sql_help.c:2381 +#: sql_help.c:2470 sql_help.c:2695 sql_help.c:2786 sql_help.c:3077 +#: sql_help.c:3262 sql_help.c:3284 sql_help.c:3424 sql_help.c:3781 +#: sql_help.c:3989 sql_help.c:4235 sql_help.c:4237 sql_help.c:5015 msgid "option" msgstr "option" -#: sql_help.c:115 sql_help.c:950 sql_help.c:1635 sql_help.c:2441 -#: sql_help.c:2668 sql_help.c:3234 sql_help.c:3396 +#: sql_help.c:115 sql_help.c:958 sql_help.c:1665 sql_help.c:2471 +#: sql_help.c:2696 sql_help.c:3263 sql_help.c:3425 msgid "where option can be:" msgstr "où option peut être :" -#: sql_help.c:116 sql_help.c:2217 +#: sql_help.c:116 sql_help.c:2247 msgid "allowconn" msgstr "allowconn" -#: sql_help.c:117 sql_help.c:951 sql_help.c:1636 sql_help.c:2218 -#: sql_help.c:2442 sql_help.c:2669 sql_help.c:3235 +#: sql_help.c:117 sql_help.c:959 sql_help.c:1666 sql_help.c:2248 +#: sql_help.c:2472 sql_help.c:2697 sql_help.c:3264 msgid "connlimit" msgstr "limite_de_connexion" -#: sql_help.c:118 sql_help.c:2219 +#: sql_help.c:118 sql_help.c:2249 msgid "istemplate" msgstr "istemplate" -#: sql_help.c:124 sql_help.c:611 sql_help.c:679 sql_help.c:693 sql_help.c:1322 -#: sql_help.c:1374 sql_help.c:4200 +#: sql_help.c:124 sql_help.c:613 sql_help.c:681 sql_help.c:695 sql_help.c:1337 +#: sql_help.c:1401 sql_help.c:4241 msgid "new_tablespace" msgstr "nouveau_tablespace" -#: sql_help.c:127 sql_help.c:130 sql_help.c:132 sql_help.c:548 sql_help.c:550 -#: sql_help.c:551 sql_help.c:875 sql_help.c:877 sql_help.c:878 sql_help.c:958 -#: sql_help.c:962 sql_help.c:965 sql_help.c:1027 sql_help.c:1029 -#: sql_help.c:1030 sql_help.c:1180 sql_help.c:1183 sql_help.c:1643 -#: sql_help.c:1647 sql_help.c:1650 sql_help.c:2406 sql_help.c:2609 -#: sql_help.c:3927 sql_help.c:4218 sql_help.c:4379 sql_help.c:4688 +#: sql_help.c:127 sql_help.c:130 sql_help.c:132 sql_help.c:550 sql_help.c:552 +#: sql_help.c:553 sql_help.c:883 sql_help.c:885 sql_help.c:886 sql_help.c:966 +#: sql_help.c:970 sql_help.c:973 sql_help.c:1035 sql_help.c:1037 +#: sql_help.c:1038 sql_help.c:1188 sql_help.c:1190 sql_help.c:1673 +#: sql_help.c:1677 sql_help.c:1680 sql_help.c:2436 sql_help.c:2639 +#: sql_help.c:3957 sql_help.c:4259 sql_help.c:4420 sql_help.c:4730 msgid "configuration_parameter" msgstr "paramètre_configuration" -#: sql_help.c:128 sql_help.c:398 sql_help.c:469 sql_help.c:475 sql_help.c:487 -#: sql_help.c:549 sql_help.c:603 sql_help.c:685 sql_help.c:695 sql_help.c:876 -#: sql_help.c:904 sql_help.c:959 sql_help.c:1028 sql_help.c:1101 -#: sql_help.c:1146 sql_help.c:1150 sql_help.c:1154 sql_help.c:1157 -#: sql_help.c:1162 sql_help.c:1165 sql_help.c:1181 sql_help.c:1182 -#: sql_help.c:1353 sql_help.c:1376 sql_help.c:1424 sql_help.c:1449 -#: sql_help.c:1506 sql_help.c:1590 sql_help.c:1644 sql_help.c:1667 -#: sql_help.c:2286 sql_help.c:2336 sql_help.c:2343 sql_help.c:2352 -#: sql_help.c:2407 sql_help.c:2408 sql_help.c:2472 sql_help.c:2475 -#: sql_help.c:2509 sql_help.c:2610 sql_help.c:2611 sql_help.c:2634 -#: sql_help.c:2761 sql_help.c:2800 sql_help.c:2910 sql_help.c:2923 -#: sql_help.c:2937 sql_help.c:2978 sql_help.c:3005 sql_help.c:3022 -#: sql_help.c:3049 sql_help.c:3256 sql_help.c:3960 sql_help.c:4689 -#: sql_help.c:4690 sql_help.c:4691 sql_help.c:4692 +#: sql_help.c:128 sql_help.c:400 sql_help.c:471 sql_help.c:477 sql_help.c:489 +#: sql_help.c:551 sql_help.c:605 sql_help.c:687 sql_help.c:697 sql_help.c:884 +#: sql_help.c:912 sql_help.c:967 sql_help.c:1036 sql_help.c:1109 +#: sql_help.c:1154 sql_help.c:1158 sql_help.c:1162 sql_help.c:1165 +#: sql_help.c:1170 sql_help.c:1173 sql_help.c:1189 sql_help.c:1380 +#: sql_help.c:1403 sql_help.c:1451 sql_help.c:1459 sql_help.c:1479 +#: sql_help.c:1536 sql_help.c:1620 sql_help.c:1674 sql_help.c:1697 +#: sql_help.c:2316 sql_help.c:2366 sql_help.c:2373 sql_help.c:2382 +#: sql_help.c:2437 sql_help.c:2438 sql_help.c:2502 sql_help.c:2505 +#: sql_help.c:2539 sql_help.c:2640 sql_help.c:2641 sql_help.c:2664 +#: sql_help.c:2787 sql_help.c:2826 sql_help.c:2936 sql_help.c:2949 +#: sql_help.c:2963 sql_help.c:3004 sql_help.c:3012 sql_help.c:3034 +#: sql_help.c:3051 sql_help.c:3078 sql_help.c:3285 sql_help.c:3990 +#: sql_help.c:4731 sql_help.c:4732 sql_help.c:4733 sql_help.c:4734 msgid "value" msgstr "valeur" -#: sql_help.c:200 +#: sql_help.c:202 msgid "target_role" msgstr "rôle_cible" -#: sql_help.c:201 sql_help.c:913 sql_help.c:2270 sql_help.c:2639 -#: sql_help.c:2716 sql_help.c:2721 sql_help.c:3890 sql_help.c:3899 -#: sql_help.c:3918 sql_help.c:3930 sql_help.c:4342 sql_help.c:4351 -#: sql_help.c:4370 sql_help.c:4382 +#: sql_help.c:203 sql_help.c:921 sql_help.c:2300 sql_help.c:2669 +#: sql_help.c:2742 sql_help.c:2747 sql_help.c:3920 sql_help.c:3929 +#: sql_help.c:3948 sql_help.c:3960 sql_help.c:4383 sql_help.c:4392 +#: sql_help.c:4411 sql_help.c:4423 msgid "schema_name" msgstr "nom_schéma" -#: sql_help.c:202 +#: sql_help.c:204 msgid "abbreviated_grant_or_revoke" msgstr "grant_ou_revoke_raccourci" -#: sql_help.c:203 +#: sql_help.c:205 msgid "where abbreviated_grant_or_revoke is one of:" msgstr "où abbreviated_grant_or_revoke fait partie de :" -#: sql_help.c:204 sql_help.c:205 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:574 sql_help.c:610 sql_help.c:678 sql_help.c:822 sql_help.c:969 -#: sql_help.c:1321 sql_help.c:1654 sql_help.c:2445 sql_help.c:2446 -#: sql_help.c:2447 sql_help.c:2448 sql_help.c:2449 sql_help.c:2583 -#: sql_help.c:2672 sql_help.c:2673 sql_help.c:2674 sql_help.c:2675 -#: sql_help.c:2676 sql_help.c:3238 sql_help.c:3239 sql_help.c:3240 -#: sql_help.c:3241 sql_help.c:3242 sql_help.c:3939 sql_help.c:3943 -#: sql_help.c:4391 sql_help.c:4395 sql_help.c:4710 +#: 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:576 sql_help.c:612 sql_help.c:680 sql_help.c:830 sql_help.c:977 +#: sql_help.c:1336 sql_help.c:1684 sql_help.c:2475 sql_help.c:2476 +#: sql_help.c:2477 sql_help.c:2478 sql_help.c:2479 sql_help.c:2613 +#: sql_help.c:2700 sql_help.c:2701 sql_help.c:2702 sql_help.c:3267 +#: sql_help.c:3268 sql_help.c:3269 sql_help.c:3270 sql_help.c:3271 +#: sql_help.c:3969 sql_help.c:3973 sql_help.c:4432 sql_help.c:4436 +#: sql_help.c:4752 msgid "role_name" msgstr "nom_rôle" -#: sql_help.c:239 sql_help.c:462 sql_help.c:912 sql_help.c:1337 sql_help.c:1339 -#: sql_help.c:1391 sql_help.c:1403 sql_help.c:1428 sql_help.c:1684 -#: sql_help.c:2239 sql_help.c:2243 sql_help.c:2355 sql_help.c:2360 -#: sql_help.c:2468 sql_help.c:2638 sql_help.c:2777 sql_help.c:2782 -#: sql_help.c:2784 sql_help.c:2905 sql_help.c:2918 sql_help.c:2932 -#: sql_help.c:2941 sql_help.c:2953 sql_help.c:2982 sql_help.c:3991 -#: sql_help.c:4006 sql_help.c:4008 sql_help.c:4095 sql_help.c:4098 -#: sql_help.c:4100 sql_help.c:4561 sql_help.c:4562 sql_help.c:4571 -#: sql_help.c:4618 sql_help.c:4619 sql_help.c:4620 sql_help.c:4621 -#: sql_help.c:4622 sql_help.c:4623 sql_help.c:4663 sql_help.c:4664 -#: sql_help.c:4669 sql_help.c:4674 sql_help.c:4818 sql_help.c:4819 -#: sql_help.c:4828 sql_help.c:4875 sql_help.c:4876 sql_help.c:4877 -#: sql_help.c:4878 sql_help.c:4879 sql_help.c:4880 sql_help.c:4934 -#: sql_help.c:4936 sql_help.c:5004 sql_help.c:5064 sql_help.c:5065 -#: sql_help.c:5074 sql_help.c:5121 sql_help.c:5122 sql_help.c:5123 -#: sql_help.c:5124 sql_help.c:5125 sql_help.c:5126 +#: sql_help.c:241 sql_help.c:464 sql_help.c:920 sql_help.c:1362 sql_help.c:1364 +#: sql_help.c:1368 sql_help.c:1418 sql_help.c:1430 sql_help.c:1455 +#: sql_help.c:1714 sql_help.c:2269 sql_help.c:2273 sql_help.c:2385 +#: sql_help.c:2390 sql_help.c:2498 sql_help.c:2668 sql_help.c:2803 +#: sql_help.c:2808 sql_help.c:2810 sql_help.c:2931 sql_help.c:2944 +#: sql_help.c:2958 sql_help.c:2967 sql_help.c:2979 sql_help.c:3008 +#: sql_help.c:4021 sql_help.c:4036 sql_help.c:4038 sql_help.c:4134 +#: sql_help.c:4137 sql_help.c:4139 sql_help.c:4602 sql_help.c:4603 +#: sql_help.c:4612 sql_help.c:4659 sql_help.c:4660 sql_help.c:4661 +#: sql_help.c:4662 sql_help.c:4663 sql_help.c:4664 sql_help.c:4705 +#: sql_help.c:4706 sql_help.c:4711 sql_help.c:4716 sql_help.c:4860 +#: sql_help.c:4861 sql_help.c:4870 sql_help.c:4917 sql_help.c:4918 +#: sql_help.c:4919 sql_help.c:4920 sql_help.c:4921 sql_help.c:4922 +#: sql_help.c:4977 sql_help.c:4979 sql_help.c:5045 sql_help.c:5105 +#: sql_help.c:5106 sql_help.c:5115 sql_help.c:5162 sql_help.c:5163 +#: sql_help.c:5164 sql_help.c:5165 sql_help.c:5166 sql_help.c:5167 msgid "expression" msgstr "expression" -#: sql_help.c:242 +#: sql_help.c:244 sql_help.c:2270 msgid "domain_constraint" msgstr "contrainte_domaine" -#: sql_help.c:244 sql_help.c:246 sql_help.c:249 sql_help.c:477 sql_help.c:478 -#: sql_help.c:1314 sql_help.c:1361 sql_help.c:1362 sql_help.c:1363 -#: sql_help.c:1390 sql_help.c:1402 sql_help.c:1419 sql_help.c:1854 -#: sql_help.c:1856 sql_help.c:2242 sql_help.c:2354 sql_help.c:2359 -#: sql_help.c:2940 sql_help.c:2952 sql_help.c:4003 +#: sql_help.c:246 sql_help.c:248 sql_help.c:251 sql_help.c:479 sql_help.c:480 +#: sql_help.c:1329 sql_help.c:1388 sql_help.c:1389 sql_help.c:1390 +#: sql_help.c:1417 sql_help.c:1429 sql_help.c:1446 sql_help.c:1878 +#: sql_help.c:1880 sql_help.c:2272 sql_help.c:2384 sql_help.c:2389 +#: sql_help.c:2966 sql_help.c:2978 sql_help.c:4033 msgid "constraint_name" msgstr "nom_contrainte" -#: sql_help.c:247 sql_help.c:1315 +#: sql_help.c:249 sql_help.c:1330 msgid "new_constraint_name" msgstr "nouvelle_nom_contrainte" -#: sql_help.c:320 sql_help.c:1099 +#: sql_help.c:322 sql_help.c:1107 msgid "new_version" msgstr "nouvelle_version" -#: sql_help.c:324 sql_help.c:326 +#: sql_help.c:326 sql_help.c:328 msgid "member_object" msgstr "objet_membre" -#: sql_help.c:327 +#: sql_help.c:329 msgid "where member_object is:" msgstr "où objet_membre fait partie de :" -#: sql_help.c:328 sql_help.c:333 sql_help.c:334 sql_help.c:335 sql_help.c:336 -#: sql_help.c:337 sql_help.c:338 sql_help.c:343 sql_help.c:347 sql_help.c:349 -#: sql_help.c:351 sql_help.c:360 sql_help.c:361 sql_help.c:362 sql_help.c:363 -#: sql_help.c:364 sql_help.c:365 sql_help.c:366 sql_help.c:367 sql_help.c:370 -#: sql_help.c:371 sql_help.c:1846 sql_help.c:1851 sql_help.c:1858 -#: sql_help.c:1859 sql_help.c:1860 sql_help.c:1861 sql_help.c:1862 -#: sql_help.c:1863 sql_help.c:1864 sql_help.c:1869 sql_help.c:1871 -#: sql_help.c:1875 sql_help.c:1877 sql_help.c:1881 sql_help.c:1886 -#: sql_help.c:1887 sql_help.c:1894 sql_help.c:1895 sql_help.c:1896 -#: sql_help.c:1897 sql_help.c:1898 sql_help.c:1899 sql_help.c:1900 -#: sql_help.c:1901 sql_help.c:1902 sql_help.c:1903 sql_help.c:1904 -#: sql_help.c:1909 sql_help.c:1910 sql_help.c:4464 sql_help.c:4469 -#: sql_help.c:4470 sql_help.c:4471 sql_help.c:4472 sql_help.c:4478 -#: sql_help.c:4479 sql_help.c:4484 sql_help.c:4485 sql_help.c:4490 -#: sql_help.c:4491 sql_help.c:4492 sql_help.c:4493 sql_help.c:4494 -#: sql_help.c:4495 +#: sql_help.c:330 sql_help.c:335 sql_help.c:336 sql_help.c:337 sql_help.c:338 +#: sql_help.c:339 sql_help.c:340 sql_help.c:345 sql_help.c:349 sql_help.c:351 +#: sql_help.c:353 sql_help.c:362 sql_help.c:363 sql_help.c:364 sql_help.c:365 +#: sql_help.c:366 sql_help.c:367 sql_help.c:368 sql_help.c:369 sql_help.c:372 +#: sql_help.c:373 sql_help.c:1870 sql_help.c:1875 sql_help.c:1882 +#: sql_help.c:1883 sql_help.c:1884 sql_help.c:1885 sql_help.c:1886 +#: sql_help.c:1887 sql_help.c:1888 sql_help.c:1893 sql_help.c:1895 +#: sql_help.c:1899 sql_help.c:1901 sql_help.c:1905 sql_help.c:1910 +#: sql_help.c:1911 sql_help.c:1918 sql_help.c:1919 sql_help.c:1920 +#: sql_help.c:1921 sql_help.c:1922 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:1933 sql_help.c:1934 sql_help.c:4505 sql_help.c:4510 +#: sql_help.c:4511 sql_help.c:4512 sql_help.c:4513 sql_help.c:4519 +#: sql_help.c:4520 sql_help.c:4525 sql_help.c:4526 sql_help.c:4531 +#: sql_help.c:4532 sql_help.c:4533 sql_help.c:4534 sql_help.c:4535 +#: sql_help.c:4536 msgid "object_name" msgstr "nom_objet" -#: sql_help.c:329 sql_help.c:1847 sql_help.c:4467 +#: sql_help.c:331 sql_help.c:1871 sql_help.c:4508 msgid "aggregate_name" msgstr "nom_agrégat" -#: sql_help.c:331 sql_help.c:1849 sql_help.c:2135 sql_help.c:2139 -#: sql_help.c:2141 sql_help.c:3365 +#: sql_help.c:333 sql_help.c:1873 sql_help.c:2163 sql_help.c:2167 +#: sql_help.c:2169 sql_help.c:3394 msgid "source_type" msgstr "type_source" -#: sql_help.c:332 sql_help.c:1850 sql_help.c:2136 sql_help.c:2140 -#: sql_help.c:2142 sql_help.c:3366 +#: sql_help.c:334 sql_help.c:1874 sql_help.c:2164 sql_help.c:2168 +#: sql_help.c:2170 sql_help.c:3395 msgid "target_type" msgstr "type_cible" -#: sql_help.c:339 sql_help.c:786 sql_help.c:1865 sql_help.c:2137 -#: sql_help.c:2180 sql_help.c:2258 sql_help.c:2526 sql_help.c:2557 -#: sql_help.c:3125 sql_help.c:4366 sql_help.c:4473 sql_help.c:4590 -#: sql_help.c:4594 sql_help.c:4598 sql_help.c:4601 sql_help.c:4847 -#: sql_help.c:4851 sql_help.c:4855 sql_help.c:4858 sql_help.c:5093 -#: sql_help.c:5097 sql_help.c:5101 sql_help.c:5104 +#: sql_help.c:341 sql_help.c:794 sql_help.c:1889 sql_help.c:2165 +#: sql_help.c:2208 sql_help.c:2288 sql_help.c:2556 sql_help.c:2587 +#: sql_help.c:3154 sql_help.c:4407 sql_help.c:4514 sql_help.c:4631 +#: sql_help.c:4635 sql_help.c:4639 sql_help.c:4642 sql_help.c:4889 +#: sql_help.c:4893 sql_help.c:4897 sql_help.c:4900 sql_help.c:5134 +#: sql_help.c:5138 sql_help.c:5142 sql_help.c:5145 msgid "function_name" msgstr "nom_fonction" -#: sql_help.c:344 sql_help.c:779 sql_help.c:1872 sql_help.c:2550 +#: sql_help.c:346 sql_help.c:787 sql_help.c:1896 sql_help.c:2580 msgid "operator_name" msgstr "nom_opérateur" -#: sql_help.c:345 sql_help.c:715 sql_help.c:719 sql_help.c:723 sql_help.c:1873 -#: sql_help.c:2527 sql_help.c:3489 +#: sql_help.c:347 sql_help.c:721 sql_help.c:725 sql_help.c:729 sql_help.c:1897 +#: sql_help.c:2557 sql_help.c:3518 msgid "left_type" msgstr "type_argument_gauche" -#: sql_help.c:346 sql_help.c:716 sql_help.c:720 sql_help.c:724 sql_help.c:1874 -#: sql_help.c:2528 sql_help.c:3490 +#: sql_help.c:348 sql_help.c:722 sql_help.c:726 sql_help.c:730 sql_help.c:1898 +#: sql_help.c:2558 sql_help.c:3519 msgid "right_type" msgstr "type_argument_droit" -#: sql_help.c:348 sql_help.c:350 sql_help.c:742 sql_help.c:745 sql_help.c:748 -#: sql_help.c:777 sql_help.c:789 sql_help.c:797 sql_help.c:800 sql_help.c:803 -#: sql_help.c:1408 sql_help.c:1876 sql_help.c:1878 sql_help.c:2547 -#: sql_help.c:2568 sql_help.c:2958 sql_help.c:3499 sql_help.c:3508 +#: sql_help.c:350 sql_help.c:352 sql_help.c:750 sql_help.c:753 sql_help.c:756 +#: sql_help.c:785 sql_help.c:797 sql_help.c:805 sql_help.c:808 sql_help.c:811 +#: sql_help.c:1435 sql_help.c:1900 sql_help.c:1902 sql_help.c:2577 +#: sql_help.c:2598 sql_help.c:2984 sql_help.c:3528 sql_help.c:3537 msgid "index_method" msgstr "méthode_indexage" -#: sql_help.c:352 sql_help.c:1882 sql_help.c:4480 +#: sql_help.c:354 sql_help.c:1906 sql_help.c:4521 msgid "procedure_name" msgstr "nom_procédure" -#: sql_help.c:356 sql_help.c:1888 sql_help.c:3914 sql_help.c:4486 +#: sql_help.c:358 sql_help.c:1912 sql_help.c:3944 sql_help.c:4527 msgid "routine_name" msgstr "nom_routine" -#: sql_help.c:368 sql_help.c:1380 sql_help.c:1905 sql_help.c:2402 -#: sql_help.c:2608 sql_help.c:2913 sql_help.c:3092 sql_help.c:3670 -#: sql_help.c:3936 sql_help.c:4388 +#: sql_help.c:370 sql_help.c:1407 sql_help.c:1929 sql_help.c:2432 +#: sql_help.c:2638 sql_help.c:2939 sql_help.c:3121 sql_help.c:3699 +#: sql_help.c:3966 sql_help.c:4429 msgid "type_name" msgstr "nom_type" -#: sql_help.c:369 sql_help.c:1906 sql_help.c:2401 sql_help.c:2607 -#: sql_help.c:3093 sql_help.c:3323 sql_help.c:3671 sql_help.c:3921 -#: sql_help.c:4373 +#: sql_help.c:371 sql_help.c:1930 sql_help.c:2431 sql_help.c:2637 +#: sql_help.c:3122 sql_help.c:3352 sql_help.c:3700 sql_help.c:3951 +#: sql_help.c:4414 msgid "lang_name" msgstr "nom_langage" -#: sql_help.c:372 +#: sql_help.c:374 msgid "and aggregate_signature is:" msgstr "et signature_agrégat est :" -#: sql_help.c:395 sql_help.c:2002 sql_help.c:2283 +#: sql_help.c:397 sql_help.c:2030 sql_help.c:2313 msgid "handler_function" msgstr "fonction_gestionnaire" -#: sql_help.c:396 sql_help.c:2284 +#: sql_help.c:398 sql_help.c:2314 msgid "validator_function" msgstr "fonction_validateur" -#: sql_help.c:444 sql_help.c:523 sql_help.c:667 sql_help.c:853 sql_help.c:1003 -#: sql_help.c:1309 sql_help.c:1581 +#: sql_help.c:446 sql_help.c:525 sql_help.c:669 sql_help.c:861 sql_help.c:1011 +#: sql_help.c:1324 sql_help.c:1611 msgid "action" msgstr "action" -#: sql_help.c:446 sql_help.c:453 sql_help.c:457 sql_help.c:458 sql_help.c:461 -#: sql_help.c:463 sql_help.c:464 sql_help.c:465 sql_help.c:467 sql_help.c:470 -#: sql_help.c:472 sql_help.c:473 sql_help.c:671 sql_help.c:681 sql_help.c:683 -#: sql_help.c:686 sql_help.c:688 sql_help.c:689 sql_help.c:911 sql_help.c:1080 -#: sql_help.c:1311 sql_help.c:1329 sql_help.c:1333 sql_help.c:1334 -#: sql_help.c:1338 sql_help.c:1340 sql_help.c:1341 sql_help.c:1342 -#: sql_help.c:1343 sql_help.c:1345 sql_help.c:1348 sql_help.c:1349 -#: sql_help.c:1351 sql_help.c:1354 sql_help.c:1356 sql_help.c:1357 -#: sql_help.c:1404 sql_help.c:1406 sql_help.c:1413 sql_help.c:1422 -#: sql_help.c:1427 sql_help.c:1431 sql_help.c:1432 sql_help.c:1683 -#: sql_help.c:1686 sql_help.c:1690 sql_help.c:1728 sql_help.c:1853 -#: sql_help.c:1967 sql_help.c:1973 sql_help.c:1987 sql_help.c:1988 -#: sql_help.c:1989 sql_help.c:2333 sql_help.c:2346 sql_help.c:2399 -#: sql_help.c:2467 sql_help.c:2473 sql_help.c:2506 sql_help.c:2637 -#: sql_help.c:2746 sql_help.c:2781 sql_help.c:2783 sql_help.c:2895 -#: sql_help.c:2904 sql_help.c:2914 sql_help.c:2917 sql_help.c:2927 -#: sql_help.c:2931 sql_help.c:2954 sql_help.c:2956 sql_help.c:2963 -#: sql_help.c:2976 sql_help.c:2981 sql_help.c:2985 sql_help.c:2986 -#: sql_help.c:3002 sql_help.c:3128 sql_help.c:3268 sql_help.c:3893 -#: sql_help.c:3894 sql_help.c:3990 sql_help.c:4005 sql_help.c:4007 -#: sql_help.c:4009 sql_help.c:4094 sql_help.c:4097 sql_help.c:4099 -#: sql_help.c:4345 sql_help.c:4346 sql_help.c:4466 sql_help.c:4627 -#: sql_help.c:4633 sql_help.c:4635 sql_help.c:4884 sql_help.c:4890 -#: sql_help.c:4892 sql_help.c:4933 sql_help.c:4935 sql_help.c:4937 -#: sql_help.c:4992 sql_help.c:5130 sql_help.c:5136 sql_help.c:5138 +#: sql_help.c:448 sql_help.c:455 sql_help.c:459 sql_help.c:460 sql_help.c:463 +#: sql_help.c:465 sql_help.c:466 sql_help.c:467 sql_help.c:469 sql_help.c:472 +#: sql_help.c:474 sql_help.c:475 sql_help.c:673 sql_help.c:683 sql_help.c:685 +#: sql_help.c:688 sql_help.c:690 sql_help.c:691 sql_help.c:919 sql_help.c:1088 +#: sql_help.c:1326 sql_help.c:1354 sql_help.c:1358 sql_help.c:1359 +#: sql_help.c:1363 sql_help.c:1365 sql_help.c:1366 sql_help.c:1367 +#: sql_help.c:1369 sql_help.c:1370 sql_help.c:1372 sql_help.c:1375 +#: sql_help.c:1376 sql_help.c:1378 sql_help.c:1381 sql_help.c:1383 +#: sql_help.c:1384 sql_help.c:1431 sql_help.c:1433 sql_help.c:1440 +#: sql_help.c:1449 sql_help.c:1454 sql_help.c:1461 sql_help.c:1462 +#: sql_help.c:1713 sql_help.c:1716 sql_help.c:1720 sql_help.c:1756 +#: sql_help.c:1877 sql_help.c:1993 sql_help.c:1999 sql_help.c:2013 +#: sql_help.c:2014 sql_help.c:2015 sql_help.c:2363 sql_help.c:2376 +#: sql_help.c:2429 sql_help.c:2497 sql_help.c:2503 sql_help.c:2536 +#: sql_help.c:2667 sql_help.c:2772 sql_help.c:2807 sql_help.c:2809 +#: sql_help.c:2921 sql_help.c:2930 sql_help.c:2940 sql_help.c:2943 +#: sql_help.c:2953 sql_help.c:2957 sql_help.c:2980 sql_help.c:2982 +#: sql_help.c:2989 sql_help.c:3002 sql_help.c:3007 sql_help.c:3014 +#: sql_help.c:3015 sql_help.c:3031 sql_help.c:3157 sql_help.c:3297 +#: sql_help.c:3923 sql_help.c:3924 sql_help.c:4020 sql_help.c:4035 +#: sql_help.c:4037 sql_help.c:4039 sql_help.c:4133 sql_help.c:4136 +#: sql_help.c:4138 sql_help.c:4140 sql_help.c:4386 sql_help.c:4387 +#: sql_help.c:4507 sql_help.c:4668 sql_help.c:4675 sql_help.c:4677 +#: sql_help.c:4926 sql_help.c:4933 sql_help.c:4935 sql_help.c:4976 +#: sql_help.c:4978 sql_help.c:4980 sql_help.c:5033 sql_help.c:5171 +#: sql_help.c:5178 sql_help.c:5180 msgid "column_name" msgstr "nom_colonne" -#: sql_help.c:447 sql_help.c:672 sql_help.c:1312 sql_help.c:1691 +#: sql_help.c:449 sql_help.c:674 sql_help.c:1327 sql_help.c:1721 msgid "new_column_name" msgstr "nouvelle_nom_colonne" -#: sql_help.c:452 sql_help.c:544 sql_help.c:680 sql_help.c:874 sql_help.c:1024 -#: sql_help.c:1328 sql_help.c:1591 +#: sql_help.c:454 sql_help.c:546 sql_help.c:682 sql_help.c:882 sql_help.c:1032 +#: sql_help.c:1353 sql_help.c:1621 msgid "where action is one of:" msgstr "où action fait partie de :" -#: sql_help.c:454 sql_help.c:459 sql_help.c:1072 sql_help.c:1330 -#: sql_help.c:1335 sql_help.c:1593 sql_help.c:1597 sql_help.c:2237 -#: sql_help.c:2334 sql_help.c:2546 sql_help.c:2739 sql_help.c:2896 -#: sql_help.c:3175 sql_help.c:4151 +#: sql_help.c:456 sql_help.c:461 sql_help.c:1080 sql_help.c:1355 +#: sql_help.c:1360 sql_help.c:1623 sql_help.c:1627 sql_help.c:2267 +#: sql_help.c:2364 sql_help.c:2576 sql_help.c:2765 sql_help.c:2922 +#: sql_help.c:3204 sql_help.c:4192 msgid "data_type" msgstr "type_données" -#: sql_help.c:455 sql_help.c:460 sql_help.c:1331 sql_help.c:1336 -#: sql_help.c:1594 sql_help.c:1598 sql_help.c:2238 sql_help.c:2337 -#: sql_help.c:2469 sql_help.c:2898 sql_help.c:2906 sql_help.c:2919 -#: sql_help.c:2933 sql_help.c:3176 sql_help.c:3182 sql_help.c:4000 +#: sql_help.c:457 sql_help.c:462 sql_help.c:1356 sql_help.c:1361 +#: sql_help.c:1456 sql_help.c:1624 sql_help.c:1628 sql_help.c:2268 +#: sql_help.c:2367 sql_help.c:2499 sql_help.c:2924 sql_help.c:2932 +#: sql_help.c:2945 sql_help.c:2959 sql_help.c:3009 sql_help.c:3205 +#: sql_help.c:3211 sql_help.c:4030 msgid "collation" msgstr "collationnement" -#: sql_help.c:456 sql_help.c:1332 sql_help.c:2338 sql_help.c:2347 -#: sql_help.c:2899 sql_help.c:2915 sql_help.c:2928 +#: sql_help.c:458 sql_help.c:1357 sql_help.c:2368 sql_help.c:2377 +#: sql_help.c:2925 sql_help.c:2941 sql_help.c:2954 msgid "column_constraint" msgstr "contrainte_colonne" -#: sql_help.c:466 sql_help.c:608 sql_help.c:682 sql_help.c:1350 sql_help.c:4986 +#: sql_help.c:468 sql_help.c:610 sql_help.c:684 sql_help.c:1377 sql_help.c:5027 msgid "integer" msgstr "entier" -#: sql_help.c:468 sql_help.c:471 sql_help.c:684 sql_help.c:687 sql_help.c:1352 -#: sql_help.c:1355 +#: sql_help.c:470 sql_help.c:473 sql_help.c:686 sql_help.c:689 sql_help.c:1379 +#: sql_help.c:1382 msgid "attribute_option" msgstr "option_attribut" -#: sql_help.c:476 sql_help.c:1359 sql_help.c:2339 sql_help.c:2348 -#: sql_help.c:2900 sql_help.c:2916 sql_help.c:2929 +#: sql_help.c:478 sql_help.c:1386 sql_help.c:2369 sql_help.c:2378 +#: sql_help.c:2926 sql_help.c:2942 sql_help.c:2955 msgid "table_constraint" msgstr "contrainte_table" -#: sql_help.c:479 sql_help.c:480 sql_help.c:481 sql_help.c:482 sql_help.c:1364 -#: sql_help.c:1365 sql_help.c:1366 sql_help.c:1367 sql_help.c:1907 +#: sql_help.c:481 sql_help.c:482 sql_help.c:483 sql_help.c:484 sql_help.c:1391 +#: sql_help.c:1392 sql_help.c:1393 sql_help.c:1394 sql_help.c:1931 msgid "trigger_name" msgstr "nom_trigger" -#: sql_help.c:483 sql_help.c:484 sql_help.c:1378 sql_help.c:1379 -#: sql_help.c:2340 sql_help.c:2345 sql_help.c:2903 sql_help.c:2926 +#: sql_help.c:485 sql_help.c:486 sql_help.c:1405 sql_help.c:1406 +#: sql_help.c:2370 sql_help.c:2375 sql_help.c:2929 sql_help.c:2952 msgid "parent_table" msgstr "table_parent" -#: sql_help.c:543 sql_help.c:600 sql_help.c:669 sql_help.c:873 sql_help.c:1023 -#: sql_help.c:1550 sql_help.c:2269 +#: sql_help.c:545 sql_help.c:602 sql_help.c:671 sql_help.c:881 sql_help.c:1031 +#: sql_help.c:1580 sql_help.c:2299 msgid "extension_name" msgstr "nom_extension" -#: sql_help.c:545 sql_help.c:1025 sql_help.c:2403 +#: sql_help.c:547 sql_help.c:1033 sql_help.c:2433 msgid "execution_cost" msgstr "coût_exécution" -#: sql_help.c:546 sql_help.c:1026 sql_help.c:2404 +#: sql_help.c:548 sql_help.c:1034 sql_help.c:2434 msgid "result_rows" msgstr "lignes_de_résultat" -#: sql_help.c:547 sql_help.c:2405 +#: sql_help.c:549 sql_help.c:2435 msgid "support_function" msgstr "fonction_support" -#: sql_help.c:569 sql_help.c:571 sql_help.c:948 sql_help.c:956 sql_help.c:960 -#: sql_help.c:963 sql_help.c:966 sql_help.c:1633 sql_help.c:1641 -#: sql_help.c:1645 sql_help.c:1648 sql_help.c:1651 sql_help.c:2717 -#: sql_help.c:2719 sql_help.c:2722 sql_help.c:2723 sql_help.c:3891 -#: sql_help.c:3892 sql_help.c:3896 sql_help.c:3897 sql_help.c:3900 -#: sql_help.c:3901 sql_help.c:3903 sql_help.c:3904 sql_help.c:3906 -#: sql_help.c:3907 sql_help.c:3909 sql_help.c:3910 sql_help.c:3912 -#: sql_help.c:3913 sql_help.c:3919 sql_help.c:3920 sql_help.c:3922 -#: sql_help.c:3923 sql_help.c:3925 sql_help.c:3926 sql_help.c:3928 -#: sql_help.c:3929 sql_help.c:3931 sql_help.c:3932 sql_help.c:3934 -#: sql_help.c:3935 sql_help.c:3937 sql_help.c:3938 sql_help.c:3940 -#: sql_help.c:3941 sql_help.c:4343 sql_help.c:4344 sql_help.c:4348 -#: sql_help.c:4349 sql_help.c:4352 sql_help.c:4353 sql_help.c:4355 -#: sql_help.c:4356 sql_help.c:4358 sql_help.c:4359 sql_help.c:4361 -#: sql_help.c:4362 sql_help.c:4364 sql_help.c:4365 sql_help.c:4371 -#: sql_help.c:4372 sql_help.c:4374 sql_help.c:4375 sql_help.c:4377 -#: sql_help.c:4378 sql_help.c:4380 sql_help.c:4381 sql_help.c:4383 -#: sql_help.c:4384 sql_help.c:4386 sql_help.c:4387 sql_help.c:4389 -#: sql_help.c:4390 sql_help.c:4392 sql_help.c:4393 +#: sql_help.c:571 sql_help.c:573 sql_help.c:956 sql_help.c:964 sql_help.c:968 +#: sql_help.c:971 sql_help.c:974 sql_help.c:1663 sql_help.c:1671 +#: sql_help.c:1675 sql_help.c:1678 sql_help.c:1681 sql_help.c:2743 +#: sql_help.c:2745 sql_help.c:2748 sql_help.c:2749 sql_help.c:3921 +#: sql_help.c:3922 sql_help.c:3926 sql_help.c:3927 sql_help.c:3930 +#: sql_help.c:3931 sql_help.c:3933 sql_help.c:3934 sql_help.c:3936 +#: sql_help.c:3937 sql_help.c:3939 sql_help.c:3940 sql_help.c:3942 +#: sql_help.c:3943 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:3964 +#: sql_help.c:3965 sql_help.c:3967 sql_help.c:3968 sql_help.c:3970 +#: sql_help.c:3971 sql_help.c:4384 sql_help.c:4385 sql_help.c:4389 +#: sql_help.c:4390 sql_help.c:4393 sql_help.c:4394 sql_help.c:4396 +#: sql_help.c:4397 sql_help.c:4399 sql_help.c:4400 sql_help.c:4402 +#: sql_help.c:4403 sql_help.c:4405 sql_help.c:4406 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:4427 sql_help.c:4428 sql_help.c:4430 +#: sql_help.c:4431 sql_help.c:4433 sql_help.c:4434 msgid "role_specification" msgstr "specification_role" -#: sql_help.c:570 sql_help.c:572 sql_help.c:1664 sql_help.c:2205 -#: sql_help.c:2725 sql_help.c:3253 sql_help.c:3704 sql_help.c:4720 +#: sql_help.c:572 sql_help.c:574 sql_help.c:1694 sql_help.c:2234 +#: sql_help.c:2751 sql_help.c:3282 sql_help.c:3733 sql_help.c:4762 msgid "user_name" msgstr "nom_utilisateur" -#: sql_help.c:573 sql_help.c:968 sql_help.c:1653 sql_help.c:2724 -#: sql_help.c:3942 sql_help.c:4394 +#: sql_help.c:575 sql_help.c:976 sql_help.c:1683 sql_help.c:2750 +#: sql_help.c:3972 sql_help.c:4435 msgid "where role_specification can be:" msgstr "où specification_role peut être :" -#: sql_help.c:575 +#: sql_help.c:577 msgid "group_name" msgstr "nom_groupe" -#: sql_help.c:596 sql_help.c:1425 sql_help.c:2216 sql_help.c:2476 -#: sql_help.c:2510 sql_help.c:2911 sql_help.c:2924 sql_help.c:2938 -#: sql_help.c:2979 sql_help.c:3006 sql_help.c:3018 sql_help.c:3933 -#: sql_help.c:4385 +#: sql_help.c:598 sql_help.c:1452 sql_help.c:2246 sql_help.c:2506 +#: sql_help.c:2540 sql_help.c:2937 sql_help.c:2950 sql_help.c:2964 +#: sql_help.c:3005 sql_help.c:3035 sql_help.c:3047 sql_help.c:3963 +#: sql_help.c:4426 msgid "tablespace_name" msgstr "nom_tablespace" -#: sql_help.c:598 sql_help.c:691 sql_help.c:1372 sql_help.c:1382 -#: sql_help.c:1420 sql_help.c:1782 sql_help.c:1785 +#: sql_help.c:600 sql_help.c:693 sql_help.c:1399 sql_help.c:1409 +#: sql_help.c:1447 sql_help.c:1809 msgid "index_name" msgstr "nom_index" -#: sql_help.c:602 sql_help.c:605 sql_help.c:694 sql_help.c:696 sql_help.c:1375 -#: sql_help.c:1377 sql_help.c:1423 sql_help.c:2474 sql_help.c:2508 -#: sql_help.c:2909 sql_help.c:2922 sql_help.c:2936 sql_help.c:2977 -#: sql_help.c:3004 +#: sql_help.c:604 sql_help.c:607 sql_help.c:696 sql_help.c:698 sql_help.c:1402 +#: sql_help.c:1404 sql_help.c:1450 sql_help.c:2504 sql_help.c:2538 +#: sql_help.c:2935 sql_help.c:2948 sql_help.c:2962 sql_help.c:3003 +#: sql_help.c:3033 msgid "storage_parameter" msgstr "paramètre_stockage" -#: sql_help.c:607 +#: sql_help.c:609 msgid "column_number" msgstr "numéro_colonne" -#: sql_help.c:631 sql_help.c:1870 sql_help.c:4477 +#: sql_help.c:633 sql_help.c:1894 sql_help.c:4518 msgid "large_object_oid" msgstr "oid_large_object" -#: sql_help.c:690 sql_help.c:1358 sql_help.c:2897 +#: sql_help.c:692 sql_help.c:1385 sql_help.c:2923 msgid "compression_method" msgstr "méthode_compression" -#: sql_help.c:692 sql_help.c:1373 +#: sql_help.c:694 sql_help.c:1400 msgid "new_access_method" msgstr "new_access_method" -#: sql_help.c:725 sql_help.c:2531 +#: sql_help.c:731 sql_help.c:2561 msgid "res_proc" msgstr "res_proc" -#: sql_help.c:726 sql_help.c:2532 +#: sql_help.c:732 sql_help.c:2562 msgid "join_proc" msgstr "join_proc" -#: sql_help.c:778 sql_help.c:790 sql_help.c:2549 +#: sql_help.c:733 sql_help.c:2559 +msgid "com_op" +msgstr "com_op" + +#: sql_help.c:734 sql_help.c:2560 +msgid "neg_op" +msgstr "neg_op" + +#: sql_help.c:786 sql_help.c:798 sql_help.c:2579 msgid "strategy_number" msgstr "numéro_de_stratégie" -#: sql_help.c:780 sql_help.c:781 sql_help.c:784 sql_help.c:785 sql_help.c:791 -#: sql_help.c:792 sql_help.c:794 sql_help.c:795 sql_help.c:2551 sql_help.c:2552 -#: sql_help.c:2555 sql_help.c:2556 +#: sql_help.c:788 sql_help.c:789 sql_help.c:792 sql_help.c:793 sql_help.c:799 +#: sql_help.c:800 sql_help.c:802 sql_help.c:803 sql_help.c:2581 sql_help.c:2582 +#: sql_help.c:2585 sql_help.c:2586 msgid "op_type" msgstr "type_op" -#: sql_help.c:782 sql_help.c:2553 +#: sql_help.c:790 sql_help.c:2583 msgid "sort_family_name" msgstr "nom_famille_tri" -#: sql_help.c:783 sql_help.c:793 sql_help.c:2554 +#: sql_help.c:791 sql_help.c:801 sql_help.c:2584 msgid "support_number" msgstr "numéro_de_support" -#: sql_help.c:787 sql_help.c:2138 sql_help.c:2558 sql_help.c:3095 -#: sql_help.c:3097 +#: sql_help.c:795 sql_help.c:2166 sql_help.c:2588 sql_help.c:3124 +#: sql_help.c:3126 msgid "argument_type" msgstr "type_argument" -#: sql_help.c:818 sql_help.c:821 sql_help.c:910 sql_help.c:1039 sql_help.c:1079 -#: sql_help.c:1546 sql_help.c:1549 sql_help.c:1727 sql_help.c:1781 -#: sql_help.c:1784 sql_help.c:1855 sql_help.c:1880 sql_help.c:1893 -#: sql_help.c:1908 sql_help.c:1966 sql_help.c:1972 sql_help.c:2332 -#: sql_help.c:2344 sql_help.c:2465 sql_help.c:2505 sql_help.c:2582 -#: sql_help.c:2636 sql_help.c:2693 sql_help.c:2745 sql_help.c:2778 -#: sql_help.c:2785 sql_help.c:2894 sql_help.c:2912 sql_help.c:2925 -#: sql_help.c:3001 sql_help.c:3121 sql_help.c:3302 sql_help.c:3525 -#: sql_help.c:3574 sql_help.c:3680 sql_help.c:3889 sql_help.c:3895 -#: sql_help.c:3956 sql_help.c:3988 sql_help.c:4341 sql_help.c:4347 -#: sql_help.c:4465 sql_help.c:4576 sql_help.c:4578 sql_help.c:4640 -#: sql_help.c:4679 sql_help.c:4833 sql_help.c:4835 sql_help.c:4897 -#: sql_help.c:4931 sql_help.c:4991 sql_help.c:5079 sql_help.c:5081 -#: sql_help.c:5143 +#: sql_help.c:826 sql_help.c:829 sql_help.c:918 sql_help.c:1047 sql_help.c:1087 +#: sql_help.c:1576 sql_help.c:1579 sql_help.c:1755 sql_help.c:1808 +#: sql_help.c:1879 sql_help.c:1904 sql_help.c:1917 sql_help.c:1932 +#: sql_help.c:1992 sql_help.c:1998 sql_help.c:2362 sql_help.c:2374 +#: sql_help.c:2495 sql_help.c:2535 sql_help.c:2612 sql_help.c:2666 +#: sql_help.c:2719 sql_help.c:2771 sql_help.c:2804 sql_help.c:2811 +#: sql_help.c:2920 sql_help.c:2938 sql_help.c:2951 sql_help.c:3030 +#: sql_help.c:3150 sql_help.c:3331 sql_help.c:3554 sql_help.c:3603 +#: sql_help.c:3709 sql_help.c:3919 sql_help.c:3925 sql_help.c:3986 +#: sql_help.c:4018 sql_help.c:4382 sql_help.c:4388 sql_help.c:4506 +#: sql_help.c:4619 sql_help.c:4682 sql_help.c:4721 sql_help.c:4877 +#: sql_help.c:4940 sql_help.c:4974 sql_help.c:5032 sql_help.c:5122 +#: sql_help.c:5185 msgid "table_name" msgstr "nom_table" -#: sql_help.c:823 sql_help.c:2584 +#: sql_help.c:831 sql_help.c:2614 msgid "using_expression" msgstr "expression_using" -#: sql_help.c:824 sql_help.c:2585 +#: sql_help.c:832 sql_help.c:2615 msgid "check_expression" msgstr "expression_check" -#: sql_help.c:897 sql_help.c:899 sql_help.c:901 sql_help.c:2632 +#: sql_help.c:905 sql_help.c:907 sql_help.c:909 sql_help.c:2662 msgid "publication_object" msgstr "objet_publication" -#: sql_help.c:903 sql_help.c:2633 +#: sql_help.c:911 sql_help.c:2663 msgid "publication_parameter" msgstr "paramètre_publication" -#: sql_help.c:909 sql_help.c:2635 +#: sql_help.c:917 sql_help.c:2665 msgid "where publication_object is one of:" msgstr "où publication_object fait partie de :" -#: sql_help.c:952 sql_help.c:1637 sql_help.c:2443 sql_help.c:2670 -#: sql_help.c:3236 +#: sql_help.c:960 sql_help.c:1667 sql_help.c:2473 sql_help.c:2698 +#: sql_help.c:3265 msgid "password" msgstr "mot_de_passe" -#: sql_help.c:953 sql_help.c:1638 sql_help.c:2444 sql_help.c:2671 -#: sql_help.c:3237 +#: sql_help.c:961 sql_help.c:1668 sql_help.c:2474 sql_help.c:2699 +#: sql_help.c:3266 msgid "timestamp" msgstr "horodatage" -#: sql_help.c:957 sql_help.c:961 sql_help.c:964 sql_help.c:967 sql_help.c:1642 -#: sql_help.c:1646 sql_help.c:1649 sql_help.c:1652 sql_help.c:3902 -#: sql_help.c:4354 +#: sql_help.c:965 sql_help.c:969 sql_help.c:972 sql_help.c:975 sql_help.c:1672 +#: sql_help.c:1676 sql_help.c:1679 sql_help.c:1682 sql_help.c:3932 +#: sql_help.c:4395 msgid "database_name" msgstr "nom_base_de_donnée" -#: sql_help.c:1073 sql_help.c:2740 +#: sql_help.c:1081 sql_help.c:2766 msgid "increment" msgstr "incrément" -#: sql_help.c:1074 sql_help.c:2741 +#: sql_help.c:1082 sql_help.c:2767 msgid "minvalue" msgstr "valeur_min" -#: sql_help.c:1075 sql_help.c:2742 +#: sql_help.c:1083 sql_help.c:2768 msgid "maxvalue" msgstr "valeur_max" -#: sql_help.c:1076 sql_help.c:2743 sql_help.c:4574 sql_help.c:4677 -#: sql_help.c:4831 sql_help.c:5008 sql_help.c:5077 +#: sql_help.c:1084 sql_help.c:2769 sql_help.c:4615 sql_help.c:4719 +#: sql_help.c:4873 sql_help.c:5049 sql_help.c:5118 msgid "start" msgstr "début" -#: sql_help.c:1077 sql_help.c:1347 +#: sql_help.c:1085 sql_help.c:1374 msgid "restart" msgstr "nouveau_début" -#: sql_help.c:1078 sql_help.c:2744 +#: sql_help.c:1086 sql_help.c:2770 msgid "cache" msgstr "cache" -#: sql_help.c:1123 +#: sql_help.c:1131 msgid "new_target" msgstr "nouvelle_cible" -#: sql_help.c:1142 sql_help.c:2797 +#: sql_help.c:1150 sql_help.c:2823 msgid "conninfo" msgstr "conninfo" -#: sql_help.c:1144 sql_help.c:1148 sql_help.c:1152 sql_help.c:2798 +#: sql_help.c:1152 sql_help.c:1156 sql_help.c:1160 sql_help.c:2824 msgid "publication_name" msgstr "nom_publication" -#: sql_help.c:1145 sql_help.c:1149 sql_help.c:1153 +#: sql_help.c:1153 sql_help.c:1157 sql_help.c:1161 msgid "publication_option" msgstr "option_publication" -#: sql_help.c:1156 +#: sql_help.c:1164 msgid "refresh_option" msgstr "option_rafraichissement" -#: sql_help.c:1161 sql_help.c:2799 +#: sql_help.c:1169 sql_help.c:2825 msgid "subscription_parameter" msgstr "paramètre_souscription" -#: sql_help.c:1164 +#: sql_help.c:1172 msgid "skip_option" msgstr "option_skip" -#: sql_help.c:1324 sql_help.c:1327 +#: sql_help.c:1339 sql_help.c:1342 sql_help.c:1344 sql_help.c:1352 msgid "partition_name" msgstr "nom_partition" -#: sql_help.c:1325 sql_help.c:2349 sql_help.c:2930 +#: sql_help.c:1340 sql_help.c:1346 sql_help.c:1348 sql_help.c:2379 +#: sql_help.c:2956 msgid "partition_bound_spec" msgstr "spec_limite_partition" -#: sql_help.c:1344 sql_help.c:1394 sql_help.c:2944 +#: sql_help.c:1345 sql_help.c:1350 +msgid "partition_name1" +msgstr "nom_partition1" + +#: sql_help.c:1347 sql_help.c:1351 +msgid "partition_name2" +msgstr "nom_partition2" + +#: sql_help.c:1371 sql_help.c:1421 sql_help.c:2970 msgid "sequence_options" msgstr "options_séquence" -#: sql_help.c:1346 +#: sql_help.c:1373 msgid "sequence_option" msgstr "option_séquence" -#: sql_help.c:1360 +#: sql_help.c:1387 msgid "table_constraint_using_index" msgstr "contrainte_table_utilisant_index" -#: sql_help.c:1368 sql_help.c:1369 sql_help.c:1370 sql_help.c:1371 +#: sql_help.c:1395 sql_help.c:1396 sql_help.c:1397 sql_help.c:1398 msgid "rewrite_rule_name" msgstr "nom_règle_réécriture" -#: sql_help.c:1383 sql_help.c:2361 sql_help.c:2969 +#: sql_help.c:1410 sql_help.c:2391 sql_help.c:2995 msgid "and partition_bound_spec is:" msgstr "et partition_bound_spec est :" -#: sql_help.c:1384 sql_help.c:1385 sql_help.c:1386 sql_help.c:2362 -#: sql_help.c:2363 sql_help.c:2364 sql_help.c:2970 sql_help.c:2971 -#: sql_help.c:2972 +#: sql_help.c:1411 sql_help.c:1412 sql_help.c:1413 sql_help.c:2392 +#: sql_help.c:2393 sql_help.c:2394 sql_help.c:2996 sql_help.c:2997 +#: sql_help.c:2998 msgid "partition_bound_expr" msgstr "expr_limite_partition" -#: sql_help.c:1387 sql_help.c:1388 sql_help.c:2365 sql_help.c:2366 -#: sql_help.c:2973 sql_help.c:2974 +#: sql_help.c:1414 sql_help.c:1415 sql_help.c:2395 sql_help.c:2396 +#: sql_help.c:2999 sql_help.c:3000 msgid "numeric_literal" msgstr "numeric_literal" -#: sql_help.c:1389 +#: sql_help.c:1416 msgid "and column_constraint is:" msgstr "et contrainte_colonne est :" -#: sql_help.c:1392 sql_help.c:2356 sql_help.c:2397 sql_help.c:2606 -#: sql_help.c:2942 +#: sql_help.c:1419 sql_help.c:2386 sql_help.c:2427 sql_help.c:2636 +#: sql_help.c:2968 msgid "default_expr" msgstr "expression_par_défaut" -#: sql_help.c:1393 sql_help.c:2357 sql_help.c:2943 +#: sql_help.c:1420 sql_help.c:2387 sql_help.c:2969 msgid "generation_expr" msgstr "expression_génération" -#: sql_help.c:1395 sql_help.c:1396 sql_help.c:1405 sql_help.c:1407 -#: sql_help.c:1411 sql_help.c:2945 sql_help.c:2946 sql_help.c:2955 -#: sql_help.c:2957 sql_help.c:2961 +#: sql_help.c:1422 sql_help.c:1423 sql_help.c:1432 sql_help.c:1434 +#: sql_help.c:1438 sql_help.c:2971 sql_help.c:2972 sql_help.c:2981 +#: sql_help.c:2983 sql_help.c:2987 msgid "index_parameters" msgstr "paramètres_index" -#: sql_help.c:1397 sql_help.c:1414 sql_help.c:2947 sql_help.c:2964 +#: sql_help.c:1424 sql_help.c:1441 sql_help.c:2973 sql_help.c:2990 msgid "reftable" msgstr "table_référence" -#: sql_help.c:1398 sql_help.c:1415 sql_help.c:2948 sql_help.c:2965 +#: sql_help.c:1425 sql_help.c:1442 sql_help.c:2974 sql_help.c:2991 msgid "refcolumn" msgstr "colonne_référence" -#: sql_help.c:1399 sql_help.c:1400 sql_help.c:1416 sql_help.c:1417 -#: sql_help.c:2949 sql_help.c:2950 sql_help.c:2966 sql_help.c:2967 +#: sql_help.c:1426 sql_help.c:1427 sql_help.c:1443 sql_help.c:1444 +#: sql_help.c:2975 sql_help.c:2976 sql_help.c:2992 sql_help.c:2993 msgid "referential_action" msgstr "action" -#: sql_help.c:1401 sql_help.c:2358 sql_help.c:2951 +#: sql_help.c:1428 sql_help.c:2388 sql_help.c:2977 msgid "and table_constraint is:" msgstr "et contrainte_table est :" -#: sql_help.c:1409 sql_help.c:2959 +#: sql_help.c:1436 sql_help.c:2985 msgid "exclude_element" msgstr "élément_exclusion" -#: sql_help.c:1410 sql_help.c:2960 sql_help.c:4572 sql_help.c:4675 -#: sql_help.c:4829 sql_help.c:5006 sql_help.c:5075 +#: sql_help.c:1437 sql_help.c:2986 sql_help.c:4613 sql_help.c:4717 +#: sql_help.c:4871 sql_help.c:5047 sql_help.c:5116 msgid "operator" msgstr "opérateur" -#: sql_help.c:1412 sql_help.c:2477 sql_help.c:2962 +#: sql_help.c:1439 sql_help.c:2507 sql_help.c:2988 msgid "predicate" msgstr "prédicat" -#: sql_help.c:1418 +#: sql_help.c:1445 msgid "and table_constraint_using_index is:" msgstr "et contrainte_table_utilisant_index est :" -#: sql_help.c:1421 sql_help.c:2975 +#: sql_help.c:1448 sql_help.c:3001 msgid "index_parameters in UNIQUE, PRIMARY KEY, and EXCLUDE constraints are:" msgstr "dans les contraintes UNIQUE, PRIMARY KEY et EXCLUDE, les paramètres_index sont :" -#: sql_help.c:1426 sql_help.c:2980 +#: sql_help.c:1453 sql_help.c:3006 msgid "exclude_element in an EXCLUDE constraint is:" msgstr "élément_exclusion dans une contrainte EXCLUDE est :" -#: sql_help.c:1429 sql_help.c:2470 sql_help.c:2907 sql_help.c:2920 -#: sql_help.c:2934 sql_help.c:2983 sql_help.c:4001 +#: sql_help.c:1457 sql_help.c:2500 sql_help.c:2933 sql_help.c:2946 +#: sql_help.c:2960 sql_help.c:3010 sql_help.c:4031 msgid "opclass" msgstr "classe_d_opérateur" -#: sql_help.c:1430 sql_help.c:2984 +#: sql_help.c:1458 sql_help.c:2501 sql_help.c:3011 +msgid "opclass_parameter" +msgstr "paramètre_opclass" + +#: sql_help.c:1460 sql_help.c:3013 msgid "referential_action in a FOREIGN KEY/REFERENCES constraint is:" msgstr "referential_action dans une contrainte FOREIGN KEY/REFERENCES est :" -#: sql_help.c:1448 sql_help.c:1451 sql_help.c:3021 +#: sql_help.c:1478 sql_help.c:1481 sql_help.c:3050 msgid "tablespace_option" msgstr "option_tablespace" -#: sql_help.c:1472 sql_help.c:1475 sql_help.c:1481 sql_help.c:1485 +#: sql_help.c:1502 sql_help.c:1505 sql_help.c:1511 sql_help.c:1515 msgid "token_type" msgstr "type_jeton" -#: sql_help.c:1473 sql_help.c:1476 +#: sql_help.c:1503 sql_help.c:1506 msgid "dictionary_name" msgstr "nom_dictionnaire" -#: sql_help.c:1478 sql_help.c:1482 +#: sql_help.c:1508 sql_help.c:1512 msgid "old_dictionary" msgstr "ancien_dictionnaire" -#: sql_help.c:1479 sql_help.c:1483 +#: sql_help.c:1509 sql_help.c:1513 msgid "new_dictionary" msgstr "nouveau_dictionnaire" -#: sql_help.c:1578 sql_help.c:1592 sql_help.c:1595 sql_help.c:1596 -#: sql_help.c:3174 +#: sql_help.c:1608 sql_help.c:1622 sql_help.c:1625 sql_help.c:1626 +#: sql_help.c:3203 msgid "attribute_name" msgstr "nom_attribut" -#: sql_help.c:1579 +#: sql_help.c:1609 msgid "new_attribute_name" msgstr "nouveau_nom_attribut" -#: sql_help.c:1583 sql_help.c:1587 +#: sql_help.c:1613 sql_help.c:1617 msgid "new_enum_value" msgstr "nouvelle_valeur_enum" -#: sql_help.c:1584 +#: sql_help.c:1614 msgid "neighbor_enum_value" msgstr "valeur_enum_voisine" -#: sql_help.c:1586 +#: sql_help.c:1616 msgid "existing_enum_value" msgstr "valeur_enum_existante" -#: sql_help.c:1589 +#: sql_help.c:1619 msgid "property" msgstr "propriété" -#: sql_help.c:1665 sql_help.c:2341 sql_help.c:2350 sql_help.c:2756 -#: sql_help.c:3254 sql_help.c:3705 sql_help.c:3911 sql_help.c:3957 -#: sql_help.c:4363 +#: sql_help.c:1695 sql_help.c:2371 sql_help.c:2380 sql_help.c:2782 +#: sql_help.c:3283 sql_help.c:3734 sql_help.c:3941 sql_help.c:3987 +#: sql_help.c:4404 msgid "server_name" msgstr "nom_serveur" -#: sql_help.c:1697 sql_help.c:1700 sql_help.c:3269 +#: sql_help.c:1727 sql_help.c:1730 sql_help.c:3298 msgid "view_option_name" msgstr "nom_option_vue" -#: sql_help.c:1698 sql_help.c:3270 +#: sql_help.c:1728 sql_help.c:3299 msgid "view_option_value" msgstr "valeur_option_vue" -#: sql_help.c:1720 sql_help.c:1721 sql_help.c:4974 sql_help.c:4975 +#: sql_help.c:1749 sql_help.c:5016 msgid "table_and_columns" msgstr "table_et_colonnes" -#: sql_help.c:1722 sql_help.c:1786 sql_help.c:1978 sql_help.c:3754 -#: sql_help.c:4198 sql_help.c:4976 +#: sql_help.c:1750 sql_help.c:1810 sql_help.c:2004 sql_help.c:3783 +#: sql_help.c:4239 sql_help.c:5017 msgid "where option can be one of:" msgstr "où option fait partie de :" -#: sql_help.c:1723 sql_help.c:1724 sql_help.c:1787 sql_help.c:1980 -#: sql_help.c:1984 sql_help.c:2164 sql_help.c:3755 sql_help.c:3756 -#: sql_help.c:3757 sql_help.c:3758 sql_help.c:3759 sql_help.c:3760 -#: sql_help.c:3761 sql_help.c:3762 sql_help.c:3763 sql_help.c:4199 -#: sql_help.c:4201 sql_help.c:4977 sql_help.c:4978 sql_help.c:4979 -#: sql_help.c:4980 sql_help.c:4981 sql_help.c:4982 sql_help.c:4983 -#: sql_help.c:4984 sql_help.c:4985 sql_help.c:4987 sql_help.c:4988 +#: sql_help.c:1751 sql_help.c:1752 sql_help.c:1811 sql_help.c:2006 +#: sql_help.c:2010 sql_help.c:2192 sql_help.c:3784 sql_help.c:3785 +#: sql_help.c:3786 sql_help.c:3787 sql_help.c:3788 sql_help.c:3789 +#: sql_help.c:3790 sql_help.c:3791 sql_help.c:3792 sql_help.c:3793 +#: sql_help.c:4240 sql_help.c:4242 sql_help.c:5018 sql_help.c:5019 +#: sql_help.c:5020 sql_help.c:5021 sql_help.c:5022 sql_help.c:5023 +#: sql_help.c:5024 sql_help.c:5025 sql_help.c:5026 sql_help.c:5028 +#: sql_help.c:5029 msgid "boolean" msgstr "boolean" -#: sql_help.c:1725 sql_help.c:4989 +#: sql_help.c:1753 sql_help.c:5030 msgid "size" msgstr "taille" -#: sql_help.c:1726 sql_help.c:4990 +#: sql_help.c:1754 sql_help.c:5031 msgid "and table_and_columns is:" msgstr "et table_et_colonnes est :" -#: sql_help.c:1742 sql_help.c:4736 sql_help.c:4738 sql_help.c:4762 +#: sql_help.c:1770 sql_help.c:4778 sql_help.c:4780 sql_help.c:4804 msgid "transaction_mode" msgstr "mode_transaction" -#: sql_help.c:1743 sql_help.c:4739 sql_help.c:4763 +#: sql_help.c:1771 sql_help.c:4781 sql_help.c:4805 msgid "where transaction_mode is one of:" msgstr "où mode_transaction fait partie de :" -#: sql_help.c:1752 sql_help.c:4582 sql_help.c:4591 sql_help.c:4595 -#: sql_help.c:4599 sql_help.c:4602 sql_help.c:4839 sql_help.c:4848 -#: sql_help.c:4852 sql_help.c:4856 sql_help.c:4859 sql_help.c:5085 -#: sql_help.c:5094 sql_help.c:5098 sql_help.c:5102 sql_help.c:5105 +#: sql_help.c:1780 sql_help.c:4623 sql_help.c:4632 sql_help.c:4636 +#: sql_help.c:4640 sql_help.c:4643 sql_help.c:4881 sql_help.c:4890 +#: sql_help.c:4894 sql_help.c:4898 sql_help.c:4901 sql_help.c:5126 +#: sql_help.c:5135 sql_help.c:5139 sql_help.c:5143 sql_help.c:5146 msgid "argument" msgstr "argument" -#: sql_help.c:1852 +#: sql_help.c:1876 msgid "relation_name" msgstr "nom_relation" -#: sql_help.c:1857 sql_help.c:3905 sql_help.c:4357 +#: sql_help.c:1881 sql_help.c:3935 sql_help.c:4398 msgid "domain_name" msgstr "nom_domaine" -#: sql_help.c:1879 +#: sql_help.c:1903 msgid "policy_name" msgstr "nom_politique" -#: sql_help.c:1892 +#: sql_help.c:1916 msgid "rule_name" msgstr "nom_règle" -#: sql_help.c:1911 sql_help.c:4496 +#: sql_help.c:1935 sql_help.c:4537 msgid "string_literal" msgstr "littéral_chaîne" -#: sql_help.c:1936 sql_help.c:4160 sql_help.c:4410 +#: sql_help.c:1960 sql_help.c:4201 sql_help.c:4451 msgid "transaction_id" msgstr "id_transaction" -#: sql_help.c:1968 sql_help.c:1975 sql_help.c:4027 +#: sql_help.c:1994 sql_help.c:2001 sql_help.c:4057 msgid "filename" msgstr "nom_fichier" -#: sql_help.c:1969 sql_help.c:1976 sql_help.c:2695 sql_help.c:2696 -#: sql_help.c:2697 +#: sql_help.c:1995 sql_help.c:2002 sql_help.c:2721 sql_help.c:2722 +#: sql_help.c:2723 msgid "command" msgstr "commande" -#: sql_help.c:1971 sql_help.c:2694 sql_help.c:3124 sql_help.c:3305 -#: sql_help.c:4011 sql_help.c:4088 sql_help.c:4091 sql_help.c:4565 -#: sql_help.c:4567 sql_help.c:4668 sql_help.c:4670 sql_help.c:4822 -#: sql_help.c:4824 sql_help.c:4940 sql_help.c:5068 sql_help.c:5070 +#: sql_help.c:1997 sql_help.c:2720 sql_help.c:3153 sql_help.c:3334 +#: sql_help.c:4041 sql_help.c:4124 sql_help.c:4127 sql_help.c:4130 +#: sql_help.c:4606 sql_help.c:4608 sql_help.c:4710 sql_help.c:4712 +#: sql_help.c:4864 sql_help.c:4866 sql_help.c:4983 sql_help.c:5109 +#: sql_help.c:5111 msgid "condition" msgstr "condition" -#: sql_help.c:1974 sql_help.c:2511 sql_help.c:3007 sql_help.c:3271 -#: sql_help.c:3289 sql_help.c:3992 +#: sql_help.c:2000 sql_help.c:2541 sql_help.c:3036 sql_help.c:3300 +#: sql_help.c:3318 sql_help.c:4022 msgid "query" msgstr "requête" -#: sql_help.c:1979 +#: sql_help.c:2005 msgid "format_name" msgstr "nom_format" -#: sql_help.c:1981 +#: sql_help.c:2007 msgid "delimiter_character" msgstr "caractère_délimiteur" -#: sql_help.c:1982 +#: sql_help.c:2008 msgid "null_string" msgstr "chaîne_null" -#: sql_help.c:1983 +#: sql_help.c:2009 msgid "default_string" msgstr "chaîne_par_défaut" -#: sql_help.c:1985 +#: sql_help.c:2011 msgid "quote_character" msgstr "caractère_guillemet" -#: sql_help.c:1986 +#: sql_help.c:2012 msgid "escape_character" msgstr "chaîne_d_échappement" -#: sql_help.c:1990 +#: sql_help.c:2016 +msgid "error_action" +msgstr "action_erreur" + +#: sql_help.c:2017 msgid "encoding_name" msgstr "nom_encodage" -#: sql_help.c:2001 +#: sql_help.c:2018 +msgid "verbosity" +msgstr "verbosité" + +#: sql_help.c:2029 msgid "access_method_type" msgstr "access_method_type" -#: sql_help.c:2072 sql_help.c:2091 sql_help.c:2094 +#: sql_help.c:2100 sql_help.c:2119 sql_help.c:2122 msgid "arg_data_type" msgstr "type_données_arg" -#: sql_help.c:2073 sql_help.c:2095 sql_help.c:2103 +#: sql_help.c:2101 sql_help.c:2123 sql_help.c:2131 msgid "sfunc" msgstr "sfunc" -#: sql_help.c:2074 sql_help.c:2096 sql_help.c:2104 +#: sql_help.c:2102 sql_help.c:2124 sql_help.c:2132 msgid "state_data_type" msgstr "type_de_données_statut" -#: sql_help.c:2075 sql_help.c:2097 sql_help.c:2105 +#: sql_help.c:2103 sql_help.c:2125 sql_help.c:2133 msgid "state_data_size" msgstr "taille_de_données_statut" -#: sql_help.c:2076 sql_help.c:2098 sql_help.c:2106 +#: sql_help.c:2104 sql_help.c:2126 sql_help.c:2134 msgid "ffunc" msgstr "ffunc" -#: sql_help.c:2077 sql_help.c:2107 +#: sql_help.c:2105 sql_help.c:2135 msgid "combinefunc" msgstr "combinefunc" -#: sql_help.c:2078 sql_help.c:2108 +#: sql_help.c:2106 sql_help.c:2136 msgid "serialfunc" msgstr "serialfunc" -#: sql_help.c:2079 sql_help.c:2109 +#: sql_help.c:2107 sql_help.c:2137 msgid "deserialfunc" msgstr "deserialfunc" -#: sql_help.c:2080 sql_help.c:2099 sql_help.c:2110 +#: sql_help.c:2108 sql_help.c:2127 sql_help.c:2138 msgid "initial_condition" msgstr "condition_initiale" -#: sql_help.c:2081 sql_help.c:2111 +#: sql_help.c:2109 sql_help.c:2139 msgid "msfunc" msgstr "msfunc" -#: sql_help.c:2082 sql_help.c:2112 +#: sql_help.c:2110 sql_help.c:2140 msgid "minvfunc" msgstr "minvfunc" -#: sql_help.c:2083 sql_help.c:2113 +#: sql_help.c:2111 sql_help.c:2141 msgid "mstate_data_type" msgstr "m_type_de_données_statut" -#: sql_help.c:2084 sql_help.c:2114 +#: sql_help.c:2112 sql_help.c:2142 msgid "mstate_data_size" msgstr "m_taille_de_données_statut" -#: sql_help.c:2085 sql_help.c:2115 +#: sql_help.c:2113 sql_help.c:2143 msgid "mffunc" msgstr "mffunc" -#: sql_help.c:2086 sql_help.c:2116 +#: sql_help.c:2114 sql_help.c:2144 msgid "minitial_condition" msgstr "m_condition_initiale" -#: sql_help.c:2087 sql_help.c:2117 +#: sql_help.c:2115 sql_help.c:2145 msgid "sort_operator" msgstr "opérateur_de_tri" -#: sql_help.c:2100 +#: sql_help.c:2128 msgid "or the old syntax" msgstr "ou l'ancienne syntaxe" -#: sql_help.c:2102 +#: sql_help.c:2130 msgid "base_type" msgstr "type_base" -#: sql_help.c:2160 sql_help.c:2209 +#: sql_help.c:2188 sql_help.c:2238 msgid "locale" msgstr "locale" -#: sql_help.c:2161 sql_help.c:2210 +#: sql_help.c:2189 sql_help.c:2239 msgid "lc_collate" msgstr "lc_collate" -#: sql_help.c:2162 sql_help.c:2211 +#: sql_help.c:2190 sql_help.c:2240 msgid "lc_ctype" msgstr "lc_ctype" -#: sql_help.c:2163 sql_help.c:4463 +#: sql_help.c:2191 sql_help.c:4504 msgid "provider" msgstr "fournisseur" -#: sql_help.c:2165 +#: sql_help.c:2193 msgid "rules" msgstr "règles" -#: sql_help.c:2166 sql_help.c:2271 +#: sql_help.c:2194 sql_help.c:2301 msgid "version" msgstr "version" -#: sql_help.c:2168 +#: sql_help.c:2196 msgid "existing_collation" msgstr "collationnement_existant" -#: sql_help.c:2178 +#: sql_help.c:2206 msgid "source_encoding" msgstr "encodage_source" -#: sql_help.c:2179 +#: sql_help.c:2207 msgid "dest_encoding" msgstr "encodage_destination" -#: sql_help.c:2206 sql_help.c:3047 +#: sql_help.c:2235 sql_help.c:3076 msgid "template" msgstr "modèle" -#: sql_help.c:2207 +#: sql_help.c:2236 msgid "encoding" msgstr "encodage" -#: sql_help.c:2208 +#: sql_help.c:2237 msgid "strategy" msgstr "stratégie" -#: sql_help.c:2212 +#: sql_help.c:2241 +msgid "builtin_locale" +msgstr "builtin_locale" + +#: sql_help.c:2242 msgid "icu_locale" msgstr "icu_locale" -#: sql_help.c:2213 +#: sql_help.c:2243 msgid "icu_rules" msgstr "règles_icu" -#: sql_help.c:2214 +#: sql_help.c:2244 msgid "locale_provider" msgstr "locale_provider" -#: sql_help.c:2215 +#: sql_help.c:2245 msgid "collation_version" msgstr "collation_version" -#: sql_help.c:2220 +#: sql_help.c:2250 msgid "oid" msgstr "oid" -#: sql_help.c:2240 -msgid "constraint" -msgstr "contrainte" - -#: sql_help.c:2241 -msgid "where constraint is:" -msgstr "où la contrainte est :" +#: sql_help.c:2271 +msgid "where domain_constraint is:" +msgstr "où contrainte_domaine est :" -#: sql_help.c:2255 sql_help.c:2692 sql_help.c:3120 +#: sql_help.c:2285 sql_help.c:2718 sql_help.c:3149 msgid "event" msgstr "événement" -#: sql_help.c:2256 +#: sql_help.c:2286 msgid "filter_variable" msgstr "filter_variable" -#: sql_help.c:2257 +#: sql_help.c:2287 msgid "filter_value" msgstr "filtre_valeur" -#: sql_help.c:2353 sql_help.c:2939 +#: sql_help.c:2383 sql_help.c:2965 msgid "where column_constraint is:" msgstr "où contrainte_colonne est :" -#: sql_help.c:2398 +#: sql_help.c:2428 msgid "rettype" msgstr "type_en_retour" -#: sql_help.c:2400 +#: sql_help.c:2430 msgid "column_type" msgstr "type_colonne" -#: sql_help.c:2409 sql_help.c:2612 +#: sql_help.c:2439 sql_help.c:2642 msgid "definition" msgstr "définition" -#: sql_help.c:2410 sql_help.c:2613 +#: sql_help.c:2440 sql_help.c:2643 msgid "obj_file" msgstr "fichier_objet" -#: sql_help.c:2411 sql_help.c:2614 +#: sql_help.c:2441 sql_help.c:2644 msgid "link_symbol" msgstr "symbole_link" -#: sql_help.c:2412 sql_help.c:2615 +#: sql_help.c:2442 sql_help.c:2645 msgid "sql_body" msgstr "corps_sql" -#: sql_help.c:2450 sql_help.c:2677 sql_help.c:3243 +#: sql_help.c:2480 sql_help.c:2703 sql_help.c:3272 msgid "uid" msgstr "uid" -#: sql_help.c:2466 sql_help.c:2507 sql_help.c:2908 sql_help.c:2921 -#: sql_help.c:2935 sql_help.c:3003 +#: sql_help.c:2496 sql_help.c:2537 sql_help.c:2934 sql_help.c:2947 +#: sql_help.c:2961 sql_help.c:3032 msgid "method" msgstr "méthode" -#: sql_help.c:2471 -msgid "opclass_parameter" -msgstr "paramètre_opclass" - -#: sql_help.c:2488 +#: sql_help.c:2518 msgid "call_handler" msgstr "gestionnaire_d_appel" -#: sql_help.c:2489 +#: sql_help.c:2519 msgid "inline_handler" msgstr "gestionnaire_en_ligne" -#: sql_help.c:2490 +#: sql_help.c:2520 msgid "valfunction" msgstr "fonction_val" -#: sql_help.c:2529 -msgid "com_op" -msgstr "com_op" - -#: sql_help.c:2530 -msgid "neg_op" -msgstr "neg_op" - -#: sql_help.c:2548 +#: sql_help.c:2578 msgid "family_name" msgstr "nom_famille" -#: sql_help.c:2559 +#: sql_help.c:2589 msgid "storage_type" msgstr "type_stockage" -#: sql_help.c:2698 sql_help.c:3127 +#: sql_help.c:2724 sql_help.c:3156 msgid "where event can be one of:" msgstr "où événement fait partie de :" -#: sql_help.c:2718 sql_help.c:2720 +#: sql_help.c:2744 sql_help.c:2746 msgid "schema_element" msgstr "élément_schéma" -#: sql_help.c:2757 +#: sql_help.c:2783 msgid "server_type" msgstr "type_serveur" -#: sql_help.c:2758 +#: sql_help.c:2784 msgid "server_version" msgstr "version_serveur" -#: sql_help.c:2759 sql_help.c:3908 sql_help.c:4360 +#: sql_help.c:2785 sql_help.c:3938 sql_help.c:4401 msgid "fdw_name" msgstr "nom_fdw" -#: sql_help.c:2776 sql_help.c:2779 +#: sql_help.c:2802 sql_help.c:2805 msgid "statistics_name" msgstr "nom_statistique" -#: sql_help.c:2780 +#: sql_help.c:2806 msgid "statistics_kind" msgstr "statistics_kind" -#: sql_help.c:2796 +#: sql_help.c:2822 msgid "subscription_name" msgstr "nom_souscription" -#: sql_help.c:2901 +#: sql_help.c:2927 msgid "source_table" msgstr "table_source" -#: sql_help.c:2902 +#: sql_help.c:2928 msgid "like_option" msgstr "option_like" -#: sql_help.c:2968 +#: sql_help.c:2994 msgid "and like_option is:" msgstr "et option_like est :" -#: sql_help.c:3020 +#: sql_help.c:3049 msgid "directory" msgstr "répertoire" -#: sql_help.c:3034 +#: sql_help.c:3063 msgid "parser_name" msgstr "nom_analyseur" -#: sql_help.c:3035 +#: sql_help.c:3064 msgid "source_config" msgstr "configuration_source" -#: sql_help.c:3064 +#: sql_help.c:3093 msgid "start_function" msgstr "fonction_start" -#: sql_help.c:3065 +#: sql_help.c:3094 msgid "gettoken_function" msgstr "fonction_gettoken" -#: sql_help.c:3066 +#: sql_help.c:3095 msgid "end_function" msgstr "fonction_end" -#: sql_help.c:3067 +#: sql_help.c:3096 msgid "lextypes_function" msgstr "fonction_lextypes" -#: sql_help.c:3068 +#: sql_help.c:3097 msgid "headline_function" msgstr "fonction_headline" -#: sql_help.c:3080 +#: sql_help.c:3109 msgid "init_function" msgstr "fonction_init" -#: sql_help.c:3081 +#: sql_help.c:3110 msgid "lexize_function" msgstr "fonction_lexize" -#: sql_help.c:3094 +#: sql_help.c:3123 msgid "from_sql_function_name" msgstr "nom_fonction_from_sql" -#: sql_help.c:3096 +#: sql_help.c:3125 msgid "to_sql_function_name" msgstr "nom_fonction_to_sql" -#: sql_help.c:3122 +#: sql_help.c:3151 msgid "referenced_table_name" msgstr "nom_table_référencée" -#: sql_help.c:3123 +#: sql_help.c:3152 msgid "transition_relation_name" msgstr "nom_relation_transition" -#: sql_help.c:3126 +#: sql_help.c:3155 msgid "arguments" msgstr "arguments" -#: sql_help.c:3178 +#: sql_help.c:3207 msgid "label" msgstr "label" -#: sql_help.c:3180 +#: sql_help.c:3209 msgid "subtype" msgstr "sous_type" -#: sql_help.c:3181 +#: sql_help.c:3210 msgid "subtype_operator_class" msgstr "classe_opérateur_sous_type" -#: sql_help.c:3183 +#: sql_help.c:3212 msgid "canonical_function" msgstr "fonction_canonique" -#: sql_help.c:3184 +#: sql_help.c:3213 msgid "subtype_diff_function" msgstr "fonction_diff_sous_type" -#: sql_help.c:3185 +#: sql_help.c:3214 msgid "multirange_type_name" msgstr "nom_type_multirange" -#: sql_help.c:3187 +#: sql_help.c:3216 msgid "input_function" msgstr "fonction_en_sortie" -#: sql_help.c:3188 +#: sql_help.c:3217 msgid "output_function" msgstr "fonction_en_sortie" -#: sql_help.c:3189 +#: sql_help.c:3218 msgid "receive_function" msgstr "fonction_receive" -#: sql_help.c:3190 +#: sql_help.c:3219 msgid "send_function" msgstr "fonction_send" -#: sql_help.c:3191 +#: sql_help.c:3220 msgid "type_modifier_input_function" msgstr "fonction_en_entrée_modificateur_type" -#: sql_help.c:3192 +#: sql_help.c:3221 msgid "type_modifier_output_function" msgstr "fonction_en_sortie_modificateur_type" -#: sql_help.c:3193 +#: sql_help.c:3222 msgid "analyze_function" msgstr "fonction_analyze" -#: sql_help.c:3194 +#: sql_help.c:3223 msgid "subscript_function" msgstr "fonction_indice" -#: sql_help.c:3195 +#: sql_help.c:3224 msgid "internallength" msgstr "longueur_interne" -#: sql_help.c:3196 +#: sql_help.c:3225 msgid "alignment" msgstr "alignement" -#: sql_help.c:3197 +#: sql_help.c:3226 msgid "storage" msgstr "stockage" -#: sql_help.c:3198 +#: sql_help.c:3227 msgid "like_type" msgstr "type_like" -#: sql_help.c:3199 +#: sql_help.c:3228 msgid "category" msgstr "catégorie" -#: sql_help.c:3200 +#: sql_help.c:3229 msgid "preferred" msgstr "préféré" -#: sql_help.c:3201 +#: sql_help.c:3230 msgid "default" msgstr "par défaut" -#: sql_help.c:3202 +#: sql_help.c:3231 msgid "element" msgstr "élément" -#: sql_help.c:3203 +#: sql_help.c:3232 msgid "delimiter" msgstr "délimiteur" -#: sql_help.c:3204 +#: sql_help.c:3233 msgid "collatable" msgstr "collationnable" -#: sql_help.c:3301 sql_help.c:3987 sql_help.c:4077 sql_help.c:4560 -#: sql_help.c:4662 sql_help.c:4817 sql_help.c:4930 sql_help.c:5063 +#: sql_help.c:3330 sql_help.c:4017 sql_help.c:4111 sql_help.c:4601 +#: sql_help.c:4704 sql_help.c:4859 sql_help.c:4973 sql_help.c:5104 msgid "with_query" msgstr "requête_with" -#: sql_help.c:3303 sql_help.c:3989 sql_help.c:4579 sql_help.c:4585 -#: sql_help.c:4588 sql_help.c:4592 sql_help.c:4596 sql_help.c:4604 -#: sql_help.c:4836 sql_help.c:4842 sql_help.c:4845 sql_help.c:4849 -#: sql_help.c:4853 sql_help.c:4861 sql_help.c:4932 sql_help.c:5082 -#: sql_help.c:5088 sql_help.c:5091 sql_help.c:5095 sql_help.c:5099 -#: sql_help.c:5107 +#: sql_help.c:3332 sql_help.c:4019 sql_help.c:4620 sql_help.c:4626 +#: sql_help.c:4629 sql_help.c:4633 sql_help.c:4637 sql_help.c:4645 +#: sql_help.c:4878 sql_help.c:4884 sql_help.c:4887 sql_help.c:4891 +#: sql_help.c:4895 sql_help.c:4903 sql_help.c:4975 sql_help.c:5123 +#: sql_help.c:5129 sql_help.c:5132 sql_help.c:5136 sql_help.c:5140 +#: sql_help.c:5148 msgid "alias" msgstr "alias" -#: sql_help.c:3304 sql_help.c:4564 sql_help.c:4606 sql_help.c:4608 -#: sql_help.c:4612 sql_help.c:4614 sql_help.c:4615 sql_help.c:4616 -#: sql_help.c:4667 sql_help.c:4821 sql_help.c:4863 sql_help.c:4865 -#: sql_help.c:4869 sql_help.c:4871 sql_help.c:4872 sql_help.c:4873 -#: sql_help.c:4939 sql_help.c:5067 sql_help.c:5109 sql_help.c:5111 -#: sql_help.c:5115 sql_help.c:5117 sql_help.c:5118 sql_help.c:5119 +#: sql_help.c:3333 sql_help.c:4605 sql_help.c:4647 sql_help.c:4649 +#: sql_help.c:4653 sql_help.c:4655 sql_help.c:4656 sql_help.c:4657 +#: sql_help.c:4709 sql_help.c:4863 sql_help.c:4905 sql_help.c:4907 +#: sql_help.c:4911 sql_help.c:4913 sql_help.c:4914 sql_help.c:4915 +#: sql_help.c:4982 sql_help.c:5108 sql_help.c:5150 sql_help.c:5152 +#: sql_help.c:5156 sql_help.c:5158 sql_help.c:5159 sql_help.c:5160 msgid "from_item" msgstr "élément_from" -#: sql_help.c:3306 sql_help.c:3789 sql_help.c:4127 sql_help.c:4941 +#: sql_help.c:3335 sql_help.c:3819 sql_help.c:4168 sql_help.c:4984 msgid "cursor_name" msgstr "nom_curseur" -#: sql_help.c:3307 sql_help.c:3995 sql_help.c:4942 +#: sql_help.c:3336 sql_help.c:4025 sql_help.c:4117 sql_help.c:4985 msgid "output_expression" msgstr "expression_en_sortie" -#: sql_help.c:3308 sql_help.c:3996 sql_help.c:4563 sql_help.c:4665 -#: sql_help.c:4820 sql_help.c:4943 sql_help.c:5066 +#: sql_help.c:3337 sql_help.c:4026 sql_help.c:4118 sql_help.c:4604 +#: sql_help.c:4707 sql_help.c:4862 sql_help.c:4986 sql_help.c:5107 msgid "output_name" msgstr "nom_en_sortie" -#: sql_help.c:3324 +#: sql_help.c:3353 msgid "code" msgstr "code" -#: sql_help.c:3729 +#: sql_help.c:3758 msgid "parameter" msgstr "paramètre" -#: sql_help.c:3752 sql_help.c:3753 sql_help.c:4152 +#: sql_help.c:3782 sql_help.c:4193 msgid "statement" msgstr "instruction" -#: sql_help.c:3788 sql_help.c:4126 +#: sql_help.c:3818 sql_help.c:4167 msgid "direction" msgstr "direction" -#: sql_help.c:3790 sql_help.c:4128 +#: sql_help.c:3820 sql_help.c:4169 msgid "where direction can be one of:" msgstr "où direction fait partie de :" -#: sql_help.c:3791 sql_help.c:3792 sql_help.c:3793 sql_help.c:3794 -#: sql_help.c:3795 sql_help.c:4129 sql_help.c:4130 sql_help.c:4131 -#: sql_help.c:4132 sql_help.c:4133 sql_help.c:4573 sql_help.c:4575 -#: sql_help.c:4676 sql_help.c:4678 sql_help.c:4830 sql_help.c:4832 -#: sql_help.c:5007 sql_help.c:5009 sql_help.c:5076 sql_help.c:5078 +#: sql_help.c:3821 sql_help.c:3822 sql_help.c:3823 sql_help.c:3824 +#: sql_help.c:3825 sql_help.c:4170 sql_help.c:4171 sql_help.c:4172 +#: sql_help.c:4173 sql_help.c:4174 sql_help.c:4614 sql_help.c:4616 +#: sql_help.c:4718 sql_help.c:4720 sql_help.c:4872 sql_help.c:4874 +#: sql_help.c:5048 sql_help.c:5050 sql_help.c:5117 sql_help.c:5119 msgid "count" msgstr "nombre" -#: sql_help.c:3898 sql_help.c:4350 +#: sql_help.c:3928 sql_help.c:4391 msgid "sequence_name" msgstr "nom_séquence" -#: sql_help.c:3916 sql_help.c:4368 +#: sql_help.c:3946 sql_help.c:4409 msgid "arg_name" msgstr "nom_argument" -#: sql_help.c:3917 sql_help.c:4369 +#: sql_help.c:3947 sql_help.c:4410 msgid "arg_type" msgstr "type_arg" -#: sql_help.c:3924 sql_help.c:4376 +#: sql_help.c:3954 sql_help.c:4417 msgid "loid" msgstr "loid" -#: sql_help.c:3955 +#: sql_help.c:3985 msgid "remote_schema" msgstr "schema_distant" -#: sql_help.c:3958 +#: sql_help.c:3988 msgid "local_schema" msgstr "schéma_local" -#: sql_help.c:3993 +#: sql_help.c:4023 msgid "conflict_target" msgstr "cible_conflit" -#: sql_help.c:3994 +#: sql_help.c:4024 msgid "conflict_action" msgstr "action_conflit" -#: sql_help.c:3997 +#: sql_help.c:4027 msgid "where conflict_target can be one of:" msgstr "où cible_conflit fait partie de :" -#: sql_help.c:3998 +#: sql_help.c:4028 msgid "index_column_name" msgstr "index_nom_colonne" -#: sql_help.c:3999 +#: sql_help.c:4029 msgid "index_expression" msgstr "index_expression" -#: sql_help.c:4002 +#: sql_help.c:4032 msgid "index_predicate" msgstr "index_prédicat" -#: sql_help.c:4004 +#: sql_help.c:4034 msgid "and conflict_action is one of:" msgstr "où action_conflit fait partie de :" -#: sql_help.c:4010 sql_help.c:4938 +#: sql_help.c:4040 sql_help.c:4141 sql_help.c:4981 msgid "sub-SELECT" msgstr "sous-SELECT" -#: sql_help.c:4019 sql_help.c:4141 sql_help.c:4914 +#: sql_help.c:4049 sql_help.c:4182 sql_help.c:4957 msgid "channel" msgstr "canal" -#: sql_help.c:4041 +#: sql_help.c:4071 msgid "lockmode" msgstr "mode_de_verrou" -#: sql_help.c:4042 +#: sql_help.c:4072 msgid "where lockmode is one of:" msgstr "où mode_de_verrou fait partie de :" -#: sql_help.c:4078 +#: sql_help.c:4112 msgid "target_table_name" msgstr "target_table_name" -#: sql_help.c:4079 +#: sql_help.c:4113 msgid "target_alias" msgstr "target_alias" -#: sql_help.c:4080 +#: sql_help.c:4114 msgid "data_source" msgstr "data_source" -#: sql_help.c:4081 sql_help.c:4609 sql_help.c:4866 sql_help.c:5112 +#: sql_help.c:4115 sql_help.c:4650 sql_help.c:4908 sql_help.c:5153 msgid "join_condition" msgstr "condition_de_jointure" -#: sql_help.c:4082 +#: sql_help.c:4116 msgid "when_clause" msgstr "when_clause" -#: sql_help.c:4083 +#: sql_help.c:4119 msgid "where data_source is:" msgstr "où data_source est :" -#: sql_help.c:4084 +#: sql_help.c:4120 msgid "source_table_name" msgstr "source_table_name" -#: sql_help.c:4085 +#: sql_help.c:4121 msgid "source_query" msgstr "source_query" -#: sql_help.c:4086 +#: sql_help.c:4122 msgid "source_alias" msgstr "source_alias" -#: sql_help.c:4087 +#: sql_help.c:4123 msgid "and when_clause is:" msgstr "et when_clause est :" -#: sql_help.c:4089 +#: sql_help.c:4125 sql_help.c:4128 msgid "merge_update" msgstr "merge_delete" -#: sql_help.c:4090 +#: sql_help.c:4126 sql_help.c:4129 msgid "merge_delete" msgstr "merge_delete" -#: sql_help.c:4092 +#: sql_help.c:4131 msgid "merge_insert" msgstr "merge_insert" -#: sql_help.c:4093 +#: sql_help.c:4132 msgid "and merge_insert is:" msgstr "et merge_insert est :" -#: sql_help.c:4096 +#: sql_help.c:4135 msgid "and merge_update is:" msgstr "et merge_update est :" -#: sql_help.c:4101 +#: sql_help.c:4142 msgid "and merge_delete is:" msgstr "et merge_delete est :" -#: sql_help.c:4142 +#: sql_help.c:4183 msgid "payload" msgstr "contenu" -#: sql_help.c:4169 +#: sql_help.c:4210 msgid "old_role" msgstr "ancien_rôle" -#: sql_help.c:4170 +#: sql_help.c:4211 msgid "new_role" msgstr "nouveau_rôle" -#: sql_help.c:4209 sql_help.c:4418 sql_help.c:4426 +#: sql_help.c:4250 sql_help.c:4459 sql_help.c:4467 msgid "savepoint_name" msgstr "nom_savepoint" -#: sql_help.c:4566 sql_help.c:4624 sql_help.c:4823 sql_help.c:4881 -#: sql_help.c:5069 sql_help.c:5127 +#: sql_help.c:4607 sql_help.c:4665 sql_help.c:4865 sql_help.c:4923 +#: sql_help.c:5110 sql_help.c:5168 msgid "grouping_element" msgstr "element_regroupement" -#: sql_help.c:4568 sql_help.c:4671 sql_help.c:4825 sql_help.c:5071 +#: sql_help.c:4609 sql_help.c:4713 sql_help.c:4867 sql_help.c:5112 msgid "window_name" msgstr "nom_window" -#: sql_help.c:4569 sql_help.c:4672 sql_help.c:4826 sql_help.c:5072 +#: sql_help.c:4610 sql_help.c:4714 sql_help.c:4868 sql_help.c:5113 msgid "window_definition" msgstr "définition_window" -#: sql_help.c:4570 sql_help.c:4584 sql_help.c:4628 sql_help.c:4673 -#: sql_help.c:4827 sql_help.c:4841 sql_help.c:4885 sql_help.c:5073 -#: sql_help.c:5087 sql_help.c:5131 +#: sql_help.c:4611 sql_help.c:4625 sql_help.c:4669 sql_help.c:4715 +#: sql_help.c:4869 sql_help.c:4883 sql_help.c:4927 sql_help.c:5114 +#: sql_help.c:5128 sql_help.c:5172 msgid "select" msgstr "sélection" -#: sql_help.c:4577 sql_help.c:4834 sql_help.c:5080 +#: sql_help.c:4617 sql_help.c:4875 sql_help.c:5120 +msgid "from_reference" +msgstr "reference_from" + +#: sql_help.c:4618 sql_help.c:4876 sql_help.c:5121 msgid "where from_item can be one of:" msgstr "où élément_from fait partie de :" -#: sql_help.c:4580 sql_help.c:4586 sql_help.c:4589 sql_help.c:4593 -#: sql_help.c:4605 sql_help.c:4837 sql_help.c:4843 sql_help.c:4846 -#: sql_help.c:4850 sql_help.c:4862 sql_help.c:5083 sql_help.c:5089 -#: sql_help.c:5092 sql_help.c:5096 sql_help.c:5108 +#: sql_help.c:4621 sql_help.c:4627 sql_help.c:4630 sql_help.c:4634 +#: sql_help.c:4646 sql_help.c:4879 sql_help.c:4885 sql_help.c:4888 +#: sql_help.c:4892 sql_help.c:4904 sql_help.c:5124 sql_help.c:5130 +#: sql_help.c:5133 sql_help.c:5137 sql_help.c:5149 msgid "column_alias" msgstr "alias_colonne" -#: sql_help.c:4581 sql_help.c:4838 sql_help.c:5084 +#: sql_help.c:4622 sql_help.c:4880 sql_help.c:5125 msgid "sampling_method" msgstr "méthode_echantillonnage" -#: sql_help.c:4583 sql_help.c:4840 sql_help.c:5086 +#: sql_help.c:4624 sql_help.c:4882 sql_help.c:5127 msgid "seed" msgstr "graine" -#: sql_help.c:4587 sql_help.c:4626 sql_help.c:4844 sql_help.c:4883 -#: sql_help.c:5090 sql_help.c:5129 +#: sql_help.c:4628 sql_help.c:4667 sql_help.c:4886 sql_help.c:4925 +#: sql_help.c:5131 sql_help.c:5170 msgid "with_query_name" msgstr "nom_requête_with" -#: sql_help.c:4597 sql_help.c:4600 sql_help.c:4603 sql_help.c:4854 -#: sql_help.c:4857 sql_help.c:4860 sql_help.c:5100 sql_help.c:5103 -#: sql_help.c:5106 +#: sql_help.c:4638 sql_help.c:4641 sql_help.c:4644 sql_help.c:4896 +#: sql_help.c:4899 sql_help.c:4902 sql_help.c:5141 sql_help.c:5144 +#: sql_help.c:5147 msgid "column_definition" msgstr "définition_colonne" -#: sql_help.c:4607 sql_help.c:4613 sql_help.c:4864 sql_help.c:4870 -#: sql_help.c:5110 sql_help.c:5116 +#: sql_help.c:4648 sql_help.c:4654 sql_help.c:4906 sql_help.c:4912 +#: sql_help.c:5151 sql_help.c:5157 msgid "join_type" msgstr "type_de_jointure" -#: sql_help.c:4610 sql_help.c:4867 sql_help.c:5113 +#: sql_help.c:4651 sql_help.c:4909 sql_help.c:5154 msgid "join_column" msgstr "colonne_de_jointure" -#: sql_help.c:4611 sql_help.c:4868 sql_help.c:5114 +#: sql_help.c:4652 sql_help.c:4910 sql_help.c:5155 msgid "join_using_alias" msgstr "join_utilisant_alias" -#: sql_help.c:4617 sql_help.c:4874 sql_help.c:5120 +#: sql_help.c:4658 sql_help.c:4916 sql_help.c:5161 msgid "and grouping_element can be one of:" msgstr "où element_regroupement fait partie de :" -#: sql_help.c:4625 sql_help.c:4882 sql_help.c:5128 +#: sql_help.c:4666 sql_help.c:4924 sql_help.c:5169 msgid "and with_query is:" msgstr "et requête_with est :" -#: sql_help.c:4629 sql_help.c:4886 sql_help.c:5132 +#: sql_help.c:4670 sql_help.c:4928 sql_help.c:5173 msgid "values" msgstr "valeurs" -#: sql_help.c:4630 sql_help.c:4887 sql_help.c:5133 +#: sql_help.c:4671 sql_help.c:4929 sql_help.c:5174 msgid "insert" msgstr "insert" -#: sql_help.c:4631 sql_help.c:4888 sql_help.c:5134 +#: sql_help.c:4672 sql_help.c:4930 sql_help.c:5175 msgid "update" msgstr "update" -#: sql_help.c:4632 sql_help.c:4889 sql_help.c:5135 +#: sql_help.c:4673 sql_help.c:4931 sql_help.c:5176 msgid "delete" msgstr "delete" -#: sql_help.c:4634 sql_help.c:4891 sql_help.c:5137 +#: sql_help.c:4674 sql_help.c:4932 sql_help.c:5177 +msgid "merge" +msgstr "merge" + +#: sql_help.c:4676 sql_help.c:4934 sql_help.c:5179 msgid "search_seq_col_name" msgstr "nom_colonne_seq_recherche" -#: sql_help.c:4636 sql_help.c:4893 sql_help.c:5139 +#: sql_help.c:4678 sql_help.c:4936 sql_help.c:5181 msgid "cycle_mark_col_name" msgstr "nom_colonne_marque_cycle" -#: sql_help.c:4637 sql_help.c:4894 sql_help.c:5140 +#: sql_help.c:4679 sql_help.c:4937 sql_help.c:5182 msgid "cycle_mark_value" msgstr "valeur_marque_cycle" -#: sql_help.c:4638 sql_help.c:4895 sql_help.c:5141 +#: sql_help.c:4680 sql_help.c:4938 sql_help.c:5183 msgid "cycle_mark_default" msgstr "défaut_marque_cyle" -#: sql_help.c:4639 sql_help.c:4896 sql_help.c:5142 +#: sql_help.c:4681 sql_help.c:4939 sql_help.c:5184 msgid "cycle_path_col_name" msgstr "nom_colonne_chemin_cycle" -#: sql_help.c:4666 +#: sql_help.c:4708 msgid "new_table" msgstr "nouvelle_table" -#: sql_help.c:4737 +#: sql_help.c:4779 msgid "snapshot_id" msgstr "id_snapshot" -#: sql_help.c:5005 +#: sql_help.c:5046 msgid "sort_expression" msgstr "expression_de_tri" -#: sql_help.c:5149 sql_help.c:6133 +#: sql_help.c:5191 sql_help.c:6175 msgid "abort the current transaction" msgstr "abandonner la transaction en cours" -#: sql_help.c:5155 +#: sql_help.c:5197 msgid "change the definition of an aggregate function" msgstr "modifier la définition d'une fonction d'agrégation" -#: sql_help.c:5161 +#: sql_help.c:5203 msgid "change the definition of a collation" msgstr "modifier la définition d'un collationnement" -#: sql_help.c:5167 +#: sql_help.c:5209 msgid "change the definition of a conversion" msgstr "modifier la définition d'une conversion" -#: sql_help.c:5173 +#: sql_help.c:5215 msgid "change a database" msgstr "modifier une base de données" -#: sql_help.c:5179 +#: sql_help.c:5221 msgid "define default access privileges" msgstr "définir les droits d'accès par défaut" -#: sql_help.c:5185 +#: sql_help.c:5227 msgid "change the definition of a domain" msgstr "modifier la définition d'un domaine" -#: sql_help.c:5191 +#: sql_help.c:5233 msgid "change the definition of an event trigger" msgstr "modifier la définition d'un trigger sur évènement" -#: sql_help.c:5197 +#: sql_help.c:5239 msgid "change the definition of an extension" msgstr "modifier la définition d'une extension" -#: sql_help.c:5203 +#: sql_help.c:5245 msgid "change the definition of a foreign-data wrapper" msgstr "modifier la définition d'un wrapper de données distantes" -#: sql_help.c:5209 +#: sql_help.c:5251 msgid "change the definition of a foreign table" msgstr "modifier la définition d'une table distante" -#: sql_help.c:5215 +#: sql_help.c:5257 msgid "change the definition of a function" msgstr "modifier la définition d'une fonction" -#: sql_help.c:5221 +#: sql_help.c:5263 msgid "change role name or membership" msgstr "modifier le nom d'un groupe ou la liste des ses membres" -#: sql_help.c:5227 +#: sql_help.c:5269 msgid "change the definition of an index" msgstr "modifier la définition d'un index" -#: sql_help.c:5233 +#: sql_help.c:5275 msgid "change the definition of a procedural language" msgstr "modifier la définition d'un langage procédural" -#: sql_help.c:5239 +#: sql_help.c:5281 msgid "change the definition of a large object" msgstr "modifier la définition d'un « Large Object »" -#: sql_help.c:5245 +#: sql_help.c:5287 msgid "change the definition of a materialized view" msgstr "modifier la définition d'une vue matérialisée" -#: sql_help.c:5251 +#: sql_help.c:5293 msgid "change the definition of an operator" msgstr "modifier la définition d'un opérateur" -#: sql_help.c:5257 +#: sql_help.c:5299 msgid "change the definition of an operator class" msgstr "modifier la définition d'une classe d'opérateurs" -#: sql_help.c:5263 +#: sql_help.c:5305 msgid "change the definition of an operator family" msgstr "modifier la définition d'une famille d'opérateur" -#: sql_help.c:5269 +#: sql_help.c:5311 msgid "change the definition of a row-level security policy" msgstr "modifier la définition d'une politique de sécurité au niveau ligne" -#: sql_help.c:5275 +#: sql_help.c:5317 msgid "change the definition of a procedure" msgstr "modifier la définition d'une procédure" -#: sql_help.c:5281 +#: sql_help.c:5323 msgid "change the definition of a publication" msgstr "modifier la définition d'une publication" -#: sql_help.c:5287 sql_help.c:5389 +#: sql_help.c:5329 sql_help.c:5431 msgid "change a database role" msgstr "modifier un rôle" -#: sql_help.c:5293 +#: sql_help.c:5335 msgid "change the definition of a routine" msgstr "modifier la définition d'une routine" -#: sql_help.c:5299 +#: sql_help.c:5341 msgid "change the definition of a rule" msgstr "modifier la définition d'une règle" -#: sql_help.c:5305 +#: sql_help.c:5347 msgid "change the definition of a schema" msgstr "modifier la définition d'un schéma" -#: sql_help.c:5311 +#: sql_help.c:5353 msgid "change the definition of a sequence generator" msgstr "modifier la définition d'un générateur de séquence" -#: sql_help.c:5317 +#: sql_help.c:5359 msgid "change the definition of a foreign server" msgstr "modifier la définition d'un serveur distant" -#: sql_help.c:5323 +#: sql_help.c:5365 msgid "change the definition of an extended statistics object" msgstr "modifier la définition d'un objet de statistiques étendues" -#: sql_help.c:5329 +#: sql_help.c:5371 msgid "change the definition of a subscription" msgstr "modifier la définition d'une souscription" -#: sql_help.c:5335 +#: sql_help.c:5377 msgid "change a server configuration parameter" msgstr "modifie un paramètre de configuration du serveur" -#: sql_help.c:5341 +#: sql_help.c:5383 msgid "change the definition of a table" msgstr "modifier la définition d'une table" -#: sql_help.c:5347 +#: sql_help.c:5389 msgid "change the definition of a tablespace" msgstr "modifier la définition d'un tablespace" -#: sql_help.c:5353 +#: sql_help.c:5395 msgid "change the definition of a text search configuration" msgstr "modifier la définition d'une configuration de la recherche de texte" -#: sql_help.c:5359 +#: sql_help.c:5401 msgid "change the definition of a text search dictionary" msgstr "modifier la définition d'un dictionnaire de la recherche de texte" -#: sql_help.c:5365 +#: sql_help.c:5407 msgid "change the definition of a text search parser" msgstr "modifier la définition d'un analyseur de la recherche de texte" -#: sql_help.c:5371 +#: sql_help.c:5413 msgid "change the definition of a text search template" msgstr "modifier la définition d'un modèle de la recherche de texte" -#: sql_help.c:5377 +#: sql_help.c:5419 msgid "change the definition of a trigger" msgstr "modifier la définition d'un trigger" -#: sql_help.c:5383 +#: sql_help.c:5425 msgid "change the definition of a type" msgstr "modifier la définition d'un type" -#: sql_help.c:5395 +#: sql_help.c:5437 msgid "change the definition of a user mapping" msgstr "modifier la définition d'une correspondance d'utilisateur" -#: sql_help.c:5401 +#: sql_help.c:5443 msgid "change the definition of a view" msgstr "modifier la définition d'une vue" -#: sql_help.c:5407 +#: sql_help.c:5449 msgid "collect statistics about a database" msgstr "acquérir des statistiques concernant la base de données" -#: sql_help.c:5413 sql_help.c:6211 +#: sql_help.c:5455 sql_help.c:6253 msgid "start a transaction block" msgstr "débuter un bloc de transaction" -#: sql_help.c:5419 +#: sql_help.c:5461 msgid "invoke a procedure" msgstr "appeler une procédure" -#: sql_help.c:5425 +#: sql_help.c:5467 msgid "force a write-ahead log checkpoint" msgstr "forcer un point de vérification des journaux de transactions" -#: sql_help.c:5431 +#: sql_help.c:5473 msgid "close a cursor" msgstr "fermer un curseur" -#: sql_help.c:5437 +#: sql_help.c:5479 msgid "cluster a table according to an index" msgstr "réorganiser (cluster) une table en fonction d'un index" -#: sql_help.c:5443 +#: sql_help.c:5485 msgid "define or change the comment of an object" msgstr "définir ou modifier les commentaires d'un objet" -#: sql_help.c:5449 sql_help.c:6007 +#: sql_help.c:5491 sql_help.c:6049 msgid "commit the current transaction" msgstr "valider la transaction en cours" -#: sql_help.c:5455 +#: sql_help.c:5497 msgid "commit a transaction that was earlier prepared for two-phase commit" msgstr "" "valider une transaction précédemment préparée pour une validation en deux\n" "phases" -#: sql_help.c:5461 +#: sql_help.c:5503 msgid "copy data between a file and a table" msgstr "copier des données entre un fichier et une table" -#: sql_help.c:5467 +#: sql_help.c:5509 msgid "define a new access method" msgstr "définir une nouvelle méthode d'accès" -#: sql_help.c:5473 +#: sql_help.c:5515 msgid "define a new aggregate function" msgstr "définir une nouvelle fonction d'agrégation" -#: sql_help.c:5479 +#: sql_help.c:5521 msgid "define a new cast" msgstr "définir un nouveau transtypage" -#: sql_help.c:5485 +#: sql_help.c:5527 msgid "define a new collation" msgstr "définir un nouveau collationnement" -#: sql_help.c:5491 +#: sql_help.c:5533 msgid "define a new encoding conversion" msgstr "définir une nouvelle conversion d'encodage" -#: sql_help.c:5497 +#: sql_help.c:5539 msgid "create a new database" msgstr "créer une nouvelle base de données" -#: sql_help.c:5503 +#: sql_help.c:5545 msgid "define a new domain" msgstr "définir un nouveau domaine" -#: sql_help.c:5509 +#: sql_help.c:5551 msgid "define a new event trigger" msgstr "définir un nouveau trigger sur évènement" -#: sql_help.c:5515 +#: sql_help.c:5557 msgid "install an extension" msgstr "installer une extension" -#: sql_help.c:5521 +#: sql_help.c:5563 msgid "define a new foreign-data wrapper" msgstr "définir un nouveau wrapper de données distantes" -#: sql_help.c:5527 +#: sql_help.c:5569 msgid "define a new foreign table" msgstr "définir une nouvelle table distante" -#: sql_help.c:5533 +#: sql_help.c:5575 msgid "define a new function" msgstr "définir une nouvelle fonction" -#: sql_help.c:5539 sql_help.c:5599 sql_help.c:5701 +#: sql_help.c:5581 sql_help.c:5641 sql_help.c:5743 msgid "define a new database role" msgstr "définir un nouveau rôle" -#: sql_help.c:5545 +#: sql_help.c:5587 msgid "define a new index" msgstr "définir un nouvel index" -#: sql_help.c:5551 +#: sql_help.c:5593 msgid "define a new procedural language" msgstr "définir un nouveau langage de procédures" -#: sql_help.c:5557 +#: sql_help.c:5599 msgid "define a new materialized view" msgstr "définir une nouvelle vue matérialisée" -#: sql_help.c:5563 +#: sql_help.c:5605 msgid "define a new operator" msgstr "définir un nouvel opérateur" -#: sql_help.c:5569 +#: sql_help.c:5611 msgid "define a new operator class" msgstr "définir une nouvelle classe d'opérateur" -#: sql_help.c:5575 +#: sql_help.c:5617 msgid "define a new operator family" msgstr "définir une nouvelle famille d'opérateur" -#: sql_help.c:5581 +#: sql_help.c:5623 msgid "define a new row-level security policy for a table" msgstr "définir une nouvelle politique de sécurité au niveau ligne pour une table" -#: sql_help.c:5587 +#: sql_help.c:5629 msgid "define a new procedure" msgstr "définir une nouvelle procédure" -#: sql_help.c:5593 +#: sql_help.c:5635 msgid "define a new publication" msgstr "définir une nouvelle publication" -#: sql_help.c:5605 +#: sql_help.c:5647 msgid "define a new rewrite rule" msgstr "définir une nouvelle règle de réécriture" -#: sql_help.c:5611 +#: sql_help.c:5653 msgid "define a new schema" msgstr "définir un nouveau schéma" -#: sql_help.c:5617 +#: sql_help.c:5659 msgid "define a new sequence generator" msgstr "définir un nouveau générateur de séquence" -#: sql_help.c:5623 +#: sql_help.c:5665 msgid "define a new foreign server" msgstr "définir un nouveau serveur distant" -#: sql_help.c:5629 +#: sql_help.c:5671 msgid "define extended statistics" msgstr "définir des statistiques étendues" -#: sql_help.c:5635 +#: sql_help.c:5677 msgid "define a new subscription" msgstr "définir une nouvelle souscription" -#: sql_help.c:5641 +#: sql_help.c:5683 msgid "define a new table" msgstr "définir une nouvelle table" -#: sql_help.c:5647 sql_help.c:6169 +#: sql_help.c:5689 sql_help.c:6211 msgid "define a new table from the results of a query" msgstr "définir une nouvelle table à partir des résultats d'une requête" -#: sql_help.c:5653 +#: sql_help.c:5695 msgid "define a new tablespace" msgstr "définir un nouveau tablespace" -#: sql_help.c:5659 +#: sql_help.c:5701 msgid "define a new text search configuration" msgstr "définir une nouvelle configuration de la recherche de texte" -#: sql_help.c:5665 +#: sql_help.c:5707 msgid "define a new text search dictionary" msgstr "définir un nouveau dictionnaire de la recherche de texte" -#: sql_help.c:5671 +#: sql_help.c:5713 msgid "define a new text search parser" msgstr "définir un nouvel analyseur de la recherche de texte" -#: sql_help.c:5677 +#: sql_help.c:5719 msgid "define a new text search template" msgstr "définir un nouveau modèle de la recherche de texte" -#: sql_help.c:5683 +#: sql_help.c:5725 msgid "define a new transform" msgstr "définir une nouvelle transformation" -#: sql_help.c:5689 +#: sql_help.c:5731 msgid "define a new trigger" msgstr "définir un nouveau trigger" -#: sql_help.c:5695 +#: sql_help.c:5737 msgid "define a new data type" msgstr "définir un nouveau type de données" -#: sql_help.c:5707 +#: sql_help.c:5749 msgid "define a new mapping of a user to a foreign server" msgstr "définit une nouvelle correspondance d'un utilisateur vers un serveur distant" -#: sql_help.c:5713 +#: sql_help.c:5755 msgid "define a new view" msgstr "définir une nouvelle vue" -#: sql_help.c:5719 +#: sql_help.c:5761 msgid "deallocate a prepared statement" msgstr "désallouer une instruction préparée" -#: sql_help.c:5725 +#: sql_help.c:5767 msgid "define a cursor" msgstr "définir un curseur" -#: sql_help.c:5731 +#: sql_help.c:5773 msgid "delete rows of a table" msgstr "supprimer des lignes d'une table" -#: sql_help.c:5737 +#: sql_help.c:5779 msgid "discard session state" msgstr "annuler l'état de la session" -#: sql_help.c:5743 +#: sql_help.c:5785 msgid "execute an anonymous code block" msgstr "exécute un bloc de code anonyme" -#: sql_help.c:5749 +#: sql_help.c:5791 msgid "remove an access method" msgstr "supprimer une méthode d'accès" -#: sql_help.c:5755 +#: sql_help.c:5797 msgid "remove an aggregate function" msgstr "supprimer une fonction d'agrégation" -#: sql_help.c:5761 +#: sql_help.c:5803 msgid "remove a cast" msgstr "supprimer un transtypage" -#: sql_help.c:5767 +#: sql_help.c:5809 msgid "remove a collation" msgstr "supprimer un collationnement" -#: sql_help.c:5773 +#: sql_help.c:5815 msgid "remove a conversion" msgstr "supprimer une conversion" -#: sql_help.c:5779 +#: sql_help.c:5821 msgid "remove a database" msgstr "supprimer une base de données" -#: sql_help.c:5785 +#: sql_help.c:5827 msgid "remove a domain" msgstr "supprimer un domaine" -#: sql_help.c:5791 +#: sql_help.c:5833 msgid "remove an event trigger" msgstr "supprimer un trigger sur évènement" -#: sql_help.c:5797 +#: sql_help.c:5839 msgid "remove an extension" msgstr "supprimer une extension" -#: sql_help.c:5803 +#: sql_help.c:5845 msgid "remove a foreign-data wrapper" msgstr "supprimer un wrapper de données distantes" -#: sql_help.c:5809 +#: sql_help.c:5851 msgid "remove a foreign table" msgstr "supprimer une table distante" -#: sql_help.c:5815 +#: sql_help.c:5857 msgid "remove a function" msgstr "supprimer une fonction" -#: sql_help.c:5821 sql_help.c:5887 sql_help.c:5989 +#: sql_help.c:5863 sql_help.c:5929 sql_help.c:6031 msgid "remove a database role" msgstr "supprimer un rôle de la base de données" -#: sql_help.c:5827 +#: sql_help.c:5869 msgid "remove an index" msgstr "supprimer un index" -#: sql_help.c:5833 +#: sql_help.c:5875 msgid "remove a procedural language" msgstr "supprimer un langage procédural" -#: sql_help.c:5839 +#: sql_help.c:5881 msgid "remove a materialized view" msgstr "supprimer une vue matérialisée" -#: sql_help.c:5845 +#: sql_help.c:5887 msgid "remove an operator" msgstr "supprimer un opérateur" -#: sql_help.c:5851 +#: sql_help.c:5893 msgid "remove an operator class" msgstr "supprimer une classe d'opérateur" -#: sql_help.c:5857 +#: sql_help.c:5899 msgid "remove an operator family" msgstr "supprimer une famille d'opérateur" -#: sql_help.c:5863 +#: sql_help.c:5905 msgid "remove database objects owned by a database role" msgstr "supprimer les objets appartenant à un rôle" -#: sql_help.c:5869 +#: sql_help.c:5911 msgid "remove a row-level security policy from a table" msgstr "supprimer une politique de sécurité au niveau ligne pour une table" -#: sql_help.c:5875 +#: sql_help.c:5917 msgid "remove a procedure" msgstr "supprimer une procédure" -#: sql_help.c:5881 +#: sql_help.c:5923 msgid "remove a publication" msgstr "supprimer une publication" -#: sql_help.c:5893 +#: sql_help.c:5935 msgid "remove a routine" msgstr "supprimer une routine" -#: sql_help.c:5899 +#: sql_help.c:5941 msgid "remove a rewrite rule" msgstr "supprimer une règle de réécriture" -#: sql_help.c:5905 +#: sql_help.c:5947 msgid "remove a schema" msgstr "supprimer un schéma" -#: sql_help.c:5911 +#: sql_help.c:5953 msgid "remove a sequence" msgstr "supprimer une séquence" -#: sql_help.c:5917 +#: sql_help.c:5959 msgid "remove a foreign server descriptor" msgstr "supprimer un descripteur de serveur distant" -#: sql_help.c:5923 +#: sql_help.c:5965 msgid "remove extended statistics" msgstr "supprimer des statistiques étendues" -#: sql_help.c:5929 +#: sql_help.c:5971 msgid "remove a subscription" msgstr "supprimer une souscription" -#: sql_help.c:5935 +#: sql_help.c:5977 msgid "remove a table" msgstr "supprimer une table" -#: sql_help.c:5941 +#: sql_help.c:5983 msgid "remove a tablespace" msgstr "supprimer un tablespace" -#: sql_help.c:5947 +#: sql_help.c:5989 msgid "remove a text search configuration" msgstr "supprimer une configuration de la recherche de texte" -#: sql_help.c:5953 +#: sql_help.c:5995 msgid "remove a text search dictionary" msgstr "supprimer un dictionnaire de la recherche de texte" -#: sql_help.c:5959 +#: sql_help.c:6001 msgid "remove a text search parser" msgstr "supprimer un analyseur de la recherche de texte" -#: sql_help.c:5965 +#: sql_help.c:6007 msgid "remove a text search template" msgstr "supprimer un modèle de la recherche de texte" -#: sql_help.c:5971 +#: sql_help.c:6013 msgid "remove a transform" msgstr "supprimer une transformation" -#: sql_help.c:5977 +#: sql_help.c:6019 msgid "remove a trigger" msgstr "supprimer un trigger" -#: sql_help.c:5983 +#: sql_help.c:6025 msgid "remove a data type" msgstr "supprimer un type de données" -#: sql_help.c:5995 +#: sql_help.c:6037 msgid "remove a user mapping for a foreign server" msgstr "supprime une correspondance utilisateur pour un serveur distant" -#: sql_help.c:6001 +#: sql_help.c:6043 msgid "remove a view" msgstr "supprimer une vue" -#: sql_help.c:6013 +#: sql_help.c:6055 msgid "execute a prepared statement" msgstr "exécuter une instruction préparée" -#: sql_help.c:6019 +#: sql_help.c:6061 msgid "show the execution plan of a statement" msgstr "afficher le plan d'exécution d'une instruction" -#: sql_help.c:6025 +#: sql_help.c:6067 msgid "retrieve rows from a query using a cursor" msgstr "extraire certaines lignes d'une requête à l'aide d'un curseur" -#: sql_help.c:6031 +#: sql_help.c:6073 msgid "define access privileges" msgstr "définir des privilèges d'accès" -#: sql_help.c:6037 +#: sql_help.c:6079 msgid "import table definitions from a foreign server" msgstr "importer la définition d'une table à partir d'un serveur distant" -#: sql_help.c:6043 +#: sql_help.c:6085 msgid "create new rows in a table" msgstr "créer de nouvelles lignes dans une table" -#: sql_help.c:6049 +#: sql_help.c:6091 msgid "listen for a notification" msgstr "se mettre à l'écoute d'une notification" -#: sql_help.c:6055 +#: sql_help.c:6097 msgid "load a shared library file" msgstr "charger un fichier de bibliothèque partagée" -#: sql_help.c:6061 +#: sql_help.c:6103 msgid "lock a table" msgstr "verrouiller une table" -#: sql_help.c:6067 +#: sql_help.c:6109 msgid "conditionally insert, update, or delete rows of a table" msgstr "insère, modifie ou supprime des lignes d'une table de façon conditionnelle" -#: sql_help.c:6073 +#: sql_help.c:6115 msgid "position a cursor" msgstr "positionner un curseur" -#: sql_help.c:6079 +#: sql_help.c:6121 msgid "generate a notification" msgstr "engendrer une notification" -#: sql_help.c:6085 +#: sql_help.c:6127 msgid "prepare a statement for execution" msgstr "préparer une instruction pour exécution" -#: sql_help.c:6091 +#: sql_help.c:6133 msgid "prepare the current transaction for two-phase commit" msgstr "préparer la transaction en cours pour une validation en deux phases" -#: sql_help.c:6097 +#: sql_help.c:6139 msgid "change the ownership of database objects owned by a database role" msgstr "changer le propriétaire des objets d'un rôle" -#: sql_help.c:6103 +#: sql_help.c:6145 msgid "replace the contents of a materialized view" msgstr "remplacer le contenu d'une vue matérialisée" -#: sql_help.c:6109 +#: sql_help.c:6151 msgid "rebuild indexes" msgstr "reconstruire des index" -#: sql_help.c:6115 +#: sql_help.c:6157 msgid "release a previously defined savepoint" msgstr "détruire un savepoint précédemment défini" -#: sql_help.c:6121 +#: sql_help.c:6163 msgid "restore the value of a run-time parameter to the default value" msgstr "réinitialiser un paramètre d'exécution à sa valeur par défaut" -#: sql_help.c:6127 +#: sql_help.c:6169 msgid "remove access privileges" msgstr "supprimer des privilèges d'accès" -#: sql_help.c:6139 +#: sql_help.c:6181 msgid "cancel a transaction that was earlier prepared for two-phase commit" msgstr "" "annuler une transaction précédemment préparée pour une validation en deux\n" "phases" -#: sql_help.c:6145 +#: sql_help.c:6187 msgid "roll back to a savepoint" msgstr "annuler jusqu'au point de retournement" -#: sql_help.c:6151 +#: sql_help.c:6193 msgid "define a new savepoint within the current transaction" msgstr "définir un nouveau point de retournement pour la transaction en cours" -#: sql_help.c:6157 +#: sql_help.c:6199 msgid "define or change a security label applied to an object" msgstr "définir ou modifier un label de sécurité à un objet" -#: sql_help.c:6163 sql_help.c:6217 sql_help.c:6253 +#: sql_help.c:6205 sql_help.c:6259 sql_help.c:6295 msgid "retrieve rows from a table or view" msgstr "extraire des lignes d'une table ou d'une vue" -#: sql_help.c:6175 +#: sql_help.c:6217 msgid "change a run-time parameter" msgstr "modifier un paramètre d'exécution" -#: sql_help.c:6181 +#: sql_help.c:6223 msgid "set constraint check timing for the current transaction" msgstr "définir le moment de la vérification des contraintes pour la transaction en cours" -#: sql_help.c:6187 +#: sql_help.c:6229 msgid "set the current user identifier of the current session" msgstr "définir l'identifiant actuel de l'utilisateur de la session courante" -#: sql_help.c:6193 +#: sql_help.c:6235 msgid "set the session user identifier and the current user identifier of the current session" msgstr "" "définir l'identifiant de l'utilisateur de session et l'identifiant actuel de\n" "l'utilisateur de la session courante" -#: sql_help.c:6199 +#: sql_help.c:6241 msgid "set the characteristics of the current transaction" msgstr "définir les caractéristiques de la transaction en cours" -#: sql_help.c:6205 +#: sql_help.c:6247 msgid "show the value of a run-time parameter" msgstr "afficher la valeur d'un paramètre d'exécution" -#: sql_help.c:6223 +#: sql_help.c:6265 msgid "empty a table or set of tables" msgstr "vider une table ou un ensemble de tables" -#: sql_help.c:6229 +#: sql_help.c:6271 msgid "stop listening for a notification" msgstr "arrêter l'écoute d'une notification" -#: sql_help.c:6235 +#: sql_help.c:6277 msgid "update rows of a table" msgstr "actualiser les lignes d'une table" -#: sql_help.c:6241 +#: sql_help.c:6283 msgid "garbage-collect and optionally analyze a database" msgstr "compacter et optionnellement analyser une base de données" -#: sql_help.c:6247 +#: sql_help.c:6289 msgid "compute a set of rows" msgstr "calculer un ensemble de lignes" @@ -6623,7 +6696,7 @@ msgstr "option supplémentaire « %s » ignorée" msgid "could not find own program executable" msgstr "n'a pas pu trouver son propre exécutable" -#: tab-complete.c:6078 +#: tab-complete.c:6230 #, c-format msgid "" "tab completion query failed: %s\n" @@ -6657,468 +6730,3 @@ msgid "" msgstr "" "valeur « %s » non reconnue pour « %s »\n" "Les valeurs disponibles sont : %s." - -#~ msgid " \"%s\"" -#~ msgstr " « %s »" - -#~ msgid " \"%s\" IN %s %s" -#~ msgstr " \"%s\" DANS %s %s" - -#~ msgid " --help show this help, then exit\n" -#~ msgstr " --help affiche cette aide, puis quitte\n" - -#~ msgid " --version output version information, then exit\n" -#~ msgstr " --version affiche la version, puis quitte\n" - -#~ msgid " -?, --help show this help, then exit\n" -#~ msgstr " -?, --help affiche cette aide puis quitte\n" - -#~ msgid " SERVER_VERSION_NAME server's version (short string)\n" -#~ msgstr " SERVER_VERSION_NAME version du serveur (chaîne courte)\n" - -#~ msgid " VERSION psql's version (verbose string)\n" -#~ msgstr " VERSION version de psql (chaîne verbeuse)\n" - -#~ msgid " VERSION_NAME psql's version (short string)\n" -#~ msgstr " VERSION_NAME version de psql (chaîne courte)\n" - -#~ msgid " VERSION_NUM psql's version (numeric format)\n" -#~ msgstr " VERSION_NUM version de psql (format numérique)\n" - -#~ msgid " \\dFd [PATTERN] list text search dictionaries (add \"+\" for more detail)\n" -#~ msgstr "" -#~ " \\dFd [MODÈLE] affiche la liste des dictionnaires de la recherche\n" -#~ " de texte (ajouter « + » pour plus de détails)\n" - -#~ msgid " \\dFp [PATTERN] list text search parsers (add \"+\" for more detail)\n" -#~ msgstr "" -#~ " \\dFp [MODÈLE] affiche la liste des analyseurs de la recherche de\n" -#~ " texte (ajouter « + » pour plus de détails)\n" - -#~ msgid " \\dT [PATTERN] list data types (add \"+\" for more detail)\n" -#~ msgstr "" -#~ " \\dT [MODÈLE] affiche la liste des types de données (ajouter « + »\n" -#~ " pour plus de détails)\n" - -#~ msgid " \\db [PATTERN] list tablespaces (add \"+\" for more detail)\n" -#~ msgstr "" -#~ " \\db [MODÈLE] affiche la liste des tablespaces (ajouter « + » pour\n" -#~ " plus de détails)\n" - -#~ msgid " \\df [PATTERN] list functions (add \"+\" for more detail)\n" -#~ msgstr "" -#~ " \\df [MODÈLE] affiche la liste des fonctions (ajouter « + » pour\n" -#~ " plus de détails)\n" - -#~ msgid " \\dn [PATTERN] list schemas (add \"+\" for more detail)\n" -#~ msgstr "" -#~ " \\dn [MODÈLE] affiche la liste des schémas (ajouter « + » pour\n" -#~ " plus de détails)\n" - -#~ msgid "" -#~ " \\d{t|i|s|v|S} [PATTERN] (add \"+\" for more detail)\n" -#~ " list tables/indexes/sequences/views/system tables\n" -#~ msgstr "" -#~ " \\d{t|i|s|v|S} [MODÈLE] (ajouter « + » pour plus de détails)\n" -#~ " affiche la liste des\n" -#~ " tables/index/séquences/vues/tables système\n" - -#~ msgid " \\g [FILE] or ; execute query (and send results to file or |pipe)\n" -#~ msgstr "" -#~ " \\g [FICHIER] ou ; envoie le tampon de requêtes au serveur (et les\n" -#~ " résultats au fichier ou |tube)\n" - -#~ msgid " \\l list all databases (add \"+\" for more detail)\n" -#~ msgstr "" -#~ " \\l affiche la liste des bases de données (ajouter « + »\n" -#~ " pour plus de détails)\n" - -#~ msgid " \\l[+] list all databases\n" -#~ msgstr " \\l[+] affiche la liste des bases de données\n" - -#, c-format -#~ msgid "" -#~ " \\lo_export LOBOID FILE\n" -#~ " \\lo_import FILE [COMMENT]\n" -#~ " \\lo_list[+]\n" -#~ " \\lo_unlink LOBOID large object operations\n" -#~ msgstr "" -#~ " \\lo_export OIDLOB FICHIER\n" -#~ " \\lo_import FICHIER [COMMENTAIRE]\n" -#~ " \\lo_list[+]\n" -#~ " \\lo_unlink OIDLOB opérations sur les « Large Objects »\n" - -#~ msgid " \\z [PATTERN] list table, view, and sequence access privileges (same as \\dp)\n" -#~ msgstr "" -#~ " \\z [MODÈLE] affiche la liste des privilèges d'accès aux tables,\n" -#~ " vues et séquences (identique à \\dp)\n" - -#~ msgid " as user \"%s\"" -#~ msgstr " comme utilisateur « %s »" - -#~ msgid " at port \"%s\"" -#~ msgstr " sur le port « %s »" - -#~ msgid " on host \"%s\"" -#~ msgstr " sur l'hôte « %s »" - -#~ msgid "%s\n" -#~ msgstr "%s\n" - -#~ msgid "%s: %s\n" -#~ msgstr "%s : %s\n" - -#~ msgid "%s: could not open log file \"%s\": %s\n" -#~ msgstr "%s : n'a pas pu ouvrir le journal applicatif « %s » : %s\n" - -#~ msgid "%s: could not set variable \"%s\"\n" -#~ msgstr "%s : n'a pas pu initialiser la variable « %s »\n" - -#~ msgid "%s: pg_strdup: cannot duplicate null pointer (internal error)\n" -#~ msgstr "%s : pg_strdup : ne peut pas dupliquer le pointeur null (erreur interne)\n" - -#~ msgid "(1 row)" -#~ msgid_plural "(%lu rows)" -#~ msgstr[0] "(1 ligne)" -#~ msgstr[1] "(%lu lignes)" - -#~ msgid "(No rows)\n" -#~ msgstr "(Aucune ligne)\n" - -#~ msgid "+ opt(%d) = |%s|\n" -#~ msgstr "+ opt(%d) = |%s|\n" - -#~ msgid "?%c? \"%s.%s\"" -#~ msgstr "?%c? « %s.%s »" - -#~ msgid "Access privileges for database \"%s\"" -#~ msgstr "Droits d'accès pour la base de données « %s »" - -#~ msgid "All connection parameters must be supplied because no database connection exists" -#~ msgstr "Tous les paramètres de connexion doivent être fournis car il n'existe pas de connexion à une base de données" - -#~ msgid "Copy, Large Object\n" -#~ msgstr "Copie, « Large Object »\n" - -#~ msgid "Could not send cancel request: %s" -#~ msgstr "N'a pas pu envoyer la requête d'annulation : %s" - -#~ msgid "Disabled triggers:" -#~ msgstr "Triggers désactivés :" - -#~ msgid "Enter new password: " -#~ msgstr "Saisir le nouveau mot de passe : " - -#~ msgid "Exclusion constraints:" -#~ msgstr "Contraintes d'exclusion :" - -#~ msgid "Invalid command \\%s. Try \\? for help.\n" -#~ msgstr "Commande \\%s invalide. Essayez \\? pour l'aide-mémoire.\n" - -#~ msgid "Modifier" -#~ msgstr "Modificateur" - -#~ msgid "Modifiers" -#~ msgstr "Modificateurs" - -#~ msgid "No matching relations found.\n" -#~ msgstr "Aucune relation correspondante trouvée.\n" - -#~ msgid "No matching settings found.\n" -#~ msgstr "Aucun paramètre correspondant trouvé.\n" - -#~ msgid "No per-database role settings support in this server version.\n" -#~ msgstr "Pas de supprot des paramètres rôle par base de données pour la version de ce serveur.\n" - -#~ msgid "No relations found.\n" -#~ msgstr "Aucune relation trouvée.\n" - -#~ msgid "No settings found.\n" -#~ msgstr "Aucun paramètre trouvé.\n" - -#~ msgid "Object Description" -#~ msgstr "Description d'un objet" - -#~ msgid "Password encryption failed.\n" -#~ msgstr "Échec du chiffrement du mot de passe.\n" - -#~ msgid "Procedure" -#~ msgstr "Procédure" - -#~ msgid "Report bugs to .\n" -#~ msgstr "Rapporter les bogues à .\n" - -#~ msgid "Report bugs to .\n" -#~ msgstr "Rapportez les bogues à .\n" - -#~ msgid "SSL connection (unknown cipher)\n" -#~ msgstr "Connexion SSL (chiffrement inconnu)\n" - -#~ msgid "Showing locale-adjusted numeric output." -#~ msgstr "Affichage de la sortie numérique adaptée à la locale." - -#~ msgid "Showing only tuples." -#~ msgstr "Affichage des tuples seuls." - -#~ msgid "Source code" -#~ msgstr "Code source" - -#, c-format -#~ msgid "Special relation \"%s.%s\"" -#~ msgstr "Relation spéciale « %s.%s »" - -#, c-format -#~ msgid "The server (version %s) does not support altering default privileges." -#~ msgstr "Le serveur (version %s) ne supporte pas la modification des droits par défaut." - -#, c-format -#~ msgid "The server (version %s) does not support collations." -#~ msgstr "Le serveur (version %s) ne supporte pas les collationnements." - -#, c-format -#~ msgid "The server (version %s) does not support editing function source." -#~ msgstr "Le serveur (version %s) ne supporte pas l'édition du code de la fonction." - -#, c-format -#~ msgid "The server (version %s) does not support editing view definitions." -#~ msgstr "Le serveur (version %s) ne supporte pas l'édition des définitions de vue." - -#, c-format -#~ msgid "The server (version %s) does not support foreign servers." -#~ msgstr "Le serveur (version %s) ne supporte pas les serveurs distants." - -#, c-format -#~ msgid "The server (version %s) does not support foreign tables." -#~ msgstr "Le serveur (version %s) ne supporte pas les tables distantes." - -#, c-format -#~ msgid "The server (version %s) does not support foreign-data wrappers." -#~ msgstr "Le serveur (version %s) ne supporte pas les wrappers de données distantes." - -#, c-format -#~ msgid "The server (version %s) does not support full text search." -#~ msgstr "Le serveur (version %s) ne supporte pas la recherche plein texte." - -#, c-format -#~ msgid "The server (version %s) does not support per-database role settings." -#~ msgstr "Le serveur (version %s) ne supporte pas les paramètres de rôles par bases de données." - -#, c-format -#~ msgid "The server (version %s) does not support savepoints for ON_ERROR_ROLLBACK." -#~ msgstr "Le serveur (version %s) ne supporte pas les points de sauvegarde pour ON_ERROR_ROLLBACK." - -#, c-format -#~ msgid "The server (version %s) does not support showing function source." -#~ msgstr "Le serveur (version %s) ne supporte pas l'affichage du code de la fonction." - -#, c-format -#~ msgid "The server (version %s) does not support showing view definitions." -#~ msgstr "Le serveur (version %s) ne supporte pas l'affichage des définitions de vues." - -#, c-format -#~ msgid "The server (version %s) does not support tablespaces." -#~ msgstr "Le serveur (version %s) ne supporte pas les tablespaces." - -#, c-format -#~ msgid "The server (version %s) does not support user mappings." -#~ msgstr "Le serveur (version %s) ne supporte pas les correspondances d'utilisateurs." - -#, c-format -#~ msgid "Try \"%s --help\" for more information.\n" -#~ msgstr "Essayez « %s --help » pour plus d'informations.\n" - -#~ msgid "" -#~ "WARNING: You are connected to a server with major version %d.%d,\n" -#~ "but your %s client is major version %d.%d. Some backslash commands,\n" -#~ "such as \\d, might not work properly.\n" -#~ "\n" -#~ msgstr "" -#~ "ATTENTION : vous êtes connecté sur un serveur dont la version majeure est\n" -#~ "%d.%d alors que votre client %s est en version majeure %d.%d. Certaines\n" -#~ "commandes avec antislashs, comme \\d, peuvent ne pas fonctionner\n" -#~ "correctement.\n" -#~ "\n" - -#~ msgid "Watch every %lds\t%s" -#~ msgstr "Vérifier chaque %lds\t%s" - -#~ msgid "" -#~ "Welcome to %s %s (server %s), the PostgreSQL interactive terminal.\n" -#~ "\n" -#~ msgstr "" -#~ "Bienvenue dans %s %s (serveur %s), l'interface interactive de PostgreSQL.\n" -#~ "\n" - -#~ msgid "" -#~ "Welcome to %s %s, the PostgreSQL interactive terminal.\n" -#~ "\n" -#~ msgstr "" -#~ "Bienvenue dans %s %s, l'interface interactive de PostgreSQL.\n" -#~ "\n" - -#~ msgid "\\%s: error\n" -#~ msgstr "\\%s : erreur\n" - -#~ msgid "\\%s: error while setting variable\n" -#~ msgstr "\\%s : erreur lors de l'initialisation de la variable\n" - -#~ msgid "\\copy: %s" -#~ msgstr "\\copy : %s" - -#~ msgid "\\copy: unexpected response (%d)\n" -#~ msgstr "\\copy : réponse inattendue (%d)\n" - -#, c-format -#~ msgid "\\watch cannot be used with COPY" -#~ msgstr "\\watch ne peut pas être utilisé avec COPY" - -#~ msgid "agg_name" -#~ msgstr "nom_d_agrégat" - -#~ msgid "agg_type" -#~ msgstr "type_aggrégat" - -#~ msgid "attribute" -#~ msgstr "attribut" - -#~ msgid "child process was terminated by signal %d" -#~ msgstr "le processus fils a été terminé par le signal %d" - -#~ msgid "child process was terminated by signal %s" -#~ msgstr "le processus fils a été terminé par le signal %s" - -#~ msgid "collate %s" -#~ msgstr "collationnement %s" - -#~ msgid "collation_name" -#~ msgstr "nom_collation" - -#~ msgid "column" -#~ msgstr "colonne" - -#~ msgid "contains support for command-line editing" -#~ msgstr "contient une gestion avancée de la ligne de commande" - -#~ msgid "could not change directory to \"%s\"" -#~ msgstr "n'a pas pu accéder au répertoire « %s »" - -#, c-format -#~ msgid "could not change directory to \"%s\": %m" -#~ msgstr "n'a pas pu modifier le répertoire par « %s » : %m" - -#~ msgid "could not change directory to \"%s\": %s" -#~ msgstr "n'a pas pu changer le répertoire par « %s » : %s" - -#~ msgid "could not close pipe to external command: %s\n" -#~ msgstr "n'a pas pu fermer le fichier pipe vers la commande externe : %s\n" - -#~ msgid "could not connect to server: %s" -#~ msgstr "n'a pas pu se connecter au serveur : %s" - -#~ msgid "could not execute command \"%s\": %s\n" -#~ msgstr "n'a pas pu exécuter la commande « %s » : %s\n" - -#~ msgid "could not get current user name: %s\n" -#~ msgstr "n'a pas pu obtenir le nom d'utilisateur courant : %s\n" - -#, c-format -#~ msgid "could not identify current directory: %m" -#~ msgstr "n'a pas pu identifier le répertoire courant : %m" - -#~ msgid "could not identify current directory: %s" -#~ msgstr "n'a pas pu identifier le répertoire courant : %s" - -#~ msgid "could not open temporary file \"%s\": %s\n" -#~ msgstr "n'a pas pu ouvrir le fichier temporaire « %s » : %s\n" - -#, c-format -#~ msgid "could not read binary \"%s\"" -#~ msgstr "n'a pas pu lire le binaire « %s »" - -#~ msgid "could not read symbolic link \"%s\"" -#~ msgstr "n'a pas pu lire le lien symbolique « %s »" - -#, c-format -#~ msgid "could not read symbolic link \"%s\": %m" -#~ msgstr "n'a pas pu lire le lien symbolique « %s » : %m" - -#~ msgid "could not set variable \"%s\"\n" -#~ msgstr "n'a pas pu initialiser la variable « %s »\n" - -#~ msgid "could not stat file \"%s\": %s\n" -#~ msgstr "n'a pas pu tester le fichier « %s » : %s\n" - -#~ msgid "data type" -#~ msgstr "type de données" - -#~ msgid "default %s" -#~ msgstr "Par défaut, %s" - -#~ msgid "define a new constraint trigger" -#~ msgstr "définir une nouvelle contrainte de déclenchement" - -#, c-format -#~ msgid "fatal: " -#~ msgstr "fatal : " - -#~ msgid "from_list" -#~ msgstr "liste_from" - -#~ msgid "input_data_type" -#~ msgstr "type_de_données_en_entrée" - -#, c-format -#~ msgid "invalid binary \"%s\"" -#~ msgstr "binaire « %s » invalide" - -#~ msgid "lock a named relation (table, etc)" -#~ msgstr "verrouille une relation nommée (table, etc)" - -#~ msgid "match" -#~ msgstr "match" - -#~ msgid "new_column" -#~ msgstr "nouvelle_colonne" - -#~ msgid "normal" -#~ msgstr "normal" - -#~ msgid "not null" -#~ msgstr "non NULL" - -#~ msgid "pclose failed: %m" -#~ msgstr "échec de pclose : %m" - -#~ msgid "pclose failed: %s" -#~ msgstr "échec de pclose : %s" - -#~ msgid "rolename" -#~ msgstr "nom_rôle" - -#~ msgid "serialtype" -#~ msgstr "serialtype" - -#~ msgid "special" -#~ msgstr "spécial" - -#~ msgid "statistic_type" -#~ msgstr "type_statistique" - -#~ msgid "tablespace" -#~ msgstr "tablespace" - -#~ msgid "text" -#~ msgstr "texte" - -#~ msgid "timezone" -#~ msgstr "fuseau_horaire" - -#, c-format -#~ msgid "unexpected result status for \\watch" -#~ msgstr "statut résultat inattendu pour \\watch" - -#~ msgid "unterminated quoted string\n" -#~ msgstr "chaîne entre guillemets non terminée\n" - -#~ msgid "where direction can be empty or one of:" -#~ msgstr "où direction peut être vide ou faire partie de :" diff --git a/src/bin/psql/po/it.po b/src/bin/psql/po/it.po index 7f071c3afe3..aee5e3b405e 100644 --- a/src/bin/psql/po/it.po +++ b/src/bin/psql/po/it.po @@ -21,7 +21,7 @@ msgstr "" "Project-Id-Version: psql (PostgreSQL) 11\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2022-09-26 08:16+0000\n" -"PO-Revision-Date: 2023-09-05 09:53+0200\n" +"PO-Revision-Date: 2024-06-26 09:10+0200\n" "Last-Translator: Daniele Varrazzo \n" "Language-Team: https://github.com/dvarrazzo/postgresql-it\n" "Language: it\n" @@ -2829,7 +2829,7 @@ msgstr " \\copy ... esegui una SQL COPY con flusso di dati dal cli #: help.c:227 msgid " \\echo [-n] [STRING] write string to standard output (-n for no newline)\n" -msgstr " \\echo [-n] [STRING] scrive la stringa nello standard output (-n per nessuna nuova riga)\n" +msgstr " \\echo [-n] [STRING] scrive la stringa nello standard output (-n per nessuna nuova riga)\n" #: help.c:228 msgid " \\i FILE execute commands from file\n" diff --git a/src/bin/psql/po/ja.po b/src/bin/psql/po/ja.po index 56cbe4ea2e6..788569569a2 100644 --- a/src/bin/psql/po/ja.po +++ b/src/bin/psql/po/ja.po @@ -11,8 +11,8 @@ msgid "" msgstr "" "Project-Id-Version: psql (PostgreSQL 17)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-06-14 11:24+0900\n" -"PO-Revision-Date: 2024-06-14 11:30+0900\n" +"POT-Creation-Date: 2024-11-11 10:16+0900\n" +"PO-Revision-Date: 2024-11-11 14:14+0900\n" "Last-Translator: Kyotaro Horiguchi \n" "Language-Team: Japan PostgreSQL Users Group \n" "Language: ja\n" @@ -22,22 +22,22 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Poedit 1.8.13\n" -#: ../../../src/common/logging.c:276 +#: ../../../src/common/logging.c:279 #, c-format msgid "error: " msgstr "エラー: " -#: ../../../src/common/logging.c:283 +#: ../../../src/common/logging.c:286 #, c-format msgid "warning: " msgstr "警告: " -#: ../../../src/common/logging.c:294 +#: ../../../src/common/logging.c:297 #, c-format msgid "detail: " msgstr "詳細: " -#: ../../../src/common/logging.c:301 +#: ../../../src/common/logging.c:304 #, c-format msgid "hint: " msgstr "ヒント: " @@ -62,28 +62,28 @@ msgstr "実行対象の\"%s\"が見つかりませんでした" msgid "could not resolve path \"%s\" to absolute form: %m" msgstr "パス\"%s\"を絶対パス形式に変換できませんでした: %m" -#: ../../common/exec.c:382 copy.c:326 +#: ../../common/exec.c:363 copy.c:326 #, c-format msgid "could not execute command \"%s\": %m" msgstr "コマンド\"%s\"を実行できませんでした: %m" -#: ../../common/exec.c:394 +#: ../../common/exec.c:375 #, c-format msgid "could not read from command \"%s\": %m" msgstr "コマンド\"%s\"から読み取れませんでした: %m" -#: ../../common/exec.c:397 +#: ../../common/exec.c:378 #, c-format msgid "no data was returned by command \"%s\"" msgstr "コマンド\"%s\"がデータを返却しませんでした" -#: ../../common/exec.c:424 +#: ../../common/exec.c:405 #, c-format msgid "%s() failed: %m" msgstr "%s() が失敗しました: %m" -#: ../../common/exec.c:562 ../../common/exec.c:607 ../../common/exec.c:699 -#: command.c:1372 command.c:3458 command.c:3507 command.c:3632 input.c:225 +#: ../../common/exec.c:543 ../../common/exec.c:588 ../../common/exec.c:680 +#: command.c:1463 command.c:3583 command.c:3632 command.c:3757 input.c:225 #: mainloop.c:80 mainloop.c:398 #, c-format msgid "out of memory" @@ -105,7 +105,7 @@ msgstr "null ポインターを複製することはできません(内部エラ 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:674 msgid "user does not exist" msgstr "ユーザーが存在しません" @@ -183,7 +183,7 @@ msgstr "テーブルの内容にセルを追加できません: セルの総数% msgid "invalid output format (internal error): %d" msgstr "出力フォーマットが無効(内部エラー):%d" -#: ../../fe_utils/psqlscan.l:718 +#: ../../fe_utils/psqlscan.l:732 #, c-format msgid "skipping recursive expansion of variable \"%s\"" msgstr "変数\"%s\"の再帰展開をスキップしています" @@ -198,302 +198,293 @@ msgstr "シェルコマンドの引数に改行(LF)または復帰(CR)が含ま msgid "database name contains a newline or carriage return: \"%s\"\n" msgstr "データベース名に改行(LF)または復帰(CR)が含まれています: \"%s\"\n" -#: ../../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 を持つローカルユーザーは存在しません" - -#: command.c:235 +#: command.c:238 #, c-format msgid "invalid command \\%s" msgstr "不正なコマンド \\%s " -#: command.c:237 +#: command.c:240 #, c-format msgid "Try \\? for help." msgstr " \\? でヘルプを表示します。" -#: command.c:255 +#: command.c:258 #, c-format msgid "\\%s: extra argument \"%s\" ignored" msgstr "\\%s: 余分な引数\"%s\"は無視されました" -#: command.c:307 +#: command.c:310 #, c-format msgid "\\%s command ignored; use \\endif or Ctrl-C to exit current \\if block" msgstr "\\%s コマンドは無視されます; 現在の\\ifブロックを抜けるには\\endifまたはCtrl-Cを使用します" -#: command.c:614 +#: command.c:526 command.c:721 command.c:1663 command.c:1782 command.c:2086 +#: command.c:2100 command.c:2119 command.c:2208 command.c:2321 command.c:2562 +#: command.c:2767 command.c:2807 +#, c-format +msgid "\\%s: missing required argument" +msgstr "\\%s: 必要な引数がありません" + +#: command.c:672 #, c-format msgid "could not get home directory for user ID %ld: %s" msgstr "ユーザーID %ldのホームディレクトリを取得できませんでした : %s" -#: command.c:633 +#: command.c:691 #, c-format msgid "\\%s: could not change directory to \"%s\": %m" msgstr "\\%s: ディレクトリを\"%s\"に変更できませんでした: %m" -#: command.c:657 +#: command.c:748 #, c-format msgid "You are currently not connected to a database.\n" msgstr "現在データベースに接続していません。\n" -#: command.c:667 +#: command.c:758 #, 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:761 #, 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:767 #, 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:770 #, 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:2675 +#: command.c:1160 command.c:1261 command.c:2800 #, c-format msgid "no query buffer" msgstr "問い合わせバッファがありません" -#: command.c:1102 command.c:5771 +#: command.c:1193 command.c:5901 #, c-format msgid "invalid line number: %s" msgstr "不正な行番号です: %s" -#: command.c:1248 +#: command.c:1339 msgid "No changes" msgstr "変更されていません" -#: command.c:1333 +#: command.c:1424 #, c-format msgid "%s: invalid encoding name or conversion procedure not found" msgstr "%s: エンコーディング名が不正であるか、または変換プロシージャが見つかりません。" -#: command.c:1368 command.c:2157 command.c:3454 command.c:3652 command.c:5877 +#: command.c:1459 command.c:2282 command.c:3579 command.c:3777 command.c:6007 #: common.c:221 common.c:270 common.c:440 common.c:1142 common.c:1160 -#: common.c:1228 common.c:1347 common.c:1385 common.c:1482 common.c:1548 -#: copy.c:486 copy.c:722 large_obj.c:157 large_obj.c:192 large_obj.c:254 +#: common.c:1228 common.c:1340 common.c:1378 common.c:1497 common.c:1563 +#: copy.c:486 copy.c:731 large_obj.c:157 large_obj.c:192 large_obj.c:254 #: startup.c:304 #, c-format msgid "%s" msgstr "%s" -#: command.c:1375 +#: command.c:1466 msgid "There is no previous error." msgstr "直前のエラーはありません。" -#: command.c:1488 +#: command.c:1579 #, c-format msgid "\\%s: missing right parenthesis" msgstr "\\%s: 右括弧がありません" -#: command.c:1572 command.c:1691 command.c:1995 command.c:2009 command.c:2028 -#: command.c:2196 command.c:2437 command.c:2642 command.c:2682 -#, c-format -msgid "\\%s: missing required argument" -msgstr "\\%s: 必要な引数がありません" - -#: command.c:1822 +#: command.c:1913 #, c-format msgid "\\elif: cannot occur after \\else" msgstr "\\elif: \\else の後には置けません" -#: command.c:1827 +#: command.c:1918 #, c-format msgid "\\elif: no matching \\if" msgstr "\\elif: 対応する \\if がありません" -#: command.c:1891 +#: command.c:1982 #, c-format msgid "\\else: cannot occur after \\else" msgstr "\\else: \\else の後には置けません" -#: command.c:1896 +#: command.c:1987 #, c-format msgid "\\else: no matching \\if" msgstr "\\else: 対応する \\if がありません" -#: command.c:1936 +#: command.c:2027 #, c-format msgid "\\endif: no matching \\if" msgstr "\\endif: 対応する \\if がありません" -#: command.c:2092 +#: command.c:2183 msgid "Query buffer is empty." msgstr "問い合わせバッファは空です。" -#: command.c:2135 +#: command.c:2260 #, c-format msgid "Enter new password for user \"%s\": " msgstr "ユーザー\"%s\"の新しいパスワードを入力してください: " -#: command.c:2139 +#: command.c:2264 msgid "Enter it again: " msgstr "もう一度入力してください: " -#: command.c:2148 +#: command.c:2273 #, c-format msgid "Passwords didn't match." msgstr "パスワードが一致しませんでした。" -#: command.c:2231 +#: command.c:2356 #, c-format msgid "\\%s: could not read value for variable" msgstr "\\%s: 変数の値を読み取ることができませんでした" -#: command.c:2333 +#: command.c:2458 msgid "Query buffer reset (cleared)." msgstr "問い合わせバッファがリセット(クリア)されました。" -#: command.c:2355 +#: command.c:2480 #, c-format msgid "Wrote history to file \"%s\".\n" msgstr "ファイル\"%s\"にヒストリーを出力しました。\n" -#: command.c:2442 +#: command.c:2567 #, c-format msgid "\\%s: environment variable name must not contain \"=\"" msgstr "\\%s: 環境変数名に\"=\"を含めることはできません" -#: command.c:2490 +#: command.c:2615 #, c-format msgid "function name is required" msgstr "関数名が必要です" -#: command.c:2492 +#: command.c:2617 #, c-format msgid "view name is required" msgstr "ビュー名が必要です" -#: command.c:2614 +#: command.c:2739 msgid "Timing is on." msgstr "タイミングは on です。" -#: command.c:2616 +#: command.c:2741 msgid "Timing is off." msgstr "タイミングは off です。" -#: command.c:2702 command.c:2740 command.c:4163 command.c:4166 command.c:4169 -#: command.c:4175 command.c:4177 command.c:4203 command.c:4213 command.c:4225 -#: command.c:4239 command.c:4266 command.c:4324 common.c:77 copy.c:329 +#: command.c:2827 command.c:2865 command.c:4288 command.c:4291 command.c:4294 +#: command.c:4300 command.c:4302 command.c:4328 command.c:4338 command.c:4350 +#: command.c:4364 command.c:4391 command.c:4449 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:2729 copy.c:388 +#: command.c:2854 copy.c:388 #, c-format msgid "%s: %s" msgstr "%s: %s" -#: command.c:2801 command.c:2867 +#: command.c:2926 command.c:2992 #, c-format msgid "\\watch: interval value is specified more than once" msgstr "\\watch: インターバル値が2回以上指定されました" -#: command.c:2811 command.c:2877 +#: command.c:2936 command.c:3002 #, c-format msgid "\\watch: incorrect interval value \"%s\"" msgstr "\\watch: 不正なインターバル値 \"%s\"" -#: command.c:2821 +#: command.c:2946 #, c-format msgid "\\watch: iteration count is specified more than once" msgstr "\\watch: 反復回数が2回以上指定されました" -#: command.c:2831 +#: command.c:2956 #, c-format msgid "\\watch: incorrect iteration count \"%s\"" msgstr "\\watch: 不正な反復回数 '%s'" -#: command.c:2841 +#: command.c:2966 #, c-format msgid "\\watch: minimum row count specified more than once" msgstr "\\watch: 詐称行数が2回以上指定されました" -#: command.c:2851 +#: command.c:2976 #, c-format msgid "\\watch: incorrect minimum row count \"%s\"" msgstr "\\watch: 不正な最小行数 \"%s\"" -#: command.c:2858 +#: command.c:2983 #, c-format msgid "\\watch: unrecognized parameter \"%s\"" msgstr "\\watch: 認識できないパラーメータ \"%s\"" -#: command.c:3255 startup.c:243 startup.c:293 +#: command.c:3380 startup.c:243 startup.c:293 msgid "Password: " msgstr "パスワード: " -#: command.c:3260 startup.c:290 +#: command.c:3385 startup.c:290 #, c-format msgid "Password for user %s: " msgstr "ユーザー %s のパスワード: " -#: command.c:3316 +#: command.c:3441 #, c-format msgid "Do not give user, host, or port separately when using a connection string" msgstr "接続文字列使用時はユーザー、ホストおよびポートは個別に指定しないでください" -#: command.c:3351 +#: command.c:3476 #, c-format msgid "No database connection exists to re-use parameters from" msgstr "パラメータ再利用に使用可能なデータベース接続がありません" -#: command.c:3658 +#: command.c:3783 #, c-format msgid "Previous connection kept" msgstr "以前の接続は保持されています" -#: command.c:3664 +#: command.c:3789 #, c-format msgid "\\connect: %s" msgstr "\\connect: %s" -#: command.c:3720 +#: command.c:3845 #, 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:3723 +#: command.c:3848 #, 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:3729 +#: command.c:3854 #, 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:3732 +#: command.c:3857 #, 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:3737 +#: command.c:3862 #, c-format msgid "You are now connected to database \"%s\" as user \"%s\".\n" msgstr "データベース\"%s\"にユーザー\"%s\"として接続しました。\n" -#: command.c:3843 +#: command.c:3968 #, c-format msgid "%s (%s, server %s)\n" msgstr "%s (%s、サーバー %s)\n" -#: command.c:3856 +#: command.c:3981 #, c-format msgid "" "WARNING: %s major version %s, server major version %s.\n" @@ -502,33 +493,33 @@ msgstr "" "警告: %s のメジャーバージョンは %s ですが、サーバーのメジャーバージョンは %s です。\n" " psql の機能の中で、動作しないものがあるかもしれません。\n" -#: command.c:3895 +#: command.c:4020 #, c-format msgid "SSL connection (protocol: %s, cipher: %s, compression: %s, ALPN: %s)\n" msgstr "SSL接続(プロトコル: %s、暗号化方式: %s、圧縮: %s、ALPN: %s)\n" -#: command.c:3896 command.c:3897 +#: command.c:4021 command.c:4022 msgid "unknown" msgstr "不明" -#: command.c:3898 help.c:42 +#: command.c:4023 help.c:39 msgid "off" msgstr "オフ" -#: command.c:3898 help.c:42 +#: command.c:4023 help.c:39 msgid "on" msgstr "オン" -#: command.c:3899 +#: command.c:4024 msgid "none" msgstr "なし" -#: command.c:3913 +#: command.c:4038 #, c-format msgid "GSSAPI-encrypted connection\n" msgstr "GSSAPI暗号化接続\n" -#: command.c:3933 +#: command.c:4058 #, c-format msgid "" "WARNING: Console code page (%u) differs from Windows code page (%u)\n" @@ -539,283 +530,283 @@ msgstr "" " 8ビット文字が正しく表示されない可能性があります。詳細はpsqlリファレンスマニュアルの\n" " \"Windowsユーザー向けの注意\" (Notes for Windows users)を参照してください。\n" -#: command.c:4038 +#: command.c:4163 #, c-format msgid "environment variable PSQL_EDITOR_LINENUMBER_ARG must be set to specify a line number" msgstr "環境変数PSQL_EDITOR_LINENUMBER_ARGで行番号を指定する必要があります" -#: command.c:4068 +#: command.c:4193 #, c-format msgid "could not start editor \"%s\"" msgstr "エディタ\"%s\"を起動できませんでした" -#: command.c:4070 +#: command.c:4195 #, c-format msgid "could not start /bin/sh" msgstr "/bin/shを起動できませんでした" -#: command.c:4120 +#: command.c:4245 #, c-format msgid "could not locate temporary directory: %s" msgstr "一時ディレクトリが見つかりませんでした: %s" -#: command.c:4147 +#: command.c:4272 #, c-format msgid "could not open temporary file \"%s\": %m" msgstr "一時ファイル\"%s\"をオープンできませんでした: %m" -#: command.c:4483 +#: command.c:4608 #, c-format msgid "\\pset: ambiguous abbreviation \"%s\" matches both \"%s\" and \"%s\"" msgstr "\\pset: 曖昧な短縮形\"%s\"が\"%s\"と\"%s\"のどちらにも合致します" -#: command.c:4503 +#: command.c:4628 #, 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:4522 +#: command.c:4647 #, c-format msgid "\\pset: allowed line styles are ascii, old-ascii, unicode" msgstr "\\pset: 有効な線のスタイルは ascii, old-ascii, unicode" -#: command.c:4537 +#: command.c:4662 #, c-format msgid "\\pset: allowed Unicode border line styles are single, double" msgstr "\\pset: 有効な Unicode 罫線のスタイルは single, double" -#: command.c:4552 +#: command.c:4677 #, c-format msgid "\\pset: allowed Unicode column line styles are single, double" msgstr "\\pset: 有効な Unicode 列罫線のスタイルは single, double" -#: command.c:4567 +#: command.c:4692 #, c-format msgid "\\pset: allowed Unicode header line styles are single, double" msgstr "\\pset: 有効な Unicode ヘッダー罫線のスタイルは single, double" -#: command.c:4619 +#: command.c:4744 #, 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\" (default)、\"%s\"、\"%s\"、または幅そのものを指定する数値です" -#: command.c:4636 +#: command.c:4761 #, c-format msgid "\\pset: csv_fieldsep must be a single one-byte character" msgstr "\\pset: csv_fieldsepは単一の1バイト文字でなければなりません" -#: command.c:4641 +#: command.c:4766 #, c-format msgid "\\pset: csv_fieldsep cannot be a double quote, a newline, or a carriage return" msgstr "\\pset: csv_fieldsepはダブルクォート、改行(LF)または復帰(CR)にはできません" -#: command.c:4779 command.c:4980 +#: command.c:4904 command.c:5105 #, c-format msgid "\\pset: unknown option: %s" msgstr "\\pset: 未定義のオプション:%s" -#: command.c:4799 +#: command.c:4924 #, c-format msgid "Border style is %d.\n" msgstr "罫線スタイルは %d です。\n" -#: command.c:4805 +#: command.c:4930 #, c-format msgid "Target width is unset.\n" msgstr "ターゲットの幅が設定されていません。\n" -#: command.c:4807 +#: command.c:4932 #, c-format msgid "Target width is %d.\n" msgstr "ターゲットの幅は %d です。\n" -#: command.c:4814 +#: command.c:4939 #, c-format msgid "Expanded display is on.\n" msgstr "拡張表示は on です。\n" -#: command.c:4816 +#: command.c:4941 #, c-format msgid "Expanded display is used automatically.\n" msgstr "拡張表示が自動的に使われます。\n" -#: command.c:4818 +#: command.c:4943 #, c-format msgid "Expanded display is off.\n" msgstr "拡張表示は off です。\n" -#: command.c:4825 command.c:4827 command.c:4829 +#: command.c:4950 command.c:4952 command.c:4954 #, c-format msgid "Expanded header width is \"%s\".\n" msgstr "拡張表示ヘッダ幅は\"%s\"です。\n" -#: command.c:4831 +#: command.c:4956 #, c-format msgid "Expanded header width is %d.\n" msgstr "拡張表示ヘッダ幅は%dです。\n" -#: command.c:4837 +#: command.c:4962 #, c-format msgid "Field separator for CSV is \"%s\".\n" msgstr "CSVのフィールド区切り文字は\"%s\"です。\n" -#: command.c:4845 command.c:4853 +#: command.c:4970 command.c:4978 #, c-format msgid "Field separator is zero byte.\n" msgstr "フィールド区切り文字はゼロバイトです。\n" -#: command.c:4847 +#: command.c:4972 #, c-format msgid "Field separator is \"%s\".\n" msgstr "フィールド区切り文字は\"%s\"です。\n" -#: command.c:4860 +#: command.c:4985 #, c-format msgid "Default footer is on.\n" msgstr "デフォルトフッター(行数の表示)は on です。\n" -#: command.c:4862 +#: command.c:4987 #, c-format msgid "Default footer is off.\n" msgstr "デフォルトフッター(行数の表示)は off です。\n" -#: command.c:4868 +#: command.c:4993 #, c-format msgid "Output format is %s.\n" msgstr "出力形式は %s です。\n" -#: command.c:4874 +#: command.c:4999 #, c-format msgid "Line style is %s.\n" msgstr "線のスタイルは %s です。\n" -#: command.c:4881 +#: command.c:5006 #, c-format msgid "Null display is \"%s\".\n" msgstr "Null表示は\"%s\"です。\n" -#: command.c:4889 +#: command.c:5014 #, c-format msgid "Locale-adjusted numeric output is on.\n" msgstr "『数値出力時のロケール調整』は on です。\n" -#: command.c:4891 +#: command.c:5016 #, c-format msgid "Locale-adjusted numeric output is off.\n" msgstr "『数値出力時のロケール調整』は off です。\n" -#: command.c:4898 +#: command.c:5023 #, c-format msgid "Pager is used for long output.\n" msgstr "表示が縦に長くなる場合はページャーを使います。\n" -#: command.c:4900 +#: command.c:5025 #, c-format msgid "Pager is always used.\n" msgstr "常にページャーを使います。\n" -#: command.c:4902 +#: command.c:5027 #, c-format msgid "Pager usage is off.\n" msgstr "「ページャーを使う」は off です。\n" -#: command.c:4908 +#: command.c:5033 #, 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" msgstr[0] "%d 行未満の場合、ページャーは使われません。\n" -#: command.c:4918 command.c:4928 +#: command.c:5043 command.c:5053 #, c-format msgid "Record separator is zero byte.\n" msgstr "レコードの区切り文字はゼロバイトです\n" -#: command.c:4920 +#: command.c:5045 #, c-format msgid "Record separator is .\n" msgstr "レコード区切り文字はです。\n" -#: command.c:4922 +#: command.c:5047 #, c-format msgid "Record separator is \"%s\".\n" msgstr "レコード区切り記号は\"%s\"です。\n" -#: command.c:4935 +#: command.c:5060 #, c-format msgid "Table attributes are \"%s\".\n" msgstr "テーブル属性は\"%s\"です。\n" -#: command.c:4938 +#: command.c:5063 #, c-format msgid "Table attributes unset.\n" msgstr "テーブル属性は設定されていません。\n" -#: command.c:4945 +#: command.c:5070 #, c-format msgid "Title is \"%s\".\n" msgstr "タイトルは\"%s\"です。\n" -#: command.c:4947 +#: command.c:5072 #, c-format msgid "Title is unset.\n" msgstr "タイトルは設定されていません。\n" -#: command.c:4954 +#: command.c:5079 #, c-format msgid "Tuples only is on.\n" msgstr "「タプルのみ表示」は on です。\n" -#: command.c:4956 +#: command.c:5081 #, c-format msgid "Tuples only is off.\n" msgstr "「タプルのみ表示」は off です。\n" -#: command.c:4962 +#: command.c:5087 #, c-format msgid "Unicode border line style is \"%s\".\n" msgstr "Unicode の罫線スタイルは\"%s\"です。\n" -#: command.c:4968 +#: command.c:5093 #, c-format msgid "Unicode column line style is \"%s\".\n" msgstr "Unicode 行罫線のスタイルは\"%s\"です。\n" -#: command.c:4974 +#: command.c:5099 #, c-format msgid "Unicode header line style is \"%s\".\n" msgstr "Unicodeヘッダー行のスタイルは\"%s\"です。\n" -#: command.c:5223 +#: command.c:5348 #, c-format msgid "\\!: failed" msgstr "\\!: 失敗" -#: command.c:5257 +#: command.c:5386 #, c-format msgid "\\watch cannot be used with an empty query" msgstr "\\watchは空の問い合わせでは使えません" -#: command.c:5289 +#: command.c:5418 #, c-format msgid "could not set timer: %m" msgstr "タイマーを設定できません: %m" -#: command.c:5358 +#: command.c:5487 #, c-format msgid "%s\t%s (every %gs)\n" msgstr "%s\t%s (%g 秒毎)\n" -#: command.c:5361 +#: command.c:5490 #, c-format msgid "%s (every %gs)\n" msgstr "%s (%g 秒毎)\n" -#: command.c:5424 +#: command.c:5554 #, c-format msgid "could not wait for signals: %m" msgstr "シグナルを待機できませんでした: %m" -#: command.c:5480 command.c:5487 common.c:632 common.c:639 common.c:1123 +#: command.c:5610 command.c:5617 common.c:632 common.c:639 common.c:1123 #, c-format msgid "" "/******** QUERY *********/\n" @@ -828,12 +819,12 @@ msgstr "" "/************************/\n" "\n" -#: command.c:5666 +#: command.c:5796 #, c-format msgid "\"%s.%s\" is not a view" msgstr "\"%s.%s\"はビューではありません" -#: command.c:5682 +#: command.c:5812 #, c-format msgid "could not parse reloptions array" msgstr "reloptions配列をパースできませんでした" @@ -893,7 +884,7 @@ msgstr "時間: %.3f ミリ秒 (%02d:%02d:%06.3f)\n" msgid "Time: %.3f ms (%.0f d %02d:%02d:%06.3f)\n" msgstr "時間: %.3f ミリ秒 (%.0f 日 %02d:%02d:%06.3f)\n" -#: common.c:626 common.c:683 common.c:1094 describe.c:6192 +#: common.c:626 common.c:683 common.c:1094 describe.c:6249 #, c-format msgid "You are currently not connected to a database." msgstr "現在データベースに接続していません。" @@ -949,23 +940,23 @@ msgstr "文: %s" msgid "unexpected transaction status (%d)" msgstr "想定外のトランザクション状態(%d)" -#: common.c:1369 describe.c:2025 +#: common.c:1362 describe.c:2020 msgid "Column" msgstr "列" -#: common.c:1370 describe.c:169 describe.c:355 describe.c:373 describe.c:1043 -#: describe.c:1201 describe.c:1731 describe.c:1755 describe.c:2026 -#: describe.c:3956 describe.c:4167 describe.c:4404 describe.c:4564 -#: describe.c:5829 +#: common.c:1363 describe.c:168 describe.c:354 describe.c:372 describe.c:1042 +#: describe.c:1200 describe.c:1730 describe.c:1754 describe.c:2021 +#: describe.c:4003 describe.c:4214 describe.c:4461 describe.c:4621 +#: describe.c:5886 msgid "Type" msgstr "タイプ" -#: common.c:1419 +#: common.c:1412 #, c-format msgid "The command has no result, or the result has no columns.\n" msgstr "このコマンドは結果を返却しないか、結果にカラムが含まれません。\n" -#: common.c:1511 +#: common.c:1526 #, c-format msgid "fetching results in chunked mode failed" msgstr "チャンクモードでの結果の取得に失敗しました" @@ -1022,11 +1013,11 @@ msgstr "" "コピーするデータに続いて改行を入力してください。\n" "バックスラッシュとピリオドだけの行、もしくは EOF シグナルで終了します。" -#: copy.c:684 +#: copy.c:693 msgid "aborted because of read failure" msgstr "読み取りエラーのため中止" -#: copy.c:718 +#: copy.c:727 msgid "trying to exit copy mode" msgstr "コピーモードを終了しようとしています。" @@ -1075,1161 +1066,1168 @@ msgstr "\\crosstabview: 列名があいまいです: \"%s\"" msgid "\\crosstabview: column name not found: \"%s\"" msgstr "\\crosstabview: 列名が見つかりませんでした: \"%s\"" -#: describe.c:87 describe.c:335 describe.c:626 describe.c:802 describe.c:1035 -#: describe.c:1190 describe.c:1264 describe.c:3945 describe.c:4154 -#: describe.c:4402 describe.c:4483 describe.c:4715 describe.c:4921 -#: describe.c:5165 describe.c:5406 describe.c:5475 describe.c:5486 -#: describe.c:5542 describe.c:5941 describe.c:6018 +#: describe.c:86 describe.c:334 describe.c:625 describe.c:801 describe.c:1034 +#: describe.c:1189 describe.c:1263 describe.c:3992 describe.c:4201 +#: describe.c:4459 describe.c:4540 describe.c:4772 describe.c:4978 +#: describe.c:5222 describe.c:5463 describe.c:5532 describe.c:5543 +#: describe.c:5599 describe.c:5998 describe.c:6075 msgid "Schema" msgstr "スキーマ" -#: describe.c:88 describe.c:166 describe.c:227 describe.c:336 describe.c:627 -#: describe.c:803 describe.c:924 describe.c:1036 describe.c:1265 -#: describe.c:3946 describe.c:4155 describe.c:4319 describe.c:4403 -#: describe.c:4484 describe.c:4645 describe.c:4716 describe.c:4922 -#: describe.c:5038 describe.c:5166 describe.c:5407 describe.c:5476 -#: describe.c:5487 describe.c:5543 describe.c:5740 describe.c:5810 -#: describe.c:6016 describe.c:6243 describe.c:6551 +#: describe.c:87 describe.c:165 describe.c:226 describe.c:335 describe.c:626 +#: describe.c:802 describe.c:923 describe.c:1035 describe.c:1264 +#: describe.c:3993 describe.c:4202 describe.c:4376 describe.c:4460 +#: describe.c:4541 describe.c:4702 describe.c:4773 describe.c:4979 +#: describe.c:5095 describe.c:5223 describe.c:5464 describe.c:5533 +#: describe.c:5544 describe.c:5600 describe.c:5797 describe.c:5867 +#: describe.c:6073 describe.c:6300 describe.c:6624 msgid "Name" msgstr "名前" -#: describe.c:89 describe.c:348 describe.c:366 +#: describe.c:88 describe.c:347 describe.c:365 msgid "Result data type" msgstr "結果のデータ型" -#: describe.c:90 describe.c:349 describe.c:367 +#: describe.c:89 describe.c:348 describe.c:366 msgid "Argument data types" msgstr "引数のデータ型" -#: describe.c:98 describe.c:105 describe.c:177 describe.c:241 describe.c:415 -#: describe.c:658 describe.c:818 describe.c:972 describe.c:1267 describe.c:2046 -#: describe.c:3676 describe.c:4000 describe.c:4201 describe.c:4343 -#: describe.c:4416 describe.c:4493 describe.c:4658 describe.c:4834 -#: describe.c:4975 describe.c:5047 describe.c:5167 describe.c:5317 -#: describe.c:5358 describe.c:5423 describe.c:5479 describe.c:5488 -#: describe.c:5544 describe.c:5758 describe.c:5832 describe.c:5955 -#: describe.c:6019 describe.c:7078 +#: describe.c:97 describe.c:104 describe.c:176 describe.c:240 describe.c:414 +#: describe.c:657 describe.c:817 describe.c:971 describe.c:1266 describe.c:2041 +#: describe.c:3723 describe.c:4047 describe.c:4255 describe.c:4400 +#: describe.c:4473 describe.c:4550 describe.c:4715 describe.c:4891 +#: describe.c:5032 describe.c:5104 describe.c:5224 describe.c:5374 +#: describe.c:5415 describe.c:5480 describe.c:5536 describe.c:5545 +#: describe.c:5601 describe.c:5815 describe.c:5889 describe.c:6012 +#: describe.c:6076 describe.c:7151 msgid "Description" msgstr "説明" -#: describe.c:127 +#: describe.c:126 msgid "List of aggregate functions" msgstr "集約関数一覧" -#: describe.c:152 +#: describe.c:151 #, c-format msgid "The server (version %s) does not support access methods." msgstr "このサーバー(バージョン%s)はアクセスメソッドをサポートしていません。" -#: describe.c:167 +#: describe.c:166 msgid "Index" msgstr "インデックス" -#: describe.c:168 describe.c:3964 describe.c:4180 describe.c:5942 +#: describe.c:167 describe.c:4011 describe.c:4227 describe.c:5999 msgid "Table" msgstr "テーブル" -#: describe.c:176 describe.c:5742 +#: describe.c:175 describe.c:5799 msgid "Handler" msgstr "ハンドラ" -#: describe.c:199 +#: describe.c:198 msgid "List of access methods" msgstr "アクセスメソッド一覧" -#: describe.c:228 describe.c:401 describe.c:651 describe.c:925 describe.c:1189 -#: describe.c:3957 describe.c:4156 describe.c:4320 describe.c:4647 -#: describe.c:5039 describe.c:5741 describe.c:5811 describe.c:6244 -#: describe.c:6431 describe.c:6552 describe.c:6722 describe.c:6807 -#: describe.c:7066 +#: describe.c:227 describe.c:400 describe.c:650 describe.c:924 describe.c:1188 +#: describe.c:4004 describe.c:4203 describe.c:4377 describe.c:4704 +#: describe.c:5096 describe.c:5798 describe.c:5868 describe.c:6301 +#: describe.c:6500 describe.c:6625 describe.c:6795 describe.c:6880 +#: describe.c:7139 msgid "Owner" msgstr "所有者" -#: describe.c:229 +#: describe.c:228 msgid "Location" msgstr "場所" -#: describe.c:239 describe.c:3517 describe.c:3857 +#: describe.c:238 describe.c:3564 describe.c:3904 msgid "Options" msgstr "オプション" -#: describe.c:240 describe.c:649 describe.c:970 describe.c:3999 +#: describe.c:239 describe.c:648 describe.c:969 describe.c:4046 msgid "Size" msgstr "サイズ" -#: describe.c:263 +#: describe.c:262 msgid "List of tablespaces" msgstr "テーブル空間一覧" -#: describe.c:308 +#: describe.c:307 #, c-format msgid "\\df only takes [anptwS+] as options" msgstr "\\dfで指定できるオプションは [anptwS+] のみです" -#: describe.c:316 +#: describe.c:315 #, c-format msgid "\\df does not take a \"%c\" option with server version %s" msgstr "\\dfはこのサーバーバージョン%2$sでは\"%1$c\"オプションは指定できません" #. translator: "agg" is short for "aggregate" -#: describe.c:351 describe.c:369 +#: describe.c:350 describe.c:368 msgid "agg" msgstr "集約" -#: describe.c:352 describe.c:370 +#: describe.c:351 describe.c:369 msgid "window" msgstr "ウィンドウ" -#: describe.c:353 +#: describe.c:352 msgid "proc" msgstr "プロシージャ" -#: describe.c:354 describe.c:372 +#: describe.c:353 describe.c:371 msgid "func" msgstr "関数" -#: describe.c:371 describe.c:1397 +#: describe.c:370 describe.c:1396 msgid "trigger" msgstr "トリガー" -#: describe.c:383 +#: describe.c:382 msgid "immutable" msgstr "IMMUTABLE" -#: describe.c:384 +#: describe.c:383 msgid "stable" msgstr "STABLE" -#: describe.c:385 +#: describe.c:384 msgid "volatile" msgstr "VOLATILE" -#: describe.c:386 +#: describe.c:385 msgid "Volatility" msgstr "関数の変動性分類" -#: describe.c:394 +#: describe.c:393 msgid "restricted" msgstr "制限付き" -#: describe.c:395 +#: describe.c:394 msgid "safe" msgstr "安全" -#: describe.c:396 +#: describe.c:395 msgid "unsafe" msgstr "危険" -#: describe.c:397 +#: describe.c:396 msgid "Parallel" msgstr "並列実行" -#: describe.c:402 +#: describe.c:401 msgid "definer" msgstr "定義ロール" -#: describe.c:403 +#: describe.c:402 msgid "invoker" msgstr "起動ロール" -#: describe.c:404 +#: describe.c:403 msgid "Security" msgstr "セキュリティ" -#: describe.c:409 +#: describe.c:408 msgid "Language" msgstr "手続き言語" -#: describe.c:412 describe.c:648 +#: describe.c:411 describe.c:647 msgid "Internal name" msgstr "内部名" -#: describe.c:585 +#: describe.c:584 msgid "List of functions" msgstr "関数一覧" -#: describe.c:650 +#: describe.c:649 msgid "Elements" msgstr "構成要素" -#: describe.c:701 +#: describe.c:700 msgid "List of data types" msgstr "データ型一覧" -#: describe.c:804 +#: describe.c:803 msgid "Left arg type" msgstr "左辺の型" -#: describe.c:805 +#: describe.c:804 msgid "Right arg type" msgstr "右辺の型" -#: describe.c:806 +#: describe.c:805 msgid "Result type" msgstr "結果の型" -#: describe.c:811 describe.c:4653 describe.c:4817 describe.c:5316 -#: describe.c:6996 describe.c:7000 +#: describe.c:810 describe.c:4710 describe.c:4874 describe.c:5373 +#: describe.c:7069 describe.c:7073 msgid "Function" msgstr "関数" -#: describe.c:891 +#: describe.c:890 msgid "List of operators" msgstr "演算子一覧" -#: describe.c:926 +#: describe.c:925 msgid "Encoding" msgstr "エンコーディング" -#: describe.c:930 describe.c:934 +#: describe.c:929 describe.c:933 msgid "Locale Provider" msgstr "ロケールプロバイダー" -#: describe.c:938 describe.c:4936 +#: describe.c:937 describe.c:4993 msgid "Collate" msgstr "照合順序" -#: describe.c:939 describe.c:4937 +#: describe.c:938 describe.c:4994 msgid "Ctype" msgstr "Ctype(変換演算子)" -#: describe.c:943 describe.c:947 describe.c:951 describe.c:4942 describe.c:4946 -#: describe.c:4950 +#: describe.c:942 describe.c:946 describe.c:950 describe.c:4999 describe.c:5003 +#: describe.c:5007 msgid "Locale" msgstr "ロケール" -#: describe.c:955 describe.c:959 describe.c:4955 describe.c:4959 +#: describe.c:954 describe.c:958 describe.c:5012 describe.c:5016 msgid "ICU Rules" msgstr "ICUルール:" -#: describe.c:971 +#: describe.c:970 msgid "Tablespace" msgstr "テーブル空間" -#: describe.c:996 +#: describe.c:995 msgid "List of databases" msgstr "データベース一覧" -#: describe.c:1037 describe.c:1192 describe.c:3947 +#: describe.c:1036 describe.c:1191 describe.c:3994 msgid "table" msgstr "テーブル" -#: describe.c:1038 describe.c:3948 +#: describe.c:1037 describe.c:3995 msgid "view" msgstr "ビュー" -#: describe.c:1039 describe.c:3949 +#: describe.c:1038 describe.c:3996 msgid "materialized view" msgstr "実体化ビュー" -#: describe.c:1040 describe.c:1194 describe.c:3951 +#: describe.c:1039 describe.c:1193 describe.c:3998 msgid "sequence" msgstr "シーケンス" -#: describe.c:1041 describe.c:3953 +#: describe.c:1040 describe.c:4000 msgid "foreign table" msgstr "外部テーブル" -#: describe.c:1042 describe.c:3954 describe.c:4165 +#: describe.c:1041 describe.c:4001 describe.c:4212 msgid "partitioned table" msgstr "パーティションテーブル" -#: describe.c:1058 +#: describe.c:1057 msgid "Column privileges" msgstr "列の権限" -#: describe.c:1089 describe.c:1123 +#: describe.c:1088 describe.c:1122 msgid "Policies" msgstr "ポリシー" -#: describe.c:1151 describe.c:4570 describe.c:6667 +#: describe.c:1150 describe.c:4627 describe.c:6740 msgid "Access privileges" msgstr "アクセス権限" -#: describe.c:1196 +#: describe.c:1195 msgid "function" msgstr "関数" -#: describe.c:1198 +#: describe.c:1197 msgid "type" msgstr "型" -#: describe.c:1200 +#: describe.c:1199 msgid "schema" msgstr "スキーマ" -#: describe.c:1222 +#: describe.c:1221 msgid "Default access privileges" msgstr "デフォルトのアクセス権限" -#: describe.c:1266 +#: describe.c:1265 msgid "Object" msgstr "オブジェクト" -#: describe.c:1280 +#: describe.c:1279 msgid "table constraint" msgstr "テーブル制約" -#: describe.c:1304 +#: describe.c:1303 msgid "domain constraint" msgstr "ドメイン制約" -#: describe.c:1328 +#: describe.c:1327 msgid "operator class" msgstr "演算子クラス" -#: describe.c:1352 +#: describe.c:1351 msgid "operator family" msgstr "演算子族" -#: describe.c:1375 +#: describe.c:1374 msgid "rule" msgstr "ルール" -#: describe.c:1420 +#: describe.c:1419 msgid "Object descriptions" msgstr "オブジェクトの説明" -#: describe.c:1485 describe.c:4072 +#: describe.c:1484 describe.c:4119 #, c-format msgid "Did not find any relation named \"%s\"." msgstr "\"%s\"という名前のリレーションは見つかりませんでした。" -#: describe.c:1488 describe.c:4075 +#: describe.c:1487 describe.c:4122 #, c-format msgid "Did not find any relations." msgstr "リレーションが見つかりませんでした。" -#: describe.c:1684 +#: describe.c:1683 #, c-format msgid "Did not find any relation with OID %s." msgstr "OID %sを持つリレーションが見つかりませんでした。" -#: describe.c:1732 describe.c:1756 +#: describe.c:1731 describe.c:1755 msgid "Start" msgstr "開始" -#: describe.c:1733 describe.c:1757 +#: describe.c:1732 describe.c:1756 msgid "Minimum" msgstr "最小" -#: describe.c:1734 describe.c:1758 +#: describe.c:1733 describe.c:1757 msgid "Maximum" msgstr "最大" -#: describe.c:1735 describe.c:1759 +#: describe.c:1734 describe.c:1758 msgid "Increment" msgstr "増分" -#: describe.c:1736 describe.c:1760 describe.c:1889 describe.c:4487 -#: describe.c:4828 describe.c:4964 describe.c:4969 describe.c:6710 +#: describe.c:1735 describe.c:1759 describe.c:1888 describe.c:4544 +#: describe.c:4885 describe.c:5021 describe.c:5026 describe.c:6783 msgid "yes" msgstr "はい" -#: describe.c:1737 describe.c:1761 describe.c:1890 describe.c:4487 -#: describe.c:4825 describe.c:4964 describe.c:6711 +#: describe.c:1736 describe.c:1760 describe.c:1889 describe.c:4544 +#: describe.c:4882 describe.c:5021 describe.c:6784 msgid "no" msgstr "いいえ" -#: describe.c:1738 describe.c:1762 +#: describe.c:1737 describe.c:1761 msgid "Cycles?" msgstr "循環?" -#: describe.c:1739 describe.c:1763 +#: describe.c:1738 describe.c:1762 msgid "Cache" msgstr "キャッシュ" -#: describe.c:1804 +#: describe.c:1803 #, c-format msgid "Owned by: %s" msgstr "所有者: %s" -#: describe.c:1808 +#: describe.c:1807 #, c-format msgid "Sequence for identity column: %s" msgstr "識別列のシーケンス: %s" -#: describe.c:1816 +#: describe.c:1815 #, c-format msgid "Unlogged sequence \"%s.%s\"" msgstr "ログ出力なしのシーケンス\"%s.%s\"" -#: describe.c:1819 +#: describe.c:1818 #, c-format msgid "Sequence \"%s.%s\"" msgstr "シーケンス \"%s.%s\"" -#: describe.c:1962 +#: describe.c:1961 #, c-format msgid "Unlogged table \"%s.%s\"" msgstr "ログ出力なしのテーブル\"%s.%s\"" -#: describe.c:1965 +#: describe.c:1964 #, c-format msgid "Table \"%s.%s\"" msgstr "テーブル\"%s.%s\"" -#: describe.c:1969 +#: describe.c:1968 #, c-format msgid "View \"%s.%s\"" msgstr "ビュー\"%s.%s\"" -#: describe.c:1974 -#, c-format -msgid "Unlogged materialized view \"%s.%s\"" -msgstr "ログ出力なしの実体化ビュー\"%s.%s\"" - -#: describe.c:1977 +#: describe.c:1972 #, c-format msgid "Materialized view \"%s.%s\"" msgstr "実体化ビュー\"%s.%s\"" -#: describe.c:1982 +#: describe.c:1977 #, c-format msgid "Unlogged index \"%s.%s\"" msgstr "ログ出力なしのインデックス\"%s.%s\"" -#: describe.c:1985 +#: describe.c:1980 #, c-format msgid "Index \"%s.%s\"" msgstr "インデックス\"%s.%s\"" -#: describe.c:1990 +#: describe.c:1985 #, c-format msgid "Unlogged partitioned index \"%s.%s\"" msgstr "ログ出力なしのパーティション親インデックス\"%s.%s\"" -#: describe.c:1993 +#: describe.c:1988 #, c-format msgid "Partitioned index \"%s.%s\"" msgstr "パーティションインデックス\"%s.%s\"" -#: describe.c:1997 +#: describe.c:1992 #, c-format msgid "TOAST table \"%s.%s\"" msgstr "TOAST テーブル\"%s.%s\"" -#: describe.c:2001 +#: describe.c:1996 #, c-format msgid "Composite type \"%s.%s\"" msgstr "複合型\"%s.%s\"" -#: describe.c:2005 +#: describe.c:2000 #, c-format msgid "Foreign table \"%s.%s\"" msgstr "外部テーブル\"%s.%s\"" -#: describe.c:2010 +#: describe.c:2005 #, c-format msgid "Unlogged partitioned table \"%s.%s\"" msgstr "ログ出力なしのパーティション親テーブル\"%s.%s\"" -#: describe.c:2013 +#: describe.c:2008 #, c-format msgid "Partitioned table \"%s.%s\"" msgstr "パーティションテーブル\"%s.%s\"" -#: describe.c:2029 describe.c:4405 +#: describe.c:2024 describe.c:4462 msgid "Collation" msgstr "照合順序" -#: describe.c:2030 describe.c:4406 +#: describe.c:2025 describe.c:4463 msgid "Nullable" msgstr "Null 値を許容" -#: describe.c:2031 describe.c:4407 +#: describe.c:2026 describe.c:4464 msgid "Default" msgstr "デフォルト" -#: describe.c:2034 +#: describe.c:2029 msgid "Key?" msgstr "キー?" -#: describe.c:2036 describe.c:4723 describe.c:4734 +#: describe.c:2031 describe.c:4780 describe.c:4791 msgid "Definition" msgstr "定義" -#: describe.c:2038 describe.c:5757 describe.c:5831 describe.c:5896 -#: describe.c:5954 +#: describe.c:2033 describe.c:5814 describe.c:5888 describe.c:5953 +#: describe.c:6011 msgid "FDW options" msgstr "FDW オプション" -#: describe.c:2040 +#: describe.c:2035 msgid "Storage" msgstr "ストレージ" -#: describe.c:2042 +#: describe.c:2037 msgid "Compression" msgstr "圧縮" -#: describe.c:2044 +#: describe.c:2039 msgid "Stats target" msgstr "統計目標" -#: describe.c:2180 +#: describe.c:2175 #, c-format msgid "Partition of: %s %s%s" msgstr "親パーティション: %s %s%s" -#: describe.c:2193 +#: describe.c:2188 msgid "No partition constraint" msgstr "パーティション制約なし" -#: describe.c:2195 +#: describe.c:2190 #, c-format msgid "Partition constraint: %s" msgstr "パーティションの制約: %s" -#: describe.c:2219 +#: describe.c:2214 #, c-format msgid "Partition key: %s" msgstr "パーティションキー: %s" -#: describe.c:2245 +#: describe.c:2240 #, c-format msgid "Owning table: \"%s.%s\"" msgstr "所属先テーブル\"%s.%s\"" -#: describe.c:2314 +#: describe.c:2309 msgid "primary key, " msgstr "プライマリキー, " -#: describe.c:2317 +#: describe.c:2312 msgid "unique" msgstr "ユニーク" -#: describe.c:2319 +#: describe.c:2314 msgid " nulls not distinct" msgstr " nulls not distinct" -#: describe.c:2320 +#: describe.c:2315 msgid ", " msgstr ", " -#: describe.c:2327 +#: describe.c:2322 #, c-format msgid "for table \"%s.%s\"" msgstr "テーブル\"%s.%s\"用" -#: describe.c:2331 +#: describe.c:2326 #, c-format msgid ", predicate (%s)" msgstr "、述語 (%s)" -#: describe.c:2334 +#: describe.c:2329 msgid ", clustered" msgstr "、クラスター化" -#: describe.c:2337 +#: describe.c:2332 msgid ", invalid" msgstr "無効" -#: describe.c:2340 +#: describe.c:2335 msgid ", deferrable" msgstr "、遅延可能" -#: describe.c:2343 +#: describe.c:2338 msgid ", initially deferred" msgstr "、最初から遅延中" -#: describe.c:2346 +#: describe.c:2341 msgid ", replica identity" msgstr "、レプリカの id" -#: describe.c:2400 +#: describe.c:2399 msgid "Indexes:" msgstr "インデックス:" -#: describe.c:2483 +#: describe.c:2486 msgid "Check constraints:" msgstr "Check 制約:" -#: describe.c:2551 +#: describe.c:2554 msgid "Foreign-key constraints:" msgstr "外部キー制約:" -#: describe.c:2614 +#: describe.c:2617 msgid "Referenced by:" msgstr "参照元:" -#: describe.c:2664 +#: describe.c:2667 msgid "Policies:" msgstr "ポリシー:" -#: describe.c:2667 +#: describe.c:2670 msgid "Policies (forced row security enabled):" msgstr "ポリシー(行セキュリティを強制的に有効化):" -#: describe.c:2670 +#: describe.c:2673 msgid "Policies (row security enabled): (none)" msgstr "ポリシー(行セキュリティ有効化): (なし)" -#: describe.c:2673 +#: describe.c:2676 msgid "Policies (forced row security enabled): (none)" msgstr "ポリシー(行セキュリティを強制的に有効化): (なし)" -#: describe.c:2676 +#: describe.c:2679 msgid "Policies (row security disabled):" msgstr "ポリシー(行セキュリティを無効化):" -#: describe.c:2736 describe.c:2841 +#: describe.c:2739 describe.c:2844 msgid "Statistics objects:" msgstr "統計オブジェクト:" -#: describe.c:2943 describe.c:3096 +#: describe.c:2946 describe.c:3143 msgid "Rules:" msgstr "ルール:" -#: describe.c:2946 +#: describe.c:2949 msgid "Disabled rules:" msgstr "無効化されたルール:" -#: describe.c:2949 +#: describe.c:2952 msgid "Rules firing always:" msgstr "常に適用するルール:" -#: describe.c:2952 +#: describe.c:2955 msgid "Rules firing on replica only:" msgstr "レプリカ上でのみ適用するルール:" -#: describe.c:3031 describe.c:5100 +#: describe.c:3034 describe.c:5157 msgid "Publications:" msgstr "パブリケーション:" -#: describe.c:3079 +#: describe.c:3080 +msgid "Not-null constraints:" +msgstr "非NULL制約:" + +#: describe.c:3093 +msgid " (local, inherited)" +msgstr "(ローカル、継承)" + +#: describe.c:3094 +msgid " (inherited)" +msgstr "(継承)" + +#: describe.c:3126 msgid "View definition:" msgstr "ビューの定義:" -#: describe.c:3242 +#: describe.c:3289 msgid "Triggers:" msgstr "トリガー:" -#: describe.c:3245 +#: describe.c:3292 msgid "Disabled user triggers:" msgstr "無効化されたユーザートリガ:" -#: describe.c:3248 +#: describe.c:3295 msgid "Disabled internal triggers:" msgstr "無効化された内部トリガー:" -#: describe.c:3251 +#: describe.c:3298 msgid "Triggers firing always:" msgstr "常に適用するするトリガー:" -#: describe.c:3254 +#: describe.c:3301 msgid "Triggers firing on replica only:" msgstr "レプリカ上でのみ適用するトリガー:" -#: describe.c:3325 +#: describe.c:3372 #, c-format msgid "Server: %s" msgstr "サーバー: %s" -#: describe.c:3333 +#: describe.c:3380 #, c-format msgid "FDW options: (%s)" msgstr "FDW オプション: (%s)" -#: describe.c:3354 +#: describe.c:3401 msgid "Inherits" msgstr "継承元" -#: describe.c:3419 +#: describe.c:3466 #, c-format msgid "Number of partitions: %d" msgstr "パーティション数: %d" -#: describe.c:3428 +#: describe.c:3475 #, c-format msgid "Number of partitions: %d (Use \\d+ to list them.)" msgstr "パーティション数: %d (\\d+ で一覧を表示)。" -#: describe.c:3430 +#: describe.c:3477 #, c-format msgid "Number of child tables: %d (Use \\d+ to list them.)" msgstr "子テーブル数: %d (\\d+ で一覧を表示)" -#: describe.c:3437 +#: describe.c:3484 msgid "Child tables" msgstr "子テーブル" -#: describe.c:3437 +#: describe.c:3484 msgid "Partitions" msgstr "パーティション" -#: describe.c:3470 +#: describe.c:3517 #, c-format msgid "Typed table of type: %s" msgstr "%s 型の型付きテーブル" -#: describe.c:3486 +#: describe.c:3533 msgid "Replica Identity" msgstr "レプリカ識別" -#: describe.c:3499 +#: describe.c:3546 msgid "Has OIDs: yes" msgstr "OID あり: はい" -#: describe.c:3508 +#: describe.c:3555 #, c-format msgid "Access method: %s" msgstr "アクセスメソッド: %s" -#: describe.c:3585 +#: describe.c:3632 #, c-format msgid "Tablespace: \"%s\"" msgstr "テーブル空間: \"%s\"" #. translator: before this string there's an index description like #. '"foo_pkey" PRIMARY KEY, btree (a)' -#: describe.c:3597 +#: describe.c:3644 #, c-format msgid ", tablespace \"%s\"" msgstr "、テーブル空間\"%s\"" -#: describe.c:3670 +#: describe.c:3717 msgid "List of roles" msgstr "ロール一覧" -#: describe.c:3672 describe.c:3840 +#: describe.c:3719 describe.c:3887 msgid "Role name" msgstr "ロール名" -#: describe.c:3673 +#: describe.c:3720 msgid "Attributes" msgstr "属性" -#: describe.c:3684 +#: describe.c:3731 msgid "Superuser" msgstr "スーパーユーザー" -#: describe.c:3687 +#: describe.c:3734 msgid "No inheritance" msgstr "継承なし" -#: describe.c:3690 +#: describe.c:3737 msgid "Create role" msgstr "ロール作成可" -#: describe.c:3693 +#: describe.c:3740 msgid "Create DB" msgstr "DB作成可" -#: describe.c:3696 +#: describe.c:3743 msgid "Cannot login" msgstr "ログインできません" -#: describe.c:3699 +#: describe.c:3746 msgid "Replication" msgstr "レプリケーション可" -#: describe.c:3703 +#: describe.c:3750 msgid "Bypass RLS" msgstr "RLS のバイパス" -#: describe.c:3712 +#: describe.c:3759 msgid "No connections" msgstr "接続なし" -#: describe.c:3714 +#: describe.c:3761 #, c-format msgid "%d connection" msgid_plural "%d connections" msgstr[0] "%d 個の接続" -#: describe.c:3724 +#: describe.c:3771 msgid "Password valid until " msgstr "パスワードの有効期限 " -#: describe.c:3775 +#: describe.c:3822 msgid "Role" msgstr "ロール" -#: describe.c:3776 +#: describe.c:3823 msgid "Database" msgstr "データベース" -#: describe.c:3777 +#: describe.c:3824 msgid "Settings" msgstr "設定" -#: describe.c:3801 +#: describe.c:3848 #, c-format msgid "Did not find any settings for role \"%s\" and database \"%s\"." msgstr "ロール\"%s\"とデータベース\"%s\"の設定が見つかりませんでした。" -#: describe.c:3804 +#: describe.c:3851 #, c-format msgid "Did not find any settings for role \"%s\"." msgstr "ロール\"%s\"の設定が見つかりませんでした。" -#: describe.c:3807 +#: describe.c:3854 #, c-format msgid "Did not find any settings." msgstr "設定が見つかりませんでした。" -#: describe.c:3811 +#: describe.c:3858 msgid "List of settings" msgstr "設定一覧" -#: describe.c:3841 +#: describe.c:3888 msgid "Member of" msgstr "所属グループ" -#: describe.c:3858 +#: describe.c:3905 msgid "Grantor" msgstr "付与者" -#: describe.c:3884 +#: describe.c:3931 msgid "List of role grants" msgstr "ロール権限付与一覧" -#: describe.c:3950 +#: describe.c:3997 msgid "index" msgstr "インデックス" -#: describe.c:3952 +#: describe.c:3999 msgid "TOAST table" msgstr "TOAST テーブル" -#: describe.c:3955 describe.c:4166 +#: describe.c:4002 describe.c:4213 msgid "partitioned index" msgstr "パーティションインデックス" -#: describe.c:3975 +#: describe.c:4022 msgid "permanent" msgstr "永続" -#: describe.c:3976 +#: describe.c:4023 msgid "temporary" msgstr "一時" -#: describe.c:3977 +#: describe.c:4024 msgid "unlogged" msgstr "ログなし" -#: describe.c:3978 +#: describe.c:4025 msgid "Persistence" msgstr "永続性" -#: describe.c:3994 +#: describe.c:4041 describe.c:4236 msgid "Access method" msgstr "アクセスメソッド" -#: describe.c:4079 +#: describe.c:4126 msgid "List of relations" msgstr "リレーション一覧" -#: describe.c:4127 +#: describe.c:4174 #, c-format msgid "The server (version %s) does not support declarative table partitioning." msgstr "このサーバー(バージョン%s)は宣言的テーブルパーティショニングをサポートしていません。" -#: describe.c:4138 +#: describe.c:4185 msgid "List of partitioned indexes" msgstr "パーティションインデックスの一覧" -#: describe.c:4140 +#: describe.c:4187 msgid "List of partitioned tables" msgstr "パーティションテーブルの一覧" -#: describe.c:4144 +#: describe.c:4191 msgid "List of partitioned relations" msgstr "パーティションリレーションの一覧" -#: describe.c:4175 +#: describe.c:4222 msgid "Parent name" msgstr "親の名前" -#: describe.c:4188 +#: describe.c:4242 msgid "Leaf partition size" msgstr "末端パーティションのサイズ" -#: describe.c:4191 describe.c:4197 +#: describe.c:4245 describe.c:4251 msgid "Total size" msgstr "トータルサイズ" -#: describe.c:4321 +#: describe.c:4378 msgid "Trusted" msgstr "信頼済み" -#: describe.c:4330 +#: describe.c:4387 msgid "Internal language" msgstr "内部言語" -#: describe.c:4331 +#: describe.c:4388 msgid "Call handler" msgstr "呼び出しハンドラー" -#: describe.c:4332 describe.c:5743 +#: describe.c:4389 describe.c:5800 msgid "Validator" msgstr "バリデーター" -#: describe.c:4333 +#: describe.c:4390 msgid "Inline handler" msgstr "インラインハンドラー" -#: describe.c:4367 +#: describe.c:4424 msgid "List of languages" msgstr "手続き言語一覧" -#: describe.c:4408 +#: describe.c:4465 msgid "Check" msgstr "CHECK制約" -#: describe.c:4451 +#: describe.c:4508 msgid "List of domains" msgstr "ドメイン一覧" -#: describe.c:4485 +#: describe.c:4542 msgid "Source" msgstr "変換元" -#: describe.c:4486 +#: describe.c:4543 msgid "Destination" msgstr "変換先" -#: describe.c:4488 describe.c:6712 +#: describe.c:4545 describe.c:6785 msgid "Default?" msgstr "デフォルト?" -#: describe.c:4529 +#: describe.c:4586 msgid "List of conversions" msgstr "符号化方式一覧" -#: describe.c:4557 +#: describe.c:4614 msgid "Parameter" msgstr "パラメータ" -#: describe.c:4558 +#: describe.c:4615 msgid "Value" msgstr "値" -#: describe.c:4565 +#: describe.c:4622 msgid "Context" msgstr "コンテクスト" -#: describe.c:4597 +#: describe.c:4654 msgid "List of configuration parameters" msgstr "設定パラメータの一覧" -#: describe.c:4599 +#: describe.c:4656 msgid "List of non-default configuration parameters" msgstr "非デフォルトの設定パラメータの一覧" -#: describe.c:4626 +#: describe.c:4683 #, c-format msgid "The server (version %s) does not support event triggers." msgstr "このサーバー(バージョン%s)はイベントトリガーをサポートしていません。" -#: describe.c:4646 +#: describe.c:4703 msgid "Event" msgstr "イベント" -#: describe.c:4648 +#: describe.c:4705 msgid "enabled" msgstr "有効" -#: describe.c:4649 +#: describe.c:4706 msgid "replica" msgstr "レプリカ" -#: describe.c:4650 +#: describe.c:4707 msgid "always" msgstr "常時" -#: describe.c:4651 +#: describe.c:4708 msgid "disabled" msgstr "無効" -#: describe.c:4652 describe.c:6553 +#: describe.c:4709 describe.c:6626 msgid "Enabled" msgstr "有効状態" -#: describe.c:4654 +#: describe.c:4711 msgid "Tags" msgstr "タグ" -#: describe.c:4677 +#: describe.c:4734 msgid "List of event triggers" msgstr "イベントトリガー一覧" -#: describe.c:4704 +#: describe.c:4761 #, c-format msgid "The server (version %s) does not support extended statistics." msgstr "このサーバー(バージョン%s)は拡張統計情報をサポートしていません。" -#: describe.c:4741 +#: describe.c:4798 msgid "Ndistinct" msgstr "Ndistinct" -#: describe.c:4742 +#: describe.c:4799 msgid "Dependencies" msgstr "Dependencies" -#: describe.c:4752 +#: describe.c:4809 msgid "MCV" msgstr "MCV" -#: describe.c:4775 +#: describe.c:4832 msgid "List of extended statistics" msgstr "拡張統計情報の一覧" -#: describe.c:4802 +#: describe.c:4859 msgid "Source type" msgstr "変換元の型" -#: describe.c:4803 +#: describe.c:4860 msgid "Target type" msgstr "変換先の型" -#: describe.c:4827 +#: describe.c:4884 msgid "in assignment" msgstr "代入時のみ" -#: describe.c:4829 +#: describe.c:4886 msgid "Implicit?" msgstr "暗黙的に適用 ?" -#: describe.c:4887 +#: describe.c:4944 msgid "List of casts" msgstr "キャスト一覧" -#: describe.c:4927 describe.c:4931 +#: describe.c:4984 describe.c:4988 msgid "Provider" msgstr "プロバイダー" -#: describe.c:4965 describe.c:4970 +#: describe.c:5022 describe.c:5027 msgid "Deterministic?" msgstr "確定的?" -#: describe.c:5009 +#: describe.c:5066 msgid "List of collations" msgstr "照合順序一覧" -#: describe.c:5070 +#: describe.c:5127 msgid "List of schemas" msgstr "スキーマ一覧" -#: describe.c:5186 +#: describe.c:5243 msgid "List of text search parsers" msgstr "テキスト検索用パーサ一覧" -#: describe.c:5236 +#: describe.c:5293 #, c-format msgid "Did not find any text search parser named \"%s\"." msgstr "テキスト検索用パーサ\"%s\"が見つかりませんでした。" -#: describe.c:5239 +#: describe.c:5296 #, c-format msgid "Did not find any text search parsers." msgstr "テキスト検索パーサが見つかりませんでした。" -#: describe.c:5314 +#: describe.c:5371 msgid "Start parse" msgstr "パース開始" -#: describe.c:5315 +#: describe.c:5372 msgid "Method" msgstr "メソッド" -#: describe.c:5319 +#: describe.c:5376 msgid "Get next token" msgstr "次のトークンを取得" -#: describe.c:5321 +#: describe.c:5378 msgid "End parse" msgstr "パース終了" -#: describe.c:5323 +#: describe.c:5380 msgid "Get headline" msgstr "見出しを取得" -#: describe.c:5325 +#: describe.c:5382 msgid "Get token types" msgstr "トークンタイプを取得" -#: describe.c:5335 +#: describe.c:5392 #, c-format msgid "Text search parser \"%s.%s\"" msgstr "テキスト検索パーサ\"%s.%s\"" -#: describe.c:5338 +#: describe.c:5395 #, c-format msgid "Text search parser \"%s\"" msgstr "テキスト検索パーサ\"%s\"" -#: describe.c:5357 +#: describe.c:5414 msgid "Token name" msgstr "トークン名" -#: describe.c:5370 +#: describe.c:5427 #, c-format msgid "Token types for parser \"%s.%s\"" msgstr "パーサ\"%s.%s\"のトークンタイプ" -#: describe.c:5373 +#: describe.c:5430 #, c-format msgid "Token types for parser \"%s\"" msgstr "パーサ\"%s\"のトークンタイプ" -#: describe.c:5417 +#: describe.c:5474 msgid "Template" msgstr "テンプレート" -#: describe.c:5418 +#: describe.c:5475 msgid "Init options" msgstr "初期化オプション" -#: describe.c:5444 +#: describe.c:5501 msgid "List of text search dictionaries" msgstr "テキスト検索用辞書一覧" -#: describe.c:5477 +#: describe.c:5534 msgid "Init" msgstr "初期化" -#: describe.c:5478 +#: describe.c:5535 msgid "Lexize" msgstr "Lex 処理" -#: describe.c:5509 +#: describe.c:5566 msgid "List of text search templates" msgstr "テキスト検索テンプレート一覧" -#: describe.c:5563 +#: describe.c:5620 msgid "List of text search configurations" msgstr "テキスト検索設定一覧" -#: describe.c:5614 +#: describe.c:5671 #, c-format msgid "Did not find any text search configuration named \"%s\"." msgstr "テキスト検索用設定\"%s\"が見つかりませんでした。" -#: describe.c:5617 +#: describe.c:5674 #, c-format msgid "Did not find any text search configurations." msgstr "テキスト検索設定が見つかりませんでした。" -#: describe.c:5683 +#: describe.c:5740 msgid "Token" msgstr "トークン" -#: describe.c:5684 +#: describe.c:5741 msgid "Dictionaries" msgstr "辞書" -#: describe.c:5695 +#: describe.c:5752 #, c-format msgid "Text search configuration \"%s.%s\"" msgstr "テキスト検索設定\"%s.%s\"" -#: describe.c:5698 +#: describe.c:5755 #, c-format msgid "Text search configuration \"%s\"" msgstr "テキスト検索設定\"%s\"" -#: describe.c:5702 +#: describe.c:5759 #, c-format msgid "" "\n" @@ -2238,7 +2236,7 @@ msgstr "" "\n" "パーサ: \"%s.%s\"" -#: describe.c:5705 +#: describe.c:5762 #, c-format msgid "" "\n" @@ -2247,273 +2245,277 @@ msgstr "" "\n" "パーサ: \"%s\"" -#: describe.c:5784 +#: describe.c:5841 msgid "List of foreign-data wrappers" msgstr "外部データラッパ一覧" -#: describe.c:5812 +#: describe.c:5869 msgid "Foreign-data wrapper" msgstr "外部データラッパ" -#: describe.c:5830 describe.c:6017 +#: describe.c:5887 describe.c:6074 msgid "Version" msgstr "バージョン" -#: describe.c:5860 +#: describe.c:5917 msgid "List of foreign servers" msgstr "外部サーバー一覧" -#: describe.c:5885 describe.c:5943 +#: describe.c:5942 describe.c:6000 msgid "Server" msgstr "サーバー" -#: describe.c:5886 +#: describe.c:5943 msgid "User name" msgstr "ユーザー名" -#: describe.c:5915 +#: describe.c:5972 msgid "List of user mappings" msgstr "ユーザーマッピング一覧" -#: describe.c:5987 +#: describe.c:6044 msgid "List of foreign tables" msgstr "外部テーブル一覧" -#: describe.c:6038 +#: describe.c:6095 msgid "List of installed extensions" msgstr "インストール済みの拡張一覧" -#: describe.c:6086 +#: describe.c:6143 #, c-format msgid "Did not find any extension named \"%s\"." msgstr "\"%s\"という名前の機能拡張が見つかりませんでした。" -#: describe.c:6089 +#: describe.c:6146 #, c-format msgid "Did not find any extensions." msgstr "機能拡張が見つかりませんでした。" -#: describe.c:6133 +#: describe.c:6190 msgid "Object description" msgstr "オブジェクトの説明" -#: describe.c:6142 +#: describe.c:6199 #, c-format msgid "Objects in extension \"%s\"" msgstr "機能拡張\"%s\"内のオブジェクト" -#: describe.c:6183 +#: describe.c:6240 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "修飾名が不適切です(ドット区切りの名前が多すぎます): %s" -#: describe.c:6197 +#: describe.c:6254 #, c-format msgid "cross-database references are not implemented: %s" msgstr "データベース間の参照は実装されていません: %s" -#: describe.c:6228 describe.c:6354 +#: describe.c:6285 describe.c:6416 #, c-format msgid "The server (version %s) does not support publications." msgstr "このサーバー(バージョン%s)はパブリケーションをサポートしていません。" -#: describe.c:6245 describe.c:6432 +#: describe.c:6302 describe.c:6501 msgid "All tables" msgstr "全テーブル" -#: describe.c:6246 describe.c:6433 +#: describe.c:6303 describe.c:6502 msgid "Inserts" msgstr "Insert文" -#: describe.c:6247 describe.c:6434 +#: describe.c:6304 describe.c:6503 msgid "Updates" msgstr "Update文" -#: describe.c:6248 describe.c:6435 +#: describe.c:6305 describe.c:6504 msgid "Deletes" msgstr "Delete文" -#: describe.c:6252 describe.c:6437 +#: describe.c:6309 describe.c:6506 msgid "Truncates" msgstr "Truncate文" -#: describe.c:6256 describe.c:6439 +#: describe.c:6313 describe.c:6508 +msgid "Generated columns" +msgstr "生成列" + +#: describe.c:6317 describe.c:6510 msgid "Via root" msgstr "最上位パーティションテーブル経由" -#: describe.c:6277 +#: describe.c:6338 msgid "List of publications" msgstr "パブリケーション一覧" -#: describe.c:6401 +#: describe.c:6468 #, c-format msgid "Did not find any publication named \"%s\"." msgstr "\"%s\"という名前のパブリケーションが見つかりませんでした。" -#: describe.c:6404 +#: describe.c:6471 #, c-format msgid "Did not find any publications." msgstr "パブリケーションが見つかりませんでした。" -#: describe.c:6428 +#: describe.c:6497 #, c-format msgid "Publication %s" msgstr "パブリケーション %s" -#: describe.c:6481 +#: describe.c:6554 msgid "Tables:" msgstr "テーブル:" -#: describe.c:6493 +#: describe.c:6566 msgid "Tables from schemas:" msgstr "以下のスキーマ内のテーブル:" -#: describe.c:6538 +#: describe.c:6611 #, c-format msgid "The server (version %s) does not support subscriptions." msgstr "このサーバー(バージョン%s)はサブスクリプションをサポートしていません。" -#: describe.c:6554 +#: describe.c:6627 msgid "Publication" msgstr "パブリケーション" -#: describe.c:6563 +#: describe.c:6636 msgid "Binary" msgstr "バイナリ" -#: describe.c:6572 describe.c:6576 +#: describe.c:6645 describe.c:6649 msgid "Streaming" msgstr "ストリーミング" -#: describe.c:6584 +#: describe.c:6657 msgid "Two-phase commit" msgstr "2相コミット" -#: describe.c:6585 +#: describe.c:6658 msgid "Disable on error" msgstr "エラー時無効化" -#: describe.c:6592 +#: describe.c:6665 msgid "Origin" msgstr "起点" -#: describe.c:6593 +#: describe.c:6666 msgid "Password required" msgstr "パスワード必須" -#: describe.c:6594 +#: describe.c:6667 msgid "Run as owner?" msgstr "所有者として実行?" -#: describe.c:6599 +#: describe.c:6672 msgid "Failover" msgstr "フェイルオーバー" -#: describe.c:6604 +#: describe.c:6677 msgid "Synchronous commit" msgstr "同期コミット" -#: describe.c:6605 +#: describe.c:6678 msgid "Conninfo" msgstr "接続情報" -#: describe.c:6611 +#: describe.c:6684 msgid "Skip LSN" msgstr "スキップLSN" -#: describe.c:6637 +#: describe.c:6710 msgid "List of subscriptions" msgstr "サブスクリプション一覧" -#: describe.c:6666 +#: describe.c:6739 msgid "(none)" msgstr "(権限なし)" -#: describe.c:6706 describe.c:6801 describe.c:6893 describe.c:6987 +#: describe.c:6779 describe.c:6874 describe.c:6966 describe.c:7060 msgid "AM" msgstr "AM" -#: describe.c:6707 +#: describe.c:6780 msgid "Input type" msgstr "入力の型" -#: describe.c:6708 +#: describe.c:6781 msgid "Storage type" msgstr "ストレージタイプ" -#: describe.c:6709 +#: describe.c:6782 msgid "Operator class" msgstr "演算子クラス" -#: describe.c:6721 describe.c:6802 describe.c:6894 describe.c:6988 +#: describe.c:6794 describe.c:6875 describe.c:6967 describe.c:7061 msgid "Operator family" msgstr "演算子族" -#: describe.c:6756 +#: describe.c:6829 msgid "List of operator classes" msgstr "演算子クラス一覧" -#: describe.c:6803 +#: describe.c:6876 msgid "Applicable types" msgstr "適用可能型" -#: describe.c:6844 +#: describe.c:6917 msgid "List of operator families" msgstr "演算子族一覧" -#: describe.c:6895 +#: describe.c:6968 msgid "Operator" msgstr "演算子" -#: describe.c:6896 +#: describe.c:6969 msgid "Strategy" msgstr "ストラテジ" -#: describe.c:6897 +#: describe.c:6970 msgid "ordering" msgstr "順序付け" -#: describe.c:6898 +#: describe.c:6971 msgid "search" msgstr "検索" -#: describe.c:6899 +#: describe.c:6972 msgid "Purpose" msgstr "目的" -#: describe.c:6904 +#: describe.c:6977 msgid "Sort opfamily" msgstr "ソート演算子族" -#: describe.c:6942 +#: describe.c:7015 msgid "List of operators of operator families" msgstr "演算子族の演算子一覧" -#: describe.c:6989 +#: describe.c:7062 msgid "Registered left type" msgstr "登録左辺型" -#: describe.c:6990 +#: describe.c:7063 msgid "Registered right type" msgstr "登録右辺型" -#: describe.c:6991 +#: describe.c:7064 msgid "Number" msgstr "番号" -#: describe.c:7034 +#: describe.c:7107 msgid "List of support functions of operator families" msgstr "演算子族のサポート関数一覧" -#: describe.c:7065 +#: describe.c:7138 msgid "ID" msgstr "ID" -#: describe.c:7085 +#: describe.c:7158 msgid "Large objects" msgstr "ラージ オブジェクト" -#: help.c:63 +#: help.c:60 msgid "" "psql is the PostgreSQL interactive terminal.\n" "\n" @@ -2521,11 +2523,11 @@ msgstr "" "psql は PostgreSQL の対話型ターミナルです。\n" "\n" -#: help.c:64 help.c:372 help.c:456 help.c:499 +#: help.c:61 help.c:373 help.c:457 help.c:500 msgid "Usage:\n" msgstr "使い方:\n" -#: help.c:65 +#: help.c:62 msgid "" " psql [OPTION]... [DBNAME [USERNAME]]\n" "\n" @@ -2533,27 +2535,27 @@ msgstr "" " psql [オプション]... [データベース名 [ユーザー名]]\n" "\n" -#: help.c:67 +#: help.c:64 msgid "General options:\n" msgstr "一般的なオプション:\n" -#: help.c:68 +#: help.c:65 msgid " -c, --command=COMMAND run only single command (SQL or internal) and exit\n" msgstr " -c, --command=コマンド 単一の(SQLまたは内部)コマンドを一つだけ実行して終了\n" -#: help.c:69 +#: help.c:66 msgid " -d, --dbname=DBNAME database name to connect to\n" -msgstr " -d, --dbname=DBNAME 接続先データベース名\n" +msgstr " -d, --dbname=DBNAME 接続先データベース名\n" -#: help.c:70 +#: help.c:67 msgid " -f, --file=FILENAME execute commands from file, then exit\n" msgstr " -f, --file=FILENAME ファイルからコマンドを読み込んで実行後、終了\n" -#: help.c:71 +#: help.c:68 msgid " -l, --list list available databases, then exit\n" msgstr " -l(エル), --list 使用可能なデータベース一覧を表示して終了\n" -#: help.c:72 +#: help.c:69 msgid "" " -v, --set=, --variable=NAME=VALUE\n" " set psql variable NAME to VALUE\n" @@ -2563,15 +2565,15 @@ msgstr "" " psql 変数 '名前' に '値' をセット\n" " (例: -v ON_ERROR_STOP=1)\n" -#: help.c:75 +#: help.c:72 msgid " -V, --version output version information, then exit\n" msgstr " -V, --version バージョン情報を表示して終了\n" -#: help.c:76 +#: help.c:73 msgid " -X, --no-psqlrc do not read startup file (~/.psqlrc)\n" msgstr " -X, --no-psqlrc 初期化ファイル (~/.psqlrc) を読み込まない\n" -#: help.c:77 +#: help.c:74 msgid "" " -1 (\"one\"), --single-transaction\n" " execute as a single transaction (if non-interactive)\n" @@ -2579,19 +2581,19 @@ msgstr "" " -1 (数字の1), --single-transaction\n" " (対話形式でない場合)単一のトランザクションとして実行\n" -#: help.c:79 +#: help.c:76 msgid " -?, --help[=options] show this help, then exit\n" msgstr " -?, --help[=options] このヘルプを表示して終了\n" -#: help.c:80 +#: help.c:77 msgid " --help=commands list backslash commands, then exit\n" msgstr " --help=commands バックスラッシュコマンドの一覧を表示して終了\n" -#: help.c:81 +#: help.c:78 msgid " --help=variables list special variables, then exit\n" msgstr " --help=variables 特殊変数の一覧を表示して終了\n" -#: help.c:83 +#: help.c:80 msgid "" "\n" "Input and output options:\n" @@ -2599,47 +2601,47 @@ msgstr "" "\n" "入出力オプション:\n" -#: help.c:84 +#: help.c:81 msgid " -a, --echo-all echo all input from script\n" msgstr " -a, --echo-all スクリプトから読み込んだ入力をすべて表示\n" -#: help.c:85 +#: help.c:82 msgid " -b, --echo-errors echo failed commands\n" msgstr " -b, --echo-errors 失敗したコマンドを表示\n" -#: help.c:86 +#: help.c:83 msgid " -e, --echo-queries echo commands sent to server\n" msgstr " -e, --echo-queries サーバーへ送信したコマンドを表示\n" -#: help.c:87 +#: help.c:84 msgid " -E, --echo-hidden display queries that internal commands generate\n" msgstr " -E, --echo-hidden 内部コマンドが生成した問い合わせを表示\n" -#: help.c:88 +#: help.c:85 msgid " -L, --log-file=FILENAME send session log to file\n" msgstr " -L, --log-file=FILENAME セッションログをファイルに書き込む\n" -#: help.c:89 +#: help.c:86 msgid " -n, --no-readline disable enhanced command line editing (readline)\n" msgstr " -n, --no-readline 拡張コマンドライン編集機能(readline)を無効にする\n" -#: help.c:90 +#: help.c:87 msgid " -o, --output=FILENAME send query results to file (or |pipe)\n" msgstr " -o, --output=FILENAME 問い合わせの結果をファイル (または |パイプ)に送る\n" -#: help.c:91 +#: help.c:88 msgid " -q, --quiet run quietly (no messages, only query output)\n" msgstr " -q, --quiet 静かに実行 (メッセージなしで、問い合わせの出力のみ)\n" -#: help.c:92 +#: help.c:89 msgid " -s, --single-step single-step mode (confirm each query)\n" msgstr " -s, --single-step シングルステップモード (各問い合わせごとに確認)\n" -#: help.c:93 +#: help.c:90 msgid " -S, --single-line single-line mode (end of line terminates SQL command)\n" msgstr " -S, --single-line 単一行モード (行末でSQLコマンドを終端)\n" -#: help.c:95 +#: help.c:92 msgid "" "\n" "Output format options:\n" @@ -2647,15 +2649,15 @@ msgstr "" "\n" "出力フォーマットのオプション\n" -#: help.c:96 +#: help.c:93 msgid " -A, --no-align unaligned table output mode\n" msgstr " -A, --no-align 桁揃えなしのテーブル出力モード\n" -#: help.c:97 +#: help.c:94 msgid " --csv CSV (Comma-Separated Values) table output mode\n" msgstr " --csv CSV(カンマ区切り)テーブル出力モード\n" -#: help.c:98 +#: help.c:95 #, c-format msgid "" " -F, --field-separator=STRING\n" @@ -2665,17 +2667,17 @@ msgstr "" " 桁揃えなし出力時のフィールド区切り文字\n" " (デフォルト: \"%s\")\n" -#: help.c:101 +#: help.c:98 msgid " -H, --html HTML table output mode\n" msgstr " -H, --html HTML テーブル出力モード\n" -#: help.c:102 +#: help.c:99 msgid " -P, --pset=VAR[=ARG] set printing option VAR to ARG (see \\pset command)\n" msgstr "" " -P, --pset=変数[=値] 表示オプション '変数' を '値' にセット\n" " (\\pset コマンドを参照)\n" -#: help.c:103 +#: help.c:100 msgid "" " -R, --record-separator=STRING\n" " record separator for unaligned output (default: newline)\n" @@ -2684,19 +2686,19 @@ msgstr "" " 桁揃えなし出力におけるレコード区切り文字\n" " (デフォルト: 改行)\n" -#: help.c:105 +#: help.c:102 msgid " -t, --tuples-only print rows only\n" msgstr " -t, --tuples-only 行のみを表示\n" -#: help.c:106 +#: help.c:103 msgid " -T, --table-attr=TEXT set HTML table tag attributes (e.g., width, border)\n" msgstr " -T, --table-attr=TEXT HTMLテーブルのタグ属性をセット (width, border等)\n" -#: help.c:107 +#: help.c:104 msgid " -x, --expanded turn on expanded table output\n" msgstr " -x, --expanded 拡張テーブル出力に切り替える\n" -#: help.c:108 +#: help.c:105 msgid "" " -z, --field-separator-zero\n" " set field separator for unaligned output to zero byte\n" @@ -2704,7 +2706,7 @@ msgstr "" " -z, --field-separator-zero\n" " 桁揃えなし出力のフィールド区切りをバイト値の0に設定\n" -#: help.c:110 +#: help.c:107 msgid "" " -0, --record-separator-zero\n" " set record separator for unaligned output to zero byte\n" @@ -2712,7 +2714,7 @@ msgstr "" " -0, --record-separator-zero\n" " 桁揃えなし出力のレコード区切りをバイト値の0に設定\n" -#: help.c:113 +#: help.c:110 msgid "" "\n" "Connection options:\n" @@ -2720,29 +2722,29 @@ msgstr "" "\n" "接続オプション:\n" -#: help.c:114 +#: help.c:111 msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr "" " -h, --host=HOSTNAME データベースサーバーのホストまたはソケット\n" " ディレクトリ\n" -#: help.c:115 +#: help.c:112 msgid " -p, --port=PORT database server port\n" msgstr " -p, --port=PORT データベースサーバーのポート番号\n" -#: help.c:116 +#: help.c:113 msgid " -U, --username=USERNAME database user name\n" msgstr " -U, --username=USERNAME データベースのユーザー名\n" -#: help.c:117 +#: help.c:114 msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password パスワード入力を要求しない\n" -#: help.c:118 +#: help.c:115 msgid " -W, --password force password prompt (should happen automatically)\n" msgstr " -W, --password パスワードプロンプトの強制表示(本来は自動的に表示)\n" -#: help.c:120 +#: help.c:117 msgid "" "\n" "For more information, type \"\\?\" (for internal commands) or \"\\help\" (for SQL\n" @@ -2755,24 +2757,36 @@ msgstr "" "をタイプするか、PostgreSQLドキュメント中のpsqlのセクションを参照してください。\n" "\n" -#: help.c:123 +#: help.c:120 #, c-format msgid "Report bugs to <%s>.\n" msgstr "バグは<%s>に報告してください。\n" -#: help.c:124 +#: help.c:121 #, c-format msgid "%s home page: <%s>\n" msgstr "%s ホームページ: <%s>\n" -#: help.c:166 +#: help.c:163 msgid "General\n" msgstr "一般\n" -#: help.c:167 +#: help.c:164 msgid " \\bind [PARAM]... set query parameters\n" msgstr " \\bind [PARAM]... 問い合わせパラメータを設定\n" +#: help.c:165 +msgid "" +" \\bind_named STMT_NAME [PARAM]...\n" +" set query parameters for an existing prepared statement\n" +msgstr "" +" \\bind_named STMT_NAME [PARAM]...\n" +" 既存の準備済みの文にパラメータを設定します\n" + +#: help.c:167 +msgid " \\close STMT_NAME close an existing prepared statement\n" +msgstr " \\close STMT_NAME 準備済みの文をクローズします\n" + #: help.c:168 msgid " \\copyright show PostgreSQL usage and distribution terms\n" msgstr " \\copyright PostgreSQL の使い方と配布条件を表示\n" @@ -2824,7 +2838,7 @@ msgstr "" " 返却行数が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:303 help.c:317 help.c:326 msgid "\n" msgstr "\n" @@ -3284,55 +3298,59 @@ msgid " \\encoding [ENCODING] show or set client encoding\n" msgstr " \\encoding [エンコーディング] クライアントのエンコーディングを表示または設定\n" #: help.c:315 +msgid " \\parse STMT_NAME create a prepared statement\n" +msgstr " \\parse STMT_NAME 準備済みの文を作成します\n" + +#: help.c:316 msgid " \\password [USERNAME] securely change the password for a user\n" msgstr " \\password [ユーザー名] ユーザーのパスワードを安全に変更\n" -#: help.c:318 +#: help.c:319 msgid "Operating System\n" msgstr "オペレーティングシステム\n" -#: help.c:319 +#: help.c:320 msgid " \\cd [DIR] change the current working directory\n" msgstr " \\cd [DIR] カレントディレクトリを変更\n" -#: help.c:320 +#: help.c:321 msgid " \\getenv PSQLVAR ENVVAR fetch environment variable\n" msgstr "" " \\getenv psql変数 環境変数\n" " 環境変数を取得\n" -#: help.c:321 +#: help.c:322 msgid " \\setenv NAME [VALUE] set or unset environment variable\n" msgstr " \\setenv 名前 [値] 環境変数を設定または解除\n" -#: help.c:322 +#: help.c:323 #, c-format msgid " \\timing [on|off] toggle timing of commands (currently %s)\n" msgstr " \\timing [on|off] コマンドの実行時間表示の切り替え (現在値: %s)\n" -#: help.c:324 +#: help.c:325 msgid " \\! [COMMAND] execute command in shell or start interactive shell\n" msgstr "" " \\! [コマンド] シェルでコマンドを実行するか、もしくは対話型シェルを\n" " 起動します。\n" -#: help.c:327 +#: help.c:328 msgid "Variables\n" msgstr "変数\n" -#: help.c:328 +#: help.c:329 msgid " \\prompt [TEXT] NAME prompt user to set internal variable\n" msgstr " \\prompt [テキスト] 変数名 ユーザーに対して内部変数の設定を要求します\n" -#: help.c:329 +#: help.c:330 msgid " \\set [NAME [VALUE]] set internal variable, or list all if no parameters\n" msgstr " \\set [変数名 [値]] 内部変数の値を設定、パラメータがなければ一覧を表示\n" -#: help.c:330 +#: help.c:331 msgid " \\unset NAME unset (delete) internal variable\n" msgstr " \\unset 変数名 内部変数を削除\n" -#: help.c:369 +#: help.c:370 msgid "" "List of specially treated variables\n" "\n" @@ -3340,11 +3358,11 @@ msgstr "" "特別に扱われる変数の一覧\n" "\n" -#: help.c:371 +#: help.c:372 msgid "psql variables:\n" msgstr "psql変数:\n" -#: help.c:373 +#: help.c:374 msgid "" " psql --set=NAME=VALUE\n" " or \\set NAME VALUE inside psql\n" @@ -3354,7 +3372,7 @@ msgstr "" " またはpsql内で \\set 名前 値\n" "\n" -#: help.c:375 +#: help.c:376 msgid "" " AUTOCOMMIT\n" " if set, successful SQL commands are automatically committed\n" @@ -3362,7 +3380,7 @@ msgstr "" " AUTOCOMMIT\n" " セットされている場合、SQLコマンドが成功した際に自動的にコミット\n" -#: help.c:377 +#: help.c:378 msgid "" " COMP_KEYWORD_CASE\n" " determines the case used to complete SQL key words\n" @@ -3372,7 +3390,7 @@ msgstr "" " SQLキーワードの補完に使う文字ケースを指定\n" " [lower, upper, preserve-lower, preserve-upper]\n" -#: help.c:380 +#: help.c:381 msgid "" " DBNAME\n" " the currently connected database name\n" @@ -3380,7 +3398,7 @@ msgstr "" " DBNAME\n" " 現在接続中のデータベース名\n" -#: help.c:382 +#: help.c:383 msgid "" " ECHO\n" " controls what input is written to standard output\n" @@ -3390,7 +3408,7 @@ msgstr "" " どの入力を標準出力への出力対象とするかを設定\n" " [all, errors, none, queries]\n" -#: help.c:385 +#: help.c:386 msgid "" " ECHO_HIDDEN\n" " if set, display internal queries executed by backslash commands;\n" @@ -3400,7 +3418,7 @@ msgstr "" " セットされていれば、バックスラッシュコマンドで実行される内部問い合わせを\n" " 表示; \"noexec\"を設定した場合は実行せずに表示のみ\n" -#: help.c:388 +#: help.c:389 msgid "" " ENCODING\n" " current client character set encoding\n" @@ -3408,7 +3426,7 @@ msgstr "" " ENCODING\n" " 現在のクライアント側の文字セットのエンコーディング\n" -#: help.c:390 +#: help.c:391 msgid "" " ERROR\n" " \"true\" if last query failed, else \"false\"\n" @@ -3416,7 +3434,7 @@ msgstr "" " ERROR\n" " 最後の問い合わせが失敗であれば\"true\"、そうでなければ\"false\"\n" -#: help.c:392 +#: help.c:393 msgid "" " FETCH_COUNT\n" " the number of result rows to fetch and display at a time (0 = unlimited)\n" @@ -3424,7 +3442,7 @@ msgstr "" " FETCH_COUNT\n" " 一度に取得および表示する結果の行数 (0 = 無制限)\n" -#: help.c:394 +#: help.c:395 msgid "" " HIDE_TABLEAM\n" " if set, table access methods are not displayed\n" @@ -3432,7 +3450,7 @@ msgstr "" " HIDE_TABLEAM\n" " 設定すると、テーブルアクセスメソッドは表示されない\n" -#: help.c:396 +#: help.c:397 msgid "" " HIDE_TOAST_COMPRESSION\n" " if set, compression methods are not displayed\n" @@ -3440,7 +3458,7 @@ msgstr "" " HIDE_TOAST_COMPRESSION\n" " 設定すると、圧縮方式は表示されない\n" -#: help.c:398 +#: help.c:399 msgid "" " HISTCONTROL\n" " controls command history [ignorespace, ignoredups, ignoreboth]\n" @@ -3448,7 +3466,7 @@ msgstr "" " HISTCONTROL\n" " コマンド履歴の制御 [ignorespace, ignoredups, ignoreboth]\n" -#: help.c:400 +#: help.c:401 msgid "" " HISTFILE\n" " file name used to store the command history\n" @@ -3456,7 +3474,7 @@ msgstr "" " HISTFILE\n" " コマンド履歴を保存するファイルの名前\n" -#: help.c:402 +#: help.c:403 msgid "" " HISTSIZE\n" " maximum number of commands to store in the command history\n" @@ -3464,7 +3482,7 @@ msgstr "" " HISTSIZE\n" " コマンド履歴で保存するコマンド数の上限\n" -#: help.c:404 +#: help.c:405 msgid "" " HOST\n" " the currently connected database server host\n" @@ -3472,7 +3490,7 @@ msgstr "" " HOST\n" " 現在接続中のデータベースサーバーホスト\n" -#: help.c:406 +#: help.c:407 msgid "" " IGNOREEOF\n" " number of EOFs needed to terminate an interactive session\n" @@ -3480,7 +3498,7 @@ msgstr "" " IGNOREEOF\n" " 対話形セッションを終わらせるのに必要なEOFの数\n" -#: help.c:408 +#: help.c:409 msgid "" " LASTOID\n" " value of the last affected OID\n" @@ -3488,7 +3506,7 @@ msgstr "" " LASTOID\n" " 最後の変更の影響を受けたOID\n" -#: help.c:410 +#: help.c:411 msgid "" " LAST_ERROR_MESSAGE\n" " LAST_ERROR_SQLSTATE\n" @@ -3499,7 +3517,7 @@ msgstr "" " 最後のエラーのメッセージおよび SQLSTATE、\n" " なにもなければ空の文字列および\"00000\"\n" -#: help.c:413 +#: help.c:414 msgid "" " ON_ERROR_ROLLBACK\n" " if set, an error doesn't stop a transaction (uses implicit savepoints)\n" @@ -3508,7 +3526,7 @@ msgstr "" " セットされている場合、エラーでトランザクションを停止しない (暗黙のセーブ\n" " ポイントを使用)\n" -#: help.c:415 +#: help.c:416 msgid "" " ON_ERROR_STOP\n" " stop batch execution after error\n" @@ -3516,7 +3534,7 @@ msgstr "" " ON_ERROR_STOP\n" " エラー発生後にバッチ実行を停止\n" -#: help.c:417 +#: help.c:418 msgid "" " PORT\n" " server port of the current connection\n" @@ -3524,7 +3542,7 @@ msgstr "" " PORT\n" " 現在の接続のサーバーポート\n" -#: help.c:419 +#: help.c:420 msgid "" " PROMPT1\n" " specifies the standard psql prompt\n" @@ -3532,7 +3550,7 @@ msgstr "" " PROMPT1\n" " psql の標準のプロンプトを指定\n" -#: help.c:421 +#: help.c:422 msgid "" " PROMPT2\n" " specifies the prompt used when a statement continues from a previous line\n" @@ -3540,7 +3558,7 @@ msgstr "" " PROMPT2\n" " 文が前行から継続する場合のプロンプトを指定\n" -#: help.c:423 +#: help.c:424 msgid "" " PROMPT3\n" " specifies the prompt used during COPY ... FROM STDIN\n" @@ -3548,7 +3566,7 @@ msgstr "" " PROMPT3\n" " COPY ... FROM STDIN の最中に使われるプロンプトを指定\n" -#: help.c:425 +#: help.c:426 msgid "" " QUIET\n" " run quietly (same as -q option)\n" @@ -3556,7 +3574,7 @@ msgstr "" " QUIET\n" " メッセージを表示しない (-q オプションと同じ)\n" -#: help.c:427 +#: help.c:428 msgid "" " ROW_COUNT\n" " number of rows returned or affected by last query, or 0\n" @@ -3564,7 +3582,7 @@ msgstr "" " ROW_COUNT\n" " 最後の問い合わせで返却した、または影響を与えた行の数、または0\n" -#: help.c:429 +#: help.c:430 msgid "" " SERVER_VERSION_NAME\n" " SERVER_VERSION_NUM\n" @@ -3574,7 +3592,7 @@ msgstr "" " SERVER_VERSION_NUM\n" " サーバーのバージョン(短い文字列または数値)\n" -#: help.c:432 +#: help.c:433 msgid "" " SHELL_ERROR\n" " \"true\" if the last shell command failed, \"false\" if it succeeded\n" @@ -3582,7 +3600,7 @@ msgstr "" " SHELL_ERROR\n" " 最後のシェルコマンドが失敗であれば\"true\"、成功であれば\"false\"\n" -#: help.c:434 +#: help.c:435 msgid "" " SHELL_EXIT_CODE\n" " exit status of the last shell command\n" @@ -3590,7 +3608,7 @@ msgstr "" " SHELL_EXIT_CODE\n" " 最後に実行したシェルコマンドの終了ステータス\n" -#: help.c:436 +#: help.c:437 msgid "" " SHOW_ALL_RESULTS\n" " show all results of a combined query (\\;) instead of only the last\n" @@ -3598,7 +3616,7 @@ msgstr "" " SHOW_ALL_RESULTS\n" " 複合問い合わせ(\\;)の最後の結果のみではなくすべてを表示する\n" -#: help.c:438 +#: help.c:439 msgid "" " SHOW_CONTEXT\n" " controls display of message context fields [never, errors, always]\n" @@ -3606,7 +3624,7 @@ msgstr "" " SHOW_CONTEXT\n" " メッセージコンテキストフィールドの表示を制御 [never, errors, always]\n" -#: help.c:440 +#: help.c:441 msgid "" " SINGLELINE\n" " if set, end of line terminates SQL commands (same as -S option)\n" @@ -3614,7 +3632,7 @@ msgstr "" " SINGLELINE\n" " セットした場合、改行はSQLコマンドを終端する (-S オプションと同じ)\n" -#: help.c:442 +#: help.c:443 msgid "" " SINGLESTEP\n" " single-step mode (same as -s option)\n" @@ -3622,7 +3640,7 @@ msgstr "" " SINGLESTEP\n" " シングルステップモード (-s オプションと同じ)\n" -#: help.c:444 +#: help.c:445 msgid "" " SQLSTATE\n" " SQLSTATE of last query, or \"00000\" if no error\n" @@ -3630,7 +3648,7 @@ msgstr "" " SQLSTATE\n" " 最後の問い合わせの SQLSTATE、またはエラーでなければ\"00000\"\n" -#: help.c:446 +#: help.c:447 msgid "" " USER\n" " the currently connected database user\n" @@ -3638,7 +3656,7 @@ msgstr "" " USER\n" " 現在接続中のデータベースユーザー\n" -#: help.c:448 +#: help.c:449 msgid "" " VERBOSITY\n" " controls verbosity of error reports [default, verbose, terse, sqlstate]\n" @@ -3646,7 +3664,7 @@ msgstr "" " VERBOSITY\n" " エラー報告の詳細度を制御 [default, verbose, terse, sqlstate]\n" -#: help.c:450 +#: help.c:451 msgid "" " VERSION\n" " VERSION_NAME\n" @@ -3658,7 +3676,7 @@ msgstr "" " VERSION_NUM\n" " psql のバージョン(長い文字列、短い文字列または数値)\n" -#: help.c:455 +#: help.c:456 msgid "" "\n" "Display settings:\n" @@ -3666,7 +3684,7 @@ msgstr "" "\n" "表示設定:\n" -#: help.c:457 +#: help.c:458 msgid "" " psql --pset=NAME[=VALUE]\n" " or \\pset NAME [VALUE] inside psql\n" @@ -3676,7 +3694,7 @@ msgstr "" " またはpsql内で \\pset 名前 [値]\n" "\n" -#: help.c:459 +#: help.c:460 msgid "" " border\n" " border style (number)\n" @@ -3684,7 +3702,7 @@ msgstr "" " border\n" " 境界線のスタイル (番号)\n" -#: help.c:461 +#: help.c:462 msgid "" " columns\n" " target width for the wrapped format\n" @@ -3692,7 +3710,7 @@ msgstr "" " columns\n" " 折り返し形式で目標とする横幅\n" -#: help.c:463 +#: help.c:464 msgid "" " expanded (or x)\n" " expanded output [on, off, auto]\n" @@ -3700,7 +3718,7 @@ msgstr "" " expanded (or x)\n" " 拡張出力 [on, off, auto]\n" -#: help.c:465 +#: help.c:466 #, c-format msgid "" " fieldsep\n" @@ -3709,7 +3727,7 @@ msgstr "" " fieldsep\n" " 非整列出力でのフィールド区切り文字(デフォルトは \"%s\")\n" -#: help.c:468 +#: help.c:469 msgid "" " fieldsep_zero\n" " set field separator for unaligned output to a zero byte\n" @@ -3717,7 +3735,7 @@ msgstr "" " fieldsep_zero\n" " 非整列出力でのフィールド区切り文字をバイト値の0に設定\n" -#: help.c:470 +#: help.c:471 msgid "" " footer\n" " enable or disable display of the table footer [on, off]\n" @@ -3725,7 +3743,7 @@ msgstr "" " footer\n" " テーブルフッター出力の要否を設定 [on, off]\n" -#: help.c:472 +#: help.c:473 msgid "" " format\n" " set output format [unaligned, aligned, wrapped, html, asciidoc, ...]\n" @@ -3733,7 +3751,7 @@ msgstr "" " format\n" " 出力フォーマットを設定 [unaligned, aligned, wrapped, html, asciidoc, ...]\n" -#: help.c:474 +#: help.c:475 msgid "" " linestyle\n" " set the border line drawing style [ascii, old-ascii, unicode]\n" @@ -3741,7 +3759,7 @@ msgstr "" " linestyle\n" " 境界線の描画スタイルを設定 [ascii, old-ascii, unicode]\n" -#: help.c:476 +#: help.c:477 msgid "" " null\n" " set the string to be printed in place of a null value\n" @@ -3749,7 +3767,7 @@ msgstr "" " null\n" " null 値の代わりに表示する文字列を設定\n" -#: help.c:478 +#: help.c:479 msgid "" " numericlocale\n" " enable display of a locale-specific character to separate groups of digits\n" @@ -3757,7 +3775,7 @@ msgstr "" " numericlocale\n" " ロケール固有文字での桁区切りを表示するかどうかを指定\n" -#: help.c:480 +#: help.c:481 msgid "" " pager\n" " control when an external pager is used [yes, no, always]\n" @@ -3765,7 +3783,7 @@ msgstr "" " pager\n" " いつ外部ページャーを使うかを制御 [yes, no, always]\n" -#: help.c:482 +#: help.c:483 msgid "" " recordsep\n" " record (line) separator for unaligned output\n" @@ -3773,7 +3791,7 @@ msgstr "" " recordsep\n" " 非整列出力でのレコード(行)区切り\n" -#: help.c:484 +#: help.c:485 msgid "" " recordsep_zero\n" " set record separator for unaligned output to a zero byte\n" @@ -3781,7 +3799,7 @@ msgstr "" " recordsep_zero\n" " 非整列出力でレコード区切りにバイト値の0に設定\n" -#: help.c:486 +#: help.c:487 msgid "" " tableattr (or T)\n" " specify attributes for table tag in html format, or proportional\n" @@ -3791,7 +3809,7 @@ msgstr "" " HTMLフォーマット時のtableタグの属性、もしくは latex-longtable\n" " フォーマット時に左寄せするデータ型の相対カラム幅を指定\n" -#: help.c:489 +#: help.c:490 msgid "" " title\n" " set the table title for subsequently printed tables\n" @@ -3799,7 +3817,7 @@ msgstr "" " title\n" " 以降に表示される表のタイトルを設定\n" -#: help.c:491 +#: help.c:492 msgid "" " tuples_only\n" " if set, only actual table data is shown\n" @@ -3807,7 +3825,7 @@ msgstr "" " tuples_only\n" " セットされた場合、実際のテーブルデータのみを表示\n" -#: help.c:493 +#: help.c:494 msgid "" " unicode_border_linestyle\n" " unicode_column_linestyle\n" @@ -3819,7 +3837,7 @@ msgstr "" " unicode_header_linestyle\n" " Unicode による線描画時のスタイルを設定 [single, double]\n" -#: help.c:498 +#: help.c:499 msgid "" "\n" "Environment variables:\n" @@ -3827,7 +3845,7 @@ msgstr "" "\n" "環境変数:\n" -#: help.c:502 +#: help.c:503 msgid "" " NAME=VALUE [NAME=VALUE] psql ...\n" " or \\setenv NAME [VALUE] inside psql\n" @@ -3837,7 +3855,7 @@ msgstr "" " またはpsql内で \\setenv 名前 [値]\n" "\n" -#: help.c:504 +#: help.c:505 msgid "" " set NAME=VALUE\n" " psql ...\n" @@ -3849,7 +3867,7 @@ msgstr "" " またはpsq内で \\setenv 名前 [値]\n" "\n" -#: help.c:507 +#: help.c:508 msgid "" " COLUMNS\n" " number of columns for wrapped format\n" @@ -3857,7 +3875,7 @@ msgstr "" " COLUMNS\n" " 折り返し書式におけるカラム数\n" -#: help.c:509 +#: help.c:510 msgid "" " PGAPPNAME\n" " same as the application_name connection parameter\n" @@ -3865,7 +3883,7 @@ msgstr "" " PGAPPNAME\n" " application_name 接続パラメータと同じ\n" -#: help.c:511 +#: help.c:512 msgid "" " PGDATABASE\n" " same as the dbname connection parameter\n" @@ -3873,7 +3891,7 @@ msgstr "" " PGDATABASE\n" " dbname 接続パラメータと同じ\n" -#: help.c:513 +#: help.c:514 msgid "" " PGHOST\n" " same as the host connection parameter\n" @@ -3881,7 +3899,7 @@ msgstr "" " PGHOST\n" " host 接続パラメータと同じ\n" -#: help.c:515 +#: help.c:516 msgid "" " PGPASSFILE\n" " password file name\n" @@ -3889,7 +3907,7 @@ msgstr "" " PGPASSFILE\n" " パスワードファイル名\n" -#: help.c:517 +#: help.c:518 msgid "" " PGPASSWORD\n" " connection password (not recommended)\n" @@ -3897,7 +3915,7 @@ msgstr "" " PGPASSWORD\n" " 接続用パスワード (推奨されません)\n" -#: help.c:519 +#: help.c:520 msgid "" " PGPORT\n" " same as the port connection parameter\n" @@ -3905,7 +3923,7 @@ msgstr "" " PGPORT\n" " port 接続パラメータと同じ\n" -#: help.c:521 +#: help.c:522 msgid "" " PGUSER\n" " same as the user connection parameter\n" @@ -3913,7 +3931,7 @@ msgstr "" " PGUSER\n" " user 接続パラメータと同じ\n" -#: help.c:523 +#: help.c:524 msgid "" " PSQL_EDITOR, EDITOR, VISUAL\n" " editor used by the \\e, \\ef, and \\ev commands\n" @@ -3921,7 +3939,7 @@ msgstr "" " PSQL_EDITOR, EDITOR, VISUAL\n" " \\e, \\ef, \\ev コマンドで使われるエディタ\n" -#: help.c:525 +#: help.c:526 msgid "" " PSQL_EDITOR_LINENUMBER_ARG\n" " how to specify a line number when invoking the editor\n" @@ -3929,7 +3947,7 @@ msgstr "" " PSQL_EDITOR_LINENUMBER_ARG\n" " エディタの起動時に行番号を指定する方法\n" -#: help.c:527 +#: help.c:528 msgid "" " PSQL_HISTORY\n" " alternative location for the command history file\n" @@ -3937,7 +3955,7 @@ msgstr "" " PSQL_HISTORY\n" " コマンドライン履歴ファイルの代替の場所\n" -#: help.c:529 +#: help.c:530 msgid "" " PSQL_PAGER, PAGER\n" " name of external pager program\n" @@ -3945,7 +3963,7 @@ msgstr "" " PSQL_PAGER, PAGER\n" " 外部ページャープログラムの名前\n" -#: help.c:532 +#: help.c:533 msgid "" " PSQL_WATCH_PAGER\n" " name of external pager program used for \\watch\n" @@ -3953,7 +3971,7 @@ msgstr "" " PSQL_PAGER, PAGER\n" " \\watchで使用する外部ページャープログラムの名前\n" -#: help.c:535 +#: help.c:536 msgid "" " PSQLRC\n" " alternative location for the user's .psqlrc file\n" @@ -3961,7 +3979,7 @@ msgstr "" " PSQLRC\n" " ユーザーの .psqlrc ファイルの代替の場所\n" -#: help.c:537 +#: help.c:538 msgid "" " SHELL\n" " shell used by the \\! command\n" @@ -3969,7 +3987,7 @@ msgstr "" " SHELL\n" " \\! コマンドで使われるシェル\n" -#: help.c:539 +#: help.c:540 msgid "" " TMPDIR\n" " directory for temporary files\n" @@ -3977,11 +3995,11 @@ msgstr "" " TMPDIR\n" " テンポラリファイル用ディレクトリ\n" -#: help.c:599 +#: help.c:600 msgid "Available help:\n" msgstr "利用可能なヘルプ:\n" -#: help.c:694 +#: help.c:695 #, c-format msgid "" "Command: %s\n" @@ -4000,7 +4018,7 @@ msgstr "" "URL: %s\n" "\n" -#: help.c:717 +#: help.c:718 #, c-format msgid "" "No help available for \"%s\".\n" @@ -4119,203 +4137,202 @@ msgstr "%s: メモリ不足です" #: sql_help.c:35 sql_help.c:38 sql_help.c:41 sql_help.c:65 sql_help.c:66 #: sql_help.c:68 sql_help.c:70 sql_help.c:81 sql_help.c:83 sql_help.c:85 #: sql_help.c:113 sql_help.c:119 sql_help.c:121 sql_help.c:123 sql_help.c:125 -#: sql_help.c:126 sql_help.c:129 sql_help.c:131 sql_help.c:133 sql_help.c:240 -#: sql_help.c:242 sql_help.c:243 sql_help.c:245 sql_help.c:247 sql_help.c:250 -#: sql_help.c:252 sql_help.c:254 sql_help.c:256 sql_help.c:268 sql_help.c:269 -#: sql_help.c:270 sql_help.c:272 sql_help.c:321 sql_help.c:323 sql_help.c:325 -#: sql_help.c:327 sql_help.c:396 sql_help.c:401 sql_help.c:403 sql_help.c:445 -#: sql_help.c:447 sql_help.c:450 sql_help.c:452 sql_help.c:521 sql_help.c:526 -#: sql_help.c:531 sql_help.c:536 sql_help.c:541 sql_help.c:595 sql_help.c:597 -#: sql_help.c:599 sql_help.c:601 sql_help.c:603 sql_help.c:606 sql_help.c:608 -#: sql_help.c:611 sql_help.c:622 sql_help.c:624 sql_help.c:668 sql_help.c:670 -#: sql_help.c:672 sql_help.c:675 sql_help.c:677 sql_help.c:679 sql_help.c:720 -#: sql_help.c:724 sql_help.c:728 sql_help.c:749 sql_help.c:752 sql_help.c:755 -#: sql_help.c:784 sql_help.c:796 sql_help.c:804 sql_help.c:807 sql_help.c:810 -#: sql_help.c:825 sql_help.c:828 sql_help.c:857 sql_help.c:862 sql_help.c:867 -#: sql_help.c:872 sql_help.c:877 sql_help.c:904 sql_help.c:906 sql_help.c:908 -#: sql_help.c:910 sql_help.c:913 sql_help.c:915 sql_help.c:962 sql_help.c:1007 -#: sql_help.c:1012 sql_help.c:1017 sql_help.c:1022 sql_help.c:1027 -#: sql_help.c:1046 sql_help.c:1057 sql_help.c:1059 sql_help.c:1079 -#: sql_help.c:1089 sql_help.c:1090 sql_help.c:1092 sql_help.c:1094 -#: sql_help.c:1106 sql_help.c:1110 sql_help.c:1112 sql_help.c:1124 -#: sql_help.c:1126 sql_help.c:1128 sql_help.c:1130 sql_help.c:1149 -#: sql_help.c:1151 sql_help.c:1155 sql_help.c:1159 sql_help.c:1163 -#: sql_help.c:1166 sql_help.c:1167 sql_help.c:1168 sql_help.c:1171 -#: sql_help.c:1174 sql_help.c:1176 sql_help.c:1323 sql_help.c:1325 -#: sql_help.c:1328 sql_help.c:1331 sql_help.c:1333 sql_help.c:1335 -#: sql_help.c:1338 sql_help.c:1341 sql_help.c:1343 sql_help.c:1349 -#: sql_help.c:1473 sql_help.c:1475 sql_help.c:1477 sql_help.c:1480 -#: sql_help.c:1501 sql_help.c:1504 sql_help.c:1507 sql_help.c:1510 -#: sql_help.c:1514 sql_help.c:1516 sql_help.c:1518 sql_help.c:1520 -#: sql_help.c:1534 sql_help.c:1537 sql_help.c:1539 sql_help.c:1541 -#: sql_help.c:1551 sql_help.c:1553 sql_help.c:1563 sql_help.c:1565 -#: sql_help.c:1575 sql_help.c:1578 sql_help.c:1601 sql_help.c:1603 -#: sql_help.c:1605 sql_help.c:1607 sql_help.c:1610 sql_help.c:1612 -#: sql_help.c:1615 sql_help.c:1618 sql_help.c:1669 sql_help.c:1712 -#: sql_help.c:1715 sql_help.c:1717 sql_help.c:1719 sql_help.c:1722 -#: sql_help.c:1724 sql_help.c:1726 sql_help.c:1729 sql_help.c:1779 -#: sql_help.c:1795 sql_help.c:2028 sql_help.c:2097 sql_help.c:2116 -#: sql_help.c:2129 sql_help.c:2187 sql_help.c:2195 sql_help.c:2205 -#: sql_help.c:2233 sql_help.c:2266 sql_help.c:2284 sql_help.c:2312 -#: sql_help.c:2423 sql_help.c:2469 sql_help.c:2494 sql_help.c:2517 -#: sql_help.c:2521 sql_help.c:2555 sql_help.c:2575 sql_help.c:2597 -#: sql_help.c:2611 sql_help.c:2632 sql_help.c:2661 sql_help.c:2694 -#: sql_help.c:2717 sql_help.c:2764 sql_help.c:3062 sql_help.c:3075 -#: sql_help.c:3092 sql_help.c:3108 sql_help.c:3148 sql_help.c:3202 -#: sql_help.c:3206 sql_help.c:3208 sql_help.c:3215 sql_help.c:3234 -#: sql_help.c:3261 sql_help.c:3296 sql_help.c:3308 sql_help.c:3317 -#: sql_help.c:3361 sql_help.c:3375 sql_help.c:3403 sql_help.c:3411 -#: sql_help.c:3423 sql_help.c:3433 sql_help.c:3441 sql_help.c:3449 -#: sql_help.c:3457 sql_help.c:3465 sql_help.c:3474 sql_help.c:3485 -#: sql_help.c:3493 sql_help.c:3501 sql_help.c:3509 sql_help.c:3517 -#: sql_help.c:3527 sql_help.c:3536 sql_help.c:3545 sql_help.c:3553 -#: sql_help.c:3563 sql_help.c:3574 sql_help.c:3582 sql_help.c:3591 -#: sql_help.c:3602 sql_help.c:3611 sql_help.c:3619 sql_help.c:3627 -#: sql_help.c:3635 sql_help.c:3643 sql_help.c:3651 sql_help.c:3659 -#: sql_help.c:3667 sql_help.c:3675 sql_help.c:3683 sql_help.c:3691 -#: sql_help.c:3708 sql_help.c:3717 sql_help.c:3725 sql_help.c:3742 -#: sql_help.c:3757 sql_help.c:4070 sql_help.c:4191 sql_help.c:4220 -#: sql_help.c:4236 sql_help.c:4238 sql_help.c:4742 sql_help.c:4790 -#: sql_help.c:4949 +#: sql_help.c:126 sql_help.c:129 sql_help.c:131 sql_help.c:133 sql_help.c:245 +#: sql_help.c:247 sql_help.c:248 sql_help.c:250 sql_help.c:252 sql_help.c:255 +#: sql_help.c:257 sql_help.c:259 sql_help.c:261 sql_help.c:276 sql_help.c:277 +#: sql_help.c:278 sql_help.c:280 sql_help.c:329 sql_help.c:331 sql_help.c:333 +#: sql_help.c:335 sql_help.c:404 sql_help.c:409 sql_help.c:411 sql_help.c:453 +#: sql_help.c:455 sql_help.c:458 sql_help.c:460 sql_help.c:529 sql_help.c:534 +#: sql_help.c:539 sql_help.c:544 sql_help.c:549 sql_help.c:603 sql_help.c:605 +#: sql_help.c:607 sql_help.c:609 sql_help.c:611 sql_help.c:614 sql_help.c:616 +#: sql_help.c:619 sql_help.c:630 sql_help.c:632 sql_help.c:676 sql_help.c:678 +#: sql_help.c:680 sql_help.c:683 sql_help.c:685 sql_help.c:687 sql_help.c:728 +#: 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:1088 +#: sql_help.c:1098 sql_help.c:1099 sql_help.c:1101 sql_help.c:1103 +#: sql_help.c:1115 sql_help.c:1119 sql_help.c:1121 sql_help.c:1133 +#: sql_help.c:1135 sql_help.c:1137 sql_help.c:1139 sql_help.c:1158 +#: sql_help.c:1160 sql_help.c:1164 sql_help.c:1168 sql_help.c:1172 +#: sql_help.c:1175 sql_help.c:1176 sql_help.c:1177 sql_help.c:1180 +#: sql_help.c:1183 sql_help.c:1185 sql_help.c:1326 sql_help.c:1328 +#: sql_help.c:1331 sql_help.c:1334 sql_help.c:1336 sql_help.c:1338 +#: sql_help.c:1341 sql_help.c:1344 sql_help.c:1467 sql_help.c:1469 +#: sql_help.c:1471 sql_help.c:1474 sql_help.c:1495 sql_help.c:1498 +#: sql_help.c:1501 sql_help.c:1504 sql_help.c:1508 sql_help.c:1510 +#: sql_help.c:1512 sql_help.c:1514 sql_help.c:1528 sql_help.c:1531 +#: sql_help.c:1533 sql_help.c:1535 sql_help.c:1545 sql_help.c:1547 +#: sql_help.c:1557 sql_help.c:1559 sql_help.c:1569 sql_help.c:1572 +#: sql_help.c:1595 sql_help.c:1597 sql_help.c:1599 sql_help.c:1601 +#: sql_help.c:1604 sql_help.c:1606 sql_help.c:1609 sql_help.c:1612 +#: sql_help.c:1663 sql_help.c:1706 sql_help.c:1709 sql_help.c:1711 +#: sql_help.c:1713 sql_help.c:1716 sql_help.c:1718 sql_help.c:1720 +#: sql_help.c:1723 sql_help.c:1773 sql_help.c:1789 sql_help.c:2024 +#: sql_help.c:2093 sql_help.c:2112 sql_help.c:2125 sql_help.c:2183 +#: sql_help.c:2191 sql_help.c:2201 sql_help.c:2229 sql_help.c:2262 +#: sql_help.c:2280 sql_help.c:2308 sql_help.c:2421 sql_help.c:2467 +#: sql_help.c:2492 sql_help.c:2515 sql_help.c:2519 sql_help.c:2553 +#: sql_help.c:2573 sql_help.c:2595 sql_help.c:2609 sql_help.c:2630 +#: sql_help.c:2659 sql_help.c:2692 sql_help.c:2715 sql_help.c:2764 +#: sql_help.c:3068 sql_help.c:3081 sql_help.c:3098 sql_help.c:3114 +#: sql_help.c:3154 sql_help.c:3208 sql_help.c:3212 sql_help.c:3214 +#: sql_help.c:3221 sql_help.c:3240 sql_help.c:3267 sql_help.c:3302 +#: sql_help.c:3314 sql_help.c:3323 sql_help.c:3367 sql_help.c:3381 +#: sql_help.c:3409 sql_help.c:3417 sql_help.c:3429 sql_help.c:3439 +#: sql_help.c:3447 sql_help.c:3455 sql_help.c:3463 sql_help.c:3471 +#: sql_help.c:3480 sql_help.c:3491 sql_help.c:3499 sql_help.c:3507 +#: sql_help.c:3515 sql_help.c:3523 sql_help.c:3533 sql_help.c:3542 +#: sql_help.c:3551 sql_help.c:3559 sql_help.c:3569 sql_help.c:3580 +#: sql_help.c:3588 sql_help.c:3597 sql_help.c:3608 sql_help.c:3617 +#: sql_help.c:3625 sql_help.c:3633 sql_help.c:3641 sql_help.c:3649 +#: sql_help.c:3657 sql_help.c:3665 sql_help.c:3673 sql_help.c:3681 +#: sql_help.c:3689 sql_help.c:3697 sql_help.c:3714 sql_help.c:3723 +#: sql_help.c:3731 sql_help.c:3748 sql_help.c:3763 sql_help.c:4076 +#: sql_help.c:4197 sql_help.c:4226 sql_help.c:4242 sql_help.c:4244 +#: sql_help.c:4748 sql_help.c:4796 sql_help.c:4955 msgid "name" msgstr "名前" -#: sql_help.c:36 sql_help.c:39 sql_help.c:42 sql_help.c:332 sql_help.c:1872 -#: sql_help.c:3376 sql_help.c:4509 +#: sql_help.c:36 sql_help.c:39 sql_help.c:42 sql_help.c:340 sql_help.c:1866 +#: sql_help.c:3382 sql_help.c:4515 msgid "aggregate_signature" msgstr "集約関数のシグニチャー" -#: sql_help.c:37 sql_help.c:67 sql_help.c:82 sql_help.c:120 sql_help.c:255 -#: sql_help.c:273 sql_help.c:404 sql_help.c:451 sql_help.c:530 sql_help.c:578 -#: sql_help.c:596 sql_help.c:623 sql_help.c:676 sql_help.c:751 sql_help.c:806 -#: sql_help.c:827 sql_help.c:866 sql_help.c:916 sql_help.c:963 sql_help.c:1016 -#: sql_help.c:1048 sql_help.c:1058 sql_help.c:1093 sql_help.c:1113 -#: sql_help.c:1127 sql_help.c:1177 sql_help.c:1332 sql_help.c:1474 -#: sql_help.c:1517 sql_help.c:1538 sql_help.c:1552 sql_help.c:1564 -#: sql_help.c:1577 sql_help.c:1604 sql_help.c:1670 sql_help.c:1723 +#: 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:1102 sql_help.c:1122 +#: sql_help.c:1136 sql_help.c:1186 sql_help.c:1335 sql_help.c:1468 +#: sql_help.c:1511 sql_help.c:1532 sql_help.c:1546 sql_help.c:1558 +#: sql_help.c:1571 sql_help.c:1598 sql_help.c:1664 sql_help.c:1717 msgid "new_name" msgstr "新しい名前" -#: sql_help.c:40 sql_help.c:69 sql_help.c:84 sql_help.c:122 sql_help.c:253 -#: sql_help.c:271 sql_help.c:402 sql_help.c:487 sql_help.c:535 sql_help.c:625 -#: sql_help.c:634 sql_help.c:699 sql_help.c:723 sql_help.c:754 sql_help.c:809 -#: sql_help.c:871 sql_help.c:914 sql_help.c:1021 sql_help.c:1060 -#: sql_help.c:1091 sql_help.c:1111 sql_help.c:1125 sql_help.c:1175 -#: sql_help.c:1408 sql_help.c:1476 sql_help.c:1519 sql_help.c:1540 -#: sql_help.c:1602 sql_help.c:1718 sql_help.c:3048 +#: 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:1100 sql_help.c:1120 sql_help.c:1134 sql_help.c:1184 +#: sql_help.c:1401 sql_help.c:1470 sql_help.c:1513 sql_help.c:1534 +#: sql_help.c:1596 sql_help.c:1712 sql_help.c:3054 msgid "new_owner" msgstr "新しい所有者" -#: sql_help.c:43 sql_help.c:71 sql_help.c:86 sql_help.c:257 sql_help.c:324 -#: sql_help.c:453 sql_help.c:540 sql_help.c:678 sql_help.c:727 sql_help.c:757 -#: sql_help.c:812 sql_help.c:876 sql_help.c:1026 sql_help.c:1095 -#: sql_help.c:1129 sql_help.c:1334 sql_help.c:1521 sql_help.c:1542 -#: sql_help.c:1554 sql_help.c:1566 sql_help.c:1606 sql_help.c:1725 +#: 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:1104 +#: sql_help.c:1138 sql_help.c:1337 sql_help.c:1515 sql_help.c:1536 +#: sql_help.c:1548 sql_help.c:1560 sql_help.c:1600 sql_help.c:1719 msgid "new_schema" msgstr "新しいスキーマ" -#: sql_help.c:44 sql_help.c:1936 sql_help.c:3377 sql_help.c:4538 +#: sql_help.c:44 sql_help.c:1930 sql_help.c:3383 sql_help.c:4544 msgid "where aggregate_signature is:" msgstr "集約関数のシグニチャーには以下のものがあります:" -#: sql_help.c:45 sql_help.c:48 sql_help.c:51 sql_help.c:342 sql_help.c:355 -#: sql_help.c:359 sql_help.c:375 sql_help.c:378 sql_help.c:381 sql_help.c:522 -#: sql_help.c:527 sql_help.c:532 sql_help.c:537 sql_help.c:542 sql_help.c:858 -#: sql_help.c:863 sql_help.c:868 sql_help.c:873 sql_help.c:878 sql_help.c:1008 -#: sql_help.c:1013 sql_help.c:1018 sql_help.c:1023 sql_help.c:1028 -#: sql_help.c:1890 sql_help.c:1907 sql_help.c:1913 sql_help.c:1937 -#: sql_help.c:1940 sql_help.c:1943 sql_help.c:2098 sql_help.c:2117 -#: sql_help.c:2120 sql_help.c:2424 sql_help.c:2633 sql_help.c:3378 -#: sql_help.c:3381 sql_help.c:3384 sql_help.c:3475 sql_help.c:3564 -#: sql_help.c:3592 sql_help.c:3945 sql_help.c:4408 sql_help.c:4515 -#: sql_help.c:4522 sql_help.c:4528 sql_help.c:4539 sql_help.c:4542 -#: sql_help.c:4545 +#: 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:1884 sql_help.c:1901 sql_help.c:1907 sql_help.c:1931 +#: sql_help.c:1934 sql_help.c:1937 sql_help.c:2094 sql_help.c:2113 +#: sql_help.c:2116 sql_help.c:2422 sql_help.c:2631 sql_help.c:3384 +#: sql_help.c:3387 sql_help.c:3390 sql_help.c:3481 sql_help.c:3570 +#: sql_help.c:3598 sql_help.c:3951 sql_help.c:4414 sql_help.c:4521 +#: sql_help.c:4528 sql_help.c:4534 sql_help.c:4545 sql_help.c:4548 +#: sql_help.c:4551 msgid "argmode" msgstr "引数のモード" -#: sql_help.c:46 sql_help.c:49 sql_help.c:52 sql_help.c:343 sql_help.c:356 -#: sql_help.c:360 sql_help.c:376 sql_help.c:379 sql_help.c:382 sql_help.c:523 -#: sql_help.c:528 sql_help.c:533 sql_help.c:538 sql_help.c:543 sql_help.c:859 -#: sql_help.c:864 sql_help.c:869 sql_help.c:874 sql_help.c:879 sql_help.c:1009 -#: sql_help.c:1014 sql_help.c:1019 sql_help.c:1024 sql_help.c:1029 -#: sql_help.c:1891 sql_help.c:1908 sql_help.c:1914 sql_help.c:1938 -#: sql_help.c:1941 sql_help.c:1944 sql_help.c:2099 sql_help.c:2118 -#: sql_help.c:2121 sql_help.c:2425 sql_help.c:2634 sql_help.c:3379 -#: sql_help.c:3382 sql_help.c:3385 sql_help.c:3476 sql_help.c:3565 -#: sql_help.c:3593 sql_help.c:4516 sql_help.c:4523 sql_help.c:4529 -#: sql_help.c:4540 sql_help.c:4543 sql_help.c:4546 +#: 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:1885 sql_help.c:1902 sql_help.c:1908 sql_help.c:1932 +#: sql_help.c:1935 sql_help.c:1938 sql_help.c:2095 sql_help.c:2114 +#: sql_help.c:2117 sql_help.c:2423 sql_help.c:2632 sql_help.c:3385 +#: sql_help.c:3388 sql_help.c:3391 sql_help.c:3482 sql_help.c:3571 +#: sql_help.c:3599 sql_help.c:4522 sql_help.c:4529 sql_help.c:4535 +#: sql_help.c:4546 sql_help.c:4549 sql_help.c:4552 msgid "argname" msgstr "引数の名前" -#: sql_help.c:47 sql_help.c:50 sql_help.c:53 sql_help.c:344 sql_help.c:357 -#: sql_help.c:361 sql_help.c:377 sql_help.c:380 sql_help.c:383 sql_help.c:524 -#: sql_help.c:529 sql_help.c:534 sql_help.c:539 sql_help.c:544 sql_help.c:860 -#: sql_help.c:865 sql_help.c:870 sql_help.c:875 sql_help.c:880 sql_help.c:1010 -#: sql_help.c:1015 sql_help.c:1020 sql_help.c:1025 sql_help.c:1030 -#: sql_help.c:1892 sql_help.c:1909 sql_help.c:1915 sql_help.c:1939 -#: sql_help.c:1942 sql_help.c:1945 sql_help.c:2426 sql_help.c:2635 -#: sql_help.c:3380 sql_help.c:3383 sql_help.c:3386 sql_help.c:3477 -#: sql_help.c:3566 sql_help.c:3594 sql_help.c:4517 sql_help.c:4524 -#: sql_help.c:4530 sql_help.c:4541 sql_help.c:4544 sql_help.c:4547 +#: 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:1886 sql_help.c:1903 sql_help.c:1909 sql_help.c:1933 +#: sql_help.c:1936 sql_help.c:1939 sql_help.c:2424 sql_help.c:2633 +#: sql_help.c:3386 sql_help.c:3389 sql_help.c:3392 sql_help.c:3483 +#: sql_help.c:3572 sql_help.c:3600 sql_help.c:4523 sql_help.c:4530 +#: sql_help.c:4536 sql_help.c:4547 sql_help.c:4550 sql_help.c:4553 msgid "argtype" msgstr "引数の型" -#: sql_help.c:114 sql_help.c:399 sql_help.c:476 sql_help.c:488 sql_help.c:957 -#: sql_help.c:1108 sql_help.c:1535 sql_help.c:1664 sql_help.c:1696 -#: sql_help.c:1748 sql_help.c:1807 sql_help.c:1996 sql_help.c:2003 -#: sql_help.c:2315 sql_help.c:2365 sql_help.c:2372 sql_help.c:2381 -#: sql_help.c:2470 sql_help.c:2695 sql_help.c:2786 sql_help.c:3077 -#: sql_help.c:3262 sql_help.c:3284 sql_help.c:3424 sql_help.c:3781 -#: sql_help.c:3989 sql_help.c:4235 sql_help.c:4237 sql_help.c:5015 +#: sql_help.c:114 sql_help.c:407 sql_help.c:484 sql_help.c:496 sql_help.c:965 +#: sql_help.c:1117 sql_help.c:1529 sql_help.c:1658 sql_help.c:1690 +#: sql_help.c:1742 sql_help.c:1801 sql_help.c:1991 sql_help.c:1998 +#: sql_help.c:2311 sql_help.c:2362 sql_help.c:2369 sql_help.c:2378 +#: sql_help.c:2468 sql_help.c:2693 sql_help.c:2786 sql_help.c:3083 +#: sql_help.c:3268 sql_help.c:3290 sql_help.c:3430 sql_help.c:3787 +#: sql_help.c:3995 sql_help.c:4241 sql_help.c:4243 sql_help.c:5021 msgid "option" msgstr "オプション" -#: sql_help.c:115 sql_help.c:958 sql_help.c:1665 sql_help.c:2471 -#: sql_help.c:2696 sql_help.c:3263 sql_help.c:3425 +#: sql_help.c:115 sql_help.c:966 sql_help.c:1659 sql_help.c:2469 +#: sql_help.c:2694 sql_help.c:3269 sql_help.c:3431 msgid "where option can be:" msgstr "オプションには以下のものがあります:" -#: sql_help.c:116 sql_help.c:2247 +#: sql_help.c:116 sql_help.c:2243 msgid "allowconn" msgstr "接続の可否(真偽値)" -#: sql_help.c:117 sql_help.c:959 sql_help.c:1666 sql_help.c:2248 -#: sql_help.c:2472 sql_help.c:2697 sql_help.c:3264 +#: sql_help.c:117 sql_help.c:967 sql_help.c:1660 sql_help.c:2244 +#: sql_help.c:2470 sql_help.c:2695 sql_help.c:3270 msgid "connlimit" msgstr "最大同時接続数" -#: sql_help.c:118 sql_help.c:2249 +#: sql_help.c:118 sql_help.c:2245 msgid "istemplate" msgstr "テンプレートかどうか(真偽値)" -#: sql_help.c:124 sql_help.c:613 sql_help.c:681 sql_help.c:695 sql_help.c:1337 -#: sql_help.c:1401 sql_help.c:4241 +#: sql_help.c:124 sql_help.c:621 sql_help.c:689 sql_help.c:703 sql_help.c:1340 +#: sql_help.c:1394 sql_help.c:4247 msgid "new_tablespace" msgstr "新しいテーブル空間名" -#: sql_help.c:127 sql_help.c:130 sql_help.c:132 sql_help.c:550 sql_help.c:552 -#: sql_help.c:553 sql_help.c:883 sql_help.c:885 sql_help.c:886 sql_help.c:966 -#: sql_help.c:970 sql_help.c:973 sql_help.c:1035 sql_help.c:1037 -#: sql_help.c:1038 sql_help.c:1188 sql_help.c:1190 sql_help.c:1673 -#: sql_help.c:1677 sql_help.c:1680 sql_help.c:2436 sql_help.c:2639 -#: sql_help.c:3957 sql_help.c:4259 sql_help.c:4420 sql_help.c:4730 +#: 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:1197 sql_help.c:1199 sql_help.c:1667 +#: sql_help.c:1671 sql_help.c:1674 sql_help.c:2434 sql_help.c:2637 +#: sql_help.c:3963 sql_help.c:4265 sql_help.c:4426 sql_help.c:4736 msgid "configuration_parameter" msgstr "設定パラメータ" -#: sql_help.c:128 sql_help.c:400 sql_help.c:471 sql_help.c:477 sql_help.c:489 -#: sql_help.c:551 sql_help.c:605 sql_help.c:687 sql_help.c:697 sql_help.c:884 -#: sql_help.c:912 sql_help.c:967 sql_help.c:1036 sql_help.c:1109 -#: sql_help.c:1154 sql_help.c:1158 sql_help.c:1162 sql_help.c:1165 -#: sql_help.c:1170 sql_help.c:1173 sql_help.c:1189 sql_help.c:1380 -#: sql_help.c:1403 sql_help.c:1451 sql_help.c:1459 sql_help.c:1479 -#: sql_help.c:1536 sql_help.c:1620 sql_help.c:1674 sql_help.c:1697 -#: sql_help.c:2316 sql_help.c:2366 sql_help.c:2373 sql_help.c:2382 -#: sql_help.c:2437 sql_help.c:2438 sql_help.c:2502 sql_help.c:2505 -#: sql_help.c:2539 sql_help.c:2640 sql_help.c:2641 sql_help.c:2664 -#: sql_help.c:2787 sql_help.c:2826 sql_help.c:2936 sql_help.c:2949 -#: sql_help.c:2963 sql_help.c:3004 sql_help.c:3012 sql_help.c:3034 -#: sql_help.c:3051 sql_help.c:3078 sql_help.c:3285 sql_help.c:3990 -#: sql_help.c:4731 sql_help.c:4732 sql_help.c:4733 sql_help.c:4734 +#: 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:1118 +#: sql_help.c:1163 sql_help.c:1167 sql_help.c:1171 sql_help.c:1174 +#: sql_help.c:1179 sql_help.c:1182 sql_help.c:1198 sql_help.c:1373 +#: sql_help.c:1396 sql_help.c:1445 sql_help.c:1453 sql_help.c:1473 +#: sql_help.c:1530 sql_help.c:1614 sql_help.c:1668 sql_help.c:1691 +#: sql_help.c:2312 sql_help.c:2363 sql_help.c:2370 sql_help.c:2379 +#: sql_help.c:2435 sql_help.c:2436 sql_help.c:2500 sql_help.c:2503 +#: sql_help.c:2537 sql_help.c:2638 sql_help.c:2639 sql_help.c:2662 +#: sql_help.c:2787 sql_help.c:2826 sql_help.c:2937 sql_help.c:2950 +#: sql_help.c:2964 sql_help.c:3010 sql_help.c:3018 sql_help.c:3040 +#: sql_help.c:3057 sql_help.c:3084 sql_help.c:3291 sql_help.c:3996 +#: sql_help.c:4737 sql_help.c:4738 sql_help.c:4739 sql_help.c:4740 msgid "value" msgstr "値" @@ -4323,10 +4340,10 @@ msgstr "値" msgid "target_role" msgstr "対象のロール" -#: sql_help.c:203 sql_help.c:921 sql_help.c:2300 sql_help.c:2669 -#: sql_help.c:2742 sql_help.c:2747 sql_help.c:3920 sql_help.c:3929 -#: sql_help.c:3948 sql_help.c:3960 sql_help.c:4383 sql_help.c:4392 -#: sql_help.c:4411 sql_help.c:4423 +#: sql_help.c:203 sql_help.c:929 sql_help.c:2296 sql_help.c:2667 +#: sql_help.c:2740 sql_help.c:2745 sql_help.c:3926 sql_help.c:3935 +#: sql_help.c:3954 sql_help.c:3966 sql_help.c:4389 sql_help.c:4398 +#: sql_help.c:4417 sql_help.c:4429 msgid "schema_name" msgstr "スキーマ名" @@ -4340,1009 +4357,1007 @@ msgstr "GRANT/REVOKEの省略形は以下のいずれかです:" #: 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:576 sql_help.c:612 sql_help.c:680 sql_help.c:830 sql_help.c:977 -#: sql_help.c:1336 sql_help.c:1684 sql_help.c:2475 sql_help.c:2476 -#: sql_help.c:2477 sql_help.c:2478 sql_help.c:2479 sql_help.c:2613 -#: sql_help.c:2700 sql_help.c:2701 sql_help.c:2702 sql_help.c:3267 -#: sql_help.c:3268 sql_help.c:3269 sql_help.c:3270 sql_help.c:3271 -#: sql_help.c:3969 sql_help.c:3973 sql_help.c:4432 sql_help.c:4436 -#: sql_help.c:4752 +#: sql_help.c:584 sql_help.c:620 sql_help.c:688 sql_help.c:838 sql_help.c:985 +#: sql_help.c:1339 sql_help.c:1678 sql_help.c:2473 sql_help.c:2474 +#: sql_help.c:2475 sql_help.c:2476 sql_help.c:2477 sql_help.c:2611 +#: sql_help.c:2698 sql_help.c:2699 sql_help.c:2700 sql_help.c:3273 +#: sql_help.c:3274 sql_help.c:3275 sql_help.c:3276 sql_help.c:3277 +#: sql_help.c:3975 sql_help.c:3979 sql_help.c:4438 sql_help.c:4442 +#: sql_help.c:4758 msgid "role_name" msgstr "ロール名" -#: sql_help.c:241 sql_help.c:464 sql_help.c:920 sql_help.c:1362 sql_help.c:1364 -#: sql_help.c:1368 sql_help.c:1418 sql_help.c:1430 sql_help.c:1455 -#: sql_help.c:1714 sql_help.c:2269 sql_help.c:2273 sql_help.c:2385 -#: sql_help.c:2390 sql_help.c:2498 sql_help.c:2668 sql_help.c:2803 -#: sql_help.c:2808 sql_help.c:2810 sql_help.c:2931 sql_help.c:2944 -#: sql_help.c:2958 sql_help.c:2967 sql_help.c:2979 sql_help.c:3008 -#: sql_help.c:4021 sql_help.c:4036 sql_help.c:4038 sql_help.c:4134 -#: sql_help.c:4137 sql_help.c:4139 sql_help.c:4602 sql_help.c:4603 -#: sql_help.c:4612 sql_help.c:4659 sql_help.c:4660 sql_help.c:4661 -#: sql_help.c:4662 sql_help.c:4663 sql_help.c:4664 sql_help.c:4705 -#: sql_help.c:4706 sql_help.c:4711 sql_help.c:4716 sql_help.c:4860 -#: sql_help.c:4861 sql_help.c:4870 sql_help.c:4917 sql_help.c:4918 -#: sql_help.c:4919 sql_help.c:4920 sql_help.c:4921 sql_help.c:4922 -#: sql_help.c:4977 sql_help.c:4979 sql_help.c:5045 sql_help.c:5105 -#: sql_help.c:5106 sql_help.c:5115 sql_help.c:5162 sql_help.c:5163 -#: sql_help.c:5164 sql_help.c:5165 sql_help.c:5166 sql_help.c:5167 +#: sql_help.c:246 sql_help.c:265 sql_help.c:472 sql_help.c:928 sql_help.c:1355 +#: sql_help.c:1357 sql_help.c:1361 sql_help.c:1411 sql_help.c:1423 +#: sql_help.c:1449 sql_help.c:1708 sql_help.c:2265 sql_help.c:2269 +#: sql_help.c:2382 sql_help.c:2388 sql_help.c:2496 sql_help.c:2666 +#: sql_help.c:2803 sql_help.c:2808 sql_help.c:2810 sql_help.c:2932 +#: sql_help.c:2945 sql_help.c:2959 sql_help.c:2968 sql_help.c:2980 +#: sql_help.c:3014 sql_help.c:4027 sql_help.c:4042 sql_help.c:4044 +#: sql_help.c:4140 sql_help.c:4143 sql_help.c:4145 sql_help.c:4608 +#: sql_help.c:4609 sql_help.c:4618 sql_help.c:4665 sql_help.c:4666 +#: sql_help.c:4667 sql_help.c:4668 sql_help.c:4669 sql_help.c:4670 +#: sql_help.c:4711 sql_help.c:4712 sql_help.c:4717 sql_help.c:4722 +#: sql_help.c:4866 sql_help.c:4867 sql_help.c:4876 sql_help.c:4923 +#: sql_help.c:4924 sql_help.c:4925 sql_help.c:4926 sql_help.c:4927 +#: sql_help.c:4928 sql_help.c:4983 sql_help.c:4985 sql_help.c:5051 +#: sql_help.c:5111 sql_help.c:5112 sql_help.c:5121 sql_help.c:5168 +#: sql_help.c:5169 sql_help.c:5170 sql_help.c:5171 sql_help.c:5172 +#: sql_help.c:5173 msgid "expression" msgstr "評価式" -#: sql_help.c:244 sql_help.c:2270 +#: sql_help.c:249 sql_help.c:2266 msgid "domain_constraint" msgstr "ドメイン制約" -#: sql_help.c:246 sql_help.c:248 sql_help.c:251 sql_help.c:479 sql_help.c:480 -#: sql_help.c:1329 sql_help.c:1388 sql_help.c:1389 sql_help.c:1390 -#: sql_help.c:1417 sql_help.c:1429 sql_help.c:1446 sql_help.c:1878 -#: sql_help.c:1880 sql_help.c:2272 sql_help.c:2384 sql_help.c:2389 -#: sql_help.c:2966 sql_help.c:2978 sql_help.c:4033 +#: 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:1332 sql_help.c:1381 sql_help.c:1382 +#: sql_help.c:1383 sql_help.c:1410 sql_help.c:1422 sql_help.c:1440 +#: sql_help.c:1872 sql_help.c:1874 sql_help.c:2268 sql_help.c:2381 +#: sql_help.c:2386 sql_help.c:2967 sql_help.c:2979 sql_help.c:4039 msgid "constraint_name" msgstr "制約名" -#: sql_help.c:249 sql_help.c:1330 +#: sql_help.c:254 sql_help.c:1333 msgid "new_constraint_name" msgstr "新しい制約名" -#: sql_help.c:322 sql_help.c:1107 +#: sql_help.c:263 sql_help.c:2267 +msgid "where domain_constraint is:" +msgstr "ドメイン制約は以下の通りです:" + +#: sql_help.c:330 sql_help.c:1116 msgid "new_version" msgstr "新しいバージョン" -#: sql_help.c:326 sql_help.c:328 +#: sql_help.c:334 sql_help.c:336 msgid "member_object" msgstr "メンバーオブジェクト" -#: sql_help.c:329 +#: sql_help.c:337 msgid "where member_object is:" msgstr "メンバーオブジェクトは以下の通りです:" -#: sql_help.c:330 sql_help.c:335 sql_help.c:336 sql_help.c:337 sql_help.c:338 -#: sql_help.c:339 sql_help.c:340 sql_help.c:345 sql_help.c:349 sql_help.c:351 -#: sql_help.c:353 sql_help.c:362 sql_help.c:363 sql_help.c:364 sql_help.c:365 -#: sql_help.c:366 sql_help.c:367 sql_help.c:368 sql_help.c:369 sql_help.c:372 -#: sql_help.c:373 sql_help.c:1870 sql_help.c:1875 sql_help.c:1882 -#: sql_help.c:1883 sql_help.c:1884 sql_help.c:1885 sql_help.c:1886 -#: sql_help.c:1887 sql_help.c:1888 sql_help.c:1893 sql_help.c:1895 -#: sql_help.c:1899 sql_help.c:1901 sql_help.c:1905 sql_help.c:1910 -#: sql_help.c:1911 sql_help.c:1918 sql_help.c:1919 sql_help.c:1920 -#: sql_help.c:1921 sql_help.c:1922 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:1933 sql_help.c:1934 sql_help.c:4505 sql_help.c:4510 -#: sql_help.c:4511 sql_help.c:4512 sql_help.c:4513 sql_help.c:4519 -#: sql_help.c:4520 sql_help.c:4525 sql_help.c:4526 sql_help.c:4531 -#: sql_help.c:4532 sql_help.c:4533 sql_help.c:4534 sql_help.c:4535 -#: sql_help.c:4536 +#: sql_help.c:338 sql_help.c:343 sql_help.c:344 sql_help.c:345 sql_help.c:346 +#: 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:1864 sql_help.c:1869 sql_help.c:1876 +#: sql_help.c:1877 sql_help.c:1878 sql_help.c:1879 sql_help.c:1880 +#: sql_help.c:1881 sql_help.c:1882 sql_help.c:1887 sql_help.c:1889 +#: sql_help.c:1893 sql_help.c:1895 sql_help.c:1899 sql_help.c:1904 +#: sql_help.c:1905 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:1920 sql_help.c:1921 sql_help.c:1922 +#: sql_help.c:1927 sql_help.c:1928 sql_help.c:4511 sql_help.c:4516 +#: sql_help.c:4517 sql_help.c:4518 sql_help.c:4519 sql_help.c:4525 +#: sql_help.c:4526 sql_help.c:4531 sql_help.c:4532 sql_help.c:4537 +#: sql_help.c:4538 sql_help.c:4539 sql_help.c:4540 sql_help.c:4541 +#: sql_help.c:4542 msgid "object_name" msgstr "オブジェクト名" -#: sql_help.c:331 sql_help.c:1871 sql_help.c:4508 +#: sql_help.c:339 sql_help.c:1865 sql_help.c:4514 msgid "aggregate_name" msgstr "集約関数名" -#: sql_help.c:333 sql_help.c:1873 sql_help.c:2163 sql_help.c:2167 -#: sql_help.c:2169 sql_help.c:3394 +#: sql_help.c:341 sql_help.c:1867 sql_help.c:2159 sql_help.c:2163 +#: sql_help.c:2165 sql_help.c:3400 msgid "source_type" msgstr "変換前の型" -#: sql_help.c:334 sql_help.c:1874 sql_help.c:2164 sql_help.c:2168 -#: sql_help.c:2170 sql_help.c:3395 +#: sql_help.c:342 sql_help.c:1868 sql_help.c:2160 sql_help.c:2164 +#: sql_help.c:2166 sql_help.c:3401 msgid "target_type" msgstr "変換後の型" -#: sql_help.c:341 sql_help.c:794 sql_help.c:1889 sql_help.c:2165 -#: sql_help.c:2208 sql_help.c:2288 sql_help.c:2556 sql_help.c:2587 -#: sql_help.c:3154 sql_help.c:4407 sql_help.c:4514 sql_help.c:4631 -#: sql_help.c:4635 sql_help.c:4639 sql_help.c:4642 sql_help.c:4889 -#: sql_help.c:4893 sql_help.c:4897 sql_help.c:4900 sql_help.c:5134 -#: sql_help.c:5138 sql_help.c:5142 sql_help.c:5145 +#: sql_help.c:349 sql_help.c:802 sql_help.c:1883 sql_help.c:2161 +#: sql_help.c:2204 sql_help.c:2284 sql_help.c:2554 sql_help.c:2585 +#: sql_help.c:3160 sql_help.c:4413 sql_help.c:4520 sql_help.c:4637 +#: sql_help.c:4641 sql_help.c:4645 sql_help.c:4648 sql_help.c:4895 +#: sql_help.c:4899 sql_help.c:4903 sql_help.c:4906 sql_help.c:5140 +#: sql_help.c:5144 sql_help.c:5148 sql_help.c:5151 msgid "function_name" msgstr "関数名" -#: sql_help.c:346 sql_help.c:787 sql_help.c:1896 sql_help.c:2580 +#: sql_help.c:354 sql_help.c:795 sql_help.c:1890 sql_help.c:2578 msgid "operator_name" msgstr "演算子名" -#: sql_help.c:347 sql_help.c:721 sql_help.c:725 sql_help.c:729 sql_help.c:1897 -#: sql_help.c:2557 sql_help.c:3518 +#: sql_help.c:355 sql_help.c:729 sql_help.c:733 sql_help.c:737 sql_help.c:1891 +#: sql_help.c:2555 sql_help.c:3524 msgid "left_type" msgstr "左辺の型" -#: sql_help.c:348 sql_help.c:722 sql_help.c:726 sql_help.c:730 sql_help.c:1898 -#: sql_help.c:2558 sql_help.c:3519 +#: sql_help.c:356 sql_help.c:730 sql_help.c:734 sql_help.c:738 sql_help.c:1892 +#: sql_help.c:2556 sql_help.c:3525 msgid "right_type" msgstr "右辺の型" -#: sql_help.c:350 sql_help.c:352 sql_help.c:750 sql_help.c:753 sql_help.c:756 -#: sql_help.c:785 sql_help.c:797 sql_help.c:805 sql_help.c:808 sql_help.c:811 -#: sql_help.c:1435 sql_help.c:1900 sql_help.c:1902 sql_help.c:2577 -#: sql_help.c:2598 sql_help.c:2984 sql_help.c:3528 sql_help.c:3537 +#: 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:1429 sql_help.c:1894 sql_help.c:1896 sql_help.c:2575 +#: sql_help.c:2596 sql_help.c:2988 sql_help.c:3534 sql_help.c:3543 msgid "index_method" msgstr "インデックスメソッド" -#: sql_help.c:354 sql_help.c:1906 sql_help.c:4521 +#: sql_help.c:362 sql_help.c:1900 sql_help.c:4527 msgid "procedure_name" msgstr "プロシージャ名" -#: sql_help.c:358 sql_help.c:1912 sql_help.c:3944 sql_help.c:4527 +#: sql_help.c:366 sql_help.c:1906 sql_help.c:3950 sql_help.c:4533 msgid "routine_name" msgstr "ルーチン名" -#: sql_help.c:370 sql_help.c:1407 sql_help.c:1929 sql_help.c:2432 -#: sql_help.c:2638 sql_help.c:2939 sql_help.c:3121 sql_help.c:3699 -#: sql_help.c:3966 sql_help.c:4429 +#: sql_help.c:378 sql_help.c:1400 sql_help.c:1923 sql_help.c:2430 +#: sql_help.c:2636 sql_help.c:2940 sql_help.c:3127 sql_help.c:3705 +#: sql_help.c:3972 sql_help.c:4435 msgid "type_name" msgstr "型名" -#: sql_help.c:371 sql_help.c:1930 sql_help.c:2431 sql_help.c:2637 -#: sql_help.c:3122 sql_help.c:3352 sql_help.c:3700 sql_help.c:3951 -#: sql_help.c:4414 +#: sql_help.c:379 sql_help.c:1924 sql_help.c:2429 sql_help.c:2635 +#: sql_help.c:3128 sql_help.c:3358 sql_help.c:3706 sql_help.c:3957 +#: sql_help.c:4420 msgid "lang_name" msgstr "言語名" -#: sql_help.c:374 +#: sql_help.c:382 msgid "and aggregate_signature is:" msgstr "集約関数のシグニチャーは以下の通りです:" -#: sql_help.c:397 sql_help.c:2030 sql_help.c:2313 +#: sql_help.c:405 sql_help.c:2026 sql_help.c:2309 msgid "handler_function" msgstr "ハンドラー関数" -#: sql_help.c:398 sql_help.c:2314 +#: sql_help.c:406 sql_help.c:2310 msgid "validator_function" msgstr "バリデーター関数" -#: sql_help.c:446 sql_help.c:525 sql_help.c:669 sql_help.c:861 sql_help.c:1011 -#: sql_help.c:1324 sql_help.c:1611 +#: sql_help.c:454 sql_help.c:533 sql_help.c:677 sql_help.c:869 sql_help.c:1019 +#: sql_help.c:1327 sql_help.c:1605 msgid "action" msgstr "アクション" -#: sql_help.c:448 sql_help.c:455 sql_help.c:459 sql_help.c:460 sql_help.c:463 -#: sql_help.c:465 sql_help.c:466 sql_help.c:467 sql_help.c:469 sql_help.c:472 -#: sql_help.c:474 sql_help.c:475 sql_help.c:673 sql_help.c:683 sql_help.c:685 -#: sql_help.c:688 sql_help.c:690 sql_help.c:691 sql_help.c:919 sql_help.c:1088 -#: sql_help.c:1326 sql_help.c:1354 sql_help.c:1358 sql_help.c:1359 -#: sql_help.c:1363 sql_help.c:1365 sql_help.c:1366 sql_help.c:1367 -#: sql_help.c:1369 sql_help.c:1370 sql_help.c:1372 sql_help.c:1375 -#: sql_help.c:1376 sql_help.c:1378 sql_help.c:1381 sql_help.c:1383 -#: sql_help.c:1384 sql_help.c:1431 sql_help.c:1433 sql_help.c:1440 -#: sql_help.c:1449 sql_help.c:1454 sql_help.c:1461 sql_help.c:1462 -#: sql_help.c:1713 sql_help.c:1716 sql_help.c:1720 sql_help.c:1756 -#: sql_help.c:1877 sql_help.c:1993 sql_help.c:1999 sql_help.c:2013 -#: sql_help.c:2014 sql_help.c:2015 sql_help.c:2363 sql_help.c:2376 -#: sql_help.c:2429 sql_help.c:2497 sql_help.c:2503 sql_help.c:2536 -#: sql_help.c:2667 sql_help.c:2772 sql_help.c:2807 sql_help.c:2809 -#: sql_help.c:2921 sql_help.c:2930 sql_help.c:2940 sql_help.c:2943 -#: sql_help.c:2953 sql_help.c:2957 sql_help.c:2980 sql_help.c:2982 -#: sql_help.c:2989 sql_help.c:3002 sql_help.c:3007 sql_help.c:3014 -#: sql_help.c:3015 sql_help.c:3031 sql_help.c:3157 sql_help.c:3297 -#: sql_help.c:3923 sql_help.c:3924 sql_help.c:4020 sql_help.c:4035 -#: sql_help.c:4037 sql_help.c:4039 sql_help.c:4133 sql_help.c:4136 -#: sql_help.c:4138 sql_help.c:4140 sql_help.c:4386 sql_help.c:4387 -#: sql_help.c:4507 sql_help.c:4668 sql_help.c:4675 sql_help.c:4677 -#: sql_help.c:4926 sql_help.c:4933 sql_help.c:4935 sql_help.c:4976 -#: sql_help.c:4978 sql_help.c:4980 sql_help.c:5033 sql_help.c:5171 -#: sql_help.c:5178 sql_help.c:5180 +#: 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:1097 +#: sql_help.c:1329 sql_help.c:1347 sql_help.c:1351 sql_help.c:1352 +#: sql_help.c:1356 sql_help.c:1358 sql_help.c:1359 sql_help.c:1360 +#: sql_help.c:1362 sql_help.c:1363 sql_help.c:1365 sql_help.c:1368 +#: sql_help.c:1369 sql_help.c:1371 sql_help.c:1374 sql_help.c:1376 +#: sql_help.c:1377 sql_help.c:1424 sql_help.c:1425 sql_help.c:1427 +#: sql_help.c:1434 sql_help.c:1443 sql_help.c:1448 sql_help.c:1455 +#: sql_help.c:1456 sql_help.c:1707 sql_help.c:1710 sql_help.c:1714 +#: sql_help.c:1750 sql_help.c:1871 sql_help.c:1988 sql_help.c:1994 +#: sql_help.c:2008 sql_help.c:2009 sql_help.c:2010 sql_help.c:2360 +#: sql_help.c:2373 sql_help.c:2387 sql_help.c:2427 sql_help.c:2495 +#: sql_help.c:2501 sql_help.c:2534 sql_help.c:2665 sql_help.c:2772 +#: sql_help.c:2807 sql_help.c:2809 sql_help.c:2922 sql_help.c:2931 +#: sql_help.c:2941 sql_help.c:2944 sql_help.c:2954 sql_help.c:2958 +#: sql_help.c:2981 sql_help.c:2982 sql_help.c:2983 sql_help.c:2985 +#: sql_help.c:2986 sql_help.c:2993 sql_help.c:2994 sql_help.c:2997 +#: sql_help.c:3008 sql_help.c:3013 sql_help.c:3020 sql_help.c:3021 +#: sql_help.c:3037 sql_help.c:3163 sql_help.c:3303 sql_help.c:3929 +#: sql_help.c:3930 sql_help.c:4026 sql_help.c:4041 sql_help.c:4043 +#: sql_help.c:4045 sql_help.c:4139 sql_help.c:4142 sql_help.c:4144 +#: sql_help.c:4146 sql_help.c:4392 sql_help.c:4393 sql_help.c:4513 +#: sql_help.c:4674 sql_help.c:4681 sql_help.c:4683 sql_help.c:4932 +#: sql_help.c:4939 sql_help.c:4941 sql_help.c:4982 sql_help.c:4984 +#: sql_help.c:4986 sql_help.c:5039 sql_help.c:5177 sql_help.c:5184 +#: sql_help.c:5186 msgid "column_name" msgstr "列名" -#: sql_help.c:449 sql_help.c:674 sql_help.c:1327 sql_help.c:1721 +#: sql_help.c:457 sql_help.c:682 sql_help.c:1330 sql_help.c:1715 msgid "new_column_name" msgstr "新しい列名" -#: sql_help.c:454 sql_help.c:546 sql_help.c:682 sql_help.c:882 sql_help.c:1032 -#: sql_help.c:1353 sql_help.c:1621 +#: sql_help.c:462 sql_help.c:554 sql_help.c:690 sql_help.c:890 sql_help.c:1040 +#: sql_help.c:1346 sql_help.c:1615 msgid "where action is one of:" msgstr "アクションは以下のいずれかです:" -#: sql_help.c:456 sql_help.c:461 sql_help.c:1080 sql_help.c:1355 -#: sql_help.c:1360 sql_help.c:1623 sql_help.c:1627 sql_help.c:2267 -#: sql_help.c:2364 sql_help.c:2576 sql_help.c:2765 sql_help.c:2922 -#: sql_help.c:3204 sql_help.c:4192 +#: sql_help.c:464 sql_help.c:469 sql_help.c:1089 sql_help.c:1348 +#: sql_help.c:1353 sql_help.c:1617 sql_help.c:1621 sql_help.c:2263 +#: sql_help.c:2361 sql_help.c:2574 sql_help.c:2765 sql_help.c:2923 +#: sql_help.c:3210 sql_help.c:4198 msgid "data_type" msgstr "データ型" -#: sql_help.c:457 sql_help.c:462 sql_help.c:1356 sql_help.c:1361 -#: sql_help.c:1456 sql_help.c:1624 sql_help.c:1628 sql_help.c:2268 -#: sql_help.c:2367 sql_help.c:2499 sql_help.c:2924 sql_help.c:2932 -#: sql_help.c:2945 sql_help.c:2959 sql_help.c:3009 sql_help.c:3205 -#: sql_help.c:3211 sql_help.c:4030 +#: sql_help.c:465 sql_help.c:470 sql_help.c:1349 sql_help.c:1354 +#: sql_help.c:1450 sql_help.c:1618 sql_help.c:1622 sql_help.c:2264 +#: sql_help.c:2364 sql_help.c:2497 sql_help.c:2925 sql_help.c:2933 +#: sql_help.c:2946 sql_help.c:2960 sql_help.c:3015 sql_help.c:3211 +#: sql_help.c:3217 sql_help.c:4036 msgid "collation" msgstr "照合順序" -#: sql_help.c:458 sql_help.c:1357 sql_help.c:2368 sql_help.c:2377 -#: sql_help.c:2925 sql_help.c:2941 sql_help.c:2954 +#: sql_help.c:466 sql_help.c:1350 sql_help.c:2365 sql_help.c:2374 +#: sql_help.c:2926 sql_help.c:2942 sql_help.c:2955 msgid "column_constraint" msgstr "カラム制約" -#: sql_help.c:468 sql_help.c:610 sql_help.c:684 sql_help.c:1377 sql_help.c:5027 +#: sql_help.c:476 sql_help.c:618 sql_help.c:692 sql_help.c:1370 sql_help.c:5033 msgid "integer" msgstr "整数" -#: sql_help.c:470 sql_help.c:473 sql_help.c:686 sql_help.c:689 sql_help.c:1379 -#: sql_help.c:1382 +#: sql_help.c:478 sql_help.c:481 sql_help.c:694 sql_help.c:697 sql_help.c:1372 +#: sql_help.c:1375 msgid "attribute_option" msgstr "属性オプション" -#: sql_help.c:478 sql_help.c:1386 sql_help.c:2369 sql_help.c:2378 -#: sql_help.c:2926 sql_help.c:2942 sql_help.c:2955 +#: sql_help.c:486 sql_help.c:1379 sql_help.c:2366 sql_help.c:2375 +#: sql_help.c:2927 sql_help.c:2943 sql_help.c:2956 msgid "table_constraint" msgstr "テーブル制約" -#: sql_help.c:481 sql_help.c:482 sql_help.c:483 sql_help.c:484 sql_help.c:1391 -#: sql_help.c:1392 sql_help.c:1393 sql_help.c:1394 sql_help.c:1931 +#: sql_help.c:489 sql_help.c:490 sql_help.c:491 sql_help.c:492 sql_help.c:1384 +#: sql_help.c:1385 sql_help.c:1386 sql_help.c:1387 sql_help.c:1925 msgid "trigger_name" msgstr "トリガー名" -#: sql_help.c:485 sql_help.c:486 sql_help.c:1405 sql_help.c:1406 -#: sql_help.c:2370 sql_help.c:2375 sql_help.c:2929 sql_help.c:2952 +#: sql_help.c:493 sql_help.c:494 sql_help.c:1398 sql_help.c:1399 +#: sql_help.c:2367 sql_help.c:2372 sql_help.c:2930 sql_help.c:2953 msgid "parent_table" msgstr "親テーブル" -#: sql_help.c:545 sql_help.c:602 sql_help.c:671 sql_help.c:881 sql_help.c:1031 -#: sql_help.c:1580 sql_help.c:2299 +#: sql_help.c:553 sql_help.c:610 sql_help.c:679 sql_help.c:889 sql_help.c:1039 +#: sql_help.c:1574 sql_help.c:2295 msgid "extension_name" msgstr "拡張名" -#: sql_help.c:547 sql_help.c:1033 sql_help.c:2433 +#: sql_help.c:555 sql_help.c:1041 sql_help.c:2431 msgid "execution_cost" msgstr "実行コスト" -#: sql_help.c:548 sql_help.c:1034 sql_help.c:2434 +#: sql_help.c:556 sql_help.c:1042 sql_help.c:2432 msgid "result_rows" msgstr "結果の行数" -#: sql_help.c:549 sql_help.c:2435 +#: sql_help.c:557 sql_help.c:2433 msgid "support_function" msgstr "サポート関数" -#: sql_help.c:571 sql_help.c:573 sql_help.c:956 sql_help.c:964 sql_help.c:968 -#: sql_help.c:971 sql_help.c:974 sql_help.c:1663 sql_help.c:1671 -#: sql_help.c:1675 sql_help.c:1678 sql_help.c:1681 sql_help.c:2743 -#: sql_help.c:2745 sql_help.c:2748 sql_help.c:2749 sql_help.c:3921 -#: sql_help.c:3922 sql_help.c:3926 sql_help.c:3927 sql_help.c:3930 -#: sql_help.c:3931 sql_help.c:3933 sql_help.c:3934 sql_help.c:3936 +#: 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:1657 sql_help.c:1665 +#: sql_help.c:1669 sql_help.c:1672 sql_help.c:1675 sql_help.c:2741 +#: sql_help.c:2743 sql_help.c:2746 sql_help.c:2747 sql_help.c:3927 +#: sql_help.c:3928 sql_help.c:3932 sql_help.c:3933 sql_help.c:3936 #: sql_help.c:3937 sql_help.c:3939 sql_help.c:3940 sql_help.c:3942 -#: sql_help.c:3943 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:3943 sql_help.c:3945 sql_help.c:3946 sql_help.c:3948 +#: sql_help.c:3949 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:3964 #: sql_help.c:3965 sql_help.c:3967 sql_help.c:3968 sql_help.c:3970 -#: sql_help.c:3971 sql_help.c:4384 sql_help.c:4385 sql_help.c:4389 -#: sql_help.c:4390 sql_help.c:4393 sql_help.c:4394 sql_help.c:4396 -#: sql_help.c:4397 sql_help.c:4399 sql_help.c:4400 sql_help.c:4402 -#: sql_help.c:4403 sql_help.c:4405 sql_help.c:4406 sql_help.c:4412 -#: sql_help.c:4413 sql_help.c:4415 sql_help.c:4416 sql_help.c:4418 +#: sql_help.c:3971 sql_help.c:3973 sql_help.c:3974 sql_help.c:3976 +#: sql_help.c:3977 sql_help.c:4390 sql_help.c:4391 sql_help.c:4395 +#: sql_help.c:4396 sql_help.c:4399 sql_help.c:4400 sql_help.c:4402 +#: sql_help.c:4403 sql_help.c:4405 sql_help.c:4406 sql_help.c:4408 +#: sql_help.c:4409 sql_help.c:4411 sql_help.c:4412 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:4427 sql_help.c:4428 sql_help.c:4430 -#: sql_help.c:4431 sql_help.c:4433 sql_help.c:4434 +#: sql_help.c:4431 sql_help.c:4433 sql_help.c:4434 sql_help.c:4436 +#: sql_help.c:4437 sql_help.c:4439 sql_help.c:4440 msgid "role_specification" msgstr "ロールの指定" -#: sql_help.c:572 sql_help.c:574 sql_help.c:1694 sql_help.c:2234 -#: sql_help.c:2751 sql_help.c:3282 sql_help.c:3733 sql_help.c:4762 +#: sql_help.c:580 sql_help.c:582 sql_help.c:1688 sql_help.c:2230 +#: sql_help.c:2749 sql_help.c:3288 sql_help.c:3739 sql_help.c:4768 msgid "user_name" msgstr "ユーザー名" -#: sql_help.c:575 sql_help.c:976 sql_help.c:1683 sql_help.c:2750 -#: sql_help.c:3972 sql_help.c:4435 +#: sql_help.c:583 sql_help.c:984 sql_help.c:1677 sql_help.c:2748 +#: sql_help.c:3978 sql_help.c:4441 msgid "where role_specification can be:" msgstr "ロール指定は以下の通りです:" -#: sql_help.c:577 +#: sql_help.c:585 msgid "group_name" msgstr "グループ名" -#: sql_help.c:598 sql_help.c:1452 sql_help.c:2246 sql_help.c:2506 -#: sql_help.c:2540 sql_help.c:2937 sql_help.c:2950 sql_help.c:2964 -#: sql_help.c:3005 sql_help.c:3035 sql_help.c:3047 sql_help.c:3963 -#: sql_help.c:4426 +#: sql_help.c:606 sql_help.c:1446 sql_help.c:2242 sql_help.c:2504 +#: sql_help.c:2538 sql_help.c:2938 sql_help.c:2951 sql_help.c:2965 +#: sql_help.c:3011 sql_help.c:3041 sql_help.c:3053 sql_help.c:3969 +#: sql_help.c:4432 msgid "tablespace_name" msgstr "テーブル空間名" -#: sql_help.c:600 sql_help.c:693 sql_help.c:1399 sql_help.c:1409 -#: sql_help.c:1447 sql_help.c:1809 +#: sql_help.c:608 sql_help.c:701 sql_help.c:1392 sql_help.c:1402 +#: sql_help.c:1441 sql_help.c:1803 msgid "index_name" msgstr "インデックス名" -#: sql_help.c:604 sql_help.c:607 sql_help.c:696 sql_help.c:698 sql_help.c:1402 -#: sql_help.c:1404 sql_help.c:1450 sql_help.c:2504 sql_help.c:2538 -#: sql_help.c:2935 sql_help.c:2948 sql_help.c:2962 sql_help.c:3003 -#: sql_help.c:3033 +#: sql_help.c:612 sql_help.c:615 sql_help.c:704 sql_help.c:706 sql_help.c:1395 +#: sql_help.c:1397 sql_help.c:1444 sql_help.c:2502 sql_help.c:2536 +#: sql_help.c:2936 sql_help.c:2949 sql_help.c:2963 sql_help.c:3009 +#: sql_help.c:3039 msgid "storage_parameter" msgstr "ストレージパラメータ" -#: sql_help.c:609 +#: sql_help.c:617 msgid "column_number" msgstr "列番号" -#: sql_help.c:633 sql_help.c:1894 sql_help.c:4518 +#: sql_help.c:641 sql_help.c:1888 sql_help.c:4524 msgid "large_object_oid" msgstr "ラージオブジェクトのOID" -#: sql_help.c:692 sql_help.c:1385 sql_help.c:2923 +#: sql_help.c:700 sql_help.c:1378 sql_help.c:2924 msgid "compression_method" msgstr "圧縮方式" -#: sql_help.c:694 sql_help.c:1400 +#: sql_help.c:702 sql_help.c:1393 msgid "new_access_method" msgstr "新しいアクセスメソッド" -#: sql_help.c:731 sql_help.c:2561 +#: sql_help.c:739 sql_help.c:2559 msgid "res_proc" msgstr "制約選択評価関数" -#: sql_help.c:732 sql_help.c:2562 +#: sql_help.c:740 sql_help.c:2560 msgid "join_proc" msgstr "結合選択評価関数" -#: sql_help.c:733 sql_help.c:2559 +#: sql_help.c:741 sql_help.c:2557 msgid "com_op" msgstr "交代演算子" -#: sql_help.c:734 sql_help.c:2560 +#: sql_help.c:742 sql_help.c:2558 msgid "neg_op" msgstr "否定演算子" -#: sql_help.c:786 sql_help.c:798 sql_help.c:2579 +#: sql_help.c:794 sql_help.c:806 sql_help.c:2577 msgid "strategy_number" msgstr "戦略番号" -#: sql_help.c:788 sql_help.c:789 sql_help.c:792 sql_help.c:793 sql_help.c:799 -#: sql_help.c:800 sql_help.c:802 sql_help.c:803 sql_help.c:2581 sql_help.c:2582 -#: sql_help.c:2585 sql_help.c:2586 +#: 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:2579 sql_help.c:2580 +#: sql_help.c:2583 sql_help.c:2584 msgid "op_type" msgstr "演算子の型" -#: sql_help.c:790 sql_help.c:2583 +#: sql_help.c:798 sql_help.c:2581 msgid "sort_family_name" msgstr "ソートファミリー名" -#: sql_help.c:791 sql_help.c:801 sql_help.c:2584 +#: sql_help.c:799 sql_help.c:809 sql_help.c:2582 msgid "support_number" msgstr "サポート番号" -#: sql_help.c:795 sql_help.c:2166 sql_help.c:2588 sql_help.c:3124 -#: sql_help.c:3126 +#: sql_help.c:803 sql_help.c:2162 sql_help.c:2586 sql_help.c:3130 +#: sql_help.c:3132 msgid "argument_type" msgstr "引数の型" -#: sql_help.c:826 sql_help.c:829 sql_help.c:918 sql_help.c:1047 sql_help.c:1087 -#: sql_help.c:1576 sql_help.c:1579 sql_help.c:1755 sql_help.c:1808 -#: sql_help.c:1879 sql_help.c:1904 sql_help.c:1917 sql_help.c:1932 -#: sql_help.c:1992 sql_help.c:1998 sql_help.c:2362 sql_help.c:2374 -#: sql_help.c:2495 sql_help.c:2535 sql_help.c:2612 sql_help.c:2666 -#: sql_help.c:2719 sql_help.c:2771 sql_help.c:2804 sql_help.c:2811 -#: sql_help.c:2920 sql_help.c:2938 sql_help.c:2951 sql_help.c:3030 -#: sql_help.c:3150 sql_help.c:3331 sql_help.c:3554 sql_help.c:3603 -#: sql_help.c:3709 sql_help.c:3919 sql_help.c:3925 sql_help.c:3986 -#: sql_help.c:4018 sql_help.c:4382 sql_help.c:4388 sql_help.c:4506 -#: sql_help.c:4619 sql_help.c:4682 sql_help.c:4721 sql_help.c:4877 -#: sql_help.c:4940 sql_help.c:4974 sql_help.c:5032 sql_help.c:5122 -#: sql_help.c:5185 +#: sql_help.c:834 sql_help.c:837 sql_help.c:926 sql_help.c:1055 sql_help.c:1096 +#: sql_help.c:1570 sql_help.c:1573 sql_help.c:1749 sql_help.c:1802 +#: sql_help.c:1873 sql_help.c:1898 sql_help.c:1911 sql_help.c:1926 +#: sql_help.c:1987 sql_help.c:1993 sql_help.c:2359 sql_help.c:2371 +#: sql_help.c:2493 sql_help.c:2533 sql_help.c:2610 sql_help.c:2664 +#: sql_help.c:2717 sql_help.c:2771 sql_help.c:2804 sql_help.c:2811 +#: sql_help.c:2921 sql_help.c:2939 sql_help.c:2952 sql_help.c:3036 +#: sql_help.c:3156 sql_help.c:3337 sql_help.c:3560 sql_help.c:3609 +#: sql_help.c:3715 sql_help.c:3925 sql_help.c:3931 sql_help.c:3992 +#: sql_help.c:4024 sql_help.c:4388 sql_help.c:4394 sql_help.c:4512 +#: sql_help.c:4625 sql_help.c:4688 sql_help.c:4727 sql_help.c:4883 +#: sql_help.c:4946 sql_help.c:4980 sql_help.c:5038 sql_help.c:5128 +#: sql_help.c:5191 msgid "table_name" msgstr "テーブル名" -#: sql_help.c:831 sql_help.c:2614 +#: sql_help.c:839 sql_help.c:2612 msgid "using_expression" msgstr "USING式" -#: sql_help.c:832 sql_help.c:2615 +#: sql_help.c:840 sql_help.c:2613 msgid "check_expression" msgstr "CHECK式" -#: sql_help.c:905 sql_help.c:907 sql_help.c:909 sql_help.c:2662 +#: sql_help.c:913 sql_help.c:915 sql_help.c:917 sql_help.c:2660 msgid "publication_object" msgstr "発行オブジェクト" -#: sql_help.c:911 sql_help.c:2663 +#: sql_help.c:919 sql_help.c:2661 msgid "publication_parameter" msgstr "パブリケーションパラメータ" -#: sql_help.c:917 sql_help.c:2665 +#: sql_help.c:925 sql_help.c:2663 msgid "where publication_object is one of:" msgstr "発行オブジェクトは以下のいずれかです:" -#: sql_help.c:960 sql_help.c:1667 sql_help.c:2473 sql_help.c:2698 -#: sql_help.c:3265 +#: sql_help.c:968 sql_help.c:1661 sql_help.c:2471 sql_help.c:2696 +#: sql_help.c:3271 msgid "password" msgstr "パスワード" -#: sql_help.c:961 sql_help.c:1668 sql_help.c:2474 sql_help.c:2699 -#: sql_help.c:3266 +#: sql_help.c:969 sql_help.c:1662 sql_help.c:2472 sql_help.c:2697 +#: sql_help.c:3272 msgid "timestamp" msgstr "タイムスタンプ" -#: sql_help.c:965 sql_help.c:969 sql_help.c:972 sql_help.c:975 sql_help.c:1672 -#: sql_help.c:1676 sql_help.c:1679 sql_help.c:1682 sql_help.c:3932 -#: sql_help.c:4395 +#: sql_help.c:973 sql_help.c:977 sql_help.c:980 sql_help.c:983 sql_help.c:1666 +#: sql_help.c:1670 sql_help.c:1673 sql_help.c:1676 sql_help.c:3938 +#: sql_help.c:4401 msgid "database_name" msgstr "データベース名" -#: sql_help.c:1081 sql_help.c:2766 +#: sql_help.c:1090 sql_help.c:2766 msgid "increment" msgstr "増分値" -#: sql_help.c:1082 sql_help.c:2767 +#: sql_help.c:1091 sql_help.c:2767 msgid "minvalue" msgstr "最小値" -#: sql_help.c:1083 sql_help.c:2768 +#: sql_help.c:1092 sql_help.c:2768 msgid "maxvalue" msgstr "最大値" -#: sql_help.c:1084 sql_help.c:2769 sql_help.c:4615 sql_help.c:4719 -#: sql_help.c:4873 sql_help.c:5049 sql_help.c:5118 +#: sql_help.c:1093 sql_help.c:2769 sql_help.c:4621 sql_help.c:4725 +#: sql_help.c:4879 sql_help.c:5055 sql_help.c:5124 msgid "start" msgstr "開始番号" -#: sql_help.c:1085 sql_help.c:1374 +#: sql_help.c:1094 sql_help.c:1367 msgid "restart" msgstr "再開始番号" -#: sql_help.c:1086 sql_help.c:2770 +#: sql_help.c:1095 sql_help.c:2770 msgid "cache" msgstr "キャッシュ割り当て数" -#: sql_help.c:1131 +#: sql_help.c:1140 msgid "new_target" msgstr "新しいターゲット" -#: sql_help.c:1150 sql_help.c:2823 +#: sql_help.c:1159 sql_help.c:2823 msgid "conninfo" msgstr "接続文字列" -#: sql_help.c:1152 sql_help.c:1156 sql_help.c:1160 sql_help.c:2824 +#: sql_help.c:1161 sql_help.c:1165 sql_help.c:1169 sql_help.c:2824 msgid "publication_name" msgstr "パブリケーション名" -#: sql_help.c:1153 sql_help.c:1157 sql_help.c:1161 +#: sql_help.c:1162 sql_help.c:1166 sql_help.c:1170 msgid "publication_option" msgstr "パブリケーション・オプション" -#: sql_help.c:1164 +#: sql_help.c:1173 msgid "refresh_option" msgstr "{REFRESH PUBLICATION の追加オプション}" -#: sql_help.c:1169 sql_help.c:2825 +#: sql_help.c:1178 sql_help.c:2825 msgid "subscription_parameter" msgstr "{SUBSCRIPTION パラメータ名}" -#: sql_help.c:1172 +#: sql_help.c:1181 msgid "skip_option" msgstr "スキップオプション" -#: sql_help.c:1339 sql_help.c:1342 sql_help.c:1344 sql_help.c:1352 +#: sql_help.c:1342 sql_help.c:1345 msgid "partition_name" msgstr "パーティション名" -#: sql_help.c:1340 sql_help.c:1346 sql_help.c:1348 sql_help.c:2379 -#: sql_help.c:2956 +#: sql_help.c:1343 sql_help.c:2376 sql_help.c:2957 msgid "partition_bound_spec" msgstr "パーティション境界の仕様" -#: sql_help.c:1345 sql_help.c:1350 -msgid "partition_name1" -msgstr "パーティション名1" - -#: sql_help.c:1347 sql_help.c:1351 -msgid "partition_name2" -msgstr "パーティション名2" - -#: sql_help.c:1371 sql_help.c:1421 sql_help.c:2970 +#: sql_help.c:1364 sql_help.c:1414 sql_help.c:2971 msgid "sequence_options" msgstr "シーケンスオプション" -#: sql_help.c:1373 +#: sql_help.c:1366 msgid "sequence_option" msgstr "シーケンスオプション" -#: sql_help.c:1387 +#: sql_help.c:1380 msgid "table_constraint_using_index" msgstr "インデックスを使うテーブルの制約" -#: sql_help.c:1395 sql_help.c:1396 sql_help.c:1397 sql_help.c:1398 +#: sql_help.c:1388 sql_help.c:1389 sql_help.c:1390 sql_help.c:1391 msgid "rewrite_rule_name" msgstr "書き換えルール名" -#: sql_help.c:1410 sql_help.c:2391 sql_help.c:2995 +#: sql_help.c:1403 sql_help.c:2389 sql_help.c:3001 msgid "and partition_bound_spec is:" msgstr "パーティション境界の仕様は以下の通りです:" -#: sql_help.c:1411 sql_help.c:1412 sql_help.c:1413 sql_help.c:2392 -#: sql_help.c:2393 sql_help.c:2394 sql_help.c:2996 sql_help.c:2997 -#: sql_help.c:2998 +#: sql_help.c:1404 sql_help.c:1405 sql_help.c:1406 sql_help.c:2390 +#: sql_help.c:2391 sql_help.c:2392 sql_help.c:3002 sql_help.c:3003 +#: sql_help.c:3004 msgid "partition_bound_expr" msgstr "パーティション境界式" -#: sql_help.c:1414 sql_help.c:1415 sql_help.c:2395 sql_help.c:2396 -#: sql_help.c:2999 sql_help.c:3000 +#: sql_help.c:1407 sql_help.c:1408 sql_help.c:2393 sql_help.c:2394 +#: sql_help.c:3005 sql_help.c:3006 msgid "numeric_literal" msgstr "numericリテラル" -#: sql_help.c:1416 +#: sql_help.c:1409 msgid "and column_constraint is:" msgstr "そしてカラム制約は以下の通りです:" -#: sql_help.c:1419 sql_help.c:2386 sql_help.c:2427 sql_help.c:2636 -#: sql_help.c:2968 +#: sql_help.c:1412 sql_help.c:2383 sql_help.c:2425 sql_help.c:2634 +#: sql_help.c:2969 msgid "default_expr" msgstr "デフォルト表現" -#: sql_help.c:1420 sql_help.c:2387 sql_help.c:2969 +#: sql_help.c:1413 sql_help.c:2384 sql_help.c:2970 msgid "generation_expr" msgstr "生成式" -#: sql_help.c:1422 sql_help.c:1423 sql_help.c:1432 sql_help.c:1434 -#: sql_help.c:1438 sql_help.c:2971 sql_help.c:2972 sql_help.c:2981 -#: sql_help.c:2983 sql_help.c:2987 +#: sql_help.c:1415 sql_help.c:1416 sql_help.c:1426 sql_help.c:1428 +#: sql_help.c:1432 sql_help.c:2972 sql_help.c:2973 sql_help.c:2984 +#: sql_help.c:2987 sql_help.c:2991 msgid "index_parameters" msgstr "インデックスパラメータ" -#: sql_help.c:1424 sql_help.c:1441 sql_help.c:2973 sql_help.c:2990 +#: sql_help.c:1417 sql_help.c:1435 sql_help.c:2974 sql_help.c:2995 msgid "reftable" msgstr "参照テーブル" -#: sql_help.c:1425 sql_help.c:1442 sql_help.c:2974 sql_help.c:2991 +#: sql_help.c:1418 sql_help.c:1436 sql_help.c:2975 sql_help.c:2996 msgid "refcolumn" msgstr "参照列" -#: sql_help.c:1426 sql_help.c:1427 sql_help.c:1443 sql_help.c:1444 -#: sql_help.c:2975 sql_help.c:2976 sql_help.c:2992 sql_help.c:2993 +#: sql_help.c:1419 sql_help.c:1420 sql_help.c:1437 sql_help.c:1438 +#: sql_help.c:2976 sql_help.c:2977 sql_help.c:2998 sql_help.c:2999 msgid "referential_action" msgstr "参照動作" -#: sql_help.c:1428 sql_help.c:2388 sql_help.c:2977 +#: sql_help.c:1421 sql_help.c:2385 sql_help.c:2978 msgid "and table_constraint is:" msgstr "テーブル制約は以下の通りです:" -#: sql_help.c:1436 sql_help.c:2985 +#: sql_help.c:1430 sql_help.c:2989 msgid "exclude_element" msgstr "除外対象要素" -#: sql_help.c:1437 sql_help.c:2986 sql_help.c:4613 sql_help.c:4717 -#: sql_help.c:4871 sql_help.c:5047 sql_help.c:5116 +#: sql_help.c:1431 sql_help.c:2990 sql_help.c:4619 sql_help.c:4723 +#: sql_help.c:4877 sql_help.c:5053 sql_help.c:5122 msgid "operator" msgstr "演算子" -#: sql_help.c:1439 sql_help.c:2507 sql_help.c:2988 +#: sql_help.c:1433 sql_help.c:2505 sql_help.c:2992 msgid "predicate" msgstr "インデックスの述語" -#: sql_help.c:1445 +#: sql_help.c:1439 msgid "and table_constraint_using_index is:" msgstr "テーブル制約は以下の通りです:" -#: sql_help.c:1448 sql_help.c:3001 +#: sql_help.c:1442 sql_help.c:3007 msgid "index_parameters in UNIQUE, PRIMARY KEY, and EXCLUDE constraints are:" msgstr "UNIQUE, PRIMARY KEY, EXCLUDE 制約のインデックスパラメータは以下の通りです:" -#: sql_help.c:1453 sql_help.c:3006 +#: sql_help.c:1447 sql_help.c:3012 msgid "exclude_element in an EXCLUDE constraint is:" msgstr "EXCLUDE 制約の除外対象要素は以下の通りです:" -#: sql_help.c:1457 sql_help.c:2500 sql_help.c:2933 sql_help.c:2946 -#: sql_help.c:2960 sql_help.c:3010 sql_help.c:4031 +#: sql_help.c:1451 sql_help.c:2498 sql_help.c:2934 sql_help.c:2947 +#: sql_help.c:2961 sql_help.c:3016 sql_help.c:4037 msgid "opclass" msgstr "演算子クラス" -#: sql_help.c:1458 sql_help.c:2501 sql_help.c:3011 +#: sql_help.c:1452 sql_help.c:2499 sql_help.c:3017 msgid "opclass_parameter" msgstr "演算子クラスパラメータ" -#: sql_help.c:1460 sql_help.c:3013 +#: sql_help.c:1454 sql_help.c:3019 msgid "referential_action in a FOREIGN KEY/REFERENCES constraint is:" msgstr "FOREIGN KEY/REFERENCES制約の参照動作は以下の通り:" -#: sql_help.c:1478 sql_help.c:1481 sql_help.c:3050 +#: sql_help.c:1472 sql_help.c:1475 sql_help.c:3056 msgid "tablespace_option" msgstr "テーブル空間のオプション" -#: sql_help.c:1502 sql_help.c:1505 sql_help.c:1511 sql_help.c:1515 +#: sql_help.c:1496 sql_help.c:1499 sql_help.c:1505 sql_help.c:1509 msgid "token_type" msgstr "トークンの型" -#: sql_help.c:1503 sql_help.c:1506 +#: sql_help.c:1497 sql_help.c:1500 msgid "dictionary_name" msgstr "辞書名" -#: sql_help.c:1508 sql_help.c:1512 +#: sql_help.c:1502 sql_help.c:1506 msgid "old_dictionary" msgstr "元の辞書" -#: sql_help.c:1509 sql_help.c:1513 +#: sql_help.c:1503 sql_help.c:1507 msgid "new_dictionary" msgstr "新しい辞書" -#: sql_help.c:1608 sql_help.c:1622 sql_help.c:1625 sql_help.c:1626 -#: sql_help.c:3203 +#: sql_help.c:1602 sql_help.c:1616 sql_help.c:1619 sql_help.c:1620 +#: sql_help.c:3209 msgid "attribute_name" msgstr "属性名" -#: sql_help.c:1609 +#: sql_help.c:1603 msgid "new_attribute_name" msgstr "新しい属性名" -#: sql_help.c:1613 sql_help.c:1617 +#: sql_help.c:1607 sql_help.c:1611 msgid "new_enum_value" msgstr "新しい列挙値" -#: sql_help.c:1614 +#: sql_help.c:1608 msgid "neighbor_enum_value" msgstr "隣接した列挙値" -#: sql_help.c:1616 +#: sql_help.c:1610 msgid "existing_enum_value" msgstr "既存の列挙値" -#: sql_help.c:1619 +#: sql_help.c:1613 msgid "property" msgstr "プロパティ" -#: sql_help.c:1695 sql_help.c:2371 sql_help.c:2380 sql_help.c:2782 -#: sql_help.c:3283 sql_help.c:3734 sql_help.c:3941 sql_help.c:3987 -#: sql_help.c:4404 +#: sql_help.c:1689 sql_help.c:2368 sql_help.c:2377 sql_help.c:2782 +#: sql_help.c:3289 sql_help.c:3740 sql_help.c:3947 sql_help.c:3993 +#: sql_help.c:4410 msgid "server_name" msgstr "サーバー名" -#: sql_help.c:1727 sql_help.c:1730 sql_help.c:3298 +#: sql_help.c:1721 sql_help.c:1724 sql_help.c:3304 msgid "view_option_name" msgstr "ビューのオプション名" -#: sql_help.c:1728 sql_help.c:3299 +#: sql_help.c:1722 sql_help.c:3305 msgid "view_option_value" msgstr "ビューオプションの値" -#: sql_help.c:1749 sql_help.c:5016 +#: sql_help.c:1743 sql_help.c:5022 msgid "table_and_columns" msgstr "テーブルおよび列" -#: sql_help.c:1750 sql_help.c:1810 sql_help.c:2004 sql_help.c:3783 -#: sql_help.c:4239 sql_help.c:5017 +#: sql_help.c:1744 sql_help.c:1804 sql_help.c:1999 sql_help.c:3789 +#: sql_help.c:4245 sql_help.c:5023 msgid "where option can be one of:" msgstr "オプションには以下のうちのいずれかを指定します:" -#: sql_help.c:1751 sql_help.c:1752 sql_help.c:1811 sql_help.c:2006 -#: sql_help.c:2010 sql_help.c:2192 sql_help.c:3784 sql_help.c:3785 -#: sql_help.c:3786 sql_help.c:3787 sql_help.c:3788 sql_help.c:3789 -#: sql_help.c:3790 sql_help.c:3791 sql_help.c:3792 sql_help.c:3793 -#: sql_help.c:4240 sql_help.c:4242 sql_help.c:5018 sql_help.c:5019 -#: sql_help.c:5020 sql_help.c:5021 sql_help.c:5022 sql_help.c:5023 -#: sql_help.c:5024 sql_help.c:5025 sql_help.c:5026 sql_help.c:5028 -#: sql_help.c:5029 +#: sql_help.c:1745 sql_help.c:1746 sql_help.c:1805 sql_help.c:2001 +#: sql_help.c:2005 sql_help.c:2188 sql_help.c:3790 sql_help.c:3791 +#: sql_help.c:3792 sql_help.c:3793 sql_help.c:3794 sql_help.c:3795 +#: sql_help.c:3796 sql_help.c:3797 sql_help.c:3798 sql_help.c:3799 +#: sql_help.c:4246 sql_help.c:4248 sql_help.c:5024 sql_help.c:5025 +#: sql_help.c:5026 sql_help.c:5027 sql_help.c:5028 sql_help.c:5029 +#: sql_help.c:5030 sql_help.c:5031 sql_help.c:5032 sql_help.c:5034 +#: sql_help.c:5035 msgid "boolean" msgstr "真偽値" -#: sql_help.c:1753 sql_help.c:5030 +#: sql_help.c:1747 sql_help.c:5036 msgid "size" msgstr "サイズ" -#: sql_help.c:1754 sql_help.c:5031 +#: sql_help.c:1748 sql_help.c:5037 msgid "and table_and_columns is:" msgstr "そしてテーブルと列の指定は以下の通りです:" -#: sql_help.c:1770 sql_help.c:4778 sql_help.c:4780 sql_help.c:4804 +#: sql_help.c:1764 sql_help.c:4784 sql_help.c:4786 sql_help.c:4810 msgid "transaction_mode" msgstr "トランザクションのモード" -#: sql_help.c:1771 sql_help.c:4781 sql_help.c:4805 +#: sql_help.c:1765 sql_help.c:4787 sql_help.c:4811 msgid "where transaction_mode is one of:" msgstr "トランザクションのモードは以下の通りです:" -#: sql_help.c:1780 sql_help.c:4623 sql_help.c:4632 sql_help.c:4636 -#: sql_help.c:4640 sql_help.c:4643 sql_help.c:4881 sql_help.c:4890 -#: sql_help.c:4894 sql_help.c:4898 sql_help.c:4901 sql_help.c:5126 -#: sql_help.c:5135 sql_help.c:5139 sql_help.c:5143 sql_help.c:5146 +#: sql_help.c:1774 sql_help.c:4629 sql_help.c:4638 sql_help.c:4642 +#: sql_help.c:4646 sql_help.c:4649 sql_help.c:4887 sql_help.c:4896 +#: sql_help.c:4900 sql_help.c:4904 sql_help.c:4907 sql_help.c:5132 +#: sql_help.c:5141 sql_help.c:5145 sql_help.c:5149 sql_help.c:5152 msgid "argument" msgstr "引数" -#: sql_help.c:1876 +#: sql_help.c:1870 msgid "relation_name" msgstr "リレーション名" -#: sql_help.c:1881 sql_help.c:3935 sql_help.c:4398 +#: sql_help.c:1875 sql_help.c:3941 sql_help.c:4404 msgid "domain_name" msgstr "ドメイン名" -#: sql_help.c:1903 +#: sql_help.c:1897 msgid "policy_name" msgstr "ポリシー名" -#: sql_help.c:1916 +#: sql_help.c:1910 msgid "rule_name" msgstr "ルール名" -#: sql_help.c:1935 sql_help.c:4537 +#: sql_help.c:1929 sql_help.c:4543 msgid "string_literal" msgstr "文字列リテラル" -#: sql_help.c:1960 sql_help.c:4201 sql_help.c:4451 +#: sql_help.c:1954 sql_help.c:4207 sql_help.c:4457 msgid "transaction_id" msgstr "トランザクションID" -#: sql_help.c:1994 sql_help.c:2001 sql_help.c:4057 +#: sql_help.c:1989 sql_help.c:1996 sql_help.c:4063 msgid "filename" msgstr "ファイル名" -#: sql_help.c:1995 sql_help.c:2002 sql_help.c:2721 sql_help.c:2722 -#: sql_help.c:2723 +#: sql_help.c:1990 sql_help.c:1997 sql_help.c:2719 sql_help.c:2720 +#: sql_help.c:2721 msgid "command" msgstr "コマンド" -#: sql_help.c:1997 sql_help.c:2720 sql_help.c:3153 sql_help.c:3334 -#: sql_help.c:4041 sql_help.c:4124 sql_help.c:4127 sql_help.c:4130 -#: sql_help.c:4606 sql_help.c:4608 sql_help.c:4710 sql_help.c:4712 -#: sql_help.c:4864 sql_help.c:4866 sql_help.c:4983 sql_help.c:5109 -#: sql_help.c:5111 +#: sql_help.c:1992 sql_help.c:2718 sql_help.c:3159 sql_help.c:3340 +#: sql_help.c:4047 sql_help.c:4130 sql_help.c:4133 sql_help.c:4136 +#: sql_help.c:4612 sql_help.c:4614 sql_help.c:4716 sql_help.c:4718 +#: sql_help.c:4870 sql_help.c:4872 sql_help.c:4989 sql_help.c:5115 +#: sql_help.c:5117 msgid "condition" msgstr "条件" -#: sql_help.c:2000 sql_help.c:2541 sql_help.c:3036 sql_help.c:3300 -#: sql_help.c:3318 sql_help.c:4022 +#: sql_help.c:1995 sql_help.c:2539 sql_help.c:3042 sql_help.c:3306 +#: sql_help.c:3324 sql_help.c:4028 msgid "query" msgstr "問い合わせ" -#: sql_help.c:2005 +#: sql_help.c:2000 msgid "format_name" msgstr "フォーマット名" -#: sql_help.c:2007 +#: sql_help.c:2002 msgid "delimiter_character" msgstr "区切り文字" -#: sql_help.c:2008 +#: sql_help.c:2003 msgid "null_string" msgstr "NULL文字列" -#: sql_help.c:2009 +#: sql_help.c:2004 msgid "default_string" msgstr "デフォルト文字列" -#: sql_help.c:2011 +#: sql_help.c:2006 msgid "quote_character" msgstr "引用符文字" -#: sql_help.c:2012 +#: sql_help.c:2007 msgid "escape_character" msgstr "エスケープ文字" -#: sql_help.c:2016 +#: sql_help.c:2011 msgid "error_action" msgstr "エラー処理" -#: sql_help.c:2017 +#: sql_help.c:2012 +msgid "maxerror" +msgstr "許容エラー数" + +#: sql_help.c:2013 msgid "encoding_name" msgstr "エンコーディング名" -#: sql_help.c:2018 +#: sql_help.c:2014 msgid "verbosity" msgstr "詳細度" -#: sql_help.c:2029 +#: sql_help.c:2025 msgid "access_method_type" msgstr "アクセスメソッドの型" -#: sql_help.c:2100 sql_help.c:2119 sql_help.c:2122 +#: sql_help.c:2096 sql_help.c:2115 sql_help.c:2118 msgid "arg_data_type" msgstr "入力データ型" -#: sql_help.c:2101 sql_help.c:2123 sql_help.c:2131 +#: sql_help.c:2097 sql_help.c:2119 sql_help.c:2127 msgid "sfunc" msgstr "状態遷移関数" -#: sql_help.c:2102 sql_help.c:2124 sql_help.c:2132 +#: sql_help.c:2098 sql_help.c:2120 sql_help.c:2128 msgid "state_data_type" msgstr "状態データの型" -#: sql_help.c:2103 sql_help.c:2125 sql_help.c:2133 +#: sql_help.c:2099 sql_help.c:2121 sql_help.c:2129 msgid "state_data_size" msgstr "状態データのサイズ" -#: sql_help.c:2104 sql_help.c:2126 sql_help.c:2134 +#: sql_help.c:2100 sql_help.c:2122 sql_help.c:2130 msgid "ffunc" msgstr "終了関数" -#: sql_help.c:2105 sql_help.c:2135 +#: sql_help.c:2101 sql_help.c:2131 msgid "combinefunc" msgstr "結合関数" -#: sql_help.c:2106 sql_help.c:2136 +#: sql_help.c:2102 sql_help.c:2132 msgid "serialfunc" msgstr "シリアライズ関数" -#: sql_help.c:2107 sql_help.c:2137 +#: sql_help.c:2103 sql_help.c:2133 msgid "deserialfunc" msgstr "デシリアライズ関数" -#: sql_help.c:2108 sql_help.c:2127 sql_help.c:2138 +#: sql_help.c:2104 sql_help.c:2123 sql_help.c:2134 msgid "initial_condition" msgstr "初期条件" -#: sql_help.c:2109 sql_help.c:2139 +#: sql_help.c:2105 sql_help.c:2135 msgid "msfunc" msgstr "前方状態遷移関数" -#: sql_help.c:2110 sql_help.c:2140 +#: sql_help.c:2106 sql_help.c:2136 msgid "minvfunc" msgstr "逆状態遷移関数" -#: sql_help.c:2111 sql_help.c:2141 +#: sql_help.c:2107 sql_help.c:2137 msgid "mstate_data_type" msgstr "移動集約モード時の状態値のデータ型" -#: sql_help.c:2112 sql_help.c:2142 +#: sql_help.c:2108 sql_help.c:2138 msgid "mstate_data_size" msgstr "移動集約モード時の状態値のデータサイズ" -#: sql_help.c:2113 sql_help.c:2143 +#: sql_help.c:2109 sql_help.c:2139 msgid "mffunc" msgstr "移動集約モード時の終了関数" -#: sql_help.c:2114 sql_help.c:2144 +#: sql_help.c:2110 sql_help.c:2140 msgid "minitial_condition" msgstr "移動集約モード時の初期条件" -#: sql_help.c:2115 sql_help.c:2145 +#: sql_help.c:2111 sql_help.c:2141 msgid "sort_operator" msgstr "ソート演算子" -#: sql_help.c:2128 +#: sql_help.c:2124 msgid "or the old syntax" msgstr "または古い構文" -#: sql_help.c:2130 +#: sql_help.c:2126 msgid "base_type" msgstr "基本の型" -#: sql_help.c:2188 sql_help.c:2238 +#: sql_help.c:2184 sql_help.c:2234 msgid "locale" msgstr "ロケール" -#: sql_help.c:2189 sql_help.c:2239 +#: sql_help.c:2185 sql_help.c:2235 msgid "lc_collate" msgstr "照合順序" -#: sql_help.c:2190 sql_help.c:2240 +#: sql_help.c:2186 sql_help.c:2236 msgid "lc_ctype" msgstr "Ctype(変換演算子)" -#: sql_help.c:2191 sql_help.c:4504 +#: sql_help.c:2187 sql_help.c:4510 msgid "provider" msgstr "プロバイダ" -#: sql_help.c:2193 +#: sql_help.c:2189 msgid "rules" msgstr "ルール" -#: sql_help.c:2194 sql_help.c:2301 +#: sql_help.c:2190 sql_help.c:2297 msgid "version" msgstr "バージョン" -#: sql_help.c:2196 +#: sql_help.c:2192 msgid "existing_collation" msgstr "既存の照合順序" -#: sql_help.c:2206 +#: sql_help.c:2202 msgid "source_encoding" msgstr "変換元のエンコーディング" -#: sql_help.c:2207 +#: sql_help.c:2203 msgid "dest_encoding" msgstr "変換先のエンコーディング" -#: sql_help.c:2235 sql_help.c:3076 +#: sql_help.c:2231 sql_help.c:3082 msgid "template" msgstr "テンプレート" -#: sql_help.c:2236 +#: sql_help.c:2232 msgid "encoding" msgstr "エンコード" -#: sql_help.c:2237 +#: sql_help.c:2233 msgid "strategy" msgstr "ストラテジ" -#: sql_help.c:2241 +#: sql_help.c:2237 msgid "builtin_locale" msgstr "組み込みロケール" -#: sql_help.c:2242 +#: sql_help.c:2238 msgid "icu_locale" msgstr "ICUロケール" -#: sql_help.c:2243 +#: sql_help.c:2239 msgid "icu_rules" msgstr "ICUルール(群)" -#: sql_help.c:2244 +#: sql_help.c:2240 msgid "locale_provider" msgstr "ロケールプロバイダ" -#: sql_help.c:2245 +#: sql_help.c:2241 msgid "collation_version" msgstr "照合順序バージョン" -#: sql_help.c:2250 +#: sql_help.c:2246 msgid "oid" msgstr "オブジェクトID" -#: sql_help.c:2271 -msgid "where domain_constraint is:" -msgstr "ドメイン制約は以下の通りです:" - -#: sql_help.c:2285 sql_help.c:2718 sql_help.c:3149 +#: sql_help.c:2281 sql_help.c:2716 sql_help.c:3155 msgid "event" msgstr "イベント" -#: sql_help.c:2286 +#: sql_help.c:2282 msgid "filter_variable" msgstr "フィルター変数" -#: sql_help.c:2287 +#: sql_help.c:2283 msgid "filter_value" msgstr "フィルター値" -#: sql_help.c:2383 sql_help.c:2965 +#: sql_help.c:2380 sql_help.c:2966 msgid "where column_constraint is:" msgstr "カラム制約は以下の通りです:" -#: sql_help.c:2428 +#: sql_help.c:2426 msgid "rettype" msgstr "戻り値の型" -#: sql_help.c:2430 +#: sql_help.c:2428 msgid "column_type" msgstr "列の型" -#: sql_help.c:2439 sql_help.c:2642 +#: sql_help.c:2437 sql_help.c:2640 msgid "definition" msgstr "定義" -#: sql_help.c:2440 sql_help.c:2643 +#: sql_help.c:2438 sql_help.c:2641 msgid "obj_file" msgstr "オブジェクトファイル名" -#: sql_help.c:2441 sql_help.c:2644 +#: sql_help.c:2439 sql_help.c:2642 msgid "link_symbol" msgstr "リンクシンボル" -#: sql_help.c:2442 sql_help.c:2645 +#: sql_help.c:2440 sql_help.c:2643 msgid "sql_body" msgstr "SQL本体" -#: sql_help.c:2480 sql_help.c:2703 sql_help.c:3272 +#: sql_help.c:2478 sql_help.c:2701 sql_help.c:3278 msgid "uid" msgstr "UID" -#: sql_help.c:2496 sql_help.c:2537 sql_help.c:2934 sql_help.c:2947 -#: sql_help.c:2961 sql_help.c:3032 +#: sql_help.c:2494 sql_help.c:2535 sql_help.c:2935 sql_help.c:2948 +#: sql_help.c:2962 sql_help.c:3038 msgid "method" msgstr "インデックスメソッド" -#: sql_help.c:2518 +#: sql_help.c:2516 msgid "call_handler" msgstr "呼び出しハンドラー" -#: sql_help.c:2519 +#: sql_help.c:2517 msgid "inline_handler" msgstr "インラインハンドラー" -#: sql_help.c:2520 +#: sql_help.c:2518 msgid "valfunction" msgstr "バリデーション関数" -#: sql_help.c:2578 +#: sql_help.c:2576 msgid "family_name" msgstr "演算子族の名前" -#: sql_help.c:2589 +#: sql_help.c:2587 msgid "storage_type" msgstr "ストレージタイプ" -#: sql_help.c:2724 sql_help.c:3156 +#: sql_help.c:2722 sql_help.c:3162 msgid "where event can be one of:" msgstr "イベントは以下のいずれかです:" -#: sql_help.c:2744 sql_help.c:2746 +#: sql_help.c:2742 sql_help.c:2744 msgid "schema_element" msgstr "スキーマ要素" @@ -5354,7 +5369,7 @@ msgstr "サーバーのタイプ" msgid "server_version" msgstr "サーバーのバージョン" -#: sql_help.c:2785 sql_help.c:3938 sql_help.c:4401 +#: sql_help.c:2785 sql_help.c:3944 sql_help.c:4407 msgid "fdw_name" msgstr "外部データラッパ名" @@ -5370,1205 +5385,1205 @@ msgstr "統計種別" msgid "subscription_name" msgstr "サブスクリプション名" -#: sql_help.c:2927 +#: sql_help.c:2928 msgid "source_table" msgstr "コピー元のテーブル" -#: sql_help.c:2928 +#: sql_help.c:2929 msgid "like_option" msgstr "LIKEオプション" -#: sql_help.c:2994 +#: sql_help.c:3000 msgid "and like_option is:" msgstr "LIKE オプションは以下の通りです:" -#: sql_help.c:3049 +#: sql_help.c:3055 msgid "directory" msgstr "ディレクトリ" -#: sql_help.c:3063 +#: sql_help.c:3069 msgid "parser_name" msgstr "パーサ名" -#: sql_help.c:3064 +#: sql_help.c:3070 msgid "source_config" msgstr "複製元の設定" -#: sql_help.c:3093 +#: sql_help.c:3099 msgid "start_function" msgstr "開始関数" -#: sql_help.c:3094 +#: sql_help.c:3100 msgid "gettoken_function" msgstr "トークン取得関数" -#: sql_help.c:3095 +#: sql_help.c:3101 msgid "end_function" msgstr "終了関数" -#: sql_help.c:3096 +#: sql_help.c:3102 msgid "lextypes_function" msgstr "LEXTYPE関数" -#: sql_help.c:3097 +#: sql_help.c:3103 msgid "headline_function" msgstr "見出し関数" -#: sql_help.c:3109 +#: sql_help.c:3115 msgid "init_function" msgstr "初期処理関数" -#: sql_help.c:3110 +#: sql_help.c:3116 msgid "lexize_function" msgstr "LEXIZE関数" -#: sql_help.c:3123 +#: sql_help.c:3129 msgid "from_sql_function_name" msgstr "{FROM SQL 関数名}" -#: sql_help.c:3125 +#: sql_help.c:3131 msgid "to_sql_function_name" msgstr "{TO SQL 関数名}" -#: sql_help.c:3151 +#: sql_help.c:3157 msgid "referenced_table_name" msgstr "被参照テーブル名" -#: sql_help.c:3152 +#: sql_help.c:3158 msgid "transition_relation_name" msgstr "移行用リレーション名" -#: sql_help.c:3155 +#: sql_help.c:3161 msgid "arguments" msgstr "引数" -#: sql_help.c:3207 +#: sql_help.c:3213 msgid "label" msgstr "ラベル" -#: sql_help.c:3209 +#: sql_help.c:3215 msgid "subtype" msgstr "当該範囲のデータ型" -#: sql_help.c:3210 +#: sql_help.c:3216 msgid "subtype_operator_class" msgstr "当該範囲のデータ型の演算子クラス" -#: sql_help.c:3212 +#: sql_help.c:3218 msgid "canonical_function" msgstr "正規化関数" -#: sql_help.c:3213 +#: sql_help.c:3219 msgid "subtype_diff_function" msgstr "当該範囲のデータ型の差分抽出関数" -#: sql_help.c:3214 +#: sql_help.c:3220 msgid "multirange_type_name" msgstr "複範囲型名" -#: sql_help.c:3216 +#: sql_help.c:3222 msgid "input_function" msgstr "入力関数" -#: sql_help.c:3217 +#: sql_help.c:3223 msgid "output_function" msgstr "出力関数" -#: sql_help.c:3218 +#: sql_help.c:3224 msgid "receive_function" msgstr "受信関数" -#: sql_help.c:3219 +#: sql_help.c:3225 msgid "send_function" msgstr "送信関数" -#: sql_help.c:3220 +#: sql_help.c:3226 msgid "type_modifier_input_function" msgstr "型修飾子の入力関数" -#: sql_help.c:3221 +#: sql_help.c:3227 msgid "type_modifier_output_function" msgstr "型修飾子の出力関数" -#: sql_help.c:3222 +#: sql_help.c:3228 msgid "analyze_function" msgstr "分析関数" -#: sql_help.c:3223 +#: sql_help.c:3229 msgid "subscript_function" msgstr "添字関数" -#: sql_help.c:3224 +#: sql_help.c:3230 msgid "internallength" msgstr "内部長" -#: sql_help.c:3225 +#: sql_help.c:3231 msgid "alignment" msgstr "バイト境界" -#: sql_help.c:3226 +#: sql_help.c:3232 msgid "storage" msgstr "ストレージ" -#: sql_help.c:3227 +#: sql_help.c:3233 msgid "like_type" msgstr "LIKEの型" -#: sql_help.c:3228 +#: sql_help.c:3234 msgid "category" msgstr "カテゴリー" -#: sql_help.c:3229 +#: sql_help.c:3235 msgid "preferred" msgstr "優先データ型かどうか(真偽値)" -#: sql_help.c:3230 +#: sql_help.c:3236 msgid "default" msgstr "デフォルト" -#: sql_help.c:3231 +#: sql_help.c:3237 msgid "element" msgstr "要素のデータ型" -#: sql_help.c:3232 +#: sql_help.c:3238 msgid "delimiter" msgstr "区切り記号" -#: sql_help.c:3233 +#: sql_help.c:3239 msgid "collatable" msgstr "照合可能" -#: sql_help.c:3330 sql_help.c:4017 sql_help.c:4111 sql_help.c:4601 -#: sql_help.c:4704 sql_help.c:4859 sql_help.c:4973 sql_help.c:5104 +#: sql_help.c:3336 sql_help.c:4023 sql_help.c:4117 sql_help.c:4607 +#: sql_help.c:4710 sql_help.c:4865 sql_help.c:4979 sql_help.c:5110 msgid "with_query" msgstr "WITH問い合わせ" -#: sql_help.c:3332 sql_help.c:4019 sql_help.c:4620 sql_help.c:4626 -#: sql_help.c:4629 sql_help.c:4633 sql_help.c:4637 sql_help.c:4645 -#: sql_help.c:4878 sql_help.c:4884 sql_help.c:4887 sql_help.c:4891 -#: sql_help.c:4895 sql_help.c:4903 sql_help.c:4975 sql_help.c:5123 -#: sql_help.c:5129 sql_help.c:5132 sql_help.c:5136 sql_help.c:5140 -#: sql_help.c:5148 +#: sql_help.c:3338 sql_help.c:4025 sql_help.c:4626 sql_help.c:4632 +#: sql_help.c:4635 sql_help.c:4639 sql_help.c:4643 sql_help.c:4651 +#: sql_help.c:4884 sql_help.c:4890 sql_help.c:4893 sql_help.c:4897 +#: sql_help.c:4901 sql_help.c:4909 sql_help.c:4981 sql_help.c:5129 +#: sql_help.c:5135 sql_help.c:5138 sql_help.c:5142 sql_help.c:5146 +#: sql_help.c:5154 msgid "alias" msgstr "別名" -#: sql_help.c:3333 sql_help.c:4605 sql_help.c:4647 sql_help.c:4649 -#: sql_help.c:4653 sql_help.c:4655 sql_help.c:4656 sql_help.c:4657 -#: sql_help.c:4709 sql_help.c:4863 sql_help.c:4905 sql_help.c:4907 -#: sql_help.c:4911 sql_help.c:4913 sql_help.c:4914 sql_help.c:4915 -#: sql_help.c:4982 sql_help.c:5108 sql_help.c:5150 sql_help.c:5152 -#: sql_help.c:5156 sql_help.c:5158 sql_help.c:5159 sql_help.c:5160 +#: sql_help.c:3339 sql_help.c:4611 sql_help.c:4653 sql_help.c:4655 +#: sql_help.c:4659 sql_help.c:4661 sql_help.c:4662 sql_help.c:4663 +#: sql_help.c:4715 sql_help.c:4869 sql_help.c:4911 sql_help.c:4913 +#: sql_help.c:4917 sql_help.c:4919 sql_help.c:4920 sql_help.c:4921 +#: sql_help.c:4988 sql_help.c:5114 sql_help.c:5156 sql_help.c:5158 +#: sql_help.c:5162 sql_help.c:5164 sql_help.c:5165 sql_help.c:5166 msgid "from_item" msgstr "FROM項目" -#: sql_help.c:3335 sql_help.c:3819 sql_help.c:4168 sql_help.c:4984 +#: sql_help.c:3341 sql_help.c:3825 sql_help.c:4174 sql_help.c:4990 msgid "cursor_name" msgstr "カーソル名" -#: sql_help.c:3336 sql_help.c:4025 sql_help.c:4117 sql_help.c:4985 +#: sql_help.c:3342 sql_help.c:4031 sql_help.c:4123 sql_help.c:4991 msgid "output_expression" msgstr "出力表現" -#: sql_help.c:3337 sql_help.c:4026 sql_help.c:4118 sql_help.c:4604 -#: sql_help.c:4707 sql_help.c:4862 sql_help.c:4986 sql_help.c:5107 +#: sql_help.c:3343 sql_help.c:4032 sql_help.c:4124 sql_help.c:4610 +#: sql_help.c:4713 sql_help.c:4868 sql_help.c:4992 sql_help.c:5113 msgid "output_name" msgstr "出力名" -#: sql_help.c:3353 +#: sql_help.c:3359 msgid "code" msgstr "コードブロック" -#: sql_help.c:3758 +#: sql_help.c:3764 msgid "parameter" msgstr "パラメータ" -#: sql_help.c:3782 sql_help.c:4193 +#: sql_help.c:3788 sql_help.c:4199 msgid "statement" msgstr "文" -#: sql_help.c:3818 sql_help.c:4167 +#: sql_help.c:3824 sql_help.c:4173 msgid "direction" msgstr "方向" -#: sql_help.c:3820 sql_help.c:4169 +#: sql_help.c:3826 sql_help.c:4175 msgid "where direction can be one of:" msgstr "方向 は以下のうちのいずれか:" -#: sql_help.c:3821 sql_help.c:3822 sql_help.c:3823 sql_help.c:3824 -#: sql_help.c:3825 sql_help.c:4170 sql_help.c:4171 sql_help.c:4172 -#: sql_help.c:4173 sql_help.c:4174 sql_help.c:4614 sql_help.c:4616 -#: sql_help.c:4718 sql_help.c:4720 sql_help.c:4872 sql_help.c:4874 -#: sql_help.c:5048 sql_help.c:5050 sql_help.c:5117 sql_help.c:5119 +#: sql_help.c:3827 sql_help.c:3828 sql_help.c:3829 sql_help.c:3830 +#: sql_help.c:3831 sql_help.c:4176 sql_help.c:4177 sql_help.c:4178 +#: sql_help.c:4179 sql_help.c:4180 sql_help.c:4620 sql_help.c:4622 +#: sql_help.c:4724 sql_help.c:4726 sql_help.c:4878 sql_help.c:4880 +#: sql_help.c:5054 sql_help.c:5056 sql_help.c:5123 sql_help.c:5125 msgid "count" msgstr "取り出す位置や行数" -#: sql_help.c:3928 sql_help.c:4391 +#: sql_help.c:3934 sql_help.c:4397 msgid "sequence_name" msgstr "シーケンス名" -#: sql_help.c:3946 sql_help.c:4409 +#: sql_help.c:3952 sql_help.c:4415 msgid "arg_name" msgstr "引数名" -#: sql_help.c:3947 sql_help.c:4410 +#: sql_help.c:3953 sql_help.c:4416 msgid "arg_type" msgstr "引数の型" -#: sql_help.c:3954 sql_help.c:4417 +#: sql_help.c:3960 sql_help.c:4423 msgid "loid" msgstr "ラージオブジェクトid" -#: sql_help.c:3985 +#: sql_help.c:3991 msgid "remote_schema" msgstr "リモートスキーマ" -#: sql_help.c:3988 +#: sql_help.c:3994 msgid "local_schema" msgstr "ローカルスキーマ" -#: sql_help.c:4023 +#: sql_help.c:4029 msgid "conflict_target" msgstr "競合ターゲット" -#: sql_help.c:4024 +#: sql_help.c:4030 msgid "conflict_action" msgstr "競合時アクション" -#: sql_help.c:4027 +#: sql_help.c:4033 msgid "where conflict_target can be one of:" msgstr "競合ターゲットは以下のいずれかです:" -#: sql_help.c:4028 +#: sql_help.c:4034 msgid "index_column_name" msgstr "インデックスのカラム名" -#: sql_help.c:4029 +#: sql_help.c:4035 msgid "index_expression" msgstr "インデックス表現" -#: sql_help.c:4032 +#: sql_help.c:4038 msgid "index_predicate" msgstr "インデックスの述語" -#: sql_help.c:4034 +#: sql_help.c:4040 msgid "and conflict_action is one of:" msgstr "競合時アクションは以下のいずれかです:" -#: sql_help.c:4040 sql_help.c:4141 sql_help.c:4981 +#: sql_help.c:4046 sql_help.c:4147 sql_help.c:4987 msgid "sub-SELECT" msgstr "副問い合わせ句" -#: sql_help.c:4049 sql_help.c:4182 sql_help.c:4957 +#: sql_help.c:4055 sql_help.c:4188 sql_help.c:4963 msgid "channel" msgstr "チャネル" -#: sql_help.c:4071 +#: sql_help.c:4077 msgid "lockmode" msgstr "ロックモード" -#: sql_help.c:4072 +#: sql_help.c:4078 msgid "where lockmode is one of:" msgstr "ロックモードは以下のいずれかです:" -#: sql_help.c:4112 +#: sql_help.c:4118 msgid "target_table_name" msgstr "ターゲットテーブル名" -#: sql_help.c:4113 +#: sql_help.c:4119 msgid "target_alias" msgstr "ターゲット別名" -#: sql_help.c:4114 +#: sql_help.c:4120 msgid "data_source" msgstr "データ源" -#: sql_help.c:4115 sql_help.c:4650 sql_help.c:4908 sql_help.c:5153 +#: sql_help.c:4121 sql_help.c:4656 sql_help.c:4914 sql_help.c:5159 msgid "join_condition" msgstr "JOIN条件" -#: sql_help.c:4116 +#: sql_help.c:4122 msgid "when_clause" msgstr "WHEN句" -#: sql_help.c:4119 +#: sql_help.c:4125 msgid "where data_source is:" msgstr "ここで\"データ源\"は以下の通り:" -#: sql_help.c:4120 +#: sql_help.c:4126 msgid "source_table_name" msgstr "データ源テーブル名" -#: sql_help.c:4121 +#: sql_help.c:4127 msgid "source_query" msgstr "データ源問い合わせ" -#: sql_help.c:4122 +#: sql_help.c:4128 msgid "source_alias" msgstr "データ源別名" -#: sql_help.c:4123 +#: sql_help.c:4129 msgid "and when_clause is:" msgstr "WHEN句は以下の通り:" -#: sql_help.c:4125 sql_help.c:4128 +#: sql_help.c:4131 sql_help.c:4134 msgid "merge_update" msgstr "マージ更新" -#: sql_help.c:4126 sql_help.c:4129 +#: sql_help.c:4132 sql_help.c:4135 msgid "merge_delete" msgstr "マージ削除" -#: sql_help.c:4131 +#: sql_help.c:4137 msgid "merge_insert" msgstr "マージ挿入" -#: sql_help.c:4132 +#: sql_help.c:4138 msgid "and merge_insert is:" msgstr "そして\"マージ挿入\"は以下の通り:" -#: sql_help.c:4135 +#: sql_help.c:4141 msgid "and merge_update is:" msgstr "そして\"マージ更新\"は以下の通り:" -#: sql_help.c:4142 +#: sql_help.c:4148 msgid "and merge_delete is:" msgstr "そして\"マージ削除\"は以下の通り:" -#: sql_help.c:4183 +#: sql_help.c:4189 msgid "payload" msgstr "ペイロード" -#: sql_help.c:4210 +#: sql_help.c:4216 msgid "old_role" msgstr "元のロール" -#: sql_help.c:4211 +#: sql_help.c:4217 msgid "new_role" msgstr "新しいロール" -#: sql_help.c:4250 sql_help.c:4459 sql_help.c:4467 +#: sql_help.c:4256 sql_help.c:4465 sql_help.c:4473 msgid "savepoint_name" msgstr "セーブポイント名" -#: sql_help.c:4607 sql_help.c:4665 sql_help.c:4865 sql_help.c:4923 -#: sql_help.c:5110 sql_help.c:5168 +#: sql_help.c:4613 sql_help.c:4671 sql_help.c:4871 sql_help.c:4929 +#: sql_help.c:5116 sql_help.c:5174 msgid "grouping_element" msgstr "グルーピング要素" -#: sql_help.c:4609 sql_help.c:4713 sql_help.c:4867 sql_help.c:5112 +#: sql_help.c:4615 sql_help.c:4719 sql_help.c:4873 sql_help.c:5118 msgid "window_name" msgstr "ウィンドウ名" -#: sql_help.c:4610 sql_help.c:4714 sql_help.c:4868 sql_help.c:5113 +#: sql_help.c:4616 sql_help.c:4720 sql_help.c:4874 sql_help.c:5119 msgid "window_definition" msgstr "ウィンドウ定義" -#: sql_help.c:4611 sql_help.c:4625 sql_help.c:4669 sql_help.c:4715 -#: sql_help.c:4869 sql_help.c:4883 sql_help.c:4927 sql_help.c:5114 -#: sql_help.c:5128 sql_help.c:5172 +#: sql_help.c:4617 sql_help.c:4631 sql_help.c:4675 sql_help.c:4721 +#: sql_help.c:4875 sql_help.c:4889 sql_help.c:4933 sql_help.c:5120 +#: sql_help.c:5134 sql_help.c:5178 msgid "select" msgstr "SELECT句" -#: sql_help.c:4617 sql_help.c:4875 sql_help.c:5120 +#: sql_help.c:4623 sql_help.c:4881 sql_help.c:5126 msgid "from_reference" msgstr "FROM参照" -#: sql_help.c:4618 sql_help.c:4876 sql_help.c:5121 +#: sql_help.c:4624 sql_help.c:4882 sql_help.c:5127 msgid "where from_item can be one of:" msgstr "FROM項目は以下のいずれかです:" -#: sql_help.c:4621 sql_help.c:4627 sql_help.c:4630 sql_help.c:4634 -#: sql_help.c:4646 sql_help.c:4879 sql_help.c:4885 sql_help.c:4888 -#: sql_help.c:4892 sql_help.c:4904 sql_help.c:5124 sql_help.c:5130 -#: sql_help.c:5133 sql_help.c:5137 sql_help.c:5149 +#: sql_help.c:4627 sql_help.c:4633 sql_help.c:4636 sql_help.c:4640 +#: sql_help.c:4652 sql_help.c:4885 sql_help.c:4891 sql_help.c:4894 +#: sql_help.c:4898 sql_help.c:4910 sql_help.c:5130 sql_help.c:5136 +#: sql_help.c:5139 sql_help.c:5143 sql_help.c:5155 msgid "column_alias" msgstr "列別名" -#: sql_help.c:4622 sql_help.c:4880 sql_help.c:5125 +#: sql_help.c:4628 sql_help.c:4886 sql_help.c:5131 msgid "sampling_method" msgstr "サンプリングメソッド" -#: sql_help.c:4624 sql_help.c:4882 sql_help.c:5127 +#: sql_help.c:4630 sql_help.c:4888 sql_help.c:5133 msgid "seed" msgstr "乱数シード" -#: sql_help.c:4628 sql_help.c:4667 sql_help.c:4886 sql_help.c:4925 -#: sql_help.c:5131 sql_help.c:5170 +#: sql_help.c:4634 sql_help.c:4673 sql_help.c:4892 sql_help.c:4931 +#: sql_help.c:5137 sql_help.c:5176 msgid "with_query_name" msgstr "WITH問い合わせ名" -#: sql_help.c:4638 sql_help.c:4641 sql_help.c:4644 sql_help.c:4896 -#: sql_help.c:4899 sql_help.c:4902 sql_help.c:5141 sql_help.c:5144 -#: sql_help.c:5147 +#: sql_help.c:4644 sql_help.c:4647 sql_help.c:4650 sql_help.c:4902 +#: sql_help.c:4905 sql_help.c:4908 sql_help.c:5147 sql_help.c:5150 +#: sql_help.c:5153 msgid "column_definition" msgstr "カラム定義" -#: sql_help.c:4648 sql_help.c:4654 sql_help.c:4906 sql_help.c:4912 -#: sql_help.c:5151 sql_help.c:5157 +#: sql_help.c:4654 sql_help.c:4660 sql_help.c:4912 sql_help.c:4918 +#: sql_help.c:5157 sql_help.c:5163 msgid "join_type" msgstr "JOINタイプ" -#: sql_help.c:4651 sql_help.c:4909 sql_help.c:5154 +#: sql_help.c:4657 sql_help.c:4915 sql_help.c:5160 msgid "join_column" msgstr "JOINカラム" -#: sql_help.c:4652 sql_help.c:4910 sql_help.c:5155 +#: sql_help.c:4658 sql_help.c:4916 sql_help.c:5161 msgid "join_using_alias" msgstr "JOIN用別名" -#: sql_help.c:4658 sql_help.c:4916 sql_help.c:5161 +#: sql_help.c:4664 sql_help.c:4922 sql_help.c:5167 msgid "and grouping_element can be one of:" msgstr "グルーピング要素は以下のいずれかです:" -#: sql_help.c:4666 sql_help.c:4924 sql_help.c:5169 +#: sql_help.c:4672 sql_help.c:4930 sql_help.c:5175 msgid "and with_query is:" msgstr "WITH問い合わせは以下のいずれかです:" -#: sql_help.c:4670 sql_help.c:4928 sql_help.c:5173 +#: sql_help.c:4676 sql_help.c:4934 sql_help.c:5179 msgid "values" msgstr "VALUES句" -#: sql_help.c:4671 sql_help.c:4929 sql_help.c:5174 +#: sql_help.c:4677 sql_help.c:4935 sql_help.c:5180 msgid "insert" msgstr "INSERT句" -#: sql_help.c:4672 sql_help.c:4930 sql_help.c:5175 +#: sql_help.c:4678 sql_help.c:4936 sql_help.c:5181 msgid "update" msgstr "UPDATE句" -#: sql_help.c:4673 sql_help.c:4931 sql_help.c:5176 +#: sql_help.c:4679 sql_help.c:4937 sql_help.c:5182 msgid "delete" msgstr "DELETE句" -#: sql_help.c:4674 sql_help.c:4932 sql_help.c:5177 +#: sql_help.c:4680 sql_help.c:4938 sql_help.c:5183 msgid "merge" msgstr "MERGE句" -#: sql_help.c:4676 sql_help.c:4934 sql_help.c:5179 +#: sql_help.c:4682 sql_help.c:4940 sql_help.c:5185 msgid "search_seq_col_name" msgstr "SEARCH順序列名" -#: sql_help.c:4678 sql_help.c:4936 sql_help.c:5181 +#: sql_help.c:4684 sql_help.c:4942 sql_help.c:5187 msgid "cycle_mark_col_name" msgstr "循環識別列名" -#: sql_help.c:4679 sql_help.c:4937 sql_help.c:5182 +#: sql_help.c:4685 sql_help.c:4943 sql_help.c:5188 msgid "cycle_mark_value" msgstr "循環識別値" -#: sql_help.c:4680 sql_help.c:4938 sql_help.c:5183 +#: sql_help.c:4686 sql_help.c:4944 sql_help.c:5189 msgid "cycle_mark_default" msgstr "循環識別デフォルト" -#: sql_help.c:4681 sql_help.c:4939 sql_help.c:5184 +#: sql_help.c:4687 sql_help.c:4945 sql_help.c:5190 msgid "cycle_path_col_name" msgstr "循環パス列名" -#: sql_help.c:4708 +#: sql_help.c:4714 msgid "new_table" msgstr "新しいテーブル" -#: sql_help.c:4779 +#: sql_help.c:4785 msgid "snapshot_id" msgstr "スナップショットID" -#: sql_help.c:5046 +#: sql_help.c:5052 msgid "sort_expression" msgstr "ソート表現" -#: sql_help.c:5191 sql_help.c:6175 +#: sql_help.c:5197 sql_help.c:6181 msgid "abort the current transaction" msgstr "現在のトランザクションを中止します" -#: sql_help.c:5197 +#: sql_help.c:5203 msgid "change the definition of an aggregate function" msgstr "集約関数の定義を変更します" -#: sql_help.c:5203 +#: sql_help.c:5209 msgid "change the definition of a collation" msgstr "照合順序の定義を変更します" -#: sql_help.c:5209 +#: sql_help.c:5215 msgid "change the definition of a conversion" msgstr "エンコーディング変換ルールの定義を変更します" -#: sql_help.c:5215 +#: sql_help.c:5221 msgid "change a database" msgstr "データベースを変更します" -#: sql_help.c:5221 +#: sql_help.c:5227 msgid "define default access privileges" msgstr "デフォルトのアクセス権限を定義します" -#: sql_help.c:5227 +#: sql_help.c:5233 msgid "change the definition of a domain" msgstr "ドメインの定義を変更します" -#: sql_help.c:5233 +#: sql_help.c:5239 msgid "change the definition of an event trigger" msgstr "イベントトリガーの定義を変更します" -#: sql_help.c:5239 +#: sql_help.c:5245 msgid "change the definition of an extension" msgstr "機能拡張の定義を変更します" -#: sql_help.c:5245 +#: sql_help.c:5251 msgid "change the definition of a foreign-data wrapper" msgstr "外部データラッパの定義を変更します" -#: sql_help.c:5251 +#: sql_help.c:5257 msgid "change the definition of a foreign table" msgstr "外部テーブルの定義を変更します" -#: sql_help.c:5257 +#: sql_help.c:5263 msgid "change the definition of a function" msgstr "関数の定義を変更します" -#: sql_help.c:5263 +#: sql_help.c:5269 msgid "change role name or membership" msgstr "ロール名またはメンバーシップを変更します" -#: sql_help.c:5269 +#: sql_help.c:5275 msgid "change the definition of an index" msgstr "インデックスの定義を変更します" -#: sql_help.c:5275 +#: sql_help.c:5281 msgid "change the definition of a procedural language" msgstr "手続き言語の定義を変更します" -#: sql_help.c:5281 +#: sql_help.c:5287 msgid "change the definition of a large object" msgstr "ラージオブジェクトの定義を変更します" -#: sql_help.c:5287 +#: sql_help.c:5293 msgid "change the definition of a materialized view" msgstr "実体化ビューの定義を変更します" -#: sql_help.c:5293 +#: sql_help.c:5299 msgid "change the definition of an operator" msgstr "演算子の定義を変更します" -#: sql_help.c:5299 +#: sql_help.c:5305 msgid "change the definition of an operator class" msgstr "演算子クラスの定義を変更します" -#: sql_help.c:5305 +#: sql_help.c:5311 msgid "change the definition of an operator family" msgstr "演算子族の定義を変更します" -#: sql_help.c:5311 +#: sql_help.c:5317 msgid "change the definition of a row-level security policy" msgstr "行レベルのセキュリティ ポリシーの定義を変更します" -#: sql_help.c:5317 +#: sql_help.c:5323 msgid "change the definition of a procedure" msgstr "プロシージャの定義を変更します" -#: sql_help.c:5323 +#: sql_help.c:5329 msgid "change the definition of a publication" msgstr "パブリケーションの定義を変更します" -#: sql_help.c:5329 sql_help.c:5431 +#: sql_help.c:5335 sql_help.c:5437 msgid "change a database role" msgstr "データベースロールを変更します" -#: sql_help.c:5335 +#: sql_help.c:5341 msgid "change the definition of a routine" msgstr "ルーチンの定義を変更します" -#: sql_help.c:5341 +#: sql_help.c:5347 msgid "change the definition of a rule" msgstr "ルールの定義を変更します" -#: sql_help.c:5347 +#: sql_help.c:5353 msgid "change the definition of a schema" msgstr "スキーマの定義を変更します" -#: sql_help.c:5353 +#: sql_help.c:5359 msgid "change the definition of a sequence generator" msgstr "シーケンス生成器の定義を変更します" -#: sql_help.c:5359 +#: sql_help.c:5365 msgid "change the definition of a foreign server" msgstr "外部サーバーの定義を変更します" -#: sql_help.c:5365 +#: sql_help.c:5371 msgid "change the definition of an extended statistics object" msgstr "拡張統計情報オブジェクトの定義を変更します" -#: sql_help.c:5371 +#: sql_help.c:5377 msgid "change the definition of a subscription" msgstr "サブスクリプションの定義を変更します" -#: sql_help.c:5377 +#: sql_help.c:5383 msgid "change a server configuration parameter" msgstr "サーバーの設定パラメータを変更します" -#: sql_help.c:5383 +#: sql_help.c:5389 msgid "change the definition of a table" msgstr "テーブルの定義を変更します。" -#: sql_help.c:5389 +#: sql_help.c:5395 msgid "change the definition of a tablespace" msgstr "テーブル空間の定義を変更します" -#: sql_help.c:5395 +#: sql_help.c:5401 msgid "change the definition of a text search configuration" msgstr "テキスト検索設定の定義を変更します" -#: sql_help.c:5401 +#: sql_help.c:5407 msgid "change the definition of a text search dictionary" msgstr "テキスト検索辞書の定義を変更します" -#: sql_help.c:5407 +#: sql_help.c:5413 msgid "change the definition of a text search parser" msgstr "テキスト検索パーサーの定義を変更します" -#: sql_help.c:5413 +#: sql_help.c:5419 msgid "change the definition of a text search template" msgstr "テキスト検索テンプレートの定義を変更します" -#: sql_help.c:5419 +#: sql_help.c:5425 msgid "change the definition of a trigger" msgstr "トリガーの定義を変更します" -#: sql_help.c:5425 +#: sql_help.c:5431 msgid "change the definition of a type" msgstr "型の定義を変更します" -#: sql_help.c:5437 +#: sql_help.c:5443 msgid "change the definition of a user mapping" msgstr "ユーザーマッピングの定義を変更します" -#: sql_help.c:5443 +#: sql_help.c:5449 msgid "change the definition of a view" msgstr "ビューの定義を変更します" -#: sql_help.c:5449 +#: sql_help.c:5455 msgid "collect statistics about a database" msgstr "データベースの統計情報を収集します" -#: sql_help.c:5455 sql_help.c:6253 +#: sql_help.c:5461 sql_help.c:6259 msgid "start a transaction block" msgstr "トランザクション区間を開始します" -#: sql_help.c:5461 +#: sql_help.c:5467 msgid "invoke a procedure" msgstr "プロシージャを実行します" -#: sql_help.c:5467 +#: sql_help.c:5473 msgid "force a write-ahead log checkpoint" msgstr "先行書き込みログのチェックポイントを強制的に実行します" -#: sql_help.c:5473 +#: sql_help.c:5479 msgid "close a cursor" msgstr "カーソルを閉じます" -#: sql_help.c:5479 +#: sql_help.c:5485 msgid "cluster a table according to an index" msgstr "インデックスに従ってテーブルをクラスタ化します" -#: sql_help.c:5485 +#: sql_help.c:5491 msgid "define or change the comment of an object" msgstr "オブジェクトのコメントを定義または変更します" -#: sql_help.c:5491 sql_help.c:6049 +#: sql_help.c:5497 sql_help.c:6055 msgid "commit the current transaction" msgstr "現在のトランザクションをコミットします" -#: sql_help.c:5497 +#: sql_help.c:5503 msgid "commit a transaction that was earlier prepared for two-phase commit" msgstr "二相コミットのために事前に準備されたトランザクションをコミットします" -#: sql_help.c:5503 +#: sql_help.c:5509 msgid "copy data between a file and a table" msgstr "ファイルとテーブルとの間でデータをコピーします" -#: sql_help.c:5509 +#: sql_help.c:5515 msgid "define a new access method" msgstr "新しいアクセスメソッドを定義します" -#: sql_help.c:5515 +#: sql_help.c:5521 msgid "define a new aggregate function" msgstr "新しい集約関数を定義します" -#: sql_help.c:5521 +#: sql_help.c:5527 msgid "define a new cast" msgstr "新しい型変換を定義します" -#: sql_help.c:5527 +#: sql_help.c:5533 msgid "define a new collation" msgstr "新しい照合順序を定義します" -#: sql_help.c:5533 +#: sql_help.c:5539 msgid "define a new encoding conversion" msgstr "新しいエンコーディング変換を定義します" -#: sql_help.c:5539 +#: sql_help.c:5545 msgid "create a new database" msgstr "新しいデータベースを作成します" -#: sql_help.c:5545 +#: sql_help.c:5551 msgid "define a new domain" msgstr "新しいドメインを定義します" -#: sql_help.c:5551 +#: sql_help.c:5557 msgid "define a new event trigger" msgstr "新しいイベントトリガーを定義します" -#: sql_help.c:5557 +#: sql_help.c:5563 msgid "install an extension" msgstr "機能拡張をインストールします" -#: sql_help.c:5563 +#: sql_help.c:5569 msgid "define a new foreign-data wrapper" msgstr "新しい外部データラッパを定義します" -#: sql_help.c:5569 +#: sql_help.c:5575 msgid "define a new foreign table" msgstr "新しい外部テーブルを定義します" -#: sql_help.c:5575 +#: sql_help.c:5581 msgid "define a new function" msgstr "新しい関数を定義します" -#: sql_help.c:5581 sql_help.c:5641 sql_help.c:5743 +#: sql_help.c:5587 sql_help.c:5647 sql_help.c:5749 msgid "define a new database role" msgstr "新しいデータベースロールを定義します" -#: sql_help.c:5587 +#: sql_help.c:5593 msgid "define a new index" msgstr "新しいインデックスを定義します" -#: sql_help.c:5593 +#: sql_help.c:5599 msgid "define a new procedural language" msgstr "新しい手続き言語を定義します" -#: sql_help.c:5599 +#: sql_help.c:5605 msgid "define a new materialized view" msgstr "新しい実体化ビューを定義します" -#: sql_help.c:5605 +#: sql_help.c:5611 msgid "define a new operator" msgstr "新しい演算子を定義します" -#: sql_help.c:5611 +#: sql_help.c:5617 msgid "define a new operator class" msgstr "新しい演算子クラスを定義します" -#: sql_help.c:5617 +#: sql_help.c:5623 msgid "define a new operator family" msgstr "新しい演算子族を定義します" -#: sql_help.c:5623 +#: sql_help.c:5629 msgid "define a new row-level security policy for a table" msgstr "テーブルに対して新しい行レベルセキュリティポリシーを定義します" -#: sql_help.c:5629 +#: sql_help.c:5635 msgid "define a new procedure" msgstr "新しいプロシージャを定義します" -#: sql_help.c:5635 +#: sql_help.c:5641 msgid "define a new publication" msgstr "新しいパブリケーションを定義します" -#: sql_help.c:5647 +#: sql_help.c:5653 msgid "define a new rewrite rule" msgstr "新しい書き換えルールを定義します" -#: sql_help.c:5653 +#: sql_help.c:5659 msgid "define a new schema" msgstr "新しいスキーマを定義します" -#: sql_help.c:5659 +#: sql_help.c:5665 msgid "define a new sequence generator" msgstr "新しいシーケンス生成器を定義します。" -#: sql_help.c:5665 +#: sql_help.c:5671 msgid "define a new foreign server" msgstr "新しい外部サーバーを定義します" -#: sql_help.c:5671 +#: sql_help.c:5677 msgid "define extended statistics" msgstr "拡張統計情報を定義します" -#: sql_help.c:5677 +#: sql_help.c:5683 msgid "define a new subscription" msgstr "新しいサブスクリプションを定義します" -#: sql_help.c:5683 +#: sql_help.c:5689 msgid "define a new table" msgstr "新しいテーブルを定義します" -#: sql_help.c:5689 sql_help.c:6211 +#: sql_help.c:5695 sql_help.c:6217 msgid "define a new table from the results of a query" msgstr "問い合わせの結果から新しいテーブルを定義します" -#: sql_help.c:5695 +#: sql_help.c:5701 msgid "define a new tablespace" msgstr "新しいテーブル空間を定義します" -#: sql_help.c:5701 +#: sql_help.c:5707 msgid "define a new text search configuration" msgstr "新しいテキスト検索設定を定義します" -#: sql_help.c:5707 +#: sql_help.c:5713 msgid "define a new text search dictionary" msgstr "新しいテキスト検索辞書を定義します" -#: sql_help.c:5713 +#: sql_help.c:5719 msgid "define a new text search parser" msgstr "新しいテキスト検索パーサーを定義します" -#: sql_help.c:5719 +#: sql_help.c:5725 msgid "define a new text search template" msgstr "新しいテキスト検索テンプレートを定義します" -#: sql_help.c:5725 +#: sql_help.c:5731 msgid "define a new transform" msgstr "新しいデータ変換を定義します" -#: sql_help.c:5731 +#: sql_help.c:5737 msgid "define a new trigger" msgstr "新しいトリガーを定義します" -#: sql_help.c:5737 +#: sql_help.c:5743 msgid "define a new data type" msgstr "新しいデータ型を定義します" -#: sql_help.c:5749 +#: sql_help.c:5755 msgid "define a new mapping of a user to a foreign server" msgstr "外部サーバーに対するユーザーの新しいマッピングを定義します。" -#: sql_help.c:5755 +#: sql_help.c:5761 msgid "define a new view" msgstr "新しいビューを定義します" -#: sql_help.c:5761 +#: sql_help.c:5767 msgid "deallocate a prepared statement" msgstr "準備した文を解放します" -#: sql_help.c:5767 +#: sql_help.c:5773 msgid "define a cursor" msgstr "カーソルを定義します" -#: sql_help.c:5773 +#: sql_help.c:5779 msgid "delete rows of a table" msgstr "テーブルの行を削除します" -#: sql_help.c:5779 +#: sql_help.c:5785 msgid "discard session state" msgstr "セッション状態を破棄します" -#: sql_help.c:5785 +#: sql_help.c:5791 msgid "execute an anonymous code block" msgstr "無名コードブロックを実行します" -#: sql_help.c:5791 +#: sql_help.c:5797 msgid "remove an access method" msgstr "アクセスメソッドを削除します" -#: sql_help.c:5797 +#: sql_help.c:5803 msgid "remove an aggregate function" msgstr "集約関数を削除します" -#: sql_help.c:5803 +#: sql_help.c:5809 msgid "remove a cast" msgstr "型変換を削除します" -#: sql_help.c:5809 +#: sql_help.c:5815 msgid "remove a collation" msgstr "照合順序を削除します" -#: sql_help.c:5815 +#: sql_help.c:5821 msgid "remove a conversion" msgstr "符号化方式変換を削除します" -#: sql_help.c:5821 +#: sql_help.c:5827 msgid "remove a database" msgstr "データベースを削除します" -#: sql_help.c:5827 +#: sql_help.c:5833 msgid "remove a domain" msgstr "ドメインを削除します" -#: sql_help.c:5833 +#: sql_help.c:5839 msgid "remove an event trigger" msgstr "イベントトリガーを削除します" -#: sql_help.c:5839 +#: sql_help.c:5845 msgid "remove an extension" msgstr "機能拡張を削除します" -#: sql_help.c:5845 +#: sql_help.c:5851 msgid "remove a foreign-data wrapper" msgstr "外部データラッパを削除します" -#: sql_help.c:5851 +#: sql_help.c:5857 msgid "remove a foreign table" msgstr "外部テーブルを削除します" -#: sql_help.c:5857 +#: sql_help.c:5863 msgid "remove a function" msgstr "関数を削除します" -#: sql_help.c:5863 sql_help.c:5929 sql_help.c:6031 +#: sql_help.c:5869 sql_help.c:5935 sql_help.c:6037 msgid "remove a database role" msgstr "データベースロールを削除します" -#: sql_help.c:5869 +#: sql_help.c:5875 msgid "remove an index" msgstr "インデックスを削除します" -#: sql_help.c:5875 +#: sql_help.c:5881 msgid "remove a procedural language" msgstr "手続き言語を削除します" -#: sql_help.c:5881 +#: sql_help.c:5887 msgid "remove a materialized view" msgstr "実体化ビューを削除します" -#: sql_help.c:5887 +#: sql_help.c:5893 msgid "remove an operator" msgstr "演算子を削除します" -#: sql_help.c:5893 +#: sql_help.c:5899 msgid "remove an operator class" msgstr "演算子クラスを削除します" -#: sql_help.c:5899 +#: sql_help.c:5905 msgid "remove an operator family" msgstr "演算子族を削除します" -#: sql_help.c:5905 +#: sql_help.c:5911 msgid "remove database objects owned by a database role" msgstr "データベースロールが所有するデータベースオブジェクトを削除します" -#: sql_help.c:5911 +#: sql_help.c:5917 msgid "remove a row-level security policy from a table" msgstr "テーブルから行レベルのセキュリティポリシーを削除します" -#: sql_help.c:5917 +#: sql_help.c:5923 msgid "remove a procedure" msgstr "プロシージャを削除します" -#: sql_help.c:5923 +#: sql_help.c:5929 msgid "remove a publication" msgstr "パブリケーションを削除します" -#: sql_help.c:5935 +#: sql_help.c:5941 msgid "remove a routine" msgstr "ルーチンを削除します" -#: sql_help.c:5941 +#: sql_help.c:5947 msgid "remove a rewrite rule" msgstr "書き換えルールを削除します" -#: sql_help.c:5947 +#: sql_help.c:5953 msgid "remove a schema" msgstr "スキーマを削除します" -#: sql_help.c:5953 +#: sql_help.c:5959 msgid "remove a sequence" msgstr "シーケンスを削除します" -#: sql_help.c:5959 +#: sql_help.c:5965 msgid "remove a foreign server descriptor" msgstr "外部サーバー記述子を削除します" -#: sql_help.c:5965 +#: sql_help.c:5971 msgid "remove extended statistics" msgstr "拡張統計情報を削除します" -#: sql_help.c:5971 +#: sql_help.c:5977 msgid "remove a subscription" msgstr "サブスクリプションを削除します" -#: sql_help.c:5977 +#: sql_help.c:5983 msgid "remove a table" msgstr "テーブルを削除します" -#: sql_help.c:5983 +#: sql_help.c:5989 msgid "remove a tablespace" msgstr "テーブル空間を削除します" -#: sql_help.c:5989 +#: sql_help.c:5995 msgid "remove a text search configuration" msgstr "テキスト検索設定を削除します" -#: sql_help.c:5995 +#: sql_help.c:6001 msgid "remove a text search dictionary" msgstr "テキスト検索辞書を削除します" -#: sql_help.c:6001 +#: sql_help.c:6007 msgid "remove a text search parser" msgstr "テキスト検索パーサーを削除します" -#: sql_help.c:6007 +#: sql_help.c:6013 msgid "remove a text search template" msgstr "テキスト検索テンプレートを削除します" -#: sql_help.c:6013 +#: sql_help.c:6019 msgid "remove a transform" msgstr "データ変換を削除します" -#: sql_help.c:6019 +#: sql_help.c:6025 msgid "remove a trigger" msgstr "トリガーを削除します" -#: sql_help.c:6025 +#: sql_help.c:6031 msgid "remove a data type" msgstr "データ型を削除します" -#: sql_help.c:6037 +#: sql_help.c:6043 msgid "remove a user mapping for a foreign server" msgstr "外部サーバーのユーザーマッピングを削除します" -#: sql_help.c:6043 +#: sql_help.c:6049 msgid "remove a view" msgstr "ビューを削除します" -#: sql_help.c:6055 +#: sql_help.c:6061 msgid "execute a prepared statement" msgstr "準備した文を実行します" -#: sql_help.c:6061 +#: sql_help.c:6067 msgid "show the execution plan of a statement" msgstr "文の実行計画を表示します" -#: sql_help.c:6067 +#: sql_help.c:6073 msgid "retrieve rows from a query using a cursor" msgstr "カーソルを使って問い合わせから行を取り出します" -#: sql_help.c:6073 +#: sql_help.c:6079 msgid "define access privileges" msgstr "アクセス権限を定義します" -#: sql_help.c:6079 +#: sql_help.c:6085 msgid "import table definitions from a foreign server" msgstr "外部サーバーからテーブル定義をインポートします" -#: sql_help.c:6085 +#: sql_help.c:6091 msgid "create new rows in a table" msgstr "テーブルに新しい行を作成します" -#: sql_help.c:6091 +#: sql_help.c:6097 msgid "listen for a notification" msgstr "通知メッセージを監視します" -#: sql_help.c:6097 +#: sql_help.c:6103 msgid "load a shared library file" msgstr "共有ライブラリファイルをロードします" -#: sql_help.c:6103 +#: sql_help.c:6109 msgid "lock a table" msgstr "テーブルをロックします" -#: sql_help.c:6109 +#: sql_help.c:6115 msgid "conditionally insert, update, or delete rows of a table" msgstr "条件によってテーブルの行を挿入、更新または削除する" -#: sql_help.c:6115 +#: sql_help.c:6121 msgid "position a cursor" msgstr "カーソルを位置づけます" -#: sql_help.c:6121 +#: sql_help.c:6127 msgid "generate a notification" msgstr "通知を生成します" -#: sql_help.c:6127 +#: sql_help.c:6133 msgid "prepare a statement for execution" msgstr "実行に備えて文を準備します" -#: sql_help.c:6133 +#: sql_help.c:6139 msgid "prepare the current transaction for two-phase commit" msgstr "二相コミットに備えて現在のトランザクションを準備します" -#: sql_help.c:6139 +#: sql_help.c:6145 msgid "change the ownership of database objects owned by a database role" msgstr "データベースロールが所有するデータベースオブジェクトの所有権を変更します" -#: sql_help.c:6145 +#: sql_help.c:6151 msgid "replace the contents of a materialized view" msgstr "実体化ビューの内容を置き換えます" -#: sql_help.c:6151 +#: sql_help.c:6157 msgid "rebuild indexes" msgstr "インデックスを再構築します" -#: sql_help.c:6157 +#: sql_help.c:6163 msgid "release a previously defined savepoint" msgstr "以前に定義されたセーブポイントを解放します" -#: sql_help.c:6163 +#: sql_help.c:6169 msgid "restore the value of a run-time parameter to the default value" msgstr "実行時パラメータの値をデフォルト値に戻します" -#: sql_help.c:6169 +#: sql_help.c:6175 msgid "remove access privileges" msgstr "アクセス権限を削除します" -#: sql_help.c:6181 +#: sql_help.c:6187 msgid "cancel a transaction that was earlier prepared for two-phase commit" msgstr "二相コミットのために事前に準備されたトランザクションをキャンセルします" -#: sql_help.c:6187 +#: sql_help.c:6193 msgid "roll back to a savepoint" msgstr "セーブポイントまでロールバックします" -#: sql_help.c:6193 +#: sql_help.c:6199 msgid "define a new savepoint within the current transaction" msgstr "現在のトランザクション内で新しいセーブポイントを定義します" -#: sql_help.c:6199 +#: sql_help.c:6205 msgid "define or change a security label applied to an object" msgstr "オブジェクトに適用されるセキュリティラベルを定義または変更します" -#: sql_help.c:6205 sql_help.c:6259 sql_help.c:6295 +#: sql_help.c:6211 sql_help.c:6265 sql_help.c:6301 msgid "retrieve rows from a table or view" msgstr "テーブルまたはビューから行を取得します" -#: sql_help.c:6217 +#: sql_help.c:6223 msgid "change a run-time parameter" msgstr "実行時パラメータを変更します" -#: sql_help.c:6223 +#: sql_help.c:6229 msgid "set constraint check timing for the current transaction" msgstr "現在のトランザクションについて、制約チェックのタイミングを設定します" -#: sql_help.c:6229 +#: sql_help.c:6235 msgid "set the current user identifier of the current session" msgstr "現在のセッションの現在のユーザー識別子を設定します" -#: sql_help.c:6235 +#: sql_help.c:6241 msgid "set the session user identifier and the current user identifier of the current session" msgstr "セッションのユーザー識別子および現在のセッションの現在のユーザー識別子を設定します" -#: sql_help.c:6241 +#: sql_help.c:6247 msgid "set the characteristics of the current transaction" msgstr "現在のトランザクションの特性を設定します" -#: sql_help.c:6247 +#: sql_help.c:6253 msgid "show the value of a run-time parameter" msgstr "実行時パラメータの値を表示します" -#: sql_help.c:6265 +#: sql_help.c:6271 msgid "empty a table or set of tables" msgstr "一つの、または複数のテーブルを空にします" -#: sql_help.c:6271 +#: sql_help.c:6277 msgid "stop listening for a notification" msgstr "通知メッセージの監視を中止します" -#: sql_help.c:6277 +#: sql_help.c:6283 msgid "update rows of a table" msgstr "テーブルの行を更新します" -#: sql_help.c:6283 +#: sql_help.c:6289 msgid "garbage-collect and optionally analyze a database" msgstr "ガーベッジコレクションを行い、また必要に応じてデータベースを分析します" -#: sql_help.c:6289 +#: sql_help.c:6295 msgid "compute a set of rows" msgstr "行セットを計算します" @@ -6611,7 +6626,7 @@ msgstr "余分なコマンドライン引数\"%s\"は無視されました" msgid "could not find own program executable" msgstr "実行可能ファイルが見つかりませんでした" -#: tab-complete.c:6230 +#: tab-complete.in.c:6520 #, c-format msgid "" "tab completion query failed: %s\n" @@ -6645,3 +6660,6 @@ msgid "" msgstr "" "\"%2$s\"の値\"%1$s\"が認識できません。\n" "有効な値は %3$s。" + +#~ msgid "Unlogged materialized view \"%s.%s\"" +#~ msgstr "ログ出力なしの実体化ビュー\"%s.%s\"" diff --git a/src/bin/psql/po/ru.po b/src/bin/psql/po/ru.po index aa94fef05ef..d044bf4f537 100644 --- a/src/bin/psql/po/ru.po +++ b/src/bin/psql/po/ru.po @@ -4,14 +4,14 @@ # Serguei A. Mokhov , 2001-2005. # Oleg Bartunov , 2004-2005. # Sergey Burladyan , 2012. -# Alexander Lakhin , 2012-2017, 2018, 2019, 2020, 2021, 2022, 2023. +# Alexander Lakhin , 2012-2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024. # 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: 2024-05-04 10:36+0300\n" -"PO-Revision-Date: 2023-08-29 13:37+0300\n" +"POT-Creation-Date: 2024-11-02 08:21+0300\n" +"PO-Revision-Date: 2024-09-07 06:49+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" @@ -41,33 +41,48 @@ msgstr "подробности: " msgid "hint: " msgstr "подсказка: " -#: ../../common/exec.c:172 +#: ../../common/exec.c:174 #, c-format msgid "invalid binary \"%s\": %m" msgstr "неверный исполняемый файл \"%s\": %m" -#: ../../common/exec.c:215 +#: ../../common/exec.c:217 #, c-format msgid "could not read binary \"%s\": %m" msgstr "не удалось прочитать исполняемый файл \"%s\": %m" -#: ../../common/exec.c:223 +#: ../../common/exec.c:225 #, c-format msgid "could not find a \"%s\" to execute" msgstr "не удалось найти запускаемый файл \"%s\"" -#: ../../common/exec.c:250 +#: ../../common/exec.c:252 #, c-format msgid "could not resolve path \"%s\" to absolute form: %m" msgstr "не удалось преобразовать относительный путь \"%s\" в абсолютный: %m" -#: ../../common/exec.c:412 +#: ../../common/exec.c:382 copy.c:326 +#, c-format +msgid "could not execute command \"%s\": %m" +msgstr "не удалось выполнить команду \"%s\": %m" + +#: ../../common/exec.c:394 +#, c-format +msgid "could not read from command \"%s\": %m" +msgstr "не удалось прочитать вывод команды \"%s\": %m" + +#: ../../common/exec.c:397 +#, c-format +msgid "no data was returned by command \"%s\"" +msgstr "команда \"%s\" не выдала данные" + +#: ../../common/exec.c:424 #, c-format msgid "%s() failed: %m" msgstr "ошибка в %s(): %m" -#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687 -#: command.c:1354 command.c:3439 command.c:3488 command.c:3612 input.c:226 +#: ../../common/exec.c:562 ../../common/exec.c:607 ../../common/exec.c:699 +#: command.c:1372 command.c:3458 command.c:3507 command.c:3632 input.c:225 #: mainloop.c:80 mainloop.c:398 #, c-format msgid "out of memory" @@ -89,7 +104,7 @@ msgstr "попытка дублирования нулевого указате msgid "could not look up effective user ID %ld: %s" msgstr "выяснить эффективный идентификатор пользователя (%ld) не удалось: %s" -#: ../../common/username.c:45 command.c:613 +#: ../../common/username.c:45 command.c:616 msgid "user does not exist" msgstr "пользователь не существует" @@ -126,13 +141,13 @@ msgstr "дочерний процесс завершён по сигналу %d: #: ../../common/wait_error.c:82 #, c-format msgid "child process exited with unrecognized status %d" -msgstr "дочерний процесс завершился с нераспознанным состоянием %d" +msgstr "дочерний процесс завершился с нераспознанным кодом состояния %d" -#: ../../fe_utils/cancel.c:189 ../../fe_utils/cancel.c:238 +#: ../../fe_utils/cancel.c:186 ../../fe_utils/cancel.c:235 msgid "Cancel request sent\n" msgstr "Сигнал отмены отправлен\n" -#: ../../fe_utils/cancel.c:190 ../../fe_utils/cancel.c:239 +#: ../../fe_utils/cancel.c:187 ../../fe_utils/cancel.c:236 msgid "Could not send cancel request: " msgstr "Отправить сигнал отмены не удалось: " @@ -149,76 +164,98 @@ msgstr[2] "(%lu строк)" msgid "Interrupted\n" msgstr "Прервано\n" -#: ../../fe_utils/print.c:3218 +#: ../../fe_utils/print.c:3188 +#, c-format +msgid "" +"Cannot print table contents: number of cells %lld is equal to or exceeds " +"maximum %lld.\n" +msgstr "" +"Вывести содержимое таблицы нельзя: число ячеек %lld достигло максимума " +"%lld.\n" + +#: ../../fe_utils/print.c:3229 #, c-format msgid "Cannot add header to table content: column count of %d exceeded.\n" msgstr "" "Ошибка добавления заголовка таблицы: превышен предел числа столбцов (%d).\n" -#: ../../fe_utils/print.c:3258 +#: ../../fe_utils/print.c:3272 #, c-format -msgid "Cannot add cell to table content: total cell count of %d exceeded.\n" +msgid "Cannot add cell to table content: total cell count of %lld exceeded.\n" msgstr "" -"Ошибка добавления ячейки в таблицу: превышен предел числа ячеек (%d).\n" +"Ошибка добавления ячейки в таблицу: превышен предел числа ячеек (%lld).\n" -#: ../../fe_utils/print.c:3516 +#: ../../fe_utils/print.c:3530 #, c-format msgid "invalid output format (internal error): %d" msgstr "неверный формат вывода (внутренняя ошибка): %d" -#: ../../fe_utils/psqlscan.l:717 +#: ../../fe_utils/psqlscan.l:732 #, c-format msgid "skipping recursive expansion of variable \"%s\"" msgstr "рекурсивное расширение переменной \"%s\" пропускается" -#: ../../port/thread.c:50 ../../port/thread.c:86 +#: ../../fe_utils/string_utils.c:434 +#, c-format +msgid "shell command argument contains a newline or carriage return: \"%s\"\n" +msgstr "" +"аргумент команды оболочки содержит символ новой строки или перевода каретки: " +"\"%s\"\n" + +#: ../../fe_utils/string_utils.c:607 +#, c-format +msgid "database name contains a newline or carriage return: \"%s\"\n" +msgstr "" +"имя базы данных содержит символ новой строки или перевода каретки: \"%s\"\n" + +#: ../../port/user.c:43 ../../port/user.c:79 #, c-format msgid "could not look up local user ID %d: %s" msgstr "найти локального пользователя по идентификатору (%d) не удалось: %s" -#: ../../port/thread.c:55 ../../port/thread.c:91 +#: ../../port/user.c:48 ../../port/user.c:84 #, c-format msgid "local user with ID %d does not exist" msgstr "локальный пользователь с ID %d не существует" -#: command.c:234 +#: command.c:235 #, c-format msgid "invalid command \\%s" msgstr "неверная команда \\%s" -#: command.c:236 +#: command.c:237 #, c-format msgid "Try \\? for help." msgstr "Введите \\? для получения справки." -#: command.c:254 +#: command.c:255 #, c-format msgid "\\%s: extra argument \"%s\" ignored" msgstr "\\%s: лишний аргумент \"%s\" пропущен" -#: command.c:306 +#: command.c:307 #, c-format msgid "\\%s command ignored; use \\endif or Ctrl-C to exit current \\if block" msgstr "" "команда \\%s игнорируется; добавьте \\endif или нажмите Ctrl-C для " "завершения текущего блока \\if" -#: command.c:611 +#: command.c:614 #, c-format msgid "could not get home directory for user ID %ld: %s" msgstr "не удалось получить домашний каталог пользователя c ид. %ld: %s" -#: command.c:630 +#: command.c:633 #, c-format msgid "\\%s: could not change directory to \"%s\": %m" msgstr "\\%s: не удалось перейти в каталог \"%s\": %m" -#: command.c:654 +#: command.c:657 #, c-format msgid "You are currently not connected to a database.\n" msgstr "В данный момент вы не подключены к базе данных.\n" -#: command.c:664 +#: command.c:667 #, c-format msgid "" "You are connected to database \"%s\" as user \"%s\" on address \"%s\" at " @@ -227,7 +264,7 @@ msgstr "" "Вы подключены к базе данных \"%s\" как пользователь \"%s\" (адрес сервера " "\"%s\", порт \"%s\").\n" -#: command.c:667 +#: command.c:670 #, c-format msgid "" "You are connected to database \"%s\" as user \"%s\" via socket in \"%s\" at " @@ -236,221 +273,231 @@ msgstr "" "Вы подключены к базе данных \"%s\" как пользователь \"%s\" через сокет в " "\"%s\", порт \"%s\".\n" -#: command.c:673 +#: command.c:676 #, 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" +"Вы подключены к базе данных \"%s\" как пользователь \"%s\" (компьютер " +"\"%s\": адрес \"%s\", порт \"%s\").\n" -#: command.c:676 +#: command.c:679 #, 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" +"Вы подключены к базе данных \"%s\" как пользователь \"%s\" (компьютер " +"\"%s\", порт \"%s\").\n" -#: command.c:1066 command.c:1159 command.c:2682 +#: command.c:1069 command.c:1170 command.c:2675 #, c-format msgid "no query buffer" msgstr "нет буфера запросов" -#: command.c:1099 command.c:5689 +#: command.c:1102 command.c:5776 #, c-format msgid "invalid line number: %s" msgstr "неверный номер строки: %s" -#: command.c:1237 +#: command.c:1248 msgid "No changes" msgstr "Изменений нет" -#: command.c:1315 +#: command.c:1333 #, c-format msgid "%s: invalid encoding name or conversion procedure not found" msgstr "" "%s: неверное название кодировки символов или не найдена процедура " "перекодировки" -#: command.c:1350 command.c:2152 command.c:3435 command.c:3632 command.c:5795 -#: common.c:182 common.c:231 common.c:400 common.c:1102 common.c:1120 -#: common.c:1194 common.c:1313 common.c:1351 common.c:1444 common.c:1480 -#: copy.c:486 copy.c:721 help.c:66 large_obj.c:157 large_obj.c:192 -#: large_obj.c:254 startup.c:304 +#: command.c:1368 command.c:2157 command.c:3454 command.c:3652 command.c:5882 +#: 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 +#: startup.c:304 #, c-format msgid "%s" msgstr "%s" -#: command.c:1357 +#: command.c:1375 msgid "There is no previous error." msgstr "Ошибки не было." -#: command.c:1470 +#: command.c:1488 #, c-format msgid "\\%s: missing right parenthesis" msgstr "\\%s: отсутствует правая скобка" -#: command.c:1554 command.c:1684 command.c:1988 command.c:2002 command.c:2021 -#: command.c:2203 command.c:2444 command.c:2649 command.c:2689 +#: command.c:1572 command.c:1691 command.c:1995 command.c:2009 command.c:2028 +#: command.c:2196 command.c:2437 command.c:2642 command.c:2682 #, c-format msgid "\\%s: missing required argument" msgstr "отсутствует необходимый аргумент \\%s" -#: command.c:1815 +#: command.c:1822 #, c-format msgid "\\elif: cannot occur after \\else" msgstr "\\elif не может находиться после \\else" -#: command.c:1820 +#: command.c:1827 #, c-format msgid "\\elif: no matching \\if" msgstr "\\elif без соответствующего \\if" -#: command.c:1884 +#: command.c:1891 #, c-format msgid "\\else: cannot occur after \\else" msgstr "\\else не может находиться после \\else" -#: command.c:1889 +#: command.c:1896 #, c-format msgid "\\else: no matching \\if" msgstr "\\else без соответствующего \\if" -#: command.c:1929 +#: command.c:1936 #, c-format msgid "\\endif: no matching \\if" msgstr "\\endif без соответствующего \\if" -#: command.c:2085 +#: command.c:2092 msgid "Query buffer is empty." msgstr "Буфер запроса пуст." -#: command.c:2128 +#: command.c:2135 #, c-format msgid "Enter new password for user \"%s\": " msgstr "Введите новый пароль для пользователя \"%s\": " -#: command.c:2132 +#: command.c:2139 msgid "Enter it again: " msgstr "Повторите его: " -#: command.c:2141 +#: command.c:2148 #, c-format msgid "Passwords didn't match." msgstr "Пароли не совпадают." -#: command.c:2238 +#: command.c:2231 #, c-format msgid "\\%s: could not read value for variable" msgstr "\\%s: не удалось прочитать значение переменной" -#: command.c:2340 +#: command.c:2333 msgid "Query buffer reset (cleared)." msgstr "Буфер запроса сброшен (очищен)." -#: command.c:2362 +#: command.c:2355 #, c-format msgid "Wrote history to file \"%s\".\n" msgstr "История записана в файл \"%s\".\n" -#: command.c:2449 +#: command.c:2442 #, c-format msgid "\\%s: environment variable name must not contain \"=\"" msgstr "\\%s: имя переменной окружения не может содержать знак \"=\"" -#: command.c:2497 +#: command.c:2490 #, c-format msgid "function name is required" msgstr "требуется имя функции" -#: command.c:2499 +#: command.c:2492 #, c-format msgid "view name is required" msgstr "требуется имя представления" -#: command.c:2621 +#: command.c:2614 msgid "Timing is on." msgstr "Секундомер включён." -#: command.c:2623 +#: command.c:2616 msgid "Timing is off." msgstr "Секундомер выключен." -#: command.c:2709 command.c:2747 command.c:4074 command.c:4077 command.c:4080 -#: command.c:4086 command.c:4088 command.c:4114 command.c:4124 command.c:4136 -#: command.c:4150 command.c:4177 command.c:4235 common.c:78 copy.c:329 -#: copy.c:401 psqlscanslash.l:788 psqlscanslash.l:800 psqlscanslash.l:818 +#: command.c:2702 command.c:2740 command.c:4163 command.c:4166 command.c:4169 +#: command.c:4175 command.c:4177 command.c:4203 command.c:4213 command.c:4225 +#: command.c:4239 command.c:4266 command.c:4324 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:2736 copy.c:388 +#: command.c:2729 copy.c:388 #, c-format msgid "%s: %s" msgstr "%s: %s" -#: command.c:2806 command.c:2852 +#: command.c:2801 command.c:2867 #, c-format msgid "\\watch: interval value is specified more than once" msgstr "\\watch: длительность интервала указана неоднократно" -#: command.c:2816 command.c:2862 +#: command.c:2811 command.c:2877 #, c-format msgid "\\watch: incorrect interval value \"%s\"" msgstr "\\watch: некорректная длительность интервала \"%s\"" -#: command.c:2826 +#: command.c:2821 #, c-format msgid "\\watch: iteration count is specified more than once" msgstr "\\watch: число итераций указано неоднократно" -#: command.c:2836 +#: command.c:2831 #, c-format msgid "\\watch: incorrect iteration count \"%s\"" msgstr "\\watch: некорректное число итераций \"%s\"" -#: command.c:2843 +#: command.c:2841 +#, c-format +msgid "\\watch: minimum row count specified more than once" +msgstr "\\watch: минимальное число строк указано неоднократно" + +#: command.c:2851 +#, c-format +msgid "\\watch: incorrect minimum row count \"%s\"" +msgstr "\\watch: некорректное минимальное число строк \"%s\"" + +#: command.c:2858 #, c-format msgid "\\watch: unrecognized parameter \"%s\"" msgstr "\\watch: нераспознанный параметр \"%s\"" -#: command.c:3236 startup.c:243 startup.c:293 +#: command.c:3255 startup.c:243 startup.c:293 msgid "Password: " msgstr "Пароль: " -#: command.c:3241 startup.c:290 +#: command.c:3260 startup.c:290 #, c-format msgid "Password for user %s: " msgstr "Пароль пользователя %s: " -#: command.c:3297 +#: command.c:3316 #, c-format msgid "" "Do not give user, host, or port separately when using a connection string" msgstr "" -"Не указывайте пользователя, сервер или порт отдельно, когда используете " +"Не указывайте пользователя, компьютер или порт отдельно, когда используете " "строку подключения" -#: command.c:3332 +#: command.c:3351 #, c-format msgid "No database connection exists to re-use parameters from" msgstr "" "Нет подключения к базе, из которого можно было бы использовать параметры" -#: command.c:3638 +#: command.c:3658 #, c-format msgid "Previous connection kept" msgstr "Сохранено предыдущее подключение" -#: command.c:3644 +#: command.c:3664 #, c-format msgid "\\connect: %s" msgstr "\\connect: %s" -#: command.c:3700 +#: command.c:3720 #, c-format msgid "" "You are now connected to database \"%s\" as user \"%s\" on address \"%s\" at " @@ -459,7 +506,7 @@ msgstr "" "Сейчас вы подключены к базе данных \"%s\" как пользователь \"%s\" (адрес " "сервера \"%s\", порт \"%s\").\n" -#: command.c:3703 +#: command.c:3723 #, c-format msgid "" "You are now connected to database \"%s\" as user \"%s\" via socket in \"%s\" " @@ -468,35 +515,35 @@ msgstr "" "Вы подключены к базе данных \"%s\" как пользователь \"%s\" через сокет в " "\"%s\", порт \"%s\".\n" -#: command.c:3709 +#: command.c:3729 #, 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\": адрес \"%s\", порт \"%s\").\n" -#: command.c:3712 +#: command.c:3732 #, 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" +"Вы подключены к базе данных \"%s\" как пользователь \"%s\" (компьютер " +"\"%s\", порт \"%s\").\n" -#: command.c:3717 +#: command.c:3737 #, c-format msgid "You are now connected to database \"%s\" as user \"%s\".\n" msgstr "Вы подключены к базе данных \"%s\" как пользователь \"%s\".\n" -#: command.c:3757 +#: command.c:3843 #, c-format msgid "%s (%s, server %s)\n" msgstr "%s (%s, сервер %s)\n" -#: command.c:3770 +#: command.c:3856 #, c-format msgid "" "WARNING: %s major version %s, server major version %s.\n" @@ -505,29 +552,33 @@ msgstr "" "ПРЕДУПРЕЖДЕНИЕ: %s имеет базовую версию %s, а сервер - %s.\n" " Часть функций psql может не работать.\n" -#: command.c:3807 +#: command.c:3895 #, c-format -msgid "SSL connection (protocol: %s, cipher: %s, compression: %s)\n" -msgstr "SSL-соединение (протокол: %s, шифр: %s, сжатие: %s)\n" +msgid "SSL connection (protocol: %s, cipher: %s, compression: %s, ALPN: %s)\n" +msgstr "SSL-соединение (протокол: %s, шифр: %s, сжатие: %s, ALPN: %s)\n" -#: command.c:3808 command.c:3809 +#: command.c:3896 command.c:3897 msgid "unknown" msgstr "неизвестно" -#: command.c:3810 help.c:42 +#: command.c:3898 help.c:42 msgid "off" msgstr "выкл." -#: command.c:3810 help.c:42 +#: command.c:3898 help.c:42 msgid "on" msgstr "вкл." -#: command.c:3824 +#: command.c:3899 +msgid "none" +msgstr "нет" + +#: command.c:3913 #, c-format msgid "GSSAPI-encrypted connection\n" msgstr "Соединение зашифровано GSSAPI\n" -#: command.c:3844 +#: command.c:3933 #, c-format msgid "" "WARNING: Console code page (%u) differs from Windows code page (%u)\n" @@ -540,7 +591,7 @@ msgstr "" " Подробнее об этом смотрите документацию psql, раздел\n" " \"Notes for Windows users\".\n" -#: command.c:3949 +#: command.c:4038 #, c-format msgid "" "environment variable PSQL_EDITOR_LINENUMBER_ARG must be set to specify a " @@ -549,33 +600,33 @@ msgstr "" "в переменной окружения PSQL_EDITOR_LINENUMBER_ARG должен быть указан номер " "строки" -#: command.c:3979 +#: command.c:4068 #, c-format msgid "could not start editor \"%s\"" msgstr "не удалось запустить редактор \"%s\"" -#: command.c:3981 +#: command.c:4070 #, c-format msgid "could not start /bin/sh" msgstr "не удалось запустить /bin/sh" -#: command.c:4031 +#: command.c:4120 #, c-format msgid "could not locate temporary directory: %s" msgstr "не удалось найти временный каталог: %s" -#: command.c:4058 +#: command.c:4147 #, c-format msgid "could not open temporary file \"%s\": %m" msgstr "не удалось открыть временный файл \"%s\": %m" -#: command.c:4394 +#: command.c:4483 #, c-format msgid "\\pset: ambiguous abbreviation \"%s\" matches both \"%s\" and \"%s\"" msgstr "" "\\pset: неоднозначному сокращению \"%s\" соответствует и \"%s\", и \"%s\"" -#: command.c:4414 +#: command.c:4503 #, c-format msgid "" "\\pset: allowed formats are aligned, asciidoc, csv, html, latex, latex-" @@ -584,27 +635,27 @@ msgstr "" "\\pset: допустимые форматы: aligned, asciidoc, csv, html, latex, latex-" "longtable, troff-ms, unaligned, wrapped" -#: command.c:4433 +#: command.c:4522 #, c-format msgid "\\pset: allowed line styles are ascii, old-ascii, unicode" msgstr "\\pset: допустимые стили линий: ascii, old-ascii, unicode" -#: command.c:4448 +#: command.c:4537 #, c-format msgid "\\pset: allowed Unicode border line styles are single, double" msgstr "\\pset: допустимые стили Unicode-линий границ: single, double" -#: command.c:4463 +#: command.c:4552 #, c-format msgid "\\pset: allowed Unicode column line styles are single, double" msgstr "\\pset: допустимые стили Unicode-линий столбцов: single, double" -#: command.c:4478 +#: command.c:4567 #, c-format msgid "\\pset: allowed Unicode header line styles are single, double" msgstr "\\pset: допустимые стили Unicode-линий заголовков: single, double" -#: command.c:4530 +#: command.c:4619 #, c-format msgid "" "\\pset: allowed xheader_width values are \"%s\" (default), \"%s\", \"%s\", " @@ -613,12 +664,12 @@ msgstr "" "\\pset: допустимые значения xheader_width: \"%s\" (по умолчанию), \"%s\", " "\"%s\", а также число, задающее точную ширину" -#: command.c:4547 +#: command.c:4636 #, c-format msgid "\\pset: csv_fieldsep must be a single one-byte character" msgstr "\\pset: символ csv_fieldsep должен быть однобайтовым" -#: command.c:4552 +#: command.c:4641 #, c-format msgid "" "\\pset: csv_fieldsep cannot be a double quote, a newline, or a carriage " @@ -627,117 +678,117 @@ msgstr "" "\\pset: в качестве csv_fieldsep нельзя выбрать символ кавычек, новой строки " "или возврата каретки" -#: command.c:4690 command.c:4891 +#: command.c:4779 command.c:4980 #, c-format msgid "\\pset: unknown option: %s" msgstr "неизвестный параметр \\pset: %s" -#: command.c:4710 +#: command.c:4799 #, c-format msgid "Border style is %d.\n" msgstr "Стиль границ: %d.\n" -#: command.c:4716 +#: command.c:4805 #, c-format msgid "Target width is unset.\n" msgstr "Ширина вывода сброшена.\n" -#: command.c:4718 +#: command.c:4807 #, c-format msgid "Target width is %d.\n" msgstr "Ширина вывода: %d.\n" -#: command.c:4725 +#: command.c:4814 #, c-format msgid "Expanded display is on.\n" msgstr "Расширенный вывод включён.\n" -#: command.c:4727 +#: command.c:4816 #, c-format msgid "Expanded display is used automatically.\n" msgstr "Расширенный вывод применяется автоматически.\n" -#: command.c:4729 +#: command.c:4818 #, c-format msgid "Expanded display is off.\n" msgstr "Расширенный вывод выключен.\n" -#: command.c:4736 command.c:4738 command.c:4740 +#: command.c:4825 command.c:4827 command.c:4829 #, c-format msgid "Expanded header width is \"%s\".\n" msgstr "Ширина расширенного заголовка: \"%s\".\n" -#: command.c:4742 +#: command.c:4831 #, c-format msgid "Expanded header width is %d.\n" msgstr "Ширина расширенного заголовка: %d.\n" -#: command.c:4748 +#: command.c:4837 #, c-format msgid "Field separator for CSV is \"%s\".\n" msgstr "Разделитель полей для CSV: \"%s\".\n" -#: command.c:4756 command.c:4764 +#: command.c:4845 command.c:4853 #, c-format msgid "Field separator is zero byte.\n" msgstr "Разделитель полей - нулевой байт.\n" -#: command.c:4758 +#: command.c:4847 #, c-format msgid "Field separator is \"%s\".\n" msgstr "Разделитель полей: \"%s\".\n" -#: command.c:4771 +#: command.c:4860 #, c-format msgid "Default footer is on.\n" msgstr "Строка итогов включена.\n" -#: command.c:4773 +#: command.c:4862 #, c-format msgid "Default footer is off.\n" msgstr "Строка итогов выключена.\n" -#: command.c:4779 +#: command.c:4868 #, c-format msgid "Output format is %s.\n" msgstr "Формат вывода: %s.\n" -#: command.c:4785 +#: command.c:4874 #, c-format msgid "Line style is %s.\n" msgstr "Установлен стиль линий: %s.\n" -#: command.c:4792 +#: command.c:4881 #, c-format msgid "Null display is \"%s\".\n" msgstr "Null выводится как: \"%s\".\n" -#: command.c:4800 +#: command.c:4889 #, c-format msgid "Locale-adjusted numeric output is on.\n" msgstr "Локализованный вывод чисел включён.\n" -#: command.c:4802 +#: command.c:4891 #, c-format msgid "Locale-adjusted numeric output is off.\n" msgstr "Локализованный вывод чисел выключен.\n" -#: command.c:4809 +#: command.c:4898 #, c-format msgid "Pager is used for long output.\n" msgstr "Постраничник используется для вывода длинного текста.\n" -#: command.c:4811 +#: command.c:4900 #, c-format msgid "Pager is always used.\n" msgstr "Постраничник используется всегда.\n" -#: command.c:4813 +#: command.c:4902 #, c-format msgid "Pager usage is off.\n" msgstr "Постраничник выключен.\n" -#: command.c:4819 +#: command.c:4908 #, 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" @@ -745,182 +796,182 @@ msgstr[0] "Постраничник не будет использоваться msgstr[1] "Постраничник не будет использоваться, если строк меньше %d\n" msgstr[2] "Постраничник не будет использоваться, если строк меньше %d\n" -#: command.c:4829 command.c:4839 +#: command.c:4918 command.c:4928 #, c-format msgid "Record separator is zero byte.\n" msgstr "Разделитель записей - нулевой байт.\n" -#: command.c:4831 +#: command.c:4920 #, c-format msgid "Record separator is .\n" msgstr "Разделитель записей: <новая строка>.\n" -#: command.c:4833 +#: command.c:4922 #, c-format msgid "Record separator is \"%s\".\n" msgstr "Разделитель записей: \"%s\".\n" -#: command.c:4846 +#: command.c:4935 #, c-format msgid "Table attributes are \"%s\".\n" msgstr "Атрибуты HTML-таблицы: \"%s\".\n" -#: command.c:4849 +#: command.c:4938 #, c-format msgid "Table attributes unset.\n" msgstr "Атрибуты HTML-таблицы не заданы.\n" -#: command.c:4856 +#: command.c:4945 #, c-format msgid "Title is \"%s\".\n" msgstr "Заголовок: \"%s\".\n" -#: command.c:4858 +#: command.c:4947 #, c-format msgid "Title is unset.\n" msgstr "Заголовок не задан.\n" -#: command.c:4865 +#: command.c:4954 #, c-format msgid "Tuples only is on.\n" msgstr "Режим вывода только кортежей включён.\n" -#: command.c:4867 +#: command.c:4956 #, c-format msgid "Tuples only is off.\n" msgstr "Режим вывода только кортежей выключен.\n" -#: command.c:4873 +#: command.c:4962 #, c-format msgid "Unicode border line style is \"%s\".\n" msgstr "Стиль Unicode-линий границ: \"%s\".\n" -#: command.c:4879 +#: command.c:4968 #, c-format msgid "Unicode column line style is \"%s\".\n" msgstr "Стиль Unicode-линий столбцов: \"%s\".\n" -#: command.c:4885 +#: command.c:4974 #, c-format msgid "Unicode header line style is \"%s\".\n" msgstr "Стиль Unicode-линий границ: \"%s\".\n" -#: command.c:5134 +#: command.c:5223 #, c-format msgid "\\!: failed" msgstr "\\!: ошибка" -#: command.c:5168 +#: command.c:5261 #, c-format msgid "\\watch cannot be used with an empty query" msgstr "\\watch нельзя использовать с пустым запросом" -#: command.c:5200 +#: command.c:5293 #, c-format msgid "could not set timer: %m" msgstr "не удалось установить таймер: %m" -#: command.c:5269 +#: command.c:5362 #, c-format msgid "%s\t%s (every %gs)\n" msgstr "%s\t%s (обновление: %g с)\n" -#: command.c:5272 +#: command.c:5365 #, c-format msgid "%s (every %gs)\n" msgstr "%s (обновление: %g с)\n" -#: command.c:5340 +#: command.c:5429 #, c-format msgid "could not wait for signals: %m" msgstr "сбой при ожидании сигналов: %m" -#: command.c:5398 command.c:5405 common.c:592 common.c:599 common.c:1083 +#: command.c:5485 command.c:5492 common.c:632 common.c:639 common.c:1123 #, c-format msgid "" -"********* QUERY **********\n" +"/******** QUERY *********/\n" "%s\n" -"**************************\n" +"/************************/\n" "\n" msgstr "" -"********* ЗАПРОС *********\n" +"/******** ЗАПРОС ********/\n" "%s\n" -"**************************\n" +"/************************/\n" "\n" -#: command.c:5584 +#: command.c:5671 #, c-format msgid "\"%s.%s\" is not a view" msgstr "\"%s.%s\" — не представление" -#: command.c:5600 +#: command.c:5687 #, c-format msgid "could not parse reloptions array" msgstr "не удалось разобрать массив reloptions" -#: common.c:167 +#: common.c:206 #, c-format msgid "cannot escape without active connection" msgstr "экранирование строк не работает без подключения к БД" -#: common.c:208 +#: common.c:247 #, c-format msgid "shell command argument contains a newline or carriage return: \"%s\"" msgstr "" "аргумент команды оболочки содержит символ новой строки или перевода каретки: " "\"%s\"" -#: common.c:312 +#: common.c:351 #, c-format msgid "connection to server was lost" msgstr "подключение к серверу было потеряно" -#: common.c:316 +#: common.c:355 #, c-format msgid "The connection to the server was lost. Attempting reset: " msgstr "Подключение к серверу потеряно. Попытка восстановления " -#: common.c:321 +#: common.c:360 #, c-format msgid "Failed.\n" msgstr "неудачна.\n" -#: common.c:338 +#: common.c:377 #, c-format msgid "Succeeded.\n" msgstr "удачна.\n" -#: common.c:390 common.c:1021 +#: common.c:430 common.c:1061 #, c-format msgid "unexpected PQresultStatus: %d" msgstr "неожиданное значение PQresultStatus: %d" -#: common.c:531 +#: common.c:571 #, c-format msgid "Time: %.3f ms\n" msgstr "Время: %.3f мс\n" -#: common.c:546 +#: common.c:586 #, c-format msgid "Time: %.3f ms (%02d:%06.3f)\n" msgstr "Время: %.3f мс (%02d:%06.3f)\n" -#: common.c:555 +#: common.c:595 #, c-format msgid "Time: %.3f ms (%02d:%02d:%06.3f)\n" msgstr "Время: %.3f мс (%02d:%02d:%06.3f)\n" -#: common.c:562 +#: common.c:602 #, c-format msgid "Time: %.3f ms (%.0f d %02d:%02d:%06.3f)\n" msgstr "Время: %.3f мс (%.0f д. %02d:%02d:%06.3f)\n" -#: common.c:586 common.c:643 common.c:1054 describe.c:6214 +#: common.c:626 common.c:683 common.c:1094 describe.c:6192 #, c-format msgid "You are currently not connected to a database." msgstr "В данный момент вы не подключены к базе данных." -#: common.c:674 +#: common.c:714 #, c-format msgid "" "Asynchronous notification \"%s\" with payload \"%s\" received from server " @@ -929,73 +980,79 @@ msgstr "" "Получено асинхронное уведомление \"%s\" с сообщением-нагрузкой \"%s\" от " "серверного процесса с PID %d.\n" -#: common.c:677 +#: common.c:717 #, c-format msgid "" "Asynchronous notification \"%s\" received from server process with PID %d.\n" msgstr "" "Получено асинхронное уведомление \"%s\" от серверного процесса с PID %d.\n" -#: common.c:708 +#: common.c:748 #, c-format msgid "could not print result table: %m" msgstr "не удалось вывести таблицу результатов: %m" -#: common.c:728 +#: common.c:768 #, c-format msgid "no rows returned for \\gset" msgstr "сервер не возвратил строк для \\gset" -#: common.c:733 +#: common.c:773 #, c-format msgid "more than one row returned for \\gset" msgstr "сервер возвратил больше одной строки для \\gset" -#: common.c:751 +#: common.c:791 #, c-format msgid "attempt to \\gset into specially treated variable \"%s\" ignored" msgstr "попытка выполнить \\gset со специальной переменной \"%s\" игнорируется" -#: common.c:1063 +#: common.c:1103 #, c-format msgid "" -"***(Single step mode: verify " -"command)*******************************************\n" +"/**(Single step mode: verify " +"command)******************************************/\n" "%s\n" -"***(press return to proceed or enter x and return to " -"cancel)********************\n" +"/**(press return to proceed or enter x and return to " +"cancel)*******************/\n" msgstr "" -"***(Пошаговый режим: проверка " -"команды)******************************************\n" +"/**(Пошаговый режим: проверка " +"команды)*****************************************/\n" "%s\n" -"***(Enter - выполнение; x и Enter - отмена)**************\n" +"/**(Enter - выполнение; x и Enter - " +"отмена)************************************/\n" -#: common.c:1146 +#: common.c:1180 #, c-format msgid "STATEMENT: %s" msgstr "ОПЕРАТОР: %s" -#: common.c:1182 +#: common.c:1216 #, c-format msgid "unexpected transaction status (%d)" msgstr "неожиданное состояние транзакции (%d)" -#: common.c:1335 describe.c:2026 +#: common.c:1362 describe.c:2025 msgid "Column" msgstr "Столбец" -#: common.c:1336 describe.c:170 describe.c:358 describe.c:376 describe.c:1046 -#: describe.c:1200 describe.c:1732 describe.c:1756 describe.c:2027 -#: describe.c:3958 describe.c:4170 describe.c:4409 describe.c:4571 -#: describe.c:5846 +#: common.c:1363 describe.c:169 describe.c:355 describe.c:373 describe.c:1043 +#: describe.c:1201 describe.c:1731 describe.c:1755 describe.c:2026 +#: describe.c:3956 describe.c:4167 describe.c:4404 describe.c:4564 +#: describe.c:5829 msgid "Type" msgstr "Тип" -#: common.c:1385 +#: common.c:1412 #, c-format msgid "The command has no result, or the result has no columns.\n" msgstr "Команда не выдала результат, либо в результате нет столбцов.\n" +#: common.c:1504 +#, c-format +msgid "fetching results in chunked mode failed" +msgstr "получить результаты в блочном режиме не удалось" + #: copy.c:98 #, c-format msgid "\\copy: arguments required" @@ -1011,11 +1068,6 @@ msgstr "\\copy: ошибка разбора аргумента \"%s\"" msgid "\\copy: parse error at end of line" msgstr "\\copy: ошибка разбора в конце строки" -#: copy.c:326 -#, c-format -msgid "could not execute command \"%s\": %m" -msgstr "не удалось выполнить команду \"%s\": %m" - #: copy.c:342 #, c-format msgid "could not stat file \"%s\": %m" @@ -1053,25 +1105,25 @@ msgstr "" "Вводите данные для копирования, разделяя строки переводом строки.\n" "Закончите ввод строкой '\\.' или сигналом EOF." -#: copy.c:683 +#: copy.c:684 msgid "aborted because of read failure" msgstr "прерывание из-за ошибки чтения" -#: copy.c:717 +#: copy.c:718 msgid "trying to exit copy mode" msgstr "попытка выйти из режима копирования" -#: crosstabview.c:123 +#: crosstabview.c:124 #, c-format msgid "\\crosstabview: statement did not return a result set" msgstr "\\crosstabview: оператор не возвратил результирующий набор" -#: crosstabview.c:129 +#: crosstabview.c:130 #, c-format msgid "\\crosstabview: query must return at least three columns" msgstr "\\crosstabview: запрос должен возвращать минимум три столбца" -#: crosstabview.c:156 +#: crosstabview.c:157 #, c-format msgid "" "\\crosstabview: vertical and horizontal headers must be different columns" @@ -1079,7 +1131,7 @@ msgstr "" "\\crosstabview: для вертикальных и горизонтальных заголовков должны " "задаваться разные столбцы" -#: crosstabview.c:172 +#: crosstabview.c:173 #, c-format msgid "" "\\crosstabview: data column must be specified when query returns more than " @@ -1088,12 +1140,12 @@ msgstr "" "\\crosstabview: когда запрос возвращает больше трёх столбцов, необходимо " "указать столбец данных" -#: crosstabview.c:228 +#: crosstabview.c:229 #, c-format msgid "\\crosstabview: maximum number of columns (%d) exceeded" msgstr "\\crosstabview: превышен максимум числа столбцов (%d)" -#: crosstabview.c:397 +#: crosstabview.c:398 #, c-format msgid "" "\\crosstabview: query result contains multiple data values for row \"%s\", " @@ -1102,302 +1154,303 @@ msgstr "" "\\crosstabview: в результатах запроса содержится несколько значений данных " "для строки \"%s\", столбца \"%s\"" -#: crosstabview.c:645 +#: crosstabview.c:646 #, c-format msgid "\\crosstabview: column number %d is out of range 1..%d" msgstr "\\crosstabview: номер столбца %d выходит за рамки диапазона 1..%d" -#: crosstabview.c:670 +#: crosstabview.c:671 #, c-format msgid "\\crosstabview: ambiguous column name: \"%s\"" msgstr "\\crosstabview: неоднозначное имя столбца: \"%s\"" -#: crosstabview.c:678 +#: crosstabview.c:679 #, c-format msgid "\\crosstabview: column name not found: \"%s\"" msgstr "\\crosstabview: имя столбца не найдено: \"%s\"" -#: describe.c:87 describe.c:338 describe.c:630 describe.c:807 describe.c:1038 -#: describe.c:1189 describe.c:1264 describe.c:3947 describe.c:4157 -#: describe.c:4407 describe.c:4489 describe.c:4724 describe.c:4932 -#: describe.c:5174 describe.c:5418 describe.c:5488 describe.c:5499 -#: describe.c:5556 describe.c:5960 describe.c:6038 +#: describe.c:87 describe.c:335 describe.c:626 describe.c:802 describe.c:1035 +#: describe.c:1190 describe.c:1264 describe.c:3945 describe.c:4154 +#: describe.c:4402 describe.c:4483 describe.c:4715 describe.c:4921 +#: describe.c:5165 describe.c:5406 describe.c:5475 describe.c:5486 +#: describe.c:5542 describe.c:5941 describe.c:6018 msgid "Schema" msgstr "Схема" -#: describe.c:88 describe.c:167 describe.c:229 describe.c:339 describe.c:631 -#: describe.c:808 describe.c:930 describe.c:1039 describe.c:1265 -#: describe.c:3948 describe.c:4158 describe.c:4323 describe.c:4408 -#: describe.c:4490 describe.c:4653 describe.c:4725 describe.c:4933 -#: describe.c:5046 describe.c:5175 describe.c:5419 describe.c:5489 -#: describe.c:5500 describe.c:5557 describe.c:5756 describe.c:5827 -#: describe.c:6036 describe.c:6265 describe.c:6573 +#: describe.c:88 describe.c:166 describe.c:227 describe.c:336 describe.c:627 +#: describe.c:803 describe.c:924 describe.c:1036 describe.c:1265 +#: describe.c:3946 describe.c:4155 describe.c:4319 describe.c:4403 +#: describe.c:4484 describe.c:4645 describe.c:4716 describe.c:4922 +#: describe.c:5038 describe.c:5166 describe.c:5407 describe.c:5476 +#: describe.c:5487 describe.c:5543 describe.c:5740 describe.c:5810 +#: describe.c:6016 describe.c:6243 describe.c:6551 msgid "Name" msgstr "Имя" -#: describe.c:89 describe.c:351 describe.c:369 +#: describe.c:89 describe.c:348 describe.c:366 msgid "Result data type" msgstr "Тип данных результата" -#: describe.c:90 describe.c:352 describe.c:370 +#: describe.c:90 describe.c:349 describe.c:367 msgid "Argument data types" msgstr "Типы данных аргументов" -#: describe.c:98 describe.c:105 describe.c:178 describe.c:243 describe.c:418 -#: describe.c:662 describe.c:823 describe.c:974 describe.c:1267 describe.c:2047 -#: describe.c:3676 describe.c:4002 describe.c:4204 describe.c:4347 -#: describe.c:4421 describe.c:4499 describe.c:4666 describe.c:4844 -#: describe.c:4982 describe.c:5055 describe.c:5176 describe.c:5327 -#: describe.c:5369 describe.c:5435 describe.c:5492 describe.c:5501 -#: describe.c:5558 describe.c:5774 describe.c:5849 describe.c:5974 -#: describe.c:6039 describe.c:7093 +#: describe.c:98 describe.c:105 describe.c:177 describe.c:241 describe.c:415 +#: describe.c:658 describe.c:818 describe.c:972 describe.c:1267 describe.c:2046 +#: describe.c:3676 describe.c:4000 describe.c:4201 describe.c:4343 +#: describe.c:4416 describe.c:4493 describe.c:4658 describe.c:4834 +#: describe.c:4975 describe.c:5047 describe.c:5167 describe.c:5317 +#: describe.c:5358 describe.c:5423 describe.c:5479 describe.c:5488 +#: describe.c:5544 describe.c:5758 describe.c:5832 describe.c:5955 +#: describe.c:6019 describe.c:7078 msgid "Description" msgstr "Описание" -#: describe.c:128 +#: describe.c:127 msgid "List of aggregate functions" msgstr "Список агрегатных функций" -#: describe.c:153 +#: describe.c:152 #, c-format msgid "The server (version %s) does not support access methods." msgstr "Сервер (версия %s) не поддерживает методы доступа." -#: describe.c:168 +#: describe.c:167 msgid "Index" msgstr "Индекс" -#: describe.c:169 describe.c:3966 describe.c:4183 describe.c:5961 +#: describe.c:168 describe.c:3964 describe.c:4180 describe.c:5942 msgid "Table" msgstr "Таблица" -#: describe.c:177 describe.c:5758 +#: describe.c:176 describe.c:5742 msgid "Handler" msgstr "Обработчик" -#: describe.c:201 +#: describe.c:199 msgid "List of access methods" msgstr "Список методов доступа" -#: describe.c:230 describe.c:404 describe.c:655 describe.c:931 describe.c:1188 -#: describe.c:3959 describe.c:4159 describe.c:4324 describe.c:4655 -#: describe.c:5047 describe.c:5757 describe.c:5828 describe.c:6266 -#: describe.c:6454 describe.c:6574 describe.c:6733 describe.c:6819 -#: describe.c:7081 +#: describe.c:228 describe.c:401 describe.c:651 describe.c:925 describe.c:1189 +#: describe.c:3957 describe.c:4156 describe.c:4320 describe.c:4647 +#: describe.c:5039 describe.c:5741 describe.c:5811 describe.c:6244 +#: describe.c:6431 describe.c:6552 describe.c:6722 describe.c:6807 +#: describe.c:7066 msgid "Owner" msgstr "Владелец" -#: describe.c:231 +#: describe.c:229 msgid "Location" msgstr "Расположение" -#: describe.c:241 describe.c:3517 describe.c:3858 +#: describe.c:239 describe.c:3517 describe.c:3857 msgid "Options" msgstr "Параметры" -#: describe.c:242 describe.c:653 describe.c:972 describe.c:4001 +#: describe.c:240 describe.c:649 describe.c:970 describe.c:3999 msgid "Size" msgstr "Размер" -#: describe.c:266 +#: describe.c:263 msgid "List of tablespaces" msgstr "Список табличных пространств" -#: describe.c:311 +#: describe.c:308 #, c-format msgid "\\df only takes [anptwS+] as options" msgstr "\\df принимает в качестве параметров только [anptwS+]" -#: describe.c:319 +#: describe.c:316 #, c-format msgid "\\df does not take a \"%c\" option with server version %s" msgstr "\\df не поддерживает параметр \"%c\" с сервером версии %s" # well-spelled: агр #. translator: "agg" is short for "aggregate" -#: describe.c:354 describe.c:372 +#: describe.c:351 describe.c:369 msgid "agg" msgstr "агр." -#: describe.c:355 describe.c:373 +#: describe.c:352 describe.c:370 msgid "window" msgstr "оконная" -#: describe.c:356 +#: describe.c:353 msgid "proc" msgstr "проц." # well-spelled: функ -#: describe.c:357 describe.c:375 +#: describe.c:354 describe.c:372 msgid "func" msgstr "функ." -#: describe.c:374 describe.c:1397 +#: describe.c:371 describe.c:1397 msgid "trigger" msgstr "триггерная" -#: describe.c:386 +#: describe.c:383 msgid "immutable" msgstr "постоянная" -#: describe.c:387 +#: describe.c:384 msgid "stable" msgstr "стабильная" -#: describe.c:388 +#: describe.c:385 msgid "volatile" msgstr "изменчивая" -#: describe.c:389 +#: describe.c:386 msgid "Volatility" msgstr "Изменчивость" -#: describe.c:397 +#: describe.c:394 msgid "restricted" msgstr "ограниченная" -#: describe.c:398 +#: describe.c:395 msgid "safe" msgstr "безопасная" -#: describe.c:399 +#: describe.c:396 msgid "unsafe" msgstr "небезопасная" -#: describe.c:400 +#: describe.c:397 msgid "Parallel" msgstr "Параллельность" -#: describe.c:405 +#: describe.c:402 msgid "definer" msgstr "определившего" -#: describe.c:406 +#: describe.c:403 msgid "invoker" msgstr "вызывающего" -#: describe.c:407 +#: describe.c:404 msgid "Security" msgstr "Безопасность" -#: describe.c:412 +#: describe.c:409 msgid "Language" msgstr "Язык" -#: describe.c:415 describe.c:652 +#: describe.c:412 describe.c:648 msgid "Internal name" msgstr "Внутреннее имя" -#: describe.c:589 +#: describe.c:585 msgid "List of functions" msgstr "Список функций" -#: describe.c:654 +#: describe.c:650 msgid "Elements" msgstr "Элементы" -#: describe.c:706 +#: describe.c:701 msgid "List of data types" msgstr "Список типов данных" -#: describe.c:809 +#: describe.c:804 msgid "Left arg type" msgstr "Тип левого аргумента" -#: describe.c:810 +#: describe.c:805 msgid "Right arg type" msgstr "Тип правого аргумента" -#: describe.c:811 +#: describe.c:806 msgid "Result type" msgstr "Результирующий тип" -#: describe.c:816 describe.c:4661 describe.c:4827 describe.c:5326 -#: describe.c:7010 describe.c:7014 +#: describe.c:811 describe.c:4653 describe.c:4817 describe.c:5316 +#: describe.c:6996 describe.c:7000 msgid "Function" msgstr "Функция" -#: describe.c:897 +#: describe.c:891 msgid "List of operators" msgstr "Список операторов" -#: describe.c:932 +#: describe.c:926 msgid "Encoding" msgstr "Кодировка" -#: describe.c:936 describe.c:940 +#: describe.c:930 describe.c:934 msgid "Locale Provider" msgstr "Провайдер локали" -#: describe.c:944 describe.c:4947 +#: describe.c:938 describe.c:4936 msgid "Collate" msgstr "LC_COLLATE" -#: describe.c:945 describe.c:4948 +#: describe.c:939 describe.c:4937 msgid "Ctype" msgstr "LC_CTYPE" -#: describe.c:949 describe.c:953 describe.c:4953 describe.c:4957 -msgid "ICU Locale" -msgstr "локаль ICU" +#: describe.c:943 describe.c:947 describe.c:951 describe.c:4942 describe.c:4946 +#: describe.c:4950 +msgid "Locale" +msgstr "Локаль" -#: describe.c:957 describe.c:961 describe.c:4962 describe.c:4966 +#: describe.c:955 describe.c:959 describe.c:4955 describe.c:4959 msgid "ICU Rules" msgstr "Правила ICU" -#: describe.c:973 +#: describe.c:971 msgid "Tablespace" msgstr "Табл. пространство" -#: describe.c:999 +#: describe.c:996 msgid "List of databases" msgstr "Список баз данных" -#: describe.c:1040 describe.c:1191 describe.c:3949 +#: describe.c:1037 describe.c:1192 describe.c:3947 msgid "table" msgstr "таблица" -#: describe.c:1041 describe.c:3950 +#: describe.c:1038 describe.c:3948 msgid "view" msgstr "представление" -#: describe.c:1042 describe.c:3951 +#: describe.c:1039 describe.c:3949 msgid "materialized view" msgstr "материализованное представление" -#: describe.c:1043 describe.c:1193 describe.c:3953 +#: describe.c:1040 describe.c:1194 describe.c:3951 msgid "sequence" msgstr "последовательность" -#: describe.c:1044 describe.c:3955 +#: describe.c:1041 describe.c:3953 msgid "foreign table" msgstr "сторонняя таблица" -#: describe.c:1045 describe.c:3956 describe.c:4168 +#: describe.c:1042 describe.c:3954 describe.c:4165 msgid "partitioned table" msgstr "секционированная таблица" -#: describe.c:1056 +#: describe.c:1058 msgid "Column privileges" msgstr "Права для столбцов" -#: describe.c:1087 describe.c:1121 +#: describe.c:1089 describe.c:1123 msgid "Policies" msgstr "Политики" -#: describe.c:1150 describe.c:4577 describe.c:6678 +#: describe.c:1151 describe.c:4570 describe.c:6667 msgid "Access privileges" msgstr "Права доступа" -#: describe.c:1195 +#: describe.c:1196 msgid "function" msgstr "функция" -#: describe.c:1197 +#: describe.c:1198 msgid "type" msgstr "тип" -#: describe.c:1199 +#: describe.c:1200 msgid "schema" msgstr "схема" @@ -1429,295 +1482,295 @@ msgstr "семейство операторов" msgid "rule" msgstr "правило" -#: describe.c:1421 +#: describe.c:1420 msgid "Object descriptions" msgstr "Описание объекта" -#: describe.c:1486 describe.c:4074 +#: describe.c:1485 describe.c:4072 #, c-format msgid "Did not find any relation named \"%s\"." msgstr "Отношение \"%s\" не найдено." -#: describe.c:1489 describe.c:4077 +#: describe.c:1488 describe.c:4075 #, c-format msgid "Did not find any relations." msgstr "Отношения не найдены." -#: describe.c:1685 +#: describe.c:1684 #, c-format msgid "Did not find any relation with OID %s." msgstr "Отношение с OID %s не найдено." -#: describe.c:1733 describe.c:1757 +#: describe.c:1732 describe.c:1756 msgid "Start" msgstr "Начальное_значение" -#: describe.c:1734 describe.c:1758 +#: describe.c:1733 describe.c:1757 msgid "Minimum" msgstr "Минимум" -#: describe.c:1735 describe.c:1759 +#: describe.c:1734 describe.c:1758 msgid "Maximum" msgstr "Максимум" -#: describe.c:1736 describe.c:1760 +#: describe.c:1735 describe.c:1759 msgid "Increment" msgstr "Шаг" -#: describe.c:1737 describe.c:1761 describe.c:1890 describe.c:4493 -#: describe.c:4838 describe.c:4971 describe.c:4976 describe.c:6721 +#: describe.c:1736 describe.c:1760 describe.c:1889 describe.c:4487 +#: describe.c:4828 describe.c:4964 describe.c:4969 describe.c:6710 msgid "yes" msgstr "да" -#: describe.c:1738 describe.c:1762 describe.c:1891 describe.c:4493 -#: describe.c:4835 describe.c:4971 describe.c:6722 +#: describe.c:1737 describe.c:1761 describe.c:1890 describe.c:4487 +#: describe.c:4825 describe.c:4964 describe.c:6711 msgid "no" msgstr "нет" -#: describe.c:1739 describe.c:1763 +#: describe.c:1738 describe.c:1762 msgid "Cycles?" msgstr "Зацикливается?" -#: describe.c:1740 describe.c:1764 +#: describe.c:1739 describe.c:1763 msgid "Cache" msgstr "Кешируется" -#: describe.c:1805 +#: describe.c:1804 #, c-format msgid "Owned by: %s" msgstr "Владелец: %s" -#: describe.c:1809 +#: describe.c:1808 #, c-format msgid "Sequence for identity column: %s" msgstr "Последовательность для столбца идентификации: %s" -#: describe.c:1817 +#: describe.c:1816 #, c-format msgid "Unlogged sequence \"%s.%s\"" msgstr "Нежурналируемая последовательность \"%s.%s\"" -#: describe.c:1820 +#: describe.c:1819 #, c-format msgid "Sequence \"%s.%s\"" msgstr "Последовательность \"%s.%s\"" -#: describe.c:1963 +#: describe.c:1962 #, c-format msgid "Unlogged table \"%s.%s\"" msgstr "Нежурналируемая таблица \"%s.%s\"" -#: describe.c:1966 +#: describe.c:1965 #, c-format msgid "Table \"%s.%s\"" msgstr "Таблица \"%s.%s\"" -#: describe.c:1970 +#: describe.c:1969 #, c-format msgid "View \"%s.%s\"" msgstr "Представление \"%s.%s\"" -#: describe.c:1975 +#: describe.c:1974 #, c-format msgid "Unlogged materialized view \"%s.%s\"" msgstr "Нежурналируемое материализованное представление \"%s.%s\"" -#: describe.c:1978 +#: describe.c:1977 #, c-format msgid "Materialized view \"%s.%s\"" msgstr "Материализованное представление \"%s.%s\"" -#: describe.c:1983 +#: describe.c:1982 #, c-format msgid "Unlogged index \"%s.%s\"" msgstr "Нежурналируемый индекс \"%s.%s\"" -#: describe.c:1986 +#: describe.c:1985 #, c-format msgid "Index \"%s.%s\"" msgstr "Индекс \"%s.%s\"" -#: describe.c:1991 +#: describe.c:1990 #, c-format msgid "Unlogged partitioned index \"%s.%s\"" msgstr "Нежурналируемый секционированный индекс \"%s.%s\"" -#: describe.c:1994 +#: describe.c:1993 #, c-format msgid "Partitioned index \"%s.%s\"" msgstr "Секционированный индекс \"%s.%s\"" -#: describe.c:1998 +#: describe.c:1997 #, c-format msgid "TOAST table \"%s.%s\"" msgstr "TOAST-таблица \"%s.%s\"" -#: describe.c:2002 +#: describe.c:2001 #, c-format msgid "Composite type \"%s.%s\"" msgstr "Составной тип \"%s.%s\"" -#: describe.c:2006 +#: describe.c:2005 #, c-format msgid "Foreign table \"%s.%s\"" msgstr "Сторонняя таблица \"%s.%s\"" -#: describe.c:2011 +#: describe.c:2010 #, c-format msgid "Unlogged partitioned table \"%s.%s\"" msgstr "Нежурналируемая секционированная таблица \"%s.%s\"" -#: describe.c:2014 +#: describe.c:2013 #, c-format msgid "Partitioned table \"%s.%s\"" msgstr "Секционированная таблица \"%s.%s\"" -#: describe.c:2030 describe.c:4410 +#: describe.c:2029 describe.c:4405 msgid "Collation" msgstr "Правило сортировки" -#: describe.c:2031 describe.c:4411 +#: describe.c:2030 describe.c:4406 msgid "Nullable" msgstr "Допустимость NULL" -#: describe.c:2032 describe.c:4412 +#: describe.c:2031 describe.c:4407 msgid "Default" msgstr "По умолчанию" -#: describe.c:2035 +#: describe.c:2034 msgid "Key?" msgstr "Ключевой?" -#: describe.c:2037 describe.c:4732 describe.c:4743 +#: describe.c:2036 describe.c:4723 describe.c:4734 msgid "Definition" msgstr "Определение" # well-spelled: ОСД -#: describe.c:2039 describe.c:5773 describe.c:5848 describe.c:5914 -#: describe.c:5973 +#: describe.c:2038 describe.c:5757 describe.c:5831 describe.c:5896 +#: describe.c:5954 msgid "FDW options" msgstr "Параметры ОСД" -#: describe.c:2041 +#: describe.c:2040 msgid "Storage" msgstr "Хранилище" -#: describe.c:2043 +#: describe.c:2042 msgid "Compression" msgstr "Сжатие" -#: describe.c:2045 +#: describe.c:2044 msgid "Stats target" msgstr "Цель для статистики" -#: describe.c:2181 +#: describe.c:2180 #, c-format msgid "Partition of: %s %s%s" msgstr "Секция: %s %s%s" -#: describe.c:2194 +#: describe.c:2193 msgid "No partition constraint" msgstr "Нет ограничения секции" -#: describe.c:2196 +#: describe.c:2195 #, c-format msgid "Partition constraint: %s" msgstr "Ограничение секции: %s" -#: describe.c:2220 +#: describe.c:2219 #, c-format msgid "Partition key: %s" msgstr "Ключ разбиения: %s" -#: describe.c:2246 +#: describe.c:2245 #, c-format msgid "Owning table: \"%s.%s\"" msgstr "Принадлежит таблице: \"%s.%s\"" -#: describe.c:2315 +#: describe.c:2314 msgid "primary key, " msgstr "первичный ключ, " -#: describe.c:2318 +#: describe.c:2317 msgid "unique" msgstr "уникальный" -#: describe.c:2320 +#: describe.c:2319 msgid " nulls not distinct" msgstr " null не различаются" -#: describe.c:2321 +#: describe.c:2320 msgid ", " msgstr ", " -#: describe.c:2328 +#: describe.c:2327 #, c-format msgid "for table \"%s.%s\"" msgstr "для таблицы \"%s.%s\"" -#: describe.c:2332 +#: describe.c:2331 #, c-format msgid ", predicate (%s)" msgstr ", предикат (%s)" -#: describe.c:2335 +#: describe.c:2334 msgid ", clustered" msgstr ", кластеризованный" -#: describe.c:2338 +#: describe.c:2337 msgid ", invalid" msgstr ", нерабочий" -#: describe.c:2341 +#: describe.c:2340 msgid ", deferrable" msgstr ", откладываемый" -#: describe.c:2344 +#: describe.c:2343 msgid ", initially deferred" msgstr ", изначально отложенный" -#: describe.c:2347 +#: describe.c:2346 msgid ", replica identity" msgstr ", репликационный" -#: describe.c:2401 +#: describe.c:2400 msgid "Indexes:" msgstr "Индексы:" -#: describe.c:2484 +#: describe.c:2483 msgid "Check constraints:" msgstr "Ограничения-проверки:" # TO REWVIEW -#: describe.c:2552 +#: describe.c:2551 msgid "Foreign-key constraints:" msgstr "Ограничения внешнего ключа:" -#: describe.c:2615 +#: describe.c:2614 msgid "Referenced by:" msgstr "Ссылки извне:" -#: describe.c:2665 +#: describe.c:2664 msgid "Policies:" msgstr "Политики:" -#: describe.c:2668 +#: describe.c:2667 msgid "Policies (forced row security enabled):" msgstr "Политики (усиленная защита строк включена):" -#: describe.c:2671 +#: describe.c:2670 msgid "Policies (row security enabled): (none)" msgstr "Политики (защита строк включена): (Нет)" -#: describe.c:2674 +#: describe.c:2673 msgid "Policies (forced row security enabled): (none)" msgstr "Политики (усиленная защита строк включена): (Нет)" -#: describe.c:2677 +#: describe.c:2676 msgid "Policies (row security disabled):" msgstr "Политики (защита строк выключена):" -#: describe.c:2737 describe.c:2841 +#: describe.c:2736 describe.c:2841 msgid "Statistics objects:" msgstr "Объекты статистики:" @@ -1737,7 +1790,7 @@ msgstr "Правила, срабатывающие всегда:" msgid "Rules firing on replica only:" msgstr "Правила, срабатывающие только в реплике:" -#: describe.c:3031 describe.c:5109 +#: describe.c:3031 describe.c:5100 msgid "Publications:" msgstr "Публикации:" @@ -1837,7 +1890,7 @@ msgstr ", табл. пространство \"%s\"" msgid "List of roles" msgstr "Список ролей" -#: describe.c:3672 describe.c:3841 +#: describe.c:3672 describe.c:3840 msgid "Role name" msgstr "Имя роли" @@ -1916,370 +1969,370 @@ msgstr "Параметры для роли \"%s\" не найдены." msgid "Did not find any settings." msgstr "Никакие параметры не найдены." -#: describe.c:3812 +#: describe.c:3811 msgid "List of settings" msgstr "Список параметров" -#: describe.c:3842 +#: describe.c:3841 msgid "Member of" msgstr "Член ролей" -#: describe.c:3859 +#: describe.c:3858 msgid "Grantor" msgstr "Праводатель" -#: describe.c:3886 +#: describe.c:3884 msgid "List of role grants" msgstr "Список назначений ролей" -#: describe.c:3952 +#: describe.c:3950 msgid "index" msgstr "индекс" -#: describe.c:3954 +#: describe.c:3952 msgid "TOAST table" msgstr "TOAST-таблица" -#: describe.c:3957 describe.c:4169 +#: describe.c:3955 describe.c:4166 msgid "partitioned index" msgstr "секционированный индекс" -#: describe.c:3977 +#: describe.c:3975 msgid "permanent" msgstr "постоянное" -#: describe.c:3978 +#: describe.c:3976 msgid "temporary" msgstr "временное" -#: describe.c:3979 +#: describe.c:3977 msgid "unlogged" msgstr "нежурналируемое" -#: describe.c:3980 +#: describe.c:3978 msgid "Persistence" msgstr "Хранение" -#: describe.c:3996 +#: describe.c:3994 msgid "Access method" msgstr "Метод доступа" -#: describe.c:4082 +#: describe.c:4079 msgid "List of relations" msgstr "Список отношений" -#: describe.c:4130 +#: describe.c:4127 #, c-format msgid "" "The server (version %s) does not support declarative table partitioning." msgstr "" "Сервер (версия %s) не поддерживает декларативное секционирование таблиц." -#: describe.c:4141 +#: describe.c:4138 msgid "List of partitioned indexes" msgstr "Список секционированных индексов" -#: describe.c:4143 +#: describe.c:4140 msgid "List of partitioned tables" msgstr "Список секционированных таблиц" -#: describe.c:4147 +#: describe.c:4144 msgid "List of partitioned relations" msgstr "Список секционированных отношений" -#: describe.c:4178 +#: describe.c:4175 msgid "Parent name" msgstr "Имя родителя" -#: describe.c:4191 +#: describe.c:4188 msgid "Leaf partition size" msgstr "Размер конечной секции" -#: describe.c:4194 describe.c:4200 +#: describe.c:4191 describe.c:4197 msgid "Total size" msgstr "Общий размер" -#: describe.c:4325 +#: describe.c:4321 msgid "Trusted" msgstr "Доверенный" -#: describe.c:4334 +#: describe.c:4330 msgid "Internal language" msgstr "Внутренний язык" -#: describe.c:4335 +#: describe.c:4331 msgid "Call handler" msgstr "Обработчик вызова" -#: describe.c:4336 describe.c:5759 +#: describe.c:4332 describe.c:5743 msgid "Validator" msgstr "Функция проверки" -#: describe.c:4337 +#: describe.c:4333 msgid "Inline handler" msgstr "Обработчик внедрённого кода" -#: describe.c:4372 +#: describe.c:4367 msgid "List of languages" msgstr "Список языков" -#: describe.c:4413 +#: describe.c:4408 msgid "Check" msgstr "Проверка" -#: describe.c:4457 +#: describe.c:4451 msgid "List of domains" msgstr "Список доменов" -#: describe.c:4491 +#: describe.c:4485 msgid "Source" msgstr "Источник" -#: describe.c:4492 +#: describe.c:4486 msgid "Destination" msgstr "Назначение" -#: describe.c:4494 describe.c:6723 +#: describe.c:4488 describe.c:6712 msgid "Default?" msgstr "По умолчанию?" -#: describe.c:4536 +#: describe.c:4529 msgid "List of conversions" msgstr "Список преобразований" -#: describe.c:4564 +#: describe.c:4557 msgid "Parameter" msgstr "Параметр" -#: describe.c:4565 +#: describe.c:4558 msgid "Value" msgstr "Значение" -#: describe.c:4572 +#: describe.c:4565 msgid "Context" msgstr "Контекст" -#: describe.c:4605 +#: describe.c:4597 msgid "List of configuration parameters" msgstr "Список параметров конфигурации" -#: describe.c:4607 +#: describe.c:4599 msgid "List of non-default configuration parameters" msgstr "Список изменённых параметров конфигурации" -#: describe.c:4634 +#: describe.c:4626 #, c-format msgid "The server (version %s) does not support event triggers." msgstr "Сервер (версия %s) не поддерживает событийные триггеры." -#: describe.c:4654 +#: describe.c:4646 msgid "Event" msgstr "Событие" -#: describe.c:4656 +#: describe.c:4648 msgid "enabled" msgstr "включён" -#: describe.c:4657 +#: describe.c:4649 msgid "replica" msgstr "реплика" -#: describe.c:4658 +#: describe.c:4650 msgid "always" msgstr "всегда" -#: describe.c:4659 +#: describe.c:4651 msgid "disabled" msgstr "отключён" -#: describe.c:4660 describe.c:6575 +#: describe.c:4652 describe.c:6553 msgid "Enabled" msgstr "Включён" -#: describe.c:4662 +#: describe.c:4654 msgid "Tags" msgstr "Теги" -#: describe.c:4686 +#: describe.c:4677 msgid "List of event triggers" msgstr "Список событийных триггеров" -#: describe.c:4713 +#: describe.c:4704 #, c-format msgid "The server (version %s) does not support extended statistics." msgstr "Сервер (версия %s) не поддерживает расширенные статистики." -#: describe.c:4750 +#: describe.c:4741 msgid "Ndistinct" msgstr "Ndistinct" -#: describe.c:4751 +#: describe.c:4742 msgid "Dependencies" msgstr "Зависимости" -#: describe.c:4761 +#: describe.c:4752 msgid "MCV" msgstr "MCV" -#: describe.c:4785 +#: describe.c:4775 msgid "List of extended statistics" msgstr "Список расширенных статистик" -#: describe.c:4812 +#: describe.c:4802 msgid "Source type" msgstr "Исходный тип" -#: describe.c:4813 +#: describe.c:4803 msgid "Target type" msgstr "Целевой тип" -#: describe.c:4837 +#: describe.c:4827 msgid "in assignment" msgstr "в присваивании" -#: describe.c:4839 +#: describe.c:4829 msgid "Implicit?" msgstr "Неявное?" -#: describe.c:4898 +#: describe.c:4887 msgid "List of casts" msgstr "Список приведений типов" -#: describe.c:4938 describe.c:4942 +#: describe.c:4927 describe.c:4931 msgid "Provider" msgstr "Провайдер" -#: describe.c:4972 describe.c:4977 +#: describe.c:4965 describe.c:4970 msgid "Deterministic?" msgstr "Детерминированное?" -#: describe.c:5017 +#: describe.c:5009 msgid "List of collations" msgstr "Список правил сортировки" -#: describe.c:5079 +#: describe.c:5070 msgid "List of schemas" msgstr "Список схем" -#: describe.c:5196 +#: describe.c:5186 msgid "List of text search parsers" msgstr "Список анализаторов текстового поиска" -#: describe.c:5246 +#: describe.c:5236 #, c-format msgid "Did not find any text search parser named \"%s\"." msgstr "Анализатор текстового поиска \"%s\" не найден." -#: describe.c:5249 +#: describe.c:5239 #, c-format msgid "Did not find any text search parsers." msgstr "Никакие анализаторы текстового поиска не найдены." -#: describe.c:5324 +#: describe.c:5314 msgid "Start parse" msgstr "Начало разбора" -#: describe.c:5325 +#: describe.c:5315 msgid "Method" msgstr "Метод" -#: describe.c:5329 +#: describe.c:5319 msgid "Get next token" msgstr "Получение следующего фрагмента" -#: describe.c:5331 +#: describe.c:5321 msgid "End parse" msgstr "Окончание разбора" -#: describe.c:5333 +#: describe.c:5323 msgid "Get headline" msgstr "Получение выдержки" -#: describe.c:5335 +#: describe.c:5325 msgid "Get token types" msgstr "Получение типов фрагментов" -#: describe.c:5346 +#: describe.c:5335 #, c-format msgid "Text search parser \"%s.%s\"" msgstr "Анализатор текстового поиска \"%s.%s\"" -#: describe.c:5349 +#: describe.c:5338 #, c-format msgid "Text search parser \"%s\"" msgstr "Анализатор текстового поиска \"%s\"" -#: describe.c:5368 +#: describe.c:5357 msgid "Token name" msgstr "Имя фрагмента" -#: describe.c:5382 +#: describe.c:5370 #, c-format msgid "Token types for parser \"%s.%s\"" msgstr "Типы фрагментов для анализатора \"%s.%s\"" -#: describe.c:5385 +#: describe.c:5373 #, c-format msgid "Token types for parser \"%s\"" msgstr "Типы фрагментов для анализатора \"%s\"" -#: describe.c:5429 +#: describe.c:5417 msgid "Template" msgstr "Шаблон" -#: describe.c:5430 +#: describe.c:5418 msgid "Init options" msgstr "Параметры инициализации" -#: describe.c:5457 +#: describe.c:5444 msgid "List of text search dictionaries" msgstr "Список словарей текстового поиска" -#: describe.c:5490 +#: describe.c:5477 msgid "Init" msgstr "Инициализация" -#: describe.c:5491 +#: describe.c:5478 msgid "Lexize" msgstr "Выделение лексем" -#: describe.c:5523 +#: describe.c:5509 msgid "List of text search templates" msgstr "Список шаблонов текстового поиска" -#: describe.c:5578 +#: describe.c:5563 msgid "List of text search configurations" msgstr "Список конфигураций текстового поиска" -#: describe.c:5629 +#: describe.c:5614 #, c-format msgid "Did not find any text search configuration named \"%s\"." msgstr "Конфигурация текстового поиска \"%s\" не найдена." -#: describe.c:5632 +#: describe.c:5617 #, c-format msgid "Did not find any text search configurations." msgstr "Никакие конфигурации текстового поиска не найдены." -#: describe.c:5698 +#: describe.c:5683 msgid "Token" msgstr "Фрагмент" -#: describe.c:5699 +#: describe.c:5684 msgid "Dictionaries" msgstr "Словари" -#: describe.c:5710 +#: describe.c:5695 #, c-format msgid "Text search configuration \"%s.%s\"" msgstr "Конфигурация текстового поиска \"%s.%s\"" -#: describe.c:5713 +#: describe.c:5698 #, c-format msgid "Text search configuration \"%s\"" msgstr "Конфигурация текстового поиска \"%s\"" -#: describe.c:5717 +#: describe.c:5702 #, c-format msgid "" "\n" @@ -2288,7 +2341,7 @@ msgstr "" "\n" "Анализатор: \"%s.%s\"" -#: describe.c:5720 +#: describe.c:5705 #, c-format msgid "" "\n" @@ -2297,265 +2350,273 @@ msgstr "" "\n" "Анализатор: \"%s\"" -#: describe.c:5801 +#: describe.c:5784 msgid "List of foreign-data wrappers" msgstr "Список обёрток сторонних данных" -#: describe.c:5829 +#: describe.c:5812 msgid "Foreign-data wrapper" msgstr "Обёртка сторонних данных" -#: describe.c:5847 describe.c:6037 +#: describe.c:5830 describe.c:6017 msgid "Version" msgstr "Версия" -#: describe.c:5878 +#: describe.c:5860 msgid "List of foreign servers" msgstr "Список сторонних серверов" -#: describe.c:5903 describe.c:5962 +#: describe.c:5885 describe.c:5943 msgid "Server" msgstr "Сервер" -#: describe.c:5904 +#: describe.c:5886 msgid "User name" msgstr "Имя пользователя" -#: describe.c:5934 +#: describe.c:5915 msgid "List of user mappings" msgstr "Список сопоставлений пользователей" -#: describe.c:6007 +#: describe.c:5987 msgid "List of foreign tables" msgstr "Список сторонних таблиц" -#: describe.c:6059 +#: describe.c:6038 msgid "List of installed extensions" msgstr "Список установленных расширений" -#: describe.c:6107 +#: describe.c:6086 #, c-format msgid "Did not find any extension named \"%s\"." msgstr "Расширение \"%s\" не найдено." -#: describe.c:6110 +#: describe.c:6089 #, c-format msgid "Did not find any extensions." msgstr "Никакие расширения не найдены." -#: describe.c:6154 +#: describe.c:6133 msgid "Object description" msgstr "Описание объекта" -#: describe.c:6164 +#: describe.c:6142 #, c-format msgid "Objects in extension \"%s\"" msgstr "Объекты в расширении \"%s\"" -#: describe.c:6205 +#: describe.c:6183 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "неверное полное имя (слишком много компонентов): %s" -#: describe.c:6219 +#: describe.c:6197 #, c-format msgid "cross-database references are not implemented: %s" msgstr "ссылки между базами не реализованы: %s" -#: describe.c:6250 describe.c:6377 +#: describe.c:6228 describe.c:6354 #, c-format msgid "The server (version %s) does not support publications." msgstr "Сервер (версия %s) не поддерживает публикации." -#: describe.c:6267 describe.c:6455 +#: describe.c:6245 describe.c:6432 msgid "All tables" msgstr "Все таблицы" -#: describe.c:6268 describe.c:6456 +#: describe.c:6246 describe.c:6433 msgid "Inserts" msgstr "Добавления" -#: describe.c:6269 describe.c:6457 +#: describe.c:6247 describe.c:6434 msgid "Updates" msgstr "Изменения" -#: describe.c:6270 describe.c:6458 +#: describe.c:6248 describe.c:6435 msgid "Deletes" msgstr "Удаления" -#: describe.c:6274 describe.c:6460 +#: describe.c:6252 describe.c:6437 msgid "Truncates" msgstr "Опустошения" -#: describe.c:6278 describe.c:6462 +#: describe.c:6256 describe.c:6439 msgid "Via root" msgstr "Через корень" -#: describe.c:6300 +#: describe.c:6277 msgid "List of publications" msgstr "Список публикаций" -#: describe.c:6424 +#: describe.c:6401 #, c-format msgid "Did not find any publication named \"%s\"." msgstr "Публикация \"%s\" не найдена." -#: describe.c:6427 +#: describe.c:6404 #, c-format msgid "Did not find any publications." msgstr "Никакие публикации не найдены." -#: describe.c:6451 +#: describe.c:6428 #, c-format msgid "Publication %s" msgstr "Публикация %s" -#: describe.c:6504 +#: describe.c:6481 msgid "Tables:" msgstr "Таблицы:" -#: describe.c:6516 +#: describe.c:6493 msgid "Tables from schemas:" msgstr "Таблицы из схем:" -#: describe.c:6560 +#: describe.c:6538 #, c-format msgid "The server (version %s) does not support subscriptions." msgstr "Сервер (версия %s) не поддерживает подписки." -#: describe.c:6576 +#: describe.c:6554 msgid "Publication" msgstr "Публикация" -#: describe.c:6585 +#: describe.c:6563 msgid "Binary" msgstr "Бинарная" -#: describe.c:6594 describe.c:6598 +#: describe.c:6572 describe.c:6576 msgid "Streaming" msgstr "Потоковая" -#: describe.c:6606 +#: describe.c:6584 msgid "Two-phase commit" msgstr "Двухфазная фиксация" -#: describe.c:6607 +#: describe.c:6585 msgid "Disable on error" msgstr "Отключается при ошибке" -#: describe.c:6614 +#: describe.c:6592 msgid "Origin" msgstr "Источник" -#: describe.c:6615 +#: describe.c:6593 msgid "Password required" msgstr "Требуется пароль" -#: describe.c:6616 +#: describe.c:6594 msgid "Run as owner?" msgstr "Использовать владельца?" -#: describe.c:6621 +#: describe.c:6599 +msgid "Failover" +msgstr "Переносимая" + +#: describe.c:6604 msgid "Synchronous commit" msgstr "Синхронная фиксация" -#: describe.c:6622 +#: describe.c:6605 msgid "Conninfo" msgstr "Строка подключения" -#: describe.c:6628 +#: describe.c:6611 msgid "Skip LSN" msgstr "Пропустить LSN" -#: describe.c:6655 +#: describe.c:6637 msgid "List of subscriptions" msgstr "Список подписок" -#: describe.c:6717 describe.c:6813 describe.c:6906 describe.c:7001 +#: describe.c:6666 +msgid "(none)" +msgstr "(нет)" + +#: describe.c:6706 describe.c:6801 describe.c:6893 describe.c:6987 msgid "AM" msgstr "МД" -#: describe.c:6718 +#: describe.c:6707 msgid "Input type" msgstr "Входной тип" -#: describe.c:6719 +#: describe.c:6708 msgid "Storage type" msgstr "Тип хранения" -#: describe.c:6720 +#: describe.c:6709 msgid "Operator class" msgstr "Класс операторов" -#: describe.c:6732 describe.c:6814 describe.c:6907 describe.c:7002 +#: describe.c:6721 describe.c:6802 describe.c:6894 describe.c:6988 msgid "Operator family" msgstr "Семейство операторов" -#: describe.c:6768 +#: describe.c:6756 msgid "List of operator classes" msgstr "Список классов операторов" -#: describe.c:6815 +#: describe.c:6803 msgid "Applicable types" msgstr "Применимые типы" -#: describe.c:6857 +#: describe.c:6844 msgid "List of operator families" msgstr "Список семейств операторов" -#: describe.c:6908 +#: describe.c:6895 msgid "Operator" msgstr "Оператор" -#: describe.c:6909 +#: describe.c:6896 msgid "Strategy" msgstr "Стратегия" -#: describe.c:6910 +#: describe.c:6897 msgid "ordering" msgstr "сортировка" -#: describe.c:6911 +#: describe.c:6898 msgid "search" msgstr "поиск" -#: describe.c:6912 +#: describe.c:6899 msgid "Purpose" msgstr "Назначение" -#: describe.c:6917 +#: describe.c:6904 msgid "Sort opfamily" msgstr "Семейство для сортировки" -#: describe.c:6956 +#: describe.c:6942 msgid "List of operators of operator families" msgstr "Список операторов из семейств операторов" -#: describe.c:7003 +#: describe.c:6989 msgid "Registered left type" msgstr "Зарегистрированный левый тип" -#: describe.c:7004 +#: describe.c:6990 msgid "Registered right type" msgstr "Зарегистрированный правый тип" -#: describe.c:7005 +#: describe.c:6991 msgid "Number" msgstr "Номер" -#: describe.c:7049 +#: describe.c:7034 msgid "List of support functions of operator families" msgstr "Список опорных функций из семейств операторов" -#: describe.c:7080 +#: describe.c:7065 msgid "ID" msgstr "ID" -#: describe.c:7101 +#: describe.c:7085 msgid "Large objects" msgstr "Большие объекты" -#: help.c:75 +#: help.c:63 msgid "" "psql is the PostgreSQL interactive terminal.\n" "\n" @@ -2563,11 +2624,11 @@ msgstr "" "psql - это интерактивный терминал PostgreSQL.\n" "\n" -#: help.c:76 help.c:395 help.c:479 help.c:522 +#: help.c:64 help.c:372 help.c:456 help.c:499 msgid "Usage:\n" msgstr "Использование:\n" -#: help.c:77 +#: help.c:65 msgid "" " psql [OPTION]... [DBNAME [USERNAME]]\n" "\n" @@ -2575,11 +2636,11 @@ msgstr "" " psql [ПАРАМЕТР]... [БД [ПОЛЬЗОВАТЕЛЬ]]\n" "\n" -#: help.c:79 +#: help.c:67 msgid "General options:\n" msgstr "Общие параметры:\n" -#: help.c:84 +#: help.c:68 msgid "" " -c, --command=COMMAND run only single command (SQL or internal) and " "exit\n" @@ -2587,23 +2648,19 @@ msgstr "" " -c, --command=КОМАНДА выполнить одну команду (SQL или внутреннюю) и " "выйти\n" -#: help.c:85 -#, c-format -msgid "" -" -d, --dbname=DBNAME database name to connect to (default: \"%s\")\n" -msgstr "" -" -d, --dbname=БД имя подключаемой базы данных (по умолчанию " -"\"%s\")\n" +#: help.c:69 +msgid " -d, --dbname=DBNAME database name to connect to\n" +msgstr " -d, --dbname=БД имя целевой базы данных\n" -#: help.c:87 +#: help.c:70 msgid " -f, --file=FILENAME execute commands from file, then exit\n" msgstr " -f, --file=ИМЯ_ФАЙЛА выполнить команды из файла и выйти\n" -#: help.c:88 +#: help.c:71 msgid " -l, --list list available databases, then exit\n" msgstr " -l, --list вывести список баз данных и выйти\n" -#: help.c:89 +#: help.c:72 msgid "" " -v, --set=, --variable=NAME=VALUE\n" " set psql variable NAME to VALUE\n" @@ -2613,16 +2670,16 @@ msgstr "" " присвоить переменной psql ИМЯ заданное ЗНАЧЕНИЕ\n" " (например: -v ON_ERROR_STOP=1)\n" -#: help.c:92 +#: help.c:75 msgid " -V, --version output version information, then exit\n" msgstr " -V, --version показать версию и выйти\n" -#: help.c:93 +#: help.c:76 msgid " -X, --no-psqlrc do not read startup file (~/.psqlrc)\n" msgstr "" " -X, --no-psqlrc игнорировать файл параметров запуска (~/.psqlrc)\n" -#: help.c:94 +#: help.c:77 msgid "" " -1 (\"one\"), --single-transaction\n" " execute as a single transaction (if non-" @@ -2632,20 +2689,20 @@ msgstr "" " выполнить как одну транзакцию\n" " (в неинтерактивном режиме)\n" -#: help.c:96 +#: help.c:79 msgid " -?, --help[=options] show this help, then exit\n" msgstr " -?, --help[=options] показать эту справку и выйти\n" -#: help.c:97 +#: help.c:80 msgid " --help=commands list backslash commands, then exit\n" msgstr " --help=commands перечислить команды с \\ и выйти\n" -#: help.c:98 +#: help.c:81 msgid " --help=variables list special variables, then exit\n" msgstr "" " --help=variables перечислить специальные переменные и выйти\n" -#: help.c:100 +#: help.c:83 msgid "" "\n" "Input and output options:\n" @@ -2653,54 +2710,54 @@ msgstr "" "\n" "Параметры ввода/вывода:\n" -#: help.c:101 +#: help.c:84 msgid " -a, --echo-all echo all input from script\n" msgstr " -a, --echo-all отображать все команды из скрипта\n" -#: help.c:102 +#: help.c:85 msgid " -b, --echo-errors echo failed commands\n" msgstr " -b, --echo-errors отображать команды с ошибками\n" -#: help.c:103 +#: help.c:86 msgid " -e, --echo-queries echo commands sent to server\n" msgstr " -e, --echo-queries отображать команды, отправляемые серверу\n" -#: help.c:104 +#: help.c:87 msgid "" " -E, --echo-hidden display queries that internal commands generate\n" msgstr "" " -E, --echo-hidden выводить запросы, порождённые внутренними " "командами\n" -#: help.c:105 +#: help.c:88 msgid " -L, --log-file=FILENAME send session log to file\n" msgstr " -L, --log-file=ИМЯ_ФАЙЛА сохранять протокол работы в файл\n" -#: help.c:106 +#: help.c:89 msgid "" " -n, --no-readline disable enhanced command line editing (readline)\n" msgstr "" " -n, --no-readline отключить редактор командной строки readline\n" -#: help.c:107 +#: help.c:90 msgid " -o, --output=FILENAME send query results to file (or |pipe)\n" msgstr "" " -o, --output=ИМЯ_ФАЙЛА направить результаты запроса в файл (или канал " "|)\n" -#: help.c:108 +#: help.c:91 msgid "" " -q, --quiet run quietly (no messages, only query output)\n" msgstr "" " -q, --quiet показывать только результаты запросов, без " "сообщений\n" -#: help.c:109 +#: help.c:92 msgid " -s, --single-step single-step mode (confirm each query)\n" msgstr "" " -s, --single-step пошаговый режим (подтверждение каждого запроса)\n" -#: help.c:110 +#: help.c:93 msgid "" " -S, --single-line single-line mode (end of line terminates SQL " "command)\n" @@ -2708,7 +2765,7 @@ msgstr "" " -S, --single-line однострочный режим (конец строки завершает " "команду)\n" -#: help.c:112 +#: help.c:95 msgid "" "\n" "Output format options:\n" @@ -2716,11 +2773,11 @@ msgstr "" "\n" "Параметры вывода:\n" -#: help.c:113 +#: help.c:96 msgid " -A, --no-align unaligned table output mode\n" msgstr " -A, --no-align режим вывода невыровненной таблицы\n" -#: help.c:114 +#: help.c:97 msgid "" " --csv CSV (Comma-Separated Values) table output mode\n" msgstr "" @@ -2728,7 +2785,7 @@ msgstr "" "разделённые\n" " запятыми)\n" -#: help.c:115 +#: help.c:98 #, c-format msgid "" " -F, --field-separator=STRING\n" @@ -2739,11 +2796,11 @@ msgstr "" " разделителей полей при невыровненном выводе\n" " (по умолчанию: \"%s\")\n" -#: help.c:118 +#: help.c:101 msgid " -H, --html HTML table output mode\n" msgstr " -H, --html вывод таблицы в формате HTML\n" -#: help.c:119 +#: help.c:102 msgid "" " -P, --pset=VAR[=ARG] set printing option VAR to ARG (see \\pset " "command)\n" @@ -2752,7 +2809,7 @@ msgstr "" "ЗНАЧЕНИЕМ)\n" " (см. описание \\pset)\n" -#: help.c:120 +#: help.c:103 msgid "" " -R, --record-separator=STRING\n" " record separator for unaligned output (default: " @@ -2762,22 +2819,22 @@ msgstr "" " разделитель записей при невыровненном выводе\n" " (по умолчанию: новая строка)\n" -#: help.c:122 +#: help.c:105 msgid " -t, --tuples-only print rows only\n" msgstr " -t, --tuples-only выводить только кортежи\n" -#: help.c:123 +#: help.c:106 msgid "" " -T, --table-attr=TEXT set HTML table tag attributes (e.g., width, " "border)\n" msgstr "" " -T, --table-attr=ТЕКСТ установить атрибуты HTML-таблицы (width, border)\n" -#: help.c:124 +#: help.c:107 msgid " -x, --expanded turn on expanded table output\n" msgstr " -x, --expanded включить развёрнутый вывод таблицы\n" -#: help.c:125 +#: help.c:108 msgid "" " -z, --field-separator-zero\n" " set field separator for unaligned output to zero " @@ -2787,7 +2844,7 @@ msgstr "" " сделать разделителем полей при невыровненном\n" " выводе нулевой байт\n" -#: help.c:127 +#: help.c:110 msgid "" " -0, --record-separator-zero\n" " set record separator for unaligned output to zero " @@ -2797,7 +2854,7 @@ msgstr "" " сделать разделителем записей при невыровненном\n" " нулевой байт\n" -#: help.c:130 +#: help.c:113 msgid "" "\n" "Connection options:\n" @@ -2805,42 +2862,32 @@ msgstr "" "\n" "Параметры подключения:\n" -#: help.c:133 -#, c-format -msgid "" -" -h, --host=HOSTNAME database server host or socket directory " -"(default: \"%s\")\n" +#: help.c:114 +msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr "" -" -h, --host=ИМЯ имя сервера баз данных или каталог сокетов\n" -" (по умолчанию: \"%s\")\n" +" -h, --host=ИМЯ компьютер с сервером баз данных или каталог " +"сокетов\n" -#: help.c:134 -msgid "local socket" -msgstr "локальный сокет" - -#: help.c:137 -#, c-format -msgid " -p, --port=PORT database server port (default: \"%s\")\n" -msgstr "" -" -p, --port=ПОРТ порт сервера баз данных (по умолчанию: \"%s\")\n" +#: help.c:115 +msgid " -p, --port=PORT database server port\n" +msgstr " -p, --port=ПОРТ порт сервера баз данных\n" -#: help.c:140 -#, c-format -msgid " -U, --username=USERNAME database user name (default: \"%s\")\n" -msgstr " -U, --username=ИМЯ имя пользователя (по умолчанию: \"%s\")\n" +#: help.c:116 +msgid " -U, --username=USERNAME database user name\n" +msgstr " -U, --username=ИМЯ имя пользователя БД\n" -#: help.c:142 +#: help.c:117 msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password не запрашивать пароль\n" -#: help.c:143 +#: help.c:118 msgid "" " -W, --password force password prompt (should happen " "automatically)\n" msgstr "" " -W, --password запрашивать пароль всегда (обычно не требуется)\n" -#: help.c:145 +#: help.c:120 msgid "" "\n" "For more information, type \"\\?\" (for internal commands) or " @@ -2856,40 +2903,40 @@ msgstr "" "документации PostgreSQL.\n" "\n" -#: help.c:148 +#: help.c:123 #, c-format msgid "Report bugs to <%s>.\n" msgstr "Об ошибках сообщайте по адресу <%s>.\n" -#: help.c:149 +#: help.c:124 #, c-format msgid "%s home page: <%s>\n" msgstr "Домашняя страница %s: <%s>\n" -#: help.c:191 +#: help.c:166 msgid "General\n" msgstr "Общие\n" -#: help.c:192 +#: help.c:167 msgid " \\bind [PARAM]... set query parameters\n" msgstr " \\bind [ПАРАМЕТР]... задать параметры запроса\n" # skip-rule: copyright -#: help.c:193 +#: help.c:168 msgid "" " \\copyright show PostgreSQL usage and distribution terms\n" msgstr "" " \\copyright условия использования и распространения " "PostgreSQL\n" -#: help.c:194 +#: help.c:169 msgid "" " \\crosstabview [COLUMNS] execute query and display result in crosstab\n" msgstr "" " \\crosstabview [СТОЛБЦЫ] выполнить запрос и вывести результат в " "перекрёстном виде\n" -#: help.c:195 +#: help.c:170 msgid "" " \\errverbose show most recent error message at maximum " "verbosity\n" @@ -2897,7 +2944,7 @@ msgstr "" " \\errverbose вывести максимально подробное сообщение о " "последней ошибке\n" -#: help.c:196 +#: help.c:171 msgid "" " \\g [(OPTIONS)] [FILE] execute query (and send result to file or |pipe);\n" " \\g with no arguments is equivalent to a semicolon\n" @@ -2906,13 +2953,13 @@ msgstr "" " или канал |); \\g без аргументов равнозначно \";" "\"\n" -#: help.c:198 +#: help.c:173 msgid "" " \\gdesc describe result of query, without executing it\n" msgstr "" " \\gdesc описать результат запроса, но не выполнять его\n" -#: help.c:199 +#: help.c:174 msgid "" " \\gexec execute query, then execute each value in its " "result\n" @@ -2920,7 +2967,7 @@ msgstr "" " \\gexec выполнить запрос, а затем выполнить каждую строку " "в результате\n" -#: help.c:200 +#: help.c:175 msgid "" " \\gset [PREFIX] execute query and store result in psql variables\n" msgstr "" @@ -2928,56 +2975,60 @@ msgstr "" "переменных\n" " psql\n" -#: help.c:201 +#: help.c:176 msgid " \\gx [(OPTIONS)] [FILE] as \\g, but forces expanded output mode\n" msgstr "" " \\gx [(ПАРАМЕТРЫ)] [ФАЙЛ] то же, что \\g, но в режиме развёрнутого вывода\n" -#: help.c:202 +#: help.c:177 msgid " \\q quit psql\n" msgstr " \\q выйти из psql\n" -#: help.c:203 +#: help.c:178 msgid "" -" \\watch [[i=]SEC] [c=N] execute query every SEC seconds, up to N times\n" +" \\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" msgstr "" -" \\watch [[i=]СЕК] [c=N] повторять запрос через заданное число секунд, не\n" -" более N раз\n" +" \\watch [[i=]СЕК] [c=N] [m=MIN]\n" +" повторять запрос через заданное число секунд, не " +"более\n" +" N раз, остановиться, если получено менее MIN строк\n" -#: help.c:204 help.c:212 help.c:224 help.c:234 help.c:241 help.c:298 help.c:306 -#: help.c:326 help.c:339 help.c:348 +#: 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 msgid "\n" msgstr "\n" -#: help.c:206 +#: help.c:183 msgid "Help\n" msgstr "Справка\n" -#: help.c:208 +#: help.c:185 msgid " \\? [commands] show help on backslash commands\n" msgstr " \\? [commands] справка по командам psql c \\\n" -#: help.c:209 +#: help.c:186 msgid " \\? options show help on psql command-line options\n" msgstr "" " \\? options справка по параметрам командной строки psql\n" -#: help.c:210 +#: help.c:187 msgid " \\? variables show help on special variables\n" msgstr " \\? variables справка по специальным переменным\n" -#: help.c:211 +#: help.c:188 msgid "" " \\h [NAME] help on syntax of SQL commands, * for all " "commands\n" msgstr "" " \\h [ИМЯ] справка по заданному SQL-оператору; * - по всем\n" -#: help.c:214 +#: help.c:191 msgid "Query Buffer\n" msgstr "Буфер запроса\n" -#: help.c:215 +#: help.c:192 msgid "" " \\e [FILE] [LINE] edit the query buffer (or file) with external " "editor\n" @@ -2985,45 +3036,45 @@ msgstr "" " \\e [ФАЙЛ] [СТРОКА] править буфер запроса (или файл) во внешнем " "редакторе\n" -#: help.c:216 +#: help.c:193 msgid "" " \\ef [FUNCNAME [LINE]] edit function definition with external editor\n" msgstr "" " \\ef [ФУНКЦИЯ [СТРОКА]] править определение функции во внешнем редакторе\n" -#: help.c:217 +#: help.c:194 msgid " \\ev [VIEWNAME [LINE]] edit view definition with external editor\n" msgstr "" " \\ev [VIEWNAME [LINE]] править определение представления во внешнем " "редакторе\n" -#: help.c:218 +#: help.c:195 msgid " \\p show the contents of the query buffer\n" msgstr " \\p вывести содержимое буфера запросов\n" -#: help.c:219 +#: help.c:196 msgid " \\r reset (clear) the query buffer\n" msgstr " \\r очистить буфер запроса\n" -#: help.c:221 +#: help.c:198 msgid " \\s [FILE] display history or save it to file\n" msgstr " \\s [ФАЙЛ] вывести историю или сохранить её в файл\n" -#: help.c:223 +#: help.c:200 msgid " \\w FILE write query buffer to file\n" msgstr " \\w ФАЙЛ записать буфер запроса в файл\n" -#: help.c:226 +#: help.c:203 msgid "Input/Output\n" msgstr "Ввод/Вывод\n" -#: help.c:227 +#: help.c:204 msgid "" " \\copy ... perform SQL COPY with data stream to the client " "host\n" msgstr " \\copy ... выполнить SQL COPY на стороне клиента\n" -#: help.c:228 +#: help.c:205 msgid "" " \\echo [-n] [STRING] write string to standard output (-n for no " "newline)\n" @@ -3031,11 +3082,11 @@ msgstr "" " \\echo [-n] [СТРОКА] записать строку в поток стандартного вывода\n" " (-n отключает перевод строки)\n" -#: help.c:229 +#: help.c:206 msgid " \\i FILE execute commands from file\n" msgstr " \\i ФАЙЛ выполнить команды из файла\n" -#: help.c:230 +#: help.c:207 msgid "" " \\ir FILE as \\i, but relative to location of current " "script\n" @@ -3043,13 +3094,13 @@ msgstr "" " \\ir ФАЙЛ подобно \\i, но путь задаётся относительно\n" " текущего скрипта\n" -#: help.c:231 +#: help.c:208 msgid " \\o [FILE] send all query results to file or |pipe\n" msgstr "" " \\o [ФАЙЛ] выводить все результаты запросов в файл или канал " "|\n" -#: help.c:232 +#: help.c:209 msgid "" " \\qecho [-n] [STRING] write string to \\o output stream (-n for no " "newline)\n" @@ -3057,7 +3108,7 @@ msgstr "" " \\qecho [-n] [СТРОКА] записать строку в выходной поток \\o\n" " (-n отключает перевод строки)\n" -#: help.c:233 +#: help.c:210 msgid "" " \\warn [-n] [STRING] write string to standard error (-n for no " "newline)\n" @@ -3065,136 +3116,136 @@ msgstr "" " \\warn [-n] [СТРОКА] записать строку в поток вывода ошибок\n" " (-n отключает перевод строки)\n" -#: help.c:236 +#: help.c:213 msgid "Conditional\n" msgstr "Условия\n" -#: help.c:237 +#: help.c:214 msgid " \\if EXPR begin conditional block\n" msgstr " \\if ВЫРАЖЕНИЕ начало блока условия\n" -#: help.c:238 +#: help.c:215 msgid "" " \\elif EXPR alternative within current conditional block\n" msgstr "" " \\elif ВЫРАЖЕНИЕ альтернативная ветвь в текущем блоке условия\n" -#: help.c:239 +#: help.c:216 msgid "" " \\else final alternative within current conditional " "block\n" msgstr "" " \\else окончательная ветвь в текущем блоке условия\n" -#: help.c:240 +#: help.c:217 msgid " \\endif end conditional block\n" msgstr " \\endif конец блока условия\n" -#: help.c:243 +#: help.c:220 msgid "Informational\n" msgstr "Информационные\n" -#: help.c:244 +#: help.c:221 msgid " (options: S = show system objects, + = additional detail)\n" msgstr "" " (дополнения: S = показывать системные объекты, + = дополнительные " "подробности)\n" -#: help.c:245 +#: help.c:222 msgid " \\d[S+] list tables, views, and sequences\n" msgstr "" " \\d[S+] список таблиц, представлений и " "последовательностей\n" -#: help.c:246 +#: help.c:223 msgid " \\d[S+] NAME describe table, view, sequence, or index\n" msgstr "" " \\d[S+] ИМЯ описание таблицы, представления, " "последовательности\n" " или индекса\n" -#: help.c:247 +#: help.c:224 msgid " \\da[S] [PATTERN] list aggregates\n" msgstr " \\da[S] [МАСКА] список агрегатных функций\n" -#: help.c:248 +#: help.c:225 msgid " \\dA[+] [PATTERN] list access methods\n" msgstr " \\dA[+] [МАСКА] список методов доступа\n" # well-spelled: МСК -#: help.c:249 +#: help.c:226 msgid " \\dAc[+] [AMPTRN [TYPEPTRN]] list operator classes\n" msgstr " \\dAc[+] [МСК_МД [МСК_ТИПА]] список классов операторов\n" # well-spelled: МСК -#: help.c:250 +#: help.c:227 msgid " \\dAf[+] [AMPTRN [TYPEPTRN]] list operator families\n" msgstr " \\dAf[+] [МСК_МД [МСК_ТИПА]] список семейств операторов\n" # well-spelled: МСК -#: help.c:251 +#: help.c:228 msgid " \\dAo[+] [AMPTRN [OPFPTRN]] list operators of operator families\n" msgstr "" " \\dAo[+] [МСК_МД [МСК_СОП]] список операторов из семейств операторов\n" # well-spelled: МСК -#: help.c:252 +#: help.c:229 msgid "" " \\dAp[+] [AMPTRN [OPFPTRN]] list support functions of operator families\n" msgstr " \\dAp[+] [МСК_МД [МСК_СОП]] список опорных функций из семейств\n" -#: help.c:253 +#: help.c:230 msgid " \\db[+] [PATTERN] list tablespaces\n" msgstr " \\db[+] [МАСКА] список табличных пространств\n" -#: help.c:254 +#: help.c:231 msgid " \\dc[S+] [PATTERN] list conversions\n" msgstr " \\dc[S+] [МАСКА] список преобразований\n" -#: help.c:255 +#: help.c:232 msgid " \\dconfig[+] [PATTERN] list configuration parameters\n" msgstr " \\dconfig[+] [МАСКА] список параметров конфигурации\n" -#: help.c:256 +#: help.c:233 msgid " \\dC[+] [PATTERN] list casts\n" msgstr " \\dC[+] [МАСКА] список приведений типов\n" -#: help.c:257 +#: help.c:234 msgid "" " \\dd[S] [PATTERN] show object descriptions not displayed elsewhere\n" msgstr "" " \\dd[S] [МАСКА] описания объектов, не выводимые в других режимах\n" -#: help.c:258 +#: help.c:235 msgid " \\dD[S+] [PATTERN] list domains\n" msgstr " \\dD[S+] [МАСКА] список доменов\n" -#: help.c:259 +#: help.c:236 msgid " \\ddp [PATTERN] list default privileges\n" msgstr " \\ddp [МАСКА] список прав по умолчанию\n" -#: help.c:260 +#: help.c:237 msgid " \\dE[S+] [PATTERN] list foreign tables\n" msgstr " \\dE[S+] [МАСКА] список сторонних таблиц\n" -#: help.c:261 +#: help.c:238 msgid " \\des[+] [PATTERN] list foreign servers\n" msgstr " \\des[+] [МАСКА] список сторонних серверов\n" -#: help.c:262 +#: help.c:239 msgid " \\det[+] [PATTERN] list foreign tables\n" msgstr " \\det[+] [МАСКА] список сторонних таблиц\n" -#: help.c:263 +#: help.c:240 msgid " \\deu[+] [PATTERN] list user mappings\n" msgstr " \\deu[+] [МАСКА] список сопоставлений пользователей\n" -#: help.c:264 +#: help.c:241 msgid " \\dew[+] [PATTERN] list foreign-data wrappers\n" msgstr " \\dew[+] [МАСКА] список обёрток сторонних данных\n" # well-spelled: МСК, ФУНК -#: help.c:265 +#: help.c:242 msgid "" " \\df[anptw][S+] [FUNCPTRN [TYPEPTRN ...]]\n" " list [only agg/normal/procedure/trigger/window] " @@ -3204,49 +3255,49 @@ msgstr "" " список функций [только агрегатных/обычных/процедур/" "триггеров/оконных]\n" -#: help.c:267 +#: help.c:244 msgid " \\dF[+] [PATTERN] list text search configurations\n" msgstr " \\dF[+] [МАСКА] список конфигураций текстового поиска\n" -#: help.c:268 +#: help.c:245 msgid " \\dFd[+] [PATTERN] list text search dictionaries\n" msgstr " \\dFd[+] [МАСКА] список словарей текстового поиска\n" -#: help.c:269 +#: help.c:246 msgid " \\dFp[+] [PATTERN] list text search parsers\n" msgstr " \\dFp[+] [МАСКА] список анализаторов текстового поиска\n" -#: help.c:270 +#: help.c:247 msgid " \\dFt[+] [PATTERN] list text search templates\n" msgstr " \\dFt[+] [МАСКА] список шаблонов текстового поиска\n" -#: help.c:271 +#: help.c:248 msgid " \\dg[S+] [PATTERN] list roles\n" msgstr " \\dg[S+] [МАСКА] список ролей\n" -#: help.c:272 +#: help.c:249 msgid " \\di[S+] [PATTERN] list indexes\n" msgstr " \\di[S+] [МАСКА] список индексов\n" -#: help.c:273 +#: help.c:250 msgid " \\dl[+] list large objects, same as \\lo_list\n" msgstr "" " \\dl[+] список больших объектов (то же, что и \\lo_list)\n" -#: help.c:274 +#: help.c:251 msgid " \\dL[S+] [PATTERN] list procedural languages\n" msgstr " \\dL[S+] [МАСКА] список языков процедур\n" -#: help.c:275 +#: help.c:252 msgid " \\dm[S+] [PATTERN] list materialized views\n" msgstr " \\dm[S+] [МАСКА] список материализованных представлений\n" -#: help.c:276 +#: help.c:253 msgid " \\dn[S+] [PATTERN] list schemas\n" msgstr " \\dn[S+] [МАСКА] список схем\n" # well-spelled: МСК -#: help.c:277 +#: help.c:254 msgid "" " \\do[S+] [OPPTRN [TYPEPTRN [TYPEPTRN]]]\n" " list operators\n" @@ -3254,18 +3305,18 @@ msgstr "" " \\do[S+] [МСК_ОП [МСК_ТИПА [МСК_ТИПА]]]\n" " список операторов\n" -#: help.c:279 +#: help.c:256 msgid " \\dO[S+] [PATTERN] list collations\n" msgstr " \\dO[S+] [МАСКА] список правил сортировки\n" -#: help.c:280 +#: help.c:257 msgid "" " \\dp[S] [PATTERN] list table, view, and sequence access privileges\n" msgstr "" " \\dp[S] [МАСКА] список прав доступа к таблицам, представлениям и\n" " последовательностям\n" -#: help.c:281 +#: help.c:258 msgid "" " \\dP[itn+] [PATTERN] list [only index/table] partitioned relations " "[n=nested]\n" @@ -3275,80 +3326,80 @@ msgstr "" "(n)\n" # well-spelled: МСК -#: help.c:282 +#: help.c:259 msgid " \\drds [ROLEPTRN [DBPTRN]] list per-database role settings\n" msgstr " \\drds [МСК_РОЛИ [МСК_БД]] список параметров роли на уровне БД\n" -#: help.c:283 +#: help.c:260 msgid " \\drg[S] [PATTERN] list role grants\n" msgstr " \\drg[S] [МАСКА] список назначений ролей\n" -#: help.c:284 +#: help.c:261 msgid " \\dRp[+] [PATTERN] list replication publications\n" msgstr " \\dRp[+] [МАСКА] список публикаций для репликации\n" -#: help.c:285 +#: help.c:262 msgid " \\dRs[+] [PATTERN] list replication subscriptions\n" msgstr " \\dRs[+] [МАСКА] список подписок на репликацию\n" -#: help.c:286 +#: help.c:263 msgid " \\ds[S+] [PATTERN] list sequences\n" msgstr " \\ds[S+] [МАСКА] список последовательностей\n" -#: help.c:287 +#: help.c:264 msgid " \\dt[S+] [PATTERN] list tables\n" msgstr " \\dt[S+] [МАСКА] список таблиц\n" -#: help.c:288 +#: help.c:265 msgid " \\dT[S+] [PATTERN] list data types\n" msgstr " \\dT[S+] [МАСКА] список типов данных\n" -#: help.c:289 +#: help.c:266 msgid " \\du[S+] [PATTERN] list roles\n" msgstr " \\du[S+] [МАСКА] список ролей\n" -#: help.c:290 +#: help.c:267 msgid " \\dv[S+] [PATTERN] list views\n" msgstr " \\dv[S+] [МАСКА] список представлений\n" -#: help.c:291 +#: help.c:268 msgid " \\dx[+] [PATTERN] list extensions\n" msgstr " \\dx[+] [МАСКА] список расширений\n" -#: help.c:292 +#: help.c:269 msgid " \\dX [PATTERN] list extended statistics\n" msgstr " \\dX [МАСКА] список расширенных статистик\n" -#: help.c:293 +#: help.c:270 msgid " \\dy[+] [PATTERN] list event triggers\n" msgstr " \\dy[+] [МАСКА] список событийных триггеров\n" -#: help.c:294 +#: help.c:271 msgid " \\l[+] [PATTERN] list databases\n" msgstr " \\l[+] [МАСКА] список баз данных\n" -#: help.c:295 +#: help.c:272 msgid " \\sf[+] FUNCNAME show a function's definition\n" msgstr " \\sf[+] ИМЯ_ФУНКЦИИ показать определение функции\n" # well-spelled: ПРЕДСТ -#: help.c:296 +#: help.c:273 msgid " \\sv[+] VIEWNAME show a view's definition\n" msgstr " \\sv[+] ИМЯ_ПРЕДСТ показать определение представления\n" -#: help.c:297 +#: help.c:274 msgid " \\z[S] [PATTERN] same as \\dp\n" msgstr " \\z[S] [МАСКА] то же, что и \\dp\n" -#: help.c:300 +#: help.c:277 msgid "Large Objects\n" msgstr "Большие объекты\n" -#: help.c:301 +#: help.c:278 msgid " \\lo_export LOBOID FILE write large object to file\n" msgstr " \\lo_export OID_БО ФАЙЛ записать большой объект в файл\n" -#: help.c:302 +#: help.c:279 msgid "" " \\lo_import FILE [COMMENT]\n" " read large object from file\n" @@ -3356,32 +3407,32 @@ msgstr "" " \\lo_import ФАЙЛ [КОММЕНТАРИЙ]\n" " прочитать большой объект из файла\n" -#: help.c:304 +#: help.c:281 msgid " \\lo_list[+] list large objects\n" msgstr " \\lo_list[+] список больших объектов\n" -#: help.c:305 +#: help.c:282 msgid " \\lo_unlink LOBOID delete a large object\n" msgstr " \\lo_unlink OID_БО удалить большой объект\n" -#: help.c:308 +#: help.c:285 msgid "Formatting\n" msgstr "Форматирование\n" -#: help.c:309 +#: help.c:286 msgid "" " \\a toggle between unaligned and aligned output mode\n" msgstr "" " \\a переключение режимов вывода:\n" " неформатированный/выровненный\n" -#: help.c:310 +#: help.c:287 msgid " \\C [STRING] set table title, or unset if none\n" msgstr "" " \\C [СТРОКА] задать заголовок таблицы или убрать, если не " "задан\n" -#: help.c:311 +#: help.c:288 msgid "" " \\f [STRING] show or set field separator for unaligned query " "output\n" @@ -3389,13 +3440,13 @@ msgstr "" " \\f [СТРОКА] показать или установить разделитель полей для\n" " неформатированного вывода\n" -#: help.c:312 +#: help.c:289 #, c-format msgid " \\H toggle HTML output mode (currently %s)\n" msgstr "" " \\H переключить режим вывода в HTML (текущий: %s)\n" -#: help.c:314 +#: help.c:291 msgid "" " \\pset [NAME [VALUE]] set table output option\n" " (border|columns|csv_fieldsep|expanded|fieldsep|\n" @@ -3413,89 +3464,89 @@ msgstr "" " unicode_border_linestyle|unicode_column_linestyle|\n" " unicode_header_linestyle)\n" -#: help.c:321 +#: help.c:298 #, c-format msgid " \\t [on|off] show only rows (currently %s)\n" msgstr " \\t [on|off] режим вывода только строк (сейчас: %s)\n" -#: help.c:323 +#: help.c:300 msgid "" " \\T [STRING] set HTML
tag attributes, or unset if none\n" msgstr "" " \\T [СТРОКА] задать атрибуты для
или убрать, если не " "заданы\n" -#: help.c:324 +#: help.c:301 #, c-format msgid " \\x [on|off|auto] toggle expanded output (currently %s)\n" msgstr "" " \\x [on|off|auto] переключить режим расширенного вывода (сейчас: " "%s)\n" -#: help.c:325 +#: help.c:302 msgid "auto" msgstr "auto" -#: help.c:328 +#: help.c:305 msgid "Connection\n" msgstr "Соединение\n" -#: help.c:330 +#: help.c:307 #, c-format msgid "" " \\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}\n" " connect to new database (currently \"%s\")\n" msgstr "" -" \\c[onnect] {[БД|- ПОЛЬЗОВАТЕЛЬ|- СЕРВЕР|- ПОРТ|-] | conninfo}\n" +" \\c[onnect] {[БД|- ПОЛЬЗОВАТЕЛЬ|- КОМПЬЮТЕР|- ПОРТ|-] | conninfo}\n" " подключиться к другой базе данных\n" " (текущая: \"%s\")\n" -#: help.c:334 +#: help.c:311 msgid "" " \\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}\n" " connect to new database (currently no connection)\n" msgstr "" -" \\c[onnect] {[БД|- ПОЛЬЗОВАТЕЛЬ|- СЕРВЕР|- ПОРТ|-] | conninfo}\n" +" \\c[onnect] {[БД|- ПОЛЬЗОВАТЕЛЬ|- КОМПЬЮТЕР|- ПОРТ|-] | conninfo}\n" " подключиться к другой базе данных\n" " (сейчас подключения нет)\n" -#: help.c:336 +#: help.c:313 msgid "" " \\conninfo display information about current connection\n" msgstr " \\conninfo информация о текущем соединении\n" -#: help.c:337 +#: help.c:314 msgid " \\encoding [ENCODING] show or set client encoding\n" msgstr " \\encoding [КОДИРОВКА] показать/установить клиентскую кодировку\n" -#: help.c:338 +#: help.c:315 msgid " \\password [USERNAME] securely change the password for a user\n" msgstr " \\password [ИМЯ] безопасно сменить пароль пользователя\n" -#: help.c:341 +#: help.c:318 msgid "Operating System\n" msgstr "Операционная система\n" -#: help.c:342 +#: help.c:319 msgid " \\cd [DIR] change the current working directory\n" msgstr " \\cd [ПУТЬ] сменить текущий каталог\n" # well-spelled: ОКР -#: help.c:343 +#: help.c:320 msgid " \\getenv PSQLVAR ENVVAR fetch environment variable\n" msgstr " \\getenv ПЕР_PSQL ПЕР_ОКР прочитать переменную окружения\n" -#: help.c:344 +#: help.c:321 msgid " \\setenv NAME [VALUE] set or unset environment variable\n" msgstr "" " \\setenv ИМЯ [ЗНАЧЕНИЕ] установить или сбросить переменную окружения\n" -#: help.c:345 +#: help.c:322 #, c-format msgid " \\timing [on|off] toggle timing of commands (currently %s)\n" msgstr " \\timing [on|off] включить/выключить секундомер (сейчас: %s)\n" -#: help.c:347 +#: help.c:324 msgid "" " \\! [COMMAND] execute command in shell or start interactive " "shell\n" @@ -3503,17 +3554,17 @@ msgstr "" " \\! [КОМАНДА] выполнить команду в командной оболочке\n" " или запустить интерактивную оболочку\n" -#: help.c:350 +#: help.c:327 msgid "Variables\n" msgstr "Переменные\n" -#: help.c:351 +#: help.c:328 msgid " \\prompt [TEXT] NAME prompt user to set internal variable\n" msgstr "" " \\prompt [ТЕКСТ] ИМЯ предложить пользователю задать внутреннюю " "переменную\n" -#: help.c:352 +#: help.c:329 msgid "" " \\set [NAME [VALUE]] set internal variable, or list all if no " "parameters\n" @@ -3521,11 +3572,11 @@ msgstr "" " \\set [ИМЯ [ЗНАЧЕНИЕ]] установить внутреннюю переменную или вывести все,\n" " если имя не задано\n" -#: help.c:353 +#: help.c:330 msgid " \\unset NAME unset (delete) internal variable\n" msgstr " \\unset ИМЯ сбросить (удалить) внутреннюю переменную\n" -#: help.c:392 +#: help.c:369 msgid "" "List of specially treated variables\n" "\n" @@ -3533,11 +3584,11 @@ msgstr "" "Список специальных переменных\n" "\n" -#: help.c:394 +#: help.c:371 msgid "psql variables:\n" msgstr "Переменные psql:\n" -#: help.c:396 +#: help.c:373 msgid "" " psql --set=NAME=VALUE\n" " or \\set NAME VALUE inside psql\n" @@ -3547,7 +3598,7 @@ msgstr "" " или \\set ИМЯ ЗНАЧЕНИЕ в приглашении psql\n" "\n" -#: help.c:398 +#: help.c:375 msgid "" " AUTOCOMMIT\n" " if set, successful SQL commands are automatically committed\n" @@ -3555,7 +3606,7 @@ msgstr "" " AUTOCOMMIT\n" " если установлен, успешные SQL-команды фиксируются автоматически\n" -#: help.c:400 +#: help.c:377 msgid "" " COMP_KEYWORD_CASE\n" " determines the case used to complete SQL key words\n" @@ -3567,7 +3618,7 @@ msgstr "" " preserve-lower (сохранять нижний),\n" " preserve-upper (сохранять верхний)]\n" -#: help.c:403 +#: help.c:380 msgid "" " DBNAME\n" " the currently connected database name\n" @@ -3575,7 +3626,7 @@ msgstr "" " DBNAME\n" " имя текущей подключённой базы данных\n" -#: help.c:405 +#: help.c:382 msgid "" " ECHO\n" " controls what input is written to standard output\n" @@ -3586,7 +3637,7 @@ msgstr "" " [all (всё), errors (ошибки), none (ничего),\n" " queries (запросы)]\n" -#: help.c:408 +#: help.c:385 msgid "" " ECHO_HIDDEN\n" " if set, display internal queries executed by backslash commands;\n" @@ -3596,7 +3647,7 @@ msgstr "" " если включено, выводит внутренние запросы, порождаемые командами с \\;\n" " если установлено значение \"noexec\", они выводятся, но не выполняются\n" -#: help.c:411 +#: help.c:388 msgid "" " ENCODING\n" " current client character set encoding\n" @@ -3604,7 +3655,7 @@ msgstr "" " ENCODING\n" " текущая кодировка клиентского набора символов\n" -#: help.c:413 +#: help.c:390 msgid "" " ERROR\n" " \"true\" if last query failed, else \"false\"\n" @@ -3612,7 +3663,7 @@ msgstr "" " ERROR\n" " \"true\" в случае ошибки в последнем запросе, иначе — \"false\"\n" -#: help.c:415 +#: help.c:392 msgid "" " FETCH_COUNT\n" " the number of result rows to fetch and display at a time (0 = " @@ -3622,7 +3673,7 @@ msgstr "" " число результирующих строк, извлекаемых и отображаемых за раз\n" " (0 = без ограничений)\n" -#: help.c:417 +#: help.c:394 msgid "" " HIDE_TABLEAM\n" " if set, table access methods are not displayed\n" @@ -3630,7 +3681,7 @@ msgstr "" " HIDE_TABLEAM\n" " если установлено, табличные методы доступа не выводятся\n" -#: help.c:419 +#: help.c:396 msgid "" " HIDE_TOAST_COMPRESSION\n" " if set, compression methods are not displayed\n" @@ -3638,7 +3689,7 @@ msgstr "" " HIDE_TOAST_COMPRESSION\n" " если установлено, методы сжатия не выводятся\n" -#: help.c:421 +#: help.c:398 msgid "" " HISTCONTROL\n" " controls command history [ignorespace, ignoredups, ignoreboth]\n" @@ -3647,7 +3698,7 @@ msgstr "" " управляет историей команд [ignorespace (игнорировать пробелы),\n" " ignoredups (игнорировать дубли), ignoreboth (и то, и другое)]\n" -#: help.c:423 +#: help.c:400 msgid "" " HISTFILE\n" " file name used to store the command history\n" @@ -3655,7 +3706,7 @@ msgstr "" " HISTFILE\n" " имя файла, в котором будет сохраняться история команд\n" -#: help.c:425 +#: help.c:402 msgid "" " HISTSIZE\n" " maximum number of commands to store in the command history\n" @@ -3663,15 +3714,15 @@ msgstr "" " HISTSIZE\n" " максимальное число команд, сохраняемых в истории\n" -#: help.c:427 +#: help.c:404 msgid "" " HOST\n" " the currently connected database server host\n" msgstr "" " HOST\n" -" сервер баз данных, к которому установлено подключение\n" +" компьютер с сервером баз данных, к которому установлено подключение\n" -#: help.c:429 +#: help.c:406 msgid "" " IGNOREEOF\n" " number of EOFs needed to terminate an interactive session\n" @@ -3679,7 +3730,7 @@ msgstr "" " IGNOREEOF\n" " количество EOF для завершения интерактивного сеанса\n" -#: help.c:431 +#: help.c:408 msgid "" " LASTOID\n" " value of the last affected OID\n" @@ -3687,7 +3738,7 @@ msgstr "" " LASTOID\n" " значение последнего задействованного OID\n" -#: help.c:433 +#: help.c:410 msgid "" " LAST_ERROR_MESSAGE\n" " LAST_ERROR_SQLSTATE\n" @@ -3700,7 +3751,7 @@ msgstr "" "\"00000\",\n" " если ошибки не было\n" -#: help.c:436 +#: help.c:413 msgid "" " ON_ERROR_ROLLBACK\n" " if set, an error doesn't stop a transaction (uses implicit savepoints)\n" @@ -3709,7 +3760,7 @@ msgstr "" " если установлено, транзакция не прекращается при ошибке\n" " (используются неявные точки сохранения)\n" -#: help.c:438 +#: help.c:415 msgid "" " ON_ERROR_STOP\n" " stop batch execution after error\n" @@ -3717,7 +3768,7 @@ msgstr "" " ON_ERROR_STOP\n" " останавливать выполнение пакета команд после ошибки\n" -#: help.c:440 +#: help.c:417 msgid "" " PORT\n" " server port of the current connection\n" @@ -3725,7 +3776,7 @@ msgstr "" " PORT\n" " порт сервера для текущего соединения\n" -#: help.c:442 +#: help.c:419 msgid "" " PROMPT1\n" " specifies the standard psql prompt\n" @@ -3733,7 +3784,7 @@ msgstr "" " PROMPT1\n" " устанавливает стандартное приглашение psql\n" -#: help.c:444 +#: help.c:421 msgid "" " PROMPT2\n" " specifies the prompt used when a statement continues from a previous " @@ -3743,7 +3794,7 @@ msgstr "" " устанавливает приглашение, которое выводится при переносе оператора\n" " на новую строку\n" -#: help.c:446 +#: help.c:423 msgid "" " PROMPT3\n" " specifies the prompt used during COPY ... FROM STDIN\n" @@ -3751,7 +3802,7 @@ msgstr "" " PROMPT3\n" " устанавливает приглашение для выполнения COPY ... FROM STDIN\n" -#: help.c:448 +#: help.c:425 msgid "" " QUIET\n" " run quietly (same as -q option)\n" @@ -3759,7 +3810,7 @@ msgstr "" " QUIET\n" " выводить минимум сообщений (как и с параметром -q)\n" -#: help.c:450 +#: help.c:427 msgid "" " ROW_COUNT\n" " number of rows returned or affected by last query, or 0\n" @@ -3768,7 +3819,7 @@ msgstr "" " число строк, возвращённых или обработанных последним SQL-запросом, либо " "0\n" -#: help.c:452 +#: help.c:429 msgid "" " SERVER_VERSION_NAME\n" " SERVER_VERSION_NUM\n" @@ -3778,7 +3829,7 @@ msgstr "" " SERVER_VERSION_NUM\n" " версия сервера (в коротком текстовом и числовом формате)\n" -#: help.c:455 +#: help.c:432 msgid "" " SHELL_ERROR\n" " \"true\" if the last shell command failed, \"false\" if it succeeded\n" @@ -3787,7 +3838,7 @@ msgstr "" " \"true\" в случае ошибки последней команды оболочки, \"false\" в ином " "случае\n" -#: help.c:457 +#: help.c:434 msgid "" " SHELL_EXIT_CODE\n" " exit status of the last shell command\n" @@ -3795,7 +3846,7 @@ msgstr "" " SHELL_EXIT_CODE\n" " код завершения последней команды оболочки\n" -#: help.c:459 +#: help.c:436 msgid "" " SHOW_ALL_RESULTS\n" " show all results of a combined query (\\;) instead of only the last\n" @@ -3804,7 +3855,7 @@ msgstr "" " выводить все результаты объединённых запросов (\\;), а не только " "последнего\n" -#: help.c:461 +#: help.c:438 msgid "" " SHOW_CONTEXT\n" " controls display of message context fields [never, errors, always]\n" @@ -3813,7 +3864,7 @@ msgstr "" " управляет отображением полей контекста сообщений\n" " [never (не отображать никогда), errors (ошибки), always (всегда]\n" -#: help.c:463 +#: help.c:440 msgid "" " SINGLELINE\n" " if set, end of line terminates SQL commands (same as -S option)\n" @@ -3822,7 +3873,7 @@ msgstr "" " если установлено, конец строки завершает режим ввода SQL-команды\n" " (как и с параметром -S)\n" -#: help.c:465 +#: help.c:442 msgid "" " SINGLESTEP\n" " single-step mode (same as -s option)\n" @@ -3830,7 +3881,7 @@ msgstr "" " SINGLESTEP\n" " пошаговый режим (как и с параметром -s)\n" -#: help.c:467 +#: help.c:444 msgid "" " SQLSTATE\n" " SQLSTATE of last query, or \"00000\" if no error\n" @@ -3839,7 +3890,7 @@ msgstr "" " SQLSTATE последнего запроса или \"00000\", если он выполнился без " "ошибок\n" -#: help.c:469 +#: help.c:446 msgid "" " USER\n" " the currently connected database user\n" @@ -3847,7 +3898,7 @@ msgstr "" " USER\n" " текущий пользователь, подключённый к БД\n" -#: help.c:471 +#: help.c:448 msgid "" " VERBOSITY\n" " controls verbosity of error reports [default, verbose, terse, sqlstate]\n" @@ -3856,7 +3907,7 @@ msgstr "" " управляет детализацией отчётов об ошибках [default (по умолчанию),\n" " verbose (подробно), terse (кратко), sqlstate (код состояния)]\n" -#: help.c:473 +#: help.c:450 msgid "" " VERSION\n" " VERSION_NAME\n" @@ -3868,7 +3919,7 @@ msgstr "" " VERSION_NUM\n" " версия psql (в развёрнутом, в коротком текстовом и в числовом формате)\n" -#: help.c:478 +#: help.c:455 msgid "" "\n" "Display settings:\n" @@ -3876,7 +3927,7 @@ msgstr "" "\n" "Параметры отображения:\n" -#: help.c:480 +#: help.c:457 msgid "" " psql --pset=NAME[=VALUE]\n" " or \\pset NAME [VALUE] inside psql\n" @@ -3886,7 +3937,7 @@ msgstr "" " или \\pset ИМЯ [ЗНАЧЕНИЕ] в приглашении psql\n" "\n" -#: help.c:482 +#: help.c:459 msgid "" " border\n" " border style (number)\n" @@ -3894,7 +3945,7 @@ msgstr "" " border\n" " стиль границы (число)\n" -#: help.c:484 +#: help.c:461 msgid "" " columns\n" " target width for the wrapped format\n" @@ -3902,7 +3953,7 @@ msgstr "" " columns\n" " целевая ширина для формата с переносом\n" -#: help.c:486 +#: help.c:463 msgid "" " expanded (or x)\n" " expanded output [on, off, auto]\n" @@ -3910,7 +3961,7 @@ msgstr "" " expanded (или x)\n" " расширенный вывод [on (вкл.), off (выкл.), auto (авто)]\n" -#: help.c:488 +#: help.c:465 #, c-format msgid "" " fieldsep\n" @@ -3919,7 +3970,7 @@ msgstr "" " fieldsep\n" " разделитель полей для неформатированного вывода (по умолчанию \"%s\")\n" -#: help.c:491 +#: help.c:468 msgid "" " fieldsep_zero\n" " set field separator for unaligned output to a zero byte\n" @@ -3927,7 +3978,7 @@ msgstr "" " fieldsep_zero\n" " устанавливает ноль разделителем полей при неформатированном выводе\n" -#: help.c:493 +#: help.c:470 msgid "" " footer\n" " enable or disable display of the table footer [on, off]\n" @@ -3935,7 +3986,7 @@ msgstr "" " footer\n" " включает или выключает вывод подписей таблицы [on (вкл.), off (выкл.)]\n" -#: help.c:495 +#: help.c:472 msgid "" " format\n" " set output format [unaligned, aligned, wrapped, html, asciidoc, ...]\n" @@ -3945,7 +3996,7 @@ msgstr "" "\n" " aligned (выровненный), wrapped (с переносом), html, asciidoc, ...]\n" -#: help.c:497 +#: help.c:474 msgid "" " linestyle\n" " set the border line drawing style [ascii, old-ascii, unicode]\n" @@ -3953,7 +4004,7 @@ msgstr "" " linestyle\n" " задаёт стиль рисования линий границы [ascii, old-ascii, unicode]\n" -#: help.c:499 +#: help.c:476 msgid "" " null\n" " set the string to be printed in place of a null value\n" @@ -3961,7 +4012,7 @@ msgstr "" " null\n" " устанавливает строку, выводимую вместо значения NULL\n" -#: help.c:501 +#: help.c:478 msgid "" " numericlocale\n" " enable display of a locale-specific character to separate groups of " @@ -3970,7 +4021,7 @@ msgstr "" " numericlocale\n" " отключает вывод заданного локалью разделителя группы цифр\n" -#: help.c:503 +#: help.c:480 msgid "" " pager\n" " control when an external pager is used [yes, no, always]\n" @@ -3979,7 +4030,7 @@ msgstr "" " определяет, используется ли внешний постраничник\n" " [yes (да), no (нет), always (всегда)]\n" -#: help.c:505 +#: help.c:482 msgid "" " recordsep\n" " record (line) separator for unaligned output\n" @@ -3987,7 +4038,7 @@ msgstr "" " recordsep\n" " разделитель записей (строк) при неформатированном выводе\n" -#: help.c:507 +#: help.c:484 msgid "" " recordsep_zero\n" " set record separator for unaligned output to a zero byte\n" @@ -3995,7 +4046,7 @@ msgstr "" " recordsep_zero\n" " устанавливает ноль разделителем записей при неформатированном выводе\n" -#: help.c:509 +#: help.c:486 msgid "" " tableattr (or T)\n" " specify attributes for table tag in html format, or proportional\n" @@ -4005,7 +4056,7 @@ msgstr "" " задаёт атрибуты для тега table в формате html или пропорциональные\n" " ширины столбцов для выровненных влево данных, в формате latex-longtable\n" -#: help.c:512 +#: help.c:489 msgid "" " title\n" " set the table title for subsequently printed tables\n" @@ -4013,7 +4064,7 @@ msgstr "" " title\n" " задаёт заголовок таблицы для последовательно печатаемых таблиц\n" -#: help.c:514 +#: help.c:491 msgid "" " tuples_only\n" " if set, only actual table data is shown\n" @@ -4021,7 +4072,7 @@ msgstr "" " tuples_only\n" " если установлено, выводятся только непосредственно табличные данные\n" -#: help.c:516 +#: help.c:493 msgid "" " unicode_border_linestyle\n" " unicode_column_linestyle\n" @@ -4034,7 +4085,7 @@ msgstr "" " задаёт стиль рисуемых линий Unicode [single (одинарные), double " "(двойные)]\n" -#: help.c:521 +#: help.c:498 msgid "" "\n" "Environment variables:\n" @@ -4042,7 +4093,7 @@ msgstr "" "\n" "Переменные окружения:\n" -#: help.c:525 +#: help.c:502 msgid "" " NAME=VALUE [NAME=VALUE] psql ...\n" " or \\setenv NAME [VALUE] inside psql\n" @@ -4052,7 +4103,7 @@ msgstr "" " или \\setenv ИМЯ [ЗНАЧЕНИЕ] в приглашении psql\n" "\n" -#: help.c:527 +#: help.c:504 msgid "" " set NAME=VALUE\n" " psql ...\n" @@ -4064,7 +4115,7 @@ msgstr "" " или \\setenv ИМЯ ЗНАЧЕНИЕ в приглашении psql\n" "\n" -#: help.c:530 +#: help.c:507 msgid "" " COLUMNS\n" " number of columns for wrapped format\n" @@ -4072,7 +4123,7 @@ msgstr "" " COLUMNS\n" " число столбцов для форматирования с переносом\n" -#: help.c:532 +#: help.c:509 msgid "" " PGAPPNAME\n" " same as the application_name connection parameter\n" @@ -4080,7 +4131,7 @@ msgstr "" " PGAPPNAME\n" " синоним параметра подключения application_name\n" -#: help.c:534 +#: help.c:511 msgid "" " PGDATABASE\n" " same as the dbname connection parameter\n" @@ -4088,7 +4139,7 @@ msgstr "" " PGDATABASE\n" " синоним параметра подключения dbname\n" -#: help.c:536 +#: help.c:513 msgid "" " PGHOST\n" " same as the host connection parameter\n" @@ -4096,7 +4147,7 @@ msgstr "" " PGHOST\n" " синоним параметра подключения host\n" -#: help.c:538 +#: help.c:515 msgid "" " PGPASSFILE\n" " password file name\n" @@ -4104,7 +4155,7 @@ msgstr "" " PGPASSFILE\n" " имя файла с паролем\n" -#: help.c:540 +#: help.c:517 msgid "" " PGPASSWORD\n" " connection password (not recommended)\n" @@ -4112,7 +4163,7 @@ msgstr "" " PGPASSWORD\n" " пароль для подключения (использовать не рекомендуется)\n" -#: help.c:542 +#: help.c:519 msgid "" " PGPORT\n" " same as the port connection parameter\n" @@ -4120,7 +4171,7 @@ msgstr "" " PGPORT\n" " синоним параметра подключения port\n" -#: help.c:544 +#: help.c:521 msgid "" " PGUSER\n" " same as the user connection parameter\n" @@ -4128,7 +4179,7 @@ msgstr "" " PGUSER\n" " синоним параметра подключения user\n" -#: help.c:546 +#: help.c:523 msgid "" " PSQL_EDITOR, EDITOR, VISUAL\n" " editor used by the \\e, \\ef, and \\ev commands\n" @@ -4136,7 +4187,7 @@ msgstr "" " PSQL_EDITOR, EDITOR, VISUAL\n" " редактор, вызываемый командами \\e, \\ef и \\ev\n" -#: help.c:548 +#: help.c:525 msgid "" " PSQL_EDITOR_LINENUMBER_ARG\n" " how to specify a line number when invoking the editor\n" @@ -4144,7 +4195,7 @@ msgstr "" " PSQL_EDITOR_LINENUMBER_ARG\n" " определяет способ передачи номера строки при вызове редактора\n" -#: help.c:550 +#: help.c:527 msgid "" " PSQL_HISTORY\n" " alternative location for the command history file\n" @@ -4152,7 +4203,7 @@ msgstr "" " PSQL_HISTORY\n" " альтернативное размещение файла с историей команд\n" -#: help.c:552 +#: help.c:529 msgid "" " PSQL_PAGER, PAGER\n" " name of external pager program\n" @@ -4160,7 +4211,7 @@ msgstr "" " PSQL_PAGER, PAGER\n" " имя программы внешнего постраничника\n" -#: help.c:555 +#: help.c:532 msgid "" " PSQL_WATCH_PAGER\n" " name of external pager program used for \\watch\n" @@ -4168,7 +4219,7 @@ msgstr "" " PSQL_WATCH_PAGER\n" " имя программы внешнего постраничника для \\watch\n" -#: help.c:558 +#: help.c:535 msgid "" " PSQLRC\n" " alternative location for the user's .psqlrc file\n" @@ -4176,7 +4227,7 @@ msgstr "" " PSQLRC\n" " альтернативное размещение пользовательского файла .psqlrc\n" -#: help.c:560 +#: help.c:537 msgid "" " SHELL\n" " shell used by the \\! command\n" @@ -4184,7 +4235,7 @@ msgstr "" " SHELL\n" " оболочка, вызываемая командой \\!\n" -#: help.c:562 +#: help.c:539 msgid "" " TMPDIR\n" " directory for temporary files\n" @@ -4192,11 +4243,11 @@ msgstr "" " TMPDIR\n" " каталог для временных файлов\n" -#: help.c:622 +#: help.c:599 msgid "Available help:\n" msgstr "Имеющаяся справка:\n" -#: help.c:717 +#: help.c:694 #, c-format msgid "" "Command: %s\n" @@ -4215,7 +4266,7 @@ msgstr "" "URL: %s\n" "\n" -#: help.c:740 +#: help.c:717 #, c-format msgid "" "No help available for \"%s\".\n" @@ -4224,17 +4275,17 @@ msgstr "" "Нет справки по команде \"%s\".\n" "Попробуйте \\h без аргументов и посмотрите, что есть.\n" -#: input.c:216 +#: input.c:215 #, c-format msgid "could not read from input file: %m" msgstr "не удалось прочитать входной файл: %m" -#: input.c:477 input.c:515 +#: input.c:476 input.c:514 #, c-format msgid "could not save history to file \"%s\": %m" msgstr "не удалось сохранить историю в файле \"%s\": %m" -#: input.c:534 +#: input.c:533 #, c-format msgid "history is not supported by this installation" msgstr "в данной среде история не поддерживается" @@ -4327,12 +4378,12 @@ msgstr "" msgid "reached EOF without finding closing \\endif(s)" msgstr "в закончившемся потоке команд не хватает \\endif" -#: psqlscanslash.l:640 +#: psqlscanslash.l:642 #, c-format msgid "unterminated quoted string" msgstr "незавершённая строка в кавычках" -#: psqlscanslash.l:825 +#: psqlscanslash.l:842 #, c-format msgid "%s: out of memory" msgstr "%s: нехватка памяти" @@ -4340,202 +4391,202 @@ msgstr "%s: нехватка памяти" #: sql_help.c:35 sql_help.c:38 sql_help.c:41 sql_help.c:65 sql_help.c:66 #: sql_help.c:68 sql_help.c:70 sql_help.c:81 sql_help.c:83 sql_help.c:85 #: sql_help.c:113 sql_help.c:119 sql_help.c:121 sql_help.c:123 sql_help.c:125 -#: sql_help.c:126 sql_help.c:129 sql_help.c:131 sql_help.c:133 sql_help.c:240 -#: sql_help.c:242 sql_help.c:243 sql_help.c:245 sql_help.c:247 sql_help.c:250 -#: sql_help.c:252 sql_help.c:254 sql_help.c:256 sql_help.c:268 sql_help.c:269 -#: sql_help.c:270 sql_help.c:272 sql_help.c:321 sql_help.c:323 sql_help.c:325 -#: sql_help.c:327 sql_help.c:396 sql_help.c:401 sql_help.c:403 sql_help.c:445 -#: sql_help.c:447 sql_help.c:450 sql_help.c:452 sql_help.c:521 sql_help.c:526 -#: sql_help.c:531 sql_help.c:536 sql_help.c:541 sql_help.c:595 sql_help.c:597 -#: sql_help.c:599 sql_help.c:601 sql_help.c:603 sql_help.c:606 sql_help.c:608 -#: sql_help.c:611 sql_help.c:622 sql_help.c:624 sql_help.c:668 sql_help.c:670 -#: sql_help.c:672 sql_help.c:675 sql_help.c:677 sql_help.c:679 sql_help.c:716 -#: sql_help.c:720 sql_help.c:724 sql_help.c:743 sql_help.c:746 sql_help.c:749 -#: sql_help.c:778 sql_help.c:790 sql_help.c:798 sql_help.c:801 sql_help.c:804 -#: sql_help.c:819 sql_help.c:822 sql_help.c:851 sql_help.c:856 sql_help.c:861 -#: sql_help.c:866 sql_help.c:871 sql_help.c:898 sql_help.c:900 sql_help.c:902 -#: sql_help.c:904 sql_help.c:907 sql_help.c:909 sql_help.c:956 sql_help.c:1001 -#: sql_help.c:1006 sql_help.c:1011 sql_help.c:1016 sql_help.c:1021 -#: sql_help.c:1040 sql_help.c:1051 sql_help.c:1053 sql_help.c:1073 -#: sql_help.c:1083 sql_help.c:1084 sql_help.c:1086 sql_help.c:1088 -#: sql_help.c:1100 sql_help.c:1104 sql_help.c:1106 sql_help.c:1118 -#: sql_help.c:1120 sql_help.c:1122 sql_help.c:1124 sql_help.c:1143 -#: sql_help.c:1145 sql_help.c:1149 sql_help.c:1153 sql_help.c:1157 -#: sql_help.c:1160 sql_help.c:1161 sql_help.c:1162 sql_help.c:1165 -#: sql_help.c:1168 sql_help.c:1170 sql_help.c:1309 sql_help.c:1311 -#: sql_help.c:1314 sql_help.c:1317 sql_help.c:1319 sql_help.c:1321 -#: sql_help.c:1324 sql_help.c:1327 sql_help.c:1447 sql_help.c:1449 -#: sql_help.c:1451 sql_help.c:1454 sql_help.c:1475 sql_help.c:1478 -#: sql_help.c:1481 sql_help.c:1484 sql_help.c:1488 sql_help.c:1490 -#: sql_help.c:1492 sql_help.c:1494 sql_help.c:1508 sql_help.c:1511 -#: sql_help.c:1513 sql_help.c:1515 sql_help.c:1525 sql_help.c:1527 -#: sql_help.c:1537 sql_help.c:1539 sql_help.c:1549 sql_help.c:1552 -#: sql_help.c:1575 sql_help.c:1577 sql_help.c:1579 sql_help.c:1581 -#: sql_help.c:1584 sql_help.c:1586 sql_help.c:1589 sql_help.c:1592 -#: sql_help.c:1643 sql_help.c:1686 sql_help.c:1689 sql_help.c:1691 -#: sql_help.c:1693 sql_help.c:1696 sql_help.c:1698 sql_help.c:1700 -#: sql_help.c:1703 sql_help.c:1755 sql_help.c:1771 sql_help.c:2004 -#: sql_help.c:2073 sql_help.c:2092 sql_help.c:2105 sql_help.c:2163 -#: sql_help.c:2171 sql_help.c:2181 sql_help.c:2208 sql_help.c:2240 -#: sql_help.c:2258 sql_help.c:2286 sql_help.c:2397 sql_help.c:2443 -#: sql_help.c:2468 sql_help.c:2491 sql_help.c:2495 sql_help.c:2529 -#: sql_help.c:2549 sql_help.c:2571 sql_help.c:2585 sql_help.c:2606 -#: sql_help.c:2635 sql_help.c:2670 sql_help.c:2695 sql_help.c:2742 -#: sql_help.c:3040 sql_help.c:3053 sql_help.c:3070 sql_help.c:3086 -#: sql_help.c:3126 sql_help.c:3180 sql_help.c:3184 sql_help.c:3186 -#: sql_help.c:3193 sql_help.c:3212 sql_help.c:3239 sql_help.c:3274 -#: sql_help.c:3286 sql_help.c:3295 sql_help.c:3339 sql_help.c:3353 -#: sql_help.c:3381 sql_help.c:3389 sql_help.c:3401 sql_help.c:3411 -#: sql_help.c:3419 sql_help.c:3427 sql_help.c:3435 sql_help.c:3443 -#: sql_help.c:3452 sql_help.c:3463 sql_help.c:3471 sql_help.c:3479 -#: sql_help.c:3487 sql_help.c:3495 sql_help.c:3505 sql_help.c:3514 -#: sql_help.c:3523 sql_help.c:3531 sql_help.c:3541 sql_help.c:3552 -#: sql_help.c:3560 sql_help.c:3569 sql_help.c:3580 sql_help.c:3589 -#: sql_help.c:3597 sql_help.c:3605 sql_help.c:3613 sql_help.c:3621 -#: sql_help.c:3629 sql_help.c:3637 sql_help.c:3645 sql_help.c:3653 -#: sql_help.c:3661 sql_help.c:3669 sql_help.c:3686 sql_help.c:3695 -#: sql_help.c:3703 sql_help.c:3720 sql_help.c:3735 sql_help.c:4047 -#: sql_help.c:4161 sql_help.c:4190 sql_help.c:4206 sql_help.c:4208 -#: sql_help.c:4711 sql_help.c:4759 sql_help.c:4917 +#: sql_help.c:126 sql_help.c:129 sql_help.c:131 sql_help.c:133 sql_help.c:245 +#: sql_help.c:247 sql_help.c:248 sql_help.c:250 sql_help.c:252 sql_help.c:255 +#: sql_help.c:257 sql_help.c:259 sql_help.c:261 sql_help.c:276 sql_help.c:277 +#: sql_help.c:278 sql_help.c:280 sql_help.c:329 sql_help.c:331 sql_help.c:333 +#: sql_help.c:335 sql_help.c:404 sql_help.c:409 sql_help.c:411 sql_help.c:453 +#: sql_help.c:455 sql_help.c:458 sql_help.c:460 sql_help.c:529 sql_help.c:534 +#: sql_help.c:539 sql_help.c:544 sql_help.c:549 sql_help.c:603 sql_help.c:605 +#: sql_help.c:607 sql_help.c:609 sql_help.c:611 sql_help.c:614 sql_help.c:616 +#: sql_help.c:619 sql_help.c:630 sql_help.c:632 sql_help.c:676 sql_help.c:678 +#: sql_help.c:680 sql_help.c:683 sql_help.c:685 sql_help.c:687 sql_help.c:728 +#: 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 msgid "name" msgstr "имя" -#: sql_help.c:36 sql_help.c:39 sql_help.c:42 sql_help.c:332 sql_help.c:1852 -#: sql_help.c:3354 sql_help.c:4479 +#: 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 msgid "aggregate_signature" msgstr "сигнатура_агр_функции" -#: sql_help.c:37 sql_help.c:67 sql_help.c:82 sql_help.c:120 sql_help.c:255 -#: sql_help.c:273 sql_help.c:404 sql_help.c:451 sql_help.c:530 sql_help.c:578 -#: sql_help.c:596 sql_help.c:623 sql_help.c:676 sql_help.c:745 sql_help.c:800 -#: sql_help.c:821 sql_help.c:860 sql_help.c:910 sql_help.c:957 sql_help.c:1010 -#: sql_help.c:1042 sql_help.c:1052 sql_help.c:1087 sql_help.c:1107 -#: sql_help.c:1121 sql_help.c:1171 sql_help.c:1318 sql_help.c:1448 -#: sql_help.c:1491 sql_help.c:1512 sql_help.c:1526 sql_help.c:1538 -#: sql_help.c:1551 sql_help.c:1578 sql_help.c:1644 sql_help.c:1697 +#: 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 msgid "new_name" msgstr "новое_имя" -#: sql_help.c:40 sql_help.c:69 sql_help.c:84 sql_help.c:122 sql_help.c:253 -#: sql_help.c:271 sql_help.c:402 sql_help.c:487 sql_help.c:535 sql_help.c:625 -#: sql_help.c:634 sql_help.c:699 sql_help.c:719 sql_help.c:748 sql_help.c:803 -#: sql_help.c:865 sql_help.c:908 sql_help.c:1015 sql_help.c:1054 -#: sql_help.c:1085 sql_help.c:1105 sql_help.c:1119 sql_help.c:1169 -#: sql_help.c:1382 sql_help.c:1450 sql_help.c:1493 sql_help.c:1514 -#: sql_help.c:1576 sql_help.c:1692 sql_help.c:3026 +#: 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 msgid "new_owner" msgstr "новый_владелец" -#: sql_help.c:43 sql_help.c:71 sql_help.c:86 sql_help.c:257 sql_help.c:324 -#: sql_help.c:453 sql_help.c:540 sql_help.c:678 sql_help.c:723 sql_help.c:751 -#: sql_help.c:806 sql_help.c:870 sql_help.c:1020 sql_help.c:1089 -#: sql_help.c:1123 sql_help.c:1320 sql_help.c:1495 sql_help.c:1516 -#: sql_help.c:1528 sql_help.c:1540 sql_help.c:1580 sql_help.c:1699 +#: 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 msgid "new_schema" msgstr "новая_схема" -#: sql_help.c:44 sql_help.c:1916 sql_help.c:3355 sql_help.c:4508 +#: sql_help.c:44 sql_help.c:1927 sql_help.c:3368 sql_help.c:4529 msgid "where aggregate_signature is:" msgstr "где сигнатура_агр_функции:" -#: sql_help.c:45 sql_help.c:48 sql_help.c:51 sql_help.c:342 sql_help.c:355 -#: sql_help.c:359 sql_help.c:375 sql_help.c:378 sql_help.c:381 sql_help.c:522 -#: sql_help.c:527 sql_help.c:532 sql_help.c:537 sql_help.c:542 sql_help.c:852 -#: sql_help.c:857 sql_help.c:862 sql_help.c:867 sql_help.c:872 sql_help.c:1002 -#: sql_help.c:1007 sql_help.c:1012 sql_help.c:1017 sql_help.c:1022 -#: sql_help.c:1870 sql_help.c:1887 sql_help.c:1893 sql_help.c:1917 -#: sql_help.c:1920 sql_help.c:1923 sql_help.c:2074 sql_help.c:2093 -#: sql_help.c:2096 sql_help.c:2398 sql_help.c:2607 sql_help.c:3356 -#: sql_help.c:3359 sql_help.c:3362 sql_help.c:3453 sql_help.c:3542 -#: sql_help.c:3570 sql_help.c:3922 sql_help.c:4378 sql_help.c:4485 -#: sql_help.c:4492 sql_help.c:4498 sql_help.c:4509 sql_help.c:4512 -#: sql_help.c:4515 +#: 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 msgid "argmode" msgstr "режим_аргумента" -#: sql_help.c:46 sql_help.c:49 sql_help.c:52 sql_help.c:343 sql_help.c:356 -#: sql_help.c:360 sql_help.c:376 sql_help.c:379 sql_help.c:382 sql_help.c:523 -#: sql_help.c:528 sql_help.c:533 sql_help.c:538 sql_help.c:543 sql_help.c:853 -#: sql_help.c:858 sql_help.c:863 sql_help.c:868 sql_help.c:873 sql_help.c:1003 -#: sql_help.c:1008 sql_help.c:1013 sql_help.c:1018 sql_help.c:1023 -#: sql_help.c:1871 sql_help.c:1888 sql_help.c:1894 sql_help.c:1918 -#: sql_help.c:1921 sql_help.c:1924 sql_help.c:2075 sql_help.c:2094 -#: sql_help.c:2097 sql_help.c:2399 sql_help.c:2608 sql_help.c:3357 -#: sql_help.c:3360 sql_help.c:3363 sql_help.c:3454 sql_help.c:3543 -#: sql_help.c:3571 sql_help.c:4486 sql_help.c:4493 sql_help.c:4499 -#: sql_help.c:4510 sql_help.c:4513 sql_help.c:4516 +#: 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 msgid "argname" msgstr "имя_аргумента" -#: sql_help.c:47 sql_help.c:50 sql_help.c:53 sql_help.c:344 sql_help.c:357 -#: sql_help.c:361 sql_help.c:377 sql_help.c:380 sql_help.c:383 sql_help.c:524 -#: sql_help.c:529 sql_help.c:534 sql_help.c:539 sql_help.c:544 sql_help.c:854 -#: sql_help.c:859 sql_help.c:864 sql_help.c:869 sql_help.c:874 sql_help.c:1004 -#: sql_help.c:1009 sql_help.c:1014 sql_help.c:1019 sql_help.c:1024 -#: sql_help.c:1872 sql_help.c:1889 sql_help.c:1895 sql_help.c:1919 -#: sql_help.c:1922 sql_help.c:1925 sql_help.c:2400 sql_help.c:2609 -#: sql_help.c:3358 sql_help.c:3361 sql_help.c:3364 sql_help.c:3455 -#: sql_help.c:3544 sql_help.c:3572 sql_help.c:4487 sql_help.c:4494 -#: sql_help.c:4500 sql_help.c:4511 sql_help.c:4514 sql_help.c:4517 +#: 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 msgid "argtype" msgstr "тип_аргумента" -#: sql_help.c:114 sql_help.c:399 sql_help.c:476 sql_help.c:488 sql_help.c:951 -#: sql_help.c:1102 sql_help.c:1509 sql_help.c:1638 sql_help.c:1670 -#: sql_help.c:1723 sql_help.c:1787 sql_help.c:1974 sql_help.c:1981 -#: sql_help.c:2289 sql_help.c:2339 sql_help.c:2346 sql_help.c:2355 -#: sql_help.c:2444 sql_help.c:2671 sql_help.c:2764 sql_help.c:3055 -#: sql_help.c:3240 sql_help.c:3262 sql_help.c:3402 sql_help.c:3758 -#: sql_help.c:3966 sql_help.c:4205 sql_help.c:4207 sql_help.c:4984 +#: 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 msgid "option" msgstr "параметр" -#: sql_help.c:115 sql_help.c:952 sql_help.c:1639 sql_help.c:2445 -#: sql_help.c:2672 sql_help.c:3241 sql_help.c:3403 +#: 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 msgid "where option can be:" msgstr "где допустимые параметры:" -#: sql_help.c:116 sql_help.c:2221 +#: sql_help.c:116 sql_help.c:2238 msgid "allowconn" msgstr "разр_подключения" -#: sql_help.c:117 sql_help.c:953 sql_help.c:1640 sql_help.c:2222 -#: sql_help.c:2446 sql_help.c:2673 sql_help.c:3242 +#: 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 msgid "connlimit" msgstr "предел_подключений" -#: sql_help.c:118 sql_help.c:2223 +#: sql_help.c:118 sql_help.c:2240 msgid "istemplate" msgstr "это_шаблон" -#: sql_help.c:124 sql_help.c:613 sql_help.c:681 sql_help.c:695 sql_help.c:1323 -#: sql_help.c:1375 sql_help.c:4211 +#: 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 msgid "new_tablespace" msgstr "новое_табл_пространство" -#: sql_help.c:127 sql_help.c:130 sql_help.c:132 sql_help.c:550 sql_help.c:552 -#: sql_help.c:553 sql_help.c:877 sql_help.c:879 sql_help.c:880 sql_help.c:960 -#: sql_help.c:964 sql_help.c:967 sql_help.c:1029 sql_help.c:1031 -#: sql_help.c:1032 sql_help.c:1182 sql_help.c:1184 sql_help.c:1647 -#: sql_help.c:1651 sql_help.c:1654 sql_help.c:2410 sql_help.c:2613 -#: sql_help.c:3934 sql_help.c:4229 sql_help.c:4390 sql_help.c:4699 +#: 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 msgid "configuration_parameter" msgstr "параметр_конфигурации" -#: sql_help.c:128 sql_help.c:400 sql_help.c:471 sql_help.c:477 sql_help.c:489 -#: sql_help.c:551 sql_help.c:605 sql_help.c:687 sql_help.c:697 sql_help.c:878 -#: sql_help.c:906 sql_help.c:961 sql_help.c:1030 sql_help.c:1103 -#: sql_help.c:1148 sql_help.c:1152 sql_help.c:1156 sql_help.c:1159 -#: sql_help.c:1164 sql_help.c:1167 sql_help.c:1183 sql_help.c:1354 -#: sql_help.c:1377 sql_help.c:1425 sql_help.c:1433 sql_help.c:1453 -#: sql_help.c:1510 sql_help.c:1594 sql_help.c:1648 sql_help.c:1671 -#: sql_help.c:2290 sql_help.c:2340 sql_help.c:2347 sql_help.c:2356 -#: sql_help.c:2411 sql_help.c:2412 sql_help.c:2476 sql_help.c:2479 -#: sql_help.c:2513 sql_help.c:2614 sql_help.c:2615 sql_help.c:2638 -#: sql_help.c:2765 sql_help.c:2804 sql_help.c:2914 sql_help.c:2927 -#: sql_help.c:2941 sql_help.c:2982 sql_help.c:2990 sql_help.c:3012 -#: sql_help.c:3029 sql_help.c:3056 sql_help.c:3263 sql_help.c:3967 -#: sql_help.c:4700 sql_help.c:4701 sql_help.c:4702 sql_help.c:4703 +#: 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 msgid "value" msgstr "значение" @@ -4543,10 +4594,10 @@ msgstr "значение" msgid "target_role" msgstr "целевая_роль" -#: sql_help.c:203 sql_help.c:915 sql_help.c:2274 sql_help.c:2643 -#: sql_help.c:2720 sql_help.c:2725 sql_help.c:3897 sql_help.c:3906 -#: sql_help.c:3925 sql_help.c:3937 sql_help.c:4353 sql_help.c:4362 -#: sql_help.c:4381 sql_help.c:4393 +#: 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 msgid "schema_name" msgstr "имя_схемы" @@ -4560,2182 +4611,2200 @@ msgstr "где допустимое предложение_GRANT_или_REVOKE:" #: 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:576 sql_help.c:612 sql_help.c:680 sql_help.c:824 sql_help.c:971 -#: sql_help.c:1322 sql_help.c:1658 sql_help.c:2449 sql_help.c:2450 -#: sql_help.c:2451 sql_help.c:2452 sql_help.c:2453 sql_help.c:2587 -#: sql_help.c:2676 sql_help.c:2677 sql_help.c:2678 sql_help.c:2679 -#: sql_help.c:2680 sql_help.c:3245 sql_help.c:3246 sql_help.c:3247 -#: sql_help.c:3248 sql_help.c:3249 sql_help.c:3946 sql_help.c:3950 -#: sql_help.c:4402 sql_help.c:4406 sql_help.c:4721 +#: 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 msgid "role_name" msgstr "имя_роли" -#: sql_help.c:241 sql_help.c:464 sql_help.c:914 sql_help.c:1338 sql_help.c:1340 -#: sql_help.c:1392 sql_help.c:1404 sql_help.c:1429 sql_help.c:1688 -#: sql_help.c:2243 sql_help.c:2247 sql_help.c:2359 sql_help.c:2364 -#: sql_help.c:2472 sql_help.c:2642 sql_help.c:2781 sql_help.c:2786 -#: sql_help.c:2788 sql_help.c:2909 sql_help.c:2922 sql_help.c:2936 -#: sql_help.c:2945 sql_help.c:2957 sql_help.c:2986 sql_help.c:3998 -#: sql_help.c:4013 sql_help.c:4015 sql_help.c:4104 sql_help.c:4107 -#: sql_help.c:4109 sql_help.c:4572 sql_help.c:4573 sql_help.c:4582 -#: sql_help.c:4629 sql_help.c:4630 sql_help.c:4631 sql_help.c:4632 -#: sql_help.c:4633 sql_help.c:4634 sql_help.c:4674 sql_help.c:4675 -#: sql_help.c:4680 sql_help.c:4685 sql_help.c:4829 sql_help.c:4830 -#: sql_help.c:4839 sql_help.c:4886 sql_help.c:4887 sql_help.c:4888 -#: sql_help.c:4889 sql_help.c:4890 sql_help.c:4891 sql_help.c:4945 -#: sql_help.c:4947 sql_help.c:5015 sql_help.c:5075 sql_help.c:5076 -#: sql_help.c:5085 sql_help.c:5132 sql_help.c:5133 sql_help.c:5134 -#: sql_help.c:5135 sql_help.c:5136 sql_help.c:5137 +#: 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 msgid "expression" msgstr "выражение" -#: sql_help.c:244 +#: sql_help.c:249 sql_help.c:2261 msgid "domain_constraint" msgstr "ограничение_домена" -#: sql_help.c:246 sql_help.c:248 sql_help.c:251 sql_help.c:479 sql_help.c:480 -#: sql_help.c:1315 sql_help.c:1362 sql_help.c:1363 sql_help.c:1364 -#: sql_help.c:1391 sql_help.c:1403 sql_help.c:1420 sql_help.c:1858 -#: sql_help.c:1860 sql_help.c:2246 sql_help.c:2358 sql_help.c:2363 -#: sql_help.c:2944 sql_help.c:2956 sql_help.c:4010 +#: 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 msgid "constraint_name" msgstr "имя_ограничения" -#: sql_help.c:249 sql_help.c:1316 +#: sql_help.c:254 sql_help.c:1331 msgid "new_constraint_name" msgstr "имя_нового_ограничения" -#: sql_help.c:322 sql_help.c:1101 +#: sql_help.c:263 sql_help.c:2262 +msgid "where domain_constraint is:" +msgstr "где ограничение_домена может быть следующим:" + +#: sql_help.c:330 sql_help.c:1115 msgid "new_version" msgstr "новая_версия" -#: sql_help.c:326 sql_help.c:328 +#: sql_help.c:334 sql_help.c:336 msgid "member_object" msgstr "элемент_объект" -#: sql_help.c:329 +#: sql_help.c:337 msgid "where member_object is:" msgstr "где элемент_объект:" -#: sql_help.c:330 sql_help.c:335 sql_help.c:336 sql_help.c:337 sql_help.c:338 -#: sql_help.c:339 sql_help.c:340 sql_help.c:345 sql_help.c:349 sql_help.c:351 -#: sql_help.c:353 sql_help.c:362 sql_help.c:363 sql_help.c:364 sql_help.c:365 -#: sql_help.c:366 sql_help.c:367 sql_help.c:368 sql_help.c:369 sql_help.c:372 -#: sql_help.c:373 sql_help.c:1850 sql_help.c:1855 sql_help.c:1862 -#: sql_help.c:1863 sql_help.c:1864 sql_help.c:1865 sql_help.c:1866 -#: sql_help.c:1867 sql_help.c:1868 sql_help.c:1873 sql_help.c:1875 -#: sql_help.c:1879 sql_help.c:1881 sql_help.c:1885 sql_help.c:1890 -#: sql_help.c:1891 sql_help.c:1898 sql_help.c:1899 sql_help.c:1900 -#: sql_help.c:1901 sql_help.c:1902 sql_help.c:1903 sql_help.c:1904 -#: sql_help.c:1905 sql_help.c:1906 sql_help.c:1907 sql_help.c:1908 -#: sql_help.c:1913 sql_help.c:1914 sql_help.c:4475 sql_help.c:4480 -#: sql_help.c:4481 sql_help.c:4482 sql_help.c:4483 sql_help.c:4489 -#: sql_help.c:4490 sql_help.c:4495 sql_help.c:4496 sql_help.c:4501 -#: sql_help.c:4502 sql_help.c:4503 sql_help.c:4504 sql_help.c:4505 -#: sql_help.c:4506 +#: sql_help.c:338 sql_help.c:343 sql_help.c:344 sql_help.c:345 sql_help.c:346 +#: 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 msgid "object_name" msgstr "имя_объекта" # well-spelled: агр -#: sql_help.c:331 sql_help.c:1851 sql_help.c:4478 +#: sql_help.c:339 sql_help.c:1862 sql_help.c:4499 msgid "aggregate_name" msgstr "имя_агр_функции" -#: sql_help.c:333 sql_help.c:1853 sql_help.c:2139 sql_help.c:2143 -#: sql_help.c:2145 sql_help.c:3372 +#: sql_help.c:341 sql_help.c:1864 sql_help.c:2154 sql_help.c:2158 +#: sql_help.c:2160 sql_help.c:3385 msgid "source_type" msgstr "исходный_тип" -#: sql_help.c:334 sql_help.c:1854 sql_help.c:2140 sql_help.c:2144 -#: sql_help.c:2146 sql_help.c:3373 +#: sql_help.c:342 sql_help.c:1865 sql_help.c:2155 sql_help.c:2159 +#: sql_help.c:2161 sql_help.c:3386 msgid "target_type" msgstr "целевой_тип" -#: sql_help.c:341 sql_help.c:788 sql_help.c:1869 sql_help.c:2141 -#: sql_help.c:2184 sql_help.c:2262 sql_help.c:2530 sql_help.c:2561 -#: sql_help.c:3132 sql_help.c:4377 sql_help.c:4484 sql_help.c:4601 -#: sql_help.c:4605 sql_help.c:4609 sql_help.c:4612 sql_help.c:4858 -#: sql_help.c:4862 sql_help.c:4866 sql_help.c:4869 sql_help.c:5104 -#: sql_help.c:5108 sql_help.c:5112 sql_help.c:5115 +#: 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 msgid "function_name" msgstr "имя_функции" -#: sql_help.c:346 sql_help.c:781 sql_help.c:1876 sql_help.c:2554 +#: sql_help.c:354 sql_help.c:795 sql_help.c:1887 sql_help.c:2571 msgid "operator_name" msgstr "имя_оператора" -#: sql_help.c:347 sql_help.c:717 sql_help.c:721 sql_help.c:725 sql_help.c:1877 -#: sql_help.c:2531 sql_help.c:3496 +#: 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 msgid "left_type" msgstr "тип_слева" -#: sql_help.c:348 sql_help.c:718 sql_help.c:722 sql_help.c:726 sql_help.c:1878 -#: sql_help.c:2532 sql_help.c:3497 +#: 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 msgid "right_type" msgstr "тип_справа" -#: sql_help.c:350 sql_help.c:352 sql_help.c:744 sql_help.c:747 sql_help.c:750 -#: sql_help.c:779 sql_help.c:791 sql_help.c:799 sql_help.c:802 sql_help.c:805 -#: sql_help.c:1409 sql_help.c:1880 sql_help.c:1882 sql_help.c:2551 -#: sql_help.c:2572 sql_help.c:2962 sql_help.c:3506 sql_help.c:3515 +#: 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 msgid "index_method" msgstr "метод_индекса" -#: sql_help.c:354 sql_help.c:1886 sql_help.c:4491 +#: sql_help.c:362 sql_help.c:1897 sql_help.c:4512 msgid "procedure_name" msgstr "имя_процедуры" -#: sql_help.c:358 sql_help.c:1892 sql_help.c:3921 sql_help.c:4497 +#: sql_help.c:366 sql_help.c:1903 sql_help.c:3935 sql_help.c:4518 msgid "routine_name" msgstr "имя_подпрограммы" -#: sql_help.c:370 sql_help.c:1381 sql_help.c:1909 sql_help.c:2406 -#: sql_help.c:2612 sql_help.c:2917 sql_help.c:3099 sql_help.c:3677 -#: sql_help.c:3943 sql_help.c:4399 +#: 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 msgid "type_name" msgstr "имя_типа" -#: sql_help.c:371 sql_help.c:1910 sql_help.c:2405 sql_help.c:2611 -#: sql_help.c:3100 sql_help.c:3330 sql_help.c:3678 sql_help.c:3928 -#: sql_help.c:4384 +#: 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 msgid "lang_name" msgstr "имя_языка" -#: sql_help.c:374 +#: sql_help.c:382 msgid "and aggregate_signature is:" msgstr "и сигнатура_агр_функции:" -#: sql_help.c:397 sql_help.c:2006 sql_help.c:2287 +#: sql_help.c:405 sql_help.c:2021 sql_help.c:2304 msgid "handler_function" msgstr "функция_обработчик" -#: sql_help.c:398 sql_help.c:2288 +#: sql_help.c:406 sql_help.c:2305 msgid "validator_function" msgstr "функция_проверки" -#: sql_help.c:446 sql_help.c:525 sql_help.c:669 sql_help.c:855 sql_help.c:1005 -#: sql_help.c:1310 sql_help.c:1585 +#: 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 msgid "action" msgstr "действие" -#: sql_help.c:448 sql_help.c:455 sql_help.c:459 sql_help.c:460 sql_help.c:463 -#: sql_help.c:465 sql_help.c:466 sql_help.c:467 sql_help.c:469 sql_help.c:472 -#: sql_help.c:474 sql_help.c:475 sql_help.c:673 sql_help.c:683 sql_help.c:685 -#: sql_help.c:688 sql_help.c:690 sql_help.c:691 sql_help.c:913 sql_help.c:1082 -#: sql_help.c:1312 sql_help.c:1330 sql_help.c:1334 sql_help.c:1335 -#: sql_help.c:1339 sql_help.c:1341 sql_help.c:1342 sql_help.c:1343 -#: sql_help.c:1344 sql_help.c:1346 sql_help.c:1349 sql_help.c:1350 -#: sql_help.c:1352 sql_help.c:1355 sql_help.c:1357 sql_help.c:1358 -#: sql_help.c:1405 sql_help.c:1407 sql_help.c:1414 sql_help.c:1423 -#: sql_help.c:1428 sql_help.c:1435 sql_help.c:1436 sql_help.c:1687 -#: sql_help.c:1690 sql_help.c:1694 sql_help.c:1732 sql_help.c:1857 -#: sql_help.c:1971 sql_help.c:1977 sql_help.c:1991 sql_help.c:1992 -#: sql_help.c:1993 sql_help.c:2337 sql_help.c:2350 sql_help.c:2403 -#: sql_help.c:2471 sql_help.c:2477 sql_help.c:2510 sql_help.c:2641 -#: sql_help.c:2750 sql_help.c:2785 sql_help.c:2787 sql_help.c:2899 -#: sql_help.c:2908 sql_help.c:2918 sql_help.c:2921 sql_help.c:2931 -#: sql_help.c:2935 sql_help.c:2958 sql_help.c:2960 sql_help.c:2967 -#: sql_help.c:2980 sql_help.c:2985 sql_help.c:2992 sql_help.c:2993 -#: sql_help.c:3009 sql_help.c:3135 sql_help.c:3275 sql_help.c:3900 -#: sql_help.c:3901 sql_help.c:3997 sql_help.c:4012 sql_help.c:4014 -#: sql_help.c:4016 sql_help.c:4103 sql_help.c:4106 sql_help.c:4108 -#: sql_help.c:4110 sql_help.c:4356 sql_help.c:4357 sql_help.c:4477 -#: sql_help.c:4638 sql_help.c:4644 sql_help.c:4646 sql_help.c:4895 -#: sql_help.c:4901 sql_help.c:4903 sql_help.c:4944 sql_help.c:4946 -#: sql_help.c:4948 sql_help.c:5003 sql_help.c:5141 sql_help.c:5147 -#: sql_help.c:5149 +#: 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 msgid "column_name" msgstr "имя_столбца" -#: sql_help.c:449 sql_help.c:674 sql_help.c:1313 sql_help.c:1695 +#: sql_help.c:457 sql_help.c:682 sql_help.c:1328 sql_help.c:1712 msgid "new_column_name" msgstr "новое_имя_столбца" -#: sql_help.c:454 sql_help.c:546 sql_help.c:682 sql_help.c:876 sql_help.c:1026 -#: sql_help.c:1329 sql_help.c:1595 +#: 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 msgid "where action is one of:" msgstr "где допустимое действие:" -#: sql_help.c:456 sql_help.c:461 sql_help.c:1074 sql_help.c:1331 -#: sql_help.c:1336 sql_help.c:1597 sql_help.c:1601 sql_help.c:2241 -#: sql_help.c:2338 sql_help.c:2550 sql_help.c:2743 sql_help.c:2900 -#: sql_help.c:3182 sql_help.c:4162 +#: 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 msgid "data_type" msgstr "тип_данных" -#: sql_help.c:457 sql_help.c:462 sql_help.c:1332 sql_help.c:1337 -#: sql_help.c:1430 sql_help.c:1598 sql_help.c:1602 sql_help.c:2242 -#: sql_help.c:2341 sql_help.c:2473 sql_help.c:2902 sql_help.c:2910 -#: sql_help.c:2923 sql_help.c:2937 sql_help.c:2987 sql_help.c:3183 -#: sql_help.c:3189 sql_help.c:4007 +#: 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 msgid "collation" msgstr "правило_сортировки" -#: sql_help.c:458 sql_help.c:1333 sql_help.c:2342 sql_help.c:2351 -#: sql_help.c:2903 sql_help.c:2919 sql_help.c:2932 +#: 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 msgid "column_constraint" msgstr "ограничение_столбца" -#: sql_help.c:468 sql_help.c:610 sql_help.c:684 sql_help.c:1351 sql_help.c:4997 +#: sql_help.c:476 sql_help.c:618 sql_help.c:692 sql_help.c:1368 sql_help.c:5018 msgid "integer" msgstr "целое" -#: sql_help.c:470 sql_help.c:473 sql_help.c:686 sql_help.c:689 sql_help.c:1353 -#: sql_help.c:1356 +#: sql_help.c:478 sql_help.c:481 sql_help.c:694 sql_help.c:697 sql_help.c:1370 +#: sql_help.c:1373 msgid "attribute_option" msgstr "атрибут" -#: sql_help.c:478 sql_help.c:1360 sql_help.c:2343 sql_help.c:2352 -#: sql_help.c:2904 sql_help.c:2920 sql_help.c:2933 +#: 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 msgid "table_constraint" msgstr "ограничение_таблицы" -#: sql_help.c:481 sql_help.c:482 sql_help.c:483 sql_help.c:484 sql_help.c:1365 -#: sql_help.c:1366 sql_help.c:1367 sql_help.c:1368 sql_help.c:1911 +#: 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 msgid "trigger_name" msgstr "имя_триггера" -#: sql_help.c:485 sql_help.c:486 sql_help.c:1379 sql_help.c:1380 -#: sql_help.c:2344 sql_help.c:2349 sql_help.c:2907 sql_help.c:2930 +#: 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 msgid "parent_table" msgstr "таблица_родитель" -#: sql_help.c:545 sql_help.c:602 sql_help.c:671 sql_help.c:875 sql_help.c:1025 -#: sql_help.c:1554 sql_help.c:2273 +#: 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 msgid "extension_name" msgstr "имя_расширения" -#: sql_help.c:547 sql_help.c:1027 sql_help.c:2407 +#: sql_help.c:555 sql_help.c:1041 sql_help.c:2424 msgid "execution_cost" msgstr "стоимость_выполнения" -#: sql_help.c:548 sql_help.c:1028 sql_help.c:2408 +#: sql_help.c:556 sql_help.c:1042 sql_help.c:2425 msgid "result_rows" msgstr "строк_в_результате" -#: sql_help.c:549 sql_help.c:2409 +#: sql_help.c:557 sql_help.c:2426 msgid "support_function" msgstr "вспомогательная_функция" -#: sql_help.c:571 sql_help.c:573 sql_help.c:950 sql_help.c:958 sql_help.c:962 -#: sql_help.c:965 sql_help.c:968 sql_help.c:1637 sql_help.c:1645 -#: sql_help.c:1649 sql_help.c:1652 sql_help.c:1655 sql_help.c:2721 -#: sql_help.c:2723 sql_help.c:2726 sql_help.c:2727 sql_help.c:3898 -#: sql_help.c:3899 sql_help.c:3903 sql_help.c:3904 sql_help.c:3907 -#: sql_help.c:3908 sql_help.c:3910 sql_help.c:3911 sql_help.c:3913 -#: sql_help.c:3914 sql_help.c:3916 sql_help.c:3917 sql_help.c:3919 -#: sql_help.c:3920 sql_help.c:3926 sql_help.c:3927 sql_help.c:3929 -#: sql_help.c:3930 sql_help.c:3932 sql_help.c:3933 sql_help.c:3935 -#: sql_help.c:3936 sql_help.c:3938 sql_help.c:3939 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:4354 sql_help.c:4355 sql_help.c:4359 -#: sql_help.c:4360 sql_help.c:4363 sql_help.c:4364 sql_help.c:4366 -#: sql_help.c:4367 sql_help.c:4369 sql_help.c:4370 sql_help.c:4372 -#: sql_help.c:4373 sql_help.c:4375 sql_help.c:4376 sql_help.c:4382 -#: sql_help.c:4383 sql_help.c:4385 sql_help.c:4386 sql_help.c:4388 -#: sql_help.c:4389 sql_help.c:4391 sql_help.c:4392 sql_help.c:4394 -#: sql_help.c:4395 sql_help.c:4397 sql_help.c:4398 sql_help.c:4400 -#: sql_help.c:4401 sql_help.c:4403 sql_help.c:4404 +#: 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 msgid "role_specification" msgstr "указание_роли" -#: sql_help.c:572 sql_help.c:574 sql_help.c:1668 sql_help.c:2209 -#: sql_help.c:2729 sql_help.c:3260 sql_help.c:3711 sql_help.c:4731 +#: 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 msgid "user_name" msgstr "имя_пользователя" -#: sql_help.c:575 sql_help.c:970 sql_help.c:1657 sql_help.c:2728 -#: sql_help.c:3949 sql_help.c:4405 +#: sql_help.c:583 sql_help.c:984 sql_help.c:1674 sql_help.c:2741 +#: sql_help.c:3963 sql_help.c:4426 msgid "where role_specification can be:" msgstr "где допустимое указание_роли:" -#: sql_help.c:577 +#: sql_help.c:585 msgid "group_name" msgstr "имя_группы" -#: sql_help.c:598 sql_help.c:1426 sql_help.c:2220 sql_help.c:2480 -#: sql_help.c:2514 sql_help.c:2915 sql_help.c:2928 sql_help.c:2942 -#: sql_help.c:2983 sql_help.c:3013 sql_help.c:3025 sql_help.c:3940 -#: sql_help.c:4396 +#: 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 msgid "tablespace_name" msgstr "табл_пространство" -#: sql_help.c:600 sql_help.c:693 sql_help.c:1373 sql_help.c:1383 -#: sql_help.c:1421 sql_help.c:1786 sql_help.c:1789 +#: sql_help.c:608 sql_help.c:701 sql_help.c:1390 sql_help.c:1400 +#: sql_help.c:1438 sql_help.c:1800 msgid "index_name" msgstr "имя_индекса" -#: sql_help.c:604 sql_help.c:607 sql_help.c:696 sql_help.c:698 sql_help.c:1376 -#: sql_help.c:1378 sql_help.c:1424 sql_help.c:2478 sql_help.c:2512 -#: sql_help.c:2913 sql_help.c:2926 sql_help.c:2940 sql_help.c:2981 -#: sql_help.c:3011 +#: 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 msgid "storage_parameter" msgstr "параметр_хранения" -#: sql_help.c:609 +#: sql_help.c:617 msgid "column_number" msgstr "номер_столбца" -#: sql_help.c:633 sql_help.c:1874 sql_help.c:4488 +#: sql_help.c:641 sql_help.c:1885 sql_help.c:4509 msgid "large_object_oid" msgstr "oid_большого_объекта" -#: sql_help.c:692 sql_help.c:1359 sql_help.c:2901 +#: sql_help.c:700 sql_help.c:1376 sql_help.c:2914 msgid "compression_method" msgstr "метод_сжатия" -#: sql_help.c:694 sql_help.c:1374 +#: sql_help.c:702 sql_help.c:1391 msgid "new_access_method" msgstr "новый_метод_доступа" -#: sql_help.c:727 sql_help.c:2535 +#: sql_help.c:739 sql_help.c:2552 msgid "res_proc" msgstr "процедура_ограничения" -#: sql_help.c:728 sql_help.c:2536 +#: sql_help.c:740 sql_help.c:2553 msgid "join_proc" msgstr "процедура_соединения" -#: sql_help.c:780 sql_help.c:792 sql_help.c:2553 +#: sql_help.c:741 sql_help.c:2550 +msgid "com_op" +msgstr "коммут_оператор" + +#: sql_help.c:742 sql_help.c:2551 +msgid "neg_op" +msgstr "обратный_оператор" + +#: sql_help.c:794 sql_help.c:806 sql_help.c:2570 msgid "strategy_number" msgstr "номер_стратегии" -#: sql_help.c:782 sql_help.c:783 sql_help.c:786 sql_help.c:787 sql_help.c:793 -#: sql_help.c:794 sql_help.c:796 sql_help.c:797 sql_help.c:2555 sql_help.c:2556 -#: sql_help.c:2559 sql_help.c:2560 +#: 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 msgid "op_type" msgstr "тип_операции" -#: sql_help.c:784 sql_help.c:2557 +#: sql_help.c:798 sql_help.c:2574 msgid "sort_family_name" msgstr "семейство_сортировки" -#: sql_help.c:785 sql_help.c:795 sql_help.c:2558 +#: sql_help.c:799 sql_help.c:809 sql_help.c:2575 msgid "support_number" msgstr "номер_опорной_процедуры" -#: sql_help.c:789 sql_help.c:2142 sql_help.c:2562 sql_help.c:3102 -#: sql_help.c:3104 +#: sql_help.c:803 sql_help.c:2157 sql_help.c:2579 sql_help.c:3115 +#: sql_help.c:3117 msgid "argument_type" msgstr "тип_аргумента" -#: sql_help.c:820 sql_help.c:823 sql_help.c:912 sql_help.c:1041 sql_help.c:1081 -#: sql_help.c:1550 sql_help.c:1553 sql_help.c:1731 sql_help.c:1785 -#: sql_help.c:1788 sql_help.c:1859 sql_help.c:1884 sql_help.c:1897 -#: sql_help.c:1912 sql_help.c:1970 sql_help.c:1976 sql_help.c:2336 -#: sql_help.c:2348 sql_help.c:2469 sql_help.c:2509 sql_help.c:2586 -#: sql_help.c:2640 sql_help.c:2697 sql_help.c:2749 sql_help.c:2782 -#: sql_help.c:2789 sql_help.c:2898 sql_help.c:2916 sql_help.c:2929 -#: sql_help.c:3008 sql_help.c:3128 sql_help.c:3309 sql_help.c:3532 -#: sql_help.c:3581 sql_help.c:3687 sql_help.c:3896 sql_help.c:3902 -#: sql_help.c:3963 sql_help.c:3995 sql_help.c:4352 sql_help.c:4358 -#: sql_help.c:4476 sql_help.c:4587 sql_help.c:4589 sql_help.c:4651 -#: sql_help.c:4690 sql_help.c:4844 sql_help.c:4846 sql_help.c:4908 -#: sql_help.c:4942 sql_help.c:5002 sql_help.c:5090 sql_help.c:5092 -#: sql_help.c:5154 +#: 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 msgid "table_name" msgstr "имя_таблицы" -#: sql_help.c:825 sql_help.c:2588 +#: sql_help.c:839 sql_help.c:2605 msgid "using_expression" msgstr "выражение_использования" -#: sql_help.c:826 sql_help.c:2589 +#: sql_help.c:840 sql_help.c:2606 msgid "check_expression" msgstr "выражение_проверки" -#: sql_help.c:899 sql_help.c:901 sql_help.c:903 sql_help.c:2636 +#: sql_help.c:913 sql_help.c:915 sql_help.c:917 sql_help.c:2653 msgid "publication_object" msgstr "объект_публикации" -#: sql_help.c:905 sql_help.c:2637 +#: sql_help.c:919 sql_help.c:2654 msgid "publication_parameter" msgstr "параметр_публикации" -#: sql_help.c:911 sql_help.c:2639 +#: sql_help.c:925 sql_help.c:2656 msgid "where publication_object is one of:" msgstr "где объект_публикации:" -#: sql_help.c:954 sql_help.c:1641 sql_help.c:2447 sql_help.c:2674 -#: sql_help.c:3243 +#: sql_help.c:968 sql_help.c:1658 sql_help.c:2464 sql_help.c:2689 +#: sql_help.c:3256 msgid "password" msgstr "пароль" -#: sql_help.c:955 sql_help.c:1642 sql_help.c:2448 sql_help.c:2675 -#: sql_help.c:3244 +#: sql_help.c:969 sql_help.c:1659 sql_help.c:2465 sql_help.c:2690 +#: sql_help.c:3257 msgid "timestamp" msgstr "timestamp" -#: sql_help.c:959 sql_help.c:963 sql_help.c:966 sql_help.c:969 sql_help.c:1646 -#: sql_help.c:1650 sql_help.c:1653 sql_help.c:1656 sql_help.c:3909 -#: sql_help.c:4365 +#: 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 msgid "database_name" msgstr "имя_БД" -#: sql_help.c:1075 sql_help.c:2744 +#: sql_help.c:1089 sql_help.c:2757 msgid "increment" msgstr "шаг" -#: sql_help.c:1076 sql_help.c:2745 +#: sql_help.c:1090 sql_help.c:2758 msgid "minvalue" msgstr "мин_значение" -#: sql_help.c:1077 sql_help.c:2746 +#: sql_help.c:1091 sql_help.c:2759 msgid "maxvalue" msgstr "макс_значение" -#: sql_help.c:1078 sql_help.c:2747 sql_help.c:4585 sql_help.c:4688 -#: sql_help.c:4842 sql_help.c:5019 sql_help.c:5088 +#: 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 msgid "start" msgstr "начальное_значение" -#: sql_help.c:1079 sql_help.c:1348 +#: sql_help.c:1093 sql_help.c:1365 msgid "restart" msgstr "значение_перезапуска" -#: sql_help.c:1080 sql_help.c:2748 +#: sql_help.c:1094 sql_help.c:2761 msgid "cache" msgstr "кеш" -#: sql_help.c:1125 +#: sql_help.c:1139 msgid "new_target" msgstr "новое_имя" -#: sql_help.c:1144 sql_help.c:2801 +#: sql_help.c:1158 sql_help.c:2814 msgid "conninfo" msgstr "строка_подключения" -#: sql_help.c:1146 sql_help.c:1150 sql_help.c:1154 sql_help.c:2802 +#: sql_help.c:1160 sql_help.c:1164 sql_help.c:1168 sql_help.c:2815 msgid "publication_name" msgstr "имя_публикации" -#: sql_help.c:1147 sql_help.c:1151 sql_help.c:1155 +#: sql_help.c:1161 sql_help.c:1165 sql_help.c:1169 msgid "publication_option" msgstr "параметр_публикации" -#: sql_help.c:1158 +#: sql_help.c:1172 msgid "refresh_option" msgstr "параметр_обновления" -#: sql_help.c:1163 sql_help.c:2803 +#: sql_help.c:1177 sql_help.c:2816 msgid "subscription_parameter" msgstr "параметр_подписки" -#: sql_help.c:1166 +#: sql_help.c:1180 msgid "skip_option" msgstr "параметр_пропуска" -#: sql_help.c:1325 sql_help.c:1328 +#: sql_help.c:1340 sql_help.c:1343 msgid "partition_name" msgstr "имя_секции" -#: sql_help.c:1326 sql_help.c:2353 sql_help.c:2934 +#: sql_help.c:1341 sql_help.c:2370 sql_help.c:2947 msgid "partition_bound_spec" msgstr "указание_границ_секции" -#: sql_help.c:1345 sql_help.c:1395 sql_help.c:2948 +#: sql_help.c:1362 sql_help.c:1412 sql_help.c:2961 msgid "sequence_options" msgstr "параметры_последовательности" -#: sql_help.c:1347 +#: sql_help.c:1364 msgid "sequence_option" msgstr "параметр_последовательности" -#: sql_help.c:1361 +#: sql_help.c:1378 msgid "table_constraint_using_index" msgstr "ограничение_таблицы_с_индексом" -#: sql_help.c:1369 sql_help.c:1370 sql_help.c:1371 sql_help.c:1372 +#: sql_help.c:1386 sql_help.c:1387 sql_help.c:1388 sql_help.c:1389 msgid "rewrite_rule_name" msgstr "имя_правила_перезаписи" -#: sql_help.c:1384 sql_help.c:2365 sql_help.c:2973 +#: sql_help.c:1401 sql_help.c:2382 sql_help.c:2986 msgid "and partition_bound_spec is:" msgstr "и указание_границ_секции:" -#: sql_help.c:1385 sql_help.c:1386 sql_help.c:1387 sql_help.c:2366 -#: sql_help.c:2367 sql_help.c:2368 sql_help.c:2974 sql_help.c:2975 -#: sql_help.c:2976 +#: 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 msgid "partition_bound_expr" msgstr "выражение_границ_секции" -#: sql_help.c:1388 sql_help.c:1389 sql_help.c:2369 sql_help.c:2370 -#: sql_help.c:2977 sql_help.c:2978 +#: sql_help.c:1405 sql_help.c:1406 sql_help.c:2386 sql_help.c:2387 +#: sql_help.c:2990 sql_help.c:2991 msgid "numeric_literal" msgstr "числовая_константа" -#: sql_help.c:1390 +#: sql_help.c:1407 msgid "and column_constraint is:" msgstr "и ограничение_столбца:" -#: sql_help.c:1393 sql_help.c:2360 sql_help.c:2401 sql_help.c:2610 -#: sql_help.c:2946 +#: sql_help.c:1410 sql_help.c:2377 sql_help.c:2418 sql_help.c:2627 +#: sql_help.c:2959 msgid "default_expr" msgstr "выражение_по_умолчанию" -#: sql_help.c:1394 sql_help.c:2361 sql_help.c:2947 +#: sql_help.c:1411 sql_help.c:2378 sql_help.c:2960 msgid "generation_expr" msgstr "генерирующее_выражение" -#: sql_help.c:1396 sql_help.c:1397 sql_help.c:1406 sql_help.c:1408 -#: sql_help.c:1412 sql_help.c:2949 sql_help.c:2950 sql_help.c:2959 -#: sql_help.c:2961 sql_help.c:2965 +#: 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 msgid "index_parameters" msgstr "параметры_индекса" -#: sql_help.c:1398 sql_help.c:1415 sql_help.c:2951 sql_help.c:2968 +#: sql_help.c:1415 sql_help.c:1432 sql_help.c:2964 sql_help.c:2981 msgid "reftable" msgstr "целевая_таблица" -#: sql_help.c:1399 sql_help.c:1416 sql_help.c:2952 sql_help.c:2969 +#: sql_help.c:1416 sql_help.c:1433 sql_help.c:2965 sql_help.c:2982 msgid "refcolumn" msgstr "целевой_столбец" -#: sql_help.c:1400 sql_help.c:1401 sql_help.c:1417 sql_help.c:1418 -#: sql_help.c:2953 sql_help.c:2954 sql_help.c:2970 sql_help.c:2971 +#: 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 msgid "referential_action" msgstr "ссылочное_действие" -#: sql_help.c:1402 sql_help.c:2362 sql_help.c:2955 +#: sql_help.c:1419 sql_help.c:2379 sql_help.c:2968 msgid "and table_constraint is:" msgstr "и ограничение_таблицы:" -#: sql_help.c:1410 sql_help.c:2963 +#: sql_help.c:1427 sql_help.c:2976 msgid "exclude_element" msgstr "объект_исключения" -#: sql_help.c:1411 sql_help.c:2964 sql_help.c:4583 sql_help.c:4686 -#: sql_help.c:4840 sql_help.c:5017 sql_help.c:5086 +#: 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 msgid "operator" msgstr "оператор" -#: sql_help.c:1413 sql_help.c:2481 sql_help.c:2966 +#: sql_help.c:1430 sql_help.c:2498 sql_help.c:2979 msgid "predicate" msgstr "предикат" -#: sql_help.c:1419 +#: sql_help.c:1436 msgid "and table_constraint_using_index is:" msgstr "и ограничение_таблицы_с_индексом:" -#: sql_help.c:1422 sql_help.c:2979 +#: sql_help.c:1439 sql_help.c:2992 msgid "index_parameters in UNIQUE, PRIMARY KEY, and EXCLUDE constraints are:" msgstr "параметры_индекса в ограничениях UNIQUE, PRIMARY KEY и EXCLUDE:" -#: sql_help.c:1427 sql_help.c:2984 +#: sql_help.c:1444 sql_help.c:2997 msgid "exclude_element in an EXCLUDE constraint is:" msgstr "объект_исключения в ограничении EXCLUDE:" -#: sql_help.c:1431 sql_help.c:2474 sql_help.c:2911 sql_help.c:2924 -#: sql_help.c:2938 sql_help.c:2988 sql_help.c:4008 +#: 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 msgid "opclass" msgstr "класс_оператора" -#: sql_help.c:1432 sql_help.c:2475 sql_help.c:2989 +#: sql_help.c:1449 sql_help.c:2492 sql_help.c:3002 msgid "opclass_parameter" msgstr "параметр_класса_оп" -#: sql_help.c:1434 sql_help.c:2991 +#: sql_help.c:1451 sql_help.c:3004 msgid "referential_action in a FOREIGN KEY/REFERENCES constraint is:" msgstr "ссылочное действие в ограничении FOREIGN KEY/REFERENCES:" -#: sql_help.c:1452 sql_help.c:1455 sql_help.c:3028 +#: sql_help.c:1469 sql_help.c:1472 sql_help.c:3041 msgid "tablespace_option" msgstr "параметр_табл_пространства" -#: sql_help.c:1476 sql_help.c:1479 sql_help.c:1485 sql_help.c:1489 +#: sql_help.c:1493 sql_help.c:1496 sql_help.c:1502 sql_help.c:1506 msgid "token_type" msgstr "тип_фрагмента" -#: sql_help.c:1477 sql_help.c:1480 +#: sql_help.c:1494 sql_help.c:1497 msgid "dictionary_name" msgstr "имя_словаря" -#: sql_help.c:1482 sql_help.c:1486 +#: sql_help.c:1499 sql_help.c:1503 msgid "old_dictionary" msgstr "старый_словарь" -#: sql_help.c:1483 sql_help.c:1487 +#: sql_help.c:1500 sql_help.c:1504 msgid "new_dictionary" msgstr "новый_словарь" -#: sql_help.c:1582 sql_help.c:1596 sql_help.c:1599 sql_help.c:1600 -#: sql_help.c:3181 +#: sql_help.c:1599 sql_help.c:1613 sql_help.c:1616 sql_help.c:1617 +#: sql_help.c:3194 msgid "attribute_name" msgstr "имя_атрибута" -#: sql_help.c:1583 +#: sql_help.c:1600 msgid "new_attribute_name" msgstr "новое_имя_атрибута" -#: sql_help.c:1587 sql_help.c:1591 +#: sql_help.c:1604 sql_help.c:1608 msgid "new_enum_value" msgstr "новое_значение_перечисления" -#: sql_help.c:1588 +#: sql_help.c:1605 msgid "neighbor_enum_value" msgstr "соседнее_значение_перечисления" -#: sql_help.c:1590 +#: sql_help.c:1607 msgid "existing_enum_value" msgstr "существующее_значение_перечисления" -#: sql_help.c:1593 +#: sql_help.c:1610 msgid "property" msgstr "свойство" -#: sql_help.c:1669 sql_help.c:2345 sql_help.c:2354 sql_help.c:2760 -#: sql_help.c:3261 sql_help.c:3712 sql_help.c:3918 sql_help.c:3964 -#: sql_help.c:4374 +#: 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 msgid "server_name" msgstr "имя_сервера" -#: sql_help.c:1701 sql_help.c:1704 sql_help.c:3276 +#: sql_help.c:1718 sql_help.c:1721 sql_help.c:3289 msgid "view_option_name" msgstr "имя_параметра_представления" -#: sql_help.c:1702 sql_help.c:3277 +#: sql_help.c:1719 sql_help.c:3290 msgid "view_option_value" msgstr "значение_параметра_представления" -#: sql_help.c:1724 sql_help.c:1725 sql_help.c:4985 sql_help.c:4986 +#: sql_help.c:1740 sql_help.c:5007 msgid "table_and_columns" msgstr "таблица_и_столбцы" -#: sql_help.c:1726 sql_help.c:1790 sql_help.c:1982 sql_help.c:3761 -#: sql_help.c:4209 sql_help.c:4987 +#: sql_help.c:1741 sql_help.c:1801 sql_help.c:1995 sql_help.c:3774 +#: sql_help.c:4230 sql_help.c:5008 msgid "where option can be one of:" msgstr "где допустимый параметр:" -#: sql_help.c:1727 sql_help.c:1728 sql_help.c:1791 sql_help.c:1984 -#: sql_help.c:1988 sql_help.c:2168 sql_help.c:3762 sql_help.c:3763 -#: sql_help.c:3764 sql_help.c:3765 sql_help.c:3766 sql_help.c:3767 -#: sql_help.c:3768 sql_help.c:3769 sql_help.c:3770 sql_help.c:4210 -#: sql_help.c:4212 sql_help.c:4988 sql_help.c:4989 sql_help.c:4990 -#: sql_help.c:4991 sql_help.c:4992 sql_help.c:4993 sql_help.c:4994 -#: sql_help.c:4995 sql_help.c:4996 sql_help.c:4998 sql_help.c:4999 +#: 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 msgid "boolean" msgstr "логическое_значение" -#: sql_help.c:1729 sql_help.c:5000 +#: sql_help.c:1744 sql_help.c:5021 msgid "size" msgstr "размер" -#: sql_help.c:1730 sql_help.c:5001 +#: sql_help.c:1745 sql_help.c:5022 msgid "and table_and_columns is:" msgstr "и таблица_и_столбцы:" -#: sql_help.c:1746 sql_help.c:4747 sql_help.c:4749 sql_help.c:4773 +#: sql_help.c:1761 sql_help.c:4769 sql_help.c:4771 sql_help.c:4795 msgid "transaction_mode" msgstr "режим_транзакции" -#: sql_help.c:1747 sql_help.c:4750 sql_help.c:4774 +#: sql_help.c:1762 sql_help.c:4772 sql_help.c:4796 msgid "where transaction_mode is one of:" msgstr "где допустимый режим_транзакции:" -#: sql_help.c:1756 sql_help.c:4593 sql_help.c:4602 sql_help.c:4606 -#: sql_help.c:4610 sql_help.c:4613 sql_help.c:4850 sql_help.c:4859 -#: sql_help.c:4863 sql_help.c:4867 sql_help.c:4870 sql_help.c:5096 -#: sql_help.c:5105 sql_help.c:5109 sql_help.c:5113 sql_help.c:5116 +#: 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 msgid "argument" msgstr "аргумент" -#: sql_help.c:1856 +#: sql_help.c:1867 msgid "relation_name" msgstr "имя_отношения" -#: sql_help.c:1861 sql_help.c:3912 sql_help.c:4368 +#: sql_help.c:1872 sql_help.c:3926 sql_help.c:4389 msgid "domain_name" msgstr "имя_домена" -#: sql_help.c:1883 +#: sql_help.c:1894 msgid "policy_name" msgstr "имя_политики" -#: sql_help.c:1896 +#: sql_help.c:1907 msgid "rule_name" msgstr "имя_правила" -#: sql_help.c:1915 sql_help.c:4507 +#: sql_help.c:1926 sql_help.c:4528 msgid "string_literal" msgstr "строковая_константа" -#: sql_help.c:1940 sql_help.c:4171 sql_help.c:4421 +#: sql_help.c:1951 sql_help.c:4192 sql_help.c:4442 msgid "transaction_id" msgstr "код_транзакции" -#: sql_help.c:1972 sql_help.c:1979 sql_help.c:4034 +#: sql_help.c:1985 sql_help.c:1992 sql_help.c:4048 msgid "filename" msgstr "имя_файла" -#: sql_help.c:1973 sql_help.c:1980 sql_help.c:2699 sql_help.c:2700 -#: sql_help.c:2701 +#: sql_help.c:1986 sql_help.c:1993 sql_help.c:2712 sql_help.c:2713 +#: sql_help.c:2714 msgid "command" msgstr "команда" -#: sql_help.c:1975 sql_help.c:2698 sql_help.c:3131 sql_help.c:3312 -#: sql_help.c:4018 sql_help.c:4097 sql_help.c:4100 sql_help.c:4576 -#: sql_help.c:4578 sql_help.c:4679 sql_help.c:4681 sql_help.c:4833 -#: sql_help.c:4835 sql_help.c:4951 sql_help.c:5079 sql_help.c:5081 +#: 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 msgid "condition" msgstr "условие" -#: sql_help.c:1978 sql_help.c:2515 sql_help.c:3014 sql_help.c:3278 -#: sql_help.c:3296 sql_help.c:3999 +#: sql_help.c:1991 sql_help.c:2532 sql_help.c:3027 sql_help.c:3291 +#: sql_help.c:3309 sql_help.c:4013 msgid "query" msgstr "запрос" -#: sql_help.c:1983 +#: sql_help.c:1996 msgid "format_name" msgstr "имя_формата" -#: sql_help.c:1985 +#: sql_help.c:1998 msgid "delimiter_character" msgstr "символ_разделитель" -#: sql_help.c:1986 +#: sql_help.c:1999 msgid "null_string" msgstr "представление_NULL" -#: sql_help.c:1987 +#: sql_help.c:2000 msgid "default_string" msgstr "представление_DEFAULT" -#: sql_help.c:1989 +#: sql_help.c:2002 msgid "quote_character" msgstr "символ_кавычек" -#: sql_help.c:1990 +#: sql_help.c:2003 msgid "escape_character" msgstr "спецсимвол" -#: sql_help.c:1994 +#: sql_help.c:2007 +msgid "error_action" +msgstr "действие_при_ошибке" + +#: sql_help.c:2008 msgid "encoding_name" msgstr "имя_кодировки" -#: sql_help.c:2005 +#: sql_help.c:2009 +msgid "verbosity" +msgstr "детализация" + +#: sql_help.c:2020 msgid "access_method_type" msgstr "тип_метода_доступа" -#: sql_help.c:2076 sql_help.c:2095 sql_help.c:2098 +#: sql_help.c:2091 sql_help.c:2110 sql_help.c:2113 msgid "arg_data_type" msgstr "тип_данных_аргумента" -#: sql_help.c:2077 sql_help.c:2099 sql_help.c:2107 +#: sql_help.c:2092 sql_help.c:2114 sql_help.c:2122 msgid "sfunc" msgstr "функция_состояния" -#: sql_help.c:2078 sql_help.c:2100 sql_help.c:2108 +#: sql_help.c:2093 sql_help.c:2115 sql_help.c:2123 msgid "state_data_type" msgstr "тип_данных_состояния" -#: sql_help.c:2079 sql_help.c:2101 sql_help.c:2109 +#: sql_help.c:2094 sql_help.c:2116 sql_help.c:2124 msgid "state_data_size" msgstr "размер_данных_состояния" -#: sql_help.c:2080 sql_help.c:2102 sql_help.c:2110 +#: sql_help.c:2095 sql_help.c:2117 sql_help.c:2125 msgid "ffunc" msgstr "функция_завершения" -#: sql_help.c:2081 sql_help.c:2111 +#: sql_help.c:2096 sql_help.c:2126 msgid "combinefunc" msgstr "комбинирующая_функция" -#: sql_help.c:2082 sql_help.c:2112 +#: sql_help.c:2097 sql_help.c:2127 msgid "serialfunc" msgstr "функция_сериализации" -#: sql_help.c:2083 sql_help.c:2113 +#: sql_help.c:2098 sql_help.c:2128 msgid "deserialfunc" msgstr "функция_десериализации" -#: sql_help.c:2084 sql_help.c:2103 sql_help.c:2114 +#: sql_help.c:2099 sql_help.c:2118 sql_help.c:2129 msgid "initial_condition" msgstr "начальное_условие" -#: sql_help.c:2085 sql_help.c:2115 +#: sql_help.c:2100 sql_help.c:2130 msgid "msfunc" msgstr "функция_состояния_движ" -#: sql_help.c:2086 sql_help.c:2116 +#: sql_help.c:2101 sql_help.c:2131 msgid "minvfunc" msgstr "обратная_функция_движ" -#: sql_help.c:2087 sql_help.c:2117 +#: sql_help.c:2102 sql_help.c:2132 msgid "mstate_data_type" msgstr "тип_данных_состояния_движ" -#: sql_help.c:2088 sql_help.c:2118 +#: sql_help.c:2103 sql_help.c:2133 msgid "mstate_data_size" msgstr "размер_данных_состояния_движ" -#: sql_help.c:2089 sql_help.c:2119 +#: sql_help.c:2104 sql_help.c:2134 msgid "mffunc" msgstr "функция_завершения_движ" -#: sql_help.c:2090 sql_help.c:2120 +#: sql_help.c:2105 sql_help.c:2135 msgid "minitial_condition" msgstr "начальное_условие_движ" -#: sql_help.c:2091 sql_help.c:2121 +#: sql_help.c:2106 sql_help.c:2136 msgid "sort_operator" msgstr "оператор_сортировки" -#: sql_help.c:2104 +#: sql_help.c:2119 msgid "or the old syntax" msgstr "или старый синтаксис" -#: sql_help.c:2106 +#: sql_help.c:2121 msgid "base_type" msgstr "базовый_тип" -#: sql_help.c:2164 sql_help.c:2213 +#: sql_help.c:2179 sql_help.c:2229 msgid "locale" msgstr "код_локали" -#: sql_help.c:2165 sql_help.c:2214 +#: sql_help.c:2180 sql_help.c:2230 msgid "lc_collate" msgstr "код_правила_сортировки" -#: sql_help.c:2166 sql_help.c:2215 +#: sql_help.c:2181 sql_help.c:2231 msgid "lc_ctype" msgstr "код_классификации_символов" -#: sql_help.c:2167 sql_help.c:4474 +#: sql_help.c:2182 sql_help.c:4495 msgid "provider" msgstr "провайдер" -#: sql_help.c:2169 +#: sql_help.c:2184 msgid "rules" msgstr "правила" -#: sql_help.c:2170 sql_help.c:2275 +#: sql_help.c:2185 sql_help.c:2292 msgid "version" msgstr "версия" -#: sql_help.c:2172 +#: sql_help.c:2187 msgid "existing_collation" msgstr "существующее_правило_сортировки" -#: sql_help.c:2182 +#: sql_help.c:2197 msgid "source_encoding" msgstr "исходная_кодировка" -#: sql_help.c:2183 +#: sql_help.c:2198 msgid "dest_encoding" msgstr "целевая_кодировка" -#: sql_help.c:2210 sql_help.c:3054 +#: sql_help.c:2226 sql_help.c:3067 msgid "template" msgstr "шаблон" -#: sql_help.c:2211 +#: sql_help.c:2227 msgid "encoding" msgstr "кодировка" -#: sql_help.c:2212 +#: sql_help.c:2228 msgid "strategy" msgstr "стратегия" -#: sql_help.c:2216 +#: sql_help.c:2232 +msgid "builtin_locale" +msgstr "встроенная_локаль" + +#: sql_help.c:2233 msgid "icu_locale" msgstr "локаль_icu" -#: sql_help.c:2217 +#: sql_help.c:2234 msgid "icu_rules" msgstr "правила_icu" -#: sql_help.c:2218 +#: sql_help.c:2235 msgid "locale_provider" msgstr "провайдер_локали" -#: sql_help.c:2219 +#: sql_help.c:2236 msgid "collation_version" msgstr "версия_правила_сортировки" -#: sql_help.c:2224 +#: sql_help.c:2241 msgid "oid" msgstr "oid" -#: sql_help.c:2244 -msgid "constraint" -msgstr "ограничение" - -#: sql_help.c:2245 -msgid "where constraint is:" -msgstr "где ограничение:" - -#: sql_help.c:2259 sql_help.c:2696 sql_help.c:3127 +#: sql_help.c:2276 sql_help.c:2709 sql_help.c:3140 msgid "event" msgstr "событие" -#: sql_help.c:2260 +#: sql_help.c:2277 msgid "filter_variable" msgstr "переменная_фильтра" -#: sql_help.c:2261 +#: sql_help.c:2278 msgid "filter_value" msgstr "значение_фильтра" -#: sql_help.c:2357 sql_help.c:2943 +#: sql_help.c:2374 sql_help.c:2956 msgid "where column_constraint is:" msgstr "где ограничение_столбца:" -#: sql_help.c:2402 +#: sql_help.c:2419 msgid "rettype" msgstr "тип_возврата" -#: sql_help.c:2404 +#: sql_help.c:2421 msgid "column_type" msgstr "тип_столбца" -#: sql_help.c:2413 sql_help.c:2616 +#: sql_help.c:2430 sql_help.c:2633 msgid "definition" msgstr "определение" -#: sql_help.c:2414 sql_help.c:2617 +#: sql_help.c:2431 sql_help.c:2634 msgid "obj_file" msgstr "объектный_файл" -#: sql_help.c:2415 sql_help.c:2618 +#: sql_help.c:2432 sql_help.c:2635 msgid "link_symbol" msgstr "символ_в_экспорте" -#: sql_help.c:2416 sql_help.c:2619 +#: sql_help.c:2433 sql_help.c:2636 msgid "sql_body" msgstr "тело_sql" -#: sql_help.c:2454 sql_help.c:2681 sql_help.c:3250 +#: sql_help.c:2471 sql_help.c:2694 sql_help.c:3263 msgid "uid" msgstr "uid" -#: sql_help.c:2470 sql_help.c:2511 sql_help.c:2912 sql_help.c:2925 -#: sql_help.c:2939 sql_help.c:3010 +#: sql_help.c:2487 sql_help.c:2528 sql_help.c:2925 sql_help.c:2938 +#: sql_help.c:2952 sql_help.c:3023 msgid "method" msgstr "метод" -#: sql_help.c:2492 +#: sql_help.c:2509 msgid "call_handler" msgstr "обработчик_вызова" -#: sql_help.c:2493 +#: sql_help.c:2510 msgid "inline_handler" msgstr "обработчик_внедрённого_кода" -#: sql_help.c:2494 +#: sql_help.c:2511 msgid "valfunction" msgstr "функция_проверки" -#: sql_help.c:2533 -msgid "com_op" -msgstr "коммут_оператор" - -#: sql_help.c:2534 -msgid "neg_op" -msgstr "обратный_оператор" - -#: sql_help.c:2552 +#: sql_help.c:2569 msgid "family_name" msgstr "имя_семейства" -#: sql_help.c:2563 +#: sql_help.c:2580 msgid "storage_type" msgstr "тип_хранения" -#: sql_help.c:2702 sql_help.c:3134 +#: sql_help.c:2715 sql_help.c:3147 msgid "where event can be one of:" msgstr "где допустимое событие:" -#: sql_help.c:2722 sql_help.c:2724 +#: sql_help.c:2735 sql_help.c:2737 msgid "schema_element" msgstr "элемент_схемы" -#: sql_help.c:2761 +#: sql_help.c:2774 msgid "server_type" msgstr "тип_сервера" -#: sql_help.c:2762 +#: sql_help.c:2775 msgid "server_version" msgstr "версия_сервера" -#: sql_help.c:2763 sql_help.c:3915 sql_help.c:4371 +#: sql_help.c:2776 sql_help.c:3929 sql_help.c:4392 msgid "fdw_name" msgstr "имя_обёртки_сторонних_данных" -#: sql_help.c:2780 sql_help.c:2783 +#: sql_help.c:2793 sql_help.c:2796 msgid "statistics_name" msgstr "имя_статистики" -#: sql_help.c:2784 +#: sql_help.c:2797 msgid "statistics_kind" msgstr "вид_статистики" -#: sql_help.c:2800 +#: sql_help.c:2813 msgid "subscription_name" msgstr "имя_подписки" -#: sql_help.c:2905 +#: sql_help.c:2918 msgid "source_table" msgstr "исходная_таблица" -#: sql_help.c:2906 +#: sql_help.c:2919 msgid "like_option" msgstr "параметр_порождения" -#: sql_help.c:2972 +#: sql_help.c:2985 msgid "and like_option is:" msgstr "и параметр_порождения:" -#: sql_help.c:3027 +#: sql_help.c:3040 msgid "directory" msgstr "каталог" -#: sql_help.c:3041 +#: sql_help.c:3054 msgid "parser_name" msgstr "имя_анализатора" -#: sql_help.c:3042 +#: sql_help.c:3055 msgid "source_config" msgstr "исходная_конфигурация" -#: sql_help.c:3071 +#: sql_help.c:3084 msgid "start_function" msgstr "функция_начала" -#: sql_help.c:3072 +#: sql_help.c:3085 msgid "gettoken_function" msgstr "функция_выдачи_фрагмента" -#: sql_help.c:3073 +#: sql_help.c:3086 msgid "end_function" msgstr "функция_окончания" -#: sql_help.c:3074 +#: sql_help.c:3087 msgid "lextypes_function" msgstr "функция_лекс_типов" -#: sql_help.c:3075 +#: sql_help.c:3088 msgid "headline_function" msgstr "функция_создания_выдержек" -#: sql_help.c:3087 +#: sql_help.c:3100 msgid "init_function" msgstr "функция_инициализации" -#: sql_help.c:3088 +#: sql_help.c:3101 msgid "lexize_function" msgstr "функция_выделения_лексем" -#: sql_help.c:3101 +#: sql_help.c:3114 msgid "from_sql_function_name" msgstr "имя_функции_из_sql" -#: sql_help.c:3103 +#: sql_help.c:3116 msgid "to_sql_function_name" msgstr "имя_функции_в_sql" -#: sql_help.c:3129 +#: sql_help.c:3142 msgid "referenced_table_name" msgstr "ссылающаяся_таблица" -#: sql_help.c:3130 +#: sql_help.c:3143 msgid "transition_relation_name" msgstr "имя_переходного_отношения" -#: sql_help.c:3133 +#: sql_help.c:3146 msgid "arguments" msgstr "аргументы" -#: sql_help.c:3185 +#: sql_help.c:3198 msgid "label" msgstr "метка" -#: sql_help.c:3187 +#: sql_help.c:3200 msgid "subtype" msgstr "подтип" -#: sql_help.c:3188 +#: sql_help.c:3201 msgid "subtype_operator_class" msgstr "класс_оператора_подтипа" -#: sql_help.c:3190 +#: sql_help.c:3203 msgid "canonical_function" msgstr "каноническая_функция" -#: sql_help.c:3191 +#: sql_help.c:3204 msgid "subtype_diff_function" msgstr "функция_различий_подтипа" -#: sql_help.c:3192 +#: sql_help.c:3205 msgid "multirange_type_name" msgstr "имя_мультидиапазонного_типа" -#: sql_help.c:3194 +#: sql_help.c:3207 msgid "input_function" msgstr "функция_ввода" -#: sql_help.c:3195 +#: sql_help.c:3208 msgid "output_function" msgstr "функция_вывода" -#: sql_help.c:3196 +#: sql_help.c:3209 msgid "receive_function" msgstr "функция_получения" -#: sql_help.c:3197 +#: sql_help.c:3210 msgid "send_function" msgstr "функция_отправки" -#: sql_help.c:3198 +#: sql_help.c:3211 msgid "type_modifier_input_function" msgstr "функция_ввода_модификатора_типа" -#: sql_help.c:3199 +#: sql_help.c:3212 msgid "type_modifier_output_function" msgstr "функция_вывода_модификатора_типа" -#: sql_help.c:3200 +#: sql_help.c:3213 msgid "analyze_function" msgstr "функция_анализа" -#: sql_help.c:3201 +#: sql_help.c:3214 msgid "subscript_function" msgstr "функция_обращения_по_индексу" -#: sql_help.c:3202 +#: sql_help.c:3215 msgid "internallength" msgstr "внутр_длина" -#: sql_help.c:3203 +#: sql_help.c:3216 msgid "alignment" msgstr "выравнивание" -#: sql_help.c:3204 +#: sql_help.c:3217 msgid "storage" msgstr "хранение" -#: sql_help.c:3205 +#: sql_help.c:3218 msgid "like_type" msgstr "тип_образец" -#: sql_help.c:3206 +#: sql_help.c:3219 msgid "category" msgstr "категория" -#: sql_help.c:3207 +#: sql_help.c:3220 msgid "preferred" msgstr "предпочитаемый" -#: sql_help.c:3208 +#: sql_help.c:3221 msgid "default" msgstr "по_умолчанию" -#: sql_help.c:3209 +#: sql_help.c:3222 msgid "element" msgstr "элемент" -#: sql_help.c:3210 +#: sql_help.c:3223 msgid "delimiter" msgstr "разделитель" -#: sql_help.c:3211 +#: sql_help.c:3224 msgid "collatable" msgstr "сортируемый" -#: sql_help.c:3308 sql_help.c:3994 sql_help.c:4086 sql_help.c:4571 -#: sql_help.c:4673 sql_help.c:4828 sql_help.c:4941 sql_help.c:5074 +#: 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 msgid "with_query" msgstr "запрос_WITH" -#: sql_help.c:3310 sql_help.c:3996 sql_help.c:4590 sql_help.c:4596 -#: sql_help.c:4599 sql_help.c:4603 sql_help.c:4607 sql_help.c:4615 -#: sql_help.c:4847 sql_help.c:4853 sql_help.c:4856 sql_help.c:4860 -#: sql_help.c:4864 sql_help.c:4872 sql_help.c:4943 sql_help.c:5093 -#: sql_help.c:5099 sql_help.c:5102 sql_help.c:5106 sql_help.c:5110 -#: sql_help.c:5118 +#: 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 msgid "alias" msgstr "псевдоним" -#: sql_help.c:3311 sql_help.c:4575 sql_help.c:4617 sql_help.c:4619 -#: sql_help.c:4623 sql_help.c:4625 sql_help.c:4626 sql_help.c:4627 -#: sql_help.c:4678 sql_help.c:4832 sql_help.c:4874 sql_help.c:4876 -#: sql_help.c:4880 sql_help.c:4882 sql_help.c:4883 sql_help.c:4884 -#: sql_help.c:4950 sql_help.c:5078 sql_help.c:5120 sql_help.c:5122 -#: sql_help.c:5126 sql_help.c:5128 sql_help.c:5129 sql_help.c:5130 +#: 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 msgid "from_item" msgstr "источник_данных" -#: sql_help.c:3313 sql_help.c:3796 sql_help.c:4138 sql_help.c:4952 +#: sql_help.c:3326 sql_help.c:3810 sql_help.c:4159 sql_help.c:4975 msgid "cursor_name" msgstr "имя_курсора" -#: sql_help.c:3314 sql_help.c:4002 sql_help.c:4953 +#: sql_help.c:3327 sql_help.c:4016 sql_help.c:4108 sql_help.c:4976 msgid "output_expression" msgstr "выражение_результата" -#: sql_help.c:3315 sql_help.c:4003 sql_help.c:4574 sql_help.c:4676 -#: sql_help.c:4831 sql_help.c:4954 sql_help.c:5077 +#: 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 msgid "output_name" msgstr "имя_результата" -#: sql_help.c:3331 +#: sql_help.c:3344 msgid "code" msgstr "внедрённый_код" -#: sql_help.c:3736 +#: sql_help.c:3749 msgid "parameter" msgstr "параметр" -#: sql_help.c:3759 sql_help.c:3760 sql_help.c:4163 +#: sql_help.c:3773 sql_help.c:4184 msgid "statement" msgstr "оператор" -#: sql_help.c:3795 sql_help.c:4137 +#: sql_help.c:3809 sql_help.c:4158 msgid "direction" msgstr "направление" -#: sql_help.c:3797 sql_help.c:4139 +#: sql_help.c:3811 sql_help.c:4160 msgid "where direction can be one of:" msgstr "где допустимое направление:" -#: sql_help.c:3798 sql_help.c:3799 sql_help.c:3800 sql_help.c:3801 -#: sql_help.c:3802 sql_help.c:4140 sql_help.c:4141 sql_help.c:4142 -#: sql_help.c:4143 sql_help.c:4144 sql_help.c:4584 sql_help.c:4586 -#: sql_help.c:4687 sql_help.c:4689 sql_help.c:4841 sql_help.c:4843 -#: sql_help.c:5018 sql_help.c:5020 sql_help.c:5087 sql_help.c:5089 +#: 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 msgid "count" msgstr "число" -#: sql_help.c:3905 sql_help.c:4361 +#: sql_help.c:3919 sql_help.c:4382 msgid "sequence_name" msgstr "имя_последовательности" -#: sql_help.c:3923 sql_help.c:4379 +#: sql_help.c:3937 sql_help.c:4400 msgid "arg_name" msgstr "имя_аргумента" -#: sql_help.c:3924 sql_help.c:4380 +#: sql_help.c:3938 sql_help.c:4401 msgid "arg_type" msgstr "тип_аргумента" -#: sql_help.c:3931 sql_help.c:4387 +#: sql_help.c:3945 sql_help.c:4408 msgid "loid" msgstr "код_БО" -#: sql_help.c:3962 +#: sql_help.c:3976 msgid "remote_schema" msgstr "удалённая_схема" -#: sql_help.c:3965 +#: sql_help.c:3979 msgid "local_schema" msgstr "локальная_схема" -#: sql_help.c:4000 +#: sql_help.c:4014 msgid "conflict_target" msgstr "объект_конфликта" -#: sql_help.c:4001 +#: sql_help.c:4015 msgid "conflict_action" msgstr "действие_при_конфликте" -#: sql_help.c:4004 +#: sql_help.c:4018 msgid "where conflict_target can be one of:" msgstr "где допустимый объект_конфликта:" -#: sql_help.c:4005 +#: sql_help.c:4019 msgid "index_column_name" msgstr "имя_столбца_индекса" -#: sql_help.c:4006 +#: sql_help.c:4020 msgid "index_expression" msgstr "выражение_индекса" -#: sql_help.c:4009 +#: sql_help.c:4023 msgid "index_predicate" msgstr "предикат_индекса" -#: sql_help.c:4011 +#: sql_help.c:4025 msgid "and conflict_action is one of:" msgstr "а допустимое действие_при_конфликте:" -#: sql_help.c:4017 sql_help.c:4111 sql_help.c:4949 +#: sql_help.c:4031 sql_help.c:4132 sql_help.c:4972 msgid "sub-SELECT" msgstr "вложенный_SELECT" -#: sql_help.c:4026 sql_help.c:4152 sql_help.c:4925 +#: sql_help.c:4040 sql_help.c:4173 sql_help.c:4948 msgid "channel" msgstr "канал" -#: sql_help.c:4048 +#: sql_help.c:4062 msgid "lockmode" msgstr "режим_блокировки" -#: sql_help.c:4049 +#: sql_help.c:4063 msgid "where lockmode is one of:" msgstr "где допустимый режим_блокировки:" -#: sql_help.c:4087 +#: sql_help.c:4103 msgid "target_table_name" msgstr "имя_целевой_таблицы" -#: sql_help.c:4088 +#: sql_help.c:4104 msgid "target_alias" msgstr "псевдоним_назначения" -#: sql_help.c:4089 +#: sql_help.c:4105 msgid "data_source" msgstr "источник_данных" -#: sql_help.c:4090 sql_help.c:4620 sql_help.c:4877 sql_help.c:5123 +#: sql_help.c:4106 sql_help.c:4641 sql_help.c:4899 sql_help.c:5144 msgid "join_condition" msgstr "условие_соединения" -#: sql_help.c:4091 +#: sql_help.c:4107 msgid "when_clause" msgstr "предложение_when" -#: sql_help.c:4092 +#: sql_help.c:4110 msgid "where data_source is:" msgstr "где источник_данных:" -#: sql_help.c:4093 +#: sql_help.c:4111 msgid "source_table_name" msgstr "имя_исходной_таблицы" -#: sql_help.c:4094 +#: sql_help.c:4112 msgid "source_query" msgstr "исходный_запрос" -#: sql_help.c:4095 +#: sql_help.c:4113 msgid "source_alias" msgstr "псевдоним_источника" -#: sql_help.c:4096 +#: sql_help.c:4114 msgid "and when_clause is:" msgstr "и предложение_when:" -#: sql_help.c:4098 +#: sql_help.c:4116 sql_help.c:4119 msgid "merge_update" msgstr "merge_update" -#: sql_help.c:4099 +#: sql_help.c:4117 sql_help.c:4120 msgid "merge_delete" msgstr "merge_delete" -#: sql_help.c:4101 +#: sql_help.c:4122 msgid "merge_insert" msgstr "merge_insert" -#: sql_help.c:4102 +#: sql_help.c:4123 msgid "and merge_insert is:" msgstr "и merge_insert:" -#: sql_help.c:4105 +#: sql_help.c:4126 msgid "and merge_update is:" msgstr "и merge_update:" -#: sql_help.c:4112 +#: sql_help.c:4133 msgid "and merge_delete is:" msgstr "и merge_delete:" -#: sql_help.c:4153 +#: sql_help.c:4174 msgid "payload" msgstr "сообщение_нагрузка" -#: sql_help.c:4180 +#: sql_help.c:4201 msgid "old_role" msgstr "старая_роль" -#: sql_help.c:4181 +#: sql_help.c:4202 msgid "new_role" msgstr "новая_роль" -#: sql_help.c:4220 sql_help.c:4429 sql_help.c:4437 +#: sql_help.c:4241 sql_help.c:4450 sql_help.c:4458 msgid "savepoint_name" msgstr "имя_точки_сохранения" -#: sql_help.c:4577 sql_help.c:4635 sql_help.c:4834 sql_help.c:4892 -#: sql_help.c:5080 sql_help.c:5138 +#: sql_help.c:4598 sql_help.c:4656 sql_help.c:4856 sql_help.c:4914 +#: sql_help.c:5101 sql_help.c:5159 msgid "grouping_element" msgstr "элемент_группирования" -#: sql_help.c:4579 sql_help.c:4682 sql_help.c:4836 sql_help.c:5082 +#: sql_help.c:4600 sql_help.c:4704 sql_help.c:4858 sql_help.c:5103 msgid "window_name" msgstr "имя_окна" -#: sql_help.c:4580 sql_help.c:4683 sql_help.c:4837 sql_help.c:5083 +#: sql_help.c:4601 sql_help.c:4705 sql_help.c:4859 sql_help.c:5104 msgid "window_definition" msgstr "определение_окна" -#: sql_help.c:4581 sql_help.c:4595 sql_help.c:4639 sql_help.c:4684 -#: sql_help.c:4838 sql_help.c:4852 sql_help.c:4896 sql_help.c:5084 -#: sql_help.c:5098 sql_help.c:5142 +#: 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 msgid "select" msgstr "select" -#: sql_help.c:4588 sql_help.c:4845 sql_help.c:5091 +#: sql_help.c:4608 sql_help.c:4866 sql_help.c:5111 +msgid "from_reference" +msgstr "ссылка_FROM" + +#: sql_help.c:4609 sql_help.c:4867 sql_help.c:5112 msgid "where from_item can be one of:" msgstr "где допустимый источник_данных:" -#: sql_help.c:4591 sql_help.c:4597 sql_help.c:4600 sql_help.c:4604 -#: sql_help.c:4616 sql_help.c:4848 sql_help.c:4854 sql_help.c:4857 -#: sql_help.c:4861 sql_help.c:4873 sql_help.c:5094 sql_help.c:5100 -#: sql_help.c:5103 sql_help.c:5107 sql_help.c:5119 +#: 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 msgid "column_alias" msgstr "псевдоним_столбца" -#: sql_help.c:4592 sql_help.c:4849 sql_help.c:5095 +#: sql_help.c:4613 sql_help.c:4871 sql_help.c:5116 msgid "sampling_method" msgstr "метод_выборки" -#: sql_help.c:4594 sql_help.c:4851 sql_help.c:5097 +#: sql_help.c:4615 sql_help.c:4873 sql_help.c:5118 msgid "seed" msgstr "начальное_число" -#: sql_help.c:4598 sql_help.c:4637 sql_help.c:4855 sql_help.c:4894 -#: sql_help.c:5101 sql_help.c:5140 +#: sql_help.c:4619 sql_help.c:4658 sql_help.c:4877 sql_help.c:4916 +#: sql_help.c:5122 sql_help.c:5161 msgid "with_query_name" msgstr "имя_запроса_WITH" -#: sql_help.c:4608 sql_help.c:4611 sql_help.c:4614 sql_help.c:4865 -#: sql_help.c:4868 sql_help.c:4871 sql_help.c:5111 sql_help.c:5114 -#: sql_help.c:5117 +#: 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 msgid "column_definition" msgstr "определение_столбца" -#: sql_help.c:4618 sql_help.c:4624 sql_help.c:4875 sql_help.c:4881 -#: sql_help.c:5121 sql_help.c:5127 +#: sql_help.c:4639 sql_help.c:4645 sql_help.c:4897 sql_help.c:4903 +#: sql_help.c:5142 sql_help.c:5148 msgid "join_type" msgstr "тип_соединения" -#: sql_help.c:4621 sql_help.c:4878 sql_help.c:5124 +#: sql_help.c:4642 sql_help.c:4900 sql_help.c:5145 msgid "join_column" msgstr "столбец_соединения" -#: sql_help.c:4622 sql_help.c:4879 sql_help.c:5125 +#: sql_help.c:4643 sql_help.c:4901 sql_help.c:5146 msgid "join_using_alias" msgstr "псевдоним_использования_соединения" -#: sql_help.c:4628 sql_help.c:4885 sql_help.c:5131 +#: sql_help.c:4649 sql_help.c:4907 sql_help.c:5152 msgid "and grouping_element can be one of:" msgstr "где допустимый элемент_группирования:" -#: sql_help.c:4636 sql_help.c:4893 sql_help.c:5139 +#: sql_help.c:4657 sql_help.c:4915 sql_help.c:5160 msgid "and with_query is:" msgstr "и запрос_WITH:" -#: sql_help.c:4640 sql_help.c:4897 sql_help.c:5143 +#: sql_help.c:4661 sql_help.c:4919 sql_help.c:5164 msgid "values" msgstr "значения" -#: sql_help.c:4641 sql_help.c:4898 sql_help.c:5144 +#: sql_help.c:4662 sql_help.c:4920 sql_help.c:5165 msgid "insert" msgstr "insert" -#: sql_help.c:4642 sql_help.c:4899 sql_help.c:5145 +#: sql_help.c:4663 sql_help.c:4921 sql_help.c:5166 msgid "update" msgstr "update" -#: sql_help.c:4643 sql_help.c:4900 sql_help.c:5146 +#: sql_help.c:4664 sql_help.c:4922 sql_help.c:5167 msgid "delete" msgstr "delete" -#: sql_help.c:4645 sql_help.c:4902 sql_help.c:5148 +#: sql_help.c:4665 sql_help.c:4923 sql_help.c:5168 +msgid "merge" +msgstr "merge" + +#: sql_help.c:4667 sql_help.c:4925 sql_help.c:5170 msgid "search_seq_col_name" msgstr "имя_столбца_послед_поиска" -#: sql_help.c:4647 sql_help.c:4904 sql_help.c:5150 +#: sql_help.c:4669 sql_help.c:4927 sql_help.c:5172 msgid "cycle_mark_col_name" msgstr "имя_столбца_пометки_цикла" -#: sql_help.c:4648 sql_help.c:4905 sql_help.c:5151 +#: sql_help.c:4670 sql_help.c:4928 sql_help.c:5173 msgid "cycle_mark_value" msgstr "значение_пометки_цикла" -#: sql_help.c:4649 sql_help.c:4906 sql_help.c:5152 +#: sql_help.c:4671 sql_help.c:4929 sql_help.c:5174 msgid "cycle_mark_default" msgstr "пометка_цикла_по_умолчанию" -#: sql_help.c:4650 sql_help.c:4907 sql_help.c:5153 +#: sql_help.c:4672 sql_help.c:4930 sql_help.c:5175 msgid "cycle_path_col_name" msgstr "имя_столбца_пути_цикла" -#: sql_help.c:4677 +#: sql_help.c:4699 msgid "new_table" msgstr "новая_таблица" -#: sql_help.c:4748 +#: sql_help.c:4770 msgid "snapshot_id" msgstr "код_снимка" -#: sql_help.c:5016 +#: sql_help.c:5037 msgid "sort_expression" msgstr "выражение_сортировки" -#: sql_help.c:5160 sql_help.c:6144 +#: sql_help.c:5182 sql_help.c:6166 msgid "abort the current transaction" msgstr "прервать текущую транзакцию" -#: sql_help.c:5166 +#: sql_help.c:5188 msgid "change the definition of an aggregate function" msgstr "изменить определение агрегатной функции" -#: sql_help.c:5172 +#: sql_help.c:5194 msgid "change the definition of a collation" msgstr "изменить определение правила сортировки" -#: sql_help.c:5178 +#: sql_help.c:5200 msgid "change the definition of a conversion" msgstr "изменить определение преобразования" -#: sql_help.c:5184 +#: sql_help.c:5206 msgid "change a database" msgstr "изменить атрибуты базы данных" -#: sql_help.c:5190 +#: sql_help.c:5212 msgid "define default access privileges" msgstr "определить права доступа по умолчанию" -#: sql_help.c:5196 +#: sql_help.c:5218 msgid "change the definition of a domain" msgstr "изменить определение домена" -#: sql_help.c:5202 +#: sql_help.c:5224 msgid "change the definition of an event trigger" msgstr "изменить определение событийного триггера" -#: sql_help.c:5208 +#: sql_help.c:5230 msgid "change the definition of an extension" msgstr "изменить определение расширения" -#: sql_help.c:5214 +#: sql_help.c:5236 msgid "change the definition of a foreign-data wrapper" msgstr "изменить определение обёртки сторонних данных" -#: sql_help.c:5220 +#: sql_help.c:5242 msgid "change the definition of a foreign table" msgstr "изменить определение сторонней таблицы" -#: sql_help.c:5226 +#: sql_help.c:5248 msgid "change the definition of a function" msgstr "изменить определение функции" -#: sql_help.c:5232 +#: sql_help.c:5254 msgid "change role name or membership" msgstr "изменить имя роли или членство" -#: sql_help.c:5238 +#: sql_help.c:5260 msgid "change the definition of an index" msgstr "изменить определение индекса" -#: sql_help.c:5244 +#: sql_help.c:5266 msgid "change the definition of a procedural language" msgstr "изменить определение процедурного языка" -#: sql_help.c:5250 +#: sql_help.c:5272 msgid "change the definition of a large object" msgstr "изменить определение большого объекта" -#: sql_help.c:5256 +#: sql_help.c:5278 msgid "change the definition of a materialized view" msgstr "изменить определение материализованного представления" -#: sql_help.c:5262 +#: sql_help.c:5284 msgid "change the definition of an operator" msgstr "изменить определение оператора" -#: sql_help.c:5268 +#: sql_help.c:5290 msgid "change the definition of an operator class" msgstr "изменить определение класса операторов" -#: sql_help.c:5274 +#: sql_help.c:5296 msgid "change the definition of an operator family" msgstr "изменить определение семейства операторов" -#: sql_help.c:5280 +#: sql_help.c:5302 msgid "change the definition of a row-level security policy" msgstr "изменить определение политики защиты на уровне строк" -#: sql_help.c:5286 +#: sql_help.c:5308 msgid "change the definition of a procedure" msgstr "изменить определение процедуры" -#: sql_help.c:5292 +#: sql_help.c:5314 msgid "change the definition of a publication" msgstr "изменить определение публикации" -#: sql_help.c:5298 sql_help.c:5400 +#: sql_help.c:5320 sql_help.c:5422 msgid "change a database role" msgstr "изменить роль пользователя БД" -#: sql_help.c:5304 +#: sql_help.c:5326 msgid "change the definition of a routine" msgstr "изменить определение подпрограммы" -#: sql_help.c:5310 +#: sql_help.c:5332 msgid "change the definition of a rule" msgstr "изменить определение правила" -#: sql_help.c:5316 +#: sql_help.c:5338 msgid "change the definition of a schema" msgstr "изменить определение схемы" -#: sql_help.c:5322 +#: sql_help.c:5344 msgid "change the definition of a sequence generator" msgstr "изменить определение генератора последовательности" -#: sql_help.c:5328 +#: sql_help.c:5350 msgid "change the definition of a foreign server" msgstr "изменить определение стороннего сервера" -#: sql_help.c:5334 +#: sql_help.c:5356 msgid "change the definition of an extended statistics object" msgstr "изменить определение объекта расширенной статистики" -#: sql_help.c:5340 +#: sql_help.c:5362 msgid "change the definition of a subscription" msgstr "изменить определение подписки" -#: sql_help.c:5346 +#: sql_help.c:5368 msgid "change a server configuration parameter" msgstr "изменить параметр конфигурации сервера" -#: sql_help.c:5352 +#: sql_help.c:5374 msgid "change the definition of a table" msgstr "изменить определение таблицы" -#: sql_help.c:5358 +#: sql_help.c:5380 msgid "change the definition of a tablespace" msgstr "изменить определение табличного пространства" -#: sql_help.c:5364 +#: sql_help.c:5386 msgid "change the definition of a text search configuration" msgstr "изменить определение конфигурации текстового поиска" -#: sql_help.c:5370 +#: sql_help.c:5392 msgid "change the definition of a text search dictionary" msgstr "изменить определение словаря текстового поиска" -#: sql_help.c:5376 +#: sql_help.c:5398 msgid "change the definition of a text search parser" msgstr "изменить определение анализатора текстового поиска" -#: sql_help.c:5382 +#: sql_help.c:5404 msgid "change the definition of a text search template" msgstr "изменить определение шаблона текстового поиска" -#: sql_help.c:5388 +#: sql_help.c:5410 msgid "change the definition of a trigger" msgstr "изменить определение триггера" -#: sql_help.c:5394 +#: sql_help.c:5416 msgid "change the definition of a type" msgstr "изменить определение типа" -#: sql_help.c:5406 +#: sql_help.c:5428 msgid "change the definition of a user mapping" msgstr "изменить сопоставление пользователей" -#: sql_help.c:5412 +#: sql_help.c:5434 msgid "change the definition of a view" msgstr "изменить определение представления" -#: sql_help.c:5418 +#: sql_help.c:5440 msgid "collect statistics about a database" msgstr "собрать статистику о базе данных" -#: sql_help.c:5424 sql_help.c:6222 +#: sql_help.c:5446 sql_help.c:6244 msgid "start a transaction block" msgstr "начать транзакцию" -#: sql_help.c:5430 +#: sql_help.c:5452 msgid "invoke a procedure" msgstr "вызвать процедуру" -#: sql_help.c:5436 +#: sql_help.c:5458 msgid "force a write-ahead log checkpoint" msgstr "произвести контрольную точку в журнале предзаписи" -#: sql_help.c:5442 +#: sql_help.c:5464 msgid "close a cursor" msgstr "закрыть курсор" -#: sql_help.c:5448 +#: sql_help.c:5470 msgid "cluster a table according to an index" msgstr "перегруппировать таблицу по индексу" -#: sql_help.c:5454 +#: sql_help.c:5476 msgid "define or change the comment of an object" msgstr "задать или изменить комментарий объекта" -#: sql_help.c:5460 sql_help.c:6018 +#: sql_help.c:5482 sql_help.c:6040 msgid "commit the current transaction" msgstr "зафиксировать текущую транзакцию" -#: sql_help.c:5466 +#: sql_help.c:5488 msgid "commit a transaction that was earlier prepared for two-phase commit" msgstr "зафиксировать транзакцию, ранее подготовленную для двухфазной фиксации" -#: sql_help.c:5472 +#: sql_help.c:5494 msgid "copy data between a file and a table" msgstr "импорт/экспорт данных в файл" -#: sql_help.c:5478 +#: sql_help.c:5500 msgid "define a new access method" msgstr "создать новый метод доступа" -#: sql_help.c:5484 +#: sql_help.c:5506 msgid "define a new aggregate function" msgstr "создать агрегатную функцию" -#: sql_help.c:5490 +#: sql_help.c:5512 msgid "define a new cast" msgstr "создать приведение типов" -#: sql_help.c:5496 +#: sql_help.c:5518 msgid "define a new collation" msgstr "создать правило сортировки" -#: sql_help.c:5502 +#: sql_help.c:5524 msgid "define a new encoding conversion" msgstr "создать преобразование кодировки" -#: sql_help.c:5508 +#: sql_help.c:5530 msgid "create a new database" msgstr "создать базу данных" -#: sql_help.c:5514 +#: sql_help.c:5536 msgid "define a new domain" msgstr "создать домен" -#: sql_help.c:5520 +#: sql_help.c:5542 msgid "define a new event trigger" msgstr "создать событийный триггер" -#: sql_help.c:5526 +#: sql_help.c:5548 msgid "install an extension" msgstr "установить расширение" -#: sql_help.c:5532 +#: sql_help.c:5554 msgid "define a new foreign-data wrapper" msgstr "создать обёртку сторонних данных" -#: sql_help.c:5538 +#: sql_help.c:5560 msgid "define a new foreign table" msgstr "создать стороннюю таблицу" -#: sql_help.c:5544 +#: sql_help.c:5566 msgid "define a new function" msgstr "создать функцию" -#: sql_help.c:5550 sql_help.c:5610 sql_help.c:5712 +#: sql_help.c:5572 sql_help.c:5632 sql_help.c:5734 msgid "define a new database role" msgstr "создать роль пользователя БД" -#: sql_help.c:5556 +#: sql_help.c:5578 msgid "define a new index" msgstr "создать индекс" -#: sql_help.c:5562 +#: sql_help.c:5584 msgid "define a new procedural language" msgstr "создать процедурный язык" -#: sql_help.c:5568 +#: sql_help.c:5590 msgid "define a new materialized view" msgstr "создать материализованное представление" -#: sql_help.c:5574 +#: sql_help.c:5596 msgid "define a new operator" msgstr "создать оператор" -#: sql_help.c:5580 +#: sql_help.c:5602 msgid "define a new operator class" msgstr "создать класс операторов" -#: sql_help.c:5586 +#: sql_help.c:5608 msgid "define a new operator family" msgstr "создать семейство операторов" -#: sql_help.c:5592 +#: sql_help.c:5614 msgid "define a new row-level security policy for a table" msgstr "создать новую политику защиты на уровне строк для таблицы" -#: sql_help.c:5598 +#: sql_help.c:5620 msgid "define a new procedure" msgstr "создать процедуру" -#: sql_help.c:5604 +#: sql_help.c:5626 msgid "define a new publication" msgstr "создать публикацию" -#: sql_help.c:5616 +#: sql_help.c:5638 msgid "define a new rewrite rule" msgstr "создать правило перезаписи" -#: sql_help.c:5622 +#: sql_help.c:5644 msgid "define a new schema" msgstr "создать схему" -#: sql_help.c:5628 +#: sql_help.c:5650 msgid "define a new sequence generator" msgstr "создать генератор последовательностей" -#: sql_help.c:5634 +#: sql_help.c:5656 msgid "define a new foreign server" msgstr "создать сторонний сервер" -#: sql_help.c:5640 +#: sql_help.c:5662 msgid "define extended statistics" msgstr "создать расширенную статистику" -#: sql_help.c:5646 +#: sql_help.c:5668 msgid "define a new subscription" msgstr "создать подписку" -#: sql_help.c:5652 +#: sql_help.c:5674 msgid "define a new table" msgstr "создать таблицу" -#: sql_help.c:5658 sql_help.c:6180 +#: sql_help.c:5680 sql_help.c:6202 msgid "define a new table from the results of a query" msgstr "создать таблицу из результатов запроса" -#: sql_help.c:5664 +#: sql_help.c:5686 msgid "define a new tablespace" msgstr "создать табличное пространство" -#: sql_help.c:5670 +#: sql_help.c:5692 msgid "define a new text search configuration" msgstr "создать конфигурацию текстового поиска" -#: sql_help.c:5676 +#: sql_help.c:5698 msgid "define a new text search dictionary" msgstr "создать словарь текстового поиска" -#: sql_help.c:5682 +#: sql_help.c:5704 msgid "define a new text search parser" msgstr "создать анализатор текстового поиска" -#: sql_help.c:5688 +#: sql_help.c:5710 msgid "define a new text search template" msgstr "создать шаблон текстового поиска" -#: sql_help.c:5694 +#: sql_help.c:5716 msgid "define a new transform" msgstr "создать преобразование" -#: sql_help.c:5700 +#: sql_help.c:5722 msgid "define a new trigger" msgstr "создать триггер" -#: sql_help.c:5706 +#: sql_help.c:5728 msgid "define a new data type" msgstr "создать тип данных" -#: sql_help.c:5718 +#: sql_help.c:5740 msgid "define a new mapping of a user to a foreign server" msgstr "создать сопоставление пользователя для стороннего сервера" -#: sql_help.c:5724 +#: sql_help.c:5746 msgid "define a new view" msgstr "создать представление" -#: sql_help.c:5730 +#: sql_help.c:5752 msgid "deallocate a prepared statement" msgstr "освободить подготовленный оператор" -#: sql_help.c:5736 +#: sql_help.c:5758 msgid "define a cursor" msgstr "создать курсор" -#: sql_help.c:5742 +#: sql_help.c:5764 msgid "delete rows of a table" msgstr "удалить записи таблицы" -#: sql_help.c:5748 +#: sql_help.c:5770 msgid "discard session state" msgstr "очистить состояние сеанса" -#: sql_help.c:5754 +#: sql_help.c:5776 msgid "execute an anonymous code block" msgstr "выполнить анонимный блок кода" -#: sql_help.c:5760 +#: sql_help.c:5782 msgid "remove an access method" msgstr "удалить метод доступа" -#: sql_help.c:5766 +#: sql_help.c:5788 msgid "remove an aggregate function" msgstr "удалить агрегатную функцию" -#: sql_help.c:5772 +#: sql_help.c:5794 msgid "remove a cast" msgstr "удалить приведение типа" -#: sql_help.c:5778 +#: sql_help.c:5800 msgid "remove a collation" msgstr "удалить правило сортировки" -#: sql_help.c:5784 +#: sql_help.c:5806 msgid "remove a conversion" msgstr "удалить преобразование" -#: sql_help.c:5790 +#: sql_help.c:5812 msgid "remove a database" msgstr "удалить базу данных" -#: sql_help.c:5796 +#: sql_help.c:5818 msgid "remove a domain" msgstr "удалить домен" -#: sql_help.c:5802 +#: sql_help.c:5824 msgid "remove an event trigger" msgstr "удалить событийный триггер" -#: sql_help.c:5808 +#: sql_help.c:5830 msgid "remove an extension" msgstr "удалить расширение" -#: sql_help.c:5814 +#: sql_help.c:5836 msgid "remove a foreign-data wrapper" msgstr "удалить обёртку сторонних данных" -#: sql_help.c:5820 +#: sql_help.c:5842 msgid "remove a foreign table" msgstr "удалить стороннюю таблицу" -#: sql_help.c:5826 +#: sql_help.c:5848 msgid "remove a function" msgstr "удалить функцию" -#: sql_help.c:5832 sql_help.c:5898 sql_help.c:6000 +#: sql_help.c:5854 sql_help.c:5920 sql_help.c:6022 msgid "remove a database role" msgstr "удалить роль пользователя БД" -#: sql_help.c:5838 +#: sql_help.c:5860 msgid "remove an index" msgstr "удалить индекс" -#: sql_help.c:5844 +#: sql_help.c:5866 msgid "remove a procedural language" msgstr "удалить процедурный язык" -#: sql_help.c:5850 +#: sql_help.c:5872 msgid "remove a materialized view" msgstr "удалить материализованное представление" -#: sql_help.c:5856 +#: sql_help.c:5878 msgid "remove an operator" msgstr "удалить оператор" -#: sql_help.c:5862 +#: sql_help.c:5884 msgid "remove an operator class" msgstr "удалить класс операторов" -#: sql_help.c:5868 +#: sql_help.c:5890 msgid "remove an operator family" msgstr "удалить семейство операторов" -#: sql_help.c:5874 +#: sql_help.c:5896 msgid "remove database objects owned by a database role" msgstr "удалить объекты базы данных, принадлежащие роли" -#: sql_help.c:5880 +#: sql_help.c:5902 msgid "remove a row-level security policy from a table" msgstr "удалить из таблицы политику защиты на уровне строк" -#: sql_help.c:5886 +#: sql_help.c:5908 msgid "remove a procedure" msgstr "удалить процедуру" -#: sql_help.c:5892 +#: sql_help.c:5914 msgid "remove a publication" msgstr "удалить публикацию" -#: sql_help.c:5904 +#: sql_help.c:5926 msgid "remove a routine" msgstr "удалить подпрограмму" -#: sql_help.c:5910 +#: sql_help.c:5932 msgid "remove a rewrite rule" msgstr "удалить правило перезаписи" -#: sql_help.c:5916 +#: sql_help.c:5938 msgid "remove a schema" msgstr "удалить схему" -#: sql_help.c:5922 +#: sql_help.c:5944 msgid "remove a sequence" msgstr "удалить последовательность" -#: sql_help.c:5928 +#: sql_help.c:5950 msgid "remove a foreign server descriptor" msgstr "удалить описание стороннего сервера" -#: sql_help.c:5934 +#: sql_help.c:5956 msgid "remove extended statistics" msgstr "удалить расширенную статистику" -#: sql_help.c:5940 +#: sql_help.c:5962 msgid "remove a subscription" msgstr "удалить подписку" -#: sql_help.c:5946 +#: sql_help.c:5968 msgid "remove a table" msgstr "удалить таблицу" -#: sql_help.c:5952 +#: sql_help.c:5974 msgid "remove a tablespace" msgstr "удалить табличное пространство" -#: sql_help.c:5958 +#: sql_help.c:5980 msgid "remove a text search configuration" msgstr "удалить конфигурацию текстового поиска" -#: sql_help.c:5964 +#: sql_help.c:5986 msgid "remove a text search dictionary" msgstr "удалить словарь текстового поиска" -#: sql_help.c:5970 +#: sql_help.c:5992 msgid "remove a text search parser" msgstr "удалить анализатор текстового поиска" -#: sql_help.c:5976 +#: sql_help.c:5998 msgid "remove a text search template" msgstr "удалить шаблон текстового поиска" -#: sql_help.c:5982 +#: sql_help.c:6004 msgid "remove a transform" msgstr "удалить преобразование" -#: sql_help.c:5988 +#: sql_help.c:6010 msgid "remove a trigger" msgstr "удалить триггер" -#: sql_help.c:5994 +#: sql_help.c:6016 msgid "remove a data type" msgstr "удалить тип данных" -#: sql_help.c:6006 +#: sql_help.c:6028 msgid "remove a user mapping for a foreign server" msgstr "удалить сопоставление пользователя для стороннего сервера" -#: sql_help.c:6012 +#: sql_help.c:6034 msgid "remove a view" msgstr "удалить представление" -#: sql_help.c:6024 +#: sql_help.c:6046 msgid "execute a prepared statement" msgstr "выполнить подготовленный оператор" -#: sql_help.c:6030 +#: sql_help.c:6052 msgid "show the execution plan of a statement" msgstr "показать план выполнения оператора" -#: sql_help.c:6036 +#: sql_help.c:6058 msgid "retrieve rows from a query using a cursor" msgstr "получить результат запроса через курсор" -#: sql_help.c:6042 +#: sql_help.c:6064 msgid "define access privileges" msgstr "определить права доступа" -#: sql_help.c:6048 +#: sql_help.c:6070 msgid "import table definitions from a foreign server" msgstr "импортировать определения таблиц со стороннего сервера" -#: sql_help.c:6054 +#: sql_help.c:6076 msgid "create new rows in a table" msgstr "добавить строки в таблицу" -#: sql_help.c:6060 +#: sql_help.c:6082 msgid "listen for a notification" msgstr "ожидать уведомления" -#: sql_help.c:6066 +#: sql_help.c:6088 msgid "load a shared library file" msgstr "загрузить файл разделяемой библиотеки" -#: sql_help.c:6072 +#: sql_help.c:6094 msgid "lock a table" msgstr "заблокировать таблицу" -#: sql_help.c:6078 +#: sql_help.c:6100 msgid "conditionally insert, update, or delete rows of a table" msgstr "добавление, изменение или удаление строк таблицы по условию" -#: sql_help.c:6084 +#: sql_help.c:6106 msgid "position a cursor" msgstr "установить курсор" -#: sql_help.c:6090 +#: sql_help.c:6112 msgid "generate a notification" msgstr "сгенерировать уведомление" -#: sql_help.c:6096 +#: sql_help.c:6118 msgid "prepare a statement for execution" msgstr "подготовить оператор для выполнения" -#: sql_help.c:6102 +#: sql_help.c:6124 msgid "prepare the current transaction for two-phase commit" msgstr "подготовить текущую транзакцию для двухфазной фиксации" -#: sql_help.c:6108 +#: sql_help.c:6130 msgid "change the ownership of database objects owned by a database role" msgstr "изменить владельца объектов БД, принадлежащих заданной роли" -#: sql_help.c:6114 +#: sql_help.c:6136 msgid "replace the contents of a materialized view" msgstr "заменить содержимое материализованного представления" -#: sql_help.c:6120 +#: sql_help.c:6142 msgid "rebuild indexes" msgstr "перестроить индексы" -#: sql_help.c:6126 +#: sql_help.c:6148 msgid "release a previously defined savepoint" msgstr "освободить ранее определённую точку сохранения" -#: sql_help.c:6132 +#: sql_help.c:6154 msgid "restore the value of a run-time parameter to the default value" msgstr "восстановить исходное значение параметра выполнения" -#: sql_help.c:6138 +#: sql_help.c:6160 msgid "remove access privileges" msgstr "удалить права доступа" -#: sql_help.c:6150 +#: sql_help.c:6172 msgid "cancel a transaction that was earlier prepared for two-phase commit" msgstr "отменить транзакцию, подготовленную ранее для двухфазной фиксации" -#: sql_help.c:6156 +#: sql_help.c:6178 msgid "roll back to a savepoint" msgstr "откатиться к точке сохранения" -#: sql_help.c:6162 +#: sql_help.c:6184 msgid "define a new savepoint within the current transaction" msgstr "определить новую точку сохранения в текущей транзакции" -#: sql_help.c:6168 +#: sql_help.c:6190 msgid "define or change a security label applied to an object" msgstr "задать или изменить метку безопасности, применённую к объекту" -#: sql_help.c:6174 sql_help.c:6228 sql_help.c:6264 +#: sql_help.c:6196 sql_help.c:6250 sql_help.c:6286 msgid "retrieve rows from a table or view" msgstr "выбрать строки из таблицы или представления" -#: sql_help.c:6186 +#: sql_help.c:6208 msgid "change a run-time parameter" msgstr "изменить параметр выполнения" -#: sql_help.c:6192 +#: sql_help.c:6214 msgid "set constraint check timing for the current transaction" msgstr "установить время проверки ограничений для текущей транзакции" -#: sql_help.c:6198 +#: sql_help.c:6220 msgid "set the current user identifier of the current session" msgstr "задать идентификатор текущего пользователя в текущем сеансе" -#: sql_help.c:6204 +#: sql_help.c:6226 msgid "" "set the session user identifier and the current user identifier of the " "current session" @@ -6743,31 +6812,31 @@ msgstr "" "задать идентификатор пользователя сеанса и идентификатор текущего " "пользователя в текущем сеансе" -#: sql_help.c:6210 +#: sql_help.c:6232 msgid "set the characteristics of the current transaction" msgstr "задать свойства текущей транзакции" -#: sql_help.c:6216 +#: sql_help.c:6238 msgid "show the value of a run-time parameter" msgstr "показать значение параметра выполнения" -#: sql_help.c:6234 +#: sql_help.c:6256 msgid "empty a table or set of tables" msgstr "опустошить таблицу или набор таблиц" -#: sql_help.c:6240 +#: sql_help.c:6262 msgid "stop listening for a notification" msgstr "прекратить ожидание уведомлений" -#: sql_help.c:6246 +#: sql_help.c:6268 msgid "update rows of a table" msgstr "изменить строки таблицы" -#: sql_help.c:6252 +#: sql_help.c:6274 msgid "garbage-collect and optionally analyze a database" msgstr "произвести сборку мусора и проанализировать базу данных" -#: sql_help.c:6258 +#: sql_help.c:6280 msgid "compute a set of rows" msgstr "получить набор строк" @@ -6810,7 +6879,7 @@ msgstr "лишний аргумент \"%s\" проигнорирован" msgid "could not find own program executable" msgstr "не удалось найти свой исполняемый файл" -#: tab-complete.c:6078 +#: tab-complete.c:6216 #, c-format msgid "" "tab completion query failed: %s\n" @@ -6846,6 +6915,25 @@ msgstr "" "нераспознанное значение \"%s\" для \"%s\"\n" "Допустимые значения: %s." +#~ msgid "ICU Locale" +#~ msgstr "локаль ICU" + +#~ msgid "local socket" +#~ msgstr "локальный сокет" + +#~ msgid "" +#~ " \\watch [[i=]SEC] [c=N] execute query every SEC seconds, up to N times\n" +#~ msgstr "" +#~ " \\watch [[i=]СЕК] [c=N] повторять запрос через заданное число секунд, " +#~ "не\n" +#~ " более N раз\n" + +#~ msgid "constraint" +#~ msgstr "ограничение" + +#~ msgid "where constraint is:" +#~ msgstr "где ограничение:" + #, c-format #~ msgid "could not identify current directory: %m" #~ msgstr "не удалось определить текущий каталог: %m" diff --git a/src/bin/psql/po/sv.po b/src/bin/psql/po/sv.po index 2293529e4fe..b4ac8f95a90 100644 --- a/src/bin/psql/po/sv.po +++ b/src/bin/psql/po/sv.po @@ -1,15 +1,15 @@ # Swedish message translation file for psql # Peter Eisentraut , 2001, 2009, 2010. -# Dennis Björklund , 2002, 2003, 2004, 2005, 2006, 2017, 2018, 2019, 2020, 2021, 2022, 2023. +# Dennis Björklund , 2002, 2003, 2004, 2005, 2006, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024. # # Use these quotes: "%s" # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 16\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-08-02 08:16+0000\n" -"PO-Revision-Date: 2023-08-02 12:20+0200\n" +"POT-Creation-Date: 2024-07-13 22:49+0000\n" +"PO-Revision-Date: 2024-07-14 15:17+0200\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -38,33 +38,48 @@ msgstr "detalj: " msgid "hint: " msgstr "tips: " -#: ../../common/exec.c:172 +#: ../../common/exec.c:174 #, c-format msgid "invalid binary \"%s\": %m" msgstr "ogiltig binär \"%s\": %m" -#: ../../common/exec.c:215 +#: ../../common/exec.c:217 #, c-format msgid "could not read binary \"%s\": %m" msgstr "kunde inte läsa binär \"%s\": %m" -#: ../../common/exec.c:223 +#: ../../common/exec.c:225 #, c-format msgid "could not find a \"%s\" to execute" msgstr "kunde inte hitta en \"%s\" att köra" -#: ../../common/exec.c:250 +#: ../../common/exec.c:252 #, c-format msgid "could not resolve path \"%s\" to absolute form: %m" msgstr "kunde inte konvertera sökvägen \"%s\" till en absolut sökväg: %m" -#: ../../common/exec.c:412 +#: ../../common/exec.c:382 copy.c:326 +#, c-format +msgid "could not execute command \"%s\": %m" +msgstr "kunde inte köra kommandot \"%s\": %m" + +#: ../../common/exec.c:394 +#, c-format +msgid "could not read from command \"%s\": %m" +msgstr "kunde inte läsa från kommando \"%s\": %m" + +#: ../../common/exec.c:397 +#, c-format +msgid "no data was returned by command \"%s\"" +msgstr "ingen data returnerades från kommandot \"%s\"" + +#: ../../common/exec.c:424 #, c-format msgid "%s() failed: %m" msgstr "%s() misslyckades: %m" -#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687 -#: command.c:1354 command.c:3439 command.c:3488 command.c:3612 input.c:226 +#: ../../common/exec.c:562 ../../common/exec.c:607 ../../common/exec.c:699 +#: command.c:1372 command.c:3458 command.c:3507 command.c:3632 input.c:225 #: mainloop.c:80 mainloop.c:398 #, c-format msgid "out of memory" @@ -86,7 +101,7 @@ msgstr "kan inte duplicera null-pekare (internt fel)\n" msgid "could not look up effective user ID %ld: %s" msgstr "kunde inte slå upp effektivt användar-id %ld: %s" -#: ../../common/username.c:45 command.c:613 +#: ../../common/username.c:45 command.c:616 msgid "user does not exist" msgstr "användaren finns inte" @@ -125,11 +140,11 @@ msgstr "barnprocess terminerades av signal %d: %s" msgid "child process exited with unrecognized status %d" msgstr "barnprocess avslutade med okänd statuskod %d" -#: ../../fe_utils/cancel.c:189 ../../fe_utils/cancel.c:238 +#: ../../fe_utils/cancel.c:186 ../../fe_utils/cancel.c:235 msgid "Cancel request sent\n" msgstr "Förfrågan om avbrytning skickad\n" -#: ../../fe_utils/cancel.c:190 ../../fe_utils/cancel.c:239 +#: ../../fe_utils/cancel.c:187 ../../fe_utils/cancel.c:236 msgid "Could not send cancel request: " msgstr "Kunde inte skicka förfrågan om avbrytning: " @@ -145,312 +160,337 @@ msgstr[1] "(%lu rader)" msgid "Interrupted\n" msgstr "Avbruten\n" -#: ../../fe_utils/print.c:3218 +#: ../../fe_utils/print.c:3188 +#, c-format +msgid "Cannot print table contents: number of cells %lld is equal to or exceeds maximum %lld.\n" +msgstr "Kan inte skriva ut tabellinnehåll: antal celler %lld är lika med eller fler än maximala %lld.\n" + +#: ../../fe_utils/print.c:3229 #, c-format msgid "Cannot add header to table content: column count of %d exceeded.\n" msgstr "Kan inte lägga till rubrik till tabellinnehåll: antal kolumner (%d) överskridet.\n" -#: ../../fe_utils/print.c:3258 +#: ../../fe_utils/print.c:3272 #, c-format -msgid "Cannot add cell to table content: total cell count of %d exceeded.\n" -msgstr "Kan inte lägga till cell till tabellinnehåll: totala cellantalet (%d) överskridet.\n" +msgid "Cannot add cell to table content: total cell count of %lld exceeded.\n" +msgstr "Kan inte lägga till cell till tabellinnehåll: totala cellantalet %lld är överskridet.\n" -#: ../../fe_utils/print.c:3516 +#: ../../fe_utils/print.c:3530 #, c-format msgid "invalid output format (internal error): %d" msgstr "ogiltigt utdataformat (internt fel): %d" -#: ../../fe_utils/psqlscan.l:717 +#: ../../fe_utils/psqlscan.l:718 #, c-format msgid "skipping recursive expansion of variable \"%s\"" msgstr "hoppar över rekursiv expandering av variabeln \"%s\"" -#: ../../port/thread.c:50 ../../port/thread.c:86 +#: ../../fe_utils/string_utils.c:434 +#, 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 +#, c-format +msgid "database name contains a newline or carriage return: \"%s\"\n" +msgstr "databasnamnet innehåller nyrad eller vagnretur: \"%s\"\n" + +#: ../../port/user.c:43 ../../port/user.c:79 #, c-format msgid "could not look up local user ID %d: %s" msgstr "kunde inte slå upp lokalt användar-id %d: %s" -#: ../../port/thread.c:55 ../../port/thread.c:91 +#: ../../port/user.c:48 ../../port/user.c:84 #, c-format msgid "local user with ID %d does not exist" msgstr "lokal användare med ID %d existerar inte" -#: command.c:234 +#: command.c:235 #, c-format msgid "invalid command \\%s" msgstr "ogiltigt kommando \\%s" -#: command.c:236 +#: command.c:237 #, c-format msgid "Try \\? for help." msgstr "Försök med \\? för hjälp." -#: command.c:254 +#: command.c:255 #, c-format msgid "\\%s: extra argument \"%s\" ignored" msgstr "\\%s: extra argument \"%s\" ignorerat" -#: command.c:306 +#: command.c:307 #, c-format msgid "\\%s command ignored; use \\endif or Ctrl-C to exit current \\if block" msgstr "kommandot \\%s ignorerat; använd \\endif eller Ctrl-C för att avsluta nuvarande \\if-block" -#: command.c:611 +#: command.c:614 #, c-format msgid "could not get home directory for user ID %ld: %s" msgstr "kunde inte hämta hemkatalog för användar-ID %ld: %s" -#: command.c:630 +#: command.c:633 #, c-format msgid "\\%s: could not change directory to \"%s\": %m" msgstr "\\%s: kunde inte byta katalog till \"%s\": %m" -#: command.c:654 +#: command.c:657 #, c-format msgid "You are currently not connected to a database.\n" msgstr "Du är för närvarande inte uppkopplad mot en databas.\n" -#: command.c:664 +#: command.c:667 #, c-format msgid "You are connected to database \"%s\" as user \"%s\" on address \"%s\" at port \"%s\".\n" msgstr "Du är uppkopplad upp mot databas \"%s\" som användare \"%s\" på adress \"%s\" på port \"%s\".\n" -#: command.c:667 +#: command.c:670 #, c-format msgid "You are connected to database \"%s\" as user \"%s\" via socket in \"%s\" at port \"%s\".\n" msgstr "Du är uppkopplad mot databas \"%s\" som användare \"%s\" via uttag i \"%s\" på port \"%s\".\n" -#: command.c:673 +#: command.c:676 #, c-format msgid "You are connected to database \"%s\" as user \"%s\" on host \"%s\" (address \"%s\") at port \"%s\".\n" msgstr "Du är uppkopplad upp mot databas \"%s\" som användare \"%s\" på värd \"%s\" (adress \"%s\") på port \"%s\".\n" -#: command.c:676 +#: command.c:679 #, c-format msgid "You are connected to database \"%s\" as user \"%s\" on host \"%s\" at port \"%s\".\n" msgstr "Du är uppkopplad upp mot databas \"%s\" som användare \"%s\" på värd \"%s\" på port \"%s\".\n" -#: command.c:1066 command.c:1159 command.c:2682 +#: command.c:1069 command.c:1170 command.c:2675 #, c-format msgid "no query buffer" msgstr "ingen frågebuffert" -#: command.c:1099 command.c:5689 +#: command.c:1102 command.c:5771 #, c-format msgid "invalid line number: %s" msgstr "ogiltigt radnummer: %s" -#: command.c:1237 +#: command.c:1248 msgid "No changes" msgstr "Inga ändringar" -#: command.c:1315 +#: command.c:1333 #, c-format msgid "%s: invalid encoding name or conversion procedure not found" msgstr "%s: ogiltigt kodningsnamn eller konverteringsprocedur hittades inte" -#: command.c:1350 command.c:2152 command.c:3435 command.c:3632 command.c:5795 -#: common.c:182 common.c:231 common.c:400 common.c:1102 common.c:1120 -#: common.c:1194 common.c:1313 common.c:1351 common.c:1444 common.c:1480 -#: copy.c:486 copy.c:720 help.c:66 large_obj.c:157 large_obj.c:192 -#: large_obj.c:254 startup.c:304 +#: command.c:1368 command.c:2157 command.c:3454 command.c:3652 command.c:5877 +#: common.c:221 common.c:270 common.c:440 common.c:1142 common.c:1160 +#: common.c:1228 common.c:1347 common.c:1385 common.c:1482 common.c:1548 +#: copy.c:486 copy.c:722 large_obj.c:157 large_obj.c:192 large_obj.c:254 +#: startup.c:304 #, c-format msgid "%s" msgstr "%s" -#: command.c:1357 +#: command.c:1375 msgid "There is no previous error." msgstr "Det finns inget tidigare fel." -#: command.c:1470 +#: command.c:1488 #, c-format msgid "\\%s: missing right parenthesis" msgstr "\\%s: saknar höger parentes" -#: command.c:1554 command.c:1684 command.c:1988 command.c:2002 command.c:2021 -#: command.c:2203 command.c:2444 command.c:2649 command.c:2689 +#: command.c:1572 command.c:1691 command.c:1995 command.c:2009 command.c:2028 +#: command.c:2196 command.c:2437 command.c:2642 command.c:2682 #, c-format msgid "\\%s: missing required argument" msgstr "\\%s: obligatoriskt argument saknas" -#: command.c:1815 +#: command.c:1822 #, c-format msgid "\\elif: cannot occur after \\else" msgstr "\\elif: kan inte komma efter \\else" -#: command.c:1820 +#: command.c:1827 #, c-format msgid "\\elif: no matching \\if" msgstr "\\elif: ingen matchande \\if" -#: command.c:1884 +#: command.c:1891 #, c-format msgid "\\else: cannot occur after \\else" msgstr "\\else: kan inte komma efter \\else" -#: command.c:1889 +#: command.c:1896 #, c-format msgid "\\else: no matching \\if" msgstr "\\else: ingen matchande \\if" -#: command.c:1929 +#: command.c:1936 #, c-format msgid "\\endif: no matching \\if" msgstr "\\endif: ingen matchande \\if" -#: command.c:2085 +#: command.c:2092 msgid "Query buffer is empty." msgstr "Frågebufferten är tom." -#: command.c:2128 +#: command.c:2135 #, c-format msgid "Enter new password for user \"%s\": " msgstr "Mata in nytt lösenord för användare \"%s\": " -#: command.c:2132 +#: command.c:2139 msgid "Enter it again: " msgstr "Mata in det igen: " -#: command.c:2141 +#: command.c:2148 #, c-format msgid "Passwords didn't match." msgstr "Lösenorden stämde inte överens." -#: command.c:2238 +#: command.c:2231 #, c-format msgid "\\%s: could not read value for variable" msgstr "\\%s: kunde inte läsa värde på varibeln" -#: command.c:2340 +#: command.c:2333 msgid "Query buffer reset (cleared)." msgstr "Frågebufferten har blivit borttagen." -#: command.c:2362 +#: command.c:2355 #, c-format msgid "Wrote history to file \"%s\".\n" msgstr "Skrev historiken till fil \"%s\".\n" -#: command.c:2449 +#: command.c:2442 #, c-format msgid "\\%s: environment variable name must not contain \"=\"" msgstr "\\%s: omgivningsvariabelnamn får ej innehålla \"=\"" -#: command.c:2497 +#: command.c:2490 #, c-format msgid "function name is required" msgstr "funktionsnamn krävs" -#: command.c:2499 +#: command.c:2492 #, c-format msgid "view name is required" msgstr "vynamn krävs" -#: command.c:2621 +#: command.c:2614 msgid "Timing is on." msgstr "Tidtagning är på." -#: command.c:2623 +#: command.c:2616 msgid "Timing is off." msgstr "Tidtagning är av." -#: command.c:2709 command.c:2747 command.c:4074 command.c:4077 command.c:4080 -#: command.c:4086 command.c:4088 command.c:4114 command.c:4124 command.c:4136 -#: command.c:4150 command.c:4177 command.c:4235 common.c:78 copy.c:329 -#: copy.c:401 psqlscanslash.l:788 psqlscanslash.l:800 psqlscanslash.l:818 +#: command.c:2702 command.c:2740 command.c:4163 command.c:4166 command.c:4169 +#: command.c:4175 command.c:4177 command.c:4203 command.c:4213 command.c:4225 +#: command.c:4239 command.c:4266 command.c:4324 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:2736 copy.c:388 +#: command.c:2729 copy.c:388 #, c-format msgid "%s: %s" msgstr "%s: %s" -#: command.c:2806 command.c:2852 +#: command.c:2801 command.c:2867 #, c-format msgid "\\watch: interval value is specified more than once" msgstr "\\watch: värde på intervall angivet mer än en gång" -#: command.c:2816 command.c:2862 +#: command.c:2811 command.c:2877 #, c-format msgid "\\watch: incorrect interval value \"%s\"" msgstr "\\watch: inkorrekt intervallvärde \"%s\"" -#: command.c:2826 +#: command.c:2821 #, c-format msgid "\\watch: iteration count is specified more than once" msgstr "\\watch: iterationsantal angivet mer än en gång" -#: command.c:2836 +#: command.c:2831 #, c-format msgid "\\watch: incorrect iteration count \"%s\"" msgstr "\\watch: inkorrekt iterationsantal \"%s\"" -#: command.c:2843 +#: command.c:2841 +#, c-format +msgid "\\watch: minimum row count specified more than once" +msgstr "\\watch: minsta radantal angivet mer än en gång" + +#: command.c:2851 +#, c-format +msgid "\\watch: incorrect minimum row count \"%s\"" +msgstr "\\watch: inkorrekt minsta radantal \"%s\"" + +#: command.c:2858 #, c-format msgid "\\watch: unrecognized parameter \"%s\"" msgstr "\\watch: okänd parameter \"%s\"" -#: command.c:3236 startup.c:243 startup.c:293 +#: command.c:3255 startup.c:243 startup.c:293 msgid "Password: " msgstr "Lösenord: " -#: command.c:3241 startup.c:290 +#: command.c:3260 startup.c:290 #, c-format msgid "Password for user %s: " msgstr "Lösenord för användare %s: " -#: command.c:3297 +#: command.c:3316 #, c-format msgid "Do not give user, host, or port separately when using a connection string" msgstr "Ange inte användare, värd eller port separat tillsammans med en anslutningssträng" -#: command.c:3332 +#: command.c:3351 #, c-format msgid "No database connection exists to re-use parameters from" msgstr "Det finns ingen anslutning att återanvända parametrar från" -#: command.c:3638 +#: command.c:3658 #, c-format msgid "Previous connection kept" msgstr "Föregående anslutning bevarad" -#: command.c:3644 +#: command.c:3664 #, c-format msgid "\\connect: %s" msgstr "\\connect: %s" -#: command.c:3700 +#: command.c:3720 #, c-format msgid "You are now connected to database \"%s\" as user \"%s\" on address \"%s\" at port \"%s\".\n" msgstr "Du är nu uppkopplad mot databasen \"%s\" som användare \"%s\" på adress \"%s\" på port \"%s\".\n" -#: command.c:3703 +#: command.c:3723 #, c-format msgid "You are now connected to database \"%s\" as user \"%s\" via socket in \"%s\" at port \"%s\".\n" msgstr "Du är nu uppkopplad mot databasen \"%s\" som användare \"%s\" via uttag i \"%s\" på port \"%s\".\n" -#: command.c:3709 +#: command.c:3729 #, c-format msgid "You are now connected to database \"%s\" as user \"%s\" on host \"%s\" (address \"%s\") at port \"%s\".\n" msgstr "Du är nu uppkopplad mot databasen \"%s\" som användare \"%s\" på värd \"%s\" (adress \"%s\") på port \"%s\".\n" -#: command.c:3712 +#: command.c:3732 #, c-format msgid "You are now connected to database \"%s\" as user \"%s\" on host \"%s\" at port \"%s\".\n" msgstr "Du är nu uppkopplad mot databasen \"%s\" som användare \"%s\" på värd \"%s\" på port \"%s\".\n" -#: command.c:3717 +#: command.c:3737 #, c-format msgid "You are now connected to database \"%s\" as user \"%s\".\n" msgstr "Du är nu uppkopplad mot databasen \"%s\" som användare \"%s\".\n" -#: command.c:3757 +#: command.c:3843 #, c-format msgid "%s (%s, server %s)\n" msgstr "%s (%s, server %s)\n" -#: command.c:3770 +#: command.c:3856 #, c-format msgid "" "WARNING: %s major version %s, server major version %s.\n" @@ -459,29 +499,33 @@ msgstr "" "VARNING: %s huvudversion %s, server huvudversion %s.\n" " En del psql-finesser kommer kanske inte fungera.\n" -#: command.c:3807 +#: command.c:3895 #, c-format -msgid "SSL connection (protocol: %s, cipher: %s, compression: %s)\n" -msgstr "SSL-anslutning (protokoll: %s, krypto: %s, komprimering: %s)\n" +msgid "SSL connection (protocol: %s, cipher: %s, compression: %s, ALPN: %s)\n" +msgstr "SSL-anslutning (protokoll: %s, krypto: %s, komprimering: %s, ALPN: %s)\n" -#: command.c:3808 command.c:3809 +#: command.c:3896 command.c:3897 msgid "unknown" msgstr "okänd" -#: command.c:3810 help.c:42 +#: command.c:3898 help.c:42 msgid "off" msgstr "av" -#: command.c:3810 help.c:42 +#: command.c:3898 help.c:42 msgid "on" msgstr "på" -#: command.c:3824 +#: command.c:3899 +msgid "none" +msgstr "ingen" + +#: command.c:3913 #, c-format msgid "GSSAPI-encrypted connection\n" msgstr "GSSAPI-krypterad anslutning\n" -#: command.c:3844 +#: command.c:3933 #, c-format msgid "" "WARNING: Console code page (%u) differs from Windows code page (%u)\n" @@ -492,433 +536,438 @@ msgstr "" " 8-bitars tecken kommer troligen inte fungera korrekt. Se psql:s\n" " referensmanual i sektionen \"Notes for Windows users\" för mer detaljer.\n" -#: command.c:3949 +#: command.c:4038 #, c-format msgid "environment variable PSQL_EDITOR_LINENUMBER_ARG must be set to specify a line number" msgstr "omgivningsvariabeln PSQL_EDITOR_LINENUMBER_ARG måste ange ett radnummer" -#: command.c:3979 +#: command.c:4068 #, c-format msgid "could not start editor \"%s\"" msgstr "kunde inte starta editorn \"%s\"" -#: command.c:3981 +#: command.c:4070 #, c-format msgid "could not start /bin/sh" msgstr "kunde inte starta /bin/sh" -#: command.c:4031 +#: command.c:4120 #, c-format msgid "could not locate temporary directory: %s" msgstr "kunde inte hitta temp-katalog: %s" -#: command.c:4058 +#: command.c:4147 #, c-format msgid "could not open temporary file \"%s\": %m" msgstr "kunde inte öppna temporär fil \"%s\": %m" -#: command.c:4394 +#: command.c:4483 #, c-format msgid "\\pset: ambiguous abbreviation \"%s\" matches both \"%s\" and \"%s\"" msgstr "\\pset: tvetydig förkortning \"%s\" matchar både \"%s\" och \"%s\"" -#: command.c:4414 +#: command.c:4503 #, c-format msgid "\\pset: allowed formats are aligned, asciidoc, csv, html, latex, latex-longtable, troff-ms, unaligned, wrapped" msgstr "\\pset: tillåtna format är aligned, asciidoc, csv, html, latex, latex-longtable, troff-ms, unaligned, wrapped" -#: command.c:4433 +#: command.c:4522 #, c-format msgid "\\pset: allowed line styles are ascii, old-ascii, unicode" msgstr "\\pset: tillåtna linjestilar är ascii, old-ascii, unicode" -#: command.c:4448 +#: command.c:4537 #, c-format msgid "\\pset: allowed Unicode border line styles are single, double" msgstr "\\pset: tillåtna Unicode-ramstilar är single, double" -#: command.c:4463 +#: command.c:4552 #, c-format msgid "\\pset: allowed Unicode column line styles are single, double" msgstr "\\pset: tillåtna Unicode-kolumnlinjestilar ärsingle, double" -#: command.c:4478 +#: command.c:4567 #, c-format msgid "\\pset: allowed Unicode header line styles are single, double" msgstr "\\pset: tillåtna Unicode-rubriklinjestilar är single, double" -#: command.c:4530 +#: command.c:4619 #, c-format msgid "\\pset: allowed xheader_width values are \"%s\" (default), \"%s\", \"%s\", or a number specifying the exact width" msgstr "\\pset: tillåtna värden på xheader_width är \"%s\" (standard), \"%s\", \"%s\" eller ett tal som anger exakt vidd" -#: command.c:4547 +#: command.c:4636 #, c-format msgid "\\pset: csv_fieldsep must be a single one-byte character" msgstr "\\pset: csv_fieldsep måste vara ett ensamt en-byte-tecken" -#: command.c:4552 +#: command.c:4641 #, c-format msgid "\\pset: csv_fieldsep cannot be a double quote, a newline, or a carriage return" msgstr "\\pset: csv_fieldset kan inte vara dubbelcitat, nyrad eller vagnretur" -#: command.c:4690 command.c:4891 +#: command.c:4779 command.c:4980 #, c-format msgid "\\pset: unknown option: %s" msgstr "\\pset: okänd parameter: %s" -#: command.c:4710 +#: command.c:4799 #, c-format msgid "Border style is %d.\n" msgstr "Ramstil är %d.\n" -#: command.c:4716 +#: command.c:4805 #, c-format msgid "Target width is unset.\n" msgstr "Målvidd är inte satt.\n" -#: command.c:4718 +#: command.c:4807 #, c-format msgid "Target width is %d.\n" msgstr "Målvidd är %d.\n" -#: command.c:4725 +#: command.c:4814 #, c-format msgid "Expanded display is on.\n" msgstr "Utökad visning är på.\n" -#: command.c:4727 +#: command.c:4816 #, c-format msgid "Expanded display is used automatically.\n" msgstr "Utökad visning används automatiskt.\n" -#: command.c:4729 +#: command.c:4818 #, c-format msgid "Expanded display is off.\n" msgstr "Utökad visning är av.\n" -#: command.c:4736 command.c:4738 command.c:4740 +#: command.c:4825 command.c:4827 command.c:4829 #, c-format msgid "Expanded header width is \"%s\".\n" msgstr "Expanderad rubrikvidd är \"%s\".\n" -#: command.c:4742 +#: command.c:4831 #, c-format msgid "Expanded header width is %d.\n" msgstr "Expanderad rubrikvidd är %d.\n" -#: command.c:4748 +#: command.c:4837 #, c-format msgid "Field separator for CSV is \"%s\".\n" msgstr "Fältseparatorn för CSV är \"%s\".\n" -#: command.c:4756 command.c:4764 +#: command.c:4845 command.c:4853 #, c-format msgid "Field separator is zero byte.\n" msgstr "Fältseparatorn är noll-byte.\n" -#: command.c:4758 +#: command.c:4847 #, c-format msgid "Field separator is \"%s\".\n" msgstr "Fältseparatorn är \"%s\".\n" -#: command.c:4771 +#: command.c:4860 #, c-format msgid "Default footer is on.\n" msgstr "Standard sidfot är på.\n" -#: command.c:4773 +#: command.c:4862 #, c-format msgid "Default footer is off.\n" msgstr "Standard sidfot är av.\n" -#: command.c:4779 +#: command.c:4868 #, c-format msgid "Output format is %s.\n" msgstr "Utdataformatet är \"%s\".\n" -#: command.c:4785 +#: command.c:4874 #, c-format msgid "Line style is %s.\n" msgstr "Linjestil är %s.\n" -#: command.c:4792 +#: command.c:4881 #, c-format msgid "Null display is \"%s\".\n" msgstr "Null-visare är \"%s\".\n" -#: command.c:4800 +#: command.c:4889 #, c-format msgid "Locale-adjusted numeric output is on.\n" msgstr "Lokal-anpassad numerisk utdata är på.\n" -#: command.c:4802 +#: command.c:4891 #, c-format msgid "Locale-adjusted numeric output is off.\n" msgstr "Lokal-anpassad numerisk utdata är av.\n" -#: command.c:4809 +#: command.c:4898 #, c-format msgid "Pager is used for long output.\n" msgstr "Siduppdelare är på för lång utdata.\n" -#: command.c:4811 +#: command.c:4900 #, c-format msgid "Pager is always used.\n" msgstr "Siduppdelare används alltid.\n" -#: command.c:4813 +#: command.c:4902 #, c-format msgid "Pager usage is off.\n" msgstr "Siduppdelare är av.\n" -#: command.c:4819 +#: command.c:4908 #, 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" msgstr[0] "Siduppdelare kommer inte användas för färre än %d linje.\n" msgstr[1] "Siduppdelare kommer inte användas för färre än %d linjer.\n" -#: command.c:4829 command.c:4839 +#: command.c:4918 command.c:4928 #, c-format msgid "Record separator is zero byte.\n" msgstr "Postseparatorn är noll-byte.\n" -#: command.c:4831 +#: command.c:4920 #, c-format msgid "Record separator is .\n" msgstr "Postseparatorn är .\n" -#: command.c:4833 +#: command.c:4922 #, c-format msgid "Record separator is \"%s\".\n" msgstr "Postseparatorn är \"%s\".\n" -#: command.c:4846 +#: command.c:4935 #, c-format msgid "Table attributes are \"%s\".\n" msgstr "Tabellattributen är \"%s\".\n" -#: command.c:4849 +#: command.c:4938 #, c-format msgid "Table attributes unset.\n" msgstr "Tabellattributen är ej satta.\n" -#: command.c:4856 +#: command.c:4945 #, c-format msgid "Title is \"%s\".\n" msgstr "Titeln är \"%s\".\n" -#: command.c:4858 +#: command.c:4947 #, c-format msgid "Title is unset.\n" msgstr "Titeln är inte satt.\n" -#: command.c:4865 +#: command.c:4954 #, c-format msgid "Tuples only is on.\n" msgstr "Visa bara tupler är på.\n" -#: command.c:4867 +#: command.c:4956 #, c-format msgid "Tuples only is off.\n" msgstr "Visa bara tupler är av.\n" -#: command.c:4873 +#: command.c:4962 #, c-format msgid "Unicode border line style is \"%s\".\n" msgstr "Unicode-ramstil är \"%s\".\n" -#: command.c:4879 +#: command.c:4968 #, c-format msgid "Unicode column line style is \"%s\".\n" msgstr "Unicode-kolumnLinjestil är \"%s\".\n" -#: command.c:4885 +#: command.c:4974 #, c-format msgid "Unicode header line style is \"%s\".\n" msgstr "Unicode-rubriklinjestil är \"%s\".\n" -#: command.c:5134 +#: command.c:5223 #, c-format msgid "\\!: failed" msgstr "\\!: misslyckades" -#: command.c:5168 +#: command.c:5257 #, c-format msgid "\\watch cannot be used with an empty query" msgstr "\\watch kan inte användas på en tom fråga" -#: command.c:5200 +#: command.c:5289 #, c-format msgid "could not set timer: %m" msgstr "kunde inte sätta timer: %m" -#: command.c:5269 +#: command.c:5358 #, c-format msgid "%s\t%s (every %gs)\n" msgstr "%s\t%s (varje %gs)\n" -#: command.c:5272 +#: command.c:5361 #, c-format msgid "%s (every %gs)\n" msgstr "%s (varje %gs)\n" -#: command.c:5340 +#: command.c:5424 #, c-format msgid "could not wait for signals: %m" msgstr "kunde inte vänta på signaler: %m" -#: command.c:5398 command.c:5405 common.c:592 common.c:599 common.c:1083 +#: command.c:5480 command.c:5487 common.c:632 common.c:639 common.c:1123 #, c-format msgid "" -"********* QUERY **********\n" +"/******** QUERY *********/\n" "%s\n" -"**************************\n" +"/************************/\n" "\n" msgstr "" -"********* FRÅGA **********\n" +"/******** FRÅGA *********/\n" "%s\n" -"**************************\n" +"/************************/\n" "\n" -#: command.c:5584 +#: command.c:5666 #, c-format msgid "\"%s.%s\" is not a view" msgstr "\"%s.%s\" är inte en vy" -#: command.c:5600 +#: command.c:5682 #, c-format msgid "could not parse reloptions array" msgstr "kunde inte parsa arrayen reloptions" -#: common.c:167 +#: common.c:206 #, c-format msgid "cannot escape without active connection" msgstr "kan inte escape:a utan en aktiv uppkoppling" -#: common.c:208 +#: common.c:247 #, c-format msgid "shell command argument contains a newline or carriage return: \"%s\"" msgstr "shell-kommandots argument innehåller nyrad eller vagnretur: \"%s\"" -#: common.c:312 +#: common.c:351 #, c-format msgid "connection to server was lost" msgstr "uppkopplingen till servern har brutits" -#: common.c:316 +#: common.c:355 #, c-format msgid "The connection to the server was lost. Attempting reset: " msgstr "Anslutningen till servern har brutits. Försöker starta om: " -#: common.c:321 +#: common.c:360 #, c-format msgid "Failed.\n" msgstr "Misslyckades.\n" -#: common.c:338 +#: common.c:377 #, c-format msgid "Succeeded.\n" msgstr "Lyckades.\n" -#: common.c:390 common.c:1021 +#: common.c:430 common.c:1061 #, c-format msgid "unexpected PQresultStatus: %d" msgstr "oväntad PQresultStatus: %d" -#: common.c:531 +#: common.c:571 #, c-format msgid "Time: %.3f ms\n" msgstr "Tid: %.3f ms\n" -#: common.c:546 +#: common.c:586 #, c-format msgid "Time: %.3f ms (%02d:%06.3f)\n" msgstr "Tid: %.3f ms (%02d:%06.3f)\n" -#: common.c:555 +#: common.c:595 #, c-format msgid "Time: %.3f ms (%02d:%02d:%06.3f)\n" msgstr "Tid: %.3f ms (%02d:%02d:%06.3f)\n" -#: common.c:562 +#: common.c:602 #, c-format msgid "Time: %.3f ms (%.0f d %02d:%02d:%06.3f)\n" msgstr "Tid: %.3f ms (%.0f d %02d:%02d:%06.3f)\n" -#: common.c:586 common.c:643 common.c:1054 describe.c:6214 +#: common.c:626 common.c:683 common.c:1094 describe.c:6192 #, c-format msgid "You are currently not connected to a database." msgstr "Du är för närvarande inte uppkopplad mot en databas." -#: common.c:674 +#: common.c:714 #, c-format msgid "Asynchronous notification \"%s\" with payload \"%s\" received from server process with PID %d.\n" msgstr "Asynkron notificering \"%s\" mottagen med innehåll \"%s\" från serverprocess med PID %d.\n" -#: common.c:677 +#: common.c:717 #, c-format msgid "Asynchronous notification \"%s\" received from server process with PID %d.\n" msgstr "Asynkron notificering \"%s\" mottagen från serverprocess med PID %d.\n" -#: common.c:708 +#: common.c:748 #, c-format msgid "could not print result table: %m" msgstr "kunde inte visa resultatabell: %m" -#: common.c:728 +#: common.c:768 #, c-format msgid "no rows returned for \\gset" msgstr "inga rader returnerades för \\gset" -#: common.c:733 +#: common.c:773 #, c-format msgid "more than one row returned for \\gset" msgstr "mer än en rad returnerades för \\gset" -#: common.c:751 +#: common.c:791 #, c-format msgid "attempt to \\gset into specially treated variable \"%s\" ignored" msgstr "försök att utföra \\gset in i en speciellt hanterad variabel \"%s\" hoppas över" -#: common.c:1063 +#: common.c:1103 #, c-format msgid "" -"***(Single step mode: verify command)*******************************************\n" +"/**(Single step mode: verify command)******************************************/\n" "%s\n" -"***(press return to proceed or enter x and return to cancel)********************\n" +"/**(press return to proceed or enter x and return to cancel)*******************/\n" msgstr "" -"***(Stegningsläge: Verifiera kommando)*******************************************\n" +"/**(Stegningsläge: verifiera kommando)*****************************************/\n" "%s\n" -"***(tryck return för att fortsätta eller skriv x och return för att avbryta)*****\n" +"/**(tryck return för att fortsätta eller skriv x och return för att avbryta)***/\n" -#: common.c:1146 +#: common.c:1180 #, c-format msgid "STATEMENT: %s" msgstr "SATS: %s" -#: common.c:1182 +#: common.c:1216 #, c-format msgid "unexpected transaction status (%d)" msgstr "oväntad transaktionsstatus (%d)" -#: common.c:1335 describe.c:2026 +#: common.c:1369 describe.c:2025 msgid "Column" msgstr "Kolumn" -#: common.c:1336 describe.c:170 describe.c:358 describe.c:376 describe.c:1046 -#: describe.c:1200 describe.c:1732 describe.c:1756 describe.c:2027 -#: describe.c:3958 describe.c:4170 describe.c:4409 describe.c:4571 -#: describe.c:5846 +#: common.c:1370 describe.c:169 describe.c:355 describe.c:373 describe.c:1043 +#: describe.c:1201 describe.c:1731 describe.c:1755 describe.c:2026 +#: describe.c:3956 describe.c:4167 describe.c:4404 describe.c:4564 +#: describe.c:5829 msgid "Type" msgstr "Typ" -#: common.c:1385 +#: common.c:1419 #, c-format msgid "The command has no result, or the result has no columns.\n" msgstr "Kommandot hade inget resultat eller så hade resultatet inga kolumner.\n" +#: common.c:1511 +#, c-format +msgid "fetching results in chunked mode failed" +msgstr "hämta resultat i chunk-läge misslyckades" + #: copy.c:98 #, c-format msgid "\\copy: arguments required" @@ -934,11 +983,6 @@ msgstr "\\copy: parsfel vid \"%s\"" msgid "\\copy: parse error at end of line" msgstr "\\copy: parsfel vid radslutet" -#: copy.c:326 -#, c-format -msgid "could not execute command \"%s\": %m" -msgstr "kunde inte köra kommandot \"%s\": %m" - #: copy.c:342 #, c-format msgid "could not stat file \"%s\": %m" @@ -976,343 +1020,344 @@ msgstr "" "Mata in data som skall kopieras följt av en nyrad.\n" "Avsluta med bakstreck och en punkt ensamma på en rad eller av en EOF." -#: copy.c:682 +#: copy.c:684 msgid "aborted because of read failure" msgstr "avbruten på grund av läsfel" -#: copy.c:716 +#: copy.c:718 msgid "trying to exit copy mode" msgstr "försöker avsluta kopieringsläge" -#: crosstabview.c:123 +#: crosstabview.c:124 #, c-format msgid "\\crosstabview: statement did not return a result set" msgstr "\\crosstabview: satsen returnerade ingen resultatmängd" -#: crosstabview.c:129 +#: crosstabview.c:130 #, c-format msgid "\\crosstabview: query must return at least three columns" msgstr "\\crosstabview: frågan måste returnera minst tre kolumner" -#: crosstabview.c:156 +#: crosstabview.c:157 #, c-format msgid "\\crosstabview: vertical and horizontal headers must be different columns" msgstr "\\crosstabview: vertikala och horisontala rubriker måste vara olika kolumner" -#: crosstabview.c:172 +#: crosstabview.c:173 #, c-format msgid "\\crosstabview: data column must be specified when query returns more than three columns" msgstr "\\crosstabview: datakolumn måste anges när frågan returnerar mer än tre kolumner" -#: crosstabview.c:228 +#: crosstabview.c:229 #, c-format msgid "\\crosstabview: maximum number of columns (%d) exceeded" msgstr "\\crosstabview: maximalt antal kolumner (%d) överskridet" -#: crosstabview.c:397 +#: crosstabview.c:398 #, c-format msgid "\\crosstabview: query result contains multiple data values for row \"%s\", column \"%s\"" msgstr "\\crosstabview: frågeresultatet innehåller multipla värden för rad \"%s\", kolumn \"%s\"" -#: crosstabview.c:645 +#: crosstabview.c:646 #, c-format msgid "\\crosstabview: column number %d is out of range 1..%d" msgstr "\\crosstabview: kolumnnummer %d är utanför giltigt intervall 1..%d" -#: crosstabview.c:670 +#: crosstabview.c:671 #, c-format msgid "\\crosstabview: ambiguous column name: \"%s\"" msgstr "\\crosstabview: tvetydigt kolumnnamn: \"%s\"" -#: crosstabview.c:678 +#: crosstabview.c:679 #, c-format msgid "\\crosstabview: column name not found: \"%s\"" msgstr "\\crosstabview: hittar ej kolumnnamn: \"%s\"" -#: describe.c:87 describe.c:338 describe.c:630 describe.c:807 describe.c:1038 -#: describe.c:1189 describe.c:1264 describe.c:3947 describe.c:4157 -#: describe.c:4407 describe.c:4489 describe.c:4724 describe.c:4932 -#: describe.c:5174 describe.c:5418 describe.c:5488 describe.c:5499 -#: describe.c:5556 describe.c:5960 describe.c:6038 +#: describe.c:87 describe.c:335 describe.c:626 describe.c:802 describe.c:1035 +#: describe.c:1190 describe.c:1264 describe.c:3945 describe.c:4154 +#: describe.c:4402 describe.c:4483 describe.c:4715 describe.c:4921 +#: describe.c:5165 describe.c:5406 describe.c:5475 describe.c:5486 +#: describe.c:5542 describe.c:5941 describe.c:6018 msgid "Schema" msgstr "Schema" -#: describe.c:88 describe.c:167 describe.c:229 describe.c:339 describe.c:631 -#: describe.c:808 describe.c:930 describe.c:1039 describe.c:1265 -#: describe.c:3948 describe.c:4158 describe.c:4323 describe.c:4408 -#: describe.c:4490 describe.c:4653 describe.c:4725 describe.c:4933 -#: describe.c:5046 describe.c:5175 describe.c:5419 describe.c:5489 -#: describe.c:5500 describe.c:5557 describe.c:5756 describe.c:5827 -#: describe.c:6036 describe.c:6265 describe.c:6573 +#: describe.c:88 describe.c:166 describe.c:227 describe.c:336 describe.c:627 +#: describe.c:803 describe.c:924 describe.c:1036 describe.c:1265 +#: describe.c:3946 describe.c:4155 describe.c:4319 describe.c:4403 +#: describe.c:4484 describe.c:4645 describe.c:4716 describe.c:4922 +#: describe.c:5038 describe.c:5166 describe.c:5407 describe.c:5476 +#: describe.c:5487 describe.c:5543 describe.c:5740 describe.c:5810 +#: describe.c:6016 describe.c:6243 describe.c:6551 msgid "Name" msgstr "Namn" -#: describe.c:89 describe.c:351 describe.c:369 +#: describe.c:89 describe.c:348 describe.c:366 msgid "Result data type" msgstr "Resultatdatatyp" -#: describe.c:90 describe.c:352 describe.c:370 +#: describe.c:90 describe.c:349 describe.c:367 msgid "Argument data types" msgstr "Argumentdatatyp" -#: describe.c:98 describe.c:105 describe.c:178 describe.c:243 describe.c:418 -#: describe.c:662 describe.c:823 describe.c:974 describe.c:1267 describe.c:2047 -#: describe.c:3676 describe.c:4002 describe.c:4204 describe.c:4347 -#: describe.c:4421 describe.c:4499 describe.c:4666 describe.c:4844 -#: describe.c:4982 describe.c:5055 describe.c:5176 describe.c:5327 -#: describe.c:5369 describe.c:5435 describe.c:5492 describe.c:5501 -#: describe.c:5558 describe.c:5774 describe.c:5849 describe.c:5974 -#: describe.c:6039 describe.c:7093 +#: describe.c:98 describe.c:105 describe.c:177 describe.c:241 describe.c:415 +#: describe.c:658 describe.c:818 describe.c:972 describe.c:1267 describe.c:2046 +#: describe.c:3676 describe.c:4000 describe.c:4201 describe.c:4343 +#: describe.c:4416 describe.c:4493 describe.c:4658 describe.c:4834 +#: describe.c:4975 describe.c:5047 describe.c:5167 describe.c:5317 +#: describe.c:5358 describe.c:5423 describe.c:5479 describe.c:5488 +#: describe.c:5544 describe.c:5758 describe.c:5832 describe.c:5955 +#: describe.c:6019 describe.c:7078 msgid "Description" msgstr "Beskrivning" -#: describe.c:128 +#: describe.c:127 msgid "List of aggregate functions" msgstr "Lista med aggregatfunktioner" -#: describe.c:153 +#: describe.c:152 #, c-format msgid "The server (version %s) does not support access methods." msgstr "Servern (version %s) stöder inte accessmetoder." -#: describe.c:168 +#: describe.c:167 msgid "Index" msgstr "Index" -#: describe.c:169 describe.c:3966 describe.c:4183 describe.c:5961 +#: describe.c:168 describe.c:3964 describe.c:4180 describe.c:5942 msgid "Table" msgstr "Tabell" -#: describe.c:177 describe.c:5758 +#: describe.c:176 describe.c:5742 msgid "Handler" msgstr "Hanterare" -#: describe.c:201 +#: describe.c:199 msgid "List of access methods" msgstr "Lista med accessmetoder" -#: describe.c:230 describe.c:404 describe.c:655 describe.c:931 describe.c:1188 -#: describe.c:3959 describe.c:4159 describe.c:4324 describe.c:4655 -#: describe.c:5047 describe.c:5757 describe.c:5828 describe.c:6266 -#: describe.c:6454 describe.c:6574 describe.c:6733 describe.c:6819 -#: describe.c:7081 +#: describe.c:228 describe.c:401 describe.c:651 describe.c:925 describe.c:1189 +#: describe.c:3957 describe.c:4156 describe.c:4320 describe.c:4647 +#: describe.c:5039 describe.c:5741 describe.c:5811 describe.c:6244 +#: describe.c:6431 describe.c:6552 describe.c:6722 describe.c:6807 +#: describe.c:7066 msgid "Owner" msgstr "Ägare" -#: describe.c:231 +#: describe.c:229 msgid "Location" msgstr "Plats" -#: describe.c:241 describe.c:3517 describe.c:3858 +#: describe.c:239 describe.c:3517 describe.c:3857 msgid "Options" msgstr "Alternativ" -#: describe.c:242 describe.c:653 describe.c:972 describe.c:4001 +#: describe.c:240 describe.c:649 describe.c:970 describe.c:3999 msgid "Size" msgstr "Storlek" -#: describe.c:266 +#: describe.c:263 msgid "List of tablespaces" msgstr "Lista med tabellutrymmen" -#: describe.c:311 +#: describe.c:308 #, c-format msgid "\\df only takes [anptwS+] as options" msgstr "\\df tar bara [anptwS+] som flaggor" -#: describe.c:319 +#: describe.c:316 #, c-format msgid "\\df does not take a \"%c\" option with server version %s" msgstr "\\df tar inte en \"%c\"-flagga med serverversion %s" #. translator: "agg" is short for "aggregate" -#: describe.c:354 describe.c:372 +#: describe.c:351 describe.c:369 msgid "agg" msgstr "agg" -#: describe.c:355 describe.c:373 +#: describe.c:352 describe.c:370 msgid "window" msgstr "fönster" -#: describe.c:356 +#: describe.c:353 msgid "proc" msgstr "proc" -#: describe.c:357 describe.c:375 +#: describe.c:354 describe.c:372 msgid "func" msgstr "funk" # Vi väljer att bevara den engelska termen då det dels refererar till kommandot CREATE TRIGGER # och dels för att detta begreppet normalt benäms som triggers i dagligt tal i Sverige. -#: describe.c:374 describe.c:1397 +#: describe.c:371 describe.c:1397 msgid "trigger" msgstr "trigger" # Vi väljer att bevara den engelska termen då det refererar till en del av CREATE FUNCTION-syntaxen -#: describe.c:386 +#: describe.c:383 msgid "immutable" msgstr "immutable" # Vi väljer att bevara den engelska termen då det refererar till en del av CREATE FUNCTION-syntaxen -#: describe.c:387 +#: describe.c:384 msgid "stable" msgstr "stable" # Vi väljer att bevara den engelska termen då det refererar till en del av CREATE FUNCTION-syntaxen -#: describe.c:388 +#: describe.c:385 msgid "volatile" msgstr "volatile" -#: describe.c:389 +#: describe.c:386 msgid "Volatility" msgstr "Flyktighet" -#: describe.c:397 +#: describe.c:394 msgid "restricted" msgstr "begränsad" -#: describe.c:398 +#: describe.c:395 msgid "safe" msgstr "säker" -#: describe.c:399 +#: describe.c:396 msgid "unsafe" msgstr "osäker" -#: describe.c:400 +#: describe.c:397 msgid "Parallel" msgstr "Parallell" -#: describe.c:405 +#: describe.c:402 msgid "definer" msgstr "definierare" -#: describe.c:406 +#: describe.c:403 msgid "invoker" msgstr "anropare" -#: describe.c:407 +#: describe.c:404 msgid "Security" msgstr "Säkerhet" -#: describe.c:412 +#: describe.c:409 msgid "Language" msgstr "Språk" -#: describe.c:415 describe.c:652 +#: describe.c:412 describe.c:648 msgid "Internal name" msgstr "Internt namn" -#: describe.c:589 +#: describe.c:585 msgid "List of functions" msgstr "Lista med funktioner" -#: describe.c:654 +#: describe.c:650 msgid "Elements" msgstr "Element" -#: describe.c:706 +#: describe.c:701 msgid "List of data types" msgstr "Lista med datatyper" -#: describe.c:809 +#: describe.c:804 msgid "Left arg type" msgstr "Vänster argumenttyp" -#: describe.c:810 +#: describe.c:805 msgid "Right arg type" msgstr "Höger argumenttyp" -#: describe.c:811 +#: describe.c:806 msgid "Result type" msgstr "Resultattyp" -#: describe.c:816 describe.c:4661 describe.c:4827 describe.c:5326 -#: describe.c:7010 describe.c:7014 +#: describe.c:811 describe.c:4653 describe.c:4817 describe.c:5316 +#: describe.c:6996 describe.c:7000 msgid "Function" msgstr "Funktion" -#: describe.c:897 +#: describe.c:891 msgid "List of operators" msgstr "Lista med operatorer" -#: describe.c:932 +#: describe.c:926 msgid "Encoding" msgstr "Kodning" -#: describe.c:936 describe.c:940 +#: describe.c:930 describe.c:934 msgid "Locale Provider" msgstr "Lokalleverantör" -#: describe.c:944 describe.c:4947 +#: describe.c:938 describe.c:4936 msgid "Collate" msgstr "Jämförelse" -#: describe.c:945 describe.c:4948 +#: describe.c:939 describe.c:4937 msgid "Ctype" msgstr "Ctype" -#: describe.c:949 describe.c:953 describe.c:4953 describe.c:4957 -msgid "ICU Locale" -msgstr "ICU-lokal" +#: describe.c:943 describe.c:947 describe.c:951 describe.c:4942 describe.c:4946 +#: describe.c:4950 +msgid "Locale" +msgstr "Lokal" -#: describe.c:957 describe.c:961 describe.c:4962 describe.c:4966 +#: describe.c:955 describe.c:959 describe.c:4955 describe.c:4959 msgid "ICU Rules" msgstr "ICU-regler" -#: describe.c:973 +#: describe.c:971 msgid "Tablespace" msgstr "Tabellutrymme" -#: describe.c:999 +#: describe.c:996 msgid "List of databases" msgstr "Lista med databaser" -#: describe.c:1040 describe.c:1191 describe.c:3949 +#: describe.c:1037 describe.c:1192 describe.c:3947 msgid "table" msgstr "tabell" -#: describe.c:1041 describe.c:3950 +#: describe.c:1038 describe.c:3948 msgid "view" msgstr "vy" -#: describe.c:1042 describe.c:3951 +#: describe.c:1039 describe.c:3949 msgid "materialized view" msgstr "materialiserad vy" -#: describe.c:1043 describe.c:1193 describe.c:3953 +#: describe.c:1040 describe.c:1194 describe.c:3951 msgid "sequence" msgstr "sekvens" -#: describe.c:1044 describe.c:3955 +#: describe.c:1041 describe.c:3953 msgid "foreign table" msgstr "främmande tabell" -#: describe.c:1045 describe.c:3956 describe.c:4168 +#: describe.c:1042 describe.c:3954 describe.c:4165 msgid "partitioned table" msgstr "partitionerad tabell" -#: describe.c:1056 +#: describe.c:1058 msgid "Column privileges" msgstr "Kolumnrättigheter" -#: describe.c:1087 describe.c:1121 +#: describe.c:1089 describe.c:1123 msgid "Policies" msgstr "Policys" -#: describe.c:1150 describe.c:4577 describe.c:6678 +#: describe.c:1151 describe.c:4570 describe.c:6667 msgid "Access privileges" msgstr "Åtkomsträttigheter" -#: describe.c:1195 +#: describe.c:1196 msgid "function" msgstr "funktion" -#: describe.c:1197 +#: describe.c:1198 msgid "type" msgstr "typ" -#: describe.c:1199 +#: describe.c:1200 msgid "schema" msgstr "schema" @@ -1344,293 +1389,293 @@ msgstr "operatorfamilj" msgid "rule" msgstr "rule" -#: describe.c:1421 +#: describe.c:1420 msgid "Object descriptions" msgstr "Objektbeskrivningar" -#: describe.c:1486 describe.c:4074 +#: describe.c:1485 describe.c:4072 #, c-format msgid "Did not find any relation named \"%s\"." msgstr "Kunde inte hitta en relation med namn \"%s\"." -#: describe.c:1489 describe.c:4077 +#: describe.c:1488 describe.c:4075 #, c-format msgid "Did not find any relations." msgstr "Kunde inte hitta några relationer." -#: describe.c:1685 +#: describe.c:1684 #, c-format msgid "Did not find any relation with OID %s." msgstr "Kunde inte hitta en relation med OID %s." -#: describe.c:1733 describe.c:1757 +#: describe.c:1732 describe.c:1756 msgid "Start" msgstr "Start" -#: describe.c:1734 describe.c:1758 +#: describe.c:1733 describe.c:1757 msgid "Minimum" msgstr "Minimum" -#: describe.c:1735 describe.c:1759 +#: describe.c:1734 describe.c:1758 msgid "Maximum" msgstr "Maximum" -#: describe.c:1736 describe.c:1760 +#: describe.c:1735 describe.c:1759 msgid "Increment" msgstr "Ökning" -#: describe.c:1737 describe.c:1761 describe.c:1890 describe.c:4493 -#: describe.c:4838 describe.c:4971 describe.c:4976 describe.c:6721 +#: describe.c:1736 describe.c:1760 describe.c:1889 describe.c:4487 +#: describe.c:4828 describe.c:4964 describe.c:4969 describe.c:6710 msgid "yes" msgstr "ja" -#: describe.c:1738 describe.c:1762 describe.c:1891 describe.c:4493 -#: describe.c:4835 describe.c:4971 describe.c:6722 +#: describe.c:1737 describe.c:1761 describe.c:1890 describe.c:4487 +#: describe.c:4825 describe.c:4964 describe.c:6711 msgid "no" msgstr "nej" -#: describe.c:1739 describe.c:1763 +#: describe.c:1738 describe.c:1762 msgid "Cycles?" msgstr "Cyklisk?" -#: describe.c:1740 describe.c:1764 +#: describe.c:1739 describe.c:1763 msgid "Cache" msgstr "Cache" -#: describe.c:1805 +#: describe.c:1804 #, c-format msgid "Owned by: %s" msgstr "Ägd av: %s" -#: describe.c:1809 +#: describe.c:1808 #, c-format msgid "Sequence for identity column: %s" msgstr "Sekvens för identitetskolumn: %s" -#: describe.c:1817 +#: describe.c:1816 #, c-format msgid "Unlogged sequence \"%s.%s\"" msgstr "Ologgat sekvens \"%s.%s\"" -#: describe.c:1820 +#: describe.c:1819 #, c-format msgid "Sequence \"%s.%s\"" msgstr "Sekvens \"%s.%s\"" -#: describe.c:1963 +#: describe.c:1962 #, c-format msgid "Unlogged table \"%s.%s\"" msgstr "Ologgad tabell \"%s.%s\"" -#: describe.c:1966 +#: describe.c:1965 #, c-format msgid "Table \"%s.%s\"" msgstr "Tabell \"%s.%s\"" -#: describe.c:1970 +#: describe.c:1969 #, c-format msgid "View \"%s.%s\"" msgstr "Vy \"%s.%s\"" -#: describe.c:1975 +#: describe.c:1974 #, c-format msgid "Unlogged materialized view \"%s.%s\"" msgstr "Ologgad materialiserad vy \"%s.%s\"" -#: describe.c:1978 +#: describe.c:1977 #, c-format msgid "Materialized view \"%s.%s\"" msgstr "Materialiserad vy \"%s.%s\"" -#: describe.c:1983 +#: describe.c:1982 #, c-format msgid "Unlogged index \"%s.%s\"" msgstr "Ologgat index \"%s.%s\"" -#: describe.c:1986 +#: describe.c:1985 #, c-format msgid "Index \"%s.%s\"" msgstr "Index \"%s.%s\"" -#: describe.c:1991 +#: describe.c:1990 #, c-format msgid "Unlogged partitioned index \"%s.%s\"" msgstr "Ologgat partitionerat index \"%s.%s\"" -#: describe.c:1994 +#: describe.c:1993 #, c-format msgid "Partitioned index \"%s.%s\"" msgstr "Partitionerat index \"%s.%s\"" -#: describe.c:1998 +#: describe.c:1997 #, c-format msgid "TOAST table \"%s.%s\"" msgstr "TOAST-tabell \"%s.%s\"" -#: describe.c:2002 +#: describe.c:2001 #, c-format msgid "Composite type \"%s.%s\"" msgstr "Sammansatt typ \"%s.%s\"" -#: describe.c:2006 +#: describe.c:2005 #, c-format msgid "Foreign table \"%s.%s\"" msgstr "Främmande tabell \"%s.%s\"" -#: describe.c:2011 +#: describe.c:2010 #, c-format msgid "Unlogged partitioned table \"%s.%s\"" msgstr "Ologgad partitionerad tabell \"%s.%s\"" -#: describe.c:2014 +#: describe.c:2013 #, c-format msgid "Partitioned table \"%s.%s\"" msgstr "Partitionerad tabell \"%s.%s\"" -#: describe.c:2030 describe.c:4410 +#: describe.c:2029 describe.c:4405 msgid "Collation" msgstr "Jämförelse" -#: describe.c:2031 describe.c:4411 +#: describe.c:2030 describe.c:4406 msgid "Nullable" msgstr "Nullbar" -#: describe.c:2032 describe.c:4412 +#: describe.c:2031 describe.c:4407 msgid "Default" msgstr "Standard" -#: describe.c:2035 +#: describe.c:2034 msgid "Key?" msgstr "Nyckel?" -#: describe.c:2037 describe.c:4732 describe.c:4743 +#: describe.c:2036 describe.c:4723 describe.c:4734 msgid "Definition" msgstr "Definition" -#: describe.c:2039 describe.c:5773 describe.c:5848 describe.c:5914 -#: describe.c:5973 +#: describe.c:2038 describe.c:5757 describe.c:5831 describe.c:5896 +#: describe.c:5954 msgid "FDW options" msgstr "FDW-alternativ" -#: describe.c:2041 +#: describe.c:2040 msgid "Storage" msgstr "Lagring" -#: describe.c:2043 +#: describe.c:2042 msgid "Compression" msgstr "Komprimering" -#: describe.c:2045 +#: describe.c:2044 msgid "Stats target" msgstr "Statistikmål" -#: describe.c:2181 +#: describe.c:2180 #, c-format msgid "Partition of: %s %s%s" msgstr "Partition av: %s %s%s" -#: describe.c:2194 +#: describe.c:2193 msgid "No partition constraint" msgstr "Inget partitioneringsvillkor" -#: describe.c:2196 +#: describe.c:2195 #, c-format msgid "Partition constraint: %s" msgstr "Partitioneringsvillkor: %s" -#: describe.c:2220 +#: describe.c:2219 #, c-format msgid "Partition key: %s" msgstr "Partitioneringsnyckel: %s" -#: describe.c:2246 +#: describe.c:2245 #, c-format msgid "Owning table: \"%s.%s\"" msgstr "Ägande tabell \"%s.%s\"" -#: describe.c:2315 +#: describe.c:2314 msgid "primary key, " msgstr "primärnyckel, " -#: describe.c:2318 +#: describe.c:2317 msgid "unique" msgstr "unik" -#: describe.c:2320 +#: describe.c:2319 msgid " nulls not distinct" msgstr " null-värden ej distinkta" -#: describe.c:2321 +#: describe.c:2320 msgid ", " msgstr ", " -#: describe.c:2328 +#: describe.c:2327 #, c-format msgid "for table \"%s.%s\"" msgstr "för tabell \"%s.%s\"" -#: describe.c:2332 +#: describe.c:2331 #, c-format msgid ", predicate (%s)" msgstr ", predikat (%s)" -#: describe.c:2335 +#: describe.c:2334 msgid ", clustered" msgstr ", klustrad" -#: describe.c:2338 +#: describe.c:2337 msgid ", invalid" msgstr ", ogiltig" -#: describe.c:2341 +#: describe.c:2340 msgid ", deferrable" msgstr ", uppskjutbar" -#: describe.c:2344 +#: describe.c:2343 msgid ", initially deferred" msgstr ", initialt uppskjuten" -#: describe.c:2347 +#: describe.c:2346 msgid ", replica identity" msgstr ", replikaidentitet" -#: describe.c:2401 +#: describe.c:2400 msgid "Indexes:" msgstr "Index:" -#: describe.c:2484 +#: describe.c:2483 msgid "Check constraints:" msgstr "Kontrollvillkor:" -#: describe.c:2552 +#: describe.c:2551 msgid "Foreign-key constraints:" msgstr "Främmande nyckel-villkor:" -#: describe.c:2615 +#: describe.c:2614 msgid "Referenced by:" msgstr "Refererad av:" -#: describe.c:2665 +#: describe.c:2664 msgid "Policies:" msgstr "Policys:" -#: describe.c:2668 +#: describe.c:2667 msgid "Policies (forced row security enabled):" msgstr "Policys (tvingad radsäkerhet påslagen):" -#: describe.c:2671 +#: describe.c:2670 msgid "Policies (row security enabled): (none)" msgstr "Policys (radsäkerhet påslagna): (ingen)" -#: describe.c:2674 +#: describe.c:2673 msgid "Policies (forced row security enabled): (none)" msgstr "Policys (tvingad radsäkerhet påslagen): (ingen)" -#: describe.c:2677 +#: describe.c:2676 msgid "Policies (row security disabled):" msgstr "Policys (radsäkerhet avstängd):" -#: describe.c:2737 describe.c:2841 +#: describe.c:2736 describe.c:2841 msgid "Statistics objects:" msgstr "Statistikobjekt:" @@ -1650,7 +1695,7 @@ msgstr "Regler som alltid utförs:" msgid "Rules firing on replica only:" msgstr "Regler som utförs enbart på replika:" -#: describe.c:3031 describe.c:5109 +#: describe.c:3031 describe.c:5100 msgid "Publications:" msgstr "Publiceringar:" @@ -1749,7 +1794,7 @@ msgstr ", tabellutrymme: \"%s\"" msgid "List of roles" msgstr "Lista med roller" -#: describe.c:3672 describe.c:3841 +#: describe.c:3672 describe.c:3840 msgid "Role name" msgstr "Rollnamn" @@ -1827,368 +1872,368 @@ msgstr "Kunde inte hitta några inställningar för roll \"%s\"." msgid "Did not find any settings." msgstr "Kunde inte hitta några inställningar." -#: describe.c:3812 +#: describe.c:3811 msgid "List of settings" msgstr "Lista med inställningar" -#: describe.c:3842 +#: describe.c:3841 msgid "Member of" msgstr "Medlem av" -#: describe.c:3859 +#: describe.c:3858 msgid "Grantor" msgstr "Rättighetsutdelare" -#: describe.c:3886 +#: describe.c:3884 msgid "List of role grants" msgstr "Lista med roll-rättigheter" -#: describe.c:3952 +#: describe.c:3950 msgid "index" msgstr "index" -#: describe.c:3954 +#: describe.c:3952 msgid "TOAST table" msgstr "TOAST-tabell" -#: describe.c:3957 describe.c:4169 +#: describe.c:3955 describe.c:4166 msgid "partitioned index" msgstr "partitionerat index" -#: describe.c:3977 +#: describe.c:3975 msgid "permanent" msgstr "permanent" -#: describe.c:3978 +#: describe.c:3976 msgid "temporary" msgstr "temporär" -#: describe.c:3979 +#: describe.c:3977 msgid "unlogged" msgstr "ologgad" -#: describe.c:3980 +#: describe.c:3978 msgid "Persistence" msgstr "Persistens" -#: describe.c:3996 +#: describe.c:3994 msgid "Access method" msgstr "Accessmetod" -#: describe.c:4082 +#: describe.c:4079 msgid "List of relations" msgstr "Lista med relationer" -#: describe.c:4130 +#: describe.c:4127 #, c-format msgid "The server (version %s) does not support declarative table partitioning." msgstr "Servern (version %s) stöder inte deklarativ tabellpartitionering." -#: describe.c:4141 +#: describe.c:4138 msgid "List of partitioned indexes" msgstr "Lista med partitionerade index" -#: describe.c:4143 +#: describe.c:4140 msgid "List of partitioned tables" msgstr "Lista med partitionerade tabeller" -#: describe.c:4147 +#: describe.c:4144 msgid "List of partitioned relations" msgstr "Lista med partitionerade relationer" -#: describe.c:4178 +#: describe.c:4175 msgid "Parent name" msgstr "Föräldranamn" -#: describe.c:4191 +#: describe.c:4188 msgid "Leaf partition size" msgstr "Partitionsstorlek av löv" -#: describe.c:4194 describe.c:4200 +#: describe.c:4191 describe.c:4197 msgid "Total size" msgstr "Total storlek" -#: describe.c:4325 +#: describe.c:4321 msgid "Trusted" msgstr "Tillförlitlig" -#: describe.c:4334 +#: describe.c:4330 msgid "Internal language" msgstr "Internt språk" -#: describe.c:4335 +#: describe.c:4331 msgid "Call handler" msgstr "Anropshanterare" -#: describe.c:4336 describe.c:5759 +#: describe.c:4332 describe.c:5743 msgid "Validator" msgstr "Validerare" -#: describe.c:4337 +#: describe.c:4333 msgid "Inline handler" msgstr "Inline-hanterare" -#: describe.c:4372 +#: describe.c:4367 msgid "List of languages" msgstr "Lista med språk" -#: describe.c:4413 +#: describe.c:4408 msgid "Check" msgstr "Check" -#: describe.c:4457 +#: describe.c:4451 msgid "List of domains" msgstr "Lista med domäner" -#: describe.c:4491 +#: describe.c:4485 msgid "Source" msgstr "Källa" -#: describe.c:4492 +#: describe.c:4486 msgid "Destination" msgstr "Mål" -#: describe.c:4494 describe.c:6723 +#: describe.c:4488 describe.c:6712 msgid "Default?" msgstr "Standard?" -#: describe.c:4536 +#: describe.c:4529 msgid "List of conversions" msgstr "Lista med konverteringar" -#: describe.c:4564 +#: describe.c:4557 msgid "Parameter" msgstr "Parameter" -#: describe.c:4565 +#: describe.c:4558 msgid "Value" msgstr "Värde" -#: describe.c:4572 +#: describe.c:4565 msgid "Context" msgstr "Kontext" -#: describe.c:4605 +#: describe.c:4597 msgid "List of configuration parameters" msgstr "Lista med konfigurationsparametrar" -#: describe.c:4607 +#: describe.c:4599 msgid "List of non-default configuration parameters" msgstr "Lista med icke-defaulta konfigurationsparametrar" -#: describe.c:4634 +#: describe.c:4626 #, c-format msgid "The server (version %s) does not support event triggers." msgstr "Servern (version %s) stöder inte händelsetriggrar." -#: describe.c:4654 +#: describe.c:4646 msgid "Event" msgstr "Händelse" -#: describe.c:4656 +#: describe.c:4648 msgid "enabled" msgstr "påslagen" -#: describe.c:4657 +#: describe.c:4649 msgid "replica" msgstr "replika" -#: describe.c:4658 +#: describe.c:4650 msgid "always" msgstr "alltid" -#: describe.c:4659 +#: describe.c:4651 msgid "disabled" msgstr "avstängd" -#: describe.c:4660 describe.c:6575 +#: describe.c:4652 describe.c:6553 msgid "Enabled" msgstr "Påslagen" -#: describe.c:4662 +#: describe.c:4654 msgid "Tags" msgstr "Etiketter" -#: describe.c:4686 +#: describe.c:4677 msgid "List of event triggers" msgstr "Lista med händelsetriggrar" -#: describe.c:4713 +#: describe.c:4704 #, c-format msgid "The server (version %s) does not support extended statistics." msgstr "Servern (version %s) stöder inte utökad statistik." -#: describe.c:4750 +#: describe.c:4741 msgid "Ndistinct" msgstr "Nunika" -#: describe.c:4751 +#: describe.c:4742 msgid "Dependencies" msgstr "Beroenden" -#: describe.c:4761 +#: describe.c:4752 msgid "MCV" msgstr "MCV" -#: describe.c:4785 +#: describe.c:4775 msgid "List of extended statistics" msgstr "Lista med utökad statistik" -#: describe.c:4812 +#: describe.c:4802 msgid "Source type" msgstr "Källtyp" -#: describe.c:4813 +#: describe.c:4803 msgid "Target type" msgstr "Måltyp" -#: describe.c:4837 +#: describe.c:4827 msgid "in assignment" msgstr "i tilldelning" -#: describe.c:4839 +#: describe.c:4829 msgid "Implicit?" msgstr "Implicit?" -#: describe.c:4898 +#: describe.c:4887 msgid "List of casts" msgstr "Lista med typomvandlingar" -#: describe.c:4938 describe.c:4942 +#: describe.c:4927 describe.c:4931 msgid "Provider" msgstr "Leverantör" -#: describe.c:4972 describe.c:4977 +#: describe.c:4965 describe.c:4970 msgid "Deterministic?" msgstr "Deterministisk?" -#: describe.c:5017 +#: describe.c:5009 msgid "List of collations" msgstr "Lista med jämförelser (collations)" -#: describe.c:5079 +#: describe.c:5070 msgid "List of schemas" msgstr "Lista med scheman" -#: describe.c:5196 +#: describe.c:5186 msgid "List of text search parsers" msgstr "Lista med textsökparsrar" -#: describe.c:5246 +#: describe.c:5236 #, c-format msgid "Did not find any text search parser named \"%s\"." msgstr "Kunde inte hitta en textsökparser med namn \"%s\"." -#: describe.c:5249 +#: describe.c:5239 #, c-format msgid "Did not find any text search parsers." msgstr "Kunde inte hitta några textsökparsrar." -#: describe.c:5324 +#: describe.c:5314 msgid "Start parse" msgstr "Starta parsning" -#: describe.c:5325 +#: describe.c:5315 msgid "Method" msgstr "Metod" -#: describe.c:5329 +#: describe.c:5319 msgid "Get next token" msgstr "Hämta nästa symbol" -#: describe.c:5331 +#: describe.c:5321 msgid "End parse" msgstr "Avsluta parsning" -#: describe.c:5333 +#: describe.c:5323 msgid "Get headline" msgstr "Hämta rubrik" -#: describe.c:5335 +#: describe.c:5325 msgid "Get token types" msgstr "Hämta symboltyper" -#: describe.c:5346 +#: describe.c:5335 #, c-format msgid "Text search parser \"%s.%s\"" msgstr "Textsökparser \"%s.%s\"" -#: describe.c:5349 +#: describe.c:5338 #, c-format msgid "Text search parser \"%s\"" msgstr "Textsökparser \"%s\"" -#: describe.c:5368 +#: describe.c:5357 msgid "Token name" msgstr "Symbolnamn" -#: describe.c:5382 +#: describe.c:5370 #, c-format msgid "Token types for parser \"%s.%s\"" msgstr "Symboltyper för parser \"%s.%s\"" -#: describe.c:5385 +#: describe.c:5373 #, c-format msgid "Token types for parser \"%s\"" msgstr "Symboltyper för parser \"%s\"" -#: describe.c:5429 +#: describe.c:5417 msgid "Template" msgstr "Mall" -#: describe.c:5430 +#: describe.c:5418 msgid "Init options" msgstr "Initieringsalternativ" -#: describe.c:5457 +#: describe.c:5444 msgid "List of text search dictionaries" msgstr "Lista med textsökordlistor" -#: describe.c:5490 +#: describe.c:5477 msgid "Init" msgstr "Init" -#: describe.c:5491 +#: describe.c:5478 msgid "Lexize" msgstr "Symboluppdelning" -#: describe.c:5523 +#: describe.c:5509 msgid "List of text search templates" msgstr "Lista med textsökmallar" -#: describe.c:5578 +#: describe.c:5563 msgid "List of text search configurations" msgstr "Lista med textsökkonfigurationer" -#: describe.c:5629 +#: describe.c:5614 #, c-format msgid "Did not find any text search configuration named \"%s\"." msgstr "Kunde inte hitta en textsökkonfiguration med namn \"%s\"." -#: describe.c:5632 +#: describe.c:5617 #, c-format msgid "Did not find any text search configurations." msgstr "Kunde inte hitta några textsökkonfigurationer." -#: describe.c:5698 +#: describe.c:5683 msgid "Token" msgstr "Symbol" -#: describe.c:5699 +#: describe.c:5684 msgid "Dictionaries" msgstr "Ordlistor" -#: describe.c:5710 +#: describe.c:5695 #, c-format msgid "Text search configuration \"%s.%s\"" msgstr "Textsökkonfiguration \"%s.%s\"" -#: describe.c:5713 +#: describe.c:5698 #, c-format msgid "Text search configuration \"%s\"" msgstr "Textsökkonfiguration \"%s\"" -#: describe.c:5717 +#: describe.c:5702 #, c-format msgid "" "\n" @@ -2197,7 +2242,7 @@ msgstr "" "\n" "Parser: \"%s.%s\"" -#: describe.c:5720 +#: describe.c:5705 #, c-format msgid "" "\n" @@ -2206,265 +2251,273 @@ msgstr "" "\n" "Parser: \"%s\"" -#: describe.c:5801 +#: describe.c:5784 msgid "List of foreign-data wrappers" msgstr "Lista med främmande data-omvandlare" -#: describe.c:5829 +#: describe.c:5812 msgid "Foreign-data wrapper" msgstr "Främmande data-omvandlare" -#: describe.c:5847 describe.c:6037 +#: describe.c:5830 describe.c:6017 msgid "Version" msgstr "Version" -#: describe.c:5878 +#: describe.c:5860 msgid "List of foreign servers" msgstr "Lista med främmande servrar" -#: describe.c:5903 describe.c:5962 +#: describe.c:5885 describe.c:5943 msgid "Server" msgstr "Server" -#: describe.c:5904 +#: describe.c:5886 msgid "User name" msgstr "Användarnamn" -#: describe.c:5934 +#: describe.c:5915 msgid "List of user mappings" msgstr "Lista av användarmappningar" -#: describe.c:6007 +#: describe.c:5987 msgid "List of foreign tables" msgstr "Lista med främmande tabeller" -#: describe.c:6059 +#: describe.c:6038 msgid "List of installed extensions" msgstr "Lista med installerade utökningar" -#: describe.c:6107 +#: describe.c:6086 #, c-format msgid "Did not find any extension named \"%s\"." msgstr "Kunde inte hitta en utökning med namn \"%s\"." -#: describe.c:6110 +#: describe.c:6089 #, c-format msgid "Did not find any extensions." msgstr "Kunde inte hitta några utökningar." -#: describe.c:6154 +#: describe.c:6133 msgid "Object description" msgstr "Objektbeskrivning" -#: describe.c:6164 +#: describe.c:6142 #, c-format msgid "Objects in extension \"%s\"" msgstr "Objekt i utökning \"%s\"" -#: describe.c:6205 +#: describe.c:6183 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "ej korrekt kvalificerat namn (för många namn med punkt): %s" -#: describe.c:6219 +#: describe.c:6197 #, c-format msgid "cross-database references are not implemented: %s" msgstr "referenser till andra databaser är inte implementerat: %s" -#: describe.c:6250 describe.c:6377 +#: describe.c:6228 describe.c:6354 #, c-format msgid "The server (version %s) does not support publications." msgstr "Servern (version %s) stöder inte publiceringar." -#: describe.c:6267 describe.c:6455 +#: describe.c:6245 describe.c:6432 msgid "All tables" msgstr "Alla tabeller" -#: describe.c:6268 describe.c:6456 +#: describe.c:6246 describe.c:6433 msgid "Inserts" msgstr "Insättningar" -#: describe.c:6269 describe.c:6457 +#: describe.c:6247 describe.c:6434 msgid "Updates" msgstr "Uppdateringar" -#: describe.c:6270 describe.c:6458 +#: describe.c:6248 describe.c:6435 msgid "Deletes" msgstr "Borttagningar" -#: describe.c:6274 describe.c:6460 +#: describe.c:6252 describe.c:6437 msgid "Truncates" msgstr "Trunkeringar" -#: describe.c:6278 describe.c:6462 +#: describe.c:6256 describe.c:6439 msgid "Via root" msgstr "Via root" -#: describe.c:6300 +#: describe.c:6277 msgid "List of publications" msgstr "Lista med publiceringar" -#: describe.c:6424 +#: describe.c:6401 #, c-format msgid "Did not find any publication named \"%s\"." msgstr "Kunde inte hitta någon publicering med namn \"%s\"." -#: describe.c:6427 +#: describe.c:6404 #, c-format msgid "Did not find any publications." msgstr "Kunde inte hitta några publiceringar." -#: describe.c:6451 +#: describe.c:6428 #, c-format msgid "Publication %s" msgstr "Publicering %s" -#: describe.c:6504 +#: describe.c:6481 msgid "Tables:" msgstr "Tabeller:" -#: describe.c:6516 +#: describe.c:6493 msgid "Tables from schemas:" msgstr "Tabeller från scheman:" -#: describe.c:6560 +#: describe.c:6538 #, c-format msgid "The server (version %s) does not support subscriptions." msgstr "Denna server (version %s) stöder inte prenumerationer." -#: describe.c:6576 +#: describe.c:6554 msgid "Publication" msgstr "Publicering" -#: describe.c:6585 +#: describe.c:6563 msgid "Binary" msgstr "Binär" -#: describe.c:6594 describe.c:6598 +#: describe.c:6572 describe.c:6576 msgid "Streaming" msgstr "Strömmande" -#: describe.c:6606 +#: describe.c:6584 msgid "Two-phase commit" msgstr "Tvåfas-commit" -#: describe.c:6607 +#: describe.c:6585 msgid "Disable on error" msgstr "Stäng av vid fel" -#: describe.c:6614 +#: describe.c:6592 msgid "Origin" msgstr "Ursprung" -#: describe.c:6615 +#: describe.c:6593 msgid "Password required" msgstr "Lösenord krävs" -#: describe.c:6616 +#: describe.c:6594 msgid "Run as owner?" msgstr "Kör som ägare?" -#: describe.c:6621 +#: describe.c:6599 +msgid "Failover" +msgstr "Failover" + +#: describe.c:6604 msgid "Synchronous commit" msgstr "Synkron commit" -#: describe.c:6622 +#: describe.c:6605 msgid "Conninfo" msgstr "Anslutningsinfo" -#: describe.c:6628 +#: describe.c:6611 msgid "Skip LSN" msgstr "Skippa LSN" -#: describe.c:6655 +#: describe.c:6637 msgid "List of subscriptions" msgstr "Lista med prenumerationer" -#: describe.c:6717 describe.c:6813 describe.c:6906 describe.c:7001 +#: describe.c:6666 +msgid "(none)" +msgstr "(ingen)" + +#: describe.c:6706 describe.c:6801 describe.c:6893 describe.c:6987 msgid "AM" msgstr "AM" -#: describe.c:6718 +#: describe.c:6707 msgid "Input type" msgstr "Indatatyp" -#: describe.c:6719 +#: describe.c:6708 msgid "Storage type" msgstr "Lagringstyp" -#: describe.c:6720 +#: describe.c:6709 msgid "Operator class" msgstr "Operatorklass" -#: describe.c:6732 describe.c:6814 describe.c:6907 describe.c:7002 +#: describe.c:6721 describe.c:6802 describe.c:6894 describe.c:6988 msgid "Operator family" msgstr "Operatorfamilj" -#: describe.c:6768 +#: describe.c:6756 msgid "List of operator classes" msgstr "Lista med operatorklasser" -#: describe.c:6815 +#: describe.c:6803 msgid "Applicable types" msgstr "Applicerbara typer" -#: describe.c:6857 +#: describe.c:6844 msgid "List of operator families" msgstr "Lista med operatorfamiljer" -#: describe.c:6908 +#: describe.c:6895 msgid "Operator" msgstr "Operator" -#: describe.c:6909 +#: describe.c:6896 msgid "Strategy" msgstr "Strategi" -#: describe.c:6910 +#: describe.c:6897 msgid "ordering" msgstr "ordning" -#: describe.c:6911 +#: describe.c:6898 msgid "search" msgstr "sök" -#: describe.c:6912 +#: describe.c:6899 msgid "Purpose" msgstr "Ändamål" -#: describe.c:6917 +#: describe.c:6904 msgid "Sort opfamily" msgstr "Sortering-opfamilj" -#: describe.c:6956 +#: describe.c:6942 msgid "List of operators of operator families" msgstr "Lista med operatorer i operatorfamiljer" -#: describe.c:7003 +#: describe.c:6989 msgid "Registered left type" msgstr "Registrerad vänstertyp" -#: describe.c:7004 +#: describe.c:6990 msgid "Registered right type" msgstr "Registrerad högertyp" -#: describe.c:7005 +#: describe.c:6991 msgid "Number" msgstr "Nummer" -#: describe.c:7049 +#: describe.c:7034 msgid "List of support functions of operator families" msgstr "Lista med supportfunktioner i operatorfamiljer" -#: describe.c:7080 +#: describe.c:7065 msgid "ID" msgstr "ID" -#: describe.c:7101 +#: describe.c:7085 msgid "Large objects" msgstr "Stora objekt" -#: help.c:75 +#: help.c:63 msgid "" "psql is the PostgreSQL interactive terminal.\n" "\n" @@ -2472,11 +2525,11 @@ msgstr "" "psql är den interaktiva PostgreSQL-terminalen.\n" "\n" -#: help.c:76 help.c:395 help.c:479 help.c:522 +#: help.c:64 help.c:372 help.c:456 help.c:499 msgid "Usage:\n" msgstr "Användning:\n" -#: help.c:77 +#: help.c:65 msgid "" " psql [OPTION]... [DBNAME [USERNAME]]\n" "\n" @@ -2484,28 +2537,27 @@ msgstr "" " psql [FLAGGA]... [DBNAMN [ANVÄNDARNAMN]]\n" "\n" -#: help.c:79 +#: help.c:67 msgid "General options:\n" msgstr "Allmänna flaggor:\n" -#: help.c:84 +#: help.c:68 msgid " -c, --command=COMMAND run only single command (SQL or internal) and exit\n" msgstr " -c, --command=KOMMANDO kör ett kommando (SQL eller internt) och avsluta sedan\n" -#: help.c:85 -#, c-format -msgid " -d, --dbname=DBNAME database name to connect to (default: \"%s\")\n" -msgstr " -d, --dbname=DBNAMN databasnamn att koppla upp mot (standard: \"%s\")\n" +#: help.c:69 +msgid " -d, --dbname=DBNAME database name to connect to\n" +msgstr " -d, --dbname=DBNAMN namn på databas att ansluta till\n" -#: help.c:87 +#: help.c:70 msgid " -f, --file=FILENAME execute commands from file, then exit\n" msgstr " -f, --file=FILNAMN kör kommandon från fil och avsluta sedan\n" -#: help.c:88 +#: help.c:71 msgid " -l, --list list available databases, then exit\n" msgstr " -l, --list lista befintliga databaser och avsluta sedan\n" -#: help.c:89 +#: help.c:72 msgid "" " -v, --set=, --variable=NAME=VALUE\n" " set psql variable NAME to VALUE\n" @@ -2515,15 +2567,15 @@ msgstr "" " sätt psql-variabel NAMN till VÄRDE\n" " (t.ex. -v ON_ERROR_STOP=1)\n" -#: help.c:92 +#: help.c:75 msgid " -V, --version output version information, then exit\n" msgstr " -V, --version visa versionsinformation, avsluta sedan\n" -#: help.c:93 +#: help.c:76 msgid " -X, --no-psqlrc do not read startup file (~/.psqlrc)\n" msgstr " -X, --no-psqlrc läs inte startfilen (~/.psqlrc)\n" -#: help.c:94 +#: help.c:77 msgid "" " -1 (\"one\"), --single-transaction\n" " execute as a single transaction (if non-interactive)\n" @@ -2531,19 +2583,19 @@ msgstr "" " -1 (\"ett\"), --single-transaction\n" " kör kommandofilen som en transaktion (om icke-interaktiv)\n" -#: help.c:96 +#: help.c:79 msgid " -?, --help[=options] show this help, then exit\n" msgstr " -?, --help[=alternativ] visa denna hjälp, avsluta sedan\n" -#: help.c:97 +#: help.c:80 msgid " --help=commands list backslash commands, then exit\n" msgstr " --help=commands lista bakstreck-kommandon, avsluta sedan\n" -#: help.c:98 +#: help.c:81 msgid " --help=variables list special variables, then exit\n" msgstr " --help=variabler lista speciella variabler, avsluta sedan\n" -#: help.c:100 +#: help.c:83 msgid "" "\n" "Input and output options:\n" @@ -2551,47 +2603,47 @@ msgstr "" "\n" "Flaggor för in-/utmatning:\n" -#: help.c:101 +#: help.c:84 msgid " -a, --echo-all echo all input from script\n" msgstr " -a, --echo-all visa all indata från skript\n" -#: help.c:102 +#: help.c:85 msgid " -b, --echo-errors echo failed commands\n" msgstr " -b, --echo-errors visa misslyckade kommandon\n" -#: help.c:103 +#: help.c:86 msgid " -e, --echo-queries echo commands sent to server\n" msgstr " -e, --echo-queries visa kommandon som skickas till servern\n" -#: help.c:104 +#: help.c:87 msgid " -E, --echo-hidden display queries that internal commands generate\n" msgstr " -E, --echo-hidden visa frågor som interna kommandon skapar\n" -#: help.c:105 +#: help.c:88 msgid " -L, --log-file=FILENAME send session log to file\n" msgstr " -L, --log-file=FILENAME skicka sessions-logg till fil\n" -#: help.c:106 +#: help.c:89 msgid " -n, --no-readline disable enhanced command line editing (readline)\n" msgstr " -n, --no-readline slå av förbättrad kommandoradsredigering (readline)\n" -#: help.c:107 +#: help.c:90 msgid " -o, --output=FILENAME send query results to file (or |pipe)\n" msgstr " -o, --output=FILNAMN skriv frågeresultat till fil (eller |rör)\n" -#: help.c:108 +#: help.c:91 msgid " -q, --quiet run quietly (no messages, only query output)\n" msgstr " -q, --quiet kör tyst (inga meddelanden, endast frågeutdata)\n" -#: help.c:109 +#: help.c:92 msgid " -s, --single-step single-step mode (confirm each query)\n" msgstr " -s, --single-step stegningsläge (bekräfta varje fråga)\n" -#: help.c:110 +#: help.c:93 msgid " -S, --single-line single-line mode (end of line terminates SQL command)\n" msgstr " -S, --single-line enradsläge (slutet på raden avslutar SQL-kommando)\n" -#: help.c:112 +#: help.c:95 msgid "" "\n" "Output format options:\n" @@ -2599,15 +2651,15 @@ msgstr "" "\n" "Flaggor för utdataformat:\n" -#: help.c:113 +#: help.c:96 msgid " -A, --no-align unaligned table output mode\n" msgstr " -A, --no-align ojusterad utskrift av tabeller\n" -#: help.c:114 +#: help.c:97 msgid " --csv CSV (Comma-Separated Values) table output mode\n" msgstr " --csv CSV-utmarningsläge (kommaseparerade värden)\n" -#: help.c:115 +#: help.c:98 #, c-format msgid "" " -F, --field-separator=STRING\n" @@ -2616,15 +2668,15 @@ msgstr "" " -F, --field-separator=STRÄNG\n" " fältseparator för icke justerad utdata (standard: \"%s\")\n" -#: help.c:118 +#: help.c:101 msgid " -H, --html HTML table output mode\n" msgstr " -H, --html HTML-utskrift av tabeller\n" -#: help.c:119 +#: help.c:102 msgid " -P, --pset=VAR[=ARG] set printing option VAR to ARG (see \\pset command)\n" msgstr " -P, --pset=VAR[=ARG] sätt utskriftsvariabel VAR till ARG (se kommando \\pset)\n" -#: help.c:120 +#: help.c:103 msgid "" " -R, --record-separator=STRING\n" " record separator for unaligned output (default: newline)\n" @@ -2632,19 +2684,19 @@ msgstr "" " -R, --record-separator=STRÄNG\n" " sätt postseparator för icke justerad utdata (standard: newline)\n" -#: help.c:122 +#: help.c:105 msgid " -t, --tuples-only print rows only\n" msgstr " -t, --tuples-only visa endast rader\n" -#: help.c:123 +#: help.c:106 msgid " -T, --table-attr=TEXT set HTML table tag attributes (e.g., width, border)\n" msgstr " -T, --table-attr=TEXT sätt HTML-tabellers flaggor (t.ex. width, border)\n" -#: help.c:124 +#: help.c:107 msgid " -x, --expanded turn on expanded table output\n" msgstr " -x, --expanded slå på utökad utsrift av tabeller\n" -#: help.c:125 +#: help.c:108 msgid "" " -z, --field-separator-zero\n" " set field separator for unaligned output to zero byte\n" @@ -2652,7 +2704,7 @@ msgstr "" " -z, --field-separator-zero\n" " sätt fältseparator för icke justerad utdata till noll-byte\n" -#: help.c:127 +#: help.c:110 msgid "" " -0, --record-separator-zero\n" " set record separator for unaligned output to zero byte\n" @@ -2660,7 +2712,7 @@ msgstr "" " -0, --record-separator=zero\n" " sätt postseparator för icke justerad utdata till noll-byte\n" -#: help.c:130 +#: help.c:113 msgid "" "\n" "Connection options:\n" @@ -2668,36 +2720,27 @@ msgstr "" "\n" "Flaggor för anslutning:\n" -#: help.c:133 -#, c-format -msgid " -h, --host=HOSTNAME database server host or socket directory (default: \"%s\")\n" -msgstr "" -" -h, --host=VÄRDNAMN databasens värdnamn eller uttagkatalog (socket)\n" -" (standard: \"%s\")\n" - -#: help.c:134 -msgid "local socket" -msgstr "lokalt uttag (socket)" +#: help.c:114 +msgid " -h, --host=HOSTNAME database server host or socket directory\n" +msgstr " -h, --host=VÄRDNAMN databasens värdnamn eller socketkatalog\n" -#: help.c:137 -#, c-format -msgid " -p, --port=PORT database server port (default: \"%s\")\n" -msgstr " -p, --port=PORT databasens serverport (standard: \"%s\")\n" +#: help.c:115 +msgid " -p, --port=PORT database server port\n" +msgstr " -p, --port=PORT databasserverns port\n" -#: help.c:140 -#, c-format -msgid " -U, --username=USERNAME database user name (default: \"%s\")\n" -msgstr " -U, --username=ANVNAMN användarnamn för databasen (standard: \"%s\")\n" +#: help.c:116 +msgid " -U, --username=USERNAME database user name\n" +msgstr " -U, --username=ANVNAMN namn på databasens användare\n" -#: help.c:142 +#: help.c:117 msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password fråga aldrig efter lösenord\n" -#: help.c:143 +#: help.c:118 msgid " -W, --password force password prompt (should happen automatically)\n" msgstr " -W, --password fråga om lösenord (borde ske automatiskt)\n" -#: help.c:145 +#: help.c:120 msgid "" "\n" "For more information, type \"\\?\" (for internal commands) or \"\\help\" (for SQL\n" @@ -2711,37 +2754,37 @@ msgstr "" "i PostgreSQL-dokumentationen.\n" "\n" -#: help.c:148 +#: help.c:123 #, c-format msgid "Report bugs to <%s>.\n" msgstr "Rapportera fel till <%s>.\n" -#: help.c:149 +#: help.c:124 #, c-format msgid "%s home page: <%s>\n" msgstr "hemsida för %s: <%s>\n" -#: help.c:191 +#: help.c:166 msgid "General\n" msgstr "Allmänna\n" -#: help.c:192 +#: help.c:167 msgid " \\bind [PARAM]... set query parameters\n" msgstr " \\bind [PARAM]... sätt frågeparameter\n" -#: help.c:193 +#: help.c:168 msgid " \\copyright show PostgreSQL usage and distribution terms\n" msgstr " \\copyright visa PostgreSQL-upphovsrättsinformation\n" -#: help.c:194 +#: help.c:169 msgid " \\crosstabview [COLUMNS] execute query and display result in crosstab\n" msgstr " \\crosstabview [KOLUMNER] kör fråga och visa resultatet i en korstabell\n" -#: help.c:195 +#: help.c:170 msgid " \\errverbose show most recent error message at maximum verbosity\n" msgstr " \\errverbose visa senste felmeddelande vid maximal verbositet\n" -#: help.c:196 +#: help.c:171 msgid "" " \\g [(OPTIONS)] [FILE] execute query (and send result to file or |pipe);\n" " \\g with no arguments is equivalent to a semicolon\n" @@ -2749,228 +2792,234 @@ msgstr "" " \\g [(FLAGGOR)] [FIL] kör frågan (och skicka resultatet till fil eller |rör);\n" " \\g utan argument är samma som ett semikolon\n" -#: help.c:198 +#: help.c:173 msgid " \\gdesc describe result of query, without executing it\n" msgstr " \\gdesc beskriv resultatet av fråga utan att köra den\n" -#: help.c:199 +#: help.c:174 msgid " \\gexec execute query, then execute each value in its result\n" msgstr " \\gexec kör fråga, kör sen varje värde i resultatet\n" -#: help.c:200 +#: help.c:175 msgid " \\gset [PREFIX] execute query and store result in psql variables\n" msgstr " \\gset [PREFIX] kör frågan och spara resultatet i psql-variabler\n" -#: help.c:201 +#: help.c:176 msgid " \\gx [(OPTIONS)] [FILE] as \\g, but forces expanded output mode\n" msgstr " \\gx [(FLAGGOR)] [FIL] som \\g, men tvinga expanderat utmatningsläge\n" -#: help.c:202 +#: help.c:177 msgid " \\q quit psql\n" msgstr " \\q avsluta psql\n" -#: help.c:203 -msgid " \\watch [[i=]SEC] [c=N] execute query every SEC seconds, up to N times\n" -msgstr " \\watch [[i=]SEK] [c=N] kör fråga var SEK sekund, upp till N gånger\n" +#: help.c:178 +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" +msgstr "" +" \\watch [[i=]SEK] [c=N] [m=MIN]\n" +" kör fråga var SEK sekund, upp till N gånger,\n" +" stoppa om färre än MIN rader returneras\n" -#: help.c:204 help.c:212 help.c:224 help.c:234 help.c:241 help.c:298 help.c:306 -#: help.c:326 help.c:339 help.c:348 +#: 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 msgid "\n" msgstr "\n" -#: help.c:206 +#: help.c:183 msgid "Help\n" msgstr "Hjälp\n" -#: help.c:208 +#: help.c:185 msgid " \\? [commands] show help on backslash commands\n" msgstr " \\? [kommandon] visa hjälp om backstreckkommandon\n" -#: help.c:209 +#: help.c:186 msgid " \\? options show help on psql command-line options\n" msgstr " \\? options visa hjälp för psqls kommandoradflaggor\n" -#: help.c:210 +#: help.c:187 msgid " \\? variables show help on special variables\n" msgstr " \\? variables visa hjälp om speciella variabler\n" -#: help.c:211 +#: help.c:188 msgid " \\h [NAME] help on syntax of SQL commands, * for all commands\n" msgstr " \\h [NAMN] hjälp med syntaxen för SQL-kommandon, * för alla kommandon\n" -#: help.c:214 +#: help.c:191 msgid "Query Buffer\n" msgstr "Frågebuffert\n" -#: help.c:215 +#: help.c:192 msgid " \\e [FILE] [LINE] edit the query buffer (or file) with external editor\n" msgstr " \\e [FIL] [RAD] redigera frågebufferten (eller filen) med extern redigerare\n" -#: help.c:216 +#: help.c:193 msgid " \\ef [FUNCNAME [LINE]] edit function definition with external editor\n" msgstr " \\ef [FUNKNAMN [RAD]] redigera funktionsdefinition med extern redigerare\n" -#: help.c:217 +#: help.c:194 msgid " \\ev [VIEWNAME [LINE]] edit view definition with external editor\n" msgstr " \\ev [FUNKNAMN [RAD]] redigera vydefinition med extern redigerare\n" -#: help.c:218 +#: help.c:195 msgid " \\p show the contents of the query buffer\n" msgstr " \\p visa innehållet i frågebufferten\n" -#: help.c:219 +#: help.c:196 msgid " \\r reset (clear) the query buffer\n" msgstr " \\r nollställ (radera) frågebufferten\n" -#: help.c:221 +#: help.c:198 msgid " \\s [FILE] display history or save it to file\n" msgstr " \\s [FILNAMN] visa kommandohistorien eller spara den i fil\n" -#: help.c:223 +#: help.c:200 msgid " \\w FILE write query buffer to file\n" msgstr " \\w FILNAMN skriv frågebuffert till fil\n" -#: help.c:226 +#: help.c:203 msgid "Input/Output\n" msgstr "In-/Utmatning\n" -#: help.c:227 +#: help.c:204 msgid " \\copy ... perform SQL COPY with data stream to the client host\n" msgstr " \\copy ... utför SQL COPY med dataström till klientvärden\n" -#: help.c:228 +#: help.c:205 msgid " \\echo [-n] [STRING] write string to standard output (-n for no newline)\n" msgstr " \\echo [-n] [TEXT] skriv text till standard ut (-n för ingen nyrad)\n" -#: help.c:229 +#: help.c:206 msgid " \\i FILE execute commands from file\n" msgstr " \\i FILNAMN kör kommandon från fil\n" -#: help.c:230 +#: help.c:207 msgid " \\ir FILE as \\i, but relative to location of current script\n" msgstr " \\ir FIL som \\i, men relativt platsen för aktuellt script\n" -#: help.c:231 +#: help.c:208 msgid " \\o [FILE] send all query results to file or |pipe\n" msgstr " \\o [FIL] skicka frågeresultat till fil eller |rör\n" -#: help.c:232 +#: help.c:209 msgid " \\qecho [-n] [STRING] write string to \\o output stream (-n for no newline)\n" msgstr " \\qecho [-n] [TEXT] skriv text till \\o-utdataströmmen (-n för ingen nyrad)\n" -#: help.c:233 +#: help.c:210 msgid " \\warn [-n] [STRING] write string to standard error (-n for no newline)\n" msgstr " \\warn [-n] [TEXT] skriv text till standard error (-n för ingen nyrad)\n" -#: help.c:236 +#: help.c:213 msgid "Conditional\n" msgstr "Villkor\n" -#: help.c:237 +#: help.c:214 msgid " \\if EXPR begin conditional block\n" msgstr " \\if EXPR starta villkorsblock\n" -#: help.c:238 +#: help.c:215 msgid " \\elif EXPR alternative within current conditional block\n" msgstr " \\elif EXPR alternativ inom aktuellt villkorsblock\n" -#: help.c:239 +#: help.c:216 msgid " \\else final alternative within current conditional block\n" msgstr " \\else avslutningsalternativ inom aktuellt villkorsblock\n" -#: help.c:240 +#: help.c:217 msgid " \\endif end conditional block\n" msgstr " \\endif avsluta villkorsblock\n" -#: help.c:243 +#: help.c:220 msgid "Informational\n" msgstr "Information\n" -#: help.c:244 +#: help.c:221 msgid " (options: S = show system objects, + = additional detail)\n" msgstr " (flaggor: S = lista systemobjekt, + = mer detaljer)\n" -#: help.c:245 +#: help.c:222 msgid " \\d[S+] list tables, views, and sequences\n" msgstr " \\d[S+] lista tabeller, vyer och sekvenser\n" -#: help.c:246 +#: help.c:223 msgid " \\d[S+] NAME describe table, view, sequence, or index\n" msgstr " \\d[S+] NAMN beskriv tabell, vy, sekvens eller index\n" -#: help.c:247 +#: help.c:224 msgid " \\da[S] [PATTERN] list aggregates\n" msgstr " \\da[S] [MALL] lista aggregatfunktioner\n" -#: help.c:248 +#: help.c:225 msgid " \\dA[+] [PATTERN] list access methods\n" msgstr " \\dA[+] [MALL] lista accessmetoder\n" -#: help.c:249 +#: help.c:226 msgid " \\dAc[+] [AMPTRN [TYPEPTRN]] list operator classes\n" msgstr " \\dAc[+] [AMPTRN [TYPEPTRN]] lista operatorklasser\n" -#: help.c:250 +#: help.c:227 msgid " \\dAf[+] [AMPTRN [TYPEPTRN]] list operator families\n" msgstr " \\dAf[+] [AMPTRN [TYPEPTRN]] lista operatorfamiljer\n" -#: help.c:251 +#: help.c:228 msgid " \\dAo[+] [AMPTRN [OPFPTRN]] list operators of operator families\n" msgstr " \\dAo[+] [AMPTRN [OPFPTRN]] lista operatorer i operatorfamiljer\n" -#: help.c:252 +#: help.c:229 msgid " \\dAp[+] [AMPTRN [OPFPTRN]] list support functions of operator families\n" msgstr " \\dAp[+] [AMPTRN [OPFPTRN]] lista supportfunktioner i operatorfamiljer\n" -#: help.c:253 +#: help.c:230 msgid " \\db[+] [PATTERN] list tablespaces\n" msgstr " \\db[+] [MALL] lista tabellutrymmen\n" -#: help.c:254 +#: help.c:231 msgid " \\dc[S+] [PATTERN] list conversions\n" msgstr " \\dc[S+] [MALL] lista konverteringar\n" -#: help.c:255 +#: help.c:232 msgid " \\dconfig[+] [PATTERN] list configuration parameters\n" msgstr " \\dconfig[+] [MALL] lista konfigurationsparametrar\n" -#: help.c:256 +#: help.c:233 msgid " \\dC[+] [PATTERN] list casts\n" msgstr " \\dC[+] [MALL] lista typomvandlingar\n" -#: help.c:257 +#: help.c:234 msgid " \\dd[S] [PATTERN] show object descriptions not displayed elsewhere\n" msgstr " \\dd[S] [MALL] visa objektbeskrivning som inte visas på andra ställen\n" -#: help.c:258 +#: help.c:235 msgid " \\dD[S+] [PATTERN] list domains\n" msgstr " \\dD[S+] [MALL] lista domäner\n" -#: help.c:259 +#: help.c:236 msgid " \\ddp [PATTERN] list default privileges\n" msgstr " \\ddp [MALL] lista standardrättigheter\n" -#: help.c:260 +#: help.c:237 msgid " \\dE[S+] [PATTERN] list foreign tables\n" msgstr " \\dE[S+] [MALL] lista främmande tabeller\n" -#: help.c:261 +#: help.c:238 msgid " \\des[+] [PATTERN] list foreign servers\n" msgstr " \\des[+] [MALL] lista främmande servrar\n" -#: help.c:262 +#: help.c:239 msgid " \\det[+] [PATTERN] list foreign tables\n" msgstr " \\det[+] [MALL] lista främmande tabeller\n" -#: help.c:263 +#: help.c:240 msgid " \\deu[+] [PATTERN] list user mappings\n" msgstr " \\deu[+] [MALL] lista användarmappning\n" -#: help.c:264 +#: help.c:241 msgid " \\dew[+] [PATTERN] list foreign-data wrappers\n" msgstr " \\dew[+] [MALL] lista främmande data-omvandlare\n" -#: help.c:265 +#: help.c:242 msgid "" " \\df[anptw][S+] [FUNCPTRN [TYPEPTRN ...]]\n" " list [only agg/normal/procedure/trigger/window] functions\n" @@ -2978,47 +3027,47 @@ msgstr "" " \\df[anptw][S+] [FUNKMALL [TYPMALL ...]]\n" " lista [endast agg/normala/procedur/trigger/window] funktioner\n" -#: help.c:267 +#: help.c:244 msgid " \\dF[+] [PATTERN] list text search configurations\n" msgstr " \\dF[+] [MALL] lista textsökkonfigurationer\n" -#: help.c:268 +#: help.c:245 msgid " \\dFd[+] [PATTERN] list text search dictionaries\n" msgstr " \\dFd[+] [MALL] lista textsökordlistor\n" -#: help.c:269 +#: help.c:246 msgid " \\dFp[+] [PATTERN] list text search parsers\n" msgstr " \\dFp[+] [MALL] lista textsökparsrar\n" -#: help.c:270 +#: help.c:247 msgid " \\dFt[+] [PATTERN] list text search templates\n" msgstr " \\dFt[+] [MALL] lista textsökmallar\n" -#: help.c:271 +#: help.c:248 msgid " \\dg[S+] [PATTERN] list roles\n" msgstr " \\dg[S+] [MALL] lista roller\n" -#: help.c:272 +#: help.c:249 msgid " \\di[S+] [PATTERN] list indexes\n" msgstr " \\di[S+] [MALL] lista index\n" -#: help.c:273 +#: help.c:250 msgid " \\dl[+] list large objects, same as \\lo_list\n" msgstr " \\dl[+] lista stora objekt, samma som \\lo_list\n" -#: help.c:274 +#: help.c:251 msgid " \\dL[S+] [PATTERN] list procedural languages\n" msgstr " \\dL[S+] [MALL] lista procedurspråk\n" -#: help.c:275 +#: help.c:252 msgid " \\dm[S+] [PATTERN] list materialized views\n" msgstr " \\dm[S+] [MALL] lista materialiserade vyer\n" -#: help.c:276 +#: help.c:253 msgid " \\dn[S+] [PATTERN] list schemas\n" msgstr " \\dn[S+] [MALL] lista scheman\n" -#: help.c:277 +#: help.c:254 msgid "" " \\do[S+] [OPPTRN [TYPEPTRN [TYPEPTRN]]]\n" " list operators\n" @@ -3026,93 +3075,93 @@ msgstr "" " \\do[S+] [OPMALL [TYPMALL [TYPMALL]]]\n" " lista operatorer\n" -#: help.c:279 +#: help.c:256 msgid " \\dO[S+] [PATTERN] list collations\n" msgstr " \\dO[S+] [MALL] lista jämförelser (collation)\n" -#: help.c:280 +#: help.c:257 msgid " \\dp[S] [PATTERN] list table, view, and sequence access privileges\n" msgstr " \\dp[S] [MALL] lista åtkomsträttigheter för tabeller, vyer och sekvenser\n" -#: help.c:281 +#: help.c:258 msgid " \\dP[itn+] [PATTERN] list [only index/table] partitioned relations [n=nested]\n" msgstr " \\dP[tin+] [MALL] lista [bara tabell/index] partitionerade relationer [n=nästlad]\n" -#: help.c:282 +#: help.c:259 msgid " \\drds [ROLEPTRN [DBPTRN]] list per-database role settings\n" msgstr "" " \\drds [ROLLMALL1 [DBMALL2]]\n" " lista rollinställningar per databas\n" -#: help.c:283 +#: help.c:260 msgid " \\drg[S] [PATTERN] list role grants\n" msgstr " \\drg[S] [MALL] lista roll-rättigheter\n" -#: help.c:284 +#: help.c:261 msgid " \\dRp[+] [PATTERN] list replication publications\n" msgstr " \\dRp[+] [MALL] lista replikeringspubliceringar\n" -#: help.c:285 +#: help.c:262 msgid " \\dRs[+] [PATTERN] list replication subscriptions\n" msgstr " \\dRs[+] [MALL] lista replikeringsprenumerationer\n" -#: help.c:286 +#: help.c:263 msgid " \\ds[S+] [PATTERN] list sequences\n" msgstr " \\ds[S+] [MALL] lista sekvenser\n" -#: help.c:287 +#: help.c:264 msgid " \\dt[S+] [PATTERN] list tables\n" msgstr " \\dt[S+] [MALL] lista tabeller\n" -#: help.c:288 +#: help.c:265 msgid " \\dT[S+] [PATTERN] list data types\n" msgstr " \\dT[S+] [MALL] lista datatyper\n" -#: help.c:289 +#: help.c:266 msgid " \\du[S+] [PATTERN] list roles\n" msgstr " \\du[S+] [MALL] lista roller\n" -#: help.c:290 +#: help.c:267 msgid " \\dv[S+] [PATTERN] list views\n" msgstr " \\dv[S+] [MALL] lista vyer\n" -#: help.c:291 +#: help.c:268 msgid " \\dx[+] [PATTERN] list extensions\n" msgstr " \\dx[+] [MALL] lista utökningar\n" -#: help.c:292 +#: help.c:269 msgid " \\dX [PATTERN] list extended statistics\n" msgstr " \\dX [MALL] lista utökad statistik\n" -#: help.c:293 +#: help.c:270 msgid " \\dy[+] [PATTERN] list event triggers\n" msgstr " \\dy[+] [MALL] lista händelsetriggrar\n" -#: help.c:294 +#: help.c:271 msgid " \\l[+] [PATTERN] list databases\n" msgstr " \\l[+] [MALL] lista databaser\n" -#: help.c:295 +#: help.c:272 msgid " \\sf[+] FUNCNAME show a function's definition\n" msgstr " \\sf[+] FUNKNAMN visa en funktions definition\n" -#: help.c:296 +#: help.c:273 msgid " \\sv[+] VIEWNAME show a view's definition\n" msgstr " \\sv[+] VYNAMN visa en vys definition\n" -#: help.c:297 +#: help.c:274 msgid " \\z[S] [PATTERN] same as \\dp\n" msgstr " \\z[S] [MALL] samma som \\dp\n" -#: help.c:300 +#: help.c:277 msgid "Large Objects\n" msgstr "Stora objekt\n" -#: help.c:301 +#: help.c:278 msgid " \\lo_export LOBOID FILE write large object to file\n" msgstr " \\lo_export LOBOID FIL skriv stort objekt till fil\n" -#: help.c:302 +#: help.c:279 msgid "" " \\lo_import FILE [COMMENT]\n" " read large object from file\n" @@ -3120,36 +3169,36 @@ msgstr "" " \\lo_import FIL [KOMMENTAR]\n" " läs stort objekt från fil\n" -#: help.c:304 +#: help.c:281 msgid " \\lo_list[+] list large objects\n" msgstr " \\lo_list[+] lista stora objekt\n" -#: help.c:305 +#: help.c:282 msgid " \\lo_unlink LOBOID delete a large object\n" msgstr " \\lo_unlink LOBOID ta bort stort objekt\n" -#: help.c:308 +#: help.c:285 msgid "Formatting\n" msgstr "Formatering\n" -#: help.c:309 +#: help.c:286 msgid " \\a toggle between unaligned and aligned output mode\n" msgstr " \\a byt mellan ojusterat och justerat utdataformat\n" -#: help.c:310 +#: help.c:287 msgid " \\C [STRING] set table title, or unset if none\n" msgstr " \\C [TEXT] sätt tabelltitel, eller nollställ\n" -#: help.c:311 +#: help.c:288 msgid " \\f [STRING] show or set field separator for unaligned query output\n" msgstr " \\f [TEXT] visa eller sätt fältseparatorn för ojusterad utmatning\n" -#: help.c:312 +#: help.c:289 #, c-format msgid " \\H toggle HTML output mode (currently %s)\n" msgstr " \\H slå på/av HTML-utskriftsläge (för närvarande: %s)\n" -#: help.c:314 +#: help.c:291 msgid "" " \\pset [NAME [VALUE]] set table output option\n" " (border|columns|csv_fieldsep|expanded|fieldsep|\n" @@ -3167,29 +3216,29 @@ msgstr "" " unicode_border_linestyle|unicode_column_linestyle|\n" " unicode_header_linestyle)\n" -#: help.c:321 +#: help.c:298 #, c-format msgid " \\t [on|off] show only rows (currently %s)\n" msgstr " \\t [on|off] visa endast rader (för närvarande: %s)\n" -#: help.c:323 +#: help.c:300 msgid " \\T [STRING] set HTML
tag attributes, or unset if none\n" msgstr " \\T [TEXT] sätt HTML-tabellens
-attribut, eller nollställ\n" -#: help.c:324 +#: help.c:301 #, c-format msgid " \\x [on|off|auto] toggle expanded output (currently %s)\n" msgstr " \\x [on|off|auto] slå på/av utökad utskrift (för närvarande: %s)\n" -#: help.c:325 +#: help.c:302 msgid "auto" msgstr "auto" -#: help.c:328 +#: help.c:305 msgid "Connection\n" msgstr "Anslutning\n" -#: help.c:330 +#: help.c:307 #, c-format msgid "" " \\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}\n" @@ -3198,7 +3247,7 @@ msgstr "" " \\c[onnect] {[DBNAMN|- ANVÄNDARE|- VÄRD|- PORT|-] | conninfo}\n" " koppla upp mot ny databas (för närvarande \"%s\")\n" -#: help.c:334 +#: help.c:311 msgid "" " \\c[onnect] {[DBNAME|- USER|- HOST|- PORT|-] | conninfo}\n" " connect to new database (currently no connection)\n" @@ -3206,70 +3255,70 @@ msgstr "" " \\c[onnect] {[DBNAMN|- ANVÄNDARE|- VÄRD|- PORT|-] | conninfo}\n" " koppla upp mot ny databas (för närvarande ingen uppkoppling)\n" -#: help.c:336 +#: help.c:313 msgid " \\conninfo display information about current connection\n" msgstr " \\conninfo visa information om aktuell uppkoppling\n" -#: help.c:337 +#: help.c:314 msgid " \\encoding [ENCODING] show or set client encoding\n" msgstr " \\encoding [KODNING] visa eller sätt klientens teckenkodning\n" -#: help.c:338 +#: help.c:315 msgid " \\password [USERNAME] securely change the password for a user\n" msgstr " \\password [ANVÄNDARNAMN] byt användares lösenord på ett säkert sätt\n" -#: help.c:341 +#: help.c:318 msgid "Operating System\n" msgstr "Operativsystem\n" -#: help.c:342 +#: help.c:319 msgid " \\cd [DIR] change the current working directory\n" msgstr " \\cd [KATALOG] byt den aktuella katalogen\n" -#: help.c:343 +#: help.c:320 msgid " \\getenv PSQLVAR ENVVAR fetch environment variable\n" msgstr " \\getenv PSQLVAR ENVVAR hämta omgivningsvariabel\n" -#: help.c:344 +#: help.c:321 msgid " \\setenv NAME [VALUE] set or unset environment variable\n" msgstr " \\setenv NAMN [VÄRDE] sätt eller nollställ omgivningsvariabel\n" -#: help.c:345 +#: help.c:322 #, c-format msgid " \\timing [on|off] toggle timing of commands (currently %s)\n" msgstr " \\timing [on|off] slå på/av tidstagning av kommandon (för närvarande: %s)\n" -#: help.c:347 +#: help.c:324 msgid " \\! [COMMAND] execute command in shell or start interactive shell\n" msgstr " \\! [KOMMANDO] kör kommando i skal eller starta interaktivt skal\n" -#: help.c:350 +#: help.c:327 msgid "Variables\n" msgstr "Variabler\n" -#: help.c:351 +#: help.c:328 msgid " \\prompt [TEXT] NAME prompt user to set internal variable\n" msgstr " \\prompt [TEXT] NAMN be användaren att sätta en intern variabel\n" -#: help.c:352 +#: help.c:329 msgid " \\set [NAME [VALUE]] set internal variable, or list all if no parameters\n" msgstr " \\set [NAMN [VÄRDE]] sätt intern variabel, eller lista alla om ingen param\n" -#: help.c:353 +#: help.c:330 msgid " \\unset NAME unset (delete) internal variable\n" msgstr " \\unset NAME ta bort intern variabel\n" -#: help.c:392 +#: help.c:369 msgid "" "List of specially treated variables\n" "\n" msgstr "Lista av variabler som hanteras speciellt\n" -#: help.c:394 +#: help.c:371 msgid "psql variables:\n" msgstr "psql-variabler:\n" -#: help.c:396 +#: help.c:373 msgid "" " psql --set=NAME=VALUE\n" " or \\set NAME VALUE inside psql\n" @@ -3279,7 +3328,7 @@ msgstr "" " eller \\set NAMN VÄRDE inne i psql\n" "\n" -#: help.c:398 +#: help.c:375 msgid "" " AUTOCOMMIT\n" " if set, successful SQL commands are automatically committed\n" @@ -3287,7 +3336,7 @@ msgstr "" " AUTOCOMMIT\n" " om satt så kommer efterföljande SQL-kommandon commit:as automatiskt\n" -#: help.c:400 +#: help.c:377 msgid "" " COMP_KEYWORD_CASE\n" " determines the case used to complete SQL key words\n" @@ -3297,7 +3346,7 @@ msgstr "" " bestämmer skiftläge för att komplettera SQL-nyckelord\n" " [lower, upper, preserve-lower, preserve-upper]\n" -#: help.c:403 +#: help.c:380 msgid "" " DBNAME\n" " the currently connected database name\n" @@ -3305,7 +3354,7 @@ msgstr "" " DBNAME\n" " den uppkopplade databasens namn\n" -#: help.c:405 +#: help.c:382 msgid "" " ECHO\n" " controls what input is written to standard output\n" @@ -3315,7 +3364,7 @@ msgstr "" " bestämmer vilken indata som skrivs till standard ut\n" " [all, errors, none, queries]\n" -#: help.c:408 +#: help.c:385 msgid "" " ECHO_HIDDEN\n" " if set, display internal queries executed by backslash commands;\n" @@ -3325,7 +3374,7 @@ msgstr "" " om satt, visa interna frågor som körs av backåtstreckkommandon:\n" " om satt till \"noexec\", bara visa dem utan att köra\n" -#: help.c:411 +#: help.c:388 msgid "" " ENCODING\n" " current client character set encoding\n" @@ -3333,7 +3382,7 @@ msgstr "" " ENCODING\n" " aktuell teckenkodning för klient\n" -#: help.c:413 +#: help.c:390 msgid "" " ERROR\n" " \"true\" if last query failed, else \"false\"\n" @@ -3341,7 +3390,7 @@ msgstr "" " ERROR\n" " \"true\" om sista frågan misslyckades, \"false\" annars\n" -#: help.c:415 +#: help.c:392 msgid "" " FETCH_COUNT\n" " the number of result rows to fetch and display at a time (0 = unlimited)\n" @@ -3349,7 +3398,7 @@ msgstr "" " FETCH_COUNT\n" " antal resultatrader som hämtas och visas åt gången (0=obegränsat)\n" -#: help.c:417 +#: help.c:394 msgid "" " HIDE_TABLEAM\n" " if set, table access methods are not displayed\n" @@ -3357,7 +3406,7 @@ msgstr "" " HIDE_TABLEAM\n" " om satt så visas inte accessmetoder\n" -#: help.c:419 +#: help.c:396 msgid "" " HIDE_TOAST_COMPRESSION\n" " if set, compression methods are not displayed\n" @@ -3365,7 +3414,7 @@ msgstr "" " HIDE_TOAST_COMPRESSION\n" " om satt så visas inte komprimeringsmetoder\n" -#: help.c:421 +#: help.c:398 msgid "" " HISTCONTROL\n" " controls command history [ignorespace, ignoredups, ignoreboth]\n" @@ -3373,7 +3422,7 @@ msgstr "" " HISTCONTROL\n" " styr kommandohistoriken [ignorespace, ignoredups, ignoreboth]\n" -#: help.c:423 +#: help.c:400 msgid "" " HISTFILE\n" " file name used to store the command history\n" @@ -3381,7 +3430,7 @@ msgstr "" " HISTFILE\n" " filnamn för att spara kommandohistoriken i\n" -#: help.c:425 +#: help.c:402 msgid "" " HISTSIZE\n" " maximum number of commands to store in the command history\n" @@ -3389,7 +3438,7 @@ msgstr "" " HISTSIZE\n" " maximalt antal kommandon som sparas i kommandohistoriken\n" -#: help.c:427 +#: help.c:404 msgid "" " HOST\n" " the currently connected database server host\n" @@ -3397,7 +3446,7 @@ msgstr "" " HOST\n" " den uppkopplade databasens värd\n" -#: help.c:429 +#: help.c:406 msgid "" " IGNOREEOF\n" " number of EOFs needed to terminate an interactive session\n" @@ -3405,7 +3454,7 @@ msgstr "" " IGNOREEOF\n" " antal EOF som behövs för att avsluta en interaktiv session\n" -#: help.c:431 +#: help.c:408 msgid "" " LASTOID\n" " value of the last affected OID\n" @@ -3413,7 +3462,7 @@ msgstr "" " LASTOID\n" " värdet av den senast påverkade OID:en\n" -#: help.c:433 +#: help.c:410 msgid "" " LAST_ERROR_MESSAGE\n" " LAST_ERROR_SQLSTATE\n" @@ -3423,7 +3472,7 @@ msgstr "" " LAST_ERROR_SQLSTATE\n" " meddelande och SQLSTATE för sista felet eller en tom sträng och \"00000\" om det inte varit fel\n" -#: help.c:436 +#: help.c:413 msgid "" " ON_ERROR_ROLLBACK\n" " if set, an error doesn't stop a transaction (uses implicit savepoints)\n" @@ -3431,7 +3480,7 @@ msgstr "" " ON_ERROR_ROLLBACK\n" " om satt, ett fel stoppar inte en transaktion (använder implicita sparpunkter)\n" -#: help.c:438 +#: help.c:415 msgid "" " ON_ERROR_STOP\n" " stop batch execution after error\n" @@ -3439,7 +3488,7 @@ msgstr "" " ON_ERROR_STOP\n" " avsluta batchkörning vid fel\n" -#: help.c:440 +#: help.c:417 msgid "" " PORT\n" " server port of the current connection\n" @@ -3447,7 +3496,7 @@ msgstr "" " PORT\n" " värdport för den aktuella uppkopplingen\n" -#: help.c:442 +#: help.c:419 msgid "" " PROMPT1\n" " specifies the standard psql prompt\n" @@ -3455,7 +3504,7 @@ msgstr "" " PROMPT1\n" " anger standardprompten för psql\n" -#: help.c:444 +#: help.c:421 msgid "" " PROMPT2\n" " specifies the prompt used when a statement continues from a previous line\n" @@ -3463,7 +3512,7 @@ msgstr "" " PROMPT2\n" " anger den prompt som används om en sats forsätter på efterföljande rad\n" -#: help.c:446 +#: help.c:423 msgid "" " PROMPT3\n" " specifies the prompt used during COPY ... FROM STDIN\n" @@ -3471,7 +3520,7 @@ msgstr "" " PROMPT3\n" " anger den prompt som används för COPY ... FROM STDIN\n" -#: help.c:448 +#: help.c:425 msgid "" " QUIET\n" " run quietly (same as -q option)\n" @@ -3479,7 +3528,7 @@ msgstr "" " QUIET\n" " kör tyst (samma som flaggan -q)\n" -#: help.c:450 +#: help.c:427 msgid "" " ROW_COUNT\n" " number of rows returned or affected by last query, or 0\n" @@ -3487,7 +3536,7 @@ msgstr "" " ROW_COUNT\n" " antal rader som returnerades eller påverkades av senaste frågan alternativt 0\n" -#: help.c:452 +#: help.c:429 msgid "" " SERVER_VERSION_NAME\n" " SERVER_VERSION_NUM\n" @@ -3497,7 +3546,7 @@ msgstr "" " SERVER_VERSION_NAME\n" " serverns version (i kort sträng eller numeriskt format)\n" -#: help.c:455 +#: help.c:432 msgid "" " SHELL_ERROR\n" " \"true\" if the last shell command failed, \"false\" if it succeeded\n" @@ -3505,7 +3554,7 @@ msgstr "" " ERROR\n" " \"true\" om sista frågan misslyckades, \"false\" annars\n" -#: help.c:457 +#: help.c:434 msgid "" " SHELL_EXIT_CODE\n" " exit status of the last shell command\n" @@ -3513,7 +3562,7 @@ msgstr "" " SHELL_EXIT_CODE\n" " exit-kod för senaste skalkommandot\n" -#: help.c:459 +#: help.c:436 msgid "" " SHOW_ALL_RESULTS\n" " show all results of a combined query (\\;) instead of only the last\n" @@ -3522,7 +3571,7 @@ msgstr "" " visa alla resultat från en kombinerad fråga (\\;) istället för bara\n" " det sista\n" -#: help.c:461 +#: help.c:438 msgid "" " SHOW_CONTEXT\n" " controls display of message context fields [never, errors, always]\n" @@ -3530,7 +3579,7 @@ msgstr "" " SHOW_CONTEXT\n" " styr visning av meddelandekontextfält [never, errors, always]\n" -#: help.c:463 +#: help.c:440 msgid "" " SINGLELINE\n" " if set, end of line terminates SQL commands (same as -S option)\n" @@ -3538,7 +3587,7 @@ msgstr "" " SINGLELINE\n" " om satt, slut på raden avslutar SQL-kommandon (samma som flaggan -S )\n" -#: help.c:465 +#: help.c:442 msgid "" " SINGLESTEP\n" " single-step mode (same as -s option)\n" @@ -3546,7 +3595,7 @@ msgstr "" " SINGLESTEP\n" " stegningsläge (samma som flaggan -s)\n" -#: help.c:467 +#: help.c:444 msgid "" " SQLSTATE\n" " SQLSTATE of last query, or \"00000\" if no error\n" @@ -3554,7 +3603,7 @@ msgstr "" " SQLSTATE\n" " SQLSTATE för sista frågan eller \"00000\" om det inte varit fel\n" -#: help.c:469 +#: help.c:446 msgid "" " USER\n" " the currently connected database user\n" @@ -3562,7 +3611,7 @@ msgstr "" " USER\n" " den uppkopplade databasanvändaren\n" -#: help.c:471 +#: help.c:448 msgid "" " VERBOSITY\n" " controls verbosity of error reports [default, verbose, terse, sqlstate]\n" @@ -3570,7 +3619,7 @@ msgstr "" " VERBOSITY\n" " styr verbositet för felrapporter [default, verbose, terse, sqlstate]\n" -#: help.c:473 +#: help.c:450 msgid "" " VERSION\n" " VERSION_NAME\n" @@ -3582,7 +3631,7 @@ msgstr "" " VERSION_NUM\n" " psql:s version (i lång sträng, kort sträng eller numeriskt format)\n" -#: help.c:478 +#: help.c:455 msgid "" "\n" "Display settings:\n" @@ -3590,7 +3639,7 @@ msgstr "" "\n" "Visningsinställningar:\n" -#: help.c:480 +#: help.c:457 msgid "" " psql --pset=NAME[=VALUE]\n" " or \\pset NAME [VALUE] inside psql\n" @@ -3600,7 +3649,7 @@ msgstr "" " eller \\pset NAMN [VÄRDE] inne i psql\n" "\n" -#: help.c:482 +#: help.c:459 msgid "" " border\n" " border style (number)\n" @@ -3608,7 +3657,7 @@ msgstr "" " border\n" " ramstil (nummer)\n" -#: help.c:484 +#: help.c:461 msgid "" " columns\n" " target width for the wrapped format\n" @@ -3616,7 +3665,7 @@ msgstr "" " columns\n" " målvidd för wrappade format\n" -#: help.c:486 +#: help.c:463 msgid "" " expanded (or x)\n" " expanded output [on, off, auto]\n" @@ -3624,7 +3673,7 @@ msgstr "" " expanded (eller x)\n" " expanderad utdata [on, off, auto]\n" -#: help.c:488 +#: help.c:465 #, c-format msgid "" " fieldsep\n" @@ -3633,7 +3682,7 @@ msgstr "" " fieldsep\n" " fältseparator för ej justerad utdata (standard \"%s\")\n" -#: help.c:491 +#: help.c:468 msgid "" " fieldsep_zero\n" " set field separator for unaligned output to a zero byte\n" @@ -3641,7 +3690,7 @@ msgstr "" " fieldsep_zero\n" " sätt fältseparator för ej justerad utdata till noll-byte\n" -#: help.c:493 +#: help.c:470 msgid "" " footer\n" " enable or disable display of the table footer [on, off]\n" @@ -3649,7 +3698,7 @@ msgstr "" " footer\n" " slå på/av visning av tabellfot [on, off]\n" -#: help.c:495 +#: help.c:472 msgid "" " format\n" " set output format [unaligned, aligned, wrapped, html, asciidoc, ...]\n" @@ -3657,7 +3706,7 @@ msgstr "" " format\n" " sätt utdataformat [unaligned, aligned, wrapped, html, asciidoc, ...]\n" -#: help.c:497 +#: help.c:474 msgid "" " linestyle\n" " set the border line drawing style [ascii, old-ascii, unicode]\n" @@ -3665,7 +3714,7 @@ msgstr "" " linestyle\n" " sätt ramlinjestil [ascii, old-ascii, unicode]\n" -#: help.c:499 +#: help.c:476 msgid "" " null\n" " set the string to be printed in place of a null value\n" @@ -3673,7 +3722,7 @@ msgstr "" " null\n" " sätt sträng som visas istället för null-värden\n" -#: help.c:501 +#: help.c:478 msgid "" " numericlocale\n" " enable display of a locale-specific character to separate groups of digits\n" @@ -3681,7 +3730,7 @@ msgstr "" " numericlocale\n" " slå på visning av lokalspecifika tecken för gruppering av siffror\n" -#: help.c:503 +#: help.c:480 msgid "" " pager\n" " control when an external pager is used [yes, no, always]\n" @@ -3689,7 +3738,7 @@ msgstr "" " pager\n" " styr när en extern pagenerare används [yes, no, always]\n" -#: help.c:505 +#: help.c:482 msgid "" " recordsep\n" " record (line) separator for unaligned output\n" @@ -3697,7 +3746,7 @@ msgstr "" " recordsep\n" " post (rad) separator för ej justerad utdata\n" -#: help.c:507 +#: help.c:484 msgid "" " recordsep_zero\n" " set record separator for unaligned output to a zero byte\n" @@ -3705,7 +3754,7 @@ msgstr "" " recordsep_zero\n" " sätt postseparator för ej justerad utdata till noll-byte\n" -#: help.c:509 +#: help.c:486 msgid "" " tableattr (or T)\n" " specify attributes for table tag in html format, or proportional\n" @@ -3715,7 +3764,7 @@ msgstr "" " ange attribut för tabelltaggen i html-format eller proportionella\n" " kolumnvidder för vänsterjusterade datatypet i latex-longtable-format\n" -#: help.c:512 +#: help.c:489 msgid "" " title\n" " set the table title for subsequently printed tables\n" @@ -3723,7 +3772,7 @@ msgstr "" " title\n" " sätt tabelltitel för efterkommande tabellutskrifter\n" -#: help.c:514 +#: help.c:491 msgid "" " tuples_only\n" " if set, only actual table data is shown\n" @@ -3731,7 +3780,7 @@ msgstr "" " tuples_only\n" " om satt, bara tabelldatan visas\n" -#: help.c:516 +#: help.c:493 msgid "" " unicode_border_linestyle\n" " unicode_column_linestyle\n" @@ -3743,7 +3792,7 @@ msgstr "" " unicode_header_linestyle\n" " sätter stilen på Unicode-linjer [single, double]\n" -#: help.c:521 +#: help.c:498 msgid "" "\n" "Environment variables:\n" @@ -3751,7 +3800,7 @@ msgstr "" "\n" "Omgivningsvariabler:\n" -#: help.c:525 +#: help.c:502 msgid "" " NAME=VALUE [NAME=VALUE] psql ...\n" " or \\setenv NAME [VALUE] inside psql\n" @@ -3761,7 +3810,7 @@ msgstr "" " eller \\setenv NAMN [VÄRDE] inne psql\n" "\n" -#: help.c:527 +#: help.c:504 msgid "" " set NAME=VALUE\n" " psql ...\n" @@ -3773,7 +3822,7 @@ msgstr "" " eller \\setenv NAMN [VÄRDE] inne i psql\n" "\n" -#: help.c:530 +#: help.c:507 msgid "" " COLUMNS\n" " number of columns for wrapped format\n" @@ -3781,7 +3830,7 @@ msgstr "" " COLUMNS\n" " antal kolumner i wrappade format\n" -#: help.c:532 +#: help.c:509 msgid "" " PGAPPNAME\n" " same as the application_name connection parameter\n" @@ -3789,7 +3838,7 @@ msgstr "" " PGAPPNAME\n" " samma som anslutningsparametern \"application_name\"\n" -#: help.c:534 +#: help.c:511 msgid "" " PGDATABASE\n" " same as the dbname connection parameter\n" @@ -3797,7 +3846,7 @@ msgstr "" " PGDATABASE\n" " samma som anslutningsparametern \"dbname\"\n" -#: help.c:536 +#: help.c:513 msgid "" " PGHOST\n" " same as the host connection parameter\n" @@ -3805,7 +3854,7 @@ msgstr "" " PGHOST\n" " samma som anslutningsparametern \"host\"\n" -#: help.c:538 +#: help.c:515 msgid "" " PGPASSFILE\n" " password file name\n" @@ -3813,7 +3862,7 @@ msgstr "" " PGPASSFILE\n" " lösenordsfilnamn\n" -#: help.c:540 +#: help.c:517 msgid "" " PGPASSWORD\n" " connection password (not recommended)\n" @@ -3821,7 +3870,7 @@ msgstr "" " PGPASSWORD\n" " uppkoppingens lösenord (rekommenderas inte)\n" -#: help.c:542 +#: help.c:519 msgid "" " PGPORT\n" " same as the port connection parameter\n" @@ -3829,7 +3878,7 @@ msgstr "" " PGPORT\n" " samma som anslutingsparametern \"port\"\n" -#: help.c:544 +#: help.c:521 msgid "" " PGUSER\n" " same as the user connection parameter\n" @@ -3837,7 +3886,7 @@ msgstr "" " PGUSER\n" " samma som anslutningsparametern \"user\"\n" -#: help.c:546 +#: help.c:523 msgid "" " PSQL_EDITOR, EDITOR, VISUAL\n" " editor used by the \\e, \\ef, and \\ev commands\n" @@ -3845,7 +3894,7 @@ msgstr "" " PSQL_EDITOR, EDITOR, VISUAL\n" " redigerare som används av kommanona \\e, \\ef och \\ev\n" -#: help.c:548 +#: help.c:525 msgid "" " PSQL_EDITOR_LINENUMBER_ARG\n" " how to specify a line number when invoking the editor\n" @@ -3853,7 +3902,7 @@ msgstr "" " PSQL_EDITOR_LINENUMBER_ARG\n" " hur radnummer anges när redigerare startas\n" -#: help.c:550 +#: help.c:527 msgid "" " PSQL_HISTORY\n" " alternative location for the command history file\n" @@ -3861,7 +3910,7 @@ msgstr "" " PSQL_HISTORY\n" " alternativ plats för kommandohistorikfilen\n" -#: help.c:552 +#: help.c:529 msgid "" " PSQL_PAGER, PAGER\n" " name of external pager program\n" @@ -3869,7 +3918,7 @@ msgstr "" " PAGER\n" " namnet på den externa pageneraren\n" -#: help.c:555 +#: help.c:532 msgid "" " PSQL_WATCH_PAGER\n" " name of external pager program used for \\watch\n" @@ -3877,7 +3926,7 @@ msgstr "" " PSQL_WATCH_PAGER\n" " namn på externt paginerarprogram för \\watch\n" -#: help.c:558 +#: help.c:535 msgid "" " PSQLRC\n" " alternative location for the user's .psqlrc file\n" @@ -3885,7 +3934,7 @@ msgstr "" " PSQLRC\n" " alternativ plats för användarens \".psqlrc\"-fil\n" -#: help.c:560 +#: help.c:537 msgid "" " SHELL\n" " shell used by the \\! command\n" @@ -3893,7 +3942,7 @@ msgstr "" " SHELL\n" " skalet som används av kommandot \\!\n" -#: help.c:562 +#: help.c:539 msgid "" " TMPDIR\n" " directory for temporary files\n" @@ -3901,11 +3950,11 @@ msgstr "" " TMPDIR\n" " katalog för temporärfiler\n" -#: help.c:622 +#: help.c:599 msgid "Available help:\n" msgstr "Tillgänglig hjälp:\n" -#: help.c:717 +#: help.c:694 #, c-format msgid "" "Command: %s\n" @@ -3924,7 +3973,7 @@ msgstr "" "URL: %s\n" "\n" -#: help.c:740 +#: help.c:717 #, c-format msgid "" "No help available for \"%s\".\n" @@ -3933,17 +3982,17 @@ msgstr "" "Ingen hjälp tillgänglig för \"%s\".\n" "Försök med \\h utan argument för att se den tillgängliga hjälpen.\n" -#: input.c:216 +#: input.c:215 #, c-format msgid "could not read from input file: %m" msgstr "kunde inte läsa från infilen: %m" -#: input.c:477 input.c:515 +#: input.c:476 input.c:514 #, c-format msgid "could not save history to file \"%s\": %m" msgstr "kunde inte skriva kommandohistorien till \"%s\": %m" -#: input.c:534 +#: input.c:533 #, c-format msgid "history is not supported by this installation" msgstr "historia stöds inte av denna installationen" @@ -4030,12 +4079,12 @@ msgstr "fråga ignorerat; använd \\endif eller Ctrl-C för att avsluta aktuellt msgid "reached EOF without finding closing \\endif(s)" msgstr "kom till EOF utan att hitta avslutande \\endif" -#: psqlscanslash.l:640 +#: psqlscanslash.l:642 #, c-format msgid "unterminated quoted string" msgstr "icketerminerad citerad sträng" -#: psqlscanslash.l:825 +#: psqlscanslash.l:842 #, c-format msgid "%s: out of memory" msgstr "%s: slut på minne" @@ -4043,2427 +4092,2456 @@ msgstr "%s: slut på minne" #: sql_help.c:35 sql_help.c:38 sql_help.c:41 sql_help.c:65 sql_help.c:66 #: sql_help.c:68 sql_help.c:70 sql_help.c:81 sql_help.c:83 sql_help.c:85 #: sql_help.c:113 sql_help.c:119 sql_help.c:121 sql_help.c:123 sql_help.c:125 -#: sql_help.c:126 sql_help.c:129 sql_help.c:131 sql_help.c:133 sql_help.c:238 -#: sql_help.c:240 sql_help.c:241 sql_help.c:243 sql_help.c:245 sql_help.c:248 -#: sql_help.c:250 sql_help.c:252 sql_help.c:254 sql_help.c:266 sql_help.c:267 -#: sql_help.c:268 sql_help.c:270 sql_help.c:319 sql_help.c:321 sql_help.c:323 -#: sql_help.c:325 sql_help.c:394 sql_help.c:399 sql_help.c:401 sql_help.c:443 -#: sql_help.c:445 sql_help.c:448 sql_help.c:450 sql_help.c:519 sql_help.c:524 -#: sql_help.c:529 sql_help.c:534 sql_help.c:539 sql_help.c:593 sql_help.c:595 -#: sql_help.c:597 sql_help.c:599 sql_help.c:601 sql_help.c:604 sql_help.c:606 -#: sql_help.c:609 sql_help.c:620 sql_help.c:622 sql_help.c:666 sql_help.c:668 -#: sql_help.c:670 sql_help.c:673 sql_help.c:675 sql_help.c:677 sql_help.c:714 -#: sql_help.c:718 sql_help.c:722 sql_help.c:741 sql_help.c:744 sql_help.c:747 -#: sql_help.c:776 sql_help.c:788 sql_help.c:796 sql_help.c:799 sql_help.c:802 -#: sql_help.c:817 sql_help.c:820 sql_help.c:849 sql_help.c:854 sql_help.c:859 -#: sql_help.c:864 sql_help.c:869 sql_help.c:896 sql_help.c:898 sql_help.c:900 -#: sql_help.c:902 sql_help.c:905 sql_help.c:907 sql_help.c:954 sql_help.c:999 -#: sql_help.c:1004 sql_help.c:1009 sql_help.c:1014 sql_help.c:1019 -#: sql_help.c:1038 sql_help.c:1049 sql_help.c:1051 sql_help.c:1071 -#: sql_help.c:1081 sql_help.c:1082 sql_help.c:1084 sql_help.c:1086 -#: sql_help.c:1098 sql_help.c:1102 sql_help.c:1104 sql_help.c:1116 -#: sql_help.c:1118 sql_help.c:1120 sql_help.c:1122 sql_help.c:1141 -#: sql_help.c:1143 sql_help.c:1147 sql_help.c:1151 sql_help.c:1155 -#: sql_help.c:1158 sql_help.c:1159 sql_help.c:1160 sql_help.c:1163 -#: sql_help.c:1166 sql_help.c:1168 sql_help.c:1308 sql_help.c:1310 -#: sql_help.c:1313 sql_help.c:1316 sql_help.c:1318 sql_help.c:1320 -#: sql_help.c:1323 sql_help.c:1326 sql_help.c:1443 sql_help.c:1445 -#: sql_help.c:1447 sql_help.c:1450 sql_help.c:1471 sql_help.c:1474 -#: sql_help.c:1477 sql_help.c:1480 sql_help.c:1484 sql_help.c:1486 -#: sql_help.c:1488 sql_help.c:1490 sql_help.c:1504 sql_help.c:1507 -#: sql_help.c:1509 sql_help.c:1511 sql_help.c:1521 sql_help.c:1523 -#: sql_help.c:1533 sql_help.c:1535 sql_help.c:1545 sql_help.c:1548 -#: sql_help.c:1571 sql_help.c:1573 sql_help.c:1575 sql_help.c:1577 -#: sql_help.c:1580 sql_help.c:1582 sql_help.c:1585 sql_help.c:1588 -#: sql_help.c:1639 sql_help.c:1682 sql_help.c:1685 sql_help.c:1687 -#: sql_help.c:1689 sql_help.c:1692 sql_help.c:1694 sql_help.c:1696 -#: sql_help.c:1699 sql_help.c:1751 sql_help.c:1767 sql_help.c:2000 -#: sql_help.c:2069 sql_help.c:2088 sql_help.c:2101 sql_help.c:2159 -#: sql_help.c:2167 sql_help.c:2177 sql_help.c:2204 sql_help.c:2236 -#: sql_help.c:2254 sql_help.c:2282 sql_help.c:2393 sql_help.c:2439 -#: sql_help.c:2464 sql_help.c:2487 sql_help.c:2491 sql_help.c:2525 -#: sql_help.c:2545 sql_help.c:2567 sql_help.c:2581 sql_help.c:2602 -#: sql_help.c:2631 sql_help.c:2666 sql_help.c:2691 sql_help.c:2738 -#: sql_help.c:3033 sql_help.c:3046 sql_help.c:3063 sql_help.c:3079 -#: sql_help.c:3119 sql_help.c:3173 sql_help.c:3177 sql_help.c:3179 -#: sql_help.c:3186 sql_help.c:3205 sql_help.c:3232 sql_help.c:3267 -#: sql_help.c:3279 sql_help.c:3288 sql_help.c:3332 sql_help.c:3346 -#: sql_help.c:3374 sql_help.c:3382 sql_help.c:3394 sql_help.c:3404 -#: sql_help.c:3412 sql_help.c:3420 sql_help.c:3428 sql_help.c:3436 -#: sql_help.c:3445 sql_help.c:3456 sql_help.c:3464 sql_help.c:3472 -#: sql_help.c:3480 sql_help.c:3488 sql_help.c:3498 sql_help.c:3507 -#: sql_help.c:3516 sql_help.c:3524 sql_help.c:3534 sql_help.c:3545 -#: sql_help.c:3553 sql_help.c:3562 sql_help.c:3573 sql_help.c:3582 -#: sql_help.c:3590 sql_help.c:3598 sql_help.c:3606 sql_help.c:3614 -#: 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:3679 sql_help.c:3688 -#: sql_help.c:3696 sql_help.c:3713 sql_help.c:3728 sql_help.c:4040 -#: sql_help.c:4150 sql_help.c:4179 sql_help.c:4195 sql_help.c:4197 -#: sql_help.c:4700 sql_help.c:4748 sql_help.c:4906 +#: sql_help.c:126 sql_help.c:129 sql_help.c:131 sql_help.c:133 sql_help.c:240 +#: sql_help.c:242 sql_help.c:243 sql_help.c:245 sql_help.c:247 sql_help.c:250 +#: sql_help.c:252 sql_help.c:254 sql_help.c:256 sql_help.c:268 sql_help.c:269 +#: sql_help.c:270 sql_help.c:272 sql_help.c:321 sql_help.c:323 sql_help.c:325 +#: sql_help.c:327 sql_help.c:396 sql_help.c:401 sql_help.c:403 sql_help.c:445 +#: sql_help.c:447 sql_help.c:450 sql_help.c:452 sql_help.c:521 sql_help.c:526 +#: sql_help.c:531 sql_help.c:536 sql_help.c:541 sql_help.c:595 sql_help.c:597 +#: sql_help.c:599 sql_help.c:601 sql_help.c:603 sql_help.c:606 sql_help.c:608 +#: sql_help.c:611 sql_help.c:622 sql_help.c:624 sql_help.c:668 sql_help.c:670 +#: sql_help.c:672 sql_help.c:675 sql_help.c:677 sql_help.c:679 sql_help.c:720 +#: sql_help.c:724 sql_help.c:728 sql_help.c:749 sql_help.c:752 sql_help.c:755 +#: sql_help.c:784 sql_help.c:796 sql_help.c:804 sql_help.c:807 sql_help.c:810 +#: sql_help.c:825 sql_help.c:828 sql_help.c:857 sql_help.c:862 sql_help.c:867 +#: sql_help.c:872 sql_help.c:877 sql_help.c:904 sql_help.c:906 sql_help.c:908 +#: sql_help.c:910 sql_help.c:913 sql_help.c:915 sql_help.c:962 sql_help.c:1007 +#: sql_help.c:1012 sql_help.c:1017 sql_help.c:1022 sql_help.c:1027 +#: sql_help.c:1046 sql_help.c:1057 sql_help.c:1059 sql_help.c:1079 +#: sql_help.c:1089 sql_help.c:1090 sql_help.c:1092 sql_help.c:1094 +#: sql_help.c:1106 sql_help.c:1110 sql_help.c:1112 sql_help.c:1124 +#: sql_help.c:1126 sql_help.c:1128 sql_help.c:1130 sql_help.c:1149 +#: sql_help.c:1151 sql_help.c:1155 sql_help.c:1159 sql_help.c:1163 +#: sql_help.c:1166 sql_help.c:1167 sql_help.c:1168 sql_help.c:1171 +#: sql_help.c:1174 sql_help.c:1176 sql_help.c:1323 sql_help.c:1325 +#: sql_help.c:1328 sql_help.c:1331 sql_help.c:1333 sql_help.c:1335 +#: sql_help.c:1338 sql_help.c:1341 sql_help.c:1343 sql_help.c:1349 +#: sql_help.c:1473 sql_help.c:1475 sql_help.c:1477 sql_help.c:1480 +#: sql_help.c:1501 sql_help.c:1504 sql_help.c:1507 sql_help.c:1510 +#: sql_help.c:1514 sql_help.c:1516 sql_help.c:1518 sql_help.c:1520 +#: sql_help.c:1534 sql_help.c:1537 sql_help.c:1539 sql_help.c:1541 +#: sql_help.c:1551 sql_help.c:1553 sql_help.c:1563 sql_help.c:1565 +#: sql_help.c:1575 sql_help.c:1578 sql_help.c:1601 sql_help.c:1603 +#: sql_help.c:1605 sql_help.c:1607 sql_help.c:1610 sql_help.c:1612 +#: sql_help.c:1615 sql_help.c:1618 sql_help.c:1669 sql_help.c:1712 +#: sql_help.c:1715 sql_help.c:1717 sql_help.c:1719 sql_help.c:1722 +#: sql_help.c:1724 sql_help.c:1726 sql_help.c:1729 sql_help.c:1779 +#: sql_help.c:1795 sql_help.c:2028 sql_help.c:2097 sql_help.c:2116 +#: sql_help.c:2129 sql_help.c:2187 sql_help.c:2195 sql_help.c:2205 +#: sql_help.c:2233 sql_help.c:2266 sql_help.c:2284 sql_help.c:2312 +#: sql_help.c:2423 sql_help.c:2469 sql_help.c:2494 sql_help.c:2517 +#: sql_help.c:2521 sql_help.c:2555 sql_help.c:2575 sql_help.c:2597 +#: sql_help.c:2611 sql_help.c:2632 sql_help.c:2661 sql_help.c:2694 +#: sql_help.c:2717 sql_help.c:2764 sql_help.c:3062 sql_help.c:3075 +#: sql_help.c:3092 sql_help.c:3108 sql_help.c:3148 sql_help.c:3202 +#: sql_help.c:3206 sql_help.c:3208 sql_help.c:3215 sql_help.c:3234 +#: sql_help.c:3261 sql_help.c:3296 sql_help.c:3308 sql_help.c:3317 +#: sql_help.c:3361 sql_help.c:3375 sql_help.c:3403 sql_help.c:3411 +#: sql_help.c:3423 sql_help.c:3433 sql_help.c:3441 sql_help.c:3449 +#: sql_help.c:3457 sql_help.c:3465 sql_help.c:3474 sql_help.c:3485 +#: sql_help.c:3493 sql_help.c:3501 sql_help.c:3509 sql_help.c:3517 +#: sql_help.c:3527 sql_help.c:3536 sql_help.c:3545 sql_help.c:3553 +#: sql_help.c:3563 sql_help.c:3574 sql_help.c:3582 sql_help.c:3591 +#: sql_help.c:3602 sql_help.c:3611 sql_help.c:3619 sql_help.c:3627 +#: sql_help.c:3635 sql_help.c:3643 sql_help.c:3651 sql_help.c:3659 +#: sql_help.c:3667 sql_help.c:3675 sql_help.c:3683 sql_help.c:3691 +#: sql_help.c:3708 sql_help.c:3717 sql_help.c:3725 sql_help.c:3742 +#: sql_help.c:3757 sql_help.c:4070 sql_help.c:4191 sql_help.c:4220 +#: sql_help.c:4236 sql_help.c:4238 sql_help.c:4742 sql_help.c:4790 +#: sql_help.c:4949 msgid "name" msgstr "namn" -#: sql_help.c:36 sql_help.c:39 sql_help.c:42 sql_help.c:330 sql_help.c:1848 -#: sql_help.c:3347 sql_help.c:4468 +#: sql_help.c:36 sql_help.c:39 sql_help.c:42 sql_help.c:332 sql_help.c:1872 +#: sql_help.c:3376 sql_help.c:4509 msgid "aggregate_signature" msgstr "aggregatsignatur" -#: sql_help.c:37 sql_help.c:67 sql_help.c:82 sql_help.c:120 sql_help.c:253 -#: sql_help.c:271 sql_help.c:402 sql_help.c:449 sql_help.c:528 sql_help.c:576 -#: sql_help.c:594 sql_help.c:621 sql_help.c:674 sql_help.c:743 sql_help.c:798 -#: sql_help.c:819 sql_help.c:858 sql_help.c:908 sql_help.c:955 sql_help.c:1008 -#: sql_help.c:1040 sql_help.c:1050 sql_help.c:1085 sql_help.c:1105 -#: sql_help.c:1119 sql_help.c:1169 sql_help.c:1317 sql_help.c:1444 -#: sql_help.c:1487 sql_help.c:1508 sql_help.c:1522 sql_help.c:1534 -#: sql_help.c:1547 sql_help.c:1574 sql_help.c:1640 sql_help.c:1693 +#: sql_help.c:37 sql_help.c:67 sql_help.c:82 sql_help.c:120 sql_help.c:255 +#: sql_help.c:273 sql_help.c:404 sql_help.c:451 sql_help.c:530 sql_help.c:578 +#: sql_help.c:596 sql_help.c:623 sql_help.c:676 sql_help.c:751 sql_help.c:806 +#: sql_help.c:827 sql_help.c:866 sql_help.c:916 sql_help.c:963 sql_help.c:1016 +#: sql_help.c:1048 sql_help.c:1058 sql_help.c:1093 sql_help.c:1113 +#: sql_help.c:1127 sql_help.c:1177 sql_help.c:1332 sql_help.c:1474 +#: sql_help.c:1517 sql_help.c:1538 sql_help.c:1552 sql_help.c:1564 +#: sql_help.c:1577 sql_help.c:1604 sql_help.c:1670 sql_help.c:1723 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:251 -#: sql_help.c:269 sql_help.c:400 sql_help.c:485 sql_help.c:533 sql_help.c:623 -#: sql_help.c:632 sql_help.c:697 sql_help.c:717 sql_help.c:746 sql_help.c:801 -#: sql_help.c:863 sql_help.c:906 sql_help.c:1013 sql_help.c:1052 -#: sql_help.c:1083 sql_help.c:1103 sql_help.c:1117 sql_help.c:1167 -#: sql_help.c:1381 sql_help.c:1446 sql_help.c:1489 sql_help.c:1510 -#: sql_help.c:1572 sql_help.c:1688 sql_help.c:3019 +#: sql_help.c:40 sql_help.c:69 sql_help.c:84 sql_help.c:122 sql_help.c:253 +#: sql_help.c:271 sql_help.c:402 sql_help.c:487 sql_help.c:535 sql_help.c:625 +#: sql_help.c:634 sql_help.c:699 sql_help.c:723 sql_help.c:754 sql_help.c:809 +#: sql_help.c:871 sql_help.c:914 sql_help.c:1021 sql_help.c:1060 +#: sql_help.c:1091 sql_help.c:1111 sql_help.c:1125 sql_help.c:1175 +#: sql_help.c:1408 sql_help.c:1476 sql_help.c:1519 sql_help.c:1540 +#: sql_help.c:1602 sql_help.c:1718 sql_help.c:3048 msgid "new_owner" msgstr "ny_ägare" -#: sql_help.c:43 sql_help.c:71 sql_help.c:86 sql_help.c:255 sql_help.c:322 -#: sql_help.c:451 sql_help.c:538 sql_help.c:676 sql_help.c:721 sql_help.c:749 -#: sql_help.c:804 sql_help.c:868 sql_help.c:1018 sql_help.c:1087 -#: sql_help.c:1121 sql_help.c:1319 sql_help.c:1491 sql_help.c:1512 -#: sql_help.c:1524 sql_help.c:1536 sql_help.c:1576 sql_help.c:1695 +#: sql_help.c:43 sql_help.c:71 sql_help.c:86 sql_help.c:257 sql_help.c:324 +#: sql_help.c:453 sql_help.c:540 sql_help.c:678 sql_help.c:727 sql_help.c:757 +#: sql_help.c:812 sql_help.c:876 sql_help.c:1026 sql_help.c:1095 +#: sql_help.c:1129 sql_help.c:1334 sql_help.c:1521 sql_help.c:1542 +#: sql_help.c:1554 sql_help.c:1566 sql_help.c:1606 sql_help.c:1725 msgid "new_schema" msgstr "nytt_schema" -#: sql_help.c:44 sql_help.c:1912 sql_help.c:3348 sql_help.c:4497 +#: sql_help.c:44 sql_help.c:1936 sql_help.c:3377 sql_help.c:4538 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:340 sql_help.c:353 -#: sql_help.c:357 sql_help.c:373 sql_help.c:376 sql_help.c:379 sql_help.c:520 -#: sql_help.c:525 sql_help.c:530 sql_help.c:535 sql_help.c:540 sql_help.c:850 -#: sql_help.c:855 sql_help.c:860 sql_help.c:865 sql_help.c:870 sql_help.c:1000 -#: sql_help.c:1005 sql_help.c:1010 sql_help.c:1015 sql_help.c:1020 -#: sql_help.c:1866 sql_help.c:1883 sql_help.c:1889 sql_help.c:1913 -#: sql_help.c:1916 sql_help.c:1919 sql_help.c:2070 sql_help.c:2089 -#: sql_help.c:2092 sql_help.c:2394 sql_help.c:2603 sql_help.c:3349 -#: sql_help.c:3352 sql_help.c:3355 sql_help.c:3446 sql_help.c:3535 -#: sql_help.c:3563 sql_help.c:3915 sql_help.c:4367 sql_help.c:4474 -#: sql_help.c:4481 sql_help.c:4487 sql_help.c:4498 sql_help.c:4501 -#: sql_help.c:4504 +#: sql_help.c:45 sql_help.c:48 sql_help.c:51 sql_help.c:342 sql_help.c:355 +#: sql_help.c:359 sql_help.c:375 sql_help.c:378 sql_help.c:381 sql_help.c:522 +#: sql_help.c:527 sql_help.c:532 sql_help.c:537 sql_help.c:542 sql_help.c:858 +#: sql_help.c:863 sql_help.c:868 sql_help.c:873 sql_help.c:878 sql_help.c:1008 +#: sql_help.c:1013 sql_help.c:1018 sql_help.c:1023 sql_help.c:1028 +#: sql_help.c:1890 sql_help.c:1907 sql_help.c:1913 sql_help.c:1937 +#: sql_help.c:1940 sql_help.c:1943 sql_help.c:2098 sql_help.c:2117 +#: sql_help.c:2120 sql_help.c:2424 sql_help.c:2633 sql_help.c:3378 +#: sql_help.c:3381 sql_help.c:3384 sql_help.c:3475 sql_help.c:3564 +#: sql_help.c:3592 sql_help.c:3945 sql_help.c:4408 sql_help.c:4515 +#: sql_help.c:4522 sql_help.c:4528 sql_help.c:4539 sql_help.c:4542 +#: sql_help.c:4545 msgid "argmode" msgstr "arg_läge" -#: sql_help.c:46 sql_help.c:49 sql_help.c:52 sql_help.c:341 sql_help.c:354 -#: sql_help.c:358 sql_help.c:374 sql_help.c:377 sql_help.c:380 sql_help.c:521 -#: sql_help.c:526 sql_help.c:531 sql_help.c:536 sql_help.c:541 sql_help.c:851 -#: sql_help.c:856 sql_help.c:861 sql_help.c:866 sql_help.c:871 sql_help.c:1001 -#: sql_help.c:1006 sql_help.c:1011 sql_help.c:1016 sql_help.c:1021 -#: sql_help.c:1867 sql_help.c:1884 sql_help.c:1890 sql_help.c:1914 -#: sql_help.c:1917 sql_help.c:1920 sql_help.c:2071 sql_help.c:2090 -#: sql_help.c:2093 sql_help.c:2395 sql_help.c:2604 sql_help.c:3350 -#: sql_help.c:3353 sql_help.c:3356 sql_help.c:3447 sql_help.c:3536 -#: sql_help.c:3564 sql_help.c:4475 sql_help.c:4482 sql_help.c:4488 -#: sql_help.c:4499 sql_help.c:4502 sql_help.c:4505 +#: sql_help.c:46 sql_help.c:49 sql_help.c:52 sql_help.c:343 sql_help.c:356 +#: sql_help.c:360 sql_help.c:376 sql_help.c:379 sql_help.c:382 sql_help.c:523 +#: sql_help.c:528 sql_help.c:533 sql_help.c:538 sql_help.c:543 sql_help.c:859 +#: sql_help.c:864 sql_help.c:869 sql_help.c:874 sql_help.c:879 sql_help.c:1009 +#: sql_help.c:1014 sql_help.c:1019 sql_help.c:1024 sql_help.c:1029 +#: sql_help.c:1891 sql_help.c:1908 sql_help.c:1914 sql_help.c:1938 +#: sql_help.c:1941 sql_help.c:1944 sql_help.c:2099 sql_help.c:2118 +#: sql_help.c:2121 sql_help.c:2425 sql_help.c:2634 sql_help.c:3379 +#: sql_help.c:3382 sql_help.c:3385 sql_help.c:3476 sql_help.c:3565 +#: sql_help.c:3593 sql_help.c:4516 sql_help.c:4523 sql_help.c:4529 +#: sql_help.c:4540 sql_help.c:4543 sql_help.c:4546 msgid "argname" msgstr "arg_namn" -#: sql_help.c:47 sql_help.c:50 sql_help.c:53 sql_help.c:342 sql_help.c:355 -#: sql_help.c:359 sql_help.c:375 sql_help.c:378 sql_help.c:381 sql_help.c:522 -#: sql_help.c:527 sql_help.c:532 sql_help.c:537 sql_help.c:542 sql_help.c:852 -#: sql_help.c:857 sql_help.c:862 sql_help.c:867 sql_help.c:872 sql_help.c:1002 -#: sql_help.c:1007 sql_help.c:1012 sql_help.c:1017 sql_help.c:1022 -#: sql_help.c:1868 sql_help.c:1885 sql_help.c:1891 sql_help.c:1915 -#: sql_help.c:1918 sql_help.c:1921 sql_help.c:2396 sql_help.c:2605 -#: sql_help.c:3351 sql_help.c:3354 sql_help.c:3357 sql_help.c:3448 -#: sql_help.c:3537 sql_help.c:3565 sql_help.c:4476 sql_help.c:4483 -#: sql_help.c:4489 sql_help.c:4500 sql_help.c:4503 sql_help.c:4506 +#: sql_help.c:47 sql_help.c:50 sql_help.c:53 sql_help.c:344 sql_help.c:357 +#: sql_help.c:361 sql_help.c:377 sql_help.c:380 sql_help.c:383 sql_help.c:524 +#: sql_help.c:529 sql_help.c:534 sql_help.c:539 sql_help.c:544 sql_help.c:860 +#: sql_help.c:865 sql_help.c:870 sql_help.c:875 sql_help.c:880 sql_help.c:1010 +#: sql_help.c:1015 sql_help.c:1020 sql_help.c:1025 sql_help.c:1030 +#: sql_help.c:1892 sql_help.c:1909 sql_help.c:1915 sql_help.c:1939 +#: sql_help.c:1942 sql_help.c:1945 sql_help.c:2426 sql_help.c:2635 +#: sql_help.c:3380 sql_help.c:3383 sql_help.c:3386 sql_help.c:3477 +#: sql_help.c:3566 sql_help.c:3594 sql_help.c:4517 sql_help.c:4524 +#: sql_help.c:4530 sql_help.c:4541 sql_help.c:4544 sql_help.c:4547 msgid "argtype" msgstr "arg_typ" -#: sql_help.c:114 sql_help.c:397 sql_help.c:474 sql_help.c:486 sql_help.c:949 -#: sql_help.c:1100 sql_help.c:1505 sql_help.c:1634 sql_help.c:1666 -#: sql_help.c:1719 sql_help.c:1783 sql_help.c:1970 sql_help.c:1977 -#: sql_help.c:2285 sql_help.c:2335 sql_help.c:2342 sql_help.c:2351 -#: sql_help.c:2440 sql_help.c:2667 sql_help.c:2760 sql_help.c:3048 -#: sql_help.c:3233 sql_help.c:3255 sql_help.c:3395 sql_help.c:3751 -#: sql_help.c:3959 sql_help.c:4194 sql_help.c:4196 sql_help.c:4973 +#: sql_help.c:114 sql_help.c:399 sql_help.c:476 sql_help.c:488 sql_help.c:957 +#: sql_help.c:1108 sql_help.c:1535 sql_help.c:1664 sql_help.c:1696 +#: sql_help.c:1748 sql_help.c:1807 sql_help.c:1996 sql_help.c:2003 +#: sql_help.c:2315 sql_help.c:2365 sql_help.c:2372 sql_help.c:2381 +#: sql_help.c:2470 sql_help.c:2695 sql_help.c:2786 sql_help.c:3077 +#: sql_help.c:3262 sql_help.c:3284 sql_help.c:3424 sql_help.c:3781 +#: sql_help.c:3989 sql_help.c:4235 sql_help.c:4237 sql_help.c:5015 msgid "option" msgstr "flaggor" -#: sql_help.c:115 sql_help.c:950 sql_help.c:1635 sql_help.c:2441 -#: sql_help.c:2668 sql_help.c:3234 sql_help.c:3396 +#: sql_help.c:115 sql_help.c:958 sql_help.c:1665 sql_help.c:2471 +#: sql_help.c:2696 sql_help.c:3263 sql_help.c:3425 msgid "where option can be:" msgstr "där flaggor kan vara:" -#: sql_help.c:116 sql_help.c:2217 +#: sql_help.c:116 sql_help.c:2247 msgid "allowconn" msgstr "tillåtansl" -#: sql_help.c:117 sql_help.c:951 sql_help.c:1636 sql_help.c:2218 -#: sql_help.c:2442 sql_help.c:2669 sql_help.c:3235 +#: sql_help.c:117 sql_help.c:959 sql_help.c:1666 sql_help.c:2248 +#: sql_help.c:2472 sql_help.c:2697 sql_help.c:3264 msgid "connlimit" msgstr "anslutningstak" -#: sql_help.c:118 sql_help.c:2219 +#: sql_help.c:118 sql_help.c:2249 msgid "istemplate" msgstr "ärmall" -#: sql_help.c:124 sql_help.c:611 sql_help.c:679 sql_help.c:693 sql_help.c:1322 -#: sql_help.c:1374 sql_help.c:4200 +#: sql_help.c:124 sql_help.c:613 sql_help.c:681 sql_help.c:695 sql_help.c:1337 +#: sql_help.c:1401 sql_help.c:4241 msgid "new_tablespace" msgstr "nytt_tabellutrymme" -#: sql_help.c:127 sql_help.c:130 sql_help.c:132 sql_help.c:548 sql_help.c:550 -#: sql_help.c:551 sql_help.c:875 sql_help.c:877 sql_help.c:878 sql_help.c:958 -#: sql_help.c:962 sql_help.c:965 sql_help.c:1027 sql_help.c:1029 -#: sql_help.c:1030 sql_help.c:1180 sql_help.c:1183 sql_help.c:1643 -#: sql_help.c:1647 sql_help.c:1650 sql_help.c:2406 sql_help.c:2609 -#: sql_help.c:3927 sql_help.c:4218 sql_help.c:4379 sql_help.c:4688 +#: sql_help.c:127 sql_help.c:130 sql_help.c:132 sql_help.c:550 sql_help.c:552 +#: sql_help.c:553 sql_help.c:883 sql_help.c:885 sql_help.c:886 sql_help.c:966 +#: sql_help.c:970 sql_help.c:973 sql_help.c:1035 sql_help.c:1037 +#: sql_help.c:1038 sql_help.c:1188 sql_help.c:1190 sql_help.c:1673 +#: sql_help.c:1677 sql_help.c:1680 sql_help.c:2436 sql_help.c:2639 +#: sql_help.c:3957 sql_help.c:4259 sql_help.c:4420 sql_help.c:4730 msgid "configuration_parameter" msgstr "konfigurationsparameter" -#: sql_help.c:128 sql_help.c:398 sql_help.c:469 sql_help.c:475 sql_help.c:487 -#: sql_help.c:549 sql_help.c:603 sql_help.c:685 sql_help.c:695 sql_help.c:876 -#: sql_help.c:904 sql_help.c:959 sql_help.c:1028 sql_help.c:1101 -#: sql_help.c:1146 sql_help.c:1150 sql_help.c:1154 sql_help.c:1157 -#: sql_help.c:1162 sql_help.c:1165 sql_help.c:1181 sql_help.c:1182 -#: sql_help.c:1353 sql_help.c:1376 sql_help.c:1424 sql_help.c:1449 -#: sql_help.c:1506 sql_help.c:1590 sql_help.c:1644 sql_help.c:1667 -#: sql_help.c:2286 sql_help.c:2336 sql_help.c:2343 sql_help.c:2352 -#: sql_help.c:2407 sql_help.c:2408 sql_help.c:2472 sql_help.c:2475 -#: sql_help.c:2509 sql_help.c:2610 sql_help.c:2611 sql_help.c:2634 -#: sql_help.c:2761 sql_help.c:2800 sql_help.c:2910 sql_help.c:2923 -#: sql_help.c:2937 sql_help.c:2978 sql_help.c:3005 sql_help.c:3022 -#: sql_help.c:3049 sql_help.c:3256 sql_help.c:3960 sql_help.c:4689 -#: sql_help.c:4690 sql_help.c:4691 sql_help.c:4692 +#: sql_help.c:128 sql_help.c:400 sql_help.c:471 sql_help.c:477 sql_help.c:489 +#: sql_help.c:551 sql_help.c:605 sql_help.c:687 sql_help.c:697 sql_help.c:884 +#: sql_help.c:912 sql_help.c:967 sql_help.c:1036 sql_help.c:1109 +#: sql_help.c:1154 sql_help.c:1158 sql_help.c:1162 sql_help.c:1165 +#: sql_help.c:1170 sql_help.c:1173 sql_help.c:1189 sql_help.c:1380 +#: sql_help.c:1403 sql_help.c:1451 sql_help.c:1459 sql_help.c:1479 +#: sql_help.c:1536 sql_help.c:1620 sql_help.c:1674 sql_help.c:1697 +#: sql_help.c:2316 sql_help.c:2366 sql_help.c:2373 sql_help.c:2382 +#: sql_help.c:2437 sql_help.c:2438 sql_help.c:2502 sql_help.c:2505 +#: sql_help.c:2539 sql_help.c:2640 sql_help.c:2641 sql_help.c:2664 +#: sql_help.c:2787 sql_help.c:2826 sql_help.c:2936 sql_help.c:2949 +#: sql_help.c:2963 sql_help.c:3004 sql_help.c:3012 sql_help.c:3034 +#: sql_help.c:3051 sql_help.c:3078 sql_help.c:3285 sql_help.c:3990 +#: sql_help.c:4731 sql_help.c:4732 sql_help.c:4733 sql_help.c:4734 msgid "value" msgstr "värde" -#: sql_help.c:200 +#: sql_help.c:202 msgid "target_role" msgstr "målroll" -#: sql_help.c:201 sql_help.c:913 sql_help.c:2270 sql_help.c:2639 -#: sql_help.c:2716 sql_help.c:2721 sql_help.c:3890 sql_help.c:3899 -#: sql_help.c:3918 sql_help.c:3930 sql_help.c:4342 sql_help.c:4351 -#: sql_help.c:4370 sql_help.c:4382 +#: sql_help.c:203 sql_help.c:921 sql_help.c:2300 sql_help.c:2669 +#: sql_help.c:2742 sql_help.c:2747 sql_help.c:3920 sql_help.c:3929 +#: sql_help.c:3948 sql_help.c:3960 sql_help.c:4383 sql_help.c:4392 +#: sql_help.c:4411 sql_help.c:4423 msgid "schema_name" msgstr "schemanamn" -#: sql_help.c:202 +#: sql_help.c:204 msgid "abbreviated_grant_or_revoke" msgstr "förkortad_grant_eller_revoke" -#: sql_help.c:203 +#: sql_help.c:205 msgid "where abbreviated_grant_or_revoke is one of:" msgstr "där förkortad_grant_eller_revok är en av:" -#: sql_help.c:204 sql_help.c:205 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:574 sql_help.c:610 sql_help.c:678 sql_help.c:822 sql_help.c:969 -#: sql_help.c:1321 sql_help.c:1654 sql_help.c:2445 sql_help.c:2446 -#: sql_help.c:2447 sql_help.c:2448 sql_help.c:2449 sql_help.c:2583 -#: sql_help.c:2672 sql_help.c:2673 sql_help.c:2674 sql_help.c:2675 -#: sql_help.c:2676 sql_help.c:3238 sql_help.c:3239 sql_help.c:3240 -#: sql_help.c:3241 sql_help.c:3242 sql_help.c:3939 sql_help.c:3943 -#: sql_help.c:4391 sql_help.c:4395 sql_help.c:4710 +#: 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:576 sql_help.c:612 sql_help.c:680 sql_help.c:830 sql_help.c:977 +#: sql_help.c:1336 sql_help.c:1684 sql_help.c:2475 sql_help.c:2476 +#: sql_help.c:2477 sql_help.c:2478 sql_help.c:2479 sql_help.c:2613 +#: sql_help.c:2700 sql_help.c:2701 sql_help.c:2702 sql_help.c:3267 +#: sql_help.c:3268 sql_help.c:3269 sql_help.c:3270 sql_help.c:3271 +#: sql_help.c:3969 sql_help.c:3973 sql_help.c:4432 sql_help.c:4436 +#: sql_help.c:4752 msgid "role_name" msgstr "rollnamn" -#: sql_help.c:239 sql_help.c:462 sql_help.c:912 sql_help.c:1337 sql_help.c:1339 -#: sql_help.c:1391 sql_help.c:1403 sql_help.c:1428 sql_help.c:1684 -#: sql_help.c:2239 sql_help.c:2243 sql_help.c:2355 sql_help.c:2360 -#: sql_help.c:2468 sql_help.c:2638 sql_help.c:2777 sql_help.c:2782 -#: sql_help.c:2784 sql_help.c:2905 sql_help.c:2918 sql_help.c:2932 -#: sql_help.c:2941 sql_help.c:2953 sql_help.c:2982 sql_help.c:3991 -#: sql_help.c:4006 sql_help.c:4008 sql_help.c:4095 sql_help.c:4098 -#: sql_help.c:4100 sql_help.c:4561 sql_help.c:4562 sql_help.c:4571 -#: sql_help.c:4618 sql_help.c:4619 sql_help.c:4620 sql_help.c:4621 -#: sql_help.c:4622 sql_help.c:4623 sql_help.c:4663 sql_help.c:4664 -#: sql_help.c:4669 sql_help.c:4674 sql_help.c:4818 sql_help.c:4819 -#: sql_help.c:4828 sql_help.c:4875 sql_help.c:4876 sql_help.c:4877 -#: sql_help.c:4878 sql_help.c:4879 sql_help.c:4880 sql_help.c:4934 -#: sql_help.c:4936 sql_help.c:5004 sql_help.c:5064 sql_help.c:5065 -#: sql_help.c:5074 sql_help.c:5121 sql_help.c:5122 sql_help.c:5123 -#: sql_help.c:5124 sql_help.c:5125 sql_help.c:5126 +#: sql_help.c:241 sql_help.c:464 sql_help.c:920 sql_help.c:1362 sql_help.c:1364 +#: sql_help.c:1368 sql_help.c:1418 sql_help.c:1430 sql_help.c:1455 +#: sql_help.c:1714 sql_help.c:2269 sql_help.c:2273 sql_help.c:2385 +#: sql_help.c:2390 sql_help.c:2498 sql_help.c:2668 sql_help.c:2803 +#: sql_help.c:2808 sql_help.c:2810 sql_help.c:2931 sql_help.c:2944 +#: sql_help.c:2958 sql_help.c:2967 sql_help.c:2979 sql_help.c:3008 +#: sql_help.c:4021 sql_help.c:4036 sql_help.c:4038 sql_help.c:4134 +#: sql_help.c:4137 sql_help.c:4139 sql_help.c:4602 sql_help.c:4603 +#: sql_help.c:4612 sql_help.c:4659 sql_help.c:4660 sql_help.c:4661 +#: sql_help.c:4662 sql_help.c:4663 sql_help.c:4664 sql_help.c:4705 +#: sql_help.c:4706 sql_help.c:4711 sql_help.c:4716 sql_help.c:4860 +#: sql_help.c:4861 sql_help.c:4870 sql_help.c:4917 sql_help.c:4918 +#: sql_help.c:4919 sql_help.c:4920 sql_help.c:4921 sql_help.c:4922 +#: sql_help.c:4977 sql_help.c:4979 sql_help.c:5045 sql_help.c:5105 +#: sql_help.c:5106 sql_help.c:5115 sql_help.c:5162 sql_help.c:5163 +#: sql_help.c:5164 sql_help.c:5165 sql_help.c:5166 sql_help.c:5167 msgid "expression" msgstr "uttryck" -#: sql_help.c:242 +#: sql_help.c:244 sql_help.c:2270 msgid "domain_constraint" msgstr "domain_villkor" -#: sql_help.c:244 sql_help.c:246 sql_help.c:249 sql_help.c:477 sql_help.c:478 -#: sql_help.c:1314 sql_help.c:1361 sql_help.c:1362 sql_help.c:1363 -#: sql_help.c:1390 sql_help.c:1402 sql_help.c:1419 sql_help.c:1854 -#: sql_help.c:1856 sql_help.c:2242 sql_help.c:2354 sql_help.c:2359 -#: sql_help.c:2940 sql_help.c:2952 sql_help.c:4003 +#: sql_help.c:246 sql_help.c:248 sql_help.c:251 sql_help.c:479 sql_help.c:480 +#: sql_help.c:1329 sql_help.c:1388 sql_help.c:1389 sql_help.c:1390 +#: sql_help.c:1417 sql_help.c:1429 sql_help.c:1446 sql_help.c:1878 +#: sql_help.c:1880 sql_help.c:2272 sql_help.c:2384 sql_help.c:2389 +#: sql_help.c:2966 sql_help.c:2978 sql_help.c:4033 msgid "constraint_name" msgstr "villkorsnamn" -#: sql_help.c:247 sql_help.c:1315 +#: sql_help.c:249 sql_help.c:1330 msgid "new_constraint_name" msgstr "nyy_villkorsnamn" -#: sql_help.c:320 sql_help.c:1099 +#: sql_help.c:322 sql_help.c:1107 msgid "new_version" msgstr "ny_version" -#: sql_help.c:324 sql_help.c:326 +#: sql_help.c:326 sql_help.c:328 msgid "member_object" msgstr "medlemsobjekt" -#: sql_help.c:327 +#: sql_help.c:329 msgid "where member_object is:" msgstr "där medlemsobjekt är:" -#: sql_help.c:328 sql_help.c:333 sql_help.c:334 sql_help.c:335 sql_help.c:336 -#: sql_help.c:337 sql_help.c:338 sql_help.c:343 sql_help.c:347 sql_help.c:349 -#: sql_help.c:351 sql_help.c:360 sql_help.c:361 sql_help.c:362 sql_help.c:363 -#: sql_help.c:364 sql_help.c:365 sql_help.c:366 sql_help.c:367 sql_help.c:370 -#: sql_help.c:371 sql_help.c:1846 sql_help.c:1851 sql_help.c:1858 -#: sql_help.c:1859 sql_help.c:1860 sql_help.c:1861 sql_help.c:1862 -#: sql_help.c:1863 sql_help.c:1864 sql_help.c:1869 sql_help.c:1871 -#: sql_help.c:1875 sql_help.c:1877 sql_help.c:1881 sql_help.c:1886 -#: sql_help.c:1887 sql_help.c:1894 sql_help.c:1895 sql_help.c:1896 -#: sql_help.c:1897 sql_help.c:1898 sql_help.c:1899 sql_help.c:1900 -#: sql_help.c:1901 sql_help.c:1902 sql_help.c:1903 sql_help.c:1904 -#: sql_help.c:1909 sql_help.c:1910 sql_help.c:4464 sql_help.c:4469 -#: sql_help.c:4470 sql_help.c:4471 sql_help.c:4472 sql_help.c:4478 -#: sql_help.c:4479 sql_help.c:4484 sql_help.c:4485 sql_help.c:4490 -#: sql_help.c:4491 sql_help.c:4492 sql_help.c:4493 sql_help.c:4494 -#: sql_help.c:4495 +#: sql_help.c:330 sql_help.c:335 sql_help.c:336 sql_help.c:337 sql_help.c:338 +#: sql_help.c:339 sql_help.c:340 sql_help.c:345 sql_help.c:349 sql_help.c:351 +#: sql_help.c:353 sql_help.c:362 sql_help.c:363 sql_help.c:364 sql_help.c:365 +#: sql_help.c:366 sql_help.c:367 sql_help.c:368 sql_help.c:369 sql_help.c:372 +#: sql_help.c:373 sql_help.c:1870 sql_help.c:1875 sql_help.c:1882 +#: sql_help.c:1883 sql_help.c:1884 sql_help.c:1885 sql_help.c:1886 +#: sql_help.c:1887 sql_help.c:1888 sql_help.c:1893 sql_help.c:1895 +#: sql_help.c:1899 sql_help.c:1901 sql_help.c:1905 sql_help.c:1910 +#: sql_help.c:1911 sql_help.c:1918 sql_help.c:1919 sql_help.c:1920 +#: sql_help.c:1921 sql_help.c:1922 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:1933 sql_help.c:1934 sql_help.c:4505 sql_help.c:4510 +#: sql_help.c:4511 sql_help.c:4512 sql_help.c:4513 sql_help.c:4519 +#: sql_help.c:4520 sql_help.c:4525 sql_help.c:4526 sql_help.c:4531 +#: sql_help.c:4532 sql_help.c:4533 sql_help.c:4534 sql_help.c:4535 +#: sql_help.c:4536 msgid "object_name" msgstr "objektnamn" -#: sql_help.c:329 sql_help.c:1847 sql_help.c:4467 +#: sql_help.c:331 sql_help.c:1871 sql_help.c:4508 msgid "aggregate_name" msgstr "aggregatnamn" -#: sql_help.c:331 sql_help.c:1849 sql_help.c:2135 sql_help.c:2139 -#: sql_help.c:2141 sql_help.c:3365 +#: sql_help.c:333 sql_help.c:1873 sql_help.c:2163 sql_help.c:2167 +#: sql_help.c:2169 sql_help.c:3394 msgid "source_type" msgstr "källtyp" -#: sql_help.c:332 sql_help.c:1850 sql_help.c:2136 sql_help.c:2140 -#: sql_help.c:2142 sql_help.c:3366 +#: sql_help.c:334 sql_help.c:1874 sql_help.c:2164 sql_help.c:2168 +#: sql_help.c:2170 sql_help.c:3395 msgid "target_type" msgstr "måltyp" -#: sql_help.c:339 sql_help.c:786 sql_help.c:1865 sql_help.c:2137 -#: sql_help.c:2180 sql_help.c:2258 sql_help.c:2526 sql_help.c:2557 -#: sql_help.c:3125 sql_help.c:4366 sql_help.c:4473 sql_help.c:4590 -#: sql_help.c:4594 sql_help.c:4598 sql_help.c:4601 sql_help.c:4847 -#: sql_help.c:4851 sql_help.c:4855 sql_help.c:4858 sql_help.c:5093 -#: sql_help.c:5097 sql_help.c:5101 sql_help.c:5104 +#: sql_help.c:341 sql_help.c:794 sql_help.c:1889 sql_help.c:2165 +#: sql_help.c:2208 sql_help.c:2288 sql_help.c:2556 sql_help.c:2587 +#: sql_help.c:3154 sql_help.c:4407 sql_help.c:4514 sql_help.c:4631 +#: sql_help.c:4635 sql_help.c:4639 sql_help.c:4642 sql_help.c:4889 +#: sql_help.c:4893 sql_help.c:4897 sql_help.c:4900 sql_help.c:5134 +#: sql_help.c:5138 sql_help.c:5142 sql_help.c:5145 msgid "function_name" msgstr "funktionsnamn" -#: sql_help.c:344 sql_help.c:779 sql_help.c:1872 sql_help.c:2550 +#: sql_help.c:346 sql_help.c:787 sql_help.c:1896 sql_help.c:2580 msgid "operator_name" msgstr "operatornamn" -#: sql_help.c:345 sql_help.c:715 sql_help.c:719 sql_help.c:723 sql_help.c:1873 -#: sql_help.c:2527 sql_help.c:3489 +#: sql_help.c:347 sql_help.c:721 sql_help.c:725 sql_help.c:729 sql_help.c:1897 +#: sql_help.c:2557 sql_help.c:3518 msgid "left_type" msgstr "vänster_typ" -#: sql_help.c:346 sql_help.c:716 sql_help.c:720 sql_help.c:724 sql_help.c:1874 -#: sql_help.c:2528 sql_help.c:3490 +#: sql_help.c:348 sql_help.c:722 sql_help.c:726 sql_help.c:730 sql_help.c:1898 +#: sql_help.c:2558 sql_help.c:3519 msgid "right_type" msgstr "höger_typ" -#: sql_help.c:348 sql_help.c:350 sql_help.c:742 sql_help.c:745 sql_help.c:748 -#: sql_help.c:777 sql_help.c:789 sql_help.c:797 sql_help.c:800 sql_help.c:803 -#: sql_help.c:1408 sql_help.c:1876 sql_help.c:1878 sql_help.c:2547 -#: sql_help.c:2568 sql_help.c:2958 sql_help.c:3499 sql_help.c:3508 +#: sql_help.c:350 sql_help.c:352 sql_help.c:750 sql_help.c:753 sql_help.c:756 +#: sql_help.c:785 sql_help.c:797 sql_help.c:805 sql_help.c:808 sql_help.c:811 +#: sql_help.c:1435 sql_help.c:1900 sql_help.c:1902 sql_help.c:2577 +#: sql_help.c:2598 sql_help.c:2984 sql_help.c:3528 sql_help.c:3537 msgid "index_method" msgstr "indexmetod" -#: sql_help.c:352 sql_help.c:1882 sql_help.c:4480 +#: sql_help.c:354 sql_help.c:1906 sql_help.c:4521 msgid "procedure_name" msgstr "procedurnamn" -#: sql_help.c:356 sql_help.c:1888 sql_help.c:3914 sql_help.c:4486 +#: sql_help.c:358 sql_help.c:1912 sql_help.c:3944 sql_help.c:4527 msgid "routine_name" msgstr "rutinnamn" -#: sql_help.c:368 sql_help.c:1380 sql_help.c:1905 sql_help.c:2402 -#: sql_help.c:2608 sql_help.c:2913 sql_help.c:3092 sql_help.c:3670 -#: sql_help.c:3936 sql_help.c:4388 +#: sql_help.c:370 sql_help.c:1407 sql_help.c:1929 sql_help.c:2432 +#: sql_help.c:2638 sql_help.c:2939 sql_help.c:3121 sql_help.c:3699 +#: sql_help.c:3966 sql_help.c:4429 msgid "type_name" msgstr "typnamn" -#: sql_help.c:369 sql_help.c:1906 sql_help.c:2401 sql_help.c:2607 -#: sql_help.c:3093 sql_help.c:3323 sql_help.c:3671 sql_help.c:3921 -#: sql_help.c:4373 +#: sql_help.c:371 sql_help.c:1930 sql_help.c:2431 sql_help.c:2637 +#: sql_help.c:3122 sql_help.c:3352 sql_help.c:3700 sql_help.c:3951 +#: sql_help.c:4414 msgid "lang_name" msgstr "språknamn" -#: sql_help.c:372 +#: sql_help.c:374 msgid "and aggregate_signature is:" msgstr "och aggregatsignatur är:" -#: sql_help.c:395 sql_help.c:2002 sql_help.c:2283 +#: sql_help.c:397 sql_help.c:2030 sql_help.c:2313 msgid "handler_function" msgstr "hanterarfunktion" -#: sql_help.c:396 sql_help.c:2284 +#: sql_help.c:398 sql_help.c:2314 msgid "validator_function" msgstr "valideringsfunktion" -#: sql_help.c:444 sql_help.c:523 sql_help.c:667 sql_help.c:853 sql_help.c:1003 -#: sql_help.c:1309 sql_help.c:1581 +#: sql_help.c:446 sql_help.c:525 sql_help.c:669 sql_help.c:861 sql_help.c:1011 +#: sql_help.c:1324 sql_help.c:1611 msgid "action" msgstr "aktion" -#: sql_help.c:446 sql_help.c:453 sql_help.c:457 sql_help.c:458 sql_help.c:461 -#: sql_help.c:463 sql_help.c:464 sql_help.c:465 sql_help.c:467 sql_help.c:470 -#: sql_help.c:472 sql_help.c:473 sql_help.c:671 sql_help.c:681 sql_help.c:683 -#: sql_help.c:686 sql_help.c:688 sql_help.c:689 sql_help.c:911 sql_help.c:1080 -#: sql_help.c:1311 sql_help.c:1329 sql_help.c:1333 sql_help.c:1334 -#: sql_help.c:1338 sql_help.c:1340 sql_help.c:1341 sql_help.c:1342 -#: sql_help.c:1343 sql_help.c:1345 sql_help.c:1348 sql_help.c:1349 -#: sql_help.c:1351 sql_help.c:1354 sql_help.c:1356 sql_help.c:1357 -#: sql_help.c:1404 sql_help.c:1406 sql_help.c:1413 sql_help.c:1422 -#: sql_help.c:1427 sql_help.c:1431 sql_help.c:1432 sql_help.c:1683 -#: sql_help.c:1686 sql_help.c:1690 sql_help.c:1728 sql_help.c:1853 -#: sql_help.c:1967 sql_help.c:1973 sql_help.c:1987 sql_help.c:1988 -#: sql_help.c:1989 sql_help.c:2333 sql_help.c:2346 sql_help.c:2399 -#: sql_help.c:2467 sql_help.c:2473 sql_help.c:2506 sql_help.c:2637 -#: sql_help.c:2746 sql_help.c:2781 sql_help.c:2783 sql_help.c:2895 -#: sql_help.c:2904 sql_help.c:2914 sql_help.c:2917 sql_help.c:2927 -#: sql_help.c:2931 sql_help.c:2954 sql_help.c:2956 sql_help.c:2963 -#: sql_help.c:2976 sql_help.c:2981 sql_help.c:2985 sql_help.c:2986 -#: sql_help.c:3002 sql_help.c:3128 sql_help.c:3268 sql_help.c:3893 -#: sql_help.c:3894 sql_help.c:3990 sql_help.c:4005 sql_help.c:4007 -#: sql_help.c:4009 sql_help.c:4094 sql_help.c:4097 sql_help.c:4099 -#: sql_help.c:4345 sql_help.c:4346 sql_help.c:4466 sql_help.c:4627 -#: sql_help.c:4633 sql_help.c:4635 sql_help.c:4884 sql_help.c:4890 -#: sql_help.c:4892 sql_help.c:4933 sql_help.c:4935 sql_help.c:4937 -#: sql_help.c:4992 sql_help.c:5130 sql_help.c:5136 sql_help.c:5138 +#: sql_help.c:448 sql_help.c:455 sql_help.c:459 sql_help.c:460 sql_help.c:463 +#: sql_help.c:465 sql_help.c:466 sql_help.c:467 sql_help.c:469 sql_help.c:472 +#: sql_help.c:474 sql_help.c:475 sql_help.c:673 sql_help.c:683 sql_help.c:685 +#: sql_help.c:688 sql_help.c:690 sql_help.c:691 sql_help.c:919 sql_help.c:1088 +#: sql_help.c:1326 sql_help.c:1354 sql_help.c:1358 sql_help.c:1359 +#: sql_help.c:1363 sql_help.c:1365 sql_help.c:1366 sql_help.c:1367 +#: sql_help.c:1369 sql_help.c:1370 sql_help.c:1372 sql_help.c:1375 +#: sql_help.c:1376 sql_help.c:1378 sql_help.c:1381 sql_help.c:1383 +#: sql_help.c:1384 sql_help.c:1431 sql_help.c:1433 sql_help.c:1440 +#: sql_help.c:1449 sql_help.c:1454 sql_help.c:1461 sql_help.c:1462 +#: sql_help.c:1713 sql_help.c:1716 sql_help.c:1720 sql_help.c:1756 +#: sql_help.c:1877 sql_help.c:1993 sql_help.c:1999 sql_help.c:2013 +#: sql_help.c:2014 sql_help.c:2015 sql_help.c:2363 sql_help.c:2376 +#: sql_help.c:2429 sql_help.c:2497 sql_help.c:2503 sql_help.c:2536 +#: sql_help.c:2667 sql_help.c:2772 sql_help.c:2807 sql_help.c:2809 +#: sql_help.c:2921 sql_help.c:2930 sql_help.c:2940 sql_help.c:2943 +#: sql_help.c:2953 sql_help.c:2957 sql_help.c:2980 sql_help.c:2982 +#: sql_help.c:2989 sql_help.c:3002 sql_help.c:3007 sql_help.c:3014 +#: sql_help.c:3015 sql_help.c:3031 sql_help.c:3157 sql_help.c:3297 +#: sql_help.c:3923 sql_help.c:3924 sql_help.c:4020 sql_help.c:4035 +#: sql_help.c:4037 sql_help.c:4039 sql_help.c:4133 sql_help.c:4136 +#: sql_help.c:4138 sql_help.c:4140 sql_help.c:4386 sql_help.c:4387 +#: sql_help.c:4507 sql_help.c:4668 sql_help.c:4675 sql_help.c:4677 +#: sql_help.c:4926 sql_help.c:4933 sql_help.c:4935 sql_help.c:4976 +#: sql_help.c:4978 sql_help.c:4980 sql_help.c:5033 sql_help.c:5171 +#: sql_help.c:5178 sql_help.c:5180 msgid "column_name" msgstr "kolumnnamn" -#: sql_help.c:447 sql_help.c:672 sql_help.c:1312 sql_help.c:1691 +#: sql_help.c:449 sql_help.c:674 sql_help.c:1327 sql_help.c:1721 msgid "new_column_name" msgstr "nytt_kolumnnamn" -#: sql_help.c:452 sql_help.c:544 sql_help.c:680 sql_help.c:874 sql_help.c:1024 -#: sql_help.c:1328 sql_help.c:1591 +#: sql_help.c:454 sql_help.c:546 sql_help.c:682 sql_help.c:882 sql_help.c:1032 +#: sql_help.c:1353 sql_help.c:1621 msgid "where action is one of:" msgstr "där aktion är en av:" -#: sql_help.c:454 sql_help.c:459 sql_help.c:1072 sql_help.c:1330 -#: sql_help.c:1335 sql_help.c:1593 sql_help.c:1597 sql_help.c:2237 -#: sql_help.c:2334 sql_help.c:2546 sql_help.c:2739 sql_help.c:2896 -#: sql_help.c:3175 sql_help.c:4151 +#: sql_help.c:456 sql_help.c:461 sql_help.c:1080 sql_help.c:1355 +#: sql_help.c:1360 sql_help.c:1623 sql_help.c:1627 sql_help.c:2267 +#: sql_help.c:2364 sql_help.c:2576 sql_help.c:2765 sql_help.c:2922 +#: sql_help.c:3204 sql_help.c:4192 msgid "data_type" msgstr "datatyp" -#: sql_help.c:455 sql_help.c:460 sql_help.c:1331 sql_help.c:1336 -#: sql_help.c:1594 sql_help.c:1598 sql_help.c:2238 sql_help.c:2337 -#: sql_help.c:2469 sql_help.c:2898 sql_help.c:2906 sql_help.c:2919 -#: sql_help.c:2933 sql_help.c:3176 sql_help.c:3182 sql_help.c:4000 +#: sql_help.c:457 sql_help.c:462 sql_help.c:1356 sql_help.c:1361 +#: sql_help.c:1456 sql_help.c:1624 sql_help.c:1628 sql_help.c:2268 +#: sql_help.c:2367 sql_help.c:2499 sql_help.c:2924 sql_help.c:2932 +#: sql_help.c:2945 sql_help.c:2959 sql_help.c:3009 sql_help.c:3205 +#: sql_help.c:3211 sql_help.c:4030 msgid "collation" msgstr "jämförelse" -#: sql_help.c:456 sql_help.c:1332 sql_help.c:2338 sql_help.c:2347 -#: sql_help.c:2899 sql_help.c:2915 sql_help.c:2928 +#: sql_help.c:458 sql_help.c:1357 sql_help.c:2368 sql_help.c:2377 +#: sql_help.c:2925 sql_help.c:2941 sql_help.c:2954 msgid "column_constraint" msgstr "kolumnvillkor" -#: sql_help.c:466 sql_help.c:608 sql_help.c:682 sql_help.c:1350 sql_help.c:4986 +#: sql_help.c:468 sql_help.c:610 sql_help.c:684 sql_help.c:1377 sql_help.c:5027 msgid "integer" msgstr "heltal" -#: sql_help.c:468 sql_help.c:471 sql_help.c:684 sql_help.c:687 sql_help.c:1352 -#: sql_help.c:1355 +#: sql_help.c:470 sql_help.c:473 sql_help.c:686 sql_help.c:689 sql_help.c:1379 +#: sql_help.c:1382 msgid "attribute_option" msgstr "attributalternativ" -#: sql_help.c:476 sql_help.c:1359 sql_help.c:2339 sql_help.c:2348 -#: sql_help.c:2900 sql_help.c:2916 sql_help.c:2929 +#: sql_help.c:478 sql_help.c:1386 sql_help.c:2369 sql_help.c:2378 +#: sql_help.c:2926 sql_help.c:2942 sql_help.c:2955 msgid "table_constraint" msgstr "tabellvillkor" -#: sql_help.c:479 sql_help.c:480 sql_help.c:481 sql_help.c:482 sql_help.c:1364 -#: sql_help.c:1365 sql_help.c:1366 sql_help.c:1367 sql_help.c:1907 +#: sql_help.c:481 sql_help.c:482 sql_help.c:483 sql_help.c:484 sql_help.c:1391 +#: sql_help.c:1392 sql_help.c:1393 sql_help.c:1394 sql_help.c:1931 msgid "trigger_name" msgstr "triggernamn" -#: sql_help.c:483 sql_help.c:484 sql_help.c:1378 sql_help.c:1379 -#: sql_help.c:2340 sql_help.c:2345 sql_help.c:2903 sql_help.c:2926 +#: sql_help.c:485 sql_help.c:486 sql_help.c:1405 sql_help.c:1406 +#: sql_help.c:2370 sql_help.c:2375 sql_help.c:2929 sql_help.c:2952 msgid "parent_table" msgstr "föräldertabell" -#: sql_help.c:543 sql_help.c:600 sql_help.c:669 sql_help.c:873 sql_help.c:1023 -#: sql_help.c:1550 sql_help.c:2269 +#: sql_help.c:545 sql_help.c:602 sql_help.c:671 sql_help.c:881 sql_help.c:1031 +#: sql_help.c:1580 sql_help.c:2299 msgid "extension_name" msgstr "utökningsnamn" -#: sql_help.c:545 sql_help.c:1025 sql_help.c:2403 +#: sql_help.c:547 sql_help.c:1033 sql_help.c:2433 msgid "execution_cost" msgstr "körkostnad" -#: sql_help.c:546 sql_help.c:1026 sql_help.c:2404 +#: sql_help.c:548 sql_help.c:1034 sql_help.c:2434 msgid "result_rows" msgstr "resultatrader" -#: sql_help.c:547 sql_help.c:2405 +#: sql_help.c:549 sql_help.c:2435 msgid "support_function" msgstr "supportfunktion" -#: sql_help.c:569 sql_help.c:571 sql_help.c:948 sql_help.c:956 sql_help.c:960 -#: sql_help.c:963 sql_help.c:966 sql_help.c:1633 sql_help.c:1641 -#: sql_help.c:1645 sql_help.c:1648 sql_help.c:1651 sql_help.c:2717 -#: sql_help.c:2719 sql_help.c:2722 sql_help.c:2723 sql_help.c:3891 -#: sql_help.c:3892 sql_help.c:3896 sql_help.c:3897 sql_help.c:3900 -#: sql_help.c:3901 sql_help.c:3903 sql_help.c:3904 sql_help.c:3906 -#: sql_help.c:3907 sql_help.c:3909 sql_help.c:3910 sql_help.c:3912 -#: sql_help.c:3913 sql_help.c:3919 sql_help.c:3920 sql_help.c:3922 -#: sql_help.c:3923 sql_help.c:3925 sql_help.c:3926 sql_help.c:3928 -#: sql_help.c:3929 sql_help.c:3931 sql_help.c:3932 sql_help.c:3934 -#: sql_help.c:3935 sql_help.c:3937 sql_help.c:3938 sql_help.c:3940 -#: sql_help.c:3941 sql_help.c:4343 sql_help.c:4344 sql_help.c:4348 -#: sql_help.c:4349 sql_help.c:4352 sql_help.c:4353 sql_help.c:4355 -#: sql_help.c:4356 sql_help.c:4358 sql_help.c:4359 sql_help.c:4361 -#: sql_help.c:4362 sql_help.c:4364 sql_help.c:4365 sql_help.c:4371 -#: sql_help.c:4372 sql_help.c:4374 sql_help.c:4375 sql_help.c:4377 -#: sql_help.c:4378 sql_help.c:4380 sql_help.c:4381 sql_help.c:4383 -#: sql_help.c:4384 sql_help.c:4386 sql_help.c:4387 sql_help.c:4389 -#: sql_help.c:4390 sql_help.c:4392 sql_help.c:4393 +#: sql_help.c:571 sql_help.c:573 sql_help.c:956 sql_help.c:964 sql_help.c:968 +#: sql_help.c:971 sql_help.c:974 sql_help.c:1663 sql_help.c:1671 +#: sql_help.c:1675 sql_help.c:1678 sql_help.c:1681 sql_help.c:2743 +#: sql_help.c:2745 sql_help.c:2748 sql_help.c:2749 sql_help.c:3921 +#: sql_help.c:3922 sql_help.c:3926 sql_help.c:3927 sql_help.c:3930 +#: sql_help.c:3931 sql_help.c:3933 sql_help.c:3934 sql_help.c:3936 +#: sql_help.c:3937 sql_help.c:3939 sql_help.c:3940 sql_help.c:3942 +#: sql_help.c:3943 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:3964 +#: sql_help.c:3965 sql_help.c:3967 sql_help.c:3968 sql_help.c:3970 +#: sql_help.c:3971 sql_help.c:4384 sql_help.c:4385 sql_help.c:4389 +#: sql_help.c:4390 sql_help.c:4393 sql_help.c:4394 sql_help.c:4396 +#: sql_help.c:4397 sql_help.c:4399 sql_help.c:4400 sql_help.c:4402 +#: sql_help.c:4403 sql_help.c:4405 sql_help.c:4406 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:4427 sql_help.c:4428 sql_help.c:4430 +#: sql_help.c:4431 sql_help.c:4433 sql_help.c:4434 msgid "role_specification" msgstr "rollspecifikation" -#: sql_help.c:570 sql_help.c:572 sql_help.c:1664 sql_help.c:2205 -#: sql_help.c:2725 sql_help.c:3253 sql_help.c:3704 sql_help.c:4720 +#: sql_help.c:572 sql_help.c:574 sql_help.c:1694 sql_help.c:2234 +#: sql_help.c:2751 sql_help.c:3282 sql_help.c:3733 sql_help.c:4762 msgid "user_name" msgstr "användarnamn" -#: sql_help.c:573 sql_help.c:968 sql_help.c:1653 sql_help.c:2724 -#: sql_help.c:3942 sql_help.c:4394 +#: sql_help.c:575 sql_help.c:976 sql_help.c:1683 sql_help.c:2750 +#: sql_help.c:3972 sql_help.c:4435 msgid "where role_specification can be:" msgstr "där rollspecifikation kan vara:" -#: sql_help.c:575 +#: sql_help.c:577 msgid "group_name" msgstr "gruppnamn" -#: sql_help.c:596 sql_help.c:1425 sql_help.c:2216 sql_help.c:2476 -#: sql_help.c:2510 sql_help.c:2911 sql_help.c:2924 sql_help.c:2938 -#: sql_help.c:2979 sql_help.c:3006 sql_help.c:3018 sql_help.c:3933 -#: sql_help.c:4385 +#: sql_help.c:598 sql_help.c:1452 sql_help.c:2246 sql_help.c:2506 +#: sql_help.c:2540 sql_help.c:2937 sql_help.c:2950 sql_help.c:2964 +#: sql_help.c:3005 sql_help.c:3035 sql_help.c:3047 sql_help.c:3963 +#: sql_help.c:4426 msgid "tablespace_name" msgstr "tabellutrymmesnamn" -#: sql_help.c:598 sql_help.c:691 sql_help.c:1372 sql_help.c:1382 -#: sql_help.c:1420 sql_help.c:1782 sql_help.c:1785 +#: sql_help.c:600 sql_help.c:693 sql_help.c:1399 sql_help.c:1409 +#: sql_help.c:1447 sql_help.c:1809 msgid "index_name" msgstr "indexnamn" -#: sql_help.c:602 sql_help.c:605 sql_help.c:694 sql_help.c:696 sql_help.c:1375 -#: sql_help.c:1377 sql_help.c:1423 sql_help.c:2474 sql_help.c:2508 -#: sql_help.c:2909 sql_help.c:2922 sql_help.c:2936 sql_help.c:2977 -#: sql_help.c:3004 +#: sql_help.c:604 sql_help.c:607 sql_help.c:696 sql_help.c:698 sql_help.c:1402 +#: sql_help.c:1404 sql_help.c:1450 sql_help.c:2504 sql_help.c:2538 +#: sql_help.c:2935 sql_help.c:2948 sql_help.c:2962 sql_help.c:3003 +#: sql_help.c:3033 msgid "storage_parameter" msgstr "lagringsparameter" -#: sql_help.c:607 +#: sql_help.c:609 msgid "column_number" msgstr "kolumnnummer" -#: sql_help.c:631 sql_help.c:1870 sql_help.c:4477 +#: sql_help.c:633 sql_help.c:1894 sql_help.c:4518 msgid "large_object_oid" msgstr "stort_objekt_oid" -#: sql_help.c:690 sql_help.c:1358 sql_help.c:2897 +#: sql_help.c:692 sql_help.c:1385 sql_help.c:2923 msgid "compression_method" msgstr "komprimeringsmetod" -#: sql_help.c:692 sql_help.c:1373 +#: sql_help.c:694 sql_help.c:1400 msgid "new_access_method" msgstr "ny_accessmetod" -#: sql_help.c:725 sql_help.c:2531 +#: sql_help.c:731 sql_help.c:2561 msgid "res_proc" msgstr "res_proc" -#: sql_help.c:726 sql_help.c:2532 +#: sql_help.c:732 sql_help.c:2562 msgid "join_proc" msgstr "join_proc" -#: sql_help.c:778 sql_help.c:790 sql_help.c:2549 +#: sql_help.c:733 sql_help.c:2559 +msgid "com_op" +msgstr "com_op" + +#: sql_help.c:734 sql_help.c:2560 +msgid "neg_op" +msgstr "neg_op" + +#: sql_help.c:786 sql_help.c:798 sql_help.c:2579 msgid "strategy_number" msgstr "strateginummer" -#: sql_help.c:780 sql_help.c:781 sql_help.c:784 sql_help.c:785 sql_help.c:791 -#: sql_help.c:792 sql_help.c:794 sql_help.c:795 sql_help.c:2551 sql_help.c:2552 -#: sql_help.c:2555 sql_help.c:2556 +#: sql_help.c:788 sql_help.c:789 sql_help.c:792 sql_help.c:793 sql_help.c:799 +#: sql_help.c:800 sql_help.c:802 sql_help.c:803 sql_help.c:2581 sql_help.c:2582 +#: sql_help.c:2585 sql_help.c:2586 msgid "op_type" msgstr "op_typ" -#: sql_help.c:782 sql_help.c:2553 +#: sql_help.c:790 sql_help.c:2583 msgid "sort_family_name" msgstr "sorteringsfamiljnamn" -#: sql_help.c:783 sql_help.c:793 sql_help.c:2554 +#: sql_help.c:791 sql_help.c:801 sql_help.c:2584 msgid "support_number" msgstr "supportnummer" -#: sql_help.c:787 sql_help.c:2138 sql_help.c:2558 sql_help.c:3095 -#: sql_help.c:3097 +#: sql_help.c:795 sql_help.c:2166 sql_help.c:2588 sql_help.c:3124 +#: sql_help.c:3126 msgid "argument_type" msgstr "argumenttyp" -#: sql_help.c:818 sql_help.c:821 sql_help.c:910 sql_help.c:1039 sql_help.c:1079 -#: sql_help.c:1546 sql_help.c:1549 sql_help.c:1727 sql_help.c:1781 -#: sql_help.c:1784 sql_help.c:1855 sql_help.c:1880 sql_help.c:1893 -#: sql_help.c:1908 sql_help.c:1966 sql_help.c:1972 sql_help.c:2332 -#: sql_help.c:2344 sql_help.c:2465 sql_help.c:2505 sql_help.c:2582 -#: sql_help.c:2636 sql_help.c:2693 sql_help.c:2745 sql_help.c:2778 -#: sql_help.c:2785 sql_help.c:2894 sql_help.c:2912 sql_help.c:2925 -#: sql_help.c:3001 sql_help.c:3121 sql_help.c:3302 sql_help.c:3525 -#: sql_help.c:3574 sql_help.c:3680 sql_help.c:3889 sql_help.c:3895 -#: sql_help.c:3956 sql_help.c:3988 sql_help.c:4341 sql_help.c:4347 -#: sql_help.c:4465 sql_help.c:4576 sql_help.c:4578 sql_help.c:4640 -#: sql_help.c:4679 sql_help.c:4833 sql_help.c:4835 sql_help.c:4897 -#: sql_help.c:4931 sql_help.c:4991 sql_help.c:5079 sql_help.c:5081 -#: sql_help.c:5143 +#: sql_help.c:826 sql_help.c:829 sql_help.c:918 sql_help.c:1047 sql_help.c:1087 +#: sql_help.c:1576 sql_help.c:1579 sql_help.c:1755 sql_help.c:1808 +#: sql_help.c:1879 sql_help.c:1904 sql_help.c:1917 sql_help.c:1932 +#: sql_help.c:1992 sql_help.c:1998 sql_help.c:2362 sql_help.c:2374 +#: sql_help.c:2495 sql_help.c:2535 sql_help.c:2612 sql_help.c:2666 +#: sql_help.c:2719 sql_help.c:2771 sql_help.c:2804 sql_help.c:2811 +#: sql_help.c:2920 sql_help.c:2938 sql_help.c:2951 sql_help.c:3030 +#: sql_help.c:3150 sql_help.c:3331 sql_help.c:3554 sql_help.c:3603 +#: sql_help.c:3709 sql_help.c:3919 sql_help.c:3925 sql_help.c:3986 +#: sql_help.c:4018 sql_help.c:4382 sql_help.c:4388 sql_help.c:4506 +#: sql_help.c:4619 sql_help.c:4682 sql_help.c:4721 sql_help.c:4877 +#: sql_help.c:4940 sql_help.c:4974 sql_help.c:5032 sql_help.c:5122 +#: sql_help.c:5185 msgid "table_name" msgstr "tabellnamn" -#: sql_help.c:823 sql_help.c:2584 +#: sql_help.c:831 sql_help.c:2614 msgid "using_expression" msgstr "using-uttryck" -#: sql_help.c:824 sql_help.c:2585 +#: sql_help.c:832 sql_help.c:2615 msgid "check_expression" msgstr "check-uttryck" -#: sql_help.c:897 sql_help.c:899 sql_help.c:901 sql_help.c:2632 +#: sql_help.c:905 sql_help.c:907 sql_help.c:909 sql_help.c:2662 msgid "publication_object" msgstr "publiceringsobject" -#: sql_help.c:903 sql_help.c:2633 +#: sql_help.c:911 sql_help.c:2663 msgid "publication_parameter" msgstr "publiceringsparameter" -#: sql_help.c:909 sql_help.c:2635 +#: sql_help.c:917 sql_help.c:2665 msgid "where publication_object is one of:" msgstr "där publiceringsobjekt är en av:" -#: sql_help.c:952 sql_help.c:1637 sql_help.c:2443 sql_help.c:2670 -#: sql_help.c:3236 +#: sql_help.c:960 sql_help.c:1667 sql_help.c:2473 sql_help.c:2698 +#: sql_help.c:3265 msgid "password" msgstr "lösenord" -#: sql_help.c:953 sql_help.c:1638 sql_help.c:2444 sql_help.c:2671 -#: sql_help.c:3237 +#: sql_help.c:961 sql_help.c:1668 sql_help.c:2474 sql_help.c:2699 +#: sql_help.c:3266 msgid "timestamp" msgstr "tidsstämpel" -#: sql_help.c:957 sql_help.c:961 sql_help.c:964 sql_help.c:967 sql_help.c:1642 -#: sql_help.c:1646 sql_help.c:1649 sql_help.c:1652 sql_help.c:3902 -#: sql_help.c:4354 +#: sql_help.c:965 sql_help.c:969 sql_help.c:972 sql_help.c:975 sql_help.c:1672 +#: sql_help.c:1676 sql_help.c:1679 sql_help.c:1682 sql_help.c:3932 +#: sql_help.c:4395 msgid "database_name" msgstr "databasnamn" -#: sql_help.c:1073 sql_help.c:2740 +#: sql_help.c:1081 sql_help.c:2766 msgid "increment" msgstr "ökningsvärde" -#: sql_help.c:1074 sql_help.c:2741 +#: sql_help.c:1082 sql_help.c:2767 msgid "minvalue" msgstr "minvärde" -#: sql_help.c:1075 sql_help.c:2742 +#: sql_help.c:1083 sql_help.c:2768 msgid "maxvalue" msgstr "maxvärde" -#: sql_help.c:1076 sql_help.c:2743 sql_help.c:4574 sql_help.c:4677 -#: sql_help.c:4831 sql_help.c:5008 sql_help.c:5077 +#: sql_help.c:1084 sql_help.c:2769 sql_help.c:4615 sql_help.c:4719 +#: sql_help.c:4873 sql_help.c:5049 sql_help.c:5118 msgid "start" msgstr "start" -#: sql_help.c:1077 sql_help.c:1347 +#: sql_help.c:1085 sql_help.c:1374 msgid "restart" msgstr "starta om" -#: sql_help.c:1078 sql_help.c:2744 +#: sql_help.c:1086 sql_help.c:2770 msgid "cache" msgstr "cache" -#: sql_help.c:1123 +#: sql_help.c:1131 msgid "new_target" msgstr "nytt_mål" -#: sql_help.c:1142 sql_help.c:2797 +#: sql_help.c:1150 sql_help.c:2823 msgid "conninfo" msgstr "anslinfo" -#: sql_help.c:1144 sql_help.c:1148 sql_help.c:1152 sql_help.c:2798 +#: sql_help.c:1152 sql_help.c:1156 sql_help.c:1160 sql_help.c:2824 msgid "publication_name" msgstr "publiceringsnamn" -#: sql_help.c:1145 sql_help.c:1149 sql_help.c:1153 +#: sql_help.c:1153 sql_help.c:1157 sql_help.c:1161 msgid "publication_option" msgstr "publicerings_alternativ" -#: sql_help.c:1156 +#: sql_help.c:1164 msgid "refresh_option" msgstr "refresh_alternativ" -#: sql_help.c:1161 sql_help.c:2799 +#: sql_help.c:1169 sql_help.c:2825 msgid "subscription_parameter" msgstr "prenumerationsparameter" -#: sql_help.c:1164 +#: sql_help.c:1172 msgid "skip_option" msgstr "skip_alternativ" -#: sql_help.c:1324 sql_help.c:1327 +#: sql_help.c:1339 sql_help.c:1342 sql_help.c:1344 sql_help.c:1352 msgid "partition_name" msgstr "partitionsnamn" -#: sql_help.c:1325 sql_help.c:2349 sql_help.c:2930 +#: sql_help.c:1340 sql_help.c:1346 sql_help.c:1348 sql_help.c:2379 +#: sql_help.c:2956 msgid "partition_bound_spec" msgstr "partitionsgränsspec" -#: sql_help.c:1344 sql_help.c:1394 sql_help.c:2944 +#: sql_help.c:1345 sql_help.c:1350 +msgid "partition_name1" +msgstr "partitions_namn1" + +#: sql_help.c:1347 sql_help.c:1351 +msgid "partition_name2" +msgstr "partitions_namn2" + +#: sql_help.c:1371 sql_help.c:1421 sql_help.c:2970 msgid "sequence_options" msgstr "sekvensalternativ" -#: sql_help.c:1346 +#: sql_help.c:1373 msgid "sequence_option" msgstr "sekvensalternativ" -#: sql_help.c:1360 +#: sql_help.c:1387 msgid "table_constraint_using_index" msgstr "tabellvillkor_för_index" -#: sql_help.c:1368 sql_help.c:1369 sql_help.c:1370 sql_help.c:1371 +#: sql_help.c:1395 sql_help.c:1396 sql_help.c:1397 sql_help.c:1398 msgid "rewrite_rule_name" msgstr "omskrivningsregelnamn" -#: sql_help.c:1383 sql_help.c:2361 sql_help.c:2969 +#: sql_help.c:1410 sql_help.c:2391 sql_help.c:2995 msgid "and partition_bound_spec is:" msgstr "och partitionsgränsspec är:" -#: sql_help.c:1384 sql_help.c:1385 sql_help.c:1386 sql_help.c:2362 -#: sql_help.c:2363 sql_help.c:2364 sql_help.c:2970 sql_help.c:2971 -#: sql_help.c:2972 +#: sql_help.c:1411 sql_help.c:1412 sql_help.c:1413 sql_help.c:2392 +#: sql_help.c:2393 sql_help.c:2394 sql_help.c:2996 sql_help.c:2997 +#: sql_help.c:2998 msgid "partition_bound_expr" msgstr "partitionsgränsuttryck" -#: sql_help.c:1387 sql_help.c:1388 sql_help.c:2365 sql_help.c:2366 -#: sql_help.c:2973 sql_help.c:2974 +#: sql_help.c:1414 sql_help.c:1415 sql_help.c:2395 sql_help.c:2396 +#: sql_help.c:2999 sql_help.c:3000 msgid "numeric_literal" msgstr "numerisk_literal" -#: sql_help.c:1389 +#: sql_help.c:1416 msgid "and column_constraint is:" msgstr "och kolumnvillkor är:" -#: sql_help.c:1392 sql_help.c:2356 sql_help.c:2397 sql_help.c:2606 -#: sql_help.c:2942 +#: sql_help.c:1419 sql_help.c:2386 sql_help.c:2427 sql_help.c:2636 +#: sql_help.c:2968 msgid "default_expr" msgstr "default_uttryck" -#: sql_help.c:1393 sql_help.c:2357 sql_help.c:2943 +#: sql_help.c:1420 sql_help.c:2387 sql_help.c:2969 msgid "generation_expr" msgstr "generatoruttryck" -#: sql_help.c:1395 sql_help.c:1396 sql_help.c:1405 sql_help.c:1407 -#: sql_help.c:1411 sql_help.c:2945 sql_help.c:2946 sql_help.c:2955 -#: sql_help.c:2957 sql_help.c:2961 +#: sql_help.c:1422 sql_help.c:1423 sql_help.c:1432 sql_help.c:1434 +#: sql_help.c:1438 sql_help.c:2971 sql_help.c:2972 sql_help.c:2981 +#: sql_help.c:2983 sql_help.c:2987 msgid "index_parameters" msgstr "indexparametrar" -#: sql_help.c:1397 sql_help.c:1414 sql_help.c:2947 sql_help.c:2964 +#: sql_help.c:1424 sql_help.c:1441 sql_help.c:2973 sql_help.c:2990 msgid "reftable" msgstr "reftabell" -#: sql_help.c:1398 sql_help.c:1415 sql_help.c:2948 sql_help.c:2965 +#: sql_help.c:1425 sql_help.c:1442 sql_help.c:2974 sql_help.c:2991 msgid "refcolumn" msgstr "refkolumn" -#: sql_help.c:1399 sql_help.c:1400 sql_help.c:1416 sql_help.c:1417 -#: sql_help.c:2949 sql_help.c:2950 sql_help.c:2966 sql_help.c:2967 +#: sql_help.c:1426 sql_help.c:1427 sql_help.c:1443 sql_help.c:1444 +#: sql_help.c:2975 sql_help.c:2976 sql_help.c:2992 sql_help.c:2993 msgid "referential_action" msgstr "referentiell_aktion" -#: sql_help.c:1401 sql_help.c:2358 sql_help.c:2951 +#: sql_help.c:1428 sql_help.c:2388 sql_help.c:2977 msgid "and table_constraint is:" msgstr "och tabellvillkor är:" -#: sql_help.c:1409 sql_help.c:2959 +#: sql_help.c:1436 sql_help.c:2985 msgid "exclude_element" msgstr "uteslutelement" -#: sql_help.c:1410 sql_help.c:2960 sql_help.c:4572 sql_help.c:4675 -#: sql_help.c:4829 sql_help.c:5006 sql_help.c:5075 +#: sql_help.c:1437 sql_help.c:2986 sql_help.c:4613 sql_help.c:4717 +#: sql_help.c:4871 sql_help.c:5047 sql_help.c:5116 msgid "operator" msgstr "operator" -#: sql_help.c:1412 sql_help.c:2477 sql_help.c:2962 +#: sql_help.c:1439 sql_help.c:2507 sql_help.c:2988 msgid "predicate" msgstr "predikat" -#: sql_help.c:1418 +#: sql_help.c:1445 msgid "and table_constraint_using_index is:" msgstr "och tabellvillkor_för_index är:" -#: sql_help.c:1421 sql_help.c:2975 +#: sql_help.c:1448 sql_help.c:3001 msgid "index_parameters in UNIQUE, PRIMARY KEY, and EXCLUDE constraints are:" msgstr "indexparametrar i UNIQUE-, PRIMARY KEY- och EXCLUDE-villkor är:" -#: sql_help.c:1426 sql_help.c:2980 +#: sql_help.c:1453 sql_help.c:3006 msgid "exclude_element in an EXCLUDE constraint is:" msgstr "uteslutelement i ett EXCLUDE-villkort är:" -#: sql_help.c:1429 sql_help.c:2470 sql_help.c:2907 sql_help.c:2920 -#: sql_help.c:2934 sql_help.c:2983 sql_help.c:4001 +#: sql_help.c:1457 sql_help.c:2500 sql_help.c:2933 sql_help.c:2946 +#: sql_help.c:2960 sql_help.c:3010 sql_help.c:4031 msgid "opclass" msgstr "op-klass" -#: sql_help.c:1430 sql_help.c:2984 +#: sql_help.c:1458 sql_help.c:2501 sql_help.c:3011 +msgid "opclass_parameter" +msgstr "opclass_parameter" + +#: sql_help.c:1460 sql_help.c:3013 msgid "referential_action in a FOREIGN KEY/REFERENCES constraint is:" msgstr "referentiell_aktion i ett FOREIGN KEY/REFERENCES-villkor är:" -#: sql_help.c:1448 sql_help.c:1451 sql_help.c:3021 +#: sql_help.c:1478 sql_help.c:1481 sql_help.c:3050 msgid "tablespace_option" msgstr "tabellutrymmesalternativ" -#: sql_help.c:1472 sql_help.c:1475 sql_help.c:1481 sql_help.c:1485 +#: sql_help.c:1502 sql_help.c:1505 sql_help.c:1511 sql_help.c:1515 msgid "token_type" msgstr "symboltyp" -#: sql_help.c:1473 sql_help.c:1476 +#: sql_help.c:1503 sql_help.c:1506 msgid "dictionary_name" msgstr "ordlistnamn" -#: sql_help.c:1478 sql_help.c:1482 +#: sql_help.c:1508 sql_help.c:1512 msgid "old_dictionary" msgstr "gammal_ordlista" -#: sql_help.c:1479 sql_help.c:1483 +#: sql_help.c:1509 sql_help.c:1513 msgid "new_dictionary" msgstr "ny_ordlista" -#: sql_help.c:1578 sql_help.c:1592 sql_help.c:1595 sql_help.c:1596 -#: sql_help.c:3174 +#: sql_help.c:1608 sql_help.c:1622 sql_help.c:1625 sql_help.c:1626 +#: sql_help.c:3203 msgid "attribute_name" msgstr "attributnamn" -#: sql_help.c:1579 +#: sql_help.c:1609 msgid "new_attribute_name" msgstr "nytt_attributnamn" -#: sql_help.c:1583 sql_help.c:1587 +#: sql_help.c:1613 sql_help.c:1617 msgid "new_enum_value" msgstr "nytt_enumvärde" -#: sql_help.c:1584 +#: sql_help.c:1614 msgid "neighbor_enum_value" msgstr "närliggande_enumvärde" -#: sql_help.c:1586 +#: sql_help.c:1616 msgid "existing_enum_value" msgstr "existerande_enumvärde" -#: sql_help.c:1589 +#: sql_help.c:1619 msgid "property" msgstr "egenskap" -#: sql_help.c:1665 sql_help.c:2341 sql_help.c:2350 sql_help.c:2756 -#: sql_help.c:3254 sql_help.c:3705 sql_help.c:3911 sql_help.c:3957 -#: sql_help.c:4363 +#: sql_help.c:1695 sql_help.c:2371 sql_help.c:2380 sql_help.c:2782 +#: sql_help.c:3283 sql_help.c:3734 sql_help.c:3941 sql_help.c:3987 +#: sql_help.c:4404 msgid "server_name" msgstr "servernamn" -#: sql_help.c:1697 sql_help.c:1700 sql_help.c:3269 +#: sql_help.c:1727 sql_help.c:1730 sql_help.c:3298 msgid "view_option_name" msgstr "visningsalternativnamn" -#: sql_help.c:1698 sql_help.c:3270 +#: sql_help.c:1728 sql_help.c:3299 msgid "view_option_value" msgstr "visningsalternativvärde" -#: sql_help.c:1720 sql_help.c:1721 sql_help.c:4974 sql_help.c:4975 +#: sql_help.c:1749 sql_help.c:5016 msgid "table_and_columns" msgstr "tabell_och_kolumner" -#: sql_help.c:1722 sql_help.c:1786 sql_help.c:1978 sql_help.c:3754 -#: sql_help.c:4198 sql_help.c:4976 +#: sql_help.c:1750 sql_help.c:1810 sql_help.c:2004 sql_help.c:3783 +#: sql_help.c:4239 sql_help.c:5017 msgid "where option can be one of:" msgstr "där flaggor kan vara en av:" -#: sql_help.c:1723 sql_help.c:1724 sql_help.c:1787 sql_help.c:1980 -#: sql_help.c:1984 sql_help.c:2164 sql_help.c:3755 sql_help.c:3756 -#: sql_help.c:3757 sql_help.c:3758 sql_help.c:3759 sql_help.c:3760 -#: sql_help.c:3761 sql_help.c:3762 sql_help.c:3763 sql_help.c:4199 -#: sql_help.c:4201 sql_help.c:4977 sql_help.c:4978 sql_help.c:4979 -#: sql_help.c:4980 sql_help.c:4981 sql_help.c:4982 sql_help.c:4983 -#: sql_help.c:4984 sql_help.c:4985 sql_help.c:4987 sql_help.c:4988 +#: sql_help.c:1751 sql_help.c:1752 sql_help.c:1811 sql_help.c:2006 +#: sql_help.c:2010 sql_help.c:2192 sql_help.c:3784 sql_help.c:3785 +#: sql_help.c:3786 sql_help.c:3787 sql_help.c:3788 sql_help.c:3789 +#: sql_help.c:3790 sql_help.c:3791 sql_help.c:3792 sql_help.c:3793 +#: sql_help.c:4240 sql_help.c:4242 sql_help.c:5018 sql_help.c:5019 +#: sql_help.c:5020 sql_help.c:5021 sql_help.c:5022 sql_help.c:5023 +#: sql_help.c:5024 sql_help.c:5025 sql_help.c:5026 sql_help.c:5028 +#: sql_help.c:5029 msgid "boolean" msgstr "boolean" -#: sql_help.c:1725 sql_help.c:4989 +#: sql_help.c:1753 sql_help.c:5030 msgid "size" msgstr "storlek" -#: sql_help.c:1726 sql_help.c:4990 +#: sql_help.c:1754 sql_help.c:5031 msgid "and table_and_columns is:" msgstr "och tabell_och_kolumner är:" -#: sql_help.c:1742 sql_help.c:4736 sql_help.c:4738 sql_help.c:4762 +#: sql_help.c:1770 sql_help.c:4778 sql_help.c:4780 sql_help.c:4804 msgid "transaction_mode" msgstr "transaktionsläge" -#: sql_help.c:1743 sql_help.c:4739 sql_help.c:4763 +#: sql_help.c:1771 sql_help.c:4781 sql_help.c:4805 msgid "where transaction_mode is one of:" msgstr "där transaktionsläge är en av:" -#: sql_help.c:1752 sql_help.c:4582 sql_help.c:4591 sql_help.c:4595 -#: sql_help.c:4599 sql_help.c:4602 sql_help.c:4839 sql_help.c:4848 -#: sql_help.c:4852 sql_help.c:4856 sql_help.c:4859 sql_help.c:5085 -#: sql_help.c:5094 sql_help.c:5098 sql_help.c:5102 sql_help.c:5105 +#: sql_help.c:1780 sql_help.c:4623 sql_help.c:4632 sql_help.c:4636 +#: sql_help.c:4640 sql_help.c:4643 sql_help.c:4881 sql_help.c:4890 +#: sql_help.c:4894 sql_help.c:4898 sql_help.c:4901 sql_help.c:5126 +#: sql_help.c:5135 sql_help.c:5139 sql_help.c:5143 sql_help.c:5146 msgid "argument" msgstr "argument" -#: sql_help.c:1852 +#: sql_help.c:1876 msgid "relation_name" msgstr "relationsnamn" -#: sql_help.c:1857 sql_help.c:3905 sql_help.c:4357 +#: sql_help.c:1881 sql_help.c:3935 sql_help.c:4398 msgid "domain_name" msgstr "domännamn" -#: sql_help.c:1879 +#: sql_help.c:1903 msgid "policy_name" msgstr "policynamn" -#: sql_help.c:1892 +#: sql_help.c:1916 msgid "rule_name" msgstr "regelnamn" -#: sql_help.c:1911 sql_help.c:4496 +#: sql_help.c:1935 sql_help.c:4537 msgid "string_literal" msgstr "sträng_literal" -#: sql_help.c:1936 sql_help.c:4160 sql_help.c:4410 +#: sql_help.c:1960 sql_help.c:4201 sql_help.c:4451 msgid "transaction_id" msgstr "transaktions-id" -#: sql_help.c:1968 sql_help.c:1975 sql_help.c:4027 +#: sql_help.c:1994 sql_help.c:2001 sql_help.c:4057 msgid "filename" msgstr "filnamn" -#: sql_help.c:1969 sql_help.c:1976 sql_help.c:2695 sql_help.c:2696 -#: sql_help.c:2697 +#: sql_help.c:1995 sql_help.c:2002 sql_help.c:2721 sql_help.c:2722 +#: sql_help.c:2723 msgid "command" msgstr "kommando" -#: sql_help.c:1971 sql_help.c:2694 sql_help.c:3124 sql_help.c:3305 -#: sql_help.c:4011 sql_help.c:4088 sql_help.c:4091 sql_help.c:4565 -#: sql_help.c:4567 sql_help.c:4668 sql_help.c:4670 sql_help.c:4822 -#: sql_help.c:4824 sql_help.c:4940 sql_help.c:5068 sql_help.c:5070 +#: sql_help.c:1997 sql_help.c:2720 sql_help.c:3153 sql_help.c:3334 +#: sql_help.c:4041 sql_help.c:4124 sql_help.c:4127 sql_help.c:4130 +#: sql_help.c:4606 sql_help.c:4608 sql_help.c:4710 sql_help.c:4712 +#: sql_help.c:4864 sql_help.c:4866 sql_help.c:4983 sql_help.c:5109 +#: sql_help.c:5111 msgid "condition" msgstr "villkor" -#: sql_help.c:1974 sql_help.c:2511 sql_help.c:3007 sql_help.c:3271 -#: sql_help.c:3289 sql_help.c:3992 +#: sql_help.c:2000 sql_help.c:2541 sql_help.c:3036 sql_help.c:3300 +#: sql_help.c:3318 sql_help.c:4022 msgid "query" msgstr "fråga" -#: sql_help.c:1979 +#: sql_help.c:2005 msgid "format_name" msgstr "formatnamn" -#: sql_help.c:1981 +#: sql_help.c:2007 msgid "delimiter_character" msgstr "avdelartecken" -#: sql_help.c:1982 +#: sql_help.c:2008 msgid "null_string" msgstr "null-sträng" -#: sql_help.c:1983 +#: sql_help.c:2009 msgid "default_string" msgstr "standard-sträng" -#: sql_help.c:1985 +#: sql_help.c:2011 msgid "quote_character" msgstr "citattecken" -#: sql_help.c:1986 +#: sql_help.c:2012 msgid "escape_character" msgstr "escape-tecken" -#: sql_help.c:1990 +#: sql_help.c:2016 +msgid "error_action" +msgstr "fel_aktion" + +#: sql_help.c:2017 msgid "encoding_name" msgstr "kodningsnamn" -#: sql_help.c:2001 +#: sql_help.c:2018 +msgid "verbosity" +msgstr "verbosity" + +#: sql_help.c:2029 msgid "access_method_type" msgstr "accessmetodtyp" -#: sql_help.c:2072 sql_help.c:2091 sql_help.c:2094 +#: sql_help.c:2100 sql_help.c:2119 sql_help.c:2122 msgid "arg_data_type" msgstr "arg_datatyp" -#: sql_help.c:2073 sql_help.c:2095 sql_help.c:2103 +#: sql_help.c:2101 sql_help.c:2123 sql_help.c:2131 msgid "sfunc" msgstr "sfunc" -#: sql_help.c:2074 sql_help.c:2096 sql_help.c:2104 +#: sql_help.c:2102 sql_help.c:2124 sql_help.c:2132 msgid "state_data_type" msgstr "tillståndsdatatyp" -#: sql_help.c:2075 sql_help.c:2097 sql_help.c:2105 +#: sql_help.c:2103 sql_help.c:2125 sql_help.c:2133 msgid "state_data_size" msgstr "tillståndsdatastorlek" -#: sql_help.c:2076 sql_help.c:2098 sql_help.c:2106 +#: sql_help.c:2104 sql_help.c:2126 sql_help.c:2134 msgid "ffunc" msgstr "ffunc" -#: sql_help.c:2077 sql_help.c:2107 +#: sql_help.c:2105 sql_help.c:2135 msgid "combinefunc" msgstr "kombinerafunk" -#: sql_help.c:2078 sql_help.c:2108 +#: sql_help.c:2106 sql_help.c:2136 msgid "serialfunc" msgstr "serialiseringsfunk" -#: sql_help.c:2079 sql_help.c:2109 +#: sql_help.c:2107 sql_help.c:2137 msgid "deserialfunc" msgstr "deserialiseringsfunk" -#: sql_help.c:2080 sql_help.c:2099 sql_help.c:2110 +#: sql_help.c:2108 sql_help.c:2127 sql_help.c:2138 msgid "initial_condition" msgstr "startvärde" -#: sql_help.c:2081 sql_help.c:2111 +#: sql_help.c:2109 sql_help.c:2139 msgid "msfunc" msgstr "msfunk" -#: sql_help.c:2082 sql_help.c:2112 +#: sql_help.c:2110 sql_help.c:2140 msgid "minvfunc" msgstr "minvfunk" -#: sql_help.c:2083 sql_help.c:2113 +#: sql_help.c:2111 sql_help.c:2141 msgid "mstate_data_type" msgstr "mtillståndsdatatyp" -#: sql_help.c:2084 sql_help.c:2114 +#: sql_help.c:2112 sql_help.c:2142 msgid "mstate_data_size" msgstr "ntillståndsstorlek" -#: sql_help.c:2085 sql_help.c:2115 +#: sql_help.c:2113 sql_help.c:2143 msgid "mffunc" msgstr "mffunk" -#: sql_help.c:2086 sql_help.c:2116 +#: sql_help.c:2114 sql_help.c:2144 msgid "minitial_condition" msgstr "mstartvärde" -#: sql_help.c:2087 sql_help.c:2117 +#: sql_help.c:2115 sql_help.c:2145 msgid "sort_operator" msgstr "sorteringsoperator" -#: sql_help.c:2100 +#: sql_help.c:2128 msgid "or the old syntax" msgstr "eller gamla syntaxen" -#: sql_help.c:2102 +#: sql_help.c:2130 msgid "base_type" msgstr "bastyp" -#: sql_help.c:2160 sql_help.c:2209 +#: sql_help.c:2188 sql_help.c:2238 msgid "locale" msgstr "lokal" -#: sql_help.c:2161 sql_help.c:2210 +#: sql_help.c:2189 sql_help.c:2239 msgid "lc_collate" msgstr "lc_collate" -#: sql_help.c:2162 sql_help.c:2211 +#: sql_help.c:2190 sql_help.c:2240 msgid "lc_ctype" msgstr "lc_ctype" -#: sql_help.c:2163 sql_help.c:4463 +#: sql_help.c:2191 sql_help.c:4504 msgid "provider" msgstr "leverantör" -#: sql_help.c:2165 +#: sql_help.c:2193 msgid "rules" msgstr "regler" -#: sql_help.c:2166 sql_help.c:2271 +#: sql_help.c:2194 sql_help.c:2301 msgid "version" msgstr "version" -#: sql_help.c:2168 +#: sql_help.c:2196 msgid "existing_collation" msgstr "existerande_jämförelse" -#: sql_help.c:2178 +#: sql_help.c:2206 msgid "source_encoding" msgstr "källkodning" -#: sql_help.c:2179 +#: sql_help.c:2207 msgid "dest_encoding" msgstr "målkodning" -#: sql_help.c:2206 sql_help.c:3047 +#: sql_help.c:2235 sql_help.c:3076 msgid "template" msgstr "mall" -#: sql_help.c:2207 +#: sql_help.c:2236 msgid "encoding" msgstr "kodning" -#: sql_help.c:2208 +#: sql_help.c:2237 msgid "strategy" msgstr "strategi" -#: sql_help.c:2212 +#: sql_help.c:2241 +msgid "builtin_locale" +msgstr "inbyggd_lokal" + +#: sql_help.c:2242 msgid "icu_locale" msgstr "icu_lokal" -#: sql_help.c:2213 +#: sql_help.c:2243 msgid "icu_rules" msgstr "icu_regler" -#: sql_help.c:2214 +#: sql_help.c:2244 msgid "locale_provider" msgstr "lokal_leverantör" -#: sql_help.c:2215 +#: sql_help.c:2245 msgid "collation_version" msgstr "jämförelse_version" -#: sql_help.c:2220 +#: sql_help.c:2250 msgid "oid" msgstr "oid" -#: sql_help.c:2240 -msgid "constraint" -msgstr "villkor" - -#: sql_help.c:2241 -msgid "where constraint is:" -msgstr "där villkor är:" +#: sql_help.c:2271 +msgid "where domain_constraint is:" +msgstr "där domän_villkor är:" -#: sql_help.c:2255 sql_help.c:2692 sql_help.c:3120 +#: sql_help.c:2285 sql_help.c:2718 sql_help.c:3149 msgid "event" msgstr "händelse" -#: sql_help.c:2256 +#: sql_help.c:2286 msgid "filter_variable" msgstr "filtervariabel" -#: sql_help.c:2257 +#: sql_help.c:2287 msgid "filter_value" msgstr "filtervärde" -#: sql_help.c:2353 sql_help.c:2939 +#: sql_help.c:2383 sql_help.c:2965 msgid "where column_constraint is:" msgstr "där kolumnvillkor är:" -#: sql_help.c:2398 +#: sql_help.c:2428 msgid "rettype" msgstr "rettyp" -#: sql_help.c:2400 +#: sql_help.c:2430 msgid "column_type" msgstr "kolumntyp" -#: sql_help.c:2409 sql_help.c:2612 +#: sql_help.c:2439 sql_help.c:2642 msgid "definition" msgstr "definition" -#: sql_help.c:2410 sql_help.c:2613 +#: sql_help.c:2440 sql_help.c:2643 msgid "obj_file" msgstr "obj-fil" -#: sql_help.c:2411 sql_help.c:2614 +#: sql_help.c:2441 sql_help.c:2644 msgid "link_symbol" msgstr "linksymbol" -#: sql_help.c:2412 sql_help.c:2615 +#: sql_help.c:2442 sql_help.c:2645 msgid "sql_body" msgstr "sql-kropp" -#: sql_help.c:2450 sql_help.c:2677 sql_help.c:3243 +#: sql_help.c:2480 sql_help.c:2703 sql_help.c:3272 msgid "uid" msgstr "uid" -#: sql_help.c:2466 sql_help.c:2507 sql_help.c:2908 sql_help.c:2921 -#: sql_help.c:2935 sql_help.c:3003 +#: sql_help.c:2496 sql_help.c:2537 sql_help.c:2934 sql_help.c:2947 +#: sql_help.c:2961 sql_help.c:3032 msgid "method" msgstr "metod" -#: sql_help.c:2471 -msgid "opclass_parameter" -msgstr "opclass_parameter" - -#: sql_help.c:2488 +#: sql_help.c:2518 msgid "call_handler" msgstr "anropshanterare" -#: sql_help.c:2489 +#: sql_help.c:2519 msgid "inline_handler" msgstr "inline-hanterare" -#: sql_help.c:2490 +#: sql_help.c:2520 msgid "valfunction" msgstr "val-funktion" -#: sql_help.c:2529 -msgid "com_op" -msgstr "com_op" - -#: sql_help.c:2530 -msgid "neg_op" -msgstr "neg_op" - -#: sql_help.c:2548 +#: sql_help.c:2578 msgid "family_name" msgstr "familjenamn" -#: sql_help.c:2559 +#: sql_help.c:2589 msgid "storage_type" msgstr "lagringstyp" -#: sql_help.c:2698 sql_help.c:3127 +#: sql_help.c:2724 sql_help.c:3156 msgid "where event can be one of:" msgstr "där händelse kan vara en av:" -#: sql_help.c:2718 sql_help.c:2720 +#: sql_help.c:2744 sql_help.c:2746 msgid "schema_element" msgstr "schema-element" -#: sql_help.c:2757 +#: sql_help.c:2783 msgid "server_type" msgstr "servertyp" -#: sql_help.c:2758 +#: sql_help.c:2784 msgid "server_version" msgstr "serverversion" -#: sql_help.c:2759 sql_help.c:3908 sql_help.c:4360 +#: sql_help.c:2785 sql_help.c:3938 sql_help.c:4401 msgid "fdw_name" msgstr "fdw-namn" -#: sql_help.c:2776 sql_help.c:2779 +#: sql_help.c:2802 sql_help.c:2805 msgid "statistics_name" msgstr "statistiknamn" -#: sql_help.c:2780 +#: sql_help.c:2806 msgid "statistics_kind" msgstr "statistiksort" -#: sql_help.c:2796 +#: sql_help.c:2822 msgid "subscription_name" msgstr "prenumerationsnamn" -#: sql_help.c:2901 +#: sql_help.c:2927 msgid "source_table" msgstr "källtabell" -#: sql_help.c:2902 +#: sql_help.c:2928 msgid "like_option" msgstr "like_alternativ" -#: sql_help.c:2968 +#: sql_help.c:2994 msgid "and like_option is:" msgstr "och likealternativ är:" -#: sql_help.c:3020 +#: sql_help.c:3049 msgid "directory" msgstr "katalog" -#: sql_help.c:3034 +#: sql_help.c:3063 msgid "parser_name" msgstr "parsernamn" -#: sql_help.c:3035 +#: sql_help.c:3064 msgid "source_config" msgstr "källkonfig" -#: sql_help.c:3064 +#: sql_help.c:3093 msgid "start_function" msgstr "startfunktion" -#: sql_help.c:3065 +#: sql_help.c:3094 msgid "gettoken_function" msgstr "gettoken_funktion" -#: sql_help.c:3066 +#: sql_help.c:3095 msgid "end_function" msgstr "slutfunktion" -#: sql_help.c:3067 +#: sql_help.c:3096 msgid "lextypes_function" msgstr "symboltypfunktion" -#: sql_help.c:3068 +#: sql_help.c:3097 msgid "headline_function" msgstr "rubrikfunktion" -#: sql_help.c:3080 +#: sql_help.c:3109 msgid "init_function" msgstr "init_funktion" -#: sql_help.c:3081 +#: sql_help.c:3110 msgid "lexize_function" msgstr "symboluppdelningsfunktion" -#: sql_help.c:3094 +#: sql_help.c:3123 msgid "from_sql_function_name" msgstr "från_sql_funktionsnamn" -#: sql_help.c:3096 +#: sql_help.c:3125 msgid "to_sql_function_name" msgstr "till_sql_funktionsnamn" -#: sql_help.c:3122 +#: sql_help.c:3151 msgid "referenced_table_name" msgstr "refererat_tabellnamn" -#: sql_help.c:3123 +#: sql_help.c:3152 msgid "transition_relation_name" msgstr "övergångsrelationsnamn" -#: sql_help.c:3126 +#: sql_help.c:3155 msgid "arguments" msgstr "argument" -#: sql_help.c:3178 +#: sql_help.c:3207 msgid "label" msgstr "etikett" -#: sql_help.c:3180 +#: sql_help.c:3209 msgid "subtype" msgstr "subtyp" -#: sql_help.c:3181 +#: sql_help.c:3210 msgid "subtype_operator_class" msgstr "subtypoperatorklass" -#: sql_help.c:3183 +#: sql_help.c:3212 msgid "canonical_function" msgstr "kanonisk_funktion" -#: sql_help.c:3184 +#: sql_help.c:3213 msgid "subtype_diff_function" msgstr "subtyp_diff_funktion" -#: sql_help.c:3185 +#: sql_help.c:3214 msgid "multirange_type_name" msgstr "multirange_typnamn" -#: sql_help.c:3187 +#: sql_help.c:3216 msgid "input_function" msgstr "inmatningsfunktion" -#: sql_help.c:3188 +#: sql_help.c:3217 msgid "output_function" msgstr "utmatningsfunktion" -#: sql_help.c:3189 +#: sql_help.c:3218 msgid "receive_function" msgstr "mottagarfunktion" -#: sql_help.c:3190 +#: sql_help.c:3219 msgid "send_function" msgstr "sändfunktion" -#: sql_help.c:3191 +#: sql_help.c:3220 msgid "type_modifier_input_function" msgstr "typmodifiering_indatafunktion" -#: sql_help.c:3192 +#: sql_help.c:3221 msgid "type_modifier_output_function" msgstr "typmodifiering_utdatafunktion" -#: sql_help.c:3193 +#: sql_help.c:3222 msgid "analyze_function" msgstr "analysfunktion" -#: sql_help.c:3194 +#: sql_help.c:3223 msgid "subscript_function" msgstr "arrayindexfunktion" -#: sql_help.c:3195 +#: sql_help.c:3224 msgid "internallength" msgstr "internlängd" -#: sql_help.c:3196 +#: sql_help.c:3225 msgid "alignment" msgstr "justering" -#: sql_help.c:3197 +#: sql_help.c:3226 msgid "storage" msgstr "lagring" -#: sql_help.c:3198 +#: sql_help.c:3227 msgid "like_type" msgstr "liketyp" -#: sql_help.c:3199 +#: sql_help.c:3228 msgid "category" msgstr "kategori" -#: sql_help.c:3200 +#: sql_help.c:3229 msgid "preferred" msgstr "föredragen" -#: sql_help.c:3201 +#: sql_help.c:3230 msgid "default" msgstr "standard" -#: sql_help.c:3202 +#: sql_help.c:3231 msgid "element" msgstr "element" -#: sql_help.c:3203 +#: sql_help.c:3232 msgid "delimiter" msgstr "avskiljare" -#: sql_help.c:3204 +#: sql_help.c:3233 msgid "collatable" msgstr "sorterbar" -#: sql_help.c:3301 sql_help.c:3987 sql_help.c:4077 sql_help.c:4560 -#: sql_help.c:4662 sql_help.c:4817 sql_help.c:4930 sql_help.c:5063 +#: sql_help.c:3330 sql_help.c:4017 sql_help.c:4111 sql_help.c:4601 +#: sql_help.c:4704 sql_help.c:4859 sql_help.c:4973 sql_help.c:5104 msgid "with_query" msgstr "with_fråga" -#: sql_help.c:3303 sql_help.c:3989 sql_help.c:4579 sql_help.c:4585 -#: sql_help.c:4588 sql_help.c:4592 sql_help.c:4596 sql_help.c:4604 -#: sql_help.c:4836 sql_help.c:4842 sql_help.c:4845 sql_help.c:4849 -#: sql_help.c:4853 sql_help.c:4861 sql_help.c:4932 sql_help.c:5082 -#: sql_help.c:5088 sql_help.c:5091 sql_help.c:5095 sql_help.c:5099 -#: sql_help.c:5107 +#: sql_help.c:3332 sql_help.c:4019 sql_help.c:4620 sql_help.c:4626 +#: sql_help.c:4629 sql_help.c:4633 sql_help.c:4637 sql_help.c:4645 +#: sql_help.c:4878 sql_help.c:4884 sql_help.c:4887 sql_help.c:4891 +#: sql_help.c:4895 sql_help.c:4903 sql_help.c:4975 sql_help.c:5123 +#: sql_help.c:5129 sql_help.c:5132 sql_help.c:5136 sql_help.c:5140 +#: sql_help.c:5148 msgid "alias" msgstr "alias" -#: sql_help.c:3304 sql_help.c:4564 sql_help.c:4606 sql_help.c:4608 -#: sql_help.c:4612 sql_help.c:4614 sql_help.c:4615 sql_help.c:4616 -#: sql_help.c:4667 sql_help.c:4821 sql_help.c:4863 sql_help.c:4865 -#: sql_help.c:4869 sql_help.c:4871 sql_help.c:4872 sql_help.c:4873 -#: sql_help.c:4939 sql_help.c:5067 sql_help.c:5109 sql_help.c:5111 -#: sql_help.c:5115 sql_help.c:5117 sql_help.c:5118 sql_help.c:5119 +#: sql_help.c:3333 sql_help.c:4605 sql_help.c:4647 sql_help.c:4649 +#: sql_help.c:4653 sql_help.c:4655 sql_help.c:4656 sql_help.c:4657 +#: sql_help.c:4709 sql_help.c:4863 sql_help.c:4905 sql_help.c:4907 +#: sql_help.c:4911 sql_help.c:4913 sql_help.c:4914 sql_help.c:4915 +#: sql_help.c:4982 sql_help.c:5108 sql_help.c:5150 sql_help.c:5152 +#: sql_help.c:5156 sql_help.c:5158 sql_help.c:5159 sql_help.c:5160 msgid "from_item" msgstr "frånval" -#: sql_help.c:3306 sql_help.c:3789 sql_help.c:4127 sql_help.c:4941 +#: sql_help.c:3335 sql_help.c:3819 sql_help.c:4168 sql_help.c:4984 msgid "cursor_name" msgstr "markörnamn" -#: sql_help.c:3307 sql_help.c:3995 sql_help.c:4942 +#: sql_help.c:3336 sql_help.c:4025 sql_help.c:4117 sql_help.c:4985 msgid "output_expression" msgstr "utdatauttryck" -#: sql_help.c:3308 sql_help.c:3996 sql_help.c:4563 sql_help.c:4665 -#: sql_help.c:4820 sql_help.c:4943 sql_help.c:5066 +#: sql_help.c:3337 sql_help.c:4026 sql_help.c:4118 sql_help.c:4604 +#: sql_help.c:4707 sql_help.c:4862 sql_help.c:4986 sql_help.c:5107 msgid "output_name" msgstr "utdatanamn" -#: sql_help.c:3324 +#: sql_help.c:3353 msgid "code" msgstr "kod" -#: sql_help.c:3729 +#: sql_help.c:3758 msgid "parameter" msgstr "parameter" -#: sql_help.c:3752 sql_help.c:3753 sql_help.c:4152 +#: sql_help.c:3782 sql_help.c:4193 msgid "statement" msgstr "sats" -#: sql_help.c:3788 sql_help.c:4126 +#: sql_help.c:3818 sql_help.c:4167 msgid "direction" msgstr "riktning" -#: sql_help.c:3790 sql_help.c:4128 +#: sql_help.c:3820 sql_help.c:4169 msgid "where direction can be one of:" msgstr "där riktning kan vara en av:" -#: sql_help.c:3791 sql_help.c:3792 sql_help.c:3793 sql_help.c:3794 -#: sql_help.c:3795 sql_help.c:4129 sql_help.c:4130 sql_help.c:4131 -#: sql_help.c:4132 sql_help.c:4133 sql_help.c:4573 sql_help.c:4575 -#: sql_help.c:4676 sql_help.c:4678 sql_help.c:4830 sql_help.c:4832 -#: sql_help.c:5007 sql_help.c:5009 sql_help.c:5076 sql_help.c:5078 +#: sql_help.c:3821 sql_help.c:3822 sql_help.c:3823 sql_help.c:3824 +#: sql_help.c:3825 sql_help.c:4170 sql_help.c:4171 sql_help.c:4172 +#: sql_help.c:4173 sql_help.c:4174 sql_help.c:4614 sql_help.c:4616 +#: sql_help.c:4718 sql_help.c:4720 sql_help.c:4872 sql_help.c:4874 +#: sql_help.c:5048 sql_help.c:5050 sql_help.c:5117 sql_help.c:5119 msgid "count" msgstr "antal" -#: sql_help.c:3898 sql_help.c:4350 +#: sql_help.c:3928 sql_help.c:4391 msgid "sequence_name" msgstr "sekvensnamn" -#: sql_help.c:3916 sql_help.c:4368 +#: sql_help.c:3946 sql_help.c:4409 msgid "arg_name" msgstr "arg_namn" -#: sql_help.c:3917 sql_help.c:4369 +#: sql_help.c:3947 sql_help.c:4410 msgid "arg_type" msgstr "arg_typ" -#: sql_help.c:3924 sql_help.c:4376 +#: sql_help.c:3954 sql_help.c:4417 msgid "loid" msgstr "loid" -#: sql_help.c:3955 +#: sql_help.c:3985 msgid "remote_schema" msgstr "externt_schema" -#: sql_help.c:3958 +#: sql_help.c:3988 msgid "local_schema" msgstr "lokalt_schema" -#: sql_help.c:3993 +#: sql_help.c:4023 msgid "conflict_target" msgstr "konfliktmål" -#: sql_help.c:3994 +#: sql_help.c:4024 msgid "conflict_action" msgstr "konfliktaktion" -#: sql_help.c:3997 +#: sql_help.c:4027 msgid "where conflict_target can be one of:" msgstr "där konfliktmål kan vara en av:" -#: sql_help.c:3998 +#: sql_help.c:4028 msgid "index_column_name" msgstr "indexkolumnnamn" -#: sql_help.c:3999 +#: sql_help.c:4029 msgid "index_expression" msgstr "indexuttryck" -#: sql_help.c:4002 +#: sql_help.c:4032 msgid "index_predicate" msgstr "indexpredikat" -#: sql_help.c:4004 +#: sql_help.c:4034 msgid "and conflict_action is one of:" msgstr "och konfliktaktion är en av:" -#: sql_help.c:4010 sql_help.c:4938 +#: sql_help.c:4040 sql_help.c:4141 sql_help.c:4981 msgid "sub-SELECT" msgstr "sub-SELECT" -#: sql_help.c:4019 sql_help.c:4141 sql_help.c:4914 +#: sql_help.c:4049 sql_help.c:4182 sql_help.c:4957 msgid "channel" msgstr "kanal" -#: sql_help.c:4041 +#: sql_help.c:4071 msgid "lockmode" msgstr "låsläge" -#: sql_help.c:4042 +#: sql_help.c:4072 msgid "where lockmode is one of:" msgstr "där låsläge är en av:" -#: sql_help.c:4078 +#: sql_help.c:4112 msgid "target_table_name" msgstr "måltabellnamn" -#: sql_help.c:4079 +#: sql_help.c:4113 msgid "target_alias" msgstr "målalias" -#: sql_help.c:4080 +#: sql_help.c:4114 msgid "data_source" msgstr "datakälla" -#: sql_help.c:4081 sql_help.c:4609 sql_help.c:4866 sql_help.c:5112 +#: sql_help.c:4115 sql_help.c:4650 sql_help.c:4908 sql_help.c:5153 msgid "join_condition" msgstr "join-villkor" -#: sql_help.c:4082 +#: sql_help.c:4116 msgid "when_clause" msgstr "when_sats" -#: sql_help.c:4083 +#: sql_help.c:4119 msgid "where data_source is:" msgstr "där datakälla är:" -#: sql_help.c:4084 +#: sql_help.c:4120 msgid "source_table_name" msgstr "källtabellnamn" -#: sql_help.c:4085 +#: sql_help.c:4121 msgid "source_query" msgstr "källfråga" -#: sql_help.c:4086 +#: sql_help.c:4122 msgid "source_alias" msgstr "källalias" -#: sql_help.c:4087 +#: sql_help.c:4123 msgid "and when_clause is:" msgstr "och when_sats är:" -#: sql_help.c:4089 +#: sql_help.c:4125 sql_help.c:4128 msgid "merge_update" msgstr "merge_update" -#: sql_help.c:4090 +#: sql_help.c:4126 sql_help.c:4129 msgid "merge_delete" msgstr "merge_delete" -#: sql_help.c:4092 +#: sql_help.c:4131 msgid "merge_insert" msgstr "merge_insert" -#: sql_help.c:4093 +#: sql_help.c:4132 msgid "and merge_insert is:" msgstr "och merge_insert är:" -#: sql_help.c:4096 +#: sql_help.c:4135 msgid "and merge_update is:" msgstr "och merge_update är:" -#: sql_help.c:4101 +#: sql_help.c:4142 msgid "and merge_delete is:" msgstr "och merge_delete är:" -#: sql_help.c:4142 +#: sql_help.c:4183 msgid "payload" msgstr "innehåll" -#: sql_help.c:4169 +#: sql_help.c:4210 msgid "old_role" msgstr "gammal_roll" -#: sql_help.c:4170 +#: sql_help.c:4211 msgid "new_role" msgstr "ny_roll" -#: sql_help.c:4209 sql_help.c:4418 sql_help.c:4426 +#: sql_help.c:4250 sql_help.c:4459 sql_help.c:4467 msgid "savepoint_name" msgstr "sparpunktnamn" -#: sql_help.c:4566 sql_help.c:4624 sql_help.c:4823 sql_help.c:4881 -#: sql_help.c:5069 sql_help.c:5127 +#: sql_help.c:4607 sql_help.c:4665 sql_help.c:4865 sql_help.c:4923 +#: sql_help.c:5110 sql_help.c:5168 msgid "grouping_element" msgstr "gruperingselement" -#: sql_help.c:4568 sql_help.c:4671 sql_help.c:4825 sql_help.c:5071 +#: sql_help.c:4609 sql_help.c:4713 sql_help.c:4867 sql_help.c:5112 msgid "window_name" msgstr "fönsternamn" -#: sql_help.c:4569 sql_help.c:4672 sql_help.c:4826 sql_help.c:5072 +#: sql_help.c:4610 sql_help.c:4714 sql_help.c:4868 sql_help.c:5113 msgid "window_definition" msgstr "fönsterdefinition" -#: sql_help.c:4570 sql_help.c:4584 sql_help.c:4628 sql_help.c:4673 -#: sql_help.c:4827 sql_help.c:4841 sql_help.c:4885 sql_help.c:5073 -#: sql_help.c:5087 sql_help.c:5131 +#: sql_help.c:4611 sql_help.c:4625 sql_help.c:4669 sql_help.c:4715 +#: sql_help.c:4869 sql_help.c:4883 sql_help.c:4927 sql_help.c:5114 +#: sql_help.c:5128 sql_help.c:5172 msgid "select" msgstr "select" -#: sql_help.c:4577 sql_help.c:4834 sql_help.c:5080 +#: sql_help.c:4617 sql_help.c:4875 sql_help.c:5120 +msgid "from_reference" +msgstr "från_referens" + +#: sql_help.c:4618 sql_help.c:4876 sql_help.c:5121 msgid "where from_item can be one of:" msgstr "där frånval kan vara en av:" -#: sql_help.c:4580 sql_help.c:4586 sql_help.c:4589 sql_help.c:4593 -#: sql_help.c:4605 sql_help.c:4837 sql_help.c:4843 sql_help.c:4846 -#: sql_help.c:4850 sql_help.c:4862 sql_help.c:5083 sql_help.c:5089 -#: sql_help.c:5092 sql_help.c:5096 sql_help.c:5108 +#: sql_help.c:4621 sql_help.c:4627 sql_help.c:4630 sql_help.c:4634 +#: sql_help.c:4646 sql_help.c:4879 sql_help.c:4885 sql_help.c:4888 +#: sql_help.c:4892 sql_help.c:4904 sql_help.c:5124 sql_help.c:5130 +#: sql_help.c:5133 sql_help.c:5137 sql_help.c:5149 msgid "column_alias" msgstr "kolumnalias" -#: sql_help.c:4581 sql_help.c:4838 sql_help.c:5084 +#: sql_help.c:4622 sql_help.c:4880 sql_help.c:5125 msgid "sampling_method" msgstr "samplingsmetod" -#: sql_help.c:4583 sql_help.c:4840 sql_help.c:5086 +#: sql_help.c:4624 sql_help.c:4882 sql_help.c:5127 msgid "seed" msgstr "frö" -#: sql_help.c:4587 sql_help.c:4626 sql_help.c:4844 sql_help.c:4883 -#: sql_help.c:5090 sql_help.c:5129 +#: sql_help.c:4628 sql_help.c:4667 sql_help.c:4886 sql_help.c:4925 +#: sql_help.c:5131 sql_help.c:5170 msgid "with_query_name" msgstr "with_frågenamn" -#: sql_help.c:4597 sql_help.c:4600 sql_help.c:4603 sql_help.c:4854 -#: sql_help.c:4857 sql_help.c:4860 sql_help.c:5100 sql_help.c:5103 -#: sql_help.c:5106 +#: sql_help.c:4638 sql_help.c:4641 sql_help.c:4644 sql_help.c:4896 +#: sql_help.c:4899 sql_help.c:4902 sql_help.c:5141 sql_help.c:5144 +#: sql_help.c:5147 msgid "column_definition" msgstr "kolumndefinition" -#: sql_help.c:4607 sql_help.c:4613 sql_help.c:4864 sql_help.c:4870 -#: sql_help.c:5110 sql_help.c:5116 +#: sql_help.c:4648 sql_help.c:4654 sql_help.c:4906 sql_help.c:4912 +#: sql_help.c:5151 sql_help.c:5157 msgid "join_type" msgstr "join-typ" -#: sql_help.c:4610 sql_help.c:4867 sql_help.c:5113 +#: sql_help.c:4651 sql_help.c:4909 sql_help.c:5154 msgid "join_column" msgstr "join-kolumn" -#: sql_help.c:4611 sql_help.c:4868 sql_help.c:5114 +#: sql_help.c:4652 sql_help.c:4910 sql_help.c:5155 msgid "join_using_alias" msgstr "join_using_alias" -#: sql_help.c:4617 sql_help.c:4874 sql_help.c:5120 +#: sql_help.c:4658 sql_help.c:4916 sql_help.c:5161 msgid "and grouping_element can be one of:" msgstr "och grupperingselement kan vara en av:" -#: sql_help.c:4625 sql_help.c:4882 sql_help.c:5128 +#: sql_help.c:4666 sql_help.c:4924 sql_help.c:5169 msgid "and with_query is:" msgstr "och with_fråga är:" -#: sql_help.c:4629 sql_help.c:4886 sql_help.c:5132 +#: sql_help.c:4670 sql_help.c:4928 sql_help.c:5173 msgid "values" msgstr "värden" -#: sql_help.c:4630 sql_help.c:4887 sql_help.c:5133 +#: sql_help.c:4671 sql_help.c:4929 sql_help.c:5174 msgid "insert" msgstr "insert" -#: sql_help.c:4631 sql_help.c:4888 sql_help.c:5134 +#: sql_help.c:4672 sql_help.c:4930 sql_help.c:5175 msgid "update" msgstr "update" -#: sql_help.c:4632 sql_help.c:4889 sql_help.c:5135 +#: sql_help.c:4673 sql_help.c:4931 sql_help.c:5176 msgid "delete" msgstr "delete" -#: sql_help.c:4634 sql_help.c:4891 sql_help.c:5137 +#: sql_help.c:4674 sql_help.c:4932 sql_help.c:5177 +msgid "merge" +msgstr "merge" + +#: sql_help.c:4676 sql_help.c:4934 sql_help.c:5179 msgid "search_seq_col_name" msgstr "söksekvens_kolumnnamn" -#: sql_help.c:4636 sql_help.c:4893 sql_help.c:5139 +#: sql_help.c:4678 sql_help.c:4936 sql_help.c:5181 msgid "cycle_mark_col_name" msgstr "cykelmarkering_kolumnnamn" -#: sql_help.c:4637 sql_help.c:4894 sql_help.c:5140 +#: sql_help.c:4679 sql_help.c:4937 sql_help.c:5182 msgid "cycle_mark_value" msgstr "cykelmarkering_värde" -#: sql_help.c:4638 sql_help.c:4895 sql_help.c:5141 +#: sql_help.c:4680 sql_help.c:4938 sql_help.c:5183 msgid "cycle_mark_default" msgstr "cykelmarkering_standard" -#: sql_help.c:4639 sql_help.c:4896 sql_help.c:5142 +#: sql_help.c:4681 sql_help.c:4939 sql_help.c:5184 msgid "cycle_path_col_name" msgstr "cykelväg_kolumnnamn" -#: sql_help.c:4666 +#: sql_help.c:4708 msgid "new_table" msgstr "ny_tabell" -#: sql_help.c:4737 +#: sql_help.c:4779 msgid "snapshot_id" msgstr "snapshot_id" -#: sql_help.c:5005 +#: sql_help.c:5046 msgid "sort_expression" msgstr "sorteringsuttryck" -#: sql_help.c:5149 sql_help.c:6133 +#: sql_help.c:5191 sql_help.c:6175 msgid "abort the current transaction" msgstr "avbryt aktuell transaktion" -#: sql_help.c:5155 +#: sql_help.c:5197 msgid "change the definition of an aggregate function" msgstr "ändra definitionen av en aggregatfunktion" -#: sql_help.c:5161 +#: sql_help.c:5203 msgid "change the definition of a collation" msgstr "ändra definitionen av en jämförelse" -#: sql_help.c:5167 +#: sql_help.c:5209 msgid "change the definition of a conversion" msgstr "ändra definitionen av en konvertering" -#: sql_help.c:5173 +#: sql_help.c:5215 msgid "change a database" msgstr "ändra en databas" -#: sql_help.c:5179 +#: sql_help.c:5221 msgid "define default access privileges" msgstr "definiera standardaccessrättigheter" -#: sql_help.c:5185 +#: sql_help.c:5227 msgid "change the definition of a domain" msgstr "ändra definitionen av en domän" -#: sql_help.c:5191 +#: sql_help.c:5233 msgid "change the definition of an event trigger" msgstr "ändra definitionen av en händelsetrigger" -#: sql_help.c:5197 +#: sql_help.c:5239 msgid "change the definition of an extension" msgstr "ändra definitionen av en utökning" -#: sql_help.c:5203 +#: sql_help.c:5245 msgid "change the definition of a foreign-data wrapper" msgstr "ändra definitionen av en främmande data-omvandlare" -#: sql_help.c:5209 +#: sql_help.c:5251 msgid "change the definition of a foreign table" msgstr "ändra definitionen av en främmande tabell" -#: sql_help.c:5215 +#: sql_help.c:5257 msgid "change the definition of a function" msgstr "ändra definitionen av en funktion" -#: sql_help.c:5221 +#: sql_help.c:5263 msgid "change role name or membership" msgstr "ändra rollnamn eller medlemskap" -#: sql_help.c:5227 +#: sql_help.c:5269 msgid "change the definition of an index" msgstr "ändra definitionen av ett index" -#: sql_help.c:5233 +#: sql_help.c:5275 msgid "change the definition of a procedural language" msgstr "ändra definitionen av ett procedur-språk" -#: sql_help.c:5239 +#: sql_help.c:5281 msgid "change the definition of a large object" msgstr "ändra definitionen av ett stort objekt" -#: sql_help.c:5245 +#: sql_help.c:5287 msgid "change the definition of a materialized view" msgstr "ändra definitionen av en materialiserad vy" -#: sql_help.c:5251 +#: sql_help.c:5293 msgid "change the definition of an operator" msgstr "ändra definitionen av en operator" -#: sql_help.c:5257 +#: sql_help.c:5299 msgid "change the definition of an operator class" msgstr "ändra definitionen av en operatorklass" -#: sql_help.c:5263 +#: sql_help.c:5305 msgid "change the definition of an operator family" msgstr "ändra definitionen av en operatorfamilj" -#: sql_help.c:5269 +#: sql_help.c:5311 msgid "change the definition of a row-level security policy" msgstr "ändra definitionen av en säkerhetspolicy på radnivå" -#: sql_help.c:5275 +#: sql_help.c:5317 msgid "change the definition of a procedure" msgstr "ändra definitionen av en procedur" -#: sql_help.c:5281 +#: sql_help.c:5323 msgid "change the definition of a publication" msgstr "ändra definitionen av en publicering" -#: sql_help.c:5287 sql_help.c:5389 +#: sql_help.c:5329 sql_help.c:5431 msgid "change a database role" msgstr "ändra databasroll" -#: sql_help.c:5293 +#: sql_help.c:5335 msgid "change the definition of a routine" msgstr "ändra definitionen av en rutin" -#: sql_help.c:5299 +#: sql_help.c:5341 msgid "change the definition of a rule" msgstr "ändra definitionen av en regel" -#: sql_help.c:5305 +#: sql_help.c:5347 msgid "change the definition of a schema" msgstr "ändra definitionen av ett schema" -#: sql_help.c:5311 +#: sql_help.c:5353 msgid "change the definition of a sequence generator" msgstr "ändra definitionen av en sekvensgenerator" -#: sql_help.c:5317 +#: sql_help.c:5359 msgid "change the definition of a foreign server" msgstr "ändra definitionen av en främmande server" -#: sql_help.c:5323 +#: sql_help.c:5365 msgid "change the definition of an extended statistics object" msgstr "ändra definitionen av ett utökat statistikobjekt" -#: sql_help.c:5329 +#: sql_help.c:5371 msgid "change the definition of a subscription" msgstr "ändra definitionen av en prenumerering" -#: sql_help.c:5335 +#: sql_help.c:5377 msgid "change a server configuration parameter" msgstr "ändra en servers konfigurationsparameter" -#: sql_help.c:5341 +#: sql_help.c:5383 msgid "change the definition of a table" msgstr "ändra definitionen av en tabell" -#: sql_help.c:5347 +#: sql_help.c:5389 msgid "change the definition of a tablespace" msgstr "ändra definitionen av ett tabellutrymme" -#: sql_help.c:5353 +#: sql_help.c:5395 msgid "change the definition of a text search configuration" msgstr "ändra definitionen av en textsökkonfiguration" -#: sql_help.c:5359 +#: sql_help.c:5401 msgid "change the definition of a text search dictionary" msgstr "ändra definitionen av en textsökordlista" -#: sql_help.c:5365 +#: sql_help.c:5407 msgid "change the definition of a text search parser" msgstr "ändra definitionen av en textsökparser" -#: sql_help.c:5371 +#: sql_help.c:5413 msgid "change the definition of a text search template" msgstr "ändra definitionen av en textsökmall" -#: sql_help.c:5377 +#: sql_help.c:5419 msgid "change the definition of a trigger" msgstr "ändra definitionen av en trigger" -#: sql_help.c:5383 +#: sql_help.c:5425 msgid "change the definition of a type" msgstr "ändra definitionen av en typ" -#: sql_help.c:5395 +#: sql_help.c:5437 msgid "change the definition of a user mapping" msgstr "ändra definitionen av en användarmappning" -#: sql_help.c:5401 +#: sql_help.c:5443 msgid "change the definition of a view" msgstr "ändra definitionen av en vy" -#: sql_help.c:5407 +#: sql_help.c:5449 msgid "collect statistics about a database" msgstr "samla in statistik om en databas" -#: sql_help.c:5413 sql_help.c:6211 +#: sql_help.c:5455 sql_help.c:6253 msgid "start a transaction block" msgstr "starta ett transaktionsblock" -#: sql_help.c:5419 +#: sql_help.c:5461 msgid "invoke a procedure" msgstr "anropa en procedur" -#: sql_help.c:5425 +#: sql_help.c:5467 msgid "force a write-ahead log checkpoint" msgstr "tvinga checkpoint i transaktionsloggen" -#: sql_help.c:5431 +#: sql_help.c:5473 msgid "close a cursor" msgstr "stäng en markör" -#: sql_help.c:5437 +#: sql_help.c:5479 msgid "cluster a table according to an index" msgstr "klustra en tabell efter ett index" -#: sql_help.c:5443 +#: sql_help.c:5485 msgid "define or change the comment of an object" msgstr "definiera eller ändra en kommentar på ett objekt" -#: sql_help.c:5449 sql_help.c:6007 +#: sql_help.c:5491 sql_help.c:6049 msgid "commit the current transaction" msgstr "utför den aktuella transaktionen" -#: sql_help.c:5455 +#: sql_help.c:5497 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:5461 +#: sql_help.c:5503 msgid "copy data between a file and a table" msgstr "kopiera data mellan en fil och en tabell" -#: sql_help.c:5467 +#: sql_help.c:5509 msgid "define a new access method" msgstr "definiera en ny accessmetod" -#: sql_help.c:5473 +#: sql_help.c:5515 msgid "define a new aggregate function" msgstr "definiera en ny aggregatfunktion" -#: sql_help.c:5479 +#: sql_help.c:5521 msgid "define a new cast" msgstr "definiera en ny typomvandling" -#: sql_help.c:5485 +#: sql_help.c:5527 msgid "define a new collation" msgstr "definiera en ny jämförelse" -#: sql_help.c:5491 +#: sql_help.c:5533 msgid "define a new encoding conversion" msgstr "definiera en ny teckenkodningskonvertering" -#: sql_help.c:5497 +#: sql_help.c:5539 msgid "create a new database" msgstr "skapa en ny databas" -#: sql_help.c:5503 +#: sql_help.c:5545 msgid "define a new domain" msgstr "definiera en ny domän" -#: sql_help.c:5509 +#: sql_help.c:5551 msgid "define a new event trigger" msgstr "definiera en ny händelsetrigger" -#: sql_help.c:5515 +#: sql_help.c:5557 msgid "install an extension" msgstr "installera en utökning" -#: sql_help.c:5521 +#: sql_help.c:5563 msgid "define a new foreign-data wrapper" msgstr "definiera en ny främmande data-omvandlare" -#: sql_help.c:5527 +#: sql_help.c:5569 msgid "define a new foreign table" msgstr "definiera en ny främmande tabell" -#: sql_help.c:5533 +#: sql_help.c:5575 msgid "define a new function" msgstr "definiera en ny funktion" -#: sql_help.c:5539 sql_help.c:5599 sql_help.c:5701 +#: sql_help.c:5581 sql_help.c:5641 sql_help.c:5743 msgid "define a new database role" msgstr "definiera en ny databasroll" -#: sql_help.c:5545 +#: sql_help.c:5587 msgid "define a new index" msgstr "skapa ett nytt index" -#: sql_help.c:5551 +#: sql_help.c:5593 msgid "define a new procedural language" msgstr "definiera ett nytt procedur-språk" -#: sql_help.c:5557 +#: sql_help.c:5599 msgid "define a new materialized view" msgstr "definiera en ny materialiserad vy" -#: sql_help.c:5563 +#: sql_help.c:5605 msgid "define a new operator" msgstr "definiera en ny operator" -#: sql_help.c:5569 +#: sql_help.c:5611 msgid "define a new operator class" msgstr "definiera en ny operatorklass" -#: sql_help.c:5575 +#: sql_help.c:5617 msgid "define a new operator family" msgstr "definiera en ny operatorfamilj" -#: sql_help.c:5581 +#: sql_help.c:5623 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:5587 +#: sql_help.c:5629 msgid "define a new procedure" msgstr "definiera ett ny procedur" -#: sql_help.c:5593 +#: sql_help.c:5635 msgid "define a new publication" msgstr "definiera en ny publicering" -#: sql_help.c:5605 +#: sql_help.c:5647 msgid "define a new rewrite rule" msgstr "definiera en ny omskrivningsregel" -#: sql_help.c:5611 +#: sql_help.c:5653 msgid "define a new schema" msgstr "definiera ett nytt schema" -#: sql_help.c:5617 +#: sql_help.c:5659 msgid "define a new sequence generator" msgstr "definiera en ny sekvensgenerator" -#: sql_help.c:5623 +#: sql_help.c:5665 msgid "define a new foreign server" msgstr "definiera en ny främmande server" -#: sql_help.c:5629 +#: sql_help.c:5671 msgid "define extended statistics" msgstr "definiera utökad statistik" -#: sql_help.c:5635 +#: sql_help.c:5677 msgid "define a new subscription" msgstr "definiera en ny prenumeration" -#: sql_help.c:5641 +#: sql_help.c:5683 msgid "define a new table" msgstr "definiera en ny tabell" -#: sql_help.c:5647 sql_help.c:6169 +#: sql_help.c:5689 sql_help.c:6211 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:5653 +#: sql_help.c:5695 msgid "define a new tablespace" msgstr "definiera ett nytt tabellutrymme" -#: sql_help.c:5659 +#: sql_help.c:5701 msgid "define a new text search configuration" msgstr "definiera en ny textsökkonfiguration" -#: sql_help.c:5665 +#: sql_help.c:5707 msgid "define a new text search dictionary" msgstr "definiera en ny textsökordlista" -#: sql_help.c:5671 +#: sql_help.c:5713 msgid "define a new text search parser" msgstr "definiera en ny textsökparser" -#: sql_help.c:5677 +#: sql_help.c:5719 msgid "define a new text search template" msgstr "definiera en ny textsökmall" -#: sql_help.c:5683 +#: sql_help.c:5725 msgid "define a new transform" msgstr "definiera en ny transform" -#: sql_help.c:5689 +#: sql_help.c:5731 msgid "define a new trigger" msgstr "definiera en ny trigger" -#: sql_help.c:5695 +#: sql_help.c:5737 msgid "define a new data type" msgstr "definiera en ny datatyp" -#: sql_help.c:5707 +#: sql_help.c:5749 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:5713 +#: sql_help.c:5755 msgid "define a new view" msgstr "definiera en ny vy" -#: sql_help.c:5719 +#: sql_help.c:5761 msgid "deallocate a prepared statement" msgstr "deallokera en förberedd sats" -#: sql_help.c:5725 +#: sql_help.c:5767 msgid "define a cursor" msgstr "definiera en markör" -#: sql_help.c:5731 +#: sql_help.c:5773 msgid "delete rows of a table" msgstr "radera rader i en tabell" -#: sql_help.c:5737 +#: sql_help.c:5779 msgid "discard session state" msgstr "släng sessionstillstånd" -#: sql_help.c:5743 +#: sql_help.c:5785 msgid "execute an anonymous code block" msgstr "kör ett annonymt kodblock" -#: sql_help.c:5749 +#: sql_help.c:5791 msgid "remove an access method" msgstr "ta bort en accessmetod" -#: sql_help.c:5755 +#: sql_help.c:5797 msgid "remove an aggregate function" msgstr "ta bort en aggregatfunktioner" -#: sql_help.c:5761 +#: sql_help.c:5803 msgid "remove a cast" msgstr "ta bort en typomvandling" -#: sql_help.c:5767 +#: sql_help.c:5809 msgid "remove a collation" msgstr "ta bort en jämförelse" -#: sql_help.c:5773 +#: sql_help.c:5815 msgid "remove a conversion" msgstr "ta bort en konvertering" -#: sql_help.c:5779 +#: sql_help.c:5821 msgid "remove a database" msgstr "ta bort en databas" -#: sql_help.c:5785 +#: sql_help.c:5827 msgid "remove a domain" msgstr "ta bort en domän" -#: sql_help.c:5791 +#: sql_help.c:5833 msgid "remove an event trigger" msgstr "ta bort en händelsetrigger" -#: sql_help.c:5797 +#: sql_help.c:5839 msgid "remove an extension" msgstr "ta bort en utökning" -#: sql_help.c:5803 +#: sql_help.c:5845 msgid "remove a foreign-data wrapper" msgstr "ta bort en frammande data-omvandlare" -#: sql_help.c:5809 +#: sql_help.c:5851 msgid "remove a foreign table" msgstr "ta bort en främmande tabell" -#: sql_help.c:5815 +#: sql_help.c:5857 msgid "remove a function" msgstr "ta bort en funktion" -#: sql_help.c:5821 sql_help.c:5887 sql_help.c:5989 +#: sql_help.c:5863 sql_help.c:5929 sql_help.c:6031 msgid "remove a database role" msgstr "ta bort en databasroll" -#: sql_help.c:5827 +#: sql_help.c:5869 msgid "remove an index" msgstr "ta bort ett index" -#: sql_help.c:5833 +#: sql_help.c:5875 msgid "remove a procedural language" msgstr "ta bort ett procedur-språk" -#: sql_help.c:5839 +#: sql_help.c:5881 msgid "remove a materialized view" msgstr "ta bort en materialiserad vy" -#: sql_help.c:5845 +#: sql_help.c:5887 msgid "remove an operator" msgstr "ta bort en operator" -#: sql_help.c:5851 +#: sql_help.c:5893 msgid "remove an operator class" msgstr "ta bort en operatorklass" -#: sql_help.c:5857 +#: sql_help.c:5899 msgid "remove an operator family" msgstr "ta bort en operatorfamilj" -#: sql_help.c:5863 +#: sql_help.c:5905 msgid "remove database objects owned by a database role" msgstr "ta bort databasobjekt som ägs av databasroll" -#: sql_help.c:5869 +#: sql_help.c:5911 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:5875 +#: sql_help.c:5917 msgid "remove a procedure" msgstr "ta bort en procedur" -#: sql_help.c:5881 +#: sql_help.c:5923 msgid "remove a publication" msgstr "ta bort en publicering" -#: sql_help.c:5893 +#: sql_help.c:5935 msgid "remove a routine" msgstr "ta bort en rutin" -#: sql_help.c:5899 +#: sql_help.c:5941 msgid "remove a rewrite rule" msgstr "ta bort en omskrivningsregel" -#: sql_help.c:5905 +#: sql_help.c:5947 msgid "remove a schema" msgstr "ta bort ett schema" -#: sql_help.c:5911 +#: sql_help.c:5953 msgid "remove a sequence" msgstr "ta bort en sekvens" -#: sql_help.c:5917 +#: sql_help.c:5959 msgid "remove a foreign server descriptor" msgstr "ta bort en främmande server-deskriptor" -#: sql_help.c:5923 +#: sql_help.c:5965 msgid "remove extended statistics" msgstr "ta bort utökad statistik" -#: sql_help.c:5929 +#: sql_help.c:5971 msgid "remove a subscription" msgstr "ta bort en prenumeration" -#: sql_help.c:5935 +#: sql_help.c:5977 msgid "remove a table" msgstr "ta bort en tabell" -#: sql_help.c:5941 +#: sql_help.c:5983 msgid "remove a tablespace" msgstr "ta bort ett tabellutrymme" -#: sql_help.c:5947 +#: sql_help.c:5989 msgid "remove a text search configuration" msgstr "ta bort en textsökkonfiguration" -#: sql_help.c:5953 +#: sql_help.c:5995 msgid "remove a text search dictionary" msgstr "ta bort en textsökordlista" -#: sql_help.c:5959 +#: sql_help.c:6001 msgid "remove a text search parser" msgstr "ta bort en textsökparser" -#: sql_help.c:5965 +#: sql_help.c:6007 msgid "remove a text search template" msgstr "ta bort en textsökmall" -#: sql_help.c:5971 +#: sql_help.c:6013 msgid "remove a transform" msgstr "ta bort en transform" -#: sql_help.c:5977 +#: sql_help.c:6019 msgid "remove a trigger" msgstr "ta bort en trigger" -#: sql_help.c:5983 +#: sql_help.c:6025 msgid "remove a data type" msgstr "ta bort en datatyp" -#: sql_help.c:5995 +#: sql_help.c:6037 msgid "remove a user mapping for a foreign server" msgstr "ta bort en användarmappning för en främmande server" -#: sql_help.c:6001 +#: sql_help.c:6043 msgid "remove a view" msgstr "ta bort en vy" -#: sql_help.c:6013 +#: sql_help.c:6055 msgid "execute a prepared statement" msgstr "utför en förberedd sats" -#: sql_help.c:6019 +#: sql_help.c:6061 msgid "show the execution plan of a statement" msgstr "visa körningsplanen för en sats" -#: sql_help.c:6025 +#: sql_help.c:6067 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:6031 +#: sql_help.c:6073 msgid "define access privileges" msgstr "definera åtkomsträttigheter" -#: sql_help.c:6037 +#: sql_help.c:6079 msgid "import table definitions from a foreign server" msgstr "importera tabelldefinitioner från en främmande server" -#: sql_help.c:6043 +#: sql_help.c:6085 msgid "create new rows in a table" msgstr "skapa nya rader i en tabell" -#: sql_help.c:6049 +#: sql_help.c:6091 msgid "listen for a notification" msgstr "lyssna efter notifiering" -#: sql_help.c:6055 +#: sql_help.c:6097 msgid "load a shared library file" msgstr "ladda en delad biblioteksfil (shared library)" -#: sql_help.c:6061 +#: sql_help.c:6103 msgid "lock a table" msgstr "lås en tabell" -#: sql_help.c:6067 +#: sql_help.c:6109 msgid "conditionally insert, update, or delete rows of a table" msgstr "villkorlig insert, updare eller delete av rader i en tabell" -#: sql_help.c:6073 +#: sql_help.c:6115 msgid "position a cursor" msgstr "flytta en markör" -#: sql_help.c:6079 +#: sql_help.c:6121 msgid "generate a notification" msgstr "generera en notifiering" -#: sql_help.c:6085 +#: sql_help.c:6127 msgid "prepare a statement for execution" msgstr "förbered en sats för körning" -#: sql_help.c:6091 +#: sql_help.c:6133 msgid "prepare the current transaction for two-phase commit" msgstr "avbryt aktuell transaktion för två-fas-commit" -#: sql_help.c:6097 +#: sql_help.c:6139 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:6103 +#: sql_help.c:6145 msgid "replace the contents of a materialized view" msgstr "ersätt innehållet av en materialiserad vy" -#: sql_help.c:6109 +#: sql_help.c:6151 msgid "rebuild indexes" msgstr "återskapa index" -#: sql_help.c:6115 +#: sql_help.c:6157 msgid "release a previously defined savepoint" msgstr "frigör en tidigare definierad sparpunkt" -#: sql_help.c:6121 +#: sql_help.c:6163 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:6127 +#: sql_help.c:6169 msgid "remove access privileges" msgstr "ta bort åtkomsträttigheter" -#: sql_help.c:6139 +#: sql_help.c:6181 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:6145 +#: sql_help.c:6187 msgid "roll back to a savepoint" msgstr "rulla tillbaka till sparpunkt" -#: sql_help.c:6151 +#: sql_help.c:6193 msgid "define a new savepoint within the current transaction" msgstr "definera en ny sparpunkt i den aktuella transaktionen" -#: sql_help.c:6157 +#: sql_help.c:6199 msgid "define or change a security label applied to an object" msgstr "definiera eller ändra en säkerhetsetikett på ett objekt" -#: sql_help.c:6163 sql_help.c:6217 sql_help.c:6253 +#: sql_help.c:6205 sql_help.c:6259 sql_help.c:6295 msgid "retrieve rows from a table or view" msgstr "hämta rader från en tabell eller vy" -#: sql_help.c:6175 +#: sql_help.c:6217 msgid "change a run-time parameter" msgstr "ändra en körningsparameter" -#: sql_help.c:6181 +#: sql_help.c:6223 msgid "set constraint check timing for the current transaction" msgstr "sätt integritetsvillkorstiming för nuvarande transaktion" -#: sql_help.c:6187 +#: sql_help.c:6229 msgid "set the current user identifier of the current session" msgstr "sätt användare för den aktiva sessionen" -#: sql_help.c:6193 +#: sql_help.c:6235 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:6199 +#: sql_help.c:6241 msgid "set the characteristics of the current transaction" msgstr "sätt inställningar för nuvarande transaktionen" -#: sql_help.c:6205 +#: sql_help.c:6247 msgid "show the value of a run-time parameter" msgstr "visa värde på en körningsparameter" -#: sql_help.c:6223 +#: sql_help.c:6265 msgid "empty a table or set of tables" msgstr "töm en eller flera tabeller" -#: sql_help.c:6229 +#: sql_help.c:6271 msgid "stop listening for a notification" msgstr "sluta att lyssna efter notifiering" -#: sql_help.c:6235 +#: sql_help.c:6277 msgid "update rows of a table" msgstr "uppdatera rader i en tabell" -#: sql_help.c:6241 +#: sql_help.c:6283 msgid "garbage-collect and optionally analyze a database" msgstr "skräpsamla och eventuellt analysera en databas" -#: sql_help.c:6247 +#: sql_help.c:6289 msgid "compute a set of rows" msgstr "beräkna en mängd rader" @@ -6506,7 +6584,7 @@ msgstr "extra kommandoradsargument \"%s\" ignorerad" msgid "could not find own program executable" msgstr "kunde inte hitta det egna programmets körbara fil" -#: tab-complete.c:6078 +#: tab-complete.c:6230 #, c-format msgid "" "tab completion query failed: %s\n" @@ -6540,54 +6618,3 @@ msgid "" msgstr "" "okänt värde \"%s\" för \"%s\"\n" "Tillgängliga värden är: %s." - -#, c-format -#~ msgid "" -#~ " \\lo_export LOBOID FILE\n" -#~ " \\lo_import FILE [COMMENT]\n" -#~ " \\lo_list[+]\n" -#~ " \\lo_unlink LOBOID large object operations\n" -#~ msgstr "" -#~ " \\lo_export LOBOID FIL\n" -#~ " \\lo_import FIL [KOMMENTAR]\n" -#~ " \\lo_list[+]\n" -#~ " \\lo_unlink LOBOID operationer på stora objekt\n" - -#~ msgid "Source code" -#~ msgstr "Källkod" - -#, c-format -#~ msgid "\\watch cannot be used with COPY" -#~ msgstr "\\watch kan inte användas med COPY" - -#, c-format -#~ msgid "could not change directory to \"%s\": %m" -#~ msgstr "kunde inte byta katalog till \"%s\": %m" - -#, c-format -#~ msgid "could not identify current directory: %m" -#~ msgstr "kunde inte identifiera aktuell katalog: %m" - -#, c-format -#~ msgid "could not read binary \"%s\"" -#~ msgstr "kunde inte läsa binär \"%s\"" - -#, c-format -#~ msgid "could not read symbolic link \"%s\": %m" -#~ msgstr "kan inte läsa symbolisk länk \"%s\": %m" - -#, c-format -#~ msgid "invalid binary \"%s\"" -#~ msgstr "ogiltig binär \"%s\"" - -#~ msgid "match" -#~ msgstr "match" - -#~ msgid "text" -#~ msgstr "text" - -#~ msgid "timezone" -#~ msgstr "tidszon" - -#~ msgid "where direction can be empty or one of:" -#~ msgstr "där riktning kan vara tom eller en av:" diff --git a/src/bin/psql/po/uk.po b/src/bin/psql/po/uk.po index 3d8898f3ec3..bd64a745d18 100644 --- a/src/bin/psql/po/uk.po +++ b/src/bin/psql/po/uk.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: postgresql\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-12-17 22:17+0000\n" -"PO-Revision-Date: 2023-12-19 15:38\n" +"POT-Creation-Date: 2024-09-23 10:48+0000\n" +"PO-Revision-Date: 2024-09-23 19:38\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -14,8 +14,8 @@ msgstr "" "X-Crowdin-Project: postgresql\n" "X-Crowdin-Project-ID: 324573\n" "X-Crowdin-Language: uk\n" -"X-Crowdin-File: /REL_16_STABLE/psql.pot\n" -"X-Crowdin-File-ID: 981\n" +"X-Crowdin-File: /REL_17_STABLE/psql.pot\n" +"X-Crowdin-File-ID: 996\n" #: ../../../src/common/logging.c:276 #, c-format @@ -37,33 +37,48 @@ msgstr "деталі: " msgid "hint: " msgstr "підказка: " -#: ../../common/exec.c:172 +#: ../../common/exec.c:174 #, c-format msgid "invalid binary \"%s\": %m" msgstr "невірний бінарний файл \"%s\": %m" -#: ../../common/exec.c:215 +#: ../../common/exec.c:217 #, c-format msgid "could not read binary \"%s\": %m" msgstr "не вдалося прочитати бінарний файл \"%s\": %m" -#: ../../common/exec.c:223 +#: ../../common/exec.c:225 #, c-format msgid "could not find a \"%s\" to execute" msgstr "неможливо знайти \"%s\" для виконання" -#: ../../common/exec.c:250 +#: ../../common/exec.c:252 #, c-format msgid "could not resolve path \"%s\" to absolute form: %m" msgstr "не вдалося знайти абсолютний шлях \"%s\": %m" -#: ../../common/exec.c:412 +#: ../../common/exec.c:382 copy.c:326 +#, c-format +msgid "could not execute command \"%s\": %m" +msgstr "не вдалося виконати команду \"%s\": %m" + +#: ../../common/exec.c:394 +#, c-format +msgid "could not read from command \"%s\": %m" +msgstr "не вдалося прочитати висновок команди \"%s\": %m" + +#: ../../common/exec.c:397 +#, c-format +msgid "no data was returned by command \"%s\"" +msgstr "команда \"%s\" не повернула жодних даних" + +#: ../../common/exec.c:424 #, c-format msgid "%s() failed: %m" msgstr "%s() помилка: %m" -#: ../../common/exec.c:550 ../../common/exec.c:595 ../../common/exec.c:687 -#: command.c:1354 command.c:3439 command.c:3488 command.c:3612 input.c:226 +#: ../../common/exec.c:562 ../../common/exec.c:607 ../../common/exec.c:699 +#: command.c:1372 command.c:3458 command.c:3507 command.c:3632 input.c:225 #: mainloop.c:80 mainloop.c:398 #, c-format msgid "out of memory" @@ -85,7 +100,7 @@ msgstr "неможливо дублювати нульовий покажчик msgid "could not look up effective user ID %ld: %s" msgstr "не можу знайти користувача з ефективним ID %ld: %s" -#: ../../common/username.c:45 command.c:613 +#: ../../common/username.c:45 command.c:616 msgid "user does not exist" msgstr "користувача не існує" @@ -124,11 +139,11 @@ msgstr "дочірній процес перервано через сигнал msgid "child process exited with unrecognized status %d" msgstr "дочірній процес завершився з невизнаним статусом %d" -#: ../../fe_utils/cancel.c:189 ../../fe_utils/cancel.c:238 +#: ../../fe_utils/cancel.c:186 ../../fe_utils/cancel.c:235 msgid "Cancel request sent\n" msgstr "Запит на скасування відправлений\n" -#: ../../fe_utils/cancel.c:190 ../../fe_utils/cancel.c:239 +#: ../../fe_utils/cancel.c:187 ../../fe_utils/cancel.c:236 msgid "Could not send cancel request: " msgstr "Не вдалося надіслати запит на скасування: " @@ -146,341 +161,370 @@ msgstr[3] "(%lu рядка)" msgid "Interrupted\n" msgstr "Перервано\n" -#: ../../fe_utils/print.c:3218 +#: ../../fe_utils/print.c:3188 +#, c-format +msgid "Cannot print table contents: number of cells %lld is equal to or exceeds maximum %lld.\n" +msgstr "Неможливо надрукувати вміст таблиці: кількість комірок %lld дорівнює або перевищує максимальне значення %lld.\n" + +#: ../../fe_utils/print.c:3229 #, c-format msgid "Cannot add header to table content: column count of %d exceeded.\n" msgstr "Неможливо додати заголовок до вмісту таблиці: кількість колонок %d перевищено.\n" -#: ../../fe_utils/print.c:3258 +#: ../../fe_utils/print.c:3272 #, c-format -msgid "Cannot add cell to table content: total cell count of %d exceeded.\n" -msgstr "Неможливо додати комірку до вмісту таблиці: перевищено загальну кількість комірок %d.\n" +msgid "Cannot add cell to table content: total cell count of %lld exceeded.\n" +msgstr "Неможливо додати комірку до вмісту таблиці: перевищено загальну кількість комірок %lld.\n" -#: ../../fe_utils/print.c:3516 +#: ../../fe_utils/print.c:3530 #, c-format msgid "invalid output format (internal error): %d" msgstr "невірний формат виводу (внутрішня помилка): %d" -#: ../../fe_utils/psqlscan.l:717 +#: ../../fe_utils/psqlscan.l:732 #, c-format msgid "skipping recursive expansion of variable \"%s\"" msgstr "пропуск рекурсивного розгортання змінної \"%s\"" -#: ../../port/thread.c:50 ../../port/thread.c:86 +#: ../../fe_utils/string_utils.c:434 +#, c-format +msgid "shell command argument contains a newline or carriage return: \"%s\"\n" +msgstr "аргумент командної оболонки містить символ нового рядка або повернення каретки: \"%s\"\n" + +#: ../../fe_utils/string_utils.c:607 +#, c-format +msgid "database name contains a newline or carriage return: \"%s\"\n" +msgstr "назва бази даних містить символ нового рядка або повернення каретки: \"%s\"\n" + +#: ../../port/user.c:43 ../../port/user.c:79 #, c-format msgid "could not look up local user ID %d: %s" msgstr "не вдалося знайти локального користувача з ідентифікатором %d: %s" -#: ../../port/thread.c:55 ../../port/thread.c:91 +#: ../../port/user.c:48 ../../port/user.c:84 #, c-format msgid "local user with ID %d does not exist" msgstr "локального користувача з ідентифікатором %d не існує" -#: command.c:234 +#: command.c:235 #, c-format msgid "invalid command \\%s" msgstr "Невірна команда \\%s" -#: command.c:236 +#: command.c:237 #, c-format msgid "Try \\? for help." msgstr "Спробуйте \\? для отримання довідки." -#: command.c:254 +#: command.c:255 #, c-format msgid "\\%s: extra argument \"%s\" ignored" msgstr "\\%s: зайвий аргумент \"%s\" проігноровано" -#: command.c:306 +#: command.c:307 #, c-format msgid "\\%s command ignored; use \\endif or Ctrl-C to exit current \\if block" msgstr "\\%s команду проігноровано; скористайтесь \\endif або Ctrl-C, щоб вийти з поточного блоку \\if" -#: command.c:611 +#: command.c:614 #, c-format msgid "could not get home directory for user ID %ld: %s" msgstr "неможливо отримати домашню директорію для користувача ID %ld: %s" -#: command.c:630 +#: command.c:633 #, c-format msgid "\\%s: could not change directory to \"%s\": %m" msgstr "\\%s: неможливо змінити директорію на \"%s\": %m" -#: command.c:654 +#: command.c:657 #, c-format msgid "You are currently not connected to a database.\n" msgstr "На даний момент ви від'єднанні від бази даних.\n" -#: command.c:664 +#: command.c:667 #, 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:667 +#: command.c:670 #, 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:673 +#: command.c:676 #, 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:676 +#: command.c:679 #, 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:1066 command.c:1159 command.c:2682 +#: command.c:1069 command.c:1170 command.c:2675 #, c-format msgid "no query buffer" msgstr "немає буферу запитів" -#: command.c:1099 command.c:5689 +#: command.c:1102 command.c:5771 #, c-format msgid "invalid line number: %s" msgstr "невірний номер рядка: %s" -#: command.c:1237 +#: command.c:1248 msgid "No changes" msgstr "Без змін" -#: command.c:1315 +#: command.c:1333 #, c-format msgid "%s: invalid encoding name or conversion procedure not found" msgstr "%s: невірне ім'я кодування або не знайдено процедуру конверсії" -#: command.c:1350 command.c:2152 command.c:3435 command.c:3632 command.c:5795 -#: common.c:182 common.c:231 common.c:400 common.c:1102 common.c:1120 -#: common.c:1194 common.c:1313 common.c:1351 common.c:1444 common.c:1480 -#: copy.c:486 copy.c:721 help.c:66 large_obj.c:157 large_obj.c:192 -#: large_obj.c:254 startup.c:304 +#: command.c:1368 command.c:2157 command.c:3454 command.c:3652 command.c:5877 +#: 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 +#: startup.c:304 #, c-format msgid "%s" msgstr "%s" -#: command.c:1357 +#: command.c:1375 msgid "There is no previous error." msgstr "Попередня помилка відсутня." -#: command.c:1470 +#: command.c:1488 #, c-format msgid "\\%s: missing right parenthesis" msgstr "\\%s: відсутня права дужка" -#: command.c:1554 command.c:1684 command.c:1988 command.c:2002 command.c:2021 -#: command.c:2203 command.c:2444 command.c:2649 command.c:2689 +#: command.c:1572 command.c:1691 command.c:1995 command.c:2009 command.c:2028 +#: command.c:2196 command.c:2437 command.c:2642 command.c:2682 #, c-format msgid "\\%s: missing required argument" msgstr "\\%s: не вистачає обов'язкового аргументу" -#: command.c:1815 +#: command.c:1822 #, c-format msgid "\\elif: cannot occur after \\else" msgstr "\\elif: не може йти після \\else" -#: command.c:1820 +#: command.c:1827 #, c-format msgid "\\elif: no matching \\if" msgstr "\\elif: немає відповідного \\if" -#: command.c:1884 +#: command.c:1891 #, c-format msgid "\\else: cannot occur after \\else" msgstr "\\else: не може йти після \\else" -#: command.c:1889 +#: command.c:1896 #, c-format msgid "\\else: no matching \\if" msgstr "\\else: немає відповідного \\if" -#: command.c:1929 +#: command.c:1936 #, c-format msgid "\\endif: no matching \\if" msgstr "\\endif: немає відповідного \\if" -#: command.c:2085 +#: command.c:2092 msgid "Query buffer is empty." msgstr "Буфер запиту порожній." -#: command.c:2128 +#: command.c:2135 #, c-format msgid "Enter new password for user \"%s\": " msgstr "Введіть новий пароль користувача \"%s\": " -#: command.c:2132 +#: command.c:2139 msgid "Enter it again: " msgstr "Введіть знову: " -#: command.c:2141 +#: command.c:2148 #, c-format msgid "Passwords didn't match." msgstr "Паролі не співпадають." -#: command.c:2238 +#: command.c:2231 #, c-format msgid "\\%s: could not read value for variable" msgstr "\\%s: не вдалося прочитати значення змінної" -#: command.c:2340 +#: command.c:2333 msgid "Query buffer reset (cleared)." msgstr "Буфер запитів скинуто (очищено)." -#: command.c:2362 +#: command.c:2355 #, c-format msgid "Wrote history to file \"%s\".\n" msgstr "Історію записано до файлу \"%s\".\n" -#: command.c:2449 +#: command.c:2442 #, c-format msgid "\\%s: environment variable name must not contain \"=\"" msgstr "\\%s: змінна середовища не повинна містити \"=\"" -#: command.c:2497 +#: command.c:2490 #, c-format msgid "function name is required" msgstr "необхідне ім'я функції" -#: command.c:2499 +#: command.c:2492 #, c-format msgid "view name is required" msgstr "необхідне ім'я подання" -#: command.c:2621 +#: command.c:2614 msgid "Timing is on." msgstr "Таймер увімкнено." -#: command.c:2623 +#: command.c:2616 msgid "Timing is off." msgstr "Таймер вимкнено." -#: command.c:2709 command.c:2747 command.c:4074 command.c:4077 command.c:4080 -#: command.c:4086 command.c:4088 command.c:4114 command.c:4124 command.c:4136 -#: command.c:4150 command.c:4177 command.c:4235 common.c:78 copy.c:329 -#: copy.c:401 psqlscanslash.l:788 psqlscanslash.l:800 psqlscanslash.l:818 +#: command.c:2702 command.c:2740 command.c:4163 command.c:4166 command.c:4169 +#: command.c:4175 command.c:4177 command.c:4203 command.c:4213 command.c:4225 +#: command.c:4239 command.c:4266 command.c:4324 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:2736 copy.c:388 +#: command.c:2729 copy.c:388 #, c-format msgid "%s: %s" msgstr "%s: %s" -#: command.c:2806 command.c:2852 +#: command.c:2801 command.c:2867 #, c-format msgid "\\watch: interval value is specified more than once" msgstr "\\watch: інтервал зазначається неодноразово" -#: command.c:2816 command.c:2862 +#: command.c:2811 command.c:2877 #, c-format msgid "\\watch: incorrect interval value \"%s\"" msgstr "\\watch: неправильне значення інтервалу \"%s\"" -#: command.c:2826 +#: command.c:2821 #, c-format msgid "\\watch: iteration count is specified more than once" msgstr "\\watch: інтервал зазначається неодноразово" -#: command.c:2836 +#: command.c:2831 #, c-format msgid "\\watch: incorrect iteration count \"%s\"" msgstr "\\watch: неправильна кількість ітерацій \"%s\"" -#: command.c:2843 +#: command.c:2841 +#, c-format +msgid "\\watch: minimum row count specified more than once" +msgstr "\\watch: мінімальна кількість рядків вказана більше одного разу" + +#: command.c:2851 +#, c-format +msgid "\\watch: incorrect minimum row count \"%s\"" +msgstr "\\watch: неправильна мінімальна кількість рядків \"%s\"" + +#: command.c:2858 #, c-format msgid "\\watch: unrecognized parameter \"%s\"" msgstr "\\watch: нерозпізнаний параметр \"%s\"" -#: command.c:3236 startup.c:243 startup.c:293 +#: command.c:3255 startup.c:243 startup.c:293 msgid "Password: " msgstr "Пароль: " -#: command.c:3241 startup.c:290 +#: command.c:3260 startup.c:290 #, c-format msgid "Password for user %s: " msgstr "Пароль користувача %s:" -#: command.c:3297 +#: command.c:3316 #, c-format msgid "Do not give user, host, or port separately when using a connection string" msgstr "Не надайте користувачеві, хосту або порту окремо під час використання рядка підключення" -#: command.c:3332 +#: command.c:3351 #, c-format msgid "No database connection exists to re-use parameters from" msgstr "Не існує підключення до бази даних для повторного використання параметрів" -#: command.c:3638 +#: command.c:3658 #, c-format msgid "Previous connection kept" msgstr "Попереднє підключення триває" -#: command.c:3644 +#: command.c:3664 #, c-format msgid "\\connect: %s" msgstr "\\connect: %s" -#: command.c:3700 +#: command.c:3720 #, 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:3703 +#: command.c:3723 #, 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:3709 +#: command.c:3729 #, 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:3712 +#: command.c:3732 #, 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:3717 +#: command.c:3737 #, c-format msgid "You are now connected to database \"%s\" as user \"%s\".\n" msgstr "Ви тепер під'єднані до бази даних \"%s\" як користувач \"%s\".\n" -#: command.c:3757 +#: command.c:3843 #, c-format msgid "%s (%s, server %s)\n" msgstr "%s (%s, сервер %s)\n" -#: command.c:3770 +#: command.c:3856 #, 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:3807 +#: command.c:3895 #, c-format -msgid "SSL connection (protocol: %s, cipher: %s, compression: %s)\n" -msgstr "З'єднання SSL (протокол: %s, шифр: %s, компресія: %s)\n" +msgid "SSL connection (protocol: %s, cipher: %s, compression: %s, ALPN: %s)\n" +msgstr "З'єднання SSL (протокол: %s, шифр: %s, компресія: %s, ALPN: %s)\n" -#: command.c:3808 command.c:3809 +#: command.c:3896 command.c:3897 msgid "unknown" msgstr "невідомо" -#: command.c:3810 help.c:42 +#: command.c:3898 help.c:42 msgid "off" msgstr "вимк" -#: command.c:3810 help.c:42 +#: command.c:3898 help.c:42 msgid "on" msgstr "увімк" -#: command.c:3824 +#: command.c:3899 +msgid "none" +msgstr "нічого" + +#: command.c:3913 #, c-format msgid "GSSAPI-encrypted connection\n" msgstr "З'єднання зашифровано GSSAPI\n" -#: command.c:3844 +#: command.c:3933 #, 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" @@ -489,187 +533,187 @@ msgstr "УВАГА: Кодова сторінка консолі (%u) відрі " 8-бітові символи можуть працювати неправильно. Детальніше у розділі \n" " \"Нотатки для користувачів Windows\" у документації psql.\n" -#: command.c:3949 +#: command.c:4038 #, c-format msgid "environment variable PSQL_EDITOR_LINENUMBER_ARG must be set to specify a line number" msgstr "змінна середовища PSQL_EDITOR_LINENUMBER_ARG має бути встановлена, щоб вказувати номер рядка" -#: command.c:3979 +#: command.c:4068 #, c-format msgid "could not start editor \"%s\"" msgstr "неможливо запустити редактор \"%s\"" -#: command.c:3981 +#: command.c:4070 #, c-format msgid "could not start /bin/sh" msgstr "неможливо запустити /bin/sh" -#: command.c:4031 +#: command.c:4120 #, c-format msgid "could not locate temporary directory: %s" msgstr "неможливо знайти тимчасову директорію: %s" -#: command.c:4058 +#: command.c:4147 #, c-format msgid "could not open temporary file \"%s\": %m" msgstr "неможливо відкрити тимчасовий файл \"%s\": %m" -#: command.c:4394 +#: command.c:4483 #, c-format msgid "\\pset: ambiguous abbreviation \"%s\" matches both \"%s\" and \"%s\"" msgstr "\\pset: неоднозначна абревіатура \"%s\" відповідає обом \"%s\" і \"%s" -#: command.c:4414 +#: command.c:4503 #, 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:4433 +#: command.c:4522 #, c-format msgid "\\pset: allowed line styles are ascii, old-ascii, unicode" msgstr "\\pset: дозволені стилі ліній: ascii, old-ascii, unicode" -#: command.c:4448 +#: command.c:4537 #, c-format msgid "\\pset: allowed Unicode border line styles are single, double" msgstr "\\pset: дозволені стилі ліній рамок Unicode: single, double" -#: command.c:4463 +#: command.c:4552 #, c-format msgid "\\pset: allowed Unicode column line styles are single, double" msgstr "\\pset: дозволені стилі ліній стовпців для Unicode: single, double" -#: command.c:4478 +#: command.c:4567 #, c-format msgid "\\pset: allowed Unicode header line styles are single, double" msgstr "\\pset: дозволені стилі ліній заголовків для Unicode: single, double" -#: command.c:4530 +#: command.c:4619 #, 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:4547 +#: command.c:4636 #, c-format msgid "\\pset: csv_fieldsep must be a single one-byte character" msgstr "\\pset: csv_fieldsep повинен бути однобайтовим символом" -#: command.c:4552 +#: command.c:4641 #, c-format msgid "\\pset: csv_fieldsep cannot be a double quote, a newline, or a carriage return" msgstr "\\pset: csv_fieldsep не може бути подвійною лапкою, новим рядком або поверненням каретки" -#: command.c:4690 command.c:4891 +#: command.c:4779 command.c:4980 #, c-format msgid "\\pset: unknown option: %s" msgstr "\\pset: невідомий параметр: %s" -#: command.c:4710 +#: command.c:4799 #, c-format msgid "Border style is %d.\n" msgstr "Стиль рамки %d.\n" -#: command.c:4716 +#: command.c:4805 #, c-format msgid "Target width is unset.\n" msgstr "Цільова ширина не встановлена.\n" -#: command.c:4718 +#: command.c:4807 #, c-format msgid "Target width is %d.\n" msgstr "Цільова ширина %d.\n" -#: command.c:4725 +#: command.c:4814 #, c-format msgid "Expanded display is on.\n" msgstr "Розширене відображення увімкнуто.\n" -#: command.c:4727 +#: command.c:4816 #, c-format msgid "Expanded display is used automatically.\n" msgstr "Розширене відображення використовується автоматично.\n" -#: command.c:4729 +#: command.c:4818 #, c-format msgid "Expanded display is off.\n" msgstr "Розширене відображення вимкнуто.\n" -#: command.c:4736 command.c:4738 command.c:4740 +#: command.c:4825 command.c:4827 command.c:4829 #, c-format msgid "Expanded header width is \"%s\".\n" msgstr "Розширена ширина заголовка \"%s\".\n" -#: command.c:4742 +#: command.c:4831 #, c-format msgid "Expanded header width is %d.\n" msgstr "Розширена ширина заголовка %d.\n" -#: command.c:4748 +#: command.c:4837 #, c-format msgid "Field separator for CSV is \"%s\".\n" msgstr "Розділювач полів CSV: \"%s\".\n" -#: command.c:4756 command.c:4764 +#: command.c:4845 command.c:4853 #, c-format msgid "Field separator is zero byte.\n" msgstr "Розділювач полів - нульовий байт.\n" -#: command.c:4758 +#: command.c:4847 #, c-format msgid "Field separator is \"%s\".\n" msgstr "Розділювач полів \"%s\".\n" -#: command.c:4771 +#: command.c:4860 #, c-format msgid "Default footer is on.\n" msgstr "Нинжній колонтитул увімкнуто за замовчуванням.\n" -#: command.c:4773 +#: command.c:4862 #, c-format msgid "Default footer is off.\n" msgstr "Нинжній колонтитул вимкнуто за замовчуванням.\n" -#: command.c:4779 +#: command.c:4868 #, c-format msgid "Output format is %s.\n" msgstr "Формат виводу %s.\n" -#: command.c:4785 +#: command.c:4874 #, c-format msgid "Line style is %s.\n" msgstr "Стиль лінії %s.\n" -#: command.c:4792 +#: command.c:4881 #, c-format msgid "Null display is \"%s\".\n" msgstr "Null відображається як \"%s\".\n" -#: command.c:4800 +#: command.c:4889 #, c-format msgid "Locale-adjusted numeric output is on.\n" msgstr "Локалізоване виведення чисел ввімкнено.\n" -#: command.c:4802 +#: command.c:4891 #, c-format msgid "Locale-adjusted numeric output is off.\n" msgstr "Локалізоване виведення чисел вимкнено.\n" -#: command.c:4809 +#: command.c:4898 #, c-format msgid "Pager is used for long output.\n" msgstr "Пейджер використовується для виведення довгого тексту.\n" -#: command.c:4811 +#: command.c:4900 #, c-format msgid "Pager is always used.\n" msgstr "Завжди використовується пейджер.\n" -#: command.c:4813 +#: command.c:4902 #, c-format msgid "Pager usage is off.\n" msgstr "Пейджер не використовується.\n" -#: command.c:4819 +#: command.c:4908 #, 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" @@ -678,240 +722,245 @@ msgstr[1] "Пейджер не буде використовуватися дл msgstr[2] "Пейджер не буде використовуватися для менш ніж %d рядків.\n" msgstr[3] "Пейджер не буде використовуватися для менш ніж %d рядка.\n" -#: command.c:4829 command.c:4839 +#: command.c:4918 command.c:4928 #, c-format msgid "Record separator is zero byte.\n" msgstr "Розділювач записів - нульовий байт.\n" -#: command.c:4831 +#: command.c:4920 #, c-format msgid "Record separator is .\n" msgstr "Розділювач записів: .\n" -#: command.c:4833 +#: command.c:4922 #, c-format msgid "Record separator is \"%s\".\n" msgstr "Розділювач записів: \"%s\".\n" -#: command.c:4846 +#: command.c:4935 #, c-format msgid "Table attributes are \"%s\".\n" msgstr "Табличні атрибути \"%s\".\n" -#: command.c:4849 +#: command.c:4938 #, c-format msgid "Table attributes unset.\n" msgstr "Атрибути таблиць не задані.\n" -#: command.c:4856 +#: command.c:4945 #, c-format msgid "Title is \"%s\".\n" msgstr "Заголовок: \"%s\".\n" -#: command.c:4858 +#: command.c:4947 #, c-format msgid "Title is unset.\n" msgstr "Заголовок не встановлено.\n" -#: command.c:4865 +#: command.c:4954 #, c-format msgid "Tuples only is on.\n" msgstr "Увімкнуто тільки кортежі.\n" -#: command.c:4867 +#: command.c:4956 #, c-format msgid "Tuples only is off.\n" msgstr "Вимкнуто тільки кортежі.\n" -#: command.c:4873 +#: command.c:4962 #, c-format msgid "Unicode border line style is \"%s\".\n" msgstr "Стиль ліній рамки для Unicode: \"%s\".\n" -#: command.c:4879 +#: command.c:4968 #, c-format msgid "Unicode column line style is \"%s\".\n" msgstr "Стиль ліній стовпців для Unicode: \"%s\".\n" -#: command.c:4885 +#: command.c:4974 #, c-format msgid "Unicode header line style is \"%s\".\n" msgstr "Стиль ліній заголовків для Unicode: \"%s\".\n" -#: command.c:5134 +#: command.c:5223 #, c-format msgid "\\!: failed" msgstr "\\!: помилка" -#: command.c:5168 +#: command.c:5257 #, c-format msgid "\\watch cannot be used with an empty query" msgstr "\\watch не може бути використано із пустим запитом" -#: command.c:5200 +#: command.c:5289 #, c-format msgid "could not set timer: %m" msgstr "не вдалося встановити таймер: %m" -#: command.c:5269 +#: command.c:5358 #, c-format msgid "%s\t%s (every %gs)\n" msgstr "%s\t%s (кожні %g сек)\n" -#: command.c:5272 +#: command.c:5361 #, c-format msgid "%s (every %gs)\n" msgstr "%s (кожні %g сек)\n" -#: command.c:5340 +#: command.c:5424 #, c-format msgid "could not wait for signals: %m" msgstr "не вдалося дочекатися сигналів: %m" -#: command.c:5398 command.c:5405 common.c:592 common.c:599 common.c:1083 +#: command.c:5480 command.c:5487 common.c:632 common.c:639 common.c:1123 #, c-format -msgid "********* QUERY **********\n" +msgid "/******** QUERY *********/\n" "%s\n" -"**************************\n\n" -msgstr "********* ЗАПИТ **********\n" +"/************************/\n\n" +msgstr "/******** ЗАПИТ *********/\n" "%s\n" -"**************************\n\n" +"/************************/\n\n" -#: command.c:5584 +#: command.c:5666 #, c-format msgid "\"%s.%s\" is not a view" msgstr "\"%s.%s\" не є поданням" -#: command.c:5600 +#: command.c:5682 #, c-format msgid "could not parse reloptions array" msgstr "неможливо розібрати масив reloptions" -#: common.c:167 +#: common.c:206 #, c-format msgid "cannot escape without active connection" msgstr "не можна вийти без активного з'єднання" -#: common.c:208 +#: common.c:247 #, c-format msgid "shell command argument contains a newline or carriage return: \"%s\"" msgstr "аргумент командної оболонки містить символ нового рядка або повернення каретки: \"%s\"" -#: common.c:312 +#: common.c:351 #, c-format msgid "connection to server was lost" msgstr "з'єднання із сервером втрачено" -#: common.c:316 +#: common.c:355 #, c-format msgid "The connection to the server was lost. Attempting reset: " msgstr "З'єднання із сервером втрачено. Спроба перевстановити:" -#: common.c:321 +#: common.c:360 #, c-format msgid "Failed.\n" msgstr "Помилка.\n" -#: common.c:338 +#: common.c:377 #, c-format msgid "Succeeded.\n" msgstr "Вдало.\n" -#: common.c:390 common.c:1021 +#: common.c:430 common.c:1061 #, c-format msgid "unexpected PQresultStatus: %d" msgstr "неочікуваний PQresultStatus: %d" -#: common.c:531 +#: common.c:571 #, c-format msgid "Time: %.3f ms\n" msgstr "Час: %.3f мс\n" -#: common.c:546 +#: common.c:586 #, c-format msgid "Time: %.3f ms (%02d:%06.3f)\n" msgstr "Час: %.3f мс (%02d:%06.3f)\n" -#: common.c:555 +#: common.c:595 #, c-format msgid "Time: %.3f ms (%02d:%02d:%06.3f)\n" msgstr "Час: %.3f мс (%02d:%02d:%06.3f)\n" -#: common.c:562 +#: common.c:602 #, c-format msgid "Time: %.3f ms (%.0f d %02d:%02d:%06.3f)\n" msgstr "Час: %.3f мс (%.0f d %02d:%02d:%06.3f)\n" -#: common.c:586 common.c:643 common.c:1054 describe.c:6214 +#: common.c:626 common.c:683 common.c:1094 describe.c:6192 #, c-format msgid "You are currently not connected to a database." msgstr "На даний момент ви від'єднанні від бази даних." -#: common.c:674 +#: common.c:714 #, c-format msgid "Asynchronous notification \"%s\" with payload \"%s\" received from server process with PID %d.\n" msgstr "Асинхронне сповіщення \"%s\" з навантаженням \"%s\" отримане від серверного процесу з PID %d.\n" -#: common.c:677 +#: common.c:717 #, c-format msgid "Asynchronous notification \"%s\" received from server process with PID %d.\n" msgstr "Асинхронне сповіщення \"%s\" отримане від серверного процесу з PID %d.\n" -#: common.c:708 +#: common.c:748 #, c-format msgid "could not print result table: %m" msgstr "не вдалося надрукувати таблицю результатів: %m" -#: common.c:728 +#: common.c:768 #, c-format msgid "no rows returned for \\gset" msgstr "немає рядків повернутих для \\gset" -#: common.c:733 +#: common.c:773 #, c-format msgid "more than one row returned for \\gset" msgstr "більш, ніж один рядок повернуто для \\gset" -#: common.c:751 +#: common.c:791 #, c-format msgid "attempt to \\gset into specially treated variable \"%s\" ignored" msgstr "спробу виконати \\gset в спеціальну змінну \"%s\" проігноровано" -#: common.c:1063 +#: common.c:1103 #, c-format -msgid "***(Single step mode: verify command)*******************************************\n" +msgid "/**(Single step mode: verify command)******************************************/\n" "%s\n" -"***(press return to proceed or enter x and return to cancel)********************\n" -msgstr "***(Покроковий режим: перевірка команди)*******************************************\n" +"/**(press return to proceed or enter x and return to cancel)*******************/\n" +msgstr "/**(Однокроковий режим: команда verify)******************************************/\n" "%s\n" -"***(Enter - виповнити; х і Enter - відмінити)********************\n" +"/**(натисніть клавішу Return, щоб продовжити, або введіть x і Return, щоб скасувати.)*******************/\n" -#: common.c:1146 +#: common.c:1180 #, c-format msgid "STATEMENT: %s" msgstr "ІНСТРУКЦІЯ: %s" -#: common.c:1182 +#: common.c:1216 #, c-format msgid "unexpected transaction status (%d)" msgstr "неочікуваний стан транзакції (%d)" -#: common.c:1335 describe.c:2026 +#: common.c:1362 describe.c:2025 msgid "Column" msgstr "Стовпець" -#: common.c:1336 describe.c:170 describe.c:358 describe.c:376 describe.c:1046 -#: describe.c:1200 describe.c:1732 describe.c:1756 describe.c:2027 -#: describe.c:3958 describe.c:4170 describe.c:4409 describe.c:4571 -#: describe.c:5846 +#: common.c:1363 describe.c:169 describe.c:355 describe.c:373 describe.c:1043 +#: describe.c:1201 describe.c:1731 describe.c:1755 describe.c:2026 +#: describe.c:3956 describe.c:4167 describe.c:4404 describe.c:4564 +#: describe.c:5829 msgid "Type" msgstr "Тип" -#: common.c:1385 +#: common.c:1412 #, c-format msgid "The command has no result, or the result has no columns.\n" msgstr "Команда не має результату або результат не має стовпців.\n" +#: common.c:1504 +#, c-format +msgid "fetching results in chunked mode failed" +msgstr "помилка отримання результатів у режимі частинами" + #: copy.c:98 #, c-format msgid "\\copy: arguments required" @@ -927,11 +976,6 @@ msgstr "\\copy: помилка розбору аргументу біля \"%s\" msgid "\\copy: parse error at end of line" msgstr "\\copy: помилка розбору в кінці рядка" -#: copy.c:326 -#, c-format -msgid "could not execute command \"%s\": %m" -msgstr "не вдалося виконати команду \"%s\": %m" - #: copy.c:342 #, c-format msgid "could not stat file \"%s\": %m" @@ -967,338 +1011,339 @@ msgid "Enter data to be copied followed by a newline.\n" msgstr "Введіть дані для копювання, розділяючи переносом рядка.\n" "Завершіть введення за допомогою \"\\.\" або за допомогою сигналу EOF." -#: copy.c:683 +#: copy.c:684 msgid "aborted because of read failure" msgstr "перервано через помилку читання" -#: copy.c:717 +#: copy.c:718 msgid "trying to exit copy mode" msgstr "спроба вийти з режиму копіювання" -#: crosstabview.c:123 +#: crosstabview.c:124 #, c-format msgid "\\crosstabview: statement did not return a result set" msgstr "\\crosstabview: команда не повернула набір з результатами" -#: crosstabview.c:129 +#: crosstabview.c:130 #, c-format msgid "\\crosstabview: query must return at least three columns" msgstr "\\crosstabview: запит має повернути принаймні три стовпці" -#: crosstabview.c:156 +#: crosstabview.c:157 #, c-format msgid "\\crosstabview: vertical and horizontal headers must be different columns" msgstr "\\crosstabview: вертикальні і горизонтальні заголовки повинні бути різними стовпцями" -#: crosstabview.c:172 +#: crosstabview.c:173 #, c-format msgid "\\crosstabview: data column must be specified when query returns more than three columns" msgstr "\\crosstabview: необхідно вказати стовпець даних, коли запит повертає більше трьох стовпців" -#: crosstabview.c:228 +#: crosstabview.c:229 #, c-format msgid "\\crosstabview: maximum number of columns (%d) exceeded" msgstr "\\crosstabview: Максимальна кількість стовпців (%d) перевищена" -#: crosstabview.c:397 +#: crosstabview.c:398 #, c-format msgid "\\crosstabview: query result contains multiple data values for row \"%s\", column \"%s\"" msgstr "\\crosstabview: результат запиту містить кілька значень даних для рядка «%s», стовпця «%s»" -#: crosstabview.c:645 +#: crosstabview.c:646 #, c-format msgid "\\crosstabview: column number %d is out of range 1..%d" msgstr "\\crosstabview: номер стовпця %d поза межами 1..%d" -#: crosstabview.c:670 +#: crosstabview.c:671 #, c-format msgid "\\crosstabview: ambiguous column name: \"%s\"" msgstr "\\crosstabview: неоднозначна назва стовпця: \"%s\"" -#: crosstabview.c:678 +#: crosstabview.c:679 #, c-format msgid "\\crosstabview: column name not found: \"%s\"" msgstr "\\crosstabview: ім'я стовпця не знайдено: \"%s\"" -#: describe.c:87 describe.c:338 describe.c:630 describe.c:807 describe.c:1038 -#: describe.c:1189 describe.c:1264 describe.c:3947 describe.c:4157 -#: describe.c:4407 describe.c:4489 describe.c:4724 describe.c:4932 -#: describe.c:5174 describe.c:5418 describe.c:5488 describe.c:5499 -#: describe.c:5556 describe.c:5960 describe.c:6038 +#: describe.c:87 describe.c:335 describe.c:626 describe.c:802 describe.c:1035 +#: describe.c:1190 describe.c:1264 describe.c:3945 describe.c:4154 +#: describe.c:4402 describe.c:4483 describe.c:4715 describe.c:4921 +#: describe.c:5165 describe.c:5406 describe.c:5475 describe.c:5486 +#: describe.c:5542 describe.c:5941 describe.c:6018 msgid "Schema" msgstr "Схема" -#: describe.c:88 describe.c:167 describe.c:229 describe.c:339 describe.c:631 -#: describe.c:808 describe.c:930 describe.c:1039 describe.c:1265 -#: describe.c:3948 describe.c:4158 describe.c:4323 describe.c:4408 -#: describe.c:4490 describe.c:4653 describe.c:4725 describe.c:4933 -#: describe.c:5046 describe.c:5175 describe.c:5419 describe.c:5489 -#: describe.c:5500 describe.c:5557 describe.c:5756 describe.c:5827 -#: describe.c:6036 describe.c:6265 describe.c:6573 +#: describe.c:88 describe.c:166 describe.c:227 describe.c:336 describe.c:627 +#: describe.c:803 describe.c:924 describe.c:1036 describe.c:1265 +#: describe.c:3946 describe.c:4155 describe.c:4319 describe.c:4403 +#: describe.c:4484 describe.c:4645 describe.c:4716 describe.c:4922 +#: describe.c:5038 describe.c:5166 describe.c:5407 describe.c:5476 +#: describe.c:5487 describe.c:5543 describe.c:5740 describe.c:5810 +#: describe.c:6016 describe.c:6243 describe.c:6551 msgid "Name" msgstr "Назва" -#: describe.c:89 describe.c:351 describe.c:369 +#: describe.c:89 describe.c:348 describe.c:366 msgid "Result data type" msgstr "Тип даних результату" -#: describe.c:90 describe.c:352 describe.c:370 +#: describe.c:90 describe.c:349 describe.c:367 msgid "Argument data types" msgstr "Типи даних аргументів" -#: describe.c:98 describe.c:105 describe.c:178 describe.c:243 describe.c:418 -#: describe.c:662 describe.c:823 describe.c:974 describe.c:1267 describe.c:2047 -#: describe.c:3676 describe.c:4002 describe.c:4204 describe.c:4347 -#: describe.c:4421 describe.c:4499 describe.c:4666 describe.c:4844 -#: describe.c:4982 describe.c:5055 describe.c:5176 describe.c:5327 -#: describe.c:5369 describe.c:5435 describe.c:5492 describe.c:5501 -#: describe.c:5558 describe.c:5774 describe.c:5849 describe.c:5974 -#: describe.c:6039 describe.c:7093 +#: describe.c:98 describe.c:105 describe.c:177 describe.c:241 describe.c:415 +#: describe.c:658 describe.c:818 describe.c:972 describe.c:1267 describe.c:2046 +#: describe.c:3676 describe.c:4000 describe.c:4201 describe.c:4343 +#: describe.c:4416 describe.c:4493 describe.c:4658 describe.c:4834 +#: describe.c:4975 describe.c:5047 describe.c:5167 describe.c:5317 +#: describe.c:5358 describe.c:5423 describe.c:5479 describe.c:5488 +#: describe.c:5544 describe.c:5758 describe.c:5832 describe.c:5955 +#: describe.c:6019 describe.c:7078 msgid "Description" msgstr "Опис" -#: describe.c:128 +#: describe.c:127 msgid "List of aggregate functions" msgstr "Перелік агрегатних функцій" -#: describe.c:153 +#: describe.c:152 #, c-format msgid "The server (version %s) does not support access methods." msgstr "Сервер (версія %s) не підтримує методи доступу." -#: describe.c:168 +#: describe.c:167 msgid "Index" msgstr "Індекс" -#: describe.c:169 describe.c:3966 describe.c:4183 describe.c:5961 +#: describe.c:168 describe.c:3964 describe.c:4180 describe.c:5942 msgid "Table" msgstr "Таблиця" -#: describe.c:177 describe.c:5758 +#: describe.c:176 describe.c:5742 msgid "Handler" msgstr "Обробник" -#: describe.c:201 +#: describe.c:199 msgid "List of access methods" msgstr "Список методів доступу" -#: describe.c:230 describe.c:404 describe.c:655 describe.c:931 describe.c:1188 -#: describe.c:3959 describe.c:4159 describe.c:4324 describe.c:4655 -#: describe.c:5047 describe.c:5757 describe.c:5828 describe.c:6266 -#: describe.c:6454 describe.c:6574 describe.c:6733 describe.c:6819 -#: describe.c:7081 +#: describe.c:228 describe.c:401 describe.c:651 describe.c:925 describe.c:1189 +#: describe.c:3957 describe.c:4156 describe.c:4320 describe.c:4647 +#: describe.c:5039 describe.c:5741 describe.c:5811 describe.c:6244 +#: describe.c:6431 describe.c:6552 describe.c:6722 describe.c:6807 +#: describe.c:7066 msgid "Owner" msgstr "Власник" -#: describe.c:231 +#: describe.c:229 msgid "Location" msgstr "Розташування" -#: describe.c:241 describe.c:3517 describe.c:3858 +#: describe.c:239 describe.c:3517 describe.c:3857 msgid "Options" msgstr "Параметри" -#: describe.c:242 describe.c:653 describe.c:972 describe.c:4001 +#: describe.c:240 describe.c:649 describe.c:970 describe.c:3999 msgid "Size" msgstr "Розмір" -#: describe.c:266 +#: describe.c:263 msgid "List of tablespaces" msgstr "Список табличних просторів" -#: describe.c:311 +#: describe.c:308 #, c-format msgid "\\df only takes [anptwS+] as options" msgstr "\\df приймає в якості параметрів тільки [anptwS+]" -#: describe.c:319 +#: describe.c:316 #, c-format msgid "\\df does not take a \"%c\" option with server version %s" msgstr "\\df не приймає параметр \"%c\" із сервером версії %s" #. translator: "agg" is short for "aggregate" -#: describe.c:354 describe.c:372 +#: describe.c:351 describe.c:369 msgid "agg" msgstr "агр." -#: describe.c:355 describe.c:373 +#: describe.c:352 describe.c:370 msgid "window" msgstr "вікно" -#: describe.c:356 +#: describe.c:353 msgid "proc" msgstr "проц" -#: describe.c:357 describe.c:375 +#: describe.c:354 describe.c:372 msgid "func" msgstr "функ" -#: describe.c:374 describe.c:1397 +#: describe.c:371 describe.c:1397 msgid "trigger" msgstr "тригер" -#: describe.c:386 +#: describe.c:383 msgid "immutable" msgstr "постійна" -#: describe.c:387 +#: describe.c:384 msgid "stable" msgstr "стабільна" -#: describe.c:388 +#: describe.c:385 msgid "volatile" msgstr "мінлива" -#: describe.c:389 +#: describe.c:386 msgid "Volatility" msgstr "Мінливість" -#: describe.c:397 +#: describe.c:394 msgid "restricted" msgstr "обмежений" -#: describe.c:398 +#: describe.c:395 msgid "safe" msgstr "безпечний" -#: describe.c:399 +#: describe.c:396 msgid "unsafe" msgstr "небезпечний" -#: describe.c:400 +#: describe.c:397 msgid "Parallel" msgstr "Паралельність" -#: describe.c:405 +#: describe.c:402 msgid "definer" msgstr "визначник" -#: describe.c:406 +#: describe.c:403 msgid "invoker" msgstr "викликач" -#: describe.c:407 +#: describe.c:404 msgid "Security" msgstr "Безпека" -#: describe.c:412 +#: describe.c:409 msgid "Language" msgstr "Мова" -#: describe.c:415 describe.c:652 +#: describe.c:412 describe.c:648 msgid "Internal name" msgstr "Внутрішнє назва" -#: describe.c:589 +#: describe.c:585 msgid "List of functions" msgstr "Список функцій" -#: describe.c:654 +#: describe.c:650 msgid "Elements" msgstr "Елементи" -#: describe.c:706 +#: describe.c:701 msgid "List of data types" msgstr "Список типів даних" -#: describe.c:809 +#: describe.c:804 msgid "Left arg type" msgstr "Тип лівого аргумента" -#: describe.c:810 +#: describe.c:805 msgid "Right arg type" msgstr "Тип правого аргумента" -#: describe.c:811 +#: describe.c:806 msgid "Result type" msgstr "Результуючий тип" -#: describe.c:816 describe.c:4661 describe.c:4827 describe.c:5326 -#: describe.c:7010 describe.c:7014 +#: describe.c:811 describe.c:4653 describe.c:4817 describe.c:5316 +#: describe.c:6996 describe.c:7000 msgid "Function" msgstr "Функція" -#: describe.c:897 +#: describe.c:891 msgid "List of operators" msgstr "Список операторів" -#: describe.c:932 +#: describe.c:926 msgid "Encoding" msgstr "Кодування" -#: describe.c:936 describe.c:940 +#: describe.c:930 describe.c:934 msgid "Locale Provider" msgstr "Постачальник локалі" -#: describe.c:944 describe.c:4947 +#: describe.c:938 describe.c:4936 msgid "Collate" msgstr "Порядок сортування" -#: describe.c:945 describe.c:4948 +#: describe.c:939 describe.c:4937 msgid "Ctype" msgstr "Ctype" -#: describe.c:949 describe.c:953 describe.c:4953 describe.c:4957 -msgid "ICU Locale" -msgstr "Локалізація ICU" +#: describe.c:943 describe.c:947 describe.c:951 describe.c:4942 describe.c:4946 +#: describe.c:4950 +msgid "Locale" +msgstr "Локаль" -#: describe.c:957 describe.c:961 describe.c:4962 describe.c:4966 +#: describe.c:955 describe.c:959 describe.c:4955 describe.c:4959 msgid "ICU Rules" msgstr "Правила ICU" -#: describe.c:973 +#: describe.c:971 msgid "Tablespace" msgstr "Табличний простір" -#: describe.c:999 +#: describe.c:996 msgid "List of databases" msgstr "Список баз даних" -#: describe.c:1040 describe.c:1191 describe.c:3949 +#: describe.c:1037 describe.c:1192 describe.c:3947 msgid "table" msgstr "таблиця" -#: describe.c:1041 describe.c:3950 +#: describe.c:1038 describe.c:3948 msgid "view" msgstr "подання" -#: describe.c:1042 describe.c:3951 +#: describe.c:1039 describe.c:3949 msgid "materialized view" msgstr "матеріалізоване подання" -#: describe.c:1043 describe.c:1193 describe.c:3953 +#: describe.c:1040 describe.c:1194 describe.c:3951 msgid "sequence" msgstr "послідовність" -#: describe.c:1044 describe.c:3955 +#: describe.c:1041 describe.c:3953 msgid "foreign table" msgstr "зовнішня таблиця" -#: describe.c:1045 describe.c:3956 describe.c:4168 +#: describe.c:1042 describe.c:3954 describe.c:4165 msgid "partitioned table" msgstr "секційна таблиця" -#: describe.c:1056 +#: describe.c:1058 msgid "Column privileges" msgstr "Права для стовпців" -#: describe.c:1087 describe.c:1121 +#: describe.c:1089 describe.c:1123 msgid "Policies" msgstr "Політики" -#: describe.c:1150 describe.c:4577 describe.c:6678 +#: describe.c:1151 describe.c:4570 describe.c:6667 msgid "Access privileges" msgstr "Права доступу" -#: describe.c:1195 +#: describe.c:1196 msgid "function" msgstr "функція" -#: describe.c:1197 +#: describe.c:1198 msgid "type" msgstr "тип" -#: describe.c:1199 +#: describe.c:1200 msgid "schema" msgstr "схема" @@ -1330,293 +1375,293 @@ msgstr "сімейство операторів" msgid "rule" msgstr "правило" -#: describe.c:1421 +#: describe.c:1420 msgid "Object descriptions" msgstr "Опис об'єкту" -#: describe.c:1486 describe.c:4074 +#: describe.c:1485 describe.c:4072 #, c-format msgid "Did not find any relation named \"%s\"." msgstr "Не знайдено жодного відношення під назвою \"%s\"." -#: describe.c:1489 describe.c:4077 +#: describe.c:1488 describe.c:4075 #, c-format msgid "Did not find any relations." msgstr "Не знайдено жодного відношення." -#: describe.c:1685 +#: describe.c:1684 #, c-format msgid "Did not find any relation with OID %s." msgstr "Не знайдено жодного відношення з OID %s." -#: describe.c:1733 describe.c:1757 +#: describe.c:1732 describe.c:1756 msgid "Start" msgstr "Початок" -#: describe.c:1734 describe.c:1758 +#: describe.c:1733 describe.c:1757 msgid "Minimum" msgstr "Мінімум" -#: describe.c:1735 describe.c:1759 +#: describe.c:1734 describe.c:1758 msgid "Maximum" msgstr "Максимум" -#: describe.c:1736 describe.c:1760 +#: describe.c:1735 describe.c:1759 msgid "Increment" msgstr "Приріст" -#: describe.c:1737 describe.c:1761 describe.c:1890 describe.c:4493 -#: describe.c:4838 describe.c:4971 describe.c:4976 describe.c:6721 +#: describe.c:1736 describe.c:1760 describe.c:1889 describe.c:4487 +#: describe.c:4828 describe.c:4964 describe.c:4969 describe.c:6710 msgid "yes" msgstr "так" -#: describe.c:1738 describe.c:1762 describe.c:1891 describe.c:4493 -#: describe.c:4835 describe.c:4971 describe.c:6722 +#: describe.c:1737 describe.c:1761 describe.c:1890 describe.c:4487 +#: describe.c:4825 describe.c:4964 describe.c:6711 msgid "no" msgstr "ні" -#: describe.c:1739 describe.c:1763 +#: describe.c:1738 describe.c:1762 msgid "Cycles?" msgstr "Цикли?" -#: describe.c:1740 describe.c:1764 +#: describe.c:1739 describe.c:1763 msgid "Cache" msgstr "Кеш" -#: describe.c:1805 +#: describe.c:1804 #, c-format msgid "Owned by: %s" msgstr "Власник: %s" -#: describe.c:1809 +#: describe.c:1808 #, c-format msgid "Sequence for identity column: %s" msgstr "Послідовність для стовпця identity: %s" -#: describe.c:1817 +#: describe.c:1816 #, c-format msgid "Unlogged sequence \"%s.%s\"" msgstr "Послідовність без журналювання \"%s.%s\"" -#: describe.c:1820 +#: describe.c:1819 #, c-format msgid "Sequence \"%s.%s\"" msgstr "Послідовність \"%s.%s\"" -#: describe.c:1963 +#: describe.c:1962 #, c-format msgid "Unlogged table \"%s.%s\"" msgstr "Таблиця без журналювання \"%s.%s\"" -#: describe.c:1966 +#: describe.c:1965 #, c-format msgid "Table \"%s.%s\"" msgstr "Таблиця \"%s.%s\"" -#: describe.c:1970 +#: describe.c:1969 #, c-format msgid "View \"%s.%s\"" msgstr "Подання \"%s.%s\"" -#: describe.c:1975 +#: describe.c:1974 #, c-format msgid "Unlogged materialized view \"%s.%s\"" msgstr "Матеріалізоване подання без журналювання \"%s.%s\"" -#: describe.c:1978 +#: describe.c:1977 #, c-format msgid "Materialized view \"%s.%s\"" msgstr "Матеріалізоване подання \"%s.%s\"" -#: describe.c:1983 +#: describe.c:1982 #, c-format msgid "Unlogged index \"%s.%s\"" msgstr "Індекс без журналювання \"%s.%s\"" -#: describe.c:1986 +#: describe.c:1985 #, c-format msgid "Index \"%s.%s\"" msgstr "Індекс \"%s.%s\"" -#: describe.c:1991 +#: describe.c:1990 #, c-format msgid "Unlogged partitioned index \"%s.%s\"" msgstr "Секційний індекс без журналювання \"%s.%s\"" -#: describe.c:1994 +#: describe.c:1993 #, c-format msgid "Partitioned index \"%s.%s\"" msgstr "Секційний індекс \"%s.%s\"" -#: describe.c:1998 +#: describe.c:1997 #, c-format msgid "TOAST table \"%s.%s\"" msgstr "Таблиця TOAST \"%s.%s\"" -#: describe.c:2002 +#: describe.c:2001 #, c-format msgid "Composite type \"%s.%s\"" msgstr "Композитний тип \"%s.%s\"" -#: describe.c:2006 +#: describe.c:2005 #, c-format msgid "Foreign table \"%s.%s\"" msgstr "Зовнішня таблиця \"%s.%s\"" -#: describe.c:2011 +#: describe.c:2010 #, c-format msgid "Unlogged partitioned table \"%s.%s\"" msgstr "Секційна таблиця без журналювання \"%s.%s\"" -#: describe.c:2014 +#: describe.c:2013 #, c-format msgid "Partitioned table \"%s.%s\"" msgstr "Секційна таблиця \"%s.%s\"" -#: describe.c:2030 describe.c:4410 +#: describe.c:2029 describe.c:4405 msgid "Collation" msgstr "Сортування" -#: describe.c:2031 describe.c:4411 +#: describe.c:2030 describe.c:4406 msgid "Nullable" msgstr "Обнуляється" -#: describe.c:2032 describe.c:4412 +#: describe.c:2031 describe.c:4407 msgid "Default" msgstr "За замовчуванням" -#: describe.c:2035 +#: describe.c:2034 msgid "Key?" msgstr "Ключ?" -#: describe.c:2037 describe.c:4732 describe.c:4743 +#: describe.c:2036 describe.c:4723 describe.c:4734 msgid "Definition" msgstr "Визначення" -#: describe.c:2039 describe.c:5773 describe.c:5848 describe.c:5914 -#: describe.c:5973 +#: describe.c:2038 describe.c:5757 describe.c:5831 describe.c:5896 +#: describe.c:5954 msgid "FDW options" msgstr "Налаштування FDW" -#: describe.c:2041 +#: describe.c:2040 msgid "Storage" msgstr "Сховище" -#: describe.c:2043 +#: describe.c:2042 msgid "Compression" msgstr "Стискання" -#: describe.c:2045 +#: describe.c:2044 msgid "Stats target" msgstr "Статистична ціль" -#: describe.c:2181 +#: describe.c:2180 #, c-format msgid "Partition of: %s %s%s" msgstr "Розділ: %s %s%s" -#: describe.c:2194 +#: describe.c:2193 msgid "No partition constraint" msgstr "Відсутнє розділове обмеження" -#: describe.c:2196 +#: describe.c:2195 #, c-format msgid "Partition constraint: %s" msgstr "Обмеження секції: %s" -#: describe.c:2220 +#: describe.c:2219 #, c-format msgid "Partition key: %s" msgstr "Ключ розділу: %s" -#: describe.c:2246 +#: describe.c:2245 #, c-format msgid "Owning table: \"%s.%s\"" msgstr "Таблиця, що володіє: \"%s.%s\"" -#: describe.c:2315 +#: describe.c:2314 msgid "primary key, " msgstr "первинний ключ," -#: describe.c:2318 +#: describe.c:2317 msgid "unique" msgstr "унікальний" -#: describe.c:2320 +#: describe.c:2319 msgid " nulls not distinct" msgstr " nulls не відрізняються" -#: describe.c:2321 +#: describe.c:2320 msgid ", " msgstr ", " -#: describe.c:2328 +#: describe.c:2327 #, c-format msgid "for table \"%s.%s\"" msgstr "для таблиці \"%s.%s\"" -#: describe.c:2332 +#: describe.c:2331 #, c-format msgid ", predicate (%s)" msgstr ", предикат (%s)" -#: describe.c:2335 +#: describe.c:2334 msgid ", clustered" msgstr ", кластеризовано" -#: describe.c:2338 +#: describe.c:2337 msgid ", invalid" msgstr ", недійсний" -#: describe.c:2341 +#: describe.c:2340 msgid ", deferrable" msgstr ", відтермінований" -#: describe.c:2344 +#: describe.c:2343 msgid ", initially deferred" msgstr ", від початку відтермінований" -#: describe.c:2347 +#: describe.c:2346 msgid ", replica identity" msgstr ", ідентичність репліки" -#: describe.c:2401 +#: describe.c:2400 msgid "Indexes:" msgstr "Індекси:" -#: describe.c:2484 +#: describe.c:2483 msgid "Check constraints:" msgstr "Обмеження перевірки:" -#: describe.c:2552 +#: describe.c:2551 msgid "Foreign-key constraints:" msgstr "Обмеження зовнішнього ключа:" -#: describe.c:2615 +#: describe.c:2614 msgid "Referenced by:" msgstr "Посилання ззовні:" -#: describe.c:2665 +#: describe.c:2664 msgid "Policies:" msgstr "Політики:" -#: describe.c:2668 +#: describe.c:2667 msgid "Policies (forced row security enabled):" msgstr "Політики (посилений захист рядків активовано):" -#: describe.c:2671 +#: describe.c:2670 msgid "Policies (row security enabled): (none)" msgstr "Політики (захист рядків ввімкнуто): (ні)" -#: describe.c:2674 +#: describe.c:2673 msgid "Policies (forced row security enabled): (none)" msgstr "Політики (посилений захист рядків ввімкнуто): (ні)" -#: describe.c:2677 +#: describe.c:2676 msgid "Policies (row security disabled):" msgstr "Політики (захист рядків вимкнуто):" -#: describe.c:2737 describe.c:2841 +#: describe.c:2736 describe.c:2841 msgid "Statistics objects:" msgstr "Об'єкти статистики:" @@ -1636,7 +1681,7 @@ msgstr "Правила, що завжди працюють:" msgid "Rules firing on replica only:" msgstr "Правила, що працюють тільки на репліці:" -#: describe.c:3031 describe.c:5109 +#: describe.c:3031 describe.c:5100 msgid "Publications:" msgstr "Публікації:" @@ -1735,7 +1780,7 @@ msgstr ", табличний простір \"%s\"" msgid "List of roles" msgstr "Список ролей" -#: describe.c:3672 describe.c:3841 +#: describe.c:3672 describe.c:3840 msgid "Role name" msgstr "Ім'я ролі" @@ -1815,673 +1860,680 @@ msgstr "Не знайдено жодного параметру для ролі msgid "Did not find any settings." msgstr "Не знайдено жодного параметру." -#: describe.c:3812 +#: describe.c:3811 msgid "List of settings" msgstr "Список параметрів" -#: describe.c:3842 +#: describe.c:3841 msgid "Member of" msgstr "Член" -#: describe.c:3859 +#: describe.c:3858 msgid "Grantor" msgstr "Надавач" -#: describe.c:3886 +#: describe.c:3884 msgid "List of role grants" msgstr "Перелік наданих ролей" -#: describe.c:3952 +#: describe.c:3950 msgid "index" msgstr "індекс" -#: describe.c:3954 +#: describe.c:3952 msgid "TOAST table" msgstr "Таблиця TOAST" -#: describe.c:3957 describe.c:4169 +#: describe.c:3955 describe.c:4166 msgid "partitioned index" msgstr "секційний індекс" -#: describe.c:3977 +#: describe.c:3975 msgid "permanent" msgstr "постійна" -#: describe.c:3978 +#: describe.c:3976 msgid "temporary" msgstr "тимчасова" -#: describe.c:3979 +#: describe.c:3977 msgid "unlogged" msgstr "нежурнальована" -#: describe.c:3980 +#: describe.c:3978 msgid "Persistence" msgstr "Стійкість" -#: describe.c:3996 +#: describe.c:3994 msgid "Access method" msgstr "Метод доступу" -#: describe.c:4082 +#: describe.c:4079 msgid "List of relations" msgstr "Список відношень" -#: describe.c:4130 +#: describe.c:4127 #, c-format msgid "The server (version %s) does not support declarative table partitioning." msgstr "Сервер (версія %s) не підтримує декларативне секціонування таблиць." -#: describe.c:4141 +#: describe.c:4138 msgid "List of partitioned indexes" msgstr "Список секційних індексів" -#: describe.c:4143 +#: describe.c:4140 msgid "List of partitioned tables" msgstr "Список секційних таблиць" -#: describe.c:4147 +#: describe.c:4144 msgid "List of partitioned relations" msgstr "Список секційних відношень" -#: describe.c:4178 +#: describe.c:4175 msgid "Parent name" msgstr "Батьківська назва" -#: describe.c:4191 +#: describe.c:4188 msgid "Leaf partition size" msgstr "Розмір дочірньої секції" -#: describe.c:4194 describe.c:4200 +#: describe.c:4191 describe.c:4197 msgid "Total size" msgstr "Загальний розмір" -#: describe.c:4325 +#: describe.c:4321 msgid "Trusted" msgstr "Надійний" -#: describe.c:4334 +#: describe.c:4330 msgid "Internal language" msgstr "Внутрішня мова" -#: describe.c:4335 +#: describe.c:4331 msgid "Call handler" msgstr "Обробник виклику" -#: describe.c:4336 describe.c:5759 +#: describe.c:4332 describe.c:5743 msgid "Validator" msgstr "Функція перевірки" -#: describe.c:4337 +#: describe.c:4333 msgid "Inline handler" msgstr "Оброблювач впровадженого коду" -#: describe.c:4372 +#: describe.c:4367 msgid "List of languages" msgstr "Список мов" -#: describe.c:4413 +#: describe.c:4408 msgid "Check" msgstr "Перевірка" -#: describe.c:4457 +#: describe.c:4451 msgid "List of domains" msgstr "Список доменів" -#: describe.c:4491 +#: describe.c:4485 msgid "Source" msgstr "Джерело" -#: describe.c:4492 +#: describe.c:4486 msgid "Destination" msgstr "Призначення" -#: describe.c:4494 describe.c:6723 +#: describe.c:4488 describe.c:6712 msgid "Default?" msgstr "За замовчуванням?" -#: describe.c:4536 +#: describe.c:4529 msgid "List of conversions" msgstr "Список перетворень" -#: describe.c:4564 +#: describe.c:4557 msgid "Parameter" msgstr "Параметр" -#: describe.c:4565 +#: describe.c:4558 msgid "Value" msgstr "Значення" -#: describe.c:4572 +#: describe.c:4565 msgid "Context" msgstr "Контекст" -#: describe.c:4605 +#: describe.c:4597 msgid "List of configuration parameters" msgstr "Список параметрів конфігурації" -#: describe.c:4607 +#: describe.c:4599 msgid "List of non-default configuration parameters" msgstr "Список параметрів конфігурації не за замовчуванням" -#: describe.c:4634 +#: describe.c:4626 #, c-format msgid "The server (version %s) does not support event triggers." msgstr "Сервер (версія %s) не підтримує тригери подій." -#: describe.c:4654 +#: describe.c:4646 msgid "Event" msgstr "Подія" -#: describe.c:4656 +#: describe.c:4648 msgid "enabled" msgstr "увімкнено" -#: describe.c:4657 +#: describe.c:4649 msgid "replica" msgstr "репліка" -#: describe.c:4658 +#: describe.c:4650 msgid "always" msgstr "завжди" -#: describe.c:4659 +#: describe.c:4651 msgid "disabled" msgstr "вимкнено" -#: describe.c:4660 describe.c:6575 +#: describe.c:4652 describe.c:6553 msgid "Enabled" msgstr "Увімкнено" -#: describe.c:4662 +#: describe.c:4654 msgid "Tags" msgstr "Теги" -#: describe.c:4686 +#: describe.c:4677 msgid "List of event triggers" msgstr "Список тригерів подій" -#: describe.c:4713 +#: describe.c:4704 #, c-format msgid "The server (version %s) does not support extended statistics." msgstr "Сервер (версія %s) не підтримує розширену статистику." -#: describe.c:4750 +#: describe.c:4741 msgid "Ndistinct" msgstr "Ndistinct" -#: describe.c:4751 +#: describe.c:4742 msgid "Dependencies" msgstr "Залежності" -#: describe.c:4761 +#: describe.c:4752 msgid "MCV" msgstr "MCV" -#: describe.c:4785 +#: describe.c:4775 msgid "List of extended statistics" msgstr "Список розширеної статистики" -#: describe.c:4812 +#: describe.c:4802 msgid "Source type" msgstr "Початковий тип" -#: describe.c:4813 +#: describe.c:4803 msgid "Target type" msgstr "Тип цілі" -#: describe.c:4837 +#: describe.c:4827 msgid "in assignment" msgstr "у призначенні" -#: describe.c:4839 +#: describe.c:4829 msgid "Implicit?" msgstr "Приховане?" -#: describe.c:4898 +#: describe.c:4887 msgid "List of casts" msgstr "Список приведення типів" -#: describe.c:4938 describe.c:4942 +#: describe.c:4927 describe.c:4931 msgid "Provider" msgstr "Постачальник" -#: describe.c:4972 describe.c:4977 +#: describe.c:4965 describe.c:4970 msgid "Deterministic?" msgstr "Детермінований?" -#: describe.c:5017 +#: describe.c:5009 msgid "List of collations" msgstr "Список правил сортування" -#: describe.c:5079 +#: describe.c:5070 msgid "List of schemas" msgstr "Список схем" -#: describe.c:5196 +#: describe.c:5186 msgid "List of text search parsers" msgstr "Список парсерів текстового пошуку" -#: describe.c:5246 +#: describe.c:5236 #, c-format msgid "Did not find any text search parser named \"%s\"." msgstr "Не знайдено жодного парсера текстового пошуку \"%s\"." -#: describe.c:5249 +#: describe.c:5239 #, c-format msgid "Did not find any text search parsers." msgstr "Не знайдено жодного парсера текстового пошуку." -#: describe.c:5324 +#: describe.c:5314 msgid "Start parse" msgstr "Почати розбір" -#: describe.c:5325 +#: describe.c:5315 msgid "Method" msgstr "Метод" -#: describe.c:5329 +#: describe.c:5319 msgid "Get next token" msgstr "Отримати наступний токен" -#: describe.c:5331 +#: describe.c:5321 msgid "End parse" msgstr "Закінчити розбір" -#: describe.c:5333 +#: describe.c:5323 msgid "Get headline" msgstr "Отримати заголовок" -#: describe.c:5335 +#: describe.c:5325 msgid "Get token types" msgstr "Отримати типи токенів" -#: describe.c:5346 +#: describe.c:5335 #, c-format msgid "Text search parser \"%s.%s\"" msgstr "Парсер текстового пошуку \"%s.%s\"" -#: describe.c:5349 +#: describe.c:5338 #, c-format msgid "Text search parser \"%s\"" msgstr "Парсер текстового пошуку \"%s\"" -#: describe.c:5368 +#: describe.c:5357 msgid "Token name" msgstr "Ім'я токену" -#: describe.c:5382 +#: describe.c:5370 #, c-format msgid "Token types for parser \"%s.%s\"" msgstr "Типи токенів для парсера \"%s.%s\"" -#: describe.c:5385 +#: describe.c:5373 #, c-format msgid "Token types for parser \"%s\"" msgstr "Типи токенів для парсера \"%s\"" -#: describe.c:5429 +#: describe.c:5417 msgid "Template" msgstr "Шаблон" -#: describe.c:5430 +#: describe.c:5418 msgid "Init options" msgstr "Параметри ініціалізації" -#: describe.c:5457 +#: describe.c:5444 msgid "List of text search dictionaries" msgstr "Список словників текстового пошуку" -#: describe.c:5490 +#: describe.c:5477 msgid "Init" msgstr "Ініціалізація" -#: describe.c:5491 +#: describe.c:5478 msgid "Lexize" msgstr "Виділення лексем" -#: describe.c:5523 +#: describe.c:5509 msgid "List of text search templates" msgstr "Список шаблонів текстового пошуку" -#: describe.c:5578 +#: describe.c:5563 msgid "List of text search configurations" msgstr "Список конфігурацій текстового пошуку" -#: describe.c:5629 +#: describe.c:5614 #, c-format msgid "Did not find any text search configuration named \"%s\"." msgstr "Не знайдено жодної конфігурації текстового пошуку під назвою \"%s\"." -#: describe.c:5632 +#: describe.c:5617 #, c-format msgid "Did not find any text search configurations." msgstr "Не знайдено жодної конфігурації текствого пошуку." -#: describe.c:5698 +#: describe.c:5683 msgid "Token" msgstr "Токен" -#: describe.c:5699 +#: describe.c:5684 msgid "Dictionaries" msgstr "Словники" -#: describe.c:5710 +#: describe.c:5695 #, c-format msgid "Text search configuration \"%s.%s\"" msgstr "Конфігурація пошуку тексту \"%s.%s\"" -#: describe.c:5713 +#: describe.c:5698 #, c-format msgid "Text search configuration \"%s\"" msgstr "Конфігурація пошуку тексту \"%s\"" -#: describe.c:5717 +#: describe.c:5702 #, c-format msgid "\n" "Parser: \"%s.%s\"" msgstr "\n" "Парсер: \"%s.%s\"" -#: describe.c:5720 +#: describe.c:5705 #, c-format msgid "\n" "Parser: \"%s\"" msgstr "\n" "Парсер: \"%s\"" -#: describe.c:5801 +#: describe.c:5784 msgid "List of foreign-data wrappers" msgstr "Список джерел сторонніх даних" -#: describe.c:5829 +#: describe.c:5812 msgid "Foreign-data wrapper" msgstr "Джерело сторонніх даних" -#: describe.c:5847 describe.c:6037 +#: describe.c:5830 describe.c:6017 msgid "Version" msgstr "Версія" -#: describe.c:5878 +#: describe.c:5860 msgid "List of foreign servers" msgstr "Список сторонніх серверів" -#: describe.c:5903 describe.c:5962 +#: describe.c:5885 describe.c:5943 msgid "Server" msgstr "Сервер" -#: describe.c:5904 +#: describe.c:5886 msgid "User name" msgstr "Ім'я користувача" -#: describe.c:5934 +#: describe.c:5915 msgid "List of user mappings" msgstr "Список зіставлень користувачів" -#: describe.c:6007 +#: describe.c:5987 msgid "List of foreign tables" msgstr "Список сторонніх таблиць" -#: describe.c:6059 +#: describe.c:6038 msgid "List of installed extensions" msgstr "Список встановлених розширень" -#: describe.c:6107 +#: describe.c:6086 #, c-format msgid "Did not find any extension named \"%s\"." msgstr "Не знайдено жодного розширення під назвою \"%s\"." -#: describe.c:6110 +#: describe.c:6089 #, c-format msgid "Did not find any extensions." msgstr "Не знайдено жодного розширення." -#: describe.c:6154 +#: describe.c:6133 msgid "Object description" msgstr "Опис об'єкту" -#: describe.c:6164 +#: describe.c:6142 #, c-format msgid "Objects in extension \"%s\"" msgstr "Об'єкти в розширенні \"%s\"" -#: describe.c:6205 +#: describe.c:6183 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "неправильне повне ім'я (забагато компонентів): %s" -#: describe.c:6219 +#: describe.c:6197 #, c-format msgid "cross-database references are not implemented: %s" msgstr "міжбазові посилання не реалізовані: %s" -#: describe.c:6250 describe.c:6377 +#: describe.c:6228 describe.c:6354 #, c-format msgid "The server (version %s) does not support publications." msgstr "Сервер (версія %s) не підтримує публікації." -#: describe.c:6267 describe.c:6455 +#: describe.c:6245 describe.c:6432 msgid "All tables" msgstr "Усі таблиці" -#: describe.c:6268 describe.c:6456 +#: describe.c:6246 describe.c:6433 msgid "Inserts" msgstr "Вставки" -#: describe.c:6269 describe.c:6457 +#: describe.c:6247 describe.c:6434 msgid "Updates" msgstr "Оновлення" -#: describe.c:6270 describe.c:6458 +#: describe.c:6248 describe.c:6435 msgid "Deletes" msgstr "Видалення" -#: describe.c:6274 describe.c:6460 +#: describe.c:6252 describe.c:6437 msgid "Truncates" msgstr "Очищення" -#: describe.c:6278 describe.c:6462 +#: describe.c:6256 describe.c:6439 msgid "Via root" msgstr "Через root" -#: describe.c:6300 +#: describe.c:6277 msgid "List of publications" msgstr "Список публікацій" -#: describe.c:6424 +#: describe.c:6401 #, c-format msgid "Did not find any publication named \"%s\"." msgstr "Не знайдено жодної публікації під назвою \"%s\"." -#: describe.c:6427 +#: describe.c:6404 #, c-format msgid "Did not find any publications." msgstr "Не знайдено жодної публікації." -#: describe.c:6451 +#: describe.c:6428 #, c-format msgid "Publication %s" msgstr "Публікація %s" -#: describe.c:6504 +#: describe.c:6481 msgid "Tables:" msgstr "Таблиці:" -#: describe.c:6516 +#: describe.c:6493 msgid "Tables from schemas:" msgstr "Таблиці зі схеми:" -#: describe.c:6560 +#: describe.c:6538 #, c-format msgid "The server (version %s) does not support subscriptions." msgstr "Сервер (версія %s) не підтримує підписки." -#: describe.c:6576 +#: describe.c:6554 msgid "Publication" msgstr "Публікація" -#: describe.c:6585 +#: describe.c:6563 msgid "Binary" msgstr "Бінарний" -#: describe.c:6594 describe.c:6598 +#: describe.c:6572 describe.c:6576 msgid "Streaming" msgstr "Потокова передача" -#: describe.c:6606 +#: describe.c:6584 msgid "Two-phase commit" msgstr "Двофазовий коміт" -#: describe.c:6607 +#: describe.c:6585 msgid "Disable on error" msgstr "Вимкнути при помилці" -#: describe.c:6614 +#: describe.c:6592 msgid "Origin" msgstr "Джерело" -#: describe.c:6615 +#: describe.c:6593 msgid "Password required" msgstr "Потрібен пароль" -#: describe.c:6616 +#: describe.c:6594 msgid "Run as owner?" msgstr "Запустити як власник?" -#: describe.c:6621 +#: describe.c:6599 +msgid "Failover" +msgstr "Відновлення після збою" + +#: describe.c:6604 msgid "Synchronous commit" msgstr "Синхронні затвердження" -#: describe.c:6622 +#: describe.c:6605 msgid "Conninfo" msgstr "Conninfo" -#: describe.c:6628 +#: describe.c:6611 msgid "Skip LSN" msgstr "Пропустити LSN" -#: describe.c:6655 +#: describe.c:6637 msgid "List of subscriptions" msgstr "Список підписок" -#: describe.c:6717 describe.c:6813 describe.c:6906 describe.c:7001 +#: describe.c:6666 +msgid "(none)" +msgstr "(нічого)" + +#: describe.c:6706 describe.c:6801 describe.c:6893 describe.c:6987 msgid "AM" msgstr "АМ" -#: describe.c:6718 +#: describe.c:6707 msgid "Input type" msgstr "Тип вводу" -#: describe.c:6719 +#: describe.c:6708 msgid "Storage type" msgstr "Тип сховища" -#: describe.c:6720 +#: describe.c:6709 msgid "Operator class" msgstr "Клас операторів" -#: describe.c:6732 describe.c:6814 describe.c:6907 describe.c:7002 +#: describe.c:6721 describe.c:6802 describe.c:6894 describe.c:6988 msgid "Operator family" msgstr "Сімейство операторів" -#: describe.c:6768 +#: describe.c:6756 msgid "List of operator classes" msgstr "Список класів операторів" -#: describe.c:6815 +#: describe.c:6803 msgid "Applicable types" msgstr "Типи для застосування" -#: describe.c:6857 +#: describe.c:6844 msgid "List of operator families" msgstr "Список сімейств операторів" -#: describe.c:6908 +#: describe.c:6895 msgid "Operator" msgstr "Оператор" -#: describe.c:6909 +#: describe.c:6896 msgid "Strategy" msgstr "Стратегія" -#: describe.c:6910 +#: describe.c:6897 msgid "ordering" msgstr "упорядкування" -#: describe.c:6911 +#: describe.c:6898 msgid "search" msgstr "пошук" -#: describe.c:6912 +#: describe.c:6899 msgid "Purpose" msgstr "Ціль" -#: describe.c:6917 +#: describe.c:6904 msgid "Sort opfamily" msgstr "Сімейство операторів сортування" -#: describe.c:6956 +#: describe.c:6942 msgid "List of operators of operator families" msgstr "Список операторів сімейств операторів" -#: describe.c:7003 +#: describe.c:6989 msgid "Registered left type" msgstr "Зареєстрований лівий тип" -#: describe.c:7004 +#: describe.c:6990 msgid "Registered right type" msgstr "Зареєстрований правий тип" -#: describe.c:7005 +#: describe.c:6991 msgid "Number" msgstr "Число" -#: describe.c:7049 +#: describe.c:7034 msgid "List of support functions of operator families" msgstr "Список функцій підтримки сімейств операторів" -#: describe.c:7080 +#: describe.c:7065 msgid "ID" msgstr "ID" -#: describe.c:7101 +#: describe.c:7085 msgid "Large objects" msgstr "Великі об'єкти" -#: help.c:75 +#: help.c:63 msgid "psql is the PostgreSQL interactive terminal.\n\n" msgstr "psql - це інтерактивний термінал PostgreSQL.\n\n" -#: help.c:76 help.c:395 help.c:479 help.c:522 +#: help.c:64 help.c:372 help.c:456 help.c:499 msgid "Usage:\n" msgstr "Використання:\n" -#: help.c:77 +#: help.c:65 msgid " psql [OPTION]... [DBNAME [USERNAME]]\n\n" msgstr " psql [ОПЦІЯ]... [БД [КОРИСТУВАЧ]]\n\n" -#: help.c:79 +#: help.c:67 msgid "General options:\n" msgstr "Основні налаштування:\n" -#: help.c:84 +#: help.c:68 msgid " -c, --command=COMMAND run only single command (SQL or internal) and exit\n" msgstr " -c, --command=КОМАНДА виконати лише одну команду (SQL або внутрішню) і вийти\n" -#: help.c:85 -#, c-format -msgid " -d, --dbname=DBNAME database name to connect to (default: \"%s\")\n" -msgstr " -d, --dbname=DBNAME ім'я бази даних для підключення (за замовчання: \"%s\") \n" +#: help.c:69 +msgid " -d, --dbname=DBNAME database name to connect to\n" +msgstr " -d, --dbname=DBNAME назва бази даних для підключення\n" -#: help.c:87 +#: help.c:70 msgid " -f, --file=FILENAME execute commands from file, then exit\n" msgstr " -f, --file=FILENAME виконує команди з файлу, потім виходить\n" -#: help.c:88 +#: help.c:71 msgid " -l, --list list available databases, then exit\n" msgstr " -l, --list виводить список доступних баз даних, потім виходить\n" -#: help.c:89 +#: help.c:72 msgid " -v, --set=, --variable=NAME=VALUE\n" " set psql variable NAME to VALUE\n" " (e.g., -v ON_ERROR_STOP=1)\n" @@ -2489,93 +2541,93 @@ msgstr " -v, --set=, --variable=NAME=VALUE\n" " присвоїти змінній psql NAME значення VALUE\n" " (наприклад, -v ON_ERROR_STOP=1)\n" -#: help.c:92 +#: help.c:75 msgid " -V, --version output version information, then exit\n" msgstr " -V, --version вивести інформацію про версію, потім вийти\n" -#: help.c:93 +#: help.c:76 msgid " -X, --no-psqlrc do not read startup file (~/.psqlrc)\n" msgstr " -X, --no-psqlrc ігнорувати файл параметрів запуска (~/.psqlrc)\n" -#: help.c:94 +#: help.c:77 msgid " -1 (\"one\"), --single-transaction\n" " execute as a single transaction (if non-interactive)\n" msgstr " -1 (\"один\"), --single-transaction\n" " виконує як одну транзакцію (якщо не інтерактивна)\n" -#: help.c:96 +#: help.c:79 msgid " -?, --help[=options] show this help, then exit\n" msgstr " -?, --help [=options] показати цю довідку, потім вийти\n" -#: help.c:97 +#: help.c:80 msgid " --help=commands list backslash commands, then exit\n" msgstr " --help=commands перерахувати команди, потім вийти\n" -#: help.c:98 +#: help.c:81 msgid " --help=variables list special variables, then exit\n" msgstr " --help=variables перерахувати спеціальні змінні, потім вийти\n" -#: help.c:100 +#: help.c:83 msgid "\n" "Input and output options:\n" msgstr "\n" "Параметри вводу і виводу:\n" -#: help.c:101 +#: help.c:84 msgid " -a, --echo-all echo all input from script\n" msgstr " -a, --echo-all відобразити всі вхідні дані з скрипта\n" -#: help.c:102 +#: help.c:85 msgid " -b, --echo-errors echo failed commands\n" msgstr " -b, --echo-errors відобразити команди з помилками\n" -#: help.c:103 +#: help.c:86 msgid " -e, --echo-queries echo commands sent to server\n" msgstr " -e, --echo-queries відобразити команди, відправлені на сервер\n" -#: help.c:104 +#: help.c:87 msgid " -E, --echo-hidden display queries that internal commands generate\n" msgstr " -E, --echo-hidden відобразити запити, згенеровані внутрішніми командами\n" -#: help.c:105 +#: help.c:88 msgid " -L, --log-file=FILENAME send session log to file\n" msgstr " -L, --log-file=FILENAME зберегти протокол роботи у файл\n" -#: help.c:106 +#: help.c:89 msgid " -n, --no-readline disable enhanced command line editing (readline)\n" msgstr " -n, --no-readline вимкнути розширене редагування командного рядка (readline)\n" -#: help.c:107 +#: help.c:90 msgid " -o, --output=FILENAME send query results to file (or |pipe)\n" msgstr " -o, --output=FILENAME надсилати результати запиту до файлу (або до каналу |)\n" -#: help.c:108 +#: help.c:91 msgid " -q, --quiet run quietly (no messages, only query output)\n" msgstr " -q, --quiet тихий запуск (ніяких повідомлень, лише результат запитів)\n" -#: help.c:109 +#: help.c:92 msgid " -s, --single-step single-step mode (confirm each query)\n" msgstr " -s, --single-step покроковий режим (підтвердження кожного запиту)\n" -#: help.c:110 +#: help.c:93 msgid " -S, --single-line single-line mode (end of line terminates SQL command)\n" msgstr " -S, --single-line однорядковий режим (кінець рядка завершує команду)\n" -#: help.c:112 +#: help.c:95 msgid "\n" "Output format options:\n" msgstr "\n" "Параметри формату виводу:\n" -#: help.c:113 +#: help.c:96 msgid " -A, --no-align unaligned table output mode\n" msgstr " -A, --no-align режим виводу не вирівняної таблиці\n" -#: help.c:114 +#: help.c:97 msgid " --csv CSV (Comma-Separated Values) table output mode\n" msgstr " --csv режим виводу таблиць CSV (Comma-Separated Values)\n" -#: help.c:115 +#: help.c:98 #, c-format msgid " -F, --field-separator=STRING\n" " field separator for unaligned output (default: \"%s\")\n" @@ -2583,79 +2635,72 @@ msgstr " -F, --field-separator=СТРОКА\n" " розділювач полів при не вирівняному виводі\n" " (за замовчуванням: \"%s\")\n" -#: help.c:118 +#: help.c:101 msgid " -H, --html HTML table output mode\n" msgstr " -H, --html вивід таблиці у форматі HTML\n" -#: help.c:119 +#: help.c:102 msgid " -P, --pset=VAR[=ARG] set printing option VAR to ARG (see \\pset command)\n" msgstr " -P, --pset=VAR[=ARG] встановити параметр виводу змінної VAR значенню ARG (див. команду \"\\pset\")\n" -#: help.c:120 +#: help.c:103 msgid " -R, --record-separator=STRING\n" " record separator for unaligned output (default: newline)\n" msgstr " -R, --record-separator=СТРОКА\n" " розділювач записів при не вирівняному виводі\n" " (за замовчуванням: новий рядок)\n" -#: help.c:122 +#: help.c:105 msgid " -t, --tuples-only print rows only\n" msgstr " -t, --tuples-only виводити лише рядки\n" -#: help.c:123 +#: help.c:106 msgid " -T, --table-attr=TEXT set HTML table tag attributes (e.g., width, border)\n" msgstr " -T, --table-attr=ТЕКСТ встановити атрибути HTML-таблиці (width, border)\n" -#: help.c:124 +#: help.c:107 msgid " -x, --expanded turn on expanded table output\n" msgstr " -x, --expanded ввімкнути розширене виведення таблиці\n" -#: help.c:125 +#: help.c:108 msgid " -z, --field-separator-zero\n" " set field separator for unaligned output to zero byte\n" msgstr " -z, --field-separator-zero\n" " встановити розділювач полів для не вирівняного виводу в нульовий байт\n" -#: help.c:127 +#: help.c:110 msgid " -0, --record-separator-zero\n" " set record separator for unaligned output to zero byte\n" msgstr " -0, --record-separator-zero\n" " встановити розділювач записів для не вирівняного виводу в нульовий байт\n" -#: help.c:130 +#: help.c:113 msgid "\n" "Connection options:\n" msgstr "\n" "Налаштування з'єднання:\n" -#: help.c:133 -#, c-format -msgid " -h, --host=HOSTNAME database server host or socket directory (default: \"%s\")\n" -msgstr " -h, --host=HOSTNAME хост сервера бази даних або каталог сокетів (за замовчуванням: \"%s)\n" - -#: help.c:134 -msgid "local socket" -msgstr "локальний сокет" +#: help.c:114 +msgid " -h, --host=HOSTNAME database server host or socket directory\n" +msgstr " -h, --host=HOSTNAME хост серверу баз даних або каталог сокетів\n" -#: help.c:137 -#, c-format -msgid " -p, --port=PORT database server port (default: \"%s\")\n" -msgstr " -p, --port=PORT порт сервера бази даних (за замовчуванням: \"%s\")\n" +#: help.c:115 +msgid " -p, --port=PORT database server port\n" +msgstr " -p, --port=ПОРТ порт сервера бази даних\n" -#: help.c:140 -#, c-format -msgid " -U, --username=USERNAME database user name (default: \"%s\")\n" -msgstr " -U, --username=USERNAME ім'я користувача бази даних (за змовчуванням: \"%s\")\n" +#: help.c:116 +msgid " -U, --username=USERNAME database user name\n" +msgstr " -U, --username=USERNAME ім'я користувача бази даних\n" -#: help.c:142 +#: help.c:117 msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password ніколи не запитувати пароль\n" -#: help.c:143 +#: help.c:118 msgid " -W, --password force password prompt (should happen automatically)\n" msgstr " -W, --password запитувати пароль завжди (повинно траплятись автоматично)\n" -#: help.c:145 +#: help.c:120 msgid "\n" "For more information, type \"\\?\" (for internal commands) or \"\\help\" (for SQL\n" "commands) from within psql, or consult the psql section in the PostgreSQL\n" @@ -2663,435 +2708,439 @@ msgid "\n" msgstr "\n" "Щоб дізнатися більше, введіть \"\\?\" (для внутрішніх команд) або \"\\help\"(для команд SQL) в psql, або звіртеся з розділом psql документації PostgreSQL. \n\n" -#: help.c:148 +#: help.c:123 #, c-format msgid "Report bugs to <%s>.\n" msgstr "Повідомляти про помилки на <%s>.\n" -#: help.c:149 +#: help.c:124 #, c-format msgid "%s home page: <%s>\n" msgstr "Домашня сторінка %s: <%s>\n" -#: help.c:191 +#: help.c:166 msgid "General\n" msgstr "Загальні\n" -#: help.c:192 +#: help.c:167 msgid " \\bind [PARAM]... set query parameters\n" msgstr " \\bind [PARAM]... встановити параметри запиту\n" -#: help.c:193 +#: help.c:168 msgid " \\copyright show PostgreSQL usage and distribution terms\n" msgstr " \\copyright умови використання і розповсюдження PostgreSQL\n" -#: help.c:194 +#: help.c:169 msgid " \\crosstabview [COLUMNS] execute query and display result in crosstab\n" msgstr " \\crosstabview [COLUMNS] виконати запит і відобразити результат у перехресній таблиці\n" -#: help.c:195 +#: help.c:170 msgid " \\errverbose show most recent error message at maximum verbosity\n" msgstr " \\errverbose вивести максимально докладне повідомлення про останню помилку\n" -#: help.c:196 +#: help.c:171 msgid " \\g [(OPTIONS)] [FILE] execute query (and send result to file or |pipe);\n" " \\g with no arguments is equivalent to a semicolon\n" msgstr " \\g [(OPTIONS)] [FILE] виконати запит (і надіслати результат до файлу або |каналу);\n" " \\g без аргументів рівнозначно крапці з комою\n" -#: help.c:198 +#: help.c:173 msgid " \\gdesc describe result of query, without executing it\n" msgstr " \\gdesc описати результат запиту без виконання\n" -#: help.c:199 +#: help.c:174 msgid " \\gexec execute query, then execute each value in its result\n" msgstr " \\gexec виконати запит, потім виконати кожне значення в його результаті\n" -#: help.c:200 +#: help.c:175 msgid " \\gset [PREFIX] execute query and store result in psql variables\n" msgstr " \\gset [PREFIX] виконати запит та зберегти результат в змінних psql \n" -#: help.c:201 +#: help.c:176 msgid " \\gx [(OPTIONS)] [FILE] as \\g, but forces expanded output mode\n" msgstr " \\gx [(OPTIONS)] [FILE] як \\g, але вмикає розширений режим виводу\n" -#: help.c:202 +#: help.c:177 msgid " \\q quit psql\n" msgstr " \\q вийти з psql\n" -#: help.c:203 -msgid " \\watch [[i=]SEC] [c=N] execute query every SEC seconds, up to N times\n" -msgstr " \\watch [[i=]SEC] [c=N] виконувати кожні SEC секунд, не більше N разів\n" +#: help.c:178 +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" +msgstr " \\watch [[i=]SEC] [c=N] [m=MIN]\n" +" виконувати запит кожні SEC секунд, до N разів або\n" +" зупинитися, якщо повернуто менше ніж MIN рядків\n" -#: help.c:204 help.c:212 help.c:224 help.c:234 help.c:241 help.c:298 help.c:306 -#: help.c:326 help.c:339 help.c:348 +#: 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 msgid "\n" msgstr "\n" -#: help.c:206 +#: help.c:183 msgid "Help\n" msgstr "Довідка\n" -#: help.c:208 +#: help.c:185 msgid " \\? [commands] show help on backslash commands\n" msgstr " \\? [commands] показати довідку по командах з \\\n" -#: help.c:209 +#: help.c:186 msgid " \\? options show help on psql command-line options\n" msgstr " \\? options показати довідку по параметрах командного рядку psql\n" -#: help.c:210 +#: help.c:187 msgid " \\? variables show help on special variables\n" msgstr " \\? variables показати довідку по спеціальних змінних\n" -#: help.c:211 +#: help.c:188 msgid " \\h [NAME] help on syntax of SQL commands, * for all commands\n" msgstr " \\h [NAME] довідка з синтаксису команд SQL, * для всіх команд\n" -#: help.c:214 +#: help.c:191 msgid "Query Buffer\n" msgstr "Буфер запитів\n" -#: help.c:215 +#: help.c:192 msgid " \\e [FILE] [LINE] edit the query buffer (or file) with external editor\n" msgstr " \\e [FILE] [LINE] редагувати буфер запитів (або файл) зовнішнім редактором\n" -#: help.c:216 +#: help.c:193 msgid " \\ef [FUNCNAME [LINE]] edit function definition with external editor\n" msgstr " \\ef [FUNCNAME [LINE]] редагувати визначення функції зовнішнім редактором\n" -#: help.c:217 +#: help.c:194 msgid " \\ev [VIEWNAME [LINE]] edit view definition with external editor\n" msgstr " \\ev [VIEWNAME [LINE]] редагувати визначення подання зовнішнім редактором\n" -#: help.c:218 +#: help.c:195 msgid " \\p show the contents of the query buffer\n" msgstr " \\p показати вміст буфера запитів\n" -#: help.c:219 +#: help.c:196 msgid " \\r reset (clear) the query buffer\n" msgstr " \\r скинути (очистити) буфер запитів\n" -#: help.c:221 +#: help.c:198 msgid " \\s [FILE] display history or save it to file\n" msgstr " \\s [FILE] відобразити історію або зберегти її до файлу\n" -#: help.c:223 +#: help.c:200 msgid " \\w FILE write query buffer to file\n" msgstr " \\w FILE писати буфер запитів до файлу\n" -#: help.c:226 +#: help.c:203 msgid "Input/Output\n" msgstr "Ввід/Вивід\n" -#: help.c:227 +#: help.c:204 msgid " \\copy ... perform SQL COPY with data stream to the client host\n" msgstr " \\copy ... виконати команду SQL COPY з потоком даних на клієнтський хост\n" -#: help.c:228 +#: help.c:205 msgid " \\echo [-n] [STRING] write string to standard output (-n for no newline)\n" msgstr " \\echo [-n] [STRING] записати рядок до стандартного виводу (-n для пропуску нового рядка)\n" -#: help.c:229 +#: help.c:206 msgid " \\i FILE execute commands from file\n" msgstr " \\i FILE виконати команди з файлу\n" -#: help.c:230 +#: help.c:207 msgid " \\ir FILE as \\i, but relative to location of current script\n" msgstr " \\ir ФАЙЛ те саме, що \\i, але відносно розташування поточного сценарію\n" -#: help.c:231 +#: help.c:208 msgid " \\o [FILE] send all query results to file or |pipe\n" msgstr " \\o [FILE] надсилати всі результати запитів до файлу або до каналу |\n" -#: help.c:232 +#: help.c:209 msgid " \\qecho [-n] [STRING] write string to \\o output stream (-n for no newline)\n" msgstr " \\qecho [-n] [STRING] записати рядок до вихідного потоку \\o (-n для пропуску нового рядка)\n" -#: help.c:233 +#: help.c:210 msgid " \\warn [-n] [STRING] write string to standard error (-n for no newline)\n" msgstr " \\warn [-n] [STRING] записати рядок до стандартної помилки (-n для пропуску нового рядка)\n" -#: help.c:236 +#: help.c:213 msgid "Conditional\n" msgstr "Умовний\n" -#: help.c:237 +#: help.c:214 msgid " \\if EXPR begin conditional block\n" msgstr " \\if EXPR початок умовного блоку\n" -#: help.c:238 +#: help.c:215 msgid " \\elif EXPR alternative within current conditional block\n" msgstr " \\elif EXPR альтернатива в рамках поточного блоку\n" -#: help.c:239 +#: help.c:216 msgid " \\else final alternative within current conditional block\n" msgstr " \\else остаточна альтернатива в рамках поточного умовного блоку\n" -#: help.c:240 +#: help.c:217 msgid " \\endif end conditional block\n" msgstr " \\endif кінець умовного блоку\n" -#: help.c:243 +#: help.c:220 msgid "Informational\n" msgstr "Інформаційний\n" -#: help.c:244 +#: help.c:221 msgid " (options: S = show system objects, + = additional detail)\n" msgstr " (параметри: S = показати системні об'єкти, + = додаткові деталі)\n" -#: help.c:245 +#: help.c:222 msgid " \\d[S+] list tables, views, and sequences\n" msgstr " \\d[S+] вивести таблиці, подання і послідовності\n" -#: help.c:246 +#: help.c:223 msgid " \\d[S+] NAME describe table, view, sequence, or index\n" msgstr " \\d[S+] NAME описати таблицю, подання, послідовність або індекс\n" -#: help.c:247 +#: help.c:224 msgid " \\da[S] [PATTERN] list aggregates\n" msgstr " \\da[S] [PATTERN] вивести агрегати\n" -#: help.c:248 +#: help.c:225 msgid " \\dA[+] [PATTERN] list access methods\n" msgstr " \\dA[+] [PATTERN] вивести методи доступу\n" -#: help.c:249 +#: help.c:226 msgid " \\dAc[+] [AMPTRN [TYPEPTRN]] list operator classes\n" msgstr " \\dAc[+] [AMPTRN [TYPEPTRN]] список класів операторів\n" -#: help.c:250 +#: help.c:227 msgid " \\dAf[+] [AMPTRN [TYPEPTRN]] list operator families\n" msgstr " \\dAf[+] [AMPTRN [TYPEPTRN]] список сімейств операторів\n" -#: help.c:251 +#: help.c:228 msgid " \\dAo[+] [AMPTRN [OPFPTRN]] list operators of operator families\n" msgstr " \\dAo[+] [AMPTRN [OPFPTRN]] список операторів сімейств операторів\n" -#: help.c:252 +#: help.c:229 msgid " \\dAp[+] [AMPTRN [OPFPTRN]] list support functions of operator families\n" msgstr " \\dAp[+] [AMPTRN [OPFPTRN]] список функцій підтримки сімейств операторів\n" -#: help.c:253 +#: help.c:230 msgid " \\db[+] [PATTERN] list tablespaces\n" msgstr " \\db[+] [PATTERN] вивести табличні простори\n" -#: help.c:254 +#: help.c:231 msgid " \\dc[S+] [PATTERN] list conversions\n" msgstr " \\dc[S+] [PATTERN] вивести перетворення\n" -#: help.c:255 +#: help.c:232 msgid " \\dconfig[+] [PATTERN] list configuration parameters\n" msgstr " \\dconfig[+] [PATTERN] вивести параметри конфігурації\n" -#: help.c:256 +#: help.c:233 msgid " \\dC[+] [PATTERN] list casts\n" msgstr " \\dC[+] [PATTERN] вивести приведення типів\n" -#: help.c:257 +#: help.c:234 msgid " \\dd[S] [PATTERN] show object descriptions not displayed elsewhere\n" msgstr " \\dd[S] [PATTERN] показати опис об'єкта, що не відображається в іншому місці\n" -#: help.c:258 +#: help.c:235 msgid " \\dD[S+] [PATTERN] list domains\n" msgstr " \\dD[S+] [PATTERN] вивести домени\n" -#: help.c:259 +#: help.c:236 msgid " \\ddp [PATTERN] list default privileges\n" msgstr " \\ddp [PATTERN] вивести привілеї за замовчуванням\n" -#: help.c:260 +#: help.c:237 msgid " \\dE[S+] [PATTERN] list foreign tables\n" msgstr " \\dE[S+] [PATTERN] вивести зовнішні таблиці\n" -#: help.c:261 +#: help.c:238 msgid " \\des[+] [PATTERN] list foreign servers\n" msgstr " \\des[+] [PATTERN] вивести зовнішні сервери\n" -#: help.c:262 +#: help.c:239 msgid " \\det[+] [PATTERN] list foreign tables\n" msgstr " \\dE[S+] [PATTERN] вивести зовнішні таблиці\n" -#: help.c:263 +#: help.c:240 msgid " \\deu[+] [PATTERN] list user mappings\n" msgstr " \\deu[+] [PATTERN] вивести користувацькі зіставлення\n" -#: help.c:264 +#: help.c:241 msgid " \\dew[+] [PATTERN] list foreign-data wrappers\n" msgstr " \\dew[+] [PATTERN] список джерел сторонніх даних\n" -#: help.c:265 +#: help.c:242 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:267 +#: help.c:244 msgid " \\dF[+] [PATTERN] list text search configurations\n" msgstr " \\dF[+] [PATTERN] вивести конфігурації текстового пошуку\n" -#: help.c:268 +#: help.c:245 msgid " \\dFd[+] [PATTERN] list text search dictionaries\n" msgstr " \\dFd[+] [PATTERN] вивести словники текстового пошуку\n" -#: help.c:269 +#: help.c:246 msgid " \\dFp[+] [PATTERN] list text search parsers\n" msgstr " \\dFp[+] [PATTERN] вивести парсери текстового пошуку\n" -#: help.c:270 +#: help.c:247 msgid " \\dFt[+] [PATTERN] list text search templates\n" msgstr " \\dFt[+] [PATTERN] вивести шаблони текстового пошуку\n" -#: help.c:271 +#: help.c:248 msgid " \\dg[S+] [PATTERN] list roles\n" msgstr " \\dg[S+] [PATTERN] вивести ролі\n" -#: help.c:272 +#: help.c:249 msgid " \\di[S+] [PATTERN] list indexes\n" msgstr " \\di[S+] [PATTERN] вивести індекси\n" -#: help.c:273 +#: help.c:250 msgid " \\dl[+] list large objects, same as \\lo_list\n" msgstr " \\dl[+] вивести великі об'єкти, те саме, що \\lo_list\n" -#: help.c:274 +#: help.c:251 msgid " \\dL[S+] [PATTERN] list procedural languages\n" msgstr " \\dL[S+] [PATTERN] вивести процедурні мови\n" -#: help.c:275 +#: help.c:252 msgid " \\dm[S+] [PATTERN] list materialized views\n" msgstr " \\dm[S+] [PATTERN] вивести матеріалізовані подання\n" -#: help.c:276 +#: help.c:253 msgid " \\dn[S+] [PATTERN] list schemas\n" msgstr " \\dn[S+] [PATTERN] вивести схеми\n" -#: help.c:277 +#: help.c:254 msgid " \\do[S+] [OPPTRN [TYPEPTRN [TYPEPTRN]]]\n" " list operators\n" msgstr " \\do[S+] [OPPTRN [TYPEPTRN [TYPEPTRN]]]\n" " список операторів\n" -#: help.c:279 +#: help.c:256 msgid " \\dO[S+] [PATTERN] list collations\n" msgstr " \\dO[S+] [PATTERN] вивести правила сортування\n" -#: help.c:280 +#: help.c:257 msgid " \\dp[S] [PATTERN] list table, view, and sequence access privileges\n" msgstr " \\dp[S] [PATTERN] вивести привілеї доступу до таблиць, подань або послідовностей \n" -#: help.c:281 +#: help.c:258 msgid " \\dP[itn+] [PATTERN] list [only index/table] partitioned relations [n=nested]\n" msgstr " \\dP[itn+] [PATTERN] вивести [тільки індекс/таблицю] секційні відношення [n=вкладені]\n" -#: help.c:282 +#: help.c:259 msgid " \\drds [ROLEPTRN [DBPTRN]] list per-database role settings\n" msgstr " \\drds [ROLEPTRN [DBPTRN]] вивести налаштування ролей побазово\n" -#: help.c:283 +#: help.c:260 msgid " \\drg[S] [PATTERN] list role grants\n" msgstr " \\drg[S] [PATTERN] вивести надані ролі\n" -#: help.c:284 +#: help.c:261 msgid " \\dRp[+] [PATTERN] list replication publications\n" msgstr " \\dRp[+] [PATTERN] вивести реплікаційні публікації\n" -#: help.c:285 +#: help.c:262 msgid " \\dRs[+] [PATTERN] list replication subscriptions\n" msgstr " \\dRs[+] [PATTERN] вивести реплікаційні підписки\n" -#: help.c:286 +#: help.c:263 msgid " \\ds[S+] [PATTERN] list sequences\n" msgstr " \\ds[S+] [PATTERN] вивести послідовності\n" -#: help.c:287 +#: help.c:264 msgid " \\dt[S+] [PATTERN] list tables\n" msgstr " \\dt[S+] [PATTERN] вивести таблиці\n" -#: help.c:288 +#: help.c:265 msgid " \\dT[S+] [PATTERN] list data types\n" msgstr " \\dT[S+] [PATTERN] вивести типи даних\n" -#: help.c:289 +#: help.c:266 msgid " \\du[S+] [PATTERN] list roles\n" msgstr " \\du[S+] [PATTERN] вивести ролі\n" -#: help.c:290 +#: help.c:267 msgid " \\dv[S+] [PATTERN] list views\n" msgstr " \\dv[S+] [PATTERN] вивести подання\n" -#: help.c:291 +#: help.c:268 msgid " \\dx[+] [PATTERN] list extensions\n" msgstr " \\dx[+] [PATTERN] вивести розширення\n" -#: help.c:292 +#: help.c:269 msgid " \\dX [PATTERN] list extended statistics\n" msgstr " \\dX [PATTERN] список розширеної статистики\n" -#: help.c:293 +#: help.c:270 msgid " \\dy[+] [PATTERN] list event triggers\n" msgstr " \\dy[+] [PATTERN] вивести тригери подій\n" -#: help.c:294 +#: help.c:271 msgid " \\l[+] [PATTERN] list databases\n" msgstr " \\l[+] [PATTERN] вивести бази даних\n" -#: help.c:295 +#: help.c:272 msgid " \\sf[+] FUNCNAME show a function's definition\n" msgstr " \\sf[+] FUNCNAME відобразити визначення функції\n" -#: help.c:296 +#: help.c:273 msgid " \\sv[+] VIEWNAME show a view's definition\n" msgstr " \\sv[+] VIEWNAME відобразити визначення подання\n" -#: help.c:297 +#: help.c:274 msgid " \\z[S] [PATTERN] same as \\dp\n" msgstr " \\z[S] [PATTERN] те саме, що \\dp\n" -#: help.c:300 +#: help.c:277 msgid "Large Objects\n" msgstr "Великі об'єкти\n" -#: help.c:301 +#: help.c:278 msgid " \\lo_export LOBOID FILE write large object to file\n" msgstr " \\lo_export LOBOID FILE записати великий об'єкт в файл\n" -#: help.c:302 +#: help.c:279 msgid " \\lo_import FILE [COMMENT]\n" " read large object from file\n" msgstr " \\lo_import FILE [COMMENT]\n" " читати великий об'єкт з файлу\n" -#: help.c:304 +#: help.c:281 msgid " \\lo_list[+] list large objects\n" msgstr " \\lo_list[+] вивести великі об'єкти\n" -#: help.c:305 +#: help.c:282 msgid " \\lo_unlink LOBOID delete a large object\n" msgstr " \\lo_unlink LOBOID видалити великий об’єкт\n" -#: help.c:308 +#: help.c:285 msgid "Formatting\n" msgstr "Форматування\n" -#: help.c:309 +#: help.c:286 msgid " \\a toggle between unaligned and aligned output mode\n" msgstr " \\a перемикання між режимами виводу: unaligned, aligned\n" -#: help.c:310 +#: help.c:287 msgid " \\C [STRING] set table title, or unset if none\n" msgstr " \\C [STRING] встановити заголовок таблиці або прибрати, якщо не задано\n" -#: help.c:311 +#: help.c:288 msgid " \\f [STRING] show or set field separator for unaligned query output\n" msgstr " \\f [STRING] показати або встановити розділювач полів для не вирівняного виводу запиту\n" -#: help.c:312 +#: help.c:289 #, c-format msgid " \\H toggle HTML output mode (currently %s)\n" msgstr " \\H переключити режим виводу HTML (поточний: %s)\n" -#: help.c:314 +#: help.c:291 msgid " \\pset [NAME [VALUE]] set table output option\n" " (border|columns|csv_fieldsep|expanded|fieldsep|\n" " fieldsep_zero|footer|format|linestyle|null|\n" @@ -3107,113 +3156,113 @@ msgstr " \\pset [NAME [VALUE]] встановити параметр виво " unicode_border_linestyle|unicode_column_linestyle|\n" " unicode_header_linestyle)\n" -#: help.c:321 +#: help.c:298 #, c-format msgid " \\t [on|off] show only rows (currently %s)\n" msgstr " \\t [on|off] показувати лише рядки (поточно %s)\n" -#: help.c:323 +#: help.c:300 msgid " \\T [STRING] set HTML
tag attributes, or unset if none\n" msgstr " \\T [STRING] встановити атрибути для HTML
або прибрати, якщо не задані\n" -#: help.c:324 +#: help.c:301 #, c-format msgid " \\x [on|off|auto] toggle expanded output (currently %s)\n" msgstr " \\x [on|off|auto] переключити розширений вивід (поточний: %s)\n" -#: help.c:325 +#: help.c:302 msgid "auto" msgstr "авто" -#: help.c:328 +#: help.c:305 msgid "Connection\n" msgstr "Підключення\n" -#: help.c:330 +#: help.c:307 #, 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:334 +#: help.c:311 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:336 +#: help.c:313 msgid " \\conninfo display information about current connection\n" msgstr " \\conninfo показати інформацію про поточне з'єднання\n" -#: help.c:337 +#: help.c:314 msgid " \\encoding [ENCODING] show or set client encoding\n" msgstr " \\encoding [ENCODING] показати або встановити кодування клієнта\n" -#: help.c:338 +#: help.c:315 msgid " \\password [USERNAME] securely change the password for a user\n" msgstr " \\password [USERNAME] безпечно змінити пароль користувача \n" -#: help.c:341 +#: help.c:318 msgid "Operating System\n" msgstr "Операційна система\n" -#: help.c:342 +#: help.c:319 msgid " \\cd [DIR] change the current working directory\n" msgstr " \\cd [DIR] змінити поточний робочий каталог\n" -#: help.c:343 +#: help.c:320 msgid " \\getenv PSQLVAR ENVVAR fetch environment variable\n" msgstr " \\getenv PSQLVAR ENVAR отримати змінну середовища\n" -#: help.c:344 +#: help.c:321 msgid " \\setenv NAME [VALUE] set or unset environment variable\n" msgstr " \\setenv NAME [VALUE] встановити або скинути змінну середовища\n" -#: help.c:345 +#: help.c:322 #, c-format msgid " \\timing [on|off] toggle timing of commands (currently %s)\n" msgstr " \\timing [on|off] переключити таймер команд (поточний: %s)\n" -#: help.c:347 +#: help.c:324 msgid " \\! [COMMAND] execute command in shell or start interactive shell\n" msgstr " \\! [COMMAND] виконати команду в оболонці або запустити інтерактивну оболонку\n" -#: help.c:350 +#: help.c:327 msgid "Variables\n" msgstr "Змінні\n" -#: help.c:351 +#: help.c:328 msgid " \\prompt [TEXT] NAME prompt user to set internal variable\n" msgstr " \\prompt [TEXT] NAME запитати користувача значення внутрішньої змінної\n" -#: help.c:352 +#: help.c:329 msgid " \\set [NAME [VALUE]] set internal variable, or list all if no parameters\n" msgstr " \\set [NAME [VALUE]] встановити внутрішню змінну або вивести всі, якщо не задані параметри\n" -#: help.c:353 +#: help.c:330 msgid " \\unset NAME unset (delete) internal variable\n" msgstr " \\unset NAME скинути (видалити) значення внутрішньої змінної\n" -#: help.c:392 +#: help.c:369 msgid "List of specially treated variables\n\n" msgstr "Список спеціальних змінних\n\n" -#: help.c:394 +#: help.c:371 msgid "psql variables:\n" msgstr "змінні psql:\n" -#: help.c:396 +#: help.c:373 msgid " psql --set=NAME=VALUE\n" " or \\set NAME VALUE inside psql\n\n" msgstr " psql --set=ІМ'Я=ЗНАЧЕННЯ\n" " або \\set ІМ'Я ЗНАЧЕННЯ усередині psql\n\n" -#: help.c:398 +#: help.c:375 msgid " AUTOCOMMIT\n" " if set, successful SQL commands are automatically committed\n" msgstr " AUTOCOMMIT\n" " якщо встановлений, успішні SQL-команди підтверджуються автоматично\n" -#: help.c:400 +#: help.c:377 msgid " COMP_KEYWORD_CASE\n" " determines the case used to complete SQL key words\n" " [lower, upper, preserve-lower, preserve-upper]\n" @@ -3221,18 +3270,18 @@ msgstr " COMP_KEYWORD_CASE\n" " визначає регістр для автодоповнення ключових слів SQL\n" " [lower, upper, preserve-lower, preserve-upper]\n" -#: help.c:403 +#: help.c:380 msgid " DBNAME\n" " the currently connected database name\n" msgstr " DBNAME назва під'єднаної бази даних\n" -#: help.c:405 +#: help.c:382 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:408 +#: help.c:385 msgid " ECHO_HIDDEN\n" " if set, display internal queries executed by backslash commands;\n" " if set to \"noexec\", just show them without execution\n" @@ -3240,67 +3289,67 @@ msgstr " ECHO_HIDDEN\n" " якщо ввімкнено, виводить внутрішні запити, виконані за допомогою \"\\\";\n" " якщо встановлено значення \"noexec\", тільки виводяться, але не виконуються\n" -#: help.c:411 +#: help.c:388 msgid " ENCODING\n" " current client character set encoding\n" msgstr " ENCODING\n" " поточне кодування набору символів клієнта\n" -#: help.c:413 +#: help.c:390 msgid " ERROR\n" " \"true\" if last query failed, else \"false\"\n" msgstr " ERROR\n" " \"true\", якщо в останньому запиті є помилка, в іншому разі - \"false\"\n" -#: help.c:415 +#: help.c:392 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:417 +#: help.c:394 msgid " HIDE_TABLEAM\n" " if set, table access methods are not displayed\n" msgstr " HIDE_TABLEAM\n" " якщо вказано, методи доступу до таблиць не відображаються\n" -#: help.c:419 +#: help.c:396 msgid " HIDE_TOAST_COMPRESSION\n" " if set, compression methods are not displayed\n" msgstr " HIDE_TOAST_COMPRESSION\n" " якщо встановлено, методи стискання не відображаються\n" -#: help.c:421 +#: help.c:398 msgid " HISTCONTROL\n" " controls command history [ignorespace, ignoredups, ignoreboth]\n" msgstr " HISTCONTROL контролює історію команд [ignorespace, ignoredups, ignoreboth]\n" -#: help.c:423 +#: help.c:400 msgid " HISTFILE\n" " file name used to store the command history\n" msgstr " HISTFILE ім'я файлу для зберігання історії команд\n" -#: help.c:425 +#: help.c:402 msgid " HISTSIZE\n" " maximum number of commands to store in the command history\n" msgstr " HISTSIZE максимальна кількість команд для зберігання в історії команд\n" -#: help.c:427 +#: help.c:404 msgid " HOST\n" " the currently connected database server host\n" msgstr " HOST поточний підключений хост сервера бази даних\n" -#: help.c:429 +#: help.c:406 msgid " IGNOREEOF\n" " number of EOFs needed to terminate an interactive session\n" msgstr " IGNOREEOF кількість EOF для завершення інтерактивної сесії\n" -#: help.c:431 +#: help.c:408 msgid " LASTOID\n" " value of the last affected OID\n" msgstr " LASTOID значення останнього залученого OID\n" -#: help.c:433 +#: help.c:410 msgid " LAST_ERROR_MESSAGE\n" " LAST_ERROR_SQLSTATE\n" " message and SQLSTATE of last error, or empty string and \"00000\" if none\n" @@ -3308,55 +3357,55 @@ msgstr " LAST_ERROR_MESSAGE\n" " LAST_ERROR_SQLSTATE\n" " повідомлення та код SQLSTATE останньої помилки, або пустий рядок та \"00000\", якщо помилки не було\n" -#: help.c:436 +#: help.c:413 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:438 +#: help.c:415 msgid " ON_ERROR_STOP\n" " stop batch execution after error\n" msgstr " ON_ERROR_STOP\n" " зупиняти виконання пакету команд після помилки\n" -#: help.c:440 +#: help.c:417 msgid " PORT\n" " server port of the current connection\n" msgstr " PORT\n" " порт сервера для поточного з'єднання\n" -#: help.c:442 +#: help.c:419 msgid " PROMPT1\n" " specifies the standard psql prompt\n" msgstr " PROMPT1\n" " визначає стандратне запрошення psql \n" -#: help.c:444 +#: help.c:421 msgid " PROMPT2\n" " specifies the prompt used when a statement continues from a previous line\n" msgstr " PROMPT2\n" " визначає запрошення, яке використовується при продовженні команди з попереднього рядка\n" -#: help.c:446 +#: help.c:423 msgid " PROMPT3\n" " specifies the prompt used during COPY ... FROM STDIN\n" msgstr " PROMPT3\n" " визначає запрошення, яке виконується під час COPY ... FROM STDIN\n" -#: help.c:448 +#: help.c:425 msgid " QUIET\n" " run quietly (same as -q option)\n" msgstr " QUIET\n" " тихий запуск ( як із параметром -q)\n" -#: help.c:450 +#: help.c:427 msgid " ROW_COUNT\n" " number of rows returned or affected by last query, or 0\n" msgstr " ROW_COUNT\n" " число повернених або оброблених рядків останнім запитом, або 0\n" -#: help.c:452 +#: help.c:429 msgid " SERVER_VERSION_NAME\n" " SERVER_VERSION_NUM\n" " server's version (in short string or numeric format)\n" @@ -3364,61 +3413,61 @@ msgstr " SERVER_VERSION_NAME\n" " SERVER_VERSION_NUM\n" " версія серевера (у короткому текстовому або числовому форматі)\n" -#: help.c:455 +#: help.c:432 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:457 +#: help.c:434 msgid " SHELL_EXIT_CODE\n" " exit status of the last shell command\n" msgstr " SHEL_EXIT_CODE\n" " статус виконання останньої команди оболонки\n" -#: help.c:459 +#: help.c:436 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:461 +#: help.c:438 msgid " SHOW_CONTEXT\n" " controls display of message context fields [never, errors, always]\n" msgstr " SHOW_CONTEXT\n" " керує відображенням полів контексту повідомлень [never, errors, always]\n" -#: help.c:463 +#: help.c:440 msgid " SINGLELINE\n" " if set, end of line terminates SQL commands (same as -S option)\n" msgstr " SINGLELINE\n" " якщо встановлено, кінець рядка завершує режим вводу SQL-команди (як з параметром -S)\n" -#: help.c:465 +#: help.c:442 msgid " SINGLESTEP\n" " single-step mode (same as -s option)\n" msgstr " SINGLESTEP\n" " покроковий режим (як з параметром -s)\n" -#: help.c:467 +#: help.c:444 msgid " SQLSTATE\n" " SQLSTATE of last query, or \"00000\" if no error\n" msgstr " SQLSTATE\n" " SQLSTATE останнього запиту, або \"00000\" якщо немає помилок\n" -#: help.c:469 +#: help.c:446 msgid " USER\n" " the currently connected database user\n" msgstr " USER\n" " поточний користувач, підключений до бази даних\n" -#: help.c:471 +#: help.c:448 msgid " VERBOSITY\n" " controls verbosity of error reports [default, verbose, terse, sqlstate]\n" msgstr " VERBOSITY\n" " контролює докладність звітів про помилку [default, verbose, terse, sqlstate]\n" -#: help.c:473 +#: help.c:450 msgid " VERSION\n" " VERSION_NAME\n" " VERSION_NUM\n" @@ -3428,98 +3477,98 @@ msgstr " VERSION\n" " VERSION_NUM\n" " psql версія (в розгорнутому, в короткому текстовому або числовому форматі)\n" -#: help.c:478 +#: help.c:455 msgid "\n" "Display settings:\n" msgstr "\n" "Налаштування відобреження:\n" -#: help.c:480 +#: help.c:457 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:482 +#: help.c:459 msgid " border\n" " border style (number)\n" msgstr " border\n" " стиль рамки (число)\n" -#: help.c:484 +#: help.c:461 msgid " columns\n" " target width for the wrapped format\n" msgstr " columns\n" " цільова ширина для формату з переносом\n" -#: help.c:486 +#: help.c:463 msgid " expanded (or x)\n" " expanded output [on, off, auto]\n" msgstr " expanded (or x)\n" " розширений вивід [on, off, auto]\n" -#: help.c:488 +#: help.c:465 #, c-format msgid " fieldsep\n" " field separator for unaligned output (default \"%s\")\n" msgstr " fieldsep\n" " розділювач полів для не вирівняного виводу (за замовчуванням \"%s\")\n" -#: help.c:491 +#: help.c:468 msgid " fieldsep_zero\n" " set field separator for unaligned output to a zero byte\n" msgstr " fieldsep_zero\n" " встановити розділювач полів для невирівняного виводу на нульовий байт\n" -#: help.c:493 +#: help.c:470 msgid " footer\n" " enable or disable display of the table footer [on, off]\n" msgstr " footer\n" " вмикає або вимикає вивід підписів таблиці [on, off]\n" -#: help.c:495 +#: help.c:472 msgid " format\n" " set output format [unaligned, aligned, wrapped, html, asciidoc, ...]\n" msgstr " format\n" " встановити формат виводу [unaligned, aligned, wrapped, html, asciidoc, ...]\n" -#: help.c:497 +#: help.c:474 msgid " linestyle\n" " set the border line drawing style [ascii, old-ascii, unicode]\n" msgstr " linestyle\n" " встановлює стиль малювання ліній рамки [ascii, old-ascii, unicode]\n" -#: help.c:499 +#: help.c:476 msgid " null\n" " set the string to be printed in place of a null value\n" msgstr " null\n" " встановлює рядок, який буде виведено замість значення (null)\n" -#: help.c:501 +#: help.c:478 msgid " numericlocale\n" " enable display of a locale-specific character to separate groups of digits\n" msgstr " numericlocale\n" " вмикає виведення заданого локалью роздільника групи цифр\n" -#: help.c:503 +#: help.c:480 msgid " pager\n" " control when an external pager is used [yes, no, always]\n" msgstr " pager\n" " контролює використання зовнішнього пейджера [yes, no, always]\n" -#: help.c:505 +#: help.c:482 msgid " recordsep\n" " record (line) separator for unaligned output\n" msgstr " recordsep\n" " розділювач записів (рядків) для не вирівняного виводу\n" -#: help.c:507 +#: help.c:484 msgid " recordsep_zero\n" " set record separator for unaligned output to a zero byte\n" msgstr " recordsep_zero\n" " встановлює розділювач записів для невирівняного виводу на нульовий байт\n" -#: help.c:509 +#: help.c:486 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" @@ -3527,19 +3576,19 @@ msgstr " tableattr (або T)\n" " вказує атрибути для тегу table у html форматі або пропорційні \n" " ширини стовпців для вирівняних вліво даних, у latex-longtable форматі\n" -#: help.c:512 +#: help.c:489 msgid " title\n" " set the table title for subsequently printed tables\n" msgstr " title\n" " задає заголовок таблиці для послідовно друкованих таблиць\n" -#: help.c:514 +#: help.c:491 msgid " tuples_only\n" " if set, only actual table data is shown\n" msgstr " tuples_only\n" " якщо встановлено, виводяться лише фактичні табличні дані\n" -#: help.c:516 +#: help.c:493 msgid " unicode_border_linestyle\n" " unicode_column_linestyle\n" " unicode_header_linestyle\n" @@ -3549,19 +3598,19 @@ msgstr " unicode_border_linestyle\n" " unicode_header_linestyle\n" " задає стиль мальювання ліній (Unicode) [single, double]\n" -#: help.c:521 +#: help.c:498 msgid "\n" "Environment variables:\n" msgstr "\n" "Змінні оточення:\n" -#: help.c:525 +#: help.c:502 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:527 +#: help.c:504 msgid " set NAME=VALUE\n" " psql ...\n" " or \\setenv NAME [VALUE] inside psql\n\n" @@ -3569,107 +3618,107 @@ msgstr " встановлює ІМ'Я=ЗНАЧЕННЯ\n" " psql ...\n" " або \\setenv ІМ'Я [VALUE] всередині psql\n\n" -#: help.c:530 +#: help.c:507 msgid " COLUMNS\n" " number of columns for wrapped format\n" msgstr " COLUMNS\n" " число стовпців для форматування з переносом\n" -#: help.c:532 +#: help.c:509 msgid " PGAPPNAME\n" " same as the application_name connection parameter\n" msgstr " PGAPPNAME\n" " те саме, що параметр підключення application_name\n" -#: help.c:534 +#: help.c:511 msgid " PGDATABASE\n" " same as the dbname connection parameter\n" msgstr " PGDATABASE\n" " те саме, що параметр підключення dbname\n" -#: help.c:536 +#: help.c:513 msgid " PGHOST\n" " same as the host connection parameter\n" msgstr " PGHOST\n" " те саме, що параметр підключення host\n" -#: help.c:538 +#: help.c:515 msgid " PGPASSFILE\n" " password file name\n" msgstr " PGPASSFILE\n" " назва файлу з паролем\n" -#: help.c:540 +#: help.c:517 msgid " PGPASSWORD\n" " connection password (not recommended)\n" msgstr " PGPASSWORD\n" " пароль для підключення (не рекомендується)\n" -#: help.c:542 +#: help.c:519 msgid " PGPORT\n" " same as the port connection parameter\n" msgstr " PGPORT\n" " те саме, що параметр підключення port\n" -#: help.c:544 +#: help.c:521 msgid " PGUSER\n" " same as the user connection parameter\n" msgstr " PGUSER\n" " те саме, що параметр підключення user\n" -#: help.c:546 +#: help.c:523 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:548 +#: help.c:525 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:550 +#: help.c:527 msgid " PSQL_HISTORY\n" " alternative location for the command history file\n" msgstr " PSQL_HISTORY\n" " альтернативне розміщення файлу з історією команд\n" -#: help.c:552 +#: help.c:529 msgid " PSQL_PAGER, PAGER\n" " name of external pager program\n" msgstr " PSQL_PAGER, PAGER\n" " ім'я програми зовнішнього пейджеру\n" -#: help.c:555 +#: help.c:532 msgid " PSQL_WATCH_PAGER\n" " name of external pager program used for \\watch\n" msgstr " PSQL_WATCH_PAGER\n" " назва зовнішньої програми-пейджера для використання з \\watch\n" -#: help.c:558 +#: help.c:535 msgid " PSQLRC\n" " alternative location for the user's .psqlrc file\n" msgstr " PSQLRC\n" " альтернативне розміщення користувацького файла .psqlrc\n" -#: help.c:560 +#: help.c:537 msgid " SHELL\n" " shell used by the \\! command\n" msgstr " SHELL\n" " оболонка, що використовується командою \\!\n" -#: help.c:562 +#: help.c:539 msgid " TMPDIR\n" " directory for temporary files\n" msgstr " TMPDIR\n" " каталог для тимчасових файлів\n" -#: help.c:622 +#: help.c:599 msgid "Available help:\n" msgstr "Доступна довідка:\n" -#: help.c:717 +#: help.c:694 #, c-format msgid "Command: %s\n" "Description: %s\n" @@ -3682,24 +3731,24 @@ msgstr "Команда: %s\n" "%s\n\n" "URL: %s\n\n" -#: help.c:740 +#: help.c:717 #, c-format msgid "No help available for \"%s\".\n" "Try \\h with no arguments to see available help.\n" msgstr "Немає доступної довідки по команді \"%s\".\n" "Спробуйте \\h без аргументів, щоб подивитись доступну довідку.\n" -#: input.c:216 +#: input.c:215 #, c-format msgid "could not read from input file: %m" msgstr "не вдалося прочитати з вхідного файлу: %m" -#: input.c:477 input.c:515 +#: input.c:476 input.c:514 #, c-format msgid "could not save history to file \"%s\": %m" msgstr "не можливо зберегти історію в файлі \"%s\": %m" -#: input.c:534 +#: input.c:533 #, c-format msgid "history is not supported by this installation" msgstr "ця установка не підтримує історію" @@ -3782,12 +3831,12 @@ msgstr "запит ігнорується; введіть \\endif або нат msgid "reached EOF without finding closing \\endif(s)" msgstr "досягнуто кінця файлу без завершального \\endif" -#: psqlscanslash.l:640 +#: psqlscanslash.l:642 #, c-format msgid "unterminated quoted string" msgstr "незавершений рядок в лапках" -#: psqlscanslash.l:825 +#: psqlscanslash.l:842 #, c-format msgid "%s: out of memory" msgstr "%s: бракує пам'яті" @@ -3795,2427 +3844,2446 @@ msgstr "%s: бракує пам'яті" #: sql_help.c:35 sql_help.c:38 sql_help.c:41 sql_help.c:65 sql_help.c:66 #: sql_help.c:68 sql_help.c:70 sql_help.c:81 sql_help.c:83 sql_help.c:85 #: sql_help.c:113 sql_help.c:119 sql_help.c:121 sql_help.c:123 sql_help.c:125 -#: sql_help.c:126 sql_help.c:129 sql_help.c:131 sql_help.c:133 sql_help.c:238 -#: sql_help.c:240 sql_help.c:241 sql_help.c:243 sql_help.c:245 sql_help.c:248 -#: sql_help.c:250 sql_help.c:252 sql_help.c:254 sql_help.c:266 sql_help.c:267 -#: sql_help.c:268 sql_help.c:270 sql_help.c:319 sql_help.c:321 sql_help.c:323 -#: sql_help.c:325 sql_help.c:394 sql_help.c:399 sql_help.c:401 sql_help.c:443 -#: sql_help.c:445 sql_help.c:448 sql_help.c:450 sql_help.c:519 sql_help.c:524 -#: sql_help.c:529 sql_help.c:534 sql_help.c:539 sql_help.c:593 sql_help.c:595 -#: sql_help.c:597 sql_help.c:599 sql_help.c:601 sql_help.c:604 sql_help.c:606 -#: sql_help.c:609 sql_help.c:620 sql_help.c:622 sql_help.c:666 sql_help.c:668 -#: sql_help.c:670 sql_help.c:673 sql_help.c:675 sql_help.c:677 sql_help.c:714 -#: sql_help.c:718 sql_help.c:722 sql_help.c:741 sql_help.c:744 sql_help.c:747 -#: sql_help.c:776 sql_help.c:788 sql_help.c:796 sql_help.c:799 sql_help.c:802 -#: sql_help.c:817 sql_help.c:820 sql_help.c:849 sql_help.c:854 sql_help.c:859 -#: sql_help.c:864 sql_help.c:869 sql_help.c:896 sql_help.c:898 sql_help.c:900 -#: sql_help.c:902 sql_help.c:905 sql_help.c:907 sql_help.c:954 sql_help.c:999 -#: sql_help.c:1004 sql_help.c:1009 sql_help.c:1014 sql_help.c:1019 -#: sql_help.c:1038 sql_help.c:1049 sql_help.c:1051 sql_help.c:1071 -#: sql_help.c:1081 sql_help.c:1082 sql_help.c:1084 sql_help.c:1086 -#: sql_help.c:1098 sql_help.c:1102 sql_help.c:1104 sql_help.c:1116 -#: sql_help.c:1118 sql_help.c:1120 sql_help.c:1122 sql_help.c:1141 -#: sql_help.c:1143 sql_help.c:1147 sql_help.c:1151 sql_help.c:1155 -#: sql_help.c:1158 sql_help.c:1159 sql_help.c:1160 sql_help.c:1163 -#: sql_help.c:1166 sql_help.c:1168 sql_help.c:1307 sql_help.c:1309 -#: sql_help.c:1312 sql_help.c:1315 sql_help.c:1317 sql_help.c:1319 -#: sql_help.c:1322 sql_help.c:1325 sql_help.c:1442 sql_help.c:1444 -#: sql_help.c:1446 sql_help.c:1449 sql_help.c:1470 sql_help.c:1473 -#: sql_help.c:1476 sql_help.c:1479 sql_help.c:1483 sql_help.c:1485 -#: sql_help.c:1487 sql_help.c:1489 sql_help.c:1503 sql_help.c:1506 -#: sql_help.c:1508 sql_help.c:1510 sql_help.c:1520 sql_help.c:1522 -#: sql_help.c:1532 sql_help.c:1534 sql_help.c:1544 sql_help.c:1547 -#: sql_help.c:1570 sql_help.c:1572 sql_help.c:1574 sql_help.c:1576 -#: sql_help.c:1579 sql_help.c:1581 sql_help.c:1584 sql_help.c:1587 -#: sql_help.c:1638 sql_help.c:1681 sql_help.c:1684 sql_help.c:1686 -#: sql_help.c:1688 sql_help.c:1691 sql_help.c:1693 sql_help.c:1695 -#: sql_help.c:1698 sql_help.c:1750 sql_help.c:1766 sql_help.c:1999 -#: sql_help.c:2068 sql_help.c:2087 sql_help.c:2100 sql_help.c:2158 -#: sql_help.c:2166 sql_help.c:2176 sql_help.c:2203 sql_help.c:2235 -#: sql_help.c:2253 sql_help.c:2281 sql_help.c:2392 sql_help.c:2438 -#: sql_help.c:2463 sql_help.c:2486 sql_help.c:2490 sql_help.c:2524 -#: sql_help.c:2544 sql_help.c:2566 sql_help.c:2580 sql_help.c:2601 -#: sql_help.c:2630 sql_help.c:2665 sql_help.c:2690 sql_help.c:2737 -#: sql_help.c:3032 sql_help.c:3045 sql_help.c:3062 sql_help.c:3078 -#: sql_help.c:3118 sql_help.c:3172 sql_help.c:3176 sql_help.c:3178 -#: sql_help.c:3185 sql_help.c:3204 sql_help.c:3231 sql_help.c:3266 -#: sql_help.c:3278 sql_help.c:3287 sql_help.c:3331 sql_help.c:3345 -#: sql_help.c:3373 sql_help.c:3381 sql_help.c:3393 sql_help.c:3403 -#: sql_help.c:3411 sql_help.c:3419 sql_help.c:3427 sql_help.c:3435 -#: sql_help.c:3444 sql_help.c:3455 sql_help.c:3463 sql_help.c:3471 -#: sql_help.c:3479 sql_help.c:3487 sql_help.c:3497 sql_help.c:3506 -#: sql_help.c:3515 sql_help.c:3523 sql_help.c:3533 sql_help.c:3544 -#: sql_help.c:3552 sql_help.c:3561 sql_help.c:3572 sql_help.c:3581 -#: sql_help.c:3589 sql_help.c:3597 sql_help.c:3605 sql_help.c:3613 -#: sql_help.c:3621 sql_help.c:3629 sql_help.c:3637 sql_help.c:3645 -#: sql_help.c:3653 sql_help.c:3661 sql_help.c:3678 sql_help.c:3687 -#: sql_help.c:3695 sql_help.c:3712 sql_help.c:3727 sql_help.c:4039 -#: sql_help.c:4149 sql_help.c:4178 sql_help.c:4194 sql_help.c:4196 -#: sql_help.c:4699 sql_help.c:4747 sql_help.c:4905 +#: sql_help.c:126 sql_help.c:129 sql_help.c:131 sql_help.c:133 sql_help.c:240 +#: sql_help.c:242 sql_help.c:243 sql_help.c:245 sql_help.c:247 sql_help.c:250 +#: sql_help.c:252 sql_help.c:254 sql_help.c:256 sql_help.c:268 sql_help.c:269 +#: sql_help.c:270 sql_help.c:272 sql_help.c:321 sql_help.c:323 sql_help.c:325 +#: sql_help.c:327 sql_help.c:396 sql_help.c:401 sql_help.c:403 sql_help.c:445 +#: sql_help.c:447 sql_help.c:450 sql_help.c:452 sql_help.c:521 sql_help.c:526 +#: sql_help.c:531 sql_help.c:536 sql_help.c:541 sql_help.c:595 sql_help.c:597 +#: sql_help.c:599 sql_help.c:601 sql_help.c:603 sql_help.c:606 sql_help.c:608 +#: sql_help.c:611 sql_help.c:622 sql_help.c:624 sql_help.c:668 sql_help.c:670 +#: sql_help.c:672 sql_help.c:675 sql_help.c:677 sql_help.c:679 sql_help.c:720 +#: sql_help.c:724 sql_help.c:728 sql_help.c:749 sql_help.c:752 sql_help.c:755 +#: sql_help.c:784 sql_help.c:796 sql_help.c:804 sql_help.c:807 sql_help.c:810 +#: sql_help.c:825 sql_help.c:828 sql_help.c:857 sql_help.c:862 sql_help.c:867 +#: sql_help.c:872 sql_help.c:877 sql_help.c:904 sql_help.c:906 sql_help.c:908 +#: sql_help.c:910 sql_help.c:913 sql_help.c:915 sql_help.c:962 sql_help.c:1007 +#: sql_help.c:1012 sql_help.c:1017 sql_help.c:1022 sql_help.c:1027 +#: sql_help.c:1046 sql_help.c:1057 sql_help.c:1059 sql_help.c:1079 +#: sql_help.c:1089 sql_help.c:1090 sql_help.c:1092 sql_help.c:1094 +#: sql_help.c:1106 sql_help.c:1110 sql_help.c:1112 sql_help.c:1124 +#: sql_help.c:1126 sql_help.c:1128 sql_help.c:1130 sql_help.c:1149 +#: sql_help.c:1151 sql_help.c:1155 sql_help.c:1159 sql_help.c:1163 +#: sql_help.c:1166 sql_help.c:1167 sql_help.c:1168 sql_help.c:1171 +#: sql_help.c:1174 sql_help.c:1176 sql_help.c:1316 sql_help.c:1318 +#: sql_help.c:1321 sql_help.c:1324 sql_help.c:1326 sql_help.c:1328 +#: sql_help.c:1331 sql_help.c:1334 sql_help.c:1456 sql_help.c:1458 +#: sql_help.c:1460 sql_help.c:1463 sql_help.c:1484 sql_help.c:1487 +#: sql_help.c:1490 sql_help.c:1493 sql_help.c:1497 sql_help.c:1499 +#: sql_help.c:1501 sql_help.c:1503 sql_help.c:1517 sql_help.c:1520 +#: sql_help.c:1522 sql_help.c:1524 sql_help.c:1534 sql_help.c:1536 +#: sql_help.c:1546 sql_help.c:1548 sql_help.c:1558 sql_help.c:1561 +#: sql_help.c:1584 sql_help.c:1586 sql_help.c:1588 sql_help.c:1590 +#: sql_help.c:1593 sql_help.c:1595 sql_help.c:1598 sql_help.c:1601 +#: sql_help.c:1652 sql_help.c:1695 sql_help.c:1698 sql_help.c:1700 +#: sql_help.c:1702 sql_help.c:1705 sql_help.c:1707 sql_help.c:1709 +#: sql_help.c:1712 sql_help.c:1762 sql_help.c:1778 sql_help.c:2011 +#: sql_help.c:2080 sql_help.c:2099 sql_help.c:2112 sql_help.c:2170 +#: sql_help.c:2178 sql_help.c:2188 sql_help.c:2216 sql_help.c:2249 +#: sql_help.c:2267 sql_help.c:2295 sql_help.c:2406 sql_help.c:2452 +#: sql_help.c:2477 sql_help.c:2500 sql_help.c:2504 sql_help.c:2538 +#: sql_help.c:2558 sql_help.c:2580 sql_help.c:2594 sql_help.c:2615 +#: sql_help.c:2644 sql_help.c:2677 sql_help.c:2700 sql_help.c:2747 +#: sql_help.c:3045 sql_help.c:3058 sql_help.c:3075 sql_help.c:3091 +#: sql_help.c:3131 sql_help.c:3185 sql_help.c:3189 sql_help.c:3191 +#: sql_help.c:3198 sql_help.c:3217 sql_help.c:3244 sql_help.c:3279 +#: sql_help.c:3291 sql_help.c:3300 sql_help.c:3344 sql_help.c:3358 +#: sql_help.c:3386 sql_help.c:3394 sql_help.c:3406 sql_help.c:3416 +#: sql_help.c:3424 sql_help.c:3432 sql_help.c:3440 sql_help.c:3448 +#: sql_help.c:3457 sql_help.c:3468 sql_help.c:3476 sql_help.c:3484 +#: sql_help.c:3492 sql_help.c:3500 sql_help.c:3510 sql_help.c:3519 +#: sql_help.c:3528 sql_help.c:3536 sql_help.c:3546 sql_help.c:3557 +#: sql_help.c:3565 sql_help.c:3574 sql_help.c:3585 sql_help.c:3594 +#: 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:3691 sql_help.c:3700 +#: sql_help.c:3708 sql_help.c:3725 sql_help.c:3740 sql_help.c:4053 +#: sql_help.c:4174 sql_help.c:4203 sql_help.c:4219 sql_help.c:4221 +#: sql_help.c:4725 sql_help.c:4773 sql_help.c:4932 msgid "name" msgstr "назва" -#: sql_help.c:36 sql_help.c:39 sql_help.c:42 sql_help.c:330 sql_help.c:1847 -#: sql_help.c:3346 sql_help.c:4467 +#: sql_help.c:36 sql_help.c:39 sql_help.c:42 sql_help.c:332 sql_help.c:1855 +#: sql_help.c:3359 sql_help.c:4492 msgid "aggregate_signature" msgstr "сигнатура_агр_функції" -#: sql_help.c:37 sql_help.c:67 sql_help.c:82 sql_help.c:120 sql_help.c:253 -#: sql_help.c:271 sql_help.c:402 sql_help.c:449 sql_help.c:528 sql_help.c:576 -#: sql_help.c:594 sql_help.c:621 sql_help.c:674 sql_help.c:743 sql_help.c:798 -#: sql_help.c:819 sql_help.c:858 sql_help.c:908 sql_help.c:955 sql_help.c:1008 -#: sql_help.c:1040 sql_help.c:1050 sql_help.c:1085 sql_help.c:1105 -#: sql_help.c:1119 sql_help.c:1169 sql_help.c:1316 sql_help.c:1443 -#: sql_help.c:1486 sql_help.c:1507 sql_help.c:1521 sql_help.c:1533 -#: sql_help.c:1546 sql_help.c:1573 sql_help.c:1639 sql_help.c:1692 +#: sql_help.c:37 sql_help.c:67 sql_help.c:82 sql_help.c:120 sql_help.c:255 +#: sql_help.c:273 sql_help.c:404 sql_help.c:451 sql_help.c:530 sql_help.c:578 +#: sql_help.c:596 sql_help.c:623 sql_help.c:676 sql_help.c:751 sql_help.c:806 +#: sql_help.c:827 sql_help.c:866 sql_help.c:916 sql_help.c:963 sql_help.c:1016 +#: sql_help.c:1048 sql_help.c:1058 sql_help.c:1093 sql_help.c:1113 +#: sql_help.c:1127 sql_help.c:1177 sql_help.c:1325 sql_help.c:1457 +#: sql_help.c:1500 sql_help.c:1521 sql_help.c:1535 sql_help.c:1547 +#: sql_help.c:1560 sql_help.c:1587 sql_help.c:1653 sql_help.c:1706 msgid "new_name" msgstr "нова_назва" -#: sql_help.c:40 sql_help.c:69 sql_help.c:84 sql_help.c:122 sql_help.c:251 -#: sql_help.c:269 sql_help.c:400 sql_help.c:485 sql_help.c:533 sql_help.c:623 -#: sql_help.c:632 sql_help.c:697 sql_help.c:717 sql_help.c:746 sql_help.c:801 -#: sql_help.c:863 sql_help.c:906 sql_help.c:1013 sql_help.c:1052 -#: sql_help.c:1083 sql_help.c:1103 sql_help.c:1117 sql_help.c:1167 -#: sql_help.c:1380 sql_help.c:1445 sql_help.c:1488 sql_help.c:1509 -#: sql_help.c:1571 sql_help.c:1687 sql_help.c:3018 +#: sql_help.c:40 sql_help.c:69 sql_help.c:84 sql_help.c:122 sql_help.c:253 +#: sql_help.c:271 sql_help.c:402 sql_help.c:487 sql_help.c:535 sql_help.c:625 +#: sql_help.c:634 sql_help.c:699 sql_help.c:723 sql_help.c:754 sql_help.c:809 +#: sql_help.c:871 sql_help.c:914 sql_help.c:1021 sql_help.c:1060 +#: sql_help.c:1091 sql_help.c:1111 sql_help.c:1125 sql_help.c:1175 +#: sql_help.c:1391 sql_help.c:1459 sql_help.c:1502 sql_help.c:1523 +#: sql_help.c:1585 sql_help.c:1701 sql_help.c:3031 msgid "new_owner" msgstr "новий_власник" -#: sql_help.c:43 sql_help.c:71 sql_help.c:86 sql_help.c:255 sql_help.c:322 -#: sql_help.c:451 sql_help.c:538 sql_help.c:676 sql_help.c:721 sql_help.c:749 -#: sql_help.c:804 sql_help.c:868 sql_help.c:1018 sql_help.c:1087 -#: sql_help.c:1121 sql_help.c:1318 sql_help.c:1490 sql_help.c:1511 -#: sql_help.c:1523 sql_help.c:1535 sql_help.c:1575 sql_help.c:1694 +#: sql_help.c:43 sql_help.c:71 sql_help.c:86 sql_help.c:257 sql_help.c:324 +#: sql_help.c:453 sql_help.c:540 sql_help.c:678 sql_help.c:727 sql_help.c:757 +#: sql_help.c:812 sql_help.c:876 sql_help.c:1026 sql_help.c:1095 +#: sql_help.c:1129 sql_help.c:1327 sql_help.c:1504 sql_help.c:1525 +#: sql_help.c:1537 sql_help.c:1549 sql_help.c:1589 sql_help.c:1708 msgid "new_schema" msgstr "нова_схема" -#: sql_help.c:44 sql_help.c:1911 sql_help.c:3347 sql_help.c:4496 +#: sql_help.c:44 sql_help.c:1919 sql_help.c:3360 sql_help.c:4521 msgid "where aggregate_signature is:" msgstr "де сигнатура_агр_функції:" -#: sql_help.c:45 sql_help.c:48 sql_help.c:51 sql_help.c:340 sql_help.c:353 -#: sql_help.c:357 sql_help.c:373 sql_help.c:376 sql_help.c:379 sql_help.c:520 -#: sql_help.c:525 sql_help.c:530 sql_help.c:535 sql_help.c:540 sql_help.c:850 -#: sql_help.c:855 sql_help.c:860 sql_help.c:865 sql_help.c:870 sql_help.c:1000 -#: sql_help.c:1005 sql_help.c:1010 sql_help.c:1015 sql_help.c:1020 -#: sql_help.c:1865 sql_help.c:1882 sql_help.c:1888 sql_help.c:1912 -#: sql_help.c:1915 sql_help.c:1918 sql_help.c:2069 sql_help.c:2088 -#: sql_help.c:2091 sql_help.c:2393 sql_help.c:2602 sql_help.c:3348 -#: sql_help.c:3351 sql_help.c:3354 sql_help.c:3445 sql_help.c:3534 -#: sql_help.c:3562 sql_help.c:3914 sql_help.c:4366 sql_help.c:4473 -#: sql_help.c:4480 sql_help.c:4486 sql_help.c:4497 sql_help.c:4500 -#: sql_help.c:4503 +#: sql_help.c:45 sql_help.c:48 sql_help.c:51 sql_help.c:342 sql_help.c:355 +#: sql_help.c:359 sql_help.c:375 sql_help.c:378 sql_help.c:381 sql_help.c:522 +#: sql_help.c:527 sql_help.c:532 sql_help.c:537 sql_help.c:542 sql_help.c:858 +#: sql_help.c:863 sql_help.c:868 sql_help.c:873 sql_help.c:878 sql_help.c:1008 +#: sql_help.c:1013 sql_help.c:1018 sql_help.c:1023 sql_help.c:1028 +#: sql_help.c:1873 sql_help.c:1890 sql_help.c:1896 sql_help.c:1920 +#: sql_help.c:1923 sql_help.c:1926 sql_help.c:2081 sql_help.c:2100 +#: sql_help.c:2103 sql_help.c:2407 sql_help.c:2616 sql_help.c:3361 +#: sql_help.c:3364 sql_help.c:3367 sql_help.c:3458 sql_help.c:3547 +#: sql_help.c:3575 sql_help.c:3928 sql_help.c:4391 sql_help.c:4498 +#: sql_help.c:4505 sql_help.c:4511 sql_help.c:4522 sql_help.c:4525 +#: sql_help.c:4528 msgid "argmode" msgstr "режим_аргументу" -#: sql_help.c:46 sql_help.c:49 sql_help.c:52 sql_help.c:341 sql_help.c:354 -#: sql_help.c:358 sql_help.c:374 sql_help.c:377 sql_help.c:380 sql_help.c:521 -#: sql_help.c:526 sql_help.c:531 sql_help.c:536 sql_help.c:541 sql_help.c:851 -#: sql_help.c:856 sql_help.c:861 sql_help.c:866 sql_help.c:871 sql_help.c:1001 -#: sql_help.c:1006 sql_help.c:1011 sql_help.c:1016 sql_help.c:1021 -#: sql_help.c:1866 sql_help.c:1883 sql_help.c:1889 sql_help.c:1913 -#: sql_help.c:1916 sql_help.c:1919 sql_help.c:2070 sql_help.c:2089 -#: sql_help.c:2092 sql_help.c:2394 sql_help.c:2603 sql_help.c:3349 -#: sql_help.c:3352 sql_help.c:3355 sql_help.c:3446 sql_help.c:3535 -#: sql_help.c:3563 sql_help.c:4474 sql_help.c:4481 sql_help.c:4487 -#: sql_help.c:4498 sql_help.c:4501 sql_help.c:4504 +#: sql_help.c:46 sql_help.c:49 sql_help.c:52 sql_help.c:343 sql_help.c:356 +#: sql_help.c:360 sql_help.c:376 sql_help.c:379 sql_help.c:382 sql_help.c:523 +#: sql_help.c:528 sql_help.c:533 sql_help.c:538 sql_help.c:543 sql_help.c:859 +#: sql_help.c:864 sql_help.c:869 sql_help.c:874 sql_help.c:879 sql_help.c:1009 +#: sql_help.c:1014 sql_help.c:1019 sql_help.c:1024 sql_help.c:1029 +#: sql_help.c:1874 sql_help.c:1891 sql_help.c:1897 sql_help.c:1921 +#: sql_help.c:1924 sql_help.c:1927 sql_help.c:2082 sql_help.c:2101 +#: sql_help.c:2104 sql_help.c:2408 sql_help.c:2617 sql_help.c:3362 +#: sql_help.c:3365 sql_help.c:3368 sql_help.c:3459 sql_help.c:3548 +#: sql_help.c:3576 sql_help.c:4499 sql_help.c:4506 sql_help.c:4512 +#: sql_help.c:4523 sql_help.c:4526 sql_help.c:4529 msgid "argname" msgstr "ім'я_аргументу" -#: sql_help.c:47 sql_help.c:50 sql_help.c:53 sql_help.c:342 sql_help.c:355 -#: sql_help.c:359 sql_help.c:375 sql_help.c:378 sql_help.c:381 sql_help.c:522 -#: sql_help.c:527 sql_help.c:532 sql_help.c:537 sql_help.c:542 sql_help.c:852 -#: sql_help.c:857 sql_help.c:862 sql_help.c:867 sql_help.c:872 sql_help.c:1002 -#: sql_help.c:1007 sql_help.c:1012 sql_help.c:1017 sql_help.c:1022 -#: sql_help.c:1867 sql_help.c:1884 sql_help.c:1890 sql_help.c:1914 -#: sql_help.c:1917 sql_help.c:1920 sql_help.c:2395 sql_help.c:2604 -#: sql_help.c:3350 sql_help.c:3353 sql_help.c:3356 sql_help.c:3447 -#: sql_help.c:3536 sql_help.c:3564 sql_help.c:4475 sql_help.c:4482 -#: sql_help.c:4488 sql_help.c:4499 sql_help.c:4502 sql_help.c:4505 +#: sql_help.c:47 sql_help.c:50 sql_help.c:53 sql_help.c:344 sql_help.c:357 +#: sql_help.c:361 sql_help.c:377 sql_help.c:380 sql_help.c:383 sql_help.c:524 +#: sql_help.c:529 sql_help.c:534 sql_help.c:539 sql_help.c:544 sql_help.c:860 +#: sql_help.c:865 sql_help.c:870 sql_help.c:875 sql_help.c:880 sql_help.c:1010 +#: sql_help.c:1015 sql_help.c:1020 sql_help.c:1025 sql_help.c:1030 +#: sql_help.c:1875 sql_help.c:1892 sql_help.c:1898 sql_help.c:1922 +#: sql_help.c:1925 sql_help.c:1928 sql_help.c:2409 sql_help.c:2618 +#: sql_help.c:3363 sql_help.c:3366 sql_help.c:3369 sql_help.c:3460 +#: sql_help.c:3549 sql_help.c:3577 sql_help.c:4500 sql_help.c:4507 +#: sql_help.c:4513 sql_help.c:4524 sql_help.c:4527 sql_help.c:4530 msgid "argtype" msgstr "тип_аргументу" -#: sql_help.c:114 sql_help.c:397 sql_help.c:474 sql_help.c:486 sql_help.c:949 -#: sql_help.c:1100 sql_help.c:1504 sql_help.c:1633 sql_help.c:1665 -#: sql_help.c:1718 sql_help.c:1782 sql_help.c:1969 sql_help.c:1976 -#: sql_help.c:2284 sql_help.c:2334 sql_help.c:2341 sql_help.c:2350 -#: sql_help.c:2439 sql_help.c:2666 sql_help.c:2759 sql_help.c:3047 -#: sql_help.c:3232 sql_help.c:3254 sql_help.c:3394 sql_help.c:3750 -#: sql_help.c:3958 sql_help.c:4193 sql_help.c:4195 sql_help.c:4972 +#: sql_help.c:114 sql_help.c:399 sql_help.c:476 sql_help.c:488 sql_help.c:957 +#: sql_help.c:1108 sql_help.c:1518 sql_help.c:1647 sql_help.c:1679 +#: sql_help.c:1731 sql_help.c:1790 sql_help.c:1979 sql_help.c:1986 +#: sql_help.c:2298 sql_help.c:2348 sql_help.c:2355 sql_help.c:2364 +#: sql_help.c:2453 sql_help.c:2678 sql_help.c:2769 sql_help.c:3060 +#: sql_help.c:3245 sql_help.c:3267 sql_help.c:3407 sql_help.c:3764 +#: sql_help.c:3972 sql_help.c:4218 sql_help.c:4220 sql_help.c:4998 msgid "option" msgstr "параметр" -#: sql_help.c:115 sql_help.c:950 sql_help.c:1634 sql_help.c:2440 -#: sql_help.c:2667 sql_help.c:3233 sql_help.c:3395 +#: sql_help.c:115 sql_help.c:958 sql_help.c:1648 sql_help.c:2454 +#: sql_help.c:2679 sql_help.c:3246 sql_help.c:3408 msgid "where option can be:" msgstr "де параметр може бути:" -#: sql_help.c:116 sql_help.c:2216 +#: sql_help.c:116 sql_help.c:2230 msgid "allowconn" msgstr "дозвол_підкл" -#: sql_help.c:117 sql_help.c:951 sql_help.c:1635 sql_help.c:2217 -#: sql_help.c:2441 sql_help.c:2668 sql_help.c:3234 +#: sql_help.c:117 sql_help.c:959 sql_help.c:1649 sql_help.c:2231 +#: sql_help.c:2455 sql_help.c:2680 sql_help.c:3247 msgid "connlimit" msgstr "ліміт_підключень" -#: sql_help.c:118 sql_help.c:2218 +#: sql_help.c:118 sql_help.c:2232 msgid "istemplate" msgstr "чи_шаблон" -#: sql_help.c:124 sql_help.c:611 sql_help.c:679 sql_help.c:693 sql_help.c:1321 -#: sql_help.c:1373 sql_help.c:4199 +#: sql_help.c:124 sql_help.c:613 sql_help.c:681 sql_help.c:695 sql_help.c:1330 +#: sql_help.c:1384 sql_help.c:4224 msgid "new_tablespace" msgstr "новий_табл_простір" -#: sql_help.c:127 sql_help.c:130 sql_help.c:132 sql_help.c:548 sql_help.c:550 -#: sql_help.c:551 sql_help.c:875 sql_help.c:877 sql_help.c:878 sql_help.c:958 -#: sql_help.c:962 sql_help.c:965 sql_help.c:1027 sql_help.c:1029 -#: sql_help.c:1030 sql_help.c:1180 sql_help.c:1182 sql_help.c:1642 -#: sql_help.c:1646 sql_help.c:1649 sql_help.c:2405 sql_help.c:2608 -#: sql_help.c:3926 sql_help.c:4217 sql_help.c:4378 sql_help.c:4687 +#: sql_help.c:127 sql_help.c:130 sql_help.c:132 sql_help.c:550 sql_help.c:552 +#: sql_help.c:553 sql_help.c:883 sql_help.c:885 sql_help.c:886 sql_help.c:966 +#: sql_help.c:970 sql_help.c:973 sql_help.c:1035 sql_help.c:1037 +#: sql_help.c:1038 sql_help.c:1188 sql_help.c:1190 sql_help.c:1656 +#: sql_help.c:1660 sql_help.c:1663 sql_help.c:2419 sql_help.c:2622 +#: sql_help.c:3940 sql_help.c:4242 sql_help.c:4403 sql_help.c:4713 msgid "configuration_parameter" msgstr "параметр_конфігурації" -#: sql_help.c:128 sql_help.c:398 sql_help.c:469 sql_help.c:475 sql_help.c:487 -#: sql_help.c:549 sql_help.c:603 sql_help.c:685 sql_help.c:695 sql_help.c:876 -#: sql_help.c:904 sql_help.c:959 sql_help.c:1028 sql_help.c:1101 -#: sql_help.c:1146 sql_help.c:1150 sql_help.c:1154 sql_help.c:1157 -#: sql_help.c:1162 sql_help.c:1165 sql_help.c:1181 sql_help.c:1352 -#: sql_help.c:1375 sql_help.c:1423 sql_help.c:1448 sql_help.c:1505 -#: sql_help.c:1589 sql_help.c:1643 sql_help.c:1666 sql_help.c:2285 -#: sql_help.c:2335 sql_help.c:2342 sql_help.c:2351 sql_help.c:2406 -#: sql_help.c:2407 sql_help.c:2471 sql_help.c:2474 sql_help.c:2508 -#: sql_help.c:2609 sql_help.c:2610 sql_help.c:2633 sql_help.c:2760 -#: sql_help.c:2799 sql_help.c:2909 sql_help.c:2922 sql_help.c:2936 -#: sql_help.c:2977 sql_help.c:3004 sql_help.c:3021 sql_help.c:3048 -#: sql_help.c:3255 sql_help.c:3959 sql_help.c:4688 sql_help.c:4689 -#: sql_help.c:4690 sql_help.c:4691 +#: sql_help.c:128 sql_help.c:400 sql_help.c:471 sql_help.c:477 sql_help.c:489 +#: sql_help.c:551 sql_help.c:605 sql_help.c:687 sql_help.c:697 sql_help.c:884 +#: sql_help.c:912 sql_help.c:967 sql_help.c:1036 sql_help.c:1109 +#: sql_help.c:1154 sql_help.c:1158 sql_help.c:1162 sql_help.c:1165 +#: sql_help.c:1170 sql_help.c:1173 sql_help.c:1189 sql_help.c:1363 +#: sql_help.c:1386 sql_help.c:1434 sql_help.c:1442 sql_help.c:1462 +#: sql_help.c:1519 sql_help.c:1603 sql_help.c:1657 sql_help.c:1680 +#: sql_help.c:2299 sql_help.c:2349 sql_help.c:2356 sql_help.c:2365 +#: sql_help.c:2420 sql_help.c:2421 sql_help.c:2485 sql_help.c:2488 +#: sql_help.c:2522 sql_help.c:2623 sql_help.c:2624 sql_help.c:2647 +#: sql_help.c:2770 sql_help.c:2809 sql_help.c:2919 sql_help.c:2932 +#: sql_help.c:2946 sql_help.c:2987 sql_help.c:2995 sql_help.c:3017 +#: sql_help.c:3034 sql_help.c:3061 sql_help.c:3268 sql_help.c:3973 +#: sql_help.c:4714 sql_help.c:4715 sql_help.c:4716 sql_help.c:4717 msgid "value" msgstr "значення" -#: sql_help.c:200 +#: sql_help.c:202 msgid "target_role" msgstr "цільова_роль" -#: sql_help.c:201 sql_help.c:913 sql_help.c:2269 sql_help.c:2638 -#: sql_help.c:2715 sql_help.c:2720 sql_help.c:3889 sql_help.c:3898 -#: sql_help.c:3917 sql_help.c:3929 sql_help.c:4341 sql_help.c:4350 -#: sql_help.c:4369 sql_help.c:4381 +#: sql_help.c:203 sql_help.c:921 sql_help.c:2283 sql_help.c:2652 +#: sql_help.c:2725 sql_help.c:2730 sql_help.c:3903 sql_help.c:3912 +#: sql_help.c:3931 sql_help.c:3943 sql_help.c:4366 sql_help.c:4375 +#: sql_help.c:4394 sql_help.c:4406 msgid "schema_name" msgstr "ім'я_схеми" -#: sql_help.c:202 +#: sql_help.c:204 msgid "abbreviated_grant_or_revoke" msgstr "скорочено_GRANT_або_REVOKE" -#: sql_help.c:203 +#: sql_help.c:205 msgid "where abbreviated_grant_or_revoke is one of:" msgstr "де скорочено_GRANT_або_REVOKE є одним з:" -#: sql_help.c:204 sql_help.c:205 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:574 sql_help.c:610 sql_help.c:678 sql_help.c:822 sql_help.c:969 -#: sql_help.c:1320 sql_help.c:1653 sql_help.c:2444 sql_help.c:2445 -#: sql_help.c:2446 sql_help.c:2447 sql_help.c:2448 sql_help.c:2582 -#: sql_help.c:2671 sql_help.c:2672 sql_help.c:2673 sql_help.c:2674 -#: sql_help.c:2675 sql_help.c:3237 sql_help.c:3238 sql_help.c:3239 -#: sql_help.c:3240 sql_help.c:3241 sql_help.c:3938 sql_help.c:3942 -#: sql_help.c:4390 sql_help.c:4394 sql_help.c:4709 +#: 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:576 sql_help.c:612 sql_help.c:680 sql_help.c:830 sql_help.c:977 +#: sql_help.c:1329 sql_help.c:1667 sql_help.c:2458 sql_help.c:2459 +#: sql_help.c:2460 sql_help.c:2461 sql_help.c:2462 sql_help.c:2596 +#: sql_help.c:2683 sql_help.c:2684 sql_help.c:2685 sql_help.c:3250 +#: sql_help.c:3251 sql_help.c:3252 sql_help.c:3253 sql_help.c:3254 +#: sql_help.c:3952 sql_help.c:3956 sql_help.c:4415 sql_help.c:4419 +#: sql_help.c:4735 msgid "role_name" msgstr "ім'я_ролі" -#: sql_help.c:239 sql_help.c:462 sql_help.c:912 sql_help.c:1336 sql_help.c:1338 -#: sql_help.c:1390 sql_help.c:1402 sql_help.c:1427 sql_help.c:1683 -#: sql_help.c:2238 sql_help.c:2242 sql_help.c:2354 sql_help.c:2359 -#: sql_help.c:2467 sql_help.c:2637 sql_help.c:2776 sql_help.c:2781 -#: sql_help.c:2783 sql_help.c:2904 sql_help.c:2917 sql_help.c:2931 -#: sql_help.c:2940 sql_help.c:2952 sql_help.c:2981 sql_help.c:3990 -#: sql_help.c:4005 sql_help.c:4007 sql_help.c:4094 sql_help.c:4097 -#: sql_help.c:4099 sql_help.c:4560 sql_help.c:4561 sql_help.c:4570 -#: sql_help.c:4617 sql_help.c:4618 sql_help.c:4619 sql_help.c:4620 -#: sql_help.c:4621 sql_help.c:4622 sql_help.c:4662 sql_help.c:4663 -#: sql_help.c:4668 sql_help.c:4673 sql_help.c:4817 sql_help.c:4818 -#: sql_help.c:4827 sql_help.c:4874 sql_help.c:4875 sql_help.c:4876 -#: sql_help.c:4877 sql_help.c:4878 sql_help.c:4879 sql_help.c:4933 -#: sql_help.c:4935 sql_help.c:5003 sql_help.c:5063 sql_help.c:5064 -#: sql_help.c:5073 sql_help.c:5120 sql_help.c:5121 sql_help.c:5122 -#: sql_help.c:5123 sql_help.c:5124 sql_help.c:5125 +#: sql_help.c:241 sql_help.c:464 sql_help.c:920 sql_help.c:1345 sql_help.c:1347 +#: sql_help.c:1351 sql_help.c:1401 sql_help.c:1413 sql_help.c:1438 +#: sql_help.c:1697 sql_help.c:2252 sql_help.c:2256 sql_help.c:2368 +#: sql_help.c:2373 sql_help.c:2481 sql_help.c:2651 sql_help.c:2786 +#: sql_help.c:2791 sql_help.c:2793 sql_help.c:2914 sql_help.c:2927 +#: sql_help.c:2941 sql_help.c:2950 sql_help.c:2962 sql_help.c:2991 +#: sql_help.c:4004 sql_help.c:4019 sql_help.c:4021 sql_help.c:4117 +#: sql_help.c:4120 sql_help.c:4122 sql_help.c:4585 sql_help.c:4586 +#: sql_help.c:4595 sql_help.c:4642 sql_help.c:4643 sql_help.c:4644 +#: sql_help.c:4645 sql_help.c:4646 sql_help.c:4647 sql_help.c:4688 +#: sql_help.c:4689 sql_help.c:4694 sql_help.c:4699 sql_help.c:4843 +#: sql_help.c:4844 sql_help.c:4853 sql_help.c:4900 sql_help.c:4901 +#: sql_help.c:4902 sql_help.c:4903 sql_help.c:4904 sql_help.c:4905 +#: sql_help.c:4960 sql_help.c:4962 sql_help.c:5028 sql_help.c:5088 +#: sql_help.c:5089 sql_help.c:5098 sql_help.c:5145 sql_help.c:5146 +#: sql_help.c:5147 sql_help.c:5148 sql_help.c:5149 sql_help.c:5150 msgid "expression" msgstr "вираз" -#: sql_help.c:242 +#: sql_help.c:244 sql_help.c:2253 msgid "domain_constraint" msgstr "обмеження_домену" -#: sql_help.c:244 sql_help.c:246 sql_help.c:249 sql_help.c:477 sql_help.c:478 -#: sql_help.c:1313 sql_help.c:1360 sql_help.c:1361 sql_help.c:1362 -#: sql_help.c:1389 sql_help.c:1401 sql_help.c:1418 sql_help.c:1853 -#: sql_help.c:1855 sql_help.c:2241 sql_help.c:2353 sql_help.c:2358 -#: sql_help.c:2939 sql_help.c:2951 sql_help.c:4002 +#: sql_help.c:246 sql_help.c:248 sql_help.c:251 sql_help.c:479 sql_help.c:480 +#: sql_help.c:1322 sql_help.c:1371 sql_help.c:1372 sql_help.c:1373 +#: sql_help.c:1400 sql_help.c:1412 sql_help.c:1429 sql_help.c:1861 +#: sql_help.c:1863 sql_help.c:2255 sql_help.c:2367 sql_help.c:2372 +#: sql_help.c:2949 sql_help.c:2961 sql_help.c:4016 msgid "constraint_name" msgstr "ім'я_обмеження" -#: sql_help.c:247 sql_help.c:1314 +#: sql_help.c:249 sql_help.c:1323 msgid "new_constraint_name" msgstr "ім'я_нового_обмеження" -#: sql_help.c:320 sql_help.c:1099 +#: sql_help.c:322 sql_help.c:1107 msgid "new_version" msgstr "нова_версія" -#: sql_help.c:324 sql_help.c:326 +#: sql_help.c:326 sql_help.c:328 msgid "member_object" msgstr "елемент_об'єкт" -#: sql_help.c:327 +#: sql_help.c:329 msgid "where member_object is:" msgstr "де елемент_об'єкт є:" -#: sql_help.c:328 sql_help.c:333 sql_help.c:334 sql_help.c:335 sql_help.c:336 -#: sql_help.c:337 sql_help.c:338 sql_help.c:343 sql_help.c:347 sql_help.c:349 -#: sql_help.c:351 sql_help.c:360 sql_help.c:361 sql_help.c:362 sql_help.c:363 -#: sql_help.c:364 sql_help.c:365 sql_help.c:366 sql_help.c:367 sql_help.c:370 -#: sql_help.c:371 sql_help.c:1845 sql_help.c:1850 sql_help.c:1857 -#: sql_help.c:1858 sql_help.c:1859 sql_help.c:1860 sql_help.c:1861 -#: sql_help.c:1862 sql_help.c:1863 sql_help.c:1868 sql_help.c:1870 -#: sql_help.c:1874 sql_help.c:1876 sql_help.c:1880 sql_help.c:1885 -#: sql_help.c:1886 sql_help.c:1893 sql_help.c:1894 sql_help.c:1895 -#: sql_help.c:1896 sql_help.c:1897 sql_help.c:1898 sql_help.c:1899 -#: sql_help.c:1900 sql_help.c:1901 sql_help.c:1902 sql_help.c:1903 -#: sql_help.c:1908 sql_help.c:1909 sql_help.c:4463 sql_help.c:4468 -#: sql_help.c:4469 sql_help.c:4470 sql_help.c:4471 sql_help.c:4477 -#: sql_help.c:4478 sql_help.c:4483 sql_help.c:4484 sql_help.c:4489 -#: sql_help.c:4490 sql_help.c:4491 sql_help.c:4492 sql_help.c:4493 -#: sql_help.c:4494 +#: sql_help.c:330 sql_help.c:335 sql_help.c:336 sql_help.c:337 sql_help.c:338 +#: sql_help.c:339 sql_help.c:340 sql_help.c:345 sql_help.c:349 sql_help.c:351 +#: sql_help.c:353 sql_help.c:362 sql_help.c:363 sql_help.c:364 sql_help.c:365 +#: sql_help.c:366 sql_help.c:367 sql_help.c:368 sql_help.c:369 sql_help.c:372 +#: sql_help.c:373 sql_help.c:1853 sql_help.c:1858 sql_help.c:1865 +#: sql_help.c:1866 sql_help.c:1867 sql_help.c:1868 sql_help.c:1869 +#: sql_help.c:1870 sql_help.c:1871 sql_help.c:1876 sql_help.c:1878 +#: sql_help.c:1882 sql_help.c:1884 sql_help.c:1888 sql_help.c:1893 +#: sql_help.c:1894 sql_help.c:1901 sql_help.c:1902 sql_help.c:1903 +#: sql_help.c:1904 sql_help.c:1905 sql_help.c:1906 sql_help.c:1907 +#: sql_help.c:1908 sql_help.c:1909 sql_help.c:1910 sql_help.c:1911 +#: sql_help.c:1916 sql_help.c:1917 sql_help.c:4488 sql_help.c:4493 +#: sql_help.c:4494 sql_help.c:4495 sql_help.c:4496 sql_help.c:4502 +#: sql_help.c:4503 sql_help.c:4508 sql_help.c:4509 sql_help.c:4514 +#: sql_help.c:4515 sql_help.c:4516 sql_help.c:4517 sql_help.c:4518 +#: sql_help.c:4519 msgid "object_name" msgstr "ім'я_об'єкту" -#: sql_help.c:329 sql_help.c:1846 sql_help.c:4466 +#: sql_help.c:331 sql_help.c:1854 sql_help.c:4491 msgid "aggregate_name" msgstr "ім'я_агр_функції" -#: sql_help.c:331 sql_help.c:1848 sql_help.c:2134 sql_help.c:2138 -#: sql_help.c:2140 sql_help.c:3364 +#: sql_help.c:333 sql_help.c:1856 sql_help.c:2146 sql_help.c:2150 +#: sql_help.c:2152 sql_help.c:3377 msgid "source_type" msgstr "початковий_тип" -#: sql_help.c:332 sql_help.c:1849 sql_help.c:2135 sql_help.c:2139 -#: sql_help.c:2141 sql_help.c:3365 +#: sql_help.c:334 sql_help.c:1857 sql_help.c:2147 sql_help.c:2151 +#: sql_help.c:2153 sql_help.c:3378 msgid "target_type" msgstr "тип_цілі" -#: sql_help.c:339 sql_help.c:786 sql_help.c:1864 sql_help.c:2136 -#: sql_help.c:2179 sql_help.c:2257 sql_help.c:2525 sql_help.c:2556 -#: sql_help.c:3124 sql_help.c:4365 sql_help.c:4472 sql_help.c:4589 -#: sql_help.c:4593 sql_help.c:4597 sql_help.c:4600 sql_help.c:4846 -#: sql_help.c:4850 sql_help.c:4854 sql_help.c:4857 sql_help.c:5092 -#: sql_help.c:5096 sql_help.c:5100 sql_help.c:5103 +#: sql_help.c:341 sql_help.c:794 sql_help.c:1872 sql_help.c:2148 +#: sql_help.c:2191 sql_help.c:2271 sql_help.c:2539 sql_help.c:2570 +#: sql_help.c:3137 sql_help.c:4390 sql_help.c:4497 sql_help.c:4614 +#: sql_help.c:4618 sql_help.c:4622 sql_help.c:4625 sql_help.c:4872 +#: sql_help.c:4876 sql_help.c:4880 sql_help.c:4883 sql_help.c:5117 +#: sql_help.c:5121 sql_help.c:5125 sql_help.c:5128 msgid "function_name" msgstr "ім'я_функції" -#: sql_help.c:344 sql_help.c:779 sql_help.c:1871 sql_help.c:2549 +#: sql_help.c:346 sql_help.c:787 sql_help.c:1879 sql_help.c:2563 msgid "operator_name" msgstr "ім'я_оператора" -#: sql_help.c:345 sql_help.c:715 sql_help.c:719 sql_help.c:723 sql_help.c:1872 -#: sql_help.c:2526 sql_help.c:3488 +#: sql_help.c:347 sql_help.c:721 sql_help.c:725 sql_help.c:729 sql_help.c:1880 +#: sql_help.c:2540 sql_help.c:3501 msgid "left_type" msgstr "тип_ліворуч" -#: sql_help.c:346 sql_help.c:716 sql_help.c:720 sql_help.c:724 sql_help.c:1873 -#: sql_help.c:2527 sql_help.c:3489 +#: sql_help.c:348 sql_help.c:722 sql_help.c:726 sql_help.c:730 sql_help.c:1881 +#: sql_help.c:2541 sql_help.c:3502 msgid "right_type" msgstr "тип_праворуч" -#: sql_help.c:348 sql_help.c:350 sql_help.c:742 sql_help.c:745 sql_help.c:748 -#: sql_help.c:777 sql_help.c:789 sql_help.c:797 sql_help.c:800 sql_help.c:803 -#: sql_help.c:1407 sql_help.c:1875 sql_help.c:1877 sql_help.c:2546 -#: sql_help.c:2567 sql_help.c:2957 sql_help.c:3498 sql_help.c:3507 +#: sql_help.c:350 sql_help.c:352 sql_help.c:750 sql_help.c:753 sql_help.c:756 +#: sql_help.c:785 sql_help.c:797 sql_help.c:805 sql_help.c:808 sql_help.c:811 +#: sql_help.c:1418 sql_help.c:1883 sql_help.c:1885 sql_help.c:2560 +#: sql_help.c:2581 sql_help.c:2967 sql_help.c:3511 sql_help.c:3520 msgid "index_method" msgstr "метод_індексу" -#: sql_help.c:352 sql_help.c:1881 sql_help.c:4479 +#: sql_help.c:354 sql_help.c:1889 sql_help.c:4504 msgid "procedure_name" msgstr "назва_процедури" -#: sql_help.c:356 sql_help.c:1887 sql_help.c:3913 sql_help.c:4485 +#: sql_help.c:358 sql_help.c:1895 sql_help.c:3927 sql_help.c:4510 msgid "routine_name" msgstr "ім'я_підпрограми" -#: sql_help.c:368 sql_help.c:1379 sql_help.c:1904 sql_help.c:2401 -#: sql_help.c:2607 sql_help.c:2912 sql_help.c:3091 sql_help.c:3669 -#: sql_help.c:3935 sql_help.c:4387 +#: sql_help.c:370 sql_help.c:1390 sql_help.c:1912 sql_help.c:2415 +#: sql_help.c:2621 sql_help.c:2922 sql_help.c:3104 sql_help.c:3682 +#: sql_help.c:3949 sql_help.c:4412 msgid "type_name" msgstr "назва_типу" -#: sql_help.c:369 sql_help.c:1905 sql_help.c:2400 sql_help.c:2606 -#: sql_help.c:3092 sql_help.c:3322 sql_help.c:3670 sql_help.c:3920 -#: sql_help.c:4372 +#: sql_help.c:371 sql_help.c:1913 sql_help.c:2414 sql_help.c:2620 +#: sql_help.c:3105 sql_help.c:3335 sql_help.c:3683 sql_help.c:3934 +#: sql_help.c:4397 msgid "lang_name" msgstr "назва_мови" -#: sql_help.c:372 +#: sql_help.c:374 msgid "and aggregate_signature is:" msgstr "і сигнатура_агр_функції:" -#: sql_help.c:395 sql_help.c:2001 sql_help.c:2282 +#: sql_help.c:397 sql_help.c:2013 sql_help.c:2296 msgid "handler_function" msgstr "функція_обробник" -#: sql_help.c:396 sql_help.c:2283 +#: sql_help.c:398 sql_help.c:2297 msgid "validator_function" msgstr "функція_перевірки" -#: sql_help.c:444 sql_help.c:523 sql_help.c:667 sql_help.c:853 sql_help.c:1003 -#: sql_help.c:1308 sql_help.c:1580 +#: sql_help.c:446 sql_help.c:525 sql_help.c:669 sql_help.c:861 sql_help.c:1011 +#: sql_help.c:1317 sql_help.c:1594 msgid "action" msgstr "дія" -#: sql_help.c:446 sql_help.c:453 sql_help.c:457 sql_help.c:458 sql_help.c:461 -#: sql_help.c:463 sql_help.c:464 sql_help.c:465 sql_help.c:467 sql_help.c:470 -#: sql_help.c:472 sql_help.c:473 sql_help.c:671 sql_help.c:681 sql_help.c:683 -#: sql_help.c:686 sql_help.c:688 sql_help.c:689 sql_help.c:911 sql_help.c:1080 -#: sql_help.c:1310 sql_help.c:1328 sql_help.c:1332 sql_help.c:1333 -#: sql_help.c:1337 sql_help.c:1339 sql_help.c:1340 sql_help.c:1341 -#: sql_help.c:1342 sql_help.c:1344 sql_help.c:1347 sql_help.c:1348 -#: sql_help.c:1350 sql_help.c:1353 sql_help.c:1355 sql_help.c:1356 -#: sql_help.c:1403 sql_help.c:1405 sql_help.c:1412 sql_help.c:1421 -#: sql_help.c:1426 sql_help.c:1430 sql_help.c:1431 sql_help.c:1682 -#: sql_help.c:1685 sql_help.c:1689 sql_help.c:1727 sql_help.c:1852 -#: sql_help.c:1966 sql_help.c:1972 sql_help.c:1986 sql_help.c:1987 -#: sql_help.c:1988 sql_help.c:2332 sql_help.c:2345 sql_help.c:2398 -#: sql_help.c:2466 sql_help.c:2472 sql_help.c:2505 sql_help.c:2636 -#: sql_help.c:2745 sql_help.c:2780 sql_help.c:2782 sql_help.c:2894 -#: sql_help.c:2903 sql_help.c:2913 sql_help.c:2916 sql_help.c:2926 -#: sql_help.c:2930 sql_help.c:2953 sql_help.c:2955 sql_help.c:2962 -#: sql_help.c:2975 sql_help.c:2980 sql_help.c:2984 sql_help.c:2985 -#: sql_help.c:3001 sql_help.c:3127 sql_help.c:3267 sql_help.c:3892 -#: sql_help.c:3893 sql_help.c:3989 sql_help.c:4004 sql_help.c:4006 -#: sql_help.c:4008 sql_help.c:4093 sql_help.c:4096 sql_help.c:4098 -#: sql_help.c:4344 sql_help.c:4345 sql_help.c:4465 sql_help.c:4626 -#: sql_help.c:4632 sql_help.c:4634 sql_help.c:4883 sql_help.c:4889 -#: sql_help.c:4891 sql_help.c:4932 sql_help.c:4934 sql_help.c:4936 -#: sql_help.c:4991 sql_help.c:5129 sql_help.c:5135 sql_help.c:5137 +#: sql_help.c:448 sql_help.c:455 sql_help.c:459 sql_help.c:460 sql_help.c:463 +#: sql_help.c:465 sql_help.c:466 sql_help.c:467 sql_help.c:469 sql_help.c:472 +#: sql_help.c:474 sql_help.c:475 sql_help.c:673 sql_help.c:683 sql_help.c:685 +#: sql_help.c:688 sql_help.c:690 sql_help.c:691 sql_help.c:919 sql_help.c:1088 +#: sql_help.c:1319 sql_help.c:1337 sql_help.c:1341 sql_help.c:1342 +#: sql_help.c:1346 sql_help.c:1348 sql_help.c:1349 sql_help.c:1350 +#: sql_help.c:1352 sql_help.c:1353 sql_help.c:1355 sql_help.c:1358 +#: sql_help.c:1359 sql_help.c:1361 sql_help.c:1364 sql_help.c:1366 +#: sql_help.c:1367 sql_help.c:1414 sql_help.c:1416 sql_help.c:1423 +#: sql_help.c:1432 sql_help.c:1437 sql_help.c:1444 sql_help.c:1445 +#: sql_help.c:1696 sql_help.c:1699 sql_help.c:1703 sql_help.c:1739 +#: sql_help.c:1860 sql_help.c:1976 sql_help.c:1982 sql_help.c:1996 +#: sql_help.c:1997 sql_help.c:1998 sql_help.c:2346 sql_help.c:2359 +#: sql_help.c:2412 sql_help.c:2480 sql_help.c:2486 sql_help.c:2519 +#: sql_help.c:2650 sql_help.c:2755 sql_help.c:2790 sql_help.c:2792 +#: sql_help.c:2904 sql_help.c:2913 sql_help.c:2923 sql_help.c:2926 +#: sql_help.c:2936 sql_help.c:2940 sql_help.c:2963 sql_help.c:2965 +#: sql_help.c:2972 sql_help.c:2985 sql_help.c:2990 sql_help.c:2997 +#: sql_help.c:2998 sql_help.c:3014 sql_help.c:3140 sql_help.c:3280 +#: sql_help.c:3906 sql_help.c:3907 sql_help.c:4003 sql_help.c:4018 +#: sql_help.c:4020 sql_help.c:4022 sql_help.c:4116 sql_help.c:4119 +#: sql_help.c:4121 sql_help.c:4123 sql_help.c:4369 sql_help.c:4370 +#: sql_help.c:4490 sql_help.c:4651 sql_help.c:4658 sql_help.c:4660 +#: sql_help.c:4909 sql_help.c:4916 sql_help.c:4918 sql_help.c:4959 +#: sql_help.c:4961 sql_help.c:4963 sql_help.c:5016 sql_help.c:5154 +#: sql_help.c:5161 sql_help.c:5163 msgid "column_name" msgstr "назва_стовпця" -#: sql_help.c:447 sql_help.c:672 sql_help.c:1311 sql_help.c:1690 +#: sql_help.c:449 sql_help.c:674 sql_help.c:1320 sql_help.c:1704 msgid "new_column_name" msgstr "нова_назва_стовпця" -#: sql_help.c:452 sql_help.c:544 sql_help.c:680 sql_help.c:874 sql_help.c:1024 -#: sql_help.c:1327 sql_help.c:1590 +#: sql_help.c:454 sql_help.c:546 sql_help.c:682 sql_help.c:882 sql_help.c:1032 +#: sql_help.c:1336 sql_help.c:1604 msgid "where action is one of:" msgstr "де допустима дія:" -#: sql_help.c:454 sql_help.c:459 sql_help.c:1072 sql_help.c:1329 -#: sql_help.c:1334 sql_help.c:1592 sql_help.c:1596 sql_help.c:2236 -#: sql_help.c:2333 sql_help.c:2545 sql_help.c:2738 sql_help.c:2895 -#: sql_help.c:3174 sql_help.c:4150 +#: sql_help.c:456 sql_help.c:461 sql_help.c:1080 sql_help.c:1338 +#: sql_help.c:1343 sql_help.c:1606 sql_help.c:1610 sql_help.c:2250 +#: sql_help.c:2347 sql_help.c:2559 sql_help.c:2748 sql_help.c:2905 +#: sql_help.c:3187 sql_help.c:4175 msgid "data_type" msgstr "тип_даних" -#: sql_help.c:455 sql_help.c:460 sql_help.c:1330 sql_help.c:1335 -#: sql_help.c:1593 sql_help.c:1597 sql_help.c:2237 sql_help.c:2336 -#: sql_help.c:2468 sql_help.c:2897 sql_help.c:2905 sql_help.c:2918 -#: sql_help.c:2932 sql_help.c:3175 sql_help.c:3181 sql_help.c:3999 +#: sql_help.c:457 sql_help.c:462 sql_help.c:1339 sql_help.c:1344 +#: sql_help.c:1439 sql_help.c:1607 sql_help.c:1611 sql_help.c:2251 +#: sql_help.c:2350 sql_help.c:2482 sql_help.c:2907 sql_help.c:2915 +#: sql_help.c:2928 sql_help.c:2942 sql_help.c:2992 sql_help.c:3188 +#: sql_help.c:3194 sql_help.c:4013 msgid "collation" msgstr "правила_сортування" -#: sql_help.c:456 sql_help.c:1331 sql_help.c:2337 sql_help.c:2346 -#: sql_help.c:2898 sql_help.c:2914 sql_help.c:2927 +#: sql_help.c:458 sql_help.c:1340 sql_help.c:2351 sql_help.c:2360 +#: sql_help.c:2908 sql_help.c:2924 sql_help.c:2937 msgid "column_constraint" msgstr "обмеження_стовпця" -#: sql_help.c:466 sql_help.c:608 sql_help.c:682 sql_help.c:1349 sql_help.c:4985 +#: sql_help.c:468 sql_help.c:610 sql_help.c:684 sql_help.c:1360 sql_help.c:5010 msgid "integer" msgstr "ціле" -#: sql_help.c:468 sql_help.c:471 sql_help.c:684 sql_help.c:687 sql_help.c:1351 -#: sql_help.c:1354 +#: sql_help.c:470 sql_help.c:473 sql_help.c:686 sql_help.c:689 sql_help.c:1362 +#: sql_help.c:1365 msgid "attribute_option" msgstr "параметр_атрибуту" -#: sql_help.c:476 sql_help.c:1358 sql_help.c:2338 sql_help.c:2347 -#: sql_help.c:2899 sql_help.c:2915 sql_help.c:2928 +#: sql_help.c:478 sql_help.c:1369 sql_help.c:2352 sql_help.c:2361 +#: sql_help.c:2909 sql_help.c:2925 sql_help.c:2938 msgid "table_constraint" msgstr "обмеження_таблиці" -#: sql_help.c:479 sql_help.c:480 sql_help.c:481 sql_help.c:482 sql_help.c:1363 -#: sql_help.c:1364 sql_help.c:1365 sql_help.c:1366 sql_help.c:1906 +#: sql_help.c:481 sql_help.c:482 sql_help.c:483 sql_help.c:484 sql_help.c:1374 +#: sql_help.c:1375 sql_help.c:1376 sql_help.c:1377 sql_help.c:1914 msgid "trigger_name" msgstr "ім'я_тригеру" -#: sql_help.c:483 sql_help.c:484 sql_help.c:1377 sql_help.c:1378 -#: sql_help.c:2339 sql_help.c:2344 sql_help.c:2902 sql_help.c:2925 +#: sql_help.c:485 sql_help.c:486 sql_help.c:1388 sql_help.c:1389 +#: sql_help.c:2353 sql_help.c:2358 sql_help.c:2912 sql_help.c:2935 msgid "parent_table" msgstr "батьківська_таблиця" -#: sql_help.c:543 sql_help.c:600 sql_help.c:669 sql_help.c:873 sql_help.c:1023 -#: sql_help.c:1549 sql_help.c:2268 +#: sql_help.c:545 sql_help.c:602 sql_help.c:671 sql_help.c:881 sql_help.c:1031 +#: sql_help.c:1563 sql_help.c:2282 msgid "extension_name" msgstr "ім'я_розширення" -#: sql_help.c:545 sql_help.c:1025 sql_help.c:2402 +#: sql_help.c:547 sql_help.c:1033 sql_help.c:2416 msgid "execution_cost" msgstr "вартість_виконання" -#: sql_help.c:546 sql_help.c:1026 sql_help.c:2403 +#: sql_help.c:548 sql_help.c:1034 sql_help.c:2417 msgid "result_rows" msgstr "рядки_результату" -#: sql_help.c:547 sql_help.c:2404 +#: sql_help.c:549 sql_help.c:2418 msgid "support_function" msgstr "функція_підтримки" -#: sql_help.c:569 sql_help.c:571 sql_help.c:948 sql_help.c:956 sql_help.c:960 -#: sql_help.c:963 sql_help.c:966 sql_help.c:1632 sql_help.c:1640 -#: sql_help.c:1644 sql_help.c:1647 sql_help.c:1650 sql_help.c:2716 -#: sql_help.c:2718 sql_help.c:2721 sql_help.c:2722 sql_help.c:3890 -#: sql_help.c:3891 sql_help.c:3895 sql_help.c:3896 sql_help.c:3899 -#: sql_help.c:3900 sql_help.c:3902 sql_help.c:3903 sql_help.c:3905 -#: sql_help.c:3906 sql_help.c:3908 sql_help.c:3909 sql_help.c:3911 -#: sql_help.c:3912 sql_help.c:3918 sql_help.c:3919 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:3936 sql_help.c:3937 sql_help.c:3939 -#: sql_help.c:3940 sql_help.c:4342 sql_help.c:4343 sql_help.c:4347 -#: sql_help.c:4348 sql_help.c:4351 sql_help.c:4352 sql_help.c:4354 -#: sql_help.c:4355 sql_help.c:4357 sql_help.c:4358 sql_help.c:4360 -#: sql_help.c:4361 sql_help.c:4363 sql_help.c:4364 sql_help.c:4370 -#: sql_help.c:4371 sql_help.c:4373 sql_help.c:4374 sql_help.c:4376 -#: sql_help.c:4377 sql_help.c:4379 sql_help.c:4380 sql_help.c:4382 -#: sql_help.c:4383 sql_help.c:4385 sql_help.c:4386 sql_help.c:4388 -#: sql_help.c:4389 sql_help.c:4391 sql_help.c:4392 +#: sql_help.c:571 sql_help.c:573 sql_help.c:956 sql_help.c:964 sql_help.c:968 +#: sql_help.c:971 sql_help.c:974 sql_help.c:1646 sql_help.c:1654 +#: sql_help.c:1658 sql_help.c:1661 sql_help.c:1664 sql_help.c:2726 +#: sql_help.c:2728 sql_help.c:2731 sql_help.c:2732 sql_help.c:3904 +#: sql_help.c:3905 sql_help.c:3909 sql_help.c:3910 sql_help.c:3913 +#: sql_help.c:3914 sql_help.c:3916 sql_help.c:3917 sql_help.c:3919 +#: sql_help.c:3920 sql_help.c:3922 sql_help.c:3923 sql_help.c:3925 +#: sql_help.c:3926 sql_help.c:3932 sql_help.c:3933 sql_help.c:3935 +#: sql_help.c:3936 sql_help.c:3938 sql_help.c:3939 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:4367 sql_help.c:4368 sql_help.c:4372 +#: sql_help.c:4373 sql_help.c:4376 sql_help.c:4377 sql_help.c:4379 +#: sql_help.c:4380 sql_help.c:4382 sql_help.c:4383 sql_help.c:4385 +#: sql_help.c:4386 sql_help.c:4388 sql_help.c:4389 sql_help.c:4395 +#: sql_help.c:4396 sql_help.c:4398 sql_help.c:4399 sql_help.c:4401 +#: sql_help.c:4402 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 msgid "role_specification" msgstr "вказання_ролі" -#: sql_help.c:570 sql_help.c:572 sql_help.c:1663 sql_help.c:2204 -#: sql_help.c:2724 sql_help.c:3252 sql_help.c:3703 sql_help.c:4719 +#: sql_help.c:572 sql_help.c:574 sql_help.c:1677 sql_help.c:2217 +#: sql_help.c:2734 sql_help.c:3265 sql_help.c:3716 sql_help.c:4745 msgid "user_name" msgstr "ім'я_користувача" -#: sql_help.c:573 sql_help.c:968 sql_help.c:1652 sql_help.c:2723 -#: sql_help.c:3941 sql_help.c:4393 +#: sql_help.c:575 sql_help.c:976 sql_help.c:1666 sql_help.c:2733 +#: sql_help.c:3955 sql_help.c:4418 msgid "where role_specification can be:" msgstr "де вказання_ролі може бути:" -#: sql_help.c:575 +#: sql_help.c:577 msgid "group_name" msgstr "ім'я_групи" -#: sql_help.c:596 sql_help.c:1424 sql_help.c:2215 sql_help.c:2475 -#: sql_help.c:2509 sql_help.c:2910 sql_help.c:2923 sql_help.c:2937 -#: sql_help.c:2978 sql_help.c:3005 sql_help.c:3017 sql_help.c:3932 -#: sql_help.c:4384 +#: sql_help.c:598 sql_help.c:1435 sql_help.c:2229 sql_help.c:2489 +#: sql_help.c:2523 sql_help.c:2920 sql_help.c:2933 sql_help.c:2947 +#: sql_help.c:2988 sql_help.c:3018 sql_help.c:3030 sql_help.c:3946 +#: sql_help.c:4409 msgid "tablespace_name" msgstr "ім'я_табличного_простору" -#: sql_help.c:598 sql_help.c:691 sql_help.c:1371 sql_help.c:1381 -#: sql_help.c:1419 sql_help.c:1781 sql_help.c:1784 +#: sql_help.c:600 sql_help.c:693 sql_help.c:1382 sql_help.c:1392 +#: sql_help.c:1430 sql_help.c:1792 msgid "index_name" msgstr "назва_індексу" -#: sql_help.c:602 sql_help.c:605 sql_help.c:694 sql_help.c:696 sql_help.c:1374 -#: sql_help.c:1376 sql_help.c:1422 sql_help.c:2473 sql_help.c:2507 -#: sql_help.c:2908 sql_help.c:2921 sql_help.c:2935 sql_help.c:2976 -#: sql_help.c:3003 +#: sql_help.c:604 sql_help.c:607 sql_help.c:696 sql_help.c:698 sql_help.c:1385 +#: sql_help.c:1387 sql_help.c:1433 sql_help.c:2487 sql_help.c:2521 +#: sql_help.c:2918 sql_help.c:2931 sql_help.c:2945 sql_help.c:2986 +#: sql_help.c:3016 msgid "storage_parameter" msgstr "параметр_зберігання" -#: sql_help.c:607 +#: sql_help.c:609 msgid "column_number" msgstr "номер_стовпця" -#: sql_help.c:631 sql_help.c:1869 sql_help.c:4476 +#: sql_help.c:633 sql_help.c:1877 sql_help.c:4501 msgid "large_object_oid" msgstr "oid_великого_об'єкта" -#: sql_help.c:690 sql_help.c:1357 sql_help.c:2896 +#: sql_help.c:692 sql_help.c:1368 sql_help.c:2906 msgid "compression_method" msgstr "compression_method" -#: sql_help.c:692 sql_help.c:1372 +#: sql_help.c:694 sql_help.c:1383 msgid "new_access_method" msgstr "новий_метод_доступа" -#: sql_help.c:725 sql_help.c:2530 +#: sql_help.c:731 sql_help.c:2544 msgid "res_proc" msgstr "res_процедура" -#: sql_help.c:726 sql_help.c:2531 +#: sql_help.c:732 sql_help.c:2545 msgid "join_proc" msgstr "процедура_приєднання" -#: sql_help.c:778 sql_help.c:790 sql_help.c:2548 +#: sql_help.c:733 sql_help.c:2542 +msgid "com_op" +msgstr "комут_оператор" + +#: sql_help.c:734 sql_help.c:2543 +msgid "neg_op" +msgstr "зворотній_оператор" + +#: sql_help.c:786 sql_help.c:798 sql_help.c:2562 msgid "strategy_number" msgstr "номер_стратегії" -#: sql_help.c:780 sql_help.c:781 sql_help.c:784 sql_help.c:785 sql_help.c:791 -#: sql_help.c:792 sql_help.c:794 sql_help.c:795 sql_help.c:2550 sql_help.c:2551 -#: sql_help.c:2554 sql_help.c:2555 +#: sql_help.c:788 sql_help.c:789 sql_help.c:792 sql_help.c:793 sql_help.c:799 +#: sql_help.c:800 sql_help.c:802 sql_help.c:803 sql_help.c:2564 sql_help.c:2565 +#: sql_help.c:2568 sql_help.c:2569 msgid "op_type" msgstr "тип_операції" -#: sql_help.c:782 sql_help.c:2552 +#: sql_help.c:790 sql_help.c:2566 msgid "sort_family_name" msgstr "ім'я_родини_сортування" -#: sql_help.c:783 sql_help.c:793 sql_help.c:2553 +#: sql_help.c:791 sql_help.c:801 sql_help.c:2567 msgid "support_number" msgstr "номер_підтримки" -#: sql_help.c:787 sql_help.c:2137 sql_help.c:2557 sql_help.c:3094 -#: sql_help.c:3096 +#: sql_help.c:795 sql_help.c:2149 sql_help.c:2571 sql_help.c:3107 +#: sql_help.c:3109 msgid "argument_type" msgstr "тип_аргументу" -#: sql_help.c:818 sql_help.c:821 sql_help.c:910 sql_help.c:1039 sql_help.c:1079 -#: sql_help.c:1545 sql_help.c:1548 sql_help.c:1726 sql_help.c:1780 -#: sql_help.c:1783 sql_help.c:1854 sql_help.c:1879 sql_help.c:1892 -#: sql_help.c:1907 sql_help.c:1965 sql_help.c:1971 sql_help.c:2331 -#: sql_help.c:2343 sql_help.c:2464 sql_help.c:2504 sql_help.c:2581 -#: sql_help.c:2635 sql_help.c:2692 sql_help.c:2744 sql_help.c:2777 -#: sql_help.c:2784 sql_help.c:2893 sql_help.c:2911 sql_help.c:2924 -#: sql_help.c:3000 sql_help.c:3120 sql_help.c:3301 sql_help.c:3524 -#: sql_help.c:3573 sql_help.c:3679 sql_help.c:3888 sql_help.c:3894 -#: sql_help.c:3955 sql_help.c:3987 sql_help.c:4340 sql_help.c:4346 -#: sql_help.c:4464 sql_help.c:4575 sql_help.c:4577 sql_help.c:4639 -#: sql_help.c:4678 sql_help.c:4832 sql_help.c:4834 sql_help.c:4896 -#: sql_help.c:4930 sql_help.c:4990 sql_help.c:5078 sql_help.c:5080 -#: sql_help.c:5142 +#: sql_help.c:826 sql_help.c:829 sql_help.c:918 sql_help.c:1047 sql_help.c:1087 +#: sql_help.c:1559 sql_help.c:1562 sql_help.c:1738 sql_help.c:1791 +#: sql_help.c:1862 sql_help.c:1887 sql_help.c:1900 sql_help.c:1915 +#: sql_help.c:1975 sql_help.c:1981 sql_help.c:2345 sql_help.c:2357 +#: sql_help.c:2478 sql_help.c:2518 sql_help.c:2595 sql_help.c:2649 +#: sql_help.c:2702 sql_help.c:2754 sql_help.c:2787 sql_help.c:2794 +#: sql_help.c:2903 sql_help.c:2921 sql_help.c:2934 sql_help.c:3013 +#: sql_help.c:3133 sql_help.c:3314 sql_help.c:3537 sql_help.c:3586 +#: sql_help.c:3692 sql_help.c:3902 sql_help.c:3908 sql_help.c:3969 +#: sql_help.c:4001 sql_help.c:4365 sql_help.c:4371 sql_help.c:4489 +#: sql_help.c:4602 sql_help.c:4665 sql_help.c:4704 sql_help.c:4860 +#: sql_help.c:4923 sql_help.c:4957 sql_help.c:5015 sql_help.c:5105 +#: sql_help.c:5168 msgid "table_name" msgstr "ім'я_таблиці" -#: sql_help.c:823 sql_help.c:2583 +#: sql_help.c:831 sql_help.c:2597 msgid "using_expression" msgstr "вираз_використання" -#: sql_help.c:824 sql_help.c:2584 +#: sql_help.c:832 sql_help.c:2598 msgid "check_expression" msgstr "вираз_перевірки" -#: sql_help.c:897 sql_help.c:899 sql_help.c:901 sql_help.c:2631 +#: sql_help.c:905 sql_help.c:907 sql_help.c:909 sql_help.c:2645 msgid "publication_object" msgstr "об'єкт_публікація" -#: sql_help.c:903 sql_help.c:2632 +#: sql_help.c:911 sql_help.c:2646 msgid "publication_parameter" msgstr "параметр_публікації" -#: sql_help.c:909 sql_help.c:2634 +#: sql_help.c:917 sql_help.c:2648 msgid "where publication_object is one of:" msgstr "де об'єкт_публікація є одним з:" -#: sql_help.c:952 sql_help.c:1636 sql_help.c:2442 sql_help.c:2669 -#: sql_help.c:3235 +#: sql_help.c:960 sql_help.c:1650 sql_help.c:2456 sql_help.c:2681 +#: sql_help.c:3248 msgid "password" msgstr "пароль" -#: sql_help.c:953 sql_help.c:1637 sql_help.c:2443 sql_help.c:2670 -#: sql_help.c:3236 +#: sql_help.c:961 sql_help.c:1651 sql_help.c:2457 sql_help.c:2682 +#: sql_help.c:3249 msgid "timestamp" msgstr "мітка часу" -#: sql_help.c:957 sql_help.c:961 sql_help.c:964 sql_help.c:967 sql_help.c:1641 -#: sql_help.c:1645 sql_help.c:1648 sql_help.c:1651 sql_help.c:3901 -#: sql_help.c:4353 +#: sql_help.c:965 sql_help.c:969 sql_help.c:972 sql_help.c:975 sql_help.c:1655 +#: sql_help.c:1659 sql_help.c:1662 sql_help.c:1665 sql_help.c:3915 +#: sql_help.c:4378 msgid "database_name" msgstr "назва_бази_даних" -#: sql_help.c:1073 sql_help.c:2739 +#: sql_help.c:1081 sql_help.c:2749 msgid "increment" msgstr "інкремент" -#: sql_help.c:1074 sql_help.c:2740 +#: sql_help.c:1082 sql_help.c:2750 msgid "minvalue" msgstr "мін_значення" -#: sql_help.c:1075 sql_help.c:2741 +#: sql_help.c:1083 sql_help.c:2751 msgid "maxvalue" msgstr "макс_значення" -#: sql_help.c:1076 sql_help.c:2742 sql_help.c:4573 sql_help.c:4676 -#: sql_help.c:4830 sql_help.c:5007 sql_help.c:5076 +#: sql_help.c:1084 sql_help.c:2752 sql_help.c:4598 sql_help.c:4702 +#: sql_help.c:4856 sql_help.c:5032 sql_help.c:5101 msgid "start" msgstr "початок" -#: sql_help.c:1077 sql_help.c:1346 +#: sql_help.c:1085 sql_help.c:1357 msgid "restart" msgstr "перезапуск" -#: sql_help.c:1078 sql_help.c:2743 +#: sql_help.c:1086 sql_help.c:2753 msgid "cache" msgstr "кеш" -#: sql_help.c:1123 +#: sql_help.c:1131 msgid "new_target" msgstr "нова_ціль" -#: sql_help.c:1142 sql_help.c:2796 +#: sql_help.c:1150 sql_help.c:2806 msgid "conninfo" msgstr "інформація_підключення" -#: sql_help.c:1144 sql_help.c:1148 sql_help.c:1152 sql_help.c:2797 +#: sql_help.c:1152 sql_help.c:1156 sql_help.c:1160 sql_help.c:2807 msgid "publication_name" msgstr "назва_публікації" -#: sql_help.c:1145 sql_help.c:1149 sql_help.c:1153 +#: sql_help.c:1153 sql_help.c:1157 sql_help.c:1161 msgid "publication_option" msgstr "publication_option" -#: sql_help.c:1156 +#: sql_help.c:1164 msgid "refresh_option" msgstr "опція_оновлення" -#: sql_help.c:1161 sql_help.c:2798 +#: sql_help.c:1169 sql_help.c:2808 msgid "subscription_parameter" msgstr "параметр_підписки" -#: sql_help.c:1164 +#: sql_help.c:1172 msgid "skip_option" msgstr "опція_пропуска" -#: sql_help.c:1323 sql_help.c:1326 +#: sql_help.c:1332 sql_help.c:1335 msgid "partition_name" msgstr "ім'я_розділу" -#: sql_help.c:1324 sql_help.c:2348 sql_help.c:2929 +#: sql_help.c:1333 sql_help.c:2362 sql_help.c:2939 msgid "partition_bound_spec" msgstr "специфікація_рамок_розділу" -#: sql_help.c:1343 sql_help.c:1393 sql_help.c:2943 +#: sql_help.c:1354 sql_help.c:1404 sql_help.c:2953 msgid "sequence_options" msgstr "опції_послідовності" -#: sql_help.c:1345 +#: sql_help.c:1356 msgid "sequence_option" msgstr "опція_послідовності" -#: sql_help.c:1359 +#: sql_help.c:1370 msgid "table_constraint_using_index" msgstr "індекс_обмеження_таблиці" -#: sql_help.c:1367 sql_help.c:1368 sql_help.c:1369 sql_help.c:1370 +#: sql_help.c:1378 sql_help.c:1379 sql_help.c:1380 sql_help.c:1381 msgid "rewrite_rule_name" msgstr "ім'я_правила_перезапису" -#: sql_help.c:1382 sql_help.c:2360 sql_help.c:2968 +#: sql_help.c:1393 sql_help.c:2374 sql_help.c:2978 msgid "and partition_bound_spec is:" msgstr "і специфікація_рамок_розділу:" -#: sql_help.c:1383 sql_help.c:1384 sql_help.c:1385 sql_help.c:2361 -#: sql_help.c:2362 sql_help.c:2363 sql_help.c:2969 sql_help.c:2970 -#: sql_help.c:2971 +#: sql_help.c:1394 sql_help.c:1395 sql_help.c:1396 sql_help.c:2375 +#: sql_help.c:2376 sql_help.c:2377 sql_help.c:2979 sql_help.c:2980 +#: sql_help.c:2981 msgid "partition_bound_expr" msgstr "код_секції" -#: sql_help.c:1386 sql_help.c:1387 sql_help.c:2364 sql_help.c:2365 -#: sql_help.c:2972 sql_help.c:2973 +#: sql_help.c:1397 sql_help.c:1398 sql_help.c:2378 sql_help.c:2379 +#: sql_help.c:2982 sql_help.c:2983 msgid "numeric_literal" msgstr "числовий_літерал" -#: sql_help.c:1388 +#: sql_help.c:1399 msgid "and column_constraint is:" msgstr "і обмеження_стовпця:" -#: sql_help.c:1391 sql_help.c:2355 sql_help.c:2396 sql_help.c:2605 -#: sql_help.c:2941 +#: sql_help.c:1402 sql_help.c:2369 sql_help.c:2410 sql_help.c:2619 +#: sql_help.c:2951 msgid "default_expr" msgstr "вираз_за_замовчуванням" -#: sql_help.c:1392 sql_help.c:2356 sql_help.c:2942 +#: sql_help.c:1403 sql_help.c:2370 sql_help.c:2952 msgid "generation_expr" msgstr "код_генерації" -#: sql_help.c:1394 sql_help.c:1395 sql_help.c:1404 sql_help.c:1406 -#: sql_help.c:1410 sql_help.c:2944 sql_help.c:2945 sql_help.c:2954 -#: sql_help.c:2956 sql_help.c:2960 +#: sql_help.c:1405 sql_help.c:1406 sql_help.c:1415 sql_help.c:1417 +#: sql_help.c:1421 sql_help.c:2954 sql_help.c:2955 sql_help.c:2964 +#: sql_help.c:2966 sql_help.c:2970 msgid "index_parameters" msgstr "параметри_індексу" -#: sql_help.c:1396 sql_help.c:1413 sql_help.c:2946 sql_help.c:2963 +#: sql_help.c:1407 sql_help.c:1424 sql_help.c:2956 sql_help.c:2973 msgid "reftable" msgstr "залежна_таблиця" -#: sql_help.c:1397 sql_help.c:1414 sql_help.c:2947 sql_help.c:2964 +#: sql_help.c:1408 sql_help.c:1425 sql_help.c:2957 sql_help.c:2974 msgid "refcolumn" msgstr "залежний_стовпець" -#: sql_help.c:1398 sql_help.c:1399 sql_help.c:1415 sql_help.c:1416 -#: sql_help.c:2948 sql_help.c:2949 sql_help.c:2965 sql_help.c:2966 +#: sql_help.c:1409 sql_help.c:1410 sql_help.c:1426 sql_help.c:1427 +#: sql_help.c:2958 sql_help.c:2959 sql_help.c:2975 sql_help.c:2976 msgid "referential_action" msgstr "дія_посилання" -#: sql_help.c:1400 sql_help.c:2357 sql_help.c:2950 +#: sql_help.c:1411 sql_help.c:2371 sql_help.c:2960 msgid "and table_constraint is:" msgstr "і обмеження_таблиці:" -#: sql_help.c:1408 sql_help.c:2958 +#: sql_help.c:1419 sql_help.c:2968 msgid "exclude_element" msgstr "об'єкт_виключення" -#: sql_help.c:1409 sql_help.c:2959 sql_help.c:4571 sql_help.c:4674 -#: sql_help.c:4828 sql_help.c:5005 sql_help.c:5074 +#: sql_help.c:1420 sql_help.c:2969 sql_help.c:4596 sql_help.c:4700 +#: sql_help.c:4854 sql_help.c:5030 sql_help.c:5099 msgid "operator" msgstr "оператор" -#: sql_help.c:1411 sql_help.c:2476 sql_help.c:2961 +#: sql_help.c:1422 sql_help.c:2490 sql_help.c:2971 msgid "predicate" msgstr "предикат" -#: sql_help.c:1417 +#: sql_help.c:1428 msgid "and table_constraint_using_index is:" msgstr "і індекс_обмеження_таблиці:" -#: sql_help.c:1420 sql_help.c:2974 +#: sql_help.c:1431 sql_help.c:2984 msgid "index_parameters in UNIQUE, PRIMARY KEY, and EXCLUDE constraints are:" msgstr "параметри_індексу в обмеженнях UNIQUE, PRIMARY KEY, EXCLUDE:" -#: sql_help.c:1425 sql_help.c:2979 +#: sql_help.c:1436 sql_help.c:2989 msgid "exclude_element in an EXCLUDE constraint is:" msgstr "елемент_виключення в обмеженні EXCLUDE:" -#: sql_help.c:1428 sql_help.c:2469 sql_help.c:2906 sql_help.c:2919 -#: sql_help.c:2933 sql_help.c:2982 sql_help.c:4000 +#: sql_help.c:1440 sql_help.c:2483 sql_help.c:2916 sql_help.c:2929 +#: sql_help.c:2943 sql_help.c:2993 sql_help.c:4014 msgid "opclass" msgstr "клас_оператора" -#: sql_help.c:1429 sql_help.c:2983 +#: sql_help.c:1441 sql_help.c:2484 sql_help.c:2994 +msgid "opclass_parameter" +msgstr "opclass_parameter" + +#: sql_help.c:1443 sql_help.c:2996 msgid "referential_action in a FOREIGN KEY/REFERENCES constraint is:" msgstr "посилання на дію в обмеженні FOREIGN KEY/REFERENCES:" -#: sql_help.c:1447 sql_help.c:1450 sql_help.c:3020 +#: sql_help.c:1461 sql_help.c:1464 sql_help.c:3033 msgid "tablespace_option" msgstr "опція_табличного_простору" -#: sql_help.c:1471 sql_help.c:1474 sql_help.c:1480 sql_help.c:1484 +#: sql_help.c:1485 sql_help.c:1488 sql_help.c:1494 sql_help.c:1498 msgid "token_type" msgstr "тип_токену" -#: sql_help.c:1472 sql_help.c:1475 +#: sql_help.c:1486 sql_help.c:1489 msgid "dictionary_name" msgstr "ім'я_словника" -#: sql_help.c:1477 sql_help.c:1481 +#: sql_help.c:1491 sql_help.c:1495 msgid "old_dictionary" msgstr "старий_словник" -#: sql_help.c:1478 sql_help.c:1482 +#: sql_help.c:1492 sql_help.c:1496 msgid "new_dictionary" msgstr "новий_словник" -#: sql_help.c:1577 sql_help.c:1591 sql_help.c:1594 sql_help.c:1595 -#: sql_help.c:3173 +#: sql_help.c:1591 sql_help.c:1605 sql_help.c:1608 sql_help.c:1609 +#: sql_help.c:3186 msgid "attribute_name" msgstr "ім'я_атрибута" -#: sql_help.c:1578 +#: sql_help.c:1592 msgid "new_attribute_name" msgstr "нове_ім'я_атрибута" -#: sql_help.c:1582 sql_help.c:1586 +#: sql_help.c:1596 sql_help.c:1600 msgid "new_enum_value" msgstr "нове_значення_перерахування" -#: sql_help.c:1583 +#: sql_help.c:1597 msgid "neighbor_enum_value" msgstr "сусіднє_значення_перерахування" -#: sql_help.c:1585 +#: sql_help.c:1599 msgid "existing_enum_value" msgstr "існуюче_значення_перерахування" -#: sql_help.c:1588 +#: sql_help.c:1602 msgid "property" msgstr "властивість" -#: sql_help.c:1664 sql_help.c:2340 sql_help.c:2349 sql_help.c:2755 -#: sql_help.c:3253 sql_help.c:3704 sql_help.c:3910 sql_help.c:3956 -#: sql_help.c:4362 +#: sql_help.c:1678 sql_help.c:2354 sql_help.c:2363 sql_help.c:2765 +#: sql_help.c:3266 sql_help.c:3717 sql_help.c:3924 sql_help.c:3970 +#: sql_help.c:4387 msgid "server_name" msgstr "назва_серверу" -#: sql_help.c:1696 sql_help.c:1699 sql_help.c:3268 +#: sql_help.c:1710 sql_help.c:1713 sql_help.c:3281 msgid "view_option_name" msgstr "ім'я_параметра_представлення" -#: sql_help.c:1697 sql_help.c:3269 +#: sql_help.c:1711 sql_help.c:3282 msgid "view_option_value" msgstr "значення_параметра_представлення" -#: sql_help.c:1719 sql_help.c:1720 sql_help.c:4973 sql_help.c:4974 +#: sql_help.c:1732 sql_help.c:4999 msgid "table_and_columns" msgstr "таблиця_і_стовпці" -#: sql_help.c:1721 sql_help.c:1785 sql_help.c:1977 sql_help.c:3753 -#: sql_help.c:4197 sql_help.c:4975 +#: sql_help.c:1733 sql_help.c:1793 sql_help.c:1987 sql_help.c:3766 +#: sql_help.c:4222 sql_help.c:5000 msgid "where option can be one of:" msgstr "де параметр може бути одним із:" -#: sql_help.c:1722 sql_help.c:1723 sql_help.c:1786 sql_help.c:1979 -#: sql_help.c:1983 sql_help.c:2163 sql_help.c:3754 sql_help.c:3755 -#: sql_help.c:3756 sql_help.c:3757 sql_help.c:3758 sql_help.c:3759 -#: sql_help.c:3760 sql_help.c:3761 sql_help.c:3762 sql_help.c:4198 -#: sql_help.c:4200 sql_help.c:4976 sql_help.c:4977 sql_help.c:4978 -#: sql_help.c:4979 sql_help.c:4980 sql_help.c:4981 sql_help.c:4982 -#: sql_help.c:4983 sql_help.c:4984 sql_help.c:4986 sql_help.c:4987 +#: sql_help.c:1734 sql_help.c:1735 sql_help.c:1794 sql_help.c:1989 +#: sql_help.c:1993 sql_help.c:2175 sql_help.c:3767 sql_help.c:3768 +#: sql_help.c:3769 sql_help.c:3770 sql_help.c:3771 sql_help.c:3772 +#: sql_help.c:3773 sql_help.c:3774 sql_help.c:3775 sql_help.c:3776 +#: sql_help.c:4223 sql_help.c:4225 sql_help.c:5001 sql_help.c:5002 +#: sql_help.c:5003 sql_help.c:5004 sql_help.c:5005 sql_help.c:5006 +#: sql_help.c:5007 sql_help.c:5008 sql_help.c:5009 sql_help.c:5011 +#: sql_help.c:5012 msgid "boolean" msgstr "логічний" -#: sql_help.c:1724 sql_help.c:4988 +#: sql_help.c:1736 sql_help.c:5013 msgid "size" msgstr "розмір" -#: sql_help.c:1725 sql_help.c:4989 +#: sql_help.c:1737 sql_help.c:5014 msgid "and table_and_columns is:" msgstr "і таблиця_і_стовпці:" -#: sql_help.c:1741 sql_help.c:4735 sql_help.c:4737 sql_help.c:4761 +#: sql_help.c:1753 sql_help.c:4761 sql_help.c:4763 sql_help.c:4787 msgid "transaction_mode" msgstr "режим_транзакції" -#: sql_help.c:1742 sql_help.c:4738 sql_help.c:4762 +#: sql_help.c:1754 sql_help.c:4764 sql_help.c:4788 msgid "where transaction_mode is one of:" msgstr "де режим_транзакції один з:" -#: sql_help.c:1751 sql_help.c:4581 sql_help.c:4590 sql_help.c:4594 -#: sql_help.c:4598 sql_help.c:4601 sql_help.c:4838 sql_help.c:4847 -#: sql_help.c:4851 sql_help.c:4855 sql_help.c:4858 sql_help.c:5084 -#: sql_help.c:5093 sql_help.c:5097 sql_help.c:5101 sql_help.c:5104 +#: sql_help.c:1763 sql_help.c:4606 sql_help.c:4615 sql_help.c:4619 +#: sql_help.c:4623 sql_help.c:4626 sql_help.c:4864 sql_help.c:4873 +#: sql_help.c:4877 sql_help.c:4881 sql_help.c:4884 sql_help.c:5109 +#: sql_help.c:5118 sql_help.c:5122 sql_help.c:5126 sql_help.c:5129 msgid "argument" msgstr "аргумент" -#: sql_help.c:1851 +#: sql_help.c:1859 msgid "relation_name" msgstr "назва_відношення" -#: sql_help.c:1856 sql_help.c:3904 sql_help.c:4356 +#: sql_help.c:1864 sql_help.c:3918 sql_help.c:4381 msgid "domain_name" msgstr "назва_домену" -#: sql_help.c:1878 +#: sql_help.c:1886 msgid "policy_name" msgstr "назва_політики" -#: sql_help.c:1891 +#: sql_help.c:1899 msgid "rule_name" msgstr "назва_правила" -#: sql_help.c:1910 sql_help.c:4495 +#: sql_help.c:1918 sql_help.c:4520 msgid "string_literal" msgstr "рядковий_літерал" -#: sql_help.c:1935 sql_help.c:4159 sql_help.c:4409 +#: sql_help.c:1943 sql_help.c:4184 sql_help.c:4434 msgid "transaction_id" msgstr "ідентифікатор_транзакції" -#: sql_help.c:1967 sql_help.c:1974 sql_help.c:4026 +#: sql_help.c:1977 sql_help.c:1984 sql_help.c:4040 msgid "filename" msgstr "ім'я файлу" -#: sql_help.c:1968 sql_help.c:1975 sql_help.c:2694 sql_help.c:2695 -#: sql_help.c:2696 +#: sql_help.c:1978 sql_help.c:1985 sql_help.c:2704 sql_help.c:2705 +#: sql_help.c:2706 msgid "command" msgstr "команда" -#: sql_help.c:1970 sql_help.c:2693 sql_help.c:3123 sql_help.c:3304 -#: sql_help.c:4010 sql_help.c:4087 sql_help.c:4090 sql_help.c:4564 -#: sql_help.c:4566 sql_help.c:4667 sql_help.c:4669 sql_help.c:4821 -#: sql_help.c:4823 sql_help.c:4939 sql_help.c:5067 sql_help.c:5069 +#: sql_help.c:1980 sql_help.c:2703 sql_help.c:3136 sql_help.c:3317 +#: sql_help.c:4024 sql_help.c:4107 sql_help.c:4110 sql_help.c:4113 +#: sql_help.c:4589 sql_help.c:4591 sql_help.c:4693 sql_help.c:4695 +#: sql_help.c:4847 sql_help.c:4849 sql_help.c:4966 sql_help.c:5092 +#: sql_help.c:5094 msgid "condition" msgstr "умова" -#: sql_help.c:1973 sql_help.c:2510 sql_help.c:3006 sql_help.c:3270 -#: sql_help.c:3288 sql_help.c:3991 +#: sql_help.c:1983 sql_help.c:2524 sql_help.c:3019 sql_help.c:3283 +#: sql_help.c:3301 sql_help.c:4005 msgid "query" msgstr "запит" -#: sql_help.c:1978 +#: sql_help.c:1988 msgid "format_name" msgstr "назва_формату" -#: sql_help.c:1980 +#: sql_help.c:1990 msgid "delimiter_character" msgstr "символ_роздільник" -#: sql_help.c:1981 +#: sql_help.c:1991 msgid "null_string" msgstr "представлення_NULL" -#: sql_help.c:1982 +#: sql_help.c:1992 msgid "default_string" msgstr "рядок_за_замовчуванням" -#: sql_help.c:1984 +#: sql_help.c:1994 msgid "quote_character" msgstr "символ_лапок" -#: sql_help.c:1985 +#: sql_help.c:1995 msgid "escape_character" msgstr "символ_екранування" -#: sql_help.c:1989 +#: sql_help.c:1999 +msgid "error_action" +msgstr "error_action" + +#: sql_help.c:2000 msgid "encoding_name" msgstr "ім'я_кодування" -#: sql_help.c:2000 +#: sql_help.c:2001 +msgid "verbosity" +msgstr "детальність" + +#: sql_help.c:2012 msgid "access_method_type" msgstr "тип_метода_доступа" -#: sql_help.c:2071 sql_help.c:2090 sql_help.c:2093 +#: sql_help.c:2083 sql_help.c:2102 sql_help.c:2105 msgid "arg_data_type" msgstr "тип_даних_аргумента" -#: sql_help.c:2072 sql_help.c:2094 sql_help.c:2102 +#: sql_help.c:2084 sql_help.c:2106 sql_help.c:2114 msgid "sfunc" msgstr "функція_стану" -#: sql_help.c:2073 sql_help.c:2095 sql_help.c:2103 +#: sql_help.c:2085 sql_help.c:2107 sql_help.c:2115 msgid "state_data_type" msgstr "тип_даних_стану" -#: sql_help.c:2074 sql_help.c:2096 sql_help.c:2104 +#: sql_help.c:2086 sql_help.c:2108 sql_help.c:2116 msgid "state_data_size" msgstr "розмір_даних_стану" -#: sql_help.c:2075 sql_help.c:2097 sql_help.c:2105 +#: sql_help.c:2087 sql_help.c:2109 sql_help.c:2117 msgid "ffunc" msgstr "функція_завершення" -#: sql_help.c:2076 sql_help.c:2106 +#: sql_help.c:2088 sql_help.c:2118 msgid "combinefunc" msgstr "комбінуюча_функція" -#: sql_help.c:2077 sql_help.c:2107 +#: sql_help.c:2089 sql_help.c:2119 msgid "serialfunc" msgstr "функція_серіалізації" -#: sql_help.c:2078 sql_help.c:2108 +#: sql_help.c:2090 sql_help.c:2120 msgid "deserialfunc" msgstr "функція_десеріалізації" -#: sql_help.c:2079 sql_help.c:2098 sql_help.c:2109 +#: sql_help.c:2091 sql_help.c:2110 sql_help.c:2121 msgid "initial_condition" msgstr "початкова_умова" -#: sql_help.c:2080 sql_help.c:2110 +#: sql_help.c:2092 sql_help.c:2122 msgid "msfunc" msgstr "функція_стану_рух" -#: sql_help.c:2081 sql_help.c:2111 +#: sql_help.c:2093 sql_help.c:2123 msgid "minvfunc" msgstr "зворотна_функція_рух" -#: sql_help.c:2082 sql_help.c:2112 +#: sql_help.c:2094 sql_help.c:2124 msgid "mstate_data_type" msgstr "тип_даних_стану_рух" -#: sql_help.c:2083 sql_help.c:2113 +#: sql_help.c:2095 sql_help.c:2125 msgid "mstate_data_size" msgstr "розмір_даних_стану_рух" -#: sql_help.c:2084 sql_help.c:2114 +#: sql_help.c:2096 sql_help.c:2126 msgid "mffunc" msgstr "функція_завершення_рух" -#: sql_help.c:2085 sql_help.c:2115 +#: sql_help.c:2097 sql_help.c:2127 msgid "minitial_condition" msgstr "початкова_умова_рух" -#: sql_help.c:2086 sql_help.c:2116 +#: sql_help.c:2098 sql_help.c:2128 msgid "sort_operator" msgstr "оператор_сортування" -#: sql_help.c:2099 +#: sql_help.c:2111 msgid "or the old syntax" msgstr "або старий синтаксис" -#: sql_help.c:2101 +#: sql_help.c:2113 msgid "base_type" msgstr "базовий_тип" -#: sql_help.c:2159 sql_help.c:2208 +#: sql_help.c:2171 sql_help.c:2221 msgid "locale" msgstr "локаль" -#: sql_help.c:2160 sql_help.c:2209 +#: sql_help.c:2172 sql_help.c:2222 msgid "lc_collate" msgstr "код_правила_сортування" -#: sql_help.c:2161 sql_help.c:2210 +#: sql_help.c:2173 sql_help.c:2223 msgid "lc_ctype" msgstr "код_класифікації_символів" -#: sql_help.c:2162 sql_help.c:4462 +#: sql_help.c:2174 sql_help.c:4487 msgid "provider" msgstr "постачальник" -#: sql_help.c:2164 +#: sql_help.c:2176 msgid "rules" msgstr "правила" -#: sql_help.c:2165 sql_help.c:2270 +#: sql_help.c:2177 sql_help.c:2284 msgid "version" msgstr "версія" -#: sql_help.c:2167 +#: sql_help.c:2179 msgid "existing_collation" msgstr "існуюче_правило_сортування" -#: sql_help.c:2177 +#: sql_help.c:2189 msgid "source_encoding" msgstr "початкове_кодування" -#: sql_help.c:2178 +#: sql_help.c:2190 msgid "dest_encoding" msgstr "цільве_кодування" -#: sql_help.c:2205 sql_help.c:3046 +#: sql_help.c:2218 sql_help.c:3059 msgid "template" msgstr "шаблон" -#: sql_help.c:2206 +#: sql_help.c:2219 msgid "encoding" msgstr "кодування" -#: sql_help.c:2207 +#: sql_help.c:2220 msgid "strategy" msgstr "стратегія" -#: sql_help.c:2211 +#: sql_help.c:2224 +msgid "builtin_locale" +msgstr "вбудована_локаль" + +#: sql_help.c:2225 msgid "icu_locale" msgstr "icu_locale" -#: sql_help.c:2212 +#: sql_help.c:2226 msgid "icu_rules" msgstr "правила_icu" -#: sql_help.c:2213 +#: sql_help.c:2227 msgid "locale_provider" msgstr "локаль_провайдер" -#: sql_help.c:2214 +#: sql_help.c:2228 msgid "collation_version" msgstr "версія_сортування" -#: sql_help.c:2219 +#: sql_help.c:2233 msgid "oid" msgstr "oid" -#: sql_help.c:2239 -msgid "constraint" -msgstr "обмеження" - -#: sql_help.c:2240 -msgid "where constraint is:" -msgstr "де обмеження:" +#: sql_help.c:2254 +msgid "where domain_constraint is:" +msgstr "де обмеження_домену:" -#: sql_help.c:2254 sql_help.c:2691 sql_help.c:3119 +#: sql_help.c:2268 sql_help.c:2701 sql_help.c:3132 msgid "event" msgstr "подія" -#: sql_help.c:2255 +#: sql_help.c:2269 msgid "filter_variable" msgstr "змінна_фільтру" -#: sql_help.c:2256 +#: sql_help.c:2270 msgid "filter_value" msgstr "значення_фільтру" -#: sql_help.c:2352 sql_help.c:2938 +#: sql_help.c:2366 sql_help.c:2948 msgid "where column_constraint is:" msgstr "де обмеження_стовпців:" -#: sql_help.c:2397 +#: sql_help.c:2411 msgid "rettype" msgstr "тип_результату" -#: sql_help.c:2399 +#: sql_help.c:2413 msgid "column_type" msgstr "тип_стовпця" -#: sql_help.c:2408 sql_help.c:2611 +#: sql_help.c:2422 sql_help.c:2625 msgid "definition" msgstr "визначення" -#: sql_help.c:2409 sql_help.c:2612 +#: sql_help.c:2423 sql_help.c:2626 msgid "obj_file" msgstr "об'єктний_файл" -#: sql_help.c:2410 sql_help.c:2613 +#: sql_help.c:2424 sql_help.c:2627 msgid "link_symbol" msgstr "символ_експорту" -#: sql_help.c:2411 sql_help.c:2614 +#: sql_help.c:2425 sql_help.c:2628 msgid "sql_body" msgstr "sql_body" -#: sql_help.c:2449 sql_help.c:2676 sql_help.c:3242 +#: sql_help.c:2463 sql_help.c:2686 sql_help.c:3255 msgid "uid" msgstr "uid" -#: sql_help.c:2465 sql_help.c:2506 sql_help.c:2907 sql_help.c:2920 -#: sql_help.c:2934 sql_help.c:3002 +#: sql_help.c:2479 sql_help.c:2520 sql_help.c:2917 sql_help.c:2930 +#: sql_help.c:2944 sql_help.c:3015 msgid "method" msgstr "метод" -#: sql_help.c:2470 -msgid "opclass_parameter" -msgstr "opclass_parameter" - -#: sql_help.c:2487 +#: sql_help.c:2501 msgid "call_handler" msgstr "обробник_виклику" -#: sql_help.c:2488 +#: sql_help.c:2502 msgid "inline_handler" msgstr "обробник_впровадженого_коду" -#: sql_help.c:2489 +#: sql_help.c:2503 msgid "valfunction" msgstr "функція_перевірки" -#: sql_help.c:2528 -msgid "com_op" -msgstr "комут_оператор" - -#: sql_help.c:2529 -msgid "neg_op" -msgstr "зворотній_оператор" - -#: sql_help.c:2547 +#: sql_help.c:2561 msgid "family_name" msgstr "назва_сімейства" -#: sql_help.c:2558 +#: sql_help.c:2572 msgid "storage_type" msgstr "тип_зберігання" -#: sql_help.c:2697 sql_help.c:3126 +#: sql_help.c:2707 sql_help.c:3139 msgid "where event can be one of:" msgstr "де подія може бути однією з:" -#: sql_help.c:2717 sql_help.c:2719 +#: sql_help.c:2727 sql_help.c:2729 msgid "schema_element" msgstr "елемент_схеми" -#: sql_help.c:2756 +#: sql_help.c:2766 msgid "server_type" msgstr "тип_серверу" -#: sql_help.c:2757 +#: sql_help.c:2767 msgid "server_version" msgstr "версія_серверу" -#: sql_help.c:2758 sql_help.c:3907 sql_help.c:4359 +#: sql_help.c:2768 sql_help.c:3921 sql_help.c:4384 msgid "fdw_name" msgstr "назва_fdw" -#: sql_help.c:2775 sql_help.c:2778 +#: sql_help.c:2785 sql_help.c:2788 msgid "statistics_name" msgstr "назва_статистики" -#: sql_help.c:2779 +#: sql_help.c:2789 msgid "statistics_kind" msgstr "вид_статистики" -#: sql_help.c:2795 +#: sql_help.c:2805 msgid "subscription_name" msgstr "назва_підписки" -#: sql_help.c:2900 +#: sql_help.c:2910 msgid "source_table" msgstr "вихідна_таблиця" -#: sql_help.c:2901 +#: sql_help.c:2911 msgid "like_option" msgstr "параметр_породження" -#: sql_help.c:2967 +#: sql_help.c:2977 msgid "and like_option is:" msgstr "і параметр_породження:" -#: sql_help.c:3019 +#: sql_help.c:3032 msgid "directory" msgstr "каталог" -#: sql_help.c:3033 +#: sql_help.c:3046 msgid "parser_name" msgstr "назва_парсера" -#: sql_help.c:3034 +#: sql_help.c:3047 msgid "source_config" msgstr "початкова_конфігурація" -#: sql_help.c:3063 +#: sql_help.c:3076 msgid "start_function" msgstr "функція_початку" -#: sql_help.c:3064 +#: sql_help.c:3077 msgid "gettoken_function" msgstr "функція_видачі_токену" -#: sql_help.c:3065 +#: sql_help.c:3078 msgid "end_function" msgstr "функція_завершення" -#: sql_help.c:3066 +#: sql_help.c:3079 msgid "lextypes_function" msgstr "функція_лекс_типів" -#: sql_help.c:3067 +#: sql_help.c:3080 msgid "headline_function" msgstr "функція_створення_заголовків" -#: sql_help.c:3079 +#: sql_help.c:3092 msgid "init_function" msgstr "функція_ініціалізації" -#: sql_help.c:3080 +#: sql_help.c:3093 msgid "lexize_function" msgstr "функція_виділення_лексем" -#: sql_help.c:3093 +#: sql_help.c:3106 msgid "from_sql_function_name" msgstr "ім'я_функції_з_sql" -#: sql_help.c:3095 +#: sql_help.c:3108 msgid "to_sql_function_name" msgstr "ім'я_функції_в_sql" -#: sql_help.c:3121 +#: sql_help.c:3134 msgid "referenced_table_name" msgstr "ім'я_залежної_таблиці" -#: sql_help.c:3122 +#: sql_help.c:3135 msgid "transition_relation_name" msgstr "ім'я_перехідного_відношення" -#: sql_help.c:3125 +#: sql_help.c:3138 msgid "arguments" msgstr "аргументи" -#: sql_help.c:3177 +#: sql_help.c:3190 msgid "label" msgstr "мітка" -#: sql_help.c:3179 +#: sql_help.c:3192 msgid "subtype" msgstr "підтип" -#: sql_help.c:3180 +#: sql_help.c:3193 msgid "subtype_operator_class" msgstr "клас_оператора_підтипу" -#: sql_help.c:3182 +#: sql_help.c:3195 msgid "canonical_function" msgstr "канонічна_функція" -#: sql_help.c:3183 +#: sql_help.c:3196 msgid "subtype_diff_function" msgstr "функція_розбіжностей_підтипу" -#: sql_help.c:3184 +#: sql_help.c:3197 msgid "multirange_type_name" msgstr "multirange_type_name" -#: sql_help.c:3186 +#: sql_help.c:3199 msgid "input_function" msgstr "функція_вводу" -#: sql_help.c:3187 +#: sql_help.c:3200 msgid "output_function" msgstr "функція_виводу" -#: sql_help.c:3188 +#: sql_help.c:3201 msgid "receive_function" msgstr "функція_отримання" -#: sql_help.c:3189 +#: sql_help.c:3202 msgid "send_function" msgstr "функція_відправки" -#: sql_help.c:3190 +#: sql_help.c:3203 msgid "type_modifier_input_function" msgstr "функція_введення_модифікатора_типу" -#: sql_help.c:3191 +#: sql_help.c:3204 msgid "type_modifier_output_function" msgstr "функція_виводу_модифікатора_типу" -#: sql_help.c:3192 +#: sql_help.c:3205 msgid "analyze_function" msgstr "функція_аналізу" -#: sql_help.c:3193 +#: sql_help.c:3206 msgid "subscript_function" msgstr "subscript_function" -#: sql_help.c:3194 +#: sql_help.c:3207 msgid "internallength" msgstr "внутр_довжина" -#: sql_help.c:3195 +#: sql_help.c:3208 msgid "alignment" msgstr "вирівнювання" -#: sql_help.c:3196 +#: sql_help.c:3209 msgid "storage" msgstr "зберігання" -#: sql_help.c:3197 +#: sql_help.c:3210 msgid "like_type" msgstr "тип_зразок" -#: sql_help.c:3198 +#: sql_help.c:3211 msgid "category" msgstr "категорія" -#: sql_help.c:3199 +#: sql_help.c:3212 msgid "preferred" msgstr "привілейований" -#: sql_help.c:3200 +#: sql_help.c:3213 msgid "default" msgstr "за_замовчуванням" -#: sql_help.c:3201 +#: sql_help.c:3214 msgid "element" msgstr "елемент" -#: sql_help.c:3202 +#: sql_help.c:3215 msgid "delimiter" msgstr "роздільник" -#: sql_help.c:3203 +#: sql_help.c:3216 msgid "collatable" msgstr "сортувальний" -#: sql_help.c:3300 sql_help.c:3986 sql_help.c:4076 sql_help.c:4559 -#: sql_help.c:4661 sql_help.c:4816 sql_help.c:4929 sql_help.c:5062 +#: sql_help.c:3313 sql_help.c:4000 sql_help.c:4094 sql_help.c:4584 +#: sql_help.c:4687 sql_help.c:4842 sql_help.c:4956 sql_help.c:5087 msgid "with_query" msgstr "with_запит" -#: sql_help.c:3302 sql_help.c:3988 sql_help.c:4578 sql_help.c:4584 -#: sql_help.c:4587 sql_help.c:4591 sql_help.c:4595 sql_help.c:4603 -#: sql_help.c:4835 sql_help.c:4841 sql_help.c:4844 sql_help.c:4848 -#: sql_help.c:4852 sql_help.c:4860 sql_help.c:4931 sql_help.c:5081 -#: sql_help.c:5087 sql_help.c:5090 sql_help.c:5094 sql_help.c:5098 -#: sql_help.c:5106 +#: sql_help.c:3315 sql_help.c:4002 sql_help.c:4603 sql_help.c:4609 +#: sql_help.c:4612 sql_help.c:4616 sql_help.c:4620 sql_help.c:4628 +#: sql_help.c:4861 sql_help.c:4867 sql_help.c:4870 sql_help.c:4874 +#: sql_help.c:4878 sql_help.c:4886 sql_help.c:4958 sql_help.c:5106 +#: sql_help.c:5112 sql_help.c:5115 sql_help.c:5119 sql_help.c:5123 +#: sql_help.c:5131 msgid "alias" msgstr "псевдонім" -#: sql_help.c:3303 sql_help.c:4563 sql_help.c:4605 sql_help.c:4607 -#: sql_help.c:4611 sql_help.c:4613 sql_help.c:4614 sql_help.c:4615 -#: sql_help.c:4666 sql_help.c:4820 sql_help.c:4862 sql_help.c:4864 -#: sql_help.c:4868 sql_help.c:4870 sql_help.c:4871 sql_help.c:4872 -#: sql_help.c:4938 sql_help.c:5066 sql_help.c:5108 sql_help.c:5110 -#: sql_help.c:5114 sql_help.c:5116 sql_help.c:5117 sql_help.c:5118 +#: sql_help.c:3316 sql_help.c:4588 sql_help.c:4630 sql_help.c:4632 +#: sql_help.c:4636 sql_help.c:4638 sql_help.c:4639 sql_help.c:4640 +#: sql_help.c:4692 sql_help.c:4846 sql_help.c:4888 sql_help.c:4890 +#: sql_help.c:4894 sql_help.c:4896 sql_help.c:4897 sql_help.c:4898 +#: sql_help.c:4965 sql_help.c:5091 sql_help.c:5133 sql_help.c:5135 +#: sql_help.c:5139 sql_help.c:5141 sql_help.c:5142 sql_help.c:5143 msgid "from_item" msgstr "джерело_даних" -#: sql_help.c:3305 sql_help.c:3788 sql_help.c:4126 sql_help.c:4940 +#: sql_help.c:3318 sql_help.c:3802 sql_help.c:4151 sql_help.c:4967 msgid "cursor_name" msgstr "ім'я_курсору" -#: sql_help.c:3306 sql_help.c:3994 sql_help.c:4941 +#: sql_help.c:3319 sql_help.c:4008 sql_help.c:4100 sql_help.c:4968 msgid "output_expression" msgstr "вираз_результату" -#: sql_help.c:3307 sql_help.c:3995 sql_help.c:4562 sql_help.c:4664 -#: sql_help.c:4819 sql_help.c:4942 sql_help.c:5065 +#: sql_help.c:3320 sql_help.c:4009 sql_help.c:4101 sql_help.c:4587 +#: sql_help.c:4690 sql_help.c:4845 sql_help.c:4969 sql_help.c:5090 msgid "output_name" msgstr "ім'я_результату" -#: sql_help.c:3323 +#: sql_help.c:3336 msgid "code" msgstr "код" -#: sql_help.c:3728 +#: sql_help.c:3741 msgid "parameter" msgstr "параметр" -#: sql_help.c:3751 sql_help.c:3752 sql_help.c:4151 +#: sql_help.c:3765 sql_help.c:4176 msgid "statement" msgstr "оператор" -#: sql_help.c:3787 sql_help.c:4125 +#: sql_help.c:3801 sql_help.c:4150 msgid "direction" msgstr "напрямок" -#: sql_help.c:3789 sql_help.c:4127 +#: sql_help.c:3803 sql_help.c:4152 msgid "where direction can be one of:" msgstr "де напрямок може бути одним із:" -#: sql_help.c:3790 sql_help.c:3791 sql_help.c:3792 sql_help.c:3793 -#: sql_help.c:3794 sql_help.c:4128 sql_help.c:4129 sql_help.c:4130 -#: sql_help.c:4131 sql_help.c:4132 sql_help.c:4572 sql_help.c:4574 -#: sql_help.c:4675 sql_help.c:4677 sql_help.c:4829 sql_help.c:4831 -#: sql_help.c:5006 sql_help.c:5008 sql_help.c:5075 sql_help.c:5077 +#: sql_help.c:3804 sql_help.c:3805 sql_help.c:3806 sql_help.c:3807 +#: sql_help.c:3808 sql_help.c:4153 sql_help.c:4154 sql_help.c:4155 +#: sql_help.c:4156 sql_help.c:4157 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:5031 sql_help.c:5033 sql_help.c:5100 sql_help.c:5102 msgid "count" msgstr "кількість" -#: sql_help.c:3897 sql_help.c:4349 +#: sql_help.c:3911 sql_help.c:4374 msgid "sequence_name" msgstr "ім'я_послідовності" -#: sql_help.c:3915 sql_help.c:4367 +#: sql_help.c:3929 sql_help.c:4392 msgid "arg_name" msgstr "ім'я_аргументу" -#: sql_help.c:3916 sql_help.c:4368 +#: sql_help.c:3930 sql_help.c:4393 msgid "arg_type" msgstr "тип_аргументу" -#: sql_help.c:3923 sql_help.c:4375 +#: sql_help.c:3937 sql_help.c:4400 msgid "loid" msgstr "код_вел_об'єкту" -#: sql_help.c:3954 +#: sql_help.c:3968 msgid "remote_schema" msgstr "віддалена_схема" -#: sql_help.c:3957 +#: sql_help.c:3971 msgid "local_schema" msgstr "локальна_схема" -#: sql_help.c:3992 +#: sql_help.c:4006 msgid "conflict_target" msgstr "ціль_конфлікту" -#: sql_help.c:3993 +#: sql_help.c:4007 msgid "conflict_action" msgstr "дія_при_конфлікті" -#: sql_help.c:3996 +#: sql_help.c:4010 msgid "where conflict_target can be one of:" msgstr "де ціль_конфлікту може бути одним з:" -#: sql_help.c:3997 +#: sql_help.c:4011 msgid "index_column_name" msgstr "ім'я_стовпця_індексу" -#: sql_help.c:3998 +#: sql_help.c:4012 msgid "index_expression" msgstr "вираз_індексу" -#: sql_help.c:4001 +#: sql_help.c:4015 msgid "index_predicate" msgstr "предикат_індексу" -#: sql_help.c:4003 +#: sql_help.c:4017 msgid "and conflict_action is one of:" msgstr "і дія_при_конфлікті одна з:" -#: sql_help.c:4009 sql_help.c:4937 +#: sql_help.c:4023 sql_help.c:4124 sql_help.c:4964 msgid "sub-SELECT" msgstr "вкладений-SELECT" -#: sql_help.c:4018 sql_help.c:4140 sql_help.c:4913 +#: sql_help.c:4032 sql_help.c:4165 sql_help.c:4940 msgid "channel" msgstr "канал" -#: sql_help.c:4040 +#: sql_help.c:4054 msgid "lockmode" msgstr "режим_блокування" -#: sql_help.c:4041 +#: sql_help.c:4055 msgid "where lockmode is one of:" msgstr "де режим_блокування один з:" -#: sql_help.c:4077 +#: sql_help.c:4095 msgid "target_table_name" msgstr "ім'я_цілі_таблиці" -#: sql_help.c:4078 +#: sql_help.c:4096 msgid "target_alias" msgstr "псевдонім_цілі" -#: sql_help.c:4079 +#: sql_help.c:4097 msgid "data_source" msgstr "джерело_даних" -#: sql_help.c:4080 sql_help.c:4608 sql_help.c:4865 sql_help.c:5111 +#: sql_help.c:4098 sql_help.c:4633 sql_help.c:4891 sql_help.c:5136 msgid "join_condition" msgstr "умова_поєднання" -#: sql_help.c:4081 +#: sql_help.c:4099 msgid "when_clause" msgstr "when_твердження" -#: sql_help.c:4082 +#: sql_help.c:4102 msgid "where data_source is:" msgstr "де джерело_даних:" -#: sql_help.c:4083 +#: sql_help.c:4103 msgid "source_table_name" msgstr "ім'я_початкова_таблиці" -#: sql_help.c:4084 +#: sql_help.c:4104 msgid "source_query" msgstr "джерело_запит" -#: sql_help.c:4085 +#: sql_help.c:4105 msgid "source_alias" msgstr "джерело_псевдоніма" -#: sql_help.c:4086 +#: sql_help.c:4106 msgid "and when_clause is:" msgstr "і when_clause:" -#: sql_help.c:4088 +#: sql_help.c:4108 sql_help.c:4111 msgid "merge_update" msgstr "merge_update" -#: sql_help.c:4089 +#: sql_help.c:4109 sql_help.c:4112 msgid "merge_delete" msgstr "merge_delete" -#: sql_help.c:4091 +#: sql_help.c:4114 msgid "merge_insert" msgstr "merge_insert" -#: sql_help.c:4092 +#: sql_help.c:4115 msgid "and merge_insert is:" msgstr "і merge_insert:" -#: sql_help.c:4095 +#: sql_help.c:4118 msgid "and merge_update is:" msgstr "і merge_update:" -#: sql_help.c:4100 +#: sql_help.c:4125 msgid "and merge_delete is:" msgstr "і merge_delete:" -#: sql_help.c:4141 +#: sql_help.c:4166 msgid "payload" msgstr "зміст" -#: sql_help.c:4168 +#: sql_help.c:4193 msgid "old_role" msgstr "стара_роль" -#: sql_help.c:4169 +#: sql_help.c:4194 msgid "new_role" msgstr "нова_роль" -#: sql_help.c:4208 sql_help.c:4417 sql_help.c:4425 +#: sql_help.c:4233 sql_help.c:4442 sql_help.c:4450 msgid "savepoint_name" msgstr "ім'я_точки_збереження" -#: sql_help.c:4565 sql_help.c:4623 sql_help.c:4822 sql_help.c:4880 -#: sql_help.c:5068 sql_help.c:5126 +#: sql_help.c:4590 sql_help.c:4648 sql_help.c:4848 sql_help.c:4906 +#: sql_help.c:5093 sql_help.c:5151 msgid "grouping_element" msgstr "елемент_групування" -#: sql_help.c:4567 sql_help.c:4670 sql_help.c:4824 sql_help.c:5070 +#: sql_help.c:4592 sql_help.c:4696 sql_help.c:4850 sql_help.c:5095 msgid "window_name" msgstr "назва_вікна" -#: sql_help.c:4568 sql_help.c:4671 sql_help.c:4825 sql_help.c:5071 +#: sql_help.c:4593 sql_help.c:4697 sql_help.c:4851 sql_help.c:5096 msgid "window_definition" msgstr "визначення_вікна" -#: sql_help.c:4569 sql_help.c:4583 sql_help.c:4627 sql_help.c:4672 -#: sql_help.c:4826 sql_help.c:4840 sql_help.c:4884 sql_help.c:5072 -#: sql_help.c:5086 sql_help.c:5130 +#: sql_help.c:4594 sql_help.c:4608 sql_help.c:4652 sql_help.c:4698 +#: sql_help.c:4852 sql_help.c:4866 sql_help.c:4910 sql_help.c:5097 +#: sql_help.c:5111 sql_help.c:5155 msgid "select" msgstr "виберіть" -#: sql_help.c:4576 sql_help.c:4833 sql_help.c:5079 +#: sql_help.c:4600 sql_help.c:4858 sql_help.c:5103 +msgid "from_reference" +msgstr "from_reference" + +#: sql_help.c:4601 sql_help.c:4859 sql_help.c:5104 msgid "where from_item can be one of:" msgstr "де джерело_даних може бути одним з:" -#: sql_help.c:4579 sql_help.c:4585 sql_help.c:4588 sql_help.c:4592 -#: sql_help.c:4604 sql_help.c:4836 sql_help.c:4842 sql_help.c:4845 -#: sql_help.c:4849 sql_help.c:4861 sql_help.c:5082 sql_help.c:5088 -#: sql_help.c:5091 sql_help.c:5095 sql_help.c:5107 +#: sql_help.c:4604 sql_help.c:4610 sql_help.c:4613 sql_help.c:4617 +#: sql_help.c:4629 sql_help.c:4862 sql_help.c:4868 sql_help.c:4871 +#: sql_help.c:4875 sql_help.c:4887 sql_help.c:5107 sql_help.c:5113 +#: sql_help.c:5116 sql_help.c:5120 sql_help.c:5132 msgid "column_alias" msgstr "псевдонім_стовпця" -#: sql_help.c:4580 sql_help.c:4837 sql_help.c:5083 +#: sql_help.c:4605 sql_help.c:4863 sql_help.c:5108 msgid "sampling_method" msgstr "метод_вибірки" -#: sql_help.c:4582 sql_help.c:4839 sql_help.c:5085 +#: sql_help.c:4607 sql_help.c:4865 sql_help.c:5110 msgid "seed" msgstr "початкове_число" -#: sql_help.c:4586 sql_help.c:4625 sql_help.c:4843 sql_help.c:4882 -#: sql_help.c:5089 sql_help.c:5128 +#: sql_help.c:4611 sql_help.c:4650 sql_help.c:4869 sql_help.c:4908 +#: sql_help.c:5114 sql_help.c:5153 msgid "with_query_name" msgstr "ім'я_запиту_WITH" -#: sql_help.c:4596 sql_help.c:4599 sql_help.c:4602 sql_help.c:4853 -#: sql_help.c:4856 sql_help.c:4859 sql_help.c:5099 sql_help.c:5102 -#: sql_help.c:5105 +#: sql_help.c:4621 sql_help.c:4624 sql_help.c:4627 sql_help.c:4879 +#: sql_help.c:4882 sql_help.c:4885 sql_help.c:5124 sql_help.c:5127 +#: sql_help.c:5130 msgid "column_definition" msgstr "визначення_стовпця" -#: sql_help.c:4606 sql_help.c:4612 sql_help.c:4863 sql_help.c:4869 -#: sql_help.c:5109 sql_help.c:5115 +#: sql_help.c:4631 sql_help.c:4637 sql_help.c:4889 sql_help.c:4895 +#: sql_help.c:5134 sql_help.c:5140 msgid "join_type" msgstr "тип_поєднання" -#: sql_help.c:4609 sql_help.c:4866 sql_help.c:5112 +#: sql_help.c:4634 sql_help.c:4892 sql_help.c:5137 msgid "join_column" msgstr "стовпець_поєднання" -#: sql_help.c:4610 sql_help.c:4867 sql_help.c:5113 +#: sql_help.c:4635 sql_help.c:4893 sql_help.c:5138 msgid "join_using_alias" msgstr "join_using_alias" -#: sql_help.c:4616 sql_help.c:4873 sql_help.c:5119 +#: sql_help.c:4641 sql_help.c:4899 sql_help.c:5144 msgid "and grouping_element can be one of:" msgstr "і елемент_групування може бути одним з:" -#: sql_help.c:4624 sql_help.c:4881 sql_help.c:5127 +#: sql_help.c:4649 sql_help.c:4907 sql_help.c:5152 msgid "and with_query is:" msgstr "і запит_WITH:" -#: sql_help.c:4628 sql_help.c:4885 sql_help.c:5131 +#: sql_help.c:4653 sql_help.c:4911 sql_help.c:5156 msgid "values" msgstr "значення" -#: sql_help.c:4629 sql_help.c:4886 sql_help.c:5132 +#: sql_help.c:4654 sql_help.c:4912 sql_help.c:5157 msgid "insert" msgstr "вставка" -#: sql_help.c:4630 sql_help.c:4887 sql_help.c:5133 +#: sql_help.c:4655 sql_help.c:4913 sql_help.c:5158 msgid "update" msgstr "оновлення" -#: sql_help.c:4631 sql_help.c:4888 sql_help.c:5134 +#: sql_help.c:4656 sql_help.c:4914 sql_help.c:5159 msgid "delete" msgstr "видалення" -#: sql_help.c:4633 sql_help.c:4890 sql_help.c:5136 +#: sql_help.c:4657 sql_help.c:4915 sql_help.c:5160 +msgid "merge" +msgstr "об’єднати" + +#: sql_help.c:4659 sql_help.c:4917 sql_help.c:5162 msgid "search_seq_col_name" msgstr "search_seq_col_name" -#: sql_help.c:4635 sql_help.c:4892 sql_help.c:5138 +#: sql_help.c:4661 sql_help.c:4919 sql_help.c:5164 msgid "cycle_mark_col_name" msgstr "cycle_mark_col_name" -#: sql_help.c:4636 sql_help.c:4893 sql_help.c:5139 +#: sql_help.c:4662 sql_help.c:4920 sql_help.c:5165 msgid "cycle_mark_value" msgstr "cycle_mark_value" -#: sql_help.c:4637 sql_help.c:4894 sql_help.c:5140 +#: sql_help.c:4663 sql_help.c:4921 sql_help.c:5166 msgid "cycle_mark_default" msgstr "cycle_mark_default" -#: sql_help.c:4638 sql_help.c:4895 sql_help.c:5141 +#: sql_help.c:4664 sql_help.c:4922 sql_help.c:5167 msgid "cycle_path_col_name" msgstr "cycle_path_col_name" -#: sql_help.c:4665 +#: sql_help.c:4691 msgid "new_table" msgstr "нова_таблиця" -#: sql_help.c:4736 +#: sql_help.c:4762 msgid "snapshot_id" msgstr "код_знімку" -#: sql_help.c:5004 +#: sql_help.c:5029 msgid "sort_expression" msgstr "вираз_сортування" -#: sql_help.c:5148 sql_help.c:6132 +#: sql_help.c:5174 sql_help.c:6158 msgid "abort the current transaction" msgstr "перервати поточну транзакцію" -#: sql_help.c:5154 +#: sql_help.c:5180 msgid "change the definition of an aggregate function" msgstr "змінити визначення агрегатної функції" -#: sql_help.c:5160 +#: sql_help.c:5186 msgid "change the definition of a collation" msgstr "змінити визначення правила сортування" -#: sql_help.c:5166 +#: sql_help.c:5192 msgid "change the definition of a conversion" msgstr "змінити визначення перетворення" -#: sql_help.c:5172 +#: sql_help.c:5198 msgid "change a database" msgstr "змінити базу даних" -#: sql_help.c:5178 +#: sql_help.c:5204 msgid "define default access privileges" msgstr "визначити права доступу за замовчуванням" -#: sql_help.c:5184 +#: sql_help.c:5210 msgid "change the definition of a domain" msgstr "змінити визначення домену" -#: sql_help.c:5190 +#: sql_help.c:5216 msgid "change the definition of an event trigger" msgstr "змінити визначення тригеру події" -#: sql_help.c:5196 +#: sql_help.c:5222 msgid "change the definition of an extension" msgstr "змінити визначення розширення" -#: sql_help.c:5202 +#: sql_help.c:5228 msgid "change the definition of a foreign-data wrapper" msgstr "змінити визначення джерела сторонніх даних" -#: sql_help.c:5208 +#: sql_help.c:5234 msgid "change the definition of a foreign table" msgstr "змінити визначення сторонньої таблиці" -#: sql_help.c:5214 +#: sql_help.c:5240 msgid "change the definition of a function" msgstr "змінити визначення функції" -#: sql_help.c:5220 +#: sql_help.c:5246 msgid "change role name or membership" msgstr "змінити назву ролі або членства" -#: sql_help.c:5226 +#: sql_help.c:5252 msgid "change the definition of an index" msgstr "змінити визначення індексу" -#: sql_help.c:5232 +#: sql_help.c:5258 msgid "change the definition of a procedural language" msgstr "змінити визначення процедурної мови" -#: sql_help.c:5238 +#: sql_help.c:5264 msgid "change the definition of a large object" msgstr "змінити визначення великого об'єкту" -#: sql_help.c:5244 +#: sql_help.c:5270 msgid "change the definition of a materialized view" msgstr "змінити визначення матеріалізованого подання" -#: sql_help.c:5250 +#: sql_help.c:5276 msgid "change the definition of an operator" msgstr "змінити визначення оператора" -#: sql_help.c:5256 +#: sql_help.c:5282 msgid "change the definition of an operator class" msgstr "змінити визначення класа операторів" -#: sql_help.c:5262 +#: sql_help.c:5288 msgid "change the definition of an operator family" msgstr "змінити визначення сімейства операторів" -#: sql_help.c:5268 +#: sql_help.c:5294 msgid "change the definition of a row-level security policy" msgstr "змінити визначення політики безпеки на рівні рядків" -#: sql_help.c:5274 +#: sql_help.c:5300 msgid "change the definition of a procedure" msgstr "змінити визначення процедури" -#: sql_help.c:5280 +#: sql_help.c:5306 msgid "change the definition of a publication" msgstr "змінити визначення публікації" -#: sql_help.c:5286 sql_help.c:5388 +#: sql_help.c:5312 sql_help.c:5414 msgid "change a database role" msgstr "змінити роль бази даних" -#: sql_help.c:5292 +#: sql_help.c:5318 msgid "change the definition of a routine" msgstr "змінити визначення підпрограми" -#: sql_help.c:5298 +#: sql_help.c:5324 msgid "change the definition of a rule" msgstr "змінити визначення правила" -#: sql_help.c:5304 +#: sql_help.c:5330 msgid "change the definition of a schema" msgstr "змінити визначення схеми" -#: sql_help.c:5310 +#: sql_help.c:5336 msgid "change the definition of a sequence generator" msgstr "змінити визначення генератору послідовності" -#: sql_help.c:5316 +#: sql_help.c:5342 msgid "change the definition of a foreign server" msgstr "змінити визначення стороннього серверу" -#: sql_help.c:5322 +#: sql_help.c:5348 msgid "change the definition of an extended statistics object" msgstr "змінити визначення об'єкту розширеної статистики" -#: sql_help.c:5328 +#: sql_help.c:5354 msgid "change the definition of a subscription" msgstr "змінити визначення підписки" -#: sql_help.c:5334 +#: sql_help.c:5360 msgid "change a server configuration parameter" msgstr "змінити параметр конфігурації сервера" -#: sql_help.c:5340 +#: sql_help.c:5366 msgid "change the definition of a table" msgstr "змінити визначення таблиці" -#: sql_help.c:5346 +#: sql_help.c:5372 msgid "change the definition of a tablespace" msgstr "змінити визначення табличного простору" -#: sql_help.c:5352 +#: sql_help.c:5378 msgid "change the definition of a text search configuration" msgstr "змінити визначення конфігурації текстового пошуку" -#: sql_help.c:5358 +#: sql_help.c:5384 msgid "change the definition of a text search dictionary" msgstr "змінити визначення словника текстового пошуку" -#: sql_help.c:5364 +#: sql_help.c:5390 msgid "change the definition of a text search parser" msgstr "змінити визначення парсера текстового пошуку" -#: sql_help.c:5370 +#: sql_help.c:5396 msgid "change the definition of a text search template" msgstr "змінити визначення шаблона текстового пошуку" -#: sql_help.c:5376 +#: sql_help.c:5402 msgid "change the definition of a trigger" msgstr "змінити визначення тригеру" -#: sql_help.c:5382 +#: sql_help.c:5408 msgid "change the definition of a type" msgstr "змінити визначення типу" -#: sql_help.c:5394 +#: sql_help.c:5420 msgid "change the definition of a user mapping" msgstr "змінити визначення зіставлень користувачів" -#: sql_help.c:5400 +#: sql_help.c:5426 msgid "change the definition of a view" msgstr "змінити визначення подання" -#: sql_help.c:5406 +#: sql_help.c:5432 msgid "collect statistics about a database" msgstr "зібрати статистику про базу даних" -#: sql_help.c:5412 sql_help.c:6210 +#: sql_help.c:5438 sql_help.c:6236 msgid "start a transaction block" msgstr "розпочати транзакцію" -#: sql_help.c:5418 +#: sql_help.c:5444 msgid "invoke a procedure" msgstr "викликати процедуру" -#: sql_help.c:5424 +#: sql_help.c:5450 msgid "force a write-ahead log checkpoint" msgstr "провести контрольну точку в журналі попереднього запису" -#: sql_help.c:5430 +#: sql_help.c:5456 msgid "close a cursor" msgstr "закрити курсор" -#: sql_help.c:5436 +#: sql_help.c:5462 msgid "cluster a table according to an index" msgstr "перегрупувати таблицю за індексом" -#: sql_help.c:5442 +#: sql_help.c:5468 msgid "define or change the comment of an object" msgstr "задати або змінити коментар об'єкта" -#: sql_help.c:5448 sql_help.c:6006 +#: sql_help.c:5474 sql_help.c:6032 msgid "commit the current transaction" msgstr "затвердити поточну транзакцію" -#: sql_help.c:5454 +#: sql_help.c:5480 msgid "commit a transaction that was earlier prepared for two-phase commit" msgstr "затвердити транзакцію, раніше підготовлену до двохфазного затвердження" -#: sql_help.c:5460 +#: sql_help.c:5486 msgid "copy data between a file and a table" msgstr "копіювати дані між файлом та таблицею" -#: sql_help.c:5466 +#: sql_help.c:5492 msgid "define a new access method" msgstr "визначити новий метод доступу" -#: sql_help.c:5472 +#: sql_help.c:5498 msgid "define a new aggregate function" msgstr "визначити нову агрегатну функцію" -#: sql_help.c:5478 +#: sql_help.c:5504 msgid "define a new cast" msgstr "визначити приведення типів" -#: sql_help.c:5484 +#: sql_help.c:5510 msgid "define a new collation" msgstr "визначити нове правило сортування" -#: sql_help.c:5490 +#: sql_help.c:5516 msgid "define a new encoding conversion" msgstr "визначити нове перетворення кодування" -#: sql_help.c:5496 +#: sql_help.c:5522 msgid "create a new database" msgstr "створити нову базу даних" -#: sql_help.c:5502 +#: sql_help.c:5528 msgid "define a new domain" msgstr "визначити новий домен" -#: sql_help.c:5508 +#: sql_help.c:5534 msgid "define a new event trigger" msgstr "визначити новий тригер події" -#: sql_help.c:5514 +#: sql_help.c:5540 msgid "install an extension" msgstr "встановити розширення" -#: sql_help.c:5520 +#: sql_help.c:5546 msgid "define a new foreign-data wrapper" msgstr "визначити нове джерело сторонніх даних" -#: sql_help.c:5526 +#: sql_help.c:5552 msgid "define a new foreign table" msgstr "визначити нову сторонню таблицю" -#: sql_help.c:5532 +#: sql_help.c:5558 msgid "define a new function" msgstr "визначити нову функцію" -#: sql_help.c:5538 sql_help.c:5598 sql_help.c:5700 +#: sql_help.c:5564 sql_help.c:5624 sql_help.c:5726 msgid "define a new database role" msgstr "визначити нову роль бази даних" -#: sql_help.c:5544 +#: sql_help.c:5570 msgid "define a new index" msgstr "визначити новий індекс" -#: sql_help.c:5550 +#: sql_help.c:5576 msgid "define a new procedural language" msgstr "визначити нову процедурну мову" -#: sql_help.c:5556 +#: sql_help.c:5582 msgid "define a new materialized view" msgstr "визначити нове матеріалізоване подання" -#: sql_help.c:5562 +#: sql_help.c:5588 msgid "define a new operator" msgstr "визначити новий оператор" -#: sql_help.c:5568 +#: sql_help.c:5594 msgid "define a new operator class" msgstr "визначити новий клас оператора" -#: sql_help.c:5574 +#: sql_help.c:5600 msgid "define a new operator family" msgstr "визначити нове сімейство операторів" -#: sql_help.c:5580 +#: sql_help.c:5606 msgid "define a new row-level security policy for a table" msgstr "визначити нову політику безпеки на рівні рядків для таблиці" -#: sql_help.c:5586 +#: sql_help.c:5612 msgid "define a new procedure" msgstr "визначити нову процедуру" -#: sql_help.c:5592 +#: sql_help.c:5618 msgid "define a new publication" msgstr "визначити нову публікацію" -#: sql_help.c:5604 +#: sql_help.c:5630 msgid "define a new rewrite rule" msgstr "визначити нове правило перезапису" -#: sql_help.c:5610 +#: sql_help.c:5636 msgid "define a new schema" msgstr "визначити нову схему" -#: sql_help.c:5616 +#: sql_help.c:5642 msgid "define a new sequence generator" msgstr "визначити новий генератор послідовностей" -#: sql_help.c:5622 +#: sql_help.c:5648 msgid "define a new foreign server" msgstr "визначити новий сторонній сервер" -#: sql_help.c:5628 +#: sql_help.c:5654 msgid "define extended statistics" msgstr "визначити розширену статистику" -#: sql_help.c:5634 +#: sql_help.c:5660 msgid "define a new subscription" msgstr "визначити нову підписку" -#: sql_help.c:5640 +#: sql_help.c:5666 msgid "define a new table" msgstr "визначити нову таблицю" -#: sql_help.c:5646 sql_help.c:6168 +#: sql_help.c:5672 sql_help.c:6194 msgid "define a new table from the results of a query" msgstr "визначити нову таблицю з результатів запиту" -#: sql_help.c:5652 +#: sql_help.c:5678 msgid "define a new tablespace" msgstr "визначити новий табличний простір" -#: sql_help.c:5658 +#: sql_help.c:5684 msgid "define a new text search configuration" msgstr "визначити нову конфігурацію текстового пошуку" -#: sql_help.c:5664 +#: sql_help.c:5690 msgid "define a new text search dictionary" msgstr "визначити новий словник текстового пошуку" -#: sql_help.c:5670 +#: sql_help.c:5696 msgid "define a new text search parser" msgstr "визначити новий аналізатор текстового пошуку" -#: sql_help.c:5676 +#: sql_help.c:5702 msgid "define a new text search template" msgstr "визначити новий шаблон текстового пошуку" -#: sql_help.c:5682 +#: sql_help.c:5708 msgid "define a new transform" msgstr "визначити нове перетворення" -#: sql_help.c:5688 +#: sql_help.c:5714 msgid "define a new trigger" msgstr "визначити новий тригер" -#: sql_help.c:5694 +#: sql_help.c:5720 msgid "define a new data type" msgstr "визначити новий тип даних" -#: sql_help.c:5706 +#: sql_help.c:5732 msgid "define a new mapping of a user to a foreign server" msgstr "визначити нове зіставлення користувача для стороннього сервера" -#: sql_help.c:5712 +#: sql_help.c:5738 msgid "define a new view" msgstr "визначити нове подання" -#: sql_help.c:5718 +#: sql_help.c:5744 msgid "deallocate a prepared statement" msgstr "звільнити підготовлену команду" -#: sql_help.c:5724 +#: sql_help.c:5750 msgid "define a cursor" msgstr "визначити курсор" -#: sql_help.c:5730 +#: sql_help.c:5756 msgid "delete rows of a table" msgstr "видалити рядки таблиці" -#: sql_help.c:5736 +#: sql_help.c:5762 msgid "discard session state" msgstr "очистити стан сесії" -#: sql_help.c:5742 +#: sql_help.c:5768 msgid "execute an anonymous code block" msgstr "виконати анонімний блок коду" -#: sql_help.c:5748 +#: sql_help.c:5774 msgid "remove an access method" msgstr "видалити метод доступу" -#: sql_help.c:5754 +#: sql_help.c:5780 msgid "remove an aggregate function" msgstr "видалити агрегатну функцію" -#: sql_help.c:5760 +#: sql_help.c:5786 msgid "remove a cast" msgstr "видалити приведення типів" -#: sql_help.c:5766 +#: sql_help.c:5792 msgid "remove a collation" msgstr "видалити правило сортування" -#: sql_help.c:5772 +#: sql_help.c:5798 msgid "remove a conversion" msgstr "видалити перетворення" -#: sql_help.c:5778 +#: sql_help.c:5804 msgid "remove a database" msgstr "видалити базу даних" -#: sql_help.c:5784 +#: sql_help.c:5810 msgid "remove a domain" msgstr "видалити домен" -#: sql_help.c:5790 +#: sql_help.c:5816 msgid "remove an event trigger" msgstr "видалити тригер події" -#: sql_help.c:5796 +#: sql_help.c:5822 msgid "remove an extension" msgstr "видалити розширення" -#: sql_help.c:5802 +#: sql_help.c:5828 msgid "remove a foreign-data wrapper" msgstr "видалити джерело сторонніх даних" -#: sql_help.c:5808 +#: sql_help.c:5834 msgid "remove a foreign table" msgstr "видалити сторонню таблицю" -#: sql_help.c:5814 +#: sql_help.c:5840 msgid "remove a function" msgstr "видалити функцію" -#: sql_help.c:5820 sql_help.c:5886 sql_help.c:5988 +#: sql_help.c:5846 sql_help.c:5912 sql_help.c:6014 msgid "remove a database role" msgstr "видалити роль бази даних" -#: sql_help.c:5826 +#: sql_help.c:5852 msgid "remove an index" msgstr "видалити індекс" -#: sql_help.c:5832 +#: sql_help.c:5858 msgid "remove a procedural language" msgstr "видалити процедурну мову" -#: sql_help.c:5838 +#: sql_help.c:5864 msgid "remove a materialized view" msgstr "видалити матеріалізоване подання" -#: sql_help.c:5844 +#: sql_help.c:5870 msgid "remove an operator" msgstr "видалити оператор" -#: sql_help.c:5850 +#: sql_help.c:5876 msgid "remove an operator class" msgstr "видалити клас операторів" -#: sql_help.c:5856 +#: sql_help.c:5882 msgid "remove an operator family" msgstr "видалити сімейство операторів" -#: sql_help.c:5862 +#: sql_help.c:5888 msgid "remove database objects owned by a database role" msgstr "видалити об'єкти бази даних, що належать ролі" -#: sql_help.c:5868 +#: sql_help.c:5894 msgid "remove a row-level security policy from a table" msgstr "видалити політику безпеки на рівні рядків з таблиці" -#: sql_help.c:5874 +#: sql_help.c:5900 msgid "remove a procedure" msgstr "видалити процедуру" -#: sql_help.c:5880 +#: sql_help.c:5906 msgid "remove a publication" msgstr "видалити публікацію" -#: sql_help.c:5892 +#: sql_help.c:5918 msgid "remove a routine" msgstr "видалити підпрограму" -#: sql_help.c:5898 +#: sql_help.c:5924 msgid "remove a rewrite rule" msgstr "видалити правило перезапису" -#: sql_help.c:5904 +#: sql_help.c:5930 msgid "remove a schema" msgstr "видалити схему" -#: sql_help.c:5910 +#: sql_help.c:5936 msgid "remove a sequence" msgstr "видалити послідовність" -#: sql_help.c:5916 +#: sql_help.c:5942 msgid "remove a foreign server descriptor" msgstr "видалити опис стороннього серверу" -#: sql_help.c:5922 +#: sql_help.c:5948 msgid "remove extended statistics" msgstr "видалити розширену статистику" -#: sql_help.c:5928 +#: sql_help.c:5954 msgid "remove a subscription" msgstr "видалити підписку" -#: sql_help.c:5934 +#: sql_help.c:5960 msgid "remove a table" msgstr "видалити таблицю" -#: sql_help.c:5940 +#: sql_help.c:5966 msgid "remove a tablespace" msgstr "видалити табличний простір" -#: sql_help.c:5946 +#: sql_help.c:5972 msgid "remove a text search configuration" msgstr "видалити конфігурацію тектового пошуку" -#: sql_help.c:5952 +#: sql_help.c:5978 msgid "remove a text search dictionary" msgstr "видалити словник тектового пошуку" -#: sql_help.c:5958 +#: sql_help.c:5984 msgid "remove a text search parser" msgstr "видалити парсер тектового пошуку" -#: sql_help.c:5964 +#: sql_help.c:5990 msgid "remove a text search template" msgstr "видалити шаблон тектового пошуку" -#: sql_help.c:5970 +#: sql_help.c:5996 msgid "remove a transform" msgstr "видалити перетворення" -#: sql_help.c:5976 +#: sql_help.c:6002 msgid "remove a trigger" msgstr "видалити тригер" -#: sql_help.c:5982 +#: sql_help.c:6008 msgid "remove a data type" msgstr "видалити тип даних" -#: sql_help.c:5994 +#: sql_help.c:6020 msgid "remove a user mapping for a foreign server" msgstr "видалити зіставлення користувача для стороннього серверу" -#: sql_help.c:6000 +#: sql_help.c:6026 msgid "remove a view" msgstr "видалити подання" -#: sql_help.c:6012 +#: sql_help.c:6038 msgid "execute a prepared statement" msgstr "виконати підготовлену команду" -#: sql_help.c:6018 +#: sql_help.c:6044 msgid "show the execution plan of a statement" msgstr "показати план виконання команди" -#: sql_help.c:6024 +#: sql_help.c:6050 msgid "retrieve rows from a query using a cursor" msgstr "отримати рядки запиту з курсору" -#: sql_help.c:6030 +#: sql_help.c:6056 msgid "define access privileges" msgstr "визначити права доступу" -#: sql_help.c:6036 +#: sql_help.c:6062 msgid "import table definitions from a foreign server" msgstr "імпортувати визначення таблиць зі стороннього серверу" -#: sql_help.c:6042 +#: sql_help.c:6068 msgid "create new rows in a table" msgstr "створити нові рядки в таблиці" -#: sql_help.c:6048 +#: sql_help.c:6074 msgid "listen for a notification" msgstr "очікувати на повідомлення" -#: sql_help.c:6054 +#: sql_help.c:6080 msgid "load a shared library file" msgstr "завантажити файл спільної бібліотеки" -#: sql_help.c:6060 +#: sql_help.c:6086 msgid "lock a table" msgstr "заблокувати таблицю" -#: sql_help.c:6066 +#: sql_help.c:6092 msgid "conditionally insert, update, or delete rows of a table" msgstr "умовно вставити, оновити або видалити рядки таблиці" -#: sql_help.c:6072 +#: sql_help.c:6098 msgid "position a cursor" msgstr "розташувати курсор" -#: sql_help.c:6078 +#: sql_help.c:6104 msgid "generate a notification" msgstr "згенерувати повідомлення" -#: sql_help.c:6084 +#: sql_help.c:6110 msgid "prepare a statement for execution" msgstr "підготувати команду для виконання" -#: sql_help.c:6090 +#: sql_help.c:6116 msgid "prepare the current transaction for two-phase commit" msgstr "підготувати поточну транзакцію для двохфазного затвердження" -#: sql_help.c:6096 +#: sql_help.c:6122 msgid "change the ownership of database objects owned by a database role" msgstr "змінити власника об'єктів БД, що належать заданій ролі" -#: sql_help.c:6102 +#: sql_help.c:6128 msgid "replace the contents of a materialized view" msgstr "замінити вміст матеріалізованого подання" -#: sql_help.c:6108 +#: sql_help.c:6134 msgid "rebuild indexes" msgstr "перебудувати індекси" -#: sql_help.c:6114 +#: sql_help.c:6140 msgid "release a previously defined savepoint" msgstr "звільнити раніше визначену точку збереження" -#: sql_help.c:6120 +#: sql_help.c:6146 msgid "restore the value of a run-time parameter to the default value" msgstr "відновити початкове значення параметру виконання" -#: sql_help.c:6126 +#: sql_help.c:6152 msgid "remove access privileges" msgstr "видалити права доступу" -#: sql_help.c:6138 +#: sql_help.c:6164 msgid "cancel a transaction that was earlier prepared for two-phase commit" msgstr "скасувати транзакцію, раніше підготовлену до двохфазного затвердження" -#: sql_help.c:6144 +#: sql_help.c:6170 msgid "roll back to a savepoint" msgstr "відкотитися до точки збереження" -#: sql_help.c:6150 +#: sql_help.c:6176 msgid "define a new savepoint within the current transaction" msgstr "визначити нову точку збереження в рамках поточної транзакції" -#: sql_help.c:6156 +#: sql_help.c:6182 msgid "define or change a security label applied to an object" msgstr "визначити або змінити мітку безпеки, застосовану до об'єкта" -#: sql_help.c:6162 sql_help.c:6216 sql_help.c:6252 +#: sql_help.c:6188 sql_help.c:6242 sql_help.c:6278 msgid "retrieve rows from a table or view" msgstr "отримати рядки з таблиці або подання" -#: sql_help.c:6174 +#: sql_help.c:6200 msgid "change a run-time parameter" msgstr "змінити параметр виконання" -#: sql_help.c:6180 +#: sql_help.c:6206 msgid "set constraint check timing for the current transaction" msgstr "встановити час перевірки обмеження для поточної транзакції" -#: sql_help.c:6186 +#: sql_help.c:6212 msgid "set the current user identifier of the current session" msgstr "встановити ідентифікатор поточного користувача в поточній сесії" -#: sql_help.c:6192 +#: sql_help.c:6218 msgid "set the session user identifier and the current user identifier of the current session" msgstr "встановити ідентифікатор користувача сесії й ідентифікатор поточного користувача в поточній сесії" -#: sql_help.c:6198 +#: sql_help.c:6224 msgid "set the characteristics of the current transaction" msgstr "встановити характеристики поточної транзакції" -#: sql_help.c:6204 +#: sql_help.c:6230 msgid "show the value of a run-time parameter" msgstr "показати значення параметра виконання" -#: sql_help.c:6222 +#: sql_help.c:6248 msgid "empty a table or set of tables" msgstr "очистити таблицю або декілька таблиць" -#: sql_help.c:6228 +#: sql_help.c:6254 msgid "stop listening for a notification" msgstr "припинити очікування повідомлень" -#: sql_help.c:6234 +#: sql_help.c:6260 msgid "update rows of a table" msgstr "змінити рядки таблиці" -#: sql_help.c:6240 +#: sql_help.c:6266 msgid "garbage-collect and optionally analyze a database" msgstr "виконати збір сміття і проаналізувати базу даних" -#: sql_help.c:6246 +#: sql_help.c:6272 msgid "compute a set of rows" msgstr "отримати набір рядків" @@ -6254,7 +6322,7 @@ msgstr "зайвий аргумент \"%s\" проігнорований" msgid "could not find own program executable" msgstr "не вдалося знайти ехе файл власної програми" -#: tab-complete.c:6078 +#: tab-complete.c:6216 #, c-format msgid "tab completion query failed: %s\n" "Query was:\n" diff --git a/src/bin/psql/t/001_basic.pl b/src/bin/psql/t/001_basic.pl index 5f2f4541af0..bd4fdd2030a 100644 --- a/src/bin/psql/t/001_basic.pl +++ b/src/bin/psql/t/001_basic.pl @@ -352,8 +352,14 @@ sub psql_fails_like # Check \watch # Note: the interval value is parsed with locale-aware strtod() -psql_like($node, sprintf('SELECT 1 \watch c=3 i=%g', 0.01), - qr/1\n1\n1/, '\watch with 3 iterations'); +psql_like( + $node, sprintf('SELECT 1 \watch c=3 i=%g', 0.01), + qr/1\n1\n1/, '\watch with 3 iterations, interval of 0.01'); + +# Sub-millisecond wait works, equivalent to 0. +psql_like( + $node, sprintf('SELECT 1 \watch c=3 i=%g', 0.0001), + qr/1\n1\n1/, '\watch with 3 iterations, interval of 0.0001'); # Check \watch minimum row count psql_fails_like( diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c index d453e224d93..2e55607b8ad 100644 --- a/src/bin/psql/tab-complete.c +++ b/src/bin/psql/tab-complete.c @@ -2353,7 +2353,6 @@ psql_completion(const char *text, int start, int end) "OWNER TO", "SET", "VALIDATE CONSTRAINT", "REPLICA IDENTITY", "ATTACH PARTITION", "DETACH PARTITION", "FORCE ROW LEVEL SECURITY", - "SPLIT PARTITION", "MERGE PARTITIONS (", "OF", "NOT OF"); /* ALTER TABLE xxx ADD */ else if (Matches("ALTER", "TABLE", MatchAny, "ADD")) @@ -2610,10 +2609,10 @@ psql_completion(const char *text, int start, int end) COMPLETE_WITH("FROM (", "IN (", "WITH ("); /* - * If we have ALTER TABLE DETACH|SPLIT PARTITION, provide a list of + * If we have ALTER TABLE DETACH PARTITION, provide a list of * partitions of . */ - else if (Matches("ALTER", "TABLE", MatchAny, "DETACH|SPLIT", "PARTITION")) + else if (Matches("ALTER", "TABLE", MatchAny, "DETACH", "PARTITION")) { set_completion_reference(prev3_wd); COMPLETE_WITH_SCHEMA_QUERY(Query_for_partition_of_table); @@ -2621,19 +2620,6 @@ psql_completion(const char *text, int start, int end) else if (Matches("ALTER", "TABLE", MatchAny, "DETACH", "PARTITION", MatchAny)) COMPLETE_WITH("CONCURRENTLY", "FINALIZE"); - /* ALTER TABLE SPLIT PARTITION */ - else if (Matches("ALTER", "TABLE", MatchAny, "SPLIT", "PARTITION", MatchAny)) - COMPLETE_WITH("INTO ( PARTITION"); - - /* ALTER TABLE MERGE PARTITIONS ( */ - else if (Matches("ALTER", "TABLE", MatchAny, "MERGE", "PARTITIONS", "(")) - { - set_completion_reference(prev4_wd); - COMPLETE_WITH_SCHEMA_QUERY(Query_for_partition_of_table); - } - else if (Matches("ALTER", "TABLE", MatchAny, "MERGE", "PARTITIONS", "(*)")) - COMPLETE_WITH("INTO"); - /* ALTER TABLE OF */ else if (Matches("ALTER", "TABLE", MatchAny, "OF")) COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_composite_datatypes); diff --git a/src/bin/scripts/po/es.po b/src/bin/scripts/po/es.po index 82ffa207556..c1a7b01e4aa 100644 --- a/src/bin/scripts/po/es.po +++ b/src/bin/scripts/po/es.po @@ -12,8 +12,8 @@ msgid "" msgstr "" "Project-Id-Version: pgscripts (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-10-03 07:20+0000\n" -"PO-Revision-Date: 2023-10-03 16:25+0200\n" +"POT-Creation-Date: 2024-08-01 11:22+0000\n" +"PO-Revision-Date: 2024-08-02 16:55-0400\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" "Language: es\n" @@ -54,6 +54,48 @@ msgstr "memoria agotada\n" msgid "cannot duplicate null pointer (internal error)\n" msgstr "no se puede duplicar un puntero nulo (error interno)\n" +#: ../../common/file_utils.c:70 ../../common/file_utils.c:347 +#: ../../common/file_utils.c:406 ../../common/file_utils.c:480 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "no se pudo abrir el archivo «%s»: %m" + +#: ../../common/file_utils.c:76 +#, 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" + +#: ../../common/file_utils.c:120 ../../common/file_utils.c:566 +#, c-format +msgid "could not stat file \"%s\": %m" +msgstr "no se pudo hacer stat al archivo «%s»: %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 "esta instalación no soporta el método de sync «%s»" + +#: ../../common/file_utils.c:151 ../../common/file_utils.c:281 +#, 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 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "no se pudo leer el directorio «%s»: %m" + +#: ../../common/file_utils.c:418 ../../common/file_utils.c:488 +#, c-format +msgid "could not fsync file \"%s\": %m" +msgstr "no se pudo sincronizar (fsync) archivo «%s»: %m" + +#: ../../common/file_utils.c:498 +#, c-format +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "no se pudo renombrar el archivo de «%s» a «%s»: %m" + #: ../../common/username.c:43 #, c-format msgid "could not look up effective user ID %ld: %s" @@ -68,11 +110,11 @@ msgstr "el usuario no existe" msgid "user name lookup failure: error code %lu" msgstr "fallo en la búsqueda de nombre de usuario: código de error %lu" -#: ../../fe_utils/cancel.c:189 ../../fe_utils/cancel.c:238 +#: ../../fe_utils/cancel.c:186 ../../fe_utils/cancel.c:235 msgid "Cancel request sent\n" msgstr "Petición de cancelación enviada\n" -#: ../../fe_utils/cancel.c:190 ../../fe_utils/cancel.c:239 +#: ../../fe_utils/cancel.c:187 ../../fe_utils/cancel.c:236 msgid "Could not send cancel request: " msgstr "No se pudo enviar el paquete de cancelación: " @@ -100,12 +142,27 @@ msgstr "el valor «%s» no es válido para la opción %s" msgid "%s must be in range %d..%d" msgstr "%s debe estar en el rango %d..%d" -#: ../../fe_utils/parallel_slot.c:299 +#: ../../fe_utils/option_utils.c:106 +#, c-format +msgid "unrecognized sync method: %s" +msgstr "método sync no reconocido: %s" + +#: ../../fe_utils/parallel_slot.c:317 +#, c-format +msgid "too many jobs for this platform: %d" +msgstr "demasiados procesos para esta plataforma: %d" + +#: ../../fe_utils/parallel_slot.c:326 +#, c-format +msgid "socket file descriptor out of range for select(): %d" +msgstr "descriptor de archivo para socket fuera de rango para select(): %d" + +#: ../../fe_utils/parallel_slot.c:328 #, c-format -msgid "too many jobs for this platform" -msgstr "demasiados procesos para esta plataforma" +msgid "Try fewer jobs." +msgstr "Intente con menos trabajos." -#: ../../fe_utils/parallel_slot.c:520 +#: ../../fe_utils/parallel_slot.c:553 #, c-format msgid "processing of database \"%s\" failed: %s" msgstr "falló el procesamiento de la base de datos «%s»: %s" @@ -122,17 +179,22 @@ msgstr[1] "(%lu filas)" msgid "Interrupted\n" msgstr "Interrumpido\n" -#: ../../fe_utils/print.c:3218 +#: ../../fe_utils/print.c:3188 +#, c-format +msgid "Cannot print table contents: number of cells %lld is equal to or exceeds maximum %lld.\n" +msgstr "No se puede imprimir el contenido de la tabla: el número de celdas %lld es igual o mayor al máximo %lld.\n" + +#: ../../fe_utils/print.c:3229 #, c-format msgid "Cannot add header to table content: column count of %d exceeded.\n" msgstr "No se puede agregar un encabezado al contenido de la tabla: la cantidad de columnas de %d ha sido excedida.\n" -#: ../../fe_utils/print.c:3258 +#: ../../fe_utils/print.c:3272 #, c-format -msgid "Cannot add cell to table content: total cell count of %d exceeded.\n" -msgstr "No se puede agregar una celda al contenido de la tabla: la cantidad de celdas de %d ha sido excedida.\n" +msgid "Cannot add cell to table content: total cell count of %lld exceeded.\n" +msgstr "No se puede agregar una celda al contenido de la tabla: la cantidad de celdas de %lld ha sido excedida.\n" -#: ../../fe_utils/print.c:3516 +#: ../../fe_utils/print.c:3530 #, c-format msgid "invalid output format (internal error): %d" msgstr "formato de salida no válido (error interno): %d" @@ -147,36 +209,41 @@ msgstr "la consulta falló: %s" msgid "Query was: %s" msgstr "La consulta era: %s" -#: clusterdb.c:113 clusterdb.c:132 createdb.c:144 createdb.c:163 +#: ../../fe_utils/string_utils.c:434 +#, c-format +msgid "shell command argument contains a newline or carriage return: \"%s\"\n" +msgstr "el argumento de la orden de shell contiene un salto de línea o retorno de carro: «%s»\n" + +#: ../../fe_utils/string_utils.c:607 +#, c-format +msgid "database name contains a newline or carriage return: \"%s\"\n" +msgstr "el nombre de base de datos contiene un salto de línea o retorno de carro: «%s»\n" + +#: clusterdb.c:114 clusterdb.c:133 createdb.c:149 createdb.c:168 #: createuser.c:195 createuser.c:210 dropdb.c:104 dropdb.c:113 dropdb.c:121 #: dropuser.c:95 dropuser.c:110 dropuser.c:123 pg_isready.c:97 pg_isready.c:111 -#: reindexdb.c:174 reindexdb.c:193 vacuumdb.c:279 vacuumdb.c:299 +#: reindexdb.c:177 reindexdb.c:196 vacuumdb.c:280 vacuumdb.c:300 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Pruebe «%s --help» para mayor información." -#: clusterdb.c:130 createdb.c:161 createuser.c:208 dropdb.c:119 dropuser.c:108 -#: pg_isready.c:109 reindexdb.c:191 vacuumdb.c:297 +#: clusterdb.c:131 createdb.c:166 createuser.c:208 dropdb.c:119 dropuser.c:108 +#: pg_isready.c:109 reindexdb.c:194 vacuumdb.c:298 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "demasiados argumentos en la línea de órdenes (el primero es «%s»)" -#: clusterdb.c:148 +#: clusterdb.c:149 #, c-format msgid "cannot cluster all databases and a specific one at the same time" msgstr "no se puede reordenar todas las bases de datos y una de ellas en particular simultáneamente" -#: clusterdb.c:151 -#, c-format -msgid "cannot cluster specific table(s) in all databases" -msgstr "no es posible reordenar tablas específicas en todas las bases de datos" - -#: clusterdb.c:215 +#: clusterdb.c:214 #, c-format msgid "clustering of table \"%s\" in database \"%s\" failed: %s" msgstr "falló el reordenamiento de la tabla «%s» en la base de datos «%s»: %s" -#: clusterdb.c:218 +#: clusterdb.c:217 #, c-format msgid "clustering of database \"%s\" failed: %s" msgstr "falló el reordenamiento de la base de datos «%s»: %s" @@ -186,7 +253,7 @@ msgstr "falló el reordenamiento de la base de datos «%s»: %s" msgid "%s: clustering database \"%s\"\n" msgstr "%s: reordenando la base de datos «%s»\n" -#: clusterdb.c:264 +#: clusterdb.c:274 #, c-format msgid "" "%s clusters all previously clustered tables in a database.\n" @@ -196,19 +263,19 @@ msgstr "" "en una base de datos.\n" "\n" -#: clusterdb.c:265 createdb.c:288 createuser.c:415 dropdb.c:172 dropuser.c:170 -#: pg_isready.c:226 reindexdb.c:750 vacuumdb.c:1156 +#: clusterdb.c:275 createdb.c:298 createuser.c:415 dropdb.c:172 dropuser.c:170 +#: pg_isready.c:226 reindexdb.c:868 vacuumdb.c:1147 #, c-format msgid "Usage:\n" msgstr "Empleo:\n" -#: clusterdb.c:266 reindexdb.c:751 vacuumdb.c:1157 +#: clusterdb.c:276 reindexdb.c:869 vacuumdb.c:1148 #, c-format msgid " %s [OPTION]... [DBNAME]\n" msgstr " %s [OPCIÓN]... [BASE-DE-DATOS]\n" -#: clusterdb.c:267 createdb.c:290 createuser.c:417 dropdb.c:174 dropuser.c:172 -#: pg_isready.c:229 reindexdb.c:752 vacuumdb.c:1158 +#: clusterdb.c:277 createdb.c:300 createuser.c:417 dropdb.c:174 dropuser.c:172 +#: pg_isready.c:229 reindexdb.c:870 vacuumdb.c:1149 #, c-format msgid "" "\n" @@ -217,48 +284,48 @@ msgstr "" "\n" "Opciones:\n" -#: clusterdb.c:268 +#: clusterdb.c:278 #, c-format msgid " -a, --all cluster all databases\n" msgstr " -a, --all reordenar todas las bases de datos\n" -#: clusterdb.c:269 +#: clusterdb.c:279 #, c-format msgid " -d, --dbname=DBNAME database to cluster\n" msgstr " -d, --dbname=BASE base de datos a reordenar\n" -#: clusterdb.c:270 createuser.c:423 dropdb.c:175 dropuser.c:173 +#: clusterdb.c:280 createuser.c:423 dropdb.c:175 dropuser.c:173 #, c-format msgid " -e, --echo show the commands being sent to the server\n" msgstr " -e, --echo mostrar las órdenes a medida que se ejecutan\n" -#: clusterdb.c:271 +#: clusterdb.c:281 #, c-format msgid " -q, --quiet don't write any messages\n" msgstr " -q, --quiet no escribir ningún mensaje\n" -#: clusterdb.c:272 +#: clusterdb.c:282 #, c-format msgid " -t, --table=TABLE cluster specific table(s) only\n" msgstr " -t, --table=TABLA reordenar sólo esta(s) tabla(s)\n" -#: clusterdb.c:273 +#: clusterdb.c:283 #, c-format msgid " -v, --verbose write a lot of output\n" msgstr " -v, --verbose desplegar varios mensajes informativos\n" -#: clusterdb.c:274 createuser.c:439 dropdb.c:178 dropuser.c:176 +#: clusterdb.c:284 createuser.c:439 dropdb.c:178 dropuser.c:176 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version mostrar información de versión y salir\n" -#: clusterdb.c:275 createuser.c:447 dropdb.c:180 dropuser.c:178 +#: clusterdb.c:285 createuser.c:447 dropdb.c:180 dropuser.c:178 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help mostrar esta ayuda y salir\n" -#: clusterdb.c:276 createdb.c:306 createuser.c:448 dropdb.c:181 dropuser.c:179 -#: pg_isready.c:235 reindexdb.c:767 vacuumdb.c:1187 +#: clusterdb.c:286 createdb.c:317 createuser.c:448 dropdb.c:181 dropuser.c:179 +#: pg_isready.c:235 reindexdb.c:885 vacuumdb.c:1178 #, c-format msgid "" "\n" @@ -267,37 +334,37 @@ msgstr "" "\n" "Opciones de conexión:\n" -#: clusterdb.c:277 createuser.c:449 dropdb.c:182 dropuser.c:180 vacuumdb.c:1188 +#: clusterdb.c:287 createuser.c:449 dropdb.c:182 dropuser.c:180 vacuumdb.c:1179 #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr " -h, --host=ANFITRIÓN nombre del servidor o directorio del socket\n" -#: clusterdb.c:278 createuser.c:450 dropdb.c:183 dropuser.c:181 vacuumdb.c:1189 +#: clusterdb.c:288 createuser.c:450 dropdb.c:183 dropuser.c:181 vacuumdb.c:1180 #, c-format msgid " -p, --port=PORT database server port\n" msgstr " -p, --port=PUERTO puerto del servidor\n" -#: clusterdb.c:279 dropdb.c:184 vacuumdb.c:1190 +#: clusterdb.c:289 dropdb.c:184 vacuumdb.c:1181 #, c-format msgid " -U, --username=USERNAME user name to connect as\n" msgstr " -U, --username=USUARIO nombre de usuario para la conexión\n" -#: clusterdb.c:280 createuser.c:452 dropdb.c:185 dropuser.c:183 vacuumdb.c:1191 +#: clusterdb.c:290 createuser.c:452 dropdb.c:185 dropuser.c:183 vacuumdb.c:1182 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password nunca pedir contraseña\n" -#: clusterdb.c:281 createuser.c:453 dropdb.c:186 dropuser.c:184 vacuumdb.c:1192 +#: clusterdb.c:291 createuser.c:453 dropdb.c:186 dropuser.c:184 vacuumdb.c:1183 #, c-format msgid " -W, --password force password prompt\n" msgstr " -W, --password forzar la petición de contraseña\n" -#: clusterdb.c:282 dropdb.c:187 vacuumdb.c:1193 +#: clusterdb.c:292 dropdb.c:187 vacuumdb.c:1184 #, c-format msgid " --maintenance-db=DBNAME alternate maintenance database\n" msgstr " --maintenance-db=BASE base de datos de mantención alternativa\n" -#: clusterdb.c:283 +#: clusterdb.c:293 #, c-format msgid "" "\n" @@ -306,8 +373,8 @@ msgstr "" "\n" "Lea la descripción de la orden CLUSTER de SQL para obtener mayores detalles.\n" -#: clusterdb.c:284 createdb.c:314 createuser.c:454 dropdb.c:188 dropuser.c:185 -#: pg_isready.c:240 reindexdb.c:775 vacuumdb.c:1195 +#: clusterdb.c:294 createdb.c:325 createuser.c:454 dropdb.c:188 dropuser.c:185 +#: pg_isready.c:240 reindexdb.c:893 vacuumdb.c:1186 #, c-format msgid "" "\n" @@ -316,8 +383,8 @@ msgstr "" "\n" "Reporte errores a <%s>.\n" -#: clusterdb.c:285 createdb.c:315 createuser.c:455 dropdb.c:189 dropuser.c:186 -#: pg_isready.c:241 reindexdb.c:776 vacuumdb.c:1196 +#: clusterdb.c:295 createdb.c:326 createuser.c:455 dropdb.c:189 dropuser.c:186 +#: pg_isready.c:241 reindexdb.c:894 vacuumdb.c:1187 #, c-format msgid "%s home page: <%s>\n" msgstr "Sitio web de %s: <%s>\n" @@ -351,22 +418,22 @@ msgstr "%s (%s/%s) " msgid "Please answer \"%s\" or \"%s\".\n" msgstr "Por favor conteste «%s» o «%s».\n" -#: createdb.c:170 +#: createdb.c:175 #, c-format msgid "\"%s\" is not a valid encoding name" msgstr "«%s» no es un nombre válido de codificación" -#: createdb.c:250 +#: createdb.c:260 #, c-format msgid "database creation failed: %s" msgstr "falló la creación de la base de datos: %s" -#: createdb.c:269 +#: createdb.c:279 #, c-format msgid "comment creation failed (database was created): %s" msgstr "falló la creación del comentario (la base de datos fue creada): %s" -#: createdb.c:287 +#: createdb.c:297 #, c-format msgid "" "%s creates a PostgreSQL database.\n" @@ -375,119 +442,124 @@ msgstr "" "%s crea una base de datos PostgreSQL.\n" "\n" -#: createdb.c:289 +#: createdb.c:299 #, c-format msgid " %s [OPTION]... [DBNAME] [DESCRIPTION]\n" msgstr " %s [OPCIÓN]... [NOMBRE] [DESCRIPCIÓN]\n" -#: createdb.c:291 +#: createdb.c:301 #, c-format msgid " -D, --tablespace=TABLESPACE default tablespace for the database\n" msgstr " -D, --tablespace=TBLSPC tablespace por omisión de la base de datos\n" -#: createdb.c:292 reindexdb.c:756 +#: createdb.c:302 reindexdb.c:874 #, c-format msgid " -e, --echo show the commands being sent to the server\n" msgstr " -e, --echo mostrar las órdenes enviadas al servidor\n" -#: createdb.c:293 +#: createdb.c:303 #, c-format msgid " -E, --encoding=ENCODING encoding for the database\n" msgstr " -E, --encoding=CODIF codificación para la base de datos\n" -#: createdb.c:294 +#: createdb.c:304 #, c-format msgid " -l, --locale=LOCALE locale settings for the database\n" msgstr " -l, --locale=LOCALE configuración regional para la base de datos\n" -#: createdb.c:295 +#: createdb.c:305 #, c-format msgid " --lc-collate=LOCALE LC_COLLATE setting for the database\n" msgstr " --lc-collate=LOCALE configuración LC_COLLATE para la base de datos\n" -#: createdb.c:296 +#: createdb.c:306 #, c-format msgid " --lc-ctype=LOCALE LC_CTYPE setting for the database\n" msgstr " --lc-ctype=LOCALE configuración LC_CTYPE para la base de datos\n" -#: createdb.c:297 +#: createdb.c:307 +#, c-format +msgid " --builtin-locale=LOCALE builtin locale setting for the database\n" +msgstr " --builtin-locale=LOCALE configuración regional builtin para la base de datos\n" + +#: createdb.c:308 #, c-format msgid " --icu-locale=LOCALE ICU locale setting for the database\n" msgstr " --icu-locale=LOCALE configuración regional ICU para la base de datos\n" -#: createdb.c:298 +#: createdb.c:309 #, c-format msgid " --icu-rules=RULES ICU rules setting for the database\n" msgstr " --icu-rules=REGLAS configuración de reglas ICU para la base de datos\n" -#: createdb.c:299 +#: createdb.c:310 #, c-format msgid "" -" --locale-provider={libc|icu}\n" +" --locale-provider={builtin|libc|icu}\n" " locale provider for the database's default collation\n" msgstr "" -" --locale-provider={libc|icu}\n" +" --locale-provider={builtin|libc|icu}\n" " proveedor de configuración regional para el ordenamiento\n" " por omisión de las bases de datos\n" -#: createdb.c:301 +#: createdb.c:312 #, c-format msgid " -O, --owner=OWNER database user to own the new database\n" msgstr " -O, --owner=DUEÑO usuario que será dueño de la base de datos\n" -#: createdb.c:302 +#: createdb.c:313 #, c-format msgid " -S, --strategy=STRATEGY database creation strategy wal_log or file_copy\n" msgstr "" " -S, --strategy=ESTRATEGIA estrategia de creación de bases de datos\n" " wal_log o file_copy\n" -#: createdb.c:303 +#: createdb.c:314 #, c-format msgid " -T, --template=TEMPLATE template database to copy\n" msgstr " -T, --template=PATRÓN base de datos patrón a copiar\n" -#: createdb.c:304 reindexdb.c:765 +#: createdb.c:315 reindexdb.c:883 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version mostrar información de versión y salir\n" -#: createdb.c:305 reindexdb.c:766 +#: createdb.c:316 reindexdb.c:884 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help mostrar esta ayuda y salir\n" -#: createdb.c:307 reindexdb.c:768 +#: createdb.c:318 reindexdb.c:886 #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr " -h, --host=ANFITRIÓN nombre del servidor o directorio del socket\n" -#: createdb.c:308 reindexdb.c:769 +#: createdb.c:319 reindexdb.c:887 #, c-format msgid " -p, --port=PORT database server port\n" msgstr " -p, --port=PUERTO puerto del servidor\n" -#: createdb.c:309 reindexdb.c:770 +#: createdb.c:320 reindexdb.c:888 #, c-format msgid " -U, --username=USERNAME user name to connect as\n" msgstr " -U, --username=USUARIO nombre de usuario para la conexión\n" -#: createdb.c:310 reindexdb.c:771 +#: createdb.c:321 reindexdb.c:889 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password nunca pedir contraseña\n" -#: createdb.c:311 reindexdb.c:772 +#: createdb.c:322 reindexdb.c:890 #, c-format msgid " -W, --password force password prompt\n" msgstr " -W, --password forzar la petición de contraseña\n" -#: createdb.c:312 reindexdb.c:773 +#: createdb.c:323 reindexdb.c:891 #, c-format msgid " --maintenance-db=DBNAME alternate maintenance database\n" msgstr " --maintenance-db=BASE base de datos de mantención alternativa\n" -#: createdb.c:313 +#: createdb.c:324 #, c-format msgid "" "\n" @@ -872,94 +944,54 @@ msgstr "" msgid " -U, --username=USERNAME user name to connect as\n" msgstr " -U, --username=USUARIO nombre de usuario para la conexión\n" -#: reindexdb.c:209 -#, c-format -msgid "cannot reindex all databases and a specific one at the same time" -msgstr "no se puede reindexar todas las bases de datos y una de ellas en particular simultáneamente" - -#: reindexdb.c:211 -#, c-format -msgid "cannot reindex all databases and system catalogs at the same time" -msgstr "no se puede reindexar todas las bases de datos y los catálogos del sistema simultáneamente" - -#: reindexdb.c:213 -#, c-format -msgid "cannot reindex specific schema(s) in all databases" -msgstr "no es posible reindexar esquemas específicos en todas las bases de datos" - -#: reindexdb.c:215 -#, c-format -msgid "cannot reindex specific table(s) in all databases" -msgstr "no es posible reindexar tablas específicas en todas las bases de datos" - -#: reindexdb.c:217 -#, c-format -msgid "cannot reindex specific index(es) in all databases" -msgstr "no es posible reindexar índices específicos en todas las bases de datos" - -#: reindexdb.c:227 -#, c-format -msgid "cannot reindex specific schema(s) and system catalogs at the same time" -msgstr "no es posible reindexar esquemas específicos y los catálogos del sistema simultáneamente" - -#: reindexdb.c:229 -#, c-format -msgid "cannot reindex specific table(s) and system catalogs at the same time" -msgstr "no es posible reindexar tablas específicas y los catálogos del sistema simultáneamente" - -#: reindexdb.c:231 -#, c-format -msgid "cannot reindex specific index(es) and system catalogs at the same time" -msgstr "no es posible reindexar índices específicos y los catálogos del sistema simultáneamente" - -#: reindexdb.c:234 +#: reindexdb.c:210 #, c-format msgid "cannot use multiple jobs to reindex system catalogs" msgstr "no se puede usar múltiples procesos para reindexar índices de sistema" -#: reindexdb.c:260 +#: reindexdb.c:215 #, c-format -msgid "cannot use multiple jobs to reindex indexes" -msgstr "no se puede usar múltiples procesos para reindexar índices" +msgid "cannot reindex all databases and a specific one at the same time" +msgstr "no se puede reindexar todas las bases de datos y una de ellas en particular simultáneamente" -#: reindexdb.c:323 reindexdb.c:330 vacuumdb.c:525 vacuumdb.c:532 vacuumdb.c:539 -#: vacuumdb.c:546 vacuumdb.c:553 vacuumdb.c:560 vacuumdb.c:567 vacuumdb.c:572 -#: vacuumdb.c:576 vacuumdb.c:580 vacuumdb.c:584 +#: reindexdb.c:296 reindexdb.c:303 vacuumdb.c:515 vacuumdb.c:522 vacuumdb.c:529 +#: vacuumdb.c:536 vacuumdb.c:543 vacuumdb.c:550 vacuumdb.c:557 vacuumdb.c:562 +#: vacuumdb.c:566 vacuumdb.c:570 vacuumdb.c:574 #, c-format msgid "cannot use the \"%s\" option on server versions older than PostgreSQL %s" msgstr "no se puede usar la opción «%s» cuando con versiones más antiguas que PostgreSQL %s" -#: reindexdb.c:561 +#: reindexdb.c:584 #, c-format msgid "reindexing of database \"%s\" failed: %s" msgstr "falló la reindexación de la base de datos «%s»: %s" -#: reindexdb.c:565 +#: reindexdb.c:588 #, c-format msgid "reindexing of index \"%s\" in database \"%s\" failed: %s" msgstr "falló la reindexación del índice «%s» en la base de datos «%s»: %s" -#: reindexdb.c:569 +#: reindexdb.c:592 #, c-format msgid "reindexing of schema \"%s\" in database \"%s\" failed: %s" msgstr "falló la reindexación del esquema «%s» en la base de datos «%s»: %s" -#: reindexdb.c:573 +#: reindexdb.c:596 #, c-format msgid "reindexing of system catalogs in database \"%s\" failed: %s" msgstr "falló la reindexación de los catálogos de sistema en la base de datos «%s»: %s" -#: reindexdb.c:577 +#: reindexdb.c:600 #, c-format msgid "reindexing of table \"%s\" in database \"%s\" failed: %s" msgstr "falló la reindexación de la tabla «%s» en la base de datos «%s»: %s" -#: reindexdb.c:732 +#: reindexdb.c:824 #, c-format msgid "%s: reindexing database \"%s\"\n" msgstr "%s: reindexando la base de datos «%s»\n" -#: reindexdb.c:749 +#: reindexdb.c:867 #, c-format msgid "" "%s reindexes a PostgreSQL database.\n" @@ -968,62 +1000,62 @@ msgstr "" "%s reindexa una base de datos PostgreSQL.\n" "\n" -#: reindexdb.c:753 +#: reindexdb.c:871 #, c-format msgid " -a, --all reindex all databases\n" msgstr " -a, --all reindexar todas las bases de datos\n" -#: reindexdb.c:754 +#: reindexdb.c:872 #, c-format msgid " --concurrently reindex concurrently\n" msgstr " --concurrently reindexar en modo concurrente\n" -#: reindexdb.c:755 +#: reindexdb.c:873 #, c-format msgid " -d, --dbname=DBNAME database to reindex\n" msgstr " -d, --dbname=BASE-DATOS base de datos a reindexar\n" -#: reindexdb.c:757 +#: reindexdb.c:875 #, c-format msgid " -i, --index=INDEX recreate specific index(es) only\n" msgstr " -i, --index=ÍNDICE recrear sólo este o estos índice(s)\n" -#: reindexdb.c:758 +#: reindexdb.c:876 #, c-format msgid " -j, --jobs=NUM use this many concurrent connections to reindex\n" msgstr " -j, --jobs=NÚM usar esta cantidad de conexiones concurrentes\n" -#: reindexdb.c:759 +#: reindexdb.c:877 #, c-format msgid " -q, --quiet don't write any messages\n" msgstr " -q, --quiet no desplegar mensajes\n" -#: reindexdb.c:760 +#: reindexdb.c:878 #, c-format msgid " -s, --system reindex system catalogs only\n" msgstr " -s, --system sólo reindexar los catálogos del sistema\n" -#: reindexdb.c:761 +#: reindexdb.c:879 #, c-format msgid " -S, --schema=SCHEMA reindex specific schema(s) only\n" msgstr " -S, --schema=ESQUEMA reindexar sólo este o estos esquemas\n" -#: reindexdb.c:762 +#: reindexdb.c:880 #, c-format msgid " -t, --table=TABLE reindex specific table(s) only\n" msgstr " -t, --table=TABLA reindexar sólo esta(s) tabla(s)\n" -#: reindexdb.c:763 +#: reindexdb.c:881 #, c-format msgid " --tablespace=TABLESPACE tablespace where indexes are rebuilt\n" msgstr " --tablespace=TABLESPACE tablespace donde se reconstruirán los índices\n" -#: reindexdb.c:764 +#: reindexdb.c:882 #, c-format msgid " -v, --verbose write a lot of output\n" msgstr " -v, --verbose desplegar varios mensajes informativos\n" -#: reindexdb.c:774 +#: reindexdb.c:892 #, c-format msgid "" "\n" @@ -1032,95 +1064,80 @@ msgstr "" "\n" "Lea la descripción de la orden REINDEX de SQL para obtener mayores detalles.\n" -#: vacuumdb.c:312 vacuumdb.c:315 vacuumdb.c:318 vacuumdb.c:321 vacuumdb.c:324 -#: vacuumdb.c:327 vacuumdb.c:330 vacuumdb.c:333 vacuumdb.c:342 +#: vacuumdb.c:313 vacuumdb.c:316 vacuumdb.c:319 vacuumdb.c:322 vacuumdb.c:325 +#: vacuumdb.c:328 vacuumdb.c:331 vacuumdb.c:334 vacuumdb.c:343 #, c-format msgid "cannot use the \"%s\" option when performing only analyze" msgstr "no se puede usar la opción «%s» cuando se está sólo actualizando estadísticas" -#: vacuumdb.c:345 +#: vacuumdb.c:346 #, c-format msgid "cannot use the \"%s\" option when performing full vacuum" msgstr "no se puede usar la opción «%s» cuando se está ejecutando vacuum full" -#: vacuumdb.c:351 vacuumdb.c:359 +#: vacuumdb.c:352 vacuumdb.c:360 #, c-format msgid "cannot use the \"%s\" option with the \"%s\" option" msgstr "no se puede usar la opción «%s» junto con la opción «%s»" -#: vacuumdb.c:430 +#: vacuumdb.c:432 #, c-format msgid "cannot vacuum all databases and a specific one at the same time" msgstr "no se puede limpiar todas las bases de datos y una de ellas en particular simultáneamente" -#: vacuumdb.c:434 -#, c-format -msgid "cannot vacuum specific table(s) in all databases" -msgstr "no es posible limpiar tablas específicas en todas las bases de datos" - -#: vacuumdb.c:438 -#, c-format -msgid "cannot vacuum specific schema(s) in all databases" -msgstr "no es posible limpiar esquemas específicos en todas las bases de datos" - -#: vacuumdb.c:442 -#, c-format -msgid "cannot exclude specific schema(s) in all databases" -msgstr "no es posible excluir esquemas específicos en todas las bases de datos" - -#: vacuumdb.c:446 +#: vacuumdb.c:436 #, c-format msgid "cannot vacuum all tables in schema(s) and specific table(s) at the same time" msgstr "no se puede limpiar todas las tablas en esquema(s) y tabla(s) específicas simultáneamente" -#: vacuumdb.c:450 +#: vacuumdb.c:440 #, c-format msgid "cannot vacuum specific table(s) and exclude schema(s) at the same time" msgstr "no es posible limpiar tablas específicas y excluir esquema(s) simultáneamente" -#: vacuumdb.c:454 +#: vacuumdb.c:444 #, c-format msgid "cannot vacuum all tables in schema(s) and exclude schema(s) at the same time" msgstr "no se puede limpiar todas las tablas en esquema(s) y excluir esquema(s) simultáneamente" -#: vacuumdb.c:467 +#: vacuumdb.c:457 #, c-format msgid "out of memory" msgstr "memoria agotada" -#: vacuumdb.c:512 +#: vacuumdb.c:502 msgid "Generating minimal optimizer statistics (1 target)" msgstr "Generando estadísticas mínimas para el optimizador (tamaño = 1)" -#: vacuumdb.c:513 +#: vacuumdb.c:503 msgid "Generating medium optimizer statistics (10 targets)" msgstr "Generando estadísticas medias para el optimizador (tamaño = 10)" -#: vacuumdb.c:514 +#: vacuumdb.c:504 msgid "Generating default (full) optimizer statistics" msgstr "Generando estadísticas predeterminadas (completas) para el optimizador" -#: vacuumdb.c:593 +#: vacuumdb.c:583 #, c-format msgid "%s: processing database \"%s\": %s\n" msgstr "%s: procesando la base de datos «%s»: %s\n" -#: vacuumdb.c:596 +#: vacuumdb.c:586 #, c-format msgid "%s: vacuuming database \"%s\"\n" msgstr "%s: limpiando la base de datos «%s»\n" -#: vacuumdb.c:1144 +#: vacuumdb.c:1135 #, c-format msgid "vacuuming of table \"%s\" in database \"%s\" failed: %s" msgstr "falló la limpieza de la tabla «%s» en la base de datos «%s»: %s" -#: vacuumdb.c:1147 +#: vacuumdb.c:1138 #, c-format msgid "vacuuming of database \"%s\" failed: %s" msgstr "falló la limpieza de la base de datos «%s»: %s" -#: vacuumdb.c:1155 +#: vacuumdb.c:1146 #, c-format msgid "" "%s cleans and analyzes a PostgreSQL database.\n" @@ -1129,136 +1146,136 @@ msgstr "" "%s limpia (VACUUM) y analiza una base de datos PostgreSQL.\n" "\n" -#: vacuumdb.c:1159 +#: vacuumdb.c:1150 #, c-format msgid " -a, --all vacuum all databases\n" msgstr " -a, --all limpia todas las bases de datos\n" -#: vacuumdb.c:1160 +#: vacuumdb.c:1151 #, c-format msgid " --buffer-usage-limit=SIZE size of ring buffer used for vacuum\n" msgstr " --buffer-usage-limit=SZ tamaño de anillo de búfers a usar para vacuum\n" -#: vacuumdb.c:1161 +#: vacuumdb.c:1152 #, c-format msgid " -d, --dbname=DBNAME database to vacuum\n" msgstr " -d, --dbname=BASE base de datos a limpiar\n" -#: vacuumdb.c:1162 +#: vacuumdb.c:1153 #, c-format msgid " --disable-page-skipping disable all page-skipping behavior\n" msgstr " --disable-page-skipping desactiva todo comportamiento de saltar páginas\n" -#: vacuumdb.c:1163 +#: vacuumdb.c:1154 #, c-format msgid " -e, --echo show the commands being sent to the server\n" msgstr " -e, --echo mostrar las órdenes enviadas al servidor\n" -#: vacuumdb.c:1164 +#: vacuumdb.c:1155 #, c-format msgid " -f, --full do full vacuuming\n" msgstr " -f, --full usar «vacuum full»\n" -#: vacuumdb.c:1165 +#: vacuumdb.c:1156 #, c-format msgid " -F, --freeze freeze row transaction information\n" msgstr " -F, --freeze usar «vacuum freeze»\n" -#: vacuumdb.c:1166 +#: vacuumdb.c:1157 #, c-format msgid " --force-index-cleanup always remove index entries that point to dead tuples\n" msgstr " --force-index-cleanup siempre eliminar entradas de índice que apunten a tuplas muertas\n" -#: vacuumdb.c:1167 +#: vacuumdb.c:1158 #, c-format msgid " -j, --jobs=NUM use this many concurrent connections to vacuum\n" msgstr " -j, --jobs=NUM usar esta cantidad de conexiones concurrentes\n" -#: vacuumdb.c:1168 +#: vacuumdb.c:1159 #, c-format msgid " --min-mxid-age=MXID_AGE minimum multixact ID age of tables to vacuum\n" msgstr " --min-mxid-age=EDAD_MXID edad de multixact ID mínima de tablas a limpiar\n" -#: vacuumdb.c:1169 +#: vacuumdb.c:1160 #, c-format msgid " --min-xid-age=XID_AGE minimum transaction ID age of tables to vacuum\n" msgstr " --min-xid-age=EDAD_XID edad de ID de transacción mínima de tablas a limpiar\n" -#: vacuumdb.c:1170 +#: vacuumdb.c:1161 #, c-format msgid " --no-index-cleanup don't remove index entries that point to dead tuples\n" msgstr " --no-index-cleanup no eliminar entradas de índice que apunten a tuplas muertas\n" -#: vacuumdb.c:1171 +#: vacuumdb.c:1162 #, c-format msgid " --no-process-main skip the main relation\n" msgstr " --no-process-main omitir la relación principal\n" -#: vacuumdb.c:1172 +#: vacuumdb.c:1163 #, c-format msgid " --no-process-toast skip the TOAST table associated with the table to vacuum\n" msgstr " --no-process-toast omitir la tabla TOAST asociada con la tabla a la que se hará vacuum\n" -#: vacuumdb.c:1173 +#: vacuumdb.c:1164 #, c-format msgid " --no-truncate don't truncate empty pages at the end of the table\n" msgstr " --no-truncate no truncar las páginas vacías al final de la tabla\n" -#: vacuumdb.c:1174 +#: vacuumdb.c:1165 #, c-format msgid " -n, --schema=SCHEMA vacuum tables in the specified schema(s) only\n" msgstr " -n, --schema=ESQUEMA limpia sólo tablas en el/los esquemas especificados\n" -#: vacuumdb.c:1175 +#: vacuumdb.c:1166 #, c-format msgid " -N, --exclude-schema=SCHEMA do not vacuum tables in the specified schema(s)\n" msgstr " -N, --exclude-schema=ESQUEMA no limpia tablas en el/los esquemas especificados\n" -#: vacuumdb.c:1176 +#: vacuumdb.c:1167 #, c-format msgid " -P, --parallel=PARALLEL_WORKERS use this many background workers for vacuum, if available\n" msgstr " -P, --parallel=NPROCS usar esta cantidad de procesos para vacuum, si están disponibles\n" -#: vacuumdb.c:1177 +#: vacuumdb.c:1168 #, c-format msgid " -q, --quiet don't write any messages\n" msgstr " -q, --quiet no desplegar mensajes\n" -#: vacuumdb.c:1178 +#: vacuumdb.c:1169 #, c-format msgid " --skip-locked skip relations that cannot be immediately locked\n" msgstr " --skip-locked ignorar relaciones que no pueden bloquearse inmediatamente\n" -#: vacuumdb.c:1179 +#: vacuumdb.c:1170 #, c-format msgid " -t, --table='TABLE[(COLUMNS)]' vacuum specific table(s) only\n" msgstr "" " -t, --table='TABLA[(COLUMNAS)]'\n" " limpiar sólo esta(s) tabla(s)\n" -#: vacuumdb.c:1180 +#: vacuumdb.c:1171 #, c-format msgid " -v, --verbose write a lot of output\n" msgstr " -v, --verbose desplegar varios mensajes informativos\n" -#: vacuumdb.c:1181 +#: vacuumdb.c:1172 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version mostrar información de versión y salir\n" -#: vacuumdb.c:1182 +#: vacuumdb.c:1173 #, c-format msgid " -z, --analyze update optimizer statistics\n" msgstr " -z, --analyze actualizar las estadísticas del optimizador\n" -#: vacuumdb.c:1183 +#: vacuumdb.c:1174 #, c-format msgid " -Z, --analyze-only only update optimizer statistics; no vacuum\n" msgstr "" " -Z, --analyze-only sólo actualizar las estadísticas del optimizador;\n" " no hacer vacuum\n" -#: vacuumdb.c:1184 +#: vacuumdb.c:1175 #, c-format msgid "" " --analyze-in-stages only update optimizer statistics, in multiple\n" @@ -1268,12 +1285,12 @@ msgstr "" " en múltiples etapas para resultados más rápidos;\n" " no hacer vacuum\n" -#: vacuumdb.c:1186 +#: vacuumdb.c:1177 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help mostrar esta ayuda y salir\n" -#: vacuumdb.c:1194 +#: vacuumdb.c:1185 #, c-format msgid "" "\n" diff --git a/src/bin/scripts/po/fr.po b/src/bin/scripts/po/fr.po index f17e17606ea..1582cf94510 100644 --- a/src/bin/scripts/po/fr.po +++ b/src/bin/scripts/po/fr.po @@ -10,10 +10,10 @@ # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 16\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-10-29 17:19+0000\n" -"PO-Revision-Date: 2023-10-30 13:38+0100\n" +"POT-Creation-Date: 2024-08-23 14:21+0000\n" +"PO-Revision-Date: 2024-09-16 16:28+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -21,7 +21,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.4\n" +"X-Generator: Poedit 3.5\n" #: ../../../src/common/logging.c:276 #, c-format @@ -54,6 +54,48 @@ msgstr "mémoire épuisée\n" msgid "cannot duplicate null pointer (internal error)\n" msgstr "ne peut pas dupliquer un pointeur nul (erreur interne)\n" +#: ../../common/file_utils.c:70 ../../common/file_utils.c:347 +#: ../../common/file_utils.c:406 ../../common/file_utils.c:480 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "n'a pas pu ouvrir le fichier « %s » : %m" + +#: ../../common/file_utils.c:76 +#, c-format +msgid "could not synchronize file system for file \"%s\": %m" +msgstr "n'a pas pu synchroniser sur disque (fsync) le système de fichiers pour le fichier « %s » : %m" + +#: ../../common/file_utils.c:120 ../../common/file_utils.c:566 +#, c-format +msgid "could not stat file \"%s\": %m" +msgstr "n'a pas pu tester le fichier « %s » : %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 "cette construction ne supporte pas la méthode de synchronisation « %s »" + +#: ../../common/file_utils.c:151 ../../common/file_utils.c:281 +#, c-format +msgid "could not open directory \"%s\": %m" +msgstr "n'a pas pu ouvrir le répertoire « %s » : %m" + +#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "n'a pas pu lire le répertoire « %s » : %m" + +#: ../../common/file_utils.c:418 ../../common/file_utils.c:488 +#, c-format +msgid "could not fsync file \"%s\": %m" +msgstr "n'a pas pu synchroniser sur disque (fsync) le fichier « %s » : %m" + +#: ../../common/file_utils.c:498 +#, c-format +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "n'a pas pu renommer le fichier « %s » en « %s » : %m" + #: ../../common/username.c:43 #, c-format msgid "could not look up effective user ID %ld: %s" @@ -68,11 +110,11 @@ msgstr "l'utilisateur n'existe pas" msgid "user name lookup failure: error code %lu" msgstr "échec de la recherche du nom d'utilisateur : code d'erreur %lu" -#: ../../fe_utils/cancel.c:189 ../../fe_utils/cancel.c:238 +#: ../../fe_utils/cancel.c:186 ../../fe_utils/cancel.c:235 msgid "Cancel request sent\n" msgstr "Requête d'annulation envoyée\n" -#: ../../fe_utils/cancel.c:190 ../../fe_utils/cancel.c:239 +#: ../../fe_utils/cancel.c:187 ../../fe_utils/cancel.c:236 msgid "Could not send cancel request: " msgstr "N'a pas pu envoyer la requête d'annulation : " @@ -100,6 +142,11 @@ msgstr "valeur « %s » invalide pour l'option %s" msgid "%s must be in range %d..%d" msgstr "%s doit être compris entre %d et %d" +#: ../../fe_utils/option_utils.c:106 +#, c-format +msgid "unrecognized sync method: %s" +msgstr "méthode de synchronisation non reconnu : %s" + #: ../../fe_utils/parallel_slot.c:317 #, c-format msgid "too many jobs for this platform: %d" @@ -132,21 +179,26 @@ msgstr[1] "(%lu lignes)" msgid "Interrupted\n" msgstr "Interrompu\n" -#: ../../fe_utils/print.c:3218 +#: ../../fe_utils/print.c:3188 +#, c-format +msgid "Cannot print table contents: number of cells %lld is equal to or exceeds maximum %lld.\n" +msgstr "Ne peut pas afficher le contenu de la table : le nombre de cellules %lld est égal à ou dépasse le maximum %lld.\n" + +#: ../../fe_utils/print.c:3229 #, c-format msgid "Cannot add header to table content: column count of %d exceeded.\n" msgstr "" "Ne peut pas ajouter l'en-tête au contenu de la table : le nombre de colonnes\n" "%d est dépassé.\n" -#: ../../fe_utils/print.c:3258 +#: ../../fe_utils/print.c:3272 #, c-format -msgid "Cannot add cell to table content: total cell count of %d exceeded.\n" +msgid "Cannot add cell to table content: total cell count of %lld exceeded.\n" msgstr "" "Ne peut pas ajouter une cellule au contenu de la table : le nombre total des\n" -"cellules %d est dépassé.\n" +"cellules %lld est dépassé.\n" -#: ../../fe_utils/print.c:3516 +#: ../../fe_utils/print.c:3530 #, c-format msgid "invalid output format (internal error): %d" msgstr "format de sortie invalide (erreur interne) : %d" @@ -161,36 +213,41 @@ msgstr "échec de la requête : %s" msgid "Query was: %s" msgstr "La requête était : %s" -#: clusterdb.c:113 clusterdb.c:132 createdb.c:144 createdb.c:163 +#: ../../fe_utils/string_utils.c:434 +#, c-format +msgid "shell command argument contains a newline or carriage return: \"%s\"\n" +msgstr "l'argument de la commande shell contient un retour à la ligne ou un retour chariot : « %s »\n" + +#: ../../fe_utils/string_utils.c:607 +#, c-format +msgid "database name contains a newline or carriage return: \"%s\"\n" +msgstr "le nom de la base contient un retour à la ligne ou un retour chariot : « %s »\n" + +#: clusterdb.c:114 clusterdb.c:133 createdb.c:149 createdb.c:168 #: createuser.c:195 createuser.c:210 dropdb.c:104 dropdb.c:113 dropdb.c:121 #: dropuser.c:95 dropuser.c:110 dropuser.c:123 pg_isready.c:97 pg_isready.c:111 -#: reindexdb.c:174 reindexdb.c:193 vacuumdb.c:279 vacuumdb.c:299 +#: reindexdb.c:177 reindexdb.c:196 vacuumdb.c:280 vacuumdb.c:300 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Essayez « %s --help » pour plus d'informations." -#: clusterdb.c:130 createdb.c:161 createuser.c:208 dropdb.c:119 dropuser.c:108 -#: pg_isready.c:109 reindexdb.c:191 vacuumdb.c:297 +#: clusterdb.c:131 createdb.c:166 createuser.c:208 dropdb.c:119 dropuser.c:108 +#: pg_isready.c:109 reindexdb.c:194 vacuumdb.c:298 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "trop d'arguments en ligne de commande (le premier étant « %s »)" -#: clusterdb.c:148 +#: clusterdb.c:149 #, c-format msgid "cannot cluster all databases and a specific one at the same time" msgstr "ne peut pas réorganiser à la fois toutes les bases de données et une base spécifique via la commande CLUSTER" -#: clusterdb.c:151 -#, c-format -msgid "cannot cluster specific table(s) in all databases" -msgstr "ne peut pas réorganiser la(les) table(s) spécifique(s) dans toutes les bases de données" - -#: clusterdb.c:215 +#: clusterdb.c:214 #, c-format msgid "clustering of table \"%s\" in database \"%s\" failed: %s" msgstr "la réorganisation de la table « %s » de la base de données « %s » avec la commande CLUSTER a échoué : %s" -#: clusterdb.c:218 +#: clusterdb.c:217 #, c-format msgid "clustering of database \"%s\" failed: %s" msgstr "la réorganisation de la base de données « %s » via la commande CLUSTER a échoué : %s" @@ -200,7 +257,7 @@ msgstr "la réorganisation de la base de données « %s » via la commande CLUST msgid "%s: clustering database \"%s\"\n" msgstr "%s : réorganisation de la base de données « %s » via la commande CLUSTER\n" -#: clusterdb.c:264 +#: clusterdb.c:274 #, c-format msgid "" "%s clusters all previously clustered tables in a database.\n" @@ -210,19 +267,19 @@ msgstr "" "base de données via la commande CLUSTER.\n" "\n" -#: clusterdb.c:265 createdb.c:288 createuser.c:415 dropdb.c:172 dropuser.c:170 -#: pg_isready.c:226 reindexdb.c:750 vacuumdb.c:1156 +#: clusterdb.c:275 createdb.c:298 createuser.c:415 dropdb.c:172 dropuser.c:170 +#: pg_isready.c:226 reindexdb.c:868 vacuumdb.c:1147 #, c-format msgid "Usage:\n" msgstr "Usage :\n" -#: clusterdb.c:266 reindexdb.c:751 vacuumdb.c:1157 +#: clusterdb.c:276 reindexdb.c:869 vacuumdb.c:1148 #, c-format msgid " %s [OPTION]... [DBNAME]\n" msgstr " %s [OPTION]... [BASE]\n" -#: clusterdb.c:267 createdb.c:290 createuser.c:417 dropdb.c:174 dropuser.c:172 -#: pg_isready.c:229 reindexdb.c:752 vacuumdb.c:1158 +#: clusterdb.c:277 createdb.c:300 createuser.c:417 dropdb.c:174 dropuser.c:172 +#: pg_isready.c:229 reindexdb.c:870 vacuumdb.c:1149 #, c-format msgid "" "\n" @@ -231,48 +288,48 @@ msgstr "" "\n" "Options :\n" -#: clusterdb.c:268 +#: clusterdb.c:278 #, c-format msgid " -a, --all cluster all databases\n" msgstr " -a, --all réorganise toutes les bases de données\n" -#: clusterdb.c:269 +#: clusterdb.c:279 #, c-format msgid " -d, --dbname=DBNAME database to cluster\n" msgstr " -d, --dbname=BASE réorganise la base de données spécifiée\n" -#: clusterdb.c:270 createuser.c:423 dropdb.c:175 dropuser.c:173 +#: clusterdb.c:280 createuser.c:423 dropdb.c:175 dropuser.c:173 #, c-format msgid " -e, --echo show the commands being sent to the server\n" msgstr " -e, --echo affiche les commandes envoyées au serveur\n" -#: clusterdb.c:271 +#: clusterdb.c:281 #, c-format msgid " -q, --quiet don't write any messages\n" msgstr " -q, --quiet n'écrit aucun message\n" -#: clusterdb.c:272 +#: clusterdb.c:282 #, c-format msgid " -t, --table=TABLE cluster specific table(s) only\n" msgstr " -t, --table=TABLE réorganise uniquement la table spécifiée\n" -#: clusterdb.c:273 +#: clusterdb.c:283 #, c-format msgid " -v, --verbose write a lot of output\n" msgstr " -v, --verbose mode verbeux\n" -#: clusterdb.c:274 createuser.c:439 dropdb.c:178 dropuser.c:176 +#: clusterdb.c:284 createuser.c:439 dropdb.c:178 dropuser.c:176 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version affiche la version puis quitte\n" -#: clusterdb.c:275 createuser.c:447 dropdb.c:180 dropuser.c:178 +#: clusterdb.c:285 createuser.c:447 dropdb.c:180 dropuser.c:178 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help affiche cette aide puis quitte\n" -#: clusterdb.c:276 createdb.c:306 createuser.c:448 dropdb.c:181 dropuser.c:179 -#: pg_isready.c:235 reindexdb.c:767 vacuumdb.c:1187 +#: clusterdb.c:286 createdb.c:317 createuser.c:448 dropdb.c:181 dropuser.c:179 +#: pg_isready.c:235 reindexdb.c:885 vacuumdb.c:1178 #, c-format msgid "" "\n" @@ -281,39 +338,39 @@ msgstr "" "\n" "Options de connexion :\n" -#: clusterdb.c:277 createuser.c:449 dropdb.c:182 dropuser.c:180 vacuumdb.c:1188 +#: clusterdb.c:287 createuser.c:449 dropdb.c:182 dropuser.c:180 vacuumdb.c:1179 #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr "" " -h, --host=HÔTE hôte du serveur de bases de données ou\n" " répertoire des sockets\n" -#: clusterdb.c:278 createuser.c:450 dropdb.c:183 dropuser.c:181 vacuumdb.c:1189 +#: clusterdb.c:288 createuser.c:450 dropdb.c:183 dropuser.c:181 vacuumdb.c:1180 #, c-format msgid " -p, --port=PORT database server port\n" msgstr " -p, --port=PORT port du serveur de bases de données\n" -#: clusterdb.c:279 dropdb.c:184 vacuumdb.c:1190 +#: clusterdb.c:289 dropdb.c:184 vacuumdb.c:1181 #, c-format msgid " -U, --username=USERNAME user name to connect as\n" msgstr " -U, --username=UTILISATEUR nom d'utilisateur pour la connexion\n" -#: clusterdb.c:280 createuser.c:452 dropdb.c:185 dropuser.c:183 vacuumdb.c:1191 +#: clusterdb.c:290 createuser.c:452 dropdb.c:185 dropuser.c:183 vacuumdb.c:1182 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password empêche la demande d'un mot de passe\n" -#: clusterdb.c:281 createuser.c:453 dropdb.c:186 dropuser.c:184 vacuumdb.c:1192 +#: clusterdb.c:291 createuser.c:453 dropdb.c:186 dropuser.c:184 vacuumdb.c:1183 #, c-format msgid " -W, --password force password prompt\n" msgstr " -W, --password force la demande d'un mot de passe\n" -#: clusterdb.c:282 dropdb.c:187 vacuumdb.c:1193 +#: clusterdb.c:292 dropdb.c:187 vacuumdb.c:1184 #, c-format msgid " --maintenance-db=DBNAME alternate maintenance database\n" msgstr " --maintenance-db=BASE indique une autre base par défaut\n" -#: clusterdb.c:283 +#: clusterdb.c:293 #, c-format msgid "" "\n" @@ -322,8 +379,8 @@ msgstr "" "\n" "Lire la description de la commande SQL CLUSTER pour de plus amples détails.\n" -#: clusterdb.c:284 createdb.c:314 createuser.c:454 dropdb.c:188 dropuser.c:185 -#: pg_isready.c:240 reindexdb.c:775 vacuumdb.c:1195 +#: clusterdb.c:294 createdb.c:325 createuser.c:454 dropdb.c:188 dropuser.c:185 +#: pg_isready.c:240 reindexdb.c:893 vacuumdb.c:1186 #, c-format msgid "" "\n" @@ -332,8 +389,8 @@ msgstr "" "\n" "Rapporter les bogues à <%s>.\n" -#: clusterdb.c:285 createdb.c:315 createuser.c:455 dropdb.c:189 dropuser.c:186 -#: pg_isready.c:241 reindexdb.c:776 vacuumdb.c:1196 +#: clusterdb.c:295 createdb.c:326 createuser.c:455 dropdb.c:189 dropuser.c:186 +#: pg_isready.c:241 reindexdb.c:894 vacuumdb.c:1187 #, c-format msgid "%s home page: <%s>\n" msgstr "Page d'accueil de %s : <%s>\n" @@ -367,22 +424,22 @@ msgstr "%s (%s/%s) " msgid "Please answer \"%s\" or \"%s\".\n" msgstr "Merci de répondre « %s » ou « %s ».\n" -#: createdb.c:170 +#: createdb.c:175 #, c-format msgid "\"%s\" is not a valid encoding name" msgstr "« %s » n'est pas un nom d'encodage valide" -#: createdb.c:250 +#: createdb.c:260 #, c-format msgid "database creation failed: %s" msgstr "la création de la base de données a échoué : %s" -#: createdb.c:269 +#: createdb.c:279 #, c-format msgid "comment creation failed (database was created): %s" msgstr "l'ajout du commentaire a échoué (la base de données a été créée) : %s" -#: createdb.c:287 +#: createdb.c:297 #, c-format msgid "" "%s creates a PostgreSQL database.\n" @@ -391,120 +448,125 @@ msgstr "" "%s crée une base de données PostgreSQL.\n" "\n" -#: createdb.c:289 +#: createdb.c:299 #, c-format msgid " %s [OPTION]... [DBNAME] [DESCRIPTION]\n" msgstr " %s [OPTION]... [BASE] [DESCRIPTION]\n" -#: createdb.c:291 +#: createdb.c:301 #, c-format msgid " -D, --tablespace=TABLESPACE default tablespace for the database\n" msgstr " -D, --tablespace=TABLESPACE tablespace par défaut de la base de données\n" -#: createdb.c:292 reindexdb.c:756 +#: createdb.c:302 reindexdb.c:874 #, c-format msgid " -e, --echo show the commands being sent to the server\n" msgstr " -e, --echo affiche les commandes envoyées au serveur\n" -#: createdb.c:293 +#: createdb.c:303 #, c-format msgid " -E, --encoding=ENCODING encoding for the database\n" msgstr " -E, --encoding=ENCODAGE encodage de la base de données\n" -#: createdb.c:294 +#: createdb.c:304 #, c-format msgid " -l, --locale=LOCALE locale settings for the database\n" msgstr " -l, --locale=LOCALE paramètre de la locale pour la base de données\n" -#: createdb.c:295 +#: createdb.c:305 #, c-format msgid " --lc-collate=LOCALE LC_COLLATE setting for the database\n" msgstr " --lc-collate=LOCALE paramètre LC_COLLATE pour la base de données\n" -#: createdb.c:296 +#: createdb.c:306 #, c-format msgid " --lc-ctype=LOCALE LC_CTYPE setting for the database\n" msgstr " --lc-ctype=LOCALE paramètre LC_CTYPE pour la base de données\n" -#: createdb.c:297 +#: createdb.c:307 +#, c-format +msgid " --builtin-locale=LOCALE builtin locale setting for the database\n" +msgstr " --builtin-locale=LOCALE paramètre de la locale native pour la base de données\n" + +#: createdb.c:308 #, c-format msgid " --icu-locale=LOCALE ICU locale setting for the database\n" msgstr " --icu-locale=LOCALE paramètre de la locale ICU pour la base de données\n" -#: createdb.c:298 +#: createdb.c:309 #, c-format msgid " --icu-rules=RULES ICU rules setting for the database\n" -msgstr " --icu-rules=RÈGLES configuration des règles ICU pour la base de données\n" +msgstr " --icu-rules=RÈGLES configuration des règles ICU pour la base de données\n" -#: createdb.c:299 +#: createdb.c:310 #, c-format msgid "" -" --locale-provider={libc|icu}\n" +" --locale-provider={builtin|libc|icu}\n" " locale provider for the database's default collation\n" msgstr "" -" --locale-provider={libc|icu}\n" +" --locale-provider={builtin|libc|icu}\n" " fournisseur de locale pour la collation par défaut de la base de données\n" -#: createdb.c:301 +#: createdb.c:312 #, c-format msgid " -O, --owner=OWNER database user to own the new database\n" msgstr "" " -O, --owner=PROPRIÉTAIRE nom du propriétaire de la nouvelle base de\n" " données\n" -#: createdb.c:302 +#: createdb.c:313 #, c-format msgid " -S, --strategy=STRATEGY database creation strategy wal_log or file_copy\n" msgstr " -S, --strategy=STRATEGIE stratégie de création de base (wal_log ou file_copy)\n" -#: createdb.c:303 +#: createdb.c:314 #, c-format msgid " -T, --template=TEMPLATE template database to copy\n" msgstr " -T, --template=MODÈLE base de données modèle à copier\n" -#: createdb.c:304 reindexdb.c:765 +#: createdb.c:315 reindexdb.c:883 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version affiche la version puis quitte\n" -#: createdb.c:305 reindexdb.c:766 +#: createdb.c:316 reindexdb.c:884 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help affiche cette aide puis quitte\n" -#: createdb.c:307 reindexdb.c:768 +#: createdb.c:318 reindexdb.c:886 #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr "" " -h, --host=HÔTE hôte du serveur de bases de données\n" " ou répertoire des sockets\n" -#: createdb.c:308 reindexdb.c:769 +#: createdb.c:319 reindexdb.c:887 #, c-format msgid " -p, --port=PORT database server port\n" msgstr " -p, --port=PORT port du serveur de bases de données\n" -#: createdb.c:309 reindexdb.c:770 +#: createdb.c:320 reindexdb.c:888 #, c-format msgid " -U, --username=USERNAME user name to connect as\n" msgstr " -U, --username=UTILISATEUR nom d'utilisateur pour la connexion\n" -#: createdb.c:310 reindexdb.c:771 +#: createdb.c:321 reindexdb.c:889 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password empêche la demande d'un mot de passe\n" -#: createdb.c:311 reindexdb.c:772 +#: createdb.c:322 reindexdb.c:890 #, c-format msgid " -W, --password force password prompt\n" msgstr " -W, --password force la demande d'un mot de passe\n" -#: createdb.c:312 reindexdb.c:773 +#: createdb.c:323 reindexdb.c:891 #, c-format msgid " --maintenance-db=DBNAME alternate maintenance database\n" msgstr " --maintenance-db=BASE indique une autre base par défaut\n" -#: createdb.c:313 +#: createdb.c:324 #, c-format msgid "" "\n" @@ -571,7 +633,7 @@ msgstr " %s [OPTION]... [RÔLE]\n" msgid "" " -a, --with-admin=ROLE ROLE will be a member of new role with admin\n" " option\n" -msgstr " -a, --with-admin=ROLE ROLE sera un membre du nouveau rôle avec l'option admin\n" +msgstr " -a, --with-admin=ROLE ROLE sera un membre du nouveau rôle avec l'option admin\n" #: createuser.c:420 #, c-format @@ -595,12 +657,12 @@ msgstr "" #: createuser.c:424 #, c-format msgid " -g, --member-of=ROLE new role will be a member of ROLE\n" -msgstr " -g, --member-of=ROLE le nouveau rôle sera un membre de ROLE\n" +msgstr " -g, --member-of=ROLE le nouveau rôle sera un membre de ROLE\n" #: createuser.c:425 #, c-format msgid " --role=ROLE (same as --member-of, deprecated)\n" -msgstr " --role=ROLE (identique à --member-of, obsolète)\n" +msgstr " --role=ROLE (identique à --member-of, obsolète)\n" #: createuser.c:426 #, c-format @@ -629,7 +691,7 @@ msgstr " -L, --no-login le rôle ne peut pas se connecter\n" #: createuser.c:431 #, c-format msgid " -m, --with-member=ROLE ROLE will be a member of new role\n" -msgstr " -m, --with-member=ROLE ROLE sera un membre du nouveau rôle\n" +msgstr " -m, --with-member=ROLE ROLE sera un membre du nouveau rôle\n" #: createuser.c:432 #, c-format @@ -663,9 +725,7 @@ msgstr "" msgid "" " -v, --valid-until=TIMESTAMP\n" " password expiration date and time for role\n" -msgstr "" -" -v, --valid-until=TIMESTAMP\n" -" date et heure d'expiration du mot de passe pour le rôle\n" +msgstr " -v, --valid-until=TIMESTAMP date et heure d'expiration du mot de passe pour le rôle\n" #: createuser.c:440 #, c-format @@ -679,7 +739,7 @@ msgstr "" #: createuser.c:442 #, c-format msgid " --bypassrls role can bypass row-level security (RLS) policy\n" -msgstr " --bypassrls le rôle peut contourner la politique de sécurité niveau ligne (RLS)\n" +msgstr " --bypassrls le rôle peut contourner la politique de sécurité niveau ligne (RLS)\n" #: createuser.c:443 #, c-format @@ -687,8 +747,8 @@ msgid "" " --no-bypassrls role cannot bypass row-level security (RLS) policy\n" " (default)\n" msgstr "" -" --no-bypassrls le rôle ne peut pas contourner la politique de sécurité niveau ligne (RLS)\n" -" (par défaut)\n" +" --no-bypassrls le rôle ne peut pas contourner la politique de sécurité niveau ligne (RLS)\n" +" (par défaut)\n" #: createuser.c:445 #, c-format @@ -905,94 +965,54 @@ msgstr "" msgid " -U, --username=USERNAME user name to connect as\n" msgstr " -U, --username=UTILISATEUR nom d'utilisateur pour la connexion\n" -#: reindexdb.c:209 -#, c-format -msgid "cannot reindex all databases and a specific one at the same time" -msgstr "ne peut pas réindexer toutes les bases de données et une base spécifique en même temps" - -#: reindexdb.c:211 -#, c-format -msgid "cannot reindex all databases and system catalogs at the same time" -msgstr "ne peut pas réindexer toutes les bases de données et les catalogues système en même temps" - -#: reindexdb.c:213 -#, c-format -msgid "cannot reindex specific schema(s) in all databases" -msgstr "ne peut pas réindexer un (des) schéma(s) spécifique(s) dans toutes les bases de données" - -#: reindexdb.c:215 -#, c-format -msgid "cannot reindex specific table(s) in all databases" -msgstr "ne peut pas réindexer une (des) table(s) spécifique(s) dans toutes les bases de données" - -#: reindexdb.c:217 -#, c-format -msgid "cannot reindex specific index(es) in all databases" -msgstr "ne peut pas réindexer un (des) index spécifique(s) dans toutes les bases de données" - -#: reindexdb.c:227 -#, c-format -msgid "cannot reindex specific schema(s) and system catalogs at the same time" -msgstr "ne peut pas réindexer un (des) schéma(s) spécifique(s) et les catalogues système en même temps" - -#: reindexdb.c:229 -#, c-format -msgid "cannot reindex specific table(s) and system catalogs at the same time" -msgstr "ne peut pas réindexer une (des) table(s) spécifique(s) etles catalogues système en même temps" - -#: reindexdb.c:231 -#, c-format -msgid "cannot reindex specific index(es) and system catalogs at the same time" -msgstr "ne peut pas réindexer un (des) index spécifique(s) et les catalogues système en même temps" - -#: reindexdb.c:234 +#: reindexdb.c:210 #, c-format msgid "cannot use multiple jobs to reindex system catalogs" msgstr "ne peut pas utiliser plusieurs jobs pour réindexer les catalogues systèmes" -#: reindexdb.c:260 +#: reindexdb.c:215 #, c-format -msgid "cannot use multiple jobs to reindex indexes" -msgstr "ne peut pas utiliser plusieurs jobs pour réindexer les index" +msgid "cannot reindex all databases and a specific one at the same time" +msgstr "ne peut pas réindexer toutes les bases de données et une base spécifique en même temps" -#: reindexdb.c:323 reindexdb.c:330 vacuumdb.c:525 vacuumdb.c:532 vacuumdb.c:539 -#: vacuumdb.c:546 vacuumdb.c:553 vacuumdb.c:560 vacuumdb.c:567 vacuumdb.c:572 -#: vacuumdb.c:576 vacuumdb.c:580 vacuumdb.c:584 +#: reindexdb.c:296 reindexdb.c:303 vacuumdb.c:515 vacuumdb.c:522 vacuumdb.c:529 +#: vacuumdb.c:536 vacuumdb.c:543 vacuumdb.c:550 vacuumdb.c:557 vacuumdb.c:562 +#: vacuumdb.c:566 vacuumdb.c:570 vacuumdb.c:574 #, c-format msgid "cannot use the \"%s\" option on server versions older than PostgreSQL %s" msgstr "ne peut utiliser l'option « %s » sur des versions serveurs plus anciennes que PostgreSQL %s" -#: reindexdb.c:561 +#: reindexdb.c:584 #, c-format msgid "reindexing of database \"%s\" failed: %s" msgstr "la réindexation de la base de données « %s » a échoué : %s" -#: reindexdb.c:565 +#: reindexdb.c:588 #, c-format msgid "reindexing of index \"%s\" in database \"%s\" failed: %s" msgstr "la réindexation de l'index « %s » dans la base de données « %s » a échoué : %s" -#: reindexdb.c:569 +#: reindexdb.c:592 #, c-format msgid "reindexing of schema \"%s\" in database \"%s\" failed: %s" msgstr "la réindexation du schéma « %s » dans la base de données « %s » a échoué : %s" -#: reindexdb.c:573 +#: reindexdb.c:596 #, c-format msgid "reindexing of system catalogs in database \"%s\" failed: %s" msgstr "la réindexation des catalogues systèmes dans la base de données « %s » a échoué : %s" -#: reindexdb.c:577 +#: reindexdb.c:600 #, c-format msgid "reindexing of table \"%s\" in database \"%s\" failed: %s" msgstr "la réindexation de la table « %s » dans la base de données « %s » a échoué : %s" -#: reindexdb.c:732 +#: reindexdb.c:824 #, c-format msgid "%s: reindexing database \"%s\"\n" msgstr "%s : réindexation de la base de données « %s »\n" -#: reindexdb.c:749 +#: reindexdb.c:867 #, c-format msgid "" "%s reindexes a PostgreSQL database.\n" @@ -1001,66 +1021,66 @@ msgstr "" "%s réindexe une base de données PostgreSQL.\n" "\n" -#: reindexdb.c:753 +#: reindexdb.c:871 #, c-format msgid " -a, --all reindex all databases\n" msgstr " -a, --all réindexe toutes les bases de données\n" -#: reindexdb.c:754 +#: reindexdb.c:872 #, c-format msgid " --concurrently reindex concurrently\n" msgstr " --concurrently réindexation en concurrence\n" -#: reindexdb.c:755 +#: reindexdb.c:873 #, c-format msgid " -d, --dbname=DBNAME database to reindex\n" msgstr " -d, --dbname=BASE réindexe la base de données spécifiée\n" -#: reindexdb.c:757 +#: reindexdb.c:875 #, c-format msgid " -i, --index=INDEX recreate specific index(es) only\n" msgstr " -i, --index=INDEX réindexe uniquement l'index spécifié\n" -#: reindexdb.c:758 +#: reindexdb.c:876 #, c-format msgid " -j, --jobs=NUM use this many concurrent connections to reindex\n" msgstr "" " -j, --jobs=NOMBRE utilise ce nombre de connexions concurrentes\n" " pour l'opération de réindexation\n" -#: reindexdb.c:759 +#: reindexdb.c:877 #, c-format msgid " -q, --quiet don't write any messages\n" msgstr " -q, --quiet n'écrit aucun message\n" -#: reindexdb.c:760 +#: reindexdb.c:878 #, c-format msgid " -s, --system reindex system catalogs only\n" msgstr " -s, --system réindexe seulement les catalogues système\n" -#: reindexdb.c:761 +#: reindexdb.c:879 #, c-format msgid " -S, --schema=SCHEMA reindex specific schema(s) only\n" msgstr " -S, --schema=SCHÉMA réindexe uniquement le schéma spécifié\n" -#: reindexdb.c:762 +#: reindexdb.c:880 #, c-format msgid " -t, --table=TABLE reindex specific table(s) only\n" msgstr " -t, --table=TABLE réindexe uniquement la table spécifiée\n" -#: reindexdb.c:763 +#: reindexdb.c:881 #, c-format msgid " --tablespace=TABLESPACE tablespace where indexes are rebuilt\n" msgstr "" " --tablespace=TABLESPACE précise le tablespace où les index seront\n" " reconstruits\n" -#: reindexdb.c:764 +#: reindexdb.c:882 #, c-format msgid " -v, --verbose write a lot of output\n" msgstr " -v, --verbose mode verbeux\n" -#: reindexdb.c:774 +#: reindexdb.c:892 #, c-format msgid "" "\n" @@ -1069,95 +1089,80 @@ msgstr "" "\n" "Lire la description de la commande SQL REINDEX pour plus d'informations.\n" -#: vacuumdb.c:312 vacuumdb.c:315 vacuumdb.c:318 vacuumdb.c:321 vacuumdb.c:324 -#: vacuumdb.c:327 vacuumdb.c:330 vacuumdb.c:333 vacuumdb.c:342 +#: vacuumdb.c:313 vacuumdb.c:316 vacuumdb.c:319 vacuumdb.c:322 vacuumdb.c:325 +#: vacuumdb.c:328 vacuumdb.c:331 vacuumdb.c:334 vacuumdb.c:343 #, c-format msgid "cannot use the \"%s\" option when performing only analyze" msgstr "ne peut pas utiliser l'option « %s » lors de l'exécution d'un ANALYZE seul" -#: vacuumdb.c:345 +#: vacuumdb.c:346 #, c-format msgid "cannot use the \"%s\" option when performing full vacuum" msgstr "ne peut pas utiliser l'option « %s » lors de l'exécution d'un VACUUM FULL" -#: vacuumdb.c:351 vacuumdb.c:359 +#: vacuumdb.c:352 vacuumdb.c:360 #, c-format msgid "cannot use the \"%s\" option with the \"%s\" option" msgstr "ne peut pas utiliser l'option « %s » lors de l'option « %s »" -#: vacuumdb.c:430 +#: vacuumdb.c:432 #, c-format msgid "cannot vacuum all databases and a specific one at the same time" msgstr "ne peut pas exécuter VACUUM sur toutes les bases de données et sur une base spécifique en même temps" -#: vacuumdb.c:434 -#, c-format -msgid "cannot vacuum specific table(s) in all databases" -msgstr "ne peut pas exécuter VACUUM sur une(des) table(s) spécifique(s) dans toutes les bases de données" - -#: vacuumdb.c:438 -#, c-format -msgid "cannot vacuum specific schema(s) in all databases" -msgstr "ne peut pas exécuter VACUUM sur les schémas spécifiques dans toutes les bases de données" - -#: vacuumdb.c:442 -#, c-format -msgid "cannot exclude specific schema(s) in all databases" -msgstr "ne peut pas exclure des schémas dans toutes les bases de données" - -#: vacuumdb.c:446 +#: vacuumdb.c:436 #, c-format msgid "cannot vacuum all tables in schema(s) and specific table(s) at the same time" msgstr "ne peut pas exécuter VACUUM sur toutes les tables des schémas et sur des tables spécifiques en même temps" -#: vacuumdb.c:450 +#: vacuumdb.c:440 #, c-format msgid "cannot vacuum specific table(s) and exclude schema(s) at the same time" msgstr "ne peut pas exécuter VACUUM sur des tables spécifiques et exclure des schémas en même temps" -#: vacuumdb.c:454 +#: vacuumdb.c:444 #, c-format msgid "cannot vacuum all tables in schema(s) and exclude schema(s) at the same time" msgstr "ne peut pas exécuter VACUUM sur toutes les tables et exclure des schémas en même temps" -#: vacuumdb.c:467 +#: vacuumdb.c:457 #, c-format msgid "out of memory" msgstr "mémoire épuisée" -#: vacuumdb.c:512 +#: vacuumdb.c:502 msgid "Generating minimal optimizer statistics (1 target)" msgstr "Génération de statistiques minimales pour l'optimiseur (une cible)" -#: vacuumdb.c:513 +#: vacuumdb.c:503 msgid "Generating medium optimizer statistics (10 targets)" msgstr "Génération de statistiques moyennes pour l'optimiseur (dix cibles)" -#: vacuumdb.c:514 +#: vacuumdb.c:504 msgid "Generating default (full) optimizer statistics" msgstr "Génération de statistiques complètes pour l'optimiseur" -#: vacuumdb.c:593 +#: vacuumdb.c:583 #, c-format msgid "%s: processing database \"%s\": %s\n" msgstr "%s : traitement de la base de données « %s » %s\n" -#: vacuumdb.c:596 +#: vacuumdb.c:586 #, c-format msgid "%s: vacuuming database \"%s\"\n" msgstr "%s : exécution de VACUUM sur la base de données « %s »\n" -#: vacuumdb.c:1144 +#: vacuumdb.c:1135 #, c-format msgid "vacuuming of table \"%s\" in database \"%s\" failed: %s" msgstr "l'exécution de VACUUM sur la table « %s » dans la base de données « %s » a échoué : %s" -#: vacuumdb.c:1147 +#: vacuumdb.c:1138 #, c-format msgid "vacuuming of database \"%s\" failed: %s" msgstr "l'exécution de VACUUM sur la base de données « %s » a échoué : %s" -#: vacuumdb.c:1155 +#: vacuumdb.c:1146 #, c-format msgid "" "%s cleans and analyzes a PostgreSQL database.\n" @@ -1166,154 +1171,154 @@ msgstr "" "%s nettoie et analyse une base de données PostgreSQL.\n" "\n" -#: vacuumdb.c:1159 +#: vacuumdb.c:1150 #, c-format msgid " -a, --all vacuum all databases\n" msgstr " -a, --all exécute VACUUM sur toutes les bases de données\n" -#: vacuumdb.c:1160 +#: vacuumdb.c:1151 #, c-format msgid " --buffer-usage-limit=SIZE size of ring buffer used for vacuum\n" msgstr " --buffer-usage-limit=TAILLE taille du buffer spécialisé pour VACUUM\n" -#: vacuumdb.c:1161 +#: vacuumdb.c:1152 #, c-format msgid " -d, --dbname=DBNAME database to vacuum\n" msgstr " -d, --dbname=BASE exécute VACUUM sur cette base de données\n" -#: vacuumdb.c:1162 +#: vacuumdb.c:1153 #, c-format msgid " --disable-page-skipping disable all page-skipping behavior\n" msgstr " --disable-page-skipping désactive le comportement page-skipping\n" -#: vacuumdb.c:1163 +#: vacuumdb.c:1154 #, c-format msgid " -e, --echo show the commands being sent to the server\n" msgstr " -e, --echo affiche les commandes envoyées au serveur\n" -#: vacuumdb.c:1164 +#: vacuumdb.c:1155 #, c-format msgid " -f, --full do full vacuuming\n" msgstr " -f, --full exécute VACUUM en mode FULL\n" -#: vacuumdb.c:1165 +#: vacuumdb.c:1156 #, c-format msgid " -F, --freeze freeze row transaction information\n" msgstr "" " -F, --freeze gèle les informations de transactions des\n" " lignes\n" -#: vacuumdb.c:1166 +#: vacuumdb.c:1157 #, c-format msgid " --force-index-cleanup always remove index entries that point to dead tuples\n" msgstr "" " --force-index-cleanup supprime toujours les enregistrements dans\n" " l'index pointant vers des lignes mortes\n" -#: vacuumdb.c:1167 +#: vacuumdb.c:1158 #, c-format msgid " -j, --jobs=NUM use this many concurrent connections to vacuum\n" msgstr "" " -j, --jobs=NOMBRE utilise ce nombre de connexions concurrentes\n" " pour le VACUUM\n" -#: vacuumdb.c:1168 +#: vacuumdb.c:1159 #, c-format msgid " --min-mxid-age=MXID_AGE minimum multixact ID age of tables to vacuum\n" msgstr "" " --min-mxid-age=MXID_AGE âge minimum des identifiants de\n" " multitransactions pour les tables à nettoyer\n" -#: vacuumdb.c:1169 +#: vacuumdb.c:1160 #, c-format msgid " --min-xid-age=XID_AGE minimum transaction ID age of tables to vacuum\n" msgstr "" " --min-xid-age=XID_AGE âge minimum des identifiants de transactions\n" " pour les tables à nettoyer\n" -#: vacuumdb.c:1170 +#: vacuumdb.c:1161 #, c-format msgid " --no-index-cleanup don't remove index entries that point to dead tuples\n" msgstr "" " --no-index-cleanup ne supprime pas les enregistrements dans\n" " l'index pointant vers des lignes mortes\n" -#: vacuumdb.c:1171 +#: vacuumdb.c:1162 #, c-format msgid " --no-process-main skip the main relation\n" msgstr " --no-process-main ignore la relation principale\n" -#: vacuumdb.c:1172 +#: vacuumdb.c:1163 #, c-format msgid " --no-process-toast skip the TOAST table associated with the table to vacuum\n" msgstr "" " --no-process-toast ignore la table TOAST associée à la table à\n" " traiter\n" -#: vacuumdb.c:1173 +#: vacuumdb.c:1164 #, c-format msgid " --no-truncate don't truncate empty pages at the end of the table\n" msgstr "" " --no-truncate ne supprime pas les pages vides à la fin de\n" " la table\n" -#: vacuumdb.c:1174 +#: vacuumdb.c:1165 #, c-format msgid " -n, --schema=SCHEMA vacuum tables in the specified schema(s) only\n" msgstr " -n, --schema=MOTIF exécute VACUUM uniquement sur les tables des schémas indiqués\n" -#: vacuumdb.c:1175 +#: vacuumdb.c:1166 #, c-format msgid " -N, --exclude-schema=SCHEMA do not vacuum tables in the specified schema(s)\n" msgstr " -N, --exclude-schema=MOTIF n'exécute pas VACUUM sur les tables des schémas indiqués\n" -#: vacuumdb.c:1176 +#: vacuumdb.c:1167 #, c-format msgid " -P, --parallel=PARALLEL_WORKERS use this many background workers for vacuum, if available\n" msgstr "" " -P, --parallel=NOMBRE utilise ce nombre de processus en tâche de\n" " fond pour le VACUUM, si possible\n" -#: vacuumdb.c:1177 +#: vacuumdb.c:1168 #, c-format msgid " -q, --quiet don't write any messages\n" msgstr " -q, --quiet n'écrit aucun message\n" -#: vacuumdb.c:1178 +#: vacuumdb.c:1169 #, c-format msgid " --skip-locked skip relations that cannot be immediately locked\n" msgstr "" " --skip-locked ignore les relations qui ne peuvent pas être\n" " verrouillées immédiatement\n" -#: vacuumdb.c:1179 +#: vacuumdb.c:1170 #, c-format msgid " -t, --table='TABLE[(COLUMNS)]' vacuum specific table(s) only\n" msgstr " -t, --table='TABLE[(COLONNES)]' exécute VACUUM sur cette table\n" -#: vacuumdb.c:1180 +#: vacuumdb.c:1171 #, c-format msgid " -v, --verbose write a lot of output\n" msgstr " -v, --verbose mode verbeux\n" -#: vacuumdb.c:1181 +#: vacuumdb.c:1172 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version affiche la version puis quitte\n" -#: vacuumdb.c:1182 +#: vacuumdb.c:1173 #, c-format msgid " -z, --analyze update optimizer statistics\n" msgstr " -z, --analyze met à jour les statistiques de l'optimiseur\n" -#: vacuumdb.c:1183 +#: vacuumdb.c:1174 #, c-format msgid " -Z, --analyze-only only update optimizer statistics; no vacuum\n" msgstr "" " -Z, --analyze-only met seulement à jour les statistiques de\n" " l'optimiseur ; pas de VACUUM\n" -#: vacuumdb.c:1184 +#: vacuumdb.c:1175 #, c-format msgid "" " --analyze-in-stages only update optimizer statistics, in multiple\n" @@ -1323,12 +1328,12 @@ msgstr "" " l'optimiseur, en plusieurs étapes pour de\n" " meilleurs résultats ; pas de VACUUM\n" -#: vacuumdb.c:1186 +#: vacuumdb.c:1177 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help affiche cette aide puis quitte\n" -#: vacuumdb.c:1194 +#: vacuumdb.c:1185 #, c-format msgid "" "\n" @@ -1336,203 +1341,3 @@ msgid "" msgstr "" "\n" "Lire la description de la commande SQL VACUUM pour plus d'informations.\n" - -#~ msgid "" -#~ "\n" -#~ "If one of -d, -D, -r, -R, -s, -S, and ROLENAME is not specified, you will\n" -#~ "be prompted interactively.\n" -#~ msgstr "" -#~ "\n" -#~ "Si une des options -d, -D, -r, -R, -s, -S et RÔLE n'est pas précisée,\n" -#~ "elle sera demandée interactivement.\n" - -#~ msgid "" -#~ "\n" -#~ "Report bugs to .\n" -#~ msgstr "" -#~ "\n" -#~ "Rapporter les bogues à .\n" - -#~ msgid " %s [OPTION]... LANGNAME [DBNAME]\n" -#~ msgstr " %s [OPTION]... NOMLANGAGE [BASE]\n" - -#~ msgid " --help show this help, then exit\n" -#~ msgstr " --help affiche cette aide et quitte\n" - -#~ msgid " --help show this help, then exit\n" -#~ msgstr " --help affiche cette aide et quitte\n" - -#~ msgid " --help show this help, then exit\n" -#~ msgstr " --help affiche cette aide et quitte\n" - -#~ msgid " --version output version information, then exit\n" -#~ msgstr " --version affiche la version et quitte\n" - -#~ msgid " --version output version information, then exit\n" -#~ msgstr " --version affiche la version et quitte\n" - -#~ msgid " --version output version information, then exit\n" -#~ msgstr " --version affiche la version et quitte\n" - -#~ msgid " -E, --encrypted encrypt stored password\n" -#~ msgstr " -E, --encrypted chiffre le mot de passe stocké\n" - -#~ msgid " -N, --unencrypted do not encrypt stored password\n" -#~ msgstr " -N, --unencrypted ne chiffre pas le mot de passe stocké\n" - -#~ msgid " -d, --dbname=DBNAME database from which to remove the language\n" -#~ msgstr "" -#~ " -d, --dbname=BASE base de données à partir de laquelle\n" -#~ " supprimer le langage\n" - -#~ msgid " -d, --dbname=DBNAME database to install language in\n" -#~ msgstr " -d, --dbname=BASE base sur laquelle installer le langage\n" - -#~ msgid " -l, --list show a list of currently installed languages\n" -#~ msgstr "" -#~ " -l, --list affiche la liste des langages déjà\n" -#~ " installés\n" - -#~ msgid "" -#~ "%s installs a procedural language into a PostgreSQL database.\n" -#~ "\n" -#~ msgstr "" -#~ "%s installe un langage de procédures dans une base de données PostgreSQL.\n" -#~ "\n" - -#~ msgid "" -#~ "%s removes a procedural language from a database.\n" -#~ "\n" -#~ msgstr "" -#~ "%s supprime un langage procédural d'une base de données.\n" -#~ "\n" - -#~ msgid "%s: \"%s\" is not a valid encoding name\n" -#~ msgstr "%s : « %s » n'est pas un nom d'encodage valide\n" - -#~ msgid "%s: %s" -#~ msgstr "%s : %s" - -#~ msgid "%s: cannot use the \"freeze\" option when performing only analyze\n" -#~ msgstr "" -#~ "%s : ne peut utiliser l'option « freeze » lors de l'exécution d'un ANALYZE\n" -#~ "seul\n" - -#~ msgid "%s: could not get current user name: %s\n" -#~ msgstr "%s : n'a pas pu récupérer le nom de l'utilisateur actuel : %s\n" - -#~ msgid "%s: could not obtain information about current user: %s\n" -#~ msgstr "%s : n'a pas pu obtenir les informations concernant l'utilisateur actuel : %s\n" - -#~ msgid "%s: invalid socket: %s" -#~ msgstr "%s : socket invalide : %s" - -#~ msgid "%s: language \"%s\" is already installed in database \"%s\"\n" -#~ msgstr "%s : le langage « %s » est déjà installé sur la base de données « %s »\n" - -#~ msgid "%s: language \"%s\" is not installed in database \"%s\"\n" -#~ msgstr "%s : le langage « %s » n'est pas installé dans la base de données « %s »\n" - -#~ msgid "%s: language installation failed: %s" -#~ msgstr "%s : l'installation du langage a échoué : %s" - -#~ msgid "%s: language removal failed: %s" -#~ msgstr "%s : la suppression du langage a échoué : %s" - -#~ msgid "%s: missing required argument language name\n" -#~ msgstr "%s : argument nom du langage requis mais manquant\n" - -#~ msgid "%s: out of memory\n" -#~ msgstr "%s : mémoire épuisée\n" - -#~ msgid "%s: query failed: %s" -#~ msgstr "%s : échec de la requête : %s" - -#~ msgid "%s: query returned %d row instead of one: %s\n" -#~ msgid_plural "%s: query returned %d rows instead of one: %s\n" -#~ msgstr[0] "%s : la requête a renvoyé %d ligne au lieu d'une seule : %s\n" -#~ msgstr[1] "%s : la requête a renvoyé %d lignes au lieu d'une seule : %s\n" - -#~ msgid "%s: query was: %s\n" -#~ msgstr "%s : la requête était : %s\n" - -#~ msgid "%s: still %s functions declared in language \"%s\"; language not removed\n" -#~ msgstr "" -#~ "%s : il existe encore %s fonctions déclarées dans le langage « %s » ;\n" -#~ "langage non supprimé\n" - -#~ msgid "%s: too many command-line arguments (first is \"%s\")\n" -#~ msgstr "%s : trop d'arguments en ligne de commande (le premier étant « %s »)\n" - -#~ msgid "%s: too many parallel jobs requested (maximum: %d)\n" -#~ msgstr "%s : trop de jobs en parallèle demandés (maximum %d)\n" - -#~ msgid "Could not send cancel request: %s" -#~ msgstr "N'a pas pu envoyer la requête d'annulation : %s" - -#~ msgid "Name" -#~ msgstr "Nom" - -#~ msgid "Procedural Languages" -#~ msgstr "Langages procéduraux" - -#~ msgid "Trusted?" -#~ msgstr "De confiance (trusted) ?" - -#, c-format -#~ msgid "Try \"%s --help\" for more information.\n" -#~ msgstr "Essayer « %s --help » pour plus d'informations.\n" - -#, c-format -#~ msgid "cannot reindex system catalogs concurrently, skipping all" -#~ msgstr "ne peut pas réindexer les catalogues système de manière concurrente, ignore tout" - -#~ msgid "could not connect to database %s: %s" -#~ msgstr "n'a pas pu se connecter à la base de données %s : %s" - -#, c-format -#~ msgid "fatal: " -#~ msgstr "fatal : " - -#, c-format -#~ msgid "invalid value for --connection-limit: %s" -#~ msgstr "valeur invalide pour --connection-limit : %s" - -#, c-format -#~ msgid "minimum multixact ID age must be at least 1" -#~ msgstr "l'âge minimum de l'identifiant de multitransaction doit au moins être 1" - -#, c-format -#~ msgid "minimum transaction ID age must be at least 1" -#~ msgstr "l'identifiant de la transaction (-x) doit valoir au moins 1" - -#~ msgid "no" -#~ msgstr "non" - -#, c-format -#~ msgid "number of parallel jobs must be at least 1" -#~ msgstr "le nombre maximum de jobs en parallèle doit être au moins de 1" - -#, c-format -#~ msgid "only one of --locale and --lc-collate can be specified" -#~ msgstr "une seule des options --locale et --lc-collate peut être indiquée" - -#, c-format -#~ msgid "only one of --locale and --lc-ctype can be specified" -#~ msgstr "une seule des options --locale et --lc-ctype peut être indiquée" - -#~ msgid "parallel vacuum degree must be a non-negative integer" -#~ msgstr "le degré de parallélisation du VACUUM doit être un entier non négatif" - -#, c-format -#~ msgid "parallel workers for vacuum must be greater than or equal to zero" -#~ msgstr "le nombre de processus parallélisés pour l VACUUM doit être supérieur à zéro" - -#~ msgid "pg_strdup: cannot duplicate null pointer (internal error)\n" -#~ msgstr "pg_strdup : ne peut pas dupliquer un pointeur nul (erreur interne)\n" - -#~ msgid "reindexing of system catalogs failed: %s" -#~ msgstr "la réindexation des catalogues système a échoué : %s" - -#~ msgid "yes" -#~ msgstr "oui" diff --git a/src/bin/scripts/po/ka.po b/src/bin/scripts/po/ka.po index 5ac10ae0704..e3e01f6a9ce 100644 --- a/src/bin/scripts/po/ka.po +++ b/src/bin/scripts/po/ka.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: pgscripts (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2024-06-14 02:21+0000\n" -"PO-Revision-Date: 2024-06-14 06:16+0200\n" +"PO-Revision-Date: 2024-08-08 15:28+0200\n" "Last-Translator: Temuri Doghonadze \n" "Language-Team: Georgian \n" "Language: ka\n" @@ -341,7 +341,7 @@ msgstr " -p, --port=PORT მონაცემთა ბაზის #: clusterdb.c:289 dropdb.c:184 vacuumdb.c:1181 #, c-format msgid " -U, --username=USERNAME user name to connect as\n" -msgstr " -U, --username=მომხმარებელი ბაზის მომხმარებლის სახელი\n" +msgstr " -U, --username=მომხმარებ. ბაზის მომხმარებლის სახელი\n" #: clusterdb.c:290 createuser.c:452 dropdb.c:185 dropuser.c:183 vacuumdb.c:1182 #, c-format @@ -454,7 +454,7 @@ msgstr " -e, --echo-queries სერვერზე გაგზავ #: createdb.c:303 #, c-format msgid " -E, --encoding=ENCODING encoding for the database\n" -msgstr " \\encoding [კოდირება] კლიენტის კოდირების ჩვენება ან დაყენება\n" +msgstr " \\encoding [კოდირება] კლიენტის კოდირების ჩვენება ან დაყენება\n" #: createdb.c:304 #, c-format @@ -498,12 +498,12 @@ msgstr "" #: createdb.c:312 #, c-format msgid " -O, --owner=OWNER database user to own the new database\n" -msgstr " -O, --owner=მფლობელი ახალი ბაზის მფლობელი მომხმარებლის სახელი\n" +msgstr " -O, --owner=მფლობელი ახალი ბაზის მფლობელი მომხმარებლის სახელი\n" #: createdb.c:313 #, c-format msgid " -S, --strategy=STRATEGY database creation strategy wal_log or file_copy\n" -msgstr " -S, --strategy=სტრატეგია ბაზის შექმნის სტრატეგია: wal_log ან file_copy\n" +msgstr " -S, --strategy=სტრატეგია ბაზის შექმნის სტრატეგია: wal_log ან file_copy\n" #: createdb.c:314 #, c-format diff --git a/src/bin/scripts/po/ko.po b/src/bin/scripts/po/ko.po index 9df2d7b7022..dfa729eff93 100644 --- a/src/bin/scripts/po/ko.po +++ b/src/bin/scripts/po/ko.po @@ -6,7 +6,7 @@ msgstr "" "Project-Id-Version: pgscripts (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2023-09-07 05:51+0000\n" -"PO-Revision-Date: 2023-05-26 13:22+0900\n" +"PO-Revision-Date: 2024-06-26 09:50+0200\n" "Last-Translator: Ioseph Kim \n" "Language-Team: Korean \n" "Language: ko\n" @@ -583,7 +583,7 @@ msgstr " -g, --member-of=ROLE 만들어지는 롤이 이 ROLE의 구성원 #: createuser.c:425 #, c-format msgid " --role=ROLE (same as --member-of, deprecated)\n" -msgstr " --role=ROLE (--member-of와 같음, 옛날 옵션)\n" +msgstr " --role=ROLE (--member-of와 같음, 옛날 옵션)\n" #: createuser.c:426 #, c-format @@ -1012,8 +1012,7 @@ msgstr " -i, --index=INDEX 지정한 인덱스들만 다시 만듬\n msgid "" " -j, --jobs=NUM use this many concurrent connections to " "reindex\n" -msgstr "" -" -j, --jobs=NUM 재색인 작업을 여러개의 연결로 동시에 작업함\n" +msgstr " -j, --jobs=NUM 재색인 작업을 여러개의 연결로 동시에 작업함\n" #: reindexdb.c:759 #, c-format diff --git a/src/bin/scripts/po/pt_BR.po b/src/bin/scripts/po/pt_BR.po index 0eccd72b480..011367c29ca 100644 --- a/src/bin/scripts/po/pt_BR.po +++ b/src/bin/scripts/po/pt_BR.po @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: PostgreSQL 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2022-09-27 13:15-0300\n" -"PO-Revision-Date: 2023-08-17 16:32+0200\n" +"PO-Revision-Date: 2024-06-26 10:46+0200\n" "Last-Translator: Euler Taveira \n" "Language-Team: Brazilian Portuguese \n" "Language: pt_BR\n" @@ -245,12 +245,12 @@ msgstr " -v, --verbose mostra muitas mensagens\n" #: clusterdb.c:272 createuser.c:364 dropdb.c:178 dropuser.c:176 #, c-format msgid " -V, --version output version information, then exit\n" -msgstr " -V, --version mostra informação sobre a versão e termina\n" +msgstr " -V, --version mostra informação sobre a versão e termina\n" #: clusterdb.c:273 createuser.c:369 dropdb.c:180 dropuser.c:178 #, c-format msgid " -?, --help show this help, then exit\n" -msgstr " -?, --help mostra essa ajuda e termina\n" +msgstr " -?, --help mostra essa ajuda e termina\n" #: clusterdb.c:274 createdb.c:298 createuser.c:370 dropdb.c:181 dropuser.c:179 #: pg_isready.c:235 reindexdb.c:777 vacuumdb.c:991 diff --git a/src/bin/scripts/po/ru.po b/src/bin/scripts/po/ru.po index 5ae3272f511..d960f1a4421 100644 --- a/src/bin/scripts/po/ru.po +++ b/src/bin/scripts/po/ru.po @@ -3,13 +3,13 @@ # This file is distributed under the same license as the PostgreSQL package. # Serguei A. Mokhov, , 2003-2004. # Oleg Bartunov , 2004. -# Alexander Lakhin , 2012-2017, 2019, 2020, 2021, 2022, 2023. +# Alexander Lakhin , 2012-2017, 2019, 2020, 2021, 2022, 2023, 2024. msgid "" msgstr "" "Project-Id-Version: pgscripts (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-11-03 09:08+0300\n" -"PO-Revision-Date: 2023-11-03 10:36+0300\n" +"POT-Creation-Date: 2024-11-02 08:21+0300\n" +"PO-Revision-Date: 2024-09-05 08:25+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" @@ -50,6 +50,48 @@ msgstr "нехватка памяти\n" msgid "cannot duplicate null pointer (internal error)\n" msgstr "попытка дублирования нулевого указателя (внутренняя ошибка)\n" +#: ../../common/file_utils.c:70 ../../common/file_utils.c:347 +#: ../../common/file_utils.c:406 ../../common/file_utils.c:480 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "не удалось открыть файл \"%s\": %m" + +#: ../../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\": %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 +#, c-format +msgid "could not open directory \"%s\": %m" +msgstr "не удалось открыть каталог \"%s\": %m" + +#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "не удалось прочитать каталог \"%s\": %m" + +#: ../../common/file_utils.c:418 ../../common/file_utils.c:488 +#, c-format +msgid "could not fsync file \"%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/username.c:43 #, c-format msgid "could not look up effective user ID %ld: %s" @@ -64,11 +106,11 @@ msgstr "пользователь не существует" msgid "user name lookup failure: error code %lu" msgstr "распознать имя пользователя не удалось (код ошибки: %lu)" -#: ../../fe_utils/cancel.c:189 ../../fe_utils/cancel.c:238 +#: ../../fe_utils/cancel.c:186 ../../fe_utils/cancel.c:235 msgid "Cancel request sent\n" msgstr "Сигнал отмены отправлен\n" -#: ../../fe_utils/cancel.c:190 ../../fe_utils/cancel.c:239 +#: ../../fe_utils/cancel.c:187 ../../fe_utils/cancel.c:236 msgid "Could not send cancel request: " msgstr "Отправить сигнал отмены не удалось: " @@ -96,6 +138,11 @@ msgstr "неверное значение \"%s\" для параметра %s" 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" + #: ../../fe_utils/parallel_slot.c:317 #, c-format msgid "too many jobs for this platform: %d" @@ -129,19 +176,28 @@ msgstr[2] "(%lu строк)" msgid "Interrupted\n" msgstr "Прервано\n" -#: ../../fe_utils/print.c:3218 +#: ../../fe_utils/print.c:3188 +#, c-format +msgid "" +"Cannot print table contents: number of cells %lld is equal to or exceeds " +"maximum %lld.\n" +msgstr "" +"Вывести содержимое таблицы нельзя: число ячеек %lld достигло максимума " +"%lld.\n" + +#: ../../fe_utils/print.c:3229 #, c-format msgid "Cannot add header to table content: column count of %d exceeded.\n" msgstr "" "Ошибка добавления заголовка таблицы: превышен предел числа столбцов (%d).\n" -#: ../../fe_utils/print.c:3258 +#: ../../fe_utils/print.c:3272 #, c-format -msgid "Cannot add cell to table content: total cell count of %d exceeded.\n" +msgid "Cannot add cell to table content: total cell count of %lld exceeded.\n" msgstr "" -"Ошибка добавления ячейки в таблицу: превышен предел числа ячеек (%d).\n" +"Ошибка добавления ячейки в таблицу: превышен предел числа ячеек (%lld).\n" -#: ../../fe_utils/print.c:3516 +#: ../../fe_utils/print.c:3530 #, c-format msgid "invalid output format (internal error): %d" msgstr "неверный формат вывода (внутренняя ошибка): %d" @@ -156,36 +212,44 @@ msgstr "ошибка при выполнении запроса: %s" msgid "Query was: %s" msgstr "Выполнялся запрос: %s" -#: clusterdb.c:113 clusterdb.c:132 createdb.c:144 createdb.c:163 +#: ../../fe_utils/string_utils.c:434 +#, c-format +msgid "shell command argument contains a newline or carriage return: \"%s\"\n" +msgstr "" +"аргумент команды оболочки содержит символ новой строки или перевода каретки: " +"\"%s\"\n" + +#: ../../fe_utils/string_utils.c:607 +#, c-format +msgid "database name contains a newline or carriage return: \"%s\"\n" +msgstr "" +"имя базы данных содержит символ новой строки или перевода каретки: \"%s\"\n" + +#: clusterdb.c:114 clusterdb.c:133 createdb.c:149 createdb.c:168 #: createuser.c:195 createuser.c:210 dropdb.c:104 dropdb.c:113 dropdb.c:121 #: dropuser.c:95 dropuser.c:110 dropuser.c:123 pg_isready.c:97 pg_isready.c:111 -#: reindexdb.c:174 reindexdb.c:193 vacuumdb.c:279 vacuumdb.c:299 +#: reindexdb.c:177 reindexdb.c:196 vacuumdb.c:280 vacuumdb.c:300 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Для дополнительной информации попробуйте \"%s --help\"." -#: clusterdb.c:130 createdb.c:161 createuser.c:208 dropdb.c:119 dropuser.c:108 -#: pg_isready.c:109 reindexdb.c:191 vacuumdb.c:297 +#: clusterdb.c:131 createdb.c:166 createuser.c:208 dropdb.c:119 dropuser.c:108 +#: pg_isready.c:109 reindexdb.c:194 vacuumdb.c:298 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "слишком много аргументов командной строки (первый: \"%s\")" -#: clusterdb.c:148 +#: clusterdb.c:149 #, c-format msgid "cannot cluster all databases and a specific one at the same time" msgstr "нельзя кластеризовать все базы и одну конкретную одновременно" -#: clusterdb.c:151 -#, c-format -msgid "cannot cluster specific table(s) in all databases" -msgstr "нельзя кластеризовать указанную таблицу(ы) во всех базах" - -#: clusterdb.c:215 +#: clusterdb.c:214 #, c-format msgid "clustering of table \"%s\" in database \"%s\" failed: %s" msgstr "кластеризовать таблицу \"%s\" в базе \"%s\" не удалось: %s" -#: clusterdb.c:218 +#: clusterdb.c:217 #, c-format msgid "clustering of database \"%s\" failed: %s" msgstr "кластеризовать базу \"%s\" не удалось: %s" @@ -195,7 +259,7 @@ msgstr "кластеризовать базу \"%s\" не удалось: %s" msgid "%s: clustering database \"%s\"\n" msgstr "%s: кластеризация базы \"%s\"\n" -#: clusterdb.c:264 +#: clusterdb.c:274 #, c-format msgid "" "%s clusters all previously clustered tables in a database.\n" @@ -204,19 +268,19 @@ msgstr "" "%s упорядочивает данные всех кластеризованных таблиц в базе данных.\n" "\n" -#: clusterdb.c:265 createdb.c:288 createuser.c:415 dropdb.c:172 dropuser.c:170 -#: pg_isready.c:226 reindexdb.c:750 vacuumdb.c:1156 +#: clusterdb.c:275 createdb.c:298 createuser.c:415 dropdb.c:172 dropuser.c:170 +#: pg_isready.c:226 reindexdb.c:872 vacuumdb.c:1158 #, c-format msgid "Usage:\n" msgstr "Использование:\n" -#: clusterdb.c:266 reindexdb.c:751 vacuumdb.c:1157 +#: clusterdb.c:276 reindexdb.c:873 vacuumdb.c:1159 #, c-format msgid " %s [OPTION]... [DBNAME]\n" msgstr " %s [ПАРАМЕТР]... [ИМЯ_БД]\n" -#: clusterdb.c:267 createdb.c:290 createuser.c:417 dropdb.c:174 dropuser.c:172 -#: pg_isready.c:229 reindexdb.c:752 vacuumdb.c:1158 +#: clusterdb.c:277 createdb.c:300 createuser.c:417 dropdb.c:174 dropuser.c:172 +#: pg_isready.c:229 reindexdb.c:874 vacuumdb.c:1160 #, c-format msgid "" "\n" @@ -225,50 +289,50 @@ msgstr "" "\n" "Параметры:\n" -#: clusterdb.c:268 +#: clusterdb.c:278 #, c-format msgid " -a, --all cluster all databases\n" msgstr " -a, --all кластеризовать все базы\n" -#: clusterdb.c:269 +#: clusterdb.c:279 #, c-format msgid " -d, --dbname=DBNAME database to cluster\n" msgstr " -d, --dbname=ИМЯ_БД имя базы данных для кластеризации\n" -#: clusterdb.c:270 createuser.c:423 dropdb.c:175 dropuser.c:173 +#: clusterdb.c:280 createuser.c:423 dropdb.c:175 dropuser.c:173 #, c-format msgid "" " -e, --echo show the commands being sent to the server\n" msgstr " -e, --echo отображать команды, отправляемые серверу\n" -#: clusterdb.c:271 +#: clusterdb.c:281 #, c-format msgid " -q, --quiet don't write any messages\n" msgstr " -q, --quiet не выводить никакие сообщения\n" -#: clusterdb.c:272 +#: clusterdb.c:282 #, c-format msgid " -t, --table=TABLE cluster specific table(s) only\n" msgstr "" " -t, --table=ТАБЛИЦА кластеризовать только указанную таблицу(ы)\n" -#: clusterdb.c:273 +#: clusterdb.c:283 #, c-format msgid " -v, --verbose write a lot of output\n" msgstr " -v, --verbose выводить исчерпывающие сообщения\n" -#: clusterdb.c:274 createuser.c:439 dropdb.c:178 dropuser.c:176 +#: clusterdb.c:284 createuser.c:439 dropdb.c:178 dropuser.c:176 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version показать версию и выйти\n" -#: clusterdb.c:275 createuser.c:447 dropdb.c:180 dropuser.c:178 +#: clusterdb.c:285 createuser.c:447 dropdb.c:180 dropuser.c:178 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help показать эту справку и выйти\n" -#: clusterdb.c:276 createdb.c:306 createuser.c:448 dropdb.c:181 dropuser.c:179 -#: pg_isready.c:235 reindexdb.c:767 vacuumdb.c:1187 +#: clusterdb.c:286 createdb.c:317 createuser.c:448 dropdb.c:181 dropuser.c:179 +#: pg_isready.c:235 reindexdb.c:889 vacuumdb.c:1189 #, c-format msgid "" "\n" @@ -277,39 +341,40 @@ msgstr "" "\n" "Параметры подключения:\n" -#: clusterdb.c:277 createuser.c:449 dropdb.c:182 dropuser.c:180 vacuumdb.c:1188 +#: clusterdb.c:287 createuser.c:449 dropdb.c:182 dropuser.c:180 vacuumdb.c:1190 #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr "" -" -h, --host=ИМЯ имя сервера баз данных или каталог сокетов\n" +" -h, --host=ИМЯ компьютер с сервером баз данных или каталог " +"сокетов\n" -#: clusterdb.c:278 createuser.c:450 dropdb.c:183 dropuser.c:181 vacuumdb.c:1189 +#: clusterdb.c:288 createuser.c:450 dropdb.c:183 dropuser.c:181 vacuumdb.c:1191 #, c-format msgid " -p, --port=PORT database server port\n" msgstr " -p, --port=ПОРТ порт сервера баз данных\n" -#: clusterdb.c:279 dropdb.c:184 vacuumdb.c:1190 +#: clusterdb.c:289 dropdb.c:184 vacuumdb.c:1192 #, c-format msgid " -U, --username=USERNAME user name to connect as\n" msgstr "" " -U, --username=ИМЯ имя пользователя для подключения к серверу\n" -#: clusterdb.c:280 createuser.c:452 dropdb.c:185 dropuser.c:183 vacuumdb.c:1191 +#: clusterdb.c:290 createuser.c:452 dropdb.c:185 dropuser.c:183 vacuumdb.c:1193 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password не запрашивать пароль\n" -#: clusterdb.c:281 createuser.c:453 dropdb.c:186 dropuser.c:184 vacuumdb.c:1192 +#: clusterdb.c:291 createuser.c:453 dropdb.c:186 dropuser.c:184 vacuumdb.c:1194 #, c-format msgid " -W, --password force password prompt\n" msgstr " -W, --password запросить пароль\n" -#: clusterdb.c:282 dropdb.c:187 vacuumdb.c:1193 +#: clusterdb.c:292 dropdb.c:187 vacuumdb.c:1195 #, c-format msgid " --maintenance-db=DBNAME alternate maintenance database\n" msgstr " --maintenance-db=ИМЯ_БД сменить опорную базу данных\n" -#: clusterdb.c:283 +#: clusterdb.c:293 #, c-format msgid "" "\n" @@ -318,8 +383,8 @@ msgstr "" "\n" "Подробнее о кластеризации вы можете узнать в описании SQL-команды CLUSTER.\n" -#: clusterdb.c:284 createdb.c:314 createuser.c:454 dropdb.c:188 dropuser.c:185 -#: pg_isready.c:240 reindexdb.c:775 vacuumdb.c:1195 +#: clusterdb.c:294 createdb.c:325 createuser.c:454 dropdb.c:188 dropuser.c:185 +#: pg_isready.c:240 reindexdb.c:897 vacuumdb.c:1197 #, c-format msgid "" "\n" @@ -328,8 +393,8 @@ msgstr "" "\n" "Об ошибках сообщайте по адресу <%s>.\n" -#: clusterdb.c:285 createdb.c:315 createuser.c:455 dropdb.c:189 dropuser.c:186 -#: pg_isready.c:241 reindexdb.c:776 vacuumdb.c:1196 +#: clusterdb.c:295 createdb.c:326 createuser.c:455 dropdb.c:189 dropuser.c:186 +#: pg_isready.c:241 reindexdb.c:898 vacuumdb.c:1198 #, c-format msgid "%s home page: <%s>\n" msgstr "Домашняя страница %s: <%s>\n" @@ -364,22 +429,22 @@ msgstr "%s (%s - да/%s - нет) " msgid "Please answer \"%s\" or \"%s\".\n" msgstr "Пожалуйста, введите \"%s\" или \"%s\".\n" -#: createdb.c:170 +#: createdb.c:175 #, c-format msgid "\"%s\" is not a valid encoding name" msgstr "\"%s\" не является верным названием кодировки" -#: createdb.c:250 +#: createdb.c:260 #, c-format msgid "database creation failed: %s" msgstr "создать базу данных не удалось: %s" -#: createdb.c:269 +#: createdb.c:279 #, c-format msgid "comment creation failed (database was created): %s" msgstr "создать комментарий не удалось (база данных была создана): %s" -#: createdb.c:287 +#: createdb.c:297 #, c-format msgid "" "%s creates a PostgreSQL database.\n" @@ -388,76 +453,82 @@ msgstr "" "%s создаёт базу данных PostgreSQL.\n" "\n" -#: createdb.c:289 +#: createdb.c:299 #, c-format msgid " %s [OPTION]... [DBNAME] [DESCRIPTION]\n" msgstr " %s [ПАРАМЕТР]... [ИМЯ_БД] [ОПИСАНИЕ]\n" # well-spelled: ПРОСТР -#: createdb.c:291 +#: createdb.c:301 #, c-format msgid " -D, --tablespace=TABLESPACE default tablespace for the database\n" msgstr "" " -D, --tablespace=ТАБЛ_ПРОСТР табличное пространство по умолчанию для базы " "данных\n" -#: createdb.c:292 reindexdb.c:756 +#: createdb.c:302 reindexdb.c:878 #, c-format msgid "" " -e, --echo show the commands being sent to the server\n" msgstr "" " -e, --echo отображать команды, отправляемые серверу\n" -#: createdb.c:293 +#: createdb.c:303 #, c-format msgid " -E, --encoding=ENCODING encoding for the database\n" msgstr " -E, --encoding=КОДИРОВКА кодировка базы данных\n" -#: createdb.c:294 +#: createdb.c:304 #, c-format msgid " -l, --locale=LOCALE locale settings for the database\n" msgstr " -l, --locale=ЛОКАЛЬ локаль для базы данных\n" -#: createdb.c:295 +#: createdb.c:305 #, c-format msgid " --lc-collate=LOCALE LC_COLLATE setting for the database\n" msgstr " --lc-collate=ЛОКАЛЬ параметр LC_COLLATE для базы данных\n" -#: createdb.c:296 +#: createdb.c:306 #, c-format msgid " --lc-ctype=LOCALE LC_CTYPE setting for the database\n" msgstr " --lc-ctype=ЛОКАЛЬ параметр LC_CTYPE для базы данных\n" -#: createdb.c:297 +#: createdb.c:307 +#, c-format +msgid "" +" --builtin-locale=LOCALE builtin locale setting for the database\n" +msgstr " --builtin-locale=ЛОКАЛЬ имя встроенной локали для базы данных\n" + +#: createdb.c:308 #, c-format msgid " --icu-locale=LOCALE ICU locale setting for the database\n" msgstr " --icu-locale=ЛОКАЛЬ локаль ICU для базы данных\n" -#: createdb.c:298 +#: createdb.c:309 #, c-format msgid " --icu-rules=RULES ICU rules setting for the database\n" msgstr "" " --icu-rules=ПРАВИЛА настройка правил сортировки ICU для базы " "данных\n" -#: createdb.c:299 +#: createdb.c:310 #, c-format msgid "" -" --locale-provider={libc|icu}\n" +" --locale-provider={builtin|libc|icu}\n" " locale provider for the database's default " "collation\n" msgstr "" -" --locale-provider={libc|icu}\n" +" --locale-provider={builtin|libc|icu}\n" " провайдер локали для основного правила " "сортировки БД\n" -#: createdb.c:301 +#: createdb.c:312 #, c-format msgid " -O, --owner=OWNER database user to own the new database\n" msgstr "" " -O, --owner=ВЛАДЕЛЕЦ пользователь-владелец новой базы данных\n" -#: createdb.c:302 +#: createdb.c:313 #, c-format msgid "" " -S, --strategy=STRATEGY database creation strategy wal_log or " @@ -466,55 +537,56 @@ msgstr "" " -S, --strategy=STRATEGY стратегия создания базы данных: wal_log или " "file_copy\n" -#: createdb.c:303 +#: createdb.c:314 #, c-format msgid " -T, --template=TEMPLATE template database to copy\n" msgstr " -T, --template=ШАБЛОН исходная база данных для копирования\n" -#: createdb.c:304 reindexdb.c:765 +#: createdb.c:315 reindexdb.c:887 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version показать версию и выйти\n" -#: createdb.c:305 reindexdb.c:766 +#: createdb.c:316 reindexdb.c:888 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help показать эту справку и выйти\n" -#: createdb.c:307 reindexdb.c:768 +#: createdb.c:318 reindexdb.c:890 #, c-format msgid "" " -h, --host=HOSTNAME database server host or socket directory\n" msgstr "" -" -h, --host=ИМЯ имя сервера баз данных или каталог сокетов\n" +" -h, --host=ИМЯ компьютер с сервером баз данных или каталог " +"сокетов\n" -#: createdb.c:308 reindexdb.c:769 +#: createdb.c:319 reindexdb.c:891 #, c-format msgid " -p, --port=PORT database server port\n" msgstr " -p, --port=ПОРТ порт сервера баз данных\n" -#: createdb.c:309 reindexdb.c:770 +#: createdb.c:320 reindexdb.c:892 #, c-format msgid " -U, --username=USERNAME user name to connect as\n" msgstr "" " -U, --username=ИМЯ имя пользователя для подключения к серверу\n" -#: createdb.c:310 reindexdb.c:771 +#: createdb.c:321 reindexdb.c:893 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password не запрашивать пароль\n" -#: createdb.c:311 reindexdb.c:772 +#: createdb.c:322 reindexdb.c:894 #, c-format msgid " -W, --password force password prompt\n" msgstr " -W, --password запросить пароль\n" -#: createdb.c:312 reindexdb.c:773 +#: createdb.c:323 reindexdb.c:895 #, c-format msgid " --maintenance-db=DBNAME alternate maintenance database\n" msgstr " --maintenance-db=ИМЯ_БД сменить опорную базу данных\n" -#: createdb.c:313 +#: createdb.c:324 #, c-format msgid "" "\n" @@ -907,7 +979,8 @@ msgstr " -?, --help показать эту справку и в #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr "" -" -h, --host=ИМЯ имя сервера баз данных или каталог сокетов\n" +" -h, --host=ИМЯ компьютер с сервером баз данных или каталог " +"сокетов\n" #: pg_isready.c:237 #, c-format @@ -929,105 +1002,59 @@ msgid " -U, --username=USERNAME user name to connect as\n" msgstr "" " -U, --username=ИМЯ имя пользователя для подключения к серверу\n" -#: reindexdb.c:209 -#, c-format -msgid "cannot reindex all databases and a specific one at the same time" -msgstr "" -"нельзя переиндексировать все базы данных и одну конкретную одновременно" - -#: reindexdb.c:211 -#, c-format -msgid "cannot reindex all databases and system catalogs at the same time" -msgstr "" -"нельзя переиндексировать все базы данных и системные каталоги одновременно" - -#: reindexdb.c:213 -#, c-format -msgid "cannot reindex specific schema(s) in all databases" -msgstr "нельзя переиндексировать указанную схему(ы) во всех базах" - -#: reindexdb.c:215 -#, c-format -msgid "cannot reindex specific table(s) in all databases" -msgstr "нельзя переиндексировать указанную таблицу(ы) во всех базах" - -#: reindexdb.c:217 -#, c-format -msgid "cannot reindex specific index(es) in all databases" -msgstr "нельзя переиндексировать указанный индекс(ы) во всех базах" - -#: reindexdb.c:227 -#, c-format -msgid "cannot reindex specific schema(s) and system catalogs at the same time" -msgstr "" -"нельзя переиндексировать указанную схему(ы) и системные каталоги одновременно" - -#: reindexdb.c:229 -#, c-format -msgid "cannot reindex specific table(s) and system catalogs at the same time" -msgstr "" -"нельзя переиндексировать указанную таблицу(ы) и системные каталоги " -"одновременно" - -#: reindexdb.c:231 -#, c-format -msgid "cannot reindex specific index(es) and system catalogs at the same time" -msgstr "" -"нельзя переиндексировать указанный индекс(ы) и системные каталоги " -"одновременно" - -#: reindexdb.c:234 +#: reindexdb.c:210 #, c-format msgid "cannot use multiple jobs to reindex system catalogs" msgstr "" "нельзя задействовать несколько заданий для переиндексирования системных " "каталогов" -#: reindexdb.c:260 +#: reindexdb.c:215 #, c-format -msgid "cannot use multiple jobs to reindex indexes" -msgstr "нельзя задействовать несколько заданий для перестроения индексов" +msgid "cannot reindex all databases and a specific one at the same time" +msgstr "" +"нельзя переиндексировать все базы данных и одну конкретную одновременно" -#: reindexdb.c:323 reindexdb.c:330 vacuumdb.c:525 vacuumdb.c:532 vacuumdb.c:539 -#: vacuumdb.c:546 vacuumdb.c:553 vacuumdb.c:560 vacuumdb.c:567 vacuumdb.c:572 -#: vacuumdb.c:576 vacuumdb.c:580 vacuumdb.c:584 +#: reindexdb.c:296 reindexdb.c:303 vacuumdb.c:514 vacuumdb.c:521 vacuumdb.c:528 +#: vacuumdb.c:535 vacuumdb.c:542 vacuumdb.c:549 vacuumdb.c:556 vacuumdb.c:561 +#: vacuumdb.c:565 vacuumdb.c:569 vacuumdb.c:573 #, c-format msgid "" "cannot use the \"%s\" option on server versions older than PostgreSQL %s" msgstr "" "параметр \"%s\" нельзя использовать с серверами PostgreSQL версии старее %s" -#: reindexdb.c:561 +#: reindexdb.c:584 #, c-format msgid "reindexing of database \"%s\" failed: %s" msgstr "переиндексировать базу данных \"%s\" не удалось: %s" -#: reindexdb.c:565 +#: reindexdb.c:588 #, c-format msgid "reindexing of index \"%s\" in database \"%s\" failed: %s" msgstr "перестроить индекс \"%s\" в базе \"%s\" не удалось: %s" -#: reindexdb.c:569 +#: reindexdb.c:592 #, c-format msgid "reindexing of schema \"%s\" in database \"%s\" failed: %s" msgstr "переиндексировать схему \"%s\" в базе \"%s\" не удалось: %s" -#: reindexdb.c:573 +#: reindexdb.c:596 #, c-format msgid "reindexing of system catalogs in database \"%s\" failed: %s" msgstr "переиндексировать системные каталоги в базе \"%s\" не удалось: %s" -#: reindexdb.c:577 +#: reindexdb.c:600 #, c-format msgid "reindexing of table \"%s\" in database \"%s\" failed: %s" msgstr "переиндексировать таблицу \"%s\" в базе \"%s\" не удалось: %s" -#: reindexdb.c:732 +#: reindexdb.c:828 #, c-format msgid "%s: reindexing database \"%s\"\n" msgstr "%s: переиндексация базы данных \"%s\"\n" -#: reindexdb.c:749 +#: reindexdb.c:871 #, c-format msgid "" "%s reindexes a PostgreSQL database.\n" @@ -1036,29 +1063,29 @@ msgstr "" "%s переиндексирует базу данных PostgreSQL.\n" "\n" -#: reindexdb.c:753 +#: reindexdb.c:875 #, c-format msgid " -a, --all reindex all databases\n" msgstr " -a, --all переиндексировать все базы данных\n" -#: reindexdb.c:754 +#: reindexdb.c:876 #, c-format msgid " --concurrently reindex concurrently\n" msgstr "" " --concurrently переиндексировать в неблокирующем режиме\n" -#: reindexdb.c:755 +#: reindexdb.c:877 #, c-format msgid " -d, --dbname=DBNAME database to reindex\n" msgstr " -d, --dbname=БД имя базы для переиндексации\n" -#: reindexdb.c:757 +#: reindexdb.c:879 #, c-format msgid " -i, --index=INDEX recreate specific index(es) only\n" msgstr "" " -i, --index=ИНДЕКС пересоздать только указанный индекс(ы)\n" -#: reindexdb.c:758 +#: reindexdb.c:880 #, c-format msgid "" " -j, --jobs=NUM use this many concurrent connections to " @@ -1067,24 +1094,24 @@ msgstr "" " -j, --jobs=ЧИСЛО запускать для переиндексации заданное число\n" " заданий\n" -#: reindexdb.c:759 +#: reindexdb.c:881 #, c-format msgid " -q, --quiet don't write any messages\n" msgstr " -q, --quiet не выводить сообщения\n" -#: reindexdb.c:760 +#: reindexdb.c:882 #, c-format msgid " -s, --system reindex system catalogs only\n" msgstr "" " -s, --system переиндексировать только системные каталоги\n" -#: reindexdb.c:761 +#: reindexdb.c:883 #, c-format msgid " -S, --schema=SCHEMA reindex specific schema(s) only\n" msgstr "" " -S, --schema=СХЕМА переиндексировать только указанную схему(ы)\n" -#: reindexdb.c:762 +#: reindexdb.c:884 #, c-format msgid " -t, --table=TABLE reindex specific table(s) only\n" msgstr "" @@ -1092,19 +1119,19 @@ msgstr "" "таблицу(ы)\n" # well-spelled: ПРОСТР -#: reindexdb.c:763 +#: reindexdb.c:885 #, c-format msgid " --tablespace=TABLESPACE tablespace where indexes are rebuilt\n" msgstr "" " --tablespace=ТАБЛ_ПРОСТР табличное пространство, в котором будут\n" " перестраиваться индексы\n" -#: reindexdb.c:764 +#: reindexdb.c:886 #, c-format msgid " -v, --verbose write a lot of output\n" msgstr " -v, --verbose выводить исчерпывающие сообщения\n" -#: reindexdb.c:774 +#: reindexdb.c:896 #, c-format msgid "" "\n" @@ -1113,43 +1140,28 @@ msgstr "" "\n" "Подробнее о переиндексации вы можете узнать в описании SQL-команды REINDEX.\n" -#: vacuumdb.c:312 vacuumdb.c:315 vacuumdb.c:318 vacuumdb.c:321 vacuumdb.c:324 -#: vacuumdb.c:327 vacuumdb.c:330 vacuumdb.c:333 vacuumdb.c:342 +#: vacuumdb.c:313 vacuumdb.c:316 vacuumdb.c:319 vacuumdb.c:322 vacuumdb.c:325 +#: vacuumdb.c:328 vacuumdb.c:331 vacuumdb.c:334 vacuumdb.c:343 #, c-format msgid "cannot use the \"%s\" option when performing only analyze" msgstr "при выполнении только анализа нельзя использовать параметр \"%s\"" -#: vacuumdb.c:345 +#: vacuumdb.c:346 #, c-format msgid "cannot use the \"%s\" option when performing full vacuum" msgstr "при выполнении полной очистки нельзя использовать параметр \"%s\"" -#: vacuumdb.c:351 vacuumdb.c:359 +#: vacuumdb.c:352 vacuumdb.c:360 #, c-format msgid "cannot use the \"%s\" option with the \"%s\" option" msgstr "параметр \"%s\" нельзя использовать совместно с \"%s\"" -#: vacuumdb.c:430 +#: vacuumdb.c:432 #, c-format msgid "cannot vacuum all databases and a specific one at the same time" msgstr "нельзя очистить все базы данных и одну конкретную одновременно" -#: vacuumdb.c:434 -#, c-format -msgid "cannot vacuum specific table(s) in all databases" -msgstr "нельзя очистить только указанную таблицу(ы) во всех базах" - -#: vacuumdb.c:438 -#, c-format -msgid "cannot vacuum specific schema(s) in all databases" -msgstr "нельзя очистить только указанную схему(ы) во всех базах" - -#: vacuumdb.c:442 -#, c-format -msgid "cannot exclude specific schema(s) in all databases" -msgstr "нельзя исключить указанную схему(ы) во всех базах" - -#: vacuumdb.c:446 +#: vacuumdb.c:436 #, c-format msgid "" "cannot vacuum all tables in schema(s) and specific table(s) at the same time" @@ -1157,57 +1169,57 @@ msgstr "" "нельзя очистить все таблицы в схеме(ах) и одну конкретную таблицу " "одновременно" -#: vacuumdb.c:450 +#: vacuumdb.c:440 #, c-format msgid "cannot vacuum specific table(s) and exclude schema(s) at the same time" msgstr "" "нельзя очистить конкретную таблицу(ы) и исключить схему(ы) одновременно" -#: vacuumdb.c:454 +#: vacuumdb.c:444 #, c-format msgid "" "cannot vacuum all tables in schema(s) and exclude schema(s) at the same time" msgstr "" "нельзя очистить все таблицы в схеме(ах) и исключить схему(ы) одновременно" -#: vacuumdb.c:467 +#: vacuumdb.c:457 #, c-format msgid "out of memory" msgstr "нехватка памяти" -#: vacuumdb.c:512 +#: vacuumdb.c:501 msgid "Generating minimal optimizer statistics (1 target)" msgstr "Вычисление минимальной статистики для оптимизатора (1 запись)" -#: vacuumdb.c:513 +#: vacuumdb.c:502 msgid "Generating medium optimizer statistics (10 targets)" msgstr "Вычисление средней статистики для оптимизатора (10 записей)" -#: vacuumdb.c:514 +#: vacuumdb.c:503 msgid "Generating default (full) optimizer statistics" msgstr "Вычисление стандартной (полной) статистики для оптимизатора" -#: vacuumdb.c:593 +#: vacuumdb.c:582 #, c-format msgid "%s: processing database \"%s\": %s\n" msgstr "%s: обработка базы данных \"%s\": %s\n" -#: vacuumdb.c:596 +#: vacuumdb.c:585 #, c-format msgid "%s: vacuuming database \"%s\"\n" msgstr "%s: очистка базы данных \"%s\"\n" -#: vacuumdb.c:1144 +#: vacuumdb.c:1146 #, c-format msgid "vacuuming of table \"%s\" in database \"%s\" failed: %s" msgstr "очистить таблицу \"%s\" в базе \"%s\" не удалось: %s" -#: vacuumdb.c:1147 +#: vacuumdb.c:1149 #, c-format msgid "vacuuming of database \"%s\" failed: %s" msgstr "очистить базу данных \"%s\" не удалось: %s" -#: vacuumdb.c:1155 +#: vacuumdb.c:1157 #, c-format msgid "" "%s cleans and analyzes a PostgreSQL database.\n" @@ -1216,12 +1228,12 @@ msgstr "" "%s очищает и анализирует базу данных PostgreSQL.\n" "\n" -#: vacuumdb.c:1159 +#: vacuumdb.c:1161 #, c-format msgid " -a, --all vacuum all databases\n" msgstr " -a, --all очистить все базы данных\n" -#: vacuumdb.c:1160 +#: vacuumdb.c:1162 #, c-format msgid " --buffer-usage-limit=SIZE size of ring buffer used for vacuum\n" msgstr "" @@ -1229,18 +1241,18 @@ msgstr "" "при\n" " очистке\n" -#: vacuumdb.c:1161 +#: vacuumdb.c:1163 #, c-format msgid " -d, --dbname=DBNAME database to vacuum\n" msgstr " -d, --dbname=ИМЯ_БД очистить указанную базу данных\n" -#: vacuumdb.c:1162 +#: vacuumdb.c:1164 #, c-format msgid " --disable-page-skipping disable all page-skipping behavior\n" msgstr "" " --disable-page-skipping исключить все варианты пропуска страниц\n" -#: vacuumdb.c:1163 +#: vacuumdb.c:1165 #, c-format msgid "" " -e, --echo show the commands being sent to the " @@ -1248,19 +1260,19 @@ msgid "" msgstr "" " -e, --echo отображать команды, отправляемые серверу\n" -#: vacuumdb.c:1164 +#: vacuumdb.c:1166 #, c-format msgid " -f, --full do full vacuuming\n" msgstr " -f, --full произвести полную очистку\n" -#: vacuumdb.c:1165 +#: vacuumdb.c:1167 #, c-format msgid " -F, --freeze freeze row transaction information\n" msgstr "" " -F, --freeze заморозить информацию о транзакциях в " "строках\n" -#: vacuumdb.c:1166 +#: vacuumdb.c:1168 #, c-format msgid "" " --force-index-cleanup always remove index entries that point to " @@ -1270,7 +1282,7 @@ msgstr "" "указывающие\n" " на мёртвые кортежи\n" -#: vacuumdb.c:1167 +#: vacuumdb.c:1169 #, c-format msgid "" " -j, --jobs=NUM use this many concurrent connections to " @@ -1279,7 +1291,7 @@ msgstr "" " -j, --jobs=ЧИСЛО запускать для очистки заданное число " "заданий\n" -#: vacuumdb.c:1168 +#: vacuumdb.c:1170 #, c-format msgid "" " --min-mxid-age=MXID_AGE minimum multixact ID age of tables to " @@ -1288,7 +1300,7 @@ msgstr "" " --min-mxid-age=ВОЗРАСТ минимальный возраст мультитранзакций для\n" " таблиц, подлежащих очистке\n" -#: vacuumdb.c:1169 +#: vacuumdb.c:1171 #, c-format msgid "" " --min-xid-age=XID_AGE minimum transaction ID age of tables to " @@ -1298,7 +1310,7 @@ msgstr "" "таблиц,\n" " подлежащих очистке\n" -#: vacuumdb.c:1170 +#: vacuumdb.c:1172 #, c-format msgid "" " --no-index-cleanup don't remove index entries that point to " @@ -1307,12 +1319,12 @@ msgstr "" " --no-index-cleanup не удалять элементы индекса, указывающие\n" " на мёртвые кортежи\n" -#: vacuumdb.c:1171 +#: vacuumdb.c:1173 #, c-format msgid " --no-process-main skip the main relation\n" msgstr " --no-process-main пропускать основное отношение\n" -#: vacuumdb.c:1172 +#: vacuumdb.c:1174 #, c-format msgid "" " --no-process-toast skip the TOAST table associated with the " @@ -1321,7 +1333,7 @@ msgstr "" " --no-process-toast пропускать TOAST-таблицу, связанную\n" " с очищаемой таблицей\n" -#: vacuumdb.c:1173 +#: vacuumdb.c:1175 #, c-format msgid "" " --no-truncate don't truncate empty pages at the end of " @@ -1330,7 +1342,7 @@ msgstr "" " --no-truncate не отсекать пустые страницы в конце " "таблицы\n" -#: vacuumdb.c:1174 +#: vacuumdb.c:1176 #, c-format msgid "" " -n, --schema=SCHEMA vacuum tables in the specified schema(s) " @@ -1339,7 +1351,7 @@ msgstr "" " -n, --schema=СХЕМА очищать таблицы только в указанной " "схеме(ах)\n" -#: vacuumdb.c:1175 +#: vacuumdb.c:1177 #, c-format msgid "" " -N, --exclude-schema=SCHEMA do not vacuum tables in the specified " @@ -1347,7 +1359,7 @@ msgid "" msgstr "" " -N, --exclude-schema=СХЕМА не очищать таблицы в указанной схеме(ах)\n" -#: vacuumdb.c:1176 +#: vacuumdb.c:1178 #, c-format msgid "" " -P, --parallel=PARALLEL_WORKERS use this many background workers for " @@ -1357,12 +1369,12 @@ msgstr "" " по возможности использовать для очистки\n" " заданное число фоновых процессов\n" -#: vacuumdb.c:1177 +#: vacuumdb.c:1179 #, c-format msgid " -q, --quiet don't write any messages\n" msgstr " -q, --quiet не выводить сообщения\n" -#: vacuumdb.c:1178 +#: vacuumdb.c:1180 #, c-format msgid "" " --skip-locked skip relations that cannot be immediately " @@ -1371,29 +1383,29 @@ msgstr "" " --skip-locked пропускать отношения, которые не удаётся\n" " заблокировать немедленно\n" -#: vacuumdb.c:1179 +#: vacuumdb.c:1181 #, c-format msgid " -t, --table='TABLE[(COLUMNS)]' vacuum specific table(s) only\n" msgstr "" " -t, --table='ТАБЛ[(СТОЛБЦЫ)]' очистить только указанную таблицу(ы)\n" -#: vacuumdb.c:1180 +#: vacuumdb.c:1182 #, c-format msgid " -v, --verbose write a lot of output\n" msgstr " -v, --verbose выводить исчерпывающие сообщения\n" -#: vacuumdb.c:1181 +#: vacuumdb.c:1183 #, c-format msgid "" " -V, --version output version information, then exit\n" msgstr " -V, --version показать версию и выйти\n" -#: vacuumdb.c:1182 +#: vacuumdb.c:1184 #, c-format msgid " -z, --analyze update optimizer statistics\n" msgstr " -z, --analyze обновить статистику оптимизатора\n" -#: vacuumdb.c:1183 +#: vacuumdb.c:1185 #, c-format msgid "" " -Z, --analyze-only only update optimizer statistics; no " @@ -1402,7 +1414,7 @@ msgstr "" " -Z, --analyze-only только обновить статистику оптимизатора,\n" " не очищать БД\n" -#: vacuumdb.c:1184 +#: vacuumdb.c:1186 #, c-format msgid "" " --analyze-in-stages only update optimizer statistics, in " @@ -1414,12 +1426,12 @@ msgstr "" " (в несколько проходов для большей " "скорости), без очистки\n" -#: vacuumdb.c:1186 +#: vacuumdb.c:1188 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help показать эту справку и выйти\n" -#: vacuumdb.c:1194 +#: vacuumdb.c:1196 #, c-format msgid "" "\n" @@ -1428,6 +1440,64 @@ msgstr "" "\n" "Подробнее об очистке вы можете узнать в описании SQL-команды VACUUM.\n" +#, c-format +#~ msgid "cannot cluster specific table(s) in all databases" +#~ msgstr "нельзя кластеризовать указанную таблицу(ы) во всех базах" + +#, c-format +#~ msgid "cannot reindex all databases and system catalogs at the same time" +#~ msgstr "" +#~ "нельзя переиндексировать все базы данных и системные каталоги одновременно" + +#, c-format +#~ msgid "cannot reindex specific schema(s) in all databases" +#~ msgstr "нельзя переиндексировать указанную схему(ы) во всех базах" + +#, c-format +#~ msgid "cannot reindex specific table(s) in all databases" +#~ msgstr "нельзя переиндексировать указанную таблицу(ы) во всех базах" + +#, c-format +#~ msgid "cannot reindex specific index(es) in all databases" +#~ msgstr "нельзя переиндексировать указанный индекс(ы) во всех базах" + +#, c-format +#~ msgid "" +#~ "cannot reindex specific schema(s) and system catalogs at the same time" +#~ msgstr "" +#~ "нельзя переиндексировать указанную схему(ы) и системные каталоги " +#~ "одновременно" + +#, c-format +#~ msgid "" +#~ "cannot reindex specific table(s) and system catalogs at the same time" +#~ msgstr "" +#~ "нельзя переиндексировать указанную таблицу(ы) и системные каталоги " +#~ "одновременно" + +#, c-format +#~ msgid "" +#~ "cannot reindex specific index(es) and system catalogs at the same time" +#~ msgstr "" +#~ "нельзя переиндексировать указанный индекс(ы) и системные каталоги " +#~ "одновременно" + +#, c-format +#~ msgid "cannot use multiple jobs to reindex indexes" +#~ msgstr "нельзя задействовать несколько заданий для перестроения индексов" + +#, c-format +#~ msgid "cannot vacuum specific table(s) in all databases" +#~ msgstr "нельзя очистить только указанную таблицу(ы) во всех базах" + +#, c-format +#~ msgid "cannot vacuum specific schema(s) in all databases" +#~ msgstr "нельзя очистить только указанную схему(ы) во всех базах" + +#, c-format +#~ msgid "cannot exclude specific schema(s) in all databases" +#~ msgstr "нельзя исключить указанную схему(ы) во всех базах" + #, c-format #~ msgid "cannot reindex system catalogs concurrently, skipping all" #~ msgstr "" @@ -1457,9 +1527,6 @@ msgstr "" #~ msgid "minimum multixact ID age must be at least 1" #~ msgstr "минимальный возраст мультитранзакций должен быть не меньше 1" -#~ msgid "could not connect to database %s: %s" -#~ msgstr "не удалось подключиться к базе %s: %s" - #~ msgid "parallel vacuum degree must be a non-negative integer" #~ msgstr "" #~ "степень параллельности для очистки должна задаваться неотрицательным целым" diff --git a/src/bin/scripts/po/sv.po b/src/bin/scripts/po/sv.po index 5003a9397bd..6dfeaecb092 100644 --- a/src/bin/scripts/po/sv.po +++ b/src/bin/scripts/po/sv.po @@ -1,14 +1,14 @@ # Swedish message translation file for postgresql -# Dennis Björklund , 2003, 2004, 2005, 2006, 2017, 2018, 2019, 2020, 2021, 2022, 2023. +# Dennis Björklund , 2003, 2004, 2005, 2006, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024. # Peter Eisentraut , 2013. # Mats Erik Andersson , 2014. # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 16\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-09-23 02:50+0000\n" -"PO-Revision-Date: 2023-08-02 07:51+0200\n" +"POT-Creation-Date: 2024-07-12 17:52+0000\n" +"PO-Revision-Date: 2024-07-12 22:17+0200\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -48,6 +48,48 @@ msgstr "slut på minne\n" msgid "cannot duplicate null pointer (internal error)\n" msgstr "kan inte duplicera null-pekare (internt fel)\n" +#: ../../common/file_utils.c:70 ../../common/file_utils.c:347 +#: ../../common/file_utils.c:406 ../../common/file_utils.c:480 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "kunde inte öppna fil \"%s\": %m" + +#: ../../common/file_utils.c:76 +#, c-format +msgid "could not synchronize file system for file \"%s\": %m" +msgstr "kan inte synkronisera filsystemet för fil \"%s\": %m" + +#: ../../common/file_utils.c:120 ../../common/file_utils.c:566 +#, c-format +msgid "could not stat file \"%s\": %m" +msgstr "kunde inte göra stat() på fil \"%s\": %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 "detta bygge stöder inte synkmetod \"%s\"" + +#: ../../common/file_utils.c:151 ../../common/file_utils.c:281 +#, 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 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "kunde inte läsa katalog \"%s\": %m" + +#: ../../common/file_utils.c:418 ../../common/file_utils.c:488 +#, c-format +msgid "could not fsync file \"%s\": %m" +msgstr "kunde inte fsync:a fil \"%s\": %m" + +#: ../../common/file_utils.c:498 +#, c-format +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "kunde inte döpa om fil \"%s\" till \"%s\": %m" + #: ../../common/username.c:43 #, c-format msgid "could not look up effective user ID %ld: %s" @@ -62,11 +104,11 @@ msgstr "användaren finns inte" msgid "user name lookup failure: error code %lu" msgstr "misslyckad sökning efter användarnamn: felkod %lu" -#: ../../fe_utils/cancel.c:189 ../../fe_utils/cancel.c:238 +#: ../../fe_utils/cancel.c:186 ../../fe_utils/cancel.c:235 msgid "Cancel request sent\n" msgstr "Förfrågan om avbrytning skickad\n" -#: ../../fe_utils/cancel.c:190 ../../fe_utils/cancel.c:239 +#: ../../fe_utils/cancel.c:187 ../../fe_utils/cancel.c:236 msgid "Could not send cancel request: " msgstr "Kunde inte skicka förfrågan om avbrytning: " @@ -94,12 +136,27 @@ msgstr "ogiltigt värde \"%s\" för flaggan \"%s\"" msgid "%s must be in range %d..%d" msgstr "%s måste vara i intervallet %d..%d" -#: ../../fe_utils/parallel_slot.c:299 +#: ../../fe_utils/option_utils.c:106 #, c-format -msgid "too many jobs for this platform" -msgstr "för många jobb för denna plattform" +msgid "unrecognized sync method: %s" +msgstr "okänd synkmetod: %s" -#: ../../fe_utils/parallel_slot.c:520 +#: ../../fe_utils/parallel_slot.c:317 +#, c-format +msgid "too many jobs for this platform: %d" +msgstr "för många jobb för denna plattform: %d" + +#: ../../fe_utils/parallel_slot.c:326 +#, c-format +msgid "socket file descriptor out of range for select(): %d" +msgstr "deskriptor-index utanför sitt intervall för select(): %d" + +#: ../../fe_utils/parallel_slot.c:328 +#, c-format +msgid "Try fewer jobs." +msgstr "Försök med färre job." + +#: ../../fe_utils/parallel_slot.c:553 #, c-format msgid "processing of database \"%s\" failed: %s" msgstr "processande av databas \"%s\" misslyckades: %s" @@ -116,17 +173,22 @@ msgstr[1] "(%lu rader)" msgid "Interrupted\n" msgstr "Avbruten\n" -#: ../../fe_utils/print.c:3218 +#: ../../fe_utils/print.c:3188 +#, c-format +msgid "Cannot print table contents: number of cells %lld is equal to or exceeds maximum %lld.\n" +msgstr "Kan inte skriva ut tabellinnehåll: antal celler %lld är lika med eller fler än maximala %lld.\n" + +#: ../../fe_utils/print.c:3229 #, c-format msgid "Cannot add header to table content: column count of %d exceeded.\n" msgstr "Kan inte lägga till rubrik till tabellinnehåll: antal kolumner (%d) överskridet.\n" -#: ../../fe_utils/print.c:3258 +#: ../../fe_utils/print.c:3272 #, c-format -msgid "Cannot add cell to table content: total cell count of %d exceeded.\n" -msgstr "Kan inte lägga till cell till tabellinnehåll: totala cellantalet (%d) överskridet.\n" +msgid "Cannot add cell to table content: total cell count of %lld exceeded.\n" +msgstr "Kan inte lägga till cell till tabellinnehåll: totala cellantalet %lld är överskridet.\n" -#: ../../fe_utils/print.c:3516 +#: ../../fe_utils/print.c:3530 #, c-format msgid "invalid output format (internal error): %d" msgstr "ogiltigt utdataformat (internt fel): %d" @@ -141,36 +203,41 @@ msgstr "fråga misslyckades: %s" msgid "Query was: %s" msgstr "Frågan var: %s" -#: clusterdb.c:113 clusterdb.c:132 createdb.c:144 createdb.c:163 +#: ../../fe_utils/string_utils.c:434 +#, 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 +#, c-format +msgid "database name contains a newline or carriage return: \"%s\"\n" +msgstr "databasnamnet innehåller nyrad eller vagnretur: \"%s\"\n" + +#: clusterdb.c:114 clusterdb.c:133 createdb.c:149 createdb.c:168 #: createuser.c:195 createuser.c:210 dropdb.c:104 dropdb.c:113 dropdb.c:121 #: dropuser.c:95 dropuser.c:110 dropuser.c:123 pg_isready.c:97 pg_isready.c:111 -#: reindexdb.c:174 reindexdb.c:193 vacuumdb.c:279 vacuumdb.c:299 +#: reindexdb.c:177 reindexdb.c:196 vacuumdb.c:280 vacuumdb.c:300 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Försök med \"%s --help\" för mer information." -#: clusterdb.c:130 createdb.c:161 createuser.c:208 dropdb.c:119 dropuser.c:108 -#: pg_isready.c:109 reindexdb.c:191 vacuumdb.c:297 +#: clusterdb.c:131 createdb.c:166 createuser.c:208 dropdb.c:119 dropuser.c:108 +#: pg_isready.c:109 reindexdb.c:194 vacuumdb.c:298 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "för många kommandoradsargument (första är \"%s\")" -#: clusterdb.c:148 +#: clusterdb.c:149 #, c-format msgid "cannot cluster all databases and a specific one at the same time" msgstr "kan inte klustra alla databaser och en angiven på samma gång" -#: clusterdb.c:151 -#, c-format -msgid "cannot cluster specific table(s) in all databases" -msgstr "kan inte klustra angivna tabeller i alla databaser" - -#: clusterdb.c:215 +#: clusterdb.c:214 #, c-format msgid "clustering of table \"%s\" in database \"%s\" failed: %s" msgstr "klustring av tabell \"%s\" i databas \"%s\" misslyckades: %s" -#: clusterdb.c:218 +#: clusterdb.c:217 #, c-format msgid "clustering of database \"%s\" failed: %s" msgstr "klustring av databas \"%s\" misslyckades: %s" @@ -180,7 +247,7 @@ msgstr "klustring av databas \"%s\" misslyckades: %s" msgid "%s: clustering database \"%s\"\n" msgstr "%s: klustring av databas \"%s\"\n" -#: clusterdb.c:264 +#: clusterdb.c:274 #, c-format msgid "" "%s clusters all previously clustered tables in a database.\n" @@ -189,19 +256,19 @@ msgstr "" "%s klustrar alla tidigare klustrade tabeller i en databas.\n" "\n" -#: clusterdb.c:265 createdb.c:288 createuser.c:415 dropdb.c:172 dropuser.c:170 -#: pg_isready.c:226 reindexdb.c:750 vacuumdb.c:1150 +#: clusterdb.c:275 createdb.c:298 createuser.c:415 dropdb.c:172 dropuser.c:170 +#: pg_isready.c:226 reindexdb.c:868 vacuumdb.c:1147 #, c-format msgid "Usage:\n" msgstr "Användning:\n" -#: clusterdb.c:266 reindexdb.c:751 vacuumdb.c:1151 +#: clusterdb.c:276 reindexdb.c:869 vacuumdb.c:1148 #, c-format msgid " %s [OPTION]... [DBNAME]\n" msgstr " %s [FLAGGA]... [DBNAMN]\n" -#: clusterdb.c:267 createdb.c:290 createuser.c:417 dropdb.c:174 dropuser.c:172 -#: pg_isready.c:229 reindexdb.c:752 vacuumdb.c:1152 +#: clusterdb.c:277 createdb.c:300 createuser.c:417 dropdb.c:174 dropuser.c:172 +#: pg_isready.c:229 reindexdb.c:870 vacuumdb.c:1149 #, c-format msgid "" "\n" @@ -210,48 +277,48 @@ msgstr "" "\n" "Flaggor:\n" -#: clusterdb.c:268 +#: clusterdb.c:278 #, c-format msgid " -a, --all cluster all databases\n" msgstr " -a, --all klustra alla databaser\n" -#: clusterdb.c:269 +#: clusterdb.c:279 #, c-format msgid " -d, --dbname=DBNAME database to cluster\n" msgstr " -d, --dbname=DBNAME databas att klustra\n" -#: clusterdb.c:270 createuser.c:423 dropdb.c:175 dropuser.c:173 +#: clusterdb.c:280 createuser.c:423 dropdb.c:175 dropuser.c:173 #, c-format msgid " -e, --echo show the commands being sent to the server\n" msgstr " -e, --echo visa kommandon som skickas till servern\n" -#: clusterdb.c:271 +#: clusterdb.c:281 #, c-format msgid " -q, --quiet don't write any messages\n" msgstr " -q, --quiet skriv inte ut några meddelanden\n" -#: clusterdb.c:272 +#: clusterdb.c:282 #, c-format msgid " -t, --table=TABLE cluster specific table(s) only\n" msgstr " -t, --table=TABELL klustra enbart ingivna tabeller\n" -#: clusterdb.c:273 +#: clusterdb.c:283 #, c-format msgid " -v, --verbose write a lot of output\n" msgstr " -v, --verbose skriv massor med utdata\n" -#: clusterdb.c:274 createuser.c:439 dropdb.c:178 dropuser.c:176 +#: clusterdb.c:284 createuser.c:439 dropdb.c:178 dropuser.c:176 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version visa versionsinformation, avsluta sedan\n" -#: clusterdb.c:275 createuser.c:447 dropdb.c:180 dropuser.c:178 +#: clusterdb.c:285 createuser.c:447 dropdb.c:180 dropuser.c:178 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help visa denna hjälp, avsluta sedan\n" -#: clusterdb.c:276 createdb.c:306 createuser.c:448 dropdb.c:181 dropuser.c:179 -#: pg_isready.c:235 reindexdb.c:767 vacuumdb.c:1181 +#: clusterdb.c:286 createdb.c:317 createuser.c:448 dropdb.c:181 dropuser.c:179 +#: pg_isready.c:235 reindexdb.c:885 vacuumdb.c:1178 #, c-format msgid "" "\n" @@ -260,37 +327,37 @@ msgstr "" "\n" "Flaggor för anslutning:\n" -#: clusterdb.c:277 createuser.c:449 dropdb.c:182 dropuser.c:180 vacuumdb.c:1182 +#: clusterdb.c:287 createuser.c:449 dropdb.c:182 dropuser.c:180 vacuumdb.c:1179 #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr " -h, --host=VÄRDNAMN databasens värdnamn eller socketkatalog\n" -#: clusterdb.c:278 createuser.c:450 dropdb.c:183 dropuser.c:181 vacuumdb.c:1183 +#: clusterdb.c:288 createuser.c:450 dropdb.c:183 dropuser.c:181 vacuumdb.c:1180 #, c-format msgid " -p, --port=PORT database server port\n" msgstr " -p, --port=PORT databasserverns port\n" -#: clusterdb.c:279 dropdb.c:184 vacuumdb.c:1184 +#: clusterdb.c:289 dropdb.c:184 vacuumdb.c:1181 #, c-format msgid " -U, --username=USERNAME user name to connect as\n" msgstr " -U, --username=ANVÄNDARE användarnamn att ansluta som\n" -#: clusterdb.c:280 createuser.c:452 dropdb.c:185 dropuser.c:183 vacuumdb.c:1185 +#: clusterdb.c:290 createuser.c:452 dropdb.c:185 dropuser.c:183 vacuumdb.c:1182 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password fråga ej efter lösenord\n" -#: clusterdb.c:281 createuser.c:453 dropdb.c:186 dropuser.c:184 vacuumdb.c:1186 +#: clusterdb.c:291 createuser.c:453 dropdb.c:186 dropuser.c:184 vacuumdb.c:1183 #, c-format msgid " -W, --password force password prompt\n" msgstr " -W, --password framtvinga fråga om lösenord\n" -#: clusterdb.c:282 dropdb.c:187 vacuumdb.c:1187 +#: clusterdb.c:292 dropdb.c:187 vacuumdb.c:1184 #, c-format msgid " --maintenance-db=DBNAME alternate maintenance database\n" msgstr " --maintenance-db=DBNAMN annat val av underhållsdatabas\n" -#: clusterdb.c:283 +#: clusterdb.c:293 #, c-format msgid "" "\n" @@ -299,8 +366,8 @@ msgstr "" "\n" "Läs beskrivningen av SQL-kommandot CLUSTER för detaljer.\n" -#: clusterdb.c:284 createdb.c:314 createuser.c:454 dropdb.c:188 dropuser.c:185 -#: pg_isready.c:240 reindexdb.c:775 vacuumdb.c:1189 +#: clusterdb.c:294 createdb.c:325 createuser.c:454 dropdb.c:188 dropuser.c:185 +#: pg_isready.c:240 reindexdb.c:893 vacuumdb.c:1186 #, c-format msgid "" "\n" @@ -309,8 +376,8 @@ msgstr "" "\n" "Rapportera fel till <%s>.\n" -#: clusterdb.c:285 createdb.c:315 createuser.c:455 dropdb.c:189 dropuser.c:186 -#: pg_isready.c:241 reindexdb.c:776 vacuumdb.c:1190 +#: clusterdb.c:295 createdb.c:326 createuser.c:455 dropdb.c:189 dropuser.c:186 +#: pg_isready.c:241 reindexdb.c:894 vacuumdb.c:1187 #, c-format msgid "%s home page: <%s>\n" msgstr "hemsida för %s: <%s>\n" @@ -344,22 +411,22 @@ msgstr "%s (%s/%s) " msgid "Please answer \"%s\" or \"%s\".\n" msgstr "Var vänlig att svara \"%s\" eller \"%s\".\n" -#: createdb.c:170 +#: createdb.c:175 #, c-format msgid "\"%s\" is not a valid encoding name" msgstr "\"%s\" är inte ett giltigt kodningsnamn" -#: createdb.c:250 +#: createdb.c:260 #, c-format msgid "database creation failed: %s" msgstr "misslyckades att skapa databas: %s" -#: createdb.c:269 +#: createdb.c:279 #, c-format msgid "comment creation failed (database was created): %s" msgstr "misslyckades att skapa kommentar (databasen skapades): %s" -#: createdb.c:287 +#: createdb.c:297 #, c-format msgid "" "%s creates a PostgreSQL database.\n" @@ -368,118 +435,123 @@ msgstr "" "%s skapar en PostgreSQL-databas.\n" "\n" -#: createdb.c:289 +#: createdb.c:299 #, c-format msgid " %s [OPTION]... [DBNAME] [DESCRIPTION]\n" msgstr " %s [FLAGGA]... [DBNAMN] [BESKRIVNING]\n" -#: createdb.c:291 +#: createdb.c:301 #, c-format msgid " -D, --tablespace=TABLESPACE default tablespace for the database\n" msgstr " -D, --tablespace=TABELLRYMD förvalt tabellutrymme för databasen\n" -#: createdb.c:292 reindexdb.c:756 +#: createdb.c:302 reindexdb.c:874 #, c-format msgid " -e, --echo show the commands being sent to the server\n" msgstr " -e, --echo visa kommandon som skickas till servern\n" -#: createdb.c:293 +#: createdb.c:303 #, c-format msgid " -E, --encoding=ENCODING encoding for the database\n" msgstr " -E, --encoding=KODNING teckenkodning för databasen\n" -#: createdb.c:294 +#: createdb.c:304 #, c-format msgid " -l, --locale=LOCALE locale settings for the database\n" msgstr " -l, --locale=LOKAL lokalnamn för databasen\n" -#: createdb.c:295 +#: createdb.c:305 #, c-format msgid " --lc-collate=LOCALE LC_COLLATE setting for the database\n" msgstr " --lc-collate=LOKAL värde på LC_COLLATE för databasen\n" -#: createdb.c:296 +#: createdb.c:306 #, c-format msgid " --lc-ctype=LOCALE LC_CTYPE setting for the database\n" msgstr " --lc-ctype=LOKAL värde på LC_CTYPE för databasen\n" -#: createdb.c:297 +#: createdb.c:307 +#, c-format +msgid " --builtin-locale=LOCALE builtin locale setting for the database\n" +msgstr " --builtin-locale=LOKAL inbyggd lokal-inställning för databasen\n" + +#: createdb.c:308 #, c-format msgid " --icu-locale=LOCALE ICU locale setting for the database\n" msgstr " --icu-locale=LOKAL värde på ICU-lokal för databasen\n" -#: createdb.c:298 +#: createdb.c:309 #, c-format msgid " --icu-rules=RULES ICU rules setting for the database\n" msgstr " --icu-rules=REGLER ICU-regler för databasen\n" -#: createdb.c:299 +#: createdb.c:310 #, c-format msgid "" -" --locale-provider={libc|icu}\n" +" --locale-provider={builtin|libc|icu}\n" " locale provider for the database's default collation\n" msgstr "" -" --locale-provider={libc|icu}\n" +" --locale-provider={builtin|libc|icu}\n" " lokalleverantör av databasens standardjämförelser\n" -#: createdb.c:301 +#: createdb.c:312 #, c-format msgid " -O, --owner=OWNER database user to own the new database\n" msgstr " -O, --owner=ÄGARE databasanvändare som äger nya databasen\n" -#: createdb.c:302 +#: createdb.c:313 #, c-format msgid " -S, --strategy=STRATEGY database creation strategy wal_log or file_copy\n" msgstr "" " -S, --strategy=STRATEGI strategi för att skapa en databas, wal_log\n" " eller file_copy\n" -#: createdb.c:303 +#: createdb.c:314 #, c-format msgid " -T, --template=TEMPLATE template database to copy\n" msgstr " -T, --template=MALL databasmall att kopiera\n" -#: createdb.c:304 reindexdb.c:765 +#: createdb.c:315 reindexdb.c:883 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version visa versionsinformation, avsluta sedan\n" -#: createdb.c:305 reindexdb.c:766 +#: createdb.c:316 reindexdb.c:884 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help visa denna hjälp, avsluta sedan\n" -#: createdb.c:307 reindexdb.c:768 +#: createdb.c:318 reindexdb.c:886 #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr " -h, --host=VÄRDNAMN databasens värdnamn eller socketkatalog\n" -#: createdb.c:308 reindexdb.c:769 +#: createdb.c:319 reindexdb.c:887 #, c-format msgid " -p, --port=PORT database server port\n" msgstr " -p, --port=PORT databasserverns port\n" -#: createdb.c:309 reindexdb.c:770 +#: createdb.c:320 reindexdb.c:888 #, c-format msgid " -U, --username=USERNAME user name to connect as\n" msgstr " -U, --username=ANVÄNDARE användarnamn att ansluta som\n" -#: createdb.c:310 reindexdb.c:771 +#: createdb.c:321 reindexdb.c:889 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password fråga ej efter lösenord\n" -#: createdb.c:311 reindexdb.c:772 +#: createdb.c:322 reindexdb.c:890 #, c-format msgid " -W, --password force password prompt\n" msgstr " -W, --password framtvinga fråga om lösenord\n" -#: createdb.c:312 reindexdb.c:773 +#: createdb.c:323 reindexdb.c:891 #, c-format msgid " --maintenance-db=DBNAME alternate maintenance database\n" msgstr " --maintenance-db=DBNAMN annat val av underhållsdatabas\n" -#: createdb.c:313 +#: createdb.c:324 #, c-format msgid "" "\n" @@ -853,94 +925,54 @@ msgstr " -t, --timeout=SEK sekunder att vänta på anslutning; 0 stänge msgid " -U, --username=USERNAME user name to connect as\n" msgstr " -U, --username=ANVÄNDARE användarnamn att ansluta som\n" -#: reindexdb.c:209 -#, c-format -msgid "cannot reindex all databases and a specific one at the same time" -msgstr "kan inte omindexera alla databaser och samtidigt en specifik databas" - -#: reindexdb.c:211 -#, c-format -msgid "cannot reindex all databases and system catalogs at the same time" -msgstr "kan inte omindexera alla databaser samtidigt med systemkatalogerna" - -#: reindexdb.c:213 -#, c-format -msgid "cannot reindex specific schema(s) in all databases" -msgstr "kan inte omindexera angivna scheman i alla databaser" - -#: reindexdb.c:215 -#, c-format -msgid "cannot reindex specific table(s) in all databases" -msgstr "Kan inte indexera specifik tabell i alla databaser" - -#: reindexdb.c:217 -#, c-format -msgid "cannot reindex specific index(es) in all databases" -msgstr "Kan inte omindexera angivet index i alla databaser" - -#: reindexdb.c:227 -#, c-format -msgid "cannot reindex specific schema(s) and system catalogs at the same time" -msgstr "kan inte omindexera angivna scheman och systemkataloger på samma gång" - -#: reindexdb.c:229 -#, c-format -msgid "cannot reindex specific table(s) and system catalogs at the same time" -msgstr "kan inte omindexera specifik tabell och systemkatalogerna samtidigt" - -#: reindexdb.c:231 -#, c-format -msgid "cannot reindex specific index(es) and system catalogs at the same time" -msgstr "kan inte omindexera angivna index och systemkatalogerna samtidigt." - -#: reindexdb.c:234 +#: reindexdb.c:210 #, c-format msgid "cannot use multiple jobs to reindex system catalogs" msgstr "kan inte använda multipla jobb för att omindexera systemkataloger" -#: reindexdb.c:260 +#: reindexdb.c:215 #, c-format -msgid "cannot use multiple jobs to reindex indexes" -msgstr "kan inte använda multipla jobb för att omindexera index" +msgid "cannot reindex all databases and a specific one at the same time" +msgstr "kan inte omindexera alla databaser och samtidigt en specifik databas" -#: reindexdb.c:323 reindexdb.c:330 vacuumdb.c:525 vacuumdb.c:532 vacuumdb.c:539 -#: vacuumdb.c:546 vacuumdb.c:553 vacuumdb.c:560 vacuumdb.c:567 vacuumdb.c:572 -#: vacuumdb.c:576 vacuumdb.c:580 vacuumdb.c:584 +#: reindexdb.c:296 reindexdb.c:303 vacuumdb.c:515 vacuumdb.c:522 vacuumdb.c:529 +#: vacuumdb.c:536 vacuumdb.c:543 vacuumdb.c:550 vacuumdb.c:557 vacuumdb.c:562 +#: vacuumdb.c:566 vacuumdb.c:570 vacuumdb.c:574 #, c-format msgid "cannot use the \"%s\" option on server versions older than PostgreSQL %s" msgstr "flaggan \"%s\" kan inte användas på serverversioner äldre än PostgreSQL %s" -#: reindexdb.c:561 +#: reindexdb.c:584 #, c-format msgid "reindexing of database \"%s\" failed: %s" msgstr "omindexering av databasen \"%s\" misslyckades: %s" -#: reindexdb.c:565 +#: reindexdb.c:588 #, c-format msgid "reindexing of index \"%s\" in database \"%s\" failed: %s" msgstr "omindexering av index \"%s\" i databasen \"%s\" misslyckades: %s" -#: reindexdb.c:569 +#: reindexdb.c:592 #, c-format msgid "reindexing of schema \"%s\" in database \"%s\" failed: %s" msgstr "omindexering av schemat \"%s\" i databasen \"%s\" misslyckades: %s" -#: reindexdb.c:573 +#: reindexdb.c:596 #, c-format msgid "reindexing of system catalogs in database \"%s\" failed: %s" msgstr "omindexering av systemkataloger i databasen \"%s\" misslyckades: %s" -#: reindexdb.c:577 +#: reindexdb.c:600 #, c-format msgid "reindexing of table \"%s\" in database \"%s\" failed: %s" msgstr "omindexering av tabell \"%s\" i databasen \"%s\" misslyckades: %s" -#: reindexdb.c:732 +#: reindexdb.c:824 #, c-format msgid "%s: reindexing database \"%s\"\n" msgstr "%s: omindexering av databasen \"%s\"\n" -#: reindexdb.c:749 +#: reindexdb.c:867 #, c-format msgid "" "%s reindexes a PostgreSQL database.\n" @@ -949,64 +981,64 @@ msgstr "" "%s indexerar om en PostgreSQL-databas.\n" "\n" -#: reindexdb.c:753 +#: reindexdb.c:871 #, c-format msgid " -a, --all reindex all databases\n" msgstr " -a, --all indexera om alla databaser\n" -#: reindexdb.c:754 +#: reindexdb.c:872 #, c-format msgid " --concurrently reindex concurrently\n" msgstr " --concurrently indexera om utan att låsa\n" -#: reindexdb.c:755 +#: reindexdb.c:873 #, c-format msgid " -d, --dbname=DBNAME database to reindex\n" msgstr " -d, --dbname=DBNAME databas att indexera om\n" -#: reindexdb.c:757 +#: reindexdb.c:875 #, c-format msgid " -i, --index=INDEX recreate specific index(es) only\n" msgstr " -i, --index=INDEX återskapa enbart angivna index\n" -#: reindexdb.c:758 +#: reindexdb.c:876 #, c-format msgid " -j, --jobs=NUM use this many concurrent connections to reindex\n" msgstr "" " -j, --jobs=NUM använd så här många samtida anslutningar\n" " för omindexering\n" -#: reindexdb.c:759 +#: reindexdb.c:877 #, c-format msgid " -q, --quiet don't write any messages\n" msgstr " -q, --quiet skriv inte ut några meddelanden\n" -#: reindexdb.c:760 +#: reindexdb.c:878 #, c-format msgid " -s, --system reindex system catalogs only\n" msgstr " -s, --system indexera enbart om systemkataloger\n" -#: reindexdb.c:761 +#: reindexdb.c:879 #, c-format msgid " -S, --schema=SCHEMA reindex specific schema(s) only\n" msgstr " -S, --schema=SCHEMA indexera enbart om angivna scheman\n" -#: reindexdb.c:762 +#: reindexdb.c:880 #, c-format msgid " -t, --table=TABLE reindex specific table(s) only\n" msgstr " -t, --table=TABELL indexera enbart om angivna tabeller\n" -#: reindexdb.c:763 +#: reindexdb.c:881 #, c-format msgid " --tablespace=TABLESPACE tablespace where indexes are rebuilt\n" msgstr " --tablespace=TABELLRYMD tabellutrymme där index byggs om\n" -#: reindexdb.c:764 +#: reindexdb.c:882 #, c-format msgid " -v, --verbose write a lot of output\n" msgstr " -v, --verbose skriv massor med utdata\n" -#: reindexdb.c:774 +#: reindexdb.c:892 #, c-format msgid "" "\n" @@ -1015,95 +1047,80 @@ msgstr "" "\n" "Läs beskrivningen av SQL-kommandot REINDEX för detaljer.\n" -#: vacuumdb.c:312 vacuumdb.c:315 vacuumdb.c:318 vacuumdb.c:321 vacuumdb.c:324 -#: vacuumdb.c:327 vacuumdb.c:330 vacuumdb.c:333 vacuumdb.c:342 +#: vacuumdb.c:313 vacuumdb.c:316 vacuumdb.c:319 vacuumdb.c:322 vacuumdb.c:325 +#: vacuumdb.c:328 vacuumdb.c:331 vacuumdb.c:334 vacuumdb.c:343 #, c-format msgid "cannot use the \"%s\" option when performing only analyze" msgstr "flaggan \"%s\" kan inte användas vid enbart analys" -#: vacuumdb.c:345 +#: vacuumdb.c:346 #, c-format msgid "cannot use the \"%s\" option when performing full vacuum" msgstr "flaggan \"%s\" kan inte användas vid \"full vacuum\"" -#: vacuumdb.c:351 vacuumdb.c:359 +#: vacuumdb.c:352 vacuumdb.c:360 #, c-format msgid "cannot use the \"%s\" option with the \"%s\" option" msgstr "flaggan \"%s\" kan inte användas tillsammans med flaggan \"%s\"" -#: vacuumdb.c:430 +#: vacuumdb.c:432 #, c-format msgid "cannot vacuum all databases and a specific one at the same time" msgstr "kan inte städa alla databaser och endast en angiven på samma gång" -#: vacuumdb.c:434 -#, c-format -msgid "cannot vacuum specific table(s) in all databases" -msgstr "kan inte städa en specifik tabell i alla databaser." - -#: vacuumdb.c:438 -#, c-format -msgid "cannot vacuum specific schema(s) in all databases" -msgstr "kan inte städa en angivna scheman i alla databaser." - -#: vacuumdb.c:442 -#, c-format -msgid "cannot exclude specific schema(s) in all databases" -msgstr "kan inte exkludera angivna scheman i alla databaser" - -#: vacuumdb.c:446 +#: vacuumdb.c:436 #, c-format msgid "cannot vacuum all tables in schema(s) and specific table(s) at the same time" msgstr "kan inte städa alla tabeller i scheman samt angivna tabeller på samma gång" -#: vacuumdb.c:450 +#: vacuumdb.c:440 #, c-format msgid "cannot vacuum specific table(s) and exclude schema(s) at the same time" msgstr "kan inte städa angivna scheman och exkludera scheman på samma gång" -#: vacuumdb.c:454 +#: vacuumdb.c:444 #, c-format msgid "cannot vacuum all tables in schema(s) and exclude schema(s) at the same time" msgstr "kan inte städa alla tabeller i scheman och exkludera scheman på samma gång" -#: vacuumdb.c:467 +#: vacuumdb.c:457 #, c-format msgid "out of memory" msgstr "slut på minne" -#: vacuumdb.c:512 +#: vacuumdb.c:502 msgid "Generating minimal optimizer statistics (1 target)" msgstr "Skapar minimal optimeringsstatistik (1 mål)" -#: vacuumdb.c:513 +#: vacuumdb.c:503 msgid "Generating medium optimizer statistics (10 targets)" msgstr "Skapar medium optimeringsstatistik (10 mål)" -#: vacuumdb.c:514 +#: vacuumdb.c:504 msgid "Generating default (full) optimizer statistics" msgstr "Skapar förvald (full) optimeringsstatistik" -#: vacuumdb.c:593 +#: vacuumdb.c:583 #, c-format msgid "%s: processing database \"%s\": %s\n" msgstr "%s: processar databasen \"%s\": %s\n" -#: vacuumdb.c:596 +#: vacuumdb.c:586 #, c-format msgid "%s: vacuuming database \"%s\"\n" msgstr "%s: städar databasen \"%s\".\n" -#: vacuumdb.c:1138 +#: vacuumdb.c:1135 #, c-format msgid "vacuuming of table \"%s\" in database \"%s\" failed: %s" msgstr "städning av tabell \"%s\" i databasen \"%s\" misslyckades: %s" -#: vacuumdb.c:1141 +#: vacuumdb.c:1138 #, c-format msgid "vacuuming of database \"%s\" failed: %s" msgstr "städning av databasen \"%s\" misslyckades: %s" -#: vacuumdb.c:1149 +#: vacuumdb.c:1146 #, c-format msgid "" "%s cleans and analyzes a PostgreSQL database.\n" @@ -1112,134 +1129,134 @@ msgstr "" "%s städar och analyserar en PostgreSQL-databas.\n" "\n" -#: vacuumdb.c:1153 +#: vacuumdb.c:1150 #, c-format msgid " -a, --all vacuum all databases\n" msgstr " -a, --all städa i alla databaser\n" -#: vacuumdb.c:1154 +#: vacuumdb.c:1151 #, c-format msgid " --buffer-usage-limit=SIZE size of ring buffer used for vacuum\n" msgstr " --buffer-usage-limit=STORLEK storlek på ringbuffert som används vid städning\n" -#: vacuumdb.c:1155 +#: vacuumdb.c:1152 #, c-format msgid " -d, --dbname=DBNAME database to vacuum\n" msgstr " -d, --dbname=DBNAMN databas att städa i\n" -#: vacuumdb.c:1156 +#: vacuumdb.c:1153 #, c-format msgid " --disable-page-skipping disable all page-skipping behavior\n" msgstr " --disable-page-skipping stäng av alla sidöverhoppande beteeenden\n" -#: vacuumdb.c:1157 +#: vacuumdb.c:1154 #, c-format msgid " -e, --echo show the commands being sent to the server\n" msgstr " -e, --echo visa kommandon som skickas till servern\n" -#: vacuumdb.c:1158 +#: vacuumdb.c:1155 #, c-format msgid " -f, --full do full vacuuming\n" msgstr " -f, --full utför full städning\n" -#: vacuumdb.c:1159 +#: vacuumdb.c:1156 #, c-format msgid " -F, --freeze freeze row transaction information\n" msgstr " -F, --freeze frys information om radtransaktioner\n" -#: vacuumdb.c:1160 +#: vacuumdb.c:1157 #, c-format msgid " --force-index-cleanup always remove index entries that point to dead tuples\n" msgstr " --force-index-cleanup ta alltid bort indexposter som pekar på döda tupler\n" -#: vacuumdb.c:1161 +#: vacuumdb.c:1158 #, c-format msgid " -j, --jobs=NUM use this many concurrent connections to vacuum\n" msgstr " -j, --jobs=NUM använd så här många samtida anslutningar för städning\n" -#: vacuumdb.c:1162 +#: vacuumdb.c:1159 #, c-format msgid " --min-mxid-age=MXID_AGE minimum multixact ID age of tables to vacuum\n" msgstr " --min-mxid-age=MXID_ÅLDER minimal multixact-ID-ålder i tabeller som skall städas\n" -#: vacuumdb.c:1163 +#: vacuumdb.c:1160 #, c-format msgid " --min-xid-age=XID_AGE minimum transaction ID age of tables to vacuum\n" msgstr " --min-xid-age=XID_ÅLDER minimal transaktions-ID-ålder i tabeller som skall städas\n" -#: vacuumdb.c:1164 +#: vacuumdb.c:1161 #, c-format msgid " --no-index-cleanup don't remove index entries that point to dead tuples\n" msgstr " --no-index-cleanup ta inte bort indexposter som pekar på döda tupler\n" -#: vacuumdb.c:1165 +#: vacuumdb.c:1162 #, c-format msgid " --no-process-main skip the main relation\n" msgstr " --no-process-main skippa huvudrelationen\n" -#: vacuumdb.c:1166 +#: vacuumdb.c:1163 #, c-format msgid " --no-process-toast skip the TOAST table associated with the table to vacuum\n" msgstr " --no-process-toast hoppa över TOAST-tabellen som hör ihop med tabellen som städas\n" -#: vacuumdb.c:1167 +#: vacuumdb.c:1164 #, c-format msgid " --no-truncate don't truncate empty pages at the end of the table\n" msgstr " --no-truncate trunkera inte tomma sidor i slutet av tabellen\n" -#: vacuumdb.c:1168 +#: vacuumdb.c:1165 #, c-format -msgid " -n, --schema=PATTERN vacuum tables in the specified schema(s) only\n" -msgstr " -n, --schema=MALL städa enbart tabeller i angiva scheman\n" +msgid " -n, --schema=SCHEMA vacuum tables in the specified schema(s) only\n" +msgstr " -n, --schema=SCHEMA städa enbart tabeller i angiva scheman\n" -#: vacuumdb.c:1169 +#: vacuumdb.c:1166 #, c-format -msgid " -N, --exclude-schema=PATTERN do not vacuum tables in the specified schema(s)\n" -msgstr " -N, --exclude-schema=MALL städa inte tabeller i angivna scheman\n" +msgid " -N, --exclude-schema=SCHEMA do not vacuum tables in the specified schema(s)\n" +msgstr " -N, --exclude-schema=SCHEMA städa inte tabeller i angivna scheman\n" -#: vacuumdb.c:1170 +#: vacuumdb.c:1167 #, c-format msgid " -P, --parallel=PARALLEL_WORKERS use this many background workers for vacuum, if available\n" msgstr "" " -P, --parallel=PARALLELLA_ARBETARE\n" " använda så här många bakgrundsarbetare för städning, om det finns\n" -#: vacuumdb.c:1171 +#: vacuumdb.c:1168 #, c-format msgid " -q, --quiet don't write any messages\n" msgstr " -q, --quiet skriv inte ut några meddelanden\n" -#: vacuumdb.c:1172 +#: vacuumdb.c:1169 #, c-format msgid " --skip-locked skip relations that cannot be immediately locked\n" msgstr " --skip-locked hoppa äver relationer som inte kan låsas direkt\n" -#: vacuumdb.c:1173 +#: vacuumdb.c:1170 #, c-format msgid " -t, --table='TABLE[(COLUMNS)]' vacuum specific table(s) only\n" msgstr " -t, --table='TABELL[(KOLUMNER)]' städa enbart i dessa tabeller\n" -#: vacuumdb.c:1174 +#: vacuumdb.c:1171 #, c-format msgid " -v, --verbose write a lot of output\n" msgstr " -v, --verbose skriv massor med utdata\n" -#: vacuumdb.c:1175 +#: vacuumdb.c:1172 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version visa versionsinformation, avsluta sedan\n" -#: vacuumdb.c:1176 +#: vacuumdb.c:1173 #, c-format msgid " -z, --analyze update optimizer statistics\n" msgstr " -z, --analyze uppdatera optimeringsstatistik\n" -#: vacuumdb.c:1177 +#: vacuumdb.c:1174 #, c-format msgid " -Z, --analyze-only only update optimizer statistics; no vacuum\n" msgstr " -Z, --analyze-only uppdatera bara optimeringsstatistik; ingen städning\n" -#: vacuumdb.c:1178 +#: vacuumdb.c:1175 #, c-format msgid "" " --analyze-in-stages only update optimizer statistics, in multiple\n" @@ -1248,12 +1265,12 @@ msgstr "" " --analyze-in-stages uppdatera bara optimeringsstatistik, men i\n" " flera steg för snabbare resultat; ingen städning\n" -#: vacuumdb.c:1180 +#: vacuumdb.c:1177 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help visa denna hjälp, avsluta sedan\n" -#: vacuumdb.c:1188 +#: vacuumdb.c:1185 #, c-format msgid "" "\n" @@ -1261,15 +1278,3 @@ msgid "" msgstr "" "\n" "Läs beskrivningen av SQL-kommandot VACUUM för detaljer.\n" - -#, c-format -#~ msgid "cannot reindex system catalogs concurrently, skipping all" -#~ msgstr "kan inte omindexera systemkataloger parallellt, hoppar över alla" - -#, c-format -#~ msgid "only one of --locale and --lc-collate can be specified" -#~ msgstr "endast en av --locale och --lc-collate kan anges" - -#, c-format -#~ msgid "only one of --locale and --lc-ctype can be specified" -#~ msgstr "endast en av --locale och --lc-ctype kan anges" diff --git a/src/bin/scripts/po/uk.po b/src/bin/scripts/po/uk.po index 9d8769a622f..5ba97aa5045 100644 --- a/src/bin/scripts/po/uk.po +++ b/src/bin/scripts/po/uk.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: postgresql\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-12-17 22:19+0000\n" -"PO-Revision-Date: 2023-12-20 11:53\n" +"POT-Creation-Date: 2024-08-31 06:22+0000\n" +"PO-Revision-Date: 2024-09-23 19:38\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -14,8 +14,8 @@ msgstr "" "X-Crowdin-Project: postgresql\n" "X-Crowdin-Project-ID: 324573\n" "X-Crowdin-Language: uk\n" -"X-Crowdin-File: /REL_16_STABLE/pgscripts.pot\n" -"X-Crowdin-File-ID: 967\n" +"X-Crowdin-File: /REL_17_STABLE/pgscripts.pot\n" +"X-Crowdin-File-ID: 1038\n" #: ../../../src/common/logging.c:276 #, c-format @@ -48,6 +48,48 @@ msgstr "недостатньо пам'яті\n" msgid "cannot duplicate null pointer (internal error)\n" msgstr "неможливо дублювати нульовий покажчик (внутрішня помилка)\n" +#: ../../common/file_utils.c:70 ../../common/file_utils.c:347 +#: ../../common/file_utils.c:406 ../../common/file_utils.c:480 +#, c-format +msgid "could not open file \"%s\": %m" +msgstr "не можливо відкрити файл \"%s\": %m" + +#: ../../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\": %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 +#, c-format +msgid "could not open directory \"%s\": %m" +msgstr "не вдалося відкрити каталог \"%s\": %m" + +#: ../../common/file_utils.c:169 ../../common/file_utils.c:315 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "не вдалося прочитати каталог \"%s\": %m" + +#: ../../common/file_utils.c:418 ../../common/file_utils.c:488 +#, c-format +msgid "could not fsync file \"%s\": %m" +msgstr "не вдалося fsync файл \"%s\": %m" + +#: ../../common/file_utils.c:498 +#, c-format +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "не вдалося перейменувати файл \"%s\" на \"%s\": %m" + #: ../../common/username.c:43 #, c-format msgid "could not look up effective user ID %ld: %s" @@ -62,11 +104,11 @@ msgstr "користувача не існує" msgid "user name lookup failure: error code %lu" msgstr "невдала підстановка імені користувача: код помилки %lu" -#: ../../fe_utils/cancel.c:189 ../../fe_utils/cancel.c:238 +#: ../../fe_utils/cancel.c:186 ../../fe_utils/cancel.c:235 msgid "Cancel request sent\n" msgstr "Запит на скасування відправлений\n" -#: ../../fe_utils/cancel.c:190 ../../fe_utils/cancel.c:239 +#: ../../fe_utils/cancel.c:187 ../../fe_utils/cancel.c:236 msgid "Could not send cancel request: " msgstr "Не вдалося надіслати запит на скасування: " @@ -94,6 +136,11 @@ msgstr "неприпустиме значення \"%s\" для параметр 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" + #: ../../fe_utils/parallel_slot.c:317 #, c-format msgid "too many jobs for this platform: %d" @@ -128,17 +175,22 @@ msgstr[3] "(%lu рядка)" msgid "Interrupted\n" msgstr "Перервано\n" -#: ../../fe_utils/print.c:3218 +#: ../../fe_utils/print.c:3188 +#, c-format +msgid "Cannot print table contents: number of cells %lld is equal to or exceeds maximum %lld.\n" +msgstr "Неможливо надрукувати вміст таблиці: кількість комірок %lld дорівнює або перевищує максимальне значення %lld.\n" + +#: ../../fe_utils/print.c:3229 #, c-format msgid "Cannot add header to table content: column count of %d exceeded.\n" msgstr "Неможливо додати заголовок до вмісту таблиці: кількість колонок %d перевищено.\n" -#: ../../fe_utils/print.c:3258 +#: ../../fe_utils/print.c:3272 #, c-format -msgid "Cannot add cell to table content: total cell count of %d exceeded.\n" -msgstr "Неможливо додати комірку до вмісту таблиці: перевищено загальну кількість комірок %d.\n" +msgid "Cannot add cell to table content: total cell count of %lld exceeded.\n" +msgstr "Неможливо додати комірку до вмісту таблиці: перевищено загальну кількість комірок %lld.\n" -#: ../../fe_utils/print.c:3516 +#: ../../fe_utils/print.c:3530 #, c-format msgid "invalid output format (internal error): %d" msgstr "невірний формат виводу (внутрішня помилка): %d" @@ -153,36 +205,41 @@ msgstr "запит не вдався: %s" msgid "Query was: %s" msgstr "Запит був: %s" -#: clusterdb.c:113 clusterdb.c:132 createdb.c:144 createdb.c:163 +#: ../../fe_utils/string_utils.c:434 +#, c-format +msgid "shell command argument contains a newline or carriage return: \"%s\"\n" +msgstr "аргумент командної оболонки містить символ нового рядка або повернення каретки: \"%s\"\n" + +#: ../../fe_utils/string_utils.c:607 +#, c-format +msgid "database name contains a newline or carriage return: \"%s\"\n" +msgstr "назва бази даних містить символ нового рядка або повернення каретки: \"%s\"\n" + +#: clusterdb.c:114 clusterdb.c:133 createdb.c:149 createdb.c:168 #: createuser.c:195 createuser.c:210 dropdb.c:104 dropdb.c:113 dropdb.c:121 #: dropuser.c:95 dropuser.c:110 dropuser.c:123 pg_isready.c:97 pg_isready.c:111 -#: reindexdb.c:174 reindexdb.c:193 vacuumdb.c:279 vacuumdb.c:299 +#: reindexdb.c:177 reindexdb.c:196 vacuumdb.c:280 vacuumdb.c:300 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Спробуйте \"%s --help\" для додаткової інформації." -#: clusterdb.c:130 createdb.c:161 createuser.c:208 dropdb.c:119 dropuser.c:108 -#: pg_isready.c:109 reindexdb.c:191 vacuumdb.c:297 +#: clusterdb.c:131 createdb.c:166 createuser.c:208 dropdb.c:119 dropuser.c:108 +#: pg_isready.c:109 reindexdb.c:194 vacuumdb.c:298 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "забагато аргументів у командному рядку (перший \"%s\")" -#: clusterdb.c:148 +#: clusterdb.c:149 #, c-format msgid "cannot cluster all databases and a specific one at the same time" msgstr "неможливо кластеризувати всі бази даних і одну вказану одночасно" -#: clusterdb.c:151 -#, c-format -msgid "cannot cluster specific table(s) in all databases" -msgstr "неможливо кластеризувати вказані таблиці у всіх базах даних" - -#: clusterdb.c:215 +#: clusterdb.c:214 #, c-format msgid "clustering of table \"%s\" in database \"%s\" failed: %s" msgstr "кластеризувати таблицю \"%s\" у базі даних \"%s\" не вдалося: %s" -#: clusterdb.c:218 +#: clusterdb.c:217 #, c-format msgid "clustering of database \"%s\" failed: %s" msgstr "кластеризувати базу даних \"%s\" не вдалося: %s" @@ -192,125 +249,125 @@ msgstr "кластеризувати базу даних \"%s\" не вдало msgid "%s: clustering database \"%s\"\n" msgstr "%s: кластеризація бази даних \"%s\"\n" -#: clusterdb.c:264 +#: clusterdb.c:274 #, c-format msgid "%s clusters all previously clustered tables in a database.\n\n" msgstr "%s кластеризація усіх попередньо кластеризованих таблиць в базі даних.\n\n" -#: clusterdb.c:265 createdb.c:288 createuser.c:415 dropdb.c:172 dropuser.c:170 -#: pg_isready.c:226 reindexdb.c:750 vacuumdb.c:1156 +#: clusterdb.c:275 createdb.c:298 createuser.c:415 dropdb.c:172 dropuser.c:170 +#: pg_isready.c:226 reindexdb.c:868 vacuumdb.c:1147 #, c-format msgid "Usage:\n" msgstr "Використання:\n" -#: clusterdb.c:266 reindexdb.c:751 vacuumdb.c:1157 +#: clusterdb.c:276 reindexdb.c:869 vacuumdb.c:1148 #, c-format msgid " %s [OPTION]... [DBNAME]\n" msgstr " %s [OPTION]... [DBNAME]\n" -#: clusterdb.c:267 createdb.c:290 createuser.c:417 dropdb.c:174 dropuser.c:172 -#: pg_isready.c:229 reindexdb.c:752 vacuumdb.c:1158 +#: clusterdb.c:277 createdb.c:300 createuser.c:417 dropdb.c:174 dropuser.c:172 +#: pg_isready.c:229 reindexdb.c:870 vacuumdb.c:1149 #, c-format msgid "\n" "Options:\n" msgstr "\n" "Параметри:\n" -#: clusterdb.c:268 +#: clusterdb.c:278 #, c-format msgid " -a, --all cluster all databases\n" msgstr " -a, --all кластеризація усіх баз даних\n" -#: clusterdb.c:269 +#: clusterdb.c:279 #, c-format msgid " -d, --dbname=DBNAME database to cluster\n" msgstr " -d, --dbname=ІМ'Я_БД база даних для кластеризації\n" -#: clusterdb.c:270 createuser.c:423 dropdb.c:175 dropuser.c:173 +#: clusterdb.c:280 createuser.c:423 dropdb.c:175 dropuser.c:173 #, c-format msgid " -e, --echo show the commands being sent to the server\n" msgstr " -e, --echo показати команди, надіслані серверу\n" -#: clusterdb.c:271 +#: clusterdb.c:281 #, c-format msgid " -q, --quiet don't write any messages\n" msgstr " -q, --quiet не виводити жодних повідомлень\n" -#: clusterdb.c:272 +#: clusterdb.c:282 #, c-format msgid " -t, --table=TABLE cluster specific table(s) only\n" msgstr " -t, --table=ТАБЛИЦЯ кластеризувати тільки вказані таблиці\n" -#: clusterdb.c:273 +#: clusterdb.c:283 #, c-format msgid " -v, --verbose write a lot of output\n" msgstr " -v, --verbose виводити багато інформації\n" -#: clusterdb.c:274 createuser.c:439 dropdb.c:178 dropuser.c:176 +#: clusterdb.c:284 createuser.c:439 dropdb.c:178 dropuser.c:176 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version вивести інформацію про версію і вийти\n" -#: clusterdb.c:275 createuser.c:447 dropdb.c:180 dropuser.c:178 +#: clusterdb.c:285 createuser.c:447 dropdb.c:180 dropuser.c:178 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help показати цю довідку, потім вийти\n" -#: clusterdb.c:276 createdb.c:306 createuser.c:448 dropdb.c:181 dropuser.c:179 -#: pg_isready.c:235 reindexdb.c:767 vacuumdb.c:1187 +#: clusterdb.c:286 createdb.c:317 createuser.c:448 dropdb.c:181 dropuser.c:179 +#: pg_isready.c:235 reindexdb.c:885 vacuumdb.c:1178 #, c-format msgid "\n" "Connection options:\n" msgstr "\n" "Налаштування з'єднання:\n" -#: clusterdb.c:277 createuser.c:449 dropdb.c:182 dropuser.c:180 vacuumdb.c:1188 +#: clusterdb.c:287 createuser.c:449 dropdb.c:182 dropuser.c:180 vacuumdb.c:1179 #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr " -h, --host=HOSTNAME хост сервера бази даних або каталог сокетів\n" -#: clusterdb.c:278 createuser.c:450 dropdb.c:183 dropuser.c:181 vacuumdb.c:1189 +#: clusterdb.c:288 createuser.c:450 dropdb.c:183 dropuser.c:181 vacuumdb.c:1180 #, c-format msgid " -p, --port=PORT database server port\n" msgstr " -p, --port=PORT порт сервера бази даних\n" -#: clusterdb.c:279 dropdb.c:184 vacuumdb.c:1190 +#: clusterdb.c:289 dropdb.c:184 vacuumdb.c:1181 #, c-format msgid " -U, --username=USERNAME user name to connect as\n" msgstr " -U, --username=ІМ'Я_КОРИСТУВАЧА ім'я користувача для з'єднання з сервером\n" -#: clusterdb.c:280 createuser.c:452 dropdb.c:185 dropuser.c:183 vacuumdb.c:1191 +#: clusterdb.c:290 createuser.c:452 dropdb.c:185 dropuser.c:183 vacuumdb.c:1182 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password ніколи не запитувати пароль\n" -#: clusterdb.c:281 createuser.c:453 dropdb.c:186 dropuser.c:184 vacuumdb.c:1192 +#: clusterdb.c:291 createuser.c:453 dropdb.c:186 dropuser.c:184 vacuumdb.c:1183 #, c-format msgid " -W, --password force password prompt\n" msgstr " -W, --password запросити пароль\n" -#: clusterdb.c:282 dropdb.c:187 vacuumdb.c:1193 +#: clusterdb.c:292 dropdb.c:187 vacuumdb.c:1184 #, c-format msgid " --maintenance-db=DBNAME alternate maintenance database\n" msgstr " --maintenance-db=DBNAME альтернативна бази даних для обслуговування\n" -#: clusterdb.c:283 +#: clusterdb.c:293 #, c-format msgid "\n" "Read the description of the SQL command CLUSTER for details.\n" msgstr "\n" "Для деталей читайте опис команди SQL CLUSTER.\n" -#: clusterdb.c:284 createdb.c:314 createuser.c:454 dropdb.c:188 dropuser.c:185 -#: pg_isready.c:240 reindexdb.c:775 vacuumdb.c:1195 +#: clusterdb.c:294 createdb.c:325 createuser.c:454 dropdb.c:188 dropuser.c:185 +#: pg_isready.c:240 reindexdb.c:893 vacuumdb.c:1186 #, c-format msgid "\n" "Report bugs to <%s>.\n" msgstr "\n" "Повідомляти про помилки на <%s>.\n" -#: clusterdb.c:285 createdb.c:315 createuser.c:455 dropdb.c:189 dropuser.c:186 -#: pg_isready.c:241 reindexdb.c:776 vacuumdb.c:1196 +#: clusterdb.c:295 createdb.c:326 createuser.c:455 dropdb.c:189 dropuser.c:186 +#: pg_isready.c:241 reindexdb.c:894 vacuumdb.c:1187 #, c-format msgid "%s home page: <%s>\n" msgstr "Домашня сторінка %s: <%s>\n" @@ -346,134 +403,139 @@ msgstr "%s (%s/%s) " msgid "Please answer \"%s\" or \"%s\".\n" msgstr "Відповідь має бути \"%s\" або \"%s\".\n" -#: createdb.c:170 +#: createdb.c:175 #, c-format msgid "\"%s\" is not a valid encoding name" msgstr "\"%s\" не є невірним ім'ям кодування" -#: createdb.c:250 +#: createdb.c:260 #, c-format msgid "database creation failed: %s" msgstr "створити базу даних не вдалося: %s" -#: createdb.c:269 +#: createdb.c:279 #, c-format msgid "comment creation failed (database was created): %s" msgstr "не вдалося створити коментарі (база даних була створена): %s" -#: createdb.c:287 +#: createdb.c:297 #, c-format msgid "%s creates a PostgreSQL database.\n\n" msgstr "%s створює базу даних PostgreSQL.\n\n" -#: createdb.c:289 +#: createdb.c:299 #, c-format msgid " %s [OPTION]... [DBNAME] [DESCRIPTION]\n" msgstr " %s [OPTION]... [DBNAME] [DESCRIPTION]\n" -#: createdb.c:291 +#: createdb.c:301 #, c-format msgid " -D, --tablespace=TABLESPACE default tablespace for the database\n" msgstr " -D, --tablespace=ТАБЛИЧНИЙ_ПРОСТІР табличний простір для бази даних за замовчуванням\n" -#: createdb.c:292 reindexdb.c:756 +#: createdb.c:302 reindexdb.c:874 #, c-format msgid " -e, --echo show the commands being sent to the server\n" msgstr " -e, --echo показати команди, надіслані серверу\n" -#: createdb.c:293 +#: createdb.c:303 #, c-format msgid " -E, --encoding=ENCODING encoding for the database\n" msgstr " -E, --encoding=КОДУВАННЯ кодування бази даних\n" -#: createdb.c:294 +#: createdb.c:304 #, c-format msgid " -l, --locale=LOCALE locale settings for the database\n" msgstr " -l, --locale=ЛОКАЛЬ параметри локалі бази даних\n" -#: createdb.c:295 +#: createdb.c:305 #, c-format msgid " --lc-collate=LOCALE LC_COLLATE setting for the database\n" msgstr " --lc-collate=ЛОКАЛЬ параметр LC_COLLATE для бази даних\n" -#: createdb.c:296 +#: createdb.c:306 #, c-format msgid " --lc-ctype=LOCALE LC_CTYPE setting for the database\n" msgstr " --lc-ctype=ЛОКАЛЬ параметр LC_CTYPE для бази даних\n" -#: createdb.c:297 +#: createdb.c:307 +#, c-format +msgid " --builtin-locale=LOCALE builtin locale setting for the database\n" +msgstr " --builtin-locale=LOCALE параметри вбудованої локалі бази даних\n" + +#: createdb.c:308 #, c-format msgid " --icu-locale=LOCALE ICU locale setting for the database\n" msgstr " --icu-locale=LOCALE параметр локалі ICU бази даних\n" -#: createdb.c:298 +#: createdb.c:309 #, c-format msgid " --icu-rules=RULES ICU rules setting for the database\n" msgstr " --icu-locale=RULES правила ICU для бази даних\n" -#: createdb.c:299 +#: createdb.c:310 #, c-format -msgid " --locale-provider={libc|icu}\n" +msgid " --locale-provider={builtin|libc|icu}\n" " locale provider for the database's default collation\n" -msgstr " --locale-provider={libc|icu}\n" +msgstr " --locale-provider={builtin|libc|icu}\n" " провайдер локалі для сортування бази даних за замовчуванням\n" -#: createdb.c:301 +#: createdb.c:312 #, c-format msgid " -O, --owner=OWNER database user to own the new database\n" msgstr " -O, --власник=ВЛАСНИК користувач-власник нової бази даних\n" -#: createdb.c:302 +#: createdb.c:313 #, c-format msgid " -S, --strategy=STRATEGY database creation strategy wal_log or file_copy\n" msgstr " -S, --strategy=STRATEGY стратегія створення бази даних для wal_log або file_copy\n" -#: createdb.c:303 +#: createdb.c:314 #, c-format msgid " -T, --template=TEMPLATE template database to copy\n" msgstr " -T, --шаблон=ШАБЛОН шаблонна база даних для копіювання\n" -#: createdb.c:304 reindexdb.c:765 +#: createdb.c:315 reindexdb.c:883 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version вивести інформацію про версію, потім вийти\n" -#: createdb.c:305 reindexdb.c:766 +#: createdb.c:316 reindexdb.c:884 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help показати цю довідку, потім вийти\n" -#: createdb.c:307 reindexdb.c:768 +#: createdb.c:318 reindexdb.c:886 #, c-format msgid " -h, --host=HOSTNAME database server host or socket directory\n" msgstr " -h, --host=ІМ'Я_ХОСТА хост сервера бази даних або каталог сокетів\n" -#: createdb.c:308 reindexdb.c:769 +#: createdb.c:319 reindexdb.c:887 #, c-format msgid " -p, --port=PORT database server port\n" msgstr " -p, --port=ПОРТ порт сервера бази даних\n" -#: createdb.c:309 reindexdb.c:770 +#: createdb.c:320 reindexdb.c:888 #, c-format msgid " -U, --username=USERNAME user name to connect as\n" msgstr " -U, --username=ІМ'Я_КОРИСТУВАЧА ім'я користувача для з'єднання з сервером\n" -#: createdb.c:310 reindexdb.c:771 +#: createdb.c:321 reindexdb.c:889 #, c-format msgid " -w, --no-password never prompt for password\n" msgstr " -w, --no-password ніколи не запитувати пароль\n" -#: createdb.c:311 reindexdb.c:772 +#: createdb.c:322 reindexdb.c:890 #, c-format msgid " -W, --password force password prompt\n" msgstr " -W, --password запросити пароль\n" -#: createdb.c:312 reindexdb.c:773 +#: createdb.c:323 reindexdb.c:891 #, c-format msgid " --maintenance-db=DBNAME alternate maintenance database\n" msgstr " --maintenance-db=DBNAME альтернативна бази даних для обслуговування\n" -#: createdb.c:313 +#: createdb.c:324 #, c-format msgid "\n" "By default, a database with the same name as the current user is created.\n" @@ -818,390 +880,335 @@ msgstr " -t, --timeout=SECS секунд для очікування пр msgid " -U, --username=USERNAME user name to connect as\n" msgstr " -U, --username=ІМ'Я_КОРИСТУВАЧА ім'я користувача для з'єднання з сервером\n" -#: reindexdb.c:209 -#, c-format -msgid "cannot reindex all databases and a specific one at the same time" -msgstr "неможливо переіндексувати всі бази даних і одну вказану одночасно" - -#: reindexdb.c:211 -#, c-format -msgid "cannot reindex all databases and system catalogs at the same time" -msgstr "не можливо переіндексувати всі бази даних і системні каталоги одночасно" - -#: reindexdb.c:213 -#, c-format -msgid "cannot reindex specific schema(s) in all databases" -msgstr "неможливо переіндексувати вказані схеми в усіх базах даних" - -#: reindexdb.c:215 -#, c-format -msgid "cannot reindex specific table(s) in all databases" -msgstr "неможливо переіндексувати вказані таблиці в усіх базах даних" - -#: reindexdb.c:217 -#, c-format -msgid "cannot reindex specific index(es) in all databases" -msgstr "неможливо переіндексувати вказані індекси в усіх базах даних" - -#: reindexdb.c:227 -#, c-format -msgid "cannot reindex specific schema(s) and system catalogs at the same time" -msgstr "не можливо переіндексувати вказані схеми і системні каталоги одночасно" - -#: reindexdb.c:229 -#, c-format -msgid "cannot reindex specific table(s) and system catalogs at the same time" -msgstr "не можливо переіндексувати вказані таблиці і системні каталоги одночасно" - -#: reindexdb.c:231 -#, c-format -msgid "cannot reindex specific index(es) and system catalogs at the same time" -msgstr "не можливо переіндексувати вказані індекси і системні каталоги одночасно" - -#: reindexdb.c:234 +#: reindexdb.c:210 #, c-format msgid "cannot use multiple jobs to reindex system catalogs" msgstr "не можна використовувати декілька завдань для переіндексування системних каталогів" -#: reindexdb.c:260 +#: reindexdb.c:215 #, c-format -msgid "cannot use multiple jobs to reindex indexes" -msgstr "не можна використовувати декілька завдань для переіндексування індексів" +msgid "cannot reindex all databases and a specific one at the same time" +msgstr "неможливо переіндексувати всі бази даних і одну вказану одночасно" -#: reindexdb.c:323 reindexdb.c:330 vacuumdb.c:525 vacuumdb.c:532 vacuumdb.c:539 -#: vacuumdb.c:546 vacuumdb.c:553 vacuumdb.c:560 vacuumdb.c:567 vacuumdb.c:572 -#: vacuumdb.c:576 vacuumdb.c:580 vacuumdb.c:584 +#: reindexdb.c:296 reindexdb.c:303 vacuumdb.c:515 vacuumdb.c:522 vacuumdb.c:529 +#: vacuumdb.c:536 vacuumdb.c:543 vacuumdb.c:550 vacuumdb.c:557 vacuumdb.c:562 +#: vacuumdb.c:566 vacuumdb.c:570 vacuumdb.c:574 #, c-format msgid "cannot use the \"%s\" option on server versions older than PostgreSQL %s" msgstr "не можна використовувати параметр \"%s\" на серверній версії старішій за PostgreSQL %s" -#: reindexdb.c:561 +#: reindexdb.c:584 #, c-format msgid "reindexing of database \"%s\" failed: %s" msgstr "переіндексувати базу даних \"%s\" не вдалося: %s" -#: reindexdb.c:565 +#: reindexdb.c:588 #, c-format msgid "reindexing of index \"%s\" in database \"%s\" failed: %s" msgstr "переіндексувати індекси \"%s\" в базі даних \"%s\" не вдалося: %s" -#: reindexdb.c:569 +#: reindexdb.c:592 #, c-format msgid "reindexing of schema \"%s\" in database \"%s\" failed: %s" msgstr "переіндексувати схему \"%s\" в базі даних \"%s\" не вдалося: %s" -#: reindexdb.c:573 +#: reindexdb.c:596 #, c-format msgid "reindexing of system catalogs in database \"%s\" failed: %s" msgstr "переіндексування системних каталогів в базі даних \"%s\" не вдалося: %s" -#: reindexdb.c:577 +#: reindexdb.c:600 #, c-format msgid "reindexing of table \"%s\" in database \"%s\" failed: %s" msgstr "переіндексувати таблиці \"%s\" в базі даних \"%s\" не вдалося: %s" -#: reindexdb.c:732 +#: reindexdb.c:824 #, c-format msgid "%s: reindexing database \"%s\"\n" msgstr "%s: переіндексування бази даних \"%s\"\n" -#: reindexdb.c:749 +#: reindexdb.c:867 #, c-format msgid "%s reindexes a PostgreSQL database.\n\n" msgstr "%s переіндексовує базу даних PostgreSQL.\n\n" -#: reindexdb.c:753 +#: reindexdb.c:871 #, c-format msgid " -a, --all reindex all databases\n" msgstr " -a, --all переіндексувати всі бази даних\n" -#: reindexdb.c:754 +#: reindexdb.c:872 #, c-format msgid " --concurrently reindex concurrently\n" msgstr " --concurrently переіндексувати одночасно\n" -#: reindexdb.c:755 +#: reindexdb.c:873 #, c-format msgid " -d, --dbname=DBNAME database to reindex\n" msgstr " -d, --dbname=DBNAME база даних для переіндексування\n" -#: reindexdb.c:757 +#: reindexdb.c:875 #, c-format msgid " -i, --index=INDEX recreate specific index(es) only\n" msgstr " -i, --index=INDEX повторно створити лише вказані індекси\n" -#: reindexdb.c:758 +#: reindexdb.c:876 #, c-format msgid " -j, --jobs=NUM use this many concurrent connections to reindex\n" msgstr " -j, --jobs=NUM використати цю кількість паралельних підключень для переіндексування\n" -#: reindexdb.c:759 +#: reindexdb.c:877 #, c-format msgid " -q, --quiet don't write any messages\n" msgstr " -q, --quiet не писати жодних повідомлень\n" -#: reindexdb.c:760 +#: reindexdb.c:878 #, c-format msgid " -s, --system reindex system catalogs only\n" msgstr " -s, --system переіндексувати тільки системні каталоги\n" -#: reindexdb.c:761 +#: reindexdb.c:879 #, c-format msgid " -S, --schema=SCHEMA reindex specific schema(s) only\n" msgstr " -S, --schema=SCHEMA переіндексувати лише вказані схеми\n" -#: reindexdb.c:762 +#: reindexdb.c:880 #, c-format msgid " -t, --table=TABLE reindex specific table(s) only\n" msgstr " -t, --table=TABLE переіндексувати лише вказані таблиці\n" -#: reindexdb.c:763 +#: reindexdb.c:881 #, c-format msgid " --tablespace=TABLESPACE tablespace where indexes are rebuilt\n" msgstr " --tablespace=TABLESPACE табличний простір для перебудованих індексів\n" -#: reindexdb.c:764 +#: reindexdb.c:882 #, c-format msgid " -v, --verbose write a lot of output\n" msgstr " -v, --verbose виводити багато повідомлень\n" -#: reindexdb.c:774 +#: reindexdb.c:892 #, c-format msgid "\n" "Read the description of the SQL command REINDEX for details.\n" msgstr "\n" "Для деталей читайте опис команди SQL REINDEX.\n" -#: vacuumdb.c:312 vacuumdb.c:315 vacuumdb.c:318 vacuumdb.c:321 vacuumdb.c:324 -#: vacuumdb.c:327 vacuumdb.c:330 vacuumdb.c:333 vacuumdb.c:342 +#: vacuumdb.c:313 vacuumdb.c:316 vacuumdb.c:319 vacuumdb.c:322 vacuumdb.c:325 +#: vacuumdb.c:328 vacuumdb.c:331 vacuumdb.c:334 vacuumdb.c:343 #, c-format msgid "cannot use the \"%s\" option when performing only analyze" msgstr "не можна використовувати параметр \"%s\" під час виконання лише аналіза" -#: vacuumdb.c:345 +#: vacuumdb.c:346 #, c-format msgid "cannot use the \"%s\" option when performing full vacuum" msgstr "не можна використовувати параметр \"%s\" під час виконання VACUUM FULL" -#: vacuumdb.c:351 vacuumdb.c:359 +#: vacuumdb.c:352 vacuumdb.c:360 #, c-format msgid "cannot use the \"%s\" option with the \"%s\" option" msgstr "використовувати параметр \"%s\" з параметром \"%s\" не можна" -#: vacuumdb.c:430 +#: vacuumdb.c:432 #, c-format msgid "cannot vacuum all databases and a specific one at the same time" msgstr "неможливо очистити всі бази даних і одну вказану одночасно" -#: vacuumdb.c:434 -#, c-format -msgid "cannot vacuum specific table(s) in all databases" -msgstr "неможливо очистити вказані таблиці в усіх базах даних" - -#: vacuumdb.c:438 -#, c-format -msgid "cannot vacuum specific schema(s) in all databases" -msgstr "неможливо очистити вказані схеми в усіх базах даних" - -#: vacuumdb.c:442 -#, c-format -msgid "cannot exclude specific schema(s) in all databases" -msgstr "неможливо виключити вказані схеми в усіх базах даних" - -#: vacuumdb.c:446 +#: vacuumdb.c:436 #, c-format msgid "cannot vacuum all tables in schema(s) and specific table(s) at the same time" msgstr "неможливо очистити всі таблиці в схемах та вказані таблиці одночасно" -#: vacuumdb.c:450 +#: vacuumdb.c:440 #, c-format msgid "cannot vacuum specific table(s) and exclude schema(s) at the same time" msgstr "неможливо очистити вказані таблиці і виключити схеми одночасно" -#: vacuumdb.c:454 +#: vacuumdb.c:444 #, c-format msgid "cannot vacuum all tables in schema(s) and exclude schema(s) at the same time" msgstr "неможливо очистити всі таблиці в схемах та виключити схеми одночасно" -#: vacuumdb.c:467 +#: vacuumdb.c:457 #, c-format msgid "out of memory" msgstr "недостатньо пам'яті" -#: vacuumdb.c:512 +#: vacuumdb.c:502 msgid "Generating minimal optimizer statistics (1 target)" msgstr "Генерування мінімальної статистики для оптімизатора (1 мета)" -#: vacuumdb.c:513 +#: vacuumdb.c:503 msgid "Generating medium optimizer statistics (10 targets)" msgstr "Генерування середньої статистики для оптимізатора (10 цілей)" -#: vacuumdb.c:514 +#: vacuumdb.c:504 msgid "Generating default (full) optimizer statistics" msgstr "Генерування статистики для оптимізатора за замовчуванням (повністю)" -#: vacuumdb.c:593 +#: vacuumdb.c:583 #, c-format msgid "%s: processing database \"%s\": %s\n" msgstr "%s: обробка бази даних \"%s\": %s\n" -#: vacuumdb.c:596 +#: vacuumdb.c:586 #, c-format msgid "%s: vacuuming database \"%s\"\n" msgstr "%s: очищення бази даних \"%s\"\n" -#: vacuumdb.c:1144 +#: vacuumdb.c:1135 #, c-format msgid "vacuuming of table \"%s\" in database \"%s\" failed: %s" msgstr "очистити таблиці \"%s\" в базі даних \"%s\" не вдалося: %s" -#: vacuumdb.c:1147 +#: vacuumdb.c:1138 #, c-format msgid "vacuuming of database \"%s\" failed: %s" msgstr "очистити базу даних \"%s\" не вдалося: %s" -#: vacuumdb.c:1155 +#: vacuumdb.c:1146 #, c-format msgid "%s cleans and analyzes a PostgreSQL database.\n\n" msgstr "%s очищує й аналізує базу даних PostgreSQL.\n\n" -#: vacuumdb.c:1159 +#: vacuumdb.c:1150 #, c-format msgid " -a, --all vacuum all databases\n" msgstr " -a, --all очистити усі бази даних\n" -#: vacuumdb.c:1160 +#: vacuumdb.c:1151 #, c-format msgid " --buffer-usage-limit=SIZE size of ring buffer used for vacuum\n" msgstr " --buffer-usage-limit=SIZE розмір кільцевого буферу для очистки\n" -#: vacuumdb.c:1161 +#: vacuumdb.c:1152 #, c-format msgid " -d, --dbname=DBNAME database to vacuum\n" msgstr " -d, --dbname=ІМ'Я_БД база даних для очищення\n" -#: vacuumdb.c:1162 +#: vacuumdb.c:1153 #, c-format msgid " --disable-page-skipping disable all page-skipping behavior\n" msgstr " --disable-page-skipping відключити пропуск сторінок\n" -#: vacuumdb.c:1163 +#: vacuumdb.c:1154 #, c-format msgid " -e, --echo show the commands being sent to the server\n" msgstr " -e, --echo показати команди, надіслані серверу\n" -#: vacuumdb.c:1164 +#: vacuumdb.c:1155 #, c-format msgid " -f, --full do full vacuuming\n" msgstr " -f, --full зробити повне очищення\n" -#: vacuumdb.c:1165 +#: vacuumdb.c:1156 #, c-format msgid " -F, --freeze freeze row transaction information\n" msgstr " -F, --freeze заморозити інформацію щодо транзакцій в рядках\n" -#: vacuumdb.c:1166 +#: vacuumdb.c:1157 #, c-format msgid " --force-index-cleanup always remove index entries that point to dead tuples\n" msgstr " --force-index-cleanup завжди видаляти записи індексів, які вказують на мертві кортежі\n" -#: vacuumdb.c:1167 +#: vacuumdb.c:1158 #, c-format msgid " -j, --jobs=NUM use this many concurrent connections to vacuum\n" msgstr " -j, --jobs=ЧИСЛО використати ці паралельні підключення для очищення\n" -#: vacuumdb.c:1168 +#: vacuumdb.c:1159 #, c-format msgid " --min-mxid-age=MXID_AGE minimum multixact ID age of tables to vacuum\n" msgstr " --min-mxid-age=MXID_AGE мінімальний ID ери мультитранзакції таблиць для вакууму\n" -#: vacuumdb.c:1169 +#: vacuumdb.c:1160 #, c-format msgid " --min-xid-age=XID_AGE minimum transaction ID age of tables to vacuum\n" msgstr " --min-mxid-age=MXID_AGE мінімальний ID ери транзакції таблиць для вакууму\n" -#: vacuumdb.c:1170 +#: vacuumdb.c:1161 #, c-format msgid " --no-index-cleanup don't remove index entries that point to dead tuples\n" msgstr " --no-index-cleanup не видаляти записи індексів, які вказують на мертві кортежі\n" -#: vacuumdb.c:1171 +#: vacuumdb.c:1162 #, c-format msgid " --no-process-main skip the main relation\n" msgstr " --no-process-main пропустити головне відношення\n" -#: vacuumdb.c:1172 +#: vacuumdb.c:1163 #, c-format msgid " --no-process-toast skip the TOAST table associated with the table to vacuum\n" msgstr " --no-process-toast пропускати таблицю TOAST, пов'язану з таблицею для очищення\n" -#: vacuumdb.c:1173 +#: vacuumdb.c:1164 #, c-format msgid " --no-truncate don't truncate empty pages at the end of the table\n" msgstr " --no-truncate не скорочувати пусті сторінки наприкінці таблиці\n" -#: vacuumdb.c:1174 +#: vacuumdb.c:1165 #, c-format msgid " -n, --schema=SCHEMA vacuum tables in the specified schema(s) only\n" msgstr " -n, --schema=SCHEMA очистити тільки таблиці у вказаних схемах\n" -#: vacuumdb.c:1175 +#: vacuumdb.c:1166 #, c-format msgid " -N, --exclude-schema=SCHEMA do not vacuum tables in the specified schema(s)\n" msgstr " -N, --exclude-schema=SCHEMA не очищати таблиці у вказаних схемах\n" -#: vacuumdb.c:1176 +#: vacuumdb.c:1167 #, c-format msgid " -P, --parallel=PARALLEL_WORKERS use this many background workers for vacuum, if available\n" msgstr " -P, --parallel=PARALLEL_WORKERS використати таку кількість фонових робітників для очищення, якщо вони доступні\n" -#: vacuumdb.c:1177 +#: vacuumdb.c:1168 #, c-format msgid " -q, --quiet don't write any messages\n" msgstr " -q, --quiet не писати жодних повідомлень\n" -#: vacuumdb.c:1178 +#: vacuumdb.c:1169 #, c-format msgid " --skip-locked skip relations that cannot be immediately locked\n" msgstr " --skip-locked пропустити відношення, що не можуть бути заблоковані негайно\n" -#: vacuumdb.c:1179 +#: vacuumdb.c:1170 #, c-format msgid " -t, --table='TABLE[(COLUMNS)]' vacuum specific table(s) only\n" msgstr " -t, --table='ТАБЛИЦЯ[(СТОВПЦІ)]' очистити тільки вказані таблиці\n" -#: vacuumdb.c:1180 +#: vacuumdb.c:1171 #, c-format msgid " -v, --verbose write a lot of output\n" msgstr " -v, --verbose виводити багато інформації\n" -#: vacuumdb.c:1181 +#: vacuumdb.c:1172 #, c-format msgid " -V, --version output version information, then exit\n" msgstr " -V, --version вивести інформацію про версію і вийти\n" -#: vacuumdb.c:1182 +#: vacuumdb.c:1173 #, c-format msgid " -z, --analyze update optimizer statistics\n" msgstr " -z, --analyze оновити статистику для оптимізатора\n" -#: vacuumdb.c:1183 +#: vacuumdb.c:1174 #, c-format msgid " -Z, --analyze-only only update optimizer statistics; no vacuum\n" msgstr " -Z, --analyze-only оновити лише статистику для оптимізатора, не очищати\n" -#: vacuumdb.c:1184 +#: vacuumdb.c:1175 #, c-format msgid " --analyze-in-stages only update optimizer statistics, in multiple\n" " stages for faster results; no vacuum\n" msgstr " --analyze-in-stages оновити лише статистику для оптимізатора, у декілька стадій для швидших результатів, не очищати\n" -#: vacuumdb.c:1186 +#: vacuumdb.c:1177 #, c-format msgid " -?, --help show this help, then exit\n" msgstr " -?, --help показати цю справку, потім вийти\n" -#: vacuumdb.c:1194 +#: vacuumdb.c:1185 #, c-format msgid "\n" "Read the description of the SQL command VACUUM for details.\n" diff --git a/src/bin/scripts/po/zh_CN.po b/src/bin/scripts/po/zh_CN.po index 12c75603ec1..6a5262d0695 100644 --- a/src/bin/scripts/po/zh_CN.po +++ b/src/bin/scripts/po/zh_CN.po @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: pgscripts (PostgreSQL) 14\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2021-08-14 05:47+0000\n" -"PO-Revision-Date: 2021-08-15 18:30+0800\n" +"PO-Revision-Date: 2024-06-26 11:01+0200\n" "Last-Translator: Jie Zhang \n" "Language-Team: Chinese (Simplified) \n" "Language: zh_CN\n" @@ -892,7 +892,7 @@ msgstr " -a, --all 对所有数据库进行重建索引操 #: reindexdb.c:796 msgid " --concurrently reindex concurrently\n" -msgstr " --concurrently 同时重新索引\n" +msgstr " --concurrently 同时重新索引\n" #: reindexdb.c:797 msgid " -d, --dbname=DBNAME database to reindex\n" diff --git a/src/bin/scripts/reindexdb.c b/src/bin/scripts/reindexdb.c index 904c196fbba..af0738d9334 100644 --- a/src/bin/scripts/reindexdb.c +++ b/src/bin/scripts/reindexdb.c @@ -649,6 +649,8 @@ get_parallel_object_list(PGconn *conn, ReindexType type, " AND c.relkind IN (" CppAsString2(RELKIND_RELATION) ", " CppAsString2(RELKIND_MATVIEW) ")\n" + " AND c.relpersistence != " + CppAsString2(RELPERSISTENCE_TEMP) "\n" " ORDER BY c.relpages DESC;"); break; @@ -671,6 +673,8 @@ get_parallel_object_list(PGconn *conn, ReindexType type, " WHERE c.relkind IN (" CppAsString2(RELKIND_RELATION) ", " CppAsString2(RELKIND_MATVIEW) ")\n" + " AND c.relpersistence != " + CppAsString2(RELPERSISTENCE_TEMP) "\n" " AND ns.nspname IN ("); for (cell = user_list->head; cell; cell = cell->next) diff --git a/src/bin/scripts/vacuumdb.c b/src/bin/scripts/vacuumdb.c index 7138c6e97e4..260540f1894 100644 --- a/src/bin/scripts/vacuumdb.c +++ b/src/bin/scripts/vacuumdb.c @@ -491,7 +491,6 @@ vacuum_one_database(ConnParams *cparams, int ntups; bool failed = false; bool objects_listed = false; - bool has_where = false; const char *initcmd; const char *stage_commands[] = { "SET default_statistics_target=1; SET vacuum_cost_delay=0;", @@ -665,7 +664,10 @@ vacuum_one_database(ConnParams *cparams, " LEFT JOIN pg_catalog.pg_class t" " ON c.reltoastrelid OPERATOR(pg_catalog.=) t.oid\n"); - /* Used to match the tables or schemas listed by the user */ + /* + * Used to match the tables or schemas listed by the user, completing the + * JOIN clause. + */ if (objects_listed) { appendPQExpBufferStr(&catalog_query, " LEFT JOIN listed_objects" @@ -676,14 +678,27 @@ vacuum_one_database(ConnParams *cparams, appendPQExpBufferStr(&catalog_query, "c.oid\n"); else appendPQExpBufferStr(&catalog_query, "ns.oid\n"); + } + /* + * Exclude temporary tables, beginning the WHERE clause. + */ + appendPQExpBufferStr(&catalog_query, + " WHERE c.relpersistence OPERATOR(pg_catalog.!=) " + CppAsString2(RELPERSISTENCE_TEMP) "\n"); + + /* + * Used to match the tables or schemas listed by the user, for the WHERE + * clause. + */ + if (objects_listed) + { if (objfilter & OBJFILTER_SCHEMA_EXCLUDE) appendPQExpBuffer(&catalog_query, - " WHERE listed_objects.object_oid IS NULL\n"); + " AND listed_objects.object_oid IS NULL\n"); else appendPQExpBuffer(&catalog_query, - " WHERE listed_objects.object_oid IS NOT NULL\n"); - has_where = true; + " AND listed_objects.object_oid IS NOT NULL\n"); } /* @@ -695,11 +710,9 @@ vacuum_one_database(ConnParams *cparams, if ((objfilter & OBJFILTER_TABLE) == 0) { appendPQExpBuffer(&catalog_query, - " %s c.relkind OPERATOR(pg_catalog.=) ANY (array[" + " AND c.relkind OPERATOR(pg_catalog.=) ANY (array[" CppAsString2(RELKIND_RELATION) ", " - CppAsString2(RELKIND_MATVIEW) "])\n", - has_where ? "AND" : "WHERE"); - has_where = true; + CppAsString2(RELKIND_MATVIEW) "])\n"); } /* @@ -712,25 +725,23 @@ vacuum_one_database(ConnParams *cparams, if (vacopts->min_xid_age != 0) { appendPQExpBuffer(&catalog_query, - " %s GREATEST(pg_catalog.age(c.relfrozenxid)," + " AND GREATEST(pg_catalog.age(c.relfrozenxid)," " pg_catalog.age(t.relfrozenxid)) " " OPERATOR(pg_catalog.>=) '%d'::pg_catalog.int4\n" " AND c.relfrozenxid OPERATOR(pg_catalog.!=)" " '0'::pg_catalog.xid\n", - has_where ? "AND" : "WHERE", vacopts->min_xid_age); - has_where = true; + vacopts->min_xid_age); } if (vacopts->min_mxid_age != 0) { appendPQExpBuffer(&catalog_query, - " %s GREATEST(pg_catalog.mxid_age(c.relminmxid)," + " AND GREATEST(pg_catalog.mxid_age(c.relminmxid)," " pg_catalog.mxid_age(t.relminmxid)) OPERATOR(pg_catalog.>=)" " '%d'::pg_catalog.int4\n" " AND c.relminmxid OPERATOR(pg_catalog.!=)" " '0'::pg_catalog.xid\n", - has_where ? "AND" : "WHERE", vacopts->min_mxid_age); - has_where = true; + vacopts->min_mxid_age); } /* diff --git a/src/common/md5.c b/src/common/md5.c index f1d47722f8a..32b696a66df 100644 --- a/src/common/md5.c +++ b/src/common/md5.c @@ -150,10 +150,6 @@ static const uint8 md5_paddat[MD5_BUFLEN] = { 0, 0, 0, 0, 0, 0, 0, 0, }; -#ifdef WORDS_BIGENDIAN -static uint32 X[16]; -#endif - static void md5_calc(const uint8 *b64, pg_md5_ctx *ctx) { @@ -167,6 +163,7 @@ md5_calc(const uint8 *b64, pg_md5_ctx *ctx) #else /* 4 byte words */ /* what a brute force but fast! */ + uint32 X[16]; uint8 *y = (uint8 *) X; y[0] = b64[3]; diff --git a/src/common/parse_manifest.c b/src/common/parse_manifest.c index 612e120b17a..5a7b491e9a9 100644 --- a/src/common/parse_manifest.c +++ b/src/common/parse_manifest.c @@ -634,7 +634,7 @@ json_manifest_finalize_system_identifier(JsonManifestParseState *parse) system_identifier = strtou64(parse->manifest_system_identifier, &ep, 10); if (*ep) json_manifest_parse_failure(parse->context, - "manifest system identifier not an integer"); + "system identifier in manifest not an integer"); /* Invoke the callback for system identifier */ context->system_identifier_cb(context, system_identifier); diff --git a/src/common/saslprep.c b/src/common/saslprep.c index 315ccacd7ce..792957bd275 100644 --- a/src/common/saslprep.c +++ b/src/common/saslprep.c @@ -21,8 +21,13 @@ */ #ifndef FRONTEND #include "postgres.h" +#include "utils/memutils.h" #else #include "postgres_fe.h" + +/* It's possible we could use a different value for this in frontend code */ +#define MaxAllocSize ((Size) 0x3fffffff) /* 1 gigabyte - 1 */ + #endif #include "common/saslprep.h" @@ -1077,6 +1082,8 @@ pg_saslprep(const char *input, char **output) input_size = pg_utf8_string_len(input); if (input_size < 0) return SASLPREP_INVALID_UTF8; + if (input_size >= MaxAllocSize / sizeof(pg_wchar)) + goto oom; input_chars = ALLOC((input_size + 1) * sizeof(pg_wchar)); if (!input_chars) diff --git a/src/fe_utils/psqlscan.l b/src/fe_utils/psqlscan.l index ddc4658b925..8e8b049e15f 100644 --- a/src/fe_utils/psqlscan.l +++ b/src/fe_utils/psqlscan.l @@ -348,16 +348,30 @@ numericfail {decinteger}\.\. real ({decinteger}|{numeric})[Ee][-+]?{decinteger} realfail ({decinteger}|{numeric})[Ee][-+] -decinteger_junk {decinteger}{ident_start} -hexinteger_junk {hexinteger}{ident_start} -octinteger_junk {octinteger}{ident_start} -bininteger_junk {bininteger}{ident_start} -numeric_junk {numeric}{ident_start} -real_junk {real}{ident_start} - /* Positional parameters don't accept underscores. */ param \${decdigit}+ -param_junk \${decdigit}+{ident_start} + +/* + * An identifier immediately following an integer literal is disallowed because + * in some cases it's ambiguous what is meant: for example, 0x1234 could be + * either a hexinteger or a decinteger "0" and an identifier "x1234". We can + * detect such problems by seeing if integer_junk matches a longer substring + * than any of the XXXinteger patterns (decinteger, hexinteger, octinteger, + * bininteger). One "junk" pattern is sufficient because + * {decinteger}{identifier} will match all the same strings we'd match with + * {hexinteger}{identifier} etc. + * + * Note that the rule for integer_junk must appear after the ones for + * XXXinteger to make this work correctly: 0x1234 will match both hexinteger + * and integer_junk, and we need hexinteger to be chosen in that case. + * + * Also disallow strings matched by numeric_junk, real_junk and param_junk + * for consistency. + */ +integer_junk {decinteger}{identifier} +numeric_junk {numeric}{identifier} +real_junk {real}{identifier} +param_junk \${decdigit}+{identifier} /* psql-specific: characters allowed in variable names */ variable_char [A-Za-z\200-\377_0-9] @@ -898,16 +912,7 @@ other . {realfail} { ECHO; } -{decinteger_junk} { - ECHO; - } -{hexinteger_junk} { - ECHO; - } -{octinteger_junk} { - ECHO; - } -{bininteger_junk} { +{integer_junk} { ECHO; } {numeric_junk} { diff --git a/src/include/access/genam.h b/src/include/access/genam.h index fdcfbe8db74..c25f5d11b53 100644 --- a/src/include/access/genam.h +++ b/src/include/access/genam.h @@ -233,5 +233,14 @@ extern SysScanDesc systable_beginscan_ordered(Relation heapRelation, extern HeapTuple systable_getnext_ordered(SysScanDesc sysscan, ScanDirection direction); extern void systable_endscan_ordered(SysScanDesc sysscan); +extern void systable_inplace_update_begin(Relation relation, + Oid indexId, + bool indexOK, + Snapshot snapshot, + int nkeys, const ScanKeyData *key, + HeapTuple *oldtupcopy, + void **state); +extern void systable_inplace_update_finish(void *state, HeapTuple tuple); +extern void systable_inplace_update_cancel(void *state); #endif /* GENAM_H */ diff --git a/src/include/access/heapam.h b/src/include/access/heapam.h index 9e9aec88a62..9d2a326ea41 100644 --- a/src/include/access/heapam.h +++ b/src/include/access/heapam.h @@ -101,6 +101,10 @@ typedef struct HeapScanDescData Buffer rs_vmbuffer; int rs_empty_tuples_pending; + /* prefetch info */ + int rs_prefetch_maximum; /* io_concurrency of tablespace */ + int rs_prefetch_target; /* current readahead target */ + /* these fields only used in page-at-a-time mode and for bitmap scans */ int rs_cindex; /* current tuple's index in vistuples */ int rs_ntuples; /* number of visible tuples on page */ @@ -336,6 +340,14 @@ extern TM_Result heap_lock_tuple(Relation relation, HeapTuple tuple, bool follow_updates, Buffer *buffer, struct TM_FailureData *tmfd); +extern bool heap_inplace_lock(Relation relation, + HeapTuple oldtup_ptr, Buffer buffer, + void (*release_callback) (void *), void *arg); +extern void heap_inplace_update_and_unlock(Relation relation, + HeapTuple oldtup, HeapTuple tuple, + Buffer buffer); +extern void heap_inplace_unlock(Relation relation, + HeapTuple oldtup, Buffer buffer); extern void heap_inplace_update(Relation relation, HeapTuple tuple); extern bool heap_prepare_freeze_tuple(HeapTupleHeader tuple, const struct VacuumCutoffs *cutoffs, diff --git a/src/include/access/heapam_xlog.h b/src/include/access/heapam_xlog.h index 42736f37e79..8e9958b2dd7 100644 --- a/src/include/access/heapam_xlog.h +++ b/src/include/access/heapam_xlog.h @@ -387,6 +387,7 @@ typedef struct xlhp_prune_items #define XLHL_XMAX_EXCL_LOCK 0x04 #define XLHL_XMAX_KEYSHR_LOCK 0x08 #define XLHL_KEYS_UPDATED 0x10 +#define XLHL_COMBOCID 0x20 /* flag bits for xl_heap_lock / xl_heap_lock_updated's flag field */ #define XLH_LOCK_ALL_FROZEN_CLEARED 0x01 diff --git a/src/include/access/nbtree.h b/src/include/access/nbtree.h index 74930433480..d50888e146c 100644 --- a/src/include/access/nbtree.h +++ b/src/include/access/nbtree.h @@ -1076,6 +1076,22 @@ typedef struct BTScanOpaqueData /* keep these last in struct for efficiency */ BTScanPosData currPos; /* current position data */ BTScanPosData markPos; /* marked position, if any */ + + /* Neon: prefetch state */ + int prefetch_maximum; /* maximal number of prefetch requests */ + + /* Prefech of referenced heap pages for index scan */ + /* To minimize waste prefetch requests we start with prefetch distance 0 + * and increase it until it reaches prefetch_maximum + */ + int current_prefetch_distance; + + /* Prefetch of leave pages of B-Tree for index-only scan */ + int n_prefetch_requests; /* number of active prefetch requests */ + int n_prefetch_blocks; /* number of elements in prefetch_blocks */ + int last_prefetch_index; /* current position in prefetch_blocks (prefetch_blocks[0..last_prefetch_index] are already requested */ + BlockNumber next_parent; /* pointer to next parent page */ + BlockNumber prefetch_blocks[MaxTIDsPerBTreePage + 1]; /* leaves + parent page */ } BTScanOpaqueData; typedef BTScanOpaqueData *BTScanOpaque; @@ -1279,7 +1295,8 @@ extern OffsetNumber _bt_binsrch_insert(Relation rel, BTInsertState insertstate); extern int32 _bt_compare(Relation rel, BTScanInsert key, Page page, OffsetNumber offnum); extern bool _bt_first(IndexScanDesc scan, ScanDirection dir); extern bool _bt_next(IndexScanDesc scan, ScanDirection dir); -extern Buffer _bt_get_endpoint(Relation rel, uint32 level, bool rightmost); +extern Buffer _bt_get_endpoint(Relation rel, uint32 level, bool rightmost, + BlockNumber* parent); /* * prototypes for functions in nbtutils.c diff --git a/src/include/access/neon_xlog.h b/src/include/access/neon_xlog.h new file mode 100644 index 00000000000..1f29d526d70 --- /dev/null +++ b/src/include/access/neon_xlog.h @@ -0,0 +1,136 @@ +#ifndef NEON_XLOG_H +#define NEON_XLOG_H + +#include "storage/off.h" + +/* + * The RMGR id of the Neon RMGR + * + * Reserved at https://wiki.postgresql.org/wiki/CustomWALResourceManagers + */ +#define RM_NEON_ID 134 + +#define XLOG_NEON_INIT_PAGE 0x80 +#define XLOG_NEON_OPMASK ((~XLOG_NEON_INIT_PAGE) & XLR_RMGR_INFO_MASK) + +/* from XLOG_HEAP_* */ +#define XLOG_NEON_HEAP_INSERT 0x00 +#define XLOG_NEON_HEAP_DELETE 0x10 +#define XLOG_NEON_HEAP_UPDATE 0x20 +#define XLOG_NEON_HEAP_HOT_UPDATE 0x30 +#define XLOG_NEON_HEAP_LOCK 0x40 +/* from XLOG_HEAP2_* */ +#define XLOG_NEON_HEAP_MULTI_INSERT 0x50 +/* 2 variants available */ + +/* */ +typedef struct xl_neon_heap_header { + uint16 t_infomask2; + uint16 t_infomask; + uint32 t_cid; + uint8 t_hoff; +} xl_neon_heap_header; + +#define SizeOfNeonHeapHeader (offsetof(xl_neon_heap_header, t_hoff) + sizeof(uint8)) + +/* This is what we need to know about insert */ +typedef struct xl_neon_heap_insert +{ + OffsetNumber offnum; /* inserted tuple's offset */ + uint8 flags; + + /* xl_neon_heap_header & TUPLE DATA in backup block 0 */ +} xl_neon_heap_insert; + +#define SizeOfNeonHeapInsert (offsetof(xl_neon_heap_insert, flags) + sizeof(uint8)) + +/* This is what we need to know about delete */ +typedef struct xl_neon_heap_delete +{ + TransactionId xmax; /* xmax of the deleted tuple */ + OffsetNumber offnum; /* deleted tuple's offset */ + uint8 infobits_set; /* infomask bits */ + uint8 flags; + uint32 t_cid; +} xl_neon_heap_delete; + +#define SizeOfNeonHeapDelete (offsetof(xl_neon_heap_delete, t_cid) + sizeof(uint32)) + +/* + * This is what we need to know about update|hot_update + * + * Backup blk 0: new page + * + * If XLH_UPDATE_PREFIX_FROM_OLD or XLH_UPDATE_SUFFIX_FROM_OLD flags are set, + * the prefix and/or suffix come first, as one or two uint16s. + * + * After that, xl_neon_heap_header and new tuple data follow. The new tuple + * data doesn't include the prefix and suffix, which are copied from the + * old tuple on replay. + * + * If XLH_UPDATE_CONTAINS_NEW_TUPLE flag is given, the tuple data is + * included even if a full-page image was taken. + * + * Backup blk 1: old page, if different. (no data, just a reference to the blk) + */ +typedef struct xl_neon_heap_update +{ + TransactionId old_xmax; /* xmax of the old tuple */ + OffsetNumber old_offnum; /* old tuple's offset */ + uint8 old_infobits_set; /* infomask bits to set on old tuple */ + uint8 flags; + uint32 t_cid; + TransactionId new_xmax; /* xmax of the new tuple */ + OffsetNumber new_offnum; /* new tuple's offset */ + + /* + * If XLH_UPDATE_CONTAINS_OLD_TUPLE or XLH_UPDATE_CONTAINS_OLD_KEY flags + * are set, xl_neon_heap_header and tuple data for the old tuple follow. + */ +} xl_neon_heap_update; +#define SizeOfNeonHeapUpdate (offsetof(xl_neon_heap_update, new_offnum) + sizeof(OffsetNumber)) + +typedef struct xl_neon_heap_lock +{ + TransactionId xmax; /* might be a MultiXactId */ + uint32 t_cid; + OffsetNumber offnum; /* locked tuple's offset on page */ + uint8 infobits_set; /* infomask and infomask2 bits to set */ + uint8 flags; /* XLH_LOCK_* flag bits */ +} xl_neon_heap_lock; + +#define SizeOfNeonHeapLock (offsetof(xl_neon_heap_lock, flags) + sizeof(uint8)) + +/* + * This is what we need to know about a multi-insert. + * + * The main data of the record consists of this xl_neon_heap_multi_insert header. + * 'offsets' array is omitted if the whole page is reinitialized + * (XLOG_HEAP_INIT_PAGE). + * + * In block 0's data portion, there is an xl_neon_multi_insert_tuple struct, + * followed by the tuple data for each tuple. There is padding to align + * each xl_neon_multi_insert_tuple struct. + */ +typedef struct xl_neon_heap_multi_insert +{ + uint8 flags; + uint16 ntuples; + uint32 t_cid; + OffsetNumber offsets[FLEXIBLE_ARRAY_MEMBER]; +} xl_neon_heap_multi_insert; + +#define SizeOfNeonHeapMultiInsert offsetof(xl_neon_heap_multi_insert, offsets) + +typedef struct xl_neon_multi_insert_tuple +{ + uint16 datalen; /* size of tuple data that follows */ + uint16 t_infomask2; + uint16 t_infomask; + uint8 t_hoff; + /* TUPLE DATA FOLLOWS AT END OF STRUCT */ +} xl_neon_multi_insert_tuple; + +#define SizeOfNeonMultiInsertTuple (offsetof(xl_neon_multi_insert_tuple, t_hoff) + sizeof(uint8)) + +#endif //NEON_XLOG_H diff --git a/src/include/access/xlog.h b/src/include/access/xlog.h index 2c507ea618c..3a92973bf2f 100644 --- a/src/include/access/xlog.h +++ b/src/include/access/xlog.h @@ -13,9 +13,12 @@ #include "access/xlogbackup.h" #include "access/xlogdefs.h" +#include "catalog/pg_control.h" #include "datatype/timestamp.h" #include "lib/stringinfo.h" #include "nodes/pg_list.h" +#include "storage/block.h" +#include "storage/relfilelocator.h" /* Sync methods */ @@ -33,6 +36,15 @@ extern PGDLLIMPORT XLogRecPtr ProcLastRecPtr; extern PGDLLIMPORT XLogRecPtr XactLastRecEnd; extern PGDLLIMPORT XLogRecPtr XactLastCommitEnd; +/* + * Pseudo block number used to associate LSN with relation metadata (relation size) + */ +#define REL_METADATA_PSEUDO_BLOCKNO InvalidBlockNumber + +extern bool ZenithRecoveryRequested; +extern XLogRecPtr zenithLastRec; +extern bool zenithWriteOk; + /* these variables are GUC parameters related to XLOG */ extern PGDLLIMPORT int wal_segment_size; extern PGDLLIMPORT int min_wal_size_mb; @@ -56,6 +68,8 @@ extern PGDLLIMPORT bool track_wal_io_timing; extern PGDLLIMPORT int wal_decode_buffer_size; extern PGDLLIMPORT int CheckPointSegments; +extern int lastWrittenLsnCacheSize; + /* Archive modes */ typedef enum ArchiveMode @@ -251,6 +265,22 @@ extern TimeLineID GetWALInsertionTimeLine(void); extern TimeLineID GetWALInsertionTimeLineIfSet(void); extern XLogRecPtr GetLastImportantRecPtr(void); +/* neon specifics */ + +extern XLogRecPtr SetLastWrittenLSNForBlock(XLogRecPtr lsn, RelFileLocator relfilenode, ForkNumber forknum, BlockNumber blkno); +extern XLogRecPtr SetLastWrittenLSNForBlockv(const XLogRecPtr *lsns, RelFileLocator relfilenode, + ForkNumber forknum, BlockNumber blockno, + int nblocks); +extern XLogRecPtr SetLastWrittenLSNForBlockRange(XLogRecPtr lsn, RelFileLocator relfilenode, ForkNumber forknum, BlockNumber from, BlockNumber n_blocks); +extern XLogRecPtr SetLastWrittenLSNForDatabase(XLogRecPtr lsn); +extern XLogRecPtr SetLastWrittenLSNForRelation(XLogRecPtr lsn, RelFileLocator relfilenode, ForkNumber forknum); +extern XLogRecPtr GetLastWrittenLSN(RelFileLocator relfilenode, ForkNumber forknum, BlockNumber blkno); +extern void GetLastWrittenLSNv(RelFileLocator relfilenode, ForkNumber forknum, + BlockNumber blkno, int nblocks, XLogRecPtr *lsns); + +extern void SetRedoStartLsn(XLogRecPtr RedoStartLSN); +extern XLogRecPtr GetRedoStartLsn(void); + extern void SetWalWriterSleeping(bool sleeping); extern Size WALReadFromBuffers(char *dstbuf, XLogRecPtr startptr, Size count, @@ -295,6 +325,10 @@ extern void do_pg_abort_backup(int code, Datum arg); extern void register_persistent_abort_backup_handler(void); extern SessionBackupState get_backup_status(void); +/* NEON: Hook to allow the neon extension to restore running-xacts from CLOG at replica startup */ +typedef bool (*restore_running_xacts_callback_t) (CheckPoint *checkpoint, TransactionId **xids, int *nxids); +extern restore_running_xacts_callback_t restore_running_xacts_callback; + /* File path names (all relative to $PGDATA) */ #define RECOVERY_SIGNAL_FILE "recovery.signal" #define STANDBY_SIGNAL_FILE "standby.signal" @@ -304,6 +338,8 @@ extern SessionBackupState get_backup_status(void); #define TABLESPACE_MAP "tablespace_map" #define TABLESPACE_MAP_OLD "tablespace_map.old" +#define ZENITH_SIGNAL_FILE "zenith.signal" + /* files to signal promotion to primary */ #define PROMOTE_SIGNAL_FILE "promote" diff --git a/src/include/access/xloginsert.h b/src/include/access/xloginsert.h index b44fa29eac5..a63f3a07fb2 100644 --- a/src/include/access/xloginsert.h +++ b/src/include/access/xloginsert.h @@ -39,6 +39,10 @@ * is taken */ #define REGBUF_NO_CHANGE 0x20 /* intentionally register clean buffer */ +extern int max_replication_apply_lag; +extern int max_replication_flush_lag; +extern int max_replication_write_lag; + /* prototypes for public functions in xloginsert.c: */ extern void XLogBeginInsert(void); extern void XLogSetRecordFlags(uint8 flags); diff --git a/src/include/access/xlogreader.h b/src/include/access/xlogreader.h index 2e9e5f43eb2..52e64f25cf8 100644 --- a/src/include/access/xlogreader.h +++ b/src/include/access/xlogreader.h @@ -216,6 +216,10 @@ struct XLogReaderState /* Set when XLP_FIRST_IS_OVERWRITE_CONTRECORD is found */ XLogRecPtr overwrittenRecPtr; + /* Disable validation to allow dumping corrupt WAL */ + bool skip_page_validation; + bool skip_invalid_records; + bool skip_lsn_checks; /* ---------------------------------------- * Decoded representation of current record @@ -441,4 +445,7 @@ extern bool XLogRecGetBlockTagExtended(XLogReaderState *record, uint8 block_id, BlockNumber *blknum, Buffer *prefetch_buffer); +extern DecodedXLogRecord * +XLogReadRecordAlloc(XLogReaderState *state, size_t xl_tot_len, bool allow_oversized); + #endif /* XLOGREADER_H */ diff --git a/src/include/access/xlogrecovery.h b/src/include/access/xlogrecovery.h index c423464e8bc..7e71cf6979a 100644 --- a/src/include/access/xlogrecovery.h +++ b/src/include/access/xlogrecovery.h @@ -136,6 +136,7 @@ extern void ShutdownWalRecovery(void); extern void RemovePromoteSignalFiles(void); extern bool HotStandbyActive(void); +extern void XLogWaitForReplayOf(XLogRecPtr redoEndRecPtr); extern XLogRecPtr GetXLogReplayRecPtr(TimeLineID *replayTLI); extern RecoveryPauseState GetRecoveryPauseState(void); extern void SetRecoveryPause(bool recoveryPause); @@ -155,4 +156,6 @@ extern void RecoveryRequiresIntParameter(const char *param_name, int currValue, extern void xlog_outdesc(StringInfo buf, XLogReaderState *record); +extern void XLogUpdateWalBuffers(char* data, XLogRecPtr start, size_t len); + #endif /* XLOGRECOVERY_H */ diff --git a/src/include/access/xlogutils.h b/src/include/access/xlogutils.h index e24613e8f81..4a1686b8040 100644 --- a/src/include/access/xlogutils.h +++ b/src/include/access/xlogutils.h @@ -81,6 +81,12 @@ typedef struct ReadLocalXLogPageNoWaitPrivate bool end_of_wal; /* true, when end of WAL is reached */ } ReadLocalXLogPageNoWaitPrivate; +/* + * Returns true if we shouldn't do REDO on that block in record indicated by + * block_id; false otherwise. + */ +extern bool (*redo_read_buffer_filter) (XLogReaderState *record, uint8 block_id); + extern XLogRedoAction XLogReadBufferForRedo(XLogReaderState *record, uint8 block_id, Buffer *buf); extern Buffer XLogInitBufferForRedo(XLogReaderState *record, uint8 block_id); diff --git a/src/include/commands/event_trigger.h b/src/include/commands/event_trigger.h index 90fc1af5f69..00cfb397584 100644 --- a/src/include/commands/event_trigger.h +++ b/src/include/commands/event_trigger.h @@ -31,6 +31,12 @@ typedef struct EventTriggerData extern PGDLLIMPORT bool event_triggers; +/* + * Reasons for relation rewrites. + * + * pg_event_trigger_table_rewrite_reason() uses these values, so make sure to + * update the documentation when changing this list. + */ #define AT_REWRITE_ALTER_PERSISTENCE 0x01 #define AT_REWRITE_DEFAULT_VAL 0x02 #define AT_REWRITE_COLUMN_REWRITE 0x04 diff --git a/src/include/commands/explain.h b/src/include/commands/explain.h index 9b8b351d9a2..e0f429bcc61 100644 --- a/src/include/commands/explain.h +++ b/src/include/commands/explain.h @@ -69,6 +69,9 @@ typedef struct ExplainState bool hide_workers; /* set if we find an invisible Gather */ /* state related to the current plan node */ ExplainWorkersState *workers_state; /* needed if parallel plan */ + /* NEON addons */ + bool prefetch; /* print prefetch statistic */ + bool file_cache; /* print file cache statistic */ } ExplainState; /* Hook for plugins to get control in ExplainOneQuery() */ diff --git a/src/include/executor/instrument.h b/src/include/executor/instrument.h index bfd7b6d8445..e995b5ae8ae 100644 --- a/src/include/executor/instrument.h +++ b/src/include/executor/instrument.h @@ -15,6 +15,21 @@ #include "portability/instr_time.h" +/* Prefeth statistics */ +typedef struct +{ + int64 hits; + int64 misses; + int64 expired; + int64 duplicates; +} PrefetchInfo; + +/* Local file cache statistics */ +typedef struct +{ + int64 hits; + int64 misses; +} FileCacheInfo; /* * BufferUsage and WalUsage counters keep being incremented infinitely, @@ -39,6 +54,8 @@ typedef struct BufferUsage instr_time local_blk_write_time; /* time spent writing local blocks */ instr_time temp_blk_read_time; /* time spent reading temp blocks */ instr_time temp_blk_write_time; /* time spent writing temp blocks */ + PrefetchInfo prefetch; /* prefetch statistics */ + FileCacheInfo file_cache; /* local file cache statistics */ } BufferUsage; /* diff --git a/src/include/fmgr.h b/src/include/fmgr.h index ccb4070a251..dccf900075b 100644 --- a/src/include/fmgr.h +++ b/src/include/fmgr.h @@ -797,4 +797,10 @@ extern PGDLLIMPORT fmgr_hook_type fmgr_hook; #define FmgrHookIsNeeded(fn_oid) \ (!needs_fmgr_hook ? false : (*needs_fmgr_hook)(fn_oid)) + + +// download_extension_file_hook (filename, is_library) +typedef bool (*download_extension_file_hook_type) (const char *, bool); +extern PGDLLIMPORT download_extension_file_hook_type download_extension_file_hook; + #endif /* FMGR_H */ diff --git a/src/include/jit/SectionMemoryManager.h b/src/include/jit/SectionMemoryManager.h new file mode 100644 index 00000000000..93cf9771570 --- /dev/null +++ b/src/include/jit/SectionMemoryManager.h @@ -0,0 +1,226 @@ +/* + * This is a copy LLVM source code modified by the PostgreSQL project. + * See SectionMemoryManager.cpp for notes on provenance and license. + */ + +//===- SectionMemoryManager.h - Memory manager for MCJIT/RtDyld -*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// +// +// This file contains the declaration of a section-based memory manager used by +// the MCJIT execution engine and RuntimeDyld. +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_EXECUTIONENGINE_BACKPORT_SECTIONMEMORYMANAGER_H +#define LLVM_EXECUTIONENGINE_BACKPORT_SECTIONMEMORYMANAGER_H + +#include "llvm/ADT/SmallVector.h" +#include "llvm/ExecutionEngine/RTDyldMemoryManager.h" +#include "llvm/Support/Alignment.h" +#include "llvm/Support/Memory.h" +#include +#include +#include + +namespace llvm { +namespace backport { + +/// This is a simple memory manager which implements the methods called by +/// the RuntimeDyld class to allocate memory for section-based loading of +/// objects, usually those generated by the MCJIT execution engine. +/// +/// This memory manager allocates all section memory as read-write. The +/// RuntimeDyld will copy JITed section memory into these allocated blocks +/// and perform any necessary linking and relocations. +/// +/// Any client using this memory manager MUST ensure that section-specific +/// page permissions have been applied before attempting to execute functions +/// in the JITed object. Permissions can be applied either by calling +/// MCJIT::finalizeObject or by calling SectionMemoryManager::finalizeMemory +/// directly. Clients of MCJIT should call MCJIT::finalizeObject. +class SectionMemoryManager : public RTDyldMemoryManager { +public: + /// This enum describes the various reasons to allocate pages from + /// allocateMappedMemory. + enum class AllocationPurpose { + Code, + ROData, + RWData, + }; + + /// Implementations of this interface are used by SectionMemoryManager to + /// request pages from the operating system. + class MemoryMapper { + public: + /// This method attempts to allocate \p NumBytes bytes of virtual memory for + /// \p Purpose. \p NearBlock may point to an existing allocation, in which + /// case an attempt is made to allocate more memory near the existing block. + /// The actual allocated address is not guaranteed to be near the requested + /// address. \p Flags is used to set the initial protection flags for the + /// block of the memory. \p EC [out] returns an object describing any error + /// that occurs. + /// + /// This method may allocate more than the number of bytes requested. The + /// actual number of bytes allocated is indicated in the returned + /// MemoryBlock. + /// + /// The start of the allocated block must be aligned with the system + /// allocation granularity (64K on Windows, page size on Linux). If the + /// address following \p NearBlock is not so aligned, it will be rounded up + /// to the next allocation granularity boundary. + /// + /// \r a non-null MemoryBlock if the function was successful, otherwise a + /// null MemoryBlock with \p EC describing the error. + virtual sys::MemoryBlock + allocateMappedMemory(AllocationPurpose Purpose, size_t NumBytes, + const sys::MemoryBlock *const NearBlock, + unsigned Flags, std::error_code &EC) = 0; + + /// This method sets the protection flags for a block of memory to the state + /// specified by \p Flags. The behavior is not specified if the memory was + /// not allocated using the allocateMappedMemory method. + /// \p Block describes the memory block to be protected. + /// \p Flags specifies the new protection state to be assigned to the block. + /// + /// If \p Flags is MF_WRITE, the actual behavior varies with the operating + /// system (i.e. MF_READ | MF_WRITE on Windows) and the target architecture + /// (i.e. MF_WRITE -> MF_READ | MF_WRITE on i386). + /// + /// \r error_success if the function was successful, or an error_code + /// describing the failure if an error occurred. + virtual std::error_code protectMappedMemory(const sys::MemoryBlock &Block, + unsigned Flags) = 0; + + /// This method releases a block of memory that was allocated with the + /// allocateMappedMemory method. It should not be used to release any memory + /// block allocated any other way. + /// \p Block describes the memory to be released. + /// + /// \r error_success if the function was successful, or an error_code + /// describing the failure if an error occurred. + virtual std::error_code releaseMappedMemory(sys::MemoryBlock &M) = 0; + + virtual ~MemoryMapper(); + }; + + /// Creates a SectionMemoryManager instance with \p MM as the associated + /// memory mapper. If \p MM is nullptr then a default memory mapper is used + /// that directly calls into the operating system. + /// + /// If \p ReserveAlloc is true all memory will be pre-allocated, and any + /// attempts to allocate beyond pre-allocated memory will fail. + SectionMemoryManager(MemoryMapper *MM = nullptr, bool ReserveAlloc = false); + SectionMemoryManager(const SectionMemoryManager &) = delete; + void operator=(const SectionMemoryManager &) = delete; + ~SectionMemoryManager() override; + + /// Enable reserveAllocationSpace when requested. + bool needsToReserveAllocationSpace() override { return ReserveAllocation; } + + /// Implements allocating all memory in a single block. This is required to + /// limit memory offsets to fit the ARM ABI; large memory systems may + /// otherwise allocate separate sections too far apart. +#if LLVM_VERSION_MAJOR < 16 + virtual void reserveAllocationSpace(uintptr_t CodeSize, uint32_t CodeAlign, + uintptr_t RODataSize, + uint32_t RODataAlign, + uintptr_t RWDataSize, + uint32_t RWDataAlign) override; +#else + void reserveAllocationSpace(uintptr_t CodeSize, Align CodeAlign, + uintptr_t RODataSize, Align RODataAlign, + uintptr_t RWDataSize, Align RWDataAlign) override; +#endif + + /// Allocates a memory block of (at least) the given size suitable for + /// executable code. + /// + /// The value of \p Alignment must be a power of two. If \p Alignment is zero + /// a default alignment of 16 will be used. + uint8_t *allocateCodeSection(uintptr_t Size, unsigned Alignment, + unsigned SectionID, + StringRef SectionName) override; + + /// Allocates a memory block of (at least) the given size suitable for + /// executable code. + /// + /// The value of \p Alignment must be a power of two. If \p Alignment is zero + /// a default alignment of 16 will be used. + uint8_t *allocateDataSection(uintptr_t Size, unsigned Alignment, + unsigned SectionID, StringRef SectionName, + bool isReadOnly) override; + + /// Update section-specific memory permissions and other attributes. + /// + /// This method is called when object loading is complete and section page + /// permissions can be applied. It is up to the memory manager implementation + /// to decide whether or not to act on this method. The memory manager will + /// typically allocate all sections as read-write and then apply specific + /// permissions when this method is called. Code sections cannot be executed + /// until this function has been called. In addition, any cache coherency + /// operations needed to reliably use the memory are also performed. + /// + /// \returns true if an error occurred, false otherwise. + bool finalizeMemory(std::string *ErrMsg = nullptr) override; + + /// Invalidate instruction cache for code sections. + /// + /// Some platforms with separate data cache and instruction cache require + /// explicit cache flush, otherwise JIT code manipulations (like resolved + /// relocations) will get to the data cache but not to the instruction cache. + /// + /// This method is called from finalizeMemory. + virtual void invalidateInstructionCache(); + +private: + struct FreeMemBlock { + // The actual block of free memory + sys::MemoryBlock Free; + // If there is a pending allocation from the same reservation right before + // this block, store it's index in PendingMem, to be able to update the + // pending region if part of this block is allocated, rather than having to + // create a new one + unsigned PendingPrefixIndex; + }; + + struct MemoryGroup { + // PendingMem contains all blocks of memory (subblocks of AllocatedMem) + // which have not yet had their permissions applied, but have been given + // out to the user. FreeMem contains all block of memory, which have + // neither had their permissions applied, nor been given out to the user. + SmallVector PendingMem; + SmallVector FreeMem; + + // All memory blocks that have been requested from the system + SmallVector AllocatedMem; + + sys::MemoryBlock Near; + }; + + uint8_t *allocateSection(AllocationPurpose Purpose, uintptr_t Size, + unsigned Alignment); + + std::error_code applyMemoryGroupPermissions(MemoryGroup &MemGroup, + unsigned Permissions); + + bool hasSpace(const MemoryGroup &MemGroup, uintptr_t Size) const; + + void anchor() override; + + MemoryGroup CodeMem; + MemoryGroup RWDataMem; + MemoryGroup RODataMem; + MemoryMapper *MMapper; + std::unique_ptr OwnedMMapper; + bool ReserveAllocation; +}; + +} // end namespace backport +} // end namespace llvm + +#endif // LLVM_EXECUTIONENGINE_BACKPORT_SECTIONMEMORYMANAGER_H diff --git a/src/include/jit/llvmjit.h b/src/include/jit/llvmjit.h index 420775b1899..dc0d86f4c1d 100644 --- a/src/include/jit/llvmjit.h +++ b/src/include/jit/llvmjit.h @@ -17,7 +17,12 @@ */ #ifdef USE_LLVM +#include "jit/llvmjit_backport.h" + #include +#ifdef USE_LLVM_BACKPORT_SECTION_MEMORY_MANAGER +#include +#endif /* @@ -135,6 +140,9 @@ extern LLVMValueRef slot_compile_deform(struct LLVMJitContext *context, TupleDes */ extern LLVMTypeRef LLVMGetFunctionReturnType(LLVMValueRef r); extern LLVMTypeRef LLVMGetFunctionType(LLVMValueRef r); +#ifdef USE_LLVM_BACKPORT_SECTION_MEMORY_MANAGER +extern LLVMOrcObjectLayerRef LLVMOrcCreateRTDyldObjectLinkingLayerWithSafeSectionMemoryManager(LLVMOrcExecutionSessionRef ES); +#endif #ifdef __cplusplus } /* extern "C" */ diff --git a/src/include/jit/llvmjit_backport.h b/src/include/jit/llvmjit_backport.h new file mode 100644 index 00000000000..92874f7998c --- /dev/null +++ b/src/include/jit/llvmjit_backport.h @@ -0,0 +1,25 @@ +/* + * A small header than can be included by backported LLVM code or PostgreSQL + * code, to control conditional compilation. + */ +#ifndef LLVMJIT_BACKPORT_H +#define LLVMJIT_BACKPORT_H + +#include + +/* + * LLVM's RuntimeDyld can produce code that crashes on larger memory ARM + * systems, because llvm::SectionMemoryManager allocates multiple pieces of + * memory that can be placed too far apart for the generated code. See + * src/backend/jit/llvm/SectionMemoryManager.cpp for the patched replacement + * class llvm::backport::SectionMemoryManager that we use as a workaround. + * This header controls whether we use it. + * + * We have adjusted it to compile against a range of LLVM versions, but not + * further back than 12 for now. + */ +#if defined(__aarch64__) && LLVM_VERSION_MAJOR > 11 +#define USE_LLVM_BACKPORT_SECTION_MEMORY_MANAGER +#endif + +#endif diff --git a/src/include/miscadmin.h b/src/include/miscadmin.h index 90f9b21b258..4bfb6b1779b 100644 --- a/src/include/miscadmin.h +++ b/src/include/miscadmin.h @@ -108,6 +108,10 @@ extern PGDLLIMPORT volatile uint32 CritSectionCount; /* in tcop/postgres.c */ extern void ProcessInterrupts(void); +/* Callback called by ProcessInterrupts in the loop while it is returning true. */ +typedef bool (*process_interrupts_callback_t)(void); +extern process_interrupts_callback_t ProcessInterruptsCallback; + /* Test whether an interrupt is pending */ #ifndef WIN32 #define INTERRUPTS_PENDING_CONDITION() \ @@ -395,7 +399,9 @@ extern char *GetUserNameFromId(Oid roleid, bool noerr); extern Oid GetUserId(void); extern Oid GetOuterUserId(void); extern Oid GetSessionUserId(void); +extern bool GetSessionUserIsSuperuser(void); extern Oid GetAuthenticatedUserId(void); +extern void SetAuthenticatedUserId(Oid userid); extern void GetUserIdAndSecContext(Oid *userid, int *sec_context); extern void SetUserIdAndSecContext(Oid userid, int sec_context); extern bool InLocalUserIdChange(void); @@ -516,4 +522,7 @@ extern void RestoreClientConnectionInfo(char *conninfo); /* in executor/nodeHash.c */ extern size_t get_hash_memory_limit(void); +/* in storage/buffer/buf_init.c */ +extern bool am_wal_redo_postgres; + #endif /* MISCADMIN_H */ diff --git a/src/include/nodes/execnodes.h b/src/include/nodes/execnodes.h index b62c96f2064..0d528152b88 100644 --- a/src/include/nodes/execnodes.h +++ b/src/include/nodes/execnodes.h @@ -39,6 +39,7 @@ #include "nodes/plannodes.h" #include "nodes/tidbitmap.h" #include "partitioning/partdefs.h" +#include "storage/bufmgr.h" #include "storage/condition_variable.h" #include "utils/hsearch.h" #include "utils/queryenvironment.h" @@ -132,8 +133,10 @@ typedef struct ExprState bool *innermost_domainnull; /* - * For expression nodes that support soft errors. Should be set to NULL - * before calling ExecInitExprRec() if the caller wants errors thrown. + * For expression nodes that support soft errors. Should be set to NULL if + * the caller wants errors to be thrown. Callers that do not want errors + * thrown should set it to a valid ErrorSaveContext before calling + * ExecInitExprRec(). */ ErrorSaveContext *escontext; } ExprState; @@ -482,6 +485,9 @@ typedef struct ResultRelInfo /* Have the projection and the slots above been initialized? */ bool ri_projectNewInfoValid; + /* updates do LockTuple() before oldtup read; see README.tuplock */ + bool ri_needLockTagTuple; + /* triggers to be fired, if any */ TriggerDesc *ri_TrigDesc; @@ -1789,6 +1795,15 @@ typedef struct ParallelBitmapHeapState ConditionVariable cv; } ParallelBitmapHeapState; +typedef struct TBMIteratePrefetchResult +{ + BlockNumber blockno; /* page number containing tuples */ + int ntuples; /* -1 indicates lossy result */ + bool recheck; /* should the tuples be rechecked? */ + /* Note: recheck is always true if ntuples < 0 */ + OffsetNumber offsets[MaxHeapTuplesPerPage]; +} TBMIteratePrefetchResult; + /* ---------------- * BitmapHeapScanState information * @@ -1805,7 +1820,6 @@ typedef struct ParallelBitmapHeapState * prefetch_maximum maximum value for prefetch_target * initialized is node is ready to iterate * shared_tbmiterator shared iterator - * shared_prefetch_iterator shared iterator for prefetching * pstate shared state for parallel bitmap scan * ---------------- */ @@ -1825,7 +1839,10 @@ typedef struct BitmapHeapScanState int prefetch_maximum; bool initialized; TBMSharedIterator *shared_tbmiterator; - TBMSharedIterator *shared_prefetch_iterator; + /* parallel worker private ring buffer with prefetch requests: it allows to access prefetch result from the same worker */ + TBMIteratePrefetchResult prefetch_requests[MAX_IO_CONCURRENCY]; + TBMIteratePrefetchResult tbmres_copy; /* copy of current iterator result */ + int prefetch_head; /* head position in ring buffer */ ParallelBitmapHeapState *pstate; } BitmapHeapScanState; diff --git a/src/include/nodes/parsenodes.h b/src/include/nodes/parsenodes.h index 85a62b538e5..67c90a2bd32 100644 --- a/src/include/nodes/parsenodes.h +++ b/src/include/nodes/parsenodes.h @@ -938,15 +938,14 @@ typedef struct PartitionRangeDatum } PartitionRangeDatum; /* - * PartitionDesc - info about single partition for ALTER TABLE SPLIT PARTITION command + * PartitionDesc - used in reverted ALTER TABLE SPLIT PARTITION command + * + * Kept as a stub for nodetag ABI compatibility. */ typedef struct SinglePartitionSpec { NodeTag type; - - RangeVar *name; /* name of partition */ - PartitionBoundSpec *bound; /* FOR VALUES, if attaching */ -} SinglePartitionSpec; +} SinglePartitionSpec; /* * PartitionCmd - info for ALTER TABLE/INDEX ATTACH/DETACH PARTITION commands @@ -956,8 +955,6 @@ typedef struct PartitionCmd NodeTag type; RangeVar *name; /* name of partition to attach/detach */ PartitionBoundSpec *bound; /* FOR VALUES, if attaching */ - List *partlist; /* list of partitions, for MERGE/SPLIT - * PARTITION command */ bool concurrent; } PartitionCmd; @@ -2413,8 +2410,6 @@ typedef enum AlterTableType AT_AttachPartition, /* ATTACH PARTITION */ AT_DetachPartition, /* DETACH PARTITION */ AT_DetachPartitionFinalize, /* DETACH PARTITION FINALIZE */ - AT_SplitPartition, /* SPLIT PARTITION */ - AT_MergePartitions, /* MERGE PARTITIONS */ AT_AddIdentity, /* ADD IDENTITY */ AT_SetIdentity, /* SET identity column options */ AT_DropIdentity, /* DROP IDENTITY */ diff --git a/src/include/nodes/pg_list.h b/src/include/nodes/pg_list.h index 52df93759f7..d131350e107 100644 --- a/src/include/nodes/pg_list.h +++ b/src/include/nodes/pg_list.h @@ -485,7 +485,7 @@ for_each_cell_setup(const List *lst, const ListCell *initcell) for (ForEachState var##__state = {(lst), 0}; \ (var##__state.l != NIL && \ var##__state.i < var##__state.l->length && \ - (var = func(&var##__state.l->elements[var##__state.i]), true)); \ + (var = (type pointer) func(&var##__state.l->elements[var##__state.i]), true)); \ var##__state.i++) /* diff --git a/src/include/nodes/primnodes.h b/src/include/nodes/primnodes.h index ea47652adb8..94f6b855242 100644 --- a/src/include/nodes/primnodes.h +++ b/src/include/nodes/primnodes.h @@ -1669,15 +1669,19 @@ typedef struct JsonReturning * JsonValueExpr - * representation of JSON value expression (expr [FORMAT JsonFormat]) * - * The actual value is obtained by evaluating formatted_expr. raw_expr is - * only there for displaying the original user-written expression and is not - * evaluated by ExecInterpExpr() and eval_const_expressions_mutator(). + * raw_expr is the user-specified value, while formatted_expr is the value + * obtained by coercing raw_expr to the type required by either the FORMAT + * clause or an enclosing node's RETURNING clause. + * + * When deparsing a JsonValueExpr, get_rule_expr() prints raw_expr. However, + * during the evaluation of a JsonValueExpr, the value of formatted_expr + * takes precedence over that of raw_expr. */ typedef struct JsonValueExpr { NodeTag type; - Expr *raw_expr; /* raw expression */ - Expr *formatted_expr; /* formatted expression */ + Expr *raw_expr; /* user-specified expression */ + Expr *formatted_expr; /* coerced formatted expression */ JsonFormat *format; /* FORMAT clause, if specified */ } JsonValueExpr; diff --git a/src/include/optimizer/cost.h b/src/include/optimizer/cost.h index b1c51a4e70f..a240e913a64 100644 --- a/src/include/optimizer/cost.h +++ b/src/include/optimizer/cost.h @@ -70,6 +70,10 @@ extern PGDLLIMPORT bool enable_parallel_hash; extern PGDLLIMPORT bool enable_partition_pruning; extern PGDLLIMPORT bool enable_presorted_aggregate; extern PGDLLIMPORT bool enable_async_append; +extern PGDLLIMPORT bool enable_seqscan_prefetch; +extern PGDLLIMPORT bool enable_indexscan_prefetch; +extern PGDLLIMPORT bool enable_indexonlyscan_prefetch; + extern PGDLLIMPORT int constraint_exclusion; extern double index_pages_fetched(double tuples_fetched, BlockNumber pages, diff --git a/src/include/parser/kwlist.h b/src/include/parser/kwlist.h index f7fe834cf45..658d7ff6a98 100644 --- a/src/include/parser/kwlist.h +++ b/src/include/parser/kwlist.h @@ -335,7 +335,6 @@ PG_KEYWORD("parameter", PARAMETER, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("parser", PARSER, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("partial", PARTIAL, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("partition", PARTITION, UNRESERVED_KEYWORD, BARE_LABEL) -PG_KEYWORD("partitions", PARTITIONS, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("passing", PASSING, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("password", PASSWORD, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("path", PATH, UNRESERVED_KEYWORD, BARE_LABEL) @@ -419,7 +418,6 @@ PG_KEYWORD("smallint", SMALLINT, COL_NAME_KEYWORD, BARE_LABEL) PG_KEYWORD("snapshot", SNAPSHOT, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("some", SOME, RESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("source", SOURCE, UNRESERVED_KEYWORD, BARE_LABEL) -PG_KEYWORD("split", SPLIT, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("sql", SQL_P, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("stable", STABLE, UNRESERVED_KEYWORD, BARE_LABEL) PG_KEYWORD("standalone", STANDALONE_P, UNRESERVED_KEYWORD, BARE_LABEL) diff --git a/src/include/partitioning/partbounds.h b/src/include/partitioning/partbounds.h index 9d2a26705f0..3d9cc1031f7 100644 --- a/src/include/partitioning/partbounds.h +++ b/src/include/partitioning/partbounds.h @@ -143,15 +143,4 @@ extern int partition_range_datum_bsearch(FmgrInfo *partsupfunc, extern int partition_hash_bsearch(PartitionBoundInfo boundinfo, int modulus, int remainder); -extern void check_partitions_for_split(Relation parent, - Oid splitPartOid, - RangeVar *splitPartName, - List *partlist, - ParseState *pstate); -extern void calculate_partition_bound_for_merge(Relation parent, - List *partNames, - List *partOids, - PartitionBoundSpec *spec, - ParseState *pstate); - #endif /* PARTBOUNDS_H */ diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index 6d9a0d001f4..dae69e14aef 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -261,6 +261,9 @@ /* Define if you have a function readline library */ #undef HAVE_LIBREADLINE +/* Define to 1 if you have the `seccomp' library (-lseccomp). */ +#undef HAVE_LIBSECCOMP + /* Define to 1 if you have the `selinux' library (-lselinux). */ #undef HAVE_LIBSELINUX diff --git a/src/include/pg_config_manual.h b/src/include/pg_config_manual.h index f941ee2faf8..4a5c5963d77 100644 --- a/src/include/pg_config_manual.h +++ b/src/include/pg_config_manual.h @@ -57,7 +57,7 @@ * version. Example: "ACME Postgres/1.2". Note that the string will appear * in a user-facing error message if an ABI mismatch is detected. */ -#define FMGR_ABI_EXTRA "PostgreSQL" +#define FMGR_ABI_EXTRA "Neon Postgres" /* * Maximum number of columns in an index. There is little point in making diff --git a/src/include/port/pg_iovec.h b/src/include/port/pg_iovec.h index 7255c1bd911..e5fe677b371 100644 --- a/src/include/port/pg_iovec.h +++ b/src/include/port/pg_iovec.h @@ -68,7 +68,7 @@ pg_preadv(int fd, const struct iovec *iov, int iovcnt, off_t offset) } sum += part; offset += part; - if (part < iov[i].iov_len) + if ((size_t) part < iov[i].iov_len) return sum; } return sum; @@ -107,7 +107,7 @@ pg_pwritev(int fd, const struct iovec *iov, int iovcnt, off_t offset) } sum += part; offset += part; - if (part < iov[i].iov_len) + if ((size_t) part < iov[i].iov_len) return sum; } return sum; diff --git a/src/include/regex/regguts.h b/src/include/regex/regguts.h index 3ca3647e118..fd69299a16d 100644 --- a/src/include/regex/regguts.h +++ b/src/include/regex/regguts.h @@ -410,6 +410,8 @@ struct cnfa int flags; /* bitmask of the following flags: */ #define HASLACONS 01 /* uses lookaround constraints */ #define MATCHALL 02 /* matches all strings of a range of lengths */ +#define HASCANTMATCH 04 /* contains CANTMATCH arcs */ + /* Note: HASCANTMATCH appears in nfa structs' flags, but never in cnfas */ int pre; /* setup state number */ int post; /* teardown state number */ color bos[2]; /* colors, if any, assigned to BOS and BOL */ diff --git a/src/include/replication/logical.h b/src/include/replication/logical.h index aff38e8d049..59f9700a911 100644 --- a/src/include/replication/logical.h +++ b/src/include/replication/logical.h @@ -114,6 +114,7 @@ typedef struct LogicalDecodingContext bool processing_required; } LogicalDecodingContext; +extern void (*Custom_XLogReaderRoutines)(XLogReaderRoutine *xlr); extern void CheckLogicalDecodingRequirements(void); diff --git a/src/include/replication/walsender.h b/src/include/replication/walsender.h index f2d8297f016..dc8399e1b00 100644 --- a/src/include/replication/walsender.h +++ b/src/include/replication/walsender.h @@ -12,7 +12,8 @@ #ifndef _WALSENDER_H #define _WALSENDER_H -#include "access/xlogdefs.h" +#include "access/xlog.h" +#include "signal.h" /* * What to do with a snapshot in create replication slot command. @@ -50,6 +51,25 @@ extern void WalSndWaitStopping(void); extern void HandleWalSndInitStopping(void); extern void WalSndRqstFileReload(void); +/* + * Hook to check for WAL receiving backpressure. + * Return value in microseconds + */ +extern uint64 (*delay_backend_us)(void); + +/* expose these so that they can be reused by the neon walproposer extension */ +extern void LagTrackerWrite(XLogRecPtr lsn, TimestampTz local_flush_time); +extern TimeOffset LagTrackerRead(int head, XLogRecPtr lsn, TimestampTz now); +extern void ProcessStandbyReply(XLogRecPtr writePtr, XLogRecPtr flushPtr, + XLogRecPtr applyPtr, TimestampTz replyTime, + bool replyRequested); +extern void PhysicalConfirmReceivedLocation(XLogRecPtr lsn); +extern void ProcessStandbyHSFeedback(TimestampTz replyTime, + TransactionId feedbackXmin, + uint32 feedbackEpoch, + TransactionId feedbackCatalogXmin, + uint32 feedbackCatalogEpoch); + /* * Remember that we want to wakeup walsenders later * diff --git a/src/include/storage/buf_internals.h b/src/include/storage/buf_internals.h index f190e6e5e46..231c1746916 100644 --- a/src/include/storage/buf_internals.h +++ b/src/include/storage/buf_internals.h @@ -311,6 +311,8 @@ extern PGDLLIMPORT BufferDescPadded *BufferDescriptors; extern PGDLLIMPORT ConditionVariableMinimallyPadded *BufferIOCVArray; extern PGDLLIMPORT WritebackContext BackendWritebackContext; +extern Buffer wal_redo_buffer; + /* in localbuf.c */ extern PGDLLIMPORT BufferDesc *LocalBufferDescriptors; diff --git a/src/include/storage/bufmgr.h b/src/include/storage/bufmgr.h index a1e71013d32..ec0ac495666 100644 --- a/src/include/storage/bufmgr.h +++ b/src/include/storage/bufmgr.h @@ -173,6 +173,8 @@ extern PGDLLIMPORT int checkpoint_flush_after; extern PGDLLIMPORT int backend_flush_after; extern PGDLLIMPORT int bgwriter_flush_after; +extern bool zenith_test_evict; + /* in buf_init.c */ extern PGDLLIMPORT char *BufferBlocks; @@ -181,8 +183,8 @@ extern PGDLLIMPORT int NLocBuffer; extern PGDLLIMPORT Block *LocalBufferBlockPointers; extern PGDLLIMPORT int32 *LocalRefCount; -/* upper limit for effective_io_concurrency */ -#define MAX_IO_CONCURRENCY 1000 +/* upper limit for effective_io_concurrency (better to he power of 2) */ +#define MAX_IO_CONCURRENCY 1024 /* special block number for ReadBuffer() */ #define P_NEW InvalidBlockNumber /* grow the file to get a new page */ diff --git a/src/include/storage/lockdefs.h b/src/include/storage/lockdefs.h index 934ba84f6a2..810b297edf9 100644 --- a/src/include/storage/lockdefs.h +++ b/src/include/storage/lockdefs.h @@ -47,6 +47,8 @@ typedef int LOCKMODE; #define MaxLockMode 8 /* highest standard lock mode */ +/* See README.tuplock section "Locking to write inplace-updated tables" */ +#define InplaceUpdateTupleLock ExclusiveLock /* WAL representation of an AccessExclusiveLock on a table */ typedef struct xl_standby_lock diff --git a/src/include/storage/lwlocklist.h b/src/include/storage/lwlocklist.h index 6a2f64c54fb..277cb47ddeb 100644 --- a/src/include/storage/lwlocklist.h +++ b/src/include/storage/lwlocklist.h @@ -83,3 +83,4 @@ PG_LWLOCK(49, WALSummarizer) PG_LWLOCK(50, DSMRegistry) PG_LWLOCK(51, InjectionPoint) PG_LWLOCK(52, SerialControl) +PG_LWLOCK(53, LastWrittenLsn) diff --git a/src/include/storage/read_stream.h b/src/include/storage/read_stream.h index f676d2cc20a..7b9005e87bc 100644 --- a/src/include/storage/read_stream.h +++ b/src/include/storage/read_stream.h @@ -57,6 +57,8 @@ extern ReadStream *read_stream_begin_relation(int flags, void *callback_private_data, size_t per_buffer_data_size); extern Buffer read_stream_next_buffer(ReadStream *stream, void **per_buffer_data); +extern BlockNumber read_stream_next_block(ReadStream *stream, + BufferAccessStrategy *strategy); extern void read_stream_reset(ReadStream *stream); extern void read_stream_end(ReadStream *stream); diff --git a/src/include/storage/sinvaladt.h b/src/include/storage/sinvaladt.h index c3c97b3f8b7..7c8f450db7c 100644 --- a/src/include/storage/sinvaladt.h +++ b/src/include/storage/sinvaladt.h @@ -35,6 +35,7 @@ extern void SharedInvalBackendInit(bool sendOnly); extern void SIInsertDataEntries(const SharedInvalidationMessage *data, int n); extern int SIGetDataEntries(SharedInvalidationMessage *data, int datasize); extern void SICleanupQueue(bool callerHasWriteLock, int minFree); +extern void SIResetAll(void); extern LocalTransactionId GetNextLocalTransactionId(void); diff --git a/src/include/storage/smgr.h b/src/include/storage/smgr.h index e15b20a566a..e24f1d7f064 100644 --- a/src/include/storage/smgr.h +++ b/src/include/storage/smgr.h @@ -18,6 +18,14 @@ #include "storage/block.h" #include "storage/relfilelocator.h" +struct f_smgr; + +/* + * Neon: extended SMGR API. + * This define can be used by extensions to determine that them are built for Neon. + */ +#define NEON_SMGR 1 + /* * smgr.c maintains a table of SMgrRelation objects, which are essentially * cached file handles. An SMgrRelation is created (if not already present) @@ -36,6 +44,9 @@ typedef struct SMgrRelationData /* rlocator is the hashtable lookup key, so it must be first! */ RelFileLocatorBackend smgr_rlocator; /* relation physical identifier */ + /* copy of pg_class.relpersistence, or 0 if not known */ + char smgr_relpersistence; + /* * The following fields are reset to InvalidBlockNumber upon a cache flush * event, and hold the last known size for each fork. This information is @@ -51,7 +62,7 @@ typedef struct SMgrRelationData * Fields below here are intended to be private to smgr.c and its * submodules. Do not touch them from elsewhere. */ - int smgr_which; /* storage manager selector */ + const struct f_smgr *smgr; /* * for md.c; per-fork arrays of the number of open segments @@ -73,8 +84,75 @@ typedef SMgrRelationData *SMgrRelation; #define SmgrIsTemp(smgr) \ RelFileLocatorBackendIsTemp((smgr)->smgr_rlocator) +/* + * This struct of function pointers defines the API between smgr.c and + * any individual storage manager module. Note that smgr subfunctions are + * generally expected to report problems via elog(ERROR). An exception is + * that smgr_unlink should use elog(WARNING), rather than erroring out, + * because we normally unlink relations during post-commit/abort cleanup, + * and so it's too late to raise an error. Also, various conditions that + * would normally be errors should be allowed during bootstrap and/or WAL + * recovery --- see comments in md.c for details. + */ +typedef struct f_smgr +{ + void (*smgr_init) (void); /* may be NULL */ + void (*smgr_shutdown) (void); /* may be NULL */ + void (*smgr_open) (SMgrRelation reln); + void (*smgr_close) (SMgrRelation reln, ForkNumber forknum); + void (*smgr_create) (SMgrRelation reln, ForkNumber forknum, + bool isRedo); + bool (*smgr_exists) (SMgrRelation reln, ForkNumber forknum); + void (*smgr_unlink) (RelFileLocatorBackend rlocator, ForkNumber forknum, + bool isRedo); + void (*smgr_extend) (SMgrRelation reln, ForkNumber forknum, + BlockNumber blocknum, const void *buffer, bool skipFsync); + void (*smgr_zeroextend) (SMgrRelation reln, ForkNumber forknum, + BlockNumber blocknum, int nblocks, bool skipFsync); + bool (*smgr_prefetch) (SMgrRelation reln, ForkNumber forknum, + BlockNumber blocknum, int nblocks); + void (*smgr_readv) (SMgrRelation reln, ForkNumber forknum, + BlockNumber blocknum, + void **buffers, BlockNumber nblocks); + void (*smgr_writev) (SMgrRelation reln, ForkNumber forknum, + BlockNumber blocknum, + const void **buffers, BlockNumber nblocks, + bool skipFsync); + void (*smgr_writeback) (SMgrRelation reln, ForkNumber forknum, + BlockNumber blocknum, BlockNumber nblocks); + BlockNumber (*smgr_nblocks) (SMgrRelation reln, ForkNumber forknum); + void (*smgr_truncate) (SMgrRelation reln, ForkNumber forknum, + BlockNumber nblocks); + void (*smgr_immedsync) (SMgrRelation reln, ForkNumber forknum); + void (*smgr_registersync) (SMgrRelation reln, ForkNumber forknum); + + /* Neon: New capabilities for smgr used to make Neon work */ + void (*smgr_start_unlogged_build) (SMgrRelation reln); + void (*smgr_finish_unlogged_build_phase_1) (SMgrRelation reln); + void (*smgr_end_unlogged_build) (SMgrRelation reln); + + int (*smgr_read_slru_segment) (SMgrRelation reln, const char *path, int segno, void* buffer); +} f_smgr; + +typedef void (*smgr_init_hook_type) (void); +typedef void (*smgr_shutdown_hook_type) (void); +extern PGDLLIMPORT smgr_init_hook_type smgr_init_hook; +extern PGDLLIMPORT smgr_shutdown_hook_type smgr_shutdown_hook; +extern void smgr_init_standard(void); +extern void smgr_shutdown_standard(void); + +// Alternative implementation of calculate_database_size() +typedef int64 (*dbsize_hook_type) (Oid dbOid); +extern PGDLLIMPORT dbsize_hook_type dbsize_hook; + +typedef const f_smgr *(*smgr_hook_type) (ProcNumber backend, RelFileLocator rlocator); +extern PGDLLIMPORT smgr_hook_type smgr_hook; +extern const f_smgr *smgr_standard(ProcNumber backend, RelFileLocator rlocator); + +extern const f_smgr *smgr(ProcNumber backend, RelFileLocator rlocator); + extern void smgrinit(void); -extern SMgrRelation smgropen(RelFileLocator rlocator, ProcNumber backend); +extern SMgrRelation smgropen(RelFileLocator rlocator, ProcNumber backend, char relpersistence); extern bool smgrexists(SMgrRelation reln, ForkNumber forknum); extern void smgrpin(SMgrRelation reln); extern void smgrunpin(SMgrRelation reln); @@ -124,4 +202,11 @@ smgrwrite(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum, smgrwritev(reln, forknum, blocknum, &buffer, 1, skipFsync); } +/* Neon: Change relpersistence for unlogged index builds */ +extern void smgr_start_unlogged_build(SMgrRelation reln); +extern void smgr_finish_unlogged_build_phase_1(SMgrRelation reln); +extern void smgr_end_unlogged_build(SMgrRelation reln); + +extern int smgr_read_slru_segment(SMgrRelation reln, const char *path, int segno, void* buffer); + #endif /* SMGR_H */ diff --git a/src/include/tcop/tcopprot.h b/src/include/tcop/tcopprot.h index 643ce9cffab..180d5a2d227 100644 --- a/src/include/tcop/tcopprot.h +++ b/src/include/tcop/tcopprot.h @@ -42,6 +42,12 @@ typedef enum extern PGDLLIMPORT int log_statement; +/* Flags for restrict_nonsystem_relation_kind value */ +#define RESTRICT_RELKIND_VIEW 0x01 +#define RESTRICT_RELKIND_FOREIGN_TABLE 0x02 + +extern PGDLLIMPORT int restrict_nonsystem_relation_kind; + extern List *pg_parse_query(const char *query_string); extern List *pg_rewrite_query(Query *query); extern List *pg_analyze_and_rewrite_fixedparams(RawStmt *parsetree, diff --git a/src/include/utils/elog.h b/src/include/utils/elog.h index 054dd2bf62f..e54eca5b489 100644 --- a/src/include/utils/elog.h +++ b/src/include/utils/elog.h @@ -226,6 +226,7 @@ extern int internalerrquery(const char *query); extern int err_generic_string(int field, const char *str); extern int geterrcode(void); +extern int geterrlevel(void); extern int geterrposition(void); extern int getinternalerrposition(void); diff --git a/src/include/utils/guc.h b/src/include/utils/guc.h index ff506bf48d9..2207a77b369 100644 --- a/src/include/utils/guc.h +++ b/src/include/utils/guc.h @@ -223,6 +223,7 @@ typedef enum #define GUC_DISALLOW_IN_AUTO_FILE \ 0x002000 /* can't set in PG_AUTOCONF_FILENAME */ #define GUC_RUNTIME_COMPUTED 0x004000 /* delay processing in 'postgres -C' */ +#define GUC_ALLOW_IN_PARALLEL 0x008000 /* allow setting in parallel mode */ #define GUC_UNIT_KB 0x01000000 /* value is in kilobytes */ #define GUC_UNIT_BLOCKS 0x02000000 /* value is in blocks */ diff --git a/src/include/utils/guc_hooks.h b/src/include/utils/guc_hooks.h index 070d3f2a1ad..8fd91af3887 100644 --- a/src/include/utils/guc_hooks.h +++ b/src/include/utils/guc_hooks.h @@ -127,6 +127,9 @@ extern void assign_recovery_target_xid(const char *newval, void *extra); extern bool check_role(char **newval, void **extra, GucSource source); extern void assign_role(const char *newval, void *extra); extern const char *show_role(void); +extern bool check_restrict_nonsystem_relation_kind(char **newval, void **extra, + GucSource source); +extern void assign_restrict_nonsystem_relation_kind(const char *newval, void *extra); extern bool check_search_path(char **newval, void **extra, GucSource source); extern void assign_search_path(const char *newval, void *extra); extern bool check_serial_buffers(int *newval, void **extra, GucSource source); diff --git a/src/include/utils/pgstat_internal.h b/src/include/utils/pgstat_internal.h index dbbca316025..22106778396 100644 --- a/src/include/utils/pgstat_internal.h +++ b/src/include/utils/pgstat_internal.h @@ -93,6 +93,19 @@ typedef struct PgStatShared_HashEntry */ pg_atomic_uint32 refcount; + /* + * Counter tracking the number of times the entry has been reused. + * + * Set to 0 when the entry is created, and incremented by one each time + * the shared entry is reinitialized with pgstat_reinit_entry(). + * + * May only be incremented / decremented while holding at least a shared + * lock on the dshash partition containing the entry. Like refcount, it + * needs to be an atomic variable because multiple backends can increment + * the generation with just a shared lock. + */ + pg_atomic_uint32 generation; + /* * Pointer to shared stats. The stats entry always starts with * PgStatShared_Common, embedded in a larger struct containing the @@ -132,6 +145,12 @@ typedef struct PgStat_EntryRef */ PgStatShared_Common *shared_stats; + /* + * Copy of PgStatShared_HashEntry->generation, keeping locally track of + * the shared stats entry "generation" retrieved (number of times reused). + */ + uint32 generation; + /* * Pending statistics data that will need to be flushed to shared memory * stats eventually. Each stats kind utilizing pending data defines what diff --git a/src/include/utils/portal.h b/src/include/utils/portal.h index 11419faecaa..29f49829f25 100644 --- a/src/include/utils/portal.h +++ b/src/include/utils/portal.h @@ -170,9 +170,9 @@ typedef struct PortalData Snapshot portalSnapshot; /* active snapshot, or NULL if none */ /* - * Where we store tuples for a held cursor or a PORTAL_ONE_RETURNING or - * PORTAL_UTIL_SELECT query. (A cursor held past the end of its - * transaction no longer has any active executor state.) + * Where we store tuples for a held cursor or a PORTAL_ONE_RETURNING, + * PORTAL_ONE_MOD_WITH, or PORTAL_UTIL_SELECT query. (A cursor held past + * the end of its transaction no longer has any active executor state.) */ Tuplestorestate *holdStore; /* store for holdable cursors */ MemoryContext holdContext; /* memory containing holdStore */ diff --git a/src/include/utils/rel.h b/src/include/utils/rel.h index 87002049538..50d95bb8cb9 100644 --- a/src/include/utils/rel.h +++ b/src/include/utils/rel.h @@ -568,7 +568,8 @@ RelationGetSmgr(Relation rel) { if (unlikely(rel->rd_smgr == NULL)) { - rel->rd_smgr = smgropen(rel->rd_locator, rel->rd_backend); + rel->rd_smgr = smgropen(rel->rd_locator, rel->rd_backend, + rel->rd_rel->relpersistence); smgrpin(rel->rd_smgr); } return rel->rd_smgr; diff --git a/src/include/utils/ruleutils.h b/src/include/utils/ruleutils.h index 6d860806221..161fb5ef02c 100644 --- a/src/include/utils/ruleutils.h +++ b/src/include/utils/ruleutils.h @@ -49,6 +49,4 @@ extern char *get_range_partbound_string(List *bound_datums); extern char *pg_get_statisticsobjdef_string(Oid statextid); -extern char *get_list_partvalue_string(Const *val); - #endif /* RULEUTILS_H */ diff --git a/src/include/utils/syscache.h b/src/include/utils/syscache.h index 03a27dd0a83..b541911c8fc 100644 --- a/src/include/utils/syscache.h +++ b/src/include/utils/syscache.h @@ -43,9 +43,14 @@ extern HeapTuple SearchSysCache4(int cacheId, extern void ReleaseSysCache(HeapTuple tuple); +extern HeapTuple SearchSysCacheLocked1(int cacheId, + Datum key1); + /* convenience routines */ extern HeapTuple SearchSysCacheCopy(int cacheId, Datum key1, Datum key2, Datum key3, Datum key4); +extern HeapTuple SearchSysCacheLockedCopy1(int cacheId, + Datum key1); extern bool SearchSysCacheExists(int cacheId, Datum key1, Datum key2, Datum key3, Datum key4); extern Oid GetSysCacheOid(int cacheId, AttrNumber oidcol, diff --git a/src/interfaces/ecpg/compatlib/informix.c b/src/interfaces/ecpg/compatlib/informix.c index 8ea89e640a0..65a0b2e46c4 100644 --- a/src/interfaces/ecpg/compatlib/informix.c +++ b/src/interfaces/ecpg/compatlib/informix.c @@ -175,6 +175,25 @@ deccopy(decimal *src, decimal *target) memcpy(target, src, sizeof(decimal)); } +static char * +ecpg_strndup(const char *str, size_t len) +{ + size_t real_len = strlen(str); + int use_len = (int) ((real_len > len) ? len : real_len); + + char *new = malloc(use_len + 1); + + if (new) + { + memcpy(new, str, use_len); + new[use_len] = '\0'; + } + else + errno = ENOMEM; + + return new; +} + int deccvasc(const char *cp, int len, decimal *np) { @@ -186,8 +205,8 @@ deccvasc(const char *cp, int len, decimal *np) if (risnull(CSTRINGTYPE, cp)) return 0; - str = pnstrdup(cp, len); /* decimal_in always converts the complete - * string */ + str = ecpg_strndup(cp, len); /* decimal_in always converts the complete + * string */ if (!str) ret = ECPG_INFORMIX_NUM_UNDERFLOW; else diff --git a/src/interfaces/ecpg/ecpglib/po/es.po b/src/interfaces/ecpg/ecpglib/po/es.po index 8dec975e62e..47f98914be9 100644 --- a/src/interfaces/ecpg/ecpglib/po/es.po +++ b/src/interfaces/ecpg/ecpglib/po/es.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: ecpglib (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-05-22 07:09+0000\n" +"POT-Creation-Date: 2024-08-01 11:09+0000\n" "PO-Revision-Date: 2023-05-22 12:04+0200\n" "Last-Translator: Emanuel Calvo Franco \n" "Language-Team: PgSQL-es-Ayuda \n" @@ -18,15 +18,15 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: connect.c:243 +#: connect.c:221 msgid "empty message text" msgstr "mensaje de texto vacío" -#: connect.c:410 connect.c:675 +#: connect.c:386 connect.c:645 msgid "" msgstr "" -#: descriptor.c:876 misc.c:119 +#: descriptor.c:866 misc.c:88 msgid "NULL" msgstr "NULL" @@ -195,6 +195,6 @@ msgstr "se ha perdido la conexión al servidor" msgid "SQL error: %s\n" msgstr "error SQL: %s\n" -#: execute.c:2188 execute.c:2195 +#: execute.c:2186 execute.c:2193 msgid "" msgstr "" diff --git a/src/interfaces/ecpg/ecpglib/po/fr.po b/src/interfaces/ecpg/ecpglib/po/fr.po index e976d5cb0ef..8bdd59b1f2e 100644 --- a/src/interfaces/ecpg/ecpglib/po/fr.po +++ b/src/interfaces/ecpg/ecpglib/po/fr.po @@ -9,10 +9,10 @@ # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 15\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2022-04-12 05:16+0000\n" -"PO-Revision-Date: 2022-04-12 17:29+0200\n" +"PO-Revision-Date: 2024-09-16 16:28+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -20,7 +20,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.0.1\n" +"X-Generator: Poedit 3.5\n" #: connect.c:237 msgid "empty message text" @@ -74,7 +74,7 @@ msgstr "syntaxe invalide en entrée pour le type int : « %s » sur la ligne %d" #: error.c:75 #, c-format msgid "invalid input syntax for type unsigned int: \"%s\", on line %d" -msgstr "syntaxe invalide en entrée pour le type unisgned int : « %s » sur la ligne %d" +msgstr "syntaxe invalide en entrée pour le type unsigned int : « %s » sur la ligne %d" #. translator: this string will be truncated at 149 characters expanded. #: error.c:82 diff --git a/src/interfaces/ecpg/ecpglib/po/ru.po b/src/interfaces/ecpg/ecpglib/po/ru.po index 16560ed8d3b..91b23dbc9fc 100644 --- a/src/interfaces/ecpg/ecpglib/po/ru.po +++ b/src/interfaces/ecpg/ecpglib/po/ru.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: ecpglib (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-08-28 07:59+0300\n" +"POT-Creation-Date: 2024-09-02 09:29+0300\n" "PO-Revision-Date: 2019-09-09 13:30+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" @@ -17,15 +17,15 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: connect.c:243 +#: connect.c:221 msgid "empty message text" msgstr "пустое сообщение" -#: connect.c:410 connect.c:675 +#: connect.c:386 connect.c:645 msgid "" msgstr "<ПО_УМОЛЧАНИЮ>" -#: descriptor.c:876 misc.c:119 +#: descriptor.c:866 misc.c:88 msgid "NULL" msgstr "NULL" @@ -196,7 +196,7 @@ msgstr "подключение к серверу потеряно" msgid "SQL error: %s\n" msgstr "ошибка SQL: %s\n" -#: execute.c:2188 execute.c:2195 +#: execute.c:2186 execute.c:2193 msgid "" msgstr "<>" diff --git a/src/interfaces/ecpg/ecpglib/po/sv.po b/src/interfaces/ecpg/ecpglib/po/sv.po index 7ccde101caf..9e499cc68d3 100644 --- a/src/interfaces/ecpg/ecpglib/po/sv.po +++ b/src/interfaces/ecpg/ecpglib/po/sv.po @@ -1,14 +1,14 @@ # SWEDISH message translation file for ecpglib # 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. +# Dennis Björklund , 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024. # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 14\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2020-04-10 02:39+0000\n" -"PO-Revision-Date: 2021-11-07 10:36+0100\n" +"POT-Creation-Date: 2024-07-12 11:10+0000\n" +"PO-Revision-Date: 2024-07-12 15:08+0200\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -17,15 +17,15 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -#: connect.c:237 +#: connect.c:221 msgid "empty message text" msgstr "tom meddelandetext" -#: connect.c:401 connect.c:430 connect.c:653 +#: connect.c:386 connect.c:645 msgid "" msgstr "" -#: descriptor.c:871 misc.c:119 +#: descriptor.c:866 misc.c:88 msgid "NULL" msgstr "NULL" @@ -185,15 +185,15 @@ msgstr "kunde inte ansluta till databas \"%s\" på rad %d" msgid "SQL error %d on line %d" msgstr "SQL-fel %d på rad %d" -#: error.c:254 +#: error.c:253 msgid "the connection to the server was lost" msgstr "anslutningen till servern tappades" -#: error.c:347 +#: error.c:345 #, c-format msgid "SQL error: %s\n" msgstr "SQL-fel: %s\n" -#: execute.c:2196 execute.c:2203 +#: execute.c:2186 execute.c:2193 msgid "" msgstr "" diff --git a/src/interfaces/ecpg/ecpglib/po/uk.po b/src/interfaces/ecpg/ecpglib/po/uk.po index dcb1738702c..e1ca3efd440 100644 --- a/src/interfaces/ecpg/ecpglib/po/uk.po +++ b/src/interfaces/ecpg/ecpglib/po/uk.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: postgresql\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-08-12 10:39+0000\n" -"PO-Revision-Date: 2022-09-13 11:52\n" +"POT-Creation-Date: 2024-02-24 00:09+0000\n" +"PO-Revision-Date: 2024-09-23 19:38\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -14,18 +14,18 @@ msgstr "" "X-Crowdin-Project: postgresql\n" "X-Crowdin-Project-ID: 324573\n" "X-Crowdin-Language: uk\n" -"X-Crowdin-File: /REL_15_STABLE/ecpglib.pot\n" -"X-Crowdin-File-ID: 890\n" +"X-Crowdin-File: /REL_17_STABLE/ecpglib.pot\n" +"X-Crowdin-File-ID: 1022\n" -#: connect.c:243 +#: connect.c:221 msgid "empty message text" msgstr "пусте повідомлення" -#: connect.c:410 connect.c:675 +#: connect.c:386 connect.c:645 msgid "" msgstr "<ЗА_ЗАМОВЧУВАННЯМ>" -#: descriptor.c:876 misc.c:119 +#: descriptor.c:866 misc.c:88 msgid "NULL" msgstr "NULL" @@ -194,7 +194,7 @@ msgstr "з'єднання із сервером втрачено" msgid "SQL error: %s\n" msgstr "помилка SQL: %s\n" -#: execute.c:2189 execute.c:2196 +#: execute.c:2186 execute.c:2193 msgid "" msgstr "<пусто>" diff --git a/src/interfaces/ecpg/pgtypeslib/dt_common.c b/src/interfaces/ecpg/pgtypeslib/dt_common.c index ed08088bfe1..f0889dddaf9 100644 --- a/src/interfaces/ecpg/pgtypeslib/dt_common.c +++ b/src/interfaces/ecpg/pgtypeslib/dt_common.c @@ -2325,10 +2325,10 @@ DecodeDateTime(char **field, int *ftype, int nf, return ((fmask & DTK_TIME_M) == DTK_TIME_M) ? 1 : -1; /* - * check for valid day of month, now that we know for sure the month - * and year... + * check for valid day of month and month, now that we know for sure + * the month and year... */ - if (tm->tm_mday < 1 || tm->tm_mday > day_tab[isleap(tm->tm_year)][tm->tm_mon - 1]) + if (tm->tm_mon < 1 || tm->tm_mday < 1 || tm->tm_mday > day_tab[isleap(tm->tm_year)][tm->tm_mon - 1]) return -1; /* diff --git a/src/interfaces/ecpg/preproc/pgc.l b/src/interfaces/ecpg/preproc/pgc.l index f9d68a96e79..ba0db561457 100644 --- a/src/interfaces/ecpg/preproc/pgc.l +++ b/src/interfaces/ecpg/preproc/pgc.l @@ -381,16 +381,30 @@ numericfail {decinteger}\.\. real ({decinteger}|{numeric})[Ee][-+]?{decinteger} realfail ({decinteger}|{numeric})[Ee][-+] -decinteger_junk {decinteger}{ident_start} -hexinteger_junk {hexinteger}{ident_start} -octinteger_junk {octinteger}{ident_start} -bininteger_junk {bininteger}{ident_start} -numeric_junk {numeric}{ident_start} -real_junk {real}{ident_start} - /* Positional parameters don't accept underscores. */ param \${decdigit}+ -param_junk \${decdigit}+{ident_start} + +/* + * An identifier immediately following an integer literal is disallowed because + * in some cases it's ambiguous what is meant: for example, 0x1234 could be + * either a hexinteger or a decinteger "0" and an identifier "x1234". We can + * detect such problems by seeing if integer_junk matches a longer substring + * than any of the XXXinteger patterns (decinteger, hexinteger, octinteger, + * bininteger). One "junk" pattern is sufficient because + * {decinteger}{identifier} will match all the same strings we'd match with + * {hexinteger}{identifier} etc. + * + * Note that the rule for integer_junk must appear after the ones for + * XXXinteger to make this work correctly: 0x1234 will match both hexinteger + * and integer_junk, and we need hexinteger to be chosen in that case. + * + * Also disallow strings matched by numeric_junk, real_junk and param_junk + * for consistency. + */ +integer_junk {decinteger}{identifier} +numeric_junk {numeric}{identifier} +real_junk {real}{identifier} +param_junk \${decdigit}+{identifier} /* special characters for other dbms */ /* we have to react differently in compat mode */ @@ -993,16 +1007,7 @@ cppline {space}*#([^i][A-Za-z]*|{if}|{ifdef}|{ifndef}|{import})((\/\*[^*/]*\*+ * Note that some trailing junk is valid in C (such as 100LL), so we * contain this to SQL mode. */ -{decinteger_junk} { - mmfatal(PARSE_ERROR, "trailing junk after numeric literal"); - } -{hexinteger_junk} { - mmfatal(PARSE_ERROR, "trailing junk after numeric literal"); - } -{octinteger_junk} { - mmfatal(PARSE_ERROR, "trailing junk after numeric literal"); - } -{bininteger_junk} { +{integer_junk} { mmfatal(PARSE_ERROR, "trailing junk after numeric literal"); } {numeric_junk} { diff --git a/src/interfaces/ecpg/preproc/po/es.po b/src/interfaces/ecpg/preproc/po/es.po index 5a550b56e18..9f375d13134 100644 --- a/src/interfaces/ecpg/preproc/po/es.po +++ b/src/interfaces/ecpg/preproc/po/es.po @@ -12,8 +12,8 @@ msgid "" msgstr "" "Project-Id-Version: ecpg (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-05-22 07:10+0000\n" -"PO-Revision-Date: 2023-05-22 12:05+0200\n" +"POT-Creation-Date: 2024-08-01 11:10+0000\n" +"PO-Revision-Date: 2024-08-01 20:27-0400\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" "Language: es\n" @@ -191,177 +191,177 @@ msgstr "" msgid "%s home page: <%s>\n" msgstr "Sitio web de %s: <%s>\n" -#: ecpg.c:141 +#: ecpg.c:152 #, c-format msgid "%s: could not locate my own executable path\n" msgstr "%s: no se pudo localizar la ruta de mi propio ejecutable\n" -#: ecpg.c:184 ecpg.c:235 ecpg.c:249 ecpg.c:275 +#: ecpg.c:195 ecpg.c:246 ecpg.c:260 ecpg.c:286 #, c-format msgid "Try \"%s --help\" for more information.\n" msgstr "Utilice «%s --help» para obtener mayor información.\n" -#: ecpg.c:192 +#: ecpg.c:203 #, c-format msgid "%s: parser debug support (-d) not available\n" msgstr "%s: la depuración del analizador (parser, -d) no está disponible)\n" -#: ecpg.c:219 ecpg.c:334 ecpg.c:345 +#: ecpg.c:230 ecpg.c:345 ecpg.c:356 #, c-format -msgid "%s: could not open file \"%s\": %s\n" -msgstr "%s: no se pudo abrir el archivo «%s»: %s\n" +msgid "%s: could not open file \"%s\": %m\n" +msgstr "%s: no se pudo abrir el archivo «%s»: %m\n" -#: ecpg.c:263 +#: ecpg.c:274 #, c-format msgid "%s, the PostgreSQL embedded C preprocessor, version %s\n" msgstr "%s, el preprocesador de C incrustado de PostgreSQL, versión %s\n" -#: ecpg.c:265 +#: ecpg.c:276 #, c-format msgid "EXEC SQL INCLUDE ... search starts here:\n" msgstr "EXEC SQL INCLUDE ... la búsqueda comienza aquí:\n" -#: ecpg.c:268 +#: ecpg.c:279 #, c-format msgid "end of search list\n" msgstr "fin de la lista de búsqueda\n" -#: ecpg.c:274 +#: ecpg.c:285 #, c-format msgid "%s: no input files specified\n" msgstr "%s: no se especificaron archivos de entrada\n" -#: ecpg.c:478 +#: ecpg.c:491 #, c-format msgid "cursor \"%s\" has been declared but not opened" msgstr "el cursor «%s» fue declarado pero no abierto" -#: ecpg.c:491 preproc.y:130 +#: ecpg.c:504 preproc.y:130 #, c-format msgid "could not remove output file \"%s\"\n" msgstr "no se pudo eliminar el archivo de salida «%s»\n" -#: pgc.l:520 +#: pgc.l:528 #, c-format msgid "unterminated /* comment" msgstr "comentario /* no cerrado" -#: pgc.l:537 +#: pgc.l:545 #, c-format msgid "unterminated bit string literal" msgstr "una cadena de bits está inconclusa" -#: pgc.l:545 +#: pgc.l:553 #, c-format msgid "unterminated hexadecimal string literal" msgstr "una cadena hexadecimal está inconclusa" -#: pgc.l:620 +#: pgc.l:628 #, c-format msgid "invalid bit string literal" msgstr "cadena de bits no válida" -#: pgc.l:625 +#: pgc.l:633 #, c-format msgid "invalid hexadecimal string literal" msgstr "cadena hexadecimal no válida" -#: pgc.l:643 +#: pgc.l:651 #, c-format msgid "unhandled previous state in xqs\n" msgstr "estado previo no manejado en xqs\n" -#: pgc.l:669 pgc.l:778 +#: pgc.l:677 pgc.l:786 #, c-format msgid "unterminated quoted string" msgstr "una cadena en comillas está inconclusa" -#: pgc.l:720 +#: pgc.l:728 #, c-format msgid "unterminated dollar-quoted string" msgstr "una cadena separada por $ está inconclusa" -#: pgc.l:738 pgc.l:758 +#: pgc.l:746 pgc.l:766 #, c-format msgid "zero-length delimited identifier" msgstr "identificador delimitado de longitud cero" -#: pgc.l:769 +#: pgc.l:777 #, c-format msgid "unterminated quoted identifier" msgstr "un identificador en comillas está inconcluso" -#: pgc.l:938 +#: pgc.l:946 #, c-format msgid "trailing junk after parameter" msgstr "basura sigue después de un parámetro" -#: pgc.l:990 pgc.l:993 pgc.l:996 pgc.l:999 pgc.l:1002 pgc.l:1005 +#: pgc.l:998 pgc.l:1001 pgc.l:1004 pgc.l:1007 pgc.l:1010 pgc.l:1013 #, c-format msgid "trailing junk after numeric literal" msgstr "basura sigue después de un literal numérico" -#: pgc.l:1127 +#: pgc.l:1136 #, c-format msgid "nested /* ... */ comments" msgstr "comentarios /* ... */ anidados" -#: pgc.l:1220 +#: pgc.l:1235 #, c-format msgid "missing identifier in EXEC SQL UNDEF command" msgstr "falta un identificador en la orden EXEC SQL UNDEF" -#: pgc.l:1238 pgc.l:1251 pgc.l:1267 pgc.l:1280 +#: pgc.l:1253 pgc.l:1266 pgc.l:1282 pgc.l:1295 #, c-format msgid "too many nested EXEC SQL IFDEF conditions" msgstr "demasiadas condiciones EXEC SQL IFDEF anidadas" -#: pgc.l:1296 pgc.l:1307 pgc.l:1322 pgc.l:1344 +#: pgc.l:1311 pgc.l:1322 pgc.l:1337 pgc.l:1359 #, c-format msgid "missing matching \"EXEC SQL IFDEF\" / \"EXEC SQL IFNDEF\"" msgstr "falta el «EXEC SQL IFDEF» / «EXEC SQL IFNDEF»" -#: pgc.l:1298 pgc.l:1309 pgc.l:1490 +#: pgc.l:1313 pgc.l:1324 pgc.l:1517 #, c-format msgid "missing \"EXEC SQL ENDIF;\"" msgstr "falta el «EXEC SQL ENDIF;»" -#: pgc.l:1324 pgc.l:1346 +#: pgc.l:1339 pgc.l:1361 #, c-format msgid "more than one EXEC SQL ELSE" msgstr "hay más de un EXEC SQL ELSE" -#: pgc.l:1369 pgc.l:1383 +#: pgc.l:1384 pgc.l:1398 #, c-format msgid "unmatched EXEC SQL ENDIF" msgstr "EXEC SQL ENDIF sin coincidencia" -#: pgc.l:1438 +#: pgc.l:1459 #, c-format msgid "missing identifier in EXEC SQL IFDEF command" msgstr "identificador faltante en la orden EXEC SQL IFDEF" -#: pgc.l:1447 +#: pgc.l:1468 #, c-format msgid "missing identifier in EXEC SQL DEFINE command" msgstr "identificador faltante en la orden EXEC SQL DEFINE" -#: pgc.l:1480 +#: pgc.l:1506 #, c-format msgid "syntax error in EXEC SQL INCLUDE command" msgstr "error de sintaxis en orden EXEC SQL INCLUDE" -#: pgc.l:1530 +#: pgc.l:1561 #, c-format msgid "internal error: unreachable state; please report this to <%s>" msgstr "error interno: estado no esperado; por favor reporte a <%s>" -#: pgc.l:1682 +#: pgc.l:1713 #, c-format msgid "Error: include path \"%s/%s\" is too long on line %d, skipping\n" msgstr "Error: ruta de inclusión «%s/%s» es demasiada larga en la línea %d, omitiendo\n" -#: pgc.l:1705 +#: pgc.l:1736 #, c-format msgid "could not open include file \"%s\" on line %d" msgstr "no se pudo abrir el archivo a incluir «%s» en la línea %d" @@ -395,12 +395,12 @@ msgstr "inicializador no permitido en definición de tipo" msgid "type name \"string\" is reserved in Informix mode" msgstr "el nombre de tipo «string» está reservado en modo Informix" -#: preproc.y:552 preproc.y:18392 +#: preproc.y:552 preproc.y:19072 #, c-format msgid "type \"%s\" is already defined" msgstr "el tipo «%s» ya está definido" -#: preproc.y:577 preproc.y:19027 preproc.y:19349 variable.c:625 +#: preproc.y:577 preproc.y:19707 preproc.y:20029 variable.c:625 #, c-format msgid "multidimensional arrays for simple data types are not supported" msgstr "los arrays multidimensionales para tipos de datos simples no están soportados" @@ -410,175 +410,174 @@ msgstr "los arrays multidimensionales para tipos de datos simples no están sopo msgid "connection %s is overwritten with %s by DECLARE statement %s" msgstr "la conexión %s es sobrescrita con %s por la sentencia DECLARE %s" -#: preproc.y:1792 +#: preproc.y:1833 #, c-format msgid "AT option not allowed in CLOSE DATABASE statement" msgstr "la opción AT no está permitida en la sentencia CLOSE DATABASE" -#: preproc.y:2042 +#: preproc.y:2083 #, c-format msgid "AT option not allowed in CONNECT statement" msgstr "la opción AT no está permitida en la sentencia CONNECT" -#: preproc.y:2082 +#: preproc.y:2123 #, c-format msgid "AT option not allowed in DISCONNECT statement" msgstr "la opción AT no está permitida en la sentencia DISCONNECT" -#: preproc.y:2137 +#: preproc.y:2178 #, c-format msgid "AT option not allowed in SET CONNECTION statement" msgstr "la opción AT no está permitida en la sentencia SET CONNECTION" -#: preproc.y:2159 +#: preproc.y:2200 #, c-format msgid "AT option not allowed in TYPE statement" msgstr "la opción AT no está permitida en la sentencia TYPE" -#: preproc.y:2168 +#: preproc.y:2209 #, c-format msgid "AT option not allowed in VAR statement" msgstr "la opción AT no está permitida en la sentencia VAR" -#: preproc.y:2175 +#: preproc.y:2216 #, c-format msgid "AT option not allowed in WHENEVER statement" msgstr "la opción AT no está permitida en la sentencia WHENEVER" -#: preproc.y:2300 preproc.y:2472 preproc.y:2477 preproc.y:2589 preproc.y:4248 -#: preproc.y:4322 preproc.y:4913 preproc.y:5446 preproc.y:5784 preproc.y:6084 -#: preproc.y:7648 preproc.y:9252 preproc.y:9257 preproc.y:12206 +#: preproc.y:2341 preproc.y:2628 preproc.y:4379 preproc.y:5043 preproc.y:5913 +#: preproc.y:6117 preproc.y:6218 preproc.y:12482 #, c-format msgid "unsupported feature will be passed to server" msgstr "característica no soportada será pasada al servidor" -#: preproc.y:2847 +#: preproc.y:2886 #, c-format msgid "SHOW ALL is not implemented" msgstr "SHOW ALL no está implementado" -#: preproc.y:3531 +#: preproc.y:3626 #, c-format msgid "COPY FROM STDIN is not implemented" msgstr "COPY FROM STDIN no está implementado" -#: preproc.y:10303 preproc.y:17889 +#: preproc.y:10466 preproc.y:18541 #, c-format msgid "\"database\" cannot be used as cursor name in INFORMIX mode" msgstr "no se puede usar «database» como nombre de cursor en modo INFORMIX" -#: preproc.y:10310 preproc.y:17899 +#: preproc.y:10473 preproc.y:18551 #, c-format msgid "using variable \"%s\" in different declare statements is not supported" msgstr "el uso de la variable «%s» en diferentes sentencias declare no está soportado" -#: preproc.y:10312 preproc.y:17901 +#: preproc.y:10475 preproc.y:18553 #, c-format msgid "cursor \"%s\" is already defined" msgstr "el cursor «%s» ya está definido" -#: preproc.y:10786 +#: preproc.y:10949 #, c-format msgid "no longer supported LIMIT #,# syntax passed to server" msgstr "la sintaxis LIMIT #,# que ya no está soportada ha sido pasada al servidor" -#: preproc.y:17581 preproc.y:17588 +#: preproc.y:18233 preproc.y:18240 #, c-format msgid "CREATE TABLE AS cannot specify INTO" msgstr "CREATE TABLE AS no puede especificar INTO" -#: preproc.y:17624 +#: preproc.y:18276 #, c-format msgid "expected \"@\", found \"%s\"" msgstr "se esperaba «@», se encontró «%s»" -#: preproc.y:17636 +#: preproc.y:18288 #, c-format msgid "only protocols \"tcp\" and \"unix\" and database type \"postgresql\" are supported" msgstr "sólo los protocolos «tcp» y «unix» y tipo de bases de datos «postgresql» están soportados" -#: preproc.y:17639 +#: preproc.y:18291 #, c-format msgid "expected \"://\", found \"%s\"" msgstr "se esperaba «://», se encontró «%s»" -#: preproc.y:17644 +#: preproc.y:18296 #, c-format msgid "Unix-domain sockets only work on \"localhost\" but not on \"%s\"" msgstr "los sockets de dominio unix sólo trabajan en «localhost» pero no en «%s»" -#: preproc.y:17670 +#: preproc.y:18322 #, c-format msgid "expected \"postgresql\", found \"%s\"" msgstr "se esperaba «postgresql», se encontró «%s»" -#: preproc.y:17673 +#: preproc.y:18325 #, c-format msgid "invalid connection type: %s" msgstr "tipo de conexión no válido: %s" -#: preproc.y:17682 +#: preproc.y:18334 #, c-format msgid "expected \"@\" or \"://\", found \"%s\"" msgstr "se esperaba «@» o «://», se encontró «%s»" -#: preproc.y:17757 preproc.y:17775 +#: preproc.y:18409 preproc.y:18427 #, c-format msgid "invalid data type" msgstr "tipo de dato no válido" -#: preproc.y:17786 preproc.y:17803 +#: preproc.y:18438 preproc.y:18455 #, c-format msgid "incomplete statement" msgstr "sentencia incompleta" -#: preproc.y:17789 preproc.y:17806 +#: preproc.y:18441 preproc.y:18458 #, c-format msgid "unrecognized token \"%s\"" msgstr "elemento «%s» no reconocido" -#: preproc.y:17851 +#: preproc.y:18503 #, c-format msgid "name \"%s\" is already declared" msgstr "el nombre «%s» ya está declarado" -#: preproc.y:18140 +#: preproc.y:18792 #, c-format msgid "only data types numeric and decimal have precision/scale argument" msgstr "sólo los tipos de dato numeric y decimal tienen argumento de precisión/escala" -#: preproc.y:18211 +#: preproc.y:18891 #, c-format msgid "interval specification not allowed here" msgstr "la especificación de intervalo no está permitida aquí" -#: preproc.y:18367 preproc.y:18419 +#: preproc.y:19047 preproc.y:19099 #, c-format msgid "too many levels in nested structure/union definition" msgstr "demasiados niveles en la definición anidada de estructura/unión" -#: preproc.y:18542 +#: preproc.y:19222 #, c-format msgid "pointers to varchar are not implemented" msgstr "los punteros a varchar no están implementados" -#: preproc.y:18993 +#: preproc.y:19673 #, c-format msgid "initializer not allowed in EXEC SQL VAR command" msgstr "inicializador no permitido en la orden EXEC SQL VAR" -#: preproc.y:19307 +#: preproc.y:19987 #, c-format msgid "arrays of indicators are not allowed on input" msgstr "no se permiten los arrays de indicadores en la entrada" -#: preproc.y:19494 +#: preproc.y:20174 #, c-format msgid "operator not allowed in variable definition" msgstr "operador no permitido en definición de variable" #. translator: %s is typically the translation of "syntax error" -#: preproc.y:19535 +#: preproc.y:20215 #, c-format msgid "%s at or near \"%s\"" msgstr "%s en o cerca de «%s»" diff --git a/src/interfaces/ecpg/preproc/po/fr.po b/src/interfaces/ecpg/preproc/po/fr.po index ca4aa527eea..6d841e85359 100644 --- a/src/interfaces/ecpg/preproc/po/fr.po +++ b/src/interfaces/ecpg/preproc/po/fr.po @@ -9,10 +9,10 @@ # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 15\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-04-12 05:16+0000\n" -"PO-Revision-Date: 2022-04-12 17:29+0200\n" +"POT-Creation-Date: 2024-07-20 21:10+0000\n" +"PO-Revision-Date: 2024-09-16 16:28+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -20,44 +20,44 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.0.1\n" +"X-Generator: Poedit 3.5\n" #: descriptor.c:64 #, c-format msgid "variable \"%s\" must have a numeric type" msgstr "la variable « %s » doit avoir un type numeric" -#: descriptor.c:125 descriptor.c:156 +#: descriptor.c:124 descriptor.c:155 #, c-format msgid "descriptor %s bound to connection %s does not exist" msgstr "le descripteur %s lié à la connexion %s n'existe pas" -#: descriptor.c:127 descriptor.c:158 +#: descriptor.c:126 descriptor.c:157 #, c-format msgid "descriptor %s bound to the default connection does not exist" msgstr "le descripteur %s lié à la connexion par défaut n'existe pas" -#: descriptor.c:173 descriptor.c:225 +#: descriptor.c:172 descriptor.c:224 #, c-format msgid "descriptor header item \"%d\" does not exist" msgstr "l'élément d'en-tête du descripteur « %d » n'existe pas" -#: descriptor.c:195 +#: descriptor.c:194 #, c-format msgid "nullable is always 1" msgstr "nullable vaut toujours 1" -#: descriptor.c:198 +#: descriptor.c:197 #, c-format msgid "key_member is always 0" msgstr "key_member vaut toujours 0" -#: descriptor.c:292 +#: descriptor.c:291 #, c-format msgid "descriptor item \"%s\" is not implemented" msgstr "l'élément du descripteur « %s » n'est pas implanté" -#: descriptor.c:302 +#: descriptor.c:301 #, c-format msgid "descriptor item \"%s\" cannot be set" msgstr "l'élément du descripteur « %s » ne peut pas être initialisé" @@ -192,179 +192,179 @@ msgstr "" msgid "%s home page: <%s>\n" msgstr "Page d'accueil de %s : <%s>\n" -#: ecpg.c:141 +#: ecpg.c:152 #, c-format msgid "%s: could not locate my own executable path\n" msgstr "%s : n'a pas pu localiser le chemin de mon propre exécutable\n" -#: ecpg.c:176 ecpg.c:333 ecpg.c:344 -#, c-format -msgid "%s: could not open file \"%s\": %s\n" -msgstr "%s : n'a pas pu ouvrir le fichier « %s » : %s\n" - -#: ecpg.c:219 ecpg.c:232 ecpg.c:248 ecpg.c:274 +#: ecpg.c:195 ecpg.c:246 ecpg.c:260 ecpg.c:286 #, c-format msgid "Try \"%s --help\" for more information.\n" msgstr "Essayer « %s --help » pour plus d'informations.\n" -#: ecpg.c:243 +#: ecpg.c:203 #, c-format msgid "%s: parser debug support (-d) not available\n" msgstr "%s : support de débogage de l'analyseur (-d) non disponible\n" -#: ecpg.c:262 +#: ecpg.c:230 ecpg.c:345 ecpg.c:356 +#, c-format +msgid "%s: could not open file \"%s\": %m\n" +msgstr "%s : n'a pas pu ouvrir le fichier « %s » : %m\n" + +#: ecpg.c:274 #, c-format msgid "%s, the PostgreSQL embedded C preprocessor, version %s\n" msgstr "%s, le préprocesseur C embarqué de PostgreSQL, version %s\n" -#: ecpg.c:264 +#: ecpg.c:276 #, c-format msgid "EXEC SQL INCLUDE ... search starts here:\n" msgstr "la recherche EXEC SQL INCLUDE ... commence ici :\n" -#: ecpg.c:267 +#: ecpg.c:279 #, c-format msgid "end of search list\n" msgstr "fin de la liste de recherche\n" -#: ecpg.c:273 +#: ecpg.c:285 #, c-format msgid "%s: no input files specified\n" msgstr "%s : aucun fichier précisé en entrée\n" -#: ecpg.c:477 +#: ecpg.c:491 #, c-format msgid "cursor \"%s\" has been declared but not opened" msgstr "le curseur « %s » est déclaré mais non ouvert" -#: ecpg.c:490 preproc.y:130 +#: ecpg.c:504 preproc.y:130 #, c-format msgid "could not remove output file \"%s\"\n" msgstr "n'a pas pu supprimer le fichier « %s » en sortie\n" -#: pgc.l:508 +#: pgc.l:528 #, c-format msgid "unterminated /* comment" msgstr "commentaire /* non terminé" -#: pgc.l:525 +#: pgc.l:545 #, c-format msgid "unterminated bit string literal" -msgstr "chaîne bit litéral non terminée" +msgstr "chaîne bit littéral non terminée" -#: pgc.l:533 +#: pgc.l:553 #, c-format msgid "unterminated hexadecimal string literal" -msgstr "chaîne hexadécimale litérale non terminée" +msgstr "chaîne hexadécimale littérale non terminée" -#: pgc.l:608 +#: pgc.l:628 #, c-format msgid "invalid bit string literal" -msgstr "chaîne bit litéral invalide" +msgstr "chaîne bit littéral invalide" -#: pgc.l:613 +#: pgc.l:633 #, c-format msgid "invalid hexadecimal string literal" msgstr "chaîne hexadécimale invalide" -#: pgc.l:631 +#: pgc.l:651 #, c-format msgid "unhandled previous state in xqs\n" msgstr "état précédent non géré dans xqs\n" -#: pgc.l:657 pgc.l:766 +#: pgc.l:677 pgc.l:786 #, c-format msgid "unterminated quoted string" msgstr "chaîne entre guillemets non terminée" -#: pgc.l:708 +#: pgc.l:728 #, c-format msgid "unterminated dollar-quoted string" msgstr "chaîne entre guillemets dollars non terminée" -#: pgc.l:726 pgc.l:746 +#: pgc.l:746 pgc.l:766 #, c-format msgid "zero-length delimited identifier" msgstr "identifiant délimité de longueur nulle" -#: pgc.l:757 +#: pgc.l:777 #, c-format msgid "unterminated quoted identifier" msgstr "identifiant entre guillemets non terminé" -#: pgc.l:926 +#: pgc.l:946 #, c-format msgid "trailing junk after parameter" msgstr "élément indésirable après le paramètre" -#: pgc.l:968 pgc.l:971 pgc.l:974 +#: pgc.l:998 pgc.l:1001 pgc.l:1004 pgc.l:1007 pgc.l:1010 pgc.l:1013 #, c-format msgid "trailing junk after numeric literal" msgstr "élément indésirable après la valeur numérique" -#: pgc.l:1100 +#: pgc.l:1136 #, c-format msgid "nested /* ... */ comments" msgstr "commentaires /* ... */ imbriqués" -#: pgc.l:1193 +#: pgc.l:1235 #, c-format msgid "missing identifier in EXEC SQL UNDEF command" msgstr "identifiant manquant dans la commande EXEC SQL UNDEF" -#: pgc.l:1211 pgc.l:1224 pgc.l:1240 pgc.l:1253 +#: pgc.l:1253 pgc.l:1266 pgc.l:1282 pgc.l:1295 #, c-format msgid "too many nested EXEC SQL IFDEF conditions" msgstr "trop de conditions EXEC SQL IFDEF imbriquées" -#: pgc.l:1269 pgc.l:1280 pgc.l:1295 pgc.l:1317 +#: pgc.l:1311 pgc.l:1322 pgc.l:1337 pgc.l:1359 #, c-format msgid "missing matching \"EXEC SQL IFDEF\" / \"EXEC SQL IFNDEF\"" msgstr "correspondance manquante « EXEC SQL IFDEF » / « EXEC SQL IFNDEF »" -#: pgc.l:1271 pgc.l:1282 pgc.l:1463 +#: pgc.l:1313 pgc.l:1324 pgc.l:1517 #, c-format msgid "missing \"EXEC SQL ENDIF;\"" msgstr "« EXEC SQL ENDIF; » manquant" -#: pgc.l:1297 pgc.l:1319 +#: pgc.l:1339 pgc.l:1361 #, c-format msgid "more than one EXEC SQL ELSE" msgstr "plusieurs EXEC SQL ELSE" -#: pgc.l:1342 pgc.l:1356 +#: pgc.l:1384 pgc.l:1398 #, c-format msgid "unmatched EXEC SQL ENDIF" msgstr "EXEC SQL ENDIF différent" -#: pgc.l:1411 +#: pgc.l:1459 #, c-format msgid "missing identifier in EXEC SQL IFDEF command" msgstr "identifiant manquant dans la commande EXEC SQL IFDEF" -#: pgc.l:1420 +#: pgc.l:1468 #, c-format msgid "missing identifier in EXEC SQL DEFINE command" msgstr "identifiant manquant dans la commande EXEC SQL DEFINE" -#: pgc.l:1453 +#: pgc.l:1506 #, c-format msgid "syntax error in EXEC SQL INCLUDE command" msgstr "erreur de syntaxe dans la commande EXEC SQL INCLUDE" -#: pgc.l:1503 +#: pgc.l:1561 #, c-format msgid "internal error: unreachable state; please report this to <%s>" msgstr "erreur interne : l'état ne peut être atteint ; merci de rapporter ceci à <%s>" -#: pgc.l:1655 +#: pgc.l:1713 #, c-format msgid "Error: include path \"%s/%s\" is too long on line %d, skipping\n" msgstr "" "Erreur : le chemin d'en-tête « %s/%s » est trop long sur la ligne %d,\n" "ignoré\n" -#: pgc.l:1678 +#: pgc.l:1736 #, c-format msgid "could not open include file \"%s\" on line %d" msgstr "n'a pas pu ouvrir le fichier d'en-tête « %s » sur la ligne %d" @@ -398,12 +398,12 @@ msgstr "initialiseur non autorisé dans la définition du type" msgid "type name \"string\" is reserved in Informix mode" msgstr "le nom du type « string » est réservé dans le mode Informix" -#: preproc.y:552 preproc.y:19317 +#: preproc.y:552 preproc.y:19072 #, c-format msgid "type \"%s\" is already defined" msgstr "le type « %s » est déjà défini" -#: preproc.y:577 preproc.y:19952 preproc.y:20277 variable.c:621 +#: preproc.y:577 preproc.y:19707 preproc.y:20029 variable.c:625 #, c-format msgid "multidimensional arrays for simple data types are not supported" msgstr "" @@ -415,186 +415,180 @@ msgstr "" msgid "connection %s is overwritten with %s by DECLARE statement %s" msgstr "la connexion %s est surchargée avec %s par l'instruction DECLARE %s" -#: preproc.y:1872 +#: preproc.y:1833 #, c-format msgid "AT option not allowed in CLOSE DATABASE statement" msgstr "option AT non autorisée dans une instruction CLOSE DATABASE" -#: preproc.y:2122 +#: preproc.y:2083 #, c-format msgid "AT option not allowed in CONNECT statement" msgstr "option AT non autorisée dans une instruction CONNECT" -#: preproc.y:2162 +#: preproc.y:2123 #, c-format msgid "AT option not allowed in DISCONNECT statement" msgstr "option AT non autorisée dans une instruction DISCONNECT" -#: preproc.y:2217 +#: preproc.y:2178 #, c-format msgid "AT option not allowed in SET CONNECTION statement" msgstr "option AT non autorisée dans une instruction SET CONNECTION" -#: preproc.y:2239 +#: preproc.y:2200 #, c-format msgid "AT option not allowed in TYPE statement" msgstr "option AT non autorisée dans une instruction TYPE" -#: preproc.y:2248 +#: preproc.y:2209 #, c-format msgid "AT option not allowed in VAR statement" msgstr "option AT non autorisée dans une instruction VAR" -#: preproc.y:2255 +#: preproc.y:2216 #, c-format msgid "AT option not allowed in WHENEVER statement" msgstr "option AT non autorisée dans une instruction WHENEVER" -#: preproc.y:2332 preproc.y:2504 preproc.y:2509 preproc.y:2632 preproc.y:4283 preproc.y:4357 -#: preproc.y:4948 preproc.y:5481 preproc.y:5819 preproc.y:6119 preproc.y:7687 preproc.y:9288 -#: preproc.y:9293 preproc.y:12272 +#: preproc.y:2341 preproc.y:2628 preproc.y:4379 preproc.y:5043 preproc.y:5913 preproc.y:6117 +#: preproc.y:6218 preproc.y:12482 #, c-format msgid "unsupported feature will be passed to server" msgstr "la fonctionnalité non supportée sera passée au serveur" -#: preproc.y:2890 +#: preproc.y:2886 #, c-format msgid "SHOW ALL is not implemented" msgstr "SHOW ALL n'est pas implanté" -#: preproc.y:3589 +#: preproc.y:3626 #, c-format msgid "COPY FROM STDIN is not implemented" msgstr "COPY FROM STDIN n'est pas implanté" -#: preproc.y:10335 preproc.y:18892 +#: preproc.y:10466 preproc.y:18541 #, c-format msgid "\"database\" cannot be used as cursor name in INFORMIX mode" msgstr "« database » ne peut pas être utilisé comme nom de curseur dans le mode INFORMIX" -#: preproc.y:10342 preproc.y:18902 +#: preproc.y:10473 preproc.y:18551 #, c-format msgid "using variable \"%s\" in different declare statements is not supported" msgstr "" "l'utilisation de la variable « %s » dans différentes instructions de déclaration\n" "n'est pas supportée" -#: preproc.y:10344 preproc.y:18904 +#: preproc.y:10475 preproc.y:18553 #, c-format msgid "cursor \"%s\" is already defined" msgstr "le curseur « %s » est déjà défini" -#: preproc.y:10818 +#: preproc.y:10949 #, c-format msgid "no longer supported LIMIT #,# syntax passed to server" msgstr "la syntaxe obsolète LIMIT #,# a été passée au serveur" -#: preproc.y:11151 preproc.y:11158 -#, c-format -msgid "subquery in FROM must have an alias" -msgstr "la sous-requête du FROM doit avoir un alias" - -#: preproc.y:18584 preproc.y:18591 +#: preproc.y:18233 preproc.y:18240 #, c-format msgid "CREATE TABLE AS cannot specify INTO" msgstr "CREATE TABLE AS ne peut pas indiquer INTO" -#: preproc.y:18627 +#: preproc.y:18276 #, c-format msgid "expected \"@\", found \"%s\"" msgstr "« @ » attendu, « %s » trouvé" -#: preproc.y:18639 +#: preproc.y:18288 #, c-format msgid "only protocols \"tcp\" and \"unix\" and database type \"postgresql\" are supported" msgstr "" "seuls les protocoles « tcp » et « unix » et les types de base de données\n" "« postgresql » sont supportés" -#: preproc.y:18642 +#: preproc.y:18291 #, c-format msgid "expected \"://\", found \"%s\"" msgstr "« :// » attendu, « %s » trouvé" -#: preproc.y:18647 +#: preproc.y:18296 #, c-format msgid "Unix-domain sockets only work on \"localhost\" but not on \"%s\"" msgstr "les sockets de domaine Unix fonctionnent seulement sur « localhost », mais pas sur « %s »" -#: preproc.y:18673 +#: preproc.y:18322 #, c-format msgid "expected \"postgresql\", found \"%s\"" msgstr "« postgresql » attendu, « %s » trouvé" -#: preproc.y:18676 +#: preproc.y:18325 #, c-format msgid "invalid connection type: %s" msgstr "type de connexion invalide : %s" -#: preproc.y:18685 +#: preproc.y:18334 #, c-format msgid "expected \"@\" or \"://\", found \"%s\"" msgstr "« @ » ou « :// » attendu, « %s » trouvé" -#: preproc.y:18760 preproc.y:18778 +#: preproc.y:18409 preproc.y:18427 #, c-format msgid "invalid data type" msgstr "type de données invalide" -#: preproc.y:18789 preproc.y:18806 +#: preproc.y:18438 preproc.y:18455 #, c-format msgid "incomplete statement" msgstr "instruction incomplète" -#: preproc.y:18792 preproc.y:18809 +#: preproc.y:18441 preproc.y:18458 #, c-format msgid "unrecognized token \"%s\"" msgstr "jeton « %s » non reconnu" -#: preproc.y:18854 +#: preproc.y:18503 #, c-format msgid "name \"%s\" is already declared" msgstr "le nom « %s » est déjà défini" -#: preproc.y:19120 +#: preproc.y:18792 #, c-format msgid "only data types numeric and decimal have precision/scale argument" msgstr "" "seuls les types de données numeric et decimal ont des arguments de\n" "précision et d'échelle" -#: preproc.y:19132 +#: preproc.y:18891 #, c-format msgid "interval specification not allowed here" msgstr "interval de spécification non autorisé ici" -#: preproc.y:19292 preproc.y:19344 +#: preproc.y:19047 preproc.y:19099 #, c-format msgid "too many levels in nested structure/union definition" msgstr "trop de niveaux dans la définition de structure/union imbriquée" -#: preproc.y:19467 +#: preproc.y:19222 #, c-format msgid "pointers to varchar are not implemented" msgstr "les pointeurs sur des chaînes de caractères (varchar) ne sont pas implantés" -#: preproc.y:19918 +#: preproc.y:19673 #, c-format msgid "initializer not allowed in EXEC SQL VAR command" msgstr "initialiseur non autorisé dans la commande EXEC SQL VAR" -#: preproc.y:20235 +#: preproc.y:19987 #, c-format msgid "arrays of indicators are not allowed on input" msgstr "les tableaux d'indicateurs ne sont pas autorisés en entrée" -#: preproc.y:20422 +#: preproc.y:20174 #, c-format msgid "operator not allowed in variable definition" msgstr "opérateur non autorisé dans la définition de la variable" #. translator: %s is typically the translation of "syntax error" -#: preproc.y:20463 +#: preproc.y:20215 #, c-format msgid "%s at or near \"%s\"" msgstr "%s sur ou près de « %s »" @@ -668,52 +662,52 @@ msgstr "le struct indicateur « %s » a trop de membres" msgid "unrecognized descriptor item code %d" msgstr "code %d de l'élément du descripteur non reconnu" -#: variable.c:89 variable.c:116 +#: variable.c:89 variable.c:115 #, c-format msgid "incorrectly formed variable \"%s\"" msgstr "variable « %s » mal formée" -#: variable.c:139 +#: variable.c:138 #, c-format msgid "variable \"%s\" is not a pointer" msgstr "la variable « %s » n'est pas un pointeur" -#: variable.c:142 variable.c:167 +#: variable.c:141 variable.c:166 #, c-format msgid "variable \"%s\" is not a pointer to a structure or a union" msgstr "la variable « %s » n'est pas un pointeur vers une structure ou une union" -#: variable.c:154 +#: variable.c:153 #, c-format msgid "variable \"%s\" is neither a structure nor a union" msgstr "la variable « %s » n'est ni une structure ni une union" -#: variable.c:164 +#: variable.c:163 #, c-format msgid "variable \"%s\" is not an array" msgstr "la variable « %s » n'est pas un tableau" -#: variable.c:233 variable.c:255 +#: variable.c:232 variable.c:254 #, c-format msgid "variable \"%s\" is not declared" msgstr "la variable « %s » n'est pas déclarée" -#: variable.c:494 +#: variable.c:493 #, c-format msgid "indicator variable must have an integer type" msgstr "la variable d'indicateur doit avoir un type integer" -#: variable.c:506 +#: variable.c:510 #, c-format msgid "unrecognized data type name \"%s\"" msgstr "nom « %s » non reconnu pour un type de données" -#: variable.c:517 variable.c:525 variable.c:542 variable.c:545 +#: variable.c:521 variable.c:529 variable.c:546 variable.c:549 #, c-format msgid "multidimensional arrays are not supported" msgstr "les tableaux multidimensionnels ne sont pas supportés" -#: variable.c:534 +#: variable.c:538 #, c-format msgid "multilevel pointers (more than 2 levels) are not supported; found %d level" msgid_plural "multilevel pointers (more than 2 levels) are not supported; found %d levels" @@ -724,46 +718,12 @@ msgstr[1] "" "les pointeurs multi-niveaux (plus de deux) ne sont pas supportés :\n" "%d niveaux trouvés" -#: variable.c:539 +#: variable.c:543 #, c-format msgid "pointer to pointer is not supported for this data type" msgstr "ce type de données ne supporte pas les pointeurs de pointeur" -#: variable.c:559 +#: variable.c:563 #, c-format msgid "multidimensional arrays for structures are not supported" msgstr "les tableaux multidimensionnels ne sont pas supportés pour les structures" - -#~ msgid "" -#~ "\n" -#~ "Report bugs to .\n" -#~ msgstr "" -#~ "\n" -#~ "Rapporter les bogues à .\n" - -#~ msgid " --version output version information, then exit\n" -#~ msgstr " --version affiche la version et quitte\n" - -#~ msgid "AT option not allowed in DEALLOCATE statement" -#~ msgstr "option AT non autorisée dans une instruction DEALLOCATE" - -#~ msgid "COPY FROM STDOUT is not possible" -#~ msgstr "COPY FROM STDOUT n'est pas possible" - -#~ msgid "COPY TO STDIN is not possible" -#~ msgstr "COPY TO STDIN n'est pas possible" - -#~ msgid "NEW used in query that is not in a rule" -#~ msgstr "NEW utilisé dans une requête qui n'est pas dans une règle" - -#~ msgid "OLD used in query that is not in a rule" -#~ msgstr "OLD utilisé dans une requête qui n'est pas dans une règle" - -#~ msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE" -#~ msgstr "une contrainte déclarée INITIALLY DEFERRED doit être DEFERRABLE" - -#~ msgid "declared name %s is already defined" -#~ msgstr "le nom déclaré %s est déjà défini" - -#~ msgid "using unsupported DESCRIBE statement" -#~ msgstr "utilisation de l'instruction DESCRIBE non supporté" diff --git a/src/interfaces/ecpg/preproc/po/ja.po b/src/interfaces/ecpg/preproc/po/ja.po index ac539c39f0d..79d5fe498a9 100644 --- a/src/interfaces/ecpg/preproc/po/ja.po +++ b/src/interfaces/ecpg/preproc/po/ja.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: ecpg (PostgreSQL 17)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-03-13 10:06+0900\n" -"PO-Revision-Date: 2024-03-13 10:42+0900\n" +"POT-Creation-Date: 2024-10-17 09:46+0900\n" +"PO-Revision-Date: 2024-10-17 11:54+0900\n" "Last-Translator: Kyotaro Horiguchi \n" "Language-Team: jpug-doc \n" "Language: ja\n" @@ -17,42 +17,42 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Poedit 1.8.13\n" -#: descriptor.c:64 +#: descriptor.c:63 #, c-format msgid "variable \"%s\" must have a numeric type" msgstr "変数\"%s\"は数値型でなければなりません" -#: descriptor.c:124 descriptor.c:155 +#: descriptor.c:119 descriptor.c:149 #, c-format msgid "descriptor %s bound to connection %s does not exist" msgstr "接続%2$sに関連付けられている記述子%1$sは存在しません" -#: descriptor.c:126 descriptor.c:157 +#: descriptor.c:121 descriptor.c:151 #, c-format msgid "descriptor %s bound to the default connection does not exist" msgstr "デフォルト接続に関連付けられている記述子%sは存在しません" -#: descriptor.c:172 descriptor.c:224 +#: descriptor.c:166 descriptor.c:218 #, c-format msgid "descriptor header item \"%d\" does not exist" msgstr "記述子ヘッダ項目%dは存在しません" -#: descriptor.c:194 +#: descriptor.c:188 #, c-format msgid "nullable is always 1" msgstr "nullableは常に1です" -#: descriptor.c:197 +#: descriptor.c:191 #, c-format msgid "key_member is always 0" msgstr "key_memberは常に0です" -#: descriptor.c:291 +#: descriptor.c:285 #, c-format msgid "descriptor item \"%s\" is not implemented" msgstr "記述子項目%sは実装されていません" -#: descriptor.c:301 +#: descriptor.c:295 #, c-format msgid "descriptor item \"%s\" cannot be set" msgstr "記述子項目%sは設定できません" @@ -186,459 +186,448 @@ msgstr "" msgid "%s home page: <%s>\n" msgstr "%s ホームページ: <%s>\n" -#: ecpg.c:141 +#: ecpg.c:152 #, c-format msgid "%s: could not locate my own executable path\n" msgstr "%s: 自身の実行ファイルの場所がわかりません\n" -#: ecpg.c:184 ecpg.c:235 ecpg.c:249 ecpg.c:275 +#: ecpg.c:195 ecpg.c:246 ecpg.c:260 ecpg.c:286 #, c-format msgid "Try \"%s --help\" for more information.\n" msgstr "詳細は\"%s --help\"を実行してください。\n" -#: ecpg.c:192 +#: ecpg.c:203 #, c-format msgid "%s: parser debug support (-d) not available\n" msgstr "%s: パーサデバッグのサポート(-d)を利用できません\n" -#: ecpg.c:219 ecpg.c:334 ecpg.c:345 +#: ecpg.c:230 ecpg.c:345 ecpg.c:356 #, c-format msgid "%s: could not open file \"%s\": %m\n" msgstr "%s: ファイル\"%s\"をオープンできませんでした: %m\n" -#: ecpg.c:263 +#: ecpg.c:274 #, c-format msgid "%s, the PostgreSQL embedded C preprocessor, version %s\n" msgstr "%s, PostgreSQL埋込みC言語プリプロセッサ, バージョン%s\n" -#: ecpg.c:265 +#: ecpg.c:276 #, c-format msgid "EXEC SQL INCLUDE ... search starts here:\n" msgstr "EXEC SQL INCLUDE ... 検索が始まります\n" -#: ecpg.c:268 +#: ecpg.c:279 #, c-format msgid "end of search list\n" msgstr "検索リストの終端です\n" -#: ecpg.c:274 +#: ecpg.c:285 #, c-format msgid "%s: no input files specified\n" msgstr "%s: 入力ファイルが指定されていません\n" -#: ecpg.c:478 +#: ecpg.c:491 #, c-format msgid "cursor \"%s\" has been declared but not opened" msgstr "カーソル%sは宣言されましたが、オープンされていません" -#: ecpg.c:491 preproc.y:130 +#: ecpg.c:504 #, c-format msgid "could not remove output file \"%s\"\n" msgstr "出力ファイル\"%s\"を削除できませんでした\n" -#: pgc.l:520 +#: pgc.l:542 #, c-format msgid "unterminated /* comment" msgstr "/*コメントが閉じていません" -#: pgc.l:537 +#: pgc.l:560 #, c-format msgid "unterminated bit string literal" msgstr "ビット文字列リテラルの終端がありません" -#: pgc.l:545 +#: pgc.l:570 #, c-format msgid "unterminated hexadecimal string literal" msgstr "16進数文字列リテラルの終端がありません" -#: pgc.l:620 +#: pgc.l:644 #, c-format msgid "invalid bit string literal" msgstr "無効なビット列リテラルです" -#: pgc.l:625 +#: pgc.l:649 #, c-format msgid "invalid hexadecimal string literal" msgstr "不正な16進数文字列リテラル" -#: pgc.l:643 +#: pgc.l:667 #, c-format msgid "unhandled previous state in xqs\n" msgstr "xqsの中で処理されない前ステート\n" -#: pgc.l:669 pgc.l:778 +#: pgc.l:700 pgc.l:820 #, c-format msgid "unterminated quoted string" msgstr "文字列の引用符が閉じていません" -#: pgc.l:720 +#: pgc.l:753 #, c-format msgid "unterminated dollar-quoted string" msgstr "文字列のドル引用符が閉じていません" -#: pgc.l:738 pgc.l:758 +#: pgc.l:772 pgc.l:793 #, c-format msgid "zero-length delimited identifier" msgstr "区切りつき識別子の長さがゼロです" -#: pgc.l:769 +#: pgc.l:809 #, c-format msgid "unterminated quoted identifier" msgstr "識別子の引用符が閉じていません" -#: pgc.l:938 +#: pgc.l:985 +#, c-format +msgid "parameter number too large" +msgstr "パラメータ数が多すぎます" + +#: pgc.l:990 #, c-format msgid "trailing junk after parameter" msgstr "パラメータの後に余分な文字" -#: pgc.l:990 pgc.l:993 pgc.l:996 pgc.l:999 pgc.l:1002 pgc.l:1005 +#: pgc.l:1042 pgc.l:1045 pgc.l:1048 #, c-format msgid "trailing junk after numeric literal" msgstr "数値リテラルの後ろにゴミがあります" -#: pgc.l:1127 +#: pgc.l:1177 #, c-format msgid "nested /* ... */ comments" msgstr "入れ子状の /* ... */ コメント" -#: pgc.l:1220 +#: pgc.l:1279 #, c-format msgid "missing identifier in EXEC SQL UNDEF command" msgstr "EXEC SQL UNDEFコマンドにおいて識別子がありません" -#: pgc.l:1238 pgc.l:1251 pgc.l:1267 pgc.l:1280 +#: pgc.l:1299 pgc.l:1312 pgc.l:1328 pgc.l:1341 #, c-format msgid "too many nested EXEC SQL IFDEF conditions" msgstr "入れ子状のEXEC SQL IFDEF条件が多すぎます" -#: pgc.l:1296 pgc.l:1307 pgc.l:1322 pgc.l:1344 +#: pgc.l:1357 pgc.l:1368 pgc.l:1384 pgc.l:1406 #, c-format msgid "missing matching \"EXEC SQL IFDEF\" / \"EXEC SQL IFNDEF\"" msgstr "対応する\"EXEC SQL IFDEF\" / \"EXEC SQL IFNDEF\"がありません" -#: pgc.l:1298 pgc.l:1309 pgc.l:1490 +#: pgc.l:1359 pgc.l:1370 pgc.l:1565 #, c-format msgid "missing \"EXEC SQL ENDIF;\"" msgstr "\"EXEC SQL ENDIF;\"がありません" -#: pgc.l:1324 pgc.l:1346 +#: pgc.l:1386 pgc.l:1408 #, c-format msgid "more than one EXEC SQL ELSE" msgstr "1つ以上のEXEC SQL ELSE\"が存在します" -#: pgc.l:1369 pgc.l:1383 +#: pgc.l:1431 pgc.l:1445 #, c-format msgid "unmatched EXEC SQL ENDIF" msgstr "EXEC SQL ENDIFに対応するものがありません" -#: pgc.l:1438 +#: pgc.l:1507 #, c-format msgid "missing identifier in EXEC SQL IFDEF command" msgstr "EXEC SQL IFDEFコマンドにおいて識別子がありません" -#: pgc.l:1447 +#: pgc.l:1516 #, c-format msgid "missing identifier in EXEC SQL DEFINE command" msgstr "EXEC SQL DEFINEコマンドにおいて識別子がありません" -#: pgc.l:1480 +#: pgc.l:1554 #, c-format msgid "syntax error in EXEC SQL INCLUDE command" msgstr "EXEC SQL INCLUDEコマンドにおいて構文エラーがあります" -#: pgc.l:1530 +#: pgc.l:1609 #, c-format msgid "internal error: unreachable state; please report this to <%s>" msgstr "内部エラー: 到達しないはずの状態です。<%s>まで報告してください" -#: pgc.l:1682 +#: pgc.l:1766 #, c-format msgid "Error: include path \"%s/%s\" is too long on line %d, skipping\n" msgstr "エラー:行番号%3$dのインクルードパス\"%1$s/%2$s\"が長すぎます。無視しました。\n" -#: pgc.l:1705 +#: pgc.l:1793 #, c-format msgid "could not open include file \"%s\" on line %d" msgstr "行番号%2$dのインクルードファイル\"%1$s\"をオープンすることができませんでした" -#: preproc.y:31 +#: preproc.y:28 msgid "syntax error" msgstr "構文エラー" -#: preproc.y:84 -#, c-format -msgid "WARNING: " -msgstr "警告: " - -#: preproc.y:87 -#, c-format -msgid "ERROR: " -msgstr "エラー: " - -#: preproc.y:514 +#: preproc.y:454 #, c-format msgid "cursor \"%s\" does not exist" msgstr "カーソル\"%s\"は存在しません" -#: preproc.y:543 +#: preproc.y:490 #, c-format msgid "initializer not allowed in type definition" msgstr "型定義では初期化子は許されません" -#: preproc.y:545 +#: preproc.y:492 #, c-format msgid "type name \"string\" is reserved in Informix mode" msgstr "型名\"string\"はInformixモードですでに予約されています" -#: preproc.y:552 preproc.y:18523 +#: preproc.y:499 preproc.y:8764 #, c-format msgid "type \"%s\" is already defined" msgstr "\"%s\"型はすでに定義されています" -#: preproc.y:577 preproc.y:19158 preproc.y:19480 variable.c:625 +#: preproc.y:525 preproc.y:9474 preproc.y:9816 variable.c:631 #, c-format msgid "multidimensional arrays for simple data types are not supported" msgstr "単純なデータ型の多次元配列はサポートされていません" -#: preproc.y:599 +#: preproc.y:548 #, c-format msgid "connection %s is overwritten with %s by DECLARE statement %s" msgstr "DECLARE文%3$sにより接続%1$sは%2$sで上書きされます" -#: preproc.y:1810 +#: preproc.y:904 #, c-format msgid "AT option not allowed in CLOSE DATABASE statement" msgstr "CLOSE DATABASE文ではATオプションは許されません" -#: preproc.y:2060 +#: preproc.y:1156 #, c-format msgid "AT option not allowed in CONNECT statement" msgstr "CONNECT文ではATオプションは許されません" -#: preproc.y:2100 +#: preproc.y:1192 #, c-format msgid "AT option not allowed in DISCONNECT statement" msgstr "DISCONNECT文ではATオプションは許されません" -#: preproc.y:2155 +#: preproc.y:1244 #, c-format msgid "AT option not allowed in SET CONNECTION statement" msgstr "SET CONNECTION文ではATオプションは許されません" -#: preproc.y:2177 +#: preproc.y:1262 #, c-format msgid "AT option not allowed in TYPE statement" msgstr "TYPE文ではATオプションは許されません" -#: preproc.y:2186 +#: preproc.y:1270 #, c-format msgid "AT option not allowed in VAR statement" msgstr "VAR文ではATオプションは許されません" -#: preproc.y:2193 +#: preproc.y:1277 #, c-format msgid "AT option not allowed in WHENEVER statement" msgstr "WHENEVER文ではATオプションは許されません" -#: preproc.y:2318 preproc.y:2490 preproc.y:2495 preproc.y:2607 preproc.y:4317 -#: preproc.y:4391 preproc.y:4982 preproc.y:5515 preproc.y:5853 preproc.y:6057 -#: preproc.y:6158 preproc.y:7722 preproc.y:9330 preproc.y:9335 preproc.y:12308 +#: preproc.y:1345 preproc.y:1468 preproc.y:2219 preproc.y:2545 preproc.y:2974 +#: preproc.y:3061 preproc.y:6042 #, c-format msgid "unsupported feature will be passed to server" msgstr "非サポートの機能がサーバーに渡されます" -#: preproc.y:2865 +#: preproc.y:1580 #, c-format msgid "SHOW ALL is not implemented" msgstr "SHOW ALLは実装されていません" -#: preproc.y:3577 +#: preproc.y:1865 #, c-format msgid "COPY FROM STDIN is not implemented" msgstr "COPY FROM STDINは実装されていません" -#: preproc.y:10385 preproc.y:18020 +#: preproc.y:5102 preproc.y:8218 #, c-format msgid "\"database\" cannot be used as cursor name in INFORMIX mode" msgstr "INFORMIXモードでは\"database\"をカーソル名として使用できません" -#: preproc.y:10392 preproc.y:18030 +#: preproc.y:5109 preproc.y:8228 #, c-format msgid "using variable \"%s\" in different declare statements is not supported" msgstr "異なったdeclareステートメントにおける変数\"%s\"の使用はサポートされていません" -#: preproc.y:10394 preproc.y:18032 +#: preproc.y:5111 preproc.y:8230 #, c-format msgid "cursor \"%s\" is already defined" msgstr "カーソル\"%s\"はすでに定義されています" -#: preproc.y:10868 +#: preproc.y:5358 #, c-format msgid "no longer supported LIMIT #,# syntax passed to server" msgstr "サーバーに渡されるLIMIT #,#構文はもはやサポートされていません" -#: preproc.y:17712 preproc.y:17719 +#: preproc.y:7868 preproc.y:7876 #, c-format msgid "CREATE TABLE AS cannot specify INTO" msgstr "CREATE TABLE ASはINTOを指定できません" -#: preproc.y:17755 +#: preproc.y:7919 #, c-format msgid "expected \"@\", found \"%s\"" msgstr "想定では\"@\"、結果では\"%s\"" -#: preproc.y:17767 +#: preproc.y:7931 #, c-format msgid "only protocols \"tcp\" and \"unix\" and database type \"postgresql\" are supported" msgstr "プロトコルでは\"tcp\"および\"unix\"のみ、データベースの種類では\"postgresql\"のみがサポートされています" -#: preproc.y:17770 +#: preproc.y:7934 #, c-format msgid "expected \"://\", found \"%s\"" msgstr "想定では\"://\"、結果では\"%s\"" -#: preproc.y:17775 +#: preproc.y:7939 #, c-format msgid "Unix-domain sockets only work on \"localhost\" but not on \"%s\"" msgstr "Unixドメインソケットは\"localhost\"でのみで動作し、\"%s\"では動作しません" -#: preproc.y:17801 +#: preproc.y:7966 #, c-format msgid "expected \"postgresql\", found \"%s\"" msgstr "想定では\"postgresql\"、結果では\"%s\"" -#: preproc.y:17804 +#: preproc.y:7969 #, c-format msgid "invalid connection type: %s" msgstr "無効な接続種類: %s" -#: preproc.y:17813 +#: preproc.y:7978 #, c-format msgid "expected \"@\" or \"://\", found \"%s\"" msgstr "想定では\"@または\"\"://\"、結果では\"%s\"" -#: preproc.y:17888 preproc.y:17906 +#: preproc.y:8076 preproc.y:8094 #, c-format msgid "invalid data type" msgstr "無効なデータ型" -#: preproc.y:17917 preproc.y:17934 +#: preproc.y:8105 preproc.y:8122 #, c-format msgid "incomplete statement" msgstr "不完全な文" -#: preproc.y:17920 preproc.y:17937 +#: preproc.y:8108 preproc.y:8125 #, c-format msgid "unrecognized token \"%s\"" msgstr "認識できないトークン\"%s\"" -#: preproc.y:17982 +#: preproc.y:8180 #, c-format msgid "name \"%s\" is already declared" msgstr "名前\"%s\"はすでに定義されています" -#: preproc.y:18271 +#: preproc.y:8485 #, c-format msgid "only data types numeric and decimal have precision/scale argument" msgstr "数値データ型または10進数データ型のみが精度/位取り引数と取ることができます" -#: preproc.y:18342 +#: preproc.y:8583 #, c-format msgid "interval specification not allowed here" msgstr "時間間隔の指定はここでは許されません" -#: preproc.y:18498 preproc.y:18550 +#: preproc.y:8735 preproc.y:8791 #, c-format msgid "too many levels in nested structure/union definition" msgstr "構造体/ユニオンの定義の入れ子レベルが深すぎます" -#: preproc.y:18673 +#: preproc.y:8924 #, c-format msgid "pointers to varchar are not implemented" msgstr "varcharを指し示すポインタは実装されていません" -#: preproc.y:19124 +#: preproc.y:9439 #, c-format msgid "initializer not allowed in EXEC SQL VAR command" msgstr "EXEC SQL VARコマンドでは初期化子は許されません" -#: preproc.y:19438 +#: preproc.y:9759 #, c-format msgid "arrays of indicators are not allowed on input" msgstr "指示子配列は入力として許されません" -#: preproc.y:19625 +#: preproc.y:9993 #, c-format msgid "operator not allowed in variable definition" msgstr "変数定義では演算子は許されません" #. translator: %s is typically the translation of "syntax error" -#: preproc.y:19666 +#: preproc.y:10038 #, c-format msgid "%s at or near \"%s\"" msgstr "\"%2$s\"またはその近辺で%1$s" -#: type.c:18 type.c:30 -#, c-format -msgid "out of memory" -msgstr "メモリ不足です" - -#: type.c:214 type.c:685 +#: type.c:190 type.c:661 #, c-format msgid "unrecognized variable type code %d" msgstr "認識できない変数型コード%d" -#: type.c:263 +#: type.c:239 #, c-format msgid "variable \"%s\" is hidden by a local variable of a different type" msgstr "変数\"%s\"は、異なった型を持つローカル変数により隠蔽されています" -#: type.c:265 +#: type.c:241 #, c-format msgid "variable \"%s\" is hidden by a local variable" msgstr "変数\"%s\"はローカル変数により隠蔽されています" -#: type.c:277 +#: type.c:253 #, c-format msgid "indicator variable \"%s\" is hidden by a local variable of a different type" msgstr "指示子変数\"%s\"は、異なった型を持つローカル変数により隠蔽されています" -#: type.c:279 +#: type.c:255 #, c-format msgid "indicator variable \"%s\" is hidden by a local variable" msgstr "指示子変数\"%s\"はローカル変数により隠蔽されています" -#: type.c:287 +#: type.c:263 #, c-format msgid "indicator for array/pointer has to be array/pointer" msgstr "配列/ポインタ用の指示子は配列/ポインタでなければなりません" -#: type.c:291 +#: type.c:267 #, c-format msgid "nested arrays are not supported (except strings)" msgstr "入れ子状の配列はサポートされません (文字列は除きます)" -#: type.c:333 +#: type.c:309 #, c-format msgid "indicator for struct has to be a struct" msgstr "構造体用の指示子は構造体でなければなりません" -#: type.c:353 type.c:374 type.c:394 +#: type.c:329 type.c:350 type.c:370 #, c-format msgid "indicator for simple data type has to be simple" msgstr "単純なデータ型用の指示子は単純型でなければなりません" -#: type.c:625 +#: type.c:601 #, c-format msgid "indicator struct \"%s\" has too few members" msgstr "指示子構造体\"%s\"のメンバが足りません" -#: type.c:633 +#: type.c:609 #, c-format msgid "indicator struct \"%s\" has too many members" msgstr "指示子構造体\"%s\"のメンバが多すぎます" -#: type.c:744 +#: type.c:720 #, c-format msgid "unrecognized descriptor item code %d" msgstr "認識できない記述子項目コード%dです" @@ -668,58 +657,43 @@ msgstr "変数\"%s\"は構造体でもユニオンでもありません" msgid "variable \"%s\" is not an array" msgstr "変数\"%s\"は配列ではありません" -#: variable.c:232 variable.c:254 +#: variable.c:220 +#, c-format +msgid "unmatched brace in variable \"%s\"" +msgstr "変数\"%s\"に閉じられていないブレースがあります" + +#: variable.c:235 variable.c:257 #, c-format msgid "variable \"%s\" is not declared" msgstr "変数\"%s\"は宣言されていません" -#: variable.c:493 +#: variable.c:496 #, c-format msgid "indicator variable must have an integer type" msgstr "指示子変数は整数型でなければなりません" -#: variable.c:510 +#: variable.c:513 #, c-format msgid "unrecognized data type name \"%s\"" msgstr "データ型名\"%s\"は認識できません" -#: variable.c:521 variable.c:529 variable.c:546 variable.c:549 +#: variable.c:527 variable.c:535 variable.c:552 variable.c:555 #, c-format msgid "multidimensional arrays are not supported" msgstr "多次元配列はサポートされません" -#: variable.c:538 +#: variable.c:544 #, c-format msgid "multilevel pointers (more than 2 levels) are not supported; found %d level" msgid_plural "multilevel pointers (more than 2 levels) are not supported; found %d levels" msgstr[0] "複数レベルのポインタ(2レベル以上)はサポートされません。%dレベルあります" -#: variable.c:543 +#: variable.c:549 #, c-format msgid "pointer to pointer is not supported for this data type" msgstr "このデータ型では、ポインタを指し示すポインタはサポートされていません" -#: variable.c:563 +#: variable.c:569 #, c-format msgid "multidimensional arrays for structures are not supported" msgstr "構造体の多次元配列はサポートされていません" - -#~ msgid "" -#~ "\n" -#~ "Report bugs to .\n" -#~ msgstr "" -#~ "\n" -#~ "不具合はまで報告してください。\n" - -#~ msgid "" -#~ "\n" -#~ "Report bugs to .\n" -#~ msgstr "" -#~ "\n" -#~ "不具合はに報告してください。\n" - -#~ msgid "subquery in FROM must have an alias" -#~ msgstr "FROM句の副問い合わせは別名を持たなければなりません" - -#~ msgid "using unsupported DESCRIBE statement" -#~ msgstr "未サポートのDESCRIBE文の使用" diff --git a/src/interfaces/ecpg/preproc/po/ru.po b/src/interfaces/ecpg/preproc/po/ru.po index b72b5cd79ea..1a207ca70f2 100644 --- a/src/interfaces/ecpg/preproc/po/ru.po +++ b/src/interfaces/ecpg/preproc/po/ru.po @@ -1,13 +1,13 @@ # Russian message translation file for ecpg # Copyright (C) 2012-2016 PostgreSQL Global Development Group # This file is distributed under the same license as the PostgreSQL package. -# Alexander Lakhin , 2012-2017, 2018, 2019, 2020, 2021, 2022. +# Alexander Lakhin , 2012-2017, 2018, 2019, 2020, 2021, 2022, 2024. msgid "" msgstr "" "Project-Id-Version: ecpg (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-05-04 10:36+0300\n" -"PO-Revision-Date: 2022-09-05 13:32+0300\n" +"POT-Creation-Date: 2024-09-19 11:24+0300\n" +"PO-Revision-Date: 2024-09-04 07:22+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" @@ -203,8 +203,8 @@ msgstr "%s: отладочные сообщения при разборе (-d) #: ecpg.c:230 ecpg.c:345 ecpg.c:356 #, c-format -msgid "%s: could not open file \"%s\": %s\n" -msgstr "%s: не удалось открыть файл \"%s\": %s\n" +msgid "%s: could not open file \"%s\": %m\n" +msgstr "%s: не удалось открыть файл \"%s\": %m\n" #: ecpg.c:274 #, c-format @@ -236,131 +236,131 @@ msgstr "курсор \"%s\" был объявлен, но не открыт" msgid "could not remove output file \"%s\"\n" msgstr "ошибка при удалении выходного файла \"%s\"\n" -#: pgc.l:527 +#: pgc.l:542 #, c-format msgid "unterminated /* comment" msgstr "незавершённый комментарий /*" -#: pgc.l:544 +#: pgc.l:559 #, c-format msgid "unterminated bit string literal" msgstr "оборванная битовая строка" -#: pgc.l:552 +#: pgc.l:567 #, c-format msgid "unterminated hexadecimal string literal" msgstr "оборванная шестнадцатеричная строка" -#: pgc.l:627 +#: pgc.l:642 #, c-format msgid "invalid bit string literal" msgstr "неверная битовая строка" -#: pgc.l:632 +#: pgc.l:647 #, c-format msgid "invalid hexadecimal string literal" msgstr "неверная шестнадцатеричная строка" -#: pgc.l:650 +#: pgc.l:665 #, c-format msgid "unhandled previous state in xqs\n" msgstr "" "необрабатываемое предыдущее состояние при обнаружении закрывающего " "апострофа\n" -#: pgc.l:676 pgc.l:785 +#: pgc.l:691 pgc.l:800 #, c-format msgid "unterminated quoted string" msgstr "незавершённая строка в кавычках" -#: pgc.l:727 +#: pgc.l:742 #, c-format msgid "unterminated dollar-quoted string" msgstr "незавершённая строка с $" -#: pgc.l:745 pgc.l:765 +#: pgc.l:760 pgc.l:780 #, c-format msgid "zero-length delimited identifier" msgstr "пустой идентификатор в кавычках" -#: pgc.l:776 +#: pgc.l:791 #, c-format msgid "unterminated quoted identifier" msgstr "незавершённый идентификатор в кавычках" -#: pgc.l:945 +#: pgc.l:960 #, c-format msgid "trailing junk after parameter" msgstr "мусорное содержимое после параметра" -#: pgc.l:997 pgc.l:1000 pgc.l:1003 pgc.l:1006 pgc.l:1009 pgc.l:1012 +#: pgc.l:1012 pgc.l:1015 pgc.l:1018 #, c-format msgid "trailing junk after numeric literal" msgstr "мусорное содержимое после числовой константы" -#: pgc.l:1135 +#: pgc.l:1141 #, c-format msgid "nested /* ... */ comments" msgstr "вложенные комментарии /* ... */" -#: pgc.l:1234 +#: pgc.l:1240 #, c-format msgid "missing identifier in EXEC SQL UNDEF command" msgstr "в команде EXEC SQL UNDEF отсутствует идентификатор" -#: pgc.l:1252 pgc.l:1265 pgc.l:1281 pgc.l:1294 +#: pgc.l:1258 pgc.l:1271 pgc.l:1287 pgc.l:1300 #, c-format msgid "too many nested EXEC SQL IFDEF conditions" msgstr "слишком много вложенных условий EXEC SQL IFDEF" -#: pgc.l:1310 pgc.l:1321 pgc.l:1336 pgc.l:1358 +#: pgc.l:1316 pgc.l:1327 pgc.l:1342 pgc.l:1364 #, c-format msgid "missing matching \"EXEC SQL IFDEF\" / \"EXEC SQL IFNDEF\"" msgstr "нет соответствующего \"EXEC SQL IFDEF\" / \"EXEC SQL IFNDEF\"" -#: pgc.l:1312 pgc.l:1323 pgc.l:1516 +#: pgc.l:1318 pgc.l:1329 pgc.l:1522 #, c-format msgid "missing \"EXEC SQL ENDIF;\"" msgstr "отсутствует \"EXEC SQL ENDIF;\"" -#: pgc.l:1338 pgc.l:1360 +#: pgc.l:1344 pgc.l:1366 #, c-format msgid "more than one EXEC SQL ELSE" msgstr "неоднократная команда EXEC SQL ELSE" -#: pgc.l:1383 pgc.l:1397 +#: pgc.l:1389 pgc.l:1403 #, c-format msgid "unmatched EXEC SQL ENDIF" msgstr "непарная команда EXEC SQL ENDIF" -#: pgc.l:1458 +#: pgc.l:1464 #, c-format msgid "missing identifier in EXEC SQL IFDEF command" msgstr "в команде EXEC SQL IFDEF отсутствует идентификатор" -#: pgc.l:1467 +#: pgc.l:1473 #, c-format msgid "missing identifier in EXEC SQL DEFINE command" msgstr "в команде EXEC SQL DEFINE отсутствует идентификатор" -#: pgc.l:1505 +#: pgc.l:1511 #, c-format msgid "syntax error in EXEC SQL INCLUDE command" msgstr "ошибка синтаксиса в команде EXEC SQL INCLUDE" -#: pgc.l:1560 +#: pgc.l:1566 #, c-format msgid "internal error: unreachable state; please report this to <%s>" msgstr "внутренняя ошибка: недостижимое состояние; пожалуйста, сообщите в <%s>" -#: pgc.l:1712 +#: pgc.l:1718 #, c-format msgid "Error: include path \"%s/%s\" is too long on line %d, skipping\n" msgstr "" "Ошибка: путь включаемых файлов \"%s/%s\" в строке %d слишком длинный, " "пропускается\n" -#: pgc.l:1735 +#: pgc.l:1741 #, c-format msgid "could not open include file \"%s\" on line %d" msgstr "не удалось открыть включаемый файл \"%s\" (строка %d)" @@ -394,12 +394,12 @@ msgstr "определение типа не может включать ини msgid "type name \"string\" is reserved in Informix mode" msgstr "имя типа \"string\" в режиме Informix зарезервировано" -#: preproc.y:552 preproc.y:18385 +#: preproc.y:552 preproc.y:19034 #, c-format msgid "type \"%s\" is already defined" msgstr "тип \"%s\" уже определён" -#: preproc.y:577 preproc.y:19020 preproc.y:19342 variable.c:625 +#: preproc.y:577 preproc.y:19669 preproc.y:19991 variable.c:625 #, c-format msgid "multidimensional arrays for simple data types are not supported" msgstr "многомерные массивы с простыми типами данных не поддерживаются" @@ -409,90 +409,90 @@ msgstr "многомерные массивы с простыми типами msgid "connection %s is overwritten with %s by DECLARE statement %s" msgstr "подключение %s заменяется на %s оператором DECLARE %s" -#: preproc.y:1792 +#: preproc.y:1831 #, c-format msgid "AT option not allowed in CLOSE DATABASE statement" msgstr "оператор CLOSE DATABASE с параметром AT не поддерживается" -#: preproc.y:2042 +#: preproc.y:2081 #, c-format msgid "AT option not allowed in CONNECT statement" msgstr "оператор CONNECT с параметром AT не поддерживается" -#: preproc.y:2082 +#: preproc.y:2121 #, c-format msgid "AT option not allowed in DISCONNECT statement" msgstr "оператор DISCONNECT с параметром AT не поддерживается" -#: preproc.y:2137 +#: preproc.y:2176 #, c-format msgid "AT option not allowed in SET CONNECTION statement" msgstr "оператор SET CONNECTION с параметром AT не поддерживается" -#: preproc.y:2159 +#: preproc.y:2198 #, c-format msgid "AT option not allowed in TYPE statement" msgstr "оператор TYPE с параметром AT не поддерживается" -#: preproc.y:2168 +#: preproc.y:2207 #, c-format msgid "AT option not allowed in VAR statement" msgstr "оператор VAR с параметром AT не поддерживается" -#: preproc.y:2175 +#: preproc.y:2214 #, c-format msgid "AT option not allowed in WHENEVER statement" msgstr "оператор WHENEVER с параметром AT не поддерживается" -#: preproc.y:2300 preproc.y:2587 preproc.y:4246 preproc.y:4910 preproc.y:5780 -#: preproc.y:6080 preproc.y:12199 +#: preproc.y:2339 preproc.y:2626 preproc.y:4349 preproc.y:5021 preproc.y:5891 +#: preproc.y:6095 preproc.y:6196 preproc.y:12460 #, c-format msgid "unsupported feature will be passed to server" msgstr "неподдерживаемая функция будет передана серверу" -#: preproc.y:2845 +#: preproc.y:2884 #, c-format msgid "SHOW ALL is not implemented" msgstr "SHOW ALL не реализовано" -#: preproc.y:3529 +#: preproc.y:3596 #, c-format msgid "COPY FROM STDIN is not implemented" msgstr "операция COPY FROM STDIN не реализована" -#: preproc.y:10296 preproc.y:17882 +#: preproc.y:10444 preproc.y:18503 #, c-format msgid "\"database\" cannot be used as cursor name in INFORMIX mode" msgstr "" "в режиме INFORMIX нельзя использовать \"database\" в качестве имени курсора" -#: preproc.y:10303 preproc.y:17892 +#: preproc.y:10451 preproc.y:18513 #, c-format msgid "using variable \"%s\" in different declare statements is not supported" msgstr "" "использование переменной \"%s\" в разных операторах DECLARE не поддерживается" -#: preproc.y:10305 preproc.y:17894 +#: preproc.y:10453 preproc.y:18515 #, c-format msgid "cursor \"%s\" is already defined" msgstr "курсор \"%s\" уже определён" -#: preproc.y:10779 +#: preproc.y:10927 #, c-format msgid "no longer supported LIMIT #,# syntax passed to server" msgstr "не поддерживаемое более предложение LIMIT #,# передано на сервер" -#: preproc.y:17574 preproc.y:17581 +#: preproc.y:18195 preproc.y:18202 #, c-format msgid "CREATE TABLE AS cannot specify INTO" msgstr "в CREATE TABLE AS нельзя указать INTO" -#: preproc.y:17617 +#: preproc.y:18238 #, c-format msgid "expected \"@\", found \"%s\"" msgstr "ожидался знак \"@\", но на этом месте \"%s\"" -#: preproc.y:17629 +#: preproc.y:18250 #, c-format msgid "" "only protocols \"tcp\" and \"unix\" and database type \"postgresql\" are " @@ -501,89 +501,89 @@ msgstr "" "поддерживаются только протоколы \"tcp\" и \"unix\", а тип базы данных - " "\"postgresql\"" -#: preproc.y:17632 +#: preproc.y:18253 #, c-format msgid "expected \"://\", found \"%s\"" msgstr "ожидалось \"://\", но на этом месте \"%s\"" -#: preproc.y:17637 +#: preproc.y:18258 #, c-format msgid "Unix-domain sockets only work on \"localhost\" but not on \"%s\"" msgstr "Unix-сокеты работают только с \"localhost\", но не с адресом \"%s\"" -#: preproc.y:17663 +#: preproc.y:18284 #, c-format msgid "expected \"postgresql\", found \"%s\"" msgstr "ожидался тип \"postgresql\", но на этом месте \"%s\"" -#: preproc.y:17666 +#: preproc.y:18287 #, c-format msgid "invalid connection type: %s" msgstr "неверный тип подключения: %s" -#: preproc.y:17675 +#: preproc.y:18296 #, c-format msgid "expected \"@\" or \"://\", found \"%s\"" msgstr "ожидалось \"@\" или \"://\", но на этом месте \"%s\"" -#: preproc.y:17750 preproc.y:17768 +#: preproc.y:18371 preproc.y:18389 #, c-format msgid "invalid data type" msgstr "неверный тип данных" -#: preproc.y:17779 preproc.y:17796 +#: preproc.y:18400 preproc.y:18417 #, c-format msgid "incomplete statement" msgstr "неполный оператор" -#: preproc.y:17782 preproc.y:17799 +#: preproc.y:18403 preproc.y:18420 #, c-format msgid "unrecognized token \"%s\"" msgstr "нераспознанное ключевое слово \"%s\"" -#: preproc.y:17844 +#: preproc.y:18465 #, c-format msgid "name \"%s\" is already declared" msgstr "имя \"%s\" уже объявлено" -#: preproc.y:18133 +#: preproc.y:18754 #, c-format msgid "only data types numeric and decimal have precision/scale argument" msgstr "" "точность/масштаб можно указать только для типов данных numeric и decimal" -#: preproc.y:18204 +#: preproc.y:18853 #, c-format msgid "interval specification not allowed here" msgstr "определение интервала здесь не допускается" -#: preproc.y:18360 preproc.y:18412 +#: preproc.y:19009 preproc.y:19061 #, c-format msgid "too many levels in nested structure/union definition" msgstr "слишком много уровней в определении вложенной структуры/объединения" -#: preproc.y:18535 +#: preproc.y:19184 #, c-format msgid "pointers to varchar are not implemented" msgstr "указатели на varchar не реализованы" -#: preproc.y:18986 +#: preproc.y:19635 #, c-format msgid "initializer not allowed in EXEC SQL VAR command" msgstr "команда EXEC SQL VAR не может включать инициализатор" -#: preproc.y:19300 +#: preproc.y:19949 #, c-format msgid "arrays of indicators are not allowed on input" msgstr "массивы индикаторов на входе недопустимы" -#: preproc.y:19487 +#: preproc.y:20136 #, c-format msgid "operator not allowed in variable definition" msgstr "недопустимый оператор в определении переменной" #. translator: %s is typically the translation of "syntax error" -#: preproc.y:19528 +#: preproc.y:20177 #, c-format msgid "%s at or near \"%s\"" msgstr "%s (примерное положение: \"%s\")" diff --git a/src/interfaces/ecpg/preproc/po/sv.po b/src/interfaces/ecpg/preproc/po/sv.po index 3b8d67c61dd..2fb7e68894a 100644 --- a/src/interfaces/ecpg/preproc/po/sv.po +++ b/src/interfaces/ecpg/preproc/po/sv.po @@ -1,14 +1,14 @@ # SWEDISHE message translation file for ecpg # 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. +# Dennis Björklund , 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024. # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 15\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-04-11 09:09+0000\n" -"PO-Revision-Date: 2022-04-11 14:39+0200\n" +"POT-Creation-Date: 2024-07-12 11:10+0000\n" +"PO-Revision-Date: 2024-07-12 15:07+0200\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -22,37 +22,37 @@ msgstr "" msgid "variable \"%s\" must have a numeric type" msgstr "variabel \"%s\" måste ha en numerisk typ" -#: descriptor.c:125 descriptor.c:156 +#: descriptor.c:124 descriptor.c:155 #, c-format msgid "descriptor %s bound to connection %s does not exist" msgstr "deskriptor %s kopplad till anslutning %s finns inte" -#: descriptor.c:127 descriptor.c:158 +#: descriptor.c:126 descriptor.c:157 #, c-format msgid "descriptor %s bound to the default connection does not exist" msgstr "deskriptor %s kopplad till standardanslutning finns inte" -#: descriptor.c:173 descriptor.c:225 +#: descriptor.c:172 descriptor.c:224 #, c-format msgid "descriptor header item \"%d\" does not exist" msgstr "deskriptor-header-post \"%d\" finns inte" -#: descriptor.c:195 +#: descriptor.c:194 #, c-format msgid "nullable is always 1" msgstr "nullable är alltid 1" -#: descriptor.c:198 +#: descriptor.c:197 #, c-format msgid "key_member is always 0" msgstr "key_member är alltid 0" -#: descriptor.c:292 +#: descriptor.c:291 #, c-format msgid "descriptor item \"%s\" is not implemented" msgstr "deskriptor-post \"%s\" är inte implementerad" -#: descriptor.c:302 +#: descriptor.c:301 #, c-format msgid "descriptor item \"%s\" cannot be set" msgstr "deskriptor-post \"%s\" kan inte sättas" @@ -184,177 +184,177 @@ msgstr "" msgid "%s home page: <%s>\n" msgstr "hemsida för %s: <%s>\n" -#: ecpg.c:141 +#: ecpg.c:152 #, c-format msgid "%s: could not locate my own executable path\n" msgstr "%s: kunde inte hitta min egna körbara fils sökväg\n" -#: ecpg.c:176 ecpg.c:333 ecpg.c:344 -#, c-format -msgid "%s: could not open file \"%s\": %s\n" -msgstr "%s: kunde inte öppna fil \"%s\": %s\n" - -#: ecpg.c:219 ecpg.c:232 ecpg.c:248 ecpg.c:274 +#: ecpg.c:195 ecpg.c:246 ecpg.c:260 ecpg.c:286 #, c-format msgid "Try \"%s --help\" for more information.\n" msgstr "Försök med \"%s --help\" för mer information.\n" -#: ecpg.c:243 +#: ecpg.c:203 #, c-format msgid "%s: parser debug support (-d) not available\n" msgstr "%s: parser-debug-stöd (-d) är inte tillgängligt\n" -#: ecpg.c:262 +#: ecpg.c:230 ecpg.c:345 ecpg.c:356 +#, c-format +msgid "%s: could not open file \"%s\": %m\n" +msgstr "%s: kunde inte öppna fil \"%s\": %m\n" + +#: ecpg.c:274 #, c-format msgid "%s, the PostgreSQL embedded C preprocessor, version %s\n" msgstr "%s, PostgreSQLs inbäddade C-preprocessor, version %s\n" -#: ecpg.c:264 +#: ecpg.c:276 #, c-format msgid "EXEC SQL INCLUDE ... search starts here:\n" msgstr "EXEC SQL INCLUDE ... sökning startar här:\n" -#: ecpg.c:267 +#: ecpg.c:279 #, c-format msgid "end of search list\n" msgstr "slut på söklista\n" -#: ecpg.c:273 +#: ecpg.c:285 #, c-format msgid "%s: no input files specified\n" msgstr "%s: inga indatafiler angivna\n" -#: ecpg.c:477 +#: ecpg.c:491 #, c-format msgid "cursor \"%s\" has been declared but not opened" msgstr "markören \"%s\" har deklarerats men inte öppnats" -#: ecpg.c:490 preproc.y:130 +#: ecpg.c:504 preproc.y:130 #, c-format msgid "could not remove output file \"%s\"\n" msgstr "kunde inte ta bort utdatafil \"%s\"\n" -#: pgc.l:508 +#: pgc.l:528 #, c-format msgid "unterminated /* comment" msgstr "ej avslutad /*-kommentar" -#: pgc.l:525 +#: pgc.l:545 #, c-format msgid "unterminated bit string literal" msgstr "ej avslutad bitsträngslitteral" -#: pgc.l:533 +#: pgc.l:553 #, c-format msgid "unterminated hexadecimal string literal" msgstr "ej avslutad hexadecimal stränglitteral" -#: pgc.l:608 +#: pgc.l:628 #, c-format msgid "invalid bit string literal" msgstr "ogiltig bit-sträng-literal" -#: pgc.l:613 +#: pgc.l:633 #, c-format msgid "invalid hexadecimal string literal" msgstr "ogiltig hexdecimal sträng-literal" -#: pgc.l:631 +#: pgc.l:651 #, c-format msgid "unhandled previous state in xqs\n" msgstr "tidigare state i xqs som ej kan hanteras\n" -#: pgc.l:657 pgc.l:766 +#: pgc.l:677 pgc.l:786 #, c-format msgid "unterminated quoted string" msgstr "icketerminerad citerad sträng" -#: pgc.l:708 +#: pgc.l:728 #, c-format msgid "unterminated dollar-quoted string" msgstr "icke terminerad dollarciterad sträng" -#: pgc.l:726 pgc.l:746 +#: pgc.l:746 pgc.l:766 #, c-format msgid "zero-length delimited identifier" msgstr "noll-längds avdelad identifierare" -#: pgc.l:757 +#: pgc.l:777 #, c-format msgid "unterminated quoted identifier" msgstr "ej avslutad citerad identifierare" -#: pgc.l:926 +#: pgc.l:946 #, c-format msgid "trailing junk after parameter" msgstr "efterföljande skräp efter parameter" -#: pgc.l:968 pgc.l:971 pgc.l:974 +#: pgc.l:998 pgc.l:1001 pgc.l:1004 pgc.l:1007 pgc.l:1010 pgc.l:1013 #, c-format msgid "trailing junk after numeric literal" msgstr "efterföljande skräp efter numerisk literal" -#: pgc.l:1100 +#: pgc.l:1136 #, c-format msgid "nested /* ... */ comments" msgstr "nästlade /* ... */-kommentarer" -#: pgc.l:1193 +#: pgc.l:1235 #, c-format msgid "missing identifier in EXEC SQL UNDEF command" msgstr "saknar identifierare i EXEC SQL UNDEF-kommando" -#: pgc.l:1211 pgc.l:1224 pgc.l:1240 pgc.l:1253 +#: pgc.l:1253 pgc.l:1266 pgc.l:1282 pgc.l:1295 #, c-format msgid "too many nested EXEC SQL IFDEF conditions" msgstr "för många nästlade EXEC SQL IFDEF-villkor" -#: pgc.l:1269 pgc.l:1280 pgc.l:1295 pgc.l:1317 +#: pgc.l:1311 pgc.l:1322 pgc.l:1337 pgc.l:1359 #, c-format msgid "missing matching \"EXEC SQL IFDEF\" / \"EXEC SQL IFNDEF\"" msgstr "saknar matchande \"EXEC SQL IFDEF\" / \"EXEC SQL IFNDEF\"" -#: pgc.l:1271 pgc.l:1282 pgc.l:1463 +#: pgc.l:1313 pgc.l:1324 pgc.l:1517 #, c-format msgid "missing \"EXEC SQL ENDIF;\"" msgstr "saknar \"EXEC SQL ENDIF;\"" -#: pgc.l:1297 pgc.l:1319 +#: pgc.l:1339 pgc.l:1361 #, c-format msgid "more than one EXEC SQL ELSE" msgstr "mer än en EXEC SQL ELSE" -#: pgc.l:1342 pgc.l:1356 +#: pgc.l:1384 pgc.l:1398 #, c-format msgid "unmatched EXEC SQL ENDIF" msgstr "ej matchad EXEC SQL ENDIF" -#: pgc.l:1411 +#: pgc.l:1459 #, c-format msgid "missing identifier in EXEC SQL IFDEF command" msgstr "saknar identifierare i EXEC SQL IFDEF-kommando" -#: pgc.l:1420 +#: pgc.l:1468 #, c-format msgid "missing identifier in EXEC SQL DEFINE command" msgstr "saknar identifierare i EXEC SQL DEFINE-kommando" -#: pgc.l:1453 +#: pgc.l:1506 #, c-format msgid "syntax error in EXEC SQL INCLUDE command" msgstr "syntaxfel i EXEC SQL INCLUDE-kommando" -#: pgc.l:1503 +#: pgc.l:1561 #, c-format msgid "internal error: unreachable state; please report this to <%s>" msgstr "internt fel: state som ej skall kunna nås; vänligen rapportera detta till <%s>" -#: pgc.l:1655 +#: pgc.l:1713 #, c-format msgid "Error: include path \"%s/%s\" is too long on line %d, skipping\n" msgstr "Fel: include-sökväg \"%s/%s\" är för lång på rad %d, hoppar över\n" -#: pgc.l:1678 +#: pgc.l:1736 #, c-format msgid "could not open include file \"%s\" on line %d" msgstr "kunde inte öppna inkludefil \"%s\" på rad %d" @@ -388,12 +388,12 @@ msgstr "initialiserare tillåts inte i typdefinition" msgid "type name \"string\" is reserved in Informix mode" msgstr "typnamn \"string\" är reserverat i Informix-läge" -#: preproc.y:552 preproc.y:19317 +#: preproc.y:552 preproc.y:19072 #, c-format msgid "type \"%s\" is already defined" msgstr "typen \"%s\" är redan definierad" -#: preproc.y:577 preproc.y:19952 preproc.y:20277 variable.c:621 +#: preproc.y:577 preproc.y:19707 preproc.y:20029 variable.c:625 #, c-format msgid "multidimensional arrays for simple data types are not supported" msgstr "multidimensionella array:er för enkla datatyper stöds inte" @@ -403,180 +403,174 @@ msgstr "multidimensionella array:er för enkla datatyper stöds inte" msgid "connection %s is overwritten with %s by DECLARE statement %s" msgstr "anslutning %s överskriven med %s av DECLARE-sats %s" -#: preproc.y:1872 +#: preproc.y:1833 #, c-format msgid "AT option not allowed in CLOSE DATABASE statement" msgstr "AT-flaggan tillåts inte i CLOSE DATABASE-sats" -#: preproc.y:2122 +#: preproc.y:2083 #, c-format msgid "AT option not allowed in CONNECT statement" msgstr "AT-flaggan tillåts inte i CONNECT-sats" -#: preproc.y:2162 +#: preproc.y:2123 #, c-format msgid "AT option not allowed in DISCONNECT statement" msgstr "AT-flaggan tillåts inte i DISCONNECT-sats" -#: preproc.y:2217 +#: preproc.y:2178 #, c-format msgid "AT option not allowed in SET CONNECTION statement" msgstr "AT-flaggan tillåts inte i SET CONNECTION-sats" -#: preproc.y:2239 +#: preproc.y:2200 #, c-format msgid "AT option not allowed in TYPE statement" msgstr "AT-flaggan tillåts inte i TYPE-sats" -#: preproc.y:2248 +#: preproc.y:2209 #, c-format msgid "AT option not allowed in VAR statement" msgstr "AT-flaggan tillåts inte i VAR-sats" -#: preproc.y:2255 +#: preproc.y:2216 #, c-format msgid "AT option not allowed in WHENEVER statement" msgstr "AT-flaggan tillåts inte i WHENEVER-sats" -#: preproc.y:2332 preproc.y:2504 preproc.y:2509 preproc.y:2632 preproc.y:4283 -#: preproc.y:4357 preproc.y:4948 preproc.y:5481 preproc.y:5819 preproc.y:6119 -#: preproc.y:7687 preproc.y:9288 preproc.y:9293 preproc.y:12272 +#: preproc.y:2341 preproc.y:2628 preproc.y:4379 preproc.y:5043 preproc.y:5913 +#: preproc.y:6117 preproc.y:6218 preproc.y:12482 #, c-format msgid "unsupported feature will be passed to server" msgstr "ej stödd funktion skickass till servern" -#: preproc.y:2890 +#: preproc.y:2886 #, c-format msgid "SHOW ALL is not implemented" msgstr "SHOW ALL är inte implementerad" -#: preproc.y:3589 +#: preproc.y:3626 #, c-format msgid "COPY FROM STDIN is not implemented" msgstr "COPY FROM STDIN är inte implementerad" -#: preproc.y:10335 preproc.y:18892 +#: preproc.y:10466 preproc.y:18541 #, c-format msgid "\"database\" cannot be used as cursor name in INFORMIX mode" msgstr "\"database\" kan inte användas som markörsnamn i INFORMIX-läge" -#: preproc.y:10342 preproc.y:18902 +#: preproc.y:10473 preproc.y:18551 #, c-format msgid "using variable \"%s\" in different declare statements is not supported" msgstr "använda variabel \"%s\" i olika deklarationssatser stöds inte" -#: preproc.y:10344 preproc.y:18904 +#: preproc.y:10475 preproc.y:18553 #, c-format msgid "cursor \"%s\" is already defined" msgstr "markören \"%s\" är redan definierad" -#: preproc.y:10818 +#: preproc.y:10949 #, c-format msgid "no longer supported LIMIT #,# syntax passed to server" msgstr "ej längre stödd syntax LIMIT #,# har skickats till servern" -#: preproc.y:11151 preproc.y:11158 -#, c-format -msgid "subquery in FROM must have an alias" -msgstr "subfråga i FROM måste ha ett alias" - -#: preproc.y:18584 preproc.y:18591 +#: preproc.y:18233 preproc.y:18240 #, c-format msgid "CREATE TABLE AS cannot specify INTO" msgstr "CREATE TABLE AS kan inte ange INTO" -#: preproc.y:18627 +#: preproc.y:18276 #, c-format msgid "expected \"@\", found \"%s\"" msgstr "förväntade \"@\", hittade \"%s\"" -#: preproc.y:18639 +#: preproc.y:18288 #, c-format msgid "only protocols \"tcp\" and \"unix\" and database type \"postgresql\" are supported" msgstr "bara protokoll \"tcp\" och \"unix\" samt databastyp \"postgresql\" stöds" -#: preproc.y:18642 +#: preproc.y:18291 #, c-format msgid "expected \"://\", found \"%s\"" msgstr "förväntade \"://\", hittade \"%s\"" -#: preproc.y:18647 +#: preproc.y:18296 #, c-format msgid "Unix-domain sockets only work on \"localhost\" but not on \"%s\"" msgstr "Unix-domän-socket fungerart bara på \"localhost\" men inte på \"%s\"" -#: preproc.y:18673 +#: preproc.y:18322 #, c-format msgid "expected \"postgresql\", found \"%s\"" msgstr "förväntade \"postgresql\", hittade \"%s\"" -#: preproc.y:18676 +#: preproc.y:18325 #, c-format msgid "invalid connection type: %s" msgstr "ogiltig anslutningstyp: %s" -#: preproc.y:18685 +#: preproc.y:18334 #, c-format msgid "expected \"@\" or \"://\", found \"%s\"" msgstr "förväntade \"@\" eller \"://\", hittade \"%s\"" -#: preproc.y:18760 preproc.y:18778 +#: preproc.y:18409 preproc.y:18427 #, c-format msgid "invalid data type" msgstr "ogiltig datatyp" -#: preproc.y:18789 preproc.y:18806 +#: preproc.y:18438 preproc.y:18455 #, c-format msgid "incomplete statement" msgstr "ofullständig sats" -#: preproc.y:18792 preproc.y:18809 +#: preproc.y:18441 preproc.y:18458 #, c-format msgid "unrecognized token \"%s\"" msgstr "okänd symbol \"%s\"" -#: preproc.y:18854 +#: preproc.y:18503 #, c-format msgid "name \"%s\" is already declared" msgstr "namnet \"%s\" är redan deklarerat" -#: preproc.y:19120 +#: preproc.y:18792 #, c-format msgid "only data types numeric and decimal have precision/scale argument" msgstr "bara datatyperna numeric och decimal har precision/skala-argument" -#: preproc.y:19132 +#: preproc.y:18891 #, c-format msgid "interval specification not allowed here" msgstr "intervallspecifikation tillåts inte här" -#: preproc.y:19292 preproc.y:19344 +#: preproc.y:19047 preproc.y:19099 #, c-format msgid "too many levels in nested structure/union definition" msgstr "för många nästlade nivåer i struktur/union-definition" -#: preproc.y:19467 +#: preproc.y:19222 #, c-format msgid "pointers to varchar are not implemented" msgstr "pekare till varchar är inte implementerat" -#: preproc.y:19918 +#: preproc.y:19673 #, c-format msgid "initializer not allowed in EXEC SQL VAR command" msgstr "initialiserare tillåts inte i EXEC SQL VAR-kommando" -#: preproc.y:20235 +#: preproc.y:19987 #, c-format msgid "arrays of indicators are not allowed on input" msgstr "array:er av indikatorer tillåts inte vid indata" -#: preproc.y:20422 +#: preproc.y:20174 #, c-format msgid "operator not allowed in variable definition" msgstr "operator tillåts inte i variabeldefinition" #. translator: %s is typically the translation of "syntax error" -#: preproc.y:20463 +#: preproc.y:20215 #, c-format msgid "%s at or near \"%s\"" msgstr "%s vid eller nära \"%s\"" @@ -646,64 +640,64 @@ msgstr "indikatorstruktur \"%s\" har för många medlemmar" msgid "unrecognized descriptor item code %d" msgstr "okänd deskriptor-post-kod %d" -#: variable.c:89 variable.c:116 +#: variable.c:89 variable.c:115 #, c-format msgid "incorrectly formed variable \"%s\"" msgstr "inkorrekt formatterad variabel \"%s\"" -#: variable.c:139 +#: variable.c:138 #, c-format msgid "variable \"%s\" is not a pointer" msgstr "variabel \"%s\" är inte en pekare" -#: variable.c:142 variable.c:167 +#: variable.c:141 variable.c:166 #, c-format msgid "variable \"%s\" is not a pointer to a structure or a union" msgstr "variabel \"%s\" är inte en pekare till en struktur eller union" -#: variable.c:154 +#: variable.c:153 #, c-format msgid "variable \"%s\" is neither a structure nor a union" msgstr "variabel \"%s\" är varken en struktur eller en union" -#: variable.c:164 +#: variable.c:163 #, c-format msgid "variable \"%s\" is not an array" msgstr "variabel \"%s\" är inte en array" -#: variable.c:233 variable.c:255 +#: variable.c:232 variable.c:254 #, c-format msgid "variable \"%s\" is not declared" msgstr "variabel \"%s\" är inte deklarerad" -#: variable.c:494 +#: variable.c:493 #, c-format msgid "indicator variable must have an integer type" msgstr "indikatorvariabel måste ha en heltalstyp" -#: variable.c:506 +#: variable.c:510 #, c-format msgid "unrecognized data type name \"%s\"" msgstr "okänt datatypsnamn \"%s\"" -#: variable.c:517 variable.c:525 variable.c:542 variable.c:545 +#: variable.c:521 variable.c:529 variable.c:546 variable.c:549 #, c-format msgid "multidimensional arrays are not supported" msgstr "multidimensionella array:er stöds inte" -#: variable.c:534 +#: variable.c:538 #, c-format msgid "multilevel pointers (more than 2 levels) are not supported; found %d level" msgid_plural "multilevel pointers (more than 2 levels) are not supported; found %d levels" msgstr[0] "multinivåpekare (mer än 2 nivåer) stöds inte; hittade %d nivå" msgstr[1] "multinivåpekare (mer än 2 nivåer) stöds inte; hittade %d nivåer" -#: variable.c:539 +#: variable.c:543 #, c-format msgid "pointer to pointer is not supported for this data type" msgstr "pekare till pekare stöds inte för denna datatyp" -#: variable.c:559 +#: variable.c:563 #, c-format msgid "multidimensional arrays for structures are not supported" msgstr "multidimensionella array:er av strukturer stöds inte" diff --git a/src/interfaces/ecpg/preproc/po/uk.po b/src/interfaces/ecpg/preproc/po/uk.po index f5c64240c6b..27ca851c33d 100644 --- a/src/interfaces/ecpg/preproc/po/uk.po +++ b/src/interfaces/ecpg/preproc/po/uk.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: postgresql\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-08-12 10:40+0000\n" -"PO-Revision-Date: 2022-09-13 11:52\n" +"POT-Creation-Date: 2024-09-23 10:40+0000\n" +"PO-Revision-Date: 2024-09-23 19:38\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -14,45 +14,45 @@ msgstr "" "X-Crowdin-Project: postgresql\n" "X-Crowdin-Project-ID: 324573\n" "X-Crowdin-Language: uk\n" -"X-Crowdin-File: /REL_15_STABLE/ecpg.pot\n" -"X-Crowdin-File-ID: 906\n" +"X-Crowdin-File: /REL_17_STABLE/ecpg.pot\n" +"X-Crowdin-File-ID: 990\n" #: descriptor.c:64 #, c-format msgid "variable \"%s\" must have a numeric type" msgstr "змінна \"%s\" повинна мати числовий тип" -#: descriptor.c:125 descriptor.c:156 +#: descriptor.c:124 descriptor.c:155 #, c-format msgid "descriptor %s bound to connection %s does not exist" msgstr "дескриптор %s, прив'язаний до підключення %s, не існує" -#: descriptor.c:127 descriptor.c:158 +#: descriptor.c:126 descriptor.c:157 #, c-format msgid "descriptor %s bound to the default connection does not exist" msgstr "дескриптор %s, прив'язаний до підключення за замовчуванням, не існує" -#: descriptor.c:173 descriptor.c:225 +#: descriptor.c:172 descriptor.c:224 #, c-format msgid "descriptor header item \"%d\" does not exist" msgstr "елемент заголовка дескриптору \"%d\" не існує" -#: descriptor.c:195 +#: descriptor.c:194 #, c-format msgid "nullable is always 1" msgstr "nullable завжди 1" -#: descriptor.c:198 +#: descriptor.c:197 #, c-format msgid "key_member is always 0" msgstr "key_member завжди 0" -#: descriptor.c:292 +#: descriptor.c:291 #, c-format msgid "descriptor item \"%s\" is not implemented" msgstr "елемент дескриптору \"%s\" не реалізовано" -#: descriptor.c:302 +#: descriptor.c:301 #, c-format msgid "descriptor item \"%s\" cannot be set" msgstr "елемент дескриптору \"%s\" не можна встановити" @@ -165,177 +165,177 @@ msgstr "\n" msgid "%s home page: <%s>\n" msgstr "Домашня сторінка %s: <%s>\n" -#: ecpg.c:141 +#: ecpg.c:152 #, c-format msgid "%s: could not locate my own executable path\n" msgstr "%s: не вдалося знайти свій власний шлях для виконання\n" -#: ecpg.c:176 ecpg.c:333 ecpg.c:344 -#, c-format -msgid "%s: could not open file \"%s\": %s\n" -msgstr "%s: не вдалося відкрити файл \"%s\": %s\n" - -#: ecpg.c:219 ecpg.c:232 ecpg.c:248 ecpg.c:274 +#: ecpg.c:195 ecpg.c:246 ecpg.c:260 ecpg.c:286 #, c-format msgid "Try \"%s --help\" for more information.\n" msgstr "Спробуйте \"%s --help\" для додаткової інформації.\n" -#: ecpg.c:243 +#: ecpg.c:203 #, c-format msgid "%s: parser debug support (-d) not available\n" msgstr "%s: налагоджувальні повідомлення під час аналізу (-d) не підтримуються\n" -#: ecpg.c:262 +#: ecpg.c:230 ecpg.c:345 ecpg.c:356 +#, c-format +msgid "%s: could not open file \"%s\": %m\n" +msgstr "%s: не вдалося відкрити файл \"%s\": %m\n" + +#: ecpg.c:274 #, c-format msgid "%s, the PostgreSQL embedded C preprocessor, version %s\n" msgstr "%s, вбудований препроцесор PostgreSQL, версія %s\n" -#: ecpg.c:264 +#: ecpg.c:276 #, c-format msgid "EXEC SQL INCLUDE ... search starts here:\n" msgstr "EXEC SQL INCLUDE ... пошук починається тут:\n" -#: ecpg.c:267 +#: ecpg.c:279 #, c-format msgid "end of search list\n" msgstr "кінець списку пошуку\n" -#: ecpg.c:273 +#: ecpg.c:285 #, c-format msgid "%s: no input files specified\n" msgstr "%s: не вказано вхідні файли\n" -#: ecpg.c:477 +#: ecpg.c:491 #, c-format msgid "cursor \"%s\" has been declared but not opened" msgstr "курсор \"%s\" був оголошений, але не відкритий" -#: ecpg.c:490 preproc.y:130 +#: ecpg.c:504 preproc.y:130 #, c-format msgid "could not remove output file \"%s\"\n" msgstr "не вдалося видалити файл виводу \"%s\"\n" -#: pgc.l:508 +#: pgc.l:542 #, c-format msgid "unterminated /* comment" msgstr "незавершений коментар /*" -#: pgc.l:525 +#: pgc.l:559 #, c-format msgid "unterminated bit string literal" msgstr "незавершений бітовий рядок" -#: pgc.l:533 +#: pgc.l:567 #, c-format msgid "unterminated hexadecimal string literal" msgstr "незавершений шістнадцятковий рядок" -#: pgc.l:608 +#: pgc.l:642 #, c-format msgid "invalid bit string literal" msgstr "неприпустимий літерал бітового рядка" -#: pgc.l:613 +#: pgc.l:647 #, c-format msgid "invalid hexadecimal string literal" msgstr "неприпустимий шістнадцятковий рядок" -#: pgc.l:631 +#: pgc.l:665 #, c-format msgid "unhandled previous state in xqs\n" msgstr "необроблений попередній стан у xqs\n" -#: pgc.l:657 pgc.l:766 +#: pgc.l:691 pgc.l:800 #, c-format msgid "unterminated quoted string" msgstr "незавершений рядок в лапках" -#: pgc.l:708 +#: pgc.l:742 #, c-format msgid "unterminated dollar-quoted string" msgstr "незавершений рядок з $" -#: pgc.l:726 pgc.l:746 +#: pgc.l:760 pgc.l:780 #, c-format msgid "zero-length delimited identifier" msgstr "пустий ідентифікатор із роздільниками" -#: pgc.l:757 +#: pgc.l:791 #, c-format msgid "unterminated quoted identifier" msgstr "незавершений ідентифікатор в лапках" -#: pgc.l:926 +#: pgc.l:960 #, c-format msgid "trailing junk after parameter" msgstr "сміття після параметру" -#: pgc.l:968 pgc.l:971 pgc.l:974 +#: pgc.l:1012 pgc.l:1015 pgc.l:1018 #, c-format msgid "trailing junk after numeric literal" msgstr "сміття після числового літерала" -#: pgc.l:1100 +#: pgc.l:1141 #, c-format msgid "nested /* ... */ comments" msgstr "вкладені /* ... */ коменарі" -#: pgc.l:1193 +#: pgc.l:1240 #, c-format msgid "missing identifier in EXEC SQL UNDEF command" msgstr "відсутній ідентифікатор у команді EXEC SQL UNDEF" -#: pgc.l:1211 pgc.l:1224 pgc.l:1240 pgc.l:1253 +#: pgc.l:1258 pgc.l:1271 pgc.l:1287 pgc.l:1300 #, c-format msgid "too many nested EXEC SQL IFDEF conditions" msgstr "забагато вкладених умов EXEC SQL IFDEF" -#: pgc.l:1269 pgc.l:1280 pgc.l:1295 pgc.l:1317 +#: pgc.l:1316 pgc.l:1327 pgc.l:1342 pgc.l:1364 #, c-format msgid "missing matching \"EXEC SQL IFDEF\" / \"EXEC SQL IFNDEF\"" msgstr "немає відповідного \"EXEC SQL IFDEF\" / \"EXEC SQL IFNDEF\"" -#: pgc.l:1271 pgc.l:1282 pgc.l:1463 +#: pgc.l:1318 pgc.l:1329 pgc.l:1522 #, c-format msgid "missing \"EXEC SQL ENDIF;\"" msgstr "відсутній \"EXEC SQL ENDIF;\"" -#: pgc.l:1297 pgc.l:1319 +#: pgc.l:1344 pgc.l:1366 #, c-format msgid "more than one EXEC SQL ELSE" msgstr "більше ніж один EXEC SQL ELSE" -#: pgc.l:1342 pgc.l:1356 +#: pgc.l:1389 pgc.l:1403 #, c-format msgid "unmatched EXEC SQL ENDIF" msgstr "невідповідний EXEC SQL ENDIF" -#: pgc.l:1411 +#: pgc.l:1464 #, c-format msgid "missing identifier in EXEC SQL IFDEF command" msgstr "відсутній ідентифікатор у команді EXEC SQL IFDEF" -#: pgc.l:1420 +#: pgc.l:1473 #, c-format msgid "missing identifier in EXEC SQL DEFINE command" msgstr "відсутній ідентифікатор у команді EXEC SQL DEFINE" -#: pgc.l:1453 +#: pgc.l:1511 #, c-format msgid "syntax error in EXEC SQL INCLUDE command" msgstr "синтаксична помилка у команді EXEC SQL INCLUDE" -#: pgc.l:1503 +#: pgc.l:1566 #, c-format msgid "internal error: unreachable state; please report this to <%s>" msgstr "внутрішня помилка: недосяжний стан; будь ласка, повідомте про це на <%s>" -#: pgc.l:1655 +#: pgc.l:1718 #, c-format msgid "Error: include path \"%s/%s\" is too long on line %d, skipping\n" msgstr "Помилка: шлях включення \"%s/%s\" занадто довгий у рядку %d, пропускається\n" -#: pgc.l:1678 +#: pgc.l:1741 #, c-format msgid "could not open include file \"%s\" on line %d" msgstr "не вдалося відкрити файл включення \"%s\" у рядку %d" @@ -369,12 +369,12 @@ msgstr "ініціалізація заборонена у визначенні msgid "type name \"string\" is reserved in Informix mode" msgstr "ім’я типу \"string\" зарезервовано у режимі Informix" -#: preproc.y:552 preproc.y:19354 +#: preproc.y:552 preproc.y:19034 #, c-format msgid "type \"%s\" is already defined" msgstr "тип \"%s\" вже визначений" -#: preproc.y:577 preproc.y:19989 preproc.y:20314 variable.c:621 +#: preproc.y:577 preproc.y:19669 preproc.y:19991 variable.c:625 #, c-format msgid "multidimensional arrays for simple data types are not supported" msgstr "багатовимірні масиви для простих типів даних не підтримуються" @@ -384,180 +384,174 @@ msgstr "багатовимірні масиви для простих типів msgid "connection %s is overwritten with %s by DECLARE statement %s" msgstr "підключення %s було перезаписано з %s командою DECLARE %s" -#: preproc.y:1872 +#: preproc.y:1831 #, c-format msgid "AT option not allowed in CLOSE DATABASE statement" msgstr "Параметр AT не дозволений в інструкції CLOSE DATABASE" -#: preproc.y:2122 +#: preproc.y:2081 #, c-format msgid "AT option not allowed in CONNECT statement" msgstr "Параметр AT не дозволений в інструкції CONNECT" -#: preproc.y:2162 +#: preproc.y:2121 #, c-format msgid "AT option not allowed in DISCONNECT statement" msgstr "Параметр AT не дозволений в інструкції DISCONNECT" -#: preproc.y:2217 +#: preproc.y:2176 #, c-format msgid "AT option not allowed in SET CONNECTION statement" msgstr "Параметр AT не дозволений в інструкції SET CONNECTION" -#: preproc.y:2239 +#: preproc.y:2198 #, c-format msgid "AT option not allowed in TYPE statement" msgstr "Параметр AT не дозволений в інструкції TYPE" -#: preproc.y:2248 +#: preproc.y:2207 #, c-format msgid "AT option not allowed in VAR statement" msgstr "Параметр AT не дозволений в інструкції VAR" -#: preproc.y:2255 +#: preproc.y:2214 #, c-format msgid "AT option not allowed in WHENEVER statement" msgstr "Параметр AT не дозволений в інструкції WHENEVER" -#: preproc.y:2332 preproc.y:2504 preproc.y:2509 preproc.y:2632 preproc.y:4283 -#: preproc.y:4357 preproc.y:4948 preproc.y:5481 preproc.y:5819 preproc.y:6119 -#: preproc.y:7687 preproc.y:9288 preproc.y:9293 preproc.y:12272 +#: preproc.y:2339 preproc.y:2626 preproc.y:4349 preproc.y:5021 preproc.y:5891 +#: preproc.y:6095 preproc.y:6196 preproc.y:12460 #, c-format msgid "unsupported feature will be passed to server" msgstr "непідтримувана функція буде передана до сервера" -#: preproc.y:2890 +#: preproc.y:2884 #, c-format msgid "SHOW ALL is not implemented" msgstr "SHOW ALL не реалізовано" -#: preproc.y:3589 +#: preproc.y:3596 #, c-format msgid "COPY FROM STDIN is not implemented" msgstr "COPY FROM STDIN не реалізовано" -#: preproc.y:10335 preproc.y:18892 +#: preproc.y:10444 preproc.y:18503 #, c-format msgid "\"database\" cannot be used as cursor name in INFORMIX mode" msgstr "\"database\" не може використовуватись як назва курсора в режимі INFORMIX" -#: preproc.y:10342 preproc.y:18902 +#: preproc.y:10451 preproc.y:18513 #, c-format msgid "using variable \"%s\" in different declare statements is not supported" msgstr "використання змінної \"%s\" у різних інструкціях declare не підтримується" -#: preproc.y:10344 preproc.y:18904 +#: preproc.y:10453 preproc.y:18515 #, c-format msgid "cursor \"%s\" is already defined" msgstr "курсор \"%s\" вже визначено" -#: preproc.y:10818 +#: preproc.y:10927 #, c-format msgid "no longer supported LIMIT #,# syntax passed to server" msgstr "непідтримуваний синтаксис LIMIT #,# передано до сервера" -#: preproc.y:11151 preproc.y:11158 -#, c-format -msgid "subquery in FROM must have an alias" -msgstr "підзапит в FROM повинен мати псевдонім" - -#: preproc.y:18584 preproc.y:18591 +#: preproc.y:18195 preproc.y:18202 #, c-format msgid "CREATE TABLE AS cannot specify INTO" msgstr "CREATE TABLE AS не може містити INTO" -#: preproc.y:18627 +#: preproc.y:18238 #, c-format msgid "expected \"@\", found \"%s\"" msgstr "очікувалося \"@\", знайдено \"%s\"" -#: preproc.y:18639 +#: preproc.y:18250 #, c-format msgid "only protocols \"tcp\" and \"unix\" and database type \"postgresql\" are supported" msgstr "підтримуються лише протоколи \"tcp\" та \"unix\" і тип бази даних \"postgresql\"" -#: preproc.y:18642 +#: preproc.y:18253 #, c-format msgid "expected \"://\", found \"%s\"" msgstr "очікувалося \"://\", знайдено \"%s\"" -#: preproc.y:18647 +#: preproc.y:18258 #, c-format msgid "Unix-domain sockets only work on \"localhost\" but not on \"%s\"" msgstr "Unix-сокети працюють лише з \"localhost\", але не з \"%s\"" -#: preproc.y:18673 +#: preproc.y:18284 #, c-format msgid "expected \"postgresql\", found \"%s\"" msgstr "очікувалось \"postgresql\", знайдено \"%s\"" -#: preproc.y:18676 +#: preproc.y:18287 #, c-format msgid "invalid connection type: %s" msgstr "неприпустимий тип підключення: %s" -#: preproc.y:18685 +#: preproc.y:18296 #, c-format msgid "expected \"@\" or \"://\", found \"%s\"" msgstr "очікувалось \"@\" або \"://\", знайдено \"%s\"" -#: preproc.y:18760 preproc.y:18778 +#: preproc.y:18371 preproc.y:18389 #, c-format msgid "invalid data type" msgstr "неприпустимий тип даних" -#: preproc.y:18789 preproc.y:18806 +#: preproc.y:18400 preproc.y:18417 #, c-format msgid "incomplete statement" msgstr "неповний оператор" -#: preproc.y:18792 preproc.y:18809 +#: preproc.y:18403 preproc.y:18420 #, c-format msgid "unrecognized token \"%s\"" msgstr "нерозпізнаний токен \"%s\"" -#: preproc.y:18854 +#: preproc.y:18465 #, c-format msgid "name \"%s\" is already declared" msgstr "ім'я \"%s\" вже оголошена" -#: preproc.y:19120 +#: preproc.y:18754 #, c-format msgid "only data types numeric and decimal have precision/scale argument" msgstr "точність/масштаб можна вказати лише для типів даних numeric і decimal" -#: preproc.y:19132 +#: preproc.y:18853 #, c-format msgid "interval specification not allowed here" msgstr "специфікація інтервалу тут не допускається" -#: preproc.y:19329 preproc.y:19381 +#: preproc.y:19009 preproc.y:19061 #, c-format msgid "too many levels in nested structure/union definition" msgstr "занадто багато рівнів у визначенні вкладеної структури/об'єднання" -#: preproc.y:19504 +#: preproc.y:19184 #, c-format msgid "pointers to varchar are not implemented" msgstr "вказівників на varchar не реалізовано" -#: preproc.y:19955 +#: preproc.y:19635 #, c-format msgid "initializer not allowed in EXEC SQL VAR command" msgstr "команда EXEC SQL VAR не допускає ініціалізатор" -#: preproc.y:20272 +#: preproc.y:19949 #, c-format msgid "arrays of indicators are not allowed on input" msgstr "вхідні масиви індикаторів не допускаються" -#: preproc.y:20459 +#: preproc.y:20136 #, c-format msgid "operator not allowed in variable definition" msgstr "у визначенні змінної оператор не допускається" #. translator: %s is typically the translation of "syntax error" -#: preproc.y:20500 +#: preproc.y:20177 #, c-format msgid "%s at or near \"%s\"" msgstr "%s в або поблизу \"%s\"" @@ -627,52 +621,52 @@ msgstr "індикатор структури \"%s\" має занадто ба msgid "unrecognized descriptor item code %d" msgstr "нерозпізнаний код елементу дескриптора %d" -#: variable.c:89 variable.c:116 +#: variable.c:89 variable.c:115 #, c-format msgid "incorrectly formed variable \"%s\"" msgstr "неправильно створена змінна \"%s\"" -#: variable.c:139 +#: variable.c:138 #, c-format msgid "variable \"%s\" is not a pointer" msgstr "змінна \"%s\" не є вказівником" -#: variable.c:142 variable.c:167 +#: variable.c:141 variable.c:166 #, c-format msgid "variable \"%s\" is not a pointer to a structure or a union" msgstr "змінна \"%s\" не є вказівником на структуру або об'єднання" -#: variable.c:154 +#: variable.c:153 #, c-format msgid "variable \"%s\" is neither a structure nor a union" msgstr "змінна \"%s\" не є структурою або об'єднанням" -#: variable.c:164 +#: variable.c:163 #, c-format msgid "variable \"%s\" is not an array" msgstr "змінна \"%s\" не є масивом" -#: variable.c:233 variable.c:255 +#: variable.c:232 variable.c:254 #, c-format msgid "variable \"%s\" is not declared" msgstr "змінна \"%s\" не проголошена" -#: variable.c:494 +#: variable.c:493 #, c-format msgid "indicator variable must have an integer type" msgstr "змінна-індикатор повинна бути цілим числом" -#: variable.c:506 +#: variable.c:510 #, c-format msgid "unrecognized data type name \"%s\"" msgstr "нерозпізнане ім'я типу даних \"%s\"" -#: variable.c:517 variable.c:525 variable.c:542 variable.c:545 +#: variable.c:521 variable.c:529 variable.c:546 variable.c:549 #, c-format msgid "multidimensional arrays are not supported" msgstr "багатовимірні масиви не підтримуються" -#: variable.c:534 +#: variable.c:538 #, c-format msgid "multilevel pointers (more than 2 levels) are not supported; found %d level" msgid_plural "multilevel pointers (more than 2 levels) are not supported; found %d levels" @@ -681,12 +675,12 @@ msgstr[1] "багаторівневі вказівники (більше 2 рі msgstr[2] "багаторівневі вказівники (більше 2 рівнів) не підтримуються; знайдено %d рівнів" msgstr[3] "багаторівневі вказівники (більше 2 рівнів) не підтримуються; знайдено %d рівень" -#: variable.c:539 +#: variable.c:543 #, c-format msgid "pointer to pointer is not supported for this data type" msgstr "для цього типу даних вказівники на вказівники не підтримуються" -#: variable.c:559 +#: variable.c:563 #, c-format msgid "multidimensional arrays for structures are not supported" msgstr "багатовимірні масиви структур не підтримуються" diff --git a/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test.c b/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test.c index ee867b6dd86..1f1d341a4ac 100644 --- a/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test.c +++ b/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include @@ -22,9 +23,11 @@ -#line 8 "dt_test.pgc" +#line 9 "dt_test.pgc" +static void check_errno(void); + int main(void) { @@ -34,19 +37,19 @@ main(void) -#line 14 "dt_test.pgc" +#line 17 "dt_test.pgc" date date1 ; -#line 15 "dt_test.pgc" +#line 18 "dt_test.pgc" timestamp ts1 ; -#line 16 "dt_test.pgc" +#line 19 "dt_test.pgc" interval * iv1 , iv2 ; -#line 17 "dt_test.pgc" +#line 20 "dt_test.pgc" char * text ; /* exec sql end declare section */ -#line 18 "dt_test.pgc" +#line 21 "dt_test.pgc" date date2; int mdy[3] = { 4, 19, 1998 }; @@ -57,31 +60,31 @@ main(void) ECPGdebug(1, stderr); /* exec sql whenever sqlerror do sqlprint ( ) ; */ -#line 27 "dt_test.pgc" +#line 30 "dt_test.pgc" { ECPGconnect(__LINE__, 0, "ecpg1_regression" , NULL, NULL , NULL, 0); -#line 28 "dt_test.pgc" +#line 31 "dt_test.pgc" if (sqlca.sqlcode < 0) sqlprint ( );} -#line 28 "dt_test.pgc" +#line 31 "dt_test.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "create table date_test ( d date , ts timestamp )", ECPGt_EOIT, ECPGt_EORT); -#line 29 "dt_test.pgc" +#line 32 "dt_test.pgc" if (sqlca.sqlcode < 0) sqlprint ( );} -#line 29 "dt_test.pgc" +#line 32 "dt_test.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "set datestyle to iso", ECPGt_EOIT, ECPGt_EORT); -#line 30 "dt_test.pgc" +#line 33 "dt_test.pgc" if (sqlca.sqlcode < 0) sqlprint ( );} -#line 30 "dt_test.pgc" +#line 33 "dt_test.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "set intervalstyle to postgres_verbose", ECPGt_EOIT, ECPGt_EORT); -#line 31 "dt_test.pgc" +#line 34 "dt_test.pgc" if (sqlca.sqlcode < 0) sqlprint ( );} -#line 31 "dt_test.pgc" +#line 34 "dt_test.pgc" date1 = PGTYPESdate_from_asc(d1, NULL); @@ -92,10 +95,10 @@ if (sqlca.sqlcode < 0) sqlprint ( );} ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_timestamp,&(ts1),(long)1,(long)1,sizeof(timestamp), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); -#line 36 "dt_test.pgc" +#line 39 "dt_test.pgc" if (sqlca.sqlcode < 0) sqlprint ( );} -#line 36 "dt_test.pgc" +#line 39 "dt_test.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "select * from date_test where d = $1 ", @@ -105,10 +108,10 @@ if (sqlca.sqlcode < 0) sqlprint ( );} ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_timestamp,&(ts1),(long)1,(long)1,sizeof(timestamp), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); -#line 38 "dt_test.pgc" +#line 41 "dt_test.pgc" if (sqlca.sqlcode < 0) sqlprint ( );} -#line 38 "dt_test.pgc" +#line 41 "dt_test.pgc" text = PGTYPESdate_to_asc(date1); @@ -263,10 +266,19 @@ if (sqlca.sqlcode < 0) sqlprint ( );} PGTYPESchar_free(text); ts1 = PGTYPEStimestamp_from_asc("1994-02-11 26:10:35", NULL); + /* failure, check error code */ + check_errno(); text = PGTYPEStimestamp_to_asc(ts1); printf("timestamp_to_asc3: %s\n", text); PGTYPESchar_free(text); + ts1 = PGTYPEStimestamp_from_asc("AM95000062", NULL); + /* failure, check error code */ + check_errno(); + text = PGTYPEStimestamp_to_asc(ts1); + printf("timestamp_to_asc4: %s\n", text); + PGTYPESchar_free(text); + /* abc-03:10:35-def-02/11/94-gh */ /* 12345678901234567890123456789 */ @@ -453,17 +465,35 @@ if (sqlca.sqlcode < 0) sqlprint ( );} free(out); { ECPGtrans(__LINE__, NULL, "rollback"); -#line 381 "dt_test.pgc" +#line 393 "dt_test.pgc" if (sqlca.sqlcode < 0) sqlprint ( );} -#line 381 "dt_test.pgc" +#line 393 "dt_test.pgc" { ECPGdisconnect(__LINE__, "CURRENT"); -#line 382 "dt_test.pgc" +#line 394 "dt_test.pgc" if (sqlca.sqlcode < 0) sqlprint ( );} -#line 382 "dt_test.pgc" +#line 394 "dt_test.pgc" return 0; } + +static void +check_errno(void) +{ + switch(errno) + { + case 0: + printf("(no errno set) - "); + break; + case PGTYPES_TS_BAD_TIMESTAMP: + printf("(errno == PGTYPES_TS_BAD_TIMESTAMP) - "); + break; + default: + printf("(unknown errno (%d))\n", errno); + printf("(libc: (%s)) ", strerror(errno)); + break; + } +} diff --git a/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test.stderr b/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test.stderr index 6e9ed3d3dba..2a109ee7fa1 100644 --- a/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test.stderr +++ b/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test.stderr @@ -2,47 +2,47 @@ [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 29: query: create table date_test ( d date , ts timestamp ); with 0 parameter(s) on connection ecpg1_regression +[NO_PID]: ecpg_execute on line 32: query: create table date_test ( d date , ts timestamp ); with 0 parameter(s) on connection ecpg1_regression [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 29: using PQexec +[NO_PID]: ecpg_execute on line 32: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_process_output on line 29: OK: CREATE TABLE +[NO_PID]: ecpg_process_output on line 32: OK: CREATE TABLE [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 30: query: set datestyle to iso; with 0 parameter(s) on connection ecpg1_regression +[NO_PID]: ecpg_execute on line 33: query: set datestyle to iso; with 0 parameter(s) on connection ecpg1_regression [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 30: using PQexec +[NO_PID]: ecpg_execute on line 33: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_process_output on line 30: OK: SET +[NO_PID]: ecpg_process_output on line 33: OK: SET [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 31: query: set intervalstyle to postgres_verbose; with 0 parameter(s) on connection ecpg1_regression +[NO_PID]: ecpg_execute on line 34: query: set intervalstyle to postgres_verbose; with 0 parameter(s) on connection ecpg1_regression [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 31: using PQexec +[NO_PID]: ecpg_execute on line 34: using PQexec [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_process_output on line 31: OK: SET +[NO_PID]: ecpg_process_output on line 34: OK: SET [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 36: query: insert into date_test ( d , ts ) values ( $1 , $2 ); with 2 parameter(s) on connection ecpg1_regression +[NO_PID]: ecpg_execute on line 39: query: insert into date_test ( d , ts ) values ( $1 , $2 ); with 2 parameter(s) on connection ecpg1_regression [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 36: using PQexecParams +[NO_PID]: ecpg_execute on line 39: using PQexecParams [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_free_params on line 36: parameter 1 = 1966-01-17 +[NO_PID]: ecpg_free_params on line 39: parameter 1 = 1966-01-17 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_free_params on line 36: parameter 2 = 2000-07-12 17:34:29 +[NO_PID]: ecpg_free_params on line 39: parameter 2 = 2000-07-12 17:34:29 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_process_output on line 36: OK: INSERT 0 1 +[NO_PID]: ecpg_process_output on line 39: OK: INSERT 0 1 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 38: query: select * from date_test where d = $1 ; with 1 parameter(s) on connection ecpg1_regression +[NO_PID]: ecpg_execute on line 41: query: select * from date_test where d = $1 ; with 1 parameter(s) on connection ecpg1_regression [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_execute on line 38: using PQexecParams +[NO_PID]: ecpg_execute on line 41: using PQexecParams [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_free_params on line 38: parameter 1 = 1966-01-17 +[NO_PID]: ecpg_free_params on line 41: parameter 1 = 1966-01-17 [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_process_output on line 38: correctly got 1 tuples with 2 fields +[NO_PID]: ecpg_process_output on line 41: correctly got 1 tuples with 2 fields [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 38: RESULT: 1966-01-17 offset: -1; array: no +[NO_PID]: ecpg_get_data on line 41: RESULT: 1966-01-17 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ecpg_get_data on line 38: RESULT: 2000-07-12 17:34:29 offset: -1; array: no +[NO_PID]: ecpg_get_data on line 41: RESULT: 2000-07-12 17:34:29 offset: -1; array: no [NO_PID]: sqlca: code: 0, state: 00000 -[NO_PID]: ECPGtrans on line 381: action "rollback"; connection "ecpg1_regression" +[NO_PID]: ECPGtrans on line 393: action "rollback"; connection "ecpg1_regression" [NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: ecpg_finish: connection ecpg1_regression closed [NO_PID]: sqlca: code: 0, state: 00000 diff --git a/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test.stdout b/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test.stdout index 4b582fd7a28..6b8bcc9fc27 100644 --- a/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test.stdout +++ b/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test.stdout @@ -20,7 +20,8 @@ date_defmt_asc10: 1995-12-25 date_defmt_asc12: 0095-12-25 timestamp_to_asc1: 1996-02-29 00:00:00 timestamp_to_asc2: 1994-02-11 03:10:35 -timestamp_to_asc3: 2000-01-01 00:00:00 +(errno == PGTYPES_TS_BAD_TIMESTAMP) - timestamp_to_asc3: 2000-01-01 00:00:00 +(errno == PGTYPES_TS_BAD_TIMESTAMP) - timestamp_to_asc4: 2000-01-01 00:00:00 timestamp_fmt_asc: 0: abc-00:00:00-def-01/01/00-ghi% timestamp_defmt_asc(This is a 4/12/80 3-39l12test, This is a %m/%d/%y %H-%Ml%Stest) = 1980-04-12 03:39:12, error: 0 timestamp_defmt_asc(Tue Jul 22 17:28:44 +0200 2003, %a %b %d %H:%M:%S %z %Y) = 2003-07-22 15:28:44, error: 0 diff --git a/src/interfaces/ecpg/test/pgtypeslib/dt_test.pgc b/src/interfaces/ecpg/test/pgtypeslib/dt_test.pgc index f81a3926655..645c273e503 100644 --- a/src/interfaces/ecpg/test/pgtypeslib/dt_test.pgc +++ b/src/interfaces/ecpg/test/pgtypeslib/dt_test.pgc @@ -2,11 +2,14 @@ #include #include #include +#include #include #include exec sql include ../regression; +static void check_errno(void); + int main(void) { @@ -189,10 +192,19 @@ main(void) PGTYPESchar_free(text); ts1 = PGTYPEStimestamp_from_asc("1994-02-11 26:10:35", NULL); + /* failure, check error code */ + check_errno(); text = PGTYPEStimestamp_to_asc(ts1); printf("timestamp_to_asc3: %s\n", text); PGTYPESchar_free(text); + ts1 = PGTYPEStimestamp_from_asc("AM95000062", NULL); + /* failure, check error code */ + check_errno(); + text = PGTYPEStimestamp_to_asc(ts1); + printf("timestamp_to_asc4: %s\n", text); + PGTYPESchar_free(text); + /* abc-03:10:35-def-02/11/94-gh */ /* 12345678901234567890123456789 */ @@ -383,3 +395,21 @@ main(void) return 0; } + +static void +check_errno(void) +{ + switch(errno) + { + case 0: + printf("(no errno set) - "); + break; + case PGTYPES_TS_BAD_TIMESTAMP: + printf("(errno == PGTYPES_TS_BAD_TIMESTAMP) - "); + break; + default: + printf("(unknown errno (%d))\n", errno); + printf("(libc: (%s)) ", strerror(errno)); + break; + } +} diff --git a/src/interfaces/libpq/fe-connect.c b/src/interfaces/libpq/fe-connect.c index 360d9a45476..2f87961a71e 100644 --- a/src/interfaces/libpq/fe-connect.c +++ b/src/interfaces/libpq/fe-connect.c @@ -2168,14 +2168,14 @@ connectFailureMessage(PGconn *conn, int errorno) static int useKeepalives(PGconn *conn) { - char *ep; int val; if (conn->keepalives == NULL) return 1; - val = strtol(conn->keepalives, &ep, 10); - if (*ep) + + if (!pqParseIntParam(conn->keepalives, &val, conn, "keepalives")) return -1; + return val != 0 ? 1 : 0; } @@ -3083,7 +3083,7 @@ PQconnectPoll(PGconn *conn) if (usekeepalives < 0) { - libpq_append_conn_error(conn, "keepalives parameter must be an integer"); + /* error is already reported */ err = 1; } else if (usekeepalives == 0) @@ -3512,22 +3512,12 @@ PQconnectPoll(PGconn *conn) { /* * Server failure of some sort, such as failure to - * fork a backend process. We need to process and - * report the error message, which might be formatted - * according to either protocol 2 or protocol 3. - * Rather than duplicate the code for that, we flip - * into AWAITING_RESPONSE state and let the code there - * deal with it. Note we have *not* consumed the "E" - * byte here. - */ - conn->status = CONNECTION_AWAITING_RESPONSE; - - /* - * Don't fall back to a plaintext connection after - * reading the error. + * fork a backend process. Don't bother retrieving + * the error message; we should not trust it as the + * server has not been authenticated yet. */ - conn->failed_enc_methods |= conn->allowed_enc_methods & (~conn->current_enc_method); - goto keep_going; + libpq_append_conn_error(conn, "server sent an error response during SSL exchange"); + goto error_return; } else { @@ -3611,13 +3601,9 @@ PQconnectPoll(PGconn *conn) { /* * Server failure of some sort, possibly protocol - * version support failure. We need to process and - * report the error message, which might be formatted - * according to either protocol 2 or protocol 3. - * Rather than duplicate the code for that, we flip - * into AWAITING_RESPONSE state and let the code there - * deal with it. Note we have *not* consumed the "E" - * byte here. + * version support failure. Don't bother retrieving + * the error message; we should not trust it anyway as + * the server has not authenticated yet. * * Note that unlike on an error response to * SSLRequest, we allow falling back to SSL or @@ -3626,8 +3612,8 @@ PQconnectPoll(PGconn *conn) * response might mean that we are connecting to a * pre-v12 server. */ - conn->status = CONNECTION_AWAITING_RESPONSE; - goto keep_going; + libpq_append_conn_error(conn, "server sent an error response during GSS encryption exchange"); + CONNECTION_FAILED(); } /* mark byte consumed */ diff --git a/src/interfaces/libpq/libpq-fe.h b/src/interfaces/libpq/libpq-fe.h index 87a6f3df074..ca3e028a512 100644 --- a/src/interfaces/libpq/libpq-fe.h +++ b/src/interfaces/libpq/libpq-fe.h @@ -30,15 +30,32 @@ extern "C" /* * These symbols may be used in compile-time #ifdef tests for the availability - * of newer libpq features. + * of v14-and-newer libpq features. */ +/* Features added in PostgreSQL v14: */ /* Indicates presence of PQenterPipelineMode and friends */ #define LIBPQ_HAS_PIPELINING 1 /* Indicates presence of PQsetTraceFlags; also new PQtrace output format */ #define LIBPQ_HAS_TRACE_FLAGS 1 + +/* Features added in PostgreSQL v15: */ /* Indicates that PQsslAttribute(NULL, "library") is useful */ #define LIBPQ_HAS_SSL_LIBRARY_DETECTION 1 +/* Features added in PostgreSQL v17: */ +/* Indicates presence of PGcancelConn typedef and associated routines */ +#define LIBPQ_HAS_ASYNC_CANCEL 1 +/* Indicates presence of PQchangePassword */ +#define LIBPQ_HAS_CHANGE_PASSWORD 1 +/* Indicates presence of PQsetChunkedRowsMode, PGRES_TUPLES_CHUNK */ +#define LIBPQ_HAS_CHUNK_MODE 1 +/* Indicates presence of PQclosePrepared, PQclosePortal, etc */ +#define LIBPQ_HAS_CLOSE_PREPARED 1 +/* Indicates presence of PQsendPipelineSync */ +#define LIBPQ_HAS_SEND_PIPELINE_SYNC 1 +/* Indicates presence of PQsocketPoll, PQgetCurrentTimeUSec */ +#define LIBPQ_HAS_SOCKET_POLL 1 + /* * Option flags for PQcopyResult */ diff --git a/src/interfaces/libpq/po/es.po b/src/interfaces/libpq/po/es.po index 98349a8ad1f..17987c5a80c 100644 --- a/src/interfaces/libpq/po/es.po +++ b/src/interfaces/libpq/po/es.po @@ -12,8 +12,8 @@ msgid "" msgstr "" "Project-Id-Version: libpq (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-10-03 07:10+0000\n" -"PO-Revision-Date: 2023-10-06 13:28+0200\n" +"POT-Creation-Date: 2024-08-01 11:10+0000\n" +"PO-Revision-Date: 2024-08-01 17:02-0400\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" "Language: es\n" @@ -23,126 +23,127 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: BlackCAT 1.1\n" -#: ../../port/thread.c:50 ../../port/thread.c:86 +#: ../../port/user.c:43 ../../port/user.c:79 #, c-format msgid "could not look up local user ID %d: %s" msgstr "no se pudo buscar el usuario local de ID %d: %s" -#: ../../port/thread.c:55 ../../port/thread.c:91 +#: ../../port/user.c:48 ../../port/user.c:84 #, c-format msgid "local user with ID %d does not exist" msgstr "no existe un usuario local con ID %d" -#: fe-auth-scram.c:227 +#: fe-auth-scram.c:223 #, c-format msgid "malformed SCRAM message (empty message)" msgstr "mensaje SCRAM mal formado (mensaje vacío)" -#: fe-auth-scram.c:232 +#: fe-auth-scram.c:228 #, c-format msgid "malformed SCRAM message (length mismatch)" msgstr "mensaje SCRAM mal formado (longitud no coincide)" -#: fe-auth-scram.c:275 +#: fe-auth-scram.c:272 #, c-format msgid "could not verify server signature: %s" msgstr "no se pudo verificar la signatura del servidor: %s" -#: fe-auth-scram.c:281 +#: fe-auth-scram.c:278 #, c-format msgid "incorrect server signature" msgstr "signatura de servidor incorrecta" -#: fe-auth-scram.c:290 +#: fe-auth-scram.c:287 #, c-format msgid "invalid SCRAM exchange state" msgstr "estado de intercambio SCRAM no es válido" -#: fe-auth-scram.c:317 +#: fe-auth-scram.c:311 #, c-format msgid "malformed SCRAM message (attribute \"%c\" expected)" msgstr "mensaje SCRAM mal formado (se esperaba atributo «%c»)" -#: fe-auth-scram.c:326 +#: fe-auth-scram.c:320 #, c-format msgid "malformed SCRAM message (expected character \"=\" for attribute \"%c\")" msgstr "mensaje SCRAM mal formado (se esperaba el carácter «=» para el atributo «%c»)" -#: fe-auth-scram.c:366 +#: fe-auth-scram.c:360 #, c-format msgid "could not generate nonce" msgstr "no se pudo generar nonce" -#: fe-auth-scram.c:375 fe-auth-scram.c:448 fe-auth-scram.c:600 -#: fe-auth-scram.c:620 fe-auth-scram.c:644 fe-auth-scram.c:658 -#: fe-auth-scram.c:704 fe-auth-scram.c:740 fe-auth-scram.c:914 fe-auth.c:296 -#: fe-auth.c:369 fe-auth.c:403 fe-auth.c:618 fe-auth.c:729 fe-auth.c:1210 -#: fe-auth.c:1375 fe-connect.c:925 fe-connect.c:1759 fe-connect.c:1921 -#: fe-connect.c:3291 fe-connect.c:4496 fe-connect.c:5161 fe-connect.c:5416 -#: fe-connect.c:5534 fe-connect.c:5781 fe-connect.c:5861 fe-connect.c:5959 -#: fe-connect.c:6210 fe-connect.c:6237 fe-connect.c:6313 fe-connect.c:6336 -#: fe-connect.c:6360 fe-connect.c:6395 fe-connect.c:6481 fe-connect.c:6489 -#: fe-connect.c:6846 fe-connect.c:6996 fe-exec.c:527 fe-exec.c:1321 -#: fe-exec.c:3111 fe-exec.c:4071 fe-exec.c:4235 fe-gssapi-common.c:109 -#: fe-lobj.c:870 fe-protocol3.c:204 fe-protocol3.c:228 fe-protocol3.c:256 -#: fe-protocol3.c:273 fe-protocol3.c:353 fe-protocol3.c:720 fe-protocol3.c:959 -#: fe-protocol3.c:1770 fe-protocol3.c:2170 fe-secure-common.c:110 -#: fe-secure-gssapi.c:500 fe-secure-openssl.c:434 fe-secure-openssl.c:1285 +#: 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:159 fe-connect.c:936 fe-connect.c:976 +#: fe-connect.c:1860 fe-connect.c:2022 fe-connect.c:3430 fe-connect.c:4775 +#: fe-connect.c:5087 fe-connect.c:5342 fe-connect.c:5460 fe-connect.c:5707 +#: fe-connect.c:5787 fe-connect.c:5885 fe-connect.c:6136 fe-connect.c:6163 +#: fe-connect.c:6239 fe-connect.c:6262 fe-connect.c:6286 fe-connect.c:6321 +#: fe-connect.c:6407 fe-connect.c:6415 fe-connect.c:6772 fe-connect.c:6922 +#: fe-exec.c:530 fe-exec.c:1315 fe-exec.c:3254 fe-exec.c:4234 fe-exec.c:4398 +#: 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 #, c-format msgid "out of memory" msgstr "memoria agotada" -#: fe-auth-scram.c:382 +#: fe-auth-scram.c:376 #, c-format msgid "could not encode nonce" msgstr "no se pudo codificar nonce" -#: fe-auth-scram.c:570 +#: fe-auth-scram.c:564 #, c-format msgid "could not calculate client proof: %s" msgstr "no se pudo calcular la prueba del cliente: %s" -#: fe-auth-scram.c:585 +#: fe-auth-scram.c:579 #, c-format msgid "could not encode client proof" msgstr "no se pudo codificar la prueba del cliente" -#: fe-auth-scram.c:637 +#: fe-auth-scram.c:631 #, c-format msgid "invalid SCRAM response (nonce mismatch)" msgstr "respuesta SCRAM no es válida (nonce no coincide)" -#: fe-auth-scram.c:667 +#: fe-auth-scram.c:661 #, c-format msgid "malformed SCRAM message (invalid salt)" msgstr "mensaje SCRAM mal formado (sal no válida)" -#: fe-auth-scram.c:680 +#: fe-auth-scram.c:674 #, c-format msgid "malformed SCRAM message (invalid iteration count)" msgstr "mensaje SCRAM mal formado (el conteo de iteración no es válido)" -#: fe-auth-scram.c:685 +#: fe-auth-scram.c:679 #, c-format msgid "malformed SCRAM message (garbage at end of server-first-message)" msgstr "mensaje SCRAM mal formado (se encontró basura al final de server-first-message)" -#: fe-auth-scram.c:719 +#: fe-auth-scram.c:713 #, c-format msgid "error received from server in SCRAM exchange: %s" msgstr "se recibió un error desde el servidor durante el intercambio SCRAM: %s" -#: fe-auth-scram.c:734 +#: fe-auth-scram.c:728 #, c-format msgid "malformed SCRAM message (garbage at end of server-final-message)" msgstr "mensaje SCRAM mal formado (se encontró basura al final de server-final-message)" -#: fe-auth-scram.c:751 +#: fe-auth-scram.c:745 #, c-format msgid "malformed SCRAM message (invalid server signature)" msgstr "mensaje SCRAM mal formado (la signatura del servidor no es válida)" -#: fe-auth-scram.c:923 +#: fe-auth-scram.c:917 msgid "could not generate random salt" msgstr "no se pudo generar una sal aleatoria" @@ -184,22 +185,22 @@ msgstr "petición de autentificación SSPI duplicada" msgid "could not acquire SSPI credentials" msgstr "no se pudo obtener las credenciales SSPI" -#: fe-auth.c:437 +#: fe-auth.c:436 #, c-format msgid "channel binding required, but SSL not in use" msgstr "se requiere enlazado de canal (channel binding), pero no se está usando SSL" -#: fe-auth.c:443 +#: fe-auth.c:442 #, c-format msgid "duplicate SASL authentication request" msgstr "petición de autentificación SASL duplicada" -#: fe-auth.c:501 +#: fe-auth.c:500 #, c-format msgid "channel binding is required, but client does not support it" msgstr "se requiere enlazado de canal (channel binding), pero no está soportado en el cliente" -#: fe-auth.c:517 +#: fe-auth.c:516 #, c-format msgid "server offered SCRAM-SHA-256-PLUS authentication over a non-SSL connection" msgstr "el servidor ofreció autenticación SCRAM-SHA-256-PLUS sobre una conexión no-SSL" @@ -214,726 +215,768 @@ msgstr "ningún método de autentificación SASL del servidor está soportado" msgid "channel binding is required, but server did not offer an authentication method that supports channel binding" msgstr "se requiere enlazado de canal (channel binding), pero el servidor no ofrece un método de autenticación que lo soporte" -#: fe-auth.c:641 +#: fe-auth.c:640 #, c-format msgid "out of memory allocating SASL buffer (%d)" msgstr "memoria agotada creando el búfer SASL (%d)" -#: fe-auth.c:665 +#: fe-auth.c:663 #, c-format msgid "AuthenticationSASLFinal received from server, but SASL authentication was not completed" msgstr "Se recibió AuthenticationSASLFinal desde el servidor, pero la autentificación SASL no se completó" -#: fe-auth.c:675 +#: fe-auth.c:673 #, c-format msgid "no client response found after SASL exchange success" msgstr "no se encontró respuesta del cliente luego del intercambio SASL exitoso" -#: fe-auth.c:738 fe-auth.c:745 fe-auth.c:1358 fe-auth.c:1369 +#: 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 "no se pudo cifrar contraseña: %s" -#: fe-auth.c:773 +#: fe-auth.c:772 msgid "server requested a cleartext password" -msgstr "el servidor solicitó una contraseña en texto claro" +msgstr "el servidor solicitó clave en texto plano" -#: fe-auth.c:775 +#: fe-auth.c:774 msgid "server requested a hashed password" -msgstr "el servidor solicitó una contraseña cifrada" +msgstr "el servidor solicitó una clave digerida (hashed)" -#: fe-auth.c:778 +#: fe-auth.c:777 msgid "server requested GSSAPI authentication" msgstr "el servidor solicitó autentificación GSSAPI" -#: fe-auth.c:780 +#: fe-auth.c:779 msgid "server requested SSPI authentication" msgstr "el servidor solicitó autentificación SSPI" -#: fe-auth.c:784 +#: fe-auth.c:783 msgid "server requested SASL authentication" msgstr "el servidor solicitó autentificación SASL" -#: fe-auth.c:787 +#: fe-auth.c:786 msgid "server requested an unknown authentication type" msgstr "múltiples valores especificados para el tipo de autentificación" -#: fe-auth.c:820 +#: fe-auth.c:819 #, c-format msgid "server did not request an SSL certificate" msgstr "el servidor no solicitó un certificado SSL" -#: fe-auth.c:825 +#: fe-auth.c:824 #, c-format msgid "server accepted connection without a valid SSL certificate" msgstr "el servidor aceptó la conexión sin un certificado SSL válido" -#: fe-auth.c:879 +#: fe-auth.c:878 msgid "server did not complete authentication" msgstr "el servidor no completó la autentificación" -#: fe-auth.c:913 +#: fe-auth.c:912 #, c-format msgid "authentication method requirement \"%s\" failed: %s" msgstr "el método de autentificación «%s» requerido falló: %s" -#: fe-auth.c:936 +#: fe-auth.c:935 #, c-format msgid "channel binding required, but server authenticated client without channel binding" msgstr "se requiere enlazado de canal (channel binding), pero el servidor autenticó al cliente sin enlazado de canal" -#: fe-auth.c:941 +#: fe-auth.c:940 #, c-format msgid "channel binding required but not supported by server's authentication request" msgstr "se requiere enlazado de canal (channel binding), pero no es compatible con la solicitud de autenticación del servidor" -#: fe-auth.c:975 +#: fe-auth.c:974 #, c-format msgid "Kerberos 4 authentication not supported" msgstr "el método de autentificación Kerberos 4 no está soportado" -#: fe-auth.c:979 +#: fe-auth.c:978 #, c-format msgid "Kerberos 5 authentication not supported" msgstr "el método de autentificación Kerberos 5 no está soportado" -#: fe-auth.c:1049 +#: fe-auth.c:1048 #, c-format msgid "GSSAPI authentication not supported" msgstr "el método de autentificación GSSAPI no está soportado" -#: fe-auth.c:1080 +#: fe-auth.c:1079 #, c-format msgid "SSPI authentication not supported" msgstr "el método de autentificación SSPI no está soportado" -#: fe-auth.c:1087 +#: fe-auth.c:1086 #, c-format msgid "Crypt authentication not supported" msgstr "el método de autentificación Crypt no está soportado" -#: fe-auth.c:1151 +#: fe-auth.c:1150 #, c-format msgid "authentication method %u not supported" msgstr "el método de autentificación %u no está soportado" -#: fe-auth.c:1197 +#: fe-auth.c:1187 #, c-format msgid "user name lookup failure: error code %lu" msgstr "fallo en la búsqueda de nombre de usuario: código de error %lu" -#: fe-auth.c:1321 +#: fe-auth.c:1309 #, c-format msgid "unexpected shape of result set returned for SHOW" msgstr "SHOW retornó un conjunto de resultados con estructura inesperada" -#: fe-auth.c:1329 +#: fe-auth.c:1317 #, c-format -msgid "password_encryption value too long" -msgstr "el valor para password_encryption es demasiado largo" +msgid "\"password_encryption\" value too long" +msgstr "el valor de «password_encryption» es demasiado largo" -#: fe-auth.c:1379 +#: fe-auth.c:1367 #, c-format msgid "unrecognized password encryption algorithm \"%s\"" msgstr "algoritmo para cifrado de contraseña «%s» desconocido" -#: fe-connect.c:1132 +#: fe-cancel.c:76 +#, c-format +msgid "connection pointer is NULL" +msgstr "el puntero de conexión es NULL" + +#: fe-cancel.c:82 fe-misc.c:572 +#, c-format +msgid "connection not open" +msgstr "la conexión no está abierta" + +#: fe-cancel.c:193 +#, c-format +msgid "cancel request is already being sent on this connection" +msgstr "petición de cancelación ya fue enviada en esta conexión" + +#: fe-cancel.c:263 +#, c-format +msgid "unexpected response from server" +msgstr "respuesta inesperada del servidor" + +#: fe-connect.c:1182 #, 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:1212 +#: fe-connect.c:1262 #, 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:1337 +#: fe-connect.c:1387 #, c-format msgid "negative require_auth method \"%s\" cannot be mixed with non-negative methods" -msgstr "el método require_auth negativo «%s» no puede ser mezclado con métodos no-negativos" +msgstr "el método negativo require_auth «%s» no puede mezclarse con métodos no negativos" -#: fe-connect.c:1350 +#: fe-connect.c:1400 #, c-format msgid "require_auth method \"%s\" cannot be mixed with negative methods" -msgstr "el método require_auth «%s» no puede ser mezclado con métodos negativos" +msgstr "el método require_auth «%s» no puede mezclarse con métodos negativos" -#: fe-connect.c:1410 fe-connect.c:1461 fe-connect.c:1503 fe-connect.c:1559 -#: fe-connect.c:1567 fe-connect.c:1598 fe-connect.c:1644 fe-connect.c:1684 -#: fe-connect.c:1705 +#: 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 #, c-format msgid "invalid %s value: \"%s\"" msgstr "valor %s no válido: «%s»" -#: fe-connect.c:1443 +#: fe-connect.c:1493 #, 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:1484 fe-connect.c:1523 fe-connect.c:1606 +#: fe-connect.c:1534 fe-connect.c:1573 fe-connect.c:1605 fe-connect.c:1707 #, 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:1546 +#: fe-connect.c:1625 +#, 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 #, c-format msgid "weak sslmode \"%s\" may not be used with sslrootcert=system (use \"verify-full\")" -msgstr "el sslmode débil «%s» no puede ser usado con 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 +#, c-format +msgid "invalid \"%s\" value: \"%s\"" +msgstr "valor «%s» no válido: «%s»" -#: fe-connect.c:1584 +#: fe-connect.c:1685 #, c-format msgid "invalid SSL protocol version range" msgstr "rango de versión de protocolo SSL no válido " -#: fe-connect.c:1621 +#: fe-connect.c:1722 #, c-format msgid "%s value \"%s\" is not supported (check OpenSSL version)" -msgstr "el valor «%2$s» de %1$s no está soportado (verifique la versión de OpenSSL)" +msgstr "el valor «%s» de %s no está soportado (verifique la versión de OpenSSL)" -#: fe-connect.c:1651 +#: fe-connect.c:1752 #, 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:1944 +#: fe-connect.c:2045 #, 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:2003 +#: fe-connect.c:2104 #, c-format msgid "connection to server on socket \"%s\" failed: " msgstr "falló la conexión al servidor en el socket «%s»: " -#: fe-connect.c:2029 +#: fe-connect.c:2130 #, 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:2034 +#: fe-connect.c:2135 #, 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:2057 +#: fe-connect.c:2158 #, 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:2059 +#: fe-connect.c:2160 #, 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:2122 -#, 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-connect.c:2151 fe-connect.c:2185 fe-connect.c:2220 fe-connect.c:2318 -#: fe-connect.c:2973 +#: fe-connect.c:2206 fe-connect.c:2240 fe-connect.c:2275 fe-connect.c:2373 +#: fe-connect.c:3098 #, c-format msgid "%s(%s) failed: %s" msgstr "%s(%s) falló: %s" -#: fe-connect.c:2284 +#: fe-connect.c:2339 #, c-format msgid "%s(%s) failed: error code %d" msgstr "%s(%s) falló: código de error %d" -#: fe-connect.c:2597 +#: fe-connect.c:2650 #, 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:2676 +#: fe-connect.c:2733 #, c-format msgid "invalid port number: \"%s\"" msgstr "número de puerto no válido: «%s»" -#: fe-connect.c:2690 +#: fe-connect.c:2747 #, 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:2702 +#: fe-connect.c:2759 #, 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:2713 +#: fe-connect.c:2770 #, 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:2727 +#: fe-connect.c:2784 #, 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:2901 +#: fe-connect.c:2950 fe-connect.c:4319 +#, 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:4448 +#, c-format +msgid "GSSAPI encryption required but no credential cache" +msgstr "cifrado GSSAPI requerido pero no hay caché de credenciales" + +#: fe-connect.c:3026 #, c-format msgid "could not create socket: %s" msgstr "no se pudo crear el socket: %s" -#: fe-connect.c:2932 +#: fe-connect.c:3057 #, 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:2943 +#: fe-connect.c:3068 #, 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:2961 +#: fe-connect.c:3086 #, c-format msgid "keepalives parameter must be an integer" msgstr "el parámetro de keepalives debe ser un entero" -#: fe-connect.c:3100 +#: fe-connect.c:3225 #, 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:3127 +#: fe-connect.c:3252 #, 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:3165 +#: fe-connect.c:3278 #, 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:3167 +#: fe-connect.c:3280 #, c-format msgid "could not get peer credentials: %s" msgstr "no se pudo obtener credenciales de la contraparte: %s" -#: fe-connect.c:3180 +#: fe-connect.c:3293 #, 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:3221 +#: fe-connect.c:3331 #, 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:3233 -#, c-format -msgid "GSSAPI encryption required but was impossible (possibly no credential cache, no server support, or using a local socket)" -msgstr "cifrado GSSAPI requerido, pero fue imposible (posiblemente no hay cache de credenciales, no hay soporte de servidor, o se está usando un socket local)" - -#: fe-connect.c:3274 +#: fe-connect.c:3380 #, 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:3303 +#: fe-connect.c:3412 +#, c-format +msgid "could not send cancel packet: %s" +msgstr "no se pudo enviar el paquete de cancelación: %s" + +#: fe-connect.c:3442 #, c-format msgid "could not send startup packet: %s" msgstr "no se pudo enviar el paquete de inicio: %s" -#: fe-connect.c:3378 -#, c-format +#: fe-connect.c:3509 msgid "server does not support SSL, but SSL was required" msgstr "el servidor no soporta SSL, pero SSL es requerida" -#: fe-connect.c:3404 +#: fe-connect.c:3534 #, 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:3424 +#: fe-connect.c:3562 #, c-format msgid "received unencrypted data after SSL response" msgstr "se recibieron datos no cifrados después de la respuesta SSL" -#: fe-connect.c:3504 -#, c-format +#: fe-connect.c:3643 msgid "server doesn't support GSSAPI encryption, but it was required" msgstr "el servidor no soporta cifrado GSSAPI, pero es requerida" -#: fe-connect.c:3515 +#: fe-connect.c:3647 #, 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:3533 +#: fe-connect.c:3665 #, 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:3598 +#: fe-connect.c:3725 #, 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:3625 fe-connect.c:3794 +#: fe-connect.c:3753 fe-connect.c:3876 #, c-format msgid "received invalid authentication request" msgstr "se recibió una solicitud de autentificación no válida" -#: fe-connect.c:3630 fe-connect.c:3779 +#: fe-connect.c:3759 fe-connect.c:3861 #, c-format msgid "received invalid protocol negotiation message" msgstr "se recibió un mensaje de negociación de protocolo no válido" -#: fe-connect.c:3648 fe-connect.c:3702 +#: fe-connect.c:3778 fe-connect.c:3832 #, c-format msgid "received invalid error message" msgstr "se recibió un mensaje de error no válido" -#: fe-connect.c:3865 +#: fe-connect.c:3947 #, c-format msgid "unexpected message from server during startup" msgstr "se ha recibido un mensaje inesperado del servidor durante el inicio" -#: fe-connect.c:3956 +#: fe-connect.c:4038 #, c-format msgid "session is read-only" msgstr "la sesión es de solo lectura" -#: fe-connect.c:3958 +#: fe-connect.c:4040 #, c-format msgid "session is not read-only" msgstr "la sesión no es de solo lectura" -#: fe-connect.c:4011 +#: fe-connect.c:4093 #, c-format msgid "server is in hot standby mode" msgstr "el servidor está en modo hot standby" -#: fe-connect.c:4013 +#: fe-connect.c:4095 #, c-format msgid "server is not in hot standby mode" msgstr "el servidor no está en modo hot standby" -#: fe-connect.c:4129 fe-connect.c:4179 +#: fe-connect.c:4217 fe-connect.c:4267 #, c-format msgid "\"%s\" failed" msgstr "«%s» falló" -#: fe-connect.c:4193 +#: fe-connect.c:4281 #, 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:5174 +#: fe-connect.c:5100 #, 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:5189 +#: fe-connect.c:5115 #, c-format msgid "invalid LDAP URL \"%s\": missing distinguished name" msgstr "URL LDAP no válida «%s»: distinguished name faltante" -#: fe-connect.c:5201 fe-connect.c:5259 +#: fe-connect.c:5127 fe-connect.c:5185 #, 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:5213 fe-connect.c:5275 +#: fe-connect.c:5139 fe-connect.c:5201 #, 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:5225 +#: fe-connect.c:5151 #, c-format msgid "invalid LDAP URL \"%s\": no filter" msgstr "URL LDAP no válida «%s»: no tiene filtro" -#: fe-connect.c:5247 +#: fe-connect.c:5173 #, 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:5284 +#: fe-connect.c:5210 #, c-format msgid "could not create LDAP structure" msgstr "no se pudo crear estructura LDAP" -#: fe-connect.c:5359 +#: fe-connect.c:5285 #, c-format msgid "lookup on LDAP server failed: %s" msgstr "búsqueda en servidor LDAP falló: %s" -#: fe-connect.c:5369 +#: fe-connect.c:5295 #, 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:5371 fe-connect.c:5382 +#: fe-connect.c:5297 fe-connect.c:5308 #, c-format msgid "no entry found on LDAP lookup" msgstr "no se encontró ninguna entrada en búsqueda LDAP" -#: fe-connect.c:5392 fe-connect.c:5404 +#: fe-connect.c:5318 fe-connect.c:5330 #, c-format msgid "attribute has no values on LDAP lookup" msgstr "la búsqueda LDAP entregó atributo sin valores" -#: fe-connect.c:5455 fe-connect.c:5474 fe-connect.c:5998 +#: fe-connect.c:5381 fe-connect.c:5400 fe-connect.c:5924 #, 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:5545 fe-connect.c:6181 fe-connect.c:6979 +#: fe-connect.c:5471 fe-connect.c:6107 fe-connect.c:6905 #, c-format msgid "invalid connection option \"%s\"" msgstr "opción de conexión no válida «%s»" -#: fe-connect.c:5560 fe-connect.c:6046 +#: fe-connect.c:5486 fe-connect.c:5972 #, 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:5640 +#: fe-connect.c:5566 #, c-format msgid "definition of service \"%s\" not found" msgstr "la definición de servicio «%s» no fue encontrada" -#: fe-connect.c:5666 +#: fe-connect.c:5592 #, c-format msgid "service file \"%s\" not found" msgstr "el archivo de servicio «%s» no fue encontrado" -#: fe-connect.c:5679 +#: fe-connect.c:5605 #, 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:5750 fe-connect.c:5793 +#: fe-connect.c:5676 fe-connect.c:5719 #, 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:5761 +#: fe-connect.c:5687 #, 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:6500 +#: fe-connect.c:6426 #, 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:6577 +#: fe-connect.c:6503 #, 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:6584 +#: fe-connect.c:6510 #, 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:6599 +#: fe-connect.c:6525 #, 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:6728 +#: fe-connect.c:6654 #, 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:6748 +#: fe-connect.c:6674 #, 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:6800 +#: fe-connect.c:6726 #, c-format msgid "invalid URI query parameter: \"%s\"" msgstr "parámetro de URI no válido: «%s»" -#: fe-connect.c:6874 +#: fe-connect.c:6800 #, c-format msgid "invalid percent-encoded token: \"%s\"" msgstr "elemento escapado con %% no válido: «%s»" -#: fe-connect.c:6884 +#: fe-connect.c:6810 #, c-format msgid "forbidden value %%00 in percent-encoded value: \"%s\"" msgstr "valor no permitido %%00 en valor escapado con %%: «%s»" -#: fe-connect.c:7248 +#: fe-connect.c:7174 msgid "connection pointer is NULL\n" msgstr "el puntero de conexión es NULL\n" -#: fe-connect.c:7256 fe-exec.c:710 fe-exec.c:970 fe-exec.c:3292 -#: fe-protocol3.c:974 fe-protocol3.c:1007 +#: fe-connect.c:7182 fe-exec.c:713 fe-exec.c:975 fe-exec.c:3459 +#: fe-protocol3.c:991 fe-protocol3.c:1024 msgid "out of memory\n" msgstr "memoria agotada\n" -#: fe-connect.c:7547 +#: fe-connect.c:7473 #, 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:7556 +#: fe-connect.c:7482 #, 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:7663 +#: fe-connect.c:7589 #, c-format msgid "password retrieved from file \"%s\"" msgstr "contraseña obtenida desde el archivo «%s»" -#: fe-exec.c:466 fe-exec.c:3366 +#: fe-connect.c:7741 +#, 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 #, 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:528 fe-protocol3.c:1976 +#: fe-exec.c:531 fe-protocol3.c:1993 #, c-format msgid "%s" msgstr "%s" -#: fe-exec.c:831 +#: fe-exec.c:834 #, c-format msgid "write to server failed" msgstr "falló escritura al servidor" -#: fe-exec.c:869 +#: fe-exec.c:874 #, c-format msgid "no error text available" msgstr "no hay mensaje de error disponible" -#: fe-exec.c:958 +#: fe-exec.c:963 msgid "NOTICE" msgstr "AVISO" -#: fe-exec.c:1016 +#: fe-exec.c:1021 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:1028 +#: fe-exec.c:1033 msgid "size_t overflow" msgstr "desbordamiento de size_t" -#: fe-exec.c:1444 fe-exec.c:1513 fe-exec.c:1559 +#: fe-exec.c:1438 fe-exec.c:1507 fe-exec.c:1553 #, c-format msgid "command string is a null pointer" msgstr "la cadena de orden es un puntero nulo" -#: fe-exec.c:1450 fe-exec.c:2888 +#: fe-exec.c:1444 fe-exec.c:3003 #, c-format msgid "%s not allowed in pipeline mode" msgstr "no se permite %s en modo pipeline" -#: fe-exec.c:1518 fe-exec.c:1564 fe-exec.c:1658 +#: fe-exec.c:1512 fe-exec.c:1558 fe-exec.c:1652 #, 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:1554 fe-exec.c:1653 +#: fe-exec.c:1548 fe-exec.c:1647 #, c-format msgid "statement name is a null pointer" msgstr "el nombre de sentencia es un puntero nulo" -#: fe-exec.c:1695 fe-exec.c:3220 +#: fe-exec.c:1689 fe-exec.c:3379 #, c-format msgid "no connection to the server" msgstr "no hay conexión con el servidor" -#: fe-exec.c:1703 fe-exec.c:3228 +#: fe-exec.c:1697 fe-exec.c:3387 #, c-format msgid "another command is already in progress" msgstr "hay otra orden en ejecución" -#: fe-exec.c:1733 +#: fe-exec.c:1727 #, c-format msgid "cannot queue commands during COPY" msgstr "no se puede agregar órdenes a la cola mientras se hace COPY" -#: fe-exec.c:1850 +#: fe-exec.c:1846 #, c-format msgid "length must be given for binary parameter" msgstr "el largo debe ser especificado para un parámetro binario" -#: fe-exec.c:2171 +#: fe-exec.c:2205 #, c-format msgid "unexpected asyncStatus: %d" msgstr "asyncStatus no esperado: %d" -#: fe-exec.c:2327 +#: fe-exec.c:2361 #, 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:2344 +#: fe-exec.c:2378 msgid "COPY terminated by new PQexec" msgstr "COPY terminado por un nuevo PQexec" -#: fe-exec.c:2360 +#: fe-exec.c:2394 #, c-format msgid "PQexec not allowed during COPY BOTH" msgstr "PQexec no está permitido durante COPY BOTH" -#: fe-exec.c:2586 fe-exec.c:2641 fe-exec.c:2709 fe-protocol3.c:1907 +#: fe-exec.c:2630 +#, 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 #, c-format msgid "no COPY in progress" msgstr "no hay COPY alguno en ejecución" -#: fe-exec.c:2895 +#: fe-exec.c:3010 #, c-format msgid "connection in wrong state" msgstr "la conexión está en un estado incorrecto" -#: fe-exec.c:2938 +#: fe-exec.c:3053 #, 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:2974 fe-exec.c:2995 +#: fe-exec.c:3089 fe-exec.c:3110 #, 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:2978 +#: fe-exec.c:3093 #, c-format msgid "cannot exit pipeline mode while busy" msgstr "no se puede salir de modo pipeline mientras haya actividad" -#: fe-exec.c:2989 +#: fe-exec.c:3104 #, 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:3154 +#: fe-exec.c:3303 #, 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:3255 +#: fe-exec.c:3422 msgid "invalid ExecStatusType code" msgstr "el código de ExecStatusType no es válido" -#: fe-exec.c:3282 +#: fe-exec.c:3449 msgid "PGresult is not an error result\n" msgstr "PGresult no es un resultado de error\n" -#: fe-exec.c:3350 fe-exec.c:3373 +#: fe-exec.c:3517 fe-exec.c:3540 #, 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:3388 +#: fe-exec.c:3555 #, 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:3699 +#: fe-exec.c:3866 #, c-format msgid "could not interpret result from server: %s" msgstr "no se pudo interpretar el resultado del servidor: %s" -#: fe-exec.c:3964 fe-exec.c:4054 +#: fe-exec.c:4127 fe-exec.c:4217 #, c-format msgid "incomplete multibyte character" msgstr "carácter multibyte incompleto" @@ -984,23 +1027,18 @@ msgstr "no se pudo escribir a archivo «%s»: %s" msgid "query to initialize large object functions did not return data" msgstr "la consulta para inicializar las funciones de objetos grandes no devuelve datos" -#: fe-misc.c:240 +#: fe-misc.c:239 #, c-format msgid "integer of size %lu not supported by pqGetInt" msgstr "el entero de tamaño %lu no está soportado por pqGetInt" -#: fe-misc.c:273 +#: fe-misc.c:272 #, c-format msgid "integer of size %lu not supported by pqPutInt" msgstr "el entero de tamaño %lu no está soportado por pqPutInt" -#: fe-misc.c:573 -#, c-format -msgid "connection not open" -msgstr "la conexión no está abierta" - -#: fe-misc.c:751 fe-secure-openssl.c:215 fe-secure-openssl.c:315 -#: fe-secure.c:257 fe-secure.c:419 +#: fe-misc.c:750 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" @@ -1011,172 +1049,172 @@ msgstr "" "\tProbablemente se debe a que el servidor terminó de manera anormal\n" "\tantes o durante el procesamiento de la petición." -#: fe-misc.c:818 +#: fe-misc.c:817 msgid "connection not open\n" msgstr "la conexión no está abierta\n" -#: fe-misc.c:1003 +#: fe-misc.c:1005 #, c-format msgid "timeout expired" msgstr "tiempo de espera agotado" -#: fe-misc.c:1047 +#: fe-misc.c:1049 #, c-format msgid "invalid socket" msgstr "socket no válido" -#: fe-misc.c:1069 +#: fe-misc.c:1071 #, c-format msgid "%s() failed: %s" msgstr "%s() falló: %s" -#: fe-protocol3.c:182 +#: fe-protocol3.c:187 #, 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:385 +#: fe-protocol3.c:402 #, 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:427 +#: fe-protocol3.c:444 #, 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:450 +#: fe-protocol3.c:467 #, 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:468 +#: fe-protocol3.c:485 #, 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:520 fe-protocol3.c:560 +#: fe-protocol3.c:537 fe-protocol3.c:577 msgid "insufficient data in \"T\" message" msgstr "datos insuficientes en el mensaje «T»" -#: fe-protocol3.c:631 fe-protocol3.c:837 +#: fe-protocol3.c:648 fe-protocol3.c:854 msgid "out of memory for query result" msgstr "no hay suficiente memoria para el resultado de la consulta" -#: fe-protocol3.c:700 +#: fe-protocol3.c:717 msgid "insufficient data in \"t\" message" msgstr "datos insuficientes en el mensaje «t»" -#: fe-protocol3.c:759 fe-protocol3.c:791 fe-protocol3.c:809 +#: fe-protocol3.c:776 fe-protocol3.c:808 fe-protocol3.c:826 msgid "insufficient data in \"D\" message" msgstr "datos insuficientes en el mensaje «D»" -#: fe-protocol3.c:765 +#: fe-protocol3.c:782 msgid "unexpected field count in \"D\" message" msgstr "cantidad de campos inesperada en mensaje «D»" -#: fe-protocol3.c:1020 +#: fe-protocol3.c:1037 msgid "no error message available\n" msgstr "no hay mensaje de error disponible\n" #. translator: %s represents a digit string -#: fe-protocol3.c:1068 fe-protocol3.c:1087 +#: fe-protocol3.c:1085 fe-protocol3.c:1104 #, c-format msgid " at character %s" msgstr " en el carácter %s" -#: fe-protocol3.c:1100 +#: fe-protocol3.c:1117 #, c-format msgid "DETAIL: %s\n" msgstr "DETALLE: %s\n" -#: fe-protocol3.c:1103 +#: fe-protocol3.c:1120 #, c-format msgid "HINT: %s\n" msgstr "SUGERENCIA: %s\n" -#: fe-protocol3.c:1106 +#: fe-protocol3.c:1123 #, c-format msgid "QUERY: %s\n" msgstr "CONSULTA: %s\n" -#: fe-protocol3.c:1113 +#: fe-protocol3.c:1130 #, c-format msgid "CONTEXT: %s\n" msgstr "CONTEXTO: %s\n" -#: fe-protocol3.c:1122 +#: fe-protocol3.c:1139 #, c-format msgid "SCHEMA NAME: %s\n" msgstr "NOMBRE DE ESQUEMA: %s\n" -#: fe-protocol3.c:1126 +#: fe-protocol3.c:1143 #, c-format msgid "TABLE NAME: %s\n" msgstr "NOMBRE DE TABLA: %s\n" -#: fe-protocol3.c:1130 +#: fe-protocol3.c:1147 #, c-format msgid "COLUMN NAME: %s\n" msgstr "NOMBRE DE COLUMNA: %s\n" -#: fe-protocol3.c:1134 +#: fe-protocol3.c:1151 #, c-format msgid "DATATYPE NAME: %s\n" msgstr "NOMBRE TIPO DE DATO: %s\n" -#: fe-protocol3.c:1138 +#: fe-protocol3.c:1155 #, c-format msgid "CONSTRAINT NAME: %s\n" msgstr "NOMBRE DE RESTRICCIÓN: %s\n" -#: fe-protocol3.c:1150 +#: fe-protocol3.c:1167 msgid "LOCATION: " msgstr "UBICACIÓN: " -#: fe-protocol3.c:1152 +#: fe-protocol3.c:1169 #, c-format msgid "%s, " msgstr "%s, " -#: fe-protocol3.c:1154 +#: fe-protocol3.c:1171 #, c-format msgid "%s:%s" msgstr "%s:%s" -#: fe-protocol3.c:1349 +#: fe-protocol3.c:1366 #, c-format msgid "LINE %d: " msgstr "LÍNEA %d: " -#: fe-protocol3.c:1423 +#: fe-protocol3.c:1440 #, 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:1429 +#: fe-protocol3.c:1446 #, 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:1437 +#: fe-protocol3.c:1454 #, c-format msgid "invalid %s message" msgstr "mensaje %s no válido" -#: fe-protocol3.c:1802 +#: fe-protocol3.c:1819 #, c-format msgid "PQgetline: not doing text COPY OUT" msgstr "PQgetline: no se está haciendo COPY OUT de texto" -#: fe-protocol3.c:2176 +#: fe-protocol3.c:2193 #, c-format msgid "protocol error: no function result" msgstr "error de protocolo: no hay resultado de función" -#: fe-protocol3.c:2187 +#: fe-protocol3.c:2204 #, c-format msgid "protocol error: id=0x%x" msgstr "error de protocolo: id=0x%x" @@ -1218,132 +1256,132 @@ msgstr "el certificado de servidor para «%s» no coincide con el nombre de serv msgid "could not get server's host name from server certificate" msgstr "no se pudo obtener el nombre de servidor desde el certificado del servidor" -#: fe-secure-gssapi.c:201 +#: fe-secure-gssapi.c:194 msgid "GSSAPI wrap error" msgstr "error de «wrap» de GSSAPI" -#: fe-secure-gssapi.c:208 +#: fe-secure-gssapi.c:201 #, c-format msgid "outgoing GSSAPI message would not use confidentiality" msgstr "mensaje saliente GSSAPI no proveería confidencialidad" -#: fe-secure-gssapi.c:215 +#: fe-secure-gssapi.c:208 #, c-format msgid "client tried to send oversize GSSAPI packet (%zu > %zu)" msgstr "el cliente intentó enviar un paquete GSSAPI demasiado grande (%zu > %zu)" -#: fe-secure-gssapi.c:351 fe-secure-gssapi.c:593 +#: fe-secure-gssapi.c:347 fe-secure-gssapi.c:589 #, c-format msgid "oversize GSSAPI packet sent by the server (%zu > %zu)" msgstr "paquete GSSAPI demasiado grande enviado por el servidor (%zu > %zu)" -#: fe-secure-gssapi.c:390 +#: fe-secure-gssapi.c:386 msgid "GSSAPI unwrap error" msgstr "error de «unwrap» de GSSAPI" -#: fe-secure-gssapi.c:399 +#: fe-secure-gssapi.c:395 #, c-format msgid "incoming GSSAPI message did not use confidentiality" msgstr "mensaje GSSAPI entrante no usó confidencialidad" -#: fe-secure-gssapi.c:656 +#: fe-secure-gssapi.c:652 msgid "could not initiate GSSAPI security context" msgstr "no se pudo iniciar un contexto de seguridad GSSAPI" -#: fe-secure-gssapi.c:685 +#: fe-secure-gssapi.c:681 msgid "GSSAPI size check error" msgstr "error de verificación de tamaño GSSAPI" -#: fe-secure-gssapi.c:696 +#: fe-secure-gssapi.c:692 msgid "GSSAPI context establishment error" msgstr "error de establecimiento de contexto de GSSAPI" -#: fe-secure-openssl.c:219 fe-secure-openssl.c:319 fe-secure-openssl.c:1531 +#: fe-secure-openssl.c:207 fe-secure-openssl.c:313 fe-secure-openssl.c:1524 #, c-format msgid "SSL SYSCALL error: %s" msgstr "ERROR en llamada SSL: %s" -#: fe-secure-openssl.c:225 fe-secure-openssl.c:325 fe-secure-openssl.c:1534 +#: fe-secure-openssl.c:213 fe-secure-openssl.c:319 fe-secure-openssl.c:1527 #, c-format msgid "SSL SYSCALL error: EOF detected" msgstr "ERROR en llamada SSL: detectado fin de archivo" -#: fe-secure-openssl.c:235 fe-secure-openssl.c:335 fe-secure-openssl.c:1542 +#: fe-secure-openssl.c:223 fe-secure-openssl.c:329 fe-secure-openssl.c:1535 #, c-format msgid "SSL error: %s" msgstr "error de SSL: %s" -#: fe-secure-openssl.c:249 fe-secure-openssl.c:349 +#: fe-secure-openssl.c:237 fe-secure-openssl.c:343 #, c-format msgid "SSL connection has been closed unexpectedly" msgstr "la conexión SSL se ha cerrado inesperadamente" -#: fe-secure-openssl.c:254 fe-secure-openssl.c:354 fe-secure-openssl.c:1589 +#: fe-secure-openssl.c:242 fe-secure-openssl.c:348 fe-secure-openssl.c:1582 #, c-format msgid "unrecognized SSL error code: %d" msgstr "código de error SSL no reconocido: %d" -#: fe-secure-openssl.c:397 +#: fe-secure-openssl.c:390 #, c-format msgid "could not determine server certificate signature algorithm" msgstr "no se pudo determinar el algoritmo de firma del certificado del servidor" -#: fe-secure-openssl.c:417 +#: fe-secure-openssl.c:410 #, c-format msgid "could not find digest for NID %s" msgstr "no se pudo encontrar «digest» para el NID %s" -#: fe-secure-openssl.c:426 +#: fe-secure-openssl.c:419 #, c-format msgid "could not generate peer certificate hash" msgstr "no se pudo generar hash de certificado de la contraparte" -#: fe-secure-openssl.c:509 +#: fe-secure-openssl.c:501 #, c-format msgid "SSL certificate's name entry is missing" msgstr "falta el elemento de nombre en el certificado SSL" -#: fe-secure-openssl.c:543 +#: fe-secure-openssl.c:535 #, c-format msgid "SSL certificate's address entry is missing" msgstr "falta el elemento de dirección en el certificado SSL" -#: fe-secure-openssl.c:960 +#: fe-secure-openssl.c:935 #, c-format msgid "could not create SSL context: %s" msgstr "no se pudo crear un contexto SSL: %s" -#: fe-secure-openssl.c:1002 +#: fe-secure-openssl.c:977 #, c-format msgid "invalid value \"%s\" for minimum SSL protocol version" msgstr "valor entero «%s» no válido para la versión mínima del protocolo SSL" -#: fe-secure-openssl.c:1012 +#: fe-secure-openssl.c:987 #, c-format msgid "could not set minimum SSL protocol version: %s" msgstr "no se pudo definir la versión mínima de protocolo SSL: %s" -#: fe-secure-openssl.c:1028 +#: fe-secure-openssl.c:1003 #, c-format msgid "invalid value \"%s\" for maximum SSL protocol version" msgstr "valor entero «%s» no válido para la versión máxima del protocolo SSL" -#: fe-secure-openssl.c:1038 +#: fe-secure-openssl.c:1013 #, c-format msgid "could not set maximum SSL protocol version: %s" msgstr "no se pudo definir la versión máxima de protocolo SSL: %s" -#: fe-secure-openssl.c:1076 +#: fe-secure-openssl.c:1051 #, c-format msgid "could not load system root certificate paths: %s" msgstr "no se pudo cargar las rutas de los certificados raíz del sistema: %s" -#: fe-secure-openssl.c:1093 +#: fe-secure-openssl.c:1068 #, c-format msgid "could not read root certificate file \"%s\": %s" msgstr "no se pudo leer la lista de certificado raíz «%s»: %s" -#: fe-secure-openssl.c:1145 +#: fe-secure-openssl.c:1120 #, c-format msgid "" "could not get home directory to locate root certificate file\n" @@ -1352,7 +1390,7 @@ msgstr "" "no se pudo obtener el directorio «home» para ubicar el archivo del certificado raíz\n" "Debe ya sea entregar este archivo, usar las raíces confiadas por el sistema con sslrootcert=system, o bien cambiar sslmode para inhabilitarla verificación de certificados del servidor." -#: fe-secure-openssl.c:1148 +#: fe-secure-openssl.c:1123 #, c-format msgid "" "root certificate file \"%s\" does not exist\n" @@ -1361,112 +1399,127 @@ msgstr "" "el archivo de certificado raíz «%s» no existe\n" "Debe ya sea entregar este archivo, usar las raíces confiadas por el sistema con sslrootcert=system, o bien cambiar sslmode para inhabilitar la verificación de certificados del servidor." -#: fe-secure-openssl.c:1183 +#: fe-secure-openssl.c:1158 #, c-format msgid "could not open certificate file \"%s\": %s" msgstr "no se pudo abrir el archivo de certificado «%s»: %s" -#: fe-secure-openssl.c:1201 +#: fe-secure-openssl.c:1176 #, c-format msgid "could not read certificate file \"%s\": %s" msgstr "no se pudo leer el archivo de certificado «%s»: %s" -#: fe-secure-openssl.c:1225 +#: fe-secure-openssl.c:1200 #, c-format msgid "could not establish SSL connection: %s" msgstr "no se pudo establecer conexión SSL: %s" -#: fe-secure-openssl.c:1257 +#: fe-secure-openssl.c:1232 #, c-format msgid "could not set SSL Server Name Indication (SNI): %s" msgstr "no se pudo establecer el Indicador de Nombre del Servidor (SNI) de SSL: %s" -#: fe-secure-openssl.c:1300 +#: fe-secure-openssl.c:1249 +#, c-format +msgid "could not set SSL ALPN extension: %s" +msgstr "no se pudo definir la extensión ALPN de SSL: %s" + +#: fe-secure-openssl.c:1292 #, c-format msgid "could not load SSL engine \"%s\": %s" msgstr "no se pudo cargar el motor SSL «%s»: %s" -#: fe-secure-openssl.c:1311 +#: fe-secure-openssl.c:1303 #, c-format msgid "could not initialize SSL engine \"%s\": %s" msgstr "no se pudo inicializar el motor SSL «%s»: %s" -#: fe-secure-openssl.c:1326 +#: fe-secure-openssl.c:1318 #, c-format msgid "could not read private SSL key \"%s\" from engine \"%s\": %s" msgstr "no se pudo leer el archivo de la llave privada SSL «%s» desde el motor «%s»: %s" -#: fe-secure-openssl.c:1339 +#: fe-secure-openssl.c:1331 #, c-format msgid "could not load private SSL key \"%s\" from engine \"%s\": %s" msgstr "no se pudo leer la llave privada SSL «%s» desde el motor «%s»: %s" -#: fe-secure-openssl.c:1376 +#: fe-secure-openssl.c:1368 #, c-format msgid "certificate present, but not private key file \"%s\"" msgstr "el certificado está presente, pero no la llave privada «%s»" -#: fe-secure-openssl.c:1379 +#: fe-secure-openssl.c:1371 #, c-format msgid "could not stat private key file \"%s\": %m" msgstr "no se pudo hacer stat del archivo de la llave privada «%s»: %m" -#: fe-secure-openssl.c:1387 +#: fe-secure-openssl.c:1379 #, c-format msgid "private key file \"%s\" is not a regular file" msgstr "el archivo de llave privada «%s» no es un archivo regular" -#: fe-secure-openssl.c:1420 +#: 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 "el archivo de llave privada «%s» tiene acceso de grupo o para todos; debe tener permisos u=rw (0600) o menos si es de propiedad del usuario de base de datos, o permisos u=rw,g=r (0640) o menos si es de root" -#: fe-secure-openssl.c:1444 +#: fe-secure-openssl.c:1436 #, c-format msgid "could not load private key file \"%s\": %s" msgstr "no se pudo cargar el archivo de la llave privada «%s»: %s" -#: fe-secure-openssl.c:1460 +#: fe-secure-openssl.c:1452 #, c-format msgid "certificate does not match private key file \"%s\": %s" msgstr "el certificado no coincide con la llave privada «%s»: %s" -#: fe-secure-openssl.c:1528 +#: fe-secure-openssl.c:1521 #, c-format msgid "SSL error: certificate verify failed: %s" msgstr "error SSL: falló la verificación de certificado: %s" -#: fe-secure-openssl.c:1573 +#: 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 "Esto puede indicar que el servidor no soporta ninguna versión del protocolo SSL entre %s y %s." -#: fe-secure-openssl.c:1606 +#: fe-secure-openssl.c:1598 +#, c-format +msgid "direct SSL connection was established without ALPN protocol negotiation extension" +msgstr "conexión SSL directa fue establecida sin extensión de negociación de protocolo ALPN" + +#: fe-secure-openssl.c:1610 +#, c-format +msgid "SSL connection was established with unexpected ALPN protocol" +msgstr "la conexión SSL fue establecida con protocolo ALPN inesperado" + +#: fe-secure-openssl.c:1627 #, c-format msgid "certificate could not be obtained: %s" msgstr "el certificado no pudo ser obtenido: %s" -#: fe-secure-openssl.c:1711 +#: fe-secure-openssl.c:1734 #, c-format msgid "no SSL error reported" msgstr "código de error SSL no reportado" -#: fe-secure-openssl.c:1720 +#: fe-secure-openssl.c:1777 #, c-format msgid "SSL error code %lu" msgstr "código de error SSL %lu" -#: fe-secure-openssl.c:1986 +#: fe-secure-openssl.c:2076 #, c-format msgid "WARNING: sslpassword truncated\n" msgstr "ADVERTENCIA: sslpassword truncada\n" -#: fe-secure.c:263 +#: fe-secure.c:248 #, c-format msgid "could not receive data from server: %s" msgstr "no se pudo recibir datos del servidor: %s" -#: fe-secure.c:434 +#: fe-secure.c:419 #, c-format msgid "could not send data to server: %s" msgstr "no se pudo enviar datos al servidor: %s" diff --git a/src/interfaces/libpq/po/fr.po b/src/interfaces/libpq/po/fr.po index 8c94d724f0b..bfd1e5d441f 100644 --- a/src/interfaces/libpq/po/fr.po +++ b/src/interfaces/libpq/po/fr.po @@ -10,10 +10,10 @@ # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 15\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-07-29 09:10+0000\n" -"PO-Revision-Date: 2023-07-30 08:42+0200\n" +"POT-Creation-Date: 2024-11-11 01:40+0000\n" +"PO-Revision-Date: 2024-11-11 09:55+0100\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -21,128 +21,129 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.3.2\n" +"X-Generator: Poedit 3.5\n" -#: ../../port/thread.c:50 ../../port/thread.c:86 +#: ../../port/user.c:43 ../../port/user.c:79 #, c-format msgid "could not look up local user ID %d: %s" msgstr "n'a pas pu rechercher l'identifiant de l'utilisateur local %d : %s" -#: ../../port/thread.c:55 ../../port/thread.c:91 +#: ../../port/user.c:48 ../../port/user.c:84 #, c-format msgid "local user with ID %d does not exist" msgstr "l'utilisateur local dont l'identifiant est %d n'existe pas" -#: fe-auth-scram.c:227 +#: fe-auth-scram.c:223 #, c-format msgid "malformed SCRAM message (empty message)" msgstr "message SCRAM malformé (message vide)" -#: fe-auth-scram.c:232 +#: fe-auth-scram.c:228 #, c-format msgid "malformed SCRAM message (length mismatch)" msgstr "message SCRAM malformé (pas de correspondance sur la longueur)" -#: fe-auth-scram.c:275 +#: fe-auth-scram.c:272 #, c-format msgid "could not verify server signature: %s" msgstr "n'a pas pu vérifier la signature du serveur : %s" -#: fe-auth-scram.c:281 +#: fe-auth-scram.c:278 #, c-format msgid "incorrect server signature" msgstr "signature invalide du serveur" -#: fe-auth-scram.c:290 +#: fe-auth-scram.c:287 #, c-format msgid "invalid SCRAM exchange state" msgstr "état d'échange SCRAM invalide" -#: fe-auth-scram.c:317 +#: fe-auth-scram.c:311 #, c-format msgid "malformed SCRAM message (attribute \"%c\" expected)" msgstr "message SCRAM malformé (attribut « %c » attendu)" -#: fe-auth-scram.c:326 +#: fe-auth-scram.c:320 #, c-format msgid "malformed SCRAM message (expected character \"=\" for attribute \"%c\")" msgstr "message SCRAM malformé (caractère « = » attendu pour l'attribut « %c »)" -#: fe-auth-scram.c:366 +#: fe-auth-scram.c:360 #, c-format msgid "could not generate nonce" msgstr "n'a pas pu générer le nonce" -#: fe-auth-scram.c:375 fe-auth-scram.c:448 fe-auth-scram.c:600 -#: fe-auth-scram.c:620 fe-auth-scram.c:644 fe-auth-scram.c:658 -#: fe-auth-scram.c:704 fe-auth-scram.c:740 fe-auth-scram.c:914 fe-auth.c:296 -#: fe-auth.c:369 fe-auth.c:403 fe-auth.c:618 fe-auth.c:729 fe-auth.c:1210 -#: fe-auth.c:1375 fe-connect.c:925 fe-connect.c:1759 fe-connect.c:1921 -#: fe-connect.c:3291 fe-connect.c:4496 fe-connect.c:5161 fe-connect.c:5416 -#: fe-connect.c:5534 fe-connect.c:5781 fe-connect.c:5861 fe-connect.c:5959 -#: fe-connect.c:6210 fe-connect.c:6237 fe-connect.c:6313 fe-connect.c:6336 -#: fe-connect.c:6360 fe-connect.c:6395 fe-connect.c:6481 fe-connect.c:6489 -#: fe-connect.c:6846 fe-connect.c:6996 fe-exec.c:527 fe-exec.c:1321 -#: fe-exec.c:3111 fe-exec.c:4071 fe-exec.c:4235 fe-gssapi-common.c:109 -#: fe-lobj.c:870 fe-protocol3.c:204 fe-protocol3.c:228 fe-protocol3.c:256 -#: fe-protocol3.c:273 fe-protocol3.c:353 fe-protocol3.c:720 fe-protocol3.c:959 -#: fe-protocol3.c:1770 fe-protocol3.c:2170 fe-secure-common.c:110 -#: fe-secure-gssapi.c:500 fe-secure-openssl.c:434 fe-secure-openssl.c:1285 +#: 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: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:4234 fe-exec.c:4398 +#: 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 #, c-format msgid "out of memory" msgstr "mémoire épuisée" -#: fe-auth-scram.c:382 +#: fe-auth-scram.c:376 #, c-format msgid "could not encode nonce" msgstr "n'a pas pu encoder le nonce" -#: fe-auth-scram.c:570 +#: fe-auth-scram.c:564 #, c-format msgid "could not calculate client proof: %s" msgstr "n'a pas pu calculer la preuve du client : %s" -#: fe-auth-scram.c:585 +#: fe-auth-scram.c:579 #, c-format msgid "could not encode client proof" msgstr "n'a pas pu encoder la preuve du client" -#: fe-auth-scram.c:637 +#: fe-auth-scram.c:631 #, c-format msgid "invalid SCRAM response (nonce mismatch)" msgstr "réponse SCRAM invalide (pas de correspondance sur nonce)" -#: fe-auth-scram.c:667 +#: fe-auth-scram.c:661 #, c-format msgid "malformed SCRAM message (invalid salt)" msgstr "message SCRAM malformé (sel invalide)" -#: fe-auth-scram.c:680 +#: fe-auth-scram.c:674 #, c-format msgid "malformed SCRAM message (invalid iteration count)" msgstr "message SCRAM malformé (décompte d'itération invalide)" -#: fe-auth-scram.c:685 +#: fe-auth-scram.c:679 #, c-format msgid "malformed SCRAM message (garbage at end of server-first-message)" msgstr "message SCRAM malformé (problème à la fin du server-first-message)" -#: fe-auth-scram.c:719 +#: fe-auth-scram.c:713 #, c-format msgid "error received from server in SCRAM exchange: %s" msgstr "réception d'une erreur du serveur dans l'échange SCRAM : %s" -#: fe-auth-scram.c:734 +#: fe-auth-scram.c:728 #, c-format msgid "malformed SCRAM message (garbage at end of server-final-message)" msgstr "message SCRAM malformé (problème à la fin du server-final-message)" -#: fe-auth-scram.c:751 +#: fe-auth-scram.c:745 #, c-format msgid "malformed SCRAM message (invalid server signature)" msgstr "message SCRAM malformé (signature serveur invalide)" -#: fe-auth-scram.c:923 +#: fe-auth-scram.c:917 msgid "could not generate random salt" msgstr "n'a pas pu générer le sel aléatoire" @@ -184,22 +185,22 @@ msgstr "requête d'authentification SSPI dupliquée" msgid "could not acquire SSPI credentials" msgstr "n'a pas pu obtenir les pièces d'identité SSPI" -#: fe-auth.c:437 +#: fe-auth.c:436 #, c-format msgid "channel binding required, but SSL not in use" msgstr "lien de canal requis, mais SSL non utilisé" -#: fe-auth.c:443 +#: fe-auth.c:442 #, c-format msgid "duplicate SASL authentication request" msgstr "requête d'authentification SASL dupliquée" -#: fe-auth.c:501 +#: fe-auth.c:500 #, c-format msgid "channel binding is required, but client does not support it" msgstr "le lien de canal SCRAM est requis mais le client ne supporte par cette option" -#: fe-auth.c:517 +#: fe-auth.c:516 #, c-format msgid "server offered SCRAM-SHA-256-PLUS authentication over a non-SSL connection" msgstr "le serveur a proposé une authentification SCRAM-SHA-256-PLUS sur une connexion non SSL" @@ -214,569 +215,606 @@ msgstr "aucun des mécanismes d'authentification SASL du serveur n'est supporté msgid "channel binding is required, but server did not offer an authentication method that supports channel binding" msgstr "Lien de canal requis, mais le serveur ne propose pas de méthode d'authentification le supportant" -#: fe-auth.c:641 +#: fe-auth.c:640 #, c-format msgid "out of memory allocating SASL buffer (%d)" msgstr "mémoire épuisée lors de l'allocation du tampon SASL (%d)" -#: fe-auth.c:665 +#: fe-auth.c:663 #, c-format msgid "AuthenticationSASLFinal received from server, but SASL authentication was not completed" msgstr "AuthenticationSASLFinal reçu du serveur mais l'authentification SASL n'a pas été terminée" -#: fe-auth.c:675 +#: fe-auth.c:673 #, c-format msgid "no client response found after SASL exchange success" msgstr "aucune réponse client trouvée après le succès de l'échange SASL" -#: fe-auth.c:738 fe-auth.c:745 fe-auth.c:1358 fe-auth.c:1369 +#: 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 "n'a pas pu chiffré le mot de passe : %s" -#: fe-auth.c:773 +#: fe-auth.c:772 msgid "server requested a cleartext password" msgstr "le serveur a demandé un mot de passe en clair" -#: fe-auth.c:775 +#: fe-auth.c:774 msgid "server requested a hashed password" msgstr "le serveur a demandé un mot de passe haché" -#: fe-auth.c:778 +#: fe-auth.c:777 msgid "server requested GSSAPI authentication" msgstr "le serveur a demandé l'authentification GSSAPI" -#: fe-auth.c:780 +#: fe-auth.c:779 msgid "server requested SSPI authentication" msgstr "le serveur a demandé l'authentification SSPI" -#: fe-auth.c:784 +#: fe-auth.c:783 msgid "server requested SASL authentication" msgstr "le serveur a demandé l'authentification SASL" -#: fe-auth.c:787 +#: fe-auth.c:786 msgid "server requested an unknown authentication type" msgstr "le serveur a demandé un type d'authentification inconnu" -#: fe-auth.c:820 +#: fe-auth.c:819 #, c-format msgid "server did not request an SSL certificate" msgstr "le serveur n'a pas réclamé de certificat SSL" -#: fe-auth.c:825 +#: fe-auth.c:824 #, c-format msgid "server accepted connection without a valid SSL certificate" msgstr "le serveur a accepté la connexion sans certificat SSL valide" -#: fe-auth.c:879 +#: fe-auth.c:878 msgid "server did not complete authentication" msgstr "le serveur n'a pas terminé l'authentification" -#: fe-auth.c:913 +#: fe-auth.c:912 #, c-format msgid "authentication method requirement \"%s\" failed: %s" msgstr "la demande de la méthode d'authentification « %s » a échoué : %s" -#: fe-auth.c:936 +#: fe-auth.c:935 #, c-format msgid "channel binding required, but server authenticated client without channel binding" msgstr "lien de canal requis, mais le serveur a authentifié le client sans lien de canal" -#: fe-auth.c:941 +#: fe-auth.c:940 #, c-format msgid "channel binding required but not supported by server's authentication request" msgstr "lien de canal requis, mais non supporté par la requête d'authentification du serveur" -#: fe-auth.c:975 +#: fe-auth.c:974 #, c-format msgid "Kerberos 4 authentication not supported" msgstr "authentification Kerberos 4 non supportée" -#: fe-auth.c:979 +#: fe-auth.c:978 #, c-format msgid "Kerberos 5 authentication not supported" msgstr "authentification Kerberos 5 non supportée" -#: fe-auth.c:1049 +#: fe-auth.c:1048 #, c-format msgid "GSSAPI authentication not supported" msgstr "authentification GSSAPI non supportée" -#: fe-auth.c:1080 +#: fe-auth.c:1079 #, c-format msgid "SSPI authentication not supported" msgstr "authentification SSPI non supportée" -#: fe-auth.c:1087 +#: fe-auth.c:1086 #, c-format msgid "Crypt authentication not supported" msgstr "authentification crypt non supportée" -#: fe-auth.c:1151 +#: fe-auth.c:1150 #, c-format msgid "authentication method %u not supported" msgstr "méthode d'authentification %u non supportée" -#: fe-auth.c:1197 +#: fe-auth.c:1187 #, c-format msgid "user name lookup failure: error code %lu" msgstr "échec de la recherche du nom d'utilisateur : code d'erreur %lu" -#: fe-auth.c:1321 +#: fe-auth.c:1309 #, c-format msgid "unexpected shape of result set returned for SHOW" msgstr "forme du résultat inattendu pour SHOW" -#: fe-auth.c:1329 +#: fe-auth.c:1317 #, c-format -msgid "password_encryption value too long" -msgstr "la valeur de password_encryption est trop longue" +msgid "\"password_encryption\" value too long" +msgstr "valeur trop longue pour password_encryption" -#: fe-auth.c:1379 +#: fe-auth.c:1367 #, c-format msgid "unrecognized password encryption algorithm \"%s\"" msgstr "algorithme de chiffrement du mot de passe « %s » non reconnu" -#: fe-connect.c:1132 +#: fe-cancel.c:76 +#, c-format +msgid "connection pointer is NULL" +msgstr "le pointeur de connexion est NULL" + +#: fe-cancel.c:82 fe-misc.c:572 +#, c-format +msgid "connection not open" +msgstr "la connexion n'est pas active" + +#: fe-cancel.c:193 +#, c-format +msgid "cancel request is already being sent on this connection" +msgstr "la demande d'annulation est déjà envoyée sur cette connexion" + +#: fe-cancel.c:263 +#, c-format +msgid "unexpected response from server" +msgstr "réponse inattendue du serveur" + +#: fe-connect.c:1182 #, c-format msgid "could not match %d host names to %d hostaddr values" msgstr "n'a pas pu faire correspondre les %d noms d'hôte aux %d valeurs hostaddr" -#: fe-connect.c:1212 +#: fe-connect.c:1262 #, c-format msgid "could not match %d port numbers to %d hosts" msgstr "n'a pas pu faire correspondre les %d numéros de port aux %d hôtes" -#: fe-connect.c:1337 +#: fe-connect.c:1387 #, c-format msgid "negative require_auth method \"%s\" cannot be mixed with non-negative methods" msgstr "la méthode négative require_auth « %s » ne peut pas être mélangée avec des méthodes non négatives" -#: fe-connect.c:1350 +#: fe-connect.c:1400 #, c-format msgid "require_auth method \"%s\" cannot be mixed with negative methods" msgstr "la méthode require_auth « %s » ne peut pas être mélangée avec des méthodes négatives" -#: fe-connect.c:1410 fe-connect.c:1461 fe-connect.c:1503 fe-connect.c:1559 -#: fe-connect.c:1567 fe-connect.c:1598 fe-connect.c:1644 fe-connect.c:1684 -#: fe-connect.c:1705 +#: 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 #, c-format msgid "invalid %s value: \"%s\"" msgstr "valeur %s invalide : « %s »" -#: fe-connect.c:1443 +#: fe-connect.c:1493 #, c-format msgid "require_auth method \"%s\" is specified more than once" msgstr "require_auth method \"%s\" est spécifié plus d'une fois" -#: fe-connect.c:1484 fe-connect.c:1523 fe-connect.c:1606 +#: fe-connect.c:1534 fe-connect.c:1573 fe-connect.c:1605 fe-connect.c:1707 #, c-format msgid "%s value \"%s\" invalid when SSL support is not compiled in" msgstr "valeur %s « %s » invalide si le support SSL n'est pas compilé" -#: fe-connect.c:1546 +#: fe-connect.c:1625 +#, c-format +msgid "weak sslmode \"%s\" may not be used with sslnegotiation=direct (use \"require\", \"verify-ca\", or \"verify-full\")" +msgstr "le sslmode faible « %s » pourrait ne pas être utilisable avec sslnegotiation=direct (utilisez « require », « verify-ca » ou « verify-full »)" + +#: fe-connect.c:1647 #, c-format msgid "weak sslmode \"%s\" may not be used with sslrootcert=system (use \"verify-full\")" msgstr "le sslmode fiable « %s » pourrait ne pas être utilisé avec sslrootcert=system (utilisez \"verify-full\")" -#: fe-connect.c:1584 +#: fe-connect.c:1660 fe-connect.c:1668 +#, c-format +msgid "invalid \"%s\" value: \"%s\"" +msgstr "valeur « %s » invalide : « %s »" + +#: fe-connect.c:1685 #, c-format msgid "invalid SSL protocol version range" msgstr "intervalle de version invalide pour le protocole SSL" -#: fe-connect.c:1621 +#: fe-connect.c:1722 #, c-format msgid "%s value \"%s\" is not supported (check OpenSSL version)" msgstr "%s la valeur « %s » n'est pas supportée (vérifiez la version d'OpenSSL)" -#: fe-connect.c:1651 +#: fe-connect.c:1752 #, c-format msgid "gssencmode value \"%s\" invalid when GSSAPI support is not compiled in" msgstr "valeur gssencmode « %s » invalide si le support GSSAPI n'est pas compilé" -#: fe-connect.c:1944 +#: fe-connect.c:2045 #, c-format msgid "could not set socket to TCP no delay mode: %s" msgstr "n'a pas pu activer le mode TCP sans délai pour la socket : %s" -#: fe-connect.c:2003 +#: fe-connect.c:2104 #, c-format msgid "connection to server on socket \"%s\" failed: " msgstr "la connexion au serveur sur le socket « %s » a échoué : " -#: fe-connect.c:2029 +#: fe-connect.c:2130 #, c-format msgid "connection to server at \"%s\" (%s), port %s failed: " msgstr "la connexion au serveur sur « %s » (%s), port %s a échoué : " -#: fe-connect.c:2034 +#: fe-connect.c:2135 #, c-format msgid "connection to server at \"%s\", port %s failed: " msgstr "la connexion au serveur sur « %s », port %s a échoué : " -#: fe-connect.c:2057 +#: fe-connect.c:2158 #, c-format msgid "\tIs the server running locally and accepting connections on that socket?" msgstr "\tLe serveur est-il actif localement et accepte-t-il les connexions sur ce socket ?" -#: fe-connect.c:2059 +#: fe-connect.c:2160 #, c-format msgid "\tIs the server running on that host and accepting TCP/IP connections?" msgstr "\tLe serveur est-il actif sur cet hôte et accepte-t-il les connexions ?" -#: fe-connect.c:2122 -#, c-format -msgid "invalid integer value \"%s\" for connection option \"%s\"" -msgstr "valeur entière « %s » invalide pour l'option de connexion « %s »" - -#: fe-connect.c:2151 fe-connect.c:2185 fe-connect.c:2220 fe-connect.c:2318 -#: fe-connect.c:2973 +#: fe-connect.c:2206 fe-connect.c:2240 fe-connect.c:2275 fe-connect.c:2373 +#: fe-connect.c:3098 #, c-format msgid "%s(%s) failed: %s" msgstr "échec de %s(%s) : %s" -#: fe-connect.c:2284 +#: fe-connect.c:2339 #, c-format msgid "%s(%s) failed: error code %d" msgstr "échec de %s(%s) : code d'erreur %d" -#: fe-connect.c:2597 +#: fe-connect.c:2650 #, c-format msgid "invalid connection state, probably indicative of memory corruption" msgstr "état de connexion invalide, indique probablement une corruption de mémoire" -#: fe-connect.c:2676 +#: fe-connect.c:2733 #, c-format msgid "invalid port number: \"%s\"" msgstr "numéro de port invalide : « %s »" -#: fe-connect.c:2690 +#: fe-connect.c:2747 #, c-format msgid "could not translate host name \"%s\" to address: %s" msgstr "n'a pas pu traduire le nom d'hôte « %s » en adresse : %s" -#: fe-connect.c:2702 +#: fe-connect.c:2759 #, c-format msgid "could not parse network address \"%s\": %s" msgstr "n'a pas pu analyser l'adresse réseau « %s » : %s" -#: fe-connect.c:2713 +#: fe-connect.c:2770 #, c-format msgid "Unix-domain socket path \"%s\" is too long (maximum %d bytes)" msgstr "Le chemin du socket de domaine Unix, « %s », est trop (maximum %d octets)" -#: fe-connect.c:2727 +#: fe-connect.c:2784 #, c-format msgid "could not translate Unix-domain socket path \"%s\" to address: %s" msgstr "n'a pas pu traduire le chemin de la socket du domaine Unix « %s » en adresse : %s" -#: fe-connect.c:2901 +#: fe-connect.c:2950 fe-connect.c:4305 +#, c-format +msgid "GSSAPI encryption required but it is not supported over a local socket" +msgstr "le chiffrage avec GSSAPI était requis, mais il n'est pas supporté sur une socket locale" + +#: fe-connect.c:2958 fe-connect.c:4434 +#, c-format +msgid "GSSAPI encryption required but no credential cache" +msgstr "chiffrage GSSAPI requis mais pas de cache d'identifiant" + +#: fe-connect.c:3026 #, c-format msgid "could not create socket: %s" msgstr "n'a pas pu créer la socket : %s" -#: fe-connect.c:2932 +#: fe-connect.c:3057 #, c-format msgid "could not set socket to nonblocking mode: %s" msgstr "n'a pas pu activer le mode non-bloquant pour la socket : %s" -#: fe-connect.c:2943 +#: fe-connect.c:3068 #, c-format msgid "could not set socket to close-on-exec mode: %s" msgstr "n'a pas pu paramétrer la socket en mode close-on-exec : %s" -#: fe-connect.c:2961 -#, c-format -msgid "keepalives parameter must be an integer" -msgstr "le paramètre keepalives doit être un entier" - -#: fe-connect.c:3100 +#: fe-connect.c:3225 #, c-format msgid "could not get socket error status: %s" msgstr "n'a pas pu déterminer le statut d'erreur de la socket : %s" -#: fe-connect.c:3127 +#: fe-connect.c:3252 #, c-format msgid "could not get client address from socket: %s" msgstr "n'a pas pu obtenir l'adresse du client depuis la socket : %s" -#: fe-connect.c:3165 +#: fe-connect.c:3278 #, c-format msgid "requirepeer parameter is not supported on this platform" msgstr "le paramètre requirepeer n'est pas supporté sur cette plateforme" -#: fe-connect.c:3167 +#: fe-connect.c:3280 #, c-format msgid "could not get peer credentials: %s" msgstr "n'a pas pu obtenir l'authentification de l'autre : %s" -#: fe-connect.c:3180 +#: fe-connect.c:3293 #, c-format msgid "requirepeer specifies \"%s\", but actual peer user name is \"%s\"" msgstr "requirepeer indique « %s » mais le nom de l'utilisateur réel est « %s »" -#: fe-connect.c:3221 +#: fe-connect.c:3331 #, c-format msgid "could not send GSSAPI negotiation packet: %s" msgstr "n'a pas pu transmettre le paquet de négociation GSSAPI : %s" -#: fe-connect.c:3233 -#, c-format -msgid "GSSAPI encryption required but was impossible (possibly no credential cache, no server support, or using a local socket)" -msgstr "le chiffrage avec GSSAPI était requis, mais impossible (potentiellement pas de cache, de support serveur ou de socket local)" - -#: fe-connect.c:3274 +#: fe-connect.c:3380 #, c-format msgid "could not send SSL negotiation packet: %s" msgstr "n'a pas pu transmettre le paquet de négociation SSL : %s" -#: fe-connect.c:3303 +#: fe-connect.c:3412 +#, c-format +msgid "could not send cancel packet: %s" +msgstr "n'a pas pu envoyer le paquet d'annulation : %s" + +#: fe-connect.c:3442 #, c-format msgid "could not send startup packet: %s" msgstr "n'a pas pu transmettre le paquet de démarrage : %s" -#: fe-connect.c:3378 -#, c-format +#: fe-connect.c:3509 msgid "server does not support SSL, but SSL was required" msgstr "le serveur ne supporte pas SSL alors que SSL était réclamé" -#: fe-connect.c:3404 +#: fe-connect.c:3519 +#, c-format +msgid "server sent an error response during SSL exchange" +msgstr "le serveur a envoyé une erreur lors de l'échange SSL" + +#: fe-connect.c:3524 #, c-format msgid "received invalid response to SSL negotiation: %c" msgstr "a reçu une réponse invalide à la négociation SSL : %c" -#: fe-connect.c:3424 +#: fe-connect.c:3552 #, c-format msgid "received unencrypted data after SSL response" msgstr "a reçu des données non chiffrées après la réponse SSL" -#: fe-connect.c:3504 +#: fe-connect.c:3615 #, c-format +msgid "server sent an error response during GSS encryption exchange" +msgstr "le serveur a envoyé une erreur lors de l'échange de chiffrage GSS" + +#: fe-connect.c:3629 msgid "server doesn't support GSSAPI encryption, but it was required" msgstr "le serveur ne supporte pas le chiffrage GSSAPI alors qu'il était réclamé" -#: fe-connect.c:3515 +#: fe-connect.c:3633 #, c-format msgid "received invalid response to GSSAPI negotiation: %c" msgstr "a reçu une réponse invalide à la négociation GSSAPI : %c" -#: fe-connect.c:3533 +#: fe-connect.c:3651 #, c-format msgid "received unencrypted data after GSSAPI encryption response" msgstr "a reçu des données non chiffrées après la réponse de chiffrement GSSAPI" -#: fe-connect.c:3598 +#: fe-connect.c:3711 #, c-format msgid "expected authentication request from server, but received %c" msgstr "attendait une requête d'authentification du serveur, mais a reçu %c" -#: fe-connect.c:3625 fe-connect.c:3794 +#: fe-connect.c:3739 fe-connect.c:3862 #, c-format msgid "received invalid authentication request" msgstr "méthode d'authentification invalide reçue" -#: fe-connect.c:3630 fe-connect.c:3779 +#: fe-connect.c:3745 fe-connect.c:3847 #, c-format msgid "received invalid protocol negotiation message" msgstr "a reçu un message invalide pour la négociation du protocole" -#: fe-connect.c:3648 fe-connect.c:3702 +#: fe-connect.c:3764 fe-connect.c:3818 #, c-format msgid "received invalid error message" msgstr "a reçu un message d'erreur invalide" -#: fe-connect.c:3865 +#: fe-connect.c:3933 #, c-format msgid "unexpected message from server during startup" msgstr "message inattendu du serveur lors du démarrage" -#: fe-connect.c:3956 +#: fe-connect.c:4024 #, c-format msgid "session is read-only" msgstr "la session est en lecture seule" -#: fe-connect.c:3958 +#: fe-connect.c:4026 #, c-format msgid "session is not read-only" msgstr "la session n'est pas en lecture seule" -#: fe-connect.c:4011 +#: fe-connect.c:4079 #, c-format msgid "server is in hot standby mode" msgstr "le serveur est dans le mode hot standby" -#: fe-connect.c:4013 +#: fe-connect.c:4081 #, c-format msgid "server is not in hot standby mode" msgstr "le serveur n'est pas dans le mode hot standby" -#: fe-connect.c:4129 fe-connect.c:4179 +#: fe-connect.c:4203 fe-connect.c:4253 #, c-format msgid "\"%s\" failed" msgstr "échec de « %s »" -#: fe-connect.c:4193 +#: fe-connect.c:4267 #, c-format msgid "invalid connection state %d, probably indicative of memory corruption" msgstr "état de connexion invalide (%d), indiquant probablement une corruption de mémoire" -#: fe-connect.c:5174 +#: fe-connect.c:5086 #, c-format msgid "invalid LDAP URL \"%s\": scheme must be ldap://" msgstr "URL LDAP « %s » invalide : le schéma doit être ldap://" -#: fe-connect.c:5189 +#: fe-connect.c:5101 #, c-format msgid "invalid LDAP URL \"%s\": missing distinguished name" msgstr "URL LDAP « %s » invalide : le « distinguished name » manque" -#: fe-connect.c:5201 fe-connect.c:5259 +#: fe-connect.c:5113 fe-connect.c:5171 #, c-format msgid "invalid LDAP URL \"%s\": must have exactly one attribute" msgstr "URL LDAP « %s » invalide : doit avoir exactement un attribut" -#: fe-connect.c:5213 fe-connect.c:5275 +#: fe-connect.c:5125 fe-connect.c:5187 #, c-format msgid "invalid LDAP URL \"%s\": must have search scope (base/one/sub)" msgstr "URL LDAP « %s » invalide : doit avoir une échelle de recherche (base/un/sous)" -#: fe-connect.c:5225 +#: fe-connect.c:5137 #, c-format msgid "invalid LDAP URL \"%s\": no filter" msgstr "URL LDAP « %s » invalide : aucun filtre" -#: fe-connect.c:5247 +#: fe-connect.c:5159 #, c-format msgid "invalid LDAP URL \"%s\": invalid port number" msgstr "URL LDAP « %s » invalide : numéro de port invalide" -#: fe-connect.c:5284 +#: fe-connect.c:5196 #, c-format msgid "could not create LDAP structure" msgstr "n'a pas pu créer la structure LDAP" -#: fe-connect.c:5359 +#: fe-connect.c:5271 #, c-format msgid "lookup on LDAP server failed: %s" msgstr "échec de la recherche sur le serveur LDAP : %s" -#: fe-connect.c:5369 +#: fe-connect.c:5281 #, c-format msgid "more than one entry found on LDAP lookup" msgstr "plusieurs entrées trouvées pendant la recherche LDAP" -#: fe-connect.c:5371 fe-connect.c:5382 +#: fe-connect.c:5283 fe-connect.c:5294 #, c-format msgid "no entry found on LDAP lookup" msgstr "aucune entrée trouvée pendant la recherche LDAP" -#: fe-connect.c:5392 fe-connect.c:5404 +#: fe-connect.c:5304 fe-connect.c:5316 #, c-format msgid "attribute has no values on LDAP lookup" msgstr "l'attribut n'a pas de valeur après la recherche LDAP" -#: fe-connect.c:5455 fe-connect.c:5474 fe-connect.c:5998 +#: fe-connect.c:5367 fe-connect.c:5386 fe-connect.c:5910 #, c-format msgid "missing \"=\" after \"%s\" in connection info string" msgstr "« = » manquant après « %s » dans la chaîne des paramètres de connexion" -#: fe-connect.c:5545 fe-connect.c:6181 fe-connect.c:6979 +#: fe-connect.c:5457 fe-connect.c:6093 fe-connect.c:6891 #, c-format msgid "invalid connection option \"%s\"" msgstr "option de connexion « %s » invalide" -#: fe-connect.c:5560 fe-connect.c:6046 +#: fe-connect.c:5472 fe-connect.c:5958 #, c-format msgid "unterminated quoted string in connection info string" msgstr "guillemets non refermés dans la chaîne des paramètres de connexion" -#: fe-connect.c:5640 +#: fe-connect.c:5552 #, c-format msgid "definition of service \"%s\" not found" msgstr "définition du service « %s » introuvable" -#: fe-connect.c:5666 +#: fe-connect.c:5578 #, c-format msgid "service file \"%s\" not found" msgstr "fichier de service « %s » introuvable" -#: fe-connect.c:5679 +#: fe-connect.c:5591 #, c-format msgid "line %d too long in service file \"%s\"" msgstr "ligne %d trop longue dans le fichier service « %s »" -#: fe-connect.c:5750 fe-connect.c:5793 +#: fe-connect.c:5662 fe-connect.c:5705 #, c-format msgid "syntax error in service file \"%s\", line %d" msgstr "erreur de syntaxe dans le fichier service « %s », ligne %d" -#: fe-connect.c:5761 +#: fe-connect.c:5673 #, c-format msgid "nested service specifications not supported in service file \"%s\", line %d" msgstr "spécifications imbriquées de service non supportées dans le fichier service « %s », ligne %d" -#: fe-connect.c:6500 +#: fe-connect.c:6412 #, c-format msgid "invalid URI propagated to internal parser routine: \"%s\"" msgstr "URI invalide propagée à la routine d'analyse interne : « %s »" -#: fe-connect.c:6577 +#: fe-connect.c:6489 #, c-format msgid "end of string reached when looking for matching \"]\" in IPv6 host address in URI: \"%s\"" msgstr "" "fin de chaîne atteinte lors de la recherche du « ] » correspondant dans\n" "l'adresse IPv6 de l'hôte indiquée dans l'URI : « %s »" -#: fe-connect.c:6584 +#: fe-connect.c:6496 #, c-format msgid "IPv6 host address may not be empty in URI: \"%s\"" msgstr "l'adresse IPv6 de l'hôte ne peut pas être vide dans l'URI : « %s »" -#: fe-connect.c:6599 +#: fe-connect.c:6511 #, c-format msgid "unexpected character \"%c\" at position %d in URI (expected \":\" or \"/\"): \"%s\"" msgstr "caractère « %c » inattendu à la position %d de l'URI (caractère « : » ou « / » attendu) : « %s »" -#: fe-connect.c:6728 +#: fe-connect.c:6640 #, c-format msgid "extra key/value separator \"=\" in URI query parameter: \"%s\"" msgstr "séparateur « = » de clé/valeur en trop dans le paramètre de requête URI : « %s »" -#: fe-connect.c:6748 +#: fe-connect.c:6660 #, c-format msgid "missing key/value separator \"=\" in URI query parameter: \"%s\"" msgstr "séparateur « = » de clé/valeur manquant dans le paramètre de requête URI : « %s »" -#: fe-connect.c:6800 +#: fe-connect.c:6712 #, c-format msgid "invalid URI query parameter: \"%s\"" msgstr "paramètre de la requête URI invalide : « %s »" -#: fe-connect.c:6874 +#: fe-connect.c:6786 #, c-format msgid "invalid percent-encoded token: \"%s\"" msgstr "jeton encodé en pourcentage invalide : « %s »" -#: fe-connect.c:6884 +#: fe-connect.c:6796 #, c-format msgid "forbidden value %%00 in percent-encoded value: \"%s\"" msgstr "valeur %%00 interdite dans la valeur codée en pourcentage : « %s »" -#: fe-connect.c:7248 +#: fe-connect.c:7160 msgid "connection pointer is NULL\n" msgstr "le pointeur de connexion est NULL\n" -#: fe-connect.c:7256 fe-exec.c:710 fe-exec.c:970 fe-exec.c:3292 -#: fe-protocol3.c:974 fe-protocol3.c:1007 +#: fe-connect.c:7168 fe-exec.c:713 fe-exec.c:975 fe-exec.c:3459 +#: fe-protocol3.c:991 fe-protocol3.c:1024 msgid "out of memory\n" msgstr "mémoire épuisée\n" -#: fe-connect.c:7547 +#: fe-connect.c:7459 #, c-format msgid "WARNING: password file \"%s\" is not a plain file\n" msgstr "ATTENTION : le fichier de mots de passe « %s » n'est pas un fichier texte\n" -#: fe-connect.c:7556 +#: fe-connect.c:7468 #, c-format msgid "WARNING: password file \"%s\" has group or world access; permissions should be u=rw (0600) or less\n" msgstr "" @@ -784,161 +822,171 @@ msgstr "" "lecture pour le groupe ou universel ; les droits devraient être u=rw (0600)\n" "ou inférieur\n" -#: fe-connect.c:7663 +#: fe-connect.c:7575 #, c-format msgid "password retrieved from file \"%s\"" msgstr "mot de passe récupéré dans le fichier « %s »" -#: fe-exec.c:466 fe-exec.c:3366 +#: fe-connect.c:7727 +#, c-format +msgid "invalid integer value \"%s\" for connection option \"%s\"" +msgstr "valeur entière « %s » invalide pour l'option de connexion « %s »" + +#: fe-exec.c:469 fe-exec.c:3533 #, c-format msgid "row number %d is out of range 0..%d" msgstr "le numéro de ligne %d est en dehors des limites 0..%d" -#: fe-exec.c:528 fe-protocol3.c:1976 +#: fe-exec.c:531 fe-protocol3.c:1993 #, c-format msgid "%s" msgstr "%s" -#: fe-exec.c:831 +#: fe-exec.c:834 #, c-format msgid "write to server failed" msgstr "échec en écriture vers le serveur" -#: fe-exec.c:869 +#: fe-exec.c:874 #, c-format msgid "no error text available" msgstr "aucun texte d'erreur disponible" -#: fe-exec.c:958 +#: fe-exec.c:963 msgid "NOTICE" msgstr "NOTICE" -#: fe-exec.c:1016 +#: fe-exec.c:1021 msgid "PGresult cannot support more than INT_MAX tuples" msgstr "PGresult ne supporte pas plus de INT_MAX lignes" -#: fe-exec.c:1028 +#: fe-exec.c:1033 msgid "size_t overflow" msgstr "saturation de size_t" -#: fe-exec.c:1444 fe-exec.c:1513 fe-exec.c:1559 +#: fe-exec.c:1438 fe-exec.c:1507 fe-exec.c:1553 #, c-format msgid "command string is a null pointer" msgstr "la chaîne de commande est un pointeur nul" -#: fe-exec.c:1450 fe-exec.c:2888 +#: fe-exec.c:1444 fe-exec.c:3003 #, c-format msgid "%s not allowed in pipeline mode" msgstr "%s non autorisé dans le mode pipeline" -#: fe-exec.c:1518 fe-exec.c:1564 fe-exec.c:1658 +#: fe-exec.c:1512 fe-exec.c:1558 fe-exec.c:1652 #, c-format msgid "number of parameters must be between 0 and %d" msgstr "le nombre de paramètres doit être compris entre 0 et %d" -#: fe-exec.c:1554 fe-exec.c:1653 +#: fe-exec.c:1548 fe-exec.c:1647 #, c-format msgid "statement name is a null pointer" msgstr "le nom de l'instruction est un pointeur nul" -#: fe-exec.c:1695 fe-exec.c:3220 +#: fe-exec.c:1689 fe-exec.c:3379 #, c-format msgid "no connection to the server" msgstr "aucune connexion au serveur" -#: fe-exec.c:1703 fe-exec.c:3228 +#: fe-exec.c:1697 fe-exec.c:3387 #, c-format msgid "another command is already in progress" msgstr "une autre commande est déjà en cours" -#: fe-exec.c:1733 +#: fe-exec.c:1727 #, c-format msgid "cannot queue commands during COPY" msgstr "ne peut pas mettre en queue les commandes lors du COPY" -#: fe-exec.c:1850 +#: fe-exec.c:1846 #, c-format msgid "length must be given for binary parameter" msgstr "la longueur doit être indiquée pour les paramètres binaires" -#: fe-exec.c:2171 +#: fe-exec.c:2205 #, c-format msgid "unexpected asyncStatus: %d" msgstr "asyncStatus inattendu : %d" -#: fe-exec.c:2327 +#: fe-exec.c:2361 #, c-format msgid "synchronous command execution functions are not allowed in pipeline mode" msgstr "les fonctions d'exécution de commande synchrone ne sont pas autorisées en mode pipeline" -#: fe-exec.c:2344 +#: fe-exec.c:2378 msgid "COPY terminated by new PQexec" msgstr "COPY terminé par un nouveau PQexec" -#: fe-exec.c:2360 +#: fe-exec.c:2394 #, c-format msgid "PQexec not allowed during COPY BOTH" msgstr "PQexec non autorisé pendant COPY BOTH" -#: fe-exec.c:2586 fe-exec.c:2641 fe-exec.c:2709 fe-protocol3.c:1907 +#: fe-exec.c:2630 +#, c-format +msgid "unrecognized message type \"%c\"" +msgstr "type de message « %c » non reconnu" + +#: fe-exec.c:2702 fe-exec.c:2756 fe-exec.c:2824 fe-protocol3.c:1924 #, c-format msgid "no COPY in progress" msgstr "aucun COPY en cours" -#: fe-exec.c:2895 +#: fe-exec.c:3010 #, c-format msgid "connection in wrong state" msgstr "connexion dans un état erroné" -#: fe-exec.c:2938 +#: fe-exec.c:3053 #, c-format msgid "cannot enter pipeline mode, connection not idle" msgstr "ne peut pas entrer dans le mode pipeline, connexion active" -#: fe-exec.c:2974 fe-exec.c:2995 +#: fe-exec.c:3089 fe-exec.c:3110 #, c-format msgid "cannot exit pipeline mode with uncollected results" msgstr "ne peut pas sortir du mode pipeline avec des résultats non récupérés" -#: fe-exec.c:2978 +#: fe-exec.c:3093 #, c-format msgid "cannot exit pipeline mode while busy" msgstr "ne peut pas sortir du mode pipeline alors qu'il est occupé" -#: fe-exec.c:2989 +#: fe-exec.c:3104 #, c-format msgid "cannot exit pipeline mode while in COPY" msgstr "ne peut pas sortir du mode pipeline pendant un COPY" -#: fe-exec.c:3154 +#: fe-exec.c:3303 #, c-format msgid "cannot send pipeline when not in pipeline mode" msgstr "ne peut pas envoyer le pipeline lorsqu'il n'est pas en mode pipeline" -#: fe-exec.c:3255 +#: fe-exec.c:3422 msgid "invalid ExecStatusType code" msgstr "code ExecStatusType invalide" -#: fe-exec.c:3282 +#: fe-exec.c:3449 msgid "PGresult is not an error result\n" msgstr "PGresult n'est pas un résultat d'erreur\n" -#: fe-exec.c:3350 fe-exec.c:3373 +#: fe-exec.c:3517 fe-exec.c:3540 #, c-format msgid "column number %d is out of range 0..%d" msgstr "le numéro de colonne %d est en dehors des limites 0..%d" -#: fe-exec.c:3388 +#: fe-exec.c:3555 #, c-format msgid "parameter number %d is out of range 0..%d" msgstr "le numéro de paramètre %d est en dehors des limites 0..%d" -#: fe-exec.c:3699 +#: fe-exec.c:3866 #, c-format msgid "could not interpret result from server: %s" msgstr "n'a pas pu interpréter la réponse du serveur : %s" -#: fe-exec.c:3964 fe-exec.c:4054 +#: fe-exec.c:4127 fe-exec.c:4217 #, c-format msgid "incomplete multibyte character" msgstr "caractère multi-octet incomplet" @@ -989,23 +1037,18 @@ msgstr "n'a pas pu écrire dans le fichier « %s » : %s" msgid "query to initialize large object functions did not return data" msgstr "la requête d'initialisation des fonctions pour « Larges Objects » ne renvoie pas de données" -#: fe-misc.c:240 +#: fe-misc.c:239 #, c-format msgid "integer of size %lu not supported by pqGetInt" msgstr "entier de taille %lu non supporté par pqGetInt" -#: fe-misc.c:273 +#: fe-misc.c:272 #, c-format msgid "integer of size %lu not supported by pqPutInt" msgstr "entier de taille %lu non supporté par pqPutInt" -#: fe-misc.c:573 -#, c-format -msgid "connection not open" -msgstr "la connexion n'est pas active" - -#: fe-misc.c:751 fe-secure-openssl.c:215 fe-secure-openssl.c:315 -#: fe-secure.c:257 fe-secure.c:419 +#: fe-misc.c:750 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" @@ -1016,174 +1059,174 @@ msgstr "" "\tLe serveur s'est peut-être arrêté anormalement avant ou durant le\n" "\ttraitement de la requête." -#: fe-misc.c:818 +#: fe-misc.c:817 msgid "connection not open\n" msgstr "la connexion n'est pas active\n" -#: fe-misc.c:1003 +#: fe-misc.c:1005 #, c-format msgid "timeout expired" msgstr "le délai est dépassé" -#: fe-misc.c:1047 +#: fe-misc.c:1049 #, c-format msgid "invalid socket" msgstr "socket invalide" -#: fe-misc.c:1069 +#: fe-misc.c:1071 #, c-format msgid "%s() failed: %s" msgstr "échec de %s() : %s" -#: fe-protocol3.c:182 +#: fe-protocol3.c:187 #, c-format msgid "message type 0x%02x arrived from server while idle" msgstr "le message de type 0x%02x est arrivé alors que le serveur était en attente" -#: fe-protocol3.c:385 +#: fe-protocol3.c:402 #, c-format msgid "server sent data (\"D\" message) without prior row description (\"T\" message)" msgstr "" "le serveur a envoyé des données (message « D ») sans description préalable\n" "de la ligne (message « T »)" -#: fe-protocol3.c:427 +#: fe-protocol3.c:444 #, c-format msgid "unexpected response from server; first received character was \"%c\"" msgstr "réponse inattendue du serveur, le premier caractère reçu étant « %c »" -#: fe-protocol3.c:450 +#: fe-protocol3.c:467 #, c-format msgid "message contents do not agree with length in message type \"%c\"" msgstr "le contenu du message ne correspond pas avec la longueur du type de message « %c »" -#: fe-protocol3.c:468 +#: fe-protocol3.c:485 #, c-format msgid "lost synchronization with server: got message type \"%c\", length %d" msgstr "synchronisation perdue avec le serveur : a reçu le type de message « %c », longueur %d" -#: fe-protocol3.c:520 fe-protocol3.c:560 +#: fe-protocol3.c:537 fe-protocol3.c:577 msgid "insufficient data in \"T\" message" msgstr "données insuffisantes dans le message « T »" -#: fe-protocol3.c:631 fe-protocol3.c:837 +#: fe-protocol3.c:648 fe-protocol3.c:854 msgid "out of memory for query result" msgstr "mémoire épuisée pour le résultat de la requête" -#: fe-protocol3.c:700 +#: fe-protocol3.c:717 msgid "insufficient data in \"t\" message" msgstr "données insuffisantes dans le message « t »" -#: fe-protocol3.c:759 fe-protocol3.c:791 fe-protocol3.c:809 +#: fe-protocol3.c:776 fe-protocol3.c:808 fe-protocol3.c:826 msgid "insufficient data in \"D\" message" msgstr "données insuffisantes dans le message « D »" -#: fe-protocol3.c:765 +#: fe-protocol3.c:782 msgid "unexpected field count in \"D\" message" msgstr "nombre de champs inattendu dans le message « D »" -#: fe-protocol3.c:1020 +#: fe-protocol3.c:1037 msgid "no error message available\n" msgstr "aucun message d'erreur disponible\n" #. translator: %s represents a digit string -#: fe-protocol3.c:1068 fe-protocol3.c:1087 +#: fe-protocol3.c:1085 fe-protocol3.c:1104 #, c-format msgid " at character %s" msgstr " au caractère %s" -#: fe-protocol3.c:1100 +#: fe-protocol3.c:1117 #, c-format msgid "DETAIL: %s\n" msgstr "DÉTAIL : %s\n" -#: fe-protocol3.c:1103 +#: fe-protocol3.c:1120 #, c-format msgid "HINT: %s\n" msgstr "ASTUCE : %s\n" -#: fe-protocol3.c:1106 +#: fe-protocol3.c:1123 #, c-format msgid "QUERY: %s\n" msgstr "REQUÊTE : %s\n" -#: fe-protocol3.c:1113 +#: fe-protocol3.c:1130 #, c-format msgid "CONTEXT: %s\n" msgstr "CONTEXTE : %s\n" -#: fe-protocol3.c:1122 +#: fe-protocol3.c:1139 #, c-format msgid "SCHEMA NAME: %s\n" msgstr "NOM DE SCHÉMA : %s\n" -#: fe-protocol3.c:1126 +#: fe-protocol3.c:1143 #, c-format msgid "TABLE NAME: %s\n" msgstr "NOM DE TABLE : %s\n" -#: fe-protocol3.c:1130 +#: fe-protocol3.c:1147 #, c-format msgid "COLUMN NAME: %s\n" msgstr "NOM DE COLONNE : %s\n" -#: fe-protocol3.c:1134 +#: fe-protocol3.c:1151 #, c-format msgid "DATATYPE NAME: %s\n" msgstr "NOM DU TYPE DE DONNÉES : %s\n" -#: fe-protocol3.c:1138 +#: fe-protocol3.c:1155 #, c-format msgid "CONSTRAINT NAME: %s\n" msgstr "NOM DE CONTRAINTE : %s\n" -#: fe-protocol3.c:1150 +#: fe-protocol3.c:1167 msgid "LOCATION: " msgstr "EMPLACEMENT : " -#: fe-protocol3.c:1152 +#: fe-protocol3.c:1169 #, c-format msgid "%s, " msgstr "%s, " -#: fe-protocol3.c:1154 +#: fe-protocol3.c:1171 #, c-format msgid "%s:%s" msgstr "%s : %s" -#: fe-protocol3.c:1349 +#: fe-protocol3.c:1366 #, c-format msgid "LINE %d: " msgstr "LIGNE %d : " -#: fe-protocol3.c:1423 +#: fe-protocol3.c:1440 #, c-format msgid "protocol version not supported by server: client uses %u.%u, server supports up to %u.%u" msgstr "version du protocole non supportée par le serveur : le client utilise %u.%u, le serveur supporte jusqu'à %u.%u" -#: fe-protocol3.c:1429 +#: fe-protocol3.c:1446 #, c-format msgid "protocol extension not supported by server: %s" msgid_plural "protocol extensions not supported by server: %s" msgstr[0] "extension du protocole non supportée par le serveur : %s" msgstr[1] "extensions du protocole non supportées par le serveur : %s" -#: fe-protocol3.c:1437 +#: fe-protocol3.c:1454 #, c-format msgid "invalid %s message" msgstr "message %s invalide" -#: fe-protocol3.c:1802 +#: fe-protocol3.c:1819 #, c-format msgid "PQgetline: not doing text COPY OUT" msgstr "PQgetline : ne va pas réaliser un COPY OUT au format texte" -#: fe-protocol3.c:2176 +#: fe-protocol3.c:2193 #, c-format msgid "protocol error: no function result" msgstr "erreur de protocole : aucun résultat de fonction" -#: fe-protocol3.c:2187 +#: fe-protocol3.c:2204 #, c-format msgid "protocol error: id=0x%x" msgstr "erreur de protocole : id=0x%x" @@ -1225,132 +1268,132 @@ msgstr "le certificat serveur pour « %s » ne correspond pas au nom d'hôte « msgid "could not get server's host name from server certificate" msgstr "n'a pas pu récupérer le nom d'hôte du serveur à partir du certificat serveur" -#: fe-secure-gssapi.c:201 +#: fe-secure-gssapi.c:194 msgid "GSSAPI wrap error" msgstr "erreur d'emballage GSSAPI" -#: fe-secure-gssapi.c:208 +#: fe-secure-gssapi.c:201 #, c-format msgid "outgoing GSSAPI message would not use confidentiality" msgstr "le message sortant GSSAPI n'utiliserait pas la confidentialité" -#: fe-secure-gssapi.c:215 +#: fe-secure-gssapi.c:208 #, c-format msgid "client tried to send oversize GSSAPI packet (%zu > %zu)" msgstr "le client a essayé d'envoyer un paquet GSSAPI trop gros (%zu > %zu)" -#: fe-secure-gssapi.c:351 fe-secure-gssapi.c:593 +#: fe-secure-gssapi.c:347 fe-secure-gssapi.c:589 #, c-format msgid "oversize GSSAPI packet sent by the server (%zu > %zu)" msgstr "paquet GSSAPI trop gros envoyé par le serveur (%zu > %zu)" -#: fe-secure-gssapi.c:390 +#: fe-secure-gssapi.c:386 msgid "GSSAPI unwrap error" msgstr "erreur de dépaquetage GSSAPI" -#: fe-secure-gssapi.c:399 +#: fe-secure-gssapi.c:395 #, c-format msgid "incoming GSSAPI message did not use confidentiality" msgstr "le message entrant GSSAPI n'a pas utilisé la confidentialité" -#: fe-secure-gssapi.c:656 +#: fe-secure-gssapi.c:652 msgid "could not initiate GSSAPI security context" msgstr "n'a pas pu initier le contexte de sécurité GSSAPI" -#: fe-secure-gssapi.c:685 +#: fe-secure-gssapi.c:681 msgid "GSSAPI size check error" msgstr "erreur de vérification de la taille GSSAPI" -#: fe-secure-gssapi.c:696 +#: fe-secure-gssapi.c:692 msgid "GSSAPI context establishment error" msgstr "erreur d'établissement du contexte GSSAPI" -#: fe-secure-openssl.c:219 fe-secure-openssl.c:319 fe-secure-openssl.c:1531 +#: fe-secure-openssl.c:207 fe-secure-openssl.c:313 fe-secure-openssl.c:1524 #, c-format msgid "SSL SYSCALL error: %s" msgstr "erreur SYSCALL SSL : %s" -#: fe-secure-openssl.c:225 fe-secure-openssl.c:325 fe-secure-openssl.c:1534 +#: fe-secure-openssl.c:213 fe-secure-openssl.c:319 fe-secure-openssl.c:1527 #, c-format msgid "SSL SYSCALL error: EOF detected" msgstr "erreur SYSCALL SSL : EOF détecté" -#: fe-secure-openssl.c:235 fe-secure-openssl.c:335 fe-secure-openssl.c:1542 +#: fe-secure-openssl.c:223 fe-secure-openssl.c:329 fe-secure-openssl.c:1535 #, c-format msgid "SSL error: %s" msgstr "erreur SSL : %s" -#: fe-secure-openssl.c:249 fe-secure-openssl.c:349 +#: 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" -#: fe-secure-openssl.c:254 fe-secure-openssl.c:354 fe-secure-openssl.c:1589 +#: fe-secure-openssl.c:242 fe-secure-openssl.c:348 fe-secure-openssl.c:1582 #, c-format msgid "unrecognized SSL error code: %d" msgstr "code d'erreur SSL inconnu : %d" -#: fe-secure-openssl.c:397 +#: fe-secure-openssl.c:390 #, c-format msgid "could not determine server certificate signature algorithm" msgstr "n'a pas pu déterminer l'algorithme de signature du certificat serveur" -#: fe-secure-openssl.c:417 +#: fe-secure-openssl.c:410 #, c-format msgid "could not find digest for NID %s" msgstr "n'a pas pu trouver l'entrée pour le NID %s" -#: fe-secure-openssl.c:426 +#: fe-secure-openssl.c:419 #, c-format msgid "could not generate peer certificate hash" msgstr "n'a pas pu générer le hachage du certificat peer" -#: fe-secure-openssl.c:509 +#: fe-secure-openssl.c:501 #, c-format msgid "SSL certificate's name entry is missing" msgstr "l'entrée du nom du certificat SSL est manquante" -#: fe-secure-openssl.c:543 +#: fe-secure-openssl.c:535 #, c-format msgid "SSL certificate's address entry is missing" msgstr "l'entrée d'adresse du certificat SSL est manquante" -#: fe-secure-openssl.c:960 +#: fe-secure-openssl.c:935 #, c-format msgid "could not create SSL context: %s" msgstr "n'a pas pu créer le contexte SSL : %s" -#: fe-secure-openssl.c:1002 +#: fe-secure-openssl.c:977 #, c-format msgid "invalid value \"%s\" for minimum SSL protocol version" msgstr "valeur « %s » invalide pour la version minimale du protocole SSL" -#: fe-secure-openssl.c:1012 +#: fe-secure-openssl.c:987 #, c-format msgid "could not set minimum SSL protocol version: %s" msgstr "n'a pas pu configurer la version minimale de protocole SSL : %s" -#: fe-secure-openssl.c:1028 +#: fe-secure-openssl.c:1003 #, c-format msgid "invalid value \"%s\" for maximum SSL protocol version" msgstr "valeur « %s » invalide pour la version maximale du protocole SSL" -#: fe-secure-openssl.c:1038 +#: fe-secure-openssl.c:1013 #, c-format msgid "could not set maximum SSL protocol version: %s" msgstr "n'a pas pu configurer la version maximale de protocole SSL : %s" -#: fe-secure-openssl.c:1076 +#: fe-secure-openssl.c:1051 #, c-format msgid "could not load system root certificate paths: %s" msgstr "n'a pas pu charger les chemins du certificat racine système : %s" -#: fe-secure-openssl.c:1093 +#: fe-secure-openssl.c:1068 #, c-format msgid "could not read root certificate file \"%s\": %s" msgstr "n'a pas pu lire le certificat racine « %s » : %s" -#: fe-secure-openssl.c:1145 +#: fe-secure-openssl.c:1120 #, c-format msgid "" "could not get home directory to locate root certificate file\n" @@ -1359,7 +1402,7 @@ msgstr "" "n'a pas pu obtenir le répertoire personnel pour situer le fichier de certificat racine.\n" "Fournissez le fichier, utilisez les racines de confiance du système avec sslrootcert=system, ou modifiez sslmode pour désactiver la vérification du certificat par le serveur." -#: fe-secure-openssl.c:1148 +#: fe-secure-openssl.c:1123 #, c-format msgid "" "root certificate file \"%s\" does not exist\n" @@ -1368,112 +1411,127 @@ msgstr "" "le fichier de certificat racine « %s » n'existe pas.\n" "Fournissez le fichier, utilisez les racines de confiance du système avec sslrootcert=system, ou modifiez sslmode pour désactiver la vérification du certificat par le serveur." -#: fe-secure-openssl.c:1183 +#: fe-secure-openssl.c:1158 #, c-format msgid "could not open certificate file \"%s\": %s" msgstr "n'a pas pu ouvrir le certificat « %s » : %s" -#: fe-secure-openssl.c:1201 +#: fe-secure-openssl.c:1176 #, c-format msgid "could not read certificate file \"%s\": %s" msgstr "n'a pas pu lire le certificat « %s » : %s" -#: fe-secure-openssl.c:1225 +#: fe-secure-openssl.c:1200 #, c-format msgid "could not establish SSL connection: %s" msgstr "n'a pas pu établir la connexion SSL : %s" -#: fe-secure-openssl.c:1257 +#: fe-secure-openssl.c:1232 #, c-format msgid "could not set SSL Server Name Indication (SNI): %s" msgstr "n'a pas pu configurer le SSL Server Name Indication (SNI) : %s" -#: fe-secure-openssl.c:1300 +#: fe-secure-openssl.c:1249 +#, c-format +msgid "could not set SSL ALPN extension: %s" +msgstr "n'a pas pu configurer l'extension ALPN de SSL : %s" + +#: fe-secure-openssl.c:1292 #, c-format msgid "could not load SSL engine \"%s\": %s" msgstr "n'a pas pu charger le moteur SSL « %s » : %s" -#: fe-secure-openssl.c:1311 +#: fe-secure-openssl.c:1303 #, c-format msgid "could not initialize SSL engine \"%s\": %s" msgstr "n'a pas pu initialiser le moteur SSL « %s » : %s" -#: fe-secure-openssl.c:1326 +#: fe-secure-openssl.c:1318 #, c-format msgid "could not read private SSL key \"%s\" from engine \"%s\": %s" msgstr "n'a pas pu lire la clé privée SSL « %s » à partir du moteur « %s » : %s" -#: fe-secure-openssl.c:1339 +#: fe-secure-openssl.c:1331 #, c-format msgid "could not load private SSL key \"%s\" from engine \"%s\": %s" msgstr "n'a pas pu charger la clé privée SSL « %s » à partir du moteur « %s » : %s" -#: fe-secure-openssl.c:1376 +#: fe-secure-openssl.c:1368 #, c-format msgid "certificate present, but not private key file \"%s\"" msgstr "le certificat est présent, mais la clé privée « %s » est absente" -#: fe-secure-openssl.c:1379 +#: fe-secure-openssl.c:1371 #, c-format msgid "could not stat private key file \"%s\": %m" msgstr "n'a pas pu interroger le fichier de clé privée « %s » : %m" -#: fe-secure-openssl.c:1387 +#: fe-secure-openssl.c:1379 #, c-format msgid "private key file \"%s\" is not a regular file" msgstr "le fichier de clé privée « %s » n'est pas un fichier" -#: fe-secure-openssl.c:1420 +#: 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 "le fichier de clé privée « %s » a des droits d'accès pour le groupe ou le monde ; le fichier doit avoir les droits u=rw (0600) ou moins si le propriétaire est l'utilisateur courant, ou les droits u=rw,g=r (0640) ou moins si le propriétaire est root" -#: fe-secure-openssl.c:1444 +#: fe-secure-openssl.c:1436 #, c-format msgid "could not load private key file \"%s\": %s" msgstr "n'a pas pu charger le fichier de clé privée « %s » : %s" -#: fe-secure-openssl.c:1460 +#: fe-secure-openssl.c:1452 #, c-format msgid "certificate does not match private key file \"%s\": %s" msgstr "le certificat ne correspond pas à la clé privée « %s » : %s" -#: fe-secure-openssl.c:1528 +#: fe-secure-openssl.c:1521 #, c-format msgid "SSL error: certificate verify failed: %s" msgstr "erreur SSL : échec de la vérification du certificat : %s" -#: fe-secure-openssl.c:1573 +#: 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 "Ceci pourrait indiquer que le serveur ne supporte aucune des versions du protocole SSL entre %s et %s." -#: fe-secure-openssl.c:1606 +#: fe-secure-openssl.c:1598 +#, c-format +msgid "direct SSL connection was established without ALPN protocol negotiation extension" +msgstr "la connexion SSL directe a été établie sans l'extension de négociation du protocole ALPN" + +#: fe-secure-openssl.c:1610 +#, c-format +msgid "SSL connection was established with unexpected ALPN protocol" +msgstr "la connexion SSL a été établie avec un protocole ALPN inattendu" + +#: fe-secure-openssl.c:1627 #, c-format msgid "certificate could not be obtained: %s" msgstr "le certificat n'a pas pu être obtenu : %s" -#: fe-secure-openssl.c:1711 +#: fe-secure-openssl.c:1734 #, c-format msgid "no SSL error reported" msgstr "aucune erreur SSL reportée" -#: fe-secure-openssl.c:1720 +#: fe-secure-openssl.c:1777 #, c-format msgid "SSL error code %lu" msgstr "code d'erreur SSL %lu" -#: fe-secure-openssl.c:1986 +#: fe-secure-openssl.c:2076 #, c-format msgid "WARNING: sslpassword truncated\n" msgstr "ATTENTION : sslpassword tronqué\n" -#: fe-secure.c:263 +#: fe-secure.c:248 #, c-format msgid "could not receive data from server: %s" msgstr "n'a pas pu recevoir des données depuis le serveur : %s" -#: fe-secure.c:434 +#: fe-secure.c:419 #, c-format msgid "could not send data to server: %s" msgstr "n'a pas pu transmettre les données au serveur : %s" @@ -1483,270 +1541,6 @@ msgstr "n'a pas pu transmettre les données au serveur : %s" msgid "unrecognized socket error: 0x%08X/%d" msgstr "erreur de socket non reconnue : 0x%08X/%d" -#~ msgid "\"SELECT pg_is_in_recovery()\" failed\n" -#~ msgstr "\"SELECT pg_is_in_recovery()\" a échoué\n" - -#~ msgid "\"SHOW transaction_read_only\" failed\n" -#~ msgstr "\"SHOW transaction_read_only\" a échoué\n" - -#, c-format -#~ msgid "%s(%s) failed: error code %d\n" -#~ msgstr "échec de %s(%s) : code d'erreur %d\n" - -#~ msgid "COPY IN state must be terminated first\n" -#~ msgstr "l'état COPY IN doit d'abord être terminé\n" - -#~ msgid "COPY OUT state must be terminated first\n" -#~ msgstr "l'état COPY OUT doit d'abord être terminé\n" - -#~ msgid "Kerberos 5 authentication rejected: %*s\n" -#~ msgstr "authentification Kerberos 5 rejetée : %*s\n" - -#, c-format -#~ msgid "PGEventProc \"%s\" failed during PGEVT_CONNRESET event\n" -#~ msgstr "échec de PGEventProc « %s » lors de l'événement PGEVT_CONNRESET\n" - #, c-format -#~ msgid "PGEventProc \"%s\" failed during PGEVT_RESULTCREATE event\n" -#~ msgstr "échec de PGEventProc « %s » lors de l'événement PGEVT_RESULTCREATE\n" - -#~ msgid "SCM_CRED authentication method not supported\n" -#~ msgstr "authentification SCM_CRED non supportée\n" - -#, c-format -#~ msgid "SSL error: %s\n" -#~ msgstr "erreur SSL : %s\n" - -#~ msgid "SSL library does not support CRL certificates (file \"%s\")\n" -#~ msgstr "la bibliothèque SSL ne supporte pas les certificats CRL (fichier « %s »)\n" - -#, c-format -#~ msgid "Unix-domain socket path \"%s\" is too long (maximum %d bytes)\n" -#~ msgstr "Le chemin du socket de domaine Unix, « %s », est trop (maximum %d octets)\n" - -#~ msgid "WARNING: line %d too long in password file \"%s\"\n" -#~ msgstr "ATTENTION : ligne %d trop longue dans le fichier de mots de passe « %s »\n" - -#~ msgid "WSAIoctl(SIO_KEEPALIVE_VALS) failed: %d\n" -#~ msgstr "échec de WSAIoctl(SIO_KEEPALIVE_VALS) : %d\n" - -#~ msgid "cannot determine OID of function lo_creat\n" -#~ msgstr "ne peut pas déterminer l'OID de la fonction lo_creat\n" - -#~ msgid "cannot determine OID of function lo_create\n" -#~ msgstr "ne peut pas déterminer l'OID de la fonction lo_create\n" - -#~ msgid "cannot determine OID of function lo_lseek\n" -#~ msgstr "ne peut pas déterminer l'OID de la fonction lo_lseek\n" - -#~ msgid "cannot determine OID of function lo_lseek64\n" -#~ msgstr "ne peut pas déterminer l'OID de la fonction lo_lseek64\n" - -#~ msgid "cannot determine OID of function lo_open\n" -#~ msgstr "ne peut pas déterminer l'OID de la fonction lo_open\n" - -#~ msgid "cannot determine OID of function lo_tell64\n" -#~ msgstr "ne peut pas déterminer l'OID de la fonction lo_tell64\n" - -#~ msgid "cannot determine OID of function lo_truncate\n" -#~ msgstr "ne peut pas déterminer l'OID de la fonction lo_truncate\n" - -#~ msgid "cannot determine OID of function lo_truncate64\n" -#~ msgstr "ne peut pas déterminer l'OID de la fonction lo_truncate64\n" - -#~ msgid "cannot determine OID of function lo_unlink\n" -#~ msgstr "ne peut pas déterminer l'OID de la fonction lo_unlink\n" - -#~ msgid "cannot determine OID of function loread\n" -#~ msgstr "ne peut pas déterminer l'OID de la fonction loread\n" - -#~ msgid "cannot determine OID of function lowrite\n" -#~ msgstr "ne peut pas déterminer l'OID de la fonction lowrite\n" - -#~ msgid "could not acquire mutex: %s\n" -#~ msgstr "n'a pas pu acquérir le mutex : %s\n" - -#~ msgid "" -#~ "could not connect to server: %s\n" -#~ "\tIs the server running on host \"%s\" (%s) and accepting\n" -#~ "\tTCP/IP connections on port %s?\n" -#~ msgstr "" -#~ "n'a pas pu se connecter au serveur : %s\n" -#~ "\tLe serveur est-il actif sur l'hôte « %s » (%s)\n" -#~ "\tet accepte-t-il les connexionsTCP/IP sur le port %s ?\n" - -#, c-format -#~ msgid "could not create SSL context: %s\n" -#~ msgstr "n'a pas pu créer le contexte SSL : %s\n" - -#~ msgid "could not get home directory to locate client certificate files\n" -#~ msgstr "" -#~ "n'a pas pu récupérer le répertoire personnel pour trouver les certificats\n" -#~ "du client\n" - -#~ msgid "could not get home directory to locate password file\n" -#~ msgstr "" -#~ "n'a pas pu obtenir le répertoire personnel pour trouver le fichier de\n" -#~ "mot de passe\n" - -#~ msgid "could not get home directory to locate service definition file" -#~ msgstr "" -#~ "n'a pas pu obtenir le répertoire personnel pour trouver le certificat de\n" -#~ "définition du service" - -#, c-format -#~ msgid "could not load private key file \"%s\": %s\n" -#~ msgstr "n'a pas pu charger le fichier de clé privée « %s » : %s\n" - -#~ msgid "could not make a writable connection to server \"%s:%s\"\n" -#~ msgstr "n'a pas pu réaliser une connexion en écriture au serveur « %s » : %s\n" - -#, c-format -#~ msgid "could not open file \"%s\": %s\n" -#~ msgstr "n'a pas pu ouvrir le fichier « %s » : %s\n" - -#~ msgid "could not open private key file \"%s\": %s\n" -#~ msgstr "n'a pas pu ouvrir le fichier de clé privée « %s » : %s\n" - -#~ msgid "could not read private key file \"%s\": %s\n" -#~ msgstr "n'a pas pu lire la clé privée « %s » : %s\n" - -#~ msgid "could not restore nonblocking mode on socket: %s\n" -#~ msgstr "n'a pas pu rétablir le mode non-bloquant pour la socket : %s\n" - -#~ msgid "could not set maximum version of SSL protocol: %s\n" -#~ msgstr "n'a pas pu mettre en place la version maximale du protocole SSL : %s\n" - -#~ msgid "could not set minimum version of SSL protocol: %s\n" -#~ msgstr "n'a pas pu mettre en place la version minimale du protocole SSL : %s\n" - -#~ msgid "could not set socket to blocking mode: %s\n" -#~ msgstr "n'a pas pu activer le mode bloquant pour la socket : %s\n" - -#~ msgid "extraneous data in \"D\" message" -#~ msgstr "données supplémentaires dans le message « D »" - -#~ msgid "extraneous data in \"T\" message" -#~ msgstr "données supplémentaires dans le message « T »" - -#~ msgid "extraneous data in \"t\" message" -#~ msgstr "données supplémentaires dans le message « t »" - -#~ msgid "failed to generate nonce\n" -#~ msgstr "échec pour la génération de nonce\n" - -#~ msgid "failed to generate random salt" -#~ msgstr "a échoué à générer le sel aléatoire" - -#~ msgid "function requires at least protocol version 3.0\n" -#~ msgstr "la fonction nécessite au minimum le protocole 3.0\n" - -#~ msgid "incoming GSSAPI message did not use confidentiality\n" -#~ msgstr "le message entrant GSSAPI n'a pas utilisé pas la confidentialité\n" - -#~ msgid "invalid appname state %d, probably indicative of memory corruption\n" -#~ msgstr "état appname %d invalide, indiquant probablement une corruption de la mémoire\n" - -#~ msgid "invalid channel_binding value: \"%s\"\n" -#~ msgstr "valeur de channel_binding invalide : « %s »\n" - -#~ msgid "invalid gssencmode value: \"%s\"\n" -#~ msgstr "valeur gssencmode invalide : « %s »\n" - -#~ msgid "invalid setenv state %c, probably indicative of memory corruption\n" -#~ msgstr "état setenv %c invalide, indiquant probablement une corruption de la mémoire\n" - -#~ msgid "invalid ssl_max_protocol_version value: \"%s\"\n" -#~ msgstr "valeur ssl_max_protocol_version invalide : « %s »\n" - -#~ msgid "invalid ssl_min_protocol_version value: \"%s\"\n" -#~ msgstr "valeur ssl_min_protocol_version invalide : « %s »\n" - -#~ msgid "invalid state %c, probably indicative of memory corruption\n" -#~ msgstr "état %c invalide, indiquant probablement une corruption de la mémoire\n" - -#~ msgid "invalid target_session_attrs value: \"%s\"\n" -#~ msgstr "valeur target_session_attrs invalide : « %s »\n" - -#, c-format -#~ msgid "local user with ID %d does not exist\n" -#~ msgstr "l'utilisateur local dont l'identifiant est %d n'existe pas\n" - -#~ msgid "lost synchronization with server, resetting connection" -#~ msgstr "synchronisation perdue avec le serveur, réinitialisation de la connexion" - -#~ msgid "no GSSAPI support; cannot require GSSAPI\n" -#~ msgstr "pas de support de GSSAPI : ne peut pas nécessiter GSSAPI\n" - -#~ msgid "outgoing GSSAPI message would not use confidentiality\n" -#~ msgstr "le message sortant GSSAPI n'utiliserait pas la confidentialité\n" - -#~ msgid "private key file \"%s\" changed during execution\n" -#~ msgstr "la clé privée « %s » a été modifiée durant l'exécution\n" - -#, c-format -#~ msgid "private key file \"%s\" has group or world access; permissions should be u=rw (0600) or less\n" -#~ msgstr "" -#~ "le fichier de la clé privée « %s » a des droits d'accès en lecture\n" -#~ "pour le groupe ou universel ; les droits devraient être u=rw (0600)\n" -#~ "ou inférieur\n" - -#, c-format -#~ msgid "private key file \"%s\" is not a regular file\n" -#~ msgstr "le fichier de clé privée « %s » n'est pas un fichier standard\n" - -#, c-format -#~ msgid "private key file \"%s\" must be owned by the current user or root\n" -#~ msgstr "le fichier de clé privée « %s » doit avoir comme propriétaire l'utilisateur courant ou root\n" - -#~ msgid "select() failed: %s\n" -#~ msgstr "échec de select() : %s\n" - -#~ msgid "server sent binary data (\"B\" message) without prior row description (\"T\" message)" -#~ msgstr "" -#~ "le serveur a envoyé des données binaires (message « B ») sans description\n" -#~ "préalable de la ligne (message « T »)" - -#~ msgid "server sent data (\"D\" message) without prior row description (\"T\" message)\n" -#~ msgstr "" -#~ "le serveur a envoyé des données (message « D ») sans description préalable\n" -#~ "de la ligne (message « T »)\n" - -#~ msgid "setsockopt(%s) failed: %s\n" -#~ msgstr "setsockopt(%s) a échoué : %s\n" - -#~ msgid "setsockopt(SO_KEEPALIVE) failed: %s\n" -#~ msgstr "setsockopt(SO_KEEPALIVE) a échoué : %s\n" - -#~ msgid "setsockopt(TCP_KEEPALIVE) failed: %s\n" -#~ msgstr "setsockopt(TCP_KEEPALIVE) a échoué : %s\n" - -#~ msgid "setsockopt(TCP_KEEPIDLE) failed: %s\n" -#~ msgstr "setsockopt(TCP_KEEPIDLE) a échoué : %s\n" - -#~ msgid "setsockopt(TCP_KEEPINTVL) failed: %s\n" -#~ msgstr "setsockopt(TCP_KEEPINTVL) a échoué : %s\n" - -#~ msgid "socket not open\n" -#~ msgstr "socket non ouvert\n" - -#~ msgid "unexpected character %c following empty query response (\"I\" message)" -#~ msgstr "" -#~ "caractère %c inattendu à la suite d'une réponse de requête vide (message\n" -#~ "« I »)" - -#, c-format -#~ msgid "unrecognized SSL error code: %d\n" -#~ msgstr "code d'erreur SSL inconnu : %d\n" - -#~ msgid "unrecognized return value from row processor" -#~ msgstr "valeur de retour du traitement de la ligne non reconnue" - -#, c-format -#~ msgid "user name lookup failure: error code %lu\n" -#~ msgstr "échec de la recherche du nom d'utilisateur : code d'erreur %lu\n" - -#~ msgid "verified SSL connections are only supported when connecting to a host name\n" -#~ msgstr "" -#~ "les connexions SSL vérifiées ne sont supportées que lors de la connexion\n" -#~ "à un alias hôte\n" +#~ msgid "keepalives parameter must be an integer" +#~ msgstr "le paramètre keepalives doit être un entier" diff --git a/src/interfaces/libpq/po/ja.po b/src/interfaces/libpq/po/ja.po index ad13b824638..c6b3cc24135 100644 --- a/src/interfaces/libpq/po/ja.po +++ b/src/interfaces/libpq/po/ja.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: libpq (PostgreSQL 17)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-06-14 11:23+0900\n" -"PO-Revision-Date: 2024-06-14 11:34+0900\n" +"POT-Creation-Date: 2024-11-11 14:42+0900\n" +"PO-Revision-Date: 2024-11-11 15:09+0900\n" "Last-Translator: Kyotaro Horiguchi \n" "Language-Team: Japan PostgreSQL Users Group \n" "Language: ja\n" @@ -20,16 +20,6 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Poedit 1.8.13\n" -#: ../../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)" @@ -72,20 +62,20 @@ msgstr "nonce を生成できませんでした" #: 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:1199 -#: fe-auth.c:1362 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:4758 -#: fe-connect.c:5070 fe-connect.c:5325 fe-connect.c:5443 fe-connect.c:5690 -#: fe-connect.c:5770 fe-connect.c:5868 fe-connect.c:6119 fe-connect.c:6146 -#: fe-connect.c:6222 fe-connect.c:6245 fe-connect.c:6269 fe-connect.c:6304 -#: fe-connect.c:6390 fe-connect.c:6398 fe-connect.c:6755 fe-connect.c:6905 +#: fe-auth-scram.c:698 fe-auth-scram.c:734 fe-auth-scram.c:908 fe-auth.c:306 +#: fe-auth.c:380 fe-auth.c:414 fe-auth.c:635 fe-auth.c:754 fe-auth.c:1241 +#: fe-auth.c:1404 fe-cancel.c:159 fe-connect.c:937 fe-connect.c:977 +#: fe-connect.c:1861 fe-connect.c:2023 fe-connect.c:3421 fe-connect.c:4762 +#: fe-connect.c:5074 fe-connect.c:5329 fe-connect.c:5447 fe-connect.c:5694 +#: fe-connect.c:5774 fe-connect.c:5872 fe-connect.c:6123 fe-connect.c:6150 +#: fe-connect.c:6226 fe-connect.c:6249 fe-connect.c:6273 fe-connect.c:6308 +#: fe-connect.c:6394 fe-connect.c:6402 fe-connect.c:6759 fe-connect.c:6939 #: fe-exec.c:530 fe-exec.c:1315 fe-exec.c:3254 fe-exec.c:4234 fe-exec.c:4398 #: 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-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 #, c-format msgid "out of memory" msgstr "メモリ不足です" @@ -144,193 +134,203 @@ msgstr "SCRAMメッセージのフォーマット異常 (不正なサーバー msgid "could not generate random salt" msgstr "乱数ソルトを生成できませんでした" -#: fe-auth.c:77 +#: fe-auth.c:78 #, c-format msgid "out of memory allocating GSSAPI buffer (%d)" msgstr "GSSAPIバッファの割り当ての際のメモリ不足(%d)" -#: fe-auth.c:138 +#: fe-auth.c:144 msgid "GSSAPI continuation error" msgstr "GSSAI続行エラー" -#: fe-auth.c:168 fe-auth.c:397 fe-gssapi-common.c:97 fe-secure-common.c:99 +#: fe-auth.c:174 fe-auth.c:408 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:174 +#: fe-auth.c:180 #, c-format msgid "duplicate GSS authentication request" msgstr "重複するGSS認証要求" -#: fe-auth.c:238 +#: fe-auth.c:244 #, c-format msgid "out of memory allocating SSPI buffer (%d)" msgstr "SSPIバッファの割り当ての際のメモリ不足(%d)" -#: fe-auth.c:285 +#: fe-auth.c:295 msgid "SSPI continuation error" msgstr "SSPI続行エラー" -#: fe-auth.c:359 +#: fe-auth.c:370 #, c-format msgid "duplicate SSPI authentication request" msgstr "重複したSSPI認証要求" -#: fe-auth.c:384 +#: fe-auth.c:395 msgid "could not acquire SSPI credentials" msgstr "SSPI資格を入手できませんでした" -#: fe-auth.c:436 +#: fe-auth.c:447 #, c-format msgid "channel binding required, but SSL not in use" msgstr "チャネルバインディングが要求されていますが、SSLが使用されていません" -#: fe-auth.c:442 +#: fe-auth.c:453 #, c-format msgid "duplicate SASL authentication request" msgstr "重複するSASL認証要求" -#: fe-auth.c:500 +#: fe-auth.c:511 #, c-format msgid "channel binding is required, but client does not support it" msgstr "チャネルバインディングが要求されていますが、クライアントがサポートしていません" -#: fe-auth.c:516 +#: fe-auth.c:527 #, c-format msgid "server offered SCRAM-SHA-256-PLUS authentication over a non-SSL connection" msgstr "サーバーが非SSL接続上で SCRAM-SHA-256-PLUS 認証を提示してきました" -#: fe-auth.c:531 +#: fe-auth.c:542 #, c-format msgid "none of the server's SASL authentication mechanisms are supported" msgstr "サーバー側のいずれのSASL認証機構もサポートされていません" -#: fe-auth.c:538 +#: fe-auth.c:549 #, c-format msgid "channel binding is required, but server did not offer an authentication method that supports channel binding" msgstr "チャネルバインディングが要求されていますが、サーバーがチャネルバインディングをサポートする認証方式を提供しませんでした" -#: fe-auth.c:640 +#: fe-auth.c:657 #, c-format msgid "out of memory allocating SASL buffer (%d)" msgstr "SASLバッファの割り当ての際のメモリ不足(%d)" -#: fe-auth.c:663 +#: fe-auth.c:685 #, c-format msgid "AuthenticationSASLFinal received from server, but SASL authentication was not completed" msgstr "サーバーからAuthenticationSASLFinalを受信しました、しかしSASL認証は完了していません" -#: fe-auth.c:673 +#: fe-auth.c:695 #, c-format msgid "no client response found after SASL exchange success" msgstr "SASL交換の成功後にクライアントからの応答がありません" -#: fe-auth.c:736 fe-auth.c:743 fe-auth.c:1345 fe-auth.c:1356 +#: fe-auth.c:763 fe-auth.c:770 fe-auth.c:1387 fe-auth.c:1398 #, c-format msgid "could not encrypt password: %s" msgstr "パスワードを暗号化できませんでした: %s" -#: fe-auth.c:771 +#: fe-auth.c:800 msgid "server requested a cleartext password" msgstr "サーバーが平文パスワードを要求してきました" -#: fe-auth.c:773 +#: fe-auth.c:802 msgid "server requested a hashed password" msgstr "サーバーがハッシュ化パスワードを要求してきました" -#: fe-auth.c:776 +#: fe-auth.c:805 msgid "server requested GSSAPI authentication" msgstr "サーバーがGSSAPI認証を要求してきました" -#: fe-auth.c:778 +#: fe-auth.c:807 msgid "server requested SSPI authentication" msgstr "サーバーがSSPI認証を要求してきました" -#: fe-auth.c:782 +#: fe-auth.c:811 msgid "server requested SASL authentication" msgstr "サーバーがSASL認証を要求してきました" -#: fe-auth.c:785 +#: fe-auth.c:814 msgid "server requested an unknown authentication type" msgstr "サーバーが不明な認証タイプを要求してきました" -#: fe-auth.c:818 +#: fe-auth.c:847 #, c-format msgid "server did not request an SSL certificate" msgstr "サーバーがSSL証明書を要求してきませんでした" -#: fe-auth.c:823 +#: fe-auth.c:852 #, c-format msgid "server accepted connection without a valid SSL certificate" msgstr "サーバーは有効なSSL証明書なしで接続を受け付けました" -#: fe-auth.c:877 +#: fe-auth.c:906 msgid "server did not complete authentication" msgstr "サーバーが認証を完了しませんでした" -#: fe-auth.c:911 +#: fe-auth.c:940 #, c-format msgid "authentication method requirement \"%s\" failed: %s" msgstr "必須の認証方式\"%s\"が失敗しました: %s" -#: fe-auth.c:934 +#: fe-auth.c:963 #, c-format msgid "channel binding required, but server authenticated client without channel binding" msgstr "チャネルバインディングが要求されていますが、サーバーはチャネルバインディングを使用せずに認証を行いました" -#: fe-auth.c:939 +#: fe-auth.c:968 #, c-format msgid "channel binding required but not supported by server's authentication request" msgstr "チャネルバインディングが要求されていますが、サーバーの認証要求ではサポートされていません" -#: fe-auth.c:973 +#: fe-auth.c:1002 #, c-format msgid "Kerberos 4 authentication not supported" msgstr "Kerberos 4認証はサポートされていません" -#: fe-auth.c:977 +#: fe-auth.c:1006 #, c-format msgid "Kerberos 5 authentication not supported" msgstr "Kerberos 5認証はサポートされていません" -#: fe-auth.c:1047 +#: fe-auth.c:1076 #, c-format msgid "GSSAPI authentication not supported" msgstr "GSSAPI認証はサポートされていません" -#: fe-auth.c:1078 +#: fe-auth.c:1107 #, c-format msgid "SSPI authentication not supported" msgstr "SSPI認証はサポートされていません" -#: fe-auth.c:1085 +#: fe-auth.c:1114 #, c-format msgid "Crypt authentication not supported" msgstr "Crypt認証はサポートされていません" -#: fe-auth.c:1149 +#: fe-auth.c:1178 #, c-format msgid "authentication method %u not supported" msgstr "認証方式%uはサポートされていません" -#: fe-auth.c:1186 +#: fe-auth.c:1218 #, c-format msgid "user name lookup failure: error code %lu" msgstr "ユーザー名の参照に失敗: エラーコード %lu" -#: fe-auth.c:1308 +#: fe-auth.c:1226 +#, c-format +msgid "could not look up local user ID %ld: %m" +msgstr "ローカルユーザーID %ldの参照に失敗しました: %m" + +#: fe-auth.c:1231 +#, c-format +msgid "local user with ID %ld does not exist" +msgstr "ID %ld を持つローカルユーザーは存在しません" + +#: fe-auth.c:1350 #, c-format msgid "unexpected shape of result set returned for SHOW" msgstr "SHOW に対する予期しない形のリザルトセット" -#: fe-auth.c:1316 +#: fe-auth.c:1358 #, c-format msgid "\"password_encryption\" value too long" msgstr "\"password_encryption\"の値が長すぎます" -#: fe-auth.c:1366 +#: fe-auth.c:1408 #, c-format msgid "unrecognized password encryption algorithm \"%s\"" msgstr "認識できないパスワード暗号化アルゴリズム \"%s\"" @@ -340,7 +340,7 @@ msgstr "認識できないパスワード暗号化アルゴリズム \"%s\"" msgid "connection pointer is NULL" msgstr "接続ポインタはNULLです" -#: fe-cancel.c:82 fe-misc.c:572 +#: fe-cancel.c:82 fe-misc.c:587 #, c-format msgid "connection not open" msgstr "接続はオープンされていません" @@ -355,242 +355,247 @@ msgstr "このセッションではすでにキャンセル要求を送出済み 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:4302 +#: 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:4431 +#: 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:3086 -#, c-format -msgid "keepalives parameter must be an integer" -msgstr "keepaliveのパラメータは整数でなければなりません" - -#: 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:3371 #, c-format msgid "could not send SSL negotiation packet: %s" msgstr "SSLネゴシエーションパケットを送信できませんでした: %s" -#: fe-connect.c:3412 +#: fe-connect.c:3403 #, c-format msgid "could not send cancel packet: %s" msgstr "キャンセルパケットを送信できませんでした: %s" -#: fe-connect.c:3442 +#: fe-connect.c:3433 #, c-format msgid "could not send startup packet: %s" msgstr "開始パケットを送信できませんでした: %s" -#: fe-connect.c:3509 +#: fe-connect.c:3506 msgid "server does not support SSL, but SSL was required" msgstr "サーバーはSSLをサポートしていませんが、要求されています" -#: fe-connect.c:3528 +#: fe-connect.c:3516 +#, c-format +msgid "server sent an error response during SSL exchange" +msgstr "SSLハンドシェイク中にサーバーからエラー応答が返されました" + +#: fe-connect.c:3521 #, c-format msgid "received invalid response to SSL negotiation: %c" msgstr "SSLネゴシエーションに対して不正な応答を受信しました: %c" -#: fe-connect.c:3556 +#: fe-connect.c:3541 #, c-format msgid "received unencrypted data after SSL response" msgstr "SSL応答の後に非暗号化データを受信しました" -#: fe-connect.c:3630 +#: fe-connect.c:3604 +#, c-format +msgid "server sent an error response during GSS encryption exchange" +msgstr "GSS暗号化ハンドシェイク中にサーバーからエラー応答が返されました" + +#: fe-connect.c:3622 msgid "server doesn't support GSSAPI encryption, but it was required" msgstr "サーバーがGSSAPI暗号化サポートしていませんが、要求されてます" -#: fe-connect.c:3634 +#: fe-connect.c:3626 #, c-format msgid "received invalid response to GSSAPI negotiation: %c" msgstr "GSSAPIネゴシエーションに対して不正な応答を受信しました: %c" -#: fe-connect.c:3652 +#: fe-connect.c:3648 #, c-format msgid "received unencrypted data after GSSAPI encryption response" msgstr "GSSAPI暗号化応答の後に非暗号化データを受信しました" @@ -615,206 +620,211 @@ msgstr "不正なプロトコルネゴシエーションメッセージを受信 msgid "received invalid error message" msgstr "不正なエラーメッセージを受信しました" -#: fe-connect.c:3930 +#: fe-connect.c:3934 #, c-format msgid "unexpected message from server during startup" msgstr "起動中にサーバーから想定外のメッセージがありました" -#: fe-connect.c:4021 +#: fe-connect.c:4025 #, c-format msgid "session is read-only" msgstr "セッションは読み取り専用です" -#: fe-connect.c:4023 +#: fe-connect.c:4027 #, c-format msgid "session is not read-only" msgstr "セッションは読み取り専用ではありません" -#: fe-connect.c:4076 +#: fe-connect.c:4080 #, c-format msgid "server is in hot standby mode" msgstr "サーバーはホットスタンバイモードです" -#: fe-connect.c:4078 +#: fe-connect.c:4082 #, c-format msgid "server is not in hot standby mode" msgstr "サーバーはスタンバイモードではありません" -#: fe-connect.c:4200 fe-connect.c:4250 +#: fe-connect.c:4204 fe-connect.c:4254 #, c-format msgid "\"%s\" failed" msgstr "\"%s\"が失敗しました" -#: fe-connect.c:4264 +#: fe-connect.c:4268 #, c-format msgid "invalid connection state %d, probably indicative of memory corruption" msgstr "接続状態%dは不正です。メモリ障害の可能性があります" -#: fe-connect.c:5083 +#: fe-connect.c:5087 #, c-format msgid "invalid LDAP URL \"%s\": scheme must be ldap://" msgstr "不正なLDAP URL\"%s\":スキームはldap://でなければなりません" -#: fe-connect.c:5098 +#: fe-connect.c:5102 #, c-format msgid "invalid LDAP URL \"%s\": missing distinguished name" msgstr "不正なLDAP URL \"%s\": 識別名がありません" -#: fe-connect.c:5110 fe-connect.c:5168 +#: 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:5122 fe-connect.c:5184 +#: 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:5134 +#: fe-connect.c:5138 #, c-format msgid "invalid LDAP URL \"%s\": no filter" msgstr "不正なLDAP URL \"%s\": フィルタがありません" -#: fe-connect.c:5156 +#: fe-connect.c:5160 #, c-format msgid "invalid LDAP URL \"%s\": invalid port number" msgstr "不正なLDAP URL \"%s\": ポート番号が不正です" -#: fe-connect.c:5193 +#: fe-connect.c:5197 #, c-format msgid "could not create LDAP structure" msgstr "LDAP構造体を作成できませんでした" -#: fe-connect.c:5268 +#: fe-connect.c:5272 #, c-format msgid "lookup on LDAP server failed: %s" msgstr "LDAPサーバーで検索に失敗しました: %s" -#: fe-connect.c:5278 +#: fe-connect.c:5282 #, c-format msgid "more than one entry found on LDAP lookup" msgstr "LDAP参照で複数のエントリが見つかりました" -#: fe-connect.c:5280 fe-connect.c:5291 +#: fe-connect.c:5284 fe-connect.c:5295 #, c-format msgid "no entry found on LDAP lookup" msgstr "LDAP参照でエントリが見つかりません" -#: fe-connect.c:5301 fe-connect.c:5313 +#: fe-connect.c:5305 fe-connect.c:5317 #, c-format msgid "attribute has no values on LDAP lookup" msgstr "LDAP参照で属性に値がありません" -#: fe-connect.c:5364 fe-connect.c:5383 fe-connect.c:5907 +#: fe-connect.c:5368 fe-connect.c:5387 fe-connect.c:5911 #, c-format msgid "missing \"=\" after \"%s\" in connection info string" msgstr "接続情報文字列において\"%s\"の後に\"=\"がありませんでした" -#: fe-connect.c:5454 fe-connect.c:6090 fe-connect.c:6888 +#: fe-connect.c:5458 fe-connect.c:6094 fe-connect.c:6922 #, c-format msgid "invalid connection option \"%s\"" msgstr "不正な接続オプション\"%s\"" -#: fe-connect.c:5469 fe-connect.c:5955 +#: fe-connect.c:5473 fe-connect.c:5959 #, c-format msgid "unterminated quoted string in connection info string" msgstr "接続情報文字列内の閉じていない引用符" -#: fe-connect.c:5549 +#: fe-connect.c:5553 #, c-format msgid "definition of service \"%s\" not found" msgstr "サービス定義\"%s\"がみつかりません" -#: fe-connect.c:5575 +#: fe-connect.c:5579 #, c-format msgid "service file \"%s\" not found" msgstr "サービスファイル\"%s\"がみつかりません" -#: fe-connect.c:5588 +#: fe-connect.c:5592 #, c-format msgid "line %d too long in service file \"%s\"" msgstr "サービスファイル\"%2$s\"の行%1$dが長すぎます" -#: fe-connect.c:5659 fe-connect.c:5702 +#: fe-connect.c:5663 fe-connect.c:5706 #, c-format msgid "syntax error in service file \"%s\", line %d" msgstr "サービスファイル\"%s\"の行%dで構文エラー" -#: fe-connect.c:5670 +#: fe-connect.c:5674 #, c-format msgid "nested service specifications not supported in service file \"%s\", line %d" msgstr "サービスファイル\"%s\"、行%dでのネストしたサービス指定はサポートされていません" -#: fe-connect.c:6409 +#: fe-connect.c:6413 #, c-format msgid "invalid URI propagated to internal parser routine: \"%s\"" msgstr "内部パーサ処理へ伝播した不正なURI: \"%s\"" -#: fe-connect.c:6486 +#: fe-connect.c:6490 #, 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:6493 +#: fe-connect.c:6497 #, c-format msgid "IPv6 host address may not be empty in URI: \"%s\"" msgstr "URI内ではIPv6ホストアドレスは空であってはなりません: \"%s\"" -#: fe-connect.c:6508 +#: fe-connect.c:6512 #, 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:6637 +#: fe-connect.c:6641 #, c-format msgid "extra key/value separator \"=\" in URI query parameter: \"%s\"" msgstr "URI問い合わせパラメータ内にキーと値を分ける\"=\"が余分にあります: \"%s\"" -#: fe-connect.c:6657 +#: fe-connect.c:6661 #, c-format msgid "missing key/value separator \"=\" in URI query parameter: \"%s\"" msgstr "URI問い合わせパラメータ内にキーと値を分ける\\\"=\\\"がありません: \"%s\"" -#: fe-connect.c:6709 +#: fe-connect.c:6713 #, c-format msgid "invalid URI query parameter: \"%s\"" msgstr "不正なURI問い合わせパラメータ:\"%s\"" -#: fe-connect.c:6783 +#: fe-connect.c:6797 #, c-format msgid "invalid percent-encoded token: \"%s\"" msgstr "不正なパーセント符号化トークン: \"%s\"" -#: fe-connect.c:6793 +#: fe-connect.c:6807 #, c-format msgid "forbidden value %%00 in percent-encoded value: \"%s\"" msgstr "パーセント符号化された値では値%%00は許されません: \"%s\"" -#: fe-connect.c:7157 +#: fe-connect.c:6828 +#, c-format +msgid "trailing data found: \"%s\"" +msgstr "後続のデータがあります: \"%s\"" + +#: fe-connect.c:7201 msgid "connection pointer is NULL\n" msgstr "接続ポインタはNULLです\n" -#: fe-connect.c:7165 fe-exec.c:713 fe-exec.c:975 fe-exec.c:3459 -#: fe-protocol3.c:991 fe-protocol3.c:1024 +#: fe-connect.c:7209 fe-exec.c:713 fe-exec.c:975 fe-exec.c:3459 +#: fe-protocol3.c:987 fe-protocol3.c:1020 msgid "out of memory\n" msgstr "メモリ不足\n" -#: fe-connect.c:7456 +#: fe-connect.c:7509 #, c-format msgid "WARNING: password file \"%s\" is not a plain file\n" msgstr "WARNING: パスワードファイル\"%s\"がテキストファイルではありません\n" -#: fe-connect.c:7465 +#: fe-connect.c:7519 #, 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:7572 +#: fe-connect.c:7623 #, c-format msgid "password retrieved from file \"%s\"" msgstr "パスワードはファイル\"%s\"から取り出しました" -#: fe-connect.c:7724 +#: fe-connect.c:7789 #, c-format msgid "invalid integer value \"%s\" for connection option \"%s\"" msgstr "接続オプション\"%2$s\"に対する不正な整数値\"%1$s\"" @@ -824,7 +834,7 @@ msgstr "接続オプション\"%2$s\"に対する不正な整数値\"%1$s\"" 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:1985 #, c-format msgid "%s" msgstr "%s" @@ -915,7 +925,7 @@ msgstr "COPY BOTH 実行中の PQexec は許可されていません" 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:2702 fe-exec.c:2756 fe-exec.c:2824 fe-protocol3.c:1916 #, c-format msgid "no COPY in progress" msgstr "実行中のCOPYはありません" @@ -1034,8 +1044,8 @@ msgstr "サイズ%luの整数はpqGetIntでサポートされていません" msgid "integer of size %lu not supported by pqPutInt" msgstr "サイズ%luの整数はpqPutIntでサポートされていません" -#: fe-misc.c:750 fe-secure-openssl.c:203 fe-secure-openssl.c:309 -#: fe-secure.c:237 fe-secure.c:404 +#: fe-misc.c:765 fe-secure-openssl.c:180 fe-secure-openssl.c:286 +#: fe-secure.c:222 fe-secure.c:389 #, c-format msgid "" "server closed the connection unexpectedly\n" @@ -1046,21 +1056,21 @@ msgstr "" " おそらく要求の処理前または処理中にサーバーが異常終了\n" " したことを意味しています。" -#: fe-misc.c:817 +#: fe-misc.c:832 msgid "connection not open\n" msgstr "接続はオープンされていません\n" -#: fe-misc.c:1005 +#: fe-misc.c:1020 #, c-format msgid "timeout expired" msgstr "タイムアウト期間が過ぎました" -#: fe-misc.c:1049 +#: fe-misc.c:1064 #, c-format msgid "invalid socket" msgstr "不正なソケットです" -#: fe-misc.c:1071 +#: fe-misc.c:1086 #, c-format msgid "%s() failed: %s" msgstr "%s() が失敗しました: %s" @@ -1080,137 +1090,137 @@ msgstr "サーバーが先行の行記述(\"T\"メッセージ)なしでデー msgid "unexpected response from server; first received character was \"%c\"" msgstr "サーバーから想定外の応答がありました。受け付けた先頭文字は\"%c\"です" -#: fe-protocol3.c:467 +#: fe-protocol3.c:463 #, c-format msgid "message contents do not agree with length in message type \"%c\"" msgstr "メッセージの内容がメッセージタイプ\"%c\"での長さと合っていません" -#: fe-protocol3.c:485 +#: fe-protocol3.c:481 #, 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:533 fe-protocol3.c:573 msgid "insufficient data in \"T\" message" msgstr "\"T\"メッセージ内のデータが不十分です" -#: fe-protocol3.c:648 fe-protocol3.c:854 +#: fe-protocol3.c:644 fe-protocol3.c:850 msgid "out of memory for query result" msgstr "問い合わせ結果用のメモリが不足しています" -#: fe-protocol3.c:717 +#: fe-protocol3.c:713 msgid "insufficient data in \"t\" message" msgstr "\"t\"メッセージ内のデータが足りません" -#: fe-protocol3.c:776 fe-protocol3.c:808 fe-protocol3.c:826 +#: fe-protocol3.c:772 fe-protocol3.c:804 fe-protocol3.c:822 msgid "insufficient data in \"D\" message" msgstr "\"D\"\"メッセージ内のデータが不十分です" -#: fe-protocol3.c:782 +#: fe-protocol3.c:778 msgid "unexpected field count in \"D\" message" msgstr "\"D\"メッセージ内のフィールド数が想定外です。" -#: fe-protocol3.c:1037 +#: fe-protocol3.c:1033 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:1081 fe-protocol3.c:1100 #, c-format msgid " at character %s" msgstr "(文字位置: %s)" -#: fe-protocol3.c:1117 +#: fe-protocol3.c:1113 #, c-format msgid "DETAIL: %s\n" msgstr "DETAIL: %s\n" -#: fe-protocol3.c:1120 +#: fe-protocol3.c:1116 #, c-format msgid "HINT: %s\n" msgstr "HINT: %s\n" -#: fe-protocol3.c:1123 +#: fe-protocol3.c:1119 #, c-format msgid "QUERY: %s\n" msgstr "QUERY: %s\n" -#: fe-protocol3.c:1130 +#: fe-protocol3.c:1126 #, c-format msgid "CONTEXT: %s\n" msgstr "CONTEXT: %s\n" -#: fe-protocol3.c:1139 +#: fe-protocol3.c:1135 #, c-format msgid "SCHEMA NAME: %s\n" msgstr "SCHEMA NAME: %s\n" -#: fe-protocol3.c:1143 +#: fe-protocol3.c:1139 #, c-format msgid "TABLE NAME: %s\n" msgstr "TABLE NAME: %s\n" -#: fe-protocol3.c:1147 +#: fe-protocol3.c:1143 #, c-format msgid "COLUMN NAME: %s\n" msgstr "COLUMN NAME: %s\n" -#: fe-protocol3.c:1151 +#: fe-protocol3.c:1147 #, c-format msgid "DATATYPE NAME: %s\n" msgstr "DATATYPE NAME: %s\n" -#: fe-protocol3.c:1155 +#: fe-protocol3.c:1151 #, c-format msgid "CONSTRAINT NAME: %s\n" msgstr "CONSTRAINT NAME: %s\n" -#: fe-protocol3.c:1167 +#: fe-protocol3.c:1163 msgid "LOCATION: " msgstr "LOCATION: " -#: fe-protocol3.c:1169 +#: fe-protocol3.c:1165 #, c-format msgid "%s, " msgstr "%s, " -#: fe-protocol3.c:1171 +#: fe-protocol3.c:1167 #, c-format msgid "%s:%s" msgstr "%s:%s" -#: fe-protocol3.c:1366 +#: fe-protocol3.c:1362 #, c-format msgid "LINE %d: " msgstr "行 %d: " -#: fe-protocol3.c:1440 +#: fe-protocol3.c:1436 #, 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:1442 #, 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:1454 +#: fe-protocol3.c:1450 #, c-format msgid "invalid %s message" msgstr "不正な%sメッセージ" -#: fe-protocol3.c:1819 +#: fe-protocol3.c:1811 #, c-format msgid "PQgetline: not doing text COPY OUT" msgstr "PQgetline: テキストのCOPY OUTを行っていません" -#: fe-protocol3.c:2193 +#: fe-protocol3.c:2186 #, c-format msgid "protocol error: no function result" msgstr "プロトコルエラー: 関数の結果がありません" -#: fe-protocol3.c:2204 +#: fe-protocol3.c:2198 #, c-format msgid "protocol error: id=0x%x" msgstr "プロトコルエラー: id=0x%x" @@ -1291,92 +1301,92 @@ msgstr "GSSAPIサイズチェックエラー" msgid "GSSAPI context establishment error" msgstr "GSSAPIコンテクスト確立エラー" -#: fe-secure-openssl.c:207 fe-secure-openssl.c:313 fe-secure-openssl.c:1524 +#: fe-secure-openssl.c:184 fe-secure-openssl.c:290 fe-secure-openssl.c:1320 #, c-format msgid "SSL SYSCALL error: %s" msgstr "SSL SYSCALLエラー: %s" -#: fe-secure-openssl.c:213 fe-secure-openssl.c:319 fe-secure-openssl.c:1527 +#: fe-secure-openssl.c:190 fe-secure-openssl.c:296 fe-secure-openssl.c:1323 #, c-format msgid "SSL SYSCALL error: EOF detected" msgstr "SSL SYSCALLエラー: EOFを検出" -#: fe-secure-openssl.c:223 fe-secure-openssl.c:329 fe-secure-openssl.c:1535 +#: fe-secure-openssl.c:200 fe-secure-openssl.c:306 fe-secure-openssl.c:1331 #, c-format msgid "SSL error: %s" msgstr "SSLエラー: %s" -#: fe-secure-openssl.c:237 fe-secure-openssl.c:343 +#: fe-secure-openssl.c:214 fe-secure-openssl.c:320 #, c-format msgid "SSL connection has been closed unexpectedly" msgstr "SSL接続が意図せずにクローズされました" -#: fe-secure-openssl.c:242 fe-secure-openssl.c:348 fe-secure-openssl.c:1582 +#: fe-secure-openssl.c:219 fe-secure-openssl.c:325 fe-secure-openssl.c:1378 #, c-format msgid "unrecognized SSL error code: %d" msgstr "認識できないSSLエラーコード: %d" -#: fe-secure-openssl.c:390 +#: fe-secure-openssl.c:367 #, c-format msgid "could not determine server certificate signature algorithm" msgstr "サーバー証明書の署名アルゴリズムを特定できませんでした" -#: fe-secure-openssl.c:410 +#: fe-secure-openssl.c:387 #, c-format msgid "could not find digest for NID %s" msgstr "NID %sのダイジェストが見つかりませんでした" -#: fe-secure-openssl.c:419 +#: fe-secure-openssl.c:396 #, c-format msgid "could not generate peer certificate hash" msgstr "接続先の証明書ハッシュの生成に失敗しました" -#: fe-secure-openssl.c:501 +#: fe-secure-openssl.c:478 #, c-format msgid "SSL certificate's name entry is missing" msgstr "SSL証明書に名前のエントリがありません" -#: fe-secure-openssl.c:535 +#: fe-secure-openssl.c:508 #, c-format msgid "SSL certificate's address entry is missing" msgstr "SSL証明書のアドレスのエントリがありません" -#: fe-secure-openssl.c:935 +#: fe-secure-openssl.c:731 #, c-format msgid "could not create SSL context: %s" msgstr "SSLコンテキストを作成できませんでした: %s" -#: fe-secure-openssl.c:977 +#: fe-secure-openssl.c:773 #, c-format msgid "invalid value \"%s\" for minimum SSL protocol version" msgstr "SSLプロトコル最小バージョンに対する不正な値\"%s\"" -#: fe-secure-openssl.c:987 +#: fe-secure-openssl.c:783 #, c-format msgid "could not set minimum SSL protocol version: %s" msgstr "SSLプロトコル最小バージョンを設定できませんでした: %s" -#: fe-secure-openssl.c:1003 +#: fe-secure-openssl.c:799 #, c-format msgid "invalid value \"%s\" for maximum SSL protocol version" msgstr "SSLプロトコル最大バージョンに対する不正な値\"%s\"" -#: fe-secure-openssl.c:1013 +#: fe-secure-openssl.c:809 #, c-format msgid "could not set maximum SSL protocol version: %s" msgstr "SSLプロトコル最大バージョンを設定できませんでした: %s" -#: fe-secure-openssl.c:1051 +#: fe-secure-openssl.c:847 #, c-format msgid "could not load system root certificate paths: %s" msgstr "システムルート証明書パスをロードできませんでした: %s" -#: fe-secure-openssl.c:1068 +#: fe-secure-openssl.c:864 #, c-format msgid "could not read root certificate file \"%s\": %s" msgstr "ルート証明書ファイル\"%s\"を読み取れませんでした: %s" -#: fe-secure-openssl.c:1120 +#: fe-secure-openssl.c:916 #, c-format msgid "" "could not get home directory to locate root certificate file\n" @@ -1385,7 +1395,7 @@ msgstr "" "ルート証明書ファイルを特定するためのホームディレクトリが取得できませんでした\n" "ファイルを用意する、 sslrootcert=systemでシステムの信頼済みルート証明書を使用する、または sslmode を変更してサーバー証明書の検証を無効にしてください。" -#: fe-secure-openssl.c:1123 +#: fe-secure-openssl.c:919 #, c-format msgid "" "root certificate file \"%s\" does not exist\n" @@ -1394,127 +1404,127 @@ msgstr "" "ルート証明書ファイル\"%s\"が存在しません\n" "ファイルを用意する、sslrootcert=systemでシステムの信頼済みルート証明書を使用する、またはsslmodeを変更してサーバー証明書の検証を無効にしてください。" -#: fe-secure-openssl.c:1158 +#: fe-secure-openssl.c:954 #, c-format msgid "could not open certificate file \"%s\": %s" msgstr "証明書ファイル\"%s\"をオープンできませんでした: %s" -#: fe-secure-openssl.c:1176 +#: fe-secure-openssl.c:972 #, c-format msgid "could not read certificate file \"%s\": %s" msgstr "証明書ファイル\"%s\"を読み込めませんでした: %s" -#: fe-secure-openssl.c:1200 +#: fe-secure-openssl.c:996 #, c-format msgid "could not establish SSL connection: %s" msgstr "SSL接続を確立できませんでした: %s" -#: fe-secure-openssl.c:1232 +#: fe-secure-openssl.c:1028 #, c-format msgid "could not set SSL Server Name Indication (SNI): %s" msgstr "SSLサーバー名表示(SNI)を設定できませんでした: %s" -#: fe-secure-openssl.c:1249 +#: fe-secure-openssl.c:1045 #, c-format msgid "could not set SSL ALPN extension: %s" msgstr "SSL ALPN拡張を設定できませんでした: %s" -#: fe-secure-openssl.c:1292 +#: fe-secure-openssl.c:1088 #, c-format msgid "could not load SSL engine \"%s\": %s" msgstr "SSLエンジン\"%s\"を読み込みできませんでした: %s" -#: fe-secure-openssl.c:1303 +#: fe-secure-openssl.c:1099 #, c-format msgid "could not initialize SSL engine \"%s\": %s" msgstr "SSLエンジン\"%s\"を初期化できませんでした: %s" -#: fe-secure-openssl.c:1318 +#: fe-secure-openssl.c:1114 #, c-format msgid "could not read private SSL key \"%s\" from engine \"%s\": %s" msgstr "SSL秘密鍵\"%s\"をエンジン\"%s\"から読み取れませんでした: %s" -#: fe-secure-openssl.c:1331 +#: fe-secure-openssl.c:1127 #, c-format msgid "could not load private SSL key \"%s\" from engine \"%s\": %s" msgstr "SSL秘密鍵\"%s\"をエンジン\"%s\"から読み取れませんでした: %s" -#: fe-secure-openssl.c:1368 +#: fe-secure-openssl.c:1164 #, c-format msgid "certificate present, but not private key file \"%s\"" msgstr "証明書はありますが、秘密鍵ファイル\"%s\"はありません" -#: fe-secure-openssl.c:1371 +#: fe-secure-openssl.c:1167 #, c-format msgid "could not stat private key file \"%s\": %m" msgstr "秘密鍵ファイル\"%s\"をstatできませんでした: %m" -#: fe-secure-openssl.c:1379 +#: fe-secure-openssl.c:1175 #, c-format msgid "private key file \"%s\" is not a regular file" msgstr "秘密鍵ファイル\"%s\"は通常のファイルではありません" -#: fe-secure-openssl.c:1412 +#: fe-secure-openssl.c:1208 #, 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:1436 +#: fe-secure-openssl.c:1232 #, c-format msgid "could not load private key file \"%s\": %s" msgstr "秘密鍵ファイル\"%s\"をロードできませんでした: %s" -#: fe-secure-openssl.c:1452 +#: fe-secure-openssl.c:1248 #, c-format msgid "certificate does not match private key file \"%s\": %s" msgstr "証明書と秘密鍵ファイル\"%s\"が一致しません: %s" -#: fe-secure-openssl.c:1521 +#: fe-secure-openssl.c:1317 #, c-format msgid "SSL error: certificate verify failed: %s" msgstr "SSLエラー: 証明書の検証に失敗しました: %s" -#: fe-secure-openssl.c:1566 +#: fe-secure-openssl.c:1362 #, 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:1598 +#: fe-secure-openssl.c:1394 #, c-format msgid "direct SSL connection was established without ALPN protocol negotiation extension" msgstr "直接SSL接続がALPNプロトコルネゴシエーション拡張なしで確立されました" -#: fe-secure-openssl.c:1610 +#: fe-secure-openssl.c:1406 #, c-format msgid "SSL connection was established with unexpected ALPN protocol" msgstr "SSL接続が想定外のALPNプロトコルで確立されました" -#: fe-secure-openssl.c:1627 +#: fe-secure-openssl.c:1423 #, c-format msgid "certificate could not be obtained: %s" msgstr "証明書を取得できませんでした: %s" -#: fe-secure-openssl.c:1734 +#: fe-secure-openssl.c:1502 #, c-format msgid "no SSL error reported" msgstr "SSLエラーはありませんでした" -#: fe-secure-openssl.c:1776 +#: fe-secure-openssl.c:1545 #, c-format msgid "SSL error code %lu" msgstr "SSLエラーコード: %lu" -#: fe-secure-openssl.c:2075 +#: fe-secure-openssl.c:1847 #, c-format msgid "WARNING: sslpassword truncated\n" msgstr "警告: sslpasswordが切り詰められました\n" -#: fe-secure.c:248 +#: fe-secure.c:233 #, c-format msgid "could not receive data from server: %s" msgstr "サーバーからデータを受信できませんでした: %s" -#: fe-secure.c:419 +#: fe-secure.c:404 #, c-format msgid "could not send data to server: %s" msgstr "サーバーにデータを送信できませんでした: %s" @@ -1523,3 +1533,6 @@ msgstr "サーバーにデータを送信できませんでした: %s" #, c-format msgid "unrecognized socket error: 0x%08X/%d" msgstr "不明なソケットエラー 0x%08X/%d" + +#~ msgid "keepalives parameter must be an integer" +#~ msgstr "keepaliveのパラメータは整数でなければなりません" diff --git a/src/interfaces/libpq/po/ru.po b/src/interfaces/libpq/po/ru.po index d1032596eca..a59ae386956 100644 --- a/src/interfaces/libpq/po/ru.po +++ b/src/interfaces/libpq/po/ru.po @@ -4,14 +4,14 @@ # Serguei A. Mokhov , 2001-2004. # Oleg Bartunov , 2005. # Andrey Sudnik , 2010. -# Alexander Lakhin , 2012-2017, 2018, 2019, 2020, 2021, 2022, 2023. +# Alexander Lakhin , 2012-2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024. # 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: 2024-05-04 10:36+0300\n" -"PO-Revision-Date: 2023-08-30 15:09+0300\n" +"POT-Creation-Date: 2024-11-02 08:21+0300\n" +"PO-Revision-Date: 2024-09-07 13:49+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" @@ -21,128 +21,129 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: ../../port/thread.c:50 ../../port/thread.c:86 +#: ../../port/user.c:43 ../../port/user.c:79 #, c-format msgid "could not look up local user ID %d: %s" msgstr "найти локального пользователя по идентификатору (%d) не удалось: %s" -#: ../../port/thread.c:55 ../../port/thread.c:91 +#: ../../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:227 +#: fe-auth-scram.c:223 #, c-format msgid "malformed SCRAM message (empty message)" msgstr "неправильное сообщение SCRAM (пустое содержимое)" -#: fe-auth-scram.c:232 +#: fe-auth-scram.c:228 #, c-format msgid "malformed SCRAM message (length mismatch)" msgstr "неправильное сообщение SCRAM (некорректная длина)" -#: fe-auth-scram.c:275 +#: fe-auth-scram.c:272 #, c-format msgid "could not verify server signature: %s" msgstr "не удалось проверить сигнатуру сервера: %s" -#: fe-auth-scram.c:281 +#: fe-auth-scram.c:278 #, c-format msgid "incorrect server signature" msgstr "некорректная сигнатура сервера" -#: fe-auth-scram.c:290 +#: fe-auth-scram.c:287 #, c-format msgid "invalid SCRAM exchange state" msgstr "ошибочное состояние обмена SCRAM" -#: fe-auth-scram.c:317 +#: fe-auth-scram.c:311 #, c-format msgid "malformed SCRAM message (attribute \"%c\" expected)" msgstr "неправильное сообщение SCRAM (ожидался атрибут \"%c\")" -#: fe-auth-scram.c:326 +#: fe-auth-scram.c:320 #, c-format msgid "malformed SCRAM message (expected character \"=\" for attribute \"%c\")" msgstr "" "неправильное сообщение SCRAM (для атрибута \"%c\" ожидался символ \"=\")" -#: fe-auth-scram.c:366 +#: fe-auth-scram.c:360 #, c-format msgid "could not generate nonce" msgstr "не удалось сгенерировать разовый код" -#: fe-auth-scram.c:375 fe-auth-scram.c:448 fe-auth-scram.c:600 -#: fe-auth-scram.c:620 fe-auth-scram.c:644 fe-auth-scram.c:658 -#: fe-auth-scram.c:704 fe-auth-scram.c:740 fe-auth-scram.c:914 fe-auth.c:296 -#: fe-auth.c:369 fe-auth.c:403 fe-auth.c:618 fe-auth.c:729 fe-auth.c:1210 -#: fe-auth.c:1375 fe-connect.c:925 fe-connect.c:1759 fe-connect.c:1921 -#: fe-connect.c:3291 fe-connect.c:4496 fe-connect.c:5161 fe-connect.c:5416 -#: fe-connect.c:5534 fe-connect.c:5781 fe-connect.c:5861 fe-connect.c:5959 -#: fe-connect.c:6210 fe-connect.c:6237 fe-connect.c:6313 fe-connect.c:6336 -#: fe-connect.c:6360 fe-connect.c:6395 fe-connect.c:6481 fe-connect.c:6489 -#: fe-connect.c:6846 fe-connect.c:6996 fe-exec.c:527 fe-exec.c:1323 -#: fe-exec.c:3132 fe-exec.c:4100 fe-exec.c:4264 fe-gssapi-common.c:109 -#: fe-lobj.c:870 fe-protocol3.c:204 fe-protocol3.c:228 fe-protocol3.c:251 -#: fe-protocol3.c:268 fe-protocol3.c:348 fe-protocol3.c:715 fe-protocol3.c:954 -#: fe-protocol3.c:1765 fe-protocol3.c:2165 fe-secure-common.c:110 -#: fe-secure-gssapi.c:496 fe-secure-openssl.c:435 fe-secure-openssl.c:1271 +#: 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:159 fe-connect.c:936 fe-connect.c:976 +#: fe-connect.c:1860 fe-connect.c:2022 fe-connect.c:3430 fe-connect.c:4775 +#: fe-connect.c:5087 fe-connect.c:5342 fe-connect.c:5460 fe-connect.c:5707 +#: fe-connect.c:5787 fe-connect.c:5885 fe-connect.c:6136 fe-connect.c:6163 +#: fe-connect.c:6239 fe-connect.c:6262 fe-connect.c:6286 fe-connect.c:6321 +#: fe-connect.c:6407 fe-connect.c:6415 fe-connect.c:6772 fe-connect.c:6922 +#: fe-exec.c:530 fe-exec.c:1315 fe-exec.c:3254 fe-exec.c:4234 fe-exec.c:4398 +#: 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 #, c-format msgid "out of memory" msgstr "нехватка памяти" -#: fe-auth-scram.c:382 +#: fe-auth-scram.c:376 #, c-format msgid "could not encode nonce" msgstr "не удалось оформить разовый код" -#: fe-auth-scram.c:570 +#: fe-auth-scram.c:564 #, c-format msgid "could not calculate client proof: %s" msgstr "не удалось вычислить подтверждение клиента: %s" -#: fe-auth-scram.c:585 +#: fe-auth-scram.c:579 #, c-format msgid "could not encode client proof" msgstr "не удалось закодировать подтверждение клиента" -#: fe-auth-scram.c:637 +#: fe-auth-scram.c:631 #, c-format msgid "invalid SCRAM response (nonce mismatch)" msgstr "неверный ответ SCRAM (несовпадение разового кода)" -#: fe-auth-scram.c:667 +#: fe-auth-scram.c:661 #, c-format msgid "malformed SCRAM message (invalid salt)" msgstr "неправильное сообщение SCRAM (некорректная соль)" -#: fe-auth-scram.c:680 +#: fe-auth-scram.c:674 #, c-format msgid "malformed SCRAM message (invalid iteration count)" msgstr "неправильное сообщение SCRAM (некорректное число итераций)" -#: fe-auth-scram.c:685 +#: fe-auth-scram.c:679 #, c-format msgid "malformed SCRAM message (garbage at end of server-first-message)" msgstr "неправильное сообщение SCRAM (мусор в конце первого сообщения сервера)" -#: fe-auth-scram.c:719 +#: fe-auth-scram.c:713 #, c-format msgid "error received from server in SCRAM exchange: %s" msgstr "в ходе обмена SCRAM от сервера получена ошибка: %s" -#: fe-auth-scram.c:734 +#: fe-auth-scram.c:728 #, c-format msgid "malformed SCRAM message (garbage at end of server-final-message)" msgstr "" "неправильное сообщение SCRAM (мусор в конце последнего сообщения сервера)" -#: fe-auth-scram.c:751 +#: fe-auth-scram.c:745 #, c-format msgid "malformed SCRAM message (invalid server signature)" msgstr "неправильное сообщение SCRAM (неверная сигнатура сервера)" -#: fe-auth-scram.c:923 +#: fe-auth-scram.c:917 msgid "could not generate random salt" msgstr "не удалось сгенерировать случайную соль" @@ -184,22 +185,22 @@ msgstr "повторный запрос аутентификации SSPI" msgid "could not acquire SSPI credentials" msgstr "не удалось получить удостоверение SSPI" -#: fe-auth.c:437 +#: fe-auth.c:436 #, c-format msgid "channel binding required, but SSL not in use" msgstr "требуется привязка каналов, но SSL не используется" -#: fe-auth.c:443 +#: fe-auth.c:442 #, c-format msgid "duplicate SASL authentication request" msgstr "повторный запрос аутентификации SASL" -#: fe-auth.c:501 +#: fe-auth.c:500 #, c-format msgid "channel binding is required, but client does not support it" msgstr "требуется привязка каналов, но клиент её не поддерживает" -#: fe-auth.c:517 +#: fe-auth.c:516 #, c-format msgid "" "server offered SCRAM-SHA-256-PLUS authentication over a non-SSL connection" @@ -221,12 +222,12 @@ msgstr "" "требуется привязка каналов, но сервер не предложил поддерживающий её метод " "аутентификации" -#: fe-auth.c:641 +#: fe-auth.c:640 #, c-format msgid "out of memory allocating SASL buffer (%d)" msgstr "недостаточно памяти для буфера SASL (%d)" -#: fe-auth.c:665 +#: fe-auth.c:663 #, c-format msgid "" "AuthenticationSASLFinal received from server, but SASL authentication was " @@ -235,60 +236,60 @@ msgstr "" "c сервера получено сообщение AuthenticationSASLFinal, но аутентификация SASL " "ещё не завершена" -#: fe-auth.c:675 +#: fe-auth.c:673 #, c-format msgid "no client response found after SASL exchange success" msgstr "после успешного обмена по протоколу SASL не получен ответ клиента" -#: fe-auth.c:738 fe-auth.c:745 fe-auth.c:1358 fe-auth.c:1369 +#: 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:773 +#: fe-auth.c:772 msgid "server requested a cleartext password" msgstr "сервер запросил незашифрованный пароль" -#: fe-auth.c:775 +#: fe-auth.c:774 msgid "server requested a hashed password" msgstr "сервер запросил хешированный пароль" -#: fe-auth.c:778 +#: fe-auth.c:777 msgid "server requested GSSAPI authentication" msgstr "сервер запросил аутентификацию GSSAPI" -#: fe-auth.c:780 +#: fe-auth.c:779 msgid "server requested SSPI authentication" msgstr "сервер запросил аутентификацию SSPI" -#: fe-auth.c:784 +#: fe-auth.c:783 msgid "server requested SASL authentication" msgstr "сервер запросил аутентификацию SASL" -#: fe-auth.c:787 +#: fe-auth.c:786 msgid "server requested an unknown authentication type" msgstr "сервер запросил аутентификацию неизвестного типа" -#: fe-auth.c:820 +#: fe-auth.c:819 #, c-format msgid "server did not request an SSL certificate" msgstr "сервер не запросил сертификат SSL" -#: fe-auth.c:825 +#: fe-auth.c:824 #, c-format msgid "server accepted connection without a valid SSL certificate" msgstr "сервер принял подключение, не проверив сертификат SSL" -#: fe-auth.c:879 +#: fe-auth.c:878 msgid "server did not complete authentication" msgstr "сервер не завершил аутентификацию" -#: fe-auth.c:913 +#: fe-auth.c:912 #, c-format msgid "authentication method requirement \"%s\" failed: %s" msgstr "требование метода аутентификации \"%s\" не выполнено: %s" -#: fe-auth.c:936 +#: fe-auth.c:935 #, c-format msgid "" "channel binding required, but server authenticated client without channel " @@ -296,7 +297,7 @@ msgid "" msgstr "" "требуется привязка каналов, но сервер аутентифицировал клиента без привязки" -#: fe-auth.c:941 +#: fe-auth.c:940 #, c-format msgid "" "channel binding required but not supported by server's authentication request" @@ -304,67 +305,87 @@ msgstr "" "требуется привязка каналов, но она не поддерживается при том запросе " "аутентификации, который передал сервер" -#: fe-auth.c:975 +#: fe-auth.c:974 #, c-format msgid "Kerberos 4 authentication not supported" msgstr "аутентификация Kerberos 4 не поддерживается" -#: fe-auth.c:979 +#: fe-auth.c:978 #, c-format msgid "Kerberos 5 authentication not supported" msgstr "аутентификация Kerberos 5 не поддерживается" -#: fe-auth.c:1049 +#: fe-auth.c:1048 #, c-format msgid "GSSAPI authentication not supported" msgstr "аутентификация через GSSAPI не поддерживается" -#: fe-auth.c:1080 +#: fe-auth.c:1079 #, c-format msgid "SSPI authentication not supported" msgstr "аутентификация через SSPI не поддерживается" -#: fe-auth.c:1087 +#: fe-auth.c:1086 #, c-format msgid "Crypt authentication not supported" msgstr "аутентификация Crypt не поддерживается" -#: fe-auth.c:1151 +#: fe-auth.c:1150 #, c-format msgid "authentication method %u not supported" msgstr "метод аутентификации %u не поддерживается" -#: fe-auth.c:1197 +#: fe-auth.c:1187 #, c-format msgid "user name lookup failure: error code %lu" msgstr "распознать имя пользователя не удалось (код ошибки: %lu)" -#: fe-auth.c:1321 +#: fe-auth.c:1309 #, c-format msgid "unexpected shape of result set returned for SHOW" msgstr "неожиданная форма набора результатов, возвращённого для SHOW" -#: fe-auth.c:1329 +#: fe-auth.c:1317 #, c-format -msgid "password_encryption value too long" -msgstr "слишком длинное значение password_encryption" +msgid "\"password_encryption\" value too long" +msgstr "слишком длинное значение \"password_encryption\"" -#: fe-auth.c:1379 +#: fe-auth.c:1367 #, c-format msgid "unrecognized password encryption algorithm \"%s\"" msgstr "нераспознанный алгоритм шифрования пароля \"%s\"" -#: fe-connect.c:1132 +#: fe-cancel.c:76 +#, c-format +msgid "connection pointer is NULL" +msgstr "нулевой указатель соединения" + +#: fe-cancel.c:82 fe-misc.c:572 +#, c-format +msgid "connection not open" +msgstr "соединение не открыто" + +#: fe-cancel.c:193 +#, c-format +msgid "cancel request is already being sent on this connection" +msgstr "через это соединение уже передаётся запрос отмены" + +#: fe-cancel.c:263 +#, c-format +msgid "unexpected response from server" +msgstr "неожиданный ответ сервера" + +#: fe-connect.c:1182 #, c-format msgid "could not match %d host names to %d hostaddr values" msgstr "не удалось сопоставить имена узлов (%d) со значениями hostaddr (%d)" -#: fe-connect.c:1212 +#: fe-connect.c:1262 #, c-format msgid "could not match %d port numbers to %d hosts" msgstr "не удалось сопоставить номера портов (%d) с узлами (%d)" -#: fe-connect.c:1337 +#: fe-connect.c:1387 #, c-format msgid "" "negative require_auth method \"%s\" cannot be mixed with non-negative methods" @@ -372,30 +393,38 @@ msgstr "" "отрицательный метод require_auth \"%s\" не может совмещаться с " "неотрицательными методами" -#: fe-connect.c:1350 +#: fe-connect.c:1400 #, c-format msgid "require_auth method \"%s\" cannot be mixed with negative methods" msgstr "" "метод require_auth \"%s\" не может совмещаться с отрицательными методами" -#: fe-connect.c:1410 fe-connect.c:1461 fe-connect.c:1503 fe-connect.c:1559 -#: fe-connect.c:1567 fe-connect.c:1598 fe-connect.c:1644 fe-connect.c:1684 -#: fe-connect.c:1705 +#: 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 #, c-format msgid "invalid %s value: \"%s\"" msgstr "неверное значение %s: \"%s\"" -#: fe-connect.c:1443 +#: fe-connect.c:1493 #, c-format msgid "require_auth method \"%s\" is specified more than once" msgstr "метод require_auth \"%s\" указан неоднократно" -#: fe-connect.c:1484 fe-connect.c:1523 fe-connect.c:1606 +#: fe-connect.c:1534 fe-connect.c:1573 fe-connect.c:1605 fe-connect.c:1707 #, c-format msgid "%s value \"%s\" invalid when SSL support is not compiled in" msgstr "значение %s \"%s\" недопустимо для сборки без поддержки SSL" -#: fe-connect.c:1546 +#: fe-connect.c:1625 +#, 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 #, c-format msgid "" "weak sslmode \"%s\" may not be used with sslrootcert=system (use \"verify-" @@ -404,42 +433,47 @@ msgstr "" "слабый режим sslmode \"%s\" не может использоваться с sslrootcert=system " "(используйте режим \"verify-full\")" -#: fe-connect.c:1584 +#: fe-connect.c:1660 fe-connect.c:1668 +#, c-format +msgid "invalid \"%s\" value: \"%s\"" +msgstr "неверное значение \"%s\": \"%s\"" + +#: fe-connect.c:1685 #, c-format msgid "invalid SSL protocol version range" msgstr "неверный диапазон версий протокола SSL" -#: fe-connect.c:1621 +#: fe-connect.c:1722 #, c-format msgid "%s value \"%s\" is not supported (check OpenSSL version)" msgstr "значение %s \"%s\" не поддерживается (проверьте версию OpenSSL)" -#: fe-connect.c:1651 +#: fe-connect.c:1752 #, c-format msgid "gssencmode value \"%s\" invalid when GSSAPI support is not compiled in" msgstr "значение gssencmode \"%s\" недопустимо для сборки без поддержки GSSAPI" -#: fe-connect.c:1944 +#: fe-connect.c:2045 #, c-format msgid "could not set socket to TCP no delay mode: %s" msgstr "не удалось перевести сокет в режим TCP-передачи без задержки: %s" -#: fe-connect.c:2003 +#: fe-connect.c:2104 #, c-format msgid "connection to server on socket \"%s\" failed: " msgstr "подключиться к серверу через сокет \"%s\" не удалось: " -#: fe-connect.c:2029 +#: fe-connect.c:2130 #, c-format msgid "connection to server at \"%s\" (%s), port %s failed: " msgstr "подключиться к серверу \"%s\" (%s), порту %s не удалось: " -#: fe-connect.c:2034 +#: fe-connect.c:2135 #, c-format msgid "connection to server at \"%s\", port %s failed: " msgstr "подключиться к серверу \"%s\", порту %s не удалось: " -#: fe-connect.c:2057 +#: fe-connect.c:2158 #, c-format msgid "" "\tIs the server running locally and accepting connections on that socket?" @@ -447,310 +481,304 @@ msgstr "" "\tСервер действительно работает локально и принимает подключения через этот " "сокет?" -#: fe-connect.c:2059 +#: fe-connect.c:2160 #, c-format msgid "\tIs the server running on that host and accepting TCP/IP connections?" msgstr "" "\tСервер действительно работает по данному адресу и принимает TCP-соединения?" -#: fe-connect.c:2122 -#, c-format -msgid "invalid integer value \"%s\" for connection option \"%s\"" -msgstr "неверное целочисленное значение \"%s\" для параметра соединения \"%s\"" - -#: fe-connect.c:2151 fe-connect.c:2185 fe-connect.c:2220 fe-connect.c:2318 -#: fe-connect.c:2973 +#: fe-connect.c:2206 fe-connect.c:2240 fe-connect.c:2275 fe-connect.c:2373 +#: fe-connect.c:3098 #, c-format msgid "%s(%s) failed: %s" msgstr "ошибка в %s(%s): %s" -#: fe-connect.c:2284 +#: fe-connect.c:2339 #, c-format msgid "%s(%s) failed: error code %d" msgstr "ошибка в %s(%s): код ошибки %d" -#: fe-connect.c:2597 +#: fe-connect.c:2650 #, c-format msgid "invalid connection state, probably indicative of memory corruption" msgstr "неверное состояние соединения - возможно разрушение памяти" -#: fe-connect.c:2676 +#: fe-connect.c:2733 #, c-format msgid "invalid port number: \"%s\"" msgstr "неверный номер порта: \"%s\"" -#: fe-connect.c:2690 +#: fe-connect.c:2747 #, c-format msgid "could not translate host name \"%s\" to address: %s" msgstr "преобразовать имя \"%s\" в адрес не удалось: %s" -#: fe-connect.c:2702 +#: fe-connect.c:2759 #, c-format msgid "could not parse network address \"%s\": %s" msgstr "не удалось разобрать сетевой адрес \"%s\": %s" -#: fe-connect.c:2713 +#: fe-connect.c:2770 #, c-format msgid "Unix-domain socket path \"%s\" is too long (maximum %d bytes)" msgstr "длина пути Unix-сокета \"%s\" превышает предел (%d байт)" -#: fe-connect.c:2727 +#: fe-connect.c:2784 #, c-format msgid "could not translate Unix-domain socket path \"%s\" to address: %s" msgstr "преобразовать путь Unix-сокета \"%s\" в адрес не удалось: %s" -#: fe-connect.c:2901 +#: fe-connect.c:2950 fe-connect.c:4319 +#, c-format +msgid "GSSAPI encryption required but it is not supported over a local socket" +msgstr "" +"затребовано шифрование GSSAPI, но оно не поддерживается для локального сокета" + +#: fe-connect.c:2958 fe-connect.c:4448 +#, c-format +msgid "GSSAPI encryption required but no credential cache" +msgstr "шифрование GSSAPI затребовано в отсутствие кеша учётных данных" + +#: fe-connect.c:3026 #, c-format msgid "could not create socket: %s" msgstr "не удалось создать сокет: %s" -#: fe-connect.c:2932 +#: fe-connect.c:3057 #, c-format msgid "could not set socket to nonblocking mode: %s" msgstr "не удалось перевести сокет в неблокирующий режим: %s" -#: fe-connect.c:2943 +#: fe-connect.c:3068 #, c-format msgid "could not set socket to close-on-exec mode: %s" msgstr "" "не удалось перевести сокет в режим закрытия при выполнении (close-on-exec): " "%s" -#: fe-connect.c:2961 -#, c-format -msgid "keepalives parameter must be an integer" -msgstr "параметр keepalives должен быть целым числом" - -#: fe-connect.c:3100 +#: fe-connect.c:3225 #, c-format msgid "could not get socket error status: %s" msgstr "не удалось получить статус ошибки сокета: %s" -#: fe-connect.c:3127 +#: fe-connect.c:3252 #, c-format msgid "could not get client address from socket: %s" msgstr "не удалось получить адрес клиента из сокета: %s" -#: fe-connect.c:3165 +#: fe-connect.c:3278 #, c-format msgid "requirepeer parameter is not supported on this platform" msgstr "параметр requirepeer не поддерживается в этой ОС" -#: fe-connect.c:3167 +#: fe-connect.c:3280 #, c-format msgid "could not get peer credentials: %s" msgstr "не удалось получить учётные данные сервера: %s" -#: fe-connect.c:3180 +#: fe-connect.c:3293 #, c-format msgid "requirepeer specifies \"%s\", but actual peer user name is \"%s\"" msgstr "" "requirepeer допускает подключение только к \"%s\", но сервер работает под " "именем \"%s\"" -#: fe-connect.c:3221 +#: fe-connect.c:3331 #, c-format msgid "could not send GSSAPI negotiation packet: %s" msgstr "не удалось отправить пакет согласования GSSAPI: %s" -#: fe-connect.c:3233 -#, c-format -msgid "" -"GSSAPI encryption required but was impossible (possibly no credential cache, " -"no server support, or using a local socket)" -msgstr "" -"затребовано шифрование GSSAPI, но это требование невыполнимо (возможно, " -"отсутствует кеш учётных данных, нет поддержки на сервере или используется " -"локальный сокет)" - -#: fe-connect.c:3274 +#: fe-connect.c:3380 #, c-format msgid "could not send SSL negotiation packet: %s" msgstr "не удалось отправить пакет согласования SSL: %s" -#: fe-connect.c:3303 +#: fe-connect.c:3412 +#, c-format +msgid "could not send cancel packet: %s" +msgstr "не удалось отправить пакет отмены: %s" + +#: fe-connect.c:3442 #, c-format msgid "could not send startup packet: %s" msgstr "не удалось отправить стартовый пакет: %s" -#: fe-connect.c:3378 -#, c-format +#: fe-connect.c:3509 msgid "server does not support SSL, but SSL was required" msgstr "затребовано подключение через SSL, но сервер не поддерживает SSL" -#: fe-connect.c:3404 +#: fe-connect.c:3534 #, c-format msgid "received invalid response to SSL negotiation: %c" msgstr "получен неверный ответ при согласовании SSL: %c" -#: fe-connect.c:3424 +#: fe-connect.c:3562 #, c-format msgid "received unencrypted data after SSL response" msgstr "после ответа SSL получены незашифрованные данные" -#: fe-connect.c:3504 -#, c-format +#: fe-connect.c:3643 msgid "server doesn't support GSSAPI encryption, but it was required" msgstr "затребовано шифрование GSSAPI, но сервер его не поддерживает" -#: fe-connect.c:3515 +#: fe-connect.c:3647 #, c-format msgid "received invalid response to GSSAPI negotiation: %c" msgstr "получен неверный ответ при согласовании GSSAPI: %c" -#: fe-connect.c:3533 +#: fe-connect.c:3665 #, c-format msgid "received unencrypted data after GSSAPI encryption response" msgstr "" "после ответа на запрос шифрования GSSAPI получены незашифрованные данные" -#: fe-connect.c:3598 +#: fe-connect.c:3725 #, c-format msgid "expected authentication request from server, but received %c" msgstr "ожидался запрос аутентификации от сервера, но получено: %c" -#: fe-connect.c:3625 fe-connect.c:3794 +#: fe-connect.c:3753 fe-connect.c:3876 #, c-format msgid "received invalid authentication request" msgstr "получен некорректный запрос аутентификации" -#: fe-connect.c:3630 fe-connect.c:3779 +#: fe-connect.c:3759 fe-connect.c:3861 #, c-format msgid "received invalid protocol negotiation message" msgstr "получено некорректное сообщение согласования протокола" -#: fe-connect.c:3648 fe-connect.c:3702 +#: fe-connect.c:3778 fe-connect.c:3832 #, c-format msgid "received invalid error message" msgstr "получено некорректное сообщение об ошибке" -#: fe-connect.c:3865 +#: fe-connect.c:3947 #, c-format msgid "unexpected message from server during startup" msgstr "неожиданное сообщение от сервера в начале работы" -#: fe-connect.c:3956 +#: fe-connect.c:4038 #, c-format msgid "session is read-only" msgstr "сеанс не допускает запись" -#: fe-connect.c:3958 +#: fe-connect.c:4040 #, c-format msgid "session is not read-only" msgstr "сеанс допускает запись" -#: fe-connect.c:4011 +#: fe-connect.c:4093 #, c-format msgid "server is in hot standby mode" msgstr "сервер работает в режиме горячего резерва" -#: fe-connect.c:4013 +#: fe-connect.c:4095 #, c-format msgid "server is not in hot standby mode" msgstr "сервер работает не в режиме горячего резерва" -#: fe-connect.c:4129 fe-connect.c:4179 +#: fe-connect.c:4217 fe-connect.c:4267 #, c-format msgid "\"%s\" failed" msgstr "выполнить \"%s\" не удалось" -#: fe-connect.c:4193 +#: fe-connect.c:4281 #, c-format msgid "invalid connection state %d, probably indicative of memory corruption" msgstr "неверное состояние соединения %d - возможно разрушение памяти" -#: fe-connect.c:5174 +#: fe-connect.c:5100 #, c-format msgid "invalid LDAP URL \"%s\": scheme must be ldap://" msgstr "некорректный адрес LDAP \"%s\": схема должна быть ldap://" -#: fe-connect.c:5189 +#: fe-connect.c:5115 #, c-format msgid "invalid LDAP URL \"%s\": missing distinguished name" msgstr "некорректный адрес LDAP \"%s\": отсутствует уникальное имя" -#: fe-connect.c:5201 fe-connect.c:5259 +#: fe-connect.c:5127 fe-connect.c:5185 #, c-format msgid "invalid LDAP URL \"%s\": must have exactly one attribute" msgstr "некорректный адрес LDAP \"%s\": должен быть только один атрибут" -#: fe-connect.c:5213 fe-connect.c:5275 +#: fe-connect.c:5139 fe-connect.c:5201 #, c-format msgid "invalid LDAP URL \"%s\": must have search scope (base/one/sub)" msgstr "" "некорректный адрес LDAP \"%s\": не указана область поиска (base/one/sub)" -#: fe-connect.c:5225 +#: fe-connect.c:5151 #, c-format msgid "invalid LDAP URL \"%s\": no filter" msgstr "некорректный адрес LDAP \"%s\": нет фильтра" -#: fe-connect.c:5247 +#: fe-connect.c:5173 #, c-format msgid "invalid LDAP URL \"%s\": invalid port number" msgstr "некорректный адрес LDAP \"%s\": неверный номер порта" -#: fe-connect.c:5284 +#: fe-connect.c:5210 #, c-format msgid "could not create LDAP structure" msgstr "не удалось создать структуру LDAP" -#: fe-connect.c:5359 +#: fe-connect.c:5285 #, c-format msgid "lookup on LDAP server failed: %s" msgstr "ошибка поиска на сервере LDAP: %s" -#: fe-connect.c:5369 +#: fe-connect.c:5295 #, c-format msgid "more than one entry found on LDAP lookup" msgstr "при поиске LDAP найдено более одного вхождения" -#: fe-connect.c:5371 fe-connect.c:5382 +#: fe-connect.c:5297 fe-connect.c:5308 #, c-format msgid "no entry found on LDAP lookup" msgstr "при поиске LDAP ничего не найдено" -#: fe-connect.c:5392 fe-connect.c:5404 +#: fe-connect.c:5318 fe-connect.c:5330 #, c-format msgid "attribute has no values on LDAP lookup" msgstr "атрибут не содержит значений при поиске LDAP" -#: fe-connect.c:5455 fe-connect.c:5474 fe-connect.c:5998 +#: fe-connect.c:5381 fe-connect.c:5400 fe-connect.c:5924 #, c-format msgid "missing \"=\" after \"%s\" in connection info string" msgstr "в строке соединения нет \"=\" после \"%s\"" -#: fe-connect.c:5545 fe-connect.c:6181 fe-connect.c:6979 +#: fe-connect.c:5471 fe-connect.c:6107 fe-connect.c:6905 #, c-format msgid "invalid connection option \"%s\"" msgstr "неверный параметр соединения \"%s\"" -#: fe-connect.c:5560 fe-connect.c:6046 +#: fe-connect.c:5486 fe-connect.c:5972 #, c-format msgid "unterminated quoted string in connection info string" msgstr "в строке соединения не хватает закрывающей кавычки" -#: fe-connect.c:5640 +#: fe-connect.c:5566 #, c-format msgid "definition of service \"%s\" not found" msgstr "определение службы \"%s\" не найдено" -#: fe-connect.c:5666 +#: fe-connect.c:5592 #, c-format msgid "service file \"%s\" not found" msgstr "файл определений служб \"%s\" не найден" -#: fe-connect.c:5679 +#: fe-connect.c:5605 #, c-format msgid "line %d too long in service file \"%s\"" msgstr "слишком длинная строка (%d) в файле определений служб \"%s\"" -#: fe-connect.c:5750 fe-connect.c:5793 +#: fe-connect.c:5676 fe-connect.c:5719 #, c-format msgid "syntax error in service file \"%s\", line %d" msgstr "синтаксическая ошибка в файле определения служб \"%s\" (строка %d)" -#: fe-connect.c:5761 +#: fe-connect.c:5687 #, c-format msgid "" "nested service specifications not supported in service file \"%s\", line %d" @@ -758,24 +786,24 @@ msgstr "" "рекурсивные определения служб не поддерживаются (файл определения служб " "\"%s\", строка %d)" -#: fe-connect.c:6500 +#: fe-connect.c:6426 #, c-format msgid "invalid URI propagated to internal parser routine: \"%s\"" msgstr "во внутреннюю процедуру разбора строки передан ошибочный URI: \"%s\"" -#: fe-connect.c:6577 +#: fe-connect.c:6503 #, 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:6584 +#: fe-connect.c:6510 #, c-format msgid "IPv6 host address may not be empty in URI: \"%s\"" msgstr "IPv6, содержащийся в URI, не может быть пустым: \"%s\"" -#: fe-connect.c:6599 +#: fe-connect.c:6525 #, c-format msgid "" "unexpected character \"%c\" at position %d in URI (expected \":\" or \"/\"): " @@ -784,46 +812,46 @@ msgstr "" "неожиданный символ \"%c\" в позиции %d в URI (ожидалось \":\" или \"/\"): " "\"%s\"" -#: fe-connect.c:6728 +#: fe-connect.c:6654 #, c-format msgid "extra key/value separator \"=\" in URI query parameter: \"%s\"" msgstr "лишний разделитель ключа/значения \"=\" в параметрах URI: \"%s\"" -#: fe-connect.c:6748 +#: fe-connect.c:6674 #, c-format msgid "missing key/value separator \"=\" in URI query parameter: \"%s\"" msgstr "в параметрах URI не хватает разделителя ключа/значения \"=\": \"%s\"" -#: fe-connect.c:6800 +#: fe-connect.c:6726 #, c-format msgid "invalid URI query parameter: \"%s\"" msgstr "неверный параметр в URI: \"%s\"" -#: fe-connect.c:6874 +#: fe-connect.c:6800 #, c-format msgid "invalid percent-encoded token: \"%s\"" msgstr "неверный символ, закодированный с %%: \"%s\"" -#: fe-connect.c:6884 +#: fe-connect.c:6810 #, c-format msgid "forbidden value %%00 in percent-encoded value: \"%s\"" msgstr "недопустимое значение %%00 для символа, закодированного с %%: \"%s\"" -#: fe-connect.c:7248 +#: fe-connect.c:7174 msgid "connection pointer is NULL\n" msgstr "нулевой указатель соединения\n" -#: fe-connect.c:7256 fe-exec.c:710 fe-exec.c:972 fe-exec.c:3321 -#: fe-protocol3.c:969 fe-protocol3.c:1002 +#: fe-connect.c:7182 fe-exec.c:713 fe-exec.c:975 fe-exec.c:3459 +#: fe-protocol3.c:991 fe-protocol3.c:1024 msgid "out of memory\n" msgstr "нехватка памяти\n" -#: fe-connect.c:7547 +#: fe-connect.c:7473 #, c-format msgid "WARNING: password file \"%s\" is not a plain file\n" msgstr "ПРЕДУПРЕЖДЕНИЕ: файл паролей \"%s\" - не обычный файл\n" -#: fe-connect.c:7556 +#: fe-connect.c:7482 #, c-format msgid "" "WARNING: password file \"%s\" has group or world access; permissions should " @@ -832,163 +860,173 @@ msgstr "" "ПРЕДУПРЕЖДЕНИЕ: к файлу паролей \"%s\" имеют доступ все или группа; права " "должны быть u=rw (0600) или более ограниченные\n" -#: fe-connect.c:7663 +#: fe-connect.c:7589 #, c-format msgid "password retrieved from file \"%s\"" msgstr "пароль получен из файла \"%s\"" -#: fe-exec.c:466 fe-exec.c:3395 +#: fe-connect.c:7741 +#, c-format +msgid "invalid integer value \"%s\" for connection option \"%s\"" +msgstr "неверное целочисленное значение \"%s\" для параметра соединения \"%s\"" + +#: fe-exec.c:469 fe-exec.c:3533 #, c-format msgid "row number %d is out of range 0..%d" msgstr "номер записи %d вне диапазона 0..%d" -#: fe-exec.c:528 fe-protocol3.c:1971 +#: fe-exec.c:531 fe-protocol3.c:1993 #, c-format msgid "%s" msgstr "%s" -#: fe-exec.c:831 +#: fe-exec.c:834 #, c-format msgid "write to server failed" msgstr "ошибка при передаче данных серверу" -#: fe-exec.c:871 +#: fe-exec.c:874 #, c-format msgid "no error text available" msgstr "текст ошибки отсутствует" -#: fe-exec.c:960 +#: fe-exec.c:963 msgid "NOTICE" msgstr "ЗАМЕЧАНИЕ" -#: fe-exec.c:1018 +#: fe-exec.c:1021 msgid "PGresult cannot support more than INT_MAX tuples" msgstr "PGresult не может вместить больше чем INT_MAX кортежей" -#: fe-exec.c:1030 +#: fe-exec.c:1033 msgid "size_t overflow" msgstr "переполнение size_t" -#: fe-exec.c:1446 fe-exec.c:1515 fe-exec.c:1561 +#: fe-exec.c:1438 fe-exec.c:1507 fe-exec.c:1553 #, c-format msgid "command string is a null pointer" msgstr "указатель на командную строку нулевой" -#: fe-exec.c:1452 fe-exec.c:2883 +#: fe-exec.c:1444 fe-exec.c:3003 #, c-format msgid "%s not allowed in pipeline mode" msgstr "%s не допускается в конвейерном режиме" -#: fe-exec.c:1520 fe-exec.c:1566 fe-exec.c:1660 +#: fe-exec.c:1512 fe-exec.c:1558 fe-exec.c:1652 #, c-format msgid "number of parameters must be between 0 and %d" msgstr "число параметров должно быть от 0 до %d" -#: fe-exec.c:1556 fe-exec.c:1655 +#: fe-exec.c:1548 fe-exec.c:1647 #, c-format msgid "statement name is a null pointer" msgstr "указатель на имя оператора нулевой" -#: fe-exec.c:1697 fe-exec.c:3241 +#: fe-exec.c:1689 fe-exec.c:3379 #, c-format msgid "no connection to the server" msgstr "нет соединения с сервером" -#: fe-exec.c:1705 fe-exec.c:3249 +#: fe-exec.c:1697 fe-exec.c:3387 #, c-format msgid "another command is already in progress" msgstr "уже выполняется другая команда" -#: fe-exec.c:1735 +#: fe-exec.c:1727 #, c-format msgid "cannot queue commands during COPY" msgstr "во время COPY нельзя добавлять команды в очередь" -#: fe-exec.c:1852 +#: fe-exec.c:1846 #, c-format msgid "length must be given for binary parameter" msgstr "для двоичного параметра должна быть указана длина" -#: fe-exec.c:2166 +#: fe-exec.c:2205 #, c-format msgid "unexpected asyncStatus: %d" msgstr "неожиданный asyncStatus: %d" -#: fe-exec.c:2322 +#: fe-exec.c:2361 #, c-format msgid "" "synchronous command execution functions are not allowed in pipeline mode" msgstr "" "функции синхронного выполнения команд не допускаются в конвейерном режиме" -#: fe-exec.c:2339 +#: fe-exec.c:2378 msgid "COPY terminated by new PQexec" msgstr "операция COPY прервана вызовом PQexec" -#: fe-exec.c:2355 +#: fe-exec.c:2394 #, c-format msgid "PQexec not allowed during COPY BOTH" msgstr "вызов PQexec не допускается в процессе COPY BOTH" -#: fe-exec.c:2581 fe-exec.c:2636 fe-exec.c:2704 fe-protocol3.c:1902 +#: fe-exec.c:2630 +#, 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 #, c-format msgid "no COPY in progress" msgstr "операция COPY не выполняется" -#: fe-exec.c:2890 +#: fe-exec.c:3010 #, c-format msgid "connection in wrong state" msgstr "соединение в неправильном состоянии" -#: fe-exec.c:2933 +#: fe-exec.c:3053 #, c-format msgid "cannot enter pipeline mode, connection not idle" msgstr "перейти в конвейерный режиме нельзя, соединение не простаивает" -#: fe-exec.c:2969 fe-exec.c:2990 +#: fe-exec.c:3089 fe-exec.c:3110 #, c-format msgid "cannot exit pipeline mode with uncollected results" msgstr "выйти из конвейерного режима нельзя, не собрав все результаты" -#: fe-exec.c:2973 +#: fe-exec.c:3093 #, c-format msgid "cannot exit pipeline mode while busy" msgstr "выйти из конвейерного режима в занятом состоянии нельзя" -#: fe-exec.c:2984 +#: fe-exec.c:3104 #, c-format msgid "cannot exit pipeline mode while in COPY" msgstr "выйти из конвейерного режима во время COPY нельзя" -#: fe-exec.c:3175 +#: fe-exec.c:3303 #, c-format msgid "cannot send pipeline when not in pipeline mode" msgstr "отправить конвейер, не перейдя в конвейерный режим, нельзя" -#: fe-exec.c:3284 +#: fe-exec.c:3422 msgid "invalid ExecStatusType code" msgstr "неверный код ExecStatusType" -#: fe-exec.c:3311 +#: fe-exec.c:3449 msgid "PGresult is not an error result\n" msgstr "В PGresult не передан результат ошибки\n" -#: fe-exec.c:3379 fe-exec.c:3402 +#: fe-exec.c:3517 fe-exec.c:3540 #, c-format msgid "column number %d is out of range 0..%d" msgstr "номер столбца %d вне диапазона 0..%d" -#: fe-exec.c:3417 +#: fe-exec.c:3555 #, c-format msgid "parameter number %d is out of range 0..%d" msgstr "номер параметра %d вне диапазона 0..%d" -#: fe-exec.c:3728 +#: fe-exec.c:3866 #, c-format msgid "could not interpret result from server: %s" msgstr "не удалось интерпретировать ответ сервера: %s" -#: fe-exec.c:3993 fe-exec.c:4083 +#: fe-exec.c:4127 fe-exec.c:4217 #, c-format msgid "incomplete multibyte character" msgstr "неполный многобайтный символ" @@ -1039,23 +1077,18 @@ msgstr "не удалось записать файл \"%s\": %s" msgid "query to initialize large object functions did not return data" msgstr "запрос инициализации функций для больших объектов не вернул данные" -#: fe-misc.c:240 +#: fe-misc.c:239 #, c-format msgid "integer of size %lu not supported by pqGetInt" msgstr "функция pqGetInt не поддерживает integer размером %lu байт" -#: fe-misc.c:273 +#: fe-misc.c:272 #, c-format msgid "integer of size %lu not supported by pqPutInt" msgstr "функция pqPutInt не поддерживает integer размером %lu байт" -#: fe-misc.c:573 -#, c-format -msgid "connection not open" -msgstr "соединение не открыто" - -#: fe-misc.c:751 fe-secure-openssl.c:210 fe-secure-openssl.c:316 -#: fe-secure.c:259 fe-secure.c:426 +#: fe-misc.c:750 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" @@ -1066,31 +1099,31 @@ msgstr "" "\tСкорее всего сервер прекратил работу из-за сбоя\n" "\tдо или в процессе выполнения запроса." -#: fe-misc.c:818 +#: fe-misc.c:817 msgid "connection not open\n" msgstr "соединение не открыто\n" -#: fe-misc.c:1003 +#: fe-misc.c:1005 #, c-format msgid "timeout expired" msgstr "тайм-аут" -#: fe-misc.c:1047 +#: fe-misc.c:1049 #, c-format msgid "invalid socket" msgstr "неверный сокет" -#: fe-misc.c:1069 +#: fe-misc.c:1071 #, c-format msgid "%s() failed: %s" msgstr "ошибка в %s(): %s" -#: fe-protocol3.c:182 +#: fe-protocol3.c:187 #, c-format msgid "message type 0x%02x arrived from server while idle" msgstr "от сервера во время простоя получено сообщение типа 0x%02x" -#: fe-protocol3.c:380 +#: fe-protocol3.c:402 #, c-format msgid "" "server sent data (\"D\" message) without prior row description (\"T\" " @@ -1099,117 +1132,117 @@ msgstr "" "сервер отправил данные (сообщение \"D\") без предварительного описания " "строки (сообщение \"T\")" -#: fe-protocol3.c:422 +#: fe-protocol3.c:444 #, c-format msgid "unexpected response from server; first received character was \"%c\"" msgstr "неожиданный ответ сервера; первый полученный символ: \"%c\"" -#: fe-protocol3.c:445 +#: fe-protocol3.c:467 #, c-format msgid "message contents do not agree with length in message type \"%c\"" msgstr "содержимое не соответствует длине в сообщении типа \"%c\"" -#: fe-protocol3.c:463 +#: fe-protocol3.c:485 #, c-format msgid "lost synchronization with server: got message type \"%c\", length %d" msgstr "" "потеряна синхронизация с сервером: получено сообщение типа \"%c\", длина %d" -#: fe-protocol3.c:515 fe-protocol3.c:555 +#: fe-protocol3.c:537 fe-protocol3.c:577 msgid "insufficient data in \"T\" message" msgstr "недостаточно данных в сообщении \"T\"" -#: fe-protocol3.c:626 fe-protocol3.c:832 +#: fe-protocol3.c:648 fe-protocol3.c:854 msgid "out of memory for query result" msgstr "недостаточно памяти для результата запроса" -#: fe-protocol3.c:695 +#: fe-protocol3.c:717 msgid "insufficient data in \"t\" message" msgstr "недостаточно данных в сообщении \"t\"" -#: fe-protocol3.c:754 fe-protocol3.c:786 fe-protocol3.c:804 +#: fe-protocol3.c:776 fe-protocol3.c:808 fe-protocol3.c:826 msgid "insufficient data in \"D\" message" msgstr "недостаточно данных в сообщении \"D\"" -#: fe-protocol3.c:760 +#: fe-protocol3.c:782 msgid "unexpected field count in \"D\" message" msgstr "неверное число полей в сообщении \"D\"" -#: fe-protocol3.c:1015 +#: fe-protocol3.c:1037 msgid "no error message available\n" msgstr "нет сообщения об ошибке\n" #. translator: %s represents a digit string -#: fe-protocol3.c:1063 fe-protocol3.c:1082 +#: fe-protocol3.c:1085 fe-protocol3.c:1104 #, c-format msgid " at character %s" msgstr " символ %s" -#: fe-protocol3.c:1095 +#: fe-protocol3.c:1117 #, c-format msgid "DETAIL: %s\n" msgstr "ПОДРОБНОСТИ: %s\n" -#: fe-protocol3.c:1098 +#: fe-protocol3.c:1120 #, c-format msgid "HINT: %s\n" msgstr "ПОДСКАЗКА: %s\n" -#: fe-protocol3.c:1101 +#: fe-protocol3.c:1123 #, c-format msgid "QUERY: %s\n" msgstr "ЗАПРОС: %s\n" -#: fe-protocol3.c:1108 +#: fe-protocol3.c:1130 #, c-format msgid "CONTEXT: %s\n" msgstr "КОНТЕКСТ: %s\n" -#: fe-protocol3.c:1117 +#: fe-protocol3.c:1139 #, c-format msgid "SCHEMA NAME: %s\n" msgstr "СХЕМА: %s\n" -#: fe-protocol3.c:1121 +#: fe-protocol3.c:1143 #, c-format msgid "TABLE NAME: %s\n" msgstr "ТАБЛИЦА: %s\n" -#: fe-protocol3.c:1125 +#: fe-protocol3.c:1147 #, c-format msgid "COLUMN NAME: %s\n" msgstr "СТОЛБЕЦ: %s\n" -#: fe-protocol3.c:1129 +#: fe-protocol3.c:1151 #, c-format msgid "DATATYPE NAME: %s\n" msgstr "ТИП ДАННЫХ: %s\n" -#: fe-protocol3.c:1133 +#: fe-protocol3.c:1155 #, c-format msgid "CONSTRAINT NAME: %s\n" msgstr "ОГРАНИЧЕНИЕ: %s\n" -#: fe-protocol3.c:1145 +#: fe-protocol3.c:1167 msgid "LOCATION: " msgstr "ПОЛОЖЕНИЕ: " -#: fe-protocol3.c:1147 +#: fe-protocol3.c:1169 #, c-format msgid "%s, " msgstr "%s, " -#: fe-protocol3.c:1149 +#: fe-protocol3.c:1171 #, c-format msgid "%s:%s" msgstr "%s:%s" -#: fe-protocol3.c:1344 +#: fe-protocol3.c:1366 #, c-format msgid "LINE %d: " msgstr "СТРОКА %d: " -#: fe-protocol3.c:1418 +#: fe-protocol3.c:1440 #, c-format msgid "" "protocol version not supported by server: client uses %u.%u, server supports " @@ -1218,7 +1251,7 @@ msgstr "" "сервер не поддерживает нужную версию протокола: клиент использует %u.%u, " "сервер поддерживает версии до %u.%u" -#: fe-protocol3.c:1424 +#: fe-protocol3.c:1446 #, c-format msgid "protocol extension not supported by server: %s" msgid_plural "protocol extensions not supported by server: %s" @@ -1226,22 +1259,22 @@ msgstr[0] "сервер не поддерживает это расширени msgstr[1] "сервер не поддерживает эти расширения протокола: %s" msgstr[2] "сервер не поддерживает эти расширения протокола: %s" -#: fe-protocol3.c:1432 +#: fe-protocol3.c:1454 #, c-format msgid "invalid %s message" msgstr "неверное сообщение %s" -#: fe-protocol3.c:1797 +#: fe-protocol3.c:1819 #, c-format msgid "PQgetline: not doing text COPY OUT" msgstr "PQgetline можно вызывать только во время COPY OUT с текстом" -#: fe-protocol3.c:2171 +#: fe-protocol3.c:2193 #, c-format msgid "protocol error: no function result" msgstr "ошибка протокола: нет результата функции" -#: fe-protocol3.c:2182 +#: fe-protocol3.c:2204 #, c-format msgid "protocol error: id=0x%x" msgstr "ошибка протокола: id=0x%x" @@ -1334,92 +1367,92 @@ msgstr "ошибка проверки размера в GSSAPI" msgid "GSSAPI context establishment error" msgstr "ошибка установления контекста в GSSAPI" -#: fe-secure-openssl.c:214 fe-secure-openssl.c:320 fe-secure-openssl.c:1518 +#: 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:220 fe-secure-openssl.c:326 fe-secure-openssl.c:1521 +#: 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:230 fe-secure-openssl.c:336 fe-secure-openssl.c:1529 +#: 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:244 fe-secure-openssl.c:350 +#: 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:249 fe-secure-openssl.c:355 fe-secure-openssl.c:1576 +#: 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:398 +#: fe-secure-openssl.c:390 #, c-format msgid "could not determine server certificate signature algorithm" msgstr "не удалось определить алгоритм подписи сертификата сервера" -#: fe-secure-openssl.c:418 +#: fe-secure-openssl.c:410 #, c-format msgid "could not find digest for NID %s" msgstr "не удалось найти алгоритм хеширования по NID %s" -#: fe-secure-openssl.c:427 +#: fe-secure-openssl.c:419 #, c-format msgid "could not generate peer certificate hash" msgstr "не удалось сгенерировать хеш сертификата сервера" -#: fe-secure-openssl.c:510 +#: fe-secure-openssl.c:501 #, c-format msgid "SSL certificate's name entry is missing" msgstr "в SSL-сертификате отсутствует запись имени" -#: fe-secure-openssl.c:544 +#: fe-secure-openssl.c:535 #, c-format msgid "SSL certificate's address entry is missing" msgstr "в SSL-сертификате отсутствует запись адреса" -#: fe-secure-openssl.c:945 +#: fe-secure-openssl.c:935 #, c-format msgid "could not create SSL context: %s" msgstr "не удалось создать контекст SSL: %s" -#: fe-secure-openssl.c:987 +#: fe-secure-openssl.c:977 #, c-format msgid "invalid value \"%s\" for minimum SSL protocol version" msgstr "неверное значение \"%s\" для минимальной версии протокола SSL" -#: fe-secure-openssl.c:997 +#: fe-secure-openssl.c:987 #, c-format msgid "could not set minimum SSL protocol version: %s" msgstr "не удалось задать минимальную версию протокола SSL: %s" -#: fe-secure-openssl.c:1013 +#: fe-secure-openssl.c:1003 #, c-format msgid "invalid value \"%s\" for maximum SSL protocol version" msgstr "неверное значение \"%s\" для максимальной версии протокола SSL" -#: fe-secure-openssl.c:1023 +#: fe-secure-openssl.c:1013 #, c-format msgid "could not set maximum SSL protocol version: %s" msgstr "не удалось задать максимальную версию протокола SSL: %s" -#: fe-secure-openssl.c:1061 +#: fe-secure-openssl.c:1051 #, c-format msgid "could not load system root certificate paths: %s" msgstr "не удалось выбрать системные пути для корневых сертификатов: %s" -#: fe-secure-openssl.c:1078 +#: fe-secure-openssl.c:1068 #, c-format msgid "could not read root certificate file \"%s\": %s" msgstr "не удалось прочитать файл корневых сертификатов \"%s\": %s" -#: fe-secure-openssl.c:1130 +#: fe-secure-openssl.c:1120 #, c-format msgid "" "could not get home directory to locate root certificate file\n" @@ -1432,7 +1465,7 @@ msgstr "" "(sslrootcert=system) или отключите проверку сертификата сервера, изменив " "sslmode." -#: fe-secure-openssl.c:1133 +#: fe-secure-openssl.c:1123 #, c-format msgid "" "root certificate file \"%s\" does not exist\n" @@ -1445,62 +1478,67 @@ msgstr "" "(sslrootcert=system) или отключите проверку сертификата сервера, изменив " "sslmode." -#: fe-secure-openssl.c:1168 +#: fe-secure-openssl.c:1158 #, c-format msgid "could not open certificate file \"%s\": %s" msgstr "не удалось открыть файл сертификата \"%s\": %s" -#: fe-secure-openssl.c:1186 +#: fe-secure-openssl.c:1176 #, c-format msgid "could not read certificate file \"%s\": %s" msgstr "не удалось прочитать файл сертификата \"%s\": %s" -#: fe-secure-openssl.c:1210 +#: fe-secure-openssl.c:1200 #, c-format msgid "could not establish SSL connection: %s" msgstr "не удалось установить SSL-соединение: %s" -#: fe-secure-openssl.c:1242 +#: fe-secure-openssl.c:1232 #, c-format msgid "could not set SSL Server Name Indication (SNI): %s" msgstr "не удалось задать SNI (Server Name Indication) для SSL-подключения: %s" -#: fe-secure-openssl.c:1286 +#: fe-secure-openssl.c:1249 +#, c-format +msgid "could not set SSL ALPN extension: %s" +msgstr "не удалось установить расширение SSL ALPN: %s" + +#: fe-secure-openssl.c:1292 #, c-format msgid "could not load SSL engine \"%s\": %s" msgstr "не удалось загрузить модуль SSL ENGINE \"%s\": %s" -#: fe-secure-openssl.c:1297 +#: fe-secure-openssl.c:1303 #, c-format msgid "could not initialize SSL engine \"%s\": %s" msgstr "не удалось инициализировать модуль SSL ENGINE \"%s\": %s" -#: fe-secure-openssl.c:1312 +#: 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:1325 +#: 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:1362 +#: fe-secure-openssl.c:1368 #, c-format msgid "certificate present, but not private key file \"%s\"" msgstr "при наличии сертификата отсутствует файл закрытого ключа \"%s\"" -#: fe-secure-openssl.c:1365 +#: fe-secure-openssl.c:1371 #, c-format msgid "could not stat private key file \"%s\": %m" msgstr "не удалось получить информацию о файле закрытого ключа \"%s\": %m" -#: fe-secure-openssl.c:1373 +#: fe-secure-openssl.c:1379 #, c-format msgid "private key file \"%s\" is not a regular file" msgstr "файл закрытого ключа \"%s\" - не обычный файл" -#: fe-secure-openssl.c:1406 +#: fe-secure-openssl.c:1412 #, c-format msgid "" "private key file \"%s\" has group or world access; file must have " @@ -1512,22 +1550,22 @@ msgstr "" "текущему пользователю, либо u=rw,g=r (0640) или более строгие, если он " "принадлежит root" -#: fe-secure-openssl.c:1430 +#: fe-secure-openssl.c:1436 #, c-format msgid "could not load private key file \"%s\": %s" msgstr "не удалось загрузить файл закрытого ключа \"%s\": %s" -#: fe-secure-openssl.c:1446 +#: fe-secure-openssl.c:1452 #, c-format msgid "certificate does not match private key file \"%s\": %s" msgstr "сертификат не соответствует файлу закрытого ключа \"%s\": %s" -#: fe-secure-openssl.c:1515 +#: fe-secure-openssl.c:1521 #, c-format msgid "SSL error: certificate verify failed: %s" msgstr "ошибка SSL: не удалось проверить сертификат: %s" -#: fe-secure-openssl.c:1560 +#: fe-secure-openssl.c:1566 #, c-format msgid "" "This may indicate that the server does not support any SSL protocol version " @@ -1536,32 +1574,44 @@ msgstr "" "Это может указывать на то, что сервер не поддерживает ни одну версию " "протокола SSL между %s и %s." -#: fe-secure-openssl.c:1593 +#: 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:1610 +#, c-format +msgid "SSL connection was established with unexpected ALPN protocol" +msgstr "SSL-соединение было установлено с неподдерживаемым протоколом ALPN" + +#: fe-secure-openssl.c:1627 #, c-format msgid "certificate could not be obtained: %s" msgstr "не удалось получить сертификат: %s" -#: fe-secure-openssl.c:1699 +#: fe-secure-openssl.c:1734 #, c-format msgid "no SSL error reported" msgstr "нет сообщения об ошибке SSL" -#: fe-secure-openssl.c:1724 +#: fe-secure-openssl.c:1777 #, c-format msgid "SSL error code %lu" msgstr "код ошибки SSL: %lu" -#: fe-secure-openssl.c:2014 +#: fe-secure-openssl.c:2076 #, c-format msgid "WARNING: sslpassword truncated\n" msgstr "ПРЕДУПРЕЖДЕНИЕ: значение sslpassword усечено\n" -#: fe-secure.c:270 +#: fe-secure.c:248 #, c-format msgid "could not receive data from server: %s" msgstr "не удалось получить данные с сервера: %s" -#: fe-secure.c:441 +#: fe-secure.c:419 #, c-format msgid "could not send data to server: %s" msgstr "не удалось передать данные серверу: %s" @@ -1571,6 +1621,10 @@ msgstr "не удалось передать данные серверу: %s" msgid "unrecognized socket error: 0x%08X/%d" msgstr "нераспознанная ошибка сокета: 0x%08X/%d" +#, c-format +#~ msgid "keepalives parameter must be an integer" +#~ msgstr "параметр keepalives должен быть целым числом" + #~ msgid "SCM_CRED authentication method not supported\n" #~ msgstr "аутентификация SCM_CRED не поддерживается\n" diff --git a/src/interfaces/libpq/po/sv.po b/src/interfaces/libpq/po/sv.po index 263b5ebf746..d1421748051 100644 --- a/src/interfaces/libpq/po/sv.po +++ b/src/interfaces/libpq/po/sv.po @@ -1,15 +1,15 @@ # Swedish message translation file for libpq # Peter Eisentraut , 2001, 2010. -# Dennis Björklund , 2002, 2003, 2004, 2005, 2006, 2017, 2018, 2019, 2020, 2021, 2022, 2023. +# Dennis Björklund , 2002, 2003, 2004, 2005, 2006, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024. # # Use these quotes: "%s" # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 16\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-08-01 14:10+0000\n" -"PO-Revision-Date: 2023-08-01 22:08+0200\n" +"POT-Creation-Date: 2024-07-12 11:10+0000\n" +"PO-Revision-Date: 2024-07-12 15:24+0200\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -18,126 +18,127 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -#: ../../port/thread.c:50 ../../port/thread.c:86 +#: ../../port/user.c:43 ../../port/user.c:79 #, c-format msgid "could not look up local user ID %d: %s" msgstr "kunde inte slå upp lokalt användar-id %d: %s" -#: ../../port/thread.c:55 ../../port/thread.c:91 +#: ../../port/user.c:48 ../../port/user.c:84 #, c-format msgid "local user with ID %d does not exist" msgstr "lokal användare med ID %d existerar inte" -#: fe-auth-scram.c:227 +#: fe-auth-scram.c:223 #, c-format msgid "malformed SCRAM message (empty message)" msgstr "felaktigt SCRAM-meddelande (tomt meddelande)" -#: fe-auth-scram.c:232 +#: fe-auth-scram.c:228 #, c-format msgid "malformed SCRAM message (length mismatch)" msgstr "felaktigt SCRAM-meddelande (längden stämmer inte)" -#: fe-auth-scram.c:275 +#: fe-auth-scram.c:272 #, c-format msgid "could not verify server signature: %s" msgstr "kunde inte verifiera serversignaturen: %s" -#: fe-auth-scram.c:281 +#: fe-auth-scram.c:278 #, c-format msgid "incorrect server signature" msgstr "felaktig serversignatur" -#: fe-auth-scram.c:290 +#: fe-auth-scram.c:287 #, c-format msgid "invalid SCRAM exchange state" msgstr "ogiltig SCRAM-utbytesstatus" -#: fe-auth-scram.c:317 +#: fe-auth-scram.c:311 #, c-format msgid "malformed SCRAM message (attribute \"%c\" expected)" msgstr "felaktigt SCRAM-meddelande (förväntade attribut \"%c\")" -#: fe-auth-scram.c:326 +#: fe-auth-scram.c:320 #, c-format msgid "malformed SCRAM message (expected character \"=\" for attribute \"%c\")" msgstr "felaktigt SCRAM-meddelande (förväntade tecken \"=\" för attribut \"%c\")" -#: fe-auth-scram.c:366 +#: fe-auth-scram.c:360 #, c-format msgid "could not generate nonce" msgstr "kunde inte skapa engångsnummer" -#: fe-auth-scram.c:375 fe-auth-scram.c:448 fe-auth-scram.c:600 -#: fe-auth-scram.c:620 fe-auth-scram.c:644 fe-auth-scram.c:658 -#: fe-auth-scram.c:704 fe-auth-scram.c:740 fe-auth-scram.c:914 fe-auth.c:296 -#: fe-auth.c:369 fe-auth.c:403 fe-auth.c:618 fe-auth.c:729 fe-auth.c:1210 -#: fe-auth.c:1375 fe-connect.c:925 fe-connect.c:1759 fe-connect.c:1921 -#: fe-connect.c:3291 fe-connect.c:4496 fe-connect.c:5161 fe-connect.c:5416 -#: fe-connect.c:5534 fe-connect.c:5781 fe-connect.c:5861 fe-connect.c:5959 -#: fe-connect.c:6210 fe-connect.c:6237 fe-connect.c:6313 fe-connect.c:6336 -#: fe-connect.c:6360 fe-connect.c:6395 fe-connect.c:6481 fe-connect.c:6489 -#: fe-connect.c:6846 fe-connect.c:6996 fe-exec.c:527 fe-exec.c:1321 -#: fe-exec.c:3111 fe-exec.c:4071 fe-exec.c:4235 fe-gssapi-common.c:109 -#: fe-lobj.c:870 fe-protocol3.c:204 fe-protocol3.c:228 fe-protocol3.c:256 -#: fe-protocol3.c:273 fe-protocol3.c:353 fe-protocol3.c:720 fe-protocol3.c:959 -#: fe-protocol3.c:1770 fe-protocol3.c:2170 fe-secure-common.c:110 -#: fe-secure-gssapi.c:500 fe-secure-openssl.c:434 fe-secure-openssl.c:1285 +#: 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:159 fe-connect.c:936 fe-connect.c:976 +#: fe-connect.c:1860 fe-connect.c:2022 fe-connect.c:3430 fe-connect.c:4758 +#: fe-connect.c:5070 fe-connect.c:5325 fe-connect.c:5443 fe-connect.c:5690 +#: fe-connect.c:5770 fe-connect.c:5868 fe-connect.c:6119 fe-connect.c:6146 +#: fe-connect.c:6222 fe-connect.c:6245 fe-connect.c:6269 fe-connect.c:6304 +#: fe-connect.c:6390 fe-connect.c:6398 fe-connect.c:6755 fe-connect.c:6905 +#: fe-exec.c:530 fe-exec.c:1315 fe-exec.c:3254 fe-exec.c:4234 fe-exec.c:4398 +#: 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 #, c-format msgid "out of memory" msgstr "slut på minne" -#: fe-auth-scram.c:382 +#: fe-auth-scram.c:376 #, c-format msgid "could not encode nonce" msgstr "kunde inte koda engångsnummer" -#: fe-auth-scram.c:570 +#: fe-auth-scram.c:564 #, c-format msgid "could not calculate client proof: %s" msgstr "kunde inte räkna ut klientbevis: %s" -#: fe-auth-scram.c:585 +#: fe-auth-scram.c:579 #, c-format msgid "could not encode client proof" msgstr "kunde inte koda klientbevis" -#: fe-auth-scram.c:637 +#: fe-auth-scram.c:631 #, c-format msgid "invalid SCRAM response (nonce mismatch)" msgstr "ogiltigt SCRAM-svar (engångsnummer matchar inte)" -#: fe-auth-scram.c:667 +#: fe-auth-scram.c:661 #, c-format msgid "malformed SCRAM message (invalid salt)" msgstr "felaktigt SCRAM-meddelande (ogiltigt salt)" -#: fe-auth-scram.c:680 +#: fe-auth-scram.c:674 #, c-format msgid "malformed SCRAM message (invalid iteration count)" msgstr "felaktigt SCRAM-meddelande (ogiltig iterationsräknare)" -#: fe-auth-scram.c:685 +#: fe-auth-scram.c:679 #, c-format msgid "malformed SCRAM message (garbage at end of server-first-message)" msgstr "felaktigt SCRAM-meddelande (skräp i slutet på server-first-message)" -#: fe-auth-scram.c:719 +#: fe-auth-scram.c:713 #, c-format msgid "error received from server in SCRAM exchange: %s" msgstr "fel mottaget från server i SCRAM-utbyte: %s" -#: fe-auth-scram.c:734 +#: fe-auth-scram.c:728 #, c-format msgid "malformed SCRAM message (garbage at end of server-final-message)" msgstr "felaktigt SCRAM-meddelande (skräp i slutet av server-final-message)" -#: fe-auth-scram.c:751 +#: fe-auth-scram.c:745 #, c-format msgid "malformed SCRAM message (invalid server signature)" msgstr "felaktigt SCRAM-meddelande (ogiltigt serversignatur)" -#: fe-auth-scram.c:923 +#: fe-auth-scram.c:917 msgid "could not generate random salt" msgstr "kunde inte generera slumpat salt" @@ -179,22 +180,22 @@ msgstr "duplicerad autentiseringsbegäran från SSPI" msgid "could not acquire SSPI credentials" msgstr "kunde inte hämta SSPI-autentiseringsuppgifter" -#: fe-auth.c:437 +#: fe-auth.c:436 #, c-format msgid "channel binding required, but SSL not in use" msgstr "kräver kanalbindning, men SSL används inte" -#: fe-auth.c:443 +#: fe-auth.c:442 #, c-format msgid "duplicate SASL authentication request" msgstr "duplicerad autentiseringsbegäran från SASL" -#: fe-auth.c:501 +#: fe-auth.c:500 #, c-format msgid "channel binding is required, but client does not support it" msgstr "kanalbindning krävs men klienten stöder inte det" -#: fe-auth.c:517 +#: fe-auth.c:516 #, c-format msgid "server offered SCRAM-SHA-256-PLUS authentication over a non-SSL connection" msgstr "servern erbjöd SCRAM-SHA-256-PLUS-autentisering över en icke-SSL-anslutning" @@ -209,726 +210,768 @@ msgstr "ingen av serverns SASL-autentiseringsmekanismer stöds" msgid "channel binding is required, but server did not offer an authentication method that supports channel binding" msgstr "kräver kanalbindning, men servern erbjöd ingen autentiseringsmetod som stöder kanalbindning" -#: fe-auth.c:641 +#: fe-auth.c:640 #, c-format msgid "out of memory allocating SASL buffer (%d)" msgstr "slut på minne vid allokering av buffer till SASL (%d)" -#: fe-auth.c:665 +#: fe-auth.c:663 #, c-format msgid "AuthenticationSASLFinal received from server, but SASL authentication was not completed" msgstr "mottog AuthenticationSASLFinal från server, men SASL-autentisering slutfördes ej" -#: fe-auth.c:675 +#: fe-auth.c:673 #, c-format msgid "no client response found after SASL exchange success" msgstr "hittade inget klientsvar efter lyckat SASL-utbyte" -#: fe-auth.c:738 fe-auth.c:745 fe-auth.c:1358 fe-auth.c:1369 +#: 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 "kan inte kryptera lösenord: %s" -#: fe-auth.c:773 +#: fe-auth.c:772 msgid "server requested a cleartext password" msgstr "servern begärde ett lösenord i klartext" -#: fe-auth.c:775 +#: fe-auth.c:774 msgid "server requested a hashed password" msgstr "servern begärde ett hashat lösenord" -#: fe-auth.c:778 +#: fe-auth.c:777 msgid "server requested GSSAPI authentication" msgstr "servern begärde GSSAPI-autentisering" -#: fe-auth.c:780 +#: fe-auth.c:779 msgid "server requested SSPI authentication" msgstr "servern begärde SSPI-autentisering" -#: fe-auth.c:784 +#: fe-auth.c:783 msgid "server requested SASL authentication" msgstr "servern begärde SASL-autentisering" -#: fe-auth.c:787 +#: fe-auth.c:786 msgid "server requested an unknown authentication type" msgstr "servern begärde en okänd autentiseringstyp" -#: fe-auth.c:820 +#: fe-auth.c:819 #, c-format msgid "server did not request an SSL certificate" msgstr "servern begärde inte ett SSL-certifikat" -#: fe-auth.c:825 +#: fe-auth.c:824 #, c-format msgid "server accepted connection without a valid SSL certificate" msgstr "serven accepterade en anslutning utan giltigt SSL-certifikat" -#: fe-auth.c:879 +#: fe-auth.c:878 msgid "server did not complete authentication" msgstr "servern slutförde inte autenticeringen" -#: fe-auth.c:913 +#: fe-auth.c:912 #, c-format msgid "authentication method requirement \"%s\" failed: %s" msgstr "autentiseringsmetodens krav \"%s\" misslyckades: %s" -#: fe-auth.c:936 +#: fe-auth.c:935 #, c-format msgid "channel binding required, but server authenticated client without channel binding" msgstr "kräver kanalbindning, men servern autentiserade klienten utan kanalbindning" -#: fe-auth.c:941 +#: fe-auth.c:940 #, c-format msgid "channel binding required but not supported by server's authentication request" msgstr "kanalbindning krävs men stöds inte av serverns autentiseringsförfrågan" -#: fe-auth.c:975 +#: fe-auth.c:974 #, c-format msgid "Kerberos 4 authentication not supported" msgstr "Kerberos-4-autentisering stöds ej" -#: fe-auth.c:979 +#: fe-auth.c:978 #, c-format msgid "Kerberos 5 authentication not supported" msgstr "Kerberos-5-autentisering stöds ej" -#: fe-auth.c:1049 +#: fe-auth.c:1048 #, c-format msgid "GSSAPI authentication not supported" msgstr "GSSAPI-autentisering stöds ej" -#: fe-auth.c:1080 +#: fe-auth.c:1079 #, c-format msgid "SSPI authentication not supported" msgstr "SSPI-autentisering stöds ej" -#: fe-auth.c:1087 +#: fe-auth.c:1086 #, c-format msgid "Crypt authentication not supported" msgstr "Crypt-autentisering stöds ej" -#: fe-auth.c:1151 +#: fe-auth.c:1150 #, c-format msgid "authentication method %u not supported" msgstr "autentiseringsmetod %u stöds ej" -#: fe-auth.c:1197 +#: fe-auth.c:1187 #, c-format msgid "user name lookup failure: error code %lu" msgstr "misslyckad sökning efter användarnamn: felkod %lu" -#: fe-auth.c:1321 +#: fe-auth.c:1309 #, c-format msgid "unexpected shape of result set returned for SHOW" msgstr "oväntad form på resultatmängden som returnerades för SHOW" -#: fe-auth.c:1329 +#: fe-auth.c:1317 #, c-format -msgid "password_encryption value too long" -msgstr "password_encryption-värdet är för långt" +msgid "\"password_encryption\" value too long" +msgstr "\"password_encryption\"-värdet är för långt" -#: fe-auth.c:1379 +#: fe-auth.c:1367 #, c-format msgid "unrecognized password encryption algorithm \"%s\"" msgstr "okänd lösenordskrypteringsalgoritm \"%s\"" -#: fe-connect.c:1132 +#: fe-cancel.c:76 +#, c-format +msgid "connection pointer is NULL" +msgstr "anslutningspekare är NULL" + +#: fe-cancel.c:82 fe-misc.c:572 +#, c-format +msgid "connection not open" +msgstr "anslutningen är inte öppen" + +#: fe-cancel.c:193 +#, 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" + +#: fe-cancel.c:263 +#, c-format +msgid "unexpected response from server" +msgstr "oväntad resultat från servern" + +#: fe-connect.c:1182 #, 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:1212 +#: fe-connect.c:1262 #, 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:1337 +#: fe-connect.c:1387 #, 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:1350 +#: fe-connect.c:1400 #, 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:1410 fe-connect.c:1461 fe-connect.c:1503 fe-connect.c:1559 -#: fe-connect.c:1567 fe-connect.c:1598 fe-connect.c:1644 fe-connect.c:1684 -#: fe-connect.c:1705 +#: 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 #, c-format msgid "invalid %s value: \"%s\"" msgstr "ogiltigt %s-värde: \"%s\"" -#: fe-connect.c:1443 +#: fe-connect.c:1493 #, 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:1484 fe-connect.c:1523 fe-connect.c:1606 +#: fe-connect.c:1534 fe-connect.c:1573 fe-connect.c:1605 fe-connect.c:1707 #, 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:1546 +#: fe-connect.c:1625 +#, 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 #, 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:1584 +#: fe-connect.c:1660 fe-connect.c:1668 +#, c-format +msgid "invalid \"%s\" value: \"%s\"" +msgstr "ogiltigt \"%s\"-värde: \"%s\"" + +#: fe-connect.c:1685 #, c-format msgid "invalid SSL protocol version range" msgstr "ogiltigt intervall för SSL-protokollversion" -#: fe-connect.c:1621 +#: fe-connect.c:1722 #, 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:1651 +#: fe-connect.c:1752 #, 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:1944 +#: fe-connect.c:2045 #, 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:2003 +#: fe-connect.c:2104 #, c-format msgid "connection to server on socket \"%s\" failed: " msgstr "anslutning till server på socket \"%s\" misslyckades: " -#: fe-connect.c:2029 +#: fe-connect.c:2130 #, 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:2034 +#: fe-connect.c:2135 #, c-format msgid "connection to server at \"%s\", port %s failed: " msgstr "anslutning till server på \"%s\", port %s misslyckades: " -#: fe-connect.c:2057 +#: fe-connect.c:2158 #, 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:2059 +#: fe-connect.c:2160 #, 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:2122 -#, c-format -msgid "invalid integer value \"%s\" for connection option \"%s\"" -msgstr "ogiltigt heltalsvärde \"%s\" för anslutningsflagga \"%s\"" - -#: fe-connect.c:2151 fe-connect.c:2185 fe-connect.c:2220 fe-connect.c:2318 -#: fe-connect.c:2973 +#: fe-connect.c:2206 fe-connect.c:2240 fe-connect.c:2275 fe-connect.c:2373 +#: fe-connect.c:3098 #, c-format msgid "%s(%s) failed: %s" msgstr "%s(%s) misslyckades: %s" -#: fe-connect.c:2284 +#: fe-connect.c:2339 #, c-format msgid "%s(%s) failed: error code %d" msgstr "%s(%s) misslyckades: felkod %d" -#: fe-connect.c:2597 +#: fe-connect.c:2650 #, c-format msgid "invalid connection state, probably indicative of memory corruption" msgstr "ogiltigt tillstånd i anslutning, antagligen korrupt minne" -#: fe-connect.c:2676 +#: fe-connect.c:2733 #, c-format msgid "invalid port number: \"%s\"" msgstr "ogiltigt portnummer \"%s\"" -#: fe-connect.c:2690 +#: fe-connect.c:2747 #, 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:2702 +#: fe-connect.c:2759 #, c-format msgid "could not parse network address \"%s\": %s" msgstr "kunde inte parsa nätverksadress \"%s\": %s" -#: fe-connect.c:2713 +#: fe-connect.c:2770 #, 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:2727 +#: fe-connect.c:2784 #, 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:2901 +#: fe-connect.c:2950 fe-connect.c:4302 +#, 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:4431 +#, 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 #, c-format msgid "could not create socket: %s" msgstr "kan inte skapa socket: %s" -#: fe-connect.c:2932 +#: fe-connect.c:3057 #, 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:2943 +#: fe-connect.c:3068 #, 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:2961 +#: fe-connect.c:3086 #, c-format msgid "keepalives parameter must be an integer" msgstr "keepalives-parameter måste vara ett heltal" -#: fe-connect.c:3100 +#: fe-connect.c:3225 #, c-format msgid "could not get socket error status: %s" msgstr "kunde inte hämta felstatus för socket: %s" -#: fe-connect.c:3127 +#: fe-connect.c:3252 #, c-format msgid "could not get client address from socket: %s" msgstr "kunde inte få klientadressen från socket: %s" -#: fe-connect.c:3165 +#: fe-connect.c:3278 #, c-format msgid "requirepeer parameter is not supported on this platform" msgstr "requirepeer-parameter stöds inte på denna plattform" -#: fe-connect.c:3167 +#: fe-connect.c:3280 #, c-format msgid "could not get peer credentials: %s" msgstr "kunde inte hämta andra sidans autentiseringsuppgifter: %s" -#: fe-connect.c:3180 +#: fe-connect.c:3293 #, 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:3221 +#: fe-connect.c:3331 #, c-format msgid "could not send GSSAPI negotiation packet: %s" msgstr "kunde inte skicka GSSAPI-paket för anslutningsförhandling: %s" -#: fe-connect.c:3233 -#, c-format -msgid "GSSAPI encryption required but was impossible (possibly no credential cache, no server support, or using a local socket)" -msgstr "GSSAPI-kryptering krävdes men var omöjligt (kanske ingen credential-cache, inget serverstöd eller använder en lokalt socket)" - -#: fe-connect.c:3274 +#: fe-connect.c:3380 #, c-format msgid "could not send SSL negotiation packet: %s" msgstr "kunde inte skicka SSL-paket för anslutningsförhandling: %s" -#: fe-connect.c:3303 +#: fe-connect.c:3412 +#, c-format +msgid "could not send cancel packet: %s" +msgstr "kunde inte skicka avbrottspaket: %s" + +#: fe-connect.c:3442 #, c-format msgid "could not send startup packet: %s" msgstr "kan inte skicka startpaketet: %s" -#: fe-connect.c:3378 -#, c-format +#: fe-connect.c:3509 msgid "server does not support SSL, but SSL was required" msgstr "SSL stöds inte av servern, men SSL krävdes" -#: fe-connect.c:3404 +#: fe-connect.c:3528 #, c-format msgid "received invalid response to SSL negotiation: %c" msgstr "tog emot ogiltigt svar till SSL-anslutningsförhandling: %c" -#: fe-connect.c:3424 +#: fe-connect.c:3556 #, c-format msgid "received unencrypted data after SSL response" msgstr "tog emot okrypterad data efter SSL-svar" -#: fe-connect.c:3504 -#, c-format +#: 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:3515 +#: 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:3533 +#: 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:3598 +#: fe-connect.c:3708 #, 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:3625 fe-connect.c:3794 +#: fe-connect.c:3736 fe-connect.c:3859 #, c-format msgid "received invalid authentication request" msgstr "tog emot ogiltig autentiseringsförfrågan" -#: fe-connect.c:3630 fe-connect.c:3779 +#: fe-connect.c:3742 fe-connect.c:3844 #, c-format msgid "received invalid protocol negotiation message" msgstr "tog emot ogiltigt meddelande för protokollets anslutningsförhandling" -#: fe-connect.c:3648 fe-connect.c:3702 +#: fe-connect.c:3761 fe-connect.c:3815 #, c-format msgid "received invalid error message" msgstr "tog emot ogiltigt felmeddelande" -#: fe-connect.c:3865 +#: fe-connect.c:3930 #, c-format msgid "unexpected message from server during startup" msgstr "oväntat meddelande från servern under uppstarten" -#: fe-connect.c:3956 +#: fe-connect.c:4021 #, c-format msgid "session is read-only" msgstr "sessionen är i readonly-läge" -#: fe-connect.c:3958 +#: fe-connect.c:4023 #, c-format msgid "session is not read-only" msgstr "sessionen är inte i readonly-läge" -#: fe-connect.c:4011 +#: fe-connect.c:4076 #, c-format msgid "server is in hot standby mode" msgstr "servern är i \"hot standby\"-läge" -#: fe-connect.c:4013 +#: fe-connect.c:4078 #, c-format msgid "server is not in hot standby mode" msgstr "servern är inte i \"hot standby\"-läge" -#: fe-connect.c:4129 fe-connect.c:4179 +#: fe-connect.c:4200 fe-connect.c:4250 #, c-format msgid "\"%s\" failed" msgstr "\"%s\" misslyckades" -#: fe-connect.c:4193 +#: fe-connect.c:4264 #, 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:5174 +#: fe-connect.c:5083 #, c-format msgid "invalid LDAP URL \"%s\": scheme must be ldap://" msgstr "ogiltig LDAP URL \"%s\": schemat måste vara ldap://" -#: fe-connect.c:5189 +#: fe-connect.c:5098 #, c-format msgid "invalid LDAP URL \"%s\": missing distinguished name" msgstr "ogiltig LDAP URL \"%s\": saknar \"distinguished name\"" -#: fe-connect.c:5201 fe-connect.c:5259 +#: fe-connect.c:5110 fe-connect.c:5168 #, 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:5213 fe-connect.c:5275 +#: fe-connect.c:5122 fe-connect.c:5184 #, 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:5225 +#: fe-connect.c:5134 #, c-format msgid "invalid LDAP URL \"%s\": no filter" msgstr "ogiltigt LDAP URL \"%s\": inget filter" -#: fe-connect.c:5247 +#: fe-connect.c:5156 #, c-format msgid "invalid LDAP URL \"%s\": invalid port number" msgstr "ogiltig LDAP URL \"%s\": ogiltigt portnummer" -#: fe-connect.c:5284 +#: fe-connect.c:5193 #, c-format msgid "could not create LDAP structure" msgstr "kunde inte skapa LDAP-struktur" -#: fe-connect.c:5359 +#: fe-connect.c:5268 #, c-format msgid "lookup on LDAP server failed: %s" msgstr "uppslagning av LDAP-server misslyckades: %s" -#: fe-connect.c:5369 +#: fe-connect.c:5278 #, c-format msgid "more than one entry found on LDAP lookup" msgstr "mer än en post hittad i LDAP-uppslagning" -#: fe-connect.c:5371 fe-connect.c:5382 +#: fe-connect.c:5280 fe-connect.c:5291 #, c-format msgid "no entry found on LDAP lookup" msgstr "ingen post hittad i LDAP-uppslagning" -#: fe-connect.c:5392 fe-connect.c:5404 +#: fe-connect.c:5301 fe-connect.c:5313 #, c-format msgid "attribute has no values on LDAP lookup" msgstr "attributet har inga värden i LDAP-uppslagning" -#: fe-connect.c:5455 fe-connect.c:5474 fe-connect.c:5998 +#: fe-connect.c:5364 fe-connect.c:5383 fe-connect.c:5907 #, c-format msgid "missing \"=\" after \"%s\" in connection info string" msgstr "\"=\" efter \"%s\" saknas i anslutningssträng" -#: fe-connect.c:5545 fe-connect.c:6181 fe-connect.c:6979 +#: fe-connect.c:5454 fe-connect.c:6090 fe-connect.c:6888 #, c-format msgid "invalid connection option \"%s\"" msgstr "ogiltig anslutningsparameter \"%s\"" -#: fe-connect.c:5560 fe-connect.c:6046 +#: fe-connect.c:5469 fe-connect.c:5955 #, c-format msgid "unterminated quoted string in connection info string" msgstr "icke terminerad sträng i uppkopplingsinformationen" -#: fe-connect.c:5640 +#: fe-connect.c:5549 #, c-format msgid "definition of service \"%s\" not found" msgstr "definition av service \"%s\" hittades inte" -#: fe-connect.c:5666 +#: fe-connect.c:5575 #, c-format msgid "service file \"%s\" not found" msgstr "servicefil \"%s\" hittades inte" -#: fe-connect.c:5679 +#: fe-connect.c:5588 #, c-format msgid "line %d too long in service file \"%s\"" msgstr "rad %d för lång i servicefil \"%s\"" -#: fe-connect.c:5750 fe-connect.c:5793 +#: fe-connect.c:5659 fe-connect.c:5702 #, c-format msgid "syntax error in service file \"%s\", line %d" msgstr "syntaxfel i servicefel \"%s\", rad %d" -#: fe-connect.c:5761 +#: fe-connect.c:5670 #, 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:6500 +#: fe-connect.c:6409 #, c-format msgid "invalid URI propagated to internal parser routine: \"%s\"" msgstr "ogiltig URI propagerad till intern parsningsrutin: \"%s\"" -#: fe-connect.c:6577 +#: fe-connect.c:6486 #, 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:6584 +#: fe-connect.c:6493 #, 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:6599 +#: fe-connect.c:6508 #, 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:6728 +#: fe-connect.c:6637 #, 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:6748 +#: fe-connect.c:6657 #, 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:6800 +#: fe-connect.c:6709 #, c-format msgid "invalid URI query parameter: \"%s\"" msgstr "ogiltig URI-frågeparameter: \"%s\"" -#: fe-connect.c:6874 +#: fe-connect.c:6783 #, c-format msgid "invalid percent-encoded token: \"%s\"" msgstr "ogiltigt procent-kodad symbol: \"%s\"" -#: fe-connect.c:6884 +#: fe-connect.c:6793 #, 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:7248 +#: fe-connect.c:7157 msgid "connection pointer is NULL\n" msgstr "anslutningspekare är NULL\n" -#: fe-connect.c:7256 fe-exec.c:710 fe-exec.c:970 fe-exec.c:3292 -#: fe-protocol3.c:974 fe-protocol3.c:1007 +#: fe-connect.c:7165 fe-exec.c:713 fe-exec.c:975 fe-exec.c:3459 +#: fe-protocol3.c:991 fe-protocol3.c:1024 msgid "out of memory\n" msgstr "slut på minne\n" -#: fe-connect.c:7547 +#: fe-connect.c:7456 #, 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:7556 +#: fe-connect.c:7465 #, 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:7663 +#: fe-connect.c:7572 #, c-format msgid "password retrieved from file \"%s\"" msgstr "lösenord hämtat från fil \"%s\"" -#: fe-exec.c:466 fe-exec.c:3366 +#: fe-connect.c:7724 +#, 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 #, 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:528 fe-protocol3.c:1976 +#: fe-exec.c:531 fe-protocol3.c:1993 #, c-format msgid "%s" msgstr "%s" -#: fe-exec.c:831 +#: fe-exec.c:834 #, c-format msgid "write to server failed" msgstr "skrivning till servern misslyckades" -#: fe-exec.c:869 +#: fe-exec.c:874 #, c-format msgid "no error text available" msgstr "inget feltext finns tillgänglig" -#: fe-exec.c:958 +#: fe-exec.c:963 msgid "NOTICE" msgstr "NOTIS" -#: fe-exec.c:1016 +#: fe-exec.c:1021 msgid "PGresult cannot support more than INT_MAX tuples" msgstr "PGresult stöder inte mer än INT_MAX tupler" -#: fe-exec.c:1028 +#: fe-exec.c:1033 msgid "size_t overflow" msgstr "size_t-överspill" -#: fe-exec.c:1444 fe-exec.c:1513 fe-exec.c:1559 +#: fe-exec.c:1438 fe-exec.c:1507 fe-exec.c:1553 #, c-format msgid "command string is a null pointer" msgstr "kommandosträngen är en null-pekare" -#: fe-exec.c:1450 fe-exec.c:2888 +#: fe-exec.c:1444 fe-exec.c:3003 #, c-format msgid "%s not allowed in pipeline mode" msgstr "%s tillåts inte i pipeline-läge" -#: fe-exec.c:1518 fe-exec.c:1564 fe-exec.c:1658 +#: fe-exec.c:1512 fe-exec.c:1558 fe-exec.c:1652 #, 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:1554 fe-exec.c:1653 +#: fe-exec.c:1548 fe-exec.c:1647 #, c-format msgid "statement name is a null pointer" msgstr "satsens namn är en null-pekare" -#: fe-exec.c:1695 fe-exec.c:3220 +#: fe-exec.c:1689 fe-exec.c:3379 #, c-format msgid "no connection to the server" msgstr "inte ansluten till servern" -#: fe-exec.c:1703 fe-exec.c:3228 +#: fe-exec.c:1697 fe-exec.c:3387 #, c-format msgid "another command is already in progress" msgstr "ett annat kommando körs redan" -#: fe-exec.c:1733 +#: fe-exec.c:1727 #, c-format msgid "cannot queue commands during COPY" msgstr "kan inte köa kommandon när COPY körs" -#: fe-exec.c:1850 +#: fe-exec.c:1846 #, 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:2171 +#: fe-exec.c:2205 #, c-format msgid "unexpected asyncStatus: %d" msgstr "oväntad asyncStatus: %d" -#: fe-exec.c:2327 +#: fe-exec.c:2361 #, 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:2344 +#: fe-exec.c:2378 msgid "COPY terminated by new PQexec" msgstr "COPY terminerad av ny PQexec" -#: fe-exec.c:2360 +#: fe-exec.c:2394 #, c-format msgid "PQexec not allowed during COPY BOTH" msgstr "PQexec tillåts inte under COPY BOTH" -#: fe-exec.c:2586 fe-exec.c:2641 fe-exec.c:2709 fe-protocol3.c:1907 +#: fe-exec.c:2630 +#, 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 #, c-format msgid "no COPY in progress" msgstr "ingen COPY körs" -#: fe-exec.c:2895 +#: fe-exec.c:3010 #, c-format msgid "connection in wrong state" msgstr "anslutning i felaktigt tillstånd" -#: fe-exec.c:2938 +#: fe-exec.c:3053 #, 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:2974 fe-exec.c:2995 +#: fe-exec.c:3089 fe-exec.c:3110 #, 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:2978 +#: fe-exec.c:3093 #, c-format msgid "cannot exit pipeline mode while busy" msgstr "är upptagen och kan inte avsluta pipeline-läge" -#: fe-exec.c:2989 +#: fe-exec.c:3104 #, c-format msgid "cannot exit pipeline mode while in COPY" msgstr "kan inte avsluta pipeline-läge inne i en COPY" -#: fe-exec.c:3154 +#: fe-exec.c:3303 #, 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:3255 +#: fe-exec.c:3422 msgid "invalid ExecStatusType code" msgstr "ogiltig ExecStatusType-kod" -#: fe-exec.c:3282 +#: fe-exec.c:3449 msgid "PGresult is not an error result\n" msgstr "PGresult är inte ett felresultat\n" -#: fe-exec.c:3350 fe-exec.c:3373 +#: fe-exec.c:3517 fe-exec.c:3540 #, 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:3388 +#: fe-exec.c:3555 #, 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:3699 +#: fe-exec.c:3866 #, c-format msgid "could not interpret result from server: %s" msgstr "kunde inte tolka svaret från servern: %s" -#: fe-exec.c:3964 fe-exec.c:4054 +#: fe-exec.c:4127 fe-exec.c:4217 #, c-format msgid "incomplete multibyte character" msgstr "ofullständigt multibyte-tecken" @@ -979,23 +1022,18 @@ msgstr "kan inte skriva till fil \"%s\": %s" msgid "query to initialize large object functions did not return data" msgstr "fråga för att initiera stort objekt-funktion returnerade ingen data" -#: fe-misc.c:240 +#: fe-misc.c:239 #, c-format msgid "integer of size %lu not supported by pqGetInt" msgstr "heltal med storlek %lu stöds inte av pqGetInt" -#: fe-misc.c:273 +#: fe-misc.c:272 #, c-format msgid "integer of size %lu not supported by pqPutInt" msgstr "heltal med storlek %lu stöds inte av pqPutInt" -#: fe-misc.c:573 -#, c-format -msgid "connection not open" -msgstr "anslutningen är inte öppen" - -#: fe-misc.c:751 fe-secure-openssl.c:215 fe-secure-openssl.c:315 -#: fe-secure.c:257 fe-secure.c:419 +#: fe-misc.c:750 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" @@ -1006,172 +1044,172 @@ msgstr "" "\tTroligen så terminerade servern pga något fel antingen\n" "\tinnan eller under tiden den bearbetade en förfrågan." -#: fe-misc.c:818 +#: fe-misc.c:817 msgid "connection not open\n" msgstr "anslutningen är inte öppen\n" -#: fe-misc.c:1003 +#: fe-misc.c:1005 #, c-format msgid "timeout expired" msgstr "timeout utgången" -#: fe-misc.c:1047 +#: fe-misc.c:1049 #, c-format msgid "invalid socket" msgstr "ogiltig socket" -#: fe-misc.c:1069 +#: fe-misc.c:1071 #, c-format msgid "%s() failed: %s" msgstr "%s() misslyckades: %s" -#: fe-protocol3.c:182 +#: fe-protocol3.c:187 #, 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:385 +#: fe-protocol3.c:402 #, 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:427 +#: fe-protocol3.c:444 #, 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:450 +#: fe-protocol3.c:467 #, 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:468 +#: fe-protocol3.c:485 #, 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:520 fe-protocol3.c:560 +#: fe-protocol3.c:537 fe-protocol3.c:577 msgid "insufficient data in \"T\" message" msgstr "otillräckligt med data i \"T\"-meddelande" -#: fe-protocol3.c:631 fe-protocol3.c:837 +#: fe-protocol3.c:648 fe-protocol3.c:854 msgid "out of memory for query result" msgstr "slut på minnet för frågeresultat" -#: fe-protocol3.c:700 +#: fe-protocol3.c:717 msgid "insufficient data in \"t\" message" msgstr "otillräckligt med data i \"t\"-meddelande" -#: fe-protocol3.c:759 fe-protocol3.c:791 fe-protocol3.c:809 +#: fe-protocol3.c:776 fe-protocol3.c:808 fe-protocol3.c:826 msgid "insufficient data in \"D\" message" msgstr "otillräckligt med data i \"D\"-meddelande" -#: fe-protocol3.c:765 +#: fe-protocol3.c:782 msgid "unexpected field count in \"D\" message" msgstr "oväntat fältantal i \"D\"-meddelande" -#: fe-protocol3.c:1020 +#: fe-protocol3.c:1037 msgid "no error message available\n" msgstr "inget felmeddelande finns tillgängligt\n" #. translator: %s represents a digit string -#: fe-protocol3.c:1068 fe-protocol3.c:1087 +#: fe-protocol3.c:1085 fe-protocol3.c:1104 #, c-format msgid " at character %s" msgstr " vid tecken %s" -#: fe-protocol3.c:1100 +#: fe-protocol3.c:1117 #, c-format msgid "DETAIL: %s\n" msgstr "DETALJ: %s\n" -#: fe-protocol3.c:1103 +#: fe-protocol3.c:1120 #, c-format msgid "HINT: %s\n" msgstr "TIPS: %s\n" -#: fe-protocol3.c:1106 +#: fe-protocol3.c:1123 #, c-format msgid "QUERY: %s\n" msgstr "FRÅGA: %s\n" -#: fe-protocol3.c:1113 +#: fe-protocol3.c:1130 #, c-format msgid "CONTEXT: %s\n" msgstr "KONTEXT: %s\n" -#: fe-protocol3.c:1122 +#: fe-protocol3.c:1139 #, c-format msgid "SCHEMA NAME: %s\n" msgstr "SCHEMANAMN: %s\n" -#: fe-protocol3.c:1126 +#: fe-protocol3.c:1143 #, c-format msgid "TABLE NAME: %s\n" msgstr "TABELLNAMN: %s\n" -#: fe-protocol3.c:1130 +#: fe-protocol3.c:1147 #, c-format msgid "COLUMN NAME: %s\n" msgstr "KOLUMNNAMN: %s\n" -#: fe-protocol3.c:1134 +#: fe-protocol3.c:1151 #, c-format msgid "DATATYPE NAME: %s\n" msgstr "DATATYPNAMN: %s\n" -#: fe-protocol3.c:1138 +#: fe-protocol3.c:1155 #, c-format msgid "CONSTRAINT NAME: %s\n" msgstr "VILLKORSNAMN: %s\n" -#: fe-protocol3.c:1150 +#: fe-protocol3.c:1167 msgid "LOCATION: " msgstr "PLATS: " -#: fe-protocol3.c:1152 +#: fe-protocol3.c:1169 #, c-format msgid "%s, " msgstr "%s, " -#: fe-protocol3.c:1154 +#: fe-protocol3.c:1171 #, c-format msgid "%s:%s" msgstr "%s:%s" -#: fe-protocol3.c:1349 +#: fe-protocol3.c:1366 #, c-format msgid "LINE %d: " msgstr "RAD %d: " -#: fe-protocol3.c:1423 +#: fe-protocol3.c:1440 #, 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:1429 +#: fe-protocol3.c:1446 #, 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:1437 +#: fe-protocol3.c:1454 #, c-format msgid "invalid %s message" msgstr "ogiltig %s-meddelande" -#: fe-protocol3.c:1802 +#: fe-protocol3.c:1819 #, c-format msgid "PQgetline: not doing text COPY OUT" msgstr "PQgetline: utför inte text-COPY OUT" -#: fe-protocol3.c:2176 +#: fe-protocol3.c:2193 #, c-format msgid "protocol error: no function result" msgstr "protokollfel: inget funktionsresultat" -#: fe-protocol3.c:2187 +#: fe-protocol3.c:2204 #, c-format msgid "protocol error: id=0x%x" msgstr "protokollfel: id=0x%x" @@ -1213,132 +1251,132 @@ msgstr "servercertifikat för \"%s\" matchar inte värdnamn \"%s\"" 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:201 +#: fe-secure-gssapi.c:194 msgid "GSSAPI wrap error" msgstr "GSSAPI-fel vid inpackning" -#: fe-secure-gssapi.c:208 +#: fe-secure-gssapi.c:201 #, c-format msgid "outgoing GSSAPI message would not use confidentiality" msgstr "utående GSSAPI-meddelande skulle inte använda sekretess" -#: fe-secure-gssapi.c:215 +#: fe-secure-gssapi.c:208 #, 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:351 fe-secure-gssapi.c:593 +#: fe-secure-gssapi.c:347 fe-secure-gssapi.c:589 #, 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:390 +#: fe-secure-gssapi.c:386 msgid "GSSAPI unwrap error" msgstr "GSSAPI-fel vid uppackning" -#: fe-secure-gssapi.c:399 +#: fe-secure-gssapi.c:395 #, c-format msgid "incoming GSSAPI message did not use confidentiality" msgstr "inkommande GSSAPI-meddelande använde inte sekretess" -#: fe-secure-gssapi.c:656 +#: fe-secure-gssapi.c:652 msgid "could not initiate GSSAPI security context" msgstr "kunde inte initiera GSSAPI-säkerhetskontext" -#: fe-secure-gssapi.c:685 +#: fe-secure-gssapi.c:681 msgid "GSSAPI size check error" msgstr "GSSAPI-fel vid kontroll av storlek" -#: fe-secure-gssapi.c:696 +#: fe-secure-gssapi.c:692 msgid "GSSAPI context establishment error" msgstr "GSSAPI-fel vid skapande av kontext" -#: fe-secure-openssl.c:219 fe-secure-openssl.c:319 fe-secure-openssl.c:1531 +#: 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 fel: %s" -#: fe-secure-openssl.c:225 fe-secure-openssl.c:325 fe-secure-openssl.c:1534 +#: 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-fel: EOF upptäckt" -#: fe-secure-openssl.c:235 fe-secure-openssl.c:335 fe-secure-openssl.c:1542 +#: fe-secure-openssl.c:223 fe-secure-openssl.c:329 fe-secure-openssl.c:1535 #, c-format msgid "SSL error: %s" msgstr "SSL-fel: %s" -#: fe-secure-openssl.c:249 fe-secure-openssl.c:349 +#: fe-secure-openssl.c:237 fe-secure-openssl.c:343 #, c-format msgid "SSL connection has been closed unexpectedly" msgstr "SSL-anslutning har oväntat stängts" -#: fe-secure-openssl.c:254 fe-secure-openssl.c:354 fe-secure-openssl.c:1589 +#: fe-secure-openssl.c:242 fe-secure-openssl.c:348 fe-secure-openssl.c:1582 #, c-format msgid "unrecognized SSL error code: %d" msgstr "okänd SSL-felkod: %d" -#: fe-secure-openssl.c:397 +#: fe-secure-openssl.c:390 #, c-format msgid "could not determine server certificate signature algorithm" msgstr "kunde inte bestämma serverns algoritm för certifikatsignering" -#: fe-secure-openssl.c:417 +#: fe-secure-openssl.c:410 #, c-format msgid "could not find digest for NID %s" msgstr "kunde inte hitta kontrollsumma för NID %s" -#: fe-secure-openssl.c:426 +#: fe-secure-openssl.c:419 #, c-format msgid "could not generate peer certificate hash" msgstr "kunde inte generera peer-certifikathash" -#: fe-secure-openssl.c:509 +#: fe-secure-openssl.c:501 #, c-format msgid "SSL certificate's name entry is missing" msgstr "SSL-certifikatets namnpost saknas" -#: fe-secure-openssl.c:543 +#: fe-secure-openssl.c:535 #, c-format msgid "SSL certificate's address entry is missing" msgstr "SSL-certifikatets adresspost saknas" -#: fe-secure-openssl.c:960 +#: fe-secure-openssl.c:935 #, c-format msgid "could not create SSL context: %s" msgstr "kunde inte skapa SSL-kontext: %s" -#: fe-secure-openssl.c:1002 +#: fe-secure-openssl.c:977 #, c-format msgid "invalid value \"%s\" for minimum SSL protocol version" msgstr "ogiltigt värde \"%s\" för minimal SSL-protokollversion" -#: fe-secure-openssl.c:1012 +#: fe-secure-openssl.c:987 #, c-format msgid "could not set minimum SSL protocol version: %s" msgstr "kunde inte sätta minimal SSL-protokollversion: %s" -#: fe-secure-openssl.c:1028 +#: fe-secure-openssl.c:1003 #, c-format msgid "invalid value \"%s\" for maximum SSL protocol version" msgstr "ogiltigt värde \"%s\" för maximal SSL-protokollversion" -#: fe-secure-openssl.c:1038 +#: fe-secure-openssl.c:1013 #, c-format msgid "could not set maximum SSL protocol version: %s" msgstr "kunde inte sätta maximal SSL-protokollversion: %s" -#: fe-secure-openssl.c:1076 +#: fe-secure-openssl.c:1051 #, c-format msgid "could not load system root certificate paths: %s" msgstr "kunde inte ladda systemets root-certifikatsökvägar: %s" -#: fe-secure-openssl.c:1093 +#: fe-secure-openssl.c:1068 #, c-format msgid "could not read root certificate file \"%s\": %s" msgstr "kunde inte läsa root-certifikatfilen \"%s\": %s" -#: fe-secure-openssl.c:1145 +#: fe-secure-openssl.c:1120 #, c-format msgid "" "could not get home directory to locate root certificate file\n" @@ -1347,7 +1385,7 @@ msgstr "" "kunde inte hämta hemkatalogen för att lokalisera root-certifikatfilen\n" "Antingen tillhandahåll filen, använd systemets betrodda root med sslrootcert=system eller ändra sslmode för att stänga av serverns certifikatverifiering." -#: fe-secure-openssl.c:1148 +#: fe-secure-openssl.c:1123 #, c-format msgid "" "root certificate file \"%s\" does not exist\n" @@ -1356,112 +1394,127 @@ msgstr "" "root-certifikatfilen \"%s\" finns inte\n" "Antingen tillhandahåll filen, använd systemets betrodda root med sslrootcert=system eller ändra sslmode för att stänga av serverns certifikatverifiering." -#: fe-secure-openssl.c:1183 +#: fe-secure-openssl.c:1158 #, c-format msgid "could not open certificate file \"%s\": %s" msgstr "kunde inte öppna certifikatfil \"%s\": %s" -#: fe-secure-openssl.c:1201 +#: fe-secure-openssl.c:1176 #, c-format msgid "could not read certificate file \"%s\": %s" msgstr "kunde inte läsa certifikatfil \"%s\": %s" -#: fe-secure-openssl.c:1225 +#: fe-secure-openssl.c:1200 #, c-format msgid "could not establish SSL connection: %s" msgstr "kan inte skapa SSL-anslutning: %s" -#: fe-secure-openssl.c:1257 +#: fe-secure-openssl.c:1232 #, c-format msgid "could not set SSL Server Name Indication (SNI): %s" msgstr "kunde inte sätta SSL servernamnsindikering (SNI): %s" -#: fe-secure-openssl.c:1300 +#: fe-secure-openssl.c:1249 +#, c-format +msgid "could not set SSL ALPN extension: %s" +msgstr "kunde inte sätta utökning för SSL ALPN: %s" + +#: fe-secure-openssl.c:1292 #, c-format msgid "could not load SSL engine \"%s\": %s" msgstr "kunde inte ladda SSL-motor \"%s\": %s" -#: fe-secure-openssl.c:1311 +#: fe-secure-openssl.c:1303 #, c-format msgid "could not initialize SSL engine \"%s\": %s" msgstr "kunde inte initiera SSL-motor \"%s\": %s" -#: fe-secure-openssl.c:1326 +#: fe-secure-openssl.c:1318 #, c-format msgid "could not read private SSL key \"%s\" from engine \"%s\": %s" msgstr "kunde inte läsa privat SSL-nyckel \"%s\" från motor \"%s\": %s" -#: fe-secure-openssl.c:1339 +#: fe-secure-openssl.c:1331 #, c-format msgid "could not load private SSL key \"%s\" from engine \"%s\": %s" msgstr "kunde inte ladda privat SSL-nyckel \"%s\" från motor \"%s\": %s" -#: fe-secure-openssl.c:1376 +#: fe-secure-openssl.c:1368 #, c-format msgid "certificate present, but not private key file \"%s\"" msgstr "certifikat tillgängligt, men inte den privata nyckelfilen \"%s\"" -#: fe-secure-openssl.c:1379 +#: fe-secure-openssl.c:1371 #, c-format msgid "could not stat private key file \"%s\": %m" msgstr "kunde inte köra stat() på privata nyckelfilen \"%s\": %m" -#: fe-secure-openssl.c:1387 +#: fe-secure-openssl.c:1379 #, c-format msgid "private key file \"%s\" is not a regular file" msgstr "privat nyckelfil \"%s\" är inte en vanlig fil" -#: fe-secure-openssl.c:1420 +#: 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 "privata nyckelfilen \"%s\" har grupp- eller världsrättigheter; filen måste ha rättigheterna u=rw (0600) eller mindre om den ägs av databasanvändaren eller rättigheterna u=rw,g=r (0640) eller mindre om den ägs av root." -#: fe-secure-openssl.c:1444 +#: fe-secure-openssl.c:1436 #, c-format msgid "could not load private key file \"%s\": %s" msgstr "kunde inte läsa in privata nyckelfilen \"%s\": %s" -#: fe-secure-openssl.c:1460 +#: fe-secure-openssl.c:1452 #, c-format msgid "certificate does not match private key file \"%s\": %s" msgstr "certifikatet matchar inte den privata nyckelfilen \"%s\": %s" -#: fe-secure-openssl.c:1528 +#: fe-secure-openssl.c:1521 #, c-format msgid "SSL error: certificate verify failed: %s" msgstr "SSL-fel: verifiering av certifikat misslyckades: %s" -#: fe-secure-openssl.c:1573 +#: 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 "Detta kan tyda på att servern inte stöder någon SSL-protokolversion mellan %s oc %s." -#: fe-secure-openssl.c:1606 +#: fe-secure-openssl.c:1598 +#, c-format +msgid "direct SSL connection was established without ALPN protocol negotiation extension" +msgstr "direkt SSL-anslutning har upprättats utan utökning för ALPN-protokollförhandling" + +#: fe-secure-openssl.c:1610 +#, c-format +msgid "SSL connection was established with unexpected ALPN protocol" +msgstr "SSL-anslutning har upprättats med oväntat ALPN-protokoll" + +#: fe-secure-openssl.c:1627 #, c-format msgid "certificate could not be obtained: %s" msgstr "certifikatet kunde inte hämtas: %s" -#: fe-secure-openssl.c:1711 +#: fe-secure-openssl.c:1734 #, c-format msgid "no SSL error reported" msgstr "inget SSL-fel rapporterat" -#: fe-secure-openssl.c:1720 +#: fe-secure-openssl.c:1776 #, c-format msgid "SSL error code %lu" msgstr "SSL-felkod %lu" -#: fe-secure-openssl.c:1986 +#: fe-secure-openssl.c:2075 #, c-format msgid "WARNING: sslpassword truncated\n" msgstr "VARNING: sslpassword trunkerat\n" -#: fe-secure.c:263 +#: fe-secure.c:248 #, c-format msgid "could not receive data from server: %s" msgstr "kunde inte ta emot data från servern: %s" -#: fe-secure.c:434 +#: fe-secure.c:419 #, c-format msgid "could not send data to server: %s" msgstr "kunde inte skicka data till servern: %s" @@ -1470,48 +1523,3 @@ msgstr "kunde inte skicka data till servern: %s" #, c-format msgid "unrecognized socket error: 0x%08X/%d" msgstr "okänt socket-fel: 0x%08X/%d" - -#, c-format -#~ msgid "%s(%s) failed: error code %d\n" -#~ msgstr "%s(%s) misslyckades: felkod %d\n" - -#~ msgid "SCM_CRED authentication method not supported\n" -#~ msgstr "autentiseringsmetoden SCM_CRED stöds ej\n" - -#, c-format -#~ msgid "SSL error: %s\n" -#~ msgstr "SSL-fel: %s\n" - -#, c-format -#~ msgid "Unix-domain socket path \"%s\" is too long (maximum %d bytes)\n" -#~ msgstr "Sökväg till unixdomänuttag \"%s\" är för lång (maximalt %d byte)\n" - -#, c-format -#~ msgid "could not create SSL context: %s\n" -#~ msgstr "kan inte skapa SSL-omgivning: %s\n" - -#, c-format -#~ msgid "could not load private key file \"%s\": %s\n" -#~ msgstr "kunde inte ladda privata nyckelfilen \"%s\": %s\n" - -#, c-format -#~ msgid "could not open file \"%s\": %s\n" -#~ msgstr "kan inte öppna fil \"%s\": %s\n" - -#~ msgid "incoming GSSAPI message did not use confidentiality\n" -#~ msgstr "inkommande GSSAPI-meddelande använde inte sekretess\n" - -#~ msgid "outgoing GSSAPI message would not use confidentiality\n" -#~ msgstr "utgående GSSAPI-meddelande skulle inte använda sekretess\n" - -#, c-format -#~ msgid "private key file \"%s\" is not a regular file\n" -#~ msgstr "privat nyckelfilen \"%s\" är inte en vanlig fil\n" - -#, c-format -#~ msgid "unrecognized SSL error code: %d\n" -#~ msgstr "okänd SSL-felkod: %d\n" - -#, c-format -#~ msgid "user name lookup failure: error code %lu\n" -#~ msgstr "misslyckad sökning efter användarnamn: felkod %lu\n" diff --git a/src/interfaces/libpq/po/uk.po b/src/interfaces/libpq/po/uk.po index 4d5cdf1b724..6c57f4501b0 100644 --- a/src/interfaces/libpq/po/uk.po +++ b/src/interfaces/libpq/po/uk.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: postgresql\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-02-09 18:10+0000\n" -"PO-Revision-Date: 2024-02-11 16:35\n" +"POT-Creation-Date: 2024-08-31 06:10+0000\n" +"PO-Revision-Date: 2024-09-23 19:38\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -14,129 +14,130 @@ msgstr "" "X-Crowdin-Project: postgresql\n" "X-Crowdin-Project-ID: 324573\n" "X-Crowdin-Language: uk\n" -"X-Crowdin-File: /REL_16_STABLE/libpq.pot\n" -"X-Crowdin-File-ID: 971\n" +"X-Crowdin-File: /REL_17_STABLE/libpq.pot\n" +"X-Crowdin-File-ID: 1026\n" -#: ../../port/thread.c:50 ../../port/thread.c:86 +#: ../../port/user.c:43 ../../port/user.c:79 #, c-format msgid "could not look up local user ID %d: %s" msgstr "не вдалося знайти локального користувача з ідентифікатором %d: %s" -#: ../../port/thread.c:55 ../../port/thread.c:91 +#: ../../port/user.c:48 ../../port/user.c:84 #, c-format msgid "local user with ID %d does not exist" msgstr "локального користувача з ідентифікатором %d не існує" -#: fe-auth-scram.c:227 +#: fe-auth-scram.c:223 #, c-format msgid "malformed SCRAM message (empty message)" msgstr "неправильне повідомлення SCRAM (пусте повідомлення)" -#: fe-auth-scram.c:232 +#: fe-auth-scram.c:228 #, c-format msgid "malformed SCRAM message (length mismatch)" msgstr "неправильне повідомлення SCRAM (невідповідність довжини)" -#: fe-auth-scram.c:275 +#: fe-auth-scram.c:272 #, c-format msgid "could not verify server signature: %s" msgstr "не вдалося перевірити підпис сервера: %s" -#: fe-auth-scram.c:281 +#: fe-auth-scram.c:278 #, c-format msgid "incorrect server signature" msgstr "невірний підпис сервера" -#: fe-auth-scram.c:290 +#: fe-auth-scram.c:287 #, c-format msgid "invalid SCRAM exchange state" msgstr "неприпустимий стан обміну SCRAM" -#: fe-auth-scram.c:317 +#: fe-auth-scram.c:311 #, c-format msgid "malformed SCRAM message (attribute \"%c\" expected)" msgstr "неправильне повідомлення SCRAM (очікувався атрибут \"%c\")" -#: fe-auth-scram.c:326 +#: fe-auth-scram.c:320 #, c-format msgid "malformed SCRAM message (expected character \"=\" for attribute \"%c\")" msgstr "неправильне повідомлення SCRAM (очікувався символ \"=\" для атрибута \"%c\")" -#: fe-auth-scram.c:366 +#: fe-auth-scram.c:360 #, c-format msgid "could not generate nonce" msgstr "не вдалося згенерувати одноразовий ідентифікатор" -#: fe-auth-scram.c:375 fe-auth-scram.c:448 fe-auth-scram.c:600 -#: fe-auth-scram.c:620 fe-auth-scram.c:644 fe-auth-scram.c:658 -#: fe-auth-scram.c:704 fe-auth-scram.c:740 fe-auth-scram.c:914 fe-auth.c:296 -#: fe-auth.c:369 fe-auth.c:403 fe-auth.c:618 fe-auth.c:729 fe-auth.c:1210 -#: fe-auth.c:1375 fe-connect.c:925 fe-connect.c:1759 fe-connect.c:1921 -#: fe-connect.c:3291 fe-connect.c:4496 fe-connect.c:5161 fe-connect.c:5416 -#: fe-connect.c:5534 fe-connect.c:5781 fe-connect.c:5861 fe-connect.c:5959 -#: fe-connect.c:6210 fe-connect.c:6237 fe-connect.c:6313 fe-connect.c:6336 -#: fe-connect.c:6360 fe-connect.c:6395 fe-connect.c:6481 fe-connect.c:6489 -#: fe-connect.c:6846 fe-connect.c:6996 fe-exec.c:527 fe-exec.c:1323 -#: fe-exec.c:3132 fe-exec.c:4100 fe-exec.c:4264 fe-gssapi-common.c:109 -#: fe-lobj.c:870 fe-protocol3.c:204 fe-protocol3.c:228 fe-protocol3.c:251 -#: fe-protocol3.c:268 fe-protocol3.c:348 fe-protocol3.c:715 fe-protocol3.c:954 -#: fe-protocol3.c:1765 fe-protocol3.c:2165 fe-secure-common.c:110 -#: fe-secure-gssapi.c:496 fe-secure-openssl.c:435 fe-secure-openssl.c:1271 +#: 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:159 fe-connect.c:936 fe-connect.c:976 +#: fe-connect.c:1860 fe-connect.c:2022 fe-connect.c:3430 fe-connect.c:4775 +#: fe-connect.c:5087 fe-connect.c:5342 fe-connect.c:5460 fe-connect.c:5707 +#: fe-connect.c:5787 fe-connect.c:5885 fe-connect.c:6136 fe-connect.c:6163 +#: fe-connect.c:6239 fe-connect.c:6262 fe-connect.c:6286 fe-connect.c:6321 +#: fe-connect.c:6407 fe-connect.c:6415 fe-connect.c:6772 fe-connect.c:6922 +#: fe-exec.c:530 fe-exec.c:1315 fe-exec.c:3254 fe-exec.c:4234 fe-exec.c:4398 +#: 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 #, c-format msgid "out of memory" msgstr "недостатньо пам'яті" -#: fe-auth-scram.c:382 +#: fe-auth-scram.c:376 #, c-format msgid "could not encode nonce" msgstr "не вдалося закодувати одноразовий ідентифікатор" -#: fe-auth-scram.c:570 +#: fe-auth-scram.c:564 #, c-format msgid "could not calculate client proof: %s" msgstr "не вдалося обчислити підтвердження клієнта: %s" -#: fe-auth-scram.c:585 +#: fe-auth-scram.c:579 #, c-format msgid "could not encode client proof" msgstr "не вдалося закодувати підтвердження клієнта" -#: fe-auth-scram.c:637 +#: fe-auth-scram.c:631 #, c-format msgid "invalid SCRAM response (nonce mismatch)" msgstr "неприпустима відповідь SCRAM (невідповідність одноразового ідентифікатора)" -#: fe-auth-scram.c:667 +#: fe-auth-scram.c:661 #, c-format msgid "malformed SCRAM message (invalid salt)" msgstr "неправильне повідомлення SCRAM (неприпустима сіль)" -#: fe-auth-scram.c:680 +#: fe-auth-scram.c:674 #, c-format msgid "malformed SCRAM message (invalid iteration count)" msgstr "неправильне повідомлення SCRAM (неприпустима кількість ітерацій)" -#: fe-auth-scram.c:685 +#: fe-auth-scram.c:679 #, c-format msgid "malformed SCRAM message (garbage at end of server-first-message)" msgstr "неправильне повідомлення SCRAM (сміття в кінці першого повідомлення сервера)" -#: fe-auth-scram.c:719 +#: fe-auth-scram.c:713 #, c-format msgid "error received from server in SCRAM exchange: %s" msgstr "отримано помилку від сервера під час обміну SCRAM: %s" -#: fe-auth-scram.c:734 +#: fe-auth-scram.c:728 #, c-format msgid "malformed SCRAM message (garbage at end of server-final-message)" msgstr "неправильне повідомлення SCRAM (сміття в кінці останнього повідомлення сервера)" -#: fe-auth-scram.c:751 +#: fe-auth-scram.c:745 #, c-format msgid "malformed SCRAM message (invalid server signature)" msgstr "неправильне повідомлення SCRAM (неприпустимий підпис сервера)" -#: fe-auth-scram.c:923 +#: fe-auth-scram.c:917 msgid "could not generate random salt" msgstr "не вдалося згенерувати випадкову сіль" @@ -178,22 +179,22 @@ msgstr "дублікат запиту автентифікації SSPI" msgid "could not acquire SSPI credentials" msgstr "не вдалось отримати облікові дані SSPI" -#: fe-auth.c:437 +#: fe-auth.c:436 #, c-format msgid "channel binding required, but SSL not in use" msgstr "необхідно зв’язування каналів, але SSL не використовується" -#: fe-auth.c:443 +#: fe-auth.c:442 #, c-format msgid "duplicate SASL authentication request" msgstr "дублікат запиту автентифікації SASL" -#: fe-auth.c:501 +#: fe-auth.c:500 #, c-format msgid "channel binding is required, but client does not support it" msgstr "потрібно зв'язування каналів, але клієнт не підтримує його" -#: fe-auth.c:517 +#: fe-auth.c:516 #, c-format msgid "server offered SCRAM-SHA-256-PLUS authentication over a non-SSL connection" msgstr "сервер запропонував автентифікацію SCRAM-SHA-256-PLUS через підключення без SSL" @@ -208,726 +209,768 @@ msgstr "жоден з серверних механізмів автентифі msgid "channel binding is required, but server did not offer an authentication method that supports channel binding" msgstr "потрібно зв'язування каналів, але сервер не запропонував метод аутентифікації, який підтримує зв’язування каналів" -#: fe-auth.c:641 +#: fe-auth.c:640 #, c-format msgid "out of memory allocating SASL buffer (%d)" msgstr "недостатньо пам'яті для буфера SASL (%d)" -#: fe-auth.c:665 +#: fe-auth.c:663 #, c-format msgid "AuthenticationSASLFinal received from server, but SASL authentication was not completed" msgstr "Від сервера отримано AuthenticationSASLFinal, але автентифікація SASL не була завершена" -#: fe-auth.c:675 +#: fe-auth.c:673 #, c-format msgid "no client response found after SASL exchange success" msgstr "після успішного обміну SASL немає відповіді клієнта" -#: fe-auth.c:738 fe-auth.c:745 fe-auth.c:1358 fe-auth.c:1369 +#: 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:773 +#: fe-auth.c:772 msgid "server requested a cleartext password" msgstr "сервер надіслав запит на пароль простим текстом" -#: fe-auth.c:775 +#: fe-auth.c:774 msgid "server requested a hashed password" msgstr "сервер надіслав запит на хешований пароль" -#: fe-auth.c:778 +#: fe-auth.c:777 msgid "server requested GSSAPI authentication" msgstr "сервер запросив автентифікацію GSSAPI" -#: fe-auth.c:780 +#: fe-auth.c:779 msgid "server requested SSPI authentication" msgstr "сервер запросив автентифікацію SSPI" -#: fe-auth.c:784 +#: fe-auth.c:783 msgid "server requested SASL authentication" msgstr "сервер запросив автентифікацію SASL" -#: fe-auth.c:787 +#: fe-auth.c:786 msgid "server requested an unknown authentication type" msgstr "сервер надіслав запит невідомого типу автентифікації" -#: fe-auth.c:820 +#: fe-auth.c:819 #, c-format msgid "server did not request an SSL certificate" msgstr "сервер не запитував SSL-сертифікат" -#: fe-auth.c:825 +#: fe-auth.c:824 #, c-format msgid "server accepted connection without a valid SSL certificate" msgstr "сервер приймає підключення без дійсного SSL-сертифікату" -#: fe-auth.c:879 +#: fe-auth.c:878 msgid "server did not complete authentication" msgstr "сервер не пройшов автентифікацію" -#: fe-auth.c:913 +#: fe-auth.c:912 #, c-format msgid "authentication method requirement \"%s\" failed: %s" msgstr "помилка вимоги \"%s\" методу автентифікації: %s" -#: fe-auth.c:936 +#: fe-auth.c:935 #, c-format msgid "channel binding required, but server authenticated client without channel binding" msgstr "потрібно зв'язування каналів, але сервер автентифікував клієнта без зв’язування каналів" -#: fe-auth.c:941 +#: fe-auth.c:940 #, c-format msgid "channel binding required but not supported by server's authentication request" msgstr "потрібно зв'язування каналів, але не підтримується запитом на аутентифікацію сервера" -#: fe-auth.c:975 +#: fe-auth.c:974 #, c-format msgid "Kerberos 4 authentication not supported" msgstr "Автентифікація Kerberos 4 не підтримується" -#: fe-auth.c:979 +#: fe-auth.c:978 #, c-format msgid "Kerberos 5 authentication not supported" msgstr "Автентифікація Kerberos 5 не підтримується" -#: fe-auth.c:1049 +#: fe-auth.c:1048 #, c-format msgid "GSSAPI authentication not supported" msgstr "Автентифікація GSSAPI не підтримується" -#: fe-auth.c:1080 +#: fe-auth.c:1079 #, c-format msgid "SSPI authentication not supported" msgstr "Автентифікація SSPI не підтримується" -#: fe-auth.c:1087 +#: fe-auth.c:1086 #, c-format msgid "Crypt authentication not supported" msgstr "Автентифікація Crypt не підтримується" -#: fe-auth.c:1151 +#: fe-auth.c:1150 #, c-format msgid "authentication method %u not supported" msgstr "спосіб автентифікації %u не підтримується" -#: fe-auth.c:1197 +#: fe-auth.c:1187 #, c-format msgid "user name lookup failure: error code %lu" msgstr "невдала підстановка імені користувача: код помилки %lu" -#: fe-auth.c:1321 +#: fe-auth.c:1309 #, c-format msgid "unexpected shape of result set returned for SHOW" msgstr "неочікувана форма набору результатів повернулася для SHOW" -#: fe-auth.c:1329 +#: fe-auth.c:1317 #, c-format -msgid "password_encryption value too long" -msgstr "занадто довге значення password_encryption" +msgid "\"password_encryption\" value too long" +msgstr "занадто довге значення \"password_encryption\"" -#: fe-auth.c:1379 +#: fe-auth.c:1367 #, c-format msgid "unrecognized password encryption algorithm \"%s\"" msgstr "нерозпізнаний алгоритм шифрування пароля \"%s\"" -#: fe-connect.c:1132 +#: fe-cancel.c:76 +#, c-format +msgid "connection pointer is NULL" +msgstr "нульове значення вказівника підключення" + +#: fe-cancel.c:82 fe-misc.c:572 +#, c-format +msgid "connection not open" +msgstr "підключення не відкрито" + +#: fe-cancel.c:193 +#, c-format +msgid "cancel request is already being sent on this connection" +msgstr "запит на скасування вже надсилається при цьому підключенні" + +#: fe-cancel.c:263 +#, c-format +msgid "unexpected response from server" +msgstr "неочікувана відповідь сервера" + +#: fe-connect.c:1182 #, c-format msgid "could not match %d host names to %d hostaddr values" msgstr "не вдалося зіставити імена хостів %d для значень %d hostaddr" -#: fe-connect.c:1212 +#: fe-connect.c:1262 #, c-format msgid "could not match %d port numbers to %d hosts" msgstr "не вдалося зіставити %d номерів портів з %d хостами" -#: fe-connect.c:1337 +#: fe-connect.c:1387 #, c-format msgid "negative require_auth method \"%s\" cannot be mixed with non-negative methods" msgstr "від'ємний метод require_auth \"%s\" не може бути змішаний з позитивними методами" -#: fe-connect.c:1350 +#: fe-connect.c:1400 #, c-format msgid "require_auth method \"%s\" cannot be mixed with negative methods" msgstr "метод require_auth \"%s\" не може бути змішаний з негативними методами" -#: fe-connect.c:1410 fe-connect.c:1461 fe-connect.c:1503 fe-connect.c:1559 -#: fe-connect.c:1567 fe-connect.c:1598 fe-connect.c:1644 fe-connect.c:1684 -#: fe-connect.c:1705 +#: 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 #, c-format msgid "invalid %s value: \"%s\"" msgstr "неприпустиме значення %s: \"%s\"" -#: fe-connect.c:1443 +#: fe-connect.c:1493 #, c-format msgid "require_auth method \"%s\" is specified more than once" msgstr "require_auth метод \"%s\" вказаний неодноразово" -#: fe-connect.c:1484 fe-connect.c:1523 fe-connect.c:1606 +#: fe-connect.c:1534 fe-connect.c:1573 fe-connect.c:1605 fe-connect.c:1707 #, c-format msgid "%s value \"%s\" invalid when SSL support is not compiled in" msgstr "%s значення \"%s\" неприпустиме, якщо підтримку протоколу SSL не скомпільовано" -#: fe-connect.c:1546 +#: fe-connect.c:1625 +#, 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 #, 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:1584 +#: fe-connect.c:1660 fe-connect.c:1668 +#, c-format +msgid "invalid \"%s\" value: \"%s\"" +msgstr "неприпустиме значення \"%s\": \"%s\"" + +#: fe-connect.c:1685 #, c-format msgid "invalid SSL protocol version range" msgstr "неприпустимий діапазон версії протоколу SSL" -#: fe-connect.c:1621 +#: fe-connect.c:1722 #, c-format msgid "%s value \"%s\" is not supported (check OpenSSL version)" msgstr "%s значення \"%s\" не підтримується (перевірте версію OpenSSL)" -#: fe-connect.c:1651 +#: fe-connect.c:1752 #, c-format msgid "gssencmode value \"%s\" invalid when GSSAPI support is not compiled in" msgstr "значення gssencmode \"%s\" неприпустиме, якщо підтримку протоколу GSSAPI не скомпільовано" -#: fe-connect.c:1944 +#: fe-connect.c:2045 #, c-format msgid "could not set socket to TCP no delay mode: %s" msgstr "не вдалося встановити сокет у TCP-режим без затримки: %s" -#: fe-connect.c:2003 +#: fe-connect.c:2104 #, c-format msgid "connection to server on socket \"%s\" failed: " msgstr "помилка при з'єднанні з сервером через сокет \"%s\": " -#: fe-connect.c:2029 +#: fe-connect.c:2130 #, c-format msgid "connection to server at \"%s\" (%s), port %s failed: " msgstr "підключення до серверу \"%s\" (%s), порт %s провалено: " -#: fe-connect.c:2034 +#: fe-connect.c:2135 #, c-format msgid "connection to server at \"%s\", port %s failed: " msgstr "підключення до серверу \"%s\", порт %s провалено: " -#: fe-connect.c:2057 +#: fe-connect.c:2158 #, c-format msgid "\tIs the server running locally and accepting connections on that socket?" msgstr "\tЧи працює сервер локально і приймає підключення до цього сокету?" -#: fe-connect.c:2059 +#: fe-connect.c:2160 #, c-format msgid "\tIs the server running on that host and accepting TCP/IP connections?" msgstr "\tЧи працює сервер на цьому хості і приймає TCP/IP підключення?" -#: fe-connect.c:2122 -#, c-format -msgid "invalid integer value \"%s\" for connection option \"%s\"" -msgstr "неприпустиме ціле значення \"%s\" для параметра з'єднання \"%s\"" - -#: fe-connect.c:2151 fe-connect.c:2185 fe-connect.c:2220 fe-connect.c:2318 -#: fe-connect.c:2973 +#: fe-connect.c:2206 fe-connect.c:2240 fe-connect.c:2275 fe-connect.c:2373 +#: fe-connect.c:3098 #, c-format msgid "%s(%s) failed: %s" msgstr "%s(%s) помилка: %s" -#: fe-connect.c:2284 +#: fe-connect.c:2339 #, c-format msgid "%s(%s) failed: error code %d" msgstr "%s(%s) помилка: код помилки %d" -#: fe-connect.c:2597 +#: fe-connect.c:2650 #, c-format msgid "invalid connection state, probably indicative of memory corruption" msgstr "неприпустимий стан підключення, можливо, пошкоджена пам'ять" -#: fe-connect.c:2676 +#: fe-connect.c:2733 #, c-format msgid "invalid port number: \"%s\"" msgstr "неприпустимий номер порту: \"%s\"" -#: fe-connect.c:2690 +#: fe-connect.c:2747 #, c-format msgid "could not translate host name \"%s\" to address: %s" msgstr "не вдалося перекласти ім’я хоста \"%s\" в адресу: %s" -#: fe-connect.c:2702 +#: fe-connect.c:2759 #, c-format msgid "could not parse network address \"%s\": %s" msgstr "не вдалося проаналізувати адресу мережі \"%s\": %s" -#: fe-connect.c:2713 +#: fe-connect.c:2770 #, c-format msgid "Unix-domain socket path \"%s\" is too long (maximum %d bytes)" msgstr "Шлях Unix-сокету \"%s\" занадто довгий (максимум %d байтів)" -#: fe-connect.c:2727 +#: fe-connect.c:2784 #, c-format msgid "could not translate Unix-domain socket path \"%s\" to address: %s" msgstr "не вдалося перекласти шлях Unix-сокету \"%s\" в адресу: %s" -#: fe-connect.c:2901 +#: fe-connect.c:2950 fe-connect.c:4319 +#, c-format +msgid "GSSAPI encryption required but it is not supported over a local socket" +msgstr "Потрібне шифрування GSSAPI, але воно не підтримується над локальним сокетом" + +#: fe-connect.c:2958 fe-connect.c:4448 +#, c-format +msgid "GSSAPI encryption required but no credential cache" +msgstr "Шифрування GSSAPI необхідне, але немає кешу облікових даних" + +#: fe-connect.c:3026 #, c-format msgid "could not create socket: %s" msgstr "не вдалося створити сокет: %s" -#: fe-connect.c:2932 +#: fe-connect.c:3057 #, c-format msgid "could not set socket to nonblocking mode: %s" msgstr "не вдалося встановити сокет у режим без блокування: %s" -#: fe-connect.c:2943 +#: fe-connect.c:3068 #, c-format msgid "could not set socket to close-on-exec mode: %s" msgstr "не вдалося встановити сокет у режим закриття по виконанню: %s" -#: fe-connect.c:2961 +#: fe-connect.c:3086 #, c-format msgid "keepalives parameter must be an integer" msgstr "параметр keepalives має бути цілим числом" -#: fe-connect.c:3100 +#: fe-connect.c:3225 #, c-format msgid "could not get socket error status: %s" msgstr "не вдалося отримати статус помилки сокету: %s" -#: fe-connect.c:3127 +#: fe-connect.c:3252 #, c-format msgid "could not get client address from socket: %s" msgstr "не вдалося отримати адресу клієнта з сокету: %s" -#: fe-connect.c:3165 +#: fe-connect.c:3278 #, c-format msgid "requirepeer parameter is not supported on this platform" msgstr "параметр requirepeer не підтримується на цій платформі" -#: fe-connect.c:3167 +#: fe-connect.c:3280 #, c-format msgid "could not get peer credentials: %s" msgstr "не вдалось отримати облікові дані учасника: %s" -#: fe-connect.c:3180 +#: fe-connect.c:3293 #, c-format msgid "requirepeer specifies \"%s\", but actual peer user name is \"%s\"" msgstr "requirepeer вказує на \"%s\", але фактичне ім'я вузла \"%s\"" -#: fe-connect.c:3221 +#: fe-connect.c:3331 #, c-format msgid "could not send GSSAPI negotiation packet: %s" msgstr "не вдалося передати пакет узгодження протоколу GSSAPI: %s" -#: fe-connect.c:3233 -#, c-format -msgid "GSSAPI encryption required but was impossible (possibly no credential cache, no server support, or using a local socket)" -msgstr "вимагалося шифрування GSSAPI, але не було неможливим (можливо, без кешу облікових даних, підтримки сервера, або використання локального сокета)" - -#: fe-connect.c:3274 +#: fe-connect.c:3380 #, c-format msgid "could not send SSL negotiation packet: %s" msgstr "не вдалося передати пакет узгодження протоколу SSL: %s" -#: fe-connect.c:3303 +#: fe-connect.c:3412 +#, c-format +msgid "could not send cancel packet: %s" +msgstr "не вдалося надіслати запит на скасування: %s" + +#: fe-connect.c:3442 #, c-format msgid "could not send startup packet: %s" msgstr "не вдалося передати стартовий пакет: %s" -#: fe-connect.c:3378 -#, c-format +#: fe-connect.c:3509 msgid "server does not support SSL, but SSL was required" msgstr "сервер не підтримує протокол SSL, але протокол SSL вимагається" -#: fe-connect.c:3404 +#: fe-connect.c:3534 #, c-format msgid "received invalid response to SSL negotiation: %c" msgstr "отримано неприпустиму відповідь на узгодження SSL: %c" -#: fe-connect.c:3424 +#: fe-connect.c:3562 #, c-format msgid "received unencrypted data after SSL response" msgstr "отримані незашифровані дані після відповіді SSL" -#: fe-connect.c:3504 -#, c-format +#: fe-connect.c:3643 msgid "server doesn't support GSSAPI encryption, but it was required" msgstr "сервер не підтримує шифрування GSSAPI, але це було необхідно" -#: fe-connect.c:3515 +#: fe-connect.c:3647 #, c-format msgid "received invalid response to GSSAPI negotiation: %c" msgstr "отримано неприпустиму відповідь на узгодження GSSAPI: %c" -#: fe-connect.c:3533 +#: fe-connect.c:3665 #, c-format msgid "received unencrypted data after GSSAPI encryption response" msgstr "отримані незашифровані дані після відповіді шифрування GSSAPI" -#: fe-connect.c:3598 +#: fe-connect.c:3725 #, c-format msgid "expected authentication request from server, but received %c" msgstr "очікувався запит автентифікації від сервера, але отримано %c" -#: fe-connect.c:3625 fe-connect.c:3794 +#: fe-connect.c:3753 fe-connect.c:3876 #, c-format msgid "received invalid authentication request" msgstr "отримано неприпустимий запит на аутентифікацію" -#: fe-connect.c:3630 fe-connect.c:3779 +#: fe-connect.c:3759 fe-connect.c:3861 #, c-format msgid "received invalid protocol negotiation message" msgstr "отримано неприпустиме повідомлення узгодження протоколу" -#: fe-connect.c:3648 fe-connect.c:3702 +#: fe-connect.c:3778 fe-connect.c:3832 #, c-format msgid "received invalid error message" msgstr "отримано неприпустиме повідомлення про помилку" -#: fe-connect.c:3865 +#: fe-connect.c:3947 #, c-format msgid "unexpected message from server during startup" msgstr "неочікуване повідомлення від сервера під час запуску" -#: fe-connect.c:3956 +#: fe-connect.c:4038 #, c-format msgid "session is read-only" msgstr "сесія доступна тільки для читання" -#: fe-connect.c:3958 +#: fe-connect.c:4040 #, c-format msgid "session is not read-only" msgstr "сесія доступна не лише для читання" -#: fe-connect.c:4011 +#: fe-connect.c:4093 #, c-format msgid "server is in hot standby mode" msgstr "сервер знаходиться у режимі hot standby" -#: fe-connect.c:4013 +#: fe-connect.c:4095 #, c-format msgid "server is not in hot standby mode" msgstr "сервер не в режимі hot standby" -#: fe-connect.c:4129 fe-connect.c:4179 +#: fe-connect.c:4217 fe-connect.c:4267 #, c-format msgid "\"%s\" failed" msgstr "\"%s\" помилка" -#: fe-connect.c:4193 +#: fe-connect.c:4281 #, c-format msgid "invalid connection state %d, probably indicative of memory corruption" msgstr "неприпустимий стан підключення %d, можливо, пошкоджена пам'ять" -#: fe-connect.c:5174 +#: fe-connect.c:5100 #, c-format msgid "invalid LDAP URL \"%s\": scheme must be ldap://" msgstr "неприпустима URL-адреса протоколу LDAP \"%s\": схема має бути ldap://" -#: fe-connect.c:5189 +#: fe-connect.c:5115 #, c-format msgid "invalid LDAP URL \"%s\": missing distinguished name" msgstr "неприпустима URL-адреса протоколу LDAP \"%s\": відсутнє унікальне ім'я" -#: fe-connect.c:5201 fe-connect.c:5259 +#: fe-connect.c:5127 fe-connect.c:5185 #, c-format msgid "invalid LDAP URL \"%s\": must have exactly one attribute" msgstr "неприпустима URL-адреса протоколу LDAP \"%s\": має бути лише один атрибут" -#: fe-connect.c:5213 fe-connect.c:5275 +#: fe-connect.c:5139 fe-connect.c:5201 #, c-format msgid "invalid LDAP URL \"%s\": must have search scope (base/one/sub)" msgstr "неприпустима URL-адреса протоколу LDAP \"%s\": відсутня область пошуку (base/one/sub)" -#: fe-connect.c:5225 +#: fe-connect.c:5151 #, c-format msgid "invalid LDAP URL \"%s\": no filter" msgstr "неприпустима URL-адреса протоколу LDAP \"%s\": відсутній фільтр" -#: fe-connect.c:5247 +#: fe-connect.c:5173 #, c-format msgid "invalid LDAP URL \"%s\": invalid port number" msgstr "неприпустима URL-адреса протоколу LDAP \"%s\": неприпустимий номер порту" -#: fe-connect.c:5284 +#: fe-connect.c:5210 #, c-format msgid "could not create LDAP structure" msgstr "не вдалось створити структуру LDAP" -#: fe-connect.c:5359 +#: fe-connect.c:5285 #, c-format msgid "lookup on LDAP server failed: %s" msgstr "помилка підстановки на сервері протоколу LDAP: %s" -#: fe-connect.c:5369 +#: fe-connect.c:5295 #, c-format msgid "more than one entry found on LDAP lookup" msgstr "знайдено більше одного входження при підстановці протоколу LDAP" -#: fe-connect.c:5371 fe-connect.c:5382 +#: fe-connect.c:5297 fe-connect.c:5308 #, c-format msgid "no entry found on LDAP lookup" msgstr "не знайдено входження при підстановці протоколу LDAP" -#: fe-connect.c:5392 fe-connect.c:5404 +#: fe-connect.c:5318 fe-connect.c:5330 #, c-format msgid "attribute has no values on LDAP lookup" msgstr "атрибут не має значення при підстановці протоколу LDAP" -#: fe-connect.c:5455 fe-connect.c:5474 fe-connect.c:5998 +#: fe-connect.c:5381 fe-connect.c:5400 fe-connect.c:5924 #, c-format msgid "missing \"=\" after \"%s\" in connection info string" msgstr "відсутній \"=\" після \"%s\" у рядку інформації про підключення" -#: fe-connect.c:5545 fe-connect.c:6181 fe-connect.c:6979 +#: fe-connect.c:5471 fe-connect.c:6107 fe-connect.c:6905 #, c-format msgid "invalid connection option \"%s\"" msgstr "неприпустимий параметр підключення \"%s\"" -#: fe-connect.c:5560 fe-connect.c:6046 +#: fe-connect.c:5486 fe-connect.c:5972 #, c-format msgid "unterminated quoted string in connection info string" msgstr "відкриті лапки у рядку інформації про підключення" -#: fe-connect.c:5640 +#: fe-connect.c:5566 #, c-format msgid "definition of service \"%s\" not found" msgstr "не знайдено визначення сервера \"%s\"" -#: fe-connect.c:5666 +#: fe-connect.c:5592 #, c-format msgid "service file \"%s\" not found" msgstr "не знайдено сервісний файл \"%s\"" -#: fe-connect.c:5679 +#: fe-connect.c:5605 #, c-format msgid "line %d too long in service file \"%s\"" msgstr "рядок %d занадто довгий у сервісному файлі \"%s\"" -#: fe-connect.c:5750 fe-connect.c:5793 +#: fe-connect.c:5676 fe-connect.c:5719 #, c-format msgid "syntax error in service file \"%s\", line %d" msgstr "синтаксична помилка у сервісному файлі \"%s\", рядок %d" -#: fe-connect.c:5761 +#: fe-connect.c:5687 #, c-format msgid "nested service specifications not supported in service file \"%s\", line %d" msgstr "вкладені сервісні специфікації не підтримуються у сервісному файлі \"%s\", рядок %d" -#: fe-connect.c:6500 +#: fe-connect.c:6426 #, c-format msgid "invalid URI propagated to internal parser routine: \"%s\"" msgstr "у внутрішню процедуру аналізу рядка передано помилковий URI: \"%s\"" -#: fe-connect.c:6577 +#: fe-connect.c:6503 #, 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:6584 +#: fe-connect.c:6510 #, c-format msgid "IPv6 host address may not be empty in URI: \"%s\"" msgstr "IPv6 адреса хоста не може бути порожньою в URI: \"%s\"" -#: fe-connect.c:6599 +#: fe-connect.c:6525 #, c-format msgid "unexpected character \"%c\" at position %d in URI (expected \":\" or \"/\"): \"%s\"" msgstr "неочікуваний символ \"%c\" на позиції %d в URI (очікувалося \":\" або \"/\"): \"%s\"" -#: fe-connect.c:6728 +#: fe-connect.c:6654 #, c-format msgid "extra key/value separator \"=\" in URI query parameter: \"%s\"" msgstr "зайвий розділювач ключа/значення \"=\" в параметрі запиту URI: \"%s\"" -#: fe-connect.c:6748 +#: fe-connect.c:6674 #, c-format msgid "missing key/value separator \"=\" in URI query parameter: \"%s\"" msgstr "відсутній розділювач ключа/значення \"=\" у параметрі запиту URI: \"%s\"" -#: fe-connect.c:6800 +#: fe-connect.c:6726 #, c-format msgid "invalid URI query parameter: \"%s\"" msgstr "неприпустимий параметр запиту URI: \"%s\"" -#: fe-connect.c:6874 +#: fe-connect.c:6800 #, c-format msgid "invalid percent-encoded token: \"%s\"" msgstr "неприпустимий токен, закодований відсотками: \"%s\"" -#: fe-connect.c:6884 +#: fe-connect.c:6810 #, c-format msgid "forbidden value %%00 in percent-encoded value: \"%s\"" msgstr "неприпустиме значення %%00 в відсотковому значенні: \"%s\"" -#: fe-connect.c:7248 +#: fe-connect.c:7174 msgid "connection pointer is NULL\n" msgstr "нульове значення вказівника підключення \n" -#: fe-connect.c:7256 fe-exec.c:710 fe-exec.c:972 fe-exec.c:3321 -#: fe-protocol3.c:969 fe-protocol3.c:1002 +#: fe-connect.c:7182 fe-exec.c:713 fe-exec.c:975 fe-exec.c:3459 +#: fe-protocol3.c:991 fe-protocol3.c:1024 msgid "out of memory\n" msgstr "недостатньо пам'яті\n" -#: fe-connect.c:7547 +#: fe-connect.c:7473 #, c-format msgid "WARNING: password file \"%s\" is not a plain file\n" msgstr "ПОПЕРЕДЖЕННЯ: файл паролів \"%s\" не є простим файлом\n" -#: fe-connect.c:7556 +#: fe-connect.c:7482 #, 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:7663 +#: fe-connect.c:7589 #, c-format msgid "password retrieved from file \"%s\"" msgstr "пароль отримано з файлу \"%s\"" -#: fe-exec.c:466 fe-exec.c:3395 +#: fe-connect.c:7741 +#, c-format +msgid "invalid integer value \"%s\" for connection option \"%s\"" +msgstr "неприпустиме ціле значення \"%s\" для параметра з'єднання \"%s\"" + +#: fe-exec.c:469 fe-exec.c:3533 #, c-format msgid "row number %d is out of range 0..%d" msgstr "число рядків %d поза діапазоном 0..%d" -#: fe-exec.c:528 fe-protocol3.c:1971 +#: fe-exec.c:531 fe-protocol3.c:1993 #, c-format msgid "%s" msgstr "%s" -#: fe-exec.c:831 +#: fe-exec.c:834 #, c-format msgid "write to server failed" msgstr "не вдалося записати на сервер" -#: fe-exec.c:871 +#: fe-exec.c:874 #, c-format msgid "no error text available" msgstr "немає доступного тексту помилки" -#: fe-exec.c:960 +#: fe-exec.c:963 msgid "NOTICE" msgstr "ПОВІДОМЛЕННЯ" -#: fe-exec.c:1018 +#: fe-exec.c:1021 msgid "PGresult cannot support more than INT_MAX tuples" msgstr "PGresult не може підтримувати більше ніж INT_MAX кортежів" -#: fe-exec.c:1030 +#: fe-exec.c:1033 msgid "size_t overflow" msgstr "переповнення size_t" -#: fe-exec.c:1446 fe-exec.c:1515 fe-exec.c:1561 +#: fe-exec.c:1438 fe-exec.c:1507 fe-exec.c:1553 #, c-format msgid "command string is a null pointer" msgstr "рядок команди є нульовим вказівником" -#: fe-exec.c:1452 fe-exec.c:2883 +#: fe-exec.c:1444 fe-exec.c:3003 #, c-format msgid "%s not allowed in pipeline mode" msgstr "%s не дозволено в режимі конвеєра" -#: fe-exec.c:1520 fe-exec.c:1566 fe-exec.c:1660 +#: fe-exec.c:1512 fe-exec.c:1558 fe-exec.c:1652 #, c-format msgid "number of parameters must be between 0 and %d" msgstr "кількість параметрів має бути між 0 і %d" -#: fe-exec.c:1556 fe-exec.c:1655 +#: fe-exec.c:1548 fe-exec.c:1647 #, c-format msgid "statement name is a null pointer" msgstr "ім’я оператора є пустим вказівником" -#: fe-exec.c:1697 fe-exec.c:3241 +#: fe-exec.c:1689 fe-exec.c:3379 #, c-format msgid "no connection to the server" msgstr "немає з'єднання з сервером" -#: fe-exec.c:1705 fe-exec.c:3249 +#: fe-exec.c:1697 fe-exec.c:3387 #, c-format msgid "another command is already in progress" msgstr "інша команда вже виконується" -#: fe-exec.c:1735 +#: fe-exec.c:1727 #, c-format msgid "cannot queue commands during COPY" msgstr "не можна поставити в чергу команди під час COPY" -#: fe-exec.c:1852 +#: fe-exec.c:1846 #, c-format msgid "length must be given for binary parameter" msgstr "для бінарного параметра має бути надана довжина" -#: fe-exec.c:2166 +#: fe-exec.c:2205 #, c-format msgid "unexpected asyncStatus: %d" msgstr "неочікуваний asyncStatus: %d" -#: fe-exec.c:2322 +#: fe-exec.c:2361 #, c-format msgid "synchronous command execution functions are not allowed in pipeline mode" msgstr "функції синхронного виконання команд заборонені в режимі конвеєра" -#: fe-exec.c:2339 +#: fe-exec.c:2378 msgid "COPY terminated by new PQexec" msgstr "COPY завершено новим PQexec" -#: fe-exec.c:2355 +#: fe-exec.c:2394 #, c-format msgid "PQexec not allowed during COPY BOTH" msgstr "PQexec не дозволяється під час COPY BOTH" -#: fe-exec.c:2581 fe-exec.c:2636 fe-exec.c:2704 fe-protocol3.c:1902 +#: fe-exec.c:2630 +#, 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 #, c-format msgid "no COPY in progress" msgstr "немає COPY у процесі" -#: fe-exec.c:2890 +#: fe-exec.c:3010 #, c-format msgid "connection in wrong state" msgstr "підключення у неправильному стані" -#: fe-exec.c:2933 +#: fe-exec.c:3053 #, c-format msgid "cannot enter pipeline mode, connection not idle" msgstr "не можна увійти в режим конвеєра, підключення не в очікуванні" -#: fe-exec.c:2969 fe-exec.c:2990 +#: fe-exec.c:3089 fe-exec.c:3110 #, c-format msgid "cannot exit pipeline mode with uncollected results" msgstr "не можна вийти з режиму конвеєра з незібраними результатами" -#: fe-exec.c:2973 +#: fe-exec.c:3093 #, c-format msgid "cannot exit pipeline mode while busy" msgstr "не можна вийти з режиму конвеєра, коли зайнято" -#: fe-exec.c:2984 +#: fe-exec.c:3104 #, c-format msgid "cannot exit pipeline mode while in COPY" msgstr "не можна вийти з режиму конвеєра під час COPY" -#: fe-exec.c:3175 +#: fe-exec.c:3303 #, c-format msgid "cannot send pipeline when not in pipeline mode" msgstr "неможливо скористатися конвеєром не у режимі конвеєра" -#: fe-exec.c:3284 +#: fe-exec.c:3422 msgid "invalid ExecStatusType code" msgstr "неприпустимий код ExecStatusType" -#: fe-exec.c:3311 +#: fe-exec.c:3449 msgid "PGresult is not an error result\n" msgstr "PGresult не є помилковим результатом\n" -#: fe-exec.c:3379 fe-exec.c:3402 +#: fe-exec.c:3517 fe-exec.c:3540 #, c-format msgid "column number %d is out of range 0..%d" msgstr "число стовпців %d поза діапазоном 0..%d" -#: fe-exec.c:3417 +#: fe-exec.c:3555 #, c-format msgid "parameter number %d is out of range 0..%d" msgstr "число параметрів %d поза діапазоном 0..%d" -#: fe-exec.c:3728 +#: fe-exec.c:3866 #, c-format msgid "could not interpret result from server: %s" msgstr "не вдалося інтерпретувати результат від сервера: %s" -#: fe-exec.c:3993 fe-exec.c:4083 +#: fe-exec.c:4127 fe-exec.c:4217 #, c-format msgid "incomplete multibyte character" msgstr "неповний мультибайтний символ" @@ -978,23 +1021,18 @@ msgstr "неможливо записати до файлу \"%s\": %s" msgid "query to initialize large object functions did not return data" msgstr "запит на ініціалізацію функцій для великих об’єктів не повернув дані" -#: fe-misc.c:240 +#: fe-misc.c:239 #, c-format msgid "integer of size %lu not supported by pqGetInt" msgstr "pqGetInt не підтримує ціле число розміром %lu" -#: fe-misc.c:273 +#: fe-misc.c:272 #, c-format msgid "integer of size %lu not supported by pqPutInt" msgstr "pqPutInt не підтримує ціле число розміром %lu" -#: fe-misc.c:573 -#, c-format -msgid "connection not open" -msgstr "підключення не відкрито" - -#: fe-misc.c:751 fe-secure-openssl.c:210 fe-secure-openssl.c:316 -#: fe-secure.c:259 fe-secure.c:426 +#: fe-misc.c:750 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" "\tThis probably means the server terminated abnormally\n" @@ -1002,150 +1040,150 @@ msgid "server closed the connection unexpectedly\n" msgstr "сервер неочікувано закрив підключення\n" " Це може означати, що сервер завершив роботу ненормально до або під час обробки запиту." -#: fe-misc.c:818 +#: fe-misc.c:817 msgid "connection not open\n" msgstr "підключення не відкрито\n" -#: fe-misc.c:1003 +#: fe-misc.c:1005 #, c-format msgid "timeout expired" msgstr "час очікування минув" -#: fe-misc.c:1047 +#: fe-misc.c:1049 #, c-format msgid "invalid socket" msgstr "неприпустимий сокет" -#: fe-misc.c:1069 +#: fe-misc.c:1071 #, c-format msgid "%s() failed: %s" msgstr "%s() помилка: %s" -#: fe-protocol3.c:182 +#: fe-protocol3.c:187 #, c-format msgid "message type 0x%02x arrived from server while idle" msgstr "отримано тип повідомлення 0x%02x від сервера під час бездіяльності" -#: fe-protocol3.c:380 +#: fe-protocol3.c:402 #, c-format msgid "server sent data (\"D\" message) without prior row description (\"T\" message)" msgstr "сервер передав дані (повідомлення \"D\") без попереднього опису рядка (повідомлення \"T\")" -#: fe-protocol3.c:422 +#: fe-protocol3.c:444 #, c-format msgid "unexpected response from server; first received character was \"%c\"" msgstr "неочікувана відповідь від сервера; перший отриманий символ був \"%c\"" -#: fe-protocol3.c:445 +#: fe-protocol3.c:467 #, c-format msgid "message contents do not agree with length in message type \"%c\"" msgstr "вміст повідомлення не відповідає довжині у типі повідомлення \"%c\"" -#: fe-protocol3.c:463 +#: fe-protocol3.c:485 #, c-format msgid "lost synchronization with server: got message type \"%c\", length %d" msgstr "втрачено синхронізацію з сервером: отримано тип повідомлення \"%c\", довжина %d" -#: fe-protocol3.c:515 fe-protocol3.c:555 +#: fe-protocol3.c:537 fe-protocol3.c:577 msgid "insufficient data in \"T\" message" msgstr "недостатньо даних у повідомленні \"T\"" -#: fe-protocol3.c:626 fe-protocol3.c:832 +#: fe-protocol3.c:648 fe-protocol3.c:854 msgid "out of memory for query result" msgstr "недостатньо пам'яті для результату запиту" -#: fe-protocol3.c:695 +#: fe-protocol3.c:717 msgid "insufficient data in \"t\" message" msgstr "недостатньо даних у повідомленні \"t\"" -#: fe-protocol3.c:754 fe-protocol3.c:786 fe-protocol3.c:804 +#: fe-protocol3.c:776 fe-protocol3.c:808 fe-protocol3.c:826 msgid "insufficient data in \"D\" message" msgstr "зайві дані у повідомленні \"D\"" -#: fe-protocol3.c:760 +#: fe-protocol3.c:782 msgid "unexpected field count in \"D\" message" msgstr "неочікувана кількість полів у повідомленні \"D\"" -#: fe-protocol3.c:1015 +#: fe-protocol3.c:1037 msgid "no error message available\n" msgstr "немає доступного повідомлення про помилку\n" #. translator: %s represents a digit string -#: fe-protocol3.c:1063 fe-protocol3.c:1082 +#: fe-protocol3.c:1085 fe-protocol3.c:1104 #, c-format msgid " at character %s" msgstr " в символі %s" -#: fe-protocol3.c:1095 +#: fe-protocol3.c:1117 #, c-format msgid "DETAIL: %s\n" msgstr "ДЕТАЛІ: %s\n" -#: fe-protocol3.c:1098 +#: fe-protocol3.c:1120 #, c-format msgid "HINT: %s\n" msgstr "ПІДКАЗКА: %s\n" -#: fe-protocol3.c:1101 +#: fe-protocol3.c:1123 #, c-format msgid "QUERY: %s\n" msgstr "ЗАПИТ: %s\n" -#: fe-protocol3.c:1108 +#: fe-protocol3.c:1130 #, c-format msgid "CONTEXT: %s\n" msgstr "КОНТЕКСТ: %s\n" -#: fe-protocol3.c:1117 +#: fe-protocol3.c:1139 #, c-format msgid "SCHEMA NAME: %s\n" msgstr "ІМ'Я СХЕМИ: %s\n" -#: fe-protocol3.c:1121 +#: fe-protocol3.c:1143 #, c-format msgid "TABLE NAME: %s\n" msgstr "ІМ'Я ТАБЛИЦІ: %s\n" -#: fe-protocol3.c:1125 +#: fe-protocol3.c:1147 #, c-format msgid "COLUMN NAME: %s\n" msgstr "ІМ'Я СТОВПЦЯ: %s\n" -#: fe-protocol3.c:1129 +#: fe-protocol3.c:1151 #, c-format msgid "DATATYPE NAME: %s\n" msgstr "ІМ'Я ТИПУ ДАНИХ: %s\n" -#: fe-protocol3.c:1133 +#: fe-protocol3.c:1155 #, c-format msgid "CONSTRAINT NAME: %s\n" msgstr "ІМ'Я ОБМЕЖЕННЯ: %s\n" -#: fe-protocol3.c:1145 +#: fe-protocol3.c:1167 msgid "LOCATION: " msgstr "РОЗТАШУВАННЯ: " -#: fe-protocol3.c:1147 +#: fe-protocol3.c:1169 #, c-format msgid "%s, " msgstr "%s, " -#: fe-protocol3.c:1149 +#: fe-protocol3.c:1171 #, c-format msgid "%s:%s" msgstr "%s:%s" -#: fe-protocol3.c:1344 +#: fe-protocol3.c:1366 #, c-format msgid "LINE %d: " msgstr "РЯДОК %d: " -#: fe-protocol3.c:1418 +#: fe-protocol3.c:1440 #, 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:1424 +#: fe-protocol3.c:1446 #, c-format msgid "protocol extension not supported by server: %s" msgid_plural "protocol extensions not supported by server: %s" @@ -1154,22 +1192,22 @@ msgstr[1] "розширення протоколів не підтримуєть msgstr[2] "розширення протоколів не підтримується сервером: %s" msgstr[3] "розширення протоколів не підтримується сервером: %s" -#: fe-protocol3.c:1432 +#: fe-protocol3.c:1454 #, c-format msgid "invalid %s message" msgstr "неприпустиме %s повідомлення" -#: fe-protocol3.c:1797 +#: fe-protocol3.c:1819 #, c-format msgid "PQgetline: not doing text COPY OUT" msgstr "PQgetline: не викликати для текстового COPY OUT" -#: fe-protocol3.c:2171 +#: fe-protocol3.c:2193 #, c-format msgid "protocol error: no function result" msgstr "помилка протоколу: результат функції відсутній" -#: fe-protocol3.c:2182 +#: fe-protocol3.c:2204 #, c-format msgid "protocol error: id=0x%x" msgstr "помилка протоколу: id=0x%x" @@ -1253,211 +1291,226 @@ msgstr "помилка перевірки розміру GSSAPI" msgid "GSSAPI context establishment error" msgstr "помилка встановлення контексту GSSAPI" -#: fe-secure-openssl.c:214 fe-secure-openssl.c:320 fe-secure-openssl.c:1518 +#: 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:220 fe-secure-openssl.c:326 fe-secure-openssl.c:1521 +#: 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:230 fe-secure-openssl.c:336 fe-secure-openssl.c:1529 +#: 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:244 fe-secure-openssl.c:350 +#: 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:249 fe-secure-openssl.c:355 fe-secure-openssl.c:1576 +#: 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:398 +#: fe-secure-openssl.c:390 #, c-format msgid "could not determine server certificate signature algorithm" msgstr "не вдалося визначити алгоритм підпису сервера сертифіката" -#: fe-secure-openssl.c:418 +#: fe-secure-openssl.c:410 #, c-format msgid "could not find digest for NID %s" msgstr "не вдалося знайти дайджест для NID %s" -#: fe-secure-openssl.c:427 +#: fe-secure-openssl.c:419 #, c-format msgid "could not generate peer certificate hash" msgstr "не вдалося згенерувати хеш сертифікату вузла" -#: fe-secure-openssl.c:510 +#: fe-secure-openssl.c:501 #, c-format msgid "SSL certificate's name entry is missing" msgstr "Відсутня ім'я в сертифікаті SSL" -#: fe-secure-openssl.c:544 +#: fe-secure-openssl.c:535 #, c-format msgid "SSL certificate's address entry is missing" msgstr "відсутній елемент адреси SSL-сертифікату" -#: fe-secure-openssl.c:946 +#: fe-secure-openssl.c:935 #, c-format msgid "could not create SSL context: %s" msgstr "не вдалося створити контекст SSL: %s" -#: fe-secure-openssl.c:988 +#: fe-secure-openssl.c:977 #, c-format msgid "invalid value \"%s\" for minimum SSL protocol version" msgstr "неприпустиме значення \"%s\" для мінімальної версії протоколу SSL" -#: fe-secure-openssl.c:998 +#: fe-secure-openssl.c:987 #, c-format msgid "could not set minimum SSL protocol version: %s" msgstr "не вдалося встановити мінімальну версію протоколу SSL: %s" -#: fe-secure-openssl.c:1014 +#: fe-secure-openssl.c:1003 #, c-format msgid "invalid value \"%s\" for maximum SSL protocol version" msgstr "неприпустиме значення \"%s\" для максимальної версії протоколу SSL" -#: fe-secure-openssl.c:1024 +#: fe-secure-openssl.c:1013 #, c-format msgid "could not set maximum SSL protocol version: %s" msgstr "не вдалося встановити максимальну версію протоколу SSL: %s" -#: fe-secure-openssl.c:1062 +#: fe-secure-openssl.c:1051 #, c-format msgid "could not load system root certificate paths: %s" msgstr "не вдалося завантажити шляхи кореневого сертифікату системи: %s" -#: fe-secure-openssl.c:1079 +#: fe-secure-openssl.c:1068 #, c-format msgid "could not read root certificate file \"%s\": %s" msgstr "не вдалося прочитати файл кореневого сертифікату \"%s\": %s" -#: fe-secure-openssl.c:1131 +#: fe-secure-openssl.c:1120 #, c-format msgid "could not get home directory to locate root certificate file\n" "Either provide the file, use the system's trusted roots with sslrootcert=system, or change sslmode to disable server certificate verification." msgstr "не вдалося отримати домашній каталог, щоб знайти файл кореневого сертифікату\n" "Надайте файл, використайте системні кореневі за допомогою sslrootcert=system, або змініть sslmode, щоб вимкнути перевірку серверного сертифікату." -#: fe-secure-openssl.c:1134 +#: fe-secure-openssl.c:1123 #, c-format msgid "root certificate file \"%s\" does not exist\n" "Either provide the file, use the system's trusted roots with sslrootcert=system, or change sslmode to disable server certificate verification." msgstr "файл кореневого сертифікату \"%s\" не існує\n" "Надайте файл, використайте системні кореневі за допомогою sslrootcert=system, або змініть sslmode, щоб вимкнути перевірку серверного сертифікату." -#: fe-secure-openssl.c:1169 +#: fe-secure-openssl.c:1158 #, c-format msgid "could not open certificate file \"%s\": %s" msgstr "не вдалося відкрити файл сертифікату \"%s\": %s" -#: fe-secure-openssl.c:1187 +#: fe-secure-openssl.c:1176 #, c-format msgid "could not read certificate file \"%s\": %s" msgstr "не вдалося прочитати файл сертифікату \"%s\": %s" -#: fe-secure-openssl.c:1211 +#: fe-secure-openssl.c:1200 #, c-format msgid "could not establish SSL connection: %s" msgstr "не вдалося встановити SSL-підключення: %s" -#: fe-secure-openssl.c:1243 +#: 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:1286 +#: fe-secure-openssl.c:1249 +#, c-format +msgid "could not set SSL ALPN extension: %s" +msgstr "не вдалося встановити розширення SSL ALPN: %s" + +#: fe-secure-openssl.c:1292 #, c-format msgid "could not load SSL engine \"%s\": %s" msgstr "не вдалося завантажити модуль SSL \"%s\": %s" -#: fe-secure-openssl.c:1297 +#: fe-secure-openssl.c:1303 #, c-format msgid "could not initialize SSL engine \"%s\": %s" msgstr "не вдалося ініціалізувати модуль SSL \"%s\": %s" -#: fe-secure-openssl.c:1312 +#: 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:1325 +#: 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:1362 +#: fe-secure-openssl.c:1368 #, c-format msgid "certificate present, but not private key file \"%s\"" msgstr "сертифікат присутній, але файл закритого ключа \"%s\" ні" -#: fe-secure-openssl.c:1365 +#: fe-secure-openssl.c:1371 #, c-format msgid "could not stat private key file \"%s\": %m" msgstr "не вдалося отримати інформацію про файл закритого ключа\"%s\": %m" -#: fe-secure-openssl.c:1373 +#: fe-secure-openssl.c:1379 #, c-format msgid "private key file \"%s\" is not a regular file" msgstr "файл закритого ключа \"%s\" не є звичайним" -#: fe-secure-openssl.c:1406 +#: 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) або менше, якщо він належить поточному користувачу, або права u=rw,g=r (0640) або менше, якщо належить root" -#: fe-secure-openssl.c:1430 +#: fe-secure-openssl.c:1436 #, c-format msgid "could not load private key file \"%s\": %s" msgstr "не вдалось завантажити файл закритого ключа \"%s\": %s" -#: fe-secure-openssl.c:1446 +#: fe-secure-openssl.c:1452 #, c-format msgid "certificate does not match private key file \"%s\": %s" msgstr "сертифікат не відповідає файлу закритого ключа \"%s\": %s" -#: fe-secure-openssl.c:1515 +#: fe-secure-openssl.c:1521 #, c-format msgid "SSL error: certificate verify failed: %s" msgstr "помилка SSL: помилка перевірки сертифіката %s" -#: fe-secure-openssl.c:1560 +#: 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:1593 +#: 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:1610 +#, c-format +msgid "SSL connection was established with unexpected ALPN protocol" +msgstr "SSL підключення було встановлено з неочікуваним протоколом ALPN" + +#: fe-secure-openssl.c:1627 #, c-format msgid "certificate could not be obtained: %s" msgstr "не вдалося отримати сертифікат: %s" -#: fe-secure-openssl.c:1698 +#: fe-secure-openssl.c:1734 #, c-format msgid "no SSL error reported" msgstr "немає повідомлення про помилку SSL" -#: fe-secure-openssl.c:1707 +#: fe-secure-openssl.c:1777 #, c-format msgid "SSL error code %lu" msgstr "Код помилки SSL %lu" -#: fe-secure-openssl.c:1997 +#: fe-secure-openssl.c:2076 #, c-format msgid "WARNING: sslpassword truncated\n" msgstr "ПОПЕРЕДЖЕННЯ: sslpassword скорочено\n" -#: fe-secure.c:270 +#: fe-secure.c:248 #, c-format msgid "could not receive data from server: %s" msgstr "не вдалося отримати дані з серверу: %s" -#: fe-secure.c:441 +#: fe-secure.c:419 #, c-format msgid "could not send data to server: %s" msgstr "не вдалося передати дані серверу: %s" diff --git a/src/pl/plperl/GNUmakefile b/src/pl/plperl/GNUmakefile index 31fb212bf17..558c764aadb 100644 --- a/src/pl/plperl/GNUmakefile +++ b/src/pl/plperl/GNUmakefile @@ -60,10 +60,10 @@ ifeq ($(PORTNAME), cygwin) SHLIB_LINK += -Wl,--export-all-symbols endif -REGRESS_OPTS = --dbname=$(PL_TESTDB) +REGRESS_OPTS = --dbname=$(PL_TESTDB) --dlpath=$(top_builddir)/src/test/regress REGRESS = plperl_setup plperl plperl_lc plperl_trigger plperl_shared \ plperl_elog plperl_util plperl_init plperlu plperl_array \ - plperl_call plperl_transaction + plperl_call plperl_transaction plperl_env # if Perl can support two interpreters in one backend, # test plperl-and-plperlu cases ifneq ($(PERL),) @@ -85,7 +85,7 @@ plperl_opmask.h: plperl_opmask.pl perlchunks.h: $(PERLCHUNKS) @if [ x"$(perl_privlibexp)" = x"" ]; then echo "configure switch --with-perl was not specified."; exit 1; fi - $(PERL) $(srcdir)/text2macro.pl --strip='^(\#.*|\s*)$$' $^ > $@ + $(PERL) $(srcdir)/text2macro.pl $^ > $@ all: all-lib diff --git a/src/pl/plperl/expected/plperl_env.out b/src/pl/plperl/expected/plperl_env.out new file mode 100644 index 00000000000..f777c072b56 --- /dev/null +++ b/src/pl/plperl/expected/plperl_env.out @@ -0,0 +1,55 @@ +-- +-- Test the environment setting +-- +-- directory path and dlsuffix are passed to us in environment variables +\getenv libdir PG_LIBDIR +\getenv dlsuffix PG_DLSUFFIX +\set regresslib :libdir '/regress' :dlsuffix +CREATE FUNCTION get_environ() + RETURNS text[] + AS :'regresslib', 'get_environ' + LANGUAGE C STRICT; +-- fetch the process environment +CREATE FUNCTION process_env () RETURNS text[] +LANGUAGE plpgsql AS +$$ + +declare + res text[]; + tmp text[]; + f record; +begin + for f in select unnest(get_environ()) as t loop + tmp := regexp_split_to_array(f.t, '='); + if array_length(tmp, 1) = 2 then + res := res || tmp; + end if; + end loop; + return res; +end + +$$; +-- plperl should not be able to affect the process environment +DO +$$ + $ENV{TEST_PLPERL_ENV_FOO} = "shouldfail"; + untie %ENV; + $ENV{TEST_PLPERL_ENV_FOO} = "testval"; + my $penv = spi_exec_query("select unnest(process_env()) as pe"); + my %received; + for (my $f = 0; $f < $penv->{processed}; $f += 2) + { + my $k = $penv->{rows}[$f]->{pe}; + my $v = $penv->{rows}[$f+1]->{pe}; + $received{$k} = $v; + } + unless (exists $received{TEST_PLPERL_ENV_FOO}) + { + elog(NOTICE, "environ unaffected") + } + +$$ LANGUAGE plperl; +WARNING: attempted alteration of $ENV{TEST_PLPERL_ENV_FOO} at line 12. +NOTICE: environ unaffected +-- clean up to simplify cross-version upgrade testing +DROP FUNCTION get_environ(); diff --git a/src/pl/plperl/meson.build b/src/pl/plperl/meson.build index 8d2d72ff37e..006f7356e6b 100644 --- a/src/pl/plperl/meson.build +++ b/src/pl/plperl/meson.build @@ -17,7 +17,7 @@ plperl_sources += custom_target('perlchunks.h', input: files('plc_perlboot.pl', 'plc_trusted.pl'), output: 'perlchunks.h', capture: true, - command: [perl, files('text2macro.pl'), '--strip=^(\#.*|\s*)$', '@INPUT@'] + command: [perl, files('text2macro.pl'), '@INPUT@'] ) plperl_sources += custom_target('plperl_opmask.h', @@ -94,7 +94,9 @@ tests += { 'plperl_array', 'plperl_call', 'plperl_transaction', + 'plperl_env', ], + 'regress_args': ['--dlpath', meson.build_root() / 'src/test/regress'], }, } diff --git a/src/pl/plperl/plc_trusted.pl b/src/pl/plperl/plc_trusted.pl index b326482700e..f1bb9922eb8 100644 --- a/src/pl/plperl/plc_trusted.pl +++ b/src/pl/plperl/plc_trusted.pl @@ -30,3 +30,27 @@ package PostgreSQL::InServer::safe; ## no critic (RequireFilenameMatchesPackage) require Carp::Heavy; require warnings; require feature if $] >= 5.010000; + +#<<< protect next line from perltidy so perlcritic annotation works +package PostgreSQL::InServer::WarnEnv; ## no critic (RequireFilenameMatchesPackage) +#>>> + +use strict; +use warnings; +use Tie::Hash; +our @ISA = qw(Tie::StdHash); + +sub STORE { warn "attempted alteration of \$ENV{$_[1]}"; } +sub DELETE { warn "attempted deletion of \$ENV{$_[1]}"; } +sub CLEAR { warn "attempted clearance of ENV hash"; } + +# Remove magic property of %ENV. Changes to this will now not be reflected in +# the process environment. +*main::ENV = {%ENV}; + +# Block %ENV changes from trusted PL/Perl, and warn. We changed %ENV to just a +# normal hash, yet the application may be expecting the usual Perl %ENV +# magic. Blocking and warning avoids silent application breakage. The user can +# untie or otherwise disable this, e.g. if the lost mutation is unimportant +# and modifying the code to stop that mutation would be onerous. +tie %main::ENV, 'PostgreSQL::InServer::WarnEnv', %ENV or die $!; diff --git a/src/pl/plperl/po/es.po b/src/pl/plperl/po/es.po index f0ca724b25a..f3bcccc95b4 100644 --- a/src/pl/plperl/po/es.po +++ b/src/pl/plperl/po/es.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: plperl (PostgreSQL) 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-05-22 07:09+0000\n" +"POT-Creation-Date: 2024-08-01 11:09+0000\n" "PO-Revision-Date: 2022-10-20 09:06+0200\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" @@ -100,8 +100,8 @@ msgstr "los arrays multidimensionales deben tener expresiones de arrays con dime #: plperl.c:1204 #, c-format -msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)" -msgstr "el número de dimensiones del array (%d) excede el máximo permitido (%d)" +msgid "number of array dimensions exceeds the maximum allowed (%d)" +msgstr "el número de dimensiones del array excede el máximo permitido (%d)" #: plperl.c:1274 #, c-format diff --git a/src/pl/plperl/po/fr.po b/src/pl/plperl/po/fr.po index fcb6d67fa05..ab1859f557e 100644 --- a/src/pl/plperl/po/fr.po +++ b/src/pl/plperl/po/fr.po @@ -8,10 +8,10 @@ # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 15\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-04-12 05:16+0000\n" -"PO-Revision-Date: 2022-04-12 17:29+0200\n" +"POT-Creation-Date: 2024-08-22 10:09+0000\n" +"PO-Revision-Date: 2024-09-16 16:28+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -19,246 +19,226 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.0.1\n" +"X-Generator: Poedit 3.5\n" -#: plperl.c:408 +#: plperl.c:405 msgid "If true, trusted and untrusted Perl code will be compiled in strict mode." msgstr "" "Si true, le code Perl de confiance et sans confiance sera compilé en mode\n" "strict." -#: plperl.c:422 +#: plperl.c:419 msgid "Perl initialization code to execute when a Perl interpreter is initialized." msgstr "" "Code d'initialisation Perl à exécuter lorsque un interpréteur Perl est\n" "initialisé." -#: plperl.c:444 +#: plperl.c:441 msgid "Perl initialization code to execute once when plperl is first used." msgstr "Code d'initialisation Perl à exécuter lorsque plperl est utilisé pour la première fois." -#: plperl.c:452 +#: plperl.c:449 msgid "Perl initialization code to execute once when plperlu is first used." msgstr "Code d'initialisation Perl à exécuter lorsque plperlu est utilisé pour la première fois." -#: plperl.c:646 +#: plperl.c:643 #, c-format msgid "cannot allocate multiple Perl interpreters on this platform" msgstr "ne peut pas allouer plusieurs interpréteurs Perl sur cette plateforme" -#: plperl.c:669 plperl.c:853 plperl.c:859 plperl.c:976 plperl.c:988 -#: plperl.c:1031 plperl.c:1054 plperl.c:2138 plperl.c:2246 plperl.c:2314 -#: plperl.c:2377 +#: plperl.c:666 plperl.c:850 plperl.c:856 plperl.c:973 plperl.c:985 +#: plperl.c:1028 plperl.c:1051 plperl.c:2151 plperl.c:2259 plperl.c:2327 +#: plperl.c:2390 #, c-format msgid "%s" msgstr "%s" -#: plperl.c:670 +#: plperl.c:667 #, c-format msgid "while executing PostgreSQL::InServer::SPI::bootstrap" msgstr "lors de l'exécution de PostgreSQL::InServer::SPI::bootstrap" -#: plperl.c:854 +#: plperl.c:851 #, c-format msgid "while parsing Perl initialization" msgstr "lors de l'analyse de l'initialisation de perl" -#: plperl.c:860 +#: plperl.c:857 #, c-format msgid "while running Perl initialization" msgstr "lors de l'exécution de l'initialisation de perl" -#: plperl.c:977 +#: plperl.c:974 #, c-format msgid "while executing PLC_TRUSTED" msgstr "lors de l'exécution de PLC_TRUSTED" -#: plperl.c:989 +#: plperl.c:986 #, c-format msgid "while executing utf8fix" msgstr "lors de l'exécution de utf8fix" -#: plperl.c:1032 +#: plperl.c:1029 #, c-format msgid "while executing plperl.on_plperl_init" msgstr "lors de l'exécution de plperl.on_plperl_init" -#: plperl.c:1055 +#: plperl.c:1052 #, c-format msgid "while executing plperl.on_plperlu_init" msgstr "lors de l'exécution de plperl.on_plperlu_init" -#: plperl.c:1101 plperl.c:1791 +#: plperl.c:1098 plperl.c:1804 #, c-format msgid "Perl hash contains nonexistent column \"%s\"" msgstr "Le hachage Perl contient la colonne « %s » inexistante" -#: plperl.c:1106 plperl.c:1796 +#: plperl.c:1103 plperl.c:1809 #, c-format msgid "cannot set system attribute \"%s\"" msgstr "ne peut pas initialiser l'attribut système « %s »" -#: plperl.c:1194 -#, c-format -msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)" -msgstr "le nombre de dimensions du tableau (%d) dépasse le maximum autorisé (%d)" - -#: plperl.c:1206 plperl.c:1223 +#: plperl.c:1199 plperl.c:1214 plperl.c:1231 #, c-format msgid "multidimensional arrays must have array expressions with matching dimensions" msgstr "" "les tableaux multidimensionnels doivent avoir des expressions de tableaux\n" "avec les dimensions correspondantes" -#: plperl.c:1259 +#: plperl.c:1204 +#, c-format +msgid "number of array dimensions exceeds the maximum allowed (%d)" +msgstr "le nombre de dimensions du tableau dépasse le maximum autorisé (%d)" + +#: plperl.c:1274 #, c-format msgid "cannot convert Perl array to non-array type %s" msgstr "ne peut pas convertir le tableau Perl en un type %s qui n'est pas un tableau" -#: plperl.c:1362 +#: plperl.c:1375 #, c-format msgid "cannot convert Perl hash to non-composite type %s" msgstr "ne peut pas convertir le hachage Perl en un type %s non composite" -#: plperl.c:1384 plperl.c:3304 +#: plperl.c:1397 plperl.c:3315 #, c-format msgid "function returning record called in context that cannot accept type record" msgstr "" "fonction renvoyant le type record appelée dans un contexte qui ne peut pas\n" "accepter le type record" -#: plperl.c:1445 +#: plperl.c:1458 #, c-format msgid "lookup failed for type %s" msgstr "recherche échouée pour le type %s" -#: plperl.c:1766 +#: plperl.c:1779 #, c-format msgid "$_TD->{new} does not exist" msgstr "$_TD->{new} n'existe pas" -#: plperl.c:1770 +#: plperl.c:1783 #, c-format msgid "$_TD->{new} is not a hash reference" msgstr "$_TD->{new} n'est pas une référence de hachage" -#: plperl.c:1801 +#: plperl.c:1814 #, c-format msgid "cannot set generated column \"%s\"" msgstr "ne peut pas initialiser la colonne générée « %s »" -#: plperl.c:2013 plperl.c:2854 +#: plperl.c:2026 plperl.c:2867 #, c-format msgid "PL/Perl functions cannot return type %s" msgstr "Les fonctions PL/perl ne peuvent pas renvoyer le type %s" -#: plperl.c:2026 plperl.c:2893 +#: plperl.c:2039 plperl.c:2906 #, c-format msgid "PL/Perl functions cannot accept type %s" msgstr "Les fonctions PL/perl ne peuvent pas accepter le type %s" -#: plperl.c:2143 +#: plperl.c:2156 #, c-format msgid "didn't get a CODE reference from compiling function \"%s\"" msgstr "n'a pas obtenu une référence CODE lors de la compilation de la fonction « %s »" -#: plperl.c:2234 +#: plperl.c:2247 #, c-format msgid "didn't get a return item from function" msgstr "n'a pas obtenu un élément en retour de la fonction" -#: plperl.c:2278 plperl.c:2345 +#: plperl.c:2291 plperl.c:2358 #, c-format msgid "couldn't fetch $_TD" msgstr "n'a pas pu récupérer $_TD" -#: plperl.c:2302 plperl.c:2365 +#: plperl.c:2315 plperl.c:2378 #, c-format msgid "didn't get a return item from trigger function" msgstr "n'a pas obtenu un élément en retour de la fonction trigger" -#: plperl.c:2423 +#: plperl.c:2436 #, c-format msgid "set-valued function called in context that cannot accept a set" msgstr "la fonction renvoyant un ensemble a été appelée dans un contexte qui n'accepte pas un ensemble" -#: plperl.c:2428 +#: plperl.c:2441 #, c-format msgid "materialize mode required, but it is not allowed in this context" msgstr "mode matérialisé requis mais interdit dans ce contexte" -#: plperl.c:2472 +#: plperl.c:2485 #, c-format msgid "set-returning PL/Perl function must return reference to array or use return_next" msgstr "" "la fonction PL/perl renvoyant des ensembles doit renvoyer la référence à\n" "un tableau ou utiliser return_next" -#: plperl.c:2593 +#: plperl.c:2606 #, c-format msgid "ignoring modified row in DELETE trigger" msgstr "ignore la ligne modifiée dans le trigger DELETE" -#: plperl.c:2601 +#: plperl.c:2614 #, c-format msgid "result of PL/Perl trigger function must be undef, \"SKIP\", or \"MODIFY\"" msgstr "" "le résultat de la fonction trigger PL/perl doit être undef, « SKIP » ou\n" "« MODIFY »" -#: plperl.c:2849 +#: plperl.c:2862 #, c-format msgid "trigger functions can only be called as triggers" msgstr "les fonctions trigger peuvent seulement être appelées par des triggers" -#: plperl.c:3209 +#: plperl.c:3220 #, c-format msgid "query result has too many rows to fit in a Perl array" msgstr "le résultat de la requête contient trop de lignes pour être intégré dans un tableau Perl" -#: plperl.c:3281 +#: plperl.c:3292 #, c-format msgid "cannot use return_next in a non-SETOF function" msgstr "ne peut pas utiliser return_next dans une fonction non SETOF" -#: plperl.c:3355 +#: plperl.c:3366 #, c-format msgid "SETOF-composite-returning PL/Perl function must call return_next with reference to hash" msgstr "" "une fonction PL/perl renvoyant des lignes composites doit appeler\n" "return_next avec la référence à un hachage" -#: plperl.c:4137 +#: plperl.c:4148 #, c-format msgid "PL/Perl function \"%s\"" msgstr "fonction PL/Perl « %s »" -#: plperl.c:4149 +#: plperl.c:4160 #, c-format msgid "compilation of PL/Perl function \"%s\"" msgstr "compilation de la fonction PL/Perl « %s »" -#: plperl.c:4158 +#: plperl.c:4169 #, c-format msgid "PL/Perl anonymous code block" msgstr "bloc de code PL/Perl anonyme" - -#~ msgid "PL/Perl function must return reference to hash or array" -#~ msgstr "la fonction PL/perl doit renvoyer la référence à un hachage ou à un tableau" - -#~ msgid "composite-returning PL/Perl function must return reference to hash" -#~ msgstr "" -#~ "la fonction PL/perl renvoyant des valeurs composites doit renvoyer la\n" -#~ "référence à un hachage" - -#~ msgid "creation of Perl function \"%s\" failed: %s" -#~ msgstr "échec de la création de la fonction Perl « %s » : %s" - -#~ msgid "error from Perl function \"%s\": %s" -#~ msgstr "échec dans la fonction Perl « %s » : %s" - -#~ msgid "out of memory" -#~ msgstr "mémoire épuisée" - -#~ msgid "while executing PLC_SAFE_OK" -#~ msgstr "lors de l'exécution de PLC_SAFE_OK" diff --git a/src/pl/plperl/po/ru.po b/src/pl/plperl/po/ru.po index 75bf0ae67c5..8b47276a620 100644 --- a/src/pl/plperl/po/ru.po +++ b/src/pl/plperl/po/ru.po @@ -1,13 +1,13 @@ # Russian message translation file for plperl # Copyright (C) 2012-2016 PostgreSQL Global Development Group # This file is distributed under the same license as the PostgreSQL package. -# Alexander Lakhin , 2012-2017, 2019, 2022. +# Alexander Lakhin , 2012-2017, 2019, 2022, 2024. msgid "" msgstr "" "Project-Id-Version: plperl (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-08-28 07:59+0300\n" -"PO-Revision-Date: 2022-09-05 13:38+0300\n" +"POT-Creation-Date: 2024-09-02 09:29+0300\n" +"PO-Revision-Date: 2024-09-04 20:00+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" @@ -110,8 +110,8 @@ msgstr "" #: plperl.c:1204 #, c-format -msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)" -msgstr "число размерностей массива (%d) превышает предел (%d)" +msgid "number of array dimensions exceeds the maximum allowed (%d)" +msgstr "число размерностей массива превышает предел (%d)" #: plperl.c:1274 #, c-format diff --git a/src/pl/plperl/po/sv.po b/src/pl/plperl/po/sv.po index 94944665133..f16de78b9df 100644 --- a/src/pl/plperl/po/sv.po +++ b/src/pl/plperl/po/sv.po @@ -2,14 +2,14 @@ # Copyright (C) 2014 PostgreSQL Global Development Group # This file is distributed under the same license as the PostgreSQL package. # Mats Erik Andersson , 2014. -# Dennis Björklund 2017, 2018, 2019, 2020, 2021, 2022, 2023. +# Dennis Björklund 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024. # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 15\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-04-11 13:38+0000\n" -"PO-Revision-Date: 2023-03-09 22:40+0100\n" +"POT-Creation-Date: 2024-07-12 17:39+0000\n" +"PO-Revision-Date: 2024-07-12 22:07+0200\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -18,210 +18,210 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -#: plperl.c:408 +#: plperl.c:405 msgid "If true, trusted and untrusted Perl code will be compiled in strict mode." msgstr "Om sant, tillförlitlig och otillförlitlig Perl-kod kommer kompileras i strikt läge." -#: plperl.c:422 +#: plperl.c:419 msgid "Perl initialization code to execute when a Perl interpreter is initialized." msgstr "Perl-kod för initialisering, utföres när perl-tolken förbereds." -#: plperl.c:444 +#: plperl.c:441 msgid "Perl initialization code to execute once when plperl is first used." msgstr "Perl-kod för engångs-initialisering då plperl används första gången." -#: plperl.c:452 +#: plperl.c:449 msgid "Perl initialization code to execute once when plperlu is first used." msgstr "Perl-kod för engångs-initialisering då plperlu används första gången." -#: plperl.c:646 +#: plperl.c:643 #, c-format msgid "cannot allocate multiple Perl interpreters on this platform" msgstr "kan inte utnyttja flera Perl-interpretorer på denna plattform" -#: plperl.c:669 plperl.c:853 plperl.c:859 plperl.c:976 plperl.c:988 -#: plperl.c:1031 plperl.c:1054 plperl.c:2138 plperl.c:2246 plperl.c:2314 -#: plperl.c:2377 +#: plperl.c:666 plperl.c:850 plperl.c:856 plperl.c:973 plperl.c:985 +#: plperl.c:1028 plperl.c:1051 plperl.c:2151 plperl.c:2259 plperl.c:2327 +#: plperl.c:2390 #, c-format msgid "%s" msgstr "%s" -#: plperl.c:670 +#: plperl.c:667 #, c-format msgid "while executing PostgreSQL::InServer::SPI::bootstrap" msgstr "vid utförande av PostgreSQL::InServer::SPI::bootstrap" -#: plperl.c:854 +#: plperl.c:851 #, c-format msgid "while parsing Perl initialization" msgstr "vid tolkning av perls initieringssteg" -#: plperl.c:860 +#: plperl.c:857 #, c-format msgid "while running Perl initialization" msgstr "vid utförande av perls initieringssteg" -#: plperl.c:977 +#: plperl.c:974 #, c-format msgid "while executing PLC_TRUSTED" msgstr "vid utförande av PLC_TRUSTED" -#: plperl.c:989 +#: plperl.c:986 #, c-format msgid "while executing utf8fix" msgstr "vid utförande av utf8fix" -#: plperl.c:1032 +#: plperl.c:1029 #, c-format msgid "while executing plperl.on_plperl_init" msgstr "vid utförande av plperl.on_plperl_init" -#: plperl.c:1055 +#: plperl.c:1052 #, c-format msgid "while executing plperl.on_plperlu_init" msgstr "vid utförande av plperl.on_plperlu_init" -#: plperl.c:1101 plperl.c:1791 +#: plperl.c:1098 plperl.c:1804 #, c-format msgid "Perl hash contains nonexistent column \"%s\"" msgstr "Perlhash innehåller en okänd kolumn \"%s\"." -#: plperl.c:1106 plperl.c:1796 +#: plperl.c:1103 plperl.c:1809 #, c-format msgid "cannot set system attribute \"%s\"" msgstr "kan inte sätta systemattribut \"%s\"" -#: plperl.c:1194 -#, c-format -msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)" -msgstr "antalet array-dimensioner (%d) överskrider det maximalt tillåtna (%d)" - -#: plperl.c:1206 plperl.c:1223 +#: plperl.c:1199 plperl.c:1214 plperl.c:1231 #, c-format msgid "multidimensional arrays must have array expressions with matching dimensions" msgstr "flerdimensionella vektorer måste ha array-uttryck av passande dimensioner" -#: plperl.c:1259 +#: plperl.c:1204 +#, c-format +msgid "number of array dimensions exceeds the maximum allowed (%d)" +msgstr "antal array-dimensioner överskriver maximalt tillåtna (%d)" + +#: plperl.c:1274 #, c-format msgid "cannot convert Perl array to non-array type %s" msgstr "kan inte omvandla perlvektor till icke-array av typ \"%s\"." -#: plperl.c:1362 +#: plperl.c:1375 #, c-format msgid "cannot convert Perl hash to non-composite type %s" msgstr "kan inte omvandla en perlhash till icke-composite-typ \"%s\"." -#: plperl.c:1384 plperl.c:3304 +#: plperl.c:1397 plperl.c:3315 #, c-format 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." -#: plperl.c:1445 +#: plperl.c:1458 #, c-format msgid "lookup failed for type %s" msgstr "uppslag misslyckades för typen \"%s\"" -#: plperl.c:1766 +#: plperl.c:1779 #, c-format msgid "$_TD->{new} does not exist" msgstr "$_TD->{new} finns inte." -#: plperl.c:1770 +#: plperl.c:1783 #, c-format msgid "$_TD->{new} is not a hash reference" msgstr "$_TD->{new} är inte en hash-referens." -#: plperl.c:1801 +#: plperl.c:1814 #, c-format msgid "cannot set generated column \"%s\"" msgstr "kan inte sätta genererad kolumn \"%s\"" -#: plperl.c:2013 plperl.c:2854 +#: plperl.c:2026 plperl.c:2867 #, c-format msgid "PL/Perl functions cannot return type %s" msgstr "Funktioner i PL/Perl kan inte svara med typ \"%s\"." -#: plperl.c:2026 plperl.c:2893 +#: plperl.c:2039 plperl.c:2906 #, c-format msgid "PL/Perl functions cannot accept type %s" msgstr "Funktioner i PL/Perl kan inte hantera typ \"%s\"." -#: plperl.c:2143 +#: plperl.c:2156 #, c-format msgid "didn't get a CODE reference from compiling function \"%s\"" msgstr "fick inte en CODE-referens vid kompilering av funktionen \"%s\"." -#: plperl.c:2234 +#: plperl.c:2247 #, c-format msgid "didn't get a return item from function" msgstr "fick inget returnvärde från funktion" -#: plperl.c:2278 plperl.c:2345 +#: plperl.c:2291 plperl.c:2358 #, c-format msgid "couldn't fetch $_TD" msgstr "kunde inte hämta $_TD" -#: plperl.c:2302 plperl.c:2365 +#: plperl.c:2315 plperl.c:2378 #, c-format msgid "didn't get a return item from trigger function" msgstr "fick inget returvärde från triggerfunktion" -#: plperl.c:2423 +#: plperl.c:2436 #, c-format msgid "set-valued function called in context that cannot accept a set" msgstr "en funktion som returnerar en mängd anropades i kontext som inte godtar en mängd" -#: plperl.c:2428 +#: plperl.c:2441 #, c-format msgid "materialize mode required, but it is not allowed in this context" msgstr "materialiserat läge krävs, men stöds inte i detta kontext" -#: plperl.c:2472 +#: plperl.c:2485 #, c-format msgid "set-returning PL/Perl function must return reference to array or use return_next" msgstr "En mängd-returnerande funktion i PL/Perl måste göra det som referens eller med return_next." -#: plperl.c:2593 +#: plperl.c:2606 #, c-format msgid "ignoring modified row in DELETE trigger" msgstr "Lämnar ändrad rad orörd i en DELETE-triggning" -#: plperl.c:2601 +#: plperl.c:2614 #, c-format msgid "result of PL/Perl trigger function must be undef, \"SKIP\", or \"MODIFY\"" msgstr "resultat av en triggningsfunktion i PL/Perl måste vara undef, \"SKIP\" eller \"MODIFY\"." -#: plperl.c:2849 +#: plperl.c:2862 #, c-format msgid "trigger functions can only be called as triggers" msgstr "Triggningsfunktioner kan bara anropas vid triggning." -#: plperl.c:3209 +#: plperl.c:3220 #, c-format msgid "query result has too many rows to fit in a Perl array" msgstr "frågeresultatet har för många rader för att få plats i en Perl-array" -#: plperl.c:3281 +#: plperl.c:3292 #, c-format msgid "cannot use return_next in a non-SETOF function" msgstr "får inte nyttja return_next i funktion som ej är SETOF" -#: plperl.c:3355 +#: plperl.c:3366 #, c-format msgid "SETOF-composite-returning PL/Perl function must call return_next with reference to hash" msgstr "En funktion i PL/Perl med värderetur som SETOF måste anropa return_next med en hashreferens" -#: plperl.c:4137 +#: plperl.c:4148 #, c-format msgid "PL/Perl function \"%s\"" msgstr "PL/Perl-funktion \"%s\"." -#: plperl.c:4149 +#: plperl.c:4160 #, c-format msgid "compilation of PL/Perl function \"%s\"" msgstr "kompilering av PL/Perl-funktion \"%s\"" -#: plperl.c:4158 +#: plperl.c:4169 #, c-format msgid "PL/Perl anonymous code block" msgstr "Anonymt kodblock i PL/Perl." diff --git a/src/pl/plperl/po/uk.po b/src/pl/plperl/po/uk.po index 7951649694e..fcb64b7d80a 100644 --- a/src/pl/plperl/po/uk.po +++ b/src/pl/plperl/po/uk.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: postgresql\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-08-12 10:39+0000\n" -"PO-Revision-Date: 2022-09-13 11:52\n" +"POT-Creation-Date: 2024-02-24 00:09+0000\n" +"PO-Revision-Date: 2024-09-23 19:38\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -14,213 +14,213 @@ msgstr "" "X-Crowdin-Project: postgresql\n" "X-Crowdin-Project-ID: 324573\n" "X-Crowdin-Language: uk\n" -"X-Crowdin-File: /REL_15_STABLE/plperl.pot\n" -"X-Crowdin-File-ID: 920\n" +"X-Crowdin-File: /REL_17_STABLE/plperl.pot\n" +"X-Crowdin-File-ID: 1012\n" -#: plperl.c:408 +#: plperl.c:405 msgid "If true, trusted and untrusted Perl code will be compiled in strict mode." msgstr "Якщо увімкнено, надійний і ненадійний код Perl буде скомпільований в суворому режимі." -#: plperl.c:422 +#: plperl.c:419 msgid "Perl initialization code to execute when a Perl interpreter is initialized." msgstr "Виконати ініціалізаційний код під час ініціалізації інтерпретатора Perl." -#: plperl.c:444 +#: plperl.c:441 msgid "Perl initialization code to execute once when plperl is first used." msgstr "Виконати код ініціалізації один раз під час першого використання plperl." -#: plperl.c:452 +#: plperl.c:449 msgid "Perl initialization code to execute once when plperlu is first used." msgstr "Виконати код ініціалізації один раз під час першого використання plperlu." -#: plperl.c:646 +#: plperl.c:643 #, c-format msgid "cannot allocate multiple Perl interpreters on this platform" msgstr "не можна розмістити декілька Perl інтерпретаторів на цій платформі" -#: plperl.c:669 plperl.c:853 plperl.c:859 plperl.c:976 plperl.c:988 -#: plperl.c:1031 plperl.c:1054 plperl.c:2138 plperl.c:2246 plperl.c:2314 -#: plperl.c:2377 +#: plperl.c:666 plperl.c:850 plperl.c:856 plperl.c:973 plperl.c:985 +#: plperl.c:1028 plperl.c:1051 plperl.c:2151 plperl.c:2259 plperl.c:2327 +#: plperl.c:2390 #, c-format msgid "%s" msgstr "%s" -#: plperl.c:670 +#: plperl.c:667 #, c-format msgid "while executing PostgreSQL::InServer::SPI::bootstrap" msgstr "під час виконання PostgreSQL::InServer::SPI::bootstrap" -#: plperl.c:854 +#: plperl.c:851 #, c-format msgid "while parsing Perl initialization" msgstr "під час обробки ініціалізації Perl" -#: plperl.c:860 +#: plperl.c:857 #, c-format msgid "while running Perl initialization" msgstr "під час запуску Perl ініціалізації" -#: plperl.c:977 +#: plperl.c:974 #, c-format msgid "while executing PLC_TRUSTED" msgstr "під час виконання PLC_TRUSTED" -#: plperl.c:989 +#: plperl.c:986 #, c-format msgid "while executing utf8fix" msgstr "під час виконання utf8fix" -#: plperl.c:1032 +#: plperl.c:1029 #, c-format msgid "while executing plperl.on_plperl_init" msgstr "під час виконання plperl.on_plperl_init" -#: plperl.c:1055 +#: plperl.c:1052 #, c-format msgid "while executing plperl.on_plperlu_init" msgstr "під час виконання plperl.on_plperlu_init" -#: plperl.c:1101 plperl.c:1791 +#: plperl.c:1098 plperl.c:1804 #, c-format msgid "Perl hash contains nonexistent column \"%s\"" msgstr "хеш Perl містить неіснуючу колонку \"%s\"" -#: plperl.c:1106 plperl.c:1796 +#: plperl.c:1103 plperl.c:1809 #, c-format msgid "cannot set system attribute \"%s\"" msgstr "не вдалося встановити системний атрибут \"%s\"" -#: plperl.c:1194 -#, c-format -msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)" -msgstr "число вимірів масива (%d) перевищує ліміт (%d)" - -#: plperl.c:1206 plperl.c:1223 +#: plperl.c:1199 plperl.c:1214 plperl.c:1231 #, c-format msgid "multidimensional arrays must have array expressions with matching dimensions" msgstr "для багатовимірних масивів повинні задаватись вирази з відповідними вимірами" -#: plperl.c:1259 +#: plperl.c:1204 +#, c-format +msgid "number of array dimensions exceeds the maximum allowed (%d)" +msgstr "кількість вимірів масиву перевищує максимально дозволену (%d)" + +#: plperl.c:1274 #, c-format msgid "cannot convert Perl array to non-array type %s" msgstr "неможливо конвертувати масив Perl у тип не масиву %s" -#: plperl.c:1362 +#: plperl.c:1375 #, c-format msgid "cannot convert Perl hash to non-composite type %s" msgstr "неможливо конвертувати хеш Perl у нескладений тип %s" -#: plperl.c:1384 plperl.c:3304 +#: plperl.c:1397 plperl.c:3315 #, c-format msgid "function returning record called in context that cannot accept type record" msgstr "функція, що повертає набір, викликана у контексті, що не приймає тип запис" -#: plperl.c:1445 +#: plperl.c:1458 #, c-format msgid "lookup failed for type %s" msgstr "неможливо фільтрувати для типу %s" -#: plperl.c:1766 +#: plperl.c:1779 #, c-format msgid "$_TD->{new} does not exist" msgstr "$_TD->{new} не існує" -#: plperl.c:1770 +#: plperl.c:1783 #, c-format msgid "$_TD->{new} is not a hash reference" msgstr "$_TD->{new} не є посиланням на хеш" -#: plperl.c:1801 +#: plperl.c:1814 #, c-format msgid "cannot set generated column \"%s\"" msgstr "неможливо оновити згенерований стовпець \"%s\"" -#: plperl.c:2013 plperl.c:2854 +#: plperl.c:2026 plperl.c:2867 #, c-format msgid "PL/Perl functions cannot return type %s" msgstr "функції PL/Perl не можуть повертати тип %s" -#: plperl.c:2026 plperl.c:2893 +#: plperl.c:2039 plperl.c:2906 #, c-format msgid "PL/Perl functions cannot accept type %s" msgstr "функції PL/Perl не можуть приймати тип %s" -#: plperl.c:2143 +#: plperl.c:2156 #, c-format msgid "didn't get a CODE reference from compiling function \"%s\"" msgstr "не отримано посилання CODE з функції компіляції \"%s\"" -#: plperl.c:2234 +#: plperl.c:2247 #, c-format msgid "didn't get a return item from function" msgstr "не отримано елемент результату з функції" -#: plperl.c:2278 plperl.c:2345 +#: plperl.c:2291 plperl.c:2358 #, c-format msgid "couldn't fetch $_TD" msgstr "не вдалось отримати $_TD" -#: plperl.c:2302 plperl.c:2365 +#: plperl.c:2315 plperl.c:2378 #, c-format msgid "didn't get a return item from trigger function" msgstr "не отримано елемент результату з функції-тригеру" -#: plperl.c:2423 +#: plperl.c:2436 #, c-format msgid "set-valued function called in context that cannot accept a set" msgstr "функція \"set-valued\" викликана в контексті, де йому немає місця" -#: plperl.c:2428 +#: plperl.c:2441 #, c-format msgid "materialize mode required, but it is not allowed in this context" msgstr "необхідний режим матеріалізації (materialize mode), але він неприпустимий у цьому контексті" -#: plperl.c:2472 +#: plperl.c:2485 #, c-format msgid "set-returning PL/Perl function must return reference to array or use return_next" msgstr "функція PL/Perl, що вертає набір значень, повинна посилатися на масив або використовувати return_next" -#: plperl.c:2593 +#: plperl.c:2606 #, c-format msgid "ignoring modified row in DELETE trigger" msgstr "ігнорується змінений рядок у тригері DELETE" -#: plperl.c:2601 +#: plperl.c:2614 #, c-format msgid "result of PL/Perl trigger function must be undef, \"SKIP\", or \"MODIFY\"" msgstr "результат тригерної функції PL/Perl повинен бути undef, \"SKIP\" або \"MODIFY\"" -#: plperl.c:2849 +#: plperl.c:2862 #, c-format msgid "trigger functions can only be called as triggers" msgstr "тригер-функція може викликатися лише як тригер" -#: plperl.c:3209 +#: plperl.c:3220 #, c-format msgid "query result has too many rows to fit in a Perl array" msgstr "результат запиту має забагато рядків для відповідності в масиві Perl" -#: plperl.c:3281 +#: plperl.c:3292 #, c-format msgid "cannot use return_next in a non-SETOF function" msgstr "не можна використовувати return_next в функціях, що не повертають набори даних" -#: plperl.c:3355 +#: plperl.c:3366 #, c-format msgid "SETOF-composite-returning PL/Perl function must call return_next with reference to hash" msgstr "Функція PL/Perl, що повертає набір композитних даних, повинна викликати return_next з посиланням на хеш" -#: plperl.c:4137 +#: plperl.c:4148 #, c-format msgid "PL/Perl function \"%s\"" msgstr "PL/Perl функція \"%s\"" -#: plperl.c:4149 +#: plperl.c:4160 #, c-format msgid "compilation of PL/Perl function \"%s\"" msgstr "компіляція функції PL/Perl \"%s\"" -#: plperl.c:4158 +#: plperl.c:4169 #, c-format msgid "PL/Perl anonymous code block" msgstr "анонімний блок коду PL/Perl" diff --git a/src/pl/plperl/sql/plperl_env.sql b/src/pl/plperl/sql/plperl_env.sql new file mode 100644 index 00000000000..fa5f04146cc --- /dev/null +++ b/src/pl/plperl/sql/plperl_env.sql @@ -0,0 +1,61 @@ +-- +-- Test the environment setting +-- + +-- directory path and dlsuffix are passed to us in environment variables +\getenv libdir PG_LIBDIR +\getenv dlsuffix PG_DLSUFFIX + +\set regresslib :libdir '/regress' :dlsuffix + +CREATE FUNCTION get_environ() + RETURNS text[] + AS :'regresslib', 'get_environ' + LANGUAGE C STRICT; + +-- fetch the process environment + +CREATE FUNCTION process_env () RETURNS text[] +LANGUAGE plpgsql AS +$$ + +declare + res text[]; + tmp text[]; + f record; +begin + for f in select unnest(get_environ()) as t loop + tmp := regexp_split_to_array(f.t, '='); + if array_length(tmp, 1) = 2 then + res := res || tmp; + end if; + end loop; + return res; +end + +$$; + +-- plperl should not be able to affect the process environment + +DO +$$ + $ENV{TEST_PLPERL_ENV_FOO} = "shouldfail"; + untie %ENV; + $ENV{TEST_PLPERL_ENV_FOO} = "testval"; + my $penv = spi_exec_query("select unnest(process_env()) as pe"); + my %received; + for (my $f = 0; $f < $penv->{processed}; $f += 2) + { + my $k = $penv->{rows}[$f]->{pe}; + my $v = $penv->{rows}[$f+1]->{pe}; + $received{$k} = $v; + } + unless (exists $received{TEST_PLPERL_ENV_FOO}) + { + elog(NOTICE, "environ unaffected") + } + +$$ LANGUAGE plperl; + +-- clean up to simplify cross-version upgrade testing +DROP FUNCTION get_environ(); diff --git a/src/pl/plperl/text2macro.pl b/src/pl/plperl/text2macro.pl index c6240af69c7..ee65eed3638 100644 --- a/src/pl/plperl/text2macro.pl +++ b/src/pl/plperl/text2macro.pl @@ -15,14 +15,13 @@ =head1 SYNOPSIS --prefix=S - add prefix S to the names of the macros --name=S - use S as the macro name (assumes only one file) - --strip=S - don't include lines that match perl regex S =head1 DESCRIPTION Reads one or more text files and outputs a corresponding series of C pre-processor macro definitions. Each macro defines a string literal that contains the contents of the corresponding text file. The basename of the text -file as capitalized and used as the name of the macro, along with an optional prefix. +file is capitalized and used as the name of the macro, along with an optional prefix. =cut @@ -34,9 +33,12 @@ =head1 DESCRIPTION GetOptions( 'prefix=s' => \my $opt_prefix, 'name=s' => \my $opt_name, - 'strip=s' => \my $opt_strip, 'selftest!' => sub { exit selftest() },) or exit 1; +# This was once a command-line option, but meson is obstreperous +# about passing backslashes through custom targets. +my $opt_strip = '^(#.*|\s*)$'; + die "No text files specified" unless @ARGV; diff --git a/src/pl/plpgsql/src/expected/plpgsql_call.out b/src/pl/plpgsql/src/expected/plpgsql_call.out index 0a63b1d44ef..ea7107dca0d 100644 --- a/src/pl/plpgsql/src/expected/plpgsql_call.out +++ b/src/pl/plpgsql/src/expected/plpgsql_call.out @@ -597,6 +597,26 @@ NOTICE: f_get_x(1) NOTICE: f_print_x(1) NOTICE: f_get_x(2) NOTICE: f_print_x(2) +-- test in non-atomic context, except exception block is locally atomic +DO $$ +BEGIN + BEGIN + UPDATE t_test SET x = x + 1; + RAISE NOTICE 'f_get_x(%)', f_get_x(); + CALL f_print_x(f_get_x()); + UPDATE t_test SET x = x + 1; + RAISE NOTICE 'f_get_x(%)', f_get_x(); + CALL f_print_x(f_get_x()); + EXCEPTION WHEN division_by_zero THEN + RAISE NOTICE '%', SQLERRM; + END; + ROLLBACK; +END +$$; +NOTICE: f_get_x(1) +NOTICE: f_print_x(1) +NOTICE: f_get_x(2) +NOTICE: f_print_x(2) -- test in atomic context BEGIN; DO $$ diff --git a/src/pl/plpgsql/src/pl_exec.c b/src/pl/plpgsql/src/pl_exec.c index 239b3250a95..ea9740e3f89 100644 --- a/src/pl/plpgsql/src/pl_exec.c +++ b/src/pl/plpgsql/src/pl_exec.c @@ -2276,8 +2276,8 @@ exec_stmt_call(PLpgSQL_execstate *estate, PLpgSQL_stmt_call *stmt) static PLpgSQL_variable * make_callstmt_target(PLpgSQL_execstate *estate, PLpgSQL_expr *expr) { - List *plansources; - CachedPlanSource *plansource; + CachedPlan *cplan; + PlannedStmt *pstmt; CallStmt *stmt; FuncExpr *funcexpr; HeapTuple func_tuple; @@ -2294,16 +2294,15 @@ make_callstmt_target(PLpgSQL_execstate *estate, PLpgSQL_expr *expr) oldcontext = MemoryContextSwitchTo(get_eval_mcontext(estate)); /* - * Get the parsed CallStmt, and look up the called procedure + * Get the parsed CallStmt, and look up the called procedure. We use + * SPI_plan_get_cached_plan to cover the edge case where expr->plan is + * already stale and needs to be updated. */ - plansources = SPI_plan_get_plan_sources(expr->plan); - if (list_length(plansources) != 1) - elog(ERROR, "query for CALL statement is not a CallStmt"); - plansource = (CachedPlanSource *) linitial(plansources); - if (list_length(plansource->query_list) != 1) + cplan = SPI_plan_get_cached_plan(expr->plan); + if (cplan == NULL || list_length(cplan->stmt_list) != 1) elog(ERROR, "query for CALL statement is not a CallStmt"); - stmt = (CallStmt *) linitial_node(Query, - plansource->query_list)->utilityStmt; + pstmt = linitial_node(PlannedStmt, cplan->stmt_list); + stmt = (CallStmt *) pstmt->utilityStmt; if (stmt == NULL || !IsA(stmt, CallStmt)) elog(ERROR, "query for CALL statement is not a CallStmt"); @@ -2383,6 +2382,8 @@ make_callstmt_target(PLpgSQL_execstate *estate, PLpgSQL_expr *expr) row->nfields = nfields; + ReleaseCachedPlan(cplan, CurrentResourceOwner); + MemoryContextSwitchTo(oldcontext); return (PLpgSQL_variable *) row; @@ -4245,8 +4246,9 @@ exec_stmt_execsql(PLpgSQL_execstate *estate, /* * We could look at the raw_parse_tree, but it seems simpler to * check the command tag. Note we should *not* look at the Query - * tree(s), since those are the result of rewriting and could have - * been transmogrified into something else entirely. + * tree(s), since those are the result of rewriting and could be + * stale, or could have been transmogrified into something else + * entirely. */ if (plansource->commandTag == CMDTAG_INSERT || plansource->commandTag == CMDTAG_UPDATE || diff --git a/src/pl/plpgsql/src/po/es.po b/src/pl/plpgsql/src/po/es.po index 1c12451409b..2d2b4d99972 100644 --- a/src/pl/plpgsql/src/po/es.po +++ b/src/pl/plpgsql/src/po/es.po @@ -12,8 +12,8 @@ msgid "" msgstr "" "Project-Id-Version: plpgsql (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-05-22 07:09+0000\n" -"PO-Revision-Date: 2023-05-22 12:06+0200\n" +"POT-Creation-Date: 2024-08-01 11:09+0000\n" +"PO-Revision-Date: 2024-08-02 16:56-0400\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" "Language: es\n" @@ -78,104 +78,119 @@ msgstr "la referencia a la columna «%s» es ambigua" msgid "It could refer to either a PL/pgSQL variable or a table column." msgstr "Podría referirse tanto a una variable PL/pgSQL como a una columna de una tabla." -#: pl_comp.c:1314 pl_exec.c:5255 pl_exec.c:5428 pl_exec.c:5515 pl_exec.c:5606 -#: pl_exec.c:6624 +#: pl_comp.c:1314 pl_exec.c:5258 pl_exec.c:5431 pl_exec.c:5518 pl_exec.c:5609 +#: pl_exec.c:6634 #, c-format msgid "record \"%s\" has no field \"%s\"" msgstr "el registro «%s» no tiene un campo «%s»" -#: pl_comp.c:1808 +#: pl_comp.c:1633 pl_gram.y:645 pl_gram.y:660 pl_gram.y:686 +#, c-format +msgid "variable \"%s\" does not exist" +msgstr "no existe la variable «%s»" + +#: pl_comp.c:1722 +#, c-format +msgid "column \"%s\" of relation \"%s\" does not exist" +msgstr "no existe la columna «%s» en la relación «%s»" + +#: pl_comp.c:1775 #, c-format msgid "relation \"%s\" does not exist" msgstr "no existe la relación «%s»" -#: pl_comp.c:1815 pl_comp.c:1857 +#: pl_comp.c:1782 pl_comp.c:1820 #, c-format msgid "relation \"%s\" does not have a composite type" msgstr "la relación «%s» no contiene un tipo compuesto" -#: pl_comp.c:1923 +#: pl_comp.c:1886 #, c-format msgid "variable \"%s\" has pseudo-type %s" msgstr "la variable «%s» tiene pseudotipo %s" -#: pl_comp.c:2112 +#: pl_comp.c:2075 #, c-format msgid "type \"%s\" is only a shell" msgstr "el tipo «%s» está inconcluso" -#: pl_comp.c:2194 pl_exec.c:6925 +#: pl_comp.c:2157 pl_exec.c:6935 #, c-format msgid "type %s is not composite" msgstr "el tipo %s no es compuesto" -#: pl_comp.c:2242 pl_comp.c:2295 +#: pl_comp.c:2193 +#, c-format +msgid "could not find array type for data type %s" +msgstr "no se pudo encontrar un tipo de array para el tipo de dato %s" + +#: pl_comp.c:2232 pl_comp.c:2285 #, c-format msgid "unrecognized exception condition \"%s\"" msgstr "no se reconoce la condición de excepción «%s»" -#: pl_comp.c:2524 +#: pl_comp.c:2514 #, c-format msgid "could not determine actual argument type for polymorphic function \"%s\"" msgstr "no se pudo determinar el verdadero tipo de argumento para la función polimórfica «%s»" -#: pl_exec.c:511 pl_exec.c:950 pl_exec.c:1185 +#: pl_exec.c:512 pl_exec.c:951 pl_exec.c:1186 msgid "during initialization of execution state" msgstr "durante la inicialización del estado de ejecución" -#: pl_exec.c:517 +#: pl_exec.c:518 msgid "while storing call arguments into local variables" msgstr "mientras se almacenaban los argumentos de invocación en variables locales" -#: pl_exec.c:605 pl_exec.c:1023 +#: pl_exec.c:606 pl_exec.c:1024 msgid "during function entry" msgstr "durante el ingreso a la función" -#: pl_exec.c:628 +#: pl_exec.c:629 #, c-format msgid "control reached end of function without RETURN" msgstr "la ejecución alcanzó el fin de la función sin encontrar RETURN" -#: pl_exec.c:634 +#: pl_exec.c:635 msgid "while casting return value to function's return type" msgstr "mientras se hacía la conversión del valor de retorno al tipo de retorno de la función" -#: pl_exec.c:646 pl_exec.c:3681 +#: pl_exec.c:647 pl_exec.c:3682 #, c-format msgid "set-valued function called in context that cannot accept a set" msgstr "se llamó una función que retorna un conjunto en un contexto que no puede aceptarlo" -#: pl_exec.c:651 pl_exec.c:3687 +#: pl_exec.c:652 pl_exec.c:3688 #, c-format msgid "materialize mode required, but it is not allowed in this context" msgstr "se requiere un nodo «materialize», pero no está permitido en este contexto" -#: pl_exec.c:778 pl_exec.c:1049 pl_exec.c:1207 +#: pl_exec.c:779 pl_exec.c:1050 pl_exec.c:1208 msgid "during function exit" msgstr "durante la salida de la función" -#: pl_exec.c:833 pl_exec.c:897 pl_exec.c:3480 +#: pl_exec.c:834 pl_exec.c:898 pl_exec.c:3481 msgid "returned record type does not match expected record type" msgstr "el tipo de registro retornado no coincide con el tipo de registro esperado" -#: pl_exec.c:1046 pl_exec.c:1204 +#: pl_exec.c:1047 pl_exec.c:1205 #, c-format msgid "control reached end of trigger procedure without RETURN" msgstr "la ejecución alcanzó el fin del procedimiento disparador sin encontrar RETURN" -#: pl_exec.c:1054 +#: pl_exec.c:1055 #, c-format msgid "trigger procedure cannot return a set" msgstr "los procedimientos disparadores no pueden retornar conjuntos" -#: pl_exec.c:1093 pl_exec.c:1121 +#: pl_exec.c:1094 pl_exec.c:1122 msgid "returned row structure does not match the structure of the triggering table" msgstr "la estructura de fila retornada no coincide con la estructura de la tabla que generó el evento de disparador" #. translator: last %s is a phrase such as "during statement block #. local variable initialization" #. -#: pl_exec.c:1262 +#: pl_exec.c:1263 #, c-format msgid "PL/pgSQL function %s line %d %s" msgstr "función PL/pgSQL %s en la línea %d %s" @@ -183,336 +198,336 @@ msgstr "función PL/pgSQL %s en la línea %d %s" #. translator: last %s is a phrase such as "while storing call #. arguments into local variables" #. -#: pl_exec.c:1273 +#: pl_exec.c:1274 #, c-format msgid "PL/pgSQL function %s %s" msgstr "función PL/pgSQL %s %s" #. translator: last %s is a plpgsql statement type name -#: pl_exec.c:1281 +#: pl_exec.c:1282 #, c-format msgid "PL/pgSQL function %s line %d at %s" msgstr "función PL/pgSQL %s en la línea %d en %s" -#: pl_exec.c:1287 +#: pl_exec.c:1288 #, c-format msgid "PL/pgSQL function %s" msgstr "función PL/pgSQL %s" -#: pl_exec.c:1658 +#: pl_exec.c:1659 msgid "during statement block local variable initialization" msgstr "durante inicialización de variables locales en el bloque de sentencias" -#: pl_exec.c:1763 +#: pl_exec.c:1764 msgid "during statement block entry" msgstr "durante la entrada al bloque de sentencias" -#: pl_exec.c:1795 +#: pl_exec.c:1796 msgid "during statement block exit" msgstr "durante la salida del bloque de sentencias" -#: pl_exec.c:1833 +#: pl_exec.c:1834 msgid "during exception cleanup" msgstr "durante la finalización por excepción" -#: pl_exec.c:2370 +#: pl_exec.c:2371 #, c-format msgid "procedure parameter \"%s\" is an output parameter but corresponding argument is not writable" msgstr "el parámetro de procedimiento «%s» es un parámetro de salida pero el argumento correspondiente no es escribible" -#: pl_exec.c:2375 +#: pl_exec.c:2376 #, c-format msgid "procedure parameter %d is an output parameter but corresponding argument is not writable" msgstr "el parámetro de procedimiento %d es un parámetro de salida pero el argumento correspondiente no es escribible" -#: pl_exec.c:2409 +#: pl_exec.c:2410 #, c-format msgid "GET STACKED DIAGNOSTICS cannot be used outside an exception handler" msgstr "GET STACKED DIAGNOSTICS no puede ser usado fuera de un manejador de excepción" -#: pl_exec.c:2615 +#: pl_exec.c:2616 #, c-format msgid "case not found" msgstr "caso no encontrado" -#: pl_exec.c:2616 +#: pl_exec.c:2617 #, c-format msgid "CASE statement is missing ELSE part." msgstr "A la sentencia CASE le falta la parte ELSE." -#: pl_exec.c:2709 +#: pl_exec.c:2710 #, c-format msgid "lower bound of FOR loop cannot be null" msgstr "el límite inferior de un ciclo FOR no puede ser null" -#: pl_exec.c:2725 +#: pl_exec.c:2726 #, c-format msgid "upper bound of FOR loop cannot be null" msgstr "el límite superior de un ciclo FOR no puede ser null" -#: pl_exec.c:2743 +#: pl_exec.c:2744 #, c-format msgid "BY value of FOR loop cannot be null" msgstr "el valor BY de un ciclo FOR no puede ser null" -#: pl_exec.c:2749 +#: pl_exec.c:2750 #, c-format msgid "BY value of FOR loop must be greater than zero" msgstr "el valor BY de un ciclo FOR debe ser mayor que cero" -#: pl_exec.c:2883 pl_exec.c:4688 +#: pl_exec.c:2884 pl_exec.c:4691 #, c-format msgid "cursor \"%s\" already in use" msgstr "el cursor «%s» ya está en uso" -#: pl_exec.c:2906 pl_exec.c:4758 +#: pl_exec.c:2907 pl_exec.c:4761 #, c-format msgid "arguments given for cursor without arguments" msgstr "se dieron argumentos a un cursor sin argumentos" -#: pl_exec.c:2925 pl_exec.c:4777 +#: pl_exec.c:2926 pl_exec.c:4780 #, c-format msgid "arguments required for cursor" msgstr "se requieren argumentos para el cursor" -#: pl_exec.c:3016 +#: pl_exec.c:3017 #, c-format msgid "FOREACH expression must not be null" msgstr "la expresión FOREACH no debe ser nula" -#: pl_exec.c:3031 +#: pl_exec.c:3032 #, c-format msgid "FOREACH expression must yield an array, not type %s" msgstr "una expresión FOREACH debe retornar un array, no tipo %s" -#: pl_exec.c:3048 +#: pl_exec.c:3049 #, c-format msgid "slice dimension (%d) is out of the valid range 0..%d" msgstr "la dimensión del slice (%d) está fuera de rango 0..%d" -#: pl_exec.c:3075 +#: pl_exec.c:3076 #, c-format msgid "FOREACH ... SLICE loop variable must be of an array type" msgstr "las variables de bucles FOREACH ... SLICE deben ser de un tipo array" -#: pl_exec.c:3079 +#: pl_exec.c:3080 #, c-format msgid "FOREACH loop variable must not be of an array type" msgstr "la variable de bucle FOREACH no debe ser de tipo array" -#: pl_exec.c:3241 pl_exec.c:3298 pl_exec.c:3473 +#: pl_exec.c:3242 pl_exec.c:3299 pl_exec.c:3474 #, c-format msgid "cannot return non-composite value from function returning composite type" msgstr "no se puede retornar un valor no-compuesto desde una función que retorne tipos compuestos" -#: pl_exec.c:3337 pl_gram.y:3295 +#: pl_exec.c:3338 pl_gram.y:3375 #, c-format msgid "cannot use RETURN NEXT in a non-SETOF function" msgstr "no se puede usar RETURN NEXT en una función que no es SETOF" -#: pl_exec.c:3378 pl_exec.c:3510 +#: pl_exec.c:3379 pl_exec.c:3511 #, c-format msgid "wrong result type supplied in RETURN NEXT" msgstr "se pasó un tipo incorrecto de resultado a RETURN NEXT" -#: pl_exec.c:3416 pl_exec.c:3437 +#: pl_exec.c:3417 pl_exec.c:3438 #, c-format msgid "wrong record type supplied in RETURN NEXT" msgstr "se pasó un tipo de registro incorrecto a RETURN NEXT" -#: pl_exec.c:3529 +#: pl_exec.c:3530 #, c-format msgid "RETURN NEXT must have a parameter" msgstr "RETURN NEXT debe tener un parámetro" -#: pl_exec.c:3557 pl_gram.y:3359 +#: pl_exec.c:3558 pl_gram.y:3439 #, c-format msgid "cannot use RETURN QUERY in a non-SETOF function" msgstr "no se puede usar RETURN QUERY en una función que no ha sido declarada SETOF" -#: pl_exec.c:3575 +#: pl_exec.c:3576 msgid "structure of query does not match function result type" msgstr "la estructura de la consulta no coincide con el tipo del resultado de la función" -#: pl_exec.c:3630 pl_exec.c:4465 pl_exec.c:8724 +#: pl_exec.c:3631 pl_exec.c:4467 pl_exec.c:8757 #, c-format msgid "query string argument of EXECUTE is null" msgstr "el argumento de consulta a ejecutar en EXECUTE es null" -#: pl_exec.c:3715 pl_exec.c:3853 +#: pl_exec.c:3716 pl_exec.c:3854 #, c-format msgid "RAISE option already specified: %s" msgstr "la opción de RAISE ya se especificó: %s" -#: pl_exec.c:3749 +#: pl_exec.c:3750 #, c-format msgid "RAISE without parameters cannot be used outside an exception handler" msgstr "RAISE sin parámetros no puede ser usado fuera de un manejador de excepción" -#: pl_exec.c:3843 +#: pl_exec.c:3844 #, c-format msgid "RAISE statement option cannot be null" msgstr "la opción de sentencia en RAISE no puede ser null" -#: pl_exec.c:3913 +#: pl_exec.c:3914 #, c-format msgid "%s" msgstr "%s" -#: pl_exec.c:3968 +#: pl_exec.c:3969 #, c-format msgid "assertion failed" msgstr "aseveración falló" -#: pl_exec.c:4338 pl_exec.c:4527 +#: pl_exec.c:4340 pl_exec.c:4530 #, c-format msgid "cannot COPY to/from client in PL/pgSQL" msgstr "no se puede ejecutar COPY desde/a un cliente en PL/pgSQL" -#: pl_exec.c:4344 +#: pl_exec.c:4346 #, c-format msgid "unsupported transaction command in PL/pgSQL" msgstr "orden de transacción no soportada en PL/pgSQL" -#: pl_exec.c:4367 pl_exec.c:4556 +#: pl_exec.c:4369 pl_exec.c:4559 #, c-format msgid "INTO used with a command that cannot return data" msgstr "INTO es utilizado con una orden que no puede retornar datos" -#: pl_exec.c:4390 pl_exec.c:4579 +#: pl_exec.c:4392 pl_exec.c:4582 #, c-format msgid "query returned no rows" msgstr "la consulta no regresó filas" -#: pl_exec.c:4412 pl_exec.c:4598 pl_exec.c:5750 +#: pl_exec.c:4414 pl_exec.c:4601 pl_exec.c:5753 #, c-format msgid "query returned more than one row" msgstr "la consulta regresó más de una fila" -#: pl_exec.c:4414 +#: pl_exec.c:4416 #, c-format msgid "Make sure the query returns a single row, or use LIMIT 1." msgstr "Asegúrese que la consulta retorne una única fila, o use LIMIT 1." -#: pl_exec.c:4430 +#: pl_exec.c:4432 #, c-format msgid "query has no destination for result data" msgstr "la consulta no tiene un destino para los datos de resultado" -#: pl_exec.c:4431 +#: pl_exec.c:4433 #, c-format msgid "If you want to discard the results of a SELECT, use PERFORM instead." msgstr "Si quiere descartar los resultados de un SELECT, utilice PERFORM." -#: pl_exec.c:4519 +#: pl_exec.c:4522 #, c-format msgid "EXECUTE of SELECT ... INTO is not implemented" msgstr "no está implementado EXECUTE de un SELECT ... INTO" -#: pl_exec.c:4520 +#: pl_exec.c:4523 #, c-format msgid "You might want to use EXECUTE ... INTO or EXECUTE CREATE TABLE ... AS instead." msgstr "Puede desear usar EXECUTE ... INTO o EXECUTE CREATE TABLE ... AS en su lugar." -#: pl_exec.c:4533 +#: pl_exec.c:4536 #, c-format msgid "EXECUTE of transaction commands is not implemented" msgstr "no está implementado EXECUTE de órdenes de transacción" -#: pl_exec.c:4843 pl_exec.c:4931 +#: pl_exec.c:4846 pl_exec.c:4934 #, c-format msgid "cursor variable \"%s\" is null" msgstr "variable cursor «%s» es null" -#: pl_exec.c:4854 pl_exec.c:4942 +#: pl_exec.c:4857 pl_exec.c:4945 #, c-format msgid "cursor \"%s\" does not exist" msgstr "no existe el cursor «%s»" -#: pl_exec.c:4867 +#: pl_exec.c:4870 #, c-format msgid "relative or absolute cursor position is null" msgstr "la posición relativa o absoluta del cursor es null" -#: pl_exec.c:5105 pl_exec.c:5200 +#: pl_exec.c:5108 pl_exec.c:5203 #, c-format msgid "null value cannot be assigned to variable \"%s\" declared NOT NULL" msgstr "no puede asignarse un valor null a la variable «%s» que fue declarada NOT NULL" -#: pl_exec.c:5181 +#: pl_exec.c:5184 #, c-format msgid "cannot assign non-composite value to a row variable" msgstr "no se puede asignar un valor no compuesto a una variable de tipo row" -#: pl_exec.c:5213 +#: pl_exec.c:5216 #, c-format msgid "cannot assign non-composite value to a record variable" msgstr "no se puede asignar un valor no compuesto a una variable de tipo record" -#: pl_exec.c:5264 +#: pl_exec.c:5267 #, c-format msgid "cannot assign to system column \"%s\"" msgstr "no se puede asignar a la columna de sistema «%s»" -#: pl_exec.c:5713 +#: pl_exec.c:5716 #, c-format msgid "query did not return data" msgstr "la consulta no retornó datos" -#: pl_exec.c:5714 pl_exec.c:5726 pl_exec.c:5751 pl_exec.c:5827 pl_exec.c:5832 +#: pl_exec.c:5717 pl_exec.c:5729 pl_exec.c:5754 pl_exec.c:5830 pl_exec.c:5835 #, c-format msgid "query: %s" msgstr "consulta: %s" -#: pl_exec.c:5722 +#: pl_exec.c:5725 #, c-format msgid "query returned %d column" msgid_plural "query returned %d columns" msgstr[0] "la consulta retornó %d columna" msgstr[1] "la consulta retornó %d columnas" -#: pl_exec.c:5826 +#: pl_exec.c:5829 #, c-format msgid "query is SELECT INTO, but it should be plain SELECT" msgstr "la consulta es SELECT INTO, pero debería ser un SELECT simple" -#: pl_exec.c:5831 +#: pl_exec.c:5834 #, c-format msgid "query is not a SELECT" msgstr "la consulta no es un SELECT" -#: pl_exec.c:6638 pl_exec.c:6678 pl_exec.c:6718 +#: pl_exec.c:6648 pl_exec.c:6688 pl_exec.c:6728 #, c-format msgid "type of parameter %d (%s) does not match that when preparing the plan (%s)" msgstr "el tipo del parámetro %d (%s) no coincide aquel con que fue preparado el plan (%s)" -#: pl_exec.c:7129 pl_exec.c:7163 pl_exec.c:7237 pl_exec.c:7263 +#: pl_exec.c:7139 pl_exec.c:7173 pl_exec.c:7247 pl_exec.c:7273 #, c-format msgid "number of source and target fields in assignment does not match" msgstr "no coincide el número de campos de origen y destino en la asignación" #. translator: %s represents a name of an extra check -#: pl_exec.c:7131 pl_exec.c:7165 pl_exec.c:7239 pl_exec.c:7265 +#: pl_exec.c:7141 pl_exec.c:7175 pl_exec.c:7249 pl_exec.c:7275 #, c-format msgid "%s check of %s is active." msgstr "El chequeo %s de %s está activo." -#: pl_exec.c:7135 pl_exec.c:7169 pl_exec.c:7243 pl_exec.c:7269 +#: pl_exec.c:7145 pl_exec.c:7179 pl_exec.c:7253 pl_exec.c:7279 #, c-format msgid "Make sure the query returns the exact list of columns." msgstr "Asegúrese que la consulta retorna la lista exacta de columnas." -#: pl_exec.c:7656 +#: pl_exec.c:7666 #, c-format msgid "record \"%s\" is not assigned yet" msgstr "el registro «%s» no ha sido asignado aún" -#: pl_exec.c:7657 +#: pl_exec.c:7667 #, c-format msgid "The tuple structure of a not-yet-assigned record is indeterminate." msgstr "La estructura de fila de un registro aún no asignado no está determinado." -#: pl_exec.c:8322 pl_gram.y:3418 +#: pl_exec.c:8355 pl_gram.y:3498 #, c-format msgid "variable \"%s\" is declared CONSTANT" msgstr "la variable «%s» esta declarada como CONSTANT" @@ -564,11 +579,6 @@ msgstr "los ordenamientos (collation) no están soportados por el tipo %s" msgid "variable \"%s\" must have a default value, since it's declared NOT NULL" msgstr "la variable «%s» debe tener valor por omisión, puesto que está declarado NOT NULL" -#: pl_gram.y:645 pl_gram.y:660 pl_gram.y:686 -#, c-format -msgid "variable \"%s\" does not exist" -msgstr "no existe la variable «%s»" - #: pl_gram.y:704 pl_gram.y:732 msgid "duplicate declaration" msgstr "declaración duplicada" @@ -578,36 +588,36 @@ msgstr "declaración duplicada" msgid "variable \"%s\" shadows a previously defined variable" msgstr "la variable «%s» oculta una variable definida anteriormente" -#: pl_gram.y:1016 +#: pl_gram.y:1017 #, c-format msgid "diagnostics item %s is not allowed in GET STACKED DIAGNOSTICS" msgstr "elemento de diagnóstico %s no se permite en GET STACKED DIAGNOSTICS" -#: pl_gram.y:1034 +#: pl_gram.y:1035 #, c-format msgid "diagnostics item %s is not allowed in GET CURRENT DIAGNOSTICS" msgstr "elemento de diagnóstico %s no se permite en GET STACKED DIAGNOSTICS" -#: pl_gram.y:1132 +#: pl_gram.y:1133 msgid "unrecognized GET DIAGNOSTICS item" msgstr "elemento de GET DIAGNOSTICS no reconocido" -#: pl_gram.y:1148 pl_gram.y:3534 +#: pl_gram.y:1149 pl_gram.y:3614 #, c-format msgid "\"%s\" is not a scalar variable" msgstr "«%s» no es una variable escalar" -#: pl_gram.y:1378 pl_gram.y:1572 +#: pl_gram.y:1379 pl_gram.y:1572 #, c-format msgid "loop variable of loop over rows must be a record variable or list of scalar variables" msgstr "la variable de bucle de un bucle sobre filas debe ser una variable de tipo record o una lista de variables escalares" -#: pl_gram.y:1413 +#: pl_gram.y:1414 #, c-format msgid "cursor FOR loop must have only one target variable" msgstr "un bucle FOR de un cursor debe tener sólo una variable de destino" -#: pl_gram.y:1420 +#: pl_gram.y:1421 #, c-format msgid "cursor FOR loop must use a bound cursor variable" msgstr "un bucle FOR en torno a un cursor debe usar un cursor enlazado (bound)" @@ -647,14 +657,14 @@ msgstr "EXIT no puede usarse fuera de un bucle, a menos que tenga una etiqueta" msgid "CONTINUE cannot be used outside a loop" msgstr "CONTINUE no puede usarse fuera de un bucle" -#: pl_gram.y:1765 pl_gram.y:1803 pl_gram.y:1851 pl_gram.y:2981 pl_gram.y:3069 -#: pl_gram.y:3180 pl_gram.y:3933 +#: pl_gram.y:1765 pl_gram.y:1803 pl_gram.y:1851 pl_gram.y:3061 pl_gram.y:3149 +#: pl_gram.y:3260 pl_gram.y:4009 msgid "unexpected end of function definition" msgstr "fin inesperado de la definición de la función" #: pl_gram.y:1871 pl_gram.y:1895 pl_gram.y:1911 pl_gram.y:1917 pl_gram.y:2042 #: pl_gram.y:2050 pl_gram.y:2064 pl_gram.y:2159 pl_gram.y:2383 pl_gram.y:2473 -#: pl_gram.y:2632 pl_gram.y:3776 pl_gram.y:3837 pl_gram.y:3914 +#: pl_gram.y:2632 pl_gram.y:3856 pl_gram.y:3917 pl_gram.y:3990 msgid "syntax error" msgstr "error de sintaxis" @@ -686,138 +696,142 @@ msgstr "la variable «%s» debe ser de tipo cursor o refcursor" msgid "\"%s\" is not a known variable" msgstr "«%s» no es una variable conocida" -#: pl_gram.y:2720 pl_gram.y:2730 pl_gram.y:2886 +#: pl_gram.y:2719 pl_gram.y:2729 pl_gram.y:2911 msgid "mismatched parentheses" msgstr "no coinciden los paréntesis" -#: pl_gram.y:2734 +#: pl_gram.y:2733 #, c-format msgid "missing \"%s\" at end of SQL expression" msgstr "falta «%s» al final de la expresión SQL" -#: pl_gram.y:2740 +#: pl_gram.y:2739 #, c-format msgid "missing \"%s\" at end of SQL statement" msgstr "falta «%s» al final de la sentencia SQL" -#: pl_gram.y:2757 +#: pl_gram.y:2758 msgid "missing expression" msgstr "expresión faltante" -#: pl_gram.y:2759 +#: pl_gram.y:2760 msgid "missing SQL statement" msgstr "sentencia SQL faltante" -#: pl_gram.y:2888 +#: pl_gram.y:2889 +msgid "syntax error, expected \"]\"" +msgstr "error de sintaxis, se esperaba «]»" + +#: pl_gram.y:2913 msgid "incomplete data type declaration" msgstr "declaración de tipo de dato incompleta" -#: pl_gram.y:2911 +#: pl_gram.y:2936 msgid "missing data type declaration" msgstr "declaración de tipo de dato faltante" -#: pl_gram.y:2991 +#: pl_gram.y:3071 msgid "INTO specified more than once" msgstr "INTO fue especificado más de una vez" -#: pl_gram.y:3161 +#: pl_gram.y:3241 msgid "expected FROM or IN" msgstr "se espera FROM o IN" -#: pl_gram.y:3222 +#: pl_gram.y:3302 #, c-format msgid "RETURN cannot have a parameter in function returning set" msgstr "RETURN no puede tener un parámetro en una función que retorna un conjunto" -#: pl_gram.y:3223 +#: pl_gram.y:3303 #, c-format msgid "Use RETURN NEXT or RETURN QUERY." msgstr "Use RETURN NEXT o RETURN QUERY." -#: pl_gram.y:3233 +#: pl_gram.y:3313 #, c-format msgid "RETURN cannot have a parameter in a procedure" msgstr "RETURN no puede tener un parámetro un procedimiento" -#: pl_gram.y:3238 +#: pl_gram.y:3318 #, c-format msgid "RETURN cannot have a parameter in function returning void" msgstr "RETURN no puede tener parámetro en una función que retorna void" -#: pl_gram.y:3247 +#: pl_gram.y:3327 #, c-format msgid "RETURN cannot have a parameter in function with OUT parameters" msgstr "RETURN no puede tener parámetros en una función con parámetros OUT" -#: pl_gram.y:3310 +#: pl_gram.y:3390 #, c-format msgid "RETURN NEXT cannot have a parameter in function with OUT parameters" msgstr "RETURN NEXT no puede tener parámetros en una función con parámetros OUT" -#: pl_gram.y:3476 +#: pl_gram.y:3556 #, c-format msgid "record variable cannot be part of multiple-item INTO list" msgstr "una variable de tipo record no puede ser parte de una lista INTO de múltiples elementos" -#: pl_gram.y:3522 +#: pl_gram.y:3602 #, c-format msgid "too many INTO variables specified" msgstr "se especificaron demasiadas variables INTO" -#: pl_gram.y:3730 +#: pl_gram.y:3810 #, c-format msgid "end label \"%s\" specified for unlabeled block" msgstr "etiqueta de término «%s» especificada para un bloque sin etiqueta" -#: pl_gram.y:3737 +#: pl_gram.y:3817 #, c-format msgid "end label \"%s\" differs from block's label \"%s\"" msgstr "etiqueta de término «%s» difiere de la etiqueta de bloque «%s»" -#: pl_gram.y:3771 +#: pl_gram.y:3851 #, c-format msgid "cursor \"%s\" has no arguments" msgstr "el cursor «%s» no tiene argumentos" -#: pl_gram.y:3785 +#: pl_gram.y:3865 #, c-format msgid "cursor \"%s\" has arguments" msgstr "el cursor «%s» tiene argumentos" -#: pl_gram.y:3827 +#: pl_gram.y:3907 #, c-format msgid "cursor \"%s\" has no argument named \"%s\"" msgstr "el cursor «%s» no tiene un argumento llamado «%s»" -#: pl_gram.y:3847 +#: pl_gram.y:3927 #, c-format msgid "value for parameter \"%s\" of cursor \"%s\" specified more than once" msgstr "el valor para el parámetro «%s» del cursor «%s» fue especificado más de una vez" -#: pl_gram.y:3872 +#: pl_gram.y:3948 #, c-format msgid "not enough arguments for cursor \"%s\"" msgstr "no hay suficientes argumentos para el cursor «%s»" -#: pl_gram.y:3879 +#: pl_gram.y:3955 #, c-format msgid "too many arguments for cursor \"%s\"" msgstr "demasiados argumentos para el cursor «%s»" -#: pl_gram.y:3965 +#: pl_gram.y:4041 msgid "unrecognized RAISE statement option" msgstr "no se reconoce la opción de sentencia RAISE" -#: pl_gram.y:3969 +#: pl_gram.y:4045 msgid "syntax error, expected \"=\"" msgstr "error de sintaxis, se esperaba «=»" -#: pl_gram.y:4010 +#: pl_gram.y:4086 #, c-format msgid "too many parameters specified for RAISE" msgstr "se especificaron demasiados parámetros a RAISE" -#: pl_gram.y:4014 +#: pl_gram.y:4090 #, c-format msgid "too few parameters specified for RAISE" msgstr "se especificaron muy pocos parámetros a RAISE" @@ -843,13 +857,13 @@ msgid "List of programming constructs that should produce an error." msgstr "Listado de estructuras de programación que deben dar un error." #. translator: %s is typically the translation of "syntax error" -#: pl_scanner.c:508 +#: pl_scanner.c:525 #, c-format msgid "%s at end of input" msgstr "%s al final de la entrada" #. translator: first %s is typically the translation of "syntax error" -#: pl_scanner.c:524 +#: pl_scanner.c:541 #, c-format msgid "%s at or near \"%s\"" msgstr "%s en o cerca de «%s»" diff --git a/src/pl/plpgsql/src/po/fr.po b/src/pl/plpgsql/src/po/fr.po index 19676ff681c..f2b93ddb884 100644 --- a/src/pl/plpgsql/src/po/fr.po +++ b/src/pl/plpgsql/src/po/fr.po @@ -8,10 +8,10 @@ # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 15\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-04-12 05:16+0000\n" -"PO-Revision-Date: 2022-04-12 17:29+0200\n" +"POT-Creation-Date: 2024-08-22 10:09+0000\n" +"PO-Revision-Date: 2024-09-16 16:28+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -19,161 +19,176 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.0.1\n" +"X-Generator: Poedit 3.5\n" -#: pl_comp.c:438 pl_handler.c:496 +#: pl_comp.c:434 pl_handler.c:496 #, c-format msgid "PL/pgSQL functions cannot accept type %s" msgstr "les fonctions PL/pgSQL ne peuvent pas accepter le type %s" -#: pl_comp.c:530 +#: pl_comp.c:526 #, c-format msgid "could not determine actual return type for polymorphic function \"%s\"" msgstr "n'a pas pu déterminer le type de retour pour la fonction polymorphique « %s »" -#: pl_comp.c:560 +#: pl_comp.c:556 #, c-format msgid "trigger functions can only be called as triggers" msgstr "les fonctions trigger peuvent seulement être appelées par des triggers" -#: pl_comp.c:564 pl_handler.c:480 +#: pl_comp.c:560 pl_handler.c:480 #, c-format msgid "PL/pgSQL functions cannot return type %s" msgstr "les fonctions PL/pgSQL ne peuvent pas renvoyer le type %s" -#: pl_comp.c:604 +#: pl_comp.c:600 #, c-format msgid "trigger functions cannot have declared arguments" msgstr "les fonctions triggers ne peuvent pas avoir d'arguments déclarés" -#: pl_comp.c:605 +#: pl_comp.c:601 #, c-format msgid "The arguments of the trigger can be accessed through TG_NARGS and TG_ARGV instead." msgstr "À la place, on peut accéder aux arguments du trigger par TG_NARGS et TG_ARGV." -#: pl_comp.c:738 +#: pl_comp.c:734 #, c-format msgid "event trigger functions cannot have declared arguments" msgstr "les fonctions triggers sur événement ne peuvent pas avoir des arguments déclarés" -#: pl_comp.c:1002 +#: pl_comp.c:998 #, c-format msgid "compilation of PL/pgSQL function \"%s\" near line %d" msgstr "compilation de la fonction PL/pgSQL « %s » près de la ligne %d" -#: pl_comp.c:1025 +#: pl_comp.c:1021 #, c-format msgid "parameter name \"%s\" used more than once" msgstr "le nom du paramètre « %s » est utilisé plus d'une fois" -#: pl_comp.c:1139 +#: pl_comp.c:1135 #, c-format msgid "column reference \"%s\" is ambiguous" -msgstr "la référence à la colonne « %s » est ambigüe" +msgstr "la référence à la colonne « %s » est ambiguë" -#: pl_comp.c:1141 +#: pl_comp.c:1137 #, c-format msgid "It could refer to either a PL/pgSQL variable or a table column." msgstr "Cela pourrait faire référence à une variable PL/pgSQL ou à la colonne d'une table." -#: pl_comp.c:1324 pl_exec.c:5216 pl_exec.c:5389 pl_exec.c:5476 pl_exec.c:5567 -#: pl_exec.c:6588 +#: pl_comp.c:1314 pl_exec.c:5260 pl_exec.c:5433 pl_exec.c:5520 pl_exec.c:5611 +#: pl_exec.c:6636 #, c-format msgid "record \"%s\" has no field \"%s\"" msgstr "l'enregistrement « %s » n'a pas de champs « %s »" -#: pl_comp.c:1818 +#: pl_comp.c:1633 pl_gram.y:645 pl_gram.y:660 pl_gram.y:686 +#, c-format +msgid "variable \"%s\" does not exist" +msgstr "la variable « %s » n'existe pas" + +#: pl_comp.c:1722 +#, c-format +msgid "column \"%s\" of relation \"%s\" does not exist" +msgstr "la colonne « %s » de la relation « %s » n'existe pas" + +#: pl_comp.c:1775 #, c-format msgid "relation \"%s\" does not exist" msgstr "la relation « %s » n'existe pas" -#: pl_comp.c:1825 pl_comp.c:1867 +#: pl_comp.c:1782 pl_comp.c:1820 #, c-format msgid "relation \"%s\" does not have a composite type" msgstr "la relation « %s » n'a pas un type composite" -#: pl_comp.c:1933 +#: pl_comp.c:1886 #, c-format msgid "variable \"%s\" has pseudo-type %s" msgstr "la variable « %s » a le pseudo-type %s" -#: pl_comp.c:2122 +#: pl_comp.c:2075 #, c-format msgid "type \"%s\" is only a shell" msgstr "le type « %s » n'est qu'une coquille" -#: pl_comp.c:2204 pl_exec.c:6889 +#: pl_comp.c:2157 pl_exec.c:6937 #, c-format msgid "type %s is not composite" msgstr "le type %s n'est pas un type composite" -#: pl_comp.c:2252 pl_comp.c:2305 +#: pl_comp.c:2193 +#, c-format +msgid "could not find array type for data type %s" +msgstr "n'a pas pu trouver de type tableau pour le type de données %s" + +#: pl_comp.c:2232 pl_comp.c:2285 #, c-format msgid "unrecognized exception condition \"%s\"" msgstr "condition d'exception non reconnue « %s »" -#: pl_comp.c:2526 +#: pl_comp.c:2514 #, c-format msgid "could not determine actual argument type for polymorphic function \"%s\"" msgstr "n'a pas pu déterminer le type d'argument pour la fonction polymorphique « %s »" -#: pl_exec.c:500 pl_exec.c:939 pl_exec.c:1174 +#: pl_exec.c:512 pl_exec.c:951 pl_exec.c:1186 msgid "during initialization of execution state" msgstr "durant l'initialisation de l'état de la fonction" -#: pl_exec.c:506 +#: pl_exec.c:518 msgid "while storing call arguments into local variables" msgstr "lors du stockage des arguments dans les variables locales" -#: pl_exec.c:594 pl_exec.c:1012 +#: pl_exec.c:606 pl_exec.c:1024 msgid "during function entry" msgstr "durant l'entrée d'une fonction" -#: pl_exec.c:617 +#: pl_exec.c:629 #, c-format msgid "control reached end of function without RETURN" msgstr "le contrôle a atteint la fin de la fonction sans RETURN" -#: pl_exec.c:623 +#: pl_exec.c:635 msgid "while casting return value to function's return type" msgstr "lors de la conversion de la valeur de retour au type de retour de la fonction" -#: pl_exec.c:635 pl_exec.c:3656 +#: pl_exec.c:647 pl_exec.c:3683 #, c-format msgid "set-valued function called in context that cannot accept a set" msgstr "la fonction renvoyant un ensemble a été appelée dans un contexte qui n'accepte pas un ensemble" -#: pl_exec.c:640 pl_exec.c:3662 +#: pl_exec.c:652 pl_exec.c:3689 #, c-format msgid "materialize mode required, but it is not allowed in this context" msgstr "mode matérialisé requis mais interdit dans ce contexte" -#: pl_exec.c:767 pl_exec.c:1038 pl_exec.c:1196 +#: pl_exec.c:779 pl_exec.c:1050 pl_exec.c:1208 msgid "during function exit" msgstr "lors de la sortie de la fonction" -#: pl_exec.c:822 pl_exec.c:886 pl_exec.c:3455 +#: pl_exec.c:834 pl_exec.c:898 pl_exec.c:3482 msgid "returned record type does not match expected record type" msgstr "le type d'enregistrement renvoyé ne correspond pas au type d'enregistrement attendu" -#: pl_exec.c:1035 pl_exec.c:1193 +#: pl_exec.c:1047 pl_exec.c:1205 #, c-format msgid "control reached end of trigger procedure without RETURN" msgstr "le contrôle a atteint la fin de la procédure trigger sans RETURN" -#: pl_exec.c:1043 +#: pl_exec.c:1055 #, c-format msgid "trigger procedure cannot return a set" msgstr "une procédure trigger ne peut pas renvoyer un ensemble" -#: pl_exec.c:1082 pl_exec.c:1110 +#: pl_exec.c:1094 pl_exec.c:1122 msgid "returned row structure does not match the structure of the triggering table" msgstr "la structure de ligne renvoyée ne correspond pas à la structure de la table du trigger" #. translator: last %s is a phrase such as "during statement block #. local variable initialization" #. -#: pl_exec.c:1251 +#: pl_exec.c:1263 #, c-format msgid "PL/pgSQL function %s line %d %s" msgstr "fonction PL/pgSQL %s, ligne %d, %s" @@ -181,49 +196,49 @@ msgstr "fonction PL/pgSQL %s, ligne %d, %s" #. translator: last %s is a phrase such as "while storing call #. arguments into local variables" #. -#: pl_exec.c:1262 +#: pl_exec.c:1274 #, c-format msgid "PL/pgSQL function %s %s" msgstr "fonction PL/pgSQL %s, %s" #. translator: last %s is a plpgsql statement type name -#: pl_exec.c:1270 +#: pl_exec.c:1282 #, c-format msgid "PL/pgSQL function %s line %d at %s" msgstr "fonction PL/pgSQL %s, ligne %d à %s" -#: pl_exec.c:1276 +#: pl_exec.c:1288 #, c-format msgid "PL/pgSQL function %s" msgstr "fonction PL/pgSQL %s" -#: pl_exec.c:1647 +#: pl_exec.c:1659 msgid "during statement block local variable initialization" msgstr "lors de l'initialisation des variables locales du bloc d'instructions" -#: pl_exec.c:1752 +#: pl_exec.c:1764 msgid "during statement block entry" msgstr "lors de l'entrée dans le bloc d'instructions" -#: pl_exec.c:1784 +#: pl_exec.c:1796 msgid "during statement block exit" msgstr "lors de la sortie du bloc d'instructions" -#: pl_exec.c:1822 +#: pl_exec.c:1834 msgid "during exception cleanup" msgstr "lors du nettoyage de l'exception" -#: pl_exec.c:2355 +#: pl_exec.c:2370 #, c-format msgid "procedure parameter \"%s\" is an output parameter but corresponding argument is not writable" msgstr "le paramètre de la procédure « %s » est un argument en sortie mais l'argument correspondant n'est pas modifiable" -#: pl_exec.c:2360 +#: pl_exec.c:2375 #, c-format msgid "procedure parameter %d is an output parameter but corresponding argument is not writable" msgstr "le paramètre de la procédure %d est un paramètre en sortie mais l'argument correspondant n'est pas modifiable" -#: pl_exec.c:2394 +#: pl_exec.c:2411 #, c-format msgid "GET STACKED DIAGNOSTICS cannot be used outside an exception handler" msgstr "GET STACKED DIAGNOSTICS ne peut pas être utilisé à l'extérieur d'un gestionnaire d'exception" @@ -234,288 +249,293 @@ msgstr "GET STACKED DIAGNOSTICS ne peut pas être utilisé à l'extérieur d'un # (errcode(ERRCODE_CASE_NOT_FOUND), # errmsg("case not found"), # errhint("CASE statement is missing ELSE part."))); -#: pl_exec.c:2594 +#: pl_exec.c:2617 #, c-format msgid "case not found" msgstr "cas introuvable" -#: pl_exec.c:2595 +#: pl_exec.c:2618 #, c-format msgid "CASE statement is missing ELSE part." msgstr "l'instruction CASE n'a pas de partie ELSE." -#: pl_exec.c:2688 +#: pl_exec.c:2711 #, c-format msgid "lower bound of FOR loop cannot be null" msgstr "la limite inférieure d'une boucle FOR ne peut pas être NULL" -#: pl_exec.c:2704 +#: pl_exec.c:2727 #, c-format msgid "upper bound of FOR loop cannot be null" msgstr "la limite supérieure de la boucle FOR ne peut pas être NULL" -#: pl_exec.c:2722 +#: pl_exec.c:2745 #, c-format msgid "BY value of FOR loop cannot be null" msgstr "la valeur BY d'une boucle FOR ne peut pas être NULL" -#: pl_exec.c:2728 +#: pl_exec.c:2751 #, c-format msgid "BY value of FOR loop must be greater than zero" msgstr "la valeur BY d'une boucle FOR doit être plus grande que zéro" -#: pl_exec.c:2862 pl_exec.c:4658 +#: pl_exec.c:2885 pl_exec.c:4693 #, c-format msgid "cursor \"%s\" already in use" msgstr "curseur « %s » déjà en cours d'utilisation" -#: pl_exec.c:2885 pl_exec.c:4723 +#: pl_exec.c:2908 pl_exec.c:4763 #, c-format msgid "arguments given for cursor without arguments" msgstr "arguments fournis pour un curseur sans argument" -#: pl_exec.c:2904 pl_exec.c:4742 +#: pl_exec.c:2927 pl_exec.c:4782 #, c-format msgid "arguments required for cursor" msgstr "arguments requis pour le curseur" -#: pl_exec.c:2991 +#: pl_exec.c:3018 #, c-format msgid "FOREACH expression must not be null" msgstr "l'expression FOREACH ne doit pas être NULL" -#: pl_exec.c:3006 +#: pl_exec.c:3033 #, c-format msgid "FOREACH expression must yield an array, not type %s" msgstr "l'expression FOREACH doit renvoyer un tableau, pas un type %s" -#: pl_exec.c:3023 +#: pl_exec.c:3050 #, c-format msgid "slice dimension (%d) is out of the valid range 0..%d" msgstr "la dimension de la partie (%d) est en dehors des valeurs valides (0..%d)" -#: pl_exec.c:3050 +#: pl_exec.c:3077 #, c-format msgid "FOREACH ... SLICE loop variable must be of an array type" msgstr "la variable d'une boucle FOREACH ... SLICE doit être d'un type tableau" -#: pl_exec.c:3054 +#: pl_exec.c:3081 #, c-format msgid "FOREACH loop variable must not be of an array type" msgstr "la valeur d'une boucle FOREACH ne doit pas être de type tableau" -#: pl_exec.c:3216 pl_exec.c:3273 pl_exec.c:3448 +#: pl_exec.c:3243 pl_exec.c:3300 pl_exec.c:3475 #, c-format msgid "cannot return non-composite value from function returning composite type" msgstr "ne peut pas renvoyer de valeurs non composites à partir d'une fonction renvoyant un type composite" -#: pl_exec.c:3312 pl_gram.y:3318 +#: pl_exec.c:3339 pl_gram.y:3375 #, c-format msgid "cannot use RETURN NEXT in a non-SETOF function" msgstr "ne peut pas utiliser RETURN NEXT dans une fonction non SETOF" -#: pl_exec.c:3353 pl_exec.c:3485 +#: pl_exec.c:3380 pl_exec.c:3512 #, c-format msgid "wrong result type supplied in RETURN NEXT" msgstr "mauvais type de résultat fourni dans RETURN NEXT" -#: pl_exec.c:3391 pl_exec.c:3412 +#: pl_exec.c:3418 pl_exec.c:3439 #, c-format msgid "wrong record type supplied in RETURN NEXT" msgstr "mauvais type d'enregistrement fourni à RETURN NEXT" -#: pl_exec.c:3504 +#: pl_exec.c:3531 #, c-format msgid "RETURN NEXT must have a parameter" msgstr "RETURN NEXT doit avoir un paramètre" -#: pl_exec.c:3532 pl_gram.y:3382 +#: pl_exec.c:3559 pl_gram.y:3439 #, c-format msgid "cannot use RETURN QUERY in a non-SETOF function" msgstr "ne peut pas utiliser RETURN QUERY dans une fonction non SETOF" -#: pl_exec.c:3550 +#: pl_exec.c:3577 msgid "structure of query does not match function result type" msgstr "la structure de la requête ne correspond pas au type de résultat de la fonction" -#: pl_exec.c:3605 pl_exec.c:4435 pl_exec.c:8630 +#: pl_exec.c:3632 pl_exec.c:4469 pl_exec.c:8759 #, c-format msgid "query string argument of EXECUTE is null" msgstr "l'argument de la requête d'EXECUTE est NULL" -#: pl_exec.c:3690 pl_exec.c:3828 +#: pl_exec.c:3717 pl_exec.c:3855 #, c-format msgid "RAISE option already specified: %s" msgstr "option RAISE déjà spécifiée : %s" -#: pl_exec.c:3724 +#: pl_exec.c:3751 #, c-format msgid "RAISE without parameters cannot be used outside an exception handler" msgstr "RAISE sans paramètre ne peut pas être utilisé sans un gestionnaire d'exceptions" -#: pl_exec.c:3818 +#: pl_exec.c:3845 #, c-format msgid "RAISE statement option cannot be null" msgstr "l'option de l'instruction RAISE ne peut pas être NULL" -#: pl_exec.c:3888 +#: pl_exec.c:3915 #, c-format msgid "%s" msgstr "%s" -#: pl_exec.c:3943 +#: pl_exec.c:3970 #, c-format msgid "assertion failed" msgstr "échec de l'assertion" -#: pl_exec.c:4308 pl_exec.c:4497 +#: pl_exec.c:4342 pl_exec.c:4532 #, c-format msgid "cannot COPY to/from client in PL/pgSQL" msgstr "ne peut pas utiliser COPY vers/depuis un client en PL/pgSQL" -#: pl_exec.c:4314 +#: pl_exec.c:4348 #, c-format msgid "unsupported transaction command in PL/pgSQL" msgstr "commande de transaction non supportée dans PL/pgSQL" -#: pl_exec.c:4337 pl_exec.c:4526 +#: pl_exec.c:4371 pl_exec.c:4561 #, c-format msgid "INTO used with a command that cannot return data" msgstr "INTO utilisé dans une commande qui ne peut pas envoyer de données" -#: pl_exec.c:4360 pl_exec.c:4549 +#: pl_exec.c:4394 pl_exec.c:4584 #, c-format msgid "query returned no rows" msgstr "la requête n'a renvoyé aucune ligne" -#: pl_exec.c:4382 pl_exec.c:4568 pl_exec.c:5711 +#: pl_exec.c:4416 pl_exec.c:4603 pl_exec.c:5755 #, c-format msgid "query returned more than one row" msgstr "la requête a renvoyé plus d'une ligne" -#: pl_exec.c:4384 +#: pl_exec.c:4418 #, c-format msgid "Make sure the query returns a single row, or use LIMIT 1." msgstr "Assurez-vous que la requête ne renvoie qu'une seule ligne ou utilisez LIMIT 1." -#: pl_exec.c:4400 +#: pl_exec.c:4434 #, c-format msgid "query has no destination for result data" msgstr "la requête n'a pas de destination pour les données résultantes" -#: pl_exec.c:4401 +#: pl_exec.c:4435 #, c-format msgid "If you want to discard the results of a SELECT, use PERFORM instead." msgstr "Si vous voulez ignorer le résultat d'un SELECT, utilisez PERFORM à la place." -#: pl_exec.c:4489 +#: pl_exec.c:4524 #, c-format msgid "EXECUTE of SELECT ... INTO is not implemented" -msgstr "EXECUTE n'est pas implementé pour SELECT ... INTO" +msgstr "EXECUTE n'est pas implémenté pour SELECT ... INTO" -#: pl_exec.c:4490 +#: pl_exec.c:4525 #, c-format msgid "You might want to use EXECUTE ... INTO or EXECUTE CREATE TABLE ... AS instead." msgstr "Vous pouvez aussi utiliser EXECUTE ... INTO ou EXECUTE CREATE TABLE ... AS à la place." -#: pl_exec.c:4503 +#: pl_exec.c:4538 #, c-format msgid "EXECUTE of transaction commands is not implemented" msgstr "EXECUTE pour les commandes de transactions n'est pas implémenté" -#: pl_exec.c:4804 pl_exec.c:4892 +#: pl_exec.c:4848 pl_exec.c:4936 #, c-format msgid "cursor variable \"%s\" is null" msgstr "la variable du curseur « %s » est NULL" -#: pl_exec.c:4815 pl_exec.c:4903 +#: pl_exec.c:4859 pl_exec.c:4947 #, c-format msgid "cursor \"%s\" does not exist" msgstr "le curseur « %s » n'existe pas" -#: pl_exec.c:4828 +#: pl_exec.c:4872 #, c-format msgid "relative or absolute cursor position is null" msgstr "la position relative ou absolue du curseur est NULL" -#: pl_exec.c:5066 pl_exec.c:5161 +#: pl_exec.c:5110 pl_exec.c:5205 #, c-format msgid "null value cannot be assigned to variable \"%s\" declared NOT NULL" msgstr "une valeur NULL ne peut pas être affectée à la variable « %s » déclarée non NULL" -#: pl_exec.c:5142 +#: pl_exec.c:5186 #, c-format msgid "cannot assign non-composite value to a row variable" msgstr "ne peut pas affecter une valeur non composite à une variable de type ROW" -#: pl_exec.c:5174 +#: pl_exec.c:5218 #, c-format msgid "cannot assign non-composite value to a record variable" msgstr "ne peut pas affecter une valeur non composite à une variable RECORD" -#: pl_exec.c:5225 +#: pl_exec.c:5269 #, c-format msgid "cannot assign to system column \"%s\"" msgstr "ne peut pas affecter à une colonne système « %s »" -#: pl_exec.c:5674 +#: pl_exec.c:5718 #, c-format msgid "query did not return data" msgstr "la requête n'a pas renvoyé de données" -#: pl_exec.c:5675 pl_exec.c:5687 pl_exec.c:5712 pl_exec.c:5788 pl_exec.c:5793 +#: pl_exec.c:5719 pl_exec.c:5731 pl_exec.c:5756 pl_exec.c:5832 pl_exec.c:5837 #, c-format msgid "query: %s" msgstr "requête : %s" -#: pl_exec.c:5683 +#: pl_exec.c:5727 #, c-format msgid "query returned %d column" msgid_plural "query returned %d columns" msgstr[0] "la requête a renvoyé %d colonne" msgstr[1] "la requête a renvoyé %d colonnes" -#: pl_exec.c:5787 +#: pl_exec.c:5831 #, c-format msgid "query is SELECT INTO, but it should be plain SELECT" msgstr "la requête est SELECT INTO, alors qu'elle devrait être un simple SELECT" -#: pl_exec.c:5792 +#: pl_exec.c:5836 #, c-format msgid "query is not a SELECT" msgstr "la requête n'est pas un SELECT" -#: pl_exec.c:6602 pl_exec.c:6642 pl_exec.c:6682 +#: pl_exec.c:6650 pl_exec.c:6690 pl_exec.c:6730 #, c-format msgid "type of parameter %d (%s) does not match that when preparing the plan (%s)" msgstr "le type de paramètre %d (%s) ne correspond pas à celui préparé dans le plan (%s)" -#: pl_exec.c:7093 pl_exec.c:7127 pl_exec.c:7201 pl_exec.c:7227 +#: pl_exec.c:7141 pl_exec.c:7175 pl_exec.c:7249 pl_exec.c:7275 #, c-format msgid "number of source and target fields in assignment does not match" msgstr "le nombre de champs source et celui de champs cible dans l'affectation ne correspondent pas" #. translator: %s represents a name of an extra check -#: pl_exec.c:7095 pl_exec.c:7129 pl_exec.c:7203 pl_exec.c:7229 +#: pl_exec.c:7143 pl_exec.c:7177 pl_exec.c:7251 pl_exec.c:7277 #, c-format msgid "%s check of %s is active." msgstr "%s vérification de %s est active." -#: pl_exec.c:7099 pl_exec.c:7133 pl_exec.c:7207 pl_exec.c:7233 +#: pl_exec.c:7147 pl_exec.c:7181 pl_exec.c:7255 pl_exec.c:7281 #, c-format msgid "Make sure the query returns the exact list of columns." msgstr "Assurez-vous que la requête renvoie la liste exacte des colonnes." -#: pl_exec.c:7620 +#: pl_exec.c:7668 #, c-format msgid "record \"%s\" is not assigned yet" msgstr "l'enregistrement « %s » n'est pas encore affecté" -#: pl_exec.c:7621 +#: pl_exec.c:7669 #, c-format msgid "The tuple structure of a not-yet-assigned record is indeterminate." msgstr "La structure de ligne d'un enregistrement pas encore affecté est indéterminée." +#: pl_exec.c:8357 pl_gram.y:3498 +#, c-format +msgid "variable \"%s\" is declared CONSTANT" +msgstr "la variable « %s » est déclarée CONSTANT" + #: pl_funcs.c:237 msgid "statement block" msgstr "bloc d'instructions" @@ -548,280 +568,274 @@ msgstr "instruction SQL" msgid "FOR over EXECUTE statement" msgstr "FOR sur une instruction EXECUTE" -#: pl_gram.y:486 +#: pl_gram.y:485 #, c-format msgid "block label must be placed before DECLARE, not after" msgstr "le label du bloc doit être placé avant DECLARE, et non pas après" -#: pl_gram.y:506 +#: pl_gram.y:505 #, c-format msgid "collations are not supported by type %s" msgstr "les collationnements ne sont pas supportés par le type %s" -#: pl_gram.y:525 +#: pl_gram.y:524 #, c-format msgid "variable \"%s\" must have a default value, since it's declared NOT NULL" msgstr "la variable « %s » doit avoir une valeur par défaut car elle est déclarée NOT NULL" -#: pl_gram.y:673 pl_gram.y:688 pl_gram.y:714 -#, c-format -msgid "variable \"%s\" does not exist" -msgstr "la variable « %s » n'existe pas" - -#: pl_gram.y:732 pl_gram.y:760 +#: pl_gram.y:704 pl_gram.y:732 msgid "duplicate declaration" msgstr "déclaration dupliquée" -#: pl_gram.y:743 pl_gram.y:771 +#: pl_gram.y:715 pl_gram.y:743 #, c-format msgid "variable \"%s\" shadows a previously defined variable" msgstr "la variable « %s » cache une variable définie précédemment" -#: pl_gram.y:1043 +#: pl_gram.y:1017 #, c-format msgid "diagnostics item %s is not allowed in GET STACKED DIAGNOSTICS" msgstr "l'élément %s de diagnostique n'est pas autorisé dans GET STACKED DIAGNOSTICS" -#: pl_gram.y:1061 +#: pl_gram.y:1035 #, c-format msgid "diagnostics item %s is not allowed in GET CURRENT DIAGNOSTICS" msgstr "l'élément %s de diagnostique n'est pas autorisé dans GET CURRENT DIAGNOSTICS" -#: pl_gram.y:1156 +#: pl_gram.y:1133 msgid "unrecognized GET DIAGNOSTICS item" msgstr "élément GET DIAGNOSTICS non reconnu" -#: pl_gram.y:1172 pl_gram.y:3557 +#: pl_gram.y:1149 pl_gram.y:3614 #, c-format msgid "\"%s\" is not a scalar variable" msgstr "« %s » n'est pas une variable scalaire" -#: pl_gram.y:1402 pl_gram.y:1596 +#: pl_gram.y:1379 pl_gram.y:1572 #, c-format msgid "loop variable of loop over rows must be a record variable or list of scalar variables" msgstr "la variable d'une boucle sur des lignes doit être une variable de type record ou une liste de variables scalaires" -#: pl_gram.y:1437 +#: pl_gram.y:1414 #, c-format msgid "cursor FOR loop must have only one target variable" msgstr "le curseur de la boucle FOR ne doit avoir qu'une seule variable cible" -#: pl_gram.y:1444 +#: pl_gram.y:1421 #, c-format msgid "cursor FOR loop must use a bound cursor variable" msgstr "le curseur de la boucle FOR doit utiliser une variable d'un curseur lié" -#: pl_gram.y:1535 +#: pl_gram.y:1511 #, c-format msgid "integer FOR loop must have only one target variable" msgstr "une boucle FOR de type entier ne doit avoir qu'une seule variable cible" -#: pl_gram.y:1569 +#: pl_gram.y:1545 #, c-format msgid "cannot specify REVERSE in query FOR loop" msgstr "ne peut pas spécifier REVERSE dans la requête d'une boucle FOR" -#: pl_gram.y:1699 +#: pl_gram.y:1675 #, c-format msgid "loop variable of FOREACH must be a known variable or list of variables" msgstr "la variable d'une boucle FOREACH doit être une variable connue ou une liste de variables" -#: pl_gram.y:1741 +#: pl_gram.y:1717 #, c-format msgid "there is no label \"%s\" attached to any block or loop enclosing this statement" msgstr "il n'existe pas de label « %s » attaché à un bloc ou à une boucle englobant cette instruction" -#: pl_gram.y:1749 +#: pl_gram.y:1725 #, c-format msgid "block label \"%s\" cannot be used in CONTINUE" msgstr "le label de bloc « %s » ne peut pas être utilisé avec CONTINUE" -#: pl_gram.y:1764 +#: pl_gram.y:1740 #, c-format msgid "EXIT cannot be used outside a loop, unless it has a label" msgstr "EXIT ne peut pas être utilisé à l'extérieur d'une boucle, sauf s'il a un label" -#: pl_gram.y:1765 +#: pl_gram.y:1741 #, c-format msgid "CONTINUE cannot be used outside a loop" msgstr "CONTINUE ne peut pas être utilisé à l'extérieur d'une boucle" -#: pl_gram.y:1789 pl_gram.y:1827 pl_gram.y:1875 pl_gram.y:3004 pl_gram.y:3092 -#: pl_gram.y:3203 pl_gram.y:3956 +#: pl_gram.y:1765 pl_gram.y:1803 pl_gram.y:1851 pl_gram.y:3061 pl_gram.y:3149 +#: pl_gram.y:3260 pl_gram.y:4009 msgid "unexpected end of function definition" msgstr "fin inattendue de la définition de la fonction" -#: pl_gram.y:1895 pl_gram.y:1919 pl_gram.y:1935 pl_gram.y:1941 pl_gram.y:2066 -#: pl_gram.y:2074 pl_gram.y:2088 pl_gram.y:2183 pl_gram.y:2407 pl_gram.y:2497 -#: pl_gram.y:2655 pl_gram.y:3799 pl_gram.y:3860 pl_gram.y:3937 +#: pl_gram.y:1871 pl_gram.y:1895 pl_gram.y:1911 pl_gram.y:1917 pl_gram.y:2042 +#: pl_gram.y:2050 pl_gram.y:2064 pl_gram.y:2159 pl_gram.y:2383 pl_gram.y:2473 +#: pl_gram.y:2632 pl_gram.y:3856 pl_gram.y:3917 pl_gram.y:3990 msgid "syntax error" msgstr "erreur de syntaxe" -#: pl_gram.y:1923 pl_gram.y:1925 pl_gram.y:2411 pl_gram.y:2413 +#: pl_gram.y:1899 pl_gram.y:1901 pl_gram.y:2387 pl_gram.y:2389 msgid "invalid SQLSTATE code" msgstr "code SQLSTATE invalide" -#: pl_gram.y:2131 +#: pl_gram.y:2107 msgid "syntax error, expected \"FOR\"" msgstr "erreur de syntaxe, « FOR » attendu" -#: pl_gram.y:2192 +#: pl_gram.y:2168 #, c-format msgid "FETCH statement cannot return multiple rows" msgstr "l'instruction FETCH ne peut pas renvoyer plusieurs lignes" -#: pl_gram.y:2289 +#: pl_gram.y:2265 #, c-format msgid "cursor variable must be a simple variable" msgstr "la variable de curseur doit être une variable simple" -#: pl_gram.y:2295 +#: pl_gram.y:2271 #, c-format msgid "variable \"%s\" must be of type cursor or refcursor" msgstr "la variable « %s » doit être de type cursor ou refcursor" -#: pl_gram.y:2626 pl_gram.y:2637 +#: pl_gram.y:2603 pl_gram.y:2614 #, c-format msgid "\"%s\" is not a known variable" msgstr "« %s » n'est pas une variable connue" -#: pl_gram.y:2743 pl_gram.y:2753 pl_gram.y:2909 +#: pl_gram.y:2719 pl_gram.y:2729 pl_gram.y:2911 msgid "mismatched parentheses" msgstr "parenthèses non correspondantes" -#: pl_gram.y:2757 +#: pl_gram.y:2733 #, c-format msgid "missing \"%s\" at end of SQL expression" msgstr "« %s » manquant à la fin de l'expression SQL" -#: pl_gram.y:2763 +#: pl_gram.y:2739 #, c-format msgid "missing \"%s\" at end of SQL statement" msgstr "« %s » manquant à la fin de l'instruction SQL" -#: pl_gram.y:2780 +#: pl_gram.y:2758 msgid "missing expression" msgstr "expression manquante" -#: pl_gram.y:2782 +#: pl_gram.y:2760 msgid "missing SQL statement" msgstr "instruction SQL manquante" -#: pl_gram.y:2911 +#: pl_gram.y:2889 +msgid "syntax error, expected \"]\"" +msgstr "erreur de syntaxe, « ] » attendu" + +#: pl_gram.y:2913 msgid "incomplete data type declaration" msgstr "déclaration incomplète d'un type de données" -#: pl_gram.y:2934 +#: pl_gram.y:2936 msgid "missing data type declaration" msgstr "déclaration manquante d'un type de données" -#: pl_gram.y:3014 +#: pl_gram.y:3071 msgid "INTO specified more than once" msgstr "INTO spécifié plus d'une fois" -#: pl_gram.y:3184 +#: pl_gram.y:3241 msgid "expected FROM or IN" msgstr "attendait FROM ou IN" -#: pl_gram.y:3245 +#: pl_gram.y:3302 #, c-format msgid "RETURN cannot have a parameter in function returning set" msgstr "RETURN ne peut pas avoir de paramètre dans une fonction renvoyant un ensemble" -#: pl_gram.y:3246 +#: pl_gram.y:3303 #, c-format msgid "Use RETURN NEXT or RETURN QUERY." msgstr "Utilisez RETURN NEXT ou RETURN QUERY." -#: pl_gram.y:3256 +#: pl_gram.y:3313 #, c-format msgid "RETURN cannot have a parameter in a procedure" msgstr "RETURN ne peut pas avoir de paramètre dans une procédure" -#: pl_gram.y:3261 +#: pl_gram.y:3318 #, c-format msgid "RETURN cannot have a parameter in function returning void" msgstr "RETURN ne peut pas avoir de paramètre dans une fonction renvoyant void" -#: pl_gram.y:3270 +#: pl_gram.y:3327 #, c-format msgid "RETURN cannot have a parameter in function with OUT parameters" msgstr "RETURN ne peut pas avoir de paramètre dans une fonction avec des paramètres OUT" -#: pl_gram.y:3333 +#: pl_gram.y:3390 #, c-format msgid "RETURN NEXT cannot have a parameter in function with OUT parameters" msgstr "RETURN NEXT ne peut pas avoir de paramètre dans une fonction avec des paramètres OUT" -#: pl_gram.y:3441 -#, c-format -msgid "variable \"%s\" is declared CONSTANT" -msgstr "la variable « %s » est déclarée CONSTANT" - -#: pl_gram.y:3499 +#: pl_gram.y:3556 #, c-format msgid "record variable cannot be part of multiple-item INTO list" msgstr "la variable de type record ne peut pas faire partie d'une liste INTO à plusieurs éléments" -#: pl_gram.y:3545 +#: pl_gram.y:3602 #, c-format msgid "too many INTO variables specified" msgstr "trop de variables INTO indiquées" -#: pl_gram.y:3753 +#: pl_gram.y:3810 #, c-format msgid "end label \"%s\" specified for unlabeled block" msgstr "label de fin « %s » spécifié pour un bloc sans label" -#: pl_gram.y:3760 +#: pl_gram.y:3817 #, c-format msgid "end label \"%s\" differs from block's label \"%s\"" msgstr "le label de fin « %s » est différent du label « %s » du bloc" -#: pl_gram.y:3794 +#: pl_gram.y:3851 #, c-format msgid "cursor \"%s\" has no arguments" msgstr "le curseur « %s » n'a pas d'argument" -#: pl_gram.y:3808 +#: pl_gram.y:3865 #, c-format msgid "cursor \"%s\" has arguments" msgstr "le curseur « %s » a des arguments" -#: pl_gram.y:3850 +#: pl_gram.y:3907 #, c-format msgid "cursor \"%s\" has no argument named \"%s\"" msgstr "le curseur « %s » n'a pas d'argument nommé « %s »" -#: pl_gram.y:3870 +#: pl_gram.y:3927 #, c-format msgid "value for parameter \"%s\" of cursor \"%s\" specified more than once" msgstr "la valeur du paramètre « %s » pour le curseur « %s » est spécifiée plus d'une fois" -#: pl_gram.y:3895 +#: pl_gram.y:3948 #, c-format msgid "not enough arguments for cursor \"%s\"" msgstr "pas assez d'arguments pour le curseur « %s »" -#: pl_gram.y:3902 +#: pl_gram.y:3955 #, c-format msgid "too many arguments for cursor \"%s\"" msgstr "trop d'arguments pour le curseur « %s »" -#: pl_gram.y:3988 +#: pl_gram.y:4041 msgid "unrecognized RAISE statement option" msgstr "option de l'instruction RAISE inconnue" -#: pl_gram.y:3992 +#: pl_gram.y:4045 msgid "syntax error, expected \"=\"" msgstr "erreur de syntaxe, « = » attendu" -#: pl_gram.y:4033 +#: pl_gram.y:4086 #, c-format msgid "too many parameters specified for RAISE" msgstr "trop de paramètres spécifiés pour RAISE" -#: pl_gram.y:4037 +#: pl_gram.y:4090 #, c-format msgid "too few parameters specified for RAISE" msgstr "trop peu de paramètres pour RAISE" @@ -847,158 +861,13 @@ msgid "List of programming constructs that should produce an error." msgstr "Liste des constructions de programmation qui devraient produire une erreur." #. translator: %s is typically the translation of "syntax error" -#: pl_scanner.c:508 +#: pl_scanner.c:525 #, c-format msgid "%s at end of input" msgstr "%s à la fin de l'entrée" #. translator: first %s is typically the translation of "syntax error" -#: pl_scanner.c:524 +#: pl_scanner.c:541 #, c-format msgid "%s at or near \"%s\"" msgstr "%s sur ou près de « %s »" - -#~ msgid "EXECUTE statement" -#~ msgstr "instruction EXECUTE" - -#~ msgid "Expected \"FOR\", to open a cursor for an unbound cursor variable." -#~ msgstr "Attendait « FOR » pour ouvrir un curseur pour une variable sans limite." - -#~ msgid "Expected record variable, row variable, or list of scalar variables following INTO." -#~ msgstr "" -#~ "Attendait une variable RECORD, ROW ou une liste de variables scalaires\n" -#~ "suivant INTO." - -#~ msgid "N/A (dropped column)" -#~ msgstr "N/A (colonne supprimée)" - -#~ msgid "Number of returned columns (%d) does not match expected column count (%d)." -#~ msgstr "" -#~ "Le nombre de colonnes renvoyées (%d) ne correspond pas au nombre de colonnes\n" -#~ "attendues (%d)." - -#~ msgid "RETURN NEXT must specify a record or row variable in function returning row" -#~ msgstr "" -#~ "RETURN NEXT doit indiquer une variable RECORD ou ROW dans une fonction\n" -#~ "renvoyant une ligne" - -#~ msgid "RETURN cannot have a parameter in function returning set; use RETURN NEXT or RETURN QUERY" -#~ msgstr "" -#~ "RETURN ne peut pas avoir un paramètre dans une fonction renvoyant des\n" -#~ "lignes ; utilisez RETURN NEXT ou RETURN QUERY" - -#~ msgid "RETURN must specify a record or row variable in function returning row" -#~ msgstr "" -#~ "RETURN ne peut pas indiquer une variable RECORD ou ROW dans une fonction\n" -#~ "renvoyant une ligne" - -#~ msgid "Returned type %s does not match expected type %s in column \"%s\"." -#~ msgstr "Le type %s renvoyé ne correspond pas au type %s attendu dans la colonne « %s »." - -#~ msgid "SQL statement in PL/PgSQL function \"%s\" near line %d" -#~ msgstr "instruction SQL dans la fonction PL/pgsql « %s » près de la ligne %d" - -#~ msgid "Use a BEGIN block with an EXCEPTION clause instead." -#~ msgstr "Utiliser un bloc BEGIN dans une clause EXCEPTION à la place." - -#~ msgid "array subscript in assignment must not be null" -#~ msgstr "un indice de tableau dans une affectation ne peut pas être NULL" - -#~ msgid "cannot assign to tg_argv" -#~ msgstr "ne peut pas affecter à tg_argv" - -#~ msgid "cursor \"%s\" closed unexpectedly" -#~ msgstr "le curseur « %s » a été fermé de façon inattendu" - -#~ msgid "default value for row or record variable is not supported" -#~ msgstr "la valeur par défaut de variable ROW ou RECORD n'est pas supportée" - -#~ msgid "expected \")\"" -#~ msgstr "« ) » attendu" - -#~ msgid "expected \"[\"" -#~ msgstr "« [ » attendu" - -#~ msgid "expected a cursor or refcursor variable" -#~ msgstr "attendait une variable de type cursor ou refcursor" - -#~ msgid "expected an integer variable" -#~ msgstr "attend une variable entière" - -#~ msgid "function has no parameter \"%s\"" -#~ msgstr "la fonction n'a pas de paramètre « %s »" - -#~ msgid "label does not exist" -#~ msgstr "le label n'existe pas" - -#~ msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)" -#~ msgstr "le nombre de dimensions du tableau (%d) dépasse la maximum autorisé (%d)" - -#~ msgid "only positional parameters can be aliased" -#~ msgstr "seuls les paramètres de position peuvent avoir un alias" - -#~ msgid "qualified identifier cannot be used here: %s" -#~ msgstr "l'identifiant qualifié ne peut pas être utilisé ici : %s" - -#~ msgid "query \"%s\" returned more than one row" -#~ msgstr "la requête « %s » a renvoyé plus d'une ligne" - -#~ msgid "relation \"%s\" is not a table" -#~ msgstr "la relation « %s » n'est pas une table" - -#~ msgid "relation \"%s.%s\" does not exist" -#~ msgstr "la relation « %s.%s » n'existe pas" - -#~ msgid "row \"%s\" has no field \"%s\"" -#~ msgstr "la ligne « %s » n'a aucun champ « %s »" - -#~ msgid "row \"%s.%s\" has no field \"%s\"" -#~ msgstr "la ligne « %s.%s » n'a aucun champ « %s »" - -#~ msgid "row or record variable cannot be CONSTANT" -#~ msgstr "la variable ROW ou RECORD ne peut pas être CONSTANT" - -#~ msgid "row or record variable cannot be NOT NULL" -#~ msgstr "la variable ROW ou RECORD ne peut pas être NOT NULL" - -#~ msgid "string literal in PL/PgSQL function \"%s\" near line %d" -#~ msgstr "chaîne littérale dans la fonction PL/pgsql « %s » près de la ligne %d" - -#~ msgid "subscripted object is not an array" -#~ msgstr "l'objet souscrit n'est pas un tableau" - -#~ msgid "syntax error at \"%s\"" -#~ msgstr "erreur de syntaxe à « %s »" - -#~ msgid "too many variables specified in SQL statement" -#~ msgstr "trop de variables spécifiées dans l'instruction SQL" - -#~ msgid "type of \"%s\" does not match that when preparing the plan" -#~ msgstr "le type de « %s » ne correspond pas à ce qui est préparé dans le plan" - -#~ msgid "type of \"%s.%s\" does not match that when preparing the plan" -#~ msgstr "le type de « %s.%s » ne correspond pas à ce qui est préparé dans le plan" - -#~ msgid "type of tg_argv[%d] does not match that when preparing the plan" -#~ msgstr "le type de tg_argv[%d] ne correspond pas à ce qui est préparé dans le plan" - -#~ msgid "unterminated \" in identifier: %s" -#~ msgstr "\" non terminé dans l'identifiant : %s" - -#~ msgid "unterminated /* comment" -#~ msgstr "commentaire /* non terminé" - -#~ msgid "unterminated dollar-quoted string" -#~ msgstr "chaîne entre dollars non terminée" - -#~ msgid "unterminated quoted identifier" -#~ msgstr "identifiant entre guillemets non terminé" - -#~ msgid "unterminated quoted string" -#~ msgstr "chaîne entre guillemets non terminée" - -#~ msgid "variable \"%s\" declared NOT NULL cannot default to NULL" -#~ msgstr "la variable « %s » déclarée NOT NULL ne peut pas valoir NULL par défaut" - -#~ msgid "variable \"%s\" does not exist in the current block" -#~ msgstr "la variable « %s » n'existe pas dans le bloc actuel" diff --git a/src/pl/plpgsql/src/po/ru.po b/src/pl/plpgsql/src/po/ru.po index befc3125ba0..99ba5ac7e11 100644 --- a/src/pl/plpgsql/src/po/ru.po +++ b/src/pl/plpgsql/src/po/ru.po @@ -1,13 +1,13 @@ # Russian message translation file for plpgsql # Copyright (C) 2012-2016 PostgreSQL Global Development Group # This file is distributed under the same license as the PostgreSQL package. -# Alexander Lakhin , 2012-2017, 2018, 2019, 2020, 2021, 2022. +# Alexander Lakhin , 2012-2017, 2018, 2019, 2020, 2021, 2022, 2024. msgid "" msgstr "" "Project-Id-Version: plpgsql (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-05-04 10:36+0300\n" -"PO-Revision-Date: 2022-09-05 13:38+0300\n" +"POT-Creation-Date: 2024-09-02 09:29+0300\n" +"PO-Revision-Date: 2024-09-04 20:00+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" @@ -78,43 +78,58 @@ msgstr "неоднозначная ссылка на столбец \"%s\"" msgid "It could refer to either a PL/pgSQL variable or a table column." msgstr "Подразумевается ссылка на переменную PL/pgSQL или столбец таблицы." -#: pl_comp.c:1314 pl_exec.c:5255 pl_exec.c:5428 pl_exec.c:5515 pl_exec.c:5606 -#: pl_exec.c:6624 +#: pl_comp.c:1314 pl_exec.c:5260 pl_exec.c:5433 pl_exec.c:5520 pl_exec.c:5611 +#: pl_exec.c:6636 #, c-format msgid "record \"%s\" has no field \"%s\"" msgstr "в записи \"%s\" нет поля \"%s\"" -#: pl_comp.c:1808 +#: pl_comp.c:1633 pl_gram.y:645 pl_gram.y:660 pl_gram.y:686 +#, c-format +msgid "variable \"%s\" does not exist" +msgstr "переменная \"%s\" не существует" + +#: pl_comp.c:1722 +#, c-format +msgid "column \"%s\" of relation \"%s\" does not exist" +msgstr "столбец \"%s\" в таблице \"%s\" не существует" + +#: pl_comp.c:1775 #, c-format msgid "relation \"%s\" does not exist" msgstr "отношение \"%s\" не существует" -#: pl_comp.c:1815 pl_comp.c:1857 +#: pl_comp.c:1782 pl_comp.c:1820 #, c-format msgid "relation \"%s\" does not have a composite type" msgstr "отношение \"%s\" не имеет составного типа" -#: pl_comp.c:1923 +#: pl_comp.c:1886 #, c-format msgid "variable \"%s\" has pseudo-type %s" msgstr "переменная \"%s\" имеет псевдотип %s" -#: pl_comp.c:2112 +#: pl_comp.c:2075 #, c-format msgid "type \"%s\" is only a shell" msgstr "тип \"%s\" является пустышкой" -#: pl_comp.c:2194 pl_exec.c:6925 +#: pl_comp.c:2157 pl_exec.c:6937 #, c-format msgid "type %s is not composite" msgstr "тип %s не является составным" -#: pl_comp.c:2242 pl_comp.c:2295 +#: pl_comp.c:2193 +#, c-format +msgid "could not find array type for data type %s" +msgstr "тип массива для типа данных %s не найден" + +#: pl_comp.c:2232 pl_comp.c:2285 #, c-format msgid "unrecognized exception condition \"%s\"" msgstr "нераспознанное условие исключения \"%s\"" -#: pl_comp.c:2524 +#: pl_comp.c:2514 #, c-format msgid "" "could not determine actual argument type for polymorphic function \"%s\"" @@ -122,57 +137,57 @@ msgstr "" "не удалось определить фактический тип аргумента для полиморфной функции " "\"%s\"" -#: pl_exec.c:511 pl_exec.c:950 pl_exec.c:1185 +#: pl_exec.c:512 pl_exec.c:951 pl_exec.c:1186 msgid "during initialization of execution state" msgstr "в процессе инициализации состояния выполнения" -#: pl_exec.c:517 +#: pl_exec.c:518 msgid "while storing call arguments into local variables" msgstr "при сохранении аргументов вызова в локальных переменных" -#: pl_exec.c:605 pl_exec.c:1023 +#: pl_exec.c:606 pl_exec.c:1024 msgid "during function entry" msgstr "при входе в функцию" -#: pl_exec.c:628 +#: pl_exec.c:629 #, c-format msgid "control reached end of function without RETURN" msgstr "конец функции достигнут без RETURN" -#: pl_exec.c:634 +#: pl_exec.c:635 msgid "while casting return value to function's return type" msgstr "при приведении возвращаемого значения к типу результата функции" -#: pl_exec.c:646 pl_exec.c:3681 +#: pl_exec.c:647 pl_exec.c:3683 #, c-format msgid "set-valued function called in context that cannot accept a set" msgstr "" "функция, возвращающая множество, вызвана в контексте, где ему нет места" -#: pl_exec.c:651 pl_exec.c:3687 +#: pl_exec.c:652 pl_exec.c:3689 #, c-format msgid "materialize mode required, but it is not allowed in this context" msgstr "требуется режим материализации, но он недопустим в этом контексте" -#: pl_exec.c:778 pl_exec.c:1049 pl_exec.c:1207 +#: pl_exec.c:779 pl_exec.c:1050 pl_exec.c:1208 msgid "during function exit" msgstr "при выходе из функции" -#: pl_exec.c:833 pl_exec.c:897 pl_exec.c:3480 +#: pl_exec.c:834 pl_exec.c:898 pl_exec.c:3482 msgid "returned record type does not match expected record type" msgstr "возвращаемый тип записи не соответствует ожидаемому" -#: pl_exec.c:1046 pl_exec.c:1204 +#: pl_exec.c:1047 pl_exec.c:1205 #, c-format msgid "control reached end of trigger procedure without RETURN" msgstr "конец триггерной процедуры достигнут без RETURN" -#: pl_exec.c:1054 +#: pl_exec.c:1055 #, c-format msgid "trigger procedure cannot return a set" msgstr "триггерная процедура не может возвращать множество" -#: pl_exec.c:1093 pl_exec.c:1121 +#: pl_exec.c:1094 pl_exec.c:1122 msgid "" "returned row structure does not match the structure of the triggering table" msgstr "" @@ -182,7 +197,7 @@ msgstr "" #. translator: last %s is a phrase such as "during statement block #. local variable initialization" #. -#: pl_exec.c:1262 +#: pl_exec.c:1263 #, c-format msgid "PL/pgSQL function %s line %d %s" msgstr "функция PL/pgSQL %s, строка %d, %s" @@ -190,35 +205,35 @@ msgstr "функция PL/pgSQL %s, строка %d, %s" #. translator: last %s is a phrase such as "while storing call #. arguments into local variables" #. -#: pl_exec.c:1273 +#: pl_exec.c:1274 #, c-format msgid "PL/pgSQL function %s %s" msgstr "функция PL/pgSQL %s, %s" #. translator: last %s is a plpgsql statement type name -#: pl_exec.c:1281 +#: pl_exec.c:1282 #, c-format msgid "PL/pgSQL function %s line %d at %s" msgstr "функция PL/pgSQL %s, строка %d, оператор %s" -#: pl_exec.c:1287 +#: pl_exec.c:1288 #, c-format msgid "PL/pgSQL function %s" msgstr "функция PL/pgSQL %s" -#: pl_exec.c:1658 +#: pl_exec.c:1659 msgid "during statement block local variable initialization" msgstr "при инициализации локальной переменной в блоке операторов" -#: pl_exec.c:1763 +#: pl_exec.c:1764 msgid "during statement block entry" msgstr "при входе в блок операторов" -#: pl_exec.c:1795 +#: pl_exec.c:1796 msgid "during statement block exit" msgstr "при выходе из блока операторов" -#: pl_exec.c:1833 +#: pl_exec.c:1834 msgid "during exception cleanup" msgstr "при очистке после исключения" @@ -240,199 +255,199 @@ msgstr "" "параметр процедуры %d является выходным, но соответствующий аргумент не " "допускает запись" -#: pl_exec.c:2409 +#: pl_exec.c:2411 #, c-format msgid "GET STACKED DIAGNOSTICS cannot be used outside an exception handler" msgstr "" "GET STACKED DIAGNOSTICS нельзя использовать вне блока обработчика исключения" -#: pl_exec.c:2615 +#: pl_exec.c:2617 #, c-format msgid "case not found" msgstr "неправильный CASE" -#: pl_exec.c:2616 +#: pl_exec.c:2618 #, c-format msgid "CASE statement is missing ELSE part." msgstr "В операторе CASE не хватает части ELSE." -#: pl_exec.c:2709 +#: pl_exec.c:2711 #, c-format msgid "lower bound of FOR loop cannot be null" msgstr "нижняя граница цикла FOR не может быть равна NULL" -#: pl_exec.c:2725 +#: pl_exec.c:2727 #, c-format msgid "upper bound of FOR loop cannot be null" msgstr "верхняя граница цикла FOR не может быть равна NULL" -#: pl_exec.c:2743 +#: pl_exec.c:2745 #, c-format msgid "BY value of FOR loop cannot be null" msgstr "значение BY в цикле FOR не может быть равно NULL" -#: pl_exec.c:2749 +#: pl_exec.c:2751 #, c-format msgid "BY value of FOR loop must be greater than zero" msgstr "значение BY в цикле FOR должно быть больше нуля" -#: pl_exec.c:2883 pl_exec.c:4688 +#: pl_exec.c:2885 pl_exec.c:4693 #, c-format msgid "cursor \"%s\" already in use" msgstr "курсор \"%s\" уже используется" -#: pl_exec.c:2906 pl_exec.c:4758 +#: pl_exec.c:2908 pl_exec.c:4763 #, c-format msgid "arguments given for cursor without arguments" msgstr "курсору без аргументов были переданы аргументы" -#: pl_exec.c:2925 pl_exec.c:4777 +#: pl_exec.c:2927 pl_exec.c:4782 #, c-format msgid "arguments required for cursor" msgstr "курсору требуются аргументы" -#: pl_exec.c:3016 +#: pl_exec.c:3018 #, c-format msgid "FOREACH expression must not be null" msgstr "выражение FOREACH не может быть равно NULL" -#: pl_exec.c:3031 +#: pl_exec.c:3033 #, c-format msgid "FOREACH expression must yield an array, not type %s" msgstr "выражение в FOREACH должно быть массивом, но не типом %s" -#: pl_exec.c:3048 +#: pl_exec.c:3050 #, c-format msgid "slice dimension (%d) is out of the valid range 0..%d" msgstr "размерность среза (%d) вне допустимого диапазона 0..%d" -#: pl_exec.c:3075 +#: pl_exec.c:3077 #, c-format msgid "FOREACH ... SLICE loop variable must be of an array type" msgstr "переменная цикла FOREACH ... SLICE должна быть массивом" -#: pl_exec.c:3079 +#: pl_exec.c:3081 #, c-format msgid "FOREACH loop variable must not be of an array type" msgstr "переменная цикла FOREACH не должна быть массивом" -#: pl_exec.c:3241 pl_exec.c:3298 pl_exec.c:3473 +#: pl_exec.c:3243 pl_exec.c:3300 pl_exec.c:3475 #, c-format msgid "" "cannot return non-composite value from function returning composite type" msgstr "" "функция, возвращающая составной тип, не может вернуть несоставное значение" -#: pl_exec.c:3337 pl_gram.y:3350 +#: pl_exec.c:3339 pl_gram.y:3375 #, c-format msgid "cannot use RETURN NEXT in a non-SETOF function" msgstr "" "RETURN NEXT можно использовать только в функциях, возвращающих множества" -#: pl_exec.c:3378 pl_exec.c:3510 +#: pl_exec.c:3380 pl_exec.c:3512 #, c-format msgid "wrong result type supplied in RETURN NEXT" msgstr "в RETURN NEXT передан неправильный тип результата" -#: pl_exec.c:3416 pl_exec.c:3437 +#: pl_exec.c:3418 pl_exec.c:3439 #, c-format msgid "wrong record type supplied in RETURN NEXT" msgstr "в RETURN NEXT передан неправильный тип записи" -#: pl_exec.c:3529 +#: pl_exec.c:3531 #, c-format msgid "RETURN NEXT must have a parameter" msgstr "у оператора RETURN NEXT должен быть параметр" -#: pl_exec.c:3557 pl_gram.y:3414 +#: pl_exec.c:3559 pl_gram.y:3439 #, c-format msgid "cannot use RETURN QUERY in a non-SETOF function" msgstr "" "RETURN QUERY можно использовать только в функциях, возвращающих множества" -#: pl_exec.c:3575 +#: pl_exec.c:3577 msgid "structure of query does not match function result type" msgstr "структура запроса не соответствует типу результата функции" -#: pl_exec.c:3630 pl_exec.c:4465 pl_exec.c:8724 +#: pl_exec.c:3632 pl_exec.c:4469 pl_exec.c:8759 #, c-format msgid "query string argument of EXECUTE is null" msgstr "в качестве текста запроса в EXECUTE передан NULL" -#: pl_exec.c:3715 pl_exec.c:3853 +#: pl_exec.c:3717 pl_exec.c:3855 #, c-format msgid "RAISE option already specified: %s" msgstr "этот параметр RAISE уже указан: %s" -#: pl_exec.c:3749 +#: pl_exec.c:3751 #, c-format msgid "RAISE without parameters cannot be used outside an exception handler" msgstr "" "RAISE без параметров нельзя использовать вне блока обработчика исключения" -#: pl_exec.c:3843 +#: pl_exec.c:3845 #, c-format msgid "RAISE statement option cannot be null" msgstr "параметром оператора RAISE не может быть NULL" -#: pl_exec.c:3913 +#: pl_exec.c:3915 #, c-format msgid "%s" msgstr "%s" -#: pl_exec.c:3968 +#: pl_exec.c:3970 #, c-format msgid "assertion failed" msgstr "нарушение истинности" -#: pl_exec.c:4338 pl_exec.c:4527 +#: pl_exec.c:4342 pl_exec.c:4532 #, c-format msgid "cannot COPY to/from client in PL/pgSQL" msgstr "в PL/pgSQL нельзя выполнить COPY с участием клиента" -#: pl_exec.c:4344 +#: pl_exec.c:4348 #, c-format msgid "unsupported transaction command in PL/pgSQL" msgstr "неподдерживаемая транзакционная команда в PL/pgSQL" -#: pl_exec.c:4367 pl_exec.c:4556 +#: pl_exec.c:4371 pl_exec.c:4561 #, c-format msgid "INTO used with a command that cannot return data" msgstr "INTO с командой не может возвращать данные" -#: pl_exec.c:4390 pl_exec.c:4579 +#: pl_exec.c:4394 pl_exec.c:4584 #, c-format msgid "query returned no rows" msgstr "запрос не вернул строк" -#: pl_exec.c:4412 pl_exec.c:4598 pl_exec.c:5750 +#: pl_exec.c:4416 pl_exec.c:4603 pl_exec.c:5755 #, c-format msgid "query returned more than one row" msgstr "запрос вернул несколько строк" -#: pl_exec.c:4414 +#: pl_exec.c:4418 #, c-format msgid "Make sure the query returns a single row, or use LIMIT 1." msgstr "" "Измените запрос, чтобы он выбирал одну строку, или используйте LIMIT 1." -#: pl_exec.c:4430 +#: pl_exec.c:4434 #, c-format msgid "query has no destination for result data" msgstr "в запросе нет назначения для данных результата" -#: pl_exec.c:4431 +#: pl_exec.c:4435 #, c-format msgid "If you want to discard the results of a SELECT, use PERFORM instead." msgstr "Если вам нужно отбросить результаты SELECT, используйте PERFORM." -#: pl_exec.c:4519 +#: pl_exec.c:4524 #, c-format msgid "EXECUTE of SELECT ... INTO is not implemented" msgstr "возможность выполнения SELECT ... INTO в EXECUTE не реализована" # skip-rule: space-before-ellipsis -#: pl_exec.c:4520 +#: pl_exec.c:4525 #, c-format msgid "" "You might want to use EXECUTE ... INTO or EXECUTE CREATE TABLE ... AS " @@ -441,57 +456,57 @@ msgstr "" "Альтернативой может стать EXECUTE ... INTO или EXECUTE CREATE TABLE ... " "AS ..." -#: pl_exec.c:4533 +#: pl_exec.c:4538 #, c-format msgid "EXECUTE of transaction commands is not implemented" msgstr "EXECUTE с транзакционными командами не поддерживается" -#: pl_exec.c:4843 pl_exec.c:4931 +#: pl_exec.c:4848 pl_exec.c:4936 #, c-format msgid "cursor variable \"%s\" is null" msgstr "переменная курсора \"%s\" равна NULL" -#: pl_exec.c:4854 pl_exec.c:4942 +#: pl_exec.c:4859 pl_exec.c:4947 #, c-format msgid "cursor \"%s\" does not exist" msgstr "курсор \"%s\" не существует" -#: pl_exec.c:4867 +#: pl_exec.c:4872 #, c-format msgid "relative or absolute cursor position is null" msgstr "относительная или абсолютная позиция курсора равна NULL" -#: pl_exec.c:5105 pl_exec.c:5200 +#: pl_exec.c:5110 pl_exec.c:5205 #, c-format msgid "null value cannot be assigned to variable \"%s\" declared NOT NULL" msgstr "значение NULL нельзя присвоить переменной \"%s\", объявленной NOT NULL" -#: pl_exec.c:5181 +#: pl_exec.c:5186 #, c-format msgid "cannot assign non-composite value to a row variable" msgstr "переменной типа кортеж можно присвоить только составное значение" -#: pl_exec.c:5213 +#: pl_exec.c:5218 #, c-format msgid "cannot assign non-composite value to a record variable" msgstr "переменной типа запись можно присвоить только составное значение" -#: pl_exec.c:5264 +#: pl_exec.c:5269 #, c-format msgid "cannot assign to system column \"%s\"" msgstr "присвоить значение системному столбцу \"%s\" нельзя" -#: pl_exec.c:5713 +#: pl_exec.c:5718 #, c-format msgid "query did not return data" msgstr "запрос не вернул данные" -#: pl_exec.c:5714 pl_exec.c:5726 pl_exec.c:5751 pl_exec.c:5827 pl_exec.c:5832 +#: pl_exec.c:5719 pl_exec.c:5731 pl_exec.c:5756 pl_exec.c:5832 pl_exec.c:5837 #, c-format msgid "query: %s" msgstr "запрос: %s" -#: pl_exec.c:5722 +#: pl_exec.c:5727 #, c-format msgid "query returned %d column" msgid_plural "query returned %d columns" @@ -499,17 +514,17 @@ msgstr[0] "запрос вернул %d столбец" msgstr[1] "запрос вернул %d столбца" msgstr[2] "запрос вернул %d столбцов" -#: pl_exec.c:5826 +#: pl_exec.c:5831 #, c-format msgid "query is SELECT INTO, but it should be plain SELECT" msgstr "запрос - не просто SELECT, а SELECT INTO" -#: pl_exec.c:5831 +#: pl_exec.c:5836 #, c-format msgid "query is not a SELECT" msgstr "запрос - не SELECT" -#: pl_exec.c:6638 pl_exec.c:6678 pl_exec.c:6718 +#: pl_exec.c:6650 pl_exec.c:6690 pl_exec.c:6730 #, c-format msgid "" "type of parameter %d (%s) does not match that when preparing the plan (%s)" @@ -517,35 +532,35 @@ msgstr "" "тип параметра %d (%s) не соответствует тому, с которым подготавливался план " "(%s)" -#: pl_exec.c:7129 pl_exec.c:7163 pl_exec.c:7237 pl_exec.c:7263 +#: pl_exec.c:7141 pl_exec.c:7175 pl_exec.c:7249 pl_exec.c:7275 #, c-format msgid "number of source and target fields in assignment does not match" msgstr "в левой и правой части присваивания разное количество полей" #. translator: %s represents a name of an extra check -#: pl_exec.c:7131 pl_exec.c:7165 pl_exec.c:7239 pl_exec.c:7265 +#: pl_exec.c:7143 pl_exec.c:7177 pl_exec.c:7251 pl_exec.c:7277 #, c-format msgid "%s check of %s is active." msgstr "Включена проверка %s (с %s)." -#: pl_exec.c:7135 pl_exec.c:7169 pl_exec.c:7243 pl_exec.c:7269 +#: pl_exec.c:7147 pl_exec.c:7181 pl_exec.c:7255 pl_exec.c:7281 #, c-format msgid "Make sure the query returns the exact list of columns." msgstr "" "Измените запрос, чтобы он возвращал в точности требуемый список столбцов." -#: pl_exec.c:7656 +#: pl_exec.c:7668 #, c-format msgid "record \"%s\" is not assigned yet" msgstr "записи \"%s\" не присвоено значение" -#: pl_exec.c:7657 +#: pl_exec.c:7669 #, c-format msgid "The tuple structure of a not-yet-assigned record is indeterminate." msgstr "" "Для записи, которой не присвоено значение, структура кортежа не определена." -#: pl_exec.c:8322 pl_gram.y:3473 +#: pl_exec.c:8357 pl_gram.y:3498 #, c-format msgid "variable \"%s\" is declared CONSTANT" msgstr "переменная \"%s\" объявлена как CONSTANT" @@ -599,11 +614,6 @@ msgstr "" "у переменной \"%s\" должно быть значение по умолчанию, так как она объявлена " "как NOT NULL" -#: pl_gram.y:645 pl_gram.y:660 pl_gram.y:686 -#, c-format -msgid "variable \"%s\" does not exist" -msgstr "переменная \"%s\" не существует" - #: pl_gram.y:704 pl_gram.y:732 msgid "duplicate declaration" msgstr "повторяющееся объявление" @@ -613,26 +623,26 @@ msgstr "повторяющееся объявление" msgid "variable \"%s\" shadows a previously defined variable" msgstr "переменная \"%s\" скрывает ранее определённую переменную" -#: pl_gram.y:1016 +#: pl_gram.y:1017 #, c-format msgid "diagnostics item %s is not allowed in GET STACKED DIAGNOSTICS" msgstr "команда GET STACKED DIAGNOSTICS не принимает элемент %s" -#: pl_gram.y:1034 +#: pl_gram.y:1035 #, c-format msgid "diagnostics item %s is not allowed in GET CURRENT DIAGNOSTICS" msgstr "команда GET CURRENT DIAGNOSTICS не принимает элемент %s" -#: pl_gram.y:1132 +#: pl_gram.y:1133 msgid "unrecognized GET DIAGNOSTICS item" msgstr "нераспознанный элемент GET DIAGNOSTICS" -#: pl_gram.y:1148 pl_gram.y:3589 +#: pl_gram.y:1149 pl_gram.y:3614 #, c-format msgid "\"%s\" is not a scalar variable" msgstr "\"%s\" - не скалярная переменная" -#: pl_gram.y:1378 pl_gram.y:1571 +#: pl_gram.y:1379 pl_gram.y:1572 #, c-format msgid "" "loop variable of loop over rows must be a record variable or list of scalar " @@ -641,229 +651,233 @@ msgstr "" "переменная цикла по кортежам должна быть переменной типа запись или списком " "скалярных переменных" -#: pl_gram.y:1413 +#: pl_gram.y:1414 #, c-format msgid "cursor FOR loop must have only one target variable" msgstr "в цикле FOR с курсором должна быть только одна переменная" -#: pl_gram.y:1420 +#: pl_gram.y:1421 #, c-format msgid "cursor FOR loop must use a bound cursor variable" msgstr "" "в цикле FOR с курсором должен использоваться курсор, привязанный к запросу" -#: pl_gram.y:1510 +#: pl_gram.y:1511 #, c-format msgid "integer FOR loop must have only one target variable" msgstr "в целочисленном цикле FOR должна быть только одна переменная" -#: pl_gram.y:1544 +#: pl_gram.y:1545 #, c-format msgid "cannot specify REVERSE in query FOR loop" msgstr "в цикле FOR с запросом нельзя указать REVERSE" -#: pl_gram.y:1674 +#: pl_gram.y:1675 #, c-format msgid "loop variable of FOREACH must be a known variable or list of variables" msgstr "" "переменной цикла FOREACH должна быть известная переменная или список " "переменных" -#: pl_gram.y:1716 +#: pl_gram.y:1717 #, c-format msgid "" "there is no label \"%s\" attached to any block or loop enclosing this " "statement" msgstr "в блоке или цикле, окружающем этот оператор, нет метки \"%s\"" -#: pl_gram.y:1724 +#: pl_gram.y:1725 #, c-format msgid "block label \"%s\" cannot be used in CONTINUE" msgstr "метку блока \"%s\" нельзя использовать в CONTINUE" -#: pl_gram.y:1739 +#: pl_gram.y:1740 #, c-format msgid "EXIT cannot be used outside a loop, unless it has a label" msgstr "EXIT можно использовать вне цикла только с указанием метки" -#: pl_gram.y:1740 +#: pl_gram.y:1741 #, c-format msgid "CONTINUE cannot be used outside a loop" msgstr "CONTINUE нельзя использовать вне цикла" -#: pl_gram.y:1764 pl_gram.y:1802 pl_gram.y:1850 pl_gram.y:3036 pl_gram.y:3124 -#: pl_gram.y:3235 pl_gram.y:3984 +#: pl_gram.y:1765 pl_gram.y:1803 pl_gram.y:1851 pl_gram.y:3061 pl_gram.y:3149 +#: pl_gram.y:3260 pl_gram.y:4009 msgid "unexpected end of function definition" msgstr "неожиданный конец определения функции" -#: pl_gram.y:1870 pl_gram.y:1894 pl_gram.y:1910 pl_gram.y:1916 pl_gram.y:2041 -#: pl_gram.y:2049 pl_gram.y:2063 pl_gram.y:2158 pl_gram.y:2382 pl_gram.y:2472 -#: pl_gram.y:2631 pl_gram.y:3831 pl_gram.y:3892 pl_gram.y:3965 +#: pl_gram.y:1871 pl_gram.y:1895 pl_gram.y:1911 pl_gram.y:1917 pl_gram.y:2042 +#: pl_gram.y:2050 pl_gram.y:2064 pl_gram.y:2159 pl_gram.y:2383 pl_gram.y:2473 +#: pl_gram.y:2632 pl_gram.y:3856 pl_gram.y:3917 pl_gram.y:3990 msgid "syntax error" msgstr "ошибка синтаксиса" -#: pl_gram.y:1898 pl_gram.y:1900 pl_gram.y:2386 pl_gram.y:2388 +#: pl_gram.y:1899 pl_gram.y:1901 pl_gram.y:2387 pl_gram.y:2389 msgid "invalid SQLSTATE code" msgstr "неверный код SQLSTATE" -#: pl_gram.y:2106 +#: pl_gram.y:2107 msgid "syntax error, expected \"FOR\"" msgstr "ошибка синтаксиса, ожидался \"FOR\"" -#: pl_gram.y:2167 +#: pl_gram.y:2168 #, c-format msgid "FETCH statement cannot return multiple rows" msgstr "оператор FETCH не может вернуть несколько строк" -#: pl_gram.y:2264 +#: pl_gram.y:2265 #, c-format msgid "cursor variable must be a simple variable" msgstr "переменная-курсор должна быть простой переменной" -#: pl_gram.y:2270 +#: pl_gram.y:2271 #, c-format msgid "variable \"%s\" must be of type cursor or refcursor" msgstr "переменная \"%s\" должна быть типа cursor или refcursor" -#: pl_gram.y:2602 pl_gram.y:2613 +#: pl_gram.y:2603 pl_gram.y:2614 #, c-format msgid "\"%s\" is not a known variable" msgstr "\"%s\" - не известная переменная" -#: pl_gram.y:2718 pl_gram.y:2728 pl_gram.y:2886 +#: pl_gram.y:2719 pl_gram.y:2729 pl_gram.y:2911 msgid "mismatched parentheses" msgstr "непарные скобки" -#: pl_gram.y:2732 +#: pl_gram.y:2733 #, c-format msgid "missing \"%s\" at end of SQL expression" msgstr "отсутствует \"%s\" в конце выражения SQL" -#: pl_gram.y:2738 +#: pl_gram.y:2739 #, c-format msgid "missing \"%s\" at end of SQL statement" msgstr "отсутствует \"%s\" в конце оператора SQL" -#: pl_gram.y:2757 +#: pl_gram.y:2758 msgid "missing expression" msgstr "отсутствует выражение" -#: pl_gram.y:2759 +#: pl_gram.y:2760 msgid "missing SQL statement" msgstr "отсутствует оператор SQL" -#: pl_gram.y:2888 +#: pl_gram.y:2889 +msgid "syntax error, expected \"]\"" +msgstr "ошибка синтаксиса, ожидалась \"]\"" + +#: pl_gram.y:2913 msgid "incomplete data type declaration" msgstr "неполное определение типа данных" -#: pl_gram.y:2911 +#: pl_gram.y:2936 msgid "missing data type declaration" msgstr "отсутствует определение типа данных" -#: pl_gram.y:3046 +#: pl_gram.y:3071 msgid "INTO specified more than once" msgstr "INTO указано неоднократно" -#: pl_gram.y:3216 +#: pl_gram.y:3241 msgid "expected FROM or IN" msgstr "ожидалось FROM или IN" -#: pl_gram.y:3277 +#: pl_gram.y:3302 #, c-format msgid "RETURN cannot have a parameter in function returning set" msgstr "в функции, возвращающей множество, RETURN должен быть без параметров" -#: pl_gram.y:3278 +#: pl_gram.y:3303 #, c-format msgid "Use RETURN NEXT or RETURN QUERY." msgstr "Используйте RETURN NEXT или RETURN QUERY." -#: pl_gram.y:3288 +#: pl_gram.y:3313 #, c-format msgid "RETURN cannot have a parameter in a procedure" msgstr "в процедуре RETURN должен быть без параметров" -#: pl_gram.y:3293 +#: pl_gram.y:3318 #, c-format msgid "RETURN cannot have a parameter in function returning void" msgstr "в функции, не возвращающей ничего, RETURN не должен иметь параметров" -#: pl_gram.y:3302 +#: pl_gram.y:3327 #, c-format msgid "RETURN cannot have a parameter in function with OUT parameters" msgstr "RETURN должен быть без параметров в функции с параметрами OUT" -#: pl_gram.y:3365 +#: pl_gram.y:3390 #, c-format msgid "RETURN NEXT cannot have a parameter in function with OUT parameters" msgstr "RETURN NEXT должен быть без параметров в функции с параметрами OUT" -#: pl_gram.y:3531 +#: pl_gram.y:3556 #, c-format msgid "record variable cannot be part of multiple-item INTO list" msgstr "" "переменная типа запись не может быть частью списка INTO с несколькими " "элементами" -#: pl_gram.y:3577 +#: pl_gram.y:3602 #, c-format msgid "too many INTO variables specified" msgstr "указано слишком много переменных INTO" -#: pl_gram.y:3785 +#: pl_gram.y:3810 #, c-format msgid "end label \"%s\" specified for unlabeled block" msgstr "конечная метка \"%s\" указана для непомеченного блока" -#: pl_gram.y:3792 +#: pl_gram.y:3817 #, c-format msgid "end label \"%s\" differs from block's label \"%s\"" msgstr "конечная метка \"%s\" отличается от метки блока \"%s\"" -#: pl_gram.y:3826 +#: pl_gram.y:3851 #, c-format msgid "cursor \"%s\" has no arguments" msgstr "курсор \"%s\" не имеет аргументов" -#: pl_gram.y:3840 +#: pl_gram.y:3865 #, c-format msgid "cursor \"%s\" has arguments" msgstr "курсор \"%s\" имеет аргументы" -#: pl_gram.y:3882 +#: pl_gram.y:3907 #, c-format msgid "cursor \"%s\" has no argument named \"%s\"" msgstr "курсор \"%s\" не имеет аргумента \"%s\"" -#: pl_gram.y:3902 +#: pl_gram.y:3927 #, c-format msgid "value for parameter \"%s\" of cursor \"%s\" specified more than once" msgstr "значение параметра \"%s\" курсора \"%s\" указано неоднократно" -#: pl_gram.y:3923 +#: pl_gram.y:3948 #, c-format msgid "not enough arguments for cursor \"%s\"" msgstr "недостаточно аргументов для курсора \"%s\"" -#: pl_gram.y:3930 +#: pl_gram.y:3955 #, c-format msgid "too many arguments for cursor \"%s\"" msgstr "слишком много аргументов для курсора \"%s\"" -#: pl_gram.y:4016 +#: pl_gram.y:4041 msgid "unrecognized RAISE statement option" msgstr "нераспознанный параметр оператора RAISE" -#: pl_gram.y:4020 +#: pl_gram.y:4045 msgid "syntax error, expected \"=\"" msgstr "ошибка синтаксиса, ожидалось \"=\"" -#: pl_gram.y:4061 +#: pl_gram.y:4086 #, c-format msgid "too many parameters specified for RAISE" msgstr "слишком много параметров для RAISE" -#: pl_gram.y:4065 +#: pl_gram.y:4090 #, c-format msgid "too few parameters specified for RAISE" msgstr "недостаточно параметров для RAISE" diff --git a/src/pl/plpgsql/src/po/sv.po b/src/pl/plpgsql/src/po/sv.po index 4ba613826a8..9f78dd5633e 100644 --- a/src/pl/plpgsql/src/po/sv.po +++ b/src/pl/plpgsql/src/po/sv.po @@ -1,14 +1,14 @@ # Swedish message translation file for plpgsql # 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. +# Dennis Björklund , 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024. # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 15\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-04-11 13:39+0000\n" -"PO-Revision-Date: 2023-03-09 22:40+0100\n" +"POT-Creation-Date: 2024-07-12 17:39+0000\n" +"PO-Revision-Date: 2024-07-12 22:07+0200\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -17,159 +17,174 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -#: pl_comp.c:438 pl_handler.c:496 +#: pl_comp.c:434 pl_handler.c:496 #, c-format msgid "PL/pgSQL functions cannot accept type %s" msgstr "PL/pgSQL-funktioner kan inte acceptera typ %s" -#: pl_comp.c:530 +#: pl_comp.c:526 #, c-format msgid "could not determine actual return type for polymorphic function \"%s\"" msgstr "kunde inte bestämma aktuell returtyp för polymorfisk funktion \"%s\"" -#: pl_comp.c:560 +#: pl_comp.c:556 #, c-format msgid "trigger functions can only be called as triggers" msgstr "triggerfunktioner kan bara anropas som triggrar" -#: pl_comp.c:564 pl_handler.c:480 +#: pl_comp.c:560 pl_handler.c:480 #, c-format msgid "PL/pgSQL functions cannot return type %s" msgstr "PL/pgSQL-funktioner kan inte returnera typ %s" -#: pl_comp.c:604 +#: pl_comp.c:600 #, c-format msgid "trigger functions cannot have declared arguments" msgstr "triggerfunktioner kan inte ha deklarerade argument" -#: pl_comp.c:605 +#: pl_comp.c:601 #, c-format msgid "The arguments of the trigger can be accessed through TG_NARGS and TG_ARGV instead." msgstr "Argumenten till triggern kan accessas via TG_NARGS och TG_ARGV istället." -#: pl_comp.c:738 +#: pl_comp.c:734 #, c-format msgid "event trigger functions cannot have declared arguments" msgstr "händelsetriggerfunktioner kan inte ha deklarerade argument" -#: pl_comp.c:1002 +#: pl_comp.c:998 #, c-format msgid "compilation of PL/pgSQL function \"%s\" near line %d" msgstr "kompilering av PL/pgSQL-funktion \"%s\" nära rad %d" -#: pl_comp.c:1025 +#: pl_comp.c:1021 #, c-format msgid "parameter name \"%s\" used more than once" msgstr "parameternamn \"%s\" angivet mer än en gång" -#: pl_comp.c:1139 +#: pl_comp.c:1135 #, c-format msgid "column reference \"%s\" is ambiguous" msgstr "kolumnreferens \"%s\" är tvetydig" -#: pl_comp.c:1141 +#: pl_comp.c:1137 #, c-format msgid "It could refer to either a PL/pgSQL variable or a table column." msgstr "Det kan referera till antingen en PL/pgSQL-variabel eller en tabellkolumn." -#: pl_comp.c:1324 pl_exec.c:5216 pl_exec.c:5389 pl_exec.c:5476 pl_exec.c:5567 -#: pl_exec.c:6588 +#: pl_comp.c:1314 pl_exec.c:5258 pl_exec.c:5431 pl_exec.c:5518 pl_exec.c:5609 +#: pl_exec.c:6634 #, c-format msgid "record \"%s\" has no field \"%s\"" msgstr "post \"%s\" saknar fält \"%s\"" -#: pl_comp.c:1818 +#: pl_comp.c:1633 pl_gram.y:645 pl_gram.y:660 pl_gram.y:686 +#, c-format +msgid "variable \"%s\" does not exist" +msgstr "variabel \"%s\" finns inte" + +#: pl_comp.c:1722 +#, c-format +msgid "column \"%s\" of relation \"%s\" does not exist" +msgstr "kolumn \"%s\" i relation \"%s\" existerar inte" + +#: pl_comp.c:1775 #, c-format msgid "relation \"%s\" does not exist" msgstr "relationen \"%s\" existerar inte" -#: pl_comp.c:1825 pl_comp.c:1867 +#: pl_comp.c:1782 pl_comp.c:1820 #, c-format msgid "relation \"%s\" does not have a composite type" msgstr "relationen \"%s\" har inte en composite-typ" -#: pl_comp.c:1933 +#: pl_comp.c:1886 #, c-format msgid "variable \"%s\" has pseudo-type %s" msgstr "variabel \"%s\" har pseudotyp %s" -#: pl_comp.c:2122 +#: pl_comp.c:2075 #, c-format msgid "type \"%s\" is only a shell" msgstr "typ \"%s\" är bara ett skal" -#: pl_comp.c:2204 pl_exec.c:6889 +#: pl_comp.c:2157 pl_exec.c:6935 #, c-format msgid "type %s is not composite" msgstr "typen %s är inte composite" -#: pl_comp.c:2252 pl_comp.c:2305 +#: pl_comp.c:2193 +#, c-format +msgid "could not find array type for data type %s" +msgstr "kunde inte hitta array-typ för datatyp %s" + +#: pl_comp.c:2232 pl_comp.c:2285 #, c-format msgid "unrecognized exception condition \"%s\"" msgstr "okänt avbrottsvillkor \"%s\"" -#: pl_comp.c:2526 +#: pl_comp.c:2514 #, c-format msgid "could not determine actual argument type for polymorphic function \"%s\"" msgstr "kunde inte bestämma argumenttyp för polymorfisk funktion function \"%s\"" -#: pl_exec.c:500 pl_exec.c:939 pl_exec.c:1174 +#: pl_exec.c:512 pl_exec.c:951 pl_exec.c:1186 msgid "during initialization of execution state" msgstr "unde initiering av körtillstånd" -#: pl_exec.c:506 +#: pl_exec.c:518 msgid "while storing call arguments into local variables" msgstr "under sparande av anropsargument till lokala variabler" -#: pl_exec.c:594 pl_exec.c:1012 +#: pl_exec.c:606 pl_exec.c:1024 msgid "during function entry" msgstr "under funktionsingången" -#: pl_exec.c:617 +#: pl_exec.c:629 #, c-format msgid "control reached end of function without RETURN" msgstr "kontrollen nådde slutet av funktionen utan RETURN" -#: pl_exec.c:623 +#: pl_exec.c:635 msgid "while casting return value to function's return type" msgstr "under typomvandling av returvärde till funktionens returtyp" -#: pl_exec.c:635 pl_exec.c:3656 +#: pl_exec.c:647 pl_exec.c:3682 #, c-format msgid "set-valued function called in context that cannot accept a set" msgstr "en funktion som returnerar en mängd anropades i kontext som inte godtar en mängd" -#: pl_exec.c:640 pl_exec.c:3662 +#: pl_exec.c:652 pl_exec.c:3688 #, c-format msgid "materialize mode required, but it is not allowed in this context" msgstr "materialiserat läge krävs, men stöds inte i detta kontext" -#: pl_exec.c:767 pl_exec.c:1038 pl_exec.c:1196 +#: pl_exec.c:779 pl_exec.c:1050 pl_exec.c:1208 msgid "during function exit" msgstr "under funktionsavslutning" -#: pl_exec.c:822 pl_exec.c:886 pl_exec.c:3455 +#: pl_exec.c:834 pl_exec.c:898 pl_exec.c:3481 msgid "returned record type does not match expected record type" msgstr "returnerad posttyp matchar inte förväntad posttyp" -#: pl_exec.c:1035 pl_exec.c:1193 +#: pl_exec.c:1047 pl_exec.c:1205 #, c-format msgid "control reached end of trigger procedure without RETURN" msgstr "programflödet nådde slutet på triggerprocedur utan RETURN" -#: pl_exec.c:1043 +#: pl_exec.c:1055 #, c-format msgid "trigger procedure cannot return a set" msgstr "triggerprocedur kan inte returnera en mängd" -#: pl_exec.c:1082 pl_exec.c:1110 +#: pl_exec.c:1094 pl_exec.c:1122 msgid "returned row structure does not match the structure of the triggering table" msgstr "returnerad radstruktur matchar inte strukturen på triggad tabell" #. translator: last %s is a phrase such as "during statement block #. local variable initialization" #. -#: pl_exec.c:1251 +#: pl_exec.c:1263 #, c-format msgid "PL/pgSQL function %s line %d %s" msgstr "PL/pgSQL-funktion %s rad %d %s" @@ -177,335 +192,340 @@ msgstr "PL/pgSQL-funktion %s rad %d %s" #. translator: last %s is a phrase such as "while storing call #. arguments into local variables" #. -#: pl_exec.c:1262 +#: pl_exec.c:1274 #, c-format msgid "PL/pgSQL function %s %s" msgstr "PL/pgSQL-funktion %s %s" #. translator: last %s is a plpgsql statement type name -#: pl_exec.c:1270 +#: pl_exec.c:1282 #, c-format msgid "PL/pgSQL function %s line %d at %s" msgstr "PL/pgSQL-funktion %s rad %d vid %s" -#: pl_exec.c:1276 +#: pl_exec.c:1288 #, c-format msgid "PL/pgSQL function %s" msgstr "PL/pgSQL-funktion %s" -#: pl_exec.c:1647 +#: pl_exec.c:1659 msgid "during statement block local variable initialization" msgstr "under initiering av lokala variabler i satsblock" -#: pl_exec.c:1752 +#: pl_exec.c:1764 msgid "during statement block entry" msgstr "under ingång till satsblock" -#: pl_exec.c:1784 +#: pl_exec.c:1796 msgid "during statement block exit" msgstr "under satsblockavslutning" -#: pl_exec.c:1822 +#: pl_exec.c:1834 msgid "during exception cleanup" msgstr "under avbrottsuppstädning" -#: pl_exec.c:2355 +#: pl_exec.c:2371 #, c-format msgid "procedure parameter \"%s\" is an output parameter but corresponding argument is not writable" msgstr "procedurparameter \"%s\" är en utdataparameter men motsvarande argument är inte skrivbar" -#: pl_exec.c:2360 +#: pl_exec.c:2376 #, c-format msgid "procedure parameter %d is an output parameter but corresponding argument is not writable" msgstr "procedurparameter %d är en utdataparameter men motsvarande argument är inte skrivbar" -#: pl_exec.c:2394 +#: pl_exec.c:2410 #, c-format msgid "GET STACKED DIAGNOSTICS cannot be used outside an exception handler" msgstr "GET STACKED DIAGNOSTICS kan inte användas utanför en avbrottshanterare" -#: pl_exec.c:2594 +#: pl_exec.c:2616 #, c-format msgid "case not found" msgstr "hittade inte alternativ" -#: pl_exec.c:2595 +#: pl_exec.c:2617 #, c-format msgid "CASE statement is missing ELSE part." msgstr "CASE-sats saknar ELSE-del." -#: pl_exec.c:2688 +#: pl_exec.c:2710 #, c-format msgid "lower bound of FOR loop cannot be null" msgstr "lägre gräns i FOR-loop kan inte vara null" -#: pl_exec.c:2704 +#: pl_exec.c:2726 #, c-format msgid "upper bound of FOR loop cannot be null" msgstr "övre gräns i FOR-loop kan inte vara null" -#: pl_exec.c:2722 +#: pl_exec.c:2744 #, c-format msgid "BY value of FOR loop cannot be null" msgstr "BY-värde i FOR-loop kan inte vara null" -#: pl_exec.c:2728 +#: pl_exec.c:2750 #, c-format msgid "BY value of FOR loop must be greater than zero" msgstr "BY-värde i FOR-loop måste vara större än noll" -#: pl_exec.c:2862 pl_exec.c:4658 +#: pl_exec.c:2884 pl_exec.c:4691 #, c-format msgid "cursor \"%s\" already in use" msgstr "markören \"%s\" används redan" -#: pl_exec.c:2885 pl_exec.c:4723 +#: pl_exec.c:2907 pl_exec.c:4761 #, c-format msgid "arguments given for cursor without arguments" msgstr "argument angivna till markör utan argumnet" -#: pl_exec.c:2904 pl_exec.c:4742 +#: pl_exec.c:2926 pl_exec.c:4780 #, c-format msgid "arguments required for cursor" msgstr "argument krävs för markör" -#: pl_exec.c:2991 +#: pl_exec.c:3017 #, c-format msgid "FOREACH expression must not be null" msgstr "FOREACH-uttryck får inte vara null" -#: pl_exec.c:3006 +#: pl_exec.c:3032 #, c-format msgid "FOREACH expression must yield an array, not type %s" msgstr "FOREACH-uttryck måste ge en array, inte typ %s" -#: pl_exec.c:3023 +#: pl_exec.c:3049 #, c-format msgid "slice dimension (%d) is out of the valid range 0..%d" msgstr "slice-storlek (%d) är utanför giltigt intervall 0..%d" -#: pl_exec.c:3050 +#: pl_exec.c:3076 #, c-format msgid "FOREACH ... SLICE loop variable must be of an array type" msgstr "FOREACH ... SLICE-loop-variabel måste ha typen array" -#: pl_exec.c:3054 +#: pl_exec.c:3080 #, c-format msgid "FOREACH loop variable must not be of an array type" msgstr "FOREACH-loop-variable får inte ha typen array" -#: pl_exec.c:3216 pl_exec.c:3273 pl_exec.c:3448 +#: pl_exec.c:3242 pl_exec.c:3299 pl_exec.c:3474 #, c-format msgid "cannot return non-composite value from function returning composite type" msgstr "kan inte returnera icke-composit-värde från funktion med returtyp composit" -#: pl_exec.c:3312 pl_gram.y:3318 +#: pl_exec.c:3338 pl_gram.y:3375 #, c-format msgid "cannot use RETURN NEXT in a non-SETOF function" msgstr "kan inte använda RETURN NEXT i en icke-SETOF-funktion" -#: pl_exec.c:3353 pl_exec.c:3485 +#: pl_exec.c:3379 pl_exec.c:3511 #, c-format msgid "wrong result type supplied in RETURN NEXT" msgstr "fel resultattyp given i RETURN NEXT" -#: pl_exec.c:3391 pl_exec.c:3412 +#: pl_exec.c:3417 pl_exec.c:3438 #, c-format msgid "wrong record type supplied in RETURN NEXT" msgstr "fel posttyp given i RETURN NEXT" -#: pl_exec.c:3504 +#: pl_exec.c:3530 #, c-format msgid "RETURN NEXT must have a parameter" msgstr "RETURN NEXT måste ha en parameter" -#: pl_exec.c:3532 pl_gram.y:3382 +#: pl_exec.c:3558 pl_gram.y:3439 #, c-format msgid "cannot use RETURN QUERY in a non-SETOF function" msgstr "kan inte använda RETURN QUERY i en icke-SETOF-funktion" -#: pl_exec.c:3550 +#: pl_exec.c:3576 msgid "structure of query does not match function result type" msgstr "strukturen på frågan matchar inte funktionens resultattyp" -#: pl_exec.c:3605 pl_exec.c:4435 pl_exec.c:8630 +#: pl_exec.c:3631 pl_exec.c:4467 pl_exec.c:8757 #, c-format msgid "query string argument of EXECUTE is null" msgstr "frågesträngargumentet till EXECUTE är null" -#: pl_exec.c:3690 pl_exec.c:3828 +#: pl_exec.c:3716 pl_exec.c:3854 #, c-format msgid "RAISE option already specified: %s" msgstr "RAISE-flagga redan angiven: %s" -#: pl_exec.c:3724 +#: pl_exec.c:3750 #, c-format msgid "RAISE without parameters cannot be used outside an exception handler" msgstr "RAISE utan parametrar kan inte användas utanför en avbrottshanterare" -#: pl_exec.c:3818 +#: pl_exec.c:3844 #, c-format msgid "RAISE statement option cannot be null" msgstr "RAISE-satsens flagga får inte vare null" -#: pl_exec.c:3888 +#: pl_exec.c:3914 #, c-format msgid "%s" msgstr "%s" -#: pl_exec.c:3943 +#: pl_exec.c:3969 #, c-format msgid "assertion failed" msgstr "assert misslyckades" -#: pl_exec.c:4308 pl_exec.c:4497 +#: pl_exec.c:4340 pl_exec.c:4530 #, c-format msgid "cannot COPY to/from client in PL/pgSQL" msgstr "kan inte COPY till/från klient i PL/pgSQL" -#: pl_exec.c:4314 +#: pl_exec.c:4346 #, c-format msgid "unsupported transaction command in PL/pgSQL" msgstr "transaktionskommando saknar stöd i PL/pgSQL" -#: pl_exec.c:4337 pl_exec.c:4526 +#: pl_exec.c:4369 pl_exec.c:4559 #, c-format msgid "INTO used with a command that cannot return data" msgstr "INTO använd med ett kommando som inte returnerar data" -#: pl_exec.c:4360 pl_exec.c:4549 +#: pl_exec.c:4392 pl_exec.c:4582 #, c-format msgid "query returned no rows" msgstr "frågan returnerade inga rader" -#: pl_exec.c:4382 pl_exec.c:4568 pl_exec.c:5711 +#: pl_exec.c:4414 pl_exec.c:4601 pl_exec.c:5753 #, c-format msgid "query returned more than one row" msgstr "frågan returnerade mer än en rad" -#: pl_exec.c:4384 +#: pl_exec.c:4416 #, c-format msgid "Make sure the query returns a single row, or use LIMIT 1." msgstr "Se till att frågan returerar exakt en rad eller använd LIMIT 1." -#: pl_exec.c:4400 +#: pl_exec.c:4432 #, c-format msgid "query has no destination for result data" msgstr "frågan har ingen destination för resultatdatan" -#: pl_exec.c:4401 +#: pl_exec.c:4433 #, c-format msgid "If you want to discard the results of a SELECT, use PERFORM instead." msgstr "Om du vill slänga resultatet av en SELECT, använd PERFORM istället." -#: pl_exec.c:4489 +#: pl_exec.c:4522 #, c-format msgid "EXECUTE of SELECT ... INTO is not implemented" msgstr "EXECUTE för SELECT ... INTO är inte implementerad" -#: pl_exec.c:4490 +#: pl_exec.c:4523 #, c-format msgid "You might want to use EXECUTE ... INTO or EXECUTE CREATE TABLE ... AS instead." msgstr "Du vill nog använda EXECUTE ... INTO eller EXECUTE CREATE TABLE ... AS istället." -#: pl_exec.c:4503 +#: pl_exec.c:4536 #, c-format msgid "EXECUTE of transaction commands is not implemented" msgstr "EXECUTE på transaktionskommanon är inte implementerat" -#: pl_exec.c:4804 pl_exec.c:4892 +#: pl_exec.c:4846 pl_exec.c:4934 #, c-format msgid "cursor variable \"%s\" is null" msgstr "markörvariabel \"%s\" är null" -#: pl_exec.c:4815 pl_exec.c:4903 +#: pl_exec.c:4857 pl_exec.c:4945 #, c-format msgid "cursor \"%s\" does not exist" msgstr "markör \"%s\" existerar inte" -#: pl_exec.c:4828 +#: pl_exec.c:4870 #, c-format msgid "relative or absolute cursor position is null" msgstr "relativ eller absolut markörposition är null" -#: pl_exec.c:5066 pl_exec.c:5161 +#: pl_exec.c:5108 pl_exec.c:5203 #, c-format msgid "null value cannot be assigned to variable \"%s\" declared NOT NULL" msgstr "null-value kan inte tilldelas till variabel \"%s\" som deklarerats NOT NULL" -#: pl_exec.c:5142 +#: pl_exec.c:5184 #, c-format msgid "cannot assign non-composite value to a row variable" msgstr "kan inte tilldela icke-composite-värde till radvariabel" -#: pl_exec.c:5174 +#: pl_exec.c:5216 #, c-format msgid "cannot assign non-composite value to a record variable" msgstr "kan inte tilldela icke-composite-värde till en post-variabel" -#: pl_exec.c:5225 +#: pl_exec.c:5267 #, c-format msgid "cannot assign to system column \"%s\"" msgstr "kan inte skriva till systemkolumn \"%s\"" -#: pl_exec.c:5674 +#: pl_exec.c:5716 #, c-format msgid "query did not return data" msgstr "frågan returnerade ingen data" -#: pl_exec.c:5675 pl_exec.c:5687 pl_exec.c:5712 pl_exec.c:5788 pl_exec.c:5793 +#: pl_exec.c:5717 pl_exec.c:5729 pl_exec.c:5754 pl_exec.c:5830 pl_exec.c:5835 #, c-format msgid "query: %s" msgstr "fråga: %s" -#: pl_exec.c:5683 +#: pl_exec.c:5725 #, c-format msgid "query returned %d column" msgid_plural "query returned %d columns" msgstr[0] "frågan returnerade %d kolumn" msgstr[1] "frågan returnerade %d kolumner" -#: pl_exec.c:5787 +#: pl_exec.c:5829 #, c-format msgid "query is SELECT INTO, but it should be plain SELECT" msgstr "frågan är SELECT INTO men skall vara en vanlig SELECT" -#: pl_exec.c:5792 +#: pl_exec.c:5834 #, c-format msgid "query is not a SELECT" msgstr "frågan är inte en SELECT" -#: pl_exec.c:6602 pl_exec.c:6642 pl_exec.c:6682 +#: pl_exec.c:6648 pl_exec.c:6688 pl_exec.c:6728 #, c-format msgid "type of parameter %d (%s) does not match that when preparing the plan (%s)" msgstr "typen av parameter %d (%s) matchar inte det som var vid preparerande av plan (%s)" -#: pl_exec.c:7093 pl_exec.c:7127 pl_exec.c:7201 pl_exec.c:7227 +#: pl_exec.c:7139 pl_exec.c:7173 pl_exec.c:7247 pl_exec.c:7273 #, c-format msgid "number of source and target fields in assignment does not match" msgstr "antal käll- och mål-fält i tilldelningen matchar inte" #. translator: %s represents a name of an extra check -#: pl_exec.c:7095 pl_exec.c:7129 pl_exec.c:7203 pl_exec.c:7229 +#: pl_exec.c:7141 pl_exec.c:7175 pl_exec.c:7249 pl_exec.c:7275 #, c-format msgid "%s check of %s is active." msgstr "%s kontroll av %s är aktiv." -#: pl_exec.c:7099 pl_exec.c:7133 pl_exec.c:7207 pl_exec.c:7233 +#: pl_exec.c:7145 pl_exec.c:7179 pl_exec.c:7253 pl_exec.c:7279 #, c-format msgid "Make sure the query returns the exact list of columns." msgstr "Se till att frågan returerar exakt rätt lista med kolumner." -#: pl_exec.c:7620 +#: pl_exec.c:7666 #, c-format msgid "record \"%s\" is not assigned yet" msgstr "posten \"%s\" är inte tilldelad än" -#: pl_exec.c:7621 +#: pl_exec.c:7667 #, c-format msgid "The tuple structure of a not-yet-assigned record is indeterminate." msgstr "Tuple-strukturen av en ej-ännu-tilldelad post är obestämd." +#: pl_exec.c:8355 pl_gram.y:3498 +#, c-format +msgid "variable \"%s\" is declared CONSTANT" +msgstr "variabel \"%s\" är deklarerad CONSTANT" + #: pl_funcs.c:237 msgid "statement block" msgstr "satsblock" @@ -538,280 +558,274 @@ msgstr "SQL-sats" msgid "FOR over EXECUTE statement" msgstr "FOR över EXECUTE-sats" -#: pl_gram.y:486 +#: pl_gram.y:485 #, c-format msgid "block label must be placed before DECLARE, not after" msgstr "blocketikett måste anges före DECLARE, inte efter" -#: pl_gram.y:506 +#: pl_gram.y:505 #, c-format msgid "collations are not supported by type %s" msgstr "jämförelser stöds inte för typ %s" -#: pl_gram.y:525 +#: pl_gram.y:524 #, c-format msgid "variable \"%s\" must have a default value, since it's declared NOT NULL" msgstr "variabel \"%s\" måste ha ett default-värde då det inte deklarerats som NOT NULL" -#: pl_gram.y:673 pl_gram.y:688 pl_gram.y:714 -#, c-format -msgid "variable \"%s\" does not exist" -msgstr "variabel \"%s\" finns inte" - -#: pl_gram.y:732 pl_gram.y:760 +#: pl_gram.y:704 pl_gram.y:732 msgid "duplicate declaration" msgstr "duplicerad deklaration" -#: pl_gram.y:743 pl_gram.y:771 +#: pl_gram.y:715 pl_gram.y:743 #, c-format msgid "variable \"%s\" shadows a previously defined variable" msgstr "variabeln \"%s\" döljer en tidigare definierad variabel" -#: pl_gram.y:1043 +#: pl_gram.y:1017 #, c-format msgid "diagnostics item %s is not allowed in GET STACKED DIAGNOSTICS" msgstr "diagnostikdel %s tillåts inte i GET STACKED DIAGNOSTICS" -#: pl_gram.y:1061 +#: pl_gram.y:1035 #, c-format msgid "diagnostics item %s is not allowed in GET CURRENT DIAGNOSTICS" msgstr "diagnostikdel %s tillåts inte i GET CURRENT DIAGNOSTICS" -#: pl_gram.y:1156 +#: pl_gram.y:1133 msgid "unrecognized GET DIAGNOSTICS item" msgstr "okänd GET DIAGNOSTICS-del" -#: pl_gram.y:1172 pl_gram.y:3557 +#: pl_gram.y:1149 pl_gram.y:3614 #, c-format msgid "\"%s\" is not a scalar variable" msgstr "\"%s\" är inte ett skalärt värde" -#: pl_gram.y:1402 pl_gram.y:1596 +#: pl_gram.y:1379 pl_gram.y:1572 #, c-format msgid "loop variable of loop over rows must be a record variable or list of scalar variables" msgstr "loop-variabeln för loop över rader måste vara en postvariabel eller en lista av skalärvariabler" -#: pl_gram.y:1437 +#: pl_gram.y:1414 #, c-format msgid "cursor FOR loop must have only one target variable" msgstr "markör-FOR-loop måste ha exakt en målvariabel" -#: pl_gram.y:1444 +#: pl_gram.y:1421 #, c-format msgid "cursor FOR loop must use a bound cursor variable" msgstr "markör-FOR-loop måste använda en bunden markörvariabel" -#: pl_gram.y:1535 +#: pl_gram.y:1511 #, c-format msgid "integer FOR loop must have only one target variable" msgstr "heltals-FOR-loop måste ha exakt en målvariabel" -#: pl_gram.y:1569 +#: pl_gram.y:1545 #, c-format msgid "cannot specify REVERSE in query FOR loop" msgstr "kan inte ange REVERSE i fråge-FOR-loop" -#: pl_gram.y:1699 +#: pl_gram.y:1675 #, c-format msgid "loop variable of FOREACH must be a known variable or list of variables" msgstr "loop-variabel för FOREACH måste vara en känd variabel eller lista av variabler" -#: pl_gram.y:1741 +#: pl_gram.y:1717 #, c-format msgid "there is no label \"%s\" attached to any block or loop enclosing this statement" msgstr "det finns ingen etikett \"%s\" kopplad till något block eller loop-omslutning i denna sats" -#: pl_gram.y:1749 +#: pl_gram.y:1725 #, c-format msgid "block label \"%s\" cannot be used in CONTINUE" msgstr "blocketikett \"%s\" kan inte användas i CONTINUE" -#: pl_gram.y:1764 +#: pl_gram.y:1740 #, c-format msgid "EXIT cannot be used outside a loop, unless it has a label" msgstr "EXIT kan inte användas utanför en loop, om den inte har en etikett" -#: pl_gram.y:1765 +#: pl_gram.y:1741 #, c-format msgid "CONTINUE cannot be used outside a loop" msgstr "CONTINUE kan inte användas utanför en loop" -#: pl_gram.y:1789 pl_gram.y:1827 pl_gram.y:1875 pl_gram.y:3004 pl_gram.y:3092 -#: pl_gram.y:3203 pl_gram.y:3956 +#: pl_gram.y:1765 pl_gram.y:1803 pl_gram.y:1851 pl_gram.y:3061 pl_gram.y:3149 +#: pl_gram.y:3260 pl_gram.y:4009 msgid "unexpected end of function definition" msgstr "oväntat slut på funktionsdefinitionen" -#: pl_gram.y:1895 pl_gram.y:1919 pl_gram.y:1935 pl_gram.y:1941 pl_gram.y:2066 -#: pl_gram.y:2074 pl_gram.y:2088 pl_gram.y:2183 pl_gram.y:2407 pl_gram.y:2497 -#: pl_gram.y:2655 pl_gram.y:3799 pl_gram.y:3860 pl_gram.y:3937 +#: pl_gram.y:1871 pl_gram.y:1895 pl_gram.y:1911 pl_gram.y:1917 pl_gram.y:2042 +#: pl_gram.y:2050 pl_gram.y:2064 pl_gram.y:2159 pl_gram.y:2383 pl_gram.y:2473 +#: pl_gram.y:2632 pl_gram.y:3856 pl_gram.y:3917 pl_gram.y:3990 msgid "syntax error" msgstr "syntaxfel" -#: pl_gram.y:1923 pl_gram.y:1925 pl_gram.y:2411 pl_gram.y:2413 +#: pl_gram.y:1899 pl_gram.y:1901 pl_gram.y:2387 pl_gram.y:2389 msgid "invalid SQLSTATE code" msgstr "ogiltig SQLSTATE-kod" -#: pl_gram.y:2131 +#: pl_gram.y:2107 msgid "syntax error, expected \"FOR\"" msgstr "syntaxfel, förväntade \"FOR\"" -#: pl_gram.y:2192 +#: pl_gram.y:2168 #, c-format msgid "FETCH statement cannot return multiple rows" msgstr "FETCH-sats kan inte returnera multipla rader" -#: pl_gram.y:2289 +#: pl_gram.y:2265 #, c-format msgid "cursor variable must be a simple variable" msgstr "markörvariabel måste vara en enkel variabel" -#: pl_gram.y:2295 +#: pl_gram.y:2271 #, c-format msgid "variable \"%s\" must be of type cursor or refcursor" msgstr "variabel \"%s\" måste ha typen cursor eller refcursor" -#: pl_gram.y:2626 pl_gram.y:2637 +#: pl_gram.y:2603 pl_gram.y:2614 #, c-format msgid "\"%s\" is not a known variable" msgstr "\"%s\" är inte en känd variabel" -#: pl_gram.y:2743 pl_gram.y:2753 pl_gram.y:2909 +#: pl_gram.y:2719 pl_gram.y:2729 pl_gram.y:2911 msgid "mismatched parentheses" msgstr "missmatchade parenteser" -#: pl_gram.y:2757 +#: pl_gram.y:2733 #, c-format msgid "missing \"%s\" at end of SQL expression" msgstr "saknar \"%s\" vid slutet av SQL-uttryck" -#: pl_gram.y:2763 +#: pl_gram.y:2739 #, c-format msgid "missing \"%s\" at end of SQL statement" msgstr "saknar \"%s\" vid slutet av SQL-sats" -#: pl_gram.y:2780 +#: pl_gram.y:2758 msgid "missing expression" msgstr "saknar uttryck" -#: pl_gram.y:2782 +#: pl_gram.y:2760 msgid "missing SQL statement" msgstr "saknars SQL-sats" -#: pl_gram.y:2911 +#: pl_gram.y:2889 +msgid "syntax error, expected \"]\"" +msgstr "syntaxfel, förväntade \"]\"" + +#: pl_gram.y:2913 msgid "incomplete data type declaration" msgstr "inkomplett datatypdeklaration" -#: pl_gram.y:2934 +#: pl_gram.y:2936 msgid "missing data type declaration" msgstr "saknar datatypdeklaration" -#: pl_gram.y:3014 +#: pl_gram.y:3071 msgid "INTO specified more than once" msgstr "INTO angiven mer än en gång" -#: pl_gram.y:3184 +#: pl_gram.y:3241 msgid "expected FROM or IN" msgstr "förväntade FROM eller IN" -#: pl_gram.y:3245 +#: pl_gram.y:3302 #, c-format msgid "RETURN cannot have a parameter in function returning set" msgstr "RETURN kan inte ha en parameter i funktion som returnerar en mängd" -#: pl_gram.y:3246 +#: pl_gram.y:3303 #, c-format msgid "Use RETURN NEXT or RETURN QUERY." msgstr "Använd RETURN NEXT eller RETURN QUERY." -#: pl_gram.y:3256 +#: pl_gram.y:3313 #, c-format msgid "RETURN cannot have a parameter in a procedure" msgstr "RETURN kan inte ha en parameter i en procedur" -#: pl_gram.y:3261 +#: pl_gram.y:3318 #, c-format msgid "RETURN cannot have a parameter in function returning void" msgstr "RETURN kan inte ha en parameter i funktion som returnerar void" -#: pl_gram.y:3270 +#: pl_gram.y:3327 #, c-format msgid "RETURN cannot have a parameter in function with OUT parameters" msgstr "RETURN kan inte ha en parameter i en funktion med OUT-parameterar" -#: pl_gram.y:3333 +#: pl_gram.y:3390 #, c-format msgid "RETURN NEXT cannot have a parameter in function with OUT parameters" msgstr "RETURN NEXT kan inte ha en parameter i funktion med OUT-parametrar" -#: pl_gram.y:3441 -#, c-format -msgid "variable \"%s\" is declared CONSTANT" -msgstr "variabel \"%s\" är deklarerad CONSTANT" - -#: pl_gram.y:3499 +#: pl_gram.y:3556 #, c-format msgid "record variable cannot be part of multiple-item INTO list" msgstr "postvariabel kan inte vara del av en multipel-INTO-lista" -#: pl_gram.y:3545 +#: pl_gram.y:3602 #, c-format msgid "too many INTO variables specified" msgstr "för många INTO-variabler angivna" -#: pl_gram.y:3753 +#: pl_gram.y:3810 #, c-format msgid "end label \"%s\" specified for unlabeled block" msgstr "slutetikett \"%s\" angiven för block utan etikett" -#: pl_gram.y:3760 +#: pl_gram.y:3817 #, c-format msgid "end label \"%s\" differs from block's label \"%s\"" msgstr "slutetikett \"%s\" stämmer inte med blockets etikett \"%s\"" -#: pl_gram.y:3794 +#: pl_gram.y:3851 #, c-format msgid "cursor \"%s\" has no arguments" msgstr "markör \"%s\" har inga argument" -#: pl_gram.y:3808 +#: pl_gram.y:3865 #, c-format msgid "cursor \"%s\" has arguments" msgstr "markör \"%s\" har argument" -#: pl_gram.y:3850 +#: pl_gram.y:3907 #, c-format msgid "cursor \"%s\" has no argument named \"%s\"" msgstr "markör \"%s\" har inga argument med namn \"%s\"" -#: pl_gram.y:3870 +#: pl_gram.y:3927 #, c-format msgid "value for parameter \"%s\" of cursor \"%s\" specified more than once" msgstr "värdet för parameter \"%s\" i markör \"%s\" är angivet mer än en gång" -#: pl_gram.y:3895 +#: pl_gram.y:3948 #, c-format msgid "not enough arguments for cursor \"%s\"" msgstr "ej tillräckligt med argument för markör \"%s\"" -#: pl_gram.y:3902 +#: pl_gram.y:3955 #, c-format msgid "too many arguments for cursor \"%s\"" msgstr "fär många argument för markör \"%s\"" -#: pl_gram.y:3988 +#: pl_gram.y:4041 msgid "unrecognized RAISE statement option" msgstr "okänd RAISE-sats-flagga" -#: pl_gram.y:3992 +#: pl_gram.y:4045 msgid "syntax error, expected \"=\"" msgstr "syntaxfel, förväntade \"=\"" -#: pl_gram.y:4033 +#: pl_gram.y:4086 #, c-format msgid "too many parameters specified for RAISE" msgstr "för många parametrar angivna för RAISE" -#: pl_gram.y:4037 +#: pl_gram.y:4090 #, c-format msgid "too few parameters specified for RAISE" msgstr "för få parametrar angivna för RAISE" @@ -837,13 +851,13 @@ msgid "List of programming constructs that should produce an error." msgstr "Lista av programmeringskonstruktioner som skall ge ett fel" #. translator: %s is typically the translation of "syntax error" -#: pl_scanner.c:508 +#: pl_scanner.c:525 #, c-format msgid "%s at end of input" msgstr "%s vid slutet av indatan" #. translator: first %s is typically the translation of "syntax error" -#: pl_scanner.c:524 +#: pl_scanner.c:541 #, c-format msgid "%s at or near \"%s\"" msgstr "%s vid eller nära \"%s\"" diff --git a/src/pl/plpgsql/src/po/uk.po b/src/pl/plpgsql/src/po/uk.po index 77510da01b8..044dd5fa4c3 100644 --- a/src/pl/plpgsql/src/po/uk.po +++ b/src/pl/plpgsql/src/po/uk.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: postgresql\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-08-12 10:39+0000\n" -"PO-Revision-Date: 2022-09-13 11:52\n" +"POT-Creation-Date: 2024-08-31 06:09+0000\n" +"PO-Revision-Date: 2024-09-23 19:38\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -14,162 +14,177 @@ msgstr "" "X-Crowdin-Project: postgresql\n" "X-Crowdin-Project-ID: 324573\n" "X-Crowdin-Language: uk\n" -"X-Crowdin-File: /REL_15_STABLE/plpgsql.pot\n" -"X-Crowdin-File-ID: 894\n" +"X-Crowdin-File: /REL_17_STABLE/plpgsql.pot\n" +"X-Crowdin-File-ID: 998\n" -#: pl_comp.c:438 pl_handler.c:496 +#: pl_comp.c:434 pl_handler.c:496 #, c-format msgid "PL/pgSQL functions cannot accept type %s" msgstr "Функції PL/pgSQL не можуть приймати тип %s" -#: pl_comp.c:530 +#: pl_comp.c:526 #, c-format msgid "could not determine actual return type for polymorphic function \"%s\"" msgstr "не вдалося визначити фактичний тип результату поліморфної функції \"%s\"" -#: pl_comp.c:560 +#: pl_comp.c:556 #, c-format msgid "trigger functions can only be called as triggers" msgstr "тригер-функція може викликатися лише як тригер" -#: pl_comp.c:564 pl_handler.c:480 +#: pl_comp.c:560 pl_handler.c:480 #, c-format msgid "PL/pgSQL functions cannot return type %s" msgstr "Функції PL/pgSQL не можуть повертати тип %s" -#: pl_comp.c:604 +#: pl_comp.c:600 #, c-format msgid "trigger functions cannot have declared arguments" msgstr "тригер-функції не можуть мати задекларованих аргументи" -#: pl_comp.c:605 +#: pl_comp.c:601 #, c-format msgid "The arguments of the trigger can be accessed through TG_NARGS and TG_ARGV instead." msgstr "Аргументи тригеру доступні через TG_NARGS та TG_ARGV замість цього." -#: pl_comp.c:738 +#: pl_comp.c:734 #, c-format msgid "event trigger functions cannot have declared arguments" msgstr "функції тригерів подій не можуть мати задекларовані аргументи" -#: pl_comp.c:1002 +#: pl_comp.c:998 #, c-format msgid "compilation of PL/pgSQL function \"%s\" near line %d" msgstr "компіляція функції PL/pgSQL \"%s\" біля рядка %d" -#: pl_comp.c:1025 +#: pl_comp.c:1021 #, c-format msgid "parameter name \"%s\" used more than once" msgstr "ім'я параметру «%s» використано декілька разів" -#: pl_comp.c:1139 +#: pl_comp.c:1135 #, c-format msgid "column reference \"%s\" is ambiguous" msgstr "посилання на стовпець \"%s\" є неоднозначним" -#: pl_comp.c:1141 +#: pl_comp.c:1137 #, c-format msgid "It could refer to either a PL/pgSQL variable or a table column." msgstr "Це може відноситися до змінної PL/pgSQL або стовпця таблиці." -#: pl_comp.c:1324 pl_exec.c:5234 pl_exec.c:5407 pl_exec.c:5494 pl_exec.c:5585 -#: pl_exec.c:6606 +#: pl_comp.c:1314 pl_exec.c:5260 pl_exec.c:5433 pl_exec.c:5520 pl_exec.c:5611 +#: pl_exec.c:6636 #, c-format msgid "record \"%s\" has no field \"%s\"" msgstr "запис \"%s\" не має поля \"%s\"" -#: pl_comp.c:1818 +#: pl_comp.c:1633 pl_gram.y:645 pl_gram.y:660 pl_gram.y:686 +#, c-format +msgid "variable \"%s\" does not exist" +msgstr "змінної \"%s\" не існує" + +#: pl_comp.c:1722 +#, c-format +msgid "column \"%s\" of relation \"%s\" does not exist" +msgstr "стовпець \"%s\" зв'язку \"%s\" не існує" + +#: pl_comp.c:1775 #, c-format msgid "relation \"%s\" does not exist" msgstr "відношення \"%s\" не існує" -#: pl_comp.c:1825 pl_comp.c:1867 +#: pl_comp.c:1782 pl_comp.c:1820 #, c-format msgid "relation \"%s\" does not have a composite type" msgstr "відношення \"%s\" не має складеного типу" -#: pl_comp.c:1933 +#: pl_comp.c:1886 #, c-format msgid "variable \"%s\" has pseudo-type %s" msgstr "змінна \"%s\" має псевдотип %s" -#: pl_comp.c:2122 +#: pl_comp.c:2075 #, c-format msgid "type \"%s\" is only a shell" msgstr "тип \"%s\" є лише оболонкою" -#: pl_comp.c:2204 pl_exec.c:6907 +#: pl_comp.c:2157 pl_exec.c:6937 #, c-format msgid "type %s is not composite" msgstr "тип %s не є складеним" -#: pl_comp.c:2252 pl_comp.c:2305 +#: pl_comp.c:2193 +#, c-format +msgid "could not find array type for data type %s" +msgstr "не вдалося знайти тип масиву для типу даних %s" + +#: pl_comp.c:2232 pl_comp.c:2285 #, c-format msgid "unrecognized exception condition \"%s\"" msgstr "нерозпізнана умова виключення \"%s\"" -#: pl_comp.c:2526 +#: pl_comp.c:2514 #, c-format msgid "could not determine actual argument type for polymorphic function \"%s\"" msgstr "не вдалося визначити фактичний тип аргумента поліморфної функції \"%s\"" -#: pl_exec.c:501 pl_exec.c:940 pl_exec.c:1175 +#: pl_exec.c:512 pl_exec.c:951 pl_exec.c:1186 msgid "during initialization of execution state" msgstr "під час ініціалізації стану виконання" -#: pl_exec.c:507 +#: pl_exec.c:518 msgid "while storing call arguments into local variables" msgstr "під час зберігання аргументів виклику до локальних змінних" -#: pl_exec.c:595 pl_exec.c:1013 +#: pl_exec.c:606 pl_exec.c:1024 msgid "during function entry" msgstr "під час входу до функції" -#: pl_exec.c:618 +#: pl_exec.c:629 #, c-format msgid "control reached end of function without RETURN" msgstr "досягнуто кінця функції без RETURN" -#: pl_exec.c:624 +#: pl_exec.c:635 msgid "while casting return value to function's return type" msgstr "під час приведення значення, що повертається, до типу результата функції" -#: pl_exec.c:636 pl_exec.c:3665 +#: pl_exec.c:647 pl_exec.c:3683 #, c-format msgid "set-valued function called in context that cannot accept a set" msgstr "функція \"set-valued\" викликана в контексті, де йому немає місця" -#: pl_exec.c:641 pl_exec.c:3671 +#: pl_exec.c:652 pl_exec.c:3689 #, c-format msgid "materialize mode required, but it is not allowed in this context" msgstr "необхідний режим матеріалізації (materialize mode), але він неприпустимий у цьому контексті" -#: pl_exec.c:768 pl_exec.c:1039 pl_exec.c:1197 +#: pl_exec.c:779 pl_exec.c:1050 pl_exec.c:1208 msgid "during function exit" msgstr "під час виходу з функції" -#: pl_exec.c:823 pl_exec.c:887 pl_exec.c:3464 +#: pl_exec.c:834 pl_exec.c:898 pl_exec.c:3482 msgid "returned record type does not match expected record type" msgstr "тип запису, що повертається, не відповідає очікуваному типу" -#: pl_exec.c:1036 pl_exec.c:1194 +#: pl_exec.c:1047 pl_exec.c:1205 #, c-format msgid "control reached end of trigger procedure without RETURN" msgstr "досягнуто кінця тригерної процедури без RETURN" -#: pl_exec.c:1044 +#: pl_exec.c:1055 #, c-format msgid "trigger procedure cannot return a set" msgstr "тригерна процедура не може повернути набір" -#: pl_exec.c:1083 pl_exec.c:1111 +#: pl_exec.c:1094 pl_exec.c:1122 msgid "returned row structure does not match the structure of the triggering table" msgstr "структура рядка, що повертається, не відповідає структурі таблиці, яка викликала тригер" #. translator: last %s is a phrase such as "during statement block #. local variable initialization" #. -#: pl_exec.c:1252 +#: pl_exec.c:1263 #, c-format msgid "PL/pgSQL function %s line %d %s" msgstr "Функція PL/pgSQL %s рядок %d %s" @@ -177,288 +192,288 @@ msgstr "Функція PL/pgSQL %s рядок %d %s" #. translator: last %s is a phrase such as "while storing call #. arguments into local variables" #. -#: pl_exec.c:1263 +#: pl_exec.c:1274 #, c-format msgid "PL/pgSQL function %s %s" msgstr "Функція PL/pgSQL %s %s" #. translator: last %s is a plpgsql statement type name -#: pl_exec.c:1271 +#: pl_exec.c:1282 #, c-format msgid "PL/pgSQL function %s line %d at %s" msgstr "Функція PL/pgSQL %s рядок %d в %s" -#: pl_exec.c:1277 +#: pl_exec.c:1288 #, c-format msgid "PL/pgSQL function %s" msgstr "Функція PL/pgSQL %s" -#: pl_exec.c:1648 +#: pl_exec.c:1659 msgid "during statement block local variable initialization" msgstr "під час ініціалізації локальної змінної в блоці операторів" -#: pl_exec.c:1753 +#: pl_exec.c:1764 msgid "during statement block entry" msgstr "під час входу в блок операторів" -#: pl_exec.c:1785 +#: pl_exec.c:1796 msgid "during statement block exit" msgstr "під час виходу з блоку операторів" -#: pl_exec.c:1823 +#: pl_exec.c:1834 msgid "during exception cleanup" msgstr "під час очищення винятку" -#: pl_exec.c:2360 +#: pl_exec.c:2370 #, c-format msgid "procedure parameter \"%s\" is an output parameter but corresponding argument is not writable" msgstr "параметр процедури \"%s\" є вихідним, але відповідний аргумент не допускає запис" -#: pl_exec.c:2365 +#: pl_exec.c:2375 #, c-format msgid "procedure parameter %d is an output parameter but corresponding argument is not writable" msgstr "параметр процедури %d є вихідним, але відповідний аргумент не допускає запис" -#: pl_exec.c:2399 +#: pl_exec.c:2411 #, c-format msgid "GET STACKED DIAGNOSTICS cannot be used outside an exception handler" msgstr "GET STACKED DIAGNOSTICS не може використовуватись поза блоком обробника винятків" -#: pl_exec.c:2599 +#: pl_exec.c:2617 #, c-format msgid "case not found" msgstr "гілку не знайдено" -#: pl_exec.c:2600 +#: pl_exec.c:2618 #, c-format msgid "CASE statement is missing ELSE part." msgstr "В операторі CASE пропущено частину ELSE." -#: pl_exec.c:2693 +#: pl_exec.c:2711 #, c-format msgid "lower bound of FOR loop cannot be null" msgstr "нижня границя циклу FOR не може бути null" -#: pl_exec.c:2709 +#: pl_exec.c:2727 #, c-format msgid "upper bound of FOR loop cannot be null" msgstr "верхня границя циклу FOR не може бути null" -#: pl_exec.c:2727 +#: pl_exec.c:2745 #, c-format msgid "BY value of FOR loop cannot be null" msgstr "Значення BY циклу FOR не може бути null" -#: pl_exec.c:2733 +#: pl_exec.c:2751 #, c-format msgid "BY value of FOR loop must be greater than zero" msgstr "Значення BY циклу FOR повинно бути більше нуля" -#: pl_exec.c:2867 pl_exec.c:4667 +#: pl_exec.c:2885 pl_exec.c:4693 #, c-format msgid "cursor \"%s\" already in use" msgstr "курсор \"%s\" вже використовується" -#: pl_exec.c:2890 pl_exec.c:4737 +#: pl_exec.c:2908 pl_exec.c:4763 #, c-format msgid "arguments given for cursor without arguments" msgstr "аргументи, надані курсору без аргументів" -#: pl_exec.c:2909 pl_exec.c:4756 +#: pl_exec.c:2927 pl_exec.c:4782 #, c-format msgid "arguments required for cursor" msgstr "аргументи, необхідні для курсора" -#: pl_exec.c:3000 +#: pl_exec.c:3018 #, c-format msgid "FOREACH expression must not be null" msgstr "Вираз FOREACH не може бути null" -#: pl_exec.c:3015 +#: pl_exec.c:3033 #, c-format msgid "FOREACH expression must yield an array, not type %s" msgstr "Вираз в FOREACH повинен бути масивом, не типом %s" -#: pl_exec.c:3032 +#: pl_exec.c:3050 #, c-format msgid "slice dimension (%d) is out of the valid range 0..%d" msgstr "розмір зрізу (%d) поза припустимим діапазоном 0..%d" -#: pl_exec.c:3059 +#: pl_exec.c:3077 #, c-format msgid "FOREACH ... SLICE loop variable must be of an array type" msgstr "Змінна циклу FOREACH ... SLICE повинна бути масивом" -#: pl_exec.c:3063 +#: pl_exec.c:3081 #, c-format msgid "FOREACH loop variable must not be of an array type" msgstr "Змінна циклу FOREACH не повинна бути масивом" -#: pl_exec.c:3225 pl_exec.c:3282 pl_exec.c:3457 +#: pl_exec.c:3243 pl_exec.c:3300 pl_exec.c:3475 #, c-format msgid "cannot return non-composite value from function returning composite type" msgstr "функція, що повертає складений тип, не може повернути не складене значення" -#: pl_exec.c:3321 pl_gram.y:3319 +#: pl_exec.c:3339 pl_gram.y:3375 #, c-format msgid "cannot use RETURN NEXT in a non-SETOF function" msgstr "не можна використовувати RETURN NEXT в функціях, що не повертають набори даних" -#: pl_exec.c:3362 pl_exec.c:3494 +#: pl_exec.c:3380 pl_exec.c:3512 #, c-format msgid "wrong result type supplied in RETURN NEXT" msgstr "в RETURN NEXT вказано неправильний тип результату" -#: pl_exec.c:3400 pl_exec.c:3421 +#: pl_exec.c:3418 pl_exec.c:3439 #, c-format msgid "wrong record type supplied in RETURN NEXT" msgstr "в RETURN NEXT вказано неправильний тип запису" -#: pl_exec.c:3513 +#: pl_exec.c:3531 #, c-format msgid "RETURN NEXT must have a parameter" msgstr "RETURN NEXT повинен мати параметр" -#: pl_exec.c:3541 pl_gram.y:3383 +#: pl_exec.c:3559 pl_gram.y:3439 #, c-format msgid "cannot use RETURN QUERY in a non-SETOF function" msgstr "не можна використовувати RETURN QUERY в функціях, що не повертають набір" -#: pl_exec.c:3559 +#: pl_exec.c:3577 msgid "structure of query does not match function result type" msgstr "структура запиту не відповідає типу результата функції" -#: pl_exec.c:3614 pl_exec.c:4444 pl_exec.c:8685 +#: pl_exec.c:3632 pl_exec.c:4469 pl_exec.c:8759 #, c-format msgid "query string argument of EXECUTE is null" msgstr "текстовий аргумент запиту EXECUTE є null" -#: pl_exec.c:3699 pl_exec.c:3837 +#: pl_exec.c:3717 pl_exec.c:3855 #, c-format msgid "RAISE option already specified: %s" msgstr "Параметр RAISE вже вказано: %s" -#: pl_exec.c:3733 +#: pl_exec.c:3751 #, c-format msgid "RAISE without parameters cannot be used outside an exception handler" msgstr "RAISE без параметрів не можна використовувати поза блоком обробника винятків" -#: pl_exec.c:3827 +#: pl_exec.c:3845 #, c-format msgid "RAISE statement option cannot be null" msgstr "Параметром оператора RAISE не може бути null" -#: pl_exec.c:3897 +#: pl_exec.c:3915 #, c-format msgid "%s" msgstr "%s" -#: pl_exec.c:3952 +#: pl_exec.c:3970 #, c-format msgid "assertion failed" msgstr "порушення істинності" -#: pl_exec.c:4317 pl_exec.c:4506 +#: pl_exec.c:4342 pl_exec.c:4532 #, c-format msgid "cannot COPY to/from client in PL/pgSQL" msgstr "в PL/pgSQL не можна виконати COPY за участю клієнта" -#: pl_exec.c:4323 +#: pl_exec.c:4348 #, c-format msgid "unsupported transaction command in PL/pgSQL" msgstr "непідтримувана транзакційна команда в PL/pgSQL" -#: pl_exec.c:4346 pl_exec.c:4535 +#: pl_exec.c:4371 pl_exec.c:4561 #, c-format msgid "INTO used with a command that cannot return data" msgstr "INTO використаний з командою, що не може повертати дані" -#: pl_exec.c:4369 pl_exec.c:4558 +#: pl_exec.c:4394 pl_exec.c:4584 #, c-format msgid "query returned no rows" msgstr "запит не повернув рядки" -#: pl_exec.c:4391 pl_exec.c:4577 pl_exec.c:5729 +#: pl_exec.c:4416 pl_exec.c:4603 pl_exec.c:5755 #, c-format msgid "query returned more than one row" msgstr "запит повернув декілька рядків" -#: pl_exec.c:4393 +#: pl_exec.c:4418 #, c-format msgid "Make sure the query returns a single row, or use LIMIT 1." msgstr "Переконайтеся, що запит повертає один рядок, або використовуйте LIMIT 1." -#: pl_exec.c:4409 +#: pl_exec.c:4434 #, c-format msgid "query has no destination for result data" msgstr "запит не має призначення для даних результату" -#: pl_exec.c:4410 +#: pl_exec.c:4435 #, c-format msgid "If you want to discard the results of a SELECT, use PERFORM instead." msgstr "Якщо ви хочете відкинути результати SELECT, використайте PERFORM." -#: pl_exec.c:4498 +#: pl_exec.c:4524 #, c-format msgid "EXECUTE of SELECT ... INTO is not implemented" msgstr "EXECUTE виразу SELECT ... INTO не реалізовано" -#: pl_exec.c:4499 +#: pl_exec.c:4525 #, c-format msgid "You might want to use EXECUTE ... INTO or EXECUTE CREATE TABLE ... AS instead." msgstr "Альтернативою може стати EXECUTE ... INTO або EXECUTE CREATE TABLE ... AS." -#: pl_exec.c:4512 +#: pl_exec.c:4538 #, c-format msgid "EXECUTE of transaction commands is not implemented" msgstr "EXECUTE з транзакційними командами не реалізовано" -#: pl_exec.c:4822 pl_exec.c:4910 +#: pl_exec.c:4848 pl_exec.c:4936 #, c-format msgid "cursor variable \"%s\" is null" msgstr "змінна курсора \"%s\" дорівнює null" -#: pl_exec.c:4833 pl_exec.c:4921 +#: pl_exec.c:4859 pl_exec.c:4947 #, c-format msgid "cursor \"%s\" does not exist" msgstr "курсор \"%s\" не існує" -#: pl_exec.c:4846 +#: pl_exec.c:4872 #, c-format msgid "relative or absolute cursor position is null" msgstr "відносна або абсолютна позиція курсора дорівнює null" -#: pl_exec.c:5084 pl_exec.c:5179 +#: pl_exec.c:5110 pl_exec.c:5205 #, c-format msgid "null value cannot be assigned to variable \"%s\" declared NOT NULL" msgstr "значення null не можна призначити змінній \"%s\", оголошеній NOT NULL" -#: pl_exec.c:5160 +#: pl_exec.c:5186 #, c-format msgid "cannot assign non-composite value to a row variable" msgstr "змінній типу кортеж можна призначити лише складене значення" -#: pl_exec.c:5192 +#: pl_exec.c:5218 #, c-format msgid "cannot assign non-composite value to a record variable" msgstr "змінній типу запис можна призначити лише складене значення" -#: pl_exec.c:5243 +#: pl_exec.c:5269 #, c-format msgid "cannot assign to system column \"%s\"" msgstr "призначити значення системному стовпцю \"%s\" не можна" -#: pl_exec.c:5692 +#: pl_exec.c:5718 #, c-format msgid "query did not return data" msgstr "запит не повернув даних" -#: pl_exec.c:5693 pl_exec.c:5705 pl_exec.c:5730 pl_exec.c:5806 pl_exec.c:5811 +#: pl_exec.c:5719 pl_exec.c:5731 pl_exec.c:5756 pl_exec.c:5832 pl_exec.c:5837 #, c-format msgid "query: %s" msgstr "запит: %s" -#: pl_exec.c:5701 +#: pl_exec.c:5727 #, c-format msgid "query returned %d column" msgid_plural "query returned %d columns" @@ -467,48 +482,48 @@ msgstr[1] "запит повернув %d колонки" msgstr[2] "запит повернув %d колонок" msgstr[3] "запит повернув %d колонок" -#: pl_exec.c:5805 +#: pl_exec.c:5831 #, c-format msgid "query is SELECT INTO, but it should be plain SELECT" msgstr "запит є SELECT INTO, але має бути звичайним SELECT" -#: pl_exec.c:5810 +#: pl_exec.c:5836 #, c-format msgid "query is not a SELECT" msgstr "запит не є SELECT" -#: pl_exec.c:6620 pl_exec.c:6660 pl_exec.c:6700 +#: pl_exec.c:6650 pl_exec.c:6690 pl_exec.c:6730 #, c-format msgid "type of parameter %d (%s) does not match that when preparing the plan (%s)" msgstr "тип параметру %d (%s) не відповідає тому, з котрим тривала підготовка плану (%s)" -#: pl_exec.c:7111 pl_exec.c:7145 pl_exec.c:7219 pl_exec.c:7245 +#: pl_exec.c:7141 pl_exec.c:7175 pl_exec.c:7249 pl_exec.c:7275 #, c-format msgid "number of source and target fields in assignment does not match" msgstr "кількість вихідних і цільових полів у присвоюванні не збігається" #. translator: %s represents a name of an extra check -#: pl_exec.c:7113 pl_exec.c:7147 pl_exec.c:7221 pl_exec.c:7247 +#: pl_exec.c:7143 pl_exec.c:7177 pl_exec.c:7251 pl_exec.c:7277 #, c-format msgid "%s check of %s is active." msgstr "%s перевірка %s активна." -#: pl_exec.c:7117 pl_exec.c:7151 pl_exec.c:7225 pl_exec.c:7251 +#: pl_exec.c:7147 pl_exec.c:7181 pl_exec.c:7255 pl_exec.c:7281 #, c-format msgid "Make sure the query returns the exact list of columns." msgstr "Переконайтеся, що запит повертає точний список стовпців." -#: pl_exec.c:7638 +#: pl_exec.c:7668 #, c-format msgid "record \"%s\" is not assigned yet" msgstr "запис \"%s\" ще не призначено" -#: pl_exec.c:7639 +#: pl_exec.c:7669 #, c-format msgid "The tuple structure of a not-yet-assigned record is indeterminate." msgstr "Для запису, котрому не призначене значення, структура кортежа не визначена." -#: pl_exec.c:8283 pl_gram.y:3442 +#: pl_exec.c:8357 pl_gram.y:3498 #, c-format msgid "variable \"%s\" is declared CONSTANT" msgstr "змінна \"%s\" оголошена як CONSTANT" @@ -545,275 +560,274 @@ msgstr "SQL-оператор" msgid "FOR over EXECUTE statement" msgstr "FOR за результатами EXECUTE" -#: pl_gram.y:487 +#: pl_gram.y:485 #, c-format msgid "block label must be placed before DECLARE, not after" msgstr "мітка блоку повинна бути розміщена до DECLARE, а не після" -#: pl_gram.y:507 +#: pl_gram.y:505 #, c-format msgid "collations are not supported by type %s" msgstr "тип %s не підтримує правила сортування" -#: pl_gram.y:526 +#: pl_gram.y:524 #, c-format msgid "variable \"%s\" must have a default value, since it's declared NOT NULL" msgstr "змінна \"%s\" повинна мати значення за замовчуванням після того, як вона оголошена як NOT NULL" -#: pl_gram.y:674 pl_gram.y:689 pl_gram.y:715 -#, c-format -msgid "variable \"%s\" does not exist" -msgstr "змінної \"%s\" не існує" - -#: pl_gram.y:733 pl_gram.y:761 +#: pl_gram.y:704 pl_gram.y:732 msgid "duplicate declaration" msgstr "дублікат оголошення" -#: pl_gram.y:744 pl_gram.y:772 +#: pl_gram.y:715 pl_gram.y:743 #, c-format msgid "variable \"%s\" shadows a previously defined variable" msgstr "змінна \"%s\" приховує раніше оголошену змінну" -#: pl_gram.y:1044 +#: pl_gram.y:1017 #, c-format msgid "diagnostics item %s is not allowed in GET STACKED DIAGNOSTICS" msgstr "команда GET STACKED DIAGNOSTICS не дозволяє елемент діагностування %s" -#: pl_gram.y:1062 +#: pl_gram.y:1035 #, c-format msgid "diagnostics item %s is not allowed in GET CURRENT DIAGNOSTICS" msgstr "команда GET CURRENT DIAGNOSTICS не дозволяє елемент діагностування %s" -#: pl_gram.y:1157 +#: pl_gram.y:1133 msgid "unrecognized GET DIAGNOSTICS item" msgstr "нерозпізнаний елемент GET DIAGNOSTICS" -#: pl_gram.y:1173 pl_gram.y:3558 +#: pl_gram.y:1149 pl_gram.y:3614 #, c-format msgid "\"%s\" is not a scalar variable" msgstr "\"%s\" не є скалярною змінною" -#: pl_gram.y:1403 pl_gram.y:1597 +#: pl_gram.y:1379 pl_gram.y:1572 #, c-format msgid "loop variable of loop over rows must be a record variable or list of scalar variables" msgstr "змінна циклу по кортежах повинна бути змінною типу запис або списком скалярних змінних" -#: pl_gram.y:1438 +#: pl_gram.y:1414 #, c-format msgid "cursor FOR loop must have only one target variable" msgstr "курсор в циклі FOR повинен мати лише одну цільову змінну" -#: pl_gram.y:1445 +#: pl_gram.y:1421 #, c-format msgid "cursor FOR loop must use a bound cursor variable" msgstr "цикл курсора FOR повинен використовувати обмежуючу змінну курсора" -#: pl_gram.y:1536 +#: pl_gram.y:1511 #, c-format msgid "integer FOR loop must have only one target variable" msgstr "цілочисельний цикл FOR повинен мати лише одну цільову змінну" -#: pl_gram.y:1570 +#: pl_gram.y:1545 #, c-format msgid "cannot specify REVERSE in query FOR loop" msgstr "в циклі FOR з запитом не можна вказати REVERSE" -#: pl_gram.y:1700 +#: pl_gram.y:1675 #, c-format msgid "loop variable of FOREACH must be a known variable or list of variables" msgstr "змінній циклу FOREACH повинна бути відома змінна або список змінних" -#: pl_gram.y:1742 +#: pl_gram.y:1717 #, c-format msgid "there is no label \"%s\" attached to any block or loop enclosing this statement" msgstr "в блоку або циклу, розділеному цим оператором, немає мітки \"%s\"" -#: pl_gram.y:1750 +#: pl_gram.y:1725 #, c-format msgid "block label \"%s\" cannot be used in CONTINUE" msgstr "мітку блока \"%s\" не можна використовувати в CONTINUE" -#: pl_gram.y:1765 +#: pl_gram.y:1740 #, c-format msgid "EXIT cannot be used outside a loop, unless it has a label" msgstr "EXIT можна використовувати поза циклом, тільки з зазначенням мітки" -#: pl_gram.y:1766 +#: pl_gram.y:1741 #, c-format msgid "CONTINUE cannot be used outside a loop" msgstr "CONTINUE не можна використовувати поза циклом" -#: pl_gram.y:1790 pl_gram.y:1828 pl_gram.y:1876 pl_gram.y:3005 pl_gram.y:3093 -#: pl_gram.y:3204 pl_gram.y:3957 +#: pl_gram.y:1765 pl_gram.y:1803 pl_gram.y:1851 pl_gram.y:3061 pl_gram.y:3149 +#: pl_gram.y:3260 pl_gram.y:4009 msgid "unexpected end of function definition" msgstr "неочікуваний кінец визначення функції" -#: pl_gram.y:1896 pl_gram.y:1920 pl_gram.y:1936 pl_gram.y:1942 pl_gram.y:2067 -#: pl_gram.y:2075 pl_gram.y:2089 pl_gram.y:2184 pl_gram.y:2408 pl_gram.y:2498 -#: pl_gram.y:2656 pl_gram.y:3800 pl_gram.y:3861 pl_gram.y:3938 +#: pl_gram.y:1871 pl_gram.y:1895 pl_gram.y:1911 pl_gram.y:1917 pl_gram.y:2042 +#: pl_gram.y:2050 pl_gram.y:2064 pl_gram.y:2159 pl_gram.y:2383 pl_gram.y:2473 +#: pl_gram.y:2632 pl_gram.y:3856 pl_gram.y:3917 pl_gram.y:3990 msgid "syntax error" msgstr "синтаксична помилка" -#: pl_gram.y:1924 pl_gram.y:1926 pl_gram.y:2412 pl_gram.y:2414 +#: pl_gram.y:1899 pl_gram.y:1901 pl_gram.y:2387 pl_gram.y:2389 msgid "invalid SQLSTATE code" msgstr "неприпустимий код SQLSTATE" -#: pl_gram.y:2132 +#: pl_gram.y:2107 msgid "syntax error, expected \"FOR\"" msgstr "помилка синтаксису, очікувався \"FOR\"" -#: pl_gram.y:2193 +#: pl_gram.y:2168 #, c-format msgid "FETCH statement cannot return multiple rows" msgstr "Оператор FETCH не може повернути декілька рядків" -#: pl_gram.y:2290 +#: pl_gram.y:2265 #, c-format msgid "cursor variable must be a simple variable" msgstr "змінна-курсор повинна бути простою змінною" -#: pl_gram.y:2296 +#: pl_gram.y:2271 #, c-format msgid "variable \"%s\" must be of type cursor or refcursor" msgstr "змінна \"%s\" повинна бути типу cursor або refcursor" -#: pl_gram.y:2627 pl_gram.y:2638 +#: pl_gram.y:2603 pl_gram.y:2614 #, c-format msgid "\"%s\" is not a known variable" msgstr "\"%s\" - невідома змінна" -#: pl_gram.y:2744 pl_gram.y:2754 pl_gram.y:2910 +#: pl_gram.y:2719 pl_gram.y:2729 pl_gram.y:2911 msgid "mismatched parentheses" msgstr "неузгоджені дужки" -#: pl_gram.y:2758 +#: pl_gram.y:2733 #, c-format msgid "missing \"%s\" at end of SQL expression" msgstr "пропущено \"%s\" в кінці виразу SQL" -#: pl_gram.y:2764 +#: pl_gram.y:2739 #, c-format msgid "missing \"%s\" at end of SQL statement" msgstr "пропущено \"%s\" в кінці оператора SQL" -#: pl_gram.y:2781 +#: pl_gram.y:2758 msgid "missing expression" msgstr "пропущено вираз" -#: pl_gram.y:2783 +#: pl_gram.y:2760 msgid "missing SQL statement" msgstr "пропущений оператор SQL" -#: pl_gram.y:2912 +#: pl_gram.y:2889 +msgid "syntax error, expected \"]\"" +msgstr "помилка синтаксису, очікувалось \"]\"" + +#: pl_gram.y:2913 msgid "incomplete data type declaration" msgstr "неповне оголошення типу даних" -#: pl_gram.y:2935 +#: pl_gram.y:2936 msgid "missing data type declaration" msgstr "пропущено оголошення типу даних" -#: pl_gram.y:3015 +#: pl_gram.y:3071 msgid "INTO specified more than once" msgstr "INTO вказано неодноразово" -#: pl_gram.y:3185 +#: pl_gram.y:3241 msgid "expected FROM or IN" msgstr "очікувалось FROM або IN" -#: pl_gram.y:3246 +#: pl_gram.y:3302 #, c-format msgid "RETURN cannot have a parameter in function returning set" msgstr "В функції, яка повертає набір, RETURN не може мати параметр" -#: pl_gram.y:3247 +#: pl_gram.y:3303 #, c-format msgid "Use RETURN NEXT or RETURN QUERY." msgstr "Використайте RETURN NEXT або RETURN QUERY." -#: pl_gram.y:3257 +#: pl_gram.y:3313 #, c-format msgid "RETURN cannot have a parameter in a procedure" msgstr "В процедурі RETURN не може мати параметр" -#: pl_gram.y:3262 +#: pl_gram.y:3318 #, c-format msgid "RETURN cannot have a parameter in function returning void" msgstr "В функції, яка не повертає нічого, RETURN не може мати параметр" -#: pl_gram.y:3271 +#: pl_gram.y:3327 #, c-format msgid "RETURN cannot have a parameter in function with OUT parameters" msgstr "В функції з параметрами OUT, RETURN не може мати параметр" -#: pl_gram.y:3334 +#: pl_gram.y:3390 #, c-format msgid "RETURN NEXT cannot have a parameter in function with OUT parameters" msgstr "В функції з параметрами OUT, RETURN NEXT не може мати параметр" -#: pl_gram.y:3500 +#: pl_gram.y:3556 #, c-format msgid "record variable cannot be part of multiple-item INTO list" msgstr "змінна типу запис не може бути частиною списка INTO з декількома елементами" -#: pl_gram.y:3546 +#: pl_gram.y:3602 #, c-format msgid "too many INTO variables specified" msgstr "вказано занадто багато змінних INTO" -#: pl_gram.y:3754 +#: pl_gram.y:3810 #, c-format msgid "end label \"%s\" specified for unlabeled block" msgstr "кінцева мітка \"%s\" вказана для невідміченого блоку" -#: pl_gram.y:3761 +#: pl_gram.y:3817 #, c-format msgid "end label \"%s\" differs from block's label \"%s\"" msgstr "кінцева мітка \"%s\" відрізняється від мітки блоку \"%s\"" -#: pl_gram.y:3795 +#: pl_gram.y:3851 #, c-format msgid "cursor \"%s\" has no arguments" msgstr "курсор \"%s\" не має аргументів" -#: pl_gram.y:3809 +#: pl_gram.y:3865 #, c-format msgid "cursor \"%s\" has arguments" msgstr "курсор \"%s\" має аргументи" -#: pl_gram.y:3851 +#: pl_gram.y:3907 #, c-format msgid "cursor \"%s\" has no argument named \"%s\"" msgstr "курсор \"%s\" не має аргументу \"%s\"" -#: pl_gram.y:3871 +#: pl_gram.y:3927 #, c-format msgid "value for parameter \"%s\" of cursor \"%s\" specified more than once" msgstr "значення параметра \"%s\" курсора \"%s\" вказано неодноразово" -#: pl_gram.y:3896 +#: pl_gram.y:3948 #, c-format msgid "not enough arguments for cursor \"%s\"" msgstr "недостатньо аргументів для курсора \"%s\"" -#: pl_gram.y:3903 +#: pl_gram.y:3955 #, c-format msgid "too many arguments for cursor \"%s\"" msgstr "занадто багато аргументів для курсора \"%s\"" -#: pl_gram.y:3989 +#: pl_gram.y:4041 msgid "unrecognized RAISE statement option" msgstr "нерозпізнаний параметр оператора RAISE" -#: pl_gram.y:3993 +#: pl_gram.y:4045 msgid "syntax error, expected \"=\"" msgstr "помилка синтаксису, очікувалось \"=\"" -#: pl_gram.y:4034 +#: pl_gram.y:4086 #, c-format msgid "too many parameters specified for RAISE" msgstr "занадто багато параметрів вказано для RAISE" -#: pl_gram.y:4038 +#: pl_gram.y:4090 #, c-format msgid "too few parameters specified for RAISE" msgstr "занадто мало параметрів вказано для RAISE" @@ -839,13 +853,13 @@ msgid "List of programming constructs that should produce an error." msgstr "Список програмних конструкцій, які повинні видавати помилку." #. translator: %s is typically the translation of "syntax error" -#: pl_scanner.c:508 +#: pl_scanner.c:525 #, c-format msgid "%s at end of input" msgstr "%s в кінці введення" #. translator: first %s is typically the translation of "syntax error" -#: pl_scanner.c:524 +#: pl_scanner.c:541 #, c-format msgid "%s at or near \"%s\"" msgstr "%s в або поблизу \"%s\"" diff --git a/src/pl/plpgsql/src/sql/plpgsql_call.sql b/src/pl/plpgsql/src/sql/plpgsql_call.sql index 4cbda0382e9..08c1659ef15 100644 --- a/src/pl/plpgsql/src/sql/plpgsql_call.sql +++ b/src/pl/plpgsql/src/sql/plpgsql_call.sql @@ -557,6 +557,23 @@ BEGIN END $$; +-- test in non-atomic context, except exception block is locally atomic +DO $$ +BEGIN + BEGIN + UPDATE t_test SET x = x + 1; + RAISE NOTICE 'f_get_x(%)', f_get_x(); + CALL f_print_x(f_get_x()); + UPDATE t_test SET x = x + 1; + RAISE NOTICE 'f_get_x(%)', f_get_x(); + CALL f_print_x(f_get_x()); + EXCEPTION WHEN division_by_zero THEN + RAISE NOTICE '%', SQLERRM; + END; + ROLLBACK; +END +$$; + -- test in atomic context BEGIN; diff --git a/src/pl/plpython/po/es.po b/src/pl/plpython/po/es.po index 8186ef8622b..4bcc11d69b9 100644 --- a/src/pl/plpython/po/es.po +++ b/src/pl/plpython/po/es.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: plpython (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-05-22 07:08+0000\n" +"POT-Creation-Date: 2024-08-01 11:09+0000\n" "PO-Revision-Date: 2023-05-22 12:06+0200\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" @@ -68,7 +68,7 @@ msgstr "el resultado de la consulta tiene demasiados registros y no entran en un msgid "closing a cursor in an aborted subtransaction" msgstr "cerrando un cursor en una subtransacción abortada" -#: plpy_elog.c:125 plpy_elog.c:126 plpy_plpymodule.c:530 +#: plpy_elog.c:122 plpy_elog.c:123 plpy_plpymodule.c:530 #, c-format msgid "%s" msgstr "%s" @@ -108,83 +108,83 @@ msgstr "procedimiento PL/Python no returnó None" msgid "PL/Python function with return type \"void\" did not return None" msgstr "función PL/Python con tipo de retorno «void» no retorna None" -#: plpy_exec.c:369 plpy_exec.c:393 +#: plpy_exec.c:246 +#, c-format +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" + +#: plpy_exec.c:392 plpy_exec.c:416 #, c-format msgid "unexpected return value from trigger procedure" msgstr "valor de retorno no esperado desde el procedimiento disparador" -#: plpy_exec.c:370 +#: plpy_exec.c:393 #, c-format msgid "Expected None or a string." msgstr "Se esperaba None o una cadena." -#: plpy_exec.c:383 +#: plpy_exec.c:406 #, c-format msgid "PL/Python trigger function returned \"MODIFY\" in a DELETE trigger -- ignored" msgstr "función de disparador de PL/Python retorno «MODIFY» en un disparador de tipo DELETE -- ignorado" -#: plpy_exec.c:394 +#: plpy_exec.c:417 #, c-format msgid "Expected None, \"OK\", \"SKIP\", or \"MODIFY\"." msgstr "Se esperaba None, «OK», «SKIP» o «MODIFY»." -#: plpy_exec.c:444 +#: plpy_exec.c:468 #, c-format msgid "PyList_SetItem() failed, while setting up arguments" msgstr "PyList_SetItem() falló, mientras se inicializaban los argumentos" -#: plpy_exec.c:448 +#: plpy_exec.c:472 #, c-format msgid "PyDict_SetItemString() failed, while setting up arguments" msgstr "PyDict_SetItemString() falló, mientras se inicializaban los argumentos" -#: plpy_exec.c:460 -#, c-format -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" - -#: plpy_exec.c:677 +#: plpy_exec.c:701 #, c-format msgid "while creating return value" msgstr "mientras se creaba el valor de retorno" -#: plpy_exec.c:924 +#: plpy_exec.c:952 #, c-format msgid "TD[\"new\"] deleted, cannot modify row" msgstr "TD[\"new\"] borrado, no se puede modicar el registro" -#: plpy_exec.c:929 +#: plpy_exec.c:957 #, c-format msgid "TD[\"new\"] is not a dictionary" msgstr "TD[\"new\"] no es un diccionario" -#: plpy_exec.c:954 +#: plpy_exec.c:982 #, c-format msgid "TD[\"new\"] dictionary key at ordinal position %d is not a string" msgstr "el nombre del atributo de TD[\"new\"] en la posición %d no es una cadena" -#: plpy_exec.c:961 +#: plpy_exec.c:989 #, c-format msgid "key \"%s\" found in TD[\"new\"] does not exist as a column in the triggering row" msgstr "la llave «%s» en TD[\"new\"] no existe como columna en la fila disparadora" -#: plpy_exec.c:966 +#: plpy_exec.c:994 #, c-format msgid "cannot set system attribute \"%s\"" msgstr "no se puede definir el atributo de sistema «%s»" -#: plpy_exec.c:971 +#: plpy_exec.c:999 #, c-format msgid "cannot set generated column \"%s\"" msgstr "no se puede definir el atributo generado «%s»" -#: plpy_exec.c:1029 +#: plpy_exec.c:1057 #, c-format msgid "while modifying trigger row" msgstr "mientras se modificaba la fila de disparador" # FIXME not very happy with this -#: plpy_exec.c:1087 +#: plpy_exec.c:1115 #, c-format msgid "forcibly aborting a subtransaction that has not been exited" msgstr "abortando una subtransacción que no se ha cerrado" @@ -273,27 +273,27 @@ msgstr "«%s» no es un argumento válido para esta función" msgid "invalid SQLSTATE code" msgstr "código SQLSTATE no válido" -#: plpy_procedure.c:225 +#: plpy_procedure.c:226 #, c-format msgid "trigger functions can only be called as triggers" msgstr "las funciones disparadoras sólo pueden ser llamadas como disparadores" -#: plpy_procedure.c:229 +#: plpy_procedure.c:230 #, c-format msgid "PL/Python functions cannot return type %s" msgstr "las funciones PL/Python no pueden retornar el tipo %s" -#: plpy_procedure.c:307 +#: plpy_procedure.c:308 #, c-format msgid "PL/Python functions cannot accept type %s" msgstr "la funciones PL/Python no pueden aceptar el tipo %s" -#: plpy_procedure.c:395 +#: plpy_procedure.c:396 #, c-format msgid "could not compile PL/Python function \"%s\"" msgstr "no se pudo compilar la función PL/Python «%s»" -#: plpy_procedure.c:398 +#: plpy_procedure.c:399 #, c-format msgid "could not compile anonymous PL/Python code block" msgstr "no se pudo compilar el bloque anónimo PL/Python" diff --git a/src/pl/plpython/po/fr.po b/src/pl/plpython/po/fr.po index 2922a28b09a..ec9faf0a957 100644 --- a/src/pl/plpython/po/fr.po +++ b/src/pl/plpython/po/fr.po @@ -8,10 +8,10 @@ # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 15\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" "POT-Creation-Date: 2023-07-30 09:08+0000\n" -"PO-Revision-Date: 2022-04-12 17:29+0200\n" +"PO-Revision-Date: 2024-09-16 16:28+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -19,7 +19,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.0.1\n" +"X-Generator: Poedit 3.5\n" #: plpy_cursorobject.c:72 #, c-format @@ -390,7 +390,7 @@ msgstr "n'a pas pu créer une représentation chaîne de caractères de l'objet #: plpy_typeio.c:1060 #, c-format msgid "could not convert Python object into cstring: Python string representation appears to contain null bytes" -msgstr "n'a pas pu convertir l'objet Python en csting : la représentation de la chaîne Python contient des octets nuls" +msgstr "n'a pas pu convertir l'objet Python en cstring : la représentation de la chaîne Python contient des octets nuls" #: plpy_typeio.c:1157 #, c-format @@ -417,7 +417,7 @@ msgstr "le nombre de dimensions du tableau dépasse le maximum autorisé (%d)" #: plpy_typeio.c:1329 #, c-format msgid "malformed record literal: \"%s\"" -msgstr "enregistrement litéral invalide : « %s »" +msgstr "enregistrement littéral invalide : « %s »" #: plpy_typeio.c:1330 #, c-format @@ -469,122 +469,3 @@ msgstr "n'a pas pu convertir l'objet Unicode Python en octets" #, c-format msgid "could not extract bytes from encoded string" msgstr "n'a pas pu extraire les octets de la chaîne encodée" - -#~ msgid "PL/Python does not support conversion to arrays of row types." -#~ msgstr "PL/Python ne supporte pas les conversions vers des tableaux de types row." - -#~ msgid "PL/Python function \"%s\" could not execute plan" -#~ msgstr "la fonction PL/python « %s » n'a pas pu exécuter un plan" - -#~ msgid "PL/Python function \"%s\" failed" -#~ msgstr "échec de la fonction PL/python « %s »" - -#~ msgid "PL/Python only supports one-dimensional arrays." -#~ msgstr "PL/Python supporte seulement les tableaux uni-dimensionnels." - -#~ msgid "PL/Python: %s" -#~ msgstr "PL/python : %s" - -#~ msgid "PyCObject_AsVoidPtr() failed" -#~ msgstr "échec de PyCObject_AsVoidPtr()" - -#~ msgid "PyCObject_FromVoidPtr() failed" -#~ msgstr "échec de PyCObject_FromVoidPtr()" - -#~ msgid "Python major version mismatch in session" -#~ msgstr "Différence de version majeure de Python dans la session" - -#~ msgid "Start a new session to use a different Python major version." -#~ msgstr "" -#~ "Lancez une nouvelle session pour utiliser une version majeure différente de\n" -#~ "Python." - -#~ msgid "This session has previously used Python major version %d, and it is now attempting to use Python major version %d." -#~ msgstr "" -#~ "Cette session a auparavant utilisé la version majeure %d de Python et elle\n" -#~ "essaie maintenant d'utiliser la version majeure %d." - -#, c-format -#~ msgid "To construct a multidimensional array, the inner sequences must all have the same length." -#~ msgstr "Pour construire un tableau multidimensionnel, les séquences internes doivent toutes avoir la même longueur." - -#, c-format -#~ msgid "array size exceeds the maximum allowed" -#~ msgstr "la taille du tableau dépasse le maximum permis" - -#~ msgid "cannot convert multidimensional array to Python list" -#~ msgstr "ne peut pas convertir un tableau multidimensionnel en liste Python" - -#~ msgid "could not compute string representation of Python object in PL/Python function \"%s\" while modifying trigger row" -#~ msgstr "" -#~ "n'a pas pu traiter la représentation de la chaîne d'un objet Python dans\n" -#~ "la fonction PL/Python « %s » lors de la modification de la ligne du trigger" - -#~ msgid "could not create exception \"%s\"" -#~ msgstr "n'a pas pu créer l'exception « %s »" - -#~ msgid "could not create globals" -#~ msgstr "n'a pas pu créer les globales" - -#~ msgid "could not create new Python list" -#~ msgstr "n'a pas pu créer la nouvelle liste Python" - -#~ msgid "could not create new dictionary" -#~ msgstr "n'a pas pu créer le nouveau dictionnaire" - -#~ msgid "could not create new dictionary while building trigger arguments" -#~ msgstr "" -#~ "n'a pas pu créer un nouveau dictionnaire lors de la construction des\n" -#~ "arguments du trigger" - -#~ msgid "could not create procedure cache" -#~ msgstr "n'a pas pu créer le cache de procédure" - -#~ msgid "could not create string representation of Python object in PL/Python function \"%s\" while creating return value" -#~ msgstr "" -#~ "n'a pas pu créer la représentation en chaîne de caractère de l'objet\n" -#~ "Python dans la fonction PL/python « %s » lors de la création de la valeur\n" -#~ "de retour" - -#~ msgid "could not create the base SPI exceptions" -#~ msgstr "n'a pas pu créer les exceptions SPI de base" - -#~ msgid "invalid arguments for plpy.prepare" -#~ msgstr "arguments invalides pour plpy.prepare" - -#~ msgid "multidimensional arrays must have array expressions with matching dimensions. PL/Python function return value has sequence length %d while expected %d" -#~ msgstr "" -#~ "les tableaux multidimensionnels doivent avoir des expressions de tableaux\n" -#~ "avec des dimensions correspondantes. La valeur de retour de la fonction\n" -#~ "PL/Python a une longueur de séquence %d alors que %d est attendue" - -#~ msgid "out of memory" -#~ msgstr "mémoire épuisée" - -#~ msgid "plan.status takes no arguments" -#~ msgstr "plan.status ne prends pas d'arguments" - -#~ msgid "plpy.prepare does not support composite types" -#~ msgstr "plpy.prepare ne supporte pas les types composites" - -#~ msgid "the message is already specified" -#~ msgstr "le message est déjà spécifié" - -#~ msgid "transaction aborted" -#~ msgstr "transaction annulée" - -#~ msgid "unrecognized error in PLy_spi_execute_fetch_result" -#~ msgstr "erreur inconnue dans PLy_spi_execute_fetch_result" - -#~ msgid "unrecognized error in PLy_spi_execute_plan" -#~ msgstr "erreur inconnue dans PLy_spi_execute_plan" - -#~ msgid "unrecognized error in PLy_spi_execute_query" -#~ msgstr "erreur inconnue dans PLy_spi_execute_query" - -#~ msgid "unrecognized error in PLy_spi_prepare" -#~ msgstr "erreur inconnue dans PLy_spi_prepare" - -#, c-format -#~ msgid "wrong length of inner sequence: has length %d, but %d was expected" -#~ msgstr "mauvaise longueur de la séquence interne : a une longueur %d, mais %d était attendu" diff --git a/src/pl/plpython/po/ru.po b/src/pl/plpython/po/ru.po index c8ba4ad1a34..e8823526182 100644 --- a/src/pl/plpython/po/ru.po +++ b/src/pl/plpython/po/ru.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: plpython (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-05-04 10:36+0300\n" +"POT-Creation-Date: 2024-09-02 09:29+0300\n" "PO-Revision-Date: 2019-08-29 15:42+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" @@ -111,17 +111,24 @@ msgstr "процедура PL/Python вернула не None" msgid "PL/Python function with return type \"void\" did not return None" msgstr "функция PL/Python с типом результата \"void\" вернула не None" -#: plpy_exec.c:369 plpy_exec.c:393 +#: plpy_exec.c:246 +#, c-format +msgid "" +"function returning record called in context that cannot accept type record" +msgstr "" +"функция, возвращающая запись, вызвана в контексте, не допускающем этот тип" + +#: plpy_exec.c:392 plpy_exec.c:416 #, c-format msgid "unexpected return value from trigger procedure" msgstr "триггерная процедура вернула недопустимое значение" -#: plpy_exec.c:370 +#: plpy_exec.c:393 #, c-format msgid "Expected None or a string." msgstr "Ожидалось None или строка." -#: plpy_exec.c:383 +#: plpy_exec.c:406 #, c-format msgid "" "PL/Python trigger function returned \"MODIFY\" in a DELETE trigger -- ignored" @@ -129,49 +136,42 @@ msgstr "" "триггерная функция PL/Python вернула \"MODIFY\" в триггере DELETE -- " "игнорируется" -#: plpy_exec.c:394 +#: plpy_exec.c:417 #, c-format msgid "Expected None, \"OK\", \"SKIP\", or \"MODIFY\"." msgstr "Ожидалось None, \"OK\", \"SKIP\" или \"MODIFY\"." -#: plpy_exec.c:444 +#: plpy_exec.c:468 #, c-format msgid "PyList_SetItem() failed, while setting up arguments" msgstr "ошибка в PyList_SetItem() при настройке аргументов" -#: plpy_exec.c:448 +#: plpy_exec.c:472 #, c-format msgid "PyDict_SetItemString() failed, while setting up arguments" msgstr "ошибка в PyDict_SetItemString() при настройке аргументов" -#: plpy_exec.c:460 -#, c-format -msgid "" -"function returning record called in context that cannot accept type record" -msgstr "" -"функция, возвращающая запись, вызвана в контексте, не допускающем этот тип" - -#: plpy_exec.c:677 +#: plpy_exec.c:701 #, c-format msgid "while creating return value" msgstr "при создании возвращаемого значения" -#: plpy_exec.c:928 +#: plpy_exec.c:952 #, c-format msgid "TD[\"new\"] deleted, cannot modify row" msgstr "элемент TD[\"new\"] удалён -- изменить строку нельзя" -#: plpy_exec.c:933 +#: plpy_exec.c:957 #, c-format msgid "TD[\"new\"] is not a dictionary" msgstr "TD[\"new\"] - не словарь" -#: plpy_exec.c:958 +#: plpy_exec.c:982 #, c-format msgid "TD[\"new\"] dictionary key at ordinal position %d is not a string" msgstr "ключ словаря TD[\"new\"] с порядковым номером %d не является строкой" -#: plpy_exec.c:965 +#: plpy_exec.c:989 #, c-format msgid "" "key \"%s\" found in TD[\"new\"] does not exist as a column in the triggering " @@ -180,22 +180,22 @@ msgstr "" "ключу \"%s\", найденному в TD[\"new\"], не соответствует столбец в строке, " "обрабатываемой триггером" -#: plpy_exec.c:970 +#: plpy_exec.c:994 #, c-format msgid "cannot set system attribute \"%s\"" msgstr "присвоить значение системному атрибуту \"%s\" нельзя" -#: plpy_exec.c:975 +#: plpy_exec.c:999 #, c-format msgid "cannot set generated column \"%s\"" msgstr "присвоить значение генерируемому столбцу \"%s\" нельзя" -#: plpy_exec.c:1033 +#: plpy_exec.c:1057 #, c-format msgid "while modifying trigger row" msgstr "при изменении строки в триггере" -#: plpy_exec.c:1091 +#: plpy_exec.c:1115 #, c-format msgid "forcibly aborting a subtransaction that has not been exited" msgstr "принудительное прерывание незавершённой подтранзакции" @@ -284,27 +284,27 @@ msgstr "'%s' - недопустимое ключевое слово (аргум msgid "invalid SQLSTATE code" msgstr "неверный код SQLSTATE" -#: plpy_procedure.c:225 +#: plpy_procedure.c:226 #, c-format msgid "trigger functions can only be called as triggers" msgstr "триггерные функции могут вызываться только в триггерах" -#: plpy_procedure.c:229 +#: plpy_procedure.c:230 #, c-format msgid "PL/Python functions cannot return type %s" msgstr "функции PL/Python не могут возвращать тип %s" -#: plpy_procedure.c:307 +#: plpy_procedure.c:308 #, c-format msgid "PL/Python functions cannot accept type %s" msgstr "функции PL/Python не могут принимать тип %s" -#: plpy_procedure.c:395 +#: plpy_procedure.c:396 #, c-format msgid "could not compile PL/Python function \"%s\"" msgstr "не удалось скомпилировать функцию PL/Python \"%s\"" -#: plpy_procedure.c:398 +#: plpy_procedure.c:399 #, c-format msgid "could not compile anonymous PL/Python code block" msgstr "не удалось скомпилировать анонимный блок кода PL/Python" diff --git a/src/pl/plpython/po/sv.po b/src/pl/plpython/po/sv.po index 8642c20402b..54f3db92ff4 100644 --- a/src/pl/plpython/po/sv.po +++ b/src/pl/plpython/po/sv.po @@ -1,14 +1,14 @@ # Swedish message translation file for plpython # 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. +# Dennis Björklund , 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024. # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 16\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-08-02 08:08+0000\n" -"PO-Revision-Date: 2023-08-02 12:03+0200\n" +"POT-Creation-Date: 2024-07-13 15:38+0000\n" +"PO-Revision-Date: 2024-07-13 18:15+0200\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -64,7 +64,7 @@ msgstr "frågeresultet har för många rader för att få plats i en Python-list msgid "closing a cursor in an aborted subtransaction" msgstr "stänger en markör i en avbruten subtransaktion" -#: plpy_elog.c:125 plpy_elog.c:126 plpy_plpymodule.c:530 +#: plpy_elog.c:122 plpy_elog.c:123 plpy_plpymodule.c:530 #, c-format msgid "%s" msgstr "%s" @@ -104,82 +104,82 @@ msgstr "PL/Python-procedur returnerade inte None" msgid "PL/Python function with return type \"void\" did not return None" msgstr "PL/Python-funktion med returtyp \"void\" returnerade inte None" -#: plpy_exec.c:369 plpy_exec.c:393 +#: plpy_exec.c:246 +#, c-format +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." + +#: plpy_exec.c:392 plpy_exec.c:416 #, c-format msgid "unexpected return value from trigger procedure" msgstr "oväntat returvärde från triggerprocedur" -#: plpy_exec.c:370 +#: plpy_exec.c:393 #, c-format msgid "Expected None or a string." msgstr "Förväntade None eller en sträng." -#: plpy_exec.c:383 +#: plpy_exec.c:406 #, c-format msgid "PL/Python trigger function returned \"MODIFY\" in a DELETE trigger -- ignored" msgstr "PL/Python-triggerfunktion returnerade \"MODIFY\" i en DELETE-trigger -- ignorerad" -#: plpy_exec.c:394 +#: plpy_exec.c:417 #, c-format msgid "Expected None, \"OK\", \"SKIP\", or \"MODIFY\"." msgstr "Förväntade None, \"OK\", \"SKIP\" eller \"MODIFY\"." -#: plpy_exec.c:444 +#: plpy_exec.c:468 #, c-format msgid "PyList_SetItem() failed, while setting up arguments" msgstr "PyList_SetItem() misslyckades vid uppsättning av argument" -#: plpy_exec.c:448 +#: plpy_exec.c:472 #, c-format msgid "PyDict_SetItemString() failed, while setting up arguments" msgstr "PyDict_SetItemString() misslyckades vid uppsättning av argument" -#: plpy_exec.c:460 -#, c-format -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." - -#: plpy_exec.c:677 +#: plpy_exec.c:701 #, c-format msgid "while creating return value" msgstr "vid skapande av returvärde" -#: plpy_exec.c:924 +#: plpy_exec.c:952 #, c-format msgid "TD[\"new\"] deleted, cannot modify row" msgstr "TD[\"new\"] raderad, kan inte modifiera rad" -#: plpy_exec.c:929 +#: plpy_exec.c:957 #, c-format msgid "TD[\"new\"] is not a dictionary" msgstr "TD[\"new\"] är inte en dictionary" -#: plpy_exec.c:954 +#: plpy_exec.c:982 #, c-format msgid "TD[\"new\"] dictionary key at ordinal position %d is not a string" msgstr "TD[\"new\"] dictionary-nyckel vid numerisk position %d är inte en sträng" -#: plpy_exec.c:961 +#: plpy_exec.c:989 #, c-format msgid "key \"%s\" found in TD[\"new\"] does not exist as a column in the triggering row" msgstr "nyckel \"%s\" hittad i TD[\"new\"] finns inte som en kolumn i den triggande raden" -#: plpy_exec.c:966 +#: plpy_exec.c:994 #, c-format msgid "cannot set system attribute \"%s\"" msgstr "kan inte sätta systemattribut \"%s\"" -#: plpy_exec.c:971 +#: plpy_exec.c:999 #, c-format msgid "cannot set generated column \"%s\"" msgstr "kan inte sätta genererad kolumn \"%s\"" -#: plpy_exec.c:1029 +#: plpy_exec.c:1057 #, c-format msgid "while modifying trigger row" msgstr "vid modifiering av triggerrad" -#: plpy_exec.c:1087 +#: plpy_exec.c:1115 #, c-format msgid "forcibly aborting a subtransaction that has not been exited" msgstr "tvingar avbrytande av subtransaktion som inte har avslutats" @@ -268,27 +268,27 @@ msgstr "'%s' är ett ogiltigt nyckelordsargument för denna funktion" msgid "invalid SQLSTATE code" msgstr "ogiltig SQLSTATE-kod" -#: plpy_procedure.c:225 +#: plpy_procedure.c:226 #, c-format msgid "trigger functions can only be called as triggers" msgstr "Triggningsfunktioner kan bara anropas vid triggning." -#: plpy_procedure.c:229 +#: plpy_procedure.c:230 #, c-format msgid "PL/Python functions cannot return type %s" msgstr "PL/Python-funktioner kan inte returnera typ %s" -#: plpy_procedure.c:307 +#: plpy_procedure.c:308 #, c-format msgid "PL/Python functions cannot accept type %s" msgstr "PL/Python-funktioner kan inte ta emot typ %s" -#: plpy_procedure.c:395 +#: plpy_procedure.c:396 #, c-format msgid "could not compile PL/Python function \"%s\"" msgstr "kunde inte kompilera PL/Python-funktion \"%s\"" -#: plpy_procedure.c:398 +#: plpy_procedure.c:399 #, c-format msgid "could not compile anonymous PL/Python code block" msgstr "kunde inte kompilera anonymt PL/Python-kodblock" @@ -447,15 +447,3 @@ msgstr "kunde inte konvertera Python-unicode-objekt till bytes" #, c-format msgid "could not extract bytes from encoded string" msgstr "kunde inte extrahera bytes från kodad sträng" - -#, c-format -#~ msgid "To construct a multidimensional array, the inner sequences must all have the same length." -#~ msgstr "För att skapa en multidimensionell array så skall alla de inre sekvenserna ha samma längd." - -#, c-format -#~ msgid "array size exceeds the maximum allowed" -#~ msgstr "array-storlek överskrider maximalt tillåtna" - -#, c-format -#~ msgid "wrong length of inner sequence: has length %d, but %d was expected" -#~ msgstr "fel längd på inre sekvens: har längd %d, men %d förväntades" diff --git a/src/pl/plpython/po/uk.po b/src/pl/plpython/po/uk.po index 0388016c9ce..22ef7bc349b 100644 --- a/src/pl/plpython/po/uk.po +++ b/src/pl/plpython/po/uk.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: postgresql\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-12-17 22:08+0000\n" -"PO-Revision-Date: 2023-12-20 11:53\n" +"POT-Creation-Date: 2024-08-31 06:09+0000\n" +"PO-Revision-Date: 2024-09-23 19:38\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -14,8 +14,8 @@ msgstr "" "X-Crowdin-Project: postgresql\n" "X-Crowdin-Project-ID: 324573\n" "X-Crowdin-Language: uk\n" -"X-Crowdin-File: /REL_16_STABLE/plpython.pot\n" -"X-Crowdin-File-ID: 933\n" +"X-Crowdin-File: /REL_17_STABLE/plpython.pot\n" +"X-Crowdin-File-ID: 1014\n" #: plpy_cursorobject.c:72 #, c-format @@ -106,82 +106,82 @@ msgstr "процедура PL/Python не повернула None" msgid "PL/Python function with return type \"void\" did not return None" msgstr "PL/Python функція з типом результату \"void\" не повернули None" -#: plpy_exec.c:369 plpy_exec.c:393 +#: plpy_exec.c:246 +#, c-format +msgid "function returning record called in context that cannot accept type record" +msgstr "функція, що повертає набір, викликана у контексті, що не приймає тип запис" + +#: plpy_exec.c:392 plpy_exec.c:416 #, c-format msgid "unexpected return value from trigger procedure" msgstr "неочікуване значення процедури тригера" -#: plpy_exec.c:370 +#: plpy_exec.c:393 #, c-format msgid "Expected None or a string." msgstr "Очікувалось None або рядок." -#: plpy_exec.c:383 +#: plpy_exec.c:406 #, c-format msgid "PL/Python trigger function returned \"MODIFY\" in a DELETE trigger -- ignored" msgstr "Тригерна функція PL/Python повернула \"MODIFY\" в тригері DELETE -- проігноровано" -#: plpy_exec.c:394 +#: plpy_exec.c:417 #, c-format msgid "Expected None, \"OK\", \"SKIP\", or \"MODIFY\"." msgstr "Очікувалось None, \"OK\", \"SKIP\" або \"MODIFY\"." -#: plpy_exec.c:444 +#: plpy_exec.c:468 #, c-format msgid "PyList_SetItem() failed, while setting up arguments" msgstr "помилка PyList_SetItem() під час встановлення параметрів" -#: plpy_exec.c:448 +#: plpy_exec.c:472 #, c-format msgid "PyDict_SetItemString() failed, while setting up arguments" msgstr "помилка PyDict_SetItemString() під час встановлення параметрів" -#: plpy_exec.c:460 -#, c-format -msgid "function returning record called in context that cannot accept type record" -msgstr "функція, що повертає набір, викликана у контексті, що не приймає тип запис" - -#: plpy_exec.c:677 +#: plpy_exec.c:701 #, c-format msgid "while creating return value" msgstr "під час створення значення результату" -#: plpy_exec.c:924 +#: plpy_exec.c:952 #, c-format msgid "TD[\"new\"] deleted, cannot modify row" msgstr "TD[\"new\"] видалено, неможливо змінити рядок" -#: plpy_exec.c:929 +#: plpy_exec.c:957 #, c-format msgid "TD[\"new\"] is not a dictionary" msgstr "TD[\"new\"] не є словником" -#: plpy_exec.c:954 +#: plpy_exec.c:982 #, c-format msgid "TD[\"new\"] dictionary key at ordinal position %d is not a string" msgstr "ключ словника TD[\"new\"] на порядковий позиції %d не є рядком" -#: plpy_exec.c:961 +#: plpy_exec.c:989 #, c-format msgid "key \"%s\" found in TD[\"new\"] does not exist as a column in the triggering row" msgstr "ключ \"%s\" знайдений у TD[\"new\"] не існує як стовпець у рядку тригера" -#: plpy_exec.c:966 +#: plpy_exec.c:994 #, c-format msgid "cannot set system attribute \"%s\"" msgstr "не вдалося встановити системний атрибут \"%s\"" -#: plpy_exec.c:971 +#: plpy_exec.c:999 #, c-format msgid "cannot set generated column \"%s\"" msgstr "неможливо оновити згенерований стовпець \"%s\"" -#: plpy_exec.c:1029 +#: plpy_exec.c:1057 #, c-format msgid "while modifying trigger row" msgstr "під час зміни рядка тригера" -#: plpy_exec.c:1087 +#: plpy_exec.c:1115 #, c-format msgid "forcibly aborting a subtransaction that has not been exited" msgstr "примусове переривання субтранзакції, яка не вийшла" @@ -270,27 +270,27 @@ msgstr "'%s' є неприпустимим ключовим словом-арг msgid "invalid SQLSTATE code" msgstr "неприпустимий код SQLSTATE" -#: plpy_procedure.c:225 +#: plpy_procedure.c:226 #, c-format msgid "trigger functions can only be called as triggers" msgstr "тригер-функція може викликатися лише як тригер" -#: plpy_procedure.c:229 +#: plpy_procedure.c:230 #, c-format msgid "PL/Python functions cannot return type %s" msgstr "PL/Python функції не можуть повернути тип %s" -#: plpy_procedure.c:307 +#: plpy_procedure.c:308 #, c-format msgid "PL/Python functions cannot accept type %s" msgstr "PL/Python функції не можуть прийняти тип %s" -#: plpy_procedure.c:395 +#: plpy_procedure.c:396 #, c-format msgid "could not compile PL/Python function \"%s\"" msgstr "не вдалося скомпілювати функцію PL/Python \"%s\"" -#: plpy_procedure.c:398 +#: plpy_procedure.c:399 #, c-format msgid "could not compile anonymous PL/Python code block" msgstr "не вдалося скомпілювати анонімні коди блоку PL/Python" diff --git a/src/pl/plpython/po/zh_CN.po b/src/pl/plpython/po/zh_CN.po index 264d4f52f6f..50b34ebe847 100644 --- a/src/pl/plpython/po/zh_CN.po +++ b/src/pl/plpython/po/zh_CN.po @@ -1,43 +1,43 @@ # LANGUAGE message translation file for plpython # Copyright (C) 2010 PostgreSQL Global Development Group # This file is distributed under the same license as the PostgreSQL package. -# FIRST AUTHOR , 2010. +# Dianjin Wang , 2024 # msgid "" msgstr "" -"Project-Id-Version: plpython (PostgreSQL) 14\n" +"Project-Id-Version: plpython (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2021-08-14 05:38+0000\n" -"PO-Revision-Date: 2021-08-16 18:00+0800\n" -"Last-Translator: Jie Zhang \n" +"POT-Creation-Date: 2024-09-13 22:40+0000\n" +"PO-Revision-Date: 2024-09-14 14:12+0800\n" +"Last-Translator: Dianjin Wang \n" "Language-Team: Chinese (Simplified) \n" "Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Poedit 1.5.7\n" +"X-Generator: Poedit 3.4.4\n" #: plpy_cursorobject.c:72 #, c-format msgid "plpy.cursor expected a query or a plan" -msgstr "plpy.cursor期望一个查询或一个计划" +msgstr "plpy.cursor 期望一个查询或一个计划" #: plpy_cursorobject.c:155 #, c-format msgid "plpy.cursor takes a sequence as its second argument" -msgstr "plpy.cursor将一个序列作为它的第二个参数" +msgstr "plpy.cursor 将一个序列作为它的第二个参数" -#: plpy_cursorobject.c:171 plpy_spi.c:207 +#: plpy_cursorobject.c:171 plpy_spi.c:205 #, c-format msgid "could not execute plan" msgstr "无法执行计划" -#: plpy_cursorobject.c:174 plpy_spi.c:210 +#: plpy_cursorobject.c:174 plpy_spi.c:208 #, c-format msgid "Expected sequence of %d argument, got %d: %s" msgid_plural "Expected sequence of %d arguments, got %d: %s" -msgstr[0] "期望%d序列参数,但是得到%d: %s" +msgstr[0] "期望 %d 参数序列, 但是得到 %d: %s" #: plpy_cursorobject.c:321 #, c-format @@ -54,17 +54,17 @@ msgstr "在终止的子事务里遍历一个游标" msgid "fetch from a closed cursor" msgstr "从关闭的游标里获取结果" -#: plpy_cursorobject.c:430 plpy_spi.c:403 +#: plpy_cursorobject.c:430 plpy_spi.c:401 #, c-format msgid "query result has too many rows to fit in a Python list" -msgstr "查询结果中的行太多,无法放在一个Python列表中" +msgstr "查询结果中的行太多,无法放在一个 Python 列表中" #: plpy_cursorobject.c:482 #, c-format msgid "closing a cursor in an aborted subtransaction" msgstr "在终止的子事务里关闭一个游标" -#: plpy_elog.c:125 plpy_elog.c:126 plpy_plpymodule.c:548 +#: plpy_elog.c:122 plpy_elog.c:123 plpy_plpymodule.c:530 #, c-format msgid "%s" msgstr "%s" @@ -77,221 +77,221 @@ msgstr "不支持集合函数返回模式" #: plpy_exec.c:140 #, c-format msgid "PL/Python set-returning functions only support returning one value per call." -msgstr "PL/Python集合返回函数只支持在每次调用时返回一个值。" +msgstr "PL/Python 集合返回函数只支持在每次调用时返回一个值." #: plpy_exec.c:153 #, c-format msgid "returned object cannot be iterated" -msgstr "所返回的对象无法迭代" +msgstr "所返回的对象无法进行遍历" #: plpy_exec.c:154 #, c-format msgid "PL/Python set-returning functions must return an iterable object." -msgstr "PL/Python集合返回函数必须返回一个可迭代的对象." +msgstr "PL/Python 集合返回函数必须返回一个可遍历的对象." #: plpy_exec.c:168 #, c-format msgid "error fetching next item from iterator" -msgstr "当从迭代器中取回下一个成员时出现错误" +msgstr "当从迭代器中获取下一个成员时出现错误" #: plpy_exec.c:211 #, c-format msgid "PL/Python procedure did not return None" -msgstr "PL/Python过程没有返回None" +msgstr "PL/Python 过程没有返回 None" #: plpy_exec.c:215 #, c-format msgid "PL/Python function with return type \"void\" did not return None" -msgstr "返回类型为\"void\"的PL/Python函数不返回None" +msgstr "返回类型为 \"void\" 的 PL/Python 函数不返回 None" -#: plpy_exec.c:371 plpy_exec.c:397 +#: plpy_exec.c:246 +#, c-format +msgid "function returning record called in context that cannot accept type record" +msgstr "返回值类型是记录的函数在不接受使用记录类型的环境中调用" + +#: plpy_exec.c:392 plpy_exec.c:416 #, c-format msgid "unexpected return value from trigger procedure" msgstr "在触发器存储过程出现非期望的返回值" -#: plpy_exec.c:372 +#: plpy_exec.c:393 #, c-format msgid "Expected None or a string." -msgstr "期望空值或一个字符串" +msgstr "期望 None 或一个字符串." -#: plpy_exec.c:387 +#: plpy_exec.c:406 #, c-format msgid "PL/Python trigger function returned \"MODIFY\" in a DELETE trigger -- ignored" -msgstr "在DELETE触发器中的PL/Python 触发器函数返回 \"MODIFY\" -- 忽略" +msgstr "在 DELETE 触发器中的 PL/Python 触发器函数返回 \"MODIFY\" -- 忽略" -#: plpy_exec.c:398 +#: plpy_exec.c:417 #, c-format msgid "Expected None, \"OK\", \"SKIP\", or \"MODIFY\"." -msgstr "期望None, \"OK\", \"SKIP\", 或\"MODIFY\"" +msgstr "期望 None, \"OK\", \"SKIP\", 或\"MODIFY”." -#: plpy_exec.c:443 +#: plpy_exec.c:468 #, c-format msgid "PyList_SetItem() failed, while setting up arguments" -msgstr "当设置参数的同时, 执行PyList_SetItem()失败" +msgstr "当设置参数的同时, 执行 PyList_SetItem() 失败" -#: plpy_exec.c:447 +#: plpy_exec.c:472 #, c-format msgid "PyDict_SetItemString() failed, while setting up arguments" -msgstr "当设置参数的同时, 执行PyDict_SetItemString()失败" - -#: plpy_exec.c:459 -#, c-format -msgid "function returning record called in context that cannot accept type record" -msgstr "返回值类型是记录的函数在不接受使用记录类型的环境中调用" +msgstr "当设置参数的同时, 执行 PyDict_SetItemString() 失败" -#: plpy_exec.c:676 +#: plpy_exec.c:701 #, c-format msgid "while creating return value" msgstr "同时在创建返回值" -#: plpy_exec.c:910 +#: plpy_exec.c:952 #, c-format msgid "TD[\"new\"] deleted, cannot modify row" msgstr "TD[\"new\"] 已删除,无法修改记录" -#: plpy_exec.c:915 +#: plpy_exec.c:957 #, c-format msgid "TD[\"new\"] is not a dictionary" -msgstr "TD[\"new\"]不是一个字典" +msgstr "TD[\"new\"] 不是一个字典" -#: plpy_exec.c:942 +#: plpy_exec.c:982 #, c-format msgid "TD[\"new\"] dictionary key at ordinal position %d is not a string" -msgstr "在顺序位置%d的TD[\"new\"]字典键值不是字符串" +msgstr "在顺序位置 %d 的 TD[\"new\"] 字典键值不是字符串" -#: plpy_exec.c:949 +#: plpy_exec.c:989 #, c-format msgid "key \"%s\" found in TD[\"new\"] does not exist as a column in the triggering row" -msgstr "在 TD[\"new\"]中找到的键 \"%s\"在正在触发的记录中不是作为列而存在." +msgstr "在 TD[\"new\"] 中找到的键 \"%s\" 在正在触发的记录中不是作为列而存在" -#: plpy_exec.c:954 +#: plpy_exec.c:994 #, c-format msgid "cannot set system attribute \"%s\"" -msgstr "不能设置系统属性\"%s\"" +msgstr "无法设置系统属性 \"%s\"" -#: plpy_exec.c:959 +#: plpy_exec.c:999 #, c-format msgid "cannot set generated column \"%s\"" msgstr "无法设置生成的列 \"%s\"" -#: plpy_exec.c:1017 +#: plpy_exec.c:1057 #, c-format msgid "while modifying trigger row" msgstr "同时正在修改触发器记录" -#: plpy_exec.c:1075 +#: plpy_exec.c:1115 #, c-format msgid "forcibly aborting a subtransaction that has not been exited" msgstr "强行终止一个还未退出的子事务" -#: plpy_main.c:121 +#: plpy_main.c:109 #, c-format msgid "multiple Python libraries are present in session" -msgstr "会话中存在多个Python库" +msgstr "会话中存在多个 Python 库" -#: plpy_main.c:122 +#: plpy_main.c:110 #, c-format msgid "Only one Python major version can be used in one session." -msgstr "一个会话中只能使用一个Python主版本." +msgstr "一个会话中只能使用一个 Python 主版本." -#: plpy_main.c:138 +#: plpy_main.c:122 #, c-format msgid "untrapped error in initialization" msgstr "在初始化过程中出现无法捕获的错误" -#: plpy_main.c:161 +#: plpy_main.c:145 #, c-format msgid "could not import \"__main__\" module" -msgstr "无法导入模块\"__main__\" " +msgstr "无法导入 \"__main__\" 模块" -#: plpy_main.c:170 +#: plpy_main.c:154 #, c-format msgid "could not initialize globals" msgstr "无法初始化全局变量" -#: plpy_main.c:393 +#: plpy_main.c:352 #, c-format msgid "PL/Python procedure \"%s\"" -msgstr "PL/Python过程\"%s\"" +msgstr "PL/Python 过程 \"%s\"" -#: plpy_main.c:396 +#: plpy_main.c:355 #, c-format msgid "PL/Python function \"%s\"" -msgstr "PL/Python函数\"%s\"" +msgstr "PL/Python 函数\"%s\"" -#: plpy_main.c:404 +#: plpy_main.c:363 #, c-format msgid "PL/Python anonymous code block" -msgstr "PL/Python匿名代码块" +msgstr "PL/Python 匿名代码块" -#: plpy_plpymodule.c:182 plpy_plpymodule.c:185 +#: plpy_plpymodule.c:168 plpy_plpymodule.c:171 #, c-format msgid "could not import \"plpy\" module" -msgstr "无法导入模块\"plpy\" " +msgstr "无法导入 \"plpy\" 模块" -#: plpy_plpymodule.c:200 +#: plpy_plpymodule.c:182 #, c-format msgid "could not create the spiexceptions module" -msgstr "无法创建spiexceptions模块" +msgstr "无法创建 spiexceptions 模块" -#: plpy_plpymodule.c:208 +#: plpy_plpymodule.c:190 #, c-format msgid "could not add the spiexceptions module" -msgstr "无法添加spiexceptions模块 " +msgstr "无法添加 spiexceptions 模块" -#: plpy_plpymodule.c:275 +#: plpy_plpymodule.c:257 #, c-format msgid "could not generate SPI exceptions" -msgstr "无法产生SPI异常" +msgstr "无法产生 SPI 异常" -#: plpy_plpymodule.c:443 +#: plpy_plpymodule.c:425 #, c-format msgid "could not unpack arguments in plpy.elog" -msgstr "无法解析plpy.elog中的参数" +msgstr "无法解包 plpy.elog 中的参数" -#: plpy_plpymodule.c:452 +#: plpy_plpymodule.c:434 msgid "could not parse error message in plpy.elog" -msgstr "无法解析在plpy.elog中的错误消息" +msgstr "无法解析 plpy.elog 中的错误消息" -#: plpy_plpymodule.c:469 +#: plpy_plpymodule.c:451 #, c-format msgid "argument 'message' given by name and position" -msgstr "由名称和位置提供的参数'message'" +msgstr "由名称和位置提供的参数 'message'" -#: plpy_plpymodule.c:496 +#: plpy_plpymodule.c:478 #, c-format msgid "'%s' is an invalid keyword argument for this function" -msgstr "对于这个函数,'%s'是一个无效的关键词参数" +msgstr "对于这个函数,'%s' 是一个无效的关键词参数" -#: plpy_plpymodule.c:507 plpy_plpymodule.c:513 +#: plpy_plpymodule.c:489 plpy_plpymodule.c:495 #, c-format msgid "invalid SQLSTATE code" -msgstr "无效的SQLSTATE代码" +msgstr "无效的 SQLSTATE 代码" -#: plpy_procedure.c:225 +#: plpy_procedure.c:226 #, c-format msgid "trigger functions can only be called as triggers" -msgstr "触发器函数只能以触发器的形式调用" +msgstr "触发器函数只能以触发器的形式被调用" -#: plpy_procedure.c:229 +#: plpy_procedure.c:230 #, c-format msgid "PL/Python functions cannot return type %s" -msgstr "PL/Python函数不能返回类型%s" +msgstr "PL/Python 函数不能返回类型 %s" -#: plpy_procedure.c:307 +#: plpy_procedure.c:308 #, c-format msgid "PL/Python functions cannot accept type %s" -msgstr "PL/Python函数不能接受类型%s" +msgstr "PL/Python 函数不能接受类型 %s" -#: plpy_procedure.c:397 +#: plpy_procedure.c:396 #, c-format msgid "could not compile PL/Python function \"%s\"" -msgstr "无法编译PL/Python函数\"%s\"" +msgstr "无法编译 PL/Python 函数 \"%s\"" -#: plpy_procedure.c:400 +#: plpy_procedure.c:399 #, c-format msgid "could not compile anonymous PL/Python code block" -msgstr "无法编译PL/Python中的匿名代码块" +msgstr "无法编译 PL/Python 中的匿名代码块" #: plpy_resultobject.c:117 plpy_resultobject.c:143 plpy_resultobject.c:169 #, c-format @@ -301,32 +301,32 @@ msgstr "命令没有产生结果集" #: plpy_spi.c:56 #, c-format msgid "second argument of plpy.prepare must be a sequence" -msgstr "plpy.prepare的第二个参数必须是一个序列" +msgstr "plpy.prepare 的第二个参数必须是一个序列" -#: plpy_spi.c:100 +#: plpy_spi.c:98 #, c-format msgid "plpy.prepare: type name at ordinal position %d is not a string" -msgstr "plpy.prepare: 在顺序位置%d的类型名称不是string" +msgstr "plpy.prepare: 在顺序位置 %d 的类型名称不是一个字符串" -#: plpy_spi.c:172 +#: plpy_spi.c:170 #, c-format msgid "plpy.execute expected a query or a plan" -msgstr "plpy.execute期望一个查询或一个计划" +msgstr "plpy.execute 期望一个查询或一个计划" -#: plpy_spi.c:191 +#: plpy_spi.c:189 #, c-format msgid "plpy.execute takes a sequence as its second argument" -msgstr "plpy.execute将一个序列作为它的第二个参数" +msgstr "plpy.execute 将一个序列作为它的第二个参数" -#: plpy_spi.c:299 +#: plpy_spi.c:297 #, c-format msgid "SPI_execute_plan failed: %s" -msgstr "执行SPI_execute_plan失败: %s" +msgstr "SPI_execute_plan 执行失败: %s" -#: plpy_spi.c:341 +#: plpy_spi.c:339 #, c-format msgid "SPI_execute failed: %s" -msgstr "SPI_execute执行失败: %s" +msgstr "SPI_execute 执行失败: %s" #: plpy_subxactobject.c:92 #, c-format @@ -348,112 +348,114 @@ msgstr "该子事务仍没有进入" msgid "there is no subtransaction to exit from" msgstr "没有子事务可以退出" -#: plpy_typeio.c:587 +#: plpy_typeio.c:588 #, c-format msgid "could not import a module for Decimal constructor" msgstr "无法为十进制构造函数导入模块" -#: plpy_typeio.c:591 +#: plpy_typeio.c:592 #, c-format msgid "no Decimal attribute in module" msgstr "模块中没有小数位属性" -#: plpy_typeio.c:597 +#: plpy_typeio.c:598 #, c-format msgid "conversion from numeric to Decimal failed" -msgstr "由numeric数值到Decimal小数转换失败" +msgstr "由 numeric 数值到 Decimal 小数转换失败" -#: plpy_typeio.c:911 +#: plpy_typeio.c:912 #, c-format msgid "could not create bytes representation of Python object" -msgstr "无法创建Python对象的字节表达式" +msgstr "无法创建 Python 对象的字节表达式" -#: plpy_typeio.c:1056 +#: plpy_typeio.c:1049 #, c-format msgid "could not create string representation of Python object" -msgstr "无法创建Python对象的字符串表达式" +msgstr "无法创建 Python 对象的字符串表达式" -#: plpy_typeio.c:1067 +#: plpy_typeio.c:1060 #, c-format msgid "could not convert Python object into cstring: Python string representation appears to contain null bytes" -msgstr "无法将Python对象转换为cstring: Python字符串表达式可能包含空字节" +msgstr "无法将 Python 对象转换为 cstring: Python 字符串表达式可能包含空字节" -#: plpy_typeio.c:1178 +#: plpy_typeio.c:1157 #, c-format -msgid "number of array dimensions exceeds the maximum allowed (%d)" -msgstr "数组的维数超过最大允许值(%d)" +msgid "return value of function with array return type is not a Python sequence" +msgstr "带有数组返回类型的函数返回值不是一个 Python 序列" -#: plpy_typeio.c:1183 +#: plpy_typeio.c:1202 #, c-format msgid "could not determine sequence length for function return value" msgstr "无法确定函数返回值的序列长度" -#: plpy_typeio.c:1188 plpy_typeio.c:1194 +#: plpy_typeio.c:1222 plpy_typeio.c:1237 plpy_typeio.c:1253 #, c-format -msgid "array size exceeds the maximum allowed" -msgstr "数组的大小超过了最大允许值" +msgid "multidimensional arrays must have array expressions with matching dimensions" +msgstr "多维数组必须有符合维度的数组表达式" -#: plpy_typeio.c:1222 +#: plpy_typeio.c:1227 #, c-format -msgid "return value of function with array return type is not a Python sequence" -msgstr "带有数组返回类型的函数返回值不是一个Python序列" - -#: plpy_typeio.c:1269 -#, c-format -msgid "wrong length of inner sequence: has length %d, but %d was expected" -msgstr "内部序列的长度错误:长度为%d,但应为%d" - -#: plpy_typeio.c:1271 -#, c-format -msgid "To construct a multidimensional array, the inner sequences must all have the same length." -msgstr "要构造多维数组,内部序列的长度必须相同." +msgid "number of array dimensions exceeds the maximum allowed (%d)" +msgstr "数组的维数超过最大允许值 (%d)" -#: plpy_typeio.c:1350 +#: plpy_typeio.c:1329 #, c-format msgid "malformed record literal: \"%s\"" msgstr "有缺陷的记录常量: \"%s\"" -#: plpy_typeio.c:1351 +#: plpy_typeio.c:1330 #, c-format msgid "Missing left parenthesis." -msgstr "缺少一个左括弧" +msgstr "缺少一个左括弧." -#: plpy_typeio.c:1352 plpy_typeio.c:1553 +#: plpy_typeio.c:1331 plpy_typeio.c:1532 #, c-format msgid "To return a composite type in an array, return the composite type as a Python tuple, e.g., \"[('foo',)]\"." -msgstr "要返回数组中的复合类型,请将复合类型作为Python元组返回,例如 \"[('foo',)]\"." +msgstr "要返回数组中的复合类型,请将复合类型作为 Python 元组返回,例如 \"[('foo',)]\"." -#: plpy_typeio.c:1399 +#: plpy_typeio.c:1378 #, c-format msgid "key \"%s\" not found in mapping" -msgstr "在映射中没有找到键\"%s\"" +msgstr "在映射中没有找到键 \"%s\"" -#: plpy_typeio.c:1400 +#: plpy_typeio.c:1379 #, c-format msgid "To return null in a column, add the value None to the mapping with the key named after the column." -msgstr "为了在一列中返回空值, 需要在列的后面对带有已命名键的映射添加值None" +msgstr "为了在一列中返回空值, 需要在列的后面对带有已命名键的映射添加值 None." -#: plpy_typeio.c:1453 +#: plpy_typeio.c:1432 #, c-format msgid "length of returned sequence did not match number of columns in row" msgstr "所返回序列的长度与在记录中列的数量不匹配" -#: plpy_typeio.c:1551 +#: plpy_typeio.c:1530 #, c-format msgid "attribute \"%s\" does not exist in Python object" -msgstr "在Python对象中不存在属性\"%s\"" +msgstr "在 Python 对象中不存在属性 \"%s\"" -#: plpy_typeio.c:1554 +#: plpy_typeio.c:1533 #, c-format msgid "To return null in a column, let the returned object have an attribute named after column with value None." -msgstr "为了在一列中返回空值, 需要让返回的对象在带有值None的列后面的带有已命名属性" +msgstr "为了在一列中返回空值, 需要让返回的对象在带有值 None 的列后面的带有已命名属性." #: plpy_util.c:31 #, c-format msgid "could not convert Python Unicode object to bytes" -msgstr "无法将Python中以Unicode编码的对象转换为PostgreSQL服务器字节码" +msgstr "无法将 Python 中的 Unicode 编码对象转换为 PostgreSQL 服务器字节码" #: plpy_util.c:37 #, c-format msgid "could not extract bytes from encoded string" -msgstr "无法从已编码字符串里提取相应字节码值" +msgstr "无法从已编码字符串里提取相应字节" + +#, c-format +#~ msgid "To construct a multidimensional array, the inner sequences must all have the same length." +#~ msgstr "要构造多维数组,内部序列的长度必须相同." + +#, c-format +#~ msgid "array size exceeds the maximum allowed" +#~ msgstr "数组的大小超过了最大允许值" + +#, c-format +#~ msgid "wrong length of inner sequence: has length %d, but %d was expected" +#~ msgstr "内部序列的长度错误:长度为%d,但应为%d" diff --git a/src/pl/tcl/po/es.po b/src/pl/tcl/po/es.po index ff271b40461..8ddd2a6b651 100644 --- a/src/pl/tcl/po/es.po +++ b/src/pl/tcl/po/es.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: pltcl (PostgreSQL) 16\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-05-22 07:08+0000\n" -"PO-Revision-Date: 2023-05-22 12:06+0200\n" +"POT-Creation-Date: 2024-08-01 11:08+0000\n" +"PO-Revision-Date: 2024-08-02 16:56-0400\n" "Last-Translator: Carlos Chapi \n" "Language-Team: PgSQL-es-Ayuda \n" "Language: es\n" @@ -59,17 +59,22 @@ msgstr "se requiere un nodo «materialize», pero no está permitido en este con 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" -#: pltcl.c:1295 +#: pltcl.c:1031 #, c-format -msgid "could not split return value from trigger: %s" -msgstr "no se pudo separar el valor de retorno del disparador: %s" +msgid "could not parse function return value: %s" +msgstr "no se pudo interpretar el valor de retorno de la función: %s" -#: pltcl.c:1376 pltcl.c:1803 +#: pltcl.c:1298 +#, c-format +msgid "could not parse trigger return value: %s" +msgstr "no se pudo interpretar el valor de retorno del trigger: «%s»" + +#: pltcl.c:1383 pltcl.c:1810 #, c-format msgid "%s" msgstr "%s" -#: pltcl.c:1377 +#: pltcl.c:1384 #, c-format msgid "" "%s\n" @@ -78,42 +83,42 @@ msgstr "" "%s\n" "en función PL/Tcl \"%s\"" -#: pltcl.c:1540 +#: pltcl.c:1547 #, c-format msgid "trigger functions can only be called as triggers" msgstr "las funciones disparadoras sólo pueden ser invocadas como disparadores" -#: pltcl.c:1544 +#: pltcl.c:1551 #, c-format msgid "PL/Tcl functions cannot return type %s" msgstr "las funciones PL/Tcl no pueden retornar tipo %s" -#: pltcl.c:1583 +#: pltcl.c:1590 #, c-format msgid "PL/Tcl functions cannot accept type %s" msgstr "las funciones PL/Tcl no pueden aceptar el tipog%s" -#: pltcl.c:1695 +#: pltcl.c:1702 #, c-format msgid "could not create internal procedure \"%s\": %s" msgstr "no se pudo crear procedimiento interno «%s»: %s" -#: pltcl.c:3199 +#: pltcl.c:3207 #, c-format msgid "column name/value list must have even number of elements" msgstr "la lista de nombres de columnas y valores debe tener un número par de elementos" -#: pltcl.c:3217 +#: pltcl.c:3225 #, c-format msgid "column name/value list contains nonexistent column name \"%s\"" msgstr "la lista de nombres de columnas y valores contiene el nombre de columna no existente «%s»" -#: pltcl.c:3224 +#: pltcl.c:3232 #, c-format msgid "cannot set system attribute \"%s\"" msgstr "no se puede definir el atributo de sistema «%s»" -#: pltcl.c:3230 +#: pltcl.c:3238 #, c-format msgid "cannot set generated column \"%s\"" msgstr "no se puede definir el atributo generado «%s»" diff --git a/src/pl/tcl/po/fr.po b/src/pl/tcl/po/fr.po index 2af48d874a9..e7ab5bc05e7 100644 --- a/src/pl/tcl/po/fr.po +++ b/src/pl/tcl/po/fr.po @@ -8,10 +8,10 @@ # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 15\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-04-12 05:16+0000\n" -"PO-Revision-Date: 2022-04-12 17:29+0200\n" +"POT-Creation-Date: 2024-08-23 14:08+0000\n" +"PO-Revision-Date: 2024-09-16 16:28+0200\n" "Last-Translator: Guillaume Lelarge \n" "Language-Team: French \n" "Language: fr\n" @@ -19,60 +19,65 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.0.1\n" +"X-Generator: Poedit 3.5\n" -#: pltcl.c:463 +#: pltcl.c:462 msgid "PL/Tcl function to call once when pltcl is first used." msgstr "Fonction PL/Tcl à appeler une fois quand pltcl est utilisé pour la première fois." -#: pltcl.c:470 +#: pltcl.c:469 msgid "PL/TclU function to call once when pltclu is first used." msgstr "Fonction PL/TclU à appeler une fois quand pltcl est utilisé pour la première fois." -#: pltcl.c:637 +#: pltcl.c:636 #, c-format msgid "function \"%s\" is in the wrong language" msgstr "la fonction « %s » est dans le mauvais langage" -#: pltcl.c:648 +#: pltcl.c:647 #, c-format msgid "function \"%s\" must not be SECURITY DEFINER" msgstr "la fonction « %s » doit être définie en SECURITY DEFINER" #. translator: %s is "pltcl.start_proc" or "pltclu.start_proc" -#: pltcl.c:682 +#: pltcl.c:681 #, c-format msgid "processing %s parameter" msgstr "traitement du paramètre %s" -#: pltcl.c:835 +#: pltcl.c:834 #, c-format msgid "set-valued function called in context that cannot accept a set" msgstr "la fonction renvoyant un ensemble a été appelée dans un contexte qui n'accepte pas un ensemble" -#: pltcl.c:840 +#: pltcl.c:839 #, c-format msgid "materialize mode required, but it is not allowed in this context" msgstr "mode matérialisé requis mais interdit dans ce contexte" -#: pltcl.c:1013 +#: pltcl.c:1012 #, c-format msgid "function returning record called in context that cannot accept type record" msgstr "" "fonction renvoyant le type record appelée dans un contexte qui ne peut pas\n" "accepter le type record" -#: pltcl.c:1297 +#: pltcl.c:1031 #, c-format -msgid "could not split return value from trigger: %s" -msgstr "n'a pas pu séparer la valeur de retour du trigger : %s" +msgid "could not parse function return value: %s" +msgstr "n'a pas pu analyser la valeur de retour de la fonction : %s" -#: pltcl.c:1378 pltcl.c:1808 +#: pltcl.c:1298 +#, c-format +msgid "could not parse trigger return value: %s" +msgstr "n'a pas pu analyser la valeur de retour du trigger : %s" + +#: pltcl.c:1383 pltcl.c:1810 #, c-format msgid "%s" msgstr "%s" -#: pltcl.c:1379 +#: pltcl.c:1384 #, c-format msgid "" "%s\n" @@ -81,60 +86,42 @@ msgstr "" "%s\n" "dans la fonction PL/Tcl « %s »" -#: pltcl.c:1543 +#: pltcl.c:1547 #, c-format msgid "trigger functions can only be called as triggers" msgstr "les fonctions trigger peuvent seulement être appelées par des triggers" -#: pltcl.c:1547 +#: pltcl.c:1551 #, c-format msgid "PL/Tcl functions cannot return type %s" msgstr "les fonctions PL/Tcl ne peuvent pas renvoyer le type %s" -#: pltcl.c:1586 +#: pltcl.c:1590 #, c-format msgid "PL/Tcl functions cannot accept type %s" msgstr "les fonctions PL/Tcl ne peuvent pas accepter le type %s" -#: pltcl.c:1700 +#: pltcl.c:1702 #, c-format msgid "could not create internal procedure \"%s\": %s" msgstr "n'a pas pu créer la procédure interne « %s » : %s" -#: pltcl.c:3202 +#: pltcl.c:3207 #, c-format msgid "column name/value list must have even number of elements" msgstr "la liste de nom de colonne/valeur doit avoir un nombre pair d'éléments" -#: pltcl.c:3220 +#: pltcl.c:3225 #, c-format msgid "column name/value list contains nonexistent column name \"%s\"" msgstr "la liste de nom de colonne/valeur contient des noms de colonne inexistantes (« %s »)" -#: pltcl.c:3227 +#: pltcl.c:3232 #, c-format msgid "cannot set system attribute \"%s\"" msgstr "ne peut pas initialiser l'attribut système « %s »" -#: pltcl.c:3233 +#: pltcl.c:3238 #, c-format msgid "cannot set generated column \"%s\"" msgstr "ne peut pas initialiser la colonne générée « %s »" - -#~ msgid "PL/Tcl functions cannot return composite types" -#~ msgstr "les fonctions PL/Tcl ne peuvent pas renvoyer des types composites" - -#~ msgid "could not load module \"unknown\": %s" -#~ msgstr "n'a pas pu charger le module « unknown » : %s" - -#~ msgid "module \"unknown\" not found in pltcl_modules" -#~ msgstr "module « unkown » introuvable dans pltcl_modules" - -#~ msgid "out of memory" -#~ msgstr "mémoire épuisée" - -#~ msgid "trigger's return list must have even number of elements" -#~ msgstr "la liste de retour du trigger doit avoir un nombre pair d'éléments" - -#~ msgid "unrecognized attribute \"%s\"" -#~ msgstr "attribut « %s » non reconnu" diff --git a/src/pl/tcl/po/ja.po b/src/pl/tcl/po/ja.po index 997c675ad76..b29b1b35eba 100644 --- a/src/pl/tcl/po/ja.po +++ b/src/pl/tcl/po/ja.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: pltcl (PostgreSQL 17)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-06-06 10:49+0900\n" -"PO-Revision-Date: 2024-06-06 16:12+0900\n" +"POT-Creation-Date: 2024-07-08 10:16+0900\n" +"PO-Revision-Date: 2024-07-08 10:28+0900\n" "Last-Translator: Kyotaro Horiguchi \n" "Language-Team: Japan PostgreSQL Users Group \n" "Language: ja\n" @@ -18,108 +18,105 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Poedit 1.8.13\n" -#: pltcl.c:462 +#: pltcl.c:464 msgid "PL/Tcl function to call once when pltcl is first used." msgstr "pltcl が最初に使用される際に一度だけ呼び出される PL/Tcl 関数。" -#: pltcl.c:469 +#: pltcl.c:471 msgid "PL/TclU function to call once when pltclu is first used." msgstr "pltclu が最初に使用される際に一度だけ呼び出される PL/TclU 関数。" -#: pltcl.c:636 +#: pltcl.c:638 #, c-format msgid "function \"%s\" is in the wrong language" msgstr "関数\"%s\"は言語が異なります" -#: pltcl.c:647 +#: pltcl.c:649 #, c-format msgid "function \"%s\" must not be SECURITY DEFINER" msgstr "関数\"%s\"はSECURITY DEFINERであってはなりません" #. translator: %s is "pltcl.start_proc" or "pltclu.start_proc" -#: pltcl.c:681 +#: pltcl.c:683 #, c-format msgid "processing %s parameter" msgstr "%sパラメーターを処理しています" -#: pltcl.c:834 +#: pltcl.c:836 #, c-format msgid "set-valued function called in context that cannot accept a set" msgstr "このコンテキストでは、集合値の関数は集合を受け付けられません" -#: pltcl.c:839 +#: pltcl.c:841 #, c-format msgid "materialize mode required, but it is not allowed in this context" msgstr "マテリアライズモードが必要ですが、現在のコンテクストで禁止されています" -#: pltcl.c:1012 +#: pltcl.c:1014 #, c-format msgid "function returning record called in context that cannot accept type record" msgstr "レコード型を受け付けられないコンテキストでレコードを返す関数が呼び出されました" -#: pltcl.c:1031 +#: pltcl.c:1033 #, c-format msgid "could not parse function return value: %s" msgstr "関数の戻り値をパースできませんでした: %s" -#: pltcl.c:1298 +#: pltcl.c:1300 #, c-format msgid "could not parse trigger return value: %s" msgstr "トリガの戻り値をパースできませんでした: %s" -#: pltcl.c:1383 pltcl.c:1810 +#: pltcl.c:1401 pltcl.c:1895 #, c-format msgid "%s" msgstr "%s" -#: pltcl.c:1384 +#: pltcl.c:1402 #, c-format msgid "" "%s\n" -"in PL/Tcl function \"%s\"" +"in PL/Tcl function %s" msgstr "" "%s\n" -"PL/Tcl 関数 \"%s\"" +"PL/Tcl 関数 %s 内" -#: pltcl.c:1547 +#: pltcl.c:1630 #, c-format msgid "trigger functions can only be called as triggers" msgstr "トリガー関数はトリガーとしてのみコールできます" -#: pltcl.c:1551 +#: pltcl.c:1634 #, c-format msgid "PL/Tcl functions cannot return type %s" msgstr "PL/Tcl 関数は%s型の戻り値を返せません" -#: pltcl.c:1590 +#: pltcl.c:1673 #, c-format msgid "PL/Tcl functions cannot accept type %s" msgstr "PL/Tcl 関数は%s型を受け付けません" -#: pltcl.c:1702 +#: pltcl.c:1785 #, c-format msgid "could not create internal procedure \"%s\": %s" msgstr "内部プロシージャ\"%s\"を作成できませんでした: %s" -#: pltcl.c:3207 +#: pltcl.c:3292 #, c-format msgid "column name/value list must have even number of elements" msgstr "列名/値のリストの要素は偶数個でなければなりません" -#: pltcl.c:3225 +#: pltcl.c:3310 #, c-format msgid "column name/value list contains nonexistent column name \"%s\"" msgstr "列名/値のリストの中に、存在しない列名\"%s\"が含まれています" -#: pltcl.c:3232 +#: pltcl.c:3317 #, c-format msgid "cannot set system attribute \"%s\"" msgstr "システム属性\"%s\"は設定できません" -#: pltcl.c:3238 +#: pltcl.c:3323 #, c-format msgid "cannot set generated column \"%s\"" msgstr "生成列\"%s\"を変更できません" - -#~ msgid "could not split return value from trigger: %s" -#~ msgstr "トリガーからの戻り値を分割できませんでした: %s" diff --git a/src/pl/tcl/po/ru.po b/src/pl/tcl/po/ru.po index 8d136272242..6df9a5897c0 100644 --- a/src/pl/tcl/po/ru.po +++ b/src/pl/tcl/po/ru.po @@ -1,13 +1,13 @@ # Russian message translation file for pltcl # Copyright (C) 2012-2016 PostgreSQL Global Development Group # This file is distributed under the same license as the PostgreSQL package. -# Alexander Lakhin , 2012-2017, 2019, 2022. +# Alexander Lakhin , 2012-2017, 2019, 2022, 2024. msgid "" msgstr "" "Project-Id-Version: pltcl (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-08-28 07:59+0300\n" -"PO-Revision-Date: 2022-09-05 13:38+0300\n" +"POT-Creation-Date: 2024-09-02 09:29+0300\n" +"PO-Revision-Date: 2024-08-01 13:03+0300\n" "Last-Translator: Alexander Lakhin \n" "Language-Team: Russian \n" "Language: ru\n" @@ -59,17 +59,22 @@ msgid "" msgstr "" "функция, возвращающая запись, вызвана в контексте, не допускающем этот тип" -#: pltcl.c:1295 +#: pltcl.c:1031 #, c-format -msgid "could not split return value from trigger: %s" -msgstr "разложить возвращаемое из триггера значение не удалось: %s" +msgid "could not parse function return value: %s" +msgstr "разобрать возвращаемое функцией значение не удалось: %s" -#: pltcl.c:1376 pltcl.c:1803 +#: pltcl.c:1298 +#, c-format +msgid "could not parse trigger return value: %s" +msgstr "разобрать возвращаемое триггером значение не удалось: %s" + +#: pltcl.c:1383 pltcl.c:1810 #, c-format msgid "%s" msgstr "%s" -#: pltcl.c:1377 +#: pltcl.c:1384 #, c-format msgid "" "%s\n" @@ -78,43 +83,43 @@ msgstr "" "%s\n" "в функции PL/Tcl \"%s\"" -#: pltcl.c:1540 +#: pltcl.c:1547 #, c-format msgid "trigger functions can only be called as triggers" msgstr "триггерные функции могут вызываться только в триггерах" -#: pltcl.c:1544 +#: pltcl.c:1551 #, c-format msgid "PL/Tcl functions cannot return type %s" msgstr "функции PL/Tcl не могут возвращать тип %s" -#: pltcl.c:1583 +#: pltcl.c:1590 #, c-format msgid "PL/Tcl functions cannot accept type %s" msgstr "функции PL/Tcl не могут принимать тип %s" -#: pltcl.c:1695 +#: pltcl.c:1702 #, c-format msgid "could not create internal procedure \"%s\": %s" msgstr "не удалось создать внутреннюю процедуру \"%s\": %s" -#: pltcl.c:3199 +#: pltcl.c:3207 #, c-format msgid "column name/value list must have even number of elements" msgstr "в списке имён/значений столбцов должно быть чётное число элементов" -#: pltcl.c:3217 +#: pltcl.c:3225 #, c-format msgid "column name/value list contains nonexistent column name \"%s\"" msgstr "" "список имён/значений столбцов содержит имя несуществующего столбца \"%s\"" -#: pltcl.c:3224 +#: pltcl.c:3232 #, c-format msgid "cannot set system attribute \"%s\"" msgstr "присвоить значение системному атрибуту \"%s\" нельзя" -#: pltcl.c:3230 +#: pltcl.c:3238 #, c-format msgid "cannot set generated column \"%s\"" msgstr "присвоить значение генерируемому столбцу \"%s\" нельзя" diff --git a/src/pl/tcl/po/sv.po b/src/pl/tcl/po/sv.po index 5d140445206..d6fce1b82cb 100644 --- a/src/pl/tcl/po/sv.po +++ b/src/pl/tcl/po/sv.po @@ -1,14 +1,14 @@ # Swedish message translation file for pltcl # 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. +# Dennis Björklund , 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024. # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 15\n" +"Project-Id-Version: PostgreSQL 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-04-11 13:38+0000\n" -"PO-Revision-Date: 2023-03-09 22:42+0100\n" +"POT-Creation-Date: 2024-07-12 17:38+0000\n" +"PO-Revision-Date: 2024-07-12 22:05+0200\n" "Last-Translator: Dennis Björklund \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -17,56 +17,61 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -#: pltcl.c:463 +#: pltcl.c:462 msgid "PL/Tcl function to call once when pltcl is first used." msgstr "PL/Tcl-funktion att anropa en gång när pltcl först används." -#: pltcl.c:470 +#: pltcl.c:469 msgid "PL/TclU function to call once when pltclu is first used." msgstr "PL/TclU-funktion att anrop en gång när pltclu först används." -#: pltcl.c:637 +#: pltcl.c:636 #, c-format msgid "function \"%s\" is in the wrong language" msgstr "funktionen \"%s\" är skriven i fel språk" -#: pltcl.c:648 +#: pltcl.c:647 #, c-format msgid "function \"%s\" must not be SECURITY DEFINER" msgstr "funktionen \"%s\" får ej vara SECURITY DEFINER" #. translator: %s is "pltcl.start_proc" or "pltclu.start_proc" -#: pltcl.c:682 +#: pltcl.c:681 #, c-format msgid "processing %s parameter" msgstr "processar parameter %s" -#: pltcl.c:835 +#: pltcl.c:834 #, c-format msgid "set-valued function called in context that cannot accept a set" msgstr "en funktion som returnerar en mängd anropades i kontext som inte godtar en mängd" -#: pltcl.c:840 +#: pltcl.c:839 #, c-format msgid "materialize mode required, but it is not allowed in this context" msgstr "materialiserat läge krävs, men stöds inte i detta kontext" -#: pltcl.c:1013 +#: pltcl.c:1012 #, c-format 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." -#: pltcl.c:1297 +#: pltcl.c:1031 #, c-format -msgid "could not split return value from trigger: %s" -msgstr "kunde inte dela på returvärde från trigger: %s" +msgid "could not parse function return value: %s" +msgstr "kunde inte parsa funktions returvärde: %s" -#: pltcl.c:1378 pltcl.c:1808 +#: pltcl.c:1298 +#, c-format +msgid "could not parse trigger return value: %s" +msgstr "kunde inte parsa triggers returvärde: %s" + +#: pltcl.c:1383 pltcl.c:1810 #, c-format msgid "%s" msgstr "%s" -#: pltcl.c:1379 +#: pltcl.c:1384 #, c-format msgid "" "%s\n" @@ -75,42 +80,42 @@ msgstr "" "%s\n" "i PL/Tcl-funktion \"%s\"" -#: pltcl.c:1543 +#: pltcl.c:1547 #, c-format msgid "trigger functions can only be called as triggers" msgstr "Triggningsfunktioner kan bara anropas vid triggning." -#: pltcl.c:1547 +#: pltcl.c:1551 #, c-format msgid "PL/Tcl functions cannot return type %s" msgstr "PL/Tcl-funktioner kan inte returnera typ %s" -#: pltcl.c:1586 +#: pltcl.c:1590 #, c-format msgid "PL/Tcl functions cannot accept type %s" msgstr "PL/Tcl-funktioner kan inte ta emot typ %s" -#: pltcl.c:1700 +#: pltcl.c:1702 #, c-format msgid "could not create internal procedure \"%s\": %s" msgstr "kunde inte skapa en intern procedur \"%s\": %s" -#: pltcl.c:3202 +#: pltcl.c:3207 #, c-format msgid "column name/value list must have even number of elements" msgstr "kolumn-namn/-värde måste ha ett jämt antal element" -#: pltcl.c:3220 +#: pltcl.c:3225 #, c-format msgid "column name/value list contains nonexistent column name \"%s\"" msgstr "listan med kolumn-namn/-värde innehåller det icke existerande kolumnnamnet \"%s\"" -#: pltcl.c:3227 +#: pltcl.c:3232 #, c-format msgid "cannot set system attribute \"%s\"" msgstr "kan inte sätta systemattribut \"%s\"" -#: pltcl.c:3233 +#: pltcl.c:3238 #, c-format msgid "cannot set generated column \"%s\"" msgstr "kan inte sätta genererad kolumn \"%s\"" diff --git a/src/pl/tcl/po/uk.po b/src/pl/tcl/po/uk.po index ceb1e782e65..6caba5446ef 100644 --- a/src/pl/tcl/po/uk.po +++ b/src/pl/tcl/po/uk.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: postgresql\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-08-12 10:38+0000\n" -"PO-Revision-Date: 2022-09-13 11:52\n" +"POT-Creation-Date: 2024-08-31 06:08+0000\n" +"PO-Revision-Date: 2024-09-23 19:38\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -14,101 +14,106 @@ msgstr "" "X-Crowdin-Project: postgresql\n" "X-Crowdin-Project-ID: 324573\n" "X-Crowdin-Language: uk\n" -"X-Crowdin-File: /REL_15_STABLE/pltcl.pot\n" -"X-Crowdin-File-ID: 914\n" +"X-Crowdin-File: /REL_17_STABLE/pltcl.pot\n" +"X-Crowdin-File-ID: 1016\n" -#: pltcl.c:463 +#: pltcl.c:462 msgid "PL/Tcl function to call once when pltcl is first used." msgstr "Функція PL/Tcl використовується для виклику коли pltcl вперше використаний." -#: pltcl.c:470 +#: pltcl.c:469 msgid "PL/TclU function to call once when pltclu is first used." msgstr "Функція PL/TclU використовується для виклику коли pltclu вперше використаний." -#: pltcl.c:637 +#: pltcl.c:636 #, c-format msgid "function \"%s\" is in the wrong language" msgstr "функція «%s» написана неправильною мовою" -#: pltcl.c:648 +#: pltcl.c:647 #, c-format msgid "function \"%s\" must not be SECURITY DEFINER" msgstr "функція \"%s\" не має бути SECURITY DEFINER" #. translator: %s is "pltcl.start_proc" or "pltclu.start_proc" -#: pltcl.c:682 +#: pltcl.c:681 #, c-format msgid "processing %s parameter" msgstr "обробляється параметр %s" -#: pltcl.c:835 +#: pltcl.c:834 #, c-format msgid "set-valued function called in context that cannot accept a set" msgstr "функція \"set-valued\" викликана в контексті, де йому немає місця" -#: pltcl.c:840 +#: pltcl.c:839 #, c-format msgid "materialize mode required, but it is not allowed in this context" msgstr "необхідний режим матеріалізації (materialize mode), але він неприпустимий у цьому контексті" -#: pltcl.c:1013 +#: pltcl.c:1012 #, c-format msgid "function returning record called in context that cannot accept type record" msgstr "функція, що повертає набір, викликана у контексті, що не приймає тип запис" -#: pltcl.c:1296 +#: pltcl.c:1031 #, c-format -msgid "could not split return value from trigger: %s" -msgstr "не вдалося розділити повернене значення з тригера: %s" +msgid "could not parse function return value: %s" +msgstr "не вдалося проаналізувати значення функції: %s" -#: pltcl.c:1377 pltcl.c:1807 +#: pltcl.c:1298 +#, c-format +msgid "could not parse trigger return value: %s" +msgstr "не вдалося проаналізувати значення тригера: %s" + +#: pltcl.c:1383 pltcl.c:1810 #, c-format msgid "%s" msgstr "%s" -#: pltcl.c:1378 +#: pltcl.c:1384 #, c-format msgid "%s\n" "in PL/Tcl function \"%s\"" msgstr "%s\n" "у функції PL/Tcl \"%s\"" -#: pltcl.c:1542 +#: pltcl.c:1547 #, c-format msgid "trigger functions can only be called as triggers" msgstr "тригер-функція може викликатися лише як тригер" -#: pltcl.c:1546 +#: pltcl.c:1551 #, c-format msgid "PL/Tcl functions cannot return type %s" msgstr "Функції PL/Tcl не можуть повертати тип %s" -#: pltcl.c:1585 +#: pltcl.c:1590 #, c-format msgid "PL/Tcl functions cannot accept type %s" msgstr "Функції PL/Tcl не можуть приймати тип %s" -#: pltcl.c:1699 +#: pltcl.c:1702 #, c-format msgid "could not create internal procedure \"%s\": %s" msgstr "не вдалося створити внутрішню процедуру \"%s\": %s" -#: pltcl.c:3201 +#: pltcl.c:3207 #, c-format msgid "column name/value list must have even number of elements" msgstr "список імен і значень стовпців повинен мати парну кількість елементів" -#: pltcl.c:3219 +#: pltcl.c:3225 #, c-format msgid "column name/value list contains nonexistent column name \"%s\"" msgstr "список імен і значень стовпців містить неіснуєче ім'я стовпця \"%s\"" -#: pltcl.c:3226 +#: pltcl.c:3232 #, c-format msgid "cannot set system attribute \"%s\"" msgstr "не вдалося встановити системний атрибут \"%s\"" -#: pltcl.c:3232 +#: pltcl.c:3238 #, c-format msgid "cannot set generated column \"%s\"" msgstr "неможливо оновити згенерований стовпець \"%s\"" diff --git a/src/pl/tcl/po/zh_CN.po b/src/pl/tcl/po/zh_CN.po index d9e49a74ce8..d7c8cc5cac8 100644 --- a/src/pl/tcl/po/zh_CN.po +++ b/src/pl/tcl/po/zh_CN.po @@ -1,111 +1,125 @@ # LANGUAGE message translation file for pltcl # Copyright (C) 2019 PostgreSQL Global Development Group # This file is distributed under the same license as the pltcl (PostgreSQL) package. -# FIRST AUTHOR , 2019. +# Dianjin Wang , 2024 # msgid "" msgstr "" -"Project-Id-Version: pltcl (PostgreSQL) 14\n" +"Project-Id-Version: pltcl (PostgreSQL) 17\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2021-08-14 05:38+0000\n" -"PO-Revision-Date: 2021-08-16 18:00+0800\n" -"Last-Translator: Jie Zhang \n" +"POT-Creation-Date: 2024-09-13 22:40+0000\n" +"PO-Revision-Date: 2024-09-14 13:50+0800\n" +"Last-Translator: Dianjin Wang \n" "Language-Team: Chinese (Simplified) \n" "Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.5.7\n" +"X-Generator: Poedit 3.4.4\n" -#: pltcl.c:463 +#: pltcl.c:462 msgid "PL/Tcl function to call once when pltcl is first used." -msgstr "PL/Tcl函数在首次使用pltcl时调用一次." +msgstr "PL/Tcl 函数在首次使用 pltcl 时调用一次." -#: pltcl.c:470 +#: pltcl.c:469 msgid "PL/TclU function to call once when pltclu is first used." -msgstr "PL/TclU函数在首次使用pltcl时调用一次." +msgstr "PL/TclU 函数在首次使用 pltclu 时调用一次." -#: pltcl.c:634 +#: pltcl.c:636 #, c-format msgid "function \"%s\" is in the wrong language" -msgstr "函数\"%s\"的语言错误" +msgstr "函数 \"%s\" 所用语言错误" -#: pltcl.c:645 +#: pltcl.c:647 #, c-format msgid "function \"%s\" must not be SECURITY DEFINER" -msgstr "函数\"%s\"不能是安全定义者" +msgstr "函数 \"%s\" 不能是安全定义者" #. translator: %s is "pltcl.start_proc" or "pltclu.start_proc" -#: pltcl.c:679 +#: pltcl.c:681 #, c-format msgid "processing %s parameter" -msgstr "正在处理%s参数" +msgstr "正在处理 %s 参数" -#: pltcl.c:833 +#: pltcl.c:834 #, c-format msgid "set-valued function called in context that cannot accept a set" -msgstr "在不能接受使用集合的环境中调用set-valued函数" +msgstr "在不能接受使用集合的环境中调用 set-valued 函数" -#: pltcl.c:1006 +#: pltcl.c:839 +#, c-format +msgid "materialize mode required, but it is not allowed in this context" +msgstr "要求物化模式,但是在这种环境下不允许使用" + +#: pltcl.c:1012 #, c-format msgid "function returning record called in context that cannot accept type record" -msgstr "返回值类型是记录的函数在不接受使用记录类型的环境中调用" +msgstr "在不接受记录类型的环境中调用返回记录的函数" + +#: pltcl.c:1031 +#, c-format +msgid "could not parse function return value: %s" +msgstr "无法解析函数返回值: %s" -#: pltcl.c:1290 +#: pltcl.c:1298 #, c-format -msgid "could not split return value from trigger: %s" -msgstr "无法分离来自触发器的返回值:%s" +msgid "could not parse trigger return value: %s" +msgstr "无法解析触发器返回值: %s" -#: pltcl.c:1371 pltcl.c:1801 +#: pltcl.c:1383 pltcl.c:1810 #, c-format msgid "%s" msgstr "%s" -#: pltcl.c:1372 +#: pltcl.c:1384 #, c-format msgid "" "%s\n" "in PL/Tcl function \"%s\"" msgstr "" "%s\n" -"在PL/Tcl函数\"%s\"中" +"在 PL/Tcl 函数 \"%s\" 中" -#: pltcl.c:1536 +#: pltcl.c:1547 #, c-format msgid "trigger functions can only be called as triggers" msgstr "触发器函数只能以触发器的形式调用" -#: pltcl.c:1540 +#: pltcl.c:1551 #, c-format msgid "PL/Tcl functions cannot return type %s" -msgstr "PL/Tcl函数不能返回类型%s" +msgstr "PL/Tcl 函数无法返回类型 %s" -#: pltcl.c:1579 +#: pltcl.c:1590 #, c-format msgid "PL/Tcl functions cannot accept type %s" -msgstr "PL/Tcl函数不能使用类型 %s" +msgstr "PL/Tcl 函数无法接受类型 %s" -#: pltcl.c:1693 +#: pltcl.c:1702 #, c-format msgid "could not create internal procedure \"%s\": %s" -msgstr "无法创建内部过程\"%s\":%s" +msgstr "无法创建内部过程 \"%s\":%s" -#: pltcl.c:3197 +#: pltcl.c:3207 #, c-format msgid "column name/value list must have even number of elements" msgstr "列名/值列表必须具有偶数个元素" -#: pltcl.c:3215 +#: pltcl.c:3225 #, c-format msgid "column name/value list contains nonexistent column name \"%s\"" -msgstr "列名/值列表包含不存在的列名\"%s\"" +msgstr "列名/值列表包含不存在的列名 \"%s\"" -#: pltcl.c:3222 +#: pltcl.c:3232 #, c-format msgid "cannot set system attribute \"%s\"" -msgstr "不能设置系统属性\"%s\"" +msgstr "不能设置系统属性 \"%s\"" -#: pltcl.c:3228 +#: pltcl.c:3238 #, c-format msgid "cannot set generated column \"%s\"" msgstr "无法设置生成的列 \"%s\"" + +#, c-format +#~ msgid "could not split return value from trigger: %s" +#~ msgstr "无法分离来自触发器的返回值:%s" diff --git a/src/port/bsearch_arg.c b/src/port/bsearch_arg.c index f0de467beee..e0446a9f075 100644 --- a/src/port/bsearch_arg.c +++ b/src/port/bsearch_arg.c @@ -58,8 +58,8 @@ bsearch_arg(const void *key, const void *base0, void *arg) { const char *base = (const char *) base0; - int lim, - cmp; + size_t lim; + int cmp; const void *p; for (lim = nmemb; lim != 0; lim >>= 1) diff --git a/src/test/isolation/expected/intra-grant-inplace-db.out b/src/test/isolation/expected/intra-grant-inplace-db.out index 432ece56361..a91402ccb8f 100644 --- a/src/test/isolation/expected/intra-grant-inplace-db.out +++ b/src/test/isolation/expected/intra-grant-inplace-db.out @@ -9,20 +9,20 @@ step b1: BEGIN; step grant1: GRANT TEMP ON DATABASE isolation_regression TO regress_temp_grantee; -step vac2: VACUUM (FREEZE); +step vac2: VACUUM (FREEZE); step snap3: INSERT INTO frozen_witness SELECT datfrozenxid FROM pg_database WHERE datname = current_catalog; step c1: COMMIT; +step vac2: <... completed> step cmp3: SELECT 'datfrozenxid retreated' FROM pg_database WHERE datname = current_catalog AND age(datfrozenxid) > (SELECT min(age(x)) FROM frozen_witness); -?column? ----------------------- -datfrozenxid retreated -(1 row) +?column? +-------- +(0 rows) diff --git a/src/test/isolation/expected/intra-grant-inplace.out b/src/test/isolation/expected/intra-grant-inplace.out index cc1e47a302c..4e9695a0214 100644 --- a/src/test/isolation/expected/intra-grant-inplace.out +++ b/src/test/isolation/expected/intra-grant-inplace.out @@ -14,15 +14,16 @@ relhasindex f (1 row) -step addk2: ALTER TABLE intra_grant_inplace ADD PRIMARY KEY (c); +step addk2: ALTER TABLE intra_grant_inplace ADD PRIMARY KEY (c); step c1: COMMIT; +step addk2: <... completed> step read2: SELECT relhasindex FROM pg_class WHERE oid = 'intra_grant_inplace'::regclass; relhasindex ----------- -f +t (1 row) @@ -58,8 +59,33 @@ relhasindex f (1 row) -step addk2: ALTER TABLE intra_grant_inplace ADD PRIMARY KEY (c); +step addk2: ALTER TABLE intra_grant_inplace ADD PRIMARY KEY (c); step r3: ROLLBACK; +step addk2: <... completed> + +starting permutation: b3 sfnku3 keyshr5 addk2 r3 +step b3: BEGIN ISOLATION LEVEL READ COMMITTED; +step sfnku3: + SELECT relhasindex FROM pg_class + WHERE oid = 'intra_grant_inplace'::regclass FOR NO KEY UPDATE; + +relhasindex +----------- +f +(1 row) + +step keyshr5: + SELECT relhasindex FROM pg_class + WHERE oid = 'intra_grant_inplace'::regclass FOR KEY SHARE; + +relhasindex +----------- +f +(1 row) + +step addk2: ALTER TABLE intra_grant_inplace ADD PRIMARY KEY (c); +step r3: ROLLBACK; +step addk2: <... completed> starting permutation: b2 sfnku2 addk2 c2 step b2: BEGIN; @@ -122,17 +148,18 @@ relhasindex f (1 row) -step addk2: ALTER TABLE intra_grant_inplace ADD PRIMARY KEY (c); +step addk2: ALTER TABLE intra_grant_inplace ADD PRIMARY KEY (c); step r3: ROLLBACK; step grant1: <... completed> step c1: COMMIT; +step addk2: <... completed> step read2: SELECT relhasindex FROM pg_class WHERE oid = 'intra_grant_inplace'::regclass; relhasindex ----------- -f +t (1 row) @@ -151,9 +178,11 @@ step b1: BEGIN; step grant1: GRANT SELECT ON intra_grant_inplace TO PUBLIC; -step addk2: ALTER TABLE intra_grant_inplace ADD PRIMARY KEY (c); -step c2: COMMIT; +step addk2: ALTER TABLE intra_grant_inplace ADD PRIMARY KEY (c); +step addk2: <... completed> +ERROR: deadlock detected step grant1: <... completed> +step c2: COMMIT; step c1: COMMIT; step read2: SELECT relhasindex FROM pg_class @@ -191,9 +220,8 @@ relhasindex f (1 row) -s4: WARNING: got: tuple concurrently updated -step revoke4: <... completed> step r3: ROLLBACK; +step revoke4: <... completed> starting permutation: b1 drop1 b3 sfu3 revoke4 c1 r3 step b1: BEGIN; @@ -220,6 +248,6 @@ relhasindex ----------- (0 rows) -s4: WARNING: got: tuple concurrently deleted +s4: WARNING: got: cache lookup failed for relation REDACTED step revoke4: <... completed> step r3: ROLLBACK; diff --git a/src/test/isolation/expected/partition-merge.out b/src/test/isolation/expected/partition-merge.out deleted file mode 100644 index 98446aaab5a..00000000000 --- a/src/test/isolation/expected/partition-merge.out +++ /dev/null @@ -1,199 +0,0 @@ -Parsed test spec with 2 sessions - -starting permutation: s2b s2i s2c s1b s1merg s2b s2u s1c s2c s2s -step s2b: BEGIN; -step s2i: INSERT INTO tpart VALUES (1, 'text01'); -step s2c: COMMIT; -step s1b: BEGIN; -step s1merg: ALTER TABLE tpart MERGE PARTITIONS (tpart_00_10, tpart_10_20) INTO tpart_00_20; -step s2b: BEGIN; -step s2u: UPDATE tpart SET t = 'text01modif' where i = 1; -step s1c: COMMIT; -step s2u: <... completed> -step s2c: COMMIT; -step s2s: SELECT * FROM tpart; - i|t ---+----------- - 5|text05 -15|text15 - 1|text01modif -25|text25 -35|text35 -(5 rows) - - -starting permutation: s2b s2i s2c s1brr s1merg s2b s2u s1c s2c s2s -step s2b: BEGIN; -step s2i: INSERT INTO tpart VALUES (1, 'text01'); -step s2c: COMMIT; -step s1brr: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s1merg: ALTER TABLE tpart MERGE PARTITIONS (tpart_00_10, tpart_10_20) INTO tpart_00_20; -step s2b: BEGIN; -step s2u: UPDATE tpart SET t = 'text01modif' where i = 1; -step s1c: COMMIT; -step s2u: <... completed> -step s2c: COMMIT; -step s2s: SELECT * FROM tpart; - i|t ---+----------- - 5|text05 -15|text15 - 1|text01modif -25|text25 -35|text35 -(5 rows) - - -starting permutation: s2b s2i s2c s1bs s1merg s2b s2u s1c s2c s2s -step s2b: BEGIN; -step s2i: INSERT INTO tpart VALUES (1, 'text01'); -step s2c: COMMIT; -step s1bs: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s1merg: ALTER TABLE tpart MERGE PARTITIONS (tpart_00_10, tpart_10_20) INTO tpart_00_20; -step s2b: BEGIN; -step s2u: UPDATE tpart SET t = 'text01modif' where i = 1; -step s1c: COMMIT; -step s2u: <... completed> -step s2c: COMMIT; -step s2s: SELECT * FROM tpart; - i|t ---+----------- - 5|text05 -15|text15 - 1|text01modif -25|text25 -35|text35 -(5 rows) - - -starting permutation: s2brr s2i s2c s1b s1merg s2b s2u s1c s2c s2s -step s2brr: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s2i: INSERT INTO tpart VALUES (1, 'text01'); -step s2c: COMMIT; -step s1b: BEGIN; -step s1merg: ALTER TABLE tpart MERGE PARTITIONS (tpart_00_10, tpart_10_20) INTO tpart_00_20; -step s2b: BEGIN; -step s2u: UPDATE tpart SET t = 'text01modif' where i = 1; -step s1c: COMMIT; -step s2u: <... completed> -step s2c: COMMIT; -step s2s: SELECT * FROM tpart; - i|t ---+----------- - 5|text05 -15|text15 - 1|text01modif -25|text25 -35|text35 -(5 rows) - - -starting permutation: s2brr s2i s2c s1brr s1merg s2b s2u s1c s2c s2s -step s2brr: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s2i: INSERT INTO tpart VALUES (1, 'text01'); -step s2c: COMMIT; -step s1brr: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s1merg: ALTER TABLE tpart MERGE PARTITIONS (tpart_00_10, tpart_10_20) INTO tpart_00_20; -step s2b: BEGIN; -step s2u: UPDATE tpart SET t = 'text01modif' where i = 1; -step s1c: COMMIT; -step s2u: <... completed> -step s2c: COMMIT; -step s2s: SELECT * FROM tpart; - i|t ---+----------- - 5|text05 -15|text15 - 1|text01modif -25|text25 -35|text35 -(5 rows) - - -starting permutation: s2brr s2i s2c s1bs s1merg s2b s2u s1c s2c s2s -step s2brr: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s2i: INSERT INTO tpart VALUES (1, 'text01'); -step s2c: COMMIT; -step s1bs: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s1merg: ALTER TABLE tpart MERGE PARTITIONS (tpart_00_10, tpart_10_20) INTO tpart_00_20; -step s2b: BEGIN; -step s2u: UPDATE tpart SET t = 'text01modif' where i = 1; -step s1c: COMMIT; -step s2u: <... completed> -step s2c: COMMIT; -step s2s: SELECT * FROM tpart; - i|t ---+----------- - 5|text05 -15|text15 - 1|text01modif -25|text25 -35|text35 -(5 rows) - - -starting permutation: s2bs s2i s2c s1b s1merg s2b s2u s1c s2c s2s -step s2bs: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s2i: INSERT INTO tpart VALUES (1, 'text01'); -step s2c: COMMIT; -step s1b: BEGIN; -step s1merg: ALTER TABLE tpart MERGE PARTITIONS (tpart_00_10, tpart_10_20) INTO tpart_00_20; -step s2b: BEGIN; -step s2u: UPDATE tpart SET t = 'text01modif' where i = 1; -step s1c: COMMIT; -step s2u: <... completed> -step s2c: COMMIT; -step s2s: SELECT * FROM tpart; - i|t ---+----------- - 5|text05 -15|text15 - 1|text01modif -25|text25 -35|text35 -(5 rows) - - -starting permutation: s2bs s2i s2c s1brr s1merg s2b s2u s1c s2c s2s -step s2bs: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s2i: INSERT INTO tpart VALUES (1, 'text01'); -step s2c: COMMIT; -step s1brr: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s1merg: ALTER TABLE tpart MERGE PARTITIONS (tpart_00_10, tpart_10_20) INTO tpart_00_20; -step s2b: BEGIN; -step s2u: UPDATE tpart SET t = 'text01modif' where i = 1; -step s1c: COMMIT; -step s2u: <... completed> -step s2c: COMMIT; -step s2s: SELECT * FROM tpart; - i|t ---+----------- - 5|text05 -15|text15 - 1|text01modif -25|text25 -35|text35 -(5 rows) - - -starting permutation: s2bs s2i s2c s1bs s1merg s2b s2u s1c s2c s2s -step s2bs: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s2i: INSERT INTO tpart VALUES (1, 'text01'); -step s2c: COMMIT; -step s1bs: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s1merg: ALTER TABLE tpart MERGE PARTITIONS (tpart_00_10, tpart_10_20) INTO tpart_00_20; -step s2b: BEGIN; -step s2u: UPDATE tpart SET t = 'text01modif' where i = 1; -step s1c: COMMIT; -step s2u: <... completed> -step s2c: COMMIT; -step s2s: SELECT * FROM tpart; - i|t ---+----------- - 5|text05 -15|text15 - 1|text01modif -25|text25 -35|text35 -(5 rows) - diff --git a/src/test/isolation/expected/partition-split.out b/src/test/isolation/expected/partition-split.out deleted file mode 100644 index 5d9e8b0925f..00000000000 --- a/src/test/isolation/expected/partition-split.out +++ /dev/null @@ -1,190 +0,0 @@ -Parsed test spec with 2 sessions - -starting permutation: s1b s1splt s2b s2i s1c s2c s2s -step s1b: BEGIN; -step s1splt: ALTER TABLE tpart SPLIT PARTITION tpart_10_20 INTO - (PARTITION tpart_10_15 FOR VALUES FROM (10) TO (15), - PARTITION tpart_15_20 FOR VALUES FROM (15) TO (20)); -step s2b: BEGIN; -step s2i: INSERT INTO tpart VALUES (1, 'text01'); -step s1c: COMMIT; -step s2i: <... completed> -step s2c: COMMIT; -step s2s: SELECT * FROM tpart; - i|t ---+------ - 5|text05 - 1|text01 -15|text15 -25|text25 -35|text35 -(5 rows) - - -starting permutation: s1b s1splt s2brr s2i s1c s2c s2s -step s1b: BEGIN; -step s1splt: ALTER TABLE tpart SPLIT PARTITION tpart_10_20 INTO - (PARTITION tpart_10_15 FOR VALUES FROM (10) TO (15), - PARTITION tpart_15_20 FOR VALUES FROM (15) TO (20)); -step s2brr: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s2i: INSERT INTO tpart VALUES (1, 'text01'); -step s1c: COMMIT; -step s2i: <... completed> -step s2c: COMMIT; -step s2s: SELECT * FROM tpart; - i|t ---+------ - 5|text05 - 1|text01 -15|text15 -25|text25 -35|text35 -(5 rows) - - -starting permutation: s1b s1splt s2bs s2i s1c s2c s2s -step s1b: BEGIN; -step s1splt: ALTER TABLE tpart SPLIT PARTITION tpart_10_20 INTO - (PARTITION tpart_10_15 FOR VALUES FROM (10) TO (15), - PARTITION tpart_15_20 FOR VALUES FROM (15) TO (20)); -step s2bs: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s2i: INSERT INTO tpart VALUES (1, 'text01'); -step s1c: COMMIT; -step s2i: <... completed> -step s2c: COMMIT; -step s2s: SELECT * FROM tpart; - i|t ---+------ - 5|text05 - 1|text01 -15|text15 -25|text25 -35|text35 -(5 rows) - - -starting permutation: s1brr s1splt s2b s2i s1c s2c s2s -step s1brr: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s1splt: ALTER TABLE tpart SPLIT PARTITION tpart_10_20 INTO - (PARTITION tpart_10_15 FOR VALUES FROM (10) TO (15), - PARTITION tpart_15_20 FOR VALUES FROM (15) TO (20)); -step s2b: BEGIN; -step s2i: INSERT INTO tpart VALUES (1, 'text01'); -step s1c: COMMIT; -step s2i: <... completed> -step s2c: COMMIT; -step s2s: SELECT * FROM tpart; - i|t ---+------ - 5|text05 - 1|text01 -15|text15 -25|text25 -35|text35 -(5 rows) - - -starting permutation: s1brr s1splt s2brr s2i s1c s2c s2s -step s1brr: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s1splt: ALTER TABLE tpart SPLIT PARTITION tpart_10_20 INTO - (PARTITION tpart_10_15 FOR VALUES FROM (10) TO (15), - PARTITION tpart_15_20 FOR VALUES FROM (15) TO (20)); -step s2brr: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s2i: INSERT INTO tpart VALUES (1, 'text01'); -step s1c: COMMIT; -step s2i: <... completed> -step s2c: COMMIT; -step s2s: SELECT * FROM tpart; - i|t ---+------ - 5|text05 - 1|text01 -15|text15 -25|text25 -35|text35 -(5 rows) - - -starting permutation: s1brr s1splt s2bs s2i s1c s2c s2s -step s1brr: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s1splt: ALTER TABLE tpart SPLIT PARTITION tpart_10_20 INTO - (PARTITION tpart_10_15 FOR VALUES FROM (10) TO (15), - PARTITION tpart_15_20 FOR VALUES FROM (15) TO (20)); -step s2bs: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s2i: INSERT INTO tpart VALUES (1, 'text01'); -step s1c: COMMIT; -step s2i: <... completed> -step s2c: COMMIT; -step s2s: SELECT * FROM tpart; - i|t ---+------ - 5|text05 - 1|text01 -15|text15 -25|text25 -35|text35 -(5 rows) - - -starting permutation: s1bs s1splt s2b s2i s1c s2c s2s -step s1bs: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s1splt: ALTER TABLE tpart SPLIT PARTITION tpart_10_20 INTO - (PARTITION tpart_10_15 FOR VALUES FROM (10) TO (15), - PARTITION tpart_15_20 FOR VALUES FROM (15) TO (20)); -step s2b: BEGIN; -step s2i: INSERT INTO tpart VALUES (1, 'text01'); -step s1c: COMMIT; -step s2i: <... completed> -step s2c: COMMIT; -step s2s: SELECT * FROM tpart; - i|t ---+------ - 5|text05 - 1|text01 -15|text15 -25|text25 -35|text35 -(5 rows) - - -starting permutation: s1bs s1splt s2brr s2i s1c s2c s2s -step s1bs: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s1splt: ALTER TABLE tpart SPLIT PARTITION tpart_10_20 INTO - (PARTITION tpart_10_15 FOR VALUES FROM (10) TO (15), - PARTITION tpart_15_20 FOR VALUES FROM (15) TO (20)); -step s2brr: BEGIN ISOLATION LEVEL REPEATABLE READ; -step s2i: INSERT INTO tpart VALUES (1, 'text01'); -step s1c: COMMIT; -step s2i: <... completed> -step s2c: COMMIT; -step s2s: SELECT * FROM tpart; - i|t ---+------ - 5|text05 - 1|text01 -15|text15 -25|text25 -35|text35 -(5 rows) - - -starting permutation: s1bs s1splt s2bs s2i s1c s2c s2s -step s1bs: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s1splt: ALTER TABLE tpart SPLIT PARTITION tpart_10_20 INTO - (PARTITION tpart_10_15 FOR VALUES FROM (10) TO (15), - PARTITION tpart_15_20 FOR VALUES FROM (15) TO (20)); -step s2bs: BEGIN ISOLATION LEVEL SERIALIZABLE; -step s2i: INSERT INTO tpart VALUES (1, 'text01'); -step s1c: COMMIT; -step s2i: <... completed> -step s2c: COMMIT; -step s2s: SELECT * FROM tpart; - i|t ---+------ - 5|text05 - 1|text01 -15|text15 -25|text25 -35|text35 -(5 rows) - diff --git a/src/test/isolation/isolation_schedule b/src/test/isolation/isolation_schedule index 6da98cffaca..143109aa4da 100644 --- a/src/test/isolation/isolation_schedule +++ b/src/test/isolation/isolation_schedule @@ -106,8 +106,6 @@ test: partition-key-update-1 test: partition-key-update-2 test: partition-key-update-3 test: partition-key-update-4 -test: partition-merge -test: partition-split test: plpgsql-toast test: cluster-conflict test: cluster-conflict-partition diff --git a/src/test/isolation/specs/eval-plan-qual.spec b/src/test/isolation/specs/eval-plan-qual.spec index 3a74406f4d9..07307e623e4 100644 --- a/src/test/isolation/specs/eval-plan-qual.spec +++ b/src/test/isolation/specs/eval-plan-qual.spec @@ -194,7 +194,7 @@ step simplepartupdate_noroute { update parttbl set b = 2 where c = 1 returning *; } -# test system class updates +# test system class LockTuple() step sys1 { UPDATE pg_class SET reltuples = 123 WHERE oid = 'accounts'::regclass; diff --git a/src/test/isolation/specs/intra-grant-inplace-db.spec b/src/test/isolation/specs/intra-grant-inplace-db.spec index bbecd5ddde5..9de40ec5c94 100644 --- a/src/test/isolation/specs/intra-grant-inplace-db.spec +++ b/src/test/isolation/specs/intra-grant-inplace-db.spec @@ -42,5 +42,4 @@ step cmp3 { } -# XXX extant bug permutation snap3 b1 grant1 vac2(c1) snap3 c1 cmp3 diff --git a/src/test/isolation/specs/intra-grant-inplace.spec b/src/test/isolation/specs/intra-grant-inplace.spec index 3cd696b81f2..9936d389359 100644 --- a/src/test/isolation/specs/intra-grant-inplace.spec +++ b/src/test/isolation/specs/intra-grant-inplace.spec @@ -14,6 +14,7 @@ teardown # heap_update() session s1 +setup { SET deadlock_timeout = '100s'; } step b1 { BEGIN; } step grant1 { GRANT SELECT ON intra_grant_inplace TO PUBLIC; @@ -25,6 +26,7 @@ step c1 { COMMIT; } # inplace update session s2 +setup { SET deadlock_timeout = '10ms'; } step read2 { SELECT relhasindex FROM pg_class WHERE oid = 'intra_grant_inplace'::regclass; @@ -73,8 +75,6 @@ step keyshr5 { teardown { ROLLBACK; } -# XXX extant bugs: permutation comments refer to planned post-bugfix behavior - permutation b1 grant1 @@ -96,6 +96,14 @@ permutation addk2(r3) r3 +# reproduce bug in DoesMultiXactIdConflict() call +permutation + b3 + sfnku3 + keyshr5 + addk2(r3) + r3 + # same-xact rowmark permutation b2 @@ -126,8 +134,8 @@ permutation b2 sfnku2 b1 - grant1(c2) # acquire LockTuple(), await sfnku2 xmax - addk2 # block in LockTuple() behind grant1 = deadlock + grant1(addk2) # acquire LockTuple(), await sfnku2 xmax + addk2(*) # block in LockTuple() behind grant1 = deadlock c2 c1 read2 @@ -138,7 +146,7 @@ permutation grant1 b3 sfu3(c1) # acquire LockTuple(), await grant1 xmax - revoke4(sfu3) # block in LockTuple() behind sfu3 + revoke4(r3) # block in LockTuple() behind sfu3 c1 r3 # revoke4 unlocks old tuple and finds new diff --git a/src/test/isolation/specs/partition-merge.spec b/src/test/isolation/specs/partition-merge.spec deleted file mode 100644 index dc2b9d3445f..00000000000 --- a/src/test/isolation/specs/partition-merge.spec +++ /dev/null @@ -1,54 +0,0 @@ -# Verify that MERGE operation locks DML operations with partitioned table - -setup -{ - DROP TABLE IF EXISTS tpart; - CREATE TABLE tpart(i int, t text) partition by range(i); - CREATE TABLE tpart_00_10 PARTITION OF tpart FOR VALUES FROM (0) TO (10); - CREATE TABLE tpart_10_20 PARTITION OF tpart FOR VALUES FROM (10) TO (20); - CREATE TABLE tpart_20_30 PARTITION OF tpart FOR VALUES FROM (20) TO (30); - CREATE TABLE tpart_default PARTITION OF tpart DEFAULT; - INSERT INTO tpart VALUES (5, 'text05'); - INSERT INTO tpart VALUES (15, 'text15'); - INSERT INTO tpart VALUES (25, 'text25'); - INSERT INTO tpart VALUES (35, 'text35'); -} - -teardown -{ - DROP TABLE tpart; -} - -session s1 -step s1b { BEGIN; } -step s1brr { BEGIN ISOLATION LEVEL REPEATABLE READ; } -step s1bs { BEGIN ISOLATION LEVEL SERIALIZABLE; } -step s1merg { ALTER TABLE tpart MERGE PARTITIONS (tpart_00_10, tpart_10_20) INTO tpart_00_20; } -step s1c { COMMIT; } - - -session s2 -step s2b { BEGIN; } -step s2brr { BEGIN ISOLATION LEVEL REPEATABLE READ; } -step s2bs { BEGIN ISOLATION LEVEL SERIALIZABLE; } -step s2i { INSERT INTO tpart VALUES (1, 'text01'); } -step s2u { UPDATE tpart SET t = 'text01modif' where i = 1; } -step s2c { COMMIT; } -step s2s { SELECT * FROM tpart; } - - -# s2 inserts row into table. s1 starts MERGE PARTITIONS then -# s2 is trying to update inserted row and waits until s1 finishes -# MERGE operation. - -permutation s2b s2i s2c s1b s1merg s2b s2u s1c s2c s2s -permutation s2b s2i s2c s1brr s1merg s2b s2u s1c s2c s2s -permutation s2b s2i s2c s1bs s1merg s2b s2u s1c s2c s2s - -permutation s2brr s2i s2c s1b s1merg s2b s2u s1c s2c s2s -permutation s2brr s2i s2c s1brr s1merg s2b s2u s1c s2c s2s -permutation s2brr s2i s2c s1bs s1merg s2b s2u s1c s2c s2s - -permutation s2bs s2i s2c s1b s1merg s2b s2u s1c s2c s2s -permutation s2bs s2i s2c s1brr s1merg s2b s2u s1c s2c s2s -permutation s2bs s2i s2c s1bs s1merg s2b s2u s1c s2c s2s diff --git a/src/test/isolation/specs/partition-split.spec b/src/test/isolation/specs/partition-split.spec deleted file mode 100644 index 087239a4a19..00000000000 --- a/src/test/isolation/specs/partition-split.spec +++ /dev/null @@ -1,54 +0,0 @@ -# Verify that SPLIT operation locks DML operations with partitioned table - -setup -{ - DROP TABLE IF EXISTS tpart; - CREATE TABLE tpart(i int, t text) partition by range(i); - CREATE TABLE tpart_00_10 PARTITION OF tpart FOR VALUES FROM (0) TO (10); - CREATE TABLE tpart_10_20 PARTITION OF tpart FOR VALUES FROM (10) TO (20); - CREATE TABLE tpart_20_30 PARTITION OF tpart FOR VALUES FROM (20) TO (30); - CREATE TABLE tpart_default PARTITION OF tpart DEFAULT; - INSERT INTO tpart VALUES (5, 'text05'); - INSERT INTO tpart VALUES (15, 'text15'); - INSERT INTO tpart VALUES (25, 'text25'); - INSERT INTO tpart VALUES (35, 'text35'); -} - -teardown -{ - DROP TABLE tpart; -} - -session s1 -step s1b { BEGIN; } -step s1brr { BEGIN ISOLATION LEVEL REPEATABLE READ; } -step s1bs { BEGIN ISOLATION LEVEL SERIALIZABLE; } -step s1splt { ALTER TABLE tpart SPLIT PARTITION tpart_10_20 INTO - (PARTITION tpart_10_15 FOR VALUES FROM (10) TO (15), - PARTITION tpart_15_20 FOR VALUES FROM (15) TO (20)); } -step s1c { COMMIT; } - - -session s2 -step s2b { BEGIN; } -step s2brr { BEGIN ISOLATION LEVEL REPEATABLE READ; } -step s2bs { BEGIN ISOLATION LEVEL SERIALIZABLE; } -step s2i { INSERT INTO tpart VALUES (1, 'text01'); } -step s2c { COMMIT; } -step s2s { SELECT * FROM tpart; } - - -# s1 starts SPLIT PARTITION then s2 trying to insert row and -# waits until s1 finished SPLIT operation. - -permutation s1b s1splt s2b s2i s1c s2c s2s -permutation s1b s1splt s2brr s2i s1c s2c s2s -permutation s1b s1splt s2bs s2i s1c s2c s2s - -permutation s1brr s1splt s2b s2i s1c s2c s2s -permutation s1brr s1splt s2brr s2i s1c s2c s2s -permutation s1brr s1splt s2bs s2i s1c s2c s2s - -permutation s1bs s1splt s2b s2i s1c s2c s2s -permutation s1bs s1splt s2brr s2i s1c s2c s2s -permutation s1bs s1splt s2bs s2i s1c s2c s2s diff --git a/src/test/modules/injection_points/Makefile b/src/test/modules/injection_points/Makefile index 2ffd2f77ed1..d1375f78f7e 100644 --- a/src/test/modules/injection_points/Makefile +++ b/src/test/modules/injection_points/Makefile @@ -6,7 +6,7 @@ EXTENSION = injection_points DATA = injection_points--1.0.sql PGFILEDESC = "injection_points - facility for injection points" -REGRESS = injection_points +REGRESS = injection_points reindex_conc REGRESS_OPTS = --dlpath=$(top_builddir)/src/test/regress ISOLATION = inplace diff --git a/src/test/modules/injection_points/expected/inplace.out b/src/test/modules/injection_points/expected/inplace.out index 123f45a688d..db7dab66c92 100644 --- a/src/test/modules/injection_points/expected/inplace.out +++ b/src/test/modules/injection_points/expected/inplace.out @@ -40,4 +40,301 @@ step read1: SELECT reltuples = -1 AS reltuples_unknown FROM pg_class WHERE oid = 'vactest.orig50'::regclass; -ERROR: could not create unique index "pg_class_oid_index" +reltuples_unknown +----------------- +f +(1 row) + + +starting permutation: begin2 grant2 vac1 c2 vac3 mkrels3 read1 +mkrels +------ + +(1 row) + +injection_points_attach +----------------------- + +(1 row) + +step begin2: BEGIN; +step grant2: GRANT SELECT ON TABLE vactest.orig50 TO PUBLIC; +step vac1: VACUUM vactest.orig50; -- wait during inplace update +step c2: COMMIT; +step vac3: VACUUM pg_class; +step mkrels3: + SELECT vactest.mkrels('intruder', 1, 100); -- repopulate LP_UNUSED + SELECT injection_points_detach('inplace-before-pin'); + SELECT injection_points_wakeup('inplace-before-pin'); + +mkrels +------ + +(1 row) + +injection_points_detach +----------------------- + +(1 row) + +injection_points_wakeup +----------------------- + +(1 row) + +step vac1: <... completed> +step read1: + REINDEX TABLE pg_class; -- look for duplicates + SELECT reltuples = -1 AS reltuples_unknown + FROM pg_class WHERE oid = 'vactest.orig50'::regclass; + +reltuples_unknown +----------------- +f +(1 row) + + +starting permutation: begin2 grant2 vac1 r2 vac3 mkrels3 read1 +mkrels +------ + +(1 row) + +injection_points_attach +----------------------- + +(1 row) + +step begin2: BEGIN; +step grant2: GRANT SELECT ON TABLE vactest.orig50 TO PUBLIC; +step vac1: VACUUM vactest.orig50; -- wait during inplace update +step r2: ROLLBACK; +step vac3: VACUUM pg_class; +step mkrels3: + SELECT vactest.mkrels('intruder', 1, 100); -- repopulate LP_UNUSED + SELECT injection_points_detach('inplace-before-pin'); + SELECT injection_points_wakeup('inplace-before-pin'); + +mkrels +------ + +(1 row) + +injection_points_detach +----------------------- + +(1 row) + +injection_points_wakeup +----------------------- + +(1 row) + +step vac1: <... completed> +step read1: + REINDEX TABLE pg_class; -- look for duplicates + SELECT reltuples = -1 AS reltuples_unknown + FROM pg_class WHERE oid = 'vactest.orig50'::regclass; + +reltuples_unknown +----------------- +f +(1 row) + + +starting permutation: begin2 grant2 vac1 c2 revoke2 grant2 vac3 mkrels3 read1 +mkrels +------ + +(1 row) + +injection_points_attach +----------------------- + +(1 row) + +step begin2: BEGIN; +step grant2: GRANT SELECT ON TABLE vactest.orig50 TO PUBLIC; +step vac1: VACUUM vactest.orig50; -- wait during inplace update +step c2: COMMIT; +step revoke2: REVOKE SELECT ON TABLE vactest.orig50 FROM PUBLIC; +step grant2: GRANT SELECT ON TABLE vactest.orig50 TO PUBLIC; +step vac3: VACUUM pg_class; +step mkrels3: + SELECT vactest.mkrels('intruder', 1, 100); -- repopulate LP_UNUSED + SELECT injection_points_detach('inplace-before-pin'); + SELECT injection_points_wakeup('inplace-before-pin'); + +mkrels +------ + +(1 row) + +injection_points_detach +----------------------- + +(1 row) + +injection_points_wakeup +----------------------- + +(1 row) + +step vac1: <... completed> +step read1: + REINDEX TABLE pg_class; -- look for duplicates + SELECT reltuples = -1 AS reltuples_unknown + FROM pg_class WHERE oid = 'vactest.orig50'::regclass; + +reltuples_unknown +----------------- +f +(1 row) + + +starting permutation: vac1 begin2 grant2 revoke2 mkrels3 c2 read1 +mkrels +------ + +(1 row) + +injection_points_attach +----------------------- + +(1 row) + +step vac1: VACUUM vactest.orig50; -- wait during inplace update +step begin2: BEGIN; +step grant2: GRANT SELECT ON TABLE vactest.orig50 TO PUBLIC; +step revoke2: REVOKE SELECT ON TABLE vactest.orig50 FROM PUBLIC; +step mkrels3: + SELECT vactest.mkrels('intruder', 1, 100); -- repopulate LP_UNUSED + SELECT injection_points_detach('inplace-before-pin'); + SELECT injection_points_wakeup('inplace-before-pin'); + +mkrels +------ + +(1 row) + +injection_points_detach +----------------------- + +(1 row) + +injection_points_wakeup +----------------------- + +(1 row) + +step c2: COMMIT; +step vac1: <... completed> +step read1: + REINDEX TABLE pg_class; -- look for duplicates + SELECT reltuples = -1 AS reltuples_unknown + FROM pg_class WHERE oid = 'vactest.orig50'::regclass; + +reltuples_unknown +----------------- +f +(1 row) + + +starting permutation: begin2 grant2 vac1 r2 grant2 revoke2 vac3 mkrels3 read1 +mkrels +------ + +(1 row) + +injection_points_attach +----------------------- + +(1 row) + +step begin2: BEGIN; +step grant2: GRANT SELECT ON TABLE vactest.orig50 TO PUBLIC; +step vac1: VACUUM vactest.orig50; -- wait during inplace update +step r2: ROLLBACK; +step grant2: GRANT SELECT ON TABLE vactest.orig50 TO PUBLIC; +step revoke2: REVOKE SELECT ON TABLE vactest.orig50 FROM PUBLIC; +step vac3: VACUUM pg_class; +step mkrels3: + SELECT vactest.mkrels('intruder', 1, 100); -- repopulate LP_UNUSED + SELECT injection_points_detach('inplace-before-pin'); + SELECT injection_points_wakeup('inplace-before-pin'); + +mkrels +------ + +(1 row) + +injection_points_detach +----------------------- + +(1 row) + +injection_points_wakeup +----------------------- + +(1 row) + +step vac1: <... completed> +step read1: + REINDEX TABLE pg_class; -- look for duplicates + SELECT reltuples = -1 AS reltuples_unknown + FROM pg_class WHERE oid = 'vactest.orig50'::regclass; + +reltuples_unknown +----------------- +f +(1 row) + + +starting permutation: begin2 grant2 vac1 c2 revoke2 vac3 mkrels3 read1 +mkrels +------ + +(1 row) + +injection_points_attach +----------------------- + +(1 row) + +step begin2: BEGIN; +step grant2: GRANT SELECT ON TABLE vactest.orig50 TO PUBLIC; +step vac1: VACUUM vactest.orig50; -- wait during inplace update +step c2: COMMIT; +step revoke2: REVOKE SELECT ON TABLE vactest.orig50 FROM PUBLIC; +step vac3: VACUUM pg_class; +step mkrels3: + SELECT vactest.mkrels('intruder', 1, 100); -- repopulate LP_UNUSED + SELECT injection_points_detach('inplace-before-pin'); + SELECT injection_points_wakeup('inplace-before-pin'); + +mkrels +------ + +(1 row) + +injection_points_detach +----------------------- + +(1 row) + +injection_points_wakeup +----------------------- + +(1 row) + +step vac1: <... completed> +step read1: + REINDEX TABLE pg_class; -- look for duplicates + SELECT reltuples = -1 AS reltuples_unknown + FROM pg_class WHERE oid = 'vactest.orig50'::regclass; + +reltuples_unknown +----------------- +f +(1 row) + diff --git a/src/test/modules/injection_points/expected/reindex_conc.out b/src/test/modules/injection_points/expected/reindex_conc.out new file mode 100644 index 00000000000..db8de4bbe85 --- /dev/null +++ b/src/test/modules/injection_points/expected/reindex_conc.out @@ -0,0 +1,51 @@ +-- Tests for REINDEX CONCURRENTLY +CREATE EXTENSION injection_points; +-- Check safety of indexes with predicates and expressions. +SELECT injection_points_set_local(); + injection_points_set_local +---------------------------- + +(1 row) + +SELECT injection_points_attach('reindex-conc-index-safe', 'notice'); + injection_points_attach +------------------------- + +(1 row) + +SELECT injection_points_attach('reindex-conc-index-not-safe', 'notice'); + injection_points_attach +------------------------- + +(1 row) + +CREATE SCHEMA reindex_inj; +CREATE TABLE reindex_inj.tbl(i int primary key, updated_at timestamp); +CREATE UNIQUE INDEX ind_simple ON reindex_inj.tbl(i); +CREATE UNIQUE INDEX ind_expr ON reindex_inj.tbl(ABS(i)); +CREATE UNIQUE INDEX ind_pred ON reindex_inj.tbl(i) WHERE mod(i, 2) = 0; +CREATE UNIQUE INDEX ind_expr_pred ON reindex_inj.tbl(abs(i)) WHERE mod(i, 2) = 0; +REINDEX INDEX CONCURRENTLY reindex_inj.ind_simple; +NOTICE: notice triggered for injection point reindex-conc-index-safe +REINDEX INDEX CONCURRENTLY reindex_inj.ind_expr; +NOTICE: notice triggered for injection point reindex-conc-index-not-safe +REINDEX INDEX CONCURRENTLY reindex_inj.ind_pred; +NOTICE: notice triggered for injection point reindex-conc-index-not-safe +REINDEX INDEX CONCURRENTLY reindex_inj.ind_expr_pred; +NOTICE: notice triggered for injection point reindex-conc-index-not-safe +-- Cleanup +SELECT injection_points_detach('reindex-conc-index-safe'); + injection_points_detach +------------------------- + +(1 row) + +SELECT injection_points_detach('reindex-conc-index-not-safe'); + injection_points_detach +------------------------- + +(1 row) + +DROP TABLE reindex_inj.tbl; +DROP SCHEMA reindex_inj; +DROP EXTENSION injection_points; diff --git a/src/test/modules/injection_points/meson.build b/src/test/modules/injection_points/meson.build index 3c23c14d812..103dd1c19ad 100644 --- a/src/test/modules/injection_points/meson.build +++ b/src/test/modules/injection_points/meson.build @@ -32,6 +32,7 @@ tests += { 'regress': { 'sql': [ 'injection_points', + 'reindex_conc', ], 'regress_args': ['--dlpath', meson.build_root() / 'src/test/regress'], # The injection points are cluster-wide, so disable installcheck diff --git a/src/test/modules/injection_points/specs/inplace.spec b/src/test/modules/injection_points/specs/inplace.spec index e9577137512..86539a5bd2f 100644 --- a/src/test/modules/injection_points/specs/inplace.spec +++ b/src/test/modules/injection_points/specs/inplace.spec @@ -32,12 +32,9 @@ setup CREATE TABLE vactest.orig50 (); SELECT vactest.mkrels('orig', 51, 100); } - -# XXX DROP causes an assertion failure; adopt DROP once fixed teardown { - --DROP SCHEMA vactest CASCADE; - DO $$BEGIN EXECUTE 'ALTER SCHEMA vactest RENAME TO schema' || oid FROM pg_namespace where nspname = 'vactest'; END$$; + DROP SCHEMA vactest CASCADE; DROP EXTENSION injection_points; } @@ -56,11 +53,13 @@ step read1 { FROM pg_class WHERE oid = 'vactest.orig50'::regclass; } - # Transactional updates of the tuple vac1 is waiting to inplace-update. session s2 step grant2 { GRANT SELECT ON TABLE vactest.orig50 TO PUBLIC; } - +step revoke2 { REVOKE SELECT ON TABLE vactest.orig50 FROM PUBLIC; } +step begin2 { BEGIN; } +step c2 { COMMIT; } +step r2 { ROLLBACK; } # Non-blocking actions. session s3 @@ -74,10 +73,69 @@ step mkrels3 { } -# XXX extant bug +# target gains a successor at the last moment permutation vac1(mkrels3) # reads pg_class tuple T0 for vactest.orig50, xmax invalid grant2 # T0 becomes eligible for pruning, T1 is successor vac3 # T0 becomes LP_UNUSED - mkrels3 # T0 reused; vac1 wakes and overwrites the reused T0 + mkrels3 # vac1 wakes, scans to T1 + read1 + +# target already has a successor, which commits +permutation + begin2 + grant2 # T0.t_ctid = T1 + vac1(mkrels3) # reads T0 for vactest.orig50 + c2 # T0 becomes eligible for pruning + vac3 # T0 becomes LP_UNUSED + mkrels3 # vac1 wakes, scans to T1 + read1 + +# target already has a successor, which becomes LP_UNUSED at the last moment +permutation + begin2 + grant2 # T0.t_ctid = T1 + vac1(mkrels3) # reads T0 for vactest.orig50 + r2 # T1 becomes eligible for pruning + vac3 # T1 becomes LP_UNUSED + mkrels3 # reuse T1; vac1 scans to T0 read1 + +# target already has a successor, which becomes LP_REDIRECT at the last moment +permutation + begin2 + grant2 # T0.t_ctid = T1, non-HOT due to filled page + vac1(mkrels3) # reads T0 + c2 + revoke2 # HOT update to T2 + grant2 # HOT update to T3 + vac3 # T1 becomes LP_REDIRECT + mkrels3 # reuse T2; vac1 scans to T3 + read1 + +# waiting for updater to end +permutation + vac1(c2) # reads pg_class tuple T0 for vactest.orig50, xmax invalid + begin2 + grant2 # T0.t_ctid = T1, non-HOT due to filled page + revoke2 # HOT update to T2 + mkrels3 # vac1 awakes briefly, then waits for s2 + c2 + read1 + +# Another LP_UNUSED. This time, do change the live tuple. Final live tuple +# body is identical to original, at a different TID. +permutation + begin2 + grant2 # T0.t_ctid = T1, non-HOT due to filled page + vac1(mkrels3) # reads T0 + r2 # T1 becomes eligible for pruning + grant2 # T0.t_ctid = T2; T0 becomes eligible for pruning + revoke2 # T2.t_ctid = T3; T2 becomes eligible for pruning + vac3 # T0, T1 & T2 become LP_UNUSED + mkrels3 # reuse T0, T1 & T2; vac1 scans to T3 + read1 + +# Another LP_REDIRECT. Compared to the earlier test, omit the last grant2. +# Hence, final live tuple body is identical to original, at a different TID. +permutation begin2 grant2 vac1(mkrels3) c2 revoke2 vac3 mkrels3 read1 diff --git a/src/test/modules/injection_points/sql/reindex_conc.sql b/src/test/modules/injection_points/sql/reindex_conc.sql new file mode 100644 index 00000000000..6cf211e6d5d --- /dev/null +++ b/src/test/modules/injection_points/sql/reindex_conc.sql @@ -0,0 +1,28 @@ +-- Tests for REINDEX CONCURRENTLY +CREATE EXTENSION injection_points; + +-- Check safety of indexes with predicates and expressions. +SELECT injection_points_set_local(); +SELECT injection_points_attach('reindex-conc-index-safe', 'notice'); +SELECT injection_points_attach('reindex-conc-index-not-safe', 'notice'); + +CREATE SCHEMA reindex_inj; +CREATE TABLE reindex_inj.tbl(i int primary key, updated_at timestamp); + +CREATE UNIQUE INDEX ind_simple ON reindex_inj.tbl(i); +CREATE UNIQUE INDEX ind_expr ON reindex_inj.tbl(ABS(i)); +CREATE UNIQUE INDEX ind_pred ON reindex_inj.tbl(i) WHERE mod(i, 2) = 0; +CREATE UNIQUE INDEX ind_expr_pred ON reindex_inj.tbl(abs(i)) WHERE mod(i, 2) = 0; + +REINDEX INDEX CONCURRENTLY reindex_inj.ind_simple; +REINDEX INDEX CONCURRENTLY reindex_inj.ind_expr; +REINDEX INDEX CONCURRENTLY reindex_inj.ind_pred; +REINDEX INDEX CONCURRENTLY reindex_inj.ind_expr_pred; + +-- Cleanup +SELECT injection_points_detach('reindex-conc-index-safe'); +SELECT injection_points_detach('reindex-conc-index-not-safe'); +DROP TABLE reindex_inj.tbl; +DROP SCHEMA reindex_inj; + +DROP EXTENSION injection_points; diff --git a/src/test/modules/test_ddl_deparse/test_ddl_deparse.c b/src/test/modules/test_ddl_deparse/test_ddl_deparse.c index 67ff2b63675..2758ae82d7b 100644 --- a/src/test/modules/test_ddl_deparse/test_ddl_deparse.c +++ b/src/test/modules/test_ddl_deparse/test_ddl_deparse.c @@ -300,12 +300,6 @@ get_altertable_subcmdinfo(PG_FUNCTION_ARGS) case AT_DetachPartitionFinalize: strtype = "DETACH PARTITION ... FINALIZE"; break; - case AT_SplitPartition: - strtype = "SPLIT PARTITION"; - break; - case AT_MergePartitions: - strtype = "MERGE PARTITIONS"; - break; case AT_AddIdentity: strtype = "ADD IDENTITY"; break; diff --git a/src/test/modules/test_misc/Makefile b/src/test/modules/test_misc/Makefile index a958d156f47..919a25fc67f 100644 --- a/src/test/modules/test_misc/Makefile +++ b/src/test/modules/test_misc/Makefile @@ -4,7 +4,7 @@ TAP_TESTS = 1 EXTRA_INSTALL=src/test/modules/injection_points -export enable_injection_points enable_injection_points +export enable_injection_points ifdef USE_PGXS PG_CONFIG = pg_config diff --git a/src/test/modules/test_misc/t/005_timeouts.pl b/src/test/modules/test_misc/t/005_timeouts.pl index 9e1ff9e5c1c..53e44016e3a 100644 --- a/src/test/modules/test_misc/t/005_timeouts.pl +++ b/src/test/modules/test_misc/t/005_timeouts.pl @@ -24,6 +24,18 @@ my $node = PostgreSQL::Test::Cluster->new('master'); $node->init(); $node->start; + +# Check if the extension injection_points is available, as it may be +# possible that this script is run with installcheck, where the module +# would not be installed by default. +my $result = $node->safe_psql('postgres', + "SELECT count(*) > 0 FROM pg_available_extensions WHERE name = 'injection_points';" +); +if ($result eq 'f') +{ + plan skip_all => 'Extension injection_points not installed'; +} + $node->safe_psql('postgres', 'CREATE EXTENSION injection_points;'); # diff --git a/src/test/modules/test_regex/expected/test_regex.out b/src/test/modules/test_regex/expected/test_regex.out index 731ba506d35..c44c717edf4 100644 --- a/src/test/modules/test_regex/expected/test_regex.out +++ b/src/test/modules/test_regex/expected/test_regex.out @@ -2071,6 +2071,20 @@ select * from test_regex('[\s\S]*', '012 3456789abc_*', 'LNPE'); {"012 3456789abc_*"} (2 rows) +-- bug #18708: +select * from test_regex('(?:[^\d\D]){0}', '0123456789abc*', 'LNPQE'); + test_regex +-------------------------------------------------------------------- + {0,REG_UBOUNDS,REG_UBBS,REG_UNONPOSIX,REG_ULOCALE,REG_UEMPTYMATCH} + {""} +(2 rows) + +select * from test_regex('[^\d\D]', '0123456789abc*', 'ILPE'); + test_regex +-------------------------------------------------------- + {0,REG_UBBS,REG_UNONPOSIX,REG_ULOCALE,REG_UIMPOSSIBLE} +(1 row) + -- check char classes' handling of newlines select * from test_regex('\s+', E'abc \n def', 'LP'); test_regex diff --git a/src/test/modules/test_regex/sql/test_regex.sql b/src/test/modules/test_regex/sql/test_regex.sql index 478fa2c5475..b2a847577e8 100644 --- a/src/test/modules/test_regex/sql/test_regex.sql +++ b/src/test/modules/test_regex/sql/test_regex.sql @@ -619,6 +619,9 @@ select * from test_regex('[^1\D0]', 'abc0123456789*', 'LPE'); select * from test_regex('\W', '0123456789abc_*', 'LP'); select * from test_regex('[\W]', '0123456789abc_*', 'LPE'); select * from test_regex('[\s\S]*', '012 3456789abc_*', 'LNPE'); +-- bug #18708: +select * from test_regex('(?:[^\d\D]){0}', '0123456789abc*', 'LNPQE'); +select * from test_regex('[^\d\D]', '0123456789abc*', 'ILPE'); -- check char classes' handling of newlines select * from test_regex('\s+', E'abc \n def', 'LP'); diff --git a/src/test/modules/unsafe_tests/Makefile b/src/test/modules/unsafe_tests/Makefile index 90d19791871..d4ff227ef07 100644 --- a/src/test/modules/unsafe_tests/Makefile +++ b/src/test/modules/unsafe_tests/Makefile @@ -1,6 +1,9 @@ # src/test/modules/unsafe_tests/Makefile -REGRESS = rolenames alter_system_table guc_privs +REGRESS = rolenames setconfig alter_system_table guc_privs +REGRESS_OPTS = \ + --create-role=regress_authenticated_user_sr \ + --create-role=regress_authenticated_user_ssa # the whole point of these tests is to not run installcheck NO_INSTALLCHECK = 1 diff --git a/src/test/modules/unsafe_tests/expected/setconfig.out b/src/test/modules/unsafe_tests/expected/setconfig.out new file mode 100644 index 00000000000..6a021d9ad03 --- /dev/null +++ b/src/test/modules/unsafe_tests/expected/setconfig.out @@ -0,0 +1,31 @@ +-- This is borderline unsafe in that an additional login-capable user exists +-- during the test run. Under installcheck, a too-permissive pg_hba.conf +-- might allow unwanted logins as regress_authenticated_user_ssa. +ALTER USER regress_authenticated_user_ssa superuser; +CREATE ROLE regress_session_user; +CREATE ROLE regress_current_user; +GRANT regress_current_user TO regress_authenticated_user_sr; +GRANT regress_session_user TO regress_authenticated_user_ssa; +ALTER ROLE regress_authenticated_user_ssa + SET session_authorization = regress_session_user; +ALTER ROLE regress_authenticated_user_sr SET ROLE = regress_current_user; +\c - regress_authenticated_user_sr +SELECT current_user, session_user; + current_user | session_user +----------------------+------------------------------- + regress_current_user | regress_authenticated_user_sr +(1 row) + +-- The longstanding historical behavior is that session_authorization in +-- setconfig has no effect. Hence, session_user remains +-- regress_authenticated_user_ssa. See comment in InitializeSessionUserId(). +\c - regress_authenticated_user_ssa +SELECT current_user, session_user; + current_user | session_user +--------------------------------+-------------------------------- + regress_authenticated_user_ssa | regress_authenticated_user_ssa +(1 row) + +RESET SESSION AUTHORIZATION; +DROP USER regress_session_user; +DROP USER regress_current_user; diff --git a/src/test/modules/unsafe_tests/meson.build b/src/test/modules/unsafe_tests/meson.build index 3b0f6060846..3e174c7425a 100644 --- a/src/test/modules/unsafe_tests/meson.build +++ b/src/test/modules/unsafe_tests/meson.build @@ -7,9 +7,12 @@ tests += { 'regress': { 'sql': [ 'rolenames', + 'setconfig', 'alter_system_table', 'guc_privs', ], + 'regress_args': ['--create-role=regress_authenticated_user_sr', + '--create-role=regress_authenticated_user_ssa'], 'runningcheck': false, }, } diff --git a/src/test/modules/unsafe_tests/sql/setconfig.sql b/src/test/modules/unsafe_tests/sql/setconfig.sql new file mode 100644 index 00000000000..8817a7c7636 --- /dev/null +++ b/src/test/modules/unsafe_tests/sql/setconfig.sql @@ -0,0 +1,24 @@ +-- This is borderline unsafe in that an additional login-capable user exists +-- during the test run. Under installcheck, a too-permissive pg_hba.conf +-- might allow unwanted logins as regress_authenticated_user_ssa. + +ALTER USER regress_authenticated_user_ssa superuser; +CREATE ROLE regress_session_user; +CREATE ROLE regress_current_user; +GRANT regress_current_user TO regress_authenticated_user_sr; +GRANT regress_session_user TO regress_authenticated_user_ssa; +ALTER ROLE regress_authenticated_user_ssa + SET session_authorization = regress_session_user; +ALTER ROLE regress_authenticated_user_sr SET ROLE = regress_current_user; + +\c - regress_authenticated_user_sr +SELECT current_user, session_user; + +-- The longstanding historical behavior is that session_authorization in +-- setconfig has no effect. Hence, session_user remains +-- regress_authenticated_user_ssa. See comment in InitializeSessionUserId(). +\c - regress_authenticated_user_ssa +SELECT current_user, session_user; +RESET SESSION AUTHORIZATION; +DROP USER regress_session_user; +DROP USER regress_current_user; diff --git a/src/test/modules/xid_wraparound/t/002_limits.pl b/src/test/modules/xid_wraparound/t/002_limits.pl index aca3fa15149..889689d3bde 100644 --- a/src/test/modules/xid_wraparound/t/002_limits.pl +++ b/src/test/modules/xid_wraparound/t/002_limits.pl @@ -103,7 +103,7 @@ stderr => \$stderr); like( $stderr, - qr/ERROR: database is not accepting commands that assign new XIDs to avoid wraparound data loss in database "postgres"/, + qr/ERROR: database is not accepting commands that assign new transaction IDs to avoid wraparound data loss in database "postgres"/, "stop-limit"); # Finish the old transaction, to allow vacuum freezing to advance diff --git a/src/test/perl/PostgreSQL/Test/Cluster.pm b/src/test/perl/PostgreSQL/Test/Cluster.pm index 32ee98aebcc..5b583264ef1 100644 --- a/src/test/perl/PostgreSQL/Test/Cluster.pm +++ b/src/test/perl/PostgreSQL/Test/Cluster.pm @@ -2837,7 +2837,7 @@ sub lsn =pod -=item $node->wait_for_event(wait_event_name, backend_type) +=item $node->wait_for_event(backend_type, wait_event_name) Poll pg_stat_activity until backend_type reaches wait_event_name. @@ -2948,6 +2948,11 @@ sub wait_for_catchup } else { + # Fetch additional detail for debugging purposes + $query = qq[SELECT * FROM pg_catalog.pg_stat_replication]; + my $details = $self->safe_psql('postgres', $query); + diag qq(Last pg_stat_replication contents: +${details}); croak "timed out waiting for catchup"; } } @@ -3015,8 +3020,15 @@ sub wait_for_slot_catchup . $self->name . "\n"; my $query = qq[SELECT '$target_lsn' <= ${mode}_lsn FROM pg_catalog.pg_replication_slots WHERE slot_name = '$slot_name';]; - $self->poll_query_until('postgres', $query) - or croak "timed out waiting for catchup"; + if (!$self->poll_query_until('postgres', $query)) + { + # Fetch additional detail for debugging purposes + $query = qq[SELECT * FROM pg_catalog.pg_replication_slots]; + my $details = $self->safe_psql('postgres', $query); + diag qq(Last pg_replication_slots contents: +${details}); + croak "timed out waiting for catchup"; + } print "done\n"; return; } @@ -3051,8 +3063,15 @@ sub wait_for_subscription_sync print "Waiting for all subscriptions in \"$name\" to synchronize data\n"; my $query = qq[SELECT count(1) = 0 FROM pg_subscription_rel WHERE srsubstate NOT IN ('r', 's');]; - $self->poll_query_until($dbname, $query) - or croak "timed out waiting for subscriber to synchronize data"; + if (!$self->poll_query_until($dbname, $query)) + { + # Fetch additional detail for debugging purposes + $query = qq[SELECT * FROM pg_subscription_rel]; + my $details = $self->safe_psql($dbname, $query); + diag qq(Last pg_subscription_rel contents: +${details}); + croak "timed out waiting for subscriber to synchronize data"; + } # Then, wait for the replication to catchup if required. if (defined($publisher)) diff --git a/src/test/recovery/Makefile b/src/test/recovery/Makefile index f57baba5e89..d40c05a566d 100644 --- a/src/test/recovery/Makefile +++ b/src/test/recovery/Makefile @@ -18,7 +18,7 @@ subdir = src/test/recovery top_builddir = ../../.. include $(top_builddir)/src/Makefile.global -export enable_injection_points enable_injection_points +export enable_injection_points # required for 017_shm.pl and 027_stream_regress.pl REGRESS_SHLIB=$(abs_top_builddir)/src/test/regress/regress$(DLSUFFIX) diff --git a/src/test/recovery/t/037_invalid_database.pl b/src/test/recovery/t/037_invalid_database.pl index 47f524be4cc..6d1c7117964 100644 --- a/src/test/recovery/t/037_invalid_database.pl +++ b/src/test/recovery/t/037_invalid_database.pl @@ -88,7 +88,10 @@ # Test that interruption of DROP DATABASE is handled properly. To ensure the # interruption happens at the appropriate moment, we lock pg_tablespace. DROP # DATABASE scans pg_tablespace once it has reached the "irreversible" part of -# dropping the database, making it a suitable point to wait. +# dropping the database, making it a suitable point to wait. Since relcache +# init reads pg_tablespace, establish each connection before locking. This +# avoids a connection-time hang with debug_discard_caches. +my $cancel = $node->background_psql('postgres', on_error_stop => 1); my $bgpsql = $node->background_psql('postgres', on_error_stop => 0); my $pid = $bgpsql->query('SELECT pg_backend_pid()'); @@ -104,14 +107,19 @@ # Try to drop. This will wait due to the still held lock. $bgpsql->query_until(qr//, "DROP DATABASE regression_invalid_interrupt;\n"); -# Ensure we're waiting for the lock -$node->poll_query_until('postgres', - qq(SELECT EXISTS(SELECT * FROM pg_locks WHERE NOT granted AND relation = 'pg_tablespace'::regclass AND mode = 'AccessShareLock');) -); -# and finally interrupt the DROP DATABASE -ok($node->safe_psql('postgres', "SELECT pg_cancel_backend($pid)"), +# Once the DROP DATABASE is waiting for the lock, interrupt it. +ok( $cancel->query_safe( + qq( + DO \$\$ + BEGIN + WHILE NOT EXISTS(SELECT * FROM pg_locks WHERE NOT granted AND relation = 'pg_tablespace'::regclass AND mode = 'AccessShareLock') LOOP + PERFORM pg_sleep(.1); + END LOOP; + END\$\$; + SELECT pg_cancel_backend($pid);)), "canceling DROP DATABASE"); +$cancel->quit(); # wait for cancellation to be processed ok( pump_until( @@ -120,7 +128,8 @@ "cancel processed"); $bgpsql->{stderr} = ''; -# verify that connection to the database aren't allowed +# Verify that connections to the database aren't allowed. The backend checks +# this before relcache init, so the lock won't interfere. is($node->psql('regression_invalid_interrupt', ''), 2, "can't connect to invalid_interrupt database"); diff --git a/src/test/recovery/t/039_end_of_wal.pl b/src/test/recovery/t/039_end_of_wal.pl index f9acc83c7d0..349bd44b726 100644 --- a/src/test/recovery/t/039_end_of_wal.pl +++ b/src/test/recovery/t/039_end_of_wal.pl @@ -251,6 +251,12 @@ sub advance_to_record_splitting_zone $TLI = $node->safe_psql('postgres', "SELECT timeline_id FROM pg_control_checkpoint();"); +# Initial LSN may vary across systems due to different catalog contents set up +# by initdb. Switch to a new WAL file so all systems start out in the same +# place. The first test depends on trailing zeroes on a page with a valid +# header. +$node->safe_psql('postgres', "SELECT pg_switch_wal();"); + my $end_lsn; my $prev_lsn; diff --git a/src/test/recovery/t/040_standby_failover_slots_sync.pl b/src/test/recovery/t/040_standby_failover_slots_sync.pl index 2c51cfc3c86..823857bb329 100644 --- a/src/test/recovery/t/040_standby_failover_slots_sync.pl +++ b/src/test/recovery/t/040_standby_failover_slots_sync.pl @@ -280,7 +280,7 @@ # Confirm that the invalidated slot has been dropped. $standby1->wait_for_log( - qr/dropped replication slot "lsub1_slot" of dbid [0-9]+/, $log_offset); + qr/dropped replication slot "lsub1_slot" of database with OID [0-9]+/, $log_offset); # Confirm that the logical slot has been re-created on the standby and is # flagged as 'synced' @@ -335,7 +335,7 @@ ($result, $stdout, $stderr) = $standby1->psql('postgres', "SELECT pg_sync_replication_slots();"); ok( $stderr =~ - /ERROR: slot synchronization requires dbname to be specified in primary_conninfo/, + /ERROR: replication slot synchronization requires "dbname" to be specified in "primary_conninfo"/, "cannot sync slots if dbname is not specified in primary_conninfo"); # Add the dbname back to the primary_conninfo for further tests @@ -526,10 +526,10 @@ # Confirm that slot sync worker acknowledge the GUC change and logs the msg # about wrong configuration. $standby1->wait_for_log( - qr/slot sync worker will restart because of a parameter change/, + qr/slot synchronization worker will restart because of a parameter change/, $log_offset); $standby1->wait_for_log( - qr/slot synchronization requires hot_standby_feedback to be enabled/, + qr/slot synchronization requires "hot_standby_feedback" to be enabled/, $log_offset); $log_offset = -s $standby1->logfile; @@ -678,7 +678,7 @@ # Wait until the primary server logs a warning indicating that it is waiting # for the sb1_slot to catch up. $primary->wait_for_log( - qr/replication slot \"sb1_slot\" specified in parameter synchronized_standby_slots does not have active_pid/, + qr/replication slot \"sb1_slot\" specified in parameter "synchronized_standby_slots" does not have active_pid/, $offset); # The regress_mysub1 was enabled for failover so it doesn't get the data from @@ -757,7 +757,7 @@ # Wait until the primary server logs a warning indicating that it is waiting # for the sb1_slot to catch up. $primary->wait_for_log( - qr/replication slot \"sb1_slot\" specified in parameter synchronized_standby_slots does not have active_pid/, + qr/replication slot \"sb1_slot\" specified in parameter "synchronized_standby_slots" does not have active_pid/, $offset); # Remove the standby from the synchronized_standby_slots list and reload the @@ -798,7 +798,7 @@ # Wait until the primary server logs a warning indicating that it is waiting # for the sb1_slot to catch up. $primary->wait_for_log( - qr/replication slot \"sb1_slot\" specified in parameter synchronized_standby_slots does not have active_pid/, + qr/replication slot \"sb1_slot\" specified in parameter "synchronized_standby_slots" does not have active_pid/, $offset); # The regress_mysub1 doesn't get the data from primary because the specified diff --git a/src/test/recovery/t/041_checkpoint_at_promote.pl b/src/test/recovery/t/041_checkpoint_at_promote.pl index 5aa05b456ca..905662353da 100644 --- a/src/test/recovery/t/041_checkpoint_at_promote.pl +++ b/src/test/recovery/t/041_checkpoint_at_promote.pl @@ -35,6 +35,17 @@ ]); $node_primary->start; +# Check if the extension injection_points is available, as it may be +# possible that this script is run with installcheck, where the module +# would not be installed by default. +my $result = $node_primary->safe_psql('postgres', + "SELECT count(*) > 0 FROM pg_available_extensions WHERE name = 'injection_points';" +); +if ($result eq 'f') +{ + plan skip_all => 'Extension injection_points not installed'; +} + my $backup_name = 'my_backup'; $node_primary->backup($backup_name); diff --git a/src/test/regress/expected/alter_table.out b/src/test/regress/expected/alter_table.out index 79cf82b5aed..6de74a26a95 100644 --- a/src/test/regress/expected/alter_table.out +++ b/src/test/regress/expected/alter_table.out @@ -2215,7 +2215,6 @@ select conname, obj_description(oid, 'pg_constraint') as desc (3 rows) alter table at_partitioned alter column name type varchar(127); --- Note: these tests currently show the wrong behavior for comments :-( select relname, c.oid = oldoid as orig_oid, case relfilenode @@ -2232,9 +2231,9 @@ select relname, ------------------------------+----------+---------+-------------- at_partitioned | t | none | at_partitioned_0 | t | own | - at_partitioned_0_id_name_key | f | own | parent index + at_partitioned_0_id_name_key | f | own | at_partitioned_1 | t | own | - at_partitioned_1_id_name_key | f | own | parent index + at_partitioned_1_id_name_key | f | own | at_partitioned_id_name_key | f | none | parent index (6 rows) diff --git a/src/test/regress/expected/collate.icu.utf8.out b/src/test/regress/expected/collate.icu.utf8.out index 7d59fb44316..7a425afe1f5 100644 --- a/src/test/regress/expected/collate.icu.utf8.out +++ b/src/test/regress/expected/collate.icu.utf8.out @@ -2052,6 +2052,214 @@ SELECT (SELECT count(*) FROM test33_0) <> (SELECT count(*) FROM test33_1); t (1 row) +-- +-- Bug #18568 +-- +-- Partitionwise aggregate (full or partial) should not be used when a +-- partition key's collation doesn't match that of the GROUP BY column it is +-- matched with. +SET max_parallel_workers_per_gather TO 0; +SET enable_incremental_sort TO off; +CREATE TABLE pagg_tab3 (a text, c text collate case_insensitive) PARTITION BY LIST(c collate "C"); +CREATE TABLE pagg_tab3_p1 PARTITION OF pagg_tab3 FOR VALUES IN ('a', 'b'); +CREATE TABLE pagg_tab3_p2 PARTITION OF pagg_tab3 FOR VALUES IN ('B', 'A'); +INSERT INTO pagg_tab3 SELECT i % 4 + 1, substr('abAB', (i % 4) + 1 , 1) FROM generate_series(0, 19) i; +ANALYZE pagg_tab3; +SET enable_partitionwise_aggregate TO false; +EXPLAIN (COSTS OFF) +SELECT upper(c collate case_insensitive), count(c) FROM pagg_tab3 GROUP BY c collate case_insensitive ORDER BY 1; + QUERY PLAN +----------------------------------------------------------- + Sort + Sort Key: (upper(pagg_tab3.c)) COLLATE case_insensitive + -> HashAggregate + Group Key: pagg_tab3.c + -> Append + -> Seq Scan on pagg_tab3_p2 pagg_tab3_1 + -> Seq Scan on pagg_tab3_p1 pagg_tab3_2 +(7 rows) + +SELECT upper(c collate case_insensitive), count(c) FROM pagg_tab3 GROUP BY c collate case_insensitive ORDER BY 1; + upper | count +-------+------- + A | 10 + B | 10 +(2 rows) + +-- No "full" partitionwise aggregation allowed, though "partial" is allowed. +SET enable_partitionwise_aggregate TO true; +EXPLAIN (COSTS OFF) +SELECT upper(c collate case_insensitive), count(c) FROM pagg_tab3 GROUP BY c collate case_insensitive ORDER BY 1; + QUERY PLAN +-------------------------------------------------------------- + Sort + Sort Key: (upper(pagg_tab3.c)) COLLATE case_insensitive + -> Finalize HashAggregate + Group Key: pagg_tab3.c + -> Append + -> Partial HashAggregate + Group Key: pagg_tab3.c + -> Seq Scan on pagg_tab3_p2 pagg_tab3 + -> Partial HashAggregate + Group Key: pagg_tab3_1.c + -> Seq Scan on pagg_tab3_p1 pagg_tab3_1 +(11 rows) + +SELECT upper(c collate case_insensitive), count(c) FROM pagg_tab3 GROUP BY c collate case_insensitive ORDER BY 1; + upper | count +-------+------- + A | 10 + B | 10 +(2 rows) + +-- OK to use full partitionwise aggregate after changing the GROUP BY column's +-- collation to be the same as that of the partition key. +EXPLAIN (COSTS OFF) +SELECT c collate "C", count(c) FROM pagg_tab3 GROUP BY c collate "C" ORDER BY 1; + QUERY PLAN +-------------------------------------------------------- + Sort + Sort Key: ((pagg_tab3.c)::text) COLLATE "C" + -> Append + -> HashAggregate + Group Key: (pagg_tab3.c)::text + -> Seq Scan on pagg_tab3_p2 pagg_tab3 + -> HashAggregate + Group Key: (pagg_tab3_1.c)::text + -> Seq Scan on pagg_tab3_p1 pagg_tab3_1 +(9 rows) + +SELECT c collate "C", count(c) FROM pagg_tab3 GROUP BY c collate "C" ORDER BY 1; + c | count +---+------- + A | 5 + B | 5 + a | 5 + b | 5 +(4 rows) + +-- Partitionwise join should not be allowed too when the collation used by the +-- join keys doesn't match the partition key collation. +SET enable_partitionwise_join TO false; +EXPLAIN (COSTS OFF) +SELECT t1.c, count(t2.c) FROM pagg_tab3 t1 JOIN pagg_tab3 t2 ON t1.c = t2.c GROUP BY 1 ORDER BY t1.c COLLATE "C"; + QUERY PLAN +------------------------------------------------------------- + Sort + Sort Key: t1.c COLLATE "C" + -> HashAggregate + Group Key: t1.c + -> Hash Join + Hash Cond: (t1.c = t2.c) + -> Append + -> Seq Scan on pagg_tab3_p2 t1_1 + -> Seq Scan on pagg_tab3_p1 t1_2 + -> Hash + -> Append + -> Seq Scan on pagg_tab3_p2 t2_1 + -> Seq Scan on pagg_tab3_p1 t2_2 +(13 rows) + +SELECT t1.c, count(t2.c) FROM pagg_tab3 t1 JOIN pagg_tab3 t2 ON t1.c = t2.c GROUP BY 1 ORDER BY t1.c COLLATE "C"; + c | count +---+------- + A | 100 + B | 100 +(2 rows) + +SET enable_partitionwise_join TO true; +EXPLAIN (COSTS OFF) +SELECT t1.c, count(t2.c) FROM pagg_tab3 t1 JOIN pagg_tab3 t2 ON t1.c = t2.c GROUP BY 1 ORDER BY t1.c COLLATE "C"; + QUERY PLAN +------------------------------------------------------------- + Sort + Sort Key: t1.c COLLATE "C" + -> HashAggregate + Group Key: t1.c + -> Hash Join + Hash Cond: (t1.c = t2.c) + -> Append + -> Seq Scan on pagg_tab3_p2 t1_1 + -> Seq Scan on pagg_tab3_p1 t1_2 + -> Hash + -> Append + -> Seq Scan on pagg_tab3_p2 t2_1 + -> Seq Scan on pagg_tab3_p1 t2_2 +(13 rows) + +SELECT t1.c, count(t2.c) FROM pagg_tab3 t1 JOIN pagg_tab3 t2 ON t1.c = t2.c GROUP BY 1 ORDER BY t1.c COLLATE "C"; + c | count +---+------- + A | 100 + B | 100 +(2 rows) + +-- OK when the join clause uses the same collation as the partition key. +EXPLAIN (COSTS OFF) +SELECT t1.c COLLATE "C", count(t2.c) FROM pagg_tab3 t1 JOIN pagg_tab3 t2 ON t1.c = t2.c COLLATE "C" GROUP BY t1.c COLLATE "C" ORDER BY t1.c COLLATE "C"; + QUERY PLAN +------------------------------------------------------------------ + Sort + Sort Key: ((t1.c)::text) COLLATE "C" + -> Append + -> HashAggregate + Group Key: (t1.c)::text + -> Hash Join + Hash Cond: ((t1.c)::text = (t2.c)::text) + -> Seq Scan on pagg_tab3_p2 t1 + -> Hash + -> Seq Scan on pagg_tab3_p2 t2 + -> HashAggregate + Group Key: (t1_1.c)::text + -> Hash Join + Hash Cond: ((t1_1.c)::text = (t2_1.c)::text) + -> Seq Scan on pagg_tab3_p1 t1_1 + -> Hash + -> Seq Scan on pagg_tab3_p1 t2_1 +(17 rows) + +SELECT t1.c COLLATE "C", count(t2.c) FROM pagg_tab3 t1 JOIN pagg_tab3 t2 ON t1.c = t2.c COLLATE "C" GROUP BY t1.c COLLATE "C" ORDER BY t1.c COLLATE "C"; + c | count +---+------- + A | 25 + B | 25 + a | 25 + b | 25 +(4 rows) + +SET enable_partitionwise_join TO false; +EXPLAIN (COSTS OFF) +SELECT t1.c COLLATE "C", count(t2.c) FROM pagg_tab3 t1 JOIN pagg_tab3 t2 ON t1.c = t2.c COLLATE "C" GROUP BY t1.c COLLATE "C" ORDER BY t1.c COLLATE "C"; + QUERY PLAN +------------------------------------------------------------- + Sort + Sort Key: ((t1.c)::text) COLLATE "C" + -> HashAggregate + Group Key: (t1.c)::text + -> Hash Join + Hash Cond: ((t1.c)::text = (t2.c)::text) + -> Append + -> Seq Scan on pagg_tab3_p2 t1_1 + -> Seq Scan on pagg_tab3_p1 t1_2 + -> Hash + -> Append + -> Seq Scan on pagg_tab3_p2 t2_1 + -> Seq Scan on pagg_tab3_p1 t2_2 +(13 rows) + +SELECT t1.c COLLATE "C", count(t2.c) FROM pagg_tab3 t1 JOIN pagg_tab3 t2 ON t1.c = t2.c COLLATE "C" GROUP BY t1.c COLLATE "C" ORDER BY t1.c COLLATE "C"; + c | count +---+------- + A | 25 + B | 25 + a | 25 + b | 25 +(4 rows) + +DROP TABLE pagg_tab3; +RESET enable_partitionwise_aggregate; +RESET max_parallel_workers_per_gather; +RESET enable_incremental_sort; -- cleanup RESET search_path; SET client_min_messages TO warning; diff --git a/src/test/regress/expected/copy2.out b/src/test/regress/expected/copy2.out index 931542f2689..695b1b2d635 100644 --- a/src/test/regress/expected/copy2.out +++ b/src/test/regress/expected/copy2.out @@ -86,9 +86,9 @@ ERROR: conflicting or redundant options LINE 1: COPY x from stdin (log_verbosity default, log_verbosity verb... ^ -- incorrect options -COPY x to stdin (format BINARY, delimiter ','); +COPY x from stdin (format BINARY, delimiter ','); ERROR: cannot specify DELIMITER in BINARY mode -COPY x to stdin (format BINARY, null 'x'); +COPY x from stdin (format BINARY, null 'x'); ERROR: cannot specify NULL in BINARY mode COPY x from stdin (format BINARY, on_error ignore); ERROR: only ON_ERROR STOP is allowed in BINARY mode @@ -96,26 +96,38 @@ COPY x from stdin (on_error unsupported); ERROR: COPY ON_ERROR "unsupported" not recognized LINE 1: COPY x from stdin (on_error unsupported); ^ -COPY x to stdin (format TEXT, force_quote(a)); +COPY x from stdin (format TEXT, force_quote(a)); +ERROR: COPY FORCE_QUOTE requires CSV mode +COPY x from stdin (format TEXT, force_quote *); ERROR: COPY FORCE_QUOTE requires CSV mode COPY x from stdin (format CSV, force_quote(a)); ERROR: COPY FORCE_QUOTE cannot be used with COPY FROM -COPY x to stdout (format TEXT, force_not_null(a)); +COPY x from stdin (format CSV, force_quote *); +ERROR: COPY FORCE_QUOTE cannot be used with COPY FROM +COPY x from stdin (format TEXT, force_not_null(a)); ERROR: COPY FORCE_NOT_NULL requires CSV mode -COPY x to stdin (format CSV, force_not_null(a)); +COPY x from stdin (format TEXT, force_not_null *); +ERROR: COPY FORCE_NOT_NULL requires CSV mode +COPY x to stdout (format CSV, force_not_null(a)); +ERROR: COPY FORCE_NOT_NULL cannot be used with COPY TO +COPY x to stdout (format CSV, force_not_null *); ERROR: COPY FORCE_NOT_NULL cannot be used with COPY TO -COPY x to stdout (format TEXT, force_null(a)); +COPY x from stdin (format TEXT, force_null(a)); ERROR: COPY FORCE_NULL requires CSV mode -COPY x to stdin (format CSV, force_null(a)); +COPY x from stdin (format TEXT, force_null *); +ERROR: COPY FORCE_NULL requires CSV mode +COPY x to stdout (format CSV, force_null(a)); +ERROR: COPY FORCE_NULL cannot be used with COPY TO +COPY x to stdout (format CSV, force_null *); ERROR: COPY FORCE_NULL cannot be used with COPY TO -COPY x to stdin (format BINARY, on_error unsupported); +COPY x to stdout (format BINARY, on_error unsupported); ERROR: COPY ON_ERROR cannot be used with COPY TO -LINE 1: COPY x to stdin (format BINARY, on_error unsupported); - ^ -COPY x to stdout (log_verbosity unsupported); +LINE 1: COPY x to stdout (format BINARY, on_error unsupported); + ^ +COPY x from stdin (log_verbosity unsupported); ERROR: COPY LOG_VERBOSITY "unsupported" not recognized -LINE 1: COPY x to stdout (log_verbosity unsupported); - ^ +LINE 1: COPY x from stdin (log_verbosity unsupported); + ^ -- too many columns in column list: should fail COPY x (a, b, c, d, e, d, c) from stdin; ERROR: column "d" specified more than once @@ -740,24 +752,24 @@ CONTEXT: COPY check_ign_err, line 2, column n: "a" -- want context for notices \set SHOW_CONTEXT always COPY check_ign_err FROM STDIN WITH (on_error ignore, log_verbosity verbose); -NOTICE: skipping row due to data type incompatibility at line 2 for column n: "a" +NOTICE: skipping row due to data type incompatibility at line 2 for column "n": "a" CONTEXT: COPY check_ign_err -NOTICE: skipping row due to data type incompatibility at line 3 for column k: "3333333333" +NOTICE: skipping row due to data type incompatibility at line 3 for column "k": "3333333333" CONTEXT: COPY check_ign_err -NOTICE: skipping row due to data type incompatibility at line 4 for column m: "{a, 4}" +NOTICE: skipping row due to data type incompatibility at line 4 for column "m": "{a, 4}" CONTEXT: COPY check_ign_err -NOTICE: skipping row due to data type incompatibility at line 5 for column n: "" +NOTICE: skipping row due to data type incompatibility at line 5 for column "n": "" CONTEXT: COPY check_ign_err -NOTICE: skipping row due to data type incompatibility at line 7 for column m: "a" +NOTICE: skipping row due to data type incompatibility at line 7 for column "m": "a" CONTEXT: COPY check_ign_err -NOTICE: skipping row due to data type incompatibility at line 8 for column k: "a" +NOTICE: skipping row due to data type incompatibility at line 8 for column "k": "a" CONTEXT: COPY check_ign_err NOTICE: 6 rows were skipped due to data type incompatibility -- tests for on_error option with log_verbosity and null constraint via domain CREATE DOMAIN dcheck_ign_err2 varchar(15) NOT NULL; CREATE TABLE check_ign_err2 (n int, m int[], k int, l dcheck_ign_err2); COPY check_ign_err2 FROM STDIN WITH (on_error ignore, log_verbosity verbose); -NOTICE: skipping row due to data type incompatibility at line 2 for column l: null input +NOTICE: skipping row due to data type incompatibility at line 2 for column "l": null input CONTEXT: COPY check_ign_err2 NOTICE: 1 row was skipped due to data type incompatibility -- reset context choice @@ -844,7 +856,7 @@ copy copy_default from stdin with (default E'\r'); ERROR: COPY default representation cannot use newline or carriage return -- DELIMITER cannot appear in DEFAULT spec copy copy_default from stdin with (delimiter ';', default 'test;test'); -ERROR: COPY delimiter must not appear in the DEFAULT specification +ERROR: COPY delimiter character must not appear in the DEFAULT specification -- CSV quote cannot appear in DEFAULT spec copy copy_default from stdin with (format csv, quote '"', default 'test"test'); ERROR: CSV quote character must not appear in the DEFAULT specification @@ -904,4 +916,4 @@ select id, text_value, ts_value from copy_default; truncate copy_default; -- DEFAULT cannot be used in COPY TO copy (select 1 as test) TO stdout with (default '\D'); -ERROR: COPY DEFAULT only available using COPY FROM +ERROR: COPY DEFAULT cannot be used with COPY TO diff --git a/src/test/regress/expected/copydml.out b/src/test/regress/expected/copydml.out index b5a225628f4..e91e83260aa 100644 --- a/src/test/regress/expected/copydml.out +++ b/src/test/regress/expected/copydml.out @@ -38,7 +38,7 @@ ERROR: DO INSTEAD NOTHING rules are not supported for COPY drop rule qqq on copydml_test; create rule qqq as on insert to copydml_test do also delete from copydml_test; copy (insert into copydml_test default values) to stdout; -ERROR: DO ALSO rules are not supported for the COPY +ERROR: DO ALSO rules are not supported for COPY drop rule qqq on copydml_test; create rule qqq as on insert to copydml_test do instead (delete from copydml_test; delete from copydml_test); copy (insert into copydml_test default values) to stdout; @@ -54,7 +54,7 @@ ERROR: DO INSTEAD NOTHING rules are not supported for COPY drop rule qqq on copydml_test; create rule qqq as on update to copydml_test do also delete from copydml_test; copy (update copydml_test set t = 'f') to stdout; -ERROR: DO ALSO rules are not supported for the COPY +ERROR: DO ALSO rules are not supported for COPY drop rule qqq on copydml_test; create rule qqq as on update to copydml_test do instead (delete from copydml_test; delete from copydml_test); copy (update copydml_test set t = 'f') to stdout; @@ -70,7 +70,7 @@ ERROR: DO INSTEAD NOTHING rules are not supported for COPY drop rule qqq on copydml_test; create rule qqq as on delete to copydml_test do also insert into copydml_test default values; copy (delete from copydml_test) to stdout; -ERROR: DO ALSO rules are not supported for the COPY +ERROR: DO ALSO rules are not supported for COPY drop rule qqq on copydml_test; create rule qqq as on delete to copydml_test do instead (insert into copydml_test default values; insert into copydml_test default values); copy (delete from copydml_test) to stdout; @@ -80,6 +80,10 @@ create rule qqq as on delete to copydml_test where old.t <> 'f' do instead inser copy (delete from copydml_test) to stdout; ERROR: conditional DO INSTEAD rules are not supported for COPY drop rule qqq on copydml_test; +create rule qqq as on insert to copydml_test do instead notify copydml_test; +copy (insert into copydml_test default values) to stdout; +ERROR: COPY query must not be a utility command +drop rule qqq on copydml_test; -- triggers create function qqq_trig() returns trigger as $$ begin diff --git a/src/test/regress/expected/create_am.out b/src/test/regress/expected/create_am.out index 35d4cf1d467..c1a95157251 100644 --- a/src/test/regress/expected/create_am.out +++ b/src/test/regress/expected/create_am.out @@ -343,6 +343,20 @@ ALTER MATERIALIZED VIEW heapmv SET ACCESS METHOD heap, SET ACCESS METHOD heap2; ERROR: cannot have multiple SET ACCESS METHOD subcommands DROP MATERIALIZED VIEW heapmv; DROP TABLE heaptable; +-- Partitioned table with USING +CREATE TABLE am_partitioned(x INT, y INT) PARTITION BY hash (x) USING heap2; +SELECT pg_describe_object(classid, objid, objsubid) AS obj, + pg_describe_object(refclassid, refobjid, refobjsubid) as refobj + FROM pg_depend, pg_am + WHERE pg_depend.refclassid = 'pg_am'::regclass + AND pg_am.oid = pg_depend.refobjid + AND pg_depend.objid = 'am_partitioned'::regclass; + obj | refobj +----------------------+--------------------- + table am_partitioned | access method heap2 +(1 row) + +DROP TABLE am_partitioned; -- Partition hierarchies with access methods BEGIN; SET LOCAL default_table_access_method = 'heap'; diff --git a/src/test/regress/expected/create_view.out b/src/test/regress/expected/create_view.out index 61825ef7d4e..f551624afb3 100644 --- a/src/test/regress/expected/create_view.out +++ b/src/test/regress/expected/create_view.out @@ -824,6 +824,54 @@ View definition: FROM temp_view_test.tx1 tx1_1 WHERE tx1.y1 = tx1_1.f1)); +-- Test correct deparsing of ORDER BY when there is an output name conflict +create view aliased_order_by as +select x1 as x2, x2 as x1, x3 from tt1 + order by x2; -- this is interpreted per SQL92, so really ordering by x1 +\d+ aliased_order_by + View "testviewschm2.aliased_order_by" + Column | Type | Collation | Nullable | Default | Storage | Description +--------+---------+-----------+----------+---------+----------+------------- + x2 | integer | | | | plain | + x1 | integer | | | | plain | + x3 | text | | | | extended | +View definition: + SELECT x1 AS x2, + x2 AS x1, + x3 + FROM tt1 + ORDER BY tt1.x1; + +alter view aliased_order_by rename column x1 to x0; +\d+ aliased_order_by + View "testviewschm2.aliased_order_by" + Column | Type | Collation | Nullable | Default | Storage | Description +--------+---------+-----------+----------+---------+----------+------------- + x2 | integer | | | | plain | + x0 | integer | | | | plain | + x3 | text | | | | extended | +View definition: + SELECT x1 AS x2, + x2 AS x0, + x3 + FROM tt1 + ORDER BY x1; + +alter view aliased_order_by rename column x3 to x1; +\d+ aliased_order_by + View "testviewschm2.aliased_order_by" + Column | Type | Collation | Nullable | Default | Storage | Description +--------+---------+-----------+----------+---------+----------+------------- + x2 | integer | | | | plain | + x0 | integer | | | | plain | + x1 | text | | | | extended | +View definition: + SELECT x1 AS x2, + x2 AS x0, + x3 AS x1 + FROM tt1 + ORDER BY tt1.x1; + -- Test aliasing of joins create view view_of_joins as select * from @@ -2202,6 +2250,21 @@ select pg_get_viewdef('tt26v', true); FROM ( VALUES (1,2,3)) v(x, y, z); (1 row) +-- test restriction on non-system view expansion. +create table tt27v_tbl (a int); +create view tt27v as select a from tt27v_tbl; +set restrict_nonsystem_relation_kind to 'view'; +select a from tt27v where a > 0; -- Error +ERROR: access to non-system view "tt27v" is restricted +insert into tt27v values (1); -- Error +ERROR: access to non-system view "tt27v" is restricted +select viewname from pg_views where viewname = 'tt27v'; -- Ok to access a system view. + viewname +---------- + tt27v +(1 row) + +reset restrict_nonsystem_relation_kind; -- clean up all the random objects we made above DROP SCHEMA temp_view_test CASCADE; NOTICE: drop cascades to 27 other objects @@ -2233,7 +2296,7 @@ drop cascades to view aliased_view_2 drop cascades to view aliased_view_3 drop cascades to view aliased_view_4 DROP SCHEMA testviewschm2 CASCADE; -NOTICE: drop cascades to 77 other objects +NOTICE: drop cascades to 80 other objects DETAIL: drop cascades to table t1 drop cascades to view temporal1 drop cascades to view temporal2 @@ -2260,6 +2323,7 @@ drop cascades to view mysecview9 drop cascades to view unspecified_types drop cascades to table tt1 drop cascades to table tx1 +drop cascades to view aliased_order_by drop cascades to view view_of_joins drop cascades to table tbl1a drop cascades to view view_of_joins_2a @@ -2311,3 +2375,5 @@ drop cascades to view tt23v drop cascades to view tt24v drop cascades to view tt25v drop cascades to view tt26v +drop cascades to table tt27v_tbl +drop cascades to view tt27v diff --git a/src/test/regress/expected/date.out b/src/test/regress/expected/date.out index f5949f3d174..20374c5230a 100644 --- a/src/test/regress/expected/date.out +++ b/src/test/regress/expected/date.out @@ -1295,7 +1295,7 @@ SELECT DATE_TRUNC('MILLENNIUM', TIMESTAMP '1970-03-20 04:30:00.00000'); -- 1001 SELECT DATE_TRUNC('MILLENNIUM', DATE '1970-03-20'); -- 1001-01-01 date_trunc ------------------------------ - Thu Jan 01 00:00:00 1001 PST + Thu Jan 01 00:00:00 1001 LMT (1 row) SELECT DATE_TRUNC('CENTURY', TIMESTAMP '1970-03-20 04:30:00.00000'); -- 1901 @@ -1319,13 +1319,13 @@ SELECT DATE_TRUNC('CENTURY', DATE '2004-08-10'); -- 2001-01-01 SELECT DATE_TRUNC('CENTURY', DATE '0002-02-04'); -- 0001-01-01 date_trunc ------------------------------ - Mon Jan 01 00:00:00 0001 PST + Mon Jan 01 00:00:00 0001 LMT (1 row) SELECT DATE_TRUNC('CENTURY', DATE '0055-08-10 BC'); -- 0100-01-01 BC date_trunc --------------------------------- - Tue Jan 01 00:00:00 0100 PST BC + Tue Jan 01 00:00:00 0100 LMT BC (1 row) SELECT DATE_TRUNC('DECADE', DATE '1993-12-25'); -- 1990-01-01 @@ -1337,13 +1337,13 @@ SELECT DATE_TRUNC('DECADE', DATE '1993-12-25'); -- 1990-01-01 SELECT DATE_TRUNC('DECADE', DATE '0004-12-25'); -- 0001-01-01 BC date_trunc --------------------------------- - Sat Jan 01 00:00:00 0001 PST BC + Sat Jan 01 00:00:00 0001 LMT BC (1 row) SELECT DATE_TRUNC('DECADE', DATE '0002-12-31 BC'); -- 0011-01-01 BC date_trunc --------------------------------- - Mon Jan 01 00:00:00 0011 PST BC + Mon Jan 01 00:00:00 0011 LMT BC (1 row) -- diff --git a/src/test/regress/expected/foreign_key.out b/src/test/regress/expected/foreign_key.out index 46764bd9e3b..69994c98e32 100644 --- a/src/test/regress/expected/foreign_key.out +++ b/src/test/regress/expected/foreign_key.out @@ -1967,6 +1967,23 @@ INSERT INTO fk_notpartitioned_pk VALUES (1600, 601), (1600, 1601); ALTER TABLE fk_partitioned_fk ATTACH PARTITION fk_partitioned_fk_2 FOR VALUES IN (1600); -- leave these tables around intentionally +-- Verify that attaching a table that's referenced by an existing FK +-- in the parent throws an error +CREATE TABLE fk_partitioned_pk_6 (a int PRIMARY KEY); +CREATE TABLE fk_partitioned_fk_6 (a int REFERENCES fk_partitioned_pk_6) PARTITION BY LIST (a); +ALTER TABLE fk_partitioned_fk_6 ATTACH PARTITION fk_partitioned_pk_6 FOR VALUES IN (1); +ERROR: cannot attach table "fk_partitioned_pk_6" as a partition because it is referenced by foreign key "fk_partitioned_fk_6_a_fkey" +DROP TABLE fk_partitioned_pk_6, fk_partitioned_fk_6; +-- This case is similar to above, but the referenced relation is one level +-- lower in the hierarchy. This one fails in a different way as the above, +-- because we don't bother to protect against this case explicitly. If the +-- current error stops happening, we'll need to add a better protection. +CREATE TABLE fk_partitioned_pk_6 (a int PRIMARY KEY) PARTITION BY list (a); +CREATE TABLE fk_partitioned_pk_61 PARTITION OF fk_partitioned_pk_6 FOR VALUES IN (1); +CREATE TABLE fk_partitioned_fk_6 (a int REFERENCES fk_partitioned_pk_61) PARTITION BY LIST (a); +ALTER TABLE fk_partitioned_fk_6 ATTACH PARTITION fk_partitioned_pk_6 FOR VALUES IN (1); +ERROR: cannot ALTER TABLE "fk_partitioned_pk_61" because it is being used by active queries in this session +DROP TABLE fk_partitioned_pk_6, fk_partitioned_fk_6; -- test the case when the referenced table is owned by a different user create role regress_other_partitioned_fk_owner; grant references on fk_notpartitioned_pk to regress_other_partitioned_fk_owner; @@ -2917,3 +2934,102 @@ DETAIL: drop cascades to table fkpart11.pk drop cascades to table fkpart11.fk_parted drop cascades to table fkpart11.fk_another drop cascades to function fkpart11.print_row() +-- When a table is attached as partition to a partitioned table that has +-- a foreign key to another partitioned table, it acquires a clone of the +-- FK. Upon detach, this clone is not removed, but instead becomes an +-- independent FK. If it then attaches to the partitioned table again, +-- the FK from the parent "takes over" ownership of the independent FK rather +-- than creating a separate one. +CREATE SCHEMA fkpart12 + CREATE TABLE fk_p ( id int, jd int, PRIMARY KEY(id, jd)) PARTITION BY list (id) + CREATE TABLE fk_p_1 PARTITION OF fk_p FOR VALUES IN (1) PARTITION BY list (jd) + CREATE TABLE fk_p_1_1 PARTITION OF fk_p_1 FOR VALUES IN (1) + CREATE TABLE fk_p_1_2 (x int, y int, jd int NOT NULL, id int NOT NULL) + CREATE TABLE fk_p_2 PARTITION OF fk_p FOR VALUES IN (2) PARTITION BY list (jd) + CREATE TABLE fk_p_2_1 PARTITION OF fk_p_2 FOR VALUES IN (1) + CREATE TABLE fk_p_2_2 PARTITION OF fk_p_2 FOR VALUES IN (2) + CREATE TABLE fk_r_1 ( p_jd int NOT NULL, x int, id int PRIMARY KEY, p_id int NOT NULL) + CREATE TABLE fk_r_2 ( id int PRIMARY KEY, p_id int NOT NULL, p_jd int NOT NULL) PARTITION BY list (id) + CREATE TABLE fk_r_2_1 PARTITION OF fk_r_2 FOR VALUES IN (2, 1) + CREATE TABLE fk_r ( id int PRIMARY KEY, p_id int NOT NULL, p_jd int NOT NULL, + FOREIGN KEY (p_id, p_jd) REFERENCES fk_p (id, jd) + ) PARTITION BY list (id); +SET search_path TO fkpart12; +ALTER TABLE fk_p_1_2 DROP COLUMN x, DROP COLUMN y; +ALTER TABLE fk_p_1 ATTACH PARTITION fk_p_1_2 FOR VALUES IN (2); +ALTER TABLE fk_r_1 DROP COLUMN x; +INSERT INTO fk_p VALUES (1, 1); +ALTER TABLE fk_r ATTACH PARTITION fk_r_1 FOR VALUES IN (1); +ALTER TABLE fk_r ATTACH PARTITION fk_r_2 FOR VALUES IN (2); +\d fk_r_2 + Partitioned table "fkpart12.fk_r_2" + Column | Type | Collation | Nullable | Default +--------+---------+-----------+----------+--------- + id | integer | | not null | + p_id | integer | | not null | + p_jd | integer | | not null | +Partition of: fk_r FOR VALUES IN (2) +Partition key: LIST (id) +Indexes: + "fk_r_2_pkey" PRIMARY KEY, btree (id) +Foreign-key constraints: + TABLE "fk_r" CONSTRAINT "fk_r_p_id_p_jd_fkey" FOREIGN KEY (p_id, p_jd) REFERENCES fk_p(id, jd) +Number of partitions: 1 (Use \d+ to list them.) + +INSERT INTO fk_r VALUES (1, 1, 1); +INSERT INTO fk_r VALUES (2, 2, 1); +ERROR: insert or update on table "fk_r_2_1" violates foreign key constraint "fk_r_p_id_p_jd_fkey" +DETAIL: Key (p_id, p_jd)=(2, 1) is not present in table "fk_p". +ALTER TABLE fk_r DETACH PARTITION fk_r_1; +ALTER TABLE fk_r DETACH PARTITION fk_r_2; +\d fk_r_2 + Partitioned table "fkpart12.fk_r_2" + Column | Type | Collation | Nullable | Default +--------+---------+-----------+----------+--------- + id | integer | | not null | + p_id | integer | | not null | + p_jd | integer | | not null | +Partition key: LIST (id) +Indexes: + "fk_r_2_pkey" PRIMARY KEY, btree (id) +Foreign-key constraints: + "fk_r_p_id_p_jd_fkey" FOREIGN KEY (p_id, p_jd) REFERENCES fk_p(id, jd) +Number of partitions: 1 (Use \d+ to list them.) + +INSERT INTO fk_r_1 (id, p_id, p_jd) VALUES (2, 1, 2); -- should fail +ERROR: insert or update on table "fk_r_1" violates foreign key constraint "fk_r_p_id_p_jd_fkey" +DETAIL: Key (p_id, p_jd)=(1, 2) is not present in table "fk_p". +DELETE FROM fk_p; -- should fail +ERROR: update or delete on table "fk_p_1_1" violates foreign key constraint "fk_r_1_p_id_p_jd_fkey1" on table "fk_r_1" +DETAIL: Key (id, jd)=(1, 1) is still referenced from table "fk_r_1". +ALTER TABLE fk_r ATTACH PARTITION fk_r_1 FOR VALUES IN (1); +ALTER TABLE fk_r ATTACH PARTITION fk_r_2 FOR VALUES IN (2); +\d fk_r_2 + Partitioned table "fkpart12.fk_r_2" + Column | Type | Collation | Nullable | Default +--------+---------+-----------+----------+--------- + id | integer | | not null | + p_id | integer | | not null | + p_jd | integer | | not null | +Partition of: fk_r FOR VALUES IN (2) +Partition key: LIST (id) +Indexes: + "fk_r_2_pkey" PRIMARY KEY, btree (id) +Foreign-key constraints: + TABLE "fk_r" CONSTRAINT "fk_r_p_id_p_jd_fkey" FOREIGN KEY (p_id, p_jd) REFERENCES fk_p(id, jd) +Number of partitions: 1 (Use \d+ to list them.) + +DELETE FROM fk_p; -- should fail +ERROR: update or delete on table "fk_p_1_1" violates foreign key constraint "fk_r_p_id_p_jd_fkey2" on table "fk_r" +DETAIL: Key (id, jd)=(1, 1) is still referenced from table "fk_r". +-- these should all fail +ALTER TABLE fk_r_1 DROP CONSTRAINT fk_r_p_id_p_jd_fkey; +ERROR: cannot drop inherited constraint "fk_r_p_id_p_jd_fkey" of relation "fk_r_1" +ALTER TABLE fk_r DROP CONSTRAINT fk_r_p_id_p_jd_fkey1; +ERROR: cannot drop inherited constraint "fk_r_p_id_p_jd_fkey1" of relation "fk_r" +ALTER TABLE fk_r_2 DROP CONSTRAINT fk_r_p_id_p_jd_fkey; +ERROR: cannot drop inherited constraint "fk_r_p_id_p_jd_fkey" of relation "fk_r_2" +SET client_min_messages TO warning; +DROP SCHEMA fkpart12 CASCADE; +RESET client_min_messages; +RESET search_path; diff --git a/src/test/regress/expected/generated.out b/src/test/regress/expected/generated.out index 44058db7c1d..499072e14ca 100644 --- a/src/test/regress/expected/generated.out +++ b/src/test/regress/expected/generated.out @@ -1026,7 +1026,8 @@ SELECT * FROM gtest27; (2 rows) ALTER TABLE gtest27 ALTER COLUMN x TYPE boolean USING x <> 0; -- error -ERROR: generation expression for column "x" cannot be cast automatically to type boolean +ERROR: cannot specify USING when altering type of generated column +DETAIL: Column "x" is a generated column. ALTER TABLE gtest27 ALTER COLUMN x DROP DEFAULT; -- error ERROR: column "x" of relation "gtest27" is a generated column HINT: Use ALTER TABLE ... ALTER COLUMN ... DROP EXPRESSION instead. diff --git a/src/test/regress/expected/horology.out b/src/test/regress/expected/horology.out index 241713cc51e..82c0e1a12f2 100644 --- a/src/test/regress/expected/horology.out +++ b/src/test/regress/expected/horology.out @@ -1,11 +1,16 @@ -- -- HOROLOGY -- -SET DateStyle = 'Postgres, MDY'; -SHOW TimeZone; -- Many of these tests depend on the prevailing setting - TimeZone ----------- - PST8PDT +SHOW TimeZone; -- Many of these tests depend on the prevailing settings + TimeZone +--------------------- + America/Los_Angeles +(1 row) + +SHOW DateStyle; + DateStyle +--------------- + Postgres, MDY (1 row) -- @@ -1033,12 +1038,12 @@ SELECT d1 + interval '1 year' AS one_year FROM TIMESTAMPTZ_TBL; Sat Feb 14 17:32:01 1998 PST Sun Feb 15 17:32:01 1998 PST Mon Feb 16 17:32:01 1998 PST - Thu Feb 16 17:32:01 0096 PST BC - Sun Feb 16 17:32:01 0098 PST - Fri Feb 16 17:32:01 0598 PST - Wed Feb 16 17:32:01 1098 PST - Sun Feb 16 17:32:01 1698 PST - Fri Feb 16 17:32:01 1798 PST + Thu Feb 16 17:32:01 0096 LMT BC + Sun Feb 16 17:32:01 0098 LMT + Fri Feb 16 17:32:01 0598 LMT + Wed Feb 16 17:32:01 1098 LMT + Sun Feb 16 17:32:01 1698 LMT + Fri Feb 16 17:32:01 1798 LMT Wed Feb 16 17:32:01 1898 PST Mon Feb 16 17:32:01 1998 PST Sun Feb 16 17:32:01 2098 PST @@ -1104,12 +1109,12 @@ SELECT d1 - interval '1 year' AS one_year FROM TIMESTAMPTZ_TBL; Wed Feb 14 17:32:01 1996 PST Thu Feb 15 17:32:01 1996 PST Fri Feb 16 17:32:01 1996 PST - Mon Feb 16 17:32:01 0098 PST BC - Thu Feb 16 17:32:01 0096 PST - Tue Feb 16 17:32:01 0596 PST - Sun Feb 16 17:32:01 1096 PST - Thu Feb 16 17:32:01 1696 PST - Tue Feb 16 17:32:01 1796 PST + Mon Feb 16 17:32:01 0098 LMT BC + Thu Feb 16 17:32:01 0096 LMT + Tue Feb 16 17:32:01 0596 LMT + Sun Feb 16 17:32:01 1096 LMT + Thu Feb 16 17:32:01 1696 LMT + Tue Feb 16 17:32:01 1796 LMT Sun Feb 16 17:32:01 1896 PST Fri Feb 16 17:32:01 1996 PST Thu Feb 16 17:32:01 2096 PST @@ -2465,7 +2470,7 @@ SELECT '2020-10-05'::timestamptz > '2202020-10-05'::date as f; SELECT '4714-11-24 BC'::date::timestamptz; timestamptz --------------------------------- - Mon Nov 24 00:00:00 4714 PST BC + Mon Nov 24 00:00:00 4714 LMT BC (1 row) SET TimeZone = 'UTC-2'; @@ -3043,13 +3048,13 @@ RESET DateStyle; SELECT to_timestamp('0097/Feb/16 --> 08:14:30', 'YYYY/Mon/DD --> HH:MI:SS'); to_timestamp ------------------------------ - Sat Feb 16 08:14:30 0097 PST + Sat Feb 16 08:14:30 0097 LMT (1 row) SELECT to_timestamp('97/2/16 8:14:30', 'FMYYYY/FMMM/FMDD FMHH:FMMI:FMSS'); to_timestamp ------------------------------ - Sat Feb 16 08:14:30 0097 PST + Sat Feb 16 08:14:30 0097 LMT (1 row) SELECT to_timestamp('2011$03!18 23_38_15', 'YYYY-MM-DD HH24:MI:SS'); @@ -3086,7 +3091,7 @@ SELECT to_timestamp('My birthday-> Year: 1976, Month: May, Day: 16', SELECT to_timestamp('1,582nd VIII 21', 'Y,YYYth FMRM DD'); to_timestamp ------------------------------ - Sat Aug 21 00:00:00 1582 PST + Sat Aug 21 00:00:00 1582 LMT (1 row) SELECT to_timestamp('15 "text between quote marks" 98 54 45', @@ -3150,7 +3155,7 @@ SELECT to_timestamp('1997 AD 11 16', 'YYYY BC MM DD'); SELECT to_timestamp('1997 BC 11 16', 'YYYY BC MM DD'); to_timestamp --------------------------------- - Tue Nov 16 00:00:00 1997 PST BC + Tue Nov 16 00:00:00 1997 LMT BC (1 row) SELECT to_timestamp('1997 A.D. 11 16', 'YYYY B.C. MM DD'); @@ -3162,7 +3167,7 @@ SELECT to_timestamp('1997 A.D. 11 16', 'YYYY B.C. MM DD'); SELECT to_timestamp('1997 B.C. 11 16', 'YYYY B.C. MM DD'); to_timestamp --------------------------------- - Tue Nov 16 00:00:00 1997 PST BC + Tue Nov 16 00:00:00 1997 LMT BC (1 row) SELECT to_timestamp('9-1116', 'Y-MMDD'); @@ -3490,19 +3495,19 @@ SELECT to_date('-44-02-01 BC','YYYY-MM-DD BC'); SELECT to_timestamp('44-02-01 11:12:13 BC','YYYY-MM-DD HH24:MI:SS BC'); to_timestamp --------------------------------- - Fri Feb 01 11:12:13 0044 PST BC + Fri Feb 01 11:12:13 0044 LMT BC (1 row) SELECT to_timestamp('-44-02-01 11:12:13','YYYY-MM-DD HH24:MI:SS'); to_timestamp --------------------------------- - Fri Feb 01 11:12:13 0044 PST BC + Fri Feb 01 11:12:13 0044 LMT BC (1 row) SELECT to_timestamp('-44-02-01 11:12:13 BC','YYYY-MM-DD HH24:MI:SS BC'); to_timestamp ------------------------------ - Mon Feb 01 11:12:13 0044 PST + Mon Feb 01 11:12:13 0044 LMT (1 row) -- diff --git a/src/test/regress/expected/identity.out b/src/test/regress/expected/identity.out index 3d554fe3276..f14bfccfb1d 100644 --- a/src/test/regress/expected/identity.out +++ b/src/test/regress/expected/identity.out @@ -905,3 +905,19 @@ SELECT * FROM itest16; DROP TABLE itest15; DROP TABLE itest16; +-- For testing of pg_dump and pg_upgrade, leave behind some identity +-- sequences whose logged-ness doesn't match their owning table's. +CREATE TABLE identity_dump_logged (a INT GENERATED ALWAYS AS IDENTITY); +ALTER SEQUENCE identity_dump_logged_a_seq SET UNLOGGED; +CREATE UNLOGGED TABLE identity_dump_unlogged (a INT GENERATED ALWAYS AS IDENTITY); +ALTER SEQUENCE identity_dump_unlogged_a_seq SET LOGGED; +SELECT relname, relpersistence FROM pg_class + WHERE relname ~ '^identity_dump_' ORDER BY 1; + relname | relpersistence +------------------------------+---------------- + identity_dump_logged | p + identity_dump_logged_a_seq | u + identity_dump_unlogged | u + identity_dump_unlogged_a_seq | p +(4 rows) + diff --git a/src/test/regress/expected/inherit.out b/src/test/regress/expected/inherit.out index ad732134148..85240a9b0bb 100644 --- a/src/test/regress/expected/inherit.out +++ b/src/test/regress/expected/inherit.out @@ -1677,6 +1677,36 @@ select min(1-id) from matest0; reset enable_seqscan; reset enable_parallel_append; +explain (verbose, costs off) -- bug #18652 +select 1 - id as c from +(select id from matest3 t1 union all select id * 2 from matest3 t2) ss +order by c; + QUERY PLAN +------------------------------------------------------------ + Result + Output: ((1 - t1.id)) + -> Merge Append + Sort Key: ((1 - t1.id)) + -> Index Scan using matest3i on public.matest3 t1 + Output: t1.id, (1 - t1.id) + -> Sort + Output: ((t2.id * 2)), ((1 - (t2.id * 2))) + Sort Key: ((1 - (t2.id * 2))) + -> Seq Scan on public.matest3 t2 + Output: (t2.id * 2), (1 - (t2.id * 2)) +(11 rows) + +select 1 - id as c from +(select id from matest3 t1 union all select id * 2 from matest3 t2) ss +order by c; + c +----- + -11 + -9 + -5 + -4 +(4 rows) + drop table matest0 cascade; NOTICE: drop cascades to 3 other objects DETAIL: drop cascades to table matest1 diff --git a/src/test/regress/expected/json.out b/src/test/regress/expected/json.out index aa29bc597bd..d16c067b22f 100644 --- a/src/test/regress/expected/json.out +++ b/src/test/regress/expected/json.out @@ -2282,6 +2282,9 @@ select json_object('{a,b,"","d e f"}','{1,2,3,"a b c"}'); {"a" : "1", "b" : "2", "" : "3", "d e f" : "a b c"} (1 row) +-- json_object_agg_unique requires unique keys +select json_object_agg_unique(mod(i,100), i) from generate_series(0, 199) i; +ERROR: duplicate JSON object key value: "0" -- json_to_record and json_to_recordset select * from json_to_record('{"a":1,"b":"foo","c":"bar"}') as x(a int, b text, d text); diff --git a/src/test/regress/expected/jsonb_jsonpath.out b/src/test/regress/expected/jsonb_jsonpath.out index 90e705ff149..8cf6ecfc7f8 100644 --- a/src/test/regress/expected/jsonb_jsonpath.out +++ b/src/test/regress/expected/jsonb_jsonpath.out @@ -1856,7 +1856,7 @@ select jsonb_path_query('123', '$.bigint() * 2'); -- Test .boolean() select jsonb_path_query('null', '$.boolean()'); -ERROR: jsonpath item method .boolean() can only be applied to a bool, string, or numeric value +ERROR: jsonpath item method .boolean() can only be applied to a boolean, string, or numeric value select jsonb_path_query('null', '$.boolean()', silent => true); jsonb_path_query ------------------ @@ -1868,9 +1868,9 @@ select jsonb_path_query('[]', '$.boolean()'); (0 rows) select jsonb_path_query('[]', 'strict $.boolean()'); -ERROR: jsonpath item method .boolean() can only be applied to a bool, string, or numeric value +ERROR: jsonpath item method .boolean() can only be applied to a boolean, string, or numeric value select jsonb_path_query('{}', '$.boolean()'); -ERROR: jsonpath item method .boolean() can only be applied to a bool, string, or numeric value +ERROR: jsonpath item method .boolean() can only be applied to a boolean, string, or numeric value select jsonb_path_query('[]', 'strict $.boolean()', silent => true); jsonb_path_query ------------------ @@ -2518,7 +2518,7 @@ select jsonb_path_query('12.3', '$.number() * 2'); -- Test .string() select jsonb_path_query('null', '$.string()'); -ERROR: jsonpath item method .string() can only be applied to a bool, string, numeric, or datetime value +ERROR: jsonpath item method .string() can only be applied to a boolean, string, numeric, or datetime value select jsonb_path_query('null', '$.string()', silent => true); jsonb_path_query ------------------ @@ -2530,9 +2530,9 @@ select jsonb_path_query('[]', '$.string()'); (0 rows) select jsonb_path_query('[]', 'strict $.string()'); -ERROR: jsonpath item method .string() can only be applied to a bool, string, numeric, or datetime value +ERROR: jsonpath item method .string() can only be applied to a boolean, string, numeric, or datetime value select jsonb_path_query('{}', '$.string()'); -ERROR: jsonpath item method .string() can only be applied to a bool, string, numeric, or datetime value +ERROR: jsonpath item method .string() can only be applied to a boolean, string, numeric, or datetime value select jsonb_path_query('[]', 'strict $.string()', silent => true); jsonb_path_query ------------------ @@ -2586,15 +2586,6 @@ select jsonb_path_query('[2, true]', '$.string()'); "true" (2 rows) -select jsonb_path_query('"2023-08-15 12:34:56 +5:30"', '$.timestamp().string()'); -ERROR: cannot convert value from timestamptz to timestamp without time zone usage -HINT: Use *_tz() function for time zone support. -select jsonb_path_query_tz('"2023-08-15 12:34:56 +5:30"', '$.timestamp().string()'); -- should work - jsonb_path_query_tz ----------------------------- - "Tue Aug 15 00:04:56 2023" -(1 row) - select jsonb_path_query_array('[1.23, "yes", false]', '$[*].string()'); jsonb_path_query_array -------------------------- @@ -2607,6 +2598,81 @@ select jsonb_path_query_array('[1.23, "yes", false]', '$[*].string().type()'); ["string", "string", "string"] (1 row) +select jsonb_path_query('"2023-08-15 12:34:56 +5:30"', '$.timestamp().string()'); +ERROR: cannot convert value from timestamptz to timestamp without time zone usage +HINT: Use *_tz() function for time zone support. +select jsonb_path_query_tz('"2023-08-15 12:34:56 +5:30"', '$.timestamp().string()'); -- should work + jsonb_path_query_tz +----------------------- + "2023-08-15T00:04:56" +(1 row) + +select jsonb_path_query('"2023-08-15 12:34:56"', '$.timestamp_tz().string()'); +ERROR: cannot convert value from timestamp to timestamptz without time zone usage +HINT: Use *_tz() function for time zone support. +select jsonb_path_query_tz('"2023-08-15 12:34:56"', '$.timestamp_tz().string()'); -- should work + jsonb_path_query_tz +----------------------------- + "2023-08-15T12:34:56-07:00" +(1 row) + +select jsonb_path_query('"2023-08-15 12:34:56 +5:30"', '$.timestamp_tz().string()'); + jsonb_path_query +----------------------------- + "2023-08-15T12:34:56+05:30" +(1 row) + +select jsonb_path_query('"2023-08-15 12:34:56"', '$.timestamp().string()'); + jsonb_path_query +----------------------- + "2023-08-15T12:34:56" +(1 row) + +select jsonb_path_query('"12:34:56 +5:30"', '$.time_tz().string()'); + jsonb_path_query +------------------ + "12:34:56+05:30" +(1 row) + +-- this timetz usage will absorb the UTC offset of the current timezone setting +begin; +set local timezone = 'UTC-10'; +select jsonb_path_query_tz('"12:34:56"', '$.time_tz().string()'); + jsonb_path_query_tz +--------------------- + "12:34:56+10:00" +(1 row) + +rollback; +select jsonb_path_query('"12:34:56"', '$.time().string()'); + jsonb_path_query +------------------ + "12:34:56" +(1 row) + +select jsonb_path_query('"2023-08-15"', '$.date().string()'); + jsonb_path_query +------------------ + "2023-08-15" +(1 row) + +-- .string() does not react to timezone or datestyle +begin; +set local timezone = 'UTC'; +set local datestyle = 'German'; +select jsonb_path_query('"2023-08-15 12:34:56 +5:30"', '$.timestamp_tz().string()'); + jsonb_path_query +----------------------------- + "2023-08-15T12:34:56+05:30" +(1 row) + +select jsonb_path_query('"2023-08-15 12:34:56"', '$.timestamp().string()'); + jsonb_path_query +----------------------- + "2023-08-15T12:34:56" +(1 row) + +rollback; -- Test .time() select jsonb_path_query('null', '$.time()'); ERROR: jsonpath item method .time() can only be applied to a string diff --git a/src/test/regress/expected/merge.out b/src/test/regress/expected/merge.out index 3d33259e8ff..521d70a8919 100644 --- a/src/test/regress/expected/merge.out +++ b/src/test/regress/expected/merge.out @@ -2689,6 +2689,56 @@ DETAIL: drop cascades to table measurement_y2006m02 drop cascades to table measurement_y2006m03 drop cascades to table measurement_y2007m01 DROP FUNCTION measurement_insert_trigger(); +-- +-- test non-strict join clause +-- +CREATE TABLE src (a int, b text); +INSERT INTO src VALUES (1, 'src row'); +CREATE TABLE tgt (a int, b text); +INSERT INTO tgt VALUES (NULL, 'tgt row'); +MERGE INTO tgt USING src ON tgt.a IS NOT DISTINCT FROM src.a + WHEN MATCHED THEN UPDATE SET a = src.a, b = src.b + WHEN NOT MATCHED BY SOURCE THEN DELETE + RETURNING merge_action(), src.*, tgt.*; + merge_action | a | b | a | b +--------------+---+---+---+--------- + DELETE | | | | tgt row +(1 row) + +SELECT * FROM tgt; + a | b +---+--- +(0 rows) + +DROP TABLE src, tgt; +-- +-- test for bug #18634 (wrong varnullingrels error) +-- +CREATE TABLE bug18634t (a int, b int, c text); +INSERT INTO bug18634t VALUES(1, 10, 'tgt1'), (2, 20, 'tgt2'); +CREATE VIEW bug18634v AS + SELECT * FROM bug18634t WHERE EXISTS (SELECT 1 FROM bug18634t); +CREATE TABLE bug18634s (a int, b int, c text); +INSERT INTO bug18634s VALUES (1, 2, 'src1'); +MERGE INTO bug18634v t USING bug18634s s ON s.a = t.a + WHEN MATCHED THEN UPDATE SET b = s.b + WHEN NOT MATCHED BY SOURCE THEN DELETE + RETURNING merge_action(), s.c, t.*; + merge_action | c | a | b | c +--------------+------+---+----+------ + UPDATE | src1 | 1 | 2 | tgt1 + DELETE | | 2 | 20 | tgt2 +(2 rows) + +SELECT * FROM bug18634t; + a | b | c +---+---+------ + 1 | 2 | tgt1 +(1 row) + +DROP TABLE bug18634t CASCADE; +NOTICE: drop cascades to view bug18634v +DROP TABLE bug18634s; -- prepare RESET SESSION AUTHORIZATION; -- try a system catalog diff --git a/src/test/regress/expected/numerology.out b/src/test/regress/expected/numerology.out index 8d4a3ba228a..3512a1d04ce 100644 --- a/src/test/regress/expected/numerology.out +++ b/src/test/regress/expected/numerology.out @@ -171,7 +171,7 @@ SELECT -0x8000000000000001; -- error cases SELECT 123abc; -ERROR: trailing junk after numeric literal at or near "123a" +ERROR: trailing junk after numeric literal at or near "123abc" LINE 1: SELECT 123abc; ^ SELECT 0x0o; @@ -318,7 +318,7 @@ ERROR: trailing junk after numeric literal at or near "100_" LINE 1: SELECT 100_; ^ SELECT 100__000; -ERROR: trailing junk after numeric literal at or near "100_" +ERROR: trailing junk after numeric literal at or near "100__000" LINE 1: SELECT 100__000; ^ SELECT _1_000.5; @@ -330,7 +330,7 @@ ERROR: trailing junk after numeric literal at or near "1_000_" LINE 1: SELECT 1_000_.5; ^ SELECT 1_000._5; -ERROR: trailing junk after numeric literal at or near "1_000._" +ERROR: trailing junk after numeric literal at or near "1_000._5" LINE 1: SELECT 1_000._5; ^ SELECT 1_000.5_; @@ -338,11 +338,11 @@ ERROR: trailing junk after numeric literal at or near "1_000.5_" LINE 1: SELECT 1_000.5_; ^ SELECT 1_000.5e_1; -ERROR: trailing junk after numeric literal at or near "1_000.5e" +ERROR: trailing junk after numeric literal at or near "1_000.5e_1" LINE 1: SELECT 1_000.5e_1; ^ PREPARE p1 AS SELECT $0_1; -ERROR: trailing junk after parameter at or near "$0_" +ERROR: trailing junk after parameter at or near "$0_1" LINE 1: PREPARE p1 AS SELECT $0_1; ^ -- diff --git a/src/test/regress/expected/partition_merge.out b/src/test/regress/expected/partition_merge.out deleted file mode 100644 index 59836e2d35e..00000000000 --- a/src/test/regress/expected/partition_merge.out +++ /dev/null @@ -1,945 +0,0 @@ --- --- PARTITIONS_MERGE --- Tests for "ALTER TABLE ... MERGE PARTITIONS ..." command --- -CREATE SCHEMA partitions_merge_schema; -CREATE SCHEMA partitions_merge_schema2; -SET search_path = partitions_merge_schema, public; --- --- BY RANGE partitioning --- --- --- Test for error codes --- -CREATE TABLE sales_range (salesperson_id INT, salesperson_name VARCHAR(30), sales_amount INT, sales_date DATE) PARTITION BY RANGE (sales_date); -CREATE TABLE sales_dec2021 PARTITION OF sales_range FOR VALUES FROM ('2021-12-01') TO ('2021-12-31'); -CREATE TABLE sales_jan2022 PARTITION OF sales_range FOR VALUES FROM ('2022-01-01') TO ('2022-02-01'); -CREATE TABLE sales_feb2022 PARTITION OF sales_range FOR VALUES FROM ('2022-02-01') TO ('2022-03-01'); -CREATE TABLE sales_mar2022 PARTITION OF sales_range FOR VALUES FROM ('2022-03-01') TO ('2022-04-01'); -CREATE TABLE sales_apr2022 (salesperson_id INT, salesperson_name VARCHAR(30), sales_amount INT, sales_date DATE) PARTITION BY RANGE (sales_date); -CREATE TABLE sales_apr_1 PARTITION OF sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-04-15'); -CREATE TABLE sales_apr_2 PARTITION OF sales_apr2022 FOR VALUES FROM ('2022-04-15') TO ('2022-05-01'); -ALTER TABLE sales_range ATTACH PARTITION sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-05-01'); -CREATE TABLE sales_others PARTITION OF sales_range DEFAULT; --- ERROR: partition with name "sales_feb2022" is already used -ALTER TABLE sales_range MERGE PARTITIONS (sales_feb2022, sales_mar2022, sales_feb2022) INTO sales_feb_mar_apr2022; -ERROR: partition with name "sales_feb2022" is already used -LINE 1: ...e MERGE PARTITIONS (sales_feb2022, sales_mar2022, sales_feb2... - ^ --- ERROR: "sales_apr2022" is not a table -ALTER TABLE sales_range MERGE PARTITIONS (sales_feb2022, sales_mar2022, sales_apr2022) INTO sales_feb_mar_apr2022; -ERROR: "sales_apr2022" is not a table --- ERROR: lower bound of partition "sales_mar2022" conflicts with upper bound of previous partition "sales_jan2022" --- (space between sections sales_jan2022 and sales_mar2022) -ALTER TABLE sales_range MERGE PARTITIONS (sales_jan2022, sales_mar2022) INTO sales_jan_mar2022; -ERROR: lower bound of partition "sales_mar2022" conflicts with upper bound of previous partition "sales_jan2022" --- ERROR: lower bound of partition "sales_jan2022" conflicts with upper bound of previous partition "sales_dec2021" --- (space between sections sales_dec2021 and sales_jan2022) -ALTER TABLE sales_range MERGE PARTITIONS (sales_dec2021, sales_jan2022, sales_feb2022) INTO sales_dec_jan_feb2022; -ERROR: lower bound of partition "sales_jan2022" conflicts with upper bound of previous partition "sales_dec2021" --- NO ERROR: test for custom partitions order, source partitions not in the search_path -SET search_path = partitions_merge_schema2, public; -ALTER TABLE partitions_merge_schema.sales_range MERGE PARTITIONS ( - partitions_merge_schema.sales_feb2022, - partitions_merge_schema.sales_mar2022, - partitions_merge_schema.sales_jan2022) INTO sales_jan_feb_mar2022; -SET search_path = partitions_merge_schema, public; -SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid) - FROM pg_catalog.pg_class c, pg_catalog.pg_inherits i - WHERE c.oid = i.inhrelid AND i.inhparent = 'sales_range'::regclass - ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; - oid | relkind | inhdetachpending | pg_get_expr -------------------------------------------------+---------+------------------+-------------------------------------------------- - partitions_merge_schema2.sales_jan_feb_mar2022 | r | f | FOR VALUES FROM ('01-01-2022') TO ('04-01-2022') - sales_apr2022 | p | f | FOR VALUES FROM ('04-01-2022') TO ('05-01-2022') - sales_dec2021 | r | f | FOR VALUES FROM ('12-01-2021') TO ('12-31-2021') - sales_others | r | f | DEFAULT -(4 rows) - -DROP TABLE sales_range; --- --- Add rows into partitioned table, then merge partitions --- -CREATE TABLE sales_range (salesperson_id INT, salesperson_name VARCHAR(30), sales_amount INT, sales_date DATE) PARTITION BY RANGE (sales_date); -CREATE TABLE sales_jan2022 PARTITION OF sales_range FOR VALUES FROM ('2022-01-01') TO ('2022-02-01'); -CREATE TABLE sales_feb2022 PARTITION OF sales_range FOR VALUES FROM ('2022-02-01') TO ('2022-03-01'); -CREATE TABLE sales_mar2022 PARTITION OF sales_range FOR VALUES FROM ('2022-03-01') TO ('2022-04-01'); -CREATE TABLE sales_apr2022 PARTITION OF sales_range FOR VALUES FROM ('2022-04-01') TO ('2022-05-01'); -CREATE TABLE sales_others PARTITION OF sales_range DEFAULT; -CREATE INDEX sales_range_sales_date_idx ON sales_range USING btree (sales_date); -INSERT INTO sales_range VALUES (1, 'May', 1000, '2022-01-31'); -INSERT INTO sales_range VALUES (2, 'Smirnoff', 500, '2022-02-10'); -INSERT INTO sales_range VALUES (3, 'Ford', 2000, '2022-04-30'); -INSERT INTO sales_range VALUES (4, 'Ivanov', 750, '2022-04-13'); -INSERT INTO sales_range VALUES (5, 'Deev', 250, '2022-04-07'); -INSERT INTO sales_range VALUES (6, 'Poirot', 150, '2022-02-11'); -INSERT INTO sales_range VALUES (7, 'Li', 175, '2022-03-08'); -INSERT INTO sales_range VALUES (8, 'Ericsson', 185, '2022-02-23'); -INSERT INTO sales_range VALUES (9, 'Muller', 250, '2022-03-11'); -INSERT INTO sales_range VALUES (10, 'Halder', 350, '2022-01-28'); -INSERT INTO sales_range VALUES (11, 'Trump', 380, '2022-04-06'); -INSERT INTO sales_range VALUES (12, 'Plato', 350, '2022-03-19'); -INSERT INTO sales_range VALUES (13, 'Gandi', 377, '2022-01-09'); -INSERT INTO sales_range VALUES (14, 'Smith', 510, '2022-05-04'); -SELECT pg_catalog.pg_get_partkeydef('sales_range'::regclass); - pg_get_partkeydef --------------------- - RANGE (sales_date) -(1 row) - --- show partitions with conditions: -SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid) - FROM pg_catalog.pg_class c, pg_catalog.pg_inherits i - WHERE c.oid = i.inhrelid AND i.inhparent = 'sales_range'::regclass - ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; - oid | relkind | inhdetachpending | pg_get_expr ----------------+---------+------------------+-------------------------------------------------- - sales_apr2022 | r | f | FOR VALUES FROM ('04-01-2022') TO ('05-01-2022') - sales_feb2022 | r | f | FOR VALUES FROM ('02-01-2022') TO ('03-01-2022') - sales_jan2022 | r | f | FOR VALUES FROM ('01-01-2022') TO ('02-01-2022') - sales_mar2022 | r | f | FOR VALUES FROM ('03-01-2022') TO ('04-01-2022') - sales_others | r | f | DEFAULT -(5 rows) - --- check schema-qualified name of the new partition -ALTER TABLE sales_range MERGE PARTITIONS (sales_feb2022, sales_mar2022, sales_apr2022) INTO partitions_merge_schema2.sales_feb_mar_apr2022; --- show partitions with conditions: -SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid) - FROM pg_catalog.pg_class c, pg_catalog.pg_inherits i - WHERE c.oid = i.inhrelid AND i.inhparent = 'sales_range'::regclass - ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; - oid | relkind | inhdetachpending | pg_get_expr -------------------------------------------------+---------+------------------+-------------------------------------------------- - partitions_merge_schema2.sales_feb_mar_apr2022 | r | f | FOR VALUES FROM ('02-01-2022') TO ('05-01-2022') - sales_jan2022 | r | f | FOR VALUES FROM ('01-01-2022') TO ('02-01-2022') - sales_others | r | f | DEFAULT -(3 rows) - -SELECT * FROM pg_indexes WHERE tablename = 'sales_feb_mar_apr2022' and schemaname = 'partitions_merge_schema2'; - schemaname | tablename | indexname | tablespace | indexdef ---------------------------+-----------------------+--------------------------------------+------------+------------------------------------------------------------------------------------------------------------------------------ - partitions_merge_schema2 | sales_feb_mar_apr2022 | sales_feb_mar_apr2022_sales_date_idx | | CREATE INDEX sales_feb_mar_apr2022_sales_date_idx ON partitions_merge_schema2.sales_feb_mar_apr2022 USING btree (sales_date) -(1 row) - -SELECT * FROM sales_range; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 1 | May | 1000 | 01-31-2022 - 10 | Halder | 350 | 01-28-2022 - 13 | Gandi | 377 | 01-09-2022 - 2 | Smirnoff | 500 | 02-10-2022 - 6 | Poirot | 150 | 02-11-2022 - 8 | Ericsson | 185 | 02-23-2022 - 7 | Li | 175 | 03-08-2022 - 9 | Muller | 250 | 03-11-2022 - 12 | Plato | 350 | 03-19-2022 - 3 | Ford | 2000 | 04-30-2022 - 4 | Ivanov | 750 | 04-13-2022 - 5 | Deev | 250 | 04-07-2022 - 11 | Trump | 380 | 04-06-2022 - 14 | Smith | 510 | 05-04-2022 -(14 rows) - -SELECT * FROM sales_jan2022; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 1 | May | 1000 | 01-31-2022 - 10 | Halder | 350 | 01-28-2022 - 13 | Gandi | 377 | 01-09-2022 -(3 rows) - -SELECT * FROM partitions_merge_schema2.sales_feb_mar_apr2022; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 2 | Smirnoff | 500 | 02-10-2022 - 6 | Poirot | 150 | 02-11-2022 - 8 | Ericsson | 185 | 02-23-2022 - 7 | Li | 175 | 03-08-2022 - 9 | Muller | 250 | 03-11-2022 - 12 | Plato | 350 | 03-19-2022 - 3 | Ford | 2000 | 04-30-2022 - 4 | Ivanov | 750 | 04-13-2022 - 5 | Deev | 250 | 04-07-2022 - 11 | Trump | 380 | 04-06-2022 -(10 rows) - -SELECT * FROM sales_others; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 14 | Smith | 510 | 05-04-2022 -(1 row) - --- Use indexscan for testing indexes -SET enable_seqscan = OFF; -SELECT * FROM partitions_merge_schema2.sales_feb_mar_apr2022 where sales_date > '2022-01-01'; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 2 | Smirnoff | 500 | 02-10-2022 - 6 | Poirot | 150 | 02-11-2022 - 8 | Ericsson | 185 | 02-23-2022 - 7 | Li | 175 | 03-08-2022 - 9 | Muller | 250 | 03-11-2022 - 12 | Plato | 350 | 03-19-2022 - 11 | Trump | 380 | 04-06-2022 - 5 | Deev | 250 | 04-07-2022 - 4 | Ivanov | 750 | 04-13-2022 - 3 | Ford | 2000 | 04-30-2022 -(10 rows) - -RESET enable_seqscan; -DROP TABLE sales_range; --- --- Merge some partitions into DEFAULT partition --- -CREATE TABLE sales_range (salesperson_id INT, salesperson_name VARCHAR(30), sales_amount INT, sales_date DATE) PARTITION BY RANGE (sales_date); -CREATE TABLE sales_jan2022 PARTITION OF sales_range FOR VALUES FROM ('2022-01-01') TO ('2022-02-01'); -CREATE TABLE sales_feb2022 PARTITION OF sales_range FOR VALUES FROM ('2022-02-01') TO ('2022-03-01'); -CREATE TABLE sales_mar2022 PARTITION OF sales_range FOR VALUES FROM ('2022-03-01') TO ('2022-04-01'); -CREATE TABLE sales_apr2022 PARTITION OF sales_range FOR VALUES FROM ('2022-04-01') TO ('2022-05-01'); -CREATE TABLE sales_others PARTITION OF sales_range DEFAULT; -CREATE INDEX sales_range_sales_date_idx ON sales_range USING btree (sales_date); -INSERT INTO sales_range VALUES (1, 'May', 1000, '2022-01-31'); -INSERT INTO sales_range VALUES (2, 'Smirnoff', 500, '2022-02-10'); -INSERT INTO sales_range VALUES (3, 'Ford', 2000, '2022-04-30'); -INSERT INTO sales_range VALUES (4, 'Ivanov', 750, '2022-04-13'); -INSERT INTO sales_range VALUES (5, 'Deev', 250, '2022-04-07'); -INSERT INTO sales_range VALUES (6, 'Poirot', 150, '2022-02-11'); -INSERT INTO sales_range VALUES (7, 'Li', 175, '2022-03-08'); -INSERT INTO sales_range VALUES (8, 'Ericsson', 185, '2022-02-23'); -INSERT INTO sales_range VALUES (9, 'Muller', 250, '2022-03-11'); -INSERT INTO sales_range VALUES (10, 'Halder', 350, '2022-01-28'); -INSERT INTO sales_range VALUES (11, 'Trump', 380, '2022-04-06'); -INSERT INTO sales_range VALUES (12, 'Plato', 350, '2022-03-19'); -INSERT INTO sales_range VALUES (13, 'Gandi', 377, '2022-01-09'); -INSERT INTO sales_range VALUES (14, 'Smith', 510, '2022-05-04'); --- Merge partitions (include DEFAULT partition) into partition with the same --- name -ALTER TABLE sales_range MERGE PARTITIONS - (sales_jan2022, sales_mar2022, partitions_merge_schema.sales_others) INTO sales_others; -select * from sales_others; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 1 | May | 1000 | 01-31-2022 - 10 | Halder | 350 | 01-28-2022 - 13 | Gandi | 377 | 01-09-2022 - 7 | Li | 175 | 03-08-2022 - 9 | Muller | 250 | 03-11-2022 - 12 | Plato | 350 | 03-19-2022 - 14 | Smith | 510 | 05-04-2022 -(7 rows) - --- show partitions with conditions: -SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid) - FROM pg_catalog.pg_class c, pg_catalog.pg_inherits i - WHERE c.oid = i.inhrelid AND i.inhparent = 'sales_range'::regclass - ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; - oid | relkind | inhdetachpending | pg_get_expr ----------------+---------+------------------+-------------------------------------------------- - sales_apr2022 | r | f | FOR VALUES FROM ('04-01-2022') TO ('05-01-2022') - sales_feb2022 | r | f | FOR VALUES FROM ('02-01-2022') TO ('03-01-2022') - sales_others | r | f | DEFAULT -(3 rows) - -DROP TABLE sales_range; --- --- Test for: --- * composite partition key; --- * GENERATED column; --- * column with DEFAULT value. --- -CREATE TABLE sales_date (salesperson_name VARCHAR(30), sales_year INT, sales_month INT, sales_day INT, - sales_date VARCHAR(10) GENERATED ALWAYS AS - (LPAD(sales_year::text, 4, '0') || '.' || LPAD(sales_month::text, 2, '0') || '.' || LPAD(sales_day::text, 2, '0')) STORED, - sales_department VARCHAR(30) DEFAULT 'Sales department') - PARTITION BY RANGE (sales_year, sales_month, sales_day); -CREATE TABLE sales_dec2022 PARTITION OF sales_date FOR VALUES FROM (2021, 12, 1) TO (2022, 1, 1); -CREATE TABLE sales_jan2022 PARTITION OF sales_date FOR VALUES FROM (2022, 1, 1) TO (2022, 2, 1); -CREATE TABLE sales_feb2022 PARTITION OF sales_date FOR VALUES FROM (2022, 2, 1) TO (2022, 3, 1); -CREATE TABLE sales_other PARTITION OF sales_date FOR VALUES FROM (2022, 3, 1) TO (MAXVALUE, MAXVALUE, MAXVALUE); -INSERT INTO sales_date(salesperson_name, sales_year, sales_month, sales_day) VALUES ('Manager1', 2021, 12, 7); -INSERT INTO sales_date(salesperson_name, sales_year, sales_month, sales_day) VALUES ('Manager2', 2021, 12, 8); -INSERT INTO sales_date(salesperson_name, sales_year, sales_month, sales_day) VALUES ('Manager3', 2022, 1, 1); -INSERT INTO sales_date(salesperson_name, sales_year, sales_month, sales_day) VALUES ('Manager1', 2022, 2, 4); -INSERT INTO sales_date(salesperson_name, sales_year, sales_month, sales_day) VALUES ('Manager2', 2022, 1, 2); -INSERT INTO sales_date(salesperson_name, sales_year, sales_month, sales_day) VALUES ('Manager3', 2022, 2, 1); -INSERT INTO sales_date(salesperson_name, sales_year, sales_month, sales_day) VALUES ('Manager1', 2022, 3, 3); -INSERT INTO sales_date(salesperson_name, sales_year, sales_month, sales_day) VALUES ('Manager2', 2022, 3, 4); -INSERT INTO sales_date(salesperson_name, sales_year, sales_month, sales_day) VALUES ('Manager3', 2022, 5, 1); -SELECT * FROM sales_date; - salesperson_name | sales_year | sales_month | sales_day | sales_date | sales_department -------------------+------------+-------------+-----------+------------+------------------ - Manager1 | 2021 | 12 | 7 | 2021.12.07 | Sales department - Manager2 | 2021 | 12 | 8 | 2021.12.08 | Sales department - Manager3 | 2022 | 1 | 1 | 2022.01.01 | Sales department - Manager2 | 2022 | 1 | 2 | 2022.01.02 | Sales department - Manager1 | 2022 | 2 | 4 | 2022.02.04 | Sales department - Manager3 | 2022 | 2 | 1 | 2022.02.01 | Sales department - Manager1 | 2022 | 3 | 3 | 2022.03.03 | Sales department - Manager2 | 2022 | 3 | 4 | 2022.03.04 | Sales department - Manager3 | 2022 | 5 | 1 | 2022.05.01 | Sales department -(9 rows) - -SELECT * FROM sales_dec2022; - salesperson_name | sales_year | sales_month | sales_day | sales_date | sales_department -------------------+------------+-------------+-----------+------------+------------------ - Manager1 | 2021 | 12 | 7 | 2021.12.07 | Sales department - Manager2 | 2021 | 12 | 8 | 2021.12.08 | Sales department -(2 rows) - -SELECT * FROM sales_jan2022; - salesperson_name | sales_year | sales_month | sales_day | sales_date | sales_department -------------------+------------+-------------+-----------+------------+------------------ - Manager3 | 2022 | 1 | 1 | 2022.01.01 | Sales department - Manager2 | 2022 | 1 | 2 | 2022.01.02 | Sales department -(2 rows) - -SELECT * FROM sales_feb2022; - salesperson_name | sales_year | sales_month | sales_day | sales_date | sales_department -------------------+------------+-------------+-----------+------------+------------------ - Manager1 | 2022 | 2 | 4 | 2022.02.04 | Sales department - Manager3 | 2022 | 2 | 1 | 2022.02.01 | Sales department -(2 rows) - -SELECT * FROM sales_other; - salesperson_name | sales_year | sales_month | sales_day | sales_date | sales_department -------------------+------------+-------------+-----------+------------+------------------ - Manager1 | 2022 | 3 | 3 | 2022.03.03 | Sales department - Manager2 | 2022 | 3 | 4 | 2022.03.04 | Sales department - Manager3 | 2022 | 5 | 1 | 2022.05.01 | Sales department -(3 rows) - -ALTER TABLE sales_date MERGE PARTITIONS (sales_jan2022, sales_feb2022) INTO sales_jan_feb2022; -INSERT INTO sales_date(salesperson_name, sales_year, sales_month, sales_day) VALUES ('Manager1', 2022, 1, 10); -INSERT INTO sales_date(salesperson_name, sales_year, sales_month, sales_day) VALUES ('Manager2', 2022, 2, 10); -SELECT * FROM sales_date; - salesperson_name | sales_year | sales_month | sales_day | sales_date | sales_department -------------------+------------+-------------+-----------+------------+------------------ - Manager1 | 2021 | 12 | 7 | 2021.12.07 | Sales department - Manager2 | 2021 | 12 | 8 | 2021.12.08 | Sales department - Manager3 | 2022 | 1 | 1 | 2022.01.01 | Sales department - Manager2 | 2022 | 1 | 2 | 2022.01.02 | Sales department - Manager1 | 2022 | 2 | 4 | 2022.02.04 | Sales department - Manager3 | 2022 | 2 | 1 | 2022.02.01 | Sales department - Manager1 | 2022 | 1 | 10 | 2022.01.10 | Sales department - Manager2 | 2022 | 2 | 10 | 2022.02.10 | Sales department - Manager1 | 2022 | 3 | 3 | 2022.03.03 | Sales department - Manager2 | 2022 | 3 | 4 | 2022.03.04 | Sales department - Manager3 | 2022 | 5 | 1 | 2022.05.01 | Sales department -(11 rows) - -SELECT * FROM sales_dec2022; - salesperson_name | sales_year | sales_month | sales_day | sales_date | sales_department -------------------+------------+-------------+-----------+------------+------------------ - Manager1 | 2021 | 12 | 7 | 2021.12.07 | Sales department - Manager2 | 2021 | 12 | 8 | 2021.12.08 | Sales department -(2 rows) - -SELECT * FROM sales_jan_feb2022; - salesperson_name | sales_year | sales_month | sales_day | sales_date | sales_department -------------------+------------+-------------+-----------+------------+------------------ - Manager3 | 2022 | 1 | 1 | 2022.01.01 | Sales department - Manager2 | 2022 | 1 | 2 | 2022.01.02 | Sales department - Manager1 | 2022 | 2 | 4 | 2022.02.04 | Sales department - Manager3 | 2022 | 2 | 1 | 2022.02.01 | Sales department - Manager1 | 2022 | 1 | 10 | 2022.01.10 | Sales department - Manager2 | 2022 | 2 | 10 | 2022.02.10 | Sales department -(6 rows) - -SELECT * FROM sales_other; - salesperson_name | sales_year | sales_month | sales_day | sales_date | sales_department -------------------+------------+-------------+-----------+------------+------------------ - Manager1 | 2022 | 3 | 3 | 2022.03.03 | Sales department - Manager2 | 2022 | 3 | 4 | 2022.03.04 | Sales department - Manager3 | 2022 | 5 | 1 | 2022.05.01 | Sales department -(3 rows) - -DROP TABLE sales_date; --- --- Test: merge partitions of partitioned table with triggers --- -CREATE TABLE salespeople(salesperson_id INT PRIMARY KEY, salesperson_name VARCHAR(30)) PARTITION BY RANGE (salesperson_id); -CREATE TABLE salespeople01_10 PARTITION OF salespeople FOR VALUES FROM (1) TO (10); -CREATE TABLE salespeople10_20 PARTITION OF salespeople FOR VALUES FROM (10) TO (20); -CREATE TABLE salespeople20_30 PARTITION OF salespeople FOR VALUES FROM (20) TO (30); -CREATE TABLE salespeople30_40 PARTITION OF salespeople FOR VALUES FROM (30) TO (40); -INSERT INTO salespeople VALUES (1, 'Poirot'); -CREATE OR REPLACE FUNCTION after_insert_row_trigger() RETURNS trigger LANGUAGE 'plpgsql' AS $BODY$ -BEGIN - RAISE NOTICE 'trigger(%) called: action = %, when = %, level = %', TG_ARGV[0], TG_OP, TG_WHEN, TG_LEVEL; - RETURN NULL; -END; -$BODY$; -CREATE TRIGGER salespeople_after_insert_statement_trigger - AFTER INSERT - ON salespeople - FOR EACH STATEMENT - EXECUTE PROCEDURE after_insert_row_trigger('salespeople'); -CREATE TRIGGER salespeople_after_insert_row_trigger - AFTER INSERT - ON salespeople - FOR EACH ROW - EXECUTE PROCEDURE after_insert_row_trigger('salespeople'); --- 2 triggers should fire here (row + statement): -INSERT INTO salespeople VALUES (10, 'May'); -NOTICE: trigger(salespeople) called: action = INSERT, when = AFTER, level = ROW -NOTICE: trigger(salespeople) called: action = INSERT, when = AFTER, level = STATEMENT --- 1 trigger should fire here (row): -INSERT INTO salespeople10_20 VALUES (19, 'Ivanov'); -NOTICE: trigger(salespeople) called: action = INSERT, when = AFTER, level = ROW -ALTER TABLE salespeople MERGE PARTITIONS (salespeople10_20, salespeople20_30, salespeople30_40) INTO salespeople10_40; --- 2 triggers should fire here (row + statement): -INSERT INTO salespeople VALUES (20, 'Smirnoff'); -NOTICE: trigger(salespeople) called: action = INSERT, when = AFTER, level = ROW -NOTICE: trigger(salespeople) called: action = INSERT, when = AFTER, level = STATEMENT --- 1 trigger should fire here (row): -INSERT INTO salespeople10_40 VALUES (30, 'Ford'); -NOTICE: trigger(salespeople) called: action = INSERT, when = AFTER, level = ROW -SELECT * FROM salespeople01_10; - salesperson_id | salesperson_name -----------------+------------------ - 1 | Poirot -(1 row) - -SELECT * FROM salespeople10_40; - salesperson_id | salesperson_name -----------------+------------------ - 10 | May - 19 | Ivanov - 20 | Smirnoff - 30 | Ford -(4 rows) - -DROP TABLE salespeople; -DROP FUNCTION after_insert_row_trigger(); --- --- Test: merge partitions with deleted columns --- -CREATE TABLE salespeople(salesperson_id INT PRIMARY KEY, salesperson_name VARCHAR(30)) PARTITION BY RANGE (salesperson_id); -CREATE TABLE salespeople01_10 PARTITION OF salespeople FOR VALUES FROM (1) TO (10); --- Create partitions with some deleted columns: -CREATE TABLE salespeople10_20(d1 VARCHAR(30), salesperson_id INT PRIMARY KEY, salesperson_name VARCHAR(30)); -CREATE TABLE salespeople20_30(salesperson_id INT PRIMARY KEY, d2 INT, salesperson_name VARCHAR(30)); -CREATE TABLE salespeople30_40(salesperson_id INT PRIMARY KEY, d3 DATE, salesperson_name VARCHAR(30)); -INSERT INTO salespeople10_20 VALUES ('dummy value 1', 19, 'Ivanov'); -INSERT INTO salespeople20_30 VALUES (20, 101, 'Smirnoff'); -INSERT INTO salespeople30_40 VALUES (31, now(), 'Popov'); -ALTER TABLE salespeople10_20 DROP COLUMN d1; -ALTER TABLE salespeople20_30 DROP COLUMN d2; -ALTER TABLE salespeople30_40 DROP COLUMN d3; -ALTER TABLE salespeople ATTACH PARTITION salespeople10_20 FOR VALUES FROM (10) TO (20); -ALTER TABLE salespeople ATTACH PARTITION salespeople20_30 FOR VALUES FROM (20) TO (30); -ALTER TABLE salespeople ATTACH PARTITION salespeople30_40 FOR VALUES FROM (30) TO (40); -INSERT INTO salespeople VALUES (1, 'Poirot'); -INSERT INTO salespeople VALUES (10, 'May'); -INSERT INTO salespeople VALUES (30, 'Ford'); -ALTER TABLE salespeople MERGE PARTITIONS (salespeople10_20, salespeople20_30, salespeople30_40) INTO salespeople10_40; -select * from salespeople; - salesperson_id | salesperson_name -----------------+------------------ - 1 | Poirot - 19 | Ivanov - 10 | May - 20 | Smirnoff - 31 | Popov - 30 | Ford -(6 rows) - -select * from salespeople01_10; - salesperson_id | salesperson_name -----------------+------------------ - 1 | Poirot -(1 row) - -select * from salespeople10_40; - salesperson_id | salesperson_name -----------------+------------------ - 19 | Ivanov - 10 | May - 20 | Smirnoff - 31 | Popov - 30 | Ford -(5 rows) - -DROP TABLE salespeople; --- --- Test: merge sub-partitions --- -CREATE TABLE sales_range (salesperson_id INT, salesperson_name VARCHAR(30), sales_amount INT, sales_date DATE) PARTITION BY RANGE (sales_date); -CREATE TABLE sales_jan2022 PARTITION OF sales_range FOR VALUES FROM ('2022-01-01') TO ('2022-02-01'); -CREATE TABLE sales_feb2022 PARTITION OF sales_range FOR VALUES FROM ('2022-02-01') TO ('2022-03-01'); -CREATE TABLE sales_mar2022 PARTITION OF sales_range FOR VALUES FROM ('2022-03-01') TO ('2022-04-01'); -CREATE TABLE sales_apr2022 (salesperson_id INT, salesperson_name VARCHAR(30), sales_amount INT, sales_date DATE) PARTITION BY RANGE (sales_date); -CREATE TABLE sales_apr2022_01_10 PARTITION OF sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-04-10'); -CREATE TABLE sales_apr2022_10_20 PARTITION OF sales_apr2022 FOR VALUES FROM ('2022-04-10') TO ('2022-04-20'); -CREATE TABLE sales_apr2022_20_30 PARTITION OF sales_apr2022 FOR VALUES FROM ('2022-04-20') TO ('2022-05-01'); -ALTER TABLE sales_range ATTACH PARTITION sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-05-01'); -CREATE TABLE sales_others PARTITION OF sales_range DEFAULT; -CREATE INDEX sales_range_sales_date_idx ON sales_range USING btree (sales_date); -INSERT INTO sales_range VALUES (1, 'May', 1000, '2022-01-31'); -INSERT INTO sales_range VALUES (2, 'Smirnoff', 500, '2022-02-10'); -INSERT INTO sales_range VALUES (3, 'Ford', 2000, '2022-04-30'); -INSERT INTO sales_range VALUES (4, 'Ivanov', 750, '2022-04-13'); -INSERT INTO sales_range VALUES (5, 'Deev', 250, '2022-04-07'); -INSERT INTO sales_range VALUES (6, 'Poirot', 150, '2022-02-11'); -INSERT INTO sales_range VALUES (7, 'Li', 175, '2022-03-08'); -INSERT INTO sales_range VALUES (8, 'Ericsson', 185, '2022-02-23'); -INSERT INTO sales_range VALUES (9, 'Muller', 250, '2022-03-11'); -INSERT INTO sales_range VALUES (10, 'Halder', 350, '2022-01-28'); -INSERT INTO sales_range VALUES (11, 'Trump', 380, '2022-04-06'); -INSERT INTO sales_range VALUES (12, 'Plato', 350, '2022-03-19'); -INSERT INTO sales_range VALUES (13, 'Gandi', 377, '2022-01-09'); -INSERT INTO sales_range VALUES (14, 'Smith', 510, '2022-05-04'); -SELECT * FROM sales_range; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 1 | May | 1000 | 01-31-2022 - 10 | Halder | 350 | 01-28-2022 - 13 | Gandi | 377 | 01-09-2022 - 2 | Smirnoff | 500 | 02-10-2022 - 6 | Poirot | 150 | 02-11-2022 - 8 | Ericsson | 185 | 02-23-2022 - 7 | Li | 175 | 03-08-2022 - 9 | Muller | 250 | 03-11-2022 - 12 | Plato | 350 | 03-19-2022 - 5 | Deev | 250 | 04-07-2022 - 11 | Trump | 380 | 04-06-2022 - 4 | Ivanov | 750 | 04-13-2022 - 3 | Ford | 2000 | 04-30-2022 - 14 | Smith | 510 | 05-04-2022 -(14 rows) - -SELECT * FROM sales_apr2022; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 5 | Deev | 250 | 04-07-2022 - 11 | Trump | 380 | 04-06-2022 - 4 | Ivanov | 750 | 04-13-2022 - 3 | Ford | 2000 | 04-30-2022 -(4 rows) - -SELECT * FROM sales_apr2022_01_10; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 5 | Deev | 250 | 04-07-2022 - 11 | Trump | 380 | 04-06-2022 -(2 rows) - -SELECT * FROM sales_apr2022_10_20; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 4 | Ivanov | 750 | 04-13-2022 -(1 row) - -SELECT * FROM sales_apr2022_20_30; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 3 | Ford | 2000 | 04-30-2022 -(1 row) - -ALTER TABLE sales_apr2022 MERGE PARTITIONS (sales_apr2022_01_10, sales_apr2022_10_20, sales_apr2022_20_30) INTO sales_apr_all; -SELECT * FROM sales_range; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 1 | May | 1000 | 01-31-2022 - 10 | Halder | 350 | 01-28-2022 - 13 | Gandi | 377 | 01-09-2022 - 2 | Smirnoff | 500 | 02-10-2022 - 6 | Poirot | 150 | 02-11-2022 - 8 | Ericsson | 185 | 02-23-2022 - 7 | Li | 175 | 03-08-2022 - 9 | Muller | 250 | 03-11-2022 - 12 | Plato | 350 | 03-19-2022 - 5 | Deev | 250 | 04-07-2022 - 11 | Trump | 380 | 04-06-2022 - 4 | Ivanov | 750 | 04-13-2022 - 3 | Ford | 2000 | 04-30-2022 - 14 | Smith | 510 | 05-04-2022 -(14 rows) - -SELECT * FROM sales_apr2022; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 5 | Deev | 250 | 04-07-2022 - 11 | Trump | 380 | 04-06-2022 - 4 | Ivanov | 750 | 04-13-2022 - 3 | Ford | 2000 | 04-30-2022 -(4 rows) - -SELECT * FROM sales_apr_all; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 5 | Deev | 250 | 04-07-2022 - 11 | Trump | 380 | 04-06-2022 - 4 | Ivanov | 750 | 04-13-2022 - 3 | Ford | 2000 | 04-30-2022 -(4 rows) - -DROP TABLE sales_range; --- --- BY LIST partitioning --- --- --- Test: specific errors for BY LIST partitioning --- -CREATE TABLE sales_list -(salesperson_id INT GENERATED ALWAYS AS IDENTITY, - salesperson_name VARCHAR(30), - sales_state VARCHAR(20), - sales_amount INT, - sales_date DATE) -PARTITION BY LIST (sales_state); -CREATE TABLE sales_nord PARTITION OF sales_list FOR VALUES IN ('Oslo', 'St. Petersburg', 'Helsinki'); -CREATE TABLE sales_west PARTITION OF sales_list FOR VALUES IN ('Lisbon', 'New York', 'Madrid'); -CREATE TABLE sales_east PARTITION OF sales_list FOR VALUES IN ('Bejing', 'Delhi', 'Vladivostok'); -CREATE TABLE sales_central PARTITION OF sales_list FOR VALUES IN ('Warsaw', 'Berlin', 'Kyiv'); -CREATE TABLE sales_others PARTITION OF sales_list DEFAULT; -CREATE TABLE sales_list2 (LIKE sales_list) PARTITION BY LIST (sales_state); -CREATE TABLE sales_nord2 PARTITION OF sales_list2 FOR VALUES IN ('Oslo', 'St. Petersburg', 'Helsinki'); -CREATE TABLE sales_others2 PARTITION OF sales_list2 DEFAULT; -CREATE TABLE sales_external (LIKE sales_list); -CREATE TABLE sales_external2 (vch VARCHAR(5)); --- ERROR: "sales_external" is not a partition -ALTER TABLE sales_list MERGE PARTITIONS (sales_west, sales_east, sales_external) INTO sales_all; -ERROR: "sales_external" is not a partition --- ERROR: "sales_external2" is not a partition -ALTER TABLE sales_list MERGE PARTITIONS (sales_west, sales_east, sales_external2) INTO sales_all; -ERROR: "sales_external2" is not a partition --- ERROR: relation "sales_nord2" is not a partition of relation "sales_list" -ALTER TABLE sales_list MERGE PARTITIONS (sales_west, sales_nord2, sales_east) INTO sales_all; -ERROR: relation "sales_nord2" is not a partition of relation "sales_list" -DROP TABLE sales_external2; -DROP TABLE sales_external; -DROP TABLE sales_list2; -DROP TABLE sales_list; --- --- Test: BY LIST partitioning, MERGE PARTITIONS with data --- -CREATE TABLE sales_list -(salesperson_id INT GENERATED ALWAYS AS IDENTITY, - salesperson_name VARCHAR(30), - sales_state VARCHAR(20), - sales_amount INT, - sales_date DATE) -PARTITION BY LIST (sales_state); -CREATE INDEX sales_list_salesperson_name_idx ON sales_list USING btree (salesperson_name); -CREATE INDEX sales_list_sales_state_idx ON sales_list USING btree (sales_state); -CREATE TABLE sales_nord PARTITION OF sales_list FOR VALUES IN ('Oslo', 'St. Petersburg', 'Helsinki'); -CREATE TABLE sales_west PARTITION OF sales_list FOR VALUES IN ('Lisbon', 'New York', 'Madrid'); -CREATE TABLE sales_east PARTITION OF sales_list FOR VALUES IN ('Bejing', 'Delhi', 'Vladivostok'); -CREATE TABLE sales_central PARTITION OF sales_list FOR VALUES IN ('Warsaw', 'Berlin', 'Kyiv'); -CREATE TABLE sales_others PARTITION OF sales_list DEFAULT; -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('Trump', 'Bejing', 1000, '2022-03-01'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('Smirnoff', 'New York', 500, '2022-03-03'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('Ford', 'St. Petersburg', 2000, '2022-03-05'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('Ivanov', 'Warsaw', 750, '2022-03-04'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('Deev', 'Lisbon', 250, '2022-03-07'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('Poirot', 'Berlin', 1000, '2022-03-01'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('May', 'Helsinki', 1200, '2022-03-06'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('Li', 'Vladivostok', 1150, '2022-03-09'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('May', 'Helsinki', 1200, '2022-03-11'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('Halder', 'Oslo', 800, '2022-03-02'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('Muller', 'Madrid', 650, '2022-03-05'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('Smith', 'Kyiv', 350, '2022-03-10'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('Gandi', 'Warsaw', 150, '2022-03-08'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('Plato', 'Lisbon', 950, '2022-03-05'); --- show partitions with conditions: -SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid) - FROM pg_catalog.pg_class c, pg_catalog.pg_inherits i - WHERE c.oid = i.inhrelid AND i.inhparent = 'sales_list'::regclass - ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; - oid | relkind | inhdetachpending | pg_get_expr ----------------+---------+------------------+------------------------------------------------------ - sales_central | r | f | FOR VALUES IN ('Warsaw', 'Berlin', 'Kyiv') - sales_east | r | f | FOR VALUES IN ('Bejing', 'Delhi', 'Vladivostok') - sales_nord | r | f | FOR VALUES IN ('Oslo', 'St. Petersburg', 'Helsinki') - sales_west | r | f | FOR VALUES IN ('Lisbon', 'New York', 'Madrid') - sales_others | r | f | DEFAULT -(5 rows) - -ALTER TABLE sales_list MERGE PARTITIONS (sales_west, sales_east, sales_central) INTO sales_all; --- show partitions with conditions: -SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid) - FROM pg_catalog.pg_class c, pg_catalog.pg_inherits i - WHERE c.oid = i.inhrelid AND i.inhparent = 'sales_list'::regclass - ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; - oid | relkind | inhdetachpending | pg_get_expr ---------------+---------+------------------+-------------------------------------------------------------------------------------------------------------- - sales_all | r | f | FOR VALUES IN ('Lisbon', 'New York', 'Madrid', 'Bejing', 'Delhi', 'Vladivostok', 'Warsaw', 'Berlin', 'Kyiv') - sales_nord | r | f | FOR VALUES IN ('Oslo', 'St. Petersburg', 'Helsinki') - sales_others | r | f | DEFAULT -(3 rows) - -SELECT * FROM sales_list; - salesperson_id | salesperson_name | sales_state | sales_amount | sales_date -----------------+------------------+----------------+--------------+------------ - 2 | Smirnoff | New York | 500 | 03-03-2022 - 5 | Deev | Lisbon | 250 | 03-07-2022 - 11 | Muller | Madrid | 650 | 03-05-2022 - 14 | Plato | Lisbon | 950 | 03-05-2022 - 1 | Trump | Bejing | 1000 | 03-01-2022 - 8 | Li | Vladivostok | 1150 | 03-09-2022 - 4 | Ivanov | Warsaw | 750 | 03-04-2022 - 6 | Poirot | Berlin | 1000 | 03-01-2022 - 12 | Smith | Kyiv | 350 | 03-10-2022 - 13 | Gandi | Warsaw | 150 | 03-08-2022 - 3 | Ford | St. Petersburg | 2000 | 03-05-2022 - 7 | May | Helsinki | 1200 | 03-06-2022 - 9 | May | Helsinki | 1200 | 03-11-2022 - 10 | Halder | Oslo | 800 | 03-02-2022 -(14 rows) - -SELECT * FROM sales_nord; - salesperson_id | salesperson_name | sales_state | sales_amount | sales_date -----------------+------------------+----------------+--------------+------------ - 3 | Ford | St. Petersburg | 2000 | 03-05-2022 - 7 | May | Helsinki | 1200 | 03-06-2022 - 9 | May | Helsinki | 1200 | 03-11-2022 - 10 | Halder | Oslo | 800 | 03-02-2022 -(4 rows) - -SELECT * FROM sales_all; - salesperson_id | salesperson_name | sales_state | sales_amount | sales_date -----------------+------------------+-------------+--------------+------------ - 2 | Smirnoff | New York | 500 | 03-03-2022 - 5 | Deev | Lisbon | 250 | 03-07-2022 - 11 | Muller | Madrid | 650 | 03-05-2022 - 14 | Plato | Lisbon | 950 | 03-05-2022 - 1 | Trump | Bejing | 1000 | 03-01-2022 - 8 | Li | Vladivostok | 1150 | 03-09-2022 - 4 | Ivanov | Warsaw | 750 | 03-04-2022 - 6 | Poirot | Berlin | 1000 | 03-01-2022 - 12 | Smith | Kyiv | 350 | 03-10-2022 - 13 | Gandi | Warsaw | 150 | 03-08-2022 -(10 rows) - --- Use indexscan for testing indexes after merging partitions -SET enable_seqscan = OFF; -SELECT * FROM sales_all WHERE sales_state = 'Warsaw'; - salesperson_id | salesperson_name | sales_state | sales_amount | sales_date -----------------+------------------+-------------+--------------+------------ - 4 | Ivanov | Warsaw | 750 | 03-04-2022 - 13 | Gandi | Warsaw | 150 | 03-08-2022 -(2 rows) - -SELECT * FROM sales_list WHERE sales_state = 'Warsaw'; - salesperson_id | salesperson_name | sales_state | sales_amount | sales_date -----------------+------------------+-------------+--------------+------------ - 4 | Ivanov | Warsaw | 750 | 03-04-2022 - 13 | Gandi | Warsaw | 150 | 03-08-2022 -(2 rows) - -SELECT * FROM sales_list WHERE salesperson_name = 'Ivanov'; - salesperson_id | salesperson_name | sales_state | sales_amount | sales_date -----------------+------------------+-------------+--------------+------------ - 4 | Ivanov | Warsaw | 750 | 03-04-2022 -(1 row) - -RESET enable_seqscan; -DROP TABLE sales_list; --- --- Try to MERGE partitions of another table. --- -CREATE TABLE t1 (i int, a int, b int, c int) PARTITION BY RANGE (a, b); -CREATE TABLE t1p1 PARTITION OF t1 FOR VALUES FROM (1, 1) TO (1, 2); -CREATE TABLE t2 (i int, t text) PARTITION BY RANGE (t); -CREATE TABLE t2pa PARTITION OF t2 FOR VALUES FROM ('A') TO ('C'); -CREATE TABLE t3 (i int, t text); --- ERROR: relation "t1p1" is not a partition of relation "t2" -ALTER TABLE t2 MERGE PARTITIONS (t1p1, t2pa) INTO t2p; -ERROR: relation "t1p1" is not a partition of relation "t2" --- ERROR: "t3" is not a partition -ALTER TABLE t2 MERGE PARTITIONS (t2pa, t3) INTO t2p; -ERROR: "t3" is not a partition -DROP TABLE t3; -DROP TABLE t2; -DROP TABLE t1; --- --- Try to MERGE partitions of temporary table. --- -CREATE TEMP TABLE t (i int) PARTITION BY RANGE (i); -CREATE TEMP TABLE tp_0_1 PARTITION OF t FOR VALUES FROM (0) TO (1); -CREATE TEMP TABLE tp_1_2 PARTITION OF t FOR VALUES FROM (1) TO (2); -SELECT c.oid::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), c.relpersistence - FROM pg_catalog.pg_class c, pg_catalog.pg_inherits i - WHERE c.oid = i.inhrelid AND i.inhparent = 't'::regclass - ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; - oid | pg_get_expr | relpersistence ---------+----------------------------+---------------- - tp_0_1 | FOR VALUES FROM (0) TO (1) | t - tp_1_2 | FOR VALUES FROM (1) TO (2) | t -(2 rows) - -ALTER TABLE t MERGE PARTITIONS (tp_0_1, tp_1_2) INTO tp_0_2; --- Partition should be temporary. -SELECT c.oid::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), c.relpersistence - FROM pg_catalog.pg_class c, pg_catalog.pg_inherits i - WHERE c.oid = i.inhrelid AND i.inhparent = 't'::regclass - ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; - oid | pg_get_expr | relpersistence ---------+----------------------------+---------------- - tp_0_2 | FOR VALUES FROM (0) TO (2) | t -(1 row) - -DROP TABLE t; --- --- Check the partition index name if the partition name is the same as one --- of the merged partitions. --- -CREATE TABLE t (i int, PRIMARY KEY(i)) PARTITION BY RANGE (i); -CREATE TABLE tp_0_1 PARTITION OF t FOR VALUES FROM (0) TO (1); -CREATE TABLE tp_1_2 PARTITION OF t FOR VALUES FROM (1) TO (2); -CREATE INDEX tidx ON t(i); -ALTER TABLE t MERGE PARTITIONS (tp_1_2, tp_0_1) INTO tp_1_2; --- Indexname values should be 'tp_1_2_pkey' and 'tp_1_2_i_idx'. --- Not-null constraint name should be 'tp_1_2_i_not_null'. -\d+ tp_1_2 - Table "partitions_merge_schema.tp_1_2" - Column | Type | Collation | Nullable | Default | Storage | Stats target | Description ---------+---------+-----------+----------+---------+---------+--------------+------------- - i | integer | | not null | | plain | | -Partition of: t FOR VALUES FROM (0) TO (2) -Partition constraint: ((i IS NOT NULL) AND (i >= 0) AND (i < 2)) -Indexes: - "tp_1_2_pkey" PRIMARY KEY, btree (i) - "tp_1_2_i_idx" btree (i) - -DROP TABLE t; --- --- Try mixing permanent and temporary partitions. --- -SET search_path = partitions_merge_schema, pg_temp, public; -CREATE TABLE t (i int) PARTITION BY RANGE (i); -CREATE TABLE tp_0_1 PARTITION OF t FOR VALUES FROM (0) TO (1); -CREATE TABLE tp_1_2 PARTITION OF t FOR VALUES FROM (1) TO (2); -SELECT c.oid::pg_catalog.regclass, c.relpersistence FROM pg_catalog.pg_class c WHERE c.oid = 't'::regclass; - oid | relpersistence ------+---------------- - t | p -(1 row) - -SELECT c.oid::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), c.relpersistence - FROM pg_catalog.pg_class c, pg_catalog.pg_inherits i - WHERE c.oid = i.inhrelid AND i.inhparent = 't'::regclass - ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; - oid | pg_get_expr | relpersistence ---------+----------------------------+---------------- - tp_0_1 | FOR VALUES FROM (0) TO (1) | p - tp_1_2 | FOR VALUES FROM (1) TO (2) | p -(2 rows) - -SET search_path = pg_temp, partitions_merge_schema, public; --- Can't merge persistent partitions into a temporary partition -ALTER TABLE t MERGE PARTITIONS (tp_0_1, tp_1_2) INTO tp_0_2; -ERROR: cannot create a temporary relation as partition of permanent relation "t" -SET search_path = partitions_merge_schema, public; --- Can't merge persistent partitions into a temporary partition -ALTER TABLE t MERGE PARTITIONS (tp_0_1, tp_1_2) INTO pg_temp.tp_0_2; -ERROR: cannot create a temporary relation as partition of permanent relation "t" -DROP TABLE t; -SET search_path = pg_temp, partitions_merge_schema, public; -BEGIN; -CREATE TABLE t (i int) PARTITION BY RANGE (i); -CREATE TABLE tp_0_1 PARTITION OF t FOR VALUES FROM (0) TO (1); -CREATE TABLE tp_1_2 PARTITION OF t FOR VALUES FROM (1) TO (2); -SELECT c.oid::pg_catalog.regclass, c.relpersistence FROM pg_catalog.pg_class c WHERE c.oid = 't'::regclass; - oid | relpersistence ------+---------------- - t | t -(1 row) - -SELECT c.oid::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), c.relpersistence - FROM pg_catalog.pg_class c, pg_catalog.pg_inherits i - WHERE c.oid = i.inhrelid AND i.inhparent = 't'::regclass - ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; - oid | pg_get_expr | relpersistence ---------+----------------------------+---------------- - tp_0_1 | FOR VALUES FROM (0) TO (1) | t - tp_1_2 | FOR VALUES FROM (1) TO (2) | t -(2 rows) - -SET search_path = partitions_merge_schema, pg_temp, public; --- Can't merge temporary partitions into a persistent partition -ALTER TABLE t MERGE PARTITIONS (tp_0_1, tp_1_2) INTO tp_0_2; -ROLLBACK; --- Check the new partition inherits parent's tablespace -SET search_path = partitions_merge_schema, public; -CREATE TABLE t (i int PRIMARY KEY USING INDEX TABLESPACE regress_tblspace) - PARTITION BY RANGE (i) TABLESPACE regress_tblspace; -CREATE TABLE tp_0_1 PARTITION OF t FOR VALUES FROM (0) TO (1); -CREATE TABLE tp_1_2 PARTITION OF t FOR VALUES FROM (1) TO (2); -ALTER TABLE t MERGE PARTITIONS (tp_0_1, tp_1_2) INTO tp_0_2; -SELECT tablename, tablespace FROM pg_tables - WHERE tablename IN ('t', 'tp_0_2') AND schemaname = 'partitions_merge_schema' - ORDER BY tablename, tablespace; - tablename | tablespace ------------+------------------ - t | regress_tblspace - tp_0_2 | regress_tblspace -(2 rows) - -SELECT tablename, indexname, tablespace FROM pg_indexes - WHERE tablename IN ('t', 'tp_0_2') AND schemaname = 'partitions_merge_schema' - ORDER BY tablename, indexname, tablespace; - tablename | indexname | tablespace ------------+-------------+------------------ - t | t_pkey | regress_tblspace - tp_0_2 | tp_0_2_pkey | regress_tblspace -(2 rows) - -DROP TABLE t; --- Check the new partition inherits parent's table access method -SET search_path = partitions_merge_schema, public; -CREATE ACCESS METHOD partitions_merge_heap TYPE TABLE HANDLER heap_tableam_handler; -CREATE TABLE t (i int) PARTITION BY RANGE (i) USING partitions_merge_heap; -CREATE TABLE tp_0_1 PARTITION OF t FOR VALUES FROM (0) TO (1); -CREATE TABLE tp_1_2 PARTITION OF t FOR VALUES FROM (1) TO (2); -ALTER TABLE t MERGE PARTITIONS (tp_0_1, tp_1_2) INTO tp_0_2; -SELECT c.relname, a.amname -FROM pg_class c JOIN pg_am a ON c.relam = a.oid -WHERE c.oid IN ('t'::regclass, 'tp_0_2'::regclass) -ORDER BY c.relname; - relname | amname ----------+----------------------- - t | partitions_merge_heap - tp_0_2 | partitions_merge_heap -(2 rows) - -DROP TABLE t; -DROP ACCESS METHOD partitions_merge_heap; --- Test permission checks. The user needs to own the parent table and all --- the merging partitions to do the merge. -CREATE ROLE regress_partition_merge_alice; -CREATE ROLE regress_partition_merge_bob; -GRANT ALL ON SCHEMA partitions_merge_schema TO regress_partition_merge_alice; -GRANT ALL ON SCHEMA partitions_merge_schema TO regress_partition_merge_bob; -SET SESSION AUTHORIZATION regress_partition_merge_alice; -CREATE TABLE t (i int) PARTITION BY RANGE (i); -CREATE TABLE tp_0_1 PARTITION OF t FOR VALUES FROM (0) TO (1); -CREATE TABLE tp_1_2 PARTITION OF t FOR VALUES FROM (1) TO (2); -SET SESSION AUTHORIZATION regress_partition_merge_bob; -ALTER TABLE t MERGE PARTITIONS (tp_0_1, tp_1_2) INTO tp_0_2; -ERROR: must be owner of table t -RESET SESSION AUTHORIZATION; -ALTER TABLE t OWNER TO regress_partition_merge_bob; -SET SESSION AUTHORIZATION regress_partition_merge_bob; -ALTER TABLE t MERGE PARTITIONS (tp_0_1, tp_1_2) INTO tp_0_2; -ERROR: must be owner of table tp_0_1 -RESET SESSION AUTHORIZATION; -ALTER TABLE tp_0_1 OWNER TO regress_partition_merge_bob; -SET SESSION AUTHORIZATION regress_partition_merge_bob; -ALTER TABLE t MERGE PARTITIONS (tp_0_1, tp_1_2) INTO tp_0_2; -ERROR: must be owner of table tp_1_2 -RESET SESSION AUTHORIZATION; -ALTER TABLE tp_1_2 OWNER TO regress_partition_merge_bob; -SET SESSION AUTHORIZATION regress_partition_merge_bob; -ALTER TABLE t MERGE PARTITIONS (tp_0_1, tp_1_2) INTO tp_0_2; -RESET SESSION AUTHORIZATION; -DROP TABLE t; -REVOKE ALL ON SCHEMA partitions_merge_schema FROM regress_partition_merge_alice; -REVOKE ALL ON SCHEMA partitions_merge_schema FROM regress_partition_merge_bob; -DROP ROLE regress_partition_merge_alice; -DROP ROLE regress_partition_merge_bob; -RESET search_path; --- -DROP SCHEMA partitions_merge_schema; -DROP SCHEMA partitions_merge_schema2; diff --git a/src/test/regress/expected/partition_split.out b/src/test/regress/expected/partition_split.out deleted file mode 100644 index dc9a5130ccc..00000000000 --- a/src/test/regress/expected/partition_split.out +++ /dev/null @@ -1,1589 +0,0 @@ --- --- PARTITION_SPLIT --- Tests for "ALTER TABLE ... SPLIT PARTITION ..." command --- -CREATE SCHEMA partition_split_schema; -CREATE SCHEMA partition_split_schema2; -SET search_path = partition_split_schema, public; --- --- BY RANGE partitioning --- --- --- Test for error codes --- -CREATE TABLE sales_range (salesperson_id int, salesperson_name varchar(30), sales_amount int, sales_date date) PARTITION BY RANGE (sales_date); -CREATE TABLE sales_jan2022 PARTITION OF sales_range FOR VALUES FROM ('2022-01-01') TO ('2022-02-01'); -CREATE TABLE sales_feb_mar_apr2022 PARTITION OF sales_range FOR VALUES FROM ('2022-02-01') TO ('2022-05-01'); -CREATE TABLE sales_others PARTITION OF sales_range DEFAULT; --- ERROR: relation "sales_xxx" does not exist -ALTER TABLE sales_range SPLIT PARTITION sales_xxx INTO - (PARTITION sales_feb2022 FOR VALUES FROM ('2022-02-01') TO ('2022-03-01'), - PARTITION sales_mar2022 FOR VALUES FROM ('2022-03-01') TO ('2022-04-01'), - PARTITION sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-05-01')); -ERROR: relation "sales_xxx" does not exist --- ERROR: relation "sales_jan2022" already exists -ALTER TABLE sales_range SPLIT PARTITION sales_feb_mar_apr2022 INTO - (PARTITION sales_jan2022 FOR VALUES FROM ('2022-02-01') TO ('2022-03-01'), - PARTITION sales_mar2022 FOR VALUES FROM ('2022-03-01') TO ('2022-04-01'), - PARTITION sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-05-01')); -ERROR: relation "sales_jan2022" already exists --- ERROR: invalid bound specification for a range partition -ALTER TABLE sales_range SPLIT PARTITION sales_feb_mar_apr2022 INTO - (PARTITION sales_jan2022 FOR VALUES IN ('2022-05-01', '2022-06-01'), - PARTITION sales_mar2022 FOR VALUES FROM ('2022-03-01') TO ('2022-04-01'), - PARTITION sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-05-01')); -ERROR: invalid bound specification for a range partition -LINE 2: (PARTITION sales_jan2022 FOR VALUES IN ('2022-05-01', '202... - ^ --- ERROR: empty range bound specified for partition "sales_mar2022" -ALTER TABLE sales_range SPLIT PARTITION sales_feb_mar_apr2022 INTO - (PARTITION sales_feb2022 FOR VALUES FROM ('2022-02-01') TO ('2022-03-01'), - PARTITION sales_mar2022 FOR VALUES FROM ('2022-03-01') TO ('2022-02-01'), - PARTITION sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-05-01')); -ERROR: empty range bound specified for partition "sales_mar2022" -LINE 3: PARTITION sales_mar2022 FOR VALUES FROM ('2022-03-01') TO... - ^ -DETAIL: Specified lower bound ('03-01-2022') is greater than or equal to upper bound ('02-01-2022'). ---ERROR: list of split partitions should contain at least two items -ALTER TABLE sales_range SPLIT PARTITION sales_feb_mar_apr2022 INTO - (PARTITION sales_feb2022 FOR VALUES FROM ('2022-02-01') TO ('2022-10-01')); -ERROR: list of new partitions should contain at least two items --- ERROR: lower bound of partition "sales_feb2022" is less than lower bound of split partition -ALTER TABLE sales_range SPLIT PARTITION sales_feb_mar_apr2022 INTO - (PARTITION sales_feb2022 FOR VALUES FROM ('2022-01-01') TO ('2022-03-01'), - PARTITION sales_mar2022 FOR VALUES FROM ('2022-03-01') TO ('2022-04-01'), - PARTITION sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-05-01')); -ERROR: lower bound of partition "sales_feb2022" is less than lower bound of split partition -LINE 2: (PARTITION sales_feb2022 FOR VALUES FROM ('2022-01-01') TO... - ^ --- ERROR: name "sales_feb_mar_apr2022" is already used --- (We can create partition with the same name as split partition, but can't create two partitions with the same name) -ALTER TABLE sales_range SPLIT PARTITION sales_feb_mar_apr2022 INTO - (PARTITION sales_feb_mar_apr2022 FOR VALUES FROM ('2022-02-01') TO ('2022-03-01'), - PARTITION sales_feb_mar_apr2022 FOR VALUES FROM ('2022-03-01') TO ('2022-04-01'), - PARTITION sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-05-01')); -ERROR: name "sales_feb_mar_apr2022" is already used -LINE 3: PARTITION sales_feb_mar_apr2022 FOR VALUES FROM ('2022-03... - ^ --- ERROR: name "sales_feb2022" is already used -ALTER TABLE sales_range SPLIT PARTITION sales_feb_mar_apr2022 INTO - (PARTITION sales_feb2022 FOR VALUES FROM ('2022-02-01') TO ('2022-03-01'), - PARTITION sales_feb2022 FOR VALUES FROM ('2022-03-01') TO ('2022-04-01'), - PARTITION sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-05-01')); -ERROR: name "sales_feb2022" is already used -LINE 3: PARTITION sales_feb2022 FOR VALUES FROM ('2022-03-01') TO... - ^ --- ERROR: "sales_feb_mar_apr2022" is not a partitioned table -ALTER TABLE sales_feb_mar_apr2022 SPLIT PARTITION sales_feb_mar_apr2022 INTO - (PARTITION sales_jan2022 FOR VALUES FROM ('2022-02-01') TO ('2022-03-01'), - PARTITION sales_feb2022 FOR VALUES FROM ('2022-03-01') TO ('2022-04-01'), - PARTITION sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-05-01')); -ERROR: "sales_feb_mar_apr2022" is not a partitioned table --- ERROR: upper bound of partition "sales_apr2022" is greater than upper bound of split partition -ALTER TABLE sales_range SPLIT PARTITION sales_feb_mar_apr2022 INTO - (PARTITION sales_feb2022 FOR VALUES FROM ('2022-02-01') TO ('2022-03-01'), - PARTITION sales_mar2022 FOR VALUES FROM ('2022-03-01') TO ('2022-04-01'), - PARTITION sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-06-01')); -ERROR: upper bound of partition "sales_apr2022" is greater than upper bound of split partition -LINE 4: ... sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-06-0... - ^ --- ERROR: lower bound of partition "sales_mar2022" conflicts with upper bound of previous partition "sales_feb2022" -ALTER TABLE sales_range SPLIT PARTITION sales_feb_mar_apr2022 INTO - (PARTITION sales_feb2022 FOR VALUES FROM ('2022-02-01') TO ('2022-03-01'), - PARTITION sales_mar2022 FOR VALUES FROM ('2022-02-01') TO ('2022-04-01'), - PARTITION sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-05-01')); -ERROR: lower bound of partition "sales_mar2022" conflicts with upper bound of previous partition "sales_feb2022" -LINE 3: PARTITION sales_mar2022 FOR VALUES FROM ('2022-02-01') TO... - ^ --- Tests for spaces between partitions, them should be executed without DEFAULT partition -ALTER TABLE sales_range DETACH PARTITION sales_others; --- ERROR: lower bound of partition "sales_feb2022" is not equal to lower bound of split partition -ALTER TABLE sales_range SPLIT PARTITION sales_feb_mar_apr2022 INTO - (PARTITION sales_feb2022 FOR VALUES FROM ('2022-02-02') TO ('2022-03-01'), - PARTITION sales_mar2022 FOR VALUES FROM ('2022-03-01') TO ('2022-04-01'), - PARTITION sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-05-01')); -ERROR: lower bound of partition "sales_feb2022" is not equal to lower bound of split partition -LINE 2: (PARTITION sales_feb2022 FOR VALUES FROM ('2022-02-02') TO... - ^ --- Check the source partition not in the search path -SET search_path = partition_split_schema2, public; -ALTER TABLE partition_split_schema.sales_range -SPLIT PARTITION partition_split_schema.sales_feb_mar_apr2022 INTO - (PARTITION sales_feb2022 FOR VALUES FROM ('2022-02-01') TO ('2022-03-01'), - PARTITION sales_mar2022 FOR VALUES FROM ('2022-03-01') TO ('2022-04-01'), - PARTITION sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-05-01')); -SET search_path = partition_split_schema, public; -\d+ sales_range - Partitioned table "partition_split_schema.sales_range" - Column | Type | Collation | Nullable | Default | Storage | Stats target | Description -------------------+-----------------------+-----------+----------+---------+----------+--------------+------------- - salesperson_id | integer | | | | plain | | - salesperson_name | character varying(30) | | | | extended | | - sales_amount | integer | | | | plain | | - sales_date | date | | | | plain | | -Partition key: RANGE (sales_date) -Partitions: partition_split_schema2.sales_apr2022 FOR VALUES FROM ('04-01-2022') TO ('05-01-2022'), - partition_split_schema2.sales_feb2022 FOR VALUES FROM ('02-01-2022') TO ('03-01-2022'), - partition_split_schema2.sales_mar2022 FOR VALUES FROM ('03-01-2022') TO ('04-01-2022'), - sales_jan2022 FOR VALUES FROM ('01-01-2022') TO ('02-01-2022') - -DROP TABLE sales_range; -DROP TABLE sales_others; --- --- Add rows into partitioned table then split partition --- -CREATE TABLE sales_range (salesperson_id INT, salesperson_name VARCHAR(30), sales_amount INT, sales_date DATE) PARTITION BY RANGE (sales_date); -CREATE TABLE sales_jan2022 PARTITION OF sales_range FOR VALUES FROM ('2022-01-01') TO ('2022-02-01'); -CREATE TABLE sales_feb_mar_apr2022 PARTITION OF sales_range FOR VALUES FROM ('2022-02-01') TO ('2022-05-01'); -CREATE TABLE sales_others PARTITION OF sales_range DEFAULT; -INSERT INTO sales_range VALUES (1, 'May', 1000, '2022-01-31'); -INSERT INTO sales_range VALUES (2, 'Smirnoff', 500, '2022-02-10'); -INSERT INTO sales_range VALUES (3, 'Ford', 2000, '2022-04-30'); -INSERT INTO sales_range VALUES (4, 'Ivanov', 750, '2022-04-13'); -INSERT INTO sales_range VALUES (5, 'Deev', 250, '2022-04-07'); -INSERT INTO sales_range VALUES (6, 'Poirot', 150, '2022-02-11'); -INSERT INTO sales_range VALUES (7, 'Li', 175, '2022-03-08'); -INSERT INTO sales_range VALUES (8, 'Ericsson', 185, '2022-02-23'); -INSERT INTO sales_range VALUES (9, 'Muller', 250, '2022-03-11'); -INSERT INTO sales_range VALUES (10, 'Halder', 350, '2022-01-28'); -INSERT INTO sales_range VALUES (11, 'Trump', 380, '2022-04-06'); -INSERT INTO sales_range VALUES (12, 'Plato', 350, '2022-03-19'); -INSERT INTO sales_range VALUES (13, 'Gandi', 377, '2022-01-09'); -INSERT INTO sales_range VALUES (14, 'Smith', 510, '2022-05-04'); -ALTER TABLE sales_range SPLIT PARTITION sales_feb_mar_apr2022 INTO - (PARTITION sales_feb2022 FOR VALUES FROM ('2022-02-01') TO ('2022-03-01'), - PARTITION sales_mar2022 FOR VALUES FROM ('2022-03-01') TO ('2022-04-01'), - PARTITION sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-05-01')); -SELECT * FROM sales_range; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 1 | May | 1000 | 01-31-2022 - 10 | Halder | 350 | 01-28-2022 - 13 | Gandi | 377 | 01-09-2022 - 2 | Smirnoff | 500 | 02-10-2022 - 6 | Poirot | 150 | 02-11-2022 - 8 | Ericsson | 185 | 02-23-2022 - 7 | Li | 175 | 03-08-2022 - 9 | Muller | 250 | 03-11-2022 - 12 | Plato | 350 | 03-19-2022 - 3 | Ford | 2000 | 04-30-2022 - 4 | Ivanov | 750 | 04-13-2022 - 5 | Deev | 250 | 04-07-2022 - 11 | Trump | 380 | 04-06-2022 - 14 | Smith | 510 | 05-04-2022 -(14 rows) - -SELECT * FROM sales_jan2022; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 1 | May | 1000 | 01-31-2022 - 10 | Halder | 350 | 01-28-2022 - 13 | Gandi | 377 | 01-09-2022 -(3 rows) - -SELECT * FROM sales_feb2022; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 2 | Smirnoff | 500 | 02-10-2022 - 6 | Poirot | 150 | 02-11-2022 - 8 | Ericsson | 185 | 02-23-2022 -(3 rows) - -SELECT * FROM sales_mar2022; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 7 | Li | 175 | 03-08-2022 - 9 | Muller | 250 | 03-11-2022 - 12 | Plato | 350 | 03-19-2022 -(3 rows) - -SELECT * FROM sales_apr2022; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 3 | Ford | 2000 | 04-30-2022 - 4 | Ivanov | 750 | 04-13-2022 - 5 | Deev | 250 | 04-07-2022 - 11 | Trump | 380 | 04-06-2022 -(4 rows) - -SELECT * FROM sales_others; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 14 | Smith | 510 | 05-04-2022 -(1 row) - -DROP TABLE sales_range CASCADE; --- --- Add split partition, then add rows into partitioned table --- -CREATE TABLE sales_range (salesperson_id INT, salesperson_name VARCHAR(30), sales_amount INT, sales_date DATE) PARTITION BY RANGE (sales_date); -CREATE TABLE sales_jan2022 PARTITION OF sales_range FOR VALUES FROM ('2022-01-01') TO ('2022-02-01'); -CREATE TABLE sales_feb_mar_apr2022 PARTITION OF sales_range FOR VALUES FROM ('2022-02-01') TO ('2022-05-01'); -CREATE TABLE sales_others PARTITION OF sales_range DEFAULT; --- Split partition, also check schema qualification of new partitions -ALTER TABLE sales_range SPLIT PARTITION sales_feb_mar_apr2022 INTO - (PARTITION partition_split_schema.sales_feb2022 FOR VALUES FROM ('2022-02-01') TO ('2022-03-01'), - PARTITION partition_split_schema2.sales_mar2022 FOR VALUES FROM ('2022-03-01') TO ('2022-04-01'), - PARTITION sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-05-01')); -\d+ sales_range - Partitioned table "partition_split_schema.sales_range" - Column | Type | Collation | Nullable | Default | Storage | Stats target | Description -------------------+-----------------------+-----------+----------+---------+----------+--------------+------------- - salesperson_id | integer | | | | plain | | - salesperson_name | character varying(30) | | | | extended | | - sales_amount | integer | | | | plain | | - sales_date | date | | | | plain | | -Partition key: RANGE (sales_date) -Partitions: partition_split_schema2.sales_mar2022 FOR VALUES FROM ('03-01-2022') TO ('04-01-2022'), - sales_apr2022 FOR VALUES FROM ('04-01-2022') TO ('05-01-2022'), - sales_feb2022 FOR VALUES FROM ('02-01-2022') TO ('03-01-2022'), - sales_jan2022 FOR VALUES FROM ('01-01-2022') TO ('02-01-2022'), - sales_others DEFAULT - -INSERT INTO sales_range VALUES (1, 'May', 1000, '2022-01-31'); -INSERT INTO sales_range VALUES (2, 'Smirnoff', 500, '2022-02-10'); -INSERT INTO sales_range VALUES (3, 'Ford', 2000, '2022-04-30'); -INSERT INTO sales_range VALUES (4, 'Ivanov', 750, '2022-04-13'); -INSERT INTO sales_range VALUES (5, 'Deev', 250, '2022-04-07'); -INSERT INTO sales_range VALUES (6, 'Poirot', 150, '2022-02-11'); -INSERT INTO sales_range VALUES (7, 'Li', 175, '2022-03-08'); -INSERT INTO sales_range VALUES (8, 'Ericsson', 185, '2022-02-23'); -INSERT INTO sales_range VALUES (9, 'Muller', 250, '2022-03-11'); -INSERT INTO sales_range VALUES (10, 'Halder', 350, '2022-01-28'); -INSERT INTO sales_range VALUES (11, 'Trump', 380, '2022-04-06'); -INSERT INTO sales_range VALUES (12, 'Plato', 350, '2022-03-19'); -INSERT INTO sales_range VALUES (13, 'Gandi', 377, '2022-01-09'); -INSERT INTO sales_range VALUES (14, 'Smith', 510, '2022-05-04'); -SELECT * FROM sales_range; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 1 | May | 1000 | 01-31-2022 - 10 | Halder | 350 | 01-28-2022 - 13 | Gandi | 377 | 01-09-2022 - 2 | Smirnoff | 500 | 02-10-2022 - 6 | Poirot | 150 | 02-11-2022 - 8 | Ericsson | 185 | 02-23-2022 - 7 | Li | 175 | 03-08-2022 - 9 | Muller | 250 | 03-11-2022 - 12 | Plato | 350 | 03-19-2022 - 3 | Ford | 2000 | 04-30-2022 - 4 | Ivanov | 750 | 04-13-2022 - 5 | Deev | 250 | 04-07-2022 - 11 | Trump | 380 | 04-06-2022 - 14 | Smith | 510 | 05-04-2022 -(14 rows) - -SELECT * FROM sales_jan2022; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 1 | May | 1000 | 01-31-2022 - 10 | Halder | 350 | 01-28-2022 - 13 | Gandi | 377 | 01-09-2022 -(3 rows) - -SELECT * FROM sales_feb2022; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 2 | Smirnoff | 500 | 02-10-2022 - 6 | Poirot | 150 | 02-11-2022 - 8 | Ericsson | 185 | 02-23-2022 -(3 rows) - -SELECT * FROM partition_split_schema2.sales_mar2022; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 7 | Li | 175 | 03-08-2022 - 9 | Muller | 250 | 03-11-2022 - 12 | Plato | 350 | 03-19-2022 -(3 rows) - -SELECT * FROM sales_apr2022; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 3 | Ford | 2000 | 04-30-2022 - 4 | Ivanov | 750 | 04-13-2022 - 5 | Deev | 250 | 04-07-2022 - 11 | Trump | 380 | 04-06-2022 -(4 rows) - -SELECT * FROM sales_others; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 14 | Smith | 510 | 05-04-2022 -(1 row) - -DROP TABLE sales_range CASCADE; --- --- Test for: --- * composite partition key; --- * GENERATED column; --- * column with DEFAULT value. --- -CREATE TABLE sales_date (salesperson_name VARCHAR(30), sales_year INT, sales_month INT, sales_day INT, - sales_date VARCHAR(10) GENERATED ALWAYS AS - (LPAD(sales_year::text, 4, '0') || '.' || LPAD(sales_month::text, 2, '0') || '.' || LPAD(sales_day::text, 2, '0')) STORED, - sales_department VARCHAR(30) DEFAULT 'Sales department') - PARTITION BY RANGE (sales_year, sales_month, sales_day); -CREATE TABLE sales_dec2022 PARTITION OF sales_date FOR VALUES FROM (2021, 12, 1) TO (2022, 1, 1); -CREATE TABLE sales_jan_feb2022 PARTITION OF sales_date FOR VALUES FROM (2022, 1, 1) TO (2022, 3, 1); -CREATE TABLE sales_other PARTITION OF sales_date FOR VALUES FROM (2022, 3, 1) TO (MAXVALUE, MAXVALUE, MAXVALUE); -INSERT INTO sales_date(salesperson_name, sales_year, sales_month, sales_day) VALUES ('Manager1', 2021, 12, 7); -INSERT INTO sales_date(salesperson_name, sales_year, sales_month, sales_day) VALUES ('Manager2', 2021, 12, 8); -INSERT INTO sales_date(salesperson_name, sales_year, sales_month, sales_day) VALUES ('Manager3', 2022, 1, 1); -INSERT INTO sales_date(salesperson_name, sales_year, sales_month, sales_day) VALUES ('Manager1', 2022, 2, 4); -INSERT INTO sales_date(salesperson_name, sales_year, sales_month, sales_day) VALUES ('Manager2', 2022, 1, 2); -INSERT INTO sales_date(salesperson_name, sales_year, sales_month, sales_day) VALUES ('Manager3', 2022, 2, 1); -INSERT INTO sales_date(salesperson_name, sales_year, sales_month, sales_day) VALUES ('Manager1', 2022, 3, 3); -INSERT INTO sales_date(salesperson_name, sales_year, sales_month, sales_day) VALUES ('Manager2', 2022, 3, 4); -INSERT INTO sales_date(salesperson_name, sales_year, sales_month, sales_day) VALUES ('Manager3', 2022, 5, 1); -SELECT * FROM sales_date; - salesperson_name | sales_year | sales_month | sales_day | sales_date | sales_department -------------------+------------+-------------+-----------+------------+------------------ - Manager1 | 2021 | 12 | 7 | 2021.12.07 | Sales department - Manager2 | 2021 | 12 | 8 | 2021.12.08 | Sales department - Manager3 | 2022 | 1 | 1 | 2022.01.01 | Sales department - Manager1 | 2022 | 2 | 4 | 2022.02.04 | Sales department - Manager2 | 2022 | 1 | 2 | 2022.01.02 | Sales department - Manager3 | 2022 | 2 | 1 | 2022.02.01 | Sales department - Manager1 | 2022 | 3 | 3 | 2022.03.03 | Sales department - Manager2 | 2022 | 3 | 4 | 2022.03.04 | Sales department - Manager3 | 2022 | 5 | 1 | 2022.05.01 | Sales department -(9 rows) - -SELECT * FROM sales_dec2022; - salesperson_name | sales_year | sales_month | sales_day | sales_date | sales_department -------------------+------------+-------------+-----------+------------+------------------ - Manager1 | 2021 | 12 | 7 | 2021.12.07 | Sales department - Manager2 | 2021 | 12 | 8 | 2021.12.08 | Sales department -(2 rows) - -SELECT * FROM sales_jan_feb2022; - salesperson_name | sales_year | sales_month | sales_day | sales_date | sales_department -------------------+------------+-------------+-----------+------------+------------------ - Manager3 | 2022 | 1 | 1 | 2022.01.01 | Sales department - Manager1 | 2022 | 2 | 4 | 2022.02.04 | Sales department - Manager2 | 2022 | 1 | 2 | 2022.01.02 | Sales department - Manager3 | 2022 | 2 | 1 | 2022.02.01 | Sales department -(4 rows) - -SELECT * FROM sales_other; - salesperson_name | sales_year | sales_month | sales_day | sales_date | sales_department -------------------+------------+-------------+-----------+------------+------------------ - Manager1 | 2022 | 3 | 3 | 2022.03.03 | Sales department - Manager2 | 2022 | 3 | 4 | 2022.03.04 | Sales department - Manager3 | 2022 | 5 | 1 | 2022.05.01 | Sales department -(3 rows) - -ALTER TABLE sales_date SPLIT PARTITION sales_jan_feb2022 INTO - (PARTITION sales_jan2022 FOR VALUES FROM (2022, 1, 1) TO (2022, 2, 1), - PARTITION sales_feb2022 FOR VALUES FROM (2022, 2, 1) TO (2022, 3, 1)); -INSERT INTO sales_date(salesperson_name, sales_year, sales_month, sales_day) VALUES ('Manager1', 2022, 1, 10); -INSERT INTO sales_date(salesperson_name, sales_year, sales_month, sales_day) VALUES ('Manager2', 2022, 2, 10); -SELECT * FROM sales_date; - salesperson_name | sales_year | sales_month | sales_day | sales_date | sales_department -------------------+------------+-------------+-----------+------------+------------------ - Manager1 | 2021 | 12 | 7 | 2021.12.07 | Sales department - Manager2 | 2021 | 12 | 8 | 2021.12.08 | Sales department - Manager3 | 2022 | 1 | 1 | 2022.01.01 | Sales department - Manager2 | 2022 | 1 | 2 | 2022.01.02 | Sales department - Manager1 | 2022 | 1 | 10 | 2022.01.10 | Sales department - Manager1 | 2022 | 2 | 4 | 2022.02.04 | Sales department - Manager3 | 2022 | 2 | 1 | 2022.02.01 | Sales department - Manager2 | 2022 | 2 | 10 | 2022.02.10 | Sales department - Manager1 | 2022 | 3 | 3 | 2022.03.03 | Sales department - Manager2 | 2022 | 3 | 4 | 2022.03.04 | Sales department - Manager3 | 2022 | 5 | 1 | 2022.05.01 | Sales department -(11 rows) - -SELECT * FROM sales_dec2022; - salesperson_name | sales_year | sales_month | sales_day | sales_date | sales_department -------------------+------------+-------------+-----------+------------+------------------ - Manager1 | 2021 | 12 | 7 | 2021.12.07 | Sales department - Manager2 | 2021 | 12 | 8 | 2021.12.08 | Sales department -(2 rows) - -SELECT * FROM sales_jan2022; - salesperson_name | sales_year | sales_month | sales_day | sales_date | sales_department -------------------+------------+-------------+-----------+------------+------------------ - Manager3 | 2022 | 1 | 1 | 2022.01.01 | Sales department - Manager2 | 2022 | 1 | 2 | 2022.01.02 | Sales department - Manager1 | 2022 | 1 | 10 | 2022.01.10 | Sales department -(3 rows) - -SELECT * FROM sales_feb2022; - salesperson_name | sales_year | sales_month | sales_day | sales_date | sales_department -------------------+------------+-------------+-----------+------------+------------------ - Manager1 | 2022 | 2 | 4 | 2022.02.04 | Sales department - Manager3 | 2022 | 2 | 1 | 2022.02.01 | Sales department - Manager2 | 2022 | 2 | 10 | 2022.02.10 | Sales department -(3 rows) - -SELECT * FROM sales_other; - salesperson_name | sales_year | sales_month | sales_day | sales_date | sales_department -------------------+------------+-------------+-----------+------------+------------------ - Manager1 | 2022 | 3 | 3 | 2022.03.03 | Sales department - Manager2 | 2022 | 3 | 4 | 2022.03.04 | Sales department - Manager3 | 2022 | 5 | 1 | 2022.05.01 | Sales department -(3 rows) - ---ERROR: relation "sales_jan_feb2022" does not exist -SELECT * FROM sales_jan_feb2022; -ERROR: relation "sales_jan_feb2022" does not exist -LINE 1: SELECT * FROM sales_jan_feb2022; - ^ -DROP TABLE sales_date CASCADE; --- --- Test: split DEFAULT partition; use an index on partition key; check index after split --- -CREATE TABLE sales_range (salesperson_id INT, salesperson_name VARCHAR(30), sales_amount INT, sales_date DATE) PARTITION BY RANGE (sales_date); -CREATE TABLE sales_jan2022 PARTITION OF sales_range FOR VALUES FROM ('2022-01-01') TO ('2022-02-01'); -CREATE TABLE sales_others PARTITION OF sales_range DEFAULT; -CREATE INDEX sales_range_sales_date_idx ON sales_range USING btree (sales_date); -INSERT INTO sales_range VALUES (1, 'May', 1000, '2022-01-31'); -INSERT INTO sales_range VALUES (2, 'Smirnoff', 500, '2022-02-10'); -INSERT INTO sales_range VALUES (3, 'Ford', 2000, '2022-04-30'); -INSERT INTO sales_range VALUES (4, 'Ivanov', 750, '2022-04-13'); -INSERT INTO sales_range VALUES (5, 'Deev', 250, '2022-04-07'); -INSERT INTO sales_range VALUES (6, 'Poirot', 150, '2022-02-11'); -INSERT INTO sales_range VALUES (7, 'Li', 175, '2022-03-08'); -INSERT INTO sales_range VALUES (8, 'Ericsson', 185, '2022-02-23'); -INSERT INTO sales_range VALUES (9, 'Muller', 250, '2022-03-11'); -INSERT INTO sales_range VALUES (10, 'Halder', 350, '2022-01-28'); -INSERT INTO sales_range VALUES (11, 'Trump', 380, '2022-04-06'); -INSERT INTO sales_range VALUES (12, 'Plato', 350, '2022-03-19'); -INSERT INTO sales_range VALUES (13, 'Gandi', 377, '2022-01-09'); -INSERT INTO sales_range VALUES (14, 'Smith', 510, '2022-05-04'); -SELECT * FROM sales_others; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 2 | Smirnoff | 500 | 02-10-2022 - 3 | Ford | 2000 | 04-30-2022 - 4 | Ivanov | 750 | 04-13-2022 - 5 | Deev | 250 | 04-07-2022 - 6 | Poirot | 150 | 02-11-2022 - 7 | Li | 175 | 03-08-2022 - 8 | Ericsson | 185 | 02-23-2022 - 9 | Muller | 250 | 03-11-2022 - 11 | Trump | 380 | 04-06-2022 - 12 | Plato | 350 | 03-19-2022 - 14 | Smith | 510 | 05-04-2022 -(11 rows) - -SELECT * FROM pg_indexes WHERE tablename = 'sales_others' and schemaname = 'partition_split_schema' ORDER BY indexname; - schemaname | tablename | indexname | tablespace | indexdef -------------------------+--------------+-----------------------------+------------+---------------------------------------------------------------------------------------------------------- - partition_split_schema | sales_others | sales_others_sales_date_idx | | CREATE INDEX sales_others_sales_date_idx ON partition_split_schema.sales_others USING btree (sales_date) -(1 row) - -ALTER TABLE sales_range SPLIT PARTITION sales_others INTO - (PARTITION sales_feb2022 FOR VALUES FROM ('2022-02-01') TO ('2022-03-01'), - PARTITION sales_mar2022 FOR VALUES FROM ('2022-03-01') TO ('2022-04-01'), - PARTITION sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-05-01'), - PARTITION sales_others DEFAULT); --- Use indexscan for testing indexes -SET enable_indexscan = ON; -SET enable_seqscan = OFF; -SELECT * FROM sales_feb2022 where sales_date > '2022-01-01'; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 2 | Smirnoff | 500 | 02-10-2022 - 6 | Poirot | 150 | 02-11-2022 - 8 | Ericsson | 185 | 02-23-2022 -(3 rows) - -SELECT * FROM sales_mar2022 where sales_date > '2022-01-01'; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 7 | Li | 175 | 03-08-2022 - 9 | Muller | 250 | 03-11-2022 - 12 | Plato | 350 | 03-19-2022 -(3 rows) - -SELECT * FROM sales_apr2022 where sales_date > '2022-01-01'; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 11 | Trump | 380 | 04-06-2022 - 5 | Deev | 250 | 04-07-2022 - 4 | Ivanov | 750 | 04-13-2022 - 3 | Ford | 2000 | 04-30-2022 -(4 rows) - -SELECT * FROM sales_others where sales_date > '2022-01-01'; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 14 | Smith | 510 | 05-04-2022 -(1 row) - -SET enable_indexscan = ON; -SET enable_seqscan = ON; -SELECT * FROM pg_indexes WHERE tablename = 'sales_feb2022' and schemaname = 'partition_split_schema' ORDER BY indexname; - schemaname | tablename | indexname | tablespace | indexdef -------------------------+---------------+------------------------------+------------+------------------------------------------------------------------------------------------------------------ - partition_split_schema | sales_feb2022 | sales_feb2022_sales_date_idx | | CREATE INDEX sales_feb2022_sales_date_idx ON partition_split_schema.sales_feb2022 USING btree (sales_date) -(1 row) - -SELECT * FROM pg_indexes WHERE tablename = 'sales_mar2022' and schemaname = 'partition_split_schema' ORDER BY indexname; - schemaname | tablename | indexname | tablespace | indexdef -------------------------+---------------+------------------------------+------------+------------------------------------------------------------------------------------------------------------ - partition_split_schema | sales_mar2022 | sales_mar2022_sales_date_idx | | CREATE INDEX sales_mar2022_sales_date_idx ON partition_split_schema.sales_mar2022 USING btree (sales_date) -(1 row) - -SELECT * FROM pg_indexes WHERE tablename = 'sales_apr2022' and schemaname = 'partition_split_schema' ORDER BY indexname; - schemaname | tablename | indexname | tablespace | indexdef -------------------------+---------------+------------------------------+------------+------------------------------------------------------------------------------------------------------------ - partition_split_schema | sales_apr2022 | sales_apr2022_sales_date_idx | | CREATE INDEX sales_apr2022_sales_date_idx ON partition_split_schema.sales_apr2022 USING btree (sales_date) -(1 row) - -SELECT * FROM pg_indexes WHERE tablename = 'sales_others' and schemaname = 'partition_split_schema' ORDER BY indexname; - schemaname | tablename | indexname | tablespace | indexdef -------------------------+--------------+------------------------------+------------+----------------------------------------------------------------------------------------------------------- - partition_split_schema | sales_others | sales_others_sales_date_idx1 | | CREATE INDEX sales_others_sales_date_idx1 ON partition_split_schema.sales_others USING btree (sales_date) -(1 row) - -DROP TABLE sales_range CASCADE; --- --- Test: some cases for splitting DEFAULT partition (different bounds) --- -CREATE TABLE sales_range (salesperson_id INT, salesperson_name VARCHAR(30), sales_amount INT, sales_date INT) PARTITION BY RANGE (sales_date); -CREATE TABLE sales_others PARTITION OF sales_range DEFAULT; --- sales_error intersects with sales_dec2022 (lower bound) --- ERROR: lower bound of partition "sales_error" conflicts with upper bound of previous partition "sales_dec2022" -ALTER TABLE sales_range SPLIT PARTITION sales_others INTO - (PARTITION sales_dec2022 FOR VALUES FROM (20211201) TO (20220101), - PARTITION sales_error FOR VALUES FROM (20211230) TO (20220201), - PARTITION sales_feb2022 FOR VALUES FROM (20220201) TO (20220301), - PARTITION sales_others DEFAULT); -ERROR: lower bound of partition "sales_error" conflicts with upper bound of previous partition "sales_dec2022" -LINE 3: PARTITION sales_error FOR VALUES FROM (20211230) TO (2022... - ^ --- sales_error intersects with sales_feb2022 (upper bound) --- ERROR: lower bound of partition "sales_feb2022" conflicts with upper bound of previous partition "sales_error" -ALTER TABLE sales_range SPLIT PARTITION sales_others INTO - (PARTITION sales_dec2022 FOR VALUES FROM (20211201) TO (20220101), - PARTITION sales_error FOR VALUES FROM (20220101) TO (20220202), - PARTITION sales_feb2022 FOR VALUES FROM (20220201) TO (20220301), - PARTITION sales_others DEFAULT); -ERROR: lower bound of partition "sales_feb2022" conflicts with upper bound of previous partition "sales_error" -LINE 4: PARTITION sales_feb2022 FOR VALUES FROM (20220201) TO (20... - ^ --- sales_error intersects with sales_dec2022 (inside bound) --- ERROR: lower bound of partition "sales_error" conflicts with upper bound of previous partition "sales_dec2022" -ALTER TABLE sales_range SPLIT PARTITION sales_others INTO - (PARTITION sales_dec2022 FOR VALUES FROM (20211201) TO (20220101), - PARTITION sales_error FOR VALUES FROM (20211210) TO (20211220), - PARTITION sales_feb2022 FOR VALUES FROM (20220201) TO (20220301), - PARTITION sales_others DEFAULT); -ERROR: lower bound of partition "sales_error" conflicts with upper bound of previous partition "sales_dec2022" -LINE 3: PARTITION sales_error FOR VALUES FROM (20211210) TO (2021... - ^ --- sales_error intersects with sales_dec2022 (exactly the same bounds) --- ERROR: lower bound of partition "sales_error" conflicts with upper bound of previous partition "sales_dec2022" -ALTER TABLE sales_range SPLIT PARTITION sales_others INTO - (PARTITION sales_dec2022 FOR VALUES FROM (20211201) TO (20220101), - PARTITION sales_error FOR VALUES FROM (20211201) TO (20220101), - PARTITION sales_feb2022 FOR VALUES FROM (20220201) TO (20220301), - PARTITION sales_others DEFAULT); -ERROR: lower bound of partition "sales_error" conflicts with upper bound of previous partition "sales_dec2022" -LINE 3: PARTITION sales_error FOR VALUES FROM (20211201) TO (2022... - ^ --- ERROR: all partitions in the list should be DEFAULT because split partition is DEFAULT -ALTER TABLE sales_range SPLIT PARTITION sales_others INTO - (PARTITION sales_dec2022 FOR VALUES FROM (20211201) TO (20220101), - PARTITION sales_jan2022 FOR VALUES FROM (20220101) TO (20220201), - PARTITION sales_feb2022 FOR VALUES FROM (20220201) TO (20220301)); -ERROR: one partition in the list should be DEFAULT because split partition is DEFAULT -LINE 2: (PARTITION sales_dec2022 FOR VALUES FROM (20211201) TO (20... - ^ --- no error: bounds of sales_noerror are between sales_dec2022 and sales_feb2022 -ALTER TABLE sales_range SPLIT PARTITION sales_others INTO - (PARTITION sales_dec2022 FOR VALUES FROM (20211201) TO (20220101), - PARTITION sales_noerror FOR VALUES FROM (20220110) TO (20220120), - PARTITION sales_feb2022 FOR VALUES FROM (20220201) TO (20220301), - PARTITION sales_others DEFAULT); -DROP TABLE sales_range; -CREATE TABLE sales_range (salesperson_id INT, salesperson_name VARCHAR(30), sales_amount INT, sales_date INT) PARTITION BY RANGE (sales_date); -CREATE TABLE sales_others PARTITION OF sales_range DEFAULT; --- no error: bounds of sales_noerror are equal to lower and upper bounds of sales_dec2022 and sales_feb2022 -ALTER TABLE sales_range SPLIT PARTITION sales_others INTO - (PARTITION sales_dec2022 FOR VALUES FROM (20211201) TO (20220101), - PARTITION sales_noerror FOR VALUES FROM (20210101) TO (20210201), - PARTITION sales_feb2022 FOR VALUES FROM (20220201) TO (20220301), - PARTITION sales_others DEFAULT); -DROP TABLE sales_range; --- --- Test: split partition with CHECK and FOREIGN KEY CONSTRAINTs on partitioned table --- -CREATE TABLE salespeople(salesperson_id INT PRIMARY KEY, salesperson_name VARCHAR(30)); -INSERT INTO salespeople VALUES (1, 'Poirot'); -CREATE TABLE sales_range ( -salesperson_id INT REFERENCES salespeople(salesperson_id), -sales_amount INT CHECK (sales_amount > 1), -sales_date DATE) PARTITION BY RANGE (sales_date); -CREATE TABLE sales_jan2022 PARTITION OF sales_range FOR VALUES FROM ('2022-01-01') TO ('2022-02-01'); -CREATE TABLE sales_feb_mar_apr2022 PARTITION OF sales_range FOR VALUES FROM ('2022-02-01') TO ('2022-05-01'); -CREATE TABLE sales_others PARTITION OF sales_range DEFAULT; -SELECT pg_get_constraintdef(oid), conname, conkey FROM pg_constraint WHERE conrelid = 'sales_feb_mar_apr2022'::regclass::oid ORDER BY conname; - pg_get_constraintdef | conname | conkey ----------------------------------------------------------------------+---------------------------------+-------- - CHECK ((sales_amount > 1)) | sales_range_sales_amount_check | {2} - FOREIGN KEY (salesperson_id) REFERENCES salespeople(salesperson_id) | sales_range_salesperson_id_fkey | {1} -(2 rows) - -ALTER TABLE sales_range SPLIT PARTITION sales_feb_mar_apr2022 INTO - (PARTITION sales_feb2022 FOR VALUES FROM ('2022-02-01') TO ('2022-03-01'), - PARTITION sales_mar2022 FOR VALUES FROM ('2022-03-01') TO ('2022-04-01'), - PARTITION sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-05-01')); --- We should see the same CONSTRAINTs as on sales_feb_mar_apr2022 partition -SELECT pg_get_constraintdef(oid), conname, conkey FROM pg_constraint WHERE conrelid = 'sales_feb2022'::regclass::oid ORDER BY conname;; - pg_get_constraintdef | conname | conkey ----------------------------------------------------------------------+---------------------------------+-------- - CHECK ((sales_amount > 1)) | sales_range_sales_amount_check | {2} - FOREIGN KEY (salesperson_id) REFERENCES salespeople(salesperson_id) | sales_range_salesperson_id_fkey | {1} -(2 rows) - -SELECT pg_get_constraintdef(oid), conname, conkey FROM pg_constraint WHERE conrelid = 'sales_mar2022'::regclass::oid ORDER BY conname;; - pg_get_constraintdef | conname | conkey ----------------------------------------------------------------------+---------------------------------+-------- - CHECK ((sales_amount > 1)) | sales_range_sales_amount_check | {2} - FOREIGN KEY (salesperson_id) REFERENCES salespeople(salesperson_id) | sales_range_salesperson_id_fkey | {1} -(2 rows) - -SELECT pg_get_constraintdef(oid), conname, conkey FROM pg_constraint WHERE conrelid = 'sales_apr2022'::regclass::oid ORDER BY conname;; - pg_get_constraintdef | conname | conkey ----------------------------------------------------------------------+---------------------------------+-------- - CHECK ((sales_amount > 1)) | sales_range_sales_amount_check | {2} - FOREIGN KEY (salesperson_id) REFERENCES salespeople(salesperson_id) | sales_range_salesperson_id_fkey | {1} -(2 rows) - --- ERROR: new row for relation "sales_mar2022" violates check constraint "sales_range_sales_amount_check" -INSERT INTO sales_range VALUES (1, 0, '2022-03-11'); -ERROR: new row for relation "sales_mar2022" violates check constraint "sales_range_sales_amount_check" -DETAIL: Failing row contains (1, 0, 03-11-2022). --- ERROR: insert or update on table "sales_mar2022" violates foreign key constraint "sales_range_salesperson_id_fkey" -INSERT INTO sales_range VALUES (-1, 10, '2022-03-11'); -ERROR: insert or update on table "sales_mar2022" violates foreign key constraint "sales_range_salesperson_id_fkey" -DETAIL: Key (salesperson_id)=(-1) is not present in table "salespeople". --- ok -INSERT INTO sales_range VALUES (1, 10, '2022-03-11'); -DROP TABLE sales_range CASCADE; -DROP TABLE salespeople CASCADE; --- --- Test: split partition on partitioned table in case of existing FOREIGN KEY reference from another table --- -CREATE TABLE salespeople(salesperson_id INT PRIMARY KEY, salesperson_name VARCHAR(30)) PARTITION BY RANGE (salesperson_id); -CREATE TABLE sales (salesperson_id INT REFERENCES salespeople(salesperson_id), sales_amount INT, sales_date DATE); -CREATE TABLE salespeople01_10 PARTITION OF salespeople FOR VALUES FROM (1) TO (10); -CREATE TABLE salespeople10_40 PARTITION OF salespeople FOR VALUES FROM (10) TO (40); -INSERT INTO salespeople VALUES (1, 'Poirot'); -INSERT INTO salespeople VALUES (10, 'May'); -INSERT INTO salespeople VALUES (19, 'Ivanov'); -INSERT INTO salespeople VALUES (20, 'Smirnoff'); -INSERT INTO salespeople VALUES (30, 'Ford'); -INSERT INTO sales VALUES (1, 100, '2022-03-01'); -INSERT INTO sales VALUES (1, 110, '2022-03-02'); -INSERT INTO sales VALUES (10, 150, '2022-03-01'); -INSERT INTO sales VALUES (10, 90, '2022-03-03'); -INSERT INTO sales VALUES (19, 200, '2022-03-04'); -INSERT INTO sales VALUES (20, 50, '2022-03-12'); -INSERT INTO sales VALUES (20, 170, '2022-03-02'); -INSERT INTO sales VALUES (30, 30, '2022-03-04'); -SELECT * FROM salespeople01_10; - salesperson_id | salesperson_name -----------------+------------------ - 1 | Poirot -(1 row) - -SELECT * FROM salespeople10_40; - salesperson_id | salesperson_name -----------------+------------------ - 10 | May - 19 | Ivanov - 20 | Smirnoff - 30 | Ford -(4 rows) - -ALTER TABLE salespeople SPLIT PARTITION salespeople10_40 INTO - (PARTITION salespeople10_20 FOR VALUES FROM (10) TO (20), - PARTITION salespeople20_30 FOR VALUES FROM (20) TO (30), - PARTITION salespeople30_40 FOR VALUES FROM (30) TO (40)); -SELECT * FROM salespeople01_10; - salesperson_id | salesperson_name -----------------+------------------ - 1 | Poirot -(1 row) - -SELECT * FROM salespeople10_20; - salesperson_id | salesperson_name -----------------+------------------ - 10 | May - 19 | Ivanov -(2 rows) - -SELECT * FROM salespeople20_30; - salesperson_id | salesperson_name -----------------+------------------ - 20 | Smirnoff -(1 row) - -SELECT * FROM salespeople30_40; - salesperson_id | salesperson_name -----------------+------------------ - 30 | Ford -(1 row) - --- ERROR: insert or update on table "sales" violates foreign key constraint "sales_salesperson_id_fkey" -INSERT INTO sales VALUES (40, 50, '2022-03-04'); -ERROR: insert or update on table "sales" violates foreign key constraint "sales_salesperson_id_fkey" -DETAIL: Key (salesperson_id)=(40) is not present in table "salespeople". --- ok -INSERT INTO sales VALUES (30, 50, '2022-03-04'); -DROP TABLE sales CASCADE; -DROP TABLE salespeople CASCADE; --- --- Test: split partition of partitioned table with triggers --- -CREATE TABLE salespeople(salesperson_id INT PRIMARY KEY, salesperson_name VARCHAR(30)) PARTITION BY RANGE (salesperson_id); -CREATE TABLE salespeople01_10 PARTITION OF salespeople FOR VALUES FROM (1) TO (10); -CREATE TABLE salespeople10_40 PARTITION OF salespeople FOR VALUES FROM (10) TO (40); -INSERT INTO salespeople VALUES (1, 'Poirot'); -CREATE OR REPLACE FUNCTION after_insert_row_trigger() RETURNS trigger LANGUAGE 'plpgsql' AS $BODY$ -BEGIN - RAISE NOTICE 'trigger(%) called: action = %, when = %, level = %', TG_ARGV[0], TG_OP, TG_WHEN, TG_LEVEL; - RETURN NULL; -END; -$BODY$; -CREATE TRIGGER salespeople_after_insert_statement_trigger - AFTER INSERT - ON salespeople - FOR EACH STATEMENT - EXECUTE PROCEDURE after_insert_row_trigger('salespeople'); -CREATE TRIGGER salespeople_after_insert_row_trigger - AFTER INSERT - ON salespeople - FOR EACH ROW - EXECUTE PROCEDURE after_insert_row_trigger('salespeople'); --- 2 triggers should fire here (row + statement): -INSERT INTO salespeople VALUES (10, 'May'); -NOTICE: trigger(salespeople) called: action = INSERT, when = AFTER, level = ROW -NOTICE: trigger(salespeople) called: action = INSERT, when = AFTER, level = STATEMENT --- 1 trigger should fire here (row): -INSERT INTO salespeople10_40 VALUES (19, 'Ivanov'); -NOTICE: trigger(salespeople) called: action = INSERT, when = AFTER, level = ROW -ALTER TABLE salespeople SPLIT PARTITION salespeople10_40 INTO - (PARTITION salespeople10_20 FOR VALUES FROM (10) TO (20), - PARTITION salespeople20_30 FOR VALUES FROM (20) TO (30), - PARTITION salespeople30_40 FOR VALUES FROM (30) TO (40)); --- 2 triggers should fire here (row + statement): -INSERT INTO salespeople VALUES (20, 'Smirnoff'); -NOTICE: trigger(salespeople) called: action = INSERT, when = AFTER, level = ROW -NOTICE: trigger(salespeople) called: action = INSERT, when = AFTER, level = STATEMENT --- 1 trigger should fire here (row): -INSERT INTO salespeople30_40 VALUES (30, 'Ford'); -NOTICE: trigger(salespeople) called: action = INSERT, when = AFTER, level = ROW -SELECT * FROM salespeople01_10; - salesperson_id | salesperson_name -----------------+------------------ - 1 | Poirot -(1 row) - -SELECT * FROM salespeople10_20; - salesperson_id | salesperson_name -----------------+------------------ - 10 | May - 19 | Ivanov -(2 rows) - -SELECT * FROM salespeople20_30; - salesperson_id | salesperson_name -----------------+------------------ - 20 | Smirnoff -(1 row) - -SELECT * FROM salespeople30_40; - salesperson_id | salesperson_name -----------------+------------------ - 30 | Ford -(1 row) - -DROP TABLE salespeople CASCADE; -DROP FUNCTION after_insert_row_trigger(); --- --- Test: split partition witch identity column --- If split partition column is identity column, columns of new partitions are identity columns too. --- -CREATE TABLE salespeople(salesperson_id INT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, salesperson_name VARCHAR(30)) PARTITION BY RANGE (salesperson_id); -CREATE TABLE salespeople1_2 PARTITION OF salespeople FOR VALUES FROM (1) TO (2); --- Create new partition with identity column: -CREATE TABLE salespeople2_5(salesperson_id INT NOT NULL, salesperson_name VARCHAR(30)); -ALTER TABLE salespeople ATTACH PARTITION salespeople2_5 FOR VALUES FROM (2) TO (5); -INSERT INTO salespeople (salesperson_name) VALUES ('Poirot'); -INSERT INTO salespeople (salesperson_name) VALUES ('Ivanov'); -SELECT attname, attidentity, attgenerated FROM pg_attribute WHERE attnum > 0 AND attrelid = 'salespeople'::regclass::oid ORDER BY attnum; - attname | attidentity | attgenerated -------------------+-------------+-------------- - salesperson_id | a | - salesperson_name | | -(2 rows) - -SELECT attname, attidentity, attgenerated FROM pg_attribute WHERE attnum > 0 AND attrelid = 'salespeople1_2'::regclass::oid ORDER BY attnum; - attname | attidentity | attgenerated -------------------+-------------+-------------- - salesperson_id | a | - salesperson_name | | -(2 rows) - --- Split partition has identity column: -SELECT attname, attidentity, attgenerated FROM pg_attribute WHERE attnum > 0 AND attrelid = 'salespeople2_5'::regclass::oid ORDER BY attnum; - attname | attidentity | attgenerated -------------------+-------------+-------------- - salesperson_id | a | - salesperson_name | | -(2 rows) - -ALTER TABLE salespeople SPLIT PARTITION salespeople2_5 INTO - (PARTITION salespeople2_3 FOR VALUES FROM (2) TO (3), - PARTITION salespeople3_4 FOR VALUES FROM (3) TO (4), - PARTITION salespeople4_5 FOR VALUES FROM (4) TO (5)); -INSERT INTO salespeople (salesperson_name) VALUES ('May'); -INSERT INTO salespeople (salesperson_name) VALUES ('Ford'); -SELECT * FROM salespeople1_2; - salesperson_id | salesperson_name -----------------+------------------ - 1 | Poirot -(1 row) - -SELECT * FROM salespeople2_3; - salesperson_id | salesperson_name -----------------+------------------ - 2 | Ivanov -(1 row) - -SELECT * FROM salespeople3_4; - salesperson_id | salesperson_name -----------------+------------------ - 3 | May -(1 row) - -SELECT * FROM salespeople4_5; - salesperson_id | salesperson_name -----------------+------------------ - 4 | Ford -(1 row) - -SELECT attname, attidentity, attgenerated FROM pg_attribute WHERE attnum > 0 AND attrelid = 'salespeople'::regclass::oid ORDER BY attnum; - attname | attidentity | attgenerated -------------------+-------------+-------------- - salesperson_id | a | - salesperson_name | | -(2 rows) - -SELECT attname, attidentity, attgenerated FROM pg_attribute WHERE attnum > 0 AND attrelid = 'salespeople1_2'::regclass::oid ORDER BY attnum; - attname | attidentity | attgenerated -------------------+-------------+-------------- - salesperson_id | a | - salesperson_name | | -(2 rows) - --- New partitions have identity-columns: -SELECT attname, attidentity, attgenerated FROM pg_attribute WHERE attnum > 0 AND attrelid = 'salespeople2_3'::regclass::oid ORDER BY attnum; - attname | attidentity | attgenerated -------------------+-------------+-------------- - salesperson_id | a | - salesperson_name | | -(2 rows) - -SELECT attname, attidentity, attgenerated FROM pg_attribute WHERE attnum > 0 AND attrelid = 'salespeople3_4'::regclass::oid ORDER BY attnum; - attname | attidentity | attgenerated -------------------+-------------+-------------- - salesperson_id | a | - salesperson_name | | -(2 rows) - -SELECT attname, attidentity, attgenerated FROM pg_attribute WHERE attnum > 0 AND attrelid = 'salespeople4_5'::regclass::oid ORDER BY attnum; - attname | attidentity | attgenerated -------------------+-------------+-------------- - salesperson_id | a | - salesperson_name | | -(2 rows) - -DROP TABLE salespeople CASCADE; --- --- Test: split partition with deleted columns --- -CREATE TABLE salespeople(salesperson_id INT PRIMARY KEY, salesperson_name VARCHAR(30)) PARTITION BY RANGE (salesperson_id); -CREATE TABLE salespeople01_10 PARTITION OF salespeople FOR VALUES FROM (1) TO (10); --- Create new partition with some deleted columns: -CREATE TABLE salespeople10_40(d1 VARCHAR(30), salesperson_id INT PRIMARY KEY, d2 INT, d3 DATE, salesperson_name VARCHAR(30)); -INSERT INTO salespeople10_40 VALUES ('dummy value 1', 19, 100, now(), 'Ivanov'); -INSERT INTO salespeople10_40 VALUES ('dummy value 2', 20, 101, now(), 'Smirnoff'); -ALTER TABLE salespeople10_40 DROP COLUMN d1; -ALTER TABLE salespeople10_40 DROP COLUMN d2; -ALTER TABLE salespeople10_40 DROP COLUMN d3; -ALTER TABLE salespeople ATTACH PARTITION salespeople10_40 FOR VALUES FROM (10) TO (40); -INSERT INTO salespeople VALUES (1, 'Poirot'); -INSERT INTO salespeople VALUES (10, 'May'); -INSERT INTO salespeople VALUES (30, 'Ford'); -ALTER TABLE salespeople SPLIT PARTITION salespeople10_40 INTO - (PARTITION salespeople10_20 FOR VALUES FROM (10) TO (20), - PARTITION salespeople20_30 FOR VALUES FROM (20) TO (30), - PARTITION salespeople30_40 FOR VALUES FROM (30) TO (40)); -select * from salespeople01_10; - salesperson_id | salesperson_name -----------------+------------------ - 1 | Poirot -(1 row) - -select * from salespeople10_20; - salesperson_id | salesperson_name -----------------+------------------ - 19 | Ivanov - 10 | May -(2 rows) - -select * from salespeople20_30; - salesperson_id | salesperson_name -----------------+------------------ - 20 | Smirnoff -(1 row) - -select * from salespeople30_40; - salesperson_id | salesperson_name -----------------+------------------ - 30 | Ford -(1 row) - -DROP TABLE salespeople CASCADE; --- --- Test: split sub-partition --- -CREATE TABLE sales_range (salesperson_id INT, salesperson_name VARCHAR(30), sales_amount INT, sales_date DATE) PARTITION BY RANGE (sales_date); -CREATE TABLE sales_jan2022 PARTITION OF sales_range FOR VALUES FROM ('2022-01-01') TO ('2022-02-01'); -CREATE TABLE sales_feb2022 PARTITION OF sales_range FOR VALUES FROM ('2022-02-01') TO ('2022-03-01'); -CREATE TABLE sales_mar2022 PARTITION OF sales_range FOR VALUES FROM ('2022-03-01') TO ('2022-04-01'); -CREATE TABLE sales_apr2022 (salesperson_id INT, salesperson_name VARCHAR(30), sales_amount INT, sales_date DATE) PARTITION BY RANGE (sales_date); -CREATE TABLE sales_apr_all PARTITION OF sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-05-01'); -ALTER TABLE sales_range ATTACH PARTITION sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-05-01'); -CREATE TABLE sales_others PARTITION OF sales_range DEFAULT; -CREATE INDEX sales_range_sales_date_idx ON sales_range USING btree (sales_date); -INSERT INTO sales_range VALUES (1, 'May', 1000, '2022-01-31'); -INSERT INTO sales_range VALUES (2, 'Smirnoff', 500, '2022-02-10'); -INSERT INTO sales_range VALUES (3, 'Ford', 2000, '2022-04-30'); -INSERT INTO sales_range VALUES (4, 'Ivanov', 750, '2022-04-13'); -INSERT INTO sales_range VALUES (5, 'Deev', 250, '2022-04-07'); -INSERT INTO sales_range VALUES (6, 'Poirot', 150, '2022-02-11'); -INSERT INTO sales_range VALUES (7, 'Li', 175, '2022-03-08'); -INSERT INTO sales_range VALUES (8, 'Ericsson', 185, '2022-02-23'); -INSERT INTO sales_range VALUES (9, 'Muller', 250, '2022-03-11'); -INSERT INTO sales_range VALUES (10, 'Halder', 350, '2022-01-28'); -INSERT INTO sales_range VALUES (11, 'Trump', 380, '2022-04-06'); -INSERT INTO sales_range VALUES (12, 'Plato', 350, '2022-03-19'); -INSERT INTO sales_range VALUES (13, 'Gandi', 377, '2022-01-09'); -INSERT INTO sales_range VALUES (14, 'Smith', 510, '2022-05-04'); -SELECT * FROM sales_range; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 1 | May | 1000 | 01-31-2022 - 10 | Halder | 350 | 01-28-2022 - 13 | Gandi | 377 | 01-09-2022 - 2 | Smirnoff | 500 | 02-10-2022 - 6 | Poirot | 150 | 02-11-2022 - 8 | Ericsson | 185 | 02-23-2022 - 7 | Li | 175 | 03-08-2022 - 9 | Muller | 250 | 03-11-2022 - 12 | Plato | 350 | 03-19-2022 - 3 | Ford | 2000 | 04-30-2022 - 4 | Ivanov | 750 | 04-13-2022 - 5 | Deev | 250 | 04-07-2022 - 11 | Trump | 380 | 04-06-2022 - 14 | Smith | 510 | 05-04-2022 -(14 rows) - -SELECT * FROM sales_apr2022; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 3 | Ford | 2000 | 04-30-2022 - 4 | Ivanov | 750 | 04-13-2022 - 5 | Deev | 250 | 04-07-2022 - 11 | Trump | 380 | 04-06-2022 -(4 rows) - -ALTER TABLE sales_apr2022 SPLIT PARTITION sales_apr_all INTO - (PARTITION sales_apr2022_01_10 FOR VALUES FROM ('2022-04-01') TO ('2022-04-10'), - PARTITION sales_apr2022_10_20 FOR VALUES FROM ('2022-04-10') TO ('2022-04-20'), - PARTITION sales_apr2022_20_30 FOR VALUES FROM ('2022-04-20') TO ('2022-05-01')); -SELECT * FROM sales_range; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 1 | May | 1000 | 01-31-2022 - 10 | Halder | 350 | 01-28-2022 - 13 | Gandi | 377 | 01-09-2022 - 2 | Smirnoff | 500 | 02-10-2022 - 6 | Poirot | 150 | 02-11-2022 - 8 | Ericsson | 185 | 02-23-2022 - 7 | Li | 175 | 03-08-2022 - 9 | Muller | 250 | 03-11-2022 - 12 | Plato | 350 | 03-19-2022 - 5 | Deev | 250 | 04-07-2022 - 11 | Trump | 380 | 04-06-2022 - 4 | Ivanov | 750 | 04-13-2022 - 3 | Ford | 2000 | 04-30-2022 - 14 | Smith | 510 | 05-04-2022 -(14 rows) - -SELECT * FROM sales_apr2022; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 5 | Deev | 250 | 04-07-2022 - 11 | Trump | 380 | 04-06-2022 - 4 | Ivanov | 750 | 04-13-2022 - 3 | Ford | 2000 | 04-30-2022 -(4 rows) - -SELECT * FROM sales_apr2022_01_10; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 5 | Deev | 250 | 04-07-2022 - 11 | Trump | 380 | 04-06-2022 -(2 rows) - -SELECT * FROM sales_apr2022_10_20; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 4 | Ivanov | 750 | 04-13-2022 -(1 row) - -SELECT * FROM sales_apr2022_20_30; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 3 | Ford | 2000 | 04-30-2022 -(1 row) - -DROP TABLE sales_range; --- --- BY LIST partitioning --- --- --- Test: specific errors for BY LIST partitioning --- -CREATE TABLE sales_list -(salesperson_id INT, - salesperson_name VARCHAR(30), - sales_state VARCHAR(20), - sales_amount INT, - sales_date DATE) -PARTITION BY LIST (sales_state); -CREATE TABLE sales_nord PARTITION OF sales_list FOR VALUES IN ('Oslo', 'St. Petersburg', 'Helsinki'); -CREATE TABLE sales_all PARTITION OF sales_list FOR VALUES IN ('Warsaw', 'Lisbon', 'New York', 'Madrid', 'Bejing', 'Berlin', 'Delhi', 'Kyiv', 'Vladivostok'); -CREATE TABLE sales_others PARTITION OF sales_list DEFAULT; --- ERROR: new partition "sales_east" would overlap with another (not split) partition "sales_nord" -ALTER TABLE sales_list SPLIT PARTITION sales_all INTO - (PARTITION sales_west FOR VALUES IN ('Lisbon', 'New York', 'Madrid'), - PARTITION sales_east FOR VALUES IN ('Bejing', 'Delhi', 'Vladivostok', 'Helsinki'), - PARTITION sales_central FOR VALUES IN ('Warsaw', 'Berlin', 'Kyiv')); -ERROR: new partition "sales_east" would overlap with another (not split) partition "sales_nord" -LINE 3: ... FOR VALUES IN ('Bejing', 'Delhi', 'Vladivostok', 'Helsinki'... - ^ --- ERROR: new partition "sales_west" would overlap with another new partition "sales_central" -ALTER TABLE sales_list SPLIT PARTITION sales_all INTO - (PARTITION sales_west FOR VALUES IN ('Lisbon', 'New York', 'Madrid'), - PARTITION sales_east FOR VALUES IN ('Bejing', 'Delhi', 'Vladivostok'), - PARTITION sales_central FOR VALUES IN ('Warsaw', 'Berlin', 'Lisbon', 'Kyiv')); -ERROR: new partition "sales_west" would overlap with another new partition "sales_central" -LINE 2: (PARTITION sales_west FOR VALUES IN ('Lisbon', 'New York',... - ^ --- ERROR: new partition "sales_west" cannot have NULL value because split partition does not have -ALTER TABLE sales_list SPLIT PARTITION sales_all INTO - (PARTITION sales_west FOR VALUES IN ('Lisbon', 'New York', 'Madrid', NULL), - PARTITION sales_east FOR VALUES IN ('Bejing', 'Delhi', 'Vladivostok'), - PARTITION sales_central FOR VALUES IN ('Warsaw', 'Berlin', 'Kyiv')); -ERROR: new partition "sales_west" cannot have NULL value because split partition does not have -LINE 2: ...s_west FOR VALUES IN ('Lisbon', 'New York', 'Madrid', NULL), - ^ -DROP TABLE sales_list; --- --- Test: two specific errors for BY LIST partitioning: --- * new partitions do not have NULL value, which split partition has. --- * new partitions do not have a value that split partition has. --- -CREATE TABLE sales_list -(salesperson_id INT, - salesperson_name VARCHAR(30), - sales_state VARCHAR(20), - sales_amount INT, - sales_date DATE) -PARTITION BY LIST (sales_state); -CREATE TABLE sales_nord PARTITION OF sales_list FOR VALUES IN ('Helsinki', 'St. Petersburg', 'Oslo'); -CREATE TABLE sales_all PARTITION OF sales_list FOR VALUES IN ('Warsaw', 'Lisbon', 'New York', 'Madrid', 'Bejing', 'Berlin', 'Delhi', 'Kyiv', 'Vladivostok', NULL); --- ERROR: new partitions do not have value NULL but split partition does -ALTER TABLE sales_list SPLIT PARTITION sales_all INTO - (PARTITION sales_west FOR VALUES IN ('Lisbon', 'New York', 'Madrid'), - PARTITION sales_east FOR VALUES IN ('Bejing', 'Delhi', 'Vladivostok'), - PARTITION sales_central FOR VALUES IN ('Warsaw', 'Berlin', 'Kyiv')); -ERROR: new partitions do not have value NULL but split partition does --- ERROR: new partitions do not have value 'Kyiv' but split partition does -ALTER TABLE sales_list SPLIT PARTITION sales_all INTO - (PARTITION sales_west FOR VALUES IN ('Lisbon', 'New York', 'Madrid'), - PARTITION sales_east FOR VALUES IN ('Bejing', 'Delhi', 'Vladivostok'), - PARTITION sales_central FOR VALUES IN ('Warsaw', 'Berlin', NULL)); -ERROR: new partitions do not have value 'Kyiv' but split partition does -DROP TABLE sales_list; --- --- Test: BY LIST partitioning, SPLIT PARTITION with data --- -CREATE TABLE sales_list -(salesperson_id SERIAL, - salesperson_name VARCHAR(30), - sales_state VARCHAR(20), - sales_amount INT, - sales_date DATE) -PARTITION BY LIST (sales_state); -CREATE INDEX sales_list_salesperson_name_idx ON sales_list USING btree (salesperson_name); -CREATE INDEX sales_list_sales_state_idx ON sales_list USING btree (sales_state); -CREATE TABLE sales_nord PARTITION OF sales_list FOR VALUES IN ('Helsinki', 'St. Petersburg', 'Oslo'); -CREATE TABLE sales_all PARTITION OF sales_list FOR VALUES IN ('Warsaw', 'Lisbon', 'New York', 'Madrid', 'Bejing', 'Berlin', 'Delhi', 'Kyiv', 'Vladivostok'); -CREATE TABLE sales_others PARTITION OF sales_list DEFAULT; -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('Trump', 'Bejing', 1000, '2022-03-01'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('Smirnoff', 'New York', 500, '2022-03-03'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('Ford', 'St. Petersburg', 2000, '2022-03-05'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('Ivanov', 'Warsaw', 750, '2022-03-04'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('Deev', 'Lisbon', 250, '2022-03-07'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('Poirot', 'Berlin', 1000, '2022-03-01'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('May', 'Oslo', 1200, '2022-03-06'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('Li', 'Vladivostok', 1150, '2022-03-09'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('May', 'Oslo', 1200, '2022-03-11'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('Halder', 'Helsinki', 800, '2022-03-02'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('Muller', 'Madrid', 650, '2022-03-05'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('Smith', 'Kyiv', 350, '2022-03-10'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('Gandi', 'Warsaw', 150, '2022-03-08'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('Plato', 'Lisbon', 950, '2022-03-05'); -ALTER TABLE sales_list SPLIT PARTITION sales_all INTO - (PARTITION sales_west FOR VALUES IN ('Lisbon', 'New York', 'Madrid'), - PARTITION sales_east FOR VALUES IN ('Bejing', 'Delhi', 'Vladivostok'), - PARTITION sales_central FOR VALUES IN ('Warsaw', 'Berlin', 'Kyiv')); -SELECT * FROM sales_list; - salesperson_id | salesperson_name | sales_state | sales_amount | sales_date -----------------+------------------+----------------+--------------+------------ - 1 | Trump | Bejing | 1000 | 03-01-2022 - 8 | Li | Vladivostok | 1150 | 03-09-2022 - 4 | Ivanov | Warsaw | 750 | 03-04-2022 - 6 | Poirot | Berlin | 1000 | 03-01-2022 - 12 | Smith | Kyiv | 350 | 03-10-2022 - 13 | Gandi | Warsaw | 150 | 03-08-2022 - 3 | Ford | St. Petersburg | 2000 | 03-05-2022 - 7 | May | Oslo | 1200 | 03-06-2022 - 9 | May | Oslo | 1200 | 03-11-2022 - 10 | Halder | Helsinki | 800 | 03-02-2022 - 2 | Smirnoff | New York | 500 | 03-03-2022 - 5 | Deev | Lisbon | 250 | 03-07-2022 - 11 | Muller | Madrid | 650 | 03-05-2022 - 14 | Plato | Lisbon | 950 | 03-05-2022 -(14 rows) - -SELECT * FROM sales_west; - salesperson_id | salesperson_name | sales_state | sales_amount | sales_date -----------------+------------------+-------------+--------------+------------ - 2 | Smirnoff | New York | 500 | 03-03-2022 - 5 | Deev | Lisbon | 250 | 03-07-2022 - 11 | Muller | Madrid | 650 | 03-05-2022 - 14 | Plato | Lisbon | 950 | 03-05-2022 -(4 rows) - -SELECT * FROM sales_east; - salesperson_id | salesperson_name | sales_state | sales_amount | sales_date -----------------+------------------+-------------+--------------+------------ - 1 | Trump | Bejing | 1000 | 03-01-2022 - 8 | Li | Vladivostok | 1150 | 03-09-2022 -(2 rows) - -SELECT * FROM sales_nord; - salesperson_id | salesperson_name | sales_state | sales_amount | sales_date -----------------+------------------+----------------+--------------+------------ - 3 | Ford | St. Petersburg | 2000 | 03-05-2022 - 7 | May | Oslo | 1200 | 03-06-2022 - 9 | May | Oslo | 1200 | 03-11-2022 - 10 | Halder | Helsinki | 800 | 03-02-2022 -(4 rows) - -SELECT * FROM sales_central; - salesperson_id | salesperson_name | sales_state | sales_amount | sales_date -----------------+------------------+-------------+--------------+------------ - 4 | Ivanov | Warsaw | 750 | 03-04-2022 - 6 | Poirot | Berlin | 1000 | 03-01-2022 - 12 | Smith | Kyiv | 350 | 03-10-2022 - 13 | Gandi | Warsaw | 150 | 03-08-2022 -(4 rows) - --- Use indexscan for testing indexes after splitting partition -SET enable_indexscan = ON; -SET enable_seqscan = OFF; -SELECT * FROM sales_central WHERE sales_state = 'Warsaw'; - salesperson_id | salesperson_name | sales_state | sales_amount | sales_date -----------------+------------------+-------------+--------------+------------ - 4 | Ivanov | Warsaw | 750 | 03-04-2022 - 13 | Gandi | Warsaw | 150 | 03-08-2022 -(2 rows) - -SELECT * FROM sales_list WHERE sales_state = 'Warsaw'; - salesperson_id | salesperson_name | sales_state | sales_amount | sales_date -----------------+------------------+-------------+--------------+------------ - 4 | Ivanov | Warsaw | 750 | 03-04-2022 - 13 | Gandi | Warsaw | 150 | 03-08-2022 -(2 rows) - -SELECT * FROM sales_list WHERE salesperson_name = 'Ivanov'; - salesperson_id | salesperson_name | sales_state | sales_amount | sales_date -----------------+------------------+-------------+--------------+------------ - 4 | Ivanov | Warsaw | 750 | 03-04-2022 -(1 row) - -SET enable_indexscan = ON; -SET enable_seqscan = ON; -DROP TABLE sales_list; --- --- Test for: --- * split DEFAULT partition to partitions with spaces between bounds; --- * random order of partitions in SPLIT PARTITION command. --- -CREATE TABLE sales_range (salesperson_id INT, salesperson_name VARCHAR(30), sales_amount INT, sales_date DATE) PARTITION BY RANGE (sales_date); -CREATE TABLE sales_others PARTITION OF sales_range DEFAULT; -INSERT INTO sales_range VALUES (1, 'May', 1000, '2022-01-31'); -INSERT INTO sales_range VALUES (2, 'Smirnoff', 500, '2022-02-09'); -INSERT INTO sales_range VALUES (3, 'Ford', 2000, '2022-04-30'); -INSERT INTO sales_range VALUES (4, 'Ivanov', 750, '2022-04-13'); -INSERT INTO sales_range VALUES (5, 'Deev', 250, '2022-04-07'); -INSERT INTO sales_range VALUES (6, 'Poirot', 150, '2022-02-07'); -INSERT INTO sales_range VALUES (7, 'Li', 175, '2022-03-08'); -INSERT INTO sales_range VALUES (8, 'Ericsson', 185, '2022-02-23'); -INSERT INTO sales_range VALUES (9, 'Muller', 250, '2022-03-11'); -INSERT INTO sales_range VALUES (10, 'Halder', 350, '2022-01-28'); -INSERT INTO sales_range VALUES (11, 'Trump', 380, '2022-04-06'); -INSERT INTO sales_range VALUES (12, 'Plato', 350, '2022-03-19'); -INSERT INTO sales_range VALUES (13, 'Gandi', 377, '2022-01-09'); -INSERT INTO sales_range VALUES (14, 'Smith', 510, '2022-05-04'); -ALTER TABLE sales_range SPLIT PARTITION sales_others INTO - (PARTITION sales_others DEFAULT, - PARTITION sales_mar2022_1decade FOR VALUES FROM ('2022-03-01') TO ('2022-03-10'), - PARTITION sales_jan2022_1decade FOR VALUES FROM ('2022-01-01') TO ('2022-01-10'), - PARTITION sales_feb2022_1decade FOR VALUES FROM ('2022-02-01') TO ('2022-02-10'), - PARTITION sales_apr2022_1decade FOR VALUES FROM ('2022-04-01') TO ('2022-04-10')); -SELECT * FROM sales_jan2022_1decade; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 13 | Gandi | 377 | 01-09-2022 -(1 row) - -SELECT * FROM sales_feb2022_1decade; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 2 | Smirnoff | 500 | 02-09-2022 - 6 | Poirot | 150 | 02-07-2022 -(2 rows) - -SELECT * FROM sales_mar2022_1decade; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 7 | Li | 175 | 03-08-2022 -(1 row) - -SELECT * FROM sales_apr2022_1decade; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 5 | Deev | 250 | 04-07-2022 - 11 | Trump | 380 | 04-06-2022 -(2 rows) - -SELECT * FROM sales_others; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 1 | May | 1000 | 01-31-2022 - 3 | Ford | 2000 | 04-30-2022 - 4 | Ivanov | 750 | 04-13-2022 - 8 | Ericsson | 185 | 02-23-2022 - 9 | Muller | 250 | 03-11-2022 - 10 | Halder | 350 | 01-28-2022 - 12 | Plato | 350 | 03-19-2022 - 14 | Smith | 510 | 05-04-2022 -(8 rows) - -DROP TABLE sales_range; --- --- Test for: --- * split non-DEFAULT partition to partitions with spaces between bounds; --- * random order of partitions in SPLIT PARTITION command. --- -CREATE TABLE sales_range (salesperson_id INT, salesperson_name VARCHAR(30), sales_amount INT, sales_date DATE) PARTITION BY RANGE (sales_date); -CREATE TABLE sales_all PARTITION OF sales_range FOR VALUES FROM ('2022-01-01') TO ('2022-05-01'); -CREATE TABLE sales_others PARTITION OF sales_range DEFAULT; -INSERT INTO sales_range VALUES (1, 'May', 1000, '2022-01-31'); -INSERT INTO sales_range VALUES (2, 'Smirnoff', 500, '2022-02-09'); -INSERT INTO sales_range VALUES (3, 'Ford', 2000, '2022-04-30'); -INSERT INTO sales_range VALUES (4, 'Ivanov', 750, '2022-04-13'); -INSERT INTO sales_range VALUES (5, 'Deev', 250, '2022-04-07'); -INSERT INTO sales_range VALUES (6, 'Poirot', 150, '2022-02-07'); -INSERT INTO sales_range VALUES (7, 'Li', 175, '2022-03-08'); -INSERT INTO sales_range VALUES (8, 'Ericsson', 185, '2022-02-23'); -INSERT INTO sales_range VALUES (9, 'Muller', 250, '2022-03-11'); -INSERT INTO sales_range VALUES (10, 'Halder', 350, '2022-01-28'); -INSERT INTO sales_range VALUES (11, 'Trump', 380, '2022-04-06'); -INSERT INTO sales_range VALUES (12, 'Plato', 350, '2022-03-19'); -INSERT INTO sales_range VALUES (13, 'Gandi', 377, '2022-01-09'); -INSERT INTO sales_range VALUES (14, 'Smith', 510, '2022-05-04'); -ALTER TABLE sales_range SPLIT PARTITION sales_all INTO - (PARTITION sales_mar2022_1decade FOR VALUES FROM ('2022-03-01') TO ('2022-03-10'), - PARTITION sales_jan2022_1decade FOR VALUES FROM ('2022-01-01') TO ('2022-01-10'), - PARTITION sales_feb2022_1decade FOR VALUES FROM ('2022-02-01') TO ('2022-02-10'), - PARTITION sales_apr2022_1decade FOR VALUES FROM ('2022-04-01') TO ('2022-04-10')); -SELECT * FROM sales_jan2022_1decade; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 13 | Gandi | 377 | 01-09-2022 -(1 row) - -SELECT * FROM sales_feb2022_1decade; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 2 | Smirnoff | 500 | 02-09-2022 - 6 | Poirot | 150 | 02-07-2022 -(2 rows) - -SELECT * FROM sales_mar2022_1decade; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 7 | Li | 175 | 03-08-2022 -(1 row) - -SELECT * FROM sales_apr2022_1decade; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 5 | Deev | 250 | 04-07-2022 - 11 | Trump | 380 | 04-06-2022 -(2 rows) - -SELECT * FROM sales_others; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 14 | Smith | 510 | 05-04-2022 - 1 | May | 1000 | 01-31-2022 - 3 | Ford | 2000 | 04-30-2022 - 4 | Ivanov | 750 | 04-13-2022 - 8 | Ericsson | 185 | 02-23-2022 - 9 | Muller | 250 | 03-11-2022 - 10 | Halder | 350 | 01-28-2022 - 12 | Plato | 350 | 03-19-2022 -(8 rows) - -DROP TABLE sales_range; --- --- Test for split non-DEFAULT partition to DEFAULT partition + partitions --- with spaces between bounds. --- -CREATE TABLE sales_range (salesperson_id INT, salesperson_name VARCHAR(30), sales_amount INT, sales_date DATE) PARTITION BY RANGE (sales_date); -CREATE TABLE sales_jan2022 PARTITION OF sales_range FOR VALUES FROM ('2022-01-01') TO ('2022-02-01'); -CREATE TABLE sales_all PARTITION OF sales_range FOR VALUES FROM ('2022-02-01') TO ('2022-05-01'); -INSERT INTO sales_range VALUES (1, 'May', 1000, '2022-01-31'); -INSERT INTO sales_range VALUES (2, 'Smirnoff', 500, '2022-02-10'); -INSERT INTO sales_range VALUES (3, 'Ford', 2000, '2022-04-30'); -INSERT INTO sales_range VALUES (4, 'Ivanov', 750, '2022-04-13'); -INSERT INTO sales_range VALUES (5, 'Deev', 250, '2022-04-07'); -INSERT INTO sales_range VALUES (6, 'Poirot', 150, '2022-02-11'); -INSERT INTO sales_range VALUES (7, 'Li', 175, '2022-03-08'); -INSERT INTO sales_range VALUES (8, 'Ericsson', 185, '2022-02-23'); -INSERT INTO sales_range VALUES (9, 'Muller', 250, '2022-03-11'); -INSERT INTO sales_range VALUES (10, 'Halder', 350, '2022-01-28'); -INSERT INTO sales_range VALUES (11, 'Trump', 380, '2022-04-06'); -INSERT INTO sales_range VALUES (12, 'Plato', 350, '2022-03-19'); -INSERT INTO sales_range VALUES (13, 'Gandi', 377, '2022-01-09'); -ALTER TABLE sales_range SPLIT PARTITION sales_all INTO - (PARTITION sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-05-01'), - PARTITION sales_feb2022 FOR VALUES FROM ('2022-02-01') TO ('2022-03-01'), - PARTITION sales_others DEFAULT); -INSERT INTO sales_range VALUES (14, 'Smith', 510, '2022-05-04'); -SELECT * FROM sales_range; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 1 | May | 1000 | 01-31-2022 - 10 | Halder | 350 | 01-28-2022 - 13 | Gandi | 377 | 01-09-2022 - 2 | Smirnoff | 500 | 02-10-2022 - 6 | Poirot | 150 | 02-11-2022 - 8 | Ericsson | 185 | 02-23-2022 - 3 | Ford | 2000 | 04-30-2022 - 4 | Ivanov | 750 | 04-13-2022 - 5 | Deev | 250 | 04-07-2022 - 11 | Trump | 380 | 04-06-2022 - 7 | Li | 175 | 03-08-2022 - 9 | Muller | 250 | 03-11-2022 - 12 | Plato | 350 | 03-19-2022 - 14 | Smith | 510 | 05-04-2022 -(14 rows) - -SELECT * FROM sales_jan2022; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 1 | May | 1000 | 01-31-2022 - 10 | Halder | 350 | 01-28-2022 - 13 | Gandi | 377 | 01-09-2022 -(3 rows) - -SELECT * FROM sales_feb2022; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 2 | Smirnoff | 500 | 02-10-2022 - 6 | Poirot | 150 | 02-11-2022 - 8 | Ericsson | 185 | 02-23-2022 -(3 rows) - -SELECT * FROM sales_apr2022; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 3 | Ford | 2000 | 04-30-2022 - 4 | Ivanov | 750 | 04-13-2022 - 5 | Deev | 250 | 04-07-2022 - 11 | Trump | 380 | 04-06-2022 -(4 rows) - -SELECT * FROM sales_others; - salesperson_id | salesperson_name | sales_amount | sales_date -----------------+------------------+--------------+------------ - 7 | Li | 175 | 03-08-2022 - 9 | Muller | 250 | 03-11-2022 - 12 | Plato | 350 | 03-19-2022 - 14 | Smith | 510 | 05-04-2022 -(4 rows) - -DROP TABLE sales_range; --- --- Try to SPLIT partition of another table. --- -CREATE TABLE t1(i int, t text) PARTITION BY LIST (t); -CREATE TABLE t1pa PARTITION OF t1 FOR VALUES IN ('A'); -CREATE TABLE t2 (i int, t text) PARTITION BY RANGE (t); --- ERROR: relation "t1pa" is not a partition of relation "t2" -ALTER TABLE t2 SPLIT PARTITION t1pa INTO - (PARTITION t2a FOR VALUES FROM ('A') TO ('B'), - PARTITION t2b FOR VALUES FROM ('B') TO ('C')); -ERROR: relation "t1pa" is not a partition of relation "t2" -DROP TABLE t2; -DROP TABLE t1; --- --- Try to SPLIT partition of temporary table. --- -CREATE TEMP TABLE t (i int) PARTITION BY RANGE (i); -CREATE TEMP TABLE tp_0_2 PARTITION OF t FOR VALUES FROM (0) TO (2); -SELECT c.oid::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), c.relpersistence - FROM pg_catalog.pg_class c, pg_catalog.pg_inherits i - WHERE c.oid = i.inhrelid AND i.inhparent = 't'::regclass - ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; - oid | pg_get_expr | relpersistence ---------+----------------------------+---------------- - tp_0_2 | FOR VALUES FROM (0) TO (2) | t -(1 row) - -ALTER TABLE t SPLIT PARTITION tp_0_2 INTO - (PARTITION tp_0_1 FOR VALUES FROM (0) TO (1), - PARTITION tp_1_2 FOR VALUES FROM (1) TO (2)); --- Partitions should be temporary. -SELECT c.oid::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), c.relpersistence - FROM pg_catalog.pg_class c, pg_catalog.pg_inherits i - WHERE c.oid = i.inhrelid AND i.inhparent = 't'::regclass - ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; - oid | pg_get_expr | relpersistence ---------+----------------------------+---------------- - tp_0_1 | FOR VALUES FROM (0) TO (1) | t - tp_1_2 | FOR VALUES FROM (1) TO (2) | t -(2 rows) - -DROP TABLE t; --- Check the new partitions inherit parent's tablespace -CREATE TABLE t (i int PRIMARY KEY USING INDEX TABLESPACE regress_tblspace) - PARTITION BY RANGE (i) TABLESPACE regress_tblspace; -CREATE TABLE tp_0_2 PARTITION OF t FOR VALUES FROM (0) TO (2); -ALTER TABLE t SPLIT PARTITION tp_0_2 INTO - (PARTITION tp_0_1 FOR VALUES FROM (0) TO (1), - PARTITION tp_1_2 FOR VALUES FROM (1) TO (2)); -SELECT tablename, tablespace FROM pg_tables - WHERE tablename IN ('t', 'tp_0_1', 'tp_1_2') AND schemaname = 'partition_split_schema' - ORDER BY tablename, tablespace; - tablename | tablespace ------------+------------------ - t | regress_tblspace - tp_0_1 | regress_tblspace - tp_1_2 | regress_tblspace -(3 rows) - -SELECT tablename, indexname, tablespace FROM pg_indexes - WHERE tablename IN ('t', 'tp_0_1', 'tp_1_2') AND schemaname = 'partition_split_schema' - ORDER BY tablename, indexname, tablespace; - tablename | indexname | tablespace ------------+-------------+------------------ - t | t_pkey | regress_tblspace - tp_0_1 | tp_0_1_pkey | regress_tblspace - tp_1_2 | tp_1_2_pkey | regress_tblspace -(3 rows) - -DROP TABLE t; --- Check new partitions inherits parent's table access method -CREATE ACCESS METHOD partition_split_heap TYPE TABLE HANDLER heap_tableam_handler; -CREATE TABLE t (i int) PARTITION BY RANGE (i) USING partition_split_heap; -CREATE TABLE tp_0_2 PARTITION OF t FOR VALUES FROM (0) TO (2); -ALTER TABLE t SPLIT PARTITION tp_0_2 INTO - (PARTITION tp_0_1 FOR VALUES FROM (0) TO (1), - PARTITION tp_1_2 FOR VALUES FROM (1) TO (2)); -SELECT c.relname, a.amname -FROM pg_class c JOIN pg_am a ON c.relam = a.oid -WHERE c.oid IN ('t'::regclass, 'tp_0_1'::regclass, 'tp_1_2'::regclass) -ORDER BY c.relname; - relname | amname ----------+---------------------- - t | partition_split_heap - tp_0_1 | partition_split_heap - tp_1_2 | partition_split_heap -(3 rows) - -DROP TABLE t; -DROP ACCESS METHOD partition_split_heap; --- Test permission checks. The user needs to own the parent table and the --- the partition to split to do the split. -CREATE ROLE regress_partition_split_alice; -CREATE ROLE regress_partition_split_bob; -GRANT ALL ON SCHEMA partition_split_schema TO regress_partition_split_alice; -GRANT ALL ON SCHEMA partition_split_schema TO regress_partition_split_bob; -SET SESSION AUTHORIZATION regress_partition_split_alice; -CREATE TABLE t (i int) PARTITION BY RANGE (i); -CREATE TABLE tp_0_2 PARTITION OF t FOR VALUES FROM (0) TO (2); -SET SESSION AUTHORIZATION regress_partition_split_bob; -ALTER TABLE t SPLIT PARTITION tp_0_2 INTO - (PARTITION tp_0_1 FOR VALUES FROM (0) TO (1), - PARTITION tp_1_2 FOR VALUES FROM (1) TO (2)); -ERROR: must be owner of table t -RESET SESSION AUTHORIZATION; -ALTER TABLE t OWNER TO regress_partition_split_bob; -SET SESSION AUTHORIZATION regress_partition_split_bob; -ALTER TABLE t SPLIT PARTITION tp_0_2 INTO - (PARTITION tp_0_1 FOR VALUES FROM (0) TO (1), - PARTITION tp_1_2 FOR VALUES FROM (1) TO (2)); -ERROR: must be owner of table tp_0_2 -RESET SESSION AUTHORIZATION; -ALTER TABLE tp_0_2 OWNER TO regress_partition_split_bob; -SET SESSION AUTHORIZATION regress_partition_split_bob; -ALTER TABLE t SPLIT PARTITION tp_0_2 INTO - (PARTITION tp_0_1 FOR VALUES FROM (0) TO (1), - PARTITION tp_1_2 FOR VALUES FROM (1) TO (2)); -RESET SESSION AUTHORIZATION; -DROP TABLE t; -REVOKE ALL ON SCHEMA partition_split_schema FROM regress_partition_split_alice; -REVOKE ALL ON SCHEMA partition_split_schema FROM regress_partition_split_bob; -DROP ROLE regress_partition_split_alice; -DROP ROLE regress_partition_split_bob; --- Split partition of a temporary table when one of the partitions after --- split has the same name as the partition being split -CREATE TEMP TABLE t (a int) PARTITION BY RANGE (a); -CREATE TEMP TABLE tp_0 PARTITION OF t FOR VALUES FROM (0) TO (2); -ALTER TABLE t SPLIT PARTITION tp_0 INTO - (PARTITION tp_0 FOR VALUES FROM (0) TO (1), - PARTITION tp_1 FOR VALUES FROM (1) TO (2)); -DROP TABLE t; -RESET search_path; --- -DROP SCHEMA partition_split_schema; -DROP SCHEMA partition_split_schema2; diff --git a/src/test/regress/expected/privileges.out b/src/test/regress/expected/privileges.out index eb4b762ea10..1296da0d579 100644 --- a/src/test/regress/expected/privileges.out +++ b/src/test/regress/expected/privileges.out @@ -141,6 +141,73 @@ SET ROLE pg_read_all_stats; -- fail, granted without SET option ERROR: permission denied to set role "pg_read_all_stats" RESET ROLE; RESET SESSION AUTHORIZATION; +-- test interaction of SET SESSION AUTHORIZATION and SET ROLE, +-- as well as propagation of these settings to parallel workers +GRANT regress_priv_user9 TO regress_priv_user8; +SET SESSION AUTHORIZATION regress_priv_user8; +SET ROLE regress_priv_user9; +SET debug_parallel_query = 0; +SELECT session_user, current_role, current_user, current_setting('role') as role; + session_user | current_role | current_user | role +--------------------+--------------------+--------------------+-------------------- + regress_priv_user8 | regress_priv_user9 | regress_priv_user9 | regress_priv_user9 +(1 row) + +SET debug_parallel_query = 1; +SELECT session_user, current_role, current_user, current_setting('role') as role; + session_user | current_role | current_user | role +--------------------+--------------------+--------------------+-------------------- + regress_priv_user8 | regress_priv_user9 | regress_priv_user9 | regress_priv_user9 +(1 row) + +BEGIN; +SET SESSION AUTHORIZATION regress_priv_user10; +SET debug_parallel_query = 0; +SELECT session_user, current_role, current_user, current_setting('role') as role; + session_user | current_role | current_user | role +---------------------+---------------------+---------------------+------ + regress_priv_user10 | regress_priv_user10 | regress_priv_user10 | none +(1 row) + +SET debug_parallel_query = 1; +SELECT session_user, current_role, current_user, current_setting('role') as role; + session_user | current_role | current_user | role +---------------------+---------------------+---------------------+------ + regress_priv_user10 | regress_priv_user10 | regress_priv_user10 | none +(1 row) + +ROLLBACK; +SET debug_parallel_query = 0; +SELECT session_user, current_role, current_user, current_setting('role') as role; + session_user | current_role | current_user | role +--------------------+--------------------+--------------------+-------------------- + regress_priv_user8 | regress_priv_user9 | regress_priv_user9 | regress_priv_user9 +(1 row) + +SET debug_parallel_query = 1; +SELECT session_user, current_role, current_user, current_setting('role') as role; + session_user | current_role | current_user | role +--------------------+--------------------+--------------------+-------------------- + regress_priv_user8 | regress_priv_user9 | regress_priv_user9 | regress_priv_user9 +(1 row) + +RESET SESSION AUTHORIZATION; +-- session_user at this point is installation-dependent +SET debug_parallel_query = 0; +SELECT session_user = current_role as c_r_ok, session_user = current_user as c_u_ok, current_setting('role') as role; + c_r_ok | c_u_ok | role +--------+--------+------ + t | t | none +(1 row) + +SET debug_parallel_query = 1; +SELECT session_user = current_role as c_r_ok, session_user = current_user as c_u_ok, current_setting('role') as role; + c_r_ok | c_u_ok | role +--------+--------+------ + t | t | none +(1 row) + +RESET debug_parallel_query; REVOKE pg_read_all_settings FROM regress_priv_user8; DROP USER regress_priv_user10; DROP USER regress_priv_user9; diff --git a/src/test/regress/expected/rowsecurity.out b/src/test/regress/expected/rowsecurity.out index 319190855bd..51bba175ec0 100644 --- a/src/test/regress/expected/rowsecurity.out +++ b/src/test/regress/expected/rowsecurity.out @@ -4554,8 +4554,108 @@ execute q; --------------+--- (0 rows) +-- make sure RLS dependencies in CTEs are handled +reset role; +create or replace function rls_f() returns setof rls_t + stable language sql + as $$ with cte as (select * from rls_t) select * from cte $$; +prepare r as select current_user, * from rls_f(); +set role regress_rls_alice; +execute r; + current_user | c +-------------------+------------------ + regress_rls_alice | invisible to bob +(1 row) + +set role regress_rls_bob; +execute r; + current_user | c +--------------+--- +(0 rows) + +-- make sure RLS dependencies in subqueries are handled +reset role; +create or replace function rls_f() returns setof rls_t + stable language sql + as $$ select * from (select * from rls_t) _ $$; +prepare s as select current_user, * from rls_f(); +set role regress_rls_alice; +execute s; + current_user | c +-------------------+------------------ + regress_rls_alice | invisible to bob +(1 row) + +set role regress_rls_bob; +execute s; + current_user | c +--------------+--- +(0 rows) + +-- make sure RLS dependencies in sublinks are handled +reset role; +create or replace function rls_f() returns setof rls_t + stable language sql + as $$ select exists(select * from rls_t)::text $$; +prepare t as select current_user, * from rls_f(); +set role regress_rls_alice; +execute t; + current_user | c +-------------------+------ + regress_rls_alice | true +(1 row) + +set role regress_rls_bob; +execute t; + current_user | c +-----------------+------- + regress_rls_bob | false +(1 row) + +-- make sure RLS dependencies are handled when coercion projections are inserted +reset role; +create or replace function rls_f() returns setof rls_t + stable language sql + as $$ select * from (select array_agg(c) as cs from rls_t) _ group by cs $$; +prepare u as select current_user, * from rls_f(); +set role regress_rls_alice; +execute u; + current_user | c +-------------------+---------------------- + regress_rls_alice | {"invisible to bob"} +(1 row) + +set role regress_rls_bob; +execute u; + current_user | c +-----------------+--- + regress_rls_bob | +(1 row) + +-- make sure RLS dependencies in security invoker views are handled +reset role; +create view rls_v with (security_invoker) as select * from rls_t; +grant select on rls_v to regress_rls_alice, regress_rls_bob; +create or replace function rls_f() returns setof rls_t + stable language sql + as $$ select * from rls_v $$; +prepare v as select current_user, * from rls_f(); +set role regress_rls_alice; +execute v; + current_user | c +-------------------+------------------ + regress_rls_alice | invisible to bob +(1 row) + +set role regress_rls_bob; +execute v; + current_user | c +--------------+--- +(0 rows) + RESET ROLE; DROP FUNCTION rls_f(); +DROP VIEW rls_v; DROP TABLE rls_t; -- -- Clean up objects diff --git a/src/test/regress/expected/rowtypes.out b/src/test/regress/expected/rowtypes.out index b400b58f763..9168979a620 100644 --- a/src/test/regress/expected/rowtypes.out +++ b/src/test/regress/expected/rowtypes.out @@ -1300,6 +1300,60 @@ select pg_get_viewdef('composite_v', true); (1 row) drop view composite_v; +-- +-- Check cases where the composite comes from a proven-dummy rel (bug #18576) +-- +explain (verbose, costs off) +select (ss.a).x, (ss.a).n from + (select information_schema._pg_expandarray(array[1,2]) AS a) ss; + QUERY PLAN +------------------------------------------------------------------------ + Subquery Scan on ss + Output: (ss.a).x, (ss.a).n + -> ProjectSet + Output: information_schema._pg_expandarray('{1,2}'::integer[]) + -> Result +(5 rows) + +explain (verbose, costs off) +select (ss.a).x, (ss.a).n from + (select information_schema._pg_expandarray(array[1,2]) AS a) ss +where false; + QUERY PLAN +-------------------------- + Result + Output: (a).f1, (a).f2 + One-Time Filter: false +(3 rows) + +explain (verbose, costs off) +with cte(c) as materialized (select row(1, 2)), + cte2(c) as (select * from cte) +select (c).f1 from cte2 as t; + QUERY PLAN +----------------------------------- + CTE Scan on cte + Output: (cte.c).f1 + CTE cte + -> Result + Output: '(1,2)'::record +(5 rows) + +explain (verbose, costs off) +with cte(c) as materialized (select row(1, 2)), + cte2(c) as (select * from cte) +select (c).f1 from cte2 as t +where false; + QUERY PLAN +----------------------------------- + Result + Output: (cte.c).f1 + One-Time Filter: false + CTE cte + -> Result + Output: '(1,2)'::record +(6 rows) + -- -- Tests for component access / FieldSelect -- diff --git a/src/test/regress/expected/select_parallel.out b/src/test/regress/expected/select_parallel.out index 87273fa635e..496ddb12893 100644 --- a/src/test/regress/expected/select_parallel.out +++ b/src/test/regress/expected/select_parallel.out @@ -1294,3 +1294,60 @@ SELECT 1 FROM tenk1_vw_sec (9 rows) rollback; +-- test that function option SET ROLE works in parallel workers. +create role regress_parallel_worker; +create function set_and_report_role() returns text as + $$ select current_setting('role') $$ language sql parallel safe + set role = regress_parallel_worker; +create function set_role_and_error(int) returns int as + $$ select 1 / $1 $$ language sql parallel safe + set role = regress_parallel_worker; +set debug_parallel_query = 0; +select set_and_report_role(); + set_and_report_role +------------------------- + regress_parallel_worker +(1 row) + +select set_role_and_error(0); +ERROR: division by zero +CONTEXT: SQL function "set_role_and_error" statement 1 +set debug_parallel_query = 1; +select set_and_report_role(); + set_and_report_role +------------------------- + regress_parallel_worker +(1 row) + +select set_role_and_error(0); +ERROR: division by zero +CONTEXT: SQL function "set_role_and_error" statement 1 +parallel worker +reset debug_parallel_query; +drop function set_and_report_role(); +drop function set_role_and_error(int); +drop role regress_parallel_worker; +-- don't freeze in ParallelFinish while holding an LWLock +BEGIN; +CREATE FUNCTION my_cmp (int4, int4) +RETURNS int LANGUAGE sql AS +$$ + SELECT + CASE WHEN $1 < $2 THEN -1 + WHEN $1 > $2 THEN 1 + ELSE 0 + END; +$$; +CREATE TABLE parallel_hang (i int4); +INSERT INTO parallel_hang + (SELECT * FROM generate_series(1, 400) gs); +CREATE OPERATOR CLASS int4_custom_ops FOR TYPE int4 USING btree AS + OPERATOR 1 < (int4, int4), OPERATOR 2 <= (int4, int4), + OPERATOR 3 = (int4, int4), OPERATOR 4 >= (int4, int4), + OPERATOR 5 > (int4, int4), FUNCTION 1 my_cmp(int4, int4); +CREATE UNIQUE INDEX parallel_hang_idx + ON parallel_hang + USING btree (i int4_custom_ops); +SET debug_parallel_query = on; +DELETE FROM parallel_hang WHERE 380 <= i AND i <= 420; +ROLLBACK; diff --git a/src/test/regress/expected/sequence.out b/src/test/regress/expected/sequence.out index 2b47b7796b1..fa8059dbcda 100644 --- a/src/test/regress/expected/sequence.out +++ b/src/test/regress/expected/sequence.out @@ -260,7 +260,7 @@ SELECT nextval('foo_seq_new'); -- log_cnt can be higher if there is a checkpoint just at the right -- time, so just test for the expected range -SELECT last_value, log_cnt IN (31, 32) AS log_cnt_ok, is_called FROM foo_seq_new; +SELECT last_value, log_cnt IN (0, 31, 32) AS log_cnt_ok, is_called FROM foo_seq_new; last_value | log_cnt_ok | is_called ------------+------------+----------- 2 | t | t diff --git a/src/test/regress/expected/sqljson.out b/src/test/regress/expected/sqljson.out index 4f91e2117ef..70721c9a5ad 100644 --- a/src/test/regress/expected/sqljson.out +++ b/src/test/regress/expected/sqljson.out @@ -537,6 +537,8 @@ SELECT JSON_OBJECT('a': '1', 'b': NULL, 'c': 2 ABSENT ON NULL); {"a" : "1", "c" : 2} (1 row) +SELECT JSON_OBJECT(1: 1, '2': NULL, '3': 1, repeat('x', 1000): 1, 2: repeat('a', 100) WITH UNIQUE); +ERROR: duplicate JSON object key value: "2" SELECT JSON_OBJECT(1: 1, '1': NULL WITH UNIQUE); ERROR: duplicate JSON object key value: "1" SELECT JSON_OBJECT(1: 1, '1': NULL ABSENT ON NULL WITH UNIQUE); @@ -921,6 +923,9 @@ FROM (VALUES (1, 1), (0, NULL),(4, null), (5, null),(6, null),(2, 2)) foo(k, v); {"1": 1, "2": 2} (1 row) +SELECT JSON_OBJECTAGG(mod(i,100): (i)::text FORMAT JSON WITH UNIQUE) +FROM generate_series(0, 199) i; +ERROR: duplicate JSON object key value: "0" -- Test JSON_OBJECT deparsing EXPLAIN (VERBOSE, COSTS OFF) SELECT JSON_OBJECT('foo' : '1' FORMAT JSON, 'bar' : 'baz' RETURNING json); @@ -1295,3 +1300,52 @@ SELECT JSON_SERIALIZE('123' RETURNING sqljson_char2); ERROR: value too long for type character(2) SELECT JSON_SERIALIZE('12' RETURNING sqljson_char2); ERROR: value for domain sqljson_char2 violates check constraint "sqljson_char2_check" +-- Bug #18657: JsonValueExpr.raw_expr was not initialized in ExecInitExprRec() +-- causing the Aggrefs contained in it to also not be initialized, which led +-- to a crash in ExecBuildAggTrans() as mentioned in the bug report: +-- https://postgr.es/m/18657-1b90ccce2b16bdb8@postgresql.org +CREATE FUNCTION volatile_one() RETURNS int AS $$ BEGIN RETURN 1; END; $$ LANGUAGE plpgsql VOLATILE; +CREATE FUNCTION stable_one() RETURNS int AS $$ BEGIN RETURN 1; END; $$ LANGUAGE plpgsql STABLE; +EXPLAIN (VERBOSE, COSTS OFF) SELECT JSON_OBJECT('a': JSON_OBJECTAGG('b': volatile_one() RETURNING text) FORMAT JSON); + QUERY PLAN +------------------------------------------------------------------------------------------------------------- + Aggregate + Output: JSON_OBJECT('a' : JSON_OBJECTAGG('b' : volatile_one() RETURNING text) FORMAT JSON RETURNING json) + -> Result +(3 rows) + +SELECT JSON_OBJECT('a': JSON_OBJECTAGG('b': volatile_one() RETURNING text) FORMAT JSON); + json_object +--------------------- + {"a" : { "b" : 1 }} +(1 row) + +EXPLAIN (VERBOSE, COSTS OFF) SELECT JSON_OBJECT('a': JSON_OBJECTAGG('b': stable_one() RETURNING text) FORMAT JSON); + QUERY PLAN +----------------------------------------------------------------------------------------------------------- + Aggregate + Output: JSON_OBJECT('a' : JSON_OBJECTAGG('b' : stable_one() RETURNING text) FORMAT JSON RETURNING json) + -> Result +(3 rows) + +SELECT JSON_OBJECT('a': JSON_OBJECTAGG('b': stable_one() RETURNING text) FORMAT JSON); + json_object +--------------------- + {"a" : { "b" : 1 }} +(1 row) + +EXPLAIN (VERBOSE, COSTS OFF) SELECT JSON_OBJECT('a': JSON_OBJECTAGG('b': 1 RETURNING text) FORMAT JSON); + QUERY PLAN +------------------------------------------------------------------------------------------------ + Aggregate + Output: JSON_OBJECT('a' : JSON_OBJECTAGG('b' : 1 RETURNING text) FORMAT JSON RETURNING json) + -> Result +(3 rows) + +SELECT JSON_OBJECT('a': JSON_OBJECTAGG('b': 1 RETURNING text) FORMAT JSON); + json_object +--------------------- + {"a" : { "b" : 1 }} +(1 row) + +DROP FUNCTION volatile_one, stable_one; diff --git a/src/test/regress/expected/sqljson_jsontable.out b/src/test/regress/expected/sqljson_jsontable.out index 9a97dd90d78..7a698934ac9 100644 --- a/src/test/regress/expected/sqljson_jsontable.out +++ b/src/test/regress/expected/sqljson_jsontable.out @@ -489,7 +489,7 @@ DROP VIEW jsonb_table_view6; DROP DOMAIN jsonb_test_domain; -- JSON_TABLE: only one FOR ORDINALITY columns allowed SELECT * FROM JSON_TABLE(jsonb '1', '$' COLUMNS (id FOR ORDINALITY, id2 FOR ORDINALITY, a int PATH '$.a' ERROR ON EMPTY)) jt; -ERROR: cannot use more than one FOR ORDINALITY column +ERROR: only one FOR ORDINALITY column is allowed LINE 1: ..._TABLE(jsonb '1', '$' COLUMNS (id FOR ORDINALITY, id2 FOR OR... ^ SELECT * FROM JSON_TABLE(jsonb '1', '$' COLUMNS (id FOR ORDINALITY, a int PATH '$' ERROR ON EMPTY)) jt; @@ -710,7 +710,7 @@ LINE 1: SELECT * FROM JSON_TABLE(jsonb '{"a": 123}', '$' || '.' || '... -- JsonPathQuery() error message mentioning column name SELECT * FROM JSON_TABLE('{"a": [{"b": "1"}, {"b": "2"}]}', '$' COLUMNS (b json path '$.a[*].b' ERROR ON ERROR)); ERROR: JSON path expression for column "b" should return single item without wrapper -HINT: Use WITH WRAPPER clause to wrap SQL/JSON items into array. +HINT: Use the WITH WRAPPER clause to wrap SQL/JSON items into an array. -- JSON_TABLE: nested paths -- Duplicate path names SELECT * FROM JSON_TABLE( @@ -1126,9 +1126,54 @@ SELECT * FROM JSON_TABLE(jsonb '1', '$' COLUMNS (a int omit quotes true on error ERROR: invalid ON ERROR behavior for column "a" LINE 1: ...N_TABLE(jsonb '1', '$' COLUMNS (a int omit quotes true on er... ^ -DETAIL: Only ERROR, NULL, EMPTY [ ARRAY ], EMPTY OBJECT, or DEFAULT expression is allowed in ON ERROR for formatted columns. +DETAIL: Only ERROR, NULL, EMPTY ARRAY, EMPTY OBJECT, or DEFAULT expression is allowed in ON ERROR for formatted columns. SELECT * FROM JSON_TABLE(jsonb '1', '$' COLUMNS (a int exists empty object on error)); ERROR: invalid ON ERROR behavior for column "a" LINE 1: ...M JSON_TABLE(jsonb '1', '$' COLUMNS (a int exists empty obje... ^ DETAIL: Only ERROR, TRUE, FALSE, or UNKNOWN is allowed in ON ERROR for EXISTS columns. +-- Test JSON_TABLE() column deparsing -- don't emit default ON ERROR / EMPTY +-- behavior +CREATE VIEW json_table_view8 AS SELECT * from JSON_TABLE('"a"', '$' COLUMNS (a text PATH '$')); +\sv json_table_view8; +CREATE OR REPLACE VIEW public.json_table_view8 AS + SELECT a + FROM JSON_TABLE( + '"a"'::text, '$' AS json_table_path_0 + COLUMNS ( + a text PATH '$' + ) + ) +CREATE VIEW json_table_view9 AS SELECT * from JSON_TABLE('"a"', '$' COLUMNS (a text PATH '$') ERROR ON ERROR); +\sv json_table_view9; +CREATE OR REPLACE VIEW public.json_table_view9 AS + SELECT a + FROM JSON_TABLE( + '"a"'::text, '$' AS json_table_path_0 + COLUMNS ( + a text PATH '$' + ) ERROR ON ERROR + ) +DROP VIEW json_table_view8, json_table_view9; +-- Test JSON_TABLE() deparsing -- don't emit default ON ERROR behavior +CREATE VIEW json_table_view8 AS SELECT * from JSON_TABLE('"a"', '$' COLUMNS (a text PATH '$') EMPTY ON ERROR); +\sv json_table_view8; +CREATE OR REPLACE VIEW public.json_table_view8 AS + SELECT a + FROM JSON_TABLE( + '"a"'::text, '$' AS json_table_path_0 + COLUMNS ( + a text PATH '$' + ) + ) +CREATE VIEW json_table_view9 AS SELECT * from JSON_TABLE('"a"', '$' COLUMNS (a text PATH '$') EMPTY ARRAY ON ERROR); +\sv json_table_view9; +CREATE OR REPLACE VIEW public.json_table_view9 AS + SELECT a + FROM JSON_TABLE( + '"a"'::text, '$' AS json_table_path_0 + COLUMNS ( + a text PATH '$' + ) + ) +DROP VIEW json_table_view8, json_table_view9; diff --git a/src/test/regress/expected/sqljson_queryfuncs.out b/src/test/regress/expected/sqljson_queryfuncs.out index 52b0b029ff7..175349f7dc1 100644 --- a/src/test/regress/expected/sqljson_queryfuncs.out +++ b/src/test/regress/expected/sqljson_queryfuncs.out @@ -541,11 +541,11 @@ SELECT JSON_VALUE(NULL::jsonb, '$'); (1 row) SELECT - JSON_QUERY(js, '$'), - JSON_QUERY(js, '$' WITHOUT WRAPPER), - JSON_QUERY(js, '$' WITH CONDITIONAL WRAPPER), - JSON_QUERY(js, '$' WITH UNCONDITIONAL ARRAY WRAPPER), - JSON_QUERY(js, '$' WITH ARRAY WRAPPER) + JSON_QUERY(js, '$') AS "unspec", + JSON_QUERY(js, '$' WITHOUT WRAPPER) AS "without", + JSON_QUERY(js, '$' WITH CONDITIONAL WRAPPER) AS "with cond", + JSON_QUERY(js, '$' WITH UNCONDITIONAL ARRAY WRAPPER) AS "with uncond", + JSON_QUERY(js, '$' WITH ARRAY WRAPPER) AS "with" FROM (VALUES (jsonb 'null'), @@ -555,12 +555,12 @@ FROM ('[1, null, "2"]'), ('{"a": 1, "b": [2]}') ) foo(js); - json_query | json_query | json_query | json_query | json_query + unspec | without | with cond | with uncond | with --------------------+--------------------+--------------------+----------------------+---------------------- - null | null | [null] | [null] | [null] - 12.3 | 12.3 | [12.3] | [12.3] | [12.3] - true | true | [true] | [true] | [true] - "aaa" | "aaa" | ["aaa"] | ["aaa"] | ["aaa"] + null | null | null | [null] | [null] + 12.3 | 12.3 | 12.3 | [12.3] | [12.3] + true | true | true | [true] | [true] + "aaa" | "aaa" | "aaa" | ["aaa"] | ["aaa"] [1, null, "2"] | [1, null, "2"] | [1, null, "2"] | [[1, null, "2"]] | [[1, null, "2"]] {"a": 1, "b": [2]} | {"a": 1, "b": [2]} | {"a": 1, "b": [2]} | [{"a": 1, "b": [2]}] | [{"a": 1, "b": [2]}] (6 rows) @@ -587,10 +587,10 @@ FROM --------------------+--------------------+---------------------+----------------------+---------------------- | | | | | | | | - null | null | [null] | [null] | [null] - 12.3 | 12.3 | [12.3] | [12.3] | [12.3] - true | true | [true] | [true] | [true] - "aaa" | "aaa" | ["aaa"] | ["aaa"] | ["aaa"] + null | null | null | [null] | [null] + 12.3 | 12.3 | 12.3 | [12.3] | [12.3] + true | true | true | [true] | [true] + "aaa" | "aaa" | "aaa" | ["aaa"] | ["aaa"] [1, 2, 3] | [1, 2, 3] | [1, 2, 3] | [[1, 2, 3]] | [[1, 2, 3]] {"a": 1, "b": [2]} | {"a": 1, "b": [2]} | {"a": 1, "b": [2]} | [{"a": 1, "b": [2]}] | [{"a": 1, "b": [2]}] | | [1, "2", null, [3]] | [1, "2", null, [3]] | [1, "2", null, [3]] @@ -681,7 +681,7 @@ LINE 1: SELECT JSON_QUERY(jsonb '[1]', '$' WITH CONDITIONAL WRAPPER ... SELECT JSON_QUERY(jsonb '["1"]', '$[*]' WITH CONDITIONAL WRAPPER KEEP QUOTES); json_query ------------ - ["1"] + "1" (1 row) SELECT JSON_QUERY(jsonb '["1"]', '$[*]' WITH UNCONDITIONAL WRAPPER KEEP QUOTES); @@ -807,7 +807,7 @@ SELECT JSON_QUERY(jsonb '[]', '$[*]' ERROR ON ERROR); -- NULL ON EMPTY SELECT JSON_QUERY(jsonb '[1,2]', '$[*]' ERROR ON ERROR); ERROR: JSON path expression in JSON_QUERY should return single item without wrapper -HINT: Use WITH WRAPPER clause to wrap SQL/JSON items into array. +HINT: Use the WITH WRAPPER clause to wrap SQL/JSON items into an array. SELECT JSON_QUERY(jsonb '[1,2]', '$[*]' DEFAULT '"empty"' ON ERROR); json_query ------------ @@ -940,30 +940,30 @@ FROM x | y | list ---+---+-------------- 0 | 0 | [] - 0 | 1 | [1] + 0 | 1 | 1 0 | 2 | [1, 2] 0 | 3 | [1, 2, 3] 0 | 4 | [1, 2, 3, 4] 1 | 0 | [] - 1 | 1 | [1] + 1 | 1 | 1 1 | 2 | [1, 2] 1 | 3 | [1, 2, 3] 1 | 4 | [1, 2, 3, 4] 2 | 0 | [] 2 | 1 | [] - 2 | 2 | [2] + 2 | 2 | 2 2 | 3 | [2, 3] 2 | 4 | [2, 3, 4] 3 | 0 | [] 3 | 1 | [] 3 | 2 | [] - 3 | 3 | [3] + 3 | 3 | 3 3 | 4 | [3, 4] 4 | 0 | [] 4 | 1 | [] 4 | 2 | [] 4 | 3 | [] - 4 | 4 | [4] + 4 | 4 | 4 (25 rows) -- record type returning with quotes behavior. @@ -1088,7 +1088,7 @@ CREATE TABLE test_jsonb_constraints ( CONSTRAINT test_jsonb_constraint3 CHECK (JSON_VALUE(js::jsonb, '$.a' RETURNING int DEFAULT '12' ON EMPTY ERROR ON ERROR) > i) CONSTRAINT test_jsonb_constraint4 - CHECK (JSON_QUERY(js::jsonb, '$.a' WITH CONDITIONAL WRAPPER EMPTY OBJECT ON ERROR) < jsonb '[10]') + CHECK (JSON_QUERY(js::jsonb, '$.a' WITH CONDITIONAL WRAPPER EMPTY OBJECT ON ERROR) = jsonb '[10]') CONSTRAINT test_jsonb_constraint5 CHECK (JSON_QUERY(js::jsonb, '$.a' RETURNING char(5) OMIT QUOTES EMPTY ARRAY ON EMPTY) > 'a' COLLATE "C") ); @@ -1103,7 +1103,7 @@ Check constraints: "test_jsonb_constraint1" CHECK (js IS JSON) "test_jsonb_constraint2" CHECK (JSON_EXISTS(js::jsonb, '$."a"' PASSING i + 5 AS int, i::text AS txt, ARRAY[1, 2, 3] AS arr)) "test_jsonb_constraint3" CHECK (JSON_VALUE(js::jsonb, '$."a"' RETURNING integer DEFAULT 12 ON EMPTY ERROR ON ERROR) > i) - "test_jsonb_constraint4" CHECK (JSON_QUERY(js::jsonb, '$."a"' RETURNING jsonb WITH CONDITIONAL WRAPPER KEEP QUOTES EMPTY OBJECT ON ERROR) < '[10]'::jsonb) + "test_jsonb_constraint4" CHECK (JSON_QUERY(js::jsonb, '$."a"' RETURNING jsonb WITH CONDITIONAL WRAPPER KEEP QUOTES EMPTY OBJECT ON ERROR) = '[10]'::jsonb) "test_jsonb_constraint5" CHECK (JSON_QUERY(js::jsonb, '$."a"' RETURNING character(5) WITHOUT WRAPPER OMIT QUOTES EMPTY ARRAY ON EMPTY) > ('a'::bpchar COLLATE "C")) SELECT check_clause @@ -1113,7 +1113,7 @@ ORDER BY 1; check_clause ---------------------------------------------------------------------------------------------------------------------------------------- (JSON_QUERY((js)::jsonb, '$."a"' RETURNING character(5) WITHOUT WRAPPER OMIT QUOTES EMPTY ARRAY ON EMPTY) > ('a'::bpchar COLLATE "C")) - (JSON_QUERY((js)::jsonb, '$."a"' RETURNING jsonb WITH CONDITIONAL WRAPPER KEEP QUOTES EMPTY OBJECT ON ERROR) < '[10]'::jsonb) + (JSON_QUERY((js)::jsonb, '$."a"' RETURNING jsonb WITH CONDITIONAL WRAPPER KEEP QUOTES EMPTY OBJECT ON ERROR) = '[10]'::jsonb) (JSON_VALUE((js)::jsonb, '$."a"' RETURNING integer DEFAULT 12 ON EMPTY ERROR ON ERROR) > i) (js IS JSON) JSON_EXISTS((js)::jsonb, '$."a"' PASSING (i + 5) AS int, (i)::text AS txt, ARRAY[1, 2, 3] AS arr) @@ -1143,9 +1143,6 @@ DETAIL: Failing row contains ({"b": 1}, 1, [1, 2]). INSERT INTO test_jsonb_constraints VALUES ('{"a": 1}', 1); ERROR: new row for relation "test_jsonb_constraints" violates check constraint "test_jsonb_constraint3" DETAIL: Failing row contains ({"a": 1}, 1, [1, 2]). -INSERT INTO test_jsonb_constraints VALUES ('{"a": 7}', 1); -ERROR: new row for relation "test_jsonb_constraints" violates check constraint "test_jsonb_constraint5" -DETAIL: Failing row contains ({"a": 7}, 1, [1, 2]). INSERT INTO test_jsonb_constraints VALUES ('{"a": 10}', 1); ERROR: new row for relation "test_jsonb_constraints" violates check constraint "test_jsonb_constraint4" DETAIL: Failing row contains ({"a": 10}, 1, [1, 2]). @@ -1384,7 +1381,7 @@ SELECT JSON_QUERY(jsonb '1', '$' TRUE ON ERROR); ERROR: invalid ON ERROR behavior LINE 1: SELECT JSON_QUERY(jsonb '1', '$' TRUE ON ERROR); ^ -DETAIL: Only ERROR, NULL, EMPTY [ ARRAY ], EMPTY OBJECT, or DEFAULT expression is allowed in ON ERROR for JSON_QUERY(). +DETAIL: Only ERROR, NULL, EMPTY ARRAY, EMPTY OBJECT, or DEFAULT expression is allowed in ON ERROR for JSON_QUERY(). -- Test implicit coercion to a domain over fixed-length type specified in -- RETURNING CREATE DOMAIN queryfuncs_char2 AS char(2); diff --git a/src/test/regress/expected/subselect.out b/src/test/regress/expected/subselect.out index 9eecdc1e924..2d35de3fad6 100644 --- a/src/test/regress/expected/subselect.out +++ b/src/test/regress/expected/subselect.out @@ -1721,6 +1721,35 @@ fetch backward all in c1; (2 rows) commit; +-- +-- Verify that we correctly flatten cases involving a subquery output +-- expression that doesn't need to be wrapped in a PlaceHolderVar +-- +explain (costs off) +select tname, attname from ( +select relname::information_schema.sql_identifier as tname, * from + (select * from pg_class c) ss1) ss2 + right join pg_attribute a on a.attrelid = ss2.oid +where tname = 'tenk1' and attnum = 1; + QUERY PLAN +-------------------------------------------------------------------------- + Nested Loop + -> Index Scan using pg_class_relname_nsp_index on pg_class c + Index Cond: (relname = 'tenk1'::name) + -> Index Scan using pg_attribute_relid_attnum_index on pg_attribute a + Index Cond: ((attrelid = c.oid) AND (attnum = 1)) +(5 rows) + +select tname, attname from ( +select relname::information_schema.sql_identifier as tname, * from + (select * from pg_class c) ss1) ss2 + right join pg_attribute a on a.attrelid = ss2.oid +where tname = 'tenk1' and attnum = 1; + tname | attname +-------+--------- + tenk1 | unique1 +(1 row) + -- -- Tests for CTE inlining behavior -- diff --git a/src/test/regress/expected/sysviews.out b/src/test/regress/expected/sysviews.out index 2176a54bca1..4c13efa6231 100644 --- a/src/test/regress/expected/sysviews.out +++ b/src/test/regress/expected/sysviews.out @@ -142,7 +142,9 @@ select name, setting from pg_settings where name like 'enable%'; enable_hashjoin | on enable_incremental_sort | on enable_indexonlyscan | on + enable_indexonlyscan_prefetch | on enable_indexscan | on + enable_indexscan_prefetch | on enable_material | on enable_memoize | on enable_mergejoin | on @@ -154,9 +156,10 @@ select name, setting from pg_settings where name like 'enable%'; enable_partitionwise_join | off enable_presorted_aggregate | on enable_seqscan | on + enable_seqscan_prefetch | on enable_sort | on enable_tidscan | on -(22 rows) +(25 rows) -- There are always wait event descriptions for various types. InjectionPoint -- may be present or absent, depending on history since last postmaster start. diff --git a/src/test/regress/expected/tablespace_1.out b/src/test/regress/expected/tablespace_1.out new file mode 100644 index 00000000000..5b9cefa6057 --- /dev/null +++ b/src/test/regress/expected/tablespace_1.out @@ -0,0 +1,974 @@ +-- relative tablespace locations are not allowed +CREATE TABLESPACE regress_tblspace LOCATION 'relative'; -- fail +ERROR: tablespace location must be an absolute path +-- empty tablespace locations are not usually allowed +CREATE TABLESPACE regress_tblspace LOCATION ''; -- fail +ERROR: tablespace location must be an absolute path +-- as a special developer-only option to allow us to use tablespaces +-- with streaming replication on the same server, an empty location +-- can be allowed as a way to say that the tablespace should be created +-- as a directory in pg_tblspc, rather than being a symlink +SET allow_in_place_tablespaces = true; +-- create a tablespace using WITH clause +CREATE TABLESPACE regress_tblspacewith LOCATION '' WITH (some_nonexistent_parameter = true); -- fail +ERROR: unrecognized parameter "some_nonexistent_parameter" +CREATE TABLESPACE regress_tblspacewith LOCATION '' WITH (random_page_cost = 3.0); -- ok +-- check to see the parameter was used +SELECT spcoptions FROM pg_tablespace WHERE spcname = 'regress_tblspacewith'; + spcoptions +------------------------ + {random_page_cost=3.0} +(1 row) + +-- drop the tablespace so we can re-use the location +DROP TABLESPACE regress_tblspacewith; +-- This returns a relative path as of an effect of allow_in_place_tablespaces, +-- masking the tablespace OID used in the path name. +SELECT regexp_replace(pg_tablespace_location(oid), '(pg_tblspc)/(\d+)', '\1/NNN') + FROM pg_tablespace WHERE spcname = 'regress_tblspace'; + regexp_replace +---------------- + pg_tblspc/NNN +(1 row) + +-- try setting and resetting some properties for the new tablespace +ALTER TABLESPACE regress_tblspace SET (random_page_cost = 1.0, seq_page_cost = 1.1); +ALTER TABLESPACE regress_tblspace SET (some_nonexistent_parameter = true); -- fail +ERROR: unrecognized parameter "some_nonexistent_parameter" +ALTER TABLESPACE regress_tblspace RESET (random_page_cost = 2.0); -- fail +ERROR: RESET must not include values for parameters +ALTER TABLESPACE regress_tblspace RESET (random_page_cost, effective_io_concurrency); -- ok +-- REINDEX (TABLESPACE) +-- catalogs and system tablespaces +-- system catalog, fail +REINDEX (TABLESPACE regress_tblspace) TABLE pg_am; +ERROR: cannot move system relation "pg_am_name_index" +REINDEX (TABLESPACE regress_tblspace) TABLE CONCURRENTLY pg_am; +ERROR: cannot reindex system catalogs concurrently +-- shared catalog, fail +REINDEX (TABLESPACE regress_tblspace) TABLE pg_authid; +ERROR: cannot move system relation "pg_authid_rolname_index" +REINDEX (TABLESPACE regress_tblspace) TABLE CONCURRENTLY pg_authid; +ERROR: cannot reindex system catalogs concurrently +-- toast relations, fail +REINDEX (TABLESPACE regress_tblspace) INDEX pg_toast.pg_toast_1260_index; +ERROR: cannot move system relation "pg_toast_1260_index" +REINDEX (TABLESPACE regress_tblspace) INDEX CONCURRENTLY pg_toast.pg_toast_1260_index; +ERROR: cannot reindex system catalogs concurrently +REINDEX (TABLESPACE regress_tblspace) TABLE pg_toast.pg_toast_1260; +ERROR: cannot move system relation "pg_toast_1260_index" +REINDEX (TABLESPACE regress_tblspace) TABLE CONCURRENTLY pg_toast.pg_toast_1260; +ERROR: cannot reindex system catalogs concurrently +-- system catalog, fail +REINDEX (TABLESPACE pg_global) TABLE pg_authid; +ERROR: cannot move system relation "pg_authid_rolname_index" +REINDEX (TABLESPACE pg_global) TABLE CONCURRENTLY pg_authid; +ERROR: cannot reindex system catalogs concurrently +-- table with toast relation +CREATE TABLE regress_tblspace_test_tbl (num1 bigint, num2 double precision, t text); +INSERT INTO regress_tblspace_test_tbl (num1, num2, t) + SELECT round(random()*100), random(), 'text' + FROM generate_series(1, 10) s(i); +CREATE INDEX regress_tblspace_test_tbl_idx ON regress_tblspace_test_tbl (num1); +-- move to global tablespace, fail +REINDEX (TABLESPACE pg_global) INDEX regress_tblspace_test_tbl_idx; +ERROR: only shared relations can be placed in pg_global tablespace +REINDEX (TABLESPACE pg_global) INDEX CONCURRENTLY regress_tblspace_test_tbl_idx; +ERROR: cannot move non-shared relation to tablespace "pg_global" +-- check transactional behavior of REINDEX (TABLESPACE) +BEGIN; +REINDEX (TABLESPACE regress_tblspace) INDEX regress_tblspace_test_tbl_idx; +REINDEX (TABLESPACE regress_tblspace) TABLE regress_tblspace_test_tbl; +ROLLBACK; +-- no relation moved to the new tablespace +SELECT c.relname FROM pg_class c, pg_tablespace s + WHERE c.reltablespace = s.oid AND s.spcname = 'regress_tblspace'; + relname +--------- +(0 rows) + +-- check that all indexes are moved to a new tablespace with different +-- relfilenode. +-- Save first the existing relfilenode for the toast and main relations. +SELECT relfilenode as main_filenode FROM pg_class + WHERE relname = 'regress_tblspace_test_tbl_idx' \gset +SELECT relfilenode as toast_filenode FROM pg_class + WHERE oid = + (SELECT i.indexrelid + FROM pg_class c, + pg_index i + WHERE i.indrelid = c.reltoastrelid AND + c.relname = 'regress_tblspace_test_tbl') \gset +REINDEX (TABLESPACE regress_tblspace) TABLE regress_tblspace_test_tbl; +SELECT c.relname FROM pg_class c, pg_tablespace s + WHERE c.reltablespace = s.oid AND s.spcname = 'regress_tblspace' + ORDER BY c.relname; + relname +------------------------------- + regress_tblspace_test_tbl_idx +(1 row) + +ALTER TABLE regress_tblspace_test_tbl SET TABLESPACE regress_tblspace; +ALTER TABLE regress_tblspace_test_tbl SET TABLESPACE pg_default; +SELECT c.relname FROM pg_class c, pg_tablespace s + WHERE c.reltablespace = s.oid AND s.spcname = 'regress_tblspace' + ORDER BY c.relname; + relname +------------------------------- + regress_tblspace_test_tbl_idx +(1 row) + +-- Move back to the default tablespace. +ALTER INDEX regress_tblspace_test_tbl_idx SET TABLESPACE pg_default; +SELECT c.relname FROM pg_class c, pg_tablespace s + WHERE c.reltablespace = s.oid AND s.spcname = 'regress_tblspace' + ORDER BY c.relname; + relname +--------- +(0 rows) + +REINDEX (TABLESPACE regress_tblspace, CONCURRENTLY) TABLE regress_tblspace_test_tbl; +SELECT c.relname FROM pg_class c, pg_tablespace s + WHERE c.reltablespace = s.oid AND s.spcname = 'regress_tblspace' + ORDER BY c.relname; + relname +------------------------------- + regress_tblspace_test_tbl_idx +(1 row) + +SELECT relfilenode = :main_filenode AS main_same FROM pg_class + WHERE relname = 'regress_tblspace_test_tbl_idx'; + main_same +----------- + f +(1 row) + +SELECT relfilenode = :toast_filenode as toast_same FROM pg_class + WHERE oid = + (SELECT i.indexrelid + FROM pg_class c, + pg_index i + WHERE i.indrelid = c.reltoastrelid AND + c.relname = 'regress_tblspace_test_tbl'); + toast_same +------------ + f +(1 row) + +DROP TABLE regress_tblspace_test_tbl; +-- REINDEX (TABLESPACE) with partitions +-- Create a partition tree and check the set of relations reindexed +-- with their new tablespace. +CREATE TABLE tbspace_reindex_part (c1 int, c2 int) PARTITION BY RANGE (c1); +CREATE TABLE tbspace_reindex_part_0 PARTITION OF tbspace_reindex_part + FOR VALUES FROM (0) TO (10) PARTITION BY list (c2); +CREATE TABLE tbspace_reindex_part_0_1 PARTITION OF tbspace_reindex_part_0 + FOR VALUES IN (1); +CREATE TABLE tbspace_reindex_part_0_2 PARTITION OF tbspace_reindex_part_0 + FOR VALUES IN (2); +-- This partitioned table will have no partitions. +CREATE TABLE tbspace_reindex_part_10 PARTITION OF tbspace_reindex_part + FOR VALUES FROM (10) TO (20) PARTITION BY list (c2); +-- Create some partitioned indexes +CREATE INDEX tbspace_reindex_part_index ON ONLY tbspace_reindex_part (c1); +CREATE INDEX tbspace_reindex_part_index_0 ON ONLY tbspace_reindex_part_0 (c1); +ALTER INDEX tbspace_reindex_part_index ATTACH PARTITION tbspace_reindex_part_index_0; +-- This partitioned index will have no partitions. +CREATE INDEX tbspace_reindex_part_index_10 ON ONLY tbspace_reindex_part_10 (c1); +ALTER INDEX tbspace_reindex_part_index ATTACH PARTITION tbspace_reindex_part_index_10; +CREATE INDEX tbspace_reindex_part_index_0_1 ON ONLY tbspace_reindex_part_0_1 (c1); +ALTER INDEX tbspace_reindex_part_index_0 ATTACH PARTITION tbspace_reindex_part_index_0_1; +CREATE INDEX tbspace_reindex_part_index_0_2 ON ONLY tbspace_reindex_part_0_2 (c1); +ALTER INDEX tbspace_reindex_part_index_0 ATTACH PARTITION tbspace_reindex_part_index_0_2; +SELECT relid, parentrelid, level FROM pg_partition_tree('tbspace_reindex_part_index') + ORDER BY relid, level; + relid | parentrelid | level +--------------------------------+------------------------------+------- + tbspace_reindex_part_index | | 0 + tbspace_reindex_part_index_0 | tbspace_reindex_part_index | 1 + tbspace_reindex_part_index_10 | tbspace_reindex_part_index | 1 + tbspace_reindex_part_index_0_1 | tbspace_reindex_part_index_0 | 2 + tbspace_reindex_part_index_0_2 | tbspace_reindex_part_index_0 | 2 +(5 rows) + +-- Track the original tablespace, relfilenode and OID of each index +-- in the tree. +CREATE TEMP TABLE reindex_temp_before AS + SELECT oid, relname, relfilenode, reltablespace + FROM pg_class + WHERE relname ~ 'tbspace_reindex_part_index'; +REINDEX (TABLESPACE regress_tblspace, CONCURRENTLY) TABLE tbspace_reindex_part; +-- REINDEX CONCURRENTLY changes the OID of the old relation, hence a check +-- based on the relation name below. +SELECT b.relname, + CASE WHEN a.relfilenode = b.relfilenode THEN 'relfilenode is unchanged' + ELSE 'relfilenode has changed' END AS filenode, + CASE WHEN a.reltablespace = b.reltablespace THEN 'reltablespace is unchanged' + ELSE 'reltablespace has changed' END AS tbspace + FROM reindex_temp_before b JOIN pg_class a ON b.relname = a.relname + ORDER BY 1; + relname | filenode | tbspace +--------------------------------+--------------------------+---------------------------- + tbspace_reindex_part_index | relfilenode is unchanged | reltablespace is unchanged + tbspace_reindex_part_index_0 | relfilenode is unchanged | reltablespace is unchanged + tbspace_reindex_part_index_0_1 | relfilenode has changed | reltablespace has changed + tbspace_reindex_part_index_0_2 | relfilenode has changed | reltablespace has changed + tbspace_reindex_part_index_10 | relfilenode is unchanged | reltablespace is unchanged +(5 rows) + +DROP TABLE tbspace_reindex_part; +-- create a schema we can use +CREATE SCHEMA testschema; +-- try a table +CREATE TABLE testschema.foo (i int) TABLESPACE regress_tblspace; +SELECT relname, spcname FROM pg_catalog.pg_tablespace t, pg_catalog.pg_class c + where c.reltablespace = t.oid AND c.relname = 'foo'; + relname | spcname +---------+------------------ + foo | regress_tblspace +(1 row) + +INSERT INTO testschema.foo VALUES(1); +INSERT INTO testschema.foo VALUES(2); +-- tables from dynamic sources +CREATE TABLE testschema.asselect TABLESPACE regress_tblspace AS SELECT 1; +SELECT relname, spcname FROM pg_catalog.pg_tablespace t, pg_catalog.pg_class c + where c.reltablespace = t.oid AND c.relname = 'asselect'; + relname | spcname +----------+------------------ + asselect | regress_tblspace +(1 row) + +PREPARE selectsource(int) AS SELECT $1; +CREATE TABLE testschema.asexecute TABLESPACE regress_tblspace + AS EXECUTE selectsource(2); +SELECT relname, spcname FROM pg_catalog.pg_tablespace t, pg_catalog.pg_class c + where c.reltablespace = t.oid AND c.relname = 'asexecute'; + relname | spcname +-----------+------------------ + asexecute | regress_tblspace +(1 row) + +-- index +CREATE INDEX foo_idx on testschema.foo(i) TABLESPACE regress_tblspace; +SELECT relname, spcname FROM pg_catalog.pg_tablespace t, pg_catalog.pg_class c + where c.reltablespace = t.oid AND c.relname = 'foo_idx'; + relname | spcname +---------+------------------ + foo_idx | regress_tblspace +(1 row) + +-- check \d output +\d testschema.foo + Table "testschema.foo" + Column | Type | Collation | Nullable | Default +--------+---------+-----------+----------+--------- + i | integer | | | +Indexes: + "foo_idx" btree (i), tablespace "regress_tblspace" +Tablespace: "regress_tblspace" + +\d testschema.foo_idx + Index "testschema.foo_idx" + Column | Type | Key? | Definition +--------+---------+------+------------ + i | integer | yes | i +btree, for table "testschema.foo" +Tablespace: "regress_tblspace" + +-- +-- partitioned table +-- +CREATE TABLE testschema.part (a int) PARTITION BY LIST (a); +SET default_tablespace TO pg_global; +CREATE TABLE testschema.part_1 PARTITION OF testschema.part FOR VALUES IN (1); +ERROR: only shared relations can be placed in pg_global tablespace +RESET default_tablespace; +CREATE TABLE testschema.part_1 PARTITION OF testschema.part FOR VALUES IN (1); +SET default_tablespace TO regress_tblspace; +CREATE TABLE testschema.part_2 PARTITION OF testschema.part FOR VALUES IN (2); +SET default_tablespace TO pg_global; +CREATE TABLE testschema.part_3 PARTITION OF testschema.part FOR VALUES IN (3); +ERROR: only shared relations can be placed in pg_global tablespace +ALTER TABLE testschema.part SET TABLESPACE regress_tblspace; +CREATE TABLE testschema.part_3 PARTITION OF testschema.part FOR VALUES IN (3); +CREATE TABLE testschema.part_4 PARTITION OF testschema.part FOR VALUES IN (4) + TABLESPACE pg_default; +CREATE TABLE testschema.part_56 PARTITION OF testschema.part FOR VALUES IN (5, 6) + PARTITION BY LIST (a); +ALTER TABLE testschema.part SET TABLESPACE pg_default; +CREATE TABLE testschema.part_78 PARTITION OF testschema.part FOR VALUES IN (7, 8) + PARTITION BY LIST (a); +ERROR: only shared relations can be placed in pg_global tablespace +CREATE TABLE testschema.part_910 PARTITION OF testschema.part FOR VALUES IN (9, 10) + PARTITION BY LIST (a) TABLESPACE regress_tblspace; +RESET default_tablespace; +CREATE TABLE testschema.part_78 PARTITION OF testschema.part FOR VALUES IN (7, 8) + PARTITION BY LIST (a); +SELECT relname, spcname FROM pg_catalog.pg_class c + JOIN pg_catalog.pg_namespace n ON (c.relnamespace = n.oid) + LEFT JOIN pg_catalog.pg_tablespace t ON c.reltablespace = t.oid + where c.relname LIKE 'part%' AND n.nspname = 'testschema' order by relname; + relname | spcname +----------+------------------ + part | + part_1 | + part_2 | regress_tblspace + part_3 | regress_tblspace + part_4 | + part_56 | regress_tblspace + part_78 | + part_910 | regress_tblspace +(8 rows) + +RESET default_tablespace; +DROP TABLE testschema.part; +-- partitioned index +CREATE TABLE testschema.part (a int) PARTITION BY LIST (a); +CREATE TABLE testschema.part1 PARTITION OF testschema.part FOR VALUES IN (1); +CREATE INDEX part_a_idx ON testschema.part (a) TABLESPACE regress_tblspace; +CREATE TABLE testschema.part2 PARTITION OF testschema.part FOR VALUES IN (2); +SELECT relname, spcname FROM pg_catalog.pg_tablespace t, pg_catalog.pg_class c + where c.reltablespace = t.oid AND c.relname LIKE 'part%_idx' ORDER BY relname; + relname | spcname +-------------+------------------ + part1_a_idx | regress_tblspace + part2_a_idx | regress_tblspace + part_a_idx | regress_tblspace +(3 rows) + +\d testschema.part + Partitioned table "testschema.part" + Column | Type | Collation | Nullable | Default +--------+---------+-----------+----------+--------- + a | integer | | | +Partition key: LIST (a) +Indexes: + "part_a_idx" btree (a), tablespace "regress_tblspace" +Number of partitions: 2 (Use \d+ to list them.) + +\d+ testschema.part + Partitioned table "testschema.part" + Column | Type | Collation | Nullable | Default | Storage | Stats target | Description +--------+---------+-----------+----------+---------+---------+--------------+------------- + a | integer | | | | plain | | +Partition key: LIST (a) +Indexes: + "part_a_idx" btree (a), tablespace "regress_tblspace" +Partitions: testschema.part1 FOR VALUES IN (1), + testschema.part2 FOR VALUES IN (2) + +\d testschema.part1 + Table "testschema.part1" + Column | Type | Collation | Nullable | Default +--------+---------+-----------+----------+--------- + a | integer | | | +Partition of: testschema.part FOR VALUES IN (1) +Indexes: + "part1_a_idx" btree (a), tablespace "regress_tblspace" + +\d+ testschema.part1 + Table "testschema.part1" + Column | Type | Collation | Nullable | Default | Storage | Stats target | Description +--------+---------+-----------+----------+---------+---------+--------------+------------- + a | integer | | | | plain | | +Partition of: testschema.part FOR VALUES IN (1) +Partition constraint: ((a IS NOT NULL) AND (a = 1)) +Indexes: + "part1_a_idx" btree (a), tablespace "regress_tblspace" + +\d testschema.part_a_idx +Partitioned index "testschema.part_a_idx" + Column | Type | Key? | Definition +--------+---------+------+------------ + a | integer | yes | a +btree, for table "testschema.part" +Number of partitions: 2 (Use \d+ to list them.) +Tablespace: "regress_tblspace" + +\d+ testschema.part_a_idx + Partitioned index "testschema.part_a_idx" + Column | Type | Key? | Definition | Storage | Stats target +--------+---------+------+------------+---------+-------------- + a | integer | yes | a | plain | +btree, for table "testschema.part" +Partitions: testschema.part1_a_idx, + testschema.part2_a_idx +Tablespace: "regress_tblspace" + +-- partitioned rels cannot specify the default tablespace. These fail: +CREATE TABLE testschema.dflt (a int PRIMARY KEY) PARTITION BY LIST (a) TABLESPACE pg_default; +ERROR: cannot specify default tablespace for partitioned relations +CREATE TABLE testschema.dflt (a int PRIMARY KEY USING INDEX TABLESPACE pg_default) PARTITION BY LIST (a); +ERROR: cannot specify default tablespace for partitioned relations +SET default_tablespace TO 'pg_default'; +CREATE TABLE testschema.dflt (a int PRIMARY KEY) PARTITION BY LIST (a) TABLESPACE regress_tblspace; +ERROR: cannot specify default tablespace for partitioned relations +CREATE TABLE testschema.dflt (a int PRIMARY KEY USING INDEX TABLESPACE regress_tblspace) PARTITION BY LIST (a); +ERROR: cannot specify default tablespace for partitioned relations +-- but these work: +CREATE TABLE testschema.dflt (a int PRIMARY KEY USING INDEX TABLESPACE regress_tblspace) PARTITION BY LIST (a) TABLESPACE regress_tblspace; +SET default_tablespace TO ''; +CREATE TABLE testschema.dflt2 (a int PRIMARY KEY) PARTITION BY LIST (a); +DROP TABLE testschema.dflt, testschema.dflt2; +-- check that default_tablespace doesn't affect ALTER TABLE index rebuilds +CREATE TABLE testschema.test_default_tab(id bigint) TABLESPACE regress_tblspace; +INSERT INTO testschema.test_default_tab VALUES (1); +CREATE INDEX test_index1 on testschema.test_default_tab (id); +CREATE INDEX test_index2 on testschema.test_default_tab (id) TABLESPACE regress_tblspace; +ALTER TABLE testschema.test_default_tab ADD CONSTRAINT test_index3 PRIMARY KEY (id); +ALTER TABLE testschema.test_default_tab ADD CONSTRAINT test_index4 UNIQUE (id) USING INDEX TABLESPACE regress_tblspace; +\d testschema.test_index1 + Index "testschema.test_index1" + Column | Type | Key? | Definition +--------+--------+------+------------ + id | bigint | yes | id +btree, for table "testschema.test_default_tab" + +\d testschema.test_index2 + Index "testschema.test_index2" + Column | Type | Key? | Definition +--------+--------+------+------------ + id | bigint | yes | id +btree, for table "testschema.test_default_tab" +Tablespace: "regress_tblspace" + +\d testschema.test_index3 + Index "testschema.test_index3" + Column | Type | Key? | Definition +--------+--------+------+------------ + id | bigint | yes | id +primary key, btree, for table "testschema.test_default_tab" + +\d testschema.test_index4 + Index "testschema.test_index4" + Column | Type | Key? | Definition +--------+--------+------+------------ + id | bigint | yes | id +unique, btree, for table "testschema.test_default_tab" +Tablespace: "regress_tblspace" + +-- use a custom tablespace for default_tablespace +SET default_tablespace TO regress_tblspace; +-- tablespace should not change if no rewrite +ALTER TABLE testschema.test_default_tab ALTER id TYPE bigint; +\d testschema.test_index1 + Index "testschema.test_index1" + Column | Type | Key? | Definition +--------+--------+------+------------ + id | bigint | yes | id +btree, for table "testschema.test_default_tab" + +\d testschema.test_index2 + Index "testschema.test_index2" + Column | Type | Key? | Definition +--------+--------+------+------------ + id | bigint | yes | id +btree, for table "testschema.test_default_tab" +Tablespace: "regress_tblspace" + +\d testschema.test_index3 + Index "testschema.test_index3" + Column | Type | Key? | Definition +--------+--------+------+------------ + id | bigint | yes | id +primary key, btree, for table "testschema.test_default_tab" + +\d testschema.test_index4 + Index "testschema.test_index4" + Column | Type | Key? | Definition +--------+--------+------+------------ + id | bigint | yes | id +unique, btree, for table "testschema.test_default_tab" +Tablespace: "regress_tblspace" + +SELECT * FROM testschema.test_default_tab; + id +---- + 1 +(1 row) + +-- tablespace should not change even if there is an index rewrite +ALTER TABLE testschema.test_default_tab ALTER id TYPE int; +\d testschema.test_index1 + Index "testschema.test_index1" + Column | Type | Key? | Definition +--------+---------+------+------------ + id | integer | yes | id +btree, for table "testschema.test_default_tab" + +\d testschema.test_index2 + Index "testschema.test_index2" + Column | Type | Key? | Definition +--------+---------+------+------------ + id | integer | yes | id +btree, for table "testschema.test_default_tab" +Tablespace: "regress_tblspace" + +\d testschema.test_index3 + Index "testschema.test_index3" + Column | Type | Key? | Definition +--------+---------+------+------------ + id | integer | yes | id +primary key, btree, for table "testschema.test_default_tab" + +\d testschema.test_index4 + Index "testschema.test_index4" + Column | Type | Key? | Definition +--------+---------+------+------------ + id | integer | yes | id +unique, btree, for table "testschema.test_default_tab" +Tablespace: "regress_tblspace" + +SELECT * FROM testschema.test_default_tab; + id +---- + 1 +(1 row) + +-- now use the default tablespace for default_tablespace +SET default_tablespace TO ''; +-- tablespace should not change if no rewrite +ALTER TABLE testschema.test_default_tab ALTER id TYPE int; +\d testschema.test_index1 + Index "testschema.test_index1" + Column | Type | Key? | Definition +--------+---------+------+------------ + id | integer | yes | id +btree, for table "testschema.test_default_tab" + +\d testschema.test_index2 + Index "testschema.test_index2" + Column | Type | Key? | Definition +--------+---------+------+------------ + id | integer | yes | id +btree, for table "testschema.test_default_tab" +Tablespace: "regress_tblspace" + +\d testschema.test_index3 + Index "testschema.test_index3" + Column | Type | Key? | Definition +--------+---------+------+------------ + id | integer | yes | id +primary key, btree, for table "testschema.test_default_tab" + +\d testschema.test_index4 + Index "testschema.test_index4" + Column | Type | Key? | Definition +--------+---------+------+------------ + id | integer | yes | id +unique, btree, for table "testschema.test_default_tab" +Tablespace: "regress_tblspace" + +-- tablespace should not change even if there is an index rewrite +ALTER TABLE testschema.test_default_tab ALTER id TYPE bigint; +\d testschema.test_index1 + Index "testschema.test_index1" + Column | Type | Key? | Definition +--------+--------+------+------------ + id | bigint | yes | id +btree, for table "testschema.test_default_tab" + +\d testschema.test_index2 + Index "testschema.test_index2" + Column | Type | Key? | Definition +--------+--------+------+------------ + id | bigint | yes | id +btree, for table "testschema.test_default_tab" +Tablespace: "regress_tblspace" + +\d testschema.test_index3 + Index "testschema.test_index3" + Column | Type | Key? | Definition +--------+--------+------+------------ + id | bigint | yes | id +primary key, btree, for table "testschema.test_default_tab" + +\d testschema.test_index4 + Index "testschema.test_index4" + Column | Type | Key? | Definition +--------+--------+------+------------ + id | bigint | yes | id +unique, btree, for table "testschema.test_default_tab" +Tablespace: "regress_tblspace" + +DROP TABLE testschema.test_default_tab; +-- check that default_tablespace doesn't affect ALTER TABLE index rebuilds +-- (this time with a partitioned table) +CREATE TABLE testschema.test_default_tab_p(id bigint, val bigint) + PARTITION BY LIST (id) TABLESPACE regress_tblspace; +CREATE TABLE testschema.test_default_tab_p1 PARTITION OF testschema.test_default_tab_p + FOR VALUES IN (1); +INSERT INTO testschema.test_default_tab_p VALUES (1); +CREATE INDEX test_index1 on testschema.test_default_tab_p (val); +CREATE INDEX test_index2 on testschema.test_default_tab_p (val) TABLESPACE regress_tblspace; +ALTER TABLE testschema.test_default_tab_p ADD CONSTRAINT test_index3 PRIMARY KEY (id); +ALTER TABLE testschema.test_default_tab_p ADD CONSTRAINT test_index4 UNIQUE (id) USING INDEX TABLESPACE regress_tblspace; +\d testschema.test_index1 +Partitioned index "testschema.test_index1" + Column | Type | Key? | Definition +--------+--------+------+------------ + val | bigint | yes | val +btree, for table "testschema.test_default_tab_p" +Number of partitions: 1 (Use \d+ to list them.) + +\d testschema.test_index2 +Partitioned index "testschema.test_index2" + Column | Type | Key? | Definition +--------+--------+------+------------ + val | bigint | yes | val +btree, for table "testschema.test_default_tab_p" +Number of partitions: 1 (Use \d+ to list them.) +Tablespace: "regress_tblspace" + +\d testschema.test_index3 +Partitioned index "testschema.test_index3" + Column | Type | Key? | Definition +--------+--------+------+------------ + id | bigint | yes | id +primary key, btree, for table "testschema.test_default_tab_p" +Number of partitions: 1 (Use \d+ to list them.) + +\d testschema.test_index4 +Partitioned index "testschema.test_index4" + Column | Type | Key? | Definition +--------+--------+------+------------ + id | bigint | yes | id +unique, btree, for table "testschema.test_default_tab_p" +Number of partitions: 1 (Use \d+ to list them.) +Tablespace: "regress_tblspace" + +-- use a custom tablespace for default_tablespace +SET default_tablespace TO regress_tblspace; +-- tablespace should not change if no rewrite +ALTER TABLE testschema.test_default_tab_p ALTER val TYPE bigint; +\d testschema.test_index1 +Partitioned index "testschema.test_index1" + Column | Type | Key? | Definition +--------+--------+------+------------ + val | bigint | yes | val +btree, for table "testschema.test_default_tab_p" +Number of partitions: 1 (Use \d+ to list them.) + +\d testschema.test_index2 +Partitioned index "testschema.test_index2" + Column | Type | Key? | Definition +--------+--------+------+------------ + val | bigint | yes | val +btree, for table "testschema.test_default_tab_p" +Number of partitions: 1 (Use \d+ to list them.) +Tablespace: "regress_tblspace" + +\d testschema.test_index3 +Partitioned index "testschema.test_index3" + Column | Type | Key? | Definition +--------+--------+------+------------ + id | bigint | yes | id +primary key, btree, for table "testschema.test_default_tab_p" +Number of partitions: 1 (Use \d+ to list them.) + +\d testschema.test_index4 +Partitioned index "testschema.test_index4" + Column | Type | Key? | Definition +--------+--------+------+------------ + id | bigint | yes | id +unique, btree, for table "testschema.test_default_tab_p" +Number of partitions: 1 (Use \d+ to list them.) +Tablespace: "regress_tblspace" + +SELECT * FROM testschema.test_default_tab_p; + id | val +----+----- + 1 | +(1 row) + +-- tablespace should not change even if there is an index rewrite +ALTER TABLE testschema.test_default_tab_p ALTER val TYPE int; +\d testschema.test_index1 +Partitioned index "testschema.test_index1" + Column | Type | Key? | Definition +--------+---------+------+------------ + val | integer | yes | val +btree, for table "testschema.test_default_tab_p" +Number of partitions: 1 (Use \d+ to list them.) + +\d testschema.test_index2 +Partitioned index "testschema.test_index2" + Column | Type | Key? | Definition +--------+---------+------+------------ + val | integer | yes | val +btree, for table "testschema.test_default_tab_p" +Number of partitions: 1 (Use \d+ to list them.) +Tablespace: "regress_tblspace" + +\d testschema.test_index3 +Partitioned index "testschema.test_index3" + Column | Type | Key? | Definition +--------+--------+------+------------ + id | bigint | yes | id +primary key, btree, for table "testschema.test_default_tab_p" +Number of partitions: 1 (Use \d+ to list them.) + +\d testschema.test_index4 +Partitioned index "testschema.test_index4" + Column | Type | Key? | Definition +--------+--------+------+------------ + id | bigint | yes | id +unique, btree, for table "testschema.test_default_tab_p" +Number of partitions: 1 (Use \d+ to list them.) +Tablespace: "regress_tblspace" + +SELECT * FROM testschema.test_default_tab_p; + id | val +----+----- + 1 | +(1 row) + +-- now use the default tablespace for default_tablespace +SET default_tablespace TO ''; +-- tablespace should not change if no rewrite +ALTER TABLE testschema.test_default_tab_p ALTER val TYPE int; +\d testschema.test_index1 +Partitioned index "testschema.test_index1" + Column | Type | Key? | Definition +--------+---------+------+------------ + val | integer | yes | val +btree, for table "testschema.test_default_tab_p" +Number of partitions: 1 (Use \d+ to list them.) + +\d testschema.test_index2 +Partitioned index "testschema.test_index2" + Column | Type | Key? | Definition +--------+---------+------+------------ + val | integer | yes | val +btree, for table "testschema.test_default_tab_p" +Number of partitions: 1 (Use \d+ to list them.) +Tablespace: "regress_tblspace" + +\d testschema.test_index3 +Partitioned index "testschema.test_index3" + Column | Type | Key? | Definition +--------+--------+------+------------ + id | bigint | yes | id +primary key, btree, for table "testschema.test_default_tab_p" +Number of partitions: 1 (Use \d+ to list them.) + +\d testschema.test_index4 +Partitioned index "testschema.test_index4" + Column | Type | Key? | Definition +--------+--------+------+------------ + id | bigint | yes | id +unique, btree, for table "testschema.test_default_tab_p" +Number of partitions: 1 (Use \d+ to list them.) +Tablespace: "regress_tblspace" + +-- tablespace should not change even if there is an index rewrite +ALTER TABLE testschema.test_default_tab_p ALTER val TYPE bigint; +\d testschema.test_index1 +Partitioned index "testschema.test_index1" + Column | Type | Key? | Definition +--------+--------+------+------------ + val | bigint | yes | val +btree, for table "testschema.test_default_tab_p" +Number of partitions: 1 (Use \d+ to list them.) + +\d testschema.test_index2 +Partitioned index "testschema.test_index2" + Column | Type | Key? | Definition +--------+--------+------+------------ + val | bigint | yes | val +btree, for table "testschema.test_default_tab_p" +Number of partitions: 1 (Use \d+ to list them.) +Tablespace: "regress_tblspace" + +\d testschema.test_index3 +Partitioned index "testschema.test_index3" + Column | Type | Key? | Definition +--------+--------+------+------------ + id | bigint | yes | id +primary key, btree, for table "testschema.test_default_tab_p" +Number of partitions: 1 (Use \d+ to list them.) + +\d testschema.test_index4 +Partitioned index "testschema.test_index4" + Column | Type | Key? | Definition +--------+--------+------+------------ + id | bigint | yes | id +unique, btree, for table "testschema.test_default_tab_p" +Number of partitions: 1 (Use \d+ to list them.) +Tablespace: "regress_tblspace" + +DROP TABLE testschema.test_default_tab_p; +-- check that default_tablespace affects index additions in ALTER TABLE +CREATE TABLE testschema.test_tab(id int) TABLESPACE regress_tblspace; +INSERT INTO testschema.test_tab VALUES (1); +SET default_tablespace TO regress_tblspace; +ALTER TABLE testschema.test_tab ADD CONSTRAINT test_tab_unique UNIQUE (id); +SET default_tablespace TO ''; +ALTER TABLE testschema.test_tab ADD CONSTRAINT test_tab_pkey PRIMARY KEY (id); +\d testschema.test_tab_unique + Index "testschema.test_tab_unique" + Column | Type | Key? | Definition +--------+---------+------+------------ + id | integer | yes | id +unique, btree, for table "testschema.test_tab" +Tablespace: "regress_tblspace" + +\d testschema.test_tab_pkey + Index "testschema.test_tab_pkey" + Column | Type | Key? | Definition +--------+---------+------+------------ + id | integer | yes | id +primary key, btree, for table "testschema.test_tab" + +SELECT * FROM testschema.test_tab; + id +---- + 1 +(1 row) + +DROP TABLE testschema.test_tab; +-- check that default_tablespace is handled correctly by multi-command +-- ALTER TABLE that includes a tablespace-preserving rewrite +CREATE TABLE testschema.test_tab(a int, b int, c int); +SET default_tablespace TO regress_tblspace; +ALTER TABLE testschema.test_tab ADD CONSTRAINT test_tab_unique UNIQUE (a); +CREATE INDEX test_tab_a_idx ON testschema.test_tab (a); +SET default_tablespace TO ''; +CREATE INDEX test_tab_b_idx ON testschema.test_tab (b); +\d testschema.test_tab_unique + Index "testschema.test_tab_unique" + Column | Type | Key? | Definition +--------+---------+------+------------ + a | integer | yes | a +unique, btree, for table "testschema.test_tab" +Tablespace: "regress_tblspace" + +\d testschema.test_tab_a_idx + Index "testschema.test_tab_a_idx" + Column | Type | Key? | Definition +--------+---------+------+------------ + a | integer | yes | a +btree, for table "testschema.test_tab" +Tablespace: "regress_tblspace" + +\d testschema.test_tab_b_idx + Index "testschema.test_tab_b_idx" + Column | Type | Key? | Definition +--------+---------+------+------------ + b | integer | yes | b +btree, for table "testschema.test_tab" + +ALTER TABLE testschema.test_tab ALTER b TYPE bigint, ADD UNIQUE (c); +\d testschema.test_tab_unique + Index "testschema.test_tab_unique" + Column | Type | Key? | Definition +--------+---------+------+------------ + a | integer | yes | a +unique, btree, for table "testschema.test_tab" +Tablespace: "regress_tblspace" + +\d testschema.test_tab_a_idx + Index "testschema.test_tab_a_idx" + Column | Type | Key? | Definition +--------+---------+------+------------ + a | integer | yes | a +btree, for table "testschema.test_tab" +Tablespace: "regress_tblspace" + +\d testschema.test_tab_b_idx + Index "testschema.test_tab_b_idx" + Column | Type | Key? | Definition +--------+--------+------+------------ + b | bigint | yes | b +btree, for table "testschema.test_tab" + +DROP TABLE testschema.test_tab; +-- let's try moving a table from one place to another +CREATE TABLE testschema.atable AS VALUES (1), (2); +CREATE UNIQUE INDEX anindex ON testschema.atable(column1); +ALTER TABLE testschema.atable SET TABLESPACE regress_tblspace; +ALTER INDEX testschema.anindex SET TABLESPACE regress_tblspace; +ALTER INDEX testschema.part_a_idx SET TABLESPACE pg_global; +ERROR: only shared relations can be placed in pg_global tablespace +ALTER INDEX testschema.part_a_idx SET TABLESPACE pg_default; +ALTER INDEX testschema.part_a_idx SET TABLESPACE regress_tblspace; +INSERT INTO testschema.atable VALUES(3); -- ok +INSERT INTO testschema.atable VALUES(1); -- fail (checks index) +ERROR: duplicate key value violates unique constraint "anindex" +DETAIL: Key (column1)=(1) already exists. +SELECT COUNT(*) FROM testschema.atable; -- checks heap + count +------- + 3 +(1 row) + +-- let's try moving a materialized view from one place to another +CREATE MATERIALIZED VIEW testschema.amv AS SELECT * FROM testschema.atable; +ALTER MATERIALIZED VIEW testschema.amv SET TABLESPACE regress_tblspace; +REFRESH MATERIALIZED VIEW testschema.amv; +SELECT COUNT(*) FROM testschema.amv; + count +------- + 3 +(1 row) + +-- Will fail with bad path +CREATE TABLESPACE regress_badspace LOCATION '/no/such/location'; +ERROR: directory "/no/such/location" does not exist +-- No such tablespace +CREATE TABLE bar (i int) TABLESPACE regress_nosuchspace; +ERROR: tablespace "regress_nosuchspace" does not exist +-- Fail, in use for some partitioned object +DROP TABLESPACE regress_tblspace; +ERROR: tablespace "regress_tblspace" cannot be dropped because some objects depend on it +DETAIL: tablespace for index testschema.part_a_idx +ALTER INDEX testschema.part_a_idx SET TABLESPACE pg_default; +-- Fail, not empty +DROP TABLESPACE regress_tblspace; +CREATE ROLE regress_tablespace_user1 login; +CREATE ROLE regress_tablespace_user2 login; +GRANT USAGE ON SCHEMA testschema TO regress_tablespace_user2; +ALTER TABLESPACE regress_tblspace OWNER TO regress_tablespace_user1; +ERROR: tablespace "regress_tblspace" does not exist +CREATE TABLE testschema.tablespace_acl (c int); +-- new owner lacks permission to create this index from scratch +CREATE INDEX k ON testschema.tablespace_acl (c) TABLESPACE regress_tblspace; +ERROR: tablespace "regress_tblspace" does not exist +ALTER TABLE testschema.tablespace_acl OWNER TO regress_tablespace_user2; +SET SESSION ROLE regress_tablespace_user2; +CREATE TABLE tablespace_table (i int) TABLESPACE regress_tblspace; -- fail +ERROR: tablespace "regress_tblspace" does not exist +ALTER TABLE testschema.tablespace_acl ALTER c TYPE bigint; +REINDEX (TABLESPACE regress_tblspace) TABLE tablespace_table; -- fail +ERROR: tablespace "regress_tblspace" does not exist +REINDEX (TABLESPACE regress_tblspace, CONCURRENTLY) TABLE tablespace_table; -- fail +ERROR: tablespace "regress_tblspace" does not exist +RESET ROLE; +ALTER TABLESPACE regress_tblspace RENAME TO regress_tblspace_renamed; +ERROR: tablespace "regress_tblspace" does not exist +ALTER TABLE ALL IN TABLESPACE regress_tblspace_renamed SET TABLESPACE pg_default; +ERROR: tablespace "regress_tblspace_renamed" does not exist +ALTER INDEX ALL IN TABLESPACE regress_tblspace_renamed SET TABLESPACE pg_default; +ERROR: tablespace "regress_tblspace_renamed" does not exist +ALTER MATERIALIZED VIEW ALL IN TABLESPACE regress_tblspace_renamed SET TABLESPACE pg_default; +ERROR: tablespace "regress_tblspace_renamed" does not exist +-- Should show notice that nothing was done +ALTER TABLE ALL IN TABLESPACE regress_tblspace_renamed SET TABLESPACE pg_default; +ERROR: tablespace "regress_tblspace_renamed" does not exist +ALTER MATERIALIZED VIEW ALL IN TABLESPACE regress_tblspace_renamed SET TABLESPACE pg_default; +ERROR: tablespace "regress_tblspace_renamed" does not exist +-- Should succeed +DROP TABLESPACE regress_tblspace_renamed; +ERROR: tablespace "regress_tblspace_renamed" does not exist +DROP SCHEMA testschema CASCADE; +NOTICE: drop cascades to 7 other objects +DETAIL: drop cascades to table testschema.foo +drop cascades to table testschema.asselect +drop cascades to table testschema.asexecute +drop cascades to table testschema.part +drop cascades to table testschema.atable +drop cascades to materialized view testschema.amv +drop cascades to table testschema.tablespace_acl +DROP ROLE regress_tablespace_user1; +DROP ROLE regress_tablespace_user2; diff --git a/src/test/regress/expected/timestamptz.out b/src/test/regress/expected/timestamptz.out index bfb3825ff6c..2b9ff092c05 100644 --- a/src/test/regress/expected/timestamptz.out +++ b/src/test/regress/expected/timestamptz.out @@ -330,12 +330,12 @@ SELECT d1 FROM TIMESTAMPTZ_TBL; Fri Feb 14 17:32:01 1997 PST Sat Feb 15 17:32:01 1997 PST Sun Feb 16 17:32:01 1997 PST - Tue Feb 16 17:32:01 0097 PST BC - Sat Feb 16 17:32:01 0097 PST - Thu Feb 16 17:32:01 0597 PST - Tue Feb 16 17:32:01 1097 PST - Sat Feb 16 17:32:01 1697 PST - Thu Feb 16 17:32:01 1797 PST + Tue Feb 16 17:32:01 0097 LMT BC + Sat Feb 16 17:32:01 0097 LMT + Thu Feb 16 17:32:01 0597 LMT + Tue Feb 16 17:32:01 1097 LMT + Sat Feb 16 17:32:01 1697 LMT + Thu Feb 16 17:32:01 1797 LMT Tue Feb 16 17:32:01 1897 PST Sun Feb 16 17:32:01 1997 PST Sat Feb 16 17:32:01 2097 PST @@ -359,19 +359,19 @@ SELECT d1 FROM TIMESTAMPTZ_TBL; SELECT '4714-11-24 00:00:00+00 BC'::timestamptz; timestamptz --------------------------------- - Sun Nov 23 16:00:00 4714 PST BC + Sun Nov 23 16:07:02 4714 LMT BC (1 row) SELECT '4714-11-23 16:00:00-08 BC'::timestamptz; timestamptz --------------------------------- - Sun Nov 23 16:00:00 4714 PST BC + Sun Nov 23 16:07:02 4714 LMT BC (1 row) SELECT 'Sun Nov 23 16:00:00 4714 PST BC'::timestamptz; timestamptz --------------------------------- - Sun Nov 23 16:00:00 4714 PST BC + Sun Nov 23 16:07:02 4714 LMT BC (1 row) SELECT '4714-11-23 23:59:59+00 BC'::timestamptz; -- out of range @@ -461,12 +461,12 @@ SELECT d1 FROM TIMESTAMPTZ_TBL --------------------------------- -infinity Wed Dec 31 16:00:00 1969 PST - Tue Feb 16 17:32:01 0097 PST BC - Sat Feb 16 17:32:01 0097 PST - Thu Feb 16 17:32:01 0597 PST - Tue Feb 16 17:32:01 1097 PST - Sat Feb 16 17:32:01 1697 PST - Thu Feb 16 17:32:01 1797 PST + Tue Feb 16 17:32:01 0097 LMT BC + Sat Feb 16 17:32:01 0097 LMT + Thu Feb 16 17:32:01 0597 LMT + Tue Feb 16 17:32:01 1097 LMT + Sat Feb 16 17:32:01 1697 LMT + Thu Feb 16 17:32:01 1797 LMT Tue Feb 16 17:32:01 1897 PST Wed Feb 28 17:32:01 1996 PST Thu Feb 29 17:32:01 1996 PST @@ -529,12 +529,12 @@ SELECT d1 FROM TIMESTAMPTZ_TBL Fri Feb 14 17:32:01 1997 PST Sat Feb 15 17:32:01 1997 PST Sun Feb 16 17:32:01 1997 PST - Tue Feb 16 17:32:01 0097 PST BC - Sat Feb 16 17:32:01 0097 PST - Thu Feb 16 17:32:01 0597 PST - Tue Feb 16 17:32:01 1097 PST - Sat Feb 16 17:32:01 1697 PST - Thu Feb 16 17:32:01 1797 PST + Tue Feb 16 17:32:01 0097 LMT BC + Sat Feb 16 17:32:01 0097 LMT + Thu Feb 16 17:32:01 0597 LMT + Tue Feb 16 17:32:01 1097 LMT + Sat Feb 16 17:32:01 1697 LMT + Thu Feb 16 17:32:01 1797 LMT Tue Feb 16 17:32:01 1897 PST Sun Feb 16 17:32:01 1997 PST Sat Feb 16 17:32:01 2097 PST @@ -561,12 +561,12 @@ SELECT d1 FROM TIMESTAMPTZ_TBL -infinity Wed Dec 31 16:00:00 1969 PST Thu Jan 02 00:00:00 1997 PST - Tue Feb 16 17:32:01 0097 PST BC - Sat Feb 16 17:32:01 0097 PST - Thu Feb 16 17:32:01 0597 PST - Tue Feb 16 17:32:01 1097 PST - Sat Feb 16 17:32:01 1697 PST - Thu Feb 16 17:32:01 1797 PST + Tue Feb 16 17:32:01 0097 LMT BC + Sat Feb 16 17:32:01 0097 LMT + Thu Feb 16 17:32:01 0597 LMT + Tue Feb 16 17:32:01 1097 LMT + Sat Feb 16 17:32:01 1697 LMT + Thu Feb 16 17:32:01 1797 LMT Tue Feb 16 17:32:01 1897 PST Wed Feb 28 17:32:01 1996 PST Thu Feb 29 17:32:01 1996 PST @@ -920,12 +920,12 @@ SELECT d1 as timestamptz, Fri Feb 14 17:32:01 1997 PST | 1997 | 2 | 14 | 17 | 32 | 1 Sat Feb 15 17:32:01 1997 PST | 1997 | 2 | 15 | 17 | 32 | 1 Sun Feb 16 17:32:01 1997 PST | 1997 | 2 | 16 | 17 | 32 | 1 - Tue Feb 16 17:32:01 0097 PST BC | -97 | 2 | 16 | 17 | 32 | 1 - Sat Feb 16 17:32:01 0097 PST | 97 | 2 | 16 | 17 | 32 | 1 - Thu Feb 16 17:32:01 0597 PST | 597 | 2 | 16 | 17 | 32 | 1 - Tue Feb 16 17:32:01 1097 PST | 1097 | 2 | 16 | 17 | 32 | 1 - Sat Feb 16 17:32:01 1697 PST | 1697 | 2 | 16 | 17 | 32 | 1 - Thu Feb 16 17:32:01 1797 PST | 1797 | 2 | 16 | 17 | 32 | 1 + Tue Feb 16 17:32:01 0097 LMT BC | -97 | 2 | 16 | 17 | 32 | 1 + Sat Feb 16 17:32:01 0097 LMT | 97 | 2 | 16 | 17 | 32 | 1 + Thu Feb 16 17:32:01 0597 LMT | 597 | 2 | 16 | 17 | 32 | 1 + Tue Feb 16 17:32:01 1097 LMT | 1097 | 2 | 16 | 17 | 32 | 1 + Sat Feb 16 17:32:01 1697 LMT | 1697 | 2 | 16 | 17 | 32 | 1 + Thu Feb 16 17:32:01 1797 LMT | 1797 | 2 | 16 | 17 | 32 | 1 Tue Feb 16 17:32:01 1897 PST | 1897 | 2 | 16 | 17 | 32 | 1 Sun Feb 16 17:32:01 1997 PST | 1997 | 2 | 16 | 17 | 32 | 1 Sat Feb 16 17:32:01 2097 PST | 2097 | 2 | 16 | 17 | 32 | 1 @@ -994,12 +994,12 @@ SELECT d1 as timestamptz, Fri Feb 14 17:32:01 1997 PST | 1 | 1000 | 1000000 Sat Feb 15 17:32:01 1997 PST | 1 | 1000 | 1000000 Sun Feb 16 17:32:01 1997 PST | 1 | 1000 | 1000000 - Tue Feb 16 17:32:01 0097 PST BC | 1 | 1000 | 1000000 - Sat Feb 16 17:32:01 0097 PST | 1 | 1000 | 1000000 - Thu Feb 16 17:32:01 0597 PST | 1 | 1000 | 1000000 - Tue Feb 16 17:32:01 1097 PST | 1 | 1000 | 1000000 - Sat Feb 16 17:32:01 1697 PST | 1 | 1000 | 1000000 - Thu Feb 16 17:32:01 1797 PST | 1 | 1000 | 1000000 + Tue Feb 16 17:32:01 0097 LMT BC | 1 | 1000 | 1000000 + Sat Feb 16 17:32:01 0097 LMT | 1 | 1000 | 1000000 + Thu Feb 16 17:32:01 0597 LMT | 1 | 1000 | 1000000 + Tue Feb 16 17:32:01 1097 LMT | 1 | 1000 | 1000000 + Sat Feb 16 17:32:01 1697 LMT | 1 | 1000 | 1000000 + Thu Feb 16 17:32:01 1797 LMT | 1 | 1000 | 1000000 Tue Feb 16 17:32:01 1897 PST | 1 | 1000 | 1000000 Sun Feb 16 17:32:01 1997 PST | 1 | 1000 | 1000000 Sat Feb 16 17:32:01 2097 PST | 1 | 1000 | 1000000 @@ -1069,12 +1069,12 @@ SELECT d1 as timestamptz, Fri Feb 14 17:32:01 1997 PST | 1997 | 7 | 5 | 5 | 45 Sat Feb 15 17:32:01 1997 PST | 1997 | 7 | 6 | 6 | 46 Sun Feb 16 17:32:01 1997 PST | 1997 | 7 | 7 | 0 | 47 - Tue Feb 16 17:32:01 0097 PST BC | -97 | 7 | 2 | 2 | 47 - Sat Feb 16 17:32:01 0097 PST | 97 | 7 | 6 | 6 | 47 - Thu Feb 16 17:32:01 0597 PST | 597 | 7 | 4 | 4 | 47 - Tue Feb 16 17:32:01 1097 PST | 1097 | 7 | 2 | 2 | 47 - Sat Feb 16 17:32:01 1697 PST | 1697 | 7 | 6 | 6 | 47 - Thu Feb 16 17:32:01 1797 PST | 1797 | 7 | 4 | 4 | 47 + Tue Feb 16 17:32:01 0097 LMT BC | -97 | 7 | 2 | 2 | 47 + Sat Feb 16 17:32:01 0097 LMT | 97 | 7 | 6 | 6 | 47 + Thu Feb 16 17:32:01 0597 LMT | 597 | 7 | 4 | 4 | 47 + Tue Feb 16 17:32:01 1097 LMT | 1097 | 7 | 2 | 2 | 47 + Sat Feb 16 17:32:01 1697 LMT | 1697 | 7 | 6 | 6 | 47 + Thu Feb 16 17:32:01 1797 LMT | 1797 | 7 | 4 | 4 | 47 Tue Feb 16 17:32:01 1897 PST | 1897 | 7 | 2 | 2 | 47 Sun Feb 16 17:32:01 1997 PST | 1997 | 7 | 7 | 0 | 47 Sat Feb 16 17:32:01 2097 PST | 2097 | 7 | 6 | 6 | 47 @@ -1146,12 +1146,12 @@ SELECT d1 as timestamptz, Fri Feb 14 17:32:01 1997 PST | 199 | 20 | 2 | 2450495 | 855970321 Sat Feb 15 17:32:01 1997 PST | 199 | 20 | 2 | 2450496 | 856056721 Sun Feb 16 17:32:01 1997 PST | 199 | 20 | 2 | 2450497 | 856143121 - Tue Feb 16 17:32:01 0097 PST BC | -10 | -1 | -1 | 1686043 | -65192682479 - Sat Feb 16 17:32:01 0097 PST | 9 | 1 | 1 | 1756537 | -59102000879 - Thu Feb 16 17:32:01 0597 PST | 59 | 6 | 1 | 1939158 | -43323546479 - Tue Feb 16 17:32:01 1097 PST | 109 | 11 | 2 | 2121779 | -27545092079 - Sat Feb 16 17:32:01 1697 PST | 169 | 17 | 2 | 2340925 | -8610877679 - Thu Feb 16 17:32:01 1797 PST | 179 | 18 | 2 | 2377449 | -5455204079 + Tue Feb 16 17:32:01 0097 LMT BC | -10 | -1 | -1 | 1686043 | -65192682901 + Sat Feb 16 17:32:01 0097 LMT | 9 | 1 | 1 | 1756537 | -59102001301 + Thu Feb 16 17:32:01 0597 LMT | 59 | 6 | 1 | 1939158 | -43323546901 + Tue Feb 16 17:32:01 1097 LMT | 109 | 11 | 2 | 2121779 | -27545092501 + Sat Feb 16 17:32:01 1697 LMT | 169 | 17 | 2 | 2340925 | -8610878101 + Thu Feb 16 17:32:01 1797 LMT | 179 | 18 | 2 | 2377449 | -5455204501 Tue Feb 16 17:32:01 1897 PST | 189 | 19 | 2 | 2413973 | -2299530479 Sun Feb 16 17:32:01 1997 PST | 199 | 20 | 2 | 2450497 | 856143121 Sat Feb 16 17:32:01 2097 PST | 209 | 21 | 3 | 2487022 | 4011903121 @@ -1221,12 +1221,12 @@ SELECT d1 as timestamptz, Fri Feb 14 17:32:01 1997 PST | -28800 | -8 | 0 Sat Feb 15 17:32:01 1997 PST | -28800 | -8 | 0 Sun Feb 16 17:32:01 1997 PST | -28800 | -8 | 0 - Tue Feb 16 17:32:01 0097 PST BC | -28800 | -8 | 0 - Sat Feb 16 17:32:01 0097 PST | -28800 | -8 | 0 - Thu Feb 16 17:32:01 0597 PST | -28800 | -8 | 0 - Tue Feb 16 17:32:01 1097 PST | -28800 | -8 | 0 - Sat Feb 16 17:32:01 1697 PST | -28800 | -8 | 0 - Thu Feb 16 17:32:01 1797 PST | -28800 | -8 | 0 + Tue Feb 16 17:32:01 0097 LMT BC | -28378 | -7 | -52 + Sat Feb 16 17:32:01 0097 LMT | -28378 | -7 | -52 + Thu Feb 16 17:32:01 0597 LMT | -28378 | -7 | -52 + Tue Feb 16 17:32:01 1097 LMT | -28378 | -7 | -52 + Sat Feb 16 17:32:01 1697 LMT | -28378 | -7 | -52 + Thu Feb 16 17:32:01 1797 LMT | -28378 | -7 | -52 Tue Feb 16 17:32:01 1897 PST | -28800 | -8 | 0 Sun Feb 16 17:32:01 1997 PST | -28800 | -8 | 0 Sat Feb 16 17:32:01 2097 PST | -28800 | -8 | 0 @@ -1300,12 +1300,12 @@ SELECT d1 as "timestamp", Fri Feb 14 17:32:01 1997 PST | 1000000 | 1000.000 | 1.000000 | 2450495 | 855970321.000000 Sat Feb 15 17:32:01 1997 PST | 1000000 | 1000.000 | 1.000000 | 2450496 | 856056721.000000 Sun Feb 16 17:32:01 1997 PST | 1000000 | 1000.000 | 1.000000 | 2450497 | 856143121.000000 - Tue Feb 16 17:32:01 0097 PST BC | 1000000 | 1000.000 | 1.000000 | 1686043 | -65192682479.000000 - Sat Feb 16 17:32:01 0097 PST | 1000000 | 1000.000 | 1.000000 | 1756537 | -59102000879.000000 - Thu Feb 16 17:32:01 0597 PST | 1000000 | 1000.000 | 1.000000 | 1939158 | -43323546479.000000 - Tue Feb 16 17:32:01 1097 PST | 1000000 | 1000.000 | 1.000000 | 2121779 | -27545092079.000000 - Sat Feb 16 17:32:01 1697 PST | 1000000 | 1000.000 | 1.000000 | 2340925 | -8610877679.000000 - Thu Feb 16 17:32:01 1797 PST | 1000000 | 1000.000 | 1.000000 | 2377449 | -5455204079.000000 + Tue Feb 16 17:32:01 0097 LMT BC | 1000000 | 1000.000 | 1.000000 | 1686043 | -65192682901.000000 + Sat Feb 16 17:32:01 0097 LMT | 1000000 | 1000.000 | 1.000000 | 1756537 | -59102001301.000000 + Thu Feb 16 17:32:01 0597 LMT | 1000000 | 1000.000 | 1.000000 | 1939158 | -43323546901.000000 + Tue Feb 16 17:32:01 1097 LMT | 1000000 | 1000.000 | 1.000000 | 2121779 | -27545092501.000000 + Sat Feb 16 17:32:01 1697 LMT | 1000000 | 1000.000 | 1.000000 | 2340925 | -8610878101.000000 + Thu Feb 16 17:32:01 1797 LMT | 1000000 | 1000.000 | 1.000000 | 2377449 | -5455204501.000000 Tue Feb 16 17:32:01 1897 PST | 1000000 | 1000.000 | 1.000000 | 2413973 | -2299530479.000000 Sun Feb 16 17:32:01 1997 PST | 1000000 | 1000.000 | 1.000000 | 2450497 | 856143121.000000 Sat Feb 16 17:32:01 2097 PST | 1000000 | 1000.000 | 1.000000 | 2487022 | 4011903121.000000 @@ -2304,7 +2304,7 @@ INSERT INTO TIMESTAMPTZ_TST VALUES(4, '1000000312 23:58:48 IST'); SELECT * FROM TIMESTAMPTZ_TST ORDER BY a; a | b ---+-------------------------------- - 1 | Wed Mar 12 13:58:48 1000 PST + 1 | Wed Mar 12 14:05:50 1000 LMT 2 | Sun Mar 12 14:58:48 10000 PDT 3 | Sun Mar 12 14:58:48 100000 PDT 3 | Sun Mar 12 14:58:48 10000 PDT @@ -2415,7 +2415,14 @@ SELECT make_timestamptz(2008, 12, 10, 10, 10, 10, 'EDT'); Wed Dec 10 09:10:10 2008 EST (1 row) -SELECT make_timestamptz(2014, 12, 10, 10, 10, 10, 'PST8PDT'); +SELECT make_timestamptz(2014, 12, 10, 10, 10, 10, 'FOO8BAR'); + make_timestamptz +------------------------------ + Wed Dec 10 13:10:10 2014 EST +(1 row) + +-- POSIX +SELECT make_timestamptz(2014, 12, 10, 10, 10, 10, 'PST8PDT,M3.2.0,M11.1.0'); make_timestamptz ------------------------------ Wed Dec 10 13:10:10 2014 EST diff --git a/src/test/regress/expected/updatable_views.out b/src/test/regress/expected/updatable_views.out index 96609a38f53..442b55120c8 100644 --- a/src/test/regress/expected/updatable_views.out +++ b/src/test/regress/expected/updatable_views.out @@ -1279,7 +1279,7 @@ MERGE INTO rw_view2 t WHEN MATCHED THEN UPDATE SET b = s.b WHEN NOT MATCHED AND s.a > 0 THEN INSERT VALUES (s.a, s.b); -- should fail ERROR: cannot merge into view "rw_view2" -DETAIL: MERGE is not supported for views with INSTEAD OF triggers for some actions, but not others. +DETAIL: MERGE is not supported for views with INSTEAD OF triggers for some actions but not all. HINT: To enable merging into the view, either provide a full set of INSTEAD OF triggers or drop the existing INSTEAD OF triggers. MERGE INTO rw_view2 t USING (SELECT x, 'R'||x FROM generate_series(0,3) x) AS s(a,b) ON t.a = s.a diff --git a/src/test/regress/expected/xml.out b/src/test/regress/expected/xml.out index 93a79cda8fd..361a6f9b27c 100644 --- a/src/test/regress/expected/xml.out +++ b/src/test/regress/expected/xml.out @@ -485,8 +485,7 @@ SELECT xmlserialize(DOCUMENT '42' AS text + 42+ + - + - + (1 row) SELECT xmlserialize(CONTENT '42' AS text INDENT); @@ -546,8 +545,7 @@ SELECT xmlserialize(DOCUMENT '42text node< 42 + text node73+ + - + - + (1 row) SELECT xmlserialize(CONTENT '42text node73' AS text INDENT); @@ -601,8 +599,7 @@ SELECT xmlserialize(DOCUMENT ' + 73 + + - + - + (1 row) SELECT xmlserialize(CONTENT '73' AS text INDENT); @@ -620,8 +617,7 @@ SELECT xmlserialize(DOCUMENT '' AS text INDENT); xmlserialize -------------- + - + - + (1 row) SELECT xmlserialize(CONTENT '' AS text INDENT); @@ -638,8 +634,7 @@ SELECT xmlserialize(DOCUMENT '' AS text INDENT); -------------- + + - + - + (1 row) SELECT xmlserialize(CONTENT '' AS text INDENT); @@ -663,6 +658,24 @@ SELECT xmlserialize(CONTENT '42' AS text t (1 row) +-- indent xml strings containing blank nodes +SELECT xmlserialize(DOCUMENT ' ' AS text INDENT); + xmlserialize +-------------- + + + + + +(1 row) + +SELECT xmlserialize(CONTENT 'text node ' AS text INDENT); + xmlserialize +-------------- + text node + + + + + + +(1 row) + SELECT xml 'bar' IS DOCUMENT; ?column? ---------- diff --git a/src/test/regress/expected/xml_1.out b/src/test/regress/expected/xml_1.out index 9323b84ae21..d26e10441e8 100644 --- a/src/test/regress/expected/xml_1.out +++ b/src/test/regress/expected/xml_1.out @@ -443,6 +443,17 @@ ERROR: unsupported XML feature LINE 1: SELECT xmlserialize(CONTENT '42<... ^ DETAIL: This functionality requires the server to be built with libxml support. +-- indent xml strings containing blank nodes +SELECT xmlserialize(DOCUMENT ' ' AS text INDENT); +ERROR: unsupported XML feature +LINE 1: SELECT xmlserialize(DOCUMENT ' '... + ^ +DETAIL: This functionality requires the server to be built with libxml support. +SELECT xmlserialize(CONTENT 'text node ' AS text INDENT); +ERROR: unsupported XML feature +LINE 1: SELECT xmlserialize(CONTENT 'text node ... + ^ +DETAIL: This functionality requires the server to be built with libxml support. SELECT xml 'bar' IS DOCUMENT; ERROR: unsupported XML feature LINE 1: SELECT xml 'bar' IS DOCUMENT; diff --git a/src/test/regress/expected/xml_2.out b/src/test/regress/expected/xml_2.out index f956322c693..73c2851d3f5 100644 --- a/src/test/regress/expected/xml_2.out +++ b/src/test/regress/expected/xml_2.out @@ -471,8 +471,7 @@ SELECT xmlserialize(DOCUMENT '42' AS text + 42+ + - + - + (1 row) SELECT xmlserialize(CONTENT '42' AS text INDENT); @@ -532,8 +531,7 @@ SELECT xmlserialize(DOCUMENT '42text node< 42 + text node73+ + - + - + (1 row) SELECT xmlserialize(CONTENT '42text node73' AS text INDENT); @@ -587,8 +585,7 @@ SELECT xmlserialize(DOCUMENT ' + 73 + + - + - + (1 row) SELECT xmlserialize(CONTENT '73' AS text INDENT); @@ -606,8 +603,7 @@ SELECT xmlserialize(DOCUMENT '' AS text INDENT); xmlserialize -------------- + - + - + (1 row) SELECT xmlserialize(CONTENT '' AS text INDENT); @@ -624,8 +620,7 @@ SELECT xmlserialize(DOCUMENT '' AS text INDENT); -------------- + + - + - + (1 row) SELECT xmlserialize(CONTENT '' AS text INDENT); @@ -649,6 +644,24 @@ SELECT xmlserialize(CONTENT '42' AS text t (1 row) +-- indent xml strings containing blank nodes +SELECT xmlserialize(DOCUMENT ' ' AS text INDENT); + xmlserialize +-------------- + + + + + +(1 row) + +SELECT xmlserialize(CONTENT 'text node ' AS text INDENT); + xmlserialize +-------------- + text node + + + + + + +(1 row) + SELECT xml 'bar' IS DOCUMENT; ?column? ---------- diff --git a/src/test/regress/parallel_schedule b/src/test/regress/parallel_schedule index 2429ec2bbaa..f53a526f7cd 100644 --- a/src/test/regress/parallel_schedule +++ b/src/test/regress/parallel_schedule @@ -119,7 +119,7 @@ test: plancache limit plpgsql copy2 temp domain rangefuncs prepare conversion tr # The stats test resets stats, so nothing else needing stats access can be in # this group. # ---------- -test: partition_merge partition_split partition_join partition_prune reloptions hash_part indexing partition_aggregate partition_info tuplesort explain compression memoize stats predicate +test: partition_join partition_prune reloptions hash_part indexing partition_aggregate partition_info tuplesort explain compression memoize stats predicate # event_trigger depends on create_am and cannot run concurrently with # any test that runs DDL diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c index 9ff0a2d65e2..53435c47420 100644 --- a/src/test/regress/pg_regress.c +++ b/src/test/regress/pg_regress.c @@ -777,7 +777,7 @@ initialize_environment(void) /* * Set timezone and datestyle for datetime-related tests */ - setenv("PGTZ", "PST8PDT", 1); + setenv("PGTZ", "America/Los_Angeles", 1); setenv("PGDATESTYLE", "Postgres, MDY", 1); /* diff --git a/src/test/regress/regress.c b/src/test/regress/regress.c index 45a6ad3c49e..bd6fc206734 100644 --- a/src/test/regress/regress.c +++ b/src/test/regress/regress.c @@ -645,6 +645,29 @@ make_tuple_indirect(PG_FUNCTION_ARGS) PG_RETURN_POINTER(newtup->t_data); } +PG_FUNCTION_INFO_V1(get_environ); + +Datum +get_environ(PG_FUNCTION_ARGS) +{ + extern char **environ; + int nvals = 0; + ArrayType *result; + Datum *env; + + for (char **s = environ; *s; s++) + nvals++; + + env = palloc(nvals * sizeof(Datum)); + + for (int i = 0; i < nvals; i++) + env[i] = CStringGetTextDatum(environ[i]); + + result = construct_array_builtin(env, nvals, TEXTOID); + + PG_RETURN_POINTER(result); +} + PG_FUNCTION_INFO_V1(regress_setenv); Datum diff --git a/src/test/regress/sql/alter_table.sql b/src/test/regress/sql/alter_table.sql index 28cabc49e9f..da127244730 100644 --- a/src/test/regress/sql/alter_table.sql +++ b/src/test/regress/sql/alter_table.sql @@ -1496,8 +1496,6 @@ select conname, obj_description(oid, 'pg_constraint') as desc alter table at_partitioned alter column name type varchar(127); --- Note: these tests currently show the wrong behavior for comments :-( - select relname, c.oid = oldoid as orig_oid, case relfilenode diff --git a/src/test/regress/sql/collate.icu.utf8.sql b/src/test/regress/sql/collate.icu.utf8.sql index 80f28a97d78..4eb1adf0287 100644 --- a/src/test/regress/sql/collate.icu.utf8.sql +++ b/src/test/regress/sql/collate.icu.utf8.sql @@ -796,6 +796,65 @@ INSERT INTO test33 VALUES (2, 'DEF'); -- they end up in the same partition (but it's platform-dependent which one) SELECT (SELECT count(*) FROM test33_0) <> (SELECT count(*) FROM test33_1); +-- +-- Bug #18568 +-- +-- Partitionwise aggregate (full or partial) should not be used when a +-- partition key's collation doesn't match that of the GROUP BY column it is +-- matched with. +SET max_parallel_workers_per_gather TO 0; +SET enable_incremental_sort TO off; + +CREATE TABLE pagg_tab3 (a text, c text collate case_insensitive) PARTITION BY LIST(c collate "C"); +CREATE TABLE pagg_tab3_p1 PARTITION OF pagg_tab3 FOR VALUES IN ('a', 'b'); +CREATE TABLE pagg_tab3_p2 PARTITION OF pagg_tab3 FOR VALUES IN ('B', 'A'); +INSERT INTO pagg_tab3 SELECT i % 4 + 1, substr('abAB', (i % 4) + 1 , 1) FROM generate_series(0, 19) i; +ANALYZE pagg_tab3; + +SET enable_partitionwise_aggregate TO false; +EXPLAIN (COSTS OFF) +SELECT upper(c collate case_insensitive), count(c) FROM pagg_tab3 GROUP BY c collate case_insensitive ORDER BY 1; +SELECT upper(c collate case_insensitive), count(c) FROM pagg_tab3 GROUP BY c collate case_insensitive ORDER BY 1; + +-- No "full" partitionwise aggregation allowed, though "partial" is allowed. +SET enable_partitionwise_aggregate TO true; +EXPLAIN (COSTS OFF) +SELECT upper(c collate case_insensitive), count(c) FROM pagg_tab3 GROUP BY c collate case_insensitive ORDER BY 1; +SELECT upper(c collate case_insensitive), count(c) FROM pagg_tab3 GROUP BY c collate case_insensitive ORDER BY 1; + +-- OK to use full partitionwise aggregate after changing the GROUP BY column's +-- collation to be the same as that of the partition key. +EXPLAIN (COSTS OFF) +SELECT c collate "C", count(c) FROM pagg_tab3 GROUP BY c collate "C" ORDER BY 1; +SELECT c collate "C", count(c) FROM pagg_tab3 GROUP BY c collate "C" ORDER BY 1; + +-- Partitionwise join should not be allowed too when the collation used by the +-- join keys doesn't match the partition key collation. +SET enable_partitionwise_join TO false; +EXPLAIN (COSTS OFF) +SELECT t1.c, count(t2.c) FROM pagg_tab3 t1 JOIN pagg_tab3 t2 ON t1.c = t2.c GROUP BY 1 ORDER BY t1.c COLLATE "C"; +SELECT t1.c, count(t2.c) FROM pagg_tab3 t1 JOIN pagg_tab3 t2 ON t1.c = t2.c GROUP BY 1 ORDER BY t1.c COLLATE "C"; + +SET enable_partitionwise_join TO true; +EXPLAIN (COSTS OFF) +SELECT t1.c, count(t2.c) FROM pagg_tab3 t1 JOIN pagg_tab3 t2 ON t1.c = t2.c GROUP BY 1 ORDER BY t1.c COLLATE "C"; +SELECT t1.c, count(t2.c) FROM pagg_tab3 t1 JOIN pagg_tab3 t2 ON t1.c = t2.c GROUP BY 1 ORDER BY t1.c COLLATE "C"; + +-- OK when the join clause uses the same collation as the partition key. +EXPLAIN (COSTS OFF) +SELECT t1.c COLLATE "C", count(t2.c) FROM pagg_tab3 t1 JOIN pagg_tab3 t2 ON t1.c = t2.c COLLATE "C" GROUP BY t1.c COLLATE "C" ORDER BY t1.c COLLATE "C"; +SELECT t1.c COLLATE "C", count(t2.c) FROM pagg_tab3 t1 JOIN pagg_tab3 t2 ON t1.c = t2.c COLLATE "C" GROUP BY t1.c COLLATE "C" ORDER BY t1.c COLLATE "C"; + +SET enable_partitionwise_join TO false; +EXPLAIN (COSTS OFF) +SELECT t1.c COLLATE "C", count(t2.c) FROM pagg_tab3 t1 JOIN pagg_tab3 t2 ON t1.c = t2.c COLLATE "C" GROUP BY t1.c COLLATE "C" ORDER BY t1.c COLLATE "C"; +SELECT t1.c COLLATE "C", count(t2.c) FROM pagg_tab3 t1 JOIN pagg_tab3 t2 ON t1.c = t2.c COLLATE "C" GROUP BY t1.c COLLATE "C" ORDER BY t1.c COLLATE "C"; + +DROP TABLE pagg_tab3; + +RESET enable_partitionwise_aggregate; +RESET max_parallel_workers_per_gather; +RESET enable_incremental_sort; -- cleanup RESET search_path; diff --git a/src/test/regress/sql/copy2.sql b/src/test/regress/sql/copy2.sql index 8b149621947..6b75b6c7ea8 100644 --- a/src/test/regress/sql/copy2.sql +++ b/src/test/regress/sql/copy2.sql @@ -70,18 +70,24 @@ COPY x from stdin (on_error ignore, on_error ignore); COPY x from stdin (log_verbosity default, log_verbosity verbose); -- incorrect options -COPY x to stdin (format BINARY, delimiter ','); -COPY x to stdin (format BINARY, null 'x'); +COPY x from stdin (format BINARY, delimiter ','); +COPY x from stdin (format BINARY, null 'x'); COPY x from stdin (format BINARY, on_error ignore); COPY x from stdin (on_error unsupported); -COPY x to stdin (format TEXT, force_quote(a)); +COPY x from stdin (format TEXT, force_quote(a)); +COPY x from stdin (format TEXT, force_quote *); COPY x from stdin (format CSV, force_quote(a)); -COPY x to stdout (format TEXT, force_not_null(a)); -COPY x to stdin (format CSV, force_not_null(a)); -COPY x to stdout (format TEXT, force_null(a)); -COPY x to stdin (format CSV, force_null(a)); -COPY x to stdin (format BINARY, on_error unsupported); -COPY x to stdout (log_verbosity unsupported); +COPY x from stdin (format CSV, force_quote *); +COPY x from stdin (format TEXT, force_not_null(a)); +COPY x from stdin (format TEXT, force_not_null *); +COPY x to stdout (format CSV, force_not_null(a)); +COPY x to stdout (format CSV, force_not_null *); +COPY x from stdin (format TEXT, force_null(a)); +COPY x from stdin (format TEXT, force_null *); +COPY x to stdout (format CSV, force_null(a)); +COPY x to stdout (format CSV, force_null *); +COPY x to stdout (format BINARY, on_error unsupported); +COPY x from stdin (log_verbosity unsupported); -- too many columns in column list: should fail COPY x (a, b, c, d, e, d, c) from stdin; diff --git a/src/test/regress/sql/copydml.sql b/src/test/regress/sql/copydml.sql index 4578342253b..b7eeb0eed81 100644 --- a/src/test/regress/sql/copydml.sql +++ b/src/test/regress/sql/copydml.sql @@ -66,6 +66,10 @@ create rule qqq as on delete to copydml_test where old.t <> 'f' do instead inser copy (delete from copydml_test) to stdout; drop rule qqq on copydml_test; +create rule qqq as on insert to copydml_test do instead notify copydml_test; +copy (insert into copydml_test default values) to stdout; +drop rule qqq on copydml_test; + -- triggers create function qqq_trig() returns trigger as $$ begin diff --git a/src/test/regress/sql/create_am.sql b/src/test/regress/sql/create_am.sql index 825aed325e5..754fe0c694b 100644 --- a/src/test/regress/sql/create_am.sql +++ b/src/test/regress/sql/create_am.sql @@ -217,6 +217,16 @@ ALTER MATERIALIZED VIEW heapmv SET ACCESS METHOD heap, SET ACCESS METHOD heap2; DROP MATERIALIZED VIEW heapmv; DROP TABLE heaptable; +-- Partitioned table with USING +CREATE TABLE am_partitioned(x INT, y INT) PARTITION BY hash (x) USING heap2; +SELECT pg_describe_object(classid, objid, objsubid) AS obj, + pg_describe_object(refclassid, refobjid, refobjsubid) as refobj + FROM pg_depend, pg_am + WHERE pg_depend.refclassid = 'pg_am'::regclass + AND pg_am.oid = pg_depend.refobjid + AND pg_depend.objid = 'am_partitioned'::regclass; +DROP TABLE am_partitioned; + -- Partition hierarchies with access methods BEGIN; SET LOCAL default_table_access_method = 'heap'; diff --git a/src/test/regress/sql/create_view.sql b/src/test/regress/sql/create_view.sql index 8838a40f7ab..ae6841308b9 100644 --- a/src/test/regress/sql/create_view.sql +++ b/src/test/regress/sql/create_view.sql @@ -373,6 +373,22 @@ ALTER TABLE tmp1 RENAME TO tx1; \d+ aliased_view_3 \d+ aliased_view_4 +-- Test correct deparsing of ORDER BY when there is an output name conflict + +create view aliased_order_by as +select x1 as x2, x2 as x1, x3 from tt1 + order by x2; -- this is interpreted per SQL92, so really ordering by x1 + +\d+ aliased_order_by + +alter view aliased_order_by rename column x1 to x0; + +\d+ aliased_order_by + +alter view aliased_order_by rename column x3 to x1; + +\d+ aliased_order_by + -- Test aliasing of joins create view view_of_joins as @@ -813,6 +829,15 @@ select x + y + z as c1, from (values(1,2,3)) v(x,y,z); select pg_get_viewdef('tt26v', true); +-- test restriction on non-system view expansion. +create table tt27v_tbl (a int); +create view tt27v as select a from tt27v_tbl; +set restrict_nonsystem_relation_kind to 'view'; +select a from tt27v where a > 0; -- Error +insert into tt27v values (1); -- Error +select viewname from pg_views where viewname = 'tt27v'; -- Ok to access a system view. +reset restrict_nonsystem_relation_kind; + -- clean up all the random objects we made above DROP SCHEMA temp_view_test CASCADE; DROP SCHEMA testviewschm2 CASCADE; diff --git a/src/test/regress/sql/foreign_key.sql b/src/test/regress/sql/foreign_key.sql index f5e09389997..2e710e419c2 100644 --- a/src/test/regress/sql/foreign_key.sql +++ b/src/test/regress/sql/foreign_key.sql @@ -1417,6 +1417,23 @@ ALTER TABLE fk_partitioned_fk ATTACH PARTITION fk_partitioned_fk_2 -- leave these tables around intentionally +-- Verify that attaching a table that's referenced by an existing FK +-- in the parent throws an error +CREATE TABLE fk_partitioned_pk_6 (a int PRIMARY KEY); +CREATE TABLE fk_partitioned_fk_6 (a int REFERENCES fk_partitioned_pk_6) PARTITION BY LIST (a); +ALTER TABLE fk_partitioned_fk_6 ATTACH PARTITION fk_partitioned_pk_6 FOR VALUES IN (1); +DROP TABLE fk_partitioned_pk_6, fk_partitioned_fk_6; + +-- This case is similar to above, but the referenced relation is one level +-- lower in the hierarchy. This one fails in a different way as the above, +-- because we don't bother to protect against this case explicitly. If the +-- current error stops happening, we'll need to add a better protection. +CREATE TABLE fk_partitioned_pk_6 (a int PRIMARY KEY) PARTITION BY list (a); +CREATE TABLE fk_partitioned_pk_61 PARTITION OF fk_partitioned_pk_6 FOR VALUES IN (1); +CREATE TABLE fk_partitioned_fk_6 (a int REFERENCES fk_partitioned_pk_61) PARTITION BY LIST (a); +ALTER TABLE fk_partitioned_fk_6 ATTACH PARTITION fk_partitioned_pk_6 FOR VALUES IN (1); +DROP TABLE fk_partitioned_pk_6, fk_partitioned_fk_6; + -- test the case when the referenced table is owned by a different user create role regress_other_partitioned_fk_owner; grant references on fk_notpartitioned_pk to regress_other_partitioned_fk_owner; @@ -2069,3 +2086,64 @@ UPDATE fkpart11.pk SET a = 3 WHERE a = 4; UPDATE fkpart11.pk SET a = 1 WHERE a = 2; DROP SCHEMA fkpart11 CASCADE; + +-- When a table is attached as partition to a partitioned table that has +-- a foreign key to another partitioned table, it acquires a clone of the +-- FK. Upon detach, this clone is not removed, but instead becomes an +-- independent FK. If it then attaches to the partitioned table again, +-- the FK from the parent "takes over" ownership of the independent FK rather +-- than creating a separate one. +CREATE SCHEMA fkpart12 + CREATE TABLE fk_p ( id int, jd int, PRIMARY KEY(id, jd)) PARTITION BY list (id) + CREATE TABLE fk_p_1 PARTITION OF fk_p FOR VALUES IN (1) PARTITION BY list (jd) + CREATE TABLE fk_p_1_1 PARTITION OF fk_p_1 FOR VALUES IN (1) + CREATE TABLE fk_p_1_2 (x int, y int, jd int NOT NULL, id int NOT NULL) + CREATE TABLE fk_p_2 PARTITION OF fk_p FOR VALUES IN (2) PARTITION BY list (jd) + CREATE TABLE fk_p_2_1 PARTITION OF fk_p_2 FOR VALUES IN (1) + CREATE TABLE fk_p_2_2 PARTITION OF fk_p_2 FOR VALUES IN (2) + CREATE TABLE fk_r_1 ( p_jd int NOT NULL, x int, id int PRIMARY KEY, p_id int NOT NULL) + CREATE TABLE fk_r_2 ( id int PRIMARY KEY, p_id int NOT NULL, p_jd int NOT NULL) PARTITION BY list (id) + CREATE TABLE fk_r_2_1 PARTITION OF fk_r_2 FOR VALUES IN (2, 1) + CREATE TABLE fk_r ( id int PRIMARY KEY, p_id int NOT NULL, p_jd int NOT NULL, + FOREIGN KEY (p_id, p_jd) REFERENCES fk_p (id, jd) + ) PARTITION BY list (id); +SET search_path TO fkpart12; + +ALTER TABLE fk_p_1_2 DROP COLUMN x, DROP COLUMN y; +ALTER TABLE fk_p_1 ATTACH PARTITION fk_p_1_2 FOR VALUES IN (2); +ALTER TABLE fk_r_1 DROP COLUMN x; + +INSERT INTO fk_p VALUES (1, 1); + +ALTER TABLE fk_r ATTACH PARTITION fk_r_1 FOR VALUES IN (1); +ALTER TABLE fk_r ATTACH PARTITION fk_r_2 FOR VALUES IN (2); + +\d fk_r_2 + +INSERT INTO fk_r VALUES (1, 1, 1); +INSERT INTO fk_r VALUES (2, 2, 1); + +ALTER TABLE fk_r DETACH PARTITION fk_r_1; +ALTER TABLE fk_r DETACH PARTITION fk_r_2; + +\d fk_r_2 + +INSERT INTO fk_r_1 (id, p_id, p_jd) VALUES (2, 1, 2); -- should fail +DELETE FROM fk_p; -- should fail + +ALTER TABLE fk_r ATTACH PARTITION fk_r_1 FOR VALUES IN (1); +ALTER TABLE fk_r ATTACH PARTITION fk_r_2 FOR VALUES IN (2); + +\d fk_r_2 + +DELETE FROM fk_p; -- should fail + +-- these should all fail +ALTER TABLE fk_r_1 DROP CONSTRAINT fk_r_p_id_p_jd_fkey; +ALTER TABLE fk_r DROP CONSTRAINT fk_r_p_id_p_jd_fkey1; +ALTER TABLE fk_r_2 DROP CONSTRAINT fk_r_p_id_p_jd_fkey; + +SET client_min_messages TO warning; +DROP SCHEMA fkpart12 CASCADE; +RESET client_min_messages; +RESET search_path; diff --git a/src/test/regress/sql/horology.sql b/src/test/regress/sql/horology.sql index e5cf12ff63d..0fe3c783e61 100644 --- a/src/test/regress/sql/horology.sql +++ b/src/test/regress/sql/horology.sql @@ -1,9 +1,9 @@ -- -- HOROLOGY -- -SET DateStyle = 'Postgres, MDY'; -SHOW TimeZone; -- Many of these tests depend on the prevailing setting +SHOW TimeZone; -- Many of these tests depend on the prevailing settings +SHOW DateStyle; -- -- Test various input formats diff --git a/src/test/regress/sql/identity.sql b/src/test/regress/sql/identity.sql index 84c43a19a31..cb0e05a2f11 100644 --- a/src/test/regress/sql/identity.sql +++ b/src/test/regress/sql/identity.sql @@ -528,3 +528,12 @@ SELECT * FROM itest15; SELECT * FROM itest16; DROP TABLE itest15; DROP TABLE itest16; + +-- For testing of pg_dump and pg_upgrade, leave behind some identity +-- sequences whose logged-ness doesn't match their owning table's. +CREATE TABLE identity_dump_logged (a INT GENERATED ALWAYS AS IDENTITY); +ALTER SEQUENCE identity_dump_logged_a_seq SET UNLOGGED; +CREATE UNLOGGED TABLE identity_dump_unlogged (a INT GENERATED ALWAYS AS IDENTITY); +ALTER SEQUENCE identity_dump_unlogged_a_seq SET LOGGED; +SELECT relname, relpersistence FROM pg_class + WHERE relname ~ '^identity_dump_' ORDER BY 1; diff --git a/src/test/regress/sql/inherit.sql b/src/test/regress/sql/inherit.sql index e3bcfdb181e..51251b0e511 100644 --- a/src/test/regress/sql/inherit.sql +++ b/src/test/regress/sql/inherit.sql @@ -601,6 +601,14 @@ select min(1-id) from matest0; reset enable_seqscan; reset enable_parallel_append; +explain (verbose, costs off) -- bug #18652 +select 1 - id as c from +(select id from matest3 t1 union all select id * 2 from matest3 t2) ss +order by c; +select 1 - id as c from +(select id from matest3 t1 union all select id * 2 from matest3 t2) ss +order by c; + drop table matest0 cascade; -- diff --git a/src/test/regress/sql/json.sql b/src/test/regress/sql/json.sql index ec57dfe7070..50b4ed67435 100644 --- a/src/test/regress/sql/json.sql +++ b/src/test/regress/sql/json.sql @@ -748,6 +748,8 @@ select json_object('{a,b,NULL,"d e f"}','{1,2,3,"a b c"}'); select json_object('{a,b,"","d e f"}','{1,2,3,"a b c"}'); +-- json_object_agg_unique requires unique keys +select json_object_agg_unique(mod(i,100), i) from generate_series(0, 199) i; -- json_to_record and json_to_recordset diff --git a/src/test/regress/sql/jsonb_jsonpath.sql b/src/test/regress/sql/jsonb_jsonpath.sql index 5e14f7759bb..acb508c0dd2 100644 --- a/src/test/regress/sql/jsonb_jsonpath.sql +++ b/src/test/regress/sql/jsonb_jsonpath.sql @@ -587,10 +587,30 @@ select jsonb_path_query('1234', '$.string()'); select jsonb_path_query('true', '$.string()'); select jsonb_path_query('1234', '$.string().type()'); select jsonb_path_query('[2, true]', '$.string()'); -select jsonb_path_query('"2023-08-15 12:34:56 +5:30"', '$.timestamp().string()'); -select jsonb_path_query_tz('"2023-08-15 12:34:56 +5:30"', '$.timestamp().string()'); -- should work select jsonb_path_query_array('[1.23, "yes", false]', '$[*].string()'); select jsonb_path_query_array('[1.23, "yes", false]', '$[*].string().type()'); +select jsonb_path_query('"2023-08-15 12:34:56 +5:30"', '$.timestamp().string()'); +select jsonb_path_query_tz('"2023-08-15 12:34:56 +5:30"', '$.timestamp().string()'); -- should work +select jsonb_path_query('"2023-08-15 12:34:56"', '$.timestamp_tz().string()'); +select jsonb_path_query_tz('"2023-08-15 12:34:56"', '$.timestamp_tz().string()'); -- should work +select jsonb_path_query('"2023-08-15 12:34:56 +5:30"', '$.timestamp_tz().string()'); +select jsonb_path_query('"2023-08-15 12:34:56"', '$.timestamp().string()'); +select jsonb_path_query('"12:34:56 +5:30"', '$.time_tz().string()'); +-- this timetz usage will absorb the UTC offset of the current timezone setting +begin; +set local timezone = 'UTC-10'; +select jsonb_path_query_tz('"12:34:56"', '$.time_tz().string()'); +rollback; +select jsonb_path_query('"12:34:56"', '$.time().string()'); +select jsonb_path_query('"2023-08-15"', '$.date().string()'); + +-- .string() does not react to timezone or datestyle +begin; +set local timezone = 'UTC'; +set local datestyle = 'German'; +select jsonb_path_query('"2023-08-15 12:34:56 +5:30"', '$.timestamp_tz().string()'); +select jsonb_path_query('"2023-08-15 12:34:56"', '$.timestamp().string()'); +rollback; -- Test .time() select jsonb_path_query('null', '$.time()'); diff --git a/src/test/regress/sql/merge.sql b/src/test/regress/sql/merge.sql index 92163ec9fe0..5ddcca84f82 100644 --- a/src/test/regress/sql/merge.sql +++ b/src/test/regress/sql/merge.sql @@ -1710,6 +1710,45 @@ SELECT * FROM new_measurement ORDER BY city_id, logdate; DROP TABLE measurement, new_measurement CASCADE; DROP FUNCTION measurement_insert_trigger(); +-- +-- test non-strict join clause +-- +CREATE TABLE src (a int, b text); +INSERT INTO src VALUES (1, 'src row'); + +CREATE TABLE tgt (a int, b text); +INSERT INTO tgt VALUES (NULL, 'tgt row'); + +MERGE INTO tgt USING src ON tgt.a IS NOT DISTINCT FROM src.a + WHEN MATCHED THEN UPDATE SET a = src.a, b = src.b + WHEN NOT MATCHED BY SOURCE THEN DELETE + RETURNING merge_action(), src.*, tgt.*; + +SELECT * FROM tgt; + +DROP TABLE src, tgt; + +-- +-- test for bug #18634 (wrong varnullingrels error) +-- +CREATE TABLE bug18634t (a int, b int, c text); +INSERT INTO bug18634t VALUES(1, 10, 'tgt1'), (2, 20, 'tgt2'); +CREATE VIEW bug18634v AS + SELECT * FROM bug18634t WHERE EXISTS (SELECT 1 FROM bug18634t); + +CREATE TABLE bug18634s (a int, b int, c text); +INSERT INTO bug18634s VALUES (1, 2, 'src1'); + +MERGE INTO bug18634v t USING bug18634s s ON s.a = t.a + WHEN MATCHED THEN UPDATE SET b = s.b + WHEN NOT MATCHED BY SOURCE THEN DELETE + RETURNING merge_action(), s.c, t.*; + +SELECT * FROM bug18634t; + +DROP TABLE bug18634t CASCADE; +DROP TABLE bug18634s; + -- prepare RESET SESSION AUTHORIZATION; diff --git a/src/test/regress/sql/partition_merge.sql b/src/test/regress/sql/partition_merge.sql deleted file mode 100644 index bede819af94..00000000000 --- a/src/test/regress/sql/partition_merge.sql +++ /dev/null @@ -1,609 +0,0 @@ --- --- PARTITIONS_MERGE --- Tests for "ALTER TABLE ... MERGE PARTITIONS ..." command --- - -CREATE SCHEMA partitions_merge_schema; -CREATE SCHEMA partitions_merge_schema2; -SET search_path = partitions_merge_schema, public; - --- --- BY RANGE partitioning --- - --- --- Test for error codes --- -CREATE TABLE sales_range (salesperson_id INT, salesperson_name VARCHAR(30), sales_amount INT, sales_date DATE) PARTITION BY RANGE (sales_date); -CREATE TABLE sales_dec2021 PARTITION OF sales_range FOR VALUES FROM ('2021-12-01') TO ('2021-12-31'); -CREATE TABLE sales_jan2022 PARTITION OF sales_range FOR VALUES FROM ('2022-01-01') TO ('2022-02-01'); -CREATE TABLE sales_feb2022 PARTITION OF sales_range FOR VALUES FROM ('2022-02-01') TO ('2022-03-01'); -CREATE TABLE sales_mar2022 PARTITION OF sales_range FOR VALUES FROM ('2022-03-01') TO ('2022-04-01'); - -CREATE TABLE sales_apr2022 (salesperson_id INT, salesperson_name VARCHAR(30), sales_amount INT, sales_date DATE) PARTITION BY RANGE (sales_date); -CREATE TABLE sales_apr_1 PARTITION OF sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-04-15'); -CREATE TABLE sales_apr_2 PARTITION OF sales_apr2022 FOR VALUES FROM ('2022-04-15') TO ('2022-05-01'); -ALTER TABLE sales_range ATTACH PARTITION sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-05-01'); - -CREATE TABLE sales_others PARTITION OF sales_range DEFAULT; - --- ERROR: partition with name "sales_feb2022" is already used -ALTER TABLE sales_range MERGE PARTITIONS (sales_feb2022, sales_mar2022, sales_feb2022) INTO sales_feb_mar_apr2022; --- ERROR: "sales_apr2022" is not a table -ALTER TABLE sales_range MERGE PARTITIONS (sales_feb2022, sales_mar2022, sales_apr2022) INTO sales_feb_mar_apr2022; --- ERROR: lower bound of partition "sales_mar2022" conflicts with upper bound of previous partition "sales_jan2022" --- (space between sections sales_jan2022 and sales_mar2022) -ALTER TABLE sales_range MERGE PARTITIONS (sales_jan2022, sales_mar2022) INTO sales_jan_mar2022; --- ERROR: lower bound of partition "sales_jan2022" conflicts with upper bound of previous partition "sales_dec2021" --- (space between sections sales_dec2021 and sales_jan2022) -ALTER TABLE sales_range MERGE PARTITIONS (sales_dec2021, sales_jan2022, sales_feb2022) INTO sales_dec_jan_feb2022; - --- NO ERROR: test for custom partitions order, source partitions not in the search_path -SET search_path = partitions_merge_schema2, public; -ALTER TABLE partitions_merge_schema.sales_range MERGE PARTITIONS ( - partitions_merge_schema.sales_feb2022, - partitions_merge_schema.sales_mar2022, - partitions_merge_schema.sales_jan2022) INTO sales_jan_feb_mar2022; -SET search_path = partitions_merge_schema, public; - -SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid) - FROM pg_catalog.pg_class c, pg_catalog.pg_inherits i - WHERE c.oid = i.inhrelid AND i.inhparent = 'sales_range'::regclass - ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; - -DROP TABLE sales_range; - --- --- Add rows into partitioned table, then merge partitions --- -CREATE TABLE sales_range (salesperson_id INT, salesperson_name VARCHAR(30), sales_amount INT, sales_date DATE) PARTITION BY RANGE (sales_date); -CREATE TABLE sales_jan2022 PARTITION OF sales_range FOR VALUES FROM ('2022-01-01') TO ('2022-02-01'); -CREATE TABLE sales_feb2022 PARTITION OF sales_range FOR VALUES FROM ('2022-02-01') TO ('2022-03-01'); -CREATE TABLE sales_mar2022 PARTITION OF sales_range FOR VALUES FROM ('2022-03-01') TO ('2022-04-01'); -CREATE TABLE sales_apr2022 PARTITION OF sales_range FOR VALUES FROM ('2022-04-01') TO ('2022-05-01'); -CREATE TABLE sales_others PARTITION OF sales_range DEFAULT; -CREATE INDEX sales_range_sales_date_idx ON sales_range USING btree (sales_date); - -INSERT INTO sales_range VALUES (1, 'May', 1000, '2022-01-31'); -INSERT INTO sales_range VALUES (2, 'Smirnoff', 500, '2022-02-10'); -INSERT INTO sales_range VALUES (3, 'Ford', 2000, '2022-04-30'); -INSERT INTO sales_range VALUES (4, 'Ivanov', 750, '2022-04-13'); -INSERT INTO sales_range VALUES (5, 'Deev', 250, '2022-04-07'); -INSERT INTO sales_range VALUES (6, 'Poirot', 150, '2022-02-11'); -INSERT INTO sales_range VALUES (7, 'Li', 175, '2022-03-08'); -INSERT INTO sales_range VALUES (8, 'Ericsson', 185, '2022-02-23'); -INSERT INTO sales_range VALUES (9, 'Muller', 250, '2022-03-11'); -INSERT INTO sales_range VALUES (10, 'Halder', 350, '2022-01-28'); -INSERT INTO sales_range VALUES (11, 'Trump', 380, '2022-04-06'); -INSERT INTO sales_range VALUES (12, 'Plato', 350, '2022-03-19'); -INSERT INTO sales_range VALUES (13, 'Gandi', 377, '2022-01-09'); -INSERT INTO sales_range VALUES (14, 'Smith', 510, '2022-05-04'); - -SELECT pg_catalog.pg_get_partkeydef('sales_range'::regclass); - --- show partitions with conditions: -SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid) - FROM pg_catalog.pg_class c, pg_catalog.pg_inherits i - WHERE c.oid = i.inhrelid AND i.inhparent = 'sales_range'::regclass - ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; - --- check schema-qualified name of the new partition -ALTER TABLE sales_range MERGE PARTITIONS (sales_feb2022, sales_mar2022, sales_apr2022) INTO partitions_merge_schema2.sales_feb_mar_apr2022; - --- show partitions with conditions: -SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid) - FROM pg_catalog.pg_class c, pg_catalog.pg_inherits i - WHERE c.oid = i.inhrelid AND i.inhparent = 'sales_range'::regclass - ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; - -SELECT * FROM pg_indexes WHERE tablename = 'sales_feb_mar_apr2022' and schemaname = 'partitions_merge_schema2'; - -SELECT * FROM sales_range; -SELECT * FROM sales_jan2022; -SELECT * FROM partitions_merge_schema2.sales_feb_mar_apr2022; -SELECT * FROM sales_others; - --- Use indexscan for testing indexes -SET enable_seqscan = OFF; - -SELECT * FROM partitions_merge_schema2.sales_feb_mar_apr2022 where sales_date > '2022-01-01'; - -RESET enable_seqscan; - -DROP TABLE sales_range; - --- --- Merge some partitions into DEFAULT partition --- -CREATE TABLE sales_range (salesperson_id INT, salesperson_name VARCHAR(30), sales_amount INT, sales_date DATE) PARTITION BY RANGE (sales_date); -CREATE TABLE sales_jan2022 PARTITION OF sales_range FOR VALUES FROM ('2022-01-01') TO ('2022-02-01'); -CREATE TABLE sales_feb2022 PARTITION OF sales_range FOR VALUES FROM ('2022-02-01') TO ('2022-03-01'); -CREATE TABLE sales_mar2022 PARTITION OF sales_range FOR VALUES FROM ('2022-03-01') TO ('2022-04-01'); -CREATE TABLE sales_apr2022 PARTITION OF sales_range FOR VALUES FROM ('2022-04-01') TO ('2022-05-01'); -CREATE TABLE sales_others PARTITION OF sales_range DEFAULT; -CREATE INDEX sales_range_sales_date_idx ON sales_range USING btree (sales_date); - -INSERT INTO sales_range VALUES (1, 'May', 1000, '2022-01-31'); -INSERT INTO sales_range VALUES (2, 'Smirnoff', 500, '2022-02-10'); -INSERT INTO sales_range VALUES (3, 'Ford', 2000, '2022-04-30'); -INSERT INTO sales_range VALUES (4, 'Ivanov', 750, '2022-04-13'); -INSERT INTO sales_range VALUES (5, 'Deev', 250, '2022-04-07'); -INSERT INTO sales_range VALUES (6, 'Poirot', 150, '2022-02-11'); -INSERT INTO sales_range VALUES (7, 'Li', 175, '2022-03-08'); -INSERT INTO sales_range VALUES (8, 'Ericsson', 185, '2022-02-23'); -INSERT INTO sales_range VALUES (9, 'Muller', 250, '2022-03-11'); -INSERT INTO sales_range VALUES (10, 'Halder', 350, '2022-01-28'); -INSERT INTO sales_range VALUES (11, 'Trump', 380, '2022-04-06'); -INSERT INTO sales_range VALUES (12, 'Plato', 350, '2022-03-19'); -INSERT INTO sales_range VALUES (13, 'Gandi', 377, '2022-01-09'); -INSERT INTO sales_range VALUES (14, 'Smith', 510, '2022-05-04'); - --- Merge partitions (include DEFAULT partition) into partition with the same --- name -ALTER TABLE sales_range MERGE PARTITIONS - (sales_jan2022, sales_mar2022, partitions_merge_schema.sales_others) INTO sales_others; - -select * from sales_others; - --- show partitions with conditions: -SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid) - FROM pg_catalog.pg_class c, pg_catalog.pg_inherits i - WHERE c.oid = i.inhrelid AND i.inhparent = 'sales_range'::regclass - ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; - -DROP TABLE sales_range; - --- --- Test for: --- * composite partition key; --- * GENERATED column; --- * column with DEFAULT value. --- -CREATE TABLE sales_date (salesperson_name VARCHAR(30), sales_year INT, sales_month INT, sales_day INT, - sales_date VARCHAR(10) GENERATED ALWAYS AS - (LPAD(sales_year::text, 4, '0') || '.' || LPAD(sales_month::text, 2, '0') || '.' || LPAD(sales_day::text, 2, '0')) STORED, - sales_department VARCHAR(30) DEFAULT 'Sales department') - PARTITION BY RANGE (sales_year, sales_month, sales_day); - -CREATE TABLE sales_dec2022 PARTITION OF sales_date FOR VALUES FROM (2021, 12, 1) TO (2022, 1, 1); -CREATE TABLE sales_jan2022 PARTITION OF sales_date FOR VALUES FROM (2022, 1, 1) TO (2022, 2, 1); -CREATE TABLE sales_feb2022 PARTITION OF sales_date FOR VALUES FROM (2022, 2, 1) TO (2022, 3, 1); -CREATE TABLE sales_other PARTITION OF sales_date FOR VALUES FROM (2022, 3, 1) TO (MAXVALUE, MAXVALUE, MAXVALUE); - -INSERT INTO sales_date(salesperson_name, sales_year, sales_month, sales_day) VALUES ('Manager1', 2021, 12, 7); -INSERT INTO sales_date(salesperson_name, sales_year, sales_month, sales_day) VALUES ('Manager2', 2021, 12, 8); -INSERT INTO sales_date(salesperson_name, sales_year, sales_month, sales_day) VALUES ('Manager3', 2022, 1, 1); -INSERT INTO sales_date(salesperson_name, sales_year, sales_month, sales_day) VALUES ('Manager1', 2022, 2, 4); -INSERT INTO sales_date(salesperson_name, sales_year, sales_month, sales_day) VALUES ('Manager2', 2022, 1, 2); -INSERT INTO sales_date(salesperson_name, sales_year, sales_month, sales_day) VALUES ('Manager3', 2022, 2, 1); -INSERT INTO sales_date(salesperson_name, sales_year, sales_month, sales_day) VALUES ('Manager1', 2022, 3, 3); -INSERT INTO sales_date(salesperson_name, sales_year, sales_month, sales_day) VALUES ('Manager2', 2022, 3, 4); -INSERT INTO sales_date(salesperson_name, sales_year, sales_month, sales_day) VALUES ('Manager3', 2022, 5, 1); - -SELECT * FROM sales_date; -SELECT * FROM sales_dec2022; -SELECT * FROM sales_jan2022; -SELECT * FROM sales_feb2022; -SELECT * FROM sales_other; - -ALTER TABLE sales_date MERGE PARTITIONS (sales_jan2022, sales_feb2022) INTO sales_jan_feb2022; - -INSERT INTO sales_date(salesperson_name, sales_year, sales_month, sales_day) VALUES ('Manager1', 2022, 1, 10); -INSERT INTO sales_date(salesperson_name, sales_year, sales_month, sales_day) VALUES ('Manager2', 2022, 2, 10); - -SELECT * FROM sales_date; -SELECT * FROM sales_dec2022; -SELECT * FROM sales_jan_feb2022; -SELECT * FROM sales_other; - -DROP TABLE sales_date; - --- --- Test: merge partitions of partitioned table with triggers --- -CREATE TABLE salespeople(salesperson_id INT PRIMARY KEY, salesperson_name VARCHAR(30)) PARTITION BY RANGE (salesperson_id); - -CREATE TABLE salespeople01_10 PARTITION OF salespeople FOR VALUES FROM (1) TO (10); -CREATE TABLE salespeople10_20 PARTITION OF salespeople FOR VALUES FROM (10) TO (20); -CREATE TABLE salespeople20_30 PARTITION OF salespeople FOR VALUES FROM (20) TO (30); -CREATE TABLE salespeople30_40 PARTITION OF salespeople FOR VALUES FROM (30) TO (40); - -INSERT INTO salespeople VALUES (1, 'Poirot'); - -CREATE OR REPLACE FUNCTION after_insert_row_trigger() RETURNS trigger LANGUAGE 'plpgsql' AS $BODY$ -BEGIN - RAISE NOTICE 'trigger(%) called: action = %, when = %, level = %', TG_ARGV[0], TG_OP, TG_WHEN, TG_LEVEL; - RETURN NULL; -END; -$BODY$; - -CREATE TRIGGER salespeople_after_insert_statement_trigger - AFTER INSERT - ON salespeople - FOR EACH STATEMENT - EXECUTE PROCEDURE after_insert_row_trigger('salespeople'); - -CREATE TRIGGER salespeople_after_insert_row_trigger - AFTER INSERT - ON salespeople - FOR EACH ROW - EXECUTE PROCEDURE after_insert_row_trigger('salespeople'); - --- 2 triggers should fire here (row + statement): -INSERT INTO salespeople VALUES (10, 'May'); --- 1 trigger should fire here (row): -INSERT INTO salespeople10_20 VALUES (19, 'Ivanov'); - -ALTER TABLE salespeople MERGE PARTITIONS (salespeople10_20, salespeople20_30, salespeople30_40) INTO salespeople10_40; - --- 2 triggers should fire here (row + statement): -INSERT INTO salespeople VALUES (20, 'Smirnoff'); --- 1 trigger should fire here (row): -INSERT INTO salespeople10_40 VALUES (30, 'Ford'); - -SELECT * FROM salespeople01_10; -SELECT * FROM salespeople10_40; - -DROP TABLE salespeople; -DROP FUNCTION after_insert_row_trigger(); - --- --- Test: merge partitions with deleted columns --- -CREATE TABLE salespeople(salesperson_id INT PRIMARY KEY, salesperson_name VARCHAR(30)) PARTITION BY RANGE (salesperson_id); - -CREATE TABLE salespeople01_10 PARTITION OF salespeople FOR VALUES FROM (1) TO (10); --- Create partitions with some deleted columns: -CREATE TABLE salespeople10_20(d1 VARCHAR(30), salesperson_id INT PRIMARY KEY, salesperson_name VARCHAR(30)); -CREATE TABLE salespeople20_30(salesperson_id INT PRIMARY KEY, d2 INT, salesperson_name VARCHAR(30)); -CREATE TABLE salespeople30_40(salesperson_id INT PRIMARY KEY, d3 DATE, salesperson_name VARCHAR(30)); - -INSERT INTO salespeople10_20 VALUES ('dummy value 1', 19, 'Ivanov'); -INSERT INTO salespeople20_30 VALUES (20, 101, 'Smirnoff'); -INSERT INTO salespeople30_40 VALUES (31, now(), 'Popov'); - -ALTER TABLE salespeople10_20 DROP COLUMN d1; -ALTER TABLE salespeople20_30 DROP COLUMN d2; -ALTER TABLE salespeople30_40 DROP COLUMN d3; - -ALTER TABLE salespeople ATTACH PARTITION salespeople10_20 FOR VALUES FROM (10) TO (20); -ALTER TABLE salespeople ATTACH PARTITION salespeople20_30 FOR VALUES FROM (20) TO (30); -ALTER TABLE salespeople ATTACH PARTITION salespeople30_40 FOR VALUES FROM (30) TO (40); - -INSERT INTO salespeople VALUES (1, 'Poirot'); -INSERT INTO salespeople VALUES (10, 'May'); -INSERT INTO salespeople VALUES (30, 'Ford'); - -ALTER TABLE salespeople MERGE PARTITIONS (salespeople10_20, salespeople20_30, salespeople30_40) INTO salespeople10_40; - -select * from salespeople; -select * from salespeople01_10; -select * from salespeople10_40; - -DROP TABLE salespeople; - --- --- Test: merge sub-partitions --- -CREATE TABLE sales_range (salesperson_id INT, salesperson_name VARCHAR(30), sales_amount INT, sales_date DATE) PARTITION BY RANGE (sales_date); -CREATE TABLE sales_jan2022 PARTITION OF sales_range FOR VALUES FROM ('2022-01-01') TO ('2022-02-01'); -CREATE TABLE sales_feb2022 PARTITION OF sales_range FOR VALUES FROM ('2022-02-01') TO ('2022-03-01'); -CREATE TABLE sales_mar2022 PARTITION OF sales_range FOR VALUES FROM ('2022-03-01') TO ('2022-04-01'); - -CREATE TABLE sales_apr2022 (salesperson_id INT, salesperson_name VARCHAR(30), sales_amount INT, sales_date DATE) PARTITION BY RANGE (sales_date); -CREATE TABLE sales_apr2022_01_10 PARTITION OF sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-04-10'); -CREATE TABLE sales_apr2022_10_20 PARTITION OF sales_apr2022 FOR VALUES FROM ('2022-04-10') TO ('2022-04-20'); -CREATE TABLE sales_apr2022_20_30 PARTITION OF sales_apr2022 FOR VALUES FROM ('2022-04-20') TO ('2022-05-01'); -ALTER TABLE sales_range ATTACH PARTITION sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-05-01'); - -CREATE TABLE sales_others PARTITION OF sales_range DEFAULT; - -CREATE INDEX sales_range_sales_date_idx ON sales_range USING btree (sales_date); - -INSERT INTO sales_range VALUES (1, 'May', 1000, '2022-01-31'); -INSERT INTO sales_range VALUES (2, 'Smirnoff', 500, '2022-02-10'); -INSERT INTO sales_range VALUES (3, 'Ford', 2000, '2022-04-30'); -INSERT INTO sales_range VALUES (4, 'Ivanov', 750, '2022-04-13'); -INSERT INTO sales_range VALUES (5, 'Deev', 250, '2022-04-07'); -INSERT INTO sales_range VALUES (6, 'Poirot', 150, '2022-02-11'); -INSERT INTO sales_range VALUES (7, 'Li', 175, '2022-03-08'); -INSERT INTO sales_range VALUES (8, 'Ericsson', 185, '2022-02-23'); -INSERT INTO sales_range VALUES (9, 'Muller', 250, '2022-03-11'); -INSERT INTO sales_range VALUES (10, 'Halder', 350, '2022-01-28'); -INSERT INTO sales_range VALUES (11, 'Trump', 380, '2022-04-06'); -INSERT INTO sales_range VALUES (12, 'Plato', 350, '2022-03-19'); -INSERT INTO sales_range VALUES (13, 'Gandi', 377, '2022-01-09'); -INSERT INTO sales_range VALUES (14, 'Smith', 510, '2022-05-04'); - -SELECT * FROM sales_range; -SELECT * FROM sales_apr2022; -SELECT * FROM sales_apr2022_01_10; -SELECT * FROM sales_apr2022_10_20; -SELECT * FROM sales_apr2022_20_30; - -ALTER TABLE sales_apr2022 MERGE PARTITIONS (sales_apr2022_01_10, sales_apr2022_10_20, sales_apr2022_20_30) INTO sales_apr_all; - -SELECT * FROM sales_range; -SELECT * FROM sales_apr2022; -SELECT * FROM sales_apr_all; - -DROP TABLE sales_range; - --- --- BY LIST partitioning --- - --- --- Test: specific errors for BY LIST partitioning --- -CREATE TABLE sales_list -(salesperson_id INT GENERATED ALWAYS AS IDENTITY, - salesperson_name VARCHAR(30), - sales_state VARCHAR(20), - sales_amount INT, - sales_date DATE) -PARTITION BY LIST (sales_state); -CREATE TABLE sales_nord PARTITION OF sales_list FOR VALUES IN ('Oslo', 'St. Petersburg', 'Helsinki'); -CREATE TABLE sales_west PARTITION OF sales_list FOR VALUES IN ('Lisbon', 'New York', 'Madrid'); -CREATE TABLE sales_east PARTITION OF sales_list FOR VALUES IN ('Bejing', 'Delhi', 'Vladivostok'); -CREATE TABLE sales_central PARTITION OF sales_list FOR VALUES IN ('Warsaw', 'Berlin', 'Kyiv'); -CREATE TABLE sales_others PARTITION OF sales_list DEFAULT; - - -CREATE TABLE sales_list2 (LIKE sales_list) PARTITION BY LIST (sales_state); -CREATE TABLE sales_nord2 PARTITION OF sales_list2 FOR VALUES IN ('Oslo', 'St. Petersburg', 'Helsinki'); -CREATE TABLE sales_others2 PARTITION OF sales_list2 DEFAULT; - - -CREATE TABLE sales_external (LIKE sales_list); -CREATE TABLE sales_external2 (vch VARCHAR(5)); - --- ERROR: "sales_external" is not a partition -ALTER TABLE sales_list MERGE PARTITIONS (sales_west, sales_east, sales_external) INTO sales_all; --- ERROR: "sales_external2" is not a partition -ALTER TABLE sales_list MERGE PARTITIONS (sales_west, sales_east, sales_external2) INTO sales_all; --- ERROR: relation "sales_nord2" is not a partition of relation "sales_list" -ALTER TABLE sales_list MERGE PARTITIONS (sales_west, sales_nord2, sales_east) INTO sales_all; - -DROP TABLE sales_external2; -DROP TABLE sales_external; -DROP TABLE sales_list2; -DROP TABLE sales_list; - --- --- Test: BY LIST partitioning, MERGE PARTITIONS with data --- -CREATE TABLE sales_list -(salesperson_id INT GENERATED ALWAYS AS IDENTITY, - salesperson_name VARCHAR(30), - sales_state VARCHAR(20), - sales_amount INT, - sales_date DATE) -PARTITION BY LIST (sales_state); - -CREATE INDEX sales_list_salesperson_name_idx ON sales_list USING btree (salesperson_name); -CREATE INDEX sales_list_sales_state_idx ON sales_list USING btree (sales_state); - -CREATE TABLE sales_nord PARTITION OF sales_list FOR VALUES IN ('Oslo', 'St. Petersburg', 'Helsinki'); -CREATE TABLE sales_west PARTITION OF sales_list FOR VALUES IN ('Lisbon', 'New York', 'Madrid'); -CREATE TABLE sales_east PARTITION OF sales_list FOR VALUES IN ('Bejing', 'Delhi', 'Vladivostok'); -CREATE TABLE sales_central PARTITION OF sales_list FOR VALUES IN ('Warsaw', 'Berlin', 'Kyiv'); -CREATE TABLE sales_others PARTITION OF sales_list DEFAULT; - -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('Trump', 'Bejing', 1000, '2022-03-01'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('Smirnoff', 'New York', 500, '2022-03-03'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('Ford', 'St. Petersburg', 2000, '2022-03-05'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('Ivanov', 'Warsaw', 750, '2022-03-04'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('Deev', 'Lisbon', 250, '2022-03-07'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('Poirot', 'Berlin', 1000, '2022-03-01'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('May', 'Helsinki', 1200, '2022-03-06'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('Li', 'Vladivostok', 1150, '2022-03-09'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('May', 'Helsinki', 1200, '2022-03-11'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('Halder', 'Oslo', 800, '2022-03-02'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('Muller', 'Madrid', 650, '2022-03-05'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('Smith', 'Kyiv', 350, '2022-03-10'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('Gandi', 'Warsaw', 150, '2022-03-08'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('Plato', 'Lisbon', 950, '2022-03-05'); - --- show partitions with conditions: -SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid) - FROM pg_catalog.pg_class c, pg_catalog.pg_inherits i - WHERE c.oid = i.inhrelid AND i.inhparent = 'sales_list'::regclass - ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; - -ALTER TABLE sales_list MERGE PARTITIONS (sales_west, sales_east, sales_central) INTO sales_all; - --- show partitions with conditions: -SELECT c.oid::pg_catalog.regclass, c.relkind, inhdetachpending, pg_catalog.pg_get_expr(c.relpartbound, c.oid) - FROM pg_catalog.pg_class c, pg_catalog.pg_inherits i - WHERE c.oid = i.inhrelid AND i.inhparent = 'sales_list'::regclass - ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; - -SELECT * FROM sales_list; -SELECT * FROM sales_nord; -SELECT * FROM sales_all; - --- Use indexscan for testing indexes after merging partitions -SET enable_seqscan = OFF; - -SELECT * FROM sales_all WHERE sales_state = 'Warsaw'; -SELECT * FROM sales_list WHERE sales_state = 'Warsaw'; -SELECT * FROM sales_list WHERE salesperson_name = 'Ivanov'; - -RESET enable_seqscan; - -DROP TABLE sales_list; - --- --- Try to MERGE partitions of another table. --- -CREATE TABLE t1 (i int, a int, b int, c int) PARTITION BY RANGE (a, b); -CREATE TABLE t1p1 PARTITION OF t1 FOR VALUES FROM (1, 1) TO (1, 2); -CREATE TABLE t2 (i int, t text) PARTITION BY RANGE (t); -CREATE TABLE t2pa PARTITION OF t2 FOR VALUES FROM ('A') TO ('C'); -CREATE TABLE t3 (i int, t text); - --- ERROR: relation "t1p1" is not a partition of relation "t2" -ALTER TABLE t2 MERGE PARTITIONS (t1p1, t2pa) INTO t2p; --- ERROR: "t3" is not a partition -ALTER TABLE t2 MERGE PARTITIONS (t2pa, t3) INTO t2p; - -DROP TABLE t3; -DROP TABLE t2; -DROP TABLE t1; - --- --- Try to MERGE partitions of temporary table. --- -CREATE TEMP TABLE t (i int) PARTITION BY RANGE (i); -CREATE TEMP TABLE tp_0_1 PARTITION OF t FOR VALUES FROM (0) TO (1); -CREATE TEMP TABLE tp_1_2 PARTITION OF t FOR VALUES FROM (1) TO (2); - -SELECT c.oid::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), c.relpersistence - FROM pg_catalog.pg_class c, pg_catalog.pg_inherits i - WHERE c.oid = i.inhrelid AND i.inhparent = 't'::regclass - ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; - -ALTER TABLE t MERGE PARTITIONS (tp_0_1, tp_1_2) INTO tp_0_2; - --- Partition should be temporary. -SELECT c.oid::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), c.relpersistence - FROM pg_catalog.pg_class c, pg_catalog.pg_inherits i - WHERE c.oid = i.inhrelid AND i.inhparent = 't'::regclass - ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; - -DROP TABLE t; - --- --- Check the partition index name if the partition name is the same as one --- of the merged partitions. --- -CREATE TABLE t (i int, PRIMARY KEY(i)) PARTITION BY RANGE (i); - -CREATE TABLE tp_0_1 PARTITION OF t FOR VALUES FROM (0) TO (1); -CREATE TABLE tp_1_2 PARTITION OF t FOR VALUES FROM (1) TO (2); - -CREATE INDEX tidx ON t(i); -ALTER TABLE t MERGE PARTITIONS (tp_1_2, tp_0_1) INTO tp_1_2; - --- Indexname values should be 'tp_1_2_pkey' and 'tp_1_2_i_idx'. --- Not-null constraint name should be 'tp_1_2_i_not_null'. -\d+ tp_1_2 - -DROP TABLE t; - --- --- Try mixing permanent and temporary partitions. --- -SET search_path = partitions_merge_schema, pg_temp, public; -CREATE TABLE t (i int) PARTITION BY RANGE (i); -CREATE TABLE tp_0_1 PARTITION OF t FOR VALUES FROM (0) TO (1); -CREATE TABLE tp_1_2 PARTITION OF t FOR VALUES FROM (1) TO (2); - -SELECT c.oid::pg_catalog.regclass, c.relpersistence FROM pg_catalog.pg_class c WHERE c.oid = 't'::regclass; -SELECT c.oid::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), c.relpersistence - FROM pg_catalog.pg_class c, pg_catalog.pg_inherits i - WHERE c.oid = i.inhrelid AND i.inhparent = 't'::regclass - ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; - -SET search_path = pg_temp, partitions_merge_schema, public; - --- Can't merge persistent partitions into a temporary partition -ALTER TABLE t MERGE PARTITIONS (tp_0_1, tp_1_2) INTO tp_0_2; - -SET search_path = partitions_merge_schema, public; - --- Can't merge persistent partitions into a temporary partition -ALTER TABLE t MERGE PARTITIONS (tp_0_1, tp_1_2) INTO pg_temp.tp_0_2; -DROP TABLE t; - -SET search_path = pg_temp, partitions_merge_schema, public; - -BEGIN; -CREATE TABLE t (i int) PARTITION BY RANGE (i); -CREATE TABLE tp_0_1 PARTITION OF t FOR VALUES FROM (0) TO (1); -CREATE TABLE tp_1_2 PARTITION OF t FOR VALUES FROM (1) TO (2); - -SELECT c.oid::pg_catalog.regclass, c.relpersistence FROM pg_catalog.pg_class c WHERE c.oid = 't'::regclass; -SELECT c.oid::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), c.relpersistence - FROM pg_catalog.pg_class c, pg_catalog.pg_inherits i - WHERE c.oid = i.inhrelid AND i.inhparent = 't'::regclass - ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; - -SET search_path = partitions_merge_schema, pg_temp, public; - --- Can't merge temporary partitions into a persistent partition -ALTER TABLE t MERGE PARTITIONS (tp_0_1, tp_1_2) INTO tp_0_2; -ROLLBACK; - --- Check the new partition inherits parent's tablespace -SET search_path = partitions_merge_schema, public; -CREATE TABLE t (i int PRIMARY KEY USING INDEX TABLESPACE regress_tblspace) - PARTITION BY RANGE (i) TABLESPACE regress_tblspace; -CREATE TABLE tp_0_1 PARTITION OF t FOR VALUES FROM (0) TO (1); -CREATE TABLE tp_1_2 PARTITION OF t FOR VALUES FROM (1) TO (2); -ALTER TABLE t MERGE PARTITIONS (tp_0_1, tp_1_2) INTO tp_0_2; -SELECT tablename, tablespace FROM pg_tables - WHERE tablename IN ('t', 'tp_0_2') AND schemaname = 'partitions_merge_schema' - ORDER BY tablename, tablespace; -SELECT tablename, indexname, tablespace FROM pg_indexes - WHERE tablename IN ('t', 'tp_0_2') AND schemaname = 'partitions_merge_schema' - ORDER BY tablename, indexname, tablespace; -DROP TABLE t; - --- Check the new partition inherits parent's table access method -SET search_path = partitions_merge_schema, public; -CREATE ACCESS METHOD partitions_merge_heap TYPE TABLE HANDLER heap_tableam_handler; -CREATE TABLE t (i int) PARTITION BY RANGE (i) USING partitions_merge_heap; -CREATE TABLE tp_0_1 PARTITION OF t FOR VALUES FROM (0) TO (1); -CREATE TABLE tp_1_2 PARTITION OF t FOR VALUES FROM (1) TO (2); -ALTER TABLE t MERGE PARTITIONS (tp_0_1, tp_1_2) INTO tp_0_2; -SELECT c.relname, a.amname -FROM pg_class c JOIN pg_am a ON c.relam = a.oid -WHERE c.oid IN ('t'::regclass, 'tp_0_2'::regclass) -ORDER BY c.relname; -DROP TABLE t; -DROP ACCESS METHOD partitions_merge_heap; - --- Test permission checks. The user needs to own the parent table and all --- the merging partitions to do the merge. -CREATE ROLE regress_partition_merge_alice; -CREATE ROLE regress_partition_merge_bob; -GRANT ALL ON SCHEMA partitions_merge_schema TO regress_partition_merge_alice; -GRANT ALL ON SCHEMA partitions_merge_schema TO regress_partition_merge_bob; - -SET SESSION AUTHORIZATION regress_partition_merge_alice; -CREATE TABLE t (i int) PARTITION BY RANGE (i); -CREATE TABLE tp_0_1 PARTITION OF t FOR VALUES FROM (0) TO (1); -CREATE TABLE tp_1_2 PARTITION OF t FOR VALUES FROM (1) TO (2); - -SET SESSION AUTHORIZATION regress_partition_merge_bob; -ALTER TABLE t MERGE PARTITIONS (tp_0_1, tp_1_2) INTO tp_0_2; -RESET SESSION AUTHORIZATION; - -ALTER TABLE t OWNER TO regress_partition_merge_bob; -SET SESSION AUTHORIZATION regress_partition_merge_bob; -ALTER TABLE t MERGE PARTITIONS (tp_0_1, tp_1_2) INTO tp_0_2; -RESET SESSION AUTHORIZATION; - -ALTER TABLE tp_0_1 OWNER TO regress_partition_merge_bob; -SET SESSION AUTHORIZATION regress_partition_merge_bob; -ALTER TABLE t MERGE PARTITIONS (tp_0_1, tp_1_2) INTO tp_0_2; -RESET SESSION AUTHORIZATION; - -ALTER TABLE tp_1_2 OWNER TO regress_partition_merge_bob; -SET SESSION AUTHORIZATION regress_partition_merge_bob; -ALTER TABLE t MERGE PARTITIONS (tp_0_1, tp_1_2) INTO tp_0_2; -RESET SESSION AUTHORIZATION; - -DROP TABLE t; -REVOKE ALL ON SCHEMA partitions_merge_schema FROM regress_partition_merge_alice; -REVOKE ALL ON SCHEMA partitions_merge_schema FROM regress_partition_merge_bob; -DROP ROLE regress_partition_merge_alice; -DROP ROLE regress_partition_merge_bob; - -RESET search_path; - --- -DROP SCHEMA partitions_merge_schema; -DROP SCHEMA partitions_merge_schema2; diff --git a/src/test/regress/sql/partition_split.sql b/src/test/regress/sql/partition_split.sql deleted file mode 100644 index ef5ea07f740..00000000000 --- a/src/test/regress/sql/partition_split.sql +++ /dev/null @@ -1,962 +0,0 @@ --- --- PARTITION_SPLIT --- Tests for "ALTER TABLE ... SPLIT PARTITION ..." command --- - -CREATE SCHEMA partition_split_schema; -CREATE SCHEMA partition_split_schema2; -SET search_path = partition_split_schema, public; - --- --- BY RANGE partitioning --- - --- --- Test for error codes --- -CREATE TABLE sales_range (salesperson_id int, salesperson_name varchar(30), sales_amount int, sales_date date) PARTITION BY RANGE (sales_date); -CREATE TABLE sales_jan2022 PARTITION OF sales_range FOR VALUES FROM ('2022-01-01') TO ('2022-02-01'); -CREATE TABLE sales_feb_mar_apr2022 PARTITION OF sales_range FOR VALUES FROM ('2022-02-01') TO ('2022-05-01'); -CREATE TABLE sales_others PARTITION OF sales_range DEFAULT; - --- ERROR: relation "sales_xxx" does not exist -ALTER TABLE sales_range SPLIT PARTITION sales_xxx INTO - (PARTITION sales_feb2022 FOR VALUES FROM ('2022-02-01') TO ('2022-03-01'), - PARTITION sales_mar2022 FOR VALUES FROM ('2022-03-01') TO ('2022-04-01'), - PARTITION sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-05-01')); - --- ERROR: relation "sales_jan2022" already exists -ALTER TABLE sales_range SPLIT PARTITION sales_feb_mar_apr2022 INTO - (PARTITION sales_jan2022 FOR VALUES FROM ('2022-02-01') TO ('2022-03-01'), - PARTITION sales_mar2022 FOR VALUES FROM ('2022-03-01') TO ('2022-04-01'), - PARTITION sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-05-01')); - --- ERROR: invalid bound specification for a range partition -ALTER TABLE sales_range SPLIT PARTITION sales_feb_mar_apr2022 INTO - (PARTITION sales_jan2022 FOR VALUES IN ('2022-05-01', '2022-06-01'), - PARTITION sales_mar2022 FOR VALUES FROM ('2022-03-01') TO ('2022-04-01'), - PARTITION sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-05-01')); - --- ERROR: empty range bound specified for partition "sales_mar2022" -ALTER TABLE sales_range SPLIT PARTITION sales_feb_mar_apr2022 INTO - (PARTITION sales_feb2022 FOR VALUES FROM ('2022-02-01') TO ('2022-03-01'), - PARTITION sales_mar2022 FOR VALUES FROM ('2022-03-01') TO ('2022-02-01'), - PARTITION sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-05-01')); - ---ERROR: list of split partitions should contain at least two items -ALTER TABLE sales_range SPLIT PARTITION sales_feb_mar_apr2022 INTO - (PARTITION sales_feb2022 FOR VALUES FROM ('2022-02-01') TO ('2022-10-01')); - --- ERROR: lower bound of partition "sales_feb2022" is less than lower bound of split partition -ALTER TABLE sales_range SPLIT PARTITION sales_feb_mar_apr2022 INTO - (PARTITION sales_feb2022 FOR VALUES FROM ('2022-01-01') TO ('2022-03-01'), - PARTITION sales_mar2022 FOR VALUES FROM ('2022-03-01') TO ('2022-04-01'), - PARTITION sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-05-01')); - --- ERROR: name "sales_feb_mar_apr2022" is already used --- (We can create partition with the same name as split partition, but can't create two partitions with the same name) -ALTER TABLE sales_range SPLIT PARTITION sales_feb_mar_apr2022 INTO - (PARTITION sales_feb_mar_apr2022 FOR VALUES FROM ('2022-02-01') TO ('2022-03-01'), - PARTITION sales_feb_mar_apr2022 FOR VALUES FROM ('2022-03-01') TO ('2022-04-01'), - PARTITION sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-05-01')); - --- ERROR: name "sales_feb2022" is already used -ALTER TABLE sales_range SPLIT PARTITION sales_feb_mar_apr2022 INTO - (PARTITION sales_feb2022 FOR VALUES FROM ('2022-02-01') TO ('2022-03-01'), - PARTITION sales_feb2022 FOR VALUES FROM ('2022-03-01') TO ('2022-04-01'), - PARTITION sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-05-01')); - --- ERROR: "sales_feb_mar_apr2022" is not a partitioned table -ALTER TABLE sales_feb_mar_apr2022 SPLIT PARTITION sales_feb_mar_apr2022 INTO - (PARTITION sales_jan2022 FOR VALUES FROM ('2022-02-01') TO ('2022-03-01'), - PARTITION sales_feb2022 FOR VALUES FROM ('2022-03-01') TO ('2022-04-01'), - PARTITION sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-05-01')); - --- ERROR: upper bound of partition "sales_apr2022" is greater than upper bound of split partition -ALTER TABLE sales_range SPLIT PARTITION sales_feb_mar_apr2022 INTO - (PARTITION sales_feb2022 FOR VALUES FROM ('2022-02-01') TO ('2022-03-01'), - PARTITION sales_mar2022 FOR VALUES FROM ('2022-03-01') TO ('2022-04-01'), - PARTITION sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-06-01')); - --- ERROR: lower bound of partition "sales_mar2022" conflicts with upper bound of previous partition "sales_feb2022" -ALTER TABLE sales_range SPLIT PARTITION sales_feb_mar_apr2022 INTO - (PARTITION sales_feb2022 FOR VALUES FROM ('2022-02-01') TO ('2022-03-01'), - PARTITION sales_mar2022 FOR VALUES FROM ('2022-02-01') TO ('2022-04-01'), - PARTITION sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-05-01')); - --- Tests for spaces between partitions, them should be executed without DEFAULT partition -ALTER TABLE sales_range DETACH PARTITION sales_others; - --- ERROR: lower bound of partition "sales_feb2022" is not equal to lower bound of split partition -ALTER TABLE sales_range SPLIT PARTITION sales_feb_mar_apr2022 INTO - (PARTITION sales_feb2022 FOR VALUES FROM ('2022-02-02') TO ('2022-03-01'), - PARTITION sales_mar2022 FOR VALUES FROM ('2022-03-01') TO ('2022-04-01'), - PARTITION sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-05-01')); - --- Check the source partition not in the search path -SET search_path = partition_split_schema2, public; -ALTER TABLE partition_split_schema.sales_range -SPLIT PARTITION partition_split_schema.sales_feb_mar_apr2022 INTO - (PARTITION sales_feb2022 FOR VALUES FROM ('2022-02-01') TO ('2022-03-01'), - PARTITION sales_mar2022 FOR VALUES FROM ('2022-03-01') TO ('2022-04-01'), - PARTITION sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-05-01')); -SET search_path = partition_split_schema, public; -\d+ sales_range - -DROP TABLE sales_range; -DROP TABLE sales_others; - --- --- Add rows into partitioned table then split partition --- -CREATE TABLE sales_range (salesperson_id INT, salesperson_name VARCHAR(30), sales_amount INT, sales_date DATE) PARTITION BY RANGE (sales_date); -CREATE TABLE sales_jan2022 PARTITION OF sales_range FOR VALUES FROM ('2022-01-01') TO ('2022-02-01'); -CREATE TABLE sales_feb_mar_apr2022 PARTITION OF sales_range FOR VALUES FROM ('2022-02-01') TO ('2022-05-01'); -CREATE TABLE sales_others PARTITION OF sales_range DEFAULT; - -INSERT INTO sales_range VALUES (1, 'May', 1000, '2022-01-31'); -INSERT INTO sales_range VALUES (2, 'Smirnoff', 500, '2022-02-10'); -INSERT INTO sales_range VALUES (3, 'Ford', 2000, '2022-04-30'); -INSERT INTO sales_range VALUES (4, 'Ivanov', 750, '2022-04-13'); -INSERT INTO sales_range VALUES (5, 'Deev', 250, '2022-04-07'); -INSERT INTO sales_range VALUES (6, 'Poirot', 150, '2022-02-11'); -INSERT INTO sales_range VALUES (7, 'Li', 175, '2022-03-08'); -INSERT INTO sales_range VALUES (8, 'Ericsson', 185, '2022-02-23'); -INSERT INTO sales_range VALUES (9, 'Muller', 250, '2022-03-11'); -INSERT INTO sales_range VALUES (10, 'Halder', 350, '2022-01-28'); -INSERT INTO sales_range VALUES (11, 'Trump', 380, '2022-04-06'); -INSERT INTO sales_range VALUES (12, 'Plato', 350, '2022-03-19'); -INSERT INTO sales_range VALUES (13, 'Gandi', 377, '2022-01-09'); -INSERT INTO sales_range VALUES (14, 'Smith', 510, '2022-05-04'); - -ALTER TABLE sales_range SPLIT PARTITION sales_feb_mar_apr2022 INTO - (PARTITION sales_feb2022 FOR VALUES FROM ('2022-02-01') TO ('2022-03-01'), - PARTITION sales_mar2022 FOR VALUES FROM ('2022-03-01') TO ('2022-04-01'), - PARTITION sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-05-01')); - -SELECT * FROM sales_range; -SELECT * FROM sales_jan2022; -SELECT * FROM sales_feb2022; -SELECT * FROM sales_mar2022; -SELECT * FROM sales_apr2022; -SELECT * FROM sales_others; - -DROP TABLE sales_range CASCADE; - --- --- Add split partition, then add rows into partitioned table --- -CREATE TABLE sales_range (salesperson_id INT, salesperson_name VARCHAR(30), sales_amount INT, sales_date DATE) PARTITION BY RANGE (sales_date); -CREATE TABLE sales_jan2022 PARTITION OF sales_range FOR VALUES FROM ('2022-01-01') TO ('2022-02-01'); -CREATE TABLE sales_feb_mar_apr2022 PARTITION OF sales_range FOR VALUES FROM ('2022-02-01') TO ('2022-05-01'); -CREATE TABLE sales_others PARTITION OF sales_range DEFAULT; - --- Split partition, also check schema qualification of new partitions -ALTER TABLE sales_range SPLIT PARTITION sales_feb_mar_apr2022 INTO - (PARTITION partition_split_schema.sales_feb2022 FOR VALUES FROM ('2022-02-01') TO ('2022-03-01'), - PARTITION partition_split_schema2.sales_mar2022 FOR VALUES FROM ('2022-03-01') TO ('2022-04-01'), - PARTITION sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-05-01')); -\d+ sales_range - -INSERT INTO sales_range VALUES (1, 'May', 1000, '2022-01-31'); -INSERT INTO sales_range VALUES (2, 'Smirnoff', 500, '2022-02-10'); -INSERT INTO sales_range VALUES (3, 'Ford', 2000, '2022-04-30'); -INSERT INTO sales_range VALUES (4, 'Ivanov', 750, '2022-04-13'); -INSERT INTO sales_range VALUES (5, 'Deev', 250, '2022-04-07'); -INSERT INTO sales_range VALUES (6, 'Poirot', 150, '2022-02-11'); -INSERT INTO sales_range VALUES (7, 'Li', 175, '2022-03-08'); -INSERT INTO sales_range VALUES (8, 'Ericsson', 185, '2022-02-23'); -INSERT INTO sales_range VALUES (9, 'Muller', 250, '2022-03-11'); -INSERT INTO sales_range VALUES (10, 'Halder', 350, '2022-01-28'); -INSERT INTO sales_range VALUES (11, 'Trump', 380, '2022-04-06'); -INSERT INTO sales_range VALUES (12, 'Plato', 350, '2022-03-19'); -INSERT INTO sales_range VALUES (13, 'Gandi', 377, '2022-01-09'); -INSERT INTO sales_range VALUES (14, 'Smith', 510, '2022-05-04'); - -SELECT * FROM sales_range; -SELECT * FROM sales_jan2022; -SELECT * FROM sales_feb2022; -SELECT * FROM partition_split_schema2.sales_mar2022; -SELECT * FROM sales_apr2022; -SELECT * FROM sales_others; - -DROP TABLE sales_range CASCADE; - --- --- Test for: --- * composite partition key; --- * GENERATED column; --- * column with DEFAULT value. --- -CREATE TABLE sales_date (salesperson_name VARCHAR(30), sales_year INT, sales_month INT, sales_day INT, - sales_date VARCHAR(10) GENERATED ALWAYS AS - (LPAD(sales_year::text, 4, '0') || '.' || LPAD(sales_month::text, 2, '0') || '.' || LPAD(sales_day::text, 2, '0')) STORED, - sales_department VARCHAR(30) DEFAULT 'Sales department') - PARTITION BY RANGE (sales_year, sales_month, sales_day); - -CREATE TABLE sales_dec2022 PARTITION OF sales_date FOR VALUES FROM (2021, 12, 1) TO (2022, 1, 1); -CREATE TABLE sales_jan_feb2022 PARTITION OF sales_date FOR VALUES FROM (2022, 1, 1) TO (2022, 3, 1); -CREATE TABLE sales_other PARTITION OF sales_date FOR VALUES FROM (2022, 3, 1) TO (MAXVALUE, MAXVALUE, MAXVALUE); - -INSERT INTO sales_date(salesperson_name, sales_year, sales_month, sales_day) VALUES ('Manager1', 2021, 12, 7); -INSERT INTO sales_date(salesperson_name, sales_year, sales_month, sales_day) VALUES ('Manager2', 2021, 12, 8); -INSERT INTO sales_date(salesperson_name, sales_year, sales_month, sales_day) VALUES ('Manager3', 2022, 1, 1); -INSERT INTO sales_date(salesperson_name, sales_year, sales_month, sales_day) VALUES ('Manager1', 2022, 2, 4); -INSERT INTO sales_date(salesperson_name, sales_year, sales_month, sales_day) VALUES ('Manager2', 2022, 1, 2); -INSERT INTO sales_date(salesperson_name, sales_year, sales_month, sales_day) VALUES ('Manager3', 2022, 2, 1); -INSERT INTO sales_date(salesperson_name, sales_year, sales_month, sales_day) VALUES ('Manager1', 2022, 3, 3); -INSERT INTO sales_date(salesperson_name, sales_year, sales_month, sales_day) VALUES ('Manager2', 2022, 3, 4); -INSERT INTO sales_date(salesperson_name, sales_year, sales_month, sales_day) VALUES ('Manager3', 2022, 5, 1); - -SELECT * FROM sales_date; -SELECT * FROM sales_dec2022; -SELECT * FROM sales_jan_feb2022; -SELECT * FROM sales_other; - -ALTER TABLE sales_date SPLIT PARTITION sales_jan_feb2022 INTO - (PARTITION sales_jan2022 FOR VALUES FROM (2022, 1, 1) TO (2022, 2, 1), - PARTITION sales_feb2022 FOR VALUES FROM (2022, 2, 1) TO (2022, 3, 1)); - -INSERT INTO sales_date(salesperson_name, sales_year, sales_month, sales_day) VALUES ('Manager1', 2022, 1, 10); -INSERT INTO sales_date(salesperson_name, sales_year, sales_month, sales_day) VALUES ('Manager2', 2022, 2, 10); - -SELECT * FROM sales_date; -SELECT * FROM sales_dec2022; -SELECT * FROM sales_jan2022; -SELECT * FROM sales_feb2022; -SELECT * FROM sales_other; - ---ERROR: relation "sales_jan_feb2022" does not exist -SELECT * FROM sales_jan_feb2022; - -DROP TABLE sales_date CASCADE; - --- --- Test: split DEFAULT partition; use an index on partition key; check index after split --- -CREATE TABLE sales_range (salesperson_id INT, salesperson_name VARCHAR(30), sales_amount INT, sales_date DATE) PARTITION BY RANGE (sales_date); -CREATE TABLE sales_jan2022 PARTITION OF sales_range FOR VALUES FROM ('2022-01-01') TO ('2022-02-01'); -CREATE TABLE sales_others PARTITION OF sales_range DEFAULT; -CREATE INDEX sales_range_sales_date_idx ON sales_range USING btree (sales_date); - -INSERT INTO sales_range VALUES (1, 'May', 1000, '2022-01-31'); -INSERT INTO sales_range VALUES (2, 'Smirnoff', 500, '2022-02-10'); -INSERT INTO sales_range VALUES (3, 'Ford', 2000, '2022-04-30'); -INSERT INTO sales_range VALUES (4, 'Ivanov', 750, '2022-04-13'); -INSERT INTO sales_range VALUES (5, 'Deev', 250, '2022-04-07'); -INSERT INTO sales_range VALUES (6, 'Poirot', 150, '2022-02-11'); -INSERT INTO sales_range VALUES (7, 'Li', 175, '2022-03-08'); -INSERT INTO sales_range VALUES (8, 'Ericsson', 185, '2022-02-23'); -INSERT INTO sales_range VALUES (9, 'Muller', 250, '2022-03-11'); -INSERT INTO sales_range VALUES (10, 'Halder', 350, '2022-01-28'); -INSERT INTO sales_range VALUES (11, 'Trump', 380, '2022-04-06'); -INSERT INTO sales_range VALUES (12, 'Plato', 350, '2022-03-19'); -INSERT INTO sales_range VALUES (13, 'Gandi', 377, '2022-01-09'); -INSERT INTO sales_range VALUES (14, 'Smith', 510, '2022-05-04'); - -SELECT * FROM sales_others; -SELECT * FROM pg_indexes WHERE tablename = 'sales_others' and schemaname = 'partition_split_schema' ORDER BY indexname; - -ALTER TABLE sales_range SPLIT PARTITION sales_others INTO - (PARTITION sales_feb2022 FOR VALUES FROM ('2022-02-01') TO ('2022-03-01'), - PARTITION sales_mar2022 FOR VALUES FROM ('2022-03-01') TO ('2022-04-01'), - PARTITION sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-05-01'), - PARTITION sales_others DEFAULT); - --- Use indexscan for testing indexes -SET enable_indexscan = ON; -SET enable_seqscan = OFF; - -SELECT * FROM sales_feb2022 where sales_date > '2022-01-01'; -SELECT * FROM sales_mar2022 where sales_date > '2022-01-01'; -SELECT * FROM sales_apr2022 where sales_date > '2022-01-01'; -SELECT * FROM sales_others where sales_date > '2022-01-01'; - -SET enable_indexscan = ON; -SET enable_seqscan = ON; - -SELECT * FROM pg_indexes WHERE tablename = 'sales_feb2022' and schemaname = 'partition_split_schema' ORDER BY indexname; -SELECT * FROM pg_indexes WHERE tablename = 'sales_mar2022' and schemaname = 'partition_split_schema' ORDER BY indexname; -SELECT * FROM pg_indexes WHERE tablename = 'sales_apr2022' and schemaname = 'partition_split_schema' ORDER BY indexname; -SELECT * FROM pg_indexes WHERE tablename = 'sales_others' and schemaname = 'partition_split_schema' ORDER BY indexname; - -DROP TABLE sales_range CASCADE; - --- --- Test: some cases for splitting DEFAULT partition (different bounds) --- -CREATE TABLE sales_range (salesperson_id INT, salesperson_name VARCHAR(30), sales_amount INT, sales_date INT) PARTITION BY RANGE (sales_date); -CREATE TABLE sales_others PARTITION OF sales_range DEFAULT; - --- sales_error intersects with sales_dec2022 (lower bound) --- ERROR: lower bound of partition "sales_error" conflicts with upper bound of previous partition "sales_dec2022" -ALTER TABLE sales_range SPLIT PARTITION sales_others INTO - (PARTITION sales_dec2022 FOR VALUES FROM (20211201) TO (20220101), - PARTITION sales_error FOR VALUES FROM (20211230) TO (20220201), - PARTITION sales_feb2022 FOR VALUES FROM (20220201) TO (20220301), - PARTITION sales_others DEFAULT); - --- sales_error intersects with sales_feb2022 (upper bound) --- ERROR: lower bound of partition "sales_feb2022" conflicts with upper bound of previous partition "sales_error" -ALTER TABLE sales_range SPLIT PARTITION sales_others INTO - (PARTITION sales_dec2022 FOR VALUES FROM (20211201) TO (20220101), - PARTITION sales_error FOR VALUES FROM (20220101) TO (20220202), - PARTITION sales_feb2022 FOR VALUES FROM (20220201) TO (20220301), - PARTITION sales_others DEFAULT); - --- sales_error intersects with sales_dec2022 (inside bound) --- ERROR: lower bound of partition "sales_error" conflicts with upper bound of previous partition "sales_dec2022" -ALTER TABLE sales_range SPLIT PARTITION sales_others INTO - (PARTITION sales_dec2022 FOR VALUES FROM (20211201) TO (20220101), - PARTITION sales_error FOR VALUES FROM (20211210) TO (20211220), - PARTITION sales_feb2022 FOR VALUES FROM (20220201) TO (20220301), - PARTITION sales_others DEFAULT); - --- sales_error intersects with sales_dec2022 (exactly the same bounds) --- ERROR: lower bound of partition "sales_error" conflicts with upper bound of previous partition "sales_dec2022" -ALTER TABLE sales_range SPLIT PARTITION sales_others INTO - (PARTITION sales_dec2022 FOR VALUES FROM (20211201) TO (20220101), - PARTITION sales_error FOR VALUES FROM (20211201) TO (20220101), - PARTITION sales_feb2022 FOR VALUES FROM (20220201) TO (20220301), - PARTITION sales_others DEFAULT); - --- ERROR: all partitions in the list should be DEFAULT because split partition is DEFAULT -ALTER TABLE sales_range SPLIT PARTITION sales_others INTO - (PARTITION sales_dec2022 FOR VALUES FROM (20211201) TO (20220101), - PARTITION sales_jan2022 FOR VALUES FROM (20220101) TO (20220201), - PARTITION sales_feb2022 FOR VALUES FROM (20220201) TO (20220301)); - --- no error: bounds of sales_noerror are between sales_dec2022 and sales_feb2022 -ALTER TABLE sales_range SPLIT PARTITION sales_others INTO - (PARTITION sales_dec2022 FOR VALUES FROM (20211201) TO (20220101), - PARTITION sales_noerror FOR VALUES FROM (20220110) TO (20220120), - PARTITION sales_feb2022 FOR VALUES FROM (20220201) TO (20220301), - PARTITION sales_others DEFAULT); - -DROP TABLE sales_range; - -CREATE TABLE sales_range (salesperson_id INT, salesperson_name VARCHAR(30), sales_amount INT, sales_date INT) PARTITION BY RANGE (sales_date); -CREATE TABLE sales_others PARTITION OF sales_range DEFAULT; - --- no error: bounds of sales_noerror are equal to lower and upper bounds of sales_dec2022 and sales_feb2022 -ALTER TABLE sales_range SPLIT PARTITION sales_others INTO - (PARTITION sales_dec2022 FOR VALUES FROM (20211201) TO (20220101), - PARTITION sales_noerror FOR VALUES FROM (20210101) TO (20210201), - PARTITION sales_feb2022 FOR VALUES FROM (20220201) TO (20220301), - PARTITION sales_others DEFAULT); - -DROP TABLE sales_range; - --- --- Test: split partition with CHECK and FOREIGN KEY CONSTRAINTs on partitioned table --- -CREATE TABLE salespeople(salesperson_id INT PRIMARY KEY, salesperson_name VARCHAR(30)); -INSERT INTO salespeople VALUES (1, 'Poirot'); - -CREATE TABLE sales_range ( -salesperson_id INT REFERENCES salespeople(salesperson_id), -sales_amount INT CHECK (sales_amount > 1), -sales_date DATE) PARTITION BY RANGE (sales_date); - -CREATE TABLE sales_jan2022 PARTITION OF sales_range FOR VALUES FROM ('2022-01-01') TO ('2022-02-01'); -CREATE TABLE sales_feb_mar_apr2022 PARTITION OF sales_range FOR VALUES FROM ('2022-02-01') TO ('2022-05-01'); -CREATE TABLE sales_others PARTITION OF sales_range DEFAULT; - -SELECT pg_get_constraintdef(oid), conname, conkey FROM pg_constraint WHERE conrelid = 'sales_feb_mar_apr2022'::regclass::oid ORDER BY conname; - -ALTER TABLE sales_range SPLIT PARTITION sales_feb_mar_apr2022 INTO - (PARTITION sales_feb2022 FOR VALUES FROM ('2022-02-01') TO ('2022-03-01'), - PARTITION sales_mar2022 FOR VALUES FROM ('2022-03-01') TO ('2022-04-01'), - PARTITION sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-05-01')); - --- We should see the same CONSTRAINTs as on sales_feb_mar_apr2022 partition -SELECT pg_get_constraintdef(oid), conname, conkey FROM pg_constraint WHERE conrelid = 'sales_feb2022'::regclass::oid ORDER BY conname;; -SELECT pg_get_constraintdef(oid), conname, conkey FROM pg_constraint WHERE conrelid = 'sales_mar2022'::regclass::oid ORDER BY conname;; -SELECT pg_get_constraintdef(oid), conname, conkey FROM pg_constraint WHERE conrelid = 'sales_apr2022'::regclass::oid ORDER BY conname;; - --- ERROR: new row for relation "sales_mar2022" violates check constraint "sales_range_sales_amount_check" -INSERT INTO sales_range VALUES (1, 0, '2022-03-11'); --- ERROR: insert or update on table "sales_mar2022" violates foreign key constraint "sales_range_salesperson_id_fkey" -INSERT INTO sales_range VALUES (-1, 10, '2022-03-11'); --- ok -INSERT INTO sales_range VALUES (1, 10, '2022-03-11'); - -DROP TABLE sales_range CASCADE; -DROP TABLE salespeople CASCADE; - --- --- Test: split partition on partitioned table in case of existing FOREIGN KEY reference from another table --- -CREATE TABLE salespeople(salesperson_id INT PRIMARY KEY, salesperson_name VARCHAR(30)) PARTITION BY RANGE (salesperson_id); -CREATE TABLE sales (salesperson_id INT REFERENCES salespeople(salesperson_id), sales_amount INT, sales_date DATE); - -CREATE TABLE salespeople01_10 PARTITION OF salespeople FOR VALUES FROM (1) TO (10); -CREATE TABLE salespeople10_40 PARTITION OF salespeople FOR VALUES FROM (10) TO (40); - -INSERT INTO salespeople VALUES (1, 'Poirot'); -INSERT INTO salespeople VALUES (10, 'May'); -INSERT INTO salespeople VALUES (19, 'Ivanov'); -INSERT INTO salespeople VALUES (20, 'Smirnoff'); -INSERT INTO salespeople VALUES (30, 'Ford'); - -INSERT INTO sales VALUES (1, 100, '2022-03-01'); -INSERT INTO sales VALUES (1, 110, '2022-03-02'); -INSERT INTO sales VALUES (10, 150, '2022-03-01'); -INSERT INTO sales VALUES (10, 90, '2022-03-03'); -INSERT INTO sales VALUES (19, 200, '2022-03-04'); -INSERT INTO sales VALUES (20, 50, '2022-03-12'); -INSERT INTO sales VALUES (20, 170, '2022-03-02'); -INSERT INTO sales VALUES (30, 30, '2022-03-04'); - -SELECT * FROM salespeople01_10; -SELECT * FROM salespeople10_40; - -ALTER TABLE salespeople SPLIT PARTITION salespeople10_40 INTO - (PARTITION salespeople10_20 FOR VALUES FROM (10) TO (20), - PARTITION salespeople20_30 FOR VALUES FROM (20) TO (30), - PARTITION salespeople30_40 FOR VALUES FROM (30) TO (40)); - -SELECT * FROM salespeople01_10; -SELECT * FROM salespeople10_20; -SELECT * FROM salespeople20_30; -SELECT * FROM salespeople30_40; - --- ERROR: insert or update on table "sales" violates foreign key constraint "sales_salesperson_id_fkey" -INSERT INTO sales VALUES (40, 50, '2022-03-04'); --- ok -INSERT INTO sales VALUES (30, 50, '2022-03-04'); - -DROP TABLE sales CASCADE; -DROP TABLE salespeople CASCADE; - --- --- Test: split partition of partitioned table with triggers --- -CREATE TABLE salespeople(salesperson_id INT PRIMARY KEY, salesperson_name VARCHAR(30)) PARTITION BY RANGE (salesperson_id); - -CREATE TABLE salespeople01_10 PARTITION OF salespeople FOR VALUES FROM (1) TO (10); -CREATE TABLE salespeople10_40 PARTITION OF salespeople FOR VALUES FROM (10) TO (40); - -INSERT INTO salespeople VALUES (1, 'Poirot'); - -CREATE OR REPLACE FUNCTION after_insert_row_trigger() RETURNS trigger LANGUAGE 'plpgsql' AS $BODY$ -BEGIN - RAISE NOTICE 'trigger(%) called: action = %, when = %, level = %', TG_ARGV[0], TG_OP, TG_WHEN, TG_LEVEL; - RETURN NULL; -END; -$BODY$; - -CREATE TRIGGER salespeople_after_insert_statement_trigger - AFTER INSERT - ON salespeople - FOR EACH STATEMENT - EXECUTE PROCEDURE after_insert_row_trigger('salespeople'); - -CREATE TRIGGER salespeople_after_insert_row_trigger - AFTER INSERT - ON salespeople - FOR EACH ROW - EXECUTE PROCEDURE after_insert_row_trigger('salespeople'); - --- 2 triggers should fire here (row + statement): -INSERT INTO salespeople VALUES (10, 'May'); --- 1 trigger should fire here (row): -INSERT INTO salespeople10_40 VALUES (19, 'Ivanov'); - -ALTER TABLE salespeople SPLIT PARTITION salespeople10_40 INTO - (PARTITION salespeople10_20 FOR VALUES FROM (10) TO (20), - PARTITION salespeople20_30 FOR VALUES FROM (20) TO (30), - PARTITION salespeople30_40 FOR VALUES FROM (30) TO (40)); - --- 2 triggers should fire here (row + statement): -INSERT INTO salespeople VALUES (20, 'Smirnoff'); --- 1 trigger should fire here (row): -INSERT INTO salespeople30_40 VALUES (30, 'Ford'); - -SELECT * FROM salespeople01_10; -SELECT * FROM salespeople10_20; -SELECT * FROM salespeople20_30; -SELECT * FROM salespeople30_40; - -DROP TABLE salespeople CASCADE; -DROP FUNCTION after_insert_row_trigger(); - --- --- Test: split partition witch identity column --- If split partition column is identity column, columns of new partitions are identity columns too. --- -CREATE TABLE salespeople(salesperson_id INT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, salesperson_name VARCHAR(30)) PARTITION BY RANGE (salesperson_id); - -CREATE TABLE salespeople1_2 PARTITION OF salespeople FOR VALUES FROM (1) TO (2); --- Create new partition with identity column: -CREATE TABLE salespeople2_5(salesperson_id INT NOT NULL, salesperson_name VARCHAR(30)); -ALTER TABLE salespeople ATTACH PARTITION salespeople2_5 FOR VALUES FROM (2) TO (5); - -INSERT INTO salespeople (salesperson_name) VALUES ('Poirot'); -INSERT INTO salespeople (salesperson_name) VALUES ('Ivanov'); - -SELECT attname, attidentity, attgenerated FROM pg_attribute WHERE attnum > 0 AND attrelid = 'salespeople'::regclass::oid ORDER BY attnum; -SELECT attname, attidentity, attgenerated FROM pg_attribute WHERE attnum > 0 AND attrelid = 'salespeople1_2'::regclass::oid ORDER BY attnum; --- Split partition has identity column: -SELECT attname, attidentity, attgenerated FROM pg_attribute WHERE attnum > 0 AND attrelid = 'salespeople2_5'::regclass::oid ORDER BY attnum; - -ALTER TABLE salespeople SPLIT PARTITION salespeople2_5 INTO - (PARTITION salespeople2_3 FOR VALUES FROM (2) TO (3), - PARTITION salespeople3_4 FOR VALUES FROM (3) TO (4), - PARTITION salespeople4_5 FOR VALUES FROM (4) TO (5)); - -INSERT INTO salespeople (salesperson_name) VALUES ('May'); -INSERT INTO salespeople (salesperson_name) VALUES ('Ford'); - -SELECT * FROM salespeople1_2; -SELECT * FROM salespeople2_3; -SELECT * FROM salespeople3_4; -SELECT * FROM salespeople4_5; - -SELECT attname, attidentity, attgenerated FROM pg_attribute WHERE attnum > 0 AND attrelid = 'salespeople'::regclass::oid ORDER BY attnum; -SELECT attname, attidentity, attgenerated FROM pg_attribute WHERE attnum > 0 AND attrelid = 'salespeople1_2'::regclass::oid ORDER BY attnum; --- New partitions have identity-columns: -SELECT attname, attidentity, attgenerated FROM pg_attribute WHERE attnum > 0 AND attrelid = 'salespeople2_3'::regclass::oid ORDER BY attnum; -SELECT attname, attidentity, attgenerated FROM pg_attribute WHERE attnum > 0 AND attrelid = 'salespeople3_4'::regclass::oid ORDER BY attnum; -SELECT attname, attidentity, attgenerated FROM pg_attribute WHERE attnum > 0 AND attrelid = 'salespeople4_5'::regclass::oid ORDER BY attnum; - -DROP TABLE salespeople CASCADE; - --- --- Test: split partition with deleted columns --- -CREATE TABLE salespeople(salesperson_id INT PRIMARY KEY, salesperson_name VARCHAR(30)) PARTITION BY RANGE (salesperson_id); - -CREATE TABLE salespeople01_10 PARTITION OF salespeople FOR VALUES FROM (1) TO (10); --- Create new partition with some deleted columns: -CREATE TABLE salespeople10_40(d1 VARCHAR(30), salesperson_id INT PRIMARY KEY, d2 INT, d3 DATE, salesperson_name VARCHAR(30)); - -INSERT INTO salespeople10_40 VALUES ('dummy value 1', 19, 100, now(), 'Ivanov'); -INSERT INTO salespeople10_40 VALUES ('dummy value 2', 20, 101, now(), 'Smirnoff'); - -ALTER TABLE salespeople10_40 DROP COLUMN d1; -ALTER TABLE salespeople10_40 DROP COLUMN d2; -ALTER TABLE salespeople10_40 DROP COLUMN d3; - -ALTER TABLE salespeople ATTACH PARTITION salespeople10_40 FOR VALUES FROM (10) TO (40); - -INSERT INTO salespeople VALUES (1, 'Poirot'); -INSERT INTO salespeople VALUES (10, 'May'); -INSERT INTO salespeople VALUES (30, 'Ford'); - -ALTER TABLE salespeople SPLIT PARTITION salespeople10_40 INTO - (PARTITION salespeople10_20 FOR VALUES FROM (10) TO (20), - PARTITION salespeople20_30 FOR VALUES FROM (20) TO (30), - PARTITION salespeople30_40 FOR VALUES FROM (30) TO (40)); - -select * from salespeople01_10; -select * from salespeople10_20; -select * from salespeople20_30; -select * from salespeople30_40; - -DROP TABLE salespeople CASCADE; - --- --- Test: split sub-partition --- -CREATE TABLE sales_range (salesperson_id INT, salesperson_name VARCHAR(30), sales_amount INT, sales_date DATE) PARTITION BY RANGE (sales_date); -CREATE TABLE sales_jan2022 PARTITION OF sales_range FOR VALUES FROM ('2022-01-01') TO ('2022-02-01'); -CREATE TABLE sales_feb2022 PARTITION OF sales_range FOR VALUES FROM ('2022-02-01') TO ('2022-03-01'); -CREATE TABLE sales_mar2022 PARTITION OF sales_range FOR VALUES FROM ('2022-03-01') TO ('2022-04-01'); - -CREATE TABLE sales_apr2022 (salesperson_id INT, salesperson_name VARCHAR(30), sales_amount INT, sales_date DATE) PARTITION BY RANGE (sales_date); -CREATE TABLE sales_apr_all PARTITION OF sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-05-01'); -ALTER TABLE sales_range ATTACH PARTITION sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-05-01'); - -CREATE TABLE sales_others PARTITION OF sales_range DEFAULT; - -CREATE INDEX sales_range_sales_date_idx ON sales_range USING btree (sales_date); - -INSERT INTO sales_range VALUES (1, 'May', 1000, '2022-01-31'); -INSERT INTO sales_range VALUES (2, 'Smirnoff', 500, '2022-02-10'); -INSERT INTO sales_range VALUES (3, 'Ford', 2000, '2022-04-30'); -INSERT INTO sales_range VALUES (4, 'Ivanov', 750, '2022-04-13'); -INSERT INTO sales_range VALUES (5, 'Deev', 250, '2022-04-07'); -INSERT INTO sales_range VALUES (6, 'Poirot', 150, '2022-02-11'); -INSERT INTO sales_range VALUES (7, 'Li', 175, '2022-03-08'); -INSERT INTO sales_range VALUES (8, 'Ericsson', 185, '2022-02-23'); -INSERT INTO sales_range VALUES (9, 'Muller', 250, '2022-03-11'); -INSERT INTO sales_range VALUES (10, 'Halder', 350, '2022-01-28'); -INSERT INTO sales_range VALUES (11, 'Trump', 380, '2022-04-06'); -INSERT INTO sales_range VALUES (12, 'Plato', 350, '2022-03-19'); -INSERT INTO sales_range VALUES (13, 'Gandi', 377, '2022-01-09'); -INSERT INTO sales_range VALUES (14, 'Smith', 510, '2022-05-04'); - -SELECT * FROM sales_range; -SELECT * FROM sales_apr2022; - -ALTER TABLE sales_apr2022 SPLIT PARTITION sales_apr_all INTO - (PARTITION sales_apr2022_01_10 FOR VALUES FROM ('2022-04-01') TO ('2022-04-10'), - PARTITION sales_apr2022_10_20 FOR VALUES FROM ('2022-04-10') TO ('2022-04-20'), - PARTITION sales_apr2022_20_30 FOR VALUES FROM ('2022-04-20') TO ('2022-05-01')); - -SELECT * FROM sales_range; -SELECT * FROM sales_apr2022; -SELECT * FROM sales_apr2022_01_10; -SELECT * FROM sales_apr2022_10_20; -SELECT * FROM sales_apr2022_20_30; - -DROP TABLE sales_range; - --- --- BY LIST partitioning --- - --- --- Test: specific errors for BY LIST partitioning --- -CREATE TABLE sales_list -(salesperson_id INT, - salesperson_name VARCHAR(30), - sales_state VARCHAR(20), - sales_amount INT, - sales_date DATE) -PARTITION BY LIST (sales_state); - -CREATE TABLE sales_nord PARTITION OF sales_list FOR VALUES IN ('Oslo', 'St. Petersburg', 'Helsinki'); -CREATE TABLE sales_all PARTITION OF sales_list FOR VALUES IN ('Warsaw', 'Lisbon', 'New York', 'Madrid', 'Bejing', 'Berlin', 'Delhi', 'Kyiv', 'Vladivostok'); -CREATE TABLE sales_others PARTITION OF sales_list DEFAULT; - --- ERROR: new partition "sales_east" would overlap with another (not split) partition "sales_nord" -ALTER TABLE sales_list SPLIT PARTITION sales_all INTO - (PARTITION sales_west FOR VALUES IN ('Lisbon', 'New York', 'Madrid'), - PARTITION sales_east FOR VALUES IN ('Bejing', 'Delhi', 'Vladivostok', 'Helsinki'), - PARTITION sales_central FOR VALUES IN ('Warsaw', 'Berlin', 'Kyiv')); - --- ERROR: new partition "sales_west" would overlap with another new partition "sales_central" -ALTER TABLE sales_list SPLIT PARTITION sales_all INTO - (PARTITION sales_west FOR VALUES IN ('Lisbon', 'New York', 'Madrid'), - PARTITION sales_east FOR VALUES IN ('Bejing', 'Delhi', 'Vladivostok'), - PARTITION sales_central FOR VALUES IN ('Warsaw', 'Berlin', 'Lisbon', 'Kyiv')); - --- ERROR: new partition "sales_west" cannot have NULL value because split partition does not have -ALTER TABLE sales_list SPLIT PARTITION sales_all INTO - (PARTITION sales_west FOR VALUES IN ('Lisbon', 'New York', 'Madrid', NULL), - PARTITION sales_east FOR VALUES IN ('Bejing', 'Delhi', 'Vladivostok'), - PARTITION sales_central FOR VALUES IN ('Warsaw', 'Berlin', 'Kyiv')); - -DROP TABLE sales_list; - --- --- Test: two specific errors for BY LIST partitioning: --- * new partitions do not have NULL value, which split partition has. --- * new partitions do not have a value that split partition has. --- -CREATE TABLE sales_list -(salesperson_id INT, - salesperson_name VARCHAR(30), - sales_state VARCHAR(20), - sales_amount INT, - sales_date DATE) -PARTITION BY LIST (sales_state); - -CREATE TABLE sales_nord PARTITION OF sales_list FOR VALUES IN ('Helsinki', 'St. Petersburg', 'Oslo'); -CREATE TABLE sales_all PARTITION OF sales_list FOR VALUES IN ('Warsaw', 'Lisbon', 'New York', 'Madrid', 'Bejing', 'Berlin', 'Delhi', 'Kyiv', 'Vladivostok', NULL); - --- ERROR: new partitions do not have value NULL but split partition does -ALTER TABLE sales_list SPLIT PARTITION sales_all INTO - (PARTITION sales_west FOR VALUES IN ('Lisbon', 'New York', 'Madrid'), - PARTITION sales_east FOR VALUES IN ('Bejing', 'Delhi', 'Vladivostok'), - PARTITION sales_central FOR VALUES IN ('Warsaw', 'Berlin', 'Kyiv')); - --- ERROR: new partitions do not have value 'Kyiv' but split partition does -ALTER TABLE sales_list SPLIT PARTITION sales_all INTO - (PARTITION sales_west FOR VALUES IN ('Lisbon', 'New York', 'Madrid'), - PARTITION sales_east FOR VALUES IN ('Bejing', 'Delhi', 'Vladivostok'), - PARTITION sales_central FOR VALUES IN ('Warsaw', 'Berlin', NULL)); - -DROP TABLE sales_list; - --- --- Test: BY LIST partitioning, SPLIT PARTITION with data --- -CREATE TABLE sales_list -(salesperson_id SERIAL, - salesperson_name VARCHAR(30), - sales_state VARCHAR(20), - sales_amount INT, - sales_date DATE) -PARTITION BY LIST (sales_state); - -CREATE INDEX sales_list_salesperson_name_idx ON sales_list USING btree (salesperson_name); -CREATE INDEX sales_list_sales_state_idx ON sales_list USING btree (sales_state); - -CREATE TABLE sales_nord PARTITION OF sales_list FOR VALUES IN ('Helsinki', 'St. Petersburg', 'Oslo'); -CREATE TABLE sales_all PARTITION OF sales_list FOR VALUES IN ('Warsaw', 'Lisbon', 'New York', 'Madrid', 'Bejing', 'Berlin', 'Delhi', 'Kyiv', 'Vladivostok'); -CREATE TABLE sales_others PARTITION OF sales_list DEFAULT; - -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('Trump', 'Bejing', 1000, '2022-03-01'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('Smirnoff', 'New York', 500, '2022-03-03'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('Ford', 'St. Petersburg', 2000, '2022-03-05'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('Ivanov', 'Warsaw', 750, '2022-03-04'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('Deev', 'Lisbon', 250, '2022-03-07'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('Poirot', 'Berlin', 1000, '2022-03-01'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('May', 'Oslo', 1200, '2022-03-06'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('Li', 'Vladivostok', 1150, '2022-03-09'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('May', 'Oslo', 1200, '2022-03-11'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('Halder', 'Helsinki', 800, '2022-03-02'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('Muller', 'Madrid', 650, '2022-03-05'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('Smith', 'Kyiv', 350, '2022-03-10'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('Gandi', 'Warsaw', 150, '2022-03-08'); -INSERT INTO sales_list (salesperson_name, sales_state, sales_amount, sales_date) VALUES ('Plato', 'Lisbon', 950, '2022-03-05'); - -ALTER TABLE sales_list SPLIT PARTITION sales_all INTO - (PARTITION sales_west FOR VALUES IN ('Lisbon', 'New York', 'Madrid'), - PARTITION sales_east FOR VALUES IN ('Bejing', 'Delhi', 'Vladivostok'), - PARTITION sales_central FOR VALUES IN ('Warsaw', 'Berlin', 'Kyiv')); - -SELECT * FROM sales_list; -SELECT * FROM sales_west; -SELECT * FROM sales_east; -SELECT * FROM sales_nord; -SELECT * FROM sales_central; - --- Use indexscan for testing indexes after splitting partition -SET enable_indexscan = ON; -SET enable_seqscan = OFF; - -SELECT * FROM sales_central WHERE sales_state = 'Warsaw'; -SELECT * FROM sales_list WHERE sales_state = 'Warsaw'; -SELECT * FROM sales_list WHERE salesperson_name = 'Ivanov'; - -SET enable_indexscan = ON; -SET enable_seqscan = ON; - -DROP TABLE sales_list; - --- --- Test for: --- * split DEFAULT partition to partitions with spaces between bounds; --- * random order of partitions in SPLIT PARTITION command. --- -CREATE TABLE sales_range (salesperson_id INT, salesperson_name VARCHAR(30), sales_amount INT, sales_date DATE) PARTITION BY RANGE (sales_date); -CREATE TABLE sales_others PARTITION OF sales_range DEFAULT; - -INSERT INTO sales_range VALUES (1, 'May', 1000, '2022-01-31'); -INSERT INTO sales_range VALUES (2, 'Smirnoff', 500, '2022-02-09'); -INSERT INTO sales_range VALUES (3, 'Ford', 2000, '2022-04-30'); -INSERT INTO sales_range VALUES (4, 'Ivanov', 750, '2022-04-13'); -INSERT INTO sales_range VALUES (5, 'Deev', 250, '2022-04-07'); -INSERT INTO sales_range VALUES (6, 'Poirot', 150, '2022-02-07'); -INSERT INTO sales_range VALUES (7, 'Li', 175, '2022-03-08'); -INSERT INTO sales_range VALUES (8, 'Ericsson', 185, '2022-02-23'); -INSERT INTO sales_range VALUES (9, 'Muller', 250, '2022-03-11'); -INSERT INTO sales_range VALUES (10, 'Halder', 350, '2022-01-28'); -INSERT INTO sales_range VALUES (11, 'Trump', 380, '2022-04-06'); -INSERT INTO sales_range VALUES (12, 'Plato', 350, '2022-03-19'); -INSERT INTO sales_range VALUES (13, 'Gandi', 377, '2022-01-09'); -INSERT INTO sales_range VALUES (14, 'Smith', 510, '2022-05-04'); - -ALTER TABLE sales_range SPLIT PARTITION sales_others INTO - (PARTITION sales_others DEFAULT, - PARTITION sales_mar2022_1decade FOR VALUES FROM ('2022-03-01') TO ('2022-03-10'), - PARTITION sales_jan2022_1decade FOR VALUES FROM ('2022-01-01') TO ('2022-01-10'), - PARTITION sales_feb2022_1decade FOR VALUES FROM ('2022-02-01') TO ('2022-02-10'), - PARTITION sales_apr2022_1decade FOR VALUES FROM ('2022-04-01') TO ('2022-04-10')); - -SELECT * FROM sales_jan2022_1decade; -SELECT * FROM sales_feb2022_1decade; -SELECT * FROM sales_mar2022_1decade; -SELECT * FROM sales_apr2022_1decade; -SELECT * FROM sales_others; - -DROP TABLE sales_range; - --- --- Test for: --- * split non-DEFAULT partition to partitions with spaces between bounds; --- * random order of partitions in SPLIT PARTITION command. --- -CREATE TABLE sales_range (salesperson_id INT, salesperson_name VARCHAR(30), sales_amount INT, sales_date DATE) PARTITION BY RANGE (sales_date); -CREATE TABLE sales_all PARTITION OF sales_range FOR VALUES FROM ('2022-01-01') TO ('2022-05-01'); -CREATE TABLE sales_others PARTITION OF sales_range DEFAULT; - -INSERT INTO sales_range VALUES (1, 'May', 1000, '2022-01-31'); -INSERT INTO sales_range VALUES (2, 'Smirnoff', 500, '2022-02-09'); -INSERT INTO sales_range VALUES (3, 'Ford', 2000, '2022-04-30'); -INSERT INTO sales_range VALUES (4, 'Ivanov', 750, '2022-04-13'); -INSERT INTO sales_range VALUES (5, 'Deev', 250, '2022-04-07'); -INSERT INTO sales_range VALUES (6, 'Poirot', 150, '2022-02-07'); -INSERT INTO sales_range VALUES (7, 'Li', 175, '2022-03-08'); -INSERT INTO sales_range VALUES (8, 'Ericsson', 185, '2022-02-23'); -INSERT INTO sales_range VALUES (9, 'Muller', 250, '2022-03-11'); -INSERT INTO sales_range VALUES (10, 'Halder', 350, '2022-01-28'); -INSERT INTO sales_range VALUES (11, 'Trump', 380, '2022-04-06'); -INSERT INTO sales_range VALUES (12, 'Plato', 350, '2022-03-19'); -INSERT INTO sales_range VALUES (13, 'Gandi', 377, '2022-01-09'); -INSERT INTO sales_range VALUES (14, 'Smith', 510, '2022-05-04'); - -ALTER TABLE sales_range SPLIT PARTITION sales_all INTO - (PARTITION sales_mar2022_1decade FOR VALUES FROM ('2022-03-01') TO ('2022-03-10'), - PARTITION sales_jan2022_1decade FOR VALUES FROM ('2022-01-01') TO ('2022-01-10'), - PARTITION sales_feb2022_1decade FOR VALUES FROM ('2022-02-01') TO ('2022-02-10'), - PARTITION sales_apr2022_1decade FOR VALUES FROM ('2022-04-01') TO ('2022-04-10')); - -SELECT * FROM sales_jan2022_1decade; -SELECT * FROM sales_feb2022_1decade; -SELECT * FROM sales_mar2022_1decade; -SELECT * FROM sales_apr2022_1decade; -SELECT * FROM sales_others; - -DROP TABLE sales_range; - --- --- Test for split non-DEFAULT partition to DEFAULT partition + partitions --- with spaces between bounds. --- -CREATE TABLE sales_range (salesperson_id INT, salesperson_name VARCHAR(30), sales_amount INT, sales_date DATE) PARTITION BY RANGE (sales_date); -CREATE TABLE sales_jan2022 PARTITION OF sales_range FOR VALUES FROM ('2022-01-01') TO ('2022-02-01'); -CREATE TABLE sales_all PARTITION OF sales_range FOR VALUES FROM ('2022-02-01') TO ('2022-05-01'); - -INSERT INTO sales_range VALUES (1, 'May', 1000, '2022-01-31'); -INSERT INTO sales_range VALUES (2, 'Smirnoff', 500, '2022-02-10'); -INSERT INTO sales_range VALUES (3, 'Ford', 2000, '2022-04-30'); -INSERT INTO sales_range VALUES (4, 'Ivanov', 750, '2022-04-13'); -INSERT INTO sales_range VALUES (5, 'Deev', 250, '2022-04-07'); -INSERT INTO sales_range VALUES (6, 'Poirot', 150, '2022-02-11'); -INSERT INTO sales_range VALUES (7, 'Li', 175, '2022-03-08'); -INSERT INTO sales_range VALUES (8, 'Ericsson', 185, '2022-02-23'); -INSERT INTO sales_range VALUES (9, 'Muller', 250, '2022-03-11'); -INSERT INTO sales_range VALUES (10, 'Halder', 350, '2022-01-28'); -INSERT INTO sales_range VALUES (11, 'Trump', 380, '2022-04-06'); -INSERT INTO sales_range VALUES (12, 'Plato', 350, '2022-03-19'); -INSERT INTO sales_range VALUES (13, 'Gandi', 377, '2022-01-09'); - -ALTER TABLE sales_range SPLIT PARTITION sales_all INTO - (PARTITION sales_apr2022 FOR VALUES FROM ('2022-04-01') TO ('2022-05-01'), - PARTITION sales_feb2022 FOR VALUES FROM ('2022-02-01') TO ('2022-03-01'), - PARTITION sales_others DEFAULT); - -INSERT INTO sales_range VALUES (14, 'Smith', 510, '2022-05-04'); - -SELECT * FROM sales_range; -SELECT * FROM sales_jan2022; -SELECT * FROM sales_feb2022; -SELECT * FROM sales_apr2022; -SELECT * FROM sales_others; - -DROP TABLE sales_range; - --- --- Try to SPLIT partition of another table. --- -CREATE TABLE t1(i int, t text) PARTITION BY LIST (t); -CREATE TABLE t1pa PARTITION OF t1 FOR VALUES IN ('A'); -CREATE TABLE t2 (i int, t text) PARTITION BY RANGE (t); - --- ERROR: relation "t1pa" is not a partition of relation "t2" -ALTER TABLE t2 SPLIT PARTITION t1pa INTO - (PARTITION t2a FOR VALUES FROM ('A') TO ('B'), - PARTITION t2b FOR VALUES FROM ('B') TO ('C')); - -DROP TABLE t2; -DROP TABLE t1; - --- --- Try to SPLIT partition of temporary table. --- -CREATE TEMP TABLE t (i int) PARTITION BY RANGE (i); -CREATE TEMP TABLE tp_0_2 PARTITION OF t FOR VALUES FROM (0) TO (2); - -SELECT c.oid::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), c.relpersistence - FROM pg_catalog.pg_class c, pg_catalog.pg_inherits i - WHERE c.oid = i.inhrelid AND i.inhparent = 't'::regclass - ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; - -ALTER TABLE t SPLIT PARTITION tp_0_2 INTO - (PARTITION tp_0_1 FOR VALUES FROM (0) TO (1), - PARTITION tp_1_2 FOR VALUES FROM (1) TO (2)); - --- Partitions should be temporary. -SELECT c.oid::pg_catalog.regclass, pg_catalog.pg_get_expr(c.relpartbound, c.oid), c.relpersistence - FROM pg_catalog.pg_class c, pg_catalog.pg_inherits i - WHERE c.oid = i.inhrelid AND i.inhparent = 't'::regclass - ORDER BY pg_catalog.pg_get_expr(c.relpartbound, c.oid) = 'DEFAULT', c.oid::pg_catalog.regclass::pg_catalog.text; - -DROP TABLE t; - --- Check the new partitions inherit parent's tablespace -CREATE TABLE t (i int PRIMARY KEY USING INDEX TABLESPACE regress_tblspace) - PARTITION BY RANGE (i) TABLESPACE regress_tblspace; -CREATE TABLE tp_0_2 PARTITION OF t FOR VALUES FROM (0) TO (2); -ALTER TABLE t SPLIT PARTITION tp_0_2 INTO - (PARTITION tp_0_1 FOR VALUES FROM (0) TO (1), - PARTITION tp_1_2 FOR VALUES FROM (1) TO (2)); -SELECT tablename, tablespace FROM pg_tables - WHERE tablename IN ('t', 'tp_0_1', 'tp_1_2') AND schemaname = 'partition_split_schema' - ORDER BY tablename, tablespace; -SELECT tablename, indexname, tablespace FROM pg_indexes - WHERE tablename IN ('t', 'tp_0_1', 'tp_1_2') AND schemaname = 'partition_split_schema' - ORDER BY tablename, indexname, tablespace; -DROP TABLE t; - --- Check new partitions inherits parent's table access method -CREATE ACCESS METHOD partition_split_heap TYPE TABLE HANDLER heap_tableam_handler; -CREATE TABLE t (i int) PARTITION BY RANGE (i) USING partition_split_heap; -CREATE TABLE tp_0_2 PARTITION OF t FOR VALUES FROM (0) TO (2); -ALTER TABLE t SPLIT PARTITION tp_0_2 INTO - (PARTITION tp_0_1 FOR VALUES FROM (0) TO (1), - PARTITION tp_1_2 FOR VALUES FROM (1) TO (2)); -SELECT c.relname, a.amname -FROM pg_class c JOIN pg_am a ON c.relam = a.oid -WHERE c.oid IN ('t'::regclass, 'tp_0_1'::regclass, 'tp_1_2'::regclass) -ORDER BY c.relname; -DROP TABLE t; -DROP ACCESS METHOD partition_split_heap; - --- Test permission checks. The user needs to own the parent table and the --- the partition to split to do the split. -CREATE ROLE regress_partition_split_alice; -CREATE ROLE regress_partition_split_bob; -GRANT ALL ON SCHEMA partition_split_schema TO regress_partition_split_alice; -GRANT ALL ON SCHEMA partition_split_schema TO regress_partition_split_bob; - -SET SESSION AUTHORIZATION regress_partition_split_alice; -CREATE TABLE t (i int) PARTITION BY RANGE (i); -CREATE TABLE tp_0_2 PARTITION OF t FOR VALUES FROM (0) TO (2); - -SET SESSION AUTHORIZATION regress_partition_split_bob; -ALTER TABLE t SPLIT PARTITION tp_0_2 INTO - (PARTITION tp_0_1 FOR VALUES FROM (0) TO (1), - PARTITION tp_1_2 FOR VALUES FROM (1) TO (2)); -RESET SESSION AUTHORIZATION; - -ALTER TABLE t OWNER TO regress_partition_split_bob; -SET SESSION AUTHORIZATION regress_partition_split_bob; -ALTER TABLE t SPLIT PARTITION tp_0_2 INTO - (PARTITION tp_0_1 FOR VALUES FROM (0) TO (1), - PARTITION tp_1_2 FOR VALUES FROM (1) TO (2)); -RESET SESSION AUTHORIZATION; - -ALTER TABLE tp_0_2 OWNER TO regress_partition_split_bob; -SET SESSION AUTHORIZATION regress_partition_split_bob; -ALTER TABLE t SPLIT PARTITION tp_0_2 INTO - (PARTITION tp_0_1 FOR VALUES FROM (0) TO (1), - PARTITION tp_1_2 FOR VALUES FROM (1) TO (2)); -RESET SESSION AUTHORIZATION; - -DROP TABLE t; -REVOKE ALL ON SCHEMA partition_split_schema FROM regress_partition_split_alice; -REVOKE ALL ON SCHEMA partition_split_schema FROM regress_partition_split_bob; -DROP ROLE regress_partition_split_alice; -DROP ROLE regress_partition_split_bob; - --- Split partition of a temporary table when one of the partitions after --- split has the same name as the partition being split -CREATE TEMP TABLE t (a int) PARTITION BY RANGE (a); -CREATE TEMP TABLE tp_0 PARTITION OF t FOR VALUES FROM (0) TO (2); -ALTER TABLE t SPLIT PARTITION tp_0 INTO - (PARTITION tp_0 FOR VALUES FROM (0) TO (1), - PARTITION tp_1 FOR VALUES FROM (1) TO (2)); -DROP TABLE t; - -RESET search_path; - --- -DROP SCHEMA partition_split_schema; -DROP SCHEMA partition_split_schema2; diff --git a/src/test/regress/sql/privileges.sql b/src/test/regress/sql/privileges.sql index eeb4c002926..5880bc018de 100644 --- a/src/test/regress/sql/privileges.sql +++ b/src/test/regress/sql/privileges.sql @@ -124,6 +124,39 @@ SET ROLE pg_read_all_stats; -- fail, granted without SET option RESET ROLE; RESET SESSION AUTHORIZATION; + +-- test interaction of SET SESSION AUTHORIZATION and SET ROLE, +-- as well as propagation of these settings to parallel workers +GRANT regress_priv_user9 TO regress_priv_user8; + +SET SESSION AUTHORIZATION regress_priv_user8; +SET ROLE regress_priv_user9; +SET debug_parallel_query = 0; +SELECT session_user, current_role, current_user, current_setting('role') as role; +SET debug_parallel_query = 1; +SELECT session_user, current_role, current_user, current_setting('role') as role; + +BEGIN; +SET SESSION AUTHORIZATION regress_priv_user10; +SET debug_parallel_query = 0; +SELECT session_user, current_role, current_user, current_setting('role') as role; +SET debug_parallel_query = 1; +SELECT session_user, current_role, current_user, current_setting('role') as role; +ROLLBACK; +SET debug_parallel_query = 0; +SELECT session_user, current_role, current_user, current_setting('role') as role; +SET debug_parallel_query = 1; +SELECT session_user, current_role, current_user, current_setting('role') as role; + +RESET SESSION AUTHORIZATION; +-- session_user at this point is installation-dependent +SET debug_parallel_query = 0; +SELECT session_user = current_role as c_r_ok, session_user = current_user as c_u_ok, current_setting('role') as role; +SET debug_parallel_query = 1; +SELECT session_user = current_role as c_r_ok, session_user = current_user as c_u_ok, current_setting('role') as role; + +RESET debug_parallel_query; + REVOKE pg_read_all_settings FROM regress_priv_user8; DROP USER regress_priv_user10; diff --git a/src/test/regress/sql/rowsecurity.sql b/src/test/regress/sql/rowsecurity.sql index 3011d71b12b..eab7d99003e 100644 --- a/src/test/regress/sql/rowsecurity.sql +++ b/src/test/regress/sql/rowsecurity.sql @@ -2217,8 +2217,66 @@ execute q; set role regress_rls_bob; execute q; +-- make sure RLS dependencies in CTEs are handled +reset role; +create or replace function rls_f() returns setof rls_t + stable language sql + as $$ with cte as (select * from rls_t) select * from cte $$; +prepare r as select current_user, * from rls_f(); +set role regress_rls_alice; +execute r; +set role regress_rls_bob; +execute r; + +-- make sure RLS dependencies in subqueries are handled +reset role; +create or replace function rls_f() returns setof rls_t + stable language sql + as $$ select * from (select * from rls_t) _ $$; +prepare s as select current_user, * from rls_f(); +set role regress_rls_alice; +execute s; +set role regress_rls_bob; +execute s; + +-- make sure RLS dependencies in sublinks are handled +reset role; +create or replace function rls_f() returns setof rls_t + stable language sql + as $$ select exists(select * from rls_t)::text $$; +prepare t as select current_user, * from rls_f(); +set role regress_rls_alice; +execute t; +set role regress_rls_bob; +execute t; + +-- make sure RLS dependencies are handled when coercion projections are inserted +reset role; +create or replace function rls_f() returns setof rls_t + stable language sql + as $$ select * from (select array_agg(c) as cs from rls_t) _ group by cs $$; +prepare u as select current_user, * from rls_f(); +set role regress_rls_alice; +execute u; +set role regress_rls_bob; +execute u; + +-- make sure RLS dependencies in security invoker views are handled +reset role; +create view rls_v with (security_invoker) as select * from rls_t; +grant select on rls_v to regress_rls_alice, regress_rls_bob; +create or replace function rls_f() returns setof rls_t + stable language sql + as $$ select * from rls_v $$; +prepare v as select current_user, * from rls_f(); +set role regress_rls_alice; +execute v; +set role regress_rls_bob; +execute v; + RESET ROLE; DROP FUNCTION rls_f(); +DROP VIEW rls_v; DROP TABLE rls_t; -- diff --git a/src/test/regress/sql/rowtypes.sql b/src/test/regress/sql/rowtypes.sql index fd47dc9e0f6..174b062144a 100644 --- a/src/test/regress/sql/rowtypes.sql +++ b/src/test/regress/sql/rowtypes.sql @@ -520,6 +520,27 @@ where (select * from (select c as c1) s select pg_get_viewdef('composite_v', true); drop view composite_v; +-- +-- Check cases where the composite comes from a proven-dummy rel (bug #18576) +-- +explain (verbose, costs off) +select (ss.a).x, (ss.a).n from + (select information_schema._pg_expandarray(array[1,2]) AS a) ss; +explain (verbose, costs off) +select (ss.a).x, (ss.a).n from + (select information_schema._pg_expandarray(array[1,2]) AS a) ss +where false; + +explain (verbose, costs off) +with cte(c) as materialized (select row(1, 2)), + cte2(c) as (select * from cte) +select (c).f1 from cte2 as t; +explain (verbose, costs off) +with cte(c) as materialized (select row(1, 2)), + cte2(c) as (select * from cte) +select (c).f1 from cte2 as t +where false; + -- -- Tests for component access / FieldSelect -- diff --git a/src/test/regress/sql/select_parallel.sql b/src/test/regress/sql/select_parallel.sql index 20376c03fae..3e4bfcb71f0 100644 --- a/src/test/regress/sql/select_parallel.sql +++ b/src/test/regress/sql/select_parallel.sql @@ -496,3 +496,57 @@ SELECT 1 FROM tenk1_vw_sec WHERE (SELECT sum(f1) FROM int4_tbl WHERE f1 < unique1) < 100; rollback; + +-- test that function option SET ROLE works in parallel workers. +create role regress_parallel_worker; + +create function set_and_report_role() returns text as + $$ select current_setting('role') $$ language sql parallel safe + set role = regress_parallel_worker; + +create function set_role_and_error(int) returns int as + $$ select 1 / $1 $$ language sql parallel safe + set role = regress_parallel_worker; + +set debug_parallel_query = 0; +select set_and_report_role(); +select set_role_and_error(0); +set debug_parallel_query = 1; +select set_and_report_role(); +select set_role_and_error(0); +reset debug_parallel_query; + +drop function set_and_report_role(); +drop function set_role_and_error(int); +drop role regress_parallel_worker; + +-- don't freeze in ParallelFinish while holding an LWLock +BEGIN; + +CREATE FUNCTION my_cmp (int4, int4) +RETURNS int LANGUAGE sql AS +$$ + SELECT + CASE WHEN $1 < $2 THEN -1 + WHEN $1 > $2 THEN 1 + ELSE 0 + END; +$$; + +CREATE TABLE parallel_hang (i int4); +INSERT INTO parallel_hang + (SELECT * FROM generate_series(1, 400) gs); + +CREATE OPERATOR CLASS int4_custom_ops FOR TYPE int4 USING btree AS + OPERATOR 1 < (int4, int4), OPERATOR 2 <= (int4, int4), + OPERATOR 3 = (int4, int4), OPERATOR 4 >= (int4, int4), + OPERATOR 5 > (int4, int4), FUNCTION 1 my_cmp(int4, int4); + +CREATE UNIQUE INDEX parallel_hang_idx + ON parallel_hang + USING btree (i int4_custom_ops); + +SET debug_parallel_query = on; +DELETE FROM parallel_hang WHERE 380 <= i AND i <= 420; + +ROLLBACK; diff --git a/src/test/regress/sql/sequence.sql b/src/test/regress/sql/sequence.sql index 674f5f1f668..793f1415f6b 100644 --- a/src/test/regress/sql/sequence.sql +++ b/src/test/regress/sql/sequence.sql @@ -137,7 +137,7 @@ SELECT nextval('foo_seq_new'); SELECT nextval('foo_seq_new'); -- log_cnt can be higher if there is a checkpoint just at the right -- time, so just test for the expected range -SELECT last_value, log_cnt IN (31, 32) AS log_cnt_ok, is_called FROM foo_seq_new; +SELECT last_value, log_cnt IN (0, 31, 32) AS log_cnt_ok, is_called FROM foo_seq_new; DROP SEQUENCE foo_seq_new; -- renaming serial sequences diff --git a/src/test/regress/sql/sqljson.sql b/src/test/regress/sql/sqljson.sql index bb2487e8649..9b5d82602d0 100644 --- a/src/test/regress/sql/sqljson.sql +++ b/src/test/regress/sql/sqljson.sql @@ -138,6 +138,8 @@ SELECT JSON_OBJECT('a': '1', 'b': NULL, 'c': 2); SELECT JSON_OBJECT('a': '1', 'b': NULL, 'c': 2 NULL ON NULL); SELECT JSON_OBJECT('a': '1', 'b': NULL, 'c': 2 ABSENT ON NULL); +SELECT JSON_OBJECT(1: 1, '2': NULL, '3': 1, repeat('x', 1000): 1, 2: repeat('a', 100) WITH UNIQUE); + SELECT JSON_OBJECT(1: 1, '1': NULL WITH UNIQUE); SELECT JSON_OBJECT(1: 1, '1': NULL ABSENT ON NULL WITH UNIQUE); SELECT JSON_OBJECT(1: 1, '1': NULL NULL ON NULL WITH UNIQUE RETURNING jsonb); @@ -283,6 +285,9 @@ FROM (VALUES (1, 1), (1, NULL), (2, 2)) foo(k, v); SELECT JSON_OBJECTAGG(k: v ABSENT ON NULL WITH UNIQUE KEYS RETURNING jsonb) FROM (VALUES (1, 1), (0, NULL),(4, null), (5, null),(6, null),(2, 2)) foo(k, v); +SELECT JSON_OBJECTAGG(mod(i,100): (i)::text FORMAT JSON WITH UNIQUE) +FROM generate_series(0, 199) i; + -- Test JSON_OBJECT deparsing EXPLAIN (VERBOSE, COSTS OFF) SELECT JSON_OBJECT('foo' : '1' FORMAT JSON, 'bar' : 'baz' RETURNING json); @@ -475,3 +480,17 @@ SELECT JSON_OBJECTAGG(i: ('111' || i)::bytea FORMAT JSON WITH UNIQUE RETURNING v CREATE DOMAIN sqljson_char2 AS char(2) CHECK (VALUE NOT IN ('12')); SELECT JSON_SERIALIZE('123' RETURNING sqljson_char2); SELECT JSON_SERIALIZE('12' RETURNING sqljson_char2); + +-- Bug #18657: JsonValueExpr.raw_expr was not initialized in ExecInitExprRec() +-- causing the Aggrefs contained in it to also not be initialized, which led +-- to a crash in ExecBuildAggTrans() as mentioned in the bug report: +-- https://postgr.es/m/18657-1b90ccce2b16bdb8@postgresql.org +CREATE FUNCTION volatile_one() RETURNS int AS $$ BEGIN RETURN 1; END; $$ LANGUAGE plpgsql VOLATILE; +CREATE FUNCTION stable_one() RETURNS int AS $$ BEGIN RETURN 1; END; $$ LANGUAGE plpgsql STABLE; +EXPLAIN (VERBOSE, COSTS OFF) SELECT JSON_OBJECT('a': JSON_OBJECTAGG('b': volatile_one() RETURNING text) FORMAT JSON); +SELECT JSON_OBJECT('a': JSON_OBJECTAGG('b': volatile_one() RETURNING text) FORMAT JSON); +EXPLAIN (VERBOSE, COSTS OFF) SELECT JSON_OBJECT('a': JSON_OBJECTAGG('b': stable_one() RETURNING text) FORMAT JSON); +SELECT JSON_OBJECT('a': JSON_OBJECTAGG('b': stable_one() RETURNING text) FORMAT JSON); +EXPLAIN (VERBOSE, COSTS OFF) SELECT JSON_OBJECT('a': JSON_OBJECTAGG('b': 1 RETURNING text) FORMAT JSON); +SELECT JSON_OBJECT('a': JSON_OBJECTAGG('b': 1 RETURNING text) FORMAT JSON); +DROP FUNCTION volatile_one, stable_one; diff --git a/src/test/regress/sql/sqljson_jsontable.sql b/src/test/regress/sql/sqljson_jsontable.sql index 38992316f5a..154eea79c76 100644 --- a/src/test/regress/sql/sqljson_jsontable.sql +++ b/src/test/regress/sql/sqljson_jsontable.sql @@ -542,3 +542,22 @@ SELECT * FROM JSON_TABLE(jsonb '1', '$' COLUMNS (a int) NULL ON ERROR); SELECT * FROM JSON_TABLE(jsonb '1', '$' COLUMNS (a int true on empty)); SELECT * FROM JSON_TABLE(jsonb '1', '$' COLUMNS (a int omit quotes true on error)); SELECT * FROM JSON_TABLE(jsonb '1', '$' COLUMNS (a int exists empty object on error)); + +-- Test JSON_TABLE() column deparsing -- don't emit default ON ERROR / EMPTY +-- behavior +CREATE VIEW json_table_view8 AS SELECT * from JSON_TABLE('"a"', '$' COLUMNS (a text PATH '$')); +\sv json_table_view8; + +CREATE VIEW json_table_view9 AS SELECT * from JSON_TABLE('"a"', '$' COLUMNS (a text PATH '$') ERROR ON ERROR); +\sv json_table_view9; + +DROP VIEW json_table_view8, json_table_view9; + +-- Test JSON_TABLE() deparsing -- don't emit default ON ERROR behavior +CREATE VIEW json_table_view8 AS SELECT * from JSON_TABLE('"a"', '$' COLUMNS (a text PATH '$') EMPTY ON ERROR); +\sv json_table_view8; + +CREATE VIEW json_table_view9 AS SELECT * from JSON_TABLE('"a"', '$' COLUMNS (a text PATH '$') EMPTY ARRAY ON ERROR); +\sv json_table_view9; + +DROP VIEW json_table_view8, json_table_view9; diff --git a/src/test/regress/sql/sqljson_queryfuncs.sql b/src/test/regress/sql/sqljson_queryfuncs.sql index 21ff7787a28..21b5d49ecec 100644 --- a/src/test/regress/sql/sqljson_queryfuncs.sql +++ b/src/test/regress/sql/sqljson_queryfuncs.sql @@ -146,11 +146,11 @@ select json_value('{"a": "1.234"}', '$.a' returning int error on error); SELECT JSON_VALUE(NULL::jsonb, '$'); SELECT - JSON_QUERY(js, '$'), - JSON_QUERY(js, '$' WITHOUT WRAPPER), - JSON_QUERY(js, '$' WITH CONDITIONAL WRAPPER), - JSON_QUERY(js, '$' WITH UNCONDITIONAL ARRAY WRAPPER), - JSON_QUERY(js, '$' WITH ARRAY WRAPPER) + JSON_QUERY(js, '$') AS "unspec", + JSON_QUERY(js, '$' WITHOUT WRAPPER) AS "without", + JSON_QUERY(js, '$' WITH CONDITIONAL WRAPPER) AS "with cond", + JSON_QUERY(js, '$' WITH UNCONDITIONAL ARRAY WRAPPER) AS "with uncond", + JSON_QUERY(js, '$' WITH ARRAY WRAPPER) AS "with" FROM (VALUES (jsonb 'null'), @@ -331,7 +331,7 @@ CREATE TABLE test_jsonb_constraints ( CONSTRAINT test_jsonb_constraint3 CHECK (JSON_VALUE(js::jsonb, '$.a' RETURNING int DEFAULT '12' ON EMPTY ERROR ON ERROR) > i) CONSTRAINT test_jsonb_constraint4 - CHECK (JSON_QUERY(js::jsonb, '$.a' WITH CONDITIONAL WRAPPER EMPTY OBJECT ON ERROR) < jsonb '[10]') + CHECK (JSON_QUERY(js::jsonb, '$.a' WITH CONDITIONAL WRAPPER EMPTY OBJECT ON ERROR) = jsonb '[10]') CONSTRAINT test_jsonb_constraint5 CHECK (JSON_QUERY(js::jsonb, '$.a' RETURNING char(5) OMIT QUOTES EMPTY ARRAY ON EMPTY) > 'a' COLLATE "C") ); @@ -353,7 +353,6 @@ INSERT INTO test_jsonb_constraints VALUES ('1', 1); INSERT INTO test_jsonb_constraints VALUES ('[]'); INSERT INTO test_jsonb_constraints VALUES ('{"b": 1}', 1); INSERT INTO test_jsonb_constraints VALUES ('{"a": 1}', 1); -INSERT INTO test_jsonb_constraints VALUES ('{"a": 7}', 1); INSERT INTO test_jsonb_constraints VALUES ('{"a": 10}', 1); DROP TABLE test_jsonb_constraints; diff --git a/src/test/regress/sql/subselect.sql b/src/test/regress/sql/subselect.sql index 75a9b718b2f..af6e157aca0 100644 --- a/src/test/regress/sql/subselect.sql +++ b/src/test/regress/sql/subselect.sql @@ -890,6 +890,24 @@ fetch backward all in c1; commit; +-- +-- Verify that we correctly flatten cases involving a subquery output +-- expression that doesn't need to be wrapped in a PlaceHolderVar +-- + +explain (costs off) +select tname, attname from ( +select relname::information_schema.sql_identifier as tname, * from + (select * from pg_class c) ss1) ss2 + right join pg_attribute a on a.attrelid = ss2.oid +where tname = 'tenk1' and attnum = 1; + +select tname, attname from ( +select relname::information_schema.sql_identifier as tname, * from + (select * from pg_class c) ss1) ss2 + right join pg_attribute a on a.attrelid = ss2.oid +where tname = 'tenk1' and attnum = 1; + -- -- Tests for CTE inlining behavior -- diff --git a/src/test/regress/sql/timestamptz.sql b/src/test/regress/sql/timestamptz.sql index ccfd90d6467..ae074337d94 100644 --- a/src/test/regress/sql/timestamptz.sql +++ b/src/test/regress/sql/timestamptz.sql @@ -449,7 +449,10 @@ SELECT make_timestamptz(1910, 12, 24, 0, 0, 0, 'Nehwon/Lankhmar'); -- abbreviations SELECT make_timestamptz(2008, 12, 10, 10, 10, 10, 'EST'); SELECT make_timestamptz(2008, 12, 10, 10, 10, 10, 'EDT'); -SELECT make_timestamptz(2014, 12, 10, 10, 10, 10, 'PST8PDT'); +SELECT make_timestamptz(2014, 12, 10, 10, 10, 10, 'FOO8BAR'); + +-- POSIX +SELECT make_timestamptz(2014, 12, 10, 10, 10, 10, 'PST8PDT,M3.2.0,M11.1.0'); RESET TimeZone; diff --git a/src/test/regress/sql/xml.sql b/src/test/regress/sql/xml.sql index 953bac09e45..f752ecb1421 100644 --- a/src/test/regress/sql/xml.sql +++ b/src/test/regress/sql/xml.sql @@ -168,6 +168,9 @@ SELECT xmlserialize(CONTENT '' AS text INDENT); -- 'no indent' = not using 'no indent' SELECT xmlserialize(DOCUMENT '42' AS text) = xmlserialize(DOCUMENT '42' AS text NO INDENT); SELECT xmlserialize(CONTENT '42' AS text) = xmlserialize(CONTENT '42' AS text NO INDENT); +-- indent xml strings containing blank nodes +SELECT xmlserialize(DOCUMENT ' ' AS text INDENT); +SELECT xmlserialize(CONTENT 'text node ' AS text INDENT); SELECT xml 'bar' IS DOCUMENT; SELECT xml 'barfoo' IS DOCUMENT; diff --git a/src/test/subscription/t/021_twophase.pl b/src/test/subscription/t/021_twophase.pl index 9437cd4c3b7..e635be74c63 100644 --- a/src/test/subscription/t/021_twophase.pl +++ b/src/test/subscription/t/021_twophase.pl @@ -23,7 +23,7 @@ my $node_subscriber = PostgreSQL::Test::Cluster->new('subscriber'); $node_subscriber->init; $node_subscriber->append_conf('postgresql.conf', - qq(max_prepared_transactions = 10)); + qq(max_prepared_transactions = 0)); $node_subscriber->start; # Create some pre-existing content on publisher @@ -67,12 +67,24 @@ # then COMMIT PREPARED ############################### +# Save the log location, to see the failure of the application +my $log_location = -s $node_subscriber->logfile; + $node_publisher->safe_psql( 'postgres', " BEGIN; INSERT INTO tab_full VALUES (11); PREPARE TRANSACTION 'test_prepared_tab_full';"); +# Confirm the ERROR is reported becasue max_prepared_transactions is zero +$node_subscriber->wait_for_log( + qr/ERROR: ( [A-Z0-9]+:)? prepared transactions are disabled/); + +# 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 in prepared state on subscriber diff --git a/src/timezone/data/tzdata.zi b/src/timezone/data/tzdata.zi index be1c4085920..62e78bb826c 100644 --- a/src/timezone/data/tzdata.zi +++ b/src/timezone/data/tzdata.zi @@ -1,4 +1,4 @@ -# version 2024a +# version 2024b # 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 - @@ -1324,14 +1324,10 @@ R O 1961 1964 - May lastSu 1s 1 S R O 1962 1964 - S lastSu 1s 0 - R p 1916 o - Jun 17 23 1 S R p 1916 o - N 1 1 0 - -R p 1917 o - F 28 23s 1 S -R p 1917 1921 - O 14 23s 0 - -R p 1918 o - Mar 1 23s 1 S -R p 1919 o - F 28 23s 1 S -R p 1920 o - F 29 23s 1 S -R p 1921 o - F 28 23s 1 S +R p 1917 1921 - Mar 1 0 1 S +R p 1917 1921 - O 14 24 0 - R p 1924 o - Ap 16 23s 1 S -R p 1924 o - O 14 23s 0 - +R p 1924 o - O 4 23s 0 - R p 1926 o - Ap 17 23s 1 S R p 1926 1929 - O Sa>=1 23s 0 - R p 1927 o - Ap 9 23s 1 S @@ -1349,8 +1345,9 @@ R p 1938 o - Mar 26 23s 1 S R p 1939 o - Ap 15 23s 1 S R p 1939 o - N 18 23s 0 - R p 1940 o - F 24 23s 1 S -R p 1940 1941 - O 5 23s 0 - +R p 1940 o - O 7 23s 0 - R p 1941 o - Ap 5 23s 1 S +R p 1941 o - O 5 23s 0 - R p 1942 1945 - Mar Sa>=8 23s 1 S R p 1942 o - Ap 25 22s 2 M R p 1942 o - Au 15 22s 1 S @@ -1360,16 +1357,16 @@ R p 1943 1945 - Au Sa>=25 22s 1 S R p 1944 1945 - Ap Sa>=21 22s 2 M R p 1946 o - Ap Sa>=1 23s 1 S R p 1946 o - O Sa>=1 23s 0 - -R p 1947 1965 - Ap Su>=1 2s 1 S +R p 1947 1966 - Ap Su>=1 2s 1 S R p 1947 1965 - O Su>=1 2s 0 - -R p 1977 o - Mar 27 0s 1 S -R p 1977 o - S 25 0s 0 - -R p 1978 1979 - Ap Su>=1 0s 1 S -R p 1978 o - O 1 0s 0 - -R p 1979 1982 - S lastSu 1s 0 - -R p 1980 o - Mar lastSu 0s 1 S -R p 1981 1982 - Mar lastSu 1s 1 S -R p 1983 o - Mar lastSu 2s 1 S +R p 1976 o - S lastSu 1 0 - +R p 1977 o - Mar lastSu 0s 1 S +R p 1977 o - S lastSu 0s 0 - +R p 1978 1980 - Ap Su>=1 1s 1 S +R p 1978 o - O 1 1s 0 - +R p 1979 1980 - S lastSu 1s 0 - +R p 1981 1986 - Mar lastSu 0s 1 S +R p 1981 1985 - S lastSu 0s 0 - R z 1932 o - May 21 0s 1 S R z 1932 1939 - O Su>=1 0s 0 - R z 1933 1939 - Ap Su>=2 0s 1 S @@ -1728,7 +1725,7 @@ R Y 1972 2006 - O lastSu 2 0 S R Y 1987 2006 - Ap Su>=1 2 1 D R Yu 1965 o - Ap lastSu 0 2 DD R Yu 1965 o - O lastSu 2 0 S -R m 1931 o - May 1 23 1 D +R m 1931 o - April 30 0 1 D R m 1931 o - O 1 0 0 S R m 1939 o - F 5 0 1 D R m 1939 o - Jun 25 0 0 S @@ -2096,15 +2093,15 @@ Z Africa/Algiers 0:12:12 - LMT 1891 Mar 16 0 d WE%sT 1981 May 1 - CET Z Africa/Bissau -1:2:20 - LMT 1912 Ja 1 1u --1 - -01 1975 +-1 - %z 1975 0 - GMT Z Africa/Cairo 2:5:9 - LMT 1900 O 2 K EE%sT Z Africa/Casablanca -0:30:20 - LMT 1913 O 26 -0 M +00/+01 1984 Mar 16 -1 - +01 1986 -0 M +00/+01 2018 O 28 3 -1 M +01/+00 +0 M %z 1984 Mar 16 +1 - %z 1986 +0 M %z 2018 O 28 3 +1 M %z Z Africa/Ceuta -0:21:16 - LMT 1901 Ja 1 0u 0 - WET 1918 May 6 23 0 1 WEST 1918 O 7 23 @@ -2115,9 +2112,9 @@ Z Africa/Ceuta -0:21:16 - LMT 1901 Ja 1 0u 1 - CET 1986 1 E CE%sT Z Africa/El_Aaiun -0:52:48 - LMT 1934 --1 - -01 1976 Ap 14 -0 M +00/+01 2018 O 28 3 -1 M +01/+00 +-1 - %z 1976 Ap 14 +0 M %z 2018 O 28 3 +1 M %z Z Africa/Johannesburg 1:52 - LMT 1892 F 8 1:30 - SAST 1903 Mar 2 SA SAST @@ -2132,19 +2129,19 @@ Z Africa/Khartoum 2:10:8 - LMT 1931 Z Africa/Lagos 0:13:35 - LMT 1905 Jul 0 - GMT 1908 Jul 0:13:35 - LMT 1914 -0:30 - +0030 1919 S +0:30 - %z 1919 S 1 - WAT -Z Africa/Maputo 2:10:20 - LMT 1903 Mar +Z Africa/Maputo 2:10:18 - LMT 1909 2 - CAT Z Africa/Monrovia -0:43:8 - LMT 1882 -0:43:8 - MMT 1919 Mar -0:44:30 - MMT 1972 Ja 7 0 - GMT Z Africa/Nairobi 2:27:16 - LMT 1908 May -2:30 - +0230 1928 Jun 30 24 +2:30 - %z 1928 Jun 30 24 3 - EAT 1930 Ja 4 24 -2:30 - +0230 1936 D 31 24 -2:45 - +0245 1942 Jul 31 24 +2:30 - %z 1936 D 31 24 +2:45 - %z 1942 Jul 31 24 3 - EAT Z Africa/Ndjamena 1:0:12 - LMT 1912 1 - WAT 1979 O 14 @@ -2168,7 +2165,7 @@ Z Africa/Tunis 0:40:44 - LMT 1881 May 12 0:9:21 - PMT 1911 Mar 11 1 n CE%sT Z Africa/Windhoek 1:8:24 - LMT 1892 F 8 -1:30 - +0130 1903 Mar +1:30 - %z 1903 Mar 2 - SAST 1942 S 20 2 2 1 SAST 1943 Mar 21 2 2 - SAST 1990 Mar 21 @@ -2191,167 +2188,166 @@ Z America/Anchorage 14:0:24 - LMT 1867 O 19 14:31:37 -9 u Y%sT 1983 N 30 -9 u AK%sT Z America/Araguaina -3:12:48 - LMT 1914 --3 B -03/-02 1990 S 17 --3 - -03 1995 S 14 --3 B -03/-02 2003 S 24 --3 - -03 2012 O 21 --3 B -03/-02 2013 S --3 - -03 +-3 B %z 1990 S 17 +-3 - %z 1995 S 14 +-3 B %z 2003 S 24 +-3 - %z 2012 O 21 +-3 B %z 2013 S +-3 - %z Z America/Argentina/Buenos_Aires -3:53:48 - LMT 1894 O 31 -4:16:48 - CMT 1920 May --4 - -04 1930 D --4 A -04/-03 1969 O 5 --3 A -03/-02 1999 O 3 --4 A -04/-03 2000 Mar 3 --3 A -03/-02 +-4 - %z 1930 D +-4 A %z 1969 O 5 +-3 A %z 1999 O 3 +-4 A %z 2000 Mar 3 +-3 A %z Z America/Argentina/Catamarca -4:23:8 - LMT 1894 O 31 -4:16:48 - CMT 1920 May --4 - -04 1930 D --4 A -04/-03 1969 O 5 --3 A -03/-02 1991 Mar 3 --4 - -04 1991 O 20 --3 A -03/-02 1999 O 3 --4 A -04/-03 2000 Mar 3 --3 - -03 2004 Jun --4 - -04 2004 Jun 20 --3 A -03/-02 2008 O 18 --3 - -03 +-4 - %z 1930 D +-4 A %z 1969 O 5 +-3 A %z 1991 Mar 3 +-4 - %z 1991 O 20 +-3 A %z 1999 O 3 +-4 A %z 2000 Mar 3 +-3 - %z 2004 Jun +-4 - %z 2004 Jun 20 +-3 A %z 2008 O 18 +-3 - %z Z America/Argentina/Cordoba -4:16:48 - LMT 1894 O 31 -4:16:48 - CMT 1920 May --4 - -04 1930 D --4 A -04/-03 1969 O 5 --3 A -03/-02 1991 Mar 3 --4 - -04 1991 O 20 --3 A -03/-02 1999 O 3 --4 A -04/-03 2000 Mar 3 --3 A -03/-02 +-4 - %z 1930 D +-4 A %z 1969 O 5 +-3 A %z 1991 Mar 3 +-4 - %z 1991 O 20 +-3 A %z 1999 O 3 +-4 A %z 2000 Mar 3 +-3 A %z Z America/Argentina/Jujuy -4:21:12 - LMT 1894 O 31 -4:16:48 - CMT 1920 May --4 - -04 1930 D --4 A -04/-03 1969 O 5 --3 A -03/-02 1990 Mar 4 --4 - -04 1990 O 28 --4 1 -03 1991 Mar 17 --4 - -04 1991 O 6 --3 1 -02 1992 --3 A -03/-02 1999 O 3 --4 A -04/-03 2000 Mar 3 --3 A -03/-02 2008 O 18 --3 - -03 +-4 - %z 1930 D +-4 A %z 1969 O 5 +-3 A %z 1990 Mar 4 +-4 - %z 1990 O 28 +-4 1 %z 1991 Mar 17 +-4 - %z 1991 O 6 +-3 1 %z 1992 +-3 A %z 1999 O 3 +-4 A %z 2000 Mar 3 +-3 A %z 2008 O 18 +-3 - %z Z America/Argentina/La_Rioja -4:27:24 - LMT 1894 O 31 -4:16:48 - CMT 1920 May --4 - -04 1930 D --4 A -04/-03 1969 O 5 --3 A -03/-02 1991 Mar --4 - -04 1991 May 7 --3 A -03/-02 1999 O 3 --4 A -04/-03 2000 Mar 3 --3 - -03 2004 Jun --4 - -04 2004 Jun 20 --3 A -03/-02 2008 O 18 --3 - -03 +-4 - %z 1930 D +-4 A %z 1969 O 5 +-3 A %z 1991 Mar +-4 - %z 1991 May 7 +-3 A %z 1999 O 3 +-4 A %z 2000 Mar 3 +-3 - %z 2004 Jun +-4 - %z 2004 Jun 20 +-3 A %z 2008 O 18 +-3 - %z Z America/Argentina/Mendoza -4:35:16 - LMT 1894 O 31 -4:16:48 - CMT 1920 May --4 - -04 1930 D --4 A -04/-03 1969 O 5 --3 A -03/-02 1990 Mar 4 --4 - -04 1990 O 15 --4 1 -03 1991 Mar --4 - -04 1991 O 15 --4 1 -03 1992 Mar --4 - -04 1992 O 18 --3 A -03/-02 1999 O 3 --4 A -04/-03 2000 Mar 3 --3 - -03 2004 May 23 --4 - -04 2004 S 26 --3 A -03/-02 2008 O 18 --3 - -03 +-4 - %z 1930 D +-4 A %z 1969 O 5 +-3 A %z 1990 Mar 4 +-4 - %z 1990 O 15 +-4 1 %z 1991 Mar +-4 - %z 1991 O 15 +-4 1 %z 1992 Mar +-4 - %z 1992 O 18 +-3 A %z 1999 O 3 +-4 A %z 2000 Mar 3 +-3 - %z 2004 May 23 +-4 - %z 2004 S 26 +-3 A %z 2008 O 18 +-3 - %z Z America/Argentina/Rio_Gallegos -4:36:52 - LMT 1894 O 31 -4:16:48 - CMT 1920 May --4 - -04 1930 D --4 A -04/-03 1969 O 5 --3 A -03/-02 1999 O 3 --4 A -04/-03 2000 Mar 3 --3 - -03 2004 Jun --4 - -04 2004 Jun 20 --3 A -03/-02 2008 O 18 --3 - -03 +-4 - %z 1930 D +-4 A %z 1969 O 5 +-3 A %z 1999 O 3 +-4 A %z 2000 Mar 3 +-3 - %z 2004 Jun +-4 - %z 2004 Jun 20 +-3 A %z 2008 O 18 +-3 - %z Z America/Argentina/Salta -4:21:40 - LMT 1894 O 31 -4:16:48 - CMT 1920 May --4 - -04 1930 D --4 A -04/-03 1969 O 5 --3 A -03/-02 1991 Mar 3 --4 - -04 1991 O 20 --3 A -03/-02 1999 O 3 --4 A -04/-03 2000 Mar 3 --3 A -03/-02 2008 O 18 --3 - -03 +-4 - %z 1930 D +-4 A %z 1969 O 5 +-3 A %z 1991 Mar 3 +-4 - %z 1991 O 20 +-3 A %z 1999 O 3 +-4 A %z 2000 Mar 3 +-3 A %z 2008 O 18 +-3 - %z Z America/Argentina/San_Juan -4:34:4 - LMT 1894 O 31 -4:16:48 - CMT 1920 May --4 - -04 1930 D --4 A -04/-03 1969 O 5 --3 A -03/-02 1991 Mar --4 - -04 1991 May 7 --3 A -03/-02 1999 O 3 --4 A -04/-03 2000 Mar 3 --3 - -03 2004 May 31 --4 - -04 2004 Jul 25 --3 A -03/-02 2008 O 18 --3 - -03 +-4 - %z 1930 D +-4 A %z 1969 O 5 +-3 A %z 1991 Mar +-4 - %z 1991 May 7 +-3 A %z 1999 O 3 +-4 A %z 2000 Mar 3 +-3 - %z 2004 May 31 +-4 - %z 2004 Jul 25 +-3 A %z 2008 O 18 +-3 - %z Z America/Argentina/San_Luis -4:25:24 - LMT 1894 O 31 -4:16:48 - CMT 1920 May --4 - -04 1930 D --4 A -04/-03 1969 O 5 --3 A -03/-02 1990 --3 1 -02 1990 Mar 14 --4 - -04 1990 O 15 --4 1 -03 1991 Mar --4 - -04 1991 Jun --3 - -03 1999 O 3 --4 1 -03 2000 Mar 3 --3 - -03 2004 May 31 --4 - -04 2004 Jul 25 --3 A -03/-02 2008 Ja 21 --4 Sa -04/-03 2009 O 11 --3 - -03 +-4 - %z 1930 D +-4 A %z 1969 O 5 +-3 A %z 1990 +-3 1 %z 1990 Mar 14 +-4 - %z 1990 O 15 +-4 1 %z 1991 Mar +-4 - %z 1991 Jun +-3 - %z 1999 O 3 +-4 1 %z 2000 Mar 3 +-3 - %z 2004 May 31 +-4 - %z 2004 Jul 25 +-3 A %z 2008 Ja 21 +-4 Sa %z 2009 O 11 +-3 - %z Z America/Argentina/Tucuman -4:20:52 - LMT 1894 O 31 -4:16:48 - CMT 1920 May --4 - -04 1930 D --4 A -04/-03 1969 O 5 --3 A -03/-02 1991 Mar 3 --4 - -04 1991 O 20 --3 A -03/-02 1999 O 3 --4 A -04/-03 2000 Mar 3 --3 - -03 2004 Jun --4 - -04 2004 Jun 13 --3 A -03/-02 +-4 - %z 1930 D +-4 A %z 1969 O 5 +-3 A %z 1991 Mar 3 +-4 - %z 1991 O 20 +-3 A %z 1999 O 3 +-4 A %z 2000 Mar 3 +-3 - %z 2004 Jun +-4 - %z 2004 Jun 13 +-3 A %z Z America/Argentina/Ushuaia -4:33:12 - LMT 1894 O 31 -4:16:48 - CMT 1920 May --4 - -04 1930 D --4 A -04/-03 1969 O 5 --3 A -03/-02 1999 O 3 --4 A -04/-03 2000 Mar 3 --3 - -03 2004 May 30 --4 - -04 2004 Jun 20 --3 A -03/-02 2008 O 18 --3 - -03 +-4 - %z 1930 D +-4 A %z 1969 O 5 +-3 A %z 1999 O 3 +-4 A %z 2000 Mar 3 +-3 - %z 2004 May 30 +-4 - %z 2004 Jun 20 +-3 A %z 2008 O 18 +-3 - %z Z America/Asuncion -3:50:40 - LMT 1890 -3:50:40 - AMT 1931 O 10 --4 - -04 1972 O --3 - -03 1974 Ap --4 y -04/-03 +-4 - %z 1972 O +-3 - %z 1974 Ap +-4 y %z Z America/Bahia -2:34:4 - LMT 1914 --3 B -03/-02 2003 S 24 --3 - -03 2011 O 16 --3 B -03/-02 2012 O 21 --3 - -03 +-3 B %z 2003 S 24 +-3 - %z 2011 O 16 +-3 B %z 2012 O 21 +-3 - %z Z America/Bahia_Banderas -7:1 - LMT 1922 Ja 1 7u --7 - MST 1927 Jun 10 23 +-7 - MST 1927 Jun 10 -6 - CST 1930 N 15 -7 m M%sT 1932 Ap -6 - CST 1942 Ap 24 --7 - MST 1949 Ja 14 --8 - PST 1970 +-7 - MST 1970 -7 m M%sT 2010 Ap 4 2 -6 m C%sT Z America/Barbados -3:58:29 - LMT 1911 Au 28 @@ -2359,18 +2355,18 @@ Z America/Barbados -3:58:29 - LMT 1911 Au 28 -4 BB AST/-0330 1945 -4 BB A%sT Z America/Belem -3:13:56 - LMT 1914 --3 B -03/-02 1988 S 12 --3 - -03 +-3 B %z 1988 S 12 +-3 - %z Z America/Belize -5:52:48 - LMT 1912 Ap -6 BZ %s Z America/Boa_Vista -4:2:40 - LMT 1914 --4 B -04/-03 1988 S 12 --4 - -04 1999 S 30 --4 B -04/-03 2000 O 15 --4 - -04 +-4 B %z 1988 S 12 +-4 - %z 1999 S 30 +-4 B %z 2000 O 15 +-4 - %z Z America/Bogota -4:56:16 - LMT 1884 Mar 13 -4:56:16 - BMT 1914 N 23 --5 CO -05/-04 +-5 CO %z Z America/Boise -7:44:49 - LMT 1883 N 18 20u -8 u P%sT 1923 May 13 2 -7 u M%sT 1974 @@ -2383,21 +2379,23 @@ Z America/Cambridge_Bay 0 - -00 1920 -6 - CST 2001 Ap 1 3 -7 C M%sT Z America/Campo_Grande -3:38:28 - LMT 1914 --4 B -04/-03 +-4 B %z Z America/Cancun -5:47:4 - LMT 1922 Ja 1 6u --6 - CST 1981 D 23 +-6 - CST 1981 D 26 2 +-5 - EST 1983 Ja 4 +-6 m C%sT 1997 O 26 2 -5 m E%sT 1998 Au 2 2 -6 m C%sT 2015 F 1 2 -5 - EST Z America/Caracas -4:27:44 - LMT 1890 -4:27:40 - CMT 1912 F 12 --4:30 - -0430 1965 --4 - -04 2007 D 9 3 --4:30 - -0430 2016 May 1 2:30 --4 - -04 +-4:30 - %z 1965 +-4 - %z 2007 D 9 3 +-4:30 - %z 2016 May 1 2:30 +-4 - %z Z America/Cayenne -3:29:20 - LMT 1911 Jul --4 - -04 1967 O --3 - -03 +-4 - %z 1967 O +-3 - %z Z America/Chicago -5:50:36 - LMT 1883 N 18 18u -6 u C%sT 1920 -6 Ch C%sT 1936 Mar 1 2 @@ -2407,7 +2405,7 @@ Z America/Chicago -5:50:36 - LMT 1883 N 18 18u -6 Ch C%sT 1967 -6 u C%sT Z America/Chihuahua -7:4:20 - LMT 1922 Ja 1 7u --7 - MST 1927 Jun 10 23 +-7 - MST 1927 Jun 10 -6 - CST 1930 N 15 -7 m M%sT 1932 Ap -6 - CST 1996 @@ -2416,7 +2414,7 @@ Z America/Chihuahua -7:4:20 - LMT 1922 Ja 1 7u -7 m M%sT 2022 O 30 2 -6 - CST Z America/Ciudad_Juarez -7:5:56 - LMT 1922 Ja 1 7u --7 - MST 1927 Jun 10 23 +-7 - MST 1927 Jun 10 -6 - CST 1930 N 15 -7 m M%sT 1932 Ap -6 - CST 1996 @@ -2430,12 +2428,12 @@ Z America/Costa_Rica -5:36:13 - LMT 1890 -5:36:13 - SJMT 1921 Ja 15 -6 CR C%sT Z America/Cuiaba -3:44:20 - LMT 1914 --4 B -04/-03 2003 S 24 --4 - -04 2004 O --4 B -04/-03 +-4 B %z 2003 S 24 +-4 - %z 2004 O +-4 B %z Z America/Danmarkshavn -1:14:40 - LMT 1916 Jul 28 --3 - -03 1980 Ap 6 2 --3 E -03/-02 1996 +-3 - %z 1980 Ap 6 2 +-3 E %z 1996 0 - GMT Z America/Dawson -9:17:40 - LMT 1900 Au 20 -9 Y Y%sT 1965 @@ -2467,12 +2465,12 @@ Z America/Edmonton -7:33:52 - LMT 1906 S -7 Ed M%sT 1987 -7 C M%sT Z America/Eirunepe -4:39:28 - LMT 1914 --5 B -05/-04 1988 S 12 --5 - -05 1993 S 28 --5 B -05/-04 1994 S 22 --5 - -05 2008 Jun 24 --4 - -04 2013 N 10 --5 - -05 +-5 B %z 1988 S 12 +-5 - %z 1993 S 28 +-5 B %z 1994 S 22 +-5 - %z 2008 Jun 24 +-4 - %z 2013 N 10 +-5 - %z Z America/El_Salvador -5:56:48 - LMT 1921 -6 SV C%sT Z America/Fort_Nelson -8:10:47 - LMT 1884 @@ -2482,12 +2480,12 @@ Z America/Fort_Nelson -8:10:47 - LMT 1884 -8 C P%sT 2015 Mar 8 2 -7 - MST Z America/Fortaleza -2:34 - LMT 1914 --3 B -03/-02 1990 S 17 --3 - -03 1999 S 30 --3 B -03/-02 2000 O 22 --3 - -03 2001 S 13 --3 B -03/-02 2002 O --3 - -03 +-3 B %z 1990 S 17 +-3 - %z 1999 S 30 +-3 B %z 2000 O 22 +-3 - %z 2001 S 13 +-3 B %z 2002 O +-3 - %z Z America/Glace_Bay -3:59:48 - LMT 1902 Jun 15 -4 C A%sT 1953 -4 H A%sT 1954 @@ -2514,12 +2512,12 @@ Z America/Guatemala -6:2:4 - LMT 1918 O 5 -6 GT C%sT Z America/Guayaquil -5:19:20 - LMT 1890 -5:14 - QMT 1931 --5 EC -05/-04 +-5 EC %z Z America/Guyana -3:52:39 - LMT 1911 Au --4 - -04 1915 Mar --3:45 - -0345 1975 Au --3 - -03 1992 Mar 29 1 --4 - -04 +-4 - %z 1915 Mar +-3:45 - %z 1975 Au +-3 - %z 1992 Mar 29 1 +-4 - %z Z America/Halifax -4:14:24 - LMT 1902 Jun 15 -4 H A%sT 1918 -4 C A%sT 1919 @@ -2531,12 +2529,11 @@ Z America/Havana -5:29:28 - LMT 1890 -5:29:36 - HMT 1925 Jul 19 12 -5 Q C%sT Z America/Hermosillo -7:23:52 - LMT 1922 Ja 1 7u --7 - MST 1927 Jun 10 23 +-7 - MST 1927 Jun 10 -6 - CST 1930 N 15 -7 m M%sT 1932 Ap -6 - CST 1942 Ap 24 --7 - MST 1949 Ja 14 --8 - PST 1970 +-7 - MST 1996 -7 m M%sT 1999 -7 - MST Z America/Indiana/Indianapolis -5:44:38 - LMT 1883 N 18 18u @@ -2644,23 +2641,23 @@ Z America/Kentucky/Monticello -5:39:24 - LMT 1883 N 18 18u Z America/La_Paz -4:32:36 - LMT 1890 -4:32:36 - CMT 1931 O 15 -4:32:36 1 BST 1932 Mar 21 --4 - -04 +-4 - %z Z America/Lima -5:8:12 - LMT 1890 -5:8:36 - LMT 1908 Jul 28 --5 PE -05/-04 +-5 PE %z Z America/Los_Angeles -7:52:58 - LMT 1883 N 18 20u -8 u P%sT 1946 -8 CA P%sT 1967 -8 u P%sT Z America/Maceio -2:22:52 - LMT 1914 --3 B -03/-02 1990 S 17 --3 - -03 1995 O 13 --3 B -03/-02 1996 S 4 --3 - -03 1999 S 30 --3 B -03/-02 2000 O 22 --3 - -03 2001 S 13 --3 B -03/-02 2002 O --3 - -03 +-3 B %z 1990 S 17 +-3 - %z 1995 O 13 +-3 B %z 1996 S 4 +-3 - %z 1999 S 30 +-3 B %z 2000 O 22 +-3 - %z 2001 S 13 +-3 B %z 2002 O +-3 - %z Z America/Managua -5:45:8 - LMT 1890 -5:45:12 - MMT 1934 Jun 23 -6 - CST 1973 May @@ -2671,10 +2668,10 @@ Z America/Managua -5:45:8 - LMT 1890 -5 - EST 1997 -6 NI C%sT Z America/Manaus -4:0:4 - LMT 1914 --4 B -04/-03 1988 S 12 --4 - -04 1993 S 28 --4 B -04/-03 1994 S 22 --4 - -04 +-4 B %z 1988 S 12 +-4 - %z 1993 S 28 +-4 B %z 1994 S 22 +-4 - %z Z America/Martinique -4:4:20 - LMT 1890 -4:4:20 - FFMT 1911 May -4 - AST 1980 Ap 6 @@ -2686,12 +2683,11 @@ Z America/Matamoros -6:30 - LMT 1922 Ja 1 6u -6 m C%sT 2010 -6 u C%sT Z America/Mazatlan -7:5:40 - LMT 1922 Ja 1 7u --7 - MST 1927 Jun 10 23 +-7 - MST 1927 Jun 10 -6 - CST 1930 N 15 -7 m M%sT 1932 Ap -6 - CST 1942 Ap 24 --7 - MST 1949 Ja 14 --8 - PST 1970 +-7 - MST 1970 -7 m M%sT Z America/Menominee -5:50:27 - LMT 1885 S 18 12 -6 u C%sT 1946 @@ -2699,8 +2695,8 @@ Z America/Menominee -5:50:27 - LMT 1885 S 18 12 -5 - EST 1973 Ap 29 2 -6 u C%sT Z America/Merida -5:58:28 - LMT 1922 Ja 1 6u --6 - CST 1981 D 23 --5 - EST 1982 D 2 +-6 - CST 1981 D 26 2 +-5 - EST 1982 N 2 2 -6 m C%sT Z America/Metlakatla 15:13:42 - LMT 1867 O 19 15:44:55 -8:46:18 - LMT 1900 Au 20 12 @@ -2713,7 +2709,7 @@ Z America/Metlakatla 15:13:42 - LMT 1867 O 19 15:44:55 -8 - PST 2019 Ja 20 2 -9 u AK%sT Z America/Mexico_City -6:36:36 - LMT 1922 Ja 1 7u --7 - MST 1927 Jun 10 23 +-7 - MST 1927 Jun 10 -6 - CST 1930 N 15 -7 m M%sT 1932 Ap -6 m C%sT 2001 S 30 2 @@ -2721,8 +2717,8 @@ Z America/Mexico_City -6:36:36 - LMT 1922 Ja 1 7u -6 m C%sT Z America/Miquelon -3:44:40 - LMT 1911 Jun 15 -4 - AST 1980 May --3 - -03 1987 --3 C -03/-02 +-3 - %z 1987 +-3 C %z Z America/Moncton -4:19:8 - LMT 1883 D 9 -5 - EST 1902 Jun 15 -4 C A%sT 1933 @@ -2733,20 +2729,23 @@ Z America/Moncton -4:19:8 - LMT 1883 D 9 -4 o A%sT 2007 -4 C A%sT Z America/Monterrey -6:41:16 - LMT 1922 Ja 1 6u +-7 - MST 1927 Jun 10 +-6 - CST 1930 N 15 +-7 m M%sT 1932 Ap -6 - CST 1988 -6 u C%sT 1989 -6 m C%sT Z America/Montevideo -3:44:51 - LMT 1908 Jun 10 -3:44:51 - MMT 1920 May --4 - -04 1923 O --3:30 U -0330/-03 1942 D 14 --3 U -03/-0230 1960 --3 U -03/-02 1968 --3 U -03/-0230 1970 --3 U -03/-02 1974 --3 U -03/-0130 1974 Mar 10 --3 U -03/-0230 1974 D 22 --3 U -03/-02 +-4 - %z 1923 O +-3:30 U %z 1942 D 14 +-3 U %z 1960 +-3 U %z 1968 +-3 U %z 1970 +-3 U %z 1974 +-3 U %z 1974 Mar 10 +-3 U %z 1974 D 22 +-3 U %z Z America/New_York -4:56:2 - LMT 1883 N 18 17u -5 u E%sT 1920 -5 NY E%sT 1942 @@ -2763,12 +2762,12 @@ Z America/Nome 12:58:22 - LMT 1867 O 19 13:29:35 -9 u Y%sT 1983 N 30 -9 u AK%sT Z America/Noronha -2:9:40 - LMT 1914 --2 B -02/-01 1990 S 17 --2 - -02 1999 S 30 --2 B -02/-01 2000 O 15 --2 - -02 2001 S 13 --2 B -02/-01 2002 O --2 - -02 +-2 B %z 1990 S 17 +-2 - %z 1999 S 30 +-2 B %z 2000 O 15 +-2 - %z 2001 S 13 +-2 B %z 2002 O +-2 - %z Z America/North_Dakota/Beulah -6:47:7 - LMT 1883 N 18 19u -7 u M%sT 2010 N 7 2 -6 u C%sT @@ -2779,12 +2778,12 @@ Z America/North_Dakota/New_Salem -6:45:39 - LMT 1883 N 18 19u -7 u M%sT 2003 O 26 2 -6 u C%sT Z America/Nuuk -3:26:56 - LMT 1916 Jul 28 --3 - -03 1980 Ap 6 2 --3 E -03/-02 2023 Mar 26 1u --2 - -02 2023 O 29 1u --2 E -02/-01 +-3 - %z 1980 Ap 6 2 +-3 E %z 2023 Mar 26 1u +-2 - %z 2023 O 29 1u +-2 E %z Z America/Ojinaga -6:57:40 - LMT 1922 Ja 1 7u --7 - MST 1927 Jun 10 23 +-7 - MST 1927 Jun 10 -6 - CST 1930 N 15 -7 m M%sT 1932 Ap -6 - CST 1996 @@ -2800,8 +2799,8 @@ Z America/Panama -5:18:8 - LMT 1890 Z America/Paramaribo -3:40:40 - LMT 1911 -3:40:52 - PMT 1935 -3:40:36 - PMT 1945 O --3:30 - -0330 1984 O --3 - -03 +-3:30 - %z 1984 O +-3 - %z Z America/Phoenix -7:28:18 - LMT 1883 N 18 19u -7 u M%sT 1944 Ja 1 0:1 -7 - MST 1944 Ap 1 0:1 @@ -2813,37 +2812,37 @@ Z America/Port-au-Prince -4:49:20 - LMT 1890 -4:49 - PPMT 1917 Ja 24 12 -5 HT E%sT Z America/Porto_Velho -4:15:36 - LMT 1914 --4 B -04/-03 1988 S 12 --4 - -04 +-4 B %z 1988 S 12 +-4 - %z Z America/Puerto_Rico -4:24:25 - LMT 1899 Mar 28 12 -4 - AST 1942 May 3 -4 u A%sT 1946 -4 - AST Z America/Punta_Arenas -4:43:40 - LMT 1890 -4:42:45 - SMT 1910 Ja 10 --5 - -05 1916 Jul +-5 - %z 1916 Jul -4:42:45 - SMT 1918 S 10 --4 - -04 1919 Jul +-4 - %z 1919 Jul -4:42:45 - SMT 1927 S --5 x -05/-04 1932 S --4 - -04 1942 Jun --5 - -05 1942 Au --4 - -04 1946 Au 28 24 --5 1 -04 1947 Mar 31 24 --5 - -05 1947 May 21 23 --4 x -04/-03 2016 D 4 --3 - -03 +-5 x %z 1932 S +-4 - %z 1942 Jun +-5 - %z 1942 Au +-4 - %z 1946 Au 28 24 +-5 1 %z 1947 Mar 31 24 +-5 - %z 1947 May 21 23 +-4 x %z 2016 D 4 +-3 - %z Z America/Rankin_Inlet 0 - -00 1957 -6 Y C%sT 2000 O 29 2 -5 - EST 2001 Ap 1 3 -6 C C%sT Z America/Recife -2:19:36 - LMT 1914 --3 B -03/-02 1990 S 17 --3 - -03 1999 S 30 --3 B -03/-02 2000 O 15 --3 - -03 2001 S 13 --3 B -03/-02 2002 O --3 - -03 +-3 B %z 1990 S 17 +-3 - %z 1999 S 30 +-3 B %z 2000 O 15 +-3 - %z 2001 S 13 +-3 B %z 2002 O +-3 - %z Z America/Regina -6:58:36 - LMT 1905 S -7 r M%sT 1960 Ap lastSu 2 -6 - CST @@ -2854,28 +2853,28 @@ Z America/Resolute 0 - -00 1947 Au 31 -5 - EST 2007 Mar 11 3 -6 C C%sT Z America/Rio_Branco -4:31:12 - LMT 1914 --5 B -05/-04 1988 S 12 --5 - -05 2008 Jun 24 --4 - -04 2013 N 10 --5 - -05 +-5 B %z 1988 S 12 +-5 - %z 2008 Jun 24 +-4 - %z 2013 N 10 +-5 - %z Z America/Santarem -3:38:48 - LMT 1914 --4 B -04/-03 1988 S 12 --4 - -04 2008 Jun 24 --3 - -03 +-4 B %z 1988 S 12 +-4 - %z 2008 Jun 24 +-3 - %z Z America/Santiago -4:42:45 - LMT 1890 -4:42:45 - SMT 1910 Ja 10 --5 - -05 1916 Jul +-5 - %z 1916 Jul -4:42:45 - SMT 1918 S 10 --4 - -04 1919 Jul +-4 - %z 1919 Jul -4:42:45 - SMT 1927 S --5 x -05/-04 1932 S --4 - -04 1942 Jun --5 - -05 1942 Au --4 - -04 1946 Jul 14 24 --4 1 -03 1946 Au 28 24 --5 1 -04 1947 Mar 31 24 --5 - -05 1947 May 21 23 --4 x -04/-03 +-5 x %z 1932 S +-4 - %z 1942 Jun +-5 - %z 1942 Au +-4 - %z 1946 Jul 14 24 +-4 1 %z 1946 Au 28 24 +-5 1 %z 1947 Mar 31 24 +-5 - %z 1947 May 21 23 +-4 x %z Z America/Santo_Domingo -4:39:36 - LMT 1890 -4:40 - SDMT 1933 Ap 1 12 -5 DO %s 1974 O 27 @@ -2883,14 +2882,14 @@ Z America/Santo_Domingo -4:39:36 - LMT 1890 -5 u E%sT 2000 D 3 1 -4 - AST Z America/Sao_Paulo -3:6:28 - LMT 1914 --3 B -03/-02 1963 O 23 --3 1 -02 1964 --3 B -03/-02 +-3 B %z 1963 O 23 +-3 1 %z 1964 +-3 B %z Z America/Scoresbysund -1:27:52 - LMT 1916 Jul 28 --2 - -02 1980 Ap 6 2 --2 c -02/-01 1981 Mar 29 --1 E -01/+00 2024 Mar 31 --2 E -02/-01 +-2 - %z 1980 Ap 6 2 +-2 c %z 1981 Mar 29 +-1 E %z 2024 Mar 31 +-2 E %z Z America/Sitka 14:58:47 - LMT 1867 O 19 15:30 -9:1:13 - LMT 1900 Au 20 12 -8 - PST 1942 @@ -2918,15 +2917,21 @@ Z America/Thule -4:35:8 - LMT 1916 Jul 28 -4 Th A%sT Z America/Tijuana -7:48:4 - LMT 1922 Ja 1 7u -7 - MST 1924 --8 - PST 1927 Jun 10 23 +-8 - PST 1927 Jun 10 -7 - MST 1930 N 15 -8 - PST 1931 Ap -8 1 PDT 1931 S 30 -8 - PST 1942 Ap 24 -8 1 PWT 1945 Au 14 23u --8 1 PPT 1945 N 12 +-8 1 PPT 1945 N 15 -8 - PST 1948 Ap 5 -8 1 PDT 1949 Ja 14 +-8 - PST 1950 May +-8 1 PDT 1950 S 24 +-8 - PST 1951 Ap 29 2 +-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 @@ -2961,31 +2966,31 @@ Z America/Yakutat 14:41:5 - LMT 1867 O 19 15:12:18 -9 u Y%sT 1983 N 30 -9 u AK%sT Z Antarctica/Casey 0 - -00 1969 -8 - +08 2009 O 18 2 -11 - +11 2010 Mar 5 2 -8 - +08 2011 O 28 2 -11 - +11 2012 F 21 17u -8 - +08 2016 O 22 -11 - +11 2018 Mar 11 4 -8 - +08 2018 O 7 4 -11 - +11 2019 Mar 17 3 -8 - +08 2019 O 4 3 -11 - +11 2020 Mar 8 3 -8 - +08 2020 O 4 0:1 -11 - +11 2021 Mar 14 -8 - +08 2021 O 3 0:1 -11 - +11 2022 Mar 13 -8 - +08 2022 O 2 0:1 -11 - +11 2023 Mar 9 3 -8 - +08 +8 - %z 2009 O 18 2 +11 - %z 2010 Mar 5 2 +8 - %z 2011 O 28 2 +11 - %z 2012 F 21 17u +8 - %z 2016 O 22 +11 - %z 2018 Mar 11 4 +8 - %z 2018 O 7 4 +11 - %z 2019 Mar 17 3 +8 - %z 2019 O 4 3 +11 - %z 2020 Mar 8 3 +8 - %z 2020 O 4 0:1 +11 - %z 2021 Mar 14 +8 - %z 2021 O 3 0:1 +11 - %z 2022 Mar 13 +8 - %z 2022 O 2 0:1 +11 - %z 2023 Mar 9 3 +8 - %z Z Antarctica/Davis 0 - -00 1957 Ja 13 -7 - +07 1964 N +7 - %z 1964 N 0 - -00 1969 F -7 - +07 2009 O 18 2 -5 - +05 2010 Mar 10 20u -7 - +07 2011 O 28 2 -5 - +05 2012 F 21 20u -7 - +07 +7 - %z 2009 O 18 2 +5 - %z 2010 Mar 10 20u +7 - %z 2011 O 28 2 +5 - %z 2012 F 21 20u +7 - %z Z Antarctica/Macquarie 0 - -00 1899 N 10 - AEST 1916 O 1 2 10 1 AEDT 1917 F @@ -2996,151 +3001,146 @@ Z Antarctica/Macquarie 0 - -00 1899 N 10 1 AEDT 2011 10 AT AE%sT Z Antarctica/Mawson 0 - -00 1954 F 13 -6 - +06 2009 O 18 2 -5 - +05 +6 - %z 2009 O 18 2 +5 - %z Z Antarctica/Palmer 0 - -00 1965 --4 A -04/-03 1969 O 5 --3 A -03/-02 1982 May --4 x -04/-03 2016 D 4 --3 - -03 +-4 A %z 1969 O 5 +-3 A %z 1982 May +-4 x %z 2016 D 4 +-3 - %z Z Antarctica/Rothera 0 - -00 1976 D --3 - -03 +-3 - %z Z Antarctica/Troll 0 - -00 2005 F 12 0 Tr %s Z Antarctica/Vostok 0 - -00 1957 D 16 -7 - +07 1994 F +7 - %z 1994 F 0 - -00 1994 N -7 - +07 2023 D 18 2 -5 - +05 +7 - %z 2023 D 18 2 +5 - %z Z Asia/Almaty 5:7:48 - LMT 1924 May 2 -5 - +05 1930 Jun 21 -6 R +06/+07 1991 Mar 31 2s -5 R +05/+06 1992 Ja 19 2s -6 R +06/+07 2004 O 31 2s -6 - +06 2024 Mar -5 - +05 +5 - %z 1930 Jun 21 +6 R %z 1991 Mar 31 2s +5 R %z 1992 Ja 19 2s +6 R %z 2004 O 31 2s +6 - %z 2024 Mar +5 - %z Z Asia/Amman 2:23:44 - LMT 1931 2 J EE%sT 2022 O 28 0s -3 - +03 +3 - %z Z Asia/Anadyr 11:49:56 - LMT 1924 May 2 -12 - +12 1930 Jun 21 -13 R +13/+14 1982 Ap 1 0s -12 R +12/+13 1991 Mar 31 2s -11 R +11/+12 1992 Ja 19 2s -12 R +12/+13 2010 Mar 28 2s -11 R +11/+12 2011 Mar 27 2s -12 - +12 +12 - %z 1930 Jun 21 +13 R %z 1982 Ap 1 0s +12 R %z 1991 Mar 31 2s +11 R %z 1992 Ja 19 2s +12 R %z 2010 Mar 28 2s +11 R %z 2011 Mar 27 2s +12 - %z Z Asia/Aqtau 3:21:4 - LMT 1924 May 2 -4 - +04 1930 Jun 21 -5 - +05 1981 O -6 - +06 1982 Ap -5 R +05/+06 1991 Mar 31 2s -4 R +04/+05 1992 Ja 19 2s -5 R +05/+06 1994 S 25 2s -4 R +04/+05 2004 O 31 2s -5 - +05 +4 - %z 1930 Jun 21 +5 - %z 1981 O +6 - %z 1982 Ap +5 R %z 1991 Mar 31 2s +4 R %z 1992 Ja 19 2s +5 R %z 1994 S 25 2s +4 R %z 2004 O 31 2s +5 - %z Z Asia/Aqtobe 3:48:40 - LMT 1924 May 2 -4 - +04 1930 Jun 21 -5 - +05 1981 Ap -5 1 +06 1981 O -6 - +06 1982 Ap -5 R +05/+06 1991 Mar 31 2s -4 R +04/+05 1992 Ja 19 2s -5 R +05/+06 2004 O 31 2s -5 - +05 +4 - %z 1930 Jun 21 +5 - %z 1981 Ap +5 1 %z 1981 O +6 - %z 1982 Ap +5 R %z 1991 Mar 31 2s +4 R %z 1992 Ja 19 2s +5 R %z 2004 O 31 2s +5 - %z Z Asia/Ashgabat 3:53:32 - LMT 1924 May 2 -4 - +04 1930 Jun 21 -5 R +05/+06 1991 Mar 31 2 -4 R +04/+05 1992 Ja 19 2 -5 - +05 +4 - %z 1930 Jun 21 +5 R %z 1991 Mar 31 2 +4 R %z 1992 Ja 19 2 +5 - %z Z Asia/Atyrau 3:27:44 - LMT 1924 May 2 -3 - +03 1930 Jun 21 -5 - +05 1981 O -6 - +06 1982 Ap -5 R +05/+06 1991 Mar 31 2s -4 R +04/+05 1992 Ja 19 2s -5 R +05/+06 1999 Mar 28 2s -4 R +04/+05 2004 O 31 2s -5 - +05 +3 - %z 1930 Jun 21 +5 - %z 1981 O +6 - %z 1982 Ap +5 R %z 1991 Mar 31 2s +4 R %z 1992 Ja 19 2s +5 R %z 1999 Mar 28 2s +4 R %z 2004 O 31 2s +5 - %z Z Asia/Baghdad 2:57:40 - LMT 1890 2:57:36 - BMT 1918 -3 - +03 1982 May -3 IQ +03/+04 +3 - %z 1982 May +3 IQ %z Z Asia/Baku 3:19:24 - LMT 1924 May 2 -3 - +03 1957 Mar -4 R +04/+05 1991 Mar 31 2s -3 R +03/+04 1992 S lastSu 2s -4 - +04 1996 -4 E +04/+05 1997 -4 AZ +04/+05 +3 - %z 1957 Mar +4 R %z 1991 Mar 31 2s +3 R %z 1992 S lastSu 2s +4 - %z 1996 +4 E %z 1997 +4 AZ %z Z Asia/Bangkok 6:42:4 - LMT 1880 6:42:4 - BMT 1920 Ap -7 - +07 +7 - %z Z Asia/Barnaul 5:35 - LMT 1919 D 10 -6 - +06 1930 Jun 21 -7 R +07/+08 1991 Mar 31 2s -6 R +06/+07 1992 Ja 19 2s -7 R +07/+08 1995 May 28 -6 R +06/+07 2011 Mar 27 2s -7 - +07 2014 O 26 2s -6 - +06 2016 Mar 27 2s -7 - +07 +6 - %z 1930 Jun 21 +7 R %z 1991 Mar 31 2s +6 R %z 1992 Ja 19 2s +7 R %z 1995 May 28 +6 R %z 2011 Mar 27 2s +7 - %z 2014 O 26 2s +6 - %z 2016 Mar 27 2s +7 - %z Z Asia/Beirut 2:22 - LMT 1880 2 l EE%sT Z Asia/Bishkek 4:58:24 - LMT 1924 May 2 -5 - +05 1930 Jun 21 -6 R +06/+07 1991 Mar 31 2s -5 R +05/+06 1991 Au 31 2 -5 KG +05/+06 2005 Au 12 -6 - +06 +5 - %z 1930 Jun 21 +6 R %z 1991 Mar 31 2s +5 R %z 1991 Au 31 2 +5 KG %z 2005 Au 12 +6 - %z Z Asia/Chita 7:33:52 - LMT 1919 D 15 -8 - +08 1930 Jun 21 -9 R +09/+10 1991 Mar 31 2s -8 R +08/+09 1992 Ja 19 2s -9 R +09/+10 2011 Mar 27 2s -10 - +10 2014 O 26 2s -8 - +08 2016 Mar 27 2 -9 - +09 -Z Asia/Choibalsan 7:38 - LMT 1905 Au -7 - +07 1978 -8 - +08 1983 Ap -9 X +09/+10 2008 Mar 31 -8 X +08/+09 +8 - %z 1930 Jun 21 +9 R %z 1991 Mar 31 2s +8 R %z 1992 Ja 19 2s +9 R %z 2011 Mar 27 2s +10 - %z 2014 O 26 2s +8 - %z 2016 Mar 27 2 +9 - %z Z Asia/Colombo 5:19:24 - LMT 1880 5:19:32 - MMT 1906 -5:30 - +0530 1942 Ja 5 -5:30 0:30 +06 1942 S -5:30 1 +0630 1945 O 16 2 -5:30 - +0530 1996 May 25 -6:30 - +0630 1996 O 26 0:30 -6 - +06 2006 Ap 15 0:30 -5:30 - +0530 +5:30 - %z 1942 Ja 5 +5:30 0:30 %z 1942 S +5:30 1 %z 1945 O 16 2 +5:30 - %z 1996 May 25 +6:30 - %z 1996 O 26 0:30 +6 - %z 2006 Ap 15 0:30 +5:30 - %z Z Asia/Damascus 2:25:12 - LMT 1920 2 S EE%sT 2022 O 28 -3 - +03 +3 - %z Z Asia/Dhaka 6:1:40 - LMT 1890 5:53:20 - HMT 1941 O -6:30 - +0630 1942 May 15 -5:30 - +0530 1942 S -6:30 - +0630 1951 S 30 -6 - +06 2009 -6 BD +06/+07 -Z Asia/Dili 8:22:20 - LMT 1912 -8 - +08 1942 F 21 23 -9 - +09 1976 May 3 -8 - +08 2000 S 17 -9 - +09 +6:30 - %z 1942 May 15 +5:30 - %z 1942 S +6:30 - %z 1951 S 30 +6 - %z 2009 +6 BD %z +Z Asia/Dili 8:22:20 - LMT 1911 D 31 16u +8 - %z 1942 F 21 23 +9 - %z 1976 May 3 +8 - %z 2000 S 17 +9 - %z Z Asia/Dubai 3:41:12 - LMT 1920 -4 - +04 +4 - %z Z Asia/Dushanbe 4:35:12 - LMT 1924 May 2 -5 - +05 1930 Jun 21 -6 R +06/+07 1991 Mar 31 2s -5 1 +06 1991 S 9 2s -5 - +05 +5 - %z 1930 Jun 21 +6 R %z 1991 Mar 31 2s +5 1 %z 1991 S 9 2s +5 - %z Z Asia/Famagusta 2:15:48 - LMT 1921 N 14 2 CY EE%sT 1998 S 2 E EE%sT 2016 S 8 -3 - +03 2017 O 29 1u +3 - %z 2017 O 29 1u 2 E EE%sT Z Asia/Gaza 2:17:52 - LMT 1900 O 2 Z EET/EEST 1948 May 15 @@ -3162,14 +3162,14 @@ Z Asia/Hebron 2:20:23 - LMT 1900 O 2 P EE%sT Z Asia/Ho_Chi_Minh 7:6:30 - LMT 1906 Jul 7:6:30 - PLMT 1911 May -7 - +07 1942 D 31 23 -8 - +08 1945 Mar 14 23 -9 - +09 1945 S 1 24 -7 - +07 1947 Ap -8 - +08 1955 Jul 1 1 -7 - +07 1959 D 31 23 -8 - +08 1975 Jun 13 -7 - +07 +7 - %z 1942 D 31 23 +8 - %z 1945 Mar 14 23 +9 - %z 1945 S 1 24 +7 - %z 1947 Ap +8 - %z 1955 Jul 1 1 +7 - %z 1959 D 31 23 +8 - %z 1975 Jun 13 +7 - %z Z Asia/Hong_Kong 7:36:42 - LMT 1904 O 29 17u 8 - HKT 1941 Jun 15 3 8 1 HKST 1941 O 1 4 @@ -3177,96 +3177,96 @@ Z Asia/Hong_Kong 7:36:42 - LMT 1904 O 29 17u 9 - JST 1945 N 18 2 8 HK HK%sT Z Asia/Hovd 6:6:36 - LMT 1905 Au -6 - +06 1978 -7 X +07/+08 +6 - %z 1978 +7 X %z Z Asia/Irkutsk 6:57:5 - LMT 1880 6:57:5 - IMT 1920 Ja 25 -7 - +07 1930 Jun 21 -8 R +08/+09 1991 Mar 31 2s -7 R +07/+08 1992 Ja 19 2s -8 R +08/+09 2011 Mar 27 2s -9 - +09 2014 O 26 2s -8 - +08 +7 - %z 1930 Jun 21 +8 R %z 1991 Mar 31 2s +7 R %z 1992 Ja 19 2s +8 R %z 2011 Mar 27 2s +9 - %z 2014 O 26 2s +8 - %z Z Asia/Jakarta 7:7:12 - LMT 1867 Au 10 7:7:12 - BMT 1923 D 31 16:40u -7:20 - +0720 1932 N -7:30 - +0730 1942 Mar 23 -9 - +09 1945 S 23 -7:30 - +0730 1948 May -8 - +08 1950 May -7:30 - +0730 1964 +7:20 - %z 1932 N +7:30 - %z 1942 Mar 23 +9 - %z 1945 S 23 +7:30 - %z 1948 May +8 - %z 1950 May +7:30 - %z 1964 7 - WIB Z Asia/Jayapura 9:22:48 - LMT 1932 N -9 - +09 1944 S -9:30 - +0930 1964 +9 - %z 1944 S +9:30 - %z 1964 9 - WIT Z Asia/Jerusalem 2:20:54 - LMT 1880 2:20:40 - JMT 1918 2 Z I%sT Z Asia/Kabul 4:36:48 - LMT 1890 -4 - +04 1945 -4:30 - +0430 +4 - %z 1945 +4:30 - %z Z Asia/Kamchatka 10:34:36 - LMT 1922 N 10 -11 - +11 1930 Jun 21 -12 R +12/+13 1991 Mar 31 2s -11 R +11/+12 1992 Ja 19 2s -12 R +12/+13 2010 Mar 28 2s -11 R +11/+12 2011 Mar 27 2s -12 - +12 +11 - %z 1930 Jun 21 +12 R %z 1991 Mar 31 2s +11 R %z 1992 Ja 19 2s +12 R %z 2010 Mar 28 2s +11 R %z 2011 Mar 27 2s +12 - %z Z Asia/Karachi 4:28:12 - LMT 1907 -5:30 - +0530 1942 S -5:30 1 +0630 1945 O 15 -5:30 - +0530 1951 S 30 -5 - +05 1971 Mar 26 +5:30 - %z 1942 S +5:30 1 %z 1945 O 15 +5:30 - %z 1951 S 30 +5 - %z 1971 Mar 26 5 PK PK%sT Z Asia/Kathmandu 5:41:16 - LMT 1920 -5:30 - +0530 1986 -5:45 - +0545 +5:30 - %z 1986 +5:45 - %z Z Asia/Khandyga 9:2:13 - LMT 1919 D 15 -8 - +08 1930 Jun 21 -9 R +09/+10 1991 Mar 31 2s -8 R +08/+09 1992 Ja 19 2s -9 R +09/+10 2004 -10 R +10/+11 2011 Mar 27 2s -11 - +11 2011 S 13 0s -10 - +10 2014 O 26 2s -9 - +09 +8 - %z 1930 Jun 21 +9 R %z 1991 Mar 31 2s +8 R %z 1992 Ja 19 2s +9 R %z 2004 +10 R %z 2011 Mar 27 2s +11 - %z 2011 S 13 0s +10 - %z 2014 O 26 2s +9 - %z Z Asia/Kolkata 5:53:28 - LMT 1854 Jun 28 5:53:20 - HMT 1870 5:21:10 - MMT 1906 5:30 - IST 1941 O -5:30 1 +0630 1942 May 15 +5:30 1 %z 1942 May 15 5:30 - IST 1942 S -5:30 1 +0630 1945 O 15 +5:30 1 %z 1945 O 15 5:30 - IST Z Asia/Krasnoyarsk 6:11:26 - LMT 1920 Ja 6 -6 - +06 1930 Jun 21 -7 R +07/+08 1991 Mar 31 2s -6 R +06/+07 1992 Ja 19 2s -7 R +07/+08 2011 Mar 27 2s -8 - +08 2014 O 26 2s -7 - +07 +6 - %z 1930 Jun 21 +7 R %z 1991 Mar 31 2s +6 R %z 1992 Ja 19 2s +7 R %z 2011 Mar 27 2s +8 - %z 2014 O 26 2s +7 - %z Z Asia/Kuching 7:21:20 - LMT 1926 Mar -7:30 - +0730 1933 -8 NB +08/+0820 1942 F 16 -9 - +09 1945 S 12 -8 - +08 +7:30 - %z 1933 +8 NB %z 1942 F 16 +9 - %z 1945 S 12 +8 - %z Z Asia/Macau 7:34:10 - LMT 1904 O 30 8 - CST 1941 D 21 23 -9 _ +09/+10 1945 S 30 24 +9 _ %z 1945 S 30 24 8 _ C%sT Z Asia/Magadan 10:3:12 - LMT 1924 May 2 -10 - +10 1930 Jun 21 -11 R +11/+12 1991 Mar 31 2s -10 R +10/+11 1992 Ja 19 2s -11 R +11/+12 2011 Mar 27 2s -12 - +12 2014 O 26 2s -10 - +10 2016 Ap 24 2s -11 - +11 +10 - %z 1930 Jun 21 +11 R %z 1991 Mar 31 2s +10 R %z 1992 Ja 19 2s +11 R %z 2011 Mar 27 2s +12 - %z 2014 O 26 2s +10 - %z 2016 Ap 24 2s +11 - %z Z Asia/Makassar 7:57:36 - LMT 1920 7:57:36 - MMT 1932 N -8 - +08 1942 F 9 -9 - +09 1945 S 23 +8 - %z 1942 F 9 +9 - %z 1945 S 23 8 - WITA Z Asia/Manila -15:56 - LMT 1844 D 31 8:4 - LMT 1899 May 11 @@ -3277,45 +3277,45 @@ Z Asia/Nicosia 2:13:28 - LMT 1921 N 14 2 CY EE%sT 1998 S 2 E EE%sT Z Asia/Novokuznetsk 5:48:48 - LMT 1924 May -6 - +06 1930 Jun 21 -7 R +07/+08 1991 Mar 31 2s -6 R +06/+07 1992 Ja 19 2s -7 R +07/+08 2010 Mar 28 2s -6 R +06/+07 2011 Mar 27 2s -7 - +07 +6 - %z 1930 Jun 21 +7 R %z 1991 Mar 31 2s +6 R %z 1992 Ja 19 2s +7 R %z 2010 Mar 28 2s +6 R %z 2011 Mar 27 2s +7 - %z Z Asia/Novosibirsk 5:31:40 - LMT 1919 D 14 6 -6 - +06 1930 Jun 21 -7 R +07/+08 1991 Mar 31 2s -6 R +06/+07 1992 Ja 19 2s -7 R +07/+08 1993 May 23 -6 R +06/+07 2011 Mar 27 2s -7 - +07 2014 O 26 2s -6 - +06 2016 Jul 24 2s -7 - +07 +6 - %z 1930 Jun 21 +7 R %z 1991 Mar 31 2s +6 R %z 1992 Ja 19 2s +7 R %z 1993 May 23 +6 R %z 2011 Mar 27 2s +7 - %z 2014 O 26 2s +6 - %z 2016 Jul 24 2s +7 - %z Z Asia/Omsk 4:53:30 - LMT 1919 N 14 -5 - +05 1930 Jun 21 -6 R +06/+07 1991 Mar 31 2s -5 R +05/+06 1992 Ja 19 2s -6 R +06/+07 2011 Mar 27 2s -7 - +07 2014 O 26 2s -6 - +06 +5 - %z 1930 Jun 21 +6 R %z 1991 Mar 31 2s +5 R %z 1992 Ja 19 2s +6 R %z 2011 Mar 27 2s +7 - %z 2014 O 26 2s +6 - %z Z Asia/Oral 3:25:24 - LMT 1924 May 2 -3 - +03 1930 Jun 21 -5 - +05 1981 Ap -5 1 +06 1981 O -6 - +06 1982 Ap -5 R +05/+06 1989 Mar 26 2s -4 R +04/+05 1992 Ja 19 2s -5 R +05/+06 1992 Mar 29 2s -4 R +04/+05 2004 O 31 2s -5 - +05 +3 - %z 1930 Jun 21 +5 - %z 1981 Ap +5 1 %z 1981 O +6 - %z 1982 Ap +5 R %z 1989 Mar 26 2s +4 R %z 1992 Ja 19 2s +5 R %z 1992 Mar 29 2s +4 R %z 2004 O 31 2s +5 - %z Z Asia/Pontianak 7:17:20 - LMT 1908 May 7:17:20 - PMT 1932 N -7:30 - +0730 1942 Ja 29 -9 - +09 1945 S 23 -7:30 - +0730 1948 May -8 - +08 1950 May -7:30 - +0730 1964 +7:30 - %z 1942 Ja 29 +9 - %z 1945 S 23 +7:30 - %z 1948 May +8 - %z 1950 May +7:30 - %z 1964 8 - WITA 1988 7 - WIB Z Asia/Pyongyang 8:23 - LMT 1908 Ap @@ -3325,48 +3325,48 @@ Z Asia/Pyongyang 8:23 - LMT 1908 Ap 8:30 - KST 2018 May 4 23:30 9 - KST Z Asia/Qatar 3:26:8 - LMT 1920 -4 - +04 1972 Jun -3 - +03 +4 - %z 1972 Jun +3 - %z Z Asia/Qostanay 4:14:28 - LMT 1924 May 2 -4 - +04 1930 Jun 21 -5 - +05 1981 Ap -5 1 +06 1981 O -6 - +06 1982 Ap -5 R +05/+06 1991 Mar 31 2s -4 R +04/+05 1992 Ja 19 2s -5 R +05/+06 2004 O 31 2s -6 - +06 2024 Mar -5 - +05 +4 - %z 1930 Jun 21 +5 - %z 1981 Ap +5 1 %z 1981 O +6 - %z 1982 Ap +5 R %z 1991 Mar 31 2s +4 R %z 1992 Ja 19 2s +5 R %z 2004 O 31 2s +6 - %z 2024 Mar +5 - %z Z Asia/Qyzylorda 4:21:52 - LMT 1924 May 2 -4 - +04 1930 Jun 21 -5 - +05 1981 Ap -5 1 +06 1981 O -6 - +06 1982 Ap -5 R +05/+06 1991 Mar 31 2s -4 R +04/+05 1991 S 29 2s -5 R +05/+06 1992 Ja 19 2s -6 R +06/+07 1992 Mar 29 2s -5 R +05/+06 2004 O 31 2s -6 - +06 2018 D 21 -5 - +05 +4 - %z 1930 Jun 21 +5 - %z 1981 Ap +5 1 %z 1981 O +6 - %z 1982 Ap +5 R %z 1991 Mar 31 2s +4 R %z 1991 S 29 2s +5 R %z 1992 Ja 19 2s +6 R %z 1992 Mar 29 2s +5 R %z 2004 O 31 2s +6 - %z 2018 D 21 +5 - %z Z Asia/Riyadh 3:6:52 - LMT 1947 Mar 14 -3 - +03 +3 - %z Z Asia/Sakhalin 9:30:48 - LMT 1905 Au 23 -9 - +09 1945 Au 25 -11 R +11/+12 1991 Mar 31 2s -10 R +10/+11 1992 Ja 19 2s -11 R +11/+12 1997 Mar lastSu 2s -10 R +10/+11 2011 Mar 27 2s -11 - +11 2014 O 26 2s -10 - +10 2016 Mar 27 2s -11 - +11 +9 - %z 1945 Au 25 +11 R %z 1991 Mar 31 2s +10 R %z 1992 Ja 19 2s +11 R %z 1997 Mar lastSu 2s +10 R %z 2011 Mar 27 2s +11 - %z 2014 O 26 2s +10 - %z 2016 Mar 27 2s +11 - %z Z Asia/Samarkand 4:27:53 - LMT 1924 May 2 -4 - +04 1930 Jun 21 -5 - +05 1981 Ap -5 1 +06 1981 O -6 - +06 1982 Ap -5 R +05/+06 1992 -5 - +05 +4 - %z 1930 Jun 21 +5 - %z 1981 Ap +5 1 %z 1981 O +6 - %z 1982 Ap +5 R %z 1992 +5 - %z Z Asia/Seoul 8:27:52 - LMT 1908 Ap 8:30 - KST 1912 9 - JST 1945 S 8 @@ -3378,161 +3378,147 @@ Z Asia/Shanghai 8:5:43 - LMT 1901 8 CN C%sT Z Asia/Singapore 6:55:25 - LMT 1901 6:55:25 - SMT 1905 Jun -7 - +07 1933 -7 0:20 +0720 1936 -7:20 - +0720 1941 S -7:30 - +0730 1942 F 16 -9 - +09 1945 S 12 -7:30 - +0730 1981 D 31 16u -8 - +08 +7 - %z 1933 +7 0:20 %z 1936 +7:20 - %z 1941 S +7:30 - %z 1942 F 16 +9 - %z 1945 S 12 +7:30 - %z 1981 D 31 16u +8 - %z Z Asia/Srednekolymsk 10:14:52 - LMT 1924 May 2 -10 - +10 1930 Jun 21 -11 R +11/+12 1991 Mar 31 2s -10 R +10/+11 1992 Ja 19 2s -11 R +11/+12 2011 Mar 27 2s -12 - +12 2014 O 26 2s -11 - +11 +10 - %z 1930 Jun 21 +11 R %z 1991 Mar 31 2s +10 R %z 1992 Ja 19 2s +11 R %z 2011 Mar 27 2s +12 - %z 2014 O 26 2s +11 - %z Z Asia/Taipei 8:6 - LMT 1896 8 - CST 1937 O 9 - JST 1945 S 21 1 8 f C%sT Z Asia/Tashkent 4:37:11 - LMT 1924 May 2 -5 - +05 1930 Jun 21 -6 R +06/+07 1991 Mar 31 2 -5 R +05/+06 1992 -5 - +05 +5 - %z 1930 Jun 21 +6 R %z 1991 Mar 31 2 +5 R %z 1992 +5 - %z Z Asia/Tbilisi 2:59:11 - LMT 1880 2:59:11 - TBMT 1924 May 2 -3 - +03 1957 Mar -4 R +04/+05 1991 Mar 31 2s -3 R +03/+04 1992 -3 e +03/+04 1994 S lastSu -4 e +04/+05 1996 O lastSu -4 1 +05 1997 Mar lastSu -4 e +04/+05 2004 Jun 27 -3 R +03/+04 2005 Mar lastSu 2 -4 - +04 +3 - %z 1957 Mar +4 R %z 1991 Mar 31 2s +3 R %z 1992 +3 e %z 1994 S lastSu +4 e %z 1996 O lastSu +4 1 %z 1997 Mar lastSu +4 e %z 2004 Jun 27 +3 R %z 2005 Mar lastSu 2 +4 - %z Z Asia/Tehran 3:25:44 - LMT 1916 3:25:44 - TMT 1935 Jun 13 -3:30 i +0330/+0430 1977 O 20 24 -4 i +04/+05 1979 -3:30 i +0330/+0430 +3:30 i %z 1977 O 20 24 +4 i %z 1979 +3:30 i %z Z Asia/Thimphu 5:58:36 - LMT 1947 Au 15 -5:30 - +0530 1987 O -6 - +06 +5:30 - %z 1987 O +6 - %z Z Asia/Tokyo 9:18:59 - LMT 1887 D 31 15u 9 JP J%sT Z Asia/Tomsk 5:39:51 - LMT 1919 D 22 -6 - +06 1930 Jun 21 -7 R +07/+08 1991 Mar 31 2s -6 R +06/+07 1992 Ja 19 2s -7 R +07/+08 2002 May 1 3 -6 R +06/+07 2011 Mar 27 2s -7 - +07 2014 O 26 2s -6 - +06 2016 May 29 2s -7 - +07 +6 - %z 1930 Jun 21 +7 R %z 1991 Mar 31 2s +6 R %z 1992 Ja 19 2s +7 R %z 2002 May 1 3 +6 R %z 2011 Mar 27 2s +7 - %z 2014 O 26 2s +6 - %z 2016 May 29 2s +7 - %z Z Asia/Ulaanbaatar 7:7:32 - LMT 1905 Au -7 - +07 1978 -8 X +08/+09 +7 - %z 1978 +8 X %z Z Asia/Urumqi 5:50:20 - LMT 1928 -6 - +06 +6 - %z Z Asia/Ust-Nera 9:32:54 - LMT 1919 D 15 -8 - +08 1930 Jun 21 -9 R +09/+10 1981 Ap -11 R +11/+12 1991 Mar 31 2s -10 R +10/+11 1992 Ja 19 2s -11 R +11/+12 2011 Mar 27 2s -12 - +12 2011 S 13 0s -11 - +11 2014 O 26 2s -10 - +10 +8 - %z 1930 Jun 21 +9 R %z 1981 Ap +11 R %z 1991 Mar 31 2s +10 R %z 1992 Ja 19 2s +11 R %z 2011 Mar 27 2s +12 - %z 2011 S 13 0s +11 - %z 2014 O 26 2s +10 - %z Z Asia/Vladivostok 8:47:31 - LMT 1922 N 15 -9 - +09 1930 Jun 21 -10 R +10/+11 1991 Mar 31 2s -9 R +09/+10 1992 Ja 19 2s -10 R +10/+11 2011 Mar 27 2s -11 - +11 2014 O 26 2s -10 - +10 +9 - %z 1930 Jun 21 +10 R %z 1991 Mar 31 2s +9 R %z 1992 Ja 19 2s +10 R %z 2011 Mar 27 2s +11 - %z 2014 O 26 2s +10 - %z Z Asia/Yakutsk 8:38:58 - LMT 1919 D 15 -8 - +08 1930 Jun 21 -9 R +09/+10 1991 Mar 31 2s -8 R +08/+09 1992 Ja 19 2s -9 R +09/+10 2011 Mar 27 2s -10 - +10 2014 O 26 2s -9 - +09 +8 - %z 1930 Jun 21 +9 R %z 1991 Mar 31 2s +8 R %z 1992 Ja 19 2s +9 R %z 2011 Mar 27 2s +10 - %z 2014 O 26 2s +9 - %z Z Asia/Yangon 6:24:47 - LMT 1880 6:24:47 - RMT 1920 -6:30 - +0630 1942 May -9 - +09 1945 May 3 -6:30 - +0630 +6:30 - %z 1942 May +9 - %z 1945 May 3 +6:30 - %z Z Asia/Yekaterinburg 4:2:33 - LMT 1916 Jul 3 3:45:5 - PMT 1919 Jul 15 4 -4 - +04 1930 Jun 21 -5 R +05/+06 1991 Mar 31 2s -4 R +04/+05 1992 Ja 19 2s -5 R +05/+06 2011 Mar 27 2s -6 - +06 2014 O 26 2s -5 - +05 +4 - %z 1930 Jun 21 +5 R %z 1991 Mar 31 2s +4 R %z 1992 Ja 19 2s +5 R %z 2011 Mar 27 2s +6 - %z 2014 O 26 2s +5 - %z Z Asia/Yerevan 2:58 - LMT 1924 May 2 -3 - +03 1957 Mar -4 R +04/+05 1991 Mar 31 2s -3 R +03/+04 1995 S 24 2s -4 - +04 1997 -4 R +04/+05 2011 -4 AM +04/+05 +3 - %z 1957 Mar +4 R %z 1991 Mar 31 2s +3 R %z 1995 S 24 2s +4 - %z 1997 +4 R %z 2011 +4 AM %z Z Atlantic/Azores -1:42:40 - LMT 1884 -1:54:32 - HMT 1912 Ja 1 2u --2 p -02/-01 1942 Ap 25 22s --2 p +00 1942 Au 15 22s --2 p -02/-01 1943 Ap 17 22s --2 p +00 1943 Au 28 22s --2 p -02/-01 1944 Ap 22 22s --2 p +00 1944 Au 26 22s --2 p -02/-01 1945 Ap 21 22s --2 p +00 1945 Au 25 22s --2 p -02/-01 1966 Ap 3 2 --1 p -01/+00 1983 S 25 1s --1 W- -01/+00 1992 S 27 1s -0 E WE%sT 1993 Mar 28 1u --1 E -01/+00 +-2 p %z 1966 O 2 2s +-1 - %z 1982 Mar 28 0s +-1 p %z 1986 +-1 E %z 1992 D 27 1s +0 E WE%sT 1993 Jun 17 1u +-1 E %z Z Atlantic/Bermuda -4:19:18 - LMT 1890 -4:19:18 Be BMT/BST 1930 Ja 1 2 -4 Be A%sT 1974 Ap 28 2 -4 C A%sT 1976 -4 u A%sT Z Atlantic/Canary -1:1:36 - LMT 1922 Mar --1 - -01 1946 S 30 1 +-1 - %z 1946 S 30 1 0 - WET 1980 Ap 6 0s 0 1 WEST 1980 S 28 1u 0 E WE%sT Z Atlantic/Cape_Verde -1:34:4 - LMT 1912 Ja 1 2u --2 - -02 1942 S --2 1 -01 1945 O 15 --2 - -02 1975 N 25 2 --1 - -01 +-2 - %z 1942 S +-2 1 %z 1945 O 15 +-2 - %z 1975 N 25 2 +-1 - %z Z Atlantic/Faroe -0:27:4 - LMT 1908 Ja 11 0 - WET 1981 0 E WE%sT Z Atlantic/Madeira -1:7:36 - LMT 1884 -1:7:36 - FMT 1912 Ja 1 1u --1 p -01/+00 1942 Ap 25 22s --1 p +01 1942 Au 15 22s --1 p -01/+00 1943 Ap 17 22s --1 p +01 1943 Au 28 22s --1 p -01/+00 1944 Ap 22 22s --1 p +01 1944 Au 26 22s --1 p -01/+00 1945 Ap 21 22s --1 p +01 1945 Au 25 22s --1 p -01/+00 1966 Ap 3 2 -0 p WE%sT 1983 S 25 1s +-1 p %z 1966 O 2 2s +0 - WET 1982 Ap 4 +0 p WE%sT 1986 Jul 31 0 E WE%sT Z Atlantic/South_Georgia -2:26:8 - LMT 1890 --2 - -02 +-2 - %z Z Atlantic/Stanley -3:51:24 - LMT 1890 -3:51:24 - SMT 1912 Mar 12 --4 FK -04/-03 1983 May --3 FK -03/-02 1985 S 15 --4 FK -04/-03 2010 S 5 2 --3 - -03 +-4 FK %z 1983 May +-3 FK %z 1985 S 15 +-4 FK %z 2010 S 5 2 +-3 - %z Z Australia/Adelaide 9:14:20 - LMT 1895 F 9 - ACST 1899 May 9:30 AU AC%sT 1971 @@ -3550,8 +3536,8 @@ Z Australia/Darwin 8:43:20 - LMT 1895 F 9 - ACST 1899 May 9:30 AU AC%sT Z Australia/Eucla 8:35:28 - LMT 1895 D -8:45 AU +0845/+0945 1943 Jul -8:45 AW +0845/+0945 +8:45 AU %z 1943 Jul +8:45 AW %z Z Australia/Hobart 9:49:16 - LMT 1895 S 10 AT AE%sT 1919 O 24 10 AU AE%sT 1967 @@ -3562,8 +3548,8 @@ Z Australia/Lindeman 9:55:56 - LMT 1895 10 Ho AE%sT Z Australia/Lord_Howe 10:36:20 - LMT 1895 F 10 - AEST 1981 Mar -10:30 LH +1030/+1130 1985 Jul -10:30 LH +1030/+11 +10:30 LH %z 1985 Jul +10:30 LH %z Z Australia/Melbourne 9:39:52 - LMT 1895 F 10 AU AE%sT 1971 10 AV AE%sT @@ -3573,52 +3559,47 @@ Z Australia/Perth 7:43:24 - LMT 1895 D Z Australia/Sydney 10:4:52 - LMT 1895 F 10 AU AE%sT 1971 10 AN AE%sT -Z CET 1 c CE%sT -Z CST6CDT -6 u C%sT -Z EET 2 E EE%sT -Z EST -5 - EST -Z EST5EDT -5 u E%sT Z Etc/GMT 0 - GMT -Z Etc/GMT+1 -1 - -01 -Z Etc/GMT+10 -10 - -10 -Z Etc/GMT+11 -11 - -11 -Z Etc/GMT+12 -12 - -12 -Z Etc/GMT+2 -2 - -02 -Z Etc/GMT+3 -3 - -03 -Z Etc/GMT+4 -4 - -04 -Z Etc/GMT+5 -5 - -05 -Z Etc/GMT+6 -6 - -06 -Z Etc/GMT+7 -7 - -07 -Z Etc/GMT+8 -8 - -08 -Z Etc/GMT+9 -9 - -09 -Z Etc/GMT-1 1 - +01 -Z Etc/GMT-10 10 - +10 -Z Etc/GMT-11 11 - +11 -Z Etc/GMT-12 12 - +12 -Z Etc/GMT-13 13 - +13 -Z Etc/GMT-14 14 - +14 -Z Etc/GMT-2 2 - +02 -Z Etc/GMT-3 3 - +03 -Z Etc/GMT-4 4 - +04 -Z Etc/GMT-5 5 - +05 -Z Etc/GMT-6 6 - +06 -Z Etc/GMT-7 7 - +07 -Z Etc/GMT-8 8 - +08 -Z Etc/GMT-9 9 - +09 +Z Etc/GMT+1 -1 - %z +Z Etc/GMT+10 -10 - %z +Z Etc/GMT+11 -11 - %z +Z Etc/GMT+12 -12 - %z +Z Etc/GMT+2 -2 - %z +Z Etc/GMT+3 -3 - %z +Z Etc/GMT+4 -4 - %z +Z Etc/GMT+5 -5 - %z +Z Etc/GMT+6 -6 - %z +Z Etc/GMT+7 -7 - %z +Z Etc/GMT+8 -8 - %z +Z Etc/GMT+9 -9 - %z +Z Etc/GMT-1 1 - %z +Z Etc/GMT-10 10 - %z +Z Etc/GMT-11 11 - %z +Z Etc/GMT-12 12 - %z +Z Etc/GMT-13 13 - %z +Z Etc/GMT-14 14 - %z +Z Etc/GMT-2 2 - %z +Z Etc/GMT-3 3 - %z +Z Etc/GMT-4 4 - %z +Z Etc/GMT-5 5 - %z +Z Etc/GMT-6 6 - %z +Z Etc/GMT-7 7 - %z +Z Etc/GMT-8 8 - %z +Z Etc/GMT-9 9 - %z Z Etc/UTC 0 - UTC Z Europe/Andorra 0:6:4 - LMT 1901 0 - WET 1946 S 30 1 - CET 1985 Mar 31 2 1 E CE%sT Z Europe/Astrakhan 3:12:12 - LMT 1924 May -3 - +03 1930 Jun 21 -4 R +04/+05 1989 Mar 26 2s -3 R +03/+04 1991 Mar 31 2s -4 - +04 1992 Mar 29 2s -3 R +03/+04 2011 Mar 27 2s -4 - +04 2014 O 26 2s -3 - +03 2016 Mar 27 2s -4 - +04 +3 - %z 1930 Jun 21 +4 R %z 1989 Mar 26 2s +3 R %z 1991 Mar 31 2s +4 - %z 1992 Mar 29 2s +3 R %z 2011 Mar 27 2s +4 - %z 2014 O 26 2s +3 - %z 2016 Mar 27 2s +4 - %z Z Europe/Athens 1:34:52 - LMT 1895 S 14 1:34:52 - AMT 1916 Jul 28 0:1 2 g EE%sT 1941 Ap 30 @@ -3691,7 +3672,7 @@ Z Europe/Helsinki 1:39:49 - LMT 1878 May 31 Z Europe/Istanbul 1:55:52 - LMT 1880 1:56:56 - IMT 1910 O 2 T EE%sT 1978 Jun 29 -3 T +03/+04 1984 N 1 2 +3 T %z 1984 N 1 2 2 T EE%sT 2007 2 E EE%sT 2011 Mar 27 1u 2 - EET 2011 Mar 28 1u @@ -3700,19 +3681,19 @@ Z Europe/Istanbul 1:55:52 - LMT 1880 2 E EE%sT 2015 O 25 1u 2 1 EEST 2015 N 8 1u 2 E EE%sT 2016 S 7 -3 - +03 +3 - %z Z Europe/Kaliningrad 1:22 - LMT 1893 Ap 1 c CE%sT 1945 Ap 10 2 O EE%sT 1946 Ap 7 3 R MSK/MSD 1989 Mar 26 2s 2 R EE%sT 2011 Mar 27 2s -3 - +03 2014 O 26 2s +3 - %z 2014 O 26 2s 2 - EET Z Europe/Kirov 3:18:48 - LMT 1919 Jul 1 0u -3 - +03 1930 Jun 21 -4 R +04/+05 1989 Mar 26 2s +3 - %z 1930 Jun 21 +4 R %z 1989 Mar 26 2s 3 R MSK/MSD 1991 Mar 31 2s -4 - +04 1992 Mar 29 2s +4 - %z 1992 Mar 29 2s 3 R MSK/MSD 2011 Mar 27 2s 4 - MSK 2014 O 26 2s 3 - MSK @@ -3727,10 +3708,10 @@ Z Europe/Kyiv 2:2:4 - LMT 1880 2 E EE%sT Z Europe/Lisbon -0:36:45 - LMT 1884 -0:36:45 - LMT 1912 Ja 1 0u -0 p WE%sT 1966 Ap 3 2 +0 p WE%sT 1966 O 2 2s 1 - CET 1976 S 26 1 -0 p WE%sT 1983 S 25 1s -0 W- WE%sT 1992 S 27 1s +0 p WE%sT 1986 +0 E WE%sT 1992 S 27 1u 1 E CE%sT 1996 Mar 31 1u 0 E WE%sT Z Europe/London -0:1:15 - LMT 1847 D @@ -3754,7 +3735,7 @@ Z Europe/Minsk 1:50:16 - LMT 1880 3 R MSK/MSD 1990 3 - MSK 1991 Mar 31 2s 2 R EE%sT 2011 Mar 27 2s -3 - +03 +3 - %z Z Europe/Moscow 2:30:17 - LMT 1880 2:30:17 - MMT 1916 Jul 3 2:31:19 R %s 1919 Jul 1 0u @@ -3802,24 +3783,24 @@ Z Europe/Rome 0:49:56 - LMT 1866 D 12 1 I CE%sT 1980 1 E CE%sT Z Europe/Samara 3:20:20 - LMT 1919 Jul 1 0u -3 - +03 1930 Jun 21 -4 - +04 1935 Ja 27 -4 R +04/+05 1989 Mar 26 2s -3 R +03/+04 1991 Mar 31 2s -2 R +02/+03 1991 S 29 2s -3 - +03 1991 O 20 3 -4 R +04/+05 2010 Mar 28 2s -3 R +03/+04 2011 Mar 27 2s -4 - +04 +3 - %z 1930 Jun 21 +4 - %z 1935 Ja 27 +4 R %z 1989 Mar 26 2s +3 R %z 1991 Mar 31 2s +2 R %z 1991 S 29 2s +3 - %z 1991 O 20 3 +4 R %z 2010 Mar 28 2s +3 R %z 2011 Mar 27 2s +4 - %z Z Europe/Saratov 3:4:18 - LMT 1919 Jul 1 0u -3 - +03 1930 Jun 21 -4 R +04/+05 1988 Mar 27 2s -3 R +03/+04 1991 Mar 31 2s -4 - +04 1992 Mar 29 2s -3 R +03/+04 2011 Mar 27 2s -4 - +04 2014 O 26 2s -3 - +03 2016 D 4 2s -4 - +04 +3 - %z 1930 Jun 21 +4 R %z 1988 Mar 27 2s +3 R %z 1991 Mar 31 2s +4 - %z 1992 Mar 29 2s +3 R %z 2011 Mar 27 2s +4 - %z 2014 O 26 2s +3 - %z 2016 D 4 2s +4 - %z Z Europe/Simferopol 2:16:24 - LMT 1880 2:16 - SMT 1924 May 2 2 - EET 1930 Jun 21 @@ -3863,14 +3844,14 @@ Z Europe/Tirane 1:19:20 - LMT 1914 1 q CE%sT 1984 Jul 1 E CE%sT Z Europe/Ulyanovsk 3:13:36 - LMT 1919 Jul 1 0u -3 - +03 1930 Jun 21 -4 R +04/+05 1989 Mar 26 2s -3 R +03/+04 1991 Mar 31 2s -2 R +02/+03 1992 Ja 19 2s -3 R +03/+04 2011 Mar 27 2s -4 - +04 2014 O 26 2s -3 - +03 2016 Mar 27 2s -4 - +04 +3 - %z 1930 Jun 21 +4 R %z 1989 Mar 26 2s +3 R %z 1991 Mar 31 2s +2 R %z 1992 Ja 19 2s +3 R %z 2011 Mar 27 2s +4 - %z 2014 O 26 2s +3 - %z 2016 Mar 27 2s +4 - %z Z Europe/Vienna 1:5:21 - LMT 1893 Ap 1 c CE%sT 1920 1 a CE%sT 1940 Ap 1 2s @@ -3895,15 +3876,15 @@ Z Europe/Vilnius 1:41:16 - LMT 1880 2 - EET 2003 2 E EE%sT Z Europe/Volgograd 2:57:40 - LMT 1920 Ja 3 -3 - +03 1930 Jun 21 -4 - +04 1961 N 11 -4 R +04/+05 1988 Mar 27 2s +3 - %z 1930 Jun 21 +4 - %z 1961 N 11 +4 R %z 1988 Mar 27 2s 3 R MSK/MSD 1991 Mar 31 2s -4 - +04 1992 Mar 29 2s +4 - %z 1992 Mar 29 2s 3 R MSK/MSD 2011 Mar 27 2s 4 - MSK 2014 O 26 2s 3 - MSK 2018 O 28 2s -4 - +04 2020 D 27 2s +4 - %z 2020 D 27 2s 3 - MSK Z Europe/Warsaw 1:24 - LMT 1880 1:24 - WMT 1915 Au 5 @@ -3919,58 +3900,53 @@ Z Europe/Zurich 0:34:8 - LMT 1853 Jul 16 1 CH CE%sT 1981 1 E CE%sT Z Factory 0 - -00 -Z HST -10 - HST Z Indian/Chagos 4:49:40 - LMT 1907 -5 - +05 1996 -6 - +06 +5 - %z 1996 +6 - %z Z Indian/Maldives 4:54 - LMT 1880 4:54 - MMT 1960 -5 - +05 +5 - %z Z Indian/Mauritius 3:50 - LMT 1907 -4 MU +04/+05 -Z MET 1 c ME%sT -Z MST -7 - MST -Z MST7MDT -7 u M%sT -Z PST8PDT -8 u P%sT +4 MU %z Z Pacific/Apia 12:33:4 - LMT 1892 Jul 5 -11:26:56 - LMT 1911 --11:30 - -1130 1950 --11 WS -11/-10 2011 D 29 24 -13 WS +13/+14 +-11:30 - %z 1950 +-11 WS %z 2011 D 29 24 +13 WS %z Z Pacific/Auckland 11:39:4 - LMT 1868 N 2 11:30 NZ NZ%sT 1946 12 NZ NZ%sT Z Pacific/Bougainville 10:22:16 - LMT 1880 9:48:32 - PMMT 1895 -10 - +10 1942 Jul -9 - +09 1945 Au 21 -10 - +10 2014 D 28 2 -11 - +11 +10 - %z 1942 Jul +9 - %z 1945 Au 21 +10 - %z 2014 D 28 2 +11 - %z Z Pacific/Chatham 12:13:48 - LMT 1868 N 2 -12:15 - +1215 1946 -12:45 k +1245/+1345 +12:15 - %z 1946 +12:45 k %z Z Pacific/Easter -7:17:28 - LMT 1890 -7:17:28 - EMT 1932 S --7 x -07/-06 1982 Mar 14 3u --6 x -06/-05 +-7 x %z 1982 Mar 14 3u +-6 x %z Z Pacific/Efate 11:13:16 - LMT 1912 Ja 13 -11 VU +11/+12 +11 VU %z Z Pacific/Fakaofo -11:24:56 - LMT 1901 --11 - -11 2011 D 30 -13 - +13 +-11 - %z 2011 D 30 +13 - %z Z Pacific/Fiji 11:55:44 - LMT 1915 O 26 -12 FJ +12/+13 +12 FJ %z Z Pacific/Galapagos -5:58:24 - LMT 1931 --5 - -05 1986 --6 EC -06/-05 +-5 - %z 1986 +-6 EC %z Z Pacific/Gambier -8:59:48 - LMT 1912 O --9 - -09 +-9 - %z Z Pacific/Guadalcanal 10:39:48 - LMT 1912 O -11 - +11 +11 - %z Z Pacific/Guam -14:21 - LMT 1844 D 31 9:39 - LMT 1901 10 - GST 1941 D 10 -9 - +09 1944 Jul 31 +9 - %z 1944 Jul 31 10 Gu G%sT 2000 D 23 10 - ChST Z Pacific/Honolulu -10:31:26 - LMT 1896 Ja 13 12 @@ -3979,74 +3955,73 @@ Z Pacific/Honolulu -10:31:26 - LMT 1896 Ja 13 12 -10:30 u H%sT 1947 Jun 8 2 -10 - HST Z Pacific/Kanton 0 - -00 1937 Au 31 --12 - -12 1979 O --11 - -11 1994 D 31 -13 - +13 +-12 - %z 1979 O +-11 - %z 1994 D 31 +13 - %z Z Pacific/Kiritimati -10:29:20 - LMT 1901 --10:40 - -1040 1979 O --10 - -10 1994 D 31 -14 - +14 +-10:40 - %z 1979 O +-10 - %z 1994 D 31 +14 - %z Z Pacific/Kosrae -13:8:4 - LMT 1844 D 31 10:51:56 - LMT 1901 -11 - +11 1914 O -9 - +09 1919 F -11 - +11 1937 -10 - +10 1941 Ap -9 - +09 1945 Au -11 - +11 1969 O -12 - +12 1999 -11 - +11 +11 - %z 1914 O +9 - %z 1919 F +11 - %z 1937 +10 - %z 1941 Ap +9 - %z 1945 Au +11 - %z 1969 O +12 - %z 1999 +11 - %z Z Pacific/Kwajalein 11:9:20 - LMT 1901 -11 - +11 1937 -10 - +10 1941 Ap -9 - +09 1944 F 6 -11 - +11 1969 O --12 - -12 1993 Au 20 24 -12 - +12 +11 - %z 1937 +10 - %z 1941 Ap +9 - %z 1944 F 6 +11 - %z 1969 O +-12 - %z 1993 Au 20 24 +12 - %z Z Pacific/Marquesas -9:18 - LMT 1912 O --9:30 - -0930 +-9:30 - %z Z Pacific/Nauru 11:7:40 - LMT 1921 Ja 15 -11:30 - +1130 1942 Au 29 -9 - +09 1945 S 8 -11:30 - +1130 1979 F 10 2 -12 - +12 +11:30 - %z 1942 Au 29 +9 - %z 1945 S 8 +11:30 - %z 1979 F 10 2 +12 - %z Z Pacific/Niue -11:19:40 - LMT 1952 O 16 --11:20 - -1120 1964 Jul --11 - -11 +-11:20 - %z 1964 Jul +-11 - %z Z Pacific/Norfolk 11:11:52 - LMT 1901 -11:12 - +1112 1951 -11:30 - +1130 1974 O 27 2s -11:30 1 +1230 1975 Mar 2 2s -11:30 - +1130 2015 O 4 2s -11 - +11 2019 Jul -11 AN +11/+12 +11:12 - %z 1951 +11:30 - %z 1974 O 27 2s +11:30 1 %z 1975 Mar 2 2s +11:30 - %z 2015 O 4 2s +11 - %z 2019 Jul +11 AN %z Z Pacific/Noumea 11:5:48 - LMT 1912 Ja 13 -11 NC +11/+12 +11 NC %z Z Pacific/Pago_Pago 12:37:12 - LMT 1892 Jul 5 -11:22:48 - LMT 1911 -11 - SST Z Pacific/Palau -15:2:4 - LMT 1844 D 31 8:57:56 - LMT 1901 -9 - +09 +9 - %z Z Pacific/Pitcairn -8:40:20 - LMT 1901 --8:30 - -0830 1998 Ap 27 --8 - -08 +-8:30 - %z 1998 Ap 27 +-8 - %z Z Pacific/Port_Moresby 9:48:40 - LMT 1880 9:48:32 - PMMT 1895 -10 - +10 +10 - %z Z Pacific/Rarotonga 13:20:56 - LMT 1899 D 26 -10:39:4 - LMT 1952 O 16 --10:30 - -1030 1978 N 12 --10 CK -10/-0930 +-10:30 - %z 1978 N 12 +-10 CK %z Z Pacific/Tahiti -9:58:16 - LMT 1912 O --10 - -10 +-10 - %z Z Pacific/Tarawa 11:32:4 - LMT 1901 -12 - +12 +12 - %z Z Pacific/Tongatapu 12:19:12 - LMT 1945 S 10 -12:20 - +1220 1961 -13 - +13 1999 -13 TO +13/+14 -Z WET 0 E WE%sT +12:20 - %z 1961 +13 - %z 1999 +13 TO %z L Etc/GMT GMT L Australia/Sydney Australia/ACT L Australia/Lord_Howe Australia/LHI @@ -4062,6 +4037,8 @@ L America/Rio_Branco Brazil/Acre L America/Noronha Brazil/DeNoronha L America/Sao_Paulo Brazil/East L America/Manaus Brazil/West +L Europe/Brussels CET +L America/Chicago CST6CDT L America/Halifax Canada/Atlantic L America/Winnipeg Canada/Central L America/Toronto Canada/Eastern @@ -4073,6 +4050,9 @@ L America/Whitehorse Canada/Yukon L America/Santiago Chile/Continental L Pacific/Easter Chile/EasterIsland L America/Havana Cuba +L Europe/Athens EET +L America/Panama EST +L America/New_York EST5EDT L Africa/Cairo Egypt L Europe/Dublin Eire L Etc/GMT Etc/GMT+0 @@ -4096,6 +4076,9 @@ L America/Jamaica Jamaica L Asia/Tokyo Japan L Pacific/Kwajalein Kwajalein L Africa/Tripoli Libya +L Europe/Brussels MET +L America/Phoenix MST +L America/Denver MST7MDT L America/Tijuana Mexico/BajaNorte L America/Mazatlan Mexico/BajaSur L America/Mexico_City Mexico/General @@ -4259,6 +4242,7 @@ L America/Denver America/Shiprock L America/Toronto America/Thunder_Bay L America/Edmonton America/Yellowknife L Pacific/Auckland Antarctica/South_Pole +L Asia/Ulaanbaatar Asia/Choibalsan L Asia/Shanghai Asia/Chongqing L Asia/Shanghai Asia/Harbin L Asia/Urumqi Asia/Kashgar @@ -4273,6 +4257,7 @@ L Europe/Kyiv Europe/Zaporozhye L Pacific/Kanton Pacific/Enderbury L Pacific/Honolulu Pacific/Johnston L Pacific/Port_Moresby Pacific/Yap +L Europe/Lisbon WET L Africa/Nairobi Africa/Asmera L America/Nuuk America/Godthab L Asia/Ashgabat Asia/Ashkhabad @@ -4290,5 +4275,7 @@ L Asia/Ulaanbaatar Asia/Ulan_Bator L Atlantic/Faroe Atlantic/Faeroe L Europe/Kyiv Europe/Kiev L Asia/Nicosia Europe/Nicosia +L Pacific/Honolulu HST +L America/Los_Angeles PST8PDT L Pacific/Guadalcanal Pacific/Ponape L Pacific/Port_Moresby Pacific/Truk diff --git a/src/timezone/known_abbrevs.txt b/src/timezone/known_abbrevs.txt index d03fe0af131..efdf9092b16 100644 --- a/src/timezone/known_abbrevs.txt +++ b/src/timezone/known_abbrevs.txt @@ -80,8 +80,6 @@ IST 7200 JST 32400 KST 32400 MDT -21600 D -MEST 7200 D -MET 3600 MSK 10800 MST -25200 NDT -9000 D diff --git a/src/timezone/tznames/Default b/src/timezone/tznames/Default index 563a125353b..5e692423b5a 100644 --- a/src/timezone/tznames/Default +++ b/src/timezone/tznames/Default @@ -551,12 +551,10 @@ EETDST 10800 D # East-Egypt Summertime FET 10800 # Further-eastern European Time (obsolete) # (Europe/Kaliningrad) # (Europe/Minsk) -MEST 7200 D # Middle Europe Summer Time - # (MET) +MEST 7200 D # Middle Europe Summer Time (obsolete) MESZ 7200 D # Mitteleuropaeische Sommerzeit (German) # (attested in IANA comments though not their code) -MET 3600 # Middle Europe Time - # (MET) +MET 3600 # Middle Europe Time (obsolete) METDST 7200 D # Middle Europe Summer Time (not in IANA database) MEZ 3600 # Mitteleuropaeische Zeit (German) # (attested in IANA comments though not their code) diff --git a/src/timezone/tznames/Europe.txt b/src/timezone/tznames/Europe.txt index 2e762b90700..7a7a8340456 100644 --- a/src/timezone/tznames/Europe.txt +++ b/src/timezone/tznames/Europe.txt @@ -183,12 +183,10 @@ GMT 0 # Greenwich Mean Time # - IST: Israel Standard Time (Asia) IST 3600 # Irish Standard Time # (Europe/Dublin) -MEST 7200 D # Middle Europe Summer Time - # (MET) +MEST 7200 D # Middle Europe Summer Time (obsolete) MESZ 7200 D # Mitteleuropaeische Sommerzeit (German) # (attested in IANA comments though not their code) -MET 3600 # Middle Europe Time - # (MET) +MET 3600 # Middle Europe Time (obsolete) METDST 7200 D # Middle Europe Summer Time (not in IANA database) MEZ 3600 # Mitteleuropaeische Zeit (German) # (attested in IANA comments though not their code) diff --git a/src/tools/RELEASE_CHANGES b/src/tools/RELEASE_CHANGES index 0f30f85ec71..94c5a0f3bfb 100644 --- a/src/tools/RELEASE_CHANGES +++ b/src/tools/RELEASE_CHANGES @@ -10,6 +10,7 @@ For All Releases (major, minor, beta, RC) o update doc/src/sgml/release-NN.sgml in relevant branches o run spellchecker on result o add SGML markup + o run src/tools/add_commit_links.pl * Update timezone data to match latest IANA timezone database and new Windows releases, if any (see src/timezone/README) diff --git a/src/tools/add_commit_links.pl b/src/tools/add_commit_links.pl new file mode 100755 index 00000000000..64a57832972 --- /dev/null +++ b/src/tools/add_commit_links.pl @@ -0,0 +1,133 @@ +#! /usr/bin/perl + +################################################################# +# add_commit_links.pl -- add commit links to the release notes +# +# Copyright (c) 2024, PostgreSQL Global Development Group +# +# src/tools/add_commit_links.pl +################################################################# + +# +# This script adds commit links to the release notes. +# +# Usage: cd to top of source tree and issue +# src/tools/add_commit_links.pl release_notes_file +# +# The script can add links for release note items that lack them, and update +# those that have them. The script is sensitive to the release note file being +# in a specific format: +# +# * File name contains the major version number preceded by a dash +# and followed by a period +# * Commit text is generated by src/tools/git_changelog +# * SGML comments around commit text start in the first column +# * The commit item title ends with an attribution that ends with +# a closing parentheses +# * previously added URL link text is unmodified +# * a "" follows the commit item title +# +# The major version number is used to select the commit hash for minor +# releases. An error will be generated if valid commits are found but +# no proper location for the commit links is found. + +use strict; +use warnings FATAL => 'all'; + +sub process_file +{ + my $file = shift; + + my $in_comment = 0; + my $prev_line_ended_with_paren = 0; + my $prev_leading_space = ''; + my $lineno = 0; + + my @hashes = (); + + my $tmpfile = $file . '.tmp'; + + # Get major version number from the file name. + $file =~ m/-(\d+)\./; + my $major_version = $1; + + open(my $fh, '<', $file) || die "could not open file $file: $!\n"; + open(my $tfh, '>', $tmpfile) || die "could not open file $tmpfile: $!\n"; + + while (<$fh>) + { + $lineno++; + + $in_comment = 1 if (m/^/); + } + + close($fh); + close($tfh); + + rename($tmpfile, $file) || die "could not rename %s to %s: $!\n", + $tmpfile, + $file; + + return; +} + +if (@ARGV == 0) +{ + printf(STDERR "Usage: %s release_notes_file [...]\n", $0); + exit(1); +} + +for my $file (@ARGV) +{ + process_file($file); +} diff --git a/src/tools/ci/ci_macports_packages.sh b/src/tools/ci/ci_macports_packages.sh index 71248bd22b0..b3df6d36a4e 100755 --- a/src/tools/ci/ci_macports_packages.sh +++ b/src/tools/ci/ci_macports_packages.sh @@ -19,7 +19,7 @@ echo "macOS major version: $macos_major_version" # Scan the available MacPorts releases to find one that matches the running # macOS release. macports_release_list_url="https://api.github.com/repos/macports/macports-base/releases" -macports_version_pattern="2\.9\.3" +macports_version_pattern="2\.10\.1" macports_url="$( curl -s $macports_release_list_url | grep "\"https://github.com/macports/macports-base/releases/download/v$macports_version_pattern/MacPorts-$macports_version_pattern-$macos_major_version-[A-Za-z]*\.pkg\"" | sed 's/.*: "//;s/".*//' | head -1 )" echo "MacPorts package URL: $macports_url" diff --git a/src/tools/pg_bsd_indent/t/001_pg_bsd_indent.pl b/src/tools/pg_bsd_indent/t/001_pg_bsd_indent.pl index 9e23ab96161..d23722a0e00 100644 --- a/src/tools/pg_bsd_indent/t/001_pg_bsd_indent.pl +++ b/src/tools/pg_bsd_indent/t/001_pg_bsd_indent.pl @@ -26,8 +26,8 @@ # Any diffs in the generated files will be accumulated here. my $diffs_file = "test.diffs"; -# options used with diff -my @diffopts = ("-upd"); +# options used with diff (see pg_regress.c's pretty_diff_opts) +my @diffopts = ("-U3"); push(@diffopts, "--strip-trailing-cr") if $windows_os; # Copy support files to current dir, so *.pro files don't need to know path. diff --git a/src/tools/pginclude/headerscheck b/src/tools/pginclude/headerscheck index 4a157d0a5f2..e40ad6a5386 100755 --- a/src/tools/pginclude/headerscheck +++ b/src/tools/pginclude/headerscheck @@ -164,6 +164,9 @@ do # This produces a "no previous prototype" warning. ! $cplusplus && test "$f" = src/include/storage/checksum_impl.h && continue + # SectionMemoryManager.h is C++ + test "$f" = src/include/jit/SectionMemoryManager.h && continue + # ppport.h is not under our control, so we can't make it standalone. test "$f" = src/pl/plperl/ppport.h && continue diff --git a/src/tools/pgindent/exclude_file_patterns b/src/tools/pgindent/exclude_file_patterns index 99e57f93bbc..68aae9b97a4 100644 --- a/src/tools/pgindent/exclude_file_patterns +++ b/src/tools/pgindent/exclude_file_patterns @@ -4,8 +4,9 @@ src/include/storage/s_lock\.h$ src/include/port/atomics/ # -# This contains C++ constructs that confuse pgindent. +# These contains C++ constructs that confuse pgindent. src/include/jit/llvmjit\.h$ +src/include/jit/SectionMemoryManager\.h$ # # These are generated files with incomplete code fragments that # confuse pgindent. diff --git a/src/tools/pgindent/pgindent b/src/tools/pgindent/pgindent index 48d83bc434f..028d057ea44 100755 --- a/src/tools/pgindent/pgindent +++ b/src/tools/pgindent/pgindent @@ -7,7 +7,7 @@ use warnings FATAL => 'all'; use Cwd qw(abs_path getcwd); use File::Find; -use File::Spec qw(devnull); +use File::Spec; use File::Temp; use IO::Handle; use Getopt::Long; diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list index a84c45ce10c..e3e9bda44a0 100644 --- a/src/tools/pgindent/typedefs.list +++ b/src/tools/pgindent/typedefs.list @@ -2648,7 +2648,6 @@ SimpleStats SimpleStringList SimpleStringListCell SingleBoundSortItem -SinglePartitionSpec Size SkipPages SlabBlock @@ -2713,7 +2712,6 @@ SpinDelayStatus SplitInterval SplitLR SplitPageLayout -SplitPartitionContext SplitPoint SplitTextOutputData SplitVar @@ -3252,6 +3250,7 @@ _stringlist access_vector_t acquireLocksOnSubLinks_context add_nulling_relids_context +addFkConstraintSides adjust_appendrel_attrs_context allocfunc amadjustmembers_function @@ -3452,6 +3451,7 @@ fill_string_relopt finalize_primnode_context find_dependent_phvs_context find_expr_references_context +fireRIRonSubLink_context fix_join_expr_context fix_scan_expr_context fix_upper_expr_context @@ -3572,6 +3572,8 @@ json_manifest_version_callback json_ofield_action json_scalar_action json_struct_action +keepwal_entry +keepwal_hash keyEntryData key_t lclContext